Dynamic Memory Bandwidth Allocation for Isochronous Traffic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, isochronous data requests, such as display requests, are prioritized over non-isochronous requests, leading to minimal memory bandwidth allocation for non-isochronous requests, resulting in high latency for these requests, especially during 'race to sleep' conditions where isochronous requests saturate all available bandwidth.

Innovation Solution

A method for dynamically resizing the buffer configured to store isochronous data requests based on outstanding non-isochronous data requests, adjusting the buffer size to allocate memory bandwidth fairly between isochronous and non-isochronous requests, ensuring that both types of requests are processed efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If isochronous data requests are served with higher priority and allocated maximum memory bandwidth, then isochronous data requests are processed efficiently with low latency, but non-isochronous data requests experience minimal bandwidth allocation and high latency

Engineering Contradiction:
Improveprocessing speed of isochronous data requestsVSAvoidprocessing throughput of non-isochronous data requests
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent implements dynamic buffer resizing where the buffer size for isochronous data requests is adjusted based on the presence and characteristics of non-isochronous data requests. The buffer size is not fixed but dynamically modified to allocate memory bandwidth fairly between both request types, resolving the contradiction between prioritizing isochronous requests and maintaining non-isochronous request throughput

Inventive Principle:
Principle #15Dynamics

2Speed

If isochronous data requests saturate all available bandwidth during race to sleep conditions, then isochronous requests achieve maximum processing speed, but non-isochronous requests suffer very high latency with no available bandwidth

Engineering Contradiction:
Improveprocessing speed of isochronous data requestsVSAvoidlatency of non-isochronous data requests
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent changes the buffer size parameter dynamically based on system conditions. When non-isochronous requests are detected, the buffer size for isochronous requests is reduced, thereby allocating more bandwidth to non-isochronous requests. This parameter change resolves the contradiction by ensuring both request types receive appropriate bandwidth allocation rather than isochronous requests saturating all bandwidth

Inventive Principle:
Principle #35Parameter changes

3Productivity

If a fixed large buffer size is allocated for isochronous data requests, then isochronous requests can be processed efficiently, but memory bandwidth is minimally allocated to non-isochronous requests

Engineering Contradiction:
Improveprocessing throughput of isochronous data requestsVSAvoidbandwidth availability for non-isochronous requests
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent transitions from a fixed buffer size approach to a dynamic buffer sizing mechanism. The buffer size for isochronous requests is adjusted in real-time based on the detection of non-isochronous requests, allowing the system to adaptively allocate memory bandwidth. This dynamic adjustment ensures that both isochronous and non-isochronous requests receive appropriate resource allocation

Inventive Principle:
Principle #15Dynamics

4Loss of time

If memory bandwidth is allocated exclusively to isochronous requests to meet performance requirements, then isochronous requests achieve low latency processing, but the system cannot achieve race to sleep performance conditions

Engineering Contradiction:
Improvelatency of isochronous data requestsVSAvoidability to achieve race to sleep performance
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent dynamically modifies buffer size parameters based on system state. When the system is in a race to sleep condition or when non-isochronous requests are present, the buffer size for isochronous requests is reduced to allocate bandwidth to non-isochronous requests. This parameter change enables the system to achieve race to sleep performance while maintaining acceptable processing for both request types

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9262348B2Memory bandwidth reallocation for isochronous traffic
Publication Date: 2016.02.16 NVIDIA CORP
  • US9262348B2 patent drawing
  • US9262348B2 patent drawing
  • US9262348B2 patent drawing

AI summary

The MMU services data requests associated with isochronous (ISO) data (referred to herein as “ISO requests”) with a high priority to meet a fixed latency requirement. Such data includes display data for transmission to the display device or other display devices. Conversely data requests associated with non-isochronous (NISO) data are serviced with a relatively lower priority. Such data requests include requests received from the CPU, video requests and copy requests. The MMU utilizes a buffering mechanism to buffer ISO and NISO requests. The size of the buffer that stores ISO requests controls the amount of memory bandwidth that is allocated to the ISO requests and the amount of memory bandwidth available for NISO requests.