Patent ID: 7949845

Claim:
A method of operating a non-volatile memory system with data storage memory cells grouped into physical blocks of memory cells that are erased together prior to reprogramming with data of files received from outside the memory system, comprising: receive data of files that are individually identified by a unique file identifier and offsets of data within the file, store, in the memory blocks, data of the received files, maintain, for individual files, records of the physical block locations of data of the individual files by their unique file identifiers and offsets of data within the individual files, maintain a classification of the individual files as either (1) likely to be modified in the near future or (2) not likely to be modified in the near future, maintain a directory of links to the records of the files by their unique file identifiers, by: in response to a first file being classified as likely to be modified in the near future, causing the links for records of the first file to be indirect, and in response to a second file being classified as not likely to be modified in the near future, causing the links for records of the second file to be direct, access individual one of the records through the directory by use of the unique file identifiers, and read data of the received data files that are stored in those of the physical blocks of memory cells whose locations are maintained in the accessed records.