1libnvme(9) API Manual libnvme(9)
2
3
4
6 struct nvme_error_log_page - Error Information Log Entry (Log Identi‐
7 fier 01h)
8
10 struct nvme_error_log_page {
11 __le64 error_count;
12 __le16 sqid;
13 __le16 cmdid;
14 __le16 status_field;
15 __le16 parm_error_location;
16 __le64 lba;
17 __le32 nsid;
18 __u8 vs;
19 __u8 trtype;
20 __u8 rsvd[2];
21 __le64 cs;
22 __le16 trtype_spec_info;
23 __u8 rsvd2[22];
24 };
25
26
28 error_count Error Count: a 64-bit incrementing error count, indicating
29 a unique identifier for this error. The error count starts
30 at 1h, is incremented for each unique error log entry, and
31 is retained across power off conditions. A value of 0h in‐
32 dicates an invalid entry; this value is used when there are
33 lost entries or when there are fewer errors than the maxi‐
34 mum number of entries the controller supports. If the value
35 of this field is FFFFFFFFh, then the field shall be set to
36 1h when incremented (i.e., rolls over to 1h). Prior to NVMe
37 1.4, processing of incrementing beyond FFFFFFFFh is unspec‐
38 ified.
39
40 sqid Submission Queue ID: indicates the Submission Queue Identi‐
41 fier of the command that the error information is associ‐
42 ated with. If the error is not specific to a particular
43 command, then this field shall be set to FFFFh.
44
45 cmdid Command ID: indicates the Command Identifier of the command
46 that the error is associated with. If the error is not spe‐
47 cific to a particular command, then this field shall be set
48 to FFFFh.
49
50 status_field
51 Bits 15-1: Status Field: indicates the Status Field for the
52 command that completed. If the error is not specific to a
53 particular command, then this field reports the most appli‐
54 cable status value. Bit 0: Phase Tag: may indicate the
55 Phase Tag posted for the command.
56
57 parm_error_location
58 Parameter Error Location: indicates the byte and bit of the
59 command parameter that the error is associated with, if ap‐
60 plicable. If the parameter spans multiple bytes or bits,
61 then the location indicates the first byte and bit of the
62 parameter. Bits 10-8: Bit in command that contained the
63 error. Valid values are 0 to 7. Bits 7-0: Byte in command
64 that contained the error. Valid values are 0 to 63.
65
66 lba LBA: This field indicates the first LBA that experienced
67 the error condition, if applicable.
68
69 nsid Namespace: This field indicates the NSID of the namespace
70 that the error is associated with, if applicable.
71
72 vs Vendor Specific Information Available: If there is addi‐
73 tional vendor specific error information available, this
74 field provides the log page identifier associated with that
75 page. A value of 0h indicates that no additional informa‐
76 tion is available. Valid values are in the range of 80h to
77 FFh.
78
79 trtype Transport Type (TRTYPE): indicates the Transport Type of
80 the transport associated with the error. The values in this
81 field are the same as the TRTYPE values in the Discovery
82 Log Page Entry. If the error is not transport related, this
83 field shall be cleared to 0h. If the error is transport re‐
84 lated, this field shall be set to the type of the transport
85 - see enum nvme_trtype.
86
87 rsvd Reserved
88
89 cs Command Specific Information: This field contains command
90 specific information. If used, the command definition spec‐
91 ifies the information returned.
92
93 trtype_spec_info
94 Transport Type Specific Information
95
96 rsvd2 Reserved
97
98
99
100April 2022 struct nvme_error_log_page libnvme(9)