(57)【要約】【課題】ＡＯＵ機能を利用しデータを保存するハードディスクの信頼性及び耐障害性を向上し得る記憶システム及びデータ管理方法を提案しようとするものである。【解決手段】ホスト装置からのデータを格納する物理ディスクが提供する記憶領域の一部又は全部をプール領域として割当て、プール領域から動的に割当てて仮想ボリュームを形成する記憶システムにおいて、複数の物理ディスクからなる複数のレイドグループとプール領域とを対応付ける第１の対応付け部と、プール領域と仮想ボリュームの記憶領域とを対応付ける第２の対応付け部と、ホスト装置からのライト要求に基づいてホスト装置からの第１のデータを、第１のレイドグループの第１の記憶領域に割り当てる第１の割当て部と、ホスト装置からのライト要求に基づいてホスト装置からの第２のデータを、第１の割当て部で割り当てた第１のレイドグループの第１の記憶領域を除いた、いずれかのレイドグループの記憶領域に分散して割当てる第２の割当て部と、を備えることとした。【選択図】図４
2008181416.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置からのデータを格納する物理ディスクが提供する記憶領域の一部又は全部をプール領域として割当て、前記プール領域から動的に割当てて仮想ボリュームを形成する記憶システムにおいて、
複数の前記物理ディスクからなる複数のレイドグループと、前記プール領域と、を対応付ける第１の対応付け部と、
前記プール領域と、前記仮想ボリュームの記憶領域と、を対応付ける第２の対応付け部と、
前記ホスト装置からのライト要求に基づいて、前記ホスト装置からの第１のデータを、第１のレイドグループの第１の記憶領域に割り当てる第１の割当て部と、
前記ホスト装置からのライト要求に基づいて、前記ホスト装置からの第２のデータを、前記第１の割当て部で割り当てた前記第１のレイドグループの第１の記憶領域を除いた、いずれかのレイドグループの記憶領域に分散して割当てる第２の割当て部と、
を備えることを特徴とする記憶システム。
【請求項２】
前記第１の対応付け部は、
複数の前記物理ディスクからなる複数のレイドグループと、一又は複数のプールボリュームの記憶領域からなる前記プール領域とを対応付け、
前記第２の対応付け部は、
一又は複数のプールボリュームの記憶領域からなる前記プール領域と、前記仮想ボリュームの記憶領域とを対応付ける
ことを特徴とする請求項１記載の記憶システム。
【請求項３】
前記ホスト装置からのデータを格納する前記物理ディスクが提供する記憶領域を制御するコントローラを有し、
前記コントローラが、前記第１の割当て部又は前記第２の割当て部を行う
ことを特徴とする請求項１記載の記憶システム。
【請求項４】
前記仮想ボリュームは、
ベースボリュームとミラーボリュームとからなるミラー構成である
ことを特徴とする請求項１記載の記憶システム。
【請求項５】
前記第１の割当て部は、
前記ホスト装置からのライト要求に基づいて、前記ホスト装置からの第１のデータを、前記ベースボリュームの記憶領域と対応づけした第１のレイドグループの第１の記憶領域に割当て、
前記ホスト装置からの第１のデータのバックアップデータを、前記ミラーボリュームの記憶領域と対応付けし、第１のレイドグループの第１の記憶領域を除いたいずれかのレイドグループの記憶領域に割当てる
ことを特徴とする請求項４記載の記憶システム。
【請求項６】
前記ホスト装置からのリード要求に基づいて、
第１の要求されたデータを前記ベースボリューム又は前記ミラーボリュームの記憶領域と対応付けられる前記レイドグループの記憶領域から読み出す第１の読出し部と、
第２の要求されたデータを、前記第１の読出し部で用いられた前記ベースボリューム又は前記ミラーボリュームを除いた記憶領域と対応付けられる前記レイドグループの記憶領域から読み出す第２の読出し部と、を備え、
前記ホスト装置から要求される連続されたデータは、当該要求されるデータがそれぞれ格納される記憶領域と対応付けられる前記ベースボリューム又は前記ミラーボリュームからの読出しを交互に振り分ける
ことを特徴とする請求項４記載の記憶システム。
【請求項７】
前記物理ディスクに障害が生じた場合に、障害が生じた前記物理ディスクが所属する前記レイドグループの記憶領域を検出して前記レイドグループの障害を処理する障害処理部と、
障害が生じた前記物理ディスクが所属する前記レイドグループの記憶領域とミラー構成であるレイドグループの記憶領域を検出する検出部と、
を備えることを特徴とする請求項４記載の記憶システム。
【請求項８】
前記第１の割当て部及び前記第２の割当て部により割り当てられた前記レイドグループの記憶領域を除いたいずれかのレイドグループの記憶領域を割当てる第３の割当て部と、
前記検出部により検出され、ミラー構成である前記レイドグループの記憶領域に格納されるデータを、前記第３の割当て部により割り当てられた前記レイドグループの記憶領域にコピーするコピー部と、
を備えることを特徴とする請求項７記載の記憶システム。
【請求項９】
前記ホスト装置からのデータを格納する前記物理ディスクを追加して新たなレイドグループを作成した場合に、前記ベースボリューム又は前記ミラーボリュームのいずれかの記憶領域と、前記新たなレイドグループの記憶領域とが、ミラー構成となるように、前記ベースボリューム又は前記ミラーボリュームのいずれかの記憶領域と対応付けられた前記レイドグループの記憶領域に格納されるデータを、前記新たなレイドグループの記憶領域に割当てる追加割当て部
を備えることを特徴とする請求項４記載の記憶システム。
【請求項１０】
ホスト装置からのデータを格納する物理ディスクが提供する記憶領域の一部又は全部をプール領域として割当て、前記プール領域から動的に割当てて仮想ボリュームを形成する記憶システムのデータ管理方法において、
複数の前記物理ディスクからなる複数のレイドグループと、前記プール領域と、を対応付ける第１の対応付けステップと、
前記プール領域と、前記仮想ボリュームの記憶領域と、を対応付ける第２の対応付けステップと、
前記ホスト装置からのライト要求に基づいて、前記ホスト装置からの第１のデータを、第１のレイドグループの第１の記憶領域に割り当てる第１の割当てステップと、
前記ホスト装置からのライト要求に基づいて、前記ホスト装置からの第２のデータを、前記第１の割当てステップで割り当てた前記第１のレイドグループの第１の記憶領域を除いた、いずれかのレイドグループの記憶領域に分散して割当てる第２の割当てステップと、
を備えることを特徴とするデータ管理方法。
【請求項１１】
前記第１の対応付けステップは、
複数の前記物理ディスクからなる複数のレイドグループと、一又は複数のプールボリュームの記憶領域からなる前記プール領域とを対応付け、
前記第２の対応付けステップは、
一又は複数のプールボリュームの記憶領域からなる前記プール領域と、前記仮想ボリュームの記憶領域とを対応付ける
ことを特徴とする請求項１０記載のデータ管理方法。
【請求項１２】
前記ホスト装置からのデータを格納する前記物理ディスクが提供する記憶領域を制御するコントローラを有し、
前記コントローラが、前記第１の割当てステップ又は前記第２の割当てステップを行う
ことを特徴とする請求項１０記載のデータ管理方法。
【請求項１３】
前記仮想ボリュームは、
ベースボリュームとミラーボリュームとからなるミラー構成である
ことを特徴とする請求項１０記載のデータ管理方法。
【請求項１４】
前記第１の割当てステップは、
前記ホスト装置からのライト要求に基づいて、前記ホスト装置からの第１のデータを、前記ベースボリュームの記憶領域と対応づけした第１のレイドグループの第１の記憶領域に割当て、
前記ホスト装置からの第１のデータのバックアップデータを、前記ミラーボリュームの記憶領域と対応付けし、第１のレイドグループの第１の記憶領域を除いたいずれかのレイドグループの記憶領域に割当てる
ことを特徴とする請求項１３記載のデータ管理方法。
【請求項１５】
前記ホスト装置からのリード要求に基づいて、
第１の要求されたデータを前記ベースボリューム又は前記ミラーボリュームの記憶領域と対応付けられる前記レイドグループの記憶領域から読み出す第１の読出しステップと、
第２の要求されたデータを、前記第１の読出し部で用いられた前記ベースボリューム又は前記ミラーボリュームを除いた記憶領域と対応付けられる前記レイドグループの記憶領域から読み出す第２の読出しステップと、を備え、
前記ホスト装置から要求される連続されたデータは、当該要求されるデータがそれぞれ格納される記憶領域と対応付けられる前記ベースボリューム又は前記ミラーボリュームからの読出しを交互に振り分ける
ことを特徴とする請求項１３記載のデータ管理方法。
【請求項１６】
前記物理ディスクに障害が生じた場合に、障害が生じた前記物理ディスクが所属する前記レイドグループの記憶領域を検出して前記レイドグループの障害を処理する障害処理ステップと、
障害が生じた前記物理ディスクが所属する前記レイドグループの記憶領域とミラー構成であるレイドグループの記憶領域を検出する検出ステップと、
を備えることを特徴とする請求項１３記載のデータ管理方法。
【請求項１７】
前記第１の割当てステップ及び前記第２の割当てステップにより割り当てられた前記レイドグループの記憶領域を除いたいずれかのレイドグループの記憶領域を割当てる第３の割当てステップと、
前記検出ステップにより検出され、ミラー構成である前記レイドグループの記憶領域に格納されるデータを、前記第３の割当て部により割り当てられた前記レイドグループの記憶領域にコピーするコピーステップと、
を備えることを特徴とする請求項１６記載のデータ管理方法。
【請求項１８】
前記ホスト装置からのデータを格納する前記物理ディスクを追加して新たなレイドグループを作成した場合に、前記ベースボリューム又は前記ミラーボリュームのいずれかの記憶領域と、前記新たなレイドグループの記憶領域とが、ミラー構成となるように、前記ベースボリューム又は前記ミラーボリュームのいずれかの記憶領域と対応付けられた前記レイドグループの記憶領域に格納されるデータを、前記新たなレイドグループの記憶領域に割当てる追加割当てステップ
を備えることを特徴とする請求項１３記載のデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶システム及びデータ管理方法に関し、格納されるデータの信頼性及び耐障害性を確保する記憶システムに適用して好適なものである。
【背景技術】
【０００２】
従来、ストレージ装置を用いてデータを格納する記憶システムにおいては、複数のハードディスクをＲＡＩＤ（Redundant Array of Independent/Inexpensive Disks）方式で管理する方法がある。そして、多数のハードディスクが提供する物理的な記憶領域上には、少なくとも１つ以上の論理的なボリューム（以下、これを論理ボリュームという）が形成される。
【０００３】
ＲＡＩＤ方式には、１つのハードディスクが故障しても、ホスト装置からのデータを失わないために、例えば、ＲＡＩＤ１と呼ばれる方式がある。この方式では、ホスト装置は１つの仮想的な論理ボリューム（以下、これを仮想ボリュームという）にアクセスするのであるが、実際には２つのハードディスクから構成されているそれぞれのハードディスクに同一のデータを格納する方式を採用している。この方法によれば、データの冗長性を確保することができる。
【０００４】
また、データの冗長性をもたせた他の技術としては、スライスされたデータを格納するために予め形成されたスライス領域からなる複数のデータ格納部と、スライス領域を管理する管理情報格納部と、データ格納部に格納されるスライスされたデータと管理情報格納部に格納する管理情報とを通信するための通信機能部と、を具備するモジュールを備える技術が特許文献１に開示されている。
【０００５】
一方、ハードディスクの記憶領域から固定容量の論理ボリュームを作成せず、ホスト装置に仮想ボリュームを提供し、ホスト装置からの要求に応じて、仮想ボリュームにハードディスクの記憶領域を動的に割り当てる、いわゆるＡＯＵ（Allocation On Use）機能と呼ばれる技術が提案されている。このＡＯＵ機能による技術によれば、仮想ボリュームの動的な容量拡張を実現することができる。
【特許文献１】国際公開第２００４／１０４８４５号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、ミラーリングと呼ばれるＲＡＩＤ１方式は、仮想ボリュームにデータを書き込むときには、２つのハードディスクに同時に書き込まれるので、２つのハードディスクの容量が異なる場合には、容量の小さいハードディスクに合わせなければならない。
【０００７】
また万一、レイドグループとしての機能が働かないような故障が生じた場合には、ＡＯＵ機能を利用しない記憶システムでは、当該レイドグループに所属する論理ボリュームが使用不可となるが、ＡＯＵ機能を利用する記憶システムでは、当該レイドグループから領域を割当てられた全ての仮想ボリュームが使用不可となってしまう。したがって、ＡＯＵ機能を利用しない記憶システムに比べて、ＡＯＵ機能を利用した記憶システムの方がシステム全体に及ぼされる影響が大きいという問題が生じる。
【０００８】
そこで、本発明は、ＡＯＵ機能を利用し、データを保存するハードディスクの信頼性及び耐障害性を向上し得る記憶システム及びデータ管理方法を提案しようとするものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するため本発明においては、ホスト装置からのデータを格納する物理ディスクが提供する記憶領域の一部又は全部をプール領域として割当て、プール領域から動的に割当てて仮想ボリュームを形成する記憶システムにおいて、複数の物理ディスクからなる複数のレイドグループと、プール領域と、を対応付ける第１の対応付け部と、プール領域と、仮想ボリュームの記憶領域と、を対応付ける第２の対応付け部と、ホスト装置からのライト要求に基づいて、ホスト装置からの第１のデータを、第１のレイドグループの第１の記憶領域に割り当てる第１の割当て部と、ホスト装置からのライト要求に基づいて、ホスト装置からの第２のデータを、第１の割当て部で割り当てた第１のレイドグループの第１の記憶領域を除いた、いずれかのレイドグループの記憶領域に分散して割当てる第２の割当て部と、を備えることを特徴とする。
【００１０】
その結果、ホスト装置のライト要求に基づいて、要求されたデータを格納するために対応付けられる仮想ボリュームを物理ディスクから動的に提供でき、かつ、ホスト装置からの連続したデータを複数のレイドグループに分散して格納することができる。
【００１１】
また、本発明においては、ホスト装置からのデータを格納する物理ディスクが提供する記憶領域の一部又は全部をプール領域として割当て、プール領域から動的に割当てて仮想ボリュームを形成する記憶システムのデータ管理方法において、複数の物理ディスクからなる複数のレイドグループと、プール領域と、を対応付ける第１の対応付けステップと、プール領域と、仮想ボリュームの記憶領域と、を対応付ける第２の対応付けステップと、ホスト装置からのライト要求に基づいて、ホスト装置からの第１のデータを、第１のレイドグループの第１の記憶領域に割り当てる第１の割当てステップと、ホスト装置からのライト要求に基づいて、ホスト装置からの第２のデータを、第１の割当てステップで割り当てた前記第１のレイドグループの第１の記憶領域を除いた、いずれかのレイドグループの記憶領域に分散して割当てる第２の割当てステップと、を備えることを特徴とする。
【００１２】
その結果、ホスト装置のライト要求に基づいて、要求されたデータを格納するために対応付けられる仮想ボリュームを物理ディスクから動的に提供でき、かつ、ホスト装置からの連続したデータを複数のレイドグループに分散して格納することができる。
【発明の効果】
【００１３】
本発明によれば、ＡＯＵ機能を利用することで、データを保存するハードディスクの信頼性及び耐障害性を向上することができる。
【発明を実施するための最良の形態】
【００１４】
以下図面について、本発明の一実施の形態を詳述する。
【００１５】
（１）第１の実施の形態
（１−１）第１の実施の形態による記憶システムの構成
（１−１−１）記憶システムの物理構成
図１において、１は全体として本実施の形態による記憶システムを示す。この記憶システム１は、ホスト装置２がネットワーク３を介してストレージ装置４と接続されることにより構成されている。
【００１６】
ホスト装置２は、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。またホスト装置２は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置（図示せず）と、モニタディスプレイやスピーカ等の情報出力装置（図示せず）とを備える。
【００１７】
ネットワーク３は、例えばＳＡＮ（Storage Area Network）、ＬＡＮ（Local Area Network）、インターネット、公衆回線又は専用回線などから構成される。このネットワーク３を介したホスト装置２及びストレージ装置４間の通信は、例えばネットワーク３がＳＡＮである場合にはファイバーチャネルプロトコルに従って行われ、ネットワーク３がＬＡＮである場合にはＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。
【００１８】
ストレージ装置４は、複数のハードディスク５０からなるディスク部５と、複数のハードディスク５０をＲＡＩＤ方式で管理するコントローラ６とを備えて構成される。
【００１９】
ハードディスク５０は、例えばＳＣＳＩ（Small Computer System Interface）ディスク等の高価なディスク、又はＳＡＴＡ（Serial AT Attachment）ディスクや光ディスク等の安価なディスクから構成される。
【００２０】
コントローラ６は、複数のチャネルアダプタ７、接続部８、共有メモリ９、キャッシュメモリ１０、複数のディスクアダプタ１１及びサービスプロセッサ１２を備えて構成される。
【００２１】
各チャネルアダプタ７は、マイクロプロセッサ（図示せず）、メモリ（図示せず）及び通信インタフェース等を備えたマイクロコンピュータシステムとして構成されており、ネットワーク３に接続するためのポート（図示せず）を備える。各チャネルアダプタ７は、ホスト装置２から送信される各種コマンドを解釈して、必要な処理を実行する。各チャネルアダプタ７のポートには、それぞれを識別するためのネットワークアドレス（例えば、ＩＰアドレスやＷＷＮ）が割当てられており、これによりチャネルアダプタ７がそれぞれ個別にＮＡＳ（Network Attached Storage）として振る舞うことができるようになされている。
【００２２】
図２に示すように、各チャネルアダプタ７のメモリは、ホスト装置２からのライト要求を処理するチャネルアダプタ７用ライトプログラム７０、ホスト装置２からのデータをハードディスク５０内の記憶領域に割当てるための割当てプログラム７１、ホスト装置２からのデータをハードディスク５０内の記憶領域に割当てて決定するための割当て決定プログラム７２、ホスト装置２からのリード要求を処理するチャネルアダプタ７用リードプログラム７３及び読み出す複数のデータを異なる仮想ボリュームから読み出すように振分けるリード振分けプログラム７４を備えて構成される。そして各チャネルアダプタ７は、内部バスアダプタ（図示せず）を介して接続部８と接続されている。
【００２３】
接続部８は、上述したチャネルアダプタ７の他、共有メモリ９、キャッシュメモリ１０及びディスクアダプタ１１と接続されている。チャネルアダプタ７、共有メモリ９、キャッシュメモリ１０及びディスクアダプタ１１間のデータやコマンドの授受は、この接続部８を介して行われる。接続部８は、例えば高速スイッチングによりデータ伝送を行う超高速クロスバススイッチなどのスイッチ又はバス等で構成される。
【００２４】
共有メモリ９は、チャネルアダプタ７及びディスクアダプタ１１により共有される記憶メモリである。共有メモリ９は、主にストレージ装置４の電源投入時にシステムボリュームから読み出されたシステム構成情報及び各種制御プログラムや、ホスト装置２からのコマンドなどを記憶するために利用される。共有メモリ９内に記憶される各種構成情報については、後述で説明する。
【００２５】
キャッシュメモリ１０も、チャネルアダプタ７及びディスクアダプタ１１により共有される記憶メモリである。このキャッシュメモリ１０は、主にストレージ装置４に入出力するユーザデータを一時的に記憶するために利用される。
【００２６】
各ディスクアダプタ１１は、マイクロプロセッサ（図示せず）やメモリ（図示せず）等を備えたマイクロコンピュータシステムとして構成され、ディスク部５との通信時におけるプロトコル制御を行うインタフェースとして機能する。これらディスクアダプタ１１は、例えばファイバーチャネルケーブルを介して対応するディスク部５と接続されており、ファイバーチャネルプロトコルに従ってこれらディスク部５との間のデータの授受を行う。
【００２７】
図３に示すように、各ディスクアダプタ１１のメモリには、ホスト装置２からのライト要求を処理するディスクアダプタ用ライトプログラム１１０、複数のハードディスク５０から障害が発生したハードディスク５０を処理する障害プログラム１１１、障害が発生したハードディスク５０の記憶領域を回復する障害回復プログラム１１２及び障害回復メインプログラム１１３、ホスト装置２からのリード要求を処理するディスクアダプタ用リードプログラム１１４及び追加したハードディスク５０の記憶領域に割当てる追加割当てプログラム１１５を備えて構成される。
【００２８】
サービスプロセッサ１２は、ストレージ装置４の保守又は管理のために操作されるコンピュータ装置であり、例えばノート型のパーソナルコンピュータから構成される。このサービスプロセッサ１２は、ネットワーク３を介してホスト装置２が接続されており、ホスト装置２からデータ或いは命令を受信することができる。サービスプロセッサ１２は、ストレージ装置４内の障害発生を監視してディスプレイ画面（図示せず）に表示することができる。
【００２９】
（１−１−２）記憶システムの論理構成
次に、上述の記憶システム１の論理構成について説明する。
【００３０】
本実施の形態による記憶システム１は、複数のハードディスク５０のうち、４台のハードディスク５０を１つのＥＣＣ（Error Correcting Code）グループとしている。そして、１つのＥＣＣグループが提供する記憶領域上に、１又は複数の論理ボリュームＬＤＥＶが定義される。なお、本実施の形態におけるＥＣＣグループとレイドグループとは同義である。
【００３１】
各論理ボリュームＬＤＥＶのうち、ユーザが指定した論理ボリュームＬＤＥＶに、固有の識別子（ＬＵＮ：Logical Unit Number）が割当てられる。本実施の形態の場合、データの入出力は、この識別子と、各ブロックにそれぞれ割当てられるそのブロックに固有の番号（ＬＢＡ：Logical Block Address）との組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
【００３２】
ここで、論理ボリュームＬＤＥＶの属性としては、実ボリュームＶＯＬと仮想ボリュームＶＶＯＬとがある。
【００３３】
複数の実ボリュームのうち、仮想ボリュームとのマッピングに使用される実ボリュームとして、プールボリュームＰＬＶＯＬがある。例えば、図４は、記憶システム１におけるホスト装置２と複数のハードディスクドライブ５０との論理的な関係を示した概念図である。１つのプールボリュームＰＬＶＯＬが１つのＥＣＣグループから構成されていてもよいし、複数のプールボリュームＰＬＶＯＬが１つのＥＣＣグループを構成してもよい。
【００３４】
そして複数のプールボリュームＰＬＶＯＬがプール領域ＰＬを形成している。プールボリュームＰＬＶＯＬは、ハードディスク５０の記憶領域を動的に割当てて仮想ボリュームＶＶＯＬの記憶領域を提供する。
【００３５】
仮想ボリュームＶＶＯＬは、ホスト装置がアクセスするホストボリュームＨＶＶＯＬ、ホストボリュームＨＶＶＯＬを構成するベースボリュームＢＶＶＯＬ、ホストボリュームＨＶＶＯＬを構成し、ベースボリュームＢＶＶＯＬとミラー構成であるミラーボリュームＭＶＶＯＬとを備えている。
【００３６】
ベースボリュームＢＶＶＯＬ又はミラーボリュームＭＶＶＯＬの記憶領域には、ＥＣＣグループ内に割当てられるページＰと呼ばれる最小の記憶領域が対応付けられている。例えば、図４では、ベースボリュームＢＶＶＯＬ又はミラーボリュームＭＶＶＯＬ内の記憶領域は、プールボリュームＰＬＶＯＬ０を介して、ＥＣＣグループ１又はＥＣＣグループ３内にある、それぞれのページＰ０と対応付けられている。
【００３７】
（１−２）本実施の形態における分散格納機能、ミラー機能及びＡＯＵ機能
次に、記憶システム１内のストレージ装置４に搭載された分散格納機能及びミラー機能について説明する。
【００３８】
この記憶システム１は、ホスト装置２からのライト要求に基づいて、ホスト装置２からのデータを、任意のＥＣＣグループ内に格納することを決定するとともに、バックアップデータは当該データを格納したＥＣＣグループ以外のＥＣＣグループに格納するように格納場所を分散できることを特徴としている。
【００３９】
ここで、分散格納機能とは、ホスト装置２からのライト要求に基づいて連続したデータがある場合に、連続したデータを複数のＥＣＣグループに分散して格納する機能をいう。例えば、連続したデータ１からデータ３がある場合に、データ１はＥＣＣグループ１の記憶領域に格納されると、データ２はデータ１を格納した記憶領域以外に格納され、データ３はデータ１及びデータ２を格納した記憶領域以外に格納される機能をいう。したがって連続したデータ１からデータ３は、同一ＥＣＣグループに格納される又は異なるＥＣＣグループに格納されることがある。
【００４０】
また、ミラー機能とは、ＲＡＩＤ１のミラー構成に基づく機能をいう。ミラー機能は、ベースボリュームＢＶＶＯＬとミラーボリュームＭＶＶＯＬとから構成される。
【００４１】
さらに、ＡＯＵ機能とは、ＥＣＣグループの記憶領域からなるプール領域ＰＬ又はプールボリュームＰＬＶＯＬから、ベースボリュームＢＶＶＯＬとミラーボリュームＭＶＶＯＬに動的に記憶領域が割当てられる機能をいう。
【００４２】
（１−２−１）共有メモリ内の構成情報
上述のような機能を実現するために、ストレージ装置４の共有メモリ９について説明をする。
【００４３】
共有メモリ９には、図５に示すように、ホストボリュームの構成情報９０、仮想ボリュームとプールボリュームとの構成情報９１、仮想ボリュームの構成情報９２、プールボリュームの構成情報９３及びページの構成情報９４を備えて構成される。
【００４４】
（１−２−１−１）ホストボリュームの構成情報
ホストボリュームの構成情報９０は、図６に示すように、ホスト装置２が認識するホストボリュームＨＶＶＯＬと、当該ボリュームと関連付けられるストレージ装置４内のベースボリュームＢＶＶＯＬ及びミラーボリュームＭＶＶＯＬとの構成情報である。
【００４５】
ホストボリュームの構成情報９０は、「ホストボリューム番号」フィールド９０Ａ、「ベースボリューム用ボリューム番号」フィールド９０Ｂ及び「ミラーボリューム用ボリューム番号」フィールド９０Ｃとから構成されている。
【００４６】
「ホストボリューム番号」フィールド９０Ａには、ホスト装置２がアクセスするホストボリュームＨＶＶＯＬのホストボリューム番号が格納される。
【００４７】
「ベースボリューム用ボリューム番号」フィールド９０Ｂには、ベースボリュームＢＶＶＯＬのボリューム番号が格納される。同様に、「ミラーボリューム用ボリューム番号」フィールド９０Ｃには、ミラーボリュームＭＶＶＯＬのボリューム番号が格納される。
【００４８】
例えば、図６に示すように「ホストボリューム番号」が「０」のホストボリュームは、「ベースボリューム用ボリューム番号」が「１」のベースボリュームと、「ミラーボリューム用ボリューム番号」が「２」のミラーボリュームとから構成されていることを示す。
なお、「ＦＦＦＦ」は、未割当て又は未使用のボリュームであることを示す。
【００４９】
（１−２−１−２）仮想ボリュームとプールボリュームとの構成情報
仮想ボリュームＶＶＯＬとプールボリュームＰＬＶＯＬとの構成情報９１は、図７に示すように、プールボリュームＰＬＶＯＬ及び仮想ボリュームＶＶＯＬとの対応付けを示した情報が格納される。
【００５０】
仮想ボリュームとプールボリュームとの構成情報９１は、「仮想ボリューム番号」フィールド９１Ａ、「プールＩＤ」フィールド９１Ｂ及び「前回割当てＥＣＣグループインデックス番号」フィールド９１Ｃとから構成される。
【００５１】
「仮想ボリューム番号」フィールド９１Ａには、ベースボリュームＢＶＶＯＬ及びミラーボリュームＭＶＶＯＬを構成する仮想ボリュームの番号の情報が格納される。
【００５２】
「プールＩＤ」フィールド９１Ｂには、プールボリュームＰＬＶＯＬの識別番号が格納される。具体的には、ベースボリュームＢＶＶＯＬ又はミラーボリュームＭＶＶＯＬの仮想ボリューム番号に対応付けられるプールＩＤが格納される。
【００５３】
「前回割当てＥＣＣグループインデックス番号」フィールド９１Ｃには、前回のデータを格納したＥＣＣグループのインデックス番号が格納される。ＥＣＣグループのインデックス番号は、ページの構成情報９４で説明する。
【００５４】
（１−２−１−３）仮想ボリュームの構成情報
仮想ボリュームの構成情報９２は、図８に示すように、ベースボリュームＢＶＶＯＬ及びミラーボリュームＭＶＶＯＬに付与される仮想ボリューム番号毎にもつ構成情報であって、仮想ボリュームに割当てられる最小の記憶領域と、当該記憶領域に対応付けられるＥＣＣグループとの関係を示した情報が格納される。
【００５５】
仮想ボリュームの構成情報９２は、「ページ番号」フィールド９２Ａ、「ＥＣＣグループ番号」フィールド９２Ｂ及び「ＥＣＣグループ内のページ番号」フィールド９２Ｃとから構成される。
【００５６】
「ページ番号」フィールド９２Ａには、１つの仮想ボリューム内に複数形成されるページ（記憶領域）のページ番号が格納される。
【００５７】
「ＥＣＣグループ番号」フィールド９２Ｂには、１つの仮想ボリューム内に形成されるページ番号に対応付けられるＥＣＣグループ番号が格納される。
【００５８】
「ＥＣＣグループ内のページ番号」フィールド９２Ｃには、１つの仮想ボリューム内に形成されるページ番号に対応付けられるＥＣＣグループ番号のページ番号が格納される。
【００５９】
（１−２−１−４）プールボリュームの構成情報
プールボリュームの構成情報９３は、図９に示すように、プールボリュームＰＬＶＯＬと対応付けられるＥＣＣグループの数を示した情報が格納される。プールボリュームＰＬＶＯＬの構成情報９３は、「プールＩＤ」フィールド９３Ａ及び「ＥＣＣグループ数」フィールド９３Ｂとから構成される。
【００６０】
「プールＩＤ」フィールド９３Ａには、プールボリュームＰＬＶＯＬの識別番号が格納される。
【００６１】
「ＥＣＣグループ数」フィールド９３Ｂには、プールボリュームＰＬＶＯＬと対応付けられ、プールボリュームＰＬＶＯＬの配下にあるＥＣＣグループの数が格納される。
【００６２】
例えば、図９に示すように、「プールＩＤ」が「０」のプールボリュームＰＬＶＯＬには、配下に「３」のＥＣＣグループがあることを示す。
【００６３】
（１−２−１−５）ページの構成情報
ページの構成情報９４は、図１０に示すように、プールＩＤ毎の構成情報であって、プールボリュームＰＬＶＯＬ内に割当てられるページとＥＣＣグループの対応関係を示す情報が格納される。
【００６４】
ページの構成情報９４は、「プール内ＥＣＣグループインデックス番号」フィールド９４Ａ、「ＥＣＣグループ番号」フィールド９４Ｂ、「次に割当てるページ番号」フィールド９４Ｃ、「ページ総数」フィールド９４Ｄ、「ページ使用個数」フィールド９４Ｅ及び「ステータス」フィールド９４Ｆとから構成される。
【００６５】
「プール内ＥＣＣグループインデックス番号」フィールド９４Ａには、プール領域ＰＬ内におけるＥＣＣグループ番号のインデックス番号が格納される。ページＰが割当てられた処理の順序に従ってインデックス番号が振られる。
【００６６】
「ＥＣＣグループ番号」フィールド９４Ｂには、ＥＣＣグループの番号が格納される。
【００６７】
「次に割当てるページ番号」フィールド９４Ｃには、ホスト装置２からの次のデータを格納するためのページ番号が格納される。
【００６８】
「ページ総数」フィールド９４Ｄには、あるＥＣＣグループ内で割当てることのできるページＰの総数情報が格納される。
【００６９】
「ページ使用個数」フィールド９４Ｅには、あるＥＣＣグループ内で割当てられたページＰの使用個数情報が格納される。
【００７０】
「ステータス」フィールド９４Ｆには、あるＥＣＣグループ内の状態を示す情報が格納されている。
【００７１】
（１−２−３）記憶システムの動作概要
それでは次に、本実施の形態の記憶システム１の動作概要を説明する。
【００７２】
まず、ホスト装置からのライト要求に基づいて、本実施の形態におけるＥＣＣグループ内の記憶領域に、ホスト装置からのデータをどのように割当てて当該記憶領域に格納するのか、について説明をする。
【００７３】
（１−２−３−１）チャネルアダプタでのライト処理
それでは、ホスト装置２からのライト要求に基づく、チャネルアダプタ７内でのライト処理について説明する。このライト処理は、チャネルアダプタ７がチャネルアダプタ用ライトプログラム７０に基づいて実行する。
【００７４】
具体的には図１１に示すように、ホスト装置２からのライト要求をチャネルアダプタ７が受け取ることでこの処理を開始する（ＳＰ０）。
【００７５】
次に、チャネルアダプタ７は、ホスト装置２からのライト要求に基づくデータの格納場所がすでにＥＣＣグループ内の記憶領域をページ単位で割当てて対応付けられたベースボリュームＢＶＶＯＬであるか否かを判断する（ＳＰ１）。具体的には、チャネルアダプタ７は、共有メモリ９内にある仮想ボリュームの構成情報９２を参照して、ベースボリュームＢＶＶＯＬのボリューム番号に対応付けられるＥＣＣグループ内のページ番号が割当てられているか判断する。
【００７６】
そして、チャネルアダプタ７は、ベースボリュームＢＶＶＯＬのボリューム番号に対応付けられるＥＣＣグループ内の記憶領域がまだ未割当てであると判断すると（ＳＰ１：ＮＯ）、割当て処理を開始する（ＳＰ２）。なお、チャネルアダプタ７が実行するこの割当て処理の詳細は、後述で説明をする。
【００７７】
割当て処理を終了すると、チャネルアダプタ７は、ベースボリュームＢＶＶＯＬのボリューム番号に対応付けられるＥＣＣグループ内の記憶領域をページ単位で割当てられたか否かを判断する（ＳＰ３）。
【００７８】
チャネルアダプタ７は、ＥＣＣグループ内の記憶領域をページ単位での割当てに失敗したと判断すると（ＳＰ３：ＮＯ）、ライト処理が異常終了としたとして（ＳＰ４）、ホスト装置２に報告し、当該処理を終了するが（ＳＰ１０）、ページ単位での割当てに成功したと判断すると（ＳＰ３：ＹＥＳ）、ステップＳＰ５の処理を行う。
【００７９】
一方、ステップＳＰ１において、そして、チャネルアダプタ７は、ＥＣＣグループ内の記憶領域がすでに割当て済みであると判断すると（ＳＰ１：ＹＥＳ）、キャッシュメモリ１０にホスト装置２からのデータを一時的にライトする（ＳＰ５）。
【００８０】
そうして、次にチャネルアダプタ７は、ホスト装置２からのライト要求に基づくデータの格納場所がすでにＥＣＣグループ内の記憶領域をページ単位で割当てて対応付けられたミラーボリュームＭＶＶＯＬであるか否かを判断する（ＳＰ６）。具体的には、チャネルアダプタ７は、共有メモリ９内にある仮想ボリュームの構成情報９２を参照して、ミラーボリュームＭＶＶＯＬのボリューム番号に対応付けられるＥＣＣグループ内のページ番号が割当てられているか判断する。
【００８１】
そして、チャネルアダプタ７は、ミラーボリュームＭＶＶＯＬのボリューム番号に対応付けられるＥＣＣグループ内の記憶領域が割当て済みであると判断すると（ＳＰ６：ＹＥＳ）、チャネルアダプタ７は、キャッシュメモリ１０内にあるベースボリュームＢＶＶＯＬ及びミラーボリュームＭＶＶＯＬのデータを、ベースボリュームＢＶＶＯＬ及びミラーボリュームＭＶＶＯＬと対応付けられるＥＣＣグループ内のページ番号にデステージするようにディスクアダプタ１１にデステージ要求を行う（ＳＰ７）。
【００８２】
また、チャネルアダプタ７は、ミラーボリュームＭＶＶＯＬのボリューム番号に対応付けられるＥＣＣグループ内の記憶領域が未割当てであると判断すると（ＳＰ６：ＮＯ）、キャッシュメモリ１０内にあるベースボリュームＢＶＶＯＬのデータのみを、対応付けられるＥＣＣグループ内のページ番号にデステージするようにディスクアダプタ１１にデステージ要求を行う（ＳＰ８）。
【００８３】
そうしてチャネルアダプタ７は、ライト処理が正常に終了したとしてホスト装置２に報告し（ＳＰ９）、当該処理を終了する（ＳＰ１０）。
【００８４】
（１−２−３−２）ディスクアダプタでのライト処理
それでは、ホスト装置２からのライト要求に基づく、ディスクアダプタ１１内でのライト処理について説明する。このライト処理は、ディスクアダプタ１１がディスクアダプタ用ライトプログラム１１０に基づいて実行する。
【００８５】
具体的には図１２に示すように、チャネルアダプタ７からのデステージ要求をディスクアダプタ１１が受け取ることで、この処理を開始する（ＳＰ２０）。
【００８６】
開始すると、ディスクアダプタ１１は、データを格納しようとするＥＣＣグループのハードディスク５０に障害があるか否かを判断する（ＳＰ２１）。
【００８７】
そして、ディスクアダプタ１１は、ハードディスク５０に障害があると判断すると（ＳＰ２１：ＹＥＳ）、障害が生じたハードディスク５０の所属するＥＣＣグループを処理する障害処理（ＳＰ２２）及び障害が生じたハードディスク５０の所属するＥＣＣグループを回復する処理（ＳＰ２３）を経て、ＥＣＣグループ内に割当てられたページＰにホスト装置２からのデータをライトし（ＳＰ２４）、この処理を終了する（ＳＰ２５）。
【００８８】
一方、ディスクアダプタ１１は、ハードディスク５０に障害がないと判断すると（ＳＰ２１：ＮＯ）、ＥＣＣグループ内に割当てられたページＰにホスト装置２からのデータをライトして（ＳＰ２４）、この処理を終了する（ＳＰ２５）。
【００８９】
ホスト装置２からのデータが正常にＥＣＣグループ内に割当てられたページＰにライトされると各構成情報は、図１３に示すように更新される。
【００９０】
まず、ベースボリュームＢＶＶＯＬのボリューム番号「１」、ミラーボリュームＭＶＶＯＬのボリューム番号「２」とする。ここでは、ベースボリュームＢＶＶＯＬ及びミラーボリュームＭＶＶＯＬと対応付けられるプールＩＤを「０」とする。ベースボリュームＢＶＶＯＬは、プールＩＤ「０」の配下にあるＥＣＣグループ「１」及びＥＣＣグループ「１」内のページ番号「０」を対応付けられる。
【００９１】
同様に、ミラーボリュームＭＶＶＯＬは、プールＩＤ「０」の配下にあるＥＣＣグループ「３」内のページ番号「０」と対応付けられる。
【００９２】
このとき、プールＩＤ番号毎に構成されるページの構成情報９４において、すでにＥＣＣグループ「１」及び「３」のページ番号「０」については割当て済みとなったため、「次に割当てるページ番号」フィールド９４Ｃの数値は「１」となる。
【００９３】
また、ＥＣＣグループ「１」及び「３」のページ番号「０」を使用したため、「ページ使用個数」フィールド９４Ｅを「１」に更新する。この更新に伴って、ページの構成情報９４の「プール内ＥＣＣグループインデックス番号」フィールド９４Ａ内の数値は「０」及び「１」なので、これらを「前回割当てＥＣＣグループインデックス番号」フィールド９１Ｃ内の数値「０」及び「１」として、仮想ボリュームとプールボリュームとの構成情報９１を更新する。
【００９４】
以上、ステップＳＰ０〜ステップＳＰ２５までのライト処理が、ホスト装置２からのデータを同一又は異なるＥＣＣグループ内の２つの記憶領域に分散して格納できる流れである。
【００９５】
（１−２−３−３）チャネルアダプタ７での割当て処理
それでは、ステップＳＰ２において、チャネルアダプタ７がどのように割当て処理を行うのかを具体的に説明する。この割当て処理は、チャネルアダプタ７が割当てプログラム７１に基づいて実行する。
【００９６】
図１４に示すように、チャネルアダプタ７は、ベースボリュームＢＶＶＯＬの記憶領域に、ベースボリュームＢＶＶＯＬと対応するＥＣＣグループ内のページＰが未割当てであると判断した場合に（ＳＰ１：ＮＯ）又は後述で説明するように障害が生じたＥＣＣグループがある場合に、ベースボリュームＢＶＶＯＬと対応するＥＣＣグループ内のページＰを割当てる割当て処理を開始する（ＳＰ３０）。そして、チャネルアダプタ７は、ベースボリュームＢＶＶＯＬについて割当て決定処理を実行する（ＳＰ３１）。なお、チャネルアダプタ７が実行するこの割当て決定処理の詳細は、後述で説明をする。
【００９７】
そして、チャネルアダプタ７は、ベースボリュームＢＶＶＯＬの記憶領域に、ベースボリュームＢＶＶＯＬと対応するＥＣＣグループ内のページＰが割当て成功か否かを判断し（ＳＰ３２）、割当てが失敗であると判断すると（ＳＰ３２：ＮＯ）、この処理を異常終了させる（ＳＰ３３）。
【００９８】
一方、チャネルアダプタ７は、ベースボリュームＢＶＶＯＬの記憶領域に、ベースボリュームＢＶＶＯＬと対応するＥＣＣグループ内のページＰが割当て成功したと判断すると（ＳＰ３２：ＹＥＳ）、割当てたＥＣＣグループ番号及びページ番号を設定する（ＳＰ３４）。チャネルアダプタ７は、共有メモリ９内にある仮想ボリュームとプールボリュームとの構成情報９１、仮想ボリュームの構成情報９２及びページの構成情報９４内の該当箇所を更新する。
【００９９】
そしてチャネルアダプタ７は、ベースボリュームＢＶＶＯＬに割当てたＥＣＣグループを割当て不可ＥＣＣグループとして設定する（ＳＰ３５）。同一のデータを格納する際に、ミラーボリュームＭＶＶＯＬの記憶領域に、ベースボリュームＢＶＶＯＬと同一のＥＣＣグループ内のページＰを割当てさせないためである。
【０１００】
引き続き、チャネルアダプタ７は、ミラーボリュームＭＶＶＯＬの記憶領域とＥＣＣグループ内のページＰとを割当てる割当て決定処理を開始する（ＳＰ３６）。なお、チャネルアダプタ７が実行するこの割当て処理の詳細は、後述で説明をする。そして、チャネルアダプタ７は、ステップＳＰ３７〜ステップＳＰ３９までの処理を、ステップＳＰ３２〜ＳＰ３５の処理と同様の手順で行う。チャネルアダプタ７は、ミラーボリュームＭＶＶＯＬの記憶領域に、ミラーボリュームＭＶＶＯＬと対応するＥＣＣグループのページＰを割当てると、割当て処理を終了する（ＳＰ４０）。
【０１０１】
（１−２−３−４）チャネルアダプタ７での割当て決定処理
それでは、ステップＳＰ３１又はステップＳＰ３６において、チャネルアダプタ７がどのように割当て決定処理を行うのかを具体的に説明する。この割当て決定処理は、チャネルアダプタ７が割当て決定プログラム７２に基づいて実行する。ここでは、ベースボリュームＢＶＶＯＬの記憶領域に、ＥＣＣグループ内のページをどのように割当てて決定するのかを説明するが、ミラーボリュームＭＶＶＯＬについても同様の処理手順で行うものとする。
【０１０２】
図１５及び図１６に示すように、チャネルアダプタ７は、ベースボリュームのＢＶＶＯＬ記憶領域に、ベースボリュームＢＶＶＯＬと対応するＥＣＣグループ内のページＰが未割当てであると判断すると（ＳＰ１：ＮＯ）、ベースボリュームＢＶＶＯＬの記憶領域とＥＣＣグループ内のページＰとを割当てる割当て決定処理を開始する（ＳＰ５０）。
【０１０３】
チャネルアダプタ７は、仮想ボリュームとプールボリュームの構成情報９１における「前回割当てＥＣＣグループインデックス番号」フィールド９１Ｃを参照して、当該ベースボリュームＢＶＶＯＬに対応する前回割当てＥＣＣグループインデックス番号が有効であるか否かを判断する（ＳＰ５１）。例えば、図１７に示すように、前回割当てインデックス番号を「０」とする。
【０１０４】
チャネルアダプタ７は、ベースボリュームＢＶＶＯＬに対応する前回割当てＥＣＣグループインデックス番号が割当てられており、有効であると判断すると（ＳＰ５１：ＹＥＳ）、ステップＳＰ５３に進む。
【０１０５】
一方、チャネルアダプタ７は、「前回割当てＥＣＣグループインデックス番号」フィールド９１Ｃ内に、前回割当てＥＣＣグループインデックス番号が入力されておらず「ＦＦＦＦ」であると判断したならば（ＳＰ５１：ＮＯ）、プールＩＤの配下にあるＥＣＣグループ数を前回割当てＥＣＣグループインデックス番号」フィールド９１Ｃに設定する（ＳＰ５２）。
【０１０６】
例えば、ベースボリュームＢＶＶＯＬの仮想ボリューム番号「１」、ミラーボリュームＭＶＶＯＬの仮想ボリューム番号「２」に対応するプールＩＤが「０」とすると、プールＩＤ「０」であるプールボリュームＰＬＶＯＬ０の配下にあるＥＣＣグループ数「３」を設定する。
【０１０７】
そしてチャネルアダプタ７は、今回割当てるＥＣＣグループインデックス番号に、前回割当てＥＣＣグループインデックス番号を代入する（ＳＰ５３）。
【０１０８】
例えば図１７に示すように、前回の割当てＥＣＣグループインデックス番号は「０」であり、プールボリュームＰＬＶＯＬ０の配下にあるＥＣＣグループ数は「３」なので、今回割当てるＥＣＣグループインデックス番号は「１」と「２」である。そして、前回割当てＥＣＣグループインデックス番号「０」を今回割当てるＥＣＣグループインデックス番号に代入する。このステップで、今回割当てるＥＣＣグループインデックス番号は「０」となる。
【０１０９】
そうしてチャネルアダプタ７は、今回割当てＥＣＣグループインデックス番号に１を加算する（ＳＰ５４）。
【０１１０】
例えば図１７に示すように、ステップＳＰ５３で決定した、今回割当てるＥＣＣグループインデックス番号「０」に１を加算する。ＥＣＣグループインデックス番号「１」が割当ての開始順序となる。
【０１１１】
次に、チャネルアダプタ７は、今回の割当てＥＣＣグループインデックス番号がＥＣＣグループ数と同じ、又はＥＣＣグループ数より大きな番号であるか否かを判断する（ＳＰ５５）。
【０１１２】
そして、チャネルアダプタ７は、今回の割当てＥＣＣグループインデックス番号がＥＣＣグループ数と同じ、又はＥＣＣグループ数より大きな番号であると判断すると（ＳＰ５５：ＹＥＳ）、ＥＣＣグループインデックス番号を割当ての先頭番号に設定する（ＳＰ５６）。
【０１１３】
ここで、ＥＣＣグループインデックス番号を割当ての先頭番号は、常に「０」で設定される。今回割当てられるＥＣＣグループは、前回の割当てＥＣＣグループインデックス番号を除く、プールＩＤの配下のＥＣＣグループ内でのインデックス番号に割当てられる。
【０１１４】
一方、チャネルアダプタ７は、今回の割当てＥＣＣグループインデックス番号がＥＣＣグループ数と同じではなく、又はＥＣＣグループ数より小さな番号であると判断すると（ＳＰ５５：ＮＯ）、ステップＳＰ５７に進む。
【０１１５】
そうして、チャネルアダプタ７は、先頭番号である今回の割当てＥＣＣグループインデックス番号に対応するＥＣＣグループのページ総数及びページ使用個数を参照し、割当て可能なページがあるか否かを判断する（ＳＰ５７）。
【０１１６】
チャネルアダプタ７は、割当て可能なページがないと判断した場合には（ＳＰ５７：ＮＯ）、ステップＳＰ５９に進む。
【０１１７】
一方、チャネルアダプタ７は、割当て可能なページがあると判断した場合には（ＳＰ５７：ＹＥＳ）、今回割当てるＥＣＣグループ番号が割当て付加のＥＣＣグループ番号かどうかを判断する（ＳＰ５８）。
【０１１８】
チャネルアダプタ７は、今回割当てるＥＣＣグループ番号が割当て付加のＥＣＣグループ番号であると判断すると（ＳＰ５８：ＹＥＳ）、次に、今回割当てるＥＣＣグループインデックス番号が前回割当てたＥＣＣグループインデックス番号か否かを判断する（ＳＰ５９）。
【０１１９】
そして、チャネルアダプタ７は、今回割当てるＥＣＣグループインデックス番号が前回割当てたＥＣＣグループインデックス番号であると判断すると（ＳＰ５９：ＹＥＳ）、すでに割当てられたＥＣＣグループのため、ページＰの割当て失敗として（ＳＰ６０）、この処理を終了する（ＳＰ６４）。
【０１２０】
一方、チャネルアダプタ７は、今回割当てるＥＣＣグループインデックス番号が前回割当てたＥＣＣグループインデックス番号ではないと判断すると（ＳＰ５９：ＮＯ）、ステップＳＰ５４に戻る。例えば、今回割当てるＥＣＣインデックス番号「１」は前回割当てたＥＣＣグループ「０」ではないので、ステップＳＰ５４に再び戻り、ＥＣＣグループインデックス番号「２」についての処理が行われるになる。
【０１２１】
ステップＳＰ５８において、チャネルアダプタ７は、今回割当てるＥＣＣグループ番号が割当て付加のＥＣＣグループ番号ではないと判断すると（ＳＰ５８：ＮＯ）、ページＰを割当てる（ＳＰ６１）。
【０１２２】
その後、チャネルアダプタ７は、今回割当てたＥＣＣグループインデックス番号を前回割当てＥＣＣグループインデックス番号として設定し（ＳＰ６２）、ページＰの割当て成功として（ＳＰ６３）、この処理を終了する（ＳＰ６４）。
【０１２３】
この処理が終了すると（ＳＰ６４）、チャネルアダプタ７は、割当て決定処理で判断した結果に基づいて、前述したステップＳＰ３２又はステップＳＰ３７の判断を行い、割当て処理を実行することとなる。
【０１２４】
（１−２−３−５）ディスクアダプタでの障害処理
それでは、ステップＳＰ２２において、ディスクアダプタ１１が、どのように障害の生じたハードディスク５０の所属するＥＣＣグループの障害処理を行うのかを具体的に説明する。この障害処理は、ディスクアダプタ１１が障害プログラム１１１に基づいて実行する。
【０１２５】
ディスクアダプタ１１は、ハードディスク５０に障害があると判断すると（ＳＰ２１：ＮＯ）、図１８に示す、障害処理を開始する（ＳＰ７０）。
【０１２６】
ディスクアダプタ１１は、障害が生じているページＰが所属するＥＣＣグループ番号を仮想ボリュームの構成情報９２から取得する（ＳＰ７１）。
【０１２７】
次に、ディスクアダプタ１１は、プール構成情報９４を参照して、先頭のプールＩＤを取得する（ＳＰ７２）。
【０１２８】
ディスクアダプタ１１は、先頭のプールＩＤのページ構成情報９４を参照して、障害が生じているハードディスク５０が所属するＥＣＣグループ番号が、当該ページ構成情報９４に登録されているか否かを判断する（ＳＰ７３）。
【０１２９】
そして、ディスクアダプタ１１は、障害が生じているハードディスク５０が所属するＥＣＣグループ番号が、当該ページ構成情報９４に登録されていると判断すると（ＳＰ７３：ＹＥＳ）、ページ構成情報９４の障害が生じたＥＣＣグループ番号の「ステータス」フィールドを「障害」に設定し（ＳＰ７４）、ステップＳＰ７５に進む。例えば、図１９は、プールＩＤ０のページ構成情報９４である。ＥＣＣグループ１に障害が生じた場合に、ＥＣＣグループ１の「ステータス」フィールド９４Ｆを「障害」に設定する。
【０１３０】
ディスクアダプタ１１は、障害が生じているハードディスク５０が所属するＥＣＣグループ番号が、当該ページ構成情報９４に登録されていないと判断すると（ＳＰ７３：ＮＯ）、プール構成情報９３内に列挙された全てのプールＩＤについて障害処理を行ったか否かを判断する（ＳＰ７５）。
【０１３１】
ディスクアダプタ１１は、プール構成情報９３内に列挙された全てのプールＩＤについて障害処理を行っていないと判断すると（ＳＰ７５：ＮＯ）、プール構成情報９３内に列挙された次のプールＩＤを取得して（ＳＰ７６）、ステップＳＰ７３に再び戻り次のプールＩＤから障害が生じたＥＣＣグループについて障害処理を行う。
【０１３２】
また、ディスクアダプタ１１は、プール構成情報９３内に列挙された全てのプールＩＤについて障害処理を行ったと判断すると（ＳＰ７５：ＹＥＳ）、この障害処理を終了する（ＳＰ７７）。
【０１３３】
ディスクアダプタ１１は、この処理を終了すると（ＳＰ７７）、図１２に示した障害回復処理（ＳＰ２３）を実行することとなる。
【０１３４】
（１−２−３−６）ディスクアダプタでの障害回復処理
引き続き、ステップＳＰ２３において、どのようにディスクアダプタ１１が障害の生じたハードディスク５０が所属するＥＣＣグループ内に割当てられた割当て領域を回復するのかという障害回復処理について具体的に説明する。この障害回復処理は、ディスクアダプタ１１が障害回復プログラム１１２に基づいて実行する。
【０１３５】
ディスクアダプタ１１は、上述した障害処理の実行により障害の生じたＥＣＣグループ番号が検出された場合に、図２０及び図２１に示す、障害回復処理を開始する（ＳＰ８０）。
【０１３６】
まず、ディスクアダプタ１１は、仮想ボリュームとプールボリュームとの構成情報９１を参照し、先頭の仮想ボリューム番号を取得する（ＳＰ８１）。例えば、障害の生じたＥＣＣグループがＥＣＣグループ１の場合には、ＥＣＣグループ１が対応付けられている仮想ボリューム番号は「１」及び「２」ということになる。したがってこの場合には、先頭の仮想ボリューム番号は「１」となる。
【０１３７】
次に、ディスクアダプタ１１は、仮想ボリュームとプールボリュームの構成情報９１を参照し、取得した先頭の仮想ボリューム番号に対応する「プールＩＤ」フィールド９１Ｂが、未割当て又は未使用の意を示す「ＦＦＦＦ」であるか否かを判断する（ＳＰ８２）。
【０１３８】
そしてディスクアダプタ１１は、取得した先頭の仮想ボリューム番号に対応する「プールＩＤ」フィールド９１Ｂが未割当て又は未使用の意を示す「ＦＦＦＦ」であると判断すると（ＳＰ８２：ＮＯ）、ステップＳＰ９１に進む。
【０１３９】
一方、ディスクアダプタ１１は、取得した先頭の仮想ボリューム番号に対応する「プールＩＤ」フィールド９１Ｂが未割当て又は未使用の意を示す「ＦＦＦＦ」ではないと判断すると（ＳＰ８２：ＹＥＳ）、先頭の仮想ボリューム番号の仮想ボリューム構成情報９２を参照し、仮想ボリュームのページ番号を参照する（ＳＰ８３）。例えば、ディスクアダプタ１１が仮想ボリューム１の仮想ボリューム構成情報９２を参照した場合には、仮想ボリュームのページ番号は、「０」、「１」、「２」となる。
【０１４０】
先頭の仮想ボリューム番号の仮想ボリューム構成情報９２に基づき、ディスクアダプタ１１は、参照した仮想ボリュームのページ番号に対応するＥＣＣグループ番号が故障を生じたＥＣＣグループ番号であるか否かを判断する（ＳＰ８４）。
【０１４１】
ディスクアダプタ１１は、参照した仮想ボリュームのページ番号に対応するＥＣＣグループ番号が故障を生じたＥＣＣグループ番号ではないと判断すると（ＳＰ８４：ＮＯ）、ステップＳＰ８９に進む。
【０１４２】
一方、ディスクアダプタ１１は、参照した仮想ボリュームのページ番号に対応するＥＣＣグループ番号が故障を生じたＥＣＣグループ番号であると判断すると（ＳＰ８４：ＹＥＳ）、障害回復メイン処理を行う（ＳＰ８５）。なお、この障害回復メイン処理については、後述で説明をする。
【０１４３】
そうして次に、ディスクアダプタ１１は、障害回復メイン処理の処理結果に基づき割当て領域の回復に成功したか否かを判断し（ＳＰ８６）、障害が生じたＥＣＣグループ内の割当て領域の回復ができていないと判断すると（ＳＰ８６：ＮＯ）、回復できるだけの割当て可能な領域がない旨の通知をユーザに行い（ＳＰ８７）、この処理を異常終了する（ＳＰ８８）。
【０１４４】
ディスクアダプタ１１は、障害回復メイン処理の処理結果により割当て領域が回復したと判断すると（ＳＰ８６：ＹＥＳ）、最後の仮想ボリュームのページ番号まで参照したか否かを判断する（ＳＰ８９）。
【０１４５】
ディスクアダプタ１１は、最後の仮想ボリュームのページ番号まで参照していないと判断した場合には（ＳＰ８９：ＮＯ）、次の仮想ボリュームのページ番号を参照し（ＳＰ９０）、次の仮想ボリュームのページ番号に対応するＥＣＣグループ番号について、ステップＳＰ８４に再び戻って、処理を実行する。
【０１４６】
また、ディスクアダプタ１１は、最後の仮想ボリュームのページ番号まで参照したと判断した場合には（ＳＰ８９：ＹＥＳ）、仮想ボリュームの構成情報９２に列挙された最後の仮想ボリューム番号まで参照したか否かを判断する（ＳＰ９１）。
【０１４７】
ディスクアダプタ１１は、最後の仮想ボリューム番号まで参照していないと判断した場合には（ＳＰ９１：ＮＯ）、次の仮想ボリューム番号を参照し（ＳＰ９２）、ステップＳＰ８２に再び戻る。
【０１４８】
ディスクアダプタ１１が最後の仮想ボリューム番号まで参照したと判断した場合には（ＳＰ９１：ＹＥＳ）、障害回復処理を終了する（ＳＰ９３）。
【０１４９】
その後ディスクアダプタ１１は、この処理を終了すると（ＳＰ９３）、図１２に示したＳＰ２４を実行することとなる。
【０１５０】
（１−２−３−７）ディスクアダプタでの障害回復メイン処理
さらに、ステップＳＰ８５において、どのようにディスクアダプタ１１が障害が生じたＥＣＣグループの割当て領域内のデータの回復処理を行うのかについて、具体的に説明する。この障害回復メイン処理は、ディスクアダプタ１１が障害回復メインプログラム１１３に基づいて実行する。
【０１５１】
まずディスクアダプタ１１は、参照した仮想ボリュームのページ番号に対応するＥＣＣグループ番号が故障を生じたＥＣＣグループ番号であると判断すると（ＳＰ８４：ＹＥＳ）、図２２に示す、障害回復メイン処理を開始する（ＳＰ１００）。
【０１５２】
そして、ディスクアダプタ１１は、故障が生じたＥＣＣグループ番号を割当て不可ＥＣＣグループ番号に設定する（ＳＰ１０１）。このとき、障害が生じたＥＣＣグループ番号と対応付けられる対の記憶領域にも、割当て不可ＥＣＣグループ番号として設定する。その後ディスクアダプタ１１は、割当て不可ＥＣＣグループと対応付けられるベースボリュームＢＶＶＯＬ及びミラーボリュームＭＶＶＯＬについてページ割当て決定処理を行うようチャネルアダプタ７に指示を行う（ＳＰ１０２）。
【０１５３】
この指示に従い、チャネルアダプタ７は、ステップＳＰ３０〜ステップＳＰ４０及びステップＳＰ５０〜ステップＳＰ６４までの処理を実行する。
【０１５４】
そうしてディスクアダプタ１１は、チャネルアダプタ７からページ割当て決定処理の報告を受領すると（ＳＰ１０３）、障害が生じたＥＣＣグループを除くＥＣＣグループからページの割当てができたかどうかを判断し（ＳＰ１０４）、ページ割当てに失敗したと判断した場合には（ＳＰ１０４：ＮＯ）、この処理を異常終了する（ＳＰ１０５）。
【０１５５】
一方、ディスクアダプタ１１は、障害が生じたＥＣＣグループを除くＥＣＣグループからページの割当てができたと判断した場合には（ＳＰ１０４：ＹＥＳ）、障害が生じたページと対のページから、当該割当てに成功したページＰにデータをコピーする（ＳＰ１０６）。
【０１５６】
例えば、図２３に示すように、障害が生じたＥＣＣグループがＥＤＤグループ１である場合について説明する。
【０１５７】
ホストボリュームＨＶＶＯＬを構成するベースボリュームＢＶＶＯＬ内の記憶領域は、ＥＣＣグループ１のページＰ０と対応付けられている。同様に、ホストボリュームＨＶＶＯＬを構成するミラーボリュームＭＶＶＯＬ内の記憶領域は、ＥＣＣグループ１のページＰ１と対応付けられている。
【０１５８】
障害が生じたＥＣＣグループ１と対応付けられるベースボリュームＢＶＶＯＬ又はミラーボリュームＭＶＶＯＬの記憶領域は使用することはできない。
【０１５９】
そこで、割当て決定処理によりベースボリュームＢＶＶＯＬ内の記憶領域内にＥＣＣグループ２のページＰ２を割当てて、ＥＣＣグループ１のページＰ０の対応付けからＥＣＣグループ２のページＰ２の対応付けに変更する。同様に、ミラーボリュームＭＶＶＯＬ内の記憶領域内にＥＣＣグループ３のページＰ２を割当てて、ＥＣＣグループ１のページＰ１の対応付けからＥＣＣグループ３のページＰ２の対応付けに変更する。
【０１６０】
そして、ＥＣＣグループ１のページＰ０と対の関係にあって、同一のデータを格納するＥＣＣグループ３のページＰ０から、新しく割当てたＥＣＣグループ２のページＰ２にデータをコピーする。新しく割当てたＥＣＣグループ３のページＰ２についても同様に、ＥＣＣグループ２のページＰ１に格納されるデータをＥＣＣグループ３のページＰ２にコピーする。このコピー処理は、ECCグループ間で行われる。
【０１６１】
コピーが終了すると、ディスクアダプタ１１は、仮想ボリュームの構成情報９２を変更し（ＳＰ１０７）、障害回復メイン処理を終了する（ＳＰ１０８）。
【０１６２】
その後ディスクアダプタ１１は、この処理を終了すると（ＳＰ１０８）、図２１に示した、ＳＰ８６を実行することとなる。
【０１６３】
以上に説明したそれぞれの処理を行うことにより、チャネルアダプタ７及びディスクアダプタ１１がホスト装置２からのライト要求に基づいて、対となるボリュームに異なるＥＣＣグループ内のページを割り当て、それぞれのページに同一データを保存することができるため、１つのＥＣＣグループに障害が生じても他のＥＣＣグループ内に割当て領域を確保してデータを回復することができる。
【０１６４】
（１−２−３−８）チャネルアダプタでのリード処理
それでは、ホスト装置２からのリード要求に基づく、チャネルアダプタ７内でのリード処理について説明する。このリード処理は、チャネルアダプタ７がチャネルアダプタ用リードプログラム７３に基づいて実行する。
【０１６５】
具体的には、図２４に示すように、チャネルアダプタ７は、ホスト装置２からのリード要求を受領するとチャネルアダプタ７側でのリード処理を開始する（ＳＰ１１０）。
【０１６６】
次にチャネルアダプタ７は、キャッシュメモリ１０内にホスト装置２から要求されたデータがあるかどうかを判断する（ＳＰ１１１）。
【０１６７】
そして、チャネルアダプタ７は、キャッシュメモリ１０内にホスト装置２から要求されたデータがないと判断した場合には（ＳＰ１１１：ＮＯ）、ＥＣＣグループ内のページＰに保存される当該要求されたデータを読み出すためにリード振分け処理を行う（ＳＰ１１２）。なお、このリード振分け処理については、後述で説明する。
【０１６８】
リード振分け処理の結果に基づいて、チャネルアダプタ７は、読出したＥＣＣグループ番号が無効なＥＣＣグループ番号か否かを判断し（ＳＰ１１３）、無効なＥＣＣグループ番号であると判断した場合には（ＳＰ１１３：ＹＥＳ）、ホスト装置２にリード処理を異常終了した旨の報告をして（ＳＰ１１４）、リード処理を終了する（ＳＰ１１８）。
【０１６９】
一方、リード振分け処理の結果に基づいて、チャネルアダプタ７は、読出したＥＣＣグループ番号が有効なＥＣＣグループ番号ではないと判断した場合には（ＳＰ１１３：ＮＯ）、ディスクアダプタ１１にリード処理の要求を行う（ＳＰ１１５）。
【０１７０】
その後、チャネルアダプタ７は、ディスクアダプタ１１からディスクアダプタ１１側で実行されたリード処理終了の報告を受領すると（ＳＰ１１６）、要求されたデータをホスト装置２に送信し（ＳＰ１１７）、リード処理を終了する（ＳＰ１１８）。
【０１７１】
なお、ステップＳＰ１１１において、チャネルアダプタ７は、キャッシュメモリ１０内にホスト装置２から要求されたデータがあると判断した場合には（ＳＰ１１１：ＹＥＳ）、キャッシュメモリ１０から要求されたデータをホスト装置２に送信し（ＳＰ１１７）、リード処理を終了する（ＳＰ１１８）。
【０１７２】
（１−２−３−９）ディスクアダプタでのリード処理
それでは、ホスト装置２からのリード要求に基づく、ディスクアダプタ１１内でのリード処理について説明する。このリード処理は、ディスクアダプタ１１がディスクアダプタ用リードプログラム１１４に基づいて実行する。
【０１７３】
図２５に示すように、ディスクアダプタ１１は、チャネルアダプタ７からのリード処理の要求を受領すると、ディスクアダプタ１１側でのリード処理を開始する（ＳＰ１２０）。
【０１７４】
そして、ディスクアダプタは、ハードディスク５０に障害があるかどうかを判断し（ＳＰ１２１）、障害がある場合には（ＳＰ１２１：ＹＥＳ）、ステップＳＰ１２２及びＳＰ１２３の処理をステップＳＰ２２及びＳＰ２３の処理手順と同様に行い、障害を回復した後、ステップＳＰ１２４に進む。
【０１７５】
一方、ディスクアダプタ１１は、ハードディスク５０に障害がないと判断した場合には（ＳＰ１２１：ＮＯ）、ホスト装置２が要求するデータが格納されたハードディスク５０が所属するＥＣＣグループにアクセスし（ＳＰ１２４）、ホスト装置２が要求するデータを読み出すと、チャネルアダプタ７にリード処理の終了を報告し（ＳＰ１２５）、この処理を終了する（ＳＰ１２６）。
【０１７６】
（１−２−３−１０）チャネルアダプタでのリード振分け処理
それでは、ステップＳＰ１１２において、ホスト装置２からのリード要求に基づいて、どのようにチャネルアダプタ７内でのリード振分け処理を行うのかについて、具体的に説明する。このリード振分け処理は、チャネルアダプタ７がリード振分けプログラム７４に基づいて実行する。
【０１７７】
具体的には、チャネルアダプタ７は、キャッシュメモリ１０内にホスト装置２から要求されたデータがないと判断した場合には（ＳＰ１１１：ＮＯ）、図２６及び図２７に示すように、ＥＣＣグループ内のページＰに保存される当該要求されたデータを読み出すためにリード振分け処理を開始する（ＳＰ１３０）。
【０１７８】
次に、チャネルアダプタ７は、ホスト装置２がリード要求によって指定したアドレスをページ番号に変換し（ＳＰ１３１）、変換したページ番号が偶数か否かを判断する（ＳＰ１３２）。
【０１７９】
そしてページ番号が偶数の場合には（ＳＰ１３２：ＹＥＳ）、チャネルアダプタ７は、仮想ボリュームとプールボリュームとの構成情報９１を参照して、ベースボリュームＢＶＶＯＬと対応付けられるプールＩＤを取得する（ＳＰ１３３）。
【０１８０】
ベースボリュームＢＶＶＯＬと対応付けられるプールＩＤを取得したチャネルアダプタ７は、プールＩＤ番号のもつページ構成情報９４を参照し、「ステータス」フィールド９４Ｆが正常であるかどうかを確認する（ＳＰ１３４）。
【０１８１】
正常であることを確認した場合には（ＳＰ１３４：ＹＥＳ）、チャネルアダプタ７は、ベースボリュームＢＶＶＯＬと対応付けられるＥＣＣグループ番号及びページ番号を出力して（ＳＰ１３５）、リード振分け処理を終了する（ＳＰ１４５）。
【０１８２】
障害であることを確認した場合には（ＳＰ１３４：ＮＯ）、チャネルアダプタ７は、仮想ボリュームとプールボリュームの構成情報９１を参照して、ミラーボリュームＭＶＶＯＬと対応付けられるプールＩＤを取得する（ＳＰ１３６）。
【０１８３】
ミラーボリュームＭＶＶＯＬと対応付けられるプールＩＤを取得したチャネルアダプタ７は、プールＩＤ番号のもつページ構成情報９４を参照し、「ステータス」フィールド９４Ｆが正常であるかどうかを確認する（ＳＰ１３７）。
【０１８４】
正常であることを確認した場合には（ＳＰ１３７：ＹＥＳ）、チャネルアダプタ７は、ミラーボリュームＭＶＶＯＬと対応付けられるＥＣＣグループ番号及びページ番号を出力して（ＳＰ１３８）、リード振分け処理を終了する（ＳＰ１４５）。
【０１８５】
一方、障害であることを確認した場合には（ＳＰ１３７：ＮＯ）、チャネルアダプタ７は、無効なＥＣＣグループ番号を出力し（ＳＰ１３９）、リード振分け処理を異常終了する（ＳＰ１４０）。
【０１８６】
ステップＳＰ１３２において、ページ番号が奇数の場合には（ＳＰ１３２：ＮＯ）、チャネルアダプタ７は、仮想ボリュームとプールボリュームの構成情報９１を参照して、ミラーボリュームＭＶＶＯＬと対応付けられるプールＩＤを取得する（ＳＰ１４１）。
【０１８７】
ミラーボリュームＭＶＶＯＬと対応付けられるプールＩＤを取得したチャネルアダプタ７は、プールＩＤ番号のもつページ構成情報９４を参照し、「ステータス」フィールド９４Ｆが正常であるかどうかを確認する（ＳＰ１４２）。
【０１８８】
正常であることを確認した場合には（ＳＰ１４２：ＹＥＳ）、チャネルアダプタ７は、ミラーボリュームＭＶＶＯＬと対応付けられるＥＣＣグループ番号及びページ番号を出力して（ＳＰ１３８）、リード振分け処理を終了する（ＳＰ１４５）。
【０１８９】
一方、障害であることを確認した場合には（ＳＰ１４２：ＮＯ）、チャネルアダプタ７は、仮想ボリュームとプールボリュームの構成情報９１を参照して、ベースボリュームＢＶＶＯＬと対応付けられるプールＩＤを取得する（ＳＰ１４３）。
【０１９０】
ベースボリュームＢＶＶＯＬと対応付けられるプールＩＤを取得したチャネルアダプタ７は、プールＩＤ番号のもつページ構成情報９４を参照し、「ステータス」フィールド９４Ｆが正常であるかどうかを確認する（ＳＰ１４４）。
【０１９１】
正常であることを確認した場合には（ＳＰ１４４：ＹＥＳ）、チャネルアダプタ７は、ベースボリュームＢＶＶＯＬと対応付けられるＥＣＣグループ番号及びページ番号を出力して（ＳＰ１３５）、リード振分け処理を終了する（ＳＰ１４５）。
【０１９２】
一方、障害であることを確認した場合には（ＳＰ１４４：ＮＯ）、チャネルアダプタ７は、無効なＥＣＣグループ番号を出力し（ＳＰ１３９）、リード振分け処理を異常終了する（ＳＰ１４０）。
【０１９３】
図２８に示すように、リード振分け処理が正常に実行された場合の概念図を示す。ホスト装置２からリード要求がホストボリュームＨＶＶＯＬにアクセスされると、リード振分け処理により、１番目のリード要求は、ベースボリュームＢＶＶＯＬの記憶領域にアクセスされ、２番目のリード要求は、ミラーボリュームＭＶＶＯＬの記憶領域にアクセスされ、３番目のリード要求は、ベースボリュームＢＶＶＯＬの記憶領域にアクセスされる。このように、ベースボリュームＢＶＶＯＬ又はミラーボリュームＭＶＶＯＬの記憶領域を交互に使用して、連続したリード要求に基づいて要求されるデータの読出しを行うことができる。
【０１９４】
ホスト装置２からのリード要求に基づいて、ホスト装置が２指定したアドレスを変換したページ番号によって、要求されたデータを格納するＥＣＣグループと対応付けられたベースボリューム及びミラーボリュームを使用する記憶領域を振分けることができる。
【０１９５】
以上、本実施の形態の記憶システム１におけるライト処理及びリード処理の一連の流れを説明した。
【０１９６】
（１−２−３−１１）ＥＣＣグループを追加した場合の割当て処理
それでは、次に、本実施の形態の記憶システム１において、ＥＣＣグループを追加した場合に、あるＥＣＣグループ内に格納されるデータを、追加したＥＣＣグループ内に割当てる割当て処理の変形例について説明する。
【０１９７】
この障害回復処理は、ディスクアダプタ１１が追加割当てプログラム１１５に基づいて実行する。
【０１９８】
ディスクアダプタ１１は、ステップＳＰ２３において、障害処理の実行により障害の生じたＥＣＣグループ番号が検出された場合に、図２９及び図３０に示す、障害回復処理を開始する（ＳＰ１５０）。
【０１９９】
次に、ディスクアダプタ１１は、ホストボリュームの構成情報９０を参照し、先頭のミラーボリュームＭＶＶＯＬの仮想ボリューム番号を取得する（ＳＰ１５１）。例えば、図３１のホストボリューム構成情報９０及び仮想ボリュームとプールボリュームとの構成情報９１に示すように、先頭のミラーボリュームＭＶＶＯＬの仮想ボリューム番号は、「２」である。
【０２００】
ディスクアダプタ１１は、取得した仮想ボリューム番号から当該仮想ボリューム番号の仮想ボリュームの構成情報９２を参照し、「ページ番号」フィード９２Ａの先頭のページ番号を取得する（ＳＰ１５２）。
【０２０１】
そしてディスクアダプタ１１は、取得したページ番号に対応するＥＣＣグループ番号が未割り当て又は未使用の意を示す「ＦＦＦＦ」であるか否かを判断する（ＳＰ１５３）。
【０２０２】
ディスクアダプタ１１は、取得したページ番号に対応するＥＣＣグループ番号が未割り当て又は未使用の意を示す「ＦＦＦＦ」であると判断すると（ＳＰ１５３：ＮＯ）、ステップＳＰ１５９に進み、次のページ番号について処理を実行する。
【０２０３】
一方、ディスクアダプタ１１は、取得したページ番号に対応するＥＣＣグループ番号が未割り当て又は未使用の意を示す「ＦＦＦＦ」ではないと判断すると（ＳＰ１５３：ＹＥＳ）、取得したページ番号とミラー構成になっているページ番号が所属するＥＣＣグループ番号が「ＦＦＦＦ」であるか否かを判断する（ＳＰ１５４）。例えば、図３１に示すように、仮想ボリューム番号「２」の仮想ボリューム構成情報９２を参照すると、「ＦＦＦＦ」であるページ番号は「２」である。そして、仮想ボリュームのページ番号「１」と対になっているのは、ホストボリュームの構成情報９０及び仮想ボリュームの構成情報９２を参照して、仮想ボリューム番号「１」のページ番号「１」であることがわかる。この仮想ボリューム１のページ番号１は、ＥＣＣグループ１のページＰ１４９と対応付けられていることがわかる。
【０２０４】
ディスクアダプタ１１は、取得したページ番号とミラー構成になっているページ番号が所属するＥＣＣグループ番号が「ＦＦＦＦ」であると判断すると（ＳＰ１５４：ＹＥＳ）、ステップＳＰ１５９に進み、次のページ番号について処理を実行する。
【０２０５】
ディスクアダプタ１１は、取得したページ番号とミラー構成になっているページ番号が所属するＥＣＣグループ番号が「ＦＦＦＦ」ではないと判断すると（ＳＰ１５４：ＮＯ）、障害回復メイン処理を実行する（ＳＰ１５５）。そうしてディスクアダプタ１１は、取得したページ番号とミラー構成になっているページ番号が所属するＥＣＣグループ番号について、ステップＳＰ１００〜ＳＰ１０８までの処理手順で追加したＥＣＣグループにデータのコピーを行う。例えば、図３２に示すように、ベースボリュームの記憶領域に対応付けられたＥＣＣグループ１のページＰ１４９に格納されるデータを、ＥＧＧグループ４のページＰ０にコピーする。そして、図３１に示すように、仮想ボリューム番号「２」の仮想ボリュームの構成情報９２の「ページ」番号１に該当する「ＥＣＣグループ数」フィールド９２Ｂ内を「４」及び「ＥＣＣグループ内のページ番号」９２Ｃフィールドを「０」に更新する。また、プールボリュームの構成情報９３の「ＥＣＣ数」９３Ｂフィールドを「３」から「４」に更新する。さらに、ページ構成情報９４の「プール内ＥＣＣグループインデックス番号」９４Ａフィールドに「３」を追加する。
【０２０６】
そして、この障害回復メイン処理に基づいて、ディスクアダプタ１１は、ＥＣＣグループ内に格納されるデータの回復に成功したか否かを判断する（ＳＰ１５６）。ディスクアダプタ１１は、回復に失敗であると判断した場合には（ＳＰ１５６：ＮＯ）、ユーザにこの旨を通知し（ＳＰ１５７）、この障害回復処理を異常終了する（ＳＰ１５８）。
【０２０７】
一方、ディスクアダプタ１１は、データの回復に成功したと判断した場合には（ＳＰ１５６：ＹＥＳ）、ミラーボリュームＭＶＶＯＬの仮想ボリューム番号に該当する仮想ボリュームの構成情報９２にある最後のページ番号まで参照したか否かを判断する（ＳＰ１５９）。
【０２０８】
ディスクアダプタ１１は、最後のページ番号まで参照していないと判断すると（ＳＰ１５９：ＮＯ）、次の仮想ボリュームのページ番号を参照し（ＳＰ１６０）、再びステップ１５３の処理手順を行うこととなる。
【０２０９】
ディスクアダプタ１１は、最後のページ番号まで参照していると判断すると（ＳＰ１５９：ＹＥＳ）、この障害回復処理を終了する（ＳＰ１６１）。
【０２１０】
以上のように、ＥＣＣグループを追加した場合にも、異なるＥＣＣグループ内のページに同一データを保存することができる。
【０２１１】
（１−３）第１の実施の形態の効果
以上のように、ＡＯＵ機能を利用することで、ホスト装置からのライト要求に基づいてＥＣＣグループ内の記憶領域を割当てることができる。このため、ミラー構成からなるベースボリューム及びミラーボリュームには、異なるＥＣＣグループに同一データを保存できるため、データを保存するハードディスクの信頼性及び耐障害性を向上することができる。
【０２１２】
（２）第２の実施の形態
次に、第２の実施の形態による記憶システムについて、以下に説明する。第２の実施の形態では、第１の実施の形態と同じ構成には同一の符号を付す。第２の実施の形態の説明では、第１の実施の形態と異なる構成についてのみ説明をする。
【０２１３】
（２−１）記憶システムの物理構成及び論理構成
第２の実施の形態における記憶システム２００の共有メモリ９００、図３３に示すように、仮想ボリュームとプールボリュームとの構成情報９１、仮想ボリュームの構成情報９２、プールボリュームの構成情報９３及びページの構成情報９４を備えて構成される。
【０２１４】
第２の実施の形態における記憶システム２００の論理構成は、図３４に示すように、１つのプール領域はＰＬ３つのＥＣＣグループから構成されているが、プール領域ＰＬを構成するＥＣＣグループは、１つでも複数でもよい。
【０２１５】
そして複数のプールボリュームＰＬＶＯＬがプール領域ＰＬを形成している。プールボリュームＰＬＶＯＬは、ハードディスク５０の記憶領域を動的に割当てて仮想ボリュームＶＶＯＬを提供する。そうして仮想ボリュームの記憶領域には、ＥＣＣグループ内に割当てられるページＰと呼ばれる最小の記憶領域が対応付けられている。
【０２１６】
（２−２）記憶システムの分散格納機能及びＡＯＵ機能
次に、記憶システム１内のストレージ装置４に搭載された分散格納機能及びＡＯＵ機能について説明する。本実施の形態による記憶システム２００は、ホスト装置２からのライト要求に基づいて、ホスト装置２からの連続したデータを、データを前回格納したＥＣＣグループのページ以外の記憶領域に格納するように格納場所を分散できることを特徴としている。例えば、連続したデータ１からデータ３がある場合には、データ１はＥＣＣグループ１のページＰ０に格納されると、データ２はＥＣＣグループ１のページＰ０以外に格納され、データ３はデータ１及びデータ２を格納したＥＣＣグループのページＰ以外に格納される機能をいう。
【０２１７】
また本実施の形態におけるＡＯＵ機能とは、ホスト装置２が認識する仮想ボリュームＶＶＯＬは、プール領域ＰＬ（プールボリュームＰＬＶＯＬ）から動的に割当てられる機能である。
【０２１８】
（２−２−１）チャネルアダプタでのライト処理
それでは、ホスト装置２からのライト要求に基づく、チャネルアダプタ７内でのライト処理について説明する。このライト処理は、チャネルアダプタ７がチャネルアダプタ用ライトプログラム７０に基づいて実行する。
【０２１９】
具体的には図３５に示すように、ホスト装置２からのライト要求をチャネルアダプタ７が受け取ることでこの処理を開始する（ＳＰ１７０）。
【０２２０】
次に、チャネルアダプタ７は、ホスト装置２からのライト要求に基づくデータの格納場所がすでにＥＣＣグループ内の記憶領域をページ単位で割当てて対応付けられた仮想ボリュームＶＶＯＬであるか否かを判断する（ＳＰ１７１）。具体的には、チャネルアダプタ７は、共有メモリ９内にある仮想ボリュームの構成情報９２を参照して、仮想ボリュームＶＶＯＬのボリューム番号に対応付けられるＥＣＣグループ内のページ番号が割当てられているか判断する。
【０２２１】
そして、チャネルアダプタ７は、仮想ボリュームＶＶＯＬのボリューム番号に対応付けられるＥＣＣグループ内の記憶領域がまだ未割当てであると判断すると（ＳＰ１７１：ＮＯ）、割当て処理を開始する（ＳＰ１７２）。なお、チャネルアダプタ７が実行するこの割当て処理の詳細は、後述で説明をする。
【０２２２】
割当て処理を終了すると、チャネルアダプタ７は、仮想ボリュームＶＶＯＬのボリューム番号に対応付けられるＥＣＣグループ内の記憶領域をページ単位で割当てられたか否かを判断する（ＳＰ１７３）。
【０２２３】
チャネルアダプタ７は、ＥＣＣグループ内の記憶領域をページ単位での割当てに失敗したと判断すると（ＳＰ１７３：ＮＯ）、ライト処理が異常終了としたとして（ＳＰ１７４）、ホスト装置２に報告し、当該処理を終了するが（ＳＰ１７５）、ページ単位での割当てに成功したと判断すると（ＳＰ１７３：ＹＥＳ）、ステップＳＰ１７５の処理を行う。
【０２２４】
一方、ステップＳＰ１７１において、そして、チャネルアダプタ７は、ＥＣＣグループ内の記憶領域がすでに割当て済みであると判断すると（ＳＰ１７１：ＹＥＳ）、キャッシュメモリ１０にホスト装置２からのデータを一時的にライトする（ＳＰ１７５）。
【０２２５】
そして、チャネルアダプタ７は、キャッシュメモリ１０内にある仮想ボリュームＶＶＯＬのデータを、仮想ボリュームＶＶＯＬと対応付けられるＥＣＣグループ内のページ番号にデステージするようにディスクアダプタ１１にデステージ要求を行う（ＳＰ１７６）。
【０２２６】
そうしてチャネルアダプタ７は、ライト処理が正常に終了したとしてホスト装置２に報告し（ＳＰ１７７）、当該処理を終了する（ＳＰ１７８）。
【０２２７】
（２−２−２）ディスクアダプタでのライト処理
それでは、ホスト装置２からのライト要求に基づく、ディスクアダプタ１１内でのライト処理について説明する。このライト処理は、ディスクアダプタ１１がディスクアダプタ用ライトプログラム１１０に基づいて実行する。
【０２２８】
具体的には図３６に示すように、チャネルアダプタ７からのデステージ要求をディスクアダプタ１１が受け取ることで、この処理を開始する（ＳＰ１８０）。
【０２２９】
そしてディスクアダプタ１１は、ＥＣＣグループ内に割当てられたページＰにホスト装置２からのデータをライトして（ＳＰ１８１）、この処理を終了する（ＳＰ１８２）。
【０２３０】
（２−２−３）チャネルアダプタでの割当て処理
それでは、ステップＳＰ１７２において、チャネルアダプタ７がどのように割当て決定処理を行うのかを具体的に説明する。この割当て決定処理は、チャネルアダプタ７が割当て決定プログラム７２に基づいて実行する。
【０２３１】
図３７及び図３８に示すように、チャネルアダプタ７は、仮想ボリュームのＶＶＯＬ記憶領域に、仮想ボリュームＶＶＯＬと対応するＥＣＣグループ内のページＰが未割当てであると判断すると（ＳＰ１：ＮＯ）、仮想ボリュームＶＶＯＬの記憶領域とＥＣＣグループ内のページＰとを割当てる割当て決定処理を開始する（ＳＰ１９０）。
【０２３２】
チャネルアダプタ７は、仮想ボリュームＶＶＯＬについて、ステップＳＰ１９１〜ＳＰ１９７までの処理をＳＰ５０〜ＳＰ５７の処理手順と同様に行う。
【０２３３】
そうして、チャネルアダプタ７は、先頭番号である今回の割当てＥＣＣグループインデックス番号に対応するＥＣＣグループのページ総数及びページ使用個数を参照し、割当て可能なページがあると判断した場合には（ＳＰ１９７：ＹＥＳ）、ページＰを割当てる（ＳＰ１９９）。
【０２３４】
ページＰを割当てた後、チャネルアダプタ７は、今回割当てたＥＣＣグループインデックス番号を前回割当てＥＣＣグループインデックス番号として設定し（ＳＰ２００）、ページＰの割当て成功として（ＳＰ２０１）、この処理を終了する（ＳＰ２０３）。
【０２３５】
一方、ステップＳＰ１９７において、チャネルアダプタ７は、割当て可能なページがないと判断した場合には（ＳＰ１９７：ＮＯ）、今回割当てるＥＣＣグループインデックス番号が前回割当てたＥＣＣグループインデックス番号か否かを判断する（ＳＰ１９８）。
【０２３６】
そして、チャネルアダプタ７は、今回割当てるＥＣＣグループインデックス番号が前回割当てたＥＣＣグループインデックス番号であると判断すると（ＳＰ１９８：ＹＥＳ）、すでに割当てられたＥＣＣグループのため、ページＰの割当て失敗として（ＳＰ２０２）、この処理を終了する（ＳＰ２０３）。
【０２３７】
一方、チャネルアダプタ７は、今回割当てるＥＣＣグループインデックス番号が前回割当てたＥＣＣグループインデックス番号ではないと判断すると（ＳＰ１９８：ＮＯ）、ステップＳＰ１９４に戻り、次のＥＣＣグループインデックス番号について引き続き処理を行う。
【０２３８】
（２−３）第２の実施の形態の効果
以上のように、ＡＯＵ機能を利用することで、ホスト装置からのライト要求に基づいてＥＣＣグループ内の記憶領域を割当てることができる。このため、仮想ボリュームの記憶領域には、連続したデータを、前回格納したＥＣＣグループのページ以外のＥＣＣグループのページと対応付けて分散格納することができるため、データを保存するハードディスクのスループット性能を向上することができる。
【０２３９】
（３）第３の実施の形態
次に、第３の実施の形態による記憶システムについて、以下に説明する。第３の実施の形態では、第１の実施の形態と同じ構成には同一の符号を付す。第３の実施の形態の説明では、第１の実施の形態と異なる構成についてのみ説明をする。
【０２４０】
（３−１）記憶システムの物理構成及び論理構成
第３の実施の形態における記憶システム３００の第1のストレージ装置４´は、図３９に示すように、第１の実施の形態における記憶システム１のストレージ装置４のチャネルアダプタ７の構成が異なる。そして、記憶システム３００は、第１のストレージ装置４´に加え、第２のストレージ装置４０がネットワーク３を介してさらに接続された構成である。
【０２４１】
そして、図４０に示すように、チャネルアダプタ７００内には、第１の実施の形態で説明した各種プログラム７０〜７４に加えて、更にハードディスク５０のデータを他のハードディスクにコピーするためのコピープログラム７５を備えて構成される。
【０２４２】
加えて、図４１に示すように、本実施の形態における記憶システム３００の論理構成は、弟１の実施の形態に図４の論理構成に、さらに第２のストレージ装置４０にある複数のハードディスクの記憶領域上に形成される論理ボリュームＬＤＥＶ２からＬＤＥＶｍのうち、論理ボリュームＬＤＥＶ２を示している。
【０２４３】
（３−２）チャネルアダプタでのコピー処理
それでは、ホスト装置からのリード要求に基づいて、第1のストレージ装置４´のＥＣＣグループ内に保存されるデータを読み出すと同時に、第1のストレージ装置４´のＥＣＣグループ内に保存されるデータを第２のストレージ装置４０の論理ボリュームＬＤＥＶ２にバックアップするコピー処理について、具体的に説明する。このコピー処理は、チャネルアダプタ７がコピープログラム７５に基づいて実行する。
【０２４４】
具体的には、図４２及び図４３に示すように、チャネルアダプタ７００は、ホスト装置２からのリード要求された場合に、コピー処理を開始する（ＳＰ２１０）。
【０２４５】
次に、チャネルアダプタ７００は、ホスト装置２がリード要求によって指定したコピー元のアドレスをページ番号に変換し（ＳＰ２１１）、変換したページ番号が奇数か否かを判断する（ＳＰ２１２）。
【０２４６】
そしてページ番号が奇数の場合には（ＳＰ２１２：ＹＥＳ）、チャネルアダプタ７００は、仮想ボリュームとプールボリュームとの構成情報９１を参照して、ベースボリュームＢＶＶＯＬと対応付けられるプールＩＤを取得する（ＳＰ２１３）。
【０２４７】
ベースボリュームＢＶＶＯＬと対応付けられるプールＩＤを取得したチャネルアダプタ７００は、プールＩＤ番号のもつページ構成情報９４を参照し、「ステータス」フィールド９４Ｆが正常であるかどうかを確認する（ＳＰ２１４）。
【０２４８】
正常であることを確認した場合には（ＳＰ２１４：ＹＥＳ）、チャネルアダプタ７００は、ベースボリュームＢＶＶＯＬから第２のストレージ装置４０内の論理ボリュームＬＤＥＶ２にコピーを実施する（ＳＰ２１５）。
【０２４９】
そしてチャネルアダプタ７００は、最後のページ番号までコピーを実施したか否かを判断し（ＳＰ２１６）、最後のページ番号までコピーを実施していないと判断した場合には（ＳＰ２１６：ＮＯ）、ステップＳＰ２１１に再び戻り、次のページ番号について、コピーを実施する。
【０２５０】
一方、チャネルアダプタ７００は、最後のページ番号までコピーを実施したと判断した場合には（ＳＰ２１６：ＹＥＳ）、このコピー処理を終了する（ＳＰ２２６）。
【０２５１】
ステップＳＰ２１４において、チャネルアダプタ７００は、障害であることを確認した場合には（ＳＰ２１４：ＮＯ）、仮想ボリュームとプールボリュームの構成情報９１を参照して、ミラーボリュームＭＶＶＯＬと対応付けられるプールＩＤを取得する（ＳＰ２１７）。
【０２５２】
ミラーボリュームＭＶＶＯＬと対応付けられるプールＩＤを取得したチャネルアダプタ７００は、プールＩＤ番号のもつページ構成情報９４を参照し、「ステータス」フィールド９４Ｆが正常であるかどうかを確認する（ＳＰ２１８）。
【０２５３】
正常であることを確認した場合には（ＳＰ２１８：ＹＥＳ）、チャネルアダプタ７００は、ミラーボリュームＭＶＶＯＬから第２のストレージ装置４０内の論理ボリュームＬＤＥＶ２にコピーを実施し（ＳＰ２１９）、その後、ステップＳＰ２１６の処理を実施する。
【０２５４】
一方、障害であることを確認した場合には（ＳＰ２１８：ＮＯ）、チャネルアダプタ７００は、無効なＥＣＣグループ番号を出力し（ＳＰ２２０）、コピー処理を異常終了する（ＳＰ２２１）。
【０２５５】
ステップＳＰ２１２において、ページ番号が偶数の場合には（ＳＰ２１２：ＮＯ）、チャネルアダプタ７００は、仮想ボリュームとプールボリュームの構成情報９１を参照して、ミラーボリュームＭＶＶＯＬと対応付けられるプールＩＤを取得する（ＳＰ２２２）。
【０２５６】
ミラーボリュームＭＶＶＯＬと対応付けられるプールＩＤを取得したチャネルアダプタ７００は、プールＩＤ番号のもつページ構成情報９４を参照し、「ステータス」フィールド９４Ｆが正常であるかどうかを確認する（ＳＰ２２３）。
【０２５７】
正常であることを確認した場合には（ＳＰ２２３：ＹＥＳ）、チャネルアダプタ７００は、ミラーボリュームＭＶＶＯＬから第２のストレージ装置４０内の論理ボリュームＬＤＥＶ２にコピーを実施し（ＳＰ２１９）、その後、ステップＳＰ２１６の処理を実施する。
【０２５８】
一方、障害であることを確認した場合には（ＳＰ２２３：ＮＯ）、チャネルアダプタ７００は、仮想ボリュームとプールボリュームの構成情報９１を参照して、ベースボリュームＢＶＶＯＬと対応付けられるプールＩＤを取得する（ＳＰ２２４）。
【０２５９】
ベースボリュームＢＶＶＯＬと対応付けられるプールＩＤを取得したチャネルアダプタ７００は、プールＩＤ番号のもつページ構成情報９４を参照し、「ステータス」フィールド９４Ｆが正常であるかどうかを確認する（ＳＰ２２５）。
【０２６０】
正常であることを確認した場合には（ＳＰ２２５：ＹＥＳ）、チャネルアダプタ７００は、ベースボリュームＢＶＶＯＬから第２のストレージ装置４０内の論理ボリュームＬＤＥＶ２にコピーを実施し（ＳＰ２１５）、その後、ステップＳＰ２１６の処理を実施する。
【０２６１】
一方、障害であることを確認した場合には（ＳＰ２２５：ＮＯ）、チャネルアダプタ７００は、無効なＥＣＣグループ番号を出力し（ＳＰ２２０）、コピー処理を異常終了する（ＳＰ２２１）。
【０２６２】
（３−３）第３の実施の形態の効果
以上のように、ＡＯＵ機能を利用することで、ミラー構成からなるベースボリューム及びミラーボリュームには、異なるＥＣＣグループに同一データを保存できるため、データを保存するハードディスクの信頼性及び耐障害性を向上することができる。
【０２６３】
また、１つのストレージ装置内において、ホストからのリード要求に基づいて読出し用として利用されるＥＣＣグループと、他のストレージ装置にバックアップするためにコピー用として利用されるＥＣＣグループとに分けて活用することができるため、記憶システムのシステム効率を向上することができる。
【０２６４】
（４）その他の実施の形態
第１の実施の形態から第３の実施の形態で説明をした各種処理は、それぞれチャネルアダプタ７又はディスクアダプタ１１が行ったが、各種処理はチャネルアダプタ７又はディスクアダプタ１１のどちらが行ってもよく、上述で説明をした主体に限られるものではない。
【０２６５】
複数の物理ディスク（ハードディスク５０）からなる複数のレイドグループ（ＥＣＣグループ）とプール領域ＰＬとを対応付ける第１の対応付け部及びプール領域ＰＬと仮想ボリュームＶＶＯＬの記憶領域とを対応付ける第２の対応付け部として共有メモリ９に設けたが、第１の対応付け部及び第２の対応付け部を個別のハードウェア構成としてもよい。
【０２６６】
ホスト装置２からのライト要求に基づいて、ホスト装置２からの第１のデータを第１のレイドグループの第１の記憶領域であるページＰに割り当てる第１の割当て部と、ホスト装置からの第２のデータを第１の割当て部で割り当てた第１のレイドグループの第１の記憶領域であるページＰを除いた、いずれかのレイドグループの記憶領域に分散して割当てる第２の割当て部と、をストレージ装置4内に設けたが、第１の割当て部及び第２の割当て部を個別のハードウェア構成としてもよい。
【０２６７】
第１の要求されたデータをベースボリュームＢＶＶＯＬ又はミラーボリュームＭＶＶＯＬの記憶領域と対応付けられるレイドグループの記憶領域から読み出す第１の読出し部と、第２の要求されたデータを第１の読出し部で用いられたベースボリュームＢＶＶＯＬ又はミラーボリュームＭＶＶＯＬを除いた記憶領域と対応付けられるレイドグループの記憶領域から読出す第２の読出し部と、をストレージ装置4内に設けたが、第１の読出し部及び第２の読出し部を個別のハードウェア構成としてもよい。
【０２６８】
第３の割当て部は、第２のストレージ装置４０内の論理ボリュームＬＤＥＶ２としたが、第１のストレージ装置４´に設けてもよい。
【０２６９】
追加割当て部は、ストレージ装置4内に設けたが、個別のハードウェア構成としてもよい。
【産業上の利用可能性】
【０２７０】
本発明は、１又は複数のストレージ装置を有する記憶システムや、その他の形態の記憶システムに広く適用することができる。
【図面の簡単な説明】
【０２７１】
【図１】第１の実施の形態における記憶システムの全体構成を示すブロック図である。
【図２】第１の実施の形態におけるチャネルアダプタ内を示す図表である。
【図３】第１の実施の形態におけるディスクアダプタ内を示す図表である。
【図４】第１の実施の形態における記憶システムの論理構成を示す概念図である。
【図５】第１の実施の形態における共有メモリ内を示す図表である。
【図６】第１の実施の形態におけるホストボリュームの構成情報を示す図表である。
【図７】第１の実施の形態における仮想ボリュームとプールボリュームとの構成情報を示す図表である。
【図８】第１の実施の形態における仮想ボリュームの構成情報を示す図表である。
【図９】第１の実施の形態におけるプールボリュームの構成情報を示す図表である。
【図１０】第１の実施の形態におけるページの構成情報を示す図表である。
【図１１】第１の実施の形態におけるチャネルアダプタのライト処理を示すフローチャートである。
【図１２】第１の実施の形態におけるディスクアダプタのライト処理を示すフローチャートである。
【図１３】第１の実施の形態における各種構成情報を示す図表である。
【図１４】第１の実施の形態におけるチャネルアダプタの割当て処理を示すフローチャートである。
【図１５】第１の実施の形態におけるチャネルアダプタの割当て決定処理を示すフローチャートである。
【図１６】第１の実施の形態におけるチャネルアダプタの割当て決定処理を示すフローチャートである。
【図１７】第１の実施の形態におけるチャネルアダプタの割当て決定処理の説明を示す図表である。
【図１８】第１の実施の形態におけるディスクアダプタの障害処理を示すフローチャートである。
【図１９】第１の実施の形態におけるディスクアダプタの障害処理の説明を示す図表である。
【図２０】第１の実施の形態におけるディスクアダプタの障害回復処理を示すフローチャートである。
【図２１】第１の実施の形態におけるディスクアダプタの障害回復処理を示すフローチャートである。
【図２２】第１の実施の形態におけるディスクアダプタの障害回復メイン処理を示すフローチャートである。
【図２３】第１の実施の形態におけるディスクアダプタの障害回復処理の説明を示す概念図である。
【図２４】第１の実施の形態におけるチャネルアダプタのリード処理を示すフローチャートである。
【図２５】第１の実施の形態におけるディスクアダプタのリード処理を示すフローチャートである。
【図２６】第１の実施の形態におけるチャネルアダプタのリード振分け処理を示すフローチャートである。
【図２７】第１の実施の形態におけるチャネルアダプタのリード振分け処理を示すフローチャートである。
【図２８】第１の実施の形態におけるチャネルアダプタのリード振分け処理の説明を示す概念図である。
【図２９】第１の実施の形態におけるディスクアダプタの追加割当て処理を示すフローチャートである。
【図３０】第１の実施の形態におけるディスクアダプタの追加割当て処理を示すフローチャートである。
【図３１】第１の実施の形態におけるディスクアダプタの追加割当て処理の説明を示す各種構成情報の図表である。
【図３２】第１の実施の形態におけるディスクアダプタの追加割当て処理の説明を示す概念図である。
【図３３】第２の実施の形態における共有メモリ内を示す図表である。
【図３４】第２の実施の形態における記憶システムの論理構成を示す概念図である。
【図３５】第２の実施の形態におけるチャネルアダプタのライト処理を示すフローチャートである。
【図３６】第２の実施の形態におけるディスクアダプタのライト処理を示すフローチャートである。
【図３７】第２の実施の形態におけるチャネルアダプタの割当て決定処理を示すフローチャートである。
【図３８】第２の実施の形態におけるチャネルアダプタの割当て決定処理を示すフローチャートである。
【図３９】第３の実施の形態における記憶システムの全体構成を示すブロック図である。
【図４０】第３の実施の形態におけるチャネルアダプタ内を示す図表である。
【図４１】第３の実施の形態における記憶システムの論理構成を示す概念図である。
【図４２】第３の実施の形態におけるチャネルアダプタのコピー処理を示すフローチャートである。
【図４３】第３の実施の形態におけるチャネルアダプタのコピー処理を示すフローチャートである。
【符号の説明】
【０２７２】
１……記憶システム、２……ホスト装置、４……ストレージ装置、５……ディスク部、７……チャネルアダプタ、９……共有メモリ、１１……ディスクアダプタ、ＢＶＶＯＬ……ベースボリューム、ＭＶＶＯＬ……ミラーボリューム、ＰＬＶＯＬ……プールボリューム、ＥＣＣＧ……ＥＣＣグループ、Ｐ……ページ。
【図１】
2008181416.tif 000003
【図２】
2008181416.tif 000004
【図３】
2008181416.tif 000005
【図４】
2008181416.tif 000006
【図５】
2008181416.tif 000007
【図６】
2008181416.tif 000008
【図７】
2008181416.tif 000009
【図８】
2008181416.tif 000010
【図９】
2008181416.tif 000011
【図１０】
2008181416.tif 000012
【図１１】
2008181416.tif 000013
【図１２】
2008181416.tif 000014
【図１３】
2008181416.tif 000015
【図１４】
2008181416.tif 000016
【図１５】
2008181416.tif 000017
【図１６】
2008181416.tif 000018
【図１７】
2008181416.tif 000019
【図１８】
2008181416.tif 000020
【図１９】
2008181416.tif 000021
【図２０】
2008181416.tif 000022
【図２１】
2008181416.tif 000023
【図２２】
2008181416.tif 000024
【図２３】
2008181416.tif 000025
【図２４】
2008181416.tif 000026
【図２５】
2008181416.tif 000027
【図２６】
2008181416.tif 000028
【図２７】
2008181416.tif 000029
【図２８】
2008181416.tif 000030
【図２９】
2008181416.tif 000031
【図３０】
2008181416.tif 000032
【図３１】
2008181416.tif 000033
【図３２】
2008181416.tif 000034
【図３３】
2008181416.tif 000035
【図３４】
2008181416.tif 000036
【図３５】
2008181416.tif 000037
【図３６】
2008181416.tif 000038
【図３７】
2008181416.tif 000039
【図３８】
2008181416.tif 000040
【図３９】
2008181416.tif 000041
【図４０】
2008181416.tif 000042
【図４１】
2008181416.tif 000043
【図４２】
2008181416.tif 000044
【図４３】
2008181416.tif 000045