No Allocate Cache Policy for Data Reuse Classification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache systems face inefficiencies due to data that is not expected to be reused occupying cache storage, preventing more reusable data from being cached, which increases access latencies and decreases overall performance.

Innovation Solution

Implementing a 'no allocate' data type or policy in the cache system, where data not expected to be reused is marked and handled differently, preventing its allocation in the cache and limiting its cache residency time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is allocated in cache storage locations, then cache capacity is utilized, but non-reusable data occupies cache space preventing more reusable data from being cached

Engineering Contradiction:
Improvecache utilization efficiencyVSAvoidaccess latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary classification of data into reusable and non-reusable categories before cache allocation. By examining data attributes and access patterns in advance, the cache controller prevents non-reusable data from being allocated to cache storage locations, ensuring that only potentially reusable data occupies cache space. This preliminary action eliminates the need for later eviction of non-reusable data and reduces access latency for reusable data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies different cache allocation policies to different types of data. Reusable data receives preferential treatment with standard allocation and retention policies, while non-reusable data is explicitly excluded from cache allocation or given minimal residency time. This localized quality approach optimizes cache usage by tailoring the allocation strategy to the specific reuse characteristics of each data type.

Inventive Principle:
Principle #3Local quality

2Device complexity

If non-reusable data is allowed in cache, then cache allocation is simplified, but performance decreases due to increased access latencies

Engineering Contradiction:
Improvecache allocation complexityVSAvoidoverall performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system changes the parameters of cache allocation by introducing a data type classification mechanism that identifies non-reusable data. This parameter change enables the cache controller to apply different allocation rules: standard allocation for reusable data and restricted or no allocation for non-reusable data. The parameter change maintains relatively simple allocation logic while dramatically improving performance by preventing non-reusable data from degrading cache effectiveness.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3552110B1No allocate cache policy
Publication Date: 2025.01.29 ADVANCED MICRO DEVICES INC
  • EP3552110B1 patent drawingFigure 1
  • EP3552110B1 patent drawingFigure 2
  • EP3552110B1 patent drawingFigure 3

AI summary

A system and method for efficiently performing data allocation in a cache memory are described. A lookup is performed in a cache responsive to detecting an access request. If the targeted data is found in the cache and the targeted data is of a no allocate data type indicating the targeted data is not expected to be reused, then the targeted data is read from the cache without updating cache replacement policy information for the targeted data responsive to the access. If the lookup results in a miss, the targeted data is prevented from being allocated in the cache.