Virtual Output Queuing Flow Control for Data Switch Fabric Congestion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data switches face inefficiencies due to head-of-line blocking, where non-congested data flows are stopped in service-aware flow control, leading to reduced transmission efficiency without resolving congestion in data-switch fabrics.

Innovation Solution

Implementing virtual output queuing (VOQ) with flow control to selectively stop or reduce data flows only contributing to congestion, allowing non-congested flows to continue, thereby preventing head-of-line blocking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If service aware flow control is used to reduce fabric-loss, then data congestion is reduced, but head-of-line blocking occurs where non-congested data flows are unnecessarily stopped

Engineering Contradiction:
Improvefabric-loss reductionVSAvoiddata transmission efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments data flows into different classes based on their contribution to congestion. By using virtual output queues (VOQs) associated with specific egress modules, the system can selectively apply flow control only to flows causing congestion at particular outputs, rather than stopping all flows from an ingress module. This segmentation allows non-congested flows to continue uninterrupted.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local flow control by associating flow control decisions with specific egress modules and their corresponding VOQs. Each egress module can independently manage its own queue status and trigger flow control only when its specific queue is congested, rather than applying uniform flow control to all flows from an ingress module. This localized approach preserves transmission efficiency for non-congested flows.

Inventive Principle:
Principle #3Local quality

2Reliability

If coarse-grained link-level flow control is implemented, then fabric congestion is managed, but transmission efficiency is reduced due to unnecessary flow termination

Engineering Contradiction:
Improvecongestion managementVSAvoidtransmission efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent divides the data transmission system into finer-grained units by creating virtual output queues at the ingress module level, each associated with a specific egress module. This segmentation enables the system to manage congestion at the egress module level rather than at the entire link level, allowing selective flow control that preserves transmission efficiency for non-congested flows.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial flow control by selectively stopping only the portion of data flows that are actually causing congestion at specific egress modules, rather than applying excessive or uniform flow control to all flows. This partial action approach maintains transmission efficiency for flows that do not contribute to congestion while still effectively managing fabric congestion.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8331387B2Data switching flow control with virtual output queuing
Publication Date: 2012.12.11 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8331387B2 patent drawing
  • US8331387B2 patent drawing
  • US8331387B2 patent drawing

AI summary

Methods and apparatus for data switching are disclosed. An example method includes receiving a data traffic flow at a data ingress module and buffering the data traffic flow in a virtual output queue included in the data ingress module, where the virtual output queue being associated with a data egress module. The example method also includes communicating the data traffic flow to the data egress module via a fabric egress queue included in a data-switch fabric. The example method further includes monitoring data occupancy in the fabric egress queue and determining, based on the data occupancy, that a change in congestion state in the fabric egress queue has occurred. The example method still further includes, in response to the change in congestion state, communicating a flow control message to the data ingress module and, in response to the flow control message, modifying communication of the data traffic flow.