Cache Replacement Policy Using Priority State Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cache replacement policies face increased latency due to the need to iterate over all states to find a victim cache line, which can be inefficient, especially in systems with high associativity or a large number of priority states.
Innovation Solution
Implement a system where a cache is configured with N priority states, and a controller searches for a cache line with the lowest priority state to use as a victim. If not found after K iterations, the priority of cache lines is reduced, and a random line is selected as the victim, reducing the number of iterations and improving latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a search algorithm iterates over every state to find the lowest priority cache line, then the replacement accuracy is improved, but the latency increases
Solution Approach 1:
The patent pre-computes the next victim cache line in parallel with filling the current victim cache line, and stores it as part of the cache state. This preliminary action ensures that when a cache miss occurs, the next victim is already identified, eliminating the need to iterate through all priority states at replacement time, thus reducing latency while maintaining replacement accuracy
Solution Approach 2:
The patent segments the search process by limiting the iteration to a window of K priority states instead of examining all N states. By dividing the full state space into a manageable window, the system achieves faster search performance while still finding sufficiently optimal victim candidates, thereby reducing latency without completely sacrificing replacement accuracy
2Measurement precision
If the cache associativity or number of priority states is increased, then the replacement precision is improved, but the search complexity increases
Solution Approach 1:
The patent applies segmentation by limiting the search to a window of K priority states rather than examining all N states. This divides the complex search space into a manageable subset, reducing search complexity from O(N) to O(K) while maintaining sufficient replacement precision for practical purposes
Solution Approach 2:
The patent uses partial action by not requiring examination of all priority states to find the optimal victim. Instead, it performs a partial search over K states (where K < N) and accepts a sufficiently good solution, trading complete optimality for reduced search complexity and improved performance
Data Source
AI summary
An embodiment includes a system, comprising: a cache configured to store a plurality of cache lines, each cache line associated with a priority state from among N priority states; and a controller coupled to the cache and configured to: search the cache lines for a cache line with a lowest priority state of the priority states to use as a victim cache line; if the cache line with the lowest priority state is not found, reduce the priority state of at least one of the cache lines; and select a random cache line of the cache lines as the victim cache line if, after performing each of the searching of the cache lines and the reducing of the priority state of at least one cache line K times, the cache line with the lowest priority state is not found. N is an integer greater than or equal to 3; and K is an integer greater than or equal to 1 and less than or equal to N−2.


