Optimized garbage collection algorithm to improve solid state drive reliability
AssigneeHGST Technologies Santa Ana, Inc.
InventorAshot MELIK-MARTIROSIAN
Life of this patent
Estimating the term…
Abstract
A method for managing memory operations in a storage device having a plurality of data blocks, the method including steps for determining a number of page reads for each of the plurality of data blocks and determining a dwell time for each of the plurality of data blocks. In certain aspects, the method further includes steps for associating the plurality of data blocks with a plurality of rank groups based on the number of page reads and the dwell time associated with each of the plurality of data blocks and selecting a data block, from among the plurality of data blocks, for memory reclamation based on the associated rank group and the selected data block. A storage system and computer-readable media are also provided.
Claims20
A method for managing memory operations in a storage device having a plurality of data blocks, the method comprising:
- determining a number of page reads for each of the plurality of data blocks;
- determining a dwell time for each of the plurality of data blocks;
- associating the plurality of data blocks with a plurality of rank groups based on the number of page reads and the dwell time associated with each of the plurality of data blocks;
- and
- selecting a data block, from among the plurality of data blocks, for memory reclamation based on the associated rank group of the selected data block.
A storage system, comprising:
- a memory;
- a memory array comprising a plurality of data blocks;
- and
- a controller coupled to the memory and the memory array, wherein the controller is configured to perform operations for:
- storing, to the memory, a number of page reads associated with each the plurality of data blocks;
- storing, to the memory, a dwell tine associated with each of the plurality of data blocks;
- associating the plurality of data blocks with a plurality of rank groups based on the number of page reads and the dwell time associated with each of the plurality of data blocks;
- and
- selecting a data block, from among the plurality of data blocks, for memory reclamation based on the associated rank group of the selected data block.
A non-transitory computer-readable storage medium comprising instructions stored therein, which when executed by a processor, cause the processor to perform operations comprising:
- determining a number of page reads for each of a plurality of data blocks;
- determining a dwell time for each of the plurality of data blocks;
- associating the plurality of data blocks with a plurality of rank groups based on the number of page reads and the dwell time associated with each of the plurality of data blocks;
- and
- selecting a data block, from among the plurality of data blocks, for memory reclamation based on the associated rank group of the selected data block.
Dependencies are inferred from the claim text.