(57)【要約】      （修正有）【課題】  メインフレームなどでは磁気テープを前提としたプログラムが多く作成されている。磁気ディスクのビット単価の低下に伴い、磁気テープの代替手段として磁気ディスクを用いる場合、ソフトウエア変更に多大の労力を要する。【解決手段】情報処理装置から送信されるデータ入出力要求を受信するチャネル制御部と、ディスクドライブを制御するディスク制御部と、チャネル制御部とディスク制御部との間で授受されるデータを記憶するキャッシュとを備え、チャネル制御部は、データ入出力要求が、ディスクアクセス要求である場合にはディスクドライブに対してデータ入出力を行うようにディスク制御コマンドを生成し、データ入出力要求が、磁気テープ装置に対するデータ入出力を要求するテープアクセス要求である場合には磁気テープ上の位置を特定する情報に対応するディスクドライブ上の位置を特定する情報を設定してディスク制御コマンドを生成する。【選択図】  図１
2005038290.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置から送信されるデータ入出力要求を受信するチャネル制御部と、
ディスクドライブを制御するディスク制御部と、
前記チャネル制御部と前記ディスク制御部との間で授受されるデータを記憶するキャッシュメモリと、を備え、
前記チャネル制御部は、磁気テープ上でデータを記録する位置を特定するための情報と、前記ディスクドライブ上でデータを記録する位置を特定するための情報とを対応づけて記憶し、
前記チャネル制御部は、前記受信したデータ入出力要求が前記ディスクドライブに対するデータ入出力を要求するディスクアクセス要求である場合には、前記ディスクアクセス要求に応じて前記ディスクドライブに対してデータ入出力を行うように前記ディスク制御部に指示をするディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って前記ディスクドライブに対するデータ入出力に関する制御を行い、
前記チャネル制御部は、前記受信したデータ入出力要求が、磁気テープ装置に対するデータ入出力を要求するテープアクセス要求である場合には、前記磁気テープ上の位置を特定するための情報に対応する前記ディスクドライブ上の位置を特定するための情報を設定して前記ディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って前記ディスクドライブに対するデータ入出力に関する制御を行うこと、
を特徴とするディスク制御装置。
【請求項２】
請求項１に記載のディスク制御装置であって、
前記チャネル制御部は、前記ディスクドライブである第１のディスクドライブに記憶されているデータの複製を、他のディスク制御装置がデータ入出力を行う第２のディスクドライブに記憶させるために、前記他のディスク制御装置に対してデータ入出力要求を送信する機能を有する複製処理部を備え、
前記チャネル制御部には、可搬型記録媒体に対するデータ入出力に関する制御を行う可搬型記録媒体制御装置が通信可能に接続され、
前記チャネル制御部は、前記第１のディスクドライブから前記可搬型記録媒体へデータを書き出すように指示するコマンドを受信すると、前記複製処理部により、前記第１のディスクドライブに記憶されているデータを前記可搬型記録媒体制御装置に送信すること、
を特徴とするディスク制御装置。
【請求項３】
請求項１に記載のディスク制御装置であって、
前記チャネル制御部は、前記ディスクドライブである第１のディスクドライブに、他のディスク制御装置がデータ入出力を行う第２のディスクドライブに記憶されているデータの複製を記憶させるために、前記他のディスク制御装置に対してデータ入出力要求を送信する機能を有する複製処理部を備え、
前記チャネル制御部には、可搬型記録媒体に対するデータ入出力に関する制御を行う可搬型記録媒体制御装置が通信可能に接続され、
前記チャネル制御部は、前記可搬型記録媒体からデータを読み出すように指示するコマンドを受信すると、前記複製処理部により、前記可搬型記録媒体からデータを読み出すように指示する要求を、前記可搬型記録媒体制御装置に送信すること、
を特徴とするディスク制御装置。
【請求項４】
請求項１乃至３のいずれかに記載のディスク制御装置であって、
前記チャネル制御部は、前記受信した前記データ入出力要求が前記テープアクセス要求であり、当該テープアクセス要求が磁気テープに記録されたデータを逆方向に読み出すための逆読みコマンドであったときには、前記逆読みコマンドを解釈して前記ディスク制御コマンドを生成し、前記ディスクドライブから読み出したデータに対して前記逆読みコマンドに応じた処理を行うこと、
を特徴とするディスク制御装置。
【請求項５】
請求項１乃至４のいずれかに記載のディスク制御装置であって、
前記チャネル制御部は、前記生成したディスク制御コマンドが前記ディスクドライブに対する書き込みに関するコマンドである場合には、前記ディスクドライブに書き込むデータを圧縮し、
前記チャネル制御部は、前記生成したディスク制御コマンドが前記ディスクドライブからの読み出しに関するコマンドであり、前記ディスク制御部による制御によって前記ディスクドライブから読み出されたデータが圧縮されたデータであるときは、前記読み出されたデータを伸張すること、
を特徴とするディスク制御装置。
【請求項６】
情報処理装置から送信されるデータ入出力要求を受信するチャネル制御部と、
ディスクドライブを制御するディスク制御部と、
前記チャネル制御部と前記ディスク制御部との間で授受されるデータを記憶するキャッシュメモリと、を備え、
前記チャネル制御部は、複数の磁気テープを個々に対応した収納部に格納して管理する磁気テープライブラリ装置における前記磁気テープそれぞれの上でデータを記録する位置を特定するための情報と、前記ディスクドライブ上でデータを記録する位置を特定するための情報とを対応づけて記憶し、
前記チャネル制御部は、前記受信したデータ入出力要求が前記ディスクドライブに対するデータ入出力を要求するディスクアクセス要求である場合には、前記ディスクアクセス要求に応じて、前記ディスクドライブに対してデータ入出力を行うように前記ディスク制御部に指示をするディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って、前記ディスクドライブに対するデータ入出力に関する制御を行い、
前記チャネル制御部は、前記受信したデータ入出力要求が前記磁気テープライブラリ装置に対するデータ入出力を要求するテープアクセス要求である場合には、前記磁気テープ上の位置を特定するための情報に対応する前記ディスクドライブ上の位置を特定するための情報を設定して前記ディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って前記ディスクドライブに対するデータ入出力に関する制御を行うこと、
を特徴とするディスク制御装置。
【請求項７】
請求項６に記載のディスク制御装置であって、
前記チャネル制御部は、前記受信したデータ入出力要求が、前記テープアクセス要求であり、前記テープアクセス要求が磁気テープをマウントする処理を要求するものであるときは、前記テープアクセス要求に設定される磁気テープを識別する情報を取得し、前記磁気テープが読み書き可能になるようにすること、
を特徴とするディスク制御装置。
【請求項８】
情報処理装置から送信されるデータ入出力要求を受信するチャネル制御部と、
ディスクドライブを制御するディスク制御部と、
前記チャネル制御部と前記ディスク制御部との間で授受されるデータを記憶するキャッシュメモリとを備えるディスク制御装置の制御方法であって、
前記チャネル制御部は、磁気テープ上でデータを記録する位置を特定するための情報と、前記ディスクドライブ上でデータを記録する位置を特定するための情報とを対応づけて記憶し、
前記チャネル制御部は、前記受信したデータ入出力要求が前記ディスクドライブに対するデータ入出力を要求するディスクアクセス要求である場合には、前記ディスクアクセス要求に応じて、前記ディスクドライブに対してデータ入出力を行うように前記ディスク制御部に指示をするディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って前記ディスクドライブに対するデータ入出力に関する制御を行い、
前記チャネル制御部は、前記受信したデータ入出力要求が、磁気テープ装置に対するデータ入出力を要求するテープアクセス要求である場合には、前記テープアクセス要求に設定される前記磁気テープ上の位置を特定するための情報を取得し、前記取得した前記磁気テープ上の位置を特定するための情報に対応する前記ディスクドライブ上の位置を特定するための情報を設定して前記ディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って前記ディスクドライブに対するデータ入出力に関する制御を行うこと、
を特徴とするディスク制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ディスク制御装置及びディスク制御装置の制御方法に関する。
【背景技術】
【０００２】
近年のＩＴ技術の進化にともなって、コンピュータシステムで取り扱われるデータ量は急激に増加している。データセンタ等においては、大量のデータを集約的に取り扱うための大規模な仕組みが構築されている。こういった大規模なデータを記録する代表的な装置として、ディスクアレイ装置がある。
【０００３】
ディスクアレイ装置にアクセスする情報処理装置はディスクアレイ装置のデータ記憶領域にアクセスする一方で、磁気テープデバイスへアクセスし、データの入出力を行っている。特にメインフレーム等では様々な場面において磁気テープに対するデータ入出力を前提としてアプリケーションプログラムやジョブ制御文が作成されている。これは磁気テープ媒体のビット単価が、ハードディスク等の磁気ディスク媒体のビット単価に比べて安価であったため、特に大量なデータを扱うアプリケーションプログラム等にとっては、記憶領域に対するコストを低減することができたからである。
【特許文献１】特開平２０００−２０２４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年では磁気ディスクドライブのビット単価は磁気テープのものよりも安価になりつつある。しかも、磁気ディスクのアクセススピードは磁気テープのものに比べて高速であり、また磁気ディスクではランダムアクセスが可能なため、データへの効率的なアクセスが可能となっている。そのため、磁気ディスク媒体を用いてより効率的なバックアップ等のデータ退避手段をとる事が可能となってきた。
【０００５】
一方、このように磁気ディスクを磁気テープの代替手段として用いる場合には、既存のソフトウェアを変更し、これまで磁気テープに対して行ってきたデータ入出力を磁気ディスクに対するものに変更する必要があるが、そのためには、多大な労力がかかる。また、一般的にソフトウェア等に対して大きな変更をすると、不具合が混入する可能性が高いことがわかっている。そのため、長年の運用に耐え、信頼性・安定性ともに高いソフトウェアに対して修正を加えることを極力避けたいという需要も多い。
【０００６】
本発明はこのような状況を鑑みてなされたものであり、ディスク制御装置及びディスク制御装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成する本発明のうち主たる発明に係るディスク制御装置は、情報処理装置から送信されるデータ入出力要求を受信するチャネル制御部と、ディスクドライブを制御するディスク制御部と、前記チャネル制御部と前記ディスク制御部との間で授受されるデータを記憶するキャッシュメモリと、を備え、前記チャネル制御部は、磁気テープ上でデータを記録する位置を特定するための情報と、前記ディスクドライブ上でデータを記録する位置を特定するための情報とを対応づけて記憶し、前記チャネル制御部は、前記受信したデータ入出力要求が前記ディスクドライブに対するデータ入出力を要求するディスクアクセス要求である場合には、前記ディスクアクセス要求に応じて前記ディスクドライブに対してデータ入出力を行うように前記ディスク制御部に指示をするディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って前記ディスクドライブに対するデータ入出力に関する制御を行い、前記チャネル制御部は、前記受信したデータ入出力要求が、磁気テープ装置に対するデータ入出力を要求するテープアクセス要求である場合には、前記磁気テープ上の位置を特定するための情報に対応する前記ディスクドライブ上の位置を特定するための情報を設定して前記ディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って前記ディスクドライブに対するデータ入出力に関する制御を行うこととする。
【０００８】
このように、本発明では、ディスクドライブに対するデータ入出力要求であるディスクアクセス要求を処理するディスク制御装置が、磁気テープ装置に対するデータ入出力要求であるテープアクセス要求も受信し、磁気テープに対するデータ入出力をディスクドライブに対するデータ入出力に変換して、ディスクドライブに対するデータ入出力とすることができる。すなわち、磁気テープに対するデータ入出力を行うホストコンピュータを本発明によるディスク制御装置に接続することにより、前記ホストコンピュータはより高速かつ大容量のディスクドライブによる記憶領域にアクセスが可能となる。しかも、ホストコンピュータ上で動作する既存のアプリケーションプログラムやジョブ制御文等に変更を加える必要がなく、変更に伴って生じる可能性のある不具合を回避することができる。
【０００９】
なお、本発明の他の特徴については、本明細書及び添付図面の記載により明らかにされる。
【発明の効果】
【００１０】
本発明によれば、ディスク制御装置及びディスク制御装置の制御方法を提供することができる。
【発明を実施するための最良の形態】
【００１１】
＝＝＝全体構成＝＝＝
図１に本実施の形態に係る情報処理システムの全体構成を示す。  
ホストコンピュータ１００とディスク制御装置２００とが通信可能に接続しており、ディスク制御装置２００は、ホストコンピュータ１００から送信されるデータの入出力要求を受信し、それに応じてディスクドライブ３００に記憶されているデータの入出力処理を行う。ホストコンピュータ１００とディスク制御装置２００との間の通信は、ＥＳＣＯＮ（Enterprise System Connection）（登録商標）やＦＩＣＯＮ（FIbre CONnection）（登録商標）等の通信プロトコルに従って行われる。
【００１２】
ホストコンピュータ１００はデータ入出力要求をディスク制御装置２００に送信することで、ディスク制御装置２００に記憶されるデータに適宜アクセスしながらアプリケーションを実行し、様々な情報処理サービスを提供する。情報処理サービスは例えば銀行の自動預金預け払いシステムや航空機の座席予約システム等である。
【００１３】
また、ホストコンピュータ１００は、例えばアプリケーションで使用するデータをバックアップしたり、データを他のホストコンピュータへ移行したりするためにデータをコピーしたりするために、磁気テープへデータを書き出す機能を備えている。ホストコンピュータ１００は、例えば障害発生時に、保管してあるバックアップからデータをリストアしたり、他のホストコンピュータから移行されてくるデータをコピーしたりするために、磁気テープからデータを読み込む機能も備えている。これらの機能を実現するために、ホストコンピュータ１００は、磁気テープ装置に対するデータ入出力要求（以下、テープアクセス要求と称する）を送信できる。
【００１４】
一方、ディスク制御装置２００と磁気テープ装置４００とが通信可能に接続しており、例えばＥＳＣＯＮやＦＩＣＯＮ等の通信プロトコルに従い、ディスク制御装置２００から磁気テープ装置４００へテープアクセス要求を送信できる。
【００１５】
＝＝＝ホストコンピュータ＝＝＝
ホストコンピュータ１００はＣＰＵ（Central Processing Unit）１００１やメモリ１００２、記録媒体読取装置１００３、ポート１００４、ポート１００５、記憶装置１００６等を備えたコンピュータ（情報処理装置）である。
【００１６】
ホストコンピュータ１００が備えるＣＰＵ１００１は、ホストコンピュータ１００の全体の制御を司るもので、メモリ１００２に格納されたプログラムを実行することにより各種の機能を実現する。記録媒体読取装置１００３は記録媒体１００７に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ１００２や記憶装置１００６に格納される。記録媒体１００７としてはフレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、半導体メモリ等を用いることができる。記録媒体読取装置１００３はホストコンピュータ１００に内蔵する形態とすることもできるし、外付される形態とすることもできる。記憶装置１００６は、例えばハードディスクドライブや半導体記憶装置等である。
【００１７】
ポート１００４は、ディスク制御装置２００等の外部装置との間で通信を行うための装置である。ポート１００４は通信経路５０１に接続しており、ホストコンピュータ１００はディスク制御装置２００に記憶されるデータに対し、ポート１００４を介してアクセスする。
【００１８】
ポート１００５もディスク制御装置２００や磁気テープ装置等の外部装置との間で通信を行うための装置である。ポート１００５は通信経路５０２に接続しており、これはホストコンピュータ１００が、例えばバックアップ時に磁気テープへデータを書き出したり、メンテナンス時に磁気テープからデータを読み込んだりするために、磁気テープ装置に対してテープアクセス要求を送信するとき等に使用するポートである。但し、図１において、ポート１００５を介してホストコンピュータ１００が接続しているのは磁気テープ装置ではなく、ディスク制御装置２００である。ディスク制御装置２００はランダムアクセスによる磁気ディスク等の記憶領域を提供するが、後述するように、磁気テープに対するシーケンシャルなデータ入出力を行うためのコマンド等を受け付ける。そのため、ホストコンピュータ１００は、直接磁気テープ装置をポート１００５を介して接続している場合と同様に、磁気テープに対するコマンドをディスク制御装置２００に送信することができる。
【００１９】
なお、本実施の形態では、ホストコンピュータ１００からディスク制御装置２００へ、ディスクアクセス要求は通信経路５０１を介して送信され、テープアクセス要求は通信経路５０２を介して送信されるが、ディスクアクセス要求もテープアクセス要求も同一の通信経路を介して送信するようにしてもよい。その場合には、例えば、ディスクドライブ３００に対するデータ入出力要求やテープアクセス要求にコマンドの種類を識別するための情報を付与することもできる。
【００２０】
＝＝＝ディスク制御装置＝＝＝
ディスク制御装置２００はホストコンピュータ１００と通信可能に接続されており、ホストコンピュータ１００が送信するデータ入出力要求を受信し、データ入出力に関する処理を行う。
【００２１】
ディスク制御装置２００は、ＣＨＡ（CHannel Adapter：チャネル制御部）２１０、ＤＫＡ（DisK Adapter：ディスク制御部）２４０、共有メモリ２２０、キャッシュメモリ２３０を備える。キャッシュメモリ２３０は、チャネル制御部２１０とディスク制御部２４０との間で授受されるデータを記憶する。チャネル制御部２１０、ディスク制御部２４０、管理端末２５０は、内部ＬＡＮ２６０によって接続され、相互に通信を行うことが可能である。
【００２２】
チャネル制御部２１０はホストコンピュータ１００等の外部装置との通信インタフェースを備え、外部装置からのデータ入出力要求を受信する。例えば、ディスク制御装置２００はＣＨＡ１（２１０）を介してホストコンピュータ１００と間で通信を行う。ディスク制御装置２００がＣＨＡ１（２１０）を介してホストコンピュータ１００から受信したデータ入出力要求は、共有メモリ２２０に書き込まれる。ディスク制御部２４０は、ＣＨＡ１（２１０）により共有メモリ２２０に書き込まれたデータ入出力要求を読み出し、それに従ってディスクドライブ３００に対するデータ入出力に関する制御を行う。
【００２３】
また、図１においては、ＣＨＡ２（２１０）が通信経路５０２に接続しており、ホストコンピュータ１００との間で通信を行う。また、ＣＨＡ３（２１０）は通信経路５０３に接続しており、磁気テープ装置４００との間で通信を行う。通信経路５０１乃至５０３は、例えばＥＳＣＯＮやＦＩＣＯＮ、ＳＣＳＩ（Small Computer System Interface）等の通信形態である。
【００２４】
キャッシュメモリ２３０は、チャネル制御部２１０とディスク制御部２４０との間で授受されるデータを格納するためのメモリである。すなわち、例えばＣＨＡ１（２１０）がホストコンピュータ１００から受信したデータ入出力要求がデータを書き込むための要求（以下、データ書き込み要求と称する）であれば、ＣＨＡ１（２１０）はそのデータ書き込み要求を共有メモリ２２０に書き込むとともに、書き込みデータをキャッシュメモリ２３０に書き込む。そしてディスク制御部２４０は共有メモリ２２０に書き込まれた前記データ書き込み要求に従ってキャッシュメモリ２３０から書き込みデータを読み出し、ディスクドライブ３００に書き込むための制御を行う。
【００２５】
＝＝＝ディスクドライブ＝＝＝
ディスクドライブ３００は、ホストコンピュータ１００に提供する記憶資源を備えている。記憶資源としては、例えばハードディスクドライブやフレキシブルディスクドライブ、半導体記憶装置等、様々なものを採用することができる。図１において、ディスクドライブ３００には論理的な記憶領域である論理ユニット（ＬＵ：Logical Unit）が２つ設定されている。本実施の形態においては、ＬＵ１をホストコンピュータ１００が通常のディスクドライブに対するアクセスをする際に使う記憶領域として、ＬＵ２を後述する磁気テープに対するアクセスをエミュレートする際に使う記憶領域として管理されている。もちろん、上記のように論理ユニットを分けずに、ディスク制御装置２００が同一の論理ユニット内で領域を管理してもよい。
【００２６】
またディスク制御部２４０とディスクドライブ３００との間は、図１のように直接接続する形態とすることもできるし、ネットワークを介して接続するようにすることもできる。さらにディスクドライブ３００はディスク制御装置２００と一体型とすることもできる。
【００２７】
＝＝＝チャネル制御部＝＝＝
チャネル制御部２１０は、外部装置からのデータ入出力要求を受信する。例えば、チャネル制御部２１０は、受信したデータ入出力要求がディスクドライブ３００に対するデータ入出力要求であり、データの書き込みを要求するものである場合には、ディスク制御部２４０に対してディスクドライブ３００へのデータ入出力を行うように指示をするディスク制御コマンドを生成し、共有メモリ２２０に書き込む。そして、書き込むデータをキャッシュメモリ２３０に書き込む。
【００２８】
図２にチャネル制御部２１０のハードウェア構成を示す。この図に示すように、チャネル制御部２１０は一体的にユニット化されたボードで構成される。  
チャネル制御部２１０は、ネットワークインタフェース部２１１、ＣＰＵ２１２、メモリ２１３、入出力制御部２１４、Ｉ／Ｏ（Input/Output）プロセッサ２１９、ＮＶＲＡＭ（Non Volatile RAM）２１５、ボード接続用コネクタ２１６、通信コネクタ２１７を備え、これらが一体的にユニット化された回路基盤上に形成されて攻勢されている。
【００２９】
ネットワークインタフェース部２１１は、ホストコンピュータ１００や磁気テープ装置４００との間で通信を行うための通信インタフェースを備えている。チャネル制御部２１０の場合は、例えばＥＳＣＯＮプロトコルに従ってホストコンピュータ１００から送信されたデータ入出力要求を受信する。通信コネクタ２１７はホストコンピュータ１００と通信を行うためのコネクタである。
【００３０】
ボード接続用コネクタ２１６は、ディスク制御装置２００側に設けられたコネクタ（不図示）に結合される。これによりチャネル制御部２１０を構成するボードがディスク制御装置２００と電気的に接続される。
【００３１】
ＣＰＵ２１２は、チャネル制御部２１０の全体の制御を司るもので、メモリ２１３に格納されたプログラムを実行することにより、各種の機能を実現する。メモリ２１３には様々なプログラムやデータが記憶される。
【００３２】
入出力制御部２１４は、ディスク制御部２４０やキャッシュメモリ２３０、共有メモリ２２０、管理端末２５０との間でデータやコマンドの授受を行う。入出力制御部２１４はＩ／Ｏプロセッサ２１９やＮＶＲＡＭ２１５を備えている。Ｉ／Ｏプロセッサ２１９は例えば１チップのマイコンで構成される。Ｉ／Ｏプロセッサ２１９は上記データやコマンドの授受を制御し、ＣＰＵ２１２とディスク制御部２４０との間の通信を中継する。ＮＶＲＡＭ２１５はＩ／Ｏプロセッサ２１９の制御を司るプログラムを格納する不揮発性メモリである。ＮＶＲＡＭ２１５に記憶されるプログラムの内容は、管理端末２５０等からの指示により書き込みや書き換えを行うことができる。
【００３３】
図１において、ＣＨＡ２（２１０）には、コマンド制御部２１０１、逆読み機構２１０２、圧縮機構２１０３が示されている。コマンド制御部２１０１は、テープアクセス要求を解釈し、前記テープアクセス要求に応じてディスクドライブ３００に対するデータ入出力を行うため、ディスク制御部２４０に対するディスク制御コマンドを生成する。逆読み機構２１０２は、ＣＨＡ２（２１０）が後述する磁気テープに対して逆方向への読み取りを要求するテープアクセス要求を受信した場合に、例えば、ディスクドライブ３００から読み出したデータを並べ変えたりすることによって、正常なデータの読み取りを可能とするための機構である。圧縮機構２１０３は、磁気テープに対するテープアクセス要求を、ディスクドライブ３００に対するデータ入出力として処理する際に、例えば書き込みを行う場合に書き込むデータを圧縮したり、例えば読み込みを行う場合に読み込んだデータが圧縮されているときはデータを伸張したりする。圧縮のアルゴリズムには、ランレングス符号化やハフマン符号化、ＬＺ７８符号化等、様々なアルゴリズムを使うことができる。
【００３４】
また、図１において、ＣＨＡ３（２１０）には、複製処理部２１０４が示されている。複製処理部２１０４は、チャネル制御部２１０に接続された記憶デバイスに対して、ディスクドライブ３００に記憶されているデータの複製をコピーしたり、前記記憶デバイスに記憶されているデータの複製を、ディスクドライブ３００にコピーしたりする。後述するリモートコピーの機能も、この複製処理部２１０４によって実現される。
【００３５】
＝＝＝リモートコピー＝＝＝
ディスク制御装置２００は、ディスクドライブ３００に記憶されているデータの複製を、チャネル制御部２１０を介して通信可能に接続される他のディスク制御装置がデータ入出力を行うディスクドライブに記憶させるリモートコピー（遠隔地複製又はレプリケーション）を行う。リモートコピーは、チャネル制御部２１０の備える複製処理部２１０４により行われる。複製処理部２１０４は、チャネル制御部２１０のＮＶＲＡＭ２１５等に記憶され、あるいは管理端末２５０からメモリ２１３に読み込まれたプログラムであり、ＣＰＵ２１２がそのプログラムを実行することにより、リモートコピーの機能が実現される。
【００３６】
上記リモートコピーの機能が動作中は、ディスクドライブ３００に設定された論理的記憶領域である複製元のＬＵ（Logical Unit：論理ユニット、以下、「プライマリＬＵ」と記す）にデータが書き込まれると、そのデータがチャネル制御部２１０に通信可能に接続される他のディスク制御装置に送信され、そのデータが他のディスク制御装置がデータ入出力を行うディスクドライブ上に設定されたＬＵ（以下、「セカンダリＬＵ」と記す）にも書き込まれる。このようにリモートコピー機能の動作中は、プライマリＬＵとセカンダリＬＵの内容を一致させるように制御がなされる。
【００３７】
リモートコピーの方式としては同期方式と非同期方式とがある。同期方式の場合、ディスク制御装置２００はホストコンピュータ１００からプライマリＬＵへのデータ書き込みを指示するデータ入出力要求を受信すると、ディスク制御装置２００はプライマリＬＵにそのデータ入出力要求に対応するデータを書き込み、書き込んだデータと同じデータをチャネル制御部２１０に接続する他のディスク制御装置に送信する。他のディスク制御装置はディスク制御装置２００から送信されてくるデータを受信すると、そのデータをセカンダリＬＵに書き込む。そして他のディスク制御装置は、データを書き込んだ旨をディスク制御装置２００に対して通知する。この通知を受信したディスク制御装置２００は、ホストコンピュータ１００にデータの書き込みを完了した旨を通知するメッセージを送信する。
【００３８】
このように同期方式の場合には、プライマリＬＵとセカンダリＬＵの双方にデータが書き込まれたことが確認された後に、はじめてホストコンピュータ１００に完了通知が送信される。このため、同期方式ではホストコンピュータ１００が完了通知を受信した時点において必ずプライマリＬＵの内容とセカンダリＬＵの内容の一致性が確保されることになる。但し、同期方式の場合には、セカンダリＬＵへのデータの書き込みが完了するまではホストコンピュータ１００に完了通知が報告されない。従って、同期方式の場合にはディスク制御装置２００にアクセスするホストコンピュータ１００からディスク制御装置２００にデータ入出力要求が送信されてからホストコンピュータ１００に完了通知が返ってくるまでの間のレスポンスタイムが非同期方式の場合に比べると一般に長くなる。
【００３９】
一方、非同期方式の場合には、ホストコンピュータ１００からプライマリＬＵへのデータ書き込みを指示するデータ入出力要求を受信したディスク制御装置２００はこれに応じてプライマリＬＵにデータを書き込み、書き込んだデータと同じデータを他のディスク制御装置に送信する。他のディスク制御装置は、ディスク制御装置２００から送信されてくるデータを受信すると、そのデータをセカンダリＬＵに書き込む。そしてデータを書き込んだ旨をディスク制御装置２００に通知する。ここでディスク制御装置２００は、プライマリＬＵにデータを書き込むと、他のディスク制御装置にデータが書き込まれたかどうかとは関係なくホストコンピュータ１００に対して上記データ入出力要求についての完了通知を送信してしまう。このため非同期方式ではホストコンピュータ１００へのレスポンスタイムが同期方式の場合に比べて一般に短くなる。但し非同期方式では同期方式のようにホストコンピュータ１００が完了通知を受信したとしてもその時点ではプライマリＬＵとセカンダリＬＵとの間のデータの一致性は必ずしも保証されない。なお、リモートコピーが適用される場合には、一般にプライマリＬＵとセカンダリＬＵとの内容の差分に関する情報がディスク制御装置２００において管理される。
【００４０】
＝＝＝管理端末＝＝＝
管理端末２５０はディスク制御装置２００に通信可能に接続している。管理端末２５０はディスク制御装置２００を保守・管理するためのコンピュータである。管理端末２５０を操作することにより、例えばディスクドライブ３００内の物理ディスク構成の設定や、論理ユニットの設定、チャネル制御部２１０において実行されるマイクロプログラムのインストール等を行うことができる。管理端末２５０はディスク制御装置２００に内蔵されている形態とすることもできるし、外付けされている形態とすることもできる。また管理端末２５０は、ディスク制御装置２００及びディスクドライブ３００の保守・管理を専用に行うコンピュータとすることもできるし、汎用のコンピュータに保守・管理機能を持たせたものとすることもできる。
【００４１】
管理端末２５０の構成を示すブロック図を図３に示す。  
管理端末２５０は、ＣＰＵ２５０１、メモリ２５０２、ポート２５０３、記録媒体読取装置２５０４、入力装置２５０５、出力装置２５０６、記憶装置２５０８を備える。
【００４２】
ＣＰＵ２５０１は管理端末２５０の全体の制御を司るもので、メモリ２５０２に格納されたプログラムを実行することにより各種の機能等を実現する。記録媒体読取装置２５０４は、記録媒体２５０７に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ２５０２や記憶装置２５０８に格納される。記録媒体２５０７としてはフレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、半導体メモリ等を用いることができる。なお、上記プログラムは管理端末２５０を動作させるためのプログラムとすることができる他、後述するディスク制御装置２００が磁気テープ装置４００を利用してデータを入出力する処理の指示を出すためにオペレータ等が使用するプログラムや、チャネル制御部２１０のアプリケーションプログラムのインストールやバージョンアップのためのプログラム等とすることもできる。記録媒体読取装置２５０４は管理端末２５０に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置２５０８は、例えばハードディスクドライブやフレキシブルディスクドライブ、半導体記憶装置等である。入力装置２５０５はオペレータ等による管理端末２５０へのデータ入力等のために用いられる。入力装置２５０５としては例えばキーボードやマウス等が用いられる。出力装置２５０６は情報を外部に出力するための装置である。出力装置２５０６としては例えばディスプレイやプリンタ等が用いられる。ポート２５０３は内部ＬＡＮ２６０に接続されており、これにより管理端末２５０はチャネル制御部２１０やディスク制御部２４０等と通信を行うことができる。またポート２５０３は、ＬＡＮ（Local Area Network）に接続するようにすることもできるし、電話回線に接続するようにすることもできる。
【００４３】
＝＝＝磁気テープ装置＝＝＝
ディスク制御装置２００には磁気テープ装置４００が通信可能に接続されている。磁気テープ装置４００とディスク制御装置２００とを接続する通信経路５０３は、例えばＥＳＣＯＮやＦＩＣＯＮ、ＳＣＳＩ等による接続形態となっている。磁気テープ装置４００は図１では、外部装置としディスク制御装置２００と通信可能に接続しているが、ディスク制御装置２００に内蔵する形態とすることもできる。また、磁気テープ装置４００は、例えば、複数の磁気テープを管理できる磁気テープライブラリ装置であってもよい。さらに、磁気テープ装置４００の代わりに光ディスクドライブ等の装置をディスク制御装置２００に接続する形態とすることもできる。
【００４４】
磁気テープ装置４００は、例えばＣＨＡ３（２１０）等の外部装置から受信したテープアクセス要求を受信すると、それに応じて、磁気テープの巻き取りや磁気テープに対するデータ入出力処理等を行う。データが記録された磁気テープは倉庫等へ保管されたり、情報処理装置間でデータを移行するために持ち運ばれたりされる。磁気テープの記憶容量はハードディスク等に比べて一般的に大容量であるが、近年は情報処理に使用されるデータの容量も大規模になってきており、１本の磁気テープではすべてのデータを記録することができないことも多い。その場合には、磁気テープを複数管理できる磁気テープライブラリ装置が用いられ、磁気テープライブラリ装置は複数の磁気テープにわたってデータを記録することで大容量のデータに対応する。
【００４５】
＝＝＝テープへのアクセス＝＝＝
磁気テープ装置４００へのデータの入出力は、ハードディスク等の記憶装置に対するものとは異なり、記憶媒体のどこにデータを記憶するかという位置情報（アドレス）を持たない。例えば、ハードディスクへのアクセスでは、一般的にシリンダやトラックといった物理的あるいは論理的なディスク上での位置を示す情報を指定することによって、任意の位置に記憶されたデータを読み取ることができるが、テープへのアクセスでは、磁気テープ上の磁気ヘッドが位置している場所のデータを読み取ることしかできない。そのため、磁気テープからのデータ読み込みや磁気テープへのデータ書き込み等のデータ入出力用のコマンドに加え、磁気ヘッドの位置を調節するためのコマンドがある。
【００４６】
磁気テープには、磁気テープの読み書き可能な範囲を示すために、先頭（ＢＯＴ：Beginning Of Tape）と終端（ＥＯＴ：End Of Tape）を示すマークが付されている。このＢＯＴからＥＯＴまでの間がデータを記録することができる範囲となる。そして、磁気テープ装置４００の備える磁気ヘッドが磁気テープ上の上記記録することができる範囲にデータを記録する。磁気ヘッドが一度に記録するデータ、つまり磁気テープに対する入出力の単位がレコードである。
【００４７】
磁気テープ装置４００が磁気テープの巻き取りを開始してから一定の速度になるまでの時間は、磁気テープ装置４００はデータを記録しないようになっている。そのため、磁気テープにはこの時間の間に巻き取られた長さ分だけ何も記録されない部分が存在することになる。この何も記録されない部分がＩＲＧ（Inter Record Gap）である。ＩＲＧが多くなると、磁気テープ上に何も記録されない部分が増えてしまい、好ましくない。そこで一般的な磁気テープ装置４００では、複数のレコードをまとめて磁気テープに対して記録するようなしくみがとられている。このまとめたレコードがブロックである。ブロックとブロックの間にもＩＲＧと同様に、何も記録されない部分が存在する。この何も記録されない部分がＩＢＧ（Inter Block Gap）である。
【００４８】
磁気テープ装置４００ではブロック単位でデータの読み書きが行われるが、一般的に、磁気テープ装置４００に対して入出力されるデータはファイルとして認識されている。磁気テープ装置４００は特別な記号であるテープマーク（ＴＭ：Tape Mark）を磁気テープに記録することができるので、このテープマークをファイルの区切りとすることで、例えばＣＨＡ３（２１０）等の外部装置はブロック群をファイルとして認識することができる。
【００４９】
また、テープマークが２つ連続して記録されていることをもって、例えばＣＨＡ３（２１０）等の外部装置は磁気ヘッドがＥＯＴに達するよりも前に磁気テープに記録したデータが最終であることを認識することができる。
【００５０】
上記のようにして、磁気テープ装置４００はブロック単位とファイル単位すなわちテープマーク単位で磁気テープへアクセスすることが可能となっている。
【００５１】
磁気テープ装置４００はＣＨＡ３（２１０）等の外部装置からテープアクセス要求を受信すると、受信したコマンドに応じて磁気テープに対するデータの入出力を行ったり、磁気テープを巻き取ることによって、データを入出力する位置（以下、記録位置と称する）の調整等を行う。テープアクセス要求には、例えば、磁気テープへデータを書き込むＷＲ（WRite）コマンド、磁気テープへテープマークを書き込むＷＲＴＭ（WRite Tape Mark）コマンド、ＥＯＴ方向に向けて磁気テープからデータを読み込むＲＤ（ReaD）コマンド、ＢＯＴ方向に向けて磁気テープからデータを読み込むＲＤ−ＢＡＣＫＷＡＲＤ（ReaD BACKWARD）コマンド、記録位置をＥＯＴ方向へ１ブロック分進めるＦＳＢ（Forward Space Block）コマンド、記録位置をＢＯＴ方向へ１ブロック分進めるＢＳＢ（Back Space Block）コマンド、記録されたテープマークが見つかるまで記録位置をＥＯＴ方向へ進めるＦＳＦ（Forward Space File）コマンド、記録されたテープマークがみつかるまで記録位置をＢＯＴ方向へ進めるＢＳＦ（Back Space File）コマンド等がある。
【００５２】
＝＝＝テープアクセス要求＝＝＝
まず、磁気テープへのデータの記録について説明する。  
図４は磁気テープへのデータの書き込みを示す説明図である。この図では、ＢＯＴ４１１とＥＯＴ４１７の間がデータを記録することが可能であって、磁気テープには既にＴＭｎ（４１２）、データｍ（４１３）、データｍ＋１（４１４）が記録されており、ヘッド位置４０１に磁気ヘッドが位置している。ヘッド位置はすなわちＩＢＧとなる位置である。ここで磁気テープ装置４００はＷＲコマンドとともに、記録するためのデータである書き込みデータを受信すると、磁気ヘッドを走査させ、データｍ＋２（４１５）部分に、受信した書き込みデータを記録する。この時点で磁気ヘッドはヘッド位置４０２に移動している（ＷＲ４２１）。また、さらに磁気テープ装置４００がＷＲＴＭコマンドを受信すると、ＴＭｎ＋１（４０３）にテープマークを記録し、磁気ヘッドはヘッド位置４０３に移動している（ＷＲＴＭ４２２）。このようにして、磁気テープ装置４００は磁気ヘッドがＥＯＴ４１７に達するまで、磁気ヘッドを走査させデータを記録していくことができる。
【００５３】
データを記録すると順次磁気ヘッドがＢＯＴ４１１からＥＯＴ４１７方向に進んで行く。しかし、ときには既に書き込んだデータを上書きしたいこともある。そのようなときには、磁気テープ装置はＩＢＧやテープマークを目印に磁気テープの頭出しをする必要がある。磁気テープ装置において磁気テープの頭出しすなわち磁気ヘッドの移動は、上述したように、ブロック単位もしくはテープマークで区切られたファイル単位で行われる。
【００５４】
図５は磁気ヘッドの頭出しを表した説明図である。  
磁気テープ装置４００は、磁気ヘッドがヘッド位置４０１に位置しているときに、ＦＳＢコマンドを受信すると、磁気テープを巻き取り、ヘッド位置４０２に磁気ヘッドを移動させる（ＦＳＢ４３１）。同様に、磁気テープ装置４００は、磁気ヘッドがヘッド位置４０１に位置しているときにＢＳＢコマンドを受信すると、磁気ヘッドはヘッド位置４０４に位置する（ＢＳＢ４３２）。磁気テープ装置４００はＢＳＢコマンドを２回受信すると、ヘッド位置４０２に位置する磁気ヘッドをヘッド位置４０５に移動する。
【００５５】
一方ファイル単位の移動では、磁気テープ装置４００は磁気ヘッドにブロック単位の移動を繰り返させながら、記録された内容を読み取り、区切りとなるテープマークを検索する。例えば磁気テープ装置４００がＦＳＦコマンドを受信した場合、磁気ヘッドはヘッド位置４０３に位置することになる（ＦＳＦ４４１）。上述したように、ファイルの区切りはテープマークであるため、磁気テープ装置４００はＦＳＦコマンドやＢＳＦコマンドを受信すると、テープマークを見つけるまで、命令された方向（ＦＳＦではＥＯＴ方向、ＢＳＢではＢＯＴ方向）に磁気ヘッドを移動するように、磁気テープを巻き取る。そのため、磁気テープ装置４００がＦＳＦコマンドを受信して磁気ヘッドを移動させる先は、ヘッド位置４０１からＥＯＴ方向に向けて最初のテープマークであるＴＭｎ＋１（４１６）が見つかった直後のＩＢＧであるヘッド位置４０３になる。逆に磁気テープ装置４００が受信するのがＢＳＦコマンドであった場合には、磁気ヘッドの位置はヘッド位置４０６となる（ＢＳＦ４４２）。
【００５６】
図６は磁気テープに記録されたデータの読み取りを表した説明図である。磁気テープに記録されているデータの読み取りに使われるコマンドには、例えば、ＲＤコマンドやＲＤ−ＢＡＣＫＷＡＲＤコマンドがある。磁気テープに記録されているデータの読み取りは、上述した磁気テープへの記録と同様にして、磁気テープ装置が磁気ヘッドを走査させ、磁気テープに記録されているデータを読み取る（ＲＤ４５１）。逆に磁気テープ装置はＲＤ−ＢＡＣＫＷＡＲＤコマンドを受信すると、磁気ヘッドが位置しているヘッド位置からＢＯＴ方向に向かって１ブロック分のデータを読み取り（ＲＤ−ＢＡＣＫＷＡＲＤ４５２）、読み取った１ブロック分のデータの内容を逆順に並べ替える等の処理を行う。
【００５７】
＝＝＝磁気テープライブラリ装置エミュレーション＝＝＝
まず、テープエミュレーションについて説明する。本実施の形態においてディスク制御装置２００は、磁気テープ装置の中でも磁気テープライブラリ装置をエミュレートする。
【００５８】
上述したように、磁気テープへのアクセスは、磁気テープ装置が備える磁気ヘッドの位置に基づいてシーケンシャルに行われる。しかし、磁気ヘッドが磁気テープを走査する速度は比較的遅い。しかも、近年は情報処理装置に使用されるデータは爆発的に増加している。そのため、大量のデータを磁気テープへバックアップしたデータを磁気テープからリストアしたりする時間は無視できなくなっている。バックアップやリストアにかかる時間が長すぎると、情報処理装置が本来提供すべき情報処理サービス等の業務に支障がでるおそれがあるからである。
【００５９】
そこで、本実施の形態では、ディスク制御装置２００がホストコンピュータ１００が磁気テープ装置に対して行うデータ入出力をエミュレートし（テープエミュレーション）、磁気テープ装置に対するデータ入出力要求を解釈しながら、磁気テープに比べて高速なハードディスク等であるディスクドライブ３００への入出力に変換する。これにより、ホストコンピュータ１００上で動作するアプリケーションプログラムやジョブ制御文等を変更することなく、ホストコンピュータ１００から磁気テープに対するデータ入出力は高速化されることになる。
【００６０】
一般的に、磁気テープライブラリ装置においては、複数の磁気テープを管理する収納庫と、その収納部に格納された磁気テープを磁気ヘッド装置や媒体の排出口等へ運ぶアクセサを備える。アクセサとはロボット等である。磁気テープライブラリ装置に通信可能に接続する情報処理装置等から、磁気テープライブラリ装置に対して磁気テープを排出するコマンドを送信し、磁気テープライブラリ装置がこのコマンドを受信すると、磁気テープライブラリ装置は前記アクセサを動作させ、アクセサが磁気テープを排出口へ運搬することによって磁気テープの排出処理を行う。また、磁気テープライブラリ装置が磁気テープを投入するコマンドを受信すると、磁気テープの投入口に挿入された磁気テープは磁気テープ収納庫までアクセサによって運搬され、投入された磁気テープを磁気テープライブラリ装置の管理下に置く。
【００６１】
例えば、ホストコンピュータ１００上で動作するアプリケーションプログラムやジョブ制御文が、大規模なデータを取り扱うことを前提とし、このような磁気テープライブラリ装置に対するデータ入出力要求を送信するようになっていたとしても、本発明によるディスク制御装置２００は、ホストコンピュータ１００上で動作するアプリケーションプログラムやジョブ制御文に変更を加えることなく、ホストコンピュータ１００からの磁気テープライブラリ装置に対するデータ入出力要求を受信できる。
【００６２】
＝＝＝テープ情報テーブル＝＝＝
図７は、テープエミュレーションに用いられるテープ情報テーブル６００である。テープ情報テーブル６００は、収納位置情報６０１、テープ識別情報６０２、論理ユニット情報６０３、ＢＯＴ位置情報６０４、ＥＯＴ位置情報６０５、ダブルＴＭ位置情報６０６、ＴＭ位置情報６０７を備える。
【００６３】
磁気テープライブラリ装置には複数の磁気テープが収納庫に格納される。この収納庫内で格納される位置を示したのが収納位置６０１である。磁気テープの数はディスクドライブ３００に記録できる範囲であれば、いくつであってもよい。ハードディスク等のディスクドライブでは、収納位置という概念を持たないため、ディスク制御装置２００はテープ情報テーブル６００に収納位置６０１を管理する。
【００６４】
磁気テープライブラリ装置の収納庫に格納される磁気テープはそれぞれに識別情報が付与され、収納庫内で一意のものとして判別できるようになっている。この識別情報がテープ識別情報６０２である。ディスク制御装置２００は磁気テープを一意に決定することによって、ホストコンピュータ１００から送信されるデータ入出力が、複数の磁気テープのうちどの磁気テープに対するものかを判別することが可能となる。磁気テープを識別する情報としては、例えば、磁気テープボリュームに設定されるボリュームシリアル番号等がある。
【００６５】
論理ユニット情報６０３は、ディスクドライブ３００に設定されている論理ユニットを指定する項目である。ホストコンピュータ１００から磁気テープ装置に対するデータ入出力要求は、ディスク制御装置２００によって、ディスクドライブ３００に設定される論理ユニットへのデータ入出力に変換される。ディスクドライブ３００には複数の論理ユニットを設定することができるため、この論理ユニット群のうちどの論理ユニットを使うかを、論理ユニット情報６０３に設定する。
【００６６】
ＢＯＴ位置情報６０４及びＥＯＴ位置情報６０５は、磁気テープの記録可能な範囲を示すＢＯＴ及びＥＯＴの代わりに、ディスクドライブ３００の論理ユニット上でデータの記憶可能な範囲を示す。この指定は磁気ディスクのシリンダ番号とヘッド番号（以下、ＣＣＨＨと称する）で行う。
【００６７】
ダブルＴＭ位置情報６０６は、後述するＴＭ位置情報６０７群のうち、２つ連続して記録されたものを示す項目である。テープマークが２つ連続するということは、一般的に磁気テープの記録されたデータの中で最終のデータであることを示す。ＴＭ位置情報６０７群は、磁気テープが特別な記号として記録するテープマークを、論理ユニットのどの位置に記録したかを管理する。論理ユニット上の位置は例えばＣＣＨＨで指定する。
【００６８】
上記の内容を持つテープ情報テーブル６００によって、磁気テープの識別情報と、ディスクドライブ３００上での論理ユニットとが対応づけられる。従って、ホストコンピュータ１００がデータ入出力の対象とする磁気テープ上でデータを記録をする位置と、ディスク制御装置２００がデータ入出力の対象とするディスクドライブ３００上でデータを記録する位置とが対応づけられることとなる。
【００６９】
＝＝＝デッキ情報テーブル＝＝＝
磁気テープライブラリ装置には、複数の磁気ヘッドを駆動する装置（デッキ）を備え、複数の磁気テープを同時にアクセスすることが可能になっているものがある。ホストコンピュータ１００が磁気テープライブラリ装置に対してアクセスを行うときの一連の処理は、特定のデッキに対して特定の磁気テープをマウントするように要求し、磁気ヘッドの移動やデータの入出力の要求を行い、アンマウントを要求するという流れになる。磁気テープライブラリ装置に送信されるコマンドはデッキを指定したものとなる。ディスク制御装置２００のチャネル制御部２１０は、ホストコンピュータ１００がデッキを指定して送信したテープアクセス要求を解釈してデータ入出力の対象となる磁気テープを特定できるように、デッキと磁気テープの識別情報とを対応づけて記憶する。
【００７０】
また、磁気テープ上でデータを読み書きする位置は、複数のテープアクセス要求間で相対的に指定されることがある。例えば、チャネル制御部２１０が２つの磁気テープへの書き込みを要求するテープアクセス要求群を受信した場合に、最初のテープアクセス要求では、磁気テープの先頭から書き始めるように指定され、また２番目のテープアクセス要求では、最初のテープアクセス要求で行われた書き込みが終了した位置から書き始めるように指定される、といったことがある。ディスク制御装置２００では、ホストコンピュータ１００から送信されるこのようなアクセスに対応するため、磁気ディスク上でデータの入出力が完了した位置を記憶しておく。
【００７１】
図８は、デッキと磁気テープとの対応、及びデッキ毎に磁気テープ上でデータ入出力が完了した位置を記憶しておくためのテーブルである。デッキ情報テーブル７００では、デッキを識別する情報を管理するデッキ識別情報７０１に対応づけて、磁気テープを識別する情報をテープ識別情報７０２に、またデータ入出力が完了した位置をヘッド位置情報７０３に記憶する。  
ヘッド位置情報７０３に設定する値は、例えば、シリンダ番号とヘッド番号にレコード番号を付加したもの（以下、ＣＣＨＨＲと称する）である。
【００７２】
なお、テープ情報テーブル６００のＢＯＴ位置情報６０４やＴＭ位置情報６０７等に指定されるＣＣＨＨ、またデッキ情報テーブル７００のヘッド位置情報７０３に指定されるＣＣＨＨＲは、一般的なハードディスク等のディスクドライブ上でのアドレス方法を前提としているが、特にこれに限定するものではない。すなわちディスクドライブ上の位置を指定することができる情報であればよい。
【００７３】
上述したテープ情報テーブル６００と、上記デッキ情報テーブル７００とに管理するデータによって、チャネル制御部２１０は磁気テープ上でデータを記録する位置を、ディスクドライブ３００上での位置情報に対応付けて管理することができる。
【００７４】
＝＝＝論理ユニット上での記憶方法について＝＝＝
図９は、ディスクドライブ３００に設定された論理ユニット上でのデータ記録を表現した模式図である。図９ではセグメントに分かれた論理ユニット上の領域に、カウント部（Ｃ）、実データ、ＥＲＡＳＥ情報（Ｅ）が記録されている。
【００７５】
図１０にカウント部の内容を示す。カウント部はシリンダ番号９０１、ヘッド番号９０２、レコード番号９０３、実データの長さ９０４を備える。シリンダ番号９０１、ヘッド番号９０２、及びレコード番号９０３は、一般的なハードディスク等のディスクドライブで記録位置を決定するものであり、本実施の形態においては論理ユニット上での位置を示すアドレスである。実データの長さ９０４は、カウント部の後に続く実データの長さを特定するものである。
【００７６】
図９に戻り、セグメント８０１は、論理ディスク上のシリンダ０・ヘッド０に位置するセグメントである。またセグメント８０２は、シリンダｊ・ヘッドｋに位置するセグメントである。同様にして、セグメント８０５までのセグメントがシリンダ及びヘッドによって指定されている。
【００７７】
セグメント８０１及び８０５は何も記録されていない空のセグメントである。この空のセグメントによってチャネル制御部２１０はＢＯＴもしくはＥＯＴを識別する。セグメント８０２には、カウント部８１１、カウント部８１２、実データ８１３が並んで記録されている。カウント部８１１はテープマークを表している。テープマークを表現するカウント部は、例えば図１０の実データの長さ９０４にゼロ（０）を指定する等によって識別することができる。カウント部８１２と実データｍ（８１３）とがペアになり、磁気テープ上で１ブロックに相当するデータを表すレコードとなっている。ここでカウント部８１２の内容は、例えばシリンダ番号９０１に「ｊ」、ヘッド番号９０２に「ｋ」、レコード番号９０３に「２」が入る。カウント部８１４及び実データｍ＋１（８１５）のペアも同様に、磁気テープ上で１ブロック分となるデータを記録している。ＥＲＡＳＥ情報８１６は、ＥＲＡＳＥ情報８１６が記録されているセグメント８０２のＥＲＡＳＥ情報８１６以降にはデータがないことを示す特別なカウント部である。ＥＲＡＳＥ情報は例えば、図１０の全ての欄をＦＦ（１６進）にしたものとすることによって識別することができる。
【００７８】
＝＝＝磁気テープのマウント・リワインド・アンマウント処理＝＝＝
次に、ホストコンピュータ１００が磁気テープライブラリ装置に対してデータの入出力を行う際の処理に従って、ディスク制御装置２００のチャネル制御部２１０の動作を説明する。図１１はホストコンピュータ１００が磁気テープに対してデータ入出力を行うときの処理の流れを示すフローチャートである。磁気テープをデッキにマウントすることを要求するコマンドであるマウント要求を受け付け（S11001）、磁気テープに対するデータ入出力コマンドを受け付け（S11002）、磁気テープを巻き戻す（リワインド）要求を受け付け（S11003）、アンマウント要求を受け付ける（S11004）。次に各々の処理について説明していく。
【００７９】
図１２は、上記マウント処理の流れを示すフローチャートである。  
チャネル制御部２１０は、ホストコンピュータ１００からマウント要求を受信する（S12001）。マウント要求にはデッキを指定する情報であるデッキ識別情報と、磁気テープを指定する情報であるテープ識別情報とが指定されている。デッキ情報テーブル７００の、指定されたデッキ識別情報に対応するテープ識別情報７０２に、指定されたテープ識別情報を設定する（S12002）。次にテープ情報テーブル６００より、指定されたテープ識別情報に対応するＢＯＴ位置情報６０４を取得する（S12003）。このＢＯＴ位置情報６０４に指定される論理ユニット上でのＣＣＨＨを１増やしたものが示すセグメントを、データの記録を開始するセグメントとする。さらに、ＢＯＴ位置情報６０４のレコード番号は１として、データ記録を開始するアドレスをＣＣＨＨＲの表現とする。こうして算出されるＣＣＨＨＲ（ＣＣＨＨ部分はＢＯＴ位置＋１、Ｒ部分は１）を、デッキ情報テーブル７００の指定されたデッキ識別情報に対応するヘッド位置情報７０３に設定する（S12004）。ここまでの設定が終わると、ホストコンピュータ１００へマウント完了の通知を行う（S12005）。
【００８０】
チャネル制御部２１０がアンマウント要求を受信した場合は、指定されたデッキに対応するデッキ情報テーブル７００の項目を削除することでアンマウント処理は完了し、ホストコンピュータ１００へアンマウント完了通知を行う。
【００８１】
リワインド要求は磁気テープを先頭まで巻き戻す命令である。磁気テープの先頭はＢＯＴで指定されるため、前記マウント処理と同様に、ＢＯＴ位置で示される論理ユニット上のセグメントの次（＋１）に位置するセグメントをデッキ情報テーブル７００のヘッド位置情報７０３に設定する。この設定がなされることで処理は完了する。
【００８２】
図１３は、リワインド要求に応じてチャネル制御部２１０で行われる処理の流れを示すフローチャートである。  
チャネル制御部２１０がホストコンピュータ１００からリワインド要求を受信し（S13001）、テープ情報テーブル６００より、前記リワインド要求に指定されていたテープ識別情報に対応する、ＢＯＴ位置情報６０４を取得する（S13002）。このＢＯＴ位置情報６０４に指定される論理ユニット上でのＣＣＨＨを１増やしたものと、レコード番号１とで表現されるＣＣＨＨＲを、デッキ情報テーブル７００の指定されたデッキのヘッド位置情報７０３に設定する（S13003）。設定が終わればホストコンピュータ１００へリワインド完了の通知を行う（S13004）。
【００８３】
このようにして、ディスク制御装置２００は、ホストコンピュータ１００上で動作するアプリケーションプログラムやジョブ制御文等に変更を加えることなく、ホストコンピュータ１００からマウント要求を受信することができる。
【００８４】
＝＝＝磁気テープ書き込み処理＝＝＝
次に磁気テープに対するデータ入出力処理のひとつである、磁気テープへのデータ書き込み処理を説明する。図１４はディスク制御装置２００のチャネル制御部２１０がホストコンピュータ１００からＷＲコマンドを受信した場合の処理の流れを示すフローチャートである。
【００８５】
ホストコンピュータ１００は磁気テープに１ブロック分のデータを書き込むために、ディスク制御装置２００に対してＷＲコマンドとともに書き込み用データを送信する。ＷＲコマンドにはデッキを指定する識別情報が指定されている。チャネル制御部２１０は、それらを受信すると、受信したＷＲコマンドに指定されているデッキに対応するテープ識別情報７０１と、ヘッド位置情報７０３とをデッキ情報テーブル７００から取得する（S14001）。またテープ情報テーブル６００から、テープ識別情報７０１に対応するデータを取得する。こうして、チャネル制御部２１０はＷＲコマンドに指定されたデッキを指定する識別情報を、磁気テープ上の位置を特定するための情報として利用することができ、この磁気テープ上の位置に対応するディスクドライブ３００上の位置を取得して、ディスク制御コマンドを生成することができる。
【００８６】
そして、テープ情報テーブル６００の論理ユニット情報６０３とデッキ情報テーブル７００のヘッド位置情報７０３のＣＣＨＨとが示すディスクドライブ３００上に設定された論理ユニット上のセグメント（以下、ヘッド位置セグメントと称する）がキャッシュメモリ２３０上にステージングされているかどうかを判定する（S14002）。キャッシュメモリ２３０上に前記のヘッド位置セグメントがステージングされていなければ（S14002：NO）、ヘッド位置セグメントをキャッシュメモリ２３０上に確保し（S14003）、ディスクドライブ３００に設定された論理ユニットからヘッド位置セグメントに対応するデータをキャッシュメモリ２３０上にステージングする（S14004）。次にキャッシュメモリ２３０上にステージングされたセグメント内の空き容量と、ＷＲコマンドによって書き込まれるデータ量とを比較する（S14005）。キャッシュメモリ２３０上にステージングされたセグメントの空き容量がＷＲコマンドによって書き込まれるデータ量に比べて少ない場合（S14005：空きがない）には、ヘッド位置情報７０３に設定されているアドレス（以下、ヘッド位置アドレスと称する）にＥＲＡＳＥ情報を書き込み（S14006）、ヘッド位置情報７０３に設定されているＣＣＨＨＲのうちＣＣＨＨを１増やしレコード番号（Ｒ）は１にしたものを、ヘッド位置情報７０３に設定する（S14007）。次にヘッド位置情報７０３のＣＣＨＨと、テープ情報テーブル６００のＥＯＴ位置情報６０５との比較を行い（S14008）、アドレスが一致した場合（S14008：一致）には、書き込みが不可能ということになり、チャネル制御部２１０はホストコンピュータ１００にテープが終了した旨の応答を返す（S14009）。ヘッド位置情報７０３のＣＣＨＨがテープ情報テーブル６００のＥＯＴ位置情報６０５と一致しない場合（S14008：不一致）には、書き込みが可能ということであるので、ＷＲデータ書き込み用のセグメントとして、ヘッド位置セグメントをキャッシュメモリ２３０上に確保する（S14010）。そしてヘッド位置アドレスにカウント部を作成し（S14011）、書き込みデータをキャッシュメモリ２３０に格納する（S14012）。チャネル制御部２１０はホストコンピュータ１００に正常終了を返し（S14013）、ヘッド位置情報７０３のレコード番号（Ｒ）をひとつ増やす（S14014）。
【００８７】
なお、データの書き込みは、磁気テープに書き込むデータをそのままディスクドライブ３００に記録するようにしてもよい。
【００８８】
また、チャネル制御部２１０は圧縮機構２１０３を利用して、書き込むデータを圧縮することもできる。圧縮機構２１０３で使用される圧縮のアルゴリズムは、例えばランレングス符号化やハフマン符号化、ＬＺ７８符号化といったものを利用することができる。  
これにより、ディスク制御装置２００は、より効果的にデータを記録することが可能となる。
【００８９】
また、ディスク制御装置２００は、磁気テープ装置４００が磁気テープにデータの書き込みを行う際に書き込むデータに対して圧縮を行うのと同じように、ディスクドライブ３００に書き込むデータを圧縮する。そうすることで、ディスク制御装置２００は、リモートコピーの機能を用いてディスクドライブ３００のデータを磁気テープ装置４００が制御する磁気テープへコピーする場合に、ディスクドライブ３００に書き込まれたデータを何ら変換ロジックを介さずそのままコピーすることができる。
【００９０】
＝＝＝テープマーク書き込み処理＝＝＝
テープマークを書き込む処理（ＷＲＴＭコマンド）について説明する。図１５はディスク制御装置２００のチャネル制御部２１０がテープマークを書き込む際に行う処理の流れを示すフローチャートである。
【００９１】
ホストコンピュータ１００から送信されるＷＲＴＭコマンドにはデッキを指定する識別情報が指定されている。チャネル制御部２１０はＷＲＴＭコマンドを受信すると、受信したＷＲＴＭコマンドに指定されるデッキに対応するテープ識別情報７０１と、ヘッド位置情報７０３とをデッキ情報テーブル７００から取得する（S15001）。またテープ情報テーブル６００から、テープ識別情報７０１に対応するデータを取得する。次にヘッド位置セグメントがキャッシュメモリ２３０上にステージングされているかどうかを判定する（S15002）。前記論理ユニット上のセグメントがキャッシュメモリ２３０上にステージングされていなければ（S15002：NO）、ヘッド位置セグメントをキャッシュメモリ２３０上に確保し（S15003）、論理ユニットからヘッド位置セグメントに対応するデータをキャッシュメモリ２３０上にステージングする（S15004）。そして、ヘッド位置アドレスにＥＲＡＳＥ情報を書き込み（S15005）、ヘッド位置情報７０３に設定されているアドレスのうちＣＣＨＨを１増やし、レコード番号（Ｒ）は１にしたものを、ヘッド位置情報７０３に再度設定する（S15006）。次にヘッド位置情報７０３のＣＣＨＨとテープ情報テーブル６００のＥＯＴ位置情報６０５との比較を行い（S15007）、一致した場合（S15007：一致）には書き込みが不可能ということになり、チャネル制御部２１０はホストコンピュータ１００にテープが終了した旨の応答を返す（S15008）。ヘッド位置情報７０３のＣＣＨＨとテープ情報テーブル６００のＥＯＴ位置情報６０５とが一致しない場合（S15007：不一致）には、書き込みが可能ということであるので、ヘッド位置セグメントをキャッシュメモリ２３０上に確保する（S15009）。そしてヘッド位置アドレスに実データの長さゼロ（０）としてカウント部を作成する（S15010）。上述したように、本実施の形態では実データ長がゼロ（０）であるカウント部はテープマークを表現することになる。つまり、テープマークの書き込みが実現されたことになる。チャネル制御部２１０はホストコンピュータ１００に正常終了を返し（S15011）、ヘッド位置情報７０３のレコード番号（Ｒ）をひとつ増やす（S15012）。
【００９２】
＝＝＝磁気テープ読み込み処理＝＝＝
磁気テープからの読み込み処理を説明する。図１６はディスク制御装置２００のチャネル制御部２１０がホストコンピュータ１００からＲＤコマンドを受信した場合の処理の流れを示すフローチャートである。
【００９３】
ホストコンピュータ１００は磁気テープからデータを読み込むために、ＲＤコマンドをディスク制御装置２００へ送信する。ＲＤコマンドにはデッキを指定する識別情報と、読み込むデータ長とが指定されている。チャネル制御部２１０はＲＤコマンドを受信すると、デッキ情報テーブル７００から、受信したＲＤコマンドに指定されているデッキに対応するテープ識別情報７０１とヘッド位置情報７０３とを取得する（S16001）。また、テープ情報テーブル６００から、テープ識別情報７０１に対応する情報を取得する。次に、ヘッド位置セグメントが、キャッシュメモリ２３０上にステージングされているかどうかを判定する（S16002）。この論理ユニット上のセグメントがキャッシュメモリ２３０上にステージングされていなければ（S16002：NO）、ヘッド位置セグメントをキャッシュメモリ２３０上に確保し（S16003）、論理ユニットからヘッド位置セグメントに対応するデータをキャッシュメモリ２３０上にステージングする（S16004）。
【００９４】
次に、ヘッド位置アドレスが示すレコードのカウント部が、ＥＲＡＳＥ情報かどうかを判定する（S16005）。前記のカウント部がＥＲＡＳＥ情報であった場合（S16005：YES）には、ヘッド位置情報７０３に設定されているアドレスのＣＣＨＨを１増やし、レコード番号（Ｒ）は１にしたものをヘッド位置情報７０３に再度設定する（S16006）。ここで設定したヘッド位置情報７０３のアドレスのＣＣＨＨと、テープ情報テーブル６００のＥＯＴ位置情報６０５に設定されたＣＣＨＨ、またはダブルＴＭ位置情報６０６が示すＴＭ位置情報６０７に設定されたＣＣＨＨと一致するかどうかを調べ（S16007）、どちらかと一致した場合（S16007：YES）には、データが終了したことを意味するため、磁気テープが終了した旨を示す応答をホストコンピュータ１００へ返し（S16008）処理を終了する。一方、どちらとも一致しない場合（S16007：NO）には、読み込み可能なデータが残っていることを示す。そこで次に、ヘッド位置セグメントがキャッシュメモリ２３０上に存在するかどうかを調べ（S16009）、存在していなければ（S16009：NO）、ヘッド位置セグメントをキャッシュメモリ２３０上に確保し（S16010）、論理ユニットからヘッド位置セグメントに対応するデータをステージングする（S16011）。そして、ヘッド位置アドレスが示すレコードのカウント部がテープマークであるかどうかを判定する（S16012）。前記カウント部がテープマークであった場合（S16012：YES）には、ホストコンピュータ１００へテープマークであることを示す応答を返し、ヘッド位置情報７０３のレコード番号を１増やす（S16013）。前記のレコードのカウント部がテープマークではなかった場合（S16012：NO）には、（S16014）に進む。
【００９５】
次に、ヘッド位置アドレスが示すレコードから、ホストコンピュータ１００にデータを転送する（S16014）。ホストコンピュータ１００に転送されたデータのデータ長と、ホストコンピュータ１００から受信したＲＤコマンドに指定されたデータ長とが等しくない場合（S16015：NO）には、ホストコンピュータ１００に対して、ＲＤコマンドで指定されたデータ長が不正であった旨を示す応答を返し（S16016）、処理を終了する。一方ホストコンピュータ１００に転送されたデータのデータ長と、ＲＤコマンドで指定されたデータ長とが等しい場合（S16015：YES）には、ホストコンピュータ１００に対して正常終了を示す応答を返し（S16017）、ヘッド位置情報７０３に設定されているアドレスのレコード番号を１増やす（S16018）。
【００９６】
このようにして、１ブロック分のデータの転送がチャネル制御部２１０からホストコンピュータ１００へ行われる。
【００９７】
なお、論理ユニットに対して書き込まれたデータが圧縮されたものである場合には、ＣＨＡ２（２１０）が備える圧縮機構２１０３によって、読み込んだデータを伸張する。
【００９８】
＝＝＝磁気テープ逆方向読み込み処理＝＝＝
磁気テープ装置に対するデータ入出力は、磁気テープの最初（ＢＯＴ）から磁気テープの終了（ＥＯＴ）方向に行われることが多いが、前記方向とは逆方向に向かって行われることもある。本発明においても、そのような動作を実現すべく、ディスク制御装置２００が逆方向へのデータ入出力に対応する。
【００９９】
図１７は、ディスク制御装置２００のチャネル制御部２１０がホストコンピュータ１００からＲＤ−ＢＡＣＫＷＡＲＤコマンドを受信した場合の処理の流れを示すフローチャートである。
【０１００】
ホストコンピュータ１００はＢＯＴへ向けての方向（逆方向）へ１ブロック分のデータを読み込むために、ＲＤ−ＢＡＣＫＷＡＲＤコマンドをディスク制御装置２００へ送信する。ＲＤ−ＢＡＣＫＷＡＲＤコマンドにはデッキを指定する識別情報が指定されている。チャネル制御部２１０はＲＤ−ＢＡＣＫＷＡＲＤコマンドを受信すると、デッキ情報テーブル７００から、受信したＲＤ−ＢＡＣＫＷＡＲＤコマンドに指定されているデッキに対応するテープ識別情報７０１とヘッド位置情報７０３とを取得する（S17001）。また、テープ情報テーブル６００からテープ識別情報７０１に対応する情報を取得する。
【０１０１】
ここでヘッド位置情報７０３に設定されているアドレスのレコード番号部分（Ｒ）が１の場合（S17002：YES）、ヘッド位置情報７０３に設定されているアドレスのＣＣＨＨを１減らす（S17003）。ここでＣＣＨＨを１減らしたヘッド位置情報７０３と、テープ情報テーブル６００のＢＯＴ位置情報６０４とを比較し（S17004）、一致していた場合（S17004：一致）は磁気テープの開始位置まで戻ったことを示す応答をホストコンピュータ１００へ返す（S17005）。ヘッド位置情報７０３に設定されているアドレスのＣＣＨＨが、テープ情報テーブル６００のＢＯＴ位置情報６０４と一致しない場合（S17004：不一致）には、ヘッド位置セグメントがキャッシュメモリ２３０上にステージングされているかどうかを判定する（S17006）。ヘッド位置セグメントがキャッシュメモリ２３０上にステージングされていなければ（S17006：NO）、ヘッド位置セグメントをキャッシュメモリ２３０上に確保し（S17007）、論理ユニットからヘッド位置セグメントに対応するデータをキャッシュメモリ２３０上にステージングする（S17008）。そしてヘッド位置情報７０３のレコード番号（Ｒ）部分には、上記セグメントの最終レコード番号を設定する（S17009）。
【０１０２】
一方、（S17002）においてデッキ情報テーブル７００のヘッド位置情報７０３に設定されているアドレスのレコード番号が１以外であった場合（S17002：NO）には、デッキ情報テーブル７００のヘッド位置情報７０３に設定されているアドレスのレコード番号を１減らす（S17010）。ここでデッキ情報テーブル７００のヘッド位置情報７０３に設定されているアドレスのＣＣＨＨと、テープ情報テーブル６００の論理ユニット情報６０３とが示す論理ユニット上のセグメントが、キャッシュメモリ２３０上にステージングされているかどうかを判定し（S17011）、存在しなければ（S17011：NO）、ヘッド位置セグメントをキャッシュメモリ２３０上に確保し（S17012）、論理ユニットからヘッド位置セグメントに対応するデータをキャッシュメモリ２３０上にステージングする（S17013）。
【０１０３】
次に、ヘッド位置アドレスが示すレコードのカウント部がテープマークであるかどうかを判定する（S17014）。前記カウント部がテープマークであった場合（S17014：YES）には、読み込んだデータがテープマークである旨の応答をホストコンピュータ１００に返して（S17015）処理を終了する。前記カウント部がテープマークでない場合（S17014：NO）には、前記カウント部に続く実データを読み込み、逆読み機構２１０２に、逆読みに対応するデータ形式へと変換させた後、ホストコンピュータ１００にデータを転送する（S17016）。ホストコンピュータ１００に転送されたデータのデータ長と、ＲＤ−ＢＡＣＫＷＡＲＤコマンドで指定されたデータ長とが等しくない場合（S17017：NO）には、ホストコンピュータ１００に対してＲＤ−ＢＡＣＫＷＡＲＤコマンドで指定されたデータ長が不正であった旨を示す応答を返し（S17018）、処理を終了する。一方ホストコンピュータ１００に転送されたデータのデータ長と、ホストコンピュータ１００から受信したＲＤ−ＢＡＣＫＷＡＲＤコマンドで指定されたデータ長とが等しい場合（S17017：YES）には、ホストコンピュータに対して正常終了を示す応答を返す（S17019）。
【０１０４】
なお、ＲＤ−ＢＡＣＫＷＡＲＤコマンドを受信した場合に、チャネル制御部２１０は、読み込みを開始する論理ディスク上のアドレスをあらかじめ計算しておくこともできる。すなわち、例えばヘッド位置情報７０３に設定されているアドレスから前記ＲＤ−ＢＡＣＫＷＡＲＤコマンドに指定されたデータ長を減算する等によって論理ディスク上のアドレスを求め、この求めたアドレスから正方向に読むようにできる。この計算は、ＣＨＡ２（２１０）が備える逆読み機構２１０２で行う。
【０１０５】
このようにディスク制御装置２００は、逆方向へのデータ入出力にも対応するため、ホストコンピュータ１００から送信されるテープアクセス要求が逆読みコマンドであったとしても、ホストコンピュータ１００の期待するデータを返すことが可能となる。
【０１０６】
＝＝＝ブロックスキップ処理＝＝＝
次に、ブロック単位で磁気ヘッドを移動させるコマンドに応じてディスク制御装置が行う処理について説明する。ブロック単位で磁気ヘッドを移動させるコマンドには、上述したように、ＢＯＴからＥＯＴに向けて順方向と逆方向とに、それぞれＦＳＢコマンドとＢＳＢコマンドとがある。
【０１０７】
まずＦＳＢコマンドについて説明する。図１８はＦＳＢコマンドに応じてディスク制御装置２００のチャネル制御部２１０が行う処理の流れを示すフローチャートである。ホストコンピュータ１００は順方向に１ブロック分磁気ヘッドを動かすように、ディスク制御装置２００に対してＦＳＢコマンドを送信する。ＦＳＢコマンドには、ディスク制御装置２００が複数備えるデッキのうちどのデッキに対して処理を行うかを指定するデッキの識別情報が含まれる。
【０１０８】
チャネル制御部２１０はＦＳＢコマンドを受信すると、受信したＦＳＢコマンドに指定されているデッキに対応するテープ識別情報７０１とヘッド位置情報７０３とをデッキ情報テーブル７００より取得する（S18001）。また、テープ情報テーブル６００から、前記テープ識別情報７０１に対応する情報を取得しておく。そして、ヘッド位置セグメントがキャッシュメモリ２３０上に存在するかどうかを調べる（S18002）。ヘッド位置セグメントがキャッシュメモリ２３０上に存在しない場合（S18002：NO）には、ヘッド位置セグメントをキャッシュメモリ２３０上に確保する（S18003）。
【０１０９】
次に、ヘッド位置アドレスが示すレコードのカウント部がＥＲＡＳＥ情報であるかどうかを判定する（S18004）。ＥＲＡＳＥ情報であった場合（S18004：YES）には、ヘッド位置情報７０３に設定されているアドレスのＣＣＨＨを１増やし（S18005）、レコード番号（Ｒ）を１に設定する（S18006）。ここでヘッド位置情報７０３に設定されたアドレスのＣＣＨＨと、テープ情報テーブル６００のＥＯＴ位置情報６０５、あるいはダブルＴＭ位置情報６０６が示すテープマークのＴＭ位置情報６０７とが一致するかどうかを調べ（S18007）、どちらかと一致するようであれば（S18007：YES）、テープ終了を示す応答をホストコンピュータ１００に返し（S18008）、処理を終了する。どちらとも一致しない場合（S18007：NO）には、（S18009）に進む。
【０１１０】
ここでヘッド位置情報７０３に設定されたアドレスのレコード番号を１増加させる（S18009）。ヘッド位置アドレスが示すレコードが１ブロック分のデータとなるため、磁気ヘッドの仮想的な位置を示すヘッド位置情報７０３に設定されたアドレスのレコード番号を１進めることで、仮想的に１ブロック移動したこととなる。そして、ホストコンピュータ１００に正常終了を示す応答を返す（S18010）。
【０１１１】
次にＢＳＢコマンドについて説明する。図１９はＢＳＢコマンドに応じてチャネル制御部２１０が行う処理の流れを示すフローチャートである。ホストコンピュータ１００は逆方向、すなわちＥＯＴからＢＯＴに向けた方向に１ブロック分磁気ヘッドを動かすように、ディスク制御装置２００に対してＢＳＢコマンドを送信する。ＢＳＢコマンドではどのデッキに対して処理を行うかを指定したデッキの識別情報が含まる。
【０１１２】
チャネル制御部２１０はＢＳＢコマンドを受信すると、受信したＢＳＢコマンドに指定されているデッキに対応するテープ識別情報７０１とヘッド位置情報７０３とをデッキ情報テーブル７００より取得する（S19001）。また、テープ情報テーブル６００から、前記テープ識別情報７０１に対応する情報を取得しておく。
【０１１３】
まずヘッド位置情報７０３に設定されているアドレスのレコード番号（Ｒ）が１であるかどうかを判定する（S19002）。ヘッド位置情報７０３に設定されているアドレスのレコード番号が１でなければ（S19002：NO）、ヘッド位置情報のレコード番号を１減らし（S19003）、（S19001）へ進む。
【０１１４】
ヘッド位置情報７０３に設定されているアドレスのレコード番号が１であった場合（S19002：YES）には、ヘッド位置情報７０３に設定されているアドレスのＣＣＨＨを１減らす（S19004）。ここでＣＣＨＨを１減らしてヘッド位置情報７０３に設定されたアドレスのＣＣＨＨと、テープ情報テーブル６００のＢＯＴ位置情報６０４とが一致するかどうかを調べる（S19005）。ヘッド位置情報に設定されているアドレスのＣＣＨＨとＢＯＴ位置情報とが一致した場合（S19005：YES）には、磁気ヘッドが磁気テープの先頭に来てしまい、１ブロック分ＢＯＴ方向に進めることができない状態を意味するため、テープの先頭を示す応答をホストコンピュータ１００に返し（S19006）、処理を終了する。一方、ヘッド位置情報７０３に設定されたアドレスのＣＣＨＨとＢＯＴ位置情報６０４に設定されているＣＣＨＨとが一致しない場合（S19005：NO）は、ヘッド位置セグメントがキャッシュメモリ２３０上に存在するかどうかを調べる（S19007）。キャッシュメモリ２３０上に存在しない場合（S19007：NO）には、ヘッド位置セグメントをキャッシュメモリ２３０上に確保し、ディスクドライブ３００に設定されている論理ユニットからヘッド位置セグメントに対応するデータをステージングする（S19009）。次にヘッド位置セグメントの最終レコードの番号を、ヘッド位置情報７０３のレコード番号へ設定する（S19010）。そして、正常終了を示す応答をホストコンピュータ１００に返す（S19011）。
【０１１５】
＝＝＝ファイルスキップ処理＝＝＝
次に、ファイル単位で磁気ヘッドを移動させるコマンドに応じてディスク制御装置２００のチャネル制御部２１０が行う処理について説明する。ファイル単位で磁気ヘッドを移動させるコマンドには、上述したように、ＢＯＴからＥＯＴに向けて順方向と逆方向とに、それぞれＦＳＦコマンドとＢＳＦコマンドとがある。
【０１１６】
まずＦＳＦコマンドについて説明する。図２０はＦＳＦコマンドに応じでチャネル制御部２１０が行う処理の流れを示すフローチャートである。ホストコンピュータ１００は磁気テープに記録されるテープマークを区切りとしてファイルを認識するため、ＦＳＦコマンドによって進める磁気ヘッドの位置は、次にテープマークが見つかるところである。ＦＳＦコマンドには、ディスク制御装置２００が備える複数のデッキのうちどのデッキに対して処理を行うかを指定するデッキの識別情報が含まれる。
【０１１７】
チャネル制御部２１０はＦＳＦコマンドを受信すると、受信したＦＳＦコマンドに指定されているデッキに対応するテープ識別情報７０１とヘッド位置情報７０３とをデッキ情報テーブル７００より取得する（S20001）。取得したテープ識別情報７０１に対応するテープ情報テーブル６００上のテープマーク位置を示すＴＭ位置情報６０７群に対して、デッキ情報テーブル７００のヘッド位置情報７０３に設定されたアドレスのＣＣＨＨよりも大きいＣＣＨＨを持つＴＭ位置情報６０７を検出するまで、ＴＭ位置情報１（６０７）からＴＭ位置情報ｍｍ（６０７）に向けて、順次検査をする（S20002）。ヘッド位置情報７０３に設定されたアドレスのＣＣＨＨよりも大きいＣＣＨＨを持つＴＭ位置情報６０７を検出できなかった場合（S20003：NO）は、テープ終了を示す応答をホストコンピュータ１００へ返し（S20004）、処理を終了する。前記ＴＭ位置情報６０７が検出された場合（S20003：YES）には、ヘッド位置情報７０３のＣＣＨＨに、検出されたＴＭ位置情報のＣＣＨＨを設定し（S20005）、ヘッド位置情報７０３のレコード番号には１を設定する（S20006）。そして正常終了を示す応答をホストコンピュータ１００へ返す（S20007）。
【０１１８】
次にＢＳＦコマンドについて説明する。図２１はＢＳＦコマンドに応じてチャネル制御部２１０が行う処理の流れを示すフローチャートである。  
チャネル制御部２１０はＢＳＦコマンドを受信すると、受信したＢＳＦコマンドに指定されているデッキに対応するテープ識別情報７０１とヘッド位置情報７０３とをデッキ情報テーブル７００より取得する（S21001）。取得したテープ識別情報７０１に対応するテープ情報テーブル６００上のテープマーク位置を示すＴＭ位置情報６０７群に対して、デッキ情報テーブル７００のヘッド位置情報７０３に設定されたアドレスのＣＣＨＨよりも小さいＣＣＨＨを持つＴＭ位置情報６０７を検出するまで、ダブルＴＭ位置情報の示すＴＭ位置情報６０７より、ＴＭ位置情報１（６０７）に向けて順次検査をする（S21002）。ヘッド位置情報７０３に設定されたアドレスのＣＣＨＨよりも小さなＣＣＨＨを持つＴＭ位置情報６０７を検出できなかった場合（S21003：NO）は、テープの先頭を示す応答をホストコンピュータ１００へ返し（S21007）、処理を終了する。一方、前記ＴＭ位置情報６０７を検出できた場合（S21007：YES）には、ヘッド位置情報７０３のＣＣＨＨに、検出されたＴＭ位置情報のＣＣＨＨを設定し（S21005）、ヘッド位置情報７０３のレコード番号には１を設定する（S21006）。そして正常終了を示す応答をホストコンピュータ１００へ返す（S21007）。
【０１１９】
＝＝＝データ排出・投入要求＝＝＝
これまでに説明した処理により、ディスク制御装置２００は、ホストコンピュータ１００から磁気テープへのアクセスを、ディスクドライブ３００へのアクセスに変換することができる。しかし、ディスクドライブ３００にデータを記録するだけでは、データを記録した磁気テープを倉庫に保管したり、ホストコンピュータ１００から他のホストコンピュータ等にデータを移行するような可搬性がない。そこで、ディスク制御装置２００は、ホストコンピュータ１００を介さずに、ディスク制御装置２００に接続する磁気テープ装置４００に対してディスクドライブ３００に格納されているデータを入出力することで、可搬型記録媒体である磁気テープにデータを書き出したり、データを読み込んだりすることができる。例えば、オペレータの操作等によって、ディスク制御装置２００に接続する管理コンピュータ２５０から指示が行われると、ディスク制御装置２００は前記のような可搬型記録媒体に対するデータの書き出しや読み込みを行うようになっている。
【０１２０】
＝＝＝データ排出処理＝＝＝
バックアップ等のために、ディスク制御装置２００のチャネル制御部２１０が磁気テープ等の可搬型記録媒体へデータを書き出すデータ排出処理について説明する。  
管理端末２５０は、オペレータ等の操作によりディスク制御装置２００に対して、磁気テープ装置に対してデータを書き出すことを要求するコマンドであるデータ排出要求を送信することができる。前記のデータ排出要求は、ホストコンピュータ１００等からディスク制御装置２００に対して送信されてもよい。データ排出要求には、どのデッキを利用するかを指定するデッキ識別情報と、どの磁気テープにデータを書き込むかを指定するテープ識別情報とが設定される。
【０１２１】
チャネル制御部２１０は複製処理部２１０４により、上述したリモートコピー機能を用いて、磁気テープ装置４００が制御する磁気テープにデータを書き出すことが可能である。複製処理部２１０４は、磁気テープ装置４００等の可搬型記録媒体制御装置にセットされる磁気テープ等の可搬型記録媒体のボリュームをデータの複製先の記憶領域とし、ディスクドライブ３００に設定された記憶領域を複製元としてリモートコピー機能を動作させることにより、ディスクドライブ３００上のデータを可搬型記録媒体にコピーすることができる。
【０１２２】
すなわち、ディスク制御装置２００は、通常のデータ入出力にはディスクドライブを使用することで効率的なデータへのアクセスを提供しながら、必要なときには可搬型記録媒体に対してのデータ入出力を行うことができる。ディスク制御装置２００は、可搬型記録媒体へのデータ書き出しを、チャネル制御部２１０で動作するリモートコピーの機能を用いて実現することができる。ここで、ホストコンピュータ１００上で動作するアプリケーションプログラムやジョブ制御文に変更を加える必要はなく、変更によって生じる可能性のある不具合を回避することができる。
【０１２３】
チャネル制御部２１０は、上記リモートコピーを用いる方法の他に、磁気テープ装置４００に対するデータ入出力要求を生成しながら磁気テープにデータを書き出すこともできる。図２２は、チャネル制御部２１０が上記のリモートコピー機能を用いずに磁気テープ装置４００にデータをコピーする処理の流れを示すフローチャートである。
【０１２４】
管理端末２５０が、オペレータ等からの指示により、データ排出要求をチャネル制御部２１０に送信する（S22001）。チャネル制御部２１０はデータ排出要求を受信すると、テープ識別情報とデッキ識別情報とを取得する（S22002）。チャネル制御部２１０は、テープ情報テーブル６００の前記取得したテープ識別情報に対応するＢＯＴ位置情報６０４を、デッキ情報テーブル７００のヘッド位置情報７０３に設定し（S22003）、ヘッド位置情報７０３に設定されるアドレスのレコード番号を１に設定する（S22004）。次に、チャネル制御部２１０は磁気テープ装置４００にマウント要求を送信する（S22005）。磁気テープ装置は、磁気テープのマウント要求を受信すると、挿入されている磁気テープに対してマウント処理を行い（S22006）、マウント処理が終了した旨を示すマウント終了通知をチャネル制御部２１０へ応答する（S22007）。チャネル制御部２１０は磁気テープ装置４００からの応答を受信すると、後述する磁気テープへのアクセスを行い、磁気テープへデータを書き込む（S22008）。磁気テープへのデータ書き込みあが終わると、デッキ情報テーブル７００の当該デッキに対応するデータをクリアする（S22009）。そして、チャネル制御部２１０は磁気テープ装置へリワインド及びアンマウントする処理を要求するコマンドであるリワインド・アンマウント要求を磁気テープ装置４００に送信する（S22010）。磁気テープ装置はリワインド・アンマウント要求を受信すると、磁気テープをリワインドし（S22001）、磁気テープのアンマウント処理を行う（S22012）。磁気テープ装置は、アンマウント処理を終えると、チャネル制御部２１０にアンマウント処理が終了した旨を示すアンマウント終了通知を送信する（S22013）。チャネル制御部２１０は、アンマウント終了通知を受信すると、管理端末２５０に対し、データ排出要求に対する処理が終了した旨を示す終了通知を送信する（S22014）。管理端末２５０はチャネル制御部２１０からデータ排出要求に対する処理の終了通知を受信すると、終了した旨を管理端末２５０の備えるディスプレイ等の出力装置２５６に表示する（S22015）。
【０１２５】
図２３は、チャネル制御部２１０が、磁気テープ装置４００がマウントした磁気テープに対してデータを書き込む処理の流れを示すフローチャートである。  
チャネル制御部２１０は、デッキ情報テーブル７００のヘッド位置情報７０３に設定されているアドレスのＣＣＨＨが、テープ情報テーブル６００のＥＯＴ位置情報６０５に設定されている値を超えていないかどうかを判定し（S23001）、超えていた場合（S23001：YES）には処理を終了する。ヘッド位置情報７０３に設定されているアドレスのＣＣＨＨがＥＯＴ位置情報６０５に設定されている値を超えていない場合（S23001：NO）は、次に、ヘッド位置セグメントがキャッシュメモリ２３０上に存在するかどうかを調べ（S23002）、存在していなければ（S23002：NO）、キャッシュメモリ２３０上にヘッド位置セグメントを確保し、ディスクドライブ３００に設定された論理ユニットからヘッド位置セグメントに対応するデータをキャッシュメモリ２３０上にステージングする（S23004）。
【０１２６】
次にヘッド位置アドレスが示すレコードのカウント部をチェックする（S23005）。ヘッド位置アドレスが示すレコードのカウント部がＥＲＡＳＥ情報であった場合（S23005：ＥＲＡＳＥ）は、ヘッド位置情報７０３に設定されているアドレスのＣＣＨＨを１増やし（S23006）、レコード番号を１に設定して（S23007）、（S23001）に進む。
【０１２７】
一方、ヘッド位置アドレスが示すレコードのカウント部がテープマークであった場合には（S23005：テープマーク）、磁気テープ装置４００に対してテープマークを書き込むＷＲＴＭコマンドを送信する（S23008）。また、前記カウント部がＥＲＡＳＥ情報でもテープマークでもないデータを示す場合（S23005：実データ）には、ヘッド位置アドレスが示すレコードのデータ部にデータが記録されていることを示すため、ヘッド位置アドレスが示すレコードからデータを読み出し（S23009）、読み出したデータを書き込みデータとして、磁気テープ装置４００へＷＲコマンドを送信する（S23010）。
【０１２８】
磁気テープ装置４００へコマンドを送信すると、磁気テープ装置４００からの応答が正常終了であるかどうかを調べ（S23011）、正常終了であれば（S23011：YES）、（S23005）へ進む。正常終了でなかった場合には（S23011：NO）、異常が発生したこととなるため、チャネル制御部２１０は以前に行った処理をロールバックする等、異常に対応する処理を行い（S23012）、処理を終了する。
【０１２９】
＝＝＝データ投入処理＝＝＝
次に、バックアップ等で書き出されりデータが記録されている磁気テープから、ディスク制御装置２００へデータをコピーするデータ投入処理について説明する。  
オペレータ等の操作により、管理端末２５０はディスク制御装置２００に対して、磁気テープ装置からデータを読み取ることを要求するコマンドであるデータ投入要求を送信することができる。前記のデータ投入要求は、ホストコンピュータ１００等からディスク制御装置２００に対して送信されてもよい。データ投入要求には、どのデッキに対して投入をするかを示すデッキの識別情報と、投入された磁気テープを識別するテープ識別情報とが含まれる。
【０１３０】
ディスク制御装置２００のチャネル制御部２１０は複製処理部２１０４により、上述したリモートコピー機能を用いて、磁気テープ装置４００が制御する磁気テープからデータを読み出すことが可能である。磁気テープ装置４００等の可搬型記録媒体制御装置に投入された磁気テープ等の可搬型記録媒体のボリュームを複製元の記憶領域とし、ディスクドライブ３００に設定される記憶領域を複製先の記憶領域としてリモートコピー機能を動作させることで、可搬型記録媒体からディスクドライブ３００にデータを読み出すことができる。
【０１３１】
すなわち、ディスク制御装置２００は、通常のデータ入出力にはディスクドライブを使用することで効率的なデータへのアクセスを提供しながら、必要なときには可搬型記録媒体に対してのデータ入出力を行うことができる。ディスク制御装置２００は、可搬型記録媒体へのデータ書き出しを、チャネル制御部２１０で動作するリモートコピーの機能を用いて実現することができる。ここで、ホストコンピュータ１００上で動作するアプリケーションプログラムやジョブ制御文に変更を加える必要はなく、変更によって生じる可能性のある不具合を回避することができる。
【０１３２】
チャネル制御部２１０は、上記リモートコピーを用いる方法の他に、磁気テープ装置４００に対するデータ入出力要求を生成しながら磁気テープからデータを読み出すこともできる。図２４は、チャネル制御部２１０が上記のリモートコピー機能を用いずに磁気テープ装置４００からデータをコピーする処理の流れを示すフローチャートである。
【０１３３】
管理端末２５０が、オペレータ等からの指示により、データ投入要求をディスク制御装置２００に送信する（S24001）。チャネル制御部２１０はデータ投入要求を受信すると、テープ識別情報とデッキ識別情報とを取得する（S24002）。チャネル制御部２１０は、テープ情報テーブル６００の前記取得したテープ識別情報に対応するＢＯＴ位置情報６０４を、デッキ情報テーブル７００のヘッド位置情報７０３に設定し（S24003）、ヘッド位置情報７０３に設定されるアドレスのレコード番号を１に設定する（S24004）。次に、チャネル制御部２１０は磁気テープ装置４００にマウント要求を送信する（S24005）。磁気テープ装置は、磁気テープのマウント要求を受信すると、挿入されている磁気テープに対するマウント処理を行い（S24006）、マウント処理が終了した旨を示すマウント終了通知をチャネル制御部２１０へ応答する（S24007）。チャネル制御部２１０は磁気テープ装置４００からの応答を受信すると、後述する磁気テープへのアクセスを行い、磁気テープからデータを読み込む（S24008）。磁気テープからのデータ読み込みが終わると、デッキ情報テーブル７００の当該デッキに対応するデータをクリアする（S24009）。そして、チャネル制御部２１０は磁気テープ装置へリワインド及びアンマウントする処理を要求するコマンドであるリワインド・アンマウント要求を磁気テープ装置４００に送信する（S24010）。磁気テープ装置はリワインド・アンマウント要求を受信すると、磁気テープをリワインドし（S24001）、磁気テープのアンマウント処理を行う（S24012）。磁気テープ装置は、アンマウント処理を終えると、チャネル制御部２１０にアンマウント処理が終了した旨を示すアンマウント終了通知を送信する（S24013）。チャネル制御部２１０は、アンマウント終了通知を受信すると、管理端末２５０に対し、データ投入要求に対する処理が終了した旨を示す終了通知を送信する（S24014）。管理端末２５０はチャネル制御部２１０からデータ投入要求に対する処理の終了通知を受信すると、終了した旨を管理端末２５０の備えるディスプレイ等の出力装置２５６に表示する（S24015）。
【０１３４】
図２５は、磁気テープ装置４００がマウントした磁気テープからデータを読み込み、ディスクドライブ３００へデータをコピーする処理の流れを示すフローチャートである。  
チャネル制御部２１０は、ヘッド位置セグメントをキャッシュメモリ２３０上に確保し（S25001）、磁気テープ装置にデータ読み込みを指示するＲＤコマンドを送信する（S25002）。そして磁気テープ装置からの、ＲＤコマンドに対する応答を判定する（S25003）。送信したＲＤコマンドに対する応答がテープ終了を示すものであった場合（S25003：テープ終了）処理を終了する。ＲＤコマンドに対する応答が異常終了であった場合（S25003：異常終了）には、例えば読み込んだディスク上のデータをクリアする等、予め定められた異常終了処理を実行し（S25004）、一連の処理を終了する。
【０１３５】
一方、チャネル制御部２１０が磁気テープ装置４００に送信したＲＤコマンドに対する磁気テープ装置４００の応答が正常終了であった場合（S25003：正常終了）には、コマンドに対する応答に続いて、磁気テープから読み込んだデータが磁気テープ装置からチャネル制御部２１０へ送信される。そこで、この読み込んだデータが、上記のように確保したセグメントに格納が可能かどうかを判定する（S25005）。上記確保したセグメントに格納可能ではない場合（S25005：NO）には、ヘッド位置アドレスが示すレコードに、ＥＲＡＳＥ情報を表すカウント部を作成する（S25006）。そしてヘッド位置情報７０３に設定されているアドレスのＣＣＨＨを１増やし（S25007）、レコード番号を１に設定する（S25008）。次に、新たに設定したヘッド位置情報７０３に設定されているアドレスのＣＣＨＨと論理ユニット情報６０３とが示すセグメントをキャッシュメモリ２３０上に確保（S25009）する。そしてヘッド位置情報のＣＣＨＨＲが示すレコードにカウント部を作成し、上記の磁気テープ装置から読み込んだデータをキャッシュメモリ２３０に格納し（S25010）、ヘッド位置情報７０３のレコード番号を１増やす（S25011）。ここから再度（S25002）に進み、磁気テープ装置４００からデータの読み込みを繰り返す。このようにして、チャネル制御部２１０は、磁気テープ装置４００に挿入された磁気テープから読み込んだデータを、キャッシュメモリ２３０を介してディスクドライブ３００に記憶していく。
【０１３６】
（S25003）においてチャネル制御部２１０から磁気テープ装置４００に送信したＲＤコマンドに対する磁気テープ装置４００の応答がテープマークである旨のものであった場合（S25003：テープマーク）、ヘッド位置情報７０３に設定されたアドレスが示すレコードに、ＥＲＡＳＥ情報を作成する（S25012）。そして、ヘッド位置情報７０３に設定されているアドレスのＣＣＨＨを１増やし（S25013）、レコード番号を１に設定する（S25014）。ここでヘッド位置情報７０３に設定されたアドレスのＣＣＨＨと論理ユニット情報６０３とが示すセグメントをキャッシュメモリ２３０上に確保する（S25015）。次にヘッド位置アドレスが示すレコードに、テープマークを表すカウント部を作成する（S25016）。また、テープ情報テーブル６００のＴＭ位置情報６０７を更新する（S25017）。そして上記の（S25011）に進み、磁気テープ装置４００からのデータ読み込みを続ける。
【０１３７】
＝＝＝テープ移動処理＝＝＝
さらに、磁気テープライブラリ装置が備える収納庫内で磁気テープの収納位置を変更させるためのコマンドであるテープ移動要求を、チャネル制御部２１０が受信すると、例えば、移動元の収納位置に対応するテープ情報テーブル６００のデータを移動先の収納位置に対応するテープ情報テーブル６００に移動する。
【０１３８】
磁気テープの移動処理は、このように容易に実現できる。磁気テープライブラリ装置では、磁気テープを収納庫内で移動させる処理には時間がかかるが、上記のような移動処理は高速に行われる。従って、ディスク制御装置２００は、管理端末２５０やホストコンピュータ１００からテープ移動要求を受信すると、上記のような処理を行い、迅速なレスポンスを返すことができる。
【０１３９】
＝＝＝その他の実施の形態＝＝＝
本実施の形態では、データ投入処理、データ排出処理、テープ移動処理といった、各処理は、管理端末２５０からディスク制御装置２００に対して指示される形態であったが、ホストコンピュータ１００がディスク制御装置２００に対して送信してもよい。その際に、例えば、チャネル制御部２１０が受信したデータ入出力が、前記データ投入処理や、データ排出処理、テープ移動処理といった処理を指示するコマンドであるのか、ディスクドライブ３００に対するデータ入出力要求であるのか、磁気テープに対するデータ入出力要求であるのかといった判断をチャネル制御部２１０で行うようにできる。
【０１４０】
また、上記の処理を指示するために、ホストコンピュータ１００が、送信するデータ入出力要求にオプションとして上記のような処理の種類を指定するようにしてもよい。例えば、ホストコンピュータ１００が送信するテープアクセス要求に、ディスク制御装置２００の備えるディスクドライブ３００に対して書き込みをするように指示するオプションや、ディスクドライブ３００には書き込まず、磁気テープ装置４００へ書き出すように指示するオプションといったオプションを設定するようにする。そして、ディスク制御装置２００の備えるチャネル制御部２１０が、上記のテープアクセス要求を受信して解釈する際に、そのオプションに応じてディスクドライブ３００あるいは磁気テープ装置４００のどちらに対するデータ入出力を行うかを判断するようにできる。
【０１４１】
さらに、ディスク制御装置２００は、ディスクドライブ３００内でデータをコピーするようにもできる。例えば、ホストコンピュータ１００や管理端末２５０がディスク制御装置２００に対して送信するテープアクセス要求やデータ排出要求等のコマンドに、ディスク制御装置２００内でのバックアップを指示するようにオプションを設定できる。このような場合にディスク制御装置２００は、受信したデータ排出要求を解釈し、磁気テープ装置４００に対してデータを書き出すのか、ディスクドライブ３００内の別の位置にデータを書き出すのかを選択して、データの書き出しを行う。
【０１４２】
また、本実施の形態では、ディスク制御装置２００の備えるチャネル制御部２１０が、テープアクセス要求の解釈や、書き込みデータの圧縮、逆読みの処理を行う形態であるが、これをディスク制御部２４０が行う形態とすることもできる。その場合には、チャネル制御部２１０が受信したデータ入出力要求は、ディスクアクセス要求かテープアクセス要求かにかかわらず、ディスク制御部２４０に渡され、ディスク制御部２４０が、チャネル制御部２１０が受信したデータ入出力要求を解釈し、ディスクドライブ３００へのデータ入出力に関する制御を行うようにする。さらに、ディスク制御装置２００がデータ投入処理やデータ排出処理を行うときのような、磁気テープ装置４００等の可搬型記録媒体制御装置に対してデータ入出力を行う場合には、ディスク制御部２４０がチャネル制御部２１０に対して、磁気テープ装置４００との通信を指示する。ディスク制御部２４０は、上述したように、磁気テープ装置４００に対してデータ入出力要求を生成するようにしてもよいし、チャネル制御部２１０の備える複製処理部２１０４によるリモートコピー機能を動作させてもよい。
【０１４３】
以上本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【０１４４】
【図１】本発明の一実施例による情報処理システムの全体構成を示す図である。
【図２】本発明の一実施例によるチャネル制御部２１０のハードウェア構成を示す図である。
【図３】本発明の一実施例による管理端末２５０の構成を示す図である。
【図４】本発明の一実施例による磁気テープへのデータの書き込みを示す説明図である。
【図５】本発明の一実施例による磁気ヘッドの頭出しを表した説明図である。
【図６】本発明の一実施例による磁気テープに記録されたデータの読み取りを表した説明図である。
【図７】本発明の一実施例によるテープ情報テーブル６００を示す図である。
【図８】本発明の一実施例によるデッキ情報テーブル７００を示す図である。
【図９】本発明の一実施例によるディスクドライブ３００に設定された論理ユニット上でのデータ記録を表現した模式図である。
【図１０】本発明の一実施例によるカウント部の内容を示す図である。
【図１１】本発明の一実施例によるホストコンピュータ１００が磁気テープに対してデータ入出力を行うときの処理の流れを示すフローチャートを示す図である。
【図１２】本発明の一実施例によるマウント処理の流れを説明するフローチャートを示す図である。
【図１３】本発明の一実施例によるリワインド要求に応じてチャネル制御部２１０で行われる処理の流れを説明するフローチャートを示す図である。
【図１４】本発明の一実施例によるディスク制御装置２００のチャネル制御部２１０がホストコンピュータ１００からＷＲコマンドを受信した場合の処理の流れを説明するフローチャートを示す図である。
【図１５】本発明の一実施例によるディスク制御装置２００のチャネル制御部２１０がテープマークを書き込む際に行う処理の流れを説明するフローチャートを示す図である。
【図１６】本発明の一実施例によるディスク制御装置２００のチャネル制御部２１０がホストコンピュータ１００からＲＤコマンドを受信した場合の処理の流れを説明するフローチャートを示す図である。
【図１７】本発明の一実施例によるディスク制御装置２００のチャネル制御部２１０がホストコンピュータ１００からＲＤ−ＢＡＣＫＷＡＲＤコマンドを受信した場合の処理の流れを説明するフローチャートを示す図である。
【図１８】本発明の一実施例によるＦＳＢコマンドに応じてディスク制御装置２００のチャネル制御部２１０が行う処理の流れを説明するフローチャートを示す図である。
【図１９】本発明の一実施例によるＢＳＢコマンドに応じてチャネル制御部２１０が行う処理の流れを説明するフローチャートを示す図である。
【図２０】本発明の一実施例によるＦＳＦコマンドに応じでチャネル制御部２１０が行う処理の流れを説明するフローチャートを示す図である。
【図２１】本発明の一実施例によるＢＳＦコマンドに応じてチャネル制御部２１０が行う処理の流れを説明するフローチャートを示す図である。
【図２２】本発明の一実施例によるチャネル制御部２１０がリモートコピー機能を用いずに磁気テープ装置４００にデータをコピーする処理の流れを説明するフローチャートを示す図である。
【図２３】本発明の一実施例によるチャネル制御部２１０が、磁気テープ装置４００がマウントした磁気テープに対してデータを書き込む処理の流れを説明するフローチャートを示す図である。
【図２４】本発明の一実施例によるチャネル制御部２１０がリモートコピー機能を用いずに磁気テープ装置４００からデータをコピーする処理の流れを説明するフローチャートを示す図である。
【図２５】本発明の一実施例による磁気テープ装置４００がマウントした磁気テープからデータを読み込み、ディスクドライブ３００へデータをコピーする処理の流れを説明するフローチャートを示す図である。
【符号の説明】
【０１４５】
１００  ホストコンピュータ
２００  ディスク制御装置
２１０  チャネル制御部
２１０１  コマンド制御部
２１０２  逆読み機構
２１０３  圧縮機構
２１０４  複製処理部
２２０  共有メモリ
２３０  キャッシュメモリ
２４０  ディスク制御部
２５０  管理端末
３００  ディスクドライブ
４００  磁気テープ装置
【図１】
2005038290.tif 000003
【図２】
2005038290.tif 000004
【図３】
2005038290.tif 000005
【図４】
2005038290.tif 000006
【図５】
2005038290.tif 000007
【図６】
2005038290.tif 000008
【図７】
2005038290.tif 000009
【図８】
2005038290.tif 000010
【図９】
2005038290.tif 000011
【図１０】
2005038290.tif 000012
【図１１】
2005038290.tif 000013
【図１２】
2005038290.tif 000014
【図１３】
2005038290.tif 000015
【図１４】
2005038290.tif 000016
【図１５】
2005038290.tif 000017
【図１６】
2005038290.tif 000018
【図１７】
2005038290.tif 000019
【図１８】
2005038290.tif 000020
【図１９】
2005038290.tif 000021
【図２０】
2005038290.tif 000022
【図２１】
2005038290.tif 000023
【図２２】
2005038290.tif 000024
【図２３】
2005038290.tif 000025
【図２４】
2005038290.tif 000026
【図２５】
2005038290.tif 000027