Given that the NAND Flash memory is not a very reliable medium, it follows that a Solid State Disk needs some help to achieve a reliability suitable for computing applications: the Error Correction Code (ECC). As the NAND technology scales down, ECC becomes a critical design topic. This chapter deals with BCH , the most common ECC in solid state disks. Two main issues arise when an ECC is used inside an SSD. First of all, the ECC should not limit the bandwidth, being the bottleneck of the entire drive: this translates in a hardware implementation that needs to handle multiple devices (channel) in parallel . At the same time, ECC must avoid erroneous corrections when the error correction capability of the code is overcome, i .e. it must have a high detection property. In this chapter the ECC definitions are reviewed, then the BCH code is presented along with the multi-channel topic. Finally, BCH and LDPC detection property are discussed.
This is a preview of subscription content, log in via an institution to check access.
Similar content being viewed by others ReferencesC.E. Shannon, A mathematical theory of communication. Bell Syst. Tech. J. 27(379–423), 623–656 (1948)
R.C. Bose, D.K. Ray-Chaudhuri, On a class of error-correcting binary group codes. Inform. Contr. 3(1), 68–79 (1960)
A. Hocquenghem, Codes correcteurs d’erreurs. Chiffres 2 (1959)
I.S. Reed, G. Solomon, Polynomial codes over certain finite fields. J. SIAM 8(2), 300–304 (1960)
C. Berrou, A. Glavieux, P. Thitimajshimima, Near Shannon limit error-correcting coding and decoding: turbo-codes, in Proceedings of ICC’93 (Geneva, Switzerland, May 1993), pp. 1064–1070
R.G. Gallager, Low-density parity-check codes. IRE Trans. Inf. Theory IT 8, 21–28 (1962)
D.J.C. MacKay, R.M. Neal, Near Shannon limit performance of low density parity check codes. Electron. Lett. 32(18), 1645–1646 (1996)
R. Micheloni, A. Marelli, R. Ravasio, Error Correction Codes for Non-volatile Memories (Springer, Berlin, 2008)
S. Lin, D.J. Costello, Error Control Coding (Prentice Hall, Upper Saddle River, 2004)
T.K. Moon, Error Correcting Coding—Mathematical Methods and Algorithms (Wiley, Hoboken, 2005)
Y. Chen, K. Parthi, Small area parallel Chien search architecture for long BCH codes. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 12(5), 545–549 (2004)
R. Micheloni et al., A 4 Gb 2b/cell NAND flash memory with embedded 5b BCH ECC for 36 MB/s system read throughput, in ISCC Digest of Technical Papers, San Francisco, Feb 2006
R. Micheloni, L. Crippa, A. Marelli, Inside NAND Flash Memories (Springer, Berlin, 2010)
E.R. Berlekamp, Algebraic Coding Theory (McGraw-Hill, New York, 1968)
H.O. Burton, Inversionless decoding of binary BCH codes. IEEE Trans. Inf. Theory 17(4), 464–466 (1971)
I.S. Reed, M.T. Shih, T.K. Truong, VLSI design of inverse-free Berlekamp-Massey algorithm. IEEE Proc. 138, 295–298 (1991)
S. Mizrachi, D. Stopler, Efficient method for fast decoding of BCH binary codes. US Patent 2003/0159103 A1, Aug 2003
W.W. Peterson, E.J. Weldon Jr., Error-Correcting Codes, 2nd edn. (MIT Press, Cambridge, 1972)
T. Kasami, T. Fujiwara, S. Lin, An approximation to the weight distribution of binary linear codes. IEEE Trans. Inf. Theory 31(6), 769–780 (1985)
I. Krasikov, S. Litsyn, On spectra of BCH codes. IEEE Trans. Inf. Theory 41, 786–788 (1995)
I. Krasikov, S. Litsyn, On the distance distribution of duals BCH codes. IEEE Trans. Inf. Theory 45, 247–250 (2001)
F.J. MacWilliams, N.J.A. Sloane, The Theory of Error-Correcting Codes. North-Holland Mathematical Library, vol. 16 (North-Holland Publishing Company, Amsterdam, 1977)
O. Keren, S. Litsyn, More on the distance distribution of BCH Codes. IEEE Trans. Inf. Theory 1, 251–155 (1999)
M. Sala, A. Tamponi, A linear programming estimate of the weight distribution of BCH(255, k). IEEE Trans. Inf. Theory 46(6), 2235–2237 (2000)
M.G. Kim, J.H. Lee, Decoder error probability of binary linear block codes and its application to binary primitive BCH codes. IEICE Trans. Fundam. E79-A(4), 592–599 (1996)
Y. Lee, H. Yoo, I. Yoo, I.C. Park, 6.4 Gb/s multi-threaded BCH encoder and decoder for multi-channel SSD controllers, in ISCC Digest of Technical Papers, San Francisco, Feb 2012
A. Marelli, R. Micheloni, False Decoding Probability (Detection) of BCH and LDPC Codes, Flash Memory Summit 2016
M. Hagiwara, M.P.C. Fossorier, H. Imai, Fixed Initialization decoding of LDPC codes over binary simmetric channel, in IEEE Transaction on Information Theory, April 2012
S.M. Khatami, L. Danjean, D.V. Nguyen, B. Vasic, An Efficient Exhaustive Low-Weight Codeword Search for Structured LDPC Codes
Storage Solutions, Microsemi Corporation, Vimercate, MB, Italy
Alessia Marelli & Rino Micheloni
Correspondence to Alessia Marelli .
Editor information Editors and AffiliationsMicrosemi Corporation, Vimercate, Monza e Brianza, Italy
Rino Micheloni
Microsemi Corporation, Vimercate, Monza e Brianza, Italy
Alessia Marelli
Lightbits Labs, San Jose, California, USA
Kam Eshghi
© 2018 Springer Nature Singapore Pte Ltd.
About this chapter Cite this chapterMarelli, A., Micheloni, R. (2018). BCH Codes for Solid-State-Drives. In: Micheloni, R., Marelli, A., Eshghi, K. (eds) Inside Solid State Drives (SSDs). Springer Series in Advanced Microelectronics, vol 37. Springer, Singapore. https://doi.org/10.1007/978-981-13-0599-3_11
Download citationDOI: https://doi.org/10.1007/978-981-13-0599-3_11
Published: 12 July 2018
Publisher Name: Springer, Singapore
Print ISBN: 978-981-13-0598-6
Online ISBN: 978-981-13-0599-3
eBook Packages: Physics and AstronomyPhysics and Astronomy (R0)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4