Skip to main content
Log in

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

  • Research Article
  • Published:
Frontiers of Computer Science Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

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

    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

    Google Scholar 

  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

    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

    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

    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

    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

    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

    Article  Google Scholar 

  9. Micheloni R. Solid-state drive (SSD): a nonvolatile storage system. Proceedings of the IEEE, 2017, 105(4): 583–588

    Article  MathSciNet  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

    Google Scholar 

  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

    Google Scholar 

  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

    Chapter  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

    Google Scholar 

  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

    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

    Google Scholar 

  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

    Article  MathSciNet  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

    Google Scholar 

  18. Morrey C B, Grunwald D. Peabody: the time travelling disk. In: Proceedings of Mass Storage Systems and Technologies. 2003, 241–253

    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

    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

    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

    Google Scholar 

  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

    Article  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

    Google Scholar 

  24. Arteaga D, Zhao M. Client-side flash caching for cloud systems. In: Proceedings of International Conference on Systems and Storage. 2014

    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

    Google Scholar 

  26. 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

    Google Scholar 

  27. Srinivasan M, Callaghan M. Flashcache at facebook. Facebook White Paper, 2010

    Google Scholar 

  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

    Article  Google Scholar 

  30. Oberhumer M F. Lzo real-time data compression library. 2005

    Google Scholar 

  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

    Google Scholar 

  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

    Google Scholar 

  34. Gough C, Steiner I, Saunders W. Energy Efficient Servers: Blueprints for Data Center Optimization. New York: Apress Media, 2015

    Book  Google Scholar 

  35. Hsu WW, Smith A J. Characteristics of I/O traffic in personal computer and server workloads. IBM Systems Journal, 2003, 42(2): 347–372

    Article  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

    Google Scholar 

  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

    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

    Google Scholar 

  39. Savage S, Wilkes J. Afraid: a frequently redundant array of independent disks. In: Proceedings of USENIX Annual Technical Conference. 1996, 27–39

    Google Scholar 

  40. 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

    Article  MathSciNet  MATH  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

    Article  Google Scholar 

  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

    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

    Article  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

    Chapter  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

    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

    Google Scholar 

  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

    Chapter  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

    Article  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

    Google Scholar 

  50. 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

    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

    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

    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

    Google Scholar 

  54. 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

    Google Scholar 

  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

    Google Scholar 

  56. 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

    Article  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

    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

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Dan Feng.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11704-017-6523-9

Keywords

Navigation