Product Code Schemes for Error Correction in MLC NAND Flash Memories

Error control coding (ECC) is essential for correcting soft errors in Flash memories. In this paper we propose use of product code based schemes to support higher error correction capability. Specifically, we propose product codes which use Reed-Solomon (RS) codes along rows and Hamming codes along columns and have reduced hardware overhead. Simulation results show that product codes can achieve better performance compared to both Bose-Chaudhuri-Hocquenghem codes and plain RS codes with less area and low latency. We also propose a flexible product code based ECC scheme that migrates to a stronger ECC scheme when the numbers of errors due to increased program/erase cycles increases. While these schemes have slightly larger latency and require additional parity bit storage, they provide an easy mechanism to increase the lifetime of the Flash memory devices.

[1]  M. Lanzoni,et al.  Nonvolatile multilevel memories for digital applications , 1998, Proc. IEEE.

[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]  Roberto Bez,et al.  Introduction to flash memory , 2003, Proc. IEEE.

[4]  K. Cheung,et al.  Stress-induced leakage current (SILC) and oxide breakdown: are they from the same oxide traps? , 2001 .

[5]  Rina Panigrahy,et al.  Design Tradeoffs for SSD Performance , 2008, USENIX ATC.

[6]  Zhongfeng Wang,et al.  Area-efficient reed-solomon decoder design for optical communications , 2009, IEEE Transactions on Circuits and Systems II: Express Briefs.

[7]  Chaitali Chakrabarti,et al.  Memory error compensation techniques for JPEG2000 , 2010, 2010 IEEE Workshop On Signal Processing Systems.

[8]  Guido Torelli,et al.  On-chip error correcting techniques for new-generation flash memories , 2003, Proc. IEEE.

[9]  Cheng-Wen Wu,et al.  An Adaptive-Rate Error Correction Scheme for NAND Flash Memory , 2009, 2009 27th IEEE VLSI Test Symposium.

[10]  Wei Liu,et al.  VLSI Implementation of BCH Error Correction for Multilevel Cell NAND Flash Memory , 2010, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[11]  Tong Zhang,et al.  Improving Multi-Level NAND Flash Memory Storage Reliability Using Concatenated BCH-TCM Coding , 2010, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[12]  L. Litwin,et al.  Error control coding , 2001 .

[13]  Bo Fu,et al.  Burst Error Detection Hybrid ARQ with Crosstalk-Delay Reduction for Reliable On-chip Interconnects , 2009, 2009 24th IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems.

[14]  Michael Dowd,et al.  Designing A Single Board Computer For Space Using the Most Advanced Processor and Mitigation Technologies , 2004 .

[15]  Peter Desnoyers,et al.  Empirical evaluation of NAND flash memory performance , 2010, OPSR.

[16]  Jongyoon Shin,et al.  A High-Speed Pipelined Degree-Computationless Modified Euclidean Algorithm Architecture for Reed-Solomon Decoders , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[17]  Chaitali Chakrabarti,et al.  Flexible product code-based ECC schemes for MLC NAND Flash memories , 2011, 2011 IEEE Workshop on Signal Processing Systems (SiPS).

[18]  Rino Micheloni,et al.  Non-Volatile Memories for Removable Media , 2009, Proceedings of the IEEE.

[19]  Luca Crippa,et al.  A 4Gb 2b/cell NAND Flash Memory with Embedded 5b BCH ECC for 36MB/s System Read Throughput , 2006, 2006 IEEE International Solid State Circuits Conference - Digest of Technical Papers.

[20]  Zhang Yongxiang,et al.  Study and design on high reliability mass capacity memory , 2010, 2010 IEEE International Conference on Software Engineering and Service Sciences.

[21]  A. Lacaita,et al.  First evidence for injection statistics accuracy limitations in NAND Flash constant-current Fowler-Nordheim programming , 2007, 2007 IEEE International Electron Devices Meeting.

[22]  Hanho Lee High-speed VLSI architecture for parallel Reed-Solomon decoder , 2003, IEEE Trans. Very Large Scale Integr. Syst..

[23]  Babak Falsafi,et al.  Multi-bit Error Tolerant Caches Using Two-Dimensional Error Coding , 2007, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007).

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

[25]  Cecilia Metra,et al.  Error Correcting Strategy for High Speed and High Density Reliable Flash Memories , 2003, J. Electron. Test..

[26]  Zhongfeng Wang,et al.  Error correction for multi-level NAND flash memory using Reed-Solomon codes , 2008, 2008 IEEE Workshop on Signal Processing Systems.