Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
First Claim
1. A method performed on a computing device comprising at least one processor and memory, the method comprising:
- writing, by either a cache manager being executed by the computing device or by a write recorder being executed by the computing device separately from the cache manager, a persistence identifier to both a cache device and, separately, to a mass storage device, wherein the persistence identifier identifies write operations to the mass storage device that are to be tracked by the write recorder;
terminating execution of the cache manager by the computing device;
tracking, by the write recorder being executed by the computing device, a first set of the write operations to the mass storage device during a first period of time after the termination of the execution of the cache manager by the computing device;
restarting execution of the cache manager by the computing device after the first period of time;
tracking, by the restarted cache manager being executed by the computing device, a second set of the write operations to the mass storage device during a second period of time commencing with the restarting of the execution of the cache manager;
verifying, by the restarted cache manager being executed by the computing device, the persistence identifier stored on the mass storage device with the persistence identifier stored on the cache device; and
merging, after the second period of time, by the restarted cache manager being executed by the computing device, the second set of the write operations as tracked by the restarted cache manager with the first set of the write operations as tracked by the write recorder, into a set of merged write operations, the merging being performed if the verifying was successful.
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.
377 Citations
20 Claims
-
1. A method performed on a computing device comprising at least one processor and memory, the method comprising:
-
writing, by either a cache manager being executed by the computing device or by a write recorder being executed by the computing device separately from the cache manager, a persistence identifier to both a cache device and, separately, to a mass storage device, wherein the persistence identifier identifies write operations to the mass storage device that are to be tracked by the write recorder; terminating execution of the cache manager by the computing device; tracking, by the write recorder being executed by the computing device, a first set of the write operations to the mass storage device during a first period of time after the termination of the execution of the cache manager by the computing device; restarting execution of the cache manager by the computing device after the first period of time; tracking, by the restarted cache manager being executed by the computing device, a second set of the write operations to the mass storage device during a second period of time commencing with the restarting of the execution of the cache manager; verifying, by the restarted cache manager being executed by the computing device, the persistence identifier stored on the mass storage device with the persistence identifier stored on the cache device; and merging, after the second period of time, by the restarted cache manager being executed by the computing device, the second set of the write operations as tracked by the restarted cache manager with the first set of the write operations as tracked by the write recorder, into a set of merged write operations, the merging being performed if the verifying was successful. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computing device comprising:
-
at least one processor; and memory storing instructions that, when executed by the at least one processor, cause the computing device to; write, with either a cache manager being executed by the computing device or with a write recorder being executed by the computing device separately from the cache manager, a persistence identifier to both a cache device and, separately, to a mass storage device, where the persistence identifier identifies write operations to the mass storage device that are to be tracked by the write recorder; terminate execution of the cache manager by the computing device; track, with the write recorder being executed by the computing device, a first set of the write operations to the mass storage device during a first period of time after the termination of the execution of the cache manager by the computing device; restart execution of the cache manager by the computing device after the first period of time; track, with the restarted cache manager being executed by the computing device, a second set of the write operations to the mass storage device during a second period of time commencing with the restarting of the execution of the cache manager; verify, with the restarted cache manager being executed by the computing device, the persistence identifier stored on the mass storage device with the persistence identifier stored on the cache device; and merge, after the second period of time, with the restarted cache manager being executed by the computing device, the second set of the write operations as tracked by the restarted cache manager with the first set of the write operations as tracked by the write recorder, into a set of merged write operations, the merging being performed if the verifying was successful. - View Dependent Claims (13, 14, 15)
-
-
16. At least one computer memory storing instructions that, when executed by at least one processor of a computing device, cause the computing device to:
-
write, with either a cache manager being executed by the computing device or with a write recorder being executed by the computing device separately from the cache manager, a persistence identifier to both a cache device and, separately, to a mass storage device, where the persistence identifier identifies write operations to the mass storage device that are to be tracked by the write recorder; terminate execution of the cache manager by the computing device; track, with the write recorder being executed by the computing device, a first set of the write operations to the mass storage device during a first period of time after the termination of the execution of the cache manager by the computing device; restart execution of the cache manger by the computing device after the first period of time; track, with the restarted cache manager being executed by the computing device, a second set of the write operations to the mass storage device during a second period of time commencing with the restarting of the execution of the cache manager; verify, with the restarted cache manager being executed by the computing device, the persistence identifier stored on the mass storage device with the persistence identifier stored on the cache device; and merge, after the second period of time, with the restarted cache manager being executed by the computing device, the second set of the write operations as tracked by the restarted cache manger with the first set of the write operations as tracked by the write recorder, into a set of merged write operations, the merging being performed if the verifying was successful. - View Dependent Claims (17, 18, 19, 20)
-
Specification