(57)【特許請求の範囲】
【請求項１】
第１種別のストレージ装置が記憶するデータを一時的に記憶する第２種別の複数のストレージ装置を、前記複数のストレージ装置の各々のストレージ装置が記憶するデータに対する処理にかかる時間と、前記各々のストレージ装置のファームウェアの更新にかかる時間とに基づいて、第１グループと第２グループとに分類し、
分類した前記第１グループに属するストレージ装置のファームウェアを更新する間には、前記第２グループに属するストレージ装置を用いて前記第１種別のストレージ装置にアクセスする、
制御部を有することを特徴とするストレージ制御装置。
【請求項２】
第１種別のストレージ装置が記憶するデータを一時的に記憶する第２種別の複数のストレージ装置を、第１グループと第２グループとに分類し、
分類した前記第１グループに属するストレージ装置のファームウェアを更新する間には、前記第２グループに属するストレージ装置を用いて前記第１種別のストレージ装置にアクセスし、前記第２グループに属するストレージ装置が記憶するデータに対する処理を、前記第２グループに属するストレージ装置が記憶しないデータに対する処理より先に実行する、
制御部を有することを特徴とするストレージ制御装置。
【請求項３】
第１種別のストレージ装置が記憶するデータを一時的に記憶する第２種別の複数のストレージ装置を、第１グループと第２グループとに分類し、
分類した前記第１グループに属するストレージ装置のファームウェアを更新する間には、前記第２グループに属するストレージ装置を用いて前記第１種別のストレージ装置にアクセスし、前記第１グループに属するストレージ装置が記憶しないデータに対する処理を、前記第１グループに属するストレージ装置が記憶するデータに対する処理より先に実行する、
制御部を有することを特徴とするストレージ制御装置。
【請求項４】
第１種別のストレージ装置が記憶するデータを一時的に記憶する第２種別の複数のストレージ装置を、第１グループと第２グループとに分類し、
分類した前記第１グループに属するストレージ装置のファームウェアを更新する間には、前記第２グループに属するストレージ装置を用いて前記第１種別のストレージ装置にアクセスし、前記複数のストレージ装置の各々のストレージ装置と前記第１種別のストレージ装置が記憶するデータの各々を特定する情報とを対応付けて記憶する記憶部を参照して、前記第２グループに属するストレージ装置に対応付けられたデータに対する処理を、前記第１グループに属するストレージ装置に対応付けられたデータに対する処理より先に実行する、
制御部を有することを特徴とするストレージ制御装置。
【請求項５】
コンピュータに、
第１種別のストレージ装置が記憶するデータを一時的に記憶する第２種別の複数のストレージ装置を、前記複数のストレージ装置の各々のストレージ装置が記憶するデータに対する処理にかかる時間と、前記各々のストレージ装置のファームウェアの更新にかかる時間とに基づいて、第１グループと第２グループとに分類し、
分類した前記第１グループに属するストレージ装置のファームウェアを更新する間には、前記第２グループに属するストレージ装置を用いて前記第１種別のストレージ装置にアクセスする、
処理を実行させることを特徴とするストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置、およびストレージ制御プログラムに関する。
【背景技術】
【０００２】
従来、ストレージ装置の不具合に対応したり、ストレージ装置に新たな機能を追加したりするために、ストレージ装置のファームウェアを更新することがある。関連する先行技術として、例えば、ディスク装置に対するファームウェア更新指令を受信した場合に、ファームウェア更新指令の内容に基づいて更新対象のディスク装置を指定し、指定されたディスク装置を切り離して仮縮退に設定するものがある。また、例えば、並行して動作可能な第１および第２のディスク制御部を有し、第２のディスク制御部が第１のディスク制御部に代替してコマンドを実行している間に、第１のディスク制御部のファームウェアを更新する技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−０７５７１６号公報
【特許文献２】特開２０１０−１１７９７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術によれば、第１種別のストレージ装置のキャッシュとなる第２種別の複数のストレージ装置のファームウェアを更新する間では、第１種別のストレージ装置のデータへのアクセス性能が低下する場合がある。具体的には、例えば、第２種別の複数のストレージ装置のうちの或るストレージ装置がファームウェアを更新する間に、第１種別のストレージ装置のデータであって、或るストレージ装置が一時的に記憶するデータに対するアクセス要求が発生する場合がある。この場合、或るストレージ装置にアクセスすることができないため、第１種別のストレージ装置のデータがキャッシュされず、アクセス性能が低下することになる。
【０００５】
１つの側面では、本発明は、第１種別のストレージ装置が記憶するデータを一時的に記憶する第２種別の複数のストレージ装置のファームウェアを更新する間のアクセス性能の低下を抑制することができるストレージ制御装置、およびストレージ制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一側面によれば、第１種別のストレージ装置が記憶するデータを一時的に記憶する第２種別の複数のストレージ装置を、第１グループと第２グループとに分類し、分類した第１グループに属するストレージ装置のファームウェアを更新する間には、第２グループに属するストレージ装置を用いて第１種別のストレージ装置にアクセスするストレージ制御装置、およびストレージ制御プログラムが提案される。
【発明の効果】
【０００７】
本発明の一態様によれば、第１種別のストレージ装置が記憶するデータを一時的に記憶する第２種別の複数のストレージ装置のファームウェアを更新する間のアクセス性能の低下を抑制することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施の形態にかかるストレージ制御装置１０１の動作例を示す説明図である。
【図２】図２は、仮想テープライブラリシステム２００の構成例を示す説明図である。
【図３】図３は、階層制御サーバ２０１のハードウェア構成例を示す説明図である。
【図４】図４は、仮想テープライブラリシステム２００のファイルシステムを示す説明図である。
【図５】図５は、ＬＶ情報テーブル４０１の記憶内容の一例を示す説明図である。
【図６】図６は、ディスク情報テーブル４０２の記憶内容の一例を示す説明図である。
【図７】図７は、ＲＡＩＤグループ情報テーブル４０３の記憶内容の一例を示す説明図である。
【図８】図８は、ファイルシステム情報テーブル４０４の記憶内容の一例を示す説明図である。
【図９】図９は、ＰＶへの追記処理時の動作例を示す説明図である。
【図１０】図１０は、ホスト装置２１１からのＬＶへの読込処理時の動作例を示す説明図である。
【図１１】図１１は、リオーガニゼーション処理時の動作例を示す説明図である。
【図１２】図１２は、階層制御サーバ２０１の機能構成例を示すブロック図である。
【図１３】図１３は、前半部におけるＬＶ処理優先度の一例を示す説明図である。
【図１４】図１４は、後半部におけるＬＶ処理優先度の一例を示す説明図である。
【図１５】図１５は、グループの分類方法の一例を示す説明図である。
【図１６】図１６は、前半部におけるホスト装置２１１からの追記処理時の動作例を示す説明図である。
【図１７】図１７は、後半部におけるホスト装置２１１からの追記処理時の動作例を示す説明図である。
【図１８】図１８は、前半部におけるホスト装置２１１への読込処理時の動作例を示す説明図である。
【図１９】図１９は、後半部におけるホスト装置２１１への読込処理時の動作例を示す説明図である。
【図２０】図２０は、前半部におけるリオーガニゼーション処理時の動作例を示す説明図である。
【図２１】図２１は、後半部におけるリオーガニゼーション処理時の動作例を示す説明図である。
【図２２】図２２は、優先度１のＬＶ処理に対するＬＶ情報テーブル４０１の記憶内容の更新例を示す説明図である。
【図２３】図２３は、優先度２のＬＶ処理に対するＬＶ情報テーブル４０１の記憶内容の更新例を示す説明図である。
【図２４】図２４は、優先度３のＬＶ処理に対するＬＶ情報テーブル４０１の記憶内容の更新例を示す説明図である。
【図２５】図２５は、優先度４のＬＶ処理に対するＬＶ情報テーブル４０１の記憶内容の更新例を示す説明図である。
【図２６】図２６は、ファーム適用前後におけるファイルシステム情報テーブル４０４の記憶内容の更新例を示す説明図である。
【図２７】図２７は、ファーム適用前後におけるディスク情報テーブル４０２の記憶内容の更新例を示す説明図である。
【図２８】図２８は、ＲＡＩＤグループ分類処理手順の一例を示すフローチャート（その１）である。
【図２９】図２９は、ＲＡＩＤグループ分類処理手順の一例を示すフローチャート（その２）である。
【図３０】図３０は、ファーム適用処理手順の一例を示すフローチャート（その１）である。
【図３１】図３１は、前半部における優先度１のＬＶ処理手順の一例を示すフローチャートである。
【図３２】図３２は、前半部における優先度２のＬＶ処理手順の一例を示すフローチャートである。
【図３３】図３３は、前半部における優先度３のＬＶ処理手順の一例を示すフローチャートである。
【図３４】図３４は、前半部における優先度４のＬＶ処理手順の一例を示すフローチャートである。
【図３５】図３５は、ファーム適用処理手順の一例を示すフローチャート（その２）である。
【図３６】図３６は、後半部における優先度１のＬＶ処理手順の一例を示すフローチャートである。
【図３７】図３７は、後半部における優先度２のＬＶ処理手順の一例を示すフローチャートである。
【図３８】図３８は、後半部における優先度３のＬＶ処理手順の一例を示すフローチャートである。
【図３９】図３９は、後半部における優先度４のＬＶ処理手順の一例を示すフローチャートである。
【図４０】図４０は、ファーム適用中のＬＶ処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に図面を参照して、開示のストレージ制御装置、およびストレージ制御プログラムの実施の形態を詳細に説明する。
【００１０】
図１は、本実施の形態にかかるストレージ制御装置１０１の動作例を示す説明図である。ストレージ制御装置１０１は、第１種別のストレージ装置１０２と、第１種別のストレージ装置１０２が記憶するデータを一時的に記憶する第２種別の複数のストレージ装置１０３−１、２、とを制御するコンピュータである。ストレージ制御装置１０１は、例えば、サーバである。また、ストレージ制御装置１０１は、第１種別のストレージ装置１０２と、第２種別のストレージ装置１０３−１、２と、を含むストレージシステム１００に含まれる。さらに、ストレージ制御装置１０１は、ホスト装置１０４と接続する。ホスト装置１０４は、ストレージシステム１００を利用するユーザが操作する装置であり、ストレージ制御装置１０１に対して上位装置となる。
【００１１】
ここで、第２種別のストレージ装置１０３−１、２は、ストレージシステム１００の性能を向上させるために用意されており、第１種別のストレージ装置１０２が記憶するデータを一時的に記憶するキャッシュとして動作する。従って、第２種別のストレージ装置が第１種別のストレージ装置よりもアクセス性能が高いものであれば、第１種別のストレージ装置と第２種別のストレージ装置とはどのようなものでもよい。
【００１２】
例えば、第１種別のストレージ装置が、磁気テープを用いてデータを記憶する装置、すなわちテープライブラリ装置であるのに対して、第２種別のストレージ装置が、磁気ディスクを用いてデータを記憶する装置、すなわちＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。または、第１種別のストレージ装置がテープライブラリ装置であるのに対して、第２種別のストレージ装置がＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）でもよい。または、第２種別のストレージ装置がＳＳＤであるのに対して、第１種別のストレージ装置がＨＤＤであってもよい。
【００１３】
また、第２種別のストレージ装置１０３−１、２のそれぞれは、物理的なディスクでもよいし、論理的なディスクでもよい。論理的なディスクとして、例えば、第２種別のストレージ装置１０３−１、２のそれぞれは、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）により形成されたディスクでもよい。
【００１４】
ストレージシステム１００の運用中において、第２種別のストレージ装置１０３−１、２のファームウェアを更新することがある。例えば、第２種別のストレージ装置１０３−１、２の不具合が発見された場合に、第２種別のストレージ装置１０３−１、２の製造元が、不具合を解消したファームウェアを提供する。または、第２種別のストレージ装置１０３−１、２の製造元が、第２種別のストレージ装置１０３−１、２に新たな機能を追加したファームウェアを提供する場合もある。ストレージシステム１００の管理者は、第２種別のストレージ装置１０３−１、２に、提供されたファームウェアを適用することにより、第２種別のストレージ装置１０３−１、２のファームウェアを更新する。
【００１５】
ここで、第２種別のストレージ装置１０３−１、２のファームウェアとは、第２種別のストレージ装置１０３−１、２を制御するソフトウェアである。例えば、第２種別のストレージ装置１０３−１、２のファームウェアは、第２種別のストレージ装置１０３−１、２のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）上で動作するＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）である。また、例えば、第２種別のストレージ装置１０３−１、２が、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）で制御されるものであれば、第２種別のストレージ装置１０３−１、２のファームウェアは、ＰＬＤの論理回路を決定する回路情報でもよい。
【００１６】
ここで、第２種別のストレージ装置１０３−１、２のファームウェアを更新する間に、第１種別のストレージ装置１０２へのアクセス性能が低下することがある。例えば、第２種別のストレージ装置１０３−１、２のファームウェアを共に更新すると、第２種別のストレージ装置１０３−１、２をアンマウントすることになり、第２種別のストレージ装置１０３−１、２をキャッシュとして動作させることができなくなる。
【００１７】
また、第２種別のストレージ装置１０３−１のファームウェアを更新する際には、第２種別のストレージ装置１０３−１をアンマウントすることになり、第２種別のストレージ装置１０３−１をキャッシュとして動作させることができなくなる。この状態で、第１種別のストレージ装置１０２のデータであって、第２種別のストレージ装置１０３−１が一時的に記憶するデータに対するアクセス要求が発生する場合がある。この場合、第２種別のストレージ装置１０３−１にアクセスすることができないため、第１種別のストレージ装置１０２のデータがキャッシュされず、アクセス性能が低下することになる。
【００１８】
そこで、ストレージ制御装置１０１は、ストレージ装置１０２のキャッシュとなる複数ディスクのファーム適用を、先に適用するグループとアクセス用のグループとに分類し、並列して処理する。これにより、ストレージ制御装置１０１は、ファーム適用中のストレージシステム１００のアクセス性能の低下を抑えることができる。
【００１９】
ここで、説明の簡略化のため、以下、ファームウェアを、単に「ファーム」と呼称する場合がある。また、ファームの更新を、単に、「ファームを適用」または「ファーム適用」と呼称する場合がある。また、ファーム適用中の前半部を、以下、単に、「前半部」と呼称する。同様に、ファーム適用中の後半部を、単に、「後半部」と呼称する。
【００２０】
図１を用いて、ストレージ制御装置１０１の動作を詳細に説明する。図１の（ａ）では、ファーム適用前の状態を示す。第１種別のストレージ装置１０２は、データ１＿１、１＿２、２＿１、２＿２を記憶する。ここで、データ１＿１、１＿２は、第２種別のストレージ装置１０３−１に対応付けられており、図１の（ａ）の状態では、第２種別のストレージ装置１０３−１は、データ１＿１を記憶する。また、データ２＿１、２＿２は、第２種別のストレージ装置１０３−２に対応付けられており、図１の（ａ）の状態では、第２種別のストレージ装置１０３−２は、データ２＿１を記憶する。具体的な対応付けの方法としては、ストレージ制御装置１０１は、第２種別のストレージ装置１０３−１、２と、第１種別のストレージ装置１０２が記憶するデータの各々を特定する情報とを対応付けて記憶する記憶部にアクセス可能である。ここで、第１種別のストレージ装置１０２が記憶するデータの各々を特定する情報は、データの各々の名称やファイルパス等である。
【００２１】
図１の（ａ）について、ストレージ制御装置１０１は、第２種別のストレージ装置１０３−１、２を、第１グループ１１０−１と、第２グループ１１０−２とに分類する。ここで、第１グループ１１０−１と、第２グループ１１０−２とに分類する際には、空となるグループがなければどのように分類してもよい。より具体的なグループの分類方法については、図１５で説明する。図１の（ａ）では、ストレージ制御装置１０１は、第２種別のストレージ装置１０３−１を第１グループ１１０−１に分類するとともに、第２種別のストレージ装置１０３−２を第２グループ１１０−２に分類する。
【００２２】
次に、図１の（ｂ）では、前半部として、第１グループ１１０−１に属する第２種別のストレージ装置１０３−１がファーム１０５を適用中であるとする。このとき、ストレージ制御装置１０１は、第２グループ１１０−２に属する第２種別のストレージ装置１０３−２を用いて第１種別のストレージ装置１０２にアクセスする。ここで、アクセスの契機は、例えば、ホスト装置１０４からのアクセス要求である。または、アクセスの契機は、例えば、第２種別のストレージ装置１０３−１、２のいずれかが一時的に記憶するデータのキャッシュ元となるデータを、第１種別のストレージ装置１０２内部で移動させる処理の発生によってもよい。
【００２３】
図１の（ｂ）の例では、第２種別のストレージ装置１０３−１をファーム適用する間に、ホスト装置１０４が、データ１＿１に対するアクセス要求１０６をストレージ制御装置１０１に発行したとする。この場合、ストレージ制御装置１０１は、第２種別のストレージ装置１０３−２を用いて第１種別のストレージ装置１０２にアクセスする。より具体的には、ストレージ制御装置１０１は、データ１＿１を第２種別のストレージ装置１０３−２に記憶させて、データ１＿１に対するアクセス要求１０６を処理する。次に、ストレージシステム１００を、仮想テープライブラリシステム２００に適用した例を、図２を用いて説明する。
【００２４】
図２は、仮想テープライブラリシステム２００の構成例を示す説明図である。仮想テープライブラリシステム２００は、仮想的なテープライブラリのサービスを提供するシステムである。仮想テープライブラリシステム２００は、階層制御サーバ２０１と、ディスクアレイ装置２０２と、テープライブラリ装置２０３とを有する。また、仮想テープライブラリシステム２００は、仮想テープライブラリシステム２００を利用する装置としてホスト装置２１１と接続する。
【００２５】
ここで、階層制御サーバ２０１は、図１に示したストレージ制御装置１０１に相当する。また、ディスクアレイ装置２０２は、図１に示した第２種別の複数のストレージ装置１０３−１、２に相当する。また、テープライブラリ装置２０３は、図１に示した第１種別のストレージ装置１０２に相当する。また、ホスト装置２１１は、図１に示したホスト装置１０４に相当する。
【００２６】
仮想テープライブラリシステム２００は、ホスト装置２１１に対して、テープライブラリとしてふるまう。テープライブラリ装置２０３は、ロボット２２１と、テープドライブ２２２と、ＰＶ（Ｐｈｙｓｉｃａｌ  Ｖｏｌｕｍｅ）２２３とを有する。
【００２７】
階層制御サーバ２０１は、仮想テープライブラリシステム２００全体を制御する装置である。具体的には、階層制御サーバ２０１は、ホスト装置２１１からの読込要求や書込要求に対して、ディスクアレイ装置２０２を利用してデータの読込や書込を行う。より具体的には、ホスト装置２１１から書込要求があった場合、ディスクアレイ装置２０２に書き込み、ホスト装置２１１に応答を通知する。このように、仮想テープライブラリシステム２００は、実際のテープライブラリを使用するよりも高速に処理を行うことが可能である。そして、階層制御サーバ２０１は、ホスト装置２１１を介さずにバックグラウンドでディスクアレイ装置２０２に書き込まれたデータをテープライブラリ装置２０３へ保存する。ディスクアレイ装置２０２に書き込まれたデータをテープライブラリ装置２０３へ保存する処理のことを、「マイグレーション処理」と呼称する。ここで、マイグレーション処理として、階層制御サーバ２０１は、上書きされたデータを書き込む際には、ＰＶ内の古いデータが書き込まれた領域を無効とし、現在使用中の領域の次の領域に上書きされたデータを保存する。
【００２８】
ディスクアレイ装置２０２は、テープライブラリ装置２０３に対するキャッシュであり、テープボリュームキャッシュ（ＴＶＣ：Ｔａｐｅ  Ｖｏｌｕｍｅ  Ｃａｃｈｅ）とも呼ばれる。ディスクアレイ装置２０２に書き込まれたデータを、論理ボリューム（ＬＶ：Ｌｏｇｉｃａｌ  Ｖｏｌｕｍｅ）と呼称する。階層制御サーバ２０１は、ディスクアレイ装置２０２に書き込まれたＬＶによって容量が圧迫されるのを防ぐために、頻繁にＬＶの更新がなく、マイグレーション処理済のＬＶをディスクアレイ装置２０２から消去する。
【００２９】
ホスト装置２１１からの読込要求や書込要求に対して、対象となるデータがディスクアレイ装置２０２に存在する場合、階層制御サーバ２０１は、ディスクアレイ装置２０２から読み込みまたは書き込んで、ホスト装置２１１に応答を返す。ホスト装置２１１からの読込要求や書込要求に対するデータがディスクアレイ装置２０２に存在することを、「オンキャッシュ」と呼称する。
【００３０】
一方、ホスト装置２１１からの読込要求や書込要求に対して、対象となるデータがディスクアレイ装置２０２に存在しない場合、階層制御サーバ２０１は、ロボット２２１を制御して、対象のデータを格納するＰＶ２２３をテープドライブ２２２に挿入する。そして、階層制御サーバ２０１は、マイグレーション処理済のＰＶ２２３をテープドライブ２２２から読込、ディスクアレイ装置２０２にデータを移した後、ホスト装置２１１に応答を返す。ホスト装置２１１からの読込要求や書込要求に対するデータがディスクアレイ装置２０２に存在しないことを、「オフキャッシュ」と呼称する。また、ＰＶ２２３からＬＶへ読み出す処理のことを、「リコール処理」と呼称する。次に、図３を用いて、階層制御サーバ２０１のハードウェア構成について説明する。
【００３１】
図３は、階層制御サーバ２０１のハードウェア構成例を示す説明図である。階層制御サーバ２０１は、プロセッサ３０１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０２と、内蔵ディスク３０３と、テープインタフェース３０４と、入力インタフェース３０５と、読取装置３０６と、ホストインタフェース３０７と、ディスクインタフェース３０８とを有する。プロセッサ３０１〜ディスクインタフェース３０８は、バス３０９で接続される。
【００３２】
プロセッサ３０１は、階層制御サーバ２０１全体を制御する。例えば、プロセッサ３０１は、ＣＰＵ、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＰＬＤ等がある。
【００３３】
ＲＡＭ３０２は、階層制御サーバ２０１の主記憶装置であり、プロセッサ３０１のワークエリアとして使用される揮発性メモリである。内蔵ディスク３０３は、階層制御サーバ２０１の２次記憶装置である。例えば、内蔵ディスク３０３には、ファームウェアプログラムおよび各種データが格納される。例えば、内蔵ディスク３０３は、ＳＳＤ、ＨＤＤなどの不揮発性記憶装置を採用することができる。
【００３４】
テープインタフェース３０４は、テープライブラリ装置２０３との間でデータを送受信する通信インタフェースである。入力インタフェース３０５は、入力装置３１０を接続するためのインタフェースである。例えば、各種の操作キーなどを有する入力装置３１０が接続可能である。
【００３５】
読取装置３０６は、可搬型記録媒体３１１を読み取るための装置である。読取装置３０６は、読み取ったデータを、プロセッサ３０１に送信する。プロセッサ３０１は、可搬型記録媒体３１１としては、光ディスク、光磁気ディスク、半導体メモリなどがある。
【００３６】
ホストインタフェース３０７は、ホスト装置２１１との間でデータを送受信する通信インタフェースである。ディスクインタフェース３０８は、ディスクアレイ装置２０２との間でデータを送受信する通信インタフェースである。
【００３７】
図４は、仮想テープライブラリシステム２００のファイルシステムを示す説明図である。ディスクアレイ装置２０２は、ＲＡＩＤグループごとに１つ以上のファイルシステムが作成されている。ここで、１つのＲＡＩＤグループが、図１に示した第２種別の複数のストレージ装置１０３の１つに相当する。ＲＡＩＤグループを形成することにより、ディスクアレイ装置２０２は、ＲＡＩＤグループを形成するディスクの一部からデータが読み出せなくなったとしても残りのディスクからデータを復元させることができるため、データの信頼性を向上させることができる。
【００３８】
ファイルシステムの構成例として、例えば、仮想テープライブラリシステム２００の構成データを格納するために作成されたＲＡＩＤグループＲＡＩＤ＃ＣＮＦにはファイルシステムが１個作成される。また、ホスト装置２１１のユーザのデータであるユーザデータを格納するために作成されたＲＡＩＤグループＲＡＩＤ＃ＤＡＴＡ−Ｍには、１ＲＡＩＤグループあたりファイルシステムがＮ＿Ｍ個作成される。ここで、Ｎ、Ｍは１以上の整数である。また、Ｎ＿１、Ｎ＿２、…Ｎ＿Ｍはそれぞれ独立した値であり、同じ値となる可能性もあるし、それぞれ異なる値となる可能性もある。階層制御サーバ２０１上には「ＤＡＴＡ−ＭＮ＿Ｍ」としてマウントされる。
【００３９】
ＤＡＴＡ−ＭＮ＿Ｍを、以下、「ユーザ領域」と呼称する場合がある。これに対し、ＲＡＩＤ＃ＣＮＦを、「管理領域」と呼称する場合がある。
【００４０】
ＲＡＩＤ＃ＣＮＦには、仮想テープライブラリシステム２００を管理するために、ＬＶ情報テーブル４０１と、ディスク情報テーブル４０２と、ＲＡＩＤグループ情報テーブル４０３と、ファイルシステム情報テーブル４０４とを含む。ＬＶ情報テーブル４０１の詳細については、図５で説明する。ディスク情報テーブル４０２の詳細については、図６で説明する。ＲＡＩＤグループ情報テーブル４０３の詳細については、図７で説明する。ファイルシステム情報テーブル４０４の詳細については、図８で説明する。
【００４１】
図５は、ＬＶ情報テーブル４０１の記憶内容の一例を示す説明図である。ＬＶ情報テーブル４０１は、ＬＶを管理するテーブルである。図５に示すＬＶ情報テーブル４０１は、レコード５０１−１〜７を記憶する。
【００４２】
ＬＶ情報テーブル４０１は、ＬＶ名と、所属先ファイルシステム名と、ＬＶ容量と、状態と、格納先ＰＶ名というフィールドを含む。ＬＶ名フィールドには、ＬＶ名が格納される。所属先ファイルシステム名フィールドには、ＬＶが属するファイルシステムの名称が格納される。ＬＶ容量フィールドには、ＬＶの記憶容量の値が格納される。状態フィールドには、ＬＶの状態が格納される。ＬＶの状態としては、具体的には、オンキャッシュ、オフキャッシュ、リコール処理中、マイグレーション処理中、リオーガニゼーション処理中、ホスト装置２１１から追記処理中、ホスト装置２１１への読込処理中等がある。
【００４３】
ここで、リオーガニゼーション処理とは、ＬＶからＰＶへのマイグレーション処理を何度も行うことで、仮想テープライブラリシステム２００内で使用不能となった領域を減らし、使用可能なＰＶの領域を増やすための処理である。場合によっては、リオーガニゼーション処理を行うことにより、ＰＶの使用数も増える場合がある。使用不能となった領域とは、マイグレーション処理を行う際のＰＶ内の古いデータが書き込まれた領域である。リオーガニゼーション処理は、実質、対象のＰＶに対してリコール処理を行い、行った結果書き込まれたＬＶから新たなＰＶへのマイグレーション処理となる。格納先ＰＶ名フィールドには、ＬＶが格納されているＰＶ名が格納される。
【００４４】
例えば、レコード５０１−１は、ＬＶ名「Ａ０００００」が、ファイルシステム「ＤＡＴＡ−１１」に属しており、容量が１００００００［Ｂｙｔｅ］であり、オンキャッシュであり、ＰＶ名が「ＴＶＸＱ００」であることを示す。
【００４５】
図６は、ディスク情報テーブル４０２の記憶内容の一例を示す説明図である。ディスク情報テーブル４０２は、ディスクアレイ装置２０２のディスクを管理するテーブルである。図６に示すディスク情報テーブル４０２は、レコード６０１−１〜７を記憶する。
【００４６】
ディスク情報テーブル４０２は、ディスク名と、ベンダ名と、ファーム版数と、所属先ＲＡＩＤグループ名というフィールドを含む。ディスク名フィールドには、ディスクの名称が格納される。ベンダ名フィールドには、ディスクを製造したベンダの名称が格納される。ファーム版数フィールドには、稼働中のディスクのファーム版数が格納される。所属先ＲＡＩＤグループ名フィールドには、ディスクが属するＲＡＩＤグループの名称が格納される。
【００４７】
例えば、レコード６０１−１は、ディスク名が「Ｄｉｓｋ＃００」であり、ベンダ名が「Ａ社」であり、ファーム版数が「ＡＡ０９」であり、所属先ＲＡＩＤグループ名が「ＲＡＩＤ＃ＣＮＦ」であることを示す。
【００４８】
図７は、ＲＡＩＤグループ情報テーブル４０３の記憶内容の一例を示す説明図である。ＲＡＩＤグループ情報テーブル４０３は、ディスクアレイ装置２０２のＲＡＩＤグループを管理するテーブルである。図７に示すＲＡＩＤグループ情報テーブル４０３は、レコード７０１−１〜３を記憶する。
【００４９】
ＲＡＩＤグループ情報テーブル４０３は、ＲＡＩＤグループ名と、ＲＡＩＤレベルと、所属ディスク数というフィールドを含む。ＲＡＩＤグループ名フィールドには、ＲＡＩＤグループの名称が格納される。ＲＡＩＤレベルフィールドには、ＲＡＩＤグループのＲＡＩＤレベルが格納される。所属ディスク数フィールドには、ＲＡＩＤグループに属するディスクの数が格納される。
【００５０】
例えば、レコード７０１−１は、ＲＡＩＤグループ名が「ＲＡＩＤ＃ＣＮＦ」であり、ＲＡＩＤレベルが１であり、所属ディスク数が２つであることを示す。
【００５１】
図８は、ファイルシステム情報テーブル４０４の記憶内容の一例を示す説明図である。ファイルシステム情報テーブル４０４は、ディスクアレイ装置２０２内のファイルシステムを管理するテーブルである。図８に示すファイルシステム情報テーブル４０４は、レコード８０１−１〜４を記憶する。
【００５２】
ファイルシステム情報テーブル４０４は、ファイルシステム名と、マウント状態と、所属ＲＡＩＤグループというフィールドを含む。ファイルシステム名フィールドには、ＬＶが属するファイルシステムの名称が格納される。マウント状態フィールドには、ファイルシステムが階層制御サーバ２０１上にマウントされているか否かを示す識別子が格納される。具体的には、マウント状態フィールドには、ファイルシステムがマウントされていることを示す「Ｍｏｕｎｔｅｄ」、または、ファイルシステムがマウントされていないことを示す「Ｕｎｍｏｕｎｔｅｄ」のいずれかが格納される。所属ＲＡＩＤグループフィールドには、ディスクが属するＲＡＩＤグループ名が格納される。
【００５３】
次に、図９〜図１１を用いて、本実施の形態においてＬＶに対して行う処理として、追記処理、読込処理、リオーガニゼーション処理の動作について説明する。
【００５４】
図９は、ＰＶへの追記処理時の動作例を示す説明図である。追記処理について、オンキャッシュかオフキャッシュかによって、仮想テープライブラリシステム２００の動作が異なる。そこで、図９の（ａ）を用いて、オンキャッシュにおけるＰＶへの追記処理について説明するとともに、図９の（ｂ）を用いて、オフキャッシュにおけるＰＶへの追記処理について説明する。
【００５５】
図９の（ａ）について、オンキャッシュである場合には、階層制御サーバ２０１は、ディスクアレイ装置２０２のＬＶ９０１へデータを書き込む。図９の（ａ）で、黒く塗りつぶした箇所が追記した部分である。そして、階層制御サーバ２０１は、ＬＶ９０１の全てに対してマイグレーション処理を行う。ここで、階層制御サーバ２０１は、マイグレーション処理実行前に、ＰＶに格納されていた、ＬＶ９０１の白い部分についてのデータを削除する。具体的には、階層制御サーバ２０１は、ＬＶ９０１の白い部分についてのデータが書き込まれた領域を無効とする。
【００５６】
図９の（ｂ）について、オフキャッシュである場合には、階層制御サーバ２０１は、リコール処理を行う。以降の処理については、階層制御サーバ２０１は、オンキャッシュである場合と同様の処理を行う。
【００５７】
図１０は、ホスト装置２１１からのＬＶへの読込処理時の動作例を示す説明図である。ＬＶへの読込処理について、オンキャッシュかオフキャッシュかによって、仮想テープライブラリシステム２００の動作が異なる。そこで、図１０の（ａ）を用いて、オンキャッシュにおけるＬＶへの読込処理について説明するとともに、図１０の（ｂ）を用いて、オフキャッシュにおけるＬＶへの読込処理について説明する。
【００５８】
図１０の（ａ）について、オンキャッシュである場合には、階層制御サーバ２０１は、ホスト装置２１１からの読込要求に応じたデータをＬＶ１００１から読み出して、ホスト装置２１１に読み出したデータを返す。
【００５９】
図１０の（ｂ）について、オフキャッシュである場合には、階層制御サーバ２０１は、リコール処理を行う。以降の処理については、階層制御サーバ２０１は、オンキャッシュである場合と同様の処理を行う。
【００６０】
図１１は、リオーガニゼーション処理時の動作例を示す説明図である。リオーガニゼーション処理について、オンキャッシュかオフキャッシュかによって、仮想テープライブラリシステム２００の動作が異なる。そこで、図１１の（ａ）を用いて、オンキャッシュにおけるリオーガニゼーション処理について説明するとともに、図１１の（ｂ）を用いて、オフキャッシュにおけるリオーガニゼーション処理について説明する。
【００６１】
図１１の（ａ）について、オンキャッシュである場合には、階層制御サーバ２０１は、ＰＶ２２３＃Ａと同一のデータを有するＬＶ１１０１を、ＰＶ２２３＃Ｂにマイグレーション処理する。
【００６２】
図１１の（ｂ）について、オフキャッシュである場合には、階層制御サーバ２０１は、リコール処理を行う。以降の処理については、階層制御サーバ２０１は、オンキャッシュである場合と同様の処理を行う。
【００６３】
（階層制御サーバ２０１の機能構成例）
図１２は、階層制御サーバ２０１の機能構成例を示すブロック図である。階層制御サーバ２０１は、制御部１２００を含む。制御部１２００は、分類部１２０１と、実行部１２０２と、更新部１２０３と、を含む。制御部１２００は、記憶装置に記憶されたプログラムをプロセッサ３０１が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図３に示したＲＡＭ３０２、内蔵ディスク３０３などである。また、各部の処理結果は、プロセッサ３０１のレジスタや、プロセッサ３０１のキャッシュメモリ等に格納される。
【００６４】
また、階層制御サーバ２０１は、記憶部１２１０にアクセス可能である。記憶部１２１０は、図４で示した管理領域に相当する。また、記憶部１２１０は、ＲＡＭ３０２、内蔵ディスク３０３といった記憶装置に格納されていてもよい。記憶部１２１０は、複数のＲＡＩＤグループの各々のＲＡＩＤグループとテープライブラリ装置２０３が記憶するデータの各々、すなわちＰＶを特定する情報とを対応付けて記憶する。図５と図８とを用いて説明すると、各々のＲＡＩＤグループは、図８に示したファイルシステム情報テーブル４０４が示す通り、ファイルシステム名と対応付けられている。そして、ファイルシステム名は、図５に示したＬＶ情報テーブル４０１が示す通り、ＰＶ名と対応付けられている。従って、図５と図８とが示す通り、ＲＡＩＤグループとＰＶ名とが対応付けられている。
【００６５】
分類部１２０１は、複数のＲＡＩＤグループを、第１グループと第２グループとに分類する。以下の記載では、第１グループを「グループＡ」と呼称し、第２グループを「グループＢ」と呼称する。また、分類部１２０１は、複数のＲＡＩＤグループのうち、いずれのグループに所属しないグループがあってもよい。本実施の形態では、分類部１２０１は、ＲＡＩＤ＃ＣＮＦを、グループＡにもグループＢにも所属させず、ファーム適用外とする。
【００６６】
また、分類部１２０１は、複数のＲＡＩＤグループの各々のＲＡＩＤグループが記憶するデータに対する処理にかかる時間と、各々のＲＡＩＤグループのファーム適用にかかる時間とに基づいて、グループＡとグループＢとに分類してもよい。ここで、各々のＲＡＩＤグループが記憶するデータに対する処理は、オンキャッシュのＬＶに対する処理となる。また、分類部１２０１は、オンキャッシュのＬＶに対する処理にかかる時間について、開発者が予め指定しておいた時間をそのまま用いてもよいし、データに対する処理の種別に応じて開発者が予め指定しておいた時間を使い分けてもよい。また、分類部１２０１は、各々のＲＡＩＤグループのファーム適用にかかる時間についても、開発者が予め指定しておいた時間をそのまま用いてもよいし、開発者が予め指定しておいた時間に対して、ファームのデータサイズに応じて重みづけた値を用いてもよい。
【００６７】
例えば、ＲＡＩＤ＃ＤＡＴＡ−１〜３をグループ分けの対象とし、ＲＡＩＤ＃ＤＡＴＡ−１〜３について、オンキャッシュのＬＶに対する処理にかかる時間が、それぞれ、２０秒、１０秒、１０秒であったとする。そして、ＲＡＩＤ＃ＤＡＴＡ−１〜３のファーム適用にかかる時間が、全て２０秒であり、各ファーム適用は並列にできるものとする。この場合、分類部１２０１は、ファーム適用にかかる時間以上となるＲＡＩＤグループであるＲＡＩＤ＃ＤＡＴＡ−１をグループＢに分類し、残余となるＲＡＩＤ＃ＤＡＴＡ−２、３をグループＡに分類する。より具体的な分類方法については、図１５で説明する。
【００６８】
実行部１２０２は、グループＡに属するＲＡＩＤグループのファーム適用の間、すなわち、前半部では、グループＢに属するＲＡＩＤグループを用いてテープライブラリ装置２０３にアクセスする。
【００６９】
また、実行部１２０２は、前半部では、グループＢに属するＲＡＩＤグループが記憶するデータに対する処理を、グループＢに属するＲＡＩＤグループが記憶しないデータに対する処理より優先させて、先に実行してもよい。ここで、グループＢに属するＲＡＩＤグループが記憶しないデータに対する処理は、グループＢのオフキャッシュのＬＶに対する処理、または、グループＢ以外のＲＡＩＤグループに対応付けられたＬＶに対する処理となる。
【００７０】
また、実行部１２０２は、前半部では、グループＡに属するＲＡＩＤグループが記憶しないデータに対する処理を、グループＡに属するＲＡＩＤグループが記憶するデータに対する処理より優先させて、先に実行してもよい。ここで、グループＡに属するＲＡＩＤグループが記憶しないデータに対する処理は、グループＡのオフキャッシュのＬＶに対する処理、または、グループＡ以外のＲＡＩＤグループに対応付けられたＬＶに対する処理となる。
【００７１】
また、実行部１２０２は、前半部では、記憶部１２１０を参照して、グループＢに属するＲＡＩＤグループに対応付けられたデータに対する処理を、グループＡに属するＲＡＩＤグループに対応付けられたデータに対する処理より優先させて、先に実行してもよい。グループＢに属するＲＡＩＤグループに対応付けられたデータに対する処理は、グループＢのオンキャッシュのＬＶに対する処理、または、グループＢのオフキャッシュのＬＶに対する処理となる。同様に、グループＡに属するＲＡＩＤグループに対応付けられたデータに対する処理は、グループＡのオンキャッシュのＬＶに対する処理、または、グループＡのオフキャッシュのＬＶに対する処理となる。前半部におけるＬＶに対する処理の優先度を纏めたものを、図１３で示す。また、後半部におけるＬＶに対する処理の優先度を纏めたものを、図１４で示す。
【００７２】
また、グループＡに属するＲＡＩＤグループのファーム適用が完了したとする。この後、実行部１２０２は、グループＢに属するＲＡＩＤグループのファーム適用の間、すなわち、後半部では、グループＡに属するＲＡＩＤグループを用いてテープライブラリ装置２０３にアクセスする。
【００７３】
更新部１２０３は、前半部に、グループＡに属するＲＡＩＤグループに対応付けられたデータに対する処理を実行することに応じて、記憶部１２１０を更新する。更新の内容として、更新部１２０３は、グループＡに属するＲＡＩＤグループに対応付けられたデータをグループＢに属するＲＡＩＤグループに対応付けるように更新する。更新するタイミングは、グループＡに属するＲＡＩＤグループに対応付けられたデータに対する処理と同時でもよいし、前でも後でもよい。より具体的には、更新部１２０３は、ＬＶ情報テーブル４０１を更新する。具体的な更新の内容は、図２４と図２５とで説明する。
【００７４】
図１３は、前半部におけるＬＶ処理優先度の一例を示す説明図である。表１３００は、前半部においてＬＶに対する処理の優先度を示したものである。表１３００は、レコード１３０１−１〜４を有する。ここで、グループＡに属するＲＡＩＤグループは、ファーム適用を先行するＲＡＩＤグループであり、グループＢに属するＲＡＩＤグループは、ホスト装置２１１からのＩ／Ｏを先行するＲＡＩＤグループである。また、表１３００内の優先度は、数値が低い方が高い優先度であるとする。また、同じ優先度であれば、ＬＶに対する処理については、リクエストのあった時刻順に処理するものとする。
【００７５】
ここで、レコード１３０１−１〜４が示すように、グループＢに属するＬＶを、グループＡに属するＬＶより高優先に設定する理由を説明する。階層制御サーバ２０１は、前半部では、グループＡに対してファーム適用を行う。従って、階層制御サーバ２０１は、グループＢに属するＬＶに対する処理を、グループＡに属するＬＶに対する処理よりも優先させる。
【００７６】
次に、レコード１３０１−１、２が示すように、グループＢに属するオンキャッシュのＬＶを、グループＢに属するオフキャッシュのＬＶより高優先に設定する理由を説明する。グループＢに属するファイルシステムは、後半部ではアンマウントされる。アンマウントされると、グループＢに属するＬＶは読み出すことができなくなり、仮想テープライブラリシステム２００は、リコール処理を行うことになる。従って、階層制御サーバ２０１は、グループＢのＲＡＩＤグループに存在するオンキャッシュのＬＶを第１優先度として処理する。
【００７７】
また、レコード１３０１−３、４が示すように、グループＡに属するオンキャッシュのＬＶを、グループＡに属するオフキャッシュのＬＶより低優先に設定する理由を説明する。グループＡに属するファイルシステムは、前半部ではファーム適用中であるためファイルシステムがアンマウントされている。従って、前半部にグループＡに属するオンキャッシュのＬＶに対する処理を行おうとすると、仮想テープライブラリシステム２００は、オンキャッシュであっても、リコール処理を行うことになる。これに対し、後半部ではファイルシステムがマウントされているため、グループＡに属するオンキャッシュのＬＶに対する処理を行う際には、仮想テープライブラリシステム２００は、リコール処理を行わなくてよくなる。従って、階層制御サーバ２０１は、グループＡのＲＡＩＤグループに存在するオンキャッシュのＬＶを第４優先度、すなわち最低の優先度として処理する。
【００７８】
図１４は、後半部におけるＬＶ処理優先度の一例を示す説明図である。表１４００は、後半部においてＬＶに対する処理の優先度を示したものである。表１４００は、レコード１４０１−１〜４を有する。ここで、グループＡは、ファーム適用を先行するＲＡＩＤグループであり、グループＢは、Ｉ／Ｏを先行するＲＡＩＤグループである。また、表１４００内の優先度は、数値が低い方が高い優先度であるとする。また、同じ優先度であれば、ＬＶに対する処理については、リクエストのあった時間順に処理するものとする。
【００７９】
ここで、レコード１４０１−１〜４が示すように、グループＡに属するＬＶを、グループＢに属するＬＶより高優先に設定する理由を説明する。階層制御サーバ２０１は、後半部では、グループＡのファーム適用が完了したため、グループＢに対してファーム適用を行う。従って、階層制御サーバ２０１は、グループＢに属するＬＶに対する処理よりも、グループＡに属するＬＶに対する処理を優先させる。そして、階層制御サーバ２０１は、グループＡのＲＡＩＤグループに存在するオンキャッシュのＬＶを第１優先度として処理する。
【００８０】
また、レコード１４０１−３、４が示すように、グループＢに属するオンキャッシュのＬＶを、グループＢに属するオフキャッシュのＬＶより低優先に設定する理由を説明する。グループＢに属するファイルシステムは、後半部ではファーム適用中であるためファイルシステムがアンマウントされている。従って、後半部にグループＢに属するオンキャッシュのＬＶに対する処理を行おうとすると、仮想テープライブラリシステム２００は、オンキャッシュであっても、リコール処理を行うことになる。これに対し、ファーム適用完了後には、後半部ではファイルシステムがマウントされているため、グループＢに属するオンキャッシュのＬＶに対する処理を行う際には、仮想テープライブラリシステム２００は、リコール処理を行わなくてよくなる。従って、階層制御サーバ２０１は、グループＢのＲＡＩＤグループに存在するオンキャッシュのＬＶを第４優先度、すなわち最低の優先度として処理する。
【００８１】
図１５は、グループの分類方法の一例を示す説明図である。図１５では、グループＡとグループＢとの分類方法について説明する。初期状態では、グループＡ、グループＢともに空の状態である。まず、階層制御サーバ２０１は、ホスト装置からの追記処理および読込処理、リオーガニゼーション処理、リコール処理対象となるＬＶを抽出する。
【００８２】
次に、階層制御サーバ２０１は、抽出したＬＶを対象に、属するＲＡＩＤグループＬＶｒｄごとのオンキャッシュのＬＶの合計処理時間ＬＶｔｍを算出する。具体的な算出方法として、階層制御サーバ２０１は、例えば、あるＬＶｒｄに属するオンキャッシュのＬＶの個数を求め、求めた個数に、各処理で平均的にかかる時間を乗じた時間を、あるＬＶｒｄの合計処理時間ＬＶｔｍとしてもよい。平均的にかかる時間が、追記処理や読込処理などで大きく異なる場合には、階層制御サーバ２０１は、処理の種別ごとに平均的にかかる時間を用意しておく。そして、階層制御サーバ２０１は、各処理の種別ごとの各オンキャッシュのＬＶの個数に各処理の種別ごとの平均的にかかる時間をかけた時間の合計を、あるＬＶｒｄの合計処理時間ＬＶｔｍとしてもよい。図１５の（ａ）で示す表１５０１は、ＲＡＩＤグループＬＶｒｄごとのオンキャッシュＬＶ処理時間の一例を示す。
【００８３】
次に、階層制御サーバ２０１は、ＬＶｒｄごとのＬＶｔｍを、ＬＶｓｔｍ＿１、…、ＬＶｓｔｍ＿ｎ、…、ＬＶｓｔｍ＿Ｎに降順に代入する。Ｎは、ＲＡＩＤグループの個数である。図１５の（ａ）で示す表１５０１の例では、階層制御サーバ２０１は、図１５の（ｂ）で示すように、レコード１５０１−３で示すＲＡＩＤ＃ＤＡＴＡ−３のオンキャッシュＬＶ処理時間を、ＬＶｓｔｍ＿１に代入する。同様に、階層制御サーバ２０１は、ＲＡＩＤ＃ＤＡＴＡ−４、１、２のオンキャッシュＬＶ処理時間を、それぞれ、ＬＶｓｔｍ＿２、ＬＶｓｔｍ＿３、ＬＶｓｔｍ＿４に代入する。
【００８４】
そして、階層制御サーバ２０１は、１ディスクあたりのファーム適用にかかる時間Ｔｆｗを超えるまで、降順に、オンキャッシュＬＶ処理時間を加えていくとともに、加えたオンキャッシュＬＶ処理時間に対応するＲＡＩＤグループをグループＢに分類する。Ｔｆｗは、仮想テープライブラリシステム２００の管理者が予め決定した値でもよいし、過去のファーム適用にかかった時間でもよい。さらに、Ｔｆｗについて、同一のＲＡＩＤグループ内でディスクが同一の種類であれば、Ｔｆｗと、ＲＡＩＤグループ全体のファーム適用時間は同一となる。
【００８５】
そして、階層制御サーバ２０１は、加えた合計時間がＴｆｗを超えた際、グループＢに分類していないＲＡＩＤグループをグループＡに分類する。図１５の例では、Ｔｆｗ＝１５とする。図１５の（ｂ）の例では、ＲＡＩＤ＃ＤＡＴＡ−３のオンキャッシュＬＶ処理時間が２０であるから、Ｔｆｗ＝１５を超えることになる。図１５の（ｂ）の例に対して、階層制御サーバ２０１がグループの分類を行った結果を、図１５の（ｃ）の表１５０２で示す。表１５０２のレコード１５０２−２が示すように、階層制御サーバ２０１は、グループＢに属するＲＡＩＤグループをＲＡＩＤ＃ＤＡＴＡ−３とする。また、表１５０２のレコード１５０２−１が示すように、階層制御サーバ２０１は、グループＡに属するＲＡＩＤグループを、ＲＡＩＤ＃ＤＡＴＡ−１、２、４とする。
【００８６】
次に、図１６〜図２１を用いて、前半部と後半部とにおける、追記処理、読込処理、リオーガニゼーション処理時のそれぞれの動作例について説明する。図１６〜図２１で共通する前提として、ファーム適用を先行させるグループＡには、ＲＡＩＤ＃ＤＡＴＡ−１が所属しており、Ｉ／Ｏを先行させるグループＢには、ＲＡＩＤ＃ＤＡＴＡ−２が属する。
【００８７】
図１６は、前半部におけるホスト装置２１１からの追記処理時の動作例を示す説明図である。図１６の（ａ）では、前半部におけるホスト装置２１１からの追記処理時の動作例を示す。図１６の（ａ）が示すように、仮想テープライブラリシステム２００は、ＲＡＩＤ＃ＤＡＴＡ−１に対する追記処理、リコール処理、マイグレーション処理を行えず、ＲＡＩＤ＃ＤＡＴＡ−２に対する追記処理、リコール処理、マイグレーション処理を行える。
【００８８】
図１６の（ｂ）では、前半部における処理の可否をまとめた表１６００を示す。前半部では、仮想テープライブラリシステム２００は、ホスト装置２１１からＲＡＩＤ＃ＤＡＴＡ−１への追記処理、ＰＶ２２３からＲＡＩＤ＃ＤＡＴＡ−１へのリコール処理、ＲＡＩＤ＃ＤＡＴＡ−１からＰＶ２２３へのマイグレーション処理を行えない。一方で、前半部では、仮想テープライブラリシステム２００は、ホスト装置２１１からＲＡＩＤ＃ＤＡＴＡ−２への追記処理、ＰＶ２２３からＲＡＩＤ＃ＤＡＴＡ−２へのリコール処理、ＲＡＩＤ＃ＤＡＴＡ−２からＰＶ２２３へのマイグレーション処理を行える。従って、仮想テープライブラリシステム２００は、ファーム適用中のＲＡＩＤ＃ＤＡＴＡ−１のＬＶに関する処理について、ＲＡＩＤ＃ＤＡＴＡ−２を経由して行う。
【００８９】
図１７は、後半部におけるホスト装置２１１からの追記処理時の動作例を示す説明図である。図１７の（ａ）では、後半部におけるホスト装置２１１からの追記処理時の動作例を示す。図１７の（ａ）が示すように、仮想テープライブラリシステム２００は、ＲＡＩＤ＃ＤＡＴＡ−２に対する追記処理、リコール処理、マイグレーション処理を行えず、ＲＡＩＤ＃ＤＡＴＡ−１に対する追記処理、リコール処理、マイグレーション処理を行える。
【００９０】
図１７の（ｂ）では、後半部における処理の可否をまとめた表１７００を示す。後半部では、仮想テープライブラリシステム２００は、ホスト装置２１１からＲＡＩＤ＃ＤＡＴＡ−２への追記処理、ＰＶ２２３からＲＡＩＤ＃ＤＡＴＡ−２へのリコール処理、ＲＡＩＤ＃ＤＡＴＡ−２からＰＶ２２３へのマイグレーション処理を行えない。一方で、後半部では、仮想テープライブラリシステム２００は、ホスト装置２１１からＲＡＩＤ＃ＤＡＴＡ−１への追記処理、ＰＶ２２３からＲＡＩＤ＃ＤＡＴＡ−１へのリコール処理、ＲＡＩＤ＃ＤＡＴＡ−１からＰＶ２２３へのマイグレーション処理を行える。従って、仮想テープライブラリシステム２００は、ファーム適用中のＲＡＩＤ＃ＤＡＴＡ−２のＬＶに関する処理について、ＲＡＩＤ＃ＤＡＴＡ−１を経由して行う。
【００９１】
図１８は、前半部におけるホスト装置２１１への読込処理時の動作例を示す説明図である。図１８の（ａ）では、前半部におけるホスト装置２１１への読込処理時の動作例を示す。図１８の（ａ）が示すように、仮想テープライブラリシステム２００は、ＲＡＩＤ＃ＤＡＴＡ−１に対する読込処理、リコール処理を行えず、ＲＡＩＤ＃ＤＡＴＡ−２に対する読込処理、リコール処理を行える。
【００９２】
図１８の（ｂ）では、前半部における処理の可否をまとめた表１８００を示す。前半部では、仮想テープライブラリシステム２００は、ＲＡＩＤ＃ＤＡＴＡ−１からホスト装置２１１への読込処理、ＰＶ２２３からＲＡＩＤ＃ＤＡＴＡ−１へのリコール処理を行えない。一方で、前半部では、仮想テープライブラリシステム２００は、ＲＡＩＤ＃ＤＡＴＡ−２からホスト装置２１１への読込処理と、ＰＶ２２３からＲＡＩＤ＃ＤＡＴＡ−２へのリコール処理とを行える。従って、仮想テープライブラリシステム２００は、ファーム適用中のＲＡＩＤ＃ＤＡＴＡ−１のＬＶに関する処理について、ＲＡＩＤ＃ＤＡＴＡ−２を経由して行う。
【００９３】
図１９は、後半部におけるホスト装置２１１への読込処理時の動作例を示す説明図である。図１９の（ａ）では、後半部におけるホスト装置２１１への読込処理時の動作例を示す。図１９の（ａ）が示すように、仮想テープライブラリシステム２００は、ＲＡＩＤ＃ＤＡＴＡ−２に対する読込処理、リコール処理を行えず、ＲＡＩＤ＃ＤＡＴＡ−１に対する読込処理、リコール処理を行える。
【００９４】
図１９の（ｂ）では、後半部における処理の可否をまとめた表１９００を示す。後半部では、仮想テープライブラリシステム２００は、ＲＡＩＤ＃ＤＡＴＡ−２からホスト装置２１１への読込処理、ＰＶ２２３からＲＡＩＤ＃ＤＡＴＡ−２へのリコール処理を行うことができない。一方で、後半部では、仮想テープライブラリシステム２００は、ＲＡＩＤ＃ＤＡＴＡ−１からホスト装置２１１への読込処理、ＰＶ２２３からＲＡＩＤ＃ＤＡＴＡ−１へのリコール処理を行うことができる。従って、仮想テープライブラリシステム２００は、ファーム適用中のＲＡＩＤ＃ＤＡＴＡ−２のＬＶに関する処理について、ＲＡＩＤ＃ＤＡＴＡ−１を経由して行う。
【００９５】
図２０は、前半部におけるリオーガニゼーション処理時の動作例を示す説明図である。図２０の（ａ）では、前半部におけるリオーガニゼーション処理時の動作例を示す。ここで、図５で説明したように、リオーガニゼーション処理は、リコール処理とマイグレーション処理との組み合わせとなる。図２０の（ａ）が示すように、仮想テープライブラリシステム２００は、ＲＡＩＤ＃ＤＡＴＡ−１に対するリコール処理、マイグレーション処理を行えず、ＲＡＩＤ＃ＤＡＴＡ−２に対するリコール処理、マイグレーション処理を行える。
【００９６】
図２０の（ｂ）では、前半部における処理の可否をまとめた表２０００を示す。前半部では、仮想テープライブラリシステム２００は、ＰＶ２２３からＲＡＩＤ＃ＤＡＴＡ−１へのリコール処理、ＲＡＩＤ＃ＤＡＴＡ−１からＰＶ２２３へのマイグレーション処理を行えない。一方で、前半部では、仮想テープライブラリシステム２００は、ＰＶ２２３からＲＡＩＤ＃ＤＡＴＡ−２へのリコール処理、ＲＡＩＤ＃ＤＡＴＡ−２からＰＶ２２３へのマイグレーション処理を行える。従って、仮想テープライブラリシステム２００は、ファーム適用中のＲＡＩＤ＃ＤＡＴＡ−１のＬＶに関する処理について、ＲＡＩＤ＃ＤＡＴＡ−２を経由して行う。
【００９７】
図２１は、後半部におけるリオーガニゼーション処理時の動作例を示す説明図である。図２１の（ａ）では、後半部におけるリオーガニゼーション処理時の動作例を示す。図２１の（ａ）が示すように、仮想テープライブラリシステム２００は、ＲＡＩＤ＃ＤＡＴＡ−２に対するリコール処理、マイグレーション処理を行えず、ＲＡＩＤ＃ＤＡＴＡ−１に対するリコール処理、マイグレーション処理を行える。
【００９８】
図２１の（ｂ）では、後半部における処理の可否をまとめた表２１００を示す。後半部では、仮想テープライブラリシステム２００は、ＰＶ２２３からＲＡＩＤ＃ＤＡＴＡ−２へのリコール処理、ＲＡＩＤ＃ＤＡＴＡ−２からＰＶ２２３へのマイグレーション処理を行えない。一方で、後半部では、仮想テープライブラリシステム２００は、ＰＶ２２３からＲＡＩＤ＃ＤＡＴＡ−１へのリコール処理、ＲＡＩＤ＃ＤＡＴＡ−１からＰＶ２２３へのマイグレーション処理を行える。従って、仮想テープライブラリシステム２００は、ファーム適用中のＲＡＩＤ＃ＤＡＴＡ−２のＬＶに関する処理について、ＲＡＩＤ＃ＤＡＴＡ−１を経由して行う。
【００９９】
次に、図２２〜図２５を用いて、優先度１〜４それぞれのＬＶに対するＬＶ情報テーブル４０１の更新例について説明する。ここで、図２２〜図２５において、追記処理の対象となるＬＶ名を、それぞれ、ＡＰＷＲ０１〜０４とする。また、読込処理の対象となるＬＶ名を、それぞれ、ＲＥＡＤ０１〜０４とする。また、リオーガニゼーション処理の対象となるＬＶ名を、それぞれ、ＲＥＯＧ０１〜０４とする。また、図２２〜図２７において、ハッチが付与された項目が、更新された項目であることを示す。
【０１００】
図２２は、優先度１のＬＶ処理に対するＬＶ情報テーブル４０１の記憶内容の更新例を示す説明図である。図２２に示すＬＶ情報テーブル４０１は、レコード２２０１−１〜３を記憶する。レコード２２０１−１〜３が示すＬＶは、表１３００のレコード１３０１−１、または表１４００のレコード１４０１−１に対応するものであり、全て優先度１である。優先度１のＬＶであるため、ファイルシステム「ＤＡＴＡ−２１」は、マウントしており、Ｉ／Ｏが可能である。そして、図２２の（ａ）に示すＬＶ情報テーブル４０１は、レコード２２０１−１〜３が示すＬＶに対する処理を行う前の状態を示す。優先度１のＬＶであるため、ＬＶの状態は、全て「オンキャッシュ」となる。
【０１０１】
図２２の（ｂ）では、レコード２２０１−１〜３が示すＬＶに対する処理の１段階目の状態を示す。図２２の（ｂ）のレコード２２０１−１が示すように、ＬＶ名「ＡＰＷＲ０１」について、階層制御サーバ２０１は、追記処理により、ＬＶ容量が７５００００［Ｂｙｔｅ］となり、状態を「オンキャッシュ」から「追記処理中」に更新する。
【０１０２】
また、図２２の（ｂ）のレコード２２０１−２が示すように、ＬＶ名「ＲＥＡＤ０１」について、階層制御サーバ２０１は、読込処理により、状態を「オンキャッシュ」から「読込処理中」に更新する。
【０１０３】
また、図２２の（ｂ）のレコード２２０１−３が示すように、ＬＶ名「ＲＥＯＧ０１」について、階層制御サーバ２０１は、リオーガニゼーション処理により、格納先ＰＶが「ＴＶＸＱ００」から「ＴＶＸＱ０１」に変更する。また、図２２の（ｂ）のレコード２２０１−３が示すように、ＬＶ名「ＲＥＯＧ０１」について、階層制御サーバ２０１は、状態を「オンキャッシュ」から「リオーガニゼーション処理中」に更新する。
【０１０４】
次に、図２２の（ｃ）では、レコード２２０１−１〜３が示すＬＶに対する処理の２段階目の状態を示す。図２２の（ｃ）のレコード２２０１−１が示すように、ＬＶ名「ＡＰＷＲ０１」について、階層制御サーバ２０１は、追記処理により、ＬＶ容量が１００００００［Ｂｙｔｅ］となる。さらに、図２２の（ｃ）のレコード２２０１−１が示すように、ＬＶ名「ＡＰＷＲ０１」について、階層制御サーバ２０１は、追記処理後のマイグレーション処理により、状態を「追記処理中」から「マイグレーション処理中」に更新する。また、図２２の（ｃ）のレコード２２０１−２、３が示すように、ＬＶ名「ＲＥＡＤ０１」とＬＶ名「ＲＥＯＧ０１」について、階層制御サーバ２０１は、それぞれの処理が完了したため、状態を「オンキャッシュ」に更新する。
【０１０５】
次に、図２２の（ｄ）では、レコード２２０１−１〜３が示すＬＶに対する処理の全てが完了した状態を示す。図２２の（ｄ）のレコード２２０１−１が示すように、ＬＶ名「ＡＰＷＲ０１」について、階層制御サーバ２０１は、マイグレーション処理が完了したため、状態を「オンキャッシュ」に更新する。
【０１０６】
図２３は、優先度２のＬＶ処理に対するＬＶ情報テーブル４０１の記憶内容の更新例を示す説明図である。図２３に示すＬＶ情報テーブル４０１は、レコード２３０１−１〜３を記憶する。レコード２３０１−１〜３が示すＬＶは、表１３００のレコード１３０１−２、または表１４００のレコード１４０１−２に対応するものであり、全て優先度２である。優先度２のＬＶであるため、ファイルシステム「ＤＡＴＡ−２１」は、マウントしており、Ｉ／Ｏが可能である。そして、図２３の（ａ）に示すＬＶ情報テーブル４０１は、レコード２３０１−１〜３が示すＬＶに対する処理を行う前の状態を示す。優先度２のＬＶであるため、ＬＶの状態は、全て「オフキャッシュ」となる。
【０１０７】
図２３の（ｂ）では、レコード２３０１−１〜３が示すＬＶに対する処理の１段階目の状態を示す。図２３の（ｂ）のレコード２３０１−１〜３が示すように、全てのＬＶについて、オフキャッシュであるから、階層制御サーバ２０１は、リコール処理により、状態を「オフキャッシュ」から「リコール処理中」に更新する。
【０１０８】
リコール処理を行った後、階層制御サーバ２０１は、ＬＶの状態がオンキャッシュとなるため、優先度１のＬＶと同様の処理を行う。従って、図２３の（ｃ）〜図２３の（ｅ）は、図２２の（ｂ）〜図２２の（ｄ）と同一のものとなるので、説明を省略する。
【０１０９】
図２４は、優先度３のＬＶ処理に対するＬＶ情報テーブル４０１の記憶内容の更新例を示す説明図である。図２４に示すＬＶ情報テーブル４０１は、レコード２４０１−１〜３を記憶する。レコード２４０１−１〜３が示すＬＶは、表１３００のレコード１３０１−３、または表１４００のレコード１４０１−３に対応するものであり、全て優先度３である。優先度３のＬＶであるため、ファイルシステム「ＤＡＴＡ−１１」は、アンマウントしており、Ｉ／Ｏが不可能である。そして、図２４の（ａ）に示すＬＶ情報テーブル４０１は、レコード２４０１−１〜３が示すＬＶに対する処理を行う前の状態を示す。優先度３のＬＶであるため、ＬＶの状態は、全て「オフキャッシュ」となる。
【０１１０】
図２４の（ｂ）では、レコード２４０１−１〜３が示すＬＶに対する処理の１段階目の状態を示す。図２４の（ｂ）のレコード２４０１−１〜３が示すように、階層制御サーバ２０１は、全てのＬＶの所属先を、アンマウントされたファイルシステム「ＤＡＴＡ−１１」からマウント中のファイルシステム「ＤＡＴＡ−２１」に変更する。また、図２４の（ｂ）のレコード２４０１−１〜３が示すように、変更先のファイルシステム「ＤＡＴＡ−２１」にはＰＶに対応するデータはないため、階層制御サーバ２０１は、リコール処理により、状態を「リコール処理中」に更新する。
【０１１１】
リコール処理を行った後は、階層制御サーバ２０１は、ＬＶの所属先のファイルシステムがマウントされたファイルシステムとなり、ＬＶの状態がオンキャッシュとなるため、優先度１や優先度２のＬＶと同様の処理を行う。従って、図２４の（ｃ）〜図２４の（ｅ）は、図２２の（ｂ）〜図２２の（ｄ）と同一のものとなるので、説明を省略する。
【０１１２】
図２５は、優先度４のＬＶ処理に対するＬＶ情報テーブル４０１の記憶内容の更新例を示す説明図である。図２５に示すＬＶ情報テーブル４０１は、レコード２５０１−１〜３を記憶する。レコード２５０１−１〜３が示すＬＶは、表１３００のレコード１３０１−４、または表１４００のレコード１４０１−４に対応するものであり、全て優先度４である。優先度４のＬＶであるため、ファイルシステム「ＤＡＴＡ−２１」は、アンマウントしており、Ｉ／Ｏが不可能である。そして、図２５の（ａ）に示すＬＶ情報テーブル４０１は、レコード２５０１−１〜３が示すＬＶに対する処理を行う前の状態を示す。優先度４のＬＶであるため、ＬＶの状態は、全て「オンキャッシュ」となる。
【０１１３】
図２５の（ｂ）では、レコード２５０１−１〜３が示すＬＶに対する処理の１段階目の状態を示す。状態がオンキャッシュであったとしても、階層制御サーバ２０１は、アンマウントされたファイルシステムに対してはアクセスできない。そこで、図２５の（ｂ）のレコード２５０１−１〜３が示すように、階層制御サーバ２０１は、全てのＬＶの所属先を、アンマウントされたファイルシステム「ＤＡＴＡ−２１」からマウント中のファイルシステム「ＤＡＴＡ−１１」に変更する。そして、図２５の（ｂ）のレコード２５０１−１〜３が示すように、変更先のファイルシステム「ＤＡＴＡ−１１」にはＰＶに対応するデータはないため、階層制御サーバ２０１は、リコール処理により、状態を「リコール処理中」に更新する。
【０１１４】
リコール処理を行った後は、階層制御サーバ２０１は、ＬＶの所属先のファイルシステムがマウントされたファイルシステムとなり、ＬＶの状態がオンキャッシュとなるため、優先度１〜３のＬＶと同様の処理を行う。従って、図２５の（ｃ）〜図２５の（ｅ）は、図２２の（ｂ）〜図２２の（ｄ）と同一のものとなるので、説明を省略する。
【０１１５】
次に、図２６、図２７を用いて、ファーム適用前後におけるファイルシステム情報テーブル４０４と、ディスク情報テーブル４０２との記憶内容の更新例を説明する。
【０１１６】
図２６は、ファーム適用前後におけるファイルシステム情報テーブル４０４の記憶内容の更新例を示す説明図である。図２６に示すファイルシステム情報テーブル４０４は、レコード２６０１−１〜５を記憶する。ここで、図２６において、ファーム適用を先行するＲＡＩＤグループであるグループＡには、ＲＡＩＤ＃ＤＡＴＡ−１が所属しており、Ｉ／Ｏを先行するＲＡＩＤグループであるグループＢには、ＲＡＩＤ＃ＤＡＴＡ−２が属するものとする。図２６の（ａ）に示すファイルシステム情報テーブル４０４は、ファーム適用前の状態を示す。
【０１１７】
図２６の（ｂ）では、前半部の途中における状態を示す。図２６の（ｂ）のレコード２６０１−２、３が示すように、階層制御サーバ２０１は、グループＡに属するＲＡＩＤ＃ＤＡＴＡ−１のファイルシステム「ＤＡＴＡ−１１」と、「ＤＡＴＡ−１２」とをアンマウントする。図２６の（ｃ）では、前半部の完了時点の状態を示す。図２６の（ｃ）のレコード２６０１−２、３が示すように、階層制御サーバ２０１は、グループＡに属するＲＡＩＤ＃ＤＡＴＡ−１のファイルシステム「ＤＡＴＡ−１１」と、「ＤＡＴＡ−１２」をマウントする。
【０１１８】
図２６の（ｄ）では、後半部の途中における状態を示す。図２６の（ｄ）のレコード２６０１−４、５が示すように、階層制御サーバ２０１は、グループＢに属するＲＡＩＤ＃ＤＡＴＡ−２のファイルシステム「ＤＡＴＡ−２１」と、「ＤＡＴＡ−２２」をアンマウントする。図２６の（ｅ）では、後半部の完了時点の状態を示す。図２６の（ｅ）のレコード２６０１−４、５が示すように、階層制御サーバ２０１は、グループＢに属するＲＡＩＤ＃ＤＡＴＡ−２のファイルシステム「ＤＡＴＡ−２１」と、「ＤＡＴＡ−２２」とをマウントする。
【０１１９】
図２７は、ファーム適用前後におけるディスク情報テーブル４０２の記憶内容の更新例を示す説明図である。図２７に示すディスク情報テーブル４０２は、レコード２７０１−１〜７を記憶する。ここで、図２７において、ファーム適用対象のディスクをＤｉｓｋ＃２〜０６とする。また、適用するファーム版数をＦＡ９９とする。また、ファーム適用を先行するＲＡＩＤグループであるグループＡには、ＲＡＩＤ＃ＤＡＴＡ−１が所属しており、Ｉ／Ｏを先行するＲＡＩＤグループであるグループＢには、ＲＡＩＤ＃ＤＡＴＡ−２が属するものとする。図２７の（ａ）に示すディスク情報テーブル４０２は、ファーム適用前の状態を示す。
【０１２０】
図２７の（ｂ）では、前半部の完了時点の状態を示す。図２７の（ｂ）のレコード２７０１−３、４が示すように、階層制御サーバ２０１は、Ｄｉｓｋ＃０２、０３のファーム適用を完了する。次に、図２７の（ｃ）では、後半部の完了時点の状態を示す。図２７の（ｃ）のレコード２７０１−５〜７が示すように、階層制御サーバ２０１は、Ｄｉｓｋ＃０４〜０６のファーム適用を完了する。
【０１２１】
次に、階層制御サーバ２０１が行う処理を示すフローチャートを、図２８〜図４０を用いて説明する。
【０１２２】
図２８は、ＲＡＩＤグループ分類処理手順の一例を示すフローチャート（その１）である。また、図２９は、ＲＡＩＤグループ分類処理手順の一例を示すフローチャート（その２）である。ＲＡＩＤグループ分類処理は、複数のＲＡＩＤグループを、ファーム適用を先行するグループＡと、ホスト装置２１１からのＩ／Ｏを先行するグループＢとに分類する処理である。
【０１２３】
階層制御サーバ２０１は、ディスクに適用するファームについて、適用可能ベンダＮＶｅｎｄｏｒ、適用版数Ｎｖｅｒを指定する（ステップＳ２８０１）。次に、階層制御サーバ２０１は、ファーム適用対象ディスクの、開発ベンダＶｅｎｄｏｒ、稼働版数Ｖｅｒ、所属ＲＡＩＤグループＲｄＧｒを取得する（ステップＳ２８０２）。そして、階層制御サーバ２０１は、ＮｖｅｎｄｏｒをＶｅｎｄｏｒ、Ｎｖｅｒ≠Ｖｅｒ、ＲｄＧｒ≠ＲＡＩＤ＃ＣＮＦ、適用モード＝非活性を全て満たすユーザ領域のＲＡＩＤグループを抽出する（ステップＳ２８０３）。ここで、適用モードとは、階層制御サーバ２０１がディスクアレイ装置２０２に発行するコマンドのことである。そして、非活性というモードは、アンマウントして、Ｉ／Ｏを止めてファーム適用することを示す。一方、活性というモードは、マウントしたままＩ／Ｏを止めずにファーム適用することを示す。
【０１２４】
次に、階層制御サーバ２０１は、抽出したファーム適用対象のＲＡＩＤグループの数をＮに設定する（ステップＳ２８０４）。そして、階層制御サーバ２０１は、１ディスクあたりのファーム適用にかかる時間をＴｆｗに設定する（ステップＳ２８０５）。
【０１２５】
次に、階層制御サーバ２０１は、ホスト装置２１１からの追記処理および読込処理、リオーガニゼーション処理、リコール処理対象となるＬＶを抽出する（ステップＳ２９０１）。そして、階層制御サーバ２０１は、抽出した全てのＬＶを対象に、属するＲＡＩＤグループＬＶｒｄごとのオンキャッシュのＬＶの合計処理時間ＬＶｔｍを算出する（ステップＳ２９０２）。次に、階層制御サーバ２０１は、ＬＶｒｄごとのＬＶｔｍを、ＬＶｓｔｍ＿１、…、ＬＶｓｔｍ＿ｎ、…、ＬＶｓｔｍ＿Ｎに降順に代入する（ステップＳ２９０３）。そして、階層制御サーバ２０１は、ｋを１，ｔｍ＿ｓｕｍ＝０に設定する（ステップＳ２９０４）。
【０１２６】
次に、階層制御サーバ２０１は、ｋ番目に大きいＬＶｓｔｍ＿ｋを、ｔｍ＿ｓｕｍに加算する（ステップＳ２９０５）。そして、階層制御サーバ２０１は、ｋがＮ−２以下であり、かつｔｍ＿ｓｕｍがＴｆｗより小さいか否かを判断する（ステップＳ２９０６）。ｋがＮ−２以下であり、かつｔｍ＿ｓｕｍがＴｆｗより小さい場合（ステップＳ２９０６：Ｙｅｓ）、階層制御サーバ２０１は、ｋをインクリメントする（ステップＳ２９０７）。そして、階層制御サーバ２０１は、ステップＳ２９０５の処理に移行する。
【０１２７】
一方、ｋがＮ−２より大きい、またはｔｍ＿ｓｕｍがＴｆｗ以上である場合（ステップＳ２９０６：Ｎｏ）、階層制御サーバ２０１は、ＲＡＩＤグループ分類処理を終了する。ステップＳ２９０６：Ｎｏにより、階層制御サーバ２０１は、１〜ｋ番目のＲＡＩＤグループをグループＢに分類し、ｋ＋１〜Ｎ番目のＲＡＩＤグループをグループＡに分類することになる。ＲＡＩＤグループ分類処理を実行することにより、階層制御サーバ２０１は、複数のＲＡＩＤグループを、グループＡと、グループＢとに分類することができる。
【０１２８】
図３０は、ファーム適用処理手順の一例を示すフローチャート（その１）である。ファーム適用処理は、ＲＡＩＤグループにファーム適用する処理である。また、ファーム適用処理は、図２８と図２９とで示したＲＡＩＤグループ分類処理の後で行われる。
【０１２９】
階層制御サーバ２０１は、グループＡとして、ｋ＋１〜Ｎ番目のＲＡＩＤグループに属するファイルシステムを全てアンマウントする（ステップＳ３００１）。次に、階層制御サーバ２０１は、ｋ＋１〜Ｎ番目のＲＡＩＤグループへファーム適用開始する（ステップＳ３００２）。そして、階層制御サーバ２０１は、ｌに１を代入するとともに、ｆｌａｇに１を代入する（ステップＳ３００３）。
【０１３０】
次に、階層制御サーバ２０１は、ｋ＋１〜Ｎ番目のＲＡＩＤグループへのファーム適用が完了したか否かを判断する（ステップＳ３００４）。ｋ＋１〜Ｎ番目のＲＡＩＤグループへのファーム適用が完了していない場合（ステップＳ３００４：Ｎｏ）、階層制御サーバ２０１は、ｆｌａｇの値をチェックする（ステップＳ３００５）。
【０１３１】
ｆｌａｇの値が１である場合（ステップＳ３００５：１）、階層制御サーバ２０１は、前半部における優先度１のＬＶ処理を実行する（ステップＳ３００６）。前半部における優先度１のＬＶ処理については、図３１で説明する。また、ｆｌａｇの値が２である場合（ステップＳ３００５：２）、階層制御サーバ２０１は、前半部における優先度２のＬＶ処理を実行する（ステップＳ３００７）。前半部における優先度２のＬＶ処理については、図３２で説明する。
【０１３２】
また、ｆｌａｇの値が３である場合（ステップＳ３００５：３）、階層制御サーバ２０１は、前半部における優先度３のＬＶ処理を実行する（ステップＳ３００８）。前半部における優先度３のＬＶ処理については、図３３で説明する。また、ｆｌａｇの値が４である場合（ステップＳ３００５：４）、階層制御サーバ２０１は、前半部における優先度４のＬＶ処理を実行する（ステップＳ３００９）。前半部における優先度４のＬＶ処理については、図３４で説明する。
【０１３３】
ステップＳ３００６〜Ｓ３００９のうちのいずれかの処理終了後、または、ｆｌａｇの値が５である場合（ステップＳ３００５：５）、階層制御サーバ２０１は、ステップＳ３００４の処理に移行する。
【０１３４】
一方、ｋ＋１〜Ｎ番目のＲＡＩＤグループへのファーム適用が完了した場合（ステップＳ３００４：Ｙｅｓ）、階層制御サーバ２０１は、ｋ＋１〜Ｎ番目のＲＡＩＤグループに属するファイルシステムを全てマウントする（ステップＳ３０１０）。ステップＳ３０１０の処理実行後については、図３５で説明する。
【０１３５】
図３１は、前半部における優先度１のＬＶ処理手順の一例を示すフローチャートである。階層制御サーバ２０１は、ｌ番目のＲＡＩＤグループに属するオンキャッシュＬＶに対する処理を実行する（ステップＳ３１０１）。次に、階層制御サーバ２０１は、ｌがｋより小さいか否かを判断する（ステップＳ３１０２）。ｌがｋより小さい場合（ステップＳ３１０２：Ｙｅｓ）、階層制御サーバ２０１は、ｌに１を加える（ステップＳ３１０３）。一方、ｌがｋ以上である場合（ステップＳ３１０２：Ｎｏ）、階層制御サーバ２０１は、ｆｌａｇに２を代入するとともに、ｌに１を代入する（ステップＳ３１０４）。
【０１３６】
ステップＳ３１０３、またはＳ３１０４の処理終了後、階層制御サーバ２０１は、前半部における優先度１のＬＶ処理を終了する。前半部における優先度１のＬＶ処理を実行することにより、階層制御サーバ２０１は、グループＢに属する、すなわち、１〜ｋ番目のＲＡＩＤグループに属するオンキャッシュＬＶに対する処理を実行することができる。
【０１３７】
図３２は、前半部における優先度２のＬＶ処理手順の一例を示すフローチャートである。階層制御サーバ２０１は、ｌ番目のＲＡＩＤグループに属するオフキャッシュＬＶに対する処理を実行する（ステップＳ３２０１）。次に、階層制御サーバ２０１は、ｌがｋより小さいか否かを判断する（ステップＳ３２０２）。ｌがｋより小さい場合（ステップＳ３２０２：Ｙｅｓ）、階層制御サーバ２０１は、ｌに１を加える（ステップＳ３２０３）。一方、ｌがｋ以上である場合（ステップＳ３２０２：Ｎｏ）、階層制御サーバ２０１は、ｆｌａｇに３を代入するとともに、ｌに１を代入する（ステップＳ３２０４）。
【０１３８】
ステップＳ３２０３、またはＳ３２０４の処理終了後、階層制御サーバ２０１は、前半部における優先度２のＬＶ処理を終了する。前半部における優先度２のＬＶ処理を実行することにより、階層制御サーバ２０１は、グループＢに属する、すなわち、１〜ｋ番目のＲＡＩＤグループに属するオフキャッシュＬＶに対する処理を実行することができる。
【０１３９】
図３３は、前半部における優先度３のＬＶ処理手順の一例を示すフローチャートである。階層制御サーバ２０１は、ｋ＋ｌ番目のＲＡＩＤグループに属するオフキャッシュＬＶに対する処理を実行する（ステップＳ３３０１）。ステップＳ３３０１の処理について、階層制御サーバ２０１は、リコール処理のリコール先を、ファーム適用中でないＲＡＩＤグループのいずれかとする。
【０１４０】
次に、階層制御サーバ２０１は、ｌがＮ−ｋより小さいか否かを判断する（ステップＳ３３０２）。ｌがＮ−ｋより小さい場合（ステップＳ３３０２：Ｙｅｓ）、階層制御サーバ２０１は、ｌに１を加える（ステップＳ３３０３）。一方、ｌがＮ−ｋ以上である場合（ステップＳ３３０２：Ｎｏ）、階層制御サーバ２０１は、ｆｌａｇに４を代入するとともに、ｌに１を代入する（ステップＳ３３０４）。
【０１４１】
ステップＳ３３０３、またはＳ３３０４の処理終了後、階層制御サーバ２０１は、前半部における優先度３のＬＶ処理を終了する。前半部における優先度３のＬＶ処理を実行することにより、階層制御サーバ２０１は、グループＡに属する、すなわち、ｋ＋１〜Ｎ番目のＲＡＩＤグループに属するオフキャッシュＬＶに対する処理を実行することができる。
【０１４２】
図３４は、前半部における優先度４のＬＶ処理手順の一例を示すフローチャートである。階層制御サーバ２０１は、ｋ＋ｌ番目のＲＡＩＤグループに属するオンキャッシュＬＶに対する処理を実行する（ステップＳ３４０１）。ステップＳ３４０１の処理について、階層制御サーバ２０１は、リコール処理のリコール先を、ファーム適用中でないＲＡＩＤグループのいずれかとする。
【０１４３】
次に、階層制御サーバ２０１は、ｌがＮ−ｋより小さいか否かを判断する（ステップＳ３４０２）。ｌがＮ−ｋより小さい場合（ステップＳ３４０２：Ｙｅｓ）、階層制御サーバ２０１は、ｌに１を加える（ステップＳ３４０３）。一方、ｌがＮ−ｋ以上である場合（ステップＳ３４０２：Ｎｏ）、階層制御サーバ２０１は、ｆｌａｇに５を代入する（ステップＳ３４０４）。
【０１４４】
ステップＳ３４０３、またはＳ３４０４の処理終了後、階層制御サーバ２０１は、前半部における優先度４のＬＶ処理を終了する。前半部における優先度４のＬＶ処理を実行することにより、階層制御サーバ２０１は、グループＡに属する、すなわち、ｋ＋１〜Ｎ番目のＲＡＩＤグループに属するオンキャッシュＬＶに対する処理を実行することができる。
【０１４５】
図３５は、ファーム適用処理手順の一例を示すフローチャート（その２）である。階層制御サーバ２０１は、１〜ｋ番目のＲＡＩＤグループに属するファイルシステムを全てアンマウントする（ステップＳ３５０１）。次に、階層制御サーバ２０１は、１〜ｋ番目のＲＡＩＤグループへファーム適用開始する（ステップＳ３５０２）。そして、階層制御サーバ２０１は、ｌにｋ＋１を代入し、ｆｌａｇに１を代入する（ステップＳ３５０３）。
【０１４６】
次に、階層制御サーバ２０１は、１〜ｋ番目のＲＡＩＤグループへのファーム適用が完了したか否かを判断する（ステップＳ３５０４）。１〜ｋ番目のＲＡＩＤグループへのファーム適用が完了していない場合（ステップＳ３５０４：Ｎｏ）、階層制御サーバ２０１は、ｆｌａｇの値をチェックする（ステップＳ３５０５）。
【０１４７】
ｆｌａｇの値が１である場合（ステップＳ３５０５：１）、階層制御サーバ２０１は、後半部における優先度１のＬＶ処理を実行する（ステップＳ３５０６）。後半部における優先度１のＬＶ処理については、図３６で説明する。また、ｆｌａｇの値が２である場合（ステップＳ３５０５：２）、階層制御サーバ２０１は、後半部における優先度２のＬＶ処理を実行する（ステップＳ３５０７）。後半部における優先度２のＬＶ処理については、図３７で説明する。
【０１４８】
また、ｆｌａｇの値が３である場合（ステップＳ３５０５：３）、階層制御サーバ２０１は、後半部における優先度３のＬＶ処理を実行する（ステップＳ３５０８）。後半部における優先度３のＬＶ処理については、図３８で説明する。また、ｆｌａｇの値が４である場合（ステップＳ３５０５：４）、階層制御サーバ２０１は、後半部における優先度４のＬＶ処理を実行する（ステップＳ３５０９）。後半部における優先度４のＬＶ処理については、図３９で説明する。
【０１４９】
ステップＳ３５０６〜Ｓ３５０９のうちのいずれかの処理終了後、または、ｆｌａｇの値が５である場合（ステップＳ３５０５：５）、階層制御サーバ２０１は、ステップＳ３５０４の処理に移行する。
【０１５０】
一方、１〜ｋ番目のＲＡＩＤグループへのファーム適用が完了した場合（ステップＳ３５０４：Ｙｅｓ）、階層制御サーバ２０１は、１〜ｋ番目のＲＡＩＤグループに属するファイルシステムを全てマウントする（ステップＳ３５１０）。次に、階層制御サーバ２０１は、未処理のＬＶに対する処理を実行する（ステップＳ３５１１）。ステップＳ３５１１の処理終了後、階層制御サーバ２０１は、ファーム適用処理を終了する。ファーム適用処理を実行することにより、階層制御サーバ２０１は、１〜Ｎ番目のＲＡＩＤグループへのファーム適用を行うことができるとともに、ファーム適用を行っている間にもテープライブラリ装置２０３に対する処理を続行することができる。
【０１５１】
図３６は、後半部における優先度１のＬＶ処理手順の一例を示すフローチャートである。階層制御サーバ２０１は、ｌ番目のＲＡＩＤグループに属するオンキャッシュＬＶに対する処理を実行する（ステップＳ３６０１）。次に、階層制御サーバ２０１は、ｌがＮより小さいか否かを判断する（ステップＳ３６０２）。ｌがＮより小さい場合（ステップＳ３６０２：Ｙｅｓ）、階層制御サーバ２０１は、ｌに１を加える（ステップＳ３６０３）。一方、ｌがＮ以上である場合（ステップＳ３６０２：Ｎｏ）、階層制御サーバ２０１は、ｆｌａｇに２を代入するとともに、ｌにｋ＋１を代入する（ステップＳ３６０４）。
【０１５２】
ステップＳ３６０３、またはＳ３６０４の処理終了後、階層制御サーバ２０１は、後半部における優先度１のＬＶ処理を終了する。後半部における優先度１のＬＶ処理を実行することにより、階層制御サーバ２０１は、グループＡに属する、すなわち、ｋ＋１〜Ｎ番目のＲＡＩＤグループに属するオンキャッシュＬＶに対する処理を実行することができる。
【０１５３】
図３７は、後半部における優先度２のＬＶ処理手順の一例を示すフローチャートである。階層制御サーバ２０１は、ｌ番目のＲＡＩＤグループに属するオフキャッシュＬＶに対する処理を実行する（ステップＳ３７０１）。次に、階層制御サーバ２０１は、ｌがＮより小さいか否かを判断する（ステップＳ３７０２）。ｌがＮより小さい場合（ステップＳ３７０２：Ｙｅｓ）、階層制御サーバ２０１は、ｌに１を加える（ステップＳ３７０３）。一方、ｌがＮ以上である場合（ステップＳ３７０２：Ｎｏ）、階層制御サーバ２０１は、ｆｌａｇに３を代入するとともに、ｌに１を代入する（ステップＳ３７０４）。
【０１５４】
ステップＳ３７０３、またはＳ３７０４の処理終了後、階層制御サーバ２０１は、後半部における優先度２のＬＶ処理を終了する。後半部における優先度２のＬＶ処理を実行することにより、階層制御サーバ２０１は、グループＡに属する、すなわち、ｋ＋１〜Ｎ番目のＲＡＩＤグループに属するオフキャッシュＬＶに対する処理を実行することができる。
【０１５５】
図３８は、後半部における優先度３のＬＶ処理手順の一例を示すフローチャートである。階層制御サーバ２０１は、ｌ番目のＲＡＩＤグループに属するオフキャッシュＬＶに対する処理を実行する（ステップＳ３８０１）。ステップＳ３８０１の処理について、階層制御サーバ２０１は、リコール処理のリコール先を、ファーム適用中でないＲＡＩＤグループのいずれかとする。
【０１５６】
次に、階層制御サーバ２０１は、ｌがｋより小さいか否かを判断する（ステップＳ３８０２）。ｌがｋより小さい場合（ステップＳ３８０２：Ｙｅｓ）、階層制御サーバ２０１は、ｌに１を加える（ステップＳ３８０３）。一方、ｌがｋ以上である場合（ステップＳ３８０２：Ｎｏ）、階層制御サーバ２０１は、ｆｌａｇに４を代入するとともに、ｌに１を代入する（ステップＳ３８０４）。
【０１５７】
ステップＳ３８０３、またはＳ３８０４の処理終了後、階層制御サーバ２０１は、後半部における優先度３のＬＶ処理を終了する。後半部における優先度３のＬＶ処理を実行することにより、階層制御サーバ２０１は、グループＢに属する、すなわち、１〜ｋ番目のＲＡＩＤグループに属するオフキャッシュＬＶに対する処理を実行することができる。
【０１５８】
図３９は、後半部における優先度４のＬＶ処理手順の一例を示すフローチャートである。階層制御サーバ２０１は、ｌ番目のＲＡＩＤグループに属するオンキャッシュＬＶに対する処理を実行する（ステップＳ３９０１）。ステップＳ３９０１の処理について、階層制御サーバ２０１は、リコール処理のリコール先を、ファーム適用中でないＲＡＩＤグループのいずれかとする。
【０１５９】
次に、階層制御サーバ２０１は、ｌがｋより小さいか否かを判断する（ステップＳ３９０２）。ｌがｋより小さい場合（ステップＳ３９０２：Ｙｅｓ）、階層制御サーバ２０１は、ｌに１を加える（ステップＳ３９０３）。一方、ｌがｋ以上である場合（ステップＳ３９０２：Ｎｏ）、階層制御サーバ２０１は、ｆｌａｇに５を代入する（ステップＳ３９０４）。
【０１６０】
ステップＳ３９０３、またはＳ３９０４の処理終了後、階層制御サーバ２０１は、後半部における優先度４のＬＶ処理を終了する。後半部における優先度４のＬＶ処理を実行することにより、階層制御サーバ２０１は、グループＢに属する、すなわち、１〜ｋ番目のＲＡＩＤグループに属するオンキャッシュＬＶに対する処理を実行することができる。
【０１６１】
図４０は、ファーム適用中のＬＶ処理手順の一例を示すフローチャートである。ファーム適用中のＬＶ処理は、ファーム適用中にＬＶを実行する処理である。階層制御サーバ２０１は、ＬＶがオンキャッシュ、かつ属するＲＡＩＤグループがファーム適用中でないか否かを判断する（ステップＳ４００１）。ＬＶがオフキャッシュ、または属するＲＡＩＤグループがファーム適用中である場合（ステップＳ４００１：Ｎｏ）、階層制御サーバ２０１は、ファーム適用中でないＲＡＩＤグループのファイルシステムへＬＶをリコールする（ステップＳ４００２）。ここで、ＬＶがオフキャッシュである場合には、階層制御サーバ２０１は、ＬＶが属するファイルシステムに対してＬＶをリコールすればよい。
【０１６２】
ステップＳ４００２の処理終了後、または、ＬＶがオンキャッシュ、かつ属するＲＡＩＤグループがファーム適用中でない場合（ステップＳ４００１：Ｙｅｓ）、階層制御サーバ２０１は、ＬＶに対する処理種別が次に示す処理のいずれに一致するかを判断する（ステップＳ４００３）。次に示す処理は、追記処理と、読込処理と、リオーガニゼーション処理とである。
【０１６３】
ＬＶに対する処理種別が追記処理である場合（ステップＳ４００３：追記処理）、階層制御サーバ２０１は、ＬＶに対するデータの追記処理を実行する（ステップＳ４００４）。また、ＬＶに対する処理種別が読込処理である場合（ステップＳ４００３：読込処理）、階層制御サーバ２０１は、ＬＶに対するデータの読込処理を実行する（ステップＳ４００５）。また、ＬＶに対する処理種別がリオーガニゼーション処理である場合（ステップＳ４００３：リオーガニゼーション処理）、階層制御サーバ２０１は、ＬＶに対するデータのリオーガニゼーション処理を実行する（ステップＳ４００６）。
【０１６４】
ステップＳ４００４〜ステップＳ４００６のうちのいずれかの処理終了後、階層制御サーバ２０１は、ファーム適用中のＬＶ処理を終了する。ファーム適用中のＬＶ処理を実行することにより、階層制御サーバ２０１は、ファーム適用中であっても、ＬＶに対する処理を実行することができる。
【０１６５】
以上説明したように、階層制御サーバ２０１によれば、テープライブラリ装置２０３のキャッシュとなるディスクアレイ装置２０２に含まれる複数のＲＡＩＤグループのファーム適用を、グループＡとグループＢとに分類し、並列して処理する。これにより、階層制御サーバ２０１は、グループＡに属するＲＡＩＤグループのオンキャッシュＬＶに対するデータでもキャッシュの効果を発揮できるため、ファーム適用中の仮想テープライブラリシステム２００のアクセス性能の低下を抑制することができる。また、仮想テープライブラリシステム２００は、ファーム適用中であっても、ホスト装置２１１からのアクセスを継続することができる。
【０１６６】
また、階層制御サーバ２０１によれば、前半部では、グループＢに属するＲＡＩＤグループのオンキャッシュＬＶに対する処理を、グループＢに属するＲＡＩＤグループのオンキャッシュＬＶ以外のＬＶに対する処理より先に実行してもよい。これにより、階層制御サーバ２０１は、グループＢのファイルシステムがマウントしている間にグループＢに属するＲＡＩＤグループのオンキャッシュＬＶに対する処理を可能な限り実行できる。オンキャッシュＬＶであればリコール処理が発生しないため、階層制御サーバ２０１は、リコール処理を可能な限り発生させないようにして、仮想テープライブラリシステム２００のアクセス性能の低下を抑制することができる。
【０１６７】
同様の効果を後半部で得るために、階層制御サーバ２０１は、後半部では、グループＡに属するＲＡＩＤグループのオンキャッシュＬＶに対する処理を、グループＡに属するＲＡＩＤグループのオンキャッシュＬＶ以外のＬＶに対する処理より先に実行してもよい。
【０１６８】
また、階層制御サーバ２０１によれば、前半部では、グループＡに属するＲＡＩＤグループのオンキャッシュＬＶ以外のＬＶに対する処理を、グループＡに属するＲＡＩＤグループのオンキャッシュＬＶに対する処理より先に実行してもよい。グループＡに属するＲＡＩＤグループのオンキャッシュＬＶは、前半部ではアンマウントされておりアクセスできないものの、後半部になればアクセスできるようになり、リコール処理を行わなくてよくなる。従って、階層制御サーバ２０１は、グループＡに属するＲＡＩＤグループのオンキャッシュＬＶ以外のＬＶに対する処理を先に実行しリコール処理を発生させないようにして、仮想テープライブラリシステム２００のアクセス性能の低下を抑制することができる。
【０１６９】
同様の効果を後半部で得るために、階層制御サーバ２０１は、後半部では、グループＢに属するＲＡＩＤグループのオンキャッシュＬＶ以外のＬＶに対する処理を、グループＢに属するＲＡＩＤグループのオンキャッシュＬＶに対する処理より先に実行してもよい。グループＢに属するＲＡＩＤグループのオンキャッシュＬＶは、後半部ではアンマウントされておりアクセスできないものの、後半部のファーム適用が完了すればアクセスできるようになり、リコール処理を行わなくてよくなるためである。
【０１７０】
また、階層制御サーバ２０１によれば、前半部では、グループＢに属するＲＡＩＤグループのＬＶに対する処理を、グループＡに属するＲＡＩＤグループのＬＶに対する処理より先に実行してもよい。グループＡに属するＲＡＩＤグループのＬＶに対する処理を実行しようとすると、階層制御サーバ２０１は、ＲＡＩＤ＃ＣＮＦの更新を行うことになる。従って、階層制御サーバ２０１は、グループＢに属するＲＡＩＤグループのＬＶに対する処理を先に実行して、仮想テープライブラリシステム２００のアクセス性能の低下を抑制することができる。
【０１７１】
同様の効果を後半部で得るために、階層制御サーバ２０１は、後半部では、グループＡに属するＲＡＩＤグループのＬＶに対する処理を、グループＢに属するＲＡＩＤグループのＬＶに対する処理より先に実行してもよい。
【０１７２】
また、階層制御サーバ２０１によれば、前半部で、グループＡに属するＲＡＩＤグループのＬＶに対する処理を実行することに応じて、処理対象のＬＶをグループＢに属するＲＡＩＤグループのＬＶとなるようにＬＶ情報テーブル４０１を更新してもよい。これにより、階層制御サーバ２０１は、アンマウントされておりアクセスできないＬＶに対してもキャッシュの効果を発揮することができて、仮想テープライブラリシステム２００のアクセス性能の低下を抑制することができる。
【０１７３】
同様の効果を後半部で得るためには、グループＡが行う処理とグループＢが行う処理とを入れ替えればよい。具体的には、階層制御サーバ２０１は、後半部で、グループＢに属するＲＡＩＤグループのＬＶに対する処理を実行することに応じて、処理対象のＬＶをグループＡに属するＲＡＩＤグループのＬＶとなるようにＬＶ情報テーブル４０１を更新してもよい。
【０１７４】
また、階層制御サーバ２０１によれば、ＲＡＩＤグループのＬＶに対する処理にかかる時間と、ＲＡＩＤグループのファーム適用にかかる時間とに基づいて、グループＡとグループＢとを分類してもよい。ここで、前半部にかかる時間は、グループＡに属するＲＡＩＤグループのファーム適用にかかる時間となる。従って、グループＢに属するＲＡＩＤグループのＬＶに対する処理にかかる時間が、前半部にかかる時間以上となるようにグループ分けすることで、階層制御サーバ２０１は、優先度１となるオンキャッシュＬＶに対する処理の数を最大にすることができる。
【０１７５】
また、階層制御サーバ２０１によれば、前半部が終わった後、後半部には、グループＢに属するファーム適用の間には、グループＡに属するＲＡＩＤグループを用いてテープライブラリ装置２０３にアクセスしてもよい。これにより、階層制御サーバ２０１は、後半部であっても、ファーム適用中の仮想テープライブラリシステム２００のアクセス性能の低下を抑制することができる。
【０１７６】
また、ストレージシステム１００は、第１種別のストレージ装置１０２を、テープライブラリ装置とし、第２種別のストレージ装置１０３をＨＤＤとしてもよい。これにより、ストレージシステム１００は、仮想テープライブラリシステム２００のように、仮想的なテープライブラリのサービスを提供するシステムに適用することができる。
【０１７７】
なお、本実施の形態で説明した階層制御サーバ２０１が実行する方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本ストレージ制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本ストレージ制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１７８】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１７９】
（付記１）第１種別のストレージ装置が記憶するデータを一時的に記憶する第２種別の複数のストレージ装置を、第１グループと第２グループとに分類し、
分類した前記第１グループに属するストレージ装置のファームウェアを更新する間には、前記第２グループに属するストレージ装置を用いて前記第１種別のストレージ装置にアクセスする、
制御部を有することを特徴とするストレージ制御装置。
【０１８０】
（付記２）前記制御部は、
前記第１グループに属するストレージ装置のファームウェアを更新する間には、前記第２グループに属するストレージ装置が記憶するデータに対する処理を、前記第２グループに属するストレージ装置が記憶しないデータに対する処理より先に実行することを特徴とする付記１に記載のストレージ制御装置。
【０１８１】
（付記３）前記制御部は、
前記第１グループに属するストレージ装置のファームウェアを更新する間には、前記第１グループに属するストレージ装置が記憶しないデータに対する処理を、前記第１グループに属するストレージ装置が記憶するデータに対する処理より先に実行することを特徴とする付記１または２に記載のストレージ制御装置。
【０１８２】
（付記４）前記複数のストレージ装置の各々のストレージ装置と前記第１種別のストレージ装置が記憶するデータの各々を特定する情報とを対応付けて記憶する記憶部にアクセス可能であり、
前記制御部は、
前記第１グループに属するストレージ装置のファームウェアを更新する間には、前記記憶部を参照して、前記第２グループに属するストレージ装置に対応付けられたデータに対する処理を、前記第１グループに属するストレージ装置に対応付けられたデータに対する処理より先に実行することを特徴とする付記１〜３のいずれか一つに記載のストレージ制御装置。
【０１８３】
（付記５）前記制御部は、
前記第１グループに属するストレージ装置のファームウェアを更新する間に、前記第１グループに属するストレージ装置に対応付けられたデータに対する処理を実行することに応じて、前記第１グループに属するストレージ装置に対応付けられたデータを前記第２グループに属するストレージ装置に対応付けるように前記記憶部を更新することを特徴とする付記４に記載のストレージ制御装置。
【０１８４】
（付記６）前記制御部は、
前記複数のストレージ装置の各々のストレージ装置が記憶するデータに対する処理にかかる時間と、前記各々のストレージ装置のファームウェアの更新にかかる時間とに基づいて、第１グループと第２グループとに分類することを特徴とする付記１〜５のいずれか一つに記載のストレージ制御装置。
【０１８５】
（付記７）前記制御部は、
前記第１グループに属するストレージ装置のファームウェアの更新が完了した後、前記第２グループに属するストレージ装置のファームウェアを更新する間には、前記第１グループに属するストレージ装置を用いて前記第１種別のストレージ装置にアクセスすることを特徴とする付記１〜６のいずれか一つに記載のストレージ制御装置。
【０１８６】
（付記８）前記第１種別のストレージ装置は、磁気テープを用いてデータを記憶する装置であり、前記複数のストレージ装置の各々のストレージ装置は、磁気ディスクを用いてデータを記憶する装置であることを特徴とする付記１〜７のいずれか一つに記載のストレージ制御装置。
【０１８７】
（付記９）コンピュータに、
第１種別のストレージ装置が記憶するデータを一時的に記憶する第２種別の複数のストレージ装置を、第１グループと第２グループとに分類し、
分類した前記第１グループに属するストレージ装置のファームウェアを更新する間には、前記第２グループに属するストレージ装置を用いて前記第１種別のストレージ装置にアクセスする、
処理を実行させることを特徴とするストレージ制御プログラム。
【符号の説明】
【０１８８】
１００  ストレージシステム
１０１  ストレージ制御装置
１０２  第１種別のストレージ装置
１０３−１、２  第２種別のストレージ装置
１０４、２１１  ホスト装置
２０１  階層制御サーバ
２０２  ディスクアレイ装置
２０３  テープライブラリ装置
１２００  制御部
１２０１  分類部
１２０２  実行部
１２０３  更新部
１２１０  記憶部
【図１】
0006497122.tif 000002
【図２】
0006497122.tif 000003
【図３】
0006497122.tif 000004
【図４】
0006497122.tif 000005
【図５】
0006497122.tif 000006
【図６】
0006497122.tif 000007
【図７】
0006497122.tif 000008
【図８】
0006497122.tif 000009
【図９】
0006497122.tif 000010
【図１０】
0006497122.tif 000011
【図１１】
0006497122.tif 000012
【図１２】
0006497122.tif 000013
【図１３】
0006497122.tif 000014
【図１４】
0006497122.tif 000015
【図１５】
0006497122.tif 000016
【図１６】
0006497122.tif 000017
【図１７】
0006497122.tif 000018
【図１８】
0006497122.tif 000019
【図１９】
0006497122.tif 000020
【図２０】
0006497122.tif 000021
【図２１】
0006497122.tif 000022
【図２２】
0006497122.tif 000023
【図２３】
0006497122.tif 000024
【図２４】
0006497122.tif 000025
【図２５】
0006497122.tif 000026
【図２６】
0006497122.tif 000027
【図２７】
0006497122.tif 000028
【図２８】
0006497122.tif 000029
【図２９】
0006497122.tif 000030
【図３０】
0006497122.tif 000031
【図３１】
0006497122.tif 000032
【図３２】
0006497122.tif 000033
【図３３】
0006497122.tif 000034
【図３４】
0006497122.tif 000035
【図３５】
0006497122.tif 000036
【図３６】
0006497122.tif 000037
【図３７】
0006497122.tif 000038
【図３８】
0006497122.tif 000039
【図３９】
0006497122.tif 000040
【図４０】
0006497122.tif 000041