No Allocate Cache Policy for Data Reuse Classification
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Device complexity
If non-reusable data is allowed in cache, then cache allocation is simplified, but performance decreases due to increased access latencies
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.
Data Source
Figure 1
Figure 2
Figure 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.