Dynamic prioritization of cache access
First Claim
1. A cache comprising:
- a cache directory;
a cache array; and
a cache controller coupled to the cache directory and the cache array, the cache controller comprising,a tracking unit configured to track an amount of cache resources used to service cache misses within a past period, anda plurality of cache state machines, wherein each of the plurality of cache state machines is configured to,determine whether a memory access request results in a cache miss or cache hit,in response to a cache miss for a memory access request, query the tracking unit for the amount of cache resources used to service cache misses within the past period, andservice the memory access request based, at least in part, on the amount of cache resources used to service the cache misses within the past period according to the tracking unit.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments of the inventive subject matter are directed to a cache comprising a tracking unit and cache state machines. In some embodiments, the tracking unit is configured to track an amount of cache resources used to service cache misses within a past period. In some embodiments, each of the cache state machines is configured to, determine whether a memory access request results in a cache miss or cache hit, and in response to a cache miss for a memory access request, query the tracking unit for the amount of cache resources used to service cache misses within the past period. In some embodiments, the each of the cache state machines is configured to service the memory access request based, at least in part, on the amount of cache resources used to service the cache misses within the past period according to the tracking unit.
22 Citations
12 Claims
-
1. A cache comprising:
-
a cache directory; a cache array; and a cache controller coupled to the cache directory and the cache array, the cache controller comprising, a tracking unit configured to track an amount of cache resources used to service cache misses within a past period, and a plurality of cache state machines, wherein each of the plurality of cache state machines is configured to, determine whether a memory access request results in a cache miss or cache hit, in response to a cache miss for a memory access request, query the tracking unit for the amount of cache resources used to service cache misses within the past period, and service the memory access request based, at least in part, on the amount of cache resources used to service the cache misses within the past period according to the tracking unit. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus comprising:
-
a processor; and a cache controller coupled with the processor, the cache controller configured to receive memory access requests from the processor, the cache controller comprising a plurality of cache state machines, wherein each of the plurality of cache state machines is configured to, tentatively accept one of the memory access requests, determine that the one of the memory access requests results in a cache miss, determine an amount of usage of the plurality of cache state machines within a past period, determine that at least one of the plurality of cache state machines is to be reserved for potential future cache hits based on the amount of usage of the plurality of cache state machines within the past period in response to determination that the one of the memory access requests results in the cache miss, and reject the memory access request in response to determination that the at least one of the plurality of cache state machines is to be reserved for the potential future cache hits. - View Dependent Claims (9, 10, 11, 12)
-
Specification