SR-IOV Device Sharing via Pseudo Physical Functions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The implementation of multi-root input/output virtualization (MR-IOV) devices is complex and costly, with few readily available MR-IOV devices capable of being virtualized among multiple roots, necessitating the development of cost-efficient solutions for sharing existing SR-IOV devices in a multi-root environment.
Innovation Solution
A Single Root Multi Root (SR-MR) sharing system allows a single SR-IOV device to be shared among multiple roots by generating pseudo physical functions (PPFs) and allocating corresponding virtual functions (VFs) to each root, enabling each root to enumerate its own dedicated SR-IOV device without modifying existing vendor device drivers, and utilizing configuration registers, base address registers, and mapping tables for routing and interrupt handling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If MR-IOV devices are implemented to enable multi-root virtualization, then the capability to share I/O devices among multiple roots is improved, but the device complexity and cost increase significantly
Solution Approach 1:
The patent creates a virtual copy of the SR-IOV device for each root complex by generating pseudo physical functions (PPFs) and virtual functions (VFs). Each root complex perceives a dedicated SR-IOV device through these virtual instances, while the actual sharing is managed by the PCI switch. This copying approach enables multi-root capability without requiring complex native MR-IOV device support.
Solution Approach 2:
The patent introduces a PCI switch as an intermediary component that manages the sharing of SR-IOV devices among multiple root complexes. The switch handles the complex routing and virtualization logic, shielding individual root complexes from the complexity of multi-root management. This intermediary approach simplifies the overall system architecture while enabling multi-root functionality.
2Adaptability or versatility
If MR-IOV devices are implemented to enable multi-root virtualization, then the capability to share I/O devices among multiple roots is improved, but the cost increases due to limited availability
Solution Approach 1:
Instead of purchasing expensive native MR-IOV devices, the patent creates virtual copies of standard SR-IOV devices through PPFs and VFs. This allows multiple root complexes to share a single inexpensive SR-IOV device, achieving the same functional outcome as MR-IOV but with significantly lower hardware costs and better availability.
Solution Approach 2:
The patent makes a single SR-IOV device serve multiple root complexes simultaneously by implementing virtualization through PPFs and VFs. This multi-functionality approach allows one device to fulfill the role of multiple dedicated devices, eliminating the need to purchase separate MR-IOV devices for each root complex.
3Ease of manufacture
If SR-IOV devices are shared among multiple roots without virtualization, then the cost is reduced, but the ability to isolate and independently manage I/O resources for each root is lost
Solution Approach 1:
The patent segments the I/O resources of a shared SR-IOV device into separate virtual functions (VFs) that can be independently allocated to different root complexes. Each root complex receives dedicated VFs through its PPF, creating logical isolation while sharing the physical device. This segmentation maintains cost efficiency while restoring resource isolation capabilities.
Solution Approach 2:
The patent uses PPFs as intermediary layers between root complexes and the shared SR-IOV device. These PPFs manage the allocation and isolation of VFs to each root, providing the same resource isolation functionality as dedicated devices while enabling cost-effective sharing through the PCI switch intermediary.
Data Source
AI summary
Systems and methods for sharing a single root I/O virtualization (SR-IOV) device (106) amongst a plurality of roots (104) are described herein. The described systems implement a method which includes identifying a physical function (PF) and a plurality of virtual functions (VFs) associated with the SR-IOV device (106). The method also include generating at least one set of VFs from amongst the plurality of identified VFs, where each set of VFs include one or more VFs, and generating a pseudo PF (PPF) for each of the at least one set of VFs, where each PPF and a set of VFs associated with the PPF forms a projected SR-IOV device (106). The method further includes associating each of the projected SR-IOV device (106) with a root (104) from amongst the plurality of roots (104) to allow sharing of the SR-IOV device (106).


