METHOD FOR EFFICIENT STORAGE OF METADATA IN FLASH MEMORY
First Claim
1. A method of storing data, comprising:
- (a) receiving user data to be stored in a memory that includes at least one block, each block including a plurality of pages; and
(b) for one of the at least one block, whenever writing any of the user data to the one block, writing the one block according to a predefined plan for specifying, with respect to each page of the one block, a portion of the user data that is to be written to the each page of that block.
3 Assignments
0 Petitions
Accused Products
Abstract
User data are stored in a memory that includes one or more blocks of pages by, for one of the blocks, and optionally for all of the blocks, whenever writing any of the user data to that block, writing the block according to a predefined plan for specifying, with respect to each page of that block, a portion of the user data that is to be written to that page. Alternatively or additionally, each page that stores user data has associated therewith a metadatum related to the age of the user data stored therein; and, for one of the blocks, at any time that two or more of the pages of that block store user data, a common value of the metadatum is associated with all such pages.
99 Citations
29 Claims
-
1. A method of storing data, comprising:
-
(a) receiving user data to be stored in a memory that includes at least one block, each block including a plurality of pages; and (b) for one of the at least one block, whenever writing any of the user data to the one block, writing the one block according to a predefined plan for specifying, with respect to each page of the one block, a portion of the user data that is to be written to the each page of that block. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A memory device comprising a memory that includes at least one block, each block including a plurality of pages, wherein, for one of the at least one block, whenever user data are written to the one block, the user data are written to the one block according to a predefined plan for specifying, with respect to each page of the one block, a portion of the user data that is to be written to the each page of the one block.
-
9. A memory device comprising:
(a) a controller, for storing user data in a memory that includes at least one block, each block including a plurality of pages, by, for one of the at least one block, whenever writing user data to the one block, writing the user data to the one block according to a predefined plan for specifying, with respect to each page of the one block, a portion of the user data that is to be written to the each page of the one block. - View Dependent Claims (10)
-
11. A system comprising:
-
(a) a nonvolatile memory wherein is stored a driver for a memory device that includes at least one block, each block including a plurality of pages, the driver including code for storing data in the memory device by, for one of the at least one block, whenever writing user data to the one block, writing the user data to the one block according to a predefined plan for specifying, with respect to each page of the one block, a portion of the user data that is to be written to the each page of the one block; and (b) a processor for executing the code. - View Dependent Claims (12)
-
-
13. A computer-readable storage medium having computer-readable code embedded thereon, the computer-readable code being driver code for a memory device that includes at least one block, each block including a plurality of pages, the computer-readable code comprising program code for storing data in the memory device by, for one of the at least one block, whenever writing user data to the one block, writing the user data to the one block according to a predefined plan for specifying, with respect to each page of the one block, a portion of the user data that is to be written to the each page of the one block.
-
14. A method of storing data, comprising:
-
(a) storing the data in a memory that includes at least one block, each block including a plurality of pages, each page in which user data are stored having associated therewith a metadatum related to an age of the user data that are stored in the each page; and (b) for one of the at least one block, at any time that at least two pages of the one block have user data stored therein, associating, with all the pages of the one block wherein the user data are stored, a value of the metadatum that is common to all the pages of the one block wherein the user data are stored. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A memory device comprising:
-
(a) a controller for storing user data in a memory that includes at least one block, each block including a plurality of pages, and for associating, with each page in which user data are stored, a metadatum related to an age of the user data that are stored in the each page; wherein, for one of the at least one block, at any time that at least two pages of the one block have user data stored therein, the controller associates, with all the pages of the one block wherein the user data are stored, at most one common value of the metadatum. - View Dependent Claims (26)
-
-
27. A system comprising:
-
(a) a nonvolatile memory wherein is stored a driver of a memory device that includes at least one block, each block including a plurality of pages, the driver including code for storing user data in the memory device and for associating, with each page of the memory device in which user data are stored, a metadatum related to an age of the user data that are stored in the each page, wherein, for one of the at least one block, at any time that at least two pages of the one block have user data stored therein, all the pages of the one block wherein the user data are stored have associated therewith at most one common value of the metadatum; and (b) a processor for executing the code. - View Dependent Claims (28)
-
-
29. A computer-readable storage medium having computer-readable code embedded thereon, the computer-readable code being driver code for a memory device that includes at least one block, each block including a plurality of pages, the computer-readable code comprising program code for storing user data in the memory device and for associating, with each page of the memory device in which user data are stored, a metadatum related to an age of the user data that are stored in the each page, wherein, for one of the at least one block, at any time that at least two pages of the one block have user data stored therein, all the pages of the one block wherein the user data are stored have associated therewith at most one common value of the metadatum.
Specification