CPC G06F 12/0253 (2013.01) [G06F 3/0608 (2013.01); G06F 3/064 (2013.01); G06F 3/0673 (2013.01)] | 20 Claims |
1. A system, comprising:
at least one processor; and
at least one memory coupled to the at least one processor, comprising instructions that cause the at least one processor to perform operations comprising:
storing an indication of respective garbage levels of respective blocks of a block storage system, wherein the respective garbage levels indicate respective amounts of data in the respective blocks that are able to be reclaimed;
determining a first correlation between respective percentages of stored garbage and respective amounts of garbage of the block storage system based on determining the respective amounts of garbage of the block storage system among first blocks of the respective blocks of the block storage system that satisfy respective criterions of the respective percentages of stored garbage;
based on the first correlation, determining a second correlation between an estimated throughput applicable to reclaiming garbage in the block storage system and the respective amounts of garbage of the block storage system;
based on the first correlation and the second correlation and for a specified target reclamation throughput, determining a corresponding first percentage of stored garbage of the respective percentages of stored garbage; and
performing copy-forward garbage collection on second blocks of the block storage system that satisfy a criterion defined with respect to the first percentage of stored garbage.
|