Virtual Channel FIFO Packet Mis-ordering Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Direct interconnect networks face challenges in preventing packet mis-ordering and minimizing the need for packet re-ordering due to the use of virtual channels, which can lead to head-of-line blocking and inefficiencies.

Innovation Solution

The implementation of a Next-Hop Virtual Channel Allocation Table (NVT) in each node to ensure that packets from the same flow are allocated to the same virtual channel FIFO buffer, preventing mis-ordering by encoding virtual channel state and using next-hop information for VC assignments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If virtual channels are used to reduce head-of-line blocking, then network throughput is improved, but packet mis-ordering occurs

Engineering Contradiction:
Improvenetwork throughputVSAvoidpacket ordering
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-establishing virtual channel to output port mappings at each node before packet transmission. Each node maintains a table that specifies which virtual channel should be used for packets exiting through each output port, ensuring that packets from the same flow are consistently mapped to the same virtual channel throughout their journey, thereby preventing mis-ordering while preserving the throughput benefits of virtual channelization

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple virtual channel FIFO buffers are used per input port, then head-of-line blocking is reduced, but device complexity increases

Engineering Contradiction:
Improvehead-of-line blocking reductionVSAvoidvirtual channel allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by transforming the virtual channel allocation from a dynamic, per-packet decision process to a static, pre-configured mapping based on output port destination. Instead of making complex real-time decisions about which virtual channel to assign, each node simply looks up the predetermined mapping in its table, significantly simplifying the allocation logic while maintaining the ability to reduce head-of-line blocking through multiple virtual channel buffers

Inventive Principle:
Principle #35Parameter changes

3Productivity

If packets are routed through multiple diverse paths, then network utilization is improved, but packet re-ordering occurs

Engineering Contradiction:
Improvenetwork utilizationVSAvoidpacket re-ordering time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies feedback by implementing a systematic approach where each node provides feedback about the virtual channel mapping it uses for packets exiting through each output port. This feedback mechanism ensures that the virtual channel assignment is consistent across all nodes in the network path, allowing packets to traverse multiple diverse paths while maintaining order through coordinated virtual channel usage throughout the entire routing path

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250202834A1Method and apparatus for avoiding packet mis-ordering when using virtual channel fifos in a direct interconnect computer network
Publication Date: 2025.06.19 ROCKPORT NETWORKS INC
  • US20250202834A1 patent drawing
  • US20250202834A1 patent drawing
  • US20250202834A1 patent drawing

AI summary

A method for avoiding packet mis-ordering when routing a flow of packets in a direct interconnect network along a path from a source node to a destination node using virtual channel FIFOs. The method involves assigning a VC FIFO buffer for an input port in the next node along the path from the source node to the destination node via a next-hop VC allocation table (NVT), which encodes VC FIFO buffer availability for all packets identified as part of the flow of packets.