Improving random write performance in homogeneous and heterogeneous erasure-coded drive arrays

In data storage systems, drive arrays known as RAIDs are often used in order to avoid data loss and to maintain availability in the event of drive failure(s). RAID schemes define various drive array organizations (denoted as RAID levels) that can be used in arrays of hard disk drives (HDDs) and arrays of NAND flash memory solid-state drives (SSDs). For larger drive arrays, using data striping with erasure coding is appealing due to its notably higher space efficiency compared to data replication. However, the main issue of data striping with erasure coding is the performance of random writes smaller than a stripe. This problem is even aggravated if the random access performance characteristics of the deployed device type (HDD or SSD) and device model are not properly considered when choosing the data striping configuration (in particular the stripe unit size). In this article, we provide an analytical model allowing to predict the random write throughput of homogeneous drive arrays as well as of a heterogeneous drive array with code blocks stored on the faster drives. Based on our model, we develop a method to improve the random write throughput in homogeneous drive arrays (comprising only one device type, e.g., HDDs or SSDs) by adapting the data striping configuration to the used device type and model in relation to the workload. Then, based on our previous work, we describe an organization for heterogeneous drive arrays, which is especially suitable for arrays combining HDDs with SSDs, and permits to further increase the random write throughput by storing data blocks on slower and code blocks on faster drives. Finally, we experimentally evaluate our analytical claims and show that random write throughput can indeed be notably increased in drive arrays that use data striping with erasure coding.

[1]  Hossein Asadi,et al.  Impact of Stripe Unit Size on Performance and Endurance of SSD-Based RAID Arrays , 2013 .

[2]  Scott A. Brandt,et al.  Incorporating solid state drives into distributed storage systems , 2012 .

[3]  Bruce Jacob,et al.  Memory Systems: Cache, DRAM, Disk , 2007 .

[4]  Xiaodong Zhang,et al.  Essential roles of exploiting internal parallelism of flash memory based solid state drives in high-speed data processing , 2011, 2011 IEEE 17th International Symposium on High Performance Computer Architecture.

[5]  Garth A. Gibson,et al.  RAID: high-performance, reliable secondary storage , 1994, CSUR.

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

[7]  Alexander Thomasian,et al.  Reconstruct versus read-modify writes in RAID , 2005, Inf. Process. Lett..

[8]  Feng Liu,et al.  SPD-RAID4: Splitting Parity Disk for RAID4 Structured Parallel SSD Arrays , 2013, 2013 IEEE 10th International Conference on High Performance Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing.

[9]  Rino Micheloni,et al.  Inside Solid State Drives (Ssds) , 2012 .

[10]  Evangelos Eleftheriou,et al.  Write amplification analysis in flash-based solid state drives , 2009, SYSTOR '09.

[11]  Margo I. Seltzer,et al.  Disk Scheduling Revisited , 1990 .

[12]  Mahmut T. Kandemir,et al.  Revisiting widely held SSD expectations and rethinking system-level implications , 2013, SIGMETRICS '13.

[13]  Peter M. Chen,et al.  Striping in a RAID level 5 disk array , 1995, SIGMETRICS '95/PERFORMANCE '95.

[14]  Alan Jay Smith,et al.  The Real Effect of I / O Optimizations and Disk Improvements , 2003 .

[15]  Sriram Sankar,et al.  Intra-disk Parallelism: An Idea Whose Time Has Come , 2008, 2008 International Symposium on Computer Architecture.

[16]  Helge Parzyjegla,et al.  Improving random write performance in heterogeneous erasure-coded drive arrays by offloading code block requests , 2015, SAC.

[17]  Jan Richling,et al.  The pitfalls of deploying solid-state drive RAIDs , 2011, SYSTOR '11.

[18]  A. L. Narasimha Reddy,et al.  Don't Let RAID Raid the Lifetime of Your SSD Array , 2013, HotStorage.