Contract-Based Memory Management for Isochronous Display Streams

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies due to memory access latency, where critical requests are delayed behind non-critical ones, leading to potential screen corruption and increased service time, as they rely on serializing and queuing individual memory requests without adequate buffering to manage changes in data retrieval needs.

Innovation Solution

Implementing a system where a process engine, such as a display engine, sends contracts with sets of instructions to a memory controller to retrieve data, allowing for pre-fetching of large data blocks and reducing the number of critical memory requests, thereby improving data retrieval efficiency and reducing the need for large buffers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If individual memory requests are serialized through a common interface, then the memory access protocol is simplified, but critical requests are delayed behind non-critical ones causing increased service time and potential screen corruption

Engineering Contradiction:
Improvememory access protocolVSAvoidservice time for critical requests
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system performs preliminary classification of memory requests into critical and non-critical categories before they enter the serialization queue. Critical requests are identified in advance based on their timing requirements and buffered separately, ensuring they can be serviced immediately when ready rather than waiting behind non-critical requests. This preliminary action prevents the time loss that would occur if all requests were simply queued in arrival order.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a large display buffer is used to store all requested data, then data availability is ensured even when processing delays occur, but the buffer size and memory requirements increase significantly

Engineering Contradiction:
Improvedata availabilityVSAvoidbuffer size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system performs preliminary classification of memory requests into critical and non-critical categories before they enter the serialization queue. Critical requests are identified in advance based on their timing requirements and buffered separately, ensuring they can be serviced immediately when ready rather than waiting behind non-critical requests. This preliminary action prevents the time loss that would occur if all requests were simply queued in arrival order.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The display buffer is segmented into multiple separate buffers, each dedicated to storing data for specific critical requests. Instead of using one large buffer to store all requested data, the system divides the buffering resource into smaller, purpose-specific segments. This segmentation allows the system to maintain data availability for critical requests while significantly reducing the total buffer size required, as each segment only needs to hold data for its specific purpose rather than all possible data.

Inventive Principle:
Principle #1Segmentation

3Reliability

If the display buffer must store sufficient data in case of processing delays, then underflow is prevented, but the buffer becomes larger and processing power requirements increase

Engineering Contradiction:
Improveprevention of underflowVSAvoidprocessing power
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary classification of memory requests into critical and non-critical categories before they enter the serialization queue. Critical requests are identified in advance based on their timing requirements and buffered separately, ensuring they can be serviced immediately when ready rather than waiting behind non-critical requests. This preliminary action prevents the time loss that would occur if all requests were simply queued in arrival order.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the buffering strategy based on the criticality of requests. Instead of using a static large buffer for all data, the system creates dynamic, request-specific buffers that are allocated only when needed for critical requests. This dynamic approach allows the system to maintain reliability for critical operations while reducing overall processing power requirements, as buffers are created and managed on-demand rather than being permanently allocated.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8447035B2Contract based memory management for isochronous streams
Publication Date: 2013.05.21 NVIDIA CORP
  • US8447035B2 patent drawing
  • US8447035B2 patent drawing
  • US8447035B2 patent drawing

AI summary

A method of displaying an image includes generating a contract in the display engine, transferring the contract to the memory controller before the end of a sweep, generating a contract amendment in response to changes in the display engine, transferring the contract amendment to the memory controller, making a decision whether the contract amendment can be processed, fetching data from the memory controller according to the contract incorporating the contract amendment if the decision is that the contract amendment can be processed, sending the fetched data to the display engine in an isochronous stream; and processing the fetched data using the display engine.