PCIe Switch Namespace Virtualization for Multi-Host NVMe Access
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Adaptability or versatility
If multiple controllers and ports are deployed for multi-host namespace access, then access capability is improved, but cost increases
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.
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.
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
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.
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.
4Adaptability or versatility
If multiple controllers and ports are used for multi-host access, then access capability is improved, but access time increases
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.
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.
Data Source
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.

