IP Library › Granted Patent US 12,001,282
Granted Patent B2
US 12,001,282 · App. 17/956,136 · Granted Jun 4, 2024

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,001,282
App. No.
17/956,136
Granted
Jun 4, 2024
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 (57)

1. A system comprising:

at least one processor;

a cache memory including a minimum write length (M) and a memory line length (L), wherein L/M is a first integer; and

a memory controller coupled to the at least one processor and the cache memory, the memory controller configured to perform a read modify write (RMVV) operation in response to a memory write request including a data payload, wherein:

the memory controller performs the RMW operation on a set of conforming chunks of conforming data from the cache memory based on the first integer; and

the RMW operation is configured to:

retrieve the conforming data from the cache memory that corresponds to the set of conforming chunks;

merge the conforming data with the data payload, wherein the merge overwrites a portion of the conforming data to produce merged data; and

store the merged data in the cache memory.

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

perform the RMW operation in response to a flag indicating a partial write.

3. The system of claim 1 , wherein:

the conforming data is retrieved from the cache memory corresponding to an address of the data payload.

4. The system of claim 1 , wherein:

the set of conforming chunks correspond to a cache line length and a set of conforming ECC syndromes.

5. The system of claim 4 , wherein the memory controller is configured to:

update the set of conforming ECC syndromes to form updated corresponding ECC syndromes; and

store the updated corresponding ECC syndromes in the cache memory.

6. The system of claim 1 , wherein:

each of the set of conforming chunks includes a chunk length (P); and

M/P is a second integer.

7. The system of claim 6 , wherein:

L/P is a third integer.

8. The system of claim 7 , wherein:

in response to the first integer and the third integer being equal to or greater than 1, the set of conforming chunks is based on the second integer.

9. The system of claim 1 , wherein:

in response to the first integer being greater than or equal to 2, the set of conforming chucks is less than all chunks of the conforming data.

10. The system of claim 1 , wherein the memory controller is configured to:

detect an error in the set of conforming chunks; and

correct the error.

11. A method comprising:

receiving, by a memory controller, a memory write request including a data payload;

in response to the memory write request indicating a read modify write (RMW) operation, performing the RMW operation on a set of conforming chunks of conforming data from a cache memory, the set of conforming chunks based on a first integer corresponding to a ratio of a minimum write length (M) of a cache memory and a memory line length (L) of the cache memory, wherein the RMW operation includes:

retrieving the conforming data from the cache memory that corresponds to the set of conforming chunks;

merging the conforming data with the data payload, wherein the merge overwrites a portion of the conforming data to produce merged data; and

storing the merged data in the cache memory.

12. The method of claim 11 , wherein:

the memory write request includes a flag indicating a partial write.

13. The method of claim 11 , wherein:

the conforming data is retrieved from the cache memory corresponding to an address of the data payload.

14. The method of claim 11 , wherein:

the set of conforming chunks correspond to a cache line length and a set of conforming ECC syndromes.

15. The method of claim 14 , wherein the memory controller is configured to:

update the set of conforming ECC syndromes to form updated corresponding ECC syndromes; and

store the updated corresponding ECC syndromes in the cache memory.

16. The method of claim 11 , wherein:

each of the set of conforming chunks includes a chunk length (P); and

M/P is a second integer.

17. The method of claim 16 , wherein:

UP is a third integer.

18. The method of claim 17 , wherein:

in response to the first integer and the third integer being equal to or greater than 1, the set of conforming chunks is based on the second integer.

19. The method of claim 11 , wherein:

in response to the first integer being greater than or equal to 2, the set of conforming chucks is less than all chunks of the conforming data.

20. The method of claim 11 , wherein the RMW operation includes:

detecting an error in the set of conforming chunks; and

correcting the error.

Continuity (3)
Continuation 16874516 · May 14, 2020
Provisional Application 62852420 · May 24, 2019
Related Publication 20230013270A1 · Jan 19, 2023