Calcul de l'endurance d'un SSD (TBW, DWPD)
Un SSD s'use à chaque écriture. Les constructeurs expriment son endurance en TBW ou en DWPD : le calculateur passe de l'un à l'autre, estime combien d'années le disque tiendra sous votre charge réelle, et mesure son usure à partir de ses compteurs SMART.
Le calcul se fait dans votre navigateur : aucune valeur saisie n'est envoyée.
Conversion TBW ↔ DWPD
Résultat
Endurance (TBW)
7 008 TBW
Écritures autorisées par jour
3,84 To
pendant 5 ans
Durée de vie selon vos écritures
Résultat
Durée avant d'atteindre le TBW
19 ans
1 To écrits par jour sur le disque
Écritures complètes par jour
0,26 DWPD
Usure réelle d'après les compteurs SMART
Résultat
Part du TBW consommée
8,8 %
Volume écrit : 614 To
Moyenne par jour
842 Go
Reste au rythme actuel
21 ans
Comment le calcul est fait
Le TBW (terabytes written) est le volume total que le constructeur garantit en écriture. Le DWPD (drive writes per day) dit la même chose rapporté à la capacité : combien de fois par jour on peut réécrire le disque entier pendant la garantie.
TBW = DWPD × capacité (To) × 365 × années
DWPD = TBW / (capacité × 365 × années)
durée de vie = TBW / (écritures par jour × amplification × 365)
NVMe = Data Units Written × 512 000 octets
SATA = attribut 241 × unité indiquée par son nomLes deux conversions SMART ont été vérifiées dans les sources : la spécification NVMe définit « Data Units Written » en milliers d'unités de 512 octets, arrondis au supérieur, et smartctl applique le facteur 512 000 dans son affichage. En SATA, l'attribut 241 n'est pas normalisé : la base de disques de smartmontools lui donne selon le modèle le nom de Total_LBAs_Written (en secteurs logiques), Host_Writes_32MiB ou Host_Writes_GiB, et c'est ce nom qui donne l'unité.
Sources : spécification NVM Express Base, page SMART / Health Information, smartmontools, nvmeprint.cpp et drivedb.h.
Le facteur d'amplification : ZFS, Ceph, bases de données
Le TBW compte ce que le disque reçoit. Or entre l'application et le disque, la pile logicielle multiplie souvent les écritures. Le facteur du calculateur sert à en tenir compte ; les valeurs proposées sont des exemples.
- ZFS : une écriture synchrone (base de données, NFS, machine virtuelle) part d'abord dans le journal ZIL, puis est réécrite à sa place définitive. Sans disque SLOG dédié, le ZIL est sur les disques du pool : les petites écritures synchrones y sont écrites deux fois. Un miroir écrit en plus tout sur chaque disque, ce qui ne change pas le volume par disque mais double celui du pool.
- Ceph : avec la réplication par défaut (size = 3), chaque écriture d'un client est écrite sur trois OSD. Comptez trois fois le volume écrit par les clients, réparti sur l'ensemble des SSD du cluster, plus les métadonnées de BlueStore dans RocksDB.
- Bases de données : chaque modification est d'abord écrite dans le journal (redo log d'InnoDB, WAL de PostgreSQL), puis dans les pages de données. InnoDB écrit en plus chaque page dans son tampon de double écriture avant de l'écrire à sa place.
Après le calcul
Pour un pool de SSD, la capacité utile compte autant que l'endurance. Le calculateur ZFS / RAIDZ donne l'espace réellement disponible en miroir ou en RAIDZ, réserve de ZFS comprise, et le calculateur RAID la durée de reconstruction après la panne d'un disque.
Questions fréquentes
Comment convertir un DWPD en TBW ?
TBW = DWPD × capacité en To × 365 × années de garantie. Un SSD de 3,84 To garanti 1 DWPD sur 5 ans supporte 7 008 To écrits. Dans l'autre sens, un SSD de 1,92 To annoncé pour 600 TBW sur 5 ans correspond à 0,17 DWPD.
Comment lire le volume écrit d'un SSD NVMe dans SMART ?
Multipliez « Data Units Written » par 512 000 octets. La spécification NVMe compte en milliers d'unités de 512 octets, arrondis au supérieur, quelle que soit la taille de secteur du disque. 10 000 000 unités font donc 5,12 To. smartctl affiche déjà cette conversion entre crochets.
Et sur un SSD SATA ?
Le volume écrit figure en général dans l'attribut 241, mais son unité dépend du constructeur, et son nom dans smartctl l'indique : Total_LBAs_Written se multiplie par la taille de secteur logique, le plus souvent 512 octets ; Host_Writes_32MiB par 32 Mio ; Host_Writes_GiB ou Lifetime_Writes_GiB par 1 Gio. La taille de secteur s'affiche avec smartctl -i.
Qu'est-ce que l'amplification d'écriture ?
Le rapport entre ce qui est réellement écrit sur la mémoire flash et ce que l'application a demandé d'écrire. Celle du contrôleur est déjà comprise dans le TBW. Celle de la pile logicielle ne l'est pas : ZFS écrit deux fois les petites écritures synchrones sans SLOG, Ceph réplique chaque écriture sur trois OSD par défaut, et une base de données écrit son journal en plus des pages de données.
Que se passe-t-il quand un SSD atteint son TBW ?
La garantie prend fin, même avant la date prévue. Le disque ne s'arrête pas pour autant : la norme JEDEC JESD218 impose qu'à ce volume il conserve encore ses données hors tension pendant une durée définie. Au-delà, surveillez les blocs de réserve et, en NVMe, l'indicateur « Percentage Used », qui peut dépasser 100 %.
Contact
Adresse
5 B RUE DES NOYERS, 95300 PONTOISE, FRANCE