IP Library Granted Patent US 12670062
Granted Patent B2
US 12670062 · App. 18/673,743 · Granted Jun 30, 2026

Optimized error correction code architecture for memory

Inventors: Edward Martin McCombs, Jr. (Austin, TX); Andrew David Tune (Dronfield, GB); Sean James Salisbury (Dendron, GB); Akshay Kumar (New Delhi, IN)
Assignee: ARM LIMITED
G06F11/1044
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 12670062
App. No.
18/673,743
Granted
Jun 30, 2026
Kind
B2
Abstract

A memory circuitry with optimized error correction code architecture includes a memory array; a wordline driver, the wordline driver coupled to receive an address and select a corresponding wordline of the memory array; read circuitry coupled to bitlines of the memory array; and error correction code (ECC) logic coupled to receive outputs of a set of columns selected by the read circuitry. The ECC logic performs a partial decoding of the outputs to output a partial ECC result that represents if there is an error and where that error is located.

Claims (36)

1 . A memory circuitry comprising:

a memory array;

a wordline driver, the wordline driver structured to receive an address and select a corresponding wordline of the memory array;

read circuitry coupled to bitlines of the memory array; and

error correction code (ECC) logic coupled to a set of columns to receive outputs of the set of columns selected by the read circuitry, wherein the ECC logic performs a partial decoding of the outputs to output a partial ECC result that represents if there is an error and where the error is located.

2 . The memory circuitry of claim 1 ,

wherein the set of columns to which the ECC logic is coupled is a specific number of columns set aside for storing ECC bits.

3 . The memory circuitry of claim 1 ,

wherein the memory array is structured to store a plurality of ECC bits in each row, the set of columns coupled to the ECC logic are columns corresponding to a location of the ECC bits of each row.

4 . The memory circuitry of claim 1 , wherein the ECC logic comprises syndrome computation logic and the partial ECC result is a syndrome.

5 . The memory circuitry of claim 4 , wherein the ECC logic comprises part of a hamming code logic.

6 . The memory circuitry of claim 1 , wherein the ECC logic comprises partial decoding operations.

7 . The memory circuitry of claim 1 , wherein the ECC logic comprises XOR gates.

8 . The memory circuitry of claim 1 , further comprising hit circuitry structured to receive outputs of a second set of columns selected by the read circuitry and a set of tag bits of a received address for lookup for comparison.

9 . The memory circuitry of claim 1 , wherein the partial ECC result is output in place of ECC bits stored in the memory array during a read operation.

10 . The memory circuitry of claim 1 , wherein the outputs of the set of columns selected by the read circuitry are ECC bits stored in a row of the memory array, the ECC bits being for a particular data corresponding to one way of a plurality of ways or across an entire row of data corresponding to more than one way of the plurality of ways.

11 . A method of operating a memory circuitry, the method comprising:

storing data and error correction code (ECC) bits encoding error information of the data in a memory array of the memory circuitry, wherein storing the data and ECC bits in the memory array comprises:

loading preamble bits of a plurality of ways in a row of the memory array and loading the ECC bits in the row, wherein the ECC bits encode error information across all bits of the preamble bits of the plurality of ways in the row;

receiving an address at the memory circuitry;

selecting, by a wordline driver structured to receive the address, a corresponding wordline of the memory array; and

performing, by ECC logic of the memory circuitry, a partial decoding of output of a set of columns selected by read circuitry of the memory circuitry to output a partial ECC result that represents if there is an error and where that error is located, wherein the set of columns selected by the read circuitry correspond to columns in which the data and ECC bits are stored in the memory array.

12 . The method of claim 11 , wherein the set of columns selected by the read circuitry correspond to all columns of the memory array, wherein the partial ECC result represents if there is an error in any of the preamble bits of any of the plurality of ways in the row and where that error is located in the row.

13 . The method of claim 11 , wherein the ECC logic comprises syndrome computation logic and the partial ECC result is a syndrome.

14 . The method of claim 13 , wherein the ECC logic comprises part of a hamming code logic.

15 . The method of claim 11 , wherein the ECC logic comprises partial decoding operations.

16 . The method of claim 11 , wherein the ECC logic comprises XOR gates.

17 . A method of operating a memory circuitry, the method comprising:

storing data and error correction code (ECC) bits encoding error information of the data in a memory array of the memory circuitry, wherein storing the data and ECC bits in the memory array comprises:

loading prologue bits and memory data information of one or more ways of a plurality of ways in a row of the memory array and loading the ECC bits in the row, wherein the ECC bits encode error information across all bits of the one or more ways in the row;

receiving an address at the memory circuitry;

selecting, by a wordline driver structured to receive the address, a corresponding wordline of the memory array; and

performing, by ECC logic of the memory circuitry, a partial decoding of output of a set of columns selected by read circuitry of the memory circuitry to output a partial ECC result that represents if there is an error and where that error is located, wherein the set of columns selected by the read circuitry correspond to columns in which the data and ECC bits are stored in the memory array.

18 . The method of claim 17 , wherein the set of columns selected by the read circuitry correspond to columns storing the prologue bits, the memory data information of the way, and the ECC bits, wherein the partial ECC result represents if there is an error in data for the way and where that error is located in the row.

19 . The method of claim 17 , wherein the ECC logic comprises syndrome computation logic and the partial ECC result is a syndrome.

20 . The method of claim 17 , wherein the ECC logic comprises partial decoding operations.