(57)【要約】【課題】  ディスクアレイ装置の各種資源を各ユーザ毎に分割すると共に、リモートコピーに使用する通信資源を適切に割り当てることにより、分割単位間の性能干渉を防止して安定したリモートコピーを実現する。【解決手段】  ディスクアレイ装置１０内には、各ユーザ毎の専用領域であるSLPRが設定される。各SLPRは、ポート、キャッシュメモリ、論理デバイス等の各種資源を分割したもので、権限の無いSLPRにホストコンピュータ１はアクセスできない。また、各SLPRの管理者も、他のSLPRの構成を参照したり変更することはできない。リモートコピー時には、各SLPR毎にそれぞれ単位時間内転送量が検出される。単位時間内転送量が最大転送量を超えた場合、そのSLPRからホストコンピュータ１への応答を意図的に遅らせて、ホストコンピュータ１からのデータ流入を抑制する。【選択図】        図１
2005190057.tif 000002
【特許請求の範囲】
【請求項１】
通信ポートを介して上位装置及び外部装置とそれぞれ接続され、前記上位装置及び前記外部装置とのデータ授受を制御するチャネルアダプタと、
記憶デバイスとのデータ授受を制御するディスクアダプタと、
前記チャネルアダプタ及び前記ディスクアダプタによりそれぞれ使用されるキャッシュメモリと、
前記チャネルアダプタと前記ディスクアダプタと前記記憶デバイス及び前記キャッシュメモリがそれぞれ提供する資源を論理的に分割して構成される少なくとも１つ以上の論理的システム分割領域と、
前記論理的システム分割領域から前記外部装置へのデータ転送量を前記論理的システム分割領域毎に検出する転送量検出部と、
前記論理的システム分割領域毎に予め設定されている所定値と前記転送量検出部により検出されたデータ転送量とを比較し、前記データ転送量が前記所定値を超える場合は、前記論理的システム分割領域から前記外部装置へのデータ転送を制限する帯域制御を行うデータ転送制御部と、
を備えたディスクアレイ装置。
【請求項２】
前記上位装置からの書込み要求に基づいて、前記外部装置へのデータ転送が行われる請求項１に記載のディスクアレイ装置。
【請求項３】
前記所定値を可変に設定するための管理部を備えた請求項１に記載のディスクアレイ装置。
【請求項４】
前記論理的システム分割領域内の設定変更を行う分割領域用管理部と、前記論理的システム分割領域への前記資源の割り当て及び前記所定値を可変に設定するためのシステム用管理部とを備えた請求項１に記載のディスクアレイ装置。
【請求項５】
前記所定値は、前記論理的システム分割領域に割り当てられた前記資源の量に応じて設定可能である請求項１に記載のディスクアレイ装置。
【請求項６】
前記データ転送制御部は、前記データ転送が非同期式で行われる場合と同期式で行われる場合とで、前記帯域制御を異ならせることができる請求項１に記載のディスクアレイ装置。
【請求項７】
前記論理的システム分割領域から前記外部装置へのデータ転送には、初期データ転送と、差分データ転送とが含まれており、前記データ転送制御部は、前記初期データ転送を行う場合と前記差分データ転送を行う場合とで、前記帯域制御を異ならせることができる請求項１に記載のディスクアレイ装置。
【請求項８】
前記データ転送制御部は、前記データ転送量が前記所定値を超える場合に、前記上位装置から前記論理的システム分割領域へのデータ書込み量を抑制することにより、前記データ転送を制限するものである請求項１に記載のディスクアレイ装置。
【請求項９】
前記データ転送制御部は、前記データ転送量が前記所定値を超える場合に、前記上位装置からのデータ書込み要求に対する応答を予め設定された所定時間だけ遅延させることにより、前記データ転送を制限するものである請求項１に記載のディスクアレイ装置。
【請求項１０】
前記チャネルアダプタは、前記上位装置からのデータを受信するデータ受信部と、前記受信したデータを前記キャッシュメモリの所定領域に記憶させるキャッシュ制御部と、前記キャッシュメモリから前記外部装置への転送対象となっているデータを取得するデータ取得部と、前記データ取得部により取得されたデータを前記外部装置に転送する転送処理部とを備えており、
前記データ転送制御部は、前記所定値と前記データ転送量とを比較する第１データ転送制御部と、前記データ転送量が前記所定値を超える場合は、前記論理的システム分割領域から前記外部装置へのデータ転送を制限する第２データ転送制御部とを備え、
前記転送量検出部は、前記転送処理部に設けられ、前記第１データ転送制御部は前記データ取得部に設けられ、前記第２データ転送制御部は前記データ受信部に設けられている請求項１に記載のディスクアレイ装置。
【請求項１１】
前記論理的システム分割領域には、前記キャッシュメモリの記憶資源を分割して形成される少なくとも１つ以上のキャッシュ分割領域を設けることができる請求項１に記載のディスクアレイ装置。
【請求項１２】
通信ポートを介して上位装置及び外部のディスクアレイ装置とそれぞれ接続され、前記上位装置及び前記外部のディスクアレイ装置とのデータ授受を制御するチャネルアダプタと、
ディスクドライブとのデータ授受を制御するディスクアダプタと、
前記チャネルアダプタ及び前記ディスクアダプタによりそれぞれ使用されるキャッシュメモリと、
前記チャネルアダプタと前記ディスクアダプタと前記ディスクドライブに基づく論理デバイスと前記キャッシュメモリとがそれぞれ提供する資源を論理的に分割して構成される少なくとも１つ以上の論理的システム分割領域とを備え、
前記チャネルアダプタは、
前記上位装置からのデータを受信するデータ受信部と、
前記受信したデータを前記キャッシュメモリの所定領域に記憶させるキャッシュ制御部と、
前記キャッシュメモリから前記外部のディスクアレイ装置への転送対象となっているデータを取得するデータ取得部と、
前記データ取得部により取得されたデータを前記外部のディスクアレイ装置に転送する転送処理部と、
前記論理的システム分割領域から前記外部のディスクアレイ装置へのデータ転送量を前記論理的システム分割領域毎に検出する転送量検出部と、
前記論理的システム分割領域毎に予め設定されている所定値と前記転送量検出部により検出されたデータ転送量とを比較する第１データ転送制御部と、
前記第１データ転送制御部により前記データ転送量が前記所定値を超えると判断された場合は、前記上位装置からのデータ書込み要求に対する応答を予め設定された所定時間だけ遅延させることにより、前記論理的システム分割領域から前記外部のディスクアレイ装置へのデータ転送を制限する第２データ転送制御部と、
を備えているディスクアレイ装置。
【請求項１３】
通信ポートを介して上位装置及び外部のディスクアレイ装置とそれぞれ接続され、前記上位装置及び前記外部のディスクアレイ装置とのデータ授受を制御するチャネルアダプタと、記憶デバイスとのデータ授受を制御するディスクアダプタと、前記チャネルアダプタ及び前記ディスクアダプタによりそれぞれ使用されるキャッシュメモリと、前記チャネルアダプタと前記ディスクアダプタと前記記憶デバイス及び前記キャッシュメモリがそれぞれ提供する資源を論理的に分割して構成される少なくとも１つ以上の論理的システム分割領域とを備えたディスクアレイ装置のリモートコピー制御方法であって、
前記論理的システム分割領域から前記外部のディスクアレイ装置へのリモートコピーを実行するか否かを判定するステップと、
前記リモートコピーを実行すると判定された場合は、リモートコピーを行う前記論理的システム分割領域を特定するステップと、
前記特定された論理的システム分割領域から前記外部のディスクアレイ装置へのデータ転送量を検出するステップと、
前記特定された論理的システム分割領域に予め設定されている最大転送量と前記検出されたデータ転送量とを比較するステップと、
前記データ転送量が前記最大転送量を超えると判定された場合は、前記上位装置からのデータ書込み要求に対する応答を予め設定された所定時間だけ遅延させることにより、前記特定された論理的システム分割領域から前記外部のディスクアレイ装置へのデータ転送を制限するステップと、
前記データ転送量が前記最大転送量以下であると判定された場合は、前記特定された論理的システム分割領域から前記外部のディスクアレイ装置へのデータ転送を制限することなく実行させるステップと、
を含んだディスクアレイ装置のリモートコピー制御方法。
【請求項１４】
通信ポートを介して上位装置及び外部装置とそれぞれ接続され、前記上位装置及び前記外部装置とのデータ授受を制御するチャネルアダプタと、記憶デバイスとのデータ授受を制御するディスクアダプタと、前記チャネルアダプタ及び前記ディスクアダプタによりそれぞれ使用されるキャッシュメモリと、前記チャネルアダプタと前記ディスクアダプタと前記記憶デバイス及び前記キャッシュメモリがそれぞれ提供する資源を論理的に分割して構成される少なくとも１つ以上の論理的システム分割領域とを備えたディスクアレイ装置の制御方法であって、
前記論理的システム分割領域から前記外部装置へのデータ転送量を前記論理的システム分割領域毎に検出するステップと、
前記論理的システム分割領域毎に予め設定されている所定値と前記検出されたデータ転送量とを比較するステップと、
前記データ転送量が前記所定値を超えると判定された場合は、前記論理的システム分割領域から前記外部装置へのデータ転送を制限するステップと、
を含んだディスクアレイ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置及びディスクアレイ装置のリモートコピー制御方法に関する。
【背景技術】
【０００２】
ディスクアレイ装置は、例えば、多数のディスクドライブをアレイ状に配設し、RAID（Redundant Array of Independent Inexpensive Disks）に基づいて構築されている。各ディスクドライブが有する物理的な記憶領域上には、論理的な記憶領域である論理ボリュームが形成されている。この論理ボリュームにはＬＵＮ（Logical Unit Number）が予め対応付けられている。ホストコンピュータは、ＬＵＮ等を特定することにより、ディスクアレイ装置に対して所定形式の書込みコマンド又は読出しコマンドを発行する。これにより、ホストコンピュータは、ディスクアレイ装置に対して所望のデータの読み書きを行うことができる。
【０００３】
ディスクアレイ装置には複数のホストコンピュータを接続可能である。ここで、あるホストコンピュータまたはアプリケーションプログラムが管理するデータ群を、他のホストコンピュータまたはアプリケーションプログラムから読み書き可能である場合、不都合を生じることがある。そこで、ゾーニングやＬＵＮマスキング等の技術が用いられる。ゾーニングとは、ディスクアレイ装置に１つまたは複数のゾーンを設定し、ゾーンに属する特定の通信ポートやＷＷＮ（World Wide Name）のみにデータ転送を許可する技術である。ＬＵＮマスキングとは、特定のホストコンピュータに対して特定のＬＵＮへのアクセスを許可する技術である（特許文献１）。また、リモートコピーについては、後述の従来技術が知られている（特許文献２、特許文献３）。
【特許文献１】特開２００３−３００５３号公報
【特許文献２】特開２００２−３３４０４９号公報
【特許文献３】特開２００３−０３２２９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のゾーニングやＬＵＮマスキングにより、ホストコンピュータからディスクアレイ装置へのアクセス制限を設定することができる。しかし、従来技術では、アクセス制限が可能となるだけで、セキュリティを考慮した資源の排他的使用や資源の分割を行うことができない。即ち、アクセス制限を設定している場合でも、管理端末のストレージ管理ソフトウェアから誤った構成変更を指示した場合は、他のホストコンピュータ用の資源にまで影響を及ぼす可能性がある。
【０００５】
特に、ディスクアレイ装置の記憶領域を複数の企業等に割り当てて使用させるような場合は、各企業毎に使用される管理端末により、他の企業が管理する領域の構成が変更されないようにセキュリティを設定する必要があるが、従来技術ではこのような場合のセキュリティについて考慮されていない。
【０００６】
ところで、ディスクアレイ装置では、データ保全等のために、データのバックアップを適宜行うようになっている。このバックアップ技術の１つとして、いわゆるリモートコピー（あるいはミラーリング）が知られている。リモートコピーでは、ローカルシステム（ローカルディスクアレイシステムであり、あるいはマスタシステムまたはプライマリシステムとも呼ばれる）に管理されているデータを、ローカルシステムから物理的に離れた場所に設置されるリモートシステム（リモートディスクアレイシステム）に転送する。これにより、ローカルシステムとリモートシステムとで同一内容のデータ群をそれぞれ保持することができる。
【０００７】
１つのディスクアレイ装置の記憶資源を複数の企業等に割り当ててそれぞれ使用させる場合も、各企業の使用領域毎にそれぞれリモートコピーを行うことができる。ここで、ローカルシステムとリモートシステムとの間が、例えば高価な専用回線等で接続されている場合は、リモートコピーに使用する通信ネットワークの帯域が自ずと制限される。従って、限られた共通の通信資源を用いて複数の異なるリモートコピーを行う場合は、ある企業等の使用領域をリモートコピーすることにより、他の企業等が使用する領域のリモートコピーが影響を受ける可能性がある。即ち、例えば、あるリモートコピーが通信ネットワークの全帯域を長期間占有してリモートコピーを行っている間、他のリモートコピーを行うことができず、使い勝手等が低下する。
【０００８】
そこで、特許文献２に記載の従来技術では、リモートコピーを行うサイドファイルの総量をディスクアレイ装置内で管理し、サイドファイルに占める各ホストコンピュータ毎のデータ量を個別に制御している。また、特許文献３に記載の従来技術では、ローカルシステムとリモートシステムとの間をチャネルエクステンダを介して接続し、ユーザポリシーに基づいて複数の通信ネットワークの中から自動的に通信ネットワークを選択するようにしている。
【０００９】
しかし、ディスクアレイ装置内でサイドファイルの総量を制御した場合でも、ローカルシステムとリモートシステムとの間では、限られた共通の通信ネットワークを介してデータ転送が行われる。ローカルシステムとリモートシステム間の限られた通信資源を共用してリモートコピーを行うため、特許文献２に記載の技術では、各ホストコンピュータまたはアプリケーションプログラム間の影響が残り、改善の余地がある。
【００１０】
特許文献３に記載の技術のように、チャネルエクステンダを用いて通信ポート毎に使用帯域を割り当てることができる。しかし、この場合は、各ホストコンピュータ毎に予め通信ポートを割り当てておく必要があり、ディスクアレイ装置内の構成が変更された場合には、これに応じてチャネルエクステンダの設定も変更する必要がある。従って、特許文献３の場合は、ディスクアレイ装置内の構成変更に柔軟に対応することができず、使い勝手の点で改善の余地がある。
【００１１】
そこで、本発明の１つの目的は、限られた通信資源を用いて複数のデータ転送を効率的に行うことが可能なディスクアレイ装置及びディスクアレイ装置のリモートコピー制御方法を提供することにある。本発明の１つの目的は、ディスクアレイ装置に設定される各論理的システム分割領域毎に、他の論理的システム分割領域におけるデータ転送の影響を低減して、データ転送を行うことができるディスクアレイ装置及びディスクアレイ装置のリモートコピー制御方法を提供することにある。本発明の他の目的は、後述する実施の形態の記載から明らかになるであろう。
【課題を解決するための手段】
【００１２】
上記課題を解決すべく、本発明に従うディスクアレイ装置は、通信ポートを介して上位装置及び外部装置とそれぞれ接続され、上位装置及び外部装置とのデータ授受を制御するチャネルアダプタと、記憶デバイスとのデータ授受を制御するディスクアダプタと、チャネルアダプタ及びディスクアダプタによりそれぞれ使用されるキャッシュメモリと、チャネルアダプタとディスクアダプタと記憶デバイス及びキャッシュメモリがそれぞれ提供する資源を論理的に分割して構成される少なくとも１つ以上の論理的システム分割領域と、論理的システム分割領域から外部装置へのデータ転送量を論理的システム分割領域毎に検出する転送量検出部と、論理的システム分割領域毎に予め設定されている所定値と転送量検出部により検出されたデータ転送量とを比較し、データ転送量が所定値を超える場合は、論理的システム分割領域から外部装置へのデータ転送を制限する帯域制御を行うデータ転送制御部と、備えている。
【００１３】
論理的システム分割領域は、ディスクアレイ装置内に少なくとも１つ以上設定可能である。論理的システム分割領域は、チャネルアダプタの提供する資源、ディスクアダプタの提供する資源、記憶デバイスの提供する資源、キャッシュメモリの提供する資源を論理的に分割することにより形成される。ここで、具体的な資源としては、例えば、チャネルアダプタの有する通信ポート、記憶デバイスの記憶領域上に設定される論理デバイス（論理ボリューム）、キャッシュメモリ容量等のような物理的資源または論理的資源を挙げることができる。即ち、各論理的システム分割領域は、それぞれが独自のストレージシステム資源を占有している。そして、各論理的システム分割領域毎に、それぞれ少なくとも１つ以上の上位装置を接続することができる。さらに、論理的システム分割領域内には、キャッシュメモリの記憶資源を分割して形成される少なくとも１つ以上のキャッシュ分割領域を設けることもできる。
【００１４】
各論理的システム分割領域毎のデータ転送に関して、予め所定値が設定されている。データ転送制御部は、転送量検出部により検出されたデータ転送量と所定値とを比較し、データ転送量が所定値を超える場合は、各論理的システム分割領域毎にデータ転送をそれぞれ制限させる。外部装置としては、例えば、ローカルサイト（プライマリサイト）のディスクアレイ装置と同様の構成を有するリモートサイト（セカンダリサイト）のディスクアレイ装置を挙げることができる。例えば、外部装置は、ローカルサイトに設置されるディスクアレイ装置のデータコピーを保持できれば足り、キャッシュメモリ量等が同一である必要はない。
【００１５】
本発明の一態様では、上位装置からの書込み要求に基づいて、外部装置へのデータ転送が行われる。
本発明の一態様では、所定値を可変に設定するための管理部を備えている。
【００１６】
本発明の一態様では、論理的システム分割領域内の設定変更を行う分割領域用管理部と、論理的システム分割領域への資源の割り当て及び所定値を可変に設定するためのシステム用管理部とを備えている。分割領域用管理部は、それぞれに割り当てられている論理的システム分割領域内の設定を変更する。システム用管理部は、ディスクアレイ装置全体の設定変更（資源の割り当てや所定値の設定等）を行う。各分割領域用管理部は、それぞれに関連付けられている論理的システム分割領域に対してのみ操作を行うことができ、他の論理的システム分割領域に対して操作を行うことはできない。これに対し、システム用管理部は、全ての論理的システム分割領域に対して操作可能である。
【００１７】
本発明の一態様では、所定値は、論理的システム分割領域に割り当てられた資源の量に応じて設定可能である。例えば、論理的システム分割領域に割り当てられている論理ボリュームの量が大きい場合には、データ転送に使用する帯域が広くなるように制御することができる。あるいは、例えば、論理的システム分割領域に割り当てられているキャッシュメモリ量が大きい場合は、この論理的システム分割領域に割り当てる通信帯域を広くするように（所定値を大きくするように）制御することができる。
【００１８】
本発明の一態様では、データ転送制御部は、データ転送が非同期式で行われる場合と同期式で行われる場合とで、帯域制御を異ならせることができる。ここで、同期式データ転送とは、上位装置からの書込み要求（データ更新操作）があった場合に、外部装置へのデータ転送を確認した後で、上位装置に対して書込み完了を報告するモードである。非同期式データ転送とは、上位装置からの書込み要求があった場合に、キャッシュメモリにデータを格納した時点で（つまり外部装置にデータを転送するよりも前に）、上位装置に対して書込み完了を報告するモードである。そして、例えば、同期式データ転送が選択される場合は、外部装置へのデータ転送の信頼性を求める場合であると考えることができ、非同期式データ転送が選択される場合は、応答速度の向上を求める場合であると考えることができる。従って、例えば、同期式データ転送が行われる場合は、データ転送の信頼性を確保しつつ応答性の低下を抑制するために、通信帯域が広くなるように（所定値を大きく設定するように）制御することができる。同期式データ転送を行う場合は、転送性能がサービス応答性に大きな影響を与えうるからである。
例えば、以下のような構成を採用可能である。即ち、同期式コピー転送用の帯域と非同期式コピー転送用の帯域とを、予め管理部を介して設定しておく。そして、データ転送が開始された場合に、同期式データ転送であるか非同期式データ転送であるかを判別し、同期式データ転送で転送されるデータを優先的に転送させる。同期式データ転送を優先する結果、非同期式データ転送で送信されるべきデータがキャッシュメモリに所定量以上溜まった場合は、非同期式データ転送に係わる上位装置に対して、データの流入制限を実施することができる。
なお、同期式データ転送または非同期式データ転送の帯域を設定する単位としては、例えば、転送対象（リモートコピー等）の論理ボリューム毎、または、複数の論理ボリュームをグループ化した各グループ毎、を挙げることができる。あるいは、ボリューム単位あるいは複数ボリュームから構成されるグループ単位で帯域を設定するのではなく、単純に、同期式データ転送と非同期式データ転送とで切り分けて、それぞれに対し帯域を設定することもできる。
【００１９】
本発明の一態様では、論理的システム分割領域から外部装置へのデータ転送には、初期データ転送と、差分データ転送とが含まれており、データ転送制御部は、初期データ転送を行う場合と差分データ転送を行う場合とで、帯域制御を異ならせることができるようになっている。例えば、リモートコピーの場合は、ローカルシステムとリモートシステムとで同一のデータ群を保持する。各システムに同一のデータ群を形成する場合は、まず始めに、ある時点におけるローカルシステムの記憶内容をリモートシステムに丸ごとコピーする（初期データ転送あるいは初期コピー）。次に、初期コピー後に生じた差分データ（更新データ）をローカルシステムからリモートシステムに転送し、記憶内容を同期させる（差分データ転送あるいは差分コピー）。初期コピーが完了すると、ある時点におけるデータの複製がリモートシステムに構築され、リカバリ可能な状態となる。従って、例えば、リカバリ可能状態への早期移行を望む場合は、初期コピーに広い通信帯域を割り当てることができる。
例えば、以下のような構成を採用可能である。初期コピー用の帯域と差分コピー用の帯域とを、予め管理部を介して設定しておく。帯域は、例えば、論理ボリューム毎、複数の論理ボリュームから構成されるグループ毎、あるいは、単純に初期コピーと差分コピーとで切り分ける等のようにして、設定可能である。そして、コピーが開始された場合は、初期コピーであるか差分コピーであるかを判別し、初期コピーであると判定された場合は、初期コピーのデータを優先的に転送させる。
【００２０】
本発明の一態様では、データ転送制御部は、データ転送量が所定値を超える場合に、上位装置から論理的システム分割領域へのデータ書込み量を抑制することにより、データ転送を制限する。
【００２１】
本発明の一態様では、データ転送制御部は、データ転送量が所定値を超える場合に、上位装置からのデータ書込み要求に対する応答を予め設定された所定時間だけ遅延させることにより、データ転送を制限する。ディスクアレイ装置からの応答を待って、上位装置は新たなデータ書込み要求を発行するため、応答を遅延させることにより、上位装置から書き込まれる単位時間あたりのデータ量を抑制することができる。
【発明を実施するための最良の形態】
【００２２】
以下、図１〜図１２に基づき、本発明の実施の形態を説明する。本実施形態では、通信ポートを介して上位装置及び外部のディスクアレイ装置とそれぞれ接続され、上位装置及び外部のディスクアレイ装置とのデータ授受を制御するチャネルアダプタと、ディスクドライブとのデータ授受を制御するディスクアダプタと、チャネルアダプタ及びディスクアダプタによりそれぞれ使用されるキャッシュメモリと、チャネルアダプタとディスクアダプタとディスクドライブに基づく論理デバイスとキャッシュメモリとがそれぞれ提供する資源を論理的に分割して構成される少なくとも１つ以上の論理的システム分割領域とを備えたディスクアレイ装置が開示されている。さらに、チャネルアダプタは、上位装置からのデータを受信するデータ受信部と、受信したデータをキャッシュメモリの所定領域に記憶させるキャッシュ制御部と、キャッシュメモリから外部のディスクアレイ装置への転送対象となっているデータを取得するデータ取得部と、データ取得部により取得されたデータを外部のディスクアレイ装置に転送する転送処理部と、論理的システム分割領域から外部のディスクアレイ装置へのデータ転送量を論理的システム分割領域毎に検出する転送量検出部と、論理的システム分割領域毎に予め設定されている所定値と転送量検出部により検出されたデータ転送量とを比較する第１データ転送制御部と、第１データ転送制御部によりデータ転送量が所定値を超えると判断された場合は、上位装置からのデータ書込み要求に対する応答を予め設定された所定時間だけ遅延させることにより、論理的システム分割領域から外部のディスクアレイ装置へのデータ転送を制限する第２データ転送制御部と、を備えている。
【００２３】
また、本実施形態には、少なくとも１つ以上の論理的システム分割領域を備えたディスクアレイ装置のリモートコピー制御方法も開示されている。このリモートコピー制御方法には、論理的システム分割領域から外部のディスクアレイ装置へのリモートコピーを実行するか否かを判定するステップと、リモートコピーを実行すると判定された場合は、リモートコピーを行う論理的システム分割領域を特定するステップと、特定された論理的システム分割領域から外部のディスクアレイ装置へのデータ転送量を検出するステップと、特定された論理的システム分割領域に予め設定されている最大転送量と検出されたデータ転送量とを比較するステップと、データ転送量が最大転送量を超えると判定された場合は、上位装置からのデータ書込み要求に対する応答を予め設定された所定時間だけ遅延させることにより、特定された論理的システム分割領域から外部のディスクアレイ装置へのデータ転送を制限するステップと、データ転送量が最大転送量以下であると判定された場合は、特定された論理的システム分割領域から外部のディスクアレイ装置へのデータ転送を制限することなく実行させるステップと、を含んでいる。
【実施例１】
【００２４】
図１は、ディスクアレイ装置１０を含む記憶システムの全体概要を示すブロック図である。ディスクアレイ装置１０は、ローカルサイトに設置されたローカルディスクアレイサブシステム（以下、ローカルシステムとも呼ぶ）である。ディスクアレイ装置１０は、通信ネットワークＣＮ１を介して、複数のホストコンピュータ１Ａ〜１Ｃ（以下、特に区別しない場合は、「ホストコンピュータ１」と呼ぶ）と双方向通信可能にそれぞれ接続されている。ここで、通信ネットワークＣＮ１は、例えば、ＬＡＮ（Local Area Network）、ＳＡＮ（Storage Area Network）、インターネットあるいは専用回線等である。ＬＡＮを用いる場合、ホストコンピュータ１とディスクアレイ装置１０との間のデータ転送は、TCP/IP（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。ＳＡＮを用いる場合、ホストコンピュータ１とディスクアレイ装置１０とは、ファイバチャネルプロトコルに従ってデータ転送を行う。また、ホストコンピュータ１がメインフレームの場合は、例えば、FICON（Fibre Connection：登録商標）、ESCON（Enterprise System Connection：登録商標）、ACONARC（Advanced Connection Architecture：登録商標）、FIBARC（Fibre Connection Architecture：登録商標）等の通信プロトコルに従ってデータ転送が行われる。
【００２５】
各ホストコンピュータ１は、例えば、サーバ、パーソナルコンピュータ、ワークステーション、メインフレーム等として実現されるものである。例えば、各ホストコンピュータ１は、図外に位置する複数のクライアント端末と別の通信ネットワークを介して接続されている。各ホストコンピュータ１は、例えば、各クライアント端末からの要求に応じて、ディスクアレイ装置１０にデータの読み書きを行うことにより、各クライアント端末へのサービスを提供する。後述のように、ディスクアレイ装置１０内には、複数の仮想筐体（SLPR：Storage Logical Partition）が設けられている。そして、あるホストコンピュータ１Ａは、Ａ社に割り当てられたSLPR１のみにアクセス可能であり、他のホストコンピュータ１Ｂは、Ｂ社に割り当てられたSLPR２にのみアクセス可能である。さらに別のホストコンピュータ１Ｃは、非分割領域１１内の各種資源を利用可能である。ホストコンピュータ１は、アクセス権限を有するSLPRのみにアクセス可能であり、他のSLPRを参照したり更新することはできず、また、未定義の論理デバイスにもアクセス不能である。
【００２６】
ディスクアレイ装置１０は、それぞれ後述するように、複数のチャネルアダプタ（以下、ＣＨＡと略記）２０と、キャッシュメモリ３０と、複数のディスクドライブ４０と、複数のディスクアダプタ（以下、ＤＫＡと略記）５０と、共有メモリ６０と、スイッチ部７０と、ハブ８０と、ＳＶＰ１００とを備えている。
【００２７】
ディスクアレイ装置１０内には、複数のSLPR１，SLPR２が設定されている。ここで、SLPRとは、ディスクアレイ装置１０内の各種物理的資源及び論理的資源を各ユーザ毎に（あるいは各アプリケーションプログラム毎に）分割して割り当てることにより構成された領域である。即ち、例えば、各SLPRは、それぞれ専用の通信ポート（以下「ポート」）２１と、それぞれ専用のキャッシュメモリ３０と、それぞれ専用の論理デバイス（論理ボリューム）４１とを備えている。具体的には、図示の例では、Ａ社のみが使用可能なSLPR１は、３個のポート２１Ａ〜２１Ｃと、キャッシュメモリ３０Ａ，３０Ｂと、論理デバイス４１を備えている。また、Ｂ社のみが使用可能なSLPR２は、２個のポート２１Ｄ，２１Ｅと、キャッシュメモリ３０Ｃと、論理デバイス４１とを備えている。ディスクアレイ装置１０は、各ユーザ毎に分割されたSLPR単位で管理されている。なお、Ｃ社のホストコンピュータ１Ｃは、専用の領域を持っておらず、非分割領域１１を使用する。
【００２８】
ディスクアレイ装置１０内の各ポートには、次のような属性を設定可能である。例えば、排他ポートは、そのSLPRに占有されるポートであり、予め関連付けられたホストコンピュータ１以外に利用することができないポートであることを意味する。コピーポートは、外部のディスクアレイ装置であるリモートシステム５にデータを転送するためのポートであることを意味する。共用ポートとは、ディスクアレイ装置１０内の全てのディスクドライブ４０にアクセス可能なポートである。そのほか、SLPRを用いない場合の通常ポート、未使用ポート等の他の属性を設定することもできる。例えば、ポート２１Ｇは通常ポート、ポート２１Ｈは未使用ポートにそれぞれ該当する。
【００２９】
各SLPRには、少なくとも１つ以上のキャッシュ分割領域（CLPR：Cache Logical Partiton）を設けることができる。図示の例では、SLPR１内には、２個のCLPR１１，CLPR１２が設けられており、SLPR２内には、１個のCLPR２１が設けられている。CLPRとは、キャッシュメモリ３０を論理的に分割したものである。CLPR１１にはキャッシュメモリ３０Ａが、CLPR１２にはキャッシュメモリ３０Ｂが、CLPR１２にはキャッシュメモリ３０Ｃが、それぞれ割り当てられている。SLPR内に割り当てられたキャッシュ容量をさらに複数のCLPRとして分割することにより、各CLPR毎に定められた容量のキャッシュメモリを各CLPRは独占的に利用することができる。従って、ある業務のアクセス量が増大した場合に、この業務用に大量のキャッシュが確保されてしまい、他の業務に影響を与えるというような事態を防止できる。
【００３０】
ＳＶＰ（Service Processor）１００は、ディスクアレイ装置１０の管理及び監視を行うためのコンピュータ装置であり、管理用のサーバ機能を提供する。ＳＶＰ１００は、例えば、ディスクアレイ装置１０内に設けられたＬＡＮ等の内部ネットワークＣＮ１１（図２参照）を介して、各ＣＨＡ２０及び各ＤＫＡ５０等から各種の環境情報や性能情報等を収集する。ＳＶＰ１００が収集する情報としては、例えば、装置構成、電源アラーム、温度アラーム、入出力速度（IOPS）等が挙げられる。ＳＶＰ１００と各管理端末２Ａ〜２Ｃ，３とは、例えば、ＬＡＮ等の通信ネットワークＣＮ４を介して接続されている。管理者は、管理端末を介してＳＶＰ１００にログインすることにより、権限のある範囲内において、例えば、ＲＡＩＤ構成の設定、各種パッケージ（ＣＨＡ、ＤＫＡ、ディスクドライブ等）の閉塞処理、各種設定変更等を行うことができる。
【００３１】
ＳＶＰ１００には、複数の管理端末２Ａ〜２Ｃ，３を接続可能である。ここで、管理端末２Ａ〜２Ｃは、各SLPR毎に設けられる端末であり、管理端末３は、ディスクアレイ装置１０の全体を管理するために設けられる端末である。従って、管理端末２Ａ〜２Ｃは、各SLPRを管理する管理者（以下、分割管理者と呼ぶ）により操作される。管理端末３は、ディスクアレイ装置１０の全体を管理するシステム管理者（あるいは全体管理者と呼ぶこともできる）により操作される。
【００３２】
各SLPR毎の分割管理者は、自己が管理権限を有するSLPRについてのみ各種設定変更等を行うことができ、他のSLPRの構成等を参照したり変更することは許可されない。これに対し、システム管理者は、各SLPRを含めてディスクアレイ装置１０の全体の各種設定変更等を行うことができる。
【００３３】
システム管理者は、管理端末３を介してＳＶＰ１００にログインし、ディスクアレイ装置１０の有する物理的資源及び論理的資源を適宜分割することにより、各ユーザ毎にSLPRを設定することができる。また、システム管理者は、各SLPRを管理する分割管理者に対して、ユーザID等を発行することもできる。分割管理者は、システム管理者から発行された専用のユーザIDを用いてＳＶＰ１００にログインすることができる。分割管理者は、管理端末２を操作することにより、自己の管理下にあるSLPR内の設定を変更することができる。例えば、分割管理者は、業務形態に応じた構成を生成するために、ディスクドライブ４０の割り当て、論理デバイス４１の定義、キャッシュメモリ３０の割り当て等を行うことができる。即ち、SLPRはシステム管理者が設定するが、各SLPR内のCLPRは分割管理者が設定する。
【００３４】
ディスクアレイ装置１０は、通信ネットワークＣＮ３を介してスイッチ４に接続されている。そして、ディスクアレイ装置１０は、スイッチ４から通信ネットワークＣＮ３を介して、リモートディスクアレイサブシステム（以下、リモートシステムと略記）５に接続されている。スイッチ４は、例えば、チャネルエクステンダ等により構成される。スイッチ４の入力側には、各SLPR１，２のコピーポート２１Ｃ，２１Ｅが通信ネットワークＣＮ２を介してそれぞれ接続されている。スイッチ４の出力側は、通信ネットワークＣＮ３を介してリモートシステム５に接続されている。スイッチ４は、ローカルシステムであるディスクアレイ装置１０からの信号を増幅し、リモートシステム５に送信する。
【００３５】
各SLPR１，２は、それぞれの管理するデータのうちリモートコピーすべきデータを、それぞれのコピーポート２１Ｃ，２１Ｅ等を介して、リモートシステム５に送信し、リモートシステム５内にデータの複製を構築させる。これにより、万が一、ローカルシステムのデータが失われたり、機能を停止等した場合でも、リモートシステム５に記憶されているデータを用いてサービスを継続または早期に再開することができる。リモートシステム５は、データ複製に必要な記憶資源を備えていれば足り、ローカルシステムと同一の構成を備えている必要はない。図示は省略するが、一般的に、リモートシステム５は、ＣＨＡと、ＤＫＡと、キャッシュメモリと、ディスクドライブ等を備えることができる。
【００３６】
図２は、ディスクアレイ装置１０のハードウェア構成に着目したブロック図である。ディスクアレイ装置１０内には、例えば、４個や８個等のように複数のＣＨＡ２０を設けることができる。各ＣＨＡ２０は、それぞれポート２１を備える。各ＣＨＡ２０は、例えば、オープン系用ＣＨＡ、メインフレーム系用ＣＨＡ等のように、ホストコンピュータ１の種類に応じて用意される。各ＣＨＡ２０は、ホストコンピュータ１との間のデータ転送を制御する。各ＣＨＡ２０は、それぞれプロセッサ部、データ通信部及びローカルメモリ部を備えている（いずれも不図示）。
【００３７】
各ＣＨＡ２０は、それぞれに接続されたホストコンピュータ１から、データの読み書きを要求するコマンド及びデータを受信し、ホストコンピュータ１から受信したコマンドに従って動作する。ＤＫＡ５０の動作も含めて先に説明すると、例えば、ＣＨＡ２０は、ホストコンピュータ１からデータの読出し要求を受信すると、読出しコマンドを共有メモリ６０に記憶させる。ＤＫＡ５０は、共有メモリ６０を随時参照しており、未処理の読出しコマンドを発見すると、ディスクドライブ４０からデータを読み出して、キャッシュメモリ３０に記憶させる。ＣＨＡ２０は、キャッシュメモリ３０に移されたデータを読み出し、コマンド発行元のホストコンピュータ１に送信する。
【００３８】
また例えば、ＣＨＡ２０は、ホストコンピュータ１からデータの書込み要求を受信すると、書込みコマンドを共有メモリ６０に記憶させると共に、受信したデータ（ユーザデータ）をキャッシュメモリ３０に記憶させる。ここで、ホストコンピュータ１から書込みを要求されたデータは、ディスクドライブ４０に書き込まれていない「ダーティデータ」であるため、例えば複数箇所にそれぞれ記憶されて多重化される。ＣＨＡ２０は、キャッシュメモリ３０にデータを記憶した後、ホストコンピュータ１に対して書込み完了を報告する。そして、ＤＫＡ５０は、共有メモリ６０に記憶された書込みコマンドに従って、キャッシュメモリ３０に記憶されたデータを読出し、所定のディスクドライブ４０に記憶させる。ディスクドライブ４０に書き込まれたデータは、「ダーティデータ」から「グリーンデータ」に属性が変化し、キャッシュメモリ３０による多重管理から解放される。なお、本明細書において、「ダーティデータ」とは、ディスクドライブ４０に書き込まれていないデータであって、多重管理が要請されるデータを意味する。また、「クリーンデータ」とは、ディスクドライブ４０に書き込まれているデータであって、多重管理が要請されないデータを意味する。
【００３９】
キャッシュメモリ３０は、例えば、ユーザデータ等を記憶するものである。キャッシュメモリ３０は、例えば不揮発メモリから構成される。キャッシュメモリ３０は、複数のメモリから構成することができ、ダーティデータを多重管理することができる。
【００４０】
ディスクアレイ装置１０は、記憶装置４２を備えている。記憶装置４２は、多数のディスクドライブ４０から構成される。各ディスクドライブ４０は、例えば、ハードディスクドライブ（ＨＤＤ）や半導体メモリ装置等として実現可能である。記憶装置４２は、ディスクアレイ装置１０の内部に設けられている必要はなく、外部に存在してもよい。また、ディスクアレイ装置１０に固有の記憶装置４２である必要はなく、旧型の記憶装置や他社の記憶装置であってもよい。記憶装置４２が他社製品等の場合は、ディスクアレイ装置１０の論理デバイス（LDEV）または論理デバイスの下に設けられる仮想デバイス（VDEV）に他社製の記憶装置４２をマッピングし、あたかもディスクアレイ装置１０自身の記憶装置であるかのようにして用いることができる。
【００４１】
ここで、例えば、４個のディスクドライブ４０によって１つのＲＡＩＤグループを構成することができる。ＲＡＩＤグループとは、例えばＲＡＩＤ５（ＲＡＩＤ５に限定されない）に従って、データの冗長記憶を実現するディスクグループである。各ＲＡＩＤグループにより提供される物理的な記憶領域の上には、論理的な記憶領域である論理デバイス４１（LUまたはLDEV）を少なくとも１つ以上設定可能である。
【００４２】
各ＤＫＡ５０は、ディスクアレイ装置１０内に例えば４個や８個等のように複数個設けることができる。各ＤＫＡ５０は、各ディスクドライブ４０との間のデータ通信を制御するもので、それぞれプロセッサ部と、データ通信部と、ローカルメモリ等を備えている（いずれも不図示）。各ＤＫＡ５０と各ディスクドライブ４０とは、例えば、ＳＡＮ等の通信ネットワークを介して接続されており、ファイバチャネルプロトコルに従ってブロック単位のデータ転送を行う。各ＤＫＡ５０は、ディスクドライブ４０の状態を随時監視しており、この監視結果は内部ネットワークを介してＳＶＰ１００に送信される。なお、各ＣＨＡ２０及び各ＤＫＡ５０は、例えば、プロセッサやメモリ等が実装されたプリント基板と、メモリに格納された制御プログラムとをそれぞれ備えており、これらのハードウェアとソフトウェアとの協働作業によって、後述する所定の機能を実現する。
【００４３】
共有メモリ（あるいは制御メモリ）６０は、例えば不揮発メモリから構成される。共有メモリ６０には、例えば、制御情報等が記憶される。なお、制御情報等の情報は、複数の共有メモリ６０により多重管理することができる。共有メモリ６０及びキャッシュメモリ３０は、それぞれ複数個設けることができる。
【００４４】
スイッチ部７０は、各ＣＨＡ２０と、キャッシュメモリ３０と、各ＤＫＡ５０と、共有メモリ６０とをそれぞれ接続するものである。これにより、全てのＣＨＡ２０，ＤＫＡ５０は、キャッシュメモリ３０及び共有メモリ６０にそれぞれアクセス可能である。
【００４５】
ＳＶＰ１００は、ハブ８０を介して各管理端末２，３にそれぞれ接続されている。ＳＶＰ１００は、共有メモリ６０を介して、ディスクアレイ装置１０内の各種構成情報を参照したり更新する。詳細は後述するが、SLPR構成情報管理テーブルＴ１は、ＳＶＰ１００及び共有メモリ６０によりそれぞれ管理されている。
【００４６】
次に、図３を参照して、各管理者が自分の管理するSLPRに関する情報を取得する概略を説明する。まず、分割管理者について説明する。分割管理者は、管理端末２を介してＳＶＰ１００の有するＳＶＰサーバ部１１０にアクセスし、管理端末２の表示部に表示されたログイン画面にユーザＩＤを入力してログイン要求を出す（Ｓ１）。
【００４７】
ＳＶＰサーバ部１１０は、例えば、WWWサーバ機能を提供するもので、ユーザＩＤ管理テーブルＴ２を利用可能である。ユーザＩＤ管理テーブルＴ２は、例えば、ユーザ名（root、user1、user2等）と、各ユーザ（分割管理者）が管理するSLPR番号と、各ユーザの権限（SLPR管理者、システム管理者、参照のみ許可等）とを対応付けて管理しているものである。なお、ここでは、SLPRを特定するための情報として、SLPR番号を用いているが、番号以外の名称でもよい。
【００４８】
ＳＶＰサーバ部１１０は、管理端末２からのログイン要求を処理する（Ｓ２）。次に、ＳＶＰサーバ部１１０は、管理端末２から入力されたユーザＩＤに基づいて、ユーザＩＤ管理テーブルＴ２を検索し、ログインしたユーザにより管理されているSLPR番号（図中、SLPR＃）を取得する（Ｓ３）。ＳＶＰサーバ部１１０は、この取得したSLPR番号をＳＶＰ構成情報管理部１２０に入力し、SLPR番号に対応するSLPR構成情報の取得を要求する（Ｓ４）。
【００４９】
ＳＶＰ構成情報管理部１２０は、例えば、ＳＶＰ１００内に設けられるもので、SLPR構成情報管理テーブルＴ１を利用可能である。SLPR構成情報管理テーブルＴ１は、例えば、SLPR番号と、各SLPR毎に割り当てられている物理的資源及び論理的資源に関する情報（資源分割情報）とが対応付けられている。資源分割情報としては、例えば、そのSLPRで利用可能な最大のキャッシュ容量、そのSLPRが使用可能なポート２１の情報、そのSLPRが利用可能な論理デバイス（論理ボリューム）の情報、この論理デバイスに関連付けられているディスクドライブ群の情報を挙げることができる。ＳＶＰ構成情報管理部１２０は、入力されたSLPR番号に基づいてSLPR構成情報管理テーブルＴ１を検索することにより、SLPR番号に対応するSLPRの構成情報を読出し、ＳＶＰサーバ部１１０に送信する（Ｓ５）。
【００５０】
ＳＶＰサーバ部１１０は、ＳＶＰ構成情報管理部１２０から取得したSLPR構成情報を管理端末２に送信する（Ｓ６）。管理端末２は、ＳＶＰサーバ部１１０から受信したSLPR構成情報を管理端末２の表示部に表示させる。これにより、分割管理者は、自己が管理するSLPRに関する情報のみを閲覧して操作することができる。分割管理者は、他のSLPRの参照が予め許可されていない場合、自己が管理するSLPR以外の他のSLPRに関する情報を参照等することができない。このようにして、ディスクアレイ装置１０は、SLPR単位に分割されて管理される。
【００５１】
システム管理者の場合も、分割管理者と同様の過程を経て、自己が管理するディスクアレイ装置１０の構成情報を取得する。従って、詳細な説明を省略する。但し、分割管理者とは異なり、システム管理者は、ディスクアレイ装置１０に含まれる全てのSLPRについて構成情報を取得可能である。また、ＳＶＰサーバ部１１０やＳＶＰ構成情報管理部１２０は、所定のプログラムがＳＶＰ１００上で実行されることにより、実現される。管理端末２，３では、管理クライアントが実行されることにより、SLPR構成情報を取得することができるようになっている。
【００５２】
図４は、SLPR構成情報管理テーブルＴ１の詳細を示す。SLPR構成情報は、例えば、SLPR管理テーブルＴ１１と、CLPR管理テーブルＴ１２と、ポート管理テーブルＴ１３と、論理デバイス管理テーブルＴ１４とによって管理することができる。
【００５３】
SLPR管理テーブルＴ１１には、例えば、各SLPR毎に、分割管理者が設定可能なSLPR名称と、そのSLPRにより管理されている各種情報とが対応付けられている。SLPR名称はディスクアレイ装置１０内でユニークな名称を付けることができる。このSLPR名称により各SLPRが特定される。また、SLPRにより管理されている各種情報としては、例えば、SSID（Storage Subsystem ID）やCU（Control Unit）等を挙げることができる。SSIDとは、メインフレームにおけるデバイスの制御単位の一つであり、論理デバイスのグルーピング単位を示す。CUとは、メインフレームにおけるデバイスの制御単位の一つであり、１つのCU内に例えば最大２５６個の論理デバイスを作成可能である。
【００５４】
CLPR管理テーブルＴ１２には、例えば、各CLPR毎に、分割管理者が設定可能なCLPR名称と、そのCLPRが属するSLPRを特定するためのSLPR番号（SLPR名称）と、そのCLPRに割り当てられているキャッシュ容量とが対応付けられている。CLPR名称は、ディスクアレイ装置１０内でユニークであれば足り、CLPR名称よって各CLPRを特定可能となっている。
【００５５】
ポート管理テーブルＴ１３には、各ポート毎に、そのポートが属するSLPR番号（SLPR名称）と、そのポートに設定された属性とが対応付けられている。上述の通り、ポート属性としては、例えば、排他用ポート、共用ポート、未使用ポートがある。図１中に示すコピーポートは、排他用ポートのうちリモートコピーに使用されるポートを説明するために用いた説明の便宜上の属性であり、実際にコピーポートというポート属性が予め用意されているわけではない。
【００５６】
論理デバイス管理テーブルＴ１４には、例えば、各論理デバイス毎に、論理デバイスが属するCLPR番号（CLPR名称）と、ボリュームサイズと、管理情報とが対応付けられている。管理情報としては、例えば、その論理デバイスが形成されるディスクドライブ群を特定するための情報等を挙げることができる。これらの各管理テーブルＴ１１〜Ｔ１４により、SLPR構成情報を管理することができる。なお、テーブル構成は上述したものに限らない。
【００５７】
次に、キャッシュメモリ３０の管理方法について説明する。図５に示すように、キャッシュメモリ３０は、スロットと呼ばれる論理的な分割単位で分割されている。各スロットは、さらにセグメントと呼ばれる論理的な分割単位で分割されている。各CLPRには、スロット単位でキャッシュ容量が割り当てられている。一方、図４に示すCLPR管理テーブルＴ１２では、セグメント単位でキャッシュ容量を管理している。
【００５８】
図６に示すように、キャッシュ管理テーブルＴ３には、各CLPRにおいて現在使用されているセグメント数と、未使用のセグメント数を示すフリーセグメント数と、使用中のセグメントのうちクリーンデータを記憶しているスロット数とが対応付けられている。既に述べた通り、クリーンデータとは、ホストコンピュータ１からの書込みデータのうちディスクドライブ４０に書込み済のデータや、ディスクドライブ４０から読み出されたデータであって、冗長管理の必要性がないデータである。従って、クリーンデータのみを記憶するスロットからクリーンデータを削除して、解放することができる。このキャッシュ管理テーブルＴ３は、他のテーブル類と同様に共有メモリ６０または共有メモリ６０及びＳＶＰ１００に記憶することができる。
【００５９】
キャッシュ管理テーブルＴ３とCLPR管理テーブルＴ１２とは、互いに関連付けられており、各CLPR毎に使用可能なキャッシュ容量を簡単に求めることができるようになっている。
【００６０】
図７は、各CLPRにセグメントを割り当てるためのセグメント確保処理の概要を示すフローチャートである。本処理は、ＣＨＡ２０またはＤＫＡ５０に格納されているキャッシュ制御プログラムにより実行することができる。ホストコンピュータ１からの書込み要求に応じてセグメントを確保する場合は、ＣＨＡ２０が本処理を実行する。ホストコンピュータ１からの読出し要求に応じてセグメントを確保する場合は、ＤＫＡ５０が本処理を実行する。以下の説明では、ＣＨＡ２０により実行される場合を例に挙げる。
【００６１】
ホストコンピュータ１からの書込み要求または読出し要求が発行されると、ＣＨＡ２０は、この要求の処理に必要となるセグメント数を算出する（Ｓ１１）。次に、ＣＨＡ２０は、ホストコンピュータ１からアクセスが要求された論理デバイスの情報に基づいて、対応するCLPRを特定する（Ｓ１２）。
【００６２】
CLPRが特定されると、次に、ＣＨＡ２０は、キャッシュ管理テーブルＴ３に管理されている使用中セグメント数とCLPR管理テーブルＴ１２に管理されているキャッシュ容量とを比較する（Ｓ１３）。使用中セグメント数の方がCLPRのキャッシュ容量よりも少ない場合は（使用セグメント数＜キャッシュ容量）、空いているセグメントが存在する場合である。そこで、ＣＨＡ２０は、Ｓ１１で算出された要求セグメント数とフリーセグメント数とを比較する（Ｓ１４）。要求セグメント数がフリーセグメント数以下である場合（要求セグメント数≦フリーセグメント数）、ＣＨＡ２０は、要求セグメント数と同数のフリーセグメントを確保する（Ｓ１５）。そして、ＣＨＡ２０は、キャッシュ管理テーブルＴ３のフリーセグメント数から確保済セグメント数を減算してテーブルを更新させる（Ｓ１６）。また、同様に、ＣＨＡ２０は、キャッシュ管理テーブルＴ３の使用中セグメント数に確保済セグメント数を加算してテーブルを更新される。これにより、本処理は終了する。
【００６３】
一方、要求セグメント数の方がフリーセグメント数よりも多い場合（要求セグメント数＞フリーセグメント数）、ＣＨＡ２０は、そのCLPRで使用可能な全てのフリーセグメントを確保する（Ｓ１７）。キャッシュ管理テーブルＴ３のフリーセグメント数は「０」に更新される（Ｓ１８）。
【００６４】
次に、確保した全てのフリーセグメントだけでは足りない不足分のセグメントを確保する必要がある。そこで、ＣＨＡ２０は、不足分のセグメント数に応じた数だけクリーンスロット数を減算して（Ｓ１９）、必要な分以上のセグメントを解放する。ＣＨＡ２０は、解放されたセグメントの中から必要なセグメントを確保する（Ｓ２０）。ＣＨＡ２０は、解放されたクリーンスロットからセグメントを確保した際の余ったセグメントを、フリーセグメントに加算する（Ｓ２１）。そして、ＣＨＡ２０は、キャッシュ管理テーブルＴ３の使用中セグメント数に要求セグメント数を加算してテーブルを更新させ（Ｓ２２）、本処理を終了する。
【００６５】
一方、ホストコンピュータ１からの要求を処理するのに必要な要求セグメント数がキャッシュ容量以上の場合（要求セグメント数≧キャッシュ容量）、ＣＨＡ２０は、要求セグメント数に応じた数だけクリーンスロットを解放し（Ｓ１９）、要求セグメント数と同数のセグメントを確保する（Ｓ２０）。そして、ＣＨＡ２０は、余ったセグメントの数をフリーセグメント数に加算し（Ｓ２１）、要求セグメント数だけ使用中セグメント数を加算し（Ｓ２２）、本処理を終了する。
【００６６】
次に、本実施例によるリモートコピーの制御方法について説明する。まず最初に概要を簡単に説明すると、ディスクアレイ装置１０からリモートシステム５にデータを転送する場合、ホストコンピュータ１から書き込まれたデータ及び管理情報は、キャッシュメモリ３０に一時的に格納される。そして、このデータ及び管理情報は、キャッシュメモリ３０からＣＨＡ２０や通信ネットワークＣＮ２，ＣＮ３を介してリモートシステム５に送信される。リモートシステム５は、ディスクアレイ装置１０からデータを受信すると、この受信データをリモートシステム５内のキャッシュメモリに格納する。そして、リモートシステム５は、キャッシュメモリに格納したデータをディスクドライブに書込む。リモートシステム５は、キャッシュメモリにデータを格納した時点で、ディスクアレイ装置１０に対し、書込み完了を報告することができる。リモートシステム５内のディスクドライブへのデータ書込みタイミングは、リモートシステム５内のキャッシュメモリへのデータ格納タイミングと非同期で行われる。
【００６７】
同期式リモートコピーの場合、ホストコンピュータ１から書込みを要求されたデータをディスクアレイ装置１０からリモートシステム５に転送し、リモートシステム５からの書込み完了報告を受信した時点で、ディスクアレイ装置１０は、ホストコンピュータ１に書込み完了を報告する。従って、同期式リモートコピーの場合は、リモートシステム５から書込み完了報告を受信するまでの応答遅延が発生するので、リモートシステム５とローカルシステムであるディスクアレイ装置１０との距離が比較的近い場合等に適している。一方、同期式リモートコピーの場合は、リモートシステム５によりデータが受信されたことを確認してからホストコンピュータ１に書込み完了を報告するため、信頼性は高い。
【００６８】
これに対し、非同期式リモートコピーの場合、ホストコンピュータ１から書込みを要求されたデータを、ディスクアレイ装置１０のキャッシュメモリ３０に格納した時点で、ホストコンピュータ１に対し書込み完了を報告する。ディスクアレイ装置１０は、ホストコンピュータ１に書込み完了を報告した後で、書込みデータをリモートシステム５に転送するようになっている。従って、非同期式リモートコピーの場合は、ホストコンピュータ１に直ちに書込み完了を報告できるため、同期式リモートコピーよりも応答性を高くすることができる。また、応答遅延の問題が生じないため、ディスクアレイ装置１０とリモートシステム５との距離が離れている場合等に適している。しかし、非同期式リモートコピーの場合は、リモートシステム５にデータを転送する前に、ホストコンピュータ１に書込み完了を報告するため、同期式リモートコピーに比べると信頼性は低い。なお、同期式及び非同期式いずれの場合も、ホストコンピュータ１に処理負担をかけることなく、ディスクアレイ装置１０からリモートシステム５に直接的にデータが転送される。
【００６９】
図８は、リモートコピーに着目してディスクアレイ装置１０の機能構成を示す概略ブロック図である。ディスクアレイ装置１０からリモートシステム５へのリモートコピー実行に関して、ディスクアレイ装置１０内では、データ受信部２１０と、キャッシュ制御部２２０と、物理ディスク制御部２３０と、スケジュール部２４０と、転送処理部２５０とが実行される。
【００７０】
データ受信を制御するためのプログラムをＣＨＡ２０内のプロセッサに実行させることにより、ＣＨＡ２０をデータ受信部２１０として機能させることができる。データ受信部２１０は、ホストコンピュータ１からの書込み要求を受信して処理する。データ受信部２１０内には、ホストコンピュータ１からの流入量を制限するための流入量制御部２１１が設けられている。後述のように、流入量制御部２１１は、ホストコンピュータ１への書込み完了報告の時期を予め設定された時間だけ意図的に遅らせることにより、ホストコンピュータ１からの書込み要求を抑制する。
【００７１】
キャッシュ制御部２２０は、データ受信部２１０によって受信されたデータを、一時的にキャッシュメモリ３０に格納させる処理を行う。キャッシュ制御部２２０は、ディスクドライブ４０から読み出されたデータを一時的に記憶することもできる。キャッシュ制御プログラムをＣＨＡ２０またはＤＫＡ５０内のプロセッサに実行させることにより、ＣＨＡ２０またはＤＫＡ５０をキャッシュ制御部２２０として機能させることができる。
【００７２】
物理ディスク制御部２３０は、キャッシュメモリ３０に格納されているデータを、論理アドレスから物理アドレスへの変換操作等をして、ディスクドライブ４０の所定の位置に書き込む。また、物理ディスク制御部２３０は、ディスクドライブ４０から読み出したデータを、物理アドレスから論理アドレスへの変換操作等をして、キャッシュメモリ３０に格納させる。ディスク制御プログラムをＤＫＡ５０内のプロセッサに実行させることにより、ＤＫＡ５０を物理ディスク制御部２３０として機能させることができる。
【００７３】
スケジュール部２４０は、リモートコピーを実行する時期であるか否かを管理するものである。リモートコピースケジュール管理プログラムをＣＨＡ２０のプロセッサに実行させることにより、ＣＨＡ２０をスケジュール部２４０として機能させることができる。スケジュール部２４０には、後述のように、帯域制御部２４１が設けられている。なお、ホストコンピュータ１から書込み要求が出されるたびにリモートコピーを行ってもよいし、更新データの量が所定量に達した時点でリモートコピーを行ってもようし、両者を組み合わせてリモートコピーを行ってもよい。
【００７４】
転送処理部２５０は、通信ネットワークＣＮ２等を介して、データをリモートシステム５に転送させる。転送処理プログラムをＣＨＡ２０内のプロセッサに実行させることにより、ＣＨＡ２０を転送処理部２５０として機能させることができる。転送処理部２５０には、後述のように、転送量積算部２５１が設けられている。
【００７５】
ここで、SLPR内の全ての論理デバイス４１についてリモートコピーの実行を設定することもできるし、一部の論理デバイス４１についてのみリモートコピーを実行するように設定することもできる。リモートコピーの設定は、SLPRを管理する分割管理者により行われる。
【００７６】
さて、リモートコピーの対象となっている論理デバイス４１に対し、ホストコンピュータ１から書込み要求があった場合、データ受信部２１０は、キャッシュ制御部２２０に対し、リモートコピーの対象となっているデータであることを指示して、データをキャッシュ制御部２２０に渡す。キャッシュ制御部２２０は、書込みを要求されたデータを、そのSLPRで使用可能なキャッシュ領域に格納させる。
【００７７】
スケジュール部２４０は、定期的に起動して、キャッシュ制御部２２０に対し、キャッシュメモリ３０に格納されたリモートコピー対象データの取得を要求する。キャッシュ制御部２２０は、リモートコピーの対象となるデータがキャッシュメモリ３０に記憶されているか否かを調査し、リモートコピー対象データが存在する場合は、このデータをスケジュール部２４０に出力する。スケジュール部２４０は、キャッシュ制御部２２０から渡されたデータを転送処理部２５０に入力する。転送処理部２５０は、スケジュール部２４０から取得したデータを、所定のポートから通信ネットワークＣＮ２等を介して、リモートシステム５に転送させる。
【００７８】
転送処理部２５０には、転送量積算部２５１が設けられている。転送量積算部２５１は、単位時間内に転送されたデータ量を積算する。この転送量積算部２５１により、各SLPR毎に単位時間内転送量がそれぞれ管理される。後述のように、単位時間内転送量は、単位時間内転送量管理情報Ｔ６により管理される。
【００７９】
スケジュール部２４０には、帯域制御部２４１が設けられている。帯域制御部２４１は、転送量積算部２５１により検出された各SLPR毎の単位時間内転送量と、予めシステム管理者により設定されている各SLPR毎の最大転送量とを比較し、両者の関係に基づいてリモートコピーに使用する通信資源の割り当てを各SLPR毎に制御させる。各SLPR毎に予め設定されており、システム管理者により変更可能な最大転送量は、最大転送量管理情報Ｔ５により管理されている。帯域制御部２４１は、単位時間内転送量が最大転送量を超えている場合、転送を中止し、次のリモートコピー対象データについての処理を行う。また、帯域制御部２４１は、データ受信部２１０内に設けられた流入量制御部２１１に対して、流入制限の開始を指示する。転移時間内転送量が最大転送量を下回った場合、帯域制御部２４１は、流入制御部２１１に対して、流入制限の解除を指示する。
【００８０】
流入量制御部２１１は、帯域制御部２４１から流入制限の開始を指示されると、流入制限が指示されたSLPRについて「流入制限中」である旨を、流入状態管理情報Ｔ４に記録する。逆に、流入量制御部２１１は、帯域制御部２４１から流入制限の解除を通知されると、流入制限が設定されていたSLPRについて、この流入制限を解除し、流入状態管理情報Ｔ４を更新させる。
【００８１】
データ受信部２１０は、ホストコンピュータ１から書込み要求を受信すると、流入状態管理情報Ｔ４を参照し、書込み要求に対応するSLPRについて流入制限が設定されているか否かを判断する。流入制限が設定されていない場合、データ受信部２１０は、通常の動作を行う。即ち、データ受信部２１０は、ホストコンピュータ１から受信したデータをキャッシュ制御部２２０を介してキャッシュメモリ３０に書き込ませる。そして、データ受信部２１０は、キャッシュメモリ３０にデータを格納した時点で、ホストコンピュータ１に対し、書込み完了を報告する。逆に、ホストコンピュータ１から書込みを要求されたSLPRについて流入制限が設定されている場合、データ受信部２１０は、予めシステム管理者により設定された応答遅延時間だけ、ホストコンピュータ１への書込み完了報告を遅らせる。ホストコンピュータ１への応答を遅らせることにより、ホストコンピュータ１からSLPRに流入するデータ量を抑制することができる。
【００８２】
図９に基づいて各管理情報Ｔ４〜Ｔ６の構造を説明する。図９（ａ）に示すように、流入量制御部２１１によって使用される流入状態管理情報Ｔ４は、例えば、各SLPRのSLPR番号（SLPR名称）と、各SLPR毎の流入制御（帯域制御）に関するステータス情報と、応答遅延時間とを対応付けることにより構成することができる。ステータス情報としては、例えば「流入制限中」ステータスを挙げることができる。
【００８３】
図９（ｂ）に示すように、帯域制御部２４１により使用される最大転送量管理情報Ｔ５は、例えば、各SLPRのSLPR番号と、各SLPR毎の最大転送量（DTmax）とを対応付けることにより構成される。
【００８４】
図９（ｃ）に示すように、転送量積算部２５１により使用される転送量管理情報Ｔ６は、例えば、各SLPRのSLPR番号と、各SLPR毎の単位時間内転送量（DT）とを対応付けることにより構成される。
【００８５】
図１０は、帯域制御部２４１により実行される帯域制御処理の概要を示すフローチャートである。帯域制御部２４１は、キャッシュ制御部２２０に対して、リモートコピーの対象となっているデータの取得を要求する（Ｓ３１）。リモートシステム５へ転送すべきデータが存在しない場合（S32：NO）、帯域制御部２４１は、処理を終了する。
【００８６】
転送対象のデータ（リモートコピー対象データ）が存在する場合（S32：YES）、帯域制御部２４１は、リモートコピーを行うSLPRを特定する（Ｓ３３）。帯域制御部２４１は、特定されたSLPRにおける単位時間内転送量を転送量積算部２５１から取得し、この単位時間内転送量と、特定されたSLPRに予め設定されている最大転送量とを比較する（Ｓ３４）。特定されたSLPRにおける単位時間内転送量が最大転送量以下である場合（単位時間内転送量≦最大転送量）、帯域制御部２４１は、転送処理部２５０に対してリモートシステム５へのデータ転送を指示し（Ｓ３５）、次のリモートコピー対象データの処理に移る。即ち、この場合は、通常の動作によってリモートコピーが行われる。
【００８７】
特定されたSLPRにおける単位時間内転送量が予め設定されている最大転送量よりも大きい場合（単位時間内転送量＞最大転送量）、帯域制御部２４１は、流入量制御部２１１に対して、特定されたSLPRに流入制限を設定するよう指示し（Ｓ３６）、次のリモートコピー対象データの処理に移る。そして、リモートコピー対象データの全てについて処理を終えた場合は、Ｓ３２で「NO」と判定され、本処理が終了する。
【００８８】
図１１は、データ受信部２１０（及び流入量制御部２１１）により実行される流入量制御処理の概略を示すフローチャートである。ホストコンピュータ１からの書込み要求が発生すると（S41：YES）、データ受信部２１０は、ホストコンピュータ１から受信したデータを、キャッシュ制御部２２０を介してキャッシュメモリ３０に格納させ（Ｓ４２）、書込み要求に対応するSLPRを特定する（Ｓ４３）。次に、データ受信部２１０は、流入状態管理情報Ｔ４を参照し、特定されたSLPRについて流入制限が設定されているか否かを判定する（Ｓ４４）。
【００８９】
流入制限が設定されている場合（S44：YES）、データ受信部２１０は、そのSLPRに設定されている応答遅延時間を流入状態管理情報Ｔ４から取得し、応答遅延時間の計測を開始する（Ｓ４５）。データ受信部２１０は、応答遅延時間が経過すると（S46：YES）、ホストコンピュータ１に対して書込み完了を報告する（Ｓ４７）。一方、SLPRに流入制限が設定されていない場合（S44：NO）、データ受信部２１０は、応答を意図的に遅らせることなく、直ちにホストコンピュータ１に書込み完了を報告する（Ｓ４７）。
【００９０】
図１２は、SLPR毎の最大転送量を設定するための処理の概要を示すフローチャートである。本処理は、例えば、システム管理者により使用される管理端末３を介して操作することができる。まず、システム管理者は、管理端末３を介して、最大転送量を設定するSLPRを特定する（Ｓ５１）。次に、ＳＶＰ１００（または管理端末３）上で実行される最大転送量設定支援プログラムは、SLPRの構成情報と（Ｓ５２）、リモートコピーのモードと（Ｓ５３）、初期コピー及び差分コピーに関するユーザ指示と（Ｓ５４）をそれぞれ取得する。
【００９１】
ここで、リモートコピーのモードには、例えば、非同期式リモートコピーモードと同期式リモートコピーモードとが含まれる。初期コピー及び差分コピーに関するユーザ指示としては、例えば、初期コピーの早期終了によりリカバリ可能状態への早期移行を優先するか否か等の指示を含めることができる。
【００９２】
最大転送量設定支援プログラムは、SLPRの構成情報、リモートコピーのモード、ユーザ指示等を考慮して、そのSLPRに設定する最大転送量を算出する（Ｓ５５）。この最大転送量は、例えば、各パラメータに適切な重み付けを行う等により算出可能である。一例としては、SLPRに割り当てられている資源の量（論理デバイスのボリュームサイズやキャッシュ容量等）に応じて、資源量が大きくなるほど最大転送量が大きくなるように算出できる。また、例えば、同期式リモートコピーモードの場合は、できるだけ応答時間を短縮できるように、大きな最大転送量を算出する。さらに、例えば、初期コピーの早期完了がユーザにより指示されている場合は、初期コピーを行う際の最大転送量が大きくなるように算出することができる。
ここで、同期式リモートコピー／非同期式リモートコピー、あるいは、初期コピー／差分コピーのように、動作モード毎に最大転送量（帯域）をそれぞれ設定可能である。または、ボリューム単位や複数のボリュームから構成されるグループ単位で、最大転送量をそれぞれ設定することもできる。
【００９３】
このようにして各パラメータを考慮して算出された最大転送量は、管理端末３の表示部に表示される。システム管理者は、算出された最大転送量を手動で調整することができる（Ｓ５６）。そして、最終的にシステム管理者により承認された最大転送量は、最大転送量管理情報Ｔ５に登録される（Ｓ５７）。なお、最大転送量の算出は、上記の例に限られない。例えば、上述した全てのパラメータ（SLPRへの資源割り当て量、リモートコピーモード、初期コピー等に関するユーザ指示）を考慮する必要はなく、いずれか１つまたは複数のパラメータに基づいて、最大転送量を算出し設定してもよい。
【００９４】
このように構成される本実施例によれば、ディスクアレイ装置１０を各ユーザ毎のSLPRに分割して各ユーザに提供することができ、さらに、分割単位（SLPR）毎にリモートコピーに使用する通信資源を割り当てることができる。
【００９５】
従って、各SLPR間をリモートコピーについても分離することができ、各業務間（各ホストコンピュータ１間）の影響を低減することができる。即ち、例えば、ある業務に関するアクセス要求が増大し、そのSLPRからリモートシステム５に転送されるべきデータ量が増大した場合でも、そのSLPRによってリモートシステム５への通信ネットワークＣＮ２が殆ど独占されてしまう事態を未然に防止できる。従って、スイッチ４に入力される前に、各SLPR毎に適切な帯域を割り当てることができ、各ユーザ間の干渉を防止して、より一層安定した業務環境を提供することができる。
【００９６】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、上記実施例では、単位時間内転送量が予め設定された最大転送量を超えた場合に、ホストコンピュータからのデータ流入を所定の応答遅延時間だけ制限するものと述べた。しかし、帯域制御の方法としては、これに限らず、種々の方法を採用可能である。例えば、転送量の微分値と予め設定された基準値とを比較し、転送量の急激な増加が検出された場合は、ホストコンピュータからのデータ流入を制限することができる。
【図面の簡単な説明】
【００９７】
【図１】本発明の実施例に係わるディスクアレイ装置の論理的な構成の全体概要を示すブロック図である。
【図２】ディスクアレイ装置の物理的な構成に着目したブロック図である。
【図３】各SLPR毎に資源を分割して管理するための様子を示す説明図である。
【図４】SLPR構成情報管理テーブルに関与する各管理テーブルの構成を示す説明図である。
【図５】キャッシュメモリの記憶構造の概略を示す説明図である。
【図６】各CLPR毎にキャッシュ容量を管理するための構成を示す説明図である。
【図７】セグメント確保処理を示すフローチャートである。
【図８】ディスクアレイ装置のリモートコピーに関する各機能の構成を示す説明図である。
【図９】リモートコピーに使用される各管理情報を示す説明図であって、（ａ）は流入状態管理情報を、（ｂ）は最大転送量管理情報を、（ｃ）は単位時間内転送量管理情報を、それぞれ示す。
【図１０】帯域制御処理を示すフローチャートである。
【図１１】流入量制御処理を示すフローチャートである。
【図１２】最大転送量設定処理を示すフローチャートである。
【符号の説明】
【００９８】
１Ａ〜１Ｃ…ホストコンピュータ、２Ａ〜２Ｃ…管理端末、３…管理端末、４…スイッチ、５…リモートシステム、１０…ディスクアレイ装置、１１…非分割領域、２０…ＣＨＡ、２１Ａ〜２１Ｈ…ポート、３０Ａ〜３０Ｄ…キャッシュメモリ、４０…ディスクドライブ、４１…論理デバイス、５０…ＤＫＡ、６０…共有メモリ、７０…スイッチ部、８０…ハブ、１００…ＳＶＰ、１１０…ＳＶＰサーバ部、１２０…構成情報管理部、２１０…データ受信部、２１１…流入制御部、２１１…流入量制御部、２２０…キャッシュ制御部、２３０…物理ディスク制御部、２４０…スケジュール部、２４１…帯域制御部、２５０…転送処理部、２５１…転送量積算部、ＣＮ…通信ネットワーク
【図１】
2005190057.tif 000003
【図２】
2005190057.tif 000004
【図３】
2005190057.tif 000005
【図４】
2005190057.tif 000006
【図５】
2005190057.tif 000007
【図６】
2005190057.tif 000008
【図７】
2005190057.tif 000009
【図８】
2005190057.tif 000010
【図９】
2005190057.tif 000011
【図１０】
2005190057.tif 000012
【図１１】
2005190057.tif 000013
【図１２】
2005190057.tif 000014