Shared error correction for memory design
AssigneeHewlett-Packard Development Company, L.P.
InventorsKevin Zhang, Jenny R. C. Johnson
Life of this patent
Estimating the term…
Abstract
A shared error correcting circuit reduces memory overhead by sharing a fixed number of ECC bits among two or more memory units in a semiconductor memory. A single ECC block is used to generate check bits and syndrome bits. The ECC block tests each of the memory units by using the total number of ECC bits available in the ECC cells. Thus, the memory overhead is reduced from that in standard ECC designs.
Claims9
A method for detecting and correcting errors in a semiconductor memory, comprising:
- partitioning the memory into M memory blocks, each of the M memory blocks capable of containing k data bits per error correcting code (ECC) code word, wherein the k data bits relate to a plurality of ECC bits generated by a common ECC block;
- assigning r ECC bits to the M memory blocks, wherein the value of r is determined using the product M×k and the type of ECC code used;
- and
- distributing the r ECC bits among the M memory blocks, wherein the M memory blocks share the common ECC block for ECC bits generation and for error detection and correction.
A shared error correcting code (ECC) circuit operating with a semiconductor memory having a plurality of memory units, comprising:
- a plurality of ECC cells corresponding to the plurality of memory units, wherein each of the plurality of memory units is capable of containing a plurality of data bits for each ECC code word;
- and
- a common ECC block that generates ECC bits, wherein a number of ECC bits in the plurality of ECC cells relates to a total number of data bits stored in the plurality of memory units for each ECC code word, wherein the ECC bits are distributed among the plurality of memory units, wherein the plurality of memory units share the common ECC block for ECC bits generation and for error detection and correction, and wherein the ECC bits correct multiple bit errors in the plurality of memory units.
A shared error correcting code (ECC) circuit operating with a semiconductor memory having a plurality of memory units, comprising:
- a plurality of ECC cells corresponding to the plurality of memory units, wherein each of the plurality of memory units is capable of containing a plurality of data bits for each ECC code word;
- and
- a common ECC block that generates ECC bits, wherein a number of ECC bits in the plurality of ECC cells relates to a total number of data bits stored in the plurality of memory units for each ECC code word, wherein the ECC bits are distributed among the plurality of memory units, wherein the plurality of memory units share the common ECC block for ECC bits generation and for error detection and correction, and wherein the ECC bits are distributed non-symmetrically among the plurality of memory units.
Dependencies are inferred from the claim text.