MANAGING CACHE DATA AND METADATA
First Claim
1. A method for operating a computer (700) having coupled thereto a storage medium (706) and a cache device (110), the computer comprising an operating system, the method comprising acts of:
- (A) in response to a request to write a data item to an address on the storage medium, causing the data item to be written to the address on the storage medium (101) and to a corresponding address on the cache device (102);
(B) subsequent to a reboot of the operating system, determining (270, 330) whether the data item stored at the address on the cache device can reliably be employed to satisfy a request to read the data item from the address on the storage medium; and
(C) if it is determined in (B) that the data item stored at the address on the cache device can reliably be employed to satisfy a request to read the data item from the address on the storage medium, causing (299) the data item to be read from the address on the cache device.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the invention provide techniques for ensuring that the contents of a non-volatile memory device may be relied upon as accurately reflecting data stored on disk storage across a power transition such as a reboot. For example, some embodiments of the invention provide techniques for determining whether the cache contents and/or or disk contents are modified during a power transition, causing cache contents to no longer accurately reflect data stored in disk storage. Further, some embodiments provide techniques for managing cache metadata during normal (“steady state”) operations and across power transitions, ensuring that cache metadata may be efficiently accessed and reliably saved and restored across power transitions.
147 Citations
20 Claims
-
1. A method for operating a computer (700) having coupled thereto a storage medium (706) and a cache device (110), the computer comprising an operating system, the method comprising acts of:
-
(A) in response to a request to write a data item to an address on the storage medium, causing the data item to be written to the address on the storage medium (101) and to a corresponding address on the cache device (102); (B) subsequent to a reboot of the operating system, determining (270, 330) whether the data item stored at the address on the cache device can reliably be employed to satisfy a request to read the data item from the address on the storage medium; and (C) if it is determined in (B) that the data item stored at the address on the cache device can reliably be employed to satisfy a request to read the data item from the address on the storage medium, causing (299) the data item to be read from the address on the cache device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. At least one computer storage medium (706) having stored thereon instructions which, when executed by a computer comprising an operating system and having coupled thereto a cache device (110), perform a method comprising acts of:
-
(A) in response to a request to write a data item to an address on the computer storage medium, causing the data item to be written to the address on the computer storage medium (101) and to a corresponding address on the cache device (102); (B) subsequent to a reboot of the operating system and in response to a request to read the data item from the address on the computer storage medium, determining (270) whether the data item stored at the address on the cache device was modified after (A); and (C) if it is determined in (B) that the data item stored at the address on the cache device was not modified after (A), causing (299) the data item to be read from the address on the cache device. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer (700), comprising:
-
a storage medium (706) having at least one address at which data is stored; a cache device (110) having at least one address at which data is stored; at least one processor (703) programmed via an operating system to; in response to a request to write a data item to a first address on the storage medium, cause the data item to be written to the first address on the storage medium (101) and to a corresponding address on the cache device (102); identify (300) an occurrence of a write operation to an address on the storage medium which is not also performed to an address on the cache device; and determine (30), subsequent to a reboot of the operating system, whether the data item stored at the corresponding address on the cache device can reliably be used to satisfy a request to read the data item from the first address on the storage medium, by determining whether a write operation was performed to the first address on the storage medium which was not also performed to the corresponding address on the cache device. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification