Cache Line Allocation Prediction Circuitry

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cache thrashing occurs due to typical cache replacement policies like LRU, leading to eviction of useful data, resulting in increased latency and reduced cache performance.

Innovation Solution

An apparatus and method that detect access patterns to cache lines, predicting whether data is streaming or multiple-access data, and selectively allocating cache lines based on these predictions to optimize cache allocation and eviction policies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If typical cache replacement policies like LRU are used, then cache management is simple, but cache thrashing occurs and useful data is evicted leading to increased latency

Engineering Contradiction:
Improvecache management simplicityVSAvoidcache access latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent applies preliminary action by predicting whether incoming data will be streamed or accessed multiple times before making eviction decisions. The system pre-classifies data using detection circuitry that analyzes access patterns, allowing the cache to proactively retain or evict data based on predicted future usage rather than reacting to past access history alone. This prevents cache thrashing by avoiding eviction of data that will be needed soon.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If cache memory size is increased to reduce cache misses, then cache hit rate improves, but memory cost and system complexity increase

Engineering Contradiction:
Improvecache hit rateVSAvoidmemory system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the cache replacement decision-making process into distinct functional units: detection circuitry that monitors access patterns, prediction circuitry that classifies data as streamed or multiple-access, and control circuitry that executes differentiated eviction policies. This segmentation allows complex predictive functionality to be added without proportionally increasing overall system complexity, as each component has a specific, localized function.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of eviction policy based on data type prediction. Instead of using a single static replacement policy, the control circuitry dynamically selects between different eviction strategies (e.g., aggressive eviction for streamed data, conservative retention for multiple-access data) based on the classification output. This allows the cache to optimize hit rate without requiring increased cache size.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If data is evicted from cache to make room for new data, then cache capacity utilization improves, but useful data is lost requiring re-fetch from memory

Engineering Contradiction:
Improvecache capacity utilizationVSAvoiddata re-fetch latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements feedback by continuously monitoring actual cache access patterns and using this information to refine eviction decisions. The detection circuitry tracks access behavior, and the prediction circuitry uses this feedback to classify data accurately. This closed-loop approach ensures that eviction decisions are based on real observed behavior rather than static assumptions, preventing the eviction of frequently accessed data while maximizing cache capacity utilization.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20200250098A1Cache access detection and prediction
Publication Date: 2020.08.06 ARM LTD
  • US20200250098A1 patent drawing
  • US20200250098A1 patent drawing
  • US20200250098A1 patent drawing

AI summary

An apparatus comprises a cache memory to store data as a plurality of cache lines each having a data size and an associated physical address in a memory, access circuitry to access the data stored in the cache memory, detection circuitry to detect, for at least a set of sub-units of the cache lines stored in the cache memory, whether a number of accesses by the access circuitry to a given sub-unit exceeds a predetermined threshold, in which each sub-unit has a data size that is smaller than the data size of a cache line, prediction circuitry to generate a prediction, for a given region of a plurality of regions of physical address space, of whether data stored in that region comprises streaming data in which each of one or more portions of the given cache line is predicted to be subject to a maximum of one read operation or multiple access data in which each of the one or more portions of the given cache line is predicted to be subject to more than one read operation, the prediction circuitry being configured to generate the prediction in response to a detection by the detection circuitry of whether the number of accesses to a sub-unit of a cache line having an associated physical address in the given region exceeds the predetermined threshold, and allocation circuitry to selectively allocate a next cache line to the cache memory in dependence upon the prediction applicable to the region of physical address space containing that next cache line.