| CPC G06F 3/0616 (2013.01) [G06F 3/0608 (2013.01); G06F 3/0644 (2013.01); G06F 3/0652 (2013.01); G06F 3/0688 (2013.01); G06F 12/0253 (2013.01); G06F 2212/262 (2013.01)] | 21 Claims |

|
1. A method of performing system-level garbage collection in a data storage system employing log-structured writing of data, the data storage system including a set of solid-state drive (SSD) storage devices providing underlying physical storage for the data, comprising:
identifying respective reclaim unit sizes of the storage devices, each storage device having reclaim units of the respective size, each reclaim unit being a unit of programming and erasure used by device-level garbage collection to regularly generate erased reclaim units for allocation for physical data storage, the reclaim unit sizes being respective power-of-2 multiples of a base reclaim unit size R;
arranging the data across the physical storage devices in first and second data units, each first data unit being of a first size U equal to the product of R and a stripe width W of storage devices across which the first data unit extends, each second data unit including a respective set of first data units which occupy a maximum-size reclaim unit of a respective storage device among the storage devices across which the set of first data units extend; and
operating the system-level garbage collection with second-data-unit granularity to regularly generate empty second data units for allocation in the log-structured writing of data.
|