Workload-Aware Elastic Striping With Hot Data Identification for SSD RAID Arrays

Redundant array of independent disk (RAID) offers a good option to provide device-level fault tolerance for solid-state drives (SSDs). However, parity update with either read–modify–write or read–reconstruct–write may introduce a lot of extra I/Os and thus significantly degrades SSD RAID performance. To reduce the parity update cost, elastic striping chooses to reconstruct new stripes with only the newly updated data chunks instead of directly updating parity chunks. However, it necessitates an RAID-level garbage collection (GC) process, which may incur a very high cost due to the mixture of hot and cold data chunks. To address this problem, we follow the idea of elastic striping and propose a workload-aware scheme (WAS) to reduce the RAID-level GC cost so as to improve the performance and endurance of SSD RAID. In particular, we first develop a novel lightweight hot data identification scheme which requires only a very small computation time and memory cost, then propose a hotness-aware elastic striping approach to separately write data chunks with different hotness to different regions in SSD RAID. To evaluate the effectiveness and efficiency of our WAS, we implement a prototype system on RAID-5 and RAID-6 arrays composed of commercial SSDs. Experimental results show that compared to original elastic striping, our scheme reduces 30.0%–70.6% (and 23.9%–63.2%) of chunk writes under the RAID-5 (and RAID-6) settings, and also reduces the average response time by 60.9%–79.3% (and 56.8%–80.9%) for RAID-5 (and RAID-6), respectively. Besides, our scheme also improves the endurance and reliability of SSD RAID compared to original elastic striping.

[1]  Peter F. Corbett,et al.  Row-Diagonal Parity for Double Disk Failure Correction (Awarded Best Paper!) , 2004, USENIX Conference on File and Storage Technologies.

[2]  Steven Swanson,et al.  The bleak future of NAND flash memory , 2012, FAST.

[3]  Toni Cortes,et al.  CRAID: online RAID upgrades using dynamic hot data reorganization , 2014, FAST.

[4]  Sanghyuk Jung,et al.  FRA: a flash-aware redundancy array of flash storage devices , 2009, CODES+ISSS '09.

[5]  Benny Van Houdt,et al.  Performance of garbage collection algorithms for flash-based solid state drives with hot/cold data , 2013, Perform. Evaluation.

[6]  Benny Van Houdt,et al.  A mean field model for a class of garbage collection algorithms in flash-based solid state drives , 2013, Queueing Systems.

[7]  Dan Feng,et al.  HRAID6ML: A hybrid RAID6 storage architecture with mirrored logging , 2012, 012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST).

[8]  Dong-Ho Lee,et al.  HFTL: hybrid flash translation layer based on hot data identification for flash memory , 2009, IEEE Transactions on Consumer Electronics.

[9]  Paul H. Siegel,et al.  Characterizing flash memory: Anomalies, observations, and applications , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[10]  F. Moore,et al.  Polynomial Codes Over Certain Finite Fields , 2017 .

[11]  J. Kessenich,et al.  Bit error rate in NAND Flash memories , 2008, 2008 IEEE International Reliability Physics Symposium.

[12]  Jongmoo Choi,et al.  Improving SSD reliability with RAID via Elastic Striping and Anywhere Parity , 2013, 2013 43rd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN).

[13]  Hong Jiang,et al.  HPDA: A hybrid parity-based disk array for enhanced performance and reliability , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

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

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

[16]  Jehoshua Bruck,et al.  EVENODD: An Efficient Scheme for Tolerating Double Disk Failures in RAID Architectures , 1995, IEEE Trans. Computers.

[17]  John C. S. Lui,et al.  Impact of Data Locality on Garbage Collection in SSDs: A General Analytical Study , 2015, ICPE.

[18]  Kern Koh,et al.  A lifespan-aware reliability scheme for RAID-based flash storage , 2011, SAC '11.

[19]  Randy H. Katz,et al.  A case for redundant arrays of inexpensive disks (RAID) , 1988, SIGMOD '88.

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

[21]  Jehoshua Bruck,et al.  X-Code: MDS Array Codes with Optimal Encoding , 1999, IEEE Trans. Inf. Theory.

[22]  Yue Yang,et al.  Analytical modeling of garbage collection algorithms in hotness-aware flash-based solid state drives , 2014, 2014 30th Symposium on Mass Storage Systems and Technologies (MSST).

[23]  Yong Wang,et al.  SDF: software-defined flash for web-scale internet storage systems , 2014, ASPLOS.

[24]  Zhipeng Li,et al.  Grouping-Based Elastic Striping with Hotness Awareness for Improving SSD RAID Performance , 2015, 2015 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks.

[25]  Yongkun Li,et al.  Elastic Parity Logging for SSD RAID Arrays , 2016, 2016 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN).

[26]  Hai Jin,et al.  Parity Logging Overcoming the Small Write Problem in Redundant Disk Arrays , 2002 .

[27]  Thomas E. Anderson,et al.  A Comparison of File System Workloads , 2000, USENIX Annual Technical Conference, General Track.

[28]  Sang-Won Lee,et al.  Design of flash-based DBMS: an in-page logging approach , 2007, SIGMOD '07.

[29]  John C. S. Lui,et al.  Stochastic modeling of large-scale solid-state storage systems: analysis, design tradeoffs and optimization , 2013, SIGMETRICS '13.

[30]  Ching-Che Chung,et al.  Partial Parity Cache and Data Cache Management Method to Improve the Performance of an SSD-Based RAID , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[31]  Tei-Wei Kuo,et al.  Efficient identification of hot data for flash memory storage systems , 2006, TOS.

[32]  Akshat Verma,et al.  SRCMap: Energy Proportional Storage Using Dynamic Consolidation , 2010, FAST.