Energy-Efficient Symmetric BC-BCH Decoder Architecture for Mobile Storages

Recently, symmetric block-wise concatenated-BCH (SBC-BCH) codes are proposed as strong error-correcting codes (ECCs) based on hard-decision channel outputs, which is especially suited for storages using NAND flash memories. Targeting energy-efficient NAND flash memory applications, this paper presents an energy-optimized decoder architecture which includes an iterative decoder for a SBC-BCH code as a main decoder and a low-complexity auxiliary decoder for a block-wise single parity-check (BSPC) code. The auxiliary decoder is opportunistically in action to break the dominant error bound associated with the SBC-BCH code, which allows one to lower the uncorrectable bit-error-rate (UBER) to 10−15 in an energy efficient way. This work presents several design-level optimizations for further enhancing the energy-efficiency of the iterative SBC-BCH decoder. More precisely, the new initialization scheme is proposed for ensuring the energy-efficient seamless decoding scenario. The syndrome tracking is applied to eliminate the previous syndrome calculation and the reordered Chien search further enhances the energy-efficiency as well as the decoding throughput. Targeting a 0.9-rate 4KB SBC-BCH code for commercialized storages using NAND flash memories, a prototype decoder consisting of both the iterative main and auxiliary decoders is designed in a 65-nm CMOS process. By applying the proposed optimizations, the prototype decoder achieves an energy-efficiency of 3.43 pJ/b while providing a decoding throughput of 13.2 Gb/s, which is superior to the previous state-of-the-art decoders for mobile storages.

[1]  Woo Young Choi,et al.  Influence of Intercell Trapped Charge on Vertical NAND Flash Memory , 2017, IEEE Electron Device Letters.

[2]  O. Mutlu,et al.  Enabling Accurate and Practical Online Flash Channel Modeling for Modern MLC NAND Flash Memory , 2016, IEEE Journal on Selected Areas in Communications.

[3]  Hsie-Chia Chang,et al.  A 3.46 Gb/s (9141,8224) LDPC-based ECC scheme and on-line channel estimation for solid-state drive applications , 2015, 2015 IEEE International Symposium on Circuits and Systems (ISCAS).

[4]  Lu Li,et al.  Lowering the error floors of low-density parity-check codes with additional check nodes , 2017, 2017 IEEE Information Theory Workshop (ITW).

[5]  Jinho Choi,et al.  Block-Wise Concatenated BCH Codes for NAND Flash Memories , 2014, IEEE Transactions on Communications.

[6]  Stelios Korkotsides,et al.  MLC NAND Flash memory: Aging effect and chip/channel emulation , 2015, Microprocess. Microsystems.

[7]  In-Cheol Park,et al.  7.3 Gb/s universal BCH encoder and decoder for SSD controllers , 2014, 2014 19th Asia and South Pacific Design Automation Conference (ASP-DAC).

[8]  Senju Yamazaki,et al.  Highly Reliable Coding Methods for Emerging Applications: Archive and Enterprise Solid-State Drives (SSDs) , 2015, IEEE Transactions on Circuits and Systems Part 1: Regular Papers.

[9]  In-Cheol Park,et al.  High-Throughput and Low-Complexity BCH Decoding Architecture for Solid-State Drives , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[10]  Jonghoon Park,et al.  11.4 A 512Gb 3b/cell 64-stacked WL 3D V-NAND flash memory , 2017, 2017 IEEE International Solid-State Circuits Conference (ISSCC).

[11]  Jongsun Park,et al.  Novel Folded-KES Architecture for High-Speed and Area-Efficient BCH Decoders , 2017, IEEE Transactions on Circuits and Systems II: Express Briefs.

[12]  Yiran Chen,et al.  Data-Pattern-Aware Error Prevention Technique to Improve System Reliability , 2017, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[13]  In-Cheol Park,et al.  Energy-Scalable 4KB LDPC Decoding Architecture for NAND-Flash-Based Storage Systems , 2016, IEICE Trans. Electron..

[14]  Tong Zhang,et al.  Enabling NAND Flash Memory Use Soft-Decision Error Correction Codes at Minimal Read Latency Overhead , 2013, IEEE Transactions on Circuits and Systems I: Regular Papers.

[15]  Tong Zhang,et al.  Realizing Unequal Error Correction for nand Flash Memory at Minimal Read Latency Overhead , 2014, IEEE Transactions on Circuits and Systems II: Express Briefs.

[16]  Meng Zhang,et al.  RBER Aware Multi-Sensing for Improving Read Performance of 3D MLC NAND Flash Memory , 2018, IEEE Access.

[17]  Hao Wang,et al.  Realizing Transparent OS/Apps Compression in Mobile Devices at Zero Latency Overhead , 2017, IEEE Transactions on Computers.

[18]  Zhang Xiaohua,et al.  A 512Gb 3b/Cell Flash Memory on 64-Word-Line-Layer BiCS Technology , 2017 .

[19]  Jaekyun Moon,et al.  Breaking the Trapping Sets in LDPC Codes: Check Node Removal and Collaborative Decoding , 2016, IEEE Transactions on Communications.

[20]  Jaekyun Moon,et al.  Concatenated Raptor Codes in NAND Flash Memory , 2013, IEEE Journal on Selected Areas in Communications.

[21]  In-Cheol Park,et al.  6.4Gb/s multi-threaded BCH encoder and decoder for multi-channel SSD controllers , 2012, 2012 IEEE International Solid-State Circuits Conference.

