Discovery Controller NVMe-oF Namespace Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Booting a host from an NVMe-oF IP fabric is a convoluted process due to server BIOS optimization for local storage rather than remote networked storage, requiring hosts to enumerate and test multiple namespaces, which is time-consuming and does not scale well on large fabrics.

Innovation Solution

A discovery controller maintains a listing of namespace identifiers and their associated subsystem ports, allowing hosts to efficiently resolve global namespace identifiers to local namespace identifiers and access the correct namespace using a simplified process involving a 'Retrieve Namespace Addressing' command, reducing the number of operations needed to locate the boot namespace.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hosts enumerate and test multiple namespaces to locate boot namespace, then boot namespace can be found, but the process consumes significant time and does not scale well on large fabrics

Engineering Contradiction:
Improveboot namespace location accuracyVSAvoidboot process time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The discovery controller performs preliminary actions by maintaining an updated listing of namespace identifiers and their associated subsystem ports before the host needs to boot. This pre-computed mapping eliminates the need for hosts to enumerate and test namespaces during boot, significantly reducing boot time while ensuring accurate namespace location.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The discovery controller acts as an intermediary between hosts and storage subsystems. It receives namespace identifier queries from hosts, resolves them using its maintained listing, and returns the corresponding subsystem port information. This intermediary service abstracts the complex namespace resolution process from hosts, providing fast and accurate results without requiring hosts to perform time-consuming enumeration.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If hosts create inventory of all namespaces and test each one, then boot namespace can be identified, but the process is convoluted and complex

Engineering Contradiction:
Improveboot namespace identification accuracyVSAvoidboot process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The complex namespace resolution logic is extracted from hosts and relocated to the discovery controller. The host simply queries the discovery controller with a namespace identifier, and the discovery controller handles the complex task of resolving the identifier to the correct subsystem port using its maintained listing, returning the result to the host.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The discovery controller serves as an intermediary that simplifies the boot process. Instead of hosts performing complex enumeration and testing, they delegate the resolution task to the discovery controller, which uses its pre-maintained listing to provide direct answers, thereby simplifying the overall system operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If server BIOS is optimized for local storage, then local storage performance is improved, but remote networked storage access becomes inefficient

Engineering Contradiction:
Improvelocal storage access speedVSAvoidremote storage access ease
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The discovery controller acts as an intermediary that bridges the gap between BIOS-optimized local storage access and remote networked storage access. It provides a simplified interface for hosts to access remote namespaces, making remote storage as easy to operate as local storage by handling the complex resolution process automatically.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system separates the concerns of namespace resolution and storage access. The discovery controller handles the complex namespace resolution function, while hosts focus on storage access operations. This segmentation allows BIOS to remain optimized for local storage while providing efficient remote storage access through the discovery controller service.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12008380B2Discovery controller-based nonvolatile memory express namespace resolution services
Publication Date: 2024.06.11 DELL PROD LP
  • US12008380B2 patent drawing
  • US12008380B2 patent drawing
  • US12008380B2 patent drawing

AI summary

Currently, there is no scalable methodologies defined to locate a namespace on an NVMe-oF fabric. Therefore, it is necessary to configure a host with the NVMe™ Qualified Name (NQN) and transport information of the storage subsystem where the boot namespace is located or discover and enumerate all namespaces available to the host on an NVMe-oF fabric. With the current protocols, a host may need to perform many operations to locate the proper namespace and boot from the NVMe-oF fabric, making booting in a SAN environment an extremely slow operation and computationally expensive process. Embodiments herein support discovery, via a discovery controller, to provide a namespace resolution service able to facilitate a host to efficiently resolve a given namespace identifier to the corresponding subsystem port(s) through which that namespace is accessible.