Asynchronous Reorder Buffer for Frame Buffer Read Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing read data buffers in graphics processing require data to be read in the same order as it was written, limiting the flexibility and efficiency of frame buffer processing, as they must process read requests and return data in a specific order.

Innovation Solution

A data buffer system with an addressable memory and address lookup table allows data reads to be in a different order than data writes, incorporating a scoreboard memory for validity checks and a multiplexer for efficient data distribution across multiple memory units, enabling asynchronous reads and improved processing speeds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a FIFO buffer is used to ensure data arrives at the processing pipeline when ready, then data ordering is maintained, but processing speed and flexibility are limited

Engineering Contradiction:
Improvedata orderingVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

An address lookup table is introduced as an intermediary between the FIFO buffer and the processing pipeline. The lookup table stores mapping relationships between data block identifiers and their storage locations in the buffer, enabling the processing pipeline to directly access data in any order by providing the identifier, while the FIFO buffer continues to operate with its original ordering constraints.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If the frame buffer processes read requests in a specific order, then data consistency is maintained, but processing flexibility is reduced

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The data buffer system is segmented into distinct functional components: the FIFO buffer that maintains data consistency through ordered processing, and the address lookup table that provides flexible access. This segmentation allows each component to optimize for its specific function - the buffer for consistency and the lookup table for flexibility.

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If data is read in the same order as written, then implementation is simple, but processing efficiency is limited

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprocessing efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

Instead of reordering data in the buffer itself, the system creates a copy of the address information in the lookup table. This copy contains the mapping between data identifiers and buffer locations, allowing efficient random access without disturbing the original data ordering in the buffer.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7791611B1Asynchronous reorder buffer
Publication Date: 2010.09.07 NVIDIA CORP
  • US7791611B1 patent drawing
  • US7791611B1 patent drawing
  • US7791611B1 patent drawing

AI summary

A data buffer incorporated in the read return path between a processing pipeline and a frame buffer enables data reads from the buffer to be in a different order from data writes to the buffer. With this buffer, the frame buffer no longer is required to process read requests in any particular order and can be configured for improved processing speeds. The buffer includes a RAM to which data from the frame buffer is written according to a first order and from which data is read according to a second order. The buffer may be configured with multiple RAMs if the speed of data arriving from the frame buffer is greater than the write speed of the RAM.