(57)【特許請求の範囲】
【請求項１】
複数台の磁気テープと、ホストコンピュータの指令にて前記磁気テープに対して所定の情報の読み書きを行う制御部とを備え、この制御部が、前記複数の磁気テープに同一データを二重化しながら記憶する機能を備えた磁気テープ装置において、
前記制御部が、前記二重化されたデータを一の磁気テープから読み出して当該読み出しが完了したときに、これと同一データが記憶されている他の磁気テープの読出位置を前記一の磁気テープから読み出したデータ容量に相当する分だけ進めるよう位置決めを行う位置決め機能と，前記一の磁気テープからデータの読み出しが失敗したときに、前記他の磁気テープの読出位置からデータの読み出しを継続する読出継続機能と，とを備えたことを特徴とする磁気テープ装置。
【請求項２】
マスター及びスレーブの２台の磁気テープと、ホストコンピュータの指令にて前記磁気テープに対して所定の情報の読み書きを行う制御部とを備え、この制御部が、前記各磁気テープに同一データを二重化しながら記憶する機能を備えた磁気テープ装置において、
前記制御部が、前記二重化されたデータを前記マスター磁気テープから１ブロック分読み出して当該読み出しが完了したときに、前記スレーブ磁気テープの読出位置を１ブロック進めるよう位置決めを行う位置決め機能と，前記マスター磁気テープからデータの読み出しが失敗したときに、前記スレーブ磁気テープの読出位置からデータの読み出しを継続する読出継続機能と，とを備えたことを特徴とする磁気テープ装置。
【請求項３】
前記各磁気テープのそれぞれの稼働状態に関する情報を記憶する稼働状態情報格納領域を備えると共に、
前記制御部が、前記磁気テープに対して所定の処理を実行して当該処理を施すことが不可能であるときに、当該磁気テープは使用不可である旨の情報を前記稼働状態情報格納領域に記憶する稼働状態情報更新機能と，使用不可情報が記憶されている磁気テープを縮退して待機状態にする磁気テープ縮退機能と，を備えたことを特徴とする請求項２記載の磁気テープ装置。
【請求項４】
前記制御部が、前記稼働状態情報格納領域を参照して前記スレーブ磁気テープが待機状態であることを認識したときに、当該スレーブ磁気テープに対してデータの読み出しを実行し、当該読み出し可能である場合に読み出しを実行したデータブロック内のデータと、前記マスター磁気テープの現在読み出し中のデータブロック内のデータとがデータが一致するか否かを調査し、一致する場合に、前記スレーブ磁気テープの稼働状態情報を読み書き可能である旨の情報に書き換える稼働状態書換機能を備えたことを特徴とする請求項３記載の磁気テープ装置。
【請求項５】
前記各磁気テープの所定のデータを記憶するデータブロックは、それぞれ同一のブロック識別情報をあらかじめ備えると共に、
前記制御部が有する前記稼働状態書換機能は、前記待機状態であるスレーブ磁気テープに対して読み出しを実行したデータブロックが読出不可である場合に、当該データブロックよりも先にある読み出し可能なデータブロックを検出し、当該読み出し可能なデータブロックのブロック識別番号の方が前記マスター磁気テープの読み出し中のデータブロック識別番号よりも大きい場合に、当該スレーブ磁気テープの稼働状態情報を組み込み待ち状態を表す旨の情報に書き換える機能であり、
前記制御部は、稼働状態情報が組込待ちである磁気テープの読み出しは行わないことを特徴とする請求項４記載の磁気テープ装置。
【請求項６】
複数台の磁気テープと、ホストコンピュータの指令にて前記磁気テープに対して所定の情報の読み書きを行う制御部とを備え、この制御部が、前記複数の磁気テープに同一データを二重化しながら記憶する機能を備えた磁気テープ装置において、
前記各磁気テープから二重化されたデータを読み出してそれぞれのデータを一時的に記憶する前記各磁気テープに対応した複数のデータバッファを備えると共に、
前記制御部が、前記二重化されたデータを前記一のデータバッファから読み出して当該読み出しが完了したときに、これと同一データが記憶されている他のデータバッファの読出位置を前記一のデータバッファから読み出したデータ容量に相当する分だけ移動して位置決めを行う位置決め機能と，前記一のデータバッファからデータの読み出しが失敗したときに、前記他のデータバッファの読出位置からデータの読み出しを継続する読出継続機能と，とを備えたことを特徴とする磁気テープ装置。
【請求項７】
複数台の磁気テープと、ホストコンピュータの指令にて前記磁気テープに所定の情報の読み書きを行う制御部と、を備えた磁気テープ装置の動作を制御して、前記複数の磁気テープに二重化されて記憶されたデータを当該磁気テープから読み出す方法であって、
前記制御部が、前記二重化されたデータを一の磁気テープから読み出して当該読み出しが完了したときに、これと同一データが記憶されている他の磁気テープの読出位置を前記一の磁気テープから読み出したデータ容量に相当する分だけ進めるよう位置決めを行うと共に，前記制御部が、前記一の磁気テープからデータの読み出しが失敗したときに、前記他の磁気テープの読出位置からデータの読み出しを継続する，ことを特徴とする磁気テープ装置の制御方法。
【請求項８】
複数台の磁気テープと、ホストコンピュータの指令にて前記磁気テープに所定の情報の読み書きを行う制御部と、を備えた磁気テープ装置において、前記複数の磁気テープに二重化されて記憶されたデータを当該磁気テープから読み出すよう当該磁気テープ装置の動作を制御するプログラムであって、
前記二重化されたデータを一の磁気テープから読み出して当該読み出しが完了したときに、これと同一データが記憶されている他の磁気テープの読出位置を前記一の磁気テープから読み出したデータ容量に相当する分だけ進めるよう位置決めを行うと共に，前記一の磁気テープからデータの読み出しが失敗したときに、前記他の磁気テープの読出位置からデータの読み出しを継続する処理を実行するよう前記磁気テープ装置の動作を制御するプログラム。
【請求項９】
複数台の磁気テープと、ホストコンピュータの指令にて前記磁気テープに所定の情報の読み書きを行う制御部と、を備えた磁気テープ装置において、前記複数の磁気テープに二重化されて記憶されたデータを当該磁気テープから読み出すよう当該磁気テープ装置の動作を制御するプログラムを記憶した記憶媒体であって、
前記二重化されたデータを一の磁気テープから読み出して当該読み出しが完了したときに、これと同一データが記憶されている他の磁気テープの読出位置を前記一の磁気テープから読み出したデータ容量に相当する分だけ進めるよう位置決めを行うと共に，前記一の磁気テープからデータの読み出しが失敗したときに、前記他の磁気テープの読出位置からデータの読み出しを継続する処理を実行するよう前記磁気テープ装置の動作を制御するプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、磁気テープ装置にかかり、特に、二重化してデータを記憶すると共に、当該二重化データ読み出しの際にデータ復旧機能を有する磁気テープ装置及びその制御方法並びに磁気テープ装置制御用プログラムに関する。
【０００２】
【従来の技術】
従来より、磁気テープのようなシーケンシャルアクセス媒体は、多くの場合、データベースのバックアップなどデータ保管のために使用される。これらのバックアップデータは、装置の障害や災害などによってデータが破壊された場合の復旧に必要となる非常に重要なデータであり、そのため磁気テープへの書き込み後に媒体の障害で読み出せなくなるようなトラブルを避けるため、あるいは、災害に備えて遠隔地で保管するために、データを複数の磁気テープに記憶して、二重化するという処理が広く実施されている。
【０００３】
【発明が解決しようとする課題】
しかし、磁気テープ媒体を複製し、二重化してデータを管理しても、データベースの復旧のために磁気テープに記録されたデータを読み出そうとした際に、磁気テープ装置の故障、磁気テープ媒体の障害などのエラーが発生すると、一旦復旧処理を中断し、複製媒体を使用して復旧処理をやり直すことが必要になる。かかる処理は複雑であり、データの復旧が不可能となる場合も生じ、非常に不安定なものとなる。以下、磁気ディスクを用いた場合と比較する。
【０００４】
例えば、磁気ディスクのようなランダムアクセスデバイスの場合、データの読み出しは、常にＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）などのデータが書き込まれている領域のアドレスと読み出すデータ長などを指定することによって読み出すため、これを二重化することで、磁気ディスクドライブの故障、あるいは媒体障害が発生しても、他の正常稼働可能な磁気ディスクに読み出し命令を発行することで処理を継続することができる。現在、このような磁気ディスクによるミラーリングは、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）として広く知られている。
【０００５】
このようなランダムアクセスデバイスの二重化では、随時、データをアクセスする際に必要な記憶領域のアドレスを指定して所望のデータを読み出すことができる。このため、ディスクドライブの障害、記憶媒体の障害に対してデータを復元するという効果以外にも、二重化されたディスクに交互にアクセスしてディスクの読み出し速度以上の速度で上位装置にデータを転送する技術（特開平３−２５３９３３）、２台のディスクに同時に読み出し命令を発行し、先にデータが読み出せたディスクのデータを上位装置に転送する技術（特開平３−２５９３２１）、あるいは、２台のディスクに同時に読み出し命令を発行し、先にデータの読み出しが完了したディスクのデータを上位装置に転送する技術（特開平９−２３７１６３）などの技術が開示され、性能向上が図られている。
【０００６】
しかしながら、磁気テープのようなシーケンシャルアクセス媒体では、書き込まれているデータを順次読み出すだけなので、エラーにより処理が中断された場合、複製媒体が用意されていても、それを使用して再度復旧処理をやり直すか、あるいは、特定のチェックポイントまで位置付けて、そこから処理を再開させるなどの再位置付け処理が必要となる。従って、障害発生時には磁気テープ媒体が二重化されていても、複雑なリカバリ処理が必要になる。そして、障害、災害などによりデータベースを復旧する必要が生じるような局面では、このような複雑なリカバリ処理は、システムの復旧遅延にもつながり、大きな損失を招く恐れがある。
【０００７】
また、上記磁気ディスクでは記録媒体の部分的な欠陥が存在してもデータが読み出せないのは、その欠陥の存在する領域だけであり、通常、このような部分的な欠陥の場合には、他の正常な記録領域に代替領域を割り当てることによって回避し、その他の記録領域は問題なくアクセスすることが可能である。
【０００８】
しかし、磁気テープのようなシーケンシャルアクセス媒体では、記録領域に部分的な欠陥があると、それ以降のデータが正常に書き込まれていても、それらをアクセスできるという保証はない。これは欠陥のある記録領域中に記録されているブロック数などデータ量が分からないため、それ以降に書き込まれている正常に読み出すことのできるデータとの連続性の保証が取れなくなる可能性があるためである。したがって、部分的な欠陥であっても、１巻の磁気テープ媒体に書き込まれているデータのうち、欠陥の存在する位置より後ろに書き込まれているデータを全て失う恐れがある。特に、近年の磁気テープでは記録密度を高めるために、データ圧縮、オートブロッキングなどの技術が導入されており、部分的な媒体欠陥のために、その部分に書き込まれているデータ量を判断することはますます困難になっていると共に、これらの媒体欠陥により失うデータ量も大きく、障害時の損失が大きい。
【０００９】
【発明の目的】
本発明は、上記従来例の有する不都合を改善し、特に、複数台の物理ドライブを１台の論理ドライブに見せかけミラーリングする機能を含んだ二重化磁気テープ装置で書き込まれた磁気テープ媒体を使用して、物理ドライブ、または、磁気テープ媒体の障害により正常にデータの読み出しができない場合でも、上位装置、あるいは、オペレータなどによる複雑なリカバリ処理を行うことなく、容易かつ迅速にデータの復旧を行うことができ、可用性の向上を図り、上位装置からは、その障害の発生も認識することなく処理を継続できる磁気テープ装置及びその制御方法並びに磁気テープ装置制御用プログラムを提供することを目的としている。
【００１０】
【課題を解決するための手段】
そこで、本発明では、複数台の磁気テープと、ホストコンピュータの指令にて磁気テープに対して所定の情報の読み書きを行う制御部とを備え、この制御部が、複数の磁気テープに同一データを二重化しながら記憶する機能を備えている。そして、制御部が、二重化されたデータを一の磁気テープから読み出して当該読み出しが完了したときに、これと同一データが記憶されている他の磁気テープの読出位置を一の磁気テープから読み出したデータ容量に相当する分だけ進めるよう位置決めを行う位置決め機能と，一の磁気テープからデータの読み出しが失敗したときに、他の磁気テープの読出位置からデータの読み出しを継続する読出継続機能と，とを備えた、という構成を採っている（請求項１）。
【００１１】
このとき、磁気テープはマスター及びスレーブの２台であって、制御部が、二重化されたデータをマスター磁気テープから１ブロック分読み出して当該読み出しが完了したときに、スレーブ磁気テープの読出位置を１ブロック進めるよう位置決めを行う位置決め機能と，マスター磁気テープからデータの読み出しが失敗したときに、スレーブ磁気テープの読出位置からデータの読み出しを継続する読出継続機能と，とを備えた、という構成を採っている（請求項２）。
【００１２】
このような構成にすることにより、制御部は、マスター磁気テープからデータを読み出していき、データを正常に読み出すことができると、読み出した容量分、例えば、１ブロック分だけスレーブ磁気テープの読出位置を進めて当該スレーブ磁気テープを待機させる。これにより、スレーブ磁気テープの読出位置は、常にマスター磁気テープの読み出しブロックの直前に位置するようになり、当該マスター磁気テープの読出位置に追随するようになっている。このとき、スレーブ磁気テープからデータは読み出されず、マスターの非常時のために待機される。そして、マスター磁気テープからデータを読み出せないなど、読み出しブロックにエラーが発生したときには、スレーブ磁気テープの現在の読出位置からデータを読み出して、これまでに読み出したデータにつなげられる。スレーブの読み出し位置は、マスターのエラーが発生したブロックの直前のブロックに位置しているため、確実かつ迅速に、データを復元することができる。従って、複雑な処理を実行することなく、データの冗長性を確保することができ、処理の中断を抑制し、可用性の向上を図ることができる。
【００１３】
また、上記構成に加えて、各磁気テープのそれぞれの稼働状態に関する情報を記憶する稼働状態情報格納領域を備えると共に、制御部が、磁気テープに対して所定の処理を実行して当該処理を施すことが不可能であるときに、当該磁気テープは使用不可である旨の情報を稼働状態情報格納領域に記憶する稼働状態情報更新機能と，使用不可情報が記憶されている磁気テープを縮退して待機状態にする磁気テープ縮退機能と，を備えることとすると望ましい（請求項３）。
【００１４】
これにより、制御部は、処理を施すことが不可能な磁気テープを容易に認識することができ、かかる磁気テープの使用を保留しつつ、他の磁気テープで処理を続行するため、処理の中断を抑制することができる。
【００１５】
そして、制御部が、稼働状態情報格納領域を参照してスレーブ磁気テープが待機状態であることを認識したときに、当該スレーブ磁気テープに対してデータの読み出しを実行し、当該読み出し可能である場合に読み出しを実行したデータブロック内のデータと、マスター磁気テープの現在読み出し中のデータブロック内のデータとがデータが一致するか否かを調査し、一致する場合に、スレーブ磁気テープの稼働状態情報を読み書き可能である旨の情報に書き換える稼働状態書換機能を備えてもよい（請求項４）。
【００１６】
これにより、待機状態（読出不可あるいは組込待ち状態）のスレーブ磁気テープに対して、読出可能な状態であるならば読み出されるであろうデータブロックの読み出しを実行する。そして、読み出すことができる場合には、当該スレーブから読み出したデータと、現在読み出されているマスターに記憶されているデータブロック内のデータとが一致するか否かを検索する。そして、一致する場合には、スレーブは読み出し可能であるとの情報を稼働状態情報として記憶する。従って、一度縮退された磁気テープを再度利用することができ、データの冗長性を確保することができる。
【００１７】
さらに、各磁気テープの所定のデータを記憶するデータブロックは、それぞれ同一のブロック識別情報をあらかじめ備えると共に、制御部が有する稼働状態書換機能は、待機状態であるスレーブ磁気テープに対して読み出しを実行したデータブロックが読出不可である場合に、当該データブロックよりも先にある読み出し可能なデータブロックを検出し、当該読み出し可能なデータブロックのブロック識別番号の方がマスター磁気テープの読み出し中のデータブロック識別番号よりも大きい場合に、当該スレーブ磁気テープの稼働状態情報を組み込み待ち状態を表す旨の情報に書き換える機能であり、制御部は、稼働状態情報が組込待ちである磁気テープの読み出しは行わない、こととしてもよい（請求項５）。
【００１８】
これにより、縮退状態であるスレーブにて、読み出し不可のブロックを読み飛ばすことで、データを読み出すことができるブロックを検出することができると共に、これにより、スレーブ側の読出位置がマスター側の現在の読出位置よりも進んでしまった場合には、スレーブ磁気テープの読出位置をその位置にて待機させる。従って、マスターに対して読み出し処理が進むにつれて、当該マスターの読出位置がスレーブの待機位置に近づくことで、マスター読出位置の直前に位置することができ、上述したようにスレーブ磁気テープをマスター磁気テープと同期させて待機状態から復帰させることが可能である。
【００１９】
また、複数台の磁気テープと、ホストコンピュータの指令にて磁気テープに対して所定の情報の読み書きを行う制御部とを備え、この制御部が、複数の磁気テープに同一データを二重化しながら記憶する機能を備え、各磁気テープから二重化されたデータを読み出してそれぞれのデータを一時的に記憶する各磁気テープに対応した複数のデータバッファを備えると共に、制御部が、二重化されたデータを一のデータバッファから読み出して当該読み出しが完了したときに、これと同一データが記憶されている他のデータバッファの読出位置を一のデータバッファから読み出したデータ容量に相当する分だけ移動して位置決めを行う位置決め機能と，一のデータバッファからデータの読み出しが失敗したときに、他のデータバッファの読出位置からデータの読み出しを継続する読出継続機能と、を備えた、という構成をも採っている（請求項６）。
【００２０】
このような構成にすることにより、各磁気テープから読み出されたデータが、それぞれ一旦データバッファに格納され、かかる領域内にてマスター側の読み出しが実行できるときには、スレーブ側の読出位置の位置決めが実行されて、常にマスターとスレーブの位置の同期が取られる。従って、マスター側バッファのデータが読み取れないときには、読み出し対象をスレーブ側バッファに切り換えることで、読み出しデータの連続性を確保しつつ、当該切り換え時間はバッファを切り換えるのみであるため、より迅速にデータ復旧を実行することができる。
【００２１】
また、本発明では、磁気テープ装置の動作を制御して、複数の磁気テープに二重化されて記憶されたデータを当該磁気テープから読み出す方法であって、制御部が、二重化されたデータを一の磁気テープから読み出して当該読み出しが完了したときに、これと同一データが記憶されている他の磁気テープの読出位置を一の磁気テープから読み出したデータ容量に相当する分だけ進めるよう位置決めを行うと共に，制御部が、一の磁気テープからデータの読み出しが失敗したときに、他の磁気テープの読出位置からデータの読み出しを継続する，という磁気テープ装置の制御方法をも提供している（請求項７）。
【００２２】
さらに、本発明では、複数の磁気テープに二重化されて記憶されたデータを磁気テープから読み出すよう当該磁気テープ装置の動作を制御するプログラムであって、二重化されたデータを一の磁気テープから読み出して当該読み出しが完了したときに、これと同一データが記憶されている他の磁気テープの読出位置を一の磁気テープから読み出したデータ容量に相当する分だけ進めるよう位置決めを行うと共に，一の磁気テープからデータの読み出しが失敗したときに、他の磁気テープの読出位置からデータの読み出しを継続する処理を実行するよう磁気テープ装置の動作を制御するプログラム、あるいは、当該プログラムを記憶した記憶媒体をも提供している（請求項８，９）。
このようにしても、上記同様の作用効果を有する。
【００２３】
【発明の実施の形態】
〈第１の実施形態〉
以下、本発明の第１の実施形態を、図１乃至図３を参照して説明する。図１は、第１の実施形態における構成を示す機能ブロック図である。図２は、物理資源管理部の内容を示す概念図である。図３は、装置自体の動作を示すフローチャートである。
【００２４】
（構成）
図１に示すように、本実施形態における磁気テープ装置は、２台の磁気テープ（３１、３２）と、これら磁気テープに対して書き込み、読み出しなどの指示を行うホストコンピュータ等の上位装置２に対して２台の磁気テープを１台の磁気テープ装置に見せかける二重化制御装置１と、上位装置２と二重化制御装置１とを接続する信号線４と、磁気テープ３１、３２と二重化制御装置１とを接続する信号線５、６から構成される。
【００２５】
そして、二重化制御装置１は、上位装置２との間で命令やデータの送受信を行う入出力部１０と、磁気テープ３１、３２との間で命令やデータの送受信を行う入出力部２０、２１と、上位装置２と磁気テープ装置との間で受け渡すデータを一次的に格納するバッファ１１と、マイクロプログラムでこれらの各機能ブロックの動作を統合・制御する制御部１３と、制御部１３が制御するのに必要な情報を記憶しておく記憶部１４と、制御部１３で動作するマイクロプログラムを記憶しておくプログラム記憶媒体１９と、これらを互いに接続するための内部バス１２から構成される。
【００２６】
入出力部１０と信号線４は、上位装置２との間をＦｉｂｒｅ  Ｃｈａｎｎｅｌで接続している場合は、それぞれ、Ｆｉｂｒｅ  ＣｈａｎｎｅｌプロトコルコントローラとＦｉｂｒｅ  Ｃｈａｎｎｅｌケーブルに該当し、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）で接続している場合は、ＳＣＳＩコントローラとＳＣＳＩケーブルに該当する。
【００２７】
同様に入出力部２０、２１と信号線５、６は磁気テープ３１、３２との間をＦｉｂｒｅ  Ｃｈａｎｎｅｌで接続している場合は、それぞれＦｉｂｒｅ  ＣｈａｎｎｅｌプロトコルコントローラとＦｉｂｒｅ  Ｃｈａｎｎｅｌケーブルに該当し、ＳＣＳＩで接続している場合は、ＳＣＳＩコントローラとＳＣＳＩケーブルに該当する。
【００２８】
上位装置２と入出力部１０のインタフェースと入出力部２０、２１と磁気テープ３１、３２とのインタフェースは同じ種類のインタフェースであっても構わないし、違う種類のインタフェースであっても構わない。また、入出力部２０と入出力部２１とを分けて説明しているが、入出力部２１を使用せず、信号線６を信号線５に接続し、入出力部２０を磁気テープ３１、３２で共用する構成でも構わない。
【００２９】
内部バス１２は、二重化制御装置１の中に実装されている制御部１３が他の回路と通信するための信号線である。一般には、ＣＰＵのローカルバスやＰＣＩバスなどがあげられる。
【００３０】
制御部１３は、プログラム制御で動作するマイクロプロセッサ（ＣＰＵ、ＭＰＵ）であり、プログラム記憶媒体１９に記憶されたプログラムに従って、入出力部１０、入出力部２０、２１などを制御する。プログラム記憶媒体１９を、内部バス１２を通して直接読み出しながら動作させてもいいし、プログラム記憶媒体１９から内部バス１２を通して記憶部１４にコピーし、記憶部１４に格納されたプログラムを内部バス１２で読み出しながら、動作させても構わない。
【００３１】
記憶部１４は制御部１３を動作させるためのデータを記憶する。そのため、読み込みと書き込みができる必要があり、一般にはＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）があげられる。記憶部１４はどの磁気テープ３１，３２がＭａｓｔｅｒ（マスター）またはＳｌａｖｅ（スレーブ）に対応するかを管理するＭａｓｔｅｒ／Ｓｌａｖｅ管理部１５と、磁気テープ３１、３２の状態を記憶する物理資源管理部１８を含む。この物理資源管理部１８には、各磁気テープ３１，３２のそれぞれの稼働状態に関する情報を記憶する稼働状態情報格納領域が形成されている。
【００３２】
プログラム記憶媒体１９は、制御部１３を動作させるプログラムを格納されている。プログラム記憶媒体１９は、制御部１３によってプログラムの読み込みが行えればよいため、読み込み専用媒体がよい。一般には、フラッシュメモリやＲＯＭ（ＲＥＡＤ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの不揮発性メモリ、ＦＤ（Ｆｌｏｐｐｙ  Ｄｉｓｋ）、ＣＤ−ＲＯＭなどがあげられる。
【００３３】
ここで、上記制御部１３にて実行され、記憶部１４に記憶されているプログラムを例示する。当該プログラムは、例えば、二重化されたデータを一の磁気テープ（マスター）から読み出して当該読み出しが完了したときに、これと同一データが記憶されている他の磁気テープ（スレーブ）の読出位置を一の磁気テープ（マスター）から読み出したデータ容量に相当する分（例えば、１ブロック）だけ進めるよう位置決めを行うと共に，一の磁気テープ（マスター）からデータの読み出しが失敗したときに、他の磁気テープ（スレーブ）の読出位置からデータの読み出しを継続する処理を実行するよう磁気テープ装置の動作を制御するプログラムである。
【００３４】
上記のようなプログラムが、制御部１３に組み込まれることにより、当該制御部１３には、以下のような機能が構築される。すなわち、二重化されたデータを一の磁気テープ（マスター）から読み出して当該読み出しが完了したときに、これと同一データが記憶されている他の磁気テープ（スレーブ）の読出位置を一の磁気テープから読み出したデータ容量に相当する分だけ進めるよう位置決めを行う位置決め機能と，一の磁気テープからデータの読み出しが失敗したときに、他の磁気テープの読出位置からデータの読み出しを継続する読出継続機能である。
【００３５】
また、制御部１３には、磁気テープに対して所定の処理を実行して当該処理を施すことが不可能であるときに、当該磁気テープは使用不可である旨の情報を稼働状態情報格納領域に記憶する稼働状態情報更新機能と，使用不可情報が記憶されている磁気テープを縮退して待機状態にする磁気テープ縮退機能と，が構築される。これらの機能も、上記同様にあらかじめ各機能用プログラムがプログラム記憶媒体１９などに記憶されていて、制御部１３にて読み出されることにより、作動する。
【００３６】
（動作）
次に、本実施例における磁気テープ３１、３２から上位装置２へのデータの読み出しについて、概略を述べる。このとき、本実施形態における磁気テープ装置は、記憶媒体である磁気テープ３１，３２を２台備えているが、３台以上の磁気テープを備えていてもよい。すなわち、リカバリ用の磁気テープ（スレーブ）が２台以上あってもよい。このことは、他の実施形態でも同様である。
【００３７】
まず、同一データが記録された記憶媒体である磁気テープ３１、３２を装着する。上位装置２から発行された読み出し命令は、入出力部１０で受信・解釈される。Ｍａｓｔｅｒ／Ｓｌａｖｅ管理部１５のＭａｓｔｅｒドライブ番号に記憶されているドライブ番号の磁気テープ３１、例えば、Ｍａｓｔｅｒドライブ番号が１ならば入出力部２０を通して磁気テープ３１に対し読み出し命令を発行し、データと終了報告を待つ。読み出したデータは入出力部２０より内部バス１２を通してバッファ１１に一度格納される。
【００３８】
正常に読み出しが完了したならば、バッファに格納したデータを内部バス１２を通して、入出力部１０より上位装置２に転送し、正常終了の報告を行う。同時にＳｌａｖｅ側の磁気テープ３２の位置決めを行う。すなわち、磁気テープ３２の再生待機箇所を進める。ここではドライブ番号に１が記憶されているので２に相当する磁気テープ３２に対し、入出力部２１を通して１ブロック進ませる位置決め命令を発行する。
【００３９】
もしＭａｓｔｅｒ磁気テープ３１の読み出しに失敗したならば、Ｓｌａｖｅ磁気テープ３２をＭａｓｔｅｒ磁気テープ３１に変更し、同様に読み出し動作を行う。このようにして、２本の磁気テープからの読み出し動作が行われる。
【００４０】
ここで、物理資源管理部１８は、磁気テープ３１、３２が読み出し動作可能かどうかを管理しており、磁気テープ装置３１、３２の状態を示す２つの情報が格納されている。これらの情報は磁気テープ３１、３２の状態などを示す情報が、それぞれのテープに対応して格納されている。すなわち、テープが装着されていないときは「使用不可」という情報が、テープが装着され読み出しができるようになった場合に「使用可能」という情報が、稼働状態情報格納領域であるドライブ３１状態２２及びドライブ３２状態２３の領域に記憶されている。そして、磁気テープ３１，３２の読み出しや位置決めでエラーが発生し、読み出しができなくなった場合に「使用可能」から「使用不可」に変更する。
【００４１】
次に図１、図２のブロック図、図３のフローチャートを参照して、本実施形態である磁気テープ装置の動作について、詳細に説明する。図２は本実施例における物理資源管理部１８の内容を示す図である。
【００４２】
まず、磁気テープ３１、３２に同一データが記録された媒体を装着する。上位装置２から発行された読み出し命令は、入出力部１０で受信・解釈される（ステップＳ１）。Ｍａｓｔｅｒ／Ｓｌａｖｅ管理部１５のＭａｓｔｅｒドライブ番号に記憶されているドライブ番号の磁気テープ３１に対し、読み出し命令を発行する。Ｍａｓｔｅｒドライブ番号が１ならば入出力部２０を通して磁気テープ３１に対し読み出し命令を発行する。読み出したデータは入出力部２０より内部バス１２を通してバッファ１１に一度格納される。そして磁気テープ３１より終了が報告されるのを待つ（ステップＳ２）。
【００４３】
そして、正常に読み出しが完了したならば、バッファに格納したデータを内部バス１２を通して、入出力部１０より上位装置２に転送する。そして上位装置２に正常終了の報告を行う（ステップＳ３、ステップＳ４）。これと同時に、Ｓｌａｖｅ側の磁気テープ３２の位置決めを行う。Ｍａｓｔｅｒ／Ｓｌａｖｅ管理部１５のＭａｓｔｅｒドライブ番号に記憶されているドライブ番号とは違うドライブ、例えばＭａｓｔｅｒに１が記憶されていたら２の磁気テープに対して、Ｍａｓｔｅｒに２が記憶されていたら１の磁気テープに対して、まず物理資源管理部１８で当該Ｓｌａｖｅの状態を確認する。そして、動作可能であれば、１ブロック進ませる位置決め命令を発行する。発行するドライブ番号が２ならば入出力部２１を通して磁気テープ３２に対し１ブロック進ませる位置決め命令（Ｓｐａｃｅコマンド）を発行する（ステップＳ５、ステップＳ６）。
【００４４】
もし、ここでＳｌａｖｅドライブが「使用不可」状態であったならば、Ｓｌａｖｅドライブは特に動作させず、次のコマンド受領待ちとなる（ステップＳ５）。
【００４５】
そして、磁気テープ３２より位置決めの正常終了が報告されたら動作は完了し、次のコマンド受領待ちになる（ステップＳ７）。もしここで、スレーブ磁気テープ３２にて、データエラーや装置の故障などの異常終了が報告され、当該Ｓｌａｖｅドライブが動作できない場合、Ｓｌａｖｅドライブを縮退させる。このとき、物理資源管理部１８のＳｌａｖｅドライブの状態、ここではドライブ３２の状態を「使用不可」に変更する（ステップＳ８）。そして次のコマンドの受領待ちとなる。
【００４６】
次に、上記ステップＳ３にて、Ｍａｓｔｅｒドライブの読み出しが異常終了した場合について説明する。Ｍａｓｔｅｒドライブの読み出しが異常終了した場合、まずＭａｓｔｅｒドライブを縮退させるため、物理資源管理部１８のＭａｓｔｅｒドライブの状態、すなわち、磁気テープ３１の状態を「使用不可」に変更する（ステップＳ９）。次にＭａｓｔｅｒとＳｌａｖｅを入れ替えるため、Ｓｌａｖｅドライブの状態を確認する。Ｍａｓｔｅｒ／Ｓｌａｖｅ管理部１５のＭａｓｔｅｒドライブ番号に記憶されているドライブ番号とは違うドライブ、例えばＭａｓｔｅｒに１が記憶されていたら２の磁気テープに対して、Ｍａｓｔｅｒに２が記憶されていたら１の磁気テープに対して、まず物理資源管理部１８で状態を確認し、動作可能であれば、Ｍａｓｔｅｒ／Ｓｌａｖｅ管理部１５のＭａｓｔｅｒドライブ番号をＳｌａｖｅドライブの番号に書き換える（ステップＳ１０、ステップＳ１１）。そして、ステップＳ２に戻り、Ｓｌａｖｅドライブから変更されて新しいＭａｓｔｅｒドライブとなった磁気テープに読み出し命令を発行し、同様に処理をすすめる。
【００４７】
もし、ステップＳ１０でＳｌａｖｅドライブがすでに「使用不可」であった場合、両系ともエラーしてしまうので、上位装置２に異常終了報告を行う。(ステップＳ１２、ステップＳ１３）。
【００４８】
ちなみに、本実施形態では説明の簡略化のために、磁気テープ３１からバッファ１１に読み出したデータを上位装置２へ送り終わってから、磁気テープ３２の位置決めを行うという図３の流れで説明したが、上位装置２への転送処理と磁気テープ３２の位置決め処理を順次処理で行う必要性はなく、同時に処理するように構成されていても構わない。以下に示す他の実施形態でも同様である。
【００４９】
このようにすることにより、データの二重化記憶が可能な磁気テープ装置において、ミラーリングされた２つの磁気テープ媒体３１，３２を用いて、物理的に２台存在する磁気テープ装置のエラー発生状態とテープ位置を管理することにより、一方の物理ドライブまたは磁気テープ媒体の障害により正常にデータの読み出しができない場合でも、他方の磁気テープ媒体はエラーが発生したブロックの直前に位置付けしているため、短時間で磁気テープ媒体を読み出すことができる。このように自動的に他方の磁気テープ装置のデータを用いることにより、上位装置、あるいはオペレータなどによる複雑なリカバリ処理を行うことなく、上位装置からはその障害の発生を認識することなく縮退状態で処理を継続することができるため、上位装置における処理が中断させることを防ぎ、可用性の向上を図ることができる。
【００５０】
また、本実施形態にて示したように、２台の磁気テープ装置に読み出しコマンドを発行するのでなく、一方に読み出しコマンドを発行し、読み出しに成功した場合にＳｌａｖｅドライブには位置付けコマンドを発行することにより、通常動作で必要な内部バスの帯域を削減することができる。
【００５１】
〈第２の実施形態〉
以下、本発明の第２の実施形態について、図４乃至図５を参照して説明する。図４は、第２の実施形態における構成を示す機能ブロック図である。図５は、装置自体の動作を示すフローチャートである。ここで、上記第１の実施形態では、１論理ブロックを１物理ブロックとして記録される磁気テープ媒体を扱う磁気テープ装置を想定して説明したが、本実施形態では、オートブロッキングされた磁気テープ媒体を扱う磁気テープ装置を用いた構成について説明する。
【００５２】
（構成）
本実施形態における磁気テープ装置は、上述した第１の実施形態とほぼ同一の構成となっている。但し、本実施形態では、バッファ１１の中にドライブ１である磁気テープ３１から読み出したデータを格納するドライブ１用バッファ２４と、ドライブ２である磁気テープ３２から読み出したデータを格納するドライブ２用バッファ２５を有する。すなわち、各磁気テープ３１，３２から二重化されたデータを読み出してそれぞれのデータを一時的に記憶するべく、各磁気テープ３１，３２に対応した複数のデータバッファが備えられている。従って、磁気テープが３台以上である場合には、これに対応した数のデータバッファが備えられることとなる。
【００５３】
また、制御部１３には、二重化されたデータを一のデータバッファ（マスター用）から読み出して当該読み出しが完了したときに、これと同一データが記憶されている他のデータバッファ（スレーブ用）の読出位置を一のデータバッファ（マスター用）から読み出したデータ容量に相当する分（例えば、１ブロック）だけ移動して位置決めを行う位置決め機能と，一のデータバッファ（マスター用）からデータの読み出しが失敗したときに、他のデータバッファ（スレーブ用）の読出位置からデータの読み出しを継続する読出継続機能と，とが備えられている。なお、その他の構成については、第１の実施形態と同じであるため説明を省略する。ちなみに、上記各機能も、上述と同様に、各機能用プログラムがあらかじめプログラム記憶媒体１９に用意されていて、制御部１３に組み込まれることにより実現できる。
【００５４】
（動作）
次に、図４のブロック図および図５のフローチャートを用いて第２の実施形態の動作を詳細に説明する。
【００５５】
まず、上位装置２から発行された読み出し命令は、入出力部１０で受信・解釈される（ステップＳ１０１）。Ｍａｓｔｅｒ／Ｓｌａｖｅ管理部１５のＭａｓｔｅｒドライブ番号に記憶されているドライブ番号に対応するデータバッファに有効なデータが格納されているか確認する（ステップＳ１０２）。Ｍａｓｔｅｒドライブ番号が１ならば、ドライブ１用バッファ２４に有効なデータが格納されているか確認する。有効なデータが格納されていれば、そのデータを上位装置２に転送する処理へ進む（ステップＳ１０５）。バッファ２４に有効なデータが格納されていなければ、第１の実施形態と同様にＭａｓｔｅｒドライブ番号の磁気テープ装置に対し、読み出し命令を発行する。Ｍａｓｔｅｒドライブ番号が１ならば入出力部２０を通して磁気テープ３１に対し読み出し命令を発行する（ステップＳ１０３）。読み出したデータは入出力部２０より内部バス１２を通してバッファ１１に一度格納される。そして、磁気テープ３１より処理が終了したことを報告されるのを待つ（ステップＳ１０４）。
【００５６】
Ｍａｓｔｅｒ磁気テープが、正常に読み出しが完了したならば、バッファに格納したデータを内部バス１２を通して、入出力部１０より上位装置２に転送する（ステップＳ１０５）。そして上位装置２に正常終了の報告を行う。同時にＳｌａｖｅ側の磁気テープの位置決めを行う。Ｍａｓｔｅｒ／Ｓｌａｖｅ管理部１５のＭａｓｔｅｒドライブ番号に記憶されているドライブ番号とは違うドライブのデータバッファに有効なデータが入っているか確認する（ステップＳ１０６）。例えばＭａｓｔｅｒとして１が記憶されていたら２の磁気テープ３２のドライブ２用バッファ２５に、Ｍａｓｔｅｒとして２が記憶されていたら１の磁気テープ３１のドライブ１用バッファ２４に有効なデータが入っているか確認する。有効なデータが入っていれば、バッファ内のポインタを更新して位置付けを完了させる（ステップＳ１１０）。具体的には、バッファ２４，２５内で読み出されるデータが、例えば１ブロック単位である場合には、Ｓｌａｖｅ側のデータバッファの読み出し位置を１ブロック分進めておく。
【００５７】
ここで、Ｓｌａｖｅ側のデータバッファに有効なデータが入っていない場合、磁気テープから読み出しを行う。このとき、まず物理資源管理部１８で磁気テープの状態を確認し、動作可能であれば、読み出し命令を発行する（ステップＳ１０７、ステップＳ１０８）。例えば、発行するドライブ番号が２ならば入出力部２１を通して磁気テープ３２に対し読み出し命令を発行し、データが入ってくるのを待つ。
【００５８】
もし、ここでＳｌａｖｅドライブが「使用不可」状態であったならば、Ｓｌａｖｅドライブは特に動作させず、次のコマンド受領待ちとなる（ステップＳ１０７）。
【００５９】
そして、ステップＳ１０８にて、Ｓｌａｖｅ磁気テープよりデータが入ってきたら、バッファ１１の該当する部分、ここではバッファ２５に格納する。正常終了が報告されたら動作は完了し、上述同様に、スレーブ用バッファの位置決めが行われ、次のコマンド受領待ちになる（ステップＳ１０９、ステップＳ１１０）。
【００６０】
もしここで、データエラーや装置の故障などの異常終了が報告されＳｌａｖｅドライブが動作できない場合、Ｓｌａｖｅドライブを縮退させる。物理資源管理部１８のＳｌａｖｅドライブの状態、ここではドライブ３２の状態を「使用不可」に変更する（ステップＳ１１１）。そして次のコマンドの受領待ちとなる。
【００６１】
ここで、ステップＳ１０４のＭａｓｔｅｒドライブの読み出しが異常終了した場合については、第１の実施形態におけるステップＳ９からステップＳ１３（図３参照）と同じため説明を省略する。
【００６２】
また、この構成では上位装置２からのコマンドを受領したときにバッファ内に有効なデータが入っていないときに読み出しを行うように説明したが、上位装置２からのコマンドを待たずにバッファ内の有効データが残り少なくなった時点で、追加読み出しを行ってもよい。このようにするとバッファが空になってから磁気テープ装置に読み出しコマンドを発行してデータが入ってくるのを待つ時間を短縮することができる。
【００６３】
このようにすることにより、本実施形態におけるデータの二重化記憶が可能な磁気テープ装置では、オートブロッキングされた媒体を用いる構成でも、それぞれの磁気テープ媒体のデータをバッファ１１にまとめて読み込んで、そのデータに対しバッファ内で位置付けすることにより、一方の物理ドライブまたは磁気テープ媒体の障害により正常にデータの読み出しができない場合でも、他方の磁気テープ媒体から読み出したデータを用いることにより、上位装置、あるいはオペレータなどによる複雑なリカバリ処理を行うことなく、上位装置からはその障害の発生を認識することなく縮退状態で処理を継続することができるため、上位装置における処理が中断させることを防ぎ、可用性の向上を図ることができる。
【００６４】
このとき、所定の量のデータをまとめてバッファ１１に読み出しているため、一方の物理ドライブまたは磁気テープ媒体の障害により正常にデータの読み出しができない場合に、他方の物理ドライブが該当のブロックをすでに読み出してバッファ１１に入っているケースが多いため、切替え時の待ち時間の短縮化を図ることができ、迅速なリカバリ再生を可能とする。
【００６５】
〈第３の実施形態〉
以下、本発明の第３の実施形態について、図６乃至図８を参照して説明する。図６は、物理資源管理部の内容を示す概念図である。図７は、装置自体の動作を示すフローチャートである。図８は、磁気テープが縮退状態から復帰する処理を示すフローチャートである。
【００６６】
ここで、上述したの第１、第２の実施形態では、磁気テープ媒体の記録領域にキズなどの部分的な欠陥が発生して読み出せない場合も、当該物理ドライブを使用不可にして、他方の物理ドライブだけで処理を継続するように構成されている。本実施形態では、記録される各データブロックにブロック識別のためにテープの始端から昇順に番号が付加されるフォーマットを扱うドライブで構成し、磁気テープ媒体のキズなどの部分的な欠陥があっても直ちに縮退させず、冗長性を回復させることができるものである。
【００６７】
（構成）
本実施形態におけるブロック図は、図1、または図４と全く同じになるため、ここでは説明を省略する。ただし、本実施形態では、物理資源管理部１８は図６に示すように、各物理ドライブ３１，３２の状態２２，２３、および、各物理ドライブにロードされている磁気テープが位置付けられている位置の直後のデータブロックのブロック識別番号を保持しておくＢＬＯＣＫ  ＩＤ記憶部２４，２５が含まれている。
【００６８】
そして、物理ドライブ３１，３２の状態２２，２３は、上記第１、第２の実施形態では、「使用可能」、「使用不可」の2つの状態だけを管理していたが、本実施例では「使用可能」、「使用不可」に加えて、「組み込み待ち」という3つの状態を管理するように構成される。また、ＢＬＯＣＫ  ＩＤ記憶部２４，２５に記憶されるブロック識別番号は、それぞれドライブ状態２２，２３が「使用可能」、または「組み込み待ち」状態にあるときだけ有効になる。
【００６９】
このため、各磁気テープ３１，３２の所定のデータを記憶するデータブロックは、それぞれ同一のブロック識別情報をあらかじめ備えている。すなわち、このブロック識別情報が、上記ＢＬＯＣＫ  ＩＤ記憶部に記憶される。
【００７０】
また、本実施形態における制御部１３は、稼働状態情報格納領域を参照してスレーブ磁気テープが待機状態（例えば、「使用不可」状態や、「組み込み待ち」状態）であることを認識したときに、当該スレーブ磁気テープに対してデータの読み出しを実行し、当該読み出し可能である場合に読み出しを実行したデータブロック内のデータと、マスター磁気テープの現在読み出し中のデータブロック内のデータとがデータが一致するか否かを調査し、一致する場合に、スレーブ磁気テープの稼働状態情報を読み書き可能である旨の情報に書き換える稼働状態書換機能を備えている。但し、上記比較するデータは、読み出し中のデータブロックのブロック識別番号であってもよい。以下の動作説明では、ブロック識別番号が一致するか否かを判断することとしている。
【００７１】
また、制御部１３が有する稼働状態書換機能は、待機状態であるスレーブ磁気テープに対して読み出しを実行したデータブロックが読出不可である場合に、当該データブロックをよりも先にある読み出し可能なデータブロックを検出し、当該読み出し可能なデータブロックのブロック識別番号の方がマスター磁気テープの読み出し中のデータブロック識別番号よりも大きい場合に、当該スレーブ磁気テープの稼働状態情報を組み込み待ち状態を表す旨の情報に書き換える機能でもある。このとき、制御部は、稼働状態情報が組込待ちである磁気テープの読み出しは行わない。
【００７２】
ちなみに、上記各機能も、上述した他の実施形態と同様に、各機能用プログラムがあらかじめプログラム記憶媒体１９に用意されていて、制御部１３に組み込まれることにより実現できる。
【００７３】
（動作）
次に、図１、図６のブロック図を参照して、図７、図８のフローチャートに基づいて第３の実施形態における動作について詳細に説明する。ここでは、説明の便宜上、磁気テープ３１がＭａｓｔｅｒ、磁気テープ３２がＳｌａｖｅとして動作しているものとして説明を進める。
【００７４】
まず、図８を参照して、磁気テープが縮退状態から復帰する処理について説明する。この処理は、上位装置２からの読み出し命令の発行とは非同期に動作し、Ｓｌａｖｅドライブ３２が「使用不可」状態であることを検出すると定期的に実行される。
【００７５】
制御部１３は、Ｓｌａｖｅドライブ３２が「使用不可」状態であることを検出すると、Ｓｌａｖｅドライブに対して読み出し命令を発行する（ステップＳ２０１）。磁気テープのようなシーケンシャルアクセス媒体では、通常、ドライブの故障の場合は磁気テープを動作させることができないが、記録媒体の欠陥による読み出しエラーであれば、先のブロックを読み出すことができる。そして、読み出し命令が正常に実行できれば（ステップＳ２０２）、記録媒体の欠陥部分を読み飛ばして、その後方にある正常に読み出し可能な部分を読み出せたものと判断し、そのときのＳｌａｖｅドライブ３２のＢＬＯＣＫ  ＩＤ記憶部２５の内容と、Ｍａｓｔｅｒドライブ３１のＢＬＯＣＫ  ＩＤ記憶部２４の内容とを比較する（ステップＳ２０３）。このとき、一致すれば物理資源管理部１８のＳｌａｖｅドライブの状態２３を、「使用不可」から「使用可能」に変更する（ステップＳ２０５）。但し、比較するデータは、ブロック識別番号に限られず、ブロック内のデータそのものであってもよい。
【００７６】
不一致の場合は、さらにＳｌａｖｅドライブ３２のＢＬＯＣＫ  ＩＤ記憶部２５と、Ｍａｓｔｅｒドライブ３１のＢＬＯＣＫ  ＩＤ記憶部２４との大小関係を調べる（ステップＳ２０４）。Ｓｌａｖｅドライブ３２のＢＬＯＣＫ  ＩＤ記憶部２５の内容（ブロック識別番号）の方が大きい場合、エラーブロックを読み飛ばすことによって、Ｓｌａｖｅドライブ３２の読出位置が、Ｍａｓｔｅｒドライブ３１の位置よりも先に進んでしまったものと判断し、物理資源管理部１８のＳｌａｖｅドライブの状態２３を「組み込み待ち」に変更し（ステップＳ２０６）する。そして、Ｍａｓｔｅｒドライブ３１が上位装置２からの読み出し命令で、Ｓｌａｖｅドライブ３２のＢＬＯＣＫ  ＩＤ記憶部２５の位置まで追い付くまで待つ。
【００７７】
ここで、ステップＳ２０２にて、読み出し命令が正常に実行できなかった場合は、ドライブの故障によりドライブを動作させることができなかった、あるいは、未だ記録媒体の欠陥を含んだ領域内にあるものと解釈し、縮退状態から復帰処理は中止する。また、読み出し命令が正常に実行できた場合でも、Ｓｌａｖｅドライブ３２のＢＬＯＣＫ  ＩＤ記憶部２５の内容（ブロック識別番号）より、Ｍａｓｔｅｒドライブ３１のＢＬＯＣＫ  ＩＤ記憶部２４の内容の方が大きい場合には、記録媒体の欠陥を含んだ領域を読み飛ばすことに成功したものの、既にＭａｓｔｅｒドライブ３１は、より前進してしまっているものと判断し、ステップＳ２０１に戻って、Ｍａｓｔｅｒドライブ３１のテープ位置に追い付くまで前進を繰り返す。すなわち、かかる命令が制御部１３から発せられるようになっている。
【００７８】
次に、図７を参照して、本実施形態における磁気テープ装置の動作を説明する。ここで、図７のステップＳ１〜Ｓ１３の各動作は、上記第１の実施形態で説明した図３のフローチャートと全く同じであるため、各ステップの説明はここでは省略する。
【００７９】
まず、Ｍａｓｔｅｒドライブ３１からのデータの読み出しが正常に完了し（ステップＳ１〜Ｓ４）、Ｓｌａｖｅドライブ３２に位置決めを行うために、物理ドライブ３２の状態２３を読み出し、「使用可能」状態であれば、第一の実施例と同様に位置決め命令を発行する（ステップＳ５、ステップＳ６）。
【００８０】
そして、物理ドライブ３２の状態２３が「組み込み待ち」状態（ステップＳ１４）、Ｍａｓｔｅｒドライブ３１のＢＬＯＣＫ  ＩＤ記憶部２４の内容とＳｌａｖｅドライブ３２のＢＬＯＣＫ  ＩＤ記憶部２５の内容とを比較し、一致すれば（ステップＳ１５）、物理資源管理部のＳｌａｖｅドライブの状態２３を「使用可能」に変更する（ステップＳ１６）。
【００８１】
このとき、物理ドライブ３２の状態２３が「組み込み待ち」状態であっても、Ｍａｓｔｅｒドライブ３１のＢＬＯＣＫ  ＩＤ記憶部２４の内容とＳｌａｖｅドライブ３２のＢＬＯＣＫ  ＩＤ記憶部２５の内容が一致しない場合（ステップＳ１５）、および、Ｓｌａｖｅドライブが「使用不可」状態であったならば（ステップＳ１４）、Ｓｌａｖｅドライブは何も動作させず、次のコマンド受領待ちとなる。但し、図７に示す処理とは別に、非同期に実行される図８に示したような処理が行われることにより、Ｓｌａｖｅドライブが「組み込み待ち」状態にされ、当該ドライブは縮退状態から復帰することが可能となる。
【００８２】
ここで、本実施例では図８の縮退状態から復帰する処理は上位装置からの読み出し命令とは非同期に動作するものとして説明したが、読み出し命令のＳｌａｖｅドライブを「使用不可」状態に変更する際（図７のステップＳ８）の処理に同期して実行させてもよい。
【００８３】
このようにすることにより、上述した第１、第２の実施形態では、一度エラーが発生するとそのドライブは縮退させられ、冗長性を失うため、もう一台のドライブで障害が発生すると処理の継続が困難になり、上位装置のＩ／Ｏにエラー報告をせざるを得なくなるが、本実施形態では、縮退の原因になったエラーが記録媒体の欠陥に因るものであれば、欠陥部分を読み飛ばすことによって、その先に記録されている正常に読み出し可能な部分に位置付け、その位置から冗長性のある状態を復活させることができる。したがって、Ｍａｓｔｅｒ側とＳｌａｖｅ側が共に記録媒体の欠陥を含んでいた場合でも、同一ブロックでエラーが発生しない限り読み出すことができるため、より上位装置の処理が中断される可能性を低下させ、さらなる可用性の向上を図ることができる。
【００８４】
【発明の効果】
本発明は、以上のように構成され機能するので、これによると、データの二重化記憶が可能な磁気テープ装置において、一方の磁気テープ媒体の障害により正常にデータの読み出しができない場合でも、他方の磁気テープ媒体はエラーが発生したブロックの直前に位置付けしているため、かかる他方の磁気テープ媒体からデータを復元することができ、複雑な処理をすることなく、短時間でデータ復旧を実行することができる、という従来にない優れた効果を有する。このとき、上位装置からはその障害の発生を認識することなく、障害の発生した媒体を縮退状態にして処理を継続することができるため、上位装置における処理が中断することを抑制することができ、可用性の向上を図ることができる。
【００８５】
また、所定の量のデータをまとめてバッファに読み出している場合には、一方の磁気テープ媒体の障害により正常にデータの読み出しができないときであっても、他方の物理ドライブが該当のブロックをすでに読み出してバッファに入っているケースが多いため、切替え時の待ち時間の短縮化を図ることができ、より迅速なリカバリ再生を可能とする。
【００８６】
さらに、縮退の原因になったエラーが記録媒体の欠陥に因るものであれば、欠陥部分を読み飛ばすことによって、その先に記録されている正常に読み出し可能な部分に位置付け、その位置から冗長性のある状態を復活させることができ、データ再生時のさらなる安定性の向上を図ることができる。
【図面の簡単な説明】
【図１】第１の実施形態における構成を示す機能ブロック図である。
【図２】図１に開示した物理資源管理部の内容を示す概念図である。
【図３】第１の実施形態における磁気テープ装置の動作を示すフローチャートである。
【図４】第２の実施形態における構成を示す機能ブロック図である。
【図５】第２の実施形態における磁気テープ装置の動作を示すフローチャートである。
【図６】第３の実施形態における物理資源管理部の内容を示す概念図である。
【図７】第３の実施形態における磁気テープ装置の動作を示すフローチャートである。
【図８】磁気テープが縮退状態から復帰する処理を示すフローチャートである。
【符号の説明】
１  二重化制御装置
２  上位装置
１１  バッファ
１３  制御部
１４  記憶部
１５  マスタースレーブ管理部（Ｍａｓｔｅｒ／Ｓｌａｖｅ管理部）
１８  物理資源管理部
１９  プログラム記憶媒体
３１，３２  磁気テープ
【図１】
0003937878.tif 000002
【図２】
0003937878.tif 000003
【図３】
0003937878.tif 000004
【図４】
0003937878.tif 000005
【図５】
0003937878.tif 000006
【図６】
0003937878.tif 000007
【図７】
0003937878.tif 000008
【図８】
0003937878.tif 000009