Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
First Claim
1. A method of performing reliable updates in a block erasable nonvolatile memory comprising:
- receiving an allocation request to reallocate a first object in said memory with a second object, wherein said first object and said second object have a same name and a same type, and said memory comprising a managed object space arranged into two classes of space to accommodate distinct objects, wherein objects of a first class are stored contiguously proceeding from a first end of said managed object space towards a second end of said managed object space to form a first class of space, and objects of a second class are stored contiguously proceeding from said second end towards said first end to form a second class of space;
validating said allocation request;
allocating a space for said second object if said allocation request is valid;
writing said second object into said space;
tracking a write status of said second object; and
invalidating said first object.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods of allocating, writing, reading, de-allocating, re-allocating, and reclaiming space within a nonvolatile memory having a bifurcated storage architecture are described. In one embodiment, a method of reliably re-allocating a first object stored within a block erasable nonvolatile memory includes the step of allocating space for a second object. A write of the second object is initiated and the writing of the second object is tracked. In another embodiment, a method of re-allocating a first object stored within a block erasable nonvolatile memory includes the step of invalidating the first object, if the first object has an unreliable type of recovery level. Space is allocated for the second object. A write of the second object is initiated and the writing of the second object is tracked. In another embodiment, a method of reliably re-allocating a first object stored within the block erasable nonvolatile memory includes the step of allocating space for the second object. A write of the second object is initiated and the writing of the second object is tracked. The first object is invalidated after completion of writing the second object, if the first object has a reliable type of recovery. In one embodiment, the first object resides within a first portion of nonvolatile memory and the instructions for performing the described methods reside in a second portion of nonvolatile memory. The first and second portions can reside within a same nonvolatile memory such as a symmetrically blocked flash electrically erasable programmable read only memory.
159 Citations
24 Claims
-
1. A method of performing reliable updates in a block erasable nonvolatile memory comprising:
-
receiving an allocation request to reallocate a first object in said memory with a second object, wherein said first object and said second object have a same name and a same type, and said memory comprising a managed object space arranged into two classes of space to accommodate distinct objects, wherein objects of a first class are stored contiguously proceeding from a first end of said managed object space towards a second end of said managed object space to form a first class of space, and objects of a second class are stored contiguously proceeding from said second end towards said first end to form a second class of space; validating said allocation request; allocating a space for said second object if said allocation request is valid; writing said second object into said space; tracking a write status of said second object; and invalidating said first object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of reliably rewriting a first object in a block erasable nonvolatile memory comprising:
-
receiving an allocation request to reallocate a first object in said memory with a second object, said memory comprising a managed object space arranged into two classes of space to accommodate distinct objects, wherein objects of a first class are stored contiguously proceeding from a first end of said managed object space towards a second end of said managed object space to form a first class of space, and objects of a second class are stored contiguously proceeding from said second end towards said first end to form a second class of space; validating said allocation request; copying said first object from its associated space to a temporary location; reclaiming said space associated with said first object; writing said second object into said space associated with said first object; tracking a write status of said second object; and invalidating said first object. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method of reallocating a first object stored within a block erasable nonvolatile memory comprising:
-
receiving an allocation request to reallocate a first object in said memory with a second object, said memory comprising a managed object space arranged into two classes of space to accommodate distinct objects, wherein objects of a first class are stored contiguously proceeding from a first end of said managed object space towards a second end of said managed object space to form a first class of space, and objects of a second class are stored contiguously proceeding from said second end towards said first end to form a second class of space; scanning said memory to locate said first object having a valid status and invalidating said first object; allocating a space for said second object; writing said second object into said space; and tracking a write status of said second object. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification