US 12,235,769 B2
Criticality-informed caching policies with multiple criticality levels
Tyler J. Huberty, Sunnyvale, CA (US); Vivek Venkatraman, Santa Clara, CA (US); Sandeep Gupta, Santa Clara, CA (US); Eric J. Furbish, Austin, TX (US); Srinivasa Rangan Sridharan, Santa Clara, CA (US); and Stephen G. Meier, Los Altos, CA (US)
Assigned to Apple Inc., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on Jan. 25, 2024, as Appl. No. 18/422,584.
Application 18/422,584 is a continuation of application No. 17/727,031, filed on Apr. 22, 2022, granted, now 11,921,640.
Claims priority of provisional application 63/239,258, filed on Aug. 31, 2021.
Prior Publication US 2024/0168887 A1, May 23, 2024
Int. Cl. G06F 12/08 (2016.01); G06F 9/38 (2018.01); G06F 12/02 (2006.01); G06F 12/0831 (2016.01); G06F 12/0862 (2016.01); G06F 12/0891 (2016.01); G06F 12/12 (2016.01); G06F 12/126 (2016.01)
CPC G06F 12/0891 (2013.01) [G06F 9/3877 (2013.01); G06F 12/0292 (2013.01); G06F 12/0833 (2013.01); G06F 12/0862 (2013.01); G06F 12/126 (2013.01); G06F 2212/1021 (2013.01)] 20 Claims
OG exemplary drawing
 
1. An apparatus, comprising:
one or more processors configured to issue memory requests to access a memory system; and
cache circuitry configured to cache data from the memory system for access by the one or more processors, wherein:
the cache circuitry includes control circuitry configured to:
assign criticality values to cache lines, wherein a given criticality value indicates that the corresponding cache line is non-critical or has one of multiple criticality levels; and
adjust a criticality value of a cache line in response to a criticality event;
to select a victim cache line for replacement, the cache circuitry is configured to:
mask cache lines having one or more upper criticality levels; and
select the victim cache line from among unmasked cache lines based on access-recency data maintained by the cache circuitry separately from the criticality values.