Second Chance Cache Replacement Mechanism for High Associativity

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

VSEngineering 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

Engineering Contradiction:
Improvereplacement accuracyVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

2Reliability

If LRU algorithm is used for cache replacement, then replacement accuracy is improved, but the algorithm complexity increases for highly associative caches

Engineering Contradiction:
Improvereplacement accuracyVSAvoidalgorithm complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

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

Engineering Contradiction:
Improvecache capacityVSAvoidreplacement efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2198370B1Second chance replacement mechanism for a highly associative cache memory of a processor
Publication Date: 2012.07.11 ADVANCED MICRO DEVICES INC
  • EP2198370B1 patent drawingFigure 1
  • EP2198370B1 patent drawingFigure 2
  • EP2198370B1 patent drawingFigure 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.