TY - GEN
T1 - Sampling-based garbage collection metadata management scheme for flash-based storage
AU - Debnath, Biplob
AU - Krishnan, Srinivasan
AU - Xiao, Weijun
AU - Lilja, David J
AU - Du, David H
PY - 2011/1/1
Y1 - 2011/1/1
N2 - Existing garbage collection algorithms for the flash-based storage use score-based heuristics to select victim blocks for reclaiming free space and wear leveling. The score for a block is estimated using metadata information such as age, block utilization, and erase count. To quickly find a victim block, these algorithms maintain a priority queue in the SRAM of the storage controller. This priority queue takes O(K) space, where K stands for flash storage capacity in total number of blocks. As the flash capacity scales to larger size, K also scales to larger value. However, due to higher price per byte, SRAM will not scale proportionately. In this case, due to SRAM scarcity, it will be challenging to implement a larger priority queue in the limited SRAM of a large-capacity flash storage. In addition to space issue, with any update in the metadata information, the priority queue needs to be continuously updated, which takes O(lg(K)) operations. This computation overhead also increases with the increase of flash capacity. In this paper, we have taken a novel approach to solve the garbage collection metadata management problem of a large-capacity flash storage. We propose a sampling-based approach to approximate existing garbage collection algorithms in the limited SRAM space. Since these algorithms are heuristic-based, our sampling-based algorithm will perform as good as unsampled (original) algorithm, if we choose good samples to make garbage collection decisions. We propose a very simple policy to choose samples. Our experimental results show that small number of samples are good enough to emulate existing garbage collection algorithms.
AB - Existing garbage collection algorithms for the flash-based storage use score-based heuristics to select victim blocks for reclaiming free space and wear leveling. The score for a block is estimated using metadata information such as age, block utilization, and erase count. To quickly find a victim block, these algorithms maintain a priority queue in the SRAM of the storage controller. This priority queue takes O(K) space, where K stands for flash storage capacity in total number of blocks. As the flash capacity scales to larger size, K also scales to larger value. However, due to higher price per byte, SRAM will not scale proportionately. In this case, due to SRAM scarcity, it will be challenging to implement a larger priority queue in the limited SRAM of a large-capacity flash storage. In addition to space issue, with any update in the metadata information, the priority queue needs to be continuously updated, which takes O(lg(K)) operations. This computation overhead also increases with the increase of flash capacity. In this paper, we have taken a novel approach to solve the garbage collection metadata management problem of a large-capacity flash storage. We propose a sampling-based approach to approximate existing garbage collection algorithms in the limited SRAM space. Since these algorithms are heuristic-based, our sampling-based algorithm will perform as good as unsampled (original) algorithm, if we choose good samples to make garbage collection decisions. We propose a very simple policy to choose samples. Our experimental results show that small number of samples are good enough to emulate existing garbage collection algorithms.
UR - http://www.scopus.com/inward/record.url?scp=85053801652&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85053801652&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:85053801652
SN - 9781457704284
T3 - 2011 IEEE 7th International Workshop on Storage Network Architecture and Parallel I/Os, SNAPI 2011
BT - 2011 IEEE 7th International Workshop on Storage Network Architecture and Parallel I/Os, SNAPI 2011
PB - IEEE Computer Society
T2 - 2011 IEEE 7th International Workshop on Storage Network Architecture and Parallel I/Os, SNAPI 2011
Y2 - 25 May 2011 through 25 May 2011
ER -