NVMe Namespace Promotion for Shared Multi-Controller Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing NVMe private namespaces can only be attached to one controller at a time, lacking multi-path capability, and existing solutions require deleting and recreating namespaces, which can lead to data loss or duplication.

Innovation Solution

A method involving an NVMe host driver issuing a 'Promote private to shared' namespace management command, utilizing an existing namespace identifier when unique, and creating a new one when necessary, along with asynchronous event notifications to manage inflight IOs, enabling promotion to shared namespaces attachable by multiple controllers without data loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If existing private namespaces are deleted and new shared namespaces are created to enable multi-path capability, then multi-path capability is improved, but data loss or duplication occurs

Engineering Contradiction:
Improvemulti-path capabilityVSAvoiddata integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent performs preliminary actions by issuing a promote private to shared namespace command before any data operations, and by aborting inflight IOs before namespace promotion. This ensures that no data operations are in progress when the namespace identity changes, preventing data loss or duplication while enabling multi-path capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms through asynchronous event notifications that monitor namespace promotion status and IO completion status. When the namespace promotion is complete or IOs are aborted, the system receives notifications and takes appropriate actions (reissuing IOs with new NSID or continuing with original NSID), ensuring data integrity throughout the transition.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If a defined NVMe management command is issued to promote private namespace to shared namespace, then namespace promotion is enabled, but complex command handling and asynchronous event management are required

Engineering Contradiction:
Improvenamespace promotion capabilityVSAvoidcommand handling complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent uses asynchronous event notifications as intermediaries between the namespace promotion command and the host software. These notifications mediate the complex state changes by providing standardized events for namespace promotion completion and IO abortion status, simplifying the host's burden of managing the promotion process while enabling the desired namespace promotion capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12468460B2Promoting NVMe private namespace to shared namespace
Publication Date: 2025.11.11 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12468460B2 patent drawing
  • US12468460B2 patent drawing
  • US12468460B2 patent drawing

AI summary

Disclosed embodiments provide systems, methods, and techniques enabling Non-Volatile Memory Express (NVMe) namespace promotion from a private namespace to a shared namespace, which eliminate conventional operations of deleting existing private namespaces and creating new namespaces as shared. In a disclosed embodiment, an NVMe host driver issues an NVMe management command to change an NVMe private namespace to a shared namespace during a namespace promotion. An NVMe controller sends an NVMe response to the NVMe host indicating an attribute of the NVMe private namespace changed to the shared namespace. The NVMe response is received by a host processor and the private namespace is promoted to shared and attachable by multiple NVMe controllers in an NVMe subsystem.