NVMe Namespace Reservation Multi-Queue Single Controller
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In environments with multiple hosts sharing a single storage system controller, existing NVMe protocols struggle to effectively restrict access to certain memory areas while allowing shared access, as they assume a one-to-one correspondence between hosts and controllers, lacking support for multi-host scenarios.
Innovation Solution
The implementation of a queue-to-namespace mapping using a modified Namespace Attach command and vendor-specific extensions, allowing an Admin Queue to associate namespaces with specific queues, and using command identifiers to differentiate hosts and restrict access, enabling access control in a multi-queue single-controller environment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If NVMe protocols are used with a single host and single controller architecture, then namespace reservation and access control are well-supported, but the system cannot effectively handle multi-host scenarios where multiple hosts share a single controller
Solution Approach 1:
The patent segments the controller resources by introducing virtual NVMe controllers (vNVMFs) that map to physical namespaces. Each host is assigned specific vNVMFs, creating logical segmentation that enables multi-host access while maintaining namespace-level access control. The queue-to-namespace mapping further segments access paths, allowing the single physical controller to serve multiple hosts with differentiated access rights to different namespaces.
2Ease of manufacture
If a single controller serves multiple hosts, then cost is reduced and resource utilization is improved, but existing protocols lack the mechanisms to restrict access to certain memory areas for specific hosts
Solution Approach 1:
The patent introduces an intermediary layer of queue-to-namespace mapping and virtual controller abstraction between the hosts and the physical controller. This intermediary mechanism translates multi-host access requests into controller-understandable commands, enabling access control without requiring protocol changes or additional physical controllers. The mapping structure acts as a mediator that enforces access policies while allowing the single controller to serve multiple hosts.
3Reliability
If full virtualization of the controller interface is implemented to support multi-host scenarios, then access control is achieved, but system complexity and cost increase significantly
Solution Approach 1:
The patent implements partial virtualization by introducing only the necessary queue-to-namespace mapping and virtual controller concepts, rather than fully virtualizing the entire controller interface. This partial approach provides sufficient access control capability for multi-host scenarios while avoiding the complexity overhead of complete virtualization. The solution applies virtualization only where needed (in the command submission path) while keeping the core controller architecture simple and shared.
Data Source
AI summary
A storage system and method for namespace reservation in a multi-queue single-controller environment are provided. In one embodiment, a method for access control in a memory is performed in a storage system comprising a memory and a controller in communication with a plurality of hosts, wherein each host comprises its own set of input-output queues but only one host comprises an admin queue. The method comprises receiving a mapping that restricts access to portions of the memory to specific ones of the plurality of hosts, wherein the mapping is generated by the host that comprises the admin queue; and restricting access to the portions of the memory based on the mapping. Other embodiments are provided.


