[smartmontools-support] NVMe Critical Warning: What if multiple bits are set?

Claudio Kuenzler napsty at gmail.com
Fri Jun 7 10:05:05 CEST 2019


Hello all,

Thanks a lot for constantly working and improving smartmontools, really
appreciate that!

I'm trying to figure out the value of the "Critical Warning" attribute in
NVMe devices.
In the source code (
https://github.com/smartmontools/smartmontools/blob/e3fdde7aff4cd069e629ee987bf33ac8ccd621ad/smartmontools/nvmeprint.cpp#L300)
I can find the following relevant information:


   - 0x01 = available spare has fallen below threshold
   - 0x02 = temperature is above or below threshold
   - 0x04 = NVM subsystem reliability has been degraded
   - 0x08 = media has been placed in read only mode
   - 0x10 = volatile memory backup device has failed
   - 0x1f = unknown critical warning(s)


So far so good, that's understandable and is translated by smartctl itself
into the self-assessment health.

But according to the NVMe specification, it is possible that multiple
alerts are set at the same time:

> This field indicates critical warnings for the state of the
controller.Each bit corresponds to a critical warning type; multiple bits
may be set

Did anyone ever see such a case where two thresholds were reached? For
example it is possible that 0x01 and 0x02 can happen at the same time. How
will this affect the value and how will smartctl cope with it? Will it just
appear as "unknown critical warning(s)"?

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://listi.jpberlin.de/pipermail/smartmontools-support/attachments/20190607/4b938220/attachment.html>


More information about the Smartmontools-support mailing list