Automatic PCIe Bus Configuration via Peripheral Lane Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing PCIe bus configurations require manual changes to the motherboard and operating system settings when peripherals are added or replaced, which is inefficient and prone to errors.

Innovation Solution

A system and method for automatic configuration of a PCIe bus using a bus controller that receives lane requests from peripheral devices, with peripheral-monitoring logic circuits and main logic circuits communicating over a serial bus to configure the bus accordingly, allowing for bifurcation without manual intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual configuration of PCIe bus settings is used, then configuration accuracy is maintained, but operation efficiency deteriorates due to required manual changes when peripherals are added or replaced

Engineering Contradiction:
Improveconfiguration efficiencyVSAvoidmanual configuration requirement
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system enables self-service configuration where the PCIe bus automatically configures itself based on peripheral device requests. The bus controller receives lane requests from peripheral devices and autonomously adjusts bus parameters without requiring manual intervention, allowing the system to reconfigure itself when devices are added or removed.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The implementation incorporates feedback mechanisms where peripheral devices communicate their lane requirements to the bus controller, which then adjusts the bus configuration accordingly. This closed-loop feedback system ensures the bus configuration continuously adapts to current peripheral needs without manual input.

Inventive Principle:
Principle #23Feedback

2Productivity

If automatic configuration is implemented, then operation efficiency improves, but system complexity increases due to additional logic circuits and communication protocols

Engineering Contradiction:
Improveconfiguration efficiencyVSAvoidbus controller and logic circuit complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The bus controller is designed with multi-functionality, handling both traditional PCIe bus management and automatic configuration tasks. The controller integrates multiple functions including receiving peripheral requests, interpreting lane requirements, and executing reconfiguration, thereby managing complexity through functional consolidation rather than proliferation of separate components.

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

3Adaptability or versatility

If PCIe bus supports bifurcation, then adaptability improves for different peripheral configurations, but configuration complexity increases requiring precise lane allocation

Engineering Contradiction:
Improvebifurcation capabilityVSAvoidlane configuration management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The PCIe bus configuration is made dynamic through automatic adaptation to peripheral device needs. The system transitions from static manual configuration to dynamic self-adjusting configuration where bus parameters such as lane allocation are continuously optimized based on real-time peripheral requests and system state.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10445279B1Automatic PCIe operating mode configuration
Publication Date: 2019.10.15 MELLANOX TECHNOLOGIES LTD(IL)
  • US10445279B1 patent drawing
  • US10445279B1 patent drawing
  • US10445279B1 patent drawing

AI summary

A computer system includes a system bus having multiple lanes, one or more peripheral devices, and a bus controller. The peripheral devices are coupled to the system bus. The bus controller is configured to receive, from one or more of the peripheral devices, respective indications of numbers of the lanes requested by the peripheral devices, and to configure the system bus in response to the indications.