Programmable extended SEC-DED codes for memory errors

Redundant memory columns are an essential ingredient of memory design for yield and reliability. They are used either as spare columns for the replacement of completely defective regular columns or to store check-bits for error detection and correction codes. Column replacement allows to mask isolated malfunctioning storage cells as well. Unfortunately, the number of columns with defective storage cells that can be masked in this way cannot exceed the number of spare columns which is usually quite low. Here, we propose a way to increase the capacity of masking memory columns with isolated defective storage cells using spare memory columns. For this purpose, single error correction and double error detection (SEC-DED) codes already available for the protection against soft errors are extended such that all double-bit errors which affect a fixed sub-set of bit positions in the code words can be corrected. The cardinality of this sub-set is significantly higher than the number of spare columns. A bit-swapper is employed to map the bit positions that are protected by the extended SEC-DED code against double-bit errors to the memory columns with defective storage cells. In this way, single-bit soft-errors affecting any bit position can be corrected simultaneously with single-bit hard errors induced by any sub-set of memory columns. The bit-swapper can be dynamically reconfigured based on status information that designates the memory columns with defective storage cells. This facilitates the integration into built-in self-repair (BISR) schemes.

[1]  M. Hosomi,et al.  A novel nonvolatile memory with spin torque transfer magnetization switching: spin-ram , 2005, IEEE InternationalElectron Devices Meeting, 2005. IEDM Technical Digest..

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

[3]  Valentin Gherman,et al.  Programmable restricted SEC codes to mask permanent faults in semiconductor memories , 2010, 2010 IEEE 16th International On-Line Testing Symposium.

[4]  Nur A. Touba,et al.  Exploiting Unused Spare Columns to Improve Memory ECC , 2009, 2009 27th IEEE VLSI Test Symposium.

[5]  Tryggve Fossum,et al.  Cache scrubbing in microprocessors: myth or necessity? , 2004, 10th IEEE Pacific Rim International Symposium on Dependable Computing, 2004. Proceedings..

[6]  R. Harboe-Sorensen,et al.  Can Atmospheric Neutrons Induce Soft Errors in nand Floating Gate Memories? , 2009, IEEE Electron Device Letters.

[7]  Robert Baumann,et al.  Soft errors in advanced computer systems , 2005, IEEE Design & Test of Computers.

[8]  Charles H. Stapper,et al.  Synergistic Fault-Tolerance for Memory Chips , 1992, IEEE Trans. Computers.

[9]  S. E. Schuster Multiple word/bit line redundancy for semiconductor memories , 1978 .

[10]  N. Rydbeck,et al.  PCM/TDMA satellite communication systems with error correcting and error detecting codes , 1976 .

[11]  Cristian Constantinescu,et al.  Trends and Challenges in VLSI Circuit Reliability , 2003, IEEE Micro.

[12]  Lorena Anghel,et al.  A diversified memory built-in self-repair approach for nanotechnologies , 2004, 22nd IEEE VLSI Test Symposium, 2004. Proceedings..

[13]  T. M. Mak,et al.  Do we need anything more than single bit error correction (ECC)? , 2004, Records of the 2004 International Workshop on Memory Technology, Design and Testing, 2004..

[14]  Richard W. Hamming,et al.  Error detecting and error correcting codes , 1950 .

[15]  Yervant Zorian,et al.  Built in self repair for embedded high density SRAM , 1998, Proceedings International Test Conference 1998 (IEEE Cat. No.98CH36270).

[16]  Benoît Godard,et al.  Hierarchical Code Correction and Reliability Management in Embedded nor Flash Memories , 2008, 2008 13th European Test Symposium.

[17]  M. Horiguchi,et al.  Redundancy techniques for high-density DRAMs , 1997, 1997 Proceedings Second Annual IEEE International Conference on Innovative Systems in Silicon.

[18]  M. Y. Hsiao,et al.  A class of optimal minimum odd-weight-column SEC-DED codes , 1970 .

[19]  Chin-Long Chen,et al.  Error-Correcting Codes for Semiconductor Memory Applications: A State-of-the-Art Review , 1984, IBM J. Res. Dev..

[20]  Shekhar Y. Borkar,et al.  Designing reliable systems from unreliable components: the challenges of transistor variability and degradation , 2005, IEEE Micro.