Cache Remapper Using Process Identifiers for Dynamic Replacement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache systems face inefficiencies in determining which entries to replace, leading to processor penalties due to the rebuilding of unnecessary data, as they often rely on outdated methods like replacing the oldest entry, which can result in increased processing cycles when the removed entry is later needed.

Innovation Solution

A processor with a cache and a remapper that assigns unique identifiers to each process, using counters to determine a replacement value based on the value of each counter associated with the identifier, thereby dynamically choosing which entry to replace, reducing the likelihood of valuable entries being removed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the oldest entry is replaced when a new entry must be added, then the cache can be maintained with a simple replacement policy, but the processor suffers penalties when the removed entry is later re-added due to the need to rebuild the entry

Engineering Contradiction:
Improvereplacement policy complexityVSAvoidprocessor penalty cycles
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent implements a dynamic replacement policy where the remapper dynamically determines replacement values based on process identifiers and counter values associated with each process. This dynamic approach allows the system to adapt to varying access patterns and process behaviors, replacing entries based on current usage patterns rather than static age-based rules.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs feedback mechanisms through counters associated with each process identifier. These counters track process activity and are used by the remapper to determine replacement values. The feedback from counter values enables the system to learn from past access patterns and make informed replacement decisions, reducing the likelihood of removing frequently accessed entries.

Inventive Principle:
Principle #23Feedback

2Productivity

If a simple replacement policy is used, then the cache operation is fast and simple, but valuable entries may be removed that are frequently accessed or recently generated

Engineering Contradiction:
Improvecache operation speedVSAvoidentry retention accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary actions by pre-establishing process identifiers and associated counters before cache replacement decisions are needed. The remapper maintains this metadata in advance, allowing rapid replacement decisions to be made without performing complex analysis at the moment of replacement. The counter values are updated in advance as processes access cache entries.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameters used for replacement decisions from simple age-based metrics to composite parameters including process identifiers, counter values, and replacement values. This parameter transformation enables the system to distinguish between entries that are old but valuable versus entries that are old and should be replaced, improving retention accuracy while maintaining operational speed.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8832381B2Cache and a method for replacing entries in the cache
Publication Date: 2014.09.09 ADVANCED MICRO DEVICES INC
  • US8832381B2 patent drawing
  • US8832381B2 patent drawing
  • US8832381B2 patent drawing

AI summary

A processor is provided. The processor including a cache, the cache having a plurality of entries, each of the plurality of entries having a tag array and a data array, and a remapper configured to create at least one identifier, each identifier being unique to a process of the processor, and to assign a respective identifier to the tag array for the entries related to a respective process, the remapper further configured to determine a replacement value for the entries related to each identifier.