IP Library Granted Patent US 7,392,456
Granted Patent B2
US 7,392,456 · App. 10/997,604 · Granted Jun 24, 2008

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

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,392,456
App. No.
10/997,604
Granted
Jun 24, 2008
Kind
B2
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.

Claims (34)

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. 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. The memory system of claim 2 , wherein the read data path is configured to operate in parallel with the write data path.

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. 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 that an error exists in the first data word, and identifying a 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, wherein the merged data word contains the error;

generating a set of write check bits in response to the merged data word;

modifying the set of write check bits in response to the first data word and the set of read check bits, thereby creating a modified set of write check bits; and

writing the merged data word and the modified set of write check bits to the address of the memory.

6. The method of claim 5 , wherein the step of determining that 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. 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. The method of claim 7 , 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.

9. 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 and a corresponding set of check bits from an address of a memory;

determining that an error exists in the first data word read from the memory;

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, wherein the merged data word contains the error of the first data word;

generating a first set of write check bits in response to the merged data word;

generating a second set of write check bits in response to the first data word and the corresponding set of check bits;

modifying the first set of write check bits in response to the second set of write check bits, thereby creating a third set of write check bits; and

writing the merged data word and the third set of write check bits to the address of the memory.

Assignments (5)
CHANGE OF NAME Recorded Nov 24, 2025
From: INVENSAS LLC
To: ADEIA SEMICONDUCTOR TECHNOLOGIES LLC
Reel/Frame 073508/0745 →
CHANGE OF NAME Recorded Nov 24, 2025
From: INVENSAS CORPORATION
To: INVENSAS LLC
Reel/Frame 073941/0814 →
RELEASE OF SECURITY INTEREST Recorded Jun 11, 2020
From: ROYAL BANK OF CANADA
To: TESSERA, INC.; INVENSAS BONDING TECHNOLOGIES, INC. (F/K/A ZIPTRONIX, INC.); FOTONATION CORPORATION (F/K/A DIGITALOPTICS CORPORATION AND F/K/A DIGITALOPTICS CORPORATION MEMS); INVENSAS CORPORATION; TESSERA ADVANCED TECHNOLOGIES, INC; DTS, INC.; DTS LLC; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
Reel/Frame 052920/0001 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
SECURITY INTEREST Recorded Dec 2, 2016
From: INVENSAS CORPORATION; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; ZIPTRONIX, INC.; DIGITALOPTICS CORPORATION; DIGITALOPTICS CORPORATION MEMS; DTS, LLC; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 040797/0001 →