ストレージシステム、ストレージ制御装置およびストレージ制御方法
【課題】外部排出対象のデータを外部排出用の可搬型記録媒体に短時間でコピーできるようにする。
【解決手段】書き込み処理部31は、排出対象データのうち記憶装置10に記憶されたデータを排出用記録媒体M0に書き込む。読み出し処理部32は、排出対象データのうち、排出要求時点で記憶装置10に記憶されていないデータを、収納部21内の可搬型記録媒体から読み出し、書き込み処理部31による書き込み対象のデータとして記憶装置10に格納する。排出処理制御部33は、排出対象データのうち、記憶装置10に記憶されたデータ量D1と、読み出し処理部32が可搬型記録媒体から読み出すべき残りのデータ量D2とに基づいて、書き込み処理部31による書き込み処理の開始タイミングを制御する。
【解決手段】書き込み処理部31は、排出対象データのうち記憶装置10に記憶されたデータを排出用記録媒体M0に書き込む。読み出し処理部32は、排出対象データのうち、排出要求時点で記憶装置10に記憶されていないデータを、収納部21内の可搬型記録媒体から読み出し、書き込み処理部31による書き込み対象のデータとして記憶装置10に格納する。排出処理制御部33は、排出対象データのうち、記憶装置10に記憶されたデータ量D1と、読み出し処理部32が可搬型記録媒体から読み出すべき残りのデータ量D2とに基づいて、書き込み処理部31による書き込み処理の開始タイミングを制御する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージシステム、ストレージ制御装置およびストレージ制御方法に関する。
【背景技術】
【0002】
近年、磁気テープなどの大容量かつ安価な記録媒体をバックエンドのライブラリ装置として用いるとともに、HDD(Hard Disk Drive)などのアクセス速度がより高速な記録媒体をキャッシュ装置として用いた階層型の仮想ストレージシステムが知られている。仮想ストレージシステムでは、ホスト装置に対して、キャッシュ装置に記憶されたデータをライブラリ装置のデータとして仮想的に見せる。これにより、ホスト装置は、ライブラリ装置によって提供される大容量の記憶領域を、あたかも自装置に接続されているかのように利用できるようになる。
【0003】
また、仮想ストレージシステムでは、ライブラリ装置に格納された磁気テープに生成された論理ボリュームを、外部保管用の磁気テープに記録してシステム外部に保管できるようにしたものがある。論理ボリュームを記録した磁気テープを外部に排出する機能は、例えば「エクスポート(Export)機能」などと呼ばれる。エクスポート機能を備えた仮想ストレージシステムとしては、例えば、ライブラリ装置に対する記録媒体の実装およびライブラリ装置からの記録媒体の排出を、複数の記録媒体からなるセット単位で管理するとともに、論理ボリュームをセットに対応させて管理するものがある。
【0004】
なお、他のストレージ装置の例として、仮想テープの排出口と投入口とを仮想的に用意し、仮想テープを排出口に移動させ、リムーバブル媒体への出力指示があると、排出口内の仮想テープをリムーバブル媒体へ書き込んだ後、書き込んだ仮想テープを読み出して投入口に格納するようにしたものがある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−172400号公報
【特許文献2】特開2007−293778号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上記のエクスポート機能を実現する際、エクスポート対象の論理ボリュームは、キャッシュ装置から、外部保管用の磁気テープにコピーされる。ここで、エクスポート対象の論理ボリュームがキャッシュ装置に記憶されていない場合には、論理ボリュームを磁気テープからキャッシュ装置に読み出した後、読み出した論理ボリュームを外部保管用の磁気テープに書き込むという動作が行われる。
【0007】
磁気テープからキャッシュ装置へのデータ読み出しが必要になる場合には、そのデータ読み出し中に、外部保管用の磁気テープへの書き込み動作が途中で停止してしまう可能性がある。外部保管用の磁気テープへの書き込み動作が途中で停止した状態は、読み書きが行われていない磁気テープがテープドライブを占有している状態となる。このような状態の発生は、テープドライブの利用効率の低下を招く要因となり、その結果、エクスポート処理全体の処理時間が長くなってしまう可能性がある。
【0008】
本発明はこのような課題に鑑みてなされたものであり、外部排出対象のデータを外部排出用の可搬型記録媒体に書き込む処理を中断しにくくしたストレージシステム、ストレージ制御装置およびストレージ制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、複数のアクセス装置、搬送部、記憶装置および制御装置を備えるストレージシステムが提供される。このストレージシステムにおいて、複数のアクセス装置は、それぞれ可搬型記録媒体にアクセスする。搬送部は、収納部に収納された複数の可搬型記録媒体を収納部と上記の複数のアクセス装置との間で搬送する。記憶装置は、収納部内の可搬型記録媒体に記録するデータを一時的に記憶する。制御装置は、収納部内の可搬型記録媒体と記憶装置との間の上記の複数のアクセス装置を通じたデータの転送を制御する。制御装置はさらに、書き込み処理部、読み出し処理部および排出処理制御部を有する。書き込み処理部は、収納部内の可搬型記録媒体に記憶されたデータの中から指定された複数の排出対象データのうち、記憶装置に記憶されている排出対象データを、記憶装置から読み出し、収納部内の可搬型記録媒体の1つである排出用記録媒体に対して複数のアクセス装置のいずれかを通じて書き込む。読み出し処理部は、上記の複数の排出対象データのうち、これら複数の排出対象が指定された時点で記憶装置に記憶されていない排出対象データを、収納部内の可搬型記録媒体から上記の複数のアクセス装置の少なくとも1つを通じて読み出し、書き込み処理部による書き込み処理対象のデータとして記憶装置に格納する。排出処理制御部は、上記の複数の排出対象データのうち記憶装置に記憶されている排出対象データついての第1のデータ量と、上記の複数の排出データのうち読み出し処理部が収納部内の可搬型記録媒体から読み出すべき残りの排出対象データについての第2のデータ量とに基づいて、書き込み処理部による書き込み処理の開始タイミングを制御する。
【0010】
また、上記課題を解決するために、上記のストレージシステムにおける制御装置と同様の処理を実行するストレージ制御装置が提供される。
さらに、上記課題を解決するために、上記のストレージシステムにおける制御装置と同様の処理を実行するストレージ制御方法が提供される。
【発明の効果】
【0011】
上記のストレージシステム、ストレージ制御装置およびストレージ制御方法によれば、外部排出対象のデータを外部排出用記録媒体に書き込む処理が中断されにくくなる。
【図面の簡単な説明】
【0012】
【図1】第1の実施の形態に係るストレージシステムの構成例を示す図である。
【図2】第2の実施の形態に係るストレージシステムのシステム構成例を示す図である。
【図3】制御装置およびテープライブラリ装置のハードウェア構成例を示す図である。
【図4】制御装置が備える処理機能の例を示すブロック図である。
【図5】マスタLVリストに登録される情報の例を示す図である。
【図6】オフキャッシュLVリストに登録される情報の例を示す図である。
【図7】オンキャッシュLVリストに登録される情報の例を示す図である。
【図8】ホスト装置が送信するエクスポート対象リストのデータ構成例を示す図である。
【図9】エクスポート処理全体の処理手順の例を示すフローチャートである。
【図10】読み出し処理部の処理手順の例を示すフローチャートである。
【図11】書き込み処理部の処理手順の例を示すフローチャートである。
【図12】エクスポート処理時におけるテープライブラリ装置の動作例を示す第1の図である。
【図13】エクスポート処理時におけるテープライブラリ装置の動作例を示す第2の図である。
【図14】リプレイスLVリストに登録される情報の例を示す図である。
【図15】リプレイスLVリストの登録処理手順の例を示すフローチャートである。
【図16】リプレイスLVリストの登録処理手順の他の例を示すフローチャートである。
【図17】リプレイス処理の手順の例を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、実施の形態について図面を参照して詳細に説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るストレージシステムの構成例を示す図である。
【0014】
図1に示すストレージシステム1は、記憶装置10,20と、制御装置30とを有する。また、制御装置30には、上位装置40が接続されている。
記憶装置10は、例えば、HDD、SSD(Solid State Drive)などを使用して、データを記憶する装置である。一方、記憶装置20は、複数の可搬型記録媒体の記憶領域にデータを記憶する装置である。
【0015】
記憶装置20は、複数の可搬型記録媒体を収納する収納部21と、収納部21内の可搬型記録媒体に対するデータアクセスを行う複数のアクセス部22a,22bと、収納部21とアクセス部22a,22bとの間で可搬型記録媒体を搬送する搬送部23とを備える。また、搬送部23には排出部24が設けられ、搬送部23は、可搬型記録媒体を排出部24から外部に排出可能になっている。
【0016】
制御装置30は、記憶装置10と、記憶装置20内の可搬型記録媒体との間のアクセス部22a,22bを通じたデータの転送処理を制御する。制御装置30は、記憶装置20内の可搬型記録媒体にアクセスする際には、記憶装置20の搬送部23を制御して、所望のデータが格納された可搬型記録媒体をアクセス部22a,22bのいずれかに搬送させ、搬送先のアクセス部を通じて可搬型記録媒体内のデータの読み書きを行う。また、制御装置30は、複数のアクセス部22a,22bのそれぞれを通じて、個別の可搬型記録媒体との間のデータアクセスを並列に行うことが可能になっている。なお、記憶装置20が備えるアクセス部の数は、図1の例のように2つに限らず、3つ以上であってもよい。
【0017】
制御装置30は、例えば上位装置40からのアクセス要求に応じて、記憶装置20内の可搬型記録媒体に対するデータアクセスを制御する。ここで、図1においては、例として、記憶装置20の収納部21に格納された記録媒体M1〜M4は、上位装置40からのアクセス対象のデータが格納されているものとする。ただし、上位装置40からのアクセス対象のデータを格納する記録媒体は、4つに限定されるものではない。なお、記憶装置20内の可搬型記録媒体に対するアクセス要求は、例えば、制御装置30に接続された入力装置(図示せず)を通じて行われてもよい。
【0018】
また、制御装置30は、記憶装置20内の可搬型記録媒体に格納するデータを記憶装置10にキャッシュする機能を備える。制御装置30は、例えば上位装置40から、書き込み要求を受けたとき、書き込みデータを記憶装置10に一旦格納した後、書き込みデータを記憶装置10から記憶装置20内の記録媒体M1〜M4のいずれかにコピーする。また、制御装置30は、例えば上位装置40から、読み出し要求を受けたとき、読み出しデータが記憶装置10にキャッシュされている場合には、記憶装置10から読み出しデータを読み出して上位装置40に送信する。一方、制御装置30は、読み出しデータが記憶装置10にキャッシュされていない場合には、読み出しデータを記憶装置20内の記録媒体M1〜M4のいずれかから読み出して、記憶装置10に一旦格納するとともに、上位装置40にも送信する。このように記憶装置10をキャッシュとして用いることで、制御装置30は、記憶装置20内の記録媒体M1〜M4が実現する記憶領域を、上位装置40に対して記憶装置10を通じて仮想的に見せる。
【0019】
なお、記憶装置20内の可搬型記録媒体に格納するデータを記憶装置10にキャッシュする制御処理は、例えば、制御装置30以外の他の装置が実行してもよい。
さらに、制御装置30は、記録媒体M1〜M4に格納されたデータを、排出用記録媒体M0にコピーし、排出用記録媒体M0を排出部24から排出させる「データ排出処理」を実行可能になっている。このデータ排出処理では、制御装置30は、排出対象として指定されたデータを、記憶装置10を通じて、排出用記録媒体M0に書き込む。例えば、制御装置30は、データの排出要求を受けた時点で、排出要求対象のデータが記憶装置10にキャッシュされていれば、そのデータを記憶装置10から読み出して排出用記録媒体M0に書き込む。しかし、制御装置30は、排出要求対象のデータが記憶装置10にキャッシュされていない場合、そのデータを収納部21内の対応する可搬型記録媒体から読み出して記憶装置10に一旦格納した後、そのデータを記憶装置10から読み出して排出用記録媒体M0に書き込む。
【0020】
また、制御装置30は、このようなデータ排出処理を、固定長または可変長のデータブロック単位で行う。
以下の説明では、制御装置30は、データ排出処理の要求および排出対象とするデータブロックの指定を、上位装置40から受け付けるものとする。ただし、制御装置30は、データ排出処理の要求および排出対象とするデータブロックの指定を、例えば、制御装置30に接続された入力装置から受け付けてもよい。
【0021】
また、以下の説明では、記録媒体M1〜M4に格納されたデータブロックのうち複数のデータブロックが、排出対象として制御装置30に指定されるものとする。さらに、以下の説明では、排出対象として指定されたデータブロックを、「排出対象データ」と呼ぶ。
【0022】
制御装置30は、データ排出処理を実現する処理機能として、書き込み処理部31、読み出し処理部32および排出処理制御部33を備えている。なお、書き込み処理部31、読み出し処理部32および排出処理制御部33の処理は、例えば、制御装置30が備えるCPU(Central Processing Unit)が所定のプログラムを実行することによって実現される。
【0023】
書き込み処理部31は、上位装置40から指定された複数の排出対象データのうち、記憶装置10に記憶されている排出対象データを、記憶装置10から読み出し、アクセス部22a,22bのいずれかを通じて排出用記録媒体M0に書き込む。ここで言う「記憶装置10に記憶されている排出対象データ」は、データ排出処理が要求された時点で記憶装置10にキャッシュされていた排出対象データと、読み出し処理部32によって収納部21内の可搬型記録媒体から読み出されて記憶装置10に格納された排出対象データとを含む。
【0024】
読み出し処理部32は、上位装置40から複数の排出対象データが指定された時点で、それら複数の排出対象データのうち記憶装置10に記憶されていない排出対象データを、記録媒体M1〜M4の少なくとも1つから、アクセス部22a,22bの少なくとも1つを通じて読み出す。読み出し処理部32は、読み出した排出対象データを、書き込み処理部31による書き込み対象のデータとして、記憶装置10に格納する。すなわち、読み出し処理部32によって記憶装置10に格納された排出対象データは、その後に書き込み処理部31によって排出用記録媒体M0に書き込まれる。
【0025】
排出処理制御部33は、書き込み処理部31が排出用記録媒体M0への書き込み処理を開始するまでの間、データ量D1,D2を検出する。データ量D1は、上位装置40から指定された複数の排出対象データのうち、記憶装置10に記憶されている排出対象データの総量である。このデータ量D1には、データ排出処理が要求された時点で記憶装置10にキャッシュされていた排出対象データの総量だけでなく、読み出し処理部32によって記録媒体M1〜M4の少なくとも1つから読み出されて記憶装置10に格納された排出対象データの総量も含まれる。一方、データ量D2は、上位装置40から指定された複数の排出対象データのうち、読み出し処理部32が記録媒体M1〜M4から記憶装置10に読み出すべき残りの排出対象データの総量である。
【0026】
排出処理制御部33は、少なくともデータ量D1,D2に基づいて、書き込み処理部31による排出用記録媒体M0への書き込み処理の開始タイミングを制御する。これにより、書き込み処理部31による排出用記録媒体M0への書き込み処理が中断しにくくなる。
【0027】
例えば、排出処理制御部33は、D1>D2の場合に、書き込み処理部31による排出用記録媒体M0への書き込み処理を開始させる。ここで、アクセス部22a,22bのそれぞれにおける可搬型記録媒体からのデータ読み出し速度および可搬型記録媒体へのデータ書き込み速度が同じであるとする。この場合、書き込み処理部31が一方のアクセス部を通じて排出用記録媒体M0に排出対象データを書き込む処理と、読み出し処理部32が他のアクセス部を通じて記録媒体M1〜M4の少なくとも1つから排出対象データを読み出す処理とを並列に実行すると、D1>D2の条件を満たすことで、書き込み処理が終了する前に読み出し処理が終了する確率が高まる。これにより、書き込み処理部31による書き込み処理が開始した後に、書き込み処理が中断する回数が少なくなる可能性、あるいは中断時間が短縮される可能性が高まる。
【0028】
書き込み処理部31による書き込み処理が中断した状態は、書き込みが行われていない排出用記録媒体M0がアクセス部22a,22bの一方を占有した状態となり、このような状態の発生は、アクセス部22a,22bの利用効率を悪化させる要因になる。書き込みが停止した排出用記録媒体M0がアクセス部を占有している期間は、例えば、読み出し処理部32が排出対象データを読み出すべき可搬型記録媒体が多数残っている場合に、本来、排出用記録媒体M0が搭載されたアクセス部を、読み出し未実行の排出対象データを他の可搬型記録媒体(記録媒体M1〜M4のいずれか)から読み出すことに割り当てることができた期間であると言える。このような観点から、書き込み処理部31による書き込み処理が中断する状態は、アクセス部22a,22bの利用効率が悪く、結果的にデータ排出処理全体の処理時間を長くし得る状態と言える。
【0029】
また、アクセス部からの可搬型記録媒体の取り外し動作およびアクセス部への可搬型記録媒体の搭載動作に要する時間は、データ排出処理全体の処理時間に大きな影響を与えるほどに長いので、これらの回数をできるだけ少なくすることが望ましい。しかしながら、例えば、排出用記録媒体M0への書き込みが停止したときに、排出用記録媒体M0をアクセス部から取り外し、他の可搬型記録媒体をそのアクセス部に搭載して読み出し未実行の排出対象データの読み出しを開始したとすると、少なくとも、その後に排出用記録媒体M0をいずれかのアクセス部に再度搭載し、データの書き込みを再開する必要が生じる。このため、排出用記録媒体M0をアクセス部から取り外し、その後に排出用記録媒体M0をいずれかのアクセス部に再搭載するという動作に長時間を要してしまい、結果的にデータ排出処理全体の処理時間も長くなってしまう。
【0030】
これに対して、書き込み処理部31による書き込み処理を中断させないことで、排出用記録媒体M0を書き込み処理の途中でアクセス部から取り外す必要がなくなる。このため、排出用記録媒体M0をアクセス部から取り外し、その後に排出用記録媒体M0をいずれかのアクセス部に再搭載する動作に要する無駄な時間が発生しなくなり、結果的にデータ排出処理全体の処理時間を短縮できる。従って、D1>D2の場合に書き込み処理部31による書き込み処理を開始させる、という排出処理制御部33の処理により、書き込み処理部31による書き込み処理が中断しにくくなり、その結果、データ排出処理全体の処理時間を短縮できる可能性が高まる。
【0031】
また、排出処理制御部33は、D1>D2の条件が満たされていない状態では、書き込み処理部31による書き込み処理を開始させずに、読み出し処理部32に読み出し処理を実行させてもよい。この場合、読み出し処理部32は、アクセス部22a,22bの両方を使用してデータの読み出しを並列に行うことができるようになる。このため、D1>D2の条件を満たすようになるまでの時間が短縮され、結果的にデータ排出処理全体にかかる時間を短縮できる。
【0032】
さらに、排出処理制御部33は、上記のデータ量D1,D2の条件に加えて、記憶装置20が備えるアクセス部の個数Xと、読み出し処理部32が読み出すべき残りの排出対象データが格納された可搬型記録媒体の媒体数Yとに基づいて、書き込み処理部31による書き込み処理の開始タイミングを制御してもよい。これにより、データ排出処理全体にかかる時間を抑制することが可能になる。
【0033】
例えば、排出処理制御部33は、D1>D2とY>Xのいずれかの条件を満たさない場合には、書き込み処理部31に書き込み処理を実行させずに、読み出し処理部32に読み出し処理を実行させる。そして、排出処理制御部33は、D1>D2とY>Xの両方の条件が満たされた場合に、書き込み処理部31に書き込み処理を開始させる。これにより、読み出し処理部32が読み込むべき排出対象データが多数の可搬型記録媒体に分散して格納されていた場合でも、書き込み処理部31による書き込み処理が終了する前に、読み出し処理部32による読み出し処理をより確実に終了させることができるようになる。従って、データ排出処理全体にかかる時間を短縮できる可能性が高まる。
【0034】
次に、可搬型記録媒体として磁気テープを利用した実施の形態について説明する。
〔第2の実施の形態〕
図2は、第2の実施の形態に係るストレージシステムのシステム構成例を示す図である。図2に示すストレージシステム100は、仮想テープ装置200、テープライブラリ装置300およびホスト装置400を含む。
【0035】
テープライブラリ装置300は、記録媒体として磁気テープを用いた記憶装置である。後述するように、テープライブラリ装置300は、磁気テープに対するデータアクセスを行う複数のテープドライブや、磁気テープを収容したテープカートリッジを搬送する機構などを備える。なお、テープライブラリ装置300は、例えば、仮想テープ装置200と同じ筐体内に設けられていてもよい。
【0036】
仮想テープ装置200は、制御装置201,202とディスクアレイ装置500とを備える。ディスクアレイ装置500は、複数のHDDを備える記憶装置である。なお、本実施の形態では、制御装置201,202とディスクアレイ装置500とが同じ筐体内に設けられているものとするが、これらの装置は個別の筐体に設けられていてもよい。
【0037】
制御装置201,202は、ホスト装置400とディスクアレイ装置500との間のデータ転送動作や、ディスクアレイ装置500とテープライブラリ装置300との間のデータ転送動作を制御する。制御装置201,202は、ストレージシステム100が、テープライブラリ装置300内の磁気テープをバックエンドのライブラリ装置とし、ディスクアレイ装置500内のHDDをキャッシュ装置とした階層型の仮想テープライブラリシステムとして動作するように制御する。ここで、仮想テープライブラリシステムとは、テープライブラリ装置300によって実現される大容量の記憶領域を、ホスト装置400が、ディスクアレイ装置500を通じて仮想的に利用できるようにしたものである。
【0038】
なお、仮想テープライブラリシステムのバックエンドとして用いる記録媒体としては、磁気テープの他、例えば、光ディスク、光磁気ディスクなどの可搬型の記録媒体を利用することもできる。また、仮想テープライブラリシステムのキャッシュ装置として用いる記憶装置としては、HDDの他、SSDなどを利用することもできる。
【0039】
制御装置201と制御装置202とは、例えば、互いに異なる論理ボリュームについてのデータ転送動作を制御する。また、例えば、制御装置201,202のうちの一方に故障が発生した場合には、他方の制御装置のみによって仮想テープライブラリシステムの運用を続行できるようになっている。
【0040】
さらに、制御装置201,202は、ホスト装置400から排出を要求された論理ボリュームのデータを、排出用の磁気テープにコピーし、その磁気テープをテープライブラリ装置300から外部に排出させる「エクスポート処理」を実行可能になっている。エクスポート処理によって外部に排出された磁気テープ内の論理ボリュームは、例えば、他の仮想テープライブラリシステムで利用可能である。
【0041】
ホスト装置400は、ユーザの入力操作に応じて制御装置201,202の少なくとも一方にアクセス要求を発することで、仮想テープライブラリシステム内の論理ボリュームにアクセスする。また、ホスト装置400は、制御装置201,202に対して、任意の論理ボリュームを指定し、指定した論理ボリュームのエクスポート処理を実行させることもできる。
【0042】
図3は、制御装置およびテープライブラリ装置のハードウェア構成例を示す図である。
なお、制御装置201と制御装置202は、同様のハードウェア構成を有し、また同様の処理を実行可能である。従って、これ以後、制御装置201,202のうち制御装置201の構成および処理について説明することとし、制御装置202の説明については省略する。
【0043】
制御装置201は、例えば、図3のようなコンピュータとして実現される。制御装置201は、CPU211によって装置全体が制御されている。CPU211には、バス217を介して、RAM(Random Access Memory)212および複数の周辺機器が接続されている。
【0044】
RAM212は、制御装置201の主記憶装置として使用される。RAM212には、CPU211に実行させるファームウェアプログラムの少なくとも一部が一時的に格納される。また、RAM212には、CPU211による処理に必要な各種データが格納される。
【0045】
バス217に接続されている周辺機器としては、フラッシュメモリ213、ホストI/F(インタフェース)214、ディスクI/F215およびテープI/F216がある。
フラッシュメモリ213は、制御装置201の二次記憶装置として使用される。フラッシュメモリ213には、ファームウェアプログラムおよび各種データが格納される。なお、二次記憶装置としては、HDDなどの他の種類の不揮発性記憶装置が使用されてもよい。
【0046】
ホストI/F214は、ホスト装置400との間でデータを送受信する通信I/Fである。ディスクI/F215は、ディスクアレイ装置500との間でデータを送受信する通信I/Fである。テープI/F216は、テープライブラリ装置300との間でデータを送受信する通信I/Fである。
【0047】
なお、ホスト装置400についても、制御装置201と同様に、CPU、RAM、周辺機器などを備えるコンピュータとして実現することができる。
テープライブラリ装置300は、コントローラ301、RAM302、フラッシュメモリ303、テープドライブ311〜314、テープ格納部321、テープ搬送部322およびテープ投入排出口323を備える。
【0048】
コントローラ301は、その内部に例えばCPUを備え、テープライブラリ装置300全体を統括的に制御する。RAM302は、コントローラ301に実行させるファームウェアプログラムの少なくとも一部が一時的に格納される。また、RAM302には、コントローラ301による処理に必要な各種データが格納される。フラッシュメモリ303には、ファームウェアプログラムや各種データが格納される。
【0049】
テープドライブ311〜314は、それぞれ、テープ搬送部322によって搬送されたテープカートリッジを1つずつマウントし、コントローラ301の制御の下で、マウントしたテープカートリッジ内の磁気テープに対するデータの書き込みや、磁気テープからのデータの読み出しを行う。なお、本実施の形態では、テープライブラリ装置300は例として4つのテープドライブを備えているが、テープドライブの数は2つ以上であれば特に限定されるものではない。
【0050】
テープ格納部321は、複数のテープカートリッジを格納する。テープ格納部321に格納されたテープカートリッジは、仮想テープライブラリシステムの一部として使用されるものと、エクスポート用のものとに大別される。以下の説明では、前者のテープカートリッジ内の磁気テープを「ライブラリ用磁気テープ」、後者のテープカートリッジ内の磁気テープを「エクスポート用磁気テープ」と呼ぶ。どの磁気テープをどちらの用途に使用するかは、制御装置201,202によって決定される。
【0051】
テープ搬送部322は、コントローラ301による制御の下で、テープカートリッジを搬送する。テープ搬送部322は、例えば、テープ格納部321に格納されたテープカートリッジを、テープドライブ311〜314のいずれかに搬送してマウントする。また、テープ搬送部322は、テープドライブ311〜314からテープカートリッジをアンマウントし、テープ格納部321に搬送して格納する。
【0052】
さらに、テープ搬送部322にはテープ投入排出口323が設けられている。テープ搬送部322は、コントローラ301からの要求に応じて、テープドライブ311〜314やテープ格納部321から搬送したテープカートリッジを、テープ投入排出口323から外部に排出したり、テープ投入排出口323から投入されたテープカートリッジを、テープドライブ311〜314やテープ格納部321に搬送することもできる。
【0053】
ところで、制御装置201は、前述のように、エクスポート処理を実行することができる。制御装置201は、ホスト装置400からエクスポートの実行要求を受け付けると、テープライブラリ装置300を制御して、テープドライブ311〜314のいずれかに対してエクスポート用磁気テープをマウントさせる。制御装置201は、ホスト装置400から指定された論理ボリュームをテープライブラリ装置300に送信して、エクスポート用磁気テープに書き込む。
【0054】
このエクスポート処理において、ホスト装置400から指定された論理ボリュームがディスクアレイ装置500にキャッシュされている「オンキャッシュ状態」である場合には、制御装置201は、指定された論理ボリュームをディスクアレイ装置500から読み出して、テープライブラリ装置300に送信し、エクスポート用磁気テープに書き込む。
【0055】
一方、ホスト装置400から指定された論理ボリュームがディスクアレイ装置500にキャッシュされていない「オフキャッシュ状態」である場合には、制御装置201は、指定された論理ボリュームを、テープライブラリ装置300内のライブラリ用磁気テープから読み出してディスクアレイ装置500に格納する。そして、制御装置201は、ディスクアレイ装置500に格納した論理ボリュームをテープライブラリ装置300に送信して、エクスポート用磁気テープに書き込む。
【0056】
ここで、オフキャッシュ状態である論理ボリュームをライブラリ用磁気テープから読み出してディスクアレイ装置500に格納する処理を、「オンキャッシュ処理」と呼ぶ。
上記のように、エクスポート対象として指定された論理ボリュームがオフキャッシュ状態である場合には、オンキャッシュ処理が必要となるので、エクスポート処理全体の処理時間が長くなるという問題がある。また、指定された論理ボリュームが格納されたライブラリ用磁気テープがテープドライブ311〜314のいずれにもマウントされていない場合には、テープ搬送部322によるライブラリ用磁気テープのマウント動作の実行も必要となるので、処理時間はさらに長くなる。
【0057】
また、制御装置201は、ホスト装置400から、エクスポート対象の論理ボリュームとして複数の論理ボリュームの指定を受けることもできる。ここで、エクスポート対象とされた複数の論理ボリュームの中に、オフキャッシュ状態の論理ボリュームが多数含まれ、しかもオフキャッシュ状態の論理ボリュームが多数の磁気テープに分散して記憶されている場合には、テープライブラリ装置300において、ライブラリ用磁気テープのマウントおよびアンマウントが頻繁に行われてしまう。磁気テープのマウントおよびアンマウントの回数が多くなるほど、論理ボリュームをライブラリ用磁気テープからディスクアレイ装置500に読み込む際の処理時間が増大してしまうという問題もある。
【0058】
さらに、テープドライブの使用の仕方によっては、エクスポート用磁気テープのアンマウントおよび再マウントを行う必要が生じる場合があり、このような場合には、エクスポート用磁気テープへの書き込み処理に要する時間も長くなってしまう。
【0059】
ここで、エクスポート処理については、次のような特徴がある。ホスト装置400から、エクスポート対象として複数の論理ボリュームが指定された場合、エクスポート用磁気テープに対する論理ボリュームの書き込み順は、必ずしもホスト装置400から指定された順序と一致する必要はない。また、図3に示したように、テープライブラリ装置300に複数のテープドライブ311〜314が設けられている場合には、ライブラリ用磁気テープからディスクアレイ装置500へのオンキャッシュ処理と、ディスクアレイ装置500からエクスポート用磁気テープに対する書き込み処理とを並列に実行可能であり、なおかつ、ライブラリ用磁気テープからのオンキャッシュ処理は、使用可能なテープドライブの台数分だけ並列に実行可能である。
【0060】
そこで、制御装置201は、エクスポート処理についての上記特徴を利用して、テープドライブによるライブラリ用磁気テープからのデータ読み出し処理およびエクスポート用磁気テープへのデータ書き込み処理の順序を制御することで、エクスポート処理の効率を高め、処理時間を短縮する。
【0061】
図4は、制御装置が備える処理機能の例を示すブロック図である。
制御装置201は、仮想テープ制御部221、エクスポート制御部222、読み出し処理部223、書き込み処理部224およびリプレイス処理部225を備える。これらの処理は、例えば、制御装置201のCPU211が所定のファームウェアプログラムを実行することによって実現される。また、制御装置201が備える記憶装置(例えばフラッシュメモリ213)には、マスタLV(論理ボリューム、Logical Volume)リスト231、オフキャッシュLVリスト232、オンキャッシュLVリスト233およびリプレイスLVリスト234が記憶される。
【0062】
仮想テープ制御部221は、ホスト装置400からの仮想テープライブラリシステムへのアクセス要求に応じて、ディスクアレイ装置500内のHDDに対するデータアクセス、テープライブラリ装置300内の磁気テープに対するデータアクセス、ホスト装置400との間のデータ送受信などの処理を制御する。また、これらの制御処理の際に、仮想テープ制御部221は、論理ボリュームを管理する情報が格納されたマスタLVリスト231を利用する。
【0063】
ここで、図5は、マスタLVリストに登録される情報の例を示す図である。
マスタLVリスト231には、論理ボリュームごとにレコードが生成される。マスタLVリスト231のレコードには、生成された論理ボリュームに関する情報として、「LV名」、「キャッシュ状態」、「格納先テープ名」、「LVサイズ」、「エクスポート開始時刻」および「エクスポート回数」が登録される。
【0064】
「LV名」は、論理ボリュームを識別する情報である。「キャッシュ状態」は、論理ボリュームがオンキャッシュ状態であるか、またはオフキャッシュ状態であるかを示す。「キャッシュ状態」は、オンキャッシュ状態である場合には「オン」とされ、オフキャッシュ状態である場合には「オフ」とされる。「格納先テープ名」は、論理ボリュームが格納されたライブラリ用磁気テープを識別する情報である。「LVサイズ」は、論理ボリュームのデータサイズを示す。
【0065】
「エクスポート開始時刻」は、レコードに対応する論理ボリュームのエクスポート処理が開始された最新の時刻を示す。「エクスポート回数」は、レコードに対応する論理ボリュームのエクスポート処理が過去に実行されたトータルの回数を示す。「エクスポート開始時刻」および「エクスポート回数」は、エクスポート制御部222によって登録・更新され、リプレイス処理部225によって参照される。
【0066】
仮想テープ制御部221は、マスタLVリスト231を用いて、例えば次のような処理を行う。仮想テープ制御部221は、ホスト装置400などからの要求に応じて新たな論理ボリュームを生成すると、生成した論理ボリュームに対応するレコードをマスタLVリスト231に生成する。このとき、仮想テープ制御部221は、生成した論理ボリュームに対応するレコード内の「キャッシュ状態」を「オン」にして、ディスクアレイ装置500に新たな論理ボリュームの領域を確保するとともに、確保した論理ボリュームの領域のサイズを「LVサイズ」に登録する。
【0067】
その後、仮想テープ制御部221は、ホスト装置400から書き込みを要求されたデータを、ディスクアレイ装置500内の論理ボリュームに記録する。さらに、仮想テープ制御部221は、その後の所定のタイミングで、データの記録を行った論理ボリュームを、テープライブラリ装置300内の所定のライブラリ用磁気テープにコピーする。このとき、仮想テープ制御部221は、論理ボリュームのコピー先のライブラリ用磁気テープを示す情報を、その論理ボリュームに対応するレコード内の「格納先テープ名」に登録する。
【0068】
また、仮想テープ制御部221は、例えば、ディスクアレイ装置500の空き容量が少なくなると、最終アクセス時刻から最も長い時間が経過している論理ボリュームを、ディスクアレイ装置500から消去する。このとき、仮想テープ制御部221は、ディスクアレイ装置500から消去した論理ボリュームに対応するレコードの「キャッシュ状態」を「オフ」にする。
【0069】
また、仮想テープ制御部221は、ホスト装置400からデータの読み出し要求を受けると、要求されたデータを含む論理ボリュームがディスクアレイ装置500に記録されているか否かを、マスタLVリスト231に基づいて判定する。例えば、「VT0001」という論理ボリュームに含まれるデータの読み出しがホスト装置400から要求されたとする。要求されたデータを含む論理ボリューム「VT0001」がディスクアレイ装置500に記録されていた場合、論理ボリューム「VT0001」に対応するマスタLVリスト231のレコードにおいて、「キャッシュ状態」は「オン」になっている。この場合、仮想テープ制御部221は、要求されたデータをディスクアレイ装置500内の論理ボリューム「VT0001」から読み出し、ホスト装置400に送信する。
【0070】
一方、要求されたデータを含む論理ボリューム「VT0001」がディスクアレイ装置500に記録されていない場合、論理ボリューム「VT0001」に対応するマスタLVリスト231のレコードにおいて、「キャッシュ状態」は「オフ」になっている。この場合、仮想テープ制御部221は、論理ボリューム「VT0001」が格納されたライブラリ用磁気テープを、テープライブラリ装置300内のいずれかのテープドライブにマウントさせる。そして、仮想テープ制御部221は、マウントさせたライブラリ用磁気テープから論理ボリューム「VT0001」を読み出し、ディスクアレイ装置500にコピーする。これとともに、仮想テープ制御部221は、論理ボリューム「VT0001」に対応するマスタLVリスト231内のレコードにおいて、「キャッシュ状態」を「オフ」から「オン」に書き替える。その後、仮想テープ制御部221は、ディスクアレイ装置500にコピーした論理ボリューム「VT0001」から、ホスト装置400から要求されたデータを読み出し、ホスト装置400に送信する。
【0071】
なお、「キャッシュ状態」としては、上記の「オン」「オフ」の代わりに、例えば、「Dirty」「Hit」「Miss」という3つのステータスが登録されてもよい。ここで、「Dirty」は、論理ボリュームの最新データが、ディスクアレイ装置500には格納されているものの、ライブラリ用磁気テープには格納されていない状態を示す。「Hit」は、ディスクアレイ装置500内の論理ボリュームのデータと、ライブラリ用磁気テープ内の論理ボリュームのデータとが等価である状態を示す。「Miss」は、ディスクアレイ装置500に論理ボリュームのデータが記録されておらず、ライブラリ用磁気テープにのみ論理ボリュームのデータが記録されている状態を示す。
【0072】
これら3つのステータスが使用された場合、論理ボリュームがオンキャッシュ状態であれば、その論理ボリュームに対応するレコード内の「キャッシュ状態」は「Dirty」または「Hit」となる。一方、論理ボリュームがオフキャッシュ状態であれば、その論理ボリュームに対応するレコード内の「キャッシュ状態」は「Miss」となる。
【0073】
以下、図4に戻り、エクスポート制御部222、読み出し処理部223および書き込み処理部224は、エクスポート処理の実行に関係する処理機能である。
エクスポート制御部222は、エクスポート処理を統括的に制御する。エクスポート制御部222は、ホスト装置400からエクスポートの実行要求を受け付けると、オフキャッシュLVリスト232およびオンキャッシュLVリスト233を生成する。後述するように、オフキャッシュLVリスト232には、ホスト装置400から指定されたエクスポート対象の論理ボリュームのうち、オフキャッシュ状態である論理ボリュームについての情報が登録される。また、オンキャッシュLVリスト233には、ホスト装置400から指定されたエクスポート対象の論理ボリュームのうち、オンキャッシュ状態である論理ボリュームについての情報が登録される。
【0074】
エクスポート制御部222は、オフキャッシュLVリスト232における論理ボリュームのレコードの登録順を調整することによって、読み出し処理部223によるライブラリ用磁気テープからの読み出し処理順を制御する。また、エクスポート制御部222は、読み出し処理部223が使用するテープドライブの数や、書き込み処理部224による論理ボリュームの書き込み処理の開始タイミングを制御する。これらの処理により、エクスポート制御部222は、エクスポート処理に要する時間ができるだけ短くなるように、読み出し処理部223および書き込み処理部224の処理を制御する。
【0075】
読み出し処理部223は、エクスポート制御部222による制御の下で、オフキャッシュLVリスト232に登録された情報に基づき、オフキャッシュ状態の論理ボリュームをライブラリ用磁気テープからディスクアレイ装置500にコピーするオンキャッシュ処理を実行する。また、読み出し処理部223は、1本のライブラリ用磁気テープからのオンキャッシュ処理が終了するたびに、オンキャッシュ処理が終了したエクスポート用磁気テープに対応するオフキャッシュLVリスト232のレコードを、オンキャッシュLVリスト233に移動させる。
【0076】
書き込み処理部224は、エクスポート制御部222による制御の下で、オンキャッシュLVリスト233に登録された情報に基づき、オンキャッシュ状態の論理ボリュームをディスクアレイ装置500から読み出して、エクスポート用磁気テープに書き込む。
【0077】
リプレイス処理部225は、エクスポート処理の履歴に基づき、テープライブラリ装置300を制御して「リプレイス処理」を実行する。リプレイス処理とは、同時期にエクスポート処理が行われることが予想される論理ボリュームが同一のライブラリ用磁気テープに格納されるように、テープライブラリ装置300における論理ボリュームの格納場所を移動させる処理である。
【0078】
リプレイス処理部225は、エクスポート処理が終了するごとに、リプレイス処理の対象とする論理ボリュームについての情報をリプレイスLVリスト234に登録する。そして、リプレイス処理部225は、エクスポート処理が実行されない期間(例えば、夜間などの業務時間外の期間)に、リプレイスLVリスト234に基づいて、リプレイス処理を実行する。
【0079】
図6は、オフキャッシュLVリストに登録される情報の例を示す図である。
オフキャッシュLVリスト232には、オフキャッシュ状態である論理ボリュームについての情報が登録される。論理ボリュームについての情報としては、論理ボリュームを識別する「LV名」、論理ボリュームを格納したライブラリ用磁気テープを識別する「格納先テープ名」、論理ボリュームのサイズを示す「LVサイズ」が登録される。
【0080】
エクスポート制御部222は、オフキャッシュLVリスト232に対して、最初に、オフキャッシュ状態である論理ボリュームごとにレコードを生成する。その後、エクスポート制御部222は、「格納先テープ名」が示すライブラリ用磁気テープが同一であるレコードを結合する。図6では、例えば、論理ボリューム「VT0002」,「VT0004」,「VT0008」が同一のライブラリ用磁気テープに格納されている。このため、論理ボリューム「VT0002」,「VT0004」,「VT0008」のそれぞれに対応するレコードが結合されている。ここで、結合されたレコードを「結合レコード」と呼ぶことにする。さらに、エクスポート制御部222は、結合レコードに含まれる論理ボリュームの総データサイズが大きい順になるように、結合レコードをソートする。
【0081】
図7は、オンキャッシュLVリストに登録される情報の例を示す図である。
オンキャッシュLVリスト233には、論理ボリュームごとにレコードが生成される。オンキャッシュLVリスト233の各レコードに登録される項目は、オフキャッシュLVリスト232と同じである。
【0082】
なお、本実施の形態では、読み出し処理部223が、オフキャッシュLVリスト232のレコードをそのままオンキャッシュLVリスト233に移動させることを可能にするために、オンキャッシュLVリスト233とオフキャッシュLVリスト232とで項目を同じにしている。しかしながら、オンキャッシュLVリスト233においては、「格納先テープ名」は登録されなくてもよい。
【0083】
次に、制御装置201におけるエクスポート処理の手順について説明する。まず、図8は、ホスト装置が送信するエクスポート対象リストのデータ構成例を示す図である。
ホスト装置400は、制御装置201または制御装置202に対してエクスポート処理を要求する際に、例えば、エクスポート対象とする論理ボリュームを識別する「LV名」をリスト化した、図8のようなエクスポート対象リスト410を、制御装置201または制御装置202に送信する。
【0084】
図9は、エクスポート処理全体の処理手順の例を示すフローチャートである。
[ステップS11]エクスポート制御部222は、エクスポートの実行要求と、エクスポート対象の論理ボリュームの指定とを、ホスト装置400から受け付ける。エクスポート対象の論理ボリュームは、例えば図8に示したエクスポート対象リスト410によって指定される。
【0085】
[ステップS12]エクスポート制御部222は、マスタLVリスト231から、ホスト装置400から指定されたエクスポート対象の論理ボリュームのレコードをすべて選択する。エクスポート制御部222は、選択した各レコードにおける「エクスポート開始時刻」の値を、現在の時刻に更新する。また、エクスポート制御部222は、選択した各レコードにおける「エクスポート回数」を「1」だけインクリメントする。
【0086】
なお、「エクスポート開始時刻」および「エクスポート回数」の更新は、例えば、後述するステップS23で、書き込み処理部224によって論理ボリュームがエクスポート用磁気テープに書き込まれるたびに行われてもよい。
【0087】
[ステップS13]エクスポート制御部222は、オンキャッシュLVリスト233を作成する。具体的には、エクスポート制御部222は、マスタLVリスト231を参照し、ホスト装置400から指定されたエクスポート対象の論理ボリュームのうち、「キャッシュ状態」が「オン」である論理ボリューム(すなわち、オンキャッシュ状態である論理ボリューム)を選択する。エクスポート制御部222は、選択した論理ボリュームについてのレコードをオンキャッシュLVリスト233に登録する。このとき、エクスポート制御部222は、選択した論理ボリュームについての「LV名」「格納先テープ名」「LVサイズ」の各情報をマスタLVリスト231から読み出し、オンキャッシュLVリスト233の対応するレコードに登録する。
【0088】
[ステップS14]エクスポート制御部222は、マスタLVリスト231を参照し、ホスト装置400から指定されたエクスポート対象の論理ボリュームのうち、「キャッシュ状態」が「オフ」である論理ボリューム(すなわち、オフキャッシュ状態である論理ボリューム)があるかを判定する。オフキャッシュ状態である論理ボリュームがある場合(S14:Yes)、エクスポート制御部222は、ステップS15の処理を実行する。一方、オフキャッシュ状態である論理ボリュームがない場合(S14:No)、エクスポート制御部222は、ステップS23の処理を実行する。
【0089】
[ステップS15]エクスポート制御部222は、オフキャッシュLVリスト232を作成する。具体的には、エクスポート制御部222は、マスタLVリスト231を参照し、ホスト装置400から指定されたエクスポート対象の論理ボリュームのうち、「キャッシュ状態」が「オフ」である論理ボリューム(すなわち、オフキャッシュ状態である論理ボリューム)を選択する。エクスポート制御部222は、選択した論理ボリュームについてのレコードをオフキャッシュLVリスト232に登録する。このとき、エクスポート制御部222は、選択した論理ボリュームについての「LV名」「格納先テープ名」「LVサイズ」の各情報をマスタLVリスト231から読み出し、オフキャッシュLVリスト232の対応するレコードに登録する。
【0090】
[ステップS16]エクスポート制御部222は、オフキャッシュLVリスト232に登録したレコードのうち、「格納先テープ名」が示すライブラリ用磁気テープが同一であるレコードを結合する。
【0091】
[ステップS17]エクスポート制御部222は、ステップS16でレコードを結合した結合レコード内に登録された「LVサイズ」の値を加算して、結合レコードごとにLVサイズ加算値を算出する。エクスポート制御部222は、オフキャッシュLVリスト232内の結合レコードを、LVサイズ加算値が大きい順にソートする。
【0092】
なお、ステップS13の処理と、ステップS15〜S17の処理との処理順は、逆であってもよい。あるいは、ステップS13の処理と、ステップS15〜S17の処理とが並列に実行されてもよい。
【0093】
[ステップS18]エクスポート制御部222は、オンキャッシュLVリスト233に登録された「LVサイズ」をすべて加算し、オンキャッシュ状態である論理ボリュームの総データサイズAを算出する。
【0094】
また、エクスポート制御部222は、オフキャッシュLVリスト232に登録された「LVサイズ」をすべて加算し、オフキャッシュ状態である論理ボリュームの総データサイズBを算出する。
【0095】
さらに、エクスポート制御部222は、オフキャッシュLVリスト232に登録された結合レコードの数をカウントし、オフキャッシュ状態である論理ボリュームが格納されたエクスポート用磁気テープのテープ本数Cを算出する。
【0096】
[ステップS19]エクスポート制御部222は、A>Bという条件が満たされているかを判定する。条件が満たされている場合(S19:Yes)、ステップS20の処理が実行され、条件が満たされていない場合(S19:No)、ステップS21の処理が実行される。
【0097】
[ステップS20]テープライブラリ装置300に設けられたテープドライブの数をDとする。このドライブ数Dはあらかじめ決められた値であり、例えば制御装置201のフラッシュメモリ213にあらかじめ記憶される。図3の例では、ドライブ数Dは「4」となる。
【0098】
エクスポート制御部222は、D>Cという条件が満たされているかを判定する。条件が満たされている場合(S20:Yes)、ステップS22,S23の処理が実行され、条件が満たされていない場合(S20:No)、ステップS21の処理が実行される。
【0099】
[ステップS21]ステップS19またはステップS20で条件が満たされていない場合(S19:NoまたはS20:No)、エクスポート制御部222は、読み出し処理部223に対して、使用可能なテープドライブの数としてDの値を設定し、最大D台のテープドライブでのオンキャッシュ処理を並列に実行させる。
【0100】
後述するように、読み出し処理部223は、テープライブラリ装置300を制御して、オフキャッシュLVリスト232に登録された結合レコードに対応するライブラリ用磁気テープから、エクスポート対象の論理ボリュームを読み出す。このとき、読み出し処理部223は、エクスポート制御部222から設定された使用可能ドライブ数を上限とした台数のテープドライブを使用して、各テープドライブから論理ボリュームを並列に読み出す。ステップS21では、使用可能ドライブ数がD(本実施の形態では「4」)であるので、オフキャッシュLVリスト232にD個以上の結合レコードが登録されている場合には、テープライブラリ装置300内のすべてのテープドライブにおいて、論理ボリュームの読み出しが行われることになる。読み出し処理部223は、エクスポート用磁気テープから読み出した論理ボリュームを、ディスクアレイ装置500のHDDに格納する。
【0101】
ここで、エクスポート制御部222によるステップS18,S19の処理は、例えば、ステップS19,S20の両方で条件を満たすと判定される(S19:YesかつS20:Yes)までの間、一定時間ごとに繰り返し行われる。あるいは、ステップS18,S19の処理は、ステップS19,S20の両方で条件を満たすと判定される(S19:YesかつS20:Yes)までの間、1つのエクスポート用磁気テープからの論理ボリュームの読み出し処理が終了するごとに実行されてもよい。これにより、ステップS19,S20の両方において条件を満たすと判定される(S19:YesかつS20:Yes)までの間、テープライブラリ装置300は、最大D台のテープドライブを使用して、エクスポート用磁気テープから論理ボリュームを読み出す。
【0102】
また、後述するように、読み出し処理部223は、エクスポート用磁気テープからの読み出しが終了するたびに、そのエクスポート用磁気テープに対応する結合レコードをオフキャッシュLVリスト232からオンキャッシュLVリスト233に移動させる。これにより、ステップS18では、時間の経過とともに、オンキャッシュ状態である論理ボリュームの総データサイズAが増加するとともに、オフキャッシュ状態である論理ボリュームの総データサイズBと、テープ本数Cとが減少していく。そして、ある時点でA>BかつD>Cの条件を満たす状態になり、ステップS19で条件を満たすと判定されると(S19:Yes)、ステップS22,S23の処理が実行される。
【0103】
[ステップS22]ステップS19,S20の両方で条件が満たされている場合(S19:YesかつS20:Yes)、エクスポート制御部222は、読み出し処理部223に対して、使用可能なテープドライブの数として(D−1)の値を設定し、最大(D−1)台のテープドライブでのオンキャッシュ処理を並列に実行させる。
【0104】
[ステップS23]ステップS19,S20の両方で条件が満たされている場合(S19:YesかつS20:Yes)、または、ステップS14でオフキャッシュ状態である論理ボリュームがない場合(S14:No)、エクスポート制御部222は、書き込み処理部224に対して、1台のテープドライブを使用してエクスポート用磁気テープへの論理ボリュームの書き込みを開始するように要求する。
【0105】
ここで、ステップS22の処理が実行された場合、テープライブラリ装置300では、少なくとも1台のテープドライブが、オンキャッシュ処理を実行しない空きドライブとして確保される。この場合、ステップS23では、テープライブラリ装置300は、書き込み処理部224による制御の下で、空きドライブとして確保されたテープドライブの1つに、エクスポート用磁気テープをマウントする。そして、テープライブラリ装置300は、マウントしたエクスポート用磁気テープに対して、ディスクアレイ装置500から読み出された論理ボリュームを書き込む。
【0106】
[ステップS24]エクスポート対象とされたすべての論理ボリュームについて、エクスポート用磁気テープへの書き込み処理が終了すると、エクスポート制御部222は、リプレイス処理部225に対して、エクスポート処理が終了したことを通知する。これとともに、エクスポート制御部222は、書き込みが終了した論理ボリュームを示す「LV名」をリプレイス処理部225に通知する。
【0107】
図10は、読み出し処理部の処理手順の例を示すフローチャートである。この図10の処理は、図9のステップS21およびステップS22における読み出し処理部の処理に対応する。
【0108】
[ステップS31]読み出し処理部223は、エクスポート制御部222から設定された、使用可能ドライブ数を確認する。このステップS31では、図9のステップS19が最初に実行された後のステップS21またはステップS22において、エクスポート制御部222が読み出し処理部223に設定した使用可能ドライブ数が確認される。従って、使用可能ドライブ数は、Dまたは(D−1)のいずれかとなる。
【0109】
[ステップS32]読み出し処理部223は、ステップS31で確認した使用可能ドライブ数分の結合レコードを、オフキャッシュLVリスト232の先頭から順に選択する。なお、オフキャッシュLVリスト232に登録された結合レコードの数が、使用可能ドライブ数に満たない場合には、読み出し処理部223は、登録されたすべての結合レコードを選択する。
【0110】
[ステップS33]読み出し処理部223は、ステップS32で選択した結合レコードの数だけのオンキャッシュ処理を並列に実行する。
読み出し処理部223は、まず、ステップS32で選択した結合レコードのそれぞれに対して、テープライブラリ装置300のテープドライブを割り当てる。読み出し処理部223は、テープライブラリ装置300を制御して、割り当てたテープドライブに対して、対応する結合レコードに登録された「格納先テープ名」が示すライブラリ用磁気テープをマウントする。読み出し処理部223は、ライブラリ用磁気テープをマウントしたテープドライブから、対応する結合レコードに登録されたすべての「LV名」が示す論理ボリュームを読み出し、ディスクアレイ装置500のHDDに格納する。ステップS32で複数の結合レコードが選択された場合には、選択された結合レコードの数だけのテープドライブからのデータ読み出しが並列に実行される。
【0111】
[ステップS34]読み出し処理部223は、テープライブラリ装置300で実行されている論理ボリュームの読み出し処理のうち、いずれか1本のライブラリ用磁気テープからの読み出し処理が終了するまで、処理待ちとなる(S34:No)。そして、1本のライブラリ用磁気テープからの読み出し処理が終了したとき(S34:Yes)、読み出し処理部223は、ステップS35の処理を実行する。
【0112】
[ステップS35]読み出し処理部223は、ステップS34で読み出し処理が終了したライブラリ用磁気テープに対応する結合エントリを、オフキャッシュLVリスト232からオンキャッシュLVリスト233に移動させる。
【0113】
[ステップS36]読み出し処理部223は、オフキャッシュLVリスト232に結合レコードが登録されているかを判定する。結合レコードが登録されている場合(S36:Yes)、読み出し処理部223は、ステップS37の処理を実行する。一方、結合レコードが登録されていない場合(S36:No)には、エクスポート対象の論理ボリュームのすべてがディスクアレイ装置500に格納されたことになり、読み出し処理部223は処理を終了する。
【0114】
[ステップS37]読み出し処理部223は、エクスポート制御部222から設定された、最新の使用可能ドライブ数を確認する。
[ステップS38]読み出し処理部223は、テープライブラリ装置300内のテープドライブの中に、オンキャッシュ処理の実行のために使用可能な空きドライブがあるかを判定する。読み出し処理部223は、現在オンキャッシュ処理を実行中のテープドライブの数が、ステップS37で確認した使用可能ドライブ数より少ない場合に、空きドライブがあると判定する。
【0115】
空きドライブがあると判定した場合(S38:Yes)、読み出し処理部223は、ステップS39の処理を実行する。一方、空きドライブがないと判定した場合(S38:No)、読み出し処理部223は、ステップS34に戻り、1本のライブラリ用磁気テープからの読み出し処理が終了するまで処理待ちの状態となる。
【0116】
例えば、図9のステップS21の処理が実行された後、ステップS19,S20で条件を満たすと判定されて(S19:YesかつS20:Yes)、ステップS22の処理が実行されると、オンキャッシュ処理の実行のために使用可能なドライブ数がDから(D−1)に減少する。この場合、ステップS38では、他のライブラリ用磁気テープからの読み出し処理が終了するまで、空きドライブがないと判定されることになる。
【0117】
[ステップS39]読み出し処理部223は、オフキャッシュLVリスト232に登録された残りの結合レコードのうち先頭の結合レコードを選択し、選択した結合レコードについてのオンキャッシュ処理を開始する。その後、ステップS34に戻る。
【0118】
このステップS39では、読み出し処理部223は、テープライブラリ装置300を制御して、選択した結合レコードの「格納先テープ名」が示すライブラリ用磁気テープを、空きドライブにマウントする。そして、読み出し処理部223は、選択した結合レコードに登録されたすべての「LV名」が示す論理ボリュームを、空きドライブにマウントしたライブラリ用磁気テープから読み出し、ディスクアレイ装置500のHDDに格納する。
【0119】
以上の図10の処理では、読み出し処理部223は、オフキャッシュLVリスト232に登録された順に結合レコードを選択し、選択した結合レコードに対応するライブラリ用磁気テープから、エクスポート対象の論理ボリュームを読み出し、ディスクアレイ装置500のHDDに格納する。このとき、読み出し処理部223は、エクスポート制御部222から設定された使用可能ドライブ数のテープドライブを最大限使用して、エクスポート対象の論理ボリュームの読み出し処理を並列に実行する。特に、A>BかつD>Cの条件を満たさない期間では、テープライブラリ装置300が備えるすべてのテープドライブを最大限使用して、論理ボリュームの読み出し処理が実行される。これにより、エクスポート対象の論理ボリュームのオンキャッシュ処理にかかる時間が抑制される。
【0120】
図11は、書き込み処理部の処理手順の例を示すフローチャートである。この図11の処理は、図9のステップS23における書き込み処理部224の処理に対応する。
[ステップS51]書き込み処理部224は、テープライブラリ装置300を制御して、テープライブラリ装置300内のテープドライブのうち、オンキャッシュ処理が実行されない空きドライブに対して、エクスポート用磁気テープをマウントする。
【0121】
[ステップS52]書き込み処理部224は、オンキャッシュLVリスト233からレコードを1つ選択する。
[ステップS53]書き込み処理部224は、ステップS52で選択したレコードの「LV名」が示す論理ボリュームを、ディスクアレイ装置500から読み出し、ステップS51で空きドライブにマウントしたエクスポート用磁気テープに書き込む。
【0122】
[ステップS54]書き込み処理部224は、ステップS53で開始したエクスポート用磁気テープへの書き込み処理が終了すると、ステップS55の処理を実行する。
[ステップS55]書き込み処理部224は、ステップS52で選択したレコードを、オンキャッシュLVリスト233から削除する。
【0123】
[ステップS56]書き込み処理部224は、オンキャッシュLVリスト233にレコードが登録されているかを判定する。レコードが登録されている場合(S56:Yes)、書き込み処理部224は、ステップS52に戻り、オンキャッシュLVリスト233に登録された他の1つのレコードを選択する。一方、レコードが登録されていない場合(S56:No)には、エクスポート対象とされたすべての論理ボリュームの書き込み処理が完了している。この場合、書き込み処理部224はステップS57の処理を実行する。
【0124】
[ステップS57]書き込み処理部224は、エクスポート用磁気テープをテープドライブからアンマウントして、テープ投入排出口323から排出する。
ここで、図12は、エクスポート処理時におけるテープライブラリ装置の動作例を示す第1の図である。この図12を用いて、A>BかつD>Cという条件について説明する。
【0125】
なお、図12において、磁気テープTP0は、エクスポート用磁気テープを示す。また、磁気テープTP1,TP2,TP3,・・・は、エクスポート対象の論理ボリュームのうちオフキャッシュ状態の論理ボリュームが格納されたライブラリ用磁気テープを示す。
【0126】
まず、複数のテープドライブを使用して、エクスポート用磁気テープへの書き込み処理と、ライブラリ用磁気テープからのオンキャッシュ処理とを並列に行うものとする。この場合、エクスポート用磁気テープへの書き込み処理を一旦開始してからは、エクスポート用磁気テープをテープドライブからアンマウントすることなく、書き込み処理を最後まで連続的に実行することで、処理時間を最も短くすることができる。このような処理を実現するためには、ライブラリ用磁気テープからのオンキャッシュ処理より、エクスポート用磁気テープへの書き込み処理の方が早く完了しないように制御すればよい。
【0127】
ここで、テープライブラリ装置300の各テープドライブにおける磁気テープからの読み出し速度と、磁気テープへの書き込み速度とが同じであるものとする。この場合、ライブラリ用磁気テープからのオンキャッシュ処理より、エクスポート用磁気テープへの書き込み処理の方が早く完了しないようにするには、エクスポート対象の論理ボリュームのうち、オンキャッシュ状態の論理ボリュームの総データサイズAが、オフキャッシュ状態の論理ボリュームの総データサイズBより大きいこと(A>B)が必須条件となる。
【0128】
ただし、A>Bの条件を満たしたとしても、オフキャッシュ状態の論理ボリュームが多数のライブラリ用磁気テープに分散して格納されている場合には、オンキャッシュ処理の実行時に、ライブラリ用磁気テープの乗せ替えをする必要が生じる場合がある。
【0129】
図12はこのような状態の例を示しており、オフキャッシュ状態の論理ボリュームが格納されたライブラリ用磁気テープの本数(図12の例では8本)が、テープライブラリ装置300が備えるドライブ数D(図12の例ではD=4)以上となっている。この状態で、1つのテープドライブ(図12の例ではテープドライブ311)をエクスポート用磁気テープへの書き込み用に割り当ててしまった場合、残りの(D−1)個のテープドライブ(図12の例ではテープドライブ312〜314)では、ライブラリ用磁気テープの乗せ替えが少なくとも1回発生してしまう。
【0130】
例えば、図12において、ライブラリ用磁気テープTP1からの論理ボリュームの読み出しが終了すると、ライブラリ用磁気テープTP1をテープドライブ312からアンマウントする。その後、他のライブラリ用磁気テープ(例えばライブラリ用磁気テープTP4)をテープドライブ312にマウントして、マウントしたライブラリ用磁気テープからの論理ボリュームの読み出しを開始する。
【0131】
このように、ライブラリ用磁気テープの乗せ替えが発生した場合には、オフキャッシュ状態であるすべての論理ボリュームについてのオンキャッシュ処理が完了する前に、エクスポート用磁気テープへの書き込み処理が完了してしまう可能性がある。そこで、図9のステップS19では、A>Bの条件を満たしたとしても、オフキャッシュ状態の論理ボリュームが格納されたライブラリ用磁気テープのテープ本数Cが、ドライブ数Dより小さくなる(D>C)という条件を満たすまでは、エクスポート用磁気テープへの書き込み処理を開始せずに、オンキャッシュ処理を優先して実行する(S21)。これにより、エクスポート処理全体にかかる時間を抑制できる。
【0132】
図13は、エクスポート処理時におけるテープライブラリ装置の動作例を示す第2の図である。なお、図13でも、図12と同様に、磁気テープTP0は、エクスポート用磁気テープを示す。また、磁気テープTP1,TP2,TP3,・・・は、エクスポート対象の論理ボリュームのうちオフキャッシュ状態の論理ボリュームが格納されたライブラリ用磁気テープを示す。
【0133】
図9のステップS19では、A>BおよびD>Cの一方でも満たさない場合には、エクスポート用磁気テープへの書き込み処理を開始しない。このとき、テープライブラリ装置300が備えるすべてのテープドライブを、オンキャッシュ処理用に割り当てることが可能である。このため、エクスポート制御部222は、図13に示すように、テープライブラリ装置300が備えるすべてのテープドライブを最大限使用して、各テープドライブからの読み出し処理を並列に実行させる(S21)。図13では例として、テープライブラリ装置300が備える4個のテープドライブ311〜314のすべてに、ライブラリ用磁気テープがマウントされ、マウントされたライブラリ用磁気テープから論理ボリュームが並列に読み出される様子を示している。このような処理により、エクスポート用磁気テープへの書き込み処理を開始するまでの時間を短縮することができる。
【0134】
ここで、オフキャッシュLVリスト232においては、ステップS17の処理により、エクスポート対象の論理ボリュームの格納量が大きいライブラリ用磁気テープほど、対応する結合レコードが前になるように、レコードがソートされる。このため、ステップS21の処理では、読み出すべきデータ量が大きいライブラリ用磁気テープほど、優先的にテープドライブにマウントされて、データの読み出しが行われる。
【0135】
このようにライブラリ用磁気テープからの読み出し順が決定されることにより、A>BかつD>Cの条件が満たされるまでの間に、ライブラリ用磁気テープの乗せ替えが発生する回数が抑制される。従って、エクスポート用磁気テープに対する論理ボリュームの書き込みが開始されるまでの時間が短縮され、その結果、エクスポート処理全体にかかる時間を抑制できる。
【0136】
また、図9の処理では、A>BかつD>Cの条件が満たされた後(S19:YesかつS20:Yes)、エクスポート用磁気テープに割り当てたもの以外の(D−1)個のテープドライブを最大限使用して、オンキャッシュ処理を並列に実行する(S22)。これにより、オンキャッシュ処理にかかる時間が抑制され、エクスポート用磁気テープへの書き込み処理がオンキャッシュ処理より早く完了する可能性が低くなるので、エクスポート処理全体にかかる時間を抑制できる。
【0137】
次に、リプレイス処理部225の処理について説明する。まず、図14は、リプレイスLVリストに登録される情報の例を示す図である。
リプレイスLVリスト234は、リプレイス処理部225によって複数登録され得る。1つのリプレイスLVリスト234には、リプレイス処理によって1つのライブラリ用磁気テープにまとめた方がよいと考えられる論理ボリュームの情報が登録される。リプレイスLVリスト234のそれぞれには、論理ボリュームを識別する「LV名」と、論理ボリュームが格納されたライブラリ用磁気テープを識別する「格納先テープ名」とが、論理ボリュームごとに登録される。
【0138】
リプレイス処理部225は、エクスポート処理の履歴に基づいて、1つのライブラリ用磁気テープにまとめた方がよいと考えられる論理ボリュームの情報を、1つのリプレイスLVリスト234に登録する。例えば、過去にエクスポート処理が実行された論理ボリュームのうち、ほぼ同時期にエクスポート処理が実行された論理ボリュームや、エクスポート処理が実行された回数がほぼ同じである論理ボリュームは、今後もホスト装置400からエクスポート対象として同時に指定される可能性が高いと考えられる。そこで、リプレイス処理部225は、ほぼ同時期にエクスポート処理が実行された論理ボリュームや、エクスポート処理が実行された回数がほぼ同じである論理ボリュームについての情報を、1つのリプレイスLVリスト234に登録する。そして、リプレイス処理部225は、例えば夜間などのエクスポート処理が実行されない所定のタイミングで、1つのリプレイスLVリスト234に登録された論理ボリュームを、それぞれが格納されたライブラリ用磁気テープから、1つのライブラリ用磁気テープに移動させる。
【0139】
前述のように、マスタLVリスト231には、論理ボリュームについてのエクスポート処理の履歴情報として、論理ボリュームのエクスポート処理が開始された最新の時刻を示す「エクスポート開始時刻」と、論理ボリュームのエクスポート処理が過去に実行されたトータルの回数を示す「エクスポート回数」とが登録される。そこで、リプレイス処理部225は、マスタLVリスト231に登録されたエクスポート処理の履歴情報のみに基づいて、リプレイスLVリスト234を登録する。
【0140】
図15は、リプレイスLVリストの登録処理手順の例を示すフローチャートである。
この図15の処理は、例えば、夜間などのエクスポート処理が実行されない所定のタイミングで実行される。なお、この図15の処理に使用される「N」は、リプレイス処理部225によって作成されたリプレイスLVリスト234のリスト数を示し、初期値は「0」とされる。リプレイス処理部225は、例えば、制御装置201が起動したときに、リスト数Nを初期値「0」として、フラッシュメモリ213またはRAM212に格納する。
【0141】
[ステップS71]リプレイス処理部225は、マスタLVリスト231から、「エクスポート開始時刻」が同一であり、かつ、「エクスポート回数」が同一である論理ボリューム群を抽出する。
【0142】
なお、このステップS71では、「エクスポート開始時刻」が一定範囲(例えば数時間程度)にあり、かつ、「エクスポート回数」が一定範囲(例えば数回程度)にある論理ボリューム群が抽出されてもよい。あるいは、「エクスポート開始時刻」のみが同一または一定範囲にある論理ボリューム群が抽出されてもよい。あるいは、「エクスポート回数」のみが同一または一定範囲にある論理ボリューム群が抽出されてもよい。
【0143】
[ステップS72]リプレイス処理部225は、ステップS71で抽出した論理ボリューム群を1つ選択する。リプレイス処理部225は、マスタLVリスト231から、選択した論理ボリューム群に含まれる各論理ボリュームについての「格納先テープ名」を読み出し、読み出した「格納先テープ名」がすべて同じであるかを判定する。「格納先テープ名」がすべて同じである場合(S72:Yes)、リプレイス処理部225は、ステップS75の処理を実行する。一方、「格納先テープ名」が異なる論理ボリュームが存在する場合(S72:No)、リプレイス処理部225は、ステップS73の処理を実行する。
【0144】
[ステップS73]リプレイス処理部225は、RAM212またはフラッシュメモリ213に対して、リプレイスLVリスト234を1つ作成する。リプレイス処理部225は、作成したリプレイスLVリスト234に対して、ステップS72で選択した論理ボリューム群に含まれる論理ボリュームについての「LV名」および「格納先テープ名」を登録する。
【0145】
[ステップS74]リプレイス処理部225は、リスト数Nを「1」だけインクリメントする。
[ステップS75]リプレイス処理部225は、ステップS71で抽出した論理ボリューム群のすべてについて処理済みかを判定する。処理済みでない論理ボリューム群がある場合(S75:No)、リプレイス処理部225は、ステップS72に戻り、処理済みでない他の論理ボリューム群を選択する。一方、すべての論理ボリューム群を処理済みである場合(S75:Yes)、リプレイス処理部225は、処理を終了する。
【0146】
また、リプレイス処理部225は、次の図16のような方法でリプレイスLVリスト234を作成してもよい。ホスト装置400から、エクスポート対象として複数の論理ボリュームが指定されて、指定された複数の論理ボリュームについてのエクスポート処理が実行された場合、それら複数の論理ボリュームは、それ以後にも再度、ホスト装置400からエクスポート対象として同時に指定される可能性が高い。そこで、次の図16の処理では、リプレイス処理部225は、エクスポート処理が終了した時点で、終了したエクスポート処理の対象であった論理ボリュームについての情報を、リプレイスLVリスト234に登録する。
【0147】
図16は、リプレイスLVリストの登録処理手順の他の例を示すフローチャートである。なお、図15の場合と同様に、リスト数Nの初期値は「0」である。
[ステップS81]図9のステップS24において、エクスポート制御部222は、エクスポート処理を終了した論理ボリュームを示す「LV名」を、リプレイス処理部225に通知する。リプレイス処理部225は、エクスポート制御部222から通知された「LV名」を受信する。
【0148】
[ステップS82]リプレイス処理部225は、マスタLVリスト231から、ステップS81で通知された「LV名」に対応づけられた「エクスポート回数」を読み込み、「エクスポート回数」が同一である論理ボリューム群を抽出する。なお、この処理では、「エクスポート回数」が一定範囲にある論理ボリューム群が抽出されてもよい。
【0149】
[ステップS83]リプレイス処理部225は、ステップS82で抽出した論理ボリューム群を1つ選択する。リプレイス処理部225は、マスタLVリスト231から、選択した論理ボリューム群に含まれる各論理ボリュームについての「格納先テープ名」を読み出し、読み出した「格納先テープ名」がすべて同じであるかを判定する。「格納先テープ名」がすべて同じである場合(S83:Yes)、リプレイス処理部225は、ステップS86の処理を実行する。一方、「格納先テープ名」が異なる論理ボリュームが存在する場合(S83:No)、リプレイス処理部225は、ステップS84の処理を実行する。
【0150】
[ステップS84]リプレイス処理部225は、RAM212またはフラッシュメモリ213に対して、リプレイスLVリスト234を1つ作成する。リプレイス処理部225は、作成したリプレイスLVリスト234に対して、ステップS83で選択した論理ボリューム群に含まれる論理ボリュームについての「LV名」および「格納先テープ名」を登録する。
【0151】
[ステップS85]リプレイス処理部225は、リスト数Nを「1」だけインクリメントする。
[ステップS86]リプレイス処理部225は、ステップS82で抽出した論理ボリューム群のすべてについて処理済みかを判定する。処理済みでない論理ボリューム群がある場合(S86:No)、リプレイス処理部225は、ステップS83に戻り、処理済みでない他の論理ボリューム群を選択する。一方、すべての論理ボリューム群を処理済みである場合(S86:Yes)、リプレイス処理部225は、処理を終了する。
【0152】
次に、図17は、リプレイス処理の手順の例を示すフローチャートである。この図17の処理は、例えば、夜間などのエクスポート処理が実行されない所定のタイミングで実行される。
【0153】
[ステップS91]リプレイス処理部225は、RAM212またはフラッシュメモリ213から、リスト数Nを読み込む。
[ステップS92]リプレイス処理部225は、リスト数Nが「0」であるかを判定する。リスト数Nが「1」以上の場合(S92:No)、リプレイス処理部225は、ステップS93の処理を実行する。一方、リスト数Nが「0」である場合(S92:Yes)、リプレイス処理部225は、リプレイス処理を終了する。
【0154】
[ステップS93]リプレイス処理部225は、変数Lに「1」を設定する。
[ステップS94]リプレイス処理部225は、テープライブラリ装置300を制御して、L番目のリプレイスLVリスト234に登録された論理ボリュームを、同一のライブラリ用磁気テープに移動させる。
【0155】
具体的には、リプレイス処理部225は、L番目のリプレイスLVリスト234からレコードを順次選択する。リプレイス処理部225は、選択したレコードに登録された「格納先テープ名」が示すライブラリ用磁気テープを、テープライブラリ装置300内のいずれかのテープドライブにマウントする。リプレイス処理部225は、マウントしたライブラリ用磁気テープから、選択したレコードに登録された「LV名」が示す論理ボリュームを読み出し、ディスクアレイ装置500のHDDに格納する。このとき、読み出しを行った、元のライブラリ用磁気テープ内の論理ボリュームを、無効化する。
【0156】
リプレイス処理部225は、L番目のリプレイスLVリスト234に登録されたすべての論理ボリュームをディスクアレイ装置500のHDDに格納すると、テープライブラリ装置300のいずれかのテープドライブに、移動先とするライブラリ用磁気テープをマウントする。リプレイス処理部225は、ディスクアレイ装置500のHDDに格納した論理ボリュームを、マウントした移動先のライブラリ用磁気テープに格納する。
【0157】
[ステップS95]リプレイス処理部225は、マスタLVリスト231の登録情報のうち、ステップS94で格納先を変更した論理ボリュームについての「格納先テープ名」を、ステップS94での異動先のライブラリ用磁気テープを示すように更新する。
【0158】
[ステップS96]リプレイス処理部225は、変数Lを「1」だけインクリメントする。
[ステップS97]リプレイス処理部225は、変数Lの値がリスト数Nと等しいかを判定する。変数Lがリスト数Nより小さい場合(S97:No)、リプレイス処理部225は、ステップS94の処理を実行する。一方、L=Nの場合(S97:Yes)、リプレイス処理部225は、ステップS98の処理を実行する。
【0159】
[ステップS98]リプレイス処理部225は、リスト数Nを「0」に初期化する。
以上の図17の処理が実行されることにより、その後に複数の論理ボリュームを指定したエクスポート処理が要求された際に、指定された論理ボリュームが同一のライブラリ用磁気テープに格納されている可能性が高くなる。このため、エクスポート処理にかかる時間を抑制できるようになる。
【0160】
以上の各実施の形態に関し、さらに以下の付記を開示する。
(付記1) 可搬型記録媒体にアクセスする複数のアクセス装置と、
収納部に収納された複数の可搬型記録媒体を前記収納部と前記複数のアクセス装置との間で搬送する搬送部と、
前記収納部内の可搬型記録媒体に記録するデータを一時的に記憶する記憶装置と、
前記収納部内の可搬型記録媒体と前記記憶装置との間の前記複数のアクセス装置を通じたデータの転送を制御する制御装置と、
を備え、
前記制御装置は、
前記収納部内の可搬型記録媒体に記憶されたデータの中から指定された複数の排出対象データのうち、前記記憶装置に記憶されている排出対象データを、前記記憶装置から読み出し、前記収納部内の可搬型記録媒体の1つである排出用記録媒体に対して前記複数のアクセス装置のいずれかを通じて書き込む書き込み処理部と、
前記複数の排出対象データのうち、前記複数の排出対象データが指定された時点で前記記憶装置に記憶されていない排出対象データを、前記収納部内の可搬型記録媒体から前記複数のアクセス装置の少なくとも1つを通じて読み出し、前記書き込み処理部による書き込み処理対象のデータとして前記記憶装置に格納する読み出し処理部と、
前記複数の排出対象データのうち前記記憶装置に記憶されている排出対象データについての第1のデータ量と、前記複数の排出対象データのうち前記読み出し処理部が前記収納部内の可搬型記録媒体から読み出すべき残りの排出対象データについての第2のデータ量とに基づいて、前記書き込み処理部による書き込み処理の開始タイミングを制御する排出処理制御部と、
を有することを特徴とするストレージシステム。
【0161】
(付記2) 前記排出処理制御部は、前記第1のデータ量が前記第2のデータ量より大きく、かつ、排出対象データの読み書きに使用する前記アクセス部の個数が、前記複数の排出対象データのうち前記読み出し処理部が読み出すべき残りの排出対象データが格納された可搬型記録媒体の媒体数より大きい場合に、前記書き込み処理部による書き込み処理を開始させることを特徴とする付記1記載のストレージシステム。
【0162】
(付記3) 前記排出処理制御部は、
前記第1のデータ量が前記第2のデータ量以下であるか、または、前記アクセス部の個数が前記媒体数以下である場合、前記読み出し処理部に、前記複数のアクセス部のすべてを使用して、可搬型記録媒体から前記記憶装置への読み出し処理を実行させ、
前記第1のデータ量が前記第2のデータ量より大きく、かつ、前記アクセス部の個数が前記媒体数より大きい場合、前記書き込み処理部による書き込み処理を開始させるとともに、前記書き込み処理部による書き込み処理と前記読み出し処理部による読み出し処理とを並列に実行させる、
ことを特徴とする付記2記載のストレージシステム。
【0163】
(付記4) 前記排出処理制御部は、前記第1のデータ量が前記第2のデータ量より大きく、かつ、前記アクセス部の個数が前記媒体数より大きい場合、前記読み出し処理部に、前記書き込み処理部による書き込み処理に使用されていない残りの前記アクセス部をすべて使用して、可搬型記録媒体から前記記憶装置への読み出し処理を並列に実行させることを特徴とする付記2または3記載のストレージシステム。
【0164】
(付記5) 前記排出処理制御部は、排出対象データの格納量が大きい可搬型記録媒体ほど先にデータの読み出しを行うように、前記読み出し処理部を制御することを特徴とする付記2〜4のいずれか1つに記載のストレージシステム。
【0165】
(付記6) 前記排出処理制御部は、
前記第1のデータ量が前記第2のデータ量以下である場合、前記読み出し処理部に、前記複数のアクセス部のすべてを使用して、可搬型記録媒体から前記記憶装置への読み出し処理を実行させ、
前記第1のデータ量が前記第2のデータ量より大きい場合、前記書き込み処理部による書き込み処理を開始させるとともに、前記書き込み処理部による書き込み処理と前記読み出し処理部による読み出し処理とを並列に実行させる、
ことを特徴とする付記1記載のストレージシステム。
【0166】
(付記7) 前記排出処理制御部は、前記第1のデータ量が前記第2のデータ量より大きい場合、前記読み出し処理部に、前記書き込み処理部による書き込み処理に使用されていない残りの前記アクセス部をすべて使用して、可搬型記録媒体から前記記憶装置への読み出し処理を並列に実行させることを特徴とする付記1または6記載のストレージシステム。
【0167】
(付記8) 前記制御装置は、前記収納部内の可搬型記録媒体に記憶されたデータの中の、過去に排出対象データとして指定されたデータのうち、排出対象データとして指定された最終時刻または回数の少なくとも一方が所定の範囲内にあるデータを、前記収納部内の1つの可搬型記録媒体に移動させる移動制御部をさらに有することを特徴とする付記1〜7のいずれか1つに記載のストレージシステム。
【0168】
(付記9) 可搬型記録媒体にアクセスする複数のアクセス装置と、複数の可搬型記録媒体に記録するデータを一時的に記憶する記憶装置とに接続し、前記複数の可搬型記録媒体と前記記憶装置との間の前記複数のアクセス装置を通じたデータの転送を制御するストレージ制御装置において、
前記複数の可搬型記録媒体に記憶されたデータの中から指定された複数の排出対象データのうち、前記記憶装置に記憶されている排出対象データを、前記記憶装置から読み出し、排出用の可搬型記録媒体に対して前記複数のアクセス装置のいずれかを通じて書き込む書き込み処理部と、
前記複数の排出対象データのうち、前記複数の排出対象データが指定された時点で前記記憶装置に記憶されていない排出対象データを、前記複数の可搬型記録媒体から前記複数のアクセス装置の少なくとも1つを通じて読み出し、前記書き込み処理部による書き込み処理対象のデータとして前記記憶装置に格納する読み出し処理部と、
前記複数の排出対象データのうち前記記憶装置に記憶されている排出対象データについての第1のデータ量と、前記複数の排出対象データのうち前記読み出し処理部が前記複数の可搬型記録媒体から読み出すべき残りの排出対象データについての第2のデータ量とに基づいて、前記書き込み処理部による書き込み処理の開始タイミングを制御する排出処理制御部と、
を有することを特徴とするストレージ制御装置。
【0169】
(付記10) 可搬型記録媒体にアクセスする複数のアクセス装置と、複数の可搬型記録媒体に記録するデータを一時的に記憶する記憶装置とに接続し、前記複数の可搬型記録媒体と前記記憶装置との間の前記複数のアクセス装置を通じたデータの転送を制御するストレージ制御装置におけるストレージ制御方法であって、
前記ストレージ制御装置は、
前記複数の可搬型記録媒体に記憶されたデータの中から、排出用の可搬型記録媒体へ書き込む複数の排出対象データの指定を受け付け、
前記複数の排出対象データのうち、前記記憶装置に記憶されており、かつ、前記排出用の可搬型記録媒体に対する前記複数のアクセス装置のいずれかを通じた書き込み処理が未実行である排出対象データについての第1のデータ量と、前記複数の排出対象データのうち、前記複数の排出対象データが指定された時点で前記記憶装置に記憶されておらず、かつ、前記複数の可搬型記録媒体から読み出して前記排出用の可搬型記録媒体に対する前記書き込み処理の対象として前記記憶装置に格納する読み出し処理が未実行の排出対象データについての第2のデータ量とを検出し、
検出した前記第1のデータ量および前記第2のデータ量に基づいて、前記書き込み処理の開始タイミングを制御する、
ことを特徴とするストレージ制御方法。
【0170】
(付記11) 前記ストレージ制御装置は、前記第1のデータ量が前記第2のデータ量より大きく、かつ、前記書き込み処理および前記読み出し処理に使用する前記アクセス装置の個数が、前記複数の排出対象データのうち前記読み出し処理を実行すべき残りの排出対象データが格納された可搬型記録媒体の媒体数より大きい場合に、前記書き込み処理を開始させることを特徴とする付記10記載のストレージ制御方法。
【0171】
(付記12) 前記ストレージ制御装置は、
前記第1のデータ量が前記第2のデータ量以下であるか、または、前記アクセス装置の個数が前記媒体数以下である場合、前記複数のアクセス装置のすべてを使用して前記読み出し処理を実行し、
前記第1のデータ量が前記第2のデータ量より大きく、かつ、前記アクセス装置の個数が前記媒体数より大きい場合、前記書き込み処理を開始させるとともに、前記書き込み処理と前記読み出し処理とを並列に実行する、
ことを特徴とする付記11記載のストレージ制御方法。
【0172】
(付記13) 前記ストレージ制御装置は、前記第1のデータ量が前記第2のデータ量より大きく、かつ、前記アクセス装置の個数が前記媒体数より大きい場合、前記書き込み処理に使用されていない残りの前記アクセス装置をすべて使用して、前記読み出し処理を並列に実行することを特徴とする付記11または12記載のストレージ制御方法。
【0173】
(付記14) 前記ストレージ制御装置は、排出対象データの格納量が大きい可搬型記録媒体ほど先にデータの読み出しを行うように前記読み出し処理を制御することを特徴とする付記11〜13のいずれか1つに記載のストレージ制御方法。
【0174】
(付記15) 前記ストレージ制御装置は、
前記第1のデータ量が前記第2のデータ量以下である場合、前記複数のアクセス装置のすべてを使用して前記読み出し処理を実行し、
前記第1のデータ量が前記第2のデータ量より大きい場合、前記書き込み処理を開始させるとともに、前記書き込み処理と前記読み出し処理とを並列に実行する、
ことを特徴とする付記10記載のストレージ制御方法。
【0175】
(付記16) 前記ストレージ制御装置は、前記第1のデータ量が前記第2のデータ量より大きい場合、前記書き込み処理に使用されていない残りの前記アクセス装置をすべて使用して前記読み出し処理を並列に実行することを特徴とする付記10または15記載のストレージ制御方法。
【0176】
(付記17) 前記ストレージ制御装置は、前記複数の可搬型記録媒体に記憶されたデータの中の、過去に排出対象データとして指定されたデータのうち、排出対象データとして指定された最終時刻または回数の少なくとも一方が所定の範囲内にあるデータを、1つの可搬型記録媒体に移動させることを特徴とする付記10〜16のいずれか1つに記載のストレージ制御方法。
【符号の説明】
【0177】
1 ストレージシステム
10,20 記憶装置
21 収納部
22a,22b アクセス部
23 搬送部
24 排出部
31 書き込み処理部
32 読み出し処理部
33 排出処理制御部
40 上位装置
【技術分野】
【0001】
本発明は、ストレージシステム、ストレージ制御装置およびストレージ制御方法に関する。
【背景技術】
【0002】
近年、磁気テープなどの大容量かつ安価な記録媒体をバックエンドのライブラリ装置として用いるとともに、HDD(Hard Disk Drive)などのアクセス速度がより高速な記録媒体をキャッシュ装置として用いた階層型の仮想ストレージシステムが知られている。仮想ストレージシステムでは、ホスト装置に対して、キャッシュ装置に記憶されたデータをライブラリ装置のデータとして仮想的に見せる。これにより、ホスト装置は、ライブラリ装置によって提供される大容量の記憶領域を、あたかも自装置に接続されているかのように利用できるようになる。
【0003】
また、仮想ストレージシステムでは、ライブラリ装置に格納された磁気テープに生成された論理ボリュームを、外部保管用の磁気テープに記録してシステム外部に保管できるようにしたものがある。論理ボリュームを記録した磁気テープを外部に排出する機能は、例えば「エクスポート(Export)機能」などと呼ばれる。エクスポート機能を備えた仮想ストレージシステムとしては、例えば、ライブラリ装置に対する記録媒体の実装およびライブラリ装置からの記録媒体の排出を、複数の記録媒体からなるセット単位で管理するとともに、論理ボリュームをセットに対応させて管理するものがある。
【0004】
なお、他のストレージ装置の例として、仮想テープの排出口と投入口とを仮想的に用意し、仮想テープを排出口に移動させ、リムーバブル媒体への出力指示があると、排出口内の仮想テープをリムーバブル媒体へ書き込んだ後、書き込んだ仮想テープを読み出して投入口に格納するようにしたものがある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−172400号公報
【特許文献2】特開2007−293778号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上記のエクスポート機能を実現する際、エクスポート対象の論理ボリュームは、キャッシュ装置から、外部保管用の磁気テープにコピーされる。ここで、エクスポート対象の論理ボリュームがキャッシュ装置に記憶されていない場合には、論理ボリュームを磁気テープからキャッシュ装置に読み出した後、読み出した論理ボリュームを外部保管用の磁気テープに書き込むという動作が行われる。
【0007】
磁気テープからキャッシュ装置へのデータ読み出しが必要になる場合には、そのデータ読み出し中に、外部保管用の磁気テープへの書き込み動作が途中で停止してしまう可能性がある。外部保管用の磁気テープへの書き込み動作が途中で停止した状態は、読み書きが行われていない磁気テープがテープドライブを占有している状態となる。このような状態の発生は、テープドライブの利用効率の低下を招く要因となり、その結果、エクスポート処理全体の処理時間が長くなってしまう可能性がある。
【0008】
本発明はこのような課題に鑑みてなされたものであり、外部排出対象のデータを外部排出用の可搬型記録媒体に書き込む処理を中断しにくくしたストレージシステム、ストレージ制御装置およびストレージ制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、複数のアクセス装置、搬送部、記憶装置および制御装置を備えるストレージシステムが提供される。このストレージシステムにおいて、複数のアクセス装置は、それぞれ可搬型記録媒体にアクセスする。搬送部は、収納部に収納された複数の可搬型記録媒体を収納部と上記の複数のアクセス装置との間で搬送する。記憶装置は、収納部内の可搬型記録媒体に記録するデータを一時的に記憶する。制御装置は、収納部内の可搬型記録媒体と記憶装置との間の上記の複数のアクセス装置を通じたデータの転送を制御する。制御装置はさらに、書き込み処理部、読み出し処理部および排出処理制御部を有する。書き込み処理部は、収納部内の可搬型記録媒体に記憶されたデータの中から指定された複数の排出対象データのうち、記憶装置に記憶されている排出対象データを、記憶装置から読み出し、収納部内の可搬型記録媒体の1つである排出用記録媒体に対して複数のアクセス装置のいずれかを通じて書き込む。読み出し処理部は、上記の複数の排出対象データのうち、これら複数の排出対象が指定された時点で記憶装置に記憶されていない排出対象データを、収納部内の可搬型記録媒体から上記の複数のアクセス装置の少なくとも1つを通じて読み出し、書き込み処理部による書き込み処理対象のデータとして記憶装置に格納する。排出処理制御部は、上記の複数の排出対象データのうち記憶装置に記憶されている排出対象データついての第1のデータ量と、上記の複数の排出データのうち読み出し処理部が収納部内の可搬型記録媒体から読み出すべき残りの排出対象データについての第2のデータ量とに基づいて、書き込み処理部による書き込み処理の開始タイミングを制御する。
【0010】
また、上記課題を解決するために、上記のストレージシステムにおける制御装置と同様の処理を実行するストレージ制御装置が提供される。
さらに、上記課題を解決するために、上記のストレージシステムにおける制御装置と同様の処理を実行するストレージ制御方法が提供される。
【発明の効果】
【0011】
上記のストレージシステム、ストレージ制御装置およびストレージ制御方法によれば、外部排出対象のデータを外部排出用記録媒体に書き込む処理が中断されにくくなる。
【図面の簡単な説明】
【0012】
【図1】第1の実施の形態に係るストレージシステムの構成例を示す図である。
【図2】第2の実施の形態に係るストレージシステムのシステム構成例を示す図である。
【図3】制御装置およびテープライブラリ装置のハードウェア構成例を示す図である。
【図4】制御装置が備える処理機能の例を示すブロック図である。
【図5】マスタLVリストに登録される情報の例を示す図である。
【図6】オフキャッシュLVリストに登録される情報の例を示す図である。
【図7】オンキャッシュLVリストに登録される情報の例を示す図である。
【図8】ホスト装置が送信するエクスポート対象リストのデータ構成例を示す図である。
【図9】エクスポート処理全体の処理手順の例を示すフローチャートである。
【図10】読み出し処理部の処理手順の例を示すフローチャートである。
【図11】書き込み処理部の処理手順の例を示すフローチャートである。
【図12】エクスポート処理時におけるテープライブラリ装置の動作例を示す第1の図である。
【図13】エクスポート処理時におけるテープライブラリ装置の動作例を示す第2の図である。
【図14】リプレイスLVリストに登録される情報の例を示す図である。
【図15】リプレイスLVリストの登録処理手順の例を示すフローチャートである。
【図16】リプレイスLVリストの登録処理手順の他の例を示すフローチャートである。
【図17】リプレイス処理の手順の例を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、実施の形態について図面を参照して詳細に説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るストレージシステムの構成例を示す図である。
【0014】
図1に示すストレージシステム1は、記憶装置10,20と、制御装置30とを有する。また、制御装置30には、上位装置40が接続されている。
記憶装置10は、例えば、HDD、SSD(Solid State Drive)などを使用して、データを記憶する装置である。一方、記憶装置20は、複数の可搬型記録媒体の記憶領域にデータを記憶する装置である。
【0015】
記憶装置20は、複数の可搬型記録媒体を収納する収納部21と、収納部21内の可搬型記録媒体に対するデータアクセスを行う複数のアクセス部22a,22bと、収納部21とアクセス部22a,22bとの間で可搬型記録媒体を搬送する搬送部23とを備える。また、搬送部23には排出部24が設けられ、搬送部23は、可搬型記録媒体を排出部24から外部に排出可能になっている。
【0016】
制御装置30は、記憶装置10と、記憶装置20内の可搬型記録媒体との間のアクセス部22a,22bを通じたデータの転送処理を制御する。制御装置30は、記憶装置20内の可搬型記録媒体にアクセスする際には、記憶装置20の搬送部23を制御して、所望のデータが格納された可搬型記録媒体をアクセス部22a,22bのいずれかに搬送させ、搬送先のアクセス部を通じて可搬型記録媒体内のデータの読み書きを行う。また、制御装置30は、複数のアクセス部22a,22bのそれぞれを通じて、個別の可搬型記録媒体との間のデータアクセスを並列に行うことが可能になっている。なお、記憶装置20が備えるアクセス部の数は、図1の例のように2つに限らず、3つ以上であってもよい。
【0017】
制御装置30は、例えば上位装置40からのアクセス要求に応じて、記憶装置20内の可搬型記録媒体に対するデータアクセスを制御する。ここで、図1においては、例として、記憶装置20の収納部21に格納された記録媒体M1〜M4は、上位装置40からのアクセス対象のデータが格納されているものとする。ただし、上位装置40からのアクセス対象のデータを格納する記録媒体は、4つに限定されるものではない。なお、記憶装置20内の可搬型記録媒体に対するアクセス要求は、例えば、制御装置30に接続された入力装置(図示せず)を通じて行われてもよい。
【0018】
また、制御装置30は、記憶装置20内の可搬型記録媒体に格納するデータを記憶装置10にキャッシュする機能を備える。制御装置30は、例えば上位装置40から、書き込み要求を受けたとき、書き込みデータを記憶装置10に一旦格納した後、書き込みデータを記憶装置10から記憶装置20内の記録媒体M1〜M4のいずれかにコピーする。また、制御装置30は、例えば上位装置40から、読み出し要求を受けたとき、読み出しデータが記憶装置10にキャッシュされている場合には、記憶装置10から読み出しデータを読み出して上位装置40に送信する。一方、制御装置30は、読み出しデータが記憶装置10にキャッシュされていない場合には、読み出しデータを記憶装置20内の記録媒体M1〜M4のいずれかから読み出して、記憶装置10に一旦格納するとともに、上位装置40にも送信する。このように記憶装置10をキャッシュとして用いることで、制御装置30は、記憶装置20内の記録媒体M1〜M4が実現する記憶領域を、上位装置40に対して記憶装置10を通じて仮想的に見せる。
【0019】
なお、記憶装置20内の可搬型記録媒体に格納するデータを記憶装置10にキャッシュする制御処理は、例えば、制御装置30以外の他の装置が実行してもよい。
さらに、制御装置30は、記録媒体M1〜M4に格納されたデータを、排出用記録媒体M0にコピーし、排出用記録媒体M0を排出部24から排出させる「データ排出処理」を実行可能になっている。このデータ排出処理では、制御装置30は、排出対象として指定されたデータを、記憶装置10を通じて、排出用記録媒体M0に書き込む。例えば、制御装置30は、データの排出要求を受けた時点で、排出要求対象のデータが記憶装置10にキャッシュされていれば、そのデータを記憶装置10から読み出して排出用記録媒体M0に書き込む。しかし、制御装置30は、排出要求対象のデータが記憶装置10にキャッシュされていない場合、そのデータを収納部21内の対応する可搬型記録媒体から読み出して記憶装置10に一旦格納した後、そのデータを記憶装置10から読み出して排出用記録媒体M0に書き込む。
【0020】
また、制御装置30は、このようなデータ排出処理を、固定長または可変長のデータブロック単位で行う。
以下の説明では、制御装置30は、データ排出処理の要求および排出対象とするデータブロックの指定を、上位装置40から受け付けるものとする。ただし、制御装置30は、データ排出処理の要求および排出対象とするデータブロックの指定を、例えば、制御装置30に接続された入力装置から受け付けてもよい。
【0021】
また、以下の説明では、記録媒体M1〜M4に格納されたデータブロックのうち複数のデータブロックが、排出対象として制御装置30に指定されるものとする。さらに、以下の説明では、排出対象として指定されたデータブロックを、「排出対象データ」と呼ぶ。
【0022】
制御装置30は、データ排出処理を実現する処理機能として、書き込み処理部31、読み出し処理部32および排出処理制御部33を備えている。なお、書き込み処理部31、読み出し処理部32および排出処理制御部33の処理は、例えば、制御装置30が備えるCPU(Central Processing Unit)が所定のプログラムを実行することによって実現される。
【0023】
書き込み処理部31は、上位装置40から指定された複数の排出対象データのうち、記憶装置10に記憶されている排出対象データを、記憶装置10から読み出し、アクセス部22a,22bのいずれかを通じて排出用記録媒体M0に書き込む。ここで言う「記憶装置10に記憶されている排出対象データ」は、データ排出処理が要求された時点で記憶装置10にキャッシュされていた排出対象データと、読み出し処理部32によって収納部21内の可搬型記録媒体から読み出されて記憶装置10に格納された排出対象データとを含む。
【0024】
読み出し処理部32は、上位装置40から複数の排出対象データが指定された時点で、それら複数の排出対象データのうち記憶装置10に記憶されていない排出対象データを、記録媒体M1〜M4の少なくとも1つから、アクセス部22a,22bの少なくとも1つを通じて読み出す。読み出し処理部32は、読み出した排出対象データを、書き込み処理部31による書き込み対象のデータとして、記憶装置10に格納する。すなわち、読み出し処理部32によって記憶装置10に格納された排出対象データは、その後に書き込み処理部31によって排出用記録媒体M0に書き込まれる。
【0025】
排出処理制御部33は、書き込み処理部31が排出用記録媒体M0への書き込み処理を開始するまでの間、データ量D1,D2を検出する。データ量D1は、上位装置40から指定された複数の排出対象データのうち、記憶装置10に記憶されている排出対象データの総量である。このデータ量D1には、データ排出処理が要求された時点で記憶装置10にキャッシュされていた排出対象データの総量だけでなく、読み出し処理部32によって記録媒体M1〜M4の少なくとも1つから読み出されて記憶装置10に格納された排出対象データの総量も含まれる。一方、データ量D2は、上位装置40から指定された複数の排出対象データのうち、読み出し処理部32が記録媒体M1〜M4から記憶装置10に読み出すべき残りの排出対象データの総量である。
【0026】
排出処理制御部33は、少なくともデータ量D1,D2に基づいて、書き込み処理部31による排出用記録媒体M0への書き込み処理の開始タイミングを制御する。これにより、書き込み処理部31による排出用記録媒体M0への書き込み処理が中断しにくくなる。
【0027】
例えば、排出処理制御部33は、D1>D2の場合に、書き込み処理部31による排出用記録媒体M0への書き込み処理を開始させる。ここで、アクセス部22a,22bのそれぞれにおける可搬型記録媒体からのデータ読み出し速度および可搬型記録媒体へのデータ書き込み速度が同じであるとする。この場合、書き込み処理部31が一方のアクセス部を通じて排出用記録媒体M0に排出対象データを書き込む処理と、読み出し処理部32が他のアクセス部を通じて記録媒体M1〜M4の少なくとも1つから排出対象データを読み出す処理とを並列に実行すると、D1>D2の条件を満たすことで、書き込み処理が終了する前に読み出し処理が終了する確率が高まる。これにより、書き込み処理部31による書き込み処理が開始した後に、書き込み処理が中断する回数が少なくなる可能性、あるいは中断時間が短縮される可能性が高まる。
【0028】
書き込み処理部31による書き込み処理が中断した状態は、書き込みが行われていない排出用記録媒体M0がアクセス部22a,22bの一方を占有した状態となり、このような状態の発生は、アクセス部22a,22bの利用効率を悪化させる要因になる。書き込みが停止した排出用記録媒体M0がアクセス部を占有している期間は、例えば、読み出し処理部32が排出対象データを読み出すべき可搬型記録媒体が多数残っている場合に、本来、排出用記録媒体M0が搭載されたアクセス部を、読み出し未実行の排出対象データを他の可搬型記録媒体(記録媒体M1〜M4のいずれか)から読み出すことに割り当てることができた期間であると言える。このような観点から、書き込み処理部31による書き込み処理が中断する状態は、アクセス部22a,22bの利用効率が悪く、結果的にデータ排出処理全体の処理時間を長くし得る状態と言える。
【0029】
また、アクセス部からの可搬型記録媒体の取り外し動作およびアクセス部への可搬型記録媒体の搭載動作に要する時間は、データ排出処理全体の処理時間に大きな影響を与えるほどに長いので、これらの回数をできるだけ少なくすることが望ましい。しかしながら、例えば、排出用記録媒体M0への書き込みが停止したときに、排出用記録媒体M0をアクセス部から取り外し、他の可搬型記録媒体をそのアクセス部に搭載して読み出し未実行の排出対象データの読み出しを開始したとすると、少なくとも、その後に排出用記録媒体M0をいずれかのアクセス部に再度搭載し、データの書き込みを再開する必要が生じる。このため、排出用記録媒体M0をアクセス部から取り外し、その後に排出用記録媒体M0をいずれかのアクセス部に再搭載するという動作に長時間を要してしまい、結果的にデータ排出処理全体の処理時間も長くなってしまう。
【0030】
これに対して、書き込み処理部31による書き込み処理を中断させないことで、排出用記録媒体M0を書き込み処理の途中でアクセス部から取り外す必要がなくなる。このため、排出用記録媒体M0をアクセス部から取り外し、その後に排出用記録媒体M0をいずれかのアクセス部に再搭載する動作に要する無駄な時間が発生しなくなり、結果的にデータ排出処理全体の処理時間を短縮できる。従って、D1>D2の場合に書き込み処理部31による書き込み処理を開始させる、という排出処理制御部33の処理により、書き込み処理部31による書き込み処理が中断しにくくなり、その結果、データ排出処理全体の処理時間を短縮できる可能性が高まる。
【0031】
また、排出処理制御部33は、D1>D2の条件が満たされていない状態では、書き込み処理部31による書き込み処理を開始させずに、読み出し処理部32に読み出し処理を実行させてもよい。この場合、読み出し処理部32は、アクセス部22a,22bの両方を使用してデータの読み出しを並列に行うことができるようになる。このため、D1>D2の条件を満たすようになるまでの時間が短縮され、結果的にデータ排出処理全体にかかる時間を短縮できる。
【0032】
さらに、排出処理制御部33は、上記のデータ量D1,D2の条件に加えて、記憶装置20が備えるアクセス部の個数Xと、読み出し処理部32が読み出すべき残りの排出対象データが格納された可搬型記録媒体の媒体数Yとに基づいて、書き込み処理部31による書き込み処理の開始タイミングを制御してもよい。これにより、データ排出処理全体にかかる時間を抑制することが可能になる。
【0033】
例えば、排出処理制御部33は、D1>D2とY>Xのいずれかの条件を満たさない場合には、書き込み処理部31に書き込み処理を実行させずに、読み出し処理部32に読み出し処理を実行させる。そして、排出処理制御部33は、D1>D2とY>Xの両方の条件が満たされた場合に、書き込み処理部31に書き込み処理を開始させる。これにより、読み出し処理部32が読み込むべき排出対象データが多数の可搬型記録媒体に分散して格納されていた場合でも、書き込み処理部31による書き込み処理が終了する前に、読み出し処理部32による読み出し処理をより確実に終了させることができるようになる。従って、データ排出処理全体にかかる時間を短縮できる可能性が高まる。
【0034】
次に、可搬型記録媒体として磁気テープを利用した実施の形態について説明する。
〔第2の実施の形態〕
図2は、第2の実施の形態に係るストレージシステムのシステム構成例を示す図である。図2に示すストレージシステム100は、仮想テープ装置200、テープライブラリ装置300およびホスト装置400を含む。
【0035】
テープライブラリ装置300は、記録媒体として磁気テープを用いた記憶装置である。後述するように、テープライブラリ装置300は、磁気テープに対するデータアクセスを行う複数のテープドライブや、磁気テープを収容したテープカートリッジを搬送する機構などを備える。なお、テープライブラリ装置300は、例えば、仮想テープ装置200と同じ筐体内に設けられていてもよい。
【0036】
仮想テープ装置200は、制御装置201,202とディスクアレイ装置500とを備える。ディスクアレイ装置500は、複数のHDDを備える記憶装置である。なお、本実施の形態では、制御装置201,202とディスクアレイ装置500とが同じ筐体内に設けられているものとするが、これらの装置は個別の筐体に設けられていてもよい。
【0037】
制御装置201,202は、ホスト装置400とディスクアレイ装置500との間のデータ転送動作や、ディスクアレイ装置500とテープライブラリ装置300との間のデータ転送動作を制御する。制御装置201,202は、ストレージシステム100が、テープライブラリ装置300内の磁気テープをバックエンドのライブラリ装置とし、ディスクアレイ装置500内のHDDをキャッシュ装置とした階層型の仮想テープライブラリシステムとして動作するように制御する。ここで、仮想テープライブラリシステムとは、テープライブラリ装置300によって実現される大容量の記憶領域を、ホスト装置400が、ディスクアレイ装置500を通じて仮想的に利用できるようにしたものである。
【0038】
なお、仮想テープライブラリシステムのバックエンドとして用いる記録媒体としては、磁気テープの他、例えば、光ディスク、光磁気ディスクなどの可搬型の記録媒体を利用することもできる。また、仮想テープライブラリシステムのキャッシュ装置として用いる記憶装置としては、HDDの他、SSDなどを利用することもできる。
【0039】
制御装置201と制御装置202とは、例えば、互いに異なる論理ボリュームについてのデータ転送動作を制御する。また、例えば、制御装置201,202のうちの一方に故障が発生した場合には、他方の制御装置のみによって仮想テープライブラリシステムの運用を続行できるようになっている。
【0040】
さらに、制御装置201,202は、ホスト装置400から排出を要求された論理ボリュームのデータを、排出用の磁気テープにコピーし、その磁気テープをテープライブラリ装置300から外部に排出させる「エクスポート処理」を実行可能になっている。エクスポート処理によって外部に排出された磁気テープ内の論理ボリュームは、例えば、他の仮想テープライブラリシステムで利用可能である。
【0041】
ホスト装置400は、ユーザの入力操作に応じて制御装置201,202の少なくとも一方にアクセス要求を発することで、仮想テープライブラリシステム内の論理ボリュームにアクセスする。また、ホスト装置400は、制御装置201,202に対して、任意の論理ボリュームを指定し、指定した論理ボリュームのエクスポート処理を実行させることもできる。
【0042】
図3は、制御装置およびテープライブラリ装置のハードウェア構成例を示す図である。
なお、制御装置201と制御装置202は、同様のハードウェア構成を有し、また同様の処理を実行可能である。従って、これ以後、制御装置201,202のうち制御装置201の構成および処理について説明することとし、制御装置202の説明については省略する。
【0043】
制御装置201は、例えば、図3のようなコンピュータとして実現される。制御装置201は、CPU211によって装置全体が制御されている。CPU211には、バス217を介して、RAM(Random Access Memory)212および複数の周辺機器が接続されている。
【0044】
RAM212は、制御装置201の主記憶装置として使用される。RAM212には、CPU211に実行させるファームウェアプログラムの少なくとも一部が一時的に格納される。また、RAM212には、CPU211による処理に必要な各種データが格納される。
【0045】
バス217に接続されている周辺機器としては、フラッシュメモリ213、ホストI/F(インタフェース)214、ディスクI/F215およびテープI/F216がある。
フラッシュメモリ213は、制御装置201の二次記憶装置として使用される。フラッシュメモリ213には、ファームウェアプログラムおよび各種データが格納される。なお、二次記憶装置としては、HDDなどの他の種類の不揮発性記憶装置が使用されてもよい。
【0046】
ホストI/F214は、ホスト装置400との間でデータを送受信する通信I/Fである。ディスクI/F215は、ディスクアレイ装置500との間でデータを送受信する通信I/Fである。テープI/F216は、テープライブラリ装置300との間でデータを送受信する通信I/Fである。
【0047】
なお、ホスト装置400についても、制御装置201と同様に、CPU、RAM、周辺機器などを備えるコンピュータとして実現することができる。
テープライブラリ装置300は、コントローラ301、RAM302、フラッシュメモリ303、テープドライブ311〜314、テープ格納部321、テープ搬送部322およびテープ投入排出口323を備える。
【0048】
コントローラ301は、その内部に例えばCPUを備え、テープライブラリ装置300全体を統括的に制御する。RAM302は、コントローラ301に実行させるファームウェアプログラムの少なくとも一部が一時的に格納される。また、RAM302には、コントローラ301による処理に必要な各種データが格納される。フラッシュメモリ303には、ファームウェアプログラムや各種データが格納される。
【0049】
テープドライブ311〜314は、それぞれ、テープ搬送部322によって搬送されたテープカートリッジを1つずつマウントし、コントローラ301の制御の下で、マウントしたテープカートリッジ内の磁気テープに対するデータの書き込みや、磁気テープからのデータの読み出しを行う。なお、本実施の形態では、テープライブラリ装置300は例として4つのテープドライブを備えているが、テープドライブの数は2つ以上であれば特に限定されるものではない。
【0050】
テープ格納部321は、複数のテープカートリッジを格納する。テープ格納部321に格納されたテープカートリッジは、仮想テープライブラリシステムの一部として使用されるものと、エクスポート用のものとに大別される。以下の説明では、前者のテープカートリッジ内の磁気テープを「ライブラリ用磁気テープ」、後者のテープカートリッジ内の磁気テープを「エクスポート用磁気テープ」と呼ぶ。どの磁気テープをどちらの用途に使用するかは、制御装置201,202によって決定される。
【0051】
テープ搬送部322は、コントローラ301による制御の下で、テープカートリッジを搬送する。テープ搬送部322は、例えば、テープ格納部321に格納されたテープカートリッジを、テープドライブ311〜314のいずれかに搬送してマウントする。また、テープ搬送部322は、テープドライブ311〜314からテープカートリッジをアンマウントし、テープ格納部321に搬送して格納する。
【0052】
さらに、テープ搬送部322にはテープ投入排出口323が設けられている。テープ搬送部322は、コントローラ301からの要求に応じて、テープドライブ311〜314やテープ格納部321から搬送したテープカートリッジを、テープ投入排出口323から外部に排出したり、テープ投入排出口323から投入されたテープカートリッジを、テープドライブ311〜314やテープ格納部321に搬送することもできる。
【0053】
ところで、制御装置201は、前述のように、エクスポート処理を実行することができる。制御装置201は、ホスト装置400からエクスポートの実行要求を受け付けると、テープライブラリ装置300を制御して、テープドライブ311〜314のいずれかに対してエクスポート用磁気テープをマウントさせる。制御装置201は、ホスト装置400から指定された論理ボリュームをテープライブラリ装置300に送信して、エクスポート用磁気テープに書き込む。
【0054】
このエクスポート処理において、ホスト装置400から指定された論理ボリュームがディスクアレイ装置500にキャッシュされている「オンキャッシュ状態」である場合には、制御装置201は、指定された論理ボリュームをディスクアレイ装置500から読み出して、テープライブラリ装置300に送信し、エクスポート用磁気テープに書き込む。
【0055】
一方、ホスト装置400から指定された論理ボリュームがディスクアレイ装置500にキャッシュされていない「オフキャッシュ状態」である場合には、制御装置201は、指定された論理ボリュームを、テープライブラリ装置300内のライブラリ用磁気テープから読み出してディスクアレイ装置500に格納する。そして、制御装置201は、ディスクアレイ装置500に格納した論理ボリュームをテープライブラリ装置300に送信して、エクスポート用磁気テープに書き込む。
【0056】
ここで、オフキャッシュ状態である論理ボリュームをライブラリ用磁気テープから読み出してディスクアレイ装置500に格納する処理を、「オンキャッシュ処理」と呼ぶ。
上記のように、エクスポート対象として指定された論理ボリュームがオフキャッシュ状態である場合には、オンキャッシュ処理が必要となるので、エクスポート処理全体の処理時間が長くなるという問題がある。また、指定された論理ボリュームが格納されたライブラリ用磁気テープがテープドライブ311〜314のいずれにもマウントされていない場合には、テープ搬送部322によるライブラリ用磁気テープのマウント動作の実行も必要となるので、処理時間はさらに長くなる。
【0057】
また、制御装置201は、ホスト装置400から、エクスポート対象の論理ボリュームとして複数の論理ボリュームの指定を受けることもできる。ここで、エクスポート対象とされた複数の論理ボリュームの中に、オフキャッシュ状態の論理ボリュームが多数含まれ、しかもオフキャッシュ状態の論理ボリュームが多数の磁気テープに分散して記憶されている場合には、テープライブラリ装置300において、ライブラリ用磁気テープのマウントおよびアンマウントが頻繁に行われてしまう。磁気テープのマウントおよびアンマウントの回数が多くなるほど、論理ボリュームをライブラリ用磁気テープからディスクアレイ装置500に読み込む際の処理時間が増大してしまうという問題もある。
【0058】
さらに、テープドライブの使用の仕方によっては、エクスポート用磁気テープのアンマウントおよび再マウントを行う必要が生じる場合があり、このような場合には、エクスポート用磁気テープへの書き込み処理に要する時間も長くなってしまう。
【0059】
ここで、エクスポート処理については、次のような特徴がある。ホスト装置400から、エクスポート対象として複数の論理ボリュームが指定された場合、エクスポート用磁気テープに対する論理ボリュームの書き込み順は、必ずしもホスト装置400から指定された順序と一致する必要はない。また、図3に示したように、テープライブラリ装置300に複数のテープドライブ311〜314が設けられている場合には、ライブラリ用磁気テープからディスクアレイ装置500へのオンキャッシュ処理と、ディスクアレイ装置500からエクスポート用磁気テープに対する書き込み処理とを並列に実行可能であり、なおかつ、ライブラリ用磁気テープからのオンキャッシュ処理は、使用可能なテープドライブの台数分だけ並列に実行可能である。
【0060】
そこで、制御装置201は、エクスポート処理についての上記特徴を利用して、テープドライブによるライブラリ用磁気テープからのデータ読み出し処理およびエクスポート用磁気テープへのデータ書き込み処理の順序を制御することで、エクスポート処理の効率を高め、処理時間を短縮する。
【0061】
図4は、制御装置が備える処理機能の例を示すブロック図である。
制御装置201は、仮想テープ制御部221、エクスポート制御部222、読み出し処理部223、書き込み処理部224およびリプレイス処理部225を備える。これらの処理は、例えば、制御装置201のCPU211が所定のファームウェアプログラムを実行することによって実現される。また、制御装置201が備える記憶装置(例えばフラッシュメモリ213)には、マスタLV(論理ボリューム、Logical Volume)リスト231、オフキャッシュLVリスト232、オンキャッシュLVリスト233およびリプレイスLVリスト234が記憶される。
【0062】
仮想テープ制御部221は、ホスト装置400からの仮想テープライブラリシステムへのアクセス要求に応じて、ディスクアレイ装置500内のHDDに対するデータアクセス、テープライブラリ装置300内の磁気テープに対するデータアクセス、ホスト装置400との間のデータ送受信などの処理を制御する。また、これらの制御処理の際に、仮想テープ制御部221は、論理ボリュームを管理する情報が格納されたマスタLVリスト231を利用する。
【0063】
ここで、図5は、マスタLVリストに登録される情報の例を示す図である。
マスタLVリスト231には、論理ボリュームごとにレコードが生成される。マスタLVリスト231のレコードには、生成された論理ボリュームに関する情報として、「LV名」、「キャッシュ状態」、「格納先テープ名」、「LVサイズ」、「エクスポート開始時刻」および「エクスポート回数」が登録される。
【0064】
「LV名」は、論理ボリュームを識別する情報である。「キャッシュ状態」は、論理ボリュームがオンキャッシュ状態であるか、またはオフキャッシュ状態であるかを示す。「キャッシュ状態」は、オンキャッシュ状態である場合には「オン」とされ、オフキャッシュ状態である場合には「オフ」とされる。「格納先テープ名」は、論理ボリュームが格納されたライブラリ用磁気テープを識別する情報である。「LVサイズ」は、論理ボリュームのデータサイズを示す。
【0065】
「エクスポート開始時刻」は、レコードに対応する論理ボリュームのエクスポート処理が開始された最新の時刻を示す。「エクスポート回数」は、レコードに対応する論理ボリュームのエクスポート処理が過去に実行されたトータルの回数を示す。「エクスポート開始時刻」および「エクスポート回数」は、エクスポート制御部222によって登録・更新され、リプレイス処理部225によって参照される。
【0066】
仮想テープ制御部221は、マスタLVリスト231を用いて、例えば次のような処理を行う。仮想テープ制御部221は、ホスト装置400などからの要求に応じて新たな論理ボリュームを生成すると、生成した論理ボリュームに対応するレコードをマスタLVリスト231に生成する。このとき、仮想テープ制御部221は、生成した論理ボリュームに対応するレコード内の「キャッシュ状態」を「オン」にして、ディスクアレイ装置500に新たな論理ボリュームの領域を確保するとともに、確保した論理ボリュームの領域のサイズを「LVサイズ」に登録する。
【0067】
その後、仮想テープ制御部221は、ホスト装置400から書き込みを要求されたデータを、ディスクアレイ装置500内の論理ボリュームに記録する。さらに、仮想テープ制御部221は、その後の所定のタイミングで、データの記録を行った論理ボリュームを、テープライブラリ装置300内の所定のライブラリ用磁気テープにコピーする。このとき、仮想テープ制御部221は、論理ボリュームのコピー先のライブラリ用磁気テープを示す情報を、その論理ボリュームに対応するレコード内の「格納先テープ名」に登録する。
【0068】
また、仮想テープ制御部221は、例えば、ディスクアレイ装置500の空き容量が少なくなると、最終アクセス時刻から最も長い時間が経過している論理ボリュームを、ディスクアレイ装置500から消去する。このとき、仮想テープ制御部221は、ディスクアレイ装置500から消去した論理ボリュームに対応するレコードの「キャッシュ状態」を「オフ」にする。
【0069】
また、仮想テープ制御部221は、ホスト装置400からデータの読み出し要求を受けると、要求されたデータを含む論理ボリュームがディスクアレイ装置500に記録されているか否かを、マスタLVリスト231に基づいて判定する。例えば、「VT0001」という論理ボリュームに含まれるデータの読み出しがホスト装置400から要求されたとする。要求されたデータを含む論理ボリューム「VT0001」がディスクアレイ装置500に記録されていた場合、論理ボリューム「VT0001」に対応するマスタLVリスト231のレコードにおいて、「キャッシュ状態」は「オン」になっている。この場合、仮想テープ制御部221は、要求されたデータをディスクアレイ装置500内の論理ボリューム「VT0001」から読み出し、ホスト装置400に送信する。
【0070】
一方、要求されたデータを含む論理ボリューム「VT0001」がディスクアレイ装置500に記録されていない場合、論理ボリューム「VT0001」に対応するマスタLVリスト231のレコードにおいて、「キャッシュ状態」は「オフ」になっている。この場合、仮想テープ制御部221は、論理ボリューム「VT0001」が格納されたライブラリ用磁気テープを、テープライブラリ装置300内のいずれかのテープドライブにマウントさせる。そして、仮想テープ制御部221は、マウントさせたライブラリ用磁気テープから論理ボリューム「VT0001」を読み出し、ディスクアレイ装置500にコピーする。これとともに、仮想テープ制御部221は、論理ボリューム「VT0001」に対応するマスタLVリスト231内のレコードにおいて、「キャッシュ状態」を「オフ」から「オン」に書き替える。その後、仮想テープ制御部221は、ディスクアレイ装置500にコピーした論理ボリューム「VT0001」から、ホスト装置400から要求されたデータを読み出し、ホスト装置400に送信する。
【0071】
なお、「キャッシュ状態」としては、上記の「オン」「オフ」の代わりに、例えば、「Dirty」「Hit」「Miss」という3つのステータスが登録されてもよい。ここで、「Dirty」は、論理ボリュームの最新データが、ディスクアレイ装置500には格納されているものの、ライブラリ用磁気テープには格納されていない状態を示す。「Hit」は、ディスクアレイ装置500内の論理ボリュームのデータと、ライブラリ用磁気テープ内の論理ボリュームのデータとが等価である状態を示す。「Miss」は、ディスクアレイ装置500に論理ボリュームのデータが記録されておらず、ライブラリ用磁気テープにのみ論理ボリュームのデータが記録されている状態を示す。
【0072】
これら3つのステータスが使用された場合、論理ボリュームがオンキャッシュ状態であれば、その論理ボリュームに対応するレコード内の「キャッシュ状態」は「Dirty」または「Hit」となる。一方、論理ボリュームがオフキャッシュ状態であれば、その論理ボリュームに対応するレコード内の「キャッシュ状態」は「Miss」となる。
【0073】
以下、図4に戻り、エクスポート制御部222、読み出し処理部223および書き込み処理部224は、エクスポート処理の実行に関係する処理機能である。
エクスポート制御部222は、エクスポート処理を統括的に制御する。エクスポート制御部222は、ホスト装置400からエクスポートの実行要求を受け付けると、オフキャッシュLVリスト232およびオンキャッシュLVリスト233を生成する。後述するように、オフキャッシュLVリスト232には、ホスト装置400から指定されたエクスポート対象の論理ボリュームのうち、オフキャッシュ状態である論理ボリュームについての情報が登録される。また、オンキャッシュLVリスト233には、ホスト装置400から指定されたエクスポート対象の論理ボリュームのうち、オンキャッシュ状態である論理ボリュームについての情報が登録される。
【0074】
エクスポート制御部222は、オフキャッシュLVリスト232における論理ボリュームのレコードの登録順を調整することによって、読み出し処理部223によるライブラリ用磁気テープからの読み出し処理順を制御する。また、エクスポート制御部222は、読み出し処理部223が使用するテープドライブの数や、書き込み処理部224による論理ボリュームの書き込み処理の開始タイミングを制御する。これらの処理により、エクスポート制御部222は、エクスポート処理に要する時間ができるだけ短くなるように、読み出し処理部223および書き込み処理部224の処理を制御する。
【0075】
読み出し処理部223は、エクスポート制御部222による制御の下で、オフキャッシュLVリスト232に登録された情報に基づき、オフキャッシュ状態の論理ボリュームをライブラリ用磁気テープからディスクアレイ装置500にコピーするオンキャッシュ処理を実行する。また、読み出し処理部223は、1本のライブラリ用磁気テープからのオンキャッシュ処理が終了するたびに、オンキャッシュ処理が終了したエクスポート用磁気テープに対応するオフキャッシュLVリスト232のレコードを、オンキャッシュLVリスト233に移動させる。
【0076】
書き込み処理部224は、エクスポート制御部222による制御の下で、オンキャッシュLVリスト233に登録された情報に基づき、オンキャッシュ状態の論理ボリュームをディスクアレイ装置500から読み出して、エクスポート用磁気テープに書き込む。
【0077】
リプレイス処理部225は、エクスポート処理の履歴に基づき、テープライブラリ装置300を制御して「リプレイス処理」を実行する。リプレイス処理とは、同時期にエクスポート処理が行われることが予想される論理ボリュームが同一のライブラリ用磁気テープに格納されるように、テープライブラリ装置300における論理ボリュームの格納場所を移動させる処理である。
【0078】
リプレイス処理部225は、エクスポート処理が終了するごとに、リプレイス処理の対象とする論理ボリュームについての情報をリプレイスLVリスト234に登録する。そして、リプレイス処理部225は、エクスポート処理が実行されない期間(例えば、夜間などの業務時間外の期間)に、リプレイスLVリスト234に基づいて、リプレイス処理を実行する。
【0079】
図6は、オフキャッシュLVリストに登録される情報の例を示す図である。
オフキャッシュLVリスト232には、オフキャッシュ状態である論理ボリュームについての情報が登録される。論理ボリュームについての情報としては、論理ボリュームを識別する「LV名」、論理ボリュームを格納したライブラリ用磁気テープを識別する「格納先テープ名」、論理ボリュームのサイズを示す「LVサイズ」が登録される。
【0080】
エクスポート制御部222は、オフキャッシュLVリスト232に対して、最初に、オフキャッシュ状態である論理ボリュームごとにレコードを生成する。その後、エクスポート制御部222は、「格納先テープ名」が示すライブラリ用磁気テープが同一であるレコードを結合する。図6では、例えば、論理ボリューム「VT0002」,「VT0004」,「VT0008」が同一のライブラリ用磁気テープに格納されている。このため、論理ボリューム「VT0002」,「VT0004」,「VT0008」のそれぞれに対応するレコードが結合されている。ここで、結合されたレコードを「結合レコード」と呼ぶことにする。さらに、エクスポート制御部222は、結合レコードに含まれる論理ボリュームの総データサイズが大きい順になるように、結合レコードをソートする。
【0081】
図7は、オンキャッシュLVリストに登録される情報の例を示す図である。
オンキャッシュLVリスト233には、論理ボリュームごとにレコードが生成される。オンキャッシュLVリスト233の各レコードに登録される項目は、オフキャッシュLVリスト232と同じである。
【0082】
なお、本実施の形態では、読み出し処理部223が、オフキャッシュLVリスト232のレコードをそのままオンキャッシュLVリスト233に移動させることを可能にするために、オンキャッシュLVリスト233とオフキャッシュLVリスト232とで項目を同じにしている。しかしながら、オンキャッシュLVリスト233においては、「格納先テープ名」は登録されなくてもよい。
【0083】
次に、制御装置201におけるエクスポート処理の手順について説明する。まず、図8は、ホスト装置が送信するエクスポート対象リストのデータ構成例を示す図である。
ホスト装置400は、制御装置201または制御装置202に対してエクスポート処理を要求する際に、例えば、エクスポート対象とする論理ボリュームを識別する「LV名」をリスト化した、図8のようなエクスポート対象リスト410を、制御装置201または制御装置202に送信する。
【0084】
図9は、エクスポート処理全体の処理手順の例を示すフローチャートである。
[ステップS11]エクスポート制御部222は、エクスポートの実行要求と、エクスポート対象の論理ボリュームの指定とを、ホスト装置400から受け付ける。エクスポート対象の論理ボリュームは、例えば図8に示したエクスポート対象リスト410によって指定される。
【0085】
[ステップS12]エクスポート制御部222は、マスタLVリスト231から、ホスト装置400から指定されたエクスポート対象の論理ボリュームのレコードをすべて選択する。エクスポート制御部222は、選択した各レコードにおける「エクスポート開始時刻」の値を、現在の時刻に更新する。また、エクスポート制御部222は、選択した各レコードにおける「エクスポート回数」を「1」だけインクリメントする。
【0086】
なお、「エクスポート開始時刻」および「エクスポート回数」の更新は、例えば、後述するステップS23で、書き込み処理部224によって論理ボリュームがエクスポート用磁気テープに書き込まれるたびに行われてもよい。
【0087】
[ステップS13]エクスポート制御部222は、オンキャッシュLVリスト233を作成する。具体的には、エクスポート制御部222は、マスタLVリスト231を参照し、ホスト装置400から指定されたエクスポート対象の論理ボリュームのうち、「キャッシュ状態」が「オン」である論理ボリューム(すなわち、オンキャッシュ状態である論理ボリューム)を選択する。エクスポート制御部222は、選択した論理ボリュームについてのレコードをオンキャッシュLVリスト233に登録する。このとき、エクスポート制御部222は、選択した論理ボリュームについての「LV名」「格納先テープ名」「LVサイズ」の各情報をマスタLVリスト231から読み出し、オンキャッシュLVリスト233の対応するレコードに登録する。
【0088】
[ステップS14]エクスポート制御部222は、マスタLVリスト231を参照し、ホスト装置400から指定されたエクスポート対象の論理ボリュームのうち、「キャッシュ状態」が「オフ」である論理ボリューム(すなわち、オフキャッシュ状態である論理ボリューム)があるかを判定する。オフキャッシュ状態である論理ボリュームがある場合(S14:Yes)、エクスポート制御部222は、ステップS15の処理を実行する。一方、オフキャッシュ状態である論理ボリュームがない場合(S14:No)、エクスポート制御部222は、ステップS23の処理を実行する。
【0089】
[ステップS15]エクスポート制御部222は、オフキャッシュLVリスト232を作成する。具体的には、エクスポート制御部222は、マスタLVリスト231を参照し、ホスト装置400から指定されたエクスポート対象の論理ボリュームのうち、「キャッシュ状態」が「オフ」である論理ボリューム(すなわち、オフキャッシュ状態である論理ボリューム)を選択する。エクスポート制御部222は、選択した論理ボリュームについてのレコードをオフキャッシュLVリスト232に登録する。このとき、エクスポート制御部222は、選択した論理ボリュームについての「LV名」「格納先テープ名」「LVサイズ」の各情報をマスタLVリスト231から読み出し、オフキャッシュLVリスト232の対応するレコードに登録する。
【0090】
[ステップS16]エクスポート制御部222は、オフキャッシュLVリスト232に登録したレコードのうち、「格納先テープ名」が示すライブラリ用磁気テープが同一であるレコードを結合する。
【0091】
[ステップS17]エクスポート制御部222は、ステップS16でレコードを結合した結合レコード内に登録された「LVサイズ」の値を加算して、結合レコードごとにLVサイズ加算値を算出する。エクスポート制御部222は、オフキャッシュLVリスト232内の結合レコードを、LVサイズ加算値が大きい順にソートする。
【0092】
なお、ステップS13の処理と、ステップS15〜S17の処理との処理順は、逆であってもよい。あるいは、ステップS13の処理と、ステップS15〜S17の処理とが並列に実行されてもよい。
【0093】
[ステップS18]エクスポート制御部222は、オンキャッシュLVリスト233に登録された「LVサイズ」をすべて加算し、オンキャッシュ状態である論理ボリュームの総データサイズAを算出する。
【0094】
また、エクスポート制御部222は、オフキャッシュLVリスト232に登録された「LVサイズ」をすべて加算し、オフキャッシュ状態である論理ボリュームの総データサイズBを算出する。
【0095】
さらに、エクスポート制御部222は、オフキャッシュLVリスト232に登録された結合レコードの数をカウントし、オフキャッシュ状態である論理ボリュームが格納されたエクスポート用磁気テープのテープ本数Cを算出する。
【0096】
[ステップS19]エクスポート制御部222は、A>Bという条件が満たされているかを判定する。条件が満たされている場合(S19:Yes)、ステップS20の処理が実行され、条件が満たされていない場合(S19:No)、ステップS21の処理が実行される。
【0097】
[ステップS20]テープライブラリ装置300に設けられたテープドライブの数をDとする。このドライブ数Dはあらかじめ決められた値であり、例えば制御装置201のフラッシュメモリ213にあらかじめ記憶される。図3の例では、ドライブ数Dは「4」となる。
【0098】
エクスポート制御部222は、D>Cという条件が満たされているかを判定する。条件が満たされている場合(S20:Yes)、ステップS22,S23の処理が実行され、条件が満たされていない場合(S20:No)、ステップS21の処理が実行される。
【0099】
[ステップS21]ステップS19またはステップS20で条件が満たされていない場合(S19:NoまたはS20:No)、エクスポート制御部222は、読み出し処理部223に対して、使用可能なテープドライブの数としてDの値を設定し、最大D台のテープドライブでのオンキャッシュ処理を並列に実行させる。
【0100】
後述するように、読み出し処理部223は、テープライブラリ装置300を制御して、オフキャッシュLVリスト232に登録された結合レコードに対応するライブラリ用磁気テープから、エクスポート対象の論理ボリュームを読み出す。このとき、読み出し処理部223は、エクスポート制御部222から設定された使用可能ドライブ数を上限とした台数のテープドライブを使用して、各テープドライブから論理ボリュームを並列に読み出す。ステップS21では、使用可能ドライブ数がD(本実施の形態では「4」)であるので、オフキャッシュLVリスト232にD個以上の結合レコードが登録されている場合には、テープライブラリ装置300内のすべてのテープドライブにおいて、論理ボリュームの読み出しが行われることになる。読み出し処理部223は、エクスポート用磁気テープから読み出した論理ボリュームを、ディスクアレイ装置500のHDDに格納する。
【0101】
ここで、エクスポート制御部222によるステップS18,S19の処理は、例えば、ステップS19,S20の両方で条件を満たすと判定される(S19:YesかつS20:Yes)までの間、一定時間ごとに繰り返し行われる。あるいは、ステップS18,S19の処理は、ステップS19,S20の両方で条件を満たすと判定される(S19:YesかつS20:Yes)までの間、1つのエクスポート用磁気テープからの論理ボリュームの読み出し処理が終了するごとに実行されてもよい。これにより、ステップS19,S20の両方において条件を満たすと判定される(S19:YesかつS20:Yes)までの間、テープライブラリ装置300は、最大D台のテープドライブを使用して、エクスポート用磁気テープから論理ボリュームを読み出す。
【0102】
また、後述するように、読み出し処理部223は、エクスポート用磁気テープからの読み出しが終了するたびに、そのエクスポート用磁気テープに対応する結合レコードをオフキャッシュLVリスト232からオンキャッシュLVリスト233に移動させる。これにより、ステップS18では、時間の経過とともに、オンキャッシュ状態である論理ボリュームの総データサイズAが増加するとともに、オフキャッシュ状態である論理ボリュームの総データサイズBと、テープ本数Cとが減少していく。そして、ある時点でA>BかつD>Cの条件を満たす状態になり、ステップS19で条件を満たすと判定されると(S19:Yes)、ステップS22,S23の処理が実行される。
【0103】
[ステップS22]ステップS19,S20の両方で条件が満たされている場合(S19:YesかつS20:Yes)、エクスポート制御部222は、読み出し処理部223に対して、使用可能なテープドライブの数として(D−1)の値を設定し、最大(D−1)台のテープドライブでのオンキャッシュ処理を並列に実行させる。
【0104】
[ステップS23]ステップS19,S20の両方で条件が満たされている場合(S19:YesかつS20:Yes)、または、ステップS14でオフキャッシュ状態である論理ボリュームがない場合(S14:No)、エクスポート制御部222は、書き込み処理部224に対して、1台のテープドライブを使用してエクスポート用磁気テープへの論理ボリュームの書き込みを開始するように要求する。
【0105】
ここで、ステップS22の処理が実行された場合、テープライブラリ装置300では、少なくとも1台のテープドライブが、オンキャッシュ処理を実行しない空きドライブとして確保される。この場合、ステップS23では、テープライブラリ装置300は、書き込み処理部224による制御の下で、空きドライブとして確保されたテープドライブの1つに、エクスポート用磁気テープをマウントする。そして、テープライブラリ装置300は、マウントしたエクスポート用磁気テープに対して、ディスクアレイ装置500から読み出された論理ボリュームを書き込む。
【0106】
[ステップS24]エクスポート対象とされたすべての論理ボリュームについて、エクスポート用磁気テープへの書き込み処理が終了すると、エクスポート制御部222は、リプレイス処理部225に対して、エクスポート処理が終了したことを通知する。これとともに、エクスポート制御部222は、書き込みが終了した論理ボリュームを示す「LV名」をリプレイス処理部225に通知する。
【0107】
図10は、読み出し処理部の処理手順の例を示すフローチャートである。この図10の処理は、図9のステップS21およびステップS22における読み出し処理部の処理に対応する。
【0108】
[ステップS31]読み出し処理部223は、エクスポート制御部222から設定された、使用可能ドライブ数を確認する。このステップS31では、図9のステップS19が最初に実行された後のステップS21またはステップS22において、エクスポート制御部222が読み出し処理部223に設定した使用可能ドライブ数が確認される。従って、使用可能ドライブ数は、Dまたは(D−1)のいずれかとなる。
【0109】
[ステップS32]読み出し処理部223は、ステップS31で確認した使用可能ドライブ数分の結合レコードを、オフキャッシュLVリスト232の先頭から順に選択する。なお、オフキャッシュLVリスト232に登録された結合レコードの数が、使用可能ドライブ数に満たない場合には、読み出し処理部223は、登録されたすべての結合レコードを選択する。
【0110】
[ステップS33]読み出し処理部223は、ステップS32で選択した結合レコードの数だけのオンキャッシュ処理を並列に実行する。
読み出し処理部223は、まず、ステップS32で選択した結合レコードのそれぞれに対して、テープライブラリ装置300のテープドライブを割り当てる。読み出し処理部223は、テープライブラリ装置300を制御して、割り当てたテープドライブに対して、対応する結合レコードに登録された「格納先テープ名」が示すライブラリ用磁気テープをマウントする。読み出し処理部223は、ライブラリ用磁気テープをマウントしたテープドライブから、対応する結合レコードに登録されたすべての「LV名」が示す論理ボリュームを読み出し、ディスクアレイ装置500のHDDに格納する。ステップS32で複数の結合レコードが選択された場合には、選択された結合レコードの数だけのテープドライブからのデータ読み出しが並列に実行される。
【0111】
[ステップS34]読み出し処理部223は、テープライブラリ装置300で実行されている論理ボリュームの読み出し処理のうち、いずれか1本のライブラリ用磁気テープからの読み出し処理が終了するまで、処理待ちとなる(S34:No)。そして、1本のライブラリ用磁気テープからの読み出し処理が終了したとき(S34:Yes)、読み出し処理部223は、ステップS35の処理を実行する。
【0112】
[ステップS35]読み出し処理部223は、ステップS34で読み出し処理が終了したライブラリ用磁気テープに対応する結合エントリを、オフキャッシュLVリスト232からオンキャッシュLVリスト233に移動させる。
【0113】
[ステップS36]読み出し処理部223は、オフキャッシュLVリスト232に結合レコードが登録されているかを判定する。結合レコードが登録されている場合(S36:Yes)、読み出し処理部223は、ステップS37の処理を実行する。一方、結合レコードが登録されていない場合(S36:No)には、エクスポート対象の論理ボリュームのすべてがディスクアレイ装置500に格納されたことになり、読み出し処理部223は処理を終了する。
【0114】
[ステップS37]読み出し処理部223は、エクスポート制御部222から設定された、最新の使用可能ドライブ数を確認する。
[ステップS38]読み出し処理部223は、テープライブラリ装置300内のテープドライブの中に、オンキャッシュ処理の実行のために使用可能な空きドライブがあるかを判定する。読み出し処理部223は、現在オンキャッシュ処理を実行中のテープドライブの数が、ステップS37で確認した使用可能ドライブ数より少ない場合に、空きドライブがあると判定する。
【0115】
空きドライブがあると判定した場合(S38:Yes)、読み出し処理部223は、ステップS39の処理を実行する。一方、空きドライブがないと判定した場合(S38:No)、読み出し処理部223は、ステップS34に戻り、1本のライブラリ用磁気テープからの読み出し処理が終了するまで処理待ちの状態となる。
【0116】
例えば、図9のステップS21の処理が実行された後、ステップS19,S20で条件を満たすと判定されて(S19:YesかつS20:Yes)、ステップS22の処理が実行されると、オンキャッシュ処理の実行のために使用可能なドライブ数がDから(D−1)に減少する。この場合、ステップS38では、他のライブラリ用磁気テープからの読み出し処理が終了するまで、空きドライブがないと判定されることになる。
【0117】
[ステップS39]読み出し処理部223は、オフキャッシュLVリスト232に登録された残りの結合レコードのうち先頭の結合レコードを選択し、選択した結合レコードについてのオンキャッシュ処理を開始する。その後、ステップS34に戻る。
【0118】
このステップS39では、読み出し処理部223は、テープライブラリ装置300を制御して、選択した結合レコードの「格納先テープ名」が示すライブラリ用磁気テープを、空きドライブにマウントする。そして、読み出し処理部223は、選択した結合レコードに登録されたすべての「LV名」が示す論理ボリュームを、空きドライブにマウントしたライブラリ用磁気テープから読み出し、ディスクアレイ装置500のHDDに格納する。
【0119】
以上の図10の処理では、読み出し処理部223は、オフキャッシュLVリスト232に登録された順に結合レコードを選択し、選択した結合レコードに対応するライブラリ用磁気テープから、エクスポート対象の論理ボリュームを読み出し、ディスクアレイ装置500のHDDに格納する。このとき、読み出し処理部223は、エクスポート制御部222から設定された使用可能ドライブ数のテープドライブを最大限使用して、エクスポート対象の論理ボリュームの読み出し処理を並列に実行する。特に、A>BかつD>Cの条件を満たさない期間では、テープライブラリ装置300が備えるすべてのテープドライブを最大限使用して、論理ボリュームの読み出し処理が実行される。これにより、エクスポート対象の論理ボリュームのオンキャッシュ処理にかかる時間が抑制される。
【0120】
図11は、書き込み処理部の処理手順の例を示すフローチャートである。この図11の処理は、図9のステップS23における書き込み処理部224の処理に対応する。
[ステップS51]書き込み処理部224は、テープライブラリ装置300を制御して、テープライブラリ装置300内のテープドライブのうち、オンキャッシュ処理が実行されない空きドライブに対して、エクスポート用磁気テープをマウントする。
【0121】
[ステップS52]書き込み処理部224は、オンキャッシュLVリスト233からレコードを1つ選択する。
[ステップS53]書き込み処理部224は、ステップS52で選択したレコードの「LV名」が示す論理ボリュームを、ディスクアレイ装置500から読み出し、ステップS51で空きドライブにマウントしたエクスポート用磁気テープに書き込む。
【0122】
[ステップS54]書き込み処理部224は、ステップS53で開始したエクスポート用磁気テープへの書き込み処理が終了すると、ステップS55の処理を実行する。
[ステップS55]書き込み処理部224は、ステップS52で選択したレコードを、オンキャッシュLVリスト233から削除する。
【0123】
[ステップS56]書き込み処理部224は、オンキャッシュLVリスト233にレコードが登録されているかを判定する。レコードが登録されている場合(S56:Yes)、書き込み処理部224は、ステップS52に戻り、オンキャッシュLVリスト233に登録された他の1つのレコードを選択する。一方、レコードが登録されていない場合(S56:No)には、エクスポート対象とされたすべての論理ボリュームの書き込み処理が完了している。この場合、書き込み処理部224はステップS57の処理を実行する。
【0124】
[ステップS57]書き込み処理部224は、エクスポート用磁気テープをテープドライブからアンマウントして、テープ投入排出口323から排出する。
ここで、図12は、エクスポート処理時におけるテープライブラリ装置の動作例を示す第1の図である。この図12を用いて、A>BかつD>Cという条件について説明する。
【0125】
なお、図12において、磁気テープTP0は、エクスポート用磁気テープを示す。また、磁気テープTP1,TP2,TP3,・・・は、エクスポート対象の論理ボリュームのうちオフキャッシュ状態の論理ボリュームが格納されたライブラリ用磁気テープを示す。
【0126】
まず、複数のテープドライブを使用して、エクスポート用磁気テープへの書き込み処理と、ライブラリ用磁気テープからのオンキャッシュ処理とを並列に行うものとする。この場合、エクスポート用磁気テープへの書き込み処理を一旦開始してからは、エクスポート用磁気テープをテープドライブからアンマウントすることなく、書き込み処理を最後まで連続的に実行することで、処理時間を最も短くすることができる。このような処理を実現するためには、ライブラリ用磁気テープからのオンキャッシュ処理より、エクスポート用磁気テープへの書き込み処理の方が早く完了しないように制御すればよい。
【0127】
ここで、テープライブラリ装置300の各テープドライブにおける磁気テープからの読み出し速度と、磁気テープへの書き込み速度とが同じであるものとする。この場合、ライブラリ用磁気テープからのオンキャッシュ処理より、エクスポート用磁気テープへの書き込み処理の方が早く完了しないようにするには、エクスポート対象の論理ボリュームのうち、オンキャッシュ状態の論理ボリュームの総データサイズAが、オフキャッシュ状態の論理ボリュームの総データサイズBより大きいこと(A>B)が必須条件となる。
【0128】
ただし、A>Bの条件を満たしたとしても、オフキャッシュ状態の論理ボリュームが多数のライブラリ用磁気テープに分散して格納されている場合には、オンキャッシュ処理の実行時に、ライブラリ用磁気テープの乗せ替えをする必要が生じる場合がある。
【0129】
図12はこのような状態の例を示しており、オフキャッシュ状態の論理ボリュームが格納されたライブラリ用磁気テープの本数(図12の例では8本)が、テープライブラリ装置300が備えるドライブ数D(図12の例ではD=4)以上となっている。この状態で、1つのテープドライブ(図12の例ではテープドライブ311)をエクスポート用磁気テープへの書き込み用に割り当ててしまった場合、残りの(D−1)個のテープドライブ(図12の例ではテープドライブ312〜314)では、ライブラリ用磁気テープの乗せ替えが少なくとも1回発生してしまう。
【0130】
例えば、図12において、ライブラリ用磁気テープTP1からの論理ボリュームの読み出しが終了すると、ライブラリ用磁気テープTP1をテープドライブ312からアンマウントする。その後、他のライブラリ用磁気テープ(例えばライブラリ用磁気テープTP4)をテープドライブ312にマウントして、マウントしたライブラリ用磁気テープからの論理ボリュームの読み出しを開始する。
【0131】
このように、ライブラリ用磁気テープの乗せ替えが発生した場合には、オフキャッシュ状態であるすべての論理ボリュームについてのオンキャッシュ処理が完了する前に、エクスポート用磁気テープへの書き込み処理が完了してしまう可能性がある。そこで、図9のステップS19では、A>Bの条件を満たしたとしても、オフキャッシュ状態の論理ボリュームが格納されたライブラリ用磁気テープのテープ本数Cが、ドライブ数Dより小さくなる(D>C)という条件を満たすまでは、エクスポート用磁気テープへの書き込み処理を開始せずに、オンキャッシュ処理を優先して実行する(S21)。これにより、エクスポート処理全体にかかる時間を抑制できる。
【0132】
図13は、エクスポート処理時におけるテープライブラリ装置の動作例を示す第2の図である。なお、図13でも、図12と同様に、磁気テープTP0は、エクスポート用磁気テープを示す。また、磁気テープTP1,TP2,TP3,・・・は、エクスポート対象の論理ボリュームのうちオフキャッシュ状態の論理ボリュームが格納されたライブラリ用磁気テープを示す。
【0133】
図9のステップS19では、A>BおよびD>Cの一方でも満たさない場合には、エクスポート用磁気テープへの書き込み処理を開始しない。このとき、テープライブラリ装置300が備えるすべてのテープドライブを、オンキャッシュ処理用に割り当てることが可能である。このため、エクスポート制御部222は、図13に示すように、テープライブラリ装置300が備えるすべてのテープドライブを最大限使用して、各テープドライブからの読み出し処理を並列に実行させる(S21)。図13では例として、テープライブラリ装置300が備える4個のテープドライブ311〜314のすべてに、ライブラリ用磁気テープがマウントされ、マウントされたライブラリ用磁気テープから論理ボリュームが並列に読み出される様子を示している。このような処理により、エクスポート用磁気テープへの書き込み処理を開始するまでの時間を短縮することができる。
【0134】
ここで、オフキャッシュLVリスト232においては、ステップS17の処理により、エクスポート対象の論理ボリュームの格納量が大きいライブラリ用磁気テープほど、対応する結合レコードが前になるように、レコードがソートされる。このため、ステップS21の処理では、読み出すべきデータ量が大きいライブラリ用磁気テープほど、優先的にテープドライブにマウントされて、データの読み出しが行われる。
【0135】
このようにライブラリ用磁気テープからの読み出し順が決定されることにより、A>BかつD>Cの条件が満たされるまでの間に、ライブラリ用磁気テープの乗せ替えが発生する回数が抑制される。従って、エクスポート用磁気テープに対する論理ボリュームの書き込みが開始されるまでの時間が短縮され、その結果、エクスポート処理全体にかかる時間を抑制できる。
【0136】
また、図9の処理では、A>BかつD>Cの条件が満たされた後(S19:YesかつS20:Yes)、エクスポート用磁気テープに割り当てたもの以外の(D−1)個のテープドライブを最大限使用して、オンキャッシュ処理を並列に実行する(S22)。これにより、オンキャッシュ処理にかかる時間が抑制され、エクスポート用磁気テープへの書き込み処理がオンキャッシュ処理より早く完了する可能性が低くなるので、エクスポート処理全体にかかる時間を抑制できる。
【0137】
次に、リプレイス処理部225の処理について説明する。まず、図14は、リプレイスLVリストに登録される情報の例を示す図である。
リプレイスLVリスト234は、リプレイス処理部225によって複数登録され得る。1つのリプレイスLVリスト234には、リプレイス処理によって1つのライブラリ用磁気テープにまとめた方がよいと考えられる論理ボリュームの情報が登録される。リプレイスLVリスト234のそれぞれには、論理ボリュームを識別する「LV名」と、論理ボリュームが格納されたライブラリ用磁気テープを識別する「格納先テープ名」とが、論理ボリュームごとに登録される。
【0138】
リプレイス処理部225は、エクスポート処理の履歴に基づいて、1つのライブラリ用磁気テープにまとめた方がよいと考えられる論理ボリュームの情報を、1つのリプレイスLVリスト234に登録する。例えば、過去にエクスポート処理が実行された論理ボリュームのうち、ほぼ同時期にエクスポート処理が実行された論理ボリュームや、エクスポート処理が実行された回数がほぼ同じである論理ボリュームは、今後もホスト装置400からエクスポート対象として同時に指定される可能性が高いと考えられる。そこで、リプレイス処理部225は、ほぼ同時期にエクスポート処理が実行された論理ボリュームや、エクスポート処理が実行された回数がほぼ同じである論理ボリュームについての情報を、1つのリプレイスLVリスト234に登録する。そして、リプレイス処理部225は、例えば夜間などのエクスポート処理が実行されない所定のタイミングで、1つのリプレイスLVリスト234に登録された論理ボリュームを、それぞれが格納されたライブラリ用磁気テープから、1つのライブラリ用磁気テープに移動させる。
【0139】
前述のように、マスタLVリスト231には、論理ボリュームについてのエクスポート処理の履歴情報として、論理ボリュームのエクスポート処理が開始された最新の時刻を示す「エクスポート開始時刻」と、論理ボリュームのエクスポート処理が過去に実行されたトータルの回数を示す「エクスポート回数」とが登録される。そこで、リプレイス処理部225は、マスタLVリスト231に登録されたエクスポート処理の履歴情報のみに基づいて、リプレイスLVリスト234を登録する。
【0140】
図15は、リプレイスLVリストの登録処理手順の例を示すフローチャートである。
この図15の処理は、例えば、夜間などのエクスポート処理が実行されない所定のタイミングで実行される。なお、この図15の処理に使用される「N」は、リプレイス処理部225によって作成されたリプレイスLVリスト234のリスト数を示し、初期値は「0」とされる。リプレイス処理部225は、例えば、制御装置201が起動したときに、リスト数Nを初期値「0」として、フラッシュメモリ213またはRAM212に格納する。
【0141】
[ステップS71]リプレイス処理部225は、マスタLVリスト231から、「エクスポート開始時刻」が同一であり、かつ、「エクスポート回数」が同一である論理ボリューム群を抽出する。
【0142】
なお、このステップS71では、「エクスポート開始時刻」が一定範囲(例えば数時間程度)にあり、かつ、「エクスポート回数」が一定範囲(例えば数回程度)にある論理ボリューム群が抽出されてもよい。あるいは、「エクスポート開始時刻」のみが同一または一定範囲にある論理ボリューム群が抽出されてもよい。あるいは、「エクスポート回数」のみが同一または一定範囲にある論理ボリューム群が抽出されてもよい。
【0143】
[ステップS72]リプレイス処理部225は、ステップS71で抽出した論理ボリューム群を1つ選択する。リプレイス処理部225は、マスタLVリスト231から、選択した論理ボリューム群に含まれる各論理ボリュームについての「格納先テープ名」を読み出し、読み出した「格納先テープ名」がすべて同じであるかを判定する。「格納先テープ名」がすべて同じである場合(S72:Yes)、リプレイス処理部225は、ステップS75の処理を実行する。一方、「格納先テープ名」が異なる論理ボリュームが存在する場合(S72:No)、リプレイス処理部225は、ステップS73の処理を実行する。
【0144】
[ステップS73]リプレイス処理部225は、RAM212またはフラッシュメモリ213に対して、リプレイスLVリスト234を1つ作成する。リプレイス処理部225は、作成したリプレイスLVリスト234に対して、ステップS72で選択した論理ボリューム群に含まれる論理ボリュームについての「LV名」および「格納先テープ名」を登録する。
【0145】
[ステップS74]リプレイス処理部225は、リスト数Nを「1」だけインクリメントする。
[ステップS75]リプレイス処理部225は、ステップS71で抽出した論理ボリューム群のすべてについて処理済みかを判定する。処理済みでない論理ボリューム群がある場合(S75:No)、リプレイス処理部225は、ステップS72に戻り、処理済みでない他の論理ボリューム群を選択する。一方、すべての論理ボリューム群を処理済みである場合(S75:Yes)、リプレイス処理部225は、処理を終了する。
【0146】
また、リプレイス処理部225は、次の図16のような方法でリプレイスLVリスト234を作成してもよい。ホスト装置400から、エクスポート対象として複数の論理ボリュームが指定されて、指定された複数の論理ボリュームについてのエクスポート処理が実行された場合、それら複数の論理ボリュームは、それ以後にも再度、ホスト装置400からエクスポート対象として同時に指定される可能性が高い。そこで、次の図16の処理では、リプレイス処理部225は、エクスポート処理が終了した時点で、終了したエクスポート処理の対象であった論理ボリュームについての情報を、リプレイスLVリスト234に登録する。
【0147】
図16は、リプレイスLVリストの登録処理手順の他の例を示すフローチャートである。なお、図15の場合と同様に、リスト数Nの初期値は「0」である。
[ステップS81]図9のステップS24において、エクスポート制御部222は、エクスポート処理を終了した論理ボリュームを示す「LV名」を、リプレイス処理部225に通知する。リプレイス処理部225は、エクスポート制御部222から通知された「LV名」を受信する。
【0148】
[ステップS82]リプレイス処理部225は、マスタLVリスト231から、ステップS81で通知された「LV名」に対応づけられた「エクスポート回数」を読み込み、「エクスポート回数」が同一である論理ボリューム群を抽出する。なお、この処理では、「エクスポート回数」が一定範囲にある論理ボリューム群が抽出されてもよい。
【0149】
[ステップS83]リプレイス処理部225は、ステップS82で抽出した論理ボリューム群を1つ選択する。リプレイス処理部225は、マスタLVリスト231から、選択した論理ボリューム群に含まれる各論理ボリュームについての「格納先テープ名」を読み出し、読み出した「格納先テープ名」がすべて同じであるかを判定する。「格納先テープ名」がすべて同じである場合(S83:Yes)、リプレイス処理部225は、ステップS86の処理を実行する。一方、「格納先テープ名」が異なる論理ボリュームが存在する場合(S83:No)、リプレイス処理部225は、ステップS84の処理を実行する。
【0150】
[ステップS84]リプレイス処理部225は、RAM212またはフラッシュメモリ213に対して、リプレイスLVリスト234を1つ作成する。リプレイス処理部225は、作成したリプレイスLVリスト234に対して、ステップS83で選択した論理ボリューム群に含まれる論理ボリュームについての「LV名」および「格納先テープ名」を登録する。
【0151】
[ステップS85]リプレイス処理部225は、リスト数Nを「1」だけインクリメントする。
[ステップS86]リプレイス処理部225は、ステップS82で抽出した論理ボリューム群のすべてについて処理済みかを判定する。処理済みでない論理ボリューム群がある場合(S86:No)、リプレイス処理部225は、ステップS83に戻り、処理済みでない他の論理ボリューム群を選択する。一方、すべての論理ボリューム群を処理済みである場合(S86:Yes)、リプレイス処理部225は、処理を終了する。
【0152】
次に、図17は、リプレイス処理の手順の例を示すフローチャートである。この図17の処理は、例えば、夜間などのエクスポート処理が実行されない所定のタイミングで実行される。
【0153】
[ステップS91]リプレイス処理部225は、RAM212またはフラッシュメモリ213から、リスト数Nを読み込む。
[ステップS92]リプレイス処理部225は、リスト数Nが「0」であるかを判定する。リスト数Nが「1」以上の場合(S92:No)、リプレイス処理部225は、ステップS93の処理を実行する。一方、リスト数Nが「0」である場合(S92:Yes)、リプレイス処理部225は、リプレイス処理を終了する。
【0154】
[ステップS93]リプレイス処理部225は、変数Lに「1」を設定する。
[ステップS94]リプレイス処理部225は、テープライブラリ装置300を制御して、L番目のリプレイスLVリスト234に登録された論理ボリュームを、同一のライブラリ用磁気テープに移動させる。
【0155】
具体的には、リプレイス処理部225は、L番目のリプレイスLVリスト234からレコードを順次選択する。リプレイス処理部225は、選択したレコードに登録された「格納先テープ名」が示すライブラリ用磁気テープを、テープライブラリ装置300内のいずれかのテープドライブにマウントする。リプレイス処理部225は、マウントしたライブラリ用磁気テープから、選択したレコードに登録された「LV名」が示す論理ボリュームを読み出し、ディスクアレイ装置500のHDDに格納する。このとき、読み出しを行った、元のライブラリ用磁気テープ内の論理ボリュームを、無効化する。
【0156】
リプレイス処理部225は、L番目のリプレイスLVリスト234に登録されたすべての論理ボリュームをディスクアレイ装置500のHDDに格納すると、テープライブラリ装置300のいずれかのテープドライブに、移動先とするライブラリ用磁気テープをマウントする。リプレイス処理部225は、ディスクアレイ装置500のHDDに格納した論理ボリュームを、マウントした移動先のライブラリ用磁気テープに格納する。
【0157】
[ステップS95]リプレイス処理部225は、マスタLVリスト231の登録情報のうち、ステップS94で格納先を変更した論理ボリュームについての「格納先テープ名」を、ステップS94での異動先のライブラリ用磁気テープを示すように更新する。
【0158】
[ステップS96]リプレイス処理部225は、変数Lを「1」だけインクリメントする。
[ステップS97]リプレイス処理部225は、変数Lの値がリスト数Nと等しいかを判定する。変数Lがリスト数Nより小さい場合(S97:No)、リプレイス処理部225は、ステップS94の処理を実行する。一方、L=Nの場合(S97:Yes)、リプレイス処理部225は、ステップS98の処理を実行する。
【0159】
[ステップS98]リプレイス処理部225は、リスト数Nを「0」に初期化する。
以上の図17の処理が実行されることにより、その後に複数の論理ボリュームを指定したエクスポート処理が要求された際に、指定された論理ボリュームが同一のライブラリ用磁気テープに格納されている可能性が高くなる。このため、エクスポート処理にかかる時間を抑制できるようになる。
【0160】
以上の各実施の形態に関し、さらに以下の付記を開示する。
(付記1) 可搬型記録媒体にアクセスする複数のアクセス装置と、
収納部に収納された複数の可搬型記録媒体を前記収納部と前記複数のアクセス装置との間で搬送する搬送部と、
前記収納部内の可搬型記録媒体に記録するデータを一時的に記憶する記憶装置と、
前記収納部内の可搬型記録媒体と前記記憶装置との間の前記複数のアクセス装置を通じたデータの転送を制御する制御装置と、
を備え、
前記制御装置は、
前記収納部内の可搬型記録媒体に記憶されたデータの中から指定された複数の排出対象データのうち、前記記憶装置に記憶されている排出対象データを、前記記憶装置から読み出し、前記収納部内の可搬型記録媒体の1つである排出用記録媒体に対して前記複数のアクセス装置のいずれかを通じて書き込む書き込み処理部と、
前記複数の排出対象データのうち、前記複数の排出対象データが指定された時点で前記記憶装置に記憶されていない排出対象データを、前記収納部内の可搬型記録媒体から前記複数のアクセス装置の少なくとも1つを通じて読み出し、前記書き込み処理部による書き込み処理対象のデータとして前記記憶装置に格納する読み出し処理部と、
前記複数の排出対象データのうち前記記憶装置に記憶されている排出対象データについての第1のデータ量と、前記複数の排出対象データのうち前記読み出し処理部が前記収納部内の可搬型記録媒体から読み出すべき残りの排出対象データについての第2のデータ量とに基づいて、前記書き込み処理部による書き込み処理の開始タイミングを制御する排出処理制御部と、
を有することを特徴とするストレージシステム。
【0161】
(付記2) 前記排出処理制御部は、前記第1のデータ量が前記第2のデータ量より大きく、かつ、排出対象データの読み書きに使用する前記アクセス部の個数が、前記複数の排出対象データのうち前記読み出し処理部が読み出すべき残りの排出対象データが格納された可搬型記録媒体の媒体数より大きい場合に、前記書き込み処理部による書き込み処理を開始させることを特徴とする付記1記載のストレージシステム。
【0162】
(付記3) 前記排出処理制御部は、
前記第1のデータ量が前記第2のデータ量以下であるか、または、前記アクセス部の個数が前記媒体数以下である場合、前記読み出し処理部に、前記複数のアクセス部のすべてを使用して、可搬型記録媒体から前記記憶装置への読み出し処理を実行させ、
前記第1のデータ量が前記第2のデータ量より大きく、かつ、前記アクセス部の個数が前記媒体数より大きい場合、前記書き込み処理部による書き込み処理を開始させるとともに、前記書き込み処理部による書き込み処理と前記読み出し処理部による読み出し処理とを並列に実行させる、
ことを特徴とする付記2記載のストレージシステム。
【0163】
(付記4) 前記排出処理制御部は、前記第1のデータ量が前記第2のデータ量より大きく、かつ、前記アクセス部の個数が前記媒体数より大きい場合、前記読み出し処理部に、前記書き込み処理部による書き込み処理に使用されていない残りの前記アクセス部をすべて使用して、可搬型記録媒体から前記記憶装置への読み出し処理を並列に実行させることを特徴とする付記2または3記載のストレージシステム。
【0164】
(付記5) 前記排出処理制御部は、排出対象データの格納量が大きい可搬型記録媒体ほど先にデータの読み出しを行うように、前記読み出し処理部を制御することを特徴とする付記2〜4のいずれか1つに記載のストレージシステム。
【0165】
(付記6) 前記排出処理制御部は、
前記第1のデータ量が前記第2のデータ量以下である場合、前記読み出し処理部に、前記複数のアクセス部のすべてを使用して、可搬型記録媒体から前記記憶装置への読み出し処理を実行させ、
前記第1のデータ量が前記第2のデータ量より大きい場合、前記書き込み処理部による書き込み処理を開始させるとともに、前記書き込み処理部による書き込み処理と前記読み出し処理部による読み出し処理とを並列に実行させる、
ことを特徴とする付記1記載のストレージシステム。
【0166】
(付記7) 前記排出処理制御部は、前記第1のデータ量が前記第2のデータ量より大きい場合、前記読み出し処理部に、前記書き込み処理部による書き込み処理に使用されていない残りの前記アクセス部をすべて使用して、可搬型記録媒体から前記記憶装置への読み出し処理を並列に実行させることを特徴とする付記1または6記載のストレージシステム。
【0167】
(付記8) 前記制御装置は、前記収納部内の可搬型記録媒体に記憶されたデータの中の、過去に排出対象データとして指定されたデータのうち、排出対象データとして指定された最終時刻または回数の少なくとも一方が所定の範囲内にあるデータを、前記収納部内の1つの可搬型記録媒体に移動させる移動制御部をさらに有することを特徴とする付記1〜7のいずれか1つに記載のストレージシステム。
【0168】
(付記9) 可搬型記録媒体にアクセスする複数のアクセス装置と、複数の可搬型記録媒体に記録するデータを一時的に記憶する記憶装置とに接続し、前記複数の可搬型記録媒体と前記記憶装置との間の前記複数のアクセス装置を通じたデータの転送を制御するストレージ制御装置において、
前記複数の可搬型記録媒体に記憶されたデータの中から指定された複数の排出対象データのうち、前記記憶装置に記憶されている排出対象データを、前記記憶装置から読み出し、排出用の可搬型記録媒体に対して前記複数のアクセス装置のいずれかを通じて書き込む書き込み処理部と、
前記複数の排出対象データのうち、前記複数の排出対象データが指定された時点で前記記憶装置に記憶されていない排出対象データを、前記複数の可搬型記録媒体から前記複数のアクセス装置の少なくとも1つを通じて読み出し、前記書き込み処理部による書き込み処理対象のデータとして前記記憶装置に格納する読み出し処理部と、
前記複数の排出対象データのうち前記記憶装置に記憶されている排出対象データについての第1のデータ量と、前記複数の排出対象データのうち前記読み出し処理部が前記複数の可搬型記録媒体から読み出すべき残りの排出対象データについての第2のデータ量とに基づいて、前記書き込み処理部による書き込み処理の開始タイミングを制御する排出処理制御部と、
を有することを特徴とするストレージ制御装置。
【0169】
(付記10) 可搬型記録媒体にアクセスする複数のアクセス装置と、複数の可搬型記録媒体に記録するデータを一時的に記憶する記憶装置とに接続し、前記複数の可搬型記録媒体と前記記憶装置との間の前記複数のアクセス装置を通じたデータの転送を制御するストレージ制御装置におけるストレージ制御方法であって、
前記ストレージ制御装置は、
前記複数の可搬型記録媒体に記憶されたデータの中から、排出用の可搬型記録媒体へ書き込む複数の排出対象データの指定を受け付け、
前記複数の排出対象データのうち、前記記憶装置に記憶されており、かつ、前記排出用の可搬型記録媒体に対する前記複数のアクセス装置のいずれかを通じた書き込み処理が未実行である排出対象データについての第1のデータ量と、前記複数の排出対象データのうち、前記複数の排出対象データが指定された時点で前記記憶装置に記憶されておらず、かつ、前記複数の可搬型記録媒体から読み出して前記排出用の可搬型記録媒体に対する前記書き込み処理の対象として前記記憶装置に格納する読み出し処理が未実行の排出対象データについての第2のデータ量とを検出し、
検出した前記第1のデータ量および前記第2のデータ量に基づいて、前記書き込み処理の開始タイミングを制御する、
ことを特徴とするストレージ制御方法。
【0170】
(付記11) 前記ストレージ制御装置は、前記第1のデータ量が前記第2のデータ量より大きく、かつ、前記書き込み処理および前記読み出し処理に使用する前記アクセス装置の個数が、前記複数の排出対象データのうち前記読み出し処理を実行すべき残りの排出対象データが格納された可搬型記録媒体の媒体数より大きい場合に、前記書き込み処理を開始させることを特徴とする付記10記載のストレージ制御方法。
【0171】
(付記12) 前記ストレージ制御装置は、
前記第1のデータ量が前記第2のデータ量以下であるか、または、前記アクセス装置の個数が前記媒体数以下である場合、前記複数のアクセス装置のすべてを使用して前記読み出し処理を実行し、
前記第1のデータ量が前記第2のデータ量より大きく、かつ、前記アクセス装置の個数が前記媒体数より大きい場合、前記書き込み処理を開始させるとともに、前記書き込み処理と前記読み出し処理とを並列に実行する、
ことを特徴とする付記11記載のストレージ制御方法。
【0172】
(付記13) 前記ストレージ制御装置は、前記第1のデータ量が前記第2のデータ量より大きく、かつ、前記アクセス装置の個数が前記媒体数より大きい場合、前記書き込み処理に使用されていない残りの前記アクセス装置をすべて使用して、前記読み出し処理を並列に実行することを特徴とする付記11または12記載のストレージ制御方法。
【0173】
(付記14) 前記ストレージ制御装置は、排出対象データの格納量が大きい可搬型記録媒体ほど先にデータの読み出しを行うように前記読み出し処理を制御することを特徴とする付記11〜13のいずれか1つに記載のストレージ制御方法。
【0174】
(付記15) 前記ストレージ制御装置は、
前記第1のデータ量が前記第2のデータ量以下である場合、前記複数のアクセス装置のすべてを使用して前記読み出し処理を実行し、
前記第1のデータ量が前記第2のデータ量より大きい場合、前記書き込み処理を開始させるとともに、前記書き込み処理と前記読み出し処理とを並列に実行する、
ことを特徴とする付記10記載のストレージ制御方法。
【0175】
(付記16) 前記ストレージ制御装置は、前記第1のデータ量が前記第2のデータ量より大きい場合、前記書き込み処理に使用されていない残りの前記アクセス装置をすべて使用して前記読み出し処理を並列に実行することを特徴とする付記10または15記載のストレージ制御方法。
【0176】
(付記17) 前記ストレージ制御装置は、前記複数の可搬型記録媒体に記憶されたデータの中の、過去に排出対象データとして指定されたデータのうち、排出対象データとして指定された最終時刻または回数の少なくとも一方が所定の範囲内にあるデータを、1つの可搬型記録媒体に移動させることを特徴とする付記10〜16のいずれか1つに記載のストレージ制御方法。
【符号の説明】
【0177】
1 ストレージシステム
10,20 記憶装置
21 収納部
22a,22b アクセス部
23 搬送部
24 排出部
31 書き込み処理部
32 読み出し処理部
33 排出処理制御部
40 上位装置
【特許請求の範囲】
【請求項1】
可搬型記録媒体にアクセスする複数のアクセス装置と、
収納部に収納された複数の可搬型記録媒体を前記収納部と前記複数のアクセス装置との間で搬送する搬送部と、
前記収納部内の可搬型記録媒体に記録するデータを一時的に記憶する記憶装置と、
前記収納部内の可搬型記録媒体と前記記憶装置との間の前記複数のアクセス装置を通じたデータの転送を制御する制御装置と、
を備え、
前記制御装置は、
前記収納部内の可搬型記録媒体に記憶されたデータの中から指定された複数の排出対象データのうち、前記記憶装置に記憶されている排出対象データを、前記記憶装置から読み出し、前記収納部内の可搬型記録媒体の1つである排出用記録媒体に対して前記複数のアクセス装置のいずれかを通じて書き込む書き込み処理部と、
前記複数の排出対象データのうち、前記複数の排出対象データが指定された時点で前記記憶装置に記憶されていない排出対象データを、前記収納部内の可搬型記録媒体から前記複数のアクセス装置の少なくとも1つを通じて読み出し、前記書き込み処理部による書き込み処理対象のデータとして前記記憶装置に格納する読み出し処理部と、
前記複数の排出対象データのうち前記記憶装置に記憶されている排出対象データについての第1のデータ量と、前記複数の排出対象データのうち前記読み出し処理部が前記収納部内の可搬型記録媒体から読み出すべき残りの排出対象データについての第2のデータ量とに基づいて、前記書き込み処理部による書き込み処理の開始タイミングを制御する排出処理制御部と、
を有することを特徴とするストレージシステム。
【請求項2】
前記排出処理制御部は、前記第1のデータ量が前記第2のデータ量より大きく、かつ、排出対象データの読み書きに使用する前記アクセス部の個数が、前記複数の排出対象データのうち前記読み出し処理部が読み出すべき残りの排出対象データが格納された可搬型記録媒体の媒体数より大きい場合に、前記書き込み処理部による書き込み処理を開始させることを特徴とする請求項1記載のストレージシステム。
【請求項3】
前記排出処理制御部は、
前記第1のデータ量が前記第2のデータ量以下であるか、または、前記アクセス部の個数が前記媒体数以下である場合、前記読み出し処理部に、前記複数のアクセス部のすべてを使用して、可搬型記録媒体から前記記憶装置への読み出し処理を実行させ、
前記第1のデータ量が前記第2のデータ量より大きく、かつ、前記アクセス部の個数が前記媒体数より大きい場合、前記書き込み処理部による書き込み処理を開始させるとともに、前記書き込み処理部による書き込み処理と前記読み出し処理部による読み出し処理とを並列に実行させる、
ことを特徴とする請求項2記載のストレージシステム。
【請求項4】
前記排出処理制御部は、前記第1のデータ量が前記第2のデータ量より大きく、かつ、前記アクセス部の個数が前記媒体数より大きい場合、前記読み出し処理部に、前記書き込み処理部による書き込み処理に使用されていない残りの前記アクセス部をすべて使用して、可搬型記録媒体から前記記憶装置への読み出し処理を並列に実行させることを特徴とする請求項2または3記載のストレージシステム。
【請求項5】
前記排出処理制御部は、排出対象データの格納量が大きい可搬型記録媒体ほど先にデータの読み出しを行うように、前記読み出し処理部を制御することを特徴とする請求項2〜4のいずれか1項に記載のストレージシステム。
【請求項6】
前記排出処理制御部は、
前記第1のデータ量が前記第2のデータ量以下である場合、前記読み出し処理部に、前記複数のアクセス部のすべてを使用して、可搬型記録媒体から前記記憶装置への読み出し処理を実行させ、
前記第1のデータ量が前記第2のデータ量より大きい場合、前記書き込み処理部による書き込み処理を開始させるとともに、前記書き込み処理部による書き込み処理と前記読み出し処理部による読み出し処理とを並列に実行させる、
ことを特徴とする請求項1記載のストレージシステム。
【請求項7】
前記排出処理制御部は、前記第1のデータ量が前記第2のデータ量より大きい場合、前記読み出し処理部に、前記書き込み処理部による書き込み処理に使用されていない残りの前記アクセス部をすべて使用して、可搬型記録媒体から前記記憶装置への読み出し処理を並列に実行させることを特徴とする請求項1または6記載のストレージシステム。
【請求項8】
前記制御装置は、前記収納部内の可搬型記録媒体に記憶されたデータの中の、過去に排出対象データとして指定されたデータのうち、排出対象データとして指定された最終時刻または回数の少なくとも一方が所定の範囲内にあるデータを、前記収納部内の1つの可搬型記録媒体に移動させる移動制御部をさらに有することを特徴とする請求項1〜7のいずれか1項に記載のストレージシステム。
【請求項9】
可搬型記録媒体にアクセスする複数のアクセス装置と、複数の可搬型記録媒体に記録するデータを一時的に記憶する記憶装置とに接続し、前記複数の可搬型記録媒体と前記記憶装置との間の前記複数のアクセス装置を通じたデータの転送を制御するストレージ制御装置において、
前記複数の可搬型記録媒体に記憶されたデータの中から指定された複数の排出対象データのうち、前記記憶装置に記憶されている排出対象データを、前記記憶装置から読み出し、排出用の可搬型記録媒体に対して前記複数のアクセス装置のいずれかを通じて書き込む書き込み処理部と、
前記複数の排出対象データのうち、前記複数の排出対象データが指定された時点で前記記憶装置に記憶されていない排出対象データを、前記複数の可搬型記録媒体から前記複数のアクセス装置の少なくとも1つを通じて読み出し、前記書き込み処理部による書き込み処理対象のデータとして前記記憶装置に格納する読み出し処理部と、
前記複数の排出対象データのうち前記記憶装置に記憶されている排出対象データについての第1のデータ量と、前記複数の排出対象データのうち前記読み出し処理部が前記複数の可搬型記録媒体から読み出すべき残りの排出対象データについての第2のデータ量とに基づいて、前記書き込み処理部による書き込み処理の開始タイミングを制御する排出処理制御部と、
を有することを特徴とするストレージ制御装置。
【請求項10】
可搬型記録媒体にアクセスする複数のアクセス装置と、複数の可搬型記録媒体に記録するデータを一時的に記憶する記憶装置とに接続し、前記複数の可搬型記録媒体と前記記憶装置との間の前記複数のアクセス装置を通じたデータの転送を制御するストレージ制御装置におけるストレージ制御方法であって、
前記ストレージ制御装置は、
前記複数の可搬型記録媒体に記憶されたデータの中から、排出用の可搬型記録媒体へ書き込む複数の排出対象データの指定を受け付け、
前記複数の排出対象データのうち、前記記憶装置に記憶されており、かつ、前記排出用の可搬型記録媒体に対する前記複数のアクセス装置のいずれかを通じた書き込み処理が未実行である排出対象データについての第1のデータ量と、前記複数の排出対象データのうち、前記複数の排出対象データが指定された時点で前記記憶装置に記憶されておらず、かつ、前記複数の可搬型記録媒体から読み出して前記排出用の可搬型記録媒体に対する前記書き込み処理の対象として前記記憶装置に格納する読み出し処理が未実行の排出対象データについての第2のデータ量とを検出し、
検出した前記第1のデータ量および前記第2のデータ量に基づいて、前記書き込み処理の開始タイミングを制御する、
ことを特徴とするストレージ制御方法。
【請求項1】
可搬型記録媒体にアクセスする複数のアクセス装置と、
収納部に収納された複数の可搬型記録媒体を前記収納部と前記複数のアクセス装置との間で搬送する搬送部と、
前記収納部内の可搬型記録媒体に記録するデータを一時的に記憶する記憶装置と、
前記収納部内の可搬型記録媒体と前記記憶装置との間の前記複数のアクセス装置を通じたデータの転送を制御する制御装置と、
を備え、
前記制御装置は、
前記収納部内の可搬型記録媒体に記憶されたデータの中から指定された複数の排出対象データのうち、前記記憶装置に記憶されている排出対象データを、前記記憶装置から読み出し、前記収納部内の可搬型記録媒体の1つである排出用記録媒体に対して前記複数のアクセス装置のいずれかを通じて書き込む書き込み処理部と、
前記複数の排出対象データのうち、前記複数の排出対象データが指定された時点で前記記憶装置に記憶されていない排出対象データを、前記収納部内の可搬型記録媒体から前記複数のアクセス装置の少なくとも1つを通じて読み出し、前記書き込み処理部による書き込み処理対象のデータとして前記記憶装置に格納する読み出し処理部と、
前記複数の排出対象データのうち前記記憶装置に記憶されている排出対象データについての第1のデータ量と、前記複数の排出対象データのうち前記読み出し処理部が前記収納部内の可搬型記録媒体から読み出すべき残りの排出対象データについての第2のデータ量とに基づいて、前記書き込み処理部による書き込み処理の開始タイミングを制御する排出処理制御部と、
を有することを特徴とするストレージシステム。
【請求項2】
前記排出処理制御部は、前記第1のデータ量が前記第2のデータ量より大きく、かつ、排出対象データの読み書きに使用する前記アクセス部の個数が、前記複数の排出対象データのうち前記読み出し処理部が読み出すべき残りの排出対象データが格納された可搬型記録媒体の媒体数より大きい場合に、前記書き込み処理部による書き込み処理を開始させることを特徴とする請求項1記載のストレージシステム。
【請求項3】
前記排出処理制御部は、
前記第1のデータ量が前記第2のデータ量以下であるか、または、前記アクセス部の個数が前記媒体数以下である場合、前記読み出し処理部に、前記複数のアクセス部のすべてを使用して、可搬型記録媒体から前記記憶装置への読み出し処理を実行させ、
前記第1のデータ量が前記第2のデータ量より大きく、かつ、前記アクセス部の個数が前記媒体数より大きい場合、前記書き込み処理部による書き込み処理を開始させるとともに、前記書き込み処理部による書き込み処理と前記読み出し処理部による読み出し処理とを並列に実行させる、
ことを特徴とする請求項2記載のストレージシステム。
【請求項4】
前記排出処理制御部は、前記第1のデータ量が前記第2のデータ量より大きく、かつ、前記アクセス部の個数が前記媒体数より大きい場合、前記読み出し処理部に、前記書き込み処理部による書き込み処理に使用されていない残りの前記アクセス部をすべて使用して、可搬型記録媒体から前記記憶装置への読み出し処理を並列に実行させることを特徴とする請求項2または3記載のストレージシステム。
【請求項5】
前記排出処理制御部は、排出対象データの格納量が大きい可搬型記録媒体ほど先にデータの読み出しを行うように、前記読み出し処理部を制御することを特徴とする請求項2〜4のいずれか1項に記載のストレージシステム。
【請求項6】
前記排出処理制御部は、
前記第1のデータ量が前記第2のデータ量以下である場合、前記読み出し処理部に、前記複数のアクセス部のすべてを使用して、可搬型記録媒体から前記記憶装置への読み出し処理を実行させ、
前記第1のデータ量が前記第2のデータ量より大きい場合、前記書き込み処理部による書き込み処理を開始させるとともに、前記書き込み処理部による書き込み処理と前記読み出し処理部による読み出し処理とを並列に実行させる、
ことを特徴とする請求項1記載のストレージシステム。
【請求項7】
前記排出処理制御部は、前記第1のデータ量が前記第2のデータ量より大きい場合、前記読み出し処理部に、前記書き込み処理部による書き込み処理に使用されていない残りの前記アクセス部をすべて使用して、可搬型記録媒体から前記記憶装置への読み出し処理を並列に実行させることを特徴とする請求項1または6記載のストレージシステム。
【請求項8】
前記制御装置は、前記収納部内の可搬型記録媒体に記憶されたデータの中の、過去に排出対象データとして指定されたデータのうち、排出対象データとして指定された最終時刻または回数の少なくとも一方が所定の範囲内にあるデータを、前記収納部内の1つの可搬型記録媒体に移動させる移動制御部をさらに有することを特徴とする請求項1〜7のいずれか1項に記載のストレージシステム。
【請求項9】
可搬型記録媒体にアクセスする複数のアクセス装置と、複数の可搬型記録媒体に記録するデータを一時的に記憶する記憶装置とに接続し、前記複数の可搬型記録媒体と前記記憶装置との間の前記複数のアクセス装置を通じたデータの転送を制御するストレージ制御装置において、
前記複数の可搬型記録媒体に記憶されたデータの中から指定された複数の排出対象データのうち、前記記憶装置に記憶されている排出対象データを、前記記憶装置から読み出し、排出用の可搬型記録媒体に対して前記複数のアクセス装置のいずれかを通じて書き込む書き込み処理部と、
前記複数の排出対象データのうち、前記複数の排出対象データが指定された時点で前記記憶装置に記憶されていない排出対象データを、前記複数の可搬型記録媒体から前記複数のアクセス装置の少なくとも1つを通じて読み出し、前記書き込み処理部による書き込み処理対象のデータとして前記記憶装置に格納する読み出し処理部と、
前記複数の排出対象データのうち前記記憶装置に記憶されている排出対象データについての第1のデータ量と、前記複数の排出対象データのうち前記読み出し処理部が前記複数の可搬型記録媒体から読み出すべき残りの排出対象データについての第2のデータ量とに基づいて、前記書き込み処理部による書き込み処理の開始タイミングを制御する排出処理制御部と、
を有することを特徴とするストレージ制御装置。
【請求項10】
可搬型記録媒体にアクセスする複数のアクセス装置と、複数の可搬型記録媒体に記録するデータを一時的に記憶する記憶装置とに接続し、前記複数の可搬型記録媒体と前記記憶装置との間の前記複数のアクセス装置を通じたデータの転送を制御するストレージ制御装置におけるストレージ制御方法であって、
前記ストレージ制御装置は、
前記複数の可搬型記録媒体に記憶されたデータの中から、排出用の可搬型記録媒体へ書き込む複数の排出対象データの指定を受け付け、
前記複数の排出対象データのうち、前記記憶装置に記憶されており、かつ、前記排出用の可搬型記録媒体に対する前記複数のアクセス装置のいずれかを通じた書き込み処理が未実行である排出対象データについての第1のデータ量と、前記複数の排出対象データのうち、前記複数の排出対象データが指定された時点で前記記憶装置に記憶されておらず、かつ、前記複数の可搬型記録媒体から読み出して前記排出用の可搬型記録媒体に対する前記書き込み処理の対象として前記記憶装置に格納する読み出し処理が未実行の排出対象データについての第2のデータ量とを検出し、
検出した前記第1のデータ量および前記第2のデータ量に基づいて、前記書き込み処理の開始タイミングを制御する、
ことを特徴とするストレージ制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2012−185618(P2012−185618A)
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願番号】特願2011−47526(P2011−47526)
【出願日】平成23年3月4日(2011.3.4)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願日】平成23年3月4日(2011.3.4)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]