Skip to content

Reliability methods

Eleven nines: what a durability model does not prove

Published 2026-10-11 · updated 2026-10-15

A durability target is not a measured loss rate. Recomputing a historical 20-shard example gives about 1.06e-11 per year with a Poisson event model and 7.72e-12 with a distinct-shard binomial model. The difference is a modeling choice, not evidence that one cloud provider is safer.

Vendor scope
S3 Standard, not every S3 storage class
Historical example
20 shards, 17 required; Backblaze's 2018 assumptions
Our contribution
Reproducible arithmetic and explicit model boundaries
Not measured
No observed loss sample or provider comparison

What the numbers mean

S3 Standard has an eleven-nines annual durability design target and spans at least three Availability Zones. One Zone-IA and Express One Zone use one zone; the same broad product name does not imply the same fault coverage. Availability is a separate property. Sources 1 and 2 identify the applicable classes.

The historical Backblaze example assumes 20 shards, any 17 sufficient, 156-hour repair periods and an effective annual rate of 0.0041 per drive. Its recovery-service credit rounds half of 0.81% to 0.41%. Those are historical modeling inputs, not a present-day measurement. Source 3 supplies the inputs; source 5 supplies the distinct-shard construction.

Our arithmetic distinguishes exactly four events, at least four events, and at least four different shards. At the baseline, adding the Poisson tail changes the annual result only about 0.029%; switching to the finite distinct-shard calculation changes it much more. For rare events, the binomial leading coefficient divided by the Poisson coefficient is (20 x 19 x 18 x 17) / 20^4 = 0.72675. Neither model is thereby validated against real loss.

Expectation is not a waiting-time guarantee. Ten million objects at a hypothetical annual marginal loss probability of 1e-11 imply 0.0001 expected losses per year, even without independence between objects. Computing the probability of any loss requires their joint behavior: with independent object-years, the probability over 10,000 years is about 63.2%, not certainty and not a promise of a loss-free interval.

Greenan, Plank and Wylie distinguish time to first loss from its magnitude. Their NOMDL metric expresses expected bytes lost per usable terabyte over a stated mission time. A long MTTDL alone does not report either loss severity or finite-horizon risk. Their small-array examples are not cloud measurements or results reproduced here.

Events are not distinct shards

Let a be a constant per-drive hazard in failures/year, h the window in hours, m = 8760/h and mu = 20a/m. The printed Poisson expression is exp(-mu) mu^4 / 4!, the probability of exactly four events. Summing from four upward includes higher event counts.

For distinct shards, p = 1 - exp(-a/m) and q = sum from k = 4 to 20 of C(20,k) p^k (1-p)^(20-k). The notebook annualizes q as 1 - (1-q)^m. This still partitions time into fixed windows: it does not track the first failure's repair clock across a boundary.

The comparison uses m = 8760/h for all three columns. The separate downloadable result also reproduces the blog's rounded m = 56 (or 28 for the doubled window), so arithmetic conventions remain visible. The fourth-power rate and third-power window scaling are rare-event approximations, not exact laws for arbitrary rates.

Annual fixed-window model outputs. No empirical sample or confidence interval.
ScenarioRate / year; hoursExactly 4 eventsAt least 4 eventsAt least 4 distinct shards
Historical inputs0.41%; 156 h1.0624e-111.0627e-117.7236e-12
Without recovery credit0.81%; 156 h1.6161e-101.6170e-101.1754e-10
Illustrative 2% rate2.00%; 156 h5.9813e-95.9898e-94.3550e-9
Double window0.41%; 312 h8.4865e-118.4914e-116.1722e-11

Reproduce with the Python generator; inspect full-precision JSON or scenario CSV. Code uses 70-digit decimal arithmetic; extra digits are computational precision, not evidence.

Historical source figures

Source figures and our derived arithmetic are labeled separately. The four-scenario comparison above is generated from published code; the source table below preserves the historical extract with corrected scopes. Source review: 2026-10-15.

