(57)【要約】【課題】  スナップショット取得のために二重化運用しているディスクアレイにおいて、オリジナルデータの記憶領域と、スナップショットとして提供する記憶領域とでは、性能、信頼性、コスト等の観点から要求されることが異なるため、性能、記録密度、容量、信頼性等が異なるディスク装置で各ディスクアレイを構成する必要がある。【解決手段】  ｎＤ＋１Ｐで構成する複数の記憶媒体上の記憶領域であるミラー元ＬＵと、ｍＤ＋１Ｐで構成する複数の記憶媒体上の記憶領域であるミラー先ＬＵと、ｎＤ＋１ＰのＲＡＩＤ制御を行うｎ−ＲＡＩＤ制御サブプログラムと、ｍＤ＋１ＰのＲＡＩＤ制御を行うｍ−ＲＡＩＤ制御サブプログラムと、コンピュータがデータ書き込みを要求したときにミラー元ＬＵとミラー先ＬＵに書き込んで二重化するＬＵミラーサブプログラムとを設ける。なお、ｍおよびｎは２以上の整数であって、ｍとｎは異なる値である。【選択図】  図１
2007334913.tif 000002
【特許請求の範囲】
【請求項１】
ｎ個の記憶装置及びｍ個の記憶装置に区分された複数の記憶装置を有する記憶装置システムにおいてデータを複写する方法であって、
前記ｎ個の記憶装置から冗長データを作成するために必要な長さのデータを読み出し、
前記読み出されたデータから冗長データを作成し、
前記読み出されたデータ及び前記冗長データを前記ｍ個の記憶装置に格納することを特徴とするデータ複写方法。
【請求項２】
前記格納するステップでは、前記読み出されたデータのうちの一部のデータのみが前記ｍ個の記憶装置に格納されることを特徴とする請求項１記載のデータ複写方法。
【請求項３】
外部装置と接続され、ｎ個の記憶装置及びｍ個の記憶装置に区分された複数の記憶装置を有する記憶装置システムにおいてデータを複写する方法であって、
前記外部装置から送信されたデータを前記ｎ個の記憶装置及び前記ｍ個の記憶装置に二重化して格納し、
前記外部装置からの指示に基づいてデータの二重化を停止し、
データの二重化を停止している間に前記外部装置から送信されたデータを、格納場所に関する情報を記録しながら前記ｎ個の記憶装置に格納し、
前記外部装置からの指示に基づいてデータの二重化を再開し、
前記ｎ個の記憶装置からｍ−１単位のデータを読み出し、
前記ｍ−１単位のデータから冗長データを作成し、
前記ｍ−１単位のデータのうち、前記記録された情報で指定されるデータ及び前記冗長データを前記ｍ個の記憶装置に格納することを特徴とするデータ複写方法
。
【請求項４】
ｎ個の記憶装置及びｍ個の記憶装置に区分された複数の記憶装置と、
前記複数の記憶装置を制御する制御部と、
前記ｎ個の記憶装置を制御するｎ制御手段と、
前記ｍ個の記憶装置を制御するｍ制御手段とを有し、
前記ｎ個の記憶装置から前記ｍ個の記憶装置にデータを複写する場合に、
前記ｎ制御手段は、前記ｎ個の記憶装置からｍ−１単位のデータを読み出し、
前記ｍ制御手段は、読み出されたｍ−１単位のデータに基づいて冗長データを作成し、
前記読み出されたｍ−１単位のデータのうちのいずれか及び前記冗長データを前記ｍ個の記憶装置のいずれかに格納することを特徴とする記憶装置システム。
【請求項５】
前記単位は、論理ブロックアドレスを基準とした所定のデータ長であることを特徴とする請求項４記載の記憶装置システム。
【請求項６】
外部装置と接続されるインターフェースと、
前記ｎ個の記憶装置及び前記ｍ個の記憶装置にデータを二重化して格納する二重化手段と、
前記外部装置からの指示に従って、前記二重化手段を停止する手段と、
前記二重化手段が停止している間に、前記インターフェースから入力されるデータが前記ｎ個の記憶装置に格納される場所に関する情報を記録する更新管理手段とを有し、
前記ｍ制御手段は、前記更新管理手段に格納された情報に基づいて前記読み出されたｍ−１単位のデータのうちのいずれかを前記ｍ個の記憶装置のいずれかに格納することを特徴とする請求項４記載の記憶装置システム。
【請求項７】
ｎ個の記憶装置及びｍ個の記憶装置に区分された複数の記憶装置と、
前記複数の記憶装置を制御する制御部と、
前記ｎ個の記憶装置を制御するｎ制御手段と、
前記ｍ個の記憶装置を制御するｍ制御手段と、
前記ｎ個の記憶装置及び前記ｍ個の記憶装置とで、データを二重化して格納するデータ二重化手段とを有することを特徴とする記憶装置システム。
【請求項８】
ｎとｍは異なる整数であることを特徴とする請求項４、５、６及び７のうちいずれか一つの記憶装置システム。
【請求項９】
ｎ個の記憶装置を有する第一の記憶装置システムと、
前記第一の記憶装置に接続され、ｍ個の記憶装置を有する第二の記憶装置システムを有し、
前記第一の記憶装置システムは、
前記ｎ個の記憶装置からｍ−１単位のデータを読み出す手段を有し、
前記第二の記憶装置システムは、
前記第一の記憶装置システムが読み出したｍ−１単位のデータに基づいて冗長データを作成する作成手段と、
前記作成手段によって作成された前記冗長データ及び前記読み出されたｍ−１単位のデータを前記ｍ個の記憶装置に格納する手段とを有することを特徴とするシステム。
【請求項１０】
コンピュータと、複数の記憶媒体を有する記憶装置システムとを有する計算機システムであって、
前記記憶装置システムは、
ミラー元ＬＵと、
ミラー先ＬＵと、
前記ミラー元ＬＵのＲＡＩＤ制御を行うｎ−ＲＡＩＤ制御サブプログラムと、
前記ミラー先ＬＵのＲＡＩＤ制御を行うｍ−ＲＡＩＤ制御サブプログラムと、
前記コンピュータがデータ書き込みを要求したときに前記ミラー元ＬＵと前記ミラー先ＬＵに前記データを書き込んで二重化するＬＵミラーサブプログラムと、前記ミラー元ＬＵと前記ミラー先ＬＵの二重化を停止しているときに前記ミラー元ＬＵに対するデータ更新を監視する非ミラー時更新監視サブプログラムと、
前記ミラー元ＬＵに対する前記データ更新の更新位置を記録する非ミラー時更新位置管理サブプログラムと、
前記記録された更新位置のデータを前記ミラー元ＬＵから前記ミラー先ＬＵにコピーすることで内容を一致させるミラー再同期サブプログラムとを有し、
前記ミラー元ＬＵ及び前記ミラー先ＬＵは、各々ＲＡＩＤ構成が異なることを特徴とする計算機システム。
【請求項１１】
前記ミラー元ＬＵは、ｎＤ＋１Ｐで構成され、
前記ミラー先ＬＵは、ｍＤ＋１Ｐで構成され、
ｍおよびｎは２以上の整数であって、ｍとｎは異なる値であることを特徴とする請求項１０記載の計算機システム。
【請求項１２】
前記ミラー再同期サブプログラムは、前記記録された更新位置のデータを前記ミラー元ＬＵから前記ミラー先ＬＵにコピーすることで内容を一致させる処理を実行し、
前記ｍ−ＲＡＩＤ制御サブプログラムは、前記記録された更新位置のデータを含む前記ミラー先ＬＵのストライプ列のデータが揃うように前記ミラー元ＬＵからデータを読み出す処理を尾Ｋなうことを特徴とする計算機システム。
【請求項１３】
コンピュータと、複数の記憶媒体を持つ第一の記憶装置システム及び第二の記憶装置システムとを有する計算機システムであって、
第一の記憶装置システムは、
ミラー元ＬＵと、
前記ミラー元ＬＵのＲＡＩＤ制御を行うｎ−ＲＡＩＤ制御サブプログラムと、
前記コンピュータがデータ書き込みを要求したときに前記ミラー元ＬＵと前記ミラー先ＬＵに前記データを書き込んで二重化するＬＵミラーサブプログラムと、前記ミラー元ＬＵと前記ミラー先ＬＵの二重化を停止しているときに前記ミラー元ＬＵに対するデータ更新を監視する非ミラー時更新監視サブプログラムと、
前記ミラー元ＬＵに対する前記データ更新の更新位置を記録する非ミラー時更新位置管理サブプログラムと、
前記記録された更新位置のデータを前記ミラー元ＬＵから前記ミラー先ＬＵにコピーすることで内容を一致させるミラー再同期サブプログラムと、
第二の外部記憶装置とのデータ転送を実施するためのコマンドを発行するコマンド発行サブプログラムとを有し、
前記第二の記憶装置システムが、
ミラー先ＬＵと、
前記ミラー先ＬＵのＲＡＩＤ制御を行うｍ−ＲＡＩＤ制御サブプログラムとを有し、
前記ミラー元ＬＵ及びミラー先ＬＵは、ＲＡＩＤレベルが異なることを特徴とする計算機システム。
【請求項１４】
前記ミラー元ＬＵはｎＤ＋１Ｐで構成され、
前記ミラー先ＬＵはｍＤ＋１Ｐで構成され、
ｍ及びｎは２以上の整数であって、ｍとｎは異なる値であることを特徴とする請求項１３記載の計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータの外部記憶装置システムにおける記憶領域の管理方法、特に、スナップショットについての管理方法に関する。
【背景技術】
【０００２】
ハードディスクなどの記憶装置では、記憶装置の障害、ソフトウェアプログラムの欠陥、誤操作などによりデータが喪失される場合に備えて、記憶装置に記録されたデータを、定期的にテープなどの別の記憶装置にコピーして保存すること（バックアップ）が必要となる。その際、バックアップ中にバックアップの対象となるデータ（オリジナルデータ）が更新され、バックアップされたデータとバックアップされる前のデータとの間に不整合が生じると、バックアップを開始した時点でのデータを再現できない。このため、コピー作業中はデータの整合性を保証する必要がある。
【０００３】
バックアップされるデータの整合性を保証するためには、コンピュータシステムにおいて、バックアッププログラムが動作している間は、バックアッププログラム以外のプログラムを停止すればよい。しかし、高い可用性が要求されるシステムでは、プログラムを長時間停止させることができない。そのため、バックアップ中にプログラムがデータを更新することを妨げず、なおかつバックアップ開始時点での記憶装置に格納されたデータの内容及びデータの配置場所（以下、「記憶イメージ」と称する）をバックアップ用の記憶装置に作成する仕組みが必要となる。ここで、ある時点でのデータの記憶イメージをスナップショットと呼ぶ。また、指定された時点のスナップショットを作成しつつデータの更新が可能な状態を提供する仕組みをスナップショット管理方法と呼ぶ。また、スナップショット管理方法によりスナップショットを作成することをスナップショットの取得と呼ぶ。また、スナップショットを作成した状態をやめることをスナップショットの削除と呼ぶ。
【０００４】
従来のスナップショット管理方法の一つとして、データを二重化する方法がある。
【０００５】
この方法では、スナップショットを取得していない通常の状態において、コンピュータ上のプログラムがすべてのデータを２つの記憶領域に二重化して記憶する。スナップショットを取得する時は、二重化が停止され、１つの領域がオリジナルデータ、もう１つの領域がスナップショットとして提供される。
【０００６】
二重化が停止されている間にオリジナルデータの更新が発生した場合、更新されたデータの位置が記録される。スナップショット削除時には、データの二重化が再開される。また、更新されたデータ位置の記録をもとに、オリジナルデータの記憶領域からもう一方の記憶領域に更新されたデータがコピーされる。このコピー動作を、ミラー再同期化と呼ぶ。コンピュータ上のプログラムでデータを二重化する方法は、米国特許５，０５１，８８７号に開示されている。
【０００７】
上記２つの記憶領域は、一般にディスクアレイによって構築されることが多い。ディスクアレイは、複数のディスク装置をアレイ状に配置した構成を有する。ディスクアレイを含んだ記憶装置システムを、以下、ディスクアレイ装置と呼ぶ。ディスクアレイ装置は、ホスト装置（ホスト）からのリード要求及びライト要求をディスク装置の並列動作によって高速に処理するとともに、データに冗長データを付加することによって信頼性を向上させた記憶装置である。ディスクアレイは、ＲＡＩＤ(Redundant Arrays of Inexpensive Disks)とも呼ばれる。ディスクアレイは、冗長データの種類と構成により一般的に５つのレベルに分類される。
【０００８】
スナップショットが使用されている間、オリジナルデータが格納されている記憶領域に対するアクセスの速度が低下しないように、オリジナルデータの記憶領域と、スナップショットの記憶領域は、それぞれ物理的に異なるディスクアレイで構成される。また、ディスクアレイにおけるディスク装置の構成（ｎＤ＋１Ｐ：Ｄはデータが格納されるディスク装置を示し、Ｐは冗長データが格納されるディスク装置を示す。ｎＤ＋１Ｐは、ｎ台のデータを記録するディスク装置及び１台の冗長データが格納されるディスク装置の構成を示す）で考えると、オリジナルデータの記憶領域が配置されるディスクアレイと、スナップショットに使用される記憶領域が配置されるディスクアレイは、同じディスク装置の数、すなわち、同じｎを持つ構成とされ、個々のディスク装置の記憶容量が同一のものが使用される。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
オリジナルデータが格納される記憶領域と、スナップショットに使用される記憶領域とでは、性能、信頼性、コスト等の観点から、異なる特徴が要求される。例えば、オリジナルデータが格納される記憶領域では信頼性が重視され、スナップショットに使用される記憶領域には低いビットコストが要求される。また、バックアップを高速化するため、スナップショットに使用される記憶領域に高性能が要求される場合もある。
【００１０】
つまり、性能、記録密度、容量、信頼性等が異なるディスク装置で各ディスクアレイが構成される必要がある。この場合、ディスクアレイの構成（ｎＤ＋１Ｐ）の仕方によっても、要求される特徴を実現することができるので、オリジナルデータの記憶領域と、スナップショットに使用される記憶領域が配置される各々のディスクアレイを互いに異なるｎを持つｎＤ＋１Ｐで構成する必要がある。しかし、従来技術においては、互いに柔軟な構成が採用されるディスクアレイの組み合わせは実現することが出来なかった。
【００１１】
本発明の目的は、バックアップに使用するスナップショットを取得するために二重化して運用されているディスクアレイにおいて、オリジナルデータが格納される記憶領域と、スナップショットに使用される記憶領域を有するそれぞれのディスクアレイを互いに異なるｎを持つｎＤ＋１Ｐのディスク構成とし、各ディスクアレイが互いに柔軟な構成を採れる方法を提供することである。
【課題を解決するための手段】
【００１２】
前記目的を達成するために、本発明は、スナップショット取得のために二重化運用しているディスクアレイにおいて、ｎＤ＋１Ｐで構成する複数の記憶媒体上の記憶領域であるミラー元ＬＵと、ｍＤ＋１Ｐで構成する複数の記憶媒体上の記憶領域であるミラー先ＬＵと、ｎＤ＋１ＰのＲＡＩＤ制御を行うｎ−ＲＡＩＤ制御サブプログラムと、ｍＤ＋１ＰのＲＡＩＤ制御を行うｍ−ＲＡＩＤ制御サブプログラムと、コンピュータがデータ書き込みを要求したときにミラー元ＬＵとミラー先ＬＵに書き込んで二重化するＬＵミラーサブプログラムとを設ける。なお、ｍおよびｎは２以上の整数であって、ｍとｎは異なる値である。
【発明を実施するための最良の形態】
【００１３】
図１は、本発明が適用されたシステムの第１の実施形態の構成を示す図である。
【００１４】
本システムは、コンピュータ１００及びディスクアレイ装置２００を有する。
【００１５】
コンピュータ１００は、ＣＰＵ１１０、メモリ１２０、及びＳＣＳＩインタフェース１４０を有する。ＳＣＳＩインタフェース１４０は、ＳＣＳＩバス３００を介してディスクアレイ装置２００と接続されている。メモリ１２０には、データベースプログラム１２６及びバックアッププログラム１２７が格納されている。両プログラムは、ＣＰＵ１１０によって実行される。
【００１６】
本実施形態では、スナップショットの利用例として、バックアップをとりあげるが、ＯＬＡＰ（ＯｎＬｉｎｅ  Ａｎａｌｙｔｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ）やシステムテスト等の他の目的においても本発明は利用可能である。
【００１７】
データベースプログラム１２６は、後述するＬＵ２６１にアクセスする機能、及びＬＵ２６１へのデータ更新を制御し、ＬＵ２６１内のデータの整合性を保証するバックアップモードを実行する機能を有する。データベースプログラム１２６は、ユーザまたはバックアッププログラム１２７からの指示によりバックアップモードへ遷移する。バックアッププログラム１２７は、ユーザからの指示によりスナップショットを保存したＬＵ２６２からテープ等（図示せず）にデータをバックアップするためにデータを読み出す機能、ディスクアレイ装置２００にＳＣＳＩのＭｏｄｅＳｅｌｅｃｔコマンドを発行する機能、及びデータベースプログラム１２６にバックアップモードの有効化、無効化を指示する機能を有する。
【００１８】
ディスクアレイ装置２００は、ＣＰＵ２１０、メモリ２２０、ＳＣＳＩインタフェース２４０、ディスクコントローラ２５０、及びディスク装置群２５１、２５２を有する。メモリ２２０内にはスナップショット管理プログラム２２１が格納されている。本プログラムは、ＣＰＵ２１０によって実行される。
【００１９】
ディスク装置群２５１は、ディスク装置２７１〜２７５を有するディスクアレイである。ディスク装置群２５２は、ディスク装置２８１〜２８７を有するディスクアレイである。各ディスク装置群は、パリティ付きのストライピングされたＲＡＩＤ５のディスク構成をとる。尚、本実施形態では、ディスク装置群２５１のディスク装置の数を５、ディスク装置群２５２のディスク装置の数を７としているが、各ディスク装置群のディスク装置の数が３つ以上で、かつ、ディスク装置群２５１とディスク装置群２５２とが異なるディスク装置の数で構成されていれば、どのような構成であっても良い。以下、ディスク装置群２５１、２５２のディスク装置の数をそれぞれｎＤ＋１Ｐ、ｍＤ＋１Ｐと表す。本実施形態においては、ｎ＝４、ｍ＝６である。本発明において、ｎ、ｍは、２以上の整数であり、ｎとｍは異なる値とする。
【００２０】
ディスク装置群２５１、２５２は、複数のディスク装置が有する記憶領域を一つの論理的な記憶領域としてコンピュータ１００に提供する。具体的には、ＳＣＳＩ規格に対応した論理ユニット（Ｌｏｇｉｃａｌ  Ｕｎｉｔ：ＬＵ）がコンピュータ１００に提供される。ディスク装置群２５１、２５２が提供するＬＵを、ＬＵ２６１、２６２とする。ディスク装置群２５１、２５２内のＬＵは複数であってもよい。
【００２１】
本実施形態では、ディスクアレイ２２０内のスナップショット管理プログラム２２１が、ＬＵ２６１をオリジナルデータを持ったミラー元ＬＵとし、ＬＵ２６２をオリジナルデータのミラーであるミラー先ＬＵとして管理する。ＬＵ２６２が、スナップショットとして使用されるＬＵである。
【００２２】
ディスクアレイ装置２００のスナップショット管理プログラム２２１は、コンピュータ１００からの要求に応じてディスクコントローラ２５０にディスクアクセスを指示するディスクアクセスサブプログラム２３０、ＬＵ２６１に対するデータの更新を二重化してＬＵ２６２のデータも更新し、２つのＬＵに同じユーザデータを書き込むＬＵミラーサブプログラム２３１を有する。
【００２３】
また、ディスクアレイ装置２００のスナップショット管理プログラム２２１は、ｎ−ＲＡＩＤ制御サブプログラム２３６及びｍ−ＲＡＩＤ制御サブプログラム２３７を有する。ｎ−ＲＡＩＤ制御サブプログラム２３６は、ディスク装置２７１〜２７５をｎＤ＋１ＰのＲＡＩＤ５として制御する。ｍ−ＲＡＩＤ制御サブプログラム２３７は、ディスク装置２８１〜２８７をｍＤ＋１ＰのＲＡＩＤ５として制御する。
【００２４】
さらに、スナップショット管理プログラム２２１は、ディスクアレイ装置２００が二重化の処理を停止している時（非ミラー時）に、ミラー元ＬＵ２６１に対するデータ更新の有無を検出する非ミラー時更新監視サブプログラム２３４、データの更新位置を後述する更新位置管理表２２２に記録する非ミラー時更新位置管理サブプログラム２３５、及びミラー再同期化を行う際にミラー元ＬＵの更新部分をミラー先ＬＵにコピーするミラー再同期サブプログラム２３２とを有する。
【００２５】
図２は、  更新位置管理表２２２の構成を示す図である。更新位置管理表２２２は、ミラー元ＬＵ内のＬＢＡセット番号、及びＬＢＡセット番号に対応する更新ビットを格納する領域を有する。ＬＢＡセットは、１個以上のＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）を単位としてＬＵを先頭から分割していったときの個々の部分領域である。ＬＢＡセット番号は、ＬＢＡセットに振られた通し番号である。更新ビットは、非ミラー時にミラー元ＬＵのＬＢＡセットが更新されたかどうかを示し、「更新」、「非更新」に応じて各々１、０が指定される。更新ビットの初期設定値は０である。図２の例では、ＬＢＡセット番号１の領域のみが非ミラー時に更新されている状態を示す。
【００２６】
図３は、スナップショット取得／削除時におけるバックアッププログラム１２７とスナップショット管理プログラム２２１の動作を示すフローチャートである。ここでは、ミラー元ＬＵであるＬＵ２６１のミラー先ＬＵであるＬＵ２６２を、ＬＵ２６１のスナップショットとして提供する場合を説明する。
【００２７】
コンピュータ１００のバックアッププログラム１２７がデータベースプログラム１２６に指示を与え、バックアップモードを有効化してスナップショットを取得するデータの整合性を保証する（２０００）。次に、バックアッププログラム１２７は、ディスクアレイ装置２００にスナップショットを取得するためのＭｏｄｅＳｅｌｅｃｔコマンドを発行する（２００１）。ディスクアレイ装置２００のスナップショット管理プログラム２２１は、ＭｏｄｅＳｅｌｅｃｔコマンドを受信すると（３０００）、非ミラー時更新監視サブプログラム２３４と非ミラー時更新位置管理サブプログラム２３５を有効化し、ＬＵ２６１の更新位置記録を開始する（３００１）。以降、ＬＵ２６１のデータが更新されると、更新位置管理表２２２における更新されたＬＢＡを含むＬＢＡセットの更新ビットが１に設定される。
【００２８】
次に、スナップショット管理プログラム２２１は、ＬＵミラーサブプログラム２３１を無効化し、ＬＵ２６１とＬＵ２６２のデータの二重化の処理の停止を指示する。これにより、ミラー元ＬＵであるＬＵ２６１に対するデータの更新がミラー先ＬＵであるＬＵ２６２に反映されなくなる（３００２）。次に、スナップショット管理プログラム２２１は、ＭｏｄｅＳｅｌｅｃｔコマンドの終了ステータスをコンピュータ１００のバックアッププログラム１２７に送信する（３００３）。バックアッププログラム１２７は、ＭｏｄｅＳｅｌｅｃｔコマンドの終了ステータスを受信すると（２００２）、データベースプログラム１２６に指示を与え、バックアップモードを無効化する（２００３）。
【００２９】
次に、バックアッププログラム１２７は、ディスクアレイ装置２００に対し、スナップショット削除を指示するＭｏｄｅＳｅｌｅｃｔコマンドを発行する（２００４）。ディスクアレイ装置２００のスナップショット管理プログラム２２１は、ＭｏｄｅＳｅｌｅｃｔコマンドを受信すると（３００５）、ＬＵミラーサブプログラム２３１を有効化し、ＬＵ２６１とＬＵ２６２の二重化を再開する（３００６）。これにより、ＬＵ２６１に対する更新がＬＵ２６２にも反映される。
【００３０】
次に、スナップショット管理プログラム２２１は、非ミラー時更新監視サブプログラム２３４と非ミラー時更新位置管理サブプログラム２３５を無効化し、ＬＵ２６１の更新位置記録を停止する（３００７）。以降、更新位置管理表２２２の更新ビットを非ミラー時更新位置管理サブプログラム２３５が変更しなくなる。
【００３１】
次に、スナップショット管理プログラム２２１は、ミラー再同期サブプログラム２３２を有効化する。ミラー再同期サブプログラム２３２は、更新位置管理表２２２を参照して、ＬＵ２６１とＬＵ２６２で内容が一致しない部分をＬＵ２６１からＬＵ２６２にコピーすることでミラー再同期化を行う（３００８）。再同期が終了したら、スナップショット管理プログラム２２１は、ミラー再同期サブプログラム２３２を無効化し（３００９）、ＭｏｄｅＳｅｌｅｃｔコマンドの終了ステータスをコンピュータ１００のバックアッププログラム１２７に送信する（３０１０）。ＭｏｄｅＳｅｌｅｃｔコマンドの終了ステータスを受信したバックアッププログラム１２７は、動作を終了する（２００５）。
【００３２】
コンピュータ１００のバックアッププログラム１２７は、ステップ２００３〜ステップ２００４の間で、スナップショットを取得したＬＵ２６２の読み出しを行い、他の記憶装置（図示せず）にそのデータをバックアップする。
【００３３】
ステップ３００８で、ＬＵ２６１からＬＵ２６２へのデータコピーを行うミラー再同期化の動作について説明する。
【００３４】
図５は、ＬＵ２６１とＬＵ２６２のディスクアレイ構成が、ｎ＜ｍの場合のＬＵ２６１、ＬＵ２６２、及び更新位置管理表２２２の関係を示す図である。
【００３５】
ＬＵ２６1は、データのＬＢＡセットが４個に対して、パリティを１個割り振る構成である。例えば、ＬＢＡセット０〜３に対してパリティＰｎ０が割り振られている。パリティＰｎ０は、ＬＢＡセット０〜３の排他的論理和を取ったものである。同様に、ＬＢＡセット４〜７に対してパリティＰｎ１が、ＬＢＡセット８〜１１に対してパリティＰｎ２が割り振られる。ここで、複数のＬＢＡセット及びそのＬＢＡセットの組に対応するパリティを合わせてストライプ列と呼ぶ。例えば、ＬＢＡセット０〜３とパリティＰｎ０でストライプ列が構成される。尚、ＲＡＩＤ５では、パリティが各ディスク装置にローテーションしながら分散して配置されるが、本実施形態ではローテーションする単位が大きいと想定し図中には分散配置の状況が表れないものとする。
【００３６】
ＬＵ２６２は、データのＬＢＡセットが６個に対して、パリティを１個割り振る構成となっている。例えば、ＬＢＡセット０〜５に対してパリティＰｍ０が割り振られている。
【００３７】
尚、ＬＵ２６１及びＬＵ２６２のＬＢＡセット番号が同じ記憶領域同士でデータの二重化が実施される。
【００３８】
図５では、更新位置管理表２２２とＬＵのストライプ列との関係を示すために、更新位置管理表２２２の左側にＬＵ２６１とＬＵ２６２のストライプ区切りを併記した。なお、ｎとｍは値が異なることから、ＬＵ２６１とＬＵ２６２のストライプ区切りにずれが生ずる。
【００３９】
ミラー再同期化時には、ＬＵ２６１とＬＵ２６２の間で内容が一致しないＬＢＡセットが、ＬＵ２６１からＬＵ２６２にコピーされる。このとき、ＬＵ２６１に対してはデータの読み出しの処理が行われ、ＬＵ２６２に対してはデータの書き込みの処理が行われる。
【００４０】
ＲＡＩＤ５の構成であるディスクアレイにデータの書き込みを行う場合、パリティの整合性をとるために、ストライプ列内の更新されないＬＢＡセットのデータを読み出し、新しいデータを含め排他的論理和演算をして新しいパリティを生成した後、新しいパリティ及び新しいデータをディスク装置に書き込む動作が行われる。このように、ディスクアレイへのデータ書き込みにおいて、データを書き込むディスク装置以外にディスクアクセス回数が増える現象をライトペナルティと呼ぶ。
【００４１】
なお、ストライプ列のすべてのＬＢＡセットのデータが更新される場合、新しいパリティは、書き込まれるＬＢＡセットのみで生成される。つまり、パリティを作成するためにストライプ列内の更新されないＬＢＡセットのデータを読み出す必要がない。したがって、パリティの書き込みが増えるだけなので、最小限のライトペナルティで済ますことができる。
【００４２】
ここで、更新位置管理表２２２のＬＢＡセット番号７〜１０の更新ビットに１が設定されており、ミラー再同期化にて該当するＬＢＡセット７〜１０のデータをＬＵ２６１からＬＵ２６２にコピーする場合を想定する。
【００４３】
通常にコピーする場合は、ＬＵ２６１の太枠で囲われたＬＢＡセット７〜１０のデータを読み出し、ＬＵ２６２の太枠で囲ったＬＢＡセット７〜１０に書き込む。それに加えて、ＬＵ２６２のストライプ列のパリティの整合性をとるため、ＬＵ２６２の斜線で示したＬＢＡセット６とＬＢＡセット１１を読み出し、ＬＵ２６１のＬＢＡセット７〜１０と排他的論理和を演算して生成したパリティをディスク装置２８７のＰｍ１に書き込む。したがって、パリティの書き込み以外に、ＬＵ２６２のＬＢＡセット６及びＬＢＡセット１１の読み出しのためのリードアクセスを行わなければならない。
【００４４】
本発明では、ライトペナルティを軽減するため、ｎ−ＲＡＩＤ制御サブプログラムが、ＬＵ２６２ではなく、ＬＵ２６１から斜線で示したＬＢＡセット６及びＬＢＡセット１１のデータを読み出し、ＬＵ２６１のストライプ列のパリティ生成のためのデータを準備する。したがって、ＬＵ２６２の斜線で示したＬＢＡセット６及びＬＢＡセット１１のデータを読み出す必要はない。また、ＬＵ２６１のＬＢＡセット７〜１０のデータを読み出す際、ディスク装置２７１〜２７４へのディスクアクセスは発生するが、その際、ＬＢＡセット１０を読み出すときにＬＢＡセット６も連続して１つのディスクコマンドで読み出す。同様に、ＬＢＡセット７を読み出すときに、ＬＢＡセット１１も連続して１つのディスクコマンドで読み出す。ディスクアクセスは、ディスク装置内部の読み書きヘッドの部分のシーク時間とディスク円盤の回転待ち時間が主要な処理時間である。したがって、１つのディスクコマンドでデータを読み出すことでディスク円盤の回転待ち時間を省略することができ、ＬＢＡセット６、１１へのディスクアクセス時間を削減できる。
【００４５】
つまり、本発明では、ミラー再同期化のためにコピーが必要なＬＢＡセットがあった場合、ｎ−ＲＡＩＤ制御サブプログラム２３６が、コピーが必要なＬＢＡセットを含むミラー先ＬＵのストライプ列の中のすべてのＬＢＡセットがそろうようにミラー元ＬＵからデータの読み出しを行う。
【００４６】
ミラー元ＬＵからの読み出しが必要なＬＢＡセットの算出は以下のように行う。本実施形態においては、ミラー先ＬＵであるＬＵ２６２が、ｍ＝６である。したがって、ミラー先ＬＵの１つのストライプ列は、ｐを０以上の整数として、６×ｐ〜６×ｐ＋５のＬＢＡセット番号で指定されるＬＢＡブロックで構成される。ミラー再同期化のためのコピーが必要なＬＢＡセットが含まれるストライプ列内のＬＢＡセット番号は、ミラー再同期化のためのコピーが必要なＬＢＡセット番号をｍ＝６で除算した整数部分としてｐを求めることで特定される。
【００４７】
例えば、ＬＢＡセット番号７に対応する更新ビットが１である場合、７を６で除算した整数部分、すなわちｐ＝１となり、読み出しが必要なＬＢＡセット番号は、６×ｐ〜６×ｐ＋５、すなわち、ＬＢＡセット番号６〜１１となる。ｎ−ＲＡＩＤ制御サブプログラムは、このｐの値から特定されたＬＢＡセット番号に基づいて読み出すべきＬＢＡセットの位置を決定し、データを読み出す。
【００４８】
ミラー先ＬＵにおいては、ｍ−ＲＡＩＤ制御サブプログラムが、コピーが必要なＬＢＡセットの書き込み、及び生成したパリティの書き込みを実施する。
【００４９】
なお、コピーが必要なＬＢＡセットの検出は、ミラー再同期サブプログラム２３２が更新位置管理表２２２を参照することにより行う。ミラー再同期サブプログラム２３２は、ミラー先ＬＵのストライプ列内でコピーが必要なＬＢＡセットがあった場合、同じストライプ列内にコピーが必要な他のＬＢＡセットがあるかどうかを検索し、他のＬＢＡセットもコピーするように動作する。具体的には、ミラー再同期サブプログラム２３２は、更新位置管理表２２２の更新ビットが１となっているＬＢＡブロックを検索する。ビットが１であるＬＢＡセットを発見したら、ミラー再同期サブプログラム２３２は、ミラー先ＬＵにおいて、発見されたＬＢＡセットを含むストライプ列内の他のＬＢＡセットに対応する更新ビットを参照し、１であるＬＢＡセットの有無を確認する。ミラー再同期サブプログラム２３２は、同じストライプ列内において更新ビットが１であるＬＢＡブロックを確認した後、該当するＬＢＡブロックについてコピーをするよう、ｍ−ＲＡＩＤ制御サブプログラムに指示を送る。また、ｎ−ＲＡＩＤ制御サブプログラムにｐの値を通知し、ｐに対応するＬＢＡブロックを読み出すように指示を送る。
【００５０】
尚、ミラー先ＬＵの１つのストライプ列ごとに、ミラー再同期サブプログラム２３２が更新位置管理表２２２を検索するとして説明したが、コピーが必要なＬＢＡセットが、ミラー先ＬＵにおいて隣接するストライプ列にまたがっている場合は、隣接する複数のストライプ列内においてもコピーが必要な他のＬＢＡセットがあるかどうかを検索し、他のＬＢＡセットもコピーするように動作するようにしてもよい。
【００５１】
また、ディスクアクセス回数を減らすことができない場合もあるので、通常のコピー、すなわち、更新ビットが１となっているＬＢＡブロックを検出したら、すぐにｎ−ＲＡＩＤ制御サブプログラム及びｍ−ＲＡＩＤ制御サブプログラムに当該ＬＢブロックの読み出し及び書き込みを行うよう、ＬＵ２６１の読み出し位置とＬＵ２６２の書き込み位置を算出してもよい。
【００５２】
図６は、ＬＵ２６１とＬＵ２６２のディスクアレイ構成が、ｎ＞ｍの場合のＬＵ２６１、ＬＵ２６２、及び更新位置管理表２２２を示す図である。ここでは、ｎ＝４、ｍ＝３の場合で説明する。
【００５３】
ＬＵ２６1は、図５と同様である。
【００５４】
ＬＵ２６２は、データのＬＢＡセットが３個に対して、パリティを１個割り振る構成となっている。
【００５５】
図５と同様に、更新位置管理表２２２の左側に、ＬＵ２６１とＬＵ２６２のストライプ区切りを併記する。
【００５６】
例えば、更新位置管理表２２２のＬＢＡセット番号４〜７の更新ビットが１に設定されており、ミラー再同期化処理にて、該当するＬＢＡセット４〜７のデータがＬＵ２６１からＬＵ２６２にコピーされる場合を説明する。
【００５７】
通常にコピーする場合は、ＬＵ２６１の太枠で囲ったＬＢＡセット４〜７を読み出し、ＬＵ２６２の太枠で囲ったＬＢＡセット４〜７に書き込む。それとともに、ＬＵ２６２のストライプ列のパリティ整合性をとるためにＬＵ２６２の斜線で示したＬＢＡセット３とＬＢＡセット８を読み出し、ＬＵ２６１のＬＢＡセット４〜５とＬＢＡ２６２から読み出したＬＢＡセット３で排他的論理和演算をし、生成したパリティをディスク装置２８４のＰｍ１に書き込む。また、ＬＵ２６１のＬＢＡセット６〜７とＬＢＡ２６２から読み出したＬＢＡセット８で排他的論理和演算をして生成したパリティをディスク装置２８４のＰｍ２に書き込む。したがって、パリティの書き込み以外に、ＬＵ２６２のＬＢＡセット３、８の読み出しのためにディスク装置２８１、２８３へのリードアクセスが発生する。
【００５８】
これに対し、本発明ではライトペナルティを軽減するため、ｎ−ＲＡＩＤ制御サブプログラム２３６が、ＬＵ２６２ではなく、ＬＵ２６１から斜線で示したＬＢＡセット３とＬＢＡセット８を読み出し、ＬＵ２６１のストライプ列のパリティ生成のためのデータを準備する。したがって、ＬＵ２６２の斜線で示したＬＢＡセット３とＬＢＡセット８を読み出す必要がなくなる。また、コピーのためのＬＵ２６１のＬＢＡセット４〜７の読み出しの際、ディスク装置２７１〜２７４へのディスクアクセスは発生するが、その際、ＬＢＡセット７を読み出すときにＬＢＡセット３も連続して１つのディスクコマンドで読み出す。同様に、ＬＢＡセット４を読み出すときにＬＢＡセット８も連続して１つのディスクコマンドで読み出す。１つのディスクコマンドでデータを読み出すことで、ＬＢＡセット３、８へのディスクアクセス時間を削減できる。
【００５９】
つまり、本発明ではミラー再同期化のためのコピーが必要なＬＢＡセットがあった場合、ｎ―ＲＡＩＤ制御サブプログラム２３６が、ＬＢＡセットを含むミラー先ＬＵのストライプ列内のすべてのＬＢＡセットがそろうように、ミラー元ＬＵから代わりとなるＬＢＡセットを読み出す。この際、再同期化のためにコピーが必要となるＬＢＡセットが格納されているミラー元ＬＵのディスク装置内に、ミラー先ＬＵのＬＢＡセットの代わりとなるＬＢＡセットがあれば、図５と同様に、読み出しにかかる時間が短縮される。ミラー先ＬＵに対しては、ｍ−ＲＡＩＤ制御サブプログラム２３７が、コピーが必要なＬＢＡセットの書き込み、および、生成したパリティの書き込みを実施する。
【００６０】
なお、コピーが必要なＬＢＡセットの検出は、図５の場合と同様に、ミラー再同期サブプログラム２３２が更新位置管理表２２２を参照することにより行う。
【００６１】
また、ディスクアクセス回数を減らすことができない場合もあるので、通常のコピーを行うようにＬＵ２６１の読み出し位置とＬＵ２６２の書き込み位置を算出してもよい。
【００６２】
図４は、ミラー再同期化時におけるミラー再同期サブプログラム２３２の動作を示すフローチャートである。
【００６３】
まず、ミラー再同期サブプログラム２３２が、更新位置管理表２２２の更新ビットに更新記録として１があるかどうかを調べる（１００１）。もし、更新記録である１がなければミラー再同期化が完了したので処理を終了する（１００２）。
【００６４】
更新ビットに１がある場合、ミラー再同期サブプログラム２３２は、図５及び図６で説明したように、ＬＵ２６１の読み出し位置とＬＵ２６２の書き込み位置を算出する（１００３）。次に、該当する読み出し／書き込み位置の更新を抑止し（１００４）、算出した読み出し／書き込み位置に基づき、図５及び図６で説明した方法にて、ｎ−ＲＡＩＤ制御サブプログラム２３６及びｍ−ＲＡＩＤ制御サブプログラムが、該当するデータをミラー元ＬＵであるＬＵ２６１からミラー先ＬＵであるＬＵ２６２にコピーする（１００５）。
【００６５】
次に、ミラー再同期サブプログラム２３２は、該当する読み出し／書き込み位置の更新抑止を解除し（１００６）、更新位置管理表２２２にあるコピーによってミラー化した位置の更新ビットに０を設定して更新記録を削除し（１００７）、ステップ１００１に戻る。
【００６６】
データ読み出しと書き込み、および、スナップショット読み出しの際のコンピュータ１００の動作を説明する。
【００６７】
まず、コンピュータ１００が、ディスクアレイ装置２００にあるＬＵ２６１のデータにアクセスする場合のデータベースプログラム１２６の動作を説明する。データベースプログラム１２６は、スナップショット取得の有無に関係なく、同じ動作を行う。
【００６８】
データベースプログラム１２６がＬＵ２６１のデータを読み出す場合、データベースプログラム１２６はディスクアレイ装置２００に対し、ＬＵ２６１のデータを読み出すＲＥＡＤコマンドを発行する。データベースプログラム１２６は、ディスクアレイ装置２００からデータとステータスを受信し動作を終了する。また、データベースプログラム１２６がＬＵ２６１にデータを書きこむ場合、データベースプログラム１２６はディスクアレイ装置２００に対し、ＬＵ２６１にデータを書きこむＷＲＩＴＥコマンドを発行し、データを送信する。データベースプログラム１２６は、ディスクアレイ装置２００からステータスを受信し動作を終了する。
【００６９】
次に、コンピュータ１００が、ディスクアレイ装置２００にあるＬＵ２６１のスナップショットを読み出す場合のバックアッププログラム１２７の動作を説明する。
【００７０】
バックアッププログラム１２７がＬＵ２６１のスナップショットを読み出す場合、バックアッププログラム１２７はディスクアレイ装置２００に対し、ＬＵ２６１のミラー先ＬＵであるＬＵ２６２のデータを読み出すＲＥＡＤコマンドを発行する。バックアッププログラム１２７は、ディスクアレイ装置２００からデータとステータスを受信し動作を終了する。
【００７１】
データ読み出しと書きこみ、および、スナップショット読み出しの際のディスクアレイ装置２００の動作を説明する。
【００７２】
まず、コンピュータ１００が、ディスクアレイ装置２００にあるＬＵ２６１のデータにアクセスする場合のスナップショット管理プログラム２２１の動作を説明する。
【００７３】
コンピュータ１００がＬＵ２６１のデータを読み出す場合、スナップショット管理プログラム２２１がＬＵ２６１に対するＲＥＡＤコマンドを受信する。次に、スナップショット管理プログラム２２１は、ＬＵミラーサブプログラム２３１が有効で、かつ、ミラー再同期サブプログラム２３２による更新部分のコピーが終了していれば、ＬＵ２６１、又はミラー先ＬＵであるＬＵ２６２からデータを読み出す。そうでない場合、ＬＵ２６１からデータを読み出す。データを読み出したら、スナップショット管理プログラム２２１は、読み出したデータとステータスをコンピュータ１００に送信する。ＬＵ２６１とミラー先ＬＵであるＬＵ２６２の内容が一致している場合は、両者のいずれかからデータを読み出すことにより負荷が分散される。
【００７４】
コンピュータ１００がＬＵ２６１にデータを書き込む場合、スナップショット管理プログラム２２１がＬＵ２６１に対するＷＲＩＴＥコマンド及びデータを受信する。次に、スナップショット管理プログラム２２１は、ＬＵミラーサブプログラム２３１が有効であればＬＵ２６１とミラー先ＬＵであるＬＵ２６２にデータを書きこみ、無効であればＬＵ２６１にデータを書きこむ。次に、スナップショット管理プログラム２２１は、非ミラー時更新監視サブプログラム２３４及び非ミラー時更新位置管理サブプログラム２３５が有効であれば、ＬＵ２６１の更新位置管理表２２２に対して更新したデータを含むＬＢＡセットの更新ビットを１に設定し、無効であれば何もしない。最後に、ステータスをコンピュータ１００に送信する。
【００７５】
次に、コンピュータ１００が、ディスクアレイ装置２００にあるＬＵ２６１のスナップショットを読み出す場合のスナップショット管理プログラム２２１の動作を説明する。
【００７６】
コンピュータ１００がＬＵ２６１のスナップショットを読み出す場合、スナップショット管理プログラム２２１がＬＵ２６１のミラー先ＬＵであるＬＵ２６２に対するＲＥＡＤコマンドを受信する。次に、スナップショット管理プログラム２２１は、ミラー先ＬＵであるＬＵ２６２からデータを読み出す。データを読み出したら、スナップショット管理プログラム２２１は、読み出したデータとステータスをコンピュータ１００に送信する。
【００７７】
なお、ミラー再同期サブプログラム２３２によって更新部分がコピーされている間は、コピー処理とコンピュータ１００によるＬＵ２６１へのデータアクセス処理が同じＬＵ２６１に集中するため、データアクセス性能が低下する。
【００７８】
本実施形態によれば、スナップショット取得のために二重化運用しているディスクアレイ装置において、ｎとｍを異なる２以上の整数とした場合、オリジナルデータの記憶領域を有するディスクアレイと、スナップショットとして提供する記憶領域を有するディスクアレイをそれぞれｎＤ＋１ＰとｍＤ＋１Ｐのディスク構成で組むことが可能となり、各ディスクアレイが互いに柔軟な構成を採ることができるという効果がある。
【００７９】
したがって、性能、信頼性、コスト等の観点から見たオリジナルデータの記憶領域と、スナップショットとして提供する記憶領域への要求に対応できる。例えば、同じディスク装置を用いて、オリジナルデータの記憶領域を４Ｄ＋１Ｐ、スナップショットとして提供する記憶領域を８Ｄ＋１Ｐで構成する場合を考える。信頼性に関しては、冗長なディスク装置数の割合が大きい４Ｄ＋１Ｐの方が優位であり、ビットコストに関しては、冗長なディスク装置数の割合が小さい８Ｄ＋１Ｐの方が優位である。ディスクアレイとしての連続したデータの読み出し性能は、ディスク装置が性能のボトルネックとなる場合を想定すると、８Ｄ＋１Ｐの方が２倍の性能となり優位である。このように、ｎＤ＋１Ｐの異なるディスクアレイでミラー化を図ることで、オリジナルデータの記憶領域と、スナップショットとして提供する記憶領域への様々な要求に対応できるという効果がある。
【００８０】
また、データの二重化によるスナップショット管理方法では、ミラー再同期化時において、更新／参照をする通常アクセスと更新データのコピーアクセスがオリジナルデータの記憶領域に集中し、通常アクセスの性能が低下するという問題があるが、本実施形態によれば、ミラー先ＬＵのストライプ列に合わせて、ミラー元ＬＵを読み出すことで、性能が低下するミラー再同期化時間を短縮することができる。
【００８１】
なお、本発明ではコンピュータ１００及びディスクアレイ装置２００を接続するインターフェースをＳＣＳＩバス３００としたが、ファイバチャネル等の他のインターフェースであってもよい。
【００８２】
図７は、本発明が適用されたシステムの第２の実施形態の構成を示す図である  本実施形態は、第一の実施形態におけるディスク装置群が別々のディスクアレイ装置で構成されているシステムにおいて本発明を適用したものである。本実施形態では、別々のディスクアレイ装置を用いることから、スナップショット利用の目的だけでなく、遠隔地へのデータのミラーリング目的に本発明を適用することも可能である。以下、第一の実施形態と異なる部分について説明する。
【００８３】
本実施形態のシステムは、コンピュータ１００、ディスクアレイ装置２０１、及びディスクアレイ装置２０２を有する。複数のディスクアレイ装置を有する点が第一の実施形態とは異なる。
【００８４】
コンピュータ１００は、ＦＣインターフェース１９０を有し、ＦＣインターフェース１９０を介して他の装置と接続される点が第１の実施形態と異なる。
【００８５】
ディスクアレイ装置２０１は、ディスク装置群２５２及びｍ−ＲＡＩＤ制御サブプログラム２３７がディスクアレイ装置２００から取り除かれ、スナップショット管理プログラム２２１内に他のディスクアレイ装置等とのデータ転送を実施するためにコマンドを発行するコマンド発行サブプログラム２３８が設けられている点が第一の実施形態のディスクアレイ装置２００とは異なる。また、ディスクアレイ装置２０２は、ＳＣＳＩインタフェース２４０の代わりにＦＣインターフェース２９０を有し、ＦＣインターフェース２９０を介して他の装置と接続される。
【００８６】
ディスクアレイ装置２０２は、ディスクアレイ装置２００からディスク装置群２５１及びスナップショット管理プログラム２２１が取り除かれ、ディスクアレイプログラム２２３がメモリ２２０に設けられた点が第一の実施形態のディスクアレイ装置２００とは異なる。また、ディスクアレイ装置２０２は、ＳＣＳＩインタフェース２４０の代わりにＦＣインターフェース２９０を有し、ＦＣインターフェース２９０を介して他の装置と接続される。
【００８７】
ディスクアレイプログラム２２３は、第１の実施形態の図１と同じディスクアクセスサブプログラム２３０及びｍ−ＲＡＩＤ制御サブプログラム２３７を有する。
【００８８】
ディスクアレイ装置２０１のコマンド発行サブプログラム２３８は、ファイバチャネルスイッチ４１０経由でディスクアレイ装置２０２内のＬＵ２６２にアクセスするためのコマンドをディスクアレイ装置２０２に発行する。したがって、ディスクアレイ装置２０１は、ファイバチャネルスイッチ４１０経由で接続されたディスクアレイ装置２０２にあるＬＵ２６２を第１の実施形態と同様にミラー先ＬＵとするように動作する。他のプログラムも同様に、ファイバチャネルスイッチ４１０経由でＬＵ２６１とＬＵ２６２でのデータのコピー等を実行する。
【００８９】
また、コンピュータ１００が、ディスクアレイ装置２０１にあるＬＵ２６１のデータにアクセスする場合のスナップショット管理プログラム２２１の動作は、ＬＵ２６１とミラー先ＬＵであるＬＵ２６２の内容が一致している場合においても、ミラー元ＬＵ２６１のみ読み出すようにしてもよい。
【００９０】
本実施形態によれば、二重化運用されている複数のディスクアレイ装置において、ｎとｍを異なる２以上の整数とした場合、オリジナルデータの記憶領域を有するディスクアレイ装置と、スナップショットとして提供する記憶領域を有するディスクアレイ装置をそれぞれｎＤ＋１ＰとｍＤ＋１Ｐのディスク構成で組むことが可能となり、各ディスクアレイ装置を互いに柔軟な構成とすことができる。
【００９１】
又、本実施形態ではコンピュータ１００、ディスクアレイ装置２０１及びディスクアレイ装置２０２を接続するインターフェースをファイバチャネルとしたが
、他のインターフェース、例えばＳＣＳＩ、インターネットに対応するインターフェースであってもよい。
【００９２】
以上、本発明の第一及び第二の実施形態について説明した。
【００９３】
尚、本発明においては、ミラー元ＬＵ、ミラー先ＬＵのどちらか片方、もしくは、両方が、ＲＡＩＤ５以外のＲＡＩＤレベルの構成であってもよい。この場合、ｎＤ＋１ＰのＲＡＩＤ制御を行うｎ−ＲＡＩＤ制御サブプログラム２３６と、ｍＤ＋１ＰのＲＡＩＤ制御を行うｍ−ＲＡＩＤ制御サブプログラム２３７が、それぞれミラー元ＬＵとミラー先ＬＵのＲＡＩＤレベルに合わせた制御を実施すればよい。
【００９４】
また、ミラー先ＬＵを複数設けた多重ミラーにおいても本発明は適用可能である。この場合、更新位置管理表２２２の更新ビットの欄をミラー先ＬＵ分だけ設け、ＬＵミラーサブプログラム２３１がミラー元ＬＵに対するアクセスを複数のミラー先ＬＵに多重化する動作をすればよい。また、多重化したミラー先ＬＵは任意の２以上の整数ｔを持つｔＤ＋１Ｐのディスクアレイで構成される。そして、当該ｔＤ＋１Ｐ構成のディスクアレイをを制御することができるＲＡＩＤ制御手段をディスクアレイ装置に設ける。なお、ミラー先ＬＵのうち１つ以上が、ミラー元ＬＵのnＤ＋１Ｐ構成と異なるＲＡＩＤ構成であればよい。
【００９５】
以上述べたように、本発明によれば、スナップショット取得のために二重化運用されているディスクアレイにおいて、ｎとｍを異なる２以上の整数とした場合、オリジナルデータの記憶領域を有するディスクアレイと、スナップショットとして提供する記憶領域を有するディスクアレイをそれぞれｎＤ＋１ＰとｍＤ＋１Ｐのディスク構成で組むことが可能となり、各ディスクアレイが互いに柔軟な構成を採ることができるという効果がある。
【図面の簡単な説明】
【００９６】
【図１】第１の実施形態におけるシステム構成図である。
【図２】第１の実施形態における更新位置管理表の説明図である。
【図３】第１の実施形態におけるスナップショット取得／削除フローである。
【図４】第１の実施形態におけるミラー再同期サブプログラムの動作フローである。
【図５】第１の実施形態におけるミラー元ＬＵとミラー先ＬＵの関係（ｎ＜ｍ）を示す図である。
【図６】第１の実施形態におけるミラー元ＬＵとミラー先ＬＵの関係（ｎ＞ｍ）を示す図である。
【図７】第２の実施形態におけるシステム構成図である。
【符号の説明】
【００９７】
１００…コンピュータ、２００…ディスクアレイ装置、２２１…スナップショット管理プログラム、２２２…更新位置管理表、２３６…ｎ−ＲＡＩＤ制御サブプログラム、２３７…ｍ−ＲＡＩＤ制御サブプログラム、２７１〜２７５、２８１〜２８７…ディスク装置。
【図１】
2007334913.tif 000003
【図２】
2007334913.tif 000004
【図３】
2007334913.tif 000005
【図４】
2007334913.tif 000006
【図５】
2007334913.tif 000007
【図６】
2007334913.tif 000008
【図７】
2007334913.tif 000009