Absorbing Set Analysis of LDPC Codes and Read-Channel Quantization in Flash Memory

Author(s): Wang, Jiadong | Advisor(s): Wesel, Richard D; Dolecek, Lara | Abstract: High-capacity NAND flash memories achieve high-density by storing more than one bit per cell. Storage systems require extremely low block-error-rates, making powerful error-correcting codes with low-error floors necessary. Low-density parity-check (LDPC) codes are well known to approach the capacity of the additive white Gaussian noise (AWGN) channel, but they often suffer from error floors and require soft information to achieve better performance. This dissertation tackles these two problems.The first part of this dissertation introduces the cycle consistency matrix (CCM) as a powerful analytical tool for characterizing and avoiding absorbing sets in separable circulant-based (SCB) LDPC codes. Each potential absorbing set in an SCB LDPC code has a CCM, and an absorbing set can be present in an SCB LDPC code only if the associated CCM is not full column-rank. Using this novel observation, a new code construction approach selects rows and columns from the SCB mother matrix to systematically and provably eliminate dominant absorbing sets by forcing the associated CCMs to be full column-rank. Simulation results both in software and in hardware demonstrate new codes that have steeper error-floor slopes and provide at least one order of magnitude of improvement in the low FER region. This dissertation also shows how identifying absorbing-set-spectrum equivalence classes within the family of SCB codes with a specified circulant matrix significantly reduces the search space of code matrices with distinct absorbing set spectra. For a specified circulant matrix, SCB codes all share a common mother matrix and thereby retain standard properties of quasi-cyclic LDPC codes such as girth, code structure, and compatibility with existing high-throughput hardware implementations. SCB codes include a wide variety of LDPC codes such as array-based LDPC codes as well as many common quasi-cyclic codes. Hence the CCM approach should find wide application.The second part of this dissertation focuses on coding for flash memory. Traditional flash memories employ simple algebraic codes, such as BCH codes, that can correct a fixed, specified number of errors. This dissertation investigates the application to flash memory of low-density parity-check (LDPC) codes which are well known for their ability to approach capacity in the AWGN channel. We obtain soft information for the LDPC decoder by performing multiple cell reads with distinct word-line voltages. The values of the word-line voltages (also called reference voltages) are optimized by maximizing the mutual information between the input and output of the multiple-read channel. Our results show that using this soft information in the LDPC decoder provides a significant benefit and enables the LDPC code to outperform a BCH code with comparable rate and block length over a range of block error rates. Using the maximum mutual-information (MMI) quantization in the LDPC decoder provides an effective and efficient estimate of the word-line voltages compared to other existing quantization techniques.

[1]  Naresh R. Shanbhag,et al.  High-throughput LDPC decoders , 2003, IEEE Trans. Very Large Scale Integr. Syst..

[2]  Shashi Kiran Chilappagari,et al.  LDPC Codes from Latin Squares Free of Small Trapping Sets , 2010, ArXiv.

[3]  Lara Dolecek,et al.  Design of LDPC decoders for improved low error rate performance: quantization and algorithm choices , 2009, IEEE Transactions on Communications.

[4]  WangZhongfeng,et al.  Low-complexity high-speed decoder design for quasi-cyclic LDPC codes , 2007 .

[5]  Tong Zhang,et al.  Exploiting Heat-Accelerated Flash Memory Wear-Out Recovery to Enable Self-Healing SSDs , 2011, HotStorage.

[6]  Thomas J. Richardson,et al.  Error Floors of LDPC Codes , 2003 .

[7]  Jun Heo,et al.  Two-staged informed dynamic scheduling for sequential belief propagation decoding of LDPC codes , 2009, IEEE Communications Letters.

[8]  Jae-Duk Lee,et al.  Effects of floating-gate interference on NAND flash memory cell operation , 2002, IEEE Electron Device Letters.

[9]  Tong Zhang,et al.  On the Use of Soft-Decision Error-Correction Codes in nand Flash Memory , 2011, IEEE Transactions on Circuits and Systems I: Regular Papers.

[10]  Marc P. C. Fossorier,et al.  Quasi-Cyclic Low-Density Parity-Check Codes From Circulant Permutation Matrices , 2004, IEEE Trans. Inf. Theory.

