EP1815338A2

Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory

Abstract

Write check bits are generated in a predictive manner for partial-word write transactions in a memory system implementing error code correction. A read data word and associated read check bits are read from an address of the memory. If an error exists in a byte of the read data word, this byte is identified. At the same time, one or more bytes of the uncorrected read data word are merged with one or more bytes of a write data word, thereby creating a merged data word. Write check bits are generated in response to the merged data word. If the merged data word includes a byte of the read data word, which contains an error, the write check bits are modified to reflect this error. The merged data word and the modified (or unmodified) write check bits are then written to the address of the memory.

Term

Term ended

Projected expiry passed 3 November 2025, 0.9 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

8 claims: 4 independent, 4 dependent

  1. 1
    Claims of equivalent WO 2006057793 A2 CLAIMS We Claim:1. A memory system comprising: a memory array configured to store a plurality of data values and an associated plurality of error correction bits;and a memory interface configured to support partial-word write operations to the memory array, wherein the memory interface is adapted to generate write check bits for the partial-word write operations in a predictive manner.
  2. 2
    The memory system of Claim 1, wherein the memory interface comprises:a read data path including a first error correction code (ECC) generator and means for generating a syndrome word in response to the error correction bits read from the memory array and error correction bits provided by the first ECC generator;and a write path comprising a multiplexer circuit for merging a partial write data value with an uncorrected data value read from the memory array to create a merged write data word, and a second ECC generator coupled to receive the merged write data word.
  3. 3
    The memory system of Claim 2, wherein the read data path is configured to operate in parallel with the write data path.
  4. 4
    The memory system of Claim 2, wherein the read data path further comprises a partial syndrome decoder coupled to receive the syndrome word and a partial-word write enable signal, wherein the partial syndrome decoder is configured to generate a control signal that indicates whether a partial-word of the read data word containing an error is not being overwritten.
  5. 5
    A method of performing a partial-word write transaction in a memory system implementing error code correction, the method comprising:reading a first data word having a plurality of partial-words and a set of read check bits from an address of a memory;determining whether an error exists in the first data word, and if an error does exist, identifying a read data partial-word of the first data word, which contains the error;merging one or more partial-words of the first data word with one or more partial-words of a write data word, thereby creating a merged data word;generating a set of write check bits in response to the merged data word;modifying the set of write check bits if the merged data word includes a partial-word of the first data word which contains an error;and writing the merged data word and the set of write check bits to the address of the memory.
  6. 6
    The method of Claim 5, wherein the step of determining whether an error exists in the first data word is performed in parallel with the steps of merging one or more partial-words of the first data word with one or more partial-words of a write data word and generating a set of write check bits in response to the merged data word.
  7. 7
    A method of performing a partial-word write transaction in a memory system implementing error code correction, the method comprising:reading a read data word and corresponding first set of read check bits from an address of a memory;generating a second set of read check bits in response to the read data word;generating a syndrome word in response to the first and second sets of read check bits, wherein the syndrome word identifies a location of an error, if any, in the read data word;merging one or more partial-words of the read data word with one or more partial-words of a write data word, thereby creating a merged data word;generating a first set of write check bits in response to the merged data word;modifying the first set of write check bits to create a second set of write check bits if the merged data word includes a partial-word of the read data word which contains an error;passing the first set of write check bits as the second set of write check bits if the merged data word does not include a partial-word of the read data word which contains an error;and writing the merged data word and the second set of write check bits to the address of the memory.
  8. 8
    The method of Claim I 1 wherein the steps of generating the second set of read check bits and generating the syndrome word are performed in parallel with the steps of merging one or more partial-words of the read data word with one or more partial-words of the write data word and generating the first set of write check bits.