Time-efficient Garbage Collection in SSDs

SSDs are currently replacing magnetic disks in many application areas. A challenge of the underlying flash technology is that data cannot be updated in-place. A block consisting of many pages must be completely erased before a single page can be rewritten. This victim block can still contain valid pages which need to be copied to other blocks before erasure. The objective of garbage collection strategies is to minimize write amplification induced by copying valid pages from victim blocks while minimizing the performance overhead of the victim selection. Victim selection strategies minimizing write amplification, like the cost-benefit approach, have linear runtime, while the write amplifications of time-efficient strategies, like the greedy strategy, significantly reduce the lifetime of SSDs. In this paper, we propose two strategies which optimize the performance of cost-benefit, while (almost) preserving its write amplification. Trace-driven simulations for single- and multi-channel SSDs show that the optimizations help to keep the write amplification low while improving the runtime by up to 24-times compared to the original cost-benefit strategy, so that the new strategies can be used in multi-TByte SSDs.

[1]  Kern Koh,et al.  FeGC: An efficient garbage collection scheme for flash memory based storage systems , 2011, J. Syst. Softw..

[2]  Sanghyuk Jung,et al.  LINK-GC: a preemptive approach for garbage collection in NAND flash storages , 2013, SAC '13.

[3]  Ruei-Chuan Chang,et al.  Cleaning policies in mobile computers using flash memory , 1999, J. Syst. Softw..

[4]  Anastasia Ailamaki,et al.  Improving Flash Write Performance by Using Update Frequency , 2013, Proc. VLDB Endow..

[5]  Li-Pin Chang,et al.  On efficient wear leveling for large-scale flash-memory storage systems , 2007, SAC '07.

[6]  David G. Andersen,et al.  Using vector interfaces to deliver millions of IOPS from a networked key-value storage server , 2012, SoCC '12.

[7]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[8]  Yuhui Deng,et al.  What is the future of disk drives, death or rebirth? , 2011, ACM Comput. Surv..

[9]  David J. Lilja,et al.  High performance solid state storage under Linux , 2010, 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST).

[10]  John C. S. Lui,et al.  Stochastic modeling and optimization of garbage collection algorithms in solid-state drive systems , 2014, Queueing Systems.

[11]  Larry J. Stockmeyer,et al.  An Age-Threshold Algorithm for Garbage Collection in Log-Structured Arrays and File Systems , 1998 .

[12]  Li-Pin Chang,et al.  Stable Greedy: Adaptive Garbage Collection for Durable Page-Mapping Multichannel SSDs , 2016, TECS.

[13]  Youyou Lu,et al.  ParaFS: A Log-Structured File System to Exploit the Internal Parallelism of Flash Devices , 2016, USENIX Annual Technical Conference.

[14]  Peter Desnoyers,et al.  Analytic modeling of SSD write performance , 2012, SYSTOR '12.

[15]  Sang Lyul Min,et al.  A space-efficient flash translation layer for CompactFlash systems , 2002, IEEE Trans. Consumer Electron..

[16]  Dongkun Shin,et al.  ComboFTL: Improving performance and lifespan of MLC flash memory using SLC flash buffer , 2010, J. Syst. Archit..

[17]  Eitan Yaakobi,et al.  The Devil Is in the Details: Implementing Flash Page Reuse with WOM Codes , 2016, FAST.

[18]  Bongki Moon,et al.  FASTer FTL for Enterprise-Class Flash Memory SSDs , 2010, 2010 International Workshop on Storage Network Architecture and Parallel I/Os.

[19]  Xiao-Yu Hu,et al.  The Fundamental Limit of Flash Random Write Performance: Understanding, Analysis and Performance Modelling , 2010 .

[20]  Youngjae Kim,et al.  DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings , 2009, ASPLOS.

[21]  Hiroshi Motoda,et al.  A Flash-Memory Based File System , 1995, USENIX.

[22]  Michael Wu,et al.  eNVy: a non-volatile, main memory storage system , 1994, ASPLOS VI.

[23]  Xavier Jimenez,et al.  Wear unleveling: improving NAND flash lifetime by balancing page endurance , 2014, FAST.