VRAM Cache Module for CPU Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems underutilize GPU memory resources when not performing graphics processing, limiting CPU performance due to the lack of direct access to GPU memory.

Innovation Solution

A VRAM cache module with a VRAM cache driver is introduced to manage and provide additional cache resources for the CPU, allowing it to access and utilize GPU memory for non-graphics related tasks, configured as a cache level and capable of allocating and deallocating memory as needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If GPU memory is dedicated solely to graphics processing, then graphics performance is maintained, but CPU performance during non-graphics tasks is limited due to insufficient cache memory

Engineering Contradiction:
ImproveCPU performanceVSAvoidmemory usage flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a VRAM cache module that enables GPU memory to serve dual purposes: graphics processing and CPU cache memory. The module intercepts CPU memory requests and redirects them to GPU memory when appropriate, allowing the same memory resource to fulfill multiple functions across different operational contexts

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

Solution Approach 2:

The system dynamically allocates and deallocates GPU memory to the CPU cache based on real-time needs. The VRAM cache module monitors CPU cache requirements and graphics processing demands, adjusting memory allocation accordingly to optimize system performance under varying workloads

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If CPU accesses GPU memory directly, then cache memory availability increases, but system complexity increases due to additional memory management components

Engineering Contradiction:
Improveavailable cache memoryVSAvoidmemory management structure
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a VRAM cache module as an intermediary component between the CPU and GPU memory. This module manages memory allocation, intercepts CPU requests, and coordinates with the GPU to provide cache services without requiring fundamental changes to existing CPU-GPU architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The VRAM cache module is nested within the existing GPU architecture, utilizing the GPU's existing memory infrastructure and DMA capabilities. The solution embeds cache management functionality within the GPU's memory subsystem rather than requiring separate external memory management hardware

Inventive Principle:
Principle #7Nested doll (Nesting)

3Speed

If GPU memory is used for CPU cache, then memory access speed improves, but graphics processing performance may be impacted when GPU memory is occupied

Engineering Contradiction:
Improvememory access speedVSAvoidgraphics processing performance
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system dynamically adjusts memory allocation between graphics processing and CPU cache based on real-time workload conditions. When graphics processing is active, GPU memory remains dedicated to graphics; when idle or under low graphics load, memory is allocated to CPU cache requests

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The VRAM cache module implements feedback mechanisms to monitor both CPU cache performance and GPU graphics processing performance. Based on this feedback, the system adjusts memory allocation decisions to maintain optimal performance for both functions, preventing degradation of graphics processing when CPU cache is needed

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP2389671B1Non-graphics use of graphics memory
Publication Date: 2019.04.03 ATI TECHNOLOGIES ULC
  • EP2389671B1 patent drawingFigure 1
  • EP2389671B1 patent drawingFigure 2
  • EP2389671B1 patent drawingFigure 3

AI summary

Embodiments of a method and apparatus for using graphics memory (also referred to as video memory 212) for non-graphics related tasks are disclosed herein In an embodiment a graphics processing unit (GPU 302) includes a VRAM cache module (204) with hardware and software to provide and manage additional cache resources for a central processing unit (CPU) In an embodiment, the VRAM cache module includes a VRAM cache driver (404) that registers with the CPU, accepts read requests from the CPU, and uses the VRAM cache to service the requests. In various embodiments, the VRAM cache is configurable to be the only GPU cache or alternatively, to be a first level cache, second level cache, etc.