Flash Foundations companion · Calculators

Reliability Math Lab

The formulas behind the numbers on a drive's spec sheet: how often a codeword fails, what an MTBF means, how many drives a rating needs, and how an oven stands in for a year on a shelf. Each calculator shows its formula and labels the values it made up.

The walkthrough

Five questions, five answers

Each question starts with its answer already on screen. Change any control and the numbers and the chart follow.

Codeword failure and UBER

How much ECC does a raw error rate need?

A code that corrects 40 bit errors sounds strong. A codeword fails when the raw bit error rate (RBER) puts more errors than that in one codeword.

P(fail) = sum over k > t of C(n, k) p^k (1 - p)^(n - k)   UBER = P(fail) / data bits

t = 40
RBER 2.0e-3

Codeword sizes and the t range are teaching values.

Codeword
n/a
Raw errors
n/a
Codeword failure rate
n/a
Uncorrectable bit error rate (UBER)
n/a
Smallest t that meets the target
n/a
Highest RBER this t can take
n/a

Set the controls.

Table for the chart
CorrectionUBER at this RBER

AFR from MTBF

What an MTBF of 2 million hours means

Does 2 million hours mean a drive lasts 228 years? No, because MTBF describes a whole fleet at a constant failure rate, so failures still arrive every year.

AFR = 1 - exp(-8760 / MTBF)   the shortcut 8760 / MTBF slightly overstates it

The 1.0 M h preset and the fleet size are teaching values. The other MTBFs are vendor claims.

Annualized failure rate
n/a
The 8760 / MTBF shortcut
n/a
Expected failures per year
n/a
Chance of at least one
n/a

n/a

Sample size for an endurance rating

How many drives does a rating need?

JEDEC asks for 60% confidence that both the functional failure rate (FFR) and the UBER meet their limits. The larger of the two sample sizes is the answer.

drives >= UCL(f) / FFR   and   drives >= UCL(0) / (TBW x 8e12 bits x UBER)

The class limits and the 60% confidence follow JEDEC. The terabytes written is a teaching value.

n/a

Upper limit used (UCL)
n/a
Needed by the FFR limit
n/a
Needed by the UBER limit
n/a
Sample size
n/a
Data errors the sample may show
n/a

n/a

EventsExact UCLRounded up

Arrhenius bake time and Tmax

How a bake stands in for a year of shelf time

Retention loss speeds up with heat by an Arrhenius factor, and JEDEC assumes an activation energy (Ea) of 1.1 eV. The same factor sets Tmax, the hottest endurance stress that ages cells no more than a year of use.

acceleration = exp((Ea / k) x (1 / T_use - 1 / T_stress))   k = 8.617e-5 eV/K

The 1.1 eV is a JEDEC convention. The hours per year, the half-and-half stress split and the 25°C low-temperature lot are teaching values.

Bake is worth
n/a
Acceleration
n/a
Tmax for the class
n/a
Delay temperature that makes up the dose
n/a

Retention extrapolation

When retention errors cross the ECC limit

A simple model grows the raw error rate as a power of retention time. The drive can use only the ECC limit divided by a safety factor, so the curve meets that line at the crossing time.

RBER(t) = RBER0 + B0 x t^m   crossing = ((limit / safety - RBER0) / B0)^(1 / m)

m = 1.1

Every starting value here is a teaching value.

Crosses the design limit after
n/a
RBER after one year
n/a

n/a

Table for the chart
Retention timeRBER

How it works

Each calculator is one formula from the page above, written as a small pure function and tested against hand-worked values. The binomial tail is summed in log space so a 4KiB codeword does not overflow. The sample-size limits come from solving the Poisson tail directly, then rounding up to two decimals the way published tables do. Tmax and the delay temperature come from setting the Arrhenius dose of the stress equal to the dose of a year of use.

With a raw bit error rate p and n bits, the number of errors in a codeword is binomial, so the failure chance is the tail past t. The uncorrectable bit error rate (UBER) is that chance spread over the user bits. A BCH code that corrects t errors needs about m x t parity bits, where 2^m is at least the codeword length.

MTBF describes a population over a short window under a constant failure rate. The presets are the MTBF figures vendors print, which are vendor claims, not measured lifetimes.

JEDEC asks for 60% confidence that both the functional failure rate (FFR) and the UBER meet their limits. UCL is the one-sided 60% upper confidence limit on a Poisson mean after seeing that many events: 0.92 for none, 2.03 for one and 3.11 for two, each rounded up to two decimals. Divide the limit by the allowed FFR, and by the allowed data errors per drive, and take the larger answer.

JEDEC checks retention with Ea = 1.1 eV, a convention. A measured fit on 3D charge-trap NAND found 1.04 eV, and real retention is not a single Arrhenius line across all temperatures. Tmax solves for the stress temperature whose dose over 1,000 hours equals one year of use. The Tmax figures are computed here, not quoted from a standard.

The retention form is a simple power law with m usually between 1 and 2. Its chart axes are fixed, so a curve that crosses after 20,000 hours runs off the right edge. A real fit needs measured points from a real drive.

Teaching values are numbers the lab chose to show the shape of an effect, not published figures. They are the codeword sizes and the t range, the 1.0 M h MTBF preset, the fleet size, the terabytes written, the hours per year, the half-and-half stress split, the 25°C low-temperature lot and every starting value in the retention model.

What it leaves out

  • The UBER counts one bit error per failed codeword. A real failure leaves several bad bits, so real UBER is higher by a small factor.
  • The codeword model is a bounded-distance BCH code with independent bit errors. Modern drives use LDPC with soft decoding, which fails more gently, and real errors cluster by page, word line and block.
  • The constant failure rate behind MTBF ignores early failures and wear-out, which are the parts of the bathtub curve that matter for flash.
  • The sample-size rule here is the calculation, not the whole endurance test: it does not cover the workload, the temperature cycling, the retention bake or how lots are chosen.
  • Real retention loss on 3D NAND is not a single Arrhenius line, and the retention extrapolation uses teaching values, not data from a drive.