NVMe Namespace Reservation Multi-Queue Single Controller

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvemulti-host supportVSAvoidaccess control reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvecost reductionVSAvoidaccess control capability
Core Design Contradiction:
Ease of manufactureVSEase of operation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveaccess controlVSAvoidcontroller virtualization complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10558376B2Storage system and method for namespace reservation in a multi-queue single-controller environment
Publication Date: 2020.02.11 SANDISK TECHNOLOGIES LLC
  • US10558376B2 patent drawing
  • US10558376B2 patent drawing
  • US10558376B2 patent drawing

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.