Ghost Bridge PCIe Switching for Multi-Host Device Sharing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current PCIe switch systems lack the ability to disaggregate PCIe devices across multiple host servers, limiting their utilization efficiency and failing to provide end-to-end reliability and seamless device sharing across multiple hosts.
Innovation Solution
A PCIe switch system that parses and processes transaction layer packets (TLPs) to determine policy group identifiers, performs packet forwarding based on these identifiers, and applies rewrite rules to enable device sharing and disaggregation across multiple servers without modifying the TLPs, using features like policy group identification, content addressable memory (CAM), and rewrite rules for source and destination IDs, tags, and traffic classes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If PCIe switch systems use traditional single-root I/O virtualization (SR-IOV) or multi-root I/O virtualization (MR-IOV), then device sharing across multiple hosts is enabled, but system complexity increases and reliability across hierarchies is not achieved
Solution Approach 1:
The patent introduces ghost bridges as intermediary components that mediate between physical PCIe devices and multiple host servers. These ghost bridges create virtual PCIe hierarchies that allow devices to appear locally attached to multiple hosts without requiring complex MR-IOV configurations. The ghost bridge acts as a mediator that translates and routes TLPs between different PCIe hierarchies while maintaining simple device attachment models for each host.
Solution Approach 2:
The patent creates virtual copies of PCIe devices through ghost bridges for each host hierarchy. Each host sees a ghost device that is a virtual representation of the physical device, allowing multiple hosts to access the same physical device simultaneously. This copying approach simplifies the system by avoiding complex sharing mechanisms while enabling multi-host access through independent virtual instances.
2Productivity
If PCIe devices are shared across multiple hosts using existing solutions, then utilization efficiency improves, but end-to-end reliability and seamless communication across hierarchies are not achieved
Solution Approach 1:
The patent segments the PCIe communication path into distinct virtual hierarchies, each with its own root complex and ghost devices. This segmentation allows each host to have an independent view of the PCIe topology, improving reliability by isolating failures to specific hierarchies while maintaining high utilization through shared physical devices. The segmentation creates clean boundaries that simplify error handling and communication protocols.
3Adaptability or versatility
If MR-IOV is implemented to enable multi-host access, then device sharing is possible, but the solution lacks traction and is deprecated due to ecosystem compatibility issues
Solution Approach 1:
Instead of modifying devices to support complex multi-host protocols like MR-IOV, the patent inverts the approach by keeping devices simple and creating the complexity in the communication layer through ghost bridges. This inversion allows standard PCIe devices to work with multi-host access without requiring device-side protocol support, improving ecosystem compatibility while maintaining multi-host capability.
Data Source
AI summary
A system for sharing peripheral component interconnect express (PCIe) devices across multiple host servers is disclosed. In some embodiments, a switch includes a plurality of hosts associated with a plurality of hierarchies, one or more endpoints associated with one or more of the plurality of hierarchies, and a switch communicatively connectable to the plurality of hosts and the one or more endpoints. The switch is configured to: receive a transaction layer packet (TLP); determine a policy group identifier based on parsing and processing the TLP; perform packet forward matching based on the policy group identifier and destination fields of the TLP; based on whether the TLP is communicated between the hosts and endpoints in different hierarchies of the plurality of hierarchies, determine whether to edit the TLP using one or more rewrite rules; and forward the TLP to an appropriate destination link.


