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

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.

[1]  Rina Panigrahy,et al.  Design Tradeoffs for SSD Performance , 2008, USENIX Annual Technical Conference.

[2]  Paul H. Siegel,et al.  Characterizing flash memory: Anomalies, observations, and applications , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[3]  Tei-Wei Kuo,et al.  Real-time garbage collection for flash-memory storage systems of real-time embedded systems , 2004, TECS.

[4]  David A. Patterson,et al.  Latency lags bandwith , 2004, CACM.

[5]  Young-Hyun Jun,et al.  A 21nm high performance 64Gb MLC NAND flash memory with 400MB/s asynchronous toggle DDR interface , 2011, 2011 Symposium on VLSI Circuits - Digest of Technical Papers.

[6]  Sungjin Lee,et al.  FlexFS: A Flexible Flash File System for MLC NAND Flash Memory , 2009, USENIX Annual Technical Conference.

[7]  Joonwon Lee,et al.  Exploiting Internal Parallelism of Flash-based SSDs , 2010, IEEE Computer Architecture Letters.

[8]  Mircea R. Stan,et al.  Modeling Power Consumption of NAND Flash Memories Using FlashPower , 2013, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[9]  弗朗基·F·路帕尔瓦 Single level cell programming in a multiple level cell non-volatile memory device , 2006 .

[10]  Steven Swanson,et al.  Reliably Erasing Data from Flash-Based Solid State Drives , 2011, FAST.

[11]  Gokul B. Kandiraju,et al.  Modeling and simulating flash based solid-state disks for operating systems , 2010, WOSP/SIPEW '10.

[12]  Gregory R. Ganger,et al.  The DiskSim Simulation Environment Version 4.0 Reference Manual (CMU-PDL-08-101) , 1998 .

[13]  Leonid Oliker,et al.  Hardware/software co‐design of global cloud system resolving models , 2011 .

[14]  Hong Jiang,et al.  Performance impact and interplay of SSD parallelism through advanced commands, allocation strategy and data granularity , 2011, ICS '11.

[15]  Jae-Myung Kim,et al.  A case for flash memory ssd in enterprise database applications , 2008, SIGMOD Conference.

[16]  David A. Patterson,et al.  Latency Lags Bandwidth , 2005, ICCD.

[17]  Youngjae Kim,et al.  FlashSim: A Simulator for NAND Flash-Based Solid-State Drives , 2009, 2009 First International Conference on Advances in System Simulation.

[18]  Edmund Lai 10 – Hardware and software development tools , 2003 .

[19]  Young-Taek Lee,et al.  with 90nm CMOS Technology , 2004 .

[20]  Steven Swanson,et al.  The Harey Tortoise: Managing Heterogeneous Write Performance in SSDs , 2013, USENIX Annual Technical Conference.

[21]  John Shalf,et al.  NANDFlashSim: Intrinsic latency variation aware NAND flash memory system modeling and simulation at microarchitecture level , 2012, 012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST).

[22]  Mahmut T. Kandemir,et al.  An Evaluation of Different Page Allocation Strategies on High-Speed SSDs , 2012, HotStorage.