SMART

From Thomas-Krenn-Wiki
Jump to: navigation, search

S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology; written as SMART) SMART is a system for monitoring and early detection of errors of storage media such as hard disks or SSDs. All current hard drives and SSDs have SMART functionality. However, the data provided by SMART, (SMART attributes), are different from manufacturer to manufacturer. Only a few manufacturers document the importance of the individual SMART attributes in detail (eg. Intel, see SMART attributes of Intel SSDs). It is difficult for the user to interpret the SMART attributes without documentation.

Origination

SMART was originally developed in the mid 90s by the Small Form Factor (SFF) Committee, [1] in the meantime Technical Committee T13 are responsible for SMART. SMART has been standard since ATA-3 to ATA/ATAPI. However, it was removed shortly before the publication of the standard description of the SMART attributes. Therefore, the consequence is that a hard disk drive only provides a status of "OK" or "not OK" according to Standard. It does not specify how many or which sensors (attributes) a hard drive must have.

Over time, a relative standard equivalent has been formed to then remove it. However, the SMART attributes of hard drives can still be read and assigned, eg. with the help of tools smartctl. The exact meaning of a particular SMART attribute (eg. Raw Read Error Rate) is often specific according to the manufacturer. Since SSDs, many of the previous SMART attributes that were created no longer make sense and were given new meaning or removed entirely by the manufacturers.

Standardization

The standardization of SMART was first seen with ATA-3. The 7b revision of the ATA-3 draft[2] still contained descriptions of the SMART attributes, these were removed but before the adoption of standards. Since ATA-3 a standard chapter is found in (eg. Chapter 4.21 in ATA-8[3]) to SMART, which does not, however, refer to the attributes, but rather treated only as general SMART functions. There was a proposal for the description of SMART attributes for ATA-8[4] (was subsequently split into three proposals)[5][6][7] which were not included in the standard.

There was also a proposal on SMART self tests.[8] These were recorded as SPC-x[9] (SCSI Primary Commands).

The following table shows which SMART functions were standardized:

  • Have been standardized:[3][9]
    • SMART data format
    • SMART data collection
    • Response to exceeding of thresholds ("Dev OK"; "Dev fail")
    • SMART commands
    • SMART error logs
    • SMART tests
  • Not standardized, but handled (semi-standard based on the ATA-3 drafts[2]):
    • SMART attributes (it is not specified which attributes must be present and how these are to be stored)
    • Interpretation of the SMART attributes (it is not specified whether an attribute eg. is a bit pattern or a number)

SMART Attributes

Since the SMART attributes are not standardized, each manufacturer can choose which SMART attributes it defines for each hard disk or SSD model.

A SMART attribute contains:

  • Attribute name (e.g. Raw Read Error Rate)
  • raw value (RAW_VALUE in the smartctl output): is individually defined by the manufacturer. Without specific documentation of the importance of this value an interpretation is not reliable. Often raw values ​​are physical quantities (e.g. temperature, hours, ...).
  • normalized value (VALUE in the smartctl output): Value between 1 (worst condition) and 253 (best condition), most manufacturers use 100 or 200 as a best value.
  • of previously measured values the worst normalized values (WORST in the smartctl output)
  • Limit for the normalized value (THRESH in the output of smartctl): when it falls below the normalized value of this limit, it is set to "Dev fail" SMART status.

Various attributes are only updated when you restart or during a self-test, this can be seen in smartctl output in the column on the entry UPDATED "offline". Values​​ that are updated during operation are labeled "Always". There are also various types of attributes. Attributes of 'Pre-fail' may show an early failure of the disk in low values. Attributes of "Old-age" can be changed by the normal aging process of a hard disk.

Here is a sample smartctl tool output:

adminuser@ubuntu-12-04:~$ sudo smartctl -a /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-54-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital RE4
Device Model:     WDC WD1003FBYX-01Y7B0
[...]
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   174   171   021    Pre-fail  Always       -       4291
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       126
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   087   087   000    Old_age   Always       -       9532
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       123
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       68
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       57
194 Temperature_Celsius     0x0022   115   102   000    Old_age   Always       -       32
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0

In the english Wikipedia article on SMART, a list of known attributes SMART Attributen incl. a short description is given.

Reading the SMART Attributes

You can find instructions in our smartctl article for the readout of SMART attributes on Linux.
There are several (GUI) tools in Windows that read and display SMART values. For ​​an overview, see the following Wikipedia page: S.M.A.R.T.-Programme im Vergleich

SMART Tests

Some smart attributes are only updated at the start of a hard drive or by conducting a so-called SMART test. Additional information about SMART tests and how they are performed can be found here in our article SMART Tests with smartctl.

References

  1. Links: The original SMART specification (smartmontools Wiki)
  2. 2.0 2.1 Working Draft: Information Technology - AT Attachment-3 Interface (ATA-3) Revision 7b, 27.01.1997 (www.t13.org)
  3. 3.0 3.1 Working Draft: Information technology - AT Attachment 8 - ATA/ATAPI Command Set (ATA8-ACS) Revision 6a, 06.09.2008 (www.t13.org)
  4. Proposal: ATA/ATAPI-8 SMART Attribute Annex 30.09.2005 (www.t13.org)
  5. Proposal: ATA/ATAPI-8 SMART Attribute Overview 18.10.2005 (www.t13.org)
  6. Proposal: ATA/ATAPI-8 Assignment of SMART Attributes 18.10.2005 (www.t13.org)
  7. Proposal: ATA/ATAPI-8 List of Public SMART Attributes 18.10.2005 (www.t13.org)
  8. Proposal: Hard Drive Self-tests 26.04.1999 (www.t10.org)
  9. 9.0 9.1 SCSI Primary Commands - 4 (SPC-4) (www.t10.org)

Related articles

Analyzing a Faulty Hard Disk using Smartctl
SMART Attributes Monitoring Plugin
Smartctl