Pre-Emptive Garbage Collection for SSD RAID

Flash-based storage systems offer high performance, robustness, and reliability for embedded applications, however the physical nature of flash memory means that there are limitations to its usage in high reliability applications. In previous work, we have developed RAID architectures and associated controller hardware that increase the reliability and lifespan of these storage systems. However, flash memory needs regular garbage collection -- and this presents two issues in a high reliability context. The first issue concerns response times as when a garbage collector is active, the flash memory cannot be used by the application layer. This non-determinism in terms of response is problematic in high reliability systems that require real-time guarantees. The second issue concerns lifespan of flash chips. If the garbage collector is allowed free rein over erase operations while garbage collecting, this affects management of the lifespan of each SSD in the array. In this paper we present an enhanced, dynamic, real-time garbage collection method for SSD RAID that does not ignore the strict age distribution management, while offering deterministic response times for access. Real-time efficiency is further improved by dynamically coordinating garbage collection across each device in the array. Our simulation results indicate that the dynamic garbage collection technique maintains the age distribution at a level that does not affect reliability of individual devices. This is evidences using various synthetic and realistic traces dominated by random I/O loads.

[1]  Jongman Kim,et al.  Preemptible I/O Scheduling of Garbage Collection for Solid State Drives , 2013, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Tony Givargis,et al.  Deterministic service guarantees for nand flash using partial block cleaning , 2008, CODES+ISSS '08.

[3]  Sivan Toledo,et al.  Algorithms and data structures for flash memories , 2005, CSUR.

[4]  Laurence T. Yang,et al.  A Real-Time Flash Translation Layer for NAND Flash Memory Storage Systems , 2012, IEEE Transactions on Multi-Scale Computing Systems.

[5]  Tei-Wei Kuo,et al.  Real-time garbage collection for flash-memory storage systems of real-time embedded systems , 2004, TECS.

[6]  ChungTae-Sun,et al.  FTL algorithms for NAND-type flash memories , 2011 .

[7]  Junghee Lee,et al.  Coordinating Garbage Collectionfor Arrays of Solid-State Drives , 2014, IEEE Transactions on Computers.

[8]  Alistair A. McEwan,et al.  Age Distribution Convergence Mechanisms for Flash Based File Systems , 2012, J. Comput..

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

[10]  Rina Panigrahy,et al.  Design Tradeoffs for SSD Performance , 2008, USENIX ATC.

[11]  Yi Qin,et al.  DT-GC: Adaptive Garbage Collection with Dynamic Thresholds for SSDs , 2014, 2014 International Conference on Cloud Computing and Big Data.

[12]  Dongkun Shin,et al.  Flash-Aware RAID Techniques for Dependable and High-Performance Flash Memory SSD , 2011, IEEE Transactions on Computers.

[13]  Alistair A. McEwan,et al.  A high performance reconfigurable flash management framework , 2014, 2014 International Conference on Information Science, Electronics and Electrical Engineering.

[14]  Xiaodong Zhang,et al.  Understanding intrinsic characteristics and system implications of flash memory based solid state drives , 2009, SIGMETRICS '09.

[15]  Alistair A. McEwan,et al.  An Embedded FTL for SSD RAID , 2015, 2015 Euromicro Conference on Digital System Design.

[16]  Alistair A. McEwan,et al.  A Reliability Enhancement Mechanism for High-Assurance MLC Flash-Based Storage Systems , 2011, 2011 IEEE 17th International Conference on Embedded and Real-Time Computing Systems and Applications.