NVMe Namespace Promotion for Shared Multi-Controller Access
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
Data Source
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.


