GPU Storage Driver Frame Buffer Access via Virtual Memory Manager

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems waste bandwidth by transferring entire data sets between the CPU and GPU, even when only a subset is needed, leading to reduced performance due to unnecessary data transfer.

Innovation Solution

A method is implemented where a virtual memory manager registers a file system and page-fault routine with a storage driver, allowing only needed data to be retrieved and stored from a frame buffer, using processor registers to manage data transfer efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire data set is transmitted between CPU and GPU, then the application can access all processed results, but data transfer bandwidth is wasted and system performance is reduced

Engineering Contradiction:
Improvedata access completenessVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the large data set into smaller pages or chunks that can be individually accessed. Instead of transferring the entire data set, the system divides it into manageable units and only transfers the specific pages that the application needs, thereby reducing unnecessary data transfer while maintaining complete access capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the necessary portions of the data set from the GPU to the CPU memory. When the application needs to access processed results, the system identifies and extracts only the specific pages containing the required data, leaving the rest of the data set in GPU memory, thus avoiding wasteful full-data transfers.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If the entire data set is transmitted between CPU and GPU, then all data can be accessed and modified, but data transfer bandwidth is unnecessarily consumed

Engineering Contradiction:
Improvedata access flexibilityVSAvoidbandwidth consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The data set is segmented into multiple pages that can be independently managed and transferred. This segmentation allows the system to transfer only the specific pages that need to be accessed or modified, providing flexible data access while minimizing bandwidth consumption by avoiding transfer of unnecessary data segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial data transfer by moving only the necessary pages from GPU to CPU memory rather than the entire data set. This partial action approach provides the adaptability needed for selective data access while avoiding the excessive bandwidth consumption associated with transferring all data.

Inventive Principle:
Principle #16Partial or excessive action

3Quantity of substance

If large quantities of data are transmitted between CPU and GPU, then complete data sets can be processed, but overall system performance is substantially reduced

Engineering Contradiction:
Improvedata transfer volumeVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the large data set into smaller manageable pages, allowing the system to transfer only the necessary portions. This segmentation enables efficient data management where large quantities of data can be handled through selective page transfers rather than bulk transfers, maintaining productivity while managing data transfer volume effectively.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system extracts only the necessary data pages from the GPU to CPU memory based on application needs. This extraction approach allows the system to handle large data sets by selectively transferring only the required portions, thereby maintaining system performance while managing the quantity of data transferred.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8593472B1System and method for accessing a frame buffer via a storage driver
Publication Date: 2013.11.26 NVIDIA CORP
  • US8593472B1 patent drawing
  • US8593472B1 patent drawing
  • US8593472B1 patent drawing

AI summary

One embodiment of the invention sets forth a mechanism for retrieving and storing data from/to a frame buffer via a storage driver included in a GPU driver. The storage driver includes three separate routines, the registration engine, the page-fault routine and the write-back routine, that facilitate the transfer of data between the frame buffer and the system memory. The registration engine registers a file system, corresponding to the frame buffer, the page-fault routine and the write-back routine with the VMM. The page-fault routine causes a portion of data stored in a specific memory location in the frame buffer to be transmitted to a corresponding memory location in the application memory. The write-back routine causes data stored in a particular memory location in the application memory to be transmitted to a corresponding memory location in the frame buffer.