Multi-root I/O Virtualization for Storage Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Converged storage systems face challenges in reducing I/O latency and improving throughput in virtualized environments due to the complexity of controlling SR-IOV enabled SSDs, which limits the efficiency of data access and resource utilization.
Innovation Solution
A hardware-software system is introduced that utilizes SR-IOV enabled SSDs with a distributed control mechanism, allowing direct access to storage media, separating control logic from data paths, and providing a programmable interface for SDS managers, enabling efficient access and management across a cluster of nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If Software Defined Storage virtualization is implemented to manage storage resources, then flexibility and control are improved, but I/O latency increases and throughput decreases
Solution Approach 1:
The patent introduces a storage virtualization layer that acts as an intermediary between virtual machines and physical storage devices. This layer provides flexible resource management while maintaining performance through direct I/O paths. The virtualization layer enables logical address space management and placement information tracking without forcing all I/O operations through complex software stacks, thus balancing flexibility with low latency.
Solution Approach 2:
The patent segments the storage system into multiple components: virtual machines with logical address spaces, a virtualization layer managing placement information, and physical storage devices. This segmentation allows different parts of the system to operate independently at optimal speeds, with the virtualization layer providing only essential coordination functions rather than bottlenecking all I/O operations.
2Loss of time
If SR-IOV enabled SSDs are used to reduce I/O latency, then direct access to storage media is improved, but device complexity increases
Solution Approach 1:
The patent extracts the complex control logic from the SSD devices themselves and places it in the storage virtualization layer. The SR-IOV enabled SSDs are used to provide direct hardware access paths, while the virtualization layer handles address translation and placement management. This extraction reduces device complexity by removing unnecessary control functions from the SSDs while maintaining low latency through direct access paths.
3Productivity
If direct access to storage media is enabled through SR-IOV, then throughput is enhanced, but resource utilization efficiency decreases
Solution Approach 1:
The patent implements feedback mechanisms in the storage virtualization layer that track placement information and resource usage. This feedback enables the system to optimize resource allocation dynamically, ensuring that direct access paths are used efficiently. The virtualization layer monitors and adjusts resource distribution to maintain high throughput while improving overall resource utilization efficiency through informed decision-making.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A virtualization system (200) includes: at least one storage device (204, 214); a plurality of computing nodes (201, 211), Node1, Node2, each computing node connected to at least one of the storage devices, wherein each computing node, Node1, Node2, comprises a physical function agent (203, 213), PF Agent, wherein a physical function (205, 215), PF, for accessing a physical address space, PAS, of the at least one storage device (204, 214), is assigned to the physical function agent (203, 213), PF Agent; and a plurality of virtual machines (202, 212), VM1, VM2, wherein at least one virtual function (204, 214), VF for accessing a logical address space (221, 231), LAS, is assigned to each virtual machine (202, 212), wherein the physical function agent (203, 213), PF Agent, of a first computing node (201), Node1, of the plurality of computing nodes (201, 211) is configured to receive from a virtual machine (202), VM1, of the plurality of virtual machines (202, 212), a request for retrieving or writing data, and to obtain placement information, wherein the placement information indicates a second computing node (211), Node2, of the plurality of computing nodes (201, 211) for retrieving or writing data; and wherein the PF Agent (203) of the first computing node (201), Node1, is configured to communicate with the PF Agent (213) of the second computing node (211), Node 2, to retrieve data from the second computing node (211), Node2, or write data to the second computing node (211), Node2, based on the placement information.