Self-Monitoring, Analysis and Reporting Technology
Self-Monitoring, Analysis and Reporting Technology (セルフモニタリング・アナリシス・アンド・リポーティング・テクノロジー、略称: S.M.A.R.T.; スマート) は、ハードディスクドライブと、ソリッドステートドライブの障害の早期発見・故障の予測を目的としてディスクドライブに搭載されている機能である。この機能は、各種の検査項目をリアルタイムに自己診断し、その状態を数値化する。ユーザーはその数値を各種のツール(後述)を用いることで知ることが出来る。
世界でもっとも多くのHDDを利用している企業の一つであるGoogleは2001年以降同社で利用してきた10万台以上のHDDの故障率を統計解析した結果を発表したが、それによると、温度や利用率がHDDの寿命と大きな相関がないことを示した一方、S.M.A.R.T値のいくつかのパラメタ(Raw Read Error Rate(読み込みエラー率)、Reallocation Counts(代替処理済みの不良セクタ数)、Offline Reallocation(回復不可能なセクタ数)、Probational Counts(代替処理待ちセクタ数)など)に有意な相関があることを示した。しかし、S.M.A.R.T値によるHDD寿命予測は事実上困難であり、半数のHDDが何の兆候も見せず突然死することも明らかにした[1]。従って、あくまでもS.M.A.R.Tは参考に留まることに注意しなければいけない。
検査項目 (属性)
[編集]各検査項目(属性)には、「現在の値」(英: value)、「最悪(ワースト)値」(英: worst)、「閾値」(英: threshold)、そして「生の値」(英: data / raw value) の4つの項目が設定されている。これらの値がどのような方法によって算出されているかは各ベンダーによって異なるため、一概にどの値がどうなっていれば良いとは言い切れないが、一般的に「生の値」が実際のエラー等の回数や時間や温度を示しており、「生の値」を正規化したものが「現在の値」、今までの「現在の値」のうち最も悪かった時の値が「最悪値」である。(「生の値」が明らかにおかしい値の場合はベンダー独自の内部形式であると考えられる)
「現在の値」は大きいほどよく悪くなると減少する。「現在の値」の最も良い時の値は100であることが多いがこれも製造者によって様々である。「閾値」はベンダーが定めた限界値で「現在の値」または「最悪値」が「閾値」を下回ることがあれば、データのバックアップやハードディスクの交換など必要な処置を施すべきであると考えられる。また Temperature (C2(16進)) や Reallocated Sectors Count (5(16進)) など「生の値」が重要な項目も存在しており、「閾値」を下回らなくとも注意が必要な場合がある。
以下はS.M.A.R.T.によって報告される主な検査項目の一覧である。ATA仕様では属性のIDが何を示すかは規定していないためこの表は基本的にすべてベンダー独自の意味を解釈しているにすぎないことに注意すべきである。特に重要な項目については「(重要)」という記号をつけた。ただし、HDDベンダーによって調査可能な検査項目は若干異なるため、必ずしも全ての項目を調査できるわけではない。また、HDDベンダーが独自の検査項目を設定していたり、IDが異なっていたり、独自の名称を設定している場合もあるが、それらについてはここでは網羅していない。
ID(10進) | ID(16進) | 項目名 | 理想値 | 詳細な説明 |
---|---|---|---|---|
1 | 1 | Raw Read Error Rate(重要) | この項目はハードディスクからデータを読み込む時に発生したエラーの割合を表す。現在値が閾値より低い場合、ハードディスク内の磁気ディスクまたは磁気ヘッドに異常がある。 | |
2 | 2 | Throughput Performance | ハードディスクの全体的な(スループット)処理能力。現在値が閾値以下の場合、高い確率でハードディスクに異常がある。 | |
3 | 3 | Spin-Up Time | ハードディスクが通電回転を開始してから規定の回転数に達するまでにかかった平均時間。 | |
4 | 4 | Start/Stop Count | ハードディスクのスピンドルモーターが回転/停止した回数。 | |
5 | 5 | Reallocated Sectors Count(重要) | 代替処置(データを特別に予約した予備エリアに移動する)を施された不良セクタの数。 | |
6 | 6 | Read Channel Margin | ||
7 | 7 | Seek Error Rate | 磁気ヘッドが目的のデータの在るトラックへ移動しようとして失敗(シークエラー)した割合。ハードディスクの熱、サーボ機構の損傷などによって発生する。数値が低い場合、ハードディスクの表面やハードディスクの機械的なシステムに問題がある可能性がある。 | |
8 | 8 | Seek Time Performance | 磁気ヘッドがシーク作業に要した平均時間。 | |
9 | 9 | Power-On Hours | 工場出荷状態からのハードディスクの通電時間の合計。閾値に対するこの値の減少はMTBF(平均故障間隔)の減少を表す。 | |
10 | A | Spin Retry Count(重要) | ディスクを規定の速度までスピンアップしようと再試行を試みた回数。 | |
11 | B | Recalibration Retries または Calibration Retry Count | ハードディスクのキャリブレーション動作(熱によるオフトラック現象を自動的に補正する機能)を再試行(すでに一度キャリブレーションに失敗している状態で)しようとした回数。 | |
12 | C | Device Power Cycle Count | ハードディスクの電源をON/OFFした回数。 | |
13 | D | Soft Read Error Rate(重要) | オフトラックの数。 数値が0でなければバックアップを取る。 | |
22 | 16 | Current Helium Level | ||
170 | AA | Available Reserved Space | ||
171 | AB | SSD Program Fail Count | ||
172 | AC | SSD Erase Fail Count | ||
173 | AD | SSD Wear Leveling Count | ||
174 | AE | Unexpected power loss count | ||
175 | AF | Power Loss Protection Failure | ||
176 | B0 | Erase Fail Count | ||
177 | B1 | Wear Range Delta | ||
179 | B3 | Used Reserved Block Count Total | ||
180 | B4 | Unused Reserved Block Count Total | ||
181 | B5 | Program Fail Count Total または Non-4K Aligned Access Count | ||
182 | B6 | Erase Fail Count | ||
183 | B7 | SATA Downshift Error Count または Runtime Bad Block | ||
184 | B8 | End-to-End error / IOEDC(重要) | ||
185 | B9 | Head Stability | ||
186 | BA | Induced Op-Vibration Detection | ||
187 | BB | Reported Uncorrectable Errors(重要) | ||
188 | BC | Command Timeout(重要) | ||
189 | BD | High Fly Writes | ||
190 | BE | Temperature Difference または Airflow Temperature | ||
191 | BF | G-sense Error Rate | 衝撃によって引き起こされるプログラムエラーの頻度 | |
192 | C0 | Power-off Retract Count または Emergency Retract Cycle Count (Fujitsu) または Unsafe Shutdown Count | ハードディスクの電源が切れ、磁気ヘッドが磁気ディスク表面から退避場所に退避した回数の合計。 | |
193 | C1 | Load Cycle Count または Load/Unload Cycle Count (Fujitsu) | ロード/アンロード機構によって磁気ヘッドが磁気ディスク表面から退避場所に退避し、その後再び磁気ディスク表面に戻った回数の合計。一般的な2.5型HDDのメーカー保証値は、2005年以降に登場したモデルでは大抵60万回程度。2004年以前のモデルでは30万回程度。 | |
194 | C2 | Temperature または Temperature Celsius | ハードディスクの現在の温度。一般的に動作が保障されている最高温度は55℃である。 | |
195 | C3 | Hardware ECC recovered | ECC(Error Correction Code、誤り訂正符号)によって検知されたエラーの回数 | |
196 | C4 | Reallocation Event Count(重要) | セクタの代替処理が発生した回数。仮に処理に失敗しても回数に加算される。 | |
197 | C5 | Current Pending Sector Count(重要) | 現在異常があり、代替処理を待つセクタの総数。もし後で読み込みに成功したセクタがあれば、この値は減少する。 | |
198 | C6 | Off-Line Scan Uncorrectable Sector Count(重要) | オフラインスキャン時に発見された、回復不可能なセクタの総数。この値が増加する場合は、磁気ディスクの表面に明確な問題がある。 | |
199 | C7 | UltraDMA CRC Error Count | UltraDMAモードでのデータ転送中に発生したCRCエラーの数。 | |
200 | C8 | Write Error Rate (Multi Zone Error Rate) | データの書き込み中に発見されたエラーの総数。 | |
201 | C9 | Soft Read Error Rate または TA Counter Detected | プログラムが磁気ディスク表面からデータを読み込む際に発生したエラーの割合。 | |
202 | CA | Data Address Mark Error または TA Counter Increased | DAM(データアドレスマーク)に関するエラーの頻度を表す。 | |
203 | C8 | Run Out Cancel | ECC(誤り訂正符号)エラーの頻度を表す。 | |
204 | CC | Soft ECC Correction | ソフトウェアECCによって訂正されたエラーの総数。 | |
205 | CD | Thermal Asperity Rate | サーマル・アスペリティ現象(磁気ヘッドが磁気媒体の突起に衝突して熱を生じ、データ検出を誤る可能性のある現象)によるエラーの総数。 | |
206 | CE | Flying Height | 磁気ヘッドの浮上高。 | |
207 | CF | Spin High Current | ドライブのスピンアップに使用した高電流量。 | |
208 | D0 | Spin Buzz | バズルーチン(ヘッドがディスクに接触する現象)を避けるために、ヘッドをディスクに対して垂直方向に跳ね上げる処理(これが連続して発生するとブザーのような音が鳴る)を使用した数。 | |
209 | D1 | Offline Seek Performance | オフラインスキャン時に測定された、シーク機能の性能の値を表す。 | |
210 | D2 | Vibration During Write | データの書き込み中に加わった大きな振動を表す。 | |
211 | D3 | Vibration During Read | データの読み込み中に加わった大きな振動を表す。 | |
212 | D4 | Shock During Write | データの書き込み中に加わった大きな衝撃を表す。 | |
220 | DC | Disk Shift(重要) | ディスク(プラッタ)が衝撃などにより当初の固定位置よりズレた距離。 | |
221 | DD | G-Sense Error Rate | ハードディスクに加えられた衝撃によって発生したエラーの割合。衝撃はハードディスクに内蔵された衝撃感知センサーによって感知されている。 | |
222 | DE | Loaded Hours | 一般的な作業時間中に引き起こされた磁気ヘッドアクチュエータの負荷の値を表す。 | |
223 | DF | Load/Unload Retry Count | ロード/アンロード機構によるロードまたはアンロード時に失敗して再試行した回数。 | |
224 | E0 | Load Friction | 機械的なパーツの摩擦による磁気ヘッドアクチュエータの負荷の値を表す。 | |
225 | E1 | Load/Unload Cycle Count | 機械的なパーツの摩擦による磁気ヘッドアクチュエータの負荷の値を表す。 | |
226 | E2 | Load-in Time | 磁気ヘッドアクチュエータがデータの読み込みによる負荷を受けていた時間の総合計。 | |
227 | E3 | Torque Amplification Count | ディスク回転時のトルク増幅力の値を示す。 | |
228 | E4 | Power-Off Retract Count | 電源を抜くなどしてハードディスクが強制的に停止し、磁気ヘッドが緊急退避した回数。ハードディスクに大きな負担を与える。一般的な2.5型HDDのメーカー保証値は2万回程度。 | |
230 | E6 | GMR Head Amplitude (HDD) または Drive Life Protection Status (SSD) | GMR磁気ヘッドの動作中における震えの振幅。 | |
231 | E7 | Life Left (SSD) または Temperature | ||
232 | E8 | Endurance Remaining または Available Reserved Space | ||
233 | E9 | Media Wearout Indicator (SSD) または Power-On Hours | ||
234 | EA | Average erase count AND Maximum Erase Count | ||
235 | EB | Good Block Count AND System(Free) Block Count | ||
240 | F0 | Head Flying Hours または Transfer Error Rate (Fujitsu) | 磁気ヘッドが位置決めをしている時間。 | |
241 | F1 | Total LBAs Written | ||
242 | F2 | Total LBAs Read | ||
243 | F3 | Total LBAs Written Expanded | ||
244 | F4 | Total LBAs Read Expanded | ||
249 | F9 | NAND Writes (1GiB) | ||
250 | FA | Read Error Retry Rate | データを磁気ディスクから読み込む間に現れるエラーの頻度。 | |
251 | FB | Minimum Spares Remaining | ||
252 | FC | Newly Added Bad Flash Block | ||
254 | FE | Free Fall Protection |
各種のツール
[編集]多種多様なツールが存在しており、HDDベンダーから診断ツールが公開されている場合もある。以下は、主なツール等の製作・配布元である。
- Active SMART(試用版あり、商品、Windows 7対応)
- CrystalDiskInfo(Free、Windows 10対応、日本語)
- FromHDDtoSSD(Free版あり、商品、Windows 8対応、日本語)
- Hard Drive Inspector(15日試用版あり、商品、Windows 7対応)
- HDD Health(Free、Windows 7 x64で作動異常)
- HDD Health 日本語化
- HDDlife(試用版あり、商品、Windows 7対応)
- HDD-SCAN(Free、日本語)
- HDD SMART Analyzer(Free、ver1.2.0からWindows 7対応、日本語)
- HD Tune(試用版あり商品、Windows 7対応)
- Mam's S.M.A.R.T Reader
- PC-Doctor for Windows(商品、Windows 7対応)
- SpeedFan(Free)
- SpeedFan日本語化(リンク切れ)
- ハードディスク・スマートチェッカー(シェアウェア、Windows 7 x64非対応)
- SMARTReporter macOS (Mac OS X v10.6.8以降)
- TechTool Pro macOS (OS X 10.11以降)(商品、日本語)
- GNOME Disks Linux
- smartmontools Unix
- ファイナルハードディスク診断3.0(商品)
装置ベンダーとツールベンダーでデータの意味付けが異なることが多い。そのため、A社のHDDの状態についてB社のツールがエラー、障害あるいは劣化がある、あるいはないと表示したとしても、実際とは違うかもしれないので注意が必要である。