skip to main content
research-article
Public Access

NANDFlashSim: High-Fidelity, Microarchitecture-Aware NAND Flash Memory Simulation

Published:28 January 2016Publication History
Skip Abstract Section

Abstract

As the popularity of NAND flash expands in arenas from embedded systems to high-performance computing, a high-fidelity understanding of its specific properties becomes increasingly important. Further, with the increasing trend toward multiple-die, multiple-plane architectures and high-speed interfaces, flash memory systems are expected to continue to scale and cheapen, resulting in their broader proliferation. However, when designing NAND-based devices, making decisions about the optimal system configuration is nontrivial, because flash is sensitive to a number of parameters and suffers from inherent latency variations, and no available tools suffice for studying these nuances. The parameters include the architectures, such as multidie and multiplane, diverse node technologies, bit densities, and cell reliabilities. Therefore, we introduce NANDFlashSim, a high-fidelity, latency-variation-aware, and highly configurable NAND-flash simulator, which implements a detailed timing model for 16 state-of-the-art NAND operations. Using NANDFlashSim, we notably discover the following. First, regardless of the operation, reads fail to leverage internal parallelism. Second, MLC provides lower I/O bus contention than SLC, but contention becomes a serious problem as the number of dies increases. Third, many-die architectures outperform many-plane architectures for disk-friendly workloads. Finally, employing a high-performance I/O bus or an increased page size does not enhance energy savings. Our simulator is available at http://nfs.camelab.org.

