{
  "slug": "persistence-domain",
  "term": "Persistence domain",
  "aliases": [
    "power-fail protected domain"
  ],
  "definition": "A persistence domain is the set of components whose stored contents are guaranteed to survive a specified failure under the platform's operating contract.",
  "note": "Protection can include volatile buffers drained using reserved energy, so the domain is not simply a list of nonvolatile chips. Intel's ADR example includes controller write-pending queues but excludes CPU caches. [intel-adr] PMDK distinguishes mappings whose protected domains require page, cache-line or byte-granularity persistence mechanisms; these are not transaction-atomicity guarantees. [pmdk-granularity]",
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "related": [
    "persistent-memory",
    "adr",
    "eadr",
    "persistence-ordering",
    "power-loss-protection"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-13",
  "citations": [
    {
      "id": "intel-adr",
      "title": "Intel. Second Generation Xeon Processor Scalable Family Technical Overview: The Persistence Domain.",
      "url": "https://www.intel.com/content/www/us/en/developer/articles/news/second-generation-intel-xeon-processor-scalable-family-technical-overview.html",
      "accessed": "2026-10-13"
    },
    {
      "id": "pmdk-granularity",
      "title": "PMDK 1.13.1. libpmem2(7), GRANULARITY (pinned source documentation).",
      "url": "https://github.com/pmem/pmdk/blob/1.13.1/doc/libpmem2/libpmem2.7.md",
      "accessed": "2026-10-13"
    },
    {
      "id": "hesela-pmem",
      "title": "Hesela. Persistent memory: DAX is not a durable commit.",
      "url": "https://hesela.com/analyses/pmem-persistence-domains-dax/",
      "accessed": "2026-10-13"
    }
  ]
}
