NVMe Relay Controller for Indirect Host–Storage Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The NVMe-oF standard lacks the capability to control indirect communication between a host and a storage device via a node, limiting the flexibility and efficiency of data processing and transmission.

Innovation Solution

Implementing a controller with a connection unit, memory, virtual register table, and calculation processor to manage and process data using NVMe transport protocol, enabling indirect communication and calculation processing through a network of nodes, and utilizing a relay table to manage TCP/IP headers for efficient data transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If direct communication between host and storage device is used, then communication simplicity is maintained, but communication flexibility and control capability deteriorate

Engineering Contradiction:
Improvecommunication flexibilityVSAvoidcommunication control complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a relay node as an intermediary component between the host and storage device. This relay node receives capsules from the host, performs calculation processing on the data, and forwards the processed capsules to the storage device. This intermediary structure enables indirect communication while maintaining protocol simplicity, as each node still uses standard NVMe transport protocol communication, but gains enhanced flexibility through the relay node's processing capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If indirect communication via relay node is implemented, then data processing capability is enhanced, but protocol control capability deteriorates

Engineering Contradiction:
Improvedata processing speedVSAvoidprotocol control capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The relay node performs calculation processing autonomously without requiring host intervention. When the relay node receives a capsule, it automatically executes the calculation processing based on the command type and data in the capsule, then stores results in its memory and forwards the processed capsule to the storage device. This self-service mechanism enhances data processing speed while maintaining protocol control simplicity, as the relay node independently handles processing without complex host-side protocol modifications.

Inventive Principle:
Principle #25Self-service

3Productivity

If calculation processing is performed at the relay node, then processing efficiency is improved, but memory resource requirements worsen

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidmemory resource
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The relay node performs calculation processing only on the data portion of received capsules, not on the entire capsule structure including command headers and metadata. This partial action approach processes only the necessary data fields while maintaining the capsule protocol structure, thereby improving processing efficiency without requiring excessive memory resources for storing and manipulating entire capsule structures.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20250298539A1Controller, host, and communication method
Publication Date: 2025.09.25 KIOXIA CORP
  • US20250298539A1 patent drawing
  • US20250298539A1 patent drawing
  • US20250298539A1 patent drawing

AI summary

According to one embodiment, a controller includes a connection unit configured to receive first data and I/O command, and transmit second data, which is a result of calculation processing of the first data, and I/O command, a virtual register table configured to store a virtual register number that accompanies the first data and is identified based on the calculation processing, in association with a virtual address of third data and a data size of the third data, a calculation processor configured to execute the calculation processing by referring to the virtual register table, and a relay table configured to store pairs of source information and destination information.