Abstract
As NAND flash memory fabrication technology scales down to 20 nm and below, the raw bit error rate increases very rapidly and conventional hard-decision based error correction does not provide enough protection. The turbo product code (TPC) based error correction with multi-precision output from NAND flash memory is promising because of high error-correcting performance and flexibility in code construction. In this work, we construct a rate-0.907 (36116, 32768) extended TPC for 2-bit MLC NAND flash memory, and apply the Chase–Pyndiah decoding algorithm. An efficient complexity reduction scheme is also proposed to eliminate redundant computations in the Chase–Pyndiah decoding algorithm. The replica parallel decoding is also employed to lower the error floor. The experimental results that include the effects of flash memory output precision are presented for a simulated flash memory channel.
Similar content being viewed by others
References
Liu, W., Rho, J., Sung, W. (2006). Low-power high-throughput BCH error correction VLSI design for multi-level cell NAND flash memories. In IEEE workshop on signal processing systems design and implementation (pp. 303–308).
Richardson, T.J., Shokrollahi, M.A., Urbanke, R.L. (2001). Design of capacity-approaching irregular low-density parity-check codes. IEEE Transactions on Information Theory, 47(2), 619–637.
Chen, J., & Fossorier, M.P.C. (2002). Near optimum universal belief propagation based decoding of low-density parity check codes. IEEE Transactions on Communications, 50(3), 406–414.
Li, J., Narayanan, K.R., Kurtas, E., Georghiades, C.N. (2002). On the performance of high-rate TPC/SPC codes and LDPC codes over partial response channels. IEEE Transactions on Communications, 50(5), 723–734.
Zhang, X., Zhang, P., Li, D. (2010). Overlapped time division multiplexing system using turbo product code. In Proceedings of the 6th international conference on wireless communications networking and mobile computing (WiCOM) (pp. 1–5).
Elias, P. (1954). Error-free coding. IRE Professional Group on Information Theory, PGIT, 4(4), 29–37.
Chase, D. (1972). Class of algorithms for decoding block codes with channel measurement information. IEEE Transactions on Information Theory, 18(1), 170–182.
Berrou, C., & Glavieux, A. (1996). Near optimum error correcting coding and decoding: turbo-codes. IEEE Transactions on Communications, 44(10), 1261–1271.
Pyndiah, R.M. (1998). Near-optimum decoding of product codes: block turbo codes. IEEE Transactions on Communications, 46(8), 1003–1010.
Argon, C., & McLaughlin, S.W. (2002). A parallel decoder for low latency decoding of turbo product codes. IEEE Communications Letters, 6(2), 70–72.
Xu, C., Liang, Y.-C., Leon, W.S. (2006). MAP decoding algorithm for extended turbo product codes over flat fading channel. In Proceedings of the 40th Asilomar conference on signals, systems and computers (ACSSC) (pp. 2182–2184).
Bahl, L., Cocke, J., Jelinek, F., Raviv, J. (1974). Optimal decoding of linear codes for minimizing symbol error rate. IEEE Transactions on Information Theory, 20(2), 284–287.
Zhang, J., Wang, Y., Fossorier, M., Yedidia, J.S. (2005). Replica shuffled iterative decoding. In Proceedings of IEEE international symposium on information theory (ISIT) (pp. 454–458).
Xu, C., Yang, W., Ye, W. (2009). Decoding algorithms for shortened-extended turbo product codes in WiMAX systems. Science in China. Series F, Information Sciences, 52(12), 2415–2423.
Picart, A., & Pyndiah, R. (1999). Adapted iterative decoding of product codes. In Proceedings of the global telecommunications conference (GLOBECOM) (pp. 2357–2362).
Dong, G., Xie, N., Zhang, T. (2010). Techniques for embracing intra-cell unbalanced bit error characteristics in MLC NAND flash memory. In Proceedings of IEEE globecom workshop on application of communication theory to emerging memory technologies (pp. 303–308).
Dong, G., Xie, N., Zhang, T. (2011). On the use of soft-decision error-correction codes in NAND flash memory. IEEE Transactions on Circuits and Systems I: Regular Papers, 58(2), 429–439.
Bez, R., Camerlenghi, E., Modelli, A., Visconti, A. (2003). Introduction to flash memory. Proceedings of the IEEE, 91(4), 489–502.
Kim, J., Lee, D., Sung, W. (2012). Performance of rate 0.96 (68254, 65536) EG-LDPC code for NAND flash memory error correction. In Proceedings of IEEE ICC workshop on emerging data storage technologies.
Morelos-Zaragoza, R.H. (2002). The art of error correcting coding. New York: Wiley.
Liu, X., & Wang, K. (2009). Adaptive SNR estimation based decoding algorithm for block turbo codes. In Proceedings of the 4th international conference on communications and networking in China (ChinaCOM) (pp. 1–6).
Prall, K. (2007). Scaling non-volatile memory below 30nm. In Proceedings of the 22nd IEEE non-volatile semiconductor memory workshop (pp. 5–10).
Poliakov, P., Blomme, P., Corbalan, M.M., Houdt, J.V., Dehaene, W. (2011). Cross-cell interference variability aware model of fully planar NAND flash memory including line edge roughness. Microelectronics Reliability, 51(5), 919–924.
Wang, J., Courtade, T., Shankar, H., Wesel, R. (2011) Soft information for LDPC decoding in flash: mutual-information optimized quantization. In Proceedings of the global telecommunications conference (GLOBECOM) (pp. 1–6).
Kim, S., Kum, K.-I., Sung, W. (1998). Fixed-point optimization utility for C and C+ + based digital signal processing programs. IEEE Transactions on Circuits and Systems. 2, Analog and Digital Signal Processing, 45(11), 1455–1464.
Chen, J., Dholakia, A., Eleftheriou, E., Fossorier, M.P.C., Hu, X.-Y. (2005). Reduced-complexity decoding of LDPC codes. IEEE Transactions on Communications, 53(8), 1288–1299.
Acknowledgements
This work was supported in part by the Brain Korea 21 Project grant funded by the Ministry of Education, Science and Technology (MEST), Republic of Korea, and in part by the SK Hynix Inc.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Cho, J., Sung, W. Soft-Decision Error Correction of NAND Flash Memory with a Turbo Product Code. J Sign Process Syst 70, 235–247 (2013). https://doi.org/10.1007/s11265-012-0698-y
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-012-0698-y