Data operations in flash memories utilizing direct data file storage
First Claim
1. A method of operating 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, wherein said memory system receives data having logical addresses of unique file identifiers and offsets within the individual files and uses said unique file identifiers and offsets for logically addressing the data in said individual files, by means of a directory of the memory system for locating said individual files, when data of a first file are stored in at least first and second blocks with the second block being only partially filled with data of the first file and a remaining portion of the second block being erased, and wherein, in response to data of the first file being relocated from the first block, valid data of the first file is copied from the first block into the erased portion of the second block, whereby said valid data are not copied into a totally erased block, so that more of the data in the first file is stored in the second block after the copying than before the copying.
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
7 Claims
- 1. A method of operating 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, wherein said memory system receives data having logical addresses of unique file identifiers and offsets within the individual files and uses said unique file identifiers and offsets for logically addressing the data in said individual files, by means of a directory of the memory system for locating said individual files, when data of a first file are stored in at least first and second blocks with the second block being only partially filled with data of the first file and a remaining portion of the second block being erased, and wherein, in response to data of the first file being relocated from the first block, valid data of the first file is copied from the first block into the erased portion of the second block, whereby said valid data are not copied into a totally erased block, so that more of the data in the first file is stored in the second block after the copying than before the copying.
-
4. 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, wherein said memory system receives data as individual files having logical addresses of unique file identifiers and offsets of data within the individual files, said method comprising:
-
the memory system using a unique file identifier and offset for logically addressing the data of a file, by means of a directory of the memory system for locating said file, writing data of said file to successive pages of one or more erased blocks, and in a case where data of the file are written to only a portion of the pages of one of the one or more erased blocks and then closed, a garbage collection operation is performed immediately on the one block in response to receipt of a command after the file is closed only if, in addition, at least some of the data of the file stored in the one block are obsolete. - View Dependent Claims (5)
-
-
6. A method of operating 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, wherein said memory system receives data having logical addresses of unique file identifiers and offsets within the individual files, said method comprising:
-
the memory system using a unique file identifier and offset for logically addressing the data of a given file, by means of a directory of the memory system for locating said given file, storing data of said given file in a first block, writing newly received data of the given file into a second block, and performing garbage collection of the given file by copying data of the given file from the first block into the second block, so that more of the data in the given file is stored in the second block after the copying than before the copying. - View Dependent Claims (7)
-
Specification