System Cache Sticky Allocation for Spaced Access Retention
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


