NVMe Fabric Controller I/O Q-Connection Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In NVMe-oF systems, the disproportionate distribution of I/O Q-connections among hosts leads to unbalanced load distribution, resulting in network congestion and performance impact, as some hosts are allocated more connections while others are allocated fewer, causing inefficiency and potential bottlenecks.

Innovation Solution

The NVMe fabric controller uses a registration command to register available I/O Q-connections and distributes them among hosts in a balanced manner by determining the number of connections each host can use, facilitating a more equitable allocation through notifications and response notifications, ensuring each host receives the appropriate number of connections based on available resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If I/O Q-connections are allocated to hosts without a distribution mechanism, then hosts can access NVMe subsystems, but load distribution becomes unbalanced causing network congestion and performance degradation

Engineering Contradiction:
Improvesystem performanceVSAvoidload distribution balance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The NVMe fabric controller acts as an intermediary between hosts and NVMe subsystems, managing the distribution of I/O Q-connections. It receives registration commands from subsystems, determines appropriate connection allocations, and sends notification commands to hosts, thereby mediating the connection establishment process to ensure balanced load distribution across the network

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements a feedback mechanism where the NVMe fabric controller receives registration commands from subsystems indicating available I/O Q-connections, processes this information to determine optimal distribution, and sends notification commands to hosts. Hosts respond with response notifications, creating a closed-loop feedback system that enables dynamic and balanced connection allocation

Inventive Principle:
Principle #23Feedback

2Device complexity

If I/O Q-connections are concentrated to fewer hosts, then connection establishment is simpler, but network congestion occurs and overall system efficiency decreases

Engineering Contradiction:
Improveconnection management complexityVSAvoidnetwork efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The NVMe fabric controller serves as a central intermediary that automates the complex task of distributing I/O Q-connections across multiple hosts. It receives registration information from subsystems, calculates appropriate distribution, and manages the notification and response process, thereby simplifying connection management while preventing network congestion through balanced allocation

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the I/O Q-connections into distinct allocable units that can be distributed individually to different hosts. The NVMe fabric controller divides the total available connections from a subsystem and allocates portions to multiple hosts, creating a segmented distribution pattern that balances load across the network rather than concentrating connections

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If I/O Q-connections are distributed evenly among hosts, then load balance is achieved and network congestion is prevented, but connection management becomes more complex

Engineering Contradiction:
Improveload distribution balanceVSAvoidconnection management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The NVMe fabric controller implements self-service by autonomously determining the distribution of I/O Q-connections based on registration commands from subsystems. It automatically calculates allocation amounts, sends appropriate notification commands to hosts, and processes responses, thereby achieving balanced load distribution through automated self-management without requiring external intervention

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The NVMe fabric controller acts as an intermediary that manages the complexity of even distribution by centralizing the decision-making process. It receives subsystem registration information, determines equitable allocation across hosts, and orchestrates the notification and response exchange, thereby achieving balanced distribution while containing management complexity within the fabric controller

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11079939B1Distributing I/O Q-connections of subsytems among hosts
Publication Date: 2021.08.03 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11079939B1 patent drawing
  • US11079939B1 patent drawing
  • US11079939B1 patent drawing

AI summary

Examples include distribution of I/O Q-connections of an NVMe™ subsystem among hosts that are to communicate with the NVMe™ subsystem in an NVMe™ zone of a system. Some examples receive information including a number of I/O Q-connections available at the NVMe™ subsystem, register the number of available I/O Q-connections of the NVMe™ subsystem with an NVMe™ fabric controller, determine a number of I/O Q-connections of the NVMe™ subsystem allowed to be used by each host and send to, each host, a first notification including the number of allowed I/O Q-connections of the NVMe™ subsystem to be used by the host.