Abstract
Solid-state drives (SSDs) have been widely used as caching tier for disk-based RAID systems to speed up data-intensive applications. However, traditional cache schemes fail to effectively boost the parity-based RAID storage systems (e.g., RAID-5/6), which have poor random write performance due to the small-write problem. What’s worse, intensive cache writes can wear out the SSD quickly, which causes performance degradation and cost increment. In this article, we present the design and implementation of KDD, an efficient SSD-based caching system which Keeps Data and Deltas in SSD. When write requests hit in the cache, KDD dispatches the data to the RAID storage without updating the parity blocks to mitigate the small write penalty, and compactly stores the compressed deltas in SSD to reduce the cache write traffic while guaranteeing reliability in case of disk failures. In addition, KDD organizes the metadata partition on SSD as a circular log to make the cache persistent with low overhead. We evaluate the performance of KDD via both simulations and prototype implementations. Experimental results show that KDD effectively reduces the small write penalty while extending the lifetime of the SSD-based cache by up to 6.85 times.
Similar content being viewed by others
References
Patterson D A, Gibson G, Katz R H. A case for redundant arrays of inexpensive disks (raid). In: Proceedings of ACM SIGMOD International Conference on Management of Data. 1988, 109–116
Stodolsky D, Gibson G, Holland M. Parity logging overcoming the small write problem in redundant disk arrays. In: Proceedings of Annual International Symposium on Computer Architecture. 1993, 64–75
Yang Q, Ren J. I-CASH: intelligently coupled array of SSD and HDD. In: Proceedings of the 17th IEEE International Symposium on High Performance Computer Architecture. 2011, 278–289
Saxena M, Swift M M, Zhang Y Y. Flashtier: a lightweight, consistent and durable storage cache. In: Proceedings of ACM European Conference on Computer Systems. 2012, 267–280
Liu R S, Yang C L, Li C H, Chen G Y. Duracache: a durable SSD cache using MLC NAND flash. In: Proceedings of the 50th Annual Design Automation Conference. 2013
Li C, Feng D, Hua Y, Wang F. Improving raid performance using an endurable SSD cache. In: Proceedings of International Conference on Parallel Processing. 2016, 396–405
Mao B, Wu S Z. Exploiting request characteristics and internal parallelism to improve SSD performance. In: Proceedings of IEEE International Conference on Computer Design. 2015, 447–450
Mao B, Wu S Z, Duan L D. Improving the SSD performance by exploiting request characteristics and internal parallelism. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2018, 37(2): 472–484
Micheloni R. Solid-state drive (SSD): a nonvolatile storage system. Proceedings of the IEEE, 2017, 105(4): 583–588
Grupp L M, Davis J D, Swanson S. The bleak future of nand flash memory. In: Proceedings of USENIX Conference on File and Storage Technologies. 2012, 17–24
Koller R, Marmol L, Rangaswami R, Sundararaman S, Talagala, Zhao M. Write policies for host-side flash caches. In: Proceedings of USENIX conference on File and Storage Technologies. 2013, 45–58
Lee E, Oh Y, Lee D. SSD caching to overcome small write problem of disk-based raid in enterprise environments. In: Proceedings of Annual ACM Symposium on Applied Computing. 2015, 2047–2053
Chen F, Luo T, Zhang X. CAFUL: a content-aware flash translation layer enhancing the lifespan of flash memory based solid state drives. In: Proceedings of USENIX Conference on File and Stroage Technologies. 2011, 77–90
Yang J P, Plasson N, Gillis G, Talagala N, Sundararaman S, Wood R. HEC: improving endurance of high performance flash-based cache devices. In: Proceedings of the 6th International Systems and Storage Conference. 2013
Li W J, Jean-Baptise G, Riveros J, Narasimhan G, Zhang T, Zhao M. CacheDedup: in-line deduplication for flash caching. In: Proceedings of USENIX Conference on File and Storage Technologies. 2016, 301–314
Chai Y P, Du Z H, Qin X, Bader D A. WEC: improving durability of SSD cache drives by caching write-efficient data. IEEE Transactions on Computers, 2015, 64(11): 3304–3316
Yang Q, Xiao W J, Ren J. Trap-array: a disk array architecture providing timely recovery to any point-in-time. In: Proceedings of Annual International Symposium on Computer Architecture. 2006, 289–301
Morrey C B, Grunwald D. Peabody: the time travelling disk. In: Proceedings of Mass Storage Systems and Technologies. 2003, 241–253
Lee E J, Jang J E, Bahn H. DTFS: exploiting the similarity of data versions to design a write-efficient file system in phase-change memory. In: Proceedings of Annual ACM Symposium on Applied Computing. 2014, 1535–1540
Wu G Y, He X B. Delta-FTL: improving SSD lifetime via exploiting content locality. In: Proceedings of ACM European Conference on Computer Systems. 2012, 253–266
Zhang X B, Le J P, Wang H, Zhao K, Zhang T. Reducing solid-state storage device write stress through opportunistic in-place delta compression. In: Proceedings of USENIX Conference on File and Storage Technologies. 2016, 111–124
Rosenblum M, Ousterhout J K. The design and implementation of a log-structured file system. ACM Transactions on Computer Systems, 1992, 10(1): 26–52
Hu Y M, Yang Q. DCD—disk caching disk: a new approach for boosting I/O performance. In: Proceedings of Annual International Symposium on Computer Architecture. 1996, 169–178
Arteaga D, Zhao M. Client-side flash caching for cloud systems. In: Proceedings of International Conference on Systems and Storage. 2014
Yoon D H, Muralimanohar N, Chang J C, Ranganathan P, Jouppi N P, Erez M. Free-p: protecting non-volatile memory against both hard and soft errors. In: Proceedings of IEEE International Symposium on High Performance Computer Architecture. 2011, 466–477
Qureshi MK, Karidis J, Franceschini M, Srinivasan V, Lastras L, Abali B. Enhancing lifetime and security of PCM-based main memory with start-gap wear leveling. In: Proceedings of the 42nd IEEE/ACM International Symposium on Microarchitecture. 2009, 14–23
Srinivasan M, Callaghan M. Flashcache at facebook. Facebook White Paper, 2010
Application, OLTP I/O. UMass Trace Repository
Narayanan D, Donnelly A, Rowstron A. Write off-loading: practical power management for enterprise storage. ACM Transactions on Storage, 2008, 4(3): 10
Oberhumer M F. Lzo real-time data compression library. 2005
Tian L, Feng D, Jiang H, Zhou K, Zeng L F, Chen J X, Wang Z K, Song Z L. Pro: a popularity-based multi-threaded reconstruction optimization for raid-structured storage systems. In: Proceedings of USENIX Conference on File and Storage Technologies. 2007, 277–290
Axboe J. Fio-flexible I/O tester synthetic benchmark
Andersen D G, Franklin J, Kaminsky M, Phanishayee A, Tan L, Vasudevan V. Fawn: a fast array of wimpy nodes. In: Proceedings of ACM Symposium on Operating Systems Principles. 2009, 1–14
Gough C, Steiner I, Saunders W. Energy Efficient Servers: Blueprints for Data Center Optimization. New York: Apress Media, 2015
Hsu WW, Smith A J. Characteristics of I/O traffic in personal computer and server workloads. IBM Systems Journal, 2003, 42(2): 347–372
Soundararajan G, Prabhakaran V, Balakrishnan M, Wobber T. Extending SSD lifetimes with disk-based write caches. In: Proceedings of USENIX Conference on File and Storage Technologies. 2010, 101–114
Li C, Feng D, Hua Y, Xia W, Wang F. Gasa: a new page replacement algorithm for NAND flash memory. In: Proceedings of IEEE International Conference on Networking, Architecture and Storage. 2016, 1–9
Li Q, Shi L, Xue C J, Wu K J, Ji C, Zhuge Q F, Sha E H M. Access characteristic guided read and write cost regulation for performance improvement on flash memory. In: Proceedings of USENIX Conference on File and Storage Technologies. 2016, 125–132
Savage S, Wilkes J. Afraid: a frequently redundant array of independent disks. In: Proceedings of USENIX Annual Technical Conference. 1996, 27–39
Im S, Shin D. Flash-aware raid techniques for dependable and high-performance flash memory SSD. IEEE Transactions on Coumputers, 2011, 60(1): 80–92
Chung C C, Hsu H H. Partial parity cache and data cache management method to improve the performance of an SSD-based raid. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2013, 22(7): 1470–1480
Mogi K, Kitsuregawa M. Hot mirroring: a method of hiding parity update penalty and degradation during rebuilds for raid5. In: Proceedings of ACM SIGMOD International Conference on Management of Data. 1996, 183–194
Wilkes J, Golding R, Staelin C, Sullivan T. The HP autoraid hierarchical storage system. ACM Transactions on Computer Systems, 1996, 14(1): 108–136
Mogi K, Kitsuregawa M. Dynamic parity stripe reorganizations for raid5 disk arrays. In: Proceedings of International Conference on Parallel and Distributed Information Systems. 1994, 17–26
Byan S, Lentini J, Madan A, Pabón L. Mercury: host-side flash caching for the data center. In: Proceedings of Mass Storage Systems and Technologies. 2012, 1–12
Qin D, Brown A D, Goel A. Reliable writeback for client-side flash caches. In: Proceedings of USENIX Annual Technical Conference. 2014, 451–462
Oh Y, Lee E, Hyun C, Choi J, Lee D, Noh S H. Enabling cost-effective flash based caching with an array of commodity SSDs. In: Proceedings of Annual Middleware Conference. 2015, 63–74
Klonatos Y, Makatos T, Marazakis M, Flouris M D, Bilas A. Transparent online storage compression at the block-level. ACM Transactions on Storage, 2012, 8(2): 5
Li C, Shilane P, Douglis F, Shim H, Smaldone S, Wallace G. Nitro: a capacity-optimized SSD cache for primary storage. In: Proceedings of USENIX Annual Technical Conference. 2014, 501–512
Pritchett T, Thottethodi M. Sievestore: a highly-selective, ensemble-level disk cache for cost-performance. In: Proceedings of Annual International Symposium on Computer Architecture. 2010, 163–174
Huang S, Wei Q S, Chen J X, Chen C, Feng D. Improving flash-based disk cache with lazy adaptive replacement. In: Proceedings of Mass Storage Systems and Technologies. 2013, 1–10
Kgil T, Roberts D, Mudge T. Improving nand flash based disk caches. In: Proceedings of Annual International Symposium on Computer Architecture. 2008, 327–338
Oh Y, Choi J, Lee D, Noh S H. Caching less for better performance: balancing cache size and update cost of flash memory cache in hybrid storage systems. In: Proceedings of USENIX Conference on File and Storage Technologies. 2012, 313–326
Jeong J, Hahn S S, Lee S, Kim J. Lifetime improvement of nand flash-based storage systems using dynamic program and erase scaling. In: Proceedings of USENIX Conference on File and Storage Technologies. 2014, 61–74
Wu S Z, Lin Y P, Mao B, Jiang H. GCaR: garbage collection aware cache management with improved performance for flash-based SSDs. In: Proceedings of International Conference on Supercomputing. 2016
Wu S Z, Mao B, Lin Y P, Jiang H. Improving performance for flash-based storage systems through GC-aware cache management. IEEE Transactions on Parallel and Distributed Systems, 2017, 28(10): 2852–2865
Li C, Feng D, Hua Y, Wang F, Jiang C T, Zhou W. A log-aware synergized scheme for page-level FTL design. In: Proceedings of Design, Automation Test in Europe Conference Exhibition. 2017, 1080–1085
Margaglia F, Yadgar G, Yaakobi E, Li Y, Schuster A, Brinkmann A. The devil is in the details: implementing flash page reuse with WOM codes. In: Proceedings of USENIX Conference on File and Storage Technologies. 2016, 95–109
Acknowledgements
This work was supported by the National High Technology Research and Development Program (863 Program) (2015AA015301), and the National Natural Science Foundation of China (Grant Nos. 61472153, 61502191). The preliminary conference version appears in the Proceedings of the 45th International Conference on Parallel Processing (ICPP), 2016.
Author information
Authors and Affiliations
Corresponding author
Additional information
Chu Li received his BE degree in computer science and technology and the PhD degree in computer architecture from the Huazhong University of Science and Technology, China. His current research interests include file system, RAID storage system, and NAND flash memory, etc.
Dan Feng received the BE, ME, and the PhD degrees in computer science and technology in 1991, 1994, and 1997, respectively, from the Huazhong University of Science and Technology (HUST), China. She is a professor and vice dean of the School of Computer Science and Technology, HUST. Her research interests include computer architecture, massive storage systems, and parallel file systems. She has more than 100 publications in major journals and international conferences, including IEEE-TC, IEEETPDS, ACMTOS, JCST, FAST, USENIX ATC, ICDCS, HPDC, SC, ICS, IPDPS, and ICPP. She serves on the program committees of multiple international conferences, including SC 2011, 2013, and MSST 2012. She is a member of IEEE and a member of ACM.
Yu Hua received the BE and PhD degrees in computer science from Wuhan University, China in 2001 and 2005, respectively. He is an associate professor at the Huazhong University of Science and Technology, China. His research interests include computer architecture, cloud computing, and network storage. He has more than 50 papers to his credit in major journals and international conferences including IEEE Transactions on Computers, IEEE Transactions on Parallel and Distributed Systems, USENIX ATC, INFOCOM, SC, ICDCS, ICPP, and MASCOTS. He has been on the program committees of multiple international conferences, including INFOCOM and ICPP. He is a senior member of the IEEE, and a member of the ACM and USENIX.
Fang Wang received the BE and Master’s degrees in computer science and the PhD degree in computer architecture from the Huazhong University of Science and Technology (HUST), China. She is a professor of computer science and engineering at HUST. Her interests include distribute file systems, parallel I/O storage systems, and graph processing systems.
Electronic supplementary material
Rights and permissions
About this article
Cite this article
Li, C., Feng, D., Hua, Y. et al. A high-performance and endurable SSD cache for parity-based RAID. Front. Comput. Sci. 13, 16–34 (2019). https://doi.org/10.1007/s11704-017-6523-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11704-017-6523-9