System Cache with Hint Control for Data Retention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional caches are inefficient in storing data accessed multiple times with widely spaced access times, leading to increased power consumption and reduced battery life in mobile devices, as they are not designed to retain data that is reused over time.

Innovation Solution

Implementing a cache hint mechanism in a system cache where requesting agents can provide hints on how to allocate cache lines, including 'do not allocate', 'de-allocate', 'allocate normal', and 'allocate sticky' hints, to manage cache line allocation based on data reuse patterns and access patterns of multiple agents.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

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

Engineering Contradiction:
Improvedata retention accuracyVSAvoidaccess pattern adaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The cache system dynamically adjusts its retention behavior based on the type of access pattern detected. By categorizing access patterns into temporal locality, spatial locality, and reuse patterns, the cache can switch between different replacement policies (LRU, FIFO, or custom) to match the actual data access behavior, thereby improving both reliability and adaptability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the cache replacement parameter based on the detected access pattern. When reuse patterns are detected (data accessed multiple times with widely spaced access times), the system modifies the replacement policy to retain such data longer, rather than using the standard LRU policy that would evict it. This parameter change allows the cache to adapt to different access patterns while maintaining reliable data retention

Inventive Principle:
Principle #35Parameter changes

2Use of energy by moving object

If data is cached in system cache, then power consumption is reduced, but cache memory is wasted on data that will not be reused

Engineering Contradiction:
Improvepower consumptionVSAvoidcache memory utilization
Core Design Contradiction:
Use of energy by moving objectVSQuantity of substance

Solution Approach 1:

The cache system applies different quality characteristics to different cache lines based on their access patterns. Data identified as having reuse patterns is marked with special attributes (such as sticky bits or metadata flags) that differentiate it from standard cache data. This local quality differentiation allows the system to retain only the data that will be reused, optimizing both power consumption and memory utilization

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The cache system uses the access pattern information from the requests themselves to make retention decisions. By monitoring access patterns and automatically identifying reuse scenarios, the cache serves itself in determining which data to retain, eliminating the need for external control while optimizing power and memory usage

Inventive Principle:
Principle #25Self-service

3Reliability

If cache lines are allocated for all requests, then data availability is improved, but power consumption increases due to unnecessary cache maintenance

Engineering Contradiction:
Improvedata availabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Instead of allocating cache lines for all requests, the system applies partial action by selectively allocating cache lines only for data that exhibits reuse patterns. By using access pattern detection to identify which requests warrant cache allocation, the system avoids the excessive action of caching all data, thereby reducing power consumption while maintaining data availability for reused data

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9158685B2System cache with cache hint control
Publication Date: 2015.10.13 APPLE INC
  • US9158685B2 patent drawing
  • US9158685B2 patent drawing
  • US9158685B2 patent drawing

AI summary

Methods and apparatuses for utilizing a cache hint mechanism in which a requesting agent can provide hints as to how data corresponding to a request should be cached in a system cache within a memory controller. The way the system cache responds to received requests is determined by the cache hint provided by the originating requesting agent. When a request is accompanied by a de-allocate cache hint, the system cache causes a cache line hit by the request to be de-allocated. For a request with a do not allocate cache hint, the system cache does not allocate a cache line if the request misses in the system cache, and the system cache maintains a given cache line in its current state if the requests hits the given cache line.