Optimizing memory usage and system performance in a file system requiring entire blocks to be erased for rewriting data
AssigneeTexas Instruments Incorporated
InventorsRohit Joshi, Sabyasachi Dey
Life of this patent
Estimating the term…
Abstract
A file system which ensures that some of the (desired) files (“linear files”) are stored in corresponding exclusive blocks (i.e., a block that stores data corresponding to one file only). Due to such a feature, rewriting of data corresponding to other files would not cause data corresponding to linear files to be relocated/rewritten. Such a feature may provide reliable and steady retrieval of data of the corresponding file from a flash memory organized as sectors. According to another aspect, some of the files (“non-linear files”) are stored in non-exclusive blocks (i.e., multiple files can share the same block or the same file can span multiple blocks without contiguity).
Claims18
A method of supporting a file system on a storage medium containing a plurality of blocks, wherein rewriting a portion of a block requires erasure of data in at least another portion of said block, said method comprising:
- storing in a nonvolatile memory data indicating whether each of said plurality of blocks is used to store a linear file, wherein the linear file is entirely stored in a single contiguous block of memory lying within the bounds of a sector;
- and
- wherein each of said plurality of blocks is not used for storing another file if data in said non-volatile memory indicates that the block is used to store a linear file.
A digital processing system comprising:
- a storage medium containing a plurality of blocks, wherein rewriting a portion of a block requires erasure of data in at least another portion of said block;
- a non-volatile memory storing data indicating whether each of said plurality of blocks is used to store a linear file or not, wherein the linear file is entirely stored in a single contiguous block of memory lying within the bounds of a sector;
- and
- a processor receiving a request to create a file, said processor determining that a first block contained in said plurality of blocks is suitable for allocation to said file only if said non-volatile memory indicates that said first block does not store a linear file,
- whereby each block allocated to a linear file is allocated exclusively to that linear file only.
An apparatus for supporting a file system on a storage medium containing a plurality of blocks, wherein rewriting a portion of a block requires erasure of data in at least another portion of said block, said apparatus comprising:
- means for storing in a non-volatile memory data indicating whether each of said plurality of blocks is used to store a linear file, wherein the linear file is entirely stored in a single contiguous block of memory lying within the bounds of a sector;
- and
- wherein each of said plurality of blocks is not used for storing another file if data in said non-volatile memory indicates that the block is used to store a linear file.
A computer readable medium carrying one or more sequences of instructions for causing a system to support a file system on a storage medium containing a plurality of blocks, wherein rewriting a portion of a block requires erasure of data in at least another portion of said block, wherein execution of said one or more sequences of instructions by one or more processors contained in said system causes said one or more processors to perform the actions of:
- storing in a nonvolatile memory data indicating whether each of said plurality of blocks is used to store a linear file, wherein the linear file is entirely stored in a single contiguous block of memory lying within the bounds of a sector;
- and
- wherein each of said plurality of blocks is not used for storing another file if data in said non-volatile memory indicates that the block is used to store a linear file.
Dependencies are inferred from the claim text.