SSD endurance calculator (TBW, DWPD)

An SSD wears with every write. Manufacturers express its endurance in TBW or DWPD: the calculator converts one to the other, estimates how many years the drive will last under your real load, and measures its wear from its SMART counters.

The calculation runs in your browser: nothing you type is sent anywhere.

TBW ↔ DWPD conversion

Your parameters

TB
years

Common classes

Result

Endurance (TBW)

7,008 TBW

Writes allowed per day

3.84 TB

for 5 years

Lifespan from your write volume

Your parameters

GB/day

Data written by applications to this drive, before amplification.

1 = written once. Example values are explained below the calculator.

Examples

TBW used: 7,008 TB (calculated above).

Result

Time until TBW is reached

19 years

1 TB written per day to the drive

Drive writes per day

0.26 DWPD

The drive will reach the end of its 5 years warranty before its TBW.

Actual wear from SMART counters

Your parameters

"Data Units Written" line of smartctl -a, or data_units_written from nvme smart-log.

h

"Power On Hours" on NVMe, attribute 9 (Power_On_Hours) on SATA.

TBW used: 7,008 TB (calculated above).

Result

Share of TBW used

8.8%

Data written: 614 TB

Average per day

842 GB

Left at the current rate

21 years

On NVMe, "Percentage Used" gives the manufacturer's own wear estimate directly: compare it with this calculation.

How the calculation works

TBW (terabytes written) is the total volume the manufacturer guarantees for writes. DWPD (drive writes per day) says the same relative to capacity: how many times a day the whole drive can be rewritten during the warranty.

TBW       = DWPD × capacity (TB) × 365 × years
DWPD      = TBW / (capacity × 365 × years)
lifespan  = TBW / (writes per day × amplification × 365)
NVMe      = Data Units Written × 512,000 bytes
SATA      = attribute 241 × unit given by its name

Both SMART conversions were checked against the sources: the NVMe specification defines "Data Units Written" in thousands of 512-byte units, rounded up, and smartctl applies the 512,000 factor in its output. On SATA, attribute 241 is not standardised: depending on the model, the smartmontools drive database names it Total_LBAs_Written (in logical sectors), Host_Writes_32MiB or Host_Writes_GiB, and that name gives the unit.

Sources: NVM Express Base Specification, SMART / Health Information log page, smartmontools, nvmeprint.cpp and drivedb.h.

The amplification factor: ZFS, Ceph, databases

TBW counts what the drive receives. Between the application and the drive, the software stack often multiplies writes. The calculator's factor accounts for that; the suggested values are examples.

  • ZFS: a synchronous write (database, NFS, virtual machine) first goes to the ZIL, then is rewritten to its final location. Without a dedicated SLOG device, the ZIL lives on the pool's disks: small synchronous writes are written there twice. A mirror also writes everything to each disk, which does not change the volume per disk but doubles it for the pool.
  • Ceph: with default replication (size = 3), each client write lands on three OSDs. Count three times the volume written by clients, spread across all the cluster's SSDs, plus BlueStore metadata in RocksDB.
  • Databases: every change is first written to the log (InnoDB redo log, PostgreSQL WAL), then to the data pages. InnoDB also writes each page to its doublewrite buffer before writing it in place.
Measuring is still the most reliable: read the data written from SMART a week apart, and compare it with what your applications wrote. The ratio between the two is your real factor.

After the calculation

For an SSD pool, usable capacity matters as much as endurance. The ZFS / RAIDZ calculator gives the space actually available in a mirror or RAIDZ, ZFS reserved space included, and the RAID calculator the rebuild time after a disk failure.

Frequently asked questions

How do you convert DWPD to TBW?

TBW = DWPD × capacity in TB × 365 × warranty years. A 3.84 TB SSD rated 1 DWPD over 5 years takes 7,008 TB written. The other way round, a 1.92 TB SSD rated 600 TBW over 5 years is 0.17 DWPD.

How do you read the data written to an NVMe SSD from SMART?

Multiply "Data Units Written" by 512,000 bytes. The NVMe specification counts in thousands of 512-byte units, rounded up, whatever the drive's sector size. 10,000,000 units are therefore 5.12 TB. smartctl already shows this conversion in brackets.

And on a SATA SSD?

Data written usually sits in attribute 241, but its unit depends on the manufacturer, and its name in smartctl tells you: Total_LBAs_Written is multiplied by the logical sector size, usually 512 bytes; Host_Writes_32MiB by 32 MiB; Host_Writes_GiB or Lifetime_Writes_GiB by 1 GiB. smartctl -i shows the sector size.

What is write amplification?

The ratio between what is actually written to flash and what the application asked to write. The controller's own amplification is already included in the TBW. The software stack's is not: ZFS writes small synchronous writes twice without a SLOG, Ceph replicates each write to three OSDs by default, and a database writes its log on top of its data pages.

What happens when an SSD reaches its TBW?

The warranty ends, even before its end date. The drive does not stop for all that: the JEDEC JESD218 standard requires that at that volume it still retains data unpowered for a defined period. Beyond it, watch the spare blocks and, on NVMe, the "Percentage Used" indicator, which can exceed 100%.

Contact

Address

5 B RUE DES NOYERS, 95300 PONTOISE, FRANCE

Let's Talk About Your Project

15 minutes to understand your needs, no commitment.

Book a Slot