PCIe Link Training Adaptation for Interoperability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer bus protocols like PCIe face high software overhead due to the need for backward compatibility with older versions, requiring repetitive link training sequences and increased complexity during initialization.

Innovation Solution

A method and device that dynamically adjust the link training sequence symbols based on the number of failures, switching from higher version (e.g., PCIe 2.0 or 3.0) to lower version (e.g., PCIe 1.x) settings when a predetermined threshold of failures is reached, allowing interoperability between devices compliant with different PCIe versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If PCIe 2.0 or 3.0 devices initially advertise themselves as PCIe 1.1 devices for backward compatibility, then compatibility with PCIe 1.x devices is maintained, but software overhead increases due to repetitive link training sequences

Engineering Contradiction:
Improvecompatibility with PCIe 1.x devicesVSAvoidsoftware overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The device performs preliminary detection of receiver presence on each lane before initiating link training. By detecting whether a receiver is present and counting link training failures in advance, the system can determine the appropriate PCIe version to use, avoiding repetitive training sequences and reducing software overhead while maintaining compatibility

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism by counting link training failures and using this information to dynamically adjust the advertised PCIe version. When failures reach a threshold, the device switches from advertising PCIe 2.0/3.0 to PCIe 1.1, creating a self-regulating system that optimizes both compatibility and performance

Inventive Principle:
Principle #23Feedback

2Reliability

If link training sequences are repeated to ensure compatibility, then interoperability between different PCIe versions is achieved, but initialization complexity increases

Engineering Contradiction:
ImproveinteroperabilityVSAvoidinitialization process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system dynamically adjusts the link training process based on real-time feedback. Instead of using a static initialization process, the device monitors link training failures and adapts its behavior by switching between PCIe 2.0/3.0 and PCIe 1.1 modes, simplifying the initialization process while ensuring reliable interoperability

Inventive Principle:
Principle #15Dynamics

3Speed

If PCIe 2.0 or 3.0 signaling mode is used, then data transfer rate increases to 500 MBIs or 1 GBIs, but compatibility with PCIe 1.x devices decreases

Engineering Contradiction:
Improvedata transfer rateVSAvoidcompatibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The system changes the signaling parameter dynamically based on the detected receiver capability and link training success. The device can operate at PCIe 2.0/3.0 speeds (500 MBIs/1 GBIs) when compatible devices are detected, and automatically switch to PCIe 1.1 signaling when incompatibility is detected, optimizing both speed and compatibility

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8984192B2Method and device for disabling a higher version of a computer bus and interconnection protocol for interoperability with a device compliant to a lower version of the computer bus and interconnection protocol
Publication Date: 2015.03.17 ATI TECHNOLOGIES ULC
  • US8984192B2 patent drawing
  • US8984192B2 patent drawing
  • US8984192B2 patent drawing

AI summary

A method and a device for disabling a lower version of a computer bus and interconnection protocol (e.g., Peripheral Component Interconnect Express (PCIe) 2.0 or higher) for interoperability with a receiver compliant to a lower version of the protocol are disclosed. The device detects a presence of a receiver, and starts link training. During the link training, the number of link training failures or the elapsed time is counted. The device transmits a training sequence including symbols set in accordance with a higher version of the protocol that the device supports on each lane that the receiver is detected as long as the number of link training failures or the elapsed time is below a predetermined threshold. If the number of link training failures or the elapsed time reaches a predetermined threshold, the device transmits a training sequence including symbols set in accordance with a lower version of the protocol.