萎草の茂るブログ

暇人も多忙の方も。

S.M.A.R.T. 情報の Power_On_Hours のオーバーフロー

ハードディスクドライブ (HDD) やソリッドステートドライブ (SSD) には S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) と呼ばれる機能が備わっています。
これは、ドライブの使用時間/電源投入回数/総読み書き量/不良セクタ数等の情報を取得し、ドライブの健康状態の自己診断を行う機能です。
Windows なら CrystalDiskInfo、Linux なら smartctl コマンド等を用いて利用することができます。

今回は、この S.M.A.R.T. で取得できる情報のうち、使用時間 (Power_On_Hours) のお話。


2013年5月から使っている HDD の S.M.A.R.T. 情報を見てみたところ、下の画像のようになっていました。

Linux のターミナル画面のスクリーンショット。書かれている内容は以下の通り。
$ sudo smartctl -d sat -A /dev/sdf
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.8.0-78-generic] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   115   093   006    Pre-fail  Always       -       96412064
  3 Spin_Up_Time            0x0003   094   094   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   075   075   020    Old_age   Always       -       26012
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       160
  7 Seek_Error_Rate         0x000f   076   060   030    Pre-fail  Always       -       47785209
  9 Power_On_Hours          0x0032   100   011   000    Old_age   Always       -       371
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       101
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       0 0 0
189 High_Fly_Writes         0x003a   088   088   000    Old_age   Always       -       12
190 Airflow_Temperature_Cel 0x0022   052   047   045    Old_age   Always       -       48 (Min/Max 26/52)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       31
193 Load_Cycle_Count        0x0032   084   084   000    Old_age   Always       -       32163
194 Temperature_Celsius     0x0022   048   053   000    Old_age   Always       -       48 (0 11 0 0 0)
197 Current_Pending_Sector  0x0012   095   095   000    Old_age   Always       -       848
198 Offline_Uncorrectable   0x0010   095   095   000    Old_age   Offline      -       848
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       54049h+23m+34.143s
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       11415419802
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       9371275095795

$ 
$

2013年5月から使っている HDD の S.M.A.R.T. 情報

使用時間 (Power_On_Hours) の値を見ると、371時間(= 15日と11時間)となっています。
明らかに「そんな訣無いだろ」と言いたくなる値ですね。
どうやら値が大きくなりすぎてオーバーフローしてしまっているようです。

因みに正常な場合は下の画像のようになります。(2020年10月から使っている HDD)
5年近くに亘ってほぼ常時稼働させていて42849時間ですので、妥当ですね。

Linux のターミナル画面のスクリーンショット。書かれている内容は以下の通り。
$ sudo smartctl -d sat -A /dev/sdc
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.8.0-78-generic] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   083   064   006    Pre-fail  Always       -       218698914
  3 Spin_Up_Time            0x0003   098   098   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   098   098   020    Old_age   Always       -       2318
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   088   060   045    Pre-fail  Always       -       586157260
  9 Power_On_Hours          0x0032   052   052   000    Old_age   Always       -       42849h+32m+43.998s
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       108
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       0 0 0
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   059   048   040    Old_age   Always       -       41 (Min/Max 33/45)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       1619
193 Load_Cycle_Count        0x0032   098   098   000    Old_age   Always       -       4172
194 Temperature_Celsius     0x0022   041   052   000    Old_age   Always       -       41 (0 21 0 0 0)
195 Hardware_ECC_Recovered  0x001a   083   064   000    Old_age   Always       -       218698914
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       39224h+50m+51.249s
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       22423946111
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       447255332374

$

2020年10月から使っている HDD の S.M.A.R.T. 情報


では、この「371時間」と表示されている HDD の本当の使用時間は何時間なのでしょうか?


過去の作業ログを漁ってみたところ、幸運なことにこれら2台の HDD の S.M.A.R.T 情報を2021年1月にも取得していました。(下表)

取得日時 古い方の HDD 新しい方の HDD
2021-01-10T00:16+09:00 39310時間 2285時間
2025-09-01T20:26+09:00 371時間(?) 42849時間

今日の時点で使用時間が「42849時間」である HDD は、2021年1月時点では「2285時間」でした。
つまり、この4年8ヶ月で40564時間使用したということになります。

この4年8ヶ月の間、2台の HDD は同時に使用していましたので、現時点の使用時間が「371時間」と表示されている HDD の本当の使用時間は79874時間であると考えられます。

取得日時 古い方の HDD 新しい方の HDD
2021-01-10T00:16+09:00 39310時間 2285時間
2025-09-01T20:26+09:00 371時間
79874時間
42849時間

そうだとすると、この HDD (Seagate Barracuda ST2000DM001-1ER164) の Power_On_Hours の値は約79503時間でラップアラウンドすると言えそうです。


「HDD の寿命は約1万時間」なんて話もありますので、皆さんは HDD がこんな風になるまで使わないようにしましょう。