PCIe Switch Namespace Virtualization for Multi-Host NVMe Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing NVMe systems require multiple controllers, ports, and proprietary software/drivers to access multiple namespaces across multiple hosts, increasing cost and complexity, and leading to higher access times.

Innovation Solution

A memory-mapped address space with partitions and logical virtual functions, coupled with a hypervisor namespace administrator, enables multiple hosts to access namespaces without additional controllers or drivers, using a PCIe switch to emulate virtual NVMe devices and manage access through an arbitrator.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple controllers, multiple ports, and proprietary software/drivers are used to access multiple namespaces across multiple hosts, then access capability is improved, but device complexity and cost increase

Engineering Contradiction:
Improveaccess capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent combines multiple namespace access functions into a single NVMe controller by implementing a namespace arbitration mechanism that allows multiple hosts to share the same controller resources. The arbitration logic dynamically allocates namespace access rights among competing hosts, eliminating the need for multiple dedicated controllers while maintaining multi-host access capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The NVMe controller is designed with universal namespace access capability that serves multiple hosts through a single interface. The controller implements a namespace management system that can dynamically assign and revoke namespace access rights based on host authentication and current system state, allowing one controller to perform the work of multiple dedicated controllers.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If multiple controllers and ports are deployed for multi-host namespace access, then access capability is improved, but cost increases

Engineering Contradiction:
Improveaccess capabilityVSAvoidhardware quantity
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple controller functions into a single NVMe controller by implementing virtualization and arbitration mechanisms. Multiple hosts can simultaneously access different namespaces through the same physical controller, reducing hardware quantity while maintaining access capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates virtual copies of namespace access interfaces through logical virtual functions that allow multiple hosts to interact with the same physical namespaces. These virtual interfaces provide the appearance of multiple dedicated controllers while sharing underlying physical resources.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If proprietary software and drivers are installed on each host for namespace access, then access capability is improved, but device complexity increases

Engineering Contradiction:
Improveaccess capabilityVSAvoidsoftware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The NVMe controller implements self-service namespace management by automatically authenticating hosts, arbitrating access requests, and dynamically allocating namespace rights without requiring complex proprietary software on each host. The controller's built-in arbitration logic handles all namespace access decisions, simplifying the software stack.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an intermediary namespace arbitration mechanism within the controller that mediates between multiple hosts and the namespace resources. This intermediary layer handles all access control decisions, eliminating the need for complex proprietary drivers on each host while maintaining secure and efficient namespace access.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If multiple controllers and ports are used for multi-host access, then access capability is improved, but access time increases

Engineering Contradiction:
Improveaccess capabilityVSAvoidaccess time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements dynamic namespace arbitration that adapts to real-time system conditions. The arbitration mechanism can dynamically switch between different access patterns, prioritize time-sensitive operations, and optimize namespace allocation based on current host workloads, thereby reducing access times compared to static multi-controller configurations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The arbitration mechanism ensures continuous namespace access by implementing efficient contention resolution and minimizing idle time. When one host completes its operations, the system continuously transitions to the next waiting host without significant delays, maintaining high utilization and reducing overall access time compared to discrete multi-controller switching.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20260037467A1DEVICE, SYSTEM AND METHODS FOR ACCESSING MULTIPLE NVMe NAMESPACES
Publication Date: 2026.02.05 MICROCHIP TOUCH SOLUTIONS LIMITED
  • US20260037467A1 patent drawing
  • US20260037467A1 patent drawing

AI summary

A system may include a PCIe switch device. The PCIe switch may include multiple partitions, the multiple partitions including respective partitions coupled to respective hosts, and an internal partition not coupled to a host. The PCIe switch may include a hypervisor namespace administrator (HNA), the HNA including respective logical virtual functions (LVFs), the LVF to receive transactions from respective hosts and to allow access to multiple namespaces within an NVMe device coupled to the internal partition.