METHOD AND SYSTEM FOR STORAGE OF DATA IN NON-VOLATILE MEDIA
First Claim
1. A method of operating a memory system, the method comprising;
- maintaining a checkpointed copy of a dynamic table in non-volatile storage (NVS);
maintaining a transaction log for the dynamic table;
discovering changes to the dynamic table that are not contained in the transaction log;
updating the dynamic table by applying the transactions in the transaction log and the discovered changes.
10 Assignments
0 Petitions
Accused Products
Abstract
A system and method for managing the storage of data in non-volatile memory is described. In an aspect, the data may be described by metadata and a transaction log file that are checkpointed from a volatile memory into the non-volatile memory. Actions that take place between the last checkpointing of a metadata segment and log file segment are discovered by scanning the non-volatile memory blocks, taking account of a record of the highest sector in each block that is known to have been recorded. Any later transactions are discovered and used to update the recovered metadata so that the metadata correctly represents the stored data.
550 Citations
43 Claims
-
1. A method of operating a memory system, the method comprising;
-
maintaining a checkpointed copy of a dynamic table in non-volatile storage (NVS); maintaining a transaction log for the dynamic table; discovering changes to the dynamic table that are not contained in the transaction log; updating the dynamic table by applying the transactions in the transaction log and the discovered changes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 31, 40)
-
- 25. The method of claim 25, wherein the ordered spare data are used to update the dynamic table by applying the transaction information contained in the spare data.
-
30. A system for storage of data, the system comprising:
-
a volatile memory device (VS); a non-volatile memory device (NVS); and a processor in communication with the volatile memory device and the non-volatile memory device, wherein the processor is configured to maintain a dynamic table in volatile storage representing data stored in the NVS, a checkpointed version of the dynamic table in NVS, and a log representing transactions affecting the stored, and to repair the dynamic table by discovering data written to the NVS between the last update of the log and a time of repair.
-
-
32. A computer program product, stored or distributed in or on a computer readable medium, comprising instructions for:
-
configuring a processor and memory system to maintain metadata in a volatile storage device representing data stored in a non-volatile storage device (NVS); maintaining a checkpointed version of the metadata in NVS and a transaction log; and repairing the metadata by; applying the transactions of the transaction log to the metadata to update the metadata; discovering a transaction written to NVS where the transaction log in NVS had not been updated to include the transaction; and applying the discovered transactions to update the metadata. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39)
-
-
42. A method of operating a memory system, the method comprising;
-
assigning a sequence number to each data element for determining the latest version of the data element; setting a flag to indicate when the sequence number is not valid for use.
-
-
43. A method of operating a memory system, the method comprising:
-
creating metadata representing information relating a data element stored in a memory, the metadata having a field having an address where the data element is stored; replacing the address data with a flag when the data element is a known data pattern, the flag indicating the data pattern.
-
Specification