{
  "schemaVersion": 1,
  "evidenceType": "illustrative arithmetic; not a measurement or paper reproduction",
  "generatedOn": "2026-10-11",
  "generator": "scripts/build-copyback-accounting.mjs",
  "modelUrl": "https://hesela.dev/research/copyback-accounting.mjs",
  "modelSha256": "0ade207b73060d83d61bc8cd6188a82b4b6837609d76a56640d3539aed579eea",
  "license": "MIT (Hesela model code and generated example)",
  "assumptions": [
    "100 host-written pages and exactly 60 relocated pages in the same accounting interval.",
    "All pages contain 16384 payload bytes; no compression, deduplication, parity, metadata or spare-area bytes.",
    "Each host page and each relocated page is programmed once; no retries or extra migrations.",
    "An off-chip relocation transfers its payload out of and back into NAND; an eligible copyback does neither.",
    "Copyback eligibility is stipulated for each scenario, not inferred from an ECC or placement model.",
    "Relocation channel bytes exclude host-originated writes, commands, addresses and all other traffic.",
    "No estimate of latency, energy, wear distribution, error probability or safe consecutive-copyback count."
  ],
  "rows": [
    {
      "hostPages": 100,
      "migratedPages": 60,
      "copybackPages": 0,
      "pageBytes": 16384,
      "hostBytes": 1638400,
      "programmedBytes": 2621440,
      "relocationChannelBytes": 1966080,
      "writeAmplification": 1.6
    },
    {
      "hostPages": 100,
      "migratedPages": 60,
      "copybackPages": 30,
      "pageBytes": 16384,
      "hostBytes": 1638400,
      "programmedBytes": 2621440,
      "relocationChannelBytes": 983040,
      "writeAmplification": 1.6
    },
    {
      "hostPages": 100,
      "migratedPages": 60,
      "copybackPages": 60,
      "pageBytes": 16384,
      "hostBytes": 1638400,
      "programmedBytes": 2621440,
      "relocationChannelBytes": 0,
      "writeAmplification": 1.6
    }
  ]
}
