Power failure detection and correction in a flash memory device
First Claim
1. In a computer having a flash medium, a method for ensuring data integrity in a flash medium, comprising:
- organizing a flash memory medium as if memory locations of the flash memory form a continuous circle, wherein the lowest and highest memory locations are contiguous;
maintaining a write pointer to indicate a memory location that is free to receive new data, the write pointer configured to advance through the continuous circle of memory locations as data is written to the flash memory medium;
storing meta-information in each memory location indicated by the write pointer at completion of a write operation to the memory location indicated by the write pointer;
searching the memory location indicated by the write pointer when the file system is initialized to ascertain whether the meta-information exists in the memory location;
concluding that a power-failure event occurred, if the meta-information is not found in the memory location; and
marking the memory location indicated by the write pointer dirty if a power-failure event is concluded.
1 Assignment
0 Petitions
Accused Products
Abstract
A transactional file system developed to function with flash memory is described. The file system performs power-failure detection and ensures data integrity in the event of a power failure. In one described implementation, a power failure event can be detected by a file system, components of the file system, or individual modules in the form or computer-executable instructions and/or logic. Meta-information is stored at a location on a flash medium indicated by a write pointer if a computer device shuts-down according to a normal shutdown mode. During initialization of the computer, a check is performed whether the meta-information is present in the location on the flash medium indicated by the write pointer. If the meta-information is present, then a conclusion is made that the computer shutdown according to the normal shutdown mode.
-
Citations
20 Claims
-
1. In a computer having a flash medium, a method for ensuring data integrity in a flash medium, comprising:
-
organizing a flash memory medium as if memory locations of the flash memory form a continuous circle, wherein the lowest and highest memory locations are contiguous; maintaining a write pointer to indicate a memory location that is free to receive new data, the write pointer configured to advance through the continuous circle of memory locations as data is written to the flash memory medium; storing meta-information in each memory location indicated by the write pointer at completion of a write operation to the memory location indicated by the write pointer; searching the memory location indicated by the write pointer when the file system is initialized to ascertain whether the meta-information exists in the memory location; concluding that a power-failure event occurred, if the meta-information is not found in the memory location; and marking the memory location indicated by the write pointer dirty if a power-failure event is concluded. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A file system, comprising:
-
sector management means for organizing a flash memory medium as if memory locations of the flash memory form a continuous circle, wherein the lowest and highest memory locations are contiguous;
the sector management means comprising write pointing means that indicate a memory location that is free to receive new data, the write pointing means configured to advance through the continuous circle a memory location at a time as data is written to the flash memory medium; andpower failure management means configured to store data valid information in each memory location indicated by the write pointing means at completion of writing data into each memory location, wherein the power failure management means is further configured to (i) search the memory location indicated by the write pointing means for the data valid information when the file system is initialized; and
(ii) mark the memory location dirty, if the data valid information is not found. - View Dependent Claims (10, 11, 12, 13)
-
-
14. One or more computer-readable media comprising computer executable instructions that, when executed, direct a computer to:
-
maintain a write pointer to advance through a circular sequence of memory locations in the flash medium indicating a memory location that is available to receive data as the write pointer advances; write data into the memory location indicated by the write pointer; write metadata into the memory location indicated by the write pointer if the writing of data into the memory location is completed; search the memory location indicated by the write pointer to determine whether the metadata exists in the memory location upon initializing the computer; and mark the memory location indicated by the write pointer dirty, if the metadata does not exist in the memory location. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification