NVMe Self-Study Bank: Domains, reclaim groups and media units

NVMe · Q1–328

NVM Express Base 2.4NVM Command Set 1.3NVMe over PCIe Transport 1.4

Q268–Q275

Domains, reclaim groups and media units

Distinguish ownership from FDP placement, then follow identifiers to an RU and interpret media-report limits.

FDP
Flexible Data Placement

Each question is followed by its explanation. Start with the volume overview, then follow the field interpretations, comparisons or processes. Essential conditions and the normal path are visible from the start. All numerical examples are hypothetical. Status is written SCT/SC; h indicates hexadecimal.

SCT
Status Code Type

Follow a write PID to the current RU

A PID placement handle is not the RUH identifier; apply namespace mapping.

StepHypothetical valueSelection
Decode PIDRGID1, PH0RG1 and namespace PH0
Map handleNS1 PH0 maps to RUH2RUH2
Current referenceRUH2 references RU B in RG1Current placement RU
After fillingController replaces active RUStable PH, different RU

Worked interpretation: Equal PID values in two namespaces can map to different RUHs; preserve NSID and configuration.

NSID
Namespace Identifier

Sources: Base 2.4 §3.2.4, 8.1.12 · Base 2.4 §5.2.13.1.29–5.2.13.1.32, 5.2.30.1.21–5.2.30.1.22, 7.3–7.4 · NVM Command Set 1.3 §3.2, 4.1.4.6–4.1.4.7 · Base 2.4 §5.2.13.1.16

Review the terminology when needed
Controller / namespace
A controller receives commands and manages access. A namespace is a logical storage space that commands can address. An NVM subsystem contains controllers and nonvolatile storage resources.
SQ / CQ / SQE / CQE
Submission and Completion Queues carry command entries (SQEs) and completion entries (CQEs). QID identifies a queue, CID distinguishes outstanding commands in one SQ, and NSID identifies a namespace.
Register / Identify / Feature / Log
A register exposes control or state. Identify queries capabilities and attributes; features query or configure operation; log pages report specific state or records. FID, LID, CNS and CSI select features, logs, Identify structures and command sets.
index / offset / zero-based
An index selects an entry, usually starting at 0; an offset measures distance from an origin in specified units. A zero-based count encodes count−1, but not every zero-valued field is a count. A Dword is 4 bytes; a byte is 8 bits.
Scope / reset / retention
Scope names the affected objects; retention means preserving state. Controller Reset (clearing CC.EN) is one form of Controller Level Reset, or CLR. Different CLR triggers can retain different registers.

Questions in this volume

  1. Q268 · Do domains, sets, groups, media units and namespaces form one hierarchy?
  2. Q269 · How are domains and resource ownership discovered?
  3. Q270 · What are a reclaim group, reclaim unit and reclaim-unit handle?
  4. Q271 · How does a namespace select an RU through a placement handle?
  5. Q272 · What does Media Unit Status report and how are descriptors traversed?
  6. Q273 · Can Media Unit Status directly establish namespace unavailability?
  7. Q274 · Which notices and records can accompany media changes?
  8. Q275 · How are entity scopes distinguished without confusing identifiers?

Q268 Do domains, sets, groups, media units and namespaces form one hierarchy?

Follow the explanation

These names represent management, endurance, capacity, logical addressing and data-placement views.

1. What differs

With sets, namespace→set→endurance group→domain is ownership; a reclaim group is not another namespace container inserted into that chain.

A media unit is a reported media-information entity; an FDP reclaim unit is a reclamation entity, not necessarily the same object.

FDP
Flexible Data Placement

2. How to choose and verify

Read capabilities, inventories, namespace membership and FDP configurations.

Draw ownership separately from placement-handle selection; they answer membership and placement respectively.

Explain both ownership and placement without inventing one-to-one mappings.

3. Conditions that shape the comparison

A media unit is not guaranteed to be a die, nor is channel membership universally one-to-one.

Compare identifier definitions, scopes and observation times rather than numeric equality.

Sources: Base 2.4 §3.2.2–3.2.3, 3.8 · Base 2.4 §5.2.13.1.16 · Base 2.4 §3.2.4, 8.1.12 · Base 2.4 §5.2.13.1.29–5.2.13.1.32, 5.2.30.1.21–5.2.30.1.22, 7.3–7.4 · NVM Command Set 1.3 §3.2, 4.1.4.6–4.1.4.7 · Base 2.4 §5.2.14.2.1 · NVM Command Set 1.3 §4.1.5.1–4.1.5.4 · Base 2.4 §5.2.14.2.2–5.2.14.2.19, 5.2.14.3.1–5.2.14.3.2 · Base 2.4 §2.4.2, 8.1.1 (PCIe namespace access) · Base 2.4 §3.7.1–3.7.4 · Base 2.4 §4.2.3 · Base 2.4 §5.2.13.1.2 · Base 2.4 §5.2.2 · Base 2.4 §5.2.13.1.14 (header, reset, hardware, Set Feature events)

