A high-performance and endurable SSD cache for parity-based RAID

Chu LI, Dan FENG, Yu HUA, Fang WANG

PDF(1049 KB)
PDF(1049 KB)
Front. Comput. Sci. ›› 2019, Vol. 13 ›› Issue (1) : 16-34. DOI: 10.1007/s11704-017-6523-9
RESEARCH ARTICLE

A high-performance and endurable SSD cache for parity-based RAID

Author information +
History +

Abstract

Solid-state drives (SSDs) have been widely used as caching tier for disk-based RAID systems to speed up dataintensive 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.

Keywords

solid-state drive (SSD) / parity-based RAID / small write problem / write endurance

Cite this article

Download citation ▾
Chu LI, Dan FENG, Yu HUA, Fang WANG. A high-performance and endurable SSD cache for parity-based RAID. Front. Comput. Sci., 2019, 13(1): 16‒34 https://doi.org/10.1007/s11704-017-6523-9

References

[1]
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
CrossRef Google scholar
[2]
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
[3]
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
CrossRef Google scholar
[4]
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
CrossRef Google scholar
[5]
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
CrossRef Google scholar
[6]
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
CrossRef Google scholar
[7]
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
CrossRef Google scholar
[8]
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
CrossRef Google scholar
[9]
Micheloni R. Solid-state drive (SSD): a nonvolatile storage system. Proceedings of the IEEE, 2017, 105(4): 583–588
CrossRef Google scholar
[10]
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
[11]
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
[12]
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
CrossRef Google scholar
[13]
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
[14]
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
CrossRef Google scholar
[15]
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
[16]
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
CrossRef Google scholar
[17]
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
CrossRef Google scholar
[18]
Morrey C B, Grunwald D. Peabody: the time travelling disk. In: Proceedings of Mass Storage Systems and Technologies. 2003, 241–253
CrossRef Google scholar
[19]
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
CrossRef Google scholar
[20]
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
CrossRef Google scholar
[21]
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
[22]
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
CrossRef Google scholar
[23]
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
CrossRef Google scholar
[24]
Arteaga D, Zhao M. Client-side flash caching for cloud systems. In: Proceedings of International Conference on Systems and Storage. 2014
CrossRef Google scholar
[25]
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
CrossRef Google scholar
[26]
Qureshi M K, 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
CrossRef Google scholar
[27]
Srinivasan M, Callaghan M. Flashcache at facebook. Facebook White Paper, 2010
[28]
Application, OLTP I/O. UMass Trace Repository
[29]
Narayanan D, Donnelly A, Rowstron A. Write off-loading: practical power management for enterprise storage. ACM Transactions on Storage, 2008, 4(3): 10
CrossRef Google scholar
[30]
Oberhumer M F. Lzo real-time data compression library. 2005
[31]
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
[32]
Axboe J. Fio- flexible I/O tester synthetic benchmark
[33]
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
CrossRef Google scholar
[34]
Gough C, Steiner I, Saunders W. Energy Efficient Servers: Blueprints for Data Center Optimization. New York: Apress Media, 2015
CrossRef Google scholar
[35]
Hsu W W, Smith A J. Characteristics of I/O traffic in personal computer and server workloads. IBM Systems Journal, 2003, 42(2): 347–372
CrossRef Google scholar
[36]
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
[37]
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
CrossRef Google scholar
[38]
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
[39]
Savage S, Wilkes J. Afraid: a frequently redundant array of independent disks. In: Proceedings of USENIX Annual Technical Conference. 1996, 27–39
[40]
Im S, Shin D. Flash-aware raid techniques for dependable and highperformance flash memory SSD. IEEE Transactions on Coumputers, 2011, 60(1): 80–92
CrossRef Google scholar
[41]
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
[42]
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
CrossRef Google scholar
[43]
Wilkes J, Golding R, Staelin C, Sullivan T. The HP autoraid hierarchical storage system. ACM Transactions on Computer Systems, 1996, 14(1): 108–136
CrossRef Google scholar
[44]
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
CrossRef Google scholar
[45]
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
CrossRef Google scholar
[46]
Qin D, Brown A D, Goel A. Reliable writeback for client-side flash caches. In: Proceedings of USENIX Annual Technical Conference. 2014, 451–462
[47]
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
CrossRef Google scholar
[48]
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
CrossRef Google scholar
[49]
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
[50]
Pritchett T, Thottethodi M. Sievestore: a highly-selective, ensemblelevel disk cache for cost-performance. In: Proceedings of Annual International Symposium on Computer Architecture. 2010, 163–174
CrossRef Google scholar
[51]
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
CrossRef Google scholar
[52]
Kgil T, Roberts D, Mudge T. Improving nand flash based disk caches. In: Proceedings of Annual International Symposium on Computer Architecture. 2008, 327–338
CrossRef Google scholar
[53]
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
[54]
Jeong J, Hahn S S, Lee S, Kim J. Lifetime improvement of nand flashbased storage systems using dynamic program and erase scaling. In: Proceedings of USENIX Conference on File and Storage Technologies. 2014, 61–74
[55]
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
CrossRef Google scholar
[56]
Wu S Z, Mao B, Lin Y P, Jiang H. Improving performance for flashbased storage systems through GC-aware cache management. IEEE Transactions on Parallel and Distributed Systems, 2017, 28(10): 2852–2865
CrossRef Google scholar
[57]
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
CrossRef Google scholar
[58]
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

RIGHTS & PERMISSIONS

2018 Higher Education Press and Springer-Verlag GmbH Germany, part of Springer Nature
AI Summary AI Mindmap
PDF(1049 KB)

Accesses

Citations

Detail

Sections
Recommended

/