IP Library Granted Patent US 12,093,181
Granted Patent B2
US 12,093,181 · App. 17/852,296 · Granted Sep 17, 2024

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 12,093,181
App. No.
17/852,296
Granted
Sep 17, 2024
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 (36)

1. A method for operating a cache for a device, the method comprising:

based on a workload change, identifying a first allocation permissions policy, the workload change comprising a change from a first workload to a second workload, the first workload comprising one or more executing applications and one or more active clients and the second workload comprising one or more executing applications and one or more active clients;

operating the cache according to the first allocation permissions policy, wherein the first allocation permissions policy indicates which clients of a set of clients are permitted to allocate into the cache, wherein the allocating includes, in response to a miss for a request, assigning an entry of the cache to store data for the request;

based on set sampling, identifying a second allocation permissions policy; and operating the cache according to the second allocation permissions policy.

2. The method of claim 1 , wherein the workload change includes the device changing from operating according to a first workload to operating according to a second workload.

3. The method of claim 2 , wherein the first workload includes a first combination of clients being active and software executing on the device; and the second workload includes a second combination of clients being active and software executing on the device.

4. The method of claim 1 , wherein identifying the first allocation permissions policy includes identifying the first allocation permissions policy based on a currently active workload, by referring to a set of permitted clients data.

5. The method of claim 1 , wherein the set sampling includes operating different test sets of the cache according to different allocation permissions policy.

6. The method of claim 5 , wherein identifying the second allocation permissions policy includes selecting an allocation permissions policy for which performance deemed to be optimal is observed.

7. The method of claim 5 , wherein the different test sets include sets of the cache in a set associativity scheme.

8. The method of claim 1 , wherein the first allocation permissions policy indicates which clients are permitted and which clients are not permitted to allocate entries in the cache.

9. The method of claim 1 , wherein the cache is a last level cache.

10. A system, comprising:

a cache; and

a cache controller, configured to:

based on a workload change, identify a first allocation permissions policy, the workload change comprising a change from a first workload to a second workload, the first workload comprising one or more executing applications and one or more active clients and the second workload comprising one or more executing applications and one or more active clients;

operate the cache according to the first allocation permissions policy, wherein the first allocation permissions policy indicates which clients of a set of clients are permitted to allocate into the cache, wherein the allocating includes, in response to a miss for a request, assigning an entry of the cache to store data for the request;

based on set sampling, identifying a second allocation permissions policy; and

operate the cache according to the second allocation permissions policy.

11. The system of claim 10 , wherein the workload change includes a device changing from operating according to a first workload to operating according to a second workload.

12. The system of claim 11 , wherein the first workload includes a first combination of clients being active and software executing on the device; and the second workload includes a second combination of clients being active and software executing on the device.

13. The system of claim 10 , wherein identifying the first allocation permissions policy includes identifying the first allocation permissions policy based on a currently active workload, by referring to a set of permitted clients data.

14. The system of claim 10 , wherein the set sampling includes operating different test sets of the cache according to different allocation permissions policy.

15. The system of claim 14 , wherein identifying the second allocation permissions policy includes selecting an allocation permissions policy for which performance deemed to be optimal is observed.

16. The system of claim 14 , wherein the different test sets include sets of the cache in a set associativity scheme.

17. The system of claim 10 , wherein the first allocation permissions policy indicates which clients are permitted and which clients are not permitted to allocate entries in the cache.

18. The system of claim 10 , wherein the cache is a last level cache.

19. A system, comprising:

a processor;

a cache configured to service requests of the processor; and

a cache controller, configured to:

based on a workload change, identify a first allocation permissions policy, the workload change comprising a change from a first workload to a second workload, the first workload comprising one or more executing applications and one or more active clients and the second workload comprising one or more executing applications and one or more active clients;

operate the cache according to the first allocation permissions policy, wherein the first allocation permissions policy indicates which clients of a set of clients are permitted to allocate into the cache, wherein the allocating includes, in response to a miss for a request, assigning an entry of the cache to store data for the request;

based on set sampling, identifying a second allocation permissions policy; and

operate the cache according to the second allocation permissions policy.

20. The system of claim 19 , wherein the workload change includes a device changing from operating according to a first workload to operating according to a second workload.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2022
From: PATEL, CHINTAN S.; BRANOVER, ALEXANDER J.; TSIEN, BENJAMIN; MUNOZ, EDGAR; KALYANASUNDHARAM, VYDHYANATHAN
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 061362/0770 →
Continuity (1)
Related Publication 20230418753A1 · Dec 28, 2023