(57)【特許請求の範囲】
【請求項１】
ホストコンピュータからのデータ要求に対応するデータごとに割り当てられた磁気テープの総数、及び、テープライブラリ装置が備える複数の磁気テープ装置のうち使用可能な磁気テープ装置の台数に関する情報を含む前記テープライブラリ装置の構成情報を格納する構成情報格納部と、
前記構成情報格納部に格納された前記構成情報に基づき前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回るか否かを診断し、前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回ると診断した場合には前記テープライブラリ装置の運用モードを第一のモードに決定し、前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回ると診断しなかった場合には前記テープライブラリ装置の運用モードを第二のモードに決定する診断部と、
前記診断部により前記テープライブラリ装置の運用モードが前記第一のモードに決定された場合には、前記診断部の依頼に応じて前記テープライブラリ装置に対して、前記ホストコンピュータからのデータに割り当てられた磁気テープに当該データを書き込むとともに、前記ホストコンピュータからのデータ要求に対応する全データで共用する共有の磁気テープに当該データを書き込むように指示するコマンドを出力制御するコマンド制御部と
を備えたことを特徴とするテープライブラリ制御装置。
【請求項２】
前記構成情報は、前記テープライブラリ装置から通知された前記複数の磁気テープ装置の故障に関する情報を含み、
前記複数の磁気テープ装置うちの使用可能な磁気テープ装置の台数は、前記複数の磁気テープ装置の台数から故障した磁気テープ装置の台数を差し引いた数であることを特徴とする請求項１記載のテープライブラリ制御装置。
【請求項３】
前記コマンド制御部は、前記診断部により前記テープライブラリ装置の運用モードが前記第一のモードに決定された場合には、前記テープライブラリ装置に対して、前記ホストコンピュータからのデータに割り当てられた磁気テープよりも前記共用の磁気テープに対して優先的に当該データを書き込むようにコマンドを出力制御し、
前記診断部は、前記テープライブラリ装置から前記ホストコンピュータのデータの前記共用の磁気テープへの書き込む処理が完了した通知を当該データの磁気テープへの書き込み完了通知として前記ホストコンピュータへ送信することを特徴とする請求項１又は２記載のテープライブラリ制御装置。
【請求項４】
前記コマンド制御部は、前記使用可能な磁気テープ装置の台数と、前記データごとに割り当てられた磁気テープの総数とに基づく前記複数の磁気テープ装置における磁気テープの排出及び挿入の回数が最少になるように、前記ホストコンピュータからのデータに関する前記複数の磁気テープへの書き込みの順序を最適化することを特徴とする請求項１、２又は３記載のテープライブラリ制御装置。
【請求項５】
前記診断部は、前記テープライブラリ装置の運用モードが前記第一のモードである場合に、前記ホストコンピュータからのデータの読み出しの要求に応じて前記コマンド制御部に対して、前記テープライブラリ装置の前記共用の磁気テープに該当するデータが存在するか否かを照会するコマンドを出力するように指示し、
前記コマンド制御部は、前記共用の磁気テープに該当するデータが存在する場合には前記共用の磁気テープから該当するデータを読み出し、前記共用の磁気テープに該当するデータが存在しない場合には該当するデータに割り当てられた磁気テープから該当するデータを読み出すことを特徴とする請求項１〜４のいずれか一項記載のテープライブラリ制御装置。
【請求項６】
テープライブラリ装置の制御を行うテープライブラリ制御装置が実行するテープライブラリ制御方法において、
ホストコンピュータからのデータ要求に対応するデータごとに割り当てられた磁気テープの総数、及び、テープライブラリ装置が備える複数の磁気テープ装置のうち使用可能な磁気テープ装置の台数に関する情報を含む前記テープライブラリ装置の構成情報に基づき前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回るか否かを診断し、前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回ると診断した場合には前記テープライブラリ装置の運用モードを第一のモードに決定し、前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回ると診断しなかった場合には前記テープライブラリ装置の運用モードを第二のモードに決定する診断ステップと、
前記診断ステップにより前記テープライブラリ装置の運用モードが前記第一のモードに決定された場合には、前記診断ステップの依頼に応じて前記テープライブラリ装置に対して、前記ホストコンピュータからのデータに割り当てられた磁気テープに当該データを書き込むとともに、前記ホストコンピュータからのデータ要求に対応する全データで共用する共有の磁気テープに当該データを書き込むように指示するコマンドを出力制御するコマンド制御ステップと
を含んだことを特徴とするテープライブラリ制御方法。
【請求項７】
テープライブラリ装置の制御を行うテープライブラリ制御プログラムにおいて、
コンピュータに、
ホストコンピュータからのデータ要求に対応するデータごとに割り当てられた磁気テープの総数、及び、テープライブラリ装置が備える複数の磁気テープ装置のうち使用可能な磁気テープ装置の台数に関する情報を含む前記テープライブラリ装置の構成情報に基づき前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回るか否かを診断し、前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回ると診断した場合には前記テープライブラリ装置の運用モードを第一のモードに決定し、前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回ると診断しなかった場合には前記テープライブラリ装置の運用モードを第二のモードに決定する診断手順と、
前記診断手順により前記テープライブラリ装置の運用モードが前記第一のモードに決定された場合には、前記診断手順の依頼に応じて前記テープライブラリ装置に対して、前記ホストコンピュータからのデータに割り当てられた磁気テープに当該データを書き込むとともに、前記ホストコンピュータからのデータ要求に対応する全データで共用する共有の磁気テープに当該データを書き込むように指示するコマンドを出力制御するコマンド制御手順と
を実行させることを特徴とするテープライブラリ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テープライブラリ制御装置、テープライブラリ制御方法及びテープライブラリ制御プログラムに関する。
【背景技術】
【０００２】
従来から、コンピュータシステムにおいて、複数の磁気テープ装置と磁気テープを収納する棚（セル）とを組み合わせたテープライブラリ装置が記憶装置として用いられる。テープライブラリ装置は、データのバックアップ、業務の継続性の向上、異種のサーバ装置の連携等を行う目的で用いられる。テープライブラリ装置の磁気テープ装置は、セルから取り出された磁気テープが装着されると、磁気テープにデータを書き込んだり、磁気テープからデータを読み出したりする装置である。
【０００３】
テープライブラリ装置には複数の磁気テープ装置が搭載されていることから、磁気テープ装置ごとに独立してデータの書き込みや読み出しを行うことができる。例えばテープライブラリ装置を用いたデータのバックアップ処理では、予め決められた磁気テープ又は複数の磁気テープを含む磁気テープのグループに、指定したデータ又はデータのグループをバックアップする。
【０００４】
かかる従来技術によるバックアップ処理では、指定したデータごとに書き込み及び読み出しを行なう磁気テープを用意する。そして、各磁気テープに独立してデータを格納するため、テープライブラリ装置は、磁気テープの本数に応じた台数の磁気テープ装置を備えることが求められる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２９４２４０号公報
【特許文献２】特開２０００−３３９８２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、テープライブラリ装置において、磁気テープの数が使用可能な磁気テープ装置の台数を上回る状況になった場合には、少数の磁気テープ装置で多数の磁気テープにアクセスすることになる。
【０００７】
例えば、磁気テープ装置の故障により使用可能な磁気テープ装置の台数が減少した場合には、台数が減少した磁気テープ装置で多数の磁気テープにアクセスするため、磁気テープの付け替え、すなわち磁気テープのアンマウント／マウントが発生する。
【０００８】
そして、磁気テープの付け替えは、磁気テープへのデータアクセスに関して処理時間のボトルネックとなる。したがって、磁気テープの付け替えが発生する状況下では、磁気テープからのデータの読み出しや磁気テープへのデータの書き込みが完了するまでの処理時間が長くなり、データアクセスが効率的でないという問題があった。
【０００９】
本発明は、１つの側面では、テープライブラリ装置において磁気テープの付け替えが発生する状況で、効率的なデータのアクセスを実現するテープライブラリ制御装置、テープライブラリ制御方法及びテープライブラリ制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
一つの態様では、テープライブラリ制御装置は、テープライブラリ装置の構成情報を格納する構成情報格納部を備える。構成情報は、ホストコンピュータからのデータ要求に対応するデータごとに割り当てられた磁気テープの総数、及び、テープライブラリ装置が備える複数の磁気テープ装置のうち使用可能な磁気テープ装置の台数に関する情報を含む。そして、診断部は、構成情報格納部に格納された構成情報に基づき磁気テープの総数が使用可能な磁気テープ装置の台数を上回るか否かを診断する。そして、診断部は、磁気テープの総数が使用可能な磁気テープ装置の台数を上回ると診断した場合にはテープライブラリ装置の運用モードを第一のモードに決定する。また、診断部は、磁気テープの総数が使用可能な磁気テープ装置の台数を上回ると診断しなかった場合にはテープライブラリ装置の運用モードを第二のモードに決定する。コマンド制御部は、第一のモードに決定された場合には、診断部の依頼に応じてテープライブラリ装置に対して、複数の磁気テープ装置のうちの所定の磁気テープ装置にホストコンピュータの全データで共用する磁気テープを挿入するコマンドを出力制御する。また、コマンド制御部は、診断部の依頼に応じてテープライブラリ装置に対して、所定の磁気テープ装置以外の磁気テープ装置のいずれかにホストコンピュータの当該データに割り当てられた磁気テープを挿入するコマンドを出力制御する。そして、コマンド制御部は、診断部の依頼に応じてテープライブラリ装置に対して、共用の磁気テープ及び当該データに割り当てられた磁気テープの両方に当該データを書き込むように指示するコマンドを出力制御する。
【発明の効果】
【００１１】
開示技術の一の態様によれば、テープライブラリ装置において磁気テープの付け替えが発生する状況下で、効率的なデータのアクセスを実現できるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係るテープライブラリシステムの構成を示すブロック図である。
【図２】図２は、実施例２に係るテープライブラリシステムの構成を示すブロック図である。
【図３】図３は、実施例２に係る構成情報の一例を示す図である。
【図４Ａ】図４Ａは、実施例２に係る書き込みリスト（最適化前）の一例を示す図である。
【図４Ｂ】図４Ｂは、実施例２に係る書き込みリスト（最適化後）の一例を示す図である。
【図５】図５は、実施例２に係るモード決定処理手順を示すフローチャートである。
【図６】図６は、実施例２に係る磁気テープ書き込み制御処理（リカバリモード）手順を示すフローチャートである。
【図７】図７は、実施例２に係る磁気テープ読み出し制御処理（リカバリモード）手順を示すフローチャートである。
【図８Ａ】図８Ａは、実施例２に係る磁気テープ書き込み方法（通常モード時）を示す図である。
【図８Ｂ】図８Ｂは、実施例２に係る磁気テープ書き込み方法（リカバリモード時）を示す図である。
【図８Ｃ】図８Ｃは、実施例２に係る磁気テープ書き込み方法（リカバリモード時に書き込みデータの更新があった場合）を示す図である。
【図９】図９は、実施例２に係る磁気テープ運用処理プログラムを実行するホストコンピュータを示す図である。
【図１０】図１０は、実施例３に係るテープライブラリシステムの構成を示すブロック図である。
【図１１】図１１は、実施例３に係る磁気テープ運用処理プログラムを実行するテープライブラリ装置を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本発明を実施するためのテープライブラリ制御装置、テープライブラリ制御方法及びテープライブラリ制御プログラムの実施例を図面に基づいて詳細に説明する。以下の実施例で示すテープライブラリシステムは、ホストコンピュータ、ホストコンピュータのデータを記憶するテープライブラリ装置、テープライブラリ装置を制御するテープライブラリ制御装置を含む。
【００１４】
また、以下の実施例における磁気テープは、磁気テープが方形のケースに収納された磁気テープカートリッジをいう。また、ホストコンピュータからデータの書き込み指示とともに、書き込み先のテープが指示される。データと磁気テープとの対応関係は、ｍ、ｎを自然数として、１対ｎ若しくはｍ対ｎの関係である。「ホストコンピュータのデータ」とは、ホストコンピュータが磁気テープとの間で読み書きするデータを言う。
【００１５】
また、以下の実施例におけるテープライブラリ装置は、データが格納された、すなわちデータが記憶された磁気テープが挿入される複数の磁気テープ装置を備える。そして、磁気テープ装置は、挿入された磁気テープとの間でホストコンピュータからのデータの読み書きを行う。
【００１６】
テープライブラリ装置は、ホストコンピュータからのデータに割り当てられた磁気テープが複数の磁気テープ装置の何れにも挿入されていない場合には、当該データに割り当てられた磁気テープを何れかの磁気テープ装置に挿入する。
【００１７】
このとき、複数の磁気テープ装置の全てに磁気テープが挿入されている場合には、何れかの磁気テープ装置に挿入されている磁気テープを排出した上で、当該データに割り当てられた磁気テープを当該磁気テープ装置に挿入する。磁気テープの排出及び挿入を「付け替え」と呼ぶ。
【００１８】
なお、テープライブラリ装置において、いずれの磁気テープ装置にも挿入されていない磁気テープカートリッジは、棚（セル）に収納される。テープライブラリ装置は、磁気テープを収納した棚を認識しているので、目的とする磁気テープを棚から取り出して磁気テープ装置に挿入することができる。
【実施例１】
【００１９】
［実施例１の概要］
実施例１では、テープライブラリ装置の運用において、ホストコンピュータのデータごとに割り当てられた磁気テープの他に、ホストコンピュータの全データに共用の磁気テープを用いる。以下では、ホストコンピュータからのデータを磁気テープに書き込む場合を例として説明するが、ホストコンピュータが磁気テープからデータを読み出す場合も同様である。
【００２０】
テープライブラリ装置は、共用の磁気テープを用いて運用される場合には、当該共用の磁気テープを所定の磁気テープ装置に挿入した後には、当該共用の磁気テープの付け替えを行なわない。一方、テープライブラリ装置は、ホストコンピュータのデータごとに割り当てられた磁気テープの付け替えを行なう場合がある。
【００２１】
テープライブラリ装置は、ホストコンピュータのデータをデータごとの磁気テープに書き込むとともに、共用の磁気テープにも書き込む。付け替えが行なわれない共用の磁気テープへは、ホストコンピュータのデータを直ちに書き込むことが可能である。一方、付け替えが行なわれたデータごとの磁気テープへは、付け替えが終了した後にホストコンピュータからのデータを書き込むことになる。
【００２２】
データごとの磁気テープへのデータ書き込みが完了した時点ではなく、共用の磁気テープへのデータ書き込みが完了した時点で、データの書き込みの要求への応答をホストコンピュータへ送信してもよい。よって、ホストコンピュータのへデータの書き込みの要求への応答を速やかにホストコンピュータへ送信することができる。これにより、ホストコンピュータは、磁気テープの付け替えによる待ち時間の影響を受けることなく、より早くデータの書き込みの完了待ちから解放される。
【００２３】
［実施例１に係るテープライブラリシステムの構成］
図１は、実施例１に係るテープライブラリシステムの構成を示すブロック図である。図１に示すように、実施例１に係るテープライブラリシステムＳ１は、テープライブラリ制御装置１００、テープライブラリ制御装置１００により制御されるテープライブラリ装置２００を含む。なお、テープライブラリ制御装置１００は、図示しないホストコンピュータと接続される。
【００２４】
テープライブラリ制御装置１００は、診断部１０１、構成情報格納部１０２、コマンド制御部１０３を含む。診断部１０１は、例えばＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の処理装置である。構成情報格納部１０２は、磁気ディスクやＲＯＭ（Read  Only  Memory）等の記憶装置である。コマンド制御部１０３は、ＣＰＵ若しくはＭＰＵと、テープライブラリ装置２００とのデータの送受信を行なうインターフェース装置とを含む。
【００２５】
診断部１０１は、構成情報格納部１０２に格納されるテープライブラリ装置２００の構成情報を参照する。そして、ホストコンピュータのデータごとに割り当てられた磁気テープの総本数が、テープライブラリ装置において使用可能な磁気テープ装置の台数を超過するか否かを診断する。そして、診断結果に応じて、テープライブラリ装置２００を「第一のモード」、「第二のモード」のいずれのモードで運用するかを決定する。
【００２６】
すなわち、診断部１０１は、ホストコンピュータのデータごとに割り当てられた磁気テープの総本数が、テープライブラリ装置において使用可能な磁気テープ装置の台数を超過する場合には、「第一のモード」でテープライブラリ装置２００を運用すると決定する。また、ホストコンピュータのデータごとに割り当てられた磁気テープの総本数が、テープライブラリ装置において使用可能な磁気テープ装置の台数を超過しない場合には、「第二のモード」でテープライブラリ装置２００を運用すると決定する。
【００２７】
なお、ホストコンピュータのデータには、データごとに少なくとも１本の磁気テープが割り当てられ、複数の磁気テープが割り当てられる場合もある。ホストコンピュータのデータごとに割り当てられた磁気テープの総本数とは、一つのデータに複数の磁気テープが割り当てられた場合も含めた磁気テープの合計数である。
【００２８】
「第一のモード」は、ホストコンピュータのデータをデータごとに割り当てられた磁気テープに書き込むとともに、共用の磁気テープにも書き込むモードである。また、「第二のモード」は、ホストコンピュータのデータをデータごとに割り当てられた磁気テープのみに書き込むモードである。
【００２９】
ホストコンピュータのデータごとに割り当てられた磁気テープの総本数が、テープライブラリ装置において使用可能な磁気テープ装置の台数を超過する場合には、磁気テープの付け替えが発生する。ホストコンピュータのデータごとに割り当てられた磁気テープの総本数が、テープライブラリ装置において使用可能な磁気テープ装置の台数を超過しない場合には、磁気テープの付け替えが発生しない。
【００３０】
診断部１０１は、「第一のモード」と決定した場合には、ホストコンピュータから書き込みを要求されたデータを当該データに割り当てられた磁気テープ及び共用の磁気テープに書き込むコマンドを出力するようにコマンド制御部１０３に指示する。また、診断部１０１は、「第二のモード」と決定した場合には、ホストコンピュータから書き込みを要求されたデータを当該データに割り当てられた磁気テープのみに書き込むコマンドを出力するようにコマンド制御部１０３に指示する。
【００３１】
また、診断部１０１からデータの書き込み対象である磁気テープを指定してコマンドの出力を指示されたコマンド制御部１０３は、指定された磁気テープに当該データを書き込むコマンドを当該データとともにテープライブラリ装置２００に対して出力する。
【００３２】
テープライブラリ装置２００は、制御部２０１、磁気テープ装置＃ａ＿２０２ａ〜磁気テープ装置＃ｃ＿２０２ｃ、共用の磁気テープ２０３、磁気テープ＃ａ＿２０３ａ、磁気テープ＃ｂ＿２０３ｂ、磁気テープ＃ｃ＿２０３ｃを含む。制御部２０１は、ＣＰＵ若しくはＭＰＵと、テープライブラリ装置２００とのデータの送受信を行なうインターフェース装置とを含む。
【００３３】
また、磁気テープ装置＃ａ＿２０２ａ、磁気テープ装置＃ｂ＿２０２ｂ、磁気テープ装置＃ｃ＿２０２ｃは、挿入された磁気テープとの間で、データの読み書きを行なうドライブ装置である。共用の磁気テープ２０３、磁気テープ＃ａ＿２０３ａ、磁気テープ＃ｂ＿２０３ｂ、磁気テープ＃ｃ＿２０３ｃは、媒体としての磁気テープが方形のケースに収納された磁気テープカートリッジである。
【００３４】
制御部２０１は、テープライブラリ制御装置１００により出力されたコマンド及び当該コマンドに対応するデータを受信すると、当該データを磁気テープに書き込む処理を制御する。制御部２０１は、受け付けたコマンドが共用の磁気テープ２０３及び当該データに割り当てられた磁気テープに当該データを書き込む指示である場合には、共用の磁気テープ２０３を磁気テープ装置＃ａ＿２０２ａに挿入して当該データを優先的に書き込む。この場合、磁気テープ装置＃ａ＿２０２ａが所定の磁気テープ装置である。なお、共用の磁気テープ２０３が磁気テープ装置＃ａ＿２０２ａにすでに挿入されていた場合には、直ちに共用の磁気テープ２０３に当該データを書き込む。
【００３５】
そして、制御部２０１は、共用の磁気テープ２０３へのデータの書き込みが完了すると、書き込みの完了通知をテープライブラリ制御装置１００のコマンド制御部１０３へ送信する。コマンド制御部１０３は、完了通知を受信すると、ホストコンピュータに対して、データの書き込み要求に対する完了通知を出力するよう診断部１０１に指示する。
【００３６】
そして、制御部２０１は、当該データに割り当てられた磁気テープを磁気テープ装置＃ｂ＿２０２ｂ、磁気テープ装置＃ｃ＿２０２ｃのいずれかに挿入して当該データを書き込む。当該データに割り当てられた磁気テープが磁気テープ装置＃ｂ＿２０２ｂ、磁気テープ装置＃ｃ＿２０２ｃのいずれにも挿入されていない場合には、いずれかの磁気テープ装置において磁気テープの付け替えを行なう。
【００３７】
この場合、磁気テープ装置から排出する磁気テープは、例えばデータの読み書きの優先度が低い磁気テープでもよい。なお、当該データに割り当てられた磁気テープが磁気テープ装置＃ｂ＿２０２ｂ、磁気テープ装置＃ｃ＿２０２ｃのいずれかにすでに挿入されていた場合には、直ちに磁気テープに当該データを書き込む。
【００３８】
また、制御部２０１は、受け付けたコマンドが当該データに割り当てられた磁気テープのみに当該データを書き込む指示である場合には、当該データに割り当てられた磁気テープをいずれかの磁気テープ装置に挿入して当該データを書き込む。なお、当該データに割り当てられた磁気テープがいずれかの磁気テープ装置にすでに挿入されていた場合には、直ちに磁気テープに当該データを書き込む。
【００３９】
また、当該データに割り当てられた磁気テープがいずれの磁気テープ装置にも挿入されていない場合には、いずれかの磁気テープ装置において磁気テープの付け替えを行なう。磁気テープ装置から排出する磁気テープは、例えばデータの読み書きの優先度が低い磁気テープである。
【００４０】
そして、制御部２０１は、データに割り当てられた磁気テープへの当該データの書き込みが完了すると、書き込みの完了通知をテープライブラリ制御装置１００のコマンド制御部１０３へ出力する。コマンド制御部１０３は、完了通知を受け取ると、ホストコンピュータに対して、データの書き込み要求に対する完了通知を出力するよう診断部１０１に指示する。
【００４１】
［実施例１の効果］
実施例１では、共用の磁気テープ２０３にホストコンピュータのデータをまとめて書き込むので、磁気テープの付け替えによる書き込みの待ち時間を低減し、ホストコンピュータに対して速やかにデータの書き込みの完了通知を送信できる。
【実施例２】
【００４２】
［実施例２の概要］
実施例２では、テープライブラリ装置が備える複数の磁気テープ装置の少なくとも一つが故障した場合に、ホストコンピュータのデータごとに割り当てられた磁気テープの他に、ホストコンピュータの全データに共用の磁気テープに当該データを書き込む。以下では、実施例１との差異についてのみ説明する。なお、ホストコンピュータからのデータを磁気テープに書き込む場合を例として説明するが、ホストコンピュータが磁気テープからデータを読み出す場合も同様である。
【００４３】
［実施例２に係るテープライブラリシステムの構成］
図２は、実施例２に係るテープライブラリシステムの構成を示すブロック図である。図２に示すように、実施例２に係るテープライブラリシステムＳ２は、ホストコンピュータ３００、テープライブラリ装置４００を含む。テープライブラリ装置４００は、ホストコンピュータ３００と接続される。
【００４４】
ホストコンピュータ３００は、ホスト制御部３０１、テープライブラリ制御部３０２を含む。ホスト制御部３０１は、ホストコンピュータ３００の全体制御をつかさどるＣＰＵやＭＰＵ等の処理装置である。ホストコンピュータ３００は、図示しないＲＡＭ（Random  Access  Memory）等の一時記憶装置、磁気ディスクやＲＯＭ等の記憶装置を含む。
【００４５】
テープライブラリ制御部３０２は、コマンド制御部３０３、診断部３０４、構成情報制御部３０５、構成情報格納部３０６、データ・メッセージ格納部３０７、コマンド・メッセージ制御部３０８をさらに含む。
【００４６】
コマンド制御部３０３は、ホストコンピュータからのデータの書き込みの要求を受信すると、当該書き込みの要求を診断部３０４へ出力する。そして、コマンド制御部３０３は、該書き込みの要求とともに送信されてきたデータをデータ・メッセージ格納部３０７に格納する。そして、ホストコンピュータからのデータの書き込みの要求に対する応答をホストコンピュータに送信する。
【００４７】
また、コマンド制御部３０３は、ホストコンピュータからのデータの読み出しの要求を受信すると、当該読み出しの要求を診断部３０４へ出力する。そして、コマンド制御部３０３は、データ・メッセージ格納部３０７に格納された当該データとともに、ホストコンピュータからのデータの読み出しの要求に対する応答をホストコンピュータに送信する。
【００４８】
診断部３０４は、例えばＣＰＵやＭＰＵ等の処理装置である。診断部３０４は、ホストコンピュータからの要求を診断した結果に応じて次の処理を行なう。先ず、構成情報制御部３０５に、現在のテープライブラリ装置の状態を問い合わせ、「リカバリモード」、「通常モード」のいずれのモードでテープライブラリ装置を運用するかを決定する。
【００４９】
「リカバリモード」は、テープライブラリ装置４００において、ホストコンピュータ３００のデータをデータごとに割り当てられた磁気テープに書き込むとともに、後述のリカバリテープ４０４にも書き込むモードである。また、「通常モード」は、テープライブラリ装置４００において、ホストコンピュータ３００のデータをデータごとに割り当てられた磁気テープのみに書き込むモードである。
【００５０】
そして、診断部３０４は、決定したモードに応じて、コマンド情報を変更する。コマンド情報とは、コマンドの発行先となる磁気テープの情報である。具体的には、診断部３０４は、「リカバリモード」と決定した場合には、コマンド情報を後述するリカバリテープ４０４及びホストコンピュータからのデータに割り当てられた磁気テープとする。また、診断部３０４は、「通常モード」と決定した場合には、コマンド情報をホストコンピュータからのデータに割り当てられた磁気テープとする。
【００５１】
また、診断部３０４は、コマンド・メッセージ制御部３０８から応答された、テープライブラリ装置４００から受信したメッセージを診断する。そして、テープライブラリ装置４００の状態に変化があった場合には、状態の変化を構成情報制御部３０５に通知する。
【００５２】
また、診断部３０４は、コマンド・メッセージ制御部３０８に、テープライブラリ装置４００へコマンド情報に応じたコマンドの発行を依頼する。具体的には、コマンドは、ホストコンピュータからのデータの書き込みの要求に応じて、当該データに割当てられた磁気テープを指定して当該テータの書き込みを指示するものである。または、コマンドは、ホストコンピュータからのデータの書き込みの要求に応じて、当該データに割当てられた磁気テープ及び後述のリカバリテープ４０４を指定して当該テータの書き込みを指示するものである。
【００５３】
また、診断部３０４は、コマンド・メッセージ制御部３０８から応答された、テープライブラリ装置４００から受信したコマンドの実行結果、及び、データ・メッセージ格納部３０７に格納されたデータの診断を行なう。診断部３０４は、例えばテープライブラリ装置４００から受信したコマンドの実行結果が「エラー」を示す情報であると診断した場合には、オペレータへの報知等の所定の措置を行なう。また、診断部３０４は、コマンド制御部３０３に、ホストコンピュータからの要求に対する応答の送信を依頼する。
【００５４】
構成情報制御部３０５は、診断部３０４からの要求により、構成情報格納部３０６に格納されているテープライブラリ装置４００の構成情報の更新又は読み出しを行う。構成情報格納部３０６は、磁気ディスクやＲＯＭ等の記憶装置である。構成情報は、少なくとも、テープライブラリ装置４００に含まれるテープドライブの情報、各テープドライブの正常・故障の各状態、各テープドライブに挿入されている磁気テープの情報を含む。
【００５５】
データ・メッセージ格納部３０７は、テープライブラリ装置４００において磁気テープに書き込むデータ、磁気テープから読み出したデータ、テープライブラリ装置４００から送信されてきたメッセージを格納する。メッセージには、例えばテープライブラリ装置４００が備える磁気テープ装置の故障を示すメッセージがある。
【００５６】
すなわち、テープライブラリ装置４００が備える磁気テープ装置が故障した場合に、テープライブラリ装置４００は、ホストコンピュータ３００のテープライブラリ制御部３０２へ当該磁気テープの故障の通知を送信する。コマンド・メッセージ制御部３０８は、受信した当該磁気テープの故障の通知をデータ・メッセージ格納部３０７に格納する。診断部３０４は、データ・メッセージ格納部３０７に格納された当該磁気テープの故障の通知を診断する。診断の結果、構成情報制御部３０５に対して、当該磁気テープの故障を構成情報に反映するように指示する。
【００５７】
コマンド・メッセージ制御部３０８は、診断部３０４からの指示により、テープライブラリ装置４００へコマンドを発行する。このとき、コマンド・メッセージ制御部３０８は、コマンドが書き込み要求の場合には、データ・メッセージ格納部３０７に格納されたデータも合わせてテープライブラリ装置４００へ送信する。
【００５８】
また、コマンド・メッセージ制御部３０８は、コマンドが読み出し要求の場合には、コマンド発行の結果としてテープライブラリ装置４００から送信されてきたデータをデータ・メッセージ格納部３０７に格納する。
【００５９】
テープライブラリ装置４００は、ＣＰＵ若しくはＭＰＵと、テープライブラリ装置２００とのデータの送受信を行なうインターフェース装置とを含む制御部４０１を含む。また、テープライブラリ装置４００は、テープドライブ＃ａ＿４０２ａ〜テープドライブ＃ｎ＿４０２ｎを含む。また、テープライブラリ装置４００は、セル４０５に収納されたリカバリテープ４０４、セル４０５ａに収納された磁気テープ＃ａ＿４０４ａ〜セル４０５ｎに収納された磁気テープ＃ｎ＿４０４ｎを含む。
【００６０】
また、テープライブラリ装置４００は、制御部４０１の制御により磁気テープをセルから取り出してテープドライブに挿入し、テープドライブから磁気テープを排出して対応するセルに収納する磁気テープ挿入・排出機構４０３を含む。
【００６１】
制御部４０１は、いずれかのテープドライブの故障を検知したならば、当該故障を通知するメッセージをホストコンピュータ３００へ送信する。当該メッセージを受信したホストコンピュータ３００のテープライブラリ制御部３０２は、構成情報格納部３０６に格納されるテープライブラリ装置４００の構成情報の該当するテープドライブ情報の正常・故障の各状態を「故障」に更新する。以降、診断部３０４は、構成情報のテープドライブの状態に「故障」が含まれる場合には、テープライブラリ装置４００を「リカバリモード」で運用する。なお、診断部３０４は、構成情報のテープドライブの状態に「故障」が含まれない場合には、テープライブラリ装置４００を「通常モード」で運用する。
【００６２】
制御部４０１は、テープライブラリ制御部３０２により出力されたコマンド及び当該コマンドに対応するデータを受信すると、当該データを磁気テープに書き込む処理を制御する。制御部４０１は、受け付けたコマンドがリカバリテープ４０４及び当該データに割り当てられた磁気テープに当該データを書き込む指示である場合には、リカバリテープ４０４をテープドライブ＃ａ＿４０２ａに挿入して当該データを優先的に書き込む。この場合、テープドライブ装置＃ａ＿４０２ａが所定の磁気テープ装置である。
【００６３】
なお、リカバリテープ４０４がテープドライブ＃ａ＿４０２ａにすでに挿入されていた場合には、直ちにリカバリテープ４０４に当該データを書き込む。リカバリテープ４０４を挿入する磁気テープ装置は、故障していない使用可能なテープドライブのうち、順序が先頭となる識別情報が付与されたテープドライブとしてもよい。または、順序が末尾となる識別情報が付与されたテープドライブとしてもよい。または、使用可能なテープドライブのうち、磁気テープが挿入されていないテープドライブとしてもよい。または、磁気テープへのデータの書き込みの優先順位が低いテープドライブから挿入されている磁気テープを排出してリカバリテープ４０４を挿入してもよい。
【００６４】
そして、制御部４０１は、リカバリテープ４０４へのデータの書き込みが完了すると、書き込みの完了通知をテープライブラリ制御部３０２のコマンド・メッセージ制御部３０８へ送信する。コマンド・メッセージ制御部３０８は、完了通知を受信すると、ホスト制御部３０１に対して、データの書き込み要求に対する完了通知を送信するよう診断部１０１に指示する。
【００６５】
なお、制御部４０１がホストコンピュータ３００からのデータをリカバリテープに書き込む順序は、データの受け付け順序にしたがう。また、制御部４０１がホストコンピュータ３００からのデータを当該データに割り当てられた磁気テープに当該データを書き込む順序は、次の通りである。すなわち、コマンド・メッセージ制御部３０８において、コマンドの送信前に、図４Ａに示すように、書き込みデータの識別情報に書き込み先の磁気テープの識別情報を対応付けた書き込みリスト３０７ａを生成する。生成された書き込みリスト３０７ａは、データ・メッセージ格納部３０７に格納される。
【００６６】
そして、書き込み先の磁気テープの識別情報をキーにして書き込みリスト３０７ａを最適化する。書き込みリスト３０７ａの先頭には、書き込み先の磁気テープの識別情報のうち、最初に送信すべきコマンドに対応する書き込み先の磁気テープの識別情報が位置する。すなわち、データごとの磁気テープにデータを書き込む際に、テープドライブから磁気テープを排出・挿入する回数が最小となるようにデータの書き込み順序を最適化する。
【００６７】
コマンド・メッセージ制御部３０８は、このようにして最適化した書き込みリスト３０７ａをデータ・メッセージ格納部３０７から読み出してテープライブラリ装置４００に送信する。最適化された書き込みリスト３０７ａを受信したテープライブラリ装置４００の制御部４０１は、書き込みリスト３０７ａの順序にしたがってホストコンピュータ３００からのデータを各磁気テープに書き込む。
【００６８】
［構成情報について］
図３は、実施例２に係る構成情報の一例を示す図である。図３に示すように、テープライブラリ装置４００の構成情報は、テープドライブの識別情報である「テープドライブ情報」に、「状態」と、「マウント情報」が対応付けられている。「状態」は、当該テープドライブの死活情報である。「マウント情報」は、当該テープドライブに挿入されている磁気テープの識別情報である。
【００６９】
構成情報は、テープライブラリ装置４００から送信される情報に基づいて情報が更新される。構成情報によれば、テープライブラリ装置４００に含まれるテープドライブの台数、各テープドライブの識別情報、各テープドライブの死活状態、各テープドライブに挿入されている磁気テープの識別情報を認識することができる。
【００７０】
［書き込みリストについて］
図４Ａは、実施例２に係る書き込みリスト（最適化前）の一例を示す図である。また、図４Ｂは、実施例２に係る書き込みリスト（最適化後）の一例を示す図である。最適化前の書き込みリスト３０７ａには、「書き込みデータ」が「データＡ」、「データＢ」、「データＣ」、「データＸ」、「データＹ」、「データＺ」の順序でリストされている。データＡ」〜「データＣ」、「データＸ」〜「データＺ」は、「書き込み先磁気テープ」が「磁気テープ＃１」、「磁気テープ＃２」、「磁気テープ＃３」、「磁気テープ＃１」、「磁気テープ＃２」、「磁気テープ＃３」である。
【００７１】
この順序で磁気テープに各データを書き込むとすると、使用可能なテープドライブが磁気テープの本数よりも少ない場合には、データの書き込みの都度、磁気テープを付け替えなければならない。このため、磁気テープを付け替えが頻発し、データの書き込みの効率が低い。
【００７２】
よって、図４Ｂに示すように書き込みリスト３０７ａを最適化する。具体的には、「書き込み先磁気テープ」をキーにして、「書き込みデータ」の順序を最適化する。なお、最適化前の書き込みリスト３０７ａにおいて、「書き込み先磁気テープ」の先頭は「磁気テープ＃１」であるので、最適化後も先頭が「磁気テープ＃１」となるようにする。この結果、「書き込みデータは」は、「データＡ」、「データＸ」、「データＢ」、「データＹ」、「データＣ」、「データＺ」の順序でリストされる。「データＡ」、「データＸ」、「データＢ」、「データＹ」、「データＣ」、「データＺ」は、「書き込み先磁気テープ」が「磁気テープ＃１」、「磁気テープ＃１」、「磁気テープ＃２」、「磁気テープ＃２」、「磁気テープ＃３」、「磁気テープ＃３」である。
【００７３】
この順序で磁気テープに各データを書き込むとすると、使用可能なテープドライブが磁気テープの本数より少ない場合にも、磁気テープの付け替は、「磁気テープ＃１」から「磁気テープ＃２」へ、「磁気テープ＃２」から「磁気テープ＃３」への２回のみとなる。このため、磁気テープの付け替え回数を最小限に留め、データの書き込みの効率を向上させることができる。
【００７４】
なお、磁気テープ単位に書き込むデータの総量によって、磁気テープ＃１〜＃３をテープドライブに挿入する順序を変更してもよい。例えば磁気テープ＃２に書き込むデータＢ及びデータＹの総量は１ＧＢだが、磁気テープ＃３に書き込むデータＣ及びデータＺの総量が５０ＭＢである場合には、磁気テープ＃３を先にテープドライブに挿入して、先に少量のデータ書き込みを行なうとしてもよい。
【００７５】
［実施例２に係るモード決定処理］
図５は、実施例２に係るモード決定処理手順を示すフローチャートである。磁気テープ運用処理（リカバリモード）は、テープライブラリ制御部３０２が行なう処理である。先ず、診断部３０４は、「通常モード」でテープライブラリ装置４００の運用を行なう。続いて、診断部３０４は、構成情報制御部３０５に依頼して取得した構成情報格納部３０６に格納されるテープライブラリ装置４００の構成情報の診断の結果に基づき、テープドライブに故障が発生したか否かを判定する（ステップＳ１０２）。
【００７６】
テープドライブに故障が発生したと判定された場合には（ステップＳ１０２肯定）、ステップＳ１０３へ移り、テープドライブに故障が発生したと判定されなかった場合には（ステップＳ１０３否定）、ステップＳ１０１へ移る。
【００７７】
ステップＳ１０３では、診断部３０４は、テープライブラリ装置４００の構成情報の診断の結果に基づき、使用可能なテープドライブの台数が磁気テープの本数より少ないか否かを判定する。すなわち、テープライブラリ装置４００において、使用可能なテープドライブの台数が、ホストコンピュータ３００のデータに割当てられているため使用する磁気テープの本数より少ないか否かを判定する。ステップＳ１０３の処理を「ドライブ減少時判定」と呼ぶ。
【００７８】
使用可能なテープドライブの台数が磁気テープの本数より少ないと判定された場合には（ステップＳ１０３肯定）、ステップＳ１０４へ移る。また、使用可能なテープドライブの台数が磁気テープの本数より少ないと判定されなかった場合には（ステップＳ１０３否定）、ステップＳ１０１へ移る。
【００７９】
ステップＳ１０４では、診断部３０４は、コマンド・メッセージ制御部３０８に、テープライブラリ装置４００に対してリカバリテープ４０４を所定のテープドライブにマウントするコマンドを送信するように指示する。この指示を受信したテープライブラリ装置４００の制御部４０１は、磁気テープ挿入・排出機構４０３を制御してリカバリテープ４０４を所定のテープドライブに挿入する。そして、診断部３０４は、テープライブラリ装置４００を「リカバリモード」で運用すると決定する（ステップＳ１０５）。
【００８０】
続いて、診断部３０４は、構成情報制御部３０５に依頼して取得した構成情報格納部３０６に格納されるテープライブラリ装置４００の構成情報の診断の結果に基づき、テープドライブの故障が復旧したか否かを判定する（ステップＳ１０６）。
【００８１】
テープドライブの故障が復旧したと判定された場合には（ステップＳ１０６肯定）、ステップＳ１０７へ移り、テープドライブの故障が復旧したと判定されなかった場合には（ステップＳ１０６否定）、ステップＳ１０５へ移る。
【００８２】
ステップＳ１０７では、診断部３０４は、ステップＳ１０３と同一の処理を行なう。使用可能なテープドライブの台数が磁気テープの本数より少ないと判定された場合には（ステップＳ１０７肯定）、ステップＳ１０５へ移る。また、使用可能なテープドライブの台数が磁気テープの本数より少ないと判定されなかった場合には（ステップＳ１０７否定）、ステップＳ１０８へ移る。ステップＳ１０８では、コマンド・メッセージ制御部３０８は、診断部３０４の依頼によりテープライブラリ装置４００に対してテープドライブからリカバリテープ４０４をアンマウントするコマンドを送信する。このコマンドを受信したテープライブラリ装置４００は、リカバリテープ４０４をテープドライブから排出する。
【００８３】
［実施例２に係る磁気テープ書き込み処理（リカバリモード）］
図６は、実施例２に係る磁気テープ書き込み制御処理手順を示すフローチャートである。磁気テープ書き込み制御処理は、テープライブラリ制御部３０２が行なう処理である。なお、ステップＳ１１１〜ステップＳ１１５の処理と、ステップＳ１１６〜ステップＳ１１９の処理は独立に並行して行われる。
【００８４】
ステップＳ１１１では、診断部３０４は、ホスト制御部３０１のデータ書き込み要求の受け付け処理の順序で当該データをリカバリテープ４０４に書き込むコマンドをテープライブラリ装置４００に送信するようにコマンド・メッセージ制御部３０８に依頼する。コマンド・メッセージ制御部３０８からのコマンドを受信したテープライブラリ装置４００の制御部４０１は、リカバリテープ４０４が挿入されているテープドライブに対して、リカバリテープ４０４に当該データを書き込むように指示する。
【００８５】
続いて、診断部３０４は、リカバリテープ４０４が挿入されているテープドライブからＥＯＴ（End  Of  Tape）、すなわちリカバリテープ４０４のテープの末尾に至ったことを通知されると（ステップＳ１１２肯定）、リカバリテープ４０４を多のリカバリテープ４０４に付け替えるコマンドを制御部４０１に送信するようにコマンド・メッセージ制御部３０８に依頼する（ステップＳ１１３）。リカバリテープ４０４が挿入されているテープドライブからＥＯＴを通知されなかった場合には（ステップＳ１１２否定）、ステップＳ１１４へ移る。
【００８６】
ステップＳ１１４では、診断部３０４は、ホスト制御部３０１のデータ書き込み要求の次の順序のデータをリカバリテープ４０４に書き込むコマンドをテープライブラリ装置４００に送信するようにコマンド・メッセージ制御部３０８に依頼する。コマンド・メッセージ制御部３０８からのコマンドを受信したテープライブラリ装置４００の制御部４０１は、リカバリテープ４０４が挿入されているテープドライブに対して、リカバリテープ４０４に、前述の次の順序のデータを書き込むように指示する。
【００８７】
続いて、診断部３０４は、テープライブラリ装置４００からホスト制御部３０１の全てのデータ書き込み要求のデータをリカバリテープ４０４へ書き込んだと通知されると（ステップＳ１１５肯定）、リカバリテープへのデータ書き込み制御処理を終了する。全てのデータ書き込み要求のデータをリカバリテープ４０４へ書き込んだと通知されなかった場合には（ステップＳ１１５否定）、ステップＳ１１４へ移る。
【００８８】
一方、ステップＳ１１６では、診断部３０４は、コマンド・メッセージ制御部３０８に依頼して、ホスト制御部３０１のデータ書き込み要求にしたがってリカバリテープ４０４に書き込むデータの書き込みリスト３０７ａを生成する。そして、コマンド・メッセージ制御部３０８は、生成した書き込みリスト３０７ａを最適化する（ステップＳ１１７）。
【００８９】
続いて、コマンド・メッセージ制御部３０８は、書き込みリスト３０７ａにしたがってデータをリカバリテープ４０４ではない通常の磁気テープに書き込むように最適化した書き込みリスト３０７ａをテープライブラリ装置４００に送信する（ステップＳ１１８）。コマンド・メッセージ制御部３０８から最適化された書き込みリスト３０７ａを受信したテープライブラリ装置４００の制御部４０１は、書き込みリスト３０７ａにしたがってデータを該当する磁気テープに書き込む。
【００９０】
続いて、診断部３０４は、テープライブラリ装置４００からホスト制御部３０１の全てのデータ書き込み要求のデータを該当する磁気テープへ書き込んだと通知されると（ステップＳ１１９肯定）、磁気テープへのデータ書き込み制御処理を終了する。全てのデータ書き込み要求のデータを該当する磁気テープへ書き込んだと通知されなかった場合には（ステップＳ１１９否定）、ステップＳ１１８へ移る。
【００９１】
このように、ホスト制御部３０１からの書き込み要求に対応するデータをリカバリテープ４０４に優先的に書き込むことにより、磁気テープの付け替えを経ずに、リカバリテープ４０４へ直ちにデータを書き込むことができる。
【００９２】
［実施例２に係る磁気テープ読み出し制御処理（リカバリモード）］
図７は、実施例２に係る磁気テープ読み出し制御処理（リカバリモード）手順を示すフローチャートである。磁気テープ読み出し制御処理は、テープライブラリ制御部３０２が行なう処理である。
【００９３】
先ず、ステップＳ１２１では、診断部３０４は、コマンド・メッセージ制御部３０８に、テープライブラリ装置４００に対してホスト制御部３０１からの読み出し要求に対応するデータがリカバリテープ４０４に存在するか否かを紹介するように依頼する。
【００９４】
ホスト制御部３０１からの読み出し要求に対応するデータがリカバリテープ４０４に存在する場合には（ステップＳ１２１肯定）、診断部３０４は、次の処理を行なう。すなわち、コマンド・メッセージ制御部３０８に当該データをリカバリテープ４０４から読み出すコマンドをテープライブラリ装置４００に送信するように依頼する（ステップＳ１２２）。このコマンドを受信したテープライブラリ装置４００の制御部４０１は、リカバリテープ４０４から該当するデータを読み出してテープライブラリ制御部３０２へ送信する。
【００９５】
一方、ホスト制御部３０１からの読み出し要求に対応するデータがリカバリテープ４０４に存在しない場合には（ステップＳ１２１否定）、診断部３０４は、次の処理を行なう。すなわち、診断部３０４は、コマンド・メッセージ制御部３０８に当該データを記録した通常の磁気テープをいずれかのテープドライブに挿入するコマンドをテープライブラリ装置４００に送信するように依頼する（ステップＳ１２３）。
【００９６】
そして、診断部３０４は、挿入した通常の磁気テープから当該データを読み出すコマンドをテープライブラリ装置４００に送信するように依頼する（ステップＳ１２４）。このコマンドを受信したテープライブラリ装置４００の制御部４０１は、当該データを記録した磁気テープから該当するデータを読み出してテープライブラリ制御部３０２へ送信する。
【００９７】
このように、ホスト制御部３０１からの読み出し要求に対応するデータがリカバリテープ４０４に存在する場合には、磁気テープの付け替えを経ずに、リカバリテープ４０４から直ちにデータを読み出すことができる。
【００９８】
上述したように、テープドライブが故障し、ドライブ資源減少と判定された場合、データの読み出しについては冗長データを格納するリカバリテープを優先して使用する。これは、リカバリテープはほとんどテープの付け替えが行われないため、データの読み出しを行う際、テープの頭出しの動作だけで済むため、Ｉ／Ｏ（Input  Output）処理開始までにかかる待ち時間が少なくすることができるためである。また、本来であれば複数のテープに対するＩ／Ｏ要求も１本の磁気テープで解決できるので、同時に読み出し要求があった場合でも短時間で読み出しを行うことができる。
【００９９】
［実施例２の作用］
図８Ａは、実施例２に係る磁気テープ書き込み方法（通常モード時）を示す図である。図８Ａに示すように、通常モード時は、データＡ、Ｂ、Ｃごとに書き込み用に割り当てられた磁気テープ＃１、＃２、＃３にデータを書き込む。リカバリテープは、いずれのテープドライブにも挿入されておらず、データが書き込まれることはない。この状態を「初期状態」とする。このように、「通常モード」は、リカバリテープを用いない以外は、従来と差異がないモードである。なお、図８Ａにおいて、データＣ´に更新されたデータＣは無効なデータとなっている。
【０１００】
図８Ｂは、実施例２に係る磁気テープ書き込み方法（リカバリモード時）を示す図である。前述の「初期状態」からテープドライブの故障が発生し、使用可能なドライブが３台から２台へと減少したため、ドライブ資源減少と判定する。その後、磁気テープ＃１及びリカバリテープにデータＡ´を書き込むために、磁気テープ＃１及びリカバリテープがテープドライブに挿入される。そして、テープ＃１においてデータＡ´に更新されたデータＡは無効なデータとなる。
【０１０１】
続いて、データＣ´´が書き込まれる場合には、リカバリテープは、テープドライブから排出せず、データＡ´の後にデータＣ´´を追加する。一方、磁気テープ＃３については、テープドライブに空きがないので、磁気テープ＃１を排出した上で磁気テープ＃３をテープドライブに挿入する。その後、磁気テープ＃３に対しデータＣ´´を書き込む。よって、磁気テープの付け替えを必要としないリカバリテープの方が先にデータＣ´´の書き込みが完了する。
【０１０２】
同様に、データＢ´が書き込まれる場合も、リカバリテープは、テープドライブから排出せず、データＣ´´の後にデータＢ´を追加する。一方、磁気テープ＃２については、テープドライブに空きがないので、磁気テープ＃３を排出した上で磁気テープ＃２をテープドライブから排出する。その後、磁気テープ＃２に対しデータＢ´を書き込む。よって、磁気テープの付け替えを必要としないリカバリテープの方が先にデータＢ´の書き込みが完了する。
【０１０３】
リカバリテープは、データＣ´´の書き込みが完了すれば、磁気テープ＃３へのデータＣ´´の書き込み完了を待つことなくデータＢ´の書き込みが可能なので、さらに早くデータＢ´の書き込みが完了する。
【０１０４】
このように、リカバリテープへの書き込みについては処理優先度を高く設定し、途中でリカバリテープを排出することなくデータＡ´、データＣ´´、データＢ´が連続で書き込まれる。本来、データＡ´、データＣ´´、データＢ´を書き込むべき磁気テープ＃１〜＃３への書き込みについては、リカバリテープを挿入しているテープドライブ以外に空きのドライブがある場合に限り、磁気テープの付け替えを行いながらのデータ書き込みを行なう。これにより、磁気テープの付け替えを必要としないリカバリテープの方が先に要求された全データの書き込みを完了する。
【０１０５】
この結果、図８Ｂに示すように、各磁気テープにデータが書き込まれる。この状態を「状態１」とする。また、リカバリテープに優先的に書き込みを行なう処理モードが「リカバリモード」である。
【０１０６】
図８Ｃは、実施例２に係る磁気テープ書き込み方法（リカバリモード時に書き込みデータの更新があった場合）を示す図である。前述の「状態１」から、磁気テープ＃１に書きこまれているデータＡ´に対して更新があった場合、磁気テープ＃１とリカバリテープに対し更新したデータＡ´´をそれぞれ書き込む。更新前のデータＡ´は無効として取り扱う。データ更新された場合の磁気テープからデータ読み出し処理については、従来技術と同様である。この結果、図８Ｃに示すように、各磁気テープにデータが書き込まれる。この状態を「状態２」とする。
【０１０７】
なお、リカバリテープに書き込まれた無効データは、従来技術であるリオガニゼーション機能により無効データを削除してもよい。ただし、ドライブ資源減少時はリカバリテープの使用頻度が高いので、テープライブラリシステムＳ２の運用時間外のようなテープアクセスが発生しない時間帯を指定してリオガニゼーションを行ってもよい。また、リカバリテープは、リオガニゼーション対象外と設定してもよい。
【０１０８】
また、ドライブ資源減少時にリカバリテープの最後までデータが書き込まれた場合、新たなリカバリテープに書き込みを引き継ぐ。すなわち、リカバリテープは、テープライブラリごとに複数用意しておく。リカバリテープの最後までデータが書き込まれたことを判定する処理が「ＥＯＴ判定」である。
【０１０９】
テープドライブの故障が復旧し、ドライブ資源減少時が終了したと判定された場合には、リカバリテープは不要となりテープドライブから排出される。しかし、リカバリテープを部分的なバックアップデータとして保管してもよい。リカバリテープを保管する機能は、従来技術であるテープライブラリ装置の磁気テープの外部保管・投入の機能を応用することで実現できる。
【０１１０】
［実施例２に係る磁気テープ運用処理プログラムを実行するホストコンピュータ］
図９は、実施例２に係る磁気テープ運用処理プログラムを実行するホストコンピュータを示す図である。ホストコンピュータ３００は、バス３５０に接続された通信制御部３１０、ＨＤＤ（Hard  Disk  Drive）３２０、ＣＰＵ３３０、ＲＡＭ３４０を含む。ＨＤＤ３２０は、磁気テープ運用プログラム３２１、構成情報３２２、書き込みリスト３２３を記憶する。
【０１１１】
ＣＰＵ３３０は、ＨＤＤ３２１から磁気テープ運用プログラム３２１を読み出して磁気テープ運用プロセス３３１として実行する。磁気テープ運用プロセス３３１は、図５に示したモード決定処理、図６に示した磁気テープ書き込み制御処理（リカバリモード）、図７に示した磁気テープ読み出し制御処理（リカバリモード）を行なう。磁気テープ運用プロセス３３１は、各処理を行なう際に、一時記憶装置としてＲＡＭ３４０を使用し、ＨＤＤ３２０の構成情報３２２及び書き込みリスト３２３に適宜アクセスする。
【０１１２】
［実施例２の変形例］
実施例２では、テープライブラリ制御部３０２は、ホストコンピュータ３００に含まれて機能するとした。しかし、これに限定されず、ホストコンピュータ３００と、テープライブラリ装置４００との間に介在するサーバ装置等のコンピュータに含まれて機能するとしてもよい。
【０１１３】
実施例２では、図６に示した磁気テープ書き込み処理（リカバリモード）において、書き込みリスト３０７ａをコマンド・メッセージ制御部３０８が生成して最適化するとした。しかし、これに限らず、テープライブラリ装置４００の制御部４０１において書き込みリスト３０７ａを生成して最適化してもよい。
【０１１４】
実施例２では、使用可能なドライブ数が故障等により減少した状態を「ドライブ資源減少時」としている。しかし、使用可能なテープドライブの台数と、データ処理要求の種別及び要求数とから導き出せる「テープの付け替え回数」により「ドライブ資源減少時」と判定してもよい。例えば「テープの付け替え回数」が「使用可能なテープドライブの台数」以上ある場合は、テープドライブのいずれにも故障が発生していなくても、「ドライブ資源減少時」と判定する。
【０１１５】
実施例２では、図６の磁気テープ書き込み制御処理のステップＳ１１１〜ステップＳ１１５の処理と、ステップＳ１１６〜ステップＳ１１９の処理を独立に並行して行なうこととした。すなわち、リカバリテープ４０４へのデータの書き込みと、当該データに割当てられた磁気テープへのデータの書き込みとを、テープライブラリ制御部３０２からの個別のコマンドにしたがって行なうとした。
【０１１６】
ここで、磁気テープの付け替えを行なわないリカバリテープへのデータの書き込みが、当該データに割当てられた磁気テープへのデータの書き込みよりも早く完了する。このことから、テープライブラリ制御部３０２は、リカバリテープ４０４へのデータの書き込みのみを指示するコマンドをテープライブラリ装置４００へ送信する。そして、テープライブラリ装置４００において、当該データに割当てられた磁気テープへのデータの書き込みは、リカバリテープからのデータの複写によって行なってもよい。このようにすると、ホスト制御部３０１がテープライブラリ装置４００へのデータ要求の応答待ちから速やかに解放されるのみならず、テープライブラリ制御部３０２もデータ要求の応答待ちから速やかに解放される。
【０１１７】
［実施例２の効果］
実施例２では、テープドライブが故障して使用可能なテープドライブが減少した場合に、ホストコンピュータ３００のデータを当該データに割当てられた磁気テープとともにリカバリテープ４０４に書き込む。この際、リカバリテープ４０４への書き込みを優先する。そして、リカバリテープ４０４への書き込みが完了すると、ホストコンピュータ３００へ当該データの書き込む完了通知を送信する。よって、ホストコンピュータに対して速やかにデータの書き込みの完了通知を送信できる。
【０１１８】
また、ホストコンピュータ３００のデータを当該データに割当てられた磁気テープに書き込む際には、磁気テープの付け替え回数が最少になるようにデータの書き込み順序を最適化する。よって、磁気テープの付け替えによる書き込みの待ち時間を低減し、効率的にデータを磁気テープに書き込むことができる。
【実施例３】
【０１１９】
［実施例３の概要］
実施例３は、実施例２においてテープライブラリ制御部がホストコンピュータに含まれる構成であるのに対して、テープライブラリ制御部がテープライブラリ装置に含まれる構成である。この点以外は、実施例２と同一である。すなわち、実施例３において、実施例２と同一名称を付与した構成は、実施例２と同一の機能を有し、同一の処理を行なう。
【０１２０】
［実施例３に係るテープライブラリシステムの構成］
実施例３のテープライブラリシステムＳ３におけるホストコンピュータ５００のホスト制御部５０１は、実施例２におけるホストコンピュータ３００のホスト制御部３０１と同一である。
【０１２１】
実施例３のテープライブラリ制御部６０１は、コマンド制御部６０２、診断部６０３、構成情報制御部６０４、構成情報格納部６０５、データ・メッセージ格納部６０６、コマンド・メッセージ制御部６０７を含む。コマンド制御部６０２は、実施例２のコマンド制御部３０３と同一である。また、診断部６０３は、実施例２の診断部３０４と同一である。また、構成情報制御部６０４は、実施例２の構成情報制御部３０５と同一である。また、構成情報格納部６０５は、実施例２の構成情報格納部３０６と同一である。また、データ・メッセージ格納部６０６は、実施例２のデータ・メッセージ格納部３０７と同一である。また、コマンド・メッセージ制御部６０７は、実施例２のコマンド・メッセージ制御部３０８と同一である。
【０１２２】
また、テープライブラリ装置６００は、制御部６０８、テープドライブ＃ａ＿６０９ａ〜テープドライブ＃ｎ＿６０９ｎ、磁気テープ挿入・排出機構６１０を含む。また、テープライブラリ装置６００は、セル６１２に収納されるリカバリテープ６１１、セル６１２ａに収納される磁気テープ＃ａ＿６１１ａ〜セル６１２ｎに収納される磁気テープ＃ｎ＿６１１ｎを含む。
【０１２３】
制御部６０８は、実施例２の制御部４０１と同一である。また、テープドライブ＃ａ＿６０９ａ〜テープドライブ＃ｎ＿６０９ｎは、実施例２のテープドライブ＃ａ＿４０２ａ〜テープドライブ＃ｎ＿４０２ｎと同一である。また、磁気テープ挿入・排出機構６１０は、実施例２の磁気テープ挿入・排出機構４０３と同一である。また、セル６１２に収納されるリカバリテープ６１１は、実施例２のセル４０５に収納されるリカバリテープ４０４と同一である。また、セル６１２ａに収納される磁気テープ＃ａ＿６１１ａ〜セル６１２ｎに収納される磁気テープ＃ｎ＿６１１ｎは、実施例２のセル４０５ａに収納される磁気テープ＃ａ＿４０４ａ〜セル４０５ｎに収納される磁気テープ＃ｎ＿４０４ｎと同一である。
【０１２４】
［実施例３に係る磁気テープ運用処理プログラムを実行するテープライブラリ装置］
図１１は、実施例３に係る磁気テープ運用処理プログラムを実行するテープライブラリ装置を示す図である。テープライブラリ装置７００は、バス７７０に接続された通信制御部７１０、ＨＤＤ７２０、ＣＰＵ７３０、ＲＡＭ７４０を含む。ＨＤＤ７２０は、磁気テープ運用プログラム７２１、構成情報７２２、書き込みリスト７２３を記憶する。また、テープライブラリ装置７００は、バス７７０に接続された複数のテープドライブ７５０、磁気テープ挿入・排出機構７６０を含む。
【０１２５】
ＣＰＵ７３０は、ＨＤＤ７２１から磁気テープ運用プログラム７２１を読み出して磁気テープ運用プロセス７３１として実行する。磁気テープ運用プロセス７３１は、図５に示したモード決定処理、図６に示した磁気テープ書き込み制御処理（リカバリモード）、図７に示した磁気テープ読み出し制御処理（リカバリモード）を行なう。磁気テープ運用プロセス７３１は、各処理を行なう際に、一時記憶装置としてＲＡＭ７４０を使用し、ＨＤＤ７２０の構成情報７２２及び書き込みリスト７２３に適宜アクセスする。また、ＣＰＵ７３０は、複数のテープドライブ７５０及び磁気テープ挿入・排出機構７６０を制御する。
【０１２６】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１２７】
（付記１）ホストコンピュータからのデータ要求に対応するデータごとに割り当てられた磁気テープの総数、及び、テープライブラリ装置が備える複数の磁気テープ装置のうち使用可能な磁気テープ装置の台数に関する情報を含む前記テープライブラリ装置の構成情報を格納する構成情報格納部と、
前記構成情報格納部に格納された前記構成情報に基づき前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回るか否かを診断し、前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回ると診断した場合には前記テープライブラリ装置の運用モードを第一のモードに決定し、前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回ると診断しなかった場合には前記テープライブラリ装置の運用モードを第二のモードに決定する診断部と、
前記診断部により前記テープライブラリ装置の運用モードが前記第一のモードに決定された場合には、前記診断部の依頼に応じて前記テープライブラリ装置に対して、前記ホストコンピュータからのデータに割り当てられた磁気テープに当該データを書き込むとともに、前記ホストコンピュータからのデータ要求に対応する全データで共用する共有の磁気テープに当該データを書き込むように指示するコマンドを出力制御するコマンド制御部と
を備えたことを特徴とするテープライブラリ制御装置。
【０１２８】
（付記２）前記構成情報は、前記テープライブラリ装置から通知された前記複数の磁気テープ装置の故障に関する情報を含み、
前記複数の磁気テープ装置うちの使用可能な磁気テープ装置の台数は、前記複数の磁気テープ装置の台数から故障した磁気テープ装置の台数を差し引いた数であることを特徴とする付記１記載のテープライブラリ制御装置。
【０１２９】
（付記３）前記コマンド制御部は、前記診断部により前記テープライブラリ装置の運用モードが前記第一のモードに決定された場合には、前記テープライブラリ装置に対して、前記ホストコンピュータからのデータに割り当てられた磁気テープよりも前記共用の磁気テープに対して優先的に当該データを書き込むようにコマンドを出力制御し、
前記診断部は、前記テープライブラリ装置から前記ホストコンピュータのデータの前記共用の磁気テープへの書き込む処理が完了した通知を当該データの磁気テープへの書き込み完了通知として前記ホストコンピュータへ送信することを特徴とする付記１又は２記載のテープライブラリ制御装置。
【０１３０】
（付記４）前記コマンド制御部は、前記使用可能な磁気テープ装置の台数と、前記データごとに割り当てられた磁気テープの総数とに基づく前記複数の磁気テープ装置における磁気テープの排出及び挿入の回数が最少になるように、前記ホストコンピュータからのデータに関する前記複数の磁気テープへの書き込みの順序を最適化することを特徴とする付記１、２又は３記載のテープライブラリ制御装置。
【０１３１】
（付記５）前記診断部は、前記テープライブラリ装置の運用モードが前記第一のモードである場合に、前記ホストコンピュータからのデータの読み出しの要求に応じて前記コマンド制御部に対して、前記テープライブラリ装置の前記共用の磁気テープに該当するデータが存在するか否かを照会するコマンドを出力するように指示し、
前記コマンド制御部は、前記共用の磁気テープに該当するデータが存在する場合には前記共用の磁気テープから該当するデータを読み出し、前記共用の磁気テープに該当するデータが存在しない場合には該当するデータに割り当てられた磁気テープから該当するデータを読み出すことを特徴とする付記１〜４のいずれか一項記載のテープライブラリ制御装置。
【０１３２】
（付記６）テープライブラリ装置の制御を行うテープライブラリ制御装置が実行するテープライブラリ制御方法において、
ホストコンピュータからのデータ要求に対応するデータごとに割り当てられた磁気テープの総数、及び、テープライブラリ装置が備える複数の磁気テープ装置のうち使用可能な磁気テープ装置の台数に関する情報を含む前記テープライブラリ装置の構成情報に基づき前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回るか否かを診断し、前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回ると診断した場合には前記テープライブラリ装置の運用モードを第一のモードに決定し、前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回ると診断しなかった場合には前記テープライブラリ装置の運用モードを第二のモードに決定する診断ステップと、
前記診断ステップにより前記テープライブラリ装置の運用モードが前記第一のモードに決定された場合には、前記診断ステップの依頼に応じて前記テープライブラリ装置に対して、前記ホストコンピュータからのデータに割り当てられた磁気テープに当該データを書き込むとともに、前記ホストコンピュータからのデータ要求に対応する全データで共用する共有の磁気テープに当該データを書き込むように指示するコマンドを出力制御するコマンド制御ステップと
を含んだことを特徴とするテープライブラリ制御方法。
【０１３３】
（付記７）前記構成情報は、前記テープライブラリ装置から通知された前記複数の磁気テープ装置の故障に関する情報を含み、
前記複数の磁気テープ装置うちの使用可能な磁気テープ装置の台数は、前記複数の磁気テープ装置の台数から故障した磁気テープ装置の台数を差し引いた数であることを特徴とする付記６記載のテープライブラリ制御方法。
【０１３４】
（付記８）テープライブラリ装置の制御を行うテープライブラリ制御プログラムにおいて、
コンピュータに、
ホストコンピュータからのデータ要求に対応するデータごとに割り当てられた磁気テープの総数、及び、テープライブラリ装置が備える複数の磁気テープ装置のうち使用可能な磁気テープ装置の台数に関する情報を含む前記テープライブラリ装置の構成情報に基づき前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回るか否かを診断し、前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回ると診断した場合には前記テープライブラリ装置の運用モードを第一のモードに決定し、前記磁気テープの総数が前記使用可能な磁気テープ装置の台数を上回ると診断しなかった場合には前記テープライブラリ装置の運用モードを第二のモードに決定する診断手順と、
前記診断手順により前記テープライブラリ装置の運用モードが前記第一のモードに決定された場合には、前記診断ステップの依頼に応じて前記テープライブラリ装置に対して、前記ホストコンピュータからのデータに割り当てられた磁気テープに当該データを書き込むとともに、前記ホストコンピュータからのデータ要求に対応する全データで共用する共有の磁気テープに当該データを書き込むように指示するコマンドを出力制御するコマンド制御手順と
を実行させることを特徴とするテープライブラリ制御プログラム。
【０１３５】
（付記９）前記構成情報は、前記テープライブラリ装置から通知された前記複数の磁気テープ装置の故障に関する情報を含み、
前記複数の磁気テープ装置うちの使用可能な磁気テープ装置の台数は、前記複数の磁気テープ装置の台数から故障した磁気テープ装置の台数を差し引いた数であることを特徴とする付記８記載のテープライブラリ制御プログラム。
【符号の説明】
【０１３６】
１００  テープライブラリ制御装置
１０１  診断部
１０２  構成情報格納部
１０３  コマンド制御部
２００  テープライブラリ装置
２０１  制御部
２０２ａ  磁気テープ＃ａ
２０２ｂ  磁気テープ＃ｂ
２０２ｃ  磁気テープ＃ｃ
２０３  共用の磁気テープ
２０３ａ  磁気テープ＃ａ
２０３ｂ  磁気テープ＃ｂ
２０３ｃ  磁気テープ＃ｃ
３００  ホストコンピュータ
３０１  ホスト制御部
３０２  テープライブラリ制御部
３０３  コマンド制御部
３０４  診断部
３０５  構成情報制御部
３０６  構成情報格納部
３０７  データ・メッセージ格納部
３０７ａ  書き込みリスト
３０８  コマンド・メッセージ制御部
３１０  通信制御部
３１０  ＨＤＤ
３２１  磁気テープ運用プログラム
３２２  構成情報
３２３  書き込みリスト
３３０  ＣＰＵ
３３１  磁気テープ運用プロセス
３４０  ＲＡＭ
３５０  バス
４００  テープライブラリ装置
４０１  制御部
４０２ａ  テープドライブ＃ａ
４０２ｂ  テープドライブ＃ｂ
４０２ｎ  テープドライブ＃ｎ
４０３  磁気テープ挿入・排出機構
４０４  リカバリテープ
４０４ａ  磁気テープ＃ａ
４０４ｂ  磁気テープ＃ｂ
４０４ｃ  磁気テープ＃ｃ
４０５、４０５ａ、４０５ｂ、・・・、４０５ｎ  セル
５００  ホストコンピュータ
５０１  ホスト制御部
６００  テープライブラリ装置
６０１  テープライブラリ制御部
６０２  コマンド制御部
６０３  診断部
６０４  構成情報制御部
６０５  構成情報格納部
６０６  データ・メッセージ格納部
６０７  コマンド・メッセージ制御部
６０８  制御部
６０９ａ  テープドライブ＃ａ
６０９ｂ  テープドライブ＃ｂ
６０９ｎ  テープドライブ＃ｎ
６１０  磁気テープ挿入・排出機構
６１１  リカバリテープ
６１１ａ  磁気テープ＃ａ
６１１ｂ  磁気テープ＃ｂ
６１１ｎ  磁気テープ＃ｎ
６１２、６１２ａ、６１２ｂ、・・・、６１２ｎ  セル
７００  テープライブラリ装置
７１０  通信制御部
７２０  ＨＤＤ
７２１  磁気テープ運用プログラム
７２２  構成情報
７２３  書き込みリスト
７３０  ＣＰＵ
７３１  磁気テープ運用プロセス
７５０  テープドライブ
７６０  磁気テープ挿入・排出機構
７７０  バス
【図１】
0005504931.tif 000002
【図２】
0005504931.tif 000003
【図３】
0005504931.tif 000004
【図４Ａ】
0005504931.tif 000005
【図４Ｂ】
0005504931.tif 000006
【図５】
0005504931.tif 000007
【図６】
0005504931.tif 000008
【図７】
0005504931.tif 000009
【図８Ａ】
0005504931.tif 000010
【図８Ｂ】
0005504931.tif 000011
【図８Ｃ】
0005504931.tif 000012
【図９】
0005504931.tif 000013
【図１０】
0005504931.tif 000014
【図１１】
0005504931.tif 000015