PCI Express Data Link Transmitter Dynamic Priority Rules
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The PCI-Express architecture's recommended priority rule for scheduling transmissions lacks flexibility, particularly in complex transaction behaviors involving a root complex, leading to potential performance issues due to fixed priority assignments that may not optimize transmission efficiency.
Innovation Solution
A data link transmitter with a programmable control register that dynamically selects from multiple priority rules to prioritize packets, allowing for improved transmission scheduling based on specific transaction patterns, such as prioritizing flow control initialization and minimizing interruptions from Ack/Nak DLLPs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single fixed priority rule is used for packet transmission scheduling, then the implementation is simple and straightforward, but the transmission performance deteriorates in complex transaction scenarios involving root complex
Solution Approach 1:
The patent implements multiple priority rules (at least three different rules) that can be dynamically selected based on transaction types and system state. The arbiter can switch between different priority rules depending on whether the transaction involves root complex, endpoint devices, or other scenarios, making the scheduling system adaptive rather than static.
Solution Approach 2:
The patent changes the priority parameters assigned to different packet types based on the selected rule. For example, Ack DLLPs may have high priority under one rule but lower priority under another rule, depending on the transaction context. This allows optimization of bandwidth utilization and transmission efficiency for different transaction patterns.
2Reliability
If Ack DLLPs are assigned high transmission priority, then Ack DLLPs transmit frequently for every received TLP, but this forfeits the benefit of collapsing Ack DLLPs and wastes transmission bandwidth
Solution Approach 1:
The patent dynamically adjusts the priority parameter for Ack DLLPs based on the selected priority rule and system state. Under certain rules, Ack DLLPs are assigned high priority to ensure timely acknowledgment, while under other rules, they are assigned lower priority to enable collapsing of consecutive Ack DLLPs and improve bandwidth utilization.
Solution Approach 2:
The patent makes the Ack DLLP priority dynamic rather than fixed. The arbiter selects different priority rules based on transaction patterns, allowing the Ack DLLP priority to adapt to different scenarios such as root complex transactions versus endpoint transactions, thereby balancing reliability and bandwidth efficiency.
3Productivity
If the priority rule assigns low priority to Ack DLLPs to enable collapsing, then bandwidth efficiency improves, but transmission performance deteriorates when Ack DLLPs are stalled waiting for TLP transmission
Solution Approach 1:
The patent changes the priority parameter for Ack DLLPs dynamically based on the selected rule. When Ack DLLPs are stalled and need to transmit, a priority rule is selected that assigns high priority to Ack DLLPs, reducing their transmission delay. When Ack DLLPs can be collapsed, a different rule is selected that assigns lower priority to maximize bandwidth efficiency.
Solution Approach 2:
The patent implements dynamic priority adjustment for Ack DLLPs based on system state and transaction type. The arbiter monitors whether Ack DLLPs are stalled and selects appropriate priority rules accordingly, making the Ack DLLP priority adaptive to current transmission conditions rather than fixed.
4Productivity
If multiple dynamically selectable priority rules are implemented, then transmission performance is optimized for different transaction patterns, but the device complexity increases
Solution Approach 1:
The patent implements multiple priority rules with dynamic selection capability, allowing the system to adapt to different transaction patterns such as root complex transactions, endpoint transactions, and various packet types. This dynamic approach optimizes transmission performance for diverse scenarios while managing complexity through structured rule selection.
Solution Approach 2:
The patent creates a universal priority scheduling system that handles multiple transaction types and scenarios through a set of predefined priority rules. The arbiter is designed to select appropriate rules based on transaction characteristics, making the system multi-functional and adaptable to various PCI-Express transaction patterns without requiring separate scheduling mechanisms for each case.
Data Source
AI summary
A data link transmitter in a PCI Express device for managing PCI-Express TLPs and DLLPs. The data link transmitter includes a priority system in which a DLLP for initializing flow control has highest priority, and an idle data character has lowest priority. Various embodiments include: a DLLP for power state entrance is lower priority than the DLLP for initializing flow control; a replay TLP for retry buffer re-transmission is lower priority than the DLLP for power state entrance, and a new TLP is lower priority than the replay TLP; an Ack/Nak DLLP is lower priority than the new TLP, a DLLP for updating flow control is lower priority than the Ack/Nak TLP, and a DLLP for acknowledging the DLLP for power state entrance is lower priority than the DLLP for updating flow control; a DLLP for updating flow control is lower priority than the DLLP for power state entrance.


