Priority-based garbage collection for data storage systems
AssigneeWestern Digital Technologies, Inc.
InventorROBERT L. HORN
Life of this patent
Estimating the term…
Abstract
Priority-based garbage collection utilizes attributes of data stored in the non-volatile memory array in order to improve efficiency of garbage collection and of the overall data storage system. A set of low priority data can be selectively evicted from a non-volatile memory array. This can, for example, reduce write amplification associated with garbage collection. Another set of low priority data can be regrouped or consolidated in a different region of the non-volatile memory array. In addition, flushing of data can be performed in order to enhance or optimize garbage collection. Performance and endurance can thereby be improved.
Claims23
A data storage system, comprising:
- a non-volatile memory array having plurality of memory regions configured to store a plurality of data units;
- a magnetic storage configured to store data;
- and
- a controller configured to perform garbage collection of a first memory region by at least:
- identifying data units in the first memory region that contain valid data;
- designating, based on a priority information associated with each data unit, at least some of data units containing valid data as data units not to be copied to the second memory region, wherein the designating includes at least one of:
- 1) designating data units not to be copied to any memory region in the non-volatile memory array for eviction;
- and
- 2) designating data units to be copied to a third memory region for consolidation;
- copying to the second memory region data units that contain valid data and that are not designated as data units not to be copied to the second memory region.
In a data storage system comprising a non-volatile memory array having plurality of memory regions configured to store a plurality of data units, a method of performing garbage collection, the method comprising:
- identifying data units in a first memory region that contain valid;
- designating, based on a priority information associated with each data unit, at least some of data units containing valid data as data units not to be copied to the second memory region, wherein the designating includes at least one of:
- 1) designating data units not to be copied to any memory region in the non-volatile memory array for eviction to another data storage;
- and
- 2) designating data units to be copied to a third memory region for consolidation;
- copying to the second memory region data units that contain valid data and that are not designated as data units not to be copied to the second memory region,
- wherein the method is performed under control of a controller.
A data storage system, comprising:
- a non-volatile memory array having plurality of memory regions configured to store a plurality of data units;
- a controller configured to perform garbage collection of a first memory region by at least:
- identifying data units in the first memory region that contain valid data;
- designating, based on a priority information associated with each data unit, at least some of data units containing valid data as data units not to be copied to the second memory region, wherein the designating includes at least one of:
- 1) designating data units not to be copied to any memory region in the non-volatile memory array for eviction to another data storage;
- and
- 2) designating data units to be copied to a third memory region for consolidation;
- copying to the second memory region data units that contain valid data and that are not designated as data units not to be copied to the second memory region.
Dependencies are inferred from the claim text.