Dynamic Texture Cache Line Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing texture cache systems face inefficiencies due to fixed cache line sizes, leading to high cache misses and decreased performance when handling various texel formats, as they are not adaptable to different texture sizes and access directions, resulting in suboptimal memory usage and performance.

Innovation Solution

A dynamically configurable texture cache line structure that adjusts its size and orientation based on the texel format, filter type, and access direction, allowing for optimal storage and retrieval of texels by configuring the cache line to contain 4-8 texels and adjusting the tile structure according to the access direction, thereby improving cache hit efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a fixed cache line size is used, then the cache structure is simple, but cache efficiency decreases when handling various texel formats due to high cache misses

Engineering Contradiction:
Improvecache structureVSAvoidcache efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The cache line size is made dynamically configurable rather than fixed. The system can adjust the cache line size based on the texture format being accessed, allowing optimal adaptation to different texel sizes and access patterns, thereby resolving the contradiction between structural simplicity and operational efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The cache line size parameter is changed dynamically based on the texture format requirements. By allowing the cache line size to vary (e.g., 32 bytes, 64 bytes, 128 bytes) according to the specific texel format and access direction, the system optimizes cache efficiency without requiring complete structural redesign

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If a large cache line size is used, then more texels can be stored in each line, but cache misses increase when few texels are used before line replacement

Engineering Contradiction:
Improvenumber of texels per cache lineVSAvoidcache hit efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The cache line size is dynamically adjusted to match the actual texture access requirements. When accessing small textures or textures with limited spatial locality, the cache line size is reduced to avoid wasting cache capacity, thereby improving cache hit efficiency while still allowing large cache lines when needed for large textures

Inventive Principle:
Principle #15Dynamics

3Productivity

If a small cache line size is used, then cache replacement occurs frequently, but not enough room exists to store four large-sized texels for bilinear sampling

Engineering Contradiction:
Improvecache replacement frequencyVSAvoidstorage capacity for texels
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The cache line size parameter is changed based on the texture format and sampling requirements. For bilinear sampling operations requiring four large-sized texels, the cache line size is increased to accommodate them, while for other operations with better spatial locality, smaller cache line sizes are used to enable more frequent beneficial replacements

Inventive Principle:
Principle #35Parameter changes

4Device complexity

If the cache line size is fixed, then the cache design is straightforward, but cache misses increase when accessing textures of various sizes and formats

Engineering Contradiction:
Improvecache designVSAvoidcache miss rate
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The cache line size is made dynamic and configurable based on the specific texture access patterns and formats. The system can select from multiple cache line size configurations (e.g., 32, 64, 128 bytes) depending on the texture size, format, and access direction, thereby reducing cache misses while maintaining relatively simple cache design through predefined configurations

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9304933B2Techniques to request stored data from a memory
Publication Date: 2016.04.05 SK HYNIX NAND PRODUCT SOLUTIONS CORP
  • US9304933B2 patent drawing
  • US9304933B2 patent drawing
  • US9304933B2 patent drawing

AI summary

Techniques are described to configure a cache line structure based on attributes of a draw call and access direction of a texture. Attributes of textures (e.g., texture format and filter type), samplers, and shaders used by the draw call can be considered to determine the line size of a cache. Access direction can be considered to reduce the number of lines that are used to store texels required by a sample request.