Graphics Surface Addressing via Multi-Layer Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graphics processors face memory allocation challenges when handling large graphics surfaces, as allocating memory for entire surfaces can negatively impact other processing tasks and lead to bandwidth and allocation issues.

Innovation Solution

Implementing a multi-layer address translation system that allows graphics surfaces to use sparse memory allocation, where surfaces have their own unique surface space mapped to virtual space using a translation table, enabling efficient access without allocating memory for the entire surface, and utilizing translation circuitry to handle addresses in surface, virtual, and physical spaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory space is allocated for entire graphics surfaces, then graphics processing can proceed, but bandwidth and allocation are negatively impacted

Engineering Contradiction:
Improvegraphics processingVSAvoidbandwidth
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments the graphics surface memory allocation into two distinct spaces: surface space (logical addressing space) and storage space (physical memory allocation). This segmentation allows the surface to be addressed as if fully allocated while actually storing only the portions of data that are currently needed, thereby reducing bandwidth consumption without compromising graphics processing reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a translation circuit as an intermediary between the surface space and storage space. This translation circuit performs address translation, converting surface space addresses to storage space addresses, enabling the system to maintain large surface addresses for graphics processing while physically allocating minimal memory, thus resolving the bandwidth conflict.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If memory space is allocated for entire graphics surfaces, then graphics processing can proceed, but allocation is negatively impacted

Engineering Contradiction:
Improvegraphics processingVSAvoidmemory allocation
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent divides the memory management into surface space (logical) and storage space (physical), allowing the system to present a large addressable surface space to graphics processing while physically allocating only the necessary portions in storage space. This segmentation enables full graphics processing functionality without requiring full surface memory allocation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds an address translation dimension between surface space and storage space. By introducing this intermediate translation layer, the system can support large surface addresses (4GB or more) while physically using minimal memory, effectively resolving the allocation conflict through dimensional transformation of the address space.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Loss of energy

If sparse memory allocation is used for graphics surfaces, then bandwidth and allocation are optimized, but address translation complexity increases

Engineering Contradiction:
ImprovebandwidthVSAvoidaddress translation
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent introduces a dedicated translation circuit as an intermediary to handle the complexity of address translation. This specialized hardware component manages the mapping between surface space and storage space, isolating the translation complexity from the rest of the graphics processing system and enabling sparse memory allocation without burdening the main processing logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Quantity of substance

If sparse memory allocation is used for graphics surfaces, then allocation is optimized, but system complexity increases

Engineering Contradiction:
Improvememory allocationVSAvoidtranslation circuitry
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the memory system into surface space and storage space with a dedicated translation circuit. This segmentation allows the system to use minimal physical memory allocation while maintaining large logical surface addresses, with the translation circuit handling the complexity of mapping between the two spaces, thus optimizing memory usage without overwhelming the system architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

By adding the address translation dimension, the patent enables the system to support large surface spaces (e.g., 4GB or more) while using minimal physical memory. The translation circuit operates in this intermediate dimensional space, resolving the conflict between large logical allocation and small physical allocation without significantly increasing overall system complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11257278B2Graphics surface addressing
Publication Date: 2022.02.22 APPLE INC
  • US11257278B2 patent drawing
  • US11257278B2 patent drawing
  • US11257278B2 patent drawing

AI summary

Techniques are disclosed relating to memory allocation for graphics surfaces. In some embodiments, graphics processing circuitry is configured to access a graphics surface based on an address in a surface space assigned to the graphics surface. In some embodiments, first translation circuitry is configured to translate address information for the surface space to address information in the virtual space based on one or more of the translation entries. In some embodiments, the graphics processing circuitry is configured to provide an address for the access to the graphics surface based on translation by the first translation circuitry and second translation circuitry configured to translate the address in the virtual space to an address in a physical space of a memory configured to store the graphics surface. The disclosed techniques may allow sparse allocation of large graphics surfaces, in various embodiments.