PCI Express Data Link Transmitter Dynamic Priority Rules

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvepriority scheduling implementationVSAvoidtransmission performance
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
ImproveAck DLLP transmission reliabilityVSAvoidtransmission bandwidth waste
Core Design Contradiction:
ReliabilityVSLoss of energy

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvebandwidth efficiencyVSAvoidAck DLLP transmission delay
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #15Dynamics

4Productivity

If multiple dynamically selectable priority rules are implemented, then transmission performance is optimized for different transaction patterns, but the device complexity increases

Engineering Contradiction:
Improvetransmission performanceVSAvoidpriority scheduling system
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8706924B2PCI-express data link transmitter employing a plurality of dynamically selectable data transmission priority rules
Publication Date: 2014.04.22 VIA TECH INC
  • US8706924B2 patent drawing
  • US8706924B2 patent drawing
  • US8706924B2 patent drawing

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.