Back to results
US 8,266,481 B2Granted
System and method of wear-leveling in flash storage
AssigneeSTEC, Inc.
InventorMark Moshayedi
Life of this patent
Estimating the term…
Abstract
A flash storage device tracks performs wear-leveling by tracking data errors that occur when dynamic data is read from a storage block of the flash storage device and moving the dynamic data to an available storage block of the flash storage device. Additionally, the flash storage device identifies a storage block containing static data and moves the static data to the storage block previously containing the dynamic data.
Claims20
A method of wear-leveling in a flash storage device, the method comprising:
- reading a first data unit from a first storage block of a plurality of storage blocks in the flash storage device;
- determining a data error has occurred in the first data unit as a result of reading the first data unit from the first storage block;
- determining the first data unit includes dynamic data;
- correcting the data error in the first data unit;
- selecting an available storage block of the plurality of storage blocks;
- moving the first data unit from the first storage block to the available storage block;
- selecting a second storage block of the plurality of storage blocks, the second storage block containing a second data unit including static data;
- and
- moving the second data unit to the first storage block.
6 more elements
A flash storage device, comprising:
- a flash storage device comprising a plurality of storage blocks;
- a controller configured to read a first data unit from a first storage block of the plurality of storage blocks, determine a data error has occurred as a result of reading the first data unit from the first storage block, determine the first data unit includes dynamic data, select an available storage block of the plurality of storage blocks, move the first data unit from the first storage block to the available storage block, and select a second storage block of the plurality of storage blocks, the second storage block containing a second data unit including static data, the controller further configured to move the second data unit from the second storage block to the first storage block.
A flash storage system comprising:
- a plurality of flash storage devices comprising a plurality of storage blocks;
- a controller configured to read a first data unit from a first storage block of the plurality of storage blocks, determine a data error has occurred as a result of reading the first data unit from the first storage block, determine the first data unit includes dynamic data, select an available storage block of the plurality of storage blocks, move the first data unit from the first storage block to the available storage block, and select a second storage block of the plurality of storage blocks, the second storage block containing a second data unit including static data, the controller further configured to move the second data unit from the second storage block to the first storage block.
Dependencies are inferred from the claim text.