Cache Line Eviction Mechanism for Multi-Core Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processor cache systems face inefficiencies in cache line eviction, as existing algorithms often evict cache lines that should be retained, due to the limitations of least recently used (LRU) algorithms in multi-core designs with shared caches.

Innovation Solution

A method and system for cache line eviction that selects the least recently used cache line, considering invalidity, presence in higher level caches, and coherence states, ensuring that cache lines are evicted based on their validity and usage patterns to optimize cache management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If traditional LRU algorithms are used for cache line eviction, then cache management is simple, but cache lines that should be retained are evicted

Engineering Contradiction:
Improvecache management simplicityVSAvoidcache line retention accuracy
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent segments the cache eviction process into multiple decision stages: first checking for invalid cache lines, then checking for non-inclusive cache lines (not present in L1), and finally applying LRU only as a tiebreaker. This segmentation allows the system to prioritize retention of important cache lines while maintaining a structured, manageable eviction process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary checks before eviction to identify cache lines that must be retained. By checking validity status and inclusiveness status in advance, the system prevents premature eviction of cache lines that should be kept, ensuring reliable cache management before the actual eviction decision is made.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If cache size is increased to reduce evictions, then data retrieval efficiency improves, but cache fill-up occurs faster

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidcache capacity utilization
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent changes the eviction decision parameters by incorporating multiple criteria beyond simple recency: validity status (invalid vs. valid), inclusiveness status (non-inclusive vs. inclusive), and LRU position. This multi-parameter approach allows more intelligent eviction decisions that maintain higher data retrieval efficiency while managing cache capacity more effectively.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If aggressive eviction policies are applied, then cache space is freed faster, but useful data is lost

Engineering Contradiction:
Improvecache space turnoverVSAvoiduseful data retention
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent implements a feedback mechanism by checking multiple attributes of cache lines before eviction. The system continuously monitors validity status and inclusiveness status, using this feedback to make informed eviction decisions that free cache space while preserving useful data through selective retention of invalid and non-inclusive lines.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9563575B2Least recently used mechanism for cache line eviction from a cache memory
Publication Date: 2017.02.07 APPLE INC
  • US9563575B2 patent drawing
  • US9563575B2 patent drawing
  • US9563575B2 patent drawing

AI summary

A mechanism for evicting a cache line from a cache memory includes first selecting for eviction a least recently used cache line of a group of invalid cache lines. If all cache lines are valid, selecting for eviction a least recently used cache line of a group of cache lines in which no cache line of the group of cache lines is also stored within a higher level cache memory such as the L1 cache, for example. Lastly, if all cache lines are valid and there are no non-inclusive cache lines, selecting for eviction the least recently used cache line stored in the cache memory.