(57)【特許請求の範囲】
【請求項１】
正側の論理ボリュームを提供し、前記ホスト装置からのデータを前記正側の論理ボリュームに格納する正側のストレージ装置と、
前記正側の論理ボリュームとペア設定される副側の仮想ボリュームを提供し、前記正側の論理ボリュームに格納された前記データを前記副側の仮想ボリュームにコピーする際、前記副側の仮想ボリュームに動的に副側の実ボリュームから記憶領域を割り当て、割り当てた前記記憶領域に前記データを格納する副側のストレージ装置と
を備え、
前記正側の論理ボリューム、前記副側の仮想ボリュームおよび前記副側の実ボリュームは、それぞれ記憶領域が複数のスロット領域に区切られており、
前記正側の論理ボリュームと前記副側の仮想ボリュームとをペア設定した場合の初期コピー時、
前記正側のストレージ装置は、
前記正側の論理ボリュームの前記スロット領域毎にデータの有無を検索し、
前記スロット領域にデータが格納されていない場合に、前記データが格納されていない通知を前記副側のストレージ装置に送信し、
前記副側のストレージ装置は、
前記正側のストレージ装置から前記通知を受信した場合に、前記副側の仮想ボリュームの前記スロット領域のうち、前記データをコピーすべき前記スロット領域に前記副側の実ボリュームから記憶領域が既に割り当てられている場合には、当該記憶領域にゼロデータを書き込み、当該スロット領域に前記実ボリュームから記憶領域が割り当てられていない場合には、何もしない
ことを特徴とするストレージシステム。
【請求項２】
前記正側のストレージ装置は、
前記正側の論理ボリュームが仮想ボリュームの場合には、前記正側の論理ボリュームの前記スロット領域と、前記データが格納される正側の実ボリュームのスロット領域とを関連づける正側関連づけ情報を有し、
当該正側関連づけ情報に基づいて、前記正側の論理ボリュームの前記スロット領域ごとのデータの有無を検索する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記正側のストレージ装置は、
前記正側の論理ボリュームが実ボリュームの場合には、前記正側の実ボリュームのスロット領域単位で前記データの有無を管理する管理情報を有し、
当該管理情報に基づいて、前記正側の論理ボリュームの前記スロット領域ごとのデータの有無を検索する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項４】
正側の論理ボリュームを提供し、前記ホスト装置からのデータを前記正側の論理ボリュームに格納する正側のストレージ装置と、前記正側の論理ボリュームとペア設定される副側の仮想ボリュームを提供し、前記正側の論理ボリュームに格納された前記データを前記副側の仮想ボリュームにコピーする際、前記副側の仮想ボリュームに動的に副側の実ボリュームから記憶領域を割り当て、割り当てた前記記憶領域に前記データを格納する副側のストレージ装置とを有するストレージシステムのコピー方法であって、
前記正側の論理ボリューム、前記副側の仮想ボリュームおよび前記副側の実ボリュームは、それぞれ記憶領域が複数のスロット領域に区切られており、
前記正側の論理ボリュームと前記副側の仮想ボリュームとをペア設定した場合の初期コピー時、
前記正側のストレージ装置が、前記正側の論理ボリュームの前記スロット領域毎にデータの有無を検索する検索ステップと、
前記正側のストレージ装置が、前記スロット領域にデータが格納されていない場合に、前記データが格納されていない通知を前記副側のストレージ装置に送信する送信ステップと、
前記副側のストレージ装置が、前記正側のストレージ装置から前記通知を受信した場合に、前記副側の仮想ボリュームの前記スロット領域のうち、前記データをコピーすべき前記スロット領域に前記副側の実ボリュームから記憶領域が既に割り当てられている場合には、当該記憶領域にゼロデータを書き込み、当該スロット領域に前記実ボリュームから記憶領域が割り当てられていない場合には、何もしない書き込みステップと
を備えることを特徴とするコピー方法。
【請求項５】
前記正側のストレージ装置は、
前記正側の論理ボリュームが仮想ボリュームの場合には、前記正側の論理ボリュームの前記スロット領域と、前記データが格納される正側の実ボリュームのスロット領域とを関連づける正側関連づけ情報を有し、
前記検索ステップにおいて、前記正側のストレージ装置は、
当該正側関連づけ情報に基づいて、前記正側の論理ボリュームの前記スロット領域ごとのデータの有無を検索する
ことを特徴とする請求項４に記載のコピー方法。
【請求項６】
前記正側のストレージ装置は、
前記正側の論理ボリュームが実ボリュームの場合には、前記正側の実ボリュームのスロット領域単位で前記データの有無を管理する管理情報を有し、
前記検索ステップにおいて、前記正側のストレージ装置は、
当該管理情報に基づいて、前記正側の論理ボリュームの前記スロット領域ごとのデータの有無を検索する
ことを特徴とする請求項４に記載のコピー方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム、コピー方法及び正側のストレージ装置に関し、特に複数の論理ボリュームにペアの設定をするストレージ装置を備えたストレージシステムについて適用する。
【背景技術】
【０００２】
ストレージ装置は、ストレージ装置へのデータの入出力を制御する制御装置と、このデータを格納するために複数のハードディスクドライブから形成されるディスク装置と、からなる。そして、ストレージ装置は、複数のハードディスクをＲＡＩＤ（Redundant Array of Independent/Inexpensive Disks）方式で管理する装置である。そして、多数のハードディスクが提供する物理的な記憶領域上には、少なくとも1つ以上の論理的なボリューム（以下、これを論理ボリュームという）が形成される。
【０００３】
例えば、災害等によって、このストレージ装置内のデータ損失を避ける技術として、遠隔地に配置されたストレージ装置にデータを２重化するリモートコピーと呼ばれる技術がある。
【０００４】
リモートコピーは、コピー元のストレージ装置（以下、正ストレージ装置という）が正ストレージ装置内にあるデータを遠隔地にあるコピー先のストレージ装置（以下、副ストレージ装置という）に転送し、副ストレージ装置内のディスク装置にデータを格納する技術である。このリモートコピーに関する技術としては、ホスト装置を介さずに、異なるストレージ装置間でデータをコピーする技術が特許文献１に開示されている。このようにリモートコピーに関する技術は、データの２重化を図れるのでデータの損失を回避できる。
【０００５】
一方、近年では、特許文献２に記載されるように、ハードディスクの記憶領域から固定容量の論理ボリュームを作成せず、複数の論理ボリュームによってホスト装置に仮想的なボリューム（以下、これを仮想ボリュームという）を提供する技術が開示されている。この仮想ボリュームには、論理ボリュームの記憶領域が動的に割り当てられる。これにより、実際には複数のストレージ装置に分散する記憶領域を、ホスト装置には単一のボリュームとして提供することができる。
【０００６】
そして、このような仮想ボリュームをペア設定することで、正側の仮想ボリュームから副側の仮想ボリュームにデータをコピーしてデータの信頼性を図っている。
【特許文献１】特開平１１−８５４０８号公報
【特許文献２】特開２００３−０１５９１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
正副ストレージ装置を有するストレージシステムに、上述の仮想ボリュームの技術を適用してリモートコピーを行う場合には、ペア設定時に、正側の仮想ボリュームの全てのデータ（ゼロデータを含む全てのデータ）を副側の仮想ボリュームにコピーすることで、両仮想ボリューム間の内容を一致させている。
【０００８】
しかし、この方法では転送量が多いため、転送時間が大幅にかかる。このため、ストレージシステムには、データ転送に伴う負荷がかかってしまう、という問題が生じる。
【０００９】
そこで、本発明は、ストレージシステムに仮想ボリュームの技術を適用してペア設定時にリモートコピーを行う場合にもデータ転送に伴う負荷を削減することを可能とするストレージシステム、コピー方法及び正側のストレージ装置を提案しようとするものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するため、本発明は、正側の論理ボリュームを提供し、前記ホスト装置からのデータを前記正側の論理ボリュームに格納する正側のストレージ装置と、前記正側の論理ボリュームとペア設定される副側の仮想ボリュームを提供し、前記正側の論理ボリュームに格納された前記データを前記副側の仮想ボリュームにコピーする際、前記副側の仮想ボリュームに動的に副側の実ボリュームから記憶領域を割り当て、割り当てた前記記憶領域に前記データを格納する副側のストレージ装置とを備え、前記正側の論理ボリューム、前記副側の仮想ボリュームおよび前記副側の実ボリュームは、それぞれ記憶領域が複数のスロット領域に区切られており、前記正側の論理ボリュームと前記副側の仮想ボリュームとをペア設定した場合の初期コピー時、前記正側のストレージ装置は、前記正側の論理ボリュームの前記スロット領域毎にデータの有無を検索し、前記スロット領域にデータが格納されていない場合に、前記データが格納されていない通知を前記副側のストレージ装置に送信し、前記副側のストレージ装置は、前記正側のストレージ装置から前記通知を受信した場合に、前記副側の仮想ボリュームの前記スロット領域のうち、前記データをコピーすべき前記スロット領域に前記副側の実ボリュームから記憶領域が既に割り当てられている場合には、当該記憶領域にゼロデータを書き込み、当該スロット領域に前記実ボリュームから記憶領域が割り当てられていない場合には、何もしないようにした。
【００１１】
その結果、ペア設定時に、正側のストレージ装置は、正側の論理ボリュームにデータが保持されていない場合にはその旨の通知のみを副側のストレージ装置に送信すればよく、副側のストレージ装置側ではゼロデータを書き込めばよいため、データ転送時間やデータ転送に伴うストレージシステムの負荷を削減することができる。
【００１２】
また、本発明においては、正側の論理ボリュームを提供し、前記ホスト装置からのデータを前記正側の論理ボリュームに格納する正側のストレージ装置と、前記正側の論理ボリュームとペア設定される副側の仮想ボリュームを提供し、前記正側の論理ボリュームに格納された前記データを前記副側の仮想ボリュームにコピーする際、前記副側の仮想ボリュームに動的に副側の実ボリュームから記憶領域を割り当て、割り当てた前記記憶領域に前記データを格納する副側のストレージ装置とを有するストレージシステムのコピー方法であって、前記正側の論理ボリューム、前記副側の仮想ボリュームおよび前記副側の実ボリュームは、それぞれ記憶領域が複数のスロット領域に区切られており、前記正側の論理ボリュームと前記副側の仮想ボリュームとをペア設定した場合の初期コピー時、前記正側のストレージ装置が、前記正側の論理ボリュームの前記スロット領域毎にデータの有無を検索する検索ステップと、前記正側のストレージ装置が、前記スロット領域にデータが格納されていない場合に、前記データが格納されていない通知を前記副側のストレージ装置に送信する送信ステップと、前記副側のストレージ装置が、前記正側のストレージ装置から前記通知を受信した場合に、前記副側の仮想ボリュームの前記スロット領域のうち、前記データをコピーすべき前記スロット領域に前記副側の実ボリュームから記憶領域が既に割り当てられている場合には、当該記憶領域にゼロデータを書き込み、当該スロット領域に前記実ボリュームから記憶領域が割り当てられていない場合には、何もしない書き込みステップとを設けるようにした。
【００１３】
その結果、ペア設定時に、正側のストレージ装置は、正側の論理ボリュームにデータが保持されていない場合にはその旨の通知のみを副側のストレージ装置に送信すればよく、副側のストレージ装置側ではゼロデータを書き込めばよいため、データ転送時間やデータ転送に伴うストレージシステムの負荷を削減することができる。
【発明の効果】
【００１６】
本発明によれば、ペア設定時に、正側のストレージ装置内に格納されるデータのみを副側のストレージ装置に転送するため、データ転送に伴うストレージシステムの負荷を削減することができる。
【発明を実施するための最良の形態】
【００１７】
以下図面について、本発明の一実施の形態を詳述する。
（１）ストレージシステムの構成
【００１８】
図１において、１は全体として本実施の形態によるストレージシステムを示している。このストレージシステム１は、ホスト装置２がネットワーク３を介して正側のストレージ装置５Ａと接続され、正側のストレージ装置５Ａがコピー用ネットワーク４を介して副側のストレージ装置５Ｂと接続される構成である。
【００１９】
本実施の形態では、ホスト装置２からのデータの入出力を直接行うストレージ装置を正側のストレージ装置５Ａと呼ぶ。
【００２０】
ホスト装置２は、ＣＰＵやメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション、メインフレームなどから構成される。またホスト装置２は、キーボード、スイッチ等の情報入力装置（図示せず）と、モニタディスプレイやスピーカ等の情報出力装置（図示せず）とを備える。
【００２１】
ネットワーク３及びコピー用ネットワーク４は、例えばＳＡＮ（Storage Area Network）、ＬＡＮ（Local Area Network）、インターネット、公衆回線又は専用回線などから構成される。例えばネットワーク３がＳＡＮの場合には、ファイバチャネルプロトコルに従って行われ、ネットワーク３がＬＡＮの場合には、ＴＣＰ／ＩＰプロトコルに従って行われる。本実施の形態では、ホスト装置２と正側のストレージ装置５Ａとを接続するネットワーク３にＳＡＮを使用し、その他のネットワーク３及びコピー用ネットワーク４にＬＡＮを使用する。
【００２２】
ストレージ装置５は、複数のハードディスク（ＨＤＤ）６０からなるディスク部６と、複数のハードディスク６０をＲＡＩＤ方式で管理するコントローラ部７と、を備えて構成される。なお、特に区別する場合を除いて、Ａ，Ｂの記載はしない。
【００２３】
ハードディスク６０は、例えばＳＣＳＩディスク等のアクセス性能の高い高価なディスクや、ＳＡＴＡディスクや光ディスク等のアクセス性能の低い安価なディスク等から構成される。
【００２４】
コントローラ部７は、複数のチャネルアダプタ（図中、ＣＨＡと表記）７０、スイッチ７１、共有メモリ７２、キャッシュメモリ７３、複数のディスクアダプタ（図中、ＤＫＡと表記）７４及びサービスプロセッサ（図中、ＳＶＰと表記）７５を備えて構成される。
【００２５】
チャネルアダプタ７０は、マイクロプロセッサ７００、メモリ（図示せず）及び通信インタフェース等を備えたマイクロコンピュータシステムとして構成されており、ネットワークに接続するためのポートＰを備える。チャネルアダプタ７０は、ホスト装置２から送信される各種コマンドを解釈して、必要な処理を実行する。チャネルアダプタ７０のポートＰには、複数のチャネルアダプタ７０を識別するためのネットワークアドレス（例えば、ＩＰアドレスやＷＷＮ）が割り当てられており、これによりチャネルアダプタ７０は夫々個別にＮＡＳ（Network Attached Storage）として振舞うことができる。
【００２６】
スイッチ７１は、チャネルアダプタ７０、共有メモリ７２、キャッシュメモリ７３及びディスクアダプタ７４と接続されている。チャネルアダプタ７０、共有メモリ７２、キャッシュメモリ７３及びディスクアダプタ７４間のデータやコマンドの授受は、このスイッチ７１を介して行われる。
【００２７】
共有メモリ７２は、チャネルアダプタ７０及びディスクアダプタ７４により共有される記憶メモリである。共有メモリ７２は、主にシステム構成情報及び各種制御プログラムや、ホスト装置２からのコマンドなどを記憶するために利用される。なお、共有メモリ７２内に記憶される各種テーブルやプログラムについては、後述で説明する。
【００２８】
キャッシュメモリ７３も、チャネルアダプタ７０及びディスクアダプタ７４により共有される記憶メモリである。キャッシュメモリ７３は、主にストレージ装置に入出力されるデータを一時的に記憶するために利用される。
【００２９】
ディスクアダプタ７４は、マイクロプロセッサ７００（図示せず）やメモリ（図示せず）等を備えたマイクロコンピュータシステムとして構成され、ディスク部６との通信時におけるプロトコル制御を行うインタフェースとして機能する。ディスクアダプタ７４は、例えばファイバチャネルケーブルを介して対応するディスク部６と接続されており、ファイバチャネルプロトコルに従ってディスク部６との間のデータの授受を行う。
【００３０】
サービスプロセッサ７５は、ストレージ装置４の保守のために操作されるコンピュータ装置であり、例えばノート型のパーソナルコンピュータから構成される。サービスプロセッサ７５は、ネットワーク３を介してホスト装置２が接続されており、ホスト装置２からデータ或いは命令を受信することができる。
【００３１】
ストレージナビゲータ８は、ストレージ装置４の管理のために操作されるコンピュータ装置であり、例えばパーソナルコンピュータから構成される。ストレージナビゲータ８は、複数のストレージ装置からペアとなるストレージ装置を設定、後述する仮想ボリュームＶのペア設定、又は、後述する仮想ボリュームＶと論理ボリュームとの関連づけの管理等を行う。ストレージナビゲータ８は、このような設定処理や管理処理を管理画面８０に表示できる。
【００３２】
（２）ハードディスクの論理的な構成
本実施の形態によるストレージシステムでは、複数のハードディスク６０のうち、４台のハードディスク６０ごとに１つのレイドグループを構成する。そしてこの１つのレイドグループが提供する記憶領域上に、１又は複数の論理ボリュームＬＵが定義される。
【００３３】
論理ボリュームＬＵは、固有の識別子ＬＵＮ（Logical Block Number）が割り当てられる。データの入出力は、この識別子及び論理ボリューム内を論理的に分割したブロックに割り当てられる固有の番号ＬＢＡ（Logical Block Addressing）を組み合わせたアドレスを、指定して行われる。
【００３４】
図２は、ストレージシステム１における複数のハードディスク６０の論理的な構成を示した概念図である。
【００３５】
論理ボリュームＬＵの属性としては、ホスト装置２がアクセスする論理ボリュームである仮想ボリュームＶと、この仮想ボリュームＶと関連づけられる実ボリュームＲとに大別される。実ボリュームＲの記憶領域は、ハードディスク６０の実際の記憶領域と関連づけられている。そして、複数の実ボリュームＲによってプール領域ＰＯＯＬが形成される。
【００３６】
仮想ボリュームＶの記憶領域は、プール領域ＰＯＯＬ内にある実ボリュームＲの記憶領域が動的に割り当てられることにより作成される。仮想ボリュームＶは実際にはボリュームの実体を持たないため、ホスト装置２からのライト要求等によってデータを格納する場合には、プール領域ＰＯＯＬにある実ボリュームＲ内の記憶領域を確保してデータを格納する。ホスト装置２からのリード要求が、プール領域ＰＯＯＬにある実ボリュームＲ内の記憶領域を確保していない領域に対して発行された場合には、仮想ボリュームＶはプール領域ＰＯＯＬからゼロデータを読み出してホスト装置２に応答する。このように仮想ボリュームＶは、ボリュームの容量を仮想的に作成することで、物理容量に依存しない任意容量のボリュームをホスト装置２に提供することができる。
【００３７】
また、仮想ボリュームＶ及び実ボリュームＲは、ボリューム内の記憶領域をスロットＳと呼ばれる記憶領域で区切られている。そして、仮想ボリュームＶと実ボリュームＲとは、スロットＳで関連づけられている。スロットＳは、上述したデータが格納される最小の記憶領域であり、上述したブロックに相当する。
【００３８】
そして、本実施の形態では、仮想ボリュームＶ同士をペア設定するだけでなく、仮想ボリュームＶと実ボリュームＲとにペア設定を行うことを対象としている。ホスト装置２が直接アクセスする仮想ボリュームＶを正側の仮想ボリュームＶ（以下、正側仮想ボリュームＰＶ）と呼び、正側仮想ボリュームＰＶに格納されるデータ（実際には、正側仮想ボリュームＰＶに割り当てられるハードディスク６０ドライブの記憶領域に格納されるデータ）をコピーするコピー先の仮想ボリュームＶを副側の仮想ボリュームＳＶ（以下、副側仮想ボリュームＳＶ）と呼ぶ。
【００３９】
さらに、正側仮想ボリュームＰＶと関連づけられる実ボリュームを正側実ボリュームＰＲと呼び、副側仮想ボリュームＳＶと関連づけられる実ボリュームを副側実ボリュームＳＲと呼ぶ。
【００４０】
また、正側、副側を特に区別する場合を除いて、仮想ボリュームＶ、実ボリュームＲとして説明する。
【００４１】
（３）テーブル構成
ストレージシステム１が保持する各種テーブルについて説明する。各種テーブルは、正側のストレージ装置５Ａ、副側のストレージ装置５Ｂのそれぞれに保持される。以下では特に区別する場合を除いて、Ａ，Ｂの記載はしないものとする。
【００４２】
まず、図３は、共有メモリ７２に格納されている各種テーブル及びプログラムの一例を示している。
【００４３】
共有メモリ７２には、仮想ボリューム管理テーブル７２０、スロット群管理テーブル７２１、スロット盤テーブル７２２、スロットテーブル７２３、ペア設定テーブル７２４、コピープログラム７２５が格納される。特に、仮想ボリューム管理テーブル７２０、スロット群管理テーブル７２１、スロット盤テーブル７２２及びスロットテーブル７２３は、ペア設定とは別に、ストレージ装置５内で仮想ボリュームＶと実ボリュームＲとの記憶領域を関連づけるために使用される関連づけ情報である。なお、コピープログラム７２５は、ストレージ装置５がペアを形成し、コピーを実行するためのプログラムである。
【００４４】
（３−１）仮想ボリューム管理テーブル
仮想ボリューム管理テーブル７２０は、仮想ボリュームの記憶領域と関連づけされたスロット番号とが格納されるテーブルである。仮想ボリューム管理テーブル７２０は、「仮想ボリュームアドレス」欄７２００と「スロット番号」欄７２０１とから構成されている。
【００４５】
例えば、図４に示すように、仮想ボリューム管理テーブル７２０には、仮想ボリュームアドレス「０ｘ１０」に関連づけられたスロット番号「３〜１０」が格納されている。
【００４６】
（３−２）スロット群管理テーブル
スロット群管理テーブル７２１は、複数あるスロットをある群ごとに管理しているテーブルであり、「スロット番号群」欄７２１０から構成されている。
【００４７】
例えば、図５のスロット群管理テーブル７２１では、複数あるスロットが５０スロットずつ管理されていることを示す。したがって、スロット番号「３〜１０」は、スロット群管理テーブル７２１の１番目の行で管理されていることになる。
【００４８】
（３−３）スロット盤テーブル
スロット盤テーブル７２２は、スロット群管理テーブル７２１の各行で管理される複数のスロット番号を碁盤の目で示したテーブルである。例えば、スロット群管理テーブル７２１によって５０スロットずつ管理されている場合には、スロット１から５０までが1枚のスロット盤テーブル７２２に管理され、続いてスロット５１から１００までが次のスロット盤テーブル７２２によって管理されていることになる。このスロット盤テーブル７２２が仮想ボリュームと関連づけられている場合には、割り当て済領域「１」が表示される。逆に、仮想ボリュームと関連づけられていない場合には、未割り当て領域「０」が表示される。
【００４９】
例えば、図６に示すスロット盤テーブル７２２では、スロット番号「３〜１０」に割り当て済領域「１」が表示される。
【００５０】
（３−４）スロットテーブル
スロットテーブル７２３は、スロット番号毎に設けられるテーブルであって、任意のスロット番号に割り当てられる実ボリュームアドレスを格納するテーブルである。スロットテーブル７２３は、「スロット番号」欄７２３０と「実ボリュームアドレス」欄７２３１とから構成されている。
【００５１】
例えば、図７のスロットテーブル７２３には、スロット番号「３」に割り当てられる実ボリュームアドレス「００００」が格納されている。
【００５２】
（３−５）ペア設定テーブル
ペア設定テーブル７２４は、コピー元の記憶領域とコピー先の記憶領域とのペア設定を管理するためのテーブルである。ペア設定テーブル７２４は、「スロット番号」欄７２４０、「コピー元のアドレス」欄７２４１、「コピー先のアドレス」欄７２４２から構成される。
【００５３】
例えば図８に示すペア設定テーブル７２４は、スロット番号「３」に関連づけられる正副側の記憶領域が示されている。正副の記憶領域は、それぞれアドレス「０ｘ１０」が関連付けられている。
【００５４】
（３−６）ビットマップテーブル
ビットマップテーブルＭは、実ボリュームＲのデータを格納する記憶領域ＤＳ（以下、データ格納領域ＤＳという）内の状況を反映させた管理情報であり、スロット単位で碁盤の目に区切られていて管理されている。ビットマップテーブルＭは、仮想ボリュームＶとの関連づけがない実ボリュームに対して使用されるテーブルである。そして、ビットマップテーブルＭの碁盤の目には、スロット番号が割り振られている。ビットマップテーブルＭは、実ボリュームＲの管理情報を格納する管理格納領域ＭＳに格納される。なお、ビットマップテーブルはスロット単位として説明したが、仮想ボリュームのページ単位、ブロック単位といったスロット単位とは別のデータ単位で管理してもよい。
【００５５】
例えば、図９に示すように、任意の実ボリュームＲにデータが格納されている場合には、データが格納される記憶領域に対応するスロット番号に「１」が格納され、データが格納されていない場合には、データが格納されていない記憶領域に対応するスロット番号に「０」が格納される。
【００５６】
（４）データ転送処理
本実施の形態では、正側仮想ボリュームＰＶと副側仮想ボリュームＳＶ（第１のペア設定）、正側仮想ボリュームＰＶと副側実ボリュームＳＲ（第２のペア設定）、正側実ボリュームＰＲと副側仮想ボリュームＳＲ（第３のペア設定）、がペア設定をした場合における、それぞれのデータ転送処理を説明する。
【００５７】
（４−１）第１のペア設定
まず、ストレージシステム１において、正側仮想ボリュームＰＶと副側仮想ボリュームＳＶとをペア設定とした場合のデータ転送処理について説明する。この場合に、ペア設定テーブル７２４のコピー元のアドレスには、正側仮想ボリュームＰＶのアドレスが設定され、コピー先のアドレスには、副側仮想ボリュームＳＶのアドレスが設定される。
【００５８】
（４−１−１）正側ストレージ装置でのデータ転送処理
図１０に示すように、正側ストレージ装置でのデータ転送処理を説明する。正側ストレージ装置５Ａでのデータ転送方法は、チャネルアダプタ７０Ａのマイクロプロセッサ７００Ａがコピープログラム７２５に基づいて実行するものである。
【００５９】
マイクロプロセッサ７００Ａがホスト装置２またはストレージナビゲータ８Ａからリモートコピー指示を受信すると、ビットマップテーブルＭを参照して、正側仮想ボリュームＰＶの1つ目のスロットＳは割り当て済か否かを判断する（Ｓ１）。すなわち、マイクロプロセッサ７００Ａは、正側仮想ボリュームＰＶと関連づけられた正側実ボリュームにデータが格納されているかを検索する。このとき、マイクロプロセッサ７００Ａは、上述した仮想ボリューム管理テーブル７２０Ａ、スロット群管理テーブル７２１Ａ、スロット盤テーブル７２２Ａ及びスロットテーブル７２３Ａがコピー対象のスロットＳに割り当てられているか否かを検索する。
【００６０】
マイクロプロセッサ７００Ａがコピー対象のスロットＳは割り当て済であると判断すると（Ｓ１：Ｙｅｓ）、データが正側実ボリュームＰＲに格納されているので、正側仮想ボリュームＰＶと関連づけられる正側実ボリュームＰＲのアドレスからデータを読み出す（Ｓ２）。関連づけされた正側実ボリュームＰＲのアドレスは、上述したスロットテーブル７２３を用いて検索する。
【００６１】
マイクロプロセッサ７００Ａは、ペア設定テーブル７２４を参照し、読み出したデータをペア対象の副側仮想ボリュームＳＶに送信する（Ｓ３）。
【００６２】
ここで、ペア対象の副側仮想ボリュームＳＶに送信する際の情報を図１１に示す。送信情報ＳＩ１は、初期コピーであることを副側のストレージ装置５Ｂに通知するための「オペレーションコード」ＳＩ１０、コピーデータの有無を通知する「サブ情報」ＳＩ１１、コピー元のアドレス情報である「アドレス情報」ＳＩ１２、及び、「ユーザデータ」ＳＩ１３から構成される。
【００６３】
ステップＳ３は、コピーデータを送信する場合なので、「サブ情報」ＳＩ１１には「コピーデータあり」という情報が格納される。また、「アドレス情報」ＳＩ１２には、コピー開始位置である正側実ボリュームＰＶの先頭スロット番号が格納される。そして、「ユーザデータ」ＳＩ１３には、１スロットＳ分のデータが格納される。
【００６４】
一方、マイクロプロセッサ７００Ａは、コピー対象のスロットＳは未割り当てであると判断すると（Ｓ１：Ｎｏ）、データが正側実ボリュームＰＲには格納されていないので、コピー対象の正側仮想ボリュームＰＶの記憶領域（スロットＳ）にはデータが格納されていない旨の「未割り当てデータのメッセージ」を副側のストレージ装置５Ｂに送信する（Ｓ４）。
【００６５】
ここで、ペア対象の副側仮想ボリュームＳＶに送信する際の情報を図１２に示す。未割り当てデータのメッセージである送信情報ＳＩ２は、「オペレーションコード」ＳＩ２０、「サブ情報」ＳＩ２１、及び、コピー元のアドレス情報である「アドレス情報」ＳＩ２２から構成される。
【００６６】
ステップＳ４は、コピーデータを送信せず、メッセージのみを送信する場合なので、「サブ情報」ＳＩ２１には「コピーデータなし」という情報が格納される。また、「アドレス情報」ＳＩ２２には、データの格納有無を検索した正側実ボリュームＰＶの先頭スロット番号が格納される。
【００６７】
そうして、マイクロプロセッサ７００Ａは、全てのスロットＳに対して割り当て済か否かを判断して（Ｓ５）、全てのスロットＳに対してチェックをしていないと判断すると（Ｓ５：Ｎｏ）、次のチェック対象のスロットＳに対して再びステップＳ１からステップＳ４までの処理を実行する。
【００６８】
マイクロプロセッサ７００Ａは、全てのスロットＳに対して割り当て済か否かを判断すると（Ｓ５：Ｙｅｓ）、正側のストレージ装置５Ａのデータ転送処理を終了する。
【００６９】
（４−１−２）副側のストレージ装置でのデータ転送処理
引き続き、図１３に示すように、副側のストレージ装置５Ｂでのデータ転送処理を説明する。副側ストレージ装置５Ｂでのデータ転送方法は、チャネルアダプタ７０Ｂのマイクロプロセッサ７００Ｂがコピープログラム７２５に基づいて実行するものである。
【００７０】
まず、マイクロプロセッサ７００Ｂが正側のストレージ装置５Ａからデータを受信したと判断すると（Ｓ１０：Ｙｅｓ）、ペア設定テーブル７２４を参照し、コピー対象の副側仮想ボリュームＳＶを検索する。その後、マイクロプロセッサ７００Ｂは、ビットマップテーブルＭを参照して、検索した副側仮想ボリュームＳＶ内のスロットＳが既に副側実ボリュームＳＲに割り当てられているか否かを判断する（Ｓ１１）。このとき、マイクロプロセッサ７００Ｂは、上述した仮想ボリューム管理テーブル７２０Ｂ、スロット群管理テーブル７２１Ｂ、スロット盤テーブル７２２Ｂ及びスロットテーブル７２３Ｂがコピー対象のスロットＳに割り当てられているか否かを検索する。
【００７１】
マイクロプロセッサ７００Ｂが検索した副側仮想ボリュームＳＶ内のスロットＳが副側実ボリュームＳＲに割り当てられていない場合には（Ｓ１１：Ｎｏ）、副側実ボリュームＳＲ内にデータが格納されていないことを示すので、副側実ボリュームＳＲ内にデータ格納領域ＤＳを確保する（Ｓ１２）。このとき、マイクロプロセッサ７００Ｂは、確保した副側実ボリュームＳＲの記憶領域と副側仮想ボリュームＳＶとの関係を、仮想ボリューム管理テーブル７２０Ｂ、スロット群管理テーブル７２１Ｂ、スロット盤テーブル７２２Ｂ及びスロットテーブル７２３Ｂに設定する。
【００７２】
その後、マイクロプロセッサ７００Ｂは、受信したデータを確保した副側実ボリュームＳＲのデータ格納領域ＤＳに書き込んで（Ｓ１３）、データ転送処理を終了する。
【００７３】
一方、マイクロプロセッサ７００Ｂが検索した副側仮想ボリュームＳＶ内のスロットＳが既に割り当てられている場合には（Ｓ１１：Ｙｅｓ）、受信したデータを関連づけられた副側実ボリュームＳＲ内のデータ格納領域ＤＳに書き込んで（Ｓ１３）、データ転送処理を終了する。
【００７４】
ステップＳ１０において、マイクロプロセッサ７００Ｂが正側のストレージ装置５Ａからデータは受信していないが（Ｓ１０：Ｎｏ）、未割り当てデータのメッセージを受信した場合には（Ｓ１４：Ｙｅｓ）、ペア設定テーブル７２４を参照し、コピー対象の副側仮想ボリュームＳＶを検索する。その後、マイクロプロセッサ７００Ｂは、仮想ボリューム管理テーブル７２０Ｂ、スロット群管理テーブル７２１Ｂ、スロット盤テーブル７２２Ｂ及びスロットテーブル７２３Ｂを参照して、検索した副側仮想ボリュームＳＶ内のスロットＳが既に副側実ボリュームＳＲに割り当てられているか否かを判断する（Ｓ１５）。
【００７５】
マイクロプロセッサ７００Ｂが検索した副側仮想ボリュームＳＶ内のスロットＳが既に割り当てられている場合には（Ｓ１５：Ｙｅｓ）、関連づけられた実ボリュームＳＲ内のデータ格納領域ＤＳにゼロデータを書き込んで（Ｓ１６）、データ転送処理を終了する。
【００７６】
このように、ペアとして正側及び副側ともに仮想ボリュームＶを設定することで、ストレージシステム１は、実ボリュームＲの容量以上を仮想ボリュームＶの容量として作成できるため、将来的に増大するボリューム容量をも考慮して予め大容量の仮想ボリュームＶを作成しておくことができる。
【００７７】
また、正側のストレージ装置５Ａは、正側仮想ボリュームＰＶ内の未割り当て領域については未割り当てデータメッセージを副側のストレージ装置５Ｂに転送するのみで足りるため、副側のストレージ装置５Ｂ側ではデータ処理が不要となり、転送時間や副側での処理時間が大幅に削減できる。
【００７８】
（４−２）第２のペア設定
では次に、ストレージシステム１において、正側仮想ボリュームＰＶと副側実ボリュームＳＲとをペア設定とした場合のデータ転送処理について説明する。この場合に、ペア設定テーブル７２４のコピー元のアドレスには、正側仮想ボリュームＰＶのアドレスが設定され、コピー先のアドレスには、副側実ボリュームＳＲのアドレスが設定される。
【００７９】
（４−２−１）正側ストレージ装置でのデータ転送処理
正側ストレージ装置でのデータ転送処理は、上述したステップＳ１からステップＳ５までの処理と同様の処理手順なので、説明を省略する。
【００８０】
（４−２−２）副側ストレージ装置でのデータ転送処理
引き続き、図１４に示すように、副側のストレージ装置５Ｂでのデータ転送処理を説明する。副側ストレージ装置５Ｂでのデータ転送方法は、チャネルアダプタ７０Ｂのマイクロプロセッサ７００Ｂがコピープログラム７２５Ｂに基づいて実行するものである。
【００８１】
まず、マイクロプロセッサ７００Ｂが正側のストレージ装置５Ａからの送信情報ＳＩ１からデータを受信したと判断すると（Ｓ２０：Ｙｅｓ）、ペア設定テーブル７２４Ｂを参照し、コピー対象の副側実ボリュームＳＲを検索する。
【００８２】
その後、マイクロプロセッサ７００Ｂは、検索した副側実ボリュームＳＲ内のアドレスが示すデータ格納領域ＤＳに受信したデータを書き込むと（Ｓ２１）、データ転送処理を終了する。
【００８３】
ステップＳ２０において、マイクロプロセッサ７００Ｂが正側のストレージ装置５Ａからの送信情報ＳＩ２に基づいて、データは受信していないが（Ｓ２０：Ｎｏ）、未割り当てデータのメッセージを受信したと判断すると（Ｓ２２：Ｙｅｓ）、検索した副側実ボリュームＳＲ内のアドレスが示すデータ格納領域ＤＳにゼロデータを書き込み（Ｓ２３）、データ転送処理を終了する。
【００８４】
また、図１５に示すように、副側のストレージ装置５Ｂがクイックフォーマット処理を実行することも可能である。クイックフォーマット処理とは、副側実ボリュームＳＲのデータ格納領域ＤＳ内のデータを消去する処理である。
【００８５】
具体的には、ステップＳ２０において、マイクロプロセッサ７００Ｂが正側のストレージ装置５Ａからの送信情報ＳＩ２に基づいて、データは受信していないが（Ｓ２０：Ｎｏ）、未割り当てデータのメッセージを受信したと判断すると（Ｓ２２：Ｙｅｓ）、副側実ボリュームＳＲのデータ格納領域に格納されるデータを消去する（Ｓ２４）。このとき、マイクロプロセッサ７００Ｂは、副側実ボリュームＳＲに格納されるビットマップテーブルＭの対象スロットＳを「０」に設定する。
【００８６】
そうして、マイクロプロセッサ７００Ｂは、データ転送処理を終了する。
【００８７】
このように、ペアとして正側には仮想ボリュームＶ、副側には実ボリュームＲを設定することで、正側のストレージ装置５Ａは、正側仮想ボリュームＰＶ内の未割り当て領域については未割り当てデータメッセージを副側のストレージ装置５Ｂに転送するのみで足りる。また副側のストレージ装置５Ｂ側ではゼロデータをペア設定されたデータ格納領域ＤＳに書き込むだけでいいので、データ転送処理が不要となり、転送時間が削減できる。
【００８８】
（４−３）第３のペア設定
次に、ストレージシステム１において、正側実ボリュームＰＲと副側仮想ボリュームＳＶとをペア設定とした場合のデータ転送処理について説明する。この場合に、ペア設定テーブル７２４のコピー元のアドレスには、正側実ボリュームＰＲのアドレスが設定され、コピー先のアドレスには、副側仮想ボリュームＳＶのアドレスが設定される。
【００８９】
（４−３−１）正側ストレージ装置でのデータ転送処理
図１６に示すように、正側ストレージ装置でのデータ転送処理を説明する。正側ストレージ装置５Ａでのデータ転送方法は、チャネルアダプタ７０Ａのマイクロプロセッサ７００Ａがコピープログラム７２５に基づいて実行するものである。
【００９０】
マイクロプロセッサ７００Ａがホスト装置２またはストレージナビゲータ８Ａからリモートコピー指示を受信すると、ビットマップテーブルＭを正側実ボリュームＰＲの管理格納領域ＭＳからから読み出し、正側実ボリュームＰＲのコピー対象となる１つ目のスロットＳはゼロであるか否かを判断する（Ｓ３０）。つまり、マイクロプロセッサ７００Ａは、1つ目のスロットＳ位置に対応するデータ格納領域ＤＳにはデータが格納されていないか否かを検索する。
【００９１】
マイクロプロセッサ７００Ａがコピー対象となる１つ目のスロットＳはゼロであると判断すると（Ｓ３０：Ｙｅｓ）、「未割り当てデータのメッセージ」を送信情報ＳＩ２として副側のストレージ装置５Ｂに送信する（Ｓ３１）。
【００９２】
一方、マイクロプロセッサ７００Ａがコピー対象となる１つ目のスロットＳに対応するデータ格納領域ＤＳにデータがあると判断すると（Ｓ３０：Ｎｏ）、そのデータ格納領域ＤＳからデータを読み出し（Ｓ３２）、読み出したデータを送信情報ＳＩ１として副側のストレージ装置５Ｂに送信する（Ｓ３３）。
【００９３】
そうして、マイクロプロセッサ７００Ａは、全てのスロットＳに対して割り当て済か否かを判断して（Ｓ３４）、全てのスロットＳに対してチェックをしていないと判断すると（Ｓ３４：Ｎｏ）、次のチェック対象のスロットＳに対して再びステップＳ３０からステップＳ３３までの処理を実行する。
【００９４】
マイクロプロセッサ７００Ａは、全てのスロットＳに対して割り当て済か否かを判断すると（Ｓ３４：Ｎｏ）、正側のストレージ装置５Ａのデータ転送処理を終了する。
【００９５】
（４−３−２）副側ストレージ装置でのデータ転送処理
副側ストレージ装置でのデータ転送処理は、上述したステップＳ２０からステップＳ２４までの処理と同様の処理手順なので、説明を省略する。
【００９６】
このように、ペアとして正側には実ボリュームＲ、副側には仮想ボリュームＲを設定することで、正側のストレージ装置５Ａは、正側実ボリュームＰＲ内でデータが格納されていない領域を検索し、データが格納されていない領域については「未割り当てデータメッセージ」を副側のストレージ装置５Ｂに転送するのみで足りる。また副側のストレージ装置５Ｂ側ではゼロデータをペア設定されたデータ格納領域ＤＳに書き込むだけでいいので、データ転送処理が不要となり、転送時間が削減できる。
【００９７】
（５）本実施の形態の効果
以上のように、本実施の形態では、ペア設定時に、正側のストレージ装置内に格納されるデータのみを副側のストレージ装置に転送するため、データ転送に伴うストレージシステムの負荷を削減することができる。
【産業上の利用可能性】
【００９８】
本発明は、１又は複数のストレージ装置を有するストレージシステムや、その他の形態のストレージシステムに広く適用することができる。
【図面の簡単な説明】
【００９９】
【図１】本実施の形態におけるストレージシステムのハードウェア構成を示すブロック図である。
【図２】本実施の形態における論理ボリュームを説明する概念図である。
【図３】本実施の形態における共有メモリの内容を示すブロック図である。
【図４】本実施の形態における仮想ボリューム管理テーブルを示す図表である。
【図５】本実施の形態におけるスロット群管理テーブルを示す図表である。
【図６】本実施の形態におけるスロット盤テーブルを示す図表である。
【図７】本実施の形態におけるスロットテーブルを示す図表である。
【図８】本実施の形態におけるペア設定テーブルを示す図表である。
【図９】本実施の形態におけるビットマップテーブルを示す説明図である。
【図１０】本実施の形態の第１のペア設定において、正側のストレージ装置が実行するデータ転送処理を示すフローチャートである。
【図１１】本実施の形態のコピーデータを送信する場合において、送信情報を示す図表である。
【図１２】本実施の形態の未割り当てデータメッセージを送信する場合において、送信情報を示す図表である。
【図１３】本実施の形態の第１のペア設定において、副側のストレージ装置が実行するデータ転送処理を示すフローチャートである。
【図１４】本実施の形態の第２のペア設定において、副側のストレージ装置が実行するデータ転送処理を示すフローチャートである。
【図１５】本実施の形態の第２のペア設定において、副側のストレージ装置が実行するクイックフォーマット処理を示すフローチャートである。
【図１６】本実施の形態の第３のペア設定において、正側のストレージ装置が実行するデータ転送処理を示すフローチャートである。
【符号の説明】
【０１００】
１……ストレージシステム、２……ホスト装置、３……ネットワーク、４……コピー用のネットワーク、５Ａ……正側のストレージ装置、５Ｂ……副側のストレージ装置、６０Ａ、６０Ｂ……ハードディスク、７０……チャネルアダプタ、７００……マイクロプロセッサ、７１……スイッチ、７２……共有メモリ、７３……キャッシュメモリ、７４……ディスクアダプタ、８……ストレージナビゲータ、８０……管理画面、７２０……仮想ボリューム管理テーブル、７２１……スロット群管理テーブル、７２２……スロット盤テーブル、７２３……スロットテーブル、７２４……ペア設定テーブル、７２５……コピープログラム、Ｍ……ビットマップテーブル、ＤＳ……データ格納領域、ＭＳ……管理格納領域。
【図１】
0005317495.tif 000002
【図２】
0005317495.tif 000003
【図３】
0005317495.tif 000004
【図４】
0005317495.tif 000005
【図５】
0005317495.tif 000006
【図６】
0005317495.tif 000007
【図７】
0005317495.tif 000008
【図８】
0005317495.tif 000009
【図９】
0005317495.tif 000010
【図１０】
0005317495.tif 000011
【図１１】
0005317495.tif 000012
【図１２】
0005317495.tif 000013
【図１３】
0005317495.tif 000014
【図１４】
0005317495.tif 000015
【図１５】
0005317495.tif 000016
【図１６】
0005317495.tif 000017