説明

リムーバブルメディアに関する処理を行う装置及び方法

【課題】複数のドライブ又は複数のメディアが保持するエラー情報に基づくエラーに関する判断を、ドライブで行えるようにする。
【解決手段】テープドライブのコントローラ30において、エラー検出部31が検出したエラーをエラー復旧部32が復旧できなかった場合に、エラーレポート生成部33が、エラーレポートを生成し、エラー情報取得部34が、このテープドライブ及びこのテープドライブに装填中のカートリッジのエラー情報を取得し、エラー情報交換部35が、他のテープドライブ及び他のテープドライブに装填中のカートリッジのエラー情報を取得し、エラー原因判定部37が、これらのエラー情報に基づいてエラー原因がテープドライブかカートリッジかを判定し、エラーレポート更新部38が、エラーレポートをこの判定の結果で更新し、エラーレポート出力部39が、更新後のエラーレポートをホストへ出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リムーバブルメディアに関する処理を行う装置及び方法に関する。特に、本発明は、リムーバブルメディアを駆動するドライブにおける、リムーバブルメディアに関する処理を行う装置及び方法に関する。
【背景技術】
【0002】
テープメディア等のリムーバブルメディアを使用するドライブにおいて、データのメディアへの書き込み又はメディアからの読み出しのエラーが起こった際に、そのエラーの原因がドライブにあるのかメディアにあるのかを判別するのは容易ではない。理由としては、ドライブとメディアの組み合わせによってエラーの発生傾向が異なることが考えられる。また、同じドライブとメディアの組み合わせでも、実行されたオペレーションの種類や、実行時のドライブの環境等によって、エラーの発生傾向が異なる可能性がある。
【0003】
そこで、ある種のテープドライブは、エラーの発生傾向を調査するため、そのドライブが最近使用したカートリッジのそれぞれについて、そのドライブが使用した際のエラー履歴の情報を、ドライブ内の不揮発性メモリに保管している。本明細書では、このドライブに関するエラー履歴の情報を「ドライブエラー情報」と呼ぶ。また、そのテープドライブのカートリッジには、そのカートリッジを最近使用したドライブのそれぞれについて、そのカートリッジを使用した際のエラー履歴の情報が、カートリッジ内のテープメディアに記録され保管されている。本明細書では、このカートリッジに関するエラー履歴の情報を「カートリッジエラー情報」と呼ぶ。カートリッジエラー情報は、カートリッジがドライブにロードされた際に、カートリッジ内のテープメディアからドライブ内のRAMに読み出され、ドライブのファームウェアによって参照又は更新がなされる。そして、カートリッジがドライブからアンロードされる際に、ドライブ内のRAMからカートリッジ内のテープメディアに書き戻される。
【0004】
例えば、ドライブDaでカートリッジCaを使用しているときにエラーが発生した場合、ドライブDaはそのドライブエラー情報からカートリッジCaを使用していた際のエラーレートを知ることができる。その結果、カートリッジCaについてのエラーレートの平均値が、全てのカートリッジについてのエラーレートの平均値よりも高ければ、ドライブDaとカートリッジCaの組み合わせが悪いと判断することができる。
しかしながら、ドライブの品質が悪いためにエラーが発生したのか、カートリッジの品質が悪いためにエラーが発生したのか、或いは、他の要因で偶然そのときだけエラーが発生したのかを、ドライブDaのドライブエラー情報だけで判断するのは難しい。
ここで仮に、他のドライブDb,Dcのドライブエラー情報や、他のカートリッジCb,Ccのカートリッジエラー情報を入手できたとすると、判断に使用するデータの母数が増えることとなる。そして、結果的に、ドライブとカートリッジのどちらの品質が悪い可能性が高いのかを、より高い確度で判断できるようになる。
【0005】
従来、複数のドライブ又は複数のメディアが保持するエラー情報からエラー原因を総合的に判断するには、それらのドライブの外部に用意された専用のソフトウェアや、それらのドライブを使用しているライブラリのエラー情報を収集する仕組みを利用していた。
また、エラー原因の判断に限らず、メディア上のエラーが発生し易い領域、エラーが発生したときの復旧方法等のエラーに関する判断を、複数のドライブ又は複数のメディアが保持するエラー情報に基づいて行う場合にも、ドライブ外部の専用のソフトウェアや、ライブラリのエラー情報を収集する仕組みを利用していた。
【0006】
尚、公報記載の技術としても、ライブラリがそれぞれのドライブから情報を収集するものは知られていた(例えば、特許文献1、2参照)。
【0007】
特許文献1の技術では、搬入・搬出装置のCASおよびDEE、記録・再生装置のDM、ならびに制御装置のADR、AMCおよびCSVに接続されて、それらに備えられたMPUのトレース情報を収集し、そのトレース情報をトレース情報記憶装置に記憶させるMINを備えている。
【0008】
特許文献2の技術では、磁気テープライブラリ装置のメモリ情報リード処理部が、磁気テープドライブ装置が磁気テープカートリッジに対しておこなったデータの読み込みまたはデータの書き込みに係る情報を、磁気テープを内蔵した磁気テープカートリッジのメモリから読み取り、保守/交換判定部が、読み取った情報に基づいて、磁気テープドライブ装置の保守または交換に係る判定をおこなう。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開平11−224450号公報
【特許文献2】特開2006−164445号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、これらの技術では、複数のドライブ又は複数のメディアが保持するエラー情報に基づくエラーに関する判断を行うために、ドライブ外部の専用のソフトウェアや、ライブラリのエラー情報を収集する仕組みが必要となり、ドライブ自身でそのような判断を行えなかった。
【0011】
本発明の目的は、複数のドライブ又は複数のメディアが保持するエラー情報に基づくエラーに関する判断を、ドライブで行えるようにすることにある。
【課題を解決するための手段】
【0012】
かかる目的のもと、本発明は、リムーバブルメディアを駆動するドライブにおける、リムーバブルメディアに関する処理を行う装置であって、リムーバブルメディアを駆動する他のドライブから、過去に発生したエラーに関するエラー情報を受信する受信部と、受信部により受信されたエラー情報を用いて、自ドライブが駆動している特定のリムーバブルメディアに発生するエラーに関する判定を行う判定部と、判定部による判定の結果に基づいて、特定のリムーバブルメディアに関する処理を行う処理部とを含む、装置を提供する。
【0013】
ここで、この装置は、自ドライブで過去に発生したエラーの量を示す第1のエラー情報と、特定のリムーバブルメディアに過去に発生したエラーの量を示す第2のエラー情報とを取得する取得部を更に備え、受信部は、他のドライブで過去に発生したエラーの量を示す第3のエラー情報と、他のドライブが駆動している他のリムーバブルメディアに過去に発生したエラーの量を示す第4のエラー情報とを、エラー情報として受信し、判定部は、第1のエラー情報と第3のエラー情報とから得られるエラーの発生状況と、第2のエラー情報と第4のエラー情報とから得られるエラーの発生状況とを比較することにより、特定のリムーバブルメディアに発生したエラーの原因が自ドライブにあるのか特定のリムーバブルメディアにあるのかを判定する、ものであってよい。
その場合、処理部は、特定のリムーバブルメディアにエラーが発生した旨を上位装置に報告するメッセージに、エラーの原因が自ドライブにあるのか特定のリムーバブルメディアにあるのかを示す情報を付加する処理を行う、ものであってよい。
【0014】
また、この装置において、受信部は、特定のリムーバブルメディア上の過去にエラーが発生した領域を示す複数の領域情報を、エラー情報として受信し、判定部は、複数の領域情報のうちの予め定めた基準を満たす数の領域情報が特定の領域を示す場合に、特定の領域が不具合を有する可能性がある領域であると判定する、ものであってよい。
その場合、処理部は、特定のリムーバブルメディアにエラーが発生した際に特定の領域へのアクセスを試みる処理、及び、特定のリムーバブルメディアにエラーが発生するのに先立って特定の領域の存在を加味した情報を上位装置に報告する処理の少なくとも何れか一方を行う、ものであってよい。
【0015】
更に、この装置において、受信部は、特定のリムーバブルメディア上の過去にエラーが発生した領域とエラーを復旧できたときに用いられた復旧手順とを対応付けた複数の対応情報を、エラー情報として受信し、判定部は、複数の対応情報のうちの予め定めた基準を満たす数の対応情報が特定の領域と特定の復旧手順とを対応付けたものである場合に、特定の復旧手順が特定の領域に発生するエラーを復旧するのに有効であると判定する、ものであってよい。
その場合、処理部は、特定のリムーバブルメディア上の特定の領域にエラーが発生した場合に、特定の復旧手順でエラーを復旧する処理を行う、ものであってよい。
【0016】
また、本発明は、リムーバブルメディアを駆動するドライブにおける、リムーバブルメディアに発生したエラーを報告する装置であって、自ドライブが駆動している特定のリムーバブルメディアにエラーが発生した際に、エラーを復旧する復旧部と、復旧部によりエラーが復旧されなかった場合に、エラーが発生した旨を報告するメッセージを生成する生成部と、復旧部によりエラーが復旧されなかった場合に、自ドライブで過去に発生したエラーの量を示す第1のエラー情報と、特定のリムーバブルメディアに過去に発生したエラーの量を示す第2のエラー情報とを取得する取得部と、復旧部によりエラーが復旧されなかった場合に、リムーバブルメディアを駆動する他のドライブから、他のドライブで過去に発生したエラーの量を示す第3のエラー情報と、他のドライブが駆動している他のリムーバブルメディアに過去に発生したエラーの量を示す第4のエラー情報とを受信する受信部と、第1のエラー情報と第3のエラー情報とから得られるエラーの発生状況と、第2のエラー情報と第4のエラー情報とから得られるエラーの発生状況とを比較することにより、特定のリムーバブルメディアに発生したエラーの原因が自ドライブにあるのか特定のリムーバブルメディアにあるのかを判定する判定部と、生成部により生成されたメッセージに、判定部による判定の結果である、エラーの原因が自ドライブにあるのか特定のリムーバブルメディアにあるのかを示す情報を付加する付加部と、付加部により情報が付加されたメッセージを上位装置に送信する送信部とを含む、装置も提供する。
【0017】
また、本発明は、リムーバブルメディアを駆動する第1のドライブ及び第2のドライブを含むシステムであって、第1のドライブと、第2のドライブとは、通信回線を介して接続されており、第1のドライブは、自ドライブで過去に発生したエラー又はリムーバブルメディアに過去に発生したエラーに関するエラー情報を取得する取得部と、取得部により取得されたエラー情報を、通信回線を介して送信する送信部とを含み、第2のドライブは、送信部により送信されたエラー情報を、通信回線を介して受信する受信部と、受信部により受信されたエラー情報を用いて、自ドライブが駆動している特定のリムーバブルメディアに発生するエラーに関する判定を行う判定部と、判定部による判定の結果に基づいて、特定のリムーバブルメディアに関する処理を行う処理部とを含む、システムも提供する。
【0018】
また、本発明は、リムーバブルメディアを駆動する複数のドライブを含むシステムであって、複数のドライブは、互いに通信回線を介して接続されており、複数のドライブの各々は、自ドライブで過去に発生したエラー又はリムーバブルメディアに過去に発生したエラーに関するエラー情報を取得する取得部と、取得部により取得されたエラー情報を、通信回線を介して他のドライブに送信する送信部と、他のドライブから送信されたエラー情報を、通信回線を介して受信する受信部と、受信部により受信されたエラー情報を用いて、自ドライブが駆動している特定のリムーバブルメディアに発生するエラーに関する判定を行う判定部と、判定部による判定の結果に基づいて、特定のリムーバブルメディアに関する処理を行う処理部とを含む、システムも提供する。
【0019】
更に、本発明は、リムーバブルメディアを駆動するドライブにおける、リムーバブルメディアに関する処理を行う方法であって、リムーバブルメディアを駆動する他のドライブから、過去に発生したエラーに関するエラー情報を受信するステップと、受信されたエラー情報を用いて、自ドライブが駆動している特定のリムーバブルメディアに発生するエラーに関する判定を行うステップと、判定の結果に基づいて、特定のリムーバブルメディアに関する処理を行うステップとを含む、方法も提供する。
【0020】
更にまた、本発明は、リムーバブルメディアを駆動するドライブにおける、リムーバブルメディアに関する処理を行う装置として、コンピュータを機能させるプログラムであって、コンピュータを、リムーバブルメディアを駆動する他のドライブから、過去に発生したエラーに関するエラー情報を受信する受信部と、受信部により受信されたエラー情報を用いて、自ドライブが駆動している特定のリムーバブルメディアに発生するエラーに関する判定を行う判定部と、判定部による判定の結果に基づいて、特定のリムーバブルメディアに関する処理を行う処理部として機能させる、プログラムも提供する。
【発明の効果】
【0021】
本発明によれば、複数のドライブ又は複数のメディアが保持するエラー情報に基づくエラーに関する判断を、ドライブで行えるようになる。
【図面の簡単な説明】
【0022】
【図1】本発明の実施の形態におけるエラー原因の判定方法について説明するための図である。
【図2】本発明の実施の形態におけるエラー原因の判定方法について説明するための図である。
【図3】本発明の実施の形態におけるライブラリシステムの構成例を示したブロック図である。
【図4】本発明の実施の形態におけるテープドライブの構成例を示したブロック図である。
【図5】本発明の実施の形態におけるコントローラの機能構成例を示したブロック図である。
【図6】本発明の実施の形態におけるコントローラの動作例を示したフローチャートである。
【図7】本発明の実施の形態におけるコントローラが実行するエラー原因判定処理の内容を示したフローチャートである。
【発明を実施するための形態】
【0023】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
まず、本実施の形態では、ドライブエラー情報及びカートリッジエラー情報が100個の履歴を保持しており、それぞれの履歴には30種類以上のカウンタの値が記録されているものとする。
これらのカウンタを利用してエラー原因を推定する方法としては、様々なものが考えられる。
ここでは、1台のドライブが保持するドライブエラー情報及びカートリッジエラー情報のみを利用してエラー原因を推定する場合と、複数のドライブが保持するドライブエラー情報及びカートリッジエラー情報を利用してエラー原因を推定する場合との違いを、最も簡便な手法の1つである平均値を用いた手法を例にとって説明する。
【0024】
尚、以下の説明では、考え方を示すための簡略化として、ドライブエラー情報及びカートリッジエラー情報はそれぞれ10個の履歴を保持しているものとする。
また、ドライブエラー情報及びカートリッジエラー情報に記録されているカウンタも簡略化して、読み出しエラーの個数(読み出しエラー数)、書き込みエラーの個数(書き込みエラー数)、読み出したデータセットの個数(読み出しデータセット数)、書き込んだデータセットの個数(書き込みデータセット数)の4つのカウンタのみとしている。ここで、データセットとは、データをテープに記録する際の論理的な最小単位で、その大きさは約1.6MBで固定である。
【0025】
まず、1台のドライブが持つドライブエラー情報及びカートリッジエラー情報を用いる場合について説明する。
ここでは、3台のドライブDa,Db,Dcと、15本のカートリッジCa,Cb,Cc,・・・,Coとを含む小規模なライブラリを想定する。
今、ドライブDaにカートリッジCaがロードされており、ドライブDaがカートリッジCaにデータを書き込んでいる際にエラーが起こったとして、その原因がドライブにあるかメディアにあるかを判断することを考える。
【0026】
例えば、ドライブDaの現状が図1(a)に示したようなものであり、ドライブDaのドライブエラー情報が図1(b)に示したようなものであり、カートリッジCaのカートリッジエラー情報が、図1(c)に示したようなものであるとする。
尚、図1において、太線で囲んだセルは、現在のエラーカウント、ドライブDaのドライブエラー情報のカウンタ、カートリッジCaのカートリッジエラー情報のカウンタから計算された値について示している。
また、「エラー数」欄のうち、「Read」欄に示した値が読み出しエラー数であり、「Write」欄に示した値が書き込みエラー数であり、「データセット数」欄のうち、「Read」欄に示した値が読み出しデータセット数であり、「Write」欄に示した値が書き込みデータセット数である。更に、「エラー間データセット数」欄のうち、「Read」欄に示した値をエラー間読み出しデータセット数と呼び、「Write」欄に示した値をエラー間書き込みデータセット数と呼ぶ。ここで、「エラー間読み出しデータセット数」とは、「エラー1個あたりの読み出しデータセット数」を意味しており、「エラー間書き込みデータセット数」とは、「エラー1個あたりの書き込みデータセット数」を意味している。
【0027】
ここで図1を参照すると、(a)のエラー間書き込みデータセット数は、(b),(c)のエラー間書き込みデータセット数の平均値(最下段に示す)に比べて小さいので、ドライブDaの現在の状況が悪いことは分かる。しかし、ここで用いているのはドライブDa及びカートリッジCaのデータだけであり、他のドライブ又はカートリッジのデータと比較することなく、ドライブDaの品質が悪いとは言い切れない。
即ち、ドライブDaでカートリッジCaが使われているからエラーが起きたのか、それとも、他の要因で偶然エラーが複数回発生したのかを判断することは難しい。
【0028】
次に、複数台のドライブが持つドライブエラー情報及びカートリッジエラー情報を用いる場合について説明する。
複数のドライブからドライブエラー情報及びカートリッジエラー情報を集めた場合、図1(b)に示したドライブエラー情報の平均値を、他のドライブについても知ることができる。
仮に、ドライブDa,Db,Dcから集めた各ドライブのエラー間書き込みデータセット数の平均値が、図2(a)に示したようなものであったとする。
また、カートリッジCa,Cb,Ccがそれぞれ、ドライブDa,Db,Dcで使用されており、ドライブDa,Db,Dcから集めた各カートリッジのエラー間書き込みデータセット数の平均値が、図2(b)に示したようなものであったとする。
【0029】
この場合、ドライブDaのエラー間書き込みデータセット数が、ドライブDb,Dcより少ないのに対し、カートリッジCa,Cb,Ccのエラー間書き込みデータセット数については大きな差が認められないので、ドライブDaの品質が悪いことが原因でエラーが発生したと推定することができる。例えば、ドライブDaのエラー間書き込みデータセット数と、ドライブDa,Db,Dcのエラー間書き込みデータセット数の平均値との差分が、予め定めた閾値を超えており、カートリッジCaのエラー間書き込みデータセット数と、カートリッジCa,Cb,Ccのエラー間書き込みデータセット数の平均値との差分が、予め定めた閾値を超えていなければ、ドライブDaの品質が悪いと判断すればよい。これをより広く捉えると、ドライブDaのエラー情報とドライブDb,Dcのエラー情報とから得られるエラーの発生状況と、カートリッジCaのエラー情報とカートリッジCb,Ccのエラー情報とから得られるエラーの発生状況とを比較することにより、エラーの原因がドライブDaにあるのかカートリッジCaにあるのかを判定する、ということができる。
【0030】
このように、複数のエラー情報を使用することによって、そのエラーの原因をより高い確度で推定することができる。
尚、この説明では、非常に簡単な例として、エラーレートの単純な平均値を用いる方法を示した。多くのカートリッジ及びドライブがほぼ均一な使用条件で長い間使用されている場合には、このような平均値を用いる方法も、十分有効な結果を導き出すことができる。しかしながら、実際には、各ドライブの使用時間や各ドライブで使用したカートリッジの偏り等も考慮した、より効果的な分析手法を採用することが望ましい。
【0031】
また、本実施の形態は、複数のドライブエラー情報及びカートリッジエラー情報を使用することにより、ドライブ単体のドライブエラー情報及びカートリッジエラー情報のみを使用するよりも確度の高いエラー原因の推測を行う方法、に関するものではなく、そのことを前提とした、複数のドライブエラー情報及びカートリッジエラー情報を集める方法に関するものである。従って、複数のドライブエラー情報及びカートリッジエラー情報を使用することによる効果については、単純な一例をあげるに留めている。
【0032】
ところで、複数のドライブからエラー情報を収集する方法としてこれまで考えられていたのは、ドライブを使用しているライブラリが各ドライブからエラー情報を収集する方法、及び、ホストに外付けされた外部サーバで実行されているプログラムが各ドライブからエラー情報を収集する方法である。
しかしながら、前者の方法は、ライブラリがエラー情報を収集する機能を備えていることを前提とするので、そのような機能を備えていない他社製のライブラリ、又は、ライブラリに搭載されていないドライブでは使用できない。また、後者の方法は、外部のリソース、例えば、ライブラリ経由でドライブのエラー情報等を集めて解析を行うツールを使用する必要がある。
【0033】
更に、これらの方法における問題点としては、個々のドライブからのエラーレポートの詳細度が高くならない、という点もある。その結果、ドライブからエラーレポートがあった後に、エラーレポートを受けた側でエラー原因についての総合的判断を行う必要があり、エラーレポートに応じたアクションを迅速に行えなくなる。
【0034】
そこで、本実施の形態では、ドライブが通信回線を通じて他のドライブからエラー情報を取得するようにする。これにより、ドライブ間が通信回線で接続されていれば、ライブラリも外部サーバも必要としない。また、エラー原因の報告方法は、既存のドライブにおけるエラーの報告方法(センスデータやテープアラート)と同じなので、ホストやライブラリのインターフェイスを追加したり変更したりする必要もない。
【0035】
図3は、本実施の形態におけるライブラリシステムの構成例を示した図である。尚、本発明は如何なるリムーバルメディアに対しても適用可能であるが、ここでは、テープメディア(以下、単に「テープ」という)を例にとり説明する。
図示するように、ライブラリシステムは、ライブラリ装置40と、ホスト50と、ファイバチャネル(FC)スイッチ51とを含む。
【0036】
ライブラリ装置40は、テープドライブ10,10,・・・,10を含む。図示しない格納セルに格納されたカートリッジが、図示しないアクセッサによって取り出されて装填されると、テープドライブ10,10,・・・,10は、そのカートリッジ内のテープへのデータの書き込み又はそのカートリッジ内のテープからのデータの読み出しを行う。また、テープドライブ10,10,・・・,10は、それぞれ、通信回線60,60,・・・,60を介してFCスイッチ51に接続されており、FCスイッチ51は、通信回線61を介してホスト50に接続されている。そして、テープドライブ10へは、コマンド及び書き込み対象のデータが、ホスト50から通信回線61、FCスイッチ51、通信回線60を介して送られ、テープドライブ10からは、読み出されたデータ及び処理結果が、通信回線60、FCスイッチ51、通信回線61を介してホスト50に送られる(K=1,2,・・・,N)。ここで、通信回線60,60,・・・,60,61としては、例えば、ファイバチャネルを用いるとよい。尚、本明細書では、テープドライブ10,10,・・・,10を区別しないときはテープドライブ10と表記し、通信回線60,60,・・・,60を区別しないときは通信回線60と表記するものとする。
【0037】
更に、ライブラリ装置40は、ライブラリコントローラ41を含む。ライブラリコントローラ41は、各テープドライブ10を管理する処理、例えば、各テープドライブ10で使用するファームウェアを更新する処理、各テープドライブ10の時刻を設定する処理等を行う。また、ライブラリコントローラ41は、通信回線62を介してホスト50に接続されている。そして、ライブラリコントローラ41へは、例えば、各テープドライブ10で使用するファームウェアの更新情報、各テープドライブ10に設定する時刻の情報等が、ホスト50から通信回線62を介して送られてくる。ここで、通信回線62としては、例えば、イーサネット(登録商標)を用いるとよい。
【0038】
加えて、本実施の形態では、ライブラリコントローラ41とテープドライブ10,10,・・・,10とが通信回線70を介して相互に接続されており、各テープドライブ10は、他のテープドライブ10からエラー情報を取得できるようになっている。ここで、通信回線70としては、例えば、イーサネット(登録商標)を用いるとよい。
【0039】
ホスト50は、テープドライブ10の動作を制御する各種コマンドやテープに書き込むデータをテープドライブ10へ送信したり、テープから読み出されたデータやテープに対する処理の結果をテープドライブ10から受信して処理したりするコンピュータ装置である。
FCスイッチ51は、ファイバチャネルインタフェースを持つ複数のドライブとホスト50とを接続するスイッチであり、ホスト50が指定するテープドライブ10がホスト50に接続されるように通信回線60を切り替える。
【0040】
図4は、図3に示したテープドライブ10の構成例を示した図である。
図示するように、テープドライブ10は、ホストインターフェイス(以下、「ホストI/F」という)11と、バッファ12と、記録チャネル13と、ヘッド14と、モータ15とを含む。また、コントローラ30と、ヘッド位置制御システム16と、モータドライバ17と、ドライブインターフェイス(以下、「ドライブI/F」という)18と、情報メモリ19とを含む。更に、テープドライブ10には、カートリッジ20が挿入されることにより装填可能となっているので、ここでは、カートリッジ20も図示している。このカートリッジ20は、リール21、22に巻かれたテープ23を含む。テープ23は、リール21、22の回転に伴い、リール21からリール22の方向へ、又は、リール22からリール21の方向へ、長手方向に移動する。尚、テープ23としては、磁気テープが例示されるが、磁気テープ以外のテープメディアでもよい。
【0041】
ホストI/F11は、通信回線60、FCスイッチ51、通信回線61を介して、上位装置の一例であるホスト50との通信を行う。例えば、ホスト50から、テープ23へのデータの書込みを指示するコマンド、テープ23を目的の位置に移動させるコマンド、テープ23からのデータの読出しを指示するコマンド、バッファ12に蓄積されたデータのテープ23への強制的な書込みを指示するコマンド(同期コマンド)を受け取る。尚、このホストI/F11で用いる通信規格としては、SCSIが例示される。SCSIの場合、1つ目のコマンドは、Writeコマンドに相当し、2つ目のコマンドは、LocateコマンドやSpaceコマンドに相当し、3つ目のコマンドは、Readコマンドに相当し、4つ目のコマンドは、WriteFM non−immediateコマンドに相当する。また、ホストI/F11は、ホスト50に対し、これらのコマンドに応じた処理が成功したのか失敗したのかの応答を返す。
【0042】
バッファ12は、テープ23に書き込むべきデータやテープ23から読み出されたデータを蓄積するメモリである。例えば、DRAM(Dynamic Random Access Memory)によって構成される。また、バッファ12は、複数のバッファセグメントからなり、各バッファセグメントが、テープ23に対する読み書きの単位であるデータセットを格納している。
記録チャネル13は、テープ23に書き込むべきデータをヘッド14に送ったり、テープ23から読み出されたデータをヘッド14から受け取ったりするために用いられる通信経路である。
ヘッド14は、テープ23が長手方向に移動するとき、テープ23に対して情報を書き込んだり、テープ23から情報を読み出したりする。
モータ15は、リール21、22を回転させる。尚、図では、1つの矩形でモータ15を表しているが、モータ15としては、リール21、22の各々に1つずつ、合計2個設けるのが好ましい。
【0043】
コントローラ30は、テープドライブ10の全体を制御する。例えば、ホストI/F11で受け付けたコマンドに従って、データのテープ23への書込みやテープ23からの読出しを制御する。また、ヘッド位置制御システム16やモータドライバ17の制御も行う。更に、情報メモリ19に格納されたエラー情報の他のテープドライブ10への送信、他のテープドライブ10からのエラー情報の受信、情報メモリ19に格納されたエラー情報及び他のテープドライブ10から受信したエラー情報に基づく処理の実行も制御する。
ヘッド位置制御システム16は、所望の1つ又は複数のラップを追跡するシステムである。ここで、ラップとは、テープ23上の複数のトラックのグループである。ラップを切り換える必要が生じると、ヘッド14を電気的に切り換える必要も生じるので、このような切り換えの制御を、このヘッド位置制御システム16で行う。
モータドライバ17は、モータ15を駆動する。尚、上述したように、モータ15を2個使用する場合であれば、モータドライバ17も2個設けられる。
【0044】
ドライブI/F18は、通信回線70を介して他のテープドライブ10との通信を行う。例えば、他のテープドライブ10に要求することにより、他のテープドライブ10で保管されたエラー情報を受信する。また、他のテープドライブ10からの要求に応じて、情報メモリ19に格納されたエラー情報を送信する。
情報メモリ19は、このテープドライブ10で保管するエラー情報を格納するメモリである。例えば、不揮発性メモリによって構成される。
【0045】
図5は、図4に示したコントローラ30の機能構成例を示した図である。
図示するように、コントローラ30は、エラー検出部31と、エラー復旧部32と、エラーレポート生成部33とを含む。また、エラー情報取得部34と、エラー情報交換部35と、エラー情報記憶部36と、エラー原因判定部37とを含む。更に、エラーレポート更新部38と、エラーレポート出力部39とを含む。
【0046】
エラー検出部31は、データのテープ23への書き込み又はテープ23からの読み出し等の際に発生するエラーを検出する。
エラー復旧部32は、エラー検出部31が検出したエラーに対してエラー復旧手順を実行し、エラーが復旧しなければ、エラーレポート生成部33に制御を移す。本実施の形態では、エラーを復旧する復旧部の一例として、エラー復旧部32を設けている。
【0047】
エラーレポート生成部33は、エラー復旧部32がエラー復旧手順を実行してもエラーが復旧しなかった場合に、そのエラーの内容をホスト50に報告するためのエラーレポートを生成する。本実施の形態では、エラーが発生した旨を報告するメッセージの一例として、エラーレポートを用いており、メッセージを生成する生成部の一例として、エラーレポート生成部33を設けている。
【0048】
エラー情報取得部34は、情報メモリ19からエラー情報を取得してエラー情報記憶部36に記憶する。ここで、エラー情報取得部34により取得されるエラー情報は、このテープドライブ10で過去に発生したエラーに関するドライブエラー情報と、このテープドライブ10に装填されているカートリッジ20内のテープ23に過去に発生したエラーに関するカートリッジエラー情報とを含む。本実施の形態では、第1のエラー情報の一例として、このテープドライブ10に関するドライブエラー情報を用いており、第2のエラー情報の一例として、このテープドライブ10に装填されているカートリッジ20に関するカートリッジエラー情報を用いている。また、エラー情報を取得する取得部、第1のエラー情報と第2のエラー情報とを取得する取得部の一例として、エラー情報取得部34を設けている。
【0049】
エラー情報交換部35は、予め定められたIPアドレスを持つ他のテープドライブ10にエラー情報の取得要求が送信されるようにIPアドレス及び取得要求をドライブI/F18に出力すると共に、ドライブI/F18が他のテープドライブ10から受信したエラー情報を取得してエラー情報記憶部36に記憶する。ここで、エラー情報交換部35により取得されるエラー情報は、他のテープドライブ10で過去に発生したエラーに関するドライブエラー情報と、他のテープドライブ10に装填されているカートリッジ20内のテープ23に過去に発生したエラーに関するカートリッジエラー情報とを含む。また、ドライブI/F18が他のテープドライブ10からエラー情報の取得要求を受信すると、情報メモリ19に格納されたエラー情報がそのテープドライブ10に送信されるようにエラー情報をドライブI/F18に出力する。本実施の形態では、第3のエラー情報の一例として、他のテープドライブ10に関するドライブエラー情報を用いており、第4のエラー情報の一例として、他のテープドライブ10に装填されているカートリッジ20に関するカートリッジエラー情報を用いている。また、エラー情報を受信する受信部、第3のエラー情報と第4のエラー情報とを受信する受信部、エラー情報を送信する送信部の一例として、エラー情報交換部35を設けている。
【0050】
エラー情報記憶部36は、エラー情報取得部34が情報メモリ19から取得したドライブエラー情報及びカートリッジエラー情報と、エラー情報交換部35が他のテープドライブ10から取得したドライブエラー情報及びカートリッジエラー情報とを記憶する。
【0051】
エラー原因判定部37は、エラー情報記憶部36に記憶された複数のドライブエラー情報及び複数のカートリッジエラー情報に基づいて、エラーの原因を判定する。具体的には、エラーの原因がこのテープドライブ10にあるのかこのテープドライブ10に装填されているカートリッジ20内のテープ23にあるのかを判定する。本実施の形態では、エラーに関する判定を行う判定部、特定のリムーバブルメディアに発生したエラーの原因が自ドライブにあるのか特定のリムーバブルメディアにあるのかを判定する判定部の一例として、エラー原因判定部37を設けている。
【0052】
エラーレポート更新部38は、エラーレポート生成部33により生成されたエラーレポートを、エラー原因判定部37により判定されたエラー原因を示す情報によって更新する。具体的には、エラーレポートに対して、エラーの原因がこのテープドライブ10にあるのかこのテープドライブ10に装填されているカートリッジ20内のテープ23にあるのかを示す情報を付加する。本実施の形態では、特定のリムーバブルメディアに関する処理を行う処理部、メッセージにエラーの原因が自ドライブにあるのか特定のリムーバブルメディアにあるのかを示す情報を付加する付加部の一例として、エラーレポート更新部38を設けている。
【0053】
エラーレポート出力部39は、エラーレポート更新部38により更新されたエラーレポートがホスト50に送信されるようにエラーレポートをホストI/F11に出力する。本実施の形態では、メッセージを上位装置に送信する送信部の一例として、エラーレポート出力部39を設けている。
【0054】
図6は、図5に示したコントローラ30の動作例を示したフローチャートである。
図示するように、コントローラ30では、まず、エラー検出部31が、例えば記録チャネル13から得られる情報に基づいて、データのテープ23への書き込み又はテープ23からの読み出し等の際にエラーを検出したかどうかを判定する(ステップ301)。ここで、エラーを検出しなかったと判定されれば、ステップ301の処理を繰り返し、エラーを検出したと判定されれば、エラー復旧部32が、そのエラーを復旧するためのエラー復旧手順を実行する(ステップ302)。
【0055】
そして、エラー復旧部32は、エラーが復旧したかどうかを判定する(ステップ303)。
その結果、エラーが復旧したと判定されれば、ホスト50にエラーレポートを送信する必要はないので、そのまま処理を終了する。
【0056】
一方、エラーが復旧しなかったと判定されれば、ホスト50にエラーレポートを送信するために、以下の処理を行う。
即ち、まず、エラーレポート生成部33が、エラーの発生をホスト50に報告するための従来のエラーレポートを生成する(ステップ304)。
次に、エラー情報取得部34、エラー情報交換部35、エラー原因判定部37が、エラー原因判定処理を行う(ステップ305)。具体的には、エラー原因がテープドライブ10にあるのかテープ23にあるのかを判定する処理を行う。
【0057】
そして、エラー原因判定処理が正常に行われると、エラーレポート更新部38が、エラーレポート生成部33により生成されたエラーレポートを、エラー原因判定処理の結果に基づいて更新する(ステップ306)。具体的には、エラーレポート生成部33により生成されたエラーレポートに、エラー原因判定処理の結果を反映させる。例えば、センスデータ、テープアラート等の既存のエラーの内容を示すデータに、テープドライブ10の品質が悪いことを示す情報又はテープ23の品質が悪いことを示す情報を付加する。このように、報告するエラーの内容に総合的な分析結果を反映することにより、確度の高いエラー内容の報告が可能となっている。これは、他のテープドライブ10のエラー情報を用いた分析を、エラーを報告しようとしているテープドライブ10内で行うことにより、実現できる機能である。
【0058】
その後、エラーレポート出力部39は、エラーレポートをホストI/F11に出力して、エラーレポートをホスト50に送信するよう指示する(ステップ307)。これにより、エラーレポートはホスト50へ送られ、ホスト50又はユーザは、テープドライブ10からのエラーレポートに基づいて、テープドライブ10が悪いのかテープ23が悪いのかを知ることになる。
【0059】
図7は、図6のステップ305におけるエラー原因判定処理の動作例を示したフローチャートである。
このエラー原因判定処理では、図示するように、まず、エラー情報取得部34が、情報メモリ19に格納されているドライブエラー情報及びカートリッジエラー情報を取得してエラー情報記憶部36に記憶する(ステップ351)。
【0060】
次に、エラー情報交換部35が、他のテープドライブ10で保管されているドライブエラー情報及びカートリッジエラー情報を受信する処理を行う。
即ち、まず、エラー情報交換部35は、エラー情報を交換する他のテープドライブ10のIPアドレスを取得する(ステップ352)。ここで、エラー情報を交換する他のテープドライブ10のIPアドレスは、このテープドライブ10のセットアップ時に、図示しない不揮発性メモリに登録し保存しておくものとする。
【0061】
次に、エラー情報交換部35は、ドライブエラー情報及びカートリッジエラー情報の取得要求をドライブI/F18に出力して、ステップ352で取得したIPアドレスを持つテープドライブ10にこれらのエラー情報の取得要求を送信するよう指示する(ステップ353)。換言すると、テープドライブ10は、ホスト50にエラーレポートを送信する必要が生じた際、ホスト50にエラーレポートを送信する前に、事前に登録されている他のテープドライブ10にドライブエラー情報及びカートリッジエラー情報の送信を要求する。この要求を受けた他のテープドライブ10では、エラー情報取得部34が、そのテープドライブ10が情報メモリ19で保管するドライブエラー情報及びカートリッジエラー情報を取得し、エラー情報交換部35が、これらのエラー情報をドライブI/F18に出力して、これらのエラー情報を要求元のテープドライブ10に送信するよう指示する。これにより、他のテープドライブ10では、ドライブI/F18が、ドライブエラー情報及びカートリッジエラー情報を要求元のテープドライブ10に送信する。
【0062】
一方で、要求元のテープドライブ10では、エラー情報交換部35が、ドライブI/F18に対して、他のテープドライブ10からドライブエラー情報及びカートリッジエラー情報を受信するように指示する(ステップ354)。
そして、エラー情報交換部35は、ドライブI/F18が他のテープドライブ10からドライブエラー情報及びカートリッジエラー情報を受信したかどうかを判定する(ステップ355)。
その結果、これらのエラー情報を受信しなかったと判定されれば、エラー原因判定処理が正常に行われなかった旨の情報を戻り値として図6の処理に戻るが、これらのエラー情報を受信したと判定されれば、ドライブエラー情報及びカートリッジエラー情報をエラー情報記憶部36に記憶する(ステップ356)。
【0063】
尚、このようなエラー情報の交換は、専用のプロトコルを用いて行ってもよいが、tftp(Trivial File Transfer Protocol)等の既存のプロトコルを用いて行ってもよい。
また、一般に、テープドライブ10がエラーを報告する際には、十秒単位のエラー復旧手順が実行されるが、これに比べて、エラー情報を取得するために必要となる時間は十分に小さい。従って、エラー情報を取得することがパフォーマンスに与える影響は無視できる。
【0064】
その後、エラー情報交換部35は、図示しない不揮発性メモリに登録された最後のIPアドレスを持つテープドライブ10からエラー情報を受信したかどうかを判定する(ステップ357)。最後のIPアドレスを持つテープドライブ10からエラー情報を受信していないと判定されれば、ステップ352に戻るが、最後のIPアドレスを持つテープドライブ10からエラー情報を受信したと判定されれば、エラー原因判定部37が、エラー原因を判定するための計算を行う(ステップ358)。具体的には、テープドライブ10が悪いかテープ23が悪いかを判定するために、例えば図1及び図2を参照して説明したような計算を行う。つまり、このテープドライブ10のエラー間データセット数の平均値を計算し、他のテープドライブ10のエラー間データセット数の平均値よりも小さければ、このテープドライブ10が悪いと判断する。また、このテープドライブ10で使用しているテープ23のエラー間データセット数の平均値を計算し、他のテープ23のエラー間データセット数の平均値よりも小さければ、このテープドライブ10で使用しているテープ23が悪いと判断する。
【0065】
このように、本実施の形態では、テープドライブ10自身が、他のテープドライブ10からドライブエラー情報及びカートリッジエラー情報を取得し、これらのエラー情報を使用してエラー原因を判断するようにした。即ち、エラー原因を判断するテープドライブ10が、エラー原因の判断が必要になった時点で、接続されている複数のテープドライブ10にドライブエラー情報及びカートリッジエラー情報を要求し、これらのテープドライブ10にその時点で保持されているドライブエラー情報及びカートリッジエラー情報を取得するようにした。
これにより、テープドライブ10の外部に専用のソフトウェアやライブラリの機能を準備することなく、テープドライブ10の機能のみを用いて、複数のドライブエラー情報及び複数のカートリッジエラー情報を使用した、より確度の高いエラー原因の判断が可能となる。
【0066】
また、従来は、テープドライブ10が外部のサーバ等にエラーレポートを送信し、外部のサーバ等がエラーレポートの内容を収集、分析して総合的な判断を行っていた。これに対し、本実施の形態では、テープドライブ10がエラーレポートを送信する時点で、他のテープドライブ10からのエラー情報を使用してより正確なエラー内容を報告できるようになる。
更に、本実施の形態では、テープドライブ10間で直接データをやりとりするため、既存のホスト50やライブラリを含めたテープドライブ10の外部とのインターフェイスには一切の変更を必要としない。
【0067】
ところで、ここまでは、エラー情報交換部35が、エラー情報として、ドライブエラー情報及びカートリッジエラー情報を交換したが、これには限らない。ドライブエラー情報及びカートリッジエラー情報に代えて、「テープマップ」と呼ばれるエラー情報を交換してもよい。
ここで、テープマップとは、テープ23上の全域をラップ及びリジョンによって細かい区画に分割し、それぞれの区画においてどのようなエラーが発生したかを逐次記録したものである。テープマップは、テープドライブ10が出力する「ダンプファイル」の構成要素の1つである。また、テープマップの情報は、テープドライブ10内のメモリに蓄積され、テープ23には記録されない。
【0068】
尚、ラップとは、テープ23上を何度も往復してデータを記録するリニア方式テープドライブにおいて、テープ23の一端から他端まで走行する片道の経路である。例えば、40往復してデータが記録されるテープは、80のラップを有する。
また、リジョンとは、1つのラップを細かく分割して得られる一区画である。
先の例のテープにおいて1つのラップを128個のリジョンに分割した場合、テープ上には80x128の区画が定義できる。そして、ラップ番号とリジョン番号とから、それぞれの区画のテープ23上の物理的な位置を算出することができる。
【0069】
さて、テープマップの情報は、別のカートリッジ20がロードされた時点でクリアすることも考えられるが、ここでは、カートリッジ番号と、テンポラリエラー又はパーマネントエラーが発生したラップ及びリジョンとの組をテープドライブ10内のメモリに記録するものとする。この場合、記録するデータとしては、カートリッジ番号、エラー種別、ラップ番号、リジョン番号、復旧方法等が考えられる。このうち、エラー種別としては、例えば、テープドライブ10内部のFSC(Failure Symptom Code)を用いるとよく、復旧方法としては、ERP(Error Recovery Procedure)メソッド番号を用いるとよい。尚、復旧方法が“Unavailable”のときは、そのエラーが修正できなかった、つまり、パーマネントエラーが発生した、と解釈することとする。
【0070】
また、このようなテープドライブ10のメモリに記録するデータにおいて、エラー種別、ラップ番号、リジョン番号、復旧方法等を対応付けた情報は、1つのカートリッジ番号に対して、複数個記録することができる。
ここでは、この情報をTMEI(Tape Map Error Information)と呼ぶことにする。あるテープドライブ10で、あるカートリッジ20を使用している際にエラーが発生すると、そのテープドライブ10は、他のテープドライブ10にそのカートリッジ20のTMEIを保持しているかどうかを問い合わせる。そして、他のテープドライブ10は、そのカートリッジ20のTMEIを持っていれば、TMEIを要求元のテープドライブ10に届ける。これにより、要求元のテープドライブ10は、他のテープドライブ10から受信したTMEIを参照し、例えば、複数のTMEIが同じ区画でのエラーの発生を示唆していれば、このカートリッジ20内のテープ23のその区画には何らかの欠陥がある、と判断する。より一般的に言えば、図示しない判定部が、複数の領域情報(例えば、複数のTMEIにおけるラップ番号及びリジョン番号)のうちの予め定めた基準を満たす数(例えば、予め定めた割合を超える数)の領域情報が特定の領域を示す場合に、その特定の領域が不具合を有する可能性がある領域であると判定する。
【0071】
1つのテープドライブ10の情報しかなかった場合は、特定の区画でエラーが発生していたとしても、それがテープドライブ10に起因するものである可能性を排除できない。これに対し、他のテープドライブ10で使用された場合にも同じ場所でエラーが起きていたことを確認することにより、テープ23に何らかの問題がある確証性が高くなる。
【0072】
そして、このような場合は、その特定の区画で追試験を実行し、その結果を分析に取り込むことができる。例えば、データのテープ23への書き込み又はテープ23からの読み出しの際にエラーが発生し、テープ23上のある領域に損傷が疑われるような分析結果が得られた場合、テープドライブ10自身が再度、その領域へのアクセスを試みる。即ち、図示しない処理部が、その領域へのアクセスを試みる処理を行う。これにより、その分析結果の正確性をさらに向上させることが可能となる。
【0073】
また、テープドライブ10自身が他のテープドライブ10のエラー情報を取得できることから、オペレーションを開始する前にエラー情報を収集することにより、予め問題が発生しそうな領域を予測することもできる。そして、テープドライブ10では、図示しない処理部が、カートリッジ20のロード時等のエラーが発生する以前のタイミングで、その問題が発生しそうな領域の存在を加味した情報をホスト50に報告する処理を行うことができる。そのような処理としては、例えば、テープ23上の空き容量としてその問題が発生しそうな領域の容量を除いた容量を報告する処理や、その問題が発生しそうな領域を特定する情報を報告する処理が考えられる。
【0074】
更に、TMEIを用いると、パーマネントエラーの情報だけでなく、テンポラリエラーの情報も交換できる。ここで、テンポラリエラーとは、一旦はエラーが発生したものの、テープドライブ10のリカバリ機能によって修復できたエラーのことである。TMEIにおけるラップ番号とリジョン番号と復旧方法との対応情報によってテンポラリエラーの情報は交換できる。これにより、問題のあった領域ではどのような復旧方法が有効だったのかを事前に判定し、複数のテープドライブ10でこの判定結果を共有することができる。具体的には、図示しない判定部が、複数の対応情報(例えば、複数のTMEIにおけるラップ番号、リジョン番号、復旧方法の対応情報)のうちの予め定めた基準を満たす数(例えば、予め定めた割合を超える数)の対応情報が特定の領域と特定の復旧手順とを対応付けたものである場合に、その特定の復旧手順がその特定の領域に発生するエラーを復旧するのに有効であると判定する。そして、その特定の領域にエラーが発生した場合に、図示しない処理部が、その特定の復旧手順でエラーを復旧する処理を行う。
【0075】
エラー復旧手順の中にはそれを実行するのに時間がかかるものもある。従って、事前にどのエラー復旧手順が有効であるかを知ることにより、問題が発生する可能性のある領域での動作パフォーマンスやテンポラリーエラーの発生率を改善することができる。
【0076】
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)及びDVDが含まれる。
【0077】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【0078】
10…テープドライブ、20…カートリッジ、23…テープ、30…コントローラ、31…エラー検出部、32…エラー復旧部、33…エラーレポート生成部、34…エラー情報取得部、35…エラー情報交換部、36…エラー情報記憶部、37…エラー原因判定部、38…エラーレポート更新部、39…エラーレポート出力部、50…ホスト、51…FCスイッチ、60,61,62,70…通信回線

