Skip to main content

BCH and LDPC Error Correction Codes for NAND Flash Memories

  • Chapter
  • First Online:
3D Flash Memories

Abstract

Because NAND devices can’t be manufactured without defects, the use of Error Correction Codes (ECCs) has always been a common practice. While BCH (Bose-Chaudhuri-Hocquenghem) is a de facto standard for consumer applications, LDPC (Low-Density-Parity-Check) codes are a typical choice in the enterprise world. This is especially true when looking at planar (2D) ultra-scaled (e.g. 15nm) NAND. Generally speaking, LDPC offers higher correction capabilities, but BCH remains a good solution when bandwidth requirements are very stringent. This chapter provides an overview of both BCH and LDPC state-of-the-art solutions.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. C.E. Shannon, A mathematical theory of communication. Bell Syst. Tech. J. 27(379–423), 623–656 (1948)

    Article  MathSciNet  MATH  Google Scholar 

  2. C. Berrou, A. Glavieux, P. Thitimajshima, Near Shannon limit error-correcting coding and decoding: Turbo-codes, in Proceedings of ICC’93, Geneve, Switzerland, May 1993, pp. 1064–1070

    Google Scholar 

  3. R. Micheloni, A. Marelli, K. Eshghi, Inside Solid State Drives (SSD) (Springer, Berlin, 2012)

    Google Scholar 

  4. R. Micheloni, A. Marelli, R. Ravasio, Error Correction Codes for Non-Volatile Memories (Springer, Berlin, 2008)

    Google Scholar 

  5. S. Lin, D.J. Costello, Error Control Coding (Prentice Hall, Upper Saddle River, 2004)

    Google Scholar 

  6. T.K. Moon, Error Correcting Coding—Mathematical Methods and Algorithm (Wiley, NJ, 2005)

    Google Scholar 

  7. R.C. Bose, D.K. Ray-Chaudhuri, On a class of error correcting binary group codes. Inf. Control 3, 68-79 (1960)

    Google Scholar 

  8. A. Hocquengheim, Codes Correcteurs d’erreurs. Chiffres 2, Sept 1959

    Google Scholar 

  9. M.A. Pellegrini, The (2, 3)-generation of the classical simple groups of dimensions 6 and 7. Bull. Aust. Math. Soc. 93(1), 61–72 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  10. M.A. Pellegrini, M.C. T. Bellani, The simple classical groups of dimension less than 6 which are (2, 3)-generated. J. Algebra Appl. 14(10), 1550148 (2015) (15p)

    Google Scholar 

  11. M. Kim et al. Decoder error probability of binary linear block codes and its application to binary primitive BCH codes. IEICE Trans. Fundam. (1996)

    Google Scholar 

  12. R. Micheloni, L. Crippa, A. Marelli, Inside NAND Flash Memories (Springer, Berlin, 2010)

    Google Scholar 

  13. E.R. Berlekamp, Algebraic Coding Theory (McGraw Hill, New York, 1968)

    Google Scholar 

  14. H.O. Burton, Inversionless decoding of binary BCH codes. IEEE Trans. Inf. Theory 17 (1971)

    Google Scholar 

  15. Y. Lee, H. Yoo, I. Yoo, I.C. Park, 6.4 Gb/s multi-threaded BCH encoder and decoder for multichannel SSD controllers, in ISCC Digest of Technical Papers (2012)

    Google Scholar 

  16. R.G. Gallager, Low-density parity-check codes. IRE Trans. Inf. Theory IT-8, 21–28 (1962)

    Google Scholar 

  17. V. Zyablov, M. Pinsker, Estimation of the error-correction complexity of Gallager low-density codes. Problemy Peredachi Informatsii 11, 23–26 (1975)

    MATH  Google Scholar 

  18. R.M. Tanner, A recursive approach to low complexity codes. IEEE Trans. Inf. Theory IT-27(5), 533–547 (1981)

    Google Scholar 

  19. G.A. Margulis, Explicit constructions of graphs without short cycles and low density codes. Combinatorica 2(1), 71–78 (1982)

    Article  MathSciNet  MATH  Google Scholar 

  20. Z. Li et al., Efficient encoding of quasi-cyclic low-density parity check codes. IEEE Trans. Commun. (2006)

    Google Scholar 

  21. S. Myung et al., Quasi-cyclic LDPC codes for fast encoding. IEEE Inf. Theory June (2005)

    Google Scholar 

  22. Z. Li, L. Chen, S. Lin, W. Fong, P.-S. Yeh, Efficient encoding of quasi-cyclic low-density parity-check codes. IEEE Trans. Commun. 54, 71–81 (2006)

    Google Scholar 

  23. T. Richardson, Error floors of LDPC codes, in Proceedings of the 41st Annual Allerton Conference on Communication, USA (2003)

    Google Scholar 

  24. R. Micheloni et al., Hardware/software co-simulation for error-floor detection in LDPC, in Proceedings of Flash Memory Summit, www.flashmemorysummit.com, Santa Clara, CA, USA, 5–7 Aug 2014

  25. M. Fossorier et al., Channel Coding: Theory, Algorithms and Application (Wiley, NJ, 2005)

    Google Scholar 

  26. S. Landner, O. Milenkovic, Algorithmic and combinatorial analysis of trapping sets in structured LDPC codes, in International Conference on Wireless Networks (2005)

    Google Scholar 

  27. L. Dolecek et al., Predicting error floors of structured LDPC codes: deterministic bounds and estimates. IEEE J. Sel. Areas Commun. (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alessia Marelli .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer Science+Business Media Dordrecht

About this chapter

Cite this chapter

Marelli, A., Micheloni, R. (2016). BCH and LDPC Error Correction Codes for NAND Flash Memories. In: Micheloni, R. (eds) 3D Flash Memories. Springer, Dordrecht. https://doi.org/10.1007/978-94-017-7512-0_10

Download citation

  • DOI: https://doi.org/10.1007/978-94-017-7512-0_10

  • Published:

  • Publisher Name: Springer, Dordrecht

  • Print ISBN: 978-94-017-7510-6

  • Online ISBN: 978-94-017-7512-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics