Skip to content

check_smart does not support General Purpose Log #52

@hansmi

Description

@hansmi

One of my computers has an SSD (model ADATA SP600NS34) which doesn't report its used life as a SMART attribute. It does, however, report it in the "General Purpose Log".

$ smartctl -l ssd /dev/sda
…
Device Statistics (GP Log 0x04)
Page  Offset Size        Value Flags Description
0x07  =====  =               =  ===  == Solid State Device Statistics (rev 1) ==
0x07  0x008  1              56  N--  Percentage Used Endurance Indicator
                                |||_ C monitored condition met
                                ||__ D supports DSN
                                |___ N normalized value

Supported tables can be listed with smartctl -l devstat,0 and each supported table can be retrieved using smartctl -l devstat,<page>. -l ssd is equivalent to -l devstat,7. The SMART attributes for the aforementioned SSD:

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000a   100   100   000    Old_age   Always       -       0
  2 Throughput_Performance  0x0005   100   100   050    Pre-fail  Offline      -       0
  3 Spin_Up_Time            0x0007   100   100   050    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0013   100   100   050    Pre-fail  Always       -       0
  7 Unknown_SSD_Attribute   0x000b   100   100   050    Pre-fail  Always       -       0
  8 Unknown_SSD_Attribute   0x0005   100   100   050    Pre-fail  Offline      -       0
  9 Power_On_Hours          0x0012   100   100   000    Old_age   Always       -       18904
 10 Unknown_SSD_Attribute   0x0013   100   100   050    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0012   100   100   000    Old_age   Always       -       658
167 Unknown_Attribute       0x0022   100   100   000    Old_age   Always       -       0
168 Unknown_Attribute       0x0012   100   100   000    Old_age   Always       -       93
169 Unknown_Attribute       0x0013   100   100   010    Pre-fail  Always       -       4295950346
170 Unknown_Attribute       0x0013   100   100   010    Pre-fail  Always       -       0
173 Unknown_Attribute       0x0012   143   143   000    Old_age   Always       -       25862866203
175 Program_Fail_Count_Chip 0x0013   100   100   010    Pre-fail  Always       -       0
180 Unused_Rsvd_Blk_Cnt_Tot 0x0033   099   099   020    Pre-fail  Always       -       1089
192 Power-Off_Retract_Count 0x0012   100   100   000    Old_age   Always       -       93
194 Temperature_Celsius     0x0022   063   063   030    Old_age   Always       -       37 (Min/Max 28/38)
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
231 Temperature_Celsius     0x0033   100   100   005    Pre-fail  Always       -       0
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       -       691419471104
234 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       1075000130176
240 Unknown_SSD_Attribute   0x0013   100   100   050    Pre-fail  Always       -       0
241 Total_LBAs_Written      0x0032   100   100   000    Old_age   Always       -       32170085668
242 Total_LBAs_Read         0x0032   100   100   000    Old_age   Always       -       9610546032

check_smart could retrieve the general purpose log pages and treat them similar to the SMART attributes.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions