Command Tags Prevent Data Corruption in NVMe-oF Multi-Path Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data corruption is a risk in multi-path networks when multipathing software and NVMe-oF are involved, leading to stale data overwriting newer data and impacting various subsystem types.

Innovation Solution

The implementation of command tags (CTs) in write commands allows hosts and controllers to track processing statuses, preventing data corruption by ensuring that stale data is not overwritten.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multipathing software and NVMe-oF are used to improve network redundancy and data transfer, then reliability is improved, but data corruption risk increases due to stale data overwriting newer data

Engineering Contradiction:
Improvenetwork redundancyVSAvoiddata corruption
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary tracking of command tags and their processing statuses before data write operations complete. By maintaining a record of which commands have been processed and their current state, the system can prevent stale data from overwriting newer data before the stale command completes, thus preventing data corruption proactively

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where controllers report command processing statuses back to the host. This feedback loop allows the host to track which commands are still in progress and make informed decisions about retrying failed commands, ensuring that stale data does not overwrite newer data

Inventive Principle:
Principle #23Feedback

2Reliability

If command tags are tracked to prevent data corruption, then data integrity is improved, but system complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidcommand tracking system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces command tags as intermediary identifiers that link write commands to their data. These tags act as mediators between the host and controllers, enabling tracking and coordination without requiring complex direct communication protocols. The tags serve as a simple, standardized mechanism to convey command identity and status information across the multi-path network

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Command tags serve multiple functions simultaneously: they identify unique commands, track processing status, enable coordination between multiple controllers, and prevent data corruption. This multi-functionality reduces the need for separate mechanisms for each purpose, thereby managing system complexity while achieving data integrity

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

Data Source

PatentUS12265737B2Command tags
Publication Date: 2025.04.01 DELL PROD LP
  • US12265737B2 patent drawing
  • US12265737B2 patent drawing
  • US12265737B2 patent drawing

AI summary

Embodiments of using command tags are described to prevent data corruption in a multi-path network in an NVMe over Fabrics (NVMe-OF) environment. A command tag is incorporated in a written command send from a host for command identification. Once the host detects an issue of a first link between the host and namespace, the host may immediately send, using a second link, a retry of a command that was previously sent by the host to a first controller via the first link. The retry of the command comprises the same command tag which allows the first and second controllers to detect an execution condition of the first write command, and thus avoiding repeat execution of the first write command by the first controller and the second controller. Therefore, data corruption may be addressed efficiently to the root cause.