Cache Replacement Policy Using Memory Access Type Priorities
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cache memory systems lack efficiency in allocating storage elements due to their reliance on simple replacement policies that do not consider the memory access type (MAT) of incoming requests, leading to suboptimal performance in managing cache lines.
Innovation Solution
An associative cache memory system that allocates storage elements based on memory access types (MATs) using a mapping that prioritizes replacement policies, where the allocation unit determines the most and second most eligible ways for replacement, and inserts new entries into positions other than the most recently used ones based on MAT priorities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a simple replacement policy is used in cache memory, then the device complexity is reduced, but the cache hit rate decreases
Solution Approach 1:
The patent applies local quality by differentiating replacement behavior based on memory access types. Different cache lines are treated differently according to their access patterns - some are replaced preferentially while others are protected. This localized differentiation improves overall cache hit rate without requiring complete redesign of the replacement policy.
Solution Approach 2:
The patent changes the parameter of replacement eligibility by introducing MAT priority as a new dimension. Instead of uniform replacement, the system dynamically adjusts replacement likelihood based on MAT priority values, transforming a static replacement policy into a dynamic one that adapts to access patterns.
2Productivity
If MAT-based prioritization is implemented, then cache memory efficiency is improved, but the device complexity increases
Solution Approach 1:
The patent implements preliminary action by pre-calculating and storing MAT priority values for different memory access types. When a cache miss occurs, the allocation unit simply looks up the pre-determined priority values rather than performing complex real-time analysis, thereby improving efficiency without excessive complexity increase.
Solution Approach 2:
The patent segments the replacement decision process into distinct components: MAT identification, priority lookup, eligibility determination, and replacement execution. This segmentation allows each component to be implemented independently and efficiently, managing complexity through modular design.
3Reliability
If the second most eligible way is replaced instead of the most eligible way, then high priority MATs are protected, but the replacement policy complexity increases
Solution Approach 1:
The patent applies preliminary anti-action by proactively protecting high priority MAT cache lines before they would be replaced. By identifying the most eligible way and checking its MAT priority, the system prevents replacement of valuable cache lines in advance, countering the natural tendency of simple replacement policies to evict important data.
Data Source
Figure 1
Figure 2
Figure 3~5
AI summary
An associative cache memory (102), comprising: an array (104) of storage elements (112) arranged as M sets by N ways; an allocation unit (106) allocates the storage elements (112) in response to memory accesses (122) that miss in the cache memory (102). Each memory access (122) selects a set. Each memory access (122) has an associated memory access type (MAT) (101) of a plurality of predetermined MATs (101). Each valid storage element (112) has an associated MAT (101); a mapping (108) that includes, for each MAT (101), a MAT priority (3277). In response to a memory access (122) that misses in the array (104), the allocation unit (106): determines a most eligible way and a second most eligible way of the selected set for replacement based on a replacement policy; and replaces the second most eligible way rather than the most eligible way when the MAT priority (3277) of the most eligible way is greater than the MAT priority (3277) of the second most eligible way.