Abstract
Due to the rapid technology scaling and increasing program/erase cycles, the raw bit error rate (RBER) in NAND flash memory keeps increasing rapidly. This dilemma seriously incurs reliability issues. The traditional error correction codes (ECCs) with stronger protection capability are usually equipped for all flash pages as a solution to maintain the mandatory yield and reliability levels. However, the growth of RBER is exponentially proportional to the number of induced P/E cycles and the distributions of errors are usually uneven. Therefore, the conventional uniform ECC protection based on the worst scenario of fault distributions might incur unnecessary hardware and latency overhead. Moreover, the overlong ECC check bits might be stored in two different flash pages. Therefore, two flash read/program operations are required for reading/programming a codeword. To cure these drawbacks, the ECC Caching (E3C) techniques are proposed in this paper. The main idea is to upgrade the ECC protection levels for flash pages when their correction slack is below the specified threshold. An ECC Cache containing the ECC CAM and the ECC SRAM is used for accessing and storing extra check bits, respectively. The corresponding repair flow and hardware architecture are also proposed. According to simulation results, we can enhance the reliability and yield of flash memories significantly with negligible hardware cost.
Similar content being viewed by others
Availability of Data and Materials
The datasets supporting the conclusions of this article are included within the article.
References
Basak A, Paul S, Park J, Park J, Bhunia S (2013) Reconfigurable ECC for Adaptive Protection of Memory. In Proc Int’l Midwest Symp Circuits and Systems (MWSCAS) pp. 1085–1088
Baumann RC (2001) Soft errors in advanced semiconductor devices—Part I: The three radiation sources. IEEE Trans Device Mater Reliab 1(1):17–22
Bez R, Camerlenghi E, Modelli A, Visconti A (2003) Introduction to flash memory. Proc IEEE 91(4):489–502
Cai Y, Ghose S, Haratshc EF, Luo Y, Mutlu O (2017) Error Characterization, Mitigation, and Recovery in Flash-Memory-Based Solid-State Drives. Proc IEEE 105(9):1666–1704
Chen TH, Hsiao YY, Hsing YT, Wu CW (2009) An Adaptive-Rate Error Correction Scheme for NAND Flash Memory. In Proc VLSI Test Symp pp. 53–58
Corcoran PM, Bigioi P, Nanu F (2014) Detection and Repair of Flash-eye in Handheld Devices. In Proc IEEE Int’l Conf on Consumer Electronics (ICCE) pp. 213–216
Forney G (1965) On Decoding BCH Codes. IEEE Tran Inf 11(4):549–557
Ginez O, Portal JM, Aziza H (2008) Reliability Issues in Flash Memories: An On-line Diagnosis and Repair Scheme for Word Line Drivers. In Proc Int’l Workshop on Mixed-Signals, Sensors, and Systems Test, pp. 1–6
Ginez O, Portal JM, Aziza H (2009) An On-Line Testing Scheme for Repairing Purposes in Flash Memories. In Proc IEEE Int’l Symp Des Diagnostics Electronic Circ Syst (DDECS) pp. 213–216
Guo J, Chen Z, Wang D, Shao Z, Chen Y (2014) DPA: A Data Pattern Aware Error Prevention Technique for NAND Flash Lifetime Extension. In Proc Asia South Pac Design Autom Conf (ASP-DAC) pp. 592–597
Hamming RW (1950) Error detecting and correcting codes. Bell Syst Tech J 29:147–160
Hsieh JW, Chen CW, Lin HY (2015) Adaptive ECC Scheme for Hybrid SSD’s. IEEE Trans Comp 64(12):3348–3361
Hsiao YY, Chen CH, Wu CW (2006) A Built-In Self-Repair Scheme for NOR-type flash memory. In Proc IEEE VLSI Test Symp (VTS), Berkeley pp. 114–119
Hsiao YY, Chen CH, Wu CW (2006) A built-in self-repair scheme for NOR-type flash memory. In Proc IEEE VLSI Test Symp (VTS) pp. 114–119
Hsiao YY, Chen CH, Wu CW (2010) “Built-In Self-Repair Schemes for Flash Memories. IEEE Trans Comput Aided Des Integr Circuits Syst 29(8):1243–1256
Huang CT, Yeh JC, Shih YY, Huang RF, Wu CW (2005) On test and diagnostics of flash memories. In Proc IEEE Asian Test Symp (ATS) pp. 260–265
IEEE Computer Society (2019) IEEE Standard for Error Correction Coding of Flash Memory Using Low-Density Parity Check Codes. In IEEE Std 1890-2018, vol., no., pp. 1–51, 28 Feb. 2019. https://doi.org/10.1109/IEEESTD.2019.8654228
Kuo W, Chien WTK, Kim T (1998) Reliability, yield, and stress burn-in. Kluwer Academic Publishers, Boston
Lu SK, Zhong SX, Hashizume M (2016) Adaptive ECC Techniques for Yield and Reliability Enhancement of Flash Memories. In Proc IEEE Asian Test Symp (ATS) pp. 287–292
Micheloni R, Picca M, Amato S, Schwalm H, Scheppler M, Commodaro S (2009) Non-volatile Memories for Removable Media. Proc IEEE 97(1):148–160
Mielke N et al (2008) Bit error rate in NAND Flash memories. In Proc IEEE Int’l Reliability Physics Symposium, Phoenix, AZ, USA pp. 9–19
Mielke NR, Frickey RE, Kalastirsky I, Quan M, Ustinov D, Vasudevan VJ (2017) Reliability of Solid-State Drives Based NAND Flash Memory. Proc IEEE 105(9):1725–1750
Ning S (2018) Advanced Bit Flip Concatenates BCH Code Demonstrates 0.93% Correctable BER and Faster Decoding on (36 864, 32 768) Emerging Memories. IEEE Trans Circuits and Systems I 65(12):4404–4412
Park Y, Lee J, Cho SS, Jin G, Jung E (2014) Scaling and Reliability of NAND Flash Devices. In Proc IEEE 52nd Int Reliab Phys Symp (IRPS) pp. 2E.1.1–2E.1.4
Tanakamaru S, Yanagihara Y, Takeuchi K (2013) Error-prediction LDPC and Error-recovery Schemes for Highly Reliable Solid-state Drives (SSDs). IEEE J Solid-State Circuits 48(11):2920–2933
Wei D, Deng L, Zhang P, Qiao L, Peng XY (2016) “NRC: A Nibble Remapping Coding Strategy for NAND Flash Reliability Extension. IEEE Trans Comput Aided Des Integr Circuits Syst 35(11):1942–1946
Yeh JC, Cheng KL, Chou YF, Wu CW (2007) “Flash memory testing and built-in self-diagnosis with march-like test algorithms. IEEE Trans Comput Aided Des Integr Circuits Syst 26(6):1101–1113
Yuan L, Liu H, Jia P, Yang Y (2015) Reliability-based ECC System for Adaptive Protection of NAND Flash Memories. In Proc 5th Int’l Conf. Commun Syst Netw Technol (CSNT) pp. 897–902
Zambelli C, Cancelliere G, Riguzzi F, Lamma E, Olivo P, Marelli A, Micheloni R (2017) Characterization of TLC 3D-NAND Flash Endurance through Machine Learning for LDPC Code Rate Optimization. In Proc Intt’l Memory Workshop (IMW) pp. 1–4
Zhou Y, Wu F, Lu Z, He X, Huang P, Xie C (2018) SCORE: A Novel Scheme to Efficiently Cache Overlong ECCs in NAND Flash Memory. ACM Trans Arch Code Opt n15(4):60:1–60:25
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of Interest Statement
The authors have no relevant financial or non-financial interests to disclose.
Additional information
Responsible Editor: M. Taouil
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Lu, SK., Tsai, ZL. E3C Techniques for Protecting NAND Flash Memories. J Electron Test 39, 487–500 (2023). https://doi.org/10.1007/s10836-023-06075-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10836-023-06075-6