Cache Eviction Policy Using Independent Age Indicators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache eviction policies, such as true LRU and pseudo-LRU, require updating the age values of multiple partitions during a cache access operation, leading to increased complexity and implementation costs, especially in systems like superconducting logic architectures designed for cryogenic temperatures.

Innovation Solution

A cache eviction policy where each age indicator cycles through a sequence of J steps, allowing each indicator to run ahead of the oldest by up to K steps, ensuring all indicators form a consecutive run, and only updating the age indicator of the accessed partition, thereby reducing the need to update other partitions' age values during a cache access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional cache eviction policies (true LRU or pseudo-LRU) are used to track partition access history, then accurate age information is maintained, but multiple partitions' age values must be updated during each cache access operation, increasing complexity and implementation cost

Engineering Contradiction:
Improveage information accuracyVSAvoideviction policy complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the cache into multiple partitions (sets and ways), with each partition having its own independent age indicator. This segmentation allows each partition to be updated independently without requiring updates to other partitions, thus reducing the complexity of the eviction policy while maintaining accurate age tracking for each partition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces age indicators as intermediary elements that mediate between cache access operations and eviction decisions. These age indicators act as a simplified interface that tracks partition usage history without requiring complex update mechanisms, thereby reducing overall system complexity while preserving measurement precision.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple partitions' age values are updated during cache access operations, then accurate LRU tracking is maintained, but implementation cost increases especially in cryogenic superconducting logic architectures

Engineering Contradiction:
ImproveLRU tracking accuracyVSAvoidimplementation cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent extracts the age tracking function from the main cache access path and implements it as separate, independent age indicators for each partition. This extraction allows age information to be maintained with minimal impact on the primary cache operations, reducing implementation cost while preserving LRU tracking accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Each partition's age indicator serves itself by independently tracking its own access history without requiring updates from or to other partitions. This self-service mechanism eliminates the need for complex coordinated updates across multiple partitions, thereby reducing implementation cost while maintaining reliable LRU tracking.

Inventive Principle:
Principle #25Self-service

3Device complexity

If a direct mapped cache is used, then implementation complexity and access time are reduced, but cache hit rate decreases due to limited placement options

Engineering Contradiction:
Improvecache structure complexityVSAvoidcache hit rate
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces dynamic age indicators that can independently track and update access history for each partition. This dynamic mechanism allows the cache to adaptively manage multiple partitions with set-associative structure, improving cache hit rate while keeping the overall structure manageable through individual partition tracking rather than complex global management.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP4055487B1Eviction mechanism
Publication Date: 2024.03.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP4055487B1 patent drawingFigure 1~2
  • EP4055487B1 patent drawingFigure 3
  • EP4055487B1 patent drawingFigure 4

AI summary

A device comprising: storage comprising a group of partitions, and a controller operable to place data into a selected one of the partitions, and to evict existing data from the selected partition when already occupied. The eviction is performed according to an eviction policy. According to this, each partition has an associated age indicator, each age indicator is operable to cycle through a sequence of J steps. Each age indicator is able to run ahead of the current oldest age indicator, but only as long as the age indicators of all the partitions in the group, between them, form a consecutive run of no more than K consecutive steps in the sequence, where K < J-l. The selected partition for eviction is one of the partitions in the group with the oldest age indicator.