NVMe Namespace Multi-Array Access via Fabric Mediator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems face challenges in providing access to a nonvolatile memory express (NVMe) namespace across multiple storage arrays, as NVMe-oF does not allow namespaces to be exposed from two different NVM subsystems hosted on different data storage arrays simultaneously, and existing solutions like NVMe Technical Proposal 4034 'Dispersed Namespaces' lack operating system support.

Innovation Solution

The method involves hosting a nonvolatile memory (NVM) subsystem on multiple storage arrays, performing a 'stretch' operation to concurrently host the NVM subsystem on multiple arrays, and updating log page information to indicate concurrent hosting, allowing access to the namespace from any storage array, thereby presenting it as a metro volume.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a namespace is confined to one NVM subsystem as per NVMe foundational property, then the NVM subsystem can be hosted on a single storage array, but the namespace cannot be accessed via multiple storage arrays simultaneously

Engineering Contradiction:
Improvenamespace accessibilityVSAvoidmulti-array hosting capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent segments the NVM subsystem into multiple instances distributed across different storage arrays. Each storage array hosts a portion of the NVM subsystem, allowing the namespace to be accessed via multiple arrays simultaneously while maintaining the fundamental NVMe namespace confinement property within each individual NVM subsystem instance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a fabric network as an intermediary between host computers and multiple NVM subsystem instances. This fabric-mediated approach allows hosts to access the namespace through multiple storage arrays without requiring direct host support for dispersed namespaces, as the fabric handles the complexity of multi-path access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If Dispersed Namespaces approach is used to enable multi-array access, then namespace can be exposed from multiple NVM subsystems, but host operating system support is required which is not available

Engineering Contradiction:
Improvemulti-array namespace exposureVSAvoidhost operating system requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent uses the fabric network as an intermediary layer that abstracts away the complexity of dispersed namespace management from the host operating system. The fabric handles namespace routing and path management, eliminating the need for host OS support for Dispersed Namespaces while still enabling multi-array access.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates copies of the NVM subsystem across multiple storage arrays, with each copy maintaining the namespace. This copying approach allows the namespace to be accessible via multiple arrays without requiring the host to manage complex dispersed namespace configurations, as each array presents a complete copy of the namespace independently.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If conventional SCSI approach is used with two data storage arrays maintaining copies of a volume, then hosts can view copies as the same logical unit, but this approach does not work well for NVMe-oF

Engineering Contradiction:
Improvemulti-array volume presentationVSAvoidprotocol compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies local quality by allowing each storage array to maintain its own NVM subsystem instance with local namespace management, while the fabric network provides the global view of unified namespace access. This preserves NVMe protocol integrity at each local array while enabling multi-array accessibility through the fabric.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent transitions from the conventional SCSI two-dimensional model (single LU identity presented to hosts) to an NVMe-oriented multi-dimensional model where the same namespace can be accessed through multiple independent NVM subsystem instances via the fabric, adding a new dimension of access paths without compromising protocol compatibility.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS20240311290A1Providing access to a namespace via multiple storage arrays
Publication Date: 2024.09.19 DELL PROD LP
  • US20240311290A1 patent drawing
  • US20240311290A1 patent drawing
  • US20240311290A1 patent drawing

AI summary

A technique of providing access to a namespace via multiple storage arrays involves providing access to the namespace from a nonvolatile memory (NVM) subsystem while the NVM subsystem is hosted on a first storage array. The technique further involves, after providing access to the namespace from the NVM subsystem while the NVM subsystem is hosted on the first storage array, performing a stretch operation to concurrently host the NVM subsystem on the first storage array and a second storage array. The technique further involves, after performing the stretch operation, providing access to the namespace from the NVM subsystem while the NVM subsystem is concurrently hosted on the first storage array and the second storage array. Accordingly, the namespace is now accessibly via either storage array.