Method and system for storage of data in non-volatile media
AssigneeViolin Memory, Inc.
InventorJon C. R. Bennett
Life of this patent
Estimating the term…
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.
Claims14
A method of recovering metadata for data stored in a FLASH memory system, the method comprising:
- using a computer to maintain block metadata representing a value of a physical page location of data in a block of non-volatile memory (NVM),
- wherein data and page metadata is stored in physical pages of the block, written in monotonically increasing order, and the block metadata includes a value corresponding to a highest physical page location P in the block that has been written with data and page metadata;
- performing block metadata recovery by reading page metadata in the physical page location of the block having a value of P+1, where P+1 is less than or equal to the maximum page number of the block, and:
- if the page metadata read from the physical page location having a value of P+1 does not contain valid page metadata, performing block metadata recovery for another block of NVM;
- or
- if the page metadata read from the physical page location having a value of P+1 contains valid page metadata, storing the valid page metadata read from the physical page location to a recovery log;
- and
- incrementing the value of the physical page location by unity, and repeating the step of performing block metadata recovery until the occurrence of one of:
- a next higher physical page location does not contain valid page metadata;
- or,
- the value of the incremented physical page location is equal to the maximum page number;
- and
- performing block metadata recovery for another block of NVM until all of the blocks of NVM in which data and page metadata has been stored in physical pages have been processed.
Dependencies are inferred from the claim text.