Switch Device Virtual Channel Stream Arbitration
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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).


