End-to-end flow control in PCIe network nodes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The PCIe bus standard's link-level credit-based flow control does not effectively manage latency in credit return, which can impact performance when the credit limit is exceeded, particularly in complex network domains with multiple nodes and varying data traffic.
Innovation Solution
Implementing both link-level and end-to-end credit-based flow control mechanisms, with buffer management blocks that manage receive and transmit buffers using modular arithmetic for credit tracking, to ensure efficient data transfer and prevent network flooding by initializing and updating credits based on available buffer space and network configuration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If link-level credit-based flow control is used, then data transfer efficiency is maintained under normal conditions, but performance degrades when credit limit is exceeded due to latency in credit return
Solution Approach 1:
The patent segments the credit-based flow control into two independent mechanisms: link-level flow control for immediate buffer management and end-to-end flow control for overall data transfer coordination. This segmentation allows each mechanism to operate independently, preventing the credit return latency from affecting link-level data transfer efficiency while end-to-end flow control manages the overall credit allocation across the entire data path.
Solution Approach 2:
The patent introduces an intermediary flow control mechanism that operates at the end-to-end level to mediate credit allocation between source and destination. This intermediary layer manages credit limits and prevents buffer overflow before data transmission occurs, eliminating the need for waiting credit returns and thus resolving the latency issue while maintaining data transfer efficiency.
2Device complexity
If link-level credit-based flow control is used, then buffer management is simplified, but network flooding cannot be prevented in complex network domains with multiple nodes
Solution Approach 1:
The patent extends flow control from the single dimension of link-level buffer management to a multi-dimensional approach by adding end-to-end flow control that operates across the entire network path. This dimensional extension allows flow control to be applied at multiple levels: link-level for immediate buffer management and end-to-end for overall network traffic control, preventing network flooding in complex multi-node domains while maintaining manageable buffer operations at each level.
3Reliability
If end-to-end credit-based flow control is implemented, then network flooding is prevented and performance is maintained, but system complexity increases with additional flow control mechanisms
Solution Approach 1:
The patent segments flow control functionality into distinct link-level and end-to-end components, each with specific responsibilities. The link-level component handles immediate buffer management with simple credit tracking, while the end-to-end component manages overall credit allocation and flooding prevention. This segmentation prevents the need for a single complex flow control system, allowing each component to remain relatively simple while collectively providing comprehensive network protection.
Data Source
AI summary
A network node within a network includes a first receive buffer, first buffer management, a second receive buffer and second buffer management. The first buffer management performs link level credit based flow control for network packets that the first buffer management places in the first receive buffer. The second buffer management performs end-to-end credit based flow control for network packets that the second buffer management receives from the first receive buffer and processes before placing data in the second receive buffer.


