Dual Sub-Buffer FIFO Logic for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional FIFO buffer implementations suffer from excessive and inconsistent latency, timing isolation issues, and lack of standard interfaces, leading to higher latency and compatibility problems across different implementations.

Innovation Solution

A low latency FIFO buffer system with a dual sub-buffer configuration, where a faster second sub-buffer provides one clock cycle latency and a larger, slower first sub-buffer is used for cost-effective storage, with buffer control logic routing data based on sub-buffer fullness/emptiness to maintain first-in-first-out order and minimize latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If a traditional single-buffer FIFO implementation is used, then the device complexity is low, but the latency is excessive and inconsistent

Engineering Contradiction:
ImprovelatencyVSAvoidbuffer structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The buffer is divided into two separate sub-buffers (first sub-buffer and second sub-buffer) with different characteristics. The first sub-buffer provides bulk storage while the second sub-buffer provides fast access, allowing the system to achieve low latency without requiring the entire buffer to be complex fast-access structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the buffer system have different quality characteristics. The first sub-buffer is optimized for capacity and cost-effectiveness, while the second sub-buffer is optimized for speed and low latency. This local optimization allows each region to perform its specific function efficiently without compromising the overall system.

Inventive Principle:
Principle #3Local quality

2Loss of time

If a faster sub-buffer is used to reduce latency, then the latency decreases, but the storage cost increases

Engineering Contradiction:
ImprovelatencyVSAvoidstorage cost
Core Design Contradiction:
Loss of timeVSEase of manufacture

Solution Approach 1:

The buffer is segmented into two sub-buffers with different performance characteristics and cost levels. The first sub-buffer uses cost-effective storage for bulk data, while the second sub-buffer uses faster (but more expensive) storage only for the portion of data that needs rapid access, thereby reducing overall cost compared to making the entire buffer fast.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The second sub-buffer is allocated with higher quality (faster access) only where needed for low-latency operations, while the first sub-buffer uses standard quality storage for general bulk storage. This localized application of high-performance resources minimizes total cost while achieving the desired latency improvement.

Inventive Principle:
Principle #3Local quality

3Reliability

If buffer control logic routes data based on fullness/emptiness states, then the first-in-first-out order is maintained, but the device complexity increases

Engineering Contradiction:
ImproveFIFO order maintenanceVSAvoidcontrol logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The buffer control logic uses feedback signals indicating the fullness/emptiness states of the sub-buffers to dynamically route data. This feedback mechanism ensures that data is always routed to the appropriate sub-buffer to maintain FIFO order while optimizing performance, and the logic remains relatively simple because it only needs to respond to these state signals.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9459829B2Low latency first-in-first-out (FIFO) buffer
Publication Date: 2016.10.04 MARVELL ISRAEL (M L S L) LTD
  • US9459829B2 patent drawing
  • US9459829B2 patent drawing
  • US9459829B2 patent drawing

AI summary

Systems and methods are provided for a first-in-first-out buffer. A buffer includes a first sub-buffer configured to store data received from a buffer input, and a second sub-buffer. The second sub-buffer is configured to store data received from either the buffer input or the first sub-buffer and to output data to a buffer output in a same order as that data is received at the buffer input. Buffer control logic is configured to selectively route data from the buffer input or the first sub-buffer to the second sub-buffer so that data received at the buffer input is available to be output from the second sub-buffer in a first-in-first-out manner.