(57)【要約】ディスクドライブ内のディスクのクリティカル事象ログ記憶領域にクリティカル事象をログする装置、モジュール、手段、コンピュータ可読媒体およびその方法を開示する。データ記憶ディスクを有するディスクドライブがホストコンピュータに動作可能に接続される。ホストコンピュータとディスクドライブの間のデータ通信はディスクドライブインターフェースを介して確立される。ディスクドライブインターフェースはＡＴＡディスクドライブインターフェースとすることができる。ホストコンピュータによるディスクドライブのパワーオン動作状態が判定される。次に、ホストコンピュータを介さずクリティカル事象が判定される。クリティカル事象群があらかじめ定義され、ディスクドライブのファームウエアに記憶される。クリティカル事象はオンラインデータ収集モードかオフラインデータ収集モードのいずれかにおいて監視およびログすることができる。オフラインデータ収集モードでは、ファームウエアはバックグラウンドでディスクドライブのオフライン走査を実行する。判定されたクリティカル事象は、ディスクのクリティカル事象ログ記憶領域からクリティカル事象ログを読み出し、判定されたクリティカル事象をクリティカル事象ログに追加し、追加されたクリティカル事象ログをディスクのクリティカル事象ログ記憶領域に記憶することによって、クリティカル事象ログにログされる。【特許請求の範囲】
【請求項１】
ホストコンピュータに動作可能に接続されたディスクドライブであって、前記ディスクドライブはデータ記憶ディスクを有し、前記データ記憶ディスクの一部はクリティカル事象記憶領域であり、前記ディスクドライブは、
クリティカル事象ロギングモジュール、
前記ディスクドライブと前記ホストコンピュータの間のデータ通信路を提供するディスクドライブインターフェース、および
前記クリティカル事象ログ記憶領域および前記ディスクドライブインターフェースに動作可能に接続された、クリティカル事象ロギングモジュールを記憶するためのファームウエアからなる。
【請求項２】
請求項１に記載のディスクドライブであって、前記ディスクドライブインターフェースはＡＴＡディスクドライブインターフェースである。
【請求項３】
請求項１に記載のディスクドライブであって、前記クリティカル事象ロギングモジュールは、
前記ホストコンピュータによる前記ディスクドライブのパワーオン動作状態を判定するためのディスクドライブ動作状態判定モジュール、および
ホストコンピュータを介在させることなくクリティカル事象の発生を判定するためのクリティカル事象判定モジュールからなり、前記クリティカル事象はディスクドライブの動作に関係する所定の情報であり、
前記クリティカル事象ロギングモジュールは前記判定されたクリティカル事象を前記ディスクの前記クリティカル事象ログ記憶領域に記憶する。
【請求項４】
請求項３に記載のディスクドライブであって、前記ディスクドライブ動作状態判定モジュールは、前記ホストコンピュータと前記ディスクドライブの間のデータ通信が前記ディスクドライブインターフェースによって確立されたかどうかを判定する。
【請求項５】
請求項４に記載のディスクドライブであって、クリティカル事象群があらかじめ定義され、前記ディスクドライブの前記ファームウエアに記憶される。
【請求項６】
請求項５に記載のディスクドライブであって、前記クリティカル事象判定モジュールはさらにオンラインデータ収集モードにおいて前記所定のクリティカル事象の１つの発生を監視する。
【請求項７】
請求項６に記載のディスクドライブであって、前記前記クリティカル事象ロギングモジュールは前記ディスクの前記クリティカル事象ログ記憶領域から前記クリティカル事象ログを読み出し、前記判定されたクリティカル事象を前記読み出されたクリティカル事象ログに追加し、前記追加されたクリティカル事象ログを前記ディスクの前記クリティカル事象ログ記憶領域に記憶する。
【請求項８】
請求項５に記載のディスクドライブであって、クリティカル事象の発生を判定する前記手段は、オフラインデータ収集モードを監視し、前記オフラインデータ収集モードを検出すると前記ディスクドライブのオフライン走査を実行し、前記所定のクリティカル事象の１つの発生を監視する。
【請求項９】
請求項８に記載のディスクドライブであって、前記クリティカル事象ロギングモジュールは、前記ディスクの前記クリティカル事象ログ記憶領域から前記クリティカル事象ログを読み出し、前記判定されたクリティカル事象を前記読み出されたクリティカル事象ログに追加し、前記追加されたクリティカル事象ログを前記ディスクの前記クリティカル事象ログ記憶領域に記憶する。
【請求項１０】
ホストコンピュータに動作可能に接続されたディスクドライブであって、データ記憶ディスクを有し、前記データ記憶ディスクの一部はクリティカル事象記憶領域であるディスクドライブにおいて、クリティカル事象をログする方法であって、
（ａ）前記ホストコンピュータによる前記ディスクドライブのパワーオン動作状態を判定するステップであって、前記ホストコンピュータと前記ディスクドライブの間にディスクドライブインターフェースを介してデータ通信路が確立されたか否かの判定を含むステップ、
（ｂ）ホストコンピュータを介在させることなくクリティカル事象の発生を判定するステップであって、前記クリティカル事象はディスクドライブの動作に関係する所定の情報であり、クリティカル事象群があらかじめ定義され、前記ディスクドライブの前記ファームウエアに記憶されるステップ、
（ｃ）前記ディスクの前記クリティカル事象ログ記憶領域から前記クリティカル事象ログを読み出すステップ、
（ｄ）前記判定されたクリティカル事象を前記読み出されたクリティカル事象ログに追加するステップ、および
（ｅ）前記追加されたクリティカル事象ログを前記ディスクの前記クリティカル事象ログ記憶領域に記憶するステップからなる。
【発明の詳細な説明】
【０００１】
（関連出願）
本願は２０００年９月２８日出願の“ＣＲＩＴＩＣＡＬ ＥＶＥＮＴ ＬＯＧ ＦＯＲ ＨＡＲＤ ＤＩＳＫ ＤＲＩＶＥＳ”と題する米国の仮特許出願６０／２３６，３１６号の優先権を主張するものである。
【０００２】
（発明の属する技術分野）
本願は広義にはクリティカル事象のロギング技術およびディスクドライブの故障解析をホストコンピュータを介さずリアルタイムに実行する上で有用なクリティカル事象に関し、より詳細には、クリティカル事象はディスクドライブの動作事象、エラー、およびディスクドライブの故障解析に有用な他の情報である。
【０００３】
（発明の背景）
ディスクドライブは、デジタルデータをディスクと呼ばれる回転する記憶媒体に磁気的な態様で記憶するデータ記憶装置である。近年のディスクドライブは、磁化可能な媒体でコーティングされ、スピンドルモータのハブに取り付けられ、一定の高速度で回転する１つあるいはそれ以上の剛性のディスクを有する。ディスクの各面は、樹木の年輪に似たレイアウトを有する密集した同心円である数千のトラックに分割される。これらのトラックには通常、ディスクの最も外側に位置するトラックに付される０で始まり、トラックがディスクの中心に近いほど大きくなる番号が付される。各トラックはさらにセクタとサーボバーストに分割される。セクタとは通常、ディスクドライブに記憶された個々にアドレス指定可能な最小の情報単位であり、通常は５１２バイトの情報に加え内部駆動制御とエラーの検出および訂正に必要な少数のバイトを有する。このデータ構造によって、ディスクの任意の部分に容易にアクセス可能である。サーボバーストはトラック上での頭出しを容易にする、トラック上に設けられた特定の磁気記号である。
【０００４】
一般的には、ディスクドライブ内の複数のディスクはそれぞれ、セクタに対するデータの読み出しおよび書き込みを行うために、そのディスクに関係付けられた２つのヘッド（１つはそのディスクの上面に隣接し、他の１つは下面に隣接する）を有する。典型的なディスクドライブは２〜３のディスクを備える。これは、通常ディスクドライブ内には１組のアクチュエータアームに保持された４つあるいは６つのヘッドがあることを意味する。データはこれらのヘッドをアクチュエータアッセンブリによって駆動されるディスクの内側から外側へ（またその逆に）移動させることによってアクセスされる。ディスク上のセクタにアクセスするヘッドはアクチュエータアッセンブリ上に一体に固定される。このため、すべてのヘッドが一体的に内外に移動し、物理的に常に同じ番号のトラック上に位置する（たとえば、一方のヘッドがトラック０にあり、他のヘッドがトラック５００にあるということはありえない）。すべてのヘッドが一体的に移動するため、すべてのディスク上の各トラックは、それらのトラックが空間的に上下に重なる同サイズの円であるため円筒を形成するという理由から、シリンダとして知られている。たとえば、ディスクドライブが４つのディスクを有する場合、通常は８つのヘッドがあり、シリンダＮｏ．６８０はトラックＮｏ．６８０にある８つ（１ディスク面につき１つ）のトラックから構成される。したがって、シリンダは基本的にはすべてのヘッドが現在位置しているすべてのトラックの集合であるため、多くの目的に関してトラックとシリンダとの間には大きな違いは無い。
【０００５】
あらゆるデータの記憶および検索において、データの完全性が常に重要である。媒体の不良、頭出しの失敗、ヘッドと媒体との間の異物粒子、あるいは部品の機能低下といったさまざまな理由で、ディスクドライブによるディスクへのデータの書き込みあるいはディスクからのデータの読み出しが失敗に終わることも多い。ディスクドライブの急迫故障の予想、ディスクドライブのテスト、およびディスクドライブの改良といった目的上、ディスクドライブの動作パラメータをキャラクタライズすることは重要であり、また失敗した読み出しや書き込みをキャラクタライズすることは有益である。
【０００６】
ディスクドライブが長期間にわたる通常動作の最後に故障することは避けられない。その結果、ディスクドライブが交換される間、それに関係付けられたＰＣシステムもダウンすることになる。さらに、ディスクドライブが故障すると、そのディスクドライブに記憶されたデータの一部あるいは全部が失われる場合がある。故障したディスクドライブに記憶されたデータの多くが復元可能である場合もあるが、かかるデータの復元には多大な費用と時間を要する。
【０００７】
ディスクドライブの通常動作中に突然予測不能な故障が発生する場合があり、また長期間にわたる通常動作の後ディスクドライブの部品が徐々に劣化することによって故障が発生する場合がある。そのため、当該業界で知られる自己監視分析および報告技術（ＳＭＡＲＴ）機能が開発された。ＳＭＡＲＴはディスクドライブ部品が徐々に劣化することによるディスクドライブの故障を予測する有効なツールである。ＳＭＡＲＴは基本的にはディスクドライブの各種の動作値を測定、記録、および分析する内蔵型のディスクドライブ監視システムである。ＳＭＡＲＴ機能の多くはディスクドライブのファームウエア内に常駐する。ＳＭＡＲＴによって収集されたデータにアクセスするには、ホストはＡｄｖａｎｃｅｄ Ｔｅｃｈｎｏｌｏｇｙ Ａｔｔａｃｈｍｅｎｔ （ＡＴＡ） インターフェース規格（Ｉｎｔｅｇｒａｔｅｄ Ｄｅｖｉｃｅ Ｅｌｅｃｔｒｏｎｉｃｓ （ＩＤＥ）インターフェース規格としても知られる）等のディスクドライブインタフェース規格に定義するコマンドデータセットを実行する。
【０００８】
しかし、ホストコンピュータはＳＭＡＲＴによって収集されたデータの解釈を大量に実行する。すなわち、ホストはＳＭＡＲＴデータの検索といった簡単な動作や簡単な比較を実行することもあるが、ＳＭＡＲＴ機能を維持し、更新する知力はほとんどすべてディスクドライブのファームウエアとコントローラ自体の中に存在する。
【０００９】
ＳＭＡＲＴは当初、主としてディスクドライブの故障を予測するために設計・開発された。その結果、ＳＭＡＲＴによって収集されたデータはディスクドライブの故障解析を良好に実行するには不適当であった。ＳＭＡＲＴはディスクドライブの故障に先立ってディスクドライブの故障を予測し、関連データを収集することを主眼としてきた。より詳細には、ＳＭＡＲＴによって収集されたデータは故障解析を良好に実行するのに必要な詳細を含むものではなかった。ＳＭＡＲＴによって収集されたデータは故障したディスクドライブに関して故障の根本原因を解析するには不適当であった。すなわち、ＳＭＡＲＴデータは、ディスクドライブの通常動作中の重要なディスクドライブ動作事象の完全な履歴をホストコンピュータに提供するものではなかった。ディスクドライブ動作不良の履歴を理解することによって、故障解析をより迅速かつ効率的に実行することができる。
【００１０】
したがって、ディスクドライブがそのディスクドライブの故障解析の実行に有用なクリティカル事象をログすることを可能とする技術が必要とされている。クリティカル事象は、着目されるディスクドライブ動作事象、エラー、および故障前のディスクドライブの動作履歴を示す他の情報である。
【００１１】
（発明の概要）
かかる背景に鑑みて、本発明の一実施例が開発された。ここに説明する本発明の実施例では、クリティカル事象を監視し、それをディスクドライブ内のディスクのクリティカル事象ログ記憶領域に記憶されたクリティカル事象ログにログする。データ記憶ディスクを有するディスクドライブはホストコンピュータに動作可能に接続することができる。ホストコンピュータとディスクドライブの間のデータ通信はディスクドライブインターフェースを介して確立される。ディスクドライブインターフェースはＡＴＡインターフェースとすることができる。データ記憶ディスクの一部はクリティカル事象ログ記憶領域である。ディスクドライブのパワーオン動作状態がホストコンピュータを介して判定される。次に、ホストコンピュータを介さずクリティカル事象が判定される。クリティカル事象はディスクドライブの動作に関係する所定の情報である。クリティカル事象及びクリティカル事象ログのプログラムのリストはディスクドライブのファームウエアに格納される。判定されたクリティカル事象の発生はディスク上のクリティカル事象ログ記憶領域に記憶される。クリティカル事象はオンラインデータ収集モードあるいはオフラインデータ収集モードにおいて監視およびログすることができる。オフラインデータ収集モードにおいては、ファームウエアはバックグラウンドでディスクドライブのオフライン走査を実行する。判定されたクリティカル事象の発生は、ディスク上のクリティカル事象ログ記憶領域からクリティカル事象ログを読み出し、判定されたクリティカル事象をクリティカル事象ログに追加し、追加されたクリティカル事象をディスク上のクリティカル事象ログ記憶領域に記憶することによってクリティカル事象ログにログされる。本発明の特徴となすこれらの機能、他のさまざまな機能および利点は以下の詳細な説明を読み、また関連図面を参照することによって明らかとなろう。
【００１２】
（詳細な説明）
本発明の一実施例にしたがって構成されたディスクドライブ１００を図１に示す。ディスクドライブ１００はディスクドライブ１００の各種の構成要素が取り付けられたベース１０２を含む。一部を切り欠いて示す上カバー１０４はベース１０２とともに、このディスクドライブに従来と同様の内部密閉環境を形成する。構成要素には、１つあるいはそれ以上のディスク１０８を一定の高速度で回転させるスピンドルモータ１０６が含まれる。情報はアクチュエータアッセンブリ１１０を用いてディスク１０８上のトラックに対して書き込み及び読み出しされる。アクチュエータアッセンブリ１１０はシーク動作中、ディスク１０８に隣接して配置されたベアリングシャフトアッセンブリ１１２を中心に回転する。アクチュエータアッセンブリ１１０は、ディスク１０８に向かって伸張する複数のアクチュエータアーム１１４を含み、各アクチュエータアーム１１４からは１つあるいはそれ以上のフレクシュア１１６が伸張する。各フレクシュア１１６の末端にはヘッド１１８が取り付けられており、ヘッド１１８は空気軸受スライダを含み、それによってヘッド１１８を対応するディスク１０８の対応する面の上にその面に近接して浮いた状態とすることができる。
【００１３】
シーク動作中、ヘッド１１８のトラック位置はボイスコイルモータ（ＶＣＭ）１２４を用いて制御され、ＶＣＭ１２４は通常アクチュエータアッセンブリ１１０に取り付けられたコイル１２６および１つあるいはそれ以上の永久磁石１２８を含み、その磁界内にコイル１２６が配置される。コイル１２６に印加される電流を制御することによって、永久磁石１２８とコイル１２６との間に磁気的な相互作用が発生し、コイル１２６が周知のローレンツの法則にしたがって移動する。コイル１２６が移動するにつれて、アクチュエータアッセンブリ１１０はベアリングシャフトアッセンブリ１１２を中心に旋回し、ヘッド１１８はディスク１０８の面の上を移動する。
【００１４】
スピンドルモータ１１６はディスクドライブ１００が長期間にわたって使用されないと通常除勢される。駆動モータが徐勢されるとヘッド１１８はディスク１０８の内径に近い停止ゾーン１２０上に移動する。ヘッド１１８はアクチュエータラッチの構成を用いて停止ゾーン１２０上で固定され、これによってヘッドを停止しているときアクチュエータアッセンブリ１１０の不慮の回転が防止される。
【００１５】
フレックスアッセンブリ１３０は、動作中アクチュエータアッセンブリ１１０が旋回動作可能な状態でアクチュエータアッセンブリ１１０に必要な電気的接続路を提供する。フレックスアッセンブリ１３０はヘッドからの配線（図示せず）が接続されたプリント回路基板１３２を含み、ヘッド配線はアクチュエータアーム１１４およびフレクシュア１１６を経てヘッド１１８に引き回される。プリント回路基板１３２は通常書き込み動作中にヘッド１１８に印加される書き込み電流を制御する回路と、読み出し動作中にヘッド１１８によって生成される読み出し信号を増幅する前置増幅器とを含む。フレックスアッセンブリの終端は、ベースデッキ１０２を介してディスクドライブ１００の底面に取り付けられたディスクドライブプリント回路基板（図示せず）と連通するフレックスブラケット１３４となっている。
【００１６】
図２は図１のディスクドライブ１００の機能ブロック図であり、ディスクドライブプリント回路基板上に配置されディスクドライブ１００の動作の制御に用いられる主要な機能回路の概略を示す。図２において、ディスクドライブ１００はホストコンピュータ１４０に動作可能に接続されたものとして示され、ディスクドライブ１００は従来と同様に取り付けられている。ホストコンピュータ１４０とディスクドライブコントローラ１４２との間には制御通信路が設けられている。一般的には、コントローラ１４２はコントローラメモリ（ＭＥＭ）１４３および／またはファームウエア１４５に記憶されたコントローラ１４２のプログラムとの関係においてディスクドライブ１００に対して最高度の通信および制御を提供する。
【００１７】
ＭＥＭ１４３にはランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、およびコントローラ１４２用のその他の常駐メモリソースを含むものとすることができる。ファームウエア１４５は通常、コントローラ１４２に動作可能に接続されたＲＯＭ１４５に含まれるプログラミングモジュールである。ファームウエア１４５はディスクドライブインターフェース１４４を用いてこのＲＯＭにインストールし、他のソフトウエアモジュールと同様に分散し、さらにマイクロコードシミュレーションを用いて作成およびテストすることができる。ファームウエア１４５はディスクドライブ動作の最重要要素であることが多い。これは、ホスト１４０の制御から独立したディスクドライブ動作のためのソフトウエアプログラムを含むためである。
【００１８】
ディスク１０８はスピンドル制御回路１４８によって一定の高速度で回転され、この回路は通常、逆起電力（ＢＥＭＦ）の検出を用いてスピンドルモータ（図１）と電気的に通信する。シーク動作中、ヘッド１１８のトラック位置はアクチュエータアッセンブリ１１０のコイル１２６に電流を印加することによって制御される。サーボ制御回路１５０がかかる制御を行う。シーク動作中、マイクロプロセッサ１４２はヘッド１１８の速度および加速度に関する情報を受け取り、その情報とメモリ１４３に記憶されたモデルとを用いてサーボ制御回路１５０と通信し、回路１５０がボイスコイルモータ１２６に制御された量の電流を印加することによってアクチュエータアッセンブリ１１０が旋回する。
【００１９】
データはディスクドライブインターフェース１４４を介してホストコンピュータ１４０とディスクドライブ１００との間で転送され、インターフェース１４４は通常ホストコンピュータ１４０とディスクドライブ１００との間での高速データ転送を容易にするバッファを含む。ディスクドライブ１００に書き込むべきデータはこうしてホストコンピュータからディスクドライブインターフェース１４４に渡され、さらに読み出し／書き込みチャンネル１４６に渡され、それによってデータが符号化および直列化されてヘッド１１８に必要な書き込み電流信号が供給される。ディスクドライブ１００に記憶されたデータを検索する場合、ヘッド１１８によって読み出し信号が生成され、読み出し／書き込みチャンネル１４６に供給され、読み出し／書き込みチャンネル１４６が復号およびエラー検出・訂正動作を実行し、検索されたデータをインターフェース１４４に出力し、これが続いてホストコンピュータ１４０に転送される。
【００２０】
一般的には、ディスクドライブインターフェース１４４はデータの送信を規制し、ディスクドライブ１００とホストコンピュータ１４０との間のデータのやり取りを管理するハードウエアおよび／またはソフトウエアである。ディスクドライブインターフェース１４４はディスクドライブ１００の電子機器内に含まれる。米国国家規格協会（ＡＮＳＩ）等の規格委員会が、共通の規格に準じる任意の周辺装置の互換的な使用を可能にするインターフェースプロトコルの採用を監視する。ファームウエア１４５のプログラミングはディスクドライブインターフェースプロトコルに従う。
【００２１】
Ｓｍａｌｌ Ｃｏｍｐｕｔｅｒ Ｓｙｓｔｅｍｓ Ｉｎｔｅｒｆａｃｅ （ＳＣＳＩ）、 ＦｉｂｒｅＣｈａｎｎｅｌ−Ａｒｂｉｔｒａｔｅｄ Ｌｏｏｐ （ＦＣ−ＡＬ）、Ｓｅｒｉａｌ Ｓｔｏｒａｇｅ Ａｒｃｈｉｔｅｃｔｕｒｅ （ＳＳＡ）、Ａｄｖａｎｃｅｄ Ｔｅｃｈｎｏｌｏｇｙ Ａｔｔａｃｈｍｅｎｔ （ＡＴＡ）、Ｉｎｔｅｇｒａｔｅｄ Ｄｅｖｉｃｅ Ｅｌｅｃｔｒｏｎｉｃｓ （ＩＤＥ）、ＣｏｍｐａｃｔＦｌａｓｈ等各種のディスクドライブインターフェース規格が存在する。本発明の一実施例においては、ホストコンピュータ１４０とディスクドライブ１００との間のインターフェースとしてＡＴＡインターフェース規格を用いる。しかし、当業者には実施例に開示する本発明の範囲および要旨は上述した他の種類のディスクドライブインターフェースに適用することができることは明らかである。
【００２２】
ＡＴＡインターフェースはディスクドライブとホストコンピュータとの間のインターフェースに関してＡＮＳＩ規格によって公式に指定されている。一般的には、ＡＴＡ規格はホストコンピュータ内のマザーボートとディスクドライブ内のディスクコントローラとの間の電力およびデータ信号のインターフェースを対象とする。ＡＴＡインターフェースは主として単一ホストコンピュータのアプリケーションに用いられ、通常は、一般にマスタおよびスレーブディスクドライブ（あるいはディスクドライブ０および１）として知られる１つあるいは２つのディスクドライブをサポートする。
【００２３】
ＡＴＡディスクドライブは高い信頼性で知られるが、ときとして故障することもある。ディスクドライブが故障すると、そのディスクドライブを交換する間関係するホストコンピュータもダウンするため、多大な費用および時間の浪費が生じうる。ディスクドライブの故障の直前にディスクドライブをバックアップしていないと、記憶されたデータが失われることがある。しかし、ディスクドライブの故障は予測可能な場合もあれば、予測不能である場合もある。予測不能なディスクドライブ故障とは、電力サージ等の制御不能な外部環境にしばしば起因する突然の予期しない故障である。予測可能なディスクドライブ故障は通常のディスクドライブ動作中のディスクドライブ部品の通常の電気的・機械的な損耗に起因する。これは、電気部品および機械部品の属性の一部は監視可能であり、したがって予測的な故障解析が可能であることを意味する。一般的には、機械部品の故障は予測可能であり、また全ドライブ故障の６０パーセントを占める。ただし、電子部品の中には故障する前に劣化の兆候が現れるものもある。たとえば、ヘッドの浮上量の低下を監視することによってヘッドクラッシュの可能性を検出することができる。
【００２４】
ディスクドライブの故障に起因するかかる時間あるいはデータの損失を防止するために、ＳＭＡＲＴとして知られる新たな信頼性予測技術が開発された。ＳＭＡＲＴは、一般的にはＡＴＡ／ＩＤＥ環境とＳＣＳＩ環境の両方で動作するディスクドライブの故障を予測あるいは予想する信頼性予測技術である。たとえば、ＳＭＡＲＴはディスクドライブの故障が予想されると、ユーザーが損耗したディスクドライブの交換の予定を立てるか、あるいはユーザーまたはシステムがデータのバックアップを行うのに十分な通知を行う。Ｃｏｍｐａｑ  Ｃｏｍｐｕｔｅｒによって創始されたＳＭＡＲＴ技術は、世界中の主要なディスクドライブメーカーによって開発が続けられている。
【００２５】
ＳＭＡＲＴは電子部品あるいは機械部品の故障を示す一連の属性を監視する。これらの属性はディスクドライブの個々のモデルについて固有に選択される。これは、ドライブのアーキテクチャがモデルごとに異なるためである。すなわち、ディスクドライブの１機種の故障を示す属性および閾値が他の機種には当てはまらない場合がある。ＳＭＡＲＴは起こりうるすべてのディスクドライブ故障を予測できるものではなく、むしろディスクドライブの信頼性を予測する能力の向上に資する進化型の技術である。したがって、現場でのさまざまな経験に基づいてＳＭＡＲＴの属性および閾値に後から変更を加えることができる。
【００２６】
ＳＭＡＲＴは（たとえばＳＭＡＲＴの“状況報告”コマンドに応答して）アラーム信号を生成し、ホストコンピュータ１４０のソフトウエアがアラーム信号を解釈する。ホストコンピュータはディスクドライブを定期的にポーリングしてこの“状況報告”コマンドの状態をチェックし、このコマンドが急迫の故障を示している場合、ホストコンピュータはエンドユーザーあるいはシステムの管理者にアラームを送る。これによって、データのバックアップおよびディスクドライブの交換のためのダウンタイムのスケジュールを立てることができる。
【００２７】
ＳＭＡＲＴ技術用のプログラムのほとんどはディスクドライブファームウエア１４５内に常駐する。ＳＭＡＲＴによって収集されたファームウエア１４５内のデータにアクセスするには、技術者は一組のＡＴＡコマンドを用いる。これはディスクドライブとホストコンピュータはＡＴＡディスクドライブインターフェースによって動作可能に接続されているためである。ディスクドライブファームウエア１４５および／またはコントローラ１４２はＳＭＡＲＴデータを収集および処理するためのほとんどの動作を実行し、その結果をホストコンピュータ１４０に知らせ、ディスクドライブの故障が急迫のものであるか否かを示す。
【００２８】
ＳＭＡＲＴ（主としてディスクドライブの故障予測のために開発された技術）はその登場以来大幅な改良を経てきた。たとえば、ＳＭＡＲＴエラーロギングはディスクドライブ１００からホストコンピュータ１４０に報告された最後のエラーの記録を報告するＳＭＡＲＴを発展させたものである。ディスクドライブ１００がホストコンピュータ１４０の発したコマンド（たとえば読み出しあるいは書き込みコマンド）の実行に失敗するとエラーが発生する。かかるエラーはＳＭＡＲＴエラーロギング技術によって記録される。
【００２９】
ＳＭＡＲＴはホストコンピュータ１４０と協動中のディスクドライブ１００の故障を予測するために開発されたものであるが、ドライブセルフテスト（ＤＳＴ）は故障したディスクドライブについて、ディスクドライブ故障の根本原因あるいは考えられるディスクドライブの問題点を診断するために開発されたものである。たとえば、Ｓｅａｇａｔｅ等のディスクドライブメーカーに返品される故障と見られる全ディスクドライブの４０％以上がＤＳＴを用いてテストされ、十分に動作可能なディスクドライブと判定されている。ＤＳＴは故障と報告されたディスクドライブの動作状態をテストし、そのディスクドライブの返品についてウィルスの感染やソフトウエアのバグといった他のなんらかの原因があったか否かを判定する。ＤＳＴはディスクドライブ１００のファームウエア１４５の一部として記憶される。一般的に、技術者は返品されたディスクドライブのＤＳＴをランし、そのディスクドライブが実際に故障していたか否かについてその結果をファームウエア１４５からホストに通知させる。
【００３０】
ＤＳＴにはＤＳＴクイックテストとＤＳＴエンハンストテストとの２種類がある。ＤＳＴクイックテストはドライブの動作状態を迅速に判定することを目的とした２分間のテストである。このテストの一部として、ＤＳＴクイックテストではディスクドライブの少なくもと最初の１．５ギガバイトを読み出す。ＤＳＴクイックテストと異なり、ＤＳＴエンハンストテストはディスクドライブの媒体をすべて走査する。ＤＳＴエンハンストテストの完了に要する時間はディスクドライブの容量によって決まるが、ＤＳＴクイックテストの完了に要する時間よりかなり長い。
【００３１】
ＳＭＡＲＴはディスクドライブの通常の使用時にディスクドライブ属性を収集し、それらを分析することによってディスクドライブの故障を予測するツールとして開発された。しかし、ＳＭＡＲＴによって収集されるデータは故障したディスクドライブの根本原因の分析には不適当である。ＳＭＡＲＴはディスクドライブの故障の予測に重点を置いているため、ＳＭＡＲＴによって収集されるデータにはディスクドライブの故障の分析に有用である可能性のある他の関連する有用な情報が含まれない。より詳細には、ＳＭＡＲＴによって収集される属性に関連するデータは故障の予測には適当であるが、かかる収集データには故障分析を良好に実行するのに要する詳細が含まれない。さらに、故障分析に重要な属性の中には、故障予測に有用でない場合、ＳＭＡＲＴによって記録されないものがある。
【００３２】
たとえば、ディスクドライブの故障を予測するＳＭＡＲＴは通常、以下の属性についてはディスクドライブの信頼性を示すものとしてその頻度および程度を記録する（ただし、これらの属性はディスクドライブに固有のものである）。すなわち、ヘッドの浮上高さ、データスループット性能、スピンアップ時間、再割り当てされたセクタの数、シークエラー率、シーク時間性能、スピン再試行数、ドライブ校正再試行数等である。かかる属性の発生頻度および程度は、ディスクドライブ故障を判定するための重要な評価基準である。しかし、ディスクドライブ故障の根本原因を分析するには、その故障分析を実行する技術者はディスクドライブの通常動作中にそのディスクドライブに何が起こったかを示す情報を必要とする。たとえば、各事象の発生についてのタイムスタンプは故障したディスクドライブの履歴を理解する上で非常に有効なツールである。たとえば、ＳＭＡＲＴは１つの属性の頻度、すなわちセクタ再割り当て数（たとえば、ある特定の物理的シリンダヘッドセクタ（ＰＣＨＳ）アドレスを有するセクタがディスクドライブ故障前に１０回再割り当てされた場合）を記録するが、セクタ再割り当てがそれぞれいつ発生したかについて（たとえば、１０回のセクタ割り当てのそれぞれが前のセクタ再割り当てから１０日後の深夜に発生したのに対してセクタ再割り当てがすべて１０秒以内の間隔で発生したというように）不適当な情報を捕捉する。ディスクドライブの履歴を詳細に分析することによって、ディスクドライブ故障の根本原因を判定することができる。さらに、かかる分析によってディスクドライブの返品事由の誤りや、認識されたディスクドライブ故障がディスクドライブの外部の装置によって引き起こされたものであることが判明する場合がある。したがって、ＳＭＡＲＴは故障したディスクドライブの異状を理解するのに有用な情報を十分詳細に提供するものではない。さらに、ＳＭＡＲＴの場合、多くの種類の事象あるいはエラーについて、それぞれの発生が設定された最低閾値を超えない限り記録をとらない場合がある。したがって、ＳＭＡＲＴの閾値を超えなかったために記録されなかった、故障分析に有用な顕著な発生が多数存在した可能性がある。
【００３３】
さらに、ＳＭＡＲＴは故障予測には有用ではないが、故障分析には有用な多くの事象を記録しないものである。たとえば、ディスクドライブの設定をマスタからスレーブ（すなわち０から１）に変更するといった事象は、かかる事象がディスクドライブの信頼性の判定あるいはディスクドライブ故障の予測に無関係であるためＳＭＡＲＴには捕捉されない。事象とはエラーとはいえないディスクドライブ動作の発生（たとえば、成功したセクタ再割り当て）である。一方、エラーはディスクドライブがホストコンピュータの発したコマンドの実行に失敗したとき（たとえば、セクタ再割り当ての失敗によるセクタへの書き込みの失敗）に発生する。
【００３４】
さらに、ＤＳＴはディスクドライブが良品であるか故障したドライブであるかに関する情報は提供するが、故障したディスクドライブの異状の詳細を提供するものではない。エンハンストＤＳＴの実行には、ディスクドライブの動作中情報がログされないため、全ディスクドライブ媒体のテストされた後長時間を要する。クイックＤＳＴの実行に要する時間はそれより短いが、テスト結果には誤った不良判定（すなわち、良品のドライブが不良ドライブとされる）が多くなる。
【００３５】
したがって、故障分析の実行には故障前のディスクドライブの履歴を知ることが重要であること、また故障したディスクドライブについてＤＳＴを実行するには時間がかかり過ぎ、しかも不十分な情報しか得られないことから、本発明の一実施例においてはクリティカル事象ログ１２１とこのクリティカル事象ログを判定する動作を開示する。クリティカル事象ログ１２１はディスクドライブの履歴情報を含む。すべての事象、エラーおよび／またはディスクドライブの故障分析に有用なあらゆるディスクドライブ動作事象がクリティカル事象ログ１２１に記憶される。クリティカル事象ログ１２１はディスクドライブ１００内のディスク１０８上の専用のセクタに記憶される。クリティカル事象ログ１２１はリアルタイムに更新され、ロギング動作はホストコンピュータの制御からは独立している。クリティカル事象ロギング動作はユーザーには気づかれない。クリティカル事象ログ１２１に記憶される情報は主としてディスドライブ故障の分析を行う技術者を対象とし、クリティカル事象ログ１２１の情報がなければ、技術者は故障前のディスクドライブの環境をほとんど把握できない。技術者はＡＴＡインターフェースプロトコルに適合するアクセスコマンドを用いてクリティカル事象ログ１２１にアクセスすることができる。ＳＭＡＲＴデータのみによって故障の原因を判定するには多大な類推作業を必要とする場合がある。クリティカル事象ログによって技術者はそれぞれのディスクドライブのレポートを得ることができる。このレポートには故障前にディスクドライブに何が発生したかが示される。
【００３６】
【表１】
2004525433.tif 000002
【００３７】
表１にはクリティカル事象ログに記憶される情報の例を示す。各行はクリティカル事象ログのエントリを表す。たとえば、最初のエントリは５ｄｂｆｆ６（１６進数）のＬＢＡを有し、１ｃｅ（１６進数）−３６ｄ８（１６進数）−０（１６進数）のＲ−Ｔｈｅｔａ−Ｚに位置するセクタからの読み出し動作が２３時の３３４０ｆ９ａｄマイクロ秒に失敗に終わったことを示す。
【００３８】
さらに、下の表２にはクリティカル事象ログ情報を保持するセクタの構成を示す。クリティカル事象ログ１２１の各セクタは行６−１７に示すように最大で１５のエントリを保持することができる。行１−５には１５のエントリのうちの最初のエントリの開始番号とタイムスタンプに関する情報が記憶される。表２の説明の意味は当業者には一般的に周知であり、理解しうるところである。
【００３９】
【表２】
2004525433.tif 000003
【００４０】
図３に、本発明の実施例によるクリティカル事象ログ動作のフローチャートを示す。ファームウエア１４５にはクリティカル事象ログの動作のプログラムが含まれる。動作３０２において、ファームウエア１４５あるいは１４２がディスクドライブ１００がホストコンピュータ１４０と連動しているかをチェックする。基本的には、ディスクドライブ１００はホストコンピュータ１４０の電源投入と同時にホストコンピュータ１４０と連動し、ホストコンピュータ１４０はＡＴＡインターフェース１４４を介してディスクドライブ１００にアクセスすることができる。さらに、動作３０２において、オンラインあるいはオフラインデータ収集モードが判定される。ホストコンピュータ１４０がディスクドライブ１００にコマンドを発した後、ディスクドライブとホストコンピュータ１４０とオンラインの状態にあるときオンラインデータ収集モードとなる。ファームウエア１４５がホストコンピュータ１４０がディスクドライブ１００に対してある期間非活動状態であることを検出すると、オフラインデータ収集モードと判定される。オフラインデータ収集モードと判定されると、ファームウエア１４５はホストコンピュータを介在させることなく、各種のディスクドライブ診断あるいは関連するその他の動作を実行することができる。オフラインデータ収集モードでホストコンピュータ１４０からディスクドライブ１００にコマンドが発せられると、オフラインデータ収集モードが終了し、オンラインデータ収集モードが開始される。動作３０４において、ファームウエア１４５はログ可能な事象あるいはエラーが発生したかどうかをチェックする。発生しうるクリティカル事象タイプのリストを表３に示し、説明する。同リストの項目は、すべてを網羅したものではないことを理解されたい。すなわち、クリティカル事象ログに記録されるデータは、事象、エラー、あるいは任意のディスクドライブ動作情報とすることができ、それらはディスクドライブの履歴を理解し、またかかる事象、エラーあるいは他の情報が下の表３にあるか否かによって故障分析を実行するためのものである。表３の説明の意味は当業者には一般的に周知である。
【００４１】
【表３】
2004525433.tif 000004
【００４２】
特に、ファームウエア１４５は、ホストコンピュータ１４０とのオンラインディスクドライブ動作中、自蔵型ディスクドライブ書き込み認証試験（ＳＷＡＴ）中、あるいはオフライン走査中にクリティカル事象ログ動作を実行することができる。ディスクドライブ１００は、ホストコンピュータ１４５がディスクドライブ１００にアクセスするかディスクドライブ１００を制御しているとき常にホストコンピュータ１４５とオンライン状態にある。オンライン動作の顕著な例としては、ホストコンピュータ１４５によるディスクドライブ１００への読み出しあるいは書き込みコマンドの送信がある。ＳＷＡＴは基本的には、データが実際にディスクの適正な位置に適正に書き込まれているかという点でディスクへのデータ書き込みの完全性をチェックし、得られた読み出し測定値をディスクドライブ１００を後でテストおよび診断するために記憶する。ＳＷＡＴの結果はクリティカル事象ログにも記録される。さらに、ファームウエア１４５はホストコンピュータ１４０とのオフラインモード中にクリティカル事象ログ動作を開始および実行することができる。
【００４３】
表３に掲げたものに加えて、クリティカル事象ログ１２１にログすべき興味深いエントリとしてエラー再試行回復レベルがある。エラー再試行回復レベルは、ディスク上のあるセクタにアクセスするためにディスクドライブの実行する再試行のレベルを測定するものである。ディスクドライブの構成ページはクリティカル事象ログ１２１にログするのに有益な情報である。マスタあるいはスレーブディスクドライブのジャンパー設定もまたクリティカル事象ログ１２１の望ましいエントリである。ファームウエアのマイクロコードの更新を示すコード更新改定番号もまたクリティカル事象ログ１２１にログすべき有益なエントリである。
【００４４】
表３および上に示したクリティカル事象ログのエントリ群は本発明の実施例に用いられる一例である。これらのエントリはディスクドライブの種類や顧客の条件に応じて変更することができる。クリティカル事象ログ１２１中の情報はホストコンピュータを介在させることなくリアルタイムで更新される。ファームウエア１４５が表３にあるようなクリティカル事象ログのエントリのいずれか１つを検出すると、ファームウエア１４５は動作３０６−３１０によってクリティカル事象ログにそのエントリをログする。動作３０６において、ファームウエア１４５あるいはコントローラ１４２はディスク１０８に記憶されたクリティカル事象ログ１２１を読み出す。ファームウエア１４５はそのクリティカル事象ログエントリを表１から表３を参照して上述したように追加する。追加されたクリティカル事象ログはディスク１０８に記憶される。
【００４５】
つまり、本発明の実施例はクリティカル事象を（３００等の）ディスクにログする方法とみなすことができる。（１００等の）ディスクドライブは（１４０等の）ホストコンピュータに動作可能に接続することができる。（１００等の）ディスクドライブは（１０８等の）データ記憶ディスクを有し、データ記憶ディスクの一部は（１２１等の）クリティカル事象ログ記憶領域である。このクリティカル事象ログ方法では、（３０２のように）ホストコンピュータによるディスクドライブのパワーオン動作状態を判定し、クリティカル事象が（表３のような）ディスクドライブの動作に関係する所定の情報である場合、（３０４のように）ホストコンピュータを介さずクリティカル事象の発生を判定し、（３０６−３１０のように）判定したクリティカル事象をディスクのクリティカル事象記憶領域にログする。ホストコンピュータによるディスクドライブのパワーオン動作はホストコンピュータとディスクドライブとの間のデータ通信路がディスクドライブインターフェースを介して確立されているかどうかに基づいて判定される。ディスクドライブインターフェースはＡＴＡディスクドライブインターフェースとすることができる。（１４５および表３のように）クリティカル事象群があらかじめ定義され、ディスクドライブのファームウエアに記憶される。
【００４６】
このクリティカル事象ログ方法ではさらに、（３０２のように）オンラインデータ収集モードあるいはオフラインデータ収集モードを判定し、所定のクリティカル事象の１つの発生を監視する。オフラインデータ収集モードが検出されると、（３０２のように）ディスクドライブのオフライン走査が実行され、所定のクリティカル事象の１つの発生が監視される。
【００４７】
判定されたクリティカル事象は（３００のように）以下のステップを実行することによってディスクのクリティカル事象ログにログされる。第一に、（３０６のように）ディスクのクリティカル事象ログ記憶領域からクリティカル事象ログが読み出され、第二に（３０８のように）判定されたクリティカル事象が読み出されたクリティカル事象ログに追加され、第三に（３１０のように）追加されたクリティカル事象ログがディスクのクリティカル事象ログ記憶領域に記憶される。
【００４８】
本発明は、その本来の利点に加え上述した目的および利点を達成すベく良好に適合されている。本明細書の目的に合わせて現在の好適な実施例を説明したが、本発明の範囲内でさまざまな改変が可能である。当業者には容易に理解され、また添付のクレームに開示し、定義する本発明の要旨に該当する他の多くの変更が可能である。
【図面の簡単な説明】
【図１】
本発明の実施例を適用したディスクドライブの平面図であり、その主要な内部構成要素を示す。
【図２】
ディスクドライブとホストコンピュータへの接続を示す概略ブロック図であり、本発明が特に有益なサーボシステムを含む。
【図３】
本発明の実施例にしたがったクリティカル事象のロギングのフローチャートである。
【図１】
2004525433.tif 000005
【図２】
2004525433.tif 000006
【図３】
2004525433.tif 000007
【国際公開パンフレット】
2004525433.tif 000008
2004525433.tif 000009
2004525433.tif 000010
2004525433.tif 000011
2004525433.tif 000012
2004525433.tif 000013
2004525433.tif 000014
2004525433.tif 000015
2004525433.tif 000016
2004525433.tif 000017
2004525433.tif 000018
2004525433.tif 000019
2004525433.tif 000020
2004525433.tif 000021
2004525433.tif 000022
2004525433.tif 000023
2004525433.tif 000024
2004525433.tif 000025
2004525433.tif 000026
2004525433.tif 000027
2004525433.tif 000028
2004525433.tif 000029
2004525433.tif 000030
【国際調査報告】
2004525433.tif 000031
2004525433.tif 000032
2004525433.tif 000033