NVMe Management and Data Commands: A Specification Walkthrough
00.01.This report connects the interfaces used to manage an SSD and perform data operations: establish capabilities, configure behavior, receive status, and explain the range and completion guarantees of commands such as Read and Write. Start with the overall picture, then open Base and the NVM Command Set and move forward through their pages.
- NVM
- Non-Volatile Memory, memory that retains data without power.
The main ideas
Establish the device and its capabilities
01-01Identify maps device and namespace capabilities; logs add status and changes. Know the target of each query before interpreting its response.
- namespace
- Namespace, a formatted quantity of non-volatile memory accessed by a host through a controller.
Arrange commands and configure behavior
02-01Features configure behavior, while SQs/CQs carry commands. Choose maintenance actions by purpose: Create and Attach establish storage and access separately; Self-test, Telemetry, and Sanitize each have their own operation states and results.
Compare I/O by data flow
03-01Read returns data, Write supplies it, Compare supplies expected data, Verify returns no normal payload, and Copy supplies descriptors. Compare all eight commands by direction and result.
Understand what a result guarantees
04-01Completion, immediate abort, matching content, persistence, and atomicity are distinct evidence. Bound each by target range, ordering, and format conditions.
00.02.The audience knows operating systems and computer organization. Examples assume 4096-byte LBAs where stated; actual formats still come from Identify. The selected scope includes the related Self-test, namespace, Boot, Telemetry, and Sanitize interfaces.
Connecting the main ideas
00.03.For learning, connect capabilities → settings → operations → results. For the live specification report, follow Base 5 → Base 7 → selected NVM sections. The former builds understanding; the latter reduces page movement.
00.04.Avoid repeatedly switching between common and command-set-specific definitions. Explain Format scope in Base and complete PIL/PI/MSET in the NVM part. Resolve those earlier questions together, switching documents only once.
- PI
- Protection Information: Guard and tag fields used to check data and its associated information.
The live specification route
R-1Open the Base 2.4 PDF at viewer page 202. After B22, switch to the NVM Command Set 1.3 PDF at page 27. The table uses PDF viewer page numbers, not printed footer or table-of-contents numbers.
| File to open | Page numbering |
|---|---|
| NVM-Express-Base-Specification-Revision-2.4-Ratified-2026.07.31.pdf | PDF page = body printed page + 26; use the verified destinations below. |
| NVM-Express-NVM-Command-Set-Specification-Revision-1.3-Ratified-2026.07.31.pdf | PDF and printed page numbers match. |
R-2At each stop, locate the starting section heading and read forward until just before the listed stopping heading. Boundaries may be mid-page: inclusion is not by whole page. Base §5.2.13.2 adds no PCIe log definition requiring a stop, and all subsections of §5.2.14.3 are excluded.
- PCIe
- PCI Express, the transport and device interconnect used by an NVMe memory-based controller.
First: Base 2.4, B01–B22
| Stop | Start: PDF page / section | What to explain in order | Stop before |
|---|---|---|---|
| B01 | 202 §5 | Admin opcodes, data direction, and NSID; compare command restrictions during Format and the Sanitize states in Figure 144. | PDF 205 §5.1.2 heading |
| B02 | 207 §5.2 | Abort: target and IANP → AER: completion layout, event types, and parameters. | PDF 217 §5.2.3 heading |
| B03 | 225 §5.2.6 | Device Self-test: NSID and STC → operation interactions → command status. Distinguish request success from background-test completion; inspect results later at LID 06h. | PDF 227 §5.2.7 heading |
| B04 | 228 §5.2.9 | Firmware Commit → Image Download → Format → Get Features → common Get Log Page format → LIDs 00h–08h. LID 06h completes Self-test; use one block-range diagram for Telemetry LIDs 07h/08h. | PDF 263 §5.2.13.1.10 heading |
| B05 | 302 §5.2.13.1.18 | LID 12h: index by FID and distinguish support, scope, and content/capability changes; skip excluded FIDs. | PDF 304 §5.2.13.1.19 heading |
| B06 | 309 §5.2.13.1.21 | Boot Partition LID 15h: select BPID, distinguish the 16-byte header from image data, and measure LPO from the start of the log. | PDF 310 §5.2.13.1.22 heading |
| B07 | 327 §5.2.13.1.33 | LID 24h: read default-configuration status and support conditions without entering restoration workflows. | PDF 328 §5.2.13.1.34 heading |
| B08 | 339 §5.2.13.1.38 | Sanitize Status LID 81h: read SSTAT before valid SPROG, action information, and time estimates; distinguish acceptance from final results. | PDF 345 §5.2.13.2 heading |
| B09 | 362 §5.2.13.4 | Read Get Log Page completion, then the Identify request. Group the long CNS 01h table, then follow CNS 02h, 03h, 04h, 05h, 06h, 07h, 08h, 10h, 11h, 12h, 13h, and 16h in page order. | PDF 421 §5.2.14.2.14 heading |
| B10 | 422 §5.2.14.2.15 | CNS 18h, 19h, 1Ah, 1Bh, 1Ch, 1Dh, 1Fh, and 20h: resource and format lists. Demonstrate underlying-namespace enumeration with CNSSID, GENCTR, and the 12-entry limit. | PDF 427 §5.2.14.2.23 heading |
| B11 | 431 §5.2.14.5 | Identify completion behavior; continue forward to Namespace Attachment. | PDF 431 §5.2.15 heading |
| B12 | 470 §5.2.24 | Namespace Attachment → Management → Sanitize. Separate associations from storage objects, then read SEL, CSI, and returned NSID. Connect Sanitize actions and Overwrite fields to the earlier LID 81h state. | PDF 478 §5.2.27 heading |
| B13 | 480 §5.2.28 | Security Receive → Send → common Set Features rules → FIDs 01h, 02h, 04h, 06h, 07h, 0Bh, 0Ch, and 0Eh. | PDF 497 §5.2.30.1.9 heading |
| B14 | 497 §5.2.30.1.10 | FIDs 10h and 11h: thermal-management limits and background activity in non-operational states. | PDF 499 §5.2.30.1.12 heading |
| B15 | 503 §5.2.30.1.16 | Sanitize Config FID 17h: with NDI=1 and NDAS=1, contrast rejection for NODRM=0 with warning-mode processing for NODRM=1. | PDF 504 §5.2.30.1.17 heading |
| B16 | 504 §5.2.30.1.18 | FID 19h: Set selects a combination index and Get returns it; connect this to the previously explained Identify vector. | PDF 505 §5.2.30.1.19 heading |
| B17 | 534 §5.2.30.1.34 | FID 80h: PBSLC is a pre-boot software load count, not a completion percentage. | PDF 534 §5.2.30.1.35 heading |
| B18 | 539 §5.2.30.1.39 | Boot Write Protection FID 85h Set/Get states → PCIe interrupt FIDs 08h/09h → HMB FID 0Dh. Observe the section boundaries on shared pages. | PDF 545 §5.2.30.3 heading |
| B19 | 545 §5.2.30.4 | On the same page, skip §5.2.30.3 and read Set Features completion in §5.2.30.4. | PDF 546 §5.2.31 heading |
| B20 | 553 §5.3 | Create CQ → Create SQ → Delete CQ → Delete SQ in page order; actual teardown removes referencing SQs before their CQ. | PDF 558 §5.3.5 heading |
| B21 | 590 §7 | Read only the Flush row of the Chapter 7 opcode table; stop before Cancel on the same page. | PDF 590 §7.1 heading |
| B22 | 593 §7.2 | Start at §7.2 on the page. Read Flush ordering, VWC.FB, and absent/disabled-cache behavior, then finish the Base part. | PDF 594 §7.3 heading |
The only document switch: NVM Command Set 1.3, N01–N07
| Stop | Start: PDF page / section | What to explain in order | Stop before |
|---|---|---|---|
| N01 | 27 §3.3.1 | Compare → Copy → Dataset Management → Read → Verify → Write → Write Uncorrectable → Write Zeroes. Compare required input before reading fields and results. | PDF 62 §4 heading |
| N02 | 62 §4.1.1 | NVM AER notices and Format-specific fields complete the common layouts already explained from Base. | PDF 63 §4.1.3 heading |
| N03 | 64 §4.1.3.1 | NVM Power Management additions → LBA Range Type. | PDF 66 §4.1.3.3 heading |
| N04 | 66 §4.1.3.4 | Skip Error Recovery on the same page and start at Write Atomicity Normal and DN. | PDF 67 §4.1.3.5 heading |
| N05 | 76 §4.1.4.1 | Read only Error Information and SMART/Health on this page; stop before Device Self-test. | PDF 76 §4.1.4.3 heading |
| N06 | 83 §4.1.5 | Follow NVM Identify CNS structures: capacity/base formats → controller capabilities → extended namespace formats → command limits → format selection and granularity. | PDF 110 §4.1.6 heading |
| N07 | 160 §5.6 | LBA Format List layout and CNS applicability; finish by keeping one Format Index consistent throughout the I/O example. | PDF 162 §5.7 heading |
R-3Some shared tables list excluded functions. Skip those function rows and configuration sections while still explaining units and validity of retained command fields. For example, interpret AER event parameters in §5.2.2 without adding voltage or data-queue feature configuration.
- AER
- Asynchronous Event Request: an NVMe Admin command posted in advance so that the controller can later complete it to report an event.
Check the exact inclusion and exclusion list
| Scope item | Selection |
|---|---|
| Main scope | Base Chapters 5/7 minus the exclusions; NVM includes only the listed sections and their descendants. |
| NVM | 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7, 3.3.8, 4.1.1, 4.1.2, 4.1.3.1, 4.1.3.2, 4.1.3.4, 4.1.4.1, 4.1.4.2, 4.1.5, 5.6 |
| Excluded Base sections | 5.1.2, 5.2.3, 5.2.4, 5.2.5, 5.2.7, 5.2.8, 5.2.13.3, 5.2.14.4, 5.2.15, 5.2.16, 5.2.17, 5.2.18, 5.2.19, 5.2.20, 5.2.21, 5.2.22, 5.2.23, 5.2.27, 5.2.30.3, 5.2.31, 5.2.32, 5.3.5, 5.3.6, 5.4, 7.1, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8 |
| Retained FIDs | 01h, 02h, 03h, 04h, 06h, 07h, 08h, 09h, 0Ah, 0Bh, 0Ch, 0Dh, 0Eh, 10h, 11h, 17h, 19h, 80h, 85h |
| Retained LIDs | 00h, 01h, 02h, 03h, 04h, 05h, 06h, 07h, 08h, 12h, 15h, 24h, 81h |
| Retained CNS values | 00h, 01h, 02h, 03h, 04h, 05h, 06h, 07h, 08h, 09h, 0Ah, 10h, 11h, 12h, 13h, 16h, 18h, 19h, 1Ah, 1Bh, 1Ch, 1Dh, 1Fh, 20h |
| Excluded FIDs | 0Fh, 12h, 13h, 14h, 16h, 18h, 1Ah, 1Bh, 1Dh, 1Eh, 1Fh, 21h, 22h, 23h, 24h, 25h, 26h, 27h, 78h, 79h, 7Dh, 7Eh, 7Fh, 81h, 82h, 83h, 84h |
| Excluded LIDs | 09h, 0Ah, 0Bh, 0Ch, 0Dh, 0Fh, 10h, 11h, 13h, 14h, 16h, 17h, 18h, 1Ah, 1Bh, 1Ch, 1Dh, 20h, 21h, 22h, 23h, 25h, 27h, 7Fh, 80h |
| Excluded CNS values | 14h, 15h, 17h, 21h, 22h |
- CNS
- Controller or Namespace Structure: the Identify selector for a response data structure.
01 Separate management from data commands
| Command | Host supplies | Device operation / host receives |
|---|---|---|
| Read | LBA range and receive buffer | Reads content and returns data to the host. |
| Write | LBA range and new data | Stores the supplied data in the selected range. |
| Compare | LBA range and expected data | Compares stored content; returns a match or Compare Failure. |
| Verify | LBA range and checking controls | Validates without returning a normal Read payload. |
| Copy | Source descriptors and destination start | Copies within the device without moving the full content through the host. |
| Dataset Management | Range descriptors and attributes | Provides usage hints or requests deallocation; it is not a zeroing command. |
| Write Uncorrectable | LBA range | Marks an uncorrectable condition for subsequent access. |
| Write Zeroes | LBA range and controls | Applies zeroing/deallocation rules without a normal host payload. |
- Host
- The system running the operating system and issuing NVMe commands.
- LBA
- Logical Block Address: an address measured in logical blocks. With 4096-byte blocks, LBA 2 starts at data byte 8192.
01.01.Admin commands establish and configure the operating environment; I/O commands act on namespace data. Interpret an opcode within its command set, and distinguish support from permission to execute in the current state.
- Admin
- Administrative, the control path used to create, configure, query, or manage controllers and queues.
- I/O
- Input/Output, the class of data operations performed on a namespace.
Sources: Base 2.4 §5, 5.1.1
Source: NVME-BASE-2.4, Rev. 2.4, §5, 5.1.1, printed pages 176-178, PDF pages 202-204
02 Abort: requesting and confirming termination
02.01.Abort identifies the original command by SQID and CID. A successful Abort CQE does not guarantee immediate termination; interpret IANP and the original command’s CQE separately.
- IANP
- Immediate Abort Not Performed: 1 means immediate abort was not performed; 0 means it was.
- SQID
- Submission Queue Identifier, the numeric identifier of the SQ containing a command.
- CID
- Command Identifier, used with the SQ identifier to identify an outstanding command.
- CQE
- Completion Queue Entry, one completion-result structure in a CQ.
Sources: Base 2.4 §5.2.1
Source: NVME-BASE-2.4, Rev. 2.4, §5.2.1, printed pages 181-182, PDF pages 207-208
03 AER: delivering events to the host
- The host posts AERs so requests are available for completion.
- An event completes an AER with AET/AEI/LID.
- The host reads the associated log and validates its fields.
- Clear the event according to its rules and maintain the required outstanding AERs.
- AEI
- Asynchronous Event Information: its meaning depends on the event type selected by AET.
- AET
- Asynchronous Event Type: selects the category in which event information is interpreted.
- LID
- Log Page Identifier: selects the type of log page to read.
03.01.The host first submits an Asynchronous Event Request; the controller later completes it to report an event. Event type, event information, associated LID, and Event Specific Parameter determine the next observation.
- controller
- Controller, the entity that implements the NVMe interface, fetches commands, and reports completions.
Sources: Base 2.4 §5.2.2
Source: NVME-BASE-2.4, Rev. 2.4, §5.2.2, printed pages 183-191, PDF pages 209-217
04 Firmware: activation choices and image transfer
- Firmware Image Download transfers portions of the image.
- Firmware Commit uses CA to choose slot replacement and activation behavior.
- Activation requiring reset changes the running image after the specified reset.
- Firmware Slot Information distinguishes the current active slot from the next active slot.
- CA
- Commit Action, the Firmware Commit field selecting replacement, activation, and reset policy.
04.01.Firmware Image Download transfers image pieces; Firmware Commit uses CA and FS to select storage and activation. Execution normally downloads before committing, while the specification presents Commit first.
- FS
- Firmware Slot, the Firmware Commit field selecting the target slot.
Sources: Base 2.4 §5.2.9, 5.2.10
Source: NVME-BASE-2.4, Rev. 2.4, §5.2.9, 5.2.10, printed pages 202-206, PDF pages 228-232
05 Format: scope before format selection
05.01.Format NVM changes the media format and can request secure erase through SES. SES selects FNS or SENS for scope interpretation; NSID and FNVMBS determine namespace and broadcast behavior.
- NSID
- Namespace Identifier; Identifies the namespace addressed by a command.
Sources: Base 2.4 §5.2.11
Source: NVME-BASE-2.4, Rev. 2.4, §5.2.11, printed pages 206-209, PDF pages 232-235
06 Logs: select a record, then interpret its evidence
06.01.This unit groups LIDs 00h, 01h, 02h, 03h, 04h, 05h, 12h, and 24h; LIDs 06h, 07h, 08h, 15h, and 81h are explained with their corresponding operations. Transfer length, offset, and event retention are common mechanisms; each log defines its scope, units, and validity conditions.
- offset
- offset: a displacement measured from a stated start. It answers “how far from the start,” unlike an index.
Sources: Base 2.4 §5.2.13, 5.2.13.1.1–5.2.13.1.6, 5.2.13.1.18, 5.2.13.1.33, 5.2.13.2, 5.2.13.4
Source: NVME-BASE-2.4, Rev. 2.4, §5.2.13, 5.2.13.1.1–5.2.13.1.6, 5.2.13.1.18, 5.2.13.1.33, 5.2.13.2, 5.2.13.4, printed pages 212-229,276-278,301-302,319,336, PDF pages 238-255,302-304,327-328,345,362
07 Identify: map controllers, namespaces, and capabilities
07.01.Identify returns a 4096-byte structure. CNS selects its kind, CSI the command set, and NSID, CNTID, or a CNS-specific identifier the target. These selectors are not interchangeable.
- CSI
- I/O Command Set Identifier: selects an I/O command set; NVM uses 00h.
Sources: Base 2.4 §5.2.14.1, 5.2.14.2, 5.2.14.5
Source: NVME-BASE-2.4, Rev. 2.4, §5.2.14.1, 5.2.14.2, 5.2.14.5, printed pages 336-405, PDF pages 362-431
08 Security Send/Receive: carrying protocol data
08.01.Security Send supplies protocol data and Security Receive retrieves results. SECP selects the protocol; SPSP and NSSF are protocol-dependent. NVMe command success does not by itself prove success of every protocol operation.
- NVMe
- Non-Volatile Memory Express, the specification family for a host interface to a non-volatile-memory subsystem.
Sources: Base 2.4 §5.2.28, 5.2.29
Source: NVME-BASE-2.4, Rev. 2.4, §5.2.28, 5.2.29, printed pages 454-456, PDF pages 480-482
09 Set Features: connect settings to operating behavior
- The host configures idle time ITPT and target state ITPS in APST entries.
- When APST is enabled, the controller evaluates idle timers.
- At the applicable threshold, it enters the selected non-operational power state.
- Resuming I/O requires accounting for the exit latency of that state.
- APST
- Autonomous Power State Transition: automatic power-state changes under configured idle conditions.
- ITPS
- Idle Transition Power State, the target non-operational power state selected by an APST entry.
- ITPT
- Idle Time Prior to Transition, the APST-entry idle threshold in milliseconds.
09.01.Set Features uses FID to select a feature, SV to request saving, and feature-specific fields or buffers for values. Scope, changeability, and reset behavior are defined separately for each feature.
- FID
- Feature Identifier: selects the Feature to read or configure.
- SV
- Save, the Set Features bit requesting that the controller also save the configured value.
Sources: Base 2.4 §5.2.30.1, 5.2.30.4
Source: NVME-BASE-2.4, Rev. 2.4, §5.2.30.1, 5.2.30.4, printed pages 456-514,519, PDF pages 482-540,545
10 I/O queues: create the completion side first
- Negotiate counts with Number of Queues.
- Create CQ 2, then SQs 3 and 4 referencing it.
- Normal commands post their completions to CQ 2.
- Remove SQs 3 and 4 before deleting CQ 2.
- SQ
- Submission Queue, the queue into which the host places commands.
10.01.Create I/O SQ uses CQID to reference an existing I/O CQ, so create the CQ first. Delete referencing SQs before deleting their CQ. Queue allocation, creation, and command submission are distinct steps.
Sources: Base 2.4 §5.3.1–5.3.4
Source: NVME-BASE-2.4, Rev. 2.4, §5.3.1–5.3.4, printed pages 527-532, PDF pages 553-558
11 Flush: a completion boundary for persistence
11.01.Flush commits data and metadata for the specified namespace to non-volatile media. It covers at least commands completed before Flush submission; concurrently outstanding Writes are not automatically covered.
- metadata
- Additional information stored with a logical block; it can contain protection information or serve other purposes.
Sources: Base 2.4 §7, 7.2
Source: NVME-BASE-2.4, Rev. 2.4, §7, 7.2, printed pages 564,567, PDF pages 590,593
12 Copy: descriptors cross the host interface
12.01.Copy DPTR points to source-range descriptors, while the command identifies the destination. Descriptor format, source/destination format compatibility, MSRC/MSSRL/MCL, and completion reporting constrain the operation.
- DPTR
- Data Pointer, the SQE field identifying a command data buffer.
Sources: NVM Command Set 1.3 §3.3.2
Source: NVME-NVM-CS-1.3, Rev. 1.3, §3.3.2, printed pages 30-43, PDF pages 30-43
13 Read: connect ranges, formats, and host buffers
13.01.Read selects a namespace range using SLBA and NLB, then transfers it to host buffers according to data format, metadata layout, and checking settings. Converting blocks to bytes requires the current format.
- SLBA
- Starting LBA; Starts the command range.
- NLB
- Number of Logical Blocks: this field is zero-based in this report’s read/write commands, Copy, and LBA Range Type; the count is NLB+1.
Sources: NVM Command Set 1.3 §3.3.4
Source: NVME-NVM-CS-1.3, Rev. 1.3, §3.3.4, printed pages 48-51, PDF pages 48-51
14 Write: content, persistence, and atomicity
14.01.Write stores host-provided data in a specified LBA range. FUA, volatile write cache, atomic-write limits, and PI checks address distinct questions; successful completion does not imply every persistence or atomicity guarantee.
- FUA
- Force Unit Access: its effect is command-specific. For Write, data and metadata must be committed to non-volatile media before completion.
Sources: NVM Command Set 1.3 §3.3.6
Source: NVME-NVM-CS-1.3, Rev. 1.3, §3.3.6, printed pages 53-56, PDF pages 53-56
15 NVM Identify: validate an I/O against formats and limits
15.01.NVM Identify adds capacity, LBA formats, metadata/PI, atomicity, and command limits. CNS, CSI, NSID, and Format Index determine whether a query describes a current namespace or a supported format.
- Format Index
- The number selecting a corresponding LBAF/ELBAF format description.
- index
- index: selects an item or format in a list. It answers “which one,” not “how far from the start.”
Sources: NVM Command Set 1.3 §4.1.5
Source: NVME-NVM-CS-1.3, Rev. 1.3, §4.1.5, printed pages 83-110, PDF pages 83-110
16 Device Self-test: from request to result
16.01.Device Self-test command completion acknowledges the start or abort request. LID 06h separately reports background progress and results. STC selects the action, NSID the target, and validity flags qualify result fields.
- LID 06h
- Identifier 06h for the Device Self-test Log Page, containing current operation state and twenty historical results.
- STC
- Context-dependent: Storage Tag Check controls I/O protection checks; Self-test Code selects a Device Self-test action; Status Code in a self-test result qualifies a failure. Interpret the containing structure first.
Sources: Base 2.4 §5.2.6, 5.2.13.1.7
Source: NVME-BASE-2.4, Rev. 2.4, §5.2.6, 5.2.13.1.7, printed pages 199-201,230-232, PDF pages 225-227,256-258
17 Namespaces: create storage, then attach access
17.01.Namespace Management creates or deletes namespaces; Namespace Attachment changes controller associations. Create returns an NSID without automatically attaching it. Detach removes access rather than deleting the namespace object.
Sources: Base 2.4 §5.2.24, 5.2.25
Source: NVME-BASE-2.4, Rev. 2.4, §5.2.24, 5.2.25, printed pages 445-448, PDF pages 471-474
18 Boot partitions: read, update, and select an image
18.01.Boot partitions are distinct from ordinary namespaces. LID 15h reads a selected partition, Firmware Commit CA=6 writes its image and CA=7 selects the boot source, and FID 85h controls write protection.
Sources: Base 2.4 §5.2.9, 5.2.13.1.21, 5.2.30.1.39
Source: NVME-BASE-2.4, Rev. 2.4, §5.2.9, 5.2.13.1.21, 5.2.30.1.39, printed pages 202-204,283-284,513-514, PDF pages 228-230,309-310,539-540
19 Telemetry: retrieve one consistent capture
19.01.LID 07h supports host-initiated telemetry; LID 08h reports controller-initiated data. Retrieval combines 512-byte block boundaries, cumulative data areas, and generation checks to avoid mixing captures.
Sources: Base 2.4 §5.2.13.1.8, 5.2.13.1.9
Source: NVME-BASE-2.4, Rev. 2.4, §5.2.13.1.8, 5.2.13.1.9, printed pages 232-237, PDF pages 258-263
20 Sanitize: request, background progress, and final state
20.01.Sanitize selects supported Block Erase, Overwrite, or Crypto Erase actions. Command success is not completion of background sanitization. LID 81h supplies state, progress, and estimates; FID 17h affects handling of no-deallocation requests.
Sources: Base 2.4 §5.1.1, 5.2.26, 5.2.13.1.38, 5.2.30.1.16
Source: NVME-BASE-2.4, Rev. 2.4, §5.1.1, 5.2.26, 5.2.13.1.38, 5.2.30.1.16, printed pages 178-179,314-319,449-451,477-478, PDF pages 204-205,340-345,475-477,503-504
Where to continue in the specification
21.01.Use the opening B01–B22 and N01–N07 route for the live report. The following is a conceptual lookup index, not another pass through the specification.
| Concept to explain | Specification sections |
|---|---|
| Separate management from data commands | Base 2.4 §5, 5.1.1 |
| Abort: requesting and confirming termination | Base 2.4 §5.2.1 |
| AER: delivering events to the host | Base 2.4 §5.2.2 |
| Firmware: activation choices and image transfer | Base 2.4 §5.2.9, 5.2.10 |
| Format: scope before format selection | Base 2.4 §5.2.11 |
| Get Features: values versus capabilities | Base 2.4 §5.2.12 |
| Logs: select a record, then interpret its evidence | Base 2.4 §5.2.13, 5.2.13.1.1–5.2.13.1.6, 5.2.13.1.18, 5.2.13.1.33, 5.2.13.2, 5.2.13.4 |
| Identify: map controllers, namespaces, and capabilities | Base 2.4 §5.2.14.1, 5.2.14.2, 5.2.14.5 |
| Security Send/Receive: carrying protocol data | Base 2.4 §5.2.28, 5.2.29 |
| Set Features: connect settings to operating behavior | Base 2.4 §5.2.30.1, 5.2.30.4 |
| PCIe features: interrupt delivery and borrowed memory | Base 2.4 §5.2.30.2 |
| I/O queues: create the completion side first | Base 2.4 §5.3.1–5.3.4 |
| Flush: a completion boundary for persistence | Base 2.4 §7, 7.2 |
| Compare: check against host-provided content | NVM 1.3 §3.3.1 |
| Copy: descriptors cross the host interface | NVM 1.3 §3.3.2 |
| Dataset Management: usage hints and deallocation | NVM 1.3 §3.3.3 |
| Read: connect ranges, formats, and host buffers | NVM 1.3 §3.3.4 |
| Verify: validate without a host comparison buffer | NVM 1.3 §3.3.5 |
| Write: content, persistence, and atomicity | NVM 1.3 §3.3.6 |
| Write Uncorrectable and Write Zeroes: different outcomes | NVM 1.3 §3.3.7, 3.3.8 |
| NVM additions to common Admin commands | NVM 1.3 §4.1.1, 4.1.2 |
| NVM features: idle exit latency, LBA usage, and atomicity | NVM 1.3 §4.1.3.1, 4.1.3.2, 4.1.3.4 |
| NVM log additions: interpret ranges and counters | NVM 1.3 §4.1.4.1, 4.1.4.2 |
| NVM Identify: validate an I/O against formats and limits | NVM 1.3 §4.1.5 |
| LBA Format List: match capabilities to one format | NVM 1.3 §5.6 |
| Device Self-test: from request to result | Base 2.4 §5.2.6, 5.2.13.1.7 |
| Namespaces: create storage, then attach access | Base 2.4 §5.2.24, 5.2.25 |
| Boot partitions: read, update, and select an image | Base 2.4 §5.2.9, 5.2.13.1.21, 5.2.30.1.39 |
| Telemetry: retrieve one consistent capture | Base 2.4 §5.2.13.1.8, 5.2.13.1.9 |
| Sanitize: request, background progress, and final state | Base 2.4 §5.1.1, 5.2.26, 5.2.13.1.38, 5.2.30.1.16 |
Check your understanding
1. Successful Abort status with IANP=1: may the original buffer be reclaimed immediately?
22.01.Not from that response alone. IANP=1 gives no immediate-abort guarantee; establish the original command’s completion and end of memory use.
Sources
Source: NVME-BASE-2.4, Rev. 2.4, §5.2.1, printed pages 181-182, PDF pages 207-208
2. How are eight blocks encoded for Read and a DSM range?
22.02.Read uses NLB=7; a DSM range uses LLB=8. They are different fields, while the outer DSM NR separately encodes descriptor count minus one.
Sources
Source: NVME-NVM-CS-1.3, Rev. 1.3, §3.3.4, printed pages 48-51, PDF pages 48-51
Source: NVME-NVM-CS-1.3, Rev. 1.3, §3.3.3, printed pages 44-48, PDF pages 44-48
3. Why can Format with NSID=3 affect other namespaces?
22.03.SES selects the relevant FNS or SENS branch. A scope bit selecting the wider target is not narrowed merely by the NSID value.
Sources
Source: NVME-BASE-2.4, Rev. 2.4, §5.2.11, printed pages 206-209, PDF pages 232-235
4. Why is an empty shared CQ insufficient justification for deleting it?
22.04.Emptiness means there are no completions to consume now, not that no SQ references it. Remove referencing SQs and satisfy completion/lifetime requirements before deleting the CQ.
Sources
Source: NVME-BASE-2.4, Rev. 2.4, §5.3.1–5.3.4, printed pages 527-532, PDF pages 553-558
5. If Flush is submitted before Write A completes, does successful Flush alone prove A is persistent?
22.05.No. The guaranteed set includes commands completed before Flush submission. Establish A’s completion before submitting Flush to include it in that guarantee.
Sources
Source: NVME-BASE-2.4, Rev. 2.4, §7, 7.2, printed pages 564,567, PDF pages 590,593
Source: NVME-NVM-CS-1.3, Rev. 1.3, §3.3.6, printed pages 53-56, PDF pages 53-56


Comments