[smartmontools-support] Write amplification using NVMe Endurance Group Log (Log Identifier 09h)

Christian Franke Christian.Franke at t-online.de
Mon Feb 6 12:50:52 CET 2023


Franc Zabkar wrote:
> 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.

No, smartctl does not support Log 0x09. Unfortunately it could not be 
printed as hex with '-l nvmelog,...' option because this log requires 
the Endurance Group Id in command data word 11.

I expect that this feature is only supported by NVMe >= 1.4 enterprise 
grade drives.

You could check whether this is supported by investigating the result of 
the "Identify controller" command (opcode=6, cdw10=1). The 16-bit value 
"Endurance Group Identifier Maximum (ENDGIDMAX)" at offset 340 (0x154) 
must be nonzero:

# smartctl -r ioctl,2 -i ...
...
  [NVMe call: opcode=0x06, size=0x1000, nsid=0x00000000, cdw10=0x00000001]
...
  [NVMe call succeeded: result=0x00000000
...
  150    00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
                     ^^-^^-------- ENDGIDMAX

This value was declared "Reserved" in NVMe <= 1.3.

-- 
Regards,
Christian



More information about the Smartmontools-support mailing list