Synthetic examples / no hardware measurements
SSD steady-state window counterexamples
Six synthetic five-round IOPS examples separate variation, drift and local stability. These are arithmetic counterexamples, not SSD benchmark measurements.
Download CSV6 cases / 12 columnsJSON and provenance / Evaluator code / Research explanation
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.
| Scenario | Rounds 1-5 (IOPS) | R | T | Both checks |
|---|---|---|---|---|
| small-variation | 100, 102, 99, 101, 98 | 4.0% | 2.0% | Pass |
| gradual-drift | 92, 96, 100, 104, 108 | 16.0% | 16.0% | Fail |
| symmetric-swings | 88, 112, 100, 112, 88 | 24.0% | 0.0% | Fail |
| early-plateau | 200, 200, 200, 200, 200 | 0.0% | 0.0% | Pass |
| later-plateau | 100, 100, 100, 100, 100 | 0.0% | 0.0% | Pass |
| asymmetric-excursion | 95, 95, 115, 95, 100 | 20.0% | 4.0% | Pass |
Interpretation
Gradual drift passes the range check but fails the trend check. Symmetric swings do the reverse. The asymmetric case passes even though a point exceeds 110% of its mean: range and maximum deviation from the mean are different. Two individually passing plateaus can still differ by a factor of two.
Reproduce
The evaluator performs no device I/O. Download the linked module, then run this command in its directory with Node.js. No third-party packages are required. It prints the exact CSV; provenance JSON records hashes of both CSV and module.
node --input-type=module -e 'import { toCsv } from "./ssd-steady-state.mjs"; process.stdout.write(toCsv())'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.
Column definitions
- scenario
- Synthetic case identifier; not a device model.
- round1
- Invented IOPS in round 1.
- round2
- Invented IOPS in round 2.
- round3
- Invented IOPS in round 3.
- round4
- Invented IOPS in round 4.
- round5
- Invented IOPS in round 5.
- mean
- Arithmetic mean IOPS of the five values.
- rangePercent
- 100 times (maximum minus minimum) divided by mean.
- fittedSpanPercent
- 100 times absolute least-squares slope times four round intervals divided by mean.
- rangePass
- Range at most 20% of mean.
- trendPass
- Fitted span at most 10% of mean.
- pass
- Both numerical checks pass; not PTS certification.
Sources and license
CC0-1.0 for Hesela's original code and invented values; source publications retain their rights.
Definitions: SSD steady state, preconditioning and active LBA range.