Back to questions

Q269 How are domains and resource ownership discovered?

Follow the explanation

Establish the observation domain before interpreting resource and capacity inventories.

1. Select the target and information

A domain can contain no controller or no endurance group; visible controllers do not enumerate all domains.

Read MDS, controller domain information and domain/group/set inventories.

Namespace membership and media-unit DID/group/set fields provide complementary ownership views.

2. Query sequence and interpretation

Enumerate valid domains and resources, preserving controller and DID with each observation.

A joined view identifies the namespace’s group and the domain owning the reported capacity.

3. Handle missing or inconsistent evidence

LID 10h DID0 selects the controller’s domain; an invalid nonzero DID requires Invalid Field.

LID
Log Page Identifier

Interpret zero with MDS and distinguish unavailable cross-domain information from absent resources.

First check the endpoint and domain selector.

Sources: Base 2.4 §3.2.2–3.2.3, 3.8 · Base 2.4 §5.2.13.1.16 · Base 2.4 §3.2.4, 8.1.12 · Base 2.4 §5.2.13.1.29–5.2.13.1.32, 5.2.30.1.21–5.2.30.1.22, 7.3–7.4 · NVM Command Set 1.3 §3.2, 4.1.4.6–4.1.4.7 · Base 2.4 §5.2.14.2.1 · NVM Command Set 1.3 §4.1.5.1–4.1.5.4 · Base 2.4 §5.2.14.2.2–5.2.14.2.19, 5.2.14.3.1–5.2.14.3.2 · Base 2.4 §2.4.2, 8.1.1 (PCIe namespace access) · Base 2.4 §3.7.1–3.7.4 · Base 2.4 §4.2.3 · Base 2.4 §5.2.13.1.2 · Base 2.4 §5.2.2 · Base 2.4 §5.2.13.1.14 (header, reset, hardware, Set Feature events)

Back to questions

Q270 What are a reclaim group, reclaim unit and reclaim-unit handle?

Follow the explanation

FDP conveys placement intent while the controller manages reclamation and active-RU replacement.

1. What differs

FDP configuration is endurance-group scoped; RG/RUH identifiers belong to that configuration.

An RG contains RUs; each RUH references one RU in every RG, while an RU has at most one current RUH reference.

2. How to choose and verify

Read configuration counts/descriptors and the enabled configuration through FID 1Dh.

FID
Feature Identifier

Select RG and placement handle, map to RUH, and let the controller replace a full RU within that RG.

Example: RUH2 references one RU in RG0 and another in RG1; RUH2 alone does not select between them.

3. Conditions that shape the comparison

Initially and persistently isolated handles have different reclamation mixing requirements.

Correlate configuration, RG, handle type and state; a stable RUH ID does not imply a fixed RU reference.

Sources: Base 2.4 §3.2.2–3.2.3, 3.8 · Base 2.4 §5.2.13.1.16 · Base 2.4 §3.2.4, 8.1.12 · Base 2.4 §5.2.13.1.29–5.2.13.1.32, 5.2.30.1.21–5.2.30.1.22, 7.3–7.4 · NVM Command Set 1.3 §3.2, 4.1.4.6–4.1.4.7 · Base 2.4 §5.2.14.2.1 · NVM Command Set 1.3 §4.1.5.1–4.1.5.4 · Base 2.4 §5.2.14.2.2–5.2.14.2.19, 5.2.14.3.1–5.2.14.3.2 · Base 2.4 §2.4.2, 8.1.1 (PCIe namespace access) · Base 2.4 §3.7.1–3.7.4 · Base 2.4 §4.2.3 · Base 2.4 §5.2.13.1.2 · Base 2.4 §5.2.2 · Base 2.4 §5.2.13.1.14 (header, reset, hardware, Set Feature events)

Back to questions

Q271 How does a namespace select an RU through a placement handle?

Follow the explanation

A namespace’s placement-handle list maps write placement intent to group-level RUHs.

1. Prepare the operation

The same PH can map differently across namespaces, while sharing RUHs is possible under configuration constraints.

Read namespace handle mapping, configuration and RUH status.

FDP writes use DTYPE02h and a DSPEC PID encoding RGID plus PH, not a raw RUH ID.

2. Sequence and completion conditions

Decode PID, map PH to RUH and select that handle’s current RU in the chosen RG.

If NS1 PH0 maps to RUH2 and PID selects RG1, placement uses RUH2's current RU in RG1.

3. Handle unmet conditions

Invalid write PID requires fallback placement and enabled-event handling; invalid RUH Update selectors do not use that fallback rule.

Writes without the directive use PH0 and a controller-selected RG, not a bypass of FDP configuration.

Sources: Base 2.4 §3.2.2–3.2.3, 3.8 · Base 2.4 §5.2.13.1.16 · Base 2.4 §3.2.4, 8.1.12 · Base 2.4 §5.2.13.1.29–5.2.13.1.32, 5.2.30.1.21–5.2.30.1.22, 7.3–7.4 · NVM Command Set 1.3 §3.2, 4.1.4.6–4.1.4.7 · Base 2.4 §5.2.14.2.1 · NVM Command Set 1.3 §4.1.5.1–4.1.5.4 · Base 2.4 §5.2.14.2.2–5.2.14.2.19, 5.2.14.3.1–5.2.14.3.2 · Base 2.4 §2.4.2, 8.1.1 (PCIe namespace access) · Base 2.4 §3.7.1–3.7.4 · Base 2.4 §4.2.3 · Base 2.4 §5.2.13.1.2 · Base 2.4 §5.2.2 · Base 2.4 §5.2.13.1.14 (header, reset, hardware, Set Feature events)

Back to questions

Q272 What does Media Unit Status report and how are descriptors traversed?

Follow the explanation

This log reports domain media ownership, adjustment and wear, not per-I/O completion.

1. Establish the source and scope

LID 10h selects a domain; media-unit and channel identifiers are domain-local.

LID
Log Page Identifier

Check log/domain support and header counts/configuration.

2. Fields, units and worked interpretation

Descriptors provide identity, ownership, adjustment, spare/wear and channel-list location/count.

Locate the channel list at CIO and read MUCS two-byte IDs; applicable descriptor length is CIO plus list length, not a universal fixed stride.

Parse ordered IDs; CCHANS0 means the common-channel count is unreported, not no channels exist.

3. Conditions that change the interpretation

Cleared capacity configuration has specified zero fields and is not an ordinary populated configuration.

The specification does not define group health as a simple average of media-unit values.

Sources: Base 2.4 §3.2.2–3.2.3, 3.8 · Base 2.4 §5.2.13.1.16 · Base 2.4 §3.2.4, 8.1.12 · Base 2.4 §5.2.13.1.29–5.2.13.1.32, 5.2.30.1.21–5.2.30.1.22, 7.3–7.4 · NVM Command Set 1.3 §3.2, 4.1.4.6–4.1.4.7 · Base 2.4 §5.2.14.2.1 · NVM Command Set 1.3 §4.1.5.1–4.1.5.4 · Base 2.4 §5.2.14.2.2–5.2.14.2.19, 5.2.14.3.1–5.2.14.3.2 · Base 2.4 §2.4.2, 8.1.1 (PCIe namespace access) · Base 2.4 §3.7.1–3.7.4 · Base 2.4 §4.2.3 · Base 2.4 §5.2.13.1.2 · Base 2.4 §5.2.2 · Base 2.4 §5.2.13.1.14 (header, reset, hardware, Set Feature events)

Back to questions

Q273 Can Media Unit Status directly establish namespace unavailability?

Follow the explanation

Not directly. Media Unit Status Log (LID 10h) has no generic state that translates into Namespace Ready; inspect namespace and access-path evidence separately.

1. Wear values are not readiness state

Media wear, namespace accessibility and controller-path availability are distinct observations.

Percentage used estimates endurance consumption and spare reports reserve; neither directly encodes Namespace Not Ready.

Percentage used above 100 does not require all I/O to fail.

2. Evidence to examine after access fails

Combine membership, controller readiness, applicable ANA and command results, using media-unit data as context.

Establish attachment/path access, inspect a valid command’s failure and then correlate media ownership.

Namespace Not Ready, ANA Inaccessible and media errors have different conditions and statuses.

Correlate shared resources for simultaneous failures without treating coincidence as proof.

Sources: Base 2.4 §3.2.2–3.2.3, 3.8 · Base 2.4 §5.2.13.1.16 · Base 2.4 §3.2.4, 8.1.12 · Base 2.4 §5.2.13.1.29–5.2.13.1.32, 5.2.30.1.21–5.2.30.1.22, 7.3–7.4 · NVM Command Set 1.3 §3.2, 4.1.4.6–4.1.4.7 · Base 2.4 §5.2.14.2.1 · NVM Command Set 1.3 §4.1.5.1–4.1.5.4 · Base 2.4 §5.2.14.2.2–5.2.14.2.19, 5.2.14.3.1–5.2.14.3.2 · Base 2.4 §2.4.2, 8.1.1 (PCIe namespace access) · Base 2.4 §3.7.1–3.7.4 · Base 2.4 §4.2.3 · Base 2.4 §5.2.13.1.2 · Base 2.4 §5.2.2 · Base 2.4 §5.2.13.1.14 (header, reset, hardware, Set Feature events)

Back to questions

Q274 Which notices and records can accompany media changes?

Follow the explanation

There is no generic AER for every media-unit field change; classify health, ANA, namespace or FDP changes first.

1. When the event exists and who observes it

Warnings can be group, subsystem or controller-path scoped and are not interchangeable.

Read AEC, group-health and FDP-event enables with capability bits.

Health logs report warnings, ANA reports paths and FDP logs enabled placement events.

2. Notification, reading and acknowledgment

Preserve AER type/information/LID, then read the matching log with RAE1 when retention is needed.

A group spare warning calls for EGCW and configured aggregate notice, not an invented Media Unit Lost event.

3. Evaluate missing notifications or records

Before declaring a missing event, check enables, pending AERs, prior acknowledgments and qualifying conditions.

PEL records supported qualifying events, not every percentage-used update.

First specify the actual field transition before selecting an event rule.

4. Check notifications and log records separately

Reading a log does not itself require a new event. Read the complete conditions in this volume

Get Log Page returns the selected data. Read the complete conditions in this volume

Get Log Page is not a per-read PEL audit trail. Read the complete conditions in this volume

Sources: Base 2.4 §3.2.2–3.2.3, 3.8 · Base 2.4 §5.2.13.1.16 · Base 2.4 §3.2.4, 8.1.12 · Base 2.4 §5.2.13.1.29–5.2.13.1.32, 5.2.30.1.21–5.2.30.1.22, 7.3–7.4 · NVM Command Set 1.3 §3.2, 4.1.4.6–4.1.4.7 · Base 2.4 §5.2.14.2.1 · NVM Command Set 1.3 §4.1.5.1–4.1.5.4 · Base 2.4 §5.2.14.2.2–5.2.14.2.19, 5.2.14.3.1–5.2.14.3.2 · Base 2.4 §2.4.2, 8.1.1 (PCIe namespace access) · Base 2.4 §3.7.1–3.7.4 · Base 2.4 §4.2.3 · Base 2.4 §5.2.13.1.2 · Base 2.4 §5.2.2 · Base 2.4 §5.2.13.1.14 (header, reset, hardware, Set Feature events)

Back to questions

Q275 How are entity scopes distinguished without confusing identifiers?

Follow the explanation

The same number can identify a namespace, domain, group or reclaim group; field type and enclosing scope are essential.

1. Mechanism and scope

Command endpoint, configuration scope and data ownership can differ.

Record applicable endpoint, domain, group, namespace and selectors without inventing zero IDs for inapplicable fields.

2. Understand it through actions and results

Establish command/feature scope before resolving identifiers through inventories.

Ask who receives it, who is targeted and who shares the effects before cross-controller comparison.

FID 1Dh is group-scoped while namespaces retain distinct placement-handle mappings.

FID
Feature Identifier

3. Avoid a misleading conclusion

Absent IDs, unsupported functionality and inaccessible cross-domain information are distinct conditions.

Compare matching selectors/times and rediscover after ownership changes.

Sources: Base 2.4 §3.2.2–3.2.3, 3.8 · Base 2.4 §5.2.13.1.16 · Base 2.4 §3.2.4, 8.1.12 · Base 2.4 §5.2.13.1.29–5.2.13.1.32, 5.2.30.1.21–5.2.30.1.22, 7.3–7.4 · NVM Command Set 1.3 §3.2, 4.1.4.6–4.1.4.7 · Base 2.4 §5.2.14.2.1 · NVM Command Set 1.3 §4.1.5.1–4.1.5.4 · Base 2.4 §5.2.14.2.2–5.2.14.2.19, 5.2.14.3.1–5.2.14.3.2 · Base 2.4 §2.4.2, 8.1.1 (PCIe namespace access) · Base 2.4 §3.7.1–3.7.4 · Base 2.4 §4.2.3 · Base 2.4 §5.2.13.1.2 · Base 2.4 §5.2.2 · Base 2.4 §5.2.13.1.14 (header, reset, hardware, Set Feature events)

Back to questions

Shared rules linked from the answers

Each shared mechanism is explained in full once in this volume. Use browser Back to return to the question; explicit command or feature exceptions take precedence.

Shared conditions for this topic · Is an asynchronous event generated?

Reading a log does not itself require a new event. A successful RAE=0 read may acknowledge its event; RAE=1 and unsuccessful reads retain it. Immediate and One-Shot events have separate clearing rules.

Shared conditions for this topic · Are Error Information or other logs updated?

Get Log Page returns the selected data. Reads can clear reported changes or acknowledge events, depending on the log and RAE, so preserve comparison evidence first. A successful read does not require an error entry; failed reads follow CQE and error-log rules.

CQE
Completion Queue Entry

Shared conditions for this topic · Is it recorded in the Persistent Event Log?

Get Log Page is not a per-read PEL audit trail. Reading PEL does not create another such event; separately occurring events follow their supported logging conditions.

Source locations and existing figure guides

Base printed page = PDF page−26; the other two use identical numbers. Locations follow the supplied PDF body and retain figure numbers. Shared pages contribute only the relevant definitions, excluding Fabrics and PCIe link/packet content.

  • Base 2.4 · §2.4.2, 8.1.1 (PCIe namespace access)
    Printed pages 37, 578–584 · PDF 63, 604–610 · Figure 675–678
  • Base 2.4 · §3.2.2–3.2.3, 3.8
    Printed pages 80–84, 125–129 · PDF 106–110, 151–155 · Figure 67–69, 86–89
  • Base 2.4 · §3.2.4, 8.1.12
    Printed pages 84–87, 648–652 · PDF 110–113, 674–678 · Figure 70–72, 730–732
  • Base 2.4 · §3.7.1–3.7.4
    Printed pages 120–124 · PDF 146–150
  • Base 2.4 · §4.2.3
    Printed pages 145–155 · PDF 171–181 · Figure 101–105
  • Base 2.4 · §5.2.2
    Printed pages 183–190 · PDF 209–216 · Figure 150–156
  • Base 2.4 · §5.2.13.1.2
    Printed pages 218–220 · PDF 244–246 · Figure 212
  • Base 2.4 · §5.2.13.1.14 (header, reset, hardware, Set Feature events)
    Printed pages 244–256, 258, 262–264 · PDF 270–282, 284, 288–290 · Figure 232–244, 246, 252–253
  • Base 2.4 · §5.2.13.1.16
    Printed pages 270–272 · PDF 296–298 · Figure 262–264
  • Base 2.4 · §5.2.13.1.29–5.2.13.1.32, 5.2.30.1.21–5.2.30.1.22, 7.3–7.4
    Printed pages 293–301, 480–483, 568–571 · PDF 319–327, 506–509, 594–597 · Figure 293–303, 499–506, 650–657
  • Base 2.4 · §5.2.14.2.1
    Printed pages 340–387 · PDF 366–413 · Figure 338–341
  • Base 2.4 · §5.2.14.2.2–5.2.14.2.19, 5.2.14.3.1–5.2.14.3.2
    Printed pages 387–399, 402–404 · PDF 413–425, 428–430 · Figure 342–355, 360–362
  • NVM Command Set 1.3 · §3.2, 4.1.4.6–4.1.4.7
    Printed pages 26, 79 · PDF 26, 79 · Figure 21, 116
  • NVM Command Set 1.3 · §4.1.5.1–4.1.5.4
    Printed pages 84–107 · PDF 84–107 · Figure 123–130

When you need a field guide

Existing figure explanations have canonical locations; use these links instead of duplicating the same guide.

Original documents used
  • NVM Express Base Specification · Revision 2.4 · 2026-07-31
    NVM-Express-Base-Specification-Revision-2.4-Ratified-2026.07.31.pdf
  • NVM Express NVM Command Set Specification · Revision 1.3 · 2026-07-31
    NVM-Express-NVM-Command-Set-Specification-Revision-1.3-Ratified-2026.07.31.pdf
  • NVM Express NVMe over PCIe Transport Specification · Revision 1.4 · 2026-07-31
    NVM-Express-NVMe-over-PCIe-Transport-Specification-Revision-1.4-Ratified-2026.07.31.pdf
Jia-Chang

Jia-Chang

Human

Comments

  Write a comment ...