(57)【特許請求の範囲】
【請求項１】
データの記録再生に用いられる少なくとも１枚のディスクを備えたディスク装置において、
前記ディスクのディスク面を対象とするスループット・パフォーマンスの測定を前記ディスク面上の予め定められた測定エリア別に複数回に分けて実行するために、次のスループット・パフォーマンスの測定が実行されるべき測定エリアを指し示すポインタを記憶しておくためのポインタ記憶手段と、
前記スループット・パフォーマンスの測定結果を前記測定エリア別に記憶しておくための測定結果記憶手段と、
少なくともホスト装置からのテストコマンドにより起動され、前記ポインタ記憶手段に記憶されているポインタの指し示す前記ディスクのディスク面上の測定エリアを対象にスループット・パフォーマンスの測定を開始して、その測定結果を当該測定エリアに対応付けて前記測定結果記憶手段に記憶する測定手段と、
前記ポインタの指し示す前記ディスクのディスク面上の測定エリアを対象とする前記測定手段によるスループット・パフォーマンスの測定が終了する毎に、前記ポインタを当該測定が終了した測定エリアから決定される次のスループット・パフォーマンスの測定が実行されるべき測定エリアを指し示すように更新する測定エリア切替手段とを具備し、
前記ディスクのディスク面は複数のゾーンに区分して管理されており、
前記測定エリアは複数のゾーンから構成され、
前記測定エリア切替手段は、前記測定手段によるスループット・パフォーマンスの測定が終了した測定エリアの後側領域をなす一定数のゾーンが次のスループット・パフォーマンスの測定が実行されるべき測定エリアの前側領域をなすように前記ポインタを更新する
ことを特徴とするディスク装置。
【請求項２】
データの記録再生に用いられる少なくとも１枚のディスクであって、ディスク面が複数のゾーンに区分して管理される少なくとも１枚のディスクを備えたディスク装置に適用されるスループット・パフォーマンス測定方法において、
ホスト装置からのテストコマンド受信時に、前記ディスクのディスク面を対象とするスループット・パフォーマンスの測定を前記ディスク面上の複数のゾーンから構成される予め定められた測定エリア別に複数回に分けて実行するために用いられるポインタ記憶手段に記憶されているポインタの指し示す前記ディスクのディスク面上の測定エリアを対象にスループット・パフォーマンスを測定し、その測定結果を当該測定エリアに対応付けて測定結果記憶手段に記憶するステップと、
前記ポインタの指し示す前記ディスクのディスク面上の測定エリアを対象とするスループット・パフォーマンスの測定が終了する毎に、前記ポインタを当該測定が終了した測定エリアから決定される次のスループット・パフォーマンスの測定が実行されるべき測定エリアを指し示すように更新する更新ステップであって、当該測定が終了した測定エリアの後側領域をなす一定数のゾーンが次のスループット・パフォーマンスの測定が実行されるべき測定エリアの前側領域をなすように前記ポインタを更新する更新ステップとを具備することを特徴とするスループット・パフォーマンス測定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、装置内の故障に関係ありそうなデータをモニターし、そのモニター値から故障を予測する故障予測機能を備えたディスク装置に係り、特にモニター値の１つとしてスループット・パフォーマンスを適用するディスク装置及びスループット・パフォーマンス測定方法に関する。
【０００２】
【従来の技術】
近年、故障予測機能を備えた磁気ディスク装置が製品化されている。この機能は、磁気ディスク装置内の故障に関係がありそうなデータをモニターし、そのモニター値から磁気ディスク装置の故障を予測するものである。モニター値とは、磁気ディスク装置が危険な状態にある（故障が近い）か否かを故障予測機能によって判断するための指標となるデータであり、具体的には通電時間、モータの起動／停止（Start/Stop）回数などである。
【０００３】
上記モニター値の１つに、スループット・パフォーマンスと称されるものがある。これは、ディスク（メディア）上のある範囲（通常はディスク全面）のリードを行うことにより求められるもので、例えばリードに要した時間をいう。従来の磁気ディスク装置における故障予測は、ディスク全面のリードに要した時間、即ちスループット・パフォーマンスを基準値（理論値）と比較することで行われ、これによりディスク上のデフェクト等に起因する磁気ディスク装置の総合的なパフォーマンスの低下が検出できる。
【０００４】
【発明が解決しようとする課題】
上記したように、従来の磁気ディスク装置におけるスループット・パフォーマンスを用いた故障予測は、ディスクのリードを行い、それに要した時間を基準値と比較するものであり、１回の測定でディスク全面をリードしていた。
【０００５】
ここで、ディスクのリードに要する時間は、シーク動作や、データを読み込む際のリトライ等によって変わってくる。リード動作でリトライが起こる原因にはデフェクトの発生等がある。デフェクトはディスク上のどの部分でも発生し得るものであるため、ディスク全面に対して監視する必要がある。よって、上記の如くディスク全面をリードするのが一般的である。
【０００６】
ところが、ディスク全面に対してリードを行うには多くの時間を要する。そこで、ディスクリードに要する時間を短縮するために、ディスクの一部のエリアのみを測定対象としてリードを行うことが考えられる。しかし、他のエリア（測定対象外のエリア）でデフェクトが多発している場合でも、測定対象エリア内でデフェクトが発生していないならば、デフェクト多発が測定データ（スループットパフォーマンス）に反映されず、データの信頼性が低下する。このため、測定に時間は要しても、ディスク全面を測定対象としてリードしなければならなかった。
【０００７】
本発明は上記事情を考慮してなされたものでその目的は、１回の測定ではディスクの一部だけを対象とすることで１回のスループット・パフォーマンス測定時間の短縮を図ると共に、測定対象範囲を順次切り替えて複数回の部分的な測定を行うことで最終的にディスク全面を測定してデータの信頼性を確保することができるディスク装置及びスループット・パフォーマンス測定方法を提供することにある。
【０００８】
【課題を解決するための手段】
本発明の第１の観点に係るディスク装置は、データの記録再生に用いられる少なくとも１枚のディスクを備えたディスク装置において、１回のスループット・パフォーマンスの測定対象となるディスクのディスク面上における測定エリアを指し示すポインタを記憶しておくためのポインタ記憶手段と、スループット・パフォーマンスの測定結果を測定エリア別に記憶しておくための測定結果記憶手段と、少なくともホスト装置からのテストコマンドにより起動され、上記ポインタ記憶手段に記憶されているポインタの指し示すディスク上の測定エリアを対象にリード動作を行って、そのリード動作に要する時間を測定し、その測定結果を当該測定エリアに対応付けて上記測定結果記憶手段に記録する測定手段と、全てのディスクのディスク面を複数のゾーンに区分し、上記測定手段による測定毎に、新たなスループット・パフォーマンスの測定対象となる少なくとも１つのゾーンからなる測定エリアを決定して、ポインタ記憶手段に記憶されているポインタを当該測定エリアを指すように更新することで、上記測定手段による複数回の測定で全てのディスクのディスク面が測定されるように上記測定エリアを順次切り替える測定エリア切替手段とを備えたことを特徴とする。
【０００９】
このような構成においては、１回の測定では、ディスク全面ではなくて、その一部だけが測定エリアとしてスループット・パフォーマンスの測定対象となり、部分的にリード動作が行われて、そのリード動作に要する時間が測定されることから、１回のスループット・パフォーマンスの測定時間（テストコマンド実行時間）を従来に比べて短縮することが可能となる。しかも、このような部分的な測定が行われる毎に、ポインタが更新されて測定エリアが切り替えられるため、ホスト装置からテストコマンドを複数回発行して、部分的な測定を複数回実行させることで、最終的にディスク全面を測定することができるため、データの信頼性も確保できる。
【００１０】
ここで、上記ゾーンとして、ＣＤＲ（Constant Density Recording）方式でいうところのゾーン、即ち線記録密度が同一のトラックの集合であるゾーンをそのまま適用するか、或いは各ディスクの各ディスク面、即ち各ヘッドを上記ゾーンに割り当てるのが、管理の簡略化の点で好ましい。また、上記ゾーンを、ヘッドとＣＤＲ方式でいうところのゾーンとの組み合わせとしても構わない。
【００１１】
また、全ディスク面を複数のゾーン単位に単純に分割して測定エリアを設定するようにしても構わないが、測定エリアのゾーン数を３以上として、少なくとも１ゾーンの前側領域と少なくとも１ゾーンの後側領域が前後の測定エリアと重複するような測定エリアの設定を行うようにするとよい。その理由は、測定エリアを切り替えているにも拘らず、同一ゾーンが連続して測定されるため、短時間で同一ゾーン上で急激にデフェクトが増加するといった、故障に結び付く可能性のある事象に起因するスループット・パフォーマンスの低下を効率的に検出できることによる。
【００１２】
次に、本発明の第２の観点に係るディスク装置は、上記第１の観点に係るディスク装置における測定手段に代えて、以下の測定手段、即ち、少なくともホスト装置からのテストコマンドにより起動され、上記ポインタ記憶手段に記憶されているポインタの指し示すディスク上の測定エリア、または上記測定結果記憶手段に記憶されている測定エリア別の測定結果をもとに検出される性能が最悪のディスク上の測定エリアのいずれか一方を対象にリード動作を行って、そのリード動作に要する時間を測定し、その測定結果を当該測定エリアに対応付けて上記測定結果記憶手段に記録する測定手段であって、上記ポインタの指し示す測定エリアを対象とする測定及び上記性能が最悪の測定エリアを対象とする測定を予め定められた一定の比率で切り替えて実行する測定手段を用いることを特徴とする。
【００１３】
このような構成においては、性能が最悪の測定エリアを対象とするスループット・パフォーマンスの測定が他の測定エリアより多く行われる。このように、最も性能低下が見られる最悪測定エリアを測定結果手段に記憶されている測定エリア別の測定結果をもとに検出して、当該最悪測定エリアのスループット・パフォーマンスを重点的に測定することによって、測定精度を向上することが可能となる。
【００１４】
ここで、最悪測定エリアについて、スループット・パフォーマンス以外の故障予測のための所定のモニター値（例えばエラーレート、シークパフォーマンス、デフェクト発生率）を上記測定手段において重点的に測定することで、精度の高い故障予測（故障診断）が可能となる。この測定は、最悪測定エリアを対象とするスループット・パフォーマンスの重点測定時に併せて行うと効率がよい。勿論、最悪測定エリアを対象とするスループット・パフォーマンスの測定時とは別のタイミングで行うようにしても構わない。
【００１５】
次に、本発明の第３の観点に係るディスク装置は、上記第１または第２の観点に係るディスク装置に、ホスト装置からのコマンド非受信期間が一定時間を経過したことを検出するコマンド非受信状態検出手段を設け、当該コマンド非受信状態検出手段により上記ホスト装置からのコマンド非受信期間が一定時間を経過したことが検出された場合にも、上記測定手段が起動される構成としたことを特徴とする。ここで、コマンド非受信状態検出手段により、ホスト装置からのコマンド非受信期間が一定時間を経過したことを検出するには、コマンド処理終了毎に起動されて一定時間を計測する時間計測手段（タイマ）を用い、この時間計測手段（タイマ）が一定時間を計測し終えるまでに、ホスト装置からコマンドを受信しなかったか否かを調べればよい。
【００１６】
このような構成においては、ホスト装置からのテストコマンドの発行回数が少ない場合でも、即ちテストコマンドの発行回数が少ないユーザがディスク装置を使用する場合でも、ホスト装置から一定時間いかなるコマンドも受信しなかったならば、ホスト装置からテストコマンドを受信したかのように、スループット・パフォーマンスの測定処理が自動的に行われるため、最終的にディスク全面を測定するのに要する時間を短縮できる。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。
図１は本発明の一実施形態に係る磁気ディスク装置の構成を示すブロック図である。
【００１８】
図１において、１１はデータが記録されるメディア（媒体）であるディスク（磁気ディスク）、１２はディスク１１へのデータ書き込み（データ記録）及びディスク１１からのデータ読み出し（データ再生）に用いられるヘッド（磁気ヘッド）である。ここでは、ディスク１１は３枚積層して設けられており、ヘッド１２は各ディスク１１の各データ面に対応してそれぞれ設けられているものとする。この３枚のディスク１１の各面（合計６つの面）には、それぞれ固有のヘッド番号（ここではヘッド０〜５のヘッド番号）が割り当てられている。
【００１９】
ディスク１１の両面には同心円状の多数のトラックが形成され、各トラックには、位置決め制御等に用いられる（シリンダ番号を示すシリンダコード及び当該シリンダコードの示すシリンダ内の位置誤差を波形の振幅で示すためのバーストデータを含む）サーボデータが記録された複数のサーボ領域が等間隔で配置されている。これらのサーボ領域は、ディスク１１上では中心から各トラックを渡って放射状に配置されている。サーボ領域間はユーザ領域となっている。各サーボ領域間のユーザ領域には、複数のデータセクタが設定される。
【００２０】
また、ディスク１１では、トラック（シリンダ）の物理的な周の長さが長くなるディスク１１上の外周側の領域を有効に使用して当該ディスク１１のフォーマット効率を上げるために、図２に示すように、当該ディスク１１の記録面を半径方向に複数のゾーン、例えば１０個のゾーン０〜９に分割し、各ゾーン０〜９毎に、シリンダ（トラック）当たりのデータセクタ数が異なる（外周側のゾーンほど多くなる）構成、即ちディスク転送レート（線記録密度）が異なる（外周側のゾーンのシリンダほど速くなる）ＣＤＲ（Constant Density Recording）方式のフォーマット構成を適用している。ここで、１つのゾーン内の各シリンダのディスク転送レートは等しい。
【００２１】
ディスク１１はスピンドルモータ（ＳＰＭ）１３により高速に回転する。ヘッド１２はキャリッジ１４と称するヘッド移動機構に取り付けられて、このキャリッジ１４の移動によりディスク１１の半径方向に移動する。キャリッジ１４は、ボイスコイルモータ（ＶＣＭ）１５により駆動される。
【００２２】
スピンドルモータ１３及びボイスコイルモータ１５は、モータドライバ１６に接続されている。モータドライバ１６は、スピンドルモータ１３に制御電流を流して当該モータ１３を駆動する他、ボイスコイルモータ１５に制御電流を流して当該モータ１５を駆動する。この制御電流の値（制御量）は、ＣＰＵ（マイクロプロセッサ）２０の計算処理で決定され、例えばディジタル値で与えられる。
【００２３】
各ヘッド１２は例えばフレキシブルプリント配線板（ＦＰＣ）に実装されたヘッドアンプ回路１７と接続されている。ヘッドアンプ回路１７は、ヘッド１２の切り替え、ヘッド１２との間のリード／ライト信号の入出力等を司るもので、ヘッド１２で読み取られたアナログ出力を増幅するヘッドアンプ１７１を有する。またヘッドアンプ回路１７は、リード／ライト回路１８から送られてくる書き込みデータに従いヘッド１２にライト信号（ライト電流）を出力するライトドライバ（図示せず）も有する。
【００２４】
リード／ライト回路（リード／ライトＩＣ）１８は、ヘッド１２によりディスク１１から読み取られてヘッドアンプ回路１７内のヘッドアンプ１７１で増幅されたアナログ出力（ヘッド１２のリード信号）を入力し、データ再生動作に必要な信号処理を行うデコード機能（リードチャネル）と、ディスク１１へのデータ記録に必要な信号処理を行うエンコード機能（ライトチャネル）と、ヘッド位置決め制御等のサーボ処理に必要なサーボデータ中のバーストデータを抽出する処理を行う信号処理機能とを有する。
【００２５】
サーボ処理回路１９は、リード／ライト回路１８で再生されたデータを受けてサーボ処理に必要な信号処理を実行する。即ちサーボ処理回路１９は、リード／ライト回路１８で再生されたデータからサーボ領域の期間だけ有効となるサーボゲート等の各種タイミング信号を生成するタイミング生成機能、サーボ領域に記録されているサーボデータ中のシリンダコードを抽出・復号するデコード機能を有する。またサーボ処理回路１９は、リード／ライト回路１８で抽出されたバーストデータ（アナログ信号）をＡ／Ｄ（アナログ／ディジタル）変換してＣＰＵ２０に出力するＡ／Ｄ変換機能も有する。
【００２６】
ＣＰＵ２０は、例えばワンチップのマイクロプロセッサである。このＣＰＵ２０は、ＲＯＭ２１に格納されている制御用プログラムに従って磁気ディスク装置内の各部を制御する。即ちＣＰＵ２０は、サーボ処理回路１９により抽出されたサーボデータ中のシリンダコード及びリード／ライト回路１８により抽出されたサーボデータ中のバーストデータに従って（モータドライバ１６を介してボイスコイルモータ１５を駆動制御することで）ヘッド１２を目的位置に移動させるためのシーク・位置決め制御、ＨＤＣ２４を制御することによるリード／ライトデータの転送制御など周知の制御を行う。
【００２７】
またＣＰＵ２０は、ＲＯＭ２１に格納されている制御用プログラムに従って、全てのディスク１１上の各ゾーンの組み合わせによりリードに要する時間の測定エリア（ここでは３ゾーンを１つの測定エリアとする）を設定し、測定エリアを順次切り替えながら、その測定エリアを対象とするリード動作を行って、リードに要する時間を測定する動作を繰り返す。この測定は、ホスト装置からの診断のための特定のコマンド（テストコマンド）を受け取った場合と、予め定められた一定時間ホスト装置からいかなるコマンドも受け取っていない場合とに行われる。
【００２８】
ＣＰＵ２０には、磁気ディスク装置内の各部を制御するための制御用プログラム等が格納されているＲＯＭ（Read Only Memory）２１と、ＣＰＵ２０のワーク領域、ＣＰＵ２０が使用する制御用パラメータの記憶領域等を提供するＲＡＭ（Random Access Memory）２２と、磁気ディスク装置の制御用のパラメータの保存などに用いられる書き換え可能な不揮発性メモリとしてのＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory ）２３とが接続されている。
【００２９】
ＥＥＰＲＯＭ２３には、図３（ａ）に示すように、ＣＰＵ２０がリード時間を測定すべき測定エリア（スループット・パフォーマンスの測定対象となる測定エリア）の最初のゾーン（のゾーン番号）を示すポインタＰを記憶するためのポインタ領域２３１と、各測定エリア毎の測定結果を記憶するための測定結果領域２３２とが確保されている。ポインタ領域２３１には、図１の磁気ディスク装置が出荷される前の段階で、ゾーン０を示す０（Ｐ＝０）が初期設定される。
【００３０】
ＣＰＵ２０にはまた、ＨＤＣ（ディスクコントローラ）２４が接続されている。ＨＤＣ２４は、ホスト装置（図示せず）との間のコマンド、データの通信を制御すると共に、リード／ライト回路１８（を介してディスク１１）との間のデータの通信を制御する。このＨＤＣ２４には、リード／ライトデータがキャッシュ方式で格納される、例えばＲＡＭ等で構成されるバッファメモリ（バッファＲＡＭ）２５と、ホストインタフェース２６とが接続されている。ホストインタフェース２６は、ＨＤＣ２４とホスト装置とのインタフェースをなしており、ＨＤＣ２４は当該ホストインタフェース２６を介してホスト装置との間のコマンド、データの通信を行う。
【００３１】
ＣＰＵ２０にはまた、当該ＣＰＵ２０が使用する時間カウント用のタイマ２７が接続されている。このタイマ２７は、例えばホスト装置から一定時間コマンドが与えられない状態を検出する際の時間カウント等に使用される。
【００３２】
次に図１の構成の動作を、スループット・パフォーマンスの測定を例に図４及び図５のフローチャートを適宜参照して説明する。
まず、ホスト装置から図１の磁気ディスク装置にコマンドが発行されたものとする。このコマンドは、ホストインタフェース２６及びＨＤＣ２４を介してＣＰＵ２０に渡される。
【００３３】
ＣＰＵ２０は、ホスト装置から発行されたコマンドがテストコマンド（磁気ディスク装置での故障予測に必要な各種モニター値を測定することを要求するテストコマンド）の場合、各種モニター値を測定する測定処理ルーチンを実行する。この測定処理ルーチンで行われる測定処理には、本発明に直接関係するスループット・パフォーマンスの測定処理がある。
【００３４】
ＣＰＵ２０は、スループット・パフォーマンスの測定処理を開始する際には、ＥＥＰＲＯＭ２３内のポインタ領域２３１に設定されているポインタＰを参照し、その値Ｐをスループット・パフォーマンスの測定エリアの最初のゾーンのゾーン番号として設定する。またＣＰＵ２０は、ヘッド番号（を表す変数）Ｈとして３枚のディスク１１の各面のうちのヘッド０の面を指す０に設定する（ステップＳ１，Ｓ２）。
【００３５】
次にＣＰＵ２０は、ヘッドＨ（ここではＨ＝０、即ちヘッド０）のディスク１１の面上のゾーンＰ（ここではＰ＝０、即ちゾーン０）から始まる連続する例えば３ゾーン（ここでは、ゾーン０〜２）を測定エリア（スループット・パフォーマンスの測定対象エリア）として決定し、当該測定エリアを対象にスループット・パフォーマンスを測定する（ステップＳ３）。即ちＣＰＵ２０は、ヘッドＨのディスク１１の面上のゾーンＰから始まる３ゾーン分の測定エリアを対象としてリード動作を行い、そのリード動作に要した時間を測定する。なお、本実施形態では、ゾーン９の次はゾーン０であるとして扱われ、したがってＰ＝８の場合には、ゾーン８から始まる連続する３ゾーンは、ゾーン８，９，０となり、同様にＰ＝９の場合には、ゾーン９から始まる連続する３ゾーンは、ゾーン９，０，１となる。
【００３６】
次にＣＰＵ２０は、ステップＳ３での測定結果を、ＲＡＭ２２内に確保してあるヘッドＨ（ここではヘッド０）用の測定結果領域（図示せず）に一時記憶する（ステップＳ４）。
【００３７】
次にＣＰＵ２０は、Ｈが５であるか否か、即ち最終ヘッド番号であるか否かをチェックし（ステップＳ５）、そうでないならばＨを１インクリメントインして、次のヘッド番号を設定する（ステップＳ６）。即ちＣＰＵ２０はヘッドを切り替える。そしてＣＰＵ２０はステップＳ３に戻り、新たなヘッドＨ（ここではＨ＝１、即ちヘッド１）のディスク１１の面上の（前回と同じ）ゾーンＰから始まる連続する３ゾーンを測定エリアとして、当該測定エリアを対象にスループット・パフォーマンスを測定し、その測定結果を次のステップＳ４でＲＡＭ２２内に確保してあるヘッドＨ（ここではヘッド１）用の測定結果領域に一時記憶する。
【００３８】
ＣＰＵ２０は、以上の動作を、Ｈ＝０〜５まで繰り返し実行すると、即ち３枚のディスク１１の各面について、同じゾーンＰから始まる連続する３ゾーンを対象とするスループット・パフォーマンスの測定を行うと、Ｈ＝５となっていることから、ステップＳ５からステップＳ７に進む。ＣＰＵ２０は、このステップＳ７において、ＲＡＭ２２内のヘッド０〜５用の各測定結果記憶領域に記憶されている測定結果を加算して、３枚のディスク１１の全てのヘッド（ディスク面）について、ゾーンＰから始まる連続する３ゾーンを測定エリアとしリード動作を行った場合の所要時間の合計値を求め、当該測定エリアを対象とするスループット・パフォーマンスの測定結果として、ＥＥＰＲＯＭ２３内の測定結果領域２３２におけるゾーンＰ（から始まる３ゾーン分の当該測定エリア）に固有の位置に記録する。
【００３９】
次にＣＰＵ２０は、（ポインタ領域２３１内の）ポインタＰ（即ち、測定エリアの最初のゾーンのゾーン番号）が（ディスク１１上の最終ゾーン９を示す）９であるか否かをチェックし（ステップＳ８）、９でないならばポインタＰを１インクリメントし（ステップＳ９）、９であるならばポインタＰを（ディスク１１上の先頭ゾーン０を示す）０に更新する（ステップＳ１０）。これにより、次回のスループット・パフォーマンス測定処理は、次のゾーンから始まる連続する３ゾーン（今回とは１ゾーンだけずれた連続する３ゾーン）を測定エリアとして行われることになる。
【００４０】
ＣＰＵ２０は（ステップＳ９またはＳ１０により）ポインタＰを更新すると、ホスト装置からのテストコマンド受信時のスループット・パフォーマンス測定処理を終了する。ＣＰＵ２０は、スループット・パフォーマンス測定処理以外にも、磁気ディスク装置での故障予測に必要な各種モニター値の測定処理を行い、全て終了すると、即ちテストコマンドの実行を終了すると、ホスト装置からコマンドが一定時間以上発行されない状態を監視するためにタイマ２７を起動する。このタイマ２７の起動動作は、テストコマンド以外のコマンド、例えばリード／ライト系のコマンドの実行終了時にも行われる。
【００４１】
このように本実施形態では、スループット・パフォーマンス測定処理（テスト）を１回行う毎に測定エリアをゾーン単位で変更することで、即ち１ゾーンずつずらすことで、１回の測定処理に要する時間（１回のテスト時間）を短縮している。しかも、このスループット・パフォーマンス測定処理を１０回行うことで、図６に示すように、各ゾーン０〜９から始まる連続する３ゾーンを測定エリアとするスループット・パフォーマンスの測定が一巡し、ディスク１１の各ゾーン０〜９がそれぞれ３回ずつリードされることから、即ちディスク１１の全ディスク面が３回リードされることから、１回のテスト時間は短くても、最終的にはディスク１１の全ディスク面を対象とするスループット・パフォーマンスの測定結果が、各ゾーン０〜９から始まる連続する３ゾーン（測定エリア）毎に確実に得られる。
【００４２】
このように１ゾーンずつずらしながら、一部ゾーンを重複して測定を行うのは、測定エリアを切り替えているにも拘らず、同一ゾーンが連続して測定されるようにするためである。こうすることで、短時間で同一ゾーン上で急激にデフェクトが増加するといった、故障に結び付く可能性のある事象に起因するスループット・パフォーマンスの低下を効率的に検出できる。
【００４３】
さて本実施形態では、上記のようにホスト装置からテストコマンドを受信した場合の他、タイマ２７により一定時間を計測している期間に、ホスト装置からいかなるコマンドも受け取らなかった場合にも、以下に述べるように図４のスループット・パフォーマンス測定処理が行われるようになっている。
【００４４】
ＣＰＵ２０は、タイマ２７を起動した場合には、図５のフローチャートに示すように、当該タイマ２７が一定時間を計測する前に（即ちタイムアウトとなる前に）ホスト装置から何らかのコマンドを受信したか否かを監視する（ステップＳ１１，Ｓ１２）。
【００４５】
もし、タイマ２７が一定時間を計測する前にホスト装置からコマンドを受信した場合には、ＣＰＵ２０はタイマ２７の動作をリセットさせた後（ステップＳ１３）、その受信コマンドの処理を行う。
【００４６】
これに対し、タイマ２７が一定時間を計測してもホスト装置からコマンドを受信しなかった（コマンド非受信状態の検出時の）場合には、ＣＰＵ２０はいわゆるオートオフラインテストを行う。ＣＰＵ２０はこのオートオフラインテストの中で、図４のフローチャートに示したスループット・パフォーマンス測定処理を自動的に実行する（ステップＳ１４）。そしてＣＰＵ２０は、スループット・パフォーマンス測定処理を終了すると、タイマ２７を再起動する（ステップＳ１５）。したがって、タイマ２７の再起動後、一定時間を経過してもホスト装置からコマンドを受信しない場合には、上記スループット・パフォーマンス測定処理が再び実行される。
【００４７】
一方、（ホスト装置からのテストコマンド受信による、或いはオートオフラインテストによる）スループット・パフォーマンス測定処理の実行中にホスト装置からテストコマンド以外のコマンドが新たに与えられた場合には、ＣＰＵ２０は実行中のスループット・パフォーマンス測定処理をキャンセルして、その新たなコマンドの処理を行う。
【００４８】
さてホスト装置は、図１の磁気ディスク装置での装置テスト（各種モニター値測定）に基づく故障診断の結果を必要とする場合には、当該磁気ディスク装置に対して故障診断を指示する所定のコマンドを発行する。この場合、磁気ディスク装置内のＣＰＵ２０は、各種モニター値の測定結果に基づく故障診断を行う。例えば、測定エリア別のスループット・パフォーマンスの測定結果（実際のリードに要した時間）に基づく故障診断は、各測定結果を、対応する測定エリアの基準値（その測定エリアのリードに必要な時間の理論値、或いは出荷時の計測値をもとに決定される、その測定エリアのリードに必要な標準の時間）と比較することで行われる。ここでは、基準値を越える測定結果の測定エリアが１つでもあれば、磁気ディスク装置の故障が近いと判断され、その旨がホスト装置に通知される。
【００４９】
以上に述べた実施形態では、スループット・パフォーマンス測定処理（テスト）を１回行う毎に（連続する３ゾーンからなる）測定エリアを１ゾーンずつずらす場合について説明したが、即ちディスク１１の全ディスク面に対して均等にスループット・パフォーマンス測定処理を行う場合について説明したが、これに限るものではない。例えば、スループット・パフォーマンス測定が一巡した以降の状態では、即ち全測定エリア（それぞれゾーン０〜９から始まる連続する３ゾーンからなる１０の測定エリア）についての測定結果がＥＥＰＲＯＭ２３内の測定結果領域２３２に記録されている状態では、各測定エリアの測定結果から、その時点において最も性能の悪い測定エリア（最悪測定エリア）を検出し、その最悪測定エリアの測定を他の測定エリアより多く行うようにしてもよい。
【００５０】
そこで本実施形態の変形例として、図１の磁気ディスク装置において最悪測定エリアの測定を他の測定エリアより多く行うスループット・パフォーマンス測定処理について、３つの測定エリアについて１ゾーンずつずらしながら測定する毎に、最悪測定エリアを測定する場合を例に、図７のフローチャートを参照して説明する。
【００５１】
ここでは、最悪測定エリアの測定時期を管理するために、ＥＥＰＲＯＭ２３内に、図３（ｂ）に示すようにカウンタ領域２３３が確保される。このカウンタ領域２３３は、ポインタＰの更新を伴う図４のスループット・パフォーマンス測定処理の実行回数をカウンタ値Ｃとして記憶するのに用いられ、当該カウンタ領域２３３には、図１の磁気ディスク装置が出荷される前の段階で、値が０のカウンタ値Ｃが初期設定される。
【００５２】
さてＣＰＵ２０は、ホスト装置からテストコマンドが与えられた場合、ＥＥＰＲＯＭ２３内の測定結果領域２３２を参照して、それぞれゾーン０〜９から始まる連続する３ゾーンからなる１０の測定エリアの全てについて、スループット・パフォーマンスの測定結果が記録されているか否かをチェックする（ステップＳ２１）。ここで、スループット・パフォーマンス測定が一巡した際にセットされるフラグをＥＥＰＲＯＭ２３内に設けておくならば、当該フラグを参照するだけでステップＳ２１の判断が可能となる。
【００５３】
ＣＰＵ２０は、測定結果領域２３２内に全測定エリアの測定結果が揃っていない状態では、そのまま図４のフローチャートに示したスループット・パフォーマンス測定処理を実行する（ステップＳ２２）。
【００５４】
これに対し、測定結果領域２３２内に全測定エリアの測定結果が揃っている状態では、ＣＰＵ２０はカウンタ領域２３３内のカウンタ値Ｃを参照し、値が３であるか否かをチェックする（ステップＳ２３）。
【００５５】
もし、カウンタ値Ｃが３でないならば、ＣＰＵ２０は最悪測定エリアを対象とする測定時期ではないものと判断し、そのまま図４のフローチャートに示したスループット・パフォーマンス測定処理を実行する（ステップＳ２４）。この場合、測定結果領域２３２に記録されている該当する測定エリアの測定結果が、今回の測定結果に更新される。次にＣＰＵ２０は、カウンタ領域２３３内のカウンタ値Ｃを１インクリメントして（ステップＳ２５）、一連の測定処理を終了する。
【００５６】
さて、カウンタ値Ｃの初期値は０である。したがって、スループット・パフォーマンス測定が一巡した後は、即ちそれぞれゾーン０〜９から始まる連続する３ゾーンからなる１０の測定エリアの最初の測定（１回目〜１０回目の測定）が終了した後は、まずステップＳ２４，Ｓ２５がＣ＝３となるまで繰り返される。つまりステップＳ２４，Ｓ２５が３回繰り返され、図８に示すように、それぞれゾーン０〜２から始まる連続する３ゾーンからなる３つの測定エリアの測定（１１回目〜１３回目の測定）が行われる。
【００５７】
すると、次のスループット・パフォーマンスの測定時期では、Ｃ＝３であることから、ＣＰＵ２０はステップＳ２４ではなくてステップＳ２６に進む。このステップＳ２６においてＣＰＵ２０は、測定結果領域２３２に記録されている各測定エリアの測定結果をもとに、その時点において最も性能の悪い測定エリア（最悪測定エリア）を検出する。そしてＣＰＵ２０は、ステップＳ２６で検出した最悪測定エリアを対象とするスループット・パフォーマンスの測定を、３つのディスク１１の全ての面を順次切り替えて実行する（ステップＳ２７）。ここでは、ゾーン１から始まる連続する３ゾーンが最悪測定エリアであるとして検出され、図８に示すように、１３回目の測定に続く１４回目の測定で当該測定エリアのスループット・パフォーマンスが測定されるものとする。このステップＳ２７のスループット・パフォーマンス測定処理が、図４のフローチャートの測定処理と異なる点は、ポインタ領域２３１内のポインタＰの参照・更新がなされないことである。
【００５８】
ＣＰＵ２０は、ステップＳ２７により最悪測定エリアのスループット・パフォーマンスを測定すると、測定結果領域２３２に記録されている当該測定エリアの測定結果を今回の測定結果に更新する（ステップＳ２８）。次にＣＰＵ２０は、カウンタ領域２３３内のカウンタ値Ｃを値０に再初期化して（ステップＳ２９）、一連の測定処理を終了する。
【００５９】
以上により本実施形態の変形例では、ゾーン０〜９から始まる連続する３ゾーンからなる１０の測定エリアの最初の測定（１回目〜１０回目の測定）が終了した後は、図８に示すように、測定エリアを１ゾーン単位で順次切り替えてスループット・パフォーマンスを測定する動作を３回行う毎に、その時点の最悪測定エリア（ここではゾーン１から始まる連続する３ゾーン）を対象とするスループット・パフォーマンスの測定動作が行われ、最悪測定エリアが他の測定エリアより多く測定される。このように、最もスループット・パフォーマンスの悪い測定エリアの測定回数を増やすことで、故障診断の精度を高めることが可能となる。特に、スループット・パフォーマンスが最悪の測定エリアについて、例えば当該測定エリアを対象とするステップＳ２７の測定実行時に、当該スループット・パフォーマンスの低下を招くような他の故障予測用の所定のモニター値（例えばエラーレートの測定）の測定を重点的に行うならば、測定処理を最小限に抑えながら故障診断の精度を一層高めることができる。
【００６０】
なお、前記実施形態では、測定エリアを３ゾーンとした場合について説明したが、これに限るものではなく、例えば４ゾーンなど、ディスク１１の全ディスク面の一部であればよい。また前記実施形態では、前後の測定エリアと一部領域が重複しているものとして説明したが、例えば前の測定エリアとのみ一部領域が重複していても、或いは前後の測定エリアと重複していなくても（即ち境界を共有していても）構わない。領域の重複を必要としない場合、１ゾーンを１測定エリアとすることも可能である。但し、領域を重複させない場合には、短時間で同一ゾーン上で急激にデフェクトが増加するといった、故障に結び付く可能性のある事象に起因するスループット・パフォーマンスの低下の検出が、前記実施形態に比べて遅れる恐れがある。
【００６１】
また、測定エリアをゾーンを基準に区分するのではなくて、ヘッドを基準に、例えばヘッド毎に区分するようにしても構わず、ヘッドとゾーンの組み合わせで区分するようにしても構わない。また、前記実施形態で適用したＣＤＲ方式でのゾーン、即ち線記録密度が同じトラックの集合からなるゾーンに代えて、単にディスク１１のディスク面をｎ分割（ｎは２以上の整数）することで決定されるゾーン（各ゾーンのトラック数は必ずしも同一である必要はない）を用いることも可能である。
【００６２】
また、前記実施形態では、スループット・パフォーマンスの測定結果及びポインタＰ（並びにカウンタ値Ｃ）を全てＥＥＰＲＯＭ２３（不揮発性メモリ）に記憶する場合について説明したが、例えばポインタＰ（並びにカウンタ値Ｃ）についてはＲＡＭ２２（不揮発性メモリ）内に記憶するようにしても構わない。但し、この方式では、装置の電源がオフされると、ポインタＰ（並びにカウンタ値Ｃ）が初期化されるため、その後電源がオンされても、前回の電源オフ時に測定中であった測定エリアから測定を行うことができず、常にゾーン０から始まる先頭の測定エリアから測定が行われることになる。この場合でも、前記実施形態での変形例のように、最悪測定エリアを他の測定エリアより多く測定することで、故障診断の精度が低下するのを防ぐことが可能となる。
【００６３】
また、スループット・パフォーマンスの測定結果及びポインタＰ（並びにカウンタ値Ｃ）のうちの少なくともスループット・パフォーマンスの測定結果を、ＥＥＰＲＯＭ２３以外の不揮発性記憶媒体、例えばディスク１１の所定領域に記録するようにしても構わない。ここで、上記所定領域は、ユーザによるリード／ライトの禁止領域とするとよい。この種の領域は、一般にシステム領域と呼ばれる。
【００６４】
また、以上に述べた実施形態では磁気ディスク装置について説明したが、本発明は、記録再生用のディスクを少なくとも１枚備えたディスク装置であれば、光磁気ディスク装置など、磁気ディスク装置以外のディスク装置にも適用可能である。
【００６５】
【発明の効果】
以上詳述したように本発明によれば、ディスクの全ディスク面を複数のゾーンに分け、１回のスループット・パフォーマンスの測定では、そのうちの少なくとも１ゾーンからなる測定エリアだけを対象とし、その測定の都度、測定エリアを順次切り替える構成としたので、１回のスループット・パフォーマンス測定に要する時間を短縮でき、しかも複数回の測定により最終的にディスク全面を測定してデータの信頼性も確保することができる。
【００６６】
また本発明によれば、最も性能低下が見られる測定エリアを測定エリア別の測定結果をもとに検出して、その測定エリア（最悪測定エリア）のスループット・パフォーマンスを重点的に測定する構成としたので、測定精度を向上することができる。
【００６７】
また本発明によれば、ホスト装置から一定時間いかなるコマンドも受信しなかったならば、ホスト装置からのテストコマンド受信時と同様に、スループット・パフォーマンスの測定処理が行われため、最終的にディスク全面を測定するのに要する時間を短縮できる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る磁気ディスク装置の構成を示すブロック図。
【図２】図１中のディスク１１で適用されるＣＤＲ方式のフォーマットの概念図。
【図３】図１中のＥＥＰＲＯＭ２３に割り当てられる領域の第１及び第２の例を示す図。
【図４】同実施形態におけるスループット・パフォーマンス測定処理を説明するためのフローチャート。
【図５】同実施形態におけるタイマ起動時の処理を説明するためのフローチャート。
【図６】同実施形態における１回のスループット・パフォーマンス測定処理の対象となる測定エリアと１回測定毎の測定エリアの切り替えとを説明するための図。
【図７】同実施形態における変形例を説明するためのフローチャート。
【図８】同変形例における１回のスループット・パフォーマンス測定処理の対象となる測定エリアと１回測定毎の測定エリアの切り替えとを説明するための図。
【符号の説明】
１１…ディスク
１２…ヘッド
２０…ＣＰＵ（測定手段、測定エリア切替手段、コマンド非受信状態検出手段）
２１…ＲＯＭ（測定手段、測定エリア切替手段、コマンド非受信状態検出手段）
２２…ＲＡＭ
２３…ＥＥＰＲＯＭ（ポインタ記憶手段、測定結果記憶手段）
２７…タイマ
２３１…ポインタ領域（ポインタ記憶手段）
２３２…測定結果領域（測定結果記憶手段）
２３３…カウンタ領域
【図１】
0003887062.tif 000002
【図２】
0003887062.tif 000003
【図３】
0003887062.tif 000004
【図４】
0003887062.tif 000005
【図５】
0003887062.tif 000006
【図６】
0003887062.tif 000007
【図７】
0003887062.tif 000008
【図８】
0003887062.tif 000009