Patent ID: 8397014

Claim:
A method comprising: identifying blocks of non-volatile memory that are not free; reconstructing at least a portion of an index table by performing the following for each of the identified blocks: determining if a block table of contents (TOC) exists in a page of the identified block of non-volatile memory, wherein the block TOC includes information mapping logical sectors to pages in the identified block; if the block TOC does not exist, reading the entire block to identify logical sectors that correspond to the pages of the identified block; updating the index table in volatile memory using information obtained from reading the entire block, the index table for storing page addresses for mapping logical sectors of a read or write request to pages of the identified block; if the block TOC exists, updating the index table using the information contained in the block TOC that maps logical sectors to the pages in the identified block; after reconstructing the at least a portion of the index table: writing the index table to non-volatile memory; and generating an index TOC in volatile memory from the index table.