Correlated Cache Line Group Eviction for Memory Pollution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cache memory is polluted by 'dead' data in cache lines that will not be referenced again, occupying space that could be used for more relevant data, leading to inefficiencies in performance and power consumption.

Innovation Solution

Implementing a method to identify and evict groups of correlated cache lines based on correlation criteria, using a cache controller with group identification logic and eviction logic to select remaining cache lines for eviction, thereby mitigating cache pollution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional cache eviction policies are used, then cache memory maintains simple operation, but cache memory is polluted by dead data occupying space that could be used for more relevant data

Engineering Contradiction:
Improvecache memory efficiencyVSAvoideviction policy complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments cache lines into groups based on correlation characteristics. Instead of treating each cache line independently, related cache lines are clustered together and evicted as a unit when their group correlation threshold is met, reducing the number of individual eviction operations and improving cache efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary grouping of cache lines into correlated groups before eviction occurs. By pre-establishing group relationships and tracking access patterns within groups, the system can make informed eviction decisions about entire groups rather than individual lines, optimizing space utilization.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If bulk evictions of correlated cache lines are performed, then cache memory space is freed for more frequently accessed data, but additional tracking and identification mechanisms are required

Engineering Contradiction:
Improveprocessor efficiencyVSAvoidcache controller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple cache lines into unified groups based on their correlation patterns. By combining related cache lines into single evitable units, the system reduces the total number of eviction operations and improves processor efficiency through bulk evictions while managing complexity through unified group management.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements feedback mechanisms where the cache controller tracks access patterns and correlation metrics for cache line groups. This feedback information is used to dynamically adjust eviction decisions, allowing the system to learn from access patterns and optimize future eviction choices based on actual usage behavior.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If individual cache lines are evicted based on access patterns, then eviction decisions are precise, but the process is time-consuming and occupies processor resources

Engineering Contradiction:
Improveeviction criterion accuracyVSAvoideviction processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the eviction process into group-level decisions rather than individual cache line evaluations. By establishing correlation groups in advance and making eviction decisions at the group level, the system maintains precise eviction criteria while significantly reducing the time and processor resources required for individual eviction operations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10133678B2Method and apparatus for memory management
Publication Date: 2018.11.20 ADVANCED MICRO DEVICES INC
  • US10133678B2 patent drawing
  • US10133678B2 patent drawing
  • US10133678B2 patent drawing

AI summary

In some embodiments, a method of managing cache memory includes identifying a group of cache lines in a cache memory, based on a correlation between the cache lines. The method also includes tracking evictions of cache lines in the group from the cache memory and, in response to a determination that a criterion regarding eviction of cache lines in the group from the cache memory is satisfied, selecting one or more (e.g., all) remaining cache lines in the group for eviction.