IP Library Granted Patent US 12711071
Granted Patent B2
US 12711071 · App. 18/824,818 · Granted Aug 18, 2026

Allocation control for cache

Inventors: Chintan S. Patel (Santa Clara, CA); Alexander J. Branover (Boxborough, MA); Benjamin Tsien (Santa Clara, CA); Edgar Munoz (Austin, TX); Vydhyanathan Kalyanasundharam (Santa Clara, CA)
Assignee: Advanced Micro Devices, Inc.
G06F12/0871G06F12/0811G06F12/0864
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 12711071
App. No.
18/824,818
Granted
Aug 18, 2026
Kind
B2
Abstract

A technique for operating a cache is disclosed. The technique includes based on a workload change, identifying a first allocation permissions policy; operating the cache according to the first allocation permissions policy; based on set sampling, identifying a second allocation permissions policy; and operating the cache according to the second allocation permissions policy.

Claims (32)

1 . A method comprising:

performing caching operations, by a last level cache, for a plurality of clients connected via an interconnect to the last level cache;

based on a workload change, changing a first allocation policy for the last level cache to generate an updated first allocation policy that indicates which clients of the plurality of clients are permitted to allocate into the last level cache, wherein the updated first allocation policy reduces cache thrashing associated with contention among the plurality of clients as compared with the first allocation policy; and

operating the last level cache according to the updated first allocation policy.

2 . The method of claim 1 , wherein the workload changes comprises changing from a first workload to a second workload, wherein the first workload includes a first set of executing applications and active clients, and the second workload includes a second set of executing applications and active clients.

3 . The method of claim 1 , further comprising determining the updated first allocation policy based on aspects of execution observed for the workload change.

4 . The method of claim 1 , further comprising determining the updated first allocation policy using a set sampling technique.

5 . The method of claim 4 , wherein the set sampling technique comprises observing performance of different allocation policies in different sets of the last level cache.

6 . The method of claim 5 , wherein the different sets are cache associativity sets.

7 . The method of claim 1 , wherein the first allocation policy and the first updated allocation policy indicate which clients are permitted to allocate entries in the last level cache and which clients are not permitted to allocate entries in the last level cache.

8 . The method of claim 7 , where the allocating includes, in response to a miss in the last level cache for an access request from a client, assigning an entry of the last level cache to store data for the request.

9 . The method of claim 1 , wherein the performing the caching operations includes allocating entries into the last level cache based on the first allocation policy.

10 . A system comprising:

a last level cache configured to perform caching operations for a plurality of clients connected via an interconnect to the last level cache; and

a cache controller configured to:

based on a workload change, change a first allocation policy for the last level cache to generate an updated first allocation policy that indicates which clients of the plurality of clients are permitted to allocate into the last level cache, wherein the updated first allocation policy reduces cache thrashing associated with contention among the plurality of clients as compared with the first allocation policy; and

cause the last level cache to operate according to the updated first allocation policy.

11 . The system of claim 10 , wherein the workload changes comprises changing from a first workload to a second workload, wherein the first workload includes a first set of executing applications and active clients, and the second workload includes a second set of executing applications and active clients.

12 . The system of claim 10 , wherein the cache controller is further configured to determine the updated first allocation policy based on aspects of execution observed for the workload change.

13 . The system of claim 10 , wherein the cache controller is further configured to determine the updated first allocation policy using a set sampling technique.

14 . The system of claim 13 , wherein the set sampling technique comprises observing performance of different allocation policies in different sets of the last level cache.

15 . The system of claim 14 , wherein the different sets are cache associativity sets.

16 . The system of claim 10 , wherein the first allocation policy and the first updated allocation policy indicate which clients are permitted to allocate entries in the last level cache and which clients are not permitted to allocate entries in the last level cache.

17 . The system of claim 16 , where the allocating includes, in response to a miss in the last level cache for an access request from a client, assigning an entry of the last level cache to store data for the request.

18 . The system of claim 10 , wherein the performing the caching operations includes allocating entries into the last level cache based on the first allocation policy.

19 . A system comprising:

a plurality of clients;

a last level cache configured to perform caching operations for the plurality of clients connected via an interconnect to the last level cache; and

a cache controller configured to:

based on a workload change, change a first allocation policy for the last level cache to generate an updated first allocation policy that indicates which clients of the plurality of clients are permitted to allocate into the last level cache, wherein the updated first allocation policy reduces cache thrashing associated with contention among the plurality of clients as compared with the first allocation policy; and

cause the last level cache to operate according to the updated first allocation policy.

20 . The system of claim 19 , wherein the workload changes comprises changing from a first workload to a second workload, wherein the first workload includes a first set of executing applications and active clients, and the second workload includes a second set of executing applications and active clients.