Erase count recovery
AssigneeSanDisk IL Ltd.
InventorAmir Mosek
Life of this patent
Estimating the term…
Abstract
An erase count of a flash memory block which is lost, e.g., due to power failure is updated or replaced by using known erase counts of other blocks of the flash memory. A flash management algorithm assigns a new erase count value instead of the lost one based on either a maximum value, an average value or a value combining the maximum value of the known erase counts and some tolerance value. The known values may be obtained from wear leveling data or from a stored erase history.
Claims26
A method of updating a lost or invalid erase count of a given block of a flash memory, the method comprising the steps of:
- a. obtaining a new erase count for the given block of a flash memory, using known erase counts of other blocks of the flash memory;
- and
- b. assigning the new erase count to the given block,
- wherein the step of obtaining includes calculating an average value of the known erase counts and setting the new erase count to the average value.
A method of updating a lost or invalid erase count of a given block of a flash memory, the method comprising the steps of:
- a. obtaining a new erase count for the given block of a flash memory, using known erase counts of other blocks of the flash memory;
- and
- b. assigning the new erase count to the given block, wherein the step of obtaining includes determining a maximum value of the known erase counts and setting the new erase count to the maximum value.
A method of updating a lost or invalid erase count of a given block of a flash memory, the method comprising the steps of:
- a. obtaining a new erase count for the given block of a flash memory, using known erase counts of other blocks of the flash memory;
- and
- b. assigning the new erase count to the given block, wherein the step of obtaining includes determining a maximum value of the known erase counts and setting the new erase count to a sum of the obtained maximum value and a value of an erase count tolerance.
A non-transitory computer readable storage medium having computer readable code embodied in the computer readable storage medium, the computer readable code comprising instructions for updating a lost or invalid erase count of a given block of a flash memory, by:
- a) obtaining a new erase count for the given block of a flash memory, using known erase counts of other blocks of the flash memory;
- and
- b) assigning the new erase count to the given block;
- wherein the obtaining a new erase count for a given block of a flash memory using known erase counts of other blocks of the flash memory includes calculating an average value of the known erase counts, and wherein the assigning the new erase count to the given block includes setting the new erase count to the average value.
A non-transitory computer readable storage medium having computer readable code embodied in the computer readable storage medium, the computer readable code comprising instructions for updating a lost or invalid erase count of a given block of a flash memory, by:
- a) obtaining a new erase count for the given block of a flash memory, using known erase counts of other blocks of the flash memory;
- and
- b) assigning the new erase count to the given block, wherein the obtaining a new erase count for a given block of a flash memory using known erase counts of other blocks of the flash memory includes determining a maximum value of the known erase counts, and wherein the assigning the new erase count to the given block includes setting the new erase count to the maximum value.
A non-transitory computer readable storage medium having computer readable code embodied in the computer readable storage medium, the computer readable code comprising instructions for updating a lost or invalid erase count of a given block of a flash memory, by:
- a) obtaining a new erase count for the given block of a flash memory, using known erase counts of other blocks of the flash memory;
- and
- b) assigning the new erase count to the given block, wherein the obtaining a new erase count for a given block of a flash memory using known erase counts of other blocks of the flash memory includes determining a maximum value of the known erase counts, and wherein the assigning the new erase count to the given block includes setting the new erase count to a sum of the determined maximum value and a value of an erase count tolerance.
Dependencies are inferred from the claim text.