Power-off recovery management for sector based flash media managers
First Claim
1. A method of managing data in a nonvolatile memory comprising:
- providing a plurality of sector data structures in said memory, each sector data structure for storing a status of one associated sector;
changing status of a selected sector from a first status value indicating an erased state to a second status value indicating an allocating state when commencing a write operation to said selected sector;
changing said status of said selected sector to a third status value indicating an allocated state after completing said write operation; and
changing said status of said selected sector to a fourth status value indicating a valid state after searching for a valid sector with a same sector number and changing status of said valid sector to a fifth status value indicating an invalid state.
0 Assignments
0 Petitions
Accused Products
Abstract
A method of managing data in a flash EEPROM memory array allows all data to be recovered after power loss except new data in a sector in which the data content is being changed when power is lost. The method includes providing a block data structure and a plurality of sector data structures in each block of a flash EEPROM memory array, each data structure storing an indication of the operating state of the block or an associated physical sector of the array; changing the indication stored in the block data structure or the sector data structure when the operating state of the block or the associated sector changes; detecting the indication stored in the block data structure and the sector data structures when power is restored to a system which has lost power; and managing the flash EEPROM memory array depending on the indications detected.
107 Citations
15 Claims
-
1. A method of managing data in a nonvolatile memory comprising:
-
providing a plurality of sector data structures in said memory, each sector data structure for storing a status of one associated sector;
changing status of a selected sector from a first status value indicating an erased state to a second status value indicating an allocating state when commencing a write operation to said selected sector;
changing said status of said selected sector to a third status value indicating an allocated state after completing said write operation; and
changing said status of said selected sector to a fourth status value indicating a valid state after searching for a valid sector with a same sector number and changing status of said valid sector to a fifth status value indicating an invalid state. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of tracking the status of individual sectors within a nonvolatile memory array divided into a plurality of blocks, each block having at least one sector, comprising:
-
changing a selected status of a selected sector from a first status value indicating an erased state to a second status value indicating an allocating state when commencing a write operation to said selected sector;
changing said selected status to a third status value indicating an allocated state after completing said write operation;
changing said selected status to a fourth status value indicating a valid state after searching for a valid sector with a same sector number and changing status of said valid sector to a fifth status value indicating an invalid state;
searching for any allocating sectors having status equal to said second status value when power is reapplied to said nonvolatile memory and changing status of said allocating sectors to said fifth status value; and
searching for any allocated sectors having status equal to said third status value when power is reapplied to said nonvolatile memory and changing status of said allocated sectors to said fourth status value. - View Dependent Claims (8, 9, 10)
-
-
11. A power-loss data recovery system for flash memory comprising:
-
at least two blocks of flash memory cells wherein all cells of a block being connected to be erased together, each block comprising at least one sector;
a plurality of sector data structures in said flash memory, each sector data structure for storing a status of one associated sector; and
a media manager coupled to said flash memory for managing status of said sectors, said managing comprising changing status of a selected sector from a first status value indicating an erased state to a second status value indicating an allocating state when commencing a write operation to said selected sector;
changing said selected status to a third status value indicating an allocated state after completing said write operation; and
changing said selected status to a fourth status value indicating a valid state after searching for a valid sector with a same sector number and changing status of said valid sector to a fifth status value indicating an invalid state. - View Dependent Claims (12, 13, 14, 15)
-
Specification