(57)【要約】【課題】磁気ディスク等のベリファイ処理を行うディスク制御システムにおいて、他の処理への影響を最小限とするとともに、ベリファイ処理を最後まで行えるようにする。【解決手段】ベリファイすべき記憶領域を所定のエリアごとに分割してベリファイを行うようにしベリファイ済みのエリア番号を記憶し、ベリファイ済みのエリアの次ぎのエリアからベリファイを実施できるようにした。或いは、ベリファイ済みのアドレスを記憶し、記憶したアドレスの次からベリファイを実施するようにした。或いは、ベリファイ実施間隔或いはベリファイ開始時間を設定できるようにした。或いは、ＣＰＵ使用率またはディスク制御装置の使用率に応じて、ベリファイの頻度を変化させるようにした。【選択図】図１
2008003996.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置のベリファイ処理を行うディスク制御システムにおいて、
少なくともベリファイ実施済みの情報を格納するパラメータ格納部を設け、
前記パラメータ格納部の情報に基づいてベリファイ処理を行う制御部を設けたことを特徴とするディスク制御装置。
【請求項２】
前記パラメータ格納部は、前記記憶装置の記憶領域を所定のエリアごとに分割する分割数およびベリファイ済みのエリア番号を格納するものであって、
前記分割数によって記憶領域を分割し前記ベリファイ済みのエリア番号の次のエリアよりベリファイ処理を実施するようにしたことを特徴とする請求項１記載のディスク制御装置。
【請求項３】
前記パラメータ格納部は、ベリファイ済みのアドレスを記憶するものであって、
前記ベリファイ済みのアドレスの次からベリファイ処理を実施するようにしたことを特徴とする請求項１記載のディスク制御装置。
【請求項４】
前記パラメータ格納部は、ベリファイ処理の間隔またはベリファイ開始時間を格納するものであって、
前記ベリファイ処理の間隔またはベリファイ開始時間にてベリファイ処理を実施するようにしたことを特徴とする請求項１記載のディスク制御装置。
【請求項５】
ＣＰＵ使用率またはディスク制御装置の使用率を測定する測定部と、
ＣＰＵ使用率またはディスク制御装置使用率の判定閾値を格納するパラメータ格納部を設け、
前記測定部による測定結果と前記判定閾値に基づいて、ベリファイ処理を実施する頻度を変化させるようにしたことを特徴とするディスク制御装置。
【請求項６】
前記ベリファイ処理の頻度は、ベリファイ間隔またはベリファイを停止する時間であることを特徴とする請求項５記載のディスク制御装置。
【請求項７】
記憶装置と、
請求項１ないし請求６いずれか記載のディスク制御装置と、
前記ディスク制御装置を制御する上位装置とからなり、
前記記憶装置のベリファイ処理を実施するようにしたことを特徴とするディスク制御システム。
【請求項８】
記憶装置の記憶領域を所定のエリアごとに分割してベリファイ処理を実施するステップと、
ベリファイ済みのエリア番号を記憶するステップを設け、
前記ベリファイ済みのエリア番号の次ぎのエリアからベリファイ処理を実施するようにしたことを特徴とするディスク制御方法。
【請求項９】
ベリファイ済みのアドレスを記憶するステップを設け、
前記ベリファイ済みのアドレスの次ぎからベリファイ処理を実施するようにしたことを特徴とするディスク制御方法。
【請求項１０】
ベリファイの間隔またはベリファイ開始時間を設定するステップを設け、
前記ベリファイの間隔またはベリファイ開始時間にてベリファイ処理を実施するようにしたことを特徴とするディスク制御方法。
【請求項１１】
ＣＰＵ使用率またはディスク制御装置使用率を測定するステップと、
ＣＰＵ使用率またはディスク制御装置使用率の判定閾値を設定するステップを設け、
前記測定したＣＰＵ使用率またはディスク制御装置使用率および前記判定閾値に基づいて、ベリファイ処理を実施する頻度を変化させるようにしたことを特徴とするディスク制御方法。
【請求項１２】
前記ベリファイ処理の頻度は、ベリファイの間隔またはベリファイを停止する時間であることを特徴とする請求項１１記載のディスク制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気ディスク等の記憶装置のデータチェック（以下「ベリファイ」という）を行うディスク制御技術に関する。
【背景技術】
【０００２】
近年、複数のＨＤＤ（ハードディスクドライブ）を結合してディスクアレイとし１台のＨＤＤとして使うことでアクセス速度を向上させる技術或いはデータを多重化して耐障害性を向上する技術として、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）技術が採用されている。
【０００３】
例えば、このようなＲＡＩＤ技術における従来のベリファイの方法では、一度、ベリファイを開始すると、ベリファイを完了するまでその処理を停止することができず、ベリファイを完了するまで一定の負荷をシステムに与え続けるため、ＣＰＵ使用率が増加し、他の処理の処理速度が遅くなったり、一時的にハングアップしたりすることがあった（例えば、特許文献１参照。）。
【０００４】
この不具合を改善する方法として、ＣＰＵ使用率が一定以上となったときにベリファイ処理を停止するＣＰＵ負荷制御処理技術（例えば、特許文献２参照。）や、ベリファイを行うエリアを細分化して、１つのベリファイコマンドあたりの処理時間を短くするエリア分割処理技術（例えば、特許文献３参照。）があった。
【特許文献１】特開平６−７５７０３号公報
【特許文献２】特開２０００−２８４９７６号公報
【特許文献３】特開平６−３２４８９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のＣＰＵ負荷制御処理では、ＣＰＵ使用率が所定以上となるとベリファイ処理を一旦停止させるため、運用中にＣＰＵ使用率の高い処理が連続した場合では、ベリファイ処理を停止している時間が長くなり最後までベリファイを行うことができない場合があった。
【０００６】
この問題は、近年のＨＤＤの大容量化に伴い、より一層重要な問題となってきている。すなわち、ＨＤＤの大容量化に伴い、ベリファイを終了する前にシステム運用が終了してしまい、次回起動時に、再度、最初のアドレスからベリファイを行うことになり、いつまでもベリファイを完了することができないという問題が発生していた。
【０００７】
また、もう１つのエリア分割処理においても、運用中にＣＰＵ使用率が高い処理が連続した場合では、他の処理と競合し影響を与えることがあった。そして、同様に、近年のＨＤＤの大容量化に伴い、ベリファイ終了前に運用が終了していまい、次回起動時に、再度、最初のアドレスからベリファイを行うことになり、いつまでもベリファイを完了することができないという問題が発生していた。
【課題を解決するための手段】
【０００８】
本発明は、前述の課題を解決するため次の構成を採用する。すなわち、本発明は、記憶装置のベリファイ処理を行うディスク制御システムにおいて、少なくともベリファイ実施済みの情報を格納するパラメータ格納部を設け、前記パラメータ格納部の情報に基づいてベリファイ処理を行うようにした。
【０００９】
或いは、別の発明では、ＣＰＵ等の使用率を測定する使用率測定部と、ＣＰＵ使用率等の判定閾値を格納するパラメータ格納部を設け、前記使用率測定部による測定結果と、前記判定閾値に基づいて、ベリファイ処理を行う頻度を変化させるようにした。
【発明の効果】
【００１０】
以上のように、本発明のディスク制御システムによれば、記憶装置のベリファイ処理を行うディスク制御システムにおいて、少なくともベリファイ実施済みの情報を格納するパラメータ格納部を設け、前記パラメータ格納部の情報に基づいてベリファイ処理を行うようにしたので、他の処理への影響を最小限に抑えるとともに、重複したベリファイを行う必要がなく確実にベリファイを完了することができる。
【００１１】
或いは、ＣＰＵ等の使用率を測定する使用率測定部と、ＣＰＵ使用率等の判定閾値を格納するパラメータ格納部を設け、前記使用率測定部による測定結果と、前記判定閾値に基づいて、ベリファイ処理を行う頻度を変化させるようにしたので、他の処理への影響をさらに最小限に抑え、確実にベリファイ処理を実施することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明に係る実施の形態例を、図面を用いて説明する。なお、以下の説明では、ＲＡＩＤ技術を用いたディスクアレイを例として説明するが、バックグランドにて磁気ディスク等の記憶装置のベリファイを行うシステムであればよく、１つの記憶装置のベリファイを行う場合にも適用できる。
【実施例１】
【００１３】
実施例１のディスク制御システムは、ベリファイする記憶領域を設定された分割数に分割してベリファイを行いベリファイ済みのエリア番号を記憶するようにし、次のベリファイでは、ベリファイ未実施エリアから実施するようにしたものである。
【００１４】
（構成）
図１は、実施例１のディスク制御システムの構成を示す図である。同図に示したように、ＲＡＩＤ技術を用いたファイルシステムでは、高速化を目的とした分散書込みとしてストライピング（ＲＡＩＤ０）、信頼性向上を目的としたミラーリング（ＲＡＩＤ１）、これらを複合化したもの（ＲＡＩＤ１＋０）などのいくつかのＲＡＩＤレベルをサポートしており、これをＲＡＩＤコントローラ１およびディスク制御装置７により制御するようにしている。
【００１５】
そして、例えば、ＲＡＩＤ１＋０制御の場合では、記憶領域全体を詳細後述のように任意に設定された分割数にて分割された２台のＨＤＤ２および３が、これらを制御するディスク制御装置７を経由し、上位装置１０であるところの、ＲＡＩＤコントローラ１、さらにその上位側のオペレーションシステム（以下「ＯＳ６」という）、その上位側のアプリケーション（以下「ＡＰ」という）に接続された構成となっている。
【００１６】
そして、ＲＡＩＤコントローラ１の内部には、ディスク制御用パラメータを格納するパラメータ格納部４が設けられ、記憶領域全体を分割する値としての分割数４ａと、最後にベリファイを完了した実施済エリア番号４ｂを格納できるようにしている。なお、パラメータ格納部４をＲＡＩＤコントローラ１の内部に設ける構成を例として以下説明するが、ＡＰ（５）をはじめＯＳ（６）やＲＡＩＤコントローラ１などに格納する構成としてもよいし、パラメータ格納部４の内容をレジストリファイルなどに記述してＨＤＤ２および３に格納して置くようにしてもよい。
【００１７】
（動作）
以上の構成により、実施例１のディスク制御システムは、以下のように動作する。この動作を、図２および図３の動作フローチャートを用いて以下説明する。
【００１８】
まず、図２のように、ベリファイ開始前にパラメータ格納部４の分割数４ａおよび実施済エリア番号４ｂを読込み（ステップＳ１）、分割数４ａによりベリファイ対象の総容量を分割し（ステップＳ２）、実施済エリア番号４ｂにより開始エリアを決定し（ステップＳ３）、ベリファイを実行する（ステップＳ４）。例えば、図１のように、＃００２まで、ベリファイを終了しているときは、次回のベリファイでは＃００３から実施する。
【００１９】
そして、図３に移って、本システムの運用を終了する際に、ベリファイを完了しているかどうかを判定し（ステップＳ５）、新たなエリアのベリファイを完了しているときは、前回ベリファイを実施したときの記録である実施済エリア番号４ｂを更新する。この場合は、次回のベリファイは、新たにベリファイを完了したエリアの次エリアからベリファイを実行することになる。
【００２０】
一方、ステップＳ５にてベリファイを完了していない場合は、実施済エリア番号４ｂは更新しない。この場合は、次回のベリファイ実施を行う場合も、今回と同じエリアから実施することになる。
【００２１】
以上の説明では、実施済みのエリアの最後の番号を記憶しておき、次のベリファイでは、実施済みのエリアの次のエリアから実施するように説明したが、実施済みのエリア番号をすべて記憶して置き、次のベリファイでは未実施エリアから任意に選択したエリアについてベリファイを行うようにしてもよい。
【００２２】
（実施例１の効果）
以上のように、実施例１のディスク制御システムによれば、ベリファイする記憶領域を、設定された分割数に分割してベリファイを行うようにしベリファイ済みのエリア情報を記憶するようにしたので、ベリファイ１回あたりの時間を短くすることができ他の処理への影響を最小限に抑えることができるとともに、次のベリファイでは、実施済みのエリアの次からベリファイを行うことができる。
【実施例２】
【００２３】
実施例２のディスク制御システムは、ベリファイ済みのアドレスを記憶し、次ぎのベリファイでは、記憶したベリファイ済みのアドレスの次ぎからベリファイを実施するようにしたものである。
【００２４】
（構成）
図４は、実施例２のディスク制御システムの構成を示す図である。実施例２のディスク制御システムでは、ＲＡＩＤコントローラ４のパラメータ格納部４に最後にベリファイを実施した実施済アドレス４ｃを格納できるようにしている。その他の構成は、実施例１のディスク制御システムの構成と同様であるので、簡略化のためにその説明を省略する。
【００２５】
（動作）
以上の構成により、実施例２のディスク制御システムは、以下のように動作する。この動作を、図５、図６の動作フローチャートを用いて以下説明する。
【００２６】
まず、図５のように、ベリファイ開始前に、最後にベリファイを実施したアドレスであるパラメータ格納部４の実施済アドレス４ｃを読み込み（ステップＳ１０）、当該実施済アドレス４ｃからベリファイ開始アドレスを決定し（ステップＳ１１）、ベリファイを実行する（ステップＳ１２）。例えば、図４に示したように、実施済アドレス４ｃが"１２３４ＡＢ（Ｈ）"のときは、ベリファイ開始アドレスは、次のアドレスである"１２３４ＡＣ（Ｈ）"となる。
【００２７】
そして、図６に移って、本システムの運用を終了する際に、ベリファイすべき全記憶領域のベリファイを完了しているかどうかを判定し（ステップＳ１３）、ベリファイが完了している場合は、実施済アドレス４ｃを先頭アドレス、すなわち０（Ｈ）に更新する。この場合、次回のベリファイは、先頭アドレス０（Ｈ）から新たにベリファイを実行することになる。
【００２８】
一方、ベリファイすべき全記憶領域のベリファイが完了していない場合は、最後にベリファイを実施したアドレスを実施済アドレス４ｃに上書きして更新する。この場合、次回のベリファイは、実施済アドレス４ｃの次から実施することになる。
【００２９】
（実施例２の効果）
以上のように、実施例２のディスク制御システムによれば、最後にベリファイを実施したアドレスをベリファイ開始アドレスとして記憶して置くようにしたので、次のベリファイでは、ベリファイ済みの次ぎのアドレスから実施することができ、ベリファイのための時間を長く取れないシステムにおいても、ベリファイすべき全領域をベリファイすることができる。
【実施例３】
【００３０】
実施例３のディスク制御システムは、ベリファイを実施する間隔を任意に設定できるようにしたものである。
【００３１】
（構成）
図７は、実施例３のディスク制御システムの構成を示す図である。実施例３のディスク制御システムでは、ＲＡＩＤコントローラ４のパラメータ格納部４にベリファイを実施する間隔（時間）を表すベリファイ実施間隔４ｄを格納できるようにしている。その他の構成は、実施例１のディスク制御システムの構成と同様であるので、簡略化のためにその説明を省略する。
【００３２】
（動作）
以上の構成により、実施例３のディスク制御システムは、以下のように動作する。この動作を、図８の動作フローチャートを用いて以下説明する。
【００３３】
まず、ベリファイ開始前に、パラメータ格納部４に格納されたベリファイ実施間隔４ｄを読み込み（ステップＳ２０）、当該ベリファイ実施間隔４ｄからベリファイを行う間隔（時間）を決定し（ステップＳ２１）、ベリファイを実行する（ステップＳ２２）。
【００３４】
そして、このベリファイ実施間隔４ｄの間隔（時間）により、ベリファイを繰り返し、システム全体の運用終了とともに、ベリファイを終了する。
【００３５】
（実施例３の効果）
以上のように、実施例３のディスク制御システムによれば、ベリファイを実施する間隔をあらかじめ任意に設定できるようにしたので、ベリファイによる他の処理への影響をできるだけ少なくすることができる。
【実施例４】
【００３６】
実施例４のディスク制御システムは、ベリファイ開始時間を任意に設定できるようにしたものである。
【００３７】
（構成）
図９は、実施例４のディスク制御システムの構成を示す図である。実施例４のディスク制御システムでは、ＲＡＩＤコントローラ４のパラメータ格納部４にベリファイ開始時間（スタートタイム）を表すベリファイ開始時間４ｅを格納できるようにしている。その他の構成は、実施例１のディスク制御システムの構成と同様であるので、簡略化のためにその説明を省略する。
【００３８】
（動作）
以上の構成により、実施例４のディスク制御システムは、以下のように動作する。この動作を、図１０の動作フローチャートを用いて以下説明する。
【００３９】
まず、ベリファイ開始前に、パラメータ格納部４に格納されたベリファイ開始時間４ｅを読み込み（ステップＳ３０）、ベリファイ開始時間４ｅからベリファイを開始する時間を設定し（ステップＳ３１）、ベリファイ開始時間４ｅになると（ステップＳ３２）、ベリファイを実行する（ステップＳ３２）。このベリファイ開始時間は実時間タイマーにて監視し、設定された時間になったときに割り込み処理にてベリファイを行うようにすればよい。
【００４０】
そして、ベリファイを繰り返し、ベリファイを繰り返し、システム全体の運用終了とともに、ベリファイを終了する。
【００４１】
（実施例４の効果）
以上のように、実施例４のディスク制御システムによれば、ベリファイを開始する時間を任意に設定できるようにしたので、システム起動後の初期設定等の他の処理を考慮してベリファイ開始時間を設定することにより他の処理に与える影響をできるだけ少なくすることができる。
【実施例５】
【００４２】
実施例５のディスク制御システムは、ＣＰＵ使用率に応じて、ベリファイの頻度を変化させるようにしたものである。
【００４３】
（構成）
図１１は、実施例５のディスク制御システムの構成を示す図である。実施例５のディスク制御システムでは、ＲＡＩＤコントローラ４のパラメータ格納部４に、ベリファイを停止させるＣＰＵ使用率の上限値であるＣＰＵ−Ｈｉｇｈ（４ｆ）と、ベリファイ実施間隔を延ばすＣＰＵ使用率の下限値であるＣＰＵ−Ｌｏｗ（４ｇ）を格納できるようにしている。その他の構成は、実施例１のディスク制御システムの構成と同様であるので、簡略化のためにその説明を省略する。
【００４４】
なお、ＣＰＵ使用率については、通常、ＯＳ（６）に問合せを行うことにより取得できる。例えば、ＯＳ（６）が、Ｗｉｎｄｏｗｓの場合では（Ｗｉｎｄｏｗｓは、米国Ｍｉｃｒｏｓｏｆｔ社の登録商標）、ＰｅｒｆｏｒｍａｎｃｅＣｏｕｎｔｅｒクラス等を用いてＣＰＵの使用率等を測定することができる。
【００４５】
（動作）
以上の構成により、実施例５のディスク制御システムは、以下のように動作する。この動作を、図１２の動作フローチャートを用いて以下説明する。
【００４６】
まず、ベリファイ開始前にパラメータ値ＣＰＵ−Ｈｉｇｈ（４ｆ）およびＣＰＵ−Ｌｏｗ（４ｇ）を読込み（ステップＳ４０）、ベリファイ開始後（ステップＳ４１）、前述の方法によりＣＰＵ使用率αを測定して（ステップＳ４２）、そのＣＰＵ使用率αに応じて以下の処理をそれぞれ行う（ステップＳ４３）。
【００４７】
すなわち、ＣＰＵ使用率αが上限値ＣＰＵ−Ｈｉｇｈ（４ｆ）以上の場合は、ＣＰＵがＢｕｓｙ状態であるのでベリファイを一時停止させ（ステップＳ４５）、所定の時間を経過後（ステップＳ４６）、再度、ＣＰＵ使用率αの測定を行い（ステップＳ４７）、上限値ＣＰＵ−Ｈｉｇｈ（４ｆ）よりＺｃｈ％程度下回りＢｕｓｙ状態でなくなったときは（ステップＳ４８）、ベリファイを再開する（ステップＳ４９）。なお、Ｂｕｓｙ状態の判定閾値であるＺｃｈとしては、通常、１０％〜２０％程度とするのがよい。
【００４８】
そして、所定の時間経過後、ベリファイを完了したかどうかを判定し（ステップＳ５５・Ｓ５６）、完了していない場合は、ステップＳ４２に戻り、ＣＰＵ使用率αを測定して、以降、前述と同様の処理を繰返し実施する。
【００４９】
一方、ステップＳ４３にて、ＣＰＵ使用率αが下限値ＣＰＵ−Ｌｏｗ（４ｇ）以下であった場合は、ＣＰＵが空き状態であるので、ベリファイ実施間隔を所定時間短くしベリファイを継続させる（ステップＳ５０・Ｓ５１）。ここで、ベリファイ実施間隔を短くする方法としては、ベリファイ実施間隔を所定量減算するようにしてもよいし、一定の率にて除算するようにしてもよい。
【００５０】
そして、定期的にＣＰＵ使用率αを測定して（ステップＳ５２）、下限値ＣＰＵ−Ｌｏｗ（４ｇ）よりＺｃｌ％程度上回ったときは（ステップＳ５３）、Ｂｕｓｙ状態となりつつあるので、ベリファイ実施間隔を初期値に戻し（ステップＳ５４）、一定時間経過後、ベリファイが完了しているかどうかを判定し（ステップＳ５５・Ｓ５６）、ベリファイを完了していない場合は、ステップＳ４２に戻り、ＣＰＵ使用率αを測定し、以降の処理を同様に行う。
【００５１】
なお、ステップ５３における判定閾値であるＺｃｌとしては、前述ステップＳ４８における判定閾値と同様、通常、１０％〜２０％程度とするのがよい。
【００５２】
一方、ステップＳ４３にて、ＣＰＵ使用率αが上限値ＣＰＵ−Ｈｉｇｈ（４ｆ）より小さく、かつ下限値ＣＰＵ−Ｌｏｗ（４ｇ）より大きい場合は、ＣＰＵが通常の状態であるのでベリファイを継続し（ステップＳ４４）、一定時間経過後、ベリファイが完了しているかどうかを判定し、完了していない場合は、ステップＳ４２に戻り、ＣＰＵ使用率αを測定し以降の処理を同様に行う（ステップＳ５５・Ｓ５６）。
【００５３】
なお、ＣＰＵがＢｕｓｙ状態の場合、ステップＳ４５にてベリファイを一時停止するように説明したが、一時停止するのではなく、ベリファイ実施間隔を長くするようにしてもよい。また、ＣＰＵが空き状態からＢｕｓｙ状態となりつつある場合、ステップＳ５４にて、ベリファイ実施間隔を初期値に戻し長くするように説明したが、ベリファイ実施間隔を所定の量または率により長くするようにしてもよい。
【００５４】
（実施例５の効果）
以上のように実施例５のディスク制御システムによれば、ＣＰＵ使用率によりＣＰＵの状態を判定し、Ｂｕｓｙ状態のときはベリファイを中断してＣＰＵ使用率が低下するのを待つようにし、一方、空き状態の場合はベリファイの間隔を短くするようにしたので、ベリファイによる他の処理への影響を最小限とすることができる。
【実施例６】
【００５５】
実施例６のディスク制御システムは、ディスク制御装置の使用率に応じて、ベリファイの頻度を変化させるようにしたものである。
【００５６】
（構成）
図１３は、実施例６のディスク制御システムの構成を示す図である。実施例６のディスク制御システムでは、ＲＡＩＤコントローラ４のパラメータ格納部４に、ベリファイを停止させるディスク制御装置の使用率の上限値であるＤｉｓｋＩ／Ｏ−Ｈｉｇｈ（４ｈ）と、ベリファイ実施間隔を延ばすディスク制御装置の使用率の下限値であるＤｉｓｋＩ／Ｏ−Ｌｏｗ（４ｉ）を格納できるようにしている。その他の構成は、実施例１のディスク制御システムの構成と同様であるので、簡略化のためにその説明を省略する。
【００５７】
なお、ディスク制御装置の使用率については、ＣＰＵの使用率と同様、ＯＳ（６）に問合せを行うことにより取得できる。例えば、ＯＳ（６）が、Ｗｉｎｄｏｗｓの場合では（Ｗｉｎｄｏｗｓは、米国Ｍｉｃｒｏｓｏｆｔ社の登録商標）、ＰｅｒｆｏｒｍａｎｃｅＣｏｕｎｔｅｒクラス等を用いてディスク制御装置の使用率等を測定することができる。
【００５８】
（動作）
以上の構成により、実施例６のディスク制御システムは、以下のように動作する。この動作を、図１４の動作フローチャートを用いて以下説明する。
【００５９】
まず、ベリファイ開始前にパラメータ値ＤｉｓｋＩ／Ｏ−Ｈｉｇｈ（４ｈ）およびＤｉｓｋＩ／Ｏ−Ｌｏｗ（４ｉ）を読込み（ステップＳ６０）、ベリファイ開始後（ステップＳ６１）、ディスク制御装置７の使用率βを測定して（ステップＳ６２）、ディスク制御装置７の使用率βに応じて以下の処理をそれぞれ行う（ステップＳ６３）。
【００６０】
すなわち、ディスク制御装置７の使用率βが上限値ＤｉｓｋＩ／Ｏ−Ｈｉｇｈ（４ｈ）以上の場合は、ディスク制御装置７がＢｕｓｙ状態であるのでベリファイを一時停止させ（ステップＳ６５）、所定の時間を経過後（ステップＳ６６）、再度、ディスク制御装置７の使用率βの測定を行い（ステップＳ６７）、上限値ＤｉｓｋＩ／Ｏ−Ｈｉｇｈ（４ｈ）よりＺｄｈ％程度下回りＢｕｓｙ状態でなくなったときは（ステップＳ６８）、ベリファイを再開する（ステップＳ６９）。ここで、Ｂｕｓｙ状態の判定閾値であるＺｃｈとしては、実施例５と同様、通常、１０％〜２０％程度とするのがよい。
【００６１】
そして、所定の時間経過後、ベリファイを完了したかどうかを判定し（ステップＳ７５・Ｓ７６）、完了していない場合は、ステップＳ６２に戻り、ディスク制御装置７の使用率βを測定して、以降、前述と同様の処理を繰返し実施する。
【００６２】
一方、ステップＳ６３にて、ディスク制御装置７の使用率βが下限値ＤｉｓｋＩ／Ｏ−Ｌｏｗ（４ｉ）以下であった場合は、ディスク制御装置７が空き状態であるので、ベリファイ実施間隔を所定量短くしてベリファイを継続させる（ステップＳ７０・Ｓ７１）。ここで、ベリファイ実施間隔を短くする方法としては、所定量を減算するようにしてもよいし、一定の率にて除算して減少させるようにしてもよい。
【００６３】
そして、定期的にディスク制御装置７の使用率βを測定して（ステップＳ７２）、下限値ＤｉｓｋＩ／Ｏ−Ｌｏｗ（４ｉ）よりＺｄｌ％以上上回ったときは（ステップＳ７３）、Ｂｕｓｙ状態となりつつあるので、ベリファイ実施間隔を初期値に戻し（ステップＳ７４）、一定時間経過後、ベリファイが完了しているかどうかを判定し（ステップＳ７５・Ｓ７６）、ベリファイを完了していない場合は、ステップＳ６２に戻り、ディスク制御装置７の使用率βを測定し、以降の処理を同様に行う。
【００６４】
なお、ステップ７３における判定閾値であるＺｄｌとしては、前述ステップＳ６８における判定閾値と同様１０％〜２０％程度とするのがよい。
【００６５】
一方、ステップＳ６３にて、ディスク制御装置７の使用率βが上限値ＤｉｓｋＩ／Ｏ−Ｈｉｇｈ（４ｈ）より小さく、かつ下限値ＤｉｓｋＩ／Ｏ−Ｌｏｗ（４ｉ）より大きい場合は、通常の状態であるのでベリファイを継続し（ステップＳ６４）、一定時間経過後、ベリファイが完了しているかどうかを判定し完了していない場合は、ステップＳ６２に戻り、ディスク制御装置７の使用率βを測定し以降の処理を同様に行う（ステップＳ７５・Ｓ７６）。
【００６６】
なお、ディスク制御装置７がＢｕｓｙ状態の場合、ステップＳ６５にてベリファイを一時停止するように説明したが、一時停止するのではなく、ベリファイ実施間隔を長くするようにしてもよい。また、ディスク制御装置７が空き状態からＢｕｓｙ状態となりつつある場合、ステップＳ７４にて、ベリファイ実施間隔を初期値に戻すように説明したが、ベリファイ実施間隔を所定の量または率により長くさせるようにしてもよい。
【００６７】
（実施例６の効果）
以上のように実施例６のディスク制御システムによれば、ディスク制御装置７の使用率によりディスク制御装置の状態を判定し、Ｂｕｓｙ状態のときはベリファイを中断してディスク制御装置の使用率が低下するのを待つようにし、一方、空き状態の場合はベリファイの間隔を短くするようにしたので、ベリファイによる他の処理への影響を最小限とすることができる。
【００６８】
《その他の変形例》
以上の実施例の説明では、各実施の形態を独立して実施するように説明したが、それぞれを複合させて実施させるようにしてもよい。
【００６９】
例えば、実施例１と実施例５を複合させ、記憶装置の記憶領域を所定のエリアごとに分割してベリファイを実施し実施済みのエリア番号を記憶しておき、次のベリファイでは当該実施済みエリアの次のエリアからベリファイを行うようにし、ＣＰＵがＢｕｓｙ状態であるかどうかをＣＰＵ使用率により判定し、Ｂｕｓｙ状態であれば、ベリファイの頻度を下げ、空き状態であればベリファイの頻度を増加させるようにしてもよい。
【産業上の利用可能性】
【００７０】
以上述べたように、本発明は、磁気ディスク等のベリファイ処理を行うディスク制御システムに広く用いることができる。
【図面の簡単な説明】
【００７１】
【図１】実施例１のディスク制御システムの構成図である。
【図２】実施例１のディスク制御システムの動作フローチャートである。
【図３】実施例１のディスク制御システムの動作フローチャートである。
【図４】実施例２のディスク制御システムの構成図である。
【図５】実施例２のディスク制御システムの動作フローチャートである。
【図６】実施例２のディスク制御システムの動作フローチャートである。
【図７】実施例３のディスク制御システムの構成図である。
【図８】実施例３のディスク制御システムの動作フローチャートである。
【図９】実施例４のディスク制御システムの構成図である。
【図１０】実施例４のディスク制御システムの動作フローチャートである。
【図１１】実施例５のディスク制御システムの構成図である。
【図１２】実施例５のディスク制御システムの動作フローチャートである。
【図１３】実施例６のディスク制御システムの構成図である。
【図１４】実施例６のディスク制御システムの動作フローチャートである。
【符号の説明】
【００７２】
１    ＲＡＩＤコントローラ
２、３    ＨＤＤ
４    パラメータ格納部
６    ＯＳ（オペレーションシステム）
７    ディスク制御装置
【図１】
2008003996.tif 000003
【図２】
2008003996.tif 000004
【図３】
2008003996.tif 000005
【図４】
2008003996.tif 000006
【図５】
2008003996.tif 000007
【図６】
2008003996.tif 000008
【図７】
2008003996.tif 000009
【図８】
2008003996.tif 000010
【図９】
2008003996.tif 000011
【図１０】
2008003996.tif 000012
【図１１】
2008003996.tif 000013
【図１２】
2008003996.tif 000014
【図１３】
2008003996.tif 000015
【図１４】
2008003996.tif 000016