Extending SSD Lifespan with Comprehensive Non-Volatile Memory-Based Write Buffers
- 7 Downloads
New non-volatile memory (NVM) technologies are expected to replace main memory DRAM (dynamic random access memory) in the near future. NAND flash technological breakthroughs have enabled wide adoption of solid state drives (SSDs) in storage systems. However, flash-based SSDs, by nature, cannot avoid low endurance problems because each cell only allows a limited number of erasures. This can give rise to critical SSD reliability issues. Since many SSD write operations eventually cause many SSD erase operations, reducing SSD write traffic plays a crucial role in SSD reliability. This paper proposes two NVM-based buffer cache policies which can work together in different layers to maximally reduce SSD write traffic: a main memory buffer cache design named Hierarchical Adaptive Replacement Cache (H-ARC) and an internal SSD write buffer design named Write Traffic Reduction Buffer (WRB). H-ARC considers four factors (dirty, clean, recency, and frequency) to reduce write traffic and improve cache hit ratios in the host. WRB reduces block erasures and write traffic further inside an SSD by effectively exploiting temporal and spatial localities. These two comprehensive schemes significantly reduce total SSD write traffic at each different layer (i.e., host and SSD) by up to 3x. Consequently, they help extend SSD lifespan without system performance degradation.
Keywordsbuffer cache policy write buffer non-volatile memory solid state drive flash memory
Unable to display preview. Download preview PDF.
We specially appreciate Dr. Guanlin Lu (Dell-EMC Corporation, USA)’s valuable comments for this manuscript.
- Fan Z, Haghdoost A, Du D H, Voigt D. I/O-Cache: A non-volatile memory based buffer cache policy to improve storage performance. In Proc. the 23rd IEEE International Symposium on Modeling, Analysis and Simulations of Computer and Telecommunication Systems, October 2015, pp.102-111.Google Scholar
- Fan Z, Wu F, Park D, Diehl J, Voigt D, Du D H. Hibachi: A cooperative hybrid cache with NVRAM and DRAM for storage arrays. In Proc. the 33rd IEEE Symposium on Mass Storage Systems and Technologies, May 2017.Google Scholar
- Fan Z. Improving storage performance with non-volatile memory-based caching systems [Ph.D. Thesis]. University of Minnesota, 2017.Google Scholar
- Lee B C, Ipek E, Mutlo O, Burger D. Architecting phase change memory as a scalable DRAM alternative. In Proc. the 36th Annual International Symposium on Computer Architecture, June 2009, pp.2-13.Google Scholar
- Lee E, Bahn H, Noh S H. Unioning of the buffer cache and journaling layers with nonvolatile memory. In Proc. the 11th USENIX Conference on File and Storage Technologies, February 2013, pp.73-80.Google Scholar
- Wang J, Park D, Papakonstantinou Y, Swanson S. SSD instorage computing for search engines. IEEE Transactions on Computers. doi: https://doi.org/10.1109/TC.2016.2608818.
- Park D, Wang J, Kee Y S. In-storage computing for Hadoop MapReduce framework: Challenges and possibilities. IEEE Transactions on Computers. doi: https://doi.org/10.1109/TC.2016.2595566.
- Kim H, Ahn S. BPLRU: A buffer management scheme for improving random writes in flash storage. In Proc. the 6th USENIX Conference on File and Storage Technologies, February 2008, pp.239-252.Google Scholar
- Wu G, He X, Eckart B. An adaptive write buffer management scheme for flash-based SSDs. ACM Transactions on Storage, 2012, 8(1): Article No. 1.Google Scholar
- Jung H, Shim H, Park S, Kang S, Cha J. LRU-WSR: Integration of LRU and writes sequence reordering for flash memory. IEEE Transactions on Consumer Electronics, 2008, 54(3): 1215-1223.Google Scholar
- Jo H, Kang J, Park S, Kim J, Lee J. FAB: Flash-aware buffer management policy for portable media players. IEEE Transactions on Consumer Electronics, 2006 52(2): 485-493.Google Scholar
- Huang S, Wei Q, Chen J, Chen C, Feng D. Improving flashbased disk cache with lazy adaptive replacement. In Proc. the 29th IEEE Symposium on Mass Storage Systems and Technologies, May 2013, Article No. 7.Google Scholar
- Qiu S, Reddy A L N. NVMFS: A hybrid file system for improving random write in NAND flash SSD. In Proc. the 29th IEEE Symposium on Mass Storage Systems and Technologies, May 2013, Article No. 14.Google Scholar
- Megiddo N, Modha D S. ARC: A self-tuning, low overhead replacement cache. In Proc. the 2nd USENIX on File and Storage Technologies, March 2003, pp.115-130.Google Scholar
- Coughlin T, Grochowski E. Emerging nonvolatile memory and spin logic technology and memory manufacturing report. https://docplayer.net/28315664-2015-emerging-nonvolatile-memory-spin-logic-technology-and-manufacturingreport.html, Dec. 2018.
- Park D, Debnath B, Du D H. CFTL: A convertible flash translation layer adaptive to data access patterns. In Proc. the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, June 2010, pp.365-366.Google Scholar
- Wang J, Lo E, YiuM L, Tong J,Wang G, Liu X. The impact of solid state drive on search engine cache management. In Proc. the 36th International ACM SIGIR Conference on Research and Development in Information Retrieval, July 2013, pp.693-702.Google Scholar
- Park D, Debnath B, Du D H. A dynamic switching flash translation layer based on a page-level mapping. IEICE Transactions on Information and Systems, 2016, E99D(6): 1502-1511.Google Scholar
- Murugan M, Du D H. Rejuvenator: A static wear leveling algorithm for NAND flash memory with minimized overhead. In Proc. the 27th IEEE Symposium on Mass Storage Systems and Technologies, May 2011.Google Scholar
- Agrawal N, Prabhakaran V, Wobber T, Davis J, Manasse M, Panigrahy R. Design tradeoffs for SSD performance. In Proc. USENIX Annual Technical Conference, June 2008, pp.57–70.Google Scholar
- Park D, Debnath B, Du D H. A workload-aware adaptive hybrid flash translation layer with an efficient caching strategy. In Proc. the 19th IEEE International Symposium on Modeling, Analysis and Simulations of Computer and Telecommunication Systems, July 2011, pp.248-255.Google Scholar
- Chang L, Kuo T. An adaptive striping architecture for flash memory storage systems of embedded systems. In Proc. the 8th IEEE Real-Time and Embedded Technology and Applications Symposium, August 2007, pp.187-196.Google Scholar
- Jung D, Chae Y, Jo H, Kim J, Lee J. A group-based wearleveling algorithm for large capacity flash memory storage systems. In Proc. ACM International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, September 2007, pp.160-164.Google Scholar
- Chang L. On efficient wear leveling for large-scale flash memory storage systems. In Proc. the 22nd ACM Symposium on Applied Computing, March 2007, pp.1126-1130.Google Scholar
- Kang J, Jo H, Kim J, Lee J. A superblock-based flash translation layer for NAND flash memory. In Proc. ACM International Conference on Embedded Software, October 2006, pp.161-170.Google Scholar
- Elliott J, Jung E S. Ushering in the 3D memory era with VNAND. 2013. https://www.Flashmemorysummit.com/English/Collaterals/Proceedings/2013/20130813_KeynoteB_Elliot_Jung.pdf, September 2018.
- Qureshi M K, Srinivasan V, Rivers J A. Scalable high performance main memory system using phase-change memory technology. In Proc. the 36th Annual International Symposium on Computer Architecture, June 2009, pp.24-33.Google Scholar
- Zhang W, Li T. Exploring phase change memory and 3D die-stacking for power/thermal friendly, fast and durable memory architectures. In Proc. the 18th International Conference on Parallel Architectures and Compilation Techniques, September 2009, pp.101-112.Google Scholar
- Sohail H B, Vamanan B, Vijaykumar T N. MigrantStore: Leveraging virtual memory in DRAM-PCM memory architecture. Technical Report, Purdue University, 2012. https://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1-428&context=ecetr, September 2018.
- Ramos L, Gorbatov E, Bianchini R. Page placement in hybrid memory systems. In Proc. the 25th International Conference on Supercomputing, May 2011, pp.85-95.Google Scholar
- Wu X, Reddy A L N. SCMFS: A file system for storage class memory. In Proc. the International Conference for High Performance Computing, Networking, Storage and Analysis, November 2011, Article No. 39.Google Scholar
- Freitas R. Storage class memory: Technology, systems and applications. In Proc. IEEE Hot Chips Symposium, August 2010.Google Scholar
- Gallagher W J, Parkin S S P. Development of the magnetic tunnel junction MRAM at IBM: From first junctions to a 16-Mb MRAM demonstrator chip. IBM Journal of Research and Development, 2006, 50(1): 5-23.Google Scholar
- Kawahara T, Ito K, Takemura R, Ohno H. Spin-transfer torque RAM technology: Review and prospect. Microelectronics Reliability, 2012, 52(4): 613-627.Google Scholar
- Waser R, Dittmann R, Staikov G, Szot K. Redoxbased resistive switching memories — Nanoionic mechanisms, prospects, and challenges. Advanced Materials, 2009, 21(25/26): 2632-2663.Google Scholar
- Bourzac K. Has Intel created a universal memory technology? IEEE Spectrum, 2017, 54(5): 9-10.Google Scholar
- Fan Z, Du D H, Voigt D. H-ARC: A non-volatile memory based cache policy for solid state drives. In Proc. the 30th IEEE Symposium on Mass Storage Systems and Technologies, June 2014, Article No. 16.Google Scholar
- Belady A. A study of replacement algorithms for virtual storage computers. IBM Systems Journal, 1966, 5(2): 78-101.Google Scholar
- Mattson R L, Gecsei J, Slutz D R, Traiger I L. Evaluation techniques for storage hierarchies. IBM Systems Journal, 1970, 9(2): 78-117.Google Scholar
- Aho V, Denning J, Ullman D. Principles of optimal page replacement. Journal of the ACM, 1971, 18(1): 80-93.Google Scholar
- Cheng Y, Douglis F, Shilane P, Trachtman M, Wallace G, Desnoyers P, Li K. Erasing Belady’s limitations: In search of flash cache offline optimality. In Proc. USENIX Annual Technical Conference, June 2016, pp.379-392.Google Scholar
- Park S, Jung D, Kang J, Kim J, Lee J. CFLRU: A replacement algorithm for flash memory. In Proc. International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, October 2006, pp.234-241.Google Scholar
- Debnath B, Subramanya S, Du D H, Lilja D J. Large block CLOCK (LB-CLOCK): A write caching algorithm for solid state disks. In Proc. the 17th IEEE International Symposium on Modeling, Analysis and Simulations of Computer and Telecommunication Systems, September 2009, Article No. 28.Google Scholar
- Wang J, Park D, Kee Y S, Papakonstantinou Y, Swanson S. SSD in-storage computing for list intersection. In Proc. the 12th International Workshop on Data Management on New Hardware, June 2016, Article No. 4.Google Scholar
- Narayanan D, Donnelly A, Rowstron A I T. Write offloading: Practical power management for enterprise storage. In Proc. the 6th USENIX Conference on File and Storage Technologies, February 2008, pp.253-267.Google Scholar