skip to main content
research-article
Public Access

Improving Write Performance and Extending Endurance of Object-Based NAND Flash Devices

Published:14 November 2017Publication History
Skip Abstract Section

Abstract

Write amplification is a major cause of performance and endurance degradations in NAND flash-based storage systems. In an object-based NAND flash device (ONFD), two causes of write amplification are onode partial update and cascading update. Here, onode is a type of small-sized object metadata, and multiple onodes are stored in one NAND flash page. Updating one onode invokes partial page update (i.e., onode partial update), incurring unnecessary migration of the un-updated data. Cascading update denotes updating object metadata in a cascading manner due to object data update or migration. Although there are only several bytes that need to be updated in the object metadata, one or more pages have to be re-written accordingly. In this work, we propose a system design to alleviate the write amplification issue in the object-based NAND flash device. The proposed design includes (1) a multi-level garbage collection technique to minimize unnecessary data migration incurred by onode partial update and (2) a B+ table tree, Semantics-Aware Flexible (SAF) data layout, and selective cache design to reduce the write operations associated with cascading update. To guarantee system consistency, we also propose a power failure handling technique. Experiment results show that our proposed design can achieve up to 20% write reduction compared to the best states of the art.

References

  1. Ohio Supercomputing Center. 2013. OSC software OSD implementation. Retrieved from https://github.uconn.edu/SNSL/osc-osd/tree/master.Google ScholarGoogle Scholar
  2. Vijay Chidambaram, Tushar Sharma, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2012. Consistency without ordering. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). 9.Google ScholarGoogle Scholar
  3. GNU. 2011. Hammerora: the open source oracle load test tool. Retrieved from https://sourceforge.net/projects/hammerora/.Google ScholarGoogle Scholar
  4. Laura M. Grupp, John D. Davis, and Steven Swanson. 2012. The bleak future of NAND flash memory. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). 2--2.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Jie Guo, Chuhan Min, Tao Cai, and Yiran Chen. 2016a. A design to reduce write amplification in object-based NAND flash devices. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis (CODES+ ISSS’16). 1--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jie Guo, Chuhan Min, Tao Cai, Hai Li, and Yiran Chen. 2016b. Objnandsim: Object-based NAND flash device simulator. In Proceedings of the 5th Non-Volatile Memory Systems and Applications Symposium (NVMSA’16). 1--6.Google ScholarGoogle ScholarCross RefCross Ref
  7. Jie Guo, Danghui Wang, Zili Shao, and Yiran Chen. 2017. Data-pattern-aware error prevention technique to improve system reliability. IEEE Trans. VLSI Syst. 25, 4 (2017), 1433--1443. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Jie Guo, Wujie Wen, Jingtong Hu, Danghui Wang, Hai Li, and Yiran Chen. 2015. Flexlevel: A novel nand flash storage system design for ldpc latency reduction. In Proceedings of the 52nd ACM/EDAC/IEEE Design Automation Conference (DAC’15). 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Jie Guo, Wujie Wen, Yaojun Zhang Li, Sicheng Li, Hai Li, and Yiran Chen. 2013a. DA-RAID-5: A disturb aware data protection technique for NAND flash storage systems. In Proceedings of the Design, Automation 8 Test in Europe Conference 8 Exhibition (DATE’13). 380--385.Google ScholarGoogle ScholarCross RefCross Ref
  10. Jie Guo, Jun Yang, Youtao Zhang, and Yiran Chen. 2013b. Low cost power failure protection for MLC NAND flash storage systems with PRAM/DRAM hybrid buffer. In Proceedings of the Design, Automation 8 Test in Europe Conference 8 Exhibition (DATE’13). IEEE, 859--864.Google ScholarGoogle ScholarCross RefCross Ref
  11. Aayush Gupta, Youngjae Kim, and Bhuvan Urgaonkar. 2008. DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings. In Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’08), Vol. 44.Google ScholarGoogle Scholar
  12. B. Harrosh and B. Halevy. 2009. The Linux Exofs Object-based pNFS Metadata Server.Google ScholarGoogle Scholar
  13. Tyler Harter, Chris Dragga, Michael Vaughn, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2012. A file is not a file: Understanding the I/O behavior of apple desktop applications. ACM Trans. Comput. Syst. 30, 3 (2012), 10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Jen-Wei Hsieh, Tei-Wei Kuo, and Li-Pin Chang. 2006. Efficient identification of hot data for flash memory storage systems. ACM Trans. Stor. 2, 1 (2006), 22--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Xiao-Yu Hu, Evangelos Eleftheriou, Robert Haas, Ilias Iliadis, and Roman Pletka. 2009. Write amplification analysis in flash-based solid state drives. In Proceedings of the ACM International System and Storage Conference (SYSTOR’09). 10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Dongwon Kang, Dawoon Jung, Jeong-Uk Kang, and Jin-Soo Kim. 2007. -tree: An ordered index structure for NAND flash memory. In Proceedings of the 7th ACM 8 IEEE International Conference on Embedded Software (ESOFT’07). 144--153.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Yangwook Kang, Jingpei Yang, and Ethan L. Miller. 2011. Object-based SCM: An efficient interface for storage class memories. In Proceedings of the 27th IEEE Symposium on Mass Storage Systems and Technologies (MSST’11). 1--12.Google ScholarGoogle Scholar
  18. Hyojun Kim and Seongjun Ahn. 2008. BPLRU: A buffer management scheme for improving random writes in flash storage. In Proceedings of the 6th USENIX Conference on File and Storage Technologies (FAST’08), Vol. 8. 1--14.Google ScholarGoogle Scholar
  19. Changman Lee, Dongho Sim, Jooyoung Hwang, and Sangyeun Cho. 2015. F2FS: A new file system for flash storage. In Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST’15). 273--286.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Sungjin Lee, Dongkun Shin, Young-Jin Kim, and Jihong Kim. 2008. LAST: Locality-aware sector translation for NAND flash memory-based storage systems. ACM SIGOPS Operat. Syst. Rev. 42, 6 (2008), 36--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Yong-Goo Lee, Dawoon Jung, Dongwon Kang, and Jin-Soo Kim. 2008. μ-FTL: A memory-efficient flash translation layer supporting multiple mapping granularities. In Proceedings of the 8th ACM International Conference on Embedded Software (ESOFT’08). 21--30.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Young-Sik Lee, Sang-Hoon Kim, Jin-Soo Kim, Jaesoo Lee, Chanik Park, and Seungryoul Maeng. 2013. OSSD: A case for object-based solid state drives. In Proceedings of the 29th IEEE Symposium on Mass Storage Systems and Technologies (MSST’13). 1--13. Google ScholarGoogle ScholarCross RefCross Ref
  23. Linux. 2016. Strace—trace system calls and signals. Retrieved from http://man7.org/linux/man-pages/man1/strace.1.html.Google ScholarGoogle Scholar
  24. Aleph One Ltd. 2012. Yaffs A Flash File System for Embedded Use. Retrieved from http://www.yaffs.net/.Google ScholarGoogle Scholar
  25. Youyou Lu, Jiwu Shu, and Weimin Zheng. 2013a. Extending the lifetime of flash-based storage through reducing write amplification from file systems. In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST’13). 257--270.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Youyou Lu, Jiwu Shu, and Weimin Zheng. 2013b. Extending the lifetime of flash-based storage through reducing write amplification from file systems. In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST’13). 257--270.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Chuhan Min, Jie Guo, Hai Li, and Yiran Chen. 2017. Extending the lifetime of object-based NAND flash device with STT-RAM/DRAM hybrid buffer. In Proceedings of the 22nd Asia and South Pacific Design Automation Conference (ASP-DAC’17). 764--769.Google ScholarGoogle ScholarCross RefCross Ref
  28. David Nagle et al. 2008. The ANSI T10 object-based storage standard and current implementations. IBM J. Res. Dev. 52, 4.5 (2008), 401--411.Google ScholarGoogle Scholar
  29. Sai Tung On, Haibo Hu, Yu Li, and Jianliang Xu. 2009. Lazy-update b+-tree for flash devices. In Proceedings of the 10th International Conference on Mobile Data Management: Systems, Services and Middleware. 323--328. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Abhishek Rajimwale, Vijayan Prabhakaran, and John D. Davis. 2009. Block management in solid-state devices. In Proceedings of the USENIX Annual Technical Conference (ATC’09).Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Mendel Rosenblum and John K. Ousterhout. 1992. The design and implementation of a log-structured file system. ACM Trans. Comput. Syst. 10, 1 (1992), 26--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Chao Sun et al. 2013. SCM capacity and NAND over-provisioning requirements for SCM/NAND flash hybrid enterprise SSD. In Proceedings of the International Memory Workshop (IMW’13). 64--67.Google ScholarGoogle Scholar
  33. Carnegie Mellon University. 1994. Coda Project Traces and DFSTrace. Retrieved from http://coda.cs.cmu.edu/DFSTrace/.Google ScholarGoogle Scholar
  34. Rik Van Riel. 2001. Page replacement in linux 2.4 memory management. In Proceedings of the USENIX ATC FREENIX Track. 165--172.Google ScholarGoogle Scholar
  35. Danghui Wang, Jie Guo, Kai Bu, and Yiran Chen. 2014a. Reduction of data prevention cost and improvement of reliability in MLC NAND flash storage system. In Proceedings of the International Conference on Computing, Networking and Communications (ICNC’14). 259--263.Google ScholarGoogle Scholar
  36. Wei Wang, Youyou Lu, and Jiwu Shu. 2014b. p-oftl: An object-based semantic-aware parallel flash translation layer. In Proceedings of the Conference on Design, Automation 8 Test in Europe (DATE’14). 157.Google ScholarGoogle Scholar
  37. Jung Yoon and Gary Tressler. 2012. Advanced flash technology status, scaling trends and implications to enterprise SSD technology enablement. In Proceedings of the Flash Memory Summit.Google ScholarGoogle Scholar
  38. Kai Zhao, Wenzhe Zhao, Hongbin Sun, Xiaodong Zhang, Nanning Zheng, and Tong Zhang. 2013. LDPC-in-SSD: Making advanced error correction codes work effectively in solid state drives. In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST’13). 243--256.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Improving Write Performance and Extending Endurance of Object-Based NAND Flash Devices

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!