Parallel Comparator Circuit for Merging Data Streams

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data centers face challenges in processing and storing large volumes of data due to the complexity of sorting different data streams within fixed time constraints, necessitating an efficient method for merging and sorting data streams.

Innovation Solution

A circuit and method that utilize a routing circuit and comparator circuit to selectively route and compare values from two sorted data streams, reducing the number of comparators needed to determine which values to apply to a sorting network, thereby efficiently merging and sorting data streams.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional sorting networks are used to sort large volumes of data, then sorting capability is provided, but device complexity increases significantly

Engineering Contradiction:
Improvedata processing capabilityVSAvoidcircuit complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the data sorting problem into multiple parallel streams, where each stream is processed independently through dedicated comparator circuits. The routing circuit segments the input data into N parallel paths, allowing simultaneous processing of multiple data elements. This segmentation enables the system to handle large volumes of data without requiring a single monolithic sorting network, thus reducing overall device complexity while maintaining high productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from traditional sequential sorting to a parallel processing architecture by introducing multiple comparator circuits operating simultaneously across N parallel streams. This dimensional change from 1D sequential comparison to ND parallel comparison enables the system to process data at higher rates without proportionally increasing circuit complexity, as the parallel structure distributes the sorting workload across multiple independent processing paths.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Manufacturing precision

If more comparators are added to handle larger data volumes, then sorting accuracy is improved, but device complexity increases

Engineering Contradiction:
Improvesorting accuracyVSAvoidnumber of comparators
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

Instead of using a single large sorting network with many comparators, the patent segments the sorting function into N parallel comparator circuits, each handling a specific stream of data. This segmentation maintains sorting accuracy for each individual stream while reducing the complexity of any single comparator unit. The routing circuit coordinates these segmented comparators to produce overall sorted output, achieving high sorting precision without requiring a monolithic complex comparator structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs N comparators to process N parallel streams simultaneously, which provides sufficient sorting capability for the required data volume without over-provisioning. Each comparator performs partial sorting on its designated stream, and the collective action of all comparators achieves complete sorting of the combined input. This partial action approach avoids the excessive complexity that would result from using a single comparator handling all data sequentially.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If data streams are processed sequentially, then device complexity is reduced, but productivity decreases

Engineering Contradiction:
Improvedata processing rateVSAvoidcircuit architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces parallelism as a new dimension in data processing by implementing N parallel comparator circuits that operate simultaneously on N different data streams. This transitions the system from 1D sequential processing to ND parallel processing, enabling the circuit to handle multiple data elements in each clock cycle. The routing circuit manages this parallel architecture by directing input data to the appropriate parallel comparators, achieving high productivity without requiring an excessively complex interconnection structure.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The routing circuit performs preliminary routing of input data to the appropriate parallel comparator streams before the comparison operation begins. This preliminary action organizes the input data in advance, allowing the parallel comparators to operate efficiently without requiring complex real-time arbitration during the comparison phase. By preparing the data distribution beforehand, the system achieves high parallel processing rates with manageable circuit complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10523596B1Circuits for and methods of merging streams of data to generate sorted output data
Publication Date: 2019.12.31 XILINX INC
  • US10523596B1 patent drawing
  • US10523596B1 patent drawing
  • US10523596B1 patent drawing

AI summary

A circuit for merging streams of data to generate sorted output data is described. The circuit comprises a first input coupled to receive a first data stream having a first set of N values; a second input coupled to receive a second data stream having second set of N values; a routing circuit coupled to the first input and the second input, the routing circuit enabling the routing of the first set of N values of the first data stream and the second set of N values of the second data stream; and a comparator circuit coupled to receive each value of the first set of N values and the second set of N values from the routing circuit, the comparator circuit having N comparators, wherein each comparator of the N comparators is coupled to receive a value of the first set of N values and a value of the second set of N values. A method of merging streams of data is also disclosed.