Self-Monitoring, Analysis and Reporting Technology
Self-Monitoring, Analysis and Reporting Technology (セルフモニタリング・アナリシス・アンド・リポーティング・テクノロジー、略称: S.M.A.R.T.; スマート) は、ハードディスクドライブと、ソリッドステートドライブの障害の早期発見・故障の予測を目的としてディスクドライブに搭載されている機能である。
この機能は、各種の検査項目をリアルタイムに自己診断し、その状態を数値化する。ユーザーはその数値を各種のツール(後述)を用いることで知ることが出来る。全ての故障を予期することは出来ないが、安定した利用環境における経年劣化による故障を知るには非常に有効である。
検査項目 (属性)[編集]
各検査項目(属性)には、「現在の値」(Value)、「最悪(ワースト)値」(Worst)、「閾値」(Threshold)、そして「生の値」(Data / Raw value) の4つの項目が設定されている。これらの値がどのような方法によって算出されているかは各ベンダーによって異なるため、一概にどの値がどうなっていれば良いとは言い切れないが、一般的に「生の値」が実際のエラー等の回数や時間や温度を示しており、「生の値」を正規化したものが「現在の値」、今までの「現在の値」のうち最も悪かった時の値が「最悪値」である。(「生の値」が明らかにおかしい値の場合はベンダー独自の内部形式であると考えられる)
「現在の値」は大きいほどよく悪くなると減少する。「現在の値」の最も良い時の値は100であることが多いがこれも製造者によって様々である。「閾値」はベンダーが定めた限界値で「現在の値」または「最悪値」が「閾値」を下回ることがあれば、データのバックアップやハードディスクの交換など必要な処置を施すべきであると考えられる。また Temperature (0xC2) やReallocated Sectors Count (0x05) など「生の値」が重要な項目も存在しており、「閾値」を下回らなくとも注意が必要な場合がある。
以下はS.M.A.R.T.によって報告される主な検査項目の一覧である。ATA仕様では属性のIDが何を示すかは規定していないためこの表は基本的にすべてベンダー独自の意味を解釈しているにすぎないことに注意すべきである。特に重要な項目については太字で注釈をつけた。ただし、HDDベンダーによって調査可能な検査項目は若干異なるため、必ずしも全ての項目を調査できるわけではない。また、HDDベンダーが独自の検査項目を設定していたり、IDが異なっていたり、独自の名称を設定している場合もあるが、それらについてはここでは網羅していない。
ID | 項目名 | 理想値 | 詳細な説明 |
---|---|---|---|
01 0x01 |
Raw Read Error Rate | この項目はハードディスクからデータを読み込む時に発生したエラーの割合を表す。現在値が閾値より低い場合、ハードディスク内の磁気ディスクまたは磁気ヘッドに異常がある。 | |
02 0x02 |
Throughput Performance | ハードディスクの全体的な(スループット)処理能力。現在値が閾値以下の場合、高い確率でハードディスクに異常がある。 | |
03 0x03 |
Spin-Up Time | ハードディスクが通電回転を開始してから規定の回転数に達するまでにかかった平均時間。 | |
04 0x04 |
Start/Stop Count | ハードディスクのスピンドルモーターが回転/停止した回数。 | |
05 0x05 |
Reallocated Sectors Count | 代替処置(データを特別に予約した予備エリアに移動する)を施された不良セクタの数。 | |
06 0x06 |
Read Channel Margin | ||
07 0x07 |
Seek Error Rate | 磁気ヘッドが目的のデータの在るトラックへ移動しようとして失敗(シークエラー)した割合。ハードディスクの熱、サーボ機構の損傷などによって発生する。数値が低い場合、ハードディスクの表面やハードディスクの機械的なシステムに問題がある可能性がある。 | |
08 0x08 |
Seek Time Performance | 磁気ヘッドがシーク作業に要した平均時間。 | |
09 0x09 |
Power-On Hours | 工場出荷状態からのハードディスクの通電時間の合計。閾値に対するこの値の減少はMTBF(平均故障間隔)の減少を表す。 | |
10 0x0A |
Spin Retry Count | ディスクを規定の速度までスピンアップしようと再試行を試みた回数。 | |
11 0x0B |
Recalibration Retries または Calibration Retry Count | ハードディスクのキャリブレーション動作(熱によるオフトラック現象を自動的に補正する機能)を再試行(すでに一度キャリブレーションに失敗している状態で)しようとした回数。 | |
12 0x0C |
Device Power Cycle Count | ハードディスクの電源をON/OFFした回数。 | |
13 0x0D |
Soft Read Error Rate | オフトラックの数。 数値が0でなければバックアップを取る。 | |
22 0x16 |
Current Helium Level | ||
170 0xAA |
Available Reserved Space | ||
171 0xAB |
SSD Program Fail Count | ||
172 0xAC |
SSD Erase Fail Count | ||
173 0xAD |
SSD Wear Leveling Count | ||
174 0xAE |
Unexpected power loss count | ||
175 0xAF |
Power Loss Protection Failure | ||
176 0xB0 |
Erase Fail Count | ||
177 0xB1 |
Wear Range Delta | ||
179 0xB3 |
Used Reserved Block Count Total | ||
180 0xB4 |
Unused Reserved Block Count Total | ||
181 0xB5 |
Program Fail Count Total または Non-4K Aligned Access Count | ||
182 0xB6 |
Erase Fail Count | ||
183 0xB7 |
SATA Downshift Error Count または Runtime Bad Block | ||
184 0xB8 |
End-to-End error / IOEDC | ||
185 0xB9 |
Head Stability | ||
186 0xBA |
Induced Op-Vibration Detection | ||
187 0xBB |
Reported Uncorrectable Errors | ||
188 0xBC |
Command Timeout | ||
189 0xBD |
High Fly Writes | ||
190 0xBE |
Temperature Difference または Airflow Temperature | ||
191 0xBF |
G-sense Error Rate | 衝撃によって引き起こされるプログラムエラーの頻度 | |
192 0xC0 |
Power-off Retract Count または Emergency Retract Cycle Count (Fujitsu) または Unsafe Shutdown Count | ハードディスクの電源が切れ、磁気ヘッドが磁気ディスク表面から退避場所に退避した回数の合計。 | |
193 0xC1 |
Load Cycle Count または Load/Unload Cycle Count (Fujitsu) | ロード/アンロード機構によって磁気ヘッドが磁気ディスク表面から退避場所に退避し、その後再び磁気ディスク表面に戻った回数の合計。一般的な2.5型HDDのメーカー保証値は、2005年以降に登場したモデルでは大抵60万回程度。2004年以前のモデルでは30万回程度。 | |
194 0xC2 |
Temperature または Temperature Celsius | ハードディスクの現在の温度。一般的に動作が保障されている最高温度は55℃である。 | |
195 0xC3 |
Hardware ECC recovered | ECC(Error Correction Code、誤り訂正符号)によって検知されたエラーの回数 | |
196 0xC4 |
Reallocation Event Count | セクタの代替処理が発生した回数。仮に処理に失敗しても回数に加算される。 | |
197 0xC5 |
Current Pending Sector Count | 現在異常があり、代替処理を待つセクタの総数。もし後で読み込みに成功したセクタがあれば、この値は減少する。 | |
198 0xC6 |
Off-Line Scan Uncorrectable Sector Count | オフラインスキャン時に発見された、回復不可能なセクタの総数。この値が増加する場合は、磁気ディスクの表面に明確な問題がある。 | |
199 0xC7 |
UltraDMA CRC Error Count | UltraDMAモードでのデータ転送中に発生したCRCエラーの数。 | |
200 0xC8 |
Write Error Rate (Multi Zone Error Rate) | データの書き込み中に発見されたエラーの総数。 | |
201 0xC9 |
Soft Read Error Rate または TA Counter Detected | プログラムが磁気ディスク表面からデータを読み込む際に発生したエラーの割合。 | |
202 0xCA |
Data Address Mark Error または TA Counter Increased | DAM(データアドレスマーク)に関するエラーの頻度を表す。 | |
203 0xC8 |
Run Out Cancel | ECC(誤り訂正符号)エラーの頻度を表す。 | |
204 0xCC |
Soft ECC Correction | ソフトウェアECCによって訂正されたエラーの総数。 | |
205 0xCD |
Thermal Asperity Rate | サーマル・アスペリティ現象(磁気ヘッドが磁気媒体の突起に衝突して熱を生じ、データ検出を誤る可能性のある現象)によるエラーの総数。 | |
206 0xCE |
Flying Height | 磁気ヘッドの浮上高。 | |
207 0xCF |
Spin High Current | ドライブのスピンアップに使用した高電流量。 | |
208 0xD0 |
Spin Buzz | バズルーチン(ヘッドがディスクに接触するのを避けるために、ヘッドをディスクに対して垂直方向に跳ね上げる処理。これが連続して発生するとブザーのような音が鳴る)を使用した数。 | |
209 0xD1 |
Offline Seek Performance | オフラインスキャン時に測定された、シーク機能の性能の値を表す。 | |
210 0xD2 |
Vibration During Write | データの書き込み中に加わった大きな振動を表す。 | |
211 0xD3 |
Vibration During Read | データの読み込み中に加わった大きな振動を表す。 | |
212 0xD4 |
Shock During Write | データの書き込み中に加わった大きな衝撃を表す。 | |
220 0xDC |
Disk Shift | ディスク(プラッタ)が衝撃などにより当初の固定位置よりズレた距離。 | |
221 0xDD |
G-Sense Error Rate | ハードディスクに加えられた衝撃によって発生したエラーの割合。衝撃はハードディスクに内蔵された衝撃感知センサーによって感知されている。 | |
222 0xDE |
Loaded Hours | 一般的な作業時間中に引き起こされた磁気ヘッドアクチュエータの負荷の値を表す。 | |
223 0xDF |
Load/Unload Retry Count | ロード/アンロード機構によるロードまたはアンロード時に失敗して再試行した回数。 | |
224 0xE0 |
Load Friction | 機械的なパーツの摩擦による磁気ヘッドアクチュエータの負荷の値を表す。 | |
225 0xE1 |
Load/Unload Cycle Count | 機械的なパーツの摩擦による磁気ヘッドアクチュエータの負荷の値を表す。 | |
226 0xE2 |
Load-in Time | 磁気ヘッドアクチュエータがデータの読み込みによる負荷を受けていた時間の総合計。 | |
227 0xE3 |
Torque Amplification Count | ディスク回転時のトルク増幅力の値を示す。 | |
228 0xE4 |
Power-Off Retract Count | 電源を抜くなどしてハードディスクが強制的に停止し、磁気ヘッドが緊急退避した回数。ハードディスクに大きな負担を与える。一般的な2.5型HDDのメーカー保証値は2万回程度。 | |
230 0xE6 |
GMR Head Amplitude (HDD) または Drive Life Protection Status (SSD) | GMR磁気ヘッドの動作中における震えの振幅。 | |
231 0xE7 |
Life Left (SSD) または Temperature | ||
232 0xE8 |
Endurance Remaining または Available Reserved Space | ||
233 0xE9 |
Media Wearout Indicator (SSD) または Power-On Hours | ||
234 0xEA |
Average erase count AND Maximum Erase Count | ||
235 0xEB |
Good Block Count AND System(Free) Block Count | ||
240 0xF0 |
Head Flying Hours または Transfer Error Rate (Fujitsu) | 磁気ヘッドが位置決めをしている時間。 | |
241 0xF1 |
Total LBAs Written | ||
242 0xF2 |
Total LBAs Read | ||
243 0xF3 |
Total LBAs Written Expanded | ||
244 0xF4 |
Total LBAs Read Expanded | ||
249 0xF9 |
NAND Writes (1GiB) | ||
250 0xFA |
Read Error Retry Rate | データを磁気ディスクから読み込む間に現れるエラーの頻度。 | |
251 0xFB |
Minimum Spares Remaining | ||
252 0xFC |
Newly Added Bad Flash Block | ||
254 0xFE |
Free Fall Protection |
各種のツール[編集]
多種多様なツールが存在しており、HDDベンダーから診断ツールが公開されている場合もある。以下は、主なツール等の製作・配布元である。
- Active SMART(試用版あり、商品、Windows7対応)
- CrystalDiskInfo(Free、Windows 10対応、日本語)
- FromHDDtoSSD(Free版あり、商品、Windows8対応、日本語)
- Hard Drive Inspector(15日試用版あり、商品、Windows7対応)
- HDD Health(Free、Windows7x64で作動異常)
- HDD Health 日本語化
- HDDlife(試用版あり、商品、Windows7対応)
- HDD-SCAN(Free、日本語)
- HDD SMART Analyzer(Free、ver1.2.0からWindows7対応、日本語)
- HD Tune(試用版あり商品、Windows7対応)
- Mam's S.M.A.R.T Reader
- PC-Doctor for Windows(商品、Windows7対応)
- SpeedFan(Free)
- SpeedFan日本語化(リンク切れ)
- ハードディスク・スマートチェッカー(シェアウェア、Windows7x64非対応)
- SMARTReporter macOS (Mac OS X v10.6.8以降)
- TechTool Pro macOS (OS X 10.11以降)(商品、日本語)
- smartmontools Unix
- ファイナルハードディスク診断3.0(商品)
装置ベンダーとツールベンダーでデータの意味付けが異なることが多い。そのため、A社のHDDの状態についてB社のツールがエラー、障害あるいは劣化がある、あるいはないと表示したとしても、実際とは違うかもしれないので注意が必要である。