Provided by: libnvme-dev_1.3-1~ubuntu22.04_amd64 bug

NAME

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

SYNOPSIS

       struct nvme_smart_log {
           __u8 critical_warning;
           __u8 temperature[2];
           __u8 avail_spare;
           __u8 spare_thresh;
           __u8 percent_used;
           __u8 endu_grp_crit_warn_sumry;
           __u8 rsvd7[25];
           __u8 data_units_read[16];
           __u8 data_units_written[16];
           __u8 host_reads[16];
           __u8 host_writes[16];
           __u8 ctrl_busy_time[16];
           __u8 power_cycles[16];
           __u8 power_on_hours[16];
           __u8 unsafe_shutdowns[16];
           __u8 media_errors[16];
           __u8 num_err_log_entries[16];
           __le32 warning_temp_time;
           __le32 critical_comp_time;
           __le16 temp_sensor[8];
           __le32 thm_temp1_trans_count;
           __le32 thm_temp2_trans_count;
           __le32 thm_temp1_total_time;
           __le32 thm_temp2_total_time;
           __u8 rsvd232[280];
        };

Members

       critical_warning
                   This  field  indicates  critical  warnings  for  the  state of the controller.
                   Critical warnings may result in an  asynchronous  event  notification  to  the
                   host.  Bits  in  this field represent the current associated state and are not
                   persistent (see enum nvme_smart_crit).

       temperature Composite Temperature: Contains a value  corresponding  to  a  temperature  in
                   Kelvins  that  represents  the current composite temperature of the controller
                   and namespace(s) associated with that controller. The  manner  in  which  this
                   value  is computed is implementation specific and may not represent the actual
                   temperature of any physical point in the NVM subsystem. Warning  and  critical
                   overheating  composite temperature threshold values are reported by the WCTEMP
                   and CCTEMP fields in the Identify Controller data structure.

       avail_spare Available Spare:  Contains  a  normalized  percentage  (0%  to  100%)  of  the
                   remaining spare capacity available.

       spare_thresh
                   Available  Spare Threshold: When the Available Spare falls below the threshold
                   indicated in this field, an asynchronous event completion may occur. The value
                   is  indicated  as a normalized percentage (0% to 100%).  The values 101 to 255
                   are reserved.

       percent_used
                   Percentage Used: Contains a vendor specific estimate of the percentage of  NVM
                   subsystem  life  used  based  on  the  actual  usage  and  the  manufacturer's
                   prediction of NVM life. A value of 100 indicates that the estimated  endurance
                   of the NVM in the NVM subsystem has been consumed, but may not indicate an NVM
                   subsystem failure.  The value is allowed to exceed  100.  Percentages  greater
                   than  254  shall  be  represented as 255. This value shall be updated once per
                   power-on hour (when the controller is not in a sleep state).

       endu_grp_crit_warn_sumry
                   Endurance Group  Critical  Warning  Summary:  This  field  indicates  critical
                   warnings  for  the state of Endurance Groups. Bits in this field represent the
                   current associated state and are not persistent (see enum nvme_smart_egcw).

       rsvd7       Reserved

       data_units_read
                   Data Units Read: Contains the number of 512 byte data units the host has  read
                   from  the  controller;  this  value  does  not include metadata. This value is
                   reported in thousands (i.e., a value of 1 corresponds to  1000  units  of  512
                   bytes read) and is rounded up (e.g., one indicates the that number of 512 byte
                   data units read is from 1 to 1000, three indicates that the number of 512 byte
                   data units read is from 2001 to 3000). When the LBA size is a value other than
                   512 bytes, the controller shall convert the amount of data read  to  512  byte
                   units.  For the NVM command set, logical blocks read as part of Compare, Read,
                   and Verify operations shall be included in this value. A value of 0h  in  this
                   field indicates that the number of Data Units Read is not reported.

       data_units_written
                   Data  Units  Written:  Contains the number of 512 byte data units the host has
                   written to the controller; this value does not include metadata. This value is
                   reported  in  thousands  (i.e.,  a value of 1 corresponds to 1000 units of 512
                   bytes written) and is rounded up (e.g., one indicates that the number  of  512
                   byte data units written is from 1 to 1,000, three indicates that the number of
                   512 byte data units written is from 2001 to 3000). When  the  LBA  size  is  a
                   value  other  than  512 bytes, the controller shall convert the amount of data
                   written to 512 byte units. For the NVM command set, logical blocks written  as
                   part  of Write operations shall be included in this value. Write Uncorrectable
                   commands and Write Zeroes commands shall not impact this value.  A value of 0h
                   in this field indicates that the number of Data Units Written is not reported.

       host_reads  Host  Read  Commands:  Contains  the  number of read commands completed by the
                   controller. For the NVM command set, this value is the sum of  the  number  of
                   Compare commands and the number of Read commands.

       host_writes Host  Write  Commands:  Contains the number of write commands completed by the
                   controller. For the NVM command set, this is the number of Write commands.

       ctrl_busy_time
                   Controller Busy Time: Contains the amount of time the controller is busy  with
                   I/O commands. The controller is busy when there is a command outstanding to an
                   I/O Queue (specifically, a command was issued via an I/O Submission Queue Tail
                   doorbell  write  and  the  corresponding  completion  queue entry has not been
                   posted yet to the associated I/O Completion Queue). This value is reported  in
                   minutes.

       power_cycles
                   Power Cycles: Contains the number of power cycles.

       power_on_hours
                   Power  On  Hours: Contains the number of power-on hours.  This may not include
                   time that the controller was powered and in a non-operational power state.

       unsafe_shutdowns
                   Unsafe Shutdowns: Contains the number  of  unsafe  shutdowns.  This  count  is
                   incremented  when  a  Shutdown  Notification (CC.SHN) is not received prior to
                   loss of power.

       media_errors
                   Media and Data Integrity Errors: Contains the number of occurrences where  the
                   controller  detected  an  unrecovered  data  integrity  error.  Errors such as
                   uncorrectable ECC, CRC checksum failure, or LBA tag mismatch are  included  in
                   this field. Errors introduced as a result of a Write Uncorrectable command may
                   or may not be included in this field.

       num_err_log_entries
                   Number of  Error  Information  Log  Entries:  Contains  the  number  of  Error
                   Information log entries over the life of the controller.

       warning_temp_time
                   Warning  Composite  Temperature  Time:  Contains the amount of time in minutes
                   that the controller is operational and the Composite  Temperature  is  greater
                   than  or  equal  to the Warning Composite Temperature Threshold (WCTEMP) field
                   and less than the Critical Composite Temperature Threshold (CCTEMP)  field  in
                   the  Identify  Controller data structure. If the value of the WCTEMP or CCTEMP
                   field is 0h, then this field  is  always  cleared  to  0h  regardless  of  the
                   Composite Temperature value.

       critical_comp_time
                   Critical  Composite  Temperature  Time: Contains the amount of time in minutes
                   that the controller is operational and the Composite  Temperature  is  greater
                   than  or  equal to the Critical Composite Temperature Threshold (CCTEMP) field
                   in the Identify Controller data structure. If the value of the CCTEMP field is
                   0h,  then  this  field  is  always  cleared  to 0h regardless of the Composite
                   Temperature value.

       temp_sensor Temperature Sensor 1-8: Contains the current  temperature  in  degrees  Kelvin
                   reported  by temperature sensors 1-8.  The physical point in the NVM subsystem
                   whose temperature is reported by the temperature sensor  and  the  temperature
                   accuracy is implementation specific. An implementation that does not implement
                   the temperature sensor reports a value of 0h.

       thm_temp1_trans_count
                   Thermal Management Temperature 1 Transition  Count:  Contains  the  number  of
                   times  the  controller  transitioned  to  lower  power  active power states or
                   performed vendor specific thermal  management  actions  while  minimizing  the
                   impact  on performance in order to attempt to reduce the Composite Temperature
                   because of the host controlled thermal management feature (i.e., the Composite
                   Temperature  rose  above  the  Thermal Management Temperature 1). This counter
                   shall not wrap once the value FFFFFFFFh is reached. A value of  0h,  indicates
                   that this transition has never occurred or this field is not implemented.

       thm_temp2_trans_count
                   Thermal Management Temperature 2 Transition Count

       thm_temp1_total_time
                   Total  Time  For  Thermal  Management  Temperature  1:  Contains the number of
                   seconds that the controller had  transitioned  to  lower  power  active  power
                   states   or   performed  vendor  specific  thermal  management  actions  while
                   minimizing the impact on  performance  in  order  to  attempt  to  reduce  the
                   Composite  Temperature  because  of  the  host  controlled  thermal management
                   feature. This counter shall not wrap once the value FFFFFFFFh  is  reached.  A
                   value  of  0h, indicates that this transition has never occurred or this field
                   is not implemented.

       thm_temp2_total_time
                   Total Time For Thermal Management Temperature 2

       rsvd232     Reserved