[22]  Hyunseok Lee,et al.  7.7 A 768Gb 3b/cell 3D-floating-gate NAND flash memory , 2016, 2016 IEEE International Solid-State Circuits Conference (ISSCC).

[23]  In-Cheol Park,et al.  A 3Gb/s 2.08mm2 100b error-correcting BCH decoder in 0.13µm CMOS process , 2013, 2013 18th Asia and South Pacific Design Automation Conference (ASP-DAC).

[24]  In-Cheol Park,et al.  A 2.74-pJ/bit, 17.7-Gb/s Iterative Concatenated-BCH Decoder in 65-nm CMOS for NAND Flash Memory , 2013, IEEE Journal of Solid-State Circuits.

[26]  An-Yeu Wu,et al.  Byte-Reconfigurable LDPC Codec Design With Application to High-Performance ECC of NAND Flash Memory Systems , 2015, IEEE Transactions on Circuits and Systems I: Regular Papers.

[27]  Brian M. Kurkoski,et al.  LDPC Decoding Mappings That Maximize Mutual Information , 2016, IEEE Journal on Selected Areas in Communications.

[28]  In-Cheol Park,et al.  An energy-optimized (37840, 34320) symmetric BC-BCH decoder for healthy mobile storages , 2017, 2017 IEEE Asian Solid-State Circuits Conference (A-SSCC).

[29]  Luigi Dilillo,et al.  Improvement of the tolerated raw bit error rate in NAND flash-based SSDs with the help of embedded statistics , 2017, 2017 IEEE International Test Conference (ITC).

[30]  Hanjun Jiang,et al.  A high-throughput multi-rate LDPC decoder for error correction of solid-state drives , 2015, 2015 IEEE Workshop on Signal Processing Systems (SiPS).

[31]  Hsie-Chia Chang,et al.  A 520k (18900, 17010) Array Dispersion LDPC Decoder Architectures for NAND Flash Memory , 2016, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[32]  Nanning Zheng,et al.  Exploiting Intracell Bit-Error Characteristics to Improve Min-Sum LDPC Decoding for MLC NAND Flash-Based Storage in Mobile Device , 2016, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[33]  Tong Zhang,et al.  Realizing Low-Cost Flash Memory Based Video Caching in Content Delivery Systems , 2018, IEEE Transactions on Circuits and Systems for Video Technology.

[34]  Jeongseok Ha,et al.  Quasi-Primitive Block-Wise Concatenated BCH Codes With Collaborative Decoding for NAND Flash Memories , 2015, IEEE Transactions on Communications.

[35]  Shu Lin,et al.  Error control coding : fundamentals and applications , 1983 .

[36]  Hsie-Chia Chang,et al.  An MPCN-Based BCH Codec Architecture With Arbitrary Error Correcting Capability , 2015, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[37]  Aleksandar Kavcic,et al.  Optimal Detector for Multilevel NAND Flash Memory Channels with Intercell Interference , 2014, IEEE Journal on Selected Areas in Communications.

[38]  Jonghoon Park,et al.  7.5 A 128Gb 2b/cell NAND flash memory in 14nm technology with tPROG=640µs and 800MB/s I/O rate , 2016, 2016 IEEE International Solid-State Circuits Conference (ISSCC).

[39]  Yiran Chen,et al.  FlexLevel NAND Flash Storage System Design to Reduce LDPC Latency , 2017, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[40]  Jongsun Park,et al.  Area-Optimized Fully-Flexible BCH Decoder for Multiple GF Dimensions , 2018, IEEE Access.

[41]  Myounggon Kang,et al.  Studying Trapped Tunneling-Electron Migration Due to Program and Erase Cycles in NAND Flash , 2016, IEEE Electron Device Letters.

[42]  Huang-Chang Lee,et al.  An Effective Low-Complexity Error-Floor Lowering Technique for High-Rate QC-LDPC Codes , 2018, IEEE Communications Letters.

[43]  Shuhei Tanakamaru,et al.  Design Methodology for Highly Reliable, High Performance ReRAM and 3-Bit/Cell MLC NAND Flash Solid-State Storage , 2015, IEEE Transactions on Circuits and Systems I: Regular Papers.

[44]  Yong Liang Guan,et al.  Retention-Aware Belief-Propagation Decoding for NAND Flash Memory , 2017, IEEE Transactions on Circuits and Systems II: Express Briefs.

[45]  Shu Lin,et al.  A (21150, 19050) GC-LDPC Decoder for NAND Flash Applications , 2019, IEEE Transactions on Circuits and Systems I: Regular Papers.

[46]  Mustafa N. Kaynak,et al.  On Die Bit Error Rate Estimator for NAND Flash Memory , 2017, IEEE Transactions on Circuits and Systems II: Express Briefs.

[47]  Krishna R. Narayanan,et al.  Symmetric Block-Wise Concatenated BCH Codes for NAND Flash Memories , 2018, IEEE Transactions on Communications.

[48]  Hsie-Chia Chang,et al.  An area-efficient BCH codec with echelon scheduling for NAND flash applications , 2013, 2013 IEEE International Conference on Communications (ICC).

[49]  Jaehong Kim,et al.  Low-cost, low-power and high-throughput BCH decoder for NAND Flash Memory , 2012, 2012 IEEE International Symposium on Circuits and Systems.

[50]  Onur Mutlu,et al.  Data retention in MLC NAND flash memory: Characterization, optimization, and recovery , 2015, 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA).