nvme-persistent-memory-region · unknown · also NVMe PMR, Persistent Memory Region

NVMe Persistent Memory Region (PMR)

NVMe Persistent Memory Region is optional device-resident persistent memory accessed through PCIe memory reads and writes.

PMR is separate from host-allocated HMB and controller working-memory CMB. Its backing may be power-protected DRAM or another persistent-memory technology; the interface does not prescribe a medium or application. [2]

In NVMe 1.4a, CAP.PMRS reports support. Software enables PMRCTL.EN and waits for PMRSTS.NRDY to clear before access. HSTS is cleared to 000b while PMR is not ready, so a normal health value alone is not a readiness test. Check enablement and NRDY independently. While not ready, writes can complete without changing the region and reads return undefined data. [1]

PMRCAP.PMRWBM identifies supported write barriers. While PMR is ready and operating normally, completion of an advertised PMR memory read or PMRSTS-register read establishes persistence of prior PMR writes; a PMRSTS read is a barrier only when that mechanism is supported. Software must check PMRSTS.HSTS and ERR before accepting validity. Restore Error (HSTS = 001b) means new writes remain persistent when successfully completed, but earlier contents may not have been restored correctly; persistence of a new write does not certify recovery of older data. [1]

Persisted contents survive power cycles, controller-level resets and disabling the region under the specified operating conditions. PMRMSC configures controller addressing, not a persistence barrier. Putting command data in PMR does not itself write that data to a namespace LBA. [1]

Relations

related
Controller Memory Buffer (CMB), Host memory buffer (HMB), NVMe, Persistent memory, PCIe storage attachment

Advantages

  • The memory interface permits uses beyond a prescribed SSD cache policy. [2]
  • SPDK exposes operations to query capabilities, enable and disable PMR, and map its memory. [3]

Limitations

  • NVMe 1.4a leaves queues and PRP/SGL lists in PMR outside its defined support; CMB queue capabilities cannot be assumed here. [1]
  • A PMR mapping can fail or be unavailable; a software API is not proof of support on a particular SSD. [3]

Citations

  1. NVM Express 1.4a (9 March 2020), sections 3.1.18-3.1.23 and 4.8. Copyright 2007-2020 NVM Express, Inc. (accessed 2026-10-28)
  2. NVM Express: What is Persistent Memory Region? (accessed 2026-10-28)
  3. SPDK NVMe API: PMR capabilities, enable, disable and map operations (accessed 2026-10-28)

Further reading

  1. Hesela: Host Memory Buffer and neighboring memory concepts (accessed 2026-10-28)
  2. Hesela: NVMe health-log coverage and PMR warnings (accessed 2026-10-28)
Sources & caveats
  • Register and reset semantics are scoped to NVMe 1.4a; SPDK documentation supplies an API example, not a device conformance test.
  • Hardware availability is not assessed, so status is unknown. No power-cut or performance experiment is reported.
  • The qualified alias NVMe PMR avoids conflating this concept with perpendicular magnetic recording at the existing pmr slug.

JSON: /data/terms/nvme-persistent-memory-region.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. NVMe Persistent Memory Region (PMR). Hesela. 2026-11-04. https://hesela.dev/terms/nvme-persistent-memory-region/