Data Consolidation and Garbage Collection in Direct Data File Storage Memories
First Claim
1. For a re-programmable non-volatile memory system having a plurality of blocks of memory cells that are individually erased prior to data being written therein and that operates with an inventory of a minimum number of erased blocks ready to have data stored therein, a method of operation, comprising:
- receiving data logically addressed by unique file identifiers and offsets within the files, storing the received data of a first file as pages within one or more of the erased blocks that only partially fill one of the erased blocks, thereby leaving erased data storage capacity within the partially filled block, and postponing consolidating valid data from the partially filled block with valid data of a second file into another one of the erased blocks until at least the inventory of the number of erased blocks is deemed insufficient to maintain the minimum number.
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.
-
Citations
9 Claims
-
1. For a re-programmable non-volatile memory system having a plurality of blocks of memory cells that are individually erased prior to data being written therein and that operates with an inventory of a minimum number of erased blocks ready to have data stored therein, a method of operation, comprising:
-
receiving data logically addressed by unique file identifiers and offsets within the files, storing the received data of a first file as pages within one or more of the erased blocks that only partially fill one of the erased blocks, thereby leaving erased data storage capacity within the partially filled block, and postponing consolidating valid data from the partially filled block with valid data of a second file into another one of the erased blocks until at least the inventory of the number of erased blocks is deemed insufficient to maintain the minimum number. - View Dependent Claims (2, 3, 4)
-
-
5. A method of operation of a re-programmable non-volatile memory system having a plurality of blocks of memory cells that are individually erased prior to data being written therein and which receives data having logical addresses of unique file identifiers and offsets within the individual files, wherein:
-
valid data from a first group of two or more blocks partially programmed with data of two or more files are occasionally consolidated into another block, blocks containing valid data from a second group of one or more blocks that also contain obsolete data are occasionally garbage collected, only one of the data consolidation or garbage collection is carried out at one time, and priority is given to garbage collection over data consolidation.
-
-
6. A method of operation of a re-programmable non-volatile memory system having a plurality of blocks of memory cells that are individually erased prior to data being written therein and which receives data having logical addresses of unique file identifiers and offsets within the individual files, wherein:
-
received data of individual files are programmed into one or more erased blocks in a manner that data of at least a first file may only partially fill a first block and thereby leave erased storage capacity in the first block, subsequent operations on data within the memory system cause at least some of the data of a second file stored in a second block to become obsolete, in response to at least some of the data of the second file in the second block becoming obsolete, any remaining valid data in the second block are copied into a third block, in response to the first block having erased storage capacity, valid data are copied from the first block into a fourth block, and priority is given to the above-recited copying of valid data from the second block into the third block over the above-recited copying of valid data from the first block into the fourth block. - View Dependent Claims (7, 8, 9)
-
Specification