Methods for memory allocation in non-volatile memories with a directly mapped file storage system
First Claim
1. A method of allocating memory for writing of data files in a memory organized into erasable blocks, comprising:
- identifying individual file data, each belonging to a data file, by a unique file identifier and an offset of data within the data file; and
in a series of write operations over a majority of blocks to be written, writing file data substantially following the location of a last written file data even when the file data being written and the last written one belong to different data files.
3 Assignments
0 Petitions
Accused Products
Abstract
In a memory system with a file storage system, a scheme for allocating memory locations for a write operation is to write the files substantially contiguously in a memory block one after another rather than to start a new file in a new block. In this way, they are more efficiently packed into the blocks by being written contiguously one after another. In a preferred embodiment, an incrementing write pointer points to the write location in memory for the next data for a file, which is independent of the offset address of the data within the file. When a current write block becomes filled with file data, an erased block is allocated, and the write pointer is moved to this block. Similarly a relocation pointer is used for data relocation during garbage collection or data compaction operations.
307 Citations
25 Claims
-
1. A method of allocating memory for writing of data files in a memory organized into erasable blocks, comprising:
-
identifying individual file data, each belonging to a data file, by a unique file identifier and an offset of data within the data file; and
in a series of write operations over a majority of blocks to be written, writing file data substantially following the location of a last written file data even when the file data being written and the last written one belong to different data files. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification