PCIe Switch Firmware Booting for Multiple Hosts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current information handling systems face challenges in booting multiple hosts from a shared PCIe device, as existing technologies restrict access to firmware code stored in expansion ROM, limiting the ability of virtual functions to utilize the functionality of SR-IOV endpoints.
Innovation Solution
A mechanism is implemented using a Multi-Root (MR) PCI Express (PCIe) manager and an MR I/O Virtualization (IOV) switch that stores expansion ROM firmware in non-volatile random access memory (NVRAM), allowing host systems to access the firmware code by trapping transactions and providing the base address, enabling multiple hosts to boot from a shared PCIe device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If expansion ROM firmware is restricted to single-host access, then device security and integrity are maintained, but multiple hosts cannot boot from the shared PCIe device
Solution Approach 1:
The patent creates a copy of the expansion ROM firmware code in NVRAM on the IOV switch, allowing multiple hosts to access identical firmware images simultaneously. This copying mechanism enables virtual functions from different hosts to boot from the same PCIe device without direct access to the physical expansion ROM, resolving the contradiction between multi-host capability and access management complexity
Solution Approach 2:
The IOV switch acts as an intermediary between hosts and the PCIe device, managing firmware access through transaction trapping and redirection. The switch intercepts firmware read requests from virtual functions and redirects them to stored firmware copies in NVRAM, eliminating the need for complex multi-host access protocols while maintaining security and integrity
2Ease of operation
If virtual functions can access expansion ROM directly, then boot functionality is enabled, but access conflicts occur when multiple hosts share the same PCIe device
Solution Approach 1:
The system performs preliminary action by pre-loading firmware images from the expansion ROM into NVRAM on the IOV switch during system initialization. This advance copying ensures that when multiple hosts attempt to boot simultaneously, each host receives firmware from its own pre-loaded copy in NVRAM, eliminating access conflicts and ensuring reliable boot operations for all hosts
Solution Approach 2:
The IOV switch serves as an intermediary that traps firmware access transactions from virtual functions and redirects them to appropriate firmware copies in NVRAM. This mediation layer prevents direct access conflicts between multiple hosts while maintaining the appearance of direct firmware access, ensuring both ease of operation and reliability
Data Source
AI summary
A PCIe switch including a memory and a processor. The processor is operable to receive a transaction from an information handling system to an endpoint device, determine that the transaction is a request to receive firmware code from the endpoint device, block the transaction from being issued to the endpoint device, and provide the firmware code to the information handling system from the memory.


