Intelligent Cache Injection via Occupancy Broadcasting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cache memory systems, determining which cache to inject an evicted cache line into is challenging due to the need to minimize perturbation of the recipient cache, especially when caches share lines and have varying occupancy levels.

Innovation Solution

A first cache broadcasts a request for a cache line and simultaneously evaluates other caches for their ability to accept a future evicted line, using occupancy scores to determine the cache with the highest occupancy value as the best candidate for injection, ensuring minimal disruption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a cache line is evicted from a cache, then the cache makes room for more recently used data, but the evicted line may need to be brought back from memory which is slower

Engineering Contradiction:
Improvecache access speedVSAvoidtime to retrieve evicted line from memory
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent introduces another cache as an intermediary to receive and hold evicted cache lines. When a cache evicts a line, it can inject that line into a different cache that has available space. This intermediary cache acts as a buffer, allowing the original cache to quickly access new data while the evicted line remains accessible in the intermediary cache, avoiding the need to retrieve it from slow memory.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a hierarchy where caches are nested within a larger cache system. Each cache can contain or transfer cache lines to other caches in the hierarchy. This nested structure allows evicted lines to be relocated to other caches within the same hierarchical system, maintaining fast access without requiring retrieval from the outermost memory layer.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Quantity of substance

If one cache imposes a cache line on another cache through injection, then the receiving cache gains additional data, but the injection process creates complexity in deciding which cache is the candidate for injection

Engineering Contradiction:
Improvecache line availabilityVSAvoidinjection decision complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent changes the parameter used for injection decisions from complex multi-factor analysis to a simple occupancy-based metric. Each cache is evaluated based on its occupancy level (how full it is), and the cache with the highest occupancy value is selected as the injection target. This parameter change simplifies the injection decision process while still achieving effective cache line distribution.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements a self-service mechanism where caches automatically evaluate their own occupancy levels and make injection decisions based on this self-assessment. Each cache can independently determine its suitability as an injection target without requiring complex centralized control, reducing the overall system complexity while maintaining effective cache line distribution.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8127079B2Intelligent cache injection
Publication Date: 2012.02.28 TAIWAN SEMICONDUCTOR MANUFACTURING CO LTD
  • US8127079B2 patent drawing
  • US8127079B2 patent drawing
  • US8127079B2 patent drawing

AI summary

A first cache simultaneously broadcasts, in a single message, a request for a cache line and a request to accept a future related evicted cache line to multiple other caches. Each of the multiple other caches evaluate their occupancy to derive an occupancy value that reflects their ability to accept the future related evicted cache line. In response to receiving a requested cache line, the first cache evicts the related evicted cache line to the cache with the highest occupancy value.