References

  1. Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark Manasse, and Rina Panigrahy. 2008. Design tradeoffs for SSD performance. In Proceedings of USENIX ATC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. John S. Bucy, Jiri Schindler, Steven W. Schlosser, and Gregory R. Ganger. 2008. The disksim simulation environment version 4.0 reference manual. In Parallel Data Laboratory.Google ScholarGoogle Scholar
  3. Cadence. Hardware and Software Development Tools. http://www.tensilica.com/products/hw-sw-dev-tools/.Google ScholarGoogle Scholar
  4. Li-Pin Chang, Tei-Wei Kuo, and Shi-Wu Lo. 2004. Real-time garbage collection for flash-memory storage systems of real-time embedded systems. ACM Transactions on Embedded Computing Systems 3, 4 (November 2004), 837--863. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Ryan Fisher. 2008. Optimizing NAND flash performance. In FlashMemory Summit.Google ScholarGoogle Scholar
  6. Laura M. Grupp, Adrian M. Caulfield, Joel Coburn, Steven Swanson, Eitan Yaakobi, Paul H. Siegel, and Jack K. Wolf. 2009. Characterizing flash memory: Anomalies, observations,and applications. In Proceedings of MICRO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Laura M. Grupp, John D. Davis, and Steven Swanson. 2013. The harey tortoise: Managing heterogeneous write performance in SSDs. In Proceedings of the USENIX 2013 Annual Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Yang Hu, Hong Jiang, Dan Feng, Lei Tian, Hao Luo, and Shuping Zhang. 2011. Performance impact and interplay of SSD parallelism through advanced commands, allocation strategy and data granularity. In Proceedings of ICS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Hynix, Inc. 2009. NAND flash memory MLC datasheet, H27UBG8T2A. http://www.hynix.com/.Google ScholarGoogle Scholar
  10. Intel and Seagate. 2003. Serial ATA Native Command Queuing: An Exciting New Performance Feature for Serial ATA.Google ScholarGoogle Scholar
  11. Myoungsoo Jung and Mahmut Kandemir. 2012. An evaluation of different page allocation strategies on high-speed SSDs. In Proceedings of the 4th USENIX Workshop on Hot Topics in Storage and File Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Myoungsoo Jung and Joonhyuk Yoo. 2009. Scheduling garbage collection opportunistically to reduce worst-case I/O performance in solid state disks. In Proceedings of IWSSPS.Google ScholarGoogle Scholar
  13. Chulbum Kim, Jinho Ryu, Taesung Lee, Hyeonggon Kim, Jeawoo Lim, Jaeyong Jeong, Seonghwan Seo, Hongsoo Jeon, Bokeun Kim, Inyoul Lee, Dooseop Lee, Pansuk Kwak, Seongsoon Cho, Yongsik Yim, Changhyun Cho, Woopyo Jeong, Jinman Han, Dooheon Song, Kyehyun Kyung, Youngho Lim, and Younghyun Jun. 2011. A 21nm high performance 64Gb MLC NAND flash memory with 400MB/s asynchronous toggle DDR interface. In Proceedings of VLSIC.Google ScholarGoogle Scholar
  14. Youngjae Kim, Brendan Tauras, Aayush Gupta, and Bhuvan Urgaonkar. 2009. FlashSim: A simulator for NAND flash-based solid-state drives. In Proceedings of SIMUL. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. LBNL. A new breed of supercomputers for improving global climate predictions. http://crd.lbl.gov/groups-depts/ftg/projects/current-projects/green-flash/.Google ScholarGoogle Scholar
  16. Jaesoo Lee, Kangho Roh, Wonhee Cho, Hojun Shim, Youngjoon Choi, Jaehoon Heo, Jehyuck Song, Seungduk Cho, Seontaek Kim, Moonwook Oh, Jongtae Park, Wonmoon Cheon, Chanik Park, and Yangsup Lee. 2009. Memory system and method of accessing a semiconductor memory device. In US20110302352 A1.Google ScholarGoogle Scholar
  17. Sungjin Lee, Keonsoo Ha, Kangwon Zhang, Jihong Kim, and Junghwan Kim. 2009. FlexFS: A flexible flash file system for MLC NAND flash memory. In Proceedings of USENIX ATC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Seungjae Lee, Youngtaek Lee, Wookkee Han, Donghwan Kim, Moosung Kim, Seunghyun Moon, Hyunchul Cho, Jungwoo Lee, Daeseok Byeon, Youngho Lim, Hyungsuk Kim, Sunghoi Hur, and Kangdeog Suh. 2004. A 3.3V 4Gb four-level NAND flash memory with 90nm CMOS technology. In Proceedings of ISSCC.Google ScholarGoogle Scholar
  19. Sang-Won Lee, Bongki Moon, Chanik Park, Jae-Myung Kim, and Sang-Woo Kim. 2008. A case for flash memory SSD in enterprise database applications. In Proceedings of SIGMOD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Kaoutar El Maghraoui, Gokul Kandiraju, Joefon Jann, and Pratap Pattnaik. 2010. Modeling and simulating flash based solid-state disks for operating systems. In Proceedings of WOSP/SIPEW. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Micron Technology, Inc. 2007. NAND flash memory MLC datasheet, MT29F8G08MAAWC, MT29F16G08QASWC. http://www.micron.com/.Google ScholarGoogle Scholar
  22. Micron Technology, Inc. 2009. NAND flash memory datasheet, MT29F16G08ABABA, MT29F32G08AFABA. http://www.micron.com/.Google ScholarGoogle Scholar
  23. Vidyabhushan Mohan, Trevor Bunker, Laura Grupp, Sudhanva Gurumurthi, Mircea R. Stan, and Steven Swanson. 2013. Modeling power consumption of NAND flash memories using flashpower. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 32, 7 (2013), 1031--1044. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. ONFI Working Group. 2011. Open NAND flash interface.Google ScholarGoogle Scholar
  25. Seonyeong Park, Euiseong Seo, Jiyong Shin, Seungryoul Maeng, and Joonwon Lee. 2010. Exploiting internal parallelism of flash-based SSDs. Computer Architecture Letters 9 (2010), 9--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. David A. Patterson. 2004. Latency lags bandwidth. Communications of the ACM 47 (2004), 71--75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Frankie F. Roohparvar. 2007. Single level cell programming in a multiple level cell non-volatile memory device. U.S. Patent 20070133249 A1.Google ScholarGoogle Scholar
  28. SNIA. 2006. IOTTA repository. http://iotta.snia.org/.Google ScholarGoogle Scholar
  29. Michael F. Wehner, Leonid Oliker, John Shalf, David Donofrio, Leroy A. Drummond, Ross Heikes, Shoaib Kamil, Celal Konor, Norman Miller, Hiroaki Miura, Marghoob Mohiyuddin, David Randall, and Woo-Sun Yang. 2011. Hardware/software co-design of global cloud system resolving models. In JAMES, Vol. 3.Google ScholarGoogle Scholar
  30. Michael Wei, Laura M. Grupp, Frederick E. Spada, and Steven Swanson. 2011. Reliably erasing data from flash-based solid state drives. In Proceedings of USENIX FAST. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. NANDFlashSim: High-Fidelity, Microarchitecture-Aware NAND Flash Memory Simulation

    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!