Abstract
Error-correcting codes (ECC) offer an efficient way to improve the reliability and yield of memory subsystems. ECC-based protection is usually provided on a memory word basis such that the number of data-bits in a codeword corresponds to the amount of information that can be transferred during a single memory access operation. Consequently, the codeword length is not the maximum allowed by a certain check-bit number since the number of data-bits is constrained by the width of the memory data interface. This work investigates the additional error correction opportunities offered by the absence of a perfect match between the numbers of data-bits and check-bits in some widespread ECCs. A method is proposed for the selection of multi-bit errors that can be additionally corrected with a minimal impact on ECC decoder latency. These methods were applied to single-bit error correction (SEC) codes and double-bit error correction (DEC) codes. Reliability improvements are evaluated for memories in which all errors affecting the same number of bits in a codeword are independent and identically distributed. It is shown that the application of the proposed methods to conventional DEC codes can improve the mean-time-to-failure (MTTF) of memories with up to 30 %. Maximized versions of the DEC codes are also proposed in which all adjacent triple-bit errors become correctable without affecting the maximum number of triple-bit errors that can be made correctable.




Similar content being viewed by others
References
Berlekamp ER (1968) Algebraic coding theory. McGraw-Hill Book Co., Inc., New York
Blaauw GA, Dunwell SW (1967) Simplified partial double error correction using single error correcting code. U S Patent 3328759 06/27
Chen CL, Hsiao MY (1992) Error-correcting codes for semiconductor memory applications: a state of the art review. Reliable Comput Syst Des Eval, 2nd edn. Digital Press
Chishti Z, Alameldeen AR, Wilkerson C, Wu W, Lu S-L (2009) Improving cache lifetime reliability at ultra-low voltages. Int Symp Microarchitecture 42, New York City, December
Dell TJ (1997) A white paper on the benefits of chipkill-correct ECC for PC server main memory. IBM Microelectron Div
Gherman V, Evain S, Bonhomme Y (2011) Generalized parity-check matrices for SEC-DED codes with fixed parity. IEEE Int On-Line Test Symp pp. 200-203
Godard B, Daga J-M, Torres L, Sassatelli G (2008) Hierarchical code correction and reliability management in embedded nor flash memories. IEEE Eur Test Symp pp. 84–90
Hamming RW (1950) Error correcting and error detecting codes. Bell Sys Tech Journal 29:147–160
He J, Sun JZ, Zhang S (2007) Switching speed distribution of spin-torque-induced magnetic reversal. J Appl Phys 19 March
Lin S, Costello DJ (1983) Error control coding: fundamentals and applications. Prentice-Hall, Inc., Englewood Cliffs
Naseer R, Draper J (2008) DEC ECC design to improve memory reliability in sub-100nm technologies. IEEE Int Conf Electron Circ Syst pp. 586–589
Nicolaidis M, Achouri N, Anghel L (2004) A diversified memory built-in self-repair approach for nanotechnologies. IEEE VLSI Test Symp pp. 313–318
Price DW (1973) Error correction system for single-error correction, related-double-error correction and unrelated-double-error detection. U S Patent 3755779 08/28
Shamshiri S, Cheng K-T (2010) Error-locality-aware linear coding to correct multi-bit upsets in SRAMs. IEEE Int Test Conf
Shirvani PP, Saxena N, McCluskey EJ (2000) Software implemented EDAC protection against SEUs. IEEE Trans Reliab 49(3):273–284
Spica M, Mak TM (2004) Do we need anything more than single bit error correction (ECC)?. IEEE Int Work Mem Technol Des Testing August 9–10, San Jose, CA, USA
Su CL, Tsai CW, Wu CW, Hung CC, Chen YS, Kao MJ (2006) Testing MRAM for write disturbance fault. IEEE Int Test Conf pp. 277–288
Acknowledgments
We are very grateful to Ken Mackay and Jérémy Alvarez-Hérault from Crocus Technology for their support and valuable advices.
Author information
Authors and Affiliations
Corresponding author
Additional information
Responsible Editor: M. Violante
Submission based on an ETS2012 paper and solicited by ETS. This work has been funded by the French national research agency under the framework of the ANR-10-SEGI-007 EMYR (Enhancement of MRAM Memory Yield and Reliability) project.
This work has been funded by the French national research agency under the framework of the ANR-10-SEGI-007 EMYR (Enhancement of MRAM Memory Yield and Reliability) project.
Rights and permissions
About this article
Cite this article
Gherman, V., Evain, S. & Bonhomme, Y. Memory Reliability Improvement Based on Maximized Error-Correcting Codes. J Electron Test 29, 601–608 (2013). https://doi.org/10.1007/s10836-013-5396-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10836-013-5396-6