Historical source figures and labeled arithmetic; not measurements of provider data loss.
MeasureValueUnitPopulation or scopeSource
S3 Standard durability design target99.999999999percent of objects per yearS3 Standard (vendor target)Source 1
Minimum Availability Zones holding an object3zonesS3 Standard; excludes One Zone classesSource 2
S3 Standard availability target99.99percent per yearS3 StandardSource 1
Annual loss probability implied by 11 nines0.00000000001probability per object per yearDerived by us: 1 minus 0.99999999999Source 1
Expected losses a year with 10,000,000 objects0.0001objects per yearDerived by us: 10,000,000 x 0.00000000001Source 1
Shards per object, Backblaze B220shardsReed-Solomon, 2018 postSource 3
Shards needed to rebuild an object17shardsSame schemeSource 3
Missing shards exceeding the coding tolerance4distinct unavailable shardsIdeal 20/17 code, no other corruptionSource 3
Drive annualized failure rate assumed0.81percent per yearBackblaze average over the trailing 60 days of the postSource 3
Effective failure rate used in the derivation0.41percent per yearBackblazeSource 3
Rebuild interval assumed156hours (6.5 days)BackblazeSource 3
Poisson probability of exactly 4 events in one interval0.000000000000189probability per 156 hour intervalHistorical event-count approximationSource 3
Intervals per year used56intervalsBackblazeSource 3
Durability Backblaze states11ninesBackblaze B2, 2018Source 3
Printed-window Poisson approximation, recomputed0.0000000000106probability per object per yearDerived: exactly 4 events, 56 periodsSource 3
Same formula with 0.81% failure rate (no recovery credit)0.00000000016probability per object per yearDerived by usSource 3
Same formula with 2% failure rate0.0000000060probability per object per yearDerived by usSource 3
Same formula with a 312 hour rebuild0.000000000085probability per object per yearDerived by us with 28 intervals a yearSource 3
Expected losses for fixed 1e13 object-years100objectsDerived: exposure x 1e-11; not a waiting-time guaranteeSource 3
MTTDL value cited for the Pergamum archive1400yearsGreenan et al. cite it as an example of a Markov-model estimateSource 4
MTTDL for a sample 8-disk RAID4 array37.60yearsGreenan Table 1: Markov-model example; not a finite-horizon loss probabilitySource 4

Method

We reviewed AWS storage-class documentation, Backblaze's 2018 derivation and pinned notebook, and Greenan, Plank and Wylie's HotStorage 2010 position paper. Our Python standard-library generator uses 70-digit Decimal arithmetic. It reproduces the printed 56-window calculation separately from the 8760/hour-window convention, sums the Poisson tail directly, and independently evaluates the finite binomial sum. Four parameter sets are deterministic sensitivity scenarios, not a sample of observed losses. No AWS implementation is reconstructed.

Limits

All window calculations assume independent, constant-rate shard failures and independent fixed periods. They do not model overlapping repairs, losses straddling period boundaries, latent corruption, shared dependencies or operational deletion. The fractional annual exponent is a historical approximation, not an event-driven repair simulation. Extra decimal digits reduce rounding error but do not reduce model uncertainty. No empirical confidence interval, provider ranking or guarantee follows.

Questions to ask before using nines

Specify the loss event, object or byte denominator, mission time, storage class, fault domains and repair policy. Then ask whether inputs describe measured exposure, vendor assumptions or an illustration. A durability target does not replace versioned backups, restore verification or a policy for deletion and key loss.

Related: MTTDL, NOMDL, AFR versus probability, correlated failures and the source dataset.

Sources

  1. 01Amazon S3 FAQs, Durability and Data Protection (AWS, vendor document) · accessed 2026-10-15
  2. 02AWS S3 User Guide: storage classes, durability and Availability Zone scope · accessed 2026-10-15
  3. 03Backblaze Durability Calculates at 99.999999999% And Why It Doesn't Matter, Brian Wilson, Backblaze blog, 17 July 2018 (vendor derivation) · accessed 2026-10-15
  4. 04Mean time to meaningless: MTTDL, Markov models, and storage system reliability, Greenan, Plank, and Wylie, USENIX HotStorage 2010 (USENIX PDF, independent academic source) · accessed 2026-10-15
  5. 05Backblaze erasure-coding durability notebook, pinned revision 37f758d · accessed 2026-10-15