Unified GPU Cache System Dynamic Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing systems face inefficiencies due to separate cache devices for each shader unit, leading to difficulties in determining the optimal allocation of cache memory, which can result in bottlenecks and suboptimal performance.

Innovation Solution

A unified cache system that dynamically allocates resources based on the activity level of each shader unit, allowing for flexible allocation of cache resources and reducing the need for maximum storage capacity for each cache device, thereby improving efficiency and flexibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate cache devices are allocated for each shader unit, then each shader unit has dedicated storage capacity, but the overall system complexity increases and optimal allocation becomes difficult to determine

Engineering Contradiction:
Improvededicated storage capacityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines multiple separate cache devices into a single unified cache system that serves all shader units. This consolidation reduces the number of individual cache components from multiple separate devices to one shared device, directly addressing the technical contradiction by maintaining reliable storage capacity while reducing system complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified cache device is designed to serve multiple shader units simultaneously, making it a universal storage resource. This multi-functional cache can dynamically allocate storage space to different shader units based on their current needs, eliminating the need for each shader unit to have its own dedicated cache while ensuring reliable storage capacity is available when needed.

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

2Quantity of substance

If maximum storage capacity is allocated to each cache device, then sufficient storage is available for all shader units, but resource utilization efficiency decreases

Engineering Contradiction:
Improvestorage capacityVSAvoidresource utilization efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The unified cache system implements dynamic allocation mechanisms that allow storage capacity to be flexibly distributed among shader units based on their current activity levels and requirements. Instead of static maximum allocation, the cache can adaptively adjust the amount of storage space each shader unit receives, thereby improving resource utilization efficiency while maintaining sufficient total storage capacity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the allocation parameters of cache memory dynamically, adjusting the distribution of storage space based on real-time shader unit performance and workload characteristics. This parameter adjustment allows the system to optimize resource utilization by allocating more cache space to active shader units and less to inactive ones, resolving the contradiction between having sufficient storage and maintaining high efficiency.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If fixed cache allocation is used for each shader unit, then implementation is simpler, but flexibility in handling different graphics processing tasks is reduced

Engineering Contradiction:
Improveimplementation simplicityVSAvoidflexibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The unified cache system replaces fixed static allocation with dynamic allocation that can adapt to different graphics processing tasks. The system monitors shader unit activity and automatically adjusts cache space distribution, providing the flexibility needed for diverse workloads while maintaining implementation simplicity through a single unified management interface rather than multiple fixed allocations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9214007B2Graphics processor having unified cache system
Publication Date: 2015.12.15 VIA TECH INC
  • US9214007B2 patent drawing
  • US9214007B2 patent drawing
  • US9214007B2 patent drawing

AI summary

Graphics processing units (GPUs) are used, for example, to process data related to three-dimensional objects or scenes and to render the three-dimensional data onto a two-dimensional display screen. One embodiment, among others, of a unified cache system used in a GPU comprises a data storage device and a storage device controller. The data storage device is configured to store graphics data processed by or to be processed by one or more shader units. The storage device controller is placed in communication with the data storage device. The storage device controller is configured to dynamically control a storage allocation of the graphics data within the data storage device.