{
  "slug": "udepot",
  "term": "uDepot",
  "aliases": [],
  "definition": "uDepot is a research key-value store for fast block-addressed nonvolatile storage with a resizable two-level DRAM index.",
  "note": "Its modified hopscotch index uses eight-byte slots; occupancy and temporary resize structures add to the memory budget. The persistent log, not a possibly stale index checkpoint, governs recovery. [udepot-paper]\n\nRecovery scope: The pinned implementation conditions crash recovery on protected device buffers and does not guarantee crash integrity for filesystem-backed storage. [udepot-readme]\n\nRead results: A successful get can fill only part of a value. Compare val_size_read with val_size before treating the returned buffer as the complete value. [udepot-api]",
  "status": "research",
  "advantages": [],
  "limitations": [],
  "related": [
    "silt",
    "kvell",
    "direct-io",
    "database-checkpoint"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-14",
  "citations": [
    {
      "id": "udepot-paper",
      "title": "Kourtis, Ioannou and Koltsidas. Reaping the performance of fast NVM storage with uDepot. FAST 2019, pp. 1-15, sections 4.2-4.4.",
      "url": "https://www.usenix.org/system/files/fast19-kourtis.pdf",
      "accessed": "2026-11-14"
    },
    {
      "id": "udepot-readme",
      "title": "uDepot authors' archived implementation, revision 5b9d9f4c: README, crash-recovery conditions.",
      "url": "https://github.com/IBM/uDepot/blob/5b9d9f4c559c76f0d02f65a3dc300b665138cd0b/README.md#notes",
      "accessed": "2026-11-14"
    },
    {
      "id": "udepot-api",
      "title": "uDepot authors' implementation, revision 5b9d9f4c: KV::get output sizes and successful partial retrieval.",
      "url": "https://github.com/IBM/uDepot/blob/5b9d9f4c559c76f0d02f65a3dc300b665138cd0b/src/include/kv.hh#L36-L55",
      "accessed": "2026-11-14"
    }
  ],
  "provenance": [
    "Source review of FAST 2019 and archived code at revision 5b9d9f4c559c76f0d02f65a3dc300b665138cd0b. No engine benchmark or power-loss experiment performed."
  ]
}
