Non-blocking Priority Flow Control via Decoupled Queue Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current priority-based flow control methods for Ethernet networks, such as 802.3x and its extensions, face challenges in managing congestion and preventing buffer overflows due to head-of-line blocking, leading to potential data loss and inefficiencies in bandwidth allocation.

Innovation Solution

The implementation of a decoupled architecture with dedicated queue controllers and a link controller for each queue, allowing independent monitoring and response to buffer full conditions, enabling non-blocking and lossless priority-based flow control by transmitting Xoff or Xon frames based on customized pause times for each queue.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If current priority-based flow control methods (802.3x mechanism) are used to ensure zero loss under congestion, then data loss is eliminated, but other types of data traffic are stopped when storage needs more bandwidth

Engineering Contradiction:
Improvezero loss under congestionVSAvoidbandwidth allocation for other traffic
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the flow control mechanism by implementing dedicated queue controllers for each priority queue instead of a single centralized controller. This allows independent monitoring and control of each queue's buffer status, enabling selective pause frames to be sent only to specific queues that need flow control while other queues continue transmitting without interruption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by allowing each queue controller to have customized pause times specific to its queue's characteristics and congestion level. This enables differentiated flow control where each priority queue can be paused for different durations based on its specific needs, rather than applying a uniform pause to all traffic classes.

Inventive Principle:
Principle #3Local quality

2Ease of operation

If a traffic scheduler manages traffic from multiple priority queues, then traffic scheduling is achieved, but buffer overflow occurs due to head of line blocking

Engineering Contradiction:
Improvetraffic schedulingVSAvoidbuffer overflow prevention
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent divides the centralized traffic scheduling function into multiple independent queue controllers, each responsible for monitoring its own queue's buffer status. This segmentation eliminates the head-of-line blocking problem where a single scheduler would block all queues while managing one, as each queue controller operates independently and can make flow control decisions without waiting for other queues.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each queue controller autonomously monitors its own buffer status and generates pause frames independently without requiring centralized coordination. This self-service approach allows each queue to manage its own flow control, preventing buffer overflow through local decision-making rather than relying on a centralized scheduler that creates blocking delays.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2572480B1Method and apparatus for implementing non-blocking priority based flow control
Publication Date: 2014.12.03 ALTERA CORP
  • EP2572480B1 patent drawingFigure 1
  • EP2572480B1 patent drawingFigure 2
  • EP2572480B1 patent drawingFigure 3

AI summary

An integrated circuit that includes a link controller and a plurality of queue controllers in communication with the link controller is provided. Each of the plurality of queue controllers is operable to be coupled to a dedicated buffer of a remote transmitter of data external to the integrated circuit. The plurality of queue controllers are operable to monitor a buffer full level for the dedicated buffer and each of the plurality of queue controllers are operable to transmit a signal indicating the buffer full level to the link controller. The link controller is operable to transmit a priority flow control signal to the remote transmitter, wherein a time period from transmission of the signal indicating the buffer full level to detection of the buffer full level is consistent for each dedicated buffer.