SR-IOV Adapter for Endpoint Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Many endpoint devices, such as NVMe SSDs, do not support the Single Root Input/Output Virtualization (SR-IOV) function, which limits their ability to participate in cloud virtualization and results in low hardware utilization and high latency when attempting to virtualize them using existing methods.
Innovation Solution
A method and adapter that enable SR-IOV function in endpoint devices without hardware or firmware changes by using an SR-IOV adapter, which parses and converts request messages to simulate SR-IOV functionality using reconfigurable hardware like FPGAs, allowing unsupported devices to be treated as if they support SR-IOV, thereby improving performance and utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If endpoint devices are designed without SR-IOV support to reduce complexity and cost, then device complexity and manufacturing cost are reduced, but the ability to participate in cloud virtualization is limited and hardware utilization is low
Solution Approach 1:
The patent introduces an SR-IOV adapter as an intermediary component between the virtual machine and the endpoint device. The adapter translates SR-IOV formatted requests from the virtual machine into standard PCIe requests that the endpoint device can process, enabling virtualization functionality without modifying the endpoint device itself. This mediator approach allows the system to gain SR-IOV capabilities while keeping the endpoint device simple and unchanged.
2Adaptability or versatility
If ASIC design is redesigned to support SR-IOV function, then SR-IOV capability is achieved, but design and development cycle becomes too long and cannot conform to rapidly changing software requirements
Solution Approach 1:
The patent segments the SR-IOV functionality from the endpoint device into a separate adapter component. This segmentation allows the SR-IOV logic to be implemented independently in the adapter using reconfigurable hardware or software, while the endpoint device remains unchanged. This resolves the contradiction by enabling SR-IOV support without requiring lengthy ASIC redesign cycles.
Solution Approach 2:
The patent employs reconfigurable hardware (such as FPGAs) or software-based solutions in the SR-IOV adapter, making the system dynamic and adaptable to changing requirements. Unlike fixed ASIC designs, the adapter can be reconfigured or updated to match evolving virtualization needs, thereby achieving both SR-IOV functionality and ease of adaptation to changing software requirements.
3Productivity
If traditional virtualization methods are used on endpoint devices, then hardware utilization is improved, but latency increases and performance decreases
Solution Approach 1:
The SR-IOV adapter acts as a transparent intermediary that enables direct communication paths between virtual machines and the endpoint device. By translating requests at the adapter level rather than requiring full software mediation, the system achieves low-latency access similar to direct hardware access while maintaining high hardware utilization through virtualization. This resolves the contradiction by providing both performance and resource efficiency.
Data Source
AI summary
A method, device and computer program product for enabling a Single Root Input/Output Virtualization (SR-IOV) function in an endpoint device. The method comprises: receiving, at an adapter, a request message from a virtual machine, the request message indicating an operation to be performed on the endpoint device by the virtual machine; parsing the request message to obtain a first request Transaction Layer Packet (TLP); determining whether a type of a first request TLP is a peer-to-peer transmission supported TLP or a peer-to-peer transmission unsupported TLP; in response to determining that the type of the first request TLP is a peer-to-peer transmission supported TLP, generating a second request TLP based on the first request TLP; and sending the second request TLP to the endpoint device. With this solution, the SR-IOV function is enabled in the endpoint device which does not support the SR-IOV function without the need of changing the endpoint device.


