{
  "schema": "semiagora.daily-signal-simulation.v1",
  "execution_mode": "precomputed-only",
  "experiment_id": "SA-MEM-MRAM-002-TRIANGLE-001",
  "slug": "mram-switching-read-retention-triangle",
  "title": "MRAM switching/read/retention triangle",
  "model_boundary": "normalized STT/SOT teaching model, no calibrated MTJ stack or LLG solver",
  "public_boundary": [
    "No live server solver execution.",
    "No calibrated MTJ stack, measured-silicon claim, product hierarchy claim, qualification signoff, upload, account, payment, comment, newsletter signup, or submission workflow.",
    "Third-party sources remain link-only anchors unless separately reviewed for rights, models, and dependencies."
  ],
  "headline_metric": {
    "name": "Best triangle score",
    "value": 1.2758,
    "case": {
      "domain": "memory",
      "mechanism": "SOT",
      "thermal_barrier_kt": 80,
      "pulse_ns": 0.5,
      "drive_current_proxy": 1.68,
      "switch_probability": 0.53,
      "write_energy_fj": 18.547,
      "read_margin_mv": 151,
      "retention_years_proxy": 2.0301,
      "disturb_risk_proxy": 0,
      "triangle_score": 1.2758
    }
  },
  "rows": [
    {
      "domain": "memory",
      "mechanism": "STT",
      "thermal_barrier_kt": 40,
      "pulse_ns": 0.5,
      "drive_current_proxy": 1.12,
      "switch_probability": 0.57,
      "write_energy_fj": 15.053,
      "read_margin_mv": 104,
      "retention_years_proxy": 0.22,
      "disturb_risk_proxy": 0.0772,
      "triangle_score": 0.9458
    },
    {
      "domain": "memory",
      "mechanism": "STT",
      "thermal_barrier_kt": 40,
      "pulse_ns": 1,
      "drive_current_proxy": 1.12,
      "switch_probability": 0.7045,
      "write_energy_fj": 30.106,
      "read_margin_mv": 102,
      "retention_years_proxy": 0.22,
      "disturb_risk_proxy": 0.1437,
      "triangle_score": 0.9494
    },
    {
      "domain": "memory",
      "mechanism": "STT",
      "thermal_barrier_kt": 40,
      "pulse_ns": 2,
      "drive_current_proxy": 1.12,
      "switch_probability": 0.874,
      "write_energy_fj": 60.211,
      "read_margin_mv": 98,
      "retention_years_proxy": 0.22,
      "disturb_risk_proxy": 0.2846,
      "triangle_score": 0.8532
    },
    {
      "domain": "memory",
      "mechanism": "STT",
      "thermal_barrier_kt": 60,
      "pulse_ns": 0.5,
      "drive_current_proxy": 1.68,
      "switch_probability": 0.51,
      "write_energy_fj": 22.579,
      "read_margin_mv": 123,
      "retention_years_proxy": 0.6683,
      "disturb_risk_proxy": 0.0651,
      "triangle_score": 0.9815
    },
    {
      "domain": "memory",
      "mechanism": "STT",
      "thermal_barrier_kt": 60,
      "pulse_ns": 1,
      "drive_current_proxy": 1.68,
      "switch_probability": 0.6445,
      "write_energy_fj": 45.158,
      "read_margin_mv": 121,
      "retention_years_proxy": 0.6683,
      "disturb_risk_proxy": 0.1674,
      "triangle_score": 0.923
    },
    {
      "domain": "memory",
      "mechanism": "STT",
      "thermal_barrier_kt": 60,
      "pulse_ns": 2,
      "drive_current_proxy": 1.68,
      "switch_probability": 0.814,
      "write_energy_fj": 90.317,
      "read_margin_mv": 117,
      "retention_years_proxy": 0.6683,
      "disturb_risk_proxy": 0.38,
      "triangle_score": 0.7023
    },
    {
      "domain": "memory",
      "mechanism": "STT",
      "thermal_barrier_kt": 80,
      "pulse_ns": 0.5,
      "drive_current_proxy": 2.24,
      "switch_probability": 0.45,
      "write_energy_fj": 30.106,
      "read_margin_mv": 142,
      "retention_years_proxy": 2.0301,
      "disturb_risk_proxy": 0.0529,
      "triangle_score": 1.0604
    },
    {
      "domain": "memory",
      "mechanism": "STT",
      "thermal_barrier_kt": 80,
      "pulse_ns": 1,
      "drive_current_proxy": 2.24,
      "switch_probability": 0.5845,
      "write_energy_fj": 60.211,
      "read_margin_mv": 140,
      "retention_years_proxy": 2.0301,
      "disturb_risk_proxy": 0.1911,
      "triangle_score": 0.9396
    },
    {
      "domain": "memory",
      "mechanism": "STT",
      "thermal_barrier_kt": 80,
      "pulse_ns": 2,
      "drive_current_proxy": 2.24,
      "switch_probability": 0.754,
      "write_energy_fj": 120.422,
      "read_margin_mv": 136,
      "retention_years_proxy": 2.0301,
      "disturb_risk_proxy": 0.4753,
      "triangle_score": 0.5947
    },
    {
      "domain": "memory",
      "mechanism": "SOT",
      "thermal_barrier_kt": 40,
      "pulse_ns": 0.5,
      "drive_current_proxy": 0.84,
      "switch_probability": 0.65,
      "write_energy_fj": 9.274,
      "read_margin_mv": 113,
      "retention_years_proxy": 0.22,
      "disturb_risk_proxy": 0.0183,
      "triangle_score": 1.1302
    },
    {
      "domain": "memory",
      "mechanism": "SOT",
      "thermal_barrier_kt": 40,
      "pulse_ns": 1,
      "drive_current_proxy": 0.84,
      "switch_probability": 0.7845,
      "write_energy_fj": 18.547,
      "read_margin_mv": 111,
      "retention_years_proxy": 0.22,
      "disturb_risk_proxy": 0.0572,
      "triangle_score": 1.1816
    },
    {
      "domain": "memory",
      "mechanism": "SOT",
      "thermal_barrier_kt": 40,
      "pulse_ns": 2,
      "drive_current_proxy": 0.84,
      "switch_probability": 0.954,
      "write_energy_fj": 37.094,
      "read_margin_mv": 107,
      "retention_years_proxy": 0.22,
      "disturb_risk_proxy": 0.1431,
      "triangle_score": 1.1808
    },
    {
      "domain": "memory",
      "mechanism": "SOT",
      "thermal_barrier_kt": 60,
      "pulse_ns": 0.5,
      "drive_current_proxy": 1.26,
      "switch_probability": 0.59,
      "write_energy_fj": 13.91,
      "read_margin_mv": 132,
      "retention_years_proxy": 0.6683,
      "disturb_risk_proxy": 0,
      "triangle_score": 1.186
    },
    {
      "domain": "memory",
      "mechanism": "SOT",
      "thermal_barrier_kt": 60,
      "pulse_ns": 1,
      "drive_current_proxy": 1.26,
      "switch_probability": 0.7245,
      "write_energy_fj": 27.821,
      "read_margin_mv": 130,
      "retention_years_proxy": 0.6683,
      "disturb_risk_proxy": 0.0534,
      "triangle_score": 1.2029
    },
    {
      "domain": "memory",
      "mechanism": "SOT",
      "thermal_barrier_kt": 60,
      "pulse_ns": 2,
      "drive_current_proxy": 1.26,
      "switch_probability": 0.894,
      "write_energy_fj": 55.642,
      "read_margin_mv": 126,
      "retention_years_proxy": 0.6683,
      "disturb_risk_proxy": 0.1834,
      "triangle_score": 1.1255
    },
    {
      "domain": "memory",
      "mechanism": "SOT",
      "thermal_barrier_kt": 80,
      "pulse_ns": 0.5,
      "drive_current_proxy": 1.68,
      "switch_probability": 0.53,
      "write_energy_fj": 18.547,
      "read_margin_mv": 151,
      "retention_years_proxy": 2.0301,
      "disturb_risk_proxy": 0,
      "triangle_score": 1.2758
    },
    {
      "domain": "memory",
      "mechanism": "SOT",
      "thermal_barrier_kt": 80,
      "pulse_ns": 1,
      "drive_current_proxy": 1.68,
      "switch_probability": 0.6645,
      "write_energy_fj": 37.094,
      "read_margin_mv": 149,
      "retention_years_proxy": 2.0301,
      "disturb_risk_proxy": 0.0496,
      "triangle_score": 1.2673
    },
    {
      "domain": "memory",
      "mechanism": "SOT",
      "thermal_barrier_kt": 80,
      "pulse_ns": 2,
      "drive_current_proxy": 1.68,
      "switch_probability": 0.834,
      "write_energy_fj": 74.189,
      "read_margin_mv": 145,
      "retention_years_proxy": 2.0301,
      "disturb_risk_proxy": 0.2238,
      "triangle_score": 1.1133
    }
  ],
  "methods": [
    "Drive current proxy scales with thermal barrier and mechanism label.",
    "Switch probability improves with pulse width while higher barriers add retention and write-cost pressure.",
    "The triangle score combines switching, read margin, retention, energy, and disturb risk to discourage one-metric claims."
  ],
  "limitations": [
    "No measured MTJ stack, stochastic thermal-noise LLG solve, endurance data, read-disturb measurement, or array implementation is included.",
    "No claim is made that MRAM replaces SRAM, DRAM, Flash, or HBM in a product hierarchy.",
    "Real MRAM study requires measured or published device data, array context, sense circuitry, write-error statistics, and retention/endurance conditions."
  ],
  "evidence": [
    "The dataset stores every STT/SOT, barrier, pulse, energy, probability, margin, retention, and disturb row.",
    "CSV export supports a memory-hierarchy comparison table without copying external course material.",
    "The memory domain now separates basic MRAM switching from a broader read/retention/disturb triangle."
  ],
  "sources": [
    {
      "label": "ArXiv MRAM fundamentals signal",
      "url": "https://arxiv.org/abs/1906.10206",
      "note": "Public MRAM survey/coursework signal used as vocabulary context; SemiAgora rows are original teaching proxies."
    }
  ],
  "source_seed_run": "07_assets/factory_lab/daily/2026-08-14/20260814_140522/"
}
