Skip to main content

Advertisement

Log in

Memory Reliability Improvement Based on Maximized Error-Correcting Codes

  • Published:
Journal of Electronic Testing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
€32.70 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (France)

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

References

  1. Berlekamp ER (1968) Algebraic coding theory. McGraw-Hill Book Co., Inc., New York

    MATH  Google Scholar 

  2. Blaauw GA, Dunwell SW (1967) Simplified partial double error correction using single error correcting code. U S Patent 3328759 06/27

  3. 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

  4. 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

  5. Dell TJ (1997) A white paper on the benefits of chipkill-correct ECC for PC server main memory. IBM Microelectron Div

  6. 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

  7. 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

  8. Hamming RW (1950) Error correcting and error detecting codes. Bell Sys Tech Journal 29:147–160

    Article  MathSciNet  Google Scholar 

  9. He J, Sun JZ, Zhang S (2007) Switching speed distribution of spin-torque-induced magnetic reversal. J Appl Phys 19 March

  10. Lin S, Costello DJ (1983) Error control coding: fundamentals and applications. Prentice-Hall, Inc., Englewood Cliffs

    Google Scholar 

  11. 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

  12. Nicolaidis M, Achouri N, Anghel L (2004) A diversified memory built-in self-repair approach for nanotechnologies. IEEE VLSI Test Symp pp. 313–318

  13. 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

  14. Shamshiri S, Cheng K-T (2010) Error-locality-aware linear coding to correct multi-bit upsets in SRAMs. IEEE Int Test Conf

  15. Shirvani PP, Saxena N, McCluskey EJ (2000) Software implemented EDAC protection against SEUs. IEEE Trans Reliab 49(3):273–284

    Article  Google Scholar 

  16. 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

  17. 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

Download references

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

Authors

Corresponding author

Correspondence to Valentin Gherman.

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

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10836-013-5396-6

Keywords

Navigation