NVMe-oF Namespace Group State Path Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In metro cluster storage systems using NVMe-oF, there is a lack of efficient methods for hosts to determine optimized and non-optimized communication paths, leading to suboptimal data access latency and resource utilization.

Innovation Solution

The technology allows storage arrays in a metro cluster configuration to determine and indicate the namespace group state to hosts, distinguishing between optimized and non-optimized communication paths by using namespace group states, which are determined through commands like NVMe Get Log Page and accessed via namespace group state tables, indicating whether a path has lower or higher latency based on the host's location relative to the storage array.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If hosts use NVMe-oF protocol to access storage arrays in metro cluster configuration, then data access speed is improved, but hosts cannot distinguish between optimized and non-optimized paths leading to suboptimal latency

Engineering Contradiction:
Improvedata access speedVSAvoiddata access latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The storage array provides feedback to the host about the state of communication paths by returning namespace group states in response to NVMe Get Log Page commands. This feedback mechanism enables the host to identify optimized paths (lower latency) versus non-optimized paths (higher latency), allowing the host to make informed decisions about path selection and thereby reduce data access latency while maintaining high speed access.

Inventive Principle:
Principle #23Feedback

2Reliability

If hosts are connected to both storage arrays in uniform host connectivity configuration, then data storage availability is improved, but path selection complexity increases

Engineering Contradiction:
Improvedata storage availabilityVSAvoidpath selection complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The storage array autonomously determines and communicates the optimized path information to the host through the NVMe Get Log Page command interface. Instead of requiring the host to implement complex path selection logic or for the system to manually configure optimal paths, the storage array self-services by automatically analyzing path characteristics and providing this information to the host, thereby reducing path selection complexity while maintaining high availability through dual connectivity.

Inventive Principle:
Principle #25Self-service

3Productivity

If storage arrays indicate path optimization status to hosts, then resource utilization is improved, but communication protocol complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidcommunication protocol complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The NVMe Get Log Page command, which is a standard NVMe protocol command already supported by NVMe hosts and storage arrays, is utilized to convey namespace group state information about path optimization. By leveraging this existing multi-functional command interface, the patent enables path optimization indication without requiring a new dedicated protocol or command type, thereby improving resource utilization through informed path selection while avoiding additional communication protocol complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11656795B2Indicating optimized and non-optimized paths to hosts using NVMe-oF in a metro cluster storage system
Publication Date: 2023.05.23 EMC IP HLDG CO LLC
  • US11656795B2 patent drawing
  • US11656795B2 patent drawing
  • US11656795B2 patent drawing

AI summary

A command is received from a host regarding accessing an NVMe dispersed namespace in a metro cluster configuration of storage arrays. A namespace group state corresponding to the host and the port is determined and returned to the host. The namespace group state indicates whether the specific communication path between the host and the port is optimized or non-optimized. The namespace group state indicates that the communication path is non-optimized where the host is not located at the same location as the storage array, and that the communication path is optimized where the host is located at the same location as the storage array and the node of the storage array is a preferred node for processing I/O directed to the NVMe dispersed namespace from hosts located in the same location as the storage array.