Cache Replacement Policy Using Priority State Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvereplacement accuracyVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If the cache associativity or number of priority states is increased, then the replacement precision is improved, but the search complexity increases

Engineering Contradiction:
Improvereplacement precisionVSAvoidsearch complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9418019B2Cache replacement policy methods and systems
Publication Date: 2016.08.16 SAMSUNG ELECTRONICS CO LTD
  • US9418019B2 patent drawing
  • US9418019B2 patent drawing
  • US9418019B2 patent drawing

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.