IP Library › Granted Patent US 12,625,822
Granted Patent B2
US 12,625,822 · App. 18/775,300 · Granted May 12, 2026

Methods and apparatus to facilitate read-modify-write support in a victim cache

Inventors: Naveen Bhoria (Plano, TX); Timothy David Anderson (University Park, TX); Pete Michael Hippleheuser (Murphy, TX)
Assignee: Texas Instruments Incorporated
G06F12/128G06F9/3001G06F9/30043G06F9/30047G06F9/546G06F11/1064G06F12/0215G06F12/0238G06F12/0292G06F12/0802G06F12/0804G06F12/0806G06F12/0811G06F12/0815G06F12/082G06F12/0853G06F12/0855G06F12/0864G06F12/0884G06F12/0888G06F12/0891G06F12/0895G06F12/0897G06F12/1027G06F12/12G06F12/121G06F12/126G06F12/127G06F13/1605G06F13/1642G06F13/1673G06F13/1689G06F15/8069G11C5/066G11C7/10G11C7/1015G11C7/106G11C7/1075G11C7/1078G11C7/1087G11C7/222G11C29/42G11C29/44G06F2212/1016G06F2212/1021G06F2212/1024G06F2212/1041G06F2212/1044G06F2212/301G06F2212/454G06F2212/603G06F2212/6032G06F2212/6042G06F2212/608G06F2212/62
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,625,822
App. No.
18/775,300
Filed
Jul 17, 2024
Granted
May 12, 2026
Kind
B2
Art Unit
2112
USPC
714/764
Abstract

Methods, apparatus, systems and articles of manufacture are disclosed to facilitate read-modify-write support in a victim cache. An example apparatus includes a first storage coupled to a controller, a second storage coupled to the controller and parallel coupled to the first storage, and a storage queue coupled to the first storage, the second storage, and to the controller, the storage queue to obtain a memory operation from the controller indicating an address and a first set of data, obtain a second set of data associated with the address from at least one of the first storage and the second storage, merge the first set of data and the second set of data to produce a third set of data, and provide the third set of data for writing to at least one of the first storage and the second storage.

Claims (61)

1 . A device, comprising:

a cache controller;

a first cache storage coupled to the cache controller;

a second cache storage coupled to the cache controller in parallel with the first cache storage; and

a storage queue coupled to the second cache storage and the cache controller,

wherein the cache controller is configured to cause the storage queue to:

receive a first set of data from the first cache storage;

receive a second set of data from the second cache storage;

merge the first set of data and the second set of data to produce a third set of data; and

write the third set of data to the second cache storage.

2 . The device of claim 1 , wherein the storage queue is configured to receive a memory operation that indicates an address and includes the first set of data.

3 . The device of claim 2 , wherein the second set of data is associated with the address.

4 . The device of claim 1 , wherein the storage queue comprises a read-modify-write circuit configured to merge the first set of data and the second set of data to produce the third set of data.

5 . The device of claim 1 , wherein:

the storage queue comprises an error correcting code generator circuit configured to generate a set of error correcting code syndrome bits based on the third set of data; and

the storage queue is configured to write the set of error correcting code syndrome bits to the second cache storage.

6 . The device of claim 1 , wherein

the first cache storage is a level one (L1) main cache storage; and

the second cache storage is an L1 victim cache storage.

7 . The device of claim 6 , further comprising:

a level two (L2) cache storage; and

an L2 interface configured to receive the third set of data for writing to the L2 cache storage.

8 . A system, comprising:

a processing unit configured to generate a memory operation;

a cache controller configured to receive the memory operation;

a first cache storage coupled to the cache controller;

a second cache storage coupled to the cache controller in parallel with the first cache storage; and

a storage queue coupled to the second cache storage and the cache controller,

wherein the cache controller is configured to cause, based on the memory operation, the storage queue to:

receive a first set of data from the first cache storage;

receive a second set of data from the second cache storage;

merge the first set of data and the second set of data to produce a third set of data; and

write the third set of data to the second cache storage.

9 . The system of claim 8 , wherein the memory operation indicates an address and includes the first set of data.

10 . The system of claim 9 , wherein the second set of data is associated with the address.

11 . The system of claim 8 , wherein the storage queue comprises a read-modify-write circuit configured to merge the first set of data and the second set of data to produce the third set of data.

12 . The system of claim 8 , wherein:

the storage queue comprises an error correcting code generator circuit configured to generate a set of error correcting code syndrome bits based on the third set of data; and

the storage queue is configured to write the set of error correcting code syndrome bits to the second cache storage.

13 . The system of claim 8 , wherein

the first cache storage is a level one (L1) main cache storage; and

the second cache storage is an L1 victim cache storage.

14 . The system of claim 13 , further comprising:

a level two (L2) cache storage; and

an L2 interface configured to receive the third set of data for writing to the L2 cache storage.

15 . A method, comprising:

retrieving, by a cache controller, a first set of data from a first cache storage;

providing the first set of data to a storage queue coupled to a second cache storage;

retrieving a second set of data from the second cache storage;

merging, by the storage queue, the first set of data and the second set of data to produce a third set of data; and

storing, by the storage queue, the third set of data in the second cache storage.

16 . The method of claim 15 , wherein the storage queue receives a memory operation that indicates an address and includes the first set of data.

17 . The method of claim 16 , wherein the second set of data is associated with the address.

18 . The method of claim 15 , further comprising:

generating a set of error correcting code syndrome bits based on the third set of data; and

storing the set of error correcting code syndrome bits in the second cache storage.

19 . The method of claim 15 , wherein:

the first cache storage is a level one (L1) main cache storage; and

the second cache storage is an L1 victim cache storage.

20 . The method of claim 19 , further comprising:

providing the third set of data to a level two (L2) cache storage for writing.

Continuity (4)
Continuation 18309893 · May 1, 2023
Continuation 16882231 · May 22, 2020
Provisional Application 62852494 · May 24, 2019
Related Publication 20240370380A1 · Nov 7, 2024
References Cited (20)
US 6775750B2 · Krueger · 2004 [cited by applicant]
US 7836262B2 · Gunna · 2010 [cited by examiner]
US 8117390B2 · Cummings et al. · 2012 [cited by applicant]
US 8181005B2 · Zuraski, Jr. et al. · 2012 [cited by applicant]
US 9170955B2 · Forsyth et al. · 2015 [cited by applicant]
US 9690710B2 · Wang et al. · 2017 [cited by applicant]
US 10447316B2 · Shang et al. · 2019 [cited by applicant]
US 11163700B1 · Williams et al. · 2021 [cited by applicant]
US 20120042126A1 · Krick et al. · 2012 [cited by applicant]
US 20120221774A1 · Atkisson et al. · 2012 [cited by applicant]
US 20130191601A1 · Peterson et al. · 2013 [cited by applicant]
US 20140189245A1 · Rupley et al. · 2014 [cited by applicant]
US 20150006820A1 · Bhoria et al. · 2015 [cited by applicant]
US 20160315639A1 · Shang et al. · 2016 [cited by applicant]
US 20170344575A1 · Naylor et al. · 2017 [cited by applicant]
US 20180107602A1 · Dasgupta et al. · 2018 [cited by applicant]
US 20190073305A1 · Hijaz et al. · 2019 [cited by applicant]
US 20230401162A1 · Bhoria et al. · 2023 [cited by applicant]
International Search Report for PCT/US2020/034560 mailed Aug. 20, 2020. [cited by applicant]
International Search Report for PCT/US2020/034557 mailed Sep. 10, 2020. [cited by applicant]