{
  "schema": "semiagora.deep-simulation.v1",
  "execution_mode": "precomputed-only",
  "experiment_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
  "slug": "nand-threshold-ecc-margin",
  "title": "NAND threshold distributions and ECC margin",
  "model_boundary": "normalized threshold-distribution model, not a vendor NAND characterization",
  "public_boundary": [
    "No live server solver execution.",
    "No PDK or proprietary compact-model ingestion, measured-silicon claim, qualification signoff, upload, account, payment, comment, newsletter signup, or submission workflow.",
    "Third-party tools and source pages remain source links unless separately reviewed."
  ],
  "headline_metric": {
    "name": "lowest_ecc_margin_index",
    "value": 0.01,
    "case": {
      "mode": "TLC",
      "pe_cycles": 100,
      "retention_months": 36
    }
  },
  "rows": [
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "SLC",
      "bits_per_cell": 1,
      "pe_cycles": 100,
      "retention_months": 0,
      "vt_sigma_proxy": 0.077,
      "distribution_overlap_proxy": 0.077,
      "ecc_margin_index": 1.15375,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "SLC",
      "bits_per_cell": 1,
      "pe_cycles": 100,
      "retention_months": 12,
      "vt_sigma_proxy": 0.0962,
      "distribution_overlap_proxy": 0.0962,
      "ecc_margin_index": 1.12975,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "SLC",
      "bits_per_cell": 1,
      "pe_cycles": 100,
      "retention_months": 36,
      "vt_sigma_proxy": 0.1346,
      "distribution_overlap_proxy": 0.1346,
      "ecc_margin_index": 1.08175,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "SLC",
      "bits_per_cell": 1,
      "pe_cycles": 1000,
      "retention_months": 0,
      "vt_sigma_proxy": 0.089,
      "distribution_overlap_proxy": 0.089,
      "ecc_margin_index": 1.13875,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "SLC",
      "bits_per_cell": 1,
      "pe_cycles": 1000,
      "retention_months": 12,
      "vt_sigma_proxy": 0.1082,
      "distribution_overlap_proxy": 0.1082,
      "ecc_margin_index": 1.11475,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "SLC",
      "bits_per_cell": 1,
      "pe_cycles": 1000,
      "retention_months": 36,
      "vt_sigma_proxy": 0.1466,
      "distribution_overlap_proxy": 0.1466,
      "ecc_margin_index": 1.06675,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "SLC",
      "bits_per_cell": 1,
      "pe_cycles": 3000,
      "retention_months": 0,
      "vt_sigma_proxy": 0.09473,
      "distribution_overlap_proxy": 0.09473,
      "ecc_margin_index": 1.13159,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "SLC",
      "bits_per_cell": 1,
      "pe_cycles": 3000,
      "retention_months": 12,
      "vt_sigma_proxy": 0.11393,
      "distribution_overlap_proxy": 0.11393,
      "ecc_margin_index": 1.10759,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "SLC",
      "bits_per_cell": 1,
      "pe_cycles": 3000,
      "retention_months": 36,
      "vt_sigma_proxy": 0.15233,
      "distribution_overlap_proxy": 0.15233,
      "ecc_margin_index": 1.05959,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "MLC",
      "bits_per_cell": 2,
      "pe_cycles": 100,
      "retention_months": 0,
      "vt_sigma_proxy": 0.095,
      "distribution_overlap_proxy": 0.285,
      "ecc_margin_index": 0.715,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "MLC",
      "bits_per_cell": 2,
      "pe_cycles": 100,
      "retention_months": 12,
      "vt_sigma_proxy": 0.1142,
      "distribution_overlap_proxy": 0.3426,
      "ecc_margin_index": 0.6574,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "MLC",
      "bits_per_cell": 2,
      "pe_cycles": 100,
      "retention_months": 36,
      "vt_sigma_proxy": 0.1526,
      "distribution_overlap_proxy": 0.4578,
      "ecc_margin_index": 0.5422,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "MLC",
      "bits_per_cell": 2,
      "pe_cycles": 1000,
      "retention_months": 0,
      "vt_sigma_proxy": 0.107,
      "distribution_overlap_proxy": 0.321,
      "ecc_margin_index": 0.679,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "MLC",
      "bits_per_cell": 2,
      "pe_cycles": 1000,
      "retention_months": 12,
      "vt_sigma_proxy": 0.1262,
      "distribution_overlap_proxy": 0.3786,
      "ecc_margin_index": 0.6214,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "MLC",
      "bits_per_cell": 2,
      "pe_cycles": 1000,
      "retention_months": 36,
      "vt_sigma_proxy": 0.1646,
      "distribution_overlap_proxy": 0.4938,
      "ecc_margin_index": 0.5062,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "MLC",
      "bits_per_cell": 2,
      "pe_cycles": 3000,
      "retention_months": 0,
      "vt_sigma_proxy": 0.11273,
      "distribution_overlap_proxy": 0.33818,
      "ecc_margin_index": 0.66182,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "MLC",
      "bits_per_cell": 2,
      "pe_cycles": 3000,
      "retention_months": 12,
      "vt_sigma_proxy": 0.13193,
      "distribution_overlap_proxy": 0.39578,
      "ecc_margin_index": 0.60422,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "MLC",
      "bits_per_cell": 2,
      "pe_cycles": 3000,
      "retention_months": 36,
      "vt_sigma_proxy": 0.17033,
      "distribution_overlap_proxy": 0.51098,
      "ecc_margin_index": 0.48902,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "TLC",
      "bits_per_cell": 3,
      "pe_cycles": 100,
      "retention_months": 0,
      "vt_sigma_proxy": 0.113,
      "distribution_overlap_proxy": 0.791,
      "ecc_margin_index": 0.209,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "TLC",
      "bits_per_cell": 3,
      "pe_cycles": 100,
      "retention_months": 12,
      "vt_sigma_proxy": 0.1322,
      "distribution_overlap_proxy": 0.9254,
      "ecc_margin_index": 0.0746,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "TLC",
      "bits_per_cell": 3,
      "pe_cycles": 100,
      "retention_months": 36,
      "vt_sigma_proxy": 0.1706,
      "distribution_overlap_proxy": 0.99,
      "ecc_margin_index": 0.01,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "TLC",
      "bits_per_cell": 3,
      "pe_cycles": 1000,
      "retention_months": 0,
      "vt_sigma_proxy": 0.125,
      "distribution_overlap_proxy": 0.875,
      "ecc_margin_index": 0.125,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "TLC",
      "bits_per_cell": 3,
      "pe_cycles": 1000,
      "retention_months": 12,
      "vt_sigma_proxy": 0.1442,
      "distribution_overlap_proxy": 0.99,
      "ecc_margin_index": 0.01,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "TLC",
      "bits_per_cell": 3,
      "pe_cycles": 1000,
      "retention_months": 36,
      "vt_sigma_proxy": 0.1826,
      "distribution_overlap_proxy": 0.99,
      "ecc_margin_index": 0.01,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "TLC",
      "bits_per_cell": 3,
      "pe_cycles": 3000,
      "retention_months": 0,
      "vt_sigma_proxy": 0.13073,
      "distribution_overlap_proxy": 0.91508,
      "ecc_margin_index": 0.08492,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "TLC",
      "bits_per_cell": 3,
      "pe_cycles": 3000,
      "retention_months": 12,
      "vt_sigma_proxy": 0.14993,
      "distribution_overlap_proxy": 0.99,
      "ecc_margin_index": 0.01,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "TLC",
      "bits_per_cell": 3,
      "pe_cycles": 3000,
      "retention_months": 36,
      "vt_sigma_proxy": 0.18833,
      "distribution_overlap_proxy": 0.99,
      "ecc_margin_index": 0.01,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "QLC",
      "bits_per_cell": 4,
      "pe_cycles": 100,
      "retention_months": 0,
      "vt_sigma_proxy": 0.131,
      "distribution_overlap_proxy": 0.99,
      "ecc_margin_index": 0.01,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "QLC",
      "bits_per_cell": 4,
      "pe_cycles": 100,
      "retention_months": 12,
      "vt_sigma_proxy": 0.1502,
      "distribution_overlap_proxy": 0.99,
      "ecc_margin_index": 0.01,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "QLC",
      "bits_per_cell": 4,
      "pe_cycles": 100,
      "retention_months": 36,
      "vt_sigma_proxy": 0.1886,
      "distribution_overlap_proxy": 0.99,
      "ecc_margin_index": 0.01,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "QLC",
      "bits_per_cell": 4,
      "pe_cycles": 1000,
      "retention_months": 0,
      "vt_sigma_proxy": 0.143,
      "distribution_overlap_proxy": 0.99,
      "ecc_margin_index": 0.01,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "QLC",
      "bits_per_cell": 4,
      "pe_cycles": 1000,
      "retention_months": 12,
      "vt_sigma_proxy": 0.1622,
      "distribution_overlap_proxy": 0.99,
      "ecc_margin_index": 0.01,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "QLC",
      "bits_per_cell": 4,
      "pe_cycles": 1000,
      "retention_months": 36,
      "vt_sigma_proxy": 0.2006,
      "distribution_overlap_proxy": 0.99,
      "ecc_margin_index": 0.01,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "QLC",
      "bits_per_cell": 4,
      "pe_cycles": 3000,
      "retention_months": 0,
      "vt_sigma_proxy": 0.14873,
      "distribution_overlap_proxy": 0.99,
      "ecc_margin_index": 0.01,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "QLC",
      "bits_per_cell": 4,
      "pe_cycles": 3000,
      "retention_months": 12,
      "vt_sigma_proxy": 0.16793,
      "distribution_overlap_proxy": 0.99,
      "ecc_margin_index": 0.01,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    },
    {
      "simulation_id": "SA-MEM-003-NAND-THRESHOLD-ECC-001",
      "domain": "memory",
      "mode": "QLC",
      "bits_per_cell": 4,
      "pe_cycles": 3000,
      "retention_months": 36,
      "vt_sigma_proxy": 0.20633,
      "distribution_overlap_proxy": 0.99,
      "ecc_margin_index": 0.01,
      "teaching_point": "As bits per cell rise, threshold distributions crowd and ECC margin becomes the real story."
    }
  ],
  "methods": [
    "Distribution spacing shrinks as bits per cell increases.",
    "Threshold sigma grows with P/E cycles and retention time.",
    "ECC margin index falls as distribution overlap increases."
  ],
  "limitations": [
    "No real NAND distribution, program-verify algorithm, read-retry, LDPC/BCH implementation, or SSD firmware is included.",
    "No endurance rating, data-retention guarantee, or product comparison is made.",
    "Real Flash work needs measured Vt distributions, controller behavior, ECC details, and qualification data."
  ],
  "evidence": [
    "v64 deep results store every mode, cycle, retention, overlap, and margin row.",
    "CSV export preserves the threshold/ECC comparison.",
    "The memory source spine keeps Flash inside a rights-clean hierarchy lesson."
  ],
  "sources": [
    {
      "label": "IEEE IRDS",
      "url": "https://irds.ieee.org/",
      "note": "Roadmap source spine for SCM, Flash, ferroelectric, and emerging-memory vocabulary."
    },
    {
      "label": "CrossSim",
      "url": "https://github.com/sandialabs/cross-sim",
      "note": "External analog in-memory computing reference kept link-only until manual review."
    },
    {
      "label": "MNSIM 2.0",
      "url": "https://github.com/thu-nics/MNSIM-2.0",
      "note": "External memristor PIM reference kept link-only until rights review."
    },
    {
      "label": "Kioxia multi-level cell technology",
      "url": "https://www.kioxia.com/en-jp/rd/technology/multi-level-cell.html",
      "note": "Public vendor explainer for threshold-state reading vocabulary; v64 uses original teaching data."
    }
  ],
  "source_seed_run": "07_assets/factory_lab/experiments/DEEP_SEMICONDUCTOR_V64_2026-08-14/"
}
