GPU Private Memory Allocation With Dynamic Page Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing unit (GPU) memory management techniques face inefficiencies due to fixed private memory allocations, which do not adapt to varying memory needs and hinder memory space sharing between shader processors and other circuitry.

Innovation Solution

Implementing a memory allocator circuit that dynamically allocates and maps private memory spaces, allowing consolidation into a shared global memory space, with operations like reserve, translate-map, translate-no-map, and unmap to manage memory allocation efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If fixed private memory allocations are used in GPU, then memory management is simple, but memory efficiency is poor and memory space cannot be shared between shader processors and other circuitry

Engineering Contradiction:
Improvememory allocation flexibilityVSAvoidmemory management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic memory allocation where the memory allocator circuit dynamically allocates and deallocates private memory spaces to shader processors based on runtime needs. The system transitions from fixed static allocation to dynamic allocation, allowing memory sizes and assignments to change during operation, thereby improving adaptability while managing complexity through automated allocation algorithms

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a unified global memory space that serves multiple functions: it acts as shared memory for shader processors, provides private memory spaces when needed, and enables memory sharing between different circuitry components. The memory allocator circuit manages this multi-functional memory system, allowing the same physical memory resources to serve multiple purposes and multiple consumers simultaneously

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

2Quantity of substance

If fixed private memory allocations are used, then memory management overhead is low, but overall memory usage is inefficient and software footprints are larger

Engineering Contradiction:
Improvememory usageVSAvoidmemory management ease
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent changes the allocation parameters from fixed predetermined values to dynamic values determined at runtime. The memory allocator circuit adjusts memory allocation parameters (size, address mapping, duration) based on actual usage patterns, allowing the system to optimize memory consumption while maintaining ease of operation through automated parameter management

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The memory allocator circuit implements self-service mechanisms where memory is automatically allocated, mapped, and deallocated based on program execution needs without requiring manual intervention. The system monitors memory usage and automatically adjusts allocations, reducing the burden on software developers while improving memory efficiency

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If dynamic memory allocation is implemented, then memory flexibility and sharing capability improve, but memory management complexity increases

Engineering Contradiction:
Improvememory sharing capabilityVSAvoidmemory management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a memory allocator circuit as an intermediary component between the physical memory resources and the shader processors. This intermediary handles the complexity of dynamic allocation, address translation, and memory sharing coordination, shielding the shader processors from complexity while enabling advanced memory management features and sharing capabilities

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250284644A1On-demand Memory Allocation
Publication Date: 2025.09.11 APPLE INC
  • US20250284644A1 patent drawing
  • US20250284644A1 patent drawing
  • US20250284644A1 patent drawing

AI summary

Techniques are disclosed relating to dynamically allocating and mapping private memory for requesting circuitry. Disclosed circuitry may receive a private address and translate the private address to a virtual address (which an MMU may then translate to physical address to actually access a storage element). In some embodiments, private memory allocation circuitry is configured to generate page table information and map private memory pages for requests if the page table information is not already setup. In various embodiments, this may advantageously allow dynamic private memory allocation, e.g., to efficiently allocate memory for graphics shaders with different types of workloads. Disclosed caching techniques for page table information may improve performance relative to traditional techniques. Further, disclosed embodiments may facilitate memory consolidation across a device such as a graphics processor.