SMART attributes can monitor the health of a storage device.
What are SMART attributes and how can they be useful?
Self-Monitoring, Analysis and Reporting Technology (SMART) is an open standard used by drives and hosts to monitor drive health and to report potential problems.
Each drive operates under a predefined set of SMART attributes and corresponding threshold values, of which the drive should not pass during normal operation.
Descriptions of some SMART Health Info attributes are shown in the following table.
Note |
The SMART attributes vary depending on the drive selected. Your SSD or drive may not support some of these attributes. |
SMART Attributes for NVMe*
ID |
Attribute and Description (NVMe) |
0 |
Critical Warning These bits if set, flag various warning sources.
Any of the critical warnings can be tied to asynchronous event notification. |
1 |
Temperature Reports overall Device current temperature in Kelvin. |
3 |
Available Spare Contains a normalized percentage (0 to 100%) of the remaining spare capacity available. Starts from 100 and decrements. |
4 |
Available Spare Threshold Threshold is set to 10%. |
5 |
Percentage Used Estimate (Value allowed to exceed 100%). A value of 100 indicates that the estimated endurance of the device has been consumed, but may not indicate a device 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). |
32 |
Data Units Read (in LBAs) 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. When the LBA size is a value other than 512 bytes, the controller shall convert the amount of data read to 512 byte units. |
48 |
Data Units Write (in LBAs) 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. 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 shall not impact this value. |
64 |
Host Read Commands Contains the number of read commands issued to the controller. |
80 |
Host Write Commands Contains the number of write commands issued to the controller. |
96 |
Controller Busy Time (in minutes) 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 by way of 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. |
112 |
Power Cycles Contains the number of power cycles |
128 |
Power-On Hours Contains the number of power-on hours. This does not include time that the controller was powered and in a low-power state condition. |
144 |
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. |
160 |
Media 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. |
176 |
Number of Error Information Log Entries Contains the number of Error Information log entries over the life of the controller. |
192 |
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. |
196 |
Critical Composite Temperature Time Contains the amount of time in minutes that the controller is operational and the Composite Temperature is greater the Critical Composite Temperature Threshold (CCTEMP) field in the Identify Controller data structure. |