Parallel NVMe Reset and Re-initialization Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing NVMe device reset and re-initialization processes are typically carried out serially, making it unpredictable how long the entire process will take, which may not meet standards for host system expectations.

Innovation Solution

The NVMe device reset and re-initialization operations are logically divided into front-end and back-end operations, allowing them to be performed in parallel, with the front-end operations completing and reporting to the host while back-end operations continue, ensuring a more predictable timing and compliance with standards.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If reset and re-initialization operations are carried out serially, then the device can complete all necessary reset tasks, but the total time required is unpredictable and may not meet host system standards

Engineering Contradiction:
Improvecompleteness of reset operationsVSAvoidreset process duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the reset process into two distinct segments: front-end reset operations (handling host communication, queue management, and controller state) and back-end reset operations (handling NAND flash operations, cache flushing, and FTL updates). This segmentation allows independent parallel execution of both segments, reducing total reset time while ensuring both complete their respective tasks reliably

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The front-end reset operations are performed first and can report completion to the host before the back-end operations finish. This preliminary action allows the host to proceed with re-initialization earlier, overlapping the back-end completion time with the host's re-initialization phase, thereby reducing the overall system downtime

Inventive Principle:
Principle #10Preliminary action

2Productivity

If reset operations are performed quickly, then host system standards are met, but it becomes difficult to ensure all reset tasks are completed thoroughly

Engineering Contradiction:
Improvereset operation speedVSAvoidcompleteness of reset tasks
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

By segmenting reset operations into front-end and back-end tasks that can execute in parallel, the system achieves faster overall reset completion (improved productivity) while each segment maintains its own completion checklist and status reporting (ensured reliability). The host can verify front-end completion independently while back-end operations continue in the background

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms where the NVMe device reports reset completion status to the host through standardized signals. The host can monitor the completion of front-end operations and trigger re-initialization, while the device continues to track back-end operation completion. This feedback loop ensures thorough completion without extending the critical path beyond host standards

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11422828B2Interleaved host reset and next re-initialization operations
Publication Date: 2022.08.23 SANDISK TECHNOLOGIES LLC
  • US11422828B2 patent drawing
  • US11422828B2 patent drawing
  • US11422828B2 patent drawing

AI summary

Embodiments of the present disclosure seek to mitigate the timing issues of prior approaches by performing the NVMe device reset and post-reset re-initialization in parallel. In embodiments, the NVMe device reset and re-initialization operations are logically divided into front-end and back-end operations that may be carried out in parallel. Upon receipt of the command from a host to reset, the NVMe device carries out front-end reset operations for resetting the device, and in parallel performing back-end reinitialization operations. Once the front-end reset operations are complete, or after a predetermined period of time, the NVMe device reports to the host that the device reset is complete, while back-end operations continue. Once all reset and reinitialization operations are complete, the NVMe device may continue to conduct I/O instructions from the host.