ハードディスクドライブ (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. 情報を見てみたところ、下の画像のようになっていました。
![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
$
$](https://cdn-ak.f.st-hatena.com/images/fotolife/n/nue_of_k/20250901/20250901232637.png)
使用時間 (Power_On_Hours) の値を見ると、371時間(= 15日と11時間)となっています。
明らかに「そんな訣無いだろ」と言いたくなる値ですね。
どうやら値が大きくなりすぎてオーバーフローしてしまっているようです。
因みに正常な場合は下の画像のようになります。(2020年10月から使っている HDD)
5年近くに亘ってほぼ常時稼働させていて42849時間ですので、妥当ですね。
![2020年10月から使っている HDD の S.M.A.R.T. 情報 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
$](https://cdn-ak.f.st-hatena.com/images/fotolife/n/nue_of_k/20250901/20250901232650.png)
では、この「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 | 79874時間 |
42849時間 |
そうだとすると、この HDD (Seagate Barracuda ST2000DM001-1ER164) の Power_On_Hours の値は約79503時間でラップアラウンドすると言えそうです。
「HDD の寿命は約1万時間」なんて話もありますので、皆さんは HDD がこんな風になるまで使わないようにしましょう。