PCIe Root Port Dynamic Segmentation for Multi-Device Bandwidth Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In PCIe architecture, if the width of a root port is greater than the width of a device plugged into it, the unused portion of the root port bandwidth is wasted, and multiple devices on a card may not be detected or trained during the startup process.
Innovation Solution
A method and system that dynamically configures the root port to include a predefined number of adjacent ports with each port having a lane width equal to the device lane width, allowing for the detection and training of multiple devices on a card without requiring BIOS setup options, thereby utilizing the maximum available bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the root port width is greater than the device lane width, then the device can be properly trained and detected, but the unused portion of the root port bandwidth is wasted
Solution Approach 1:
The root port is segmented into multiple adjacent ports dynamically. When a device with fewer lanes is detected, the root port width is reconfigured to match the device lane width by dividing the unused lanes into separate adjacent ports, allowing each port to be independently managed and utilized efficiently
Solution Approach 2:
The root port configuration is made dynamic through hardware strapping that allows the root port width to be changed at runtime based on the detected device characteristics. This enables the system to adapt the root port width to match the actual device lane width, preventing bandwidth waste while ensuring proper device training
2Loss of energy
If the root port width matches the device lane width exactly, then bandwidth is utilized efficiently, but multiple devices on a single card cannot be detected or trained
Solution Approach 1:
The system segments the root port into multiple adjacent ports that can be dynamically created. This segmentation allows the root port to communicate with multiple independent devices on a single card by providing separate port interfaces for each device, while still maintaining efficient bandwidth utilization through precise width matching
Solution Approach 2:
The root port is designed to perform multiple functions: it can operate as a single wide port for high-bandwidth single-device communication, or be dynamically reconfigured into multiple narrower adjacent ports for multi-device communication, making it universally adaptable to different device configurations
3Adaptability or versatility
If multiple adjacent ports are dynamically configured, then multiple devices can be detected and trained, but system complexity increases
Solution Approach 1:
The system implements self-service through automatic device detection and dynamic root port reconfiguration. The BIOS detects the number of lanes required by the inserted device and automatically reconfigures the root port width and creates the appropriate number of adjacent ports without requiring manual BIOS setup or user intervention, thereby managing complexity automatically
Data Source
AI summary
A card having a first device and a second device is plugged into a root port having a predefined root port width. The first device is trained and the device lane width is determined. If the root port width is greater than the device lane width then the root port is dynamically configured via hardware strapping to include a predefined number of adjacent ports with each port having a lane width equal to the device lane width. The root port is reset to force training of the first device and the second device.


