Predicting TEC with SMART Attributes

Before attempting to predict a particular device's TEC, please read the Specific Disclaimer on SMART Failure Predictions section of the EULA


The SMART component of SysInfo DLL records the SMART attributes of available SMART devices every time the following functions are called:

  1. SysInfoDll_Smart_Init() (on by default and can be turned off)
  2. SysInfoDll_Smart_RecordTECData()
  3. SysInfoDll_Smart_Refresh() (off by default and can be turned on)

Every time a set of values is recorded, it is appended to a binary file (<serial number>.bin). The following information is recorded:

  1. Time the recording was made
  2. Attribute ID
  3. Current attribute value
  4. Current attribute raw value
  5. Current attribute worst value

By recording a history of SMART values, SysInfo DLL can predict when the threshold SMART value will be exceeded (Threshold Exceed Condition) for a particular device.

Alternatively, you can export these values using the SysInfoDll_Smart_GetTECDataSetCount() and SysInfoDll_Smart_ExportTECData() function calls to, for example, an Excel Spreadsheet and derive your own graphs and charts that will enable you to see the pattern of the SMART attributes.

How does it predict?

In the graph below, there are 6 sets of collected data, sample 0 to sample 5, represented by the red line. The threshold value (which remains constant) is represented by the black line. The blue line represents the predicted threshold exceed condition date based on the 1st and last sample while the green line ( ) represents the predicted threshold exceed condition date based on the last 2 samples. Based on the data above, the earliest predicted failure date will occur at sample 8 and the latest predicted failure date will occur at sample 10.

tec_prediction.png

Graph illustrating TEC prediction

To successfully predict a TEC date and time for an attribute, all the following conditions need to be met:

  1. The threshold value of the attribute must not be zero;
  2. The must be a minimum of 3 sets of data;
  3. There must be a difference in the attribute value between the 1st and last set or between the last 2 sets;
  4. There must be a difference in the recording time between the 1st and last set or between the last 2 sets;

If any of the above condition is not met, a negative error code will be returned and the time value will be set as zero (0).

 All Data Structures Files Functions Variables Enumerations Enumerator Defines