(57)【特許請求の範囲】
【請求項１】
テープカートリッジ内の非接触型メモリへのアクセス機構を有し、前記テープカートリッジ内の磁気テープに記録されたデータの位置情報を前記非接触型メモリから読み込んで前記データの位置付けを行うテープドライブ装置と、
前記非接触型メモリへのアクセス機構を有し、前記テープカートリッジを前記テープドライブ装置まで移動するロボット部と、
前記ロボット部のアクセス機構により前記非接触型メモリから前記位置情報を読み込んで不揮発性メモリに格納する制御部と、を備え、
前記テープドライブ装置は、
前記非接触型メモリからの前記位置情報の読み込みに失敗した場合に、前記位置情報の転送要求を前記制御部に送信し、
前記制御部は、
前記テープドライブ装置から前記転送要求を受信したことに応じて、前記不揮発性メモリに格納した前記位置情報を、前記テープドライブ装置に転送する、
ことを特徴とするテープライブラリ装置。
【請求項２】
テープカートリッジ内の非接触型メモリへのアクセス機構を有し、前記テープカートリッジ内の磁気テープに記録されたデータの位置情報を前記非接触型メモリから読み込んで前記データの位置付けを行うテープドライブ装置と、
前記非接触型メモリへのアクセス機構を有し、前記テープカートリッジを前記テープドライブ装置まで移動するロボット部と、
前記ロボット部のアクセス機構により前記非接触型メモリから前記位置情報を読み込んで不揮発性メモリに格納する制御部と、を備え、
前記テープドライブ装置は、
前記テープカートリッジのアンロード指示を受け付けたことに応じて、前記テープカートリッジ内の磁気テープに記録されたデータの位置情報を前記制御部に送信し、
前記非接触型メモリへの位置情報の書き込みに失敗した場合に、前記テープカートリッジのテープアラートを前記制御部に通知し、
前記制御部は、
前記テープドライブ装置から受信した位置情報を前記不揮発性メモリに格納し、
前記テープドライブ装置から前記テープアラートを受け付けた場合、前記ロボット部のアクセス機構により、前記不揮発性メモリに格納した位置情報を前記非接触型メモリに書き込む、
ことを特徴とするテープライブラリ装置。
【請求項３】
テープカートリッジ内の非接触型メモリへのアクセス機構を有し、前記テープカートリッジ内の磁気テープに記録されたデータの位置情報を前記非接触型メモリから読み込んで前記データの位置付けを行うテープドライブ装置と、前記テープカートリッジを前記テープドライブ装置まで移動するロボット部と、前記ロボット部を制御する制御部と、を備えるテープライブラリ装置の情報管理方法であって、
前記制御部が、前記ロボット部が有する前記非接触型メモリへのアクセス機構により、前記非接触型メモリから前記位置情報を読み込んで不揮発性メモリに格納し、
前記テープドライブ装置が、前記非接触型メモリからの前記位置情報の読み込みに失敗した場合に、前記位置情報の転送要求を前記制御部に送信し、
前記制御部が、前記テープドライブ装置から前記転送要求を受信したことに応じて、前記不揮発性メモリに格納した前記位置情報を、前記テープドライブ装置に転送する、
ことを特徴とする情報管理方法。
【請求項４】
テープカートリッジ内の非接触型メモリへのアクセス機構を有し、前記テープカートリッジ内の磁気テープに記録されたデータの位置情報を前記非接触型メモリから読み込んで前記データの位置付けを行うテープドライブ装置と、前記テープカートリッジを前記テープドライブ装置まで移動するロボット部と、前記ロボット部を制御する制御部と、を備えるテープライブラリ装置の情報管理方法であって、
前記制御部が、前記ロボット部が有する前記非接触型メモリへのアクセス機構により、前記非接触型メモリから前記位置情報を読み込んで不揮発性メモリに格納し、
前記テープドライブ装置が、前記テープカートリッジのアンロード指示を受け付けたことに応じて、前記テープカートリッジ内の磁気テープに記録されたデータの位置情報を前記制御部に送信し、
前記制御部が、前記テープドライブ装置から受信した位置情報を前記不揮発性メモリに格納し、
前記テープドライブ装置が、前記非接触型メモリへの位置情報の書き込みに失敗した場合に、前記テープカートリッジのテープアラートを前記制御部に通知し、
前記制御部が、前記テープドライブ装置から前記テープアラートを受け付けた場合、前記ロボット部のアクセス機構により、前記不揮発性メモリに格納した位置情報を前記非接触型メモリに書き込む、
ことを特徴とする情報管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テープライブラリ装置、および情報管理方法に関する。
【背景技術】
【０００２】
従来、テープカートリッジのカートリッジメモリ（以下、「ＣＭ」と称する）には、ＥＯＤ（Ｅｎｄ  Ｏｆ  Ｄａｔａ）やファイルマーク（あるいは、テープマーク）などの位置に関する情報が記録される。この情報は、テープカートリッジのロード時に、テープドライブ内のＣＭリーダ／ライタを使用して、テープドライブのコントローラ上のメモリに読み込まれる。テープドライブは、上位ホストからのロケート、スペースファイル等の位置付けコマンドに対し、この情報を利用することにより高速位置付けを行う。この高速位置付けにより、アクセスタイムを短縮することが可能となる。
【０００３】
先行技術としては、例えば、磁気テープライブラリ装置のメモリ情報リード処理部が、磁気テープカートリッジのメモリから情報を読み取り、保守／交換判定部が、読み取った情報に基づいて、磁気テープドライブ装置の保守または交換に係る判定を行う技術がある。また、把持機構に取り付けられたセンサが、カートリッジに添付されたＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  ＩＤｅｎｔｉｆｉｅｒ）チップからカートリッジの情報を取り込み、収納棚に取り付けられた半導体チップと通信を行い、半導体チップにカートリッジの情報を保持させる技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１６４４４５号公報
【特許文献２】特開２００７−１７９６９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、テープカートリッジのロード時に、何らかの原因でＣＭに記録された情報をテープドライブが読み取れない場合には、ＥＯＤやファイルマークなどの位置に関する情報をテープドライブが利用できなくなる。
【０００６】
一つの側面では、本発明は、データの位置付けを行うための位置情報を冗長化して保持するテープライブラリ装置、および情報管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、テープカートリッジ内の非接触型メモリへのアクセス機構を有し、前記テープカートリッジ内の磁気テープに記録されたデータの位置情報を前記非接触型メモリから読み込んで前記データの位置付けを行うテープドライブ装置と、前記テープカートリッジを前記テープドライブ装置まで移動するロボット部と、前記ロボット部を制御する制御部と、を備えるテープライブラリ装置の前記制御部が、前記ロボット部が有する前記非接触型メモリへのアクセス機構により、前記非接触型メモリから前記位置情報を読み込んで不揮発性メモリに格納するテープライブラリ装置、および情報管理方法が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、データの位置付けを行うための位置情報を冗長化して保持することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、テープライブラリ装置１００のシステム構成例を示す説明図である。
【図２】図２は、テープドライブ装置ＴＤの装置構成例を示す説明図である。
【図３】図３は、ライブラリコントローラ１０１等のハードウェア構成例を示すブロック図である。
【図４】図４は、ライブラリ用フラグ管理情報の具体例を示す説明図である。
【図５】図５は、ドライブ用フラグ管理情報の具体例を示す説明図である。
【図６】図６は、テープライブラリ装置１００のライブラリコントローラ１０１の機能的構成例を示すブロック図である。
【図７】図７は、テープカートリッジ情報の具体例を示す説明図である。
【図８】図８は、テープドライブ装置ＴＤのコントローラ２０１の機能的構成例を示すブロック図である。
【図９】図９は、テープライブラリ装置１００のライブラリコントローラ１０１の初期化処理手順の一例を示すフローチャートである。
【図１０】図１０は、テープライブラリ装置１００のライブラリコントローラ１０１の第１のフラグ管理処理手順の一例を示すフローチャートである。
【図１１】図１１は、テープライブラリ装置１００のライブラリコントローラ１０１のロード処理手順の一例を示すフローチャートである。
【図１２】図１２は、ライブラリ用フラグ管理情報の変遷例を示す説明図である。
【図１３】図１３は、テープライブラリ装置１００のライブラリコントローラ１０１のＣＭ情報転送処理手順の一例を示すフローチャートである。
【図１４】図１４は、テープライブラリ装置１００のライブラリコントローラ１０１の第２のフラグ管理処理手順の一例を示すフローチャートである。
【図１５】図１５は、テープライブラリ装置１００のライブラリコントローラ１０１のアンロード処理手順の一例を示すフローチャートである。
【図１６】図１６は、テープドライブ装置ＴＤのコントローラ２０１のロード処理手順の一例を示すフローチャートである。
【図１７】図１７は、ドライブ用フラグ管理情報の変遷例を示す説明図である。
【図１８】図１８は、テープドライブ装置ＴＤのコントローラ２０１のアンロード処理手順の一例を示すフローチャートである。
【図１９】図１９は、テープドライブ装置ＴＤのコントローラ２０１のフラグ管理処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、本発明にかかるテープライブラリ装置、および情報管理方法の実施の形態を詳細に説明する。
【００１１】
（テープライブラリ装置１００のシステム構成例）
まず、実施の形態にかかるテープライブラリ装置１００のシステム構成例について説明する。
【００１２】
図１は、テープライブラリ装置１００のシステム構成例を示す説明図である。図１において、テープライブラリ装置１００は、１以上のテープドライブ装置ＴＤ（図１の例では、テープドライブ装置ＴＤ１〜ＴＤ４）と、ライブラリコントローラ１０１と、ロボット部１０２と、を含む。
【００１３】
ここで、テープドライブ装置ＴＤは、自装置に挿入されたテープカートリッジＴＣ内の磁気テープに対してデータを読み書きする装置である。テープドライブ装置ＴＤは、データをシーケンシャルに読み書きするシーケンシャルアクセスデバイスである。なお、テープドライブ装置ＴＤの装置構成例については、図２を用いて後述する。
【００１４】
テープカートリッジＴＣは、磁気テープを収納するカートリッジである。テープカートリッジＴＣには、ＣＭ（カートリッジメモリ）が内蔵されている。ＣＭは、電磁界や電波などを用いた近距離無線通信により情報をやりとりする非接触型メモリである。例えば、ＣＭは、ＲＦＩＤである。
【００１５】
ライブラリコントローラ１０１は、不揮発性メモリ１１０を有し、テープライブラリ装置１００の全体の制御を司る制御部である。不揮発性メモリ１１０は、電源からの電力の供給が遮断されても記憶内容が消去されない特性を有する記憶装置である。不揮発性メモリ１１０は、例えば、フラッシュメモリなどである。
【００１６】
ロボット部１０２は、テープカートリッジＴＣを格納するアクセッサー１０３を有し、ライブラリコントローラ１０１の制御に従って、ロボットアーム１０４によりテープカートリッジＴＣを移動する。アクセッサー１０３は、ＣＭリーダ／ライタ１０５と、バーコードリーダ（不図示）とを含む。
【００１７】
ＣＭリーダ／ライタ１０５は、アクセッサー１０３に格納されたテープカートリッジＴＣ内のＣＭへのデータの読み書きを行うアクセス機構である。バーコードリーダは、テープカートリッジＴＣに貼付されたバーコードラベルを読み取ることにより、テープカートリッジＴＣを一意に識別する識別子（例えば、ボリューム名）を得る。
【００１８】
また、テープライブラリ装置１００は、テープカートリッジＴＣを格納するセル１０６およびＣＡＳ（Ｃａｒｔｒｉｄｇｅ  Ａｃｃｅｓｓ  Ｓｔａｔｉｏｎ）１０７を有する。セル１０６およびＣＡＳ１０７は、テープカートリッジＴＣを出し入れするためのスロットである。ＣＡＳ１０７は、例えば、テープカートリッジＴＣを収納するマガジンを投入する構造となっており、運用中であっても外部からテープカートリッジＴＣの出し入れを行うことができる。
【００１９】
例えば、ライブラリコントローラ１０１は、テープカートリッジＴＣのロード時に、ロボット部１０２を制御して、セル１０６またはＣＡＳ１０７に格納されたテープカートリッジＴＣをテープドライブ装置ＴＤまで移動させる。また、例えば、ライブラリコントローラ１０１は、テープカートリッジＴＣのアンロード時に、ロボット部１０２を制御して、テープドライブ装置ＴＤに挿入されたテープカートリッジＴＣをセル１０６またはＣＡＳ１０７まで移動させる。
【００２０】
テープライブラリ装置１００において、ライブラリコントローラ１０１は、例えば、ＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）やＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）を介してホスト装置１２０に接続される。ホスト装置１２０は、サーバ等の上位装置であり、例えば、バックアップソフトウェアがインストールされたバックアップサーバである。また、ライブラリコントローラ１０１は、例えば、ＡＣＩやＬＤＩなどのＩ／Ｆを介してテープドライブ装置ＴＤに接続される。
【００２１】
（テープドライブ装置ＴＤの装置構成例）
つぎに、実施の形態にかかるテープドライブ装置ＴＤの装置構成例について説明する。
【００２２】
図２は、テープドライブ装置ＴＤの装置構成例を示す説明図である。図２において、テープドライブ装置ＴＤは、コントローラ２０１と、ＣＭリーダ／ライタ２０２と、ヘッドアセンブリ２０３と、アクチュエータ２０４と、アナログ／デジタル変換部２０５と、を含む。
【００２３】
コントローラ２０１は、テープドライブ装置ＴＤの全体の制御を司る制御部である。ＣＭリーダ／ライタ２０２は、自装置に挿入されたテープカートリッジＴＣ内のＣＭ２１０へのデータの読み書きを行うアクセス機構である。ヘッドアセンブリ２０３は、ライトヘッド、リードヘッドおよびサーボヘッドを含む。ライトヘッドは、データの書き込みを行うためのヘッドである。リードヘッドは、データの読み込みを行うためのヘッドである。サーボヘッドは、目標位置を読み込むためのヘッドである。アクチュエータ２０４は、目標位置にヘッドを動かすシーク機構である。アナログ／デジタル変換部２０５は、アナログ信号をデジタル信号に変換する。
【００２４】
テープドライブ装置ＴＤにおいて、コントローラ２０１は、例えば、ＦＣ、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）などの外部Ｉ／Ｆを介してホスト装置１２０と接続される。また、コントローラ２０１は、例えば、ＡＣＩやＬＤＩなどのＩ／Ｆを介してライブラリコントローラ１０１に接続される。
【００２５】
ここで、テープカートリッジＴＣ内のＣＭ２１０には、ＥＯＤやファイルマーク（テープマーク）などの位置に関する位置情報が記録される。テープドライブ装置ＴＤのコントローラ２０１は、ＣＭリーダ／ライタ２０２により、テープカートリッジＴＣ内のＣＭ２１０に記録された位置情報を読み込んでデータの高速位置付けを行う。
【００２６】
具体的には、例えば、コントローラ２０１は、ＣＭ２１０に記録された位置情報に基づいて、磁気テープ２２０上の所望のデータ（例えば、ファイル）の位置を特定する。そして、コントローラ２０１は、特定した位置の少し手前まで高速に早送りし、そこからデータを読み書きできる速度（定速）で読むことで、所望のデータを見つけることができる。この高速位置付けにより、アクセスタイムを短縮することが可能となる。なお、テープカートリッジＴＣのＣＭ２１０の記憶内容は、アンロード時に更新される。
【００２７】
ところが、テープカートリッジＴＣのロード時に、何らかの原因でＣＭ２１０に記録された位置情報をテープドライブ装置ＴＤが読み取れない場合がある。不具合の要因は、テープカートリッジＴＣ内のＣＭ２１０にあるときもあれば、テープドライブ装置ＴＤのＣＭリーダ／ライタ２０２にあるときもある。
【００２８】
テープドライブ装置ＴＤが、ＣＭ２１０に記録された位置情報を利用できないと、ホスト装置１２０からの位置付けコマンドに対して、磁気テープ２２０の先頭から順次データを読んでいく低速位置付けを行うことになる。低速位置付けの場合、例えば、大量のデータが書き込まれたテープカートリッジＴＣにおいては、データの位置付けに２時間程度（高速位置付けの場合は３分程度）かかることがあり、バックアップ・リストア処理などの大幅な遅延を引き起こすことがある。
【００２９】
そこで、本実施の形態では、ライブラリコントローラ１０１が、テープカートリッジＴＣのロード時などに、ロボット部１０２のＣＭリーダ／ライタ１０５により、テープカートリッジＴＣ内のＣＭ２１０の情報を読み込んで不揮発性メモリ１１０に格納する。これにより、テープドライブ装置ＴＤがデータの位置付けを行うための情報を不揮発性メモリ１１０に冗長化して保持することができる。
【００３０】
例えば、テープドライブ装置ＴＤのＣＭリーダ／ライタ２０２が故障してＣＭ２１０の情報を読み込めない場合がある。また、テープドライブ装置ＴＤのＣＭリーダ／ライタ２０２とテープカートリッジＴＣ内のＣＭ２１０との相性が悪く、双方とも故障していないにも関わらず情報を読み込めない場合がある。このような場合に、ライブラリコントローラ１０１からテープドライブ装置ＴＤに不揮発性メモリ１１０に保持した情報を転送することで、テープドライブ装置ＴＤは、ライブラリコントローラ１０１から転送された情報を利用してデータの高速位置付けを行うことができ、アクセス性能の低下を防ぐことができる。
【００３１】
（ライブラリコントローラ１０１等のハードウェア構成例）
つぎに、図１に示したライブラリコントローラ１０１および図２に示したコントローラ２０１（ここでは、「ライブラリコントローラ１０１等」と称する）のハードウェア構成例について説明する。
【００３２】
図３は、ライブラリコントローラ１０１等のハードウェア構成例を示すブロック図である。図３において、ライブラリコントローラ１０１等は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ３０３と、を有する。また、各構成部はバス３００によってそれぞれ接続されている。
【００３３】
ここで、ＣＰＵ３０１は、ライブラリコントローラ１０１等の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有している。より具体的には、例えば、フラッシュＲＯＭがＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やファームウェアなどのプログラムを記憶し、ＲＯＭがアプリケーションプログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されているプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させることになる。なお、図１に示した不揮発性メモリ１１０は、ライブラリコントローラ１０１のメモリ３０２に含まれる。
【００３４】
Ｉ／Ｆ３０３は、他の装置からのデータの入出力を制御する。具体的には、例えば、Ｉ／Ｆ３０３は、通信回線を通じてＬＡＮ、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワークに接続され、このネットワークを介して他の装置に接続される。そして、Ｉ／Ｆ３０３は、ネットワークと内部のインターフェースを司り、他の装置からのデータの入出力を制御する。
【００３５】
（ライブラリ用フラグ管理情報の具体例）
つぎに、テープライブラリ装置１００のライブラリコントローラ１０１が用いるライブラリ用フラグ管理情報の具体例について説明する。ライブラリ用フラグ管理情報は、例えば、ライブラリコントローラ１０１の不揮発性メモリ１１０（図１参照）に記憶される。
【００３６】
図４は、ライブラリ用フラグ管理情報の具体例を示す説明図である。図４において、ライブラリ用フラグ管理情報４００は、ボリューム名、ＣＭ情報フラグ、ＴａｐｅＡｌｅｒｔフラグ、およびＣＭ修正フラグを有する。
【００３７】
ここで、ボリューム名は、テープカートリッジＴＣを一意に識別する識別子である。ボリューム名は、例えば、ロボット部１０２（図１参照）のバーコードリーダにより、テープカートリッジＴＣに貼付されたバーコードラベルを読み取ることにより得ることができる。
【００３８】
ＣＭ情報フラグは、ライブラリコントローラ１０１において、テープカートリッジＴＣ内のＣＭ２１０（図２参照）のＣＭ情報（正常なＣＭ情報）を保持しているか否かを示すフラグである。ＣＭ情報フラグには、ＣＭ情報を保持している場合に「有効」が設定され、ＣＭ情報を保持していない場合に「無効」が設定される。
【００３９】
ＴａｐｅＡｌｅｒｔフラグは、テープドライブ装置ＴＤからテープアラートが通知されたか否かを示すフラグである。テープアラートは、テープドライブ装置ＴＤにおいて、ＣＭ２１０へのＣＭ情報の書き込みに失敗したことを示すエラー通知である。ＴａｐｅＡｌｅｒｔフラグには、テープアラートが通知された場合に「有効」が設定され、テープアラートが未通知の場合に「無効」が設定される。
【００４０】
ＣＭ修正フラグは、ライブラリコントローラ１０１において、ＣＭ２１０のＣＭ情報を修正したか否かを示すフラグである。ＣＭ修正フラグには、ＣＭ情報を修正した場合に「有効」が設定され、ＣＭ情報を修正していない場合に「無効」が設定される。なお、各種フラグ（ＣＭ情報フラグ、ＴａｐｅＡｌｅｒｔフラグ、ＣＭ修正フラグ）には、初期状態では「無効」がそれぞれ設定される。
【００４１】
（ドライブ用フラグ管理情報の具体例）
つぎに、テープドライブ装置ＴＤのコントローラ２０１が用いるドライブ用フラグ管理情報の具体例について説明する。ドライブ用フラグ管理情報は、例えば、コントローラ２０１のメモリ３０２（図３参照）に記憶される。
【００４２】
図５は、ドライブ用フラグ管理情報の具体例を示す説明図である。図５において、ドライブ用フラグ管理情報５００は、ボリューム名、ＣＭ情報フラグ、およびＴａｐｅＡｌｅｒｔフラグを有する。
【００４３】
ここで、ボリューム名は、テープカートリッジＴＣを一意に識別する識別子である。ＣＭ情報フラグは、コントローラ２０１において、テープカートリッジＴＣ内のＣＭ２１０のＣＭ情報（正常なＣＭ情報）を保持しているか否かを示すフラグである。ＣＭ情報フラグには、ＣＭ情報を保持している場合に「有効」が設定され、ＣＭ情報を保持していない場合に「無効」が設定される。
【００４４】
ＴａｐｅＡｌｅｒｔフラグは、ライブラリコントローラ１０１にテープアラートを通知したか否かを示すフラグである。ＴａｐｅＡｌｅｒｔフラグには、テープアラートを通知した場合に「有効」が設定され、テープアラートを通知していない場合に「無効」が設定される。なお、各種フラグ（ＣＭ情報フラグ、ＴａｐｅＡｌｅｒｔフラグ）は、初期状態では「不定」である。
【００４５】
（テープライブラリ装置１００のライブラリコントローラ１０１の機能的構成例）
つぎに、テープライブラリ装置１００のライブラリコントローラ１０１の機能的構成例について説明する。
【００４６】
図６は、テープライブラリ装置１００のライブラリコントローラ１０１の機能的構成例を示すブロック図である。図６において、ライブラリコントローラ１０１は、受付部６０１と、ライブラリＣＭ情報管理部６０２と、出力部６０３と、を含む構成である。受付部６０１〜出力部６０３は制御部となる機能であり、具体的には、例えば、図３に示したライブラリコントローラ１０１のメモリ３０２に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２に記憶される。
【００４７】
・ホスト装置１２０からロード指示を受け付けた場合
受付部６０１は、セル１０６またはＣＡＳ１０７（以下、「セル１０６／ＣＡＳ１０７」と表記）に格納されたテープカートリッジＴＣのロード指示をホスト装置１２０から受け付ける。ここで、ロード指示は、テープカートリッジＴＣをテープドライブ装置ＴＤにロード（マウント）するための指示である。
【００４８】
ロード指示には、例えば、ロード対象のテープカートリッジＴＣが格納されたセル１０６／ＣＡＳ１０７を識別する情報（例えば、セルＩＤなど）、あるいは、ロード対象のテープカートリッジＴＣを一意に識別するボリューム名などが含まれる。
【００４９】
ライブラリＣＭ情報管理部６０２は、テープカートリッジＴＣのロード指示を受け付けたことに応じて、ロボット部１０２のＣＭリーダ／ライタ１０５により、テープカートリッジＴＣ内のＣＭ２１０に記録されたＣＭ情報を取得する。ここで、ＣＭ情報とは、テープカートリッジＴＣ内の磁気テープ２２０に記録されたデータの位置情報や、テープカートリッジＴＣの使用履歴、エラーログなどを含む管理情報である。
【００５０】
より詳細に説明すると、ＣＭ情報には、例えば、ＥＯＤやファイルマークの位置、ファイルマークの数に関する情報が含まれる。また、ＣＭ情報には、例えば、以下に示す値が含まれていてもよい。
【００５１】
・Ｔｈｒｅａｄ  Ｃｏｕｎｔ
⇒マウント回数（ロード回数）
・Ｗｒｉｔｅ  Ｒｅｔｒｉｅｓ  Ｔｏｔａｌ
⇒ライトリトライ累積発生回数
・Ｒｅａｄ  Ｒｅｔｒｉｅｓ  Ｔｏｔａｌ
⇒リードリトライ累積発生回数
・Ｕｎｃｏｒｒｅｃｔａｂｌｅ  Ｗｒｉｔｅ  Ｅｒｒｏｒｓ  Ｔｏｔａｌ
⇒回復不可能なライトエラー累積発生回数
・Ｕｎｃｏｒｒｅｃｔａｂｌｅ  Ｒｅａｄ  Ｅｒｒｏｒｓ  Ｔｏｔａｌ
⇒回復不可能なリードエラー累積発生回数
・Ｓｕｓｐｅｎｄｅｄ  Ｗｒｉｔｅ  Ｔｏｔａｌ
⇒サスペンデッドライトリトライ累積発生回数
・Ｆａｔａｌ  Ｓｕｓｐｅｎｄｅｄ  Ｔｏｔａｌ
⇒致命的なサスペンデッドライトエラー累積発生回数
・Ｗｒｉｔｅ  Ｄａｔａ  Ｓｅｔ  Ｔｏｔａｌ
⇒累積ライトデータセット数
・Ｒｅａｄ  Ｄａｔａ  Ｓｅｔ  Ｔｏｔａｌ
⇒累積リードデータセット数
・Ｄｒｉｖｅ  Ｓｅｒｉａｌ  Ｎｏ．
⇒使用されたテープドライブ装置ＴＤのシリアルナンバー
・Ｉｎｉｔｉａｌｉｓｉｎｇ  Ｄｒｉｖｅ  Ｓｅｒｉａｌ  Ｎｏ．
⇒イニシャライズされたテープドライブ装置ＴＤのシリアルナンバー
【００５２】
さらに、ＣＭ情報には、例えば、過去４マウント（ロード）における以下の値が含まれていてもよい。
【００５３】
・Ｔｈｒｅａｄ  Ｃｏｕｎｔ
⇒マウント回数（ロード回数）
・Ｗｒｉｔｅ  Ｒｅｔｒｉｅｓ
⇒ライトリトライ発生回数
・Ｒｅａｄ  Ｒｅｔｒｉｅｓ
⇒リードリトライ発生回数
・Ｕｎｃｏｒｒｅｃｔａｂｌｅ  Ｗｒｉｔｅ  Ｅｒｒｏｒｓ
⇒回復不可能なライトエラー発生回数
・Ｕｎｃｏｒｒｅｃｔａｂｌｅ  Ｒｅａｄ  Ｅｒｒｏｒｓ
⇒回復不可能なリードエラー発生回数
・Ｓｕｓｐｅｎｄｅｄ  Ｗｒｉｔｅ
⇒サスペンデッドライトリトライ発生回数
・Ｆａｔａｌ  Ｓｕｓｐｅｎｄｅｄ
⇒致命的なサスペンデッドライトエラー発生回数
・Ｗｒｉｔｅ  Ｄａｔａ  Ｓｅｔ
⇒ライトデータセット数
・Ｒｅａｄ  Ｄａｔａ  Ｓｅｔ
⇒リードデータセット数
【００５４】
具体的には、例えば、まず、ライブラリＣＭ情報管理部６０２は、ロボット部１０２を制御して、ロード対象のテープカートリッジＴＣが格納されたセル１０６／ＣＡＳ１０７にロボット部１０２のアクセッサー１０３を位置付ける。つぎに、ライブラリＣＭ情報管理部６０２は、アクセッサー１０３により、テープカートリッジＴＣのバーコードラベルを読み込んで、テープカートリッジＴＣのボリューム名を取得する。
【００５５】
そして、ライブラリＣＭ情報管理部６０２は、セル１０６／ＣＡＳ１０７に格納されているテープカートリッジＴＣをアクセッサー１０３に格納する。つぎに、ライブラリＣＭ情報管理部６０２は、取得したボリューム名に対応するライブラリ用フラグ管理情報を参照して、ＣＭ情報フラグに「有効」が設定されているか否かを判断する。
【００５６】
ここで、ＣＭ情報フラグに「有効」が設定されている場合、ライブラリＣＭ情報管理部６０２は、ＣＭ情報の取得は行わない。一方、ＣＭ情報フラグに「無効」が設定されている場合、ライブラリＣＭ情報管理部６０２は、ＣＭリーダ／ライタ１０５により、テープカートリッジＴＣ内のＣＭ２１０に記録されたＣＭ情報を読み込んで、ＣＭ２１０のＣＭ情報を取得する。
【００５７】
そして、ライブラリＣＭ情報管理部６０２は、正常なＣＭ情報（例えば、データ化けや欠落などがないＣＭ情報）を取得した場合に、取得したボリューム名と対応付けて、取得したＣＭ情報を不揮発性メモリ１１０に記憶する。より具体的には、例えば、取得したボリューム名に対応するＶＯＬ情報に含めて、取得したＣＭ情報を記憶する。
【００５８】
ここで、ＶＯＬ情報は、テープカートリッジＴＣのボリューム名と対応付けて、テープカートリッジＴＣ内のＣＭ２１０のＣＭ情報とライブラリ用フラグ管理情報（例えば、図４参照）とを記憶する情報である。ＶＯＬ情報は、例えば、不揮発性メモリ１１０内のテープカートリッジＴＣごとに確保されるＶＯＬ情報領域に記憶される。これにより、ライブラリコントローラ１０１の不揮発性メモリ１１０に、テープドライブ装置ＴＤがデータの位置付けを行うための情報を保持することができる。
【００５９】
また、ライブラリＣＭ情報管理部６０２は、正常なＣＭ情報を取得した場合、ライブラリ用フラグ管理情報のＣＭ情報フラグ（例えば、図４参照）を「有効」に設定する。これにより、ライブラリコントローラ１０１において、テープカートリッジＴＣ内のＣＭ２１０のＣＭ情報を保持していることを判別可能に記録することができる。
【００６０】
・テープカートリッジＴＣがＣＡＳ１０７に投入された場合
ライブラリＣＭ情報管理部６０２は、テープカートリッジＴＣがＣＡＳ１０７に投入されたことを検出したことに応じて、ロボット部１０２のＣＭリーダ／ライタ１０５により、テープカートリッジＴＣ内のＣＭ２１０に記録されたＣＭ情報を取得する。
【００６１】
具体的には、例えば、まず、ライブラリＣＭ情報管理部６０２は、ロボット部１０２を制御して、テープカートリッジＴＣが投入されたＣＡＳ１０７にロボット部１０２のアクセッサー１０３を位置付ける。つぎに、ライブラリＣＭ情報管理部６０２は、アクセッサー１０３により、テープカートリッジＴＣのバーコードラベルを読み込んで、テープカートリッジＴＣのボリューム名を取得する。
【００６２】
そして、ライブラリＣＭ情報管理部６０２は、ＣＡＳ１０７に格納されているテープカートリッジＴＣをアクセッサー１０３に格納する。つぎに、ライブラリＣＭ情報管理部６０２は、ＣＭリーダ／ライタ１０５により、テープカートリッジＴＣ内のＣＭ２１０に記録されたＣＭ情報を読み込んで、ＣＭ２１０のＣＭ情報を取得する。
【００６３】
そして、ライブラリＣＭ情報管理部６０２は、正常なＣＭ情報を取得した場合に、取得したボリューム名に対応するＶＯＬ情報に含めて、取得したＣＭ情報を不揮発性メモリ１１０に記憶する。また、ライブラリＣＭ情報管理部６０２は、正常なＣＭ情報を取得した場合、ライブラリ用フラグ管理情報のＣＭ情報フラグを「有効」に設定する。一方、ライブラリＣＭ情報管理部６０２は、取得したＣＭ情報が異常である場合には、ライブラリ用フラグ管理情報のＣＭ情報フラグを「無効」に設定する。
【００６４】
・テープドライブ装置ＴＤからＣＭ情報フラグの問い合わせを受け付けた場合
受付部６０１は、テープドライブ装置ＴＤからＣＭ情報フラグの問い合わせを受け付ける。ここで、ＣＭ情報フラグの問い合わせは、テープドライブ装置ＴＤでのＣＭ情報の読み込みに失敗した場合に、テープドライブ装置ＴＤから送られてくる問い合わせである。
【００６５】
ライブラリＣＭ情報管理部６０２は、ＣＭ情報フラグの問い合わせを受け付けたことに応じて、テープカートリッジＴＣのライブラリ用フラグ管理情報を参照して、ＣＭ情報フラグを特定する。そして、ライブラリＣＭ情報管理部６０２は、特定したＣＭ情報フラグをテープドライブ装置ＴＤに通知する。
【００６６】
これにより、ライブラリコントローラ１０１が、テープドライブ装置ＴＤからのＣＭ情報フラグの問い合わせに応じて、テープカートリッジＴＣ内のＣＭ２１０の正常なＣＭ情報を保持しているか否かをテープドライブ装置ＴＤに通知することができる。
【００６７】
受付部６０１は、テープドライブ装置ＴＤからＣＭ情報の転送要求を受け付ける。ここで、ＣＭ情報の転送要求は、テープドライブ装置ＴＤでのＣＭ情報の読み込みに失敗した場合に、テープドライブ装置ＴＤから送られてくる要求である。
【００６８】
ライブラリＣＭ情報管理部６０２は、ＣＭ情報の転送要求を受け付けたことに応じて、不揮発性メモリ１１０内のテープカートリッジＴＣのＶＯＬ情報領域に記憶されたＣＭ情報を読み出す。そして、ライブラリＣＭ情報管理部６０２は、読み出したＣＭ情報をテープドライブ装置ＴＤに転送する。
【００６９】
これにより、ライブラリコントローラ１０１が、テープドライブ装置ＴＤからのＣＭ情報の転送要求に応じて、不揮発性メモリ１１０に記憶された正常なＣＭ情報をテープドライブ装置ＴＤに転送することができる。
【００７０】
・テープドライブ装置ＴＤからＣＭ情報を受信した場合
受付部６０１は、テープドライブ装置ＴＤからＣＭ情報を受信する。具体的には、例えば、受付部６０１は、テープカートリッジＴＣのアンロード時に、コントローラ２０１から、コントローラ２０１のメモリ３０２上で管理されているＣＭ情報（ＣＭ２１０にＣＭ情報として記録される情報）を受信する。
【００７１】
ライブラリＣＭ情報管理部６０２は、ＣＭ情報を受信したことに応じて、受信したＣＭ情報を、不揮発性メモリ１１０内のテープカートリッジＴＣのＶＯＬ情報領域に記憶する。この際、ライブラリＣＭ情報管理部６０２は、ライブラリ用フラグ管理情報のＣＭ情報フラグを「有効」に設定するとともに、ＴａｐｅＡｌｅｒｔフラグを「無効」に設定する。
【００７２】
これにより、テープカートリッジＴＣのアンロード時に、テープドライブ装置ＴＤから最新のＣＭ情報を取得して、不揮発性メモリ１１０のＣＭ情報を更新することができる。
【００７３】
・テープドライブ装置ＴＤからテープアラートを受け付けた場合
受付部６０１は、テープドライブ装置ＴＤのコントローラ２０１からテープアラートを受け付ける。ここで、テープアラートは、テープドライブ装置ＴＤでのＣＭ情報の書き込みに失敗した場合に、テープドライブ装置ＴＤから送られてくるアラートである。
【００７４】
ライブラリＣＭ情報管理部６０２は、テープアラートを受け付けたことに応じて、テープカートリッジＴＣのライブラリ用フラグ管理情報のＴａｐｅＡｌｅｒｔフラグを「有効」に設定する。これにより、テープドライブ装置ＴＤでのＣＭ情報の書き込みに失敗したテープカートリッジＴＣを判別可能に記録することができる。
【００７５】
・ホスト装置１２０からのアンロード指示を受け付けた場合
受付部６０１は、テープドライブ装置ＴＤに挿入されたテープカートリッジＴＣのアンロード指示を受け付ける。ここで、アンロード指示は、テープカートリッジＴＣをテープドライブ装置ＴＤからアンロード（アンマウント）するための指示である。
【００７６】
具体的には、例えば、受付部６０１は、テープドライブ装置ＴＤのコントローラ２０１から、ホスト装置１２０からのアンロード指示を受け付ける。アンロード指示には、例えば、アンロード対象のテープカートリッジＴＣが格納されたテープドライブ装置ＴＤを識別する情報、あるいは、アンロード対象のテープカートリッジＴＣを一意に識別するボリューム名などが含まれていてもよい。
【００７７】
ライブラリＣＭ情報管理部６０２は、テープカートリッジＴＣのアンロード指示を受け付けたことに応じて、テープカートリッジＴＣのライブラリ用フラグ管理情報のＣＭ修正フラグ（例えば、図４参照）を更新する。
【００７８】
具体的には、例えば、まず、ライブラリＣＭ情報管理部６０２は、ロボット部１０２を制御して、アンロード対象のテープカートリッジＴＣが挿入されたテープドライブ装置ＴＤに、ロボット部１０２のアクセッサー１０３を位置付ける。そして、ライブラリＣＭ情報管理部６０２は、テープドライブ装置ＴＤに挿入されているテープカートリッジＴＣをアクセッサー１０３に格納する。
【００７９】
つぎに、ライブラリＣＭ情報管理部６０２は、アンロード対象のテープカートリッジＴＣのライブラリ用フラグ管理情報を参照して、ＴａｐｅＡｌｅｒｔフラグが「有効」であるか否かを判断する。ここで、ＴａｐｅＡｌｅｒｔフラグが「有効」の場合、ライブラリＣＭ情報管理部６０２は、ＣＭリーダ／ライタ１０５により、アンロード対象のテープカートリッジＴＣのＶＯＬ情報に含まれるＣＭ情報を、テープカートリッジＴＣ内のＣＭ２１０に書き込む。
【００８０】
すなわち、ＴａｐｅＡｌｅｒｔフラグが「有効」の場合、ライブラリＣＭ情報管理部６０２は、テープドライブ装置ＴＤでのＣＭ情報の書き込みに失敗したと判断する。そして、ライブラリＣＭ情報管理部６０２は、不揮発性メモリ１１０に記憶されたＣＭ情報を用いて、ロボット部１０２のＣＭリーダ／ライタ１０５により、テープカートリッジＴＣ内のＣＭ２１０へのＣＭ情報の書き込みを試みる。
【００８１】
つぎに、ライブラリＣＭ情報管理部６０２は、ＣＭ情報を正常に書き込めたか否かを判断するために、ＣＭリーダ／ライタ１０５により、ＣＭ２１０に記録されたＣＭ情報を読み込んで、ＣＭ２１０のＣＭ情報を取得する。そして、ライブラリＣＭ情報管理部６０２は、正常なＣＭ情報を取得した場合、ライブラリ用フラグ管理情報のＣＭ修正フラグを「有効」に設定する。
【００８２】
これにより、テープドライブ装置ＴＤでのＣＭ情報の書き込みに失敗した場合に、ロボット部１０２のＣＭリーダ／ライタ１０５を使用して、ＣＭ２１０へのＣＭ情報の書き込みを試みることができる。また、ＣＭ２１０へのＣＭ情報の書き込みに成功した場合には、ライブラリ用フラグ管理情報のＣＭ修正フラグを「有効」に設定することができる。
【００８３】
出力部６０３は、テープカートリッジＴＣのアンロード時に、ライブラリ用フラグ管理情報を出力する。出力部６０３の出力形式としては、例えば、Ｉ／Ｆ３０３による外部装置（例えば、ホスト装置１２０）への送信、メモリ３０２などの記憶装置への記憶がある。
【００８４】
具体的には、例えば、出力部６０３は、アンロード対象のテープカートリッジＴＣがセル１０６／ＣＡＳ１０７に格納されたことに応じて、図７に示すようなテープカートリッジ情報を、ホスト装置１２０に送信することにしてもよい。ここで、テープカートリッジ情報の具体例について説明する。
【００８５】
図７は、テープカートリッジ情報の具体例を示す説明図である。図７において、テープカートリッジ情報７００は、ボリューム名、ＣＭ情報フラグ、ＴａｐｅＡｌｅｒｔフラグ、およびＣＭ修正フラグを有する。
【００８６】
ここで、ボリューム名は、テープカートリッジＴＣを一意に識別する識別子である。図７の例では、ボリューム名に「Ｖ１」が設定されている。ＣＭ情報フラグは、ライブラリコントローラ１０１において、テープカートリッジＴＣ内のＣＭ２１０（図２参照）の正常なＣＭ情報を保持しているか否かを示すフラグである。図７の例では、ＣＭ情報フラグに「有効」が設定されている。
【００８７】
ＴａｐｅＡｌｅｒｔフラグは、テープドライブ装置ＴＤからテープアラートが通知されたか否かを示すフラグである。図７の例では、ＴａｐｅＡｌｅｒｔフラグに「有効」が設定されている。ＣＭ修正フラグは、テープカートリッジＴＣ内のＣＭ２１０のＣＭ情報を修正したか否かを示すフラグである。図７の例では、ＣＭ修正フラグに「有効」が設定されている。
【００８８】
テープカートリッジ情報７００によれば、ＴａｐｅＡｌｅｒｔフラグ「有効」、かつ、ＣＭ修正フラグ「有効」となっている。このため、ユーザは、テープドライブ装置ＴＤでのＣＭ情報の書き込みには失敗したが、ロボット部１０２のＣＭリーダ／ライタ１０５では正常にＣＭ情報をＣＭ２１０に書き込めたことがわかる。換言すれば、ユーザは、不具合の要因がテープドライブ装置ＴＤ側のＣＭリーダ／ライタ２０２にあると推測することができる。
【００８９】
仮に、ＴａｐｅＡｌｅｒｔフラグ「有効」、かつ、ＣＭ修正フラグ「無効」となっている場合には、ユーザは、テープドライブ装置ＴＤおよびロボット部１０２のＣＭリーダ／ライタ１０５の両方でＣＭ情報の書き込みに失敗したことがわかる。換言すれば、ユーザは、不具合の要因がテープカートリッジＴＣ内のＣＭ２１０にあると推測することができる。
【００９０】
（テープドライブ装置ＴＤのコントローラ２０１の機能的構成例）
つぎに、テープドライブ装置ＴＤのコントローラ２０１の機能的構成例について説明する。
【００９１】
図８は、テープドライブ装置ＴＤのコントローラ２０１の機能的構成例を示すブロック図である。図８において、コントローラ２０１は、受付部８０１と、テープドライブＣＭ情報管理部８０２と、出力部８０３と、を含む構成である。受付部８０１〜出力部８０３は制御部となる機能であり、具体的には、例えば、図３に示したコントローラ２０１のメモリ３０２に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２に記憶される。
【００９２】
・ホスト装置１２０からのロード指示を受け付けた場合
受付部８０１は、テープカートリッジＴＣのロード指示を受け付ける。具体的には、例えば、受付部８０１は、テープライブラリ装置１００のライブラリコントローラ１０１から、ホスト装置１２０からのロード指示を受け付ける。また、受付部８０１は、自装置にテープカートリッジＴＣが挿入されたことに応じて、ホスト装置１２０からのロード指示を受け付けることにしてもよい。
【００９３】
テープドライブＣＭ情報管理部８０２は、テープカートリッジＴＣのロード指示を受け付けたことに応じて、ＣＭリーダ／ライタ２０２により、テープカートリッジＴＣ内のＣＭ２１０に記録されたＣＭ情報を取得する。
【００９４】
具体的には、例えば、テープドライブＣＭ情報管理部８０２は、ローダーキャリア（搬送機構）をダウンして、テープカートリッジＴＣとクラッチ結合する。そして、テープドライブＣＭ情報管理部８０２は、ＣＭリーダ／ライタ２０２により、テープカートリッジＴＣ内のＣＭ２１０に記録されたＣＭ情報を読み込んで、ＣＭ２１０のＣＭ情報を取得する。
【００９５】
また、テープドライブＣＭ情報管理部８０２は、正常なＣＭ情報を取得した場合、ドライブ用フラグ管理情報のＣＭ情報フラグ（例えば、図５参照）を「有効」に設定する。ここで、ドライブ用フラグ管理情報は、例えば、テープドライブ装置ＴＤに挿入されたテープカートリッジＴＣに対応して生成されて、コントローラ２０１のメモリ３０２に記憶される。
【００９６】
一方、取得したＣＭ情報が異常である場合には、テープドライブＣＭ情報管理部８０２は、テープライブラリ装置１００のライブラリコントローラ１０１に、ＣＭ情報フラグを問い合わせる。そして、ＣＭ情報フラグを問い合わせた結果、ＣＭ情報フラグが「無効」であれば、テープドライブＣＭ情報管理部８０２は、ドライブ用フラグ管理情報のＣＭ情報フラグを「無効」に設定する。
【００９７】
一方、ＣＭ情報フラグを問い合わせた結果、ＣＭ情報フラグが「有効」であれば、テープドライブＣＭ情報管理部８０２は、ライブラリコントローラ１０１に、ＣＭ情報の転送要求を送信する。そして、テープドライブＣＭ情報管理部８０２は、ライブラリコントローラ１０１からＣＭ情報を受信したことに応じて、ドライブ用フラグ管理情報のＣＭ情報フラグを「有効」に設定する。
【００９８】
これにより、何らかの不具合によりテープドライブ装置ＴＤでのＣＭ情報の読み込みに失敗した場合、ライブラリコントローラ１０１において正常なＣＭ情報が保持されていれば、ライブラリコントローラ１０１から正常なＣＭ情報を取得することができる。
【００９９】
・ホスト装置１２０からアンロード指示を受け付けた場合
受付部８０１は、自装置に挿入されたテープカートリッジＴＣのアンロード指示をホスト装置１２０から受け付ける。
【０１００】
テープドライブＣＭ情報管理部８０２は、テープカートリッジＴＣのアンロード指示を受け付けたことに応じて、コントローラ２０１のメモリ３０２上で管理しているＣＭ情報を、ライブラリコントローラ１０１に転送する。ここで、メモリ３０２上で管理しているＣＭ情報とは、ＣＭ２１０にＣＭ情報として記録される最新のＥＯＤやファイルマークの位置などに関する情報である。
【０１０１】
また、テープドライブＣＭ情報管理部８０２は、テープカートリッジＴＣのアンロード指示を受け付けたことに応じて、ＣＭリーダ／ライタ２０２により、メモリ３０２上で管理しているＣＭ情報を、テープカートリッジＴＣ内のＣＭ２１０に書き込む。
【０１０２】
つぎに、テープドライブＣＭ情報管理部８０２は、ＣＭ情報を正常に書き込めたか否かを判断するために、ＣＭリーダ／ライタ２０２により、ＣＭ２１０に記録されたＣＭ情報を読み込んで、ＣＭ２１０のＣＭ情報を取得する。そして、テープドライブＣＭ情報管理部８０２は、正常なＣＭ情報を取得した場合、ドライブ用フラグ管理情報のＣＭ情報フラグを「有効」に設定する。これにより、ＣＭ２１０のＣＭ情報を更新することができる。
【０１０３】
一方、取得したＣＭ情報が異常である場合、テープドライブＣＭ情報管理部８０２は、ライブラリコントローラ１０１にテープアラートを通知する。そして、テープドライブＣＭ情報管理部８０２は、ドライブ用フラグ管理情報のＴａｐｅＡｌｅｒｔフラグを「有効」に設定する。これにより、テープドライブ装置ＴＤでのＣＭ２１０へのＣＭ情報の書き込みに失敗したことを判別可能に記録することができる。
【０１０４】
出力部８０３は、テープカートリッジＴＣのアンロード時に、ドライブ用フラグ管理情報を出力する。具体的には、例えば、出力部８０３は、ドライブ用フラグ管理情報のＴａｐｅＡｌｅｒｔフラグが「有効」であれば、テープカートリッジＴＣのエラー通知（例えば、Ｓｅｎｓｅ  Ｐａｇｅ  ０ｘ２４）をホスト装置１２０に送信することにしてもよい。これにより、ホスト装置１２０において、テープカートリッジＴＣで発生したエラーについての統計情報を収集することができる。
【０１０５】
（テープライブラリ装置１００のライブラリコントローラ１０１の各種処理手順）
つぎに、テープライブラリ装置１００のライブラリコントローラ１０１の各種処理手順について説明する。まず、ライブラリコントローラ１０１の初期化処理手順について説明する。初期化処理は、テープライブラリ装置１００の電源投入時に行われる処理である。
【０１０６】
＜初期化処理手順＞
図９は、テープライブラリ装置１００のライブラリコントローラ１０１の初期化処理手順の一例を示すフローチャートである。図９のフローチャートにおいて、まず、ライブラリコントローラ１０１は、自装置の電源が投入されたことに応じて、自装置をイニシャライズする（ステップＳ９０１）。
【０１０７】
つぎに、ライブラリコントローラ１０１は、ロボット部１０２を制御して、全セル１０６／ＣＡＳ１０７をスキャンし（ステップＳ９０２）、セル１０６／ＣＡＳ１０７に格納されたテープカートリッジＴＣのバーコードラベルをスキャンする（ステップＳ９０３）。
【０１０８】
そして、ライブラリコントローラ１０１は、新規のテープカートリッジＴＣのＶＯＬ情報領域を不揮発性メモリ１１０に確保し（ステップＳ９０４）、新規のテープカートリッジＴＣのボリューム名を設定する（ステップＳ９０５）。つぎに、ライブラリコントローラ１０１は、全テープカートリッジＴＣのライブラリ用フラグ管理情報の全フラグを「無効」に設定して（ステップＳ９０６）、本フローチャートによる一連の処理を終了する。
【０１０９】
これにより、電源ＯＦＦ中に、テープカートリッジＴＣが手動で入れ替えられることを想定して、電源投入時に、全テープカートリッジＴＣの全フラグを「無効」に設定して、全テープカートリッジＴＣのＣＭ情報を無効にすることができる。
【０１１０】
＜第１のフラグ管理処理手順＞
つぎに、テープライブラリ装置１００のライブラリコントローラ１０１の第１のフラグ管理処理手順について説明する。第１のフラグ管理処理は、テープカートリッジＴＣがＣＡＳ１０７を使用して外部から投入されたことを契機に実行される処理である。
【０１１１】
図１０は、テープライブラリ装置１００のライブラリコントローラ１０１の第１のフラグ管理処理手順の一例を示すフローチャートである。図１０のフローチャートにおいて、まず、ライブラリコントローラ１０１は、テープカートリッジＴＣがＣＡＳ１０７に投入されたか否かを判断する（ステップＳ１００１）。
【０１１２】
ここで、ライブラリコントローラ１０１は、テープカートリッジＴＣがＣＡＳ１０７に投入されるのを待つ（ステップＳ１００１：Ｎｏ）。そして、ライブラリコントローラ１０１は、テープカートリッジＴＣがＣＡＳ１０７に投入された場合（ステップＳ１００１：Ｙｅｓ）、ロボット部１０２を制御して、テープカートリッジＴＣが投入されたＣＡＳ１０７にロボット部１０２のアクセッサー１０３を位置付ける（ステップＳ１００２）。
【０１１３】
つぎに、ライブラリコントローラ１０１は、アクセッサー１０３により、テープカートリッジＴＣのバーコードラベルを読み込んで、テープカートリッジＴＣのボリューム名を取得する（ステップＳ１００３）。そして、ライブラリコントローラ１０１は、テープカートリッジＴＣのＶＯＬ情報領域を不揮発性メモリ１１０に確保して（ステップＳ１００４）、テープカートリッジＴＣのボリューム名を設定する（ステップＳ１００５）。
【０１１４】
つぎに、ライブラリコントローラ１０１は、ＣＡＳ１０７に格納されているテープカートリッジＴＣを、ロボット部１０２のアクセッサー１０３に格納する（ステップＳ１００６）。つぎに、ライブラリコントローラ１０１は、ロボット部１０２のＣＭリーダ／ライタ１０５により、テープカートリッジＴＣ内のＣＭ２１０に記録されたＣＭ情報を読み込んで、ＣＭ２１０のＣＭ情報を取得する（ステップＳ１００７）。
【０１１５】
そして、ライブラリコントローラ１０１は、取得したＣＭ情報が正常であるか否かを判断する（ステップＳ１００８）。ここで、ＣＭ情報が正常である場合（ステップＳ１００８：Ｙｅｓ）、ライブラリコントローラ１０１は、取得したボリューム名に対応するＶＯＬ情報に含めて、取得したＣＭ情報を不揮発性メモリ１１０に記憶する（ステップＳ１００９）。
【０１１６】
そして、ライブラリコントローラ１０１は、ライブラリ用フラグ管理情報のＣＭ情報フラグを「有効」に設定して（ステップＳ１０１０）、本フローチャートによる一連の処理を終了する。一方、ＣＭ情報が異常である場合には（ステップＳ１００８：Ｎｏ）、ライブラリコントローラ１０１は、ライブラリ用フラグ管理情報のＣＭ情報フラグを「無効」に設定して（ステップＳ１０１１）、本フローチャートによる一連の処理を終了する。
【０１１７】
これにより、ＣＡＳ１０７を使用して外部から投入されたテープカートリッジＴＣに対応するＶＯＬ情報領域を確保してライブラリ用フラグ管理情報を記憶することができる。
【０１１８】
＜ロード処理手順＞
つぎに、テープライブラリ装置１００のライブラリコントローラ１０１のロード処理手順について説明する。ロード処理は、ホスト装置１２０からのテープカートリッジＴＣのロード指示を契機に実行される処理である。また、ロード処理手順に沿って、ライブラリ用フラグ管理情報の変遷例についても説明する。
【０１１９】
図１１は、テープライブラリ装置１００のライブラリコントローラ１０１のロード処理手順の一例を示すフローチャートである。また、図１２は、ライブラリ用フラグ管理情報の変遷例を示す説明図である。
【０１２０】
図１１のフローチャートにおいて、まず、ライブラリコントローラ１０１は、セル１０６／ＣＡＳ１０７に格納されたテープカートリッジＴＣのロード指示をホスト装置１２０から受け付けたか否かを判断する（ステップＳ１１０１）。ここで、ライブラリコントローラ１０１は、テープカートリッジＴＣのロード指示を受け付けるのを待つ（ステップＳ１１０１：Ｎｏ）。
【０１２１】
そして、ライブラリコントローラ１０１は、テープカートリッジＴＣのロード指示を受け付けた場合（ステップＳ１１０１：Ｙｅｓ）、ロボット部１０２を制御して、ロード対象のテープカートリッジＴＣが格納されたセル１０６／ＣＡＳ１０７にロボット部１０２のアクセッサー１０３を位置付ける（ステップＳ１１０２）。
【０１２２】
つぎに、ライブラリコントローラ１０１は、アクセッサー１０３により、テープカートリッジＴＣのバーコードラベルを読み込んで、テープカートリッジＴＣのボリューム名を取得する（ステップＳ１１０３）。そして、ライブラリコントローラ１０１は、セル１０６／ＣＡＳ１０７に格納されているテープカートリッジＴＣを、ロボット部１０２のアクセッサー１０３に格納する（ステップＳ１１０４）。
【０１２３】
つぎに、ライブラリコントローラ１０１は、取得したボリューム名に対応するライブラリ用フラグ管理情報を参照して、ＣＭ情報フラグに「有効」が設定されているか否かを判断する（ステップＳ１１０５）。ここで、ＣＭ情報フラグに「有効」が設定されている場合（ステップＳ１１０５：Ｙｅｓ）、ライブラリコントローラ１０１は、ステップＳ１１１０に移行する。
【０１２４】
一方、ＣＭ情報フラグに「無効」が設定されている場合（ステップＳ１１０５：Ｎｏ）、ライブラリコントローラ１０１は、ロボット部１０２のＣＭリーダ／ライタ１０５により、テープカートリッジＴＣ内のＣＭ２１０に記録されたＣＭ情報を読み込んで、ＣＭ２１０のＣＭ情報を取得する（ステップＳ１１０６）。
【０１２５】
つぎに、ライブラリコントローラ１０１は、取得したＣＭ情報が正常であるか否かを判断する（ステップＳ１１０７）。ここで、ＣＭ情報が異常である場合（ステップＳ１１０７：Ｎｏ）、ライブラリコントローラ１０１は、ステップＳ１１１０に移行する。
【０１２６】
一方、ＣＭ情報が正常である場合（ステップＳ１１０７：Ｙｅｓ）、ライブラリコントローラ１０１は、取得したボリューム名に対応するＶＯＬ情報に含めて、取得したＣＭ情報を不揮発性メモリ１１０に記憶する（ステップＳ１１０８）。
【０１２７】
つぎに、ライブラリコントローラ１０１は、ライブラリ用フラグ管理情報のＣＭ情報フラグを「有効」に設定する（ステップＳ１１０９）。図１２に示す（１２−１）の例では、ボリューム名「Ｖ１」のテープカートリッジＴＣのライブラリ用フラグ管理情報４００のＣＭ情報フラグに「有効」が設定されている。
【０１２８】
そして、ライブラリコントローラ１０１は、テープカートリッジＴＣをテープドライブ装置ＴＤに挿入して（ステップＳ１１１０）、本フローチャートによる一連の処理を終了する。
【０１２９】
これにより、テープカートリッジＴＣのロード時に、ロボット部１０２のＣＭリーダ／ライタ１０５を使用して、テープカートリッジＴＣ内のＣＭ２１０のＣＭ情報を取得して不揮発性メモリ１１０に保持することができる。
【０１３０】
＜ＣＭ情報転送処理手順＞
つぎに、テープライブラリ装置１００のライブラリコントローラ１０１のＣＭ情報転送処理手順について説明する。ＣＭ情報転送処理は、ＣＭ情報の読み込みに失敗したテープドライブ装置ＴＤからＣＭ情報フラグの問い合わせを受け付けた際に実行される処理である。
【０１３１】
図１３は、テープライブラリ装置１００のライブラリコントローラ１０１のＣＭ情報転送処理手順の一例を示すフローチャートである。図１３のフローチャートにおいて、まず、ライブラリコントローラ１０１は、テープドライブ装置ＴＤからＣＭ情報フラグの問い合わせを受け付けたか否かを判断する（ステップＳ１３０１）。
【０１３２】
ここで、ライブラリコントローラ１０１は、ＣＭ情報フラグの問い合わせを受け付けるのを待つ（ステップＳ１３０１：Ｎｏ）。そして、ライブラリコントローラ１０１は、ＣＭ情報フラグの問い合わせを受け付けた場合（ステップＳ１３０１：Ｙｅｓ）、テープカートリッジＴＣのライブラリ用フラグ管理情報を参照して、ＣＭ情報フラグを特定する（ステップＳ１３０２）。
【０１３３】
つぎに、ライブラリコントローラ１０１は、特定したＣＭ情報フラグをテープドライブ装置ＴＤに通知する（ステップＳ１３０３）。そして、ライブラリコントローラ１０１は、テープドライブ装置ＴＤからＣＭ情報の転送要求を受け付けたか否かを判断する（ステップＳ１３０４）。
【０１３４】
ここで、ＣＭ情報の転送要求を受け付けた場合（ステップＳ１３０４：Ｙｅｓ）、ライブラリコントローラ１０１は、不揮発性メモリ１１０内のテープカートリッジＴＣのＶＯＬ情報領域に記憶されたＣＭ情報を読み出す（ステップＳ１３０５）。そして、ライブラリコントローラ１０１は、読み出したＣＭ情報をテープドライブ装置ＴＤに転送して（ステップＳ１３０６）、本フローチャートによる一連の処理を終了する。
【０１３５】
また、ステップＳ１３０４において、ＣＭ情報の転送要求を受け付けていない場合（ステップＳ１３０４：Ｎｏ）、ライブラリコントローラ１０１は、本フローチャートによる一連の処理を終了する。
【０１３６】
これにより、ＣＭ情報の読み込みに失敗したテープドライブ装置ＴＤからのＣＭ情報の転送要求に応じて、不揮発性メモリ１１０に記憶された正常なＣＭ情報をテープドライブ装置ＴＤに転送することができる。
【０１３７】
＜第２のフラグ管理処理手順＞
つぎに、テープライブラリ装置１００のライブラリコントローラ１０１の第２のフラグ管理処理手順について説明する。第２のフラグ管理処理は、テープドライブ装置ＴＤからのＣＭ情報またはテープアラートに応じて実行される処理である。
【０１３８】
図１４は、テープライブラリ装置１００のライブラリコントローラ１０１の第２のフラグ管理処理手順の一例を示すフローチャートである。図１４のフローチャートにおいて、まず、ライブラリコントローラ１０１は、テープドライブ装置ＴＤからＣＭ情報を受信したか否かを判断する（ステップＳ１４０１）。
【０１３９】
ここで、ＣＭ情報を受信した場合（ステップＳ１４０１：Ｙｅｓ）、ライブラリコントローラ１０１は、受信したＣＭ情報を、不揮発性メモリ１１０内のテープカートリッジＴＣのＶＯＬ情報領域に記憶する（ステップＳ１４０２）。
【０１４０】
そして、ライブラリコントローラ１０１は、ライブラリ用フラグ管理情報のＣＭ情報フラグを「有効」に設定するとともに、ＴａｐｅＡｌｅｒｔフラグを「無効」に設定して（ステップＳ１４０３）、本フローチャートによる一連の処理を終了する。これにより、テープカートリッジＴＣのアンロード時に、テープドライブ装置ＴＤから最新のＣＭ情報を取得することができる。
【０１４１】
また、ステップＳ１４０１において、ＣＭ情報を受信していない場合（ステップＳ１４０１：Ｎｏ）、ライブラリコントローラ１０１は、テープドライブ装置ＴＤからテープアラートを受け付けたか否かを判断する（ステップＳ１４０４）。ここで、テープアラートを受け付けていない場合（ステップＳ１４０４：Ｎｏ）、ライブラリコントローラ１０１は、ステップＳ１４０１に戻る。
【０１４２】
一方、テープアラートを受け付けた場合（ステップＳ１４０４：Ｙｅｓ）、テープカートリッジＴＣのライブラリ用フラグ管理情報のＴａｐｅＡｌｅｒｔフラグを「有効」に設定して（ステップＳ１４０５）、本フローチャートによる一連の処理を終了する。図１２に示す（１２−２）の例では、ライブラリ用フラグ管理情報４００のＴａｐｅＡｌｅｒｔフラグに「有効」が設定されている。これにより、テープドライブ装置ＴＤでのＣＭ情報の書き込みに失敗したテープカートリッジＴＣを判別可能にすることができる。
【０１４３】
なお、本フローチャートは、テープドライブ装置ＴＤからＣＭ情報またはテープアラートを受信した場合に実行される。したがって、ライブラリコントローラ１０１が、ＣＭ情報を受信して上記処理（Ｓ１４０２，Ｓ１４０３）を実行した後に、テープアラートを受信した場合も、上記処理（Ｓ１４０５）が実行されることになる。
【０１４４】
＜アンロード処理手順＞
つぎに、テープライブラリ装置１００のライブラリコントローラ１０１のアンロード処理手順について説明する。アンロード処理は、テープカートリッジＴＣのアンロード指示を受け付けた場合に実行される処理である。
【０１４５】
なお、テープカートリッジＴＣのアンロード指示は、例えば、テープドライブ装置ＴＤのアンロード処理が完了した場合に、テープドライブ装置ＴＤのコントローラ２０１から、テープライブラリ装置１００のライブラリコントローラ１０１に通知される。
【０１４６】
図１５は、テープライブラリ装置１００のライブラリコントローラ１０１のアンロード処理手順の一例を示すフローチャートである。図１５のフローチャートにおいて、まず、ライブラリコントローラ１０１は、テープドライブ装置ＴＤに挿入されたテープカートリッジＴＣのアンロード指示を受け付けたか否かを判断する（ステップＳ１５０１）。ここで、ライブラリコントローラ１０１は、テープカートリッジＴＣのアンロード指示を受け付けるのを待つ（ステップＳ１５０１：Ｎｏ）。
【０１４７】
そして、ライブラリコントローラ１０１は、テープカートリッジＴＣのアンロード指示を受け付けた場合（ステップＳ１５０１：Ｙｅｓ）、ロボット部１０２を制御して、アンロード対象のテープカートリッジＴＣが挿入されたテープドライブ装置ＴＤに、ロボット部１０２のアクセッサー１０３を位置付ける（ステップＳ１５０２）。
【０１４８】
つぎに、ライブラリコントローラ１０１は、テープドライブ装置ＴＤに挿入されているテープカートリッジＴＣを、ロボット部１０２のアクセッサー１０３に格納する（ステップＳ１５０３）。
【０１４９】
つぎに、ライブラリコントローラ１０１は、テープカートリッジＴＣに対応するライブラリ用フラグ管理情報のＣＭ修正フラグをリセットする（ステップＳ１５０４）。そして、ライブラリコントローラ１０１は、ライブラリ用フラグ管理情報を参照して、ＴａｐｅＡｌｅｒｔフラグに「有効」が設定されているか否かを判断する（ステップＳ１５０５）。
【０１５０】
ここで、ＴａｐｅＡｌｅｒｔフラグに「無効」が設定されている場合（ステップＳ１５０５：Ｎｏ）、ライブラリコントローラ１０１は、ステップＳ１５１３に移行する。
【０１５１】
一方、ＴａｐｅＡｌｅｒｔフラグに「有効」が設定されている場合（ステップＳ１５０５：Ｙｅｓ）、ライブラリコントローラ１０１は、チェックカウンタを「Ｎ」に設定する（ステップＳ１５０６）。なお、Ｎは、任意に設定可能であり、例えば、３程度の値に設定される。
【０１５２】
つぎに、ライブラリコントローラ１０１は、ロボット部１０２のＣＭリーダ／ライタ１０５により、アンロード対象のテープカートリッジＴＣのＶＯＬ情報に含まれるＣＭ情報を、テープカートリッジＴＣ内のＣＭ２１０に書き込む（ステップＳ１５０７）。そして、ライブラリコントローラ１０１は、ロボット部１０２のＣＭリーダ／ライタ１０５により、ＣＭ２１０に記録されたＣＭ情報を読み込んで、ＣＭ２１０のＣＭ情報を取得する（ステップＳ１５０８）。
【０１５３】
つぎに、ライブラリコントローラ１０１は、取得したＣＭ情報が正常であるか否かを判断する（ステップＳ１５０９）。ここで、ＣＭ情報が異常である場合（ステップＳ１５０９：Ｎｏ）、ライブラリコントローラ１０１は、チェックカウンタの「Ｎ」をデクリメントして（ステップＳ１５１０）、「Ｎ」が「０」となったか否かを判断する（ステップＳ１５１１）。
【０１５４】
ここで、「Ｎ」が「０」ではない場合（ステップＳ１５１１：Ｎｏ）、ライブラリコントローラ１０１は、ステップＳ１５０７に戻る。すなわち、ライブラリコントローラ１０１は、チェックカウンタに設定した回数分、テープカートリッジＴＣ内のＣＭ２１０へのＣＭ情報の書き込みを試みる。一方、「Ｎ」が「０」となった場合（ステップＳ１５１１：Ｙｅｓ）、ライブラリコントローラ１０１は、ステップＳ１５１３に移行する。
【０１５５】
また、ステップＳ１５０９において、ＣＭ情報が正常である場合（ステップＳ１５０９：Ｙｅｓ）、ライブラリコントローラ１０１は、ライブラリ用フラグ管理情報のＣＭ修正フラグを「有効」に設定する（ステップＳ１５１２）。図１２に示す（１２−３）の例では、ライブラリ用フラグ管理情報４００のＣＭ修正フラグに「有効」が設定されている。
【０１５６】
そして、ライブラリコントローラ１０１は、テープカートリッジＴＣをセル１０６／ＣＡＳ１０７に格納して（ステップＳ１５１３）、本フローチャートによる一連の処理を終了する。
【０１５７】
これにより、テープカートリッジＴＣのアンロード時に、テープドライブ装置ＴＤでのＣＭ情報の書き込みに失敗していれば、ロボット部１０２のＣＭリーダ／ライタ１０５を使用して、ＣＭ２１０へのＣＭ情報の書き込みを試みることができる。
【０１５８】
（テープドライブ装置ＴＤのコントローラ２０１の各種処理手順）
つぎに、テープドライブ装置ＴＤのコントローラ２０１の各種処理手順について説明する。まず、コントローラ２０１のロード処理手順について説明する。ロード処理は、テープカートリッジＴＣのロード指示を契機に実行される処理である。また、ロード処理手順に沿って、ドライブ用フラグ管理情報の変遷例についても説明する。
【０１５９】
図１６は、テープドライブ装置ＴＤのコントローラ２０１のロード処理手順の一例を示すフローチャートである。また、図１７は、ドライブ用フラグ管理情報の変遷例を示す説明図である。
【０１６０】
図１６のフローチャートにおいて、まず、コントローラ２０１は、テープカートリッジＴＣのロード指示を受け付けたか否かを判断する（ステップＳ１６０１）。ここで、コントローラ２０１は、テープカートリッジＴＣのロード指示を受け付けるのを待つ（ステップＳ１６０１：Ｎｏ）。
【０１６１】
そして、コントローラ２０１は、テープカートリッジＴＣのロード指示を受け付けた場合（ステップＳ１６０１：Ｙｅｓ）、ローダーキャリアをダウンして、テープカートリッジＴＣとクラッチ結合し、ＣＭリーダ／ライタ２０２により、テープカートリッジＴＣ内のＣＭ２１０に記録されたＣＭ情報を読み込んで、ＣＭ２１０のＣＭ情報を取得する（ステップＳ１６０２）。
【０１６２】
つぎに、コントローラ２０１は、取得したＣＭ情報が正常であるか否かを判断する（ステップＳ１６０３）。ここで、ＣＭ情報が正常である場合（ステップＳ１６０３：Ｙｅｓ）、コントローラ２０１は、ステップＳ１６０９に移行する。
【０１６３】
一方、ＣＭ情報が異常である場合（ステップＳ１６０３：Ｎｏ）、コントローラ２０１は、テープライブラリ装置１００のライブラリコントローラ１０１に、ＣＭ情報フラグを問い合わせる（ステップＳ１６０４）。そして、コントローラ２０１は、ライブラリコントローラ１０１からＣＭ情報フラグが通知されたか否かを判断する（ステップＳ１６０５）。
【０１６４】
ここで、コントローラ２０１は、ＣＭ情報フラグが通知されるのを待つ（ステップＳ１６０５：Ｎｏ）。そして、コントローラ２０１は、ＣＭ情報フラグが通知された場合（ステップＳ１６０５：Ｙｅｓ）、通知されたＣＭ情報フラグが「有効」であるか否かを判断する（ステップＳ１６０６）。
【０１６５】
ここで、ＣＭ情報フラグが「有効」の場合（ステップＳ１６０６：Ｙｅｓ）、コントローラ２０１は、ライブラリコントローラ１０１に、ＣＭ情報の転送要求を送信する（ステップＳ１６０７）。そして、コントローラ２０１は、ライブラリコントローラ１０１からＣＭ情報を受信したか否かを判断する（ステップＳ１６０８）。
【０１６６】
ここで、コントローラ２０１は、ＣＭ情報を受信するのを待つ（ステップＳ１６０８：Ｎｏ）。そして、コントローラ２０１は、ＣＭ情報を受信した場合（ステップＳ１６０８：Ｙｅｓ）、ドライブ用フラグ管理情報のＣＭ情報フラグを「有効」に設定して（ステップＳ１６０９）、本フローチャートによる一連の処理を終了する。
【０１６７】
図１７に示す（１７−１）の例では、ボリューム名「Ｖ１」のテープカートリッジＴＣのドライブ用フラグ管理情報５００のＣＭ情報フラグに「有効」が設定されている。
【０１６８】
また、ステップＳ１６０６において、ＣＭ情報フラグが「無効」の場合（ステップＳ１６０６：Ｎｏ）、コントローラ２０１は、ドライブ用フラグ管理情報のＣＭ情報フラグを「無効」に設定して（ステップＳ１６１０）、本フローチャートによる一連の処理を終了する。
【０１６９】
これにより、何らかの不具合によりＣＭ情報の読み込みに失敗した場合でも、ライブラリコントローラ１０１において正常なＣＭ情報が保持されていれば、ライブラリコントローラ１０１から正常なＣＭ情報を取得することができる。そして、以降において、テープドライブ装置ＴＤは、ライブラリコントローラ１０１から取得したＣＭ情報を用いて、データの高速位置付けを行うことができる。
【０１７０】
＜アンロード処理手順＞
つぎに、テープドライブ装置ＴＤのコントローラ２０１のアンロード処理手順について説明する。アンロード処理は、ホスト装置１２０からテープカートリッジＴＣのアンロード指示を受け付けた場合に実行される処理である。
【０１７１】
図１８は、テープドライブ装置ＴＤのコントローラ２０１のアンロード処理手順の一例を示すフローチャートである。図１８のフローチャートにおいて、まず、コントローラ２０１は、テープカートリッジＴＣのアンロード指示をホスト装置１２０から受け付けたか否かを判断する（ステップＳ１８０１）。
【０１７２】
ここで、コントローラ２０１は、テープカートリッジＴＣのアンロード指示を受け付けるのを待つ（ステップＳ１８０１：Ｎｏ）。そして、コントローラ２０１は、テープカートリッジＴＣのアンロード指示を受け付けた場合（ステップＳ１８０１：Ｙｅｓ）、磁気テープ２２０をリワインドしてアンスレッドする（ステップＳ１８０２）。
【０１７３】
つぎに、コントローラ２０１は、メモリ３０２上で管理しているＣＭ情報を、テープライブラリ装置１００のライブラリコントローラ１０１に転送する（ステップＳ１８０３）。そして、コントローラ２０１は、ＣＭリーダ／ライタ２０２により、メモリ３０２上で管理しているＣＭ情報を、テープカートリッジＴＣ内のＣＭ２１０に書き込む（ステップＳ１８０４）。
【０１７４】
つぎに、コントローラ２０１は、ＣＭリーダ／ライタ２０２により、ＣＭ２１０に記録されたＣＭ情報を読み込んで、ＣＭ２１０のＣＭ情報を取得する（ステップＳ１８０５）。そして、コントローラ２０１は、取得したＣＭ情報が正常であるか否かを判断する（ステップＳ１８０６）。
【０１７５】
ここで、ＣＭ情報が正常である場合（ステップＳ１８０６：Ｙｅｓ）、コントローラ２０１は、テープカートリッジＴＣをアンロードして（ステップＳ１８０７）、本フローチャートによる一連の処理を終了する。
【０１７６】
一方、ＣＭ情報が異常である場合（ステップＳ１８０６：Ｎｏ）、コントローラ２０１は、ライブラリコントローラ１０１にテープアラートを通知する（ステップＳ１８０８）。つぎに、コントローラ２０１は、ドライブ用フラグ管理情報のＴａｐｅＡｌｅｒｔフラグを「有効」に設定する（ステップＳ１８０９）。
【０１７７】
図１７に示す（１７−２）の例では、ドライブ用フラグ管理情報５００のＴａｐｅＡｌｅｒｔフラグに「有効」が設定されている。
【０１７８】
そして、コントローラ２０１は、テープカートリッジＴＣのエラー通知（例えば、Ｓｅｎｓｅ  Ｐａｇｅ  ０ｘ２４）をホスト装置１２０に送信して（ステップＳ１８１０）、ステップＳ１８０７に移行する。
【０１７９】
これにより、テープカートリッジＴＣのアンロード時に、最新のＣＭ情報をテープライブラリ装置１００のライブラリコントローラ１０１に転送することができる。また、ＣＭ２１０へのＣＭ情報の書き込みに失敗した場合に、ＣＭ２１０へのＣＭ情報の書き込みに失敗したことをライブラリコントローラ１０１およびホスト装置１２０に通知することができる。
【０１８０】
＜フラグ管理処理手順＞
つぎに、テープドライブ装置ＴＤのコントローラ２０１のフラグ管理処理手順について説明する。フラグ管理処理は、テープカートリッジＴＣ内のＣＭ２１０のＣＭ情報を利用できない低速位置付けモード中に実行される処理である。
【０１８１】
具体的には、例えば、フラグ管理処理は、ホスト装置１２０からのテープ動作系コマンドに応じて、ドライブ用フラグ管理情報のＣＭ情報フラグが「無効」の場合に実行される。テープ動作系コマンドは、例えば、ライトコマンド、リードコマンド、スペースコマンド、スペースファイルコマンド、ロケートコマンドなどである。なお、ドライブ用フラグ管理情報のＣＭ情報フラグが「有効」の場合には、ホスト装置１２０からのテープ動作系コマンドに応じてデータの高速位置付けが行われる。
【０１８２】
図１９は、テープドライブ装置ＴＤのコントローラ２０１のフラグ管理処理手順の一例を示すフローチャートである。図１９のフローチャートにおいて、まず、コントローラ２０１は、ホスト装置１２０からのテープ動作系コマンドを処理する（ステップＳ１９０１）。
【０１８３】
つぎに、コントローラ２０１は、ＥＯＤに到達したか否かを判断する（ステップＳ１９０２）。ここで、ＥＯＤに到達していない場合（ステップＳ１９０２：Ｎｏ）、コントローラ２０１は、本フローチャートによる一連の処理を終了する。
【０１８４】
一方、ＥＯＤに到達した場合（ステップＳ１９０２：Ｙｅｓ）、コントローラ２０１は、ドライブ用フラグ管理情報のＣＭ情報フラグを「有効」に設定して（ステップＳ１９０３）、本フローチャートによる一連の処理を終了する。
【０１８５】
これにより、低速位置付けモード中にＥＯＤに到達した場合は、以降高速位置付けを行うための位置情報が得られるため、ドライブ用フラグ管理情報のＣＭ情報フラグを「有効」に設定して高速位置付けモードに移行することができる。
【０１８６】
以上説明したように、実施の形態にかかるテープライブラリ装置１００のライブラリコントローラ１０１によれば、ロボット部１０２のＣＭリーダ／ライタ１０５により、テープカートリッジＴＣ内のＣＭ２１０に記録されたＣＭ情報を読み込んで、ＣＭ２１０のＣＭ情報を取得することができる。そして、ライブラリコントローラ１０１によれば、取得したＣＭ２１０のＣＭ情報を不揮発性メモリ１１０に格納することができる。
【０１８７】
これにより、テープドライブ装置ＴＤがデータの位置付けを行うための情報を不揮発性メモリ１１０に冗長化して保持することができる。
【０１８８】
また、テープドライブ装置ＴＤのコントローラ２０１によれば、テープカートリッジＴＣ内のＣＭ２１０に記録されたＣＭ情報の読み込みに失敗した場合に、ＣＭ２１０のＣＭ情報の転送要求をライブラリコントローラ１０１に送信することができる。また、ライブラリコントローラ１０１によれば、テープドライブ装置ＴＤからＣＭ情報の転送要求を受信したことに応じて、不揮発性メモリ１１０に格納したＣＭ情報をテープドライブ装置ＴＤに転送することができる。
【０１８９】
これにより、テープドライブ装置ＴＤのＣＭリーダ／ライタ２０２が故障した場合でも、ライブラリコントローラ１０１から、不揮発性メモリ１１０に記憶されたＣＭ情報をテープドライブ装置ＴＤに転送することができる。このため、テープドライブ装置ＴＤは、ライブラリコントローラ１０１から転送されたＣＭ情報を利用してデータの高速位置付けを行うことができ、アクセス性能の低下を防ぐことができる。
【０１９０】
また、ライブラリコントローラ１０１によれば、テープカートリッジＴＣのロード指示を受け付けたことに応じて、ロボット部１０２のＣＭリーダ／ライタ１０５により、テープカートリッジＴＣ内のＣＭ２１０に記録されたＣＭ情報を読み込んで、ＣＭ２１０のＣＭ情報を取得することができる。
【０１９１】
これにより、テープカートリッジＴＣのロード時に、テープカートリッジＴＣ内のＣＭ２１０のＣＭ情報を読み込んで、不揮発性メモリ１１０に冗長化して保持することができる。
【０１９２】
また、コントローラ２０１によれば、テープカートリッジＴＣのアンロード指示を受け付けたことに応じて、テープカートリッジＴＣ内の磁気テープ２２０に記録されたデータの位置情報を含むＣＭ情報をライブラリコントローラ１０１に送信することができる。また、ライブラリコントローラ１０１によれば、コントローラ２０１から受信したＣＭ情報を、不揮発性メモリ１１０内のテープカートリッジＴＣのＶＯＬ情報領域に記憶することができる。
【０１９３】
これにより、テープカートリッジＴＣのアンロード時に、テープドライブ装置ＴＤから最新のＣＭ情報を取得して、不揮発性メモリ１１０のＣＭ情報を更新することができる。このため、何らかの不具合によりＣＭ２１０からＣＭ情報を読み取れない場合であっても、初回のＥＯＤまでの読み取り、もしくは、書き込み動作が完了すれば、それ以降は、不揮発性メモリ１１０のＣＭ情報を利用してデータの高速位置付けを行うことができる。さらに、運用中にテープカートリッジＴＣのＣＭ２１０が破損して場合においても、次回のテープカートリッジＴＣのロード時は、不揮発性メモリ１１０のＣＭ情報を利用してデータの高速位置付けを行うことが可能となる。
【０１９４】
また、コントローラ２０１によれば、テープカートリッジＴＣのアンロード時に、ＣＭ２１０へのＣＭ情報の書き込みに失敗した場合、テープカートリッジＴＣのテープアラートをライブラリコントローラ１０１に通知することができる。そして、ライブラリコントローラ１０１によれば、コントローラ２０１からテープアラートを受け付けた場合、ロボット部１０２のＣＭリーダ／ライタ１０５により、不揮発性メモリ１１０に格納したＣＭ情報をＣＭ２１０に書き込むことができる。
【０１９５】
これにより、テープドライブ装置ＴＤでのＣＭ情報の書き込みに失敗した場合に、ロボット部１０２のＣＭリーダ／ライタ１０５を使用して、ＣＭ２１０へのＣＭ情報の書き込みを試みることができる。このため、テープドライブ装置ＴＤのＣＭリーダ／ライタ２０２とＣＭ２１０との相性が悪く、双方とも故障していないにも関わらずＣＭ情報を書き込めない場合であっても、ロボット部１０２に実装されたＣＭリーダ／ライタ１０５を活用して、ＣＭ２１０にＣＭ情報を書き込むことができる。
【０１９６】
これらのことから、テープライブラリ装置１００によれば、テープカートリッジＴＣのＣＭ２１０もしくはテープドライブ装置ＴＤのＣＭリーダ／ライタ２０２が故障した場合でも、不揮発性メモリ１１０に保持したＣＭ情報を利用してデータの高速位置付けを行うことができ、アクセス性能の低下を防ぐことができる。
【０１９７】
なお、本実施の形態で説明した情報管理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報管理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報管理プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１９８】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１９９】
（付記１）テープカートリッジ内の非接触型メモリへのアクセス機構を有し、前記テープカートリッジ内の磁気テープに記録されたデータの位置情報を前記非接触型メモリから読み込んで前記データの位置付けを行うテープドライブ装置と、
前記非接触型メモリへのアクセス機構を有し、前記テープカートリッジを前記テープドライブ装置まで移動するロボット部と、
前記ロボット部のアクセス機構により前記非接触型メモリから前記位置情報を読み込んで不揮発性メモリに格納する制御部と、
を備えることを特徴とするテープライブラリ装置。
【０２００】
（付記２）前記テープドライブ装置は、
前記非接触型メモリからの前記位置情報の読み込みに失敗した場合に、前記位置情報の転送要求を前記制御部に送信し、
前記制御部は、
前記テープドライブ装置から前記転送要求を受信したことに応じて、前記不揮発性メモリに格納した前記位置情報を、前記テープドライブ装置に転送することを特徴とする付記１に記載のテープライブラリ装置。
【０２０１】
（付記３）前記制御部は、
前記テープカートリッジのロード指示を受け付けたことに応じて、セルまたはＣＡＳに格納された前記テープカートリッジを前記ロボット部に格納して、前記ロボット部のアクセス機構により前記非接触型メモリから前記位置情報を読み込んで前記不揮発性メモリに格納することを特徴とする付記１または２に記載のテープライブラリ装置。
【０２０２】
（付記４）前記テープドライブ装置は、
前記テープカートリッジのアンロード指示を受け付けたことに応じて、前記テープカートリッジ内の磁気テープに記録されたデータの位置情報を前記制御部に送信し、
前記制御部は、
前記テープドライブ装置から受信した位置情報を前記不揮発性メモリに格納することを特徴とする付記１〜３のいずれか一つに記載のテープライブラリ装置。
【０２０３】
（付記５）前記テープドライブ装置は、
前記非接触型メモリへの位置情報の書き込みに失敗した場合に、前記テープカートリッジのテープアラートを前記制御部に通知し、
前記制御部は、
前記テープドライブ装置から前記テープアラートを受け付けた場合、前記ロボット部のアクセス機構により、前記不揮発性メモリに格納した位置情報を前記非接触型メモリに書き込むことを特徴とする付記４に記載のテープライブラリ装置。
【０２０４】
（付記６）テープカートリッジ内の非接触型メモリへのアクセス機構を有し、前記テープカートリッジ内の磁気テープに記録されたデータの位置情報を前記非接触型メモリから読み込んで前記データの位置付けを行うテープドライブ装置と、前記テープカートリッジを前記テープドライブ装置まで移動するロボット部と、前記ロボット部を制御する制御部と、を備えるテープライブラリ装置の情報管理方法であって、
前記制御部が、前記ロボット部が有する前記非接触型メモリへのアクセス機構により、前記非接触型メモリから前記位置情報を読み込んで不揮発性メモリに格納することを特徴とする情報管理方法。
【符号の説明】
【０２０５】
１００  テープライブラリ装置
１０１  ライブラリコントローラ
１０２  ロボット部
１０３  アクセッサー
１０４  ロボットアーム
１０５，２０２  ＣＭリーダ／ライタ
１０６  セル
１０７  ＣＡＳ
１１０  不揮発性メモリ
１２０  ホスト装置
２０１  コントローラ
２０３  ヘッドアセンブリ
２０４  アクチュエータ
２０５  アナログ／デジタル変換部
２１０  ＣＭ
２２０  磁気テープ
４００  ライブラリ用フラグ管理情報
５００  ドライブ用フラグ管理情報
６０１，８０１  受付部
６０２  ライブラリＣＭ情報管理部
６０３，８０３  出力部
７００  テープカートリッジ情報
８０２  テープドライブＣＭ情報管理部
ＴＣ  テープカートリッジ
ＴＤ，ＴＤ１〜ＴＤ４  テープドライブ装置
【図１】
0006421627.tif 000002
【図２】
0006421627.tif 000003
【図３】
0006421627.tif 000004
【図４】
0006421627.tif 000005
【図５】
0006421627.tif 000006
【図６】
0006421627.tif 000007
【図７】
0006421627.tif 000008
【図８】
0006421627.tif 000009
【図９】
0006421627.tif 000010
【図１０】
0006421627.tif 000011
【図１１】
0006421627.tif 000012
【図１２】
0006421627.tif 000013
【図１３】
0006421627.tif 000014
【図１４】
0006421627.tif 000015
【図１５】
0006421627.tif 000016
【図１６】
0006421627.tif 000017
【図１７】
0006421627.tif 000018
【図１８】
0006421627.tif 000019
【図１９】
0006421627.tif 000020