9

I use S.M.A.R.T. selftest to test all of my hard drives and SSDs. I run a short test daily and a long test monthly.

One of my SSD is showing odd behavior in that the lifetime hours seem to reset back to zero. Is this normal? Why would it do this? I have never seen this behavior before. Is it a cause for concern?

The command I use to initiate the tests (via a script launched by crontab) is:

smartctl --test=short $DISK

Here is a copy of the error log that shows the strange behavior:

   smart self-test log structure revision number 1
   num  test_description    status                  remaining  lifetime(hours)  lba_of_first_error
   # 1  short offline       completed without error       00%       110         -
   # 2  short offline       completed without error       00%        86         -
   # 3  short offline       completed without error       00%        62         -
   # 4  short offline       completed without error       00%        38         -
   # 5  short offline       completed without error       00%        14         -
   # 6  short offline       completed without error       00%      1166         -
   # 7  short offline       completed without error       00%      1142         -
   # 8  short offline       completed without error       00%      1117         -
   # 9  short offline       completed without error       00%      1093         -
   #10  short offline       completed without error       00%      1069         -
   #11  short offline       completed without error       00%      1045         -
   #12  short offline       completed without error       00%      1021         -
   #13  short offline       completed without error       00%       997         -
   #14  short offline       completed without error       00%       973         -
   #15  short offline       completed without error       00%       949         -
   #16  short offline       completed without error       00%       925         -
   #17  short offline       completed without error       00%       901         -
   #18  extended offline    completed without error       00%       897         -
   #19  short offline       completed without error       00%       877         -
   #20  short offline       completed without error       00%       853         -
   #21  short offline       completed without error       00%       829         -

The device is much older than 1166 hours.

Here is some specific info on the device:

smartctl -a $DISK

