Co-processor Direct NVMe Access for GPU Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems require extensive host CPU involvement for graphics scene generation, leading to complex and latency-prone processes for Level Of Detail (LOD) information transfer between the GPU and non-volatile memory storage systems.

Innovation Solution

A GPU-optimized data flow is implemented, allowing direct co-processor access to prestored file system data in a non-volatile memory system, eliminating the need for host CPU involvement in data load requests. This is achieved through a request command queue and cache buffer in the NVMe system, enabling direct memory access and reducing communication overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If host CPU involvement is used for data load requests between GPU and non-volatile memory, then data transfer can be performed, but latency increases and performance decreases

Engineering Contradiction:
ImprovelatencyVSAvoidperformance
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent extracts the host CPU from the data transfer path between GPU and non-volatile memory. By implementing direct GPU access to the NVMe controller through a dedicated command queue and memory-mapped I/O interface, the CPU is removed from the critical data load request path, eliminating CPU involvement overhead and reducing latency for texture and shader data transfers.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary command queue structure that enables direct communication between GPU and NVMe controller. The command queue acts as a mediator that allows the GPU to submit read requests directly to the NVMe controller without CPU intervention, while maintaining proper protocol handling and data flow management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If host CPU involvement is required for graphics scene generation, then data processing can be performed, but device complexity increases

Engineering Contradiction:
Improveoperation simplicityVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent enables the GPU to serve itself by directly accessing non-volatile memory storage without requiring host CPU assistance. The GPU can independently issue read requests to the NVMe controller, manage its own data buffers, and perform graphics scene generation operations autonomously, thereby simplifying the overall system operation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements a universal interface architecture where the NVMe controller can serve both traditional CPU-based hosts and GPU-based direct access operations through the same command queue and data path infrastructure, eliminating the need for separate processing paths and reducing system complexity.

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

Data Source

PatentUS12340086B2Apparatus and methods for direct co-processor access to prestored file system data in a non-volatile memory system
Publication Date: 2025.06.24 ADVANCED MICRO DEVICES INC
  • US12340086B2 patent drawing
  • US12340086B2 patent drawing
  • US12340086B2 patent drawing

AI summary

An apparatus includes a co-processor that provides process operations for a first processor, such as a host processor, that executes one or more applications. The co-processor issues a data load request to a request command queue controlled by a non-volatile memory system, that loads a subset of prestored data from a prestored set of data, such as file data of an application, that is stored in a cache buffer in the non-volatile memory system or system memory, for an operation performed by the co-processor. The co-processor uses the loaded subset of prestored data for the operation. In certain implementations, the co-processor issues the data load request as a direct memory access (DMA) load request for the cache buffer. The prestored set of data includes a prestored set of data from a file storage system. Associated methods are also disclosed.