BIOS PCIe Link Recovery via Retrain and Reboot Cycles

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing environments, PCIe links often fail to establish or train correctly during the boot process, making it difficult to diagnose and remedy, leading to unavailable devices and potential system instability.

Innovation Solution

The BIOS is programmed to automatically detect and retrain PCIe links by attempting a maximum number of retrain and reboot cycles, with logging for remedial actions if necessary, ensuring successful link recovery and notification for technician intervention if issues persist.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If PCIe link training is performed during boot process, then device connectivity is established, but link establishment may fail requiring manual intervention

Engineering Contradiction:
Improvelink establishment reliabilityVSAvoiddiagnostic complexity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The BIOS performs automatic link training and recovery operations without requiring user intervention. The system self-diagnoses link failures and autonomously executes retraining sequences, eliminating the need for manual diagnostic procedures while improving link establishment reliability

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements a feedback mechanism where link training status is monitored and used to trigger automatic recovery actions. When link establishment fails, the BIOS receives feedback about the failure condition and automatically initiates retraining sequences, creating a closed-loop system that resolves issues without user input

Inventive Principle:
Principle #23Feedback

2Reliability

If automatic link retraining is implemented, then link recovery is improved, but system boot time increases

Engineering Contradiction:
Improvelink recovery capabilityVSAvoidboot time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The BIOS performs link training attempts during the boot process before the operating system takes control. By conducting link recovery operations in advance, the system ensures links are established before full system operation begins, preventing later disruptions while containing the time impact to the boot phase only

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements periodic link training attempts with defined retry intervals. Rather than continuous retry loops that would indefinitely extend boot time, the BIOS performs a predetermined number of training attempts at structured intervals, balancing recovery capability with acceptable boot time

Inventive Principle:
Principle #19Periodic action

3Reliability

If multiple retrain and reboot attempts are performed, then link establishment success rate increases, but processing time increases

Engineering Contradiction:
Improvelink establishment success rateVSAvoidsystem initialization speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The BIOS performs a limited number of link training attempts rather than exhaustive retry sequences. By implementing a predetermined maximum number of retrain and reboot cycles, the system achieves sufficient link establishment success rate without the diminishing returns of unlimited retries, maintaining acceptable initialization speed

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11226919B1Communication link recovery
Publication Date: 2022.01.18 AMAZON TECH INC
  • US11226919B1 patent drawing
  • US11226919B1 patent drawing
  • US11226919B1 patent drawing

AI summary

Communication links, such as peripheral component interconnect express (PCIe) links between two PCIe-compatible devices, can be checked during a boot process to determine whether those links were established and trained successfully. Firmware, such as Basic Input/Output System (BIOS), can be programmed to determine links for which there are PCIe devices, and determine whether those links were established with the correct values for one or more connection parameters (e.g., speed and width). If one or more of these links was not established with the correct parameter values, the BIOS can perform up to a maximum or threshold number of retrain attempts. If those retrain attempts are unsuccessful, the BIOS can attempt up to a maximum or threshold number of reboot attempts. If, after a maximum number of reboot actions, one or more links still have not been established and trained successfully, a remedial action can be taken.