(57)【要約】ディスクアレイ記憶装置のストライピングデータをオンラインで再構成可能にする方法及び装置に関する。ストライピング論理デバイスの複製されたコピーをホスト動作と同時に行う。その後、新規な構成を有する論理デバイスは、あらゆるデータが新規に構成された論理デバイスの位置に転送される前であっても、ホストアプリケーションによってアクセスに切り替わる。このディスクアレイ記憶装置の独立した処理動作は、新規な構成の位置に導かれるホストＩ／Ｏ要求に対応しながら、あらゆるホスト動作に対してもトランスペアレントにデータを再構成する。
2004536360.tif 000002
【特許請求の範囲】
【請求項１】
ディスクアレイ記憶装置内の複数の物理ディスクドライブにわたって分配され、ホストアプリケーションからの入出力要求に応答するストライピング論理デバイスを、元の構成から新規な構成に再構成する方法であって、
Ａ）前記ホストアプリケーションと元の構成における前記論理デバイスとの間の動作と同時に、前記元の構成におけるストライピング論理デバイスをコピーする工程と、
Ｂ）同コピーを分離する工程と、
Ｃ）前記論理デバイスをその新規な構成に変換することによって、前記ホストアプリケーションをその後に同新規な構成における前記論理デバイスと対話可能とさせる工程と、
Ｄ）前記ホストアプリケーションと新規な構成における前記論理デバイスとの間の動作と同時に、前記分離されたコピーから前記新規な構成による対応位置へデータを転送する工程と、
Ｅ）前記新規な構成に従って転送されなかったデータに対するホストアプリケーションからの入出力要求に対して、前記コピーの対応位置から入出力要求が特定する論理デバイスの位置までデータを転送することによって応答する工程とからなる方法。
【請求項２】
前記データ処理システムは他の物理ディスクドライブを含み、
Ｆ）前記ストライピング論理デバイスのコピー工程は、
ｉ）前記元の構成における前記物理ディスクドライブの全てのデータ位置に関する第１リストを、前記論理デバイスについて生成する工程と、
ｉｉ）前記元の構成に従って前記論理デバイスの前記データを前記他の物理ディスク装置に複製する工程とからなり、
Ｇ）前記論理デバイスの新規な構成への変換工程は、
ｉ）前記元の構成から前記新規な構成に従ってデータを受け取る前記物理ディスクの全てのデータ位置に関する第２リストを生成する工程と、
ｉｉ）前記新規な構成を生成することによって、ホスト要求を前記第２の構成が確立した前記記憶位置に導く工程とからなり、
Ｈ）前記データのコピー工程は、前記元の構成と前記第１リストの情報とに従って、前記複製されたデータを含む前記他の物理ディスクドライブから対応する物理ディスクドライブ位置にデータを反復して転送する工程からなり、
Ｉ）入出力要求に対する前記応答は、前記第２構成と前記第２リストの情報とに従って前記データを転送する工程からなる、請求項１に記載の方法。
【請求項３】
前記ディスクアレイ記憶装置は、前記ホストアプリケーションからのデータを、物理ディスクドライブに転送する前に一時的に格納するキャッシュメモリを含み、前記方法はさらに、
Ａ）前記変換が発生した場合に、前記物理ディスクドライブに転送される前記キャッシュメモリ内の全てのデータに関する第３リストを生成する工程と、
Ｂ）その第１構成データ位置に従って、かつ前記第３リストに対応して、前記データを前記キャッシュメモリから前記複製されたデータに転送する工程とを有する、請求項２に記載の方法。
【請求項４】
異なった処理が前記転送工程のそれぞれを制御し、同処理は同時に動作する、請求項３記載の方法。
【請求項５】
異なった処理が前記転送工程のそれぞれを制御し、同処理は前記ホストアプリケーションの動作と同時に、かつ独立して動作する、請求項３に記載の方法。
【請求項６】
元の構成において前記ディスクアレイの複数の物理ディスクドライブにわたって分配されたストライピング論理デバイスを、前記ホストアプリケーションからの入出力要求処理に同時に、かつトランスペアレントに新規な構成に再構成するデータ格納部において、同データ格納部は、
Ａ）その元の構成において、前記ホストアプリケーションと前記論理デバイス間の動作と同時に、前記ストライピング論理デバイスの前記データを前記元の構成に複製する複数の付加的な物理ディスクドライブと、
Ｂ）前記複製されたコピーを分離する制御部と、
Ｃ）その新規な構成に前記論理デバイスを配置して、前記ホストアプリケーションとその新規な構成の前記論理デバイスとを対話させる構成ファイルと、
Ｄ）前記ホストアプリケーションと前記新規な構成における論理デバイスとの間の動作と同時に、データを前記分離されたコピーから前記新規な構成に従う対応位置に転送するデータ転送バックグラウンド処理部と、
Ｅ）前記コピー内の対応位置から前記入出力要求が特定する前記論理デバイス内の位置にデータを転送することによって、前記新規な構成に従って転送されなかったデータのために前記ホストアプリケーションからの入出力要求に応答する入出力要求ハンドラとからなる、データ格納部。
【請求項７】
さらに、他の物理ディスクドライブを有し、
Ｆ）前記元の構成に従う前記物理ディスクドライブの全てのデータ位置に関する第１リストと、
Ｇ）前記新規な構成に従って前記元の構成からデータを受け取る前記物理ディスクドライブの全てのデータ位置に関する第２リストとを有し、前記データ転送バックグラウンド処理部は、前記元の構成と前記第１リストの情報とに従って対応した物理ディスクドライブ位置に、前記複製されたデータを含む前記他の物理ディスクドライブからのデータを反復して転送し、前記第２入出力要求ハンドラは前記第２リストの情報に応答する、請求項６に記載のデータ格納部。
【請求項８】
前記ディスクアレイ記憶装置は、前記ホストアプリケーションからの書き込み待ちデータを物理ディスクドライブに転送する前に一時的に格納するキャッシュメモリを含み、前記データ格納部は、前記物理ディスクドライブに転送される前記キャッシュメモリ内の全てのデータに関する第３リストと、前記キャッシュメモリからその第１構成データ位置と前記第３リストの前記情報に従って、データを前記複製されたデータに転送する分割待ちのバックグラウンド処理部とをさらに有する、請求項７に記載のデータ格納部。
【請求項９】
前記コピー手段と、前記データ転送及び書き込み待ちバックグラウンド処理部と、前記入出力要求ハンドラとは同時に動作する、請求項６に記載のデータ格納部。
【請求項１０】
前記コピー手段と、前記データ転送及び書き込み待ちバックグラウンド処理部と、前記入出力要求ハンドラ手段とは、互いに同時に動作すると共に、ホストアプリケーションとは同時に、かつ独立して動作する、請求項６に記載のデータ格納部。
【発明の詳細な説明】
【０００１】
（関連出願に対する相互参照）
本発明と同一の譲受人であるユバル  オフェック（Ｙｕｖａｌ  Ｏｆｅｋ）に付与された、２０００年８月８日発行の米国特許第６，１０１，４９７号、「共通データセットに独立して及び同時にアクセスする方法及び装置」。
【０００２】
本発明と同一の譲受人であるマシュー  ガーネ等（Ｍａｔｈｉｅｕ  Ｇａｇｎｅ，ｅｔ  ａｌ）によって、１９９９年４月３０日に出願された米国特許出願第０９／３０３，２４２号、「共通データセットに独立して及び同時にアクセスする方法及び装置」。
【０００３】
本発明と同一の譲受人であるイシェイ  ケデム等（Ｉｓｈａｙ  Ｋｅｄｅｍ，ｅｔ  ａｌ）によって、１９９９年６月２９日に出願された米国特許出願第０９／３４２，６０８号、「データ処理システムにおける独立したデータをコピーする方法」。
【０００４】
（発明の背景）
（技術分野）
本発明は、１個以上のディスクアレイ記憶装置に構成されたホストプロセッサ及びデータ格納部を有したデータ処理システムに関する。より詳細には、本発明は、データ格納に関するデータのオンラインによるトランスペアレントな再構成、特にストライピングされたファイルや論理デバイスを有するデータ格納を実行する方法及び装置に関する。
【０００５】
（関連技術の説明）
データ処理システムは、データ格納部に記憶されたデータを処理するアプリケーションプログラムを実行するプロセッサを含んでいる。多くのアプリケーションでは、データプロセッサは、複数の中央プロセッサを備え、データ格納部は、１個又はそれ以上のディスクアレイ記憶装置を備えて大きな記憶容量を提供する。
【０００６】
一般的に、ディスクアレイ記憶装置は、１個以上の論理ボリュームや装置（以下、「論理デバイス」と呼ぶ）に、組織的なデータを格納する複数の物理ディスクドライブを有する。このシステムでは、ホストは、ディスクアレイ記憶装置の論理デバイスにアドレッシングするコマンドを発行する。ホストアダプタは、ホストからの論理デバイスアドレスを、物理ディスクドライブのデータブロックの位置を指定するアドレスに変換する。本発明の譲受人から入手可能なディスクアレイ記憶装置において、論理デバイスアドレスは、シリンダ（シーク域のこと、以下、シリンダと呼ぶ）及びその物理ディスクドライブの構造に従って物理ディスクドライブの特定の位置に順番に変換する読み出し／書き込みヘッドアドレスに変換する。
【０００７】
異種の論理デバイスを異なる構成で格納してもよい。例えば、あるＲＡＩＤ格納方式やデータストライピング構造では、冗長化、負荷の最適配分、障害回復などの目的を達成するために、１個の論理デバイスのデータを複数の物理ディスクドライブに分配する。ストライピングに対して、ストライピングされていない論理デバイスへの多数のホスト要求は、１個の物理ディスクドライブに集中する傾向のある論理デバイスアドレスセットの局所部近傍で、最も活発に発生する。他の論理デバイスを格納しているその他の物理ディスクドライブでは、相対的に活動状態は不活発になる。こうした不均等な負荷配分は、ディスクアレイ記憶装置の動作特性に悪影響を与える。ストライピングは、こうした状況を解決するために負荷を最適配分する方法を提供し得る。ストライピングされた論理デバイスでは、データを複数の物理ディスクドライブによって隣接した位置にある多数の連続データブロックに分割する。論理シリンダ及び読み出し／書き込みヘッドが規定するトラックを有することを特徴とする論理デバイスの場合、複数トラックにわたる論理シリンダにデータが留まると考えてよい。論理シリンダサブセットを特定の物理ディスクドライブに少数のシリンダ容量を持つように考えることができる。データを連続した物理ディスクドライブに分配するため、複数の物理ディスクドライブがホスト要求に応答し、それによって適切に負荷を配分可能となる。
【０００８】
他の応用例では、１個の物理ディスクドライブに対する格納要求が、１個の論理デバイスの容量を上回ることも可能である。「メタ装置」は、１個の論理デバイスを格納するのに複数の物理ディスクドライブを使用する別のデータ構造を備えている。「連鎖された」メタ装置において、データは、順番に各物理ディスクドライブに蓄積される。この方式では、第１論理アドレスを第１物理ディスクドライブに配置し、それを「ヘッドエレメント」とする。付加された物理ディスクドライブは、そのヘッドエレメントから連鎖して付加された位置にデータを格納する。鎖の最後の物理ディスクドライブは、「テールエレメント」、中間にある物理ディスクドライブは、全て「メタエレメント」となる。
【０００９】
このような連鎖されたメタ装置を拡張するには、単に、論理デバイスに対するアクセスをブロック化して、その論理デバイスの構成ファイルを更新すればよい。より詳細には、この再構成とは、結果的に、以前のテールエレメントをメタエレメントに指定し、新規な物理ディスクドライブをテールエレメントに指定して、他の物理ディスクドライブをテールエレメントに連鎖することである。この再構成ではデータ転送は、不要である。構成ファイルが更新されるとすぐにホストが起動されて、再構成又は増補論理デバイスにアクセスできる。
【００１０】
あるメタ装置は、ストライピングで構築される。所与のサイズのメタ装置において、そのストライピングを連鎖された構成のメタ装置を格納する同じ物理装置に適用できる。他の場合には、通常、いかなる１個の物理ディスクドライブでもメタ装置に割り当てられる一部分に複数のストライピングを格納するが、ストライピングでは、複数の物理ディスクドライブのさらに広い範囲にわたって分配されるので、これでいかなる１個の物理ディスクドライブの一部分だけを占めるようにサイズを設定してもよい。
【００１１】
主としてこのようなストライピング論理デバイスの大部分のデータは、一方の物理ディスクドライブからもう一方に再配置されなければならないので、ストライピングサイズの拡張、変更、又はその両方を目的としたいかなるストライピング論理デバイスの再構成も、ストライピングされない論理デバイスの再構成よりも複雑である。例えば、各物理ディスクドライブが１個の論理デバイスに複数のストライピングを含み、かつ物理ディスクドライブを論理デバイスの容量を拡大するのに追加する場合には、第１物理ディスクドライブの第２ストライピングのデータを新規な物理ディスクドライブの第１ストライピングに移動することが望ましい。また、連続したそれぞれのストライピング位置から他のストライピング位置への対応するデータシフトも発生する。
【００１２】
このようなデータをシフトする方法のひとつは、論理デバイス全体を稼動しないで、一連のコピー動作を通してデータを再構成することを含む。しかし多くの場合、長期間にわたる論理デバイスの不稼動は、まったく許容されない。他の選択肢では、充分な物理ディスクドライブが利用できる場合、ホストが既存のデータと協働している間に、全ての既存のデータを再構成のためのバッファにコピーしてもよい。その後、再構成は、ホストと既存のデータ間の継続した対話と並列に、再構成が完了するまで行われる。その後、再構成されたデータは、既存のデータと交換されるか、又は既存のデータと置換されるためにコピーされ、その後、ホストに再送付される。しかし、この方法は、再構成中にホストアプリケーションが既存のデータに対して行ったいかなる変化をも追跡する機構を必要とし、かなりの間データを稼動しないようにする必要がある。さらに、このような処理は、さらにシステム性能を悪化する多くのプロセッサリソースを必要とする。よって、再構成すべきデータを有するホスト動作と同時に、かつトランスペアレントにデータの再構成を可能にする方法及び装置が必要とされる。
【００１３】
（要旨）
従って、本発明の目的はストライピング論理デバイスを直接再構成することを可能にする方法及び装置を提供することにある。
本発明の他の目的は、ホスト動作に対してトランスペアレントにストライピング論理デバイスの再構成を可能にする方法及び装置を提供することである。
【００１４】
さらに、本発明の他の目的は、その論理デバイスのデータが稼動し、かつホストプロセッサにアクセス可能な間に、ストライピング論理デバイスの再構成を可能にする方法及び装置を提供することにある。
【００１５】
さらに、本発明の他の目的は、その論理デバイスのデータが稼動し、かつホストプロセッサにアクセス可能な間に、ホスト動作に対して全てトランスペアレントにストライピング論理デバイスの再構成を可能にする方法及び装置を提供することにある。
【００１６】
本発明の一態様によれば、複数の物理ディスクドライブにわたって分配され、ホストからの入出力要求に応答して動作するストライピング論理デバイスの再構成は、ホストアプリケーションと元の構成に従う論理デバイス間の動作と同時に、元の構成内にストライピング論理デバイスをコピーする工程を含む。コピーが分離されると論理デバイスは、その新規な構成に切り替わる。その後、ホストは、直ちにその新規な構成の論理デバイスと対話する。データを論理デバイスとホストとの対話と同時に分離されたコピーの位置から新規な構成に従う対応した位置に転送する。転送されなかったデータのためにホストからの入出力要求は、コピーの対応する位置から、入出力構成により特定される新規な構成に従った位置に、データ転送を開始する。
【００１７】
添付の請求の範囲において本発明の対象を詳細に指摘して明確に請求する。本発明のさまざまな対象物、利点、及び新規な機能は、類似の参照符号が類似の要素を示す添付の図面とともに、以下の詳細な説明を読んで十分に理解されよう。
【００１８】
（具体的実施例の説明）
図１は、１個以上のプログラムに応答して動作を制御する１個以上のホストプロセッサを有するホスト（又は複数のホスト）２１を持つデータ処理システム２０を示す。以下の説明において、「ホストアプリケーション」とは、ホストプロセッサが処理する特定のアプリケーションプログラム、手続、処理、モジュール等を意味する。
【００１９】
ホストアプリケーションは、単一及び並列バス構造を含むいくつかの既知のあらゆる形態をとることができるシステムバス２３上で通信し、ディスクアレイ記憶装置を有するデータ格納部２２が構築したデータ格納に格納されたデータにアクセスして処理を実行する。データ格納部２２は、付加されたディスクアレイ記憶装置を含んでもよい。しかし、本開示のためにデータ格納部２２は１個のディスクアレイ記憶装置を有して示される。
【００２０】
本発明は、異なった種類及び構成の多くのディスク記憶装置において実現できる。以下、具体的なディスクアレイ記憶装置の背景について説明する、すなわち、本発明の譲受人から入手可能なシンメトリックス（Ｓｙｍｍｅｔｒｉｘ）ディスクアレイ記憶装置について説明する。他の製造業者から入手可能なディスクアレイ記憶装置を使用して実現するこの具体的説明の実施例の適用は、当業者に明らかになるであろう。
【００２１】
シンメトリックスディスクアレイ記憶装置は、互いに通信し、及びバス２６上で一連のディスクアダプタ及び物理ディスクドライブと通信するホストアダプタ２４及びキャッシュメモリ２５を含む。例えば、図１は、一式の論理デバイス、複数の論理デバイスを格納する、又はストライピング論理デバイスの場合には複数のストライピングに含まれるデータを格納する物理ディスクドライブの配列を有する第１ディスクアダプタ３０を示す。物理ディスクドライブ３１は、そのような物理ディスクドライブのひとつである。ディスクアダプタ３２は、物理ディスクドライブ３３を含む多数の物理ディスクドライブを制御する。同様に、ディスクアダプタ３４は、物理ディスクドライブ３５を含む多くの物理ディスクドライブを、ディスクドライブコントローラ３６は、物理ディスクドライブ３７を含む多くの物理ディスクドライブの動作を制御する。
【００２２】
また、図１は、公知技術として知られる、再構成を含むディスクアレイ記憶装置２２の内部動作に関して多くの機能を実行する役割を備えるシステム管理者又はサービスプロセッサ４０を示す。シンメトリックスディスクアレイ記憶装置において、サービスプロセッサ４０は、ホストアダプタ２４など全てのホストアダプタ、及びディスクアダプタ３０，３２，３４，３６などの全てのディスクアダプタを含むローカルネットワークのノードである。図１は、ローカルネットワークを代表した、サービスプロセッサ４０と１個のディスクアダプタ３６間の１個の接続を示す。
【００２３】
（ストライピング構成）
サービスプロセッサ４０は、論理デバイスと物理ディスクドライブ間の通信によって、あらゆる任意の構成を確立する手段を提供する。前の説明に基づいて、データがシリンダ番号（Ｃ）、読み出し／書き込みヘッド番号（Ｈ）で配置されると考えると、特定の物理ディスクトラックは、形式［ＤＣＨ］を持つアドレスで特定可能となり、ここで「Ｄ」と「Ｃ」の値の組合せが、その物理ディスクドライブユニットの特定の物理ディスクドライブユニット及び論理シリンダを特定する。
【００２４】
本発明の説明のために、図１，２に示すように、サービスプロセッサ４０が、２個の論理シリンダの６個の論理シリンダサブセット又はストライピングの３個の物理ディスクドライブ３１、３３、３５上に分配された論理デバイスを配置したと仮定する。本構成をより詳細に説明すると、論理シリンダサブセット３１Ａは、論理デバイスシリンダＡ及びＢを格納する。論理シリンダサブセット３３Ａ及び３５Ａは、論理デバイスシリンダＣとＤ、及びシリンダＥとＦを格納する。このストライピングは、論理シリンダサブセット３１Ｂに論理デバイスシリンダＧとＨ、論理シリンダサブセット３７Ｂに論理デバイスシリンダＩとＪを、論理シリンダサブセット３５Ｂに論理デバイスシリンダＫとＬを格納して完了する。論理デバイスがメタ装置である場合には、物理ディスクドライブ３１は、ヘッドエレメント、物理ディスクドライブ３５はテールエレメント、物理ディスクドライブ３３はメタエレメントとなる。
【００２５】
図２は、２個の論理シリンダを有する各ストライピング又は論理シリンダサブセットを示す。各論理シリンダサブセットが、所望のストライピングサイズによって、１個の論理シリンダ、又は３個以上の隣接する論理シリンダを含むことができると理解されよう。
【００２６】
本発明は、システム要求条件がストライピングサイズの修正又はストライピング論理デバイスの拡張を必要とする場合に、特に適している。図２は、元の構成（論理デバイス４１）から新規な構成（付加的な物理ディスクドライブ３７を有する論理デバイス４２）への拡張を示す。この物理ディスクドライブは、増加した容量を提供する論理シリンダサブセット３７Ａ，３７Ｂを有する。ストライピング論理デバイスでは、あるシリンダサブセットに格納されたデータは、その元の構成における論理デバイス４１のストライピング方式を維持するのに再配置されなければならない。図２に示す特定の拡張例では、論理シリンダＡ〜Ｆのデータである論理シリンダサブセット３１Ａ，３３Ａ，３５Ｂのデータを移動する必要はない。しかし、論理シリンダサブセット３１Ｂのデータ（すなわち、論理シリンダＧ，Ｈのデータ）は、論理シリンダサブセット３７Ａに移動しなければならない。論理シリンダＩとＪ、及び論理シリンダＫとＬは、論理シリンダサブセット３１Ｂ，３３Ｂにそれぞれ移動しなければならない。論理シリンダサブセット３５Ｂ，３７Ｂは、新規な論理シリンダＭとＮ、及び論理シリンダＯとＰとして、それぞれ、拡張可能である。
【００２７】
一般的に、本発明は、データがホストアプリケーションに対して稼動している間に、このようにホスト動作に対する最小限の割り込みだけであらゆる再構成でもトランスペアレントに達成する。最初に、本発明の再構成処理は、複製された論理デバイス４３としての独立物理ディスクドライブに最初の論理デバイス４１のデータを複製する。図２は、論理シリンダサブセット３１Ａ，３１Ｂから、物理ディスクドライブ４６の論理シリンダサブセット４６Ａ，４６Ｂにデータを転送するパス４５を示す。同様のパスが、物理ドライブ３３，３５から、物理ディスクドライブ４７，４８にデータを転送するのに存在する。
【００２８】
この処理には、ホストアダプタ２４のＲＥＣＯＮＦモジュール４９、サービスプロセッサ４０のＲＥＣＯＮＦモジュール５０、及び各ディスクアダプタのＲＥＣＯＮＦモジュール５１を使用する。各ディスクアダプタのＲＥＣＯＮＦモジュール５１及びＲＥＣＯＮＦモジュール５０は、協働して３個のリスト又はテーブルを生成する。第１リストは、物理ディスクドライブ４６〜４８に、複製された論理デバイス４３を格納する物理ディスクドライブの各位置を特定する。第２リストは、新規な構成における論理デバイス４２の物理ディスクドライブ３１，３３，３５，３７にわたるデータを格納する物理ディスクドライブの全データ位置を特定する。本発明の好ましい形式によれば、各リストの各データ位置は、対応する物理ディスクドライブの１個の論理トラック又は「トラック」に対応する。このように、第１リストは、複製された論理デバイス４３の各トラックを、それゆえに、元の構成を識別する。第２リストは、新規な論理デバイス４２の各トラックを特定する。第３リストは、複製された論理デバイス４３にトラックＩＤテーブルのエントリを転送しなければならない各トラックを特定する。
【００２９】
図３は、それらのリストの一実施例のさらに詳細な構成及び位置を示す。シンメトリックスディスクアレイ記憶装置において、図１，３のキャッシュメモリは、書き込み待ちスロット４４及び論理デバイスヘッダ５３を含む。最初に書き込み待ちスロット４４を見てみると、書き込み待ちスロット６０などの、個々の書き込み待ちスロットは、通常１個の物理トラックのデータを含むヘッダ６１及びデータブロック６２を含む。各ヘッダ６１は、ＷＰフラグ６４及び一連のＷＰｋフラグ６５を含み、ここで、「ｋ」は、ｋ≦４の場合のミラー番号である。設定されると、各ＷＰｋフラグ６５は、対応する書き込み待ちスロット６０から対応する物理ディスクドライブ装置へのデステージングデータが必要なことを表示する。いったん、そのデータがキャッシュメモリ２５から、物理ディスクドライブ３１などの、対応するデータ記憶装置に転送されると、システムは、対応するＷＰｋフラグ６５をクリアする。ＷＰｋフラグ６５が１個又はそれ以上設定されるときは、常にＷＰフラグ６４が設定される。各ヘッダは、本発明には関連しない他の情報を含む（従って、図示していない）。
【００３０】
論理デバイスヘッダは、シンメトリックスディスクアレイ記憶装置の各論理デバイスの１個のエントリを含む。本発明によれば、また図３に示すように、第１論理デバイスヘッダ６６は、図２に示す複製された論理デバイス４３に対応する。論理デバイスヘッダ６７は、初めに元の構成の論理デバイス４１に対応する。論理デバイスヘッダ６７は、再構成処理中に新規な構成の論理デバイス４２に対応するように変更される。また、図３は、ホストアプリケーションと対話するディスクアレイ記憶装置２２と共存できる他の論理デバイスとして、装置（Ｉ）と装置（Ｊ）の他の論理デバイスヘッダを示す。
【００３１】
各装置ヘッダエントリは、同一構成を有する。すなわち、ファイルが複製された元の構成の装置ヘッダ６６は、論理デバイス４３の各シリンダのヘッダ７０及び複数のエントリ７１を含む。３個の特定のエントリ、すなわち、シリンダ０のエントリ７１、シリンダ１のエントリ７２、及びシリンダｎのエントリ７３だけを示す。シリンダ０のエントリ７１など、シリンダエントリのそれぞれは、物理ディスクドライブの特定の読み出し／書き込みヘッドにより表されるように、各論理シリンダの各トラックに割り当てられる１個の位置を有する１個のトラックＩＤテーブル７４を指す。２個のトラックエントリ、すなわち、トラック０のエントリ７５、及びトラックＥのエントリ７６を示す。
【００３２】
また、装置ヘッダ６７は、シリンダ０のエントリ８２、シリンダ１のエントリ８３、及びシリンダｍのエントリ８４を含むヘッダ８１、及び複数のシリンダエントリを備える。明らかなように、ｎ＝ｍ、又は、ｎ≠ｍである。トラックＩＤテーブル８５は、各読み出し／書き込みヘッド又はトラックのエントリを含む。これらは、代表的なトラック０のエントリ８６、トラック１のエントリ８７、及びトラックＥのエントリ８８を含む。
【００３３】
さらに図３について説明すると、例えばトラックＩＤブロック７４又は８５のいずれかなどの各トラックＩＤブロックは、対応する論理デバイストラックが複製された論理デバイス４３、又は再構成された論理デバイス４２を格納するかどうかによって、異なって解釈されるさまざまな情報項目を含む。理解できるように、例えば、トラックＩＤブロック７４は、各トラックにつき１行、及び各セッションにつき１列を有する二次元配列とみなせるＰＢヘッダ８９を含む。シンメトリックスディスクアレイ記憶システムでは、各行は、２バイト長で、最高１６セッションまで設定できる。特定のＰＢビット位置は、形式ＰＢ（ｘ，ｙ）で特定され、ここで、ｘは、シリンダのトラックを示し、ｙは、セッション番号又は識別子を示す。本発明によれば、図１のＲＥＣＯＮＦモジュール５０は、あらゆる「ｙ」列でも利用可能かどうかを判定する。１個でも利用可能な場合、コントローラは、選択されたＰＢビット列に関連するセッション識別を確立する。以下の説明では、「ＰＢビット」についての説明は、再構成セッションに割り当てられるＰＢビット列、及び論理デバイスのトラックに割り当てられる行である。
【００３４】
図２の複製されたファイル４３に関連付けられる物理ディスクドライブのトラックＩＤテーブル７４にあるＰＢヘッダ８９の情報だけが使用される。複製された論理デバイス４３に関連付けられる他のフラグは、本発明を理解するには重要でない。
【００３５】
新規な構成を有する論理デバイス４２を構築する物理ディスクドライブに関して２ビット又はフラグを使用する。具体的には、ＲＥＣＯＮＦモジュール４９及び５０は、ＩＮＤ及びＰＳビット（例えばトラックＩＤテーブル８５にあるトラックエントリ８６のＩＮＤビット９０及びＰＳビット９１）を各トラックに利用する。ＩＮＤビットは、データについての関連性を新規な構成の対応するトラックに確立する。ＰＳビットは、トラックがまだ元の構成に従うデータを含んでいることを示す。
【００３６】
開示された実施例において、第１リストは、論理デバイスヘッダ６６の複製された論理デバイス４３に関連付けられるＰＢヘッダ８９のＰＢビットを備える。ＩＮＤビット９０及びＰＳビット９１は、それぞれ、第２及び第３リストを構築する。これらのリストがコンパイルされたあと再構成が遂行され、その後、全てのホスト要求は、物理ディスクドライブのデータが移動されていなかった場合でも、新規な構成に従うアドレスに導かれる。本発明によれば、この機能は、あらゆるホストアプリケーションとも同時に、及び互いに同時に、実行する複数のプロセスを使用する再構成処理、及びあらゆるＩ／Ｏ要求に対しても確実に正しく応答するＩ／Ｏ要求ハンドラにより達成される。
【００３７】
ＲＥＣＯＮＦモジュール５１のデータ転送バックグラウンドプロセスは、新しく構成された物理ディスクドライブ３１，３３，３５，３７の適切な位置に、物理ディスクドライブ４６〜４８からのデータ転送を遂行するためにＰＢヘッダ８９のＰＢビットを備えている第１リストを使用する。例えば、この処理は、物理ディスクドライブ４６から論理シリンダサブセット３７Ａに論理デバイスシリンダＧ及びＨの全てのデータを再配置できる。
【００３８】
図１に示すデータ格納２２は、インスタントスプリットが発生したときに、書き込み待ちスロットに格納されるデータを持つことができる。スプリット待ちバックグラウンドプロセスは、それらの書き込み待ちスロットのデータをデータが破損される可能性のない新規な構成に反映するように、第３リストを使用して書き込み待ちスロット４４のいずれのデータでも複製された論理デバイス４３に転送する。
【００３９】
Ｉ／Ｏ処理プロセスは、第２及び第３リストを使用して各Ｉ／Ｏ要求に応答し、再構成された物理ディスクドライブ３１，３３，３５，３７内の正しい位置に対応するデータを転送する。明らかなように、データ転送処理は、スプリット待ちプロセスのエレメントを使用し、Ｉ／Ｏ処理プロセスは、スプリット待ち及びデータ転送処理の両方のエレメントを使用する。また、これは、再構成がデータを破損する可能性がまったくない規則正しいやり方で、かつホストアプリケーションと論理デバイスの新規な構成間の対話と同時に確実に遂行する。
【００４０】
本発明の好ましい実施形態では、上記した米国特許第６，１０１，４９７号に記載したように、複製された論理デバイス４３は、ＢＣＶ装置である物理ディスクドライブ４６，４７，４８に分配される。ＢＣＶ装置については、ＥＳＴＡＢＬＩＳＨコマンドは、論理デバイスを複製するために最初の物理ディスクドライブにＢＣＶ装置を接続する。図２において、ＥＳＴＡＢＬＩＳＨコマンドは、論理シリンダサブセット３１Ａ，３１Ｂ，３３Ａ，３３Ｂ，３５Ａ，３５Ｂにあるデータが、それぞれ論理シリンダサブセット４６Ａ，４６Ｂ，４７Ａ，４７Ｂ，４８Ａ，４８Ｂに移動した複製された論理デバイス４３を生成する。これは、元の構成における論理デバイス４１へのホストアクセスと同時に発生する。
【００４１】
（再構成処理）
上で示したように、また図４Ａ，４Ｂに示すように、サービスプロセッサ４０がそのＲＥＣＯＮＦモジュール５０を起動すると再構成処理が開始される。図４Ａについて説明すると、工程１０１では、選択されるかもしれない任意のあらゆる論理サブセットの例として新規な論理シリンダサブセットを確認する。図１と２の環境において、物理ディスクドライブ３１，３３，３５は、元の構成に従う論理デバイスを格納する物理装置である。物理ディスクドライブ３７は、図２のサブセット位置３７Ａ，３７Ｂなどの、新規な論理シリンダサブセットを格納する。
【００４２】
工程１０２では、複製された論理デバイス４３のリポジトリとして作用するＢＣＶ装置として、集合的に他の物理ディスクドライブを確認する。工程１０２では、図２の実施例の物理ディスクドライブ４６，４７，４８を確認する。ＢＣＶ装置の各物理ディスクドライブは、元の構成のデータを格納する物理ディスクドライブの対応する論理シリンダサブセットを複製する要求条件に一致するサイズを有する。
【００４３】
工程１０３では、図２で示す論理デバイス４２の新規な構成を定義する新規な構成ファイルを生成する。
工程１０４では、ＢＣＶ装置に関連付けられる「ＥＳＴＡＢＬＩＳＨ」コマンドを使用して物理ディスクドライブ３１，３３，３５から、物理ディスクドライブ４６，４７，４８にデータ転送を開始する。この工程が起動する転送はしばらく時間がかかるので、サービスプロセッサ４０は、工程１０５〜１１２に示すようにその転送と同時に他の動作を実行できる。
【００４４】
工程１０５では、ステータスフラグを「ノットレディ（ｎｏｔ  ｒｅａｄｙ）」状態に設定して、他のいかなる送信側からのＢＣＶ装置４６，４７，４８のそれぞれに対するいかなるアクセスも阻止する。
【００４５】
具体的工程を示してはいないが、データ、構文、健全さ、及びその他のチェックをこの時点で、又は前述の処理の間の他のいかなる時点でも実行できることが認識されるであろう。
【００４６】
工程１０６では、元の構成の論理デバイスシリンダの全てのスプリット待ち（ＰＳ）ビットを設定する。図２については、この工程では、物理ディスクドライブ３１，３３，３５の全てのＰＳビットを設定する。より詳細には、論理シリンダサブセット３１Ａ，３１Ｂ，３３Ａ，３３Ｂ，３５Ａ，３５Ｂが論理シリンダＡ〜Ｌを含んでいるので、工程１０６では、論理シリンダサブセット３１Ａ，３１Ｂ，３３Ａ，３３Ｂ，３５Ａ，３５Ｂに対応するシリンダの図３に示すトラックＩＤテーブル８３にある全てのトラックのＰＳビット９１を設定する。これは、元の構成に関連付けられるトラックＩＤテーブルのどのエントリも、新規な構成に関連付けられるトラックＩＤテーブルに転送されなかったことを示している。
【００４７】
工程１０７では、再構成処理中に他のいかなるアプリケーションもそのファイルを変更できないように、新規な構成ファイルを図１の一連の構成ファイル１０８にロックする。
【００４８】
工程１１０では、データ転送バックグラウンドセッションを初期化する。開示された実施例のデータ転送バックグラウンドセッションは、上記した米国特許出願第０９／３４２６０８にて説明したように、ＳＭＭＦ＿ＦＩＬＥセッションのエレメントを使用する。このセッションの初期化は、公知技術である。この初期化の一部として、工程１１０では、セッションのＰＢビット位置として作用するＰＢヘッダ８９の列を選択する。その後、工程１１１では、複製された論理デバイスを受け取る物理ディスクドライブ４６〜４８のトラック用に選択されたＰＢビット列の全てのＰＢビットを設定する。全てのＰＢビットを設定することは、データ転送バックグラウンドプロセスが新規な構成を生成するのに完了しなければならない作業を規定することである。
【００４９】
工程１１２では、元の構成からのデータを格納する各新規な論理シリンダサブセット用のシリンダエントリトラックＩＤテーブル８３の全てのＩＮＤビットを設定する。図２に示す構成において、工程１１２では、論理デバイスシリンダＧ及びＨを受け取る論理シリンダサブセット３７ＡのシリンダのトラックＩＤテーブル８３のＩＮＤビットを設定する。
【００５０】
いったん、この予備的な動作が完了すると、制御部は、図４Ｂの工程１１３に移り、その物理ディスクドライブの全てが同期されたことをＢＣＶ装置が示すまで待機する。これが発生すると、ＢＣＶ装置は、書き込み待ちスロット４４に含まれている可能性があるあらゆるデータを除き、物理ディスクドライブ４６，４４，４８に対する物理ディスクドライブ３１，３３，３５への対応性を利用して、その元の構成のデータを、それぞれ、ミラーリング、又は複製する。
【００５１】
この時点まで、データ格納機能は、図２に示す論理４１に従った通常の方式でいかなるホストアクセスも処理してきた。同期が発生すると、工程１１４では、論理デバイス４１のホストアクセスを無効にする。ただし、プロセス工程１１５，１１６，１１７が必要とする時間は、異なった物理ディスクドライブのトラック間のあらゆるデータ転送を実行する時間には依存しないので、ホストアクセスが拒絶される時間は、非常に短くなる。従って、ホストアクセスが拒絶される時間は、ミリセカンド領域となる。通常、ホスト活動に対するこのような時間領域の割り込みは、業界では許容可能であり、また入出力処理のいかなる割り込みも必要としない。
【００５２】
図４Ｂの工程１１５では、図１の構成ファイル１０８の新規な構成ファイルを起動する。この構成ファイルは、４個の物理ディスクドライブ３１，３３，３５，３７を有するその新規な構成の論理デバイス４２を指定、又は規定する。
【００５３】
工程１１６では、インスタントスプリットバックグラウンドプロセスを起動する。図５に関しては下記にさらに詳細に説明するが、このインスタントスプリットバックグラウンドプロセスでは、規則正しいやり方で、対応する物理ディスクドライブ３１，３３，３５から、物理ディスクドライブ４６，４７，４８へのそれぞれの接続を即時に切断できる。さらに、書き込み待ちスロット４４のデステージングを待ち受けているデータを含むデータがたとえ転送されなかった場合でも、インスタントスプリットは、アプリケーションに直ちにそれが完了したことを返信する。
【００５４】
工程１１７で、図６Ａ，６Ｂに示すデータ転送バックグラウンドプロセスを起動して、かつ図７に示すＩ／Ｏ要求ハンドラをイネーブルして再構成処理を起動する。プロセス工程１１５，１１６，１１７での短い時間間隔のあと、工程１２０では、データへのホストアクセスをイネーブルし、次にその新規な構成に移る。ホストは、たとえデータ転送が行われなかった場合でも、かつ再構成中であっても、直ちにその新規な構成を有する論理デバイス４２のいかなる位置にもアクセスを開始する。図５，６Ａ，６Ｂ，７のプロセスでは、通常の方式でデータのこうした転送を調整する。
【００５５】
スプリット待ち及びデータ転送バックグラウンドプロセスが各ディスクアダプタで完了している場合、制御部は、工程１２１からＰＢ，ＰＳ，ＩＮＤビットの全てを試験する工程１２２に移動する。それらが全てクリアされると、全てのデータは、適切に転送され、工程１２３で構成ファイルのロックを外し、工程１２４でＢＣＶ装置をレディ値に設定して物理ドライブ４６，４７，４８を他の目的に利用可能にする。これで再構成処理は完了し、全てのデータは、図２の構成４２に従って格納される。
【００５６】
（インスタントスプリットバックグラウンドプロセス）
図４Ｂの工程１１６でインスタントスプリット動作を起動する場合、多くの書き込み待ち動作が存在する可能性がある。これは、その元の構成の論理デバイスに書き込まれることになっているが、物理ディスクドライブにはまだ転送されていなかったデータが図１のキャッシュメモリ２５にあることを意味する。図５は、このような書き込み待ち動作を処理するインスタントスプリットバックグラウンドプロセスを示す。
【００５７】
工程１３０で、新規な構成に従ってトラックを選択して図５のプロセスが開始される。論理デバイスシリンダヘッド［ＤＣＨ］構文を使用すると、新規な、及び元の構成の論理トラックアドレスは、それぞれ、［ＤＣＨ］ｎ（Ｍ）及び［ＤＣＨ］ｏ（Ｍ）という形式で記述できる。
【００５８】
工程１３１で、［ＤＣＨ］ｎ（Ｍ）アドレスのＰＳビットを試験する。ＰＳビットが設定されると、制御部は、［ＤＣＨ］ｎ（Ｍ）と［ＤＣＨ］ｏ（Ｍ）のアドレスの間の対応を確立する工程１３４に移る。例えば、元の構成のトラックＩは、［ＤＣＨ］ｏ（Ｍ）アドレスによって、論理シリンダサブセット３３Ｂに、［ＤＣＨ］ｎ（Ｍ）アドレスによって、論理シリンダサブセット３１Ｂに配置される。このように、論理デバイスシリンダ「Ｉ」に対して、［ＤＣＨ］ｎ（Ｍ）アドレスは、論理シリンダサブセット３１Ｂのトラックを指し、［ＤＣＨ］ｏ（Ｍ）アドレスは、論理シリンダサブセット３３Ｂのトラックを指す。
【００５９】
工程１３５では、上記した米国出願第０９／３０３，２４２号に記載したトラック再割当方法を使用して元の構成のトラックを試験し、何らかの書き込み待ち処理をこのトラックに対して実行する必要があるかどうかを判定する。最初に、工程１３７でそのトラックのトラックＩＤテーブルエントリをトラックＩＤテーブル８５の元の構成位置から、ＢＣＶ装置のトラックＩＤテーブル７４の対応する位置に転送する。その後、プロセスは、トラックＩＤテーブル７４の情報を更新してあらゆる書き込み待ちデータを処理し、対応する書き込み待ちスロットからＢＣＶ装置の［ＤＣＨ］ｏ（Ｂ）アドレスにデータを確実に移動する。また、このプロセスは、ＷＰｋビット６５、適切であれば図１に示すＷＰビット６４の対応する１個をクリアする。
【００６０】
工程１３６で、新規な［ＤＣＨ］ｎ（Ｍ）トラックアドレスのＩＮＤビットを設定する。この例では、これは、論理シリンダサブセット３１Ｂの論理デバイスシリンダＩに関連付けられるトラックＩＤテーブル８５のエントリに対するＩＮＤビットを再度設定する。ＩＮＤビットを設定することは、最初の論理デバイスに関連付けられた対応するトラックのデータとの関連性がもはや存在しないことを示すので、従って、そのデータを対応するＢＣＶ装置から入手しなければならない。すなわち、これは論理シリンダサブセット３１Ｂのアドレッシングされたトラックのデータがもはや関連せずに、対応するＢＣＶ（すなわち、論理シリンダ３３Ｂの最初のトラックデータを搬送する論理シリンダサブセット４７Ｂのトラック）から入手しなければならないことを示す。この実行後、工程１３８で、［ＤＣＨ］ｏ（Ｍ）アドレスが特定したトラックのＰＳフラグをクリアする。
【００６１】
指定されたトラックの処理は、工程１３１でＰＳビットが設定されていないと判定された場合、工程１３３でＰＳビットがリセットされた場合、又は工程１３７でＰＳビットがクリアされた場合に完了する。制御部は、工程１３８に進む。さらに多くのトラックが存在する場合には、制御部は、工程１３８から次のトラックを選択する工程１３９に移動し、通常は順次工程１３１に戻る。インスタントスプリットバックグラウンドプロセスは、全てのトラックが試験されると終了する。データ転送バックグラウンドプロセスとＩ／Ｏ要求ハンドラのいずれもがインスタントスプリットバックグラウンドプロセス中にいかなるトラックにも作用しなかった場合には、ＢＣＶ装置の全てのデータは、図４Ｂの工程１１６で、インスタントスプリットバックグラウンドプロセスを起動させたときに存在したあらゆる書き込み待ちデータを含む元の構成のデータを正確に反映する。
【００６２】
明らかなように、トラックを選択する前に、データ転送バックグラウンドプロセス又はＩ／Ｏ処理プロセスのいずれかが、ＰＳビットをリセットしてもよい。これが実行されると、もはやそのようなトラックを処理する必要は全くなくなる。従って、工程１３２で、ＰＳビットが設定されていないと判定されると、そのたびに制御部は、また、直接工程１３８に移動する。
【００６３】
通常、図５のプロセスは、数分の処理時間内に完了する。図６Ａ，６Ｂ，７で説明したように、図５のプロセスをまったく対話なしで実行する場合、プロセスが完了するとすぐに、３１Ａ論理シリンダサブセット、３１Ｂ，３３Ａ，３３Ｂ，３５Ａ，３５Ｂに配置されたトラックの全てのＩＮＤビットが設定され、論理シリンダサブセット３７Ａのトラック用のトラックＩＤテーブルのＩＮＤフラグも、また、前の動作から設定される。シリンダサブセット３７Ｂのトラックに関連付けられる全てのＰＳビットがクリアされる。ここで、また、明らかなように、図５の手続は、物理ディスクドライブ３１，３３，３５，３７間のいかなるデータも移動しない。それは、物理ディスクドライブ４６〜４８に含まれる複製された論理デバイスの適当なサイトに、書き込み待ちスロットのいかなるデータも書き込むが、しかし、このデータは、キャッシュメモリ２５に常駐しているので、これらの書き込み操作には長い時間を必要としない。
【００６４】
（データ転送バックグラウンドプロセス）
それは、図４Ｂの工程１１７で再構成プロセスを起動させるときに、新規な論理デバイス構成に従う物理ディスクドライブ３１，３３，３５，３７に、ＢＣＶ装置の複製された論理デバイスに格納されたデータを転送する図６Ａ，６Ｂのデータ転送バックグラウンドプロセスを起動する。上に説明したように、このデータ転送バックグラウンドプロセスは、図４Ａ，４Ｂのインスタントスプリットバックグラウンドプロセス及び図７のＩ／Ｏ要求ハンドラと同時に、又は並列して動作可能である。
【００６５】
図６Ａに示すデータ転送バックグラウンドプロセス１４０は、工程１４１で元の構成に従う第１トラックを選択することで開始される。図２に示す具体例において、最初の［ＤＣＨ］ｏ（Ｂ）アドレスは、論理シリンダサブセット４６Ａの論理デバイスシリンダＡにある第１トラックを特定する。
【００６６】
工程１４２で、トラックＩＤテーブル７４のＰＢヘッダ９０など、ＰＢヘッダの対応するＰＢビットが設定されているかどうかを判定する。それは、動作の初めに設定される。例えば、図７のＩ／Ｏ要求ハンドラが対応するトラックのＩ／Ｏ要求を以前に処理していた場合には、それは設定されない。
【００６７】
ＰＢビットが設定されていた場合、工程１４３では、元の構成のトラックの［ＤＣＨ］ｏ（Ｍ）アドレスを決定する。第１トラックにとって、これは図２の物理ディスクドライブ３１の第１トラックの位置でもよい。その後、工程１４４では、対応するＰＳビットが設定されたかどうかを判定する。図５のインスタントスプリットプロセスがＰＳビットをリセットする前に、このプロセスがトラックを選択すると、このビットは、設定される。
【００６８】
ＰＳビットが設定されると、複製された論理デバイスの［ＤＣＨ］ｏ（Ｂ）アドレスのデータが正確なデータを含むように、工程１４５では、トラックを分割していかなる書き込み待ちデータも処理する、図５の工程１３５と同じ機能を実行する。工程１４６で、ＩＮＤビットを古い構成［ＤＣＨ］ｏ（Ｍ）の最初のトラックアドレスと一致する新規な構成の新規なトラックに設定する。
【００６９】
ＰＳビットが設定されていても、いなくても、工程１４７では、新規な構成の対応するトラックアドレスを設定する。論理シリンダＩの場合には、［ＤＣＨ］ｏ（Ｍ）アドレスは、論理シリンダサブセット３１Ｂのトラックアドレスである。
【００７０】
図６Ｂの工程１５０で、ＰＳビットをこの新規なトラック用に試験する。図２の具体的な実施例の論理デバイスシリンダＡ〜Ｆにあるように、最初のトラックと新規なトラックが同一の場合には、図６Ａの工程１４５で、ＰＳビットがクリアされる。ＰＳビットが設定されると、工程１５１，１５２では、データを受け取るトラックの工程１４５，１４６のそれらと類似した機能を実行する。いったん、これらのビットが試験され、かつ適当な動作が実行されると、工程１５３で、データをＢＣＶ装置から新規なトラックアドレスにコピーする。こうして、論理シリンダＩの場合には、工程１５２で、データは、論理シリンダサブセット４７Ｂの対応するトラックから、論理シリンダサブセット３１Ｂの対応するトラックにコピーされる。
【００７１】
その後、工程１５４で、論理シリンダサブセット３１Ｂの論理シリンダＩに対応するトラックＩＤテーブルのトラックＩＮＤビットをクリアする。また、工程１５４でも、最初のトラック（すなわち論理シリンダサブセット４７ＢのトラックＩＤテーブル７４のＰＢビット）の対応するＰＢビットをクリアする。こうして、集合的に、データを論理デバイスの同じ位置のままの新規な構成で構築するように、工程１５４〜１４２では、ＢＣＶ装置にある複製されたファイルから、物理ディスクドライブの新規な位置に、元の構成のデータを確実に転送する。
【００７２】
工程１５５及び１５６では、全てのトラックを処理し、その結果、このデータ転送バックグラウンドプロセスの動作が完了するまで、それ以後の転送をトラック単位で制御する。もうここで明らかなように、Ｉ／Ｏ要求が図６Ａ，６Ｂのモジュールの動作中に受け取られない場合、物理ディスクドライブ４６，４７，４８で示すＢＣＶ装置からの全てのデータは、物理ディスクドライブ３１，３３，３５，３７のそれらの対応する位置に転送される。図２の具体例において、その転送は次の通りである。
【００７３】
【表１】
2004536360.tif 000003
このプロセスは、論理シリンダサブセット３５Ｂ，３７Ｂの論理デバイスシリンダＭ〜Ｐのトラックは実行しない。具体的には、ＢＣＶ装置のトラックＩＤテーブル７４は、元の構成の中に存在するトラックのステータスを記録するだけである。
【００７４】
（Ｉ／Ｏ処理プロセス）
図４Ｂの工程１１７で再構成プロセスを起動すると、それは、また、各ディスクアダプタのＩ／Ｏ要求ハンドラをイネーブルして、その特定のディスクアダプタに向けられたいかなるＩ／Ｏ要求にも応答する。図７は、ホストが図４Ｂの工程１２０で再接続されると、そのホストが生成した各Ｉ／Ｏ要求に応答するＩ／Ｏ要求ハンドラ１６０を示す。図１のホストアダプタ２４を有するＲＥＣＯＮＦモジュール４９が実行する図７の工程１６１は、論理デバイスの新規な構成のトラックに新規な［ＤＣＨ］ｎ（Ｍ）アドレスを有するホストアダプタのその要求が受信されたことを表示する。
【００７５】
工程１６１では、再構成プロセス中にＩ／Ｏ要求を受け取る４種類の個別シナリオ又は環境がある。まず、図５のインスタントスプリットバックグラウンドプロセス、及び図６Ａ，６Ｂのデータ転送バックグラウンドプロセスがトラックに作用したあと、トラックに向けられたＩ／Ｏ要求を受け取る。第２シナリオでは、図５のインスタントスプリットバックグラウンドプロセスがトラックに作用したあと、しかし図６のデータ転送プロセスがトラックに作用する前に、トラックに向けられたＩ／Ｏ要求を受け取る。第３シナリオでは、図６Ａ，６Ｂのデータ転送バックグラウンドプロセスがトラックに作用したあと、しかし図５のインスタントスプリットバックグラウンドプロセスの前にＩ／Ｏ要求を受け取る。図５，図６Ａ，６Ｂのバックグラウンドプロセスのどちらかがトラックに作用する前に、そのトラックに向けられたＩ／Ｏ要求を受け取るとき、第４シナリオが発生する。
【００７６】
（第１シナリオ）
図７及び４種類のそれぞれのシナリオを順番に見てみると、第１シナリオでは、図５、６の両方のバックグラウンドプロセスが完了してＩ／Ｏ要求を受け取る。従って、［ＤＣＨ］ｎ（Ｍ）アドレスのデータは、有効である。インスタントスプリットバックグラウンドプロセスは、そのトラックのＰＳビットをクリアし、データ転送バックグラウンドプロセスは、そのトラックのＰＢ及びＩＮＤビットをクリアする。このシナリオにおいて、制御部は、工程１６２，１６３を経て、新規なトラックアドレスからのＩ／Ｏ要求に対する応答を完了する工程１６４に進む。このように、第１シナリオでは、ＰＳ及びＩＮＤビットを試験することを除けば、図７のＩ／Ｏ処理プロセスは、ホスト要求に対して本質的に通常の応答をするように動作し、本発明に必要な全ての処理は、ホストアダプタＲＥＣＯＮＦモジュール４９で実行される。
【００７７】
（第２シナリオ）
第２シナリオでは、図５のインスタントスプリットバックグラウンドプロセスは、対応するトラックを処理したが、しかし、図６Ａ，６Ｂのデータ転送バックグラウンドプロセスは、トラックに作用しなかった。従って、複製された論理デバイス［ＤＣＨ］ｏ（Ｂ）アドレスのデータは、いかなる書き込み待ち動作ででも更新され、データは、有効である。この場合、工程１３６，１３７では、また、ＩＮＤビットを設定して、［ＤＣＨ］ｎ（Ｍ）アドレスに対応するＰＳビットをクリアする。設定されたＩＮＤビットは、［ＤＣＨ］ｎ（Ｍ）アドレスのデータがオリジナルデータなので複製された論理デバイスから更新する必要があることを示す。データ転送バックグラウンドプロセスがトラックに作用していないので、対応する［ＤＣＨ］ｏ（Ｂ）アドレスのＰＢビットは、設定されたままである。
【００７８】
工程１６１で、このシナリオのもとで要求を受け取ると、ＩＮＤビットがデータをＢＣＶ装置から読み出されなければならないことを示すように設定されるので、制御部は、工程１６２，１６３を経て工程１６５に、そして対応するディスクアダプタのＲＥＣＯＮＦモジュール５１が実行するそれ以降の工程に移る。工程１６５では、データ転送のソースとして作用するＢＣＶ装置にある複製された論理デバイスの対応するデータの［ＤＣＨ］ｏ（Ｂ）アドレスを決定する。
【００７９】
その後、工程１６６では、新規な構成のトラックが新規なホストトラック、すなわち、図２の論理シリンダサブセット３５Ｂ，３７Ｂに格納されたあらゆる論理シリンダＭ〜Ｐのトラックであるかどうかを判定する。トラックが新規なホストトラックの場合、それらのトラックのデータが、定義によって、新規であるので、かつ論理デバイスを使用しているいかなるホストアプリケーションもデータをそれらのトラックに書き込んでしまうまでそれらのトラックのデータにアクセスしようとしないので、付加的なデータ処理は、必要でない。それで、工程１６７では、新規なトラックアドレスのＩＮＤビットをクリアし、制御部は工程１６４に移りＩ／Ｏ要求に応答して転送動作を完了する。
【００８０】
しかし、Ｉ／Ｏホストが特定するトラックが新規なホストトラック（例えば、論理デバイスシリンダＩのトラック）でないと、制御部は、工程１６６から工程１７０に移る。この時点で、物理ディスクドライブ３１に接続しているディスクアダプタ３０などのＩ／Ｏ処理プロセスを実行しているディスクアダプタは、ホストから切り離されて、ＢＣＶ装置の［ＤＣＨ］ｏ（Ｂ）アドレスからのデータを要求する。図６Ａ，６Ｂに関して説明したように、この要求は、データ転送を遂行するパラメータを初期化するが、［ＤＣＨ］ｏ（Ｂ）アドレスから［ＤＣＨ］ｎ（Ｍ）アドレスへの転送に限定される。論理デバイスシリンダＩの［ＤＣＨ］ｏ（Ｂ）アドレスは、論理シリンダサブセット４７Ｂのトラックを特定する。
【００８１】
図５のインスタントスプリットバックグラウンドプロセスが元の構成のトラックに対して完了されなかった場合には、［ＤＣＨ］ｏ（Ｍ）アドレスのＰＳビットを設定しても、しなくてもよい。その場合、制御部は、工程１７１から、図５の工程１３５のプロセスとほぼ同じやり方でトラックを効果的に分割する工程１７２に移る。具体的には、最初の位置のトラックＩＤテーブルのコンテンツは、トラックＩＤテーブル８５から図３のトラックＩＤテーブル７４に転送され、いかなる書き込み待ちデータもＢＣＶ装置に転送される。その後、工程１７２では、ＩＮＤビットを最初の装置のトラックアドレスに設定する。
【００８２】
工程１７２で発生したあらゆる動作の終了後、工程１７３では、データをＢＣＶ装置の［ＤＣＨ］ｏ（Ｂ）アドレスから新規な構成の対応する［ＤＣＨ］ｎ（Ｍ）アドレスに転送する。工程１７４で、［ＤＣＨ］ｎ（Ｍ）及び［ＤＣＨ］ｏ（Ｂ）アドレスの対応するＩＮＤ及びＰＢビットをそれぞれクリアして動作を完了する。その後、工程１７５で、ディスクアダプタをホストに再接続してＩ／Ｏ要求が要求する動作を新規なトラックアドレスについて完了する。
【００８３】
（第３シナリオ）
第３シナリオでは、図６Ａ，６Ｂのデータ転送バックグラウンドプロセスがトラックに作用後、ただし、図５のインスタントスプリットバックグラウンドプロセス以前にＩ／Ｏ要求を受け取る。データ転送バックグラウンドプロセスは、［ＤＣＨ］ｎ（Ｍ）アドレスに対するＩＮＤビット及びＰＳビット、及び工程１４５、１４６の［ＤＣＨ］ｏ（Ｂ）アドレスのＰＢビットをクリアする。第１シナリオ同様このシナリオでは、工程１６１でＩ／Ｏ要求を受け取ったあと、制御部は、工程１６２から工程１６３を経て工程１６４に進みＩ／Ｏ要求を完了する。
【００８４】
（第４シナリオ）
第４シナリオでは、Ｉ／Ｏ要求は、図５，６Ａ，６Ｂのバックグラウンドプロセスのいずれかがそのトラックに作用する前にトラックに向けられると仮定する。工程１０６では、図４Ａ，４Ｂに記載した再構成プロセスの初期化中に、物理ディスクドライブ３１，３３，３５のトラックの全てのＰＳビットを設定する。工程１１２で、論理デバイスシリンダＧ及びＨを受け取る論理シリンダサブセット３７Ａのトラックの全てのＩＮＤビットを設定し、論理シリンダサブセット３７ＢのトラックのそのＩＮＤビットをクリアする。
【００８５】
異なる論理シリンダサブセットに関するこれらの多様な条件が与えられると、Ｉ／Ｏ処理プロセスの具体的応答は、どの論理シリンダサブセットが［ＤＣＨ］ｎ（Ｍ）アドレスを含むかにより左右される。これらの異なる環境に対する応答は、トラックが含まれる下記のＩ／Ｏ要求の４種類の具体例を参照して理解できる。
【００８６】
（１）元の構成及び新規な構成の両方に存在する物理ディスクドライブに格納される論理シリンダＩ
（２）元の構成の物理ディスクドライブ３５に格納されて、かつ新規な構成の新規な物理ディスクドライブ３７に格納される論理シリンダＧ
【００８７】
（３）元の構成に含まれた物理ディスクドライブ３５に格納される新規な論理デバイスシリンダである論理シリンダＭ
（４）新規な物理ディスクドライブ３７に格納される新規な論理デバイスシリンダである論理シリンダＯ
【００８８】
バックグラウンドプロセスが、対応するトラックのあらゆる処理を実行する前に、工程１６１では、受け取られたＩ／Ｏ要求が論理デバイスシリンダＩに対して向けられている場合に、［ＤＣＨ］ｎ（Ｍ）及び［ＤＣＨ］ｏ（Ｍ）アドレスのＰＳビットが設定される。制御部は、工程１６２から工程１７６に移る。論理デバイスシリンダＩは、新規なホストトラックが存在しないので、制御部は、工程１７６から図５の工程１３５の動作のように、トラックを分割していかなる書き込み待ち動作をも処理する工程１８０に移る。その後、制御部が工程１６３から工程１６５に移れるように、工程１８１では、［ＤＣＨ］ｎ（Ｍ）アドレスに対するＩＮＤビットを設定する。その後、工程１６５で、対応する［ＤＣＨ］ｏ（Ｂ）アドレスを特定する。上に説明したように、論理シリンダＩのトラックアドレスは、新規なホストトラックのアドレスではないので、制御部は、工程１６６から、その後、工程１６４をイネーブルしてＩ／Ｏ要求に応答する工程１７０〜１７５に移る。
【００８９】
Ｉ／Ｏ要求が論理デバイスシリンダＧのトラックを特定すると、ＰＳ及びＩＮＤビットの両方が設定される。従って、制御部は、工程１６２から工程１７６に進む。新規な構成においては、論理シリンダＧは、新規な物理ディスクドライブ３７に格納されるが、そのトラックは新規なホストトラックには格納されない。その場合、工程１７７で、［ＤＣＨ］ｏ（Ｂ）アドレスのＰＢビットをリセットする。ＰＢビットをクリアすることで、その後、［ＤＣＨ］ｎ（Ｍ）が定義するトラックをデータ転送バックグラウンドプロセスが上書きするのを防止する。しかし、論理シリンダＧに対して、工程１８０，１８１では、［ＤＣＨ］ｏ（Ｂ）アドレスに対応するトラックを分割して、それによってＰＳビットをクリアし、その後、［ＤＣＨ］ｎ（Ｍ）アドレスに対応するトラックのＩＮＤビットを設定する。その後、制御部は、工程１６３〜１６５，１６６を通って、工程１７０〜１７５が規定する動作に移る。
【００９０】
上で説明したように、新規な論理シリンダとして、論理デバイスシリンダＭ又はＯのいずれかにあるトラックに対する最初のＩ／Ｏ要求は、書き込み操作でなければならない。いずれの状況においても、ＰＳ及びＩＮＤビットの［ＤＣＨ］ｎ（Ｍ）アドレスは、クリアされる。従って、制御部は、工程１６２から工程１６３を通って工程１６４に進み、書き込み操作を完了する。その後、次に続くいかなる読取り操作も、再構成プロセス中でさえも、正常にそれらのトラックと対話する。
【００９１】
さてここで明らかなように、図５，６Ａ，６Ｂのプロセス、及び図７のＩ／Ｏ要求ハンドラは、サービスプロセッサ４０から初期化されたあと、図１のＲＥＣＯＮＦモジュール４９，５１内で動作する。これらのモジュールは、ホスト介入を必要としない。データが実際に転送されなくて、元の構成に留まっていない場合であっても、このホストは、論理デバイスの新規な構成を利用できる。集合的に、図４〜７のプロセスは、図２の物理ディスクドライブ４６，４７，４８から成るＢＣＶ装置に最初のファイルを複製し、その後、Ｉ／Ｏ要求が最も高い優先順位を有する優先順位に基づいて、データを転送することでデータの完全性が維持される。従って、図１〜３の構成、及び図４〜７に示したプロセス及び方法論は、従来のストライピングされたファイルとして又はメタファイルとして、ストライピングファイル又は論理デバイスを直接再構成することを可能にする。この再構成は、論理デバイスのデータが稼動中で、かつホストプロセッサ及びホストアプリケーションにアクセス可能である間、ホスト動作に対してトランスペアレントに発生する。
【００９２】
図１〜７は、ストライピングサイズを変更することなく、論理デバイスの容量を拡大するために、特定のディスクアレイ記憶装置の具体的な実施例に関して本発明を開示している。しかし、ここで明らかなように、また、再構成は、構成ファイルを変更することによってストライピングサイズを変更するのにも利用できる。図８は、各物理ディスクドライブの各ストライピングが１個の論理シリンダを含むように、図２の元の構成が単にストライピングサイズを半分にするように変更された場合に行われる変更を示す。この場合、１２個の論理シリンダは、４個のストライピングにある３個の物理ディスクドライブ３１，３３，３７にわたって分配する。図５，６Ａ，６Ｂのインスタントスプリット及びデータ転送バックグラウンドプロセスは、まさに同じ方法で動作する。また、図７のＩ／Ｏ要求ハンドラは、この構成に新規なホストトラックがないことを除き、同じ方法で動作するので、工程１６２は、常に工程１６３に移り、工程１６６は、常に工程１７０に移る。
【００９３】
図９は、図２にある元の構成の容量の三分の一だけ論理デバイスの容量を増加し、ストライピングサイズを半分にした新規な構成を示す。新規な構成には、新規なホストトラックを有する４個の新規なシリンダＭ〜Ｐがある。全てのシリンダは、４個の物理ディスクドライブにわたって分配され、各物理ディスクドライブは、元の構成の２個のストライピングではなく、４個のストライピングを有する。
【００９４】
また、この具体的な手順が単に本発明を利用できる多くの実施例のうちの一例を示すにすぎないことは、明らかであろう。異なるテーブル及びデータ構造を図１〜３に示すそれらと置き換えることができる。代わりのシーケンス又は工程を図４〜７に示す具体的に開示された手続と置き換えてもよい。また、多くの他の修正も本発明から逸脱することなく開示された装置対して行うことができる。従って、本発明の真の趣旨及び範囲内に到達するように全てのかかる変更及び修正をカバーすることが添付の請求の範囲にある。
【図面の簡単な説明】
【図１】本発明を実施するディスクアレイ記憶装置を含むデータ処理システムとデータ格納のダイアグラム。
【図２】本発明のストライピング論理デバイスの再構成を理解するために有用なダイアグラム。
【図３】本発明を理解するために有用であり、図１のディスクアレイ記憶装置に使用されるテーブル。
【図４Ａ】本発明のストライピング論理デバイスの再構成を可能にする最初の動作処理のフローチャート。
【図４Ｂ】本発明のストライピング論理デバイスの再構成を可能にする最初の動作処理のフローチャート。
【図５】図４Ａ，４Ｂの処理により起動されたインスタントバックグラウンドプロセスのフローチャート。
【図６Ａ】図４Ａ，４Ｂの処理により起動されたデータ転送バックグラウンドプロセスのフローチャート。
【図６Ｂ】図４Ａ，４Ｂの処理により起動されたデータ転送バックグラウンドプロセスのフローチャート。
【図７】図４Ａ，４Ｂの再構成処理中にホストアプリケーションからの要求に応答するＩ／Ｏ要求処理プロセスのフローチャート。
【図８】ストライピングサイズを変更して元の構成を修正した場合の本発明の効果を示すテーブル。
【図９】ストライピングサイズの変更と論理デバイスを格納する物理ディスクドライブ数を増やして元の構成を修正した場合の本発明の効果を示すテーブル。
【図１】
2004536360.tif 000004
【図３】
2004536360.tif 000005
【図４Ａ】
2004536360.tif 000006
【図４Ｂ】
2004536360.tif 000007
【図５】
2004536360.tif 000008
【図６Ａ】
2004536360.tif 000009
【図６Ｂ】
2004536360.tif 000010
【図７】
2004536360.tif 000011
【図８】
2004536360.tif 000012
【図９】
2004536360.tif 000013
【国際公開パンフレット】
2004536360.tif 000014
2004536360.tif 000015
2004536360.tif 000016
2004536360.tif 000017
2004536360.tif 000018
2004536360.tif 000019
2004536360.tif 000020
2004536360.tif 000021
2004536360.tif 000022
2004536360.tif 000023
2004536360.tif 000024
2004536360.tif 000025
2004536360.tif 000026
2004536360.tif 000027
2004536360.tif 000028
2004536360.tif 000029
2004536360.tif 000030
2004536360.tif 000031
2004536360.tif 000032
2004536360.tif 000033
2004536360.tif 000034
2004536360.tif 000035
2004536360.tif 000036
2004536360.tif 000037
2004536360.tif 000038
2004536360.tif 000039
2004536360.tif 000040
2004536360.tif 000041
2004536360.tif 000042
2004536360.tif 000043
2004536360.tif 000044
2004536360.tif 000045
2004536360.tif 000046
2004536360.tif 000047
2004536360.tif 000048
2004536360.tif 000049
2004536360.tif 000050
2004536360.tif 000051
2004536360.tif 000052
2004536360.tif 000053
2004536360.tif 000054
【国際公開パンフレット（コレクトバージョン）】
2004536360.tif 000055
【国際調査報告】
2004536360.tif 000056
2004536360.tif 000057