Cache Tag Filtering Using Partial Bit Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional cache systems face challenges in managing the trade-off between performance and energy efficiency due to the need for accessing a large number of tag bits, which is energy-intensive and can lead to increased complexity and latency, particularly in mobile and large-scale computing environments.

Innovation Solution

A filtering algorithm is applied to multi-cycle tag accesses using a subset of tag bits, reducing the number of bits read and minimizing energy consumption while maintaining performance by employing a pre-check stage to filter out guaranteed misses before full comparisons are made.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a large number of tag bits are accessed to determine cache hits, then hit/miss determination accuracy is improved, but energy consumption increases

Engineering Contradiction:
Improvehit/miss determination accuracyVSAvoidenergy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent divides the tag comparison process into two segments: a first comparison of a first subset of tag bits performed in parallel across all ways, and a second comparison of remaining tag bits performed only for selected ways. This segmentation reduces the total number of bit comparisons required, thereby lowering energy consumption while maintaining accurate hit/miss determination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing the complete tag comparison only for a subset of ways that are likely to contain the requested data, rather than comparing all tag bits across all ways. The first comparison of a subset of bits identifies candidate ways, and the second comparison is performed only on these candidates, reducing overall energy consumption.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If more tag bits are read to ensure accurate cache hit detection, then reliability is improved, but use of energy increases

Engineering Contradiction:
Improvecache hit detection reliabilityVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the tag bits into two groups: a first subset of bits used for the initial parallel comparison across all ways, and remaining bits used for subsequent comparison only in selected ways. This segmentation ensures reliable hit detection by maintaining a two-stage verification process while reducing the total number of bit reads required.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs a preliminary comparison of the first subset of tag bits across all ways before performing the complete comparison. This preliminary action identifies candidate ways that are likely to contain the requested data, allowing the system to focus subsequent energy-intensive comparisons only on these candidates, thereby maintaining reliability while reducing overall energy consumption.

Inventive Principle:
Principle #10Preliminary action

3Speed

If parallel comparison of all tag bits is performed, then speed is improved, but energy consumption increases

Engineering Contradiction:
Improvetag access speedVSAvoidenergy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent segments the comparison process into two phases: a first parallel comparison of a subset of tag bits across all ways (maintaining high speed), followed by a second comparison of remaining bits only for selected ways (reducing energy consumption). This segmentation preserves speed for the critical path while reducing overall energy usage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing complete parallel comparisons only for a subset of ways identified as candidates through the first comparison, rather than performing exhaustive parallel comparisons across all ways. This reduces the total computational work required while maintaining fast access for likely hits.

Inventive Principle:
Principle #16Partial or excessive action

4Productivity

If high associativity and complicated replacement policies are used, then cache performance is improved, but device complexity increases

Engineering Contradiction:
Improvecache performanceVSAvoidtag storage complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the tag storage into two parts: a first storage containing a subset of tag bits used for the initial parallel comparison, and a second storage containing the remaining tag bits used for subsequent comparison. This segmentation simplifies the control logic required for high associativity by enabling a two-stage comparison process that is more manageable than exhaustive parallel comparison.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs a preliminary comparison of a subset of tag bits to identify candidate ways before performing the complete comparison. This preliminary action simplifies the control logic for complicated replacement policies by reducing the number of ways that require full comparison, thereby managing device complexity while maintaining cache performance.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20260050552A1Method and device for flexible tag filtering
Publication Date: 2026.02.19 SAMSUNG ELECTRONICS CO LTD
  • US20260050552A1 patent drawing
  • US20260050552A1 patent drawing
  • US20260050552A1 patent drawing

AI summary

A method and device are provided in which a request is received at a cache memory. The request includes a first tag, and the first tag includes bits. A first comparison is performed of a first subset of the bits to entries of a first storage of the cache memory. Each entry of the first storage comprises a subset of bits of a corresponding tag in a second storage of the cache memory. One or more potential matching entries of the second storage for the request are determined based on the first comparison. In response to the determining the one or more potential matching entries, a second comparison is performed of the bits to tags of the one or more potential matching entries to determine whether the second storage comprises a matching entry for the request.