A Reliability-Aware Address Mapping Strategy for NAND Flash Memory Storage Systems

The increasing density of NAND flash memory leads to a dramatic increase in the bit error rate of flash, which greatly reduces the ability of error correcting codes (ECC) to handle multibit errors. NAND flash memory is normally used to store the file system metadata and page mapping information. Thus, a broken physical page containing metadata may cause an unintended and severe change in functionality of the entire flash. This paper presents Meta-Cure, a novel hardware and file system interface that transparently protects metadata in the presence of multibit faults. Meta-Cure exploits built-in ECC and replication in order to protect pages containing critical data, such as file system metadata. Redundant pairs are formed at run time and distributed to different physical pages to protect against failures. Meta-Cure requires no changes to the file system, on-chip hierarchy, or hardware implementation of flash memory chip. We evaluate Meta-Cure under a real-embedded platform using a variety of I/O traces. The evaluation platform adopts dual ARM Cortex A9 processor cores with 64 Gb NAND flash memory. We have evaluated the effectiveness of Meta-Cure on the new technology file system file system. Experimental results show that the proposed technique can reduce uncorrectable page errors by 70.38% with less than 7.86% time overhead in comparison with conventional error correction techniques.

[1]  Tei-Wei Kuo,et al.  An adaptive file-system-oriented FTL mechanism for flash-memory storage systems , 2012, TECS.

[2]  Liang Shi,et al.  Migration-aware loop retiming for STT-RAM based hybrid cache for embedded systems , 2013, 2013 IEEE 24th International Conference on Application-Specific Systems, Architectures and Processors.

[3]  Yiran Chen,et al.  Common-source-line array , 2013, ACM Trans. Design Autom. Electr. Syst..

[4]  Nikil D. Dutt,et al.  SPMCloud: Towards the Single-Chip Embedded ScratchPad Memory-Based Storage Cloud , 2014, TODE.

[5]  Wei Zhang,et al.  Nonvolatile CBRAM-Crossbar-Based 3-D-Integrated Hybrid Memory for Data Retention , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[6]  Chundong Wang,et al.  SAW: System-assisted wear leveling on the write endurance of NAND flash devices , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[7]  Huazhong Yang,et al.  PaCC: A Parallel Compare and Compress Codec for Area Reduction in Nonvolatile Processors , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[8]  Huawei Li,et al.  Lifetime Enhancement Techniques for PCM-Based Image Buffer in Multimedia Applications , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[9]  Kyu Ho Park,et al.  An efficient NAND flash file system for flash memory storage , 2006, IEEE Transactions on Computers.

[10]  Wei Xu,et al.  Using Multilevel Phase Change Memory to Build Data Storage: A Time-Aware System Design Perspective , 2013, IEEE Transactions on Computers.

[11]  Renhai Chen,et al.  Deterministic crash recovery for NAND flash based storage systems , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[12]  Weng-Fai Wong,et al.  STT-RAM Cache Hierarchy With Multiretention MTJ Designs , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[13]  Youngjae Kim,et al.  DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings , 2009, ASPLOS.

[14]  Tei-Wei Kuo,et al.  Booting Time Minimization for Real-Time Embedded Systems with Non-Volatile Memory , 2014, IEEE Transactions on Computers.

[15]  Ethan L. Miller,et al.  Adding aggressive error correction to a high-performance compressing flash file system , 2009, EMSOFT '09.

[16]  Wei-Che Tseng,et al.  Data Allocation Optimization for Hybrid Scratch Pad Memory With SRAM and Nonvolatile Memory , 2013, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[17]  Ki-Woong Park,et al.  Adaptive wear-leveling algorithm for PRAM main memory with a DRAM buffer , 2014, ACM Trans. Embed. Comput. Syst..

[18]  Zili Shao,et al.  A Space Reuse Strategy for Flash Translation Layers in SLC NAND Flash Memory Storage Systems , 2012, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[19]  Jen-Wei Hsieh,et al.  VAST: Virtually Associative Sector Translation for MLC Storage Systems , 2013, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[20]  Tong Zhang,et al.  Exploiting workload dynamics to improve SSD read latency via differentiated error correction codes , 2013, TODE.

[21]  Li-Pin Chang,et al.  Reducing asynchrony in channel garbage-collection for improving internal parallelism of multichannel solid-state disks , 2014, TECS.

[22]  Wei-Che Tseng,et al.  Management and optimization for nonvolatile memory-based hybrid scratchpad memory on multicore embedded processors , 2014, ACM Trans. Embed. Comput. Syst..

[23]  Tei-Wei Kuo,et al.  A reliability enhancement design under the flash translation layer for MLC-based flash-memory storage systems , 2013, TECS.

[24]  Nikil D. Dutt,et al.  A Reliability Enhanced Address Mapping Strategy for Three-Dimensional (3-D) NAND Flash Memory , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[25]  Li-Pin Chang,et al.  An adaptive, low-cost wear-leveling algorithm for multichannel solid-state disks , 2013, TECS.

[26]  Chang-Gun Lee,et al.  HRT-PLRU: A New Paging Schemefor Executing Hard Real-Time Programson NAND Flash Memory , 2014, IEEE Transactions on Computers.

[27]  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.

[28]  Hsin-Hung Lin,et al.  Timing Analysis of System Initialization and Crash Recovery for a Segment-Based Flash Translation Layer , 2012, TODE.

[29]  Yuan-Hao Chang,et al.  Garbage Collection for Multiversion Index in Flash-Based Embedded Databases , 2014, TODE.

[30]  Aviral Shrivastava,et al.  FSAF: File system aware flash translation layer for NAND Flash Memories , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[31]  Liang Shi,et al.  Error Model Guided Joint Performance and Endurance Optimization for Flash Memory , 2014, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[32]  Sungjin Lee,et al.  BAGC: Buffer-Aware Garbage Collection for Flash-Based Storage Systems , 2013, IEEE Transactions on Computers.

[33]  Tei-Wei Kuo,et al.  Reliability Enhancement of Flash-Memory Storage Systems: An Efficient Version-Based Design , 2013, IEEE Transactions on Computers.

[34]  Tei-Wei Kuo,et al.  A reliable MTD design for MLC flash-memory storage systems , 2010, EMSOFT '10.

[35]  Nikil D. Dutt,et al.  3D-FlashMap: A physical-location-aware block mapping strategy for 3D NAND flash memory , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

[37]  Youtao Zhang,et al.  Throughput Enhancement for Phase Change Memories , 2014, IEEE Transactions on Computers.

[38]  Nikil D. Dutt,et al.  Meta-Cure: A reliability enhancement strategy for metadata in NAND flash memory storage systems , 2012, DAC Design Automation Conference 2012.

[39]  Jianhua Li,et al.  Compiler-Assisted STT-RAM-Based Hybrid Cache for Energy Efficient Embedded Systems , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.