NVMe Do Not Retry
NVMe Do Not Retry is a completion-status flag indicating that resubmitting the same command to any controller in the NVM subsystem is expected to fail.
Meaning: DNR=1 concerns the same command, not a diagnosis that the whole SSD has permanently failed. DNR=0 means a retry may succeed, not that it will. Interpret the flag with Status Code Type and Status Code. [1]
Recovery: The specification recommends DNR=0 when a command is aborted by time-limited error recovery. A clear DNR bit does not require unlimited retries. Command Retry Delay supplies separate timing guidance only when its prerequisites hold. [1]
Host decision: Linux v6.12 nvme_decide_disposition also stops failed requests for a block-layer no-retry condition or an exhausted retry limit. Later branches distinguish authentication and multipath failover from ordinary requeueing. DNR=0 alone does not establish that this host will retry. [2]
Relations
- related
- NVMe, NVMe completion queue, NVMe Command Retry Delay, NVMe Error Information Log, I/O timeout, Retry budget
Citations
- NVM Express Base 2.3, section 4.2.3, Figure 100 and Identify Controller Figure 328: DNR, CRD and CRDT1-3
- Linux v6.12, nvme_decide_disposition: stop, authenticate, fail over or retry
Sources & caveats
- Versioned protocol interpretation, not a device failure diagnosis or hardware experiment.