[smartmontools-support] Write amplification using NVMe Endurance Group Log (Log Identifier 09h)
Franc Zabkar
fzabkar at internode.on.net
Sat Feb 4 18:40:09 CET 2023
Could someone tell me whether GSmartControl (Windows) or smartctl
(Linux) or any other SMART tool reports the Endurance Group Log (Log
Identifier 09h) for NVMe SSDs? I don't have an NVMe SSD to enable me to
perform this check.
According to the NVMe standard ...
Bytes 79 - 64:
Data Units Written:
Contains the total number of data bytes that have been written to the
Endurance Group. This value does not include controller writes due to
internal operations such as garbage collection. This value is reported
in billions (i.e., a value of 1 corresponds to 1,000,000,000 bytes
written) and is rounded up (e.g., one indicates the number of bytes
written is from 1 to 1,000,000,000, three indicates the number of bytes
written is from 2,000,000,001 to 3,000,000,000).
A value of 0h indicates that the controller does not report the number
of Data Units Written.
Bytes 95 - 80:
Media Units Written:
Contains the total number of data bytes that have been written to the
Endurance Group including both host and controller writes (e.g., garbage
collection). This value is reported in billions (i.e., a value of 1
corresponds to 1,000,000,000 bytes written) and is rounded up (e.g., one
indicates the number of bytes written is from 1 to 1,000,000,000, three
indicates the number of bytes written is from 2,000,000,001 to
3,000,000,000).
A value of 0h indicates that controller does not report the number of
Media Units Written.
ISTM that these two parameters would allow us to calculate the write
amplification.
WA = (Media Units Written) / (Data Units Written)
More information about the Smartmontools-support
mailing list