Indexing of file data in reprogrammable non-volatile memories that directly store data files
First Claim
1. 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, andin 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, andread 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.
3 Assignments
0 Petitions
Accused Products
Abstract
Host system data files are written directly to a large erase block flash memory system with a unique identification of each file and offsets of data within the file but without the use of any intermediate logical addresses or a virtual address space for the memory. Directory information of where the files are stored in the memory is maintained within the memory system by its controller, rather than by the host. Each data file is uniquely identified in a file directory, which points to entries in a file index table (FIT) of data groups that make up the file and their physical storage locations in the memory.
149 Citations
17 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of operating a non-volatile memory system with data storage memory cells grouped into physical blocks of non-volatile memory cells that are erased together prior to reprogramming with data files received from outside of the memory system, comprising:
-
receiving data of files that are individually identified by a unique file identifier and offsets of data within the file, storing data of individual files in the blocks of non-volatile memory cells as one or more data groups, maintain records of the data groups that make up individual ones of the data files, the records including an address of the blocks of memory cells in which the data groups are stored, maintain a directory of links to the records by the unique file identifiers, the links being limited for inactive files to direct links and being limited for active files to indirect links, 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. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method of operating a non-volatile memory system with data storage memory cells grouped into physical blocks of non-volatile memory cells that are erased together prior to reprogramming pages of the blocks with data identified by a unique file identifier and an offset address within the file, comprising:
-
storing data of individual files in blocks of non-volatile memory cells as one or more data groups that individually specify data in contiguous logical file offset addresses and contiguous physical addresses within memory cell blocks, maintain a set of entries in a table of the data groups of the individual files by their unique file identifiers and offsets of data within the individual files, and maintain a file directory that links the files by their unique identifiers to the entries in the table of data groups of the files, the link being direct for data of closed files and indirect for data of open files. - View Dependent Claims (16, 17)
-
Specification