US 12,248,399 B2
Multi-block cache fetch techniques
Winnie W. Yeung, San Jose, CA (US); and Cheng Li, Sunnyvale, CA (US)
Assigned to Apple Inc., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on May 19, 2021, as Appl. No. 17/324,800.
Prior Publication US 2022/0374359 A1, Nov. 24, 2022
Int. Cl. G06F 12/0811 (2016.01); G06F 12/02 (2006.01); G06F 12/0846 (2016.01); G06F 12/0891 (2016.01); G06F 13/16 (2006.01)
CPC G06F 12/0811 (2013.01) [G06F 12/0246 (2013.01); G06F 12/0846 (2013.01); G06F 12/0891 (2013.01); G06F 13/1605 (2013.01); G06F 13/1668 (2013.01)] 20 Claims
OG exemplary drawing
 
1. An apparatus, comprising:
cache circuitry that includes multiple cache entry circuits, wherein a given cache entry circuit is configured to store a cache block;
tag circuitry configured to maintain a tag value shared by multiple cache entry circuits, wherein the tag value is a portion of an address, wherein the portion is shared by cached entries and is maintained for comparison with incoming cache requests to determine hits and misses in the cache circuitry;
cache control circuitry configured to, in response to a miss for a request for a first cache block, initiate a fetch request to a next level cache or memory;
aggregation circuitry configured to:
store, for the tag value, valid fetch information that indicates that:
a first cache entry circuit that shares the tag value has initiated a valid fetch request that has not completed; and
a second cache entry circuit that shares the tag value has initiated a valid fetch request that has not completed; and
aggregate, based on the valid fetch information, fetch requests for the first and second cache entry circuits in response to a determination that requested cache blocks share the tag value, wherein the fetch requests are based on misses in the cache circuitry; and
fetch circuitry configured to initiate a single multi-block fetch operation to the next level cache or memory that returns cache blocks for the aggregated fetch requests.