1libnvme(9)                        API Manual                        libnvme(9)
2
3
4

NAME

6       struct  nvme_smart_log - SMART / Health Information Log (Log Identifier
7       02h)
8

SYNOPSIS

10       struct nvme_smart_log {
11           __u8 critical_warning;
12           __u8 temperature[2];
13           __u8 avail_spare;
14           __u8 spare_thresh;
15           __u8 percent_used;
16           __u8 endu_grp_crit_warn_sumry;
17           __u8 rsvd7[25];
18           __u8 data_units_read[16];
19           __u8 data_units_written[16];
20           __u8 host_reads[16];
21           __u8 host_writes[16];
22           __u8 ctrl_busy_time[16];
23           __u8 power_cycles[16];
24           __u8 power_on_hours[16];
25           __u8 unsafe_shutdowns[16];
26           __u8 media_errors[16];
27           __u8 num_err_log_entries[16];
28           __le32 warning_temp_time;
29           __le32 critical_comp_time;
30           __le16 temp_sensor[8];
31           __le32 thm_temp1_trans_count;
32           __le32 thm_temp2_trans_count;
33           __le32 thm_temp1_total_time;
34           __le32 thm_temp2_total_time;
35           __u8 rsvd232[280];
36        };
37
38

Members

40       critical_warning
41                   This field indicates critical warnings for the state of the
42                   controller. Critical warnings may result in an asynchronous
43                   event notification to the host. Bits in this  field  repre‐
44                   sent  the  current  associated state and are not persistent
45                   (see enum nvme_smart_crit).
46
47       temperature Composite Temperature: Contains a value corresponding to  a
48                   temperature  in Kelvins that represents the current compos‐
49                   ite temperature of the controller and namespace(s)  associ‐
50                   ated  with  that controller. The manner in which this value
51                   is computed is implementation specific and may  not  repre‐
52                   sent  the  actual  temperature of any physical point in the
53                   NVM subsystem. Warning and critical  overheating  composite
54                   temperature threshold values are reported by the WCTEMP and
55                   CCTEMP fields in the Identify Controller data structure.
56
57       avail_spare Available Spare: Contains a normalized  percentage  (0%  to
58                   100%) of the remaining spare capacity available.
59
60       spare_thresh
61                   Available  Spare  Threshold: When the Available Spare falls
62                   below the threshold indicated in this field,  an  asynchro‐
63                   nous  event completion may occur. The value is indicated as
64                   a normalized percentage (0% to 100%).  The  values  101  to
65                   255 are reserved.
66
67       percent_used
68                   Percentage Used: Contains a vendor specific estimate of the
69                   percentage of NVM subsystem life used based on  the  actual
70                   usage  and  the  manufacturer's  prediction  of NVM life. A
71                   value of 100 indicates that the estimated endurance of  the
72                   NVM in the NVM subsystem has been consumed, but may not in‐
73                   dicate an NVM subsystem failure.  The value is  allowed  to
74                   exceed  100.  Percentages  greater than 254 shall be repre‐
75                   sented as 255. This value shall be updated once per  power-
76                   on hour (when the controller is not in a sleep state).
77
78       endu_grp_crit_warn_sumry
79                   Endurance  Group Critical Warning Summary: This field indi‐
80                   cates critical warnings for the state of Endurance  Groups.
81                   Bits  in  this field represent the current associated state
82                   and are not persistent (see enum nvme_smart_egcw).
83
84       rsvd7       Reserved
85
86       data_units_read
87                   Data Units Read: Contains the number of 512 byte data units
88                   the  host has read from the controller; this value does not
89                   include metadata.  This  value  is  reported  in  thousands
90                   (i.e.,  a value of 1 corresponds to 1000 units of 512 bytes
91                   read) and is rounded up (e.g., one indicates the that  num‐
92                   ber  of  512  byte data units read is from 1 to 1000, three
93                   indicates that the number of 512 byte data  units  read  is
94                   from 2001 to 3000). When the LBA size is a value other than
95                   512 bytes, the controller shall convert the amount of  data
96                   read  to  512  byte units. For the NVM command set, logical
97                   blocks read as part of Compare, Read, and Verify operations
98                   shall  be  included  in  this  value. A value of 0h in this
99                   field indicates that the number of Data Units Read  is  not
100                   reported.
101
102       data_units_written
103                   Data  Units  Written:  Contains the number of 512 byte data
104                   units the host has written to the  controller;  this  value
105                   does  not include metadata. This value is reported in thou‐
106                   sands (i.e., a value of 1 corresponds to 1000 units of  512
107                   bytes  written) and is rounded up (e.g., one indicates that
108                   the number of 512 byte data units  written  is  from  1  to
109                   1,000,  three  indicates  that  the number of 512 byte data
110                   units written is from 2001 to 3000). When the LBA size is a
111                   value  other  than  512 bytes, the controller shall convert
112                   the amount of data written to 512 byte units. For  the  NVM
113                   command set, logical blocks written as part of Write opera‐
114                   tions shall be included in this value. Write  Uncorrectable
115                   commands  and  Write  Zeroes commands shall not impact this
116                   value.  A value of 0h in this field indicates that the num‐
117                   ber of Data Units Written is not reported.
118
119       host_reads  Host  Read  Commands:  Contains the number of read commands
120                   completed by the controller. For the NVM command set,  this
121                   value  is the sum of the number of Compare commands and the
122                   number of Read commands.
123
124       host_writes Host Write Commands: Contains the number of write  commands
125                   completed  by the controller. For the NVM command set, this
126                   is the number of Write commands.
127
128       ctrl_busy_time
129                   Controller Busy Time: Contains the amount of time the  con‐
130                   troller  is  busy with I/O commands. The controller is busy
131                   when there  is  a  command  outstanding  to  an  I/O  Queue
132                   (specifically,  a  command was issued via an I/O Submission
133                   Queue Tail doorbell write and the corresponding  completion
134                   queue  entry  has not been posted yet to the associated I/O
135                   Completion Queue). This value is reported in minutes.
136
137       power_cycles
138                   Power Cycles: Contains the number of power cycles.
139
140       power_on_hours
141                   Power On Hours: Contains  the  number  of  power-on  hours.
142                   This  may  not include time that the controller was powered
143                   and in a non-operational power state.
144
145       unsafe_shutdowns
146                   Unsafe Shutdowns: Contains the number of unsafe  shutdowns.
147                   This  count  is  incremented  when  a Shutdown Notification
148                   (CC.SHN) is not received prior to loss of power.
149
150       media_errors
151                   Media and Data Integrity Errors: Contains the number of oc‐
152                   currences where the controller detected an unrecovered data
153                   integrity error. Errors  such  as  uncorrectable  ECC,  CRC
154                   checksum  failure, or LBA tag mismatch are included in this
155                   field. Errors introduced as a  result  of  a  Write  Uncor‐
156                   rectable command may or may not be included in this field.
157
158       num_err_log_entries
159                   Number  of Error Information Log Entries: Contains the num‐
160                   ber of Error Information log entries over the life  of  the
161                   controller.
162
163       warning_temp_time
164                   Warning  Composite Temperature Time: Contains the amount of
165                   time in minutes that the controller is operational and  the
166                   Composite Temperature is greater than or equal to the Warn‐
167                   ing Composite Temperature Threshold (WCTEMP) field and less
168                   than  the Critical Composite Temperature Threshold (CCTEMP)
169                   field in the Identify Controller  data  structure.  If  the
170                   value  of the WCTEMP or CCTEMP field is 0h, then this field
171                   is always cleared to 0h regardless of the Composite Temper‐
172                   ature value.
173
174       critical_comp_time
175                   Critical Composite Temperature Time: Contains the amount of
176                   time in minutes that the controller is operational and  the
177                   Composite Temperature is greater than or equal to the Crit‐
178                   ical Composite Temperature Threshold (CCTEMP) field in  the
179                   Identify  Controller  data  structure.  If the value of the
180                   CCTEMP field is 0h, then this field is always cleared to 0h
181                   regardless of the Composite Temperature value.
182
183       temp_sensor Temperature Sensor 1-8: Contains the current temperature in
184                   degrees Kelvin reported by temperature  sensors  1-8.   The
185                   physical  point  in  the NVM subsystem whose temperature is
186                   reported by the temperature sensor and the temperature  ac‐
187                   curacy  is  implementation specific. An implementation that
188                   does not implement the temperature sensor reports  a  value
189                   of 0h.
190
191       thm_temp1_trans_count
192                   Thermal Management Temperature 1 Transition Count: Contains
193                   the number of times the controller  transitioned  to  lower
194                   power  active  power  states  or  performed vendor specific
195                   thermal management actions while minimizing the  impact  on
196                   performance  in  order  to  attempt to reduce the Composite
197                   Temperature because of the host controlled thermal  manage‐
198                   ment  feature  (i.e.,  the Composite Temperature rose above
199                   the Thermal Management Temperature 1). This  counter  shall
200                   not  wrap  once  the value FFFFFFFFh is reached. A value of
201                   0h, indicates that this transition has  never  occurred  or
202                   this field is not implemented.
203
204       thm_temp2_trans_count
205                   Thermal Management Temperature 2 Transition Count
206
207       thm_temp1_total_time
208                   Total  Time  For Thermal Management Temperature 1: Contains
209                   the number of seconds that the controller had  transitioned
210                   to lower power active power states or performed vendor spe‐
211                   cific thermal management actions while minimizing  the  im‐
212                   pact  on performance in order to attempt to reduce the Com‐
213                   posite Temperature because of the host  controlled  thermal
214                   management  feature.  This  counter shall not wrap once the
215                   value FFFFFFFFh is reached. A value of 0h,  indicates  that
216                   this transition has never occurred or this field is not im‐
217                   plemented.
218
219       thm_temp2_total_time
220                   Total Time For Thermal Management Temperature 2
221
222       rsvd232     Reserved
223
224
225
226April 2022                   struct nvme_smart_log                  libnvme(9)
Impressum