Advertisement

Frontiers of Computer Science

, Volume 13, Issue 1, pp 16–34 | Cite as

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

  • Chu Li
  • Dan FengEmail author
  • Yu Hua
  • Fang Wang
Research Article
  • 20 Downloads

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.

Keywords

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Notes

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.

Supplementary material

11704_2017_6523_MOESM1_ESM.ppt (192 kb)
Supplementary material, approximately 190 KB.

References

  1. 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–116Google Scholar
  2. 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–75Google Scholar
  3. 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–289Google Scholar
  4. 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–280Google Scholar
  5. 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. 2013Google Scholar
  6. 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–405Google Scholar
  7. 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–450Google Scholar
  8. 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–484CrossRefGoogle Scholar
  9. 9.
    Micheloni R. Solid-state drive (SSD): a nonvolatile storage system. Proceedings of the IEEE, 2017, 105(4): 583–588MathSciNetCrossRefGoogle Scholar
  10. 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–24Google Scholar
  11. 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–58Google Scholar
  12. 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–2053CrossRefGoogle Scholar
  13. 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–90Google Scholar
  14. 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. 2013Google Scholar
  15. 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–314Google Scholar
  16. 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–3316MathSciNetCrossRefGoogle Scholar
  17. 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–301Google Scholar
  18. 18.
    Morrey C B, Grunwald D. Peabody: the time travelling disk. In: Proceedings of Mass Storage Systems and Technologies. 2003, 241–253Google Scholar
  19. 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–1540Google Scholar
  20. 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–266Google Scholar
  21. 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–124Google Scholar
  22. 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–52CrossRefGoogle Scholar
  23. 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–178Google Scholar
  24. 24.
    Arteaga D, Zhao M. Client-side flash caching for cloud systems. In: Proceedings of International Conference on Systems and Storage. 2014Google Scholar
  25. 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–477Google Scholar
  26. 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–23Google Scholar
  27. 27.
    Srinivasan M, Callaghan M. Flashcache at facebook. Facebook White Paper, 2010Google Scholar
  28. 28.
    Application, OLTP I/O. UMass Trace RepositoryGoogle Scholar
  29. 29.
    Narayanan D, Donnelly A, Rowstron A. Write off-loading: practical power management for enterprise storage. ACM Transactions on Storage, 2008, 4(3): 10CrossRefGoogle Scholar
  30. 30.
    Oberhumer M F. Lzo real-time data compression library. 2005Google Scholar
  31. 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–290Google Scholar
  32. 32.
    Axboe J. Fio-flexible I/O tester synthetic benchmarkGoogle Scholar
  33. 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–14Google Scholar
  34. 34.
    Gough C, Steiner I, Saunders W. Energy Efficient Servers: Blueprints for Data Center Optimization. New York: Apress Media, 2015CrossRefGoogle Scholar
  35. 35.
    Hsu WW, Smith A J. Characteristics of I/O traffic in personal computer and server workloads. IBM Systems Journal, 2003, 42(2): 347–372CrossRefGoogle Scholar
  36. 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–114Google Scholar
  37. 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–9Google Scholar
  38. 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–132Google Scholar
  39. 39.
    Savage S, Wilkes J. Afraid: a frequently redundant array of independent disks. In: Proceedings of USENIX Annual Technical Conference. 1996, 27–39Google Scholar
  40. 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–92MathSciNetCrossRefzbMATHGoogle Scholar
  41. 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–1480CrossRefGoogle Scholar
  42. 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–194Google Scholar
  43. 43.
    Wilkes J, Golding R, Staelin C, Sullivan T. The HP autoraid hierarchical storage system. ACM Transactions on Computer Systems, 1996, 14(1): 108–136CrossRefGoogle Scholar
  44. 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–26CrossRefGoogle Scholar
  45. 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–12Google Scholar
  46. 46.
    Qin D, Brown A D, Goel A. Reliable writeback for client-side flash caches. In: Proceedings of USENIX Annual Technical Conference. 2014, 451–462Google Scholar
  47. 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–74CrossRefGoogle Scholar
  48. 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): 5CrossRefGoogle Scholar
  49. 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–512Google Scholar
  50. 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–174Google Scholar
  51. 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–10Google Scholar
  52. 52.
    Kgil T, Roberts D, Mudge T. Improving nand flash based disk caches. In: Proceedings of Annual International Symposium on Computer Architecture. 2008, 327–338Google Scholar
  53. 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–326Google Scholar
  54. 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–74Google Scholar
  55. 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. 2016Google Scholar
  56. 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–2865CrossRefGoogle Scholar
  57. 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–1085Google Scholar
  58. 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–109Google Scholar

Copyright information

© Higher Education Press and Springer-Verlag GmbH Germany, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Wuhan National Lab for Optoelectronics, Key Laboratory of Information Storage System, (School of Computer Science and Technology, Huazhong University of Science and Technology), Ministry of Education of ChinaWuhanChina

Personalised recommendations