ABSTRACT
This paper studies how RAID (redundant array of independent disks) could take full advantage of modern SSDs (solid-state drives) with built-in transparent compression. In current practice, RAID users are forced to choose a specific RAID level (e.g., RAID 10 or RAID 5) with a fixed storage cost vs. speed performance trade-off. The commercial market is witnessing the emergence of a new family of SSDs that can internally perform hardware-based lossless compression on each 4KB LBA (logical block address) block, transparent to host OS and user applications. Beyond straightforwardly reducing the RAID storage cost, such modern SSDs make it possible to relieve RAID users from being locked into a fixed storage cost vs. speed performance trade-off. In particular, RAID systems could opportunistically leverage higher-than-expected runtime user data compressibility to enable dynamic RAID level conversion to improve the speed performance without compromising the effective storage capacity. This paper presents techniques to enable and optimize the practical implementation of such elastic RAID systems. We implemented a Linux software-based elastic RAID prototype that supports dynamic conversion between RAID 5 and RAID 10. Compared with a baseline software-based RAID 5, under sufficient runtime data compressibility that enables the conversion from RAID 5 to RAID 10 over 60% of user data, the elastic RAID could improve the 4KB random write IOPS (I/O per second) by 42% and 4KB random read IOPS in degraded mode by 46%, while maintaining the same effective storage capacity.
- Mohammadamin Ajdari, Pyeongsu Park, Joonsung Kim, Dongup Kwon, and Jangwoo Kim. 2019. CIDR: A cost-effective in-line data reduction system for terabit-per-second scale SSD arrays. In IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 28--41.Google ScholarCross Ref
- Sung Hoon Baek, Bong Wan Kim, Eui Joung Joung, and Chong Won Park. 2001. Reliability and performance of hierarchical RAID with multiple controllers. In ACM symposium on Principles of Distributed Computing. 246--254.Google ScholarDigital Library
- Mahesh Balakrishnan, Asim Kadav, Vijayan Prabhakaran, and Dahlia Malkhi. 2010. Differential raid: Rethinking raid for SSD reliability. ACM Transactions on Storage (TOS) 6, 2 (2010), 1--22.Google ScholarDigital Library
- Jeff Bonwick, Matt Ahrens, Val Henson, Mark Maybee, and Mark Shellenbaum. 2003. The zettabyte file system. In Proceedings of the Usenix Conference on File and Storage Technologies (FAST), Vol. 215.Google Scholar
- Broadcom RAID Controller Cards. [n.d.].. https://www.broadcom.com/products/storage/raid-controllers.Google Scholar
- Michael Burrows, Charles Jerian, Butler Lampson, and Timothy Mann. 1992. On-line data compression in a log-structured file system. ACM SIGPLAN Notices 27, 9 (1992), 2--9.Google ScholarDigital Library
- Idan Burstein. 2021. Nvidia Data Center Processing Unit (DPU) Architecture. In IEEE Hot Chips Symposium (HCS). 1--20. Google ScholarCross Ref
- Canterbury Corpus. [n.d.]. . https://corpus.canterbury.ac.nz.Google Scholar
- Helen HW Chan, Yongkun Li, Patrick PC Lee, and Yinlong Xu. 2018. Elastic Parity Logging for SSD RAID Arrays: Design, Analysis, and Implementation. IEEE Transactions on Parallel and Distributed Systems 29, 10 (2018), 2241--2253.Google ScholarCross Ref
- Feng Chen, Tian Luo, and Xiaodong Zhang. 2011. CAFTL: A Content-Aware Flash Translation Layer Enhancing the Lifespan of Flash Memory based Solid State Drives.. In Proceedings of USENIX Conference on File and Storage Technologies (FAST), Vol. 11. 77--90.Google Scholar
- Peter M Chen, Edward K Lee, Garth A Gibson, Randy H Katz, and David A Patterson. 1994. RAID: High-performance, reliable secondary storage. ACM Computing Surveys (CSUR) 26, 2 (1994), 145--185.Google ScholarDigital Library
- Xubin Chen, Yin Li, Jingpeng Hao, Hyunsuk Shin, Michael Suh, and Tong Zhang. 2019. Simultaneously reducing cost and improving performance of NVM-based block devices via transparent data compression. In Proceedings of the International Symposium on Memory Systems. 331--341.Google ScholarDigital Library
- Xubin Chen, Ning Zheng, Shukun Xu, Yifan Qiao, Yang Liu, Jiangpeng Li, and Tong Zhang. 2021. KallaxDB: A Table-less Hash-based Key-Value Store on Storage Hardware with Built-in Transparent Compression. In Proceedings of the International Workshop on Data Management on New Hardware (DaMoN). 1--10.Google ScholarDigital Library
- Derek Chiou, Eric Chung, and Susan Carrie. 2019. (Cloud) Acceleration at Microsoft. Tutorial at Hot Chips (2019).Google Scholar
- Dhananjoy Das, Dulcardo Arteaga, Nisha Talagala, Torben Mathiasen, and Jan Lindström. 2014. NVM Compression-Hybrid Flash-Aware Application Level Compression.. In Workshop on Interactions of NVM/Flash with Operating Systems and Workloads (INFLOW).Google Scholar
- Dell EMC PowerMax. [n.d.]. . https://delltechnologies.com/.Google Scholar
- Jon Elerath and Michael Pecht. 2008. A highly accurate method for assessing reliability of redundant arrays of inexpensive disks (RAID). IEEE Trans. Comput. 58, 3 (2008), 289--299.Google ScholarDigital Library
- Jon G Elerath and Jiri Schindler. 2014. Beyond MTTDL: A closed-form RAID 6 reliability equation. ACM Transactions on Storage (TOS) 10, 2 (2014), 1--21.Google ScholarDigital Library
- Flexible I/O Tester. [n.d.]. . https://github.com/axboe/fio.Google Scholar
- E. F. Haratsch. 2019. SSD with Compression: Implementation, Interface and Use Case. In Flash Memory Summit.Google Scholar
- Mark Holland and Garth A Gibson. 1992. Parity declustering for continuous operation in redundant disk arrays. ACM SIGPLAN Notices 27, 9 (1992), 23--35.Google ScholarDigital Library
- HPE Nimble Storage. [n.d.]. . https://www.hpe.com/.Google Scholar
- Jian Huang, Anirudh Badam, Moinuddin K Qureshi, and Karsten Schwan. 2015. Unified address translation for memory-mapped SSDs with FlashMap. In Proceedings of the International Symposium on Computer Architecture (ISCA). 580--591.Google ScholarDigital Library
- IBM Storwize. [n.d.]. . https://www.ibm.com/.Google Scholar
- Soojun Im and Dongkun Shin. 2010. Flash-aware RAID techniques for dependable and high-performance flash memory SSD. IEEE Trans. Comput. 60, 1 (2010), 80--92.Google ScholarDigital Library
- William K Josephson, Lars A Bongo, Kai Li, and David Flynn. 2010. DFS: A file system for virtualized flash storage. ACM Transactions on Storage (TOS) 6, 3 (2010), 1--25.Google ScholarDigital Library
- Yannis Klonatos, Thanos Makatos, Manolis Marazakis, Michail D Flouris, and Angelos Bilas. 2012. Transparent online storage compression at the block-level. ACM Transactions on Storage (TOS) 8, 2 (2012), 1--33.Google ScholarDigital Library
- Yongkun Li, Patrick PC Lee, and John CS Lui. 2013. Stochastic analysis on RAID reliability for solid-state drives. In IEEE International Symposium on Reliable Distributed Systems. 71--80.Google ScholarDigital Library
- Linux mdraid. [n.d.]. . https://raid.wiki.kernel.org/.Google Scholar
- Fumio Machida, Ruofan Xia, and Kishor S Trivedi. 2015. Performability modeling for RAID storage systems by Markov regenerative process. IEEE Transactions on Dependable and Secure Computing 15, 1 (2015), 138--150.Google ScholarCross Ref
- Sangwhan Moon and AL Narasimha Reddy. 2013. Don't Let RAID Raid the Lifetime of Your SSD Array. In USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage).Google Scholar
- Richard R. Muntz and John C. S. Lui. 1990. Performance Analysis of Disk Arrays under Failure. In International Conference on Very Large Data Bases (VLDB). 162--173.Google Scholar
- N. Muppalaneni and K. Gopinath. 2000. A multi-tier RAID storage system with RAID1 and RAID5. In Proceedings of International Parallel and Distributed Processing Symposium (IPDPS). 663--671. Google ScholarCross Ref
- David A Patterson, Garth Gibson, and Randy H Katz. 1988. A case for redundant arrays of inexpensive disks (RAID). In Proceedings of the ACM international conference on Management of data (SIGMOD). 109--116.Google ScholarDigital Library
- Pure Storage FlashBlade. [n.d.]. . https://www.purestorage.com/.Google Scholar
- Yifan Qiao, Xubin Chen, Ning Zheng, Jiangpeng Li, Yang Liu, and Tong Zhang. 2022. Closing the B+-tree vs. LSM-tree Write Amplification Gap on Modern Storage Hardware with Built-in Transparent Compression. In USENIX Conference on File and Storage Technologies (FAST). 1--14.Google Scholar
- RAIDIX. [n.d.]. . https://www.raidix.com.Google Scholar
- Ohad Rodeh, Josef Bacik, and Chris Mason. 2013. BTRFS: The Linux B-tree filesystem. ACM Transactions on Storage (TOS) 9, 3 (2013), 1--32.Google ScholarDigital Library
- Mohit Saxena, Michael M Swift, and Yiying Zhang. 2012. FlashTier: a lightweight, consistent and durable storage cache. In Proceedings of the ACM European conference on Computer Systems. 267--280.Google ScholarDigital Library
- ScaleFlux Computational Storage. [n.d.]. . http://scaleflux.com.Google Scholar
- Abraham Silberschatz, Peter B Galvin, and Greg Gagne. 2013. Operating system concepts essentials. Wiley Publishing.Google Scholar
- Silesia Corpus. [n.d.]. . https://github.com/MiloszKrajewski/SilesiaCorpus.Google Scholar
- Kiran Srinivasan, Timothy Bisson, Garth R Goodson, and Kaladhar Voruganti. 2012. iDedup: latency-aware, inline data deduplication for primary storage.. In USENIX Conference on File and Storage Technologies (FAST). 1--14.Google Scholar
- Alexander Thomasian and Mario Blaum. 2009. Higher reliability redundant disk arrays: Organization, operation, and coding. ACM Transactions on Storage (TOS) 5, 3 (2009), 1--59.Google ScholarDigital Library
- Derek Vadala. 2002. Managing RAID on Linux: Fast, Scalable, Reliable Data Storage. O'Reilly Media, Inc.Google Scholar
- Virtual Data Optimizer (VDO). [n.d.]. . https://github.com/dm-vdo/vdo.Google Scholar
- Jiguang Wan, Jibin Wang, Qing Yang, and Changsheng Xie. 2010. S2-RAID: A new RAID architecture for fast data recovery. In IEEE Symposium on Mass Storage Systems and Technologies (MSST). 1--9.Google ScholarDigital Library
- Yan Wang, Xunrui Yin, and Xin Wang. 2014. MDR codes: A new class of RAID-6 codes with optimal rebuilding and encoding. IEEE Journal on Selected Areas in Communications 32, 5 (2014), 1008--1018.Google ScholarCross Ref
- John Wilkes, Richard Golding, Carl Staelin, and Tim Sullivan. 1996. The HP AutoRAID hierarchical storage system. ACM Transactions on Computer Systems (TOCS) 14, 1 (1996), 108--136.Google ScholarDigital Library
- Guanying Wu and Xubin He. 2012. Delta-FTL: improving SSD lifetime via exploiting content locality. In Proceedings of the 7th ACM European Conference on Computer Systems (EuroSys). 253--266.Google ScholarDigital Library
- Liping Xiang, Yinlong Xu, John CS Lui, and Qian Chang. 2010. Optimal recovery of single disk failure in RDP code storage systems. ACM SIGMETRICS Performance Evaluation Review 38, 1 (2010), 119--130.Google ScholarDigital Library
- zlib. [n.d.]. . http://zlib.net.Google Scholar
- Aviad Zuck, Sivan Toledo, Dmitry Sotnikov, and Danny Harnik. 2014. Compression and SSDs: Where and how?. In Workshop on Interactions of NVM/Flash with Operating Systems and Workloads (INFLOW).Google Scholar
Index Terms
- Elastic RAID: Implementing RAID over SSDs with Built-in Transparent Compression
Recommendations
Differential RAID: rethinking RAID for SSD reliability
EuroSys '10: Proceedings of the 5th European conference on Computer systemsSSDs exhibit very different failure characteristics compared to hard drives. In particular, the Bit Error Rate (BER) of an SSD climbs as it receives more writes. As a result, RAID arrays composed from SSDs are subject to correlated failures. By ...
Hybrid S-RAID: A Power-Aware Archival Storage Architecture
PDCAT '12: Proceedings of the 2012 13th International Conference on Parallel and Distributed Computing, Applications and TechnologiesSemi-RAID (S-RAID) is an alternative RAID data layout for applications that exhibit sequential data access pattern in order to reduce power consumption of storage systems. However, it is not design for archival storage specially, and that makes it not ...
Differential RAID: Rethinking RAID for SSD reliability
SSDs exhibit very different failure characteristics compared to hard drives. In particular, the bit error rate (BER) of an SSD climbs as it receives more writes. As a result, RAID arrays composed from SSDs are subject to correlated failures. By ...
Comments