(57)【特許請求の範囲】
【請求項１】
鏡映された論理ボリュームを読出すためにシステム内のローディングを動的に調整する方法であって、
連続する時間期間中の上記鏡映されたボリュームに対する少なくともデータの読出し及び書込みを記述する統計量を収集するステップと、
上記統計量から、上記鏡映された論理ボリュームのローディング、及び上記鏡映された論理ボリュームへのアクセスの効率の測度を決定するステップと、
上記ローディング及びアクセスの効率の決定に基づいて上記ボリュームのローディングをより公平に平衡させるために、上記鏡映された論理ボリュームへのアクセスを動的に調整するステップと、
を含んでいることを特徴とする方法。
【請求項２】
上記論理ボリュームローディングを周期的に更新するために、上記決定及び調整ステップを周期的に繰り返すステップ、
を更に含んでいることを特徴とする請求項１に記載の方法。
【請求項３】
上記収集ステップは、
各論理ボリューム毎に、
最後の時間期間中の読出しの数と、
最後の時間期間中の書込みの数と、
最後の時間期間中に順次であった入力／出力動作のパーセンテージと、
を記述する統計量を収集するステップ、
を含んでいることを更に特徴とする請求項２に記載の方法。
【請求項４】
上記調整ステップは、
上記最後の時間期間中の上記順次入力／出力動作のパーセンテージが選択されたしきい値を超えると何時でもインタリーブミラーサービスポリシーを選択するステップ、
を含んでいることを更に特徴とする請求項３に記載の方法。
【請求項５】
上記しきい値は、少なくとも60％であることを特徴とする請求項４に記載の方法。
【請求項６】
上記決定ステップは、
上記最後の時間期間中の読出し数及び書込み数をそれぞれ重み付けすることによって、論理ボリュームのミラー対の使用率レベルを決定するステップ、
を含んでいることを特徴とする請求項３に記載の方法。
【請求項７】
鏡映された論理ボリュームの上記の１つを制御する各デバイス毎に、使用率レベルを決定するステップと、
上記鏡映された論理ボリュームを制御するために、最小の使用率レベルを有する制御デバイスを選択するステップと、
を更に含んでいることを特徴とする請求項６に記載の方法。
【請求項８】
各鏡映された論理ボリューム対のための制御デバイスを決定するために、使用率レベルが減少する順番に請求項７の選択ステップを繰り返すステップ、
を更に含んでいることを特徴とする請求項７に記載の方法。
【請求項９】
上記調整ステップは、
論理ボリュームの全セットにまたがるシーク時間を最適化するために、各鏡映された論理ボリューム毎に初期ミラーサービスポリシー判断を審査するステップ、
を含んでいることを特徴とする請求項１に記載の方法。
【請求項１０】
複数のディスクアダプタの１つによって各々が制御されている複数の物理デバイスのためのミラーサービスポリシーを動的に調整する装置であって、
磁気メモリ内に格納されているコンピュータプログラムを備え、
上記コンピュータプログラムは、
連続する時間期間中の上記鏡映されたボリュームに対する少なくともデータの読出し及び書込みを記述する統計量を収集するステップと、
上記統計量から、上記鏡映された論理ボリュームのローディング、及び上記鏡映された論理ボリュームへのアクセスの効率の測度を決定するステップと、
上記ローディング及びアクセスの効率の決定に基づいて上記ボリュームのローディングをより公平に平衡させるために、上記鏡映された論理ボリュームへのアクセスを動的に調整するステップと、
を含んでいることを特徴とする装置。
【請求項１１】
上記プログラムは、
上記論理ボリュームローディングを周期的に更新するために、上記決定及び調整ステップを周期的に繰り返すステップ、
を更に含んでいることを特徴とする請求項１０に記載の装置。
【請求項１２】
上記プログラムに含まれる上記収集ステップは、
各論理ボリューム毎に、
最後の時間期間中の読出しの数と、
最後の時間期間中の書込みの数と、
最後の時間期間中に順次であった入力／出力動作のパーセンテージと、
を記述する統計量を収集するステップ、
を含んでいることを更に特徴とする請求項１１に記載の装置。
【請求項１３】
上記プログラムに含まれる上記調整ステップは、
上記最後の時間期間中の上記順次入力／出力動作のパーセンテージが選択されたしきい値を超えると何時でもインタリーブミラーサービスポリシーを選択するステップ、
を含んでいることを更に特徴とする請求項１２に記載の装置。
【請求項１４】
上記しきい値は、少なくとも60％であることを特徴とする請求項１３に記載の装置。
【請求項１５】
上記プログラムに含まれる上記決定ステップは、
上記最後の時間期間中の読出し数及び書込み数をそれぞれ重み付けすることによって、論理ボリュームのミラー対の使用率レベルを決定するステップ、
を含んでいることを特徴とする請求項１２に記載の装置。
【請求項１６】
上記プログラムは、
鏡映された論理ボリュームの上記の１つを制御する各デバイス毎に、使用率レベルを決定するステップと、
上記鏡映された論理ボリュームを制御するために、最小の使用率レベルを有する制御デバイスを選択するステップと、
を更に含んでいることを特徴とする請求項１５に記載の装置。
【請求項１７】
上記プログラムは、
各鏡映された論理ボリューム対のための制御デバイスを決定するために、使用率レベルが減少する順番に請求項１６の選択ステップを繰り返すステップ、
を更に含んでいることを特徴とする請求項１６に記載の装置。
【請求項１８】
上記プログラムに含まれる上記調整ステップは、
論理ボリュームの全セットにまたがるシーク時間を最適化するために、各鏡映された論理ボリューム毎に初期ミラーサービスポリシー判断を審査するステップ、
を更に含んでいることを特徴とする請求項１０に記載の装置。
【請求項１９】
複数のディスクアダプタの１つによって各々が制御されている複数の物理デバイスのためのミラーサービスポリシーを動的に調整する装置であって、
磁気メモリ内の格納されているコンピュータプログラムを備え、
上記コンピュータプログラムは、
連続する時間期間中の上記鏡映されたボリュームに対する少なくともデータの読出し及び書込みを記述する統計量を収集するステップと、
上記統計量から、上記鏡映された論理ボリュームに基づいて上記ディスクアダプタのローディングを決定するステップと、
上記ディスクアダプタのローディングの決定に基づいて上記ディスクのローディングをより公平に平衡させるために、上記鏡映された論理ボリュームへのアクセスを少なくとも部分的に動的に調整するステップと、
を含んでいることを特徴とする装置。
【請求項２０】
上記鏡映された論理ボリュームは、２つの論理ボリュームのグループからなることを特徴とする請求項１９に記載の装置。
【請求項２１】
鏡映された論理ボリュームを読出すためのシステム内のローディングを動的に調整する方法であって、
連続する時間期間中の上記鏡映されたボリュームに対する少なくともデータの読出し及び書込みを記述する統計量を収集するステップと、
上記統計量から、上記鏡映された論理ボリュームの読出し及びアクセスに基づいて上記システムのローディングを決定するステップと、
上記システムのローディングの決定に基づいて上記ボリュームの読出し及びアクセスにおける上記ローディングをより公平に平衡させるために、上記鏡映された論理ボリュームへのアクセスを動的に調整するステップと、
を含んでいることを特徴とする方法。
【請求項２２】
上記鏡映された論理ボリュームは、２つの論理ボリュームのグループからなることを特徴とする請求項２１に記載の方法。
【発明の詳細な説明】
【０００１】
（発明の背景）
本発明は一般的には大容量記憶システムに関し、より詳しく述べれば、格納された論理ボリュームが鏡映された（もしくは、ミラーされた）形状で複製されている大容量記憶システムに関する。
【０００２】
過去数年にわたって大容量記憶システムは、格納されるバイト当たりのコストは低く維持されたまま、容量がかなり成長してきた。従って、システムの信頼性を増加させ、故障に対して保護するためにさまざまな方法及びシステムが開発されてきた。１つのこのようなポリシー（もしくは、政策）は、データの２つまたはそれ以上のコピーを格納することを含み、これは鏡映されたデバイスと呼ばれている。このシステムは全てのコピーを最新のものに維持するが、特定の時点には１つまたは別のコピーが最も完全であり得る。最も典型的には、２つのコピーが存在する。
【０００３】
典型的なシステムにおいては、各物理デバイスは複数の論理ボリュームに分割されることが多い。これらの環境の下では各論理ボリュームは、１つまたは複数のコンピュータには別個のドライブであるように見え、論理ボリュームに関してあたかもそれが物理ボリュームであるかのように動作が遂行される。従って、若干の論理ボリュームは、読出し及び／または書込み動作のために実質的により屡々アクセスされる可能性があり、また動作の性質は、読出し及び書込み動作の特定のシーケンス中に、ランダムアクセスから順次アクセスまで変化し得る。多くの論理ボリュームを含む物理ドライブの読出し及び書込み動作の本質及び多様性に依存して、ディスク読出し／書込みヘッドは激しく作業する可能性があり、またもし順次読出し及び書込み位置が互いに近くに位置していなければ、アクセス時間が平均して増加し得る。
【０００４】
これらの問題に対処する１方法は、データの読出し及び書込みの最適化を企図するミラーサービスポリシーを静的にセットすることである。このポリシーは、例えば、殆どのデータ転送が本質的に順次であるとするか、またはそれらがランダムであるとしている。このポリシーは、例えば、インタリーブ、混合、専用、または他のポリシーを含むことができ、これらはドライブが使用される技法を見直した後に、データへの最良平均時間アクセスを与えることが明白である。
【０００５】
１つのこのようなポリシーは、論理ボリュームの第１の半分に入っている要求だけにサービスすることである。別のポリシーは、奇数グループ（グループは、ブロックの数によって限定される）内に入っている要求だけにサービスすることである。例えば、第１のグループ（ブロック０−959）がコピー１によってサービスされ、次のグループがコピー２によってサービスされる等である。これらのポリシーの限界は、その静的な性質が原因である。これらのポリシーはシステム構成時に選択され、決して変化しない。若干の静的ポリシーは順次アクセスパターンを偏重し、他のポリシーはランダムアクセスパターンを偏重する。ユーザはアクセスパターンを変化させるので、どちらのポリシーも最適ではない。
【０００６】
（発明の概要）
従って、本発明は、連続時間期間中のシステムの鏡映された論理ボリュームに対するデータの読出し及び書込みを記述する統計量を周期的に収集するステップと、収集された統計量から各鏡映された論理ボリュームグループ（対であることが多い）のローディングを決定する、そして好ましい実施の形態においては各鏡映された論理ボリューム対へのアクセスの効率の測度を決定するステップと、各鏡映されたグループ毎に鏡映されたサービスポリシーを、必要に応じて、動的に調整または変化させて鏡映された論理ボリュームグループのローディング、及び記憶システムのローディングをより公平に平衡させるステップとによって、ディスクドライブシステムのためのミラーサービスポリシーを動的に調整する方法に関する。
【０００７】
本方法は、収集及び決定ステップを周期的に繰り返すステップと、それに応答してディスクドライブ論理ボリュームのためのミラーサービスポリシーを動的に且つ周期的に変化させるステップとを更に特色としている。本発明の別の面によれば、最後の時間周期中の読出しの数、最後の時間周期中の書込みの数、及び最後の時間周期中の本質的に順次である入力／出力動作のパーセンテージを含む各論理ボリュームを記述する統計量を収集するステップを更に特色としている。
【０００８】
上述したように、本発明は、論理ボリュームにアクセスする特定の技法に合わせるために、各論理ボリュームグループ毎に、ミラーサービスを有利且つ適応的に、そして動的に変化させる。これは論理ボリューム上に格納されているデータを変化させない読出し動作に関してだけ効率的に発生させることができるが、この調整は物理ドライブの故障間の平均時間を改善するだけではなく、データを物理ドライブから呼出すシーク時間をも短縮させる。また本方法及び装置は、どのコントローラの使用率（もしくは、アクティビティ）が最高レベルにあるかを決定し、どのような現存高ロード状態をも軽減させるようにポリシーを選択することによって、システム全体のロードを有利に平衡させる。
【０００９】
本発明の他の特色及び長所は、以下の添付図面に基づく説明から明白になるであろう。
【００１０】
（好ましい特定の実施の形態の説明）
図１を参照する。本発明は、複数のホストコンピュータ１２ａ、１２ｂ、…、１２ｎからデータ及び命令を受け、データをそれらへ送給し、そしてそれらに応答する記憶システム１０に関する。記憶システム１０は、ディスクドライブコントローラ１６、及び複数のディスクドライブ要素１４ａ、１４ｂ、…、１４ｋを有する大容量記憶システムである。コントローラ１６は、ホストコンピュータ１２とディスクドライブ要素１４とを相互接続し、例えばＥＭＣ製のSymmetrixコントローラとして知られているコントローラであることができる。従って、ディスクドライブコントローラ１６は、例えばＳＣＳＩプロトコルに従って接続され動作するバス１８ａ、１８ｂ、…、１８ｎを通して種々のホストコンピュータからメモリ書込み命令を受け、これらの命令に関連するデータを、それぞれの接続用バス２０ａ、２０ｂ、…、２０ｋを通してディスクドライブ要素１４へ送給する。バス２０も、ＳＣＳＩプロトコルに従って動作することが好ましい。コントローラはバス１８を通してホストコンピュータから読出し命令をも受け、要求されたデータをコントローラのキャッシュメモリから、またはもしデータがキャッシュメモリ内で使用不能であれば、ディスクドライブ要素からコンピュータへ送給する。
【００１１】
各ディスクドライブ要素１４は、典型的には９ギガバイトを超える記憶容量を有しており、公知の技術に従って複数の論理ボリュームに論理的に分割されている。従って、各ディスクドライブ要素１４は、単一のディスクドライブ要素上に例えば４、８、またはそれ以上の論理ボリュームのような複数の論理ボリュームを有することができる。典型的な構成では、コントローラシステムは、接続用バス２４を通してコンソールＰＣ２２にも接続されている。コンソールＰＣはコントローラの保守及びそれへのアクセスのために使用され、公知のようにコントローラのパラメータをセットするために使用することができる。
【００１２】
動作中、ホストコンピュータ１２ａ、１２ｂ、…は、それらが走っているアプリケーションによる要求に応じて大容量記憶デバイスへ命令を送り、論理ボリューム内に格納されているデータを要求するか、または論理ボリュームに書込まれるデータを供給する。図２を参照する。ＥＭＣ Symmetrixコントローラが、典型的にはＳＣＳＩバスライン１８を通してホストコンピュータから複数のチャンネルディレクタのポートまでの通信の例として使用されている。各チャンネルディレクタ自体は、１つまたはそれ以上のシステムバス３２または３４を通してグローバルメモリ３６に接続されている。グローバルメモリは大きいメモリであって、チャンネルディレクタがそれを通してディスクドライブと通信することができ、またコントローラのキャッシュメモリを含むことができることが好ましい。グローバルメモリには、ディスクドライブ要素１４を制御する複数のディスクディレクタまたはディスクアダプタ３８も接続されている。ディスクアダプタも、好ましくはＳＣＳＩバス４０を通してグローバルメモリ３６と通信する。
【００１３】
本発明によれば、ディスクアダプタはグローバルメモリからデータを読出してそれらが責を負っている論理ボリュームへそれを書込み、また読出し命令に応答して論理ボリュームからデータを読出し、後刻チャンネルアダプタによって、要求したホストへ送給するためにそのデータをグローバルメモリへ書込むことができる。
【００１４】
論理ボリュームの複数のコピーが維持されているような、即ち、詳述すれば、データの２つのコピーが２つの異なる論理ボリューム内に別々に格納されているような構成を、ミラーコピーが維持されていると言う。（本発明の他の実施の形態においては、２つよりも多くのミラードコピーが存在することができ、例えば４つまたはそれ以上のミラードコピーが存在することができる。典型的には、この実施の形態の目的のために、対にされたコピーを使用する。）次いで、コントローラは、ディスク要素内に格納されている何れかのコピーから読出すことによって読出し要求に応答することができる。以上のように、ホストコンピュータからの要求に応答してどのアダプタが読出しに責を負っているかを識別するミラーサービスポリシーが、ディスクコントローラ内に、そしてディスクアダプタの間に実現されている。普通は、このポリシーは、予測されるロードを考慮に入れてシステムセットアップの始まりに固定され、変化しない。しかしながら、本発明の好ましい実施の形態によれば、大容量記憶システムに対する読出し及び書込み要求の性質を記述する統計量に応答してサービスポリシーを周期的に変更し、記憶システムの動作中のミラーサービスポリシーを周期的に変化させるようなダイナミックミラーサービスポリシーインプリメンテーションが提供される。
【００１５】
このダイナミックミラーサービスポリシー（ＤＭＳＰ）は、静的ミラーサービスポリシーの長所を使用するが、それらの限界に取り組み、選択されたポリシーを周期的に調整することによって、従来は利用できなかった、または企図されてもいなかった重要な長所を提供する。所与の時間期間にわたってデータアクセス情報が収集され、その期間の終わりに、各論理ボリューム毎に、それを使用するための最良のポリシーについての判断がなされる。アクセスレートが高い論理ボリュームは、アクセスレートが低いボリュームよりも優先的に処理される。収集された情報は、読出し及び書込みの両動作についてのアクセスレートと、その時間期間中のアクセスがどのように順次（もしくは、シーケンシャル）であったかを含む。ポリシーの決定には、多くのファクタが含まれる。これらのファクタは、含まれている物理ディスク（コピー）の使用率レベル、含まれているディスク記憶ディレクタの使用率レベル、アクセスがどのように順次であったか、及び同一の鏡映されたディスクを使用してい異なるホストアドレス可能なボリューム間の関係を含む。
【００１６】
ミラーサービスポリシーの再計算はそれ程屡々行われず、マスターディスクアダプタとして指名されているディスクアダプタ３８内では低優先順位タスクとして処理される。しかしながら、単一のディスクアダプタの性能に与える衝撃を減少させるために、この動作を複数のディスクアダプタ（ＤＡ）全体に拡張することができる。新しいポリシーに対する決定を行う時点に到達すると（ステップ１００（図３））、テーブル内に収集された全ての論理ボリュームのための統計量が審査される（ステップ１０１）。即ち、このテーブル内の論理ボリュームは使用率レベルによって分類され（ステップ１０２）、次いで各論理ボリュームにサービスする物理デバイス及びディスクアダプタの先行期間の使用率レベルに基づいて、その論理ボリューム（またはその一部）にはどのミラーが最良サービスを行うのかが判断される（ステップ１０４）。全ての論理ボリュームに対してこの“最良ミラー”判断がなされた後に、その判断に矛盾しないようにミラーサービスポリシーが割当てられ（ステップ１０６）、そして、多分、２つの例外が決定され
割当てられる（ステップ１０８）。判断基準の中で、システムは高い比の順次Ｉ／Ｏ動作が検出されたか否かを決定し、検出されている場合にはインタリーブポリシーを選択することができ、また、もしランダムＩ／Ｏ動作が検出され、同一の２つのミラーを使用する他の論理ボリュームが存在しなければ、混合ポリシーを選択することができるので、２つのミラーを有することの利点が無駄になることはない。
【００１７】
ミラーサービスポリシーは、各ミラーが論理ボリュームにサービスする責を負う時点を確定する規則である。詳述すれば、実施することができるミラーサービスポリシーは、インタリーブサービスポリシー、混合サービスポリシー、ミラー１だけのサービスポリシー、及びミラー２だけのサービスポリシーを含む。インタリーブミラーサービスポリシーは、ミラーが、それらがサービスする論理ボリュームのどのシリンダを交互させるかを規定する。インタリーブファクタは、１つおきのシリンダから例えば32,768おきのシリンダまでわたることができる。以下のテーブルにおいては、このミラーサービスポリシーはコード“＄００”で表されている。混合ミラーサービスポリシーは、一方のミラーが論理ボリュームの第１の半分にサービスし、他方のミラーが論理ボリュームの他の半分にサービスするようなサービスポリシーである。このミラーサービスポリシーは、以下のテーブル内にコード“＄Ｃ１”で表されている。ミラー１及びミラー２サービスポリシーは、場合に応じてミラー１及びミラー２だけが論理ボリュームにサービスすると規定される。これらのミラーサービスポリシーは、以下のテーブル内にコード“＄８０”（ミラー１のみのサービスポリシー）またはコード“＄４０”（ミラー２のみのサービスポリシー）で表されている。
【００１８】
新しいポリシーが計算された後に、ＧＳＴ待ち行列を使用して全てのディスクアダプタに待ち行列のポーリングをより屡々開始するメッセージを同報する。全てのディスクアダプタがより屡々ポーリングされた後に、ＧＳＴ待ち行列（ディスクアダプタが互いに（好ましくは、グローバルメモリを通して）通信し合う方法）を通して更新メッセージが送られ、ディスクアダプタにそれらの論理ボリュームのために新しいミラーサービスポリシーをグローバルメモリから入手するように告げる（ステップ１１２）。このメッセージのために全てのディスクアダプタは同期しており、この命令が実行される間、全てのディスクアダプタを短時間（100ｍｓ以下）休止させることができる。
【００１９】
上述したように、本発明によれば、動作はマスターである１つのディスクディレクタによって制御される。マスターディレクタが故障の場合には、指名されたバックアップディレクタがシステムの動作に関して責を負う。
【００２０】
上述したように、ミラーサービスポリシー判断動作は、例えば10分おきに実施されるように、極めて低い優先順位の背景タスクとして実行される。判断プロセス開始の実行後、プロセスは断片で実行することができるので、到来する要求を処理するのにマスターディスクディレクタが使用できない時間は殆ど無いに等しい。断片サイズ（もし必要ならば）は選択可能であり、例えば、一時的に、正常ディスクアダプタ動作を再開するまでにどれ程多くの論理ボリュームを検査するかで決定される。
【００２１】
ポリシー決定プロセスを走らせる時点が決定されると、マスターディスクアダプタは、ローカルメモリ内のDMSP TABLEと呼ぶ基本パラメータテーブル（図５を参照して後述する）の動的部分を充填し始める。DMSP TABLEの静的部分は、マスターディレクタの初期化プロセス中に１回だけ初期化される（図４Ａ、４Ｂ、４Ｃ）。DMSP TABLEは、例えばトップ“ｎ”（例えば、500）の最も使用率が高いボリュームのために独特な位置１３０（図５Ａ）を含んでいる（スペース及び時間を節約するために）が、他の実施の形態ではより多くの、または少ないボリュームを、またはシステム内の全論理デバイスを考慮に入れることができる。２つの真のミラーデバイスを有していない論理ボリュームは、そのボリュームのためのDMSP TABLE内のデータが有効ではないことを指示するために無効値にセットされているDMSP LVパラメータを有している。
【００２２】
テーブルは論理ボリューム順に更新され（ステップ３０２）、次いで使用率レベルによって分類される（ステップ３０４）。図示の実施の形態においては、使用率レベルはDMSP RD LVL及びDMSP WR LVL（以下に定義）の値の組合わせであり、２つの値に適用される重み付けは調整可能である。（初めは、DMSP RD LVLに100％の重み付けをし、DMSP WR LVLに50％の重み付けをすることから開始する。）分類プロセスによって単独でリンクされたリスト（図５Ｂ）が得られ、これは、もし望むならば、最も使用率が高いボリュームがリストの始まりにあるように論理ボリューム使用率レベルによって、または図５Ｂに示すようにポインタを使用して分類することができる。
【００２３】
新しいミラーポリシー（DMSP PAL）の下で各物理ボリュームの使用率がどれ程であるのか、及び新しいミラーサービスポリシー（DMSP DAAL）の下で各ディスクアダプタ（ＤＡ）の使用率がどれ程であるのかをそれぞれ示しているDMSP PHYS ACT LVL及びDMSP DA ACT LVLテーブルが、この時点に０に初期化される（ステップ３０６）。
【００２４】
テーブルが初期化されると、DMSP TABLE内の第１の論理ボリューム（最高使用率レベルを有する論理ボリューム）（図５）から始まる判断プロセスの核心が開始される。先ず、最後の時間期間における順次ＩＯ使用率のパーセンテージ（DMSP PERC SEQ）、及び読出し数（DSP RD LVL）、及び書込み数（DMSP WR LVL）が決定され、テーブル内で更新される（ステップ２００）。現在のミラーサービスポリシー（DMSP OLD POLICY）が保管され（ステップ２０２）、新しいミラーサービスポリシー（DMSP NEW POLICY）がクリアされる（ステップ２０４）。
【００２５】
次に、論理ボリュームがマストによってサービスされるべき物理デバイスはどれかについて判断がなされる（ステップ２０６）。この判断は、２つの方法の１つによってなされる。即ち、
１）もし、順次Ｉ／Ｏレベル（DMSP PERC SEQ）が選択された値（省略時値  は60％）より大きく、その論理ボリュームがその物理デバイス上で最も使用率  が高く、そしてそれが次に最も使用率が高い論理ボリュームの２倍以上の使用  率あれば（ステップ２１０）、そのミラーサービスポリシーはインタリーブに  セットされ、DMSP PREFERRED DEVがセットされて両デバイスをインタ  リーブ方式で使用すべきことを指示する（ステップ２１２）。
２）そうでなければ、含まれている物理ディスク及びディスクアダプタの使用率  レベルが比較され（可変ではあるが、ディスクアダプタ重み付けの省略時値は  20％である）、この論理ボリュームにサービスするために最低使用率との組合  わせが選択される（ステップ２１６）。
【００２６】
第２の代替を遂行するためには、DMSP DA ACT LVL及びDMSP PHYS ACT LVLテーブルが使用される。物理デバイス及びＤＡの使用率レベルは、それまでに収集された（既に処理済みの論理ボリュームのためのDMSP DA ACT LVL及びDMSP PHYS ACT LVLテーブルから）実際の使用率レベルを使用し（ステップ２３０）、その物理デバイスまたはＤＡによってサービスされる残余の全ての論理ボリュームの使用率の50％をそれに加えることによって決定される（ステップ２３２）。これら２つの数（含まれている物理ディスクの計算された使用率レベル及びＤＡの計算された使用率レベル）は組合わされ（可変ではあるが、ＤＡ重み付けの省略時値は20％である）、その物理ディスクが新しいミラーサービスポリシーの下でこの論理ボリュームにサービスすべきか否かの判断パラメータとして使用される（ステップ２３４）。この判断がなされると、DMSP PREFERRED DEVがDMSP DA ACT LVLテーブル内で更新され、現在の論理ボリュームの使用率レベルがDMSP DA ACT LVL及びDMSP PHYS ACT LVLテーブル内の対応する領域に加えられ（ステップ２３６）、プロセスが繰り返される（ステップ２３８）。
【００２７】
全ての論理ボリュームにサービスするための好ましいミラーが決定されると、本発明の方法は、シーク最短化ステップ２５０を遂行するために全ての論理ボリュームを再処理する。このステップにおいて、同一の２つの物理デバイスを使用する全ての論理デバイスのリストが作られる（ステップ２５２）。このリストが作られると、そのリスト内の現在の論理ボリュームの位置（第１の半分、または第２の半分）が選択されたデバイス（DMSP PREFERRED DEV）に対して比較される（ステップ２５４）。もしその論理ボリュームリスト内の位置と競合するデバイスが選択されれば、もし可能であれば、この論理ボリュームの好ましいデバイスは変更される（ステップ２５８）。この変更を遂行するためには、同じ問題を抱えてはいるが物理デバイスのための論理ボリュームリストの他の半分内に入る別の論理ボリュームを見出さなければならない。もしこのようなボリュームが見出され、そしてそのボリュームの使用率レベルが現在のボリュームのある範囲（範囲は可変であるが、その時間間隔内の1000Ｉ／Ｏの省略時値が選択される）内にあれば、両論理ボリューム上の好ましいデバイスがスワップされる。この技術を使用すると、平衡が維持され、シークが最適化される。
【００２８】
次に、各論理ボリューム毎にDMSP NEW POLICYを作成することができる。再び分類されたリストのトップから始めて、DMSP PREFERRED DEVがその論理ボリュームにサービスすることを許容するようにミラーサービスポリシーがセットされる（ステップ２７０）。もしその論理ボリュームのための物理ボリュームの１つが、DMSP PHYS ACT LVLテーブル内にそれに対して記録された使用率を有していなければ、混合サービスポリシーが選択され、それに関する使用率を有していないデバイスのDMSP PHYS ACT LVL内にある値が配置され、そのデバイスが再度使用されることはない（ステップ２７４）。これにより遊休アクチュエータは存在しなくなる。
【００２９】
全てのミラーサービスポリシーが決定されると、マスターＤＡはDMSP TABLEをグローバルテーブル内に保管し、それを広範にアクセス可能にし、次いで全てのＤＡへのＧＳＴ待ち行列エントリを作る（ステップ２８０）。全てのＤＡにＧＳＴ待ち行列ポーリングの頻度を増加させることを依頼するメッセージが送られる（ステップ２８２）。全てのＤＡがこの要求に応答すると、マスターＤＡは、新しいミラーサービスポリシーを採用するように全てのＤＡに命令するメッセージと共に、別のＧＳＴ待ち行列エントリを作る（ステップ２８４）。この時点で全てのＤＡは、それらの論理ボリュームのために、グローバルメモリ内のDMSP TABLE内のミラーサービスポリシーに一致させるようにそれらのミラーサービスポリシーを更新する。全てのＤＡはこれを同時に遂行し（ステップ２８６）、全てのＤＡがこのメッセージに応答するまでは他のタスクを継続することはない。これが同期更新である。上述したように、この更新中には、ディレクタが新しい要求を処理しない短い時間（100ミリ秒より短い）が存在している。システムは、マスターＤＡのメッセージに対する広範な応答のための“時間切れ”をも設け、もし時間切れになれば、全てのディレクタは元のミラーサービスポリシーに復帰する（ステップ２８８、２９０）。
【００３０】
例
本発明による動作を説明し、明瞭にする以下の例においては、２つの異なるディスクアダプタ（ＤＡ２及びＤＡ３とラベル付けされている）のために10の論理ボリューム及び10の物理ディスクを有しているものとする。物理ディスクは鏡映されており、即ち同一の論理ボリュームが２つの異なる物理ディスク上に現れ、各鏡映対毎に２つの論理ボリュームが存在している。更に、この例では、ディスクアダプタ使用率レベルと物理デバイス使用率レベルとの間の重み付けが等しいものとしている。
【００３１】
ＤＡ初期化時に、DMSP TABLEは図５Ａに示すように初期化される。この実施の形態においては、DMSP PDLは各物理デバイス毎に２バイトの計４バイトで表されている（16進法で示されている）ことに注目されたい。第１のバイトはディレクタ番号であり、第２のバイトの第１のニブルはそのディレクタ上のインタフェースまたはポート番号である。第２のニブルは、そのインタフェースまたはポート上のＴＩＤである。他の実施の形態では、テーブルは、例えば15ＴＩＤよりも多くを許容することができる。
【００３２】
ダイナミックミラーサービスポリシー（ＤＭＳＰ）を実行する時点に到達すると、マスターＤＡは図５Ａのテーブルを実際の数で充填し始める。これらの数が充填されたテーブルは、図５Ｂに示すようになる。
【００３３】
次のステップは、図５Ｂの表を使用率レベルによって分類することである。読出し及び書込みの両方に同じ重み付けが使用されているものとしている。分類の出力を図５Ｃに示す。DMSP DA ACT LVL及びDMSP PHYS ACT LVLテーブルは、今は０に初期化されている（図５Ｄ及び５Ｅ参照）。
【００３４】
今度はDMSP TABLE内の第１のデバイスから始めて（ポインタは、テーブルが分類された後に最高の使用率レベルを有する論理ボリュームを指し示している）、本発明の方法は、好ましいデバイスに関する判断を行うために、使用率レベルの比較を開始する。最高使用率レベルを有する論理ボリューム９から始めて、本方法は、どの物理デバイスが好ましいか（２つのデバイスの間を選択できる）について判断するために２つの比較数を決定する。２つのデバイス（及びポート）インタフェースレベルを図５Ｆ及び５Ｇに示す。
【００３５】
これら２つのレベルを決定した後に、DMSP PREFERRED DEVがデバイス０３００として選択される（それがより低い使用率レベルを有しているから）。図５Ｈ及び５Ｉに示すように、この論理デバイスの使用率を使用して、DMSP DA ACT LVL及びDMSP PHYS ACT LVLテーブルが更新される。
【００３６】
次いで次のデバイス（論理ボリューム５）が処理される。（今は論理ボリューム９のための図５Ｄのポインタを参照。）DMSP PERCENT SEQは70％（この例の場合の順次しきい値）よりも大きいから、本方法はインタリーブミラーサービスポリシーを選択する。DMSP PREFERRED DEVは＄ＦＦにセットされ、論理ボリューム使用率レベルの50％がＤＡ及び物理デバイスの両者に加えられる。これを図５Ｊ及び５Ｋに示す。
【００３７】
次に、図５Ｌ及び５Ｍに示すように次のデバイス（論理ボリューム６）が処理される。これら２つのデバイスの使用率レベルを決定した後に、DMSP PREFERRED DEVがデバイス０２１０として選択されよう（それがより低い使用率レベルを有しているから）。この論理デバイスの使用率を使用してDMSP DA ACT LVL及びDMSP PHYS ACT LVLテーブルが、図５Ｎ及び５Ｐに示すように更新される。
【００３８】
次に、次のデバイス（論理ボリューム４）が処理され、使用率レベルが決定される。その結果を図５Ｑ及び５Ｒに示す。これら２つのレベルが決定された後にDMSP PREFERRED DEVがデバイス０２０２として選択されよう（それがより低い使用率レベルを有しているから）。この論理デバイスの使用率を使用してDMSP DA ACT LVL及びDMSP PHYS ACT LVLテーブルが、図５Ｓ及び５Ｔに示すように更新される。
【００３９】
次に、次のデバイス（論理ボリューム３）が処理され、デバイス使用率レベルが決定される。その結果を図５Ｕ及び５Ｖに示す。これら２つの使用率レベルが決定された後にDMSP PREFERRED DEVがデバイス０３１１として選択されよう（それがより低い使用率レベルを有しているから）。この論理デバイスの使用率を使用してDMSP DA ACT LVL及びDMSP PHYS ACT LVLテーブルが、図５Ｗ及び５Ｘに示すように再び更新される。
【００４０】
次に、次のデバイス（論理ボリューム２）が処理され、そのデバイス使用率レベルが決定される。その結果を図５Ｙ及び５Ｚに示す。これら２つのデバイス使用率レベルが決定された後にDMSP PREFERRED DEVがデバイス０２０１として選択されよう（それがより低い使用率レベルを有しているから）。次いで、この論理デバイスの使用率を使用してDMSP DA ACT LVL及びDMSP PHYS ACT LVLテーブルが、図５ＡＡ及び５ＡＢに示すように更新される。
【００４１】
次に、次のデバイス（論理ボリューム０）が処理され、そのデバイス使用率レベルが図５ＡＣ及び５ＡＤに示すように決定される。これら２つのレベルが決定された後にDMSP PREFERRED DEVがデバイス０３００として選択されよう（それがより低い使用率レベルを有しているから）。この論理デバイスの使用率レベルを使用してDMSP DA ACT LVL及びDMSP PHYS ACT LVLテーブルが、図５ＡＥ及び５ＡＦに示すように再び更新される。
【００４２】
次に、次のデバイス（論理ボリューム１）が処理され、そのデバイス使用率レベルが決定される。その結果を図５ＡＧ及び５ＡＨに示す。これら２つのデバイス使用率レベルが決定された後にDMSP PREFERRED DEVがデバイス０３１０として選択されよう（それがより低い使用率レベルを有しているから）。今度は、この論理デバイスの使用率レベルを使用してDMSP DA ACT LVL及びDMSP PHYS ACT LVLテーブルが、図５ＡＩ及び５ＡＪに示すように再び更新される。
【００４３】
次に、次のデバイス（論理ボリューム７）が処理され、そのデバイス使用率レベルが図５ＡＫ及び５ＡＬに示すように決定される。これら２つのレベルが決定された後にDMSP PREFERRED DEVがデバイス０３０１として選択されよう（それがより低い使用率レベルを有しているから）。この論理デバイスの使用率レベルを使用してDMSP DA ACT LVL及びDMSP PHYS ACT LVLテーブルが、図５ＡＭ及び５ＡＮに示すように更新される。
【００４４】
次に、この例の最後のデバイス（論理ボリューム８）が処理される。得られたそのデバイスの使用率レベルを図５ＡＰ及び５ＡＱに示す。これら２つの使用率レベルが決定された後にDMSP PREFERRED DEVがデバイス０２１１として選択されよう（それがより低い使用率レベルを有しているから）。この論理デバイスの使用率レベルを使用してDMSP DA ACT LVL及びDMSP PHYS ACT LVLテーブルが、図５ＡＲ及び５ＡＳに示すように更新される。
【００４５】
このプロセスの後のDMSP TABLEは、図５ＡＴに示すようになる。再びリストの始まりから開始して、パーセント順次に基づいてミラーサービスポリシーが先ず決定され（ここでは、70％を超える値を使用するには、インタリーブミラーサービスポリシーであることが要求される）、好ましいデバイスが選択される。（図５ＡＴにおいては、既にインタリーブポリシーに入っており、インタリーブファクタがＦＦに等しい“Pref”にセットされていることに注目されたい。）新しいポリシーには、図５ＡＵに示すようなDMSP TABLEにおいて入ることになる。
【００４６】
物理デバイスの１つが使用されない（DMSP PHYS ACT LVLテーブル内にカウントが存在しないことに対応する）インスタンスは存在しない。もし使用されない物理デバイスが存在すれば、その物理ボリュームによってサービスされる第１の論理ボリュームはそのミラーサービスポリシーを混合（＄Ｃ１）に変更してしまう。
【００４７】
この点において、このプロセスを実行するＤＡはＧＳＴ待ち行列エントリを、ＧＳＴ待ち行列をより屡々ポーリングすることを開始する他の全てのＤＡへのメッセージと共に作成する。全てのＤＡがこのメッセージを受けると、新しいDMSP TABLE（これは実行が完了した後に、グローバルメモリへ戻してコピーされている）に基づいてミラーサービスポリシーを更新するための別のメッセージが送られる。
【００４８】
本発明の好ましい実施の形態への追加、削除、及びたの変更は当業者には明白であろう。またはそれらは特許請求の範囲内にある。
【図面の簡単な説明】
【図１】  本発明を使用することができるシステムの概要ブロック図である。
【図２】  例示ディスクコントローラシステムのより詳細なブロック図である。
【図３】  本発明の好ましい実施の形態による命令の流れを示す流れ図である。
【図４】  Ａ、Ｂ、及びＣは一緒になって、本発明による動作を示す流れ図である。
【図５】  DMSP TABLEの説明であり、図５Ａ−５ＡＵは、本発明の好ましい実施の形態による作業例を示すテーブルである。
【図１】
0004109416.tif 000002
【図２】
0004109416.tif 000003
【図３】
0004109416.tif 000004
【図４Ａ】
0004109416.tif 000005
【図４Ｂ】
0004109416.tif 000006
【図４Ｃ】
0004109416.tif 000007
【図５】
0004109416.tif 000008
【図５Ａ】
0004109416.tif 000009
【図５Ｂ】
0004109416.tif 000010
【図５Ｃ】
0004109416.tif 000011
【図５Ｄ】
0004109416.tif 000012
【図５Ｅ】
0004109416.tif 000013
【図５Ｆ】
0004109416.tif 000014
【図５Ｇ】
0004109416.tif 000015
【図５Ｈ】
0004109416.tif 000016
【図５Ｉ】
0004109416.tif 000017
【図５Ｊ】
0004109416.tif 000018
【図５Ｋ】
0004109416.tif 000019
【図５Ｌ】
0004109416.tif 000020
【図５Ｍ】
0004109416.tif 000021
【図５Ｎ】
0004109416.tif 000022
【図５Ｐ】
0004109416.tif 000023
【図５Ｑ】
0004109416.tif 000024
【図５Ｒ】
0004109416.tif 000025
【図５Ｓ】
0004109416.tif 000026
【図５Ｔ】
0004109416.tif 000027
【図５Ｕ】
0004109416.tif 000028
【図５Ｖ】
0004109416.tif 000029
【図５Ｗ】
0004109416.tif 000030
【図５Ｘ】
0004109416.tif 000031
【図５Ｙ】
0004109416.tif 000032
【図５Ｚ】
0004109416.tif 000033
【図５ＡＡ】
0004109416.tif 000034
【図５ＡＢ】
0004109416.tif 000035
【図５ＡＣ】
0004109416.tif 000036
【図５ＡＤ】
0004109416.tif 000037
【図５ＡＥ】
0004109416.tif 000038
【図５ＡＦ】
0004109416.tif 000039
【図５ＡＧ】
0004109416.tif 000040
【図５ＡＨ】
0004109416.tif 000041
【図５ＡＩ】
0004109416.tif 000042
【図５ＡＪ】
0004109416.tif 000043
【図５ＡＫ】
0004109416.tif 000044
【図５ＡＬ】
0004109416.tif 000045
【図５ＡＭ】
0004109416.tif 000046
【図５ＡＮ】
0004109416.tif 000047
【図５ＡＰ】
0004109416.tif 000048
【図５ＡＱ】
0004109416.tif 000049
【図５ＡＲ】
0004109416.tif 000050
【図５ＡＳ】
0004109416.tif 000051
【図５ＡＴ】
0004109416.tif 000052
【図５ＡＵ】
0004109416.tif 000053