[11]  O. Milenkovic,et al.  Algorithmic and combinatorial analysis of trapping sets in structured LDPC codes , 2005, 2005 International Conference on Wireless Networks, Communications and Mobile Computing.

[12]  Brian M. Kurkoski,et al.  Quantization of Binary-Input Discrete Memoryless Channels, with Applications to LDPC Decoding , 2011, ArXiv.

[13]  Qin Huang,et al.  Quasi-Cyclic LDPC Codes: An Algebraic Construction, Rank Analysis, and Codes on Latin Squares , 2010, IEEE Transactions on Communications.

[14]  Lara Dolecek,et al.  Controlling LDPC Absorbing Sets via the Null Space of the Cycle Consistency Matrix , 2011, 2011 IEEE International Conference on Communications (ICC).

[15]  Johannes B. Huber,et al.  CTH02-4: When Does One Redundant Parity-Check Equation Matter? , 2006, IEEE Globecom 2006.

[16]  Khanh Nguyen,et al.  A 5.6MB/s 64Gb 4b/Cell NAND Flash memory in 43nm CMOS , 2009, 2009 IEEE International Solid-State Circuits Conference - Digest of Technical Papers.

[17]  G. Forney,et al.  Codes on graphs: normal realizations , 2000, 2000 IEEE International Symposium on Information Theory (Cat. No.00CH37060).

[18]  David J. C. MacKay,et al.  Low-density parity check codes over GF(q) , 1998, IEEE Communications Letters.

[19]  Niclas Wiberg,et al.  Codes and Decoding on General Graphs , 1996 .

[20]  Shu Lin,et al.  Construction of Quasi-Cyclic LDPC Codes for AWGN and Binary Erasure Channels: A Finite Field Approach , 2007, IEEE Transactions on Information Theory.

[21]  Amir H. Banihashemi,et al.  Decoding low-density parity-check codes with probabilistic scheduling , 2001, IEEE Communications Letters.

[22]  Richard D. Wesel,et al.  LDPC Decoders with Informed Dynamic Scheduling , 2010, IEEE Transactions on Communications.

[23]  Robert G. Gallager,et al.  Low-density parity-check codes , 1962, IRE Trans. Inf. Theory.

[24]  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.

[25]  Daniel J. Costello,et al.  LDPC block and convolutional codes based on circulant matrices , 2004, IEEE Transactions on Information Theory.

[26]  Hua Xiao,et al.  Improved progressive-edge-growth (PEG) construction of irregular LDPC codes , 2004, IEEE Communications Letters.

[27]  J. Kim,et al.  Girth conditioning for construction of short block length irregular LDPC codes , 2004 .

[28]  Haruhiko Kaneko,et al.  Error Control Coding for Multilevel Cell Flash Memories Using Nonbinary Low-Density Parity-Check Codes , 2009, 2009 24th IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems.

[29]  Shu Lin,et al.  Near-Shannon-limit quasi-cyclic low-density parity-check codes , 2003, IEEE Transactions on Communications.

[30]  Yan Li,et al.  A 16Gb 3b/ Cell NAND Flash Memory in 56nm with 8MB/s Write Rate , 2008, 2008 IEEE International Solid-State Circuits Conference - Digest of Technical Papers.

[31]  Navin Kashyap,et al.  Shortened Array Codes of Large Girth , 2005, IEEE Transactions on Information Theory.

[32]  Shu Lin,et al.  Low-density parity-check codes based on finite geometries: A rediscovery and new results , 2001, IEEE Trans. Inf. Theory.

[33]  Rüdiger L. Urbanke,et al.  Design of capacity-approaching irregular low-density parity-check codes , 2001, IEEE Trans. Inf. Theory.

[34]  Amir H. Banihashemi,et al.  Design of Finite-Length Irregular Protograph Codes with Low Error Floors over the Binary-Input AWGN Channel Using Cyclic Liftings , 2012, IEEE Transactions on Communications.

[35]  Shashi Kiran Chilappagari,et al.  Structured LDPC codes from permutation matrices free of small trapping sets , 2010, 2010 IEEE Information Theory Workshop.

[36]  Shashi Kiran Chilappagari,et al.  Eliminating trapping sets in low-density parity-check codes by using Tanner graph covers , 2008, IEEE Transactions on Information Theory.

