Method and apparatus for facilitating fast wake-up of a non-volatile memory system
AssigneeSanDisk IL Ltd.
InventorsMenahem Lasser, Meir Avraham
Life of this patent
Estimating the term…
Abstract
A method includes storing at a non-volatile memory in a data storage device a first copy of a memory management table. The method further includes storing, at the non-volatile memory, a list of data entries that identify unused blocks of the non-volatile memory, where the list defines an order of allocating the unused blocks. The method further includes, in response to detecting a power event, accessing an entry of the ordered list to identify a block, and selectively updating the first copy of the memory management table based on a status of the identified block.
Claims20
A method comprising:
- in a data storage device having a non-volatile memory, performing:
- storing, at the non-volatile memory, a first copy of a memory management table;
- storing, at the non-volatile memory, a list of data entries that identify unused blocks of the non-volatile memory, wherein the list defines an order of allocating the unused blocks;
- in response to detecting a power event, accessing an entry of the list to identify a block;
- updating a second copy of a memory management table to reflect usage of the identified block in response to the status of the identified block being in use
- classifying a change of state of the second copy of the memory management table;
- and
- selectively updating the first copy of the memory management table based on the classified change of state.
An apparatus comprising:
- a data storage device including a non-volatile memory;
- and
- a controller configured to:
- store, at the non-volatile memory, a first copy of a memory management table;
- store, at the non-volatile memory, a list of data entries that identify unused blocks of the non-volatile memory, wherein the list defines an order of allocating the unused blocks;
- in response to a detected power event, access an entry of the list to identify a block;
- update a second copy of a memory management table to reflect usage of the identified block in response to the status of the identified block being in use;
- classify a change of state of the second copy of the memory management table;
- and
- selectively update the first copy of the memory management table based on the classified change of state.
A non-transitory computer-readable storage medium storing computer-readable code, the computer-readable code comprising processor executable instructions that, when executed by a processor, cause the processor to:
- store, at a non-volatile memory, a first copy of a memory management table;
- store, at the non-volatile memory, a list of data entries, each entry identifying an unused block of the non-volatile memory, wherein the list defines an order of allocating the identified unused blocks;
- in response to a detected power event, access a first entry of the list to identify a first block;
- in response to a status of the first block being in use, update a second copy of a memory management table to reflect usage of the first block;
- and
- selectively update the first copy of the memory management table based on at least one of an occurrence of a predetermined time interval and a predetermined number of instances of updating the second copy of the memory management table,
- wherein updating the first copy of the memory management table is performed without scanning the entire non-volatile memory to determine which blocks are unused blocks.
Dependencies are inferred from the claim text.