{
  "status": "research",
  "advantages": [],
  "limitations": [
    {
      "text": "The paper's worst-case comparison applies only while state 1 admits foreground requests.",
      "citationIds": [
        "pgc"
      ]
    }
  ],
  "related": [
    "garbage-collection",
    "nand-erase-suspension"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-25",
  "slug": "preemptible-garbage-collection",
  "term": "Preemptible garbage collection",
  "aliases": [
    "Preemptible GC",
    "Semi-preemptible GC"
  ],
  "definition": "Preemptible garbage collection lets foreground requests interrupt reclamation at supported scheduling points before reclamation resumes.",
  "note": "The interruption boundary matters: Lee et al.'s semi-preemptible policy yields between NAND commands, not inside an executing erase. Low free-block reserves can prevent foreground work from preempting reclamation. [pgc]\n\nFully preemptible GC in that paper assumes additional NAND suspend/resume support. The policy evaluation is simulation, not a generic firmware capability or a latency guarantee. [pgc]",
  "citations": [
    {
      "id": "pgc",
      "title": "Lee et al. Preemptible I/O Scheduling of Garbage Collection for Solid State Drives. IEEE TCAD 32(2), 247-260 (2013), sections III-V.",
      "url": "https://discos.sogang.ac.kr/file/2013/intl_jour/IEEE_TCAD_2013_YKim.pdf",
      "accessed": "2026-10-25"
    },
    {
      "id": "hesela-fairness",
      "title": "Hesela: SSD fairness, NAND suspension and write progress",
      "url": "https://hesela.com/analyses/ssd-fairness-shared-queues/#nand-suspension",
      "accessed": "2026-10-25"
    }
  ]
}
