Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1041745: smartd[…]: Device: /dev/nvme0, number of Error Log entries increased from … to …

151 views
Skip to first unread message

Daniel Swarbrick

unread,
Aug 2, 2023, 3:20:06 PM8/2/23
to
This sounds quite similar to this:
https://github.com/linux-nvme/libnvme/issues/550

Even prior to that bug, I noticed that the smart error log counter would
increment by one with every reboot. This was not too concerning, but
when nvme-cli 2.x started to result in (albeit innocent) errors being
logged each time a "nvme list" command was executed, it became an
annoyance. As I understand it, it was due to the SSD being fairly old,
and the firmware only supporting a fairly outdated version of the NVMe
spec (< 1.2)

At least the _kernel_ should have fixed this, with commit
https://github.com/torvalds/linux/commit/d7ac8dca938cd60cf7bd9a89a229a173c6bcba87

A fix for nvme-cli (via libnvme) is still being worked on, AFAIK.

OpenPGP_signature

Al Ma

unread,
Aug 3, 2023, 8:20:05 PM8/3/23
to
Thanks for looking into this. The solid-state–memory device in question is Samsung SSD 970 EVO 1TB, S/N:…, FW:2B2QEXE7, 1.00 TB. It's no longer sold on samsung.com but still sold as new on amazon (ASIN B07CGJNLBB; the Web site says it has been sold there since April 24, 2018). So yes, given the dates in https://en.wikipedia.org/wiki/NVM_Express#Specifications , the drive might be aware of the NVMe 1.2 or 1.3 specification but, again hypothetically, not 1.4 or even 2.0. I wouldn't know how to check this, and firmware upgrades seem unavailable (http://semiconductor.samsung.com/consumer-storage/support/tools/ mentions the same version 2B2QEXE7). Just in case this helps, the motherboard is Asus WS C422 PRO/SE.

Here is some debugging data:



$ sudo nvme error-log -e 2 /dev/nvme0

Error Log Entries for device:nvme0 entries:2

.................

 Entry[ 0]   

.................

error_count     : 1885

sqid            : 0

cmdid           : 0x14

status_field    : 0x2002(Invalid Field in Command: A reserved coded value or an unsupported value in a defined field)

phase_tag       : 0

parm_err_loc    : 0xffff

lba             : 0

nsid            : 0

vs              : 0

trtype          : The transport type is not indicated or the error is not transport related.

cs              : 0

trtype_spec_info: 0

.................

 Entry[ 1]   

.................

error_count     : 0

sqid            : 0

cmdid           : 0

status_field    : 0(Successful Completion: The command completed without error)

phase_tag       : 0

parm_err_loc    : 0

lba             : 0

nsid            : 0

vs              : 0

trtype          : The transport type is not indicated or the error is not transport related.

cs              : 0

trtype_spec_info: 0

.................

$ sudo nvme list

Node                  Generic               SN                   Model                                    Namespace Usage                      Format           FW Rev  

--------------------- --------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------

/dev/nvme0n1          /dev/ng0n1            Anonymized S.N.      Samsung SSD 970 EVO 1TB                  1         135,04  GB /   1,00  TB    512   B +  0 B   2B2QEXE7

$ sudo nvme error-log -e 2 /dev/nvme0

Error Log Entries for device:nvme0 entries:2

.................

 Entry[ 0]   

.................

error_count     : 1885

sqid            : 0

cmdid           : 0x14

status_field    : 0x2002(Invalid Field in Command: A reserved coded value or an unsupported value in a defined field)

phase_tag       : 0

parm_err_loc    : 0xffff

lba             : 0

nsid            : 0

vs              : 0

trtype          : The transport type is not indicated or the error is not transport related.

cs              : 0

trtype_spec_info: 0

.................

 Entry[ 1]   

.................

error_count     : 0

sqid            : 0

cmdid           : 0

status_field    : 0(Successful Completion: The command completed without error)

phase_tag       : 0

parm_err_loc    : 0

lba             : 0

nsid            : 0

vs              : 0

trtype          : The transport type is not indicated or the error is not transport related.

cs              : 0

trtype_spec_info: 0

.................



As you see, the output is slightly different from that in https://github.com/linux-nvme/libnvme/issues/550 , and `nvme list` does not increase error_count (or at least not directly). If there's anything else I can help with, please let me know.

Gratefully,
AlMa
0 new messages