Dynamic Credit Control Circuit for Packet Switch Flow
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In PCIe-based packet switches, credit starvation occurs when endpoints lack sufficient credits, leading to unnecessary flow control packets being sent, which consume bandwidth and are not efficiently managed, especially in determining the optimal interval for credit allocation.
Innovation Solution
A credit control circuit that dynamically issues credits based on credit values, selecting threshold values to prevent imminent credit starvation by generating flow control update packets only when necessary, thereby minimizing bandwidth consumption and optimizing credit allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a timer-based scheme is used to periodically transmit flow control packets, then credit starvation at the endpoint is avoided, but bandwidth of the ingress port is consumed by unnecessary flow control packets
Solution Approach 1:
The patent transitions from a static timer-based flow control mechanism to a dynamic credit-based mechanism. The ingress port continuously monitors credit values and adaptively transmits flow control packets only when credit thresholds are reached, making the system responsive to actual buffer conditions rather than following a fixed periodic schedule. This dynamic adaptation eliminates unnecessary packet transmissions while maintaining reliable credit starvation prevention.
Solution Approach 2:
The patent implements a feedback mechanism where the ingress port monitors its buffer credit values and uses this information to control flow control packet transmission. When credits are consumed and reach threshold values, the system generates flow control packets to notify the endpoint. This closed-loop feedback ensures packets are transmitted only when actually needed, preventing both credit starvation and unnecessary bandwidth consumption.
2Quantity of substance
If flow control packets are transmitted frequently to prevent credit starvation, then the endpoint maintains sufficient credits, but the ingress port bandwidth available for data packets is reduced
Solution Approach 1:
The patent changes the transmission parameter from fixed periodic intervals to variable event-driven intervals based on credit threshold levels. By monitoring credit consumption and triggering transmissions only when thresholds are reached, the system dynamically adjusts the timing and frequency of flow control packets. This parameter change ensures adequate credit availability while minimizing interruptions to data packet transmission and preserving ingress port bandwidth for productive data flow.
3Ease of manufacture
If a timer-based scheme with fixed maximum interval is used, then implementation is simple, but it does not adapt to varying packet sizes or transmission rates
Solution Approach 1:
The patent replaces the static timer-based approach with a dynamic credit monitoring mechanism that automatically adapts to varying packet conditions. The system tracks actual credit consumption based on transmitted packet sizes and rates, adjusting flow control packet generation accordingly. While the implementation complexity increases slightly, the system gains significant adaptability to handle diverse packet workloads efficiently.
Solution Approach 2:
The ingress port performs self-monitoring of its buffer credit status and autonomously determines when flow control packets are needed. The system uses its own operational data (credit consumption patterns) to trigger transmissions, eliminating the need for external timing control or complex configuration. This self-service approach provides natural adaptation to varying transmission conditions while maintaining operational simplicity.
Data Source
AI summary
A packet switch issues credits to a link partner based on credit values and updates the credit values to indicate credits consumed by the link partner based on packets received from the link partner by the ingress port. Additionally, the packet switch selects credit threshold values corresponding to a transmission period of imminent credit starvation of the link partner and compares the updated credit values with the credit threshold values. The packet switch issues additional credits to the link partner when at least one of the updated credit values has reached a corresponding credit threshold value. In some embodiments, the packet switch also issues additional credits to the link partner during idle transmission periods.


