Virtual Function Address Translation for Direct Storage Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtualization intermediary systems experience performance declines due to the need for heavy intervention in storage access, leading to data access delays when multiple virtual machines attempt to access physical storage simultaneously, as they require trap handlers to redirect IO commands, which is resource-intensive.
Innovation Solution
Configuring virtual machines and virtual functions of physical SR-IOV storage adapters to support virtual target addressing through a direct IOV path, allowing virtual machines to access physical storage without intervention from the virtualization intermediary by using mapping information that converts virtual SCSI addresses to physical addresses resident on the virtual function, enabling direct access and reducing intermediary involvement.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If trap handlers are used to redirect IO commands through virtualization intermediary, then virtual storage requests can be managed and virtual disk provisioning can be maintained, but data access delays increase and performance declines due to compute cycles required for translation
Solution Approach 1:
The patent extracts the address translation functionality from the virtualization intermediary and places it directly on the storage adapter hardware. The mapping tables (virtual address to physical address translation) are implemented in hardware on the storage adapter, allowing direct translation without requiring trap handlers or software intervention in the virtualization intermediary, thus eliminating the performance bottleneck while maintaining virtual storage management capabilities
Solution Approach 2:
The patent introduces a hardware-based mapping table mechanism as an intermediary between the virtual machine and physical storage. This hardware intermediary performs address translation directly in the storage adapter, acting as a mediator that enables direct access while maintaining the virtualization abstraction, thereby resolving the contradiction between managed virtual storage and fast direct access
2Productivity
If direct access to physical storage through virtual function is implemented, then data access delays are reduced and performance improves, but virtualization intermediary resident storage IO features such as virtual disk provisioning are lost
Solution Approach 1:
The patent performs address mapping configuration in advance through a configuration interface before runtime operations. The mapping tables are pre-configured with virtual address to physical address translations, allowing the storage adapter to perform direct hardware translation during runtime without requiring software-based virtual disk provisioning, thus enabling fast direct access while maintaining provisioning capability through preliminary configuration
Solution Approach 2:
The storage adapter performs address translation and virtual storage management functions autonomously using hardware-based mapping tables, without requiring continuous intervention from the virtualization intermediary. The adapter serves itself by maintaining and using its own mapping tables for translation, enabling direct access while preserving virtualization features through self-contained hardware functionality
Data Source
AI summary
A method is provided for use in a system that includes a host computing machine configured to implement a virtualization intermediary and that includes a physical storage adapter, the configures a virtual machine (VM) and a virtual function (VF) to support IO operations to physical storage through a direct IOV path to the VF of the physical storage adapter, the method comprises: creating by the virtualization intermediary mapping information that includes a first mapping between virtual disks and physical regions of physical storage and that includes a second mapping between virtual disks and virtual disk addresses; transmitting the mapping information from the virtualization intermediary over the physical storage adapter from a physical function (PF) of the physical storage adapter to the VF; associating a virtual port with the mapping information within the virtualization intermediary; binding the virtual port to the VF; communicating virtual disk addresses indicated within the second mapping within the transmitted mapping information for the allocated virtual disks to the VM.


