Parallel PCIe Root Port Bifurcation During OS Load
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current information handling systems experience prolonged boot times due to the sequential execution of boot processes, including PCIe bifurcation and training, which wait for the operating system of data processing units to finish loading before proceeding.
Innovation Solution
The system collects system configuration information during boot, builds a bifurcation table for root ports, and initiates parallel bifurcation of root ports during the loading of the operating system. It disables root ports associated with data processing units until the operating system has finished loading, then enables them for further boot process execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the system performs sequential PCIe bifurcation and training before loading the operating system, then the boot process follows a traditional safe sequence, but the boot time is prolonged
Solution Approach 1:
The system performs preliminary actions by collecting configuration information and building the bifurcation table during the early boot phase before the operating system is fully loaded. This allows the system to prepare necessary data structures and configurations in advance, enabling parallel execution of root port bifurcation operations that would otherwise need to wait for OS completion.
Solution Approach 2:
The system maintains continuous useful action by disabling root ports associated with data processing units during the OS loading phase, then immediately enabling them once the OS is loaded. This continuous state management ensures that bifurcation and training operations can proceed without unnecessary interruptions or waits, maintaining productive work throughout the boot process.
2Manufacturing precision
If the system waits for the operating system to finish loading before performing root port bifurcation, then configuration accuracy is ensured, but the boot process duration increases
Solution Approach 1:
The system performs preliminary configuration by collecting system configuration information and building the bifurcation table during the early boot phase. This preliminary action ensures that all necessary configuration data is gathered and validated before root port bifurcation operations begin, maintaining configuration accuracy while enabling parallel execution to reduce overall boot duration.
Solution Approach 2:
The system changes the state parameter of root ports from disabled to enabled at the appropriate moment in the boot process. By controlling the enable/disable timing of root ports associated with data processing units, the system ensures configuration accuracy is maintained while optimizing the boot process duration through parallel operations.
3Loss of time
If the system performs parallel bifurcation of root ports during OS loading, then boot time is reduced, but system complexity increases
Solution Approach 1:
The system performs preliminary preparation by collecting configuration information and building the bifurcation table before initiating parallel bifurcation operations. This preliminary action simplifies the parallel execution by ensuring all necessary data is prepared in advance, reducing the complexity of coordinating multiple simultaneous operations while still achieving boot time reduction.
Solution Approach 2:
The system temporarily disables root ports associated with data processing units during the OS loading phase, then recovers them by enabling the ports once the OS is loaded. This temporary disable/enable cycle simplifies the parallel bifurcation process by isolating operations that need to occur in sequence from those that can run in parallel, reducing overall system complexity while maintaining boot time benefits.
Data Source
AI summary
An information handling system collects system configuration information during a boot process, and builds a bifurcation table for root ports of the information handling system. The system also initiates a bifurcation of the root ports in parallel to loading an operating system of the data processing unit, and disables one of the root ports that is associated with the data processing unit. In response to determining that the operating system of the data processing unit has finished loading, the system enables the root port associated with the data processing unit. The bifurcation of the root port associated with the data processing unit is performed later when a peripheral component interconnect-express endpoint associated with the data processing unit is ready.