/dev/disk0
smartctl 7.1 2019-12-30 r5022 [Darwin 18.7.0 x86_64] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Apple SD/SM/TS...E/F/G SSDs
Device Model:     APPLE SSD SM1024F
Firmware Version: UXM8JA1Q
User Capacity:    1,000,555,581,440 bytes [1.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    Solid State Device
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4c
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Sat Nov  7 15:18:13 2020 EST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                    without error or no self-test has ever
                    been run.
Total time to complete Offline
data collection:        (    0) seconds.
Offline data collection
capabilities:            (0x5f) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Abort Offline collection upon new
                    command.
                    Offline surface scan supported.
                    Self-test supported.
                    No Conveyance Self-test supported.
                    Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                    power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                    General Purpose Logging supported.
Short self-test routine
recommended polling time:    (   2) minutes.
Extended self-test routine
recommended polling time:    (  10) minutes.

SMART Attributes Data Structure revision number: 40
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x001a   200   200   000    Old_age   Always       -       0
  5 Reallocated_Sector_Ct   0x0033   100   100   000    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   093   093   000    Old_age   Always       -       33168
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       876
169 Unknown_Apple_Attrib    0x0013   253   253   010    Pre-fail  Always       -       7105251654656
173 Wear_Leveling_Count     0x0032   190   190   100    Old_age   Always       -       30084956220
174 Host_Reads_MiB          0x0022   099   099   000    Old_age   Always       -       77353745
175 Host_Writes_MiB         0x0022   099   099   000    Old_age   Always       -       58090980
192 Power-Off_Retract_Count 0x0012   099   099   000    Old_age   Always       -       202
194 Temperature_Celsius     0x0022   053   053   000    Old_age   Always       -       47 (Min/Max 23/72)
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       0
199 UDMA_CRC_Error_Count    0x001a   200   200   000    Old_age   Always       -       0
240 Unknown_SSD_Attribute   0x0022   100   100   000    Old_age   Always       -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%       110         -
# 2  Short offline       Completed without error       00%        86         -
# 3  Short offline       Completed without error       00%        62         -
# 4  Short offline       Completed without error       00%        38         -
# 5  Short offline       Completed without error       00%        14         -
# 6  Short offline       Completed without error       00%      1166         -
# 7  Short offline       Completed without error       00%      1142         -
# 8  Short offline       Completed without error       00%      1117         -
# 9  Short offline       Completed without error       00%      1093         -
#10  Short offline       Completed without error       00%      1069         -
#11  Short offline       Completed without error       00%      1045         -
#12  Short offline       Completed without error       00%      1021         -
#13  Short offline       Completed without error       00%       997         -
#14  Short offline       Completed without error       00%       973         -
#15  Short offline       Completed without error       00%       949         -
#16  Short offline       Completed without error       00%       925         -
#17  Short offline       Completed without error       00%       901         -
#18  Extended offline    Completed without error       00%       897         -
#19  Short offline       Completed without error       00%       877         -
#20  Short offline       Completed without error       00%       853         -
#21  Short offline       Completed without error       00%       829         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
MERM
  • 240
  • 2
  • 7

2 Answers2

8

How you can see from SMART attribute 9, your SSD lifetime is correcly reported in the full report:

  9 Power_On_Hours      0x0032   093   093   000    Old_age   Always       -       33168

On the other hand, the LifeTime(hours) value reported for self/short/long tests seems to wrap at ~49 days, similar to how SMART error reporting works. From smartctl man page:

This is displayed in the form Dd+HH:MM:SS.msec where D is the number of days, HH is hours, MM is minutes, SS is seconds and msec is milliseconds. [Note: this time stamp wraps after 2^32 milliseconds, or 49 days 17 hours 2 minutes and 47.296 seconds.]

This is one of the field where the once consumer related SMART heritage shows, as it is (was?) uncommon for a desktop to have >49 days uptime.

shodanshok
  • 47,711
  • 7
  • 111
  • 180
  • 1
    Then why doesn't this happen with any other device. I have many drives and SSDs that accurately show the lifetime in hours when a test is run. for example: # 1 Short offline Completed without error 00% 48288 - – MERM Nov 08 '20 at 01:24
  • The data above shows that this SSD controller uses the same time range for both SMART log error reporting and SMART test routines. To know *why* it does that, you need to ask the SSD vendor. – shodanshok Nov 08 '20 at 08:12
1

Most disks with SMART would use 16 bits to store this value, giving 65,535 hours before reset.

Yours appears to wrap after 1152 hours which is not a convenient power of 2 and is quite odd.

Here's a disk that has just completed its second time around that clock, with 139,895 hours of power-on time, but the SMART self tests wrap at 65,535 hours.

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of
# 1  Short offline       Completed without error       00%      8823         -
# 2  Short offline       Completed without error       00%     65041         -
# 3  Short offline       Completed without error       00%     63134         -
# 4  Short offline       Completed without error       00%     43108         -
# 5  Short offline       Completed without error       00%     42235         -
# 6  Short offline       Completed without error       00%     30613         -
# 7  Short offline       Completed without error       00%     11535         -
# 8  Short offline       Completed without error       00%      5934         -
# 9  Short offline       Completed without error       00%      2667         -
#10  Short offline       Completed without error       00%      2666         -
#11  Short offline       Completed without error       00%     54241         -
#12  Short offline       Completed without error       00%     47079         -
#13  Short offline       Completed without error       00%     43109         -
#14  Short offline       Completed without error       00%     43071 ... etc

Yes this disk has about 16 years of active power-on time.

9 Power_On_Hours          0x0032   001   001   000    Old_age   Always 139895

I'd suspect your Apple SSD has some extra firmware fudges going on allowing it to report odd times. It would be interesting to check the SMART values on a non-apple disk, attached by USB perhaps? Or to check an apple firmware disk in a non-apple system.

Criggie
  • 2,379
  • 14
  • 25
  • 1
    *Yours appears to wrap after 1152 hours which is not a convenient power of 2 and is quite odd* - It seems odd because its SMART test value is not tracking a 16 bit value, rather a 32 bit one with millisecond accuracy. In other words, it is sharing the SMART error log timestamp, which wraps at 49 days (with 1166 hours being 48.5 days, so very near to the max value before wrapping). – shodanshok Nov 08 '20 at 11:56