Meta-Cure: A reliability enhancement strategy for metadata in 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 multi-bit errors. To ensure the functionality and reliability of flash memory, the pages containing address mapping information and other metadata should be carefully stored in flash memory. This paper presents Meta-Cure, a novel hardware and file system interface that transparently protects metadata in the presence of multi-bit faults. Meta-Cure exploits built-in ECC and replication in order to protect pages containing critical data. 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. Experimental results show that the proposed technique can reduce uncorrectable page errors by 92% with less than 1% space overhead in comparison with conventional error correction techniques.

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

[2]  Sanghyuk Jung,et al.  FRA: a flash-aware redundancy array of flash storage devices , 2009, CODES+ISSS '09.

[3]  Tei-Wei Kuo,et al.  A file-system-aware FTL design for flash-memory storage systems , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[4]  Tei-Wei Kuo,et al.  A version-based strategy for reliability enhancement of flash file systems , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[5]  Naehyuck Chang,et al.  Energy-Aware Data Compression for Multi-Level Cell (MLC) Flash Memory , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[6]  Engin Ipek,et al.  Dynamically replicated memory: building reliable systems from nanoscale resistive memories , 2010, ASPLOS XV.

[7]  Soonhoi Ha,et al.  Architecture Exploration of NAND Flash-based Multimedia Card , 2008, 2008 Design, Automation and Test in Europe.

[8]  J. Kessenich,et al.  Bit error rate in NAND Flash memories , 2008, 2008 IEEE International Reliability Physics Symposium.

[9]  Naehyuck Chang,et al.  Demand paging for OneNANDTM Flash eXecute-in-place , 2006, Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '06).

[10]  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).

[11]  Zili Shao,et al.  MNFTL: An efficient flash translation layer for MLC NAND flash memory storage systems , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

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

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

[14]  Asim Kadav,et al.  Differential RAID: Rethinking RAID for SSD reliability , 2010, ACM Trans. Storage.

[15]  Nikil D. Dutt,et al.  E < MC2: less energy through multi-copy cache , 2010, CASES '10.

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

[17]  Tei-Wei Kuo,et al.  Special Issues in Flash , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.