{
  "slug": "greedy-garbage-collection",
  "term": "Greedy garbage collection",
  "aliases": [
    "greedy block cleaning"
  ],
  "definition": "A flash block-cleaning policy that selects a candidate erase block with the fewest valid pages, minimizing the valid data copied for that selection.",
  "note": "The candidate set matters: a global greedy policy and a policy restricted to an age window are not the same algorithm. Immediate copying cost does not by itself determine long-run behavior under skewed update frequencies.",
  "related": [
    "garbage-collection",
    "over-provisioning",
    "write-amplification",
    "hot-cold-data-separation"
  ],
  "limitations": [
    {
      "text": "Uniform-write formulas are conditional models, not universal drive predictions.",
      "citationIds": [
        "desnoyers",
        "xiang"
      ]
    }
  ],
  "citations": [
    {
      "id": "xiang",
      "title": "Luojie Xiang and Brian M. Kurkoski. An Improved Analytic Expression for Write Amplification in NAND Flash. arXiv:1110.4245v1 (19 October 2011), sections II-IV, equation 12 and Table I.",
      "url": "https://arxiv.org/abs/1110.4245v1",
      "accessed": "2026-10-11"
    },
    {
      "id": "desnoyers",
      "title": "Peter Desnoyers. Analytic Modeling of SSD Write Performance. SYSTOR 2012, sections 2-6, Tables 1-2. DOI: 10.1145/2367589.2367603.",
      "url": "https://www.ccs.neu.edu/home/pjd/papers/pjd-systor12.pdf",
      "accessed": "2026-10-11"
    },
    {
      "id": "hesela-op",
      "title": "Hesela: SSD over-provisioning, capacity denominators and analytical-model limits",
      "url": "https://hesela.com/analyses/ssd-overprovisioning-denominators/",
      "accessed": "2026-10-11"
    }
  ],
  "status": "shipping",
  "advantages": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-12"
}
