IP Library › Granted Patent US 12,591,523
Granted Patent B2
US 12,591,523 · App. 18/408,322 · Granted Mar 31, 2026

Priority-based cache eviction policy governed by latency critical central processing unit (CPU) cores

Inventors: Kalangi Fredy Sundar (Hyderabad, IN); Mohd Salman (Kiratpur, IN); Hithesh Hassan Lepaksha (Hyderabad, IN); Sharath Kumar Nagilla (Hyderabad, IN)
Assignee: QUALCOMM Incorporated
G06F12/123G06F12/0811
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,591,523
App. No.
18/408,322
Granted
Mar 31, 2026
Kind
B2
Abstract

A processor-implemented method for a priority-based cache eviction policy includes receiving a read request from a first processing core for first data in a level three (L3) cache memory shared with a second processing core. The first processing core has a first operating frequency that is less than a second operating frequency of the second processing core. Responsive to the L3 cache being full, the policy further includes determining a second data or a third data stored in the L3 cache to evict based on a priority. The priority is based on an association of the second data or the third data to the first processing core or the second processing core.

Claims (29)

1 . An apparatus, comprising:

at least one memory; and

hardware logic coupled to the at least one memory, the hardware logic configured to:

receive a read request from a first processing core for first data in a level three (L3) cache memory shared with a second processing core, the first processing core having a first operating frequency less than a second operating frequency of the second processing core; and

determine, responsive to the L3 cache memory being full, second data or third data stored in the L3 cache memory to evict based on a priority, the priority being based on an operating frequency of a processing core for which the second data or the third data is requested,

wherein the second data is associated with the second processing core and the third data is associated with the first processing core, the second data having a recency that is later than the third data and further comprising evicting the third data from the L3 cache memory.

2 . The apparatus of claim 1 , in which the hardware logic is further configured to adapt the recency of the second data and the third data by switching an assignment of least recently used from the third data to the second data.

3 . The apparatus of claim 2 , in which the hardware logic is further configured to:

to fetch the first data from a main memory; and

to allocate a cache line in the L3 cache memory for the first data.

4 . The apparatus of claim 1 , in which the first processing core and the second processing core each have a level two (L2) cache memory, the first processing core and the second processing core both generating second read requests to a same address in the L3 cache memory, the first processing core modifies a cache line for the address, and further comprising updating the L2 cache memory for the second processing core according to the modification.

5 . An apparatus comprising:

means for receiving a read request from a first processing core for first data in a level three (L3) cache memory shared with a second processing core, the first processing core having a first operating frequency less than a second operating frequency of the second processing core; and

means for determining, responsive to the L3 cache memory being full, second data or third data stored in the L3 cache memory to evict based on a priority, the priority being based an operating frequency of a processing core for which the second data or the third data is requested,

wherein the second data is associated with the second processing core and the third data is associated with the first processing core, the second data having a recency that is later than the third data and further comprising means for evicting the third data from the L3 cache memory.

6 . The apparatus of claim 5 , further comprising means for adapting the recency of the second data and the third data by switching an assignment of least recently used from the third data to the second data.

7 . The apparatus of claim 6 , further comprising:

means for fetching the first data from a main memory; and

means for allocating a cache line in the L3 cache memory for the first data.

8 . The apparatus of claim 5 , in which the first processing core and the second processing core each have a level two (L2) cache memory, the first processing core and the second processing core both generating second read requests to a same address in the L3 cache memory, the first processing core modifies a cache line for the address, and further comprising updating the L2 cache memory for the second processing core according to the modification.

9 . A processor-implemented method performed by at least one processor, the processor implemented method comprising:

receiving a read request from a first processing core for first data in a level three (L3) cache memory shared with a second processing core, the first processing core having a first operating frequency less than a second operating frequency of the second processing core; and

determining, responsive to the L3 cache memory being full, second data or third data stored in the L3 cache memory to evict based on a priority, the priority being based on an operating frequency of a processing core for which the second data or the third data is requested,

