Increased reliability of data stored on flash memory in applications sensitive to power-loss
First Claim
1. A method of storing objects in a nonvolatile memory comprising:
- allocating a space within a block of an erasable nonvolatile memory for an object, wherein the allocated space is within a single block of the erasable nonvolatile memory and the allocated space includes a plurality of areas capable of storing multiple instances of the object;
storing a first instance of the object in one of the areas within the allocated space;
storing a superseding second instance of the object in another one of the areas within the allocated space without erasing any of the allocated space; and
for each of the first and second instances of the object, storing status information corresponding to the respective instance of the object within the allocated space which is within the single block of the erasable nonvolatile memory.
5 Assignments
0 Petitions
Accused Products
Abstract
Methods for storing data in an erasable nonvolatile memory are described herein. In one embodiment, an example method includes allocating a space within a block of an erasable nonvolatile memory for an object, wherein the allocated space is within a single block of the erasable nonvolatile memory and the allocated space includes a plurality of areas capable of storing multiple instances of the object, storing a first instance of the object in one of the areas within the allocated space, storing a superseding second instance of the object in another one of the areas within the allocated space without erasing any of the allocated space, and for each of the first and second instances of the object, storing status information corresponding to the respective instance of the object within the allocated space which is within the single block of the erasable nonvolatile memory.
172 Citations
15 Claims
-
1. A method of storing objects in a nonvolatile memory comprising:
-
allocating a space within a block of an erasable nonvolatile memory for an object, wherein the allocated space is within a single block of the erasable nonvolatile memory and the allocated space includes a plurality of areas capable of storing multiple instances of the object;
storing a first instance of the object in one of the areas within the allocated space;
storing a superseding second instance of the object in another one of the areas within the allocated space without erasing any of the allocated space; and
for each of the first and second instances of the object, storing status information corresponding to the respective instance of the object within the allocated space which is within the single block of the erasable nonvolatile memory. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
receiving data for storage in a nonvolatile memory comprising a plurality of blocks;
selecting a storage structure for the data according to a size (z) of the data, a minimum number of instances (m), a maximum single instance size (s*g), and an allocation granularity (g); and
storing the data in the selected structure within the nonvolatile memory, each of the plurality of blocks including at least one selected structures and each of the structure storing an instance of the data and the status for the respective instance within the same block. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A machine-readable medium having executable code to cause a machine to perform a method, the method comprising:
-
receiving data for storage in a nonvolatile memory comprising a plurality of blocks;
selecting a storage structure for the data according to a size (z) of the data, a minimum number of instances (m), a maximum single instance size (s*g), and an allocation granularity (g); and
storing the data in the selected structure within the nonvolatile memory, each of the plurality of blocks including at least one selected structures and each of the structure storing an instance of the data and the status for the respective instance within the same respective block.
-
-
15. A machine-readable medium having executable code to cause a machine to perform a method, the method comprising:
-
receiving data for storage in a nonvolatile memory comprising a plurality of blocks;
selecting a storage structure for the data according to a size (z) of the data, a minimum number of instances (m), a maximum single instance size (s*g), and an allocation granularity (g); and
storing the data in the selected structure within the nonvolatile memory, each of the plurality of blocks including at least one selected structures and each of the structure storing an instance of the data and the status for the respective instance within the same block.
-
Specification