(57)【特許請求の範囲】
【請求項１】
ディスクアレイ記憶装置における物理ディスク記憶装置の負荷を平均化する方法であって、各物理ディスク記憶装置が少なくとも１つの読取り／書込みヘッドを備え、少なくとも２つの物理ディスク記憶装置が複数の論理ボリュームにデータを格納し、更に各物理ディスク記憶装置がシーク作動フェーズ、待機フェーズ、データ転送フェーズ及び待ち時間フェーズを含む一連の作動フェーズでデータを読出しまたは書込むデータ転送要求に応答し、
（Ａ）(i)複数のテストサブ間隔を含むテスト間隔を定義し、且つ、
(ii)作動データの各項目を、前記テスト間隔のサブ間隔及び前記論理ボリュームに割当てることにより、前記データ転送要求に応答して前記物理ディスク記憶装置のうちの所定の装置の各論理ボリュームにアクセスした際のアクセス回数を含む作動データを生成する処理と；
（Ｂ）前記作動データを、各所定の物理ディスク記憶装置の各論理ボリュームのディスク利用値へ変換する処理であって、即ち、
(i)（ａ）物理ディスクドライブ上の一対の論理ボリュームに対するアクセス数、及びある論理ボリュームから別の論理ボリュームへ前記読取り／書込みヘッドを移動させるシークタイムを基に前記シークフェーズの時間を規定し、
（ｂ）Ｉ／Ｏ要求の到着とシーク作動の開始との間の経過時間を基に前記待機フェーズの時間を規定し、
（ｃ）データの転送時間の合計と、前記論理ボリュームを格納する物理ディスク記憶装置のデータ転送率とを基に前記データ転送フェーズの時間を規定し、
（ｄ）前記論理ボリュームを格納する物理ディスク記憶装置へのアクセス数とスピンドル速度とを基に前記待ち時間フェーズの時間を規定した場合に、
前記フェーズ群から選択される１つ又は複数のフェーズそれぞれの所要時間を基にして時間ベースのディスク利用度に関する統計値を各論理ボリュームサブ間隔で生成し、
(ii)前記生成された時間ベースの利用統計値を組合わせることで、前記論理ボリュームサブ間隔のディスク利用値を得ることができ；
（Ｃ）ボリューム交換を行えば前記所定の物理ディスク記憶装置の負荷バランスを改善できる１対の論理ボリュームを選択するために、前記得られたディスク利用値の差を利用した負荷評価の解析を行う処理と；
（Ｄ）前記負荷評価の解析結果から選択された論理ボリュームを交換する処理と；
を含む方法。
【請求項２】
各物理ディスク記憶装置が一連の作動フェーズ中のデータ転送要求に応答し、前記作動データをディスク利用値に変換する処理が、
(i)各論理ボリュームについての各作動フェーズに関する利用統計値である論理ボリュームフェーズ利用値を生成する処理と；
(ii)前記論理ボリュームフェーズ利用値を組合わせて前記論理ボリュームに関する利用統計値であるディスク利用値を得る処理と；
を含むことを特徴とする、請求項１に記載の方法。
【請求項３】
前記作動データの生成が、
(i)複数のテストサブ間隔を含むテスト間隔を定義する処理と；
(ii)作動データの各項目をサブ間隔に割り当てる処理と；
を含むことを特徴とする、請求項２に記載のデータ交換方法。
【請求項４】
前記作動データをディスク利用値に変換する処理が、
(i)各論理ボリュームの各サブ間隔に関する作動データを論理ボリュームサブ間隔利用値に変換する処理と；
(ii)テスト間隔に亘る前記論理ボリュームサブ間隔利用値を組合わせて、論理ボリュームディスク利用値を生成する処理と；
(iii)物理ディスク記憶装置上の各論理ボリュームについての前記論理ボリュームディスク利用値を組合わせて、各物理ディスク記憶装置についてのディスク利用値を得る処理と；
を含むことを特徴とする、請求項１に記載の方法。
【請求項５】
前記作動データの生成が、
(i)複数のテストサブ間隔を含むテスト間隔を定義する処理と；
(ii)作動データの各項目をサブ間隔へ割り当てる処理と；
を含むことを特徴とする、請求項１に記載の方法。
【請求項６】
前記選択された作動データをディスク利用値へ変換する処理が、
(i)各論理ボリュームの各サブ間隔で選択された作動データを、前記選択されたフェーズの各フェーズに関する論理ボリュームサブ間隔フェーズ利用値に変換する処理と；
(ii)前記テスト間隔に亘る前記論理ボリュームサブ間隔フェーズ利用値を組合わせて、論理ボリュームフェーズ利用値を生成する処理と；
(iii)物理ディスク記憶装置上の各論理ボリュームに関する前記論理ボリュームフェーズ利用値を組合わせて、論理ボリュームディスク利用値を得る処理と；
(iv)物理ディスク記憶装置上にある各論理ボリュームに関する前記論理ボリュームディスク利用値を組合わせて、各物理ディスク記憶装置についてのディスク利用値を得る処理と；
を含むことを特徴とする、請求項１に記載の方法。
【請求項７】
前記作動データの生成が、
(i)前記アクセス回数を読取り又は書込みに応じた複数のタイプに分類する処理と；
(ii)前記アクセス回数を前記タイプ別に従って加重する処理と；
(iii)前記各タイプについて加重された前記アクセス回数を組合わせて、サブ間隔での論理ボリュームに対する作動データを得る処理と；
を含むことを特徴とする、請求項１に記載の方法。
【請求項８】
前記各サブ間隔で作動データをディスク利用値に変換する処理は、各論理ボリュームに対する加重アクセス回数に依存する統計値を生成して、各物理ディスク記憶装置に対する全シークフェーズ時間を得る処理を含んでいることを特徴とする、請求項７に記載の方法。
【請求項９】
前記各サブ間隔で作動データをディスク利用値に変換する処理は、各論理ボリュームに対する加重アクセス回数に依存する統計値を生成して、各物理ディスク記憶装置に対する全待ちフェーズ時間を得る処理を含んでいることを特徴とする、請求項７に記載の方法。
【請求項１０】
前記作動データには前記各データ転送要求に応答して転送されたデータ量と、物理ディスク記憶装置がデータを転送する速度とを含み、そして、受け取ったデータ転送要求に応答して、前記各サブ間隔で作動データをディスク利用値に変換する処理には、前記データを転送するのに必要な時間を表すディスク転送フェーズ時間を生成する処理を含んでいることを特徴とする、請求項７に記載の方法。
【請求項１１】
前記各サブ間隔で作動データをディスク利用値に変換する処理は、各論理ボリュームに対する加重アクセス回数に依存する統計値を生成して、各物理ディスク記憶装置に対する全待機フェーズ時間を得る処理を含んでいることを特徴とする、請求項７に記載の方法。
【請求項１２】
前記ディスク利用値へ変換する処理が、
(i)前記物理ディスク記憶装置をディスク利用値によって順番づける処理と；
(ii)交換可能な論理ボリュームのリストを識別する処理と；
(iii)交換のためにリストから１対の論理ボリュームを選択する処理と；
を含む解析処理を有することを特徴とする、請求項１に記載の方法。
【請求項１３】
ディスク利用値の高い物理ディスク記憶装置から論理ボリュームの一方が選択され、ディスク利用値の低い物理ディスク記憶装置から論理ボリュームの他方が選択されることを特徴とする、請求項１２に記載の方法。
【請求項１４】
交換が行われた後のディスクアレイ記憶装置の作動を予測するために、前記変換処理および前記解析処理を使用して、前記選択された論理ボリュームを予備テストする処理を付加的に含むことを特徴とする、請求項１２に記載の方法。
【請求項１５】
前記作動データ生成処理と、前記ディスク利用値の変換処理と、後続の解析で使用する補正因子を生成するための解析処理とに基づいて、前記予測された作動とディスク記憶装置の作動とを比較する処理を付加的に含むことを特徴とする、請求項１４に記載の方法。
【請求項１６】
少なくとも２つの物理ディスク記憶装置が複数の論理ボリュームにデータを格納し、各物理ディスク記憶装置がデータを読取りまたは書込むためのデータ転送要求に応答してディスクアレイ記憶装置内の物理ディスク記憶装置上の負荷を平均化する方法であって、
（Ａ）解析間隔と、当該解析間隔に包含される解析サブ間隔の長さを定義する処理と；
（Ｂ）データ転送要求に応答して、前記各解析サブ間隔で、前記物理ディスク記憶装置のうちの所定の物理ディスク記憶装置にある各論理ボリュームに対するアクセス回数を含む作動データを生成する処理と；
（Ｃ）前記各解析サブ間隔の間に得られた前記作動データを基に、データ読取りまたは書込みに関する複数の作動フェーズの各所要時間を、前記ディスクアレイ記憶装置への入出力要求への応答のために要した統計量として生成し、そして前記統計量を組合わせることで前記各所定の物理ディスク記憶装置および前記所定の物理ディスク記憶装置内の各論理ボリュームに対するディスク利用値に変換する処理と；
（Ｄ）ボリューム交換を行えば前記所定の物理ディスク記憶装置に対する負荷平均を改善できる１対の論理ボリュームを選択するために、前記得られたディスク利用値の差を利用した負荷評価の解析を行う処理と；
（Ｅ）前記選択された論理ボリュームを交換する処理と；
を含むことを特徴とする方法。
【請求項１７】
少なくとも２つの物理ディスク記憶装置が複数の論理ボリュームにデータを格納し、各物理ディスク記憶装置がデータを読取りまたは書込むためのデータ転送要求に応答してディスクアレイ記憶装置内の物理ディスク記憶装置上の負荷を平均化する方法であって、
（Ａ）解析間隔の長さを定義する処理と；
（Ｂ）データ転送要求に応答して、各解析間隔で、前記物理ディスク記憶装置のうちの所定の物理ディスク記憶装置にある各論理ボリュームに対するアクセス回数を含む作動データを生成する処理と；
（Ｃ）前記各解析間隔の間に得られた前記作動データを基に、データ読取りまたは書込みに関する複数の作動フェーズの各所要時間を、前記ディスクアレイ記憶装置への入出力要求への応答のために要した統計量として生成し、そして前記統計量を組合わせることで前記各所定の物理ディスク記憶装置および前記所定の物理ディスク記憶装置内の各論理ボリュームに対するディスク利用値に変換する処理と；
（Ｄ）ボリューム交換を行えば前記所定の物理ディスク記憶装置に対する負荷平均を改善できる１対の論理ボリュームを選択するために、前記得られたディスク利用値の差を利用した負荷評価の解析を行う処理と；
（Ｅ）前記選択された論理ボリュームを交換する処理と；
を含むことを特徴とする方法。
【発明の詳細な説明】
【０００１】
（関連出願の説明）
本発明は１９９８年８月２８日出願の米国特許出願番号０９／１４３，６８３号の一部継続出願であり、同出願は継続中の１９９８年１月２日出願の米国特許出願番号０９／００２，４２８号の一部継続出願であり、同出願は継続中の１９９７年１０月６日出願の米国特許出願番号０８／９４４，６０６号の一部継続出願であり、これらは全て本発明と同一の出願人に譲渡されている。
本発明の出願人に譲渡されている、本発明と同日に出願された米国特許出願（代理人番号第０７０７２／９２９００１号）「記憶サブシステム制御用メールボックス」および、本発明と同日に出願された米国特許出願（代理人番号第０７０７２／９２５００１号）「非物理ミラー記憶環境におけるシーク調節を伴う動的ミラーサービス方法」が、参考文献として本明細書に組み込まれている。
【０００２】
【発明の属する技術分野】
本発明は一般的にはデータ処理システムの資源管理に関し、より詳細にはディスクアレイ記憶装置の管理に関する。
【０００３】
【従来技術】
現在では多くのデータ処理システムがディスクアレイ記憶装置に組み込まれている。これらのデバイスの各々は、論理ボリューム中に配置された複数の物理ディスクを有している。これらのディスク上のデータはコマンド、特に１つまたはそれ以上のホスト処理装置からの読取り／書込みコマンドに応答する種々の入出力制御プログラムを介してアクセス可能である。本発明の出願人による市販されているシメトリクス５５００シリーズの統合キャッシュディスクアレイは、そのようなディスクアレイ記憶装置の１つの例である。この特定のアレイは、数テラバイト以上に達する大量のデータを記憶する能力を有する、複数の物理ディスク記憶装置またはドライブを備える。そのような資源の管理が非常に重要になる理由は、そのようなアレイの能力の非効果的な利用が、データ処理システム全体の効率に重大な影響を及ぼす可能性があるからである。
【０００４】
一般的にシステム管理者は、直接アクセス記憶装置の初期化に際し、格納されるデータセットの幾つかの特性を決定する。これらの特性として、データセットサイズ、ボリューム名およびシステムによっては論理ボリュームと多重ホスト処理システムにおける特定ホスト処理装置との間の対応を挙げることができる。その後、システム管理者はこの情報を使用して、種々のデータセットを異なる物理デバイスに亘って分散させることによって、つまり、複数のアプリケーションによる物理デバイスの同時使用が回避されることを見込んで、ディスクアレイ記憶装置を構成する。この限定された情報に基づく割り当ては不適切になることがよくある。これが生じると、原構成（コンフィギュレーション）はデータ処理システム全体の効率を非常に低下させることがある。
【０００５】
この問題を解消する１つの試みとして、特定のデータセットをロードする前にディスクアレイ記憶装置の処理オペレーションの解析を先行させ、その後データセットのロード位置を決定することが提案されている。例えば、ハーツング（Ｈａｒｔｕｎｇ）他による米国特許第４，６３３，３８７号には、多重ユニットデータ処理システムにおける負荷平均化が開示されており、ここではホストは複数の記憶装置ディレクタを介して複数のディスク記憶ユニットで作動する。このアプローチによれば、最も忙しくない記憶装置ディレクタがより繁忙な記憶装置ディレクタになすべき仕事を要求する。繁忙側記憶装置ディレクタは仕事送り側ユニットとして、仕事要求側または非繁忙側記憶装置ディレクタに仕事を供給する。
【０００６】
マクブライド（ＭｃＢｒｉｄｅ）他による米国特許第５，２３９，６４９号には、アプリケーションの長時間実行の間にチャネルパス上の負荷を平均化するシステムが開示されている。この負荷平均化方式によれば、ボリュームの選択は呼側ホストに類似性のあるものによってなされる。それぞれの結合チャネルパスにまたがる負荷も計算される。異なるアプリケーションから生じる負荷の異なる大きさを考慮して、最少の不使用チャネルパスに結合されたボリュームを選択するよう計算は加重される。最適ボリュームは次ぎに処理されるボリュームとして選択される。その後、ボリューム処理と関連する負荷は、それぞれの結合チャネルパスに亘って平均的に分散していると仮定して、各チャネル上のモニターされた負荷が、新しく選択されたボリュームと関連する負荷を含むように更新される。その結果、後続のボリュームの選択は更新された負荷情報に基づくことになる。この方法は、直ちに次の残余ボリューム選択処理の間継続する。
【０００７】
別のアプローチとして、ページ（Ｐａｇｅ）による米国特許第３，７０２，００６号には、多重タスキング可能なデータ処理システムにおける負荷平均化が開示されている。連続する割り当てルーチンの間の時間間隔を通して、各入出力デバイスが各々のタスクによりアクセスされる回数がカウントされる。各割り当てがなされている間、カウントと時間間隔を利用した解析が行われ、現在のタスクによる各デバイスの利用度が評価される。割り当て中のタスクによる予想利用度も同様に評価される。その後、平均化された入出力活動度を得るために、評価された現在の利用度と予想利用度とが、データセットを最少利用度の入出力デバイスへ割り付ける試みの基準として考慮され使用される。
【０００８】
前述の参考文献の各々は、データセットについての明確な、または推定された知識に基づく、個々のデータセットの特定の位置を選択することによって負荷平均化が得られるシステムを開示している。個々のデータセットは手動で再構成しない限り所定の物理ディスクに残ったままになる。いずれのシステムもディスクアレイ記憶システム内に存在するデータセットの動的な再割り付けまたは配置による負荷平均化の実現を示唆していない。
【０００９】
別の負荷平均化アプローチは、冗長な別の物理ディスクドライブ間での読取り処理の分割を含んでいる。冗長性は記憶システムを構成する際にもやはり考慮されるべきものであり、種々の記憶システムの実現のための重要な要因になってきている。１９９８年１０月６日に発行された米国特許第５，８１９，３１０号は、ミラーデータを記憶するための２つのデバイスコントローラと、関連ディスクドライブとを含むディスクアレイ記憶装置を備える、冗長記憶システムを開示している。ディスクドライブの各々は論理ボリュームに分割されている。各デバイスコントローラは異なる読取り処理をもたらすことがあり、対応するディスクドライブからデータを取り出す際に使用される読取り処理を確立する、対応テーブルを含んでいる。各ディスクコントローラは、対応テーブルを使用して適切な読取り処理を選択するために、また指定された論理ボリュームを含む適切な物理記憶装置からデータを転送するために、論理ボリュームを識別する読取りコマンドに応答する。
【００１０】
従って、このミラーシステムが実行される場合、単一の論理ボリュームを含む読取り処理は必ずしも単一の物理デバイスから生じるのではない。むしろ特定の論理ボリュームの異なる部分に対する読込みコマンドは、論理ボリューム中の予め選択されたトラックから読取るためのミラーデータのいずれか１つに向けることができる。このような処理を行うことによって、限定された負荷平均化がもたらされて、シークタイムが減少する。
【００１１】
他の冗長技法やストライプ技法は、論理ボリュームを、隣接する記憶場所のブロック内の個々の物理ドライブ上に格納されるサブボリュームに分割することによって、負荷を複数のドライブに亘って分散する傾向にある。しかし、物理ドライブが、複数の論理ボリューム、サブボリュームまたは隣接する記憶場所の他の形式のブロックを有していると、その最終的な結果は、物理ディスクドライブの全体については負荷を平均化しない場合がある。つまり、前述の参考文献のいずれも、現実の使用に基づく物理アドレス空間の動的再割り当てを提供する方法を開示も示唆もしていない。
【００１２】
【発明が解決しようとする課題】
したがって本発明の目的は、複数の物理ディスク記憶装置のデータの動的再割り当てを可能にして、各々の物理ディスク記憶装置上のロード要求のいかなる不均衡も減少させることである。
【００１３】
本発明の別の目的は使用上の不均衡を減少するために、物理ディスク記憶装置の相対利用度を決定することである。
【００１４】
【課題を解決するための手段】
本発明によれば、少なくとも２つの物理ディスク記憶装置が複数の論理ボリューム内にあるデータを記憶し、各物理ディスク記憶装置がデータを読取りまたは書込むためのデータ転送要求に応答して、ディスクアレイ記憶装置内の物理ディスク記憶装置上の負荷を平均化することが可能である。平均化が得られるのは、データ転送要求に応答して、物理ディスク記憶装置の所定のデバイス上の各論理ボリュームへのアクセス回数を含む、作動データを生成することによる。この方法では、作動データを、各所定の物理ディスク記憶装置のための、および所定の物理ディスク記憶装置中の各論理ボリュームのためのディスク利用値へと変換する。ディスクの利用値を解析すれば、交換を行うと所定の物理ディスク記憶装置に対する負荷の均衡を改善できる論理ボリューム対の選択が可能になる。一旦この方法が識別を行うと、選択された論理ボリュームが選択される。
【００１５】
本発明の別の態様によれば、少なくとも２つの物理ディスク記憶装置が複数の論理ボリューム内にデータを格納し、各物理ディスク記憶装置がデータを読取りまたは書き込むためのデータ転送要求に応答して、ディスクアレイ記憶装置中の物理ディスク記憶装置上の負荷を平均化することが可能である。この方法は、解析間隔および含まれている解析サブ間隔の長さを決定し、データ転送要求に応答して、物理ディスク記憶装置の所定のデバイス上の各論理ボリュームへのアクセス回数を含む作動データを、各サブ間隔のために生成する段階を含む。この方法によって、各サブ間隔の間に得られる作動データは、各所定の物理ディスク記憶装置、および所定の物理ディスク記憶装置中の各論理ボリュームのためのディスク利用値へと変換される。これらのディスク利用値の解析によって、交換を行うと所定の物理記憶装置に対する負荷のバランスを改善する１対の論理ボリュームが選定される。この方法は選択論理ボリュームの交換によって終了する。
【００１６】
本発明のさらに別の態様によれば、少なくとも２つの物理ディスク記憶装置が複数の論理ボリューム内にあるデータを格納し、各物理ディスク記憶装置がデータを読取り書き込むためのデータ転送要求に応答して、ディスクアレイ記憶装置中の物理ディスク記憶装置上の負荷を平均化することが可能である。この方法は解析間隔の長さを決定し、かつデータ転送要求に応答して、物理ディスク記憶装置の所定のデバイス上の各論理ボリュームへのアクセス回数を含む作動データを、各サブ間隔のために生成することで開始する。この方法によって、各サブ間隔の間に得られる作動データは、各所定の物理ディスク記憶装置、および所定の物理ディスク記憶装置中の各論理ボリュームのためのディスク利用値へと変換される。ディスク利用値の解析によって、交換を行うと所定の物理記憶装置に対する負荷のバランスを改善する１対の論理ボリュームの選定がもたらされる。この方法は選択論理ボリュームが自動的に交換された後に終了する。
【００１７】
本発明のさらに別の態様によれば、少なくとも２つの物理ディスク記憶装置が複数の論理ボリューム内にあるデータを格納し、各物理ディスク記憶装置がデータを読取り書き込むたねのデータ転送要求に応答して、ディスクアレイ記憶装置中の物理ディスク記憶装置上の負荷を平均化することが可能である。この方法は第１の解析間隔の長さと、複数の第１の解析間隔を含む第２の解析間隔の長さとを定義することで開始する。作動データは、各々の第１および第２の解析間隔ごとに生成され、かつこの作動データはデータ転送要求に応答する物理ディスク記憶装置の所定のデバイス上の各論理ボリュームへのアクセス回数を含む。自動処理が実行され、各第１の解析間隔の間に行われる所定の作動データの処理に応答して、各第１の解析間隔の完了と同時に１対の論理ボリューム内にあるデータが交換される。１対の論理ボリューム内にあるデータの交換は各第２の解析が完了した際にも生じる。
【００１８】
請求の範囲は本発明の主旨を特に指摘し明瞭にクレームしている。本発明の種々の対象、利点および新規な特徴は、同一の引用符号が同一部分を表す添付図面と併せて、以下の詳細な説明を読むことで完全に明らかになる。
【発明の実施の形態】
【００１９】
図１は、ブロック図の形態で、典型的なデータ処理システム３０として、例えば、多数のデータ記憶システムつまり物理ディスク記憶装置３１Ａ、３１Ｂ、３１Ｃ、３１Ｄおよび３１Ｅと、キャッシュメモリ３３とを備えるシステムメモリ３２といったデータメモリシステムを含む、シメトリクス５５００シリーズの統合キャッシュディスクアレイを示している。この特定の実施形態において、データ処理システム３０は、対応する物理ディスク記憶装置３１Ａから３１Ｅの１つに接続された複数のデバイスコントローラ３４Ａ、３４Ｂ、３４Ｃおよび３４Ｅと、物理ディスク記憶装置に接続された他のコントローラを表すデバイスコントローラ３４Ｘとを含んでいる。各デバイスコントローラは、公知の基本構造または前記の米国特許第５，８１９，３１０号で説明したミラーオペレーションと関連するより高度な構造を備えることができる。
【００２０】
デバイスコントローラ３４Ａは、ミラー論理ボリュームＭ１−ＬＶＡ、Ｍ１−ＬＶＢ、Ｍ１−ＬＶＣおよびＭ１−ＬＶＤに分割された、対応する物理ディスク記憶装置３１Ａとともに示されている。デバイスコントローラ３４Ｅは、ミラー論理ボリュームＭ２−ＬＶＡ、Ｍ２−ＬＶＢ、Ｍ２−ＬＶＣおよびＭ２−ＬＶＤを格納する別の物理ディスク記憶装置３１Ｅを制御する。物理ディスク記憶装置３１Ａおよび３４Ｅ内の論理ボリュームは、ここでの説明の目的上、同一サイズを持つものとする。しかし、物理ディスク記憶装置内のミラーおよび非ミラー論理ボリュームは異なるサイズであってもよい。例えば、物理ディスク記憶装置３１Ｂは２つの論理ボリュームＬＶＥおよびＬＶＦで表示されている。
【００２１】
ＬＶＥ論理ボリュームが物理ディスク記憶装置３１Ａ内の論理ボリュームと同一サイズであり、論理ボリュームＬＶＦが論理ボリュームＬＶＥのサイズの３倍の大きさであると仮定する。物理ディスク記憶装置３１Ｃは論理ボリュームＬＶＡと同一サイズの論理ボリュームＬＶＨの２倍の大きさを有する論理ボリュームＬＶＧを備えるように示されている。物理ディスク記憶装置３１Ｄは、論理ボリュームＬＶＩを備えており、これは論理ボリュームＬＶＪの３倍のサイズであり、ＬＶＪは論理ボリュームＬＶＡと同一サイズである。
【００２２】
さらに、１つの物理ディスク記憶装置内のミラー化論理ボリュームは、単一ミラーリング物理ディスク記憶装置上にミラー化されることを必要とする要求はない。例えば、ＬＶＪとＭ２−ＬＶＡ論理ボリュームの記憶場所は置き換えることができる。実際の運用においては、論理ボリュームの絶対的および相対的サイズや論理ボリュームの位置は変更できることは明らかである。
【００２３】
さらに、図１を参照すると、単一の処理装置つまりホスト３５、相互接続データアクセスチャネル３６およびホストアダプタ３７は、システムバス３８でシステムメモリ３２に接続する。典型的なデータ処理システム３０は、多重ホストアダプタを含んでおり並列にシステムバス３８に接続する。また、１つまたはそれ以上のホストが各ホストアダプタに接続している。
【００２４】
システム管理コンソールつまりサービス処理装置４０は、追加の処理装置を含み、これはデバイスコントローラ３４Ａへの並列または他の通信リンクによって、典型的には１つ以上のデバイスコントローラ３４Ａ等のデバイスコントローラを経由して、システムバス３８に接続する。システム管理コンソール４０は、システムオペレータがデータ処理システム３０を構成、制御およびモニターするためのセットアップおよび診断プログラムを実行することを可能にする。本質的に、システム管理コンソール４０は、オペレータがホストアダプタ３７、デバイスコントローラ３４Ｂおよびシステムメモリ３２との通信を確立することを可能にする。種々のホスト、ディスクアダプタ、サービス処理装置管理システム間の通信の１つのアプローチが、前記の米国特許出願（代理人番号０７０７２１／９２９００１）で説明されている。
【００２５】
ホストアダプタ３７またはデバイスコントローラ３４Ａ、３４Ｂ等の構成要素がシステムメモリ３２にアクセスする前に、この構成要素はシステムバス３８へのアクセスを得る必要がある。従来のバスアクセスロジック４１は、これらの構成要素からアクセス要求信号を受け取り、所定の時間にその構成要素のただ１つのみにアクセスを認める。多種多様の公知の調停スキームは、多重処理装置とシステムメモリ３２等の共有システムメモリーとを用いるデータ記憶システムでの使用に適している。
【００２６】
図２のシステムメモリ３２は、付加的構成要素として、キャッシュメモリ３３内に記憶されたデータアドレスを含む指示を与える、キャッシュ・インデックス・ディレクトリ４２を含んでいる高速ランダムアクセス半導体メモリーであることが好ましい。好ましい実施形態において、キャッシュ・インデックス・ディレクトリ４２は、論理デバイス、シリンダおよびトラックのための階層テーブルとして構成される。システムメモリ３２はまた、データ構造４３および待ち行列４４のための領域を含む。システムメモリ３２の基本オペレーションはヤナイ他による１９９３年４月２７日に発行の米国特許第５，２０６，９３９号で説明されている。また、システムメモリ３２、特にキャッシュメモリ３３は永久キャッシュメモリーとして知られるメモリー領域を含むことができる。公知のように、データ構成要素は、それらが特別に消去されない限り永久キャッシュメモリー内に残る。
【００２７】
各々のホストアダプタと各々のデバイスコントローラとの調整は、システムメモリ３２、特にキャッシュメモリ３３を各ホストアダプタと各デバイスコントローラ間のバッファとして使用することによって単純化される。そのようなシステムは、例えば米国特許第５，２０６，９３９号で説明されている。そのようなシステムではキャッシュメモリ３３を管理する専用処理装置を備える必要がない。その代わりとして、ホストアダプタまたはデバイスコントローラの各々が、ホストアダプタ３７内のキャッシュ管理プログラム４５や、デバイスコントローラ３４Ａから３４Ｘの各々のキャッシュ管理プログラム４６Ａ、４６Ｂの１つといった、それぞれのキャッシュ管理プログラムを実行する。システム管理プログラム４７は、システム管理コンソール４０のために同様の機能を果たし、オペレータがシステムを構成するのを可能にする。キャッシュ管理プログラムの各々は、キャッシュ・インデックス・ディレクトリ４２にアクセスし、種々のコマンドを記憶するためにデータ構造および待ち行列をオペレーションする。さらに詳細には、ホストアダプタ３７内のキャッシュ管理プログラム４５は、ホスト３５からのデータをキャッシュメモリ３２に書込み、キャッシュ・インデックス・ディレクトリ４２を更新する。
【００２８】
さらに、本発明によれば、各キャッシュメモリー管理部は統計量を収集する。特に、キャッシュメモリ管理部４５は多数のパラメータに関する統計量を蓄積する。本発明の目的のためには、ホスト３５または接続ホストによって要求される読取り／書込みオペレーションの数が重要である。同様に、各々のデバイスコントローラ３４Ａ−３４Ｘ内の各々のキャッシュメモリ管理部４６Ａ−４６Ｘは、各接続物理ディスク記憶装置上ににある論理ボリューム用の統計値を収集する。システム管理コンソール４０内のモニタ５０は、これらのキャッシュメモリー管理部を統合して所定間隔で適切な統計値を得る。
【００２９】
前述のことから、論理ボリュームの負荷の全ての測定値に含まれるディスクオペレーションは、読取りおよび書込みオペレーションを含むことになる。読取りオペレーションはさらに読取りヒット、読取りミスおよびシーケンシャル読取りオペレーションに分類することができる。読取りヒットオペレーションは、読取るべきデータがキャッシュメモリ３３内にある場合に発生する。読取りミスは読取るべきデータがキャッシュメモリ３３内で利用できない場合に発生し、物理ディスク記憶装置から転送される必要がある。シーケンシャル読取りオペレーションは、アドレス指定された記憶場所から連続して生じる。
【００３０】
システムは２つのタイプの書込みオペレーションで作動する。第１のオペレーションは、ホスト３５からキャッシュメモリ３３へデータを転送する。第２のタイプは、キャッシュメモリ３３から物理ディスク記憶装置へデータを転送する。第２のタイプは、バックグラウンドモードで作動するので、データが物理ディスク記憶装置に書込まれる前に、ホスト３５は、ある記憶場所に何度もデータを書込むことが可能である。したがって、第２のタイプの書込みオペレーション回数は、通常第１のタイプの書込みオペレーション回数に合致せずそれよりも少なくなる。
【００３１】
このバックグラウンドで、本発明による論理ボリュームの物理ディスク上への適切な再割り当て決定方法が説明できる。プログラムは、各キャッシュメモリー管理部から周期的に統計量を取り出す、性能モニタ５０から供給される情報に依存している。周期性は従来のサンプリング基準によって選択される。典型的な周期は１５分ないし３０分またはそれ以上である。統計量の各組がタイム・スタンプされて論理ボリュームによって蓄積されるので、読取りオペレーション回数、読取りヒット比率、シーケンシャル読取り比率およびテスト期間全体にわたる全読取りオペレーション回数が得られる。図１に示される負荷平均化プログラム５１が図２Ａおよび２Ｂにしたがって実行され、全体的には図３Ａのステップ６０によって示される、収集されモニターされた性能から一対の論理ボリュームの再割り当てまたは交換が生成される。
【００３２】
詳細には、解析を行うべき時であれば、決定ステップ６１として表示される待機ループは、ステップ６２の性能モニタ５０によってテスト期間に関係のある全ての統計量を検索する制御に進む。
【００３３】
負荷平均化プログラム５１は、ステップ６３を使用して交換可能な論理ボリューム対のリストを判定する。このリストを判定する際に評価すべき幾つかの基準がある。まず第１に、交換可能論理ボリュームは同一サイズでなければならない。実際問題として殆どの論理ボリュームは比較的少数の物理サイズの１つから選択されることになる。第２に、交換される２つの論理ボリューム間の如何なる相互関係も調査して、交換を不可能にする何らかの理由があるか否かを判定する必要がある。例えば、同一物理ディスク記憶装置上の論理ボリュームの交換は一般的に殆どもしくは全く効果がない。前述の米国特許第５，８１９，３１０号で説明したミラーリングや他の冗長性は、利用可能かつ交換可能な論理ボリュームの対をさらに制限することがある。例えば、通常、ミラー論理ボリュームは同一の物理ディスク記憶装置上には、なおさら同一のコントローラまたは隣接コントローラ上にある物理ディスク記憶装置上には存在することが不可能である。ＲＡＩＤ−５冗長性の場合、交換可能論理ボリューム対は通常同一のパリティー群内にある論理ボリュームに限られる。
【００３４】
図１の特定の実施例において、サイズに従えば、論理ボリュームＬＶＡないしＬＶＥ、ＬＶＨおよびＬＶＪは、全て可能性のある交換候補である。同様に、論理ボリュームＬＶＦとＬＶＩは交換候補である。図２に示す特定の実施形態には、ＬＶＧと交換される候補としての論理ボリュームは無い。
【００３５】
機能的基準を使用すれば、物理ドライブ３１Ａ中の論理ボリュームＭ１−ＬＶＡと交換できる可能性のある論理ボリュームとして、ミラー交換が効果がないと仮定すると、論理ボリュームＬＶＥ、ＬＶＨおよびＬＶＪを挙げることができる。物理ディスク３１Ａ内の論理ボリュームＬＶＡを、物理ディスク３１Ｅ内のどの論理ボリュームＬＶＢないしＬＶＤと交換することも不可能であるが、この理由は、論理ボリュームＬＶＡの両ミラーが同一の物理ディスクドライブ上に存在できるからである。他の可能性のある論理ボリューム対としては、ＬＶＡ−ＬＶＨ、ＬＶＨ−ＬＶＪおよびＬＶＥ−ＬＶＪ対を挙げることができる。論理ボリュームＬＶＦおよびＬＶＩは、１つの交換可能対を規定する。つまり、この特定の実施形態においては、２７個の論理ボリュームの交換可能対が存在する。
【００３６】
ステップ６４において、負荷平均化プログラムは、蓄積統計量および読取りヒット率を使用し、事前のテスト間隔にわたって各論理ボリュームに対する読取りミス値、シーケンシャル読取り値およびディスク書込み値を生成する。既に示したように、読取りミス値は、データを得るために物理ディスクドライブへアクセスすることを要求する読取りオペレーション回数に相当し、読取りヒットは、図２のキャッシュメモリ３３内で要求データを見つける読取りオペレーションである。ステップ６４が完了すると、各論理ボリュームに対し、読取りミスおよびディスク書込みオペレーションの合計値で表される論理ボリュームアクセス活動値、ｘ、が存在することになる。
【００３７】
論理ボリュームアクセス活動値は、他のオペレーションによって負わされる実際の負荷を反映するようにさらに改良され、または加重されることができる。例えば、各書込みオペレーションは、読取りミスオペレーションの半分の負荷を負わせるとみなすことができる。このような仮定を推し進められれば、論理ボリュームアクセス活動値は、全読取りミスオペレーション回数と全書込みオペレーション回数の半分との和に等しくなる。一連のシーケンシャル読取りオペレーションが生じれば、この系列における事象の数を４または他のある数で除して、シーケンシャルまたはランダム読取りオペレーションによって負わされるロードにおける差異を補償することができる。ミラー構成において、結果として読取りミスは、唯一１回の実行される読取りオペレーションを生じるが、各ミラーから１回ずつ、２回の可能性がある。したがって、ミラーシステムにおいて、ミラー論理ボリュームに対する読取りミス回数は、ミラーリングを補償するよう半分になる。
【００３８】
ステップ６５において、負荷平均化プログラム５１は、各物理記憶装置ごとに合計した全加重アクセス活動値と、各物理記憶装置に関するその物理ディスク記憶装置上の各論理ボリュームに対する加重アクセス活動値とを識別するテーブルを構成する。この時点で、全平均物理アクセス活動値は同様に、物理ボリュームアクセス活動値を合計して物理デバイス数で除することによって得ることができる。
【００３９】
図２Ａにおけるステップ６６が完了すると、制御は図２Ｂにおけるループ制御７１の下でループを形成するステップ６７および７０へ進む。特にステップ６７は図２Ａにおけるステップ６３で生成されたリストから１対の論理ボリュームを選択する。例えば、Ｍ１ＬＶＡとＬＶＥの対が選択されると仮定する。ステップ７０で、負荷平均化プログラム５１は、まるでそれら２つの論理ボリュームが交換されたかのように、各物理ディスクドライブごとの活動度を取得するために蓄積された統計量を利用する。このループはリスト中の全ての論理ボリューム対が評価されるまで継続する。一旦このことが起きると、制御はステップ７２に分岐して、以下の式に応じて各構成に対する統計的分散を定義する。
0003860407.tif 000002
【００４０】
すなわち、可能性のある構成について、負荷平均化プログラム５１のステップ７２は、論理ボリューム対を備えた物理ディスク記憶装置に対する平均アクセス活動値を決定し、各対が交換されたと仮定してステップ６５で得られた物理ドライブアクセス活動値からの差異を取得する。その後、ステップ６５は、各論理ボリューム対の交換に関する統計的分散を生成する。ステップ７３において負荷平均化プログラム５１は、最小統計的分散を生成する論理ボリューム対を選択する。前記の統計的分散を取得する処理は当業界では公知である。
【００４１】
その選択の後、論理ボリューム対の同一性が選択の予備テストに使用される。前述したように、モニタ５０は周期および記録時間ベースの離散的セットとしてデータを蓄積する。ステップ７４において負荷平均化プログラムは全テスト間隔を１つまたはそれ以上のサンプリング期間を含むサブ間隔に細分する。次ぎに、各サブ間隔の、またはサブ間隔グループのアクセス活動値が決定される。物理ドライブで行われる交換に関するアクセス活動値が原活動値より小さければ、ステップ７５はステップ７６に分岐して交換を開始する。平均を超えるサブ期間が存在する場合、ステップ７７はアクセス活動値が許容可能限界内にあるか否かを判定する。もし限界内にあれば、ステップ７７内で交換が起きシステム内の構成テーブルが更新されて新しい構成を反映する。そうでない場合には交換は起きない。
【００４２】
ステップ７６が指定された論理ボリュームを交換する場合、バッファとして作動するよう物理ディスクドライブの１つに未使用領域を選定することで、そのような交換またはスワップが起こり得る。これは物理ディスク記憶装置内の未使用領域であってもよく、動的予備物理ディスク記憶装置内の未使用領域であってもよい。動的予備としての物理ディスク記憶装置の一般的な使用は、当業界では公知である。別の環境において、図２のキャッシュメモリ３３等のキャッシュメモリーをバッファとして利用することも可能である。単一バッファを使用して論理ボリュームＬＶＥとＬＶＪとを交換するのであれば、並行コピーまたは他の転送シーケンスが、（１）ＬＶＥ論理ボリュームをバッファに移し、（２）論理ボリュームＬＶＪを物理ディスク記憶装置３１Ｂ中の対応する領域に移し、（３）論理ボリュームバッファを物理ディスク記憶装置３１Ｄ内の領域に移すことができる。並行コピーまたは他の同様な手段を利用すれば、転送期間中は幾分性能低下を伴うが、オンラインで交換を行うことも可能である。交換が完了した後、制御は分岐して図２Ａのステップ６０に戻り、モニタ５０を開始して、それによって新構成に関する追加統計量を蓄積する。
【００４３】
この特定の実施例によれば、物理ディスク記憶装置３１Ｂ内の論理ボリュームＬＶＥおよびＬＶＦは共に非常にアクティブになっており、物理ディスク記憶装置３１Ｄ上の論理ボリュームＬＶＪは相対的に非アクティブであると想定する。他の全ての論理ボリュームが同等にアクティブである場合、論理ボリュームＬＶＥおよびＬＶＪが選択される時に、統計的分散が最小になるはずである。従って、それら２つのボリュームは交換され、それによって物理ディスク記憶装置３１Ｂ上の負荷が小さくなり、物理ディスク記憶装置３１Ｄ上の負荷が大きくなるであろうが、その程度は物理ディスク記憶装置３１Ｂ上に存在する場合程大きくない。
【００４４】
本発明は、交換を行うことができる更に別の方法を適用することもできる。
【００４５】
図３には図１の回路の変更例が示されており、同一の要素には同一の引用符号が付与されている。図３の変更例は、基本的に、２つの特別に構成された論理ボリューム９１および９２を有するデバイスコントローラ９０等の、１つまたはそれ以上の付加デバイスコントローラを備えている。これらは前述の米国特許第０９／００２，４７８号に説明されているＢＣＶデバイス形式である。
【００４６】
これらのデバイスはデータ再割り当てボリューム（ＤＲＶ）と呼ばれ、ＢＣＶデバイスと区別される。これらはＢＣＶデバイスと同一のＥＳＴＡＢＬＩＳＨおよびＳＰＬＩＴコマンドに応答して作動する。本発明を理解する目的において主たる相違は、これらのデバイスは内部記憶ボリュームであってシステムオペレータのみがシステム管理コンソールつまりサービス処理装置４０を通じてアクセス可能であるという点にある。それらはユーザまたはアプリケーションが生成したＩ／Ｏ要求には直接利用できない。しかし、ユーザまたはアプリケーションに利用可能な論理ボリュームと対になる場合、それらはＢＣＶのように作用する。つまり、ユーザまたはアプリケーションが生成した書込み要求が論理ボリュームによって受信されると、その書込み要求は確立されたＤＲＶによって受信される。さらに、ＤＲＶ論理ボリュームは、従来のＢＣＶデバイスに組み込まれていない他のコマンドに応答する。
【００４７】
交換を行って論理ボリューム対を再割り付けする要求がある時、システム管理コンソールつまりサービス処理装置４０は、図４Ａまたは４Ｂで説明される手順を利用して、論理ボリューム構成を制御する。図５Ａはそのような交換で使用される複数の論理ボリューム１００を表す。本発明の基本的なオペレーションを理解するためには、４つの物理ディスクドライブを考慮する必要がある。それらは物理ディスク記憶装置１０１、１０２、１０３および１０４を含んでいる。物理ディスク記憶装置１０１は、物理ディスク記憶装置１１０の一区域または一区画に格納されているＭ１ミラーである論理ボリュームＬＶ１、すなわちＬＶ１−Ｍ１論理ボリューム１０５を含む、３つの論理ボリュームを含むものとして示してある。この実施形態において、物理ディスク記憶装置１０１はまた、データをＬＶ２−Ｍ３論理ボリューム１０６およびＬＶ３−Ｍ１論理ボリューム１０７に記憶しているものとして示してある。物理ディスク記憶装置１０２は、ＬＶ４−Ｍ１論理ボリューム１１０、ＬＶ５−Ｍ１論理ボリューム１１１およびＬＶ６−Ｍ１論理ボリューム１１２を含んでいる。本発明を理解するためには、ＬＶ１−Ｍ１論理ボリューム１１５およびＬＶ４−Ｍ１論理ボリューム１１０が適切である。
【００４８】
物理ディスク記憶装置１０３、１０４は、ＬＶｎおよびＬＶｐ論理ボリューム１１３、１１４を含んでいる。付加的記憶ボリュームが、物理ディスク記憶装置１０３上のボリューム１１５および物理ディスク記憶装置１０４上のボリューム１１６の形態で利用できる。論理ボリューム１１５、１１６も本発明にとって適切である。
【００４９】
図５Ａは、２つの実体のない物理ディスク記憶装置１２０、１２１を示している。これらはＬＶ１記憶ボリュームについての第２のミラー、すなわち物理ディスク記憶装置１２０上のＬＶ１−Ｍ２論理ボリュームと、ＬＶ４論理ボリュームについての第２のミラーとしての物理ディスク記憶装置１２１上にあるＬＶ４−Ｍ２論理ボリューム１２３とを含む物理ディスク記憶装置である。ＬＶ１−Ｍ１およびＬＶ１−Ｍ２ミラー論理ボリュームと、ＬＶ４−Ｍ１およびＬＶ４−Ｍ２ミラー論理ボリューム等のミラー論理ボリュームとの相互作用が分かる。これらのミラー論理ボリュームが示されている理由は、本発明が通常ミラー論理ボリュームで実行されるからである。しかし、以下で明らかになるように、本発明は非ミラー論理ボリュームの交換においても有用である。
【００５０】
再び図４Ａを参照すると、システムオペレータがシステム管理コンソールつまりサービス処理装置４０を通じて交換を開始する場合、オペレータは、ＬＶ１−Ｍ１およびＬＶ４−Ｍ１論理ボリューム１０５、１１０等の、交換される論理ボリュームの識別子を提供する。システムオペレータはまた、図５Ａ中のＤＲＶ１およびＤＲＶ２ボリューム１１５、１１６として示されている、データ再配置ボリュームとして使用される２つの論理ボリュームを識別する。
【００５１】
そのようなデバイスにおいて、制御機能の多くは、種々のバージョンのマイクロコードで作動しているマイクロ処理装置によって実行される。最初に、ステップ１３０においてシステム管理４０は多数のテストを実行し、様々なオペレーション条件を照合する。ステップ１３０は、例えば必要ファイルの存在と利用可能性を決定し、交換に関連するマイクロプロセッサが適切なコードバージョンで作動していることを確認する。これらのテストは普通はパスできる。もしそうでなければ、図４Ａには示されていないエラーメッセ−ジが生成される。そのようなテストを行う種々のテストや手順は当業者には公知である。
【００５２】
ステップ１３１はサービス処理装置４０内の関連構成データをロックする。公知のようにロック処理は、特定のプログラム、この場合交換プログラム以外のプログラムがロックされた情報に影響を与えることができないようにする。このことにより、図４Ａおよび４Ｂ中の残りのステップは、他のプログラムが何らかの衝突を生じたり構成データを損なう可能性なしに生じることができる。
【００５３】
交換コマンドによって指定される種々の論理ボリュームもまた、ステップ１３２でテストされる。これらのテストは、例えばトラックテーブルの全てのビットトラック位置が有効であることの決定と、論理ボリュームが実行可能状態にあり、ユーザが論理ボリュームを用いたＢＣＶ  Ｅｓｔａｂｌｉｓｈオペレーションを要求されていないことの決定とを含んでいる。別のテストをそのようなテストに追加して、あるいは代替的に使用できる。いずれかのテストで異常があると、制御はステップ１３３から１３４へ進んでその状態を知らせる。全てのテストに合格すると、制御はステップ１３５へ進み、ここでも構成情報が不注意に変更されないように、論理ボリューム構成にロックを行う。その後、ステップ１３６がこの構成内の種々のハードウェア構成要素のテストを行い、適切な交換オペレーションを保証する。これらのテストはステップ１３０で行われたテストと適用範囲が類似している。
【００５４】
ステップ１３７はスワップされる２つの内部ディスクボリュームまたはデータ再配置ボリュームを識別する。図５の特定の実施例において、これらはＤＲＶ１およびＤＲＶ２論理ボリューム１１１５、１１６である。この処理における最善の一致は、ＤＲＶ１およびＤＲＶ２論理ボリューム１１１５、１１６等の選択された論理ボリュームが、交換される論理ボリューム、この場合ＬＶ１−Ｍ１およびＬＶ４−Ｍ１論理ボリューム１０５、１１０と良好に一致する場合に起こる。
【００５５】
選択処理は、他の規則に従うように要求されることもある。例えば、ＤＲＶ論理ボリュームは、同一論理ボリュームの別のミラーと同一のスピンドル上にある時は除外できる。この実施の形態において、ＤＲＶ１論理ボリューム１１５は物理ディスク記憶装置１２０上に置かれるべきではない。ＤＲＶ論理ボリュームは少なくとも交換される論理ボリュームと同一サイズであり、同一フォーマットを有する必要がある。この場合は、ＤＲＶ１論理ボリューム１１５はＬＶ１−Ｍ１およびＬＶ４−Ｍ１論理ボリュームと同一サイズであると想定されている。ＤＲＶ２論理ボリューム１１６は、代替的かつ許容可能なより大きい記憶容量を有しているものとして示されている。もしくは、ＤＲＶ２論理ボリュームを適当なサイズに構成して、物理ディスク記憶装置の残余部、または物理ディスク記憶装置の割り当てられていない部分を他の目的に利用することができる。
【００５６】
別のテストを行うと、ＤＲＶ１およびＤＲＶ２論理ボリューム１１５、１１６が、ＬＶ１−Ｍ２論理ボリューム１２２またはＬＶ４−Ｍ２論理ボリューム１２３に接続するメモリーバス等の、他のミラーと同一のメモリーバス上にないことを保証できる。特定の実施形態において、データ再配置ボリュームは同様に、他のミラーの２重ディスクアダプタまたはデバイスコントローラ上にないこと、または他のミラーと同一ディスクアダプタ上にないことを要求される場合がある。
【００５７】
これらの全ての条件または別の条件が満たされると、ステップ１４０はステップ１４１に進む。そうでなければエラー状態が存在しているので、ステップ１４２に進んで適切なエラーメッセージを発生する。
【００５８】
制御はステップ１４１へ進み、関連する物理ディスク記憶装置および論理ボリューム構成は図５Ａに示されている。図４Ａのステップ１４１は、ＥＳＴＡＢＬＩＳＨコマンドを各々の論理ボリューム対へ送る。第１の対はＬＶ１−Ｍ１およびＤＲＶ１論理ボリューム１０５、１１５を含み、第２の対はＬＶ４−Ｍ１およびＤＲＶ２論理ボリューム１１０、１１６を含む。
【００５９】
本発明の出願人の特定の実施において、各論理ボリュームはデバイスヘッダを含み、各デバイスヘッダは４つのミラーまでのトラックテーブルを含む。各トラックテーブルは有効に２次元行列を定義し、各コラムは多数の論理ボリュームミラーＭ１、Ｍ２、Ｍ３およびＭ４の１つを表す。各行は論理ボリュームのトラックに対応する。前述の米国特許出願番号０８／８４２，９５３で説明されるように、ＥＳＴＡＢＬＩＳＨコマンドは、ＬＶ１論理ボリューム１０５についての１つの論理ボリュームミラー（例えばトラックテーブルのＭ３コラム中のビット位置）を無効状態に割り当てることによって作動する。第２のＥＳＴＡＢＬＩＳＨコマンドは、同一機能をＬＶ４−Ｍ１論理ボリューム１１０およびＤＲＶ２論理ボリューム１１６に対して実行する。２つのＥＳＴＡＢＬＩＳＨコマンドに関し、ＬＶ１−Ｍ１論理ボリューム１０５とＬＶ４−Ｍ１論理ボリューム１１０とに関連づけされた、ディスクアダプタとも呼ばれる、各々のデバイスコントローラのコピープログラムは、それらのそれぞれのＭ３トラックステータスビットをテストする。各々の無効ビットに対して、コピープログラムは対応するトラック内のデータをＤＲＶ１およびＤＲＶ２論理ボリューム１１５、１１６の適切な１つに転送する。２つのＥＳＴＡＢＬＩＳＨコマンドは本質的に同時に送出でき、２つのＤＲＶ論理ボリュームへのデータの転送が同時に起こることは明らかである。
【００６０】
ＢＣＶデバイスについても、これらの転送は、ユーザまたはアプリケーション・ソフトウェアが生成した入出力要求によるＬＶＩおよびＬＶ４へのデータ転送と並行かつ同時に起きる。つまり、このオペレーションは、ユーザまたはこれらの論理ボリューム内のデータを利用するアプリケーション・ソフトウェアのオペレーションに対して如何なる妨害も起こさない。図５Ｂは、ＥＳＴＡＢＬＩＳＨコマンドに応答するこれらの転送を示している。
【００６１】
この処理を通じ信頼性に関するデータ冗長性の原レベルは同じままであることは明らかである。すなわち、ＬＶ１論理ボリューム内のデータが２つのミラーに複写される本実施形態において、ＬＶ１論理ボリューム内のデータは、ＥＳＴＡＢＬＩＳＨ処理の間、論理ボリューム１０５、１２２内に複写されたままである。同期状態になるとすぐに、第３のデータのコピーがＤＲＶ１論理ボリューム１１５上に現れる。
【００６２】
同期が生じると、ステップ１４３は制御を図４Ｂのステップ１４４に進める。同期は１４４で始まる後続のステップに進むのを可能にするイベントの例である。処理のこの時点で行われる補足的または付加的なテストといった、他のイベントも同様に使用できる。
【００６３】
ステップ１４４は、交換を行うのに必要な種々の通信経路をテストする。これはホスト処理装置に依存しているオペレーションまたはテストを含むことができる。他のテストは、システム管理４０、システムと関連づけされた種々のデバイスコントローラまたはディスクアダプタ内に配置されたデータを含むことができる。前述の米国特許出願（代理人番号１０７０７２／９２９００１号）により示されるように、システム管理コンソール４０と種々のディスクアダプタとの間の通信は、メールボックスを通じて行われる。ステップ１４４におけるテストはまた、メールボックスが正確に割り当てられ、再構成をもたらすのに必要な別の処理が適切に行われることを保証する。遭遇する問題は、エラーメッセ−ジを発生するが、図４Ｂにはそのようなエラーメッセージの発生は示されていない。
【００６４】
全ての事前テストが完了すると、ステップ１４５は、ＬＶ１−Ｍ１およびＬＶ４−Ｍ１論理ボリュームに対応する論理ボリュームを、図５Ｃに示すように作動不可能状態にセットする。結果として、ＬＶ１およびＬＶ４論理ボリュームに対する書込みオペレーションはそれぞれＤＲＶ１およびＤＲＶ２ボリューム１１５、１１６に経路を定められるが、論理ボリューム１０５および１１０内のデータの更新はしない。しかし、論理ボリューム１０５および１１０が作動可能でなくても、冗長性の原レベルは維持される。
【００６５】
特定の実施例において、符号１０５で表された物理ディスク記憶装置１０１のそこの部分は新しいＬＶ４−Ｍ１論理ボリュームとして構成され、一方物理ディスク記憶装置１０２上の部分１１０は新しいＬＶ１−Ｍ１論理ボリュームとして構成される。ステップ１４６は、種々のディスクアダプタやコントローラに転送するために、新しい構成情報をメールボックスにロードすることによって新しい構成を確立する。
【００６６】
次にステップ１４７は、如何なる動的ミラーサービス処置も無効にする。本発明と同じ出願人に譲渡されている１９９８年１０月６日発行の米国特許第５，８１９，３１０号に基づいて、動的ミラーサービス処置は異なる論理ボリュームからデータを読取る方法を決定する。簡単なアプローチの場合には、一番目のトラック上のデータはＬＶ１−Ｍ１論理ボリュームから読取ることができるが、他のトラック上のデータは、物理ディスク記憶装置１２０上のＬＶ１−Ｍ２論理ボリュームから読取ることができる。ステップ１４７は、そうしなければ動的ミラーサービス処置に対する変更が再構成プロセスの間に試みられて生じるであろう、如何なる衝突も避ける目的でこの処置を無効にする。
【００６７】
次にステップ１５０は、新しい構成情報をロードし、動的ミラーサービス処置を可能にする。ステップ１５１は、それぞれ新しいＬＶ１−Ｍ１および新しいＬＶ４−Ｍ１論理ボリュームについてのトラックテーブルのＭ１−Ｍ４カラムの対応するものの中の全てのビット位置を無効状態にセットする。
【００６８】
ＤＲＶ１論理ボリューム１１５または新しいＬＶ１−Ｍ１論理ボリューム１１０と関連するコピープログラムは、図５Ｄ中の矢印１５２によって示されるように、物理ディスク記憶装置１０２上の新しく構成されたＬＶ１−Ｍ１論理ボリューム１１０へデータを転送する。ＤＲＶ２論理ボリューム１１６または新しいＬＶ４−Ｍ１論理ボリューム１０５と関連する別のコピープログラムが、矢印１５３によって示されるように、物理ディスク記憶装置１０１上の新しく構成されたＬＶ４−Ｍ１論理ボリューム１０５へデータを転送する。
【００６９】
図４Ｂを参照すると、ステップ１５４は全てのデータがコピーされるまでこのデータ転送をモニターする。これが生じると、もともとこのデータのために２つミラーがあると想定すると、ＬＶ１およびＬＶ４論理ボリュームの各々に再び３つのデータが存在する。
【００７０】
次いでステップ１５５はＤＲＶ論理ボリュームを分割するので、それらはユーザまたはアプリケーションが生成したソフトウェアからのＩ／Ｏ要求に対する更なる応答から切り離される。このステップで、図５Ｅに示されるように、ＬＶ１およびＬＶ４論理ボリュームに対するＭ１ミラー内のデータは交換される。ＬＶ１−Ｍ１論理ボリュームデータは現今物理ディスク記憶装置１０２の位置１１０内にあり、一方でＬＶ４−Ｍ１論理ボリューム内のデータは現今物理ディスク記憶装置１０１の論理ボリューム１０５内にある。分割が起きた後、ステップ１５６はロックを、特にステップ１３１および１３２の間に提供されたロックを移動して、処理によって課された制限を解除する。その後、システム管理コンソール４０によって交換処理に関連を持たされた全てのオペレーションが終了する。
【００７１】
つまり、図４Ａおよび４Ｂに概略を示した手順は、ＤＲＶ論理ボリュームを利用可能なバッファメモリーとして使用することによって、非常に効率的な方法でデータブロックを交換する手段を提供する。その上、交換はデータ処理システムのオペレーションに殆どもしくは全く影響を与えることなく行うことができる。さらにこの手順は論理ボリュームの交換を達成するのに使用でき、完全にまたは部分的にホストオペレーションに独立にかつトランスペアレントに交換を成し遂げるものである。
【００７２】
図２Ａおよび２Ｂのステップ６２から７７は、各交換可能論理ボリュームのためのディスク利用に基づく解析を行うための手順を示しており、Ｉ／Ｏ要求の対象である物理ディスクドライブおよび論理ボリュームへの総アクセス回数によって決定されるようになっている。図５Ａおよび５Ｂは、基準として時間ベースのディスク利用統計量を使用する負荷平均化解析に関する手順を示す。この手順は多数のアプリケーションに改良された結果をもたらしてきた。
【００７３】
この手順を行う解析時間間隔は、数時間から数日または数週間以上の基準で評価できる。サブ期間もまた数分から１時間以上に渡る任意の長さにすることができる。サブ期間の持続時間は、所望のサンプリングの正確さと、サンプルに行う必要がある計算との兼ね合いであることは明らかである。解析時間間隔の持続時間は、部分的には一貫した性能を適度の水準でもたらす時間次第である。これらは一般的には経験によって選択される。最初の解析時間間隔の選択を１週間に、サブ間隔を１５分のオーダーでとることが、多くのアプリケーションで満足のいく結果をもたらすことが分かっている。
【００７４】
ステップ１１２は、システムが解析データブロックとして論理ボリュームを選択する従来の手順を示している。次いでシステムはステップ１１３を使用し、ディスクアクセス回数をカウントしてそれらを独立のディスク読取り、ディスク書込みおよびシーケンシャル先取り読取りのカテゴリに分割する。これらのカウントオペレーションは、解析時間間隔における各サブ間隔の間、各論理ボリュームにおいて維持される。この情報、特に独立ディスク読取りに１．０、ディスク書込みに０．５およびシーケンシャル先取り読取りに０．２５の加重を行うと全体の結果が改善されることが分かっている。別の加重処理も有効である。
【００７５】
ステップ１１４の手順は、加重ディスク活動度を、シークオペレーション以外の転送完了時間を表すディスク転送時間に変換する。つまり、ディスク転送時間は待ち時間と選択データ転送時間との和に一致する。この変換は、モデルまたは製造業者により、全システムまたは特定のシステムの平均を表すテーブルにに含められた任意のまたは実験的なデータによって提供される。データは製造業者の設計データでもよく、物理ディスクドライブ上の１つのトラックまたは間隔をあけた複数のトラックの特定の測定値を反映していてもよい。
【００７６】
ステップ１１２ないし１１４で蓄積されたデータは、各論理ボリュームに対する個々のサブ間隔の間のディスク利用値の良好な近似値をもたらす。これらの増分もしくは論理ボリュームサブ間隔利用値を合計して、図５Ａおよび５Ｂの残りのステップに関連して説明したように、物理ディスク記憶装置のための論理ボリューム利用値またはディスク利用値を得ることができる。特にディスクアクセス回数および他の利用可能情報を使用して、（１）読取り書込みヘッドが１つの位置から別の位置へと移動する時間に対応するシークフェーズ、（２）物理ディスク記憶装置としてデータ転送要求を受け取る間の間隔に対応する待ちフェーズ、（３）物理ディスク記憶装置がデータを転送する時間に対応するデータ転送フェーズ、および（４）シークフェーズの終了からデータ転送フェーズの開始までの間の時間に対応する待機時間フェーズとを含む、ディスクアレイ記憶システムへの入出力要求に対する何らかの応答である、異なる１つ以上のフェーズに関する個別情報を生成することができる。これらの作動フェーズのどれか１つ以上から得た情報をシーク時間と併せて使用すれば、物理ディスク記憶装置利用時間を得ることができる。
【００７７】
待ち時間フェーズおよびデータ転送フェーズに関するデータをディスク利用値に組み込む必要がある場合、システムは作動データを利用する。物理ディスク記憶装置機器に対して製造業者が供給する作動データとしては、スピンドル上の媒体のωで定義される回転速度と、データ転送速度Ｄrがある。
【００７８】
データ転送速度Ｄrは、物理ディスク記憶装置中の全てのシリンダに対して一定速度として与えることができる。しかし、多くの製造業者は、隣接するトラックをＺ個の同心円ゾーンｚにグループ化する。つまり０≦ｚ≦（Ｚ−１）であり、各ゾーンｚはそれぞれ独自のデータ転送速度Ｄr,zを持つ。そのようなデバイスでは、最外側のゾーンからのデータ転送速度は最大速度になり、最内側のゾーンからのデータ転送速度は最小速度になる。このような情報は、図１のサービス処理装置４０に下記の情報を有するテーブルとして格納される。
ディスク情報テーブル
0003860407.tif 000003
【００７９】
図１のサービス処理装置４０は、ディスクアレイ記憶システムで使用される物理ディスク記憶装置の各タイプ毎に１つのこのようなテーブルを備えることができる。殆どのディスクアレイ記憶システムは、一人の製造業者か多くて数人の製造業者によって製造された単一のタイプか、または数タイプを含んでいる。従って、サービス処理装置４０にこの情報を格納する要求はごく限られる。もしくは、当業者にはよく知られているように、プログラム定数として、または開始手順の間にテーブルから得られる定数として、別の値を格納してもよい。
【００８０】
各々のディスクシーク時間、待ち時間、データ転送時間および待機時間を生成するための各手順は、サービス処理装置資源を必要とすることは明らかである。多数の４項目（因子）全ては正常に現れることが期待されているが、それらの資源に対する制限またはデータアクセスの種類でさえもが、ディスクシーク、待ち、データ転送速度および待機時間の１つまたはそれ以上の組合わせを用いることによって生成される、非常に正確なディスク利用時間を必要とし認めるのである。
【００８１】
図６は、図６と図５Ａで示された処理の間の相関関係をさらに明確に述べるのに十分な文字を含む符号１１２、１１３および１１４を用いている。例えば、図５Ａのステップ１１２は、物理ディスクドライブ中の論理ボリュームを選択し、ステップ１１２Ａは、論理ボリュームＬＶを選択するが、一方でステップ１１２Ｂはサブ間隔Δｔを選択する。図６の手順もまた、図５Ｂのステップ１２５または１２７への追加として位置づけられ含められていることは明らかである。
【００８２】
（待ち時間）
図５Ａのステップ１１３と同様に、図６のステップ１１３Ａは、選択されたサブ間隔Δｔ、論理ボリュームＬＶ、読取りミスの合計数、シーケンシャル読取り／書込みディスクアクセス回数を決定する。加えてステップ１１３Ａはこれらの種々のディスクアクセスによって転送されるデータ量を決定する。先に検討したように、ディスクアクセス回数は前述のように次式のように加重される。
0003860407.tif 000004
ここでＮrmおよびＮwrは、読取りミスアクセス回数および書込みアクセス回数である。Ｎsrはサブ間隔の間に起きるシーケンシャル読取りアクセスオペレーション回数である。サブ間隔内のアクセス活動度が１０回の読取りミスアクセス回数、２０回の書込みアクセス回数および８回のシーケンシャル読取りアクセス回数を含む場合、Ｎrm＝１０、Ｎwr＝２０、Ｎsr＝８で、合計３８回アクセスすることになる。しかし、（２）によれば加重アクセス回数は２２となる。
【００８３】
ステップ１１３Ｂは、解析すべき論理ボリュームを含む物理ディスク記憶装置のスピンドル速度ωsを検索する。ステップ１１３Ｃは、次式によるサブ間隔の間の選択論理ボリュームの待ち時間ｔl,Δt,LVを生成する。
0003860407.tif 000005
【００８４】
３８回のアクセス回数である前記の実施例において、待ち時間はアクセス回数に比例するがスピンドル速度ωsに反比例する。好適な実施形態において、ｋ＝０．５は、平均すれば各シークオペレーションの終了とデータ転送の開始との間に媒体が半回転することを仮定していることを示している。
【００８５】
（データ転送時間）
この解析に含まれる第２の因子は、サブ間隔の間に論理ボリュームに対するデータアクセスに応答して実際にデータ転送を行うのに必要な時間の合計値である。前述のように、今日、殆どの製造業者は異なるゾーンに転送されるデータ転送速度についての情報を提供している。ステップ１１３Ｄは、テスト中に論理ボリュームＬＶが占めるディスクゾーンｚの数と識別子を定義する。利用可能な従来の構成情報がこれに対応する。特に、物理ディスク記憶装置が複数の論理ボリュームを格納する場合、各論理ボリュームのサイズは既知であり確定される。また論理ボリュームが格納される順序も既知である。
【００８６】
論理ボリュームが単一のゾーンに格納されると、その論理ボリュームのデータ転送速度はそのゾーンにおける一定のデータ転送速度となる。しかし、論理ボリュームが複数ゾーンに亘る場合、ステップ１１３Ｅは制御を１１３Ｆに進め、各ゾーンにある論理ボリュームの割合または割当を決定する。例えば、１メガバイトの論理ボリュームがゾーン０に２００キロバイト含まれ、ゾーン１に８００キロバイト含まれる場合、割合はゾーン０で２０％、ゾーン１で８０％となる。
【００８７】
論理ボリュームが単一ゾーンを占めても複数ゾーンを占めても、制御はステップ１１４Ａに進み、システム管理装置つまりサービス処理装置４０は、次式（４）に基づいて各ゾーン内で選択されたサブ間隔の間に、選択された論理ボリュームに生じる全てのデータ転送に必要な時間ｔdt,z,Δt,LVを生成するのを可能にする。
0003860407.tif 000006
【００８８】
論理ボリュームが単一ゾーンに組み込まれる場合、式（４）はサブ間隔に亘って論理ボリュームへ転送される、またはそこから転送される全データを、全論理ボリュームの一定データ速度で割った商を提供する。複数ゾーンの場合、転送データは、異なるゾーンを横切って各ゾーンの論理ボリュームの割合に応じて配分される。前記の実施例では、書込まれたデータのアクセス回数の２０％がゾーン０に割当てられ、８０％がゾーン１に割当てられている。２００キロバイトのデータが転送されると仮定する。前記のディスク情報テーブルを有するディスクを使用すれば、サブ期間の論理ボリュームについて、データ転送時間（秒）は、
0003860407.tif 000007
となる。ステップ１１４Ａとステップ１１４Ｂはこのプロセスを示している。
【００８９】
次にステップ１１４Ｃは、サブ間隔Δｔの間の、選択論理ボリュームについての待ち時間ｔl,Δt,LV、と全データ転送時間ｔdt,Δt,LVとを合計する。さらに多くのサブ間隔が含まれる場合、ステップ１１４Ｄは制御をステップ１１２Ｂへと戻す。それ以外では制御は図５Ａのステップ１１５へ進む。
【００９０】
前記の方法のいずれかによって、一旦特定の論理ボリュームまたは他のデータブロックに関してこの情報が生成されると、ステップ１１５は未テストの付加的論理ボリュームが存在するか否かを判定する。さらに論理ボリュームが存在すると、制御は戻されてステップ１１２から１１４を繰り返す。
【００９１】
（シーク時間）
全ての論理ボリュームが処理されて、各論理ボリュームおよび各サブ間隔についてのディスク転送時間および待ち時間が得られた後に、ステップ１１５は制御をステップ１１６へと分岐する。ステップ１１６は、論理ボリュームのシーク時間を提供する解析を開始する。詳細には、ステップ１１６、１１７および１２０は順に、物理ドライブ、そのドライブ上の１対の論理ボリューム、およびサブ間隔を選択する。各サブ間隔についてステップ１２１は、式（６）に基づいて、選択された論理ボリューム対に対するアクセス回数を、Ｎ個の論理ボリュームに分割された所定のドライブｄに対するシーク時間Ｔ（ｓｅｅｋ）ｄに変換する。
0003860407.tif 000008
ここでＴijはシーク時間を表し、ＡiおよびＡjはディスクドライブｄ上の任意の論理ボリューム対（ｉ，ｊ）に対する２つの選択論理ボリュームの各々の加重活動度を表し、ここで１≦ｉ≦Ｎ、１≦ｊ≦Ｎ、かつｉ＜＞ｊであり、ここで、１≦ｋ≦Ｎであるｋの全ての値に対するＡkの合計値は、物理ディスク記憶装置ｄの全加重アクセス回数を表す。つまり、式（６）は、サブ間隔全体のそのドライブにおける各論理ボリュームの活動度に基づく論理ボリュームｉおよびｊの間のシーク回数およびシーク時間の統計的表示を与える。物理ディスク記憶装置上の全論理ボリューム対についての合計値は、選択サブ間隔について物理ディスク記憶装置によって行われたシーク時間の総量を表す。
【００９２】
シーク時間Ｔijを決定するには幾つかの方法がある。１つのアプローチとして、シーク時間テーブルは、各タイプのドライブに対する各トラック対の間のシーク時間を記録する。このシーク時間は、製造業者が提供したデータ、サンプルの測定、現場での測定または他の手順に基づいている。サンプル測定に基づいたデータが良い結果をもたらしている。
【００９３】
モニタ５０はその構成テーブル中に、付加的に物理ディスク記憶装置上の各論理ボリュームの中央線トラック位置を含むことができる。この情報は、どのシークオペレーションに対しても、中央線トラック位置に基づく開始および終了トラックを提供できる。中央線トラック位置の使用もまた良い結果をもたらすことが分かっている。開始および終了中央線トラックを、対応するディスクドライブに対するシーク時間テーブル情報への入力として使用して、その特定のディスクドライブのＴij時間を得ることができる。つまり、任意の論理ボリューム対に対して式（６）から導かれるシーク時間Ｔ（ｓｅｅｋ）ｄが、、サブ間隔の間に特定の論理ボリューム対について必要になる全シーク時間の良好な統計的近似値をもたらす。
【００９４】
多くのアプリケーションにおいて、システム管理装置が種々のボリュームに対してディスクシーク回数を計算するのに必須の時間と他の資源は、個々に長かったり負担が大きかったりすることがある。同様に容認可能なシーク時間値を与えるが、システム管理装置４０の資源に対する負担を相当低減する、別の方法が見いだされている。前述の米国出願（代理人番号０７０７２／９２５００１）で説明したように、別のシーク時間関数、新しいＴ（ｓｅｅｋ）ｄ′が式（７）で与えられる。
0003860407.tif 000009
【００９５】
式（６）および（７）の解析は式（７）が容認可能なディスクシーク値を与えることを示す。以下に示すように、シーク回数を決定するために資源に対する負担を相当低減する、極めて単純な解をもたらすように式（７）を操作できる。アプリケーションによっては、この手順でシーク回数を得るのに必要な時間が８分の１に減少するという結果が出た。負担を低減することは明らかに非常に望ましい。
【００９６】
詳細には、各論理ボリュームに対する活動度の合計値Ａ′iが、
0003860407.tif 000010
で計算される場合、式（８）を式（７）に代入して項を計算すると、ディスクシーク時間についての別の値、次式のＮｅｗＴ（ｓｅｅｋ）が生じる。
0003860407.tif 000011
ここで、Ａ′iは全論理ボリュームに対する活動度の合計値であり、次式で表される。
0003860407.tif 000012
【００９７】
図７は、図５Ｂの手順つまりステップ１２１と置換可能な式（９）と（１０）とを使用して、ディスクシーク回数を決定する方法を示す。従って、図７は特定のステップ群を述べるのに十分な文字を含む参照符号１２１を用いている。
【００９８】
制御が図５Ｂのステップ１２０から図７の手順に進むと、ステップ１２１Ａは物理ディスク記憶装置上にある解析すべき第１の論理ボリュームを選択する。
【００９９】
次にステップ１２１Ｂは、選択論理ボリュームの加重アクセス回数を先行論理ボリュームの加重アクセス回数の合計値に加える。第１の論理ボリュームの解析の間、先行論理ボリュームの加重アクセス回数の合計値は、明らかに０である。後続の論理ボリュームに対して、ステップ１２１Ｂは変数に対する値Ａ′i＝Ａ1＋…＋Ａiを生成する。
【０１００】
次ぎにステップ１２１Ｃは、加重アクセス回数を先行加重アクセス回数の合計値に合計する。第１の論理ボリュームを処理した後に、ステップ１２１Ｃは（Ａ′1＋Ａ′2＋…＋Ａ′i）の値を生成する。
【０１０１】
次ぎにステップ１２１Ｄは、Ａ′1の２乗を先行Ａ′iの値の２乗の和に加える。つまり、ステップ１２１Ｄは[（Ａ′1）2＋（Ａ′2）2＋…＋（Ａ′i）2]の値を与える。
【０１０２】
それ以上の論理ボリュームがあれば、ステップ１２１Ｅは制御をステップ１２１Ｆへ進め、すぐに次の論理ボリュームが選択される。本発明の出願人によるシステムを備える特定の装置においては、選択処理は規則的に行われる。詳細には、各物理ディスク記憶装置は、その論理ボリュームを割当て位置に格納する。ステップ１２１Ａで最初に選択された論理ボリュームは、物理ディスク記憶装置上の最初の論理ボリュームとなる必要がある。ステップ１２１Ｆは、同じ順序で２番目からＮ番目の論理ボリュームを選択する必要がある。
【０１０３】
ステップ１２１Ｆが選択を行った後に、制御はステップ１２１Ｂに戻る。このループは全ての論理ボリュームが処理されるまで続く。次にステップ１２１Ｅは、制御をステップ１２１Ｇに進め、新しいＴ（ｓｅｅｋ）dを計算するために式（９）に従って物理ディスク記憶装置についてのシーク時間を生成する。さらに詳細には、ステップ１２１Ｂで得られた値ＡNは、式（９）の右側の項の分母になる。ステップ１２１Ｄで得られた値は、右側の項の分子になる。ステップ１２１Ｂは、左側の項の値を与える。つまり式（９）は以下のようになる。
0003860407.tif 000013
【０１０４】
式（６）または（７）のいずれかによる直接的な解法は、種々のｉの値に対する外側の計算ループと、種々のｊの値に対する内側の計算ループとを使用する手順を必要とすることが明らかになる。つまり、２重ループの解法である。そのような計算を行うのに必要な時間は、物理ディスク記憶装置内の論理ボリューム数のおよそ２乗の数だけ増加する。式（９）は、図７に従って組み込まれると、ただ１回のループで式（１１）の答えを出す。従って、ディスクシーク活動度の表示を得るのに必要な時間は、ほぼ論理ボリューム数と同じに増加するので、２重ループ解法で値を得るのに必要な時間に対して相当低減する。１８個の論理ボリュームを備える物理ディスクドライブでの比較では、単一ループ解法は、２重ループ解法で必要な時間の１／８で答えを出すことを示した。
【０１０５】
（待機時間）
待機時間は、図１のモニタ５０から入手できる、別の情報に依存している。前述のように、待機時間は、ディスクアダプタまたはコントローラにおいて、入出力要求の到達とシークの開始との間の経過時間である。これはディスクアレイ記憶システムにおける別の物理ディスク記憶装置の間での、不規則なロードを表すことができる別の因子である。すなわち、１つのディスク記憶装置に著しく負荷がかかると、そのデバイスはディスク読取りまたは書込み要求の到達と、読取りまたは書込み要求に応答した実際の転送の開始との間に遅延を生じ始める。そのような待機時間を、物理ディスク記憶装置の利用度の大きさを決定するアクセス回数または要求回数と、平均「待機時間」との関数として予測する、幾つかの公知の方法がある。つまり、システムによってはそのようなディスク利用度を決定するときの「待機時間」を、前述のディスクシーク時間、待ち時間およびデータ転送時間またはそれらの時間の合計に対する補完として使用することは有用であろう。
【０１０６】
ステップ１２３は、すでに得られているが、シーク時間と、物理ディスクがその活動度に関連するシーク時間、待ち時間、データ転送時間および待機時間の全てを含む転送を行うために作動する合計時間を表す、論理ボリュームサブ間隔利用時間を得るためのディスク転送時間とを合計する。
【０１０７】
図５Ｂのステップ１２４は、全てのサブ間隔が処理されたか否かを判定する。選択された論理ボリューム対に対してさらにサブ間隔が存在すると、ステップ１２４は分岐してステップ１２０に戻り、ステップ１３０および１２３の処理を繰り返す。サブ間隔利用時間が全てのサブ間隔に対して得られると、ステップ１２５はその時間を合計して、論理ボリューム利用時間を得る。次いでステップ１２６は、ステップ１１６で選択された物理ディスクドライブ上に付加的な論理ボリューム対があるか否かを決定する。別の論理ボリュームが存在する場合、制御はステップ１１７に戻り、合計された時間、つまり物理ディスク記憶装置利用時間を得る。
【０１０８】
全ての異なる物理ディスク記憶装置に対する全ての利用時間を得て合計した後に、ステップ１２６は制御をステップ１２７へ進め、それによってその全間隔での間隔利用時間を合計し、その特定の物理ディスクドライブに関する、時間ベースの全物理ディスクドライブ利用度統計量を得る。次にステップ１３０は、追加の物理ドライブをテストする必要があるか否かを判定し、必要があれば分岐してステップ１１６に戻り別の物理ドライブを選択する。
【０１０９】
全ての物理ドライブが解析された後に、制御はステップ１６０からステップ１６１へ進み、物理ディスクドライブはそれぞれの時間ベースの利用度統計量によって順序づけられる。ステップ１６２で交換可能な論理ボリューム対が選択される。この選択処理は多くの方法で達成できる。簡単な方法は単に、対の一方がその物理ディスクドライブで最大の時間ベース利用度統計量を持つ最繁忙論理ボリュームであり、他方がその物理ディスクドライブで最小の時間ベース利用度統計量を持つ最も繁忙でない論理ボリュームである交換可能対を定義することである。この概念により、最繁忙の物理ディスクドライブ上の最繁忙論理ボリュームが、最も繁忙でない物理ディスクドライブ上の最も繁忙でないボリュームと交換されると、負荷の平均化を改善できる。
【０１１０】
ステップ１６３は、予定の交換ディスクから得た情報を使用して先の処理であるステップ１１２ないし１２７、１６０および１６が繰り返される手順を示している。つまり、前述の特定の実施例において、解析は、ＬＶＥ論理ボリュームがＭ１−ＬＶＡ論理ボリュームと交換されると想定してそれらの種々のパラメータを再計算するために、物理ディスクドライブ３１Ａおよび３１Ｂを検査することで修正できる。改善の見込みがあれば、ステップ１３４は、論理ボリュームを交換する処理を説明するステップ７５に分岐する。それ以外であれば交換がなされることなく解析が終了する。
【０１１１】
（校正手順）
ディスクシーク、待ち、データ転送および待機時間等の特性を持つ前記因子の各々は、単独または組み合わされて使用することで単独または多重スワップ効果が予測される最大のディスク利用値をもたらす。各々の値は、統計的解析の結果であるので、スワップが起きた後の作動中に、個々の論理ボリュームへの負荷に認識できるほどの差異がないことを前提とするとなおさら、予測される結果と現実の結果とは一致しない場合がある。
【０１１２】
しかし場合によっては、種々の他の因子に基づく利用値を校正して、それによって予測されるディスク利用値と、結果としてのディスク利用値との間の偏差を低減することは有用である。例えば、図２Ｂに関して説明された処理の間に、ステップ７４は、予定の交換の前後での予測物理ディスクアクセス活動度を比較する。予定の交換の後の物理ディスクアクセス活動度を「予測値」として交換が行われると想定する。統計量は交換が行われた後に継続的に収集されることは明らかである。ある時点で、それらの統計量を解析して「実際の値」を決定できる。この２つの値は合計されて、以下のような校正因子（ＣＦ）を生成できる。
0003860407.tif 000014
【０１１３】
前述のように、交換が行われるときには作動条件は大きく変化しないと仮定する。この仮定は正しくない場合が多い。そこで、交換可能対の選択に先だって分布値を修正するのに使用できる統計的に重要な値を得るために、ＣＦの値を継続的に蓄積することができる。
【０１１４】
第２の実施例は、式（７）で得られたディスクシーク回数についての特定の情報を比較できる。モニタ５０等のモニタは、各シークオペレーションの間、物理ディスク記憶装置の読取り／書込みヘッドが横切る論理ボリュームの数を測定する構成要素を含むことができる。このようなパラメータが利用可能であれば、このパラメータと、式（７）の加重ディスクアクセスを用いて得られる対応パラメータとを比較できる。Ｎ（Ｓ）dを物理ディスク記憶装置に対してモニタ５０が供給する論理ボリュームｄの総数とし、Ｎ（Ｐ）dをその同一デバイスに対し式（７）によって予測されるアクセス回数とする。そうするとこの物理ディスク記憶装置に関してアクセス回数に対する別の校正因子ＣＡdを次式により得ることができる。
0003860407.tif 000015
【０１１５】
この因子ＣＡdは、物理ディスク記憶装置内の各論理ボリュームについての予測値として適用できる。次いで各物理ディスク記憶装置についての別の因子を得ることができる。そうするとこの因子は、１組の測定値に基づく唯一の値として、もしくは平均的または統計的に生成された値として使用できる。
【０１１６】
これまでの解析は、解析された単一の選択交換可能対を用いて説明した。
一度に一組が取得される全ての交換可能な論理ボリューム対の間に存在可能な種々の組み合わせを考察して、物理ディスクローディングバランスに対応する交換を調べることは好都合である。しかし典型的には、これは実現性がなくなる程多くの処理時間を必要とする。さらに別の代替例として、交換が有利であるか否かを決定するために必要な時間量を制限するために、予め設定した数の交換可能対を評価することもできる。
【０１１７】
（代替例）
前記の開示は、種々のテストや交換手順を使用してディスクアレイ記憶装置内で負荷を平均化するための多数のアプローチを説明している。各々のケースにおいては、単一の解析が実行されることと、種々のステップが独立にかつ手動制御のもとで生成されることが想定されている。つまり、オペレータは、解析を開始して、交換されるべき論理ボリュームを示唆する報告を得ることができる。その後、オペレータは交換を実施するための必要ステップを得ることができる。しかし、時間サブ間隔の持続時間と回数とを選択して、実施されるべきテストを選択し、それによって処理が自動的に開始して完了する自動プロセスを達成することは容易であり、当業者の能力の範囲内にあることは明らかである。
【０１１８】
例えば、長さとオーバラップの異なる時間間隔でもって作動することも可能である。例えば、オペレータは、例えば１５分時間間隔で毎時始まる第１の時間と、例えば１日の時間間隔で始まる第２の時間とを選択して使用できる。オペレータは、第１の時間間隔の間に得られる運転データを解析するために、単にシーク時間だけ、または他の時間を含む所定の解析を選択でき、または与えられることができる。その後、オペレータは代替手段の全リストから各々の第２間隔の終わりに行われる処理を選択する。これらの処理の両方とも半自動モードで行われ、それによってオペレータはスワップの推奨を得て、その後スワップを開始できる。これら処理の両方とも完全に自動的に行うこともできる。さらに別の環境では、第１の時間間隔処理を自動的に行うが、第２の時間間隔処理を半自動または手動で行うこともできる。これらの変形例のいずれにおいても、第１の時間間隔の間に行われる交換は短期の変更であり、第２の間隔の間に行われる交換は長期の変更である。
【０１１９】
（要約）
要約すれば、本出願はシステム性能を改善するために個々の物理ディスク記憶装置上の負荷を平均化することを可能にする一般的な方法を定義する。この方法は、大部分、測定パラメータを各物理ディスク記憶装置に関するディスク利用値へと統計的に変換する正確さに依存している。前記の説明は多数の因子を定義している。これらはディスクシーク時間、ディスク待ち時間、ディスク転送時間、およびディスク待機時間を含む。前述のように、個々の解析はこれらのいずれか１つまたは全部、もしくは他の因子さえも組み込むことができる。典型的には、初期解析は、ディスクシーク時間因子および他の１つの因子等の、１つまたは２つの因子を使用して行われる。予測の正確性の改善が、サービス処理装置またはシステム管理コンソール４０への負担を相殺するのであれば、付加的因子を追加できる。つまり、アプリケーションによっては、僅かに１つまたは２つの因子を組み込んだ解析が非常に正確な情報を提供するが、他のアプリケーションでは全てのまたは実質的に全ての因子を一緒に使用して解析を行うことが必要になる場合があることが予測できる。
【０１２０】
同様に、２つの異なる校正因子が開示されている。あるアプリケーションは、そのような因子を要求しないが、他のアプリケーションは、１つ以上の校正因子によって正確さが非常に改善されることもある。
【０１２１】
つまり、本発明によれば、システムオペレータにはディスクオペレーションを解析するためのツール装備が提供される。さらに、本発明は、異なる状況で必要があれば、システムオペレータがこの装備から種々のツールを選択する高い自由度をもたらす。
【０１２２】
前記の説明は、本発明を、論理ボリュームと呼ばれる既知のサイズの物理ディスク記憶装置上の隣接する記憶位置のブロックに構成されたデータという観点から検討している。しかし、本発明は他のデータ構成にも適用可能である。例えば、アプリケーションによっては、論理ボリュームは複数の物理ディスク記憶装置に亘って分散された一連のサブボリュームに分割されることもある。そのような分割は冗長性および回復目的または負荷分散目的のために行うこともできる。各ブロックは論理ボリューム、サブボリュームまたは他のグループ化であっても、所定サイズの隣接記憶位置のブロックを構成する。逆にかつ結果的に、ブロックは単一の論理ボリューム、サブボリュームあるいは他のグループ化されたものでもい。
【０１２３】
本発明は前述のように、このようなシステムにも同様に適用可能である。すなわち、この方法は、論理ボリューム、サブボリュームあるいは他のグループ化されたものとして構成されている、如何なる隣接記憶位置のブロックについても作動する。本質的に、また本発明の前述の実施形態のいずれかに従って、種々の読取り／書込み統計量が、ある時間間隔に亘って各ブロックに関して蓄積される。交換可能ブロックの全ての対のリストが、前述のサイズと、図２Ａのステップ６３に関連して検討した基準に対応する他の基準を使用して確立される。論理ボリュームが冗長性を求めてサブボリュームに分割される場合は、付加的な基準は、同一論理ボリュームからのサブボリュームが１つの物理ディスク記憶装置上に存在することを防止できる。確立すべき構成が、個別のブロックに基づく評価を除いては、その構成が論理ボリュームに分割されたアレイに対して評価されるのと同様の方法で評価される。この構成が高い性能をもたらすと想定すると、図４の交換手順に従って、図２Ｂのステップ７６における交換と類似の方法で交換が行われる。
【０１２４】
本発明を逸脱することなく開示された装置に対して多数の変更を行うことができることは明らかである。したがって、請求の範囲は、全てのそのような変更や修正が本発明の真の精神と範囲内に含まれるものとしてカバーすることが意図されている。
【図面の簡単な説明】
【図１】本発明を実現する特定のデータ処理システムのブロック図である。
【図２Ａ】本発明による論理ボリューム交換用の１つの手順を表すフローチャートである。
【図２Ｂ】本発明による論理ボリューム交換用の１つの手順を表すフローチャートである。
【図３】別の形式のデータ交換を提供する別の特定のデータ処理システムのブロック図である。
【図４Ａ】本発明による論理ボリューム交換のための手順を表すフローチャートである。
【図４Ｂ】本発明による論理ボリューム交換のための手順を表すフローチャートである。
【図５Ａ】交換される論理ボリュームを識別するための別の代替的手順を表すフローチャートである。
【図５Ｂ】交換される論理ボリュームを識別するための別の代替的手順を表すフローチャートである。
【図６】交換される論理ボリュームを識別するための別の代替的手順を表すフローチャートである。
【図７】本発明によるディスクオペレーション特性を得るための別の代替的手順を表すフローチャートである。
【図１】
0003860407.tif 000016
【図２Ａ】
0003860407.tif 000017
【図２Ｂ】
0003860407.tif 000018
【図３】
0003860407.tif 000019
【図４Ａ】
0003860407.tif 000020
【図４Ｂ】
0003860407.tif 000021
【図５Ａ】
0003860407.tif 000022
【図５Ｂ】
0003860407.tif 000023
【図６】
0003860407.tif 000024
【図７】
0003860407.tif 000025