NVMe Over Fabrics In-Capsule Command Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current NVMe technologies face inefficiencies in data transmission and latency when accessing non-volatile storage over networks, particularly due to queuing mechanisms that delay write commands and consume resources, and lack a high-performance path for in-capsule data commands.

Innovation Solution

NVMe over Fabrics introduces a fabric-based architecture that bypasses submission queues for certain commands, allowing immediate execution and data processing, and uses command and response capsules to optimize data transmission, including Scatter-Gather Lists for efficient data handling, and performs data integrity checks to manage queuing and resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If NVMe over Fabrics uses traditional submission queues for command processing, then command execution can be managed in order, but data transmission latency increases and processing speed decreases

Engineering Contradiction:
Improvecommand processing speedVSAvoiddata transmission latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent segments command processing into two distinct paths: traditional submission queue processing for standard commands, and a new high-performance direct processing path for in-capsule data commands. This segmentation allows different command types to be handled through optimized routes, improving overall processing speed while maintaining order for commands that require it.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (the fabric interface with in-capsule data support) that enables commands containing their own data to bypass the traditional submission queue. This intermediary path acts as a mediator between the fabric interface and command execution, reducing latency for specific command types without affecting the overall queue management system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If NVMe over Fabrics implements comprehensive queuing mechanisms for all commands, then command ordering is maintained, but resource utilization decreases and processing efficiency drops

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidqueuing mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a dynamic command processing system that adapts the queuing mechanism based on command characteristics. Commands with in-capsule data dynamically bypass the submission queue, while other commands continue through traditional queuing. This dynamic approach optimizes processing efficiency by reducing unnecessary queuing operations while maintaining system manageability through selective path selection.

Inventive Principle:
Principle #15Dynamics

3Reliability

If NVMe over Fabrics processes all commands through the submission queue, then command execution order is preserved, but data transmission efficiency decreases

Engineering Contradiction:
Improvecommand execution orderVSAvoiddata transmission efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality optimization by providing different processing treatments to different command types based on their specific requirements. Commands with in-capsule data receive expedited direct processing, while other commands maintain traditional queue processing. This localized optimization preserves execution order where needed while maximizing transmission efficiency for appropriate command types.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10296473B2System and method for fast execution of in-capsule commands
Publication Date: 2019.05.21 SANDISK TECHNOLOGIES LLC
  • US10296473B2 patent drawing
  • US10296473B2 patent drawing
  • US10296473B2 patent drawing

AI summary

Systems and methods for fast execution of in-capsule commands are disclosed. NVM Express (NVMe) over fabrics is a standard in which a host device sends commands in a command capsule to a memory device. The memory device then saves the command capsule as an entry to a submission queue, and thereafter fetches the command capsule from the submission queue for execution. In certain instances, such as when the command capsule includes a write command, the memory device may decide to by-pass the submission queue and instead begin execution of the command without fetching the command from the submission queue. In these instances of bypassing, the memory device may instead insert a no-operation entry in the submission queue. Further, the memory device may send a response capsule prior to beginning execution of the command.