Graphics Memory Sharing for System Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing demand for system memory in computer systems, particularly for graphics processing units (GPUs), results in significant unused memory during idle states, leading to wasted power consumption as the memory is not utilized for general system applications.

Innovation Solution

A system that detects an idle GPU state and allows access to graphics memory as part of the computer system's memory pool, enabling its use for general system applications by signaling the operating system and translating memory access requests, thereby increasing power efficiency and system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If graphics memory is allocated for GPU operations, then graphics processing capability is improved, but memory availability for general system applications deteriorates during idle GPU states

Engineering Contradiction:
Improvegraphics processing capabilityVSAvoidmemory availability for system applications
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The graphics memory is designed to serve dual purposes: it functions as dedicated GPU memory during graphics-intensive operations and as accessible system memory during GPU idle states. The memory management system enables the same physical memory resources to be dynamically allocated between graphics processing and general system applications based on real-time GPU utilization, thereby resolving the contradiction between maintaining graphics capability and providing memory for system applications.

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

Solution Approach 2:

The system implements dynamic memory allocation where the availability of graphics memory to the system changes based on GPU activity. During idle states, memory is made available to the system; during active graphics processing, memory is reserved for the GPU. This dynamic adjustment of memory accessibility resolves the contradiction by adapting memory distribution to actual operational needs.

Inventive Principle:
Principle #15Dynamics

2Reliability

If graphics memory remains allocated during idle GPU states, then graphics readiness is maintained, but power consumption increases due to unused memory

Engineering Contradiction:
Improvegraphics readinessVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system employs periodic monitoring of GPU idle states and dynamically adjusts memory allocation accordingly. Rather than maintaining continuous memory allocation, the system periodically checks GPU utilization and switches memory accessibility between dedicated and shared modes, enabling energy savings during extended idle periods while maintaining readiness for graphics operations.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The memory management system automatically detects GPU idle states and reallocates memory without requiring external intervention. The system self-manages the transition of memory between dedicated and shared states based on operational conditions, optimizing power consumption while maintaining graphics capability readiness.

Inventive Principle:
Principle #25Self-service

3Productivity

If system memory is increased using graphics memory, then system performance is improved, but graphics processing performance deteriorates when the GPU needs its memory

Engineering Contradiction:
Improvesystem performanceVSAvoidgraphics processing performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements dynamic memory allocation where graphics memory is shared with system applications during GPU idle states and exclusively allocated to the GPU when graphics processing is required. The memory management mechanism continuously monitors GPU activity and adjusts memory accessibility in real-time, allowing the system to benefit from additional memory capacity without compromising graphics processing performance when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the accessibility parameter of graphics memory based on operational mode. During idle states, memory accessibility is set to allow system applications to utilize the memory capacity. When graphics processing begins, the parameter changes to reserve exclusive access for the GPU, thereby optimizing both system performance and graphics processing performance at different times.

Inventive Principle:
Principle #35Parameter changes

4Quantity of substance

If memory access requests are translated and executed for system applications, then memory utilization is improved, but system complexity increases

Engineering Contradiction:
Improvememory utilizationVSAvoidmemory management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system introduces a memory management intermediary that handles translation of memory access requests between system applications and graphics memory. This intermediary layer abstracts the complexity of memory allocation and translation, managing the shared memory resources while presenting a simplified interface to both the system applications and the GPU, thereby enabling high memory utilization without proportionally increasing overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8610732B2System and method for video memory usage for general system application
Publication Date: 2013.12.17 NVIDIA CORP
  • US8610732B2 patent drawing
  • US8610732B2 patent drawing
  • US8610732B2 patent drawing

AI summary

A system and method for facilitating access to graphics memory wherein the graphics memory can be shared between a graphics processor and general system application. The method includes detecting an idle state of a graphics processing unit (GPU). The GPU uses graphics memory operable for storing graphics data. The method further includes determining an amount of available memory of the graphics memory of the GPU and signaling an operating system regarding the available memory. Memory data transfers are then received to store data into the available memory of the graphics memory wherein the data is related to general system application. Memory accesses to the available memory of the GPU are translated into a suitable format and executed so that the graphics memory is shared between the GPU and the operating system.