Non-blocking Priority Flow Control via Decoupled Queue Controllers
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
Figure 1
Figure 2
Figure 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.