Flash Storage Passthrough for Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualization systems, the use of virtual disks for accessing memory devices introduces processing overhead and latency due to context switching and indirect access methods, which can restrict access to memory devices for multiple virtual machines.

Innovation Solution

Implementing flash storage device passthrough by allocating queue resources of a memory device, such as a UFS device, to respective virtual machines, allowing direct access and control, while ensuring isolation among queues to prevent conflicts and reserving management functions for the hypervisor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If virtual disks are used for accessing memory devices, then multiple virtual machines can access storage resources, but processing overhead and latency increase due to context switching and indirect access methods

Engineering Contradiction:
Improveaccess capability for multiple virtual machinesVSAvoidaccess latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the queue resources of the flash storage device into multiple independent queues, with each queue dedicated to a specific virtual machine. This segmentation eliminates the need for context switching between VMs while maintaining direct hardware access, thereby reducing latency while preserving multi-VM adaptability

Inventive Principle:
Principle #1Segmentation

2Loss of time

If direct device passthrough is implemented, then access latency is reduced, but resource isolation and management control are compromised

Engineering Contradiction:
Improveaccess latencyVSAvoidresource management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the flash storage device's queue resources into multiple independent queues, each assigned to a specific virtual machine. This segmentation provides both direct access (reducing latency) and resource isolation (simplifying management), as each VM has dedicated queues that cannot interfere with others

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of queue resource allocation, moving from a single shared queue model to a multi-queue model where queues exist in a separate resource dimension. This allows simultaneous direct access for multiple VMs while maintaining isolation through the queue dimension boundary

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If multiple virtual machines share the same queue resources, then resource utilization is improved, but access conflicts and performance degradation occur

Engineering Contradiction:
Improveresource utilizationVSAvoidaccess stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the queue resources into dedicated queues for each virtual machine, eliminating access conflicts while maintaining high resource utilization. Each VM has exclusive access to its assigned queues, ensuring stable and predictable performance without degradation from sharing

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250181378A1Flash storage device passthrough in a virtualization system
Publication Date: 2025.06.05 MICRON TECHNOLOGY INC
  • US20250181378A1 patent drawing
  • US20250181378A1 patent drawing
  • US20250181378A1 patent drawing

AI summary

In some implementations, a memory system may configure an association of queue resources to identifiers of respective virtual machines of one or more virtual machines, wherein the queue resources are associated with multiple queues of a universal flash storage (UFS) host. The memory system may receive a request indicating an identifier and one or more queue resources. The memory system may perform an action, via a UFS device, associated with the request based on the identifier, the one or more queue resources, and the association.