wherein the second data is associated with the second processing core and the third data is associated with the first processing core, the second data having a recency that is later than the third data and further comprising evicting the third data from the L3 cache memory.

10 . The processor-implemented method of claim 9 , further comprising adapting the recency of the second data and the third data by switching an assignment of least recently used from the third data to the second data.

11 . The processor-implemented method of claim 10 , further comprising:

fetching the first data from a main memory; and

allocating a cache line in the L3 cache memory for the first data.

12 . The processor-implemented method of claim 9 , in which the first processing core and the second processing core each have a level two (L2) cache memory, the first processing core and the second processing core both generating second read requests to a same address in the L3 cache memory, the first processing core modifies a cache line for the address, and further comprising updating the L2 cache memory for the second processing core according to the modification.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2024
From: SUNDAR, KALANGI FREDY; SALMAN, MOHD; LEPAKSHA, HITHESH HASSAN; NAGILLA, SHARATH KUMAR
To: QUALCOMM INCORPORATED
Reel/Frame 066513/0347 →
Continuity (1)
Related Publication 20250225081A1 · Jul 10, 2025
References Cited (31)
US 8065487B2 · Kornegay · 2011 [cited by examiner]
US 9355043B2 · Sadok · 2016 [cited by examiner]
US 9378153B2 · Jafri · 2016 [cited by examiner]
US 10284470B2 · Wang · 2019 [cited by examiner]
US 10691614B1 · Subramani · 2020 [cited by examiner]
US 11681617B2 · Klimov · 2023 [cited by examiner]
US 20030093636A1 · Henry · 2003 [cited by examiner]
US 20080091880A1 · Vishin · 2008 [cited by examiner]
US 20080235456A1 · Komnegay · 2008 [cited by examiner]
US 20150067266A1 · Jafri · 2015 [cited by examiner]
US 20170024329A1 · Ishii · 2017 [cited by examiner]
US 20170039144A1 · Wang · 2017 [cited by examiner]
US 20170115892A1 · Gokita · 2017 [cited by examiner]
US 20170255563A1 · Kamruzzaman · 2017 [cited by examiner]
US 20180113815A1 · Eckert · 2018 [cited by examiner]
US 20180165219A1 · Yang · 2018 [cited by examiner]
US 20200117602A1 · Chirca · 2020 [cited by examiner]
US 20200210340A1 · Zhang · 2020 [cited by examiner]
US 20200285592A1 · Ambroladze · 2020 [cited by examiner]
US 20200371960A1 · Bhoria · 2020 [cited by examiner]
US 20210165739A1 · Srinivasan · 2021 [cited by examiner]
US 20210200656A1 · Weissmann · 2021 [cited by examiner]
US 20220171712A1 · Reed · 2022 [cited by examiner]
US 20220206862A1 · Gupta · 2022 [cited by examiner]
US 20230014565A1 · Ray · 2023 [cited by examiner]
WO WO2017027111A1 · 2017 [cited by examiner]
WO WO2022066339A1 · 2022 [cited by examiner]
M. Ohmacht, D. Hoenicke, R. Haring and A. Gara, “The eDRAM based L3-cache of the BlueGene/L supercomputer processor node,” 16th Symposium on Computer Architecture and High Performance Computing, Foz do Iguacu, Brazil, 2… [cited by examiner]
D. Hackenberg, D. Molka and W. E. Nagel, “Comparing cache architectures and coherency protocols on x86-64 multicore SMP systems,” 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), New York,… [cited by examiner]
E. Arima, “Classification-Based Unified Cache Replacement via Partitioned Victim Address History,” 2020 23rd Euromicro Conference on Digital System Design (DSD), Kranj, Slovenia, 2020, pp. 101-108. [cited by examiner]
A. Sembrant, E. Hagersten and D. Black-Schaffer, “Data placement across the cache hierarchy: Minimizing data movement with reuse-aware placement,” 2016 IEEE 34th International Conference on Computer Design (ICCD), Scott… [cited by examiner]