US 11,809,736 B2
Storage system and method for quantifying storage fragmentation and predicting performance drop
Einav Zilberstein, Had Hasharon (IL); Hadas Oshinsky, Kfar Saba (IL); Maayan Suliman, Had Hasharon (IL); and Karin Inbar, Kfar Saba (IL)
Assigned to Western Digital Technologies, Inc., San Jose, CA (US)
Filed by Western Digital Technologies, Inc., San Jose, CA (US)
Filed on Dec. 21, 2021, as Appl. No. 17/558,014.
Prior Publication US 2023/0195353 A1, Jun. 22, 2023
Int. Cl. G06F 3/00 (2006.01); G06F 3/06 (2006.01)
CPC G06F 3/0653 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0655 (2013.01); G06F 3/0679 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A storage system comprising:
a memory; and
a controller coupled to the memory and configured to:
generate a correlation between a number of senses to read the memory and a decrease in sequential read performance by:
sequentially writing a file to the memory; and
determining a number of senses to read the memory and a corresponding decrease in sequential read performance after each cycle of a plurality of cycles of random writes and sequential reads of the file, wherein a random write payload increases with each cycle;
determine a memory fragmentation level for each of a plurality of logical block address ranges of the memory according to (i) a number of memory senses required to read that logical block address range in its current state of fragmentation and (ii) a number of memory senses required to read that logical block address range assuming no fragmentation;
predict a decrease in sequential read performance caused by the memory fragmentation level for each of the plurality of logical block address ranges of the memory by referencing the number of memory senses required to read each logical block address range in its current state of fragmentation against the correlation;
prioritize the plurality of logical block address ranges based on the predicted decreases in sequential read performance, wherein a logical block address range having a relatively-greater predicted decrease in sequential read performance is prioritized over a logical block address range having a relatively-lower predicted decrease in sequential read performance; and
perform defragmentation operations based on the prioritization.