A novel optimization algorithm for Chien search of BCH Codes in NAND flash memory devices

As NAND flash memory chips become denser, they are more vulnerable to random errors caused by ageing, read or write interference, and erase operations. These errors compromise both the data integrity and lifetime of flash memory so that error correction codes (ECC) are employed by the flash controller to strengthen the fault tolerance. The BCH (Bose Chaudhuri Hochquenghem) code is a widely used ECC technique in flash-based storage devices due to its strong error correction capability and high performance. The third step of decoding a BCH code is the Chien search process, which locates the errors in the received codeword. To increase the decoding throughput, parallel Chien search algorithms are used, but existing algorithms occupy more than 60% area of the total decoding logic, increasing the hardware complexity and energy consumption. To reduce the hardware complexity and overhead, in this paper, we propose a plane optimization algorithm to reduce the redundant XOR gates used in the Chien search process. Our study based on intensive experiments shows that for a (2047,1926, 11) BCH code with the parallel factor of 32, the proposed optimization algorithm reduces the number of XOR gates used in the Chien search process by 79%, 46% and 13%, respectively, compared to the straightforward implementation, the GMA approach and the strength-reduced architecture.

[1]  Jun Zhang,et al.  Low complexity parallel Chien search architecture for RS decoder , 2005, 2005 IEEE International Symposium on Circuits and Systems.

[2]  Salwa H. El-Ramly,et al.  Optimizing Chien Search Usage in the BCH Decoder for High Error Rate Transmission , 2013, IEEE Communications Letters.

[3]  U. Sripati,et al.  High-speed and parallel approach for decoding of binary BCH codes with application to Flash memory devices , 2012 .

[4]  Tong Zhang,et al.  On the Use of Strong BCH Codes for Improving Multilevel NAND Flash Memory Storage Capacity , 2006 .

[5]  Wonyong Sung,et al.  Strength-Reduced Parallel Chien Search Architecture for Strong BCH Codes , 2008, IEEE Transactions on Circuits and Systems II: Express Briefs.

[6]  Wei Liu,et al.  VLSI Implementation of BCH Error Correction for Multilevel Cell NAND Flash Memory , 2010, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[7]  Kenneth Rose,et al.  Design of on-chip error correction systems for multilevel NOR and NAND flash memories , 2007, IET Circuits Devices Syst..

[8]  Hsie-Chia Chang,et al.  A MPCN-Based Parallel Architecture in BCH Decoders for nand Flash Memory Devices , 2011, IEEE Transactions on Circuits and Systems II: Express Briefs.

[9]  In-Cheol Park,et al.  Low-Complexity Parallel Chien Search Structure Using Two-Dimensional Optimization , 2011, IEEE Transactions on Circuits and Systems II: Express Briefs.

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

[11]  Trieu-Kien Truong,et al.  Fast algorithm for computing the roots of error locator polynomials up to degree 11 in Reed-Solomon decoders , 2001, IEEE Trans. Commun..

[12]  Onur Mutlu,et al.  Error patterns in MLC NAND flash memory: Measurement, characterization, and analysis , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[13]  Wonyong Sung,et al.  Low-energy error correction of NAND Flash memory through soft-decision decoding , 2012, EURASIP J. Adv. Signal Process..

[14]  Wei Liu,et al.  Low-Power High-Throughput BCH Error Correction VLSI Design for Multi-Level Cell NAND Flash Memories , 2006, 2006 IEEE Workshop on Signal Processing Systems Design and Implementation.

[15]  Chaitali Chakrabarti,et al.  Flexible product code-based ECC schemes for MLC NAND Flash memories , 2011, 2011 IEEE Workshop on Signal Processing Systems (SiPS).

[16]  Keshab K. Parhi,et al.  Small area parallel Chien search architectures for long BCH codes , 2004, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.