Unified Graphics Cache for Parallel Multi-Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processors face challenges in efficiently managing multiple memory spaces due to complex memory access requests and separate physical caches for different memory types, leading to intricate network connections and performance bottlenecks.

Innovation Solution

Implementing a unified low-level data cache that shares resources across multiple memory spaces, utilizing tiered banking configurations, parallel tag checks, and fine-grained sub-cache-line access to simplify and optimize memory access operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate physical caches are used for different memory spaces, then each memory space can be managed independently, but the device complexity and network connections become intricate

Engineering Contradiction:
Improveindependent memory space managementVSAvoidnetwork connections
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple separate physical caches into a single unified low-level data cache that serves multiple memory spaces (device memory, thread private memory, SIMD group memory, threadgroup memory). This consolidation eliminates the need for separate cache structures and complex inter-cache network connections, while maintaining independent access paths to different memory spaces through a single cache interface.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified data cache is designed to serve multiple functions and multiple memory spaces simultaneously. A single cache structure handles device memory accesses, thread private memory accesses, SIMD group memory accesses, and threadgroup memory accesses, making the cache universal rather than specialized for a single memory space.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If separate physical caches are used for different memory types, then each cache can be optimized for its specific memory space, but the overall system performance is bottlenecked by complex memory access requests

Engineering Contradiction:
Improvememory space optimizationVSAvoidmemory access throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The unified data cache is divided into multiple independent banks, where each bank can be independently accessed. This segmentation allows parallel memory access operations to different memory spaces to occur simultaneously without interfering with each other, thereby maintaining optimization for different memory types while improving throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements fine-grained sub-cache-line access that allows continuous, non-blocking memory operations. Multiple memory access requests to different memory spaces can be processed in parallel through different cache banks, eliminating idle time and maintaining continuous useful action across all memory spaces.

Inventive Principle:
Principle #20Continuity of useful action

3Device complexity

If a unified cache is implemented for multiple memory spaces, then device complexity is reduced, but bank conflicts may increase

Engineering Contradiction:
Improvecache structureVSAvoidparallel access efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The unified data cache is segmented into multiple independent banks, each capable of handling memory access requests independently. This segmentation prevents bank conflicts by distributing access requests across different banks, allowing parallel access to multiple memory spaces without interference, thereby maintaining high productivity despite the unified structure.

Inventive Principle:
Principle #1Segmentation

4Ease of operation

If traditional cache line granularity is used, then cache management is simpler, but fine-grained access to multiple memory spaces is limited

Engineering Contradiction:
Improvecache managementVSAvoidfine-grained access capability
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The cache implements fine-grained sub-cache-line access by segmenting the cache line into smaller addressable units. This allows individual bytes or words within a cache line to be accessed independently, enabling fine-grained access to multiple memory spaces without requiring full cache line transfers, thereby improving productivity while maintaining manageable cache operations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250355808A1Graphics Processor Cache for Data from Multiple Memory Spaces
Publication Date: 2025.11.20 APPLE INC
  • US20250355808A1 patent drawing
  • US20250355808A1 patent drawing
  • US20250355808A1 patent drawing

AI summary

In disclosed embodiments, a processor is configured to operate on data in multiple memory spaces. Data cache circuitry stores data for the processor circuitry, the data including data from the multiple memory address spaces at a first cache level including a first data subset from a first memory address space. The data cache includes tag circuitry configured to identify, in a single clock cycle, all entries in the data cache circuitry that currently store data of the first data subset from the first memory address space. This may facilitate eviction, flushing, and occupancy tracking, for example.