IP Library › Granted Patent US 12,493,522
Granted Patent B2
US 12,493,522 · App. 18/654,109 · Granted Dec 9, 2025

Write control for read-modify-write operations in cache memory

Inventors: Abhijeet Ashok Chachad (Plano, TX); Timothy David Anderson (University Park, TX); David Matthew Thompson (Dallas, TX); Daniel Brad Wu (Plano, TX)
Assignee: Texas Instruments Incorporated
G06F11/1076G06F3/0619G06F3/064G06F3/0659G06F3/0673G06F3/0685G06F9/3816G06F12/0811G06F12/0815G06F12/126H04W24/10H04W56/001H04W72/02H04W72/044H04W74/0841H04W74/0866G06F3/0604G06F2212/608
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 12,493,522
App. No.
18/654,109
Granted
Dec 9, 2025
Kind
B2
Abstract

In described examples, a processor system includes a processor core that generates memory write requests, and a cache memory with a memory controller having a memory pipeline. The cache memory has cache lines of length L. The cache memory has a minimum write length that is less than a cache line length of the cache memory. The memory pipeline determines whether the data payload includes a first chunk and ECC syndrome that correspond to a partial write and are writable by a first cache write operation, and a second chunk and ECC syndrome that correspond to a full write operation that can be performed separately from the first cache write operation. The memory pipeline performs an RMW operation to store the first chunk and ECC syndrome in the cache memory, and performs the full write operation to store the second chunk and ECC syndrome in the cache memory.

Claims (58)

1 . A system, comprising:

a cache memory including a cache line having a cache line length of L bits; and

a memory controller configured to write to the cache memory based on a minimum write length of M bits, wherein L/M is an integer,

wherein the memory controller is configured to:

receive a request to write a data payload to the cache memory; and

in response to the request, perform a read-modify-write (RMW) operation based on the integer.

2 . The system of claim 1 , wherein to perform the RMW operation, the memory controller is configured to:

read conforming data from the cache memory;

modify a portion of the conforming data with the data payload to generate merged data; and

write the merged data to the cache memory.

3 . The system of claim 2 , wherein:

the conforming data includes a set of chunks of data; and

the memory controller is further configured to retrieve a set of error correction code (ECC) syndromes corresponding to the set of chunks of data.

4 . The system of claim 3 , wherein to perform the RMW operation, the memory controller is configured to:

prior to modifying the portion of the conforming data, determine whether an error exists in the set of chunks of data based on the set of ECC syndromes;

based on determining that an error exists in the set of chunks of data, correct the chunks of data using the set of ECC syndromes to generate corrected conforming data;

modify a portion of the corrected conforming data with the data payload to generate the merged data;

generate a set of updated ECC syndromes based on the merged data; and

write the set of updated ECC syndromes, in addition to the merged data, to the cache memory.

5 . The system of claim 3 , wherein each chunk of the set of chunks has a chunk length of P bits.

6 . The system of claim 5 , wherein the chunk length is equal to or less than the minimum write length.

7 . The system of claim 2 , wherein:

the request specifies an address corresponding to the cache line of the cache memory; and

the memory controller is configured to:

read the conforming data from the cache line of the cache memory; and

write the merged data to the cache line of the cache memory.

8 . The system of claim 2 , wherein the memory controller is further configured to:

determine to perform the RMW operation based on a size of the data payload being less than the minimum write length.

9 . The system of claim 8 , wherein to perform the RMW operation, the memory controller is configured to:

read the conforming data of the minimum write length, such that a size of the merged data is equal to the minimum write length.

10 . The system of claim 1 , wherein the memory controller is configured to operate based on clock cycles, and wherein the minimum write length corresponds to a size of data written by the memory controller to the cache memory in one single clock cycle.

11 . A method, comprising:

receiving, by a memory controller, a request to write a data payload to a cache memory, wherein the cache memory includes a cache line having a cache line length of L bits, wherein the memory controller writes to the cache memory based on a minimum write length of M bits, and wherein L/M is an integer; and

performing, by the memory controller in response to the request, a read-modify-write (RMW) operation based on the integer.

12 . The method of claim 11 , wherein performing the RMW operation comprises:

reading conforming data from the cache memory;

modifying a portion of the conforming data with the data payload to generate merged data; and

writing the merged data to the cache memory.

13 . The method of claim 12 , wherein:

the conforming data includes a set of chunks of data; and

the method further comprises retrieving a set of error correction code (ECC) syndromes corresponding to the set of chunks of data.

14 . The method of claim 13 , wherein performing the RMW operation comprises:

prior to modifying the portion of the conforming data, determining whether an error exists in the set of chunks of data based on the set of ECC syndromes;

based on determining that an error exists in the set of chunks of data, correcting the chunks of data using the set of ECC syndromes to generate corrected conforming data;

modifying a portion of the corrected conforming data with the data payload to generate the merged data;

generating a set of updated ECC syndromes based on the merged data; and

writing the set of updated ECC syndromes, in addition to the merged data, to the cache memory.

15 . The method of claim 13 , wherein each chunk of the set of chunks has a chunk length of P bits.

16 . The method of claim 15 , wherein the chunk length is equal to or less than the minimum write length.

17 . The method of claim 12 , wherein:

the request specifies an address corresponding to the cache line of the cache memory; and

reading the conforming data comprises reading the conforming data from the cache line of the cache memory; and

writing the merged data comprises writing the merged data to the cache line of the cache memory.

18 . The method of claim 12 , further comprises:

determining to perform the RMW operation based on a size of the data payload being less than the minimum write length.

19 . The method of claim 18 , wherein performing the RMW operation comprises:

reading the conforming data of the minimum write length, such that a size of the merged data is equal to the minimum write length.

20 . The method of claim 11 , wherein the memory controller operates based on clock cycles, and wherein the minimum write length corresponds to a size of data written by the memory controller to the cache memory in one single clock cycle.

Continuity (4)
Continuation 17956136 · Sep 29, 2022
Continuation 16874516 · May 14, 2020
Provisional Application 62852420 · May 24, 2019
Related Publication 20240281329A1 · Aug 22, 2024
References Cited (3)
US 5339435A · Lubkin · 1994 [cited by examiner]
US 20090276587A1 · Moyer · 2009 [cited by examiner]
US 20180165199A1 · Brandt · 2018 [cited by examiner]