Cache Aging Policy Selection for Prefetches Based on Test Regions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The least-recently-used (LRU) replacement scheme in processors does not align with memory access patterns, leading to low memory access efficiency in cache systems.

Innovation Solution

Implementing a dynamic cache aging policy that varies across different test regions based on access metrics, allowing the cache to select and apply the most efficient aging policy to the non-test region, thereby improving cache hit rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If LRU replacement scheme is used, then cache implementation is simple, but memory access efficiency deteriorates due to mismatch with memory access patterns

Engineering Contradiction:
Improvecache replacement scheme complexityVSAvoidmemory access efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic aging policies that adjust cache entry ages based on access patterns and prefetch status. Instead of a static LRU scheme, the system dynamically modifies aging behavior by setting different initial ages for prefetched entries versus demand-driven entries, and adjusting age increments based on whether entries are accessed. This dynamic adaptation resolves the contradiction by maintaining simple LRU structure while improving memory access efficiency through adaptive aging.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the aging parameters of cache entries based on their origin (prefetch vs. demand) and access status. Prefetched entries receive different initial age values compared to demand-driven entries, and age increment values are modified based on access patterns. This parameter customization allows the cache to optimize for different access scenarios without changing the fundamental LRU replacement mechanism, thereby improving memory access efficiency while maintaining implementation simplicity.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If dynamic aging policy is implemented, then memory access efficiency is improved, but cache controller complexity increases

Engineering Contradiction:
Improvememory access efficiencyVSAvoidcache controller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the cache controller logic into distinct components: one path for handling prefetched entries and another for demand-driven entries. Each segment applies appropriate aging policies independently. This segmentation allows the complex dynamic aging logic to be organized into manageable, modular components, reducing the perceived complexity while maintaining the performance benefits of dynamic aging.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary aging policy mechanism that sits between the simple LRU replacement scheme and the complex memory access patterns. This intermediary layer translates various access scenarios into appropriate aging adjustments without requiring complete redesign of the cache controller. The intermediary aging logic mediates between entry origin (prefetch/demand) and replacement decisions, improving memory access efficiency while containing controller complexity growth.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11321245B2Selecting cache aging policy for prefetches based on cache test regions
Publication Date: 2022.05.03 ADVANCED MICRO DEVICES INC
  • US11321245B2 patent drawing
  • US11321245B2 patent drawing
  • US11321245B2 patent drawing

AI summary

A cache controller applies an aging policy to a portion of a cache based on access metrics for different test regions of the cache, whereby each test region implements a different aging policy. The aging policy for each region establishes an initial age value for each entry of the cache, and a particular aging policy can set the age for a given entry based on whether the entry was placed in the cache in response to a demand request from a processor core or in response to a prefetch request. The cache controller can use the age value of each entry as a criterion in its cache replacement policy.