(57)【要約】      （修正有）【課題】ファームウェア更新方法、ライブラリ装置及びプログラムにおいて、ドライブファームウェアの更新を比較的短時間で行うことが可能にする。【解決手段】ライブラリ装置２１は複数のドライブと、最新のファーム版数のドライブファームウェアを格納する格納部と、格納部に格納されたドライブファームウェアのファーム版数と、任意のドライブに実装されているドライブファームウェアのファーム版数が不一致であると判定すると任意のドライブに対するドライブファームウェアの更新を決定する版数判定部と、更新が決定されると格納部に格納されたドライブファームウェアのうち少なくとも最終データを除くデータを任意のドライブに送信する判断制御部と、任意のドライブの状態を判定する状態判定部とを備え、判断制御部は状態判定部で判定された状態に応じて少なくとも最終データを含む未送信のデータを任意のドライブに送信するよう構成する。【選択図】図３
2011164888.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体をロード可能な複数のドライブを有するライブラリ装置におけるファームウェア更新方法であって、
前記ライブラリ装置内の格納部に格納されたドライブファームウェアの最新のファーム版数と、任意のドライブに実装されているドライブファームウェアのファーム版数が不一致であると判定すると前記任意のドライブに対するドライブファームウェアの更新を決定する版数判定工程と、
前記版数判定工程によりドライブファームウェアの更新が決定されると、前記格納部に格納されたドライブファームウェアのうち少なくとも送信単位の最終データを除くデータを前記任意のドライブに送信する判断制御工程と、
前記任意のドライブの状態を判定する状態判定工程を含み、
前記判断制御工程は、前記状態判定工程で判定された状態に応じて少なくとも前記最終データを含む未送信のデータを前記任意のドライブに送信する、ファームウェア更新方法。
【請求項２】
記録媒体をロード可能な複数のドライブと、
最新のファーム版数のドライブファームウェアを格納する格納部と、
前記格納部に格納されたドライブファームウェアのファーム版数と、任意のドライブに実装されているドライブファームウェアのファーム版数が不一致であると判定すると前記任意のドライブに対するドライブファームウェアの更新を決定する版数判定部と、
前記版数判定部によりドライブファームウェアの更新が決定されると、前記格納部に格納されたドライブファームウェアのうち少なくとも送信単位の最終データを除くデータを前記任意のドライブに送信する判断制御部と、
前記任意のドライブの状態を判定する状態判定部とを備え、
前記判断制御部は、前記状態判定部で判定された状態に応じて少なくとも前記最終データを含む未送信のデータを前記任意のドライブに送信する、ライブラリ装置。
【請求項３】
前記判断制御部は、前記状態判定部において前記任意のドライブと外部装置との非接続状態、或いは、前記任意のドライブに記録媒体がロードされていない状態が判定されると、前記未送信のデータを前記任意のドライブに送信する、請求項２記載のライブラリ装置。
【請求項４】
前記判断制御部は、前記状態判定部において前記任意のドライブが前記未送信のデータを前記ライブラリ装置の保守時に受信する設定、或いは、前記最終データを受信すると自動的にリセットされてドライブファームウェアの更新を確定する設定とされた状態が判定されると、前記保守時に前記未送信のデータを前記任意のドライブに送信する、請求項２又は３記載のライブラリ装置。
【請求項５】
記録媒体をロード可能な複数のドライブを有するライブラリ装置においてコンピュータに前記ドライブに実装されたドライブファームウェアを更新させるプログラムであって、
前記ライブラリ装置内の格納部に格納されたドライブファームウェアの最新のファーム版数と、任意のドライブに実装されているドライブファームウェアのファーム版数が不一致であると判定すると前記任意のドライブに対するドライブファームウェアの更新を決定する版数判定手順と、
前記版数判定手順によりドライブファームウェアの更新が決定されると、前記格納部に格納されたドライブファームウェアのうち少なくとも送信単位の最終データを除くデータを前記任意のドライブに送信する判断制御手順と、
前記任意のドライブの状態を判定する状態判定手順と
を前記コンピュータに実行させ、
前記判断制御手順は、前記状態判定手順で判定された状態に応じて少なくとも前記最終データを含む未送信のデータを前記任意のドライブに送信する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファームウェア更新方法、ライブラリ装置及びプログラムに係り、特にライブラリ装置内のドライブのファームウェアを更新するファームウェア更新方法、そのようなファームウェア更新方法を用いるライブラリ装置、及びコンピュータにそのようなファームウェア更新方法の手順を実行させるプログラムに関する。本発明は、プログラムを格納したコンピュータ読み取り可能な記憶媒体にも関する。
【背景技術】
【０００２】
図１は、従来のテープライブラリ装置の一例を含むストレージシステムを示す図である。テープライブラリ装置１は、スイッチ２を介してホスト装置３−１，３−２に接続されている。テープライブラリ装置１は、インタフェース（Ｉ／Ｆ：Interface）１１−１，１１−２、コントローラ１２、ロボット１３、複数のテープ媒体１６を収納するテープ媒体収納部１４、及び複数のテープドライブ１５−１〜１５−４を有する。ホスト装置３−１，３−２は、例えば汎用コンピュータにより形成可能である。
【０００３】
コントローラ１２は、テープライブラリ装置１全体の動作を制御する。コントローラ１２の制御には、Ｉ／Ｆ１１−１，１１−２を介したコマンド等の送受信の制御、及びロボット１３の制御が含まれる。コントローラ１２は、ホスト装置３−１，３−２からスイッチ２を経由したコマンド等をＩ／Ｆ１１−１，１１−２で受信したり、コマンドに対する応答等をＩ／Ｆ１１−１，１１−２を介してスイッチ２を経由してホスト装置３−１，３−２へ送信したりする送受信の制御を行う。又、コントローラ１２は、ホスト装置３−１，３−２からスイッチ２を介して受信したコマンドに応答してデータアクセス（即ち、データのライト及び／又はリード）を行うアクセス対象（例えば、ドライブ１５−１）にテープ媒体収納部１４に収納されたテープ媒体１６をロードしたり、データアクセスが終了したアクセス対象（例えば、ドライブ１５−１）からテープ媒体１６をアンロードしてテープ媒体収納部１４に収納するようにロボット１３を制御する。
【０００４】
テープライブラリ装置１は、データをテープドライブ１５−１〜１５−４にロードされたテープ媒体１６に保存するが、各テープドライブ１５−１〜１５−４はそれ自体が１つのデバイスであり、ライブラリ装置１とは別個に自身のファームウェア（以下、ドライブファームウェアと言う）が実装されている。ホスト装置３−１，３−２とテープライブラリ装置１との間のライトデータ、リードデータ等のデータのやり取りは、ホスト装置３−１，３−２と各テープドライブ１５−１〜１５−４の間でスイッチ２を介して行える。各テープドライブ１５−１〜１５−４のドライブファームウェアは、各テープドライブ１５−１〜１５−４の性能の向上と共に、データ量（又は、ファームウェアサイズ）が大きくなってきたため、各テープドライブ１５−１〜１５−４のドライブファームウェアの更新（又は、アップデート）作業に要する時間が非常に長くなってきた。
【０００５】
図２は、従来のテープドライブのファームウェア更新処理の一例を説明する図である。図２では、説明の便宜上、テープライブラリ装置１の保守作業中に、最新のファーム版数のドライブファームウェアのデータをホスト装置３−１又は３−２から供給されたコントローラ１２から、テープドライブ１５−１のドライブファームウェアの更新を行う場合を示す。この場合、テープドライブ１５−１へのファームウェア更新処理は、ドライブファームウェアをライトバッファ（Write Buffer）コマンドによりコントローラ１２から送信することで実現され、ドライブファームウェアのデータは例えば１６バイトずつ送信される。このようなシーケンスのファームウェア更新処理は、１つのテープドライブ１５−１に対して例えば約３０分程度の保守時間を要し、保守作業に比較的時間がかかる。今後、テープドライブ１５−１〜１５−４の機能の更なる向上に伴い、ファームウェア更新処理に要する保守時間は更に増加することが予想される。
【０００６】
一方、図２のファームウェア更新処理によりドライブファームウェアの最後のデータがコントローラ１２からテープドライブ１５−１に送信されると、テープドライブ１５−１の仕様によってはテープドライブ１５−１が自動的にリセットされ、このリセットによりテープドライブ１５−１内で実装されているドライブファームウェアのファーム版数の更新が確定する。しかし、テープライブラリ装置１が例えばテープドライブ１５−１を使用してデータのバックアップ処理を実行している最中にテープドライブ１５−１が自動的にリセットされると、バックアップ処理が停止してしまい、バックアップするべきデータが消失してしまうデータロスト状態を引き起こす可能性がある。
【０００７】
尚、ドライブのファームウェア更新処理に要する保守時間が比較的長くなる現象や、ドライブファームウェアの全てのデータがドライブに送信されてドライブファームウェアが更新されるとドライブが自動的にリセットされてバックアップ処理が停止してしまう現象は、テープライブラリ装置特有の現象ではなく、上記シーケンスのファームウェア更新処理を行うライブラリ装置であれば、テープ媒体以外の記録媒体を用いるドライブを有するライブラリ装置でも発生するものである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平７−２８６３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来のライブラリ装置では、ドライブファームウェアの更新に比較的時間がかかるという問題があった。
【００１０】
そこで、本発明は、ドライブファームウェアの更新を比較的短時間で行うことが可能なファームウェア更新方法、ライブラリ装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一観点によれば、記録媒体をロード可能な複数のドライブを有するライブラリ装置におけるファームウェア更新方法であって、前記ライブラリ装置内の格納部に格納されたドライブファームウェアの最新のファーム版数と、任意のドライブに実装されているドライブファームウェアのファーム版数が不一致であると判定すると前記任意のドライブに対するドライブファームウェアの更新を決定する版数判定工程と、前記版数判定工程によりドライブファームウェアの更新が決定されると、前記格納部に格納されたドライブファームウェアのうち少なくとも送信単位の最終データを除くデータを前記任意のドライブに送信する判断制御工程と、前記任意のドライブの状態を判定する状態判定工程を含み、前記判断制御工程は、前記状態判定工程で判定された状態に応じて少なくとも前記最終データを含む未送信のデータを前記任意のドライブに送信するファームウェア更新方法が提供される。
【００１２】
本発明の一観点によれば、記録媒体をロード可能な複数のドライブと、最新のファーム版数のドライブファームウェアを格納する格納部と、前記格納部に格納されたドライブファームウェアのファーム版数と、任意のドライブに実装されているドライブファームウェアのファーム版数が不一致であると判定すると前記任意のドライブに対するドライブファームウェアの更新を決定する版数判定部と、前記版数判定部によりドライブファームウェアの更新が決定されると、前記格納部に格納されたドライブファームウェアのうち少なくとも最終データを除くデータを前記任意のドライブに送信する判断制御部と、前記任意のドライブの状態を判定する状態判定部とを備え、前記判断制御部は、前記状態判定部で判定された状態に応じて少なくとも前記最終データを含む未送信のデータを前記任意のドライブに送信するライブラリ装置が提供される。
【００１３】
本発明の一観点によれば、記録媒体をロード可能な複数のドライブを有するライブラリ装置においてコンピュータに前記ドライブに実装されたドライブファームウェアを更新させるプログラムであって、前記ライブラリ装置内の格納部に格納されたドライブファームウェアの最新のファーム版数と、任意のドライブに実装されているドライブファームウェアのファーム版数が不一致であると判定すると前記任意のドライブに対するドライブファームウェアの更新を決定する版数判定手順と、前記版数判定手順によりドライブファームウェアの更新が決定されると、前記格納部に格納されたドライブファームウェアのうち少なくとも送信単位の最終データを除くデータを前記任意のドライブに送信する判断制御手順と、前記任意のドライブの状態を判定する状態判定手順とを前記コンピュータに実行させ、前記判断制御手順は、前記状態判定手順で判定された状態に応じて少なくとも前記最終データを含む未送信のデータを前記任意のドライブに送信するプログラムが提供される。
【発明の効果】
【００１４】
開示のファームウェア更新方法、ライブラリ装置及びプログラムによれば、ドライブファームウェアの更新を比較的短時間で行うことが可能となる。
【図面の簡単な説明】
【００１５】
【図１】従来のテープライブラリ装置の一例を含むストレージシステムを示す図である。
【図２】従来のテープドライブのファームウェア更新処理の一例を説明する図である。
【図３】本発明の一実施例におけるライブラリ装置の一例を示すブロック図である。
【図４】実施例におけるテープドライブのファームウェア更新処理の一例を説明する図である。
【図５】ドライブファームウェアの最終データの判定処理を説明する図である。
【図６】ファームウェア更新処理時に表示される表示画面の一例を説明する図である。
【図７】バックアップ処理中のファームウェア更新処理を説明するフローチャートである。
【図８】ライブラリ装置の保守時の更新ドライブ判定処理を説明するフローチャートである。
【発明を実施するための形態】
【００１６】
開示のファームウェア更新方法、ライブラリ装置及びプログラムでは、記録媒体をロード可能な複数のドライブを有するライブラリ装置において、ライブラリ装置内の格納部に格納されたドライブファームウェアの最新のファーム版数と、任意のドライブに実装されているドライブファームウェアのファーム版数が不一致であると、前記任意のドライブに対するドライブファームウェアの更新を決定する。ドライブファームウェアの更新を決定すると、格納部に格納されたドライブファームウェアのうち少なくとも送信単位の最終データを除くデータを前記任意のドライブに送信する。前記任意のドライブの状態に応じて、少なくとも前記最終データを含む未送信のデータを前記任意のドライブに送信する。
【００１７】
ライブラリ装置の保守時には、ドライブファームウェアの更新対象である前記任意のドライブを用いたデータのバックアップを一時中断することができる。このため、前記任意のドライブへのドライブファームウェアのデータの送信を最終データの直前のデータまでとし、最終データの送信はテープライブラリ装置の保守時に行うことで、保守時のドライブファームウェアの更新時間を短縮することができる。
【００１８】
以下に、開示のファームウェア更新方法、ライブラリ装置及びプログラムの各実施例を図面と共に説明する。
【実施例】
【００１９】
図３は、本発明の一実施例におけるライブラリ装置の一例を示すブロック図である。本実施例では、本発明がテープライブラリ装置に適用されているが、テープライブラリ装置内のドライブが用いる記録媒体はテープ媒体に限定されるものではない。
【００２０】
図３に示すストレージシステムは、テープライブラリ装置２１、ホスト装置２２及び保守用端末２３を有する。ホスト装置２２及び保守用端末２３は、夫々ＣＰＵ（Central Processing Unit）等のプロセッサ、記憶装置及び表示装置を有する汎用コンピュータにより形成可能である。テープライブラリ装置２１とホスト装置２２及び保守用端末２３との間は、ファイバチャネル（ＦＣ：Fiber Channelケーブル等の専用線、ネットワーク等の通信路により接続されている。ホスト装置２２を保守用端末２３として使用する場合には、保守用端末２３、即ち、保守専用の端末は省略可能である。又、複数のホスト装置２２、或いは、複数のホスト装置２２と保守用端末２３をライブラリ装置２１に接続する場合には、図１の場合のようにスイッチ（図示せず）を介した周知の接続方法を採用可能である。この場合、スイッチと複数のホスト装置２２との間、或いは、スイッチと複数のホスト装置２２及び保守用端末２３との間は、回線やネットワーク等の通信路で接続可能である。又、スイッチとライブラリ装置２１のライブラリコントローラ２１１及びテープドライブ２１２−１〜２１２−Ｎとの間も、回線やネットワーク等の通信路で接続可能である。
【００２１】
尚、図３では説明の便宜上、テープライブラリ装置２１内のインタフェース（Ｉ／Ｆ）、ロボット、テープ媒体収納部等の図示及び説明は省略するが、テープライブラリ装置２１の基本構成は、図１を含む各種周知の基本構成と同様で良い。従って、図１の基本構成を用いる場合であれば、図１のコントローラ１が図３のライブラリコントローラ２１１で置き換えられる。図３の各テープドライブ２１２−１〜２１２−Ｎは、図１の各テープドライブ１５−１〜１５−４と同様の構成を有しても良い。
【００２２】
テープライブラリ装置２１は、図３に示す如く接続されたライブラリコントローラ２１１と、複数のテープドライブ２１２−１〜２１２−Ｎ（Ｎは２以上の自然数）を有する。ライブラリコントローラ２１１は、ドライブファーム格納部３１、ファーム版数判定部３２、転送判断制御部３３、保守状態判断部３４、ドライブ状態判定部３５、及びドライブ通信制御部３６を有する。各テープドライブ２１２−ｉ（ｉ＝１〜Ｎ）は、ライブラリ通信部４１及びドライブファーム格納部４２を有する。
【００２３】
ドライブファーム格納部３１は、テープドライブ２１２−１〜２１２−Ｎに実装するべきドライブファームウェアとそのファーム版数を格納する。テープドライブ２１２−１〜２１２−Ｎに実装されているドライブファームウェアの更新時、例えばテープライブラリ装置２１の保守時には、保守用端末２３又はホスト装置２２から最新のファーム版数のドライブファームウェアをドライブファーム格納部３１に格納する。
【００２４】
ドライブ通信部３６は、テープドライブ２１２−１〜２１２−Ｎとの通信を行う、この通信により、ライブラリコントローラ２１１からテープドライブ２１２−１〜２１２−Ｎへドライブファームウェアのデータの送信を行う。
【００２５】
ドライブ状態判定部３５は、テープドライブ２１２−１〜２１２−Ｎの状態を判定する。ドライブ状態判定部３５は、テープドライブ２１２−１〜２１２−ＮがＦＣケーブル等によりホスト装置２２と接続されていない状態であるか否かの判定、ライブラリ装置２１の設定等に基づいて、テープ媒体がテープドライブ２１２−１〜２１２−Ｎにロードされているか否かの判定等を行う。テープドライブ２１２−１〜２１２−Ｎがホスト装置２２と接続されているか否かは、周知の方法で判定可能であるため、その説明は省略する。又、テープ媒体がテープドライブ２１２−１〜２１２−Ｎにロードされているか否かも、周知の方法で判定可能であるため、その説明は省略する。
【００２６】
ファーム版数判定部３２は、任意のテープドライブ２１２−ｉ（ｉ＝１〜Ｎ）に実装されているドライブファームウェアのファーム版数がドライブファーム格納部３１に格納されているファーム版数と同一であるか否かを判定する。転送判断制御部３３は、ファーム版数判定部３２の判定でファーム版数の不一致が検出されると、最新のファーム版数のドライブファームウェアのデータをテープドライブ２１２−ｉに送信してドライブファームウェアを更新するべきであると判断して、ドライブファーム格納部３１に格納されたドライブファームウェアをドライブ状態判定部３５で判定されたテープドライブ２１２−ｉの状態に応じて決定された送信方法で送信する。この例では、送信方法は次の２種類の送信方法ｍ１，ｍ２のいずれかに決定される。
【００２７】
送信方法ｍ１は、最新のファーム版数のドライブファームウェアのデータの最終フレームまで送信するもので、このドライブファームウェアの全てのデータをテープドライブ２１２−ｉへドライブ通信制御部３６を介して転送することでテープドライブ２１２−ｉに実装されているドライブファームウェアを最新のファーム版数のドライブファームウェアのデータに更新する。具体的には、最新のファーム版数のドライブファームウェアのデータは、テープドライブ２１２−ｉのライブラリ通信部４１を介してドライブファーム格納部４２に格納され、テープドライブ２１２−ｉがリセットされると実装されているドライブファームウェアの更新が確定する。
【００２８】
ファームウェア更新処理によりドライブファームウェアの最終フレームのデータがライブラリコントローラ２１からテープドライブ２１２−ｉに送信されると、テープドライブ２１２−ｉの仕様によってはテープドライブ２１２−ｉが自動的にリセットされ、このリセットによりテープドライブ２１２−ｉ内で実装されているドライブファームウェアの更新が確定してファーム版数が更新される。
【００２９】
送信方法ｍ２は、最新のファーム版数のドライブファームウェアのデータの最終フレームは送信せず、最終フレームより前の任意のフレームまでのデータをテープドライブ２１２−ｉへドライブ通信制御部３６を介して送信する。具体的には、最新のファーム版数のドライブファームウェアの上記任意のフレームまでのデータは、テープドライブ２１２−ｉのライブラリ通信部４１を介してドライブファーム格納部４２に格納される。最新のファーム版数のドライブファームウェアの最終フレームを含む上記任意のフレームより後のフレームのデータは、テープライブラリ装置２１の保守時にテープドライブ２１２−ｉに送信される。従って、ファームウェア更新処理によりドライブファームウェアの最終フレームのデータがライブラリコントローラ２１からテープドライブ２１２−ｉに転送されると、テープドライブ２１２−ｉが自動的にリセットされる仕様であっても、最新のファーム版数のドライブファームウェアの上記任意のフレームまでのデータがテープドライブ２１２−ｉに転送された状態ではこのリセットは発生しないので、テープドライブ２１２−ｉ内で実装されているドライブファームウェアのファーム版数が更新されることはない。テープライブラリ装置２１の保守時に、最新のファーム版数のドライブファームウェアの最終フレームを含む上記任意のフレームより後のフレームのデータをテープドライブ２１２−ｉに送信することで、テープドライブ２１２−ｉがリセットされて実装されているドライブファームウェアの更新が確定する。
【００３０】
テープドライブ２１２−ｉのドライブファームウェアの更新時には、テープドライブ２１２−ｉに送信されたドライブファームウェアのデータはテープドライブ２１２−ｉの電源がオフにされるまでドライブファーム格納部３１に保持される。このため、テープライブラリ装置２１の保守時のドライブファームウェアの更新待ち状態でテープドライブ２１２−ｉの電源がオフにされた場合には、ファーム版数判定部３２は、ドライブファーム格納部３１に保持されたドライブファームウェアのデータをテープドライブ２１２−ｉに送信してドライブファームウェアの更新を行うか否かを再度判定する。
【００３１】
保守状態判断部３４は、テープライブラリ装置２１が保守状態であるか否かを判断し、テープドライブ２１２−１〜２１２−Ｎの中で転送判断制御部３３により送信方法ｍ２でのドライブファームウェアの送信が決定されているテープドライブがあるか否かを判断する。又、保守状態判断部３４は、ライブラリ装置２１の保守時の保守作業が終了したか否かを判断し、保守作業の終了時に送信方法ｍ２が決定されている状態が継続していると、保守用端末２３の表示装置にドライブファームウェアの更新を継続するか否かの指示を求める表示画面を表示し、ドライブファームウェアの更新を促す。尚、ライブラリ装置２１の保守作業が終了したか否かは、保守者による保守用端末２３のＧＵＩ（Graphical User Interface）での情報提供に含まれる保守終了情報に基づいて判定可能である。
【００３２】
図４は、本実施例におけるテープドライブのファームウェア更新処理の一例を説明する図である。この例では、テープドライブ２１２−ｉに送信するべきドライブファームウェアのデータを、最終フレームのデータと、最終フレーム以外のフレームのデータとに分離する。最終フレーム以外のフレームのデータは、保守作業中以外の時間、例えばテープライブラリ２１によるバックアップ処理の運用中等を含むテープライブラリ装置２１の運用中に、ライトバッファ（Write Buffer）コマンドにより送信単位である１６バイトずつテープドライブ２１２−ｉに送信しておく。これにより、実際の保守作業に伴うドライブファームウェアの更新時間は、最終フレームのデータを送信するのに要する時間のみとなるので、保守時間を大幅に減少させることが可能となる。又、最終フレームのデータは、テープライブラリ装置２１の保守時にテープドライブ２１２−ｉに送信する。
【００３３】
このように、最終フレームのデータを保守作業中以外の時間にはテープドライブ２１２−ｉに送信しないことにより、テープドライブ２１２−ｉの仕様により最終フレームのデータを受信してテープドライブ２１２−ｉが自動的にリセットされて実装されているドライブファームウェアのファーム版数が自動的に更新されてしまう不都合を回避可能となる。例えば、テープドライブ２１２−ｉにテープ媒体がロードされており、テープドライブ２１２−ｉでのデータのバックアップが行われている最中にテープドライブ２１２−ｉのリセットが発生すると、データロスト状態等が発生する可能性がある。そこで、データロスト状態を確実に防止し、且つ、保守時のドライブファームウェアの更新時間を短縮するために、テープドライブ２１２−ｉへのドライブファームウェアのデータの送信を最終フレームの直前のフレームのデータまでとし、最終フレームのデータの送信はテープライブラリ装置２１の保守時に行う。これは、保守時には、ドライブファームウェアの更新対象であるテープドライブ２１２−ｉを用いたデータのバックアップを一時中断することができるからである。
【００３４】
尚、データロスト状態が発生し得ない状況の場合には、更新対象であるテープドライブ２１２−ｉに対するドライブファームウェアの更新作業を継続しても良い。例えば、更新対象であるテープドライブ２１２−ｉとバックアップ処理の制御を司るホスト装置２２とが接続されていない場合（例えば、ホスト装置２２とテープライブラリ２１との間を接続するＦＣケーブルが非接続の場合）や、更新対象であるテープドライブ２１２−ｉにテープ媒体がロードされていない場合等には、データロスト状態が発生し得ない。テープドライブ２１２−ｉにテープ媒体がロードされていない場合であっても、ホスト装置２２と更新対象であるテープドライブ２１２−ｉとが接続されている場合には、テープドライブ２１２−ｉのリセットが発生したことを示す通知がホスト装置２２に送られると、ホスト装置２２上で動作しているバックアップソフトウェアによっては、テープドライブ２１２−ｉにエラーが発生したと判定してしまうことがある。そこで、テープドライブ２１２−ｉにテープ媒体がロードされていない場合にドライブファームウェアのファーム版数を更新するべきか否かの判定を、ライブラリ装置２１内のライブラリコントローラ２１１で行う。
【００３５】
図５は、ドライブファームウェアの送信単位の最終データ、即ち、最終フレームのデータの判定処理を説明する図である。図５の判定処理は、ドライブファームウェアのデータを更新対象であるテープドライブ２１２−ｉに送信する際に、ライブラリコントローラ２１１内の転送判断制御部３３において実行可能である。
【００３６】
図５において、ステップＳＴ１では、例えば不揮発メモリで形成されたドライブファーム格納部３１に格納された最新のファーム版数のドライブファームウェアの２メガバイトのデータのうち、送信単位である５１２バイトの１フレーム目のデータを転送判断制御部３３内の揮発メモリ３３１に展開し、この１フレーム目のデータをテープドライブ２１２−ｉに送信すると共に、残る未送信のデータ量（この場合、２Ｍbyte−５１２byte）を計算して保持する。ステップＳＴ１と同様のステップは、残る未送信のデータ量の計算結果が５１２バイト以下となるまで繰り返される。残る未送信のデータ量が５１２バイト以下になると、ステップＳＴＭでは、ドライブファーム格納部３１に格納されたデータのうち残る未送信の最終データを、最終フレームのデータとして転送判断制御部３３内の揮発メモリ３３１に展開し、この最終フレームのデータをテープドライブ２１２−ｉに送信すると共に、残る未送信のデータ量の計算結果が５１２バイト以下なので、最終データの判定処理を終了する。尚、送信単位のバイト数は、図４の場合の１６バイトや図５の場合の５１２バイトを含め、適宜選定可能である。
【００３７】
図６は、ファームウェア更新処理時に保守用端末２３の表示装置に表示される表示画面の一例を説明する図である。
【００３８】
保守者によるライブラリ装置２１の保守作業の終了時には、例えば図６の左側に示す如き表示画面が保守用端末２３の表示装置に表示され、保守者がこの表示画面中の保守終了ボタンを押すと保守作業の終了がテープライブラリ装置２１に通知される。そこで、この例では、保守者が保守終了ボタンを押すと、図６の右側に示す如き表示画面を保守用端末２３の表示装置に表示して、ファーム版数判定部３２の判定に基づきドライブファームウェアのファーム版数の更新が必要であるテープドライブの一覧を表示し、保守者に更新を行うべきテープドライブの指定を促す。図６の例では、テープドライブ２１２−１，２１２−２の更新が必要であり、この更新に要する所要時間は１分であることが保守用端末２３の表示装置の表示画面に表示されるので、保守者は更新を実行する場合には表示画面上の実行ボタンを押す。尚、更新が必要であるテープドライブの一覧を表示し、各テープドライブの更新を別々に指定可能な表示画面を表示しても良い。更に、保守者が保守終了ボタンを押した場合、更新が必要である全てのテープドライブの更新を自動的に行うようにしても良い。
【００３９】
図７は、テープライブラリ装置２１のバックアップ処理中のファームウェア更新処理を説明するフローチャートである。図７に示すファームウェア更新処理は、例えば保守用端末２３の表示装置に表示された表示画面上で保守者が保守開始ボタンを押すと、保守作業の開始がテープライブラリ装置２１に通知されることで開始される。
【００４０】
図７において、ステップＳ１では、ファーム版数判定部３２がドライブファームウェアのファーム版数の更新が必要であるテープドライブ２１２−ｉの有無を判定する。ステップＳ１の判定結果がＹＥＳになると、ステップＳ２では、ドライブ通信制御部３６がドライブファーム格納部３１に格納された最新のファーム版数のドライブファームウェアのデータのうち、少なくとも最終フレームのデータを除くデータをドライブ通信制御部３６を介して更新が必要であるテープドライブ２１２−ｉに送信する。ステップＳ３では、ドライブ状態判定部３５が更新が必要であるテープドライブ２１２−ｉがホスト装置２２と接続されていない状態であるか否かを判定する。この判定は、例えばテープドライブ２１２−ｉとホスト装置２２を接続するＦＣケーブルが抜けている（即ち、非接続状態にある）か否か等に基づいて行うことができる。
【００４１】
ステップＳ３の判定結果がＹＥＳであると、ステップＳ４では、転送判断制御部３３がドライブファーム格納部３１に格納された最新のファーム版数のドライブファームウェアのデータの最終フレームのデータを含む残りの未送信のデータをドライブ通信制御部３６を介して更新が必要であるテープドライブ２１２−ｉに送信し、処理は終了する。
【００４２】
一方、ステップＳ３の判定結果がＮＯであると、ステップＳ５では、ドライブ状態判定部３５が更新が必要であるテープドライブ２１２−ｉにテープ媒体がロードされていない場合のドライブファームウェアの更新設定（即ち、上記送信方法ｍ１の設定）が有るか否かを判定し、判定結果がＮＯであると処理はステップＳ６へ進み、判定結果がＹＥＳであると処理はステップＳ７へ進む。この例では、ステップＳ５の判定結果がＮＯであると、上記送信方法ｍ２が設定されているので、ステップＳ６では、転送判断制御部３３が、最新のファーム版数のドライブファームウェアのデータの最終フレームを含む残りの未送信のデータを送信することなく、処理を終了する。
【００４３】
ステップＳ７では、ドライブ状態判定部３５が、更新が必要であるテープドライブ２１２−ｉにテープ媒体がロードされていない状態であるか否かを判定する。ステップＳ７の判定結果がＹＥＳであると処理はステップＳ７になると、処理はステップＳ４へ進み、転送判断制御部３３が、ドライブファーム格納部３１に格納された最新のファーム版数のドライブファームウェアのデータの最終フレームのデータを含む残りの未送信のデータをドライブ通信制御部３６を介して更新が必要であるテープドライブ２１２−ｉに送信し、処理は終了する。
【００４４】
図８は、テープライブラリ装置２１の保守時の更新ドライブ判定処理を説明するフローチャートである。
【００４５】
図８において、ステップＳ１１では、保守状態判断部３４が、例えば保守用端末２３の表示装置に表示された図６の左側に示す如き表示画面上の保守終了ボタンが保守者により押されたことを検出することにより、保守作業が終了したと判断する。ステップＳ１２では、保守状態判断部３４が、ファーム版数判定部３２の判定に基づき、ドライブファームウェアのファーム版数の更新が必要であるテープドライブが有るか否かを判断する。ステップＳ１２の判定結果がＮＯであると、ステップＳ１３では、保守状態判断部３４が保守作業の終了を確定し、処理は終了する。
【００４６】
一方、ステップＳ１２の判定結果がＹＥＳであると、ステップＳ１４では、保守状態判断部３４が、例えば保守用端末２３の表示装置に表示された図６の右側に示す如き表示画面上の実行ボタンが保守者により押されたか否かを検出することにより、テープドライブ１２１−１，１２１−２のドライブファームウェアの更新が選択されたか否かを判断する。ステップＳ１４の判定結果がＮＯであると、処理はステップＳ１３へ進む。ステップＳ１４の判定結果がＹＥＳであると、ステップＳ１５では、保守状態判断部３４がテープドライブ１２１−１，１２１−２のドライブファームウェアの更新を行い、処理はステップＳ１３へ進む。ステップＳ１４の更新では、最新のファーム版数のドライブファームウェアのデータのうち、少なくとも最終フレームを含む未送信のデータがドライブ通信制御部３６を介して更新が必要であるテープドライブ２１２−１，２１２−２に送信される。
【００４７】
本実施例によれば、例えばテープライブラリ装置２１の保守部品であるテープドライブ２１２−１〜２１２−Ｎ以外のロボット等の保守部品に対する保守時であっても、保守者にドライブファームウェアの更新を促すことで、更新対象のテープドライブ２１２−ｉに対するファーム更新処理を効率的に行うことが可能となる。
【００４８】
本実施例におけるファームウェア更新方法は、図３に示すライブラリコントローラ２１１内の特にファーム版数判定部３２、転送判断制御部３３、保守状態判断部３４、ドライブ状態判定部３５、及びドライブ通信制御部３６が実行する処理のステップ（又は、工程）の手順により実現可能である。又、ライブラリコントローラ２１１内の特にファーム版数判定部３２、転送判断制御部３３、保守状態判断部３４、ドライブ状態判定部３５、及びドライブ通信制御部３６の機能は、ＣＰＵ等のプロセッサ及び記憶装置を有する汎用コンピュータにより実現可能である。
【００４９】
本実施例におけるプログラムは、コンピュータにライブラリコントローラ２１１内の特にファーム版数判定部３２、転送判断制御部３３、保守状態判断部３４、ドライブ状態判定部３５、及びドライブ通信制御部３６が実行する処理の手順を実行させるか、或いは、ライブラリコントローラ２１１内の特にファーム版数判定部３２、転送判断制御部３３、保守状態判断部３４、ドライブ状態判定部３５、及びドライブ通信制御部３６の機能を実現させるためのものである。このようなプログラムは、コンピュータ読み取り可能な記憶媒体に格納されていても良く、コンピュータ読み取り可能な記憶媒体自体を構成する記録媒体は特に限定されない。
【００５０】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
記録媒体をロード可能な複数のドライブを有するライブラリ装置におけるファームウェア更新方法であって、
前記ライブラリ装置内の格納部に格納されたドライブファームウェアの最新のファーム版数と、任意のドライブに実装されているドライブファームウェアのファーム版数が不一致であると判定すると前記任意のドライブに対するドライブファームウェアの更新を決定する版数判定工程と、
前記版数判定工程によりドライブファームウェアの更新が決定されると、前記格納部に格納されたドライブファームウェアのうち少なくとも送信単位の最終データを除くデータを前記任意のドライブに送信する判断制御工程と、
前記任意のドライブの状態を判定する状態判定工程を含み、
前記判断制御工程は、前記状態判定工程で判定された状態に応じて少なくとも前記最終データを含む未送信のデータ前記任意のドライブに送信する、ファームウェア更新方法。
（付記２）
前記判断制御工程は、前記状態判定工程において前記任意のドライブと外部装置との非接続状態、或いは、前記任意のドライブに記録媒体がロードされていない状態が判定されると、前記未送信のデータを前記任意のドライブに送信する、付記１記載のファームウェア更新方法。
（付記３）
前記判断制御工程は、前記状態判定工程において前記任意のドライブが前記未送信のデータを前記ライブラリ装置の保守時に受信する設定、或いは、前記最終データを受信すると自動的にリセットされてドライブファームウェアの更新を確定する設定とされた状態が判定されると、前記保守時に前記未送信のデータを前記任意のドライブに送信する、付記１又は２記載のファームウェア更新方法。
（付記４）
前記版数判定工程は、前記ライブラリ装置の保守時のドライブファームウェアの更新待ち状態で前記任意のドライブの電源がオフにされた場合には、前記格納部に保持されたドライブファームウェアのデータを前記任意のドライブに送信してドライブファームウェアの更新を行うか否かを再度判定する、付記１乃至３のいずれか１項記載のファームウェア更新方法。
（付記５）
前記判断制御工程は、前記任意のドライブが複数個ある場合、前記未送信のデータを前記任意のドライブのうち外部装置から指定されたドライブに送信する、付記１乃至４のいずれか１項記載のファームウェア更新方法。
（付記６）
前記判断制御工程は、前記任意のドライブが複数個ある場合、前記未送信のデータを前記任意のドライブの全てに送信する、付記１乃至４のいずれか１項記載のファームウェア更新方法。
（付記７）
記録媒体をロード可能な複数のドライブと、
最新のファーム版数のドライブファームウェアを格納する格納部と、
前記格納部に格納されたドライブファームウェアのファーム版数と、任意のドライブに実装されているドライブファームウェアのファーム版数が不一致であると判定すると前記任意のドライブに対するドライブファームウェアの更新を決定する版数判定部と、
前記版数判定部によりドライブファームウェアの更新が決定されると、前記格納部に格納されたドライブファームウェアのうち少なくとも送信単位の最終データを除くデータを前記任意のドライブに送信する判断制御部と、
前記任意のドライブの状態を判定する状態判定部とを備え、
前記判断制御部は、前記状態判定部で判定された状態に応じて少なくとも前記最終データを含む未創始のデータを前記任意のドライブに送信する、ライブラリ装置。
（付記８）
前記判断制御部は、前記状態判定部において前記任意のドライブと外部装置との非接続状態、或いは、前記任意のドライブに記録媒体がロードされていない状態が判定されると、前記未送信のデータを前記任意のドライブに送信する、付記７記載のライブラリ装置。
（付記９）
前記判断制御部は、前記状態判定部において前記任意のドライブが前記未送信のデータを前記ライブラリ装置の保守時に受信する設定、或いは、前記最終データを受信すると自動的にリセットされてドライブファームウェアの更新を確定する設定とされた状態が判定されると、前記保守時に前記未送信のデータを前記任意のドライブに送信する、付記７又は８記載のライブラリ装置。
（付記１０）
前記版数判定部は、前記ライブラリ装置の保守時のドライブファームウェアの更新待ち状態で前記任意のドライブの電源がオフにされた場合には、前記格納部に保持されたドライブファームウェアのデータを前記任意のドライブに送信してドライブファームウェアの更新を行うか否かを再度判定する、付記７乃至９のいずれか１項記載のライブラリ装置。
（付記１１）
前記判断制御部は、前記任意のドライブが複数個ある場合、前記未送信のデータを前記任意のドライブのうち外部装置から指定されたドライブに送信する、付記７乃至１０のいずれか１項記載のライブラリ装置。
（付記１２）
前記判断制御部は、前記任意のドライブが複数個ある場合、前記未送信のデータを前記任意のドライブの全てに送信する、付記７乃至１０のいずれか１項記載のライブラリ装置。
（付記１３）
記録媒体をロード可能な複数のドライブを有するライブラリ装置においてコンピュータに前記ドライブに実装されたドライブファームウェアを更新させるプログラムであって、
前記ライブラリ装置内の格納部に格納されたドライブファームウェアの最新のファーム版数と、任意のドライブに実装されているドライブファームウェアのファーム版数が不一致であると判定すると前記任意のドライブに対するドライブファームウェアの更新を決定する版数判定手順と、
前記版数判定手順によりドライブファームウェアの更新が決定されると、前記格納部に格納されたドライブファームウェアのうち少なくとも送信単位の最終データを除くデータを前記任意のドライブに送信する判断制御手順と、
前記任意のドライブの状態を判定する状態判定手順と
を前記コンピュータに実行させ、
前記判断制御手順は、前記状態判定手順で判定された状態に応じて少なくとも前記最終データを含む未送信のデータを前記任意のドライブに送信する、プログラム。
（付記１４）
前記判断制御手順は、前記状態判定手順において前記任意のドライブと外部装置との非接続状態、或いは、前記任意のドライブに記録媒体がロードされていない状態が判定されると、前記未送信のデータを前記任意のドライブに送信する、付記１３記載のプログラム。
（付記１５）
前記判断制御手手順は、前記状態判定手順において前記任意のドライブが前記未送信のデータを前記ライブラリ装置の保守時に受信する設定、或いは、前記最終データを受信すると自動的にリセットされてドライブファームウェアの更新を確定する設定とされた状態が判定されると、前記保守時に前記未送信のデータを前記任意のドライブに送信する、付記１３又は１４記載のプログラム。
（付記１６）
付記１３乃至１５のいずれか１項記載のプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【００５１】
以上、開示のファームウェア更新方法、ライブラリ装置及びプログラムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【符号の説明】
【００５２】
２１      テープライブラリ装置
２２      ホスト装置
２３      保守用端末
３１      ドライブファーム格納部
３２      ファーム版数判定部
３３      転送判断制御部
３４      保守状態判断部
３５      ドライブ状態判定部
３６      ドライブ通信制御部
２１２−１〜２１２−Ｎ      テープドライブ
【図１】
2011164888.tif 000003
【図２】
2011164888.tif 000004
【図３】
2011164888.tif 000005
【図４】
2011164888.tif 000006
【図５】
2011164888.tif 000007
【図６】
2011164888.tif 000008
【図７】
2011164888.tif 000009
【図８】
2011164888.tif 000010