{
  "schemaVersion": 1,
  "slug": "ssd-steady-state-windows",
  "title": "SSD steady-state window counterexamples",
  "summary": "Six synthetic five-round IOPS examples separate variation, drift and local stability. These are arithmetic counterexamples, not SSD benchmark measurements.",
  "published": "2026-10-12",
  "updated": "2026-10-12",
  "generatedAt": "2026-10-11T22:21:31.194Z",
  "evidenceType": "synthetic-numerical-counterexamples",
  "license": "CC0-1.0 for Hesela's original code and invented values; source publications retain their rights.",
  "licenseUrl": "https://creativecommons.org/publicdomain/zero/1.0/",
  "sourceUrl": "https://hesela.com/analyses/ssd-steady-state-is-not-a-timer/",
  "humanPage": "https://hesela.com/analyses/ssd-steady-state-is-not-a-timer/",
  "downloadPath": "/data/datasets/ssd-steady-state-windows.csv",
  "codePath": "/research/ssd-steady-state.mjs",
  "rowCount": 6,
  "columns": [
    {
      "name": "scenario",
      "type": "string",
      "description": "Synthetic case identifier; not a device model."
    },
    {
      "name": "round1",
      "type": "number",
      "description": "Invented IOPS in round 1."
    },
    {
      "name": "round2",
      "type": "number",
      "description": "Invented IOPS in round 2."
    },
    {
      "name": "round3",
      "type": "number",
      "description": "Invented IOPS in round 3."
    },
    {
      "name": "round4",
      "type": "number",
      "description": "Invented IOPS in round 4."
    },
    {
      "name": "round5",
      "type": "number",
      "description": "Invented IOPS in round 5."
    },
    {
      "name": "mean",
      "type": "number",
      "description": "Arithmetic mean IOPS of the five values."
    },
    {
      "name": "rangePercent",
      "type": "number",
      "description": "100 times (maximum minus minimum) divided by mean."
    },
    {
      "name": "fittedSpanPercent",
      "type": "number",
      "description": "100 times absolute least-squares slope times four round intervals divided by mean."
    },
    {
      "name": "rangePass",
      "type": "boolean",
      "description": "Range at most 20% of mean."
    },
    {
      "name": "trendPass",
      "type": "boolean",
      "description": "Fitted span at most 10% of mean."
    },
    {
      "name": "pass",
      "type": "boolean",
      "description": "Both numerical checks pass; not PTS certification."
    }
  ],
  "method": "Each row contains five nonnegative invented IOPS values at equally spaced round indices 0-4. Ordinary least squares yields a fitted slope; its absolute value times four gives fitted span. Both observed range and fitted span are divided by the five-value arithmetic mean. Inclusive 20% and 10% limits illustrate SNIA SSS PTS 2.0.2 clause 2.1.24 only. Missing values are rejected. All-zero windows are rejected because normalization is undefined.",
  "limits": [
    "No real device, observation period, sample population, random seed or confidence interval.",
    "This numerical illustration does not implement preparation, workload matrices, all tracked variables or full PTS reporting.",
    "A passing window cannot establish future stability, statistical stationarity, acceptable speed or tail latency.",
    "Rounds are equally spaced test indices, not necessarily seconds. Do not pass irregular time samples to this API.",
    "Floating-point comparisons allow a 64-machine-epsilon tolerance at each threshold.",
    "Early and later plateaus can be concatenated to demonstrate a drop between two individually passing windows."
  ],
  "citations": [
    {
      "id": "snia",
      "title": "SNIA. Solid State Storage Performance Test Specification, version 2.0.2 (1 October 2020), definitions 2.1.1, 2.1.3, 2.1.6, 2.1.13, 2.1.18 and 2.1.24.",
      "url": "https://www.snia.org/sites/default/files/2025-02/SNIA-SSS-PTS-2.0.2.pdf",
      "accessed": "2026-10-11"
    }
  ],
  "artifacts": {
    "modelSha256": "31861ff485a4674d5dfa652f7f4d4ac3b8c7d9a254af72689b8c70ed83a243d1",
    "csvSha256": "b106e44bc7894080169f83df62cfb044da7436af15a9bcf070fd2ee6133ac87b"
  },
  "rows": [
    {
      "scenario": "small-variation",
      "round1": 100,
      "round2": 102,
      "round3": 99,
      "round4": 101,
      "round5": 98,
      "mean": 100,
      "rangePercent": 3.999999999999997,
      "fittedSpanPercent": 1.9999999999999927,
      "rangePass": true,
      "trendPass": true,
      "pass": true
    },
    {
      "scenario": "gradual-drift",
      "round1": 92,
      "round2": 96,
      "round3": 100,
      "round4": 104,
      "round5": 108,
      "mean": 100,
      "rangePercent": 15.999999999999998,
      "fittedSpanPercent": 15.999999999999998,
      "rangePass": true,
      "trendPass": false,
      "pass": false
    },
    {
      "scenario": "symmetric-swings",
      "round1": 88,
      "round2": 112,
      "round3": 100,
      "round4": 112,
      "round5": 88,
      "mean": 100,
      "rangePercent": 24,
      "fittedSpanPercent": 0,
      "rangePass": false,
      "trendPass": true,
      "pass": false
    },
    {
      "scenario": "early-plateau",
      "round1": 200,
      "round2": 200,
      "round3": 200,
      "round4": 200,
      "round5": 200,
      "mean": 200,
      "rangePercent": 0,
      "fittedSpanPercent": 0,
      "rangePass": true,
      "trendPass": true,
      "pass": true
    },
    {
      "scenario": "later-plateau",
      "round1": 100,
      "round2": 100,
      "round3": 100,
      "round4": 100,
      "round5": 100,
      "mean": 100,
      "rangePercent": 0,
      "fittedSpanPercent": 0,
      "rangePass": true,
      "trendPass": true,
      "pass": true
    },
    {
      "scenario": "asymmetric-excursion",
      "round1": 95,
      "round2": 95,
      "round3": 115,
      "round4": 95,
      "round5": 100,
      "mean": 100.00000000000001,
      "rangePercent": 19.999999999999996,
      "fittedSpanPercent": 3.9999999999999973,
      "rangePass": true,
      "trendPass": true,
      "pass": true
    }
  ]
}
