Cache Line Access Tracking Flag for Eviction Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache monitoring technologies fail to effectively detect and address the eviction of cache lines that have not been consumed, leading to performance degradation in systems with high-throughput applications, as they rely on LRU-based eviction policies that may evict useful cache lines before they are accessed.

Innovation Solution

Incorporating a cache line access tracking flag to indicate whether a cache line has been produced or consumed, allowing for more informed eviction decisions and enabling corrective actions through a cache monitoring application that utilizes performance monitoring units and configurable rules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If LRU-based eviction policy is used, then cache management is simple, but useful cache lines may be evicted before they are accessed leading to performance degradation

Engineering Contradiction:
Improvecache management simplicityVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent applies preliminary action by setting the cache line access tracking flag to a first state (indicating produced but not consumed) when a cache line is produced, before any read operation occurs. This preemptive flagging enables the cache controller to identify and preserve cache lines that have not yet been consumed, preventing their premature eviction under LRU policy while maintaining simple cache management operations.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If cache lines are evicted based on LRU policy, then cache eviction is efficient, but cache lines that have not been consumed are evicted leading to increased cache misses

Engineering Contradiction:
Improvecache eviction efficiencyVSAvoidcache hit rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback by continuously monitoring the cache line access tracking flag state and using this information to modulate cache eviction decisions. The cache controller checks the flag state of cache lines candidate for eviction and prevents eviction when the flag indicates the line has not been consumed. This feedback mechanism preserves cache lines that are likely to be accessed soon, maintaining high cache hit rates while preserving efficient eviction for truly stale lines.

Inventive Principle:
Principle #23Feedback

3Device complexity

If no cache line access tracking is implemented, then cache controller complexity is low, but eviction decisions are made without sufficient information

Engineering Contradiction:
Improvecache controller complexityVSAvoideviction decision accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent applies segmentation by dividing the cache line metadata into distinct components: the existing LRU timestamp and the new cache line access tracking flag. This segmentation allows the cache controller to maintain simple, efficient LRU-based eviction logic while adding a separate, simple flag mechanism to provide additional information for eviction decisions. The segmented approach prevents complexity multiplication while improving eviction accuracy through the combined use of timestamp and flag state.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10585798B2Tracking cache line consumption
Publication Date: 2020.03.10 INTEL CORP
  • US10585798B2 patent drawing
  • US10585798B2 patent drawing
  • US10585798B2 patent drawing

AI summary

Systems and methods for tracking cache line consumption. An example system may comprise: a cache comprising a plurality of cache entries for storing a plurality of cache lines; a processing core, operatively coupled to the cache; and a cache control logic, to: responsive to detecting an update operation with respect to a cache line of the plurality of cache lines, set a cache line access tracking flag associated with the cache line to a first state indicating that the cache line has been produced; and responsive to detecting a read operation with respect to the cache line, set the cache line access tracking flag associated with the cache line to a second state indicating that the cache line has been consumed.