Improving performance and lifetime of the SSD RAID-based host cache through a log-structured approach

This paper proposes a cost-effective and reliable SSD host cache solution that we call SRC (SSD RAID Cache). Cost-effectiveness is brought about by using multiple low-cost SSDs and reliability is enhanced through RAID-based data redundancy. RAID, however, is managed in a log-structured manner on multiple SSDs effectively eliminating the detrimental read-modify-write operations found in conventional RAID-5. Within the proposed framework, we also propose to eliminate parity blocks for stripes that are composed of clean blocks as the original data resides in primary storage. We also propose the use of destaging, instead of garbage collection, to make space in the cache when the SSD cache is full. We show that the proposed techniques have significant implications on the performance of the cache and lifetime of the SSDs that comprise the cache. Finally, we study various ways in which stripes can be formed based on data and parity block allocation policies. Our experimental results using different realistic I/O workloads show using the SRC scheme is on average 59% better than the conventional SSD cache scheme supporting RAID-5. In case of lifetime, our results show that SRC reduces the erase count of the SSD drives by an average of 47% compared to the RAID-5 scheme.

[1]  Mithuna Thottethodi,et al.  SieveStore: a highly-selective, ensemble-level disk cache for cost-performance , 2010, ISCA '10.

[2]  Jongmoo Choi,et al.  Caching less for better performance: balancing cache size and update cost of flash memory cache in hybrid storage systems , 2012, FAST.

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

[4]  Steve Byan,et al.  Mercury: Host-side flash caching for the data center , 2012, 012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST).

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

[6]  Masaru Kitsuregawa,et al.  Dynamic parity stripe reorganizations for RAID5 disk arrays , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[7]  Prasant Mohapatra,et al.  Performance study of RAID-5 disk arrays with data and parity cache , 1996, Proceedings of the 1996 ICPP Workshop on Challenges for Parallel Processing.

[8]  Michael M. Swift,et al.  FlashTier: a lightweight, consistent and durable storage cache , 2012, EuroSys '12.

[9]  Junghee Lee,et al.  Harmonia: A globally coordinated garbage collector for arrays of Solid-State Drives , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).

[10]  Feng Chen,et al.  Hystor: making the best use of solid state drives in high performance storage systems , 2011, ICS '11.

[11]  Carl Staelin,et al.  The HP AutoRAID hierarchical storage system , 1995, SOSP.

[12]  Daniel Stodolsky,et al.  Parity logging overcoming the small write problem in redundant disk arrays , 1993, ISCA '93.

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

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

[15]  Qi Zhang,et al.  Characterization of storage workload traces from production Windows Servers , 2008, 2008 IEEE International Symposium on Workload Characterization.

[16]  Asim Kadav,et al.  Differential RAID: rethinking RAID for SSD reliability , 2010, OPSR.

[17]  Jaishankar Moothedath Menon,et al.  A performance comparison of RAID-5 and log-structured arrays , 1995, Proceedings of the Fourth IEEE International Symposium on High Performance Distributed Computing.

[18]  Dongkun Shin,et al.  NAND Flash-Based Disk Cache Using SLC/MLC Combined Flash Memory , 2010, 2010 International Workshop on Storage Network Architecture and Parallel I/Os.

[19]  Antony I. T. Rowstron,et al.  Migrating server storage to SSDs: analysis of tradeoffs , 2009, EuroSys '09.

[20]  Ming Zhao,et al.  Write policies for host-side flash caches , 2013, FAST.

[21]  Trevor N. Mudge,et al.  Improving NAND Flash Based Disk Caches , 2008, 2008 International Symposium on Computer Architecture.