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.
- Ohio Supercomputing Center. 2013. OSC software OSD implementation. Retrieved from https://github.uconn.edu/SNSL/osc-osd/tree/master.Google Scholar
- 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 Scholar
- GNU. 2011. Hammerora: the open source oracle load test tool. Retrieved from https://sourceforge.net/projects/hammerora/.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
- B. Harrosh and B. Halevy. 2009. The Linux Exofs Object-based pNFS Metadata Server.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- Linux. 2016. Strace—trace system calls and signals. Retrieved from http://man7.org/linux/man-pages/man1/strace.1.html.Google Scholar
- Aleph One Ltd. 2012. Yaffs A Flash File System for Embedded Use. Retrieved from http://www.yaffs.net/.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- Carnegie Mellon University. 1994. Coda Project Traces and DFSTrace. Retrieved from http://coda.cs.cmu.edu/DFSTrace/.Google Scholar
- Rik Van Riel. 2001. Page replacement in linux 2.4 memory management. In Proceedings of the USENIX ATC FREENIX Track. 165--172.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
Index Terms
Improving Write Performance and Extending Endurance of Object-Based NAND Flash Devices
Recommendations
A design to reduce write amplification in object-based NAND flash devices
CODES '16: Proceedings of the Eleventh IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System SynthesisWrite amplification is a major cause of performance and endurance degradations in NAND flash based storage systems. In an object-based NAND flash device, two causes of write amplification are onode partial update and cascading update. Updating one onode,...
Garbage Collection Algorithms for NAND Flash Memory Devices -- An Overview
EMS '13: Proceedings of the 2013 European Modelling SymposiumThis paper highlights the necessary garbage collection algorithms which is needed in flash translation layer (FTL) for NAND Flash memory devices such as SATA SSD's (Solid State Devices). Garbage collection is the process of freeing up partially filled ...






Comments