System Cache Sticky Allocation for Spaced Access Retention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional caches are ineffective in storing data accessed multiple times but with widely spaced access times, leading to increased power consumption and reduced battery life in mobile devices, as they tend to evict such data due to lack of temporal locality.

Innovation Solution

Implementing a sticky allocation mechanism in system caches, where cache lines can be marked as 'sticky' by requesting agents, ensuring they are not replaced by other group IDs, even if accessed infrequently, thereby reducing off-chip memory access and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional caches use temporal locality to retain cache lines, then recently accessed data is retained, but data accessed multiple times with widely spaced access times is evicted

Engineering Contradiction:
Improvedata retention accuracyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent changes the retention parameter from time-based (temporal locality) to usage-based (access count threshold). When a cache line is evicted, the system monitors subsequent accesses and reinstates the cache line when the access count reaches a predetermined threshold, regardless of time intervals between accesses. This resolves the contradiction by retaining data that is frequently used even when access times are widely spaced.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If conventional caches evict data not accessed recently, then cache space is freed for new data, but frequently accessed data with large time gaps between accesses is lost

Engineering Contradiction:
Improvecache utilization efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system implements feedback by monitoring access patterns of evicted cache lines. When data is evicted from the cache, the system tracks subsequent access requests for that data. If the access count reaches a predetermined threshold, the system provides feedback to reinstiate the cache line, creating a closed-loop control that optimizes cache utilization based on actual usage patterns rather than static time-based policies.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If the system increases off-chip memory access to handle cache misses, then more data can be fetched, but power consumption increases and battery life decreases

Engineering Contradiction:
Improvedata throughputVSAvoidpower consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary action by proactively reinstating cache lines that have been evicted but are likely to be needed again. By monitoring access patterns and preemptively bringing back frequently accessed data before actual cache misses occur, the system reduces the need for subsequent off-chip memory accesses, thereby reducing power consumption while maintaining data throughput.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9311251B2System cache with sticky allocation
Publication Date: 2016.04.12 APPLE INC
  • US9311251B2 patent drawing
  • US9311251B2 patent drawing
  • US9311251B2 patent drawing

AI summary

Methods and apparatuses for implementing a system cache within a memory controller. Multiple requesting agents may allocate cache lines in the system cache, and each line allocated in the system cache may be associated with a specific group ID. Also, each line may have a corresponding sticky state which indicates if the line should be retained in the cache. The sticky state is determined by an allocation hint provided by the requesting agent. When a cache line is allocated with the sticky state, the line will not be replaced by other cache lines fetched by any other group IDs.