Skip to main content

Advertisement

Log in

Improving the Reliability of MLC NAND Flash Memories Through Adaptive Data Refresh and Error Control Coding

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

Abstract

NAND Flash memory has become the most widely used non-volatile memory technology. We focus on multi-level cell (MLC) NAND Flash memories because they have high storage density. Unfortunately MLC NAND Flash memory also has reliability problems due to narrower threshold voltage gap between logical states. Errors in these memories can be classified into data retention (DR) errors and program interference (PI) errors. DR errors are dominant if the data storage time is longer than 1 day and these errors can be reduced by refreshing the data. PI errors are dominant if the data storage time is less than 1 day and these errors can be handled by error control coding (ECC). In this paper we propose a combination of data refresh policies and low cost ECC schemes that are cognizant of application characteristics to address the errors in MLC NAND Flash memories. First, we use Gray code based encoding to reduce the error rates in the four subpages (MSB-even, LSB-even, MSB-odd, LSB-odd) of a 2-bit MLC NAND Flash memory. Next, we apply data refresh techniques where the refresh interval is a function of the program/erase (P/E) frequency of the application. We show that an appropriate choice of refresh interval and BCH based ECC scheme can minimize memory energy while satisfying the reliability constraint.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4

Similar content being viewed by others

References

  1. Micheloni, R., et al. (2009). Non-volatile memories for removable media. Proceedings of the IEEE, 97(1), 148–160.

    Article  Google Scholar 

  2. Grupp, L. M, et al. (2009) Characterizing Flash Memory: Anomalies, Observations, and Applications. International Symposium on Microarchitecture, pp. 24–33.

  3. Mielke, N., et al. (2008). Bit Error Rate in NAND Flash Memories. 46th Annual International Reliability Physics Symposium, IEEE CFP08RPS-CDR, Phoenix.

  4. Desnoyers, P. (2010). Empirical evaluation of NAND Flash memory performance. Symposium on Operating Systems Principles. SIGOPS Operating Systems Review, 44(1), 50–54.

  5. Rossi, D., & Metra, C. (2003). Error correcting strategy for high speed and high density reliable flash memories. Journal of Electronic Testing: Theory and Applications, 19(5), 511–521.

    Article  Google Scholar 

  6. Choi, H., Liu, W., & Sung, W. (2010). VLSI implementation of BCH error correction for multilevel cell NAND Flash memory. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 18(5), 843–847.

    Article  Google Scholar 

  7. Chen, T., Hsiao, Y., Hsing, Y., & Wu, C. (2009). An Adaptive-Rate Error Correction Scheme for NAND Flash Memory. 27th IEEE VLSI Test Symposium, pp. 53–58.

  8. Li, S., & Zhang, T. (2010). Improving multi-level NAND Flash memory storage reliability using concatenated BCH-TCM coding. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 18(10), 1412–1420.

    Article  Google Scholar 

  9. Maeda, Y., & Kaneko, H. (2009). Error Control Coding for Multilevel Cell Flash Memories Using Nonbinary Low-Density Parity-Check Codes. IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems, pp. 367–375.

  10. STMicroelectronics, ST72681, USB 2.0 high-speed Flash drive controller, http://www.st.com/stonline/books/pdf/docs/11352.pdf

  11. XceedIOPS SATA SSD, SMART’s Storage Solutions. www.smartm.com/files/salesLiterature/storage/xceediops_SATA.pdf

  12. Yang, C., Emre, Y., & Chakrabarti, C. (2012). Product code schemes for error correction in MLC NAND Flash memories. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 20(12), 2302–2314.

    Article  Google Scholar 

  13. Cai, Y., Haratsch, E. F., Mutlu, O., & Mai, K. (2012). Error patterns in MLC NAND Flash memory: measurement, characterization, and analysis. Design, Automation & Test in Europe Conference & Exhibition (DATE), pp. 521–526.

  14. Cai Y., et al. (2012). Flash Correct-and-Refresh: Retention-Aware Error Management for Increased Flash Memory Lifetime. Computer Design (ICCD), 2012 I.E. 30th Internationl Conference.

  15. Yang, C., Muckatira, D., Kulkarni, A., & Chakrabarti, C. (2013). Data storage time sensitive ECC schemes for MLC NAND Flash memories. International Conference on Acoustics, Speech and Signal Processing ICASSP, pp. 2513–2517.

  16. Wrobel, F., et al. (2001). Simulation of nucleon-induced nuclear reactions in a simplified SRAM structure: scaling effects on SEU and MBU cross sections. IEEE Transactions on Nuclear Science, 48(6), 1946–1952.

    Article  Google Scholar 

  17. Olivo, P., Ricco, B., & Sangiorgi, E. (1986). High-field-induced voltage-dependent oxide charge. Applied Physics Letters, 48, 1135.

    Article  Google Scholar 

  18. Cappelletti, P., Bez, R., Cantarelli, D., & Fratin, L. (1994) Failure mechanisms of flash cell in program/erase cycling. In: Proc. Int. Electron Devices Meet., pp. 291–294.

  19. Kurata, H., et al. (2007). Random telegraph signal in Flash memory: its impact on scaling of multilevel flash memory beyond the 90-nm node. IEEE Journal of Solid-State Circuits, 42(6), 1362–1369.

    Article  MathSciNet  Google Scholar 

  20. Mielke, N., et al. (2004). Flash EEPROM threshold instabilities due to charge trapping during program/erase cycling. IEEE Transactions on Device and Materials Reliability, 4(3), 335–344.

    Article  MathSciNet  Google Scholar 

  21. Lee, J. D., Hur, S. H., & Choi, J. D. (2002). Effects of floating-gate interference on NAND flash memory cell operation. IEEE Electron Device Letters, 23(5), 264–266.

    Article  Google Scholar 

  22. Tanakamaru, S., et al. (2011). 95%-Lower-BER 43%-Lower-Power Intelligent Solid-State Drive (SSD) with Asymmetric Coding and Stripe Pattern Elimination Algorithm. International Solid State Circuit Conference, ISSC, pp. 204–206.

  23. Dong, G., Li, S., & Zhang, T. (2012). Using data postcompensation and predistortion to tolerate cell-to-cell interference in MLC NAND Flash memory. IEEE Transactions on Circuits and Systems, 75(10), 2718–2728.

    MathSciNet  Google Scholar 

  24. Gray, J., & van Ingen, C. (2005). Empirical Measurements of Disk Failure Rates and Error Rates. Microsoft Research Technical Report MSR-TR-2005-166.

  25. IOzone.org, “IOzone Filesystem Benchmark,” http://iozone.org

  26. Katcher, J. (1997). Postmark: a New File System Benchmark Technical Report.

  27. Nangate, Sunnyvale, California, 2008, “45 nm open cell library”, http://www.nangate.com/

  28. Synopsys Design Compiler: http://www.synopsys.com

  29. Liu W., Rho, J., & Sung, W. (2006). Low-Power High-Throughput BCH Error Correction VLSI Design for Multi-Level Cell NAND Flash Memories. IEEE Workshop on Signal Processing Systems Design and Implementation, pp. 303–308.

  30. Nobunaga, D., et al. (2008). A 50 nm 8 Gb NAND Flash Memory with 100 MB/s Program Throughput and 200 MB/s DDR Interface. International Solid State Circuit Conference, ISSC, Session 23, pp. 623–625.

  31. Zhang, R., et al. (2009). A 172 mm2 32 GB MLC NAND Flash Memory in 34 nm COMS. International Solid State Circuit Conference, ISSC, Session 13, pp. 429–431.

  32. Berwer. J., & Gill, M. (2008). Nonvolatile Memory Technologies with Emphasis on Flash. IEEE Press Series on Microelectronic System.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Chengen Yang.

Additional information

This work was supported in part by DARPA-PERFECT and by NSF CSR-0910699.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Yang, C., Chen, HM., Mudge, T.N. et al. Improving the Reliability of MLC NAND Flash Memories Through Adaptive Data Refresh and Error Control Coding. J Sign Process Syst 76, 225–234 (2014). https://doi.org/10.1007/s11265-014-0880-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-014-0880-5

Keywords

Navigation