Elastic FIFO Multi-Source Selector for Low-Latency Data Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In high-bandwidth data pipelines, maintaining a gap-less data stream and reducing latency during data insertion is challenging, especially when multiple sources compete for access to a destination port, as existing credit schemes can lead to increased latency and inefficient data flow.

Innovation Solution

The implementation of an elastic First-In-First-Out (FIFO) structure within an input/output adapter, coupled with a multi-source selector and completion queue, allows for selective routing of data paths and credit management to ensure low-latency insertion and efficient data flow, enabling multiple sources to share output buses while maintaining a gap-less data stream.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a credit scheme is used to control dataflow in a high-bandwidth data pipeline, then multiple sources can share the destination port, but latency increases and data stream continuity is compromised

Engineering Contradiction:
Improvemulti-source access capabilityVSAvoiddata insertion latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The data pipeline is segmented into multiple independent FIFO queues (first queue for main dataflow, second queue for other sources, third queue for completions). Each queue operates independently with its own credit management, allowing parallel processing of different data sources without mutual blocking, thus reducing latency while maintaining multi-source access capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

FIFO queues serve as intermediary buffers between multiple data sources and the destination port. These queues decouple the credit-based flow control mechanism from the main data path, allowing credits to be managed separately while maintaining gap-less data stream through the main FIFO queue.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If credits are used to limit request rate, then outstanding requests can be serviced, but main dataflow path latency increases

Engineering Contradiction:
Improverequest servicing guaranteeVSAvoidmain dataflow latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Credit management is segmented and isolated to specific queues (second FIFO queue for other sources, third FIFO queue for completions) rather than applying to the entire data pipeline. The main dataflow queue operates with gap-less continuity, while credits control access to auxiliary queues, ensuring reliability without penalizing main dataflow latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The credit-based flow control mechanism is extracted from the main data path and applied only to auxiliary queues. This separation allows the main dataflow to proceed at full speed without credit-related delays, while still providing guaranteed service to outstanding requests through the controlled auxiliary queues.

Inventive Principle:
Principle #2Taking out (Extraction)

3Stability of the object's composition

If multiple sources insert data into the stream, then data stream continuity is maintained, but insertion time frame increases

Engineering Contradiction:
Improvedata stream continuityVSAvoidinsertion time frame
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

Multiple data sources are segmented into different FIFO queues with dedicated output paths through the multi-source selector. The main dataflow queue provides gap-less continuous stream, while other sources insert into their own queue. The selector arbitrates between queues on a packet boundary basis, maintaining overall stream continuity while enabling fast insertion for other sources without forcing them to wait for main dataflow gaps.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If a multi-source selector is implemented, then multiple sources can share output bus, but device complexity increases

Engineering Contradiction:
Improvemulti-source sharing capabilityVSAvoidselector structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The multi-source selector is segmented to handle specific queues (second and third FIFO queues) rather than managing all data paths. This focused arbitration logic reduces complexity compared to a full N-way selector, as it only needs to arbitrate between a limited number of sources for specific queue types while the main dataflow passes through directly.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10223310B2Multi-source flow management using elastic FIFO structures
Publication Date: 2019.03.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10223310B2 patent drawing
  • US10223310B2 patent drawing
  • US10223310B2 patent drawing

AI summary

A system includes an input/output adapter that includes a multi-source selector coupled to a flow-through input, an elastic first-in-first-out (FIFO) structure, a completion queue, and an output bus. A controller is operatively connected to the input/output adapter. The controller is operable to select the flow-through input to pass through the multi-source selector to the output bus based on determining that the elastic FIFO structure is empty. The elastic FIFO structure is selected to pass through the multi-source selector to the output bus based on determining that the elastic FIFO structure includes at least one entry. The completion queue is selected to pass through the multi-source selector to the output bus based on determining that the completion queue includes at least one entry. The flow-through input is routed into the elastic FIFO structure based on the completion queue being selected to pass through the multi-source selector to the output bus.