NVMe/TCP Namespace Discovery Using Bulk Requests on High-Latency Links

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High latency in long-haul networks poses challenges for Non-Volatile Memory Express (NVMe) over TCP connections, leading to prolonged connection times for accessing remote storage, which existing solutions have not effectively addressed.

Innovation Solution

Optimized methods for identifying and transmitting namespace requests within a TCP window size, utilizing bulk requests for namespace descriptors, and processing responses in parallel to reduce connection times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional sequential namespace requests are used, then connection reliability is maintained, but connection establishment time increases significantly in high-latency networks

Engineering Contradiction:
Improveconnection establishment timeVSAvoidrequest management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent calculates the maximum number of namespaces that can be requested within a single TCP window before acknowledgment is received. This preliminary calculation enables the system to prepare and send multiple namespace requests in advance without waiting for individual acknowledgments, thereby reducing connection establishment time while maintaining connection reliability through pre-computed request batching.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the namespace discovery process into two phases: a bulk request phase where multiple namespace requests are sent simultaneously within a TCP window, and a response processing phase where namespace descriptors are received and processed. This segmentation allows parallel transmission of multiple requests while maintaining manageable complexity through structured response handling.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple namespace requests are sent in parallel, then connection establishment time is reduced, but TCP window size limitations may cause request failures

Engineering Contradiction:
Improvenamespace discovery speedVSAvoidrequest success rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent dynamically adjusts the number of parallel namespace requests based on the TCP window size parameter. By calculating the maximum number of requests that can fit within the available TCP window (considering request size, response size, and window size), the system optimizes parallel request transmission to maximize productivity while ensuring reliability by not exceeding TCP buffer limitations.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If bulk namespace requests are implemented, then connection establishment time decreases, but handling of partial responses becomes more complex

Engineering Contradiction:
Improvenamespace information retrieval timeVSAvoidresponse processing complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms to track which namespace requests have been fulfilled and which require additional requests. The system monitors the relationship between sent requests and received namespace descriptors, using this feedback to determine when to send supplementary requests for namespaces not yet described. This structured feedback approach reduces response processing complexity while maintaining fast connection establishment.

Inventive Principle:
Principle #23Feedback

4Ease of operation

If sequential acknowledgment waiting is used, then request-response matching is simplified, but overall connection setup time increases

Engineering Contradiction:
Improverequest-response matching simplicityVSAvoidtotal connection setup time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent assigns unique identifiers to each namespace request before sending them in parallel. This preliminary identification scheme enables the system to match responses to requests without sequential acknowledgment waiting. The pre-assigned identifiers provide a straightforward matching mechanism that maintains ease of operation while enabling parallel request processing to reduce total connection setup time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12513209B2NVMe over TCP connection performance optimization on high latency networks
Publication Date: 2025.12.30 DELL PROD LP
  • US12513209B2 patent drawing
  • US12513209B2 patent drawing
  • US12513209B2 patent drawing

AI summary

A method for use by a computing device, comprising: receiving a bulk request for namespace information, the bulk request being a Non-Volatile Memory Express (NVMe) command that contains a Controller and Namespace Structure (CNS) code, the CNS code being arranged to indicate that the namespace information for multiple namespaces should be returned in response to the bulk request; identifying a plurality of namespaces, the plurality of namespaces being identified based on an offset value and a length value that are provided in the bulk request; transmitting a bulk request response that contains namespace descriptors for each of the plurality of namespaces.