Intelligent Cache Injection via Occupancy Broadcasting
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
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.


