Processor Cache Redirection to Reduce Conflict Misses

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor caches suffer from inefficiencies due to conflict misses and thrashing, leading to reduced cache utilization and increased latency, particularly in scenarios where cache lines are full and memory blocks need to be evicted, resulting in frequent cache misses.

Innovation Solution

Implementing a redirection mechanism in processor caches that allows memory blocks to be redirected from a full cache line in a default set to an empty cache line in a different set, with metadata management to track these redirections, thereby improving cache utilization and reducing conflict misses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a memory block is stored in a full cache line of a default set, then cache utilization is maximized, but conflict misses increase and retrieval performance degrades

Engineering Contradiction:
Improvecache utilizationVSAvoidretrieval performance
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent introduces a redirection dimension by adding a redirection field to cache line metadata. When a memory block cannot be stored in its default set due to full cache lines, the system redirects it to an alternate set, effectively adding a new dimension (alternate set index) to the cache storage space. This resolves the contradiction by providing an additional storage pathway that maintains high cache utilization while preventing conflict misses from degrading retrieval performance.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If metadata is maintained to track redirections, then cache efficiency improves, but device complexity increases

Engineering Contradiction:
Improvecache efficiencyVSAvoidmetadata management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the cache metadata into distinct functional components: valid bit, dirty bit, tag, and redirection field. Each segment serves a specific purpose, allowing the system to track redirections efficiently without overwhelming complexity. The redirection field is further segmented into set index and tag portions, enabling precise identification of alternate storage locations. This segmentation improves cache efficiency while keeping metadata management tractable through modular organization.

Inventive Principle:
Principle #1Segmentation

3Reliability

If memory blocks are redirected to alternate sets, then conflict misses are reduced, but access latency increases

Engineering Contradiction:
Improveconflict miss reductionVSAvoidaccess latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by checking the redirection field during the cache access process. When a memory block is accessed, the system first checks the default set, then immediately checks the redirection field to determine if the block was redirected to an alternate set. This preliminary check mechanism ensures that redirection overhead is minimal, as the redirection information is already prepared and stored in the metadata, allowing fast access without significant latency penalty while effectively reducing conflict misses.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12360898B2Redirection in a processor cache
Publication Date: 2025.07.15 NOKIA SOLUTIONS & NETWORKS OY
  • US12360898B2 patent drawing
  • US12360898B2 patent drawing
  • US12360898B2 patent drawing

AI summary

Various example embodiments of a processor cache are presented herein. The processor cache may be configured to support redirection of memory blocks between cache lines, including between cache lines in different sets of the processor cache, thereby improving the efficiency of the processor cache by increasing the utilization of the processor cache and reducing cache misses for the processor cache. The redirection of memory blocks between cache lines may include redirection of a memory block from being stored in a first cache line of a first set of the processor cache which is the default set for the memory block (e.g., when the first set does not have any empty cache lines) to a second cache line of a second set of the processor cache which is not the default set for the memory block (e.g., the second set may be any set having at least one empty cache line).