US 11,914,521 B1
Cache quota control
Wolfgang H. Klingauf, Morgan Hill, CA (US); Muhammad Umer Amjad, Cupertino, CA (US); Connie W. Cheung, Sunnyvale, CA (US); Yueh-Ta Wu, Sunnyvale, CA (US); Muditha Kanchana, Cupertino, CA (US); and John H. Kelm, Belmont, CA (US)
Assigned to Apple Inc., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on Jun. 29, 2022, as Appl. No. 17/809,822.
Claims priority of provisional application 63/239,356, filed on Aug. 31, 2021.
Int. Cl. G06F 12/0895 (2016.01); G06F 12/0837 (2016.01); G06F 12/0873 (2016.01)
CPC G06F 12/0895 (2013.01) [G06F 12/0837 (2013.01); G06F 12/0873 (2013.01)] 20 Claims
OG exemplary drawing
 
1. An apparatus comprising:
a cache memory configured to receive access requests from a plurality of agents, wherein a given request from a given agent of the plurality of agents specifies an identification value associated with that agent; and
a cache controller coupled to the cache memory, wherein the cache controller is configured to:
store indications of current allocations of the cache memory to individual ones of the plurality of agents;
track requests to the cache memory based on identification values specified in the requests; and
determine whether to update allocations of the cache memory to the individual ones of the plurality of agents based on tracked requests, wherein, in determining whether to update allocations, the cache controller is configured to determine weighting values, based on accesses to a system memory, by the individual ones of the plurality of agents;
wherein the cache controller includes a plurality of counters configured to, for a first time interval, count cache access requests for ones of the plurality of agents associated with a first subset of a plurality of data set identifiers, and, for a second time interval, count cache access requests for ones of the plurality of agents associated with a second subset of the plurality of data set identifiers.