Selective Cache Line Bypass via Reuse Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache management policies in processing systems do not effectively consider the relative usefulness of cache lines, leading to scenarios where more useful cache lines are replaced by less useful ones, due to the lack of accounting for reuse potential in victim selection policies.

Innovation Solution

A bypass predictor table with reuse counters is used to track the likelihood of reuse for cache lines based on memory regions, allowing for the decision to allocate or bypass cache lines based on their reuse characteristics, thereby preventing less useful cache lines from displacing more useful ones.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional victim selection policies are used to evict cache lines, then cache replacement can be performed, but more useful cache lines may be replaced by less useful ones

Engineering Contradiction:
Improvecache efficiencyVSAvoidcache line usefulness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by tracking reuse characteristics of cache lines before eviction decisions are made. The system monitors and records access patterns and reuse potential of both victim and contender cache lines in advance, using this pre-collected information to make informed replacement decisions that prevent useful cache lines from being evicted.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms by continuously monitoring cache line reuse characteristics and using this information to adjust victim selection. The system measures actual reuse patterns and feeds this information back into the replacement policy, allowing the cache to adapt its eviction decisions based on observed behavior and prevent premature eviction of useful cache lines.

Inventive Principle:
Principle #23Feedback

2Quantity of substance

If cache lines are allocated to maintain cache capacity, then cache storage is utilized, but cache misses may increase due to evicting useful lines

Engineering Contradiction:
Improvecache storage utilizationVSAvoidcache hit rate
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies parameter changes by modifying the victim selection criteria based on measured reuse characteristics. Instead of using fixed replacement policies, the system dynamically adjusts selection parameters according to observed cache line behavior, including reuse frequency and access patterns, to optimize both storage utilization and hit rate.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements dynamics by making the victim selection policy adaptive rather than static. The system continuously updates its understanding of cache line usefulness based on observed behavior and adjusts eviction decisions in real-time, allowing the cache to dynamically respond to changing access patterns while maintaining optimal storage utilization.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10223278B2Selective bypassing of allocation in a cache
Publication Date: 2019.03.05 CSR IMAGING US LP
  • US10223278B2 patent drawing
  • US10223278B2 patent drawing
  • US10223278B2 patent drawing

AI summary

Systems and methods are directed to selectively bypassing allocation of cache lines in a cache. A bypass predictor table is provided with reuse counters to track reuse characteristics of cache lines, based on memory regions to which the cache lines belong in memory. A contender reuse counter provides an indication of a likelihood of reuse of a contender cache line in the cache pursuant to a miss in the cache for the contender cache line, and a victim reuse counter provides an indication of a likelihood of reuse for a victim cache line that will be evicted if the contender cache line is allocated in the cache. A decision whether to allocate the contender cache line in the cache or bypass allocation of the contender cache line in the cache is based on the contender reuse counter value and the victim reuse counter value.