Cache Memory System with Priority-Based Eviction for Tile Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cache memory systems face challenges in reducing cache miss possibilities, especially in tile-based rendering operations where data locality is high, leading to frequent evictions and increased external memory access, which affects processing efficiency and power consumption.

Innovation Solution

A cache memory system that assigns priorities to data blocks based on texture data frequencies, such as those used in pixel shading programs, to determine which blocks to evict, with low-priority blocks being replaced and potentially stored in a temporary victim cache to minimize cache misses and reduce external memory access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If cache memory is used to store recently accessed data, then data transmission speed is improved, but cache miss possibility increases when cache capacity is limited

Engineering Contradiction:
Improvedata transmission speedVSAvoidcache miss possibility
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary actions by storing not only the requested data block but also adjacent data blocks in the cache memory before they are needed. This proactive approach ensures that when the CPU accesses adjacent locations (common in tile-based rendering), the data is already available in the cache, preventing cache misses and maintaining high data transmission speed.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If cache memory size is increased to reduce cache misses, then cache miss possibility is reduced, but device complexity and cost increase

Engineering Contradiction:
Improvecache miss possibilityVSAvoidcache memory size
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of uniformly increasing cache size, the system applies local quality by selectively prioritizing storage of adjacent data blocks that are locally related to the requested data. This spatially-aware caching strategy focuses cache resources on data with high local correlation (adjacent memory locations), achieving effective cache utilization without proportionally increasing overall cache memory size.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If data blocks are evicted from cache to make space for new data, then cache memory can store more varied data, but cache miss probability increases

Engineering Contradiction:
Improvecache data varietyVSAvoidcache miss probability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements dynamic cache management by continuously monitoring access patterns and adaptively adjusting which data blocks to retain or evict. When adjacent data access patterns are detected, the system dynamically retains those blocks even if cache capacity is limited, while evicting blocks with lower spatial correlation. This dynamic adaptation maintains cache effectiveness while allowing cache content to vary based on actual usage patterns.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP2854037B1Cache memory system and operating method for the same
Publication Date: 2020.07.15 SAMSUNG ELECTRONICS CO LTD
  • EP2854037B1 patent drawingFigure 1~2
  • EP2854037B1 patent drawingFigure 3
  • EP2854037B1 patent drawingFigure 4

AI summary

A cache memory system includes a cache memory, which stores cache data corresponding to portions of main data stored in a main memory and priority data respectively corresponding to the cache data; a table storage unit, which stores a priority table including information regarding access frequencies with respect to the main data; and a controller, which, when at least one from among the main data is requested, determines whether cache data corresponding to the request is stored in the cache memory, deletes one from among the cache data based on the priority data, and updates the cache data set with new data, wherein the priority data is determined based on the information regarding access frequencies.