NVMe Command Association in SSD Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In SSD storage systems, existing technologies face challenges in managing NVMe commands efficiently, particularly in ensuring data integrity and atomicity during write operations, as they lack a mechanism to associate multiple commands as a single logical operation, leading to potential data corruption due to incomplete write operations.

Innovation Solution

The introduction of an NVMe inter command association method that uses an association tag, association size, and association action parameters to group commands, allowing the SSD controller to treat them as a single operation, ensuring data integrity by committing logical-to-physical mappings only after all commands in the group are successfully executed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If multiple NVMe commands are executed independently without association, then command execution speed is improved, but data integrity deteriorates due to potential partial write operations

Engineering Contradiction:
Improvecommand execution speedVSAvoiddata integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent merges multiple independent NVMe commands into an association group identified by a common association tag. The SSD controller treats the entire group as a single logical operation, updating logical-to-physical mappings only after all commands complete successfully. This combining approach maintains high execution speed while ensuring data integrity through atomic group completion.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements preliminary action by having the host device or bridge device pre-associate multiple commands into groups with matching association tags before submission to the SSD controller. The controller then recognizes these pre-grouped commands and processes them as atomic units, preventing partial updates before the entire operation completes.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the SSD controller waits for all commands in an association group to complete before updating mappings, then data integrity is improved, but execution time increases

Engineering Contradiction:
Improvedata integrityVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent maintains continuity of useful action by allowing the SSD controller to execute multiple commands in an association group concurrently without interruption. The controller continues processing other I/O operations while the association group commands execute in parallel, updating mappings only when the entire group completes. This approach minimizes waiting time while ensuring atomicity.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent segments I/O processing into two independent streams: association group command execution and logical-to-physical mapping updates. The controller executes commands within groups concurrently while maintaining separate tracking of group completion status. This segmentation allows continuous processing without blocking other operations, reducing overall execution time while preserving data integrity.

Inventive Principle:
Principle #1Segmentation

3Reliability

If the system implements command association grouping, then atomicity of write operations is improved, but device complexity increases due to additional parameters and tracking mechanisms

Engineering Contradiction:
ImproveatomicityVSAvoidcontroller complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements universality by using the existing association tag field in NVMe commands for multiple purposes: identifying association groups, tracking command completion status, and triggering mapping updates. This multi-functional use of a single parameter reduces the need for additional complex data structures while maintaining atomicity across write operations.

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

Solution Approach 2:

The patent applies self-service by enabling the SSD controller to automatically track and manage association group completion using the association tag parameter already present in the commands. The controller autonomously decrements a counter for each received command in a group and automatically triggers mapping updates when the counter reaches zero, eliminating the need for external coordination or complex external tracking mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10761775B2System and method for NVMe inter command association in SSD storage using a bridge device
Publication Date: 2020.09.01 SAMSUNG ELECTRONICS CO LTD
  • US10761775B2 patent drawing
  • US10761775B2 patent drawing
  • US10761775B2 patent drawing

AI summary

According to some example embodiments, a method includes receiving, a first command from a host device; determining, if the first command is part of an association group of commands by determining a first value of a first parameter of the first command in an association context table entry is greater than zero, the first parameter including a total number of commands in the association group of commands; determining, a first value of a second parameter of the first command, the second parameter including a tag value identifying the association group of commands; decrementing, the first value of the first parameter of the first command in the association context table entry; determining, if the first value of the first parameter in the association context table entry is zero; and executing, an action indicated in a third parameter of the first command.