Second Chance Cache Replacement Mechanism for High Associativity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Highly associative cache systems face complexity in replacement algorithms due to the need for significant storage to track recent access information, making existing methods inefficient for large cache hierarchies.
Innovation Solution
A second chance replacement mechanism that uses a block replacement controller to maintain a count value and recent access bits for each set, allowing data to be stored in eligible block storage locations based on access history, thereby reducing storage requirements and improving replacement efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If LRU algorithm is used for cache replacement, then replacement accuracy is improved, but storage requirements and device complexity increase significantly for highly associative caches
Solution Approach 1:
The patent segments the cache replacement problem into two independent components: a pseudo-random selection mechanism that identifies candidate blocks, and a recent access bit check that validates eligibility. This segmentation eliminates the need for complex LRU tracking structures while maintaining effective replacement behavior by combining simple random selection with lightweight access history verification.
2Reliability
If LRU algorithm is used for cache replacement, then replacement accuracy is improved, but the algorithm complexity increases for highly associative caches
Solution Approach 1:
The patent employs a pseudo-random number generator that produces temporary, disposable selection indices that are valid only for the current replacement decision. Each random selection is independent and short-lived, eliminating the need for persistent complex data structures to track block access patterns, thereby simplifying the algorithm while maintaining replacement effectiveness.
3Quantity of substance
If traditional replacement algorithms are used in highly associative caches, then cache capacity is increased, but replacement efficiency decreases due to complex tracking requirements
Solution Approach 1:
The patent makes the cache blocks self-identify their replacement eligibility through recent access bits that are automatically updated on block access. When replacement is needed, the pseudo-random selector proposes candidates and the blocks themselves indicate their status via their recent access bits, eliminating the need for external complex tracking logic and improving replacement efficiency as cache capacity scales.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A cache memory system includes a cache memory (269, 16A, 17 A, 18A) and a block replacement controller (266). The cache memory may include a plurality of sets, each set including a plurality of block storage locations. The block replacement controller may maintain a separate count value corresponding to each set of the cache memory. The separate count value points to an eligible block storage location within the given set to store replacement data. The block replacement controller may maintain for each of at least some of the block storage locations, an associated recent access bit indicative of whether the corresponding block storage location was recently accessed. In addition, the block replacement controller may store the replacement data within the eligible block storage location pointed to by the separate count value depending upon whether a particular recent access bit indicates that the eligible block storage location was recently accessed.