(57)【特許請求の範囲】
【請求項１】
異なる種類の複数のストレージ・デバイスの各々に直接接続され、該複数のストレージ・デバイスと共にストレージ・システムを構成する制御装置であって、
ネットワークを介して他のストレージ・システムと通信する通信インタフェースと、
前記複数のストレージ・デバイスと、前記他のストレージ・システムを構成する１以上のストレージ・デバイスの各ストレージ・デバイスについて、その性能情報を格納する性能情報格納部と、
前記各ストレージ・デバイスが格納するデータのリストを格納するリスト格納部と、
前記各ストレージ・デバイス、前記制御装置及び前記ネットワークについて、負荷状況を監視する監視部と、
前記ストレージ・システム内のいずれかの前記ストレージ・デバイスに対しデータの移動又は複製を行う前に、前記リスト格納部が格納する前記リストに基づき、移動又は複製すべきデータを格納するストレージ・デバイスを検出する検出部と、
前記検出部が検出した複数のストレージ・デバイスの各々について、該ストレージ・デバイスから前記データの移動又は複製先の前記ストレージ・デバイスへ前記データを移動又は複製するのに要する時間を、前記性能情報及び前記監視部の監視結果である負荷情報に基づいて見積もる見積部と、
前記見積部による見積もり結果に基づいて、前記データの移動元又は複製元を決定する決定部とを含み、
前記検出部は、いずれかの前記ストレージ・デバイスに対しデータの移動又は複製を行う前に、前記通信インタフェースを介して前記他のストレージ・システムに対して前記移動又は複製すべきデータの有無を問い合わせ、
前記性能情報格納部は、輻輳がない状況における前記ネットワークの転送速度を更に格納し、
前記監視部は、輻輳がない状況における前記ネットワークの転送速度に対する現在のネットワークの転送速度の割合を負荷情報として監視する、
制御装置。
【請求項２】
前記見積部は、前記監視部の監視結果である前記ネットワークの負荷情報に従って前記ネットワークの前記転送速度を減じて移動又は複製に要する時間を見積もる、請求項１に記載の制御装置。
【請求項３】
ストレージ・システムであって、
異なる種類の複数のストレージ・デバイスと、
前記複数のストレージ・デバイスの各々に直接接続され、該各々へのデータの入出力を制御する制御装置とを含み、
前記制御装置は、
ネットワークを介して他のストレージ・システムと通信する通信インタフェースと、
前記複数のストレージ・デバイスと、前記他のストレージ・システムを構成する１以上のストレージ・デバイスの各ストレージ・デバイスについて、その性能情報を格納する性能情報格納部と、
前記各ストレージ・デバイスが格納するデータのリストを格納するリスト格納部と、
前記各ストレージ・デバイス、前記制御装置及び前記ネットワークについて、負荷状況を監視する監視部であって、前記ネットワークについての前記負荷状況として、輻輳がない状況における前記ネットワークの転送速度に対する現在のネットワークの転送速度の割合を監視する前記監視部と、
前記ストレージ・システム内のいずれかの前記ストレージ・デバイスに対しデータの移動又は複製を行う前に、前記リスト格納部が格納する前記リストに基づき、移動又は複製すべきデータを格納するストレージ・デバイスを検出する検出部と、
前記検出部が検出した複数のストレージ・デバイスの各々について、該ストレージ・デバイスから前記データの移動又は複製先の前記ストレージ・デバイスへ前記データを移動又は複製するのに要する時間を、前記性能情報及び前記監視部の監視結果である負荷情報に基づいて見積もる見積部と、
前記見積部による見積もり結果に基づいて、前記データの移動元又は複製元を決定する決定部とを含む、
ストレージ・システム。
【請求項４】
異なる種類の複数のストレージ・デバイスに直接接続され、該複数のストレージ・デバイスと共にストレージ・システムを構成し、かつネットワークを介して他のストレージ・システムと接続される制御装置において実行される、データ移動又は複製の制御方法であって、
前記異なる種類の複数のストレージ・デバイスと、前記他のストレージ・システムを構成する１以上のストレージ・デバイスと、前記ネットワークのそれぞれについて、負荷状況を監視するステップであって、前記ネットワークについての前記負荷状況として、輻輳がない状況における前記ネットワークの転送速度に対する現在のネットワークの転送速度の割合を監視するステップと、
前記ストレージ・システム内のいずれかの前記ストレージ・デバイスに対しデータの移動又は複製を行う前に、前記データを格納するストレージ・デバイスを、前記異なる種類の複数のストレージ・システムと、前記他のストレージ・システムを構成する１以上のストレージ・デバイスとの中から検出するステップと、
検出された複数のストレージ・デバイスの各々について、該ストレージ・デバイスから前記データの移動又は複製先の前記ストレージ・デバイスへ前記データを移動又は複製するのに要する時間を、前記ストレージ・デバイスの性能及び前記負荷状況に基づき見積もるステップと、
見積もり結果に基づいて、移動元又は複製元のストレージ・デバイスを決定するステップとを含む、
データ移動又は複製の制御方法。
【請求項５】
異なる種類の複数のストレージ・デバイスに直接接続され、該複数のストレージ・デバイスと共にストレージ・システムを構成し、かつネットワークを介して他のストレージ・システムと接続される制御装置において実行される、データ移動又は複製の制御プログラムであって、前記制御装置に、
前記異なる種類の複数のストレージ・デバイスと、前記他のストレージ・システムを構成する１以上のストレージ・デバイスと、前記ネットワークのそれぞれについて、負荷状況を監視するステップであって、前記ネットワークについての前記負荷状況として、輻輳がない状況における前記ネットワークの転送速度に対する現在のネットワークの転送速度の割合を監視するステップと、
前記ストレージ・システム内のいずれかの前記ストレージ・デバイスに対しデータの移動又は複製を行う前に、前記データを格納するストレージ・デバイスを、前記異なる種類の複数のストレージ・システムと、前記他のストレージ・システムを構成する１以上のストレージ・デバイスとの中から検出するステップと、
検出された複数のストレージ・デバイスの各々について、該ストレージ・デバイスから前記データの移動又は複製先の前記ストレージ・デバイスへ前記データを移動又は複製するのに要する時間を、前記ストレージ・デバイスの性能及び前記負荷状況に基づき見積もるステップと、
見積もり結果に基づいて、移動元又は複製元のストレージ・デバイスを決定するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のストレージ・デバイス間のデータ移動又は複製を制御する制御装置に関し、詳細には、データ移動又は複製の移動元又は複製元として、複数のストレージ・デバイスの中から最適なストレージ・デバイスを選択する技術に関する。
【背景技術】
【０００２】
近年、異なる特性を有する異なる種類のストレージを組み合わせて論理的に1つのストレージ・デバイスを構成する階層ストレージ・システムが注目されている（例えば、非特許文献１参照）。この階層ストレージ・システムでは、高速であるが小容量で高価なストレージ・デバイスは上位に位置付けられ、大容量で低価格であるが低速なストレージ・デバイスは下位に位置付ける。例えば、半導体や磁気ディスク等の比較的高価で高速なストレージ・デバイスは上位に位置づけられ、光ディスクや磁気テープ・ライブラリ等の比較的安価で低速なストレージ・デバイスは下位に位置づけられる。
【０００３】
このような階層ストレージ・システムは、外部からのファイルアクセスに対して、ストレージ・デバイスの階層構成を透過的に提供する。即ち、図１に示すように、階層ストレージ・システムへのアクセスは、最上位のストレージ・デバイスにのみ存在するファイル・アクセスポイントを介して行われ、アクセスの際に、アクセス対象となるファイルがどの階層のストレージ・デバイスに存在するかは意識されない。
【０００４】
例えば、非特許文献１の場合、最上位のストレージ・デバイスに保存されたファイルは、その属性情報（例えば最終アクセス日時）に基づいて、２週間が経てば次の階層のストレージ・デバイスに移動し、３年が経てば最下位のストレージ・デバイスに移動する。ところが、外部からファイルアクセス要求があった場合、ファイルは階層間で移動又は複製されることで最上位のストレージ・デバイスに戻され、最終的に最上位のストレージ・デバイスの唯一のファイル・アクセスポイントからアクセスされるようになっている。本明細書では、「ファイル・アクセスポイント」を階層構造上で目的のファイルに辿り着くための情報という意味で用いる。ネットワークのレベルでは、例えばＭＡＣアドレスやＩＰアドレスが該当し、ファイルシステムのレベルでは、例えばパスが該当する。なお、実際の階層ストレージ・システムには各階層のストレージ・デバイスへの入出力を制御するコントローラが含まれるが、図１では簡単のためコントローラは省略している。
【非特許文献１】Colin Blair, Julie Currie, Eric Goodall, KevinMcElyea, George Miller, Ben Poston、“IBM MedicalArchive Solution”、［online］、平成１６年１１月、［平成１９年８月２４日検索］、インターネット＜URL：http://www.redbooks.ibm.com/redpapers/pdfs/redp9130.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このように、従来の階層ストレージ・システムでは、ファイル・アクセスポイントは最上位のストレージ・デバイスにのみ存在し、ストレージ・デバイス間のファイルの移動又は複製は、その間に存在する階層を飛ばすことなく、真下の階層のストレージ・デバイスから真上の階層のストレージ・デバイスへ、あるいは真上の階層のストレージ・デバイスから真下の階層のストレージ・デバイスへ順に行われていた（図１参照）。そのため、あるストレージ・デバイスにおいてファイルの移動処理又は複製処理が生じた場合、たとえ目的のファイルが複数の異なる階層のストレージ・デバイスに存在したとしても、移動先又は複製先のストレージ・デバイスに論理的に一番近い階層のストレージ・デバイスが、移動元又は複製元のストレージ・デバイスとして無条件に選択された。
【０００６】
従って、従来の階層ストレージ・システムにおける複数のストレージ・デバイス間のデータ移動又は複製は、移動元又は複製元のストレージ・デバイスと移動先又は複製先のストレージ・デバイスとの間に存在するストレージ・デバイスというリソースと該リソースを稼動するエネルギーを無駄に消費するという問題があった。また、従来の階層ストレージ・システムにおける複数のストレージ・デバイス間のデータ移動又は複製はより多くの時間を要するという問題もあった。
【０００７】
そこで本発明は、上記の課題、即ち、複数のストレージ・デバイスを含むストレージ・システムにおいて、複数のストレージ・デバイスの中から、データの移動元又は複製元として最適なストレージ・デバイスを選択することができる、ストレージ・システムの制御装置、ストレージ・システム、方法及びプログラムを提供することを目的とする。また、本発明は、リソースやエネルギーの消費を抑え、より短時間でデータの移動又は複製を行うことを可能とするストレージ・システムの制御装置、ストレージ・システム、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するため、本発明は、各ストレージ・デバイスの性能及び負荷状況を考慮して、目的のデータを有する複数のストレージ・デバイスの中から最適のストレージ・デバイスを移動元又は複製元として選択するようにした。即ち、本発明は、次のような異なる種類のストレージ・デバイスに接続されるストレージ・システムの制御装置によって実現される。この制御装置は、各ストレージ・デバイスの性能情報を格納する性能情報格納部と、各ストレージ・デバイスが格納するデータのリストを格納するリスト格納部と、各ストレージ・デバイス及び制御装置について、負荷状況を監視する監視部と、いずれかの前記ストレージ・デバイスに対しデータの移動又は複製を行う前に、リスト格納部が格納するリストに基づき、移動又は複製すべきデータを格納するストレージ・デバイスを検出する検出部と、検出部が検出した複数のストレージ・デバイスの各々について、該ストレージ・デバイスから前記データの移動又は複製先の前記ストレージ・デバイスへ前記データを移動又は複製するのに要する時間を、性能情報及び監視部の監視結果である負荷情報に基づいて見積もる見積部と、見積りの結果に基づいて、データの移動元又は複製元を決定する決定部とを備える。ここで、データの移動とは、移動後にデータが元のストレージ・デバイスから削除されるようなデータの転送を意味する。
【０００９】
好適には、異なる種類のストレージ・デバイスは、制御装置に直接接続し、かつ制御装置とともにストレージ・システムを構成するストレージ・デバイスを含む。また好適には、制御装置は、ネットワークを介して他のストレージ・システムと通信する通信インタフェースを含む。そして異なる種類のストレージ・デバイスは、上記ストレージ・システムに上記ネットワークを介して接続する他のストレージ・システムを構成するストレージ・デバイスを含む。
【００１０】
更に好適には、監視部は、上記ネットワークの負荷状況を監視し、また、上記通信インタフェースを介して上記他のストレージ・システムに該ストレージ・システムのストレージ・デバイス及び制御装置の負荷状況を問い合わせる。また、検出部は、いずれかのストレージ・デバイスに対しデータの移動又は複製を行う前に、上記通信インタフェースを介して上記他のストレージ・システムの制御装置に対して移動又は複製すべきデータの有無を問い合わせる。
【００１１】
また好適には決定部は、最小の見積時間が見積もられたストレージ・デバイスを、データの移動元又は複製元として決定する。
【００１２】
また好適には、ストレージ・デバイスの性能情報は、ストレージ・デバイスのアクセス時間及びデータ転送速度を含む。そして、見積部は、監視部の監視結果であるストレージ・デバイスの負荷情報に従って、ストレージ・デバイスのデータ転送速度を減じて移動又は複製に要する時間を見積もる。これに代えて又はこれに加えて、見積部は、監視部の監視結果である制御装置の負荷情報に従って、ストレージ・デバイスのアクセス時間を減じて移動又は複製に要する時間を見積もる。
【００１３】
また好適には、性能情報格納部は、輻輳がない状況における上記ネットワークの転送速度を更に格納する。そして見積部は、更に上記ネットワークの転送速度に基づいて移動又は複製に要する時間を見積もる。更に好適には、見積部は、監視部の監視結果であるネットワークの負荷情報に従って、ネットワークの転送速度を減じて移動又は複製に要する時間を見積もる。
【００１４】
また好適には、ストレージ・デバイスの性能情報は、ストレージ・デバイスに対しストレージ・システムが課す使用に関する制限情報を含み、検出部は、制限情報に従って、検索対象とするストレージ・デバイスを限定する。
【００１５】
本発明はまた、異なる種類のストレージ・デバイスと、上記制御装置を備えるストレージ・システムとして把握することもできる。ここで、異なる種類のストレージ・デバイスは、同じストレージ・システム内の任意の２つのストレージ・デバイス間のデータの移動又は複製が、該２つのストレージ・デバイスを除く他のストレージ・デバイスを経由することなく実行可能であるように互いに接続される。
【００１６】
以上、ストレージ・デバイス間のデータの移動又は複製を制御する制御装置及びそのような制御装置を含むストレージ・システムとして本発明を説明したが、本発明は、ストレージ・デバイス間のデータの移動又は複製を制御するための方法、プログラム又はプログラムを格納した記憶媒体として把握することもできる。
【発明の効果】
【００１７】
本発明によれば、各ストレージ・デバイスの性能及び負荷状況を考慮して、目的のデータを有する複数のストレージ・デバイスの中から最適のストレージ・デバイスを移動元又は複製元として選択し、他のストレージ・デバイスを経由することなくデータの移動又は複製が行われるので、ストレージ・システムにおける複数のストレージ・デバイス間のデータ移動又は複製において、リソースやエネルギーの消費を抑え、より短時間でデータの移動又は複製を行うこと可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。本発明は、背景技術として述べた階層ストレージ・システムだけでなく、例えばグリッド構成のストレージ・システムに適用することも可能である。しかし、以下では一例として、階層ストレージ・システムに適用した場合を説明することにする。なお、実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。
【００１９】
図２は、本発明の実施の形態において使用可能なストレージ・システム１００の代表的なハードウェア構成の一例を示す。本実施形態に係るストレージ・システム１００は、異なる種類のストレージ・デバイス１２４、１２６、１２８、１２９と、異なる種類のストレージ・デバイス１２４、１２６、１２８、１２９へのデータの入出力を制御するコントローラ１１０とを含む。
【００２０】
コントローラ１１０は、通信インタフェース１１８を介して、図示しないホスト装置からデータ書き込み要求や読み出し要求を受けて、内部のメモリ１１４上に設けられたバッファにそのデータブロックを一時的に記憶する。そして、コントローラ１１０は、そのプロセッサ１１２が、記憶装置１１６に格納されるプログラムに従って、異なる種類のストレージ・デバイス１２４、１２６、１２８、１２９との間のデータ書き込み及び読み出しを、ストレージ・デバイス・インタフェース１２０を介して行うことにより、異なる種類のストレージ・デバイス１２４、１２６、１２８、１２９へのデータの入出力を制御する。
【００２１】
コントローラ１１０はまた、予め定義されたストレージ管理ポリシーに従って、異なる種類のストレージ・デバイス１２４、１２６、１２８、１２９間のデータの移動及び複製を制御する。ストレージ管理ポリシーは、管理端末１３０を操作する管理者により、ユーザ・インタフェース１２２を介して記憶装置１１６に格納される。ここで本実施形態に係る記憶装置１１６は更に本発明に係るストレージ・デバイス間のデータの移動又は複製を制御するためのプログラムを記憶し、コントローラ１１０内のプロセッサ１１２は、該プログラムに従って複数のストレージ・デバイスの中から最適のストレージ・デバイスを移動元又は複製元として選択する。  
【００２２】
本実施形態に係る異なる種類のストレージ・デバイス１２４、１２６、１２８、１２９は階層構造をなす。第１階層ストレージ・デバイス１２４及び第２階層ストレージ・デバイス１２６は、一例として、半導体メモリや磁気ディスク等の高速なストレージ・デバイスにより構成される。第３階層ストレージ・デバイス１２８及び第４ストレージ・デバイス１２９は、一例として、光ディスクや磁気テープ等の低速なストレージ・デバイスにより構成される。
【００２３】
ここで、図３を参照して、図２に示すコントローラ１１０と、異なる種類のストレージ・デバイス１２４、１２６、１２８、１２９との接続形態について説明する。なお、本実施形態に係るストレージ・システム１００は、図４（ａ）に示すように、各階層のストレージ・デバイスにファイル・アクセスポイントを設けている。即ち、第１階層ストレージ・デバイスにファイル・アクセスポイント１２を、第２階層ストレージ・デバイスにファイル・アクセスポイント１４を、第３階層ストレージ・デバイスにファイル・アクセスポイント１６を、第４階層ストレージ・デバイス１２９にファイル・アクセスポイント１８を設けている。
【００２４】
該構成により、異なる種類のストレージ・デバイス１２４、１２６、１２８、１２９は、任意の２つのストレージ・デバイス間のデータの移動又は複製が、該２つのストレージ・デバイスを除く他のストレージ・デバイスを経由することなく実行可能であるように互いに接続され得る。なお、本実施形態に係るストレージ・システム１００は、従来の階層ストレージ・システムと同様、ストレージ・デバイスの階層構造とは無関係にファイルアクセスを可能とする、ファイル・アクセスポイント１０も設けている（図４（ａ）参照）。
【００２５】
本実施の形態では、複数のストレージ・デバイスに同一ファイルの複数の複製が配置されることがある。そこで、複数のファイルの同一性を識別するため、ストレージ・システム１００内で一意にコピーを識別するファイル識別子を用いることができる。そして、ファイルアクセスは、ファイルアクセスにおける所謂パス情報であるファイル・アクセスポイント１２乃至１６に対応するファイルアクセスパスとファイル識別子とを組み合わせて用いることで行ってよい。例えば、ファイルアクセスパスとして「/tier1/」が与えられ、ファイル識別子として「GID00010」が与えられた場合、ファイルアクセスは「/tier1/GID0010」を指定することによって行われる。ここでtierＮは第Ｎ階層のストレージ・デバイスを指す。また、複数のファイルアクセスパスが存在する場合、例えば、「/tier1/」、「/tier2/」、「/tier3/」が存在する場合を考える。この場合、それらのファイルアクセスパスを介した同一のファイルに対するアクセスは、「/tier1/GID0010」、「/tier2/GID0010」、「/tier3/GID0010」を指定することによって行われる。尚、複数のストレージ・システムにおいて同一ファイルの複数の複製が配置される場合は、ファイルアクセスの要求は、更にストレージ・システムを指定して行う。
【００２６】
このようなストレージサブシステム１００において、コントローラ１１０と、異なる種類のストレージ・デバイス１２４、１２６、１２８、１２９の接続形態には、例えば、図３の（ａ）及び（ｂ）に示したものがある。（ａ）は、ストレージ・システム１００内の各階層のストレージ・デバイスがコントローラ１１０とのみ接続される形態である。この場合、２つの層のストレージ・デバイス間のデータ移動は、必ずコントローラ１１０を経由して行われる。
【００２７】
（ｂ）は、ストレージ・システム１００内の各階層のストレージ・デバイスが、コントローラ１１０と接続されるだけでなく、他の層のストレージ・デバイスとも接続される形態である。この場合、２つの層のストレージ・デバイス間のデータ移動経路は２つ存在する。１つは、コントローラ１１０を経由する経路で、もう１つは直接の経路である。各階層のストレージ・デバイス間のデータ移動の経路としてコントローラ１１０がこの何れを選択するかは、例えば以下の条件により決定される。
・データ移動の後又はデータ移動の途中で、外部からのデータアクセスが想定される場合、コントローラ１１０経由でのデータ移動を選択する。これは、外部からのデータアクセス及びデータ移動におけるストレージ・デバイスへのアクセス回数を１回にまとめるためである。
・上記の条件を満たさない場合は、直接データが移動する経路を選択する。
尚、（ａ）の接続形態は、（ｂ）の接続形態のサブセットであるということができる。
【００２８】
図４（ｂ）は、図２に示すストレージ・システム１００の他のコンピュータとの接続状態を示す図である。図４（ｂ）に示すように、本実施形態に係るストレージ・システム１００は、ネットワーク１４０を介してホスト装置１５０、１５２、１５４と接続する。ストレージ・システム１００はまた、他のストレージ・システム１６０とも接続する。ここで、ストレージ・システム１００内のいずれかの階層のストレージ・デバイスに対してデータの複製又は移動（以下では、単に複製という）を行う場合における問題を、図５を参照して具体的に説明する。なお、図４（ｂ）に示すホスト装置や他のストレージ・システムは、ストレージ・システム１００に接続される他のコンピュータの例示であって、他のコンピュータの種類や台数はこれに限定されない。
【００２９】
図５は、図４（ｂ）に示すシステム２００において、ファイルの複製を行う際の状況の一例を示す概念図である。ここで、他のストレージ・システム１６０は、図２乃至図４を参照して説明したストレージ・システム１００と同様の構成を採用するものとする。またファイルの複製はストレージ・システム１００の第３階層のストレージ・デバイスにおいて行い、複製対象のファイルは、ストレージ・システム１００の第１階層のストレージ・デバイスと第４階層のストレージ・デバイス、またストレージ・システム１６０の第２階層のストレージ・デバイスに存在するものとする。なお、本明細書においては、用語「ファイル」は用語「データ」と同一の意味を有するものとして使用しており、両者を区別しない。
【００３０】
本発明に係るストレージ・システム１００では、各ストレージ・デバイスの性能及び負荷状況を考慮して、コントローラ１１０が、目的のファイルを有する複数のストレージ・デバイスの中から最適のストレージ・デバイスを複製元のストレージ・デバイスとして選択する。
【００３１】
例えば、各ストレージ・デバイスの性能に着目すれば、図５に示す例では、最も高速なストレージ・デバイスであるストレージ・システム１００の第１階層ストレージ・デバイスが、複製元のストレージ・デバイスとして選択される。また、各ストレージ・デバイスの負荷状況をも考慮すれば、例えばストレージ・システム１００の第１階層のストレージ・デバイスが他の複製を処理しているような状況では、ネットワーク１４０に輻輳が起きていないことを条件に、ストレージ・システム１６０の比較的高速なストレージ・デバイスである第２階層ストレージ・デバイスが、複製元のストレージ・デバイスとして選択される。以下では、本発明に係るコントローラ１１０を、図６を参照してより詳細に説明する。
【００３２】
図６（ａ）は、本実施形態に係るストレージ・システム１００のコントローラ１１０の機能構成の一例を示す。コントローラ１１０は、監視部３００、検出部３０５、見積部３１０、決定部３１５を含む。また図６（ｂ）は、図２に示す記憶装置１１６が格納する各種データの一例を示す。なお上述したように、本実施形態に係るストレージ・システム１００は、ネットワーク１４０を介して、同様の構成を採用する他のストレージ・システム１６０に接続しているものとする。
【００３３】
記憶装置１１６は、ストレージ・システム１００を構成する各ストレージ・デバイスと、ストレージ・システム１００に接続される他のストレージ・システム１６０を構成する各ストレージ・デバイスの性能情報３２０を格納する。ここでストレージ・デバイスの性能情報３２０とは、ストレージ・デバイスの性能を示す情報であって、該ストレージ・デバイスからデータを移動又は複製するのに要する時間を算出するのに利用可能な情報である。好ましくは、ストレージ・デバイスの性能情報３２０は、該ストレージ・デバイスのアクセス時間及びデータ転送速度を含む。
【００３４】
また好ましくは、ストレージ・デバイスの性能情報３２０は、輻輳がない状況における、ストレージ・システム１００と他のストレージ・システム１６０間のネットワーク１４０の転送速度を含む。更に、ストレージ・デバイスの性能情報は、各ストレージ・システム１００、１６０がそれぞれ有するストレージ・デバイスに対して課す使用に関する制限情報を含んでもよい。例えば制限情報は、最上位のストレージ・デバイスは複製元のストレージ・デバイスの候補から除外するといったものでよい。この場合、最上位のストレージ・デバイスにおいて、ストレージ・システム内部からのアクセス要求よりもストレージ・システム外部からのアクセス要求を優先させることが可能となる。
【００３５】
図７は、記憶装置１１６に格納される性能情報３２０の一例を示す。本実施例では、性能情報３２０は、ストレージ・システム１００とストレージ・システム１６０とで共通であるとする。図７に示すように、ストレージ・システム１００、１６０はいずれも、第１階層の半導体メモリ、第２階層の磁気ディスク、第３階層の光ディスク、第４階層の磁気テープから構成される。これらストレージ・デバイスのアクセス時間ｔ（ｓｅｃ）は、下の階層になるほど長くなる。一方、データ転送速度Ｄ（ｂｙｔｅ／ｓｅｃ）は最上位の半導体メモリが一番速いが、その次に速いのは、第４階層の磁気テープである。なお、図７に示す表に記載されるアクセス時間ｔ及びデータ転送速度Ｄの添え字のうちアルファベットのＡはストレージ・システム１００を表す。また添え字のうち数字は、該ストレージ・デバイスが何番目の階層に相当するかを示す。
【００３６】
ネットワーク転送速度Ｎ（ｂｙｔｅ／ｓｅｃ）は、ストレージ・システム１００と他のストレージ・システム１６０間のネットワーク１４０の転送速度であり、全階層のストレージ・デバイスに共通である。システム制限は、第１階層の半導体メモリに対してのみ課されており、その内容は、ストレージ・システム１００、１６０それぞれの外部からのアクセス要求のみを受け付けるというものである。なお、このような性能情報３２０は、管理端末１３０を操作する管理者により予め記憶装置１１６に格納される。
【００３７】
記憶装置１１６はまた、ストレージ・システム１００の各ストレージ・デバイスが格納するファイルのリストであるファイル・リスト３２５を格納する。該ファイル・リスト３２５は、コントローラ１１０により作成される。これは、コントローラ１１０は、ストレージ・システム１００外部からのデータの書き込み、及びストレージ・システム１００内におけるストレージ・デバイス間のデータの移動及び複製を制御するからである。
【００３８】
好ましくは、記憶装置１１６はファイル・リスト３２５として更にストレージ・システム１６０の各ストレージ・デバイスが格納するファイルのリストを格納する。この場合、ファイル・リストはストレージ・システム１６０から取得され、コントローラ１１０により記憶装置１１６に格納される。ファイル・リスト３２５により、コントローラ１１０は、どのファイルがどのストレージ・システムのどの階層のストレージ・デバイスに存在するかを常に把握することができる。
【００３９】
記憶装置１１６は更にまた、ストレージ・システム１００の各ストレージ・デバイス及びコントローラ１１０の現在の負荷を示す負荷情報３３０を格納する。該負荷情報の取得方法は後述する。好ましくは、記憶装置１１６は負荷情報３３０として更に、ストレージ・システム１６０の各ストレージ・デバイスとコントローラの負荷情報を格納する。更に好ましくは、記憶装置１１６は負荷情報３３０として、ストレージ・デバイス１００とストレージ・デバイス１６０間のネットワーク１４０の負荷情報を格納する。
【００４０】
監視部３００は、ストレージ・システム１００の各ストレージ・デバイスとコントローラ１１０それぞれの負荷状況を監視する。一例として監視部３００は、各階層のストレージ・デバイスのデータ転送を常時監視し、該ストレージ・デバイスから転送される一定量のデータから、現在のデータ転送速度Ｄ’を算出する。そして監視部３００は、各ストレージ・デバイスの本来のデータ転送速度、即ち図７の表に記載されるような、負荷のない状況における各ストレージのデータ転送速度Ｄに対する現在のデータ転送速度Ｄ’の割合αを、該ストレージ・デバイスの現在の負荷情報３３０として記憶装置１１６に格納する。
【００４１】
監視部３００はまた、一例として、コントローラ１１０のプロセッサ１１２やメモリ１１４の使用率を常時監視し、アイドル時の使用率に対する現在の使用率の割合βを、コントローラ１１０の現在の負荷情報３３０として記憶装置１１６に格納する。なお、ストレージ・システム１６０においても同様に、各ストレージ・デバイスとコントローラそれぞれの負荷状況が常時監視される。一例として、ストレージ・システム１６０は負荷状況に変化がある度に、該負荷情報をコントローラ１１０に通知する。コントローラ１１０は取得した負荷情報を負荷情報３３０の一部として記憶装置１１６に格納する。なお、ストレージ・システム１６０に関する負荷情報については、上記構成に代えて、コントローラ１１０によりストレージ・システム１６０のコントローラにその都度問い合わせてもよい。
【００４２】
監視部３００は更にまた、ストレージ・システム１００とストレージ・システム１６０間のネットワーク１４０の負荷状況を監視する。一例として監視部３００は、ストレージ・システム１００とストレージ・システム１６０間のネットワーク１４０のデータ転送を常時監視し、ストレージ・システム１６０から受信する一定量のデータから、現在のデータ転送速度Ｎ’を算出する。そして監視部３００は、ストレージ・システム１００とストレージ・システム１６０間のネットワーク１４０の本来のデータ転送速度、即ち図７の表に記載されるような、負荷のない状況におけるデータ転送速度Ｎに対する現在のデータ転送速度Ｎ’の割合γを、ストレージ・システム１００とストレージ・システム１６０間のネットワーク１４０の現在の負荷情報３３０として記憶装置１１６に格納する。
【００４３】
図８は、記憶装置１１６に格納される負荷情報３３０の一例を示す。図８（ａ）は、ストレージ・システム１００の各ストレージ・デバイスの負荷情報３３０の一例を示す表である。上述したように本実施例では、各ストレージ・デバイスの負荷は、負荷のない状況における各ストレージのデータ転送速度Ｄに対する現在のデータ転送速度Ｄ’の割合αにより表される。これに代えて、各ストレージ・デバイスが現在行っている処理の数に基づいて割合αに重み付けを行い、該重み付けした値を各ストレージ・デバイスの負荷として用いてもよい。
【００４４】
重み付けした値α’は、一例として次式より求められる。α’＝  α * （i * 現在行っている処理の数）。ここでｉは０から１の間の数値であり、ストレージ・デバイスの性能に依存する。即ち、ストレージ・デバイスの性能が高く、複数の処理を同時行っても処理能力が落ちないものであれば、ｉは１に近い値をとる。逆に、ストレージ・デバイスの性能が低く、複数の処理を同時に行うと処理能力が急激に落ちてしまうものであれば、ｉは０に近い値をとる。なお、図８（ａ）に示す表に記載されるαの添え字のうちアルファベットのＡはストレージ・システム１００を表す。また添え字のうち数字は、該ストレージ・デバイスが何番目の階層に相当するかを示す。
【００４５】
図８（ｂ）は、ストレージ・システム１００及び１６０の負荷情報３３０の一例を示す表である。上述したように本実施例では、ストレージ・システム１００の負荷は、コントローラ１１０のプロセッサ１１２のアイドル時の使用率に対する現在の使用率の割合βにより表される。これに代えて、コントローラ１１０のメモリ１１４の使用率を利用してもよい。あるいは、プロセッサ１１２とメモリ１１４の両方の使用率を掛け合わせて使用してもよい。なお、図８（ｂ）に示す表に記載されるベータの添え字のうちアルファベットのＡはストレージ・システム１００を、アルファベットのＢはストレージ・システム１６０を表す。
【００４６】
図８（ｃ）は、ストレージ・システム１００とストレージ・システム１６０間のネットワーク１４０の負荷情報３３０の一例を示す表である。上述したように本実施例では、ネットワーク１４０の負荷は、負荷のない状況におけるデータ転送速度Ｎに対する現在のデータ転送速度Ｎ’の割合γにより表される。これに代えて、ストレージ・システム１００とストレージ・システム１６０間で現在発生している転送要求の数に基づいて割合βに重み付けを行い、該重み付けした値をネットワーク１４０の負荷として用いてもよい。
【００４７】
重み付けした値β’は、一例として次式より求められる。β’＝  β * （i *現在発生している転送要求の数）。ここでｉは０から１の間の値をとり、ネットワークの性能に依存する。即ち、ネットワークの性能が高く、複数の転送要求を同時処理しても転送速度が落ちないものであれば、ｉは１に近い値をとる。逆に、ネットワークの性能が低く、複数の転送要求を同時に処理すると転送速度が急激に落ちてしまうものであれば、ｉは０に近い値をとる。なお、図８に示される負荷情報３３０は、監視部３００により常に新しい値で更新される。
【００４８】
検出部３０５は、ストレージ・システム１００内のいずれかのストレージ・デバイスに対してデータを複製する前に、記憶装置１１６に格納されるファイル・リスト３２５に基づき、複製すべきデータが格納されるストレージ・デバイスを検出する。本実施形態では、ストレージ・システム１６０内のストレージ・デバイスも検出対象となる。尚、上記構成に代えて、検出部３０５は、データの移動又は複製を行う前に、ストレージ・システム１６０に移動又は複製対象のデータの有無を問い合わせてもよい。
【００４９】
見積部３１０は、検出部３０５が検出した複数のストレージ・デバイスの各々について、該ストレージ・デバイスから複製先のストレージ・デバイスへＳバイトの大きさのデータを複製するのに要する時間を、記憶装置１１６に格納される性能情報３２０及び監視部３００の監視結果である負荷情報３３０に基づいて見積もる。一例として見積部３１０は、次式によりデータを複製するのに要する時間Ｔを見積もる。
T＝t * (1/β) + {S / (D * α)} + {S /(N * γ)}-（式１）
【００５０】
ここでt、D、 Nはそれぞれ記憶装置１１６に格納される性能情報３２０であり、tはストレージ・デバイスのアクセス時間、Dはストレージ・デバイスのデータ転送速度、Nはストレージ・システム間のネットワーク１４０のデータ転送速度を示す。但し、Nはストレージ・システム１００内のストレージ・デバイスに対して無限大の値をとる。即ち、ストレージ・システム１００内のストレージ・デバイスに対してデータを複製するのに要する時間Ｔを見積もる場合、上式の右辺第３項は無視される。
【００５１】
また、上式において、α、β、γはそれぞれ記憶装置１１６に格納される負荷情報３３０である。即ち、αはストレージ・デバイスの負荷、βは見積対象のストレージ・デバイスが属するストレージ・システムのコントローラの負荷、γはストレージ・システム間のネットワークの負荷を示し、0 <α、β、γ< 1が成り立つ。α、β、γは負荷が高いほど、０に近い値をとる。なお、式１において、ストレージ・システム間の伝送距離は現れないが、伝送距離に基づく遅延時間は無視できる程度のものである。
【００５２】
決定部３１５は、見積部３１０による見積もりの結果に基づいて、データの複製元とすべきストレージ・デバイスを決定する。好ましくは決定部３１５は、最小の見積時間Ｔが見積もられたストレージ・デバイスを、データの複製元として決定する。
【００５３】
ここで、図９に示す例を用いて、コントローラ１１０による複製元のストレージ・デバイスの決定処理を具体的に説明する。図９に示す例では、ストレージ・システム１００の第４階層のストレージ・デバイスにおいてファイルの複製を行う必要があり、複製対象のファイルは、ストレージ・システム１００の第１階層のストレージ・デバイスと第２階層のストレージ・デバイス、またストレージ・システム１６０の第３階層のストレージ・デバイスに存在するものとする。また、ストレージ・システム１００の記憶装置１１６には、性能情報３２０として図７に示す表が格納されているものとする。
【００５４】
この場合、ストレージ・システム１００の第１階層のストレージ・デバイスには複製対象のファイルが存在するが、図７の表に示されるように、ストレージ・システム１００の内部からの第１階層のストレージ・デバイスへのアクセスは許可されない。そのため、検出部３０５は、複製元のストレージ・デバイスの候補として、ストレージ・システム１００の第２階層のストレージ・デバイスと、ストレージ・システム１６０の第３階層のストレージ・デバイスの２つを検出する。
【００５５】
見積部３１０は、検出部３０５による検出結果を受けて、ストレージ・システム１００の第２階層のストレージ・デバイスと、ストレージ・システム１６０の第３階層のストレージ・デバイスに対して、式１を用いて複製時間を見積もる。
【００５６】
即ち、見積部３１０は、ストレージ・システム１００の第２階層のストレージ・デバイスに対して、複製時間TＡ２ ＝ tＡ２ *( 1/βＡ２ ) + {S / (DＡ２ * αＡ２)}を見積もる。また、見積部３１０は、ストレージ・システム１６０の第３階層のストレージ・デバイスに対して、複製時間TＢ３ = tＢ３ * (1/βＢ３ ) + {S / (DＢ３* αＢ３)} + {S / (N * γ)}を見積もる。ここで、ストレージ・システム１００の第２階層のストレージ・デバイス、ストレージ・システム１６０の第３階層のストレージ・デバイスがいずれもアイドル状態にあり、更にストレージ・システム１００及び１６０の各コントローラがアイドル状態であるとする。すると、tＡ２<tＢ３かつ、DＢ３< DＡ２であることから、TＡ２< TＢ３が成り立ち、決定部３１５は、ストレージ・システム１００の第２階層のストレージ・デバイスを複製元のストレージ・デバイスとして決定する。
【００５７】
しかしながら、ストレージ・システム１００の第２階層のストレージ・デバイスにおいて、他のデータ複製の複製処理が行われているような場合は、該複製処理による負荷によりストレージ・デバイス本来のデータ転送速度DＡ２が得られないこともある。このような場合に、ストレージ・システム１００とストレージ・システム１６０間のネットワーク１４０に負荷がなければ、tＡ２ * (1/βＡ２) + {S / (DＡ２ * αＡ２)}> tＢ３ * (1/βＢ３ ) + {S / (DＢ３ * αＢ３)}+ {S / (N * γ)}が成り立つこともある。実際にTＡ２ > TＢ３が成り立つ場合、決定部３１５は、ストレージ・システム１６０の第３階層のストレージ・デバイスを複製元のストレージ・デバイスとして決定する。
【００５８】
以上説明したように、本発明に係るコントローラ１１０は、複製対象のデータが存在するストレージ・デバイスすべてを、一旦、複製元のストレージ・デバイスの候補とみなす。そして、コントローラ１１０は、各ストレージ・デバイスの負荷やネットワーク回線の負荷を考慮して複製時間を見積もり、複数のストレージ・デバイスの候補の中から最小の複製時間を見積もられたストレージ・デバイスを、複製元のストレージ・デバイスとして決定する。最後にコントローラ１１０による制御の下、決定された複製元のストレージ・デバイスから複製を行う必要のある複製先のストレージ・デバイスへ直接データが複製される。従って、複数のストレージ・デバイス間のデータ複製において、リソースやエネルギーの消費を抑え、より短時間でデータの複製を行うことが可能となる。
【００５９】
次に、図１０乃至図１１のフローチャートを参照して、本実施形態に係るコントローラ１１０の動作を説明する。ストレージ・システム１００内のいずれかのストレージ・デバイスにおいて複製を行うところから処理は開始し、コントローラ１１０は、記憶装置１１６に格納されるファイル・リスト３２５を参照して、複製対象のファイルＸが格納されるストレージ・デバイスを検索する（ステップ１００）。この際、コントローラ１１０は、記憶装置１１６に格納される性能情報３２０を参照し、検索した複数のストレージ・デバイスのうちアクセス制限が課されているものを複製元ストレージ・デバイスの候補から除外する（ステップ１１０）。またコントローラ１１０は、他のストレージ・システム１６０に対しては、該ストレージ・システム１６０のコントローラに複製対象のファイルＸの有無を問い合わせるようにしてもよい。
【００６０】
処理はステップ１２０へ進み、コントローラ１１０は、複製元ストレージ・デバイスの候補のそれぞれについて、該ストレージ・デバイスから複製先のストレージ・システムへ複製対象のファイルＸを複製する複製時間を、記憶装置１１６に格納される性能情報３２０、負荷情報３３０を参照して見積もる。なお、複製時間の見積もり方法は、図１１を参照して後述する。
【００６１】
次にコントローラ１１０は、各ストレージ・デバイスの複製時間を比較して、一例として最小の複製時間を見積もられたストレージ・デバイスを複製元のストレージ・デバイスとして決定する（ステップ１３０）。コントローラ１１０は、複製元として決定されたストレージ・デバイスから複製処理がなされる複製先のストレージ・デバイスへのデータの複製を指示し（ステップ１４０）、処理は終了する。
【００６２】
図１１は、コントローラ１１０の見積部３１０による見積処理の流れを示すフローチャートである。処理は２００で開始し、見積部３１０はまず、複製対象のファイルＸの大きさＳを取得する。次に、見積部３１０は、記憶装置１１６に格納される性能情報３２０を読み出し、複製元のストレージ・デバイスの候補のそれぞれについて、アクセス時間ｔ、データ転送時間Ｄ、該当する場合は、ネットワークのデータ転送速度Ｎを取得する（ステップ２１０）。
【００６３】
見積部３１０はまた、記憶装置１１６に格納される負荷情報３３０を読み出し、複製元のストレージ・デバイスの候補のそれぞれについて、該候補の負荷α、コントローラの負荷β、該当する場合はネットワークの負荷γを取得する（ステップ２２０）。なお、見積部３１０はこれらの情報を直接、監視部３００から取得してもよく、また他のストレージ・システム１６０については、該ストレージ・システム１６０に直接問い合わせてもよい。
【００６４】
そして見積部３１０は、複製元のストレージ・デバイスの候補のそれぞれについて、上述した式１を用いて、複製時間を見積もる（ステップ２３０）。そして処理は終了する。
【００６５】
なお、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。又はドウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム（装置又は機器）、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）及びＤＶＤが含まれる。
【００６６】
以上、実施形態を用いて本発明の説明をしたが、本発明の技術範囲は上記実施形態に記載の範囲には限定されない。例えば上記実施例では、本発明を、ストレージ・システム１００を構成するコントローラ１１０に実装する場合について説明したが、本発明は、複数のストレージ・システムに接続される任意のコンピュータに実装することができる。このように上記の実施形態に、種々の変更又は改良を加えることが可能であることが当業者に明らかである。従って、そのような変更又は改良を加えた形態も当然に本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【００６７】
【図１】従来のストレージ・システムの構成を示す図である。
【図２】本発明の実施形態に係るストレージ・システム１００のハードウェア構成の一例を示す図である。
【図３】（ａ）本発明の実施形態に係るストレージ・システム１００内の接続形態の一例を示す図である。（ｂ）本発明の実施形態に係るストレージ・システム１００内の接続形態の一例を示す図である。
【図４】（ａ）本発明の実施形態に係るストレージ・システムの構成を示す図である。（ｂ）本発明の実施形態に係るストレージ・システム１００の他のコンピュータとの接続状態の一例を示す図である。
【図５】本発明の実施形態に係るストレージ・システム１００において、ファイルの複製を行う状況の一例を示す概念図である。
【図６】（ａ）本発明の実施形態に係るコントローラ１１０の機能構成の一例を示す図である。（ｂ）記憶装置１１６が格納する各種データの一例を示す図である。
【図７】本発明の実施形態に係る性能情報３２０の一例を示す図である。
【図８】（ａ）本発明の実施形態に係る負荷情報３３０の一例を示す図である。（ｂ）本発明の実施形態に係る負荷情報３３０の一例を示す図である。（ｃ）本発明の実施形態に係る負荷情報３３０の一例を示す図である。
【図９】本発明の実施形態に係るストレージ・システム１００において、ファイルの複製を行う状況の一例を示す概念図である。
【図１０】本実施形態に係るコントローラ１１０による処理の流れを示すフローチャートである。
【図１１】本実施形態に係る見積部３１０による処理の流れを示すフローチャートである。
【図１】
0005362975.tif 000002
【図２】
0005362975.tif 000003
【図３】
0005362975.tif 000004
【図４】
0005362975.tif 000005
【図５】
0005362975.tif 000006
【図６】
0005362975.tif 000007
【図７】
0005362975.tif 000008
【図８】
0005362975.tif 000009
【図９】
0005362975.tif 000010
【図１０】
0005362975.tif 000011
【図１１】
0005362975.tif 000012