Garbage collection based on the inactivity level of stored data
AssigneeWestern Digital Technologies, Inc.
InventorWilliam B. Boyle
Life of this patent
Estimating the term…
Abstract
A data storage system implements garbage collection based on the inactivity level of stored data. In one embodiment, the inactivity level of data stored in regions of a data storage system is taken into account when prioritizing regions for garbage collection. Inactivity level of memory regions can be compared to an inactivity threshold. The threshold can be adjusted during operation of the data storage system. Garbage collection can be delayed until data stored in a particular region is unlikely to be updated. Write amplification associated with garbage collection is reduced, and improved performance is attained.
Claims24
A non-volatile data storage system, comprising:
- a data storage module comprising a plurality of regions for storing data;
- and
- a controller configured to:
- compute a set of scores associated with a set of regions of the plurality of regions, each score based at least in part on a duration since last invalidation of data stored in a corresponding region;
- and
- perform garbage collection of at least one region based at least partly on the set of scores, wherein garbage collection comprises copying valid data stored in the at least one region to another region.
In a non-volatile data storage system comprising a controller and a storage module that comprises a plurality of regions, a method of freeing at least some regions, the method comprising:
- computing a set of scores associated with a set of regions of the plurality of regions, each score based at least in part on a duration since last invalidation of data stored in a corresponding region;
- and
- performing garbage collection of at least one region based on the set of scores, wherein performing garbage collection comprises copying valid data stored in the at least one region to another region,
- wherein the method is performed under the control of the controller.
A non-volatile data storage system, comprising:
- a data storage module comprising a plurality of regions for storing data;
- and
- a controller configured to:
- identify a region suitable for garbage collection;
- and
- in response to determining that a duration since last invalidation of data stored in the region exceeds a threshold, perform garbage collection of the region, wherein garbage collection comprises copying valid data stored in the at least one region to another region.
In a non-volatile data storage system comprising a controller and a storage module that comprises a plurality of regions, a method of freeing at least some regions, the method comprising:
- identifying a region suitable for being freed;
- and
- in response to determining that a duration since last invalidation of data stored in the region exceeds a threshold, performing garbage collection of the region,
- wherein garbage collection comprises copying valid data stored in the at least one region to another region, and
- wherein the method is performed under the control of the controller.
Dependencies are inferred from the claim text.