Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
First Claim
1. A method for operating a computer that is coupled to a storage medium and a cache device, the computer comprising an operating system, the method comprising acts of:
- (A) activating a write recorder component configured for identifying write operations performed to the storage medium which are not performed to the cache device;
(B) in response to a request to write a data item to the storage medium at an address, causing the data item to be written to the storage medium at the address and to the cache device at a corresponding address;
(C) capturing a snapshot of the data item written to the cache device at the corresponding address;
(D) subsequent to a reboot of the operating system, determining whether the data item written to the cache device at the corresponding address can reliably be used to satisfy a request to read the data item from the storage medium at the address, the determining including determining, via the write recorder component, whether the data item written to the storage medium at the address was modified after completion of act (B); and
(E) if it is determined in act (D) that the data item written to the cache device at the corresponding address cannot reliably be used to satisfy the request to read the data item from the storage medium at the address, then causing the cache device to be updated using the snapshot and data from the write recorder component.
2 Assignments
0 Petitions
Accused Products
Abstract
To ensure that the contents of a non-volatile memory device cache may be relied upon as accurately reflecting data stored on disk storage, it may be determined whether the cache contents and/or disk contents are modified during a power transition, causing cache contents to no longer accurately reflect data stored in disk storage. The cache device may be removable from the computer, and unexpected removal of the cache device may cause cache contents to no longer accurately reflect data stored in disk storage. Cache metadata may be managed during normal operations and across power transitions, ensuring that cache metadata may be efficiently accessed and reliably saved and restored across power transitions. A state of a log used by a file system may be determined prior to and subsequent to reboot of an operating system in order to determine whether data stored on a cache device may be reliably used.
-
Citations
19 Claims
-
1. A method for operating a computer that is coupled to a storage medium and a cache device, the computer comprising an operating system, the method comprising acts of:
-
(A) activating a write recorder component configured for identifying write operations performed to the storage medium which are not performed to the cache device; (B) in response to a request to write a data item to the storage medium at an address, causing the data item to be written to the storage medium at the address and to the cache device at a corresponding address; (C) capturing a snapshot of the data item written to the cache device at the corresponding address; (D) subsequent to a reboot of the operating system, determining whether the data item written to the cache device at the corresponding address can reliably be used to satisfy a request to read the data item from the storage medium at the address, the determining including determining, via the write recorder component, whether the data item written to the storage medium at the address was modified after completion of act (B); and (E) if it is determined in act (D) that the data item written to the cache device at the corresponding address cannot reliably be used to satisfy the request to read the data item from the storage medium at the address, then causing the cache device to be updated using the snapshot and data from the write recorder component. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. At least one computer storage medium that is a memory device storing instructions that, when executed by a computer comprising an operating system and coupled to a cache device, cause the computer to perform a method comprising acts of:
-
(A) activating a write recorder component configured for identifying write operations performed to the computer storage medium which are not performed to the cache device; (B) in response to a request to write a data item to the computer storage medium at an address, causing the data item to be written to the computer storage medium at the address and to the cache device at a corresponding address; (C) capturing a snapshot of the data item written to the cache device at the corresponding address; (D) subsequent to a reboot of the operating system, determining whether the data item written to the cache device at the corresponding address can reliably be used to satisfy a request to read the data item from the computer storage medium at the address, the determining including determining, via the write recorder component, whether the data item written to the computer storage medium device at the address was modified after completion of act (B); and (E) if it is determined in act (D) that the data item written to the cache device at the corresponding address cannot reliably be used to satisfy the request to read the data item from the storage medium at the address, then causing the cache device to be updated using the snapshot and data from the write recorder component. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer, comprising:
-
a storage medium having at least one address at which data is stored; a cache device having at least one address at which data is stored; a write recorder component configured for identifying write operations performed to the storage medium which are not performed to the cache device; at least one processor programmed via an operating system to; in response to a request to write a data item to the storage medium at a first address, cause the data item to be written to the storage medium at the first address and to the cache device at a corresponding address; capture a snapshot of the data item written to the cache device at the corresponding address; identify, via the write recorder component, an occurrence of a write operation to the storage medium at the first address which is not also performed to the cache device at the corresponding address; determine, subsequent to a reboot of the operating system, whether the data item written to the cache device at the corresponding address can reliably be used to satisfy a request to read the data item from the storage medium at the first address, at least in part by determining, via the write recorder component, whether the data item written to the storage medium at the first address was modified after it was written to the storage medium at the first address and to the cache device at the corresponding address; and upon determining that the data item on the cache device at the corresponding address cannot reliably be used to satisfy the request to read the data item from the storage medium at the first address, causing the cache device to be updated using the snapshot and data from the write recorder component. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification