IP Library Granted Patent US 10,810,128
Granted Patent B2
US 10,810,128 · App. 16/455,635 · Granted Oct 20, 2020

Invalidation data area for cache

Inventor: Pulkit Misra (Belmont, MA)
Assignee: Western Digital Technologies, Inc.
G06F12/0891G06F11/1471G06F12/0815G06F12/0866G06F12/121G06F2212/1024G06F2212/1041G06F2212/60G06F2212/62
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,810,128
App. No.
16/455,635
Granted
Oct 20, 2020
Kind
B2
Abstract

The present disclosure relates to caches, methods, and systems for using an invalidation data area. The cache can include a journal configured for tracking data blocks, and an invalidation data area configured for tracking invalidated data blocks associated with the data blocks tracked in the journal. The invalidation data area can be on a separate cache region from the journal. A method for invalidating a cache block can include determining a journal block tracking a memory address associated with a received write operation. The method can also include determining a mapped journal block based on the journal block and on an invalidation record. The method can also include determining whether write operations are outstanding. If so, the method can include aggregating the outstanding write operations and performing a single write operation based on the aggregated write operations.

Claims (20)

1. A method for recovery of a cache, the method comprising:

determining an initial reconstruction of the cache based on a journal of the cache, wherein one or more journal blocks are associated with the journal, and wherein the one or more journal blocks are represented by one or more mapped journal blocks associated with an invalidation record in an invalidation data area of the cache;

for each of the one or more mapped journal blocks,

determining whether a corresponding data block tracked in the journal is valid, based on the mapped journal block; and

if the corresponding data block is determined not to be valid, evicting the corresponding data block from the initial reconstruction of the cache.

2. The method of claim 1 , wherein determining the initial reconstruction comprises recovering data blocks and metadata describing the data blocks, wherein the recovered data blocks and metadata are recovered from the journal.

3. The method of claim 1 , wherein determining whether the corresponding data block tracked in the journal is valid comprises comparing metadata describing the corresponding data block tracked in the journal with metadata describing the corresponding data block tracked in the mapped journal block.

4. The method of claim 3 , wherein comparing the metadata comprises comparing a first memory address and first index for the corresponding data block tracked in the journal with a second memory and second index tracked in the mapped journal block.

5. The method of claim 1 , wherein the invalidation data area is on a separate region of the cache from the journal.

6. The method of claim 1 ,

wherein the cache comprises a content locality cache; and

wherein the journal tracks at least one of associated data blocks and independent data blocks in the content locality cache.

7. A system for recovery of a cache, the system comprising:

a cache comprising a journal and an invalidation data area; and

a means for:

determining an initial reconstruction of the cache based on the journal of the cache, wherein one or more journal blocks are associated with the journal, and wherein the one or more journal blocks are represented by one or more mapped journal blocks associated with an invalidation record in the invalidation data area of the cache;

for each of the one or more mapped journal blocks,

determining whether a corresponding data block tracked in the journal is valid, based on the mapped journal block; and

if the corresponding data block is determined not to be valid, evicting the corresponding data block from the initial reconstruction of the cache.

8. The system of claim 7 , wherein determining the initial reconstruction comprises recovering data blocks and metadata describing the data blocks, wherein the recovered data blocks and metadata are recovered from the journal.

Assignments (9)
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2019
From: MISRA, PULKIT
To: HGST NETHERLANDS B.V.
Reel/Frame 049671/0104 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2019
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 049670/0892 →