Multi-root I/O Virtualization for Storage Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveflexibility and controlVSAvoidI/O latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
ImproveI/O latencyVSAvoidcontrol mechanism complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If direct access to storage media is enabled through SR-IOV, then throughput is enhanced, but resource utilization efficiency decreases

Engineering Contradiction:
ImprovethroughputVSAvoidresource utilization efficiency
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3350700B1Multi root I/O virtualization system
Publication Date: 2024.01.24 HUAWEI TECH CO LTD
  • EP3350700B1 patent drawingFigure 1
  • EP3350700B1 patent drawingFigure 2
  • EP3350700B1 patent drawingFigure 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.