Dynamic Memory Interface Bus Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern graphics processing systems face performance limitations due to bus bandwidth constraints, particularly when fluctuating demands for data access lead to saturation of local and system memory buses, causing delays in rendering processes.

Innovation Solution

The system dynamically mirrors data blocks across multiple storage locations and selects the optimal source location for read operations based on real-time bus activity levels, ensuring efficient use of available bandwidth by directing requests to the least loaded bus.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored in local memory only, then data access speed is improved, but memory capacity is limited

Engineering Contradiction:
Improvedata access speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The memory system is segmented into local memory and system memory, with data blocks selectively distributed between them. The memory interface unit segments data access requests and directs them to appropriate memory locations based on real-time bus activity, allowing the system to combine the high-speed access of local memory with the large capacity of system memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a temporal dimension to memory access by dynamically selecting between local and system memory based on real-time bus activity levels. Instead of a static memory hierarchy, the system evaluates current bus conditions and switches memory sources accordingly, creating a time-varying access path that optimizes both speed and capacity utilization.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If data is stored in system memory only, then memory capacity is improved, but data access speed deteriorates due to bus bandwidth limitations

Engineering Contradiction:
Improvememory capacityVSAvoiddata access speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The memory interface unit implements dynamic selection between local and system memory based on real-time bus activity monitoring. The system continuously evaluates current bus utilization and adapts its memory access pattern accordingly, switching between static memory locations as conditions change, thereby optimizing data access speed while maintaining access to large-capacity system memory.

Inventive Principle:
Principle #15Dynamics

3Reliability

If data is mirrored in multiple locations, then data access reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedata access reliabilityVSAvoidmemory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The memory interface unit autonomously monitors bus activity levels and makes real-time decisions about which mirrored data location to access, without requiring external control or complex coordination protocols. Each memory controller independently evaluates current conditions and selects the optimal data source, simplifying the overall system architecture while maintaining high reliability through automatic failover and load balancing.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8161252B1Memory interface with dynamic selection among mirrored storage locations
Publication Date: 2012.04.17 NVIDIA CORP
  • US8161252B1 patent drawing
  • US8161252B1 patent drawing
  • US8161252B1 patent drawing

AI summary

Devices and methods provide data from multiple storage locations to a processor. A data block containing data required by a processor is stored in two or more locations, e.g., in a local memory and a system memory, both of which are accessible to the processor's memory interface. The memory interface directs each read request for mirrored data to one or another of the mirror locations. Selection of a mirror location to be read is based on substantially real-time information about which mirror location is best able to handle the request. For instance, the selection of a mirror location to access can be based at least in part on information about the level of activity on various buses that connect the processor to the mirror locations.