[37]  Lara Dolecek,et al.  Analysis of Absorbing Sets and Fully Absorbing Sets of Array-Based LDPC Codes , 2009, IEEE Transactions on Information Theory.

[38]  Lara Dolecek,et al.  GEN03-6: Investigation of Error Floors of Structured Low-Density Parity-Check Codes by Hardware Emulation , 2006, IEEE Globecom 2006.

[39]  Rüdiger L. Urbanke,et al.  Efficient encoding of low-density parity-check codes , 2001, IEEE Trans. Inf. Theory.

[40]  Lara Dolecek,et al.  Absorbing set spectrum approach for practical code design , 2011, 2011 IEEE International Symposium on Information Theory Proceedings.

[41]  Lara Dolecek,et al.  LDPC absorbing sets, the null space of the cycle consistency matrix, and Tanner's constructions , 2011, 2011 Information Theory and Applications Workshop.

[42]  Shu Lin,et al.  Near-Shannon-limit quasi-cyclic low-density parity-check codes , 2004, IEEE Trans. Commun..

[43]  Judea Pearl,et al.  Probabilistic reasoning in intelligent systems - networks of plausible inference , 1991, Morgan Kaufmann series in representation and reasoning.

[44]  Lara Dolecek,et al.  Lowering LDPC Error Floors by Postprocessing , 2008, IEEE GLOBECOM 2008 - 2008 IEEE Global Telecommunications Conference.

[45]  Sae-Young Chung,et al.  Analysis of sum-product decoding of low-density parity-check codes using a Gaussian approximation , 2001, IEEE Trans. Inf. Theory.

[46]  Lara Dolecek,et al.  Towards improved LDPC code designs using absorbing set spectrum properties , 2010, 2010 6th International Symposium on Turbo Codes & Iterative Information Processing.

[47]  Lara Dolecek,et al.  On absorbing sets of structured sparse graph codes , 2010, 2010 Information Theory and Applications Workshop (ITA).

[48]  Jeremy Thorpe,et al.  Memory-efficient decoding of LDPC codes , 2005, Proceedings. International Symposium on Information Theory, 2005. ISIT 2005..

[49]  Qiuju Diao,et al.  Cyclic and quasi-cyclic LDPC codes: New developments , 2011, 2011 Information Theory and Applications Workshop.

[50]  Richard D. Wesel,et al.  Selective avoidance of cycles in irregular LDPC code construction , 2004, IEEE Transactions on Communications.

[51]  Roberto Bez,et al.  Introduction to flash memory , 2003, Proc. IEEE.

[52]  N. Varnica,et al.  Improvements in belief-propagation decoding based on averaging information from decoder and correction of clusters of nodes , 2006, IEEE Communications Letters.

[53]  Evangelos Eleftheriou,et al.  Progressive edge-growth Tanner graphs , 2001, GLOBECOM'01. IEEE Global Telecommunications Conference (Cat. No.01CH37270).

[54]  Amir H. Banihashemi,et al.  Lowering the error floor of LDPC codes using cyclic liftings , 2010, 2010 IEEE International Symposium on Information Theory.

[55]  Frank Harary,et al.  Graph Theory , 2016 .

[56]  A. Glavieux,et al.  Near Shannon limit error-correcting coding and decoding: Turbo-codes. 1 , 1993, Proceedings of ICC '93 - IEEE International Conference on Communications.

[57]  X. Jin Factor graphs and the Sum-Product Algorithm , 2002 .

[58]  Richard D. Wesel,et al.  Soft Information for LDPC Decoding in Flash: Mutual-Information Optimized Quantization , 2011, 2011 IEEE Global Telecommunications Conference - GLOBECOM 2011.

[59]  Marc P. C. Fossorier,et al.  Iterative reliability-based decoding of low-density parity check codes , 2001, IEEE J. Sel. Areas Commun..

[60]  Daniel A. Spielman,et al.  Improved low-density parity-check codes using irregular graphs and belief propagation , 1998, Proceedings. 1998 IEEE International Symposium on Information Theory (Cat. No.98CH36252).

[61]  David J. C. MacKay,et al.  Good Error-Correcting Codes Based on Very Sparse Matrices , 1997, IEEE Trans. Inf. Theory.

[62]  Robert Michael Tanner,et al.  A recursive approach to low complexity codes , 1981, IEEE Trans. Inf. Theory.