NVMe Direct Virtualization for VM Storage Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory subsystems, such as those using SR-IOV, are not applicable in environments that do not natively support single root input/output virtualization, limiting the ability to dynamically configure storage resources and share PCIe interfaces among virtual machines.

Innovation Solution

Implementing NVMe direct virtualization in a memory sub-system, which generates virtual NVMe controllers that appear as separate PCIe devices, allowing multiple virtual machines to share a single PCIe interface without relying on hypervisor software or additional physical controllers, thereby enabling transparent sharing of storage resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional memory subsystems use SR-IOV for virtualization, then storage resources can be dynamically configured and shared among virtual machines, but the solution is not applicable in environments that do not natively support single root input/output virtualization

Engineering Contradiction:
Improveadaptability to different virtualization environmentsVSAvoidcomplexity of virtualization implementation
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates virtual copies of NVMe controllers within the memory subsystem that emulate physical PCIe devices. These virtual controllers are presented to virtual machines through a PCIe interface, allowing VMs to interact with storage resources as if they had dedicated physical controllers, thereby achieving virtualization without requiring native SR-IOV support.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The memory subsystem acts as an intermediary between the host system and virtual machines, managing storage resource allocation and presentation. It intercepts PCIe commands from VMs, translates them into appropriate memory operations, and returns results, thereby enabling virtualization functionality without requiring the host environment to support SR-IOV natively.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple virtual machines share a single PCIe interface through NVMe direct virtualization, then resource sharing efficiency improves, but the system must generate and manage virtual NVMe controllers that appear as separate PCIe devices

Engineering Contradiction:
Improveresource sharing efficiencyVSAvoidcomplexity of virtual controller management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple virtual NVMe controller functionalities into a single memory subsystem device. Instead of requiring separate physical controllers for each virtual machine, the system combines storage management capabilities within one PCIe device, allowing multiple VMs to share the same physical hardware while maintaining isolated virtual control planes.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The virtual NVMe controllers are dynamically created and configured within the memory subsystem based on virtual machine requirements. The system can allocate, modify, or revoke virtual controller resources dynamically without requiring physical hardware changes, enabling flexible resource sharing and efficient utilization of the underlying storage media.

Inventive Principle:
Principle #15Dynamics

3Ease of manufacture

If the system eliminates the need for additional hardware and software dependencies, then ease of deployment improves, but the system must achieve SR-IOV equivalent performance without native support

Engineering Contradiction:
Improveease of deploymentVSAvoidperformance equivalence to SR-IOV
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The memory subsystem performs self-service by implementing its own virtualization logic internally without requiring external hypervisor software or additional controller hardware. The device autonomously manages virtual controller creation, command translation, and resource allocation, simplifying deployment while maintaining performance through direct PCIe access to storage media.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11068203B2NVMe direct virtualization with configurable storage
Publication Date: 2021.07.20 MICRON TECHNOLOGY INC
  • US11068203B2 patent drawing
  • US11068203B2 patent drawing
  • US11068203B2 patent drawing

AI summary

A system controller, operatively coupled with one or more memory devices, is configured to provide a plurality of virtual memory controllers, wherein each of the plurality of virtual memory controllers is associated with a different portion of the one or more memory devices, and provide a plurality of physical functions, wherein each of the plurality of physical functions corresponds to a different one of the plurality of virtual memory controllers. The system controller further presents the plurality of physical functions to a host computing system over a peripheral component interconnect express (PCIe) interface, the host computing system to assign each of the plurality of physical functions to a different virtual machine running on the host computing system.