【特許請求の範囲】
【請求項1】
リムーバブルメディアを駆動するドライブにおける、当該リムーバブルメディアに関する処理を行う装置であって、
リムーバブルメディアを駆動する他のドライブから、過去に発生したエラーに関するエラー情報を受信する受信部と、
前記受信部により受信された前記エラー情報を用いて、自ドライブが駆動している特定のリムーバブルメディアに発生するエラーに関する判定を行う判定部と、
前記判定部による判定の結果に基づいて、前記特定のリムーバブルメディアに関する前記処理を行う処理部と
を含む、装置。
【請求項2】
自ドライブで過去に発生したエラーの量を示す第1のエラー情報と、前記特定のリムーバブルメディアに過去に発生したエラーの量を示す第2のエラー情報とを取得する取得部を更に備え、
前記受信部は、前記他のドライブで過去に発生したエラーの量を示す第3のエラー情報と、前記他のドライブが駆動している他のリムーバブルメディアに過去に発生したエラーの量を示す第4のエラー情報とを、前記エラー情報として受信し、
前記判定部は、前記第1のエラー情報と前記第3のエラー情報とから得られるエラーの発生状況と、前記第2のエラー情報と前記第4のエラー情報とから得られるエラーの発生状況とを比較することにより、前記特定のリムーバブルメディアに発生したエラーの原因が自ドライブにあるのか当該特定のリムーバブルメディアにあるのかを判定する、請求項1の装置。
【請求項3】
前記処理部は、前記特定のリムーバブルメディアにエラーが発生した旨を上位装置に報告するメッセージに、当該エラーの原因が自ドライブにあるのか当該特定のリムーバブルメディアにあるのかを示す情報を付加する処理を行う、請求項2の装置。
【請求項4】
前記受信部は、前記特定のリムーバブルメディア上の過去にエラーが発生した領域を示す複数の領域情報を、前記エラー情報として受信し、
前記判定部は、前記複数の領域情報のうちの予め定めた基準を満たす数の領域情報が特定の領域を示す場合に、当該特定の領域が不具合を有する可能性がある領域であると判定する、請求項1乃至請求項3の何れかの装置。
【請求項5】
前記処理部は、前記特定のリムーバブルメディアにエラーが発生した際に前記特定の領域へのアクセスを試みる処理、及び、前記特定のリムーバブルメディアにエラーが発生するのに先立って前記特定の領域の存在を加味した情報を上位装置に報告する処理の少なくとも何れか一方を行う、請求項4の装置。
【請求項6】
前記受信部は、前記特定のリムーバブルメディア上の過去にエラーが発生した領域と当該エラーを復旧できたときに用いられた復旧手順とを対応付けた複数の対応情報を、前記エラー情報として受信し、
前記判定部は、前記複数の対応情報のうちの予め定めた基準を満たす数の対応情報が特定の領域と特定の復旧手順とを対応付けたものである場合に、当該特定の復旧手順が当該特定の領域に発生するエラーを復旧するのに有効であると判定する、請求項1乃至請求項5の何れかの装置。
【請求項7】
前記処理部は、前記特定のリムーバブルメディア上の前記特定の領域にエラーが発生した場合に、前記特定の復旧手順で当該エラーを復旧する処理を行う、請求項6の装置。
【請求項8】
リムーバブルメディアを駆動するドライブにおける、当該リムーバブルメディアに発生したエラーを報告する装置であって、
自ドライブが駆動している特定のリムーバブルメディアにエラーが発生した際に、当該エラーを復旧する復旧部と、
前記復旧部により前記エラーが復旧されなかった場合に、当該エラーが発生した旨を報告するメッセージを生成する生成部と、
前記復旧部により前記エラーが復旧されなかった場合に、自ドライブで過去に発生したエラーの量を示す第1のエラー情報と、前記特定のリムーバブルメディアに過去に発生したエラーの量を示す第2のエラー情報とを取得する取得部と、
前記復旧部により前記エラーが復旧されなかった場合に、リムーバブルメディアを駆動する他のドライブから、当該他のドライブで過去に発生したエラーの量を示す第3のエラー情報と、当該他のドライブが駆動している他のリムーバブルメディアに過去に発生したエラーの量を示す第4のエラー情報とを受信する受信部と、
前記第1のエラー情報と前記第3のエラー情報とから得られるエラーの発生状況と、前記第2のエラー情報と前記第4のエラー情報とから得られるエラーの発生状況とを比較することにより、前記特定のリムーバブルメディアに発生したエラーの原因が自ドライブにあるのか当該特定のリムーバブルメディアにあるのかを判定する判定部と、
前記生成部により生成された前記メッセージに、前記判定部による判定の結果である、前記エラーの原因が自ドライブにあるのか前記特定のリムーバブルメディアにあるのかを示す情報を付加する付加部と、
前記付加部により情報が付加された前記メッセージを上位装置に送信する送信部と
を含む、装置。
【請求項9】
リムーバブルメディアを駆動する第1のドライブ及び第2のドライブを含むシステムであって、
前記第1のドライブと、前記第2のドライブとは、通信回線を介して接続されており、
前記第1のドライブは、
自ドライブで過去に発生したエラー又はリムーバブルメディアに過去に発生したエラーに関するエラー情報を取得する取得部と、
前記取得部により取得された前記エラー情報を、前記通信回線を介して送信する送信部と
を含み、
前記第2のドライブは、
前記送信部により送信された前記エラー情報を、前記通信回線を介して受信する受信部と、
前記受信部により受信された前記エラー情報を用いて、自ドライブが駆動している特定のリムーバブルメディアに発生するエラーに関する判定を行う判定部と、
前記判定部による判定の結果に基づいて、前記特定のリムーバブルメディアに関する処理を行う処理部と
を含む、システム。
【請求項10】
リムーバブルメディアを駆動する複数のドライブを含むシステムであって、
前記複数のドライブは、互いに通信回線を介して接続されており、
前記複数のドライブの各々は、
自ドライブで過去に発生したエラー又はリムーバブルメディアに過去に発生したエラーに関するエラー情報を取得する取得部と、
前記取得部により取得された前記エラー情報を、前記通信回線を介して他のドライブに送信する送信部と、
他のドライブから送信された前記エラー情報を、前記通信回線を介して受信する受信部と、
前記受信部により受信された前記エラー情報を用いて、自ドライブが駆動している特定のリムーバブルメディアに発生するエラーに関する判定を行う判定部と、
前記判定部による判定の結果に基づいて、前記特定のリムーバブルメディアに関する処理を行う処理部と
を含む、システム。
【請求項11】
リムーバブルメディアを駆動するドライブにおける、当該リムーバブルメディアに関する処理を行う方法であって、
リムーバブルメディアを駆動する他のドライブから、過去に発生したエラーに関するエラー情報を受信するステップと、
受信された前記エラー情報を用いて、自ドライブが駆動している特定のリムーバブルメディアに発生するエラーに関する判定を行うステップと、
前記判定の結果に基づいて、前記特定のリムーバブルメディアに関する前記処理を行うステップと
を含む、方法。
【請求項12】
リムーバブルメディアを駆動するドライブにおける、当該リムーバブルメディアに関する処理を行う装置として、コンピュータを機能させるプログラムであって、
前記コンピュータを、
リムーバブルメディアを駆動する他のドライブから、過去に発生したエラーに関するエラー情報を受信する受信部と、
前記受信部により受信された前記エラー情報を用いて、自ドライブが駆動している特定のリムーバブルメディアに発生するエラーに関する判定を行う判定部と、
前記判定部による判定の結果に基づいて、前記特定のリムーバブルメディアに関する前記処理を行う処理部と
して機能させる、プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−30257(P2013−30257A)
【公開日】平成25年2月7日(2013.2.7)
【国際特許分類】
【出願番号】特願2011−167267(P2011−167267)
【出願日】平成23年7月29日(2011.7.29)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【復代理人】
【識別番号】100104880
【弁理士】
【氏名又は名称】古部 次郎
【復代理人】
【識別番号】100118201
【弁理士】
【氏名又は名称】千田 武
【復代理人】
【識別番号】100118108
【弁理士】
【氏名又は名称】久保 洋之
【Fターム(参考)】