FPGA accelerator of Quasi cyclic EG-LDPC codes decoder for NAND flash memories

High rate low density parity check (LDPC) codes that are employed in NAND flash memories are required to have excellent error correcting performance and should avoid error floors at low bit error rate. For evaluating the performance of error correcting codes FPGA based accelerators are used. This paper presents a high speed, partially parallel and flexible decoder design for evaluating the performance of regular Quasi cyclic LDPC codes. We have targeted euclidean geometry (EG) LDPC codes which have high code rate and good error correcting performance. The throughput of the decoder is increased by using a fully parallel check node processor along with the layered decoding algorithm. The proposed decoder is implemented on XILINX XC7V2000T FPGA device. Synthesis results show that the proposed decoder is 60% faster as compared to the previously published FPGA implementations and is also capable of decoding high circulant weight EG-LDPC codes.

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

[2]  Wonyong Sung,et al.  A high-speed layered min-sum LDPC decoder for error correction of NAND Flash memories , 2011, 2011 IEEE 54th International Midwest Symposium on Circuits and Systems (MWSCAS).

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

[4]  E.F. Haratsch,et al.  Quasi-Cyclic LDPC Codes for the Magnetic Recording Channel: Code Design and VLSI Implementation , 2007, IEEE Transactions on Magnetics.

[5]  Qiuju Diao,et al.  Cyclic and Quasi-Cyclic LDPC Codes on Constrained Parity-Check Matrices and Their Trapping Sets , 2012, IEEE Transactions on Information Theory.

[6]  Zhongfeng Wang,et al.  Low-Complexity High-Speed Decoder Design for Quasi-Cyclic LDPC Codes , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[7]  Chin-Long Wey,et al.  Algorithms of Finding the First Two Minimum Values and Their Hardware Implementation , 2008, IEEE Transactions on Circuits and Systems I: Regular Papers.

[8]  Hong Ding,et al.  Design and Implementation for High Speed LDPC Decoder with Layered Decoding , 2009, 2009 WRI International Conference on Communications and Mobile Computing.

[9]  Brendan J. Frey,et al.  Factor graphs and the sum-product algorithm , 2001, IEEE Trans. Inf. Theory.

[10]  Radford M. Neal,et al.  Near Shannon limit performance of low density parity check codes , 1996 .

[11]  Guido Masera,et al.  On Practical Implementation and Generalizations of $ \max^{\ast}$ Operator for Turbo and LDPC Decoders , 2012, IEEE Transactions on Instrumentation and Measurement.

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

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

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

[15]  Wonyong Sung,et al.  Performance of rate 0.96 (68254, 65536) EG-LDPC code for NAND Flash memory error correction , 2012, 2012 IEEE International Conference on Communications (ICC).

[16]  Javier Valls-Coquillat,et al.  High-throughput FPGA-based emulator for structured LDPC codes , 2012, 2012 19th IEEE International Conference on Electronics, Circuits, and Systems (ICECS 2012).

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

[18]  J. Chen,et al.  Near optimum universal belief propagation based decoding of LDPC codes and extension to turbo decoding , 2001, Proceedings. 2001 IEEE International Symposium on Information Theory (IEEE Cat. No.01CH37252).