Switch Device Virtual Channel Stream Arbitration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing communication networks using virtual channels, such as PCI Express, are limited in their ability to differentiate and arbitrate between data streams within the same virtual channel, leading to inefficiencies and bottlenecks, especially when multiple streams share the same connection.

Innovation Solution

Implementing a switch device with multiple ports for a single connection, allowing for peer-to-peer stream differentiation within a single virtual channel, which enables prioritization and arbitration of streams that share the same virtual channel, thereby overcoming the limitations of conventional systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple data streams are transmitted over a shared virtual channel, then the network resource utilization is improved, but the ability to differentiate and arbitrate between streams of the same type is lost

Engineering Contradiction:
Improvenetwork resource utilizationVSAvoidstream differentiation capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the arbitration process by introducing a second arbitration stage that operates within each virtual channel. While the first arbitration stage (output arbiter) handles different virtual channels, the second stage (per-VC arbiters) segments the arbitration for streams within the same VC by assigning unique stream identifiers and priorities, enabling differentiated handling of multiple streams over the shared connection.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds another dimension to the arbitration hierarchy by introducing stream-level arbitration within virtual channels. This creates a two-dimensional arbitration structure: the first dimension is VC-level arbitration (handling different VCs), and the second dimension is stream-level arbitration within each VC (handling multiple streams per VC). This dimensional expansion enables stream differentiation without sacrificing resource sharing.

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

2Device complexity

If a single virtual channel is used for a connection, then the device complexity is reduced, but the number of arbitrable streams is limited

Engineering Contradiction:
Improvearbitration structure complexityVSAvoidnumber of independent streams
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The arbitration functionality is segmented into multiple independent arbiters: output arbiters for each output port and per-VC arbiters for each virtual channel. This segmentation allows the system to handle multiple streams within a single VC by distributing arbitration responsibilities across multiple specialized components, increasing stream capacity without proportionally increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The per-VC arbiters serve multiple functions: they arbitrate streams within their assigned VC, enforce priority schemes, and manage stream differentiation. This multi-functionality allows a single VC configuration to support multiple arbitrable streams, increasing productivity without requiring additional VCs or significantly increasing device complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If packets of the same type from different streams are treated as belonging to the same virtual channel, then the arbitration process is simplified, but predictability and real-time performance are degraded

Engineering Contradiction:
Improvearbitration process simplicityVSAvoidreal-time performance predictability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent applies local quality by assigning different priority levels to different streams within the same virtual channel. Each stream can be configured with specific priority characteristics, allowing critical real-time streams to receive higher priority arbitration while less time-sensitive streams receive lower priority. This local differentiation maintains arbitration simplicity at the VC level while ensuring predictable real-time performance for specific streams.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs preliminary action by pre-configuring priority schemes and stream identifiers before data transmission begins. This advance configuration allows the arbitration mechanism to make predictable decisions based on pre-established rules, ensuring real-time performance guarantees without requiring complex runtime analysis or negotiation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7969970B2Switch device and communication network comprising such switch device as well as method for transmitting data within at least one virtual channel
Publication Date: 2011.06.28 FUTURE LINK SYST
  • US7969970B2 patent drawing
  • US7969970B2 patent drawing
  • US7969970B2 patent drawing

AI summary

In order to provide a switch device (100; 100′) connecting at least one first point (10, 12), in particular connecting at least one source device and/or at least another switch device, to at least one second point (20, 22, 24), in particular to at least one destination device and/or to at least another switch device, the switch device (100; 100′) comprising at least one virtual channel (30, 32), wherein it is possible to arbitrate and/or differentiate data, in particular data packets or data streams, being transmitted within the same virtual channel (30, 32), it is proposed that the switch device (100; 100′) comprises at least two ports (40, 42), in particular input ports, for receiving and/or at least two ports (50, 52), in particular output ports, for sending the data, in particular the data packet or data stream, the ports (40, 42, 50, 52) being respectively assigned to the virtual channel (30, 32).