JP2005038290A - ディスク制御装置及びディスク制御装置の制御方法 - Google Patents

ディスク制御装置及びディスク制御装置の制御方法 Download PDF

Info

Publication number
JP2005038290A
JP2005038290A JP2003276238A JP2003276238A JP2005038290A JP 2005038290 A JP2005038290 A JP 2005038290A JP 2003276238 A JP2003276238 A JP 2003276238A JP 2003276238 A JP2003276238 A JP 2003276238A JP 2005038290 A JP2005038290 A JP 2005038290A
Authority
JP
Japan
Prior art keywords
disk
data
magnetic tape
control unit
data input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2003276238A
Other languages
English (en)
Other versions
JP2005038290A5 (ja
Inventor
Toshinori Sakaki
豪紀 榊
Yoshihiro Azumi
義弘 安積
Masami Maeda
昌美 前田
Masaru Tsukada
大 塚田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003276238A priority Critical patent/JP2005038290A/ja
Publication of JP2005038290A publication Critical patent/JP2005038290A/ja
Publication of JP2005038290A5 publication Critical patent/JP2005038290A5/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 メインフレームなどでは磁気テープを前提としたプログラムが多く作成されている。磁気ディスクのビット単価の低下に伴い、磁気テープの代替手段として磁気ディスクを用いる場合、ソフトウエア変更に多大の労力を要する。
【解決手段】情報処理装置から送信されるデータ入出力要求を受信するチャネル制御部と、ディスクドライブを制御するディスク制御部と、チャネル制御部とディスク制御部との間で授受されるデータを記憶するキャッシュとを備え、チャネル制御部は、データ入出力要求が、ディスクアクセス要求である場合にはディスクドライブに対してデータ入出力を行うようにディスク制御コマンドを生成し、データ入出力要求が、磁気テープ装置に対するデータ入出力を要求するテープアクセス要求である場合には磁気テープ上の位置を特定する情報に対応するディスクドライブ上の位置を特定する情報を設定してディスク制御コマンドを生成する。
【選択図】 図1

Description

この発明は、ディスク制御装置及びディスク制御装置の制御方法に関する。
近年のIT技術の進化にともなって、コンピュータシステムで取り扱われるデータ量は急激に増加している。データセンタ等においては、大量のデータを集約的に取り扱うための大規模な仕組みが構築されている。こういった大規模なデータを記録する代表的な装置として、ディスクアレイ装置がある。
ディスクアレイ装置にアクセスする情報処理装置はディスクアレイ装置のデータ記憶領域にアクセスする一方で、磁気テープデバイスへアクセスし、データの入出力を行っている。特にメインフレーム等では様々な場面において磁気テープに対するデータ入出力を前提としてアプリケーションプログラムやジョブ制御文が作成されている。これは磁気テープ媒体のビット単価が、ハードディスク等の磁気ディスク媒体のビット単価に比べて安価であったため、特に大量なデータを扱うアプリケーションプログラム等にとっては、記憶領域に対するコストを低減することができたからである。
特開平2000−20247号公報
近年では磁気ディスクドライブのビット単価は磁気テープのものよりも安価になりつつある。しかも、磁気ディスクのアクセススピードは磁気テープのものに比べて高速であり、また磁気ディスクではランダムアクセスが可能なため、データへの効率的なアクセスが可能となっている。そのため、磁気ディスク媒体を用いてより効率的なバックアップ等のデータ退避手段をとる事が可能となってきた。
一方、このように磁気ディスクを磁気テープの代替手段として用いる場合には、既存のソフトウェアを変更し、これまで磁気テープに対して行ってきたデータ入出力を磁気ディスクに対するものに変更する必要があるが、そのためには、多大な労力がかかる。また、一般的にソフトウェア等に対して大きな変更をすると、不具合が混入する可能性が高いことがわかっている。そのため、長年の運用に耐え、信頼性・安定性ともに高いソフトウェアに対して修正を加えることを極力避けたいという需要も多い。
本発明はこのような状況を鑑みてなされたものであり、ディスク制御装置及びディスク制御装置の制御方法を提供することを目的とする。
上記目的を達成する本発明のうち主たる発明に係るディスク制御装置は、情報処理装置から送信されるデータ入出力要求を受信するチャネル制御部と、ディスクドライブを制御するディスク制御部と、前記チャネル制御部と前記ディスク制御部との間で授受されるデータを記憶するキャッシュメモリと、を備え、前記チャネル制御部は、磁気テープ上でデータを記録する位置を特定するための情報と、前記ディスクドライブ上でデータを記録する位置を特定するための情報とを対応づけて記憶し、前記チャネル制御部は、前記受信したデータ入出力要求が前記ディスクドライブに対するデータ入出力を要求するディスクアクセス要求である場合には、前記ディスクアクセス要求に応じて前記ディスクドライブに対してデータ入出力を行うように前記ディスク制御部に指示をするディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って前記ディスクドライブに対するデータ入出力に関する制御を行い、前記チャネル制御部は、前記受信したデータ入出力要求が、磁気テープ装置に対するデータ入出力を要求するテープアクセス要求である場合には、前記磁気テープ上の位置を特定するための情報に対応する前記ディスクドライブ上の位置を特定するための情報を設定して前記ディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って前記ディスクドライブに対するデータ入出力に関する制御を行うこととする。
このように、本発明では、ディスクドライブに対するデータ入出力要求であるディスクアクセス要求を処理するディスク制御装置が、磁気テープ装置に対するデータ入出力要求であるテープアクセス要求も受信し、磁気テープに対するデータ入出力をディスクドライブに対するデータ入出力に変換して、ディスクドライブに対するデータ入出力とすることができる。すなわち、磁気テープに対するデータ入出力を行うホストコンピュータを本発明によるディスク制御装置に接続することにより、前記ホストコンピュータはより高速かつ大容量のディスクドライブによる記憶領域にアクセスが可能となる。しかも、ホストコンピュータ上で動作する既存のアプリケーションプログラムやジョブ制御文等に変更を加える必要がなく、変更に伴って生じる可能性のある不具合を回避することができる。
なお、本発明の他の特徴については、本明細書及び添付図面の記載により明らかにされる。
本発明によれば、ディスク制御装置及びディスク制御装置の制御方法を提供することができる。
===全体構成===
図1に本実施の形態に係る情報処理システムの全体構成を示す。
ホストコンピュータ100とディスク制御装置200とが通信可能に接続しており、ディスク制御装置200は、ホストコンピュータ100から送信されるデータの入出力要求を受信し、それに応じてディスクドライブ300に記憶されているデータの入出力処理を行う。ホストコンピュータ100とディスク制御装置200との間の通信は、ESCON(Enterprise System Connection)(登録商標)やFICON(FIbre CONnection)(登録商標)等の通信プロトコルに従って行われる。
ホストコンピュータ100はデータ入出力要求をディスク制御装置200に送信することで、ディスク制御装置200に記憶されるデータに適宜アクセスしながらアプリケーションを実行し、様々な情報処理サービスを提供する。情報処理サービスは例えば銀行の自動預金預け払いシステムや航空機の座席予約システム等である。
また、ホストコンピュータ100は、例えばアプリケーションで使用するデータをバックアップしたり、データを他のホストコンピュータへ移行したりするためにデータをコピーしたりするために、磁気テープへデータを書き出す機能を備えている。ホストコンピュータ100は、例えば障害発生時に、保管してあるバックアップからデータをリストアしたり、他のホストコンピュータから移行されてくるデータをコピーしたりするために、磁気テープからデータを読み込む機能も備えている。これらの機能を実現するために、ホストコンピュータ100は、磁気テープ装置に対するデータ入出力要求(以下、テープアクセス要求と称する)を送信できる。
一方、ディスク制御装置200と磁気テープ装置400とが通信可能に接続しており、例えばESCONやFICON等の通信プロトコルに従い、ディスク制御装置200から磁気テープ装置400へテープアクセス要求を送信できる。
===ホストコンピュータ===
ホストコンピュータ100はCPU(Central Processing Unit)1001やメモリ1002、記録媒体読取装置1003、ポート1004、ポート1005、記憶装置1006等を備えたコンピュータ(情報処理装置)である。
ホストコンピュータ100が備えるCPU1001は、ホストコンピュータ100の全体の制御を司るもので、メモリ1002に格納されたプログラムを実行することにより各種の機能を実現する。記録媒体読取装置1003は記録媒体1007に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ1002や記憶装置1006に格納される。記録媒体1007としてはフレキシブルディスクやCD−ROM、DVD−ROM、DVD−RAM、半導体メモリ等を用いることができる。記録媒体読取装置1003はホストコンピュータ100に内蔵する形態とすることもできるし、外付される形態とすることもできる。記憶装置1006は、例えばハードディスクドライブや半導体記憶装置等である。
ポート1004は、ディスク制御装置200等の外部装置との間で通信を行うための装置である。ポート1004は通信経路501に接続しており、ホストコンピュータ100はディスク制御装置200に記憶されるデータに対し、ポート1004を介してアクセスする。
ポート1005もディスク制御装置200や磁気テープ装置等の外部装置との間で通信を行うための装置である。ポート1005は通信経路502に接続しており、これはホストコンピュータ100が、例えばバックアップ時に磁気テープへデータを書き出したり、メンテナンス時に磁気テープからデータを読み込んだりするために、磁気テープ装置に対してテープアクセス要求を送信するとき等に使用するポートである。但し、図1において、ポート1005を介してホストコンピュータ100が接続しているのは磁気テープ装置ではなく、ディスク制御装置200である。ディスク制御装置200はランダムアクセスによる磁気ディスク等の記憶領域を提供するが、後述するように、磁気テープに対するシーケンシャルなデータ入出力を行うためのコマンド等を受け付ける。そのため、ホストコンピュータ100は、直接磁気テープ装置をポート1005を介して接続している場合と同様に、磁気テープに対するコマンドをディスク制御装置200に送信することができる。
なお、本実施の形態では、ホストコンピュータ100からディスク制御装置200へ、ディスクアクセス要求は通信経路501を介して送信され、テープアクセス要求は通信経路502を介して送信されるが、ディスクアクセス要求もテープアクセス要求も同一の通信経路を介して送信するようにしてもよい。その場合には、例えば、ディスクドライブ300に対するデータ入出力要求やテープアクセス要求にコマンドの種類を識別するための情報を付与することもできる。
===ディスク制御装置===
ディスク制御装置200はホストコンピュータ100と通信可能に接続されており、ホストコンピュータ100が送信するデータ入出力要求を受信し、データ入出力に関する処理を行う。
ディスク制御装置200は、CHA(CHannel Adapter:チャネル制御部)210、DKA(DisK Adapter:ディスク制御部)240、共有メモリ220、キャッシュメモリ230を備える。キャッシュメモリ230は、チャネル制御部210とディスク制御部240との間で授受されるデータを記憶する。チャネル制御部210、ディスク制御部240、管理端末250は、内部LAN260によって接続され、相互に通信を行うことが可能である。
チャネル制御部210はホストコンピュータ100等の外部装置との通信インタフェースを備え、外部装置からのデータ入出力要求を受信する。例えば、ディスク制御装置200はCHA1(210)を介してホストコンピュータ100と間で通信を行う。ディスク制御装置200がCHA1(210)を介してホストコンピュータ100から受信したデータ入出力要求は、共有メモリ220に書き込まれる。ディスク制御部240は、CHA1(210)により共有メモリ220に書き込まれたデータ入出力要求を読み出し、それに従ってディスクドライブ300に対するデータ入出力に関する制御を行う。
また、図1においては、CHA2(210)が通信経路502に接続しており、ホストコンピュータ100との間で通信を行う。また、CHA3(210)は通信経路503に接続しており、磁気テープ装置400との間で通信を行う。通信経路501乃至503は、例えばESCONやFICON、SCSI(Small Computer System Interface)等の通信形態である。
キャッシュメモリ230は、チャネル制御部210とディスク制御部240との間で授受されるデータを格納するためのメモリである。すなわち、例えばCHA1(210)がホストコンピュータ100から受信したデータ入出力要求がデータを書き込むための要求(以下、データ書き込み要求と称する)であれば、CHA1(210)はそのデータ書き込み要求を共有メモリ220に書き込むとともに、書き込みデータをキャッシュメモリ230に書き込む。そしてディスク制御部240は共有メモリ220に書き込まれた前記データ書き込み要求に従ってキャッシュメモリ230から書き込みデータを読み出し、ディスクドライブ300に書き込むための制御を行う。
===ディスクドライブ===
ディスクドライブ300は、ホストコンピュータ100に提供する記憶資源を備えている。記憶資源としては、例えばハードディスクドライブやフレキシブルディスクドライブ、半導体記憶装置等、様々なものを採用することができる。図1において、ディスクドライブ300には論理的な記憶領域である論理ユニット(LU:Logical Unit)が2つ設定されている。本実施の形態においては、LU1をホストコンピュータ100が通常のディスクドライブに対するアクセスをする際に使う記憶領域として、LU2を後述する磁気テープに対するアクセスをエミュレートする際に使う記憶領域として管理されている。もちろん、上記のように論理ユニットを分けずに、ディスク制御装置200が同一の論理ユニット内で領域を管理してもよい。
またディスク制御部240とディスクドライブ300との間は、図1のように直接接続する形態とすることもできるし、ネットワークを介して接続するようにすることもできる。さらにディスクドライブ300はディスク制御装置200と一体型とすることもできる。
===チャネル制御部===
チャネル制御部210は、外部装置からのデータ入出力要求を受信する。例えば、チャネル制御部210は、受信したデータ入出力要求がディスクドライブ300に対するデータ入出力要求であり、データの書き込みを要求するものである場合には、ディスク制御部240に対してディスクドライブ300へのデータ入出力を行うように指示をするディスク制御コマンドを生成し、共有メモリ220に書き込む。そして、書き込むデータをキャッシュメモリ230に書き込む。
図2にチャネル制御部210のハードウェア構成を示す。この図に示すように、チャネル制御部210は一体的にユニット化されたボードで構成される。
チャネル制御部210は、ネットワークインタフェース部211、CPU212、メモリ213、入出力制御部214、I/O(Input/Output)プロセッサ219、NVRAM(Non Volatile RAM)215、ボード接続用コネクタ216、通信コネクタ217を備え、これらが一体的にユニット化された回路基盤上に形成されて攻勢されている。
ネットワークインタフェース部211は、ホストコンピュータ100や磁気テープ装置400との間で通信を行うための通信インタフェースを備えている。チャネル制御部210の場合は、例えばESCONプロトコルに従ってホストコンピュータ100から送信されたデータ入出力要求を受信する。通信コネクタ217はホストコンピュータ100と通信を行うためのコネクタである。
ボード接続用コネクタ216は、ディスク制御装置200側に設けられたコネクタ(不図示)に結合される。これによりチャネル制御部210を構成するボードがディスク制御装置200と電気的に接続される。
CPU212は、チャネル制御部210の全体の制御を司るもので、メモリ213に格納されたプログラムを実行することにより、各種の機能を実現する。メモリ213には様々なプログラムやデータが記憶される。
入出力制御部214は、ディスク制御部240やキャッシュメモリ230、共有メモリ220、管理端末250との間でデータやコマンドの授受を行う。入出力制御部214はI/Oプロセッサ219やNVRAM215を備えている。I/Oプロセッサ219は例えば1チップのマイコンで構成される。I/Oプロセッサ219は上記データやコマンドの授受を制御し、CPU212とディスク制御部240との間の通信を中継する。NVRAM215はI/Oプロセッサ219の制御を司るプログラムを格納する不揮発性メモリである。NVRAM215に記憶されるプログラムの内容は、管理端末250等からの指示により書き込みや書き換えを行うことができる。
図1において、CHA2(210)には、コマンド制御部2101、逆読み機構2102、圧縮機構2103が示されている。コマンド制御部2101は、テープアクセス要求を解釈し、前記テープアクセス要求に応じてディスクドライブ300に対するデータ入出力を行うため、ディスク制御部240に対するディスク制御コマンドを生成する。逆読み機構2102は、CHA2(210)が後述する磁気テープに対して逆方向への読み取りを要求するテープアクセス要求を受信した場合に、例えば、ディスクドライブ300から読み出したデータを並べ変えたりすることによって、正常なデータの読み取りを可能とするための機構である。圧縮機構2103は、磁気テープに対するテープアクセス要求を、ディスクドライブ300に対するデータ入出力として処理する際に、例えば書き込みを行う場合に書き込むデータを圧縮したり、例えば読み込みを行う場合に読み込んだデータが圧縮されているときはデータを伸張したりする。圧縮のアルゴリズムには、ランレングス符号化やハフマン符号化、LZ78符号化等、様々なアルゴリズムを使うことができる。
また、図1において、CHA3(210)には、複製処理部2104が示されている。複製処理部2104は、チャネル制御部210に接続された記憶デバイスに対して、ディスクドライブ300に記憶されているデータの複製をコピーしたり、前記記憶デバイスに記憶されているデータの複製を、ディスクドライブ300にコピーしたりする。後述するリモートコピーの機能も、この複製処理部2104によって実現される。
===リモートコピー===
ディスク制御装置200は、ディスクドライブ300に記憶されているデータの複製を、チャネル制御部210を介して通信可能に接続される他のディスク制御装置がデータ入出力を行うディスクドライブに記憶させるリモートコピー(遠隔地複製又はレプリケーション)を行う。リモートコピーは、チャネル制御部210の備える複製処理部2104により行われる。複製処理部2104は、チャネル制御部210のNVRAM215等に記憶され、あるいは管理端末250からメモリ213に読み込まれたプログラムであり、CPU212がそのプログラムを実行することにより、リモートコピーの機能が実現される。
上記リモートコピーの機能が動作中は、ディスクドライブ300に設定された論理的記憶領域である複製元のLU(Logical Unit:論理ユニット、以下、「プライマリLU」と記す)にデータが書き込まれると、そのデータがチャネル制御部210に通信可能に接続される他のディスク制御装置に送信され、そのデータが他のディスク制御装置がデータ入出力を行うディスクドライブ上に設定されたLU(以下、「セカンダリLU」と記す)にも書き込まれる。このようにリモートコピー機能の動作中は、プライマリLUとセカンダリLUの内容を一致させるように制御がなされる。
リモートコピーの方式としては同期方式と非同期方式とがある。同期方式の場合、ディスク制御装置200はホストコンピュータ100からプライマリLUへのデータ書き込みを指示するデータ入出力要求を受信すると、ディスク制御装置200はプライマリLUにそのデータ入出力要求に対応するデータを書き込み、書き込んだデータと同じデータをチャネル制御部210に接続する他のディスク制御装置に送信する。他のディスク制御装置はディスク制御装置200から送信されてくるデータを受信すると、そのデータをセカンダリLUに書き込む。そして他のディスク制御装置は、データを書き込んだ旨をディスク制御装置200に対して通知する。この通知を受信したディスク制御装置200は、ホストコンピュータ100にデータの書き込みを完了した旨を通知するメッセージを送信する。
このように同期方式の場合には、プライマリLUとセカンダリLUの双方にデータが書き込まれたことが確認された後に、はじめてホストコンピュータ100に完了通知が送信される。このため、同期方式ではホストコンピュータ100が完了通知を受信した時点において必ずプライマリLUの内容とセカンダリLUの内容の一致性が確保されることになる。但し、同期方式の場合には、セカンダリLUへのデータの書き込みが完了するまではホストコンピュータ100に完了通知が報告されない。従って、同期方式の場合にはディスク制御装置200にアクセスするホストコンピュータ100からディスク制御装置200にデータ入出力要求が送信されてからホストコンピュータ100に完了通知が返ってくるまでの間のレスポンスタイムが非同期方式の場合に比べると一般に長くなる。
一方、非同期方式の場合には、ホストコンピュータ100からプライマリLUへのデータ書き込みを指示するデータ入出力要求を受信したディスク制御装置200はこれに応じてプライマリLUにデータを書き込み、書き込んだデータと同じデータを他のディスク制御装置に送信する。他のディスク制御装置は、ディスク制御装置200から送信されてくるデータを受信すると、そのデータをセカンダリLUに書き込む。そしてデータを書き込んだ旨をディスク制御装置200に通知する。ここでディスク制御装置200は、プライマリLUにデータを書き込むと、他のディスク制御装置にデータが書き込まれたかどうかとは関係なくホストコンピュータ100に対して上記データ入出力要求についての完了通知を送信してしまう。このため非同期方式ではホストコンピュータ100へのレスポンスタイムが同期方式の場合に比べて一般に短くなる。但し非同期方式では同期方式のようにホストコンピュータ100が完了通知を受信したとしてもその時点ではプライマリLUとセカンダリLUとの間のデータの一致性は必ずしも保証されない。なお、リモートコピーが適用される場合には、一般にプライマリLUとセカンダリLUとの内容の差分に関する情報がディスク制御装置200において管理される。
===管理端末===
管理端末250はディスク制御装置200に通信可能に接続している。管理端末250はディスク制御装置200を保守・管理するためのコンピュータである。管理端末250を操作することにより、例えばディスクドライブ300内の物理ディスク構成の設定や、論理ユニットの設定、チャネル制御部210において実行されるマイクロプログラムのインストール等を行うことができる。管理端末250はディスク制御装置200に内蔵されている形態とすることもできるし、外付けされている形態とすることもできる。また管理端末250は、ディスク制御装置200及びディスクドライブ300の保守・管理を専用に行うコンピュータとすることもできるし、汎用のコンピュータに保守・管理機能を持たせたものとすることもできる。
管理端末250の構成を示すブロック図を図3に示す。
管理端末250は、CPU2501、メモリ2502、ポート2503、記録媒体読取装置2504、入力装置2505、出力装置2506、記憶装置2508を備える。
CPU2501は管理端末250の全体の制御を司るもので、メモリ2502に格納されたプログラムを実行することにより各種の機能等を実現する。記録媒体読取装置2504は、記録媒体2507に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ2502や記憶装置2508に格納される。記録媒体2507としてはフレキシブルディスクやCD−ROM、DVD−ROM、DVD−RAM、半導体メモリ等を用いることができる。なお、上記プログラムは管理端末250を動作させるためのプログラムとすることができる他、後述するディスク制御装置200が磁気テープ装置400を利用してデータを入出力する処理の指示を出すためにオペレータ等が使用するプログラムや、チャネル制御部210のアプリケーションプログラムのインストールやバージョンアップのためのプログラム等とすることもできる。記録媒体読取装置2504は管理端末250に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置2508は、例えばハードディスクドライブやフレキシブルディスクドライブ、半導体記憶装置等である。入力装置2505はオペレータ等による管理端末250へのデータ入力等のために用いられる。入力装置2505としては例えばキーボードやマウス等が用いられる。出力装置2506は情報を外部に出力するための装置である。出力装置2506としては例えばディスプレイやプリンタ等が用いられる。ポート2503は内部LAN260に接続されており、これにより管理端末250はチャネル制御部210やディスク制御部240等と通信を行うことができる。またポート2503は、LAN(Local Area Network)に接続するようにすることもできるし、電話回線に接続するようにすることもできる。
===磁気テープ装置===
ディスク制御装置200には磁気テープ装置400が通信可能に接続されている。磁気テープ装置400とディスク制御装置200とを接続する通信経路503は、例えばESCONやFICON、SCSI等による接続形態となっている。磁気テープ装置400は図1では、外部装置としディスク制御装置200と通信可能に接続しているが、ディスク制御装置200に内蔵する形態とすることもできる。また、磁気テープ装置400は、例えば、複数の磁気テープを管理できる磁気テープライブラリ装置であってもよい。さらに、磁気テープ装置400の代わりに光ディスクドライブ等の装置をディスク制御装置200に接続する形態とすることもできる。
磁気テープ装置400は、例えばCHA3(210)等の外部装置から受信したテープアクセス要求を受信すると、それに応じて、磁気テープの巻き取りや磁気テープに対するデータ入出力処理等を行う。データが記録された磁気テープは倉庫等へ保管されたり、情報処理装置間でデータを移行するために持ち運ばれたりされる。磁気テープの記憶容量はハードディスク等に比べて一般的に大容量であるが、近年は情報処理に使用されるデータの容量も大規模になってきており、1本の磁気テープではすべてのデータを記録することができないことも多い。その場合には、磁気テープを複数管理できる磁気テープライブラリ装置が用いられ、磁気テープライブラリ装置は複数の磁気テープにわたってデータを記録することで大容量のデータに対応する。
===テープへのアクセス===
磁気テープ装置400へのデータの入出力は、ハードディスク等の記憶装置に対するものとは異なり、記憶媒体のどこにデータを記憶するかという位置情報(アドレス)を持たない。例えば、ハードディスクへのアクセスでは、一般的にシリンダやトラックといった物理的あるいは論理的なディスク上での位置を示す情報を指定することによって、任意の位置に記憶されたデータを読み取ることができるが、テープへのアクセスでは、磁気テープ上の磁気ヘッドが位置している場所のデータを読み取ることしかできない。そのため、磁気テープからのデータ読み込みや磁気テープへのデータ書き込み等のデータ入出力用のコマンドに加え、磁気ヘッドの位置を調節するためのコマンドがある。
磁気テープには、磁気テープの読み書き可能な範囲を示すために、先頭(BOT:Beginning Of Tape)と終端(EOT:End Of Tape)を示すマークが付されている。このBOTからEOTまでの間がデータを記録することができる範囲となる。そして、磁気テープ装置400の備える磁気ヘッドが磁気テープ上の上記記録することができる範囲にデータを記録する。磁気ヘッドが一度に記録するデータ、つまり磁気テープに対する入出力の単位がレコードである。
磁気テープ装置400が磁気テープの巻き取りを開始してから一定の速度になるまでの時間は、磁気テープ装置400はデータを記録しないようになっている。そのため、磁気テープにはこの時間の間に巻き取られた長さ分だけ何も記録されない部分が存在することになる。この何も記録されない部分がIRG(Inter Record Gap)である。IRGが多くなると、磁気テープ上に何も記録されない部分が増えてしまい、好ましくない。そこで一般的な磁気テープ装置400では、複数のレコードをまとめて磁気テープに対して記録するようなしくみがとられている。このまとめたレコードがブロックである。ブロックとブロックの間にもIRGと同様に、何も記録されない部分が存在する。この何も記録されない部分がIBG(Inter Block Gap)である。
磁気テープ装置400ではブロック単位でデータの読み書きが行われるが、一般的に、磁気テープ装置400に対して入出力されるデータはファイルとして認識されている。磁気テープ装置400は特別な記号であるテープマーク(TM:Tape Mark)を磁気テープに記録することができるので、このテープマークをファイルの区切りとすることで、例えばCHA3(210)等の外部装置はブロック群をファイルとして認識することができる。
また、テープマークが2つ連続して記録されていることをもって、例えばCHA3(210)等の外部装置は磁気ヘッドがEOTに達するよりも前に磁気テープに記録したデータが最終であることを認識することができる。
上記のようにして、磁気テープ装置400はブロック単位とファイル単位すなわちテープマーク単位で磁気テープへアクセスすることが可能となっている。
磁気テープ装置400はCHA3(210)等の外部装置からテープアクセス要求を受信すると、受信したコマンドに応じて磁気テープに対するデータの入出力を行ったり、磁気テープを巻き取ることによって、データを入出力する位置(以下、記録位置と称する)の調整等を行う。テープアクセス要求には、例えば、磁気テープへデータを書き込むWR(WRite)コマンド、磁気テープへテープマークを書き込むWRTM(WRite Tape Mark)コマンド、EOT方向に向けて磁気テープからデータを読み込むRD(ReaD)コマンド、BOT方向に向けて磁気テープからデータを読み込むRD−BACKWARD(ReaD BACKWARD)コマンド、記録位置をEOT方向へ1ブロック分進めるFSB(Forward Space Block)コマンド、記録位置をBOT方向へ1ブロック分進めるBSB(Back Space Block)コマンド、記録されたテープマークが見つかるまで記録位置をEOT方向へ進めるFSF(Forward Space File)コマンド、記録されたテープマークがみつかるまで記録位置をBOT方向へ進めるBSF(Back Space File)コマンド等がある。
===テープアクセス要求===
まず、磁気テープへのデータの記録について説明する。
図4は磁気テープへのデータの書き込みを示す説明図である。この図では、BOT411とEOT417の間がデータを記録することが可能であって、磁気テープには既にTMn(412)、データm(413)、データm+1(414)が記録されており、ヘッド位置401に磁気ヘッドが位置している。ヘッド位置はすなわちIBGとなる位置である。ここで磁気テープ装置400はWRコマンドとともに、記録するためのデータである書き込みデータを受信すると、磁気ヘッドを走査させ、データm+2(415)部分に、受信した書き込みデータを記録する。この時点で磁気ヘッドはヘッド位置402に移動している(WR421)。また、さらに磁気テープ装置400がWRTMコマンドを受信すると、TMn+1(403)にテープマークを記録し、磁気ヘッドはヘッド位置403に移動している(WRTM422)。このようにして、磁気テープ装置400は磁気ヘッドがEOT417に達するまで、磁気ヘッドを走査させデータを記録していくことができる。
データを記録すると順次磁気ヘッドがBOT411からEOT417方向に進んで行く。しかし、ときには既に書き込んだデータを上書きしたいこともある。そのようなときには、磁気テープ装置はIBGやテープマークを目印に磁気テープの頭出しをする必要がある。磁気テープ装置において磁気テープの頭出しすなわち磁気ヘッドの移動は、上述したように、ブロック単位もしくはテープマークで区切られたファイル単位で行われる。
図5は磁気ヘッドの頭出しを表した説明図である。
磁気テープ装置400は、磁気ヘッドがヘッド位置401に位置しているときに、FSBコマンドを受信すると、磁気テープを巻き取り、ヘッド位置402に磁気ヘッドを移動させる(FSB431)。同様に、磁気テープ装置400は、磁気ヘッドがヘッド位置401に位置しているときにBSBコマンドを受信すると、磁気ヘッドはヘッド位置404に位置する(BSB432)。磁気テープ装置400はBSBコマンドを2回受信すると、ヘッド位置402に位置する磁気ヘッドをヘッド位置405に移動する。
一方ファイル単位の移動では、磁気テープ装置400は磁気ヘッドにブロック単位の移動を繰り返させながら、記録された内容を読み取り、区切りとなるテープマークを検索する。例えば磁気テープ装置400がFSFコマンドを受信した場合、磁気ヘッドはヘッド位置403に位置することになる(FSF441)。上述したように、ファイルの区切りはテープマークであるため、磁気テープ装置400はFSFコマンドやBSFコマンドを受信すると、テープマークを見つけるまで、命令された方向(FSFではEOT方向、BSBではBOT方向)に磁気ヘッドを移動するように、磁気テープを巻き取る。そのため、磁気テープ装置400がFSFコマンドを受信して磁気ヘッドを移動させる先は、ヘッド位置401からEOT方向に向けて最初のテープマークであるTMn+1(416)が見つかった直後のIBGであるヘッド位置403になる。逆に磁気テープ装置400が受信するのがBSFコマンドであった場合には、磁気ヘッドの位置はヘッド位置406となる(BSF442)。
図6は磁気テープに記録されたデータの読み取りを表した説明図である。磁気テープに記録されているデータの読み取りに使われるコマンドには、例えば、RDコマンドやRD−BACKWARDコマンドがある。磁気テープに記録されているデータの読み取りは、上述した磁気テープへの記録と同様にして、磁気テープ装置が磁気ヘッドを走査させ、磁気テープに記録されているデータを読み取る(RD451)。逆に磁気テープ装置はRD−BACKWARDコマンドを受信すると、磁気ヘッドが位置しているヘッド位置からBOT方向に向かって1ブロック分のデータを読み取り(RD−BACKWARD452)、読み取った1ブロック分のデータの内容を逆順に並べ替える等の処理を行う。
===磁気テープライブラリ装置エミュレーション===
まず、テープエミュレーションについて説明する。本実施の形態においてディスク制御装置200は、磁気テープ装置の中でも磁気テープライブラリ装置をエミュレートする。
上述したように、磁気テープへのアクセスは、磁気テープ装置が備える磁気ヘッドの位置に基づいてシーケンシャルに行われる。しかし、磁気ヘッドが磁気テープを走査する速度は比較的遅い。しかも、近年は情報処理装置に使用されるデータは爆発的に増加している。そのため、大量のデータを磁気テープへバックアップしたデータを磁気テープからリストアしたりする時間は無視できなくなっている。バックアップやリストアにかかる時間が長すぎると、情報処理装置が本来提供すべき情報処理サービス等の業務に支障がでるおそれがあるからである。
そこで、本実施の形態では、ディスク制御装置200がホストコンピュータ100が磁気テープ装置に対して行うデータ入出力をエミュレートし(テープエミュレーション)、磁気テープ装置に対するデータ入出力要求を解釈しながら、磁気テープに比べて高速なハードディスク等であるディスクドライブ300への入出力に変換する。これにより、ホストコンピュータ100上で動作するアプリケーションプログラムやジョブ制御文等を変更することなく、ホストコンピュータ100から磁気テープに対するデータ入出力は高速化されることになる。
一般的に、磁気テープライブラリ装置においては、複数の磁気テープを管理する収納庫と、その収納部に格納された磁気テープを磁気ヘッド装置や媒体の排出口等へ運ぶアクセサを備える。アクセサとはロボット等である。磁気テープライブラリ装置に通信可能に接続する情報処理装置等から、磁気テープライブラリ装置に対して磁気テープを排出するコマンドを送信し、磁気テープライブラリ装置がこのコマンドを受信すると、磁気テープライブラリ装置は前記アクセサを動作させ、アクセサが磁気テープを排出口へ運搬することによって磁気テープの排出処理を行う。また、磁気テープライブラリ装置が磁気テープを投入するコマンドを受信すると、磁気テープの投入口に挿入された磁気テープは磁気テープ収納庫までアクセサによって運搬され、投入された磁気テープを磁気テープライブラリ装置の管理下に置く。
例えば、ホストコンピュータ100上で動作するアプリケーションプログラムやジョブ制御文が、大規模なデータを取り扱うことを前提とし、このような磁気テープライブラリ装置に対するデータ入出力要求を送信するようになっていたとしても、本発明によるディスク制御装置200は、ホストコンピュータ100上で動作するアプリケーションプログラムやジョブ制御文に変更を加えることなく、ホストコンピュータ100からの磁気テープライブラリ装置に対するデータ入出力要求を受信できる。
===テープ情報テーブル===
図7は、テープエミュレーションに用いられるテープ情報テーブル600である。テープ情報テーブル600は、収納位置情報601、テープ識別情報602、論理ユニット情報603、BOT位置情報604、EOT位置情報605、ダブルTM位置情報606、TM位置情報607を備える。
磁気テープライブラリ装置には複数の磁気テープが収納庫に格納される。この収納庫内で格納される位置を示したのが収納位置601である。磁気テープの数はディスクドライブ300に記録できる範囲であれば、いくつであってもよい。ハードディスク等のディスクドライブでは、収納位置という概念を持たないため、ディスク制御装置200はテープ情報テーブル600に収納位置601を管理する。
磁気テープライブラリ装置の収納庫に格納される磁気テープはそれぞれに識別情報が付与され、収納庫内で一意のものとして判別できるようになっている。この識別情報がテープ識別情報602である。ディスク制御装置200は磁気テープを一意に決定することによって、ホストコンピュータ100から送信されるデータ入出力が、複数の磁気テープのうちどの磁気テープに対するものかを判別することが可能となる。磁気テープを識別する情報としては、例えば、磁気テープボリュームに設定されるボリュームシリアル番号等がある。
論理ユニット情報603は、ディスクドライブ300に設定されている論理ユニットを指定する項目である。ホストコンピュータ100から磁気テープ装置に対するデータ入出力要求は、ディスク制御装置200によって、ディスクドライブ300に設定される論理ユニットへのデータ入出力に変換される。ディスクドライブ300には複数の論理ユニットを設定することができるため、この論理ユニット群のうちどの論理ユニットを使うかを、論理ユニット情報603に設定する。
BOT位置情報604及びEOT位置情報605は、磁気テープの記録可能な範囲を示すBOT及びEOTの代わりに、ディスクドライブ300の論理ユニット上でデータの記憶可能な範囲を示す。この指定は磁気ディスクのシリンダ番号とヘッド番号(以下、CCHHと称する)で行う。
ダブルTM位置情報606は、後述するTM位置情報607群のうち、2つ連続して記録されたものを示す項目である。テープマークが2つ連続するということは、一般的に磁気テープの記録されたデータの中で最終のデータであることを示す。TM位置情報607群は、磁気テープが特別な記号として記録するテープマークを、論理ユニットのどの位置に記録したかを管理する。論理ユニット上の位置は例えばCCHHで指定する。
上記の内容を持つテープ情報テーブル600によって、磁気テープの識別情報と、ディスクドライブ300上での論理ユニットとが対応づけられる。従って、ホストコンピュータ100がデータ入出力の対象とする磁気テープ上でデータを記録をする位置と、ディスク制御装置200がデータ入出力の対象とするディスクドライブ300上でデータを記録する位置とが対応づけられることとなる。
===デッキ情報テーブル===
磁気テープライブラリ装置には、複数の磁気ヘッドを駆動する装置(デッキ)を備え、複数の磁気テープを同時にアクセスすることが可能になっているものがある。ホストコンピュータ100が磁気テープライブラリ装置に対してアクセスを行うときの一連の処理は、特定のデッキに対して特定の磁気テープをマウントするように要求し、磁気ヘッドの移動やデータの入出力の要求を行い、アンマウントを要求するという流れになる。磁気テープライブラリ装置に送信されるコマンドはデッキを指定したものとなる。ディスク制御装置200のチャネル制御部210は、ホストコンピュータ100がデッキを指定して送信したテープアクセス要求を解釈してデータ入出力の対象となる磁気テープを特定できるように、デッキと磁気テープの識別情報とを対応づけて記憶する。
また、磁気テープ上でデータを読み書きする位置は、複数のテープアクセス要求間で相対的に指定されることがある。例えば、チャネル制御部210が2つの磁気テープへの書き込みを要求するテープアクセス要求群を受信した場合に、最初のテープアクセス要求では、磁気テープの先頭から書き始めるように指定され、また2番目のテープアクセス要求では、最初のテープアクセス要求で行われた書き込みが終了した位置から書き始めるように指定される、といったことがある。ディスク制御装置200では、ホストコンピュータ100から送信されるこのようなアクセスに対応するため、磁気ディスク上でデータの入出力が完了した位置を記憶しておく。
図8は、デッキと磁気テープとの対応、及びデッキ毎に磁気テープ上でデータ入出力が完了した位置を記憶しておくためのテーブルである。デッキ情報テーブル700では、デッキを識別する情報を管理するデッキ識別情報701に対応づけて、磁気テープを識別する情報をテープ識別情報702に、またデータ入出力が完了した位置をヘッド位置情報703に記憶する。
ヘッド位置情報703に設定する値は、例えば、シリンダ番号とヘッド番号にレコード番号を付加したもの(以下、CCHHRと称する)である。
なお、テープ情報テーブル600のBOT位置情報604やTM位置情報607等に指定されるCCHH、またデッキ情報テーブル700のヘッド位置情報703に指定されるCCHHRは、一般的なハードディスク等のディスクドライブ上でのアドレス方法を前提としているが、特にこれに限定するものではない。すなわちディスクドライブ上の位置を指定することができる情報であればよい。
上述したテープ情報テーブル600と、上記デッキ情報テーブル700とに管理するデータによって、チャネル制御部210は磁気テープ上でデータを記録する位置を、ディスクドライブ300上での位置情報に対応付けて管理することができる。
===論理ユニット上での記憶方法について===
図9は、ディスクドライブ300に設定された論理ユニット上でのデータ記録を表現した模式図である。図9ではセグメントに分かれた論理ユニット上の領域に、カウント部(C)、実データ、ERASE情報(E)が記録されている。
図10にカウント部の内容を示す。カウント部はシリンダ番号901、ヘッド番号902、レコード番号903、実データの長さ904を備える。シリンダ番号901、ヘッド番号902、及びレコード番号903は、一般的なハードディスク等のディスクドライブで記録位置を決定するものであり、本実施の形態においては論理ユニット上での位置を示すアドレスである。実データの長さ904は、カウント部の後に続く実データの長さを特定するものである。
図9に戻り、セグメント801は、論理ディスク上のシリンダ0・ヘッド0に位置するセグメントである。またセグメント802は、シリンダj・ヘッドkに位置するセグメントである。同様にして、セグメント805までのセグメントがシリンダ及びヘッドによって指定されている。
セグメント801及び805は何も記録されていない空のセグメントである。この空のセグメントによってチャネル制御部210はBOTもしくはEOTを識別する。セグメント802には、カウント部811、カウント部812、実データ813が並んで記録されている。カウント部811はテープマークを表している。テープマークを表現するカウント部は、例えば図10の実データの長さ904にゼロ(0)を指定する等によって識別することができる。カウント部812と実データm(813)とがペアになり、磁気テープ上で1ブロックに相当するデータを表すレコードとなっている。ここでカウント部812の内容は、例えばシリンダ番号901に「j」、ヘッド番号902に「k」、レコード番号903に「2」が入る。カウント部814及び実データm+1(815)のペアも同様に、磁気テープ上で1ブロック分となるデータを記録している。ERASE情報816は、ERASE情報816が記録されているセグメント802のERASE情報816以降にはデータがないことを示す特別なカウント部である。ERASE情報は例えば、図10の全ての欄をFF(16進)にしたものとすることによって識別することができる。
===磁気テープのマウント・リワインド・アンマウント処理===
次に、ホストコンピュータ100が磁気テープライブラリ装置に対してデータの入出力を行う際の処理に従って、ディスク制御装置200のチャネル制御部210の動作を説明する。図11はホストコンピュータ100が磁気テープに対してデータ入出力を行うときの処理の流れを示すフローチャートである。磁気テープをデッキにマウントすることを要求するコマンドであるマウント要求を受け付け(S11001)、磁気テープに対するデータ入出力コマンドを受け付け(S11002)、磁気テープを巻き戻す(リワインド)要求を受け付け(S11003)、アンマウント要求を受け付ける(S11004)。次に各々の処理について説明していく。
図12は、上記マウント処理の流れを示すフローチャートである。
チャネル制御部210は、ホストコンピュータ100からマウント要求を受信する(S12001)。マウント要求にはデッキを指定する情報であるデッキ識別情報と、磁気テープを指定する情報であるテープ識別情報とが指定されている。デッキ情報テーブル700の、指定されたデッキ識別情報に対応するテープ識別情報702に、指定されたテープ識別情報を設定する(S12002)。次にテープ情報テーブル600より、指定されたテープ識別情報に対応するBOT位置情報604を取得する(S12003)。このBOT位置情報604に指定される論理ユニット上でのCCHHを1増やしたものが示すセグメントを、データの記録を開始するセグメントとする。さらに、BOT位置情報604のレコード番号は1として、データ記録を開始するアドレスをCCHHRの表現とする。こうして算出されるCCHHR(CCHH部分はBOT位置+1、R部分は1)を、デッキ情報テーブル700の指定されたデッキ識別情報に対応するヘッド位置情報703に設定する(S12004)。ここまでの設定が終わると、ホストコンピュータ100へマウント完了の通知を行う(S12005)。
チャネル制御部210がアンマウント要求を受信した場合は、指定されたデッキに対応するデッキ情報テーブル700の項目を削除することでアンマウント処理は完了し、ホストコンピュータ100へアンマウント完了通知を行う。
リワインド要求は磁気テープを先頭まで巻き戻す命令である。磁気テープの先頭はBOTで指定されるため、前記マウント処理と同様に、BOT位置で示される論理ユニット上のセグメントの次(+1)に位置するセグメントをデッキ情報テーブル700のヘッド位置情報703に設定する。この設定がなされることで処理は完了する。
図13は、リワインド要求に応じてチャネル制御部210で行われる処理の流れを示すフローチャートである。
チャネル制御部210がホストコンピュータ100からリワインド要求を受信し(S13001)、テープ情報テーブル600より、前記リワインド要求に指定されていたテープ識別情報に対応する、BOT位置情報604を取得する(S13002)。このBOT位置情報604に指定される論理ユニット上でのCCHHを1増やしたものと、レコード番号1とで表現されるCCHHRを、デッキ情報テーブル700の指定されたデッキのヘッド位置情報703に設定する(S13003)。設定が終わればホストコンピュータ100へリワインド完了の通知を行う(S13004)。
このようにして、ディスク制御装置200は、ホストコンピュータ100上で動作するアプリケーションプログラムやジョブ制御文等に変更を加えることなく、ホストコンピュータ100からマウント要求を受信することができる。
===磁気テープ書き込み処理===
次に磁気テープに対するデータ入出力処理のひとつである、磁気テープへのデータ書き込み処理を説明する。図14はディスク制御装置200のチャネル制御部210がホストコンピュータ100からWRコマンドを受信した場合の処理の流れを示すフローチャートである。
ホストコンピュータ100は磁気テープに1ブロック分のデータを書き込むために、ディスク制御装置200に対してWRコマンドとともに書き込み用データを送信する。WRコマンドにはデッキを指定する識別情報が指定されている。チャネル制御部210は、それらを受信すると、受信したWRコマンドに指定されているデッキに対応するテープ識別情報701と、ヘッド位置情報703とをデッキ情報テーブル700から取得する(S14001)。またテープ情報テーブル600から、テープ識別情報701に対応するデータを取得する。こうして、チャネル制御部210はWRコマンドに指定されたデッキを指定する識別情報を、磁気テープ上の位置を特定するための情報として利用することができ、この磁気テープ上の位置に対応するディスクドライブ300上の位置を取得して、ディスク制御コマンドを生成することができる。
そして、テープ情報テーブル600の論理ユニット情報603とデッキ情報テーブル700のヘッド位置情報703のCCHHとが示すディスクドライブ300上に設定された論理ユニット上のセグメント(以下、ヘッド位置セグメントと称する)がキャッシュメモリ230上にステージングされているかどうかを判定する(S14002)。キャッシュメモリ230上に前記のヘッド位置セグメントがステージングされていなければ(S14002:NO)、ヘッド位置セグメントをキャッシュメモリ230上に確保し(S14003)、ディスクドライブ300に設定された論理ユニットからヘッド位置セグメントに対応するデータをキャッシュメモリ230上にステージングする(S14004)。次にキャッシュメモリ230上にステージングされたセグメント内の空き容量と、WRコマンドによって書き込まれるデータ量とを比較する(S14005)。キャッシュメモリ230上にステージングされたセグメントの空き容量がWRコマンドによって書き込まれるデータ量に比べて少ない場合(S14005:空きがない)には、ヘッド位置情報703に設定されているアドレス(以下、ヘッド位置アドレスと称する)にERASE情報を書き込み(S14006)、ヘッド位置情報703に設定されているCCHHRのうちCCHHを1増やしレコード番号(R)は1にしたものを、ヘッド位置情報703に設定する(S14007)。次にヘッド位置情報703のCCHHと、テープ情報テーブル600のEOT位置情報605との比較を行い(S14008)、アドレスが一致した場合(S14008:一致)には、書き込みが不可能ということになり、チャネル制御部210はホストコンピュータ100にテープが終了した旨の応答を返す(S14009)。ヘッド位置情報703のCCHHがテープ情報テーブル600のEOT位置情報605と一致しない場合(S14008:不一致)には、書き込みが可能ということであるので、WRデータ書き込み用のセグメントとして、ヘッド位置セグメントをキャッシュメモリ230上に確保する(S14010)。そしてヘッド位置アドレスにカウント部を作成し(S14011)、書き込みデータをキャッシュメモリ230に格納する(S14012)。チャネル制御部210はホストコンピュータ100に正常終了を返し(S14013)、ヘッド位置情報703のレコード番号(R)をひとつ増やす(S14014)。
なお、データの書き込みは、磁気テープに書き込むデータをそのままディスクドライブ300に記録するようにしてもよい。
また、チャネル制御部210は圧縮機構2103を利用して、書き込むデータを圧縮することもできる。圧縮機構2103で使用される圧縮のアルゴリズムは、例えばランレングス符号化やハフマン符号化、LZ78符号化といったものを利用することができる。
これにより、ディスク制御装置200は、より効果的にデータを記録することが可能となる。
また、ディスク制御装置200は、磁気テープ装置400が磁気テープにデータの書き込みを行う際に書き込むデータに対して圧縮を行うのと同じように、ディスクドライブ300に書き込むデータを圧縮する。そうすることで、ディスク制御装置200は、リモートコピーの機能を用いてディスクドライブ300のデータを磁気テープ装置400が制御する磁気テープへコピーする場合に、ディスクドライブ300に書き込まれたデータを何ら変換ロジックを介さずそのままコピーすることができる。
===テープマーク書き込み処理===
テープマークを書き込む処理(WRTMコマンド)について説明する。図15はディスク制御装置200のチャネル制御部210がテープマークを書き込む際に行う処理の流れを示すフローチャートである。
ホストコンピュータ100から送信されるWRTMコマンドにはデッキを指定する識別情報が指定されている。チャネル制御部210はWRTMコマンドを受信すると、受信したWRTMコマンドに指定されるデッキに対応するテープ識別情報701と、ヘッド位置情報703とをデッキ情報テーブル700から取得する(S15001)。またテープ情報テーブル600から、テープ識別情報701に対応するデータを取得する。次にヘッド位置セグメントがキャッシュメモリ230上にステージングされているかどうかを判定する(S15002)。前記論理ユニット上のセグメントがキャッシュメモリ230上にステージングされていなければ(S15002:NO)、ヘッド位置セグメントをキャッシュメモリ230上に確保し(S15003)、論理ユニットからヘッド位置セグメントに対応するデータをキャッシュメモリ230上にステージングする(S15004)。そして、ヘッド位置アドレスにERASE情報を書き込み(S15005)、ヘッド位置情報703に設定されているアドレスのうちCCHHを1増やし、レコード番号(R)は1にしたものを、ヘッド位置情報703に再度設定する(S15006)。次にヘッド位置情報703のCCHHとテープ情報テーブル600のEOT位置情報605との比較を行い(S15007)、一致した場合(S15007:一致)には書き込みが不可能ということになり、チャネル制御部210はホストコンピュータ100にテープが終了した旨の応答を返す(S15008)。ヘッド位置情報703のCCHHとテープ情報テーブル600のEOT位置情報605とが一致しない場合(S15007:不一致)には、書き込みが可能ということであるので、ヘッド位置セグメントをキャッシュメモリ230上に確保する(S15009)。そしてヘッド位置アドレスに実データの長さゼロ(0)としてカウント部を作成する(S15010)。上述したように、本実施の形態では実データ長がゼロ(0)であるカウント部はテープマークを表現することになる。つまり、テープマークの書き込みが実現されたことになる。チャネル制御部210はホストコンピュータ100に正常終了を返し(S15011)、ヘッド位置情報703のレコード番号(R)をひとつ増やす(S15012)。
===磁気テープ読み込み処理===
磁気テープからの読み込み処理を説明する。図16はディスク制御装置200のチャネル制御部210がホストコンピュータ100からRDコマンドを受信した場合の処理の流れを示すフローチャートである。
ホストコンピュータ100は磁気テープからデータを読み込むために、RDコマンドをディスク制御装置200へ送信する。RDコマンドにはデッキを指定する識別情報と、読み込むデータ長とが指定されている。チャネル制御部210はRDコマンドを受信すると、デッキ情報テーブル700から、受信したRDコマンドに指定されているデッキに対応するテープ識別情報701とヘッド位置情報703とを取得する(S16001)。また、テープ情報テーブル600から、テープ識別情報701に対応する情報を取得する。次に、ヘッド位置セグメントが、キャッシュメモリ230上にステージングされているかどうかを判定する(S16002)。この論理ユニット上のセグメントがキャッシュメモリ230上にステージングされていなければ(S16002:NO)、ヘッド位置セグメントをキャッシュメモリ230上に確保し(S16003)、論理ユニットからヘッド位置セグメントに対応するデータをキャッシュメモリ230上にステージングする(S16004)。
次に、ヘッド位置アドレスが示すレコードのカウント部が、ERASE情報かどうかを判定する(S16005)。前記のカウント部がERASE情報であった場合(S16005:YES)には、ヘッド位置情報703に設定されているアドレスのCCHHを1増やし、レコード番号(R)は1にしたものをヘッド位置情報703に再度設定する(S16006)。ここで設定したヘッド位置情報703のアドレスのCCHHと、テープ情報テーブル600のEOT位置情報605に設定されたCCHH、またはダブルTM位置情報606が示すTM位置情報607に設定されたCCHHと一致するかどうかを調べ(S16007)、どちらかと一致した場合(S16007:YES)には、データが終了したことを意味するため、磁気テープが終了した旨を示す応答をホストコンピュータ100へ返し(S16008)処理を終了する。一方、どちらとも一致しない場合(S16007:NO)には、読み込み可能なデータが残っていることを示す。そこで次に、ヘッド位置セグメントがキャッシュメモリ230上に存在するかどうかを調べ(S16009)、存在していなければ(S16009:NO)、ヘッド位置セグメントをキャッシュメモリ230上に確保し(S16010)、論理ユニットからヘッド位置セグメントに対応するデータをステージングする(S16011)。そして、ヘッド位置アドレスが示すレコードのカウント部がテープマークであるかどうかを判定する(S16012)。前記カウント部がテープマークであった場合(S16012:YES)には、ホストコンピュータ100へテープマークであることを示す応答を返し、ヘッド位置情報703のレコード番号を1増やす(S16013)。前記のレコードのカウント部がテープマークではなかった場合(S16012:NO)には、(S16014)に進む。
次に、ヘッド位置アドレスが示すレコードから、ホストコンピュータ100にデータを転送する(S16014)。ホストコンピュータ100に転送されたデータのデータ長と、ホストコンピュータ100から受信したRDコマンドに指定されたデータ長とが等しくない場合(S16015:NO)には、ホストコンピュータ100に対して、RDコマンドで指定されたデータ長が不正であった旨を示す応答を返し(S16016)、処理を終了する。一方ホストコンピュータ100に転送されたデータのデータ長と、RDコマンドで指定されたデータ長とが等しい場合(S16015:YES)には、ホストコンピュータ100に対して正常終了を示す応答を返し(S16017)、ヘッド位置情報703に設定されているアドレスのレコード番号を1増やす(S16018)。
このようにして、1ブロック分のデータの転送がチャネル制御部210からホストコンピュータ100へ行われる。
なお、論理ユニットに対して書き込まれたデータが圧縮されたものである場合には、CHA2(210)が備える圧縮機構2103によって、読み込んだデータを伸張する。
===磁気テープ逆方向読み込み処理===
磁気テープ装置に対するデータ入出力は、磁気テープの最初(BOT)から磁気テープの終了(EOT)方向に行われることが多いが、前記方向とは逆方向に向かって行われることもある。本発明においても、そのような動作を実現すべく、ディスク制御装置200が逆方向へのデータ入出力に対応する。
図17は、ディスク制御装置200のチャネル制御部210がホストコンピュータ100からRD−BACKWARDコマンドを受信した場合の処理の流れを示すフローチャートである。
ホストコンピュータ100はBOTへ向けての方向(逆方向)へ1ブロック分のデータを読み込むために、RD−BACKWARDコマンドをディスク制御装置200へ送信する。RD−BACKWARDコマンドにはデッキを指定する識別情報が指定されている。チャネル制御部210はRD−BACKWARDコマンドを受信すると、デッキ情報テーブル700から、受信したRD−BACKWARDコマンドに指定されているデッキに対応するテープ識別情報701とヘッド位置情報703とを取得する(S17001)。また、テープ情報テーブル600からテープ識別情報701に対応する情報を取得する。
ここでヘッド位置情報703に設定されているアドレスのレコード番号部分(R)が1の場合(S17002:YES)、ヘッド位置情報703に設定されているアドレスのCCHHを1減らす(S17003)。ここでCCHHを1減らしたヘッド位置情報703と、テープ情報テーブル600のBOT位置情報604とを比較し(S17004)、一致していた場合(S17004:一致)は磁気テープの開始位置まで戻ったことを示す応答をホストコンピュータ100へ返す(S17005)。ヘッド位置情報703に設定されているアドレスのCCHHが、テープ情報テーブル600のBOT位置情報604と一致しない場合(S17004:不一致)には、ヘッド位置セグメントがキャッシュメモリ230上にステージングされているかどうかを判定する(S17006)。ヘッド位置セグメントがキャッシュメモリ230上にステージングされていなければ(S17006:NO)、ヘッド位置セグメントをキャッシュメモリ230上に確保し(S17007)、論理ユニットからヘッド位置セグメントに対応するデータをキャッシュメモリ230上にステージングする(S17008)。そしてヘッド位置情報703のレコード番号(R)部分には、上記セグメントの最終レコード番号を設定する(S17009)。
一方、(S17002)においてデッキ情報テーブル700のヘッド位置情報703に設定されているアドレスのレコード番号が1以外であった場合(S17002:NO)には、デッキ情報テーブル700のヘッド位置情報703に設定されているアドレスのレコード番号を1減らす(S17010)。ここでデッキ情報テーブル700のヘッド位置情報703に設定されているアドレスのCCHHと、テープ情報テーブル600の論理ユニット情報603とが示す論理ユニット上のセグメントが、キャッシュメモリ230上にステージングされているかどうかを判定し(S17011)、存在しなければ(S17011:NO)、ヘッド位置セグメントをキャッシュメモリ230上に確保し(S17012)、論理ユニットからヘッド位置セグメントに対応するデータをキャッシュメモリ230上にステージングする(S17013)。
次に、ヘッド位置アドレスが示すレコードのカウント部がテープマークであるかどうかを判定する(S17014)。前記カウント部がテープマークであった場合(S17014:YES)には、読み込んだデータがテープマークである旨の応答をホストコンピュータ100に返して(S17015)処理を終了する。前記カウント部がテープマークでない場合(S17014:NO)には、前記カウント部に続く実データを読み込み、逆読み機構2102に、逆読みに対応するデータ形式へと変換させた後、ホストコンピュータ100にデータを転送する(S17016)。ホストコンピュータ100に転送されたデータのデータ長と、RD−BACKWARDコマンドで指定されたデータ長とが等しくない場合(S17017:NO)には、ホストコンピュータ100に対してRD−BACKWARDコマンドで指定されたデータ長が不正であった旨を示す応答を返し(S17018)、処理を終了する。一方ホストコンピュータ100に転送されたデータのデータ長と、ホストコンピュータ100から受信したRD−BACKWARDコマンドで指定されたデータ長とが等しい場合(S17017:YES)には、ホストコンピュータに対して正常終了を示す応答を返す(S17019)。
なお、RD−BACKWARDコマンドを受信した場合に、チャネル制御部210は、読み込みを開始する論理ディスク上のアドレスをあらかじめ計算しておくこともできる。すなわち、例えばヘッド位置情報703に設定されているアドレスから前記RD−BACKWARDコマンドに指定されたデータ長を減算する等によって論理ディスク上のアドレスを求め、この求めたアドレスから正方向に読むようにできる。この計算は、CHA2(210)が備える逆読み機構2102で行う。
このようにディスク制御装置200は、逆方向へのデータ入出力にも対応するため、ホストコンピュータ100から送信されるテープアクセス要求が逆読みコマンドであったとしても、ホストコンピュータ100の期待するデータを返すことが可能となる。
===ブロックスキップ処理===
次に、ブロック単位で磁気ヘッドを移動させるコマンドに応じてディスク制御装置が行う処理について説明する。ブロック単位で磁気ヘッドを移動させるコマンドには、上述したように、BOTからEOTに向けて順方向と逆方向とに、それぞれFSBコマンドとBSBコマンドとがある。
まずFSBコマンドについて説明する。図18はFSBコマンドに応じてディスク制御装置200のチャネル制御部210が行う処理の流れを示すフローチャートである。ホストコンピュータ100は順方向に1ブロック分磁気ヘッドを動かすように、ディスク制御装置200に対してFSBコマンドを送信する。FSBコマンドには、ディスク制御装置200が複数備えるデッキのうちどのデッキに対して処理を行うかを指定するデッキの識別情報が含まれる。
チャネル制御部210はFSBコマンドを受信すると、受信したFSBコマンドに指定されているデッキに対応するテープ識別情報701とヘッド位置情報703とをデッキ情報テーブル700より取得する(S18001)。また、テープ情報テーブル600から、前記テープ識別情報701に対応する情報を取得しておく。そして、ヘッド位置セグメントがキャッシュメモリ230上に存在するかどうかを調べる(S18002)。ヘッド位置セグメントがキャッシュメモリ230上に存在しない場合(S18002:NO)には、ヘッド位置セグメントをキャッシュメモリ230上に確保する(S18003)。
次に、ヘッド位置アドレスが示すレコードのカウント部がERASE情報であるかどうかを判定する(S18004)。ERASE情報であった場合(S18004:YES)には、ヘッド位置情報703に設定されているアドレスのCCHHを1増やし(S18005)、レコード番号(R)を1に設定する(S18006)。ここでヘッド位置情報703に設定されたアドレスのCCHHと、テープ情報テーブル600のEOT位置情報605、あるいはダブルTM位置情報606が示すテープマークのTM位置情報607とが一致するかどうかを調べ(S18007)、どちらかと一致するようであれば(S18007:YES)、テープ終了を示す応答をホストコンピュータ100に返し(S18008)、処理を終了する。どちらとも一致しない場合(S18007:NO)には、(S18009)に進む。
ここでヘッド位置情報703に設定されたアドレスのレコード番号を1増加させる(S18009)。ヘッド位置アドレスが示すレコードが1ブロック分のデータとなるため、磁気ヘッドの仮想的な位置を示すヘッド位置情報703に設定されたアドレスのレコード番号を1進めることで、仮想的に1ブロック移動したこととなる。そして、ホストコンピュータ100に正常終了を示す応答を返す(S18010)。
次にBSBコマンドについて説明する。図19はBSBコマンドに応じてチャネル制御部210が行う処理の流れを示すフローチャートである。ホストコンピュータ100は逆方向、すなわちEOTからBOTに向けた方向に1ブロック分磁気ヘッドを動かすように、ディスク制御装置200に対してBSBコマンドを送信する。BSBコマンドではどのデッキに対して処理を行うかを指定したデッキの識別情報が含まる。
チャネル制御部210はBSBコマンドを受信すると、受信したBSBコマンドに指定されているデッキに対応するテープ識別情報701とヘッド位置情報703とをデッキ情報テーブル700より取得する(S19001)。また、テープ情報テーブル600から、前記テープ識別情報701に対応する情報を取得しておく。
まずヘッド位置情報703に設定されているアドレスのレコード番号(R)が1であるかどうかを判定する(S19002)。ヘッド位置情報703に設定されているアドレスのレコード番号が1でなければ(S19002:NO)、ヘッド位置情報のレコード番号を1減らし(S19003)、(S19001)へ進む。
ヘッド位置情報703に設定されているアドレスのレコード番号が1であった場合(S19002:YES)には、ヘッド位置情報703に設定されているアドレスのCCHHを1減らす(S19004)。ここでCCHHを1減らしてヘッド位置情報703に設定されたアドレスのCCHHと、テープ情報テーブル600のBOT位置情報604とが一致するかどうかを調べる(S19005)。ヘッド位置情報に設定されているアドレスのCCHHとBOT位置情報とが一致した場合(S19005:YES)には、磁気ヘッドが磁気テープの先頭に来てしまい、1ブロック分BOT方向に進めることができない状態を意味するため、テープの先頭を示す応答をホストコンピュータ100に返し(S19006)、処理を終了する。一方、ヘッド位置情報703に設定されたアドレスのCCHHとBOT位置情報604に設定されているCCHHとが一致しない場合(S19005:NO)は、ヘッド位置セグメントがキャッシュメモリ230上に存在するかどうかを調べる(S19007)。キャッシュメモリ230上に存在しない場合(S19007:NO)には、ヘッド位置セグメントをキャッシュメモリ230上に確保し、ディスクドライブ300に設定されている論理ユニットからヘッド位置セグメントに対応するデータをステージングする(S19009)。次にヘッド位置セグメントの最終レコードの番号を、ヘッド位置情報703のレコード番号へ設定する(S19010)。そして、正常終了を示す応答をホストコンピュータ100に返す(S19011)。
===ファイルスキップ処理===
次に、ファイル単位で磁気ヘッドを移動させるコマンドに応じてディスク制御装置200のチャネル制御部210が行う処理について説明する。ファイル単位で磁気ヘッドを移動させるコマンドには、上述したように、BOTからEOTに向けて順方向と逆方向とに、それぞれFSFコマンドとBSFコマンドとがある。
まずFSFコマンドについて説明する。図20はFSFコマンドに応じでチャネル制御部210が行う処理の流れを示すフローチャートである。ホストコンピュータ100は磁気テープに記録されるテープマークを区切りとしてファイルを認識するため、FSFコマンドによって進める磁気ヘッドの位置は、次にテープマークが見つかるところである。FSFコマンドには、ディスク制御装置200が備える複数のデッキのうちどのデッキに対して処理を行うかを指定するデッキの識別情報が含まれる。
チャネル制御部210はFSFコマンドを受信すると、受信したFSFコマンドに指定されているデッキに対応するテープ識別情報701とヘッド位置情報703とをデッキ情報テーブル700より取得する(S20001)。取得したテープ識別情報701に対応するテープ情報テーブル600上のテープマーク位置を示すTM位置情報607群に対して、デッキ情報テーブル700のヘッド位置情報703に設定されたアドレスのCCHHよりも大きいCCHHを持つTM位置情報607を検出するまで、TM位置情報1(607)からTM位置情報mm(607)に向けて、順次検査をする(S20002)。ヘッド位置情報703に設定されたアドレスのCCHHよりも大きいCCHHを持つTM位置情報607を検出できなかった場合(S20003:NO)は、テープ終了を示す応答をホストコンピュータ100へ返し(S20004)、処理を終了する。前記TM位置情報607が検出された場合(S20003:YES)には、ヘッド位置情報703のCCHHに、検出されたTM位置情報のCCHHを設定し(S20005)、ヘッド位置情報703のレコード番号には1を設定する(S20006)。そして正常終了を示す応答をホストコンピュータ100へ返す(S20007)。
次にBSFコマンドについて説明する。図21はBSFコマンドに応じてチャネル制御部210が行う処理の流れを示すフローチャートである。
チャネル制御部210はBSFコマンドを受信すると、受信したBSFコマンドに指定されているデッキに対応するテープ識別情報701とヘッド位置情報703とをデッキ情報テーブル700より取得する(S21001)。取得したテープ識別情報701に対応するテープ情報テーブル600上のテープマーク位置を示すTM位置情報607群に対して、デッキ情報テーブル700のヘッド位置情報703に設定されたアドレスのCCHHよりも小さいCCHHを持つTM位置情報607を検出するまで、ダブルTM位置情報の示すTM位置情報607より、TM位置情報1(607)に向けて順次検査をする(S21002)。ヘッド位置情報703に設定されたアドレスのCCHHよりも小さなCCHHを持つTM位置情報607を検出できなかった場合(S21003:NO)は、テープの先頭を示す応答をホストコンピュータ100へ返し(S21007)、処理を終了する。一方、前記TM位置情報607を検出できた場合(S21007:YES)には、ヘッド位置情報703のCCHHに、検出されたTM位置情報のCCHHを設定し(S21005)、ヘッド位置情報703のレコード番号には1を設定する(S21006)。そして正常終了を示す応答をホストコンピュータ100へ返す(S21007)。
===データ排出・投入要求===
これまでに説明した処理により、ディスク制御装置200は、ホストコンピュータ100から磁気テープへのアクセスを、ディスクドライブ300へのアクセスに変換することができる。しかし、ディスクドライブ300にデータを記録するだけでは、データを記録した磁気テープを倉庫に保管したり、ホストコンピュータ100から他のホストコンピュータ等にデータを移行するような可搬性がない。そこで、ディスク制御装置200は、ホストコンピュータ100を介さずに、ディスク制御装置200に接続する磁気テープ装置400に対してディスクドライブ300に格納されているデータを入出力することで、可搬型記録媒体である磁気テープにデータを書き出したり、データを読み込んだりすることができる。例えば、オペレータの操作等によって、ディスク制御装置200に接続する管理コンピュータ250から指示が行われると、ディスク制御装置200は前記のような可搬型記録媒体に対するデータの書き出しや読み込みを行うようになっている。
===データ排出処理===
バックアップ等のために、ディスク制御装置200のチャネル制御部210が磁気テープ等の可搬型記録媒体へデータを書き出すデータ排出処理について説明する。
管理端末250は、オペレータ等の操作によりディスク制御装置200に対して、磁気テープ装置に対してデータを書き出すことを要求するコマンドであるデータ排出要求を送信することができる。前記のデータ排出要求は、ホストコンピュータ100等からディスク制御装置200に対して送信されてもよい。データ排出要求には、どのデッキを利用するかを指定するデッキ識別情報と、どの磁気テープにデータを書き込むかを指定するテープ識別情報とが設定される。
チャネル制御部210は複製処理部2104により、上述したリモートコピー機能を用いて、磁気テープ装置400が制御する磁気テープにデータを書き出すことが可能である。複製処理部2104は、磁気テープ装置400等の可搬型記録媒体制御装置にセットされる磁気テープ等の可搬型記録媒体のボリュームをデータの複製先の記憶領域とし、ディスクドライブ300に設定された記憶領域を複製元としてリモートコピー機能を動作させることにより、ディスクドライブ300上のデータを可搬型記録媒体にコピーすることができる。
すなわち、ディスク制御装置200は、通常のデータ入出力にはディスクドライブを使用することで効率的なデータへのアクセスを提供しながら、必要なときには可搬型記録媒体に対してのデータ入出力を行うことができる。ディスク制御装置200は、可搬型記録媒体へのデータ書き出しを、チャネル制御部210で動作するリモートコピーの機能を用いて実現することができる。ここで、ホストコンピュータ100上で動作するアプリケーションプログラムやジョブ制御文に変更を加える必要はなく、変更によって生じる可能性のある不具合を回避することができる。
チャネル制御部210は、上記リモートコピーを用いる方法の他に、磁気テープ装置400に対するデータ入出力要求を生成しながら磁気テープにデータを書き出すこともできる。図22は、チャネル制御部210が上記のリモートコピー機能を用いずに磁気テープ装置400にデータをコピーする処理の流れを示すフローチャートである。
管理端末250が、オペレータ等からの指示により、データ排出要求をチャネル制御部210に送信する(S22001)。チャネル制御部210はデータ排出要求を受信すると、テープ識別情報とデッキ識別情報とを取得する(S22002)。チャネル制御部210は、テープ情報テーブル600の前記取得したテープ識別情報に対応するBOT位置情報604を、デッキ情報テーブル700のヘッド位置情報703に設定し(S22003)、ヘッド位置情報703に設定されるアドレスのレコード番号を1に設定する(S22004)。次に、チャネル制御部210は磁気テープ装置400にマウント要求を送信する(S22005)。磁気テープ装置は、磁気テープのマウント要求を受信すると、挿入されている磁気テープに対してマウント処理を行い(S22006)、マウント処理が終了した旨を示すマウント終了通知をチャネル制御部210へ応答する(S22007)。チャネル制御部210は磁気テープ装置400からの応答を受信すると、後述する磁気テープへのアクセスを行い、磁気テープへデータを書き込む(S22008)。磁気テープへのデータ書き込みあが終わると、デッキ情報テーブル700の当該デッキに対応するデータをクリアする(S22009)。そして、チャネル制御部210は磁気テープ装置へリワインド及びアンマウントする処理を要求するコマンドであるリワインド・アンマウント要求を磁気テープ装置400に送信する(S22010)。磁気テープ装置はリワインド・アンマウント要求を受信すると、磁気テープをリワインドし(S22001)、磁気テープのアンマウント処理を行う(S22012)。磁気テープ装置は、アンマウント処理を終えると、チャネル制御部210にアンマウント処理が終了した旨を示すアンマウント終了通知を送信する(S22013)。チャネル制御部210は、アンマウント終了通知を受信すると、管理端末250に対し、データ排出要求に対する処理が終了した旨を示す終了通知を送信する(S22014)。管理端末250はチャネル制御部210からデータ排出要求に対する処理の終了通知を受信すると、終了した旨を管理端末250の備えるディスプレイ等の出力装置256に表示する(S22015)。
図23は、チャネル制御部210が、磁気テープ装置400がマウントした磁気テープに対してデータを書き込む処理の流れを示すフローチャートである。
チャネル制御部210は、デッキ情報テーブル700のヘッド位置情報703に設定されているアドレスのCCHHが、テープ情報テーブル600のEOT位置情報605に設定されている値を超えていないかどうかを判定し(S23001)、超えていた場合(S23001:YES)には処理を終了する。ヘッド位置情報703に設定されているアドレスのCCHHがEOT位置情報605に設定されている値を超えていない場合(S23001:NO)は、次に、ヘッド位置セグメントがキャッシュメモリ230上に存在するかどうかを調べ(S23002)、存在していなければ(S23002:NO)、キャッシュメモリ230上にヘッド位置セグメントを確保し、ディスクドライブ300に設定された論理ユニットからヘッド位置セグメントに対応するデータをキャッシュメモリ230上にステージングする(S23004)。
次にヘッド位置アドレスが示すレコードのカウント部をチェックする(S23005)。ヘッド位置アドレスが示すレコードのカウント部がERASE情報であった場合(S23005:ERASE)は、ヘッド位置情報703に設定されているアドレスのCCHHを1増やし(S23006)、レコード番号を1に設定して(S23007)、(S23001)に進む。
一方、ヘッド位置アドレスが示すレコードのカウント部がテープマークであった場合には(S23005:テープマーク)、磁気テープ装置400に対してテープマークを書き込むWRTMコマンドを送信する(S23008)。また、前記カウント部がERASE情報でもテープマークでもないデータを示す場合(S23005:実データ)には、ヘッド位置アドレスが示すレコードのデータ部にデータが記録されていることを示すため、ヘッド位置アドレスが示すレコードからデータを読み出し(S23009)、読み出したデータを書き込みデータとして、磁気テープ装置400へWRコマンドを送信する(S23010)。
磁気テープ装置400へコマンドを送信すると、磁気テープ装置400からの応答が正常終了であるかどうかを調べ(S23011)、正常終了であれば(S23011:YES)、(S23005)へ進む。正常終了でなかった場合には(S23011:NO)、異常が発生したこととなるため、チャネル制御部210は以前に行った処理をロールバックする等、異常に対応する処理を行い(S23012)、処理を終了する。
===データ投入処理===
次に、バックアップ等で書き出されりデータが記録されている磁気テープから、ディスク制御装置200へデータをコピーするデータ投入処理について説明する。
オペレータ等の操作により、管理端末250はディスク制御装置200に対して、磁気テープ装置からデータを読み取ることを要求するコマンドであるデータ投入要求を送信することができる。前記のデータ投入要求は、ホストコンピュータ100等からディスク制御装置200に対して送信されてもよい。データ投入要求には、どのデッキに対して投入をするかを示すデッキの識別情報と、投入された磁気テープを識別するテープ識別情報とが含まれる。
ディスク制御装置200のチャネル制御部210は複製処理部2104により、上述したリモートコピー機能を用いて、磁気テープ装置400が制御する磁気テープからデータを読み出すことが可能である。磁気テープ装置400等の可搬型記録媒体制御装置に投入された磁気テープ等の可搬型記録媒体のボリュームを複製元の記憶領域とし、ディスクドライブ300に設定される記憶領域を複製先の記憶領域としてリモートコピー機能を動作させることで、可搬型記録媒体からディスクドライブ300にデータを読み出すことができる。
すなわち、ディスク制御装置200は、通常のデータ入出力にはディスクドライブを使用することで効率的なデータへのアクセスを提供しながら、必要なときには可搬型記録媒体に対してのデータ入出力を行うことができる。ディスク制御装置200は、可搬型記録媒体へのデータ書き出しを、チャネル制御部210で動作するリモートコピーの機能を用いて実現することができる。ここで、ホストコンピュータ100上で動作するアプリケーションプログラムやジョブ制御文に変更を加える必要はなく、変更によって生じる可能性のある不具合を回避することができる。
チャネル制御部210は、上記リモートコピーを用いる方法の他に、磁気テープ装置400に対するデータ入出力要求を生成しながら磁気テープからデータを読み出すこともできる。図24は、チャネル制御部210が上記のリモートコピー機能を用いずに磁気テープ装置400からデータをコピーする処理の流れを示すフローチャートである。
管理端末250が、オペレータ等からの指示により、データ投入要求をディスク制御装置200に送信する(S24001)。チャネル制御部210はデータ投入要求を受信すると、テープ識別情報とデッキ識別情報とを取得する(S24002)。チャネル制御部210は、テープ情報テーブル600の前記取得したテープ識別情報に対応するBOT位置情報604を、デッキ情報テーブル700のヘッド位置情報703に設定し(S24003)、ヘッド位置情報703に設定されるアドレスのレコード番号を1に設定する(S24004)。次に、チャネル制御部210は磁気テープ装置400にマウント要求を送信する(S24005)。磁気テープ装置は、磁気テープのマウント要求を受信すると、挿入されている磁気テープに対するマウント処理を行い(S24006)、マウント処理が終了した旨を示すマウント終了通知をチャネル制御部210へ応答する(S24007)。チャネル制御部210は磁気テープ装置400からの応答を受信すると、後述する磁気テープへのアクセスを行い、磁気テープからデータを読み込む(S24008)。磁気テープからのデータ読み込みが終わると、デッキ情報テーブル700の当該デッキに対応するデータをクリアする(S24009)。そして、チャネル制御部210は磁気テープ装置へリワインド及びアンマウントする処理を要求するコマンドであるリワインド・アンマウント要求を磁気テープ装置400に送信する(S24010)。磁気テープ装置はリワインド・アンマウント要求を受信すると、磁気テープをリワインドし(S24001)、磁気テープのアンマウント処理を行う(S24012)。磁気テープ装置は、アンマウント処理を終えると、チャネル制御部210にアンマウント処理が終了した旨を示すアンマウント終了通知を送信する(S24013)。チャネル制御部210は、アンマウント終了通知を受信すると、管理端末250に対し、データ投入要求に対する処理が終了した旨を示す終了通知を送信する(S24014)。管理端末250はチャネル制御部210からデータ投入要求に対する処理の終了通知を受信すると、終了した旨を管理端末250の備えるディスプレイ等の出力装置256に表示する(S24015)。
図25は、磁気テープ装置400がマウントした磁気テープからデータを読み込み、ディスクドライブ300へデータをコピーする処理の流れを示すフローチャートである。
チャネル制御部210は、ヘッド位置セグメントをキャッシュメモリ230上に確保し(S25001)、磁気テープ装置にデータ読み込みを指示するRDコマンドを送信する(S25002)。そして磁気テープ装置からの、RDコマンドに対する応答を判定する(S25003)。送信したRDコマンドに対する応答がテープ終了を示すものであった場合(S25003:テープ終了)処理を終了する。RDコマンドに対する応答が異常終了であった場合(S25003:異常終了)には、例えば読み込んだディスク上のデータをクリアする等、予め定められた異常終了処理を実行し(S25004)、一連の処理を終了する。
一方、チャネル制御部210が磁気テープ装置400に送信したRDコマンドに対する磁気テープ装置400の応答が正常終了であった場合(S25003:正常終了)には、コマンドに対する応答に続いて、磁気テープから読み込んだデータが磁気テープ装置からチャネル制御部210へ送信される。そこで、この読み込んだデータが、上記のように確保したセグメントに格納が可能かどうかを判定する(S25005)。上記確保したセグメントに格納可能ではない場合(S25005:NO)には、ヘッド位置アドレスが示すレコードに、ERASE情報を表すカウント部を作成する(S25006)。そしてヘッド位置情報703に設定されているアドレスのCCHHを1増やし(S25007)、レコード番号を1に設定する(S25008)。次に、新たに設定したヘッド位置情報703に設定されているアドレスのCCHHと論理ユニット情報603とが示すセグメントをキャッシュメモリ230上に確保(S25009)する。そしてヘッド位置情報のCCHHRが示すレコードにカウント部を作成し、上記の磁気テープ装置から読み込んだデータをキャッシュメモリ230に格納し(S25010)、ヘッド位置情報703のレコード番号を1増やす(S25011)。ここから再度(S25002)に進み、磁気テープ装置400からデータの読み込みを繰り返す。このようにして、チャネル制御部210は、磁気テープ装置400に挿入された磁気テープから読み込んだデータを、キャッシュメモリ230を介してディスクドライブ300に記憶していく。
(S25003)においてチャネル制御部210から磁気テープ装置400に送信したRDコマンドに対する磁気テープ装置400の応答がテープマークである旨のものであった場合(S25003:テープマーク)、ヘッド位置情報703に設定されたアドレスが示すレコードに、ERASE情報を作成する(S25012)。そして、ヘッド位置情報703に設定されているアドレスのCCHHを1増やし(S25013)、レコード番号を1に設定する(S25014)。ここでヘッド位置情報703に設定されたアドレスのCCHHと論理ユニット情報603とが示すセグメントをキャッシュメモリ230上に確保する(S25015)。次にヘッド位置アドレスが示すレコードに、テープマークを表すカウント部を作成する(S25016)。また、テープ情報テーブル600のTM位置情報607を更新する(S25017)。そして上記の(S25011)に進み、磁気テープ装置400からのデータ読み込みを続ける。
===テープ移動処理===
さらに、磁気テープライブラリ装置が備える収納庫内で磁気テープの収納位置を変更させるためのコマンドであるテープ移動要求を、チャネル制御部210が受信すると、例えば、移動元の収納位置に対応するテープ情報テーブル600のデータを移動先の収納位置に対応するテープ情報テーブル600に移動する。
磁気テープの移動処理は、このように容易に実現できる。磁気テープライブラリ装置では、磁気テープを収納庫内で移動させる処理には時間がかかるが、上記のような移動処理は高速に行われる。従って、ディスク制御装置200は、管理端末250やホストコンピュータ100からテープ移動要求を受信すると、上記のような処理を行い、迅速なレスポンスを返すことができる。
===その他の実施の形態===
本実施の形態では、データ投入処理、データ排出処理、テープ移動処理といった、各処理は、管理端末250からディスク制御装置200に対して指示される形態であったが、ホストコンピュータ100がディスク制御装置200に対して送信してもよい。その際に、例えば、チャネル制御部210が受信したデータ入出力が、前記データ投入処理や、データ排出処理、テープ移動処理といった処理を指示するコマンドであるのか、ディスクドライブ300に対するデータ入出力要求であるのか、磁気テープに対するデータ入出力要求であるのかといった判断をチャネル制御部210で行うようにできる。
また、上記の処理を指示するために、ホストコンピュータ100が、送信するデータ入出力要求にオプションとして上記のような処理の種類を指定するようにしてもよい。例えば、ホストコンピュータ100が送信するテープアクセス要求に、ディスク制御装置200の備えるディスクドライブ300に対して書き込みをするように指示するオプションや、ディスクドライブ300には書き込まず、磁気テープ装置400へ書き出すように指示するオプションといったオプションを設定するようにする。そして、ディスク制御装置200の備えるチャネル制御部210が、上記のテープアクセス要求を受信して解釈する際に、そのオプションに応じてディスクドライブ300あるいは磁気テープ装置400のどちらに対するデータ入出力を行うかを判断するようにできる。
さらに、ディスク制御装置200は、ディスクドライブ300内でデータをコピーするようにもできる。例えば、ホストコンピュータ100や管理端末250がディスク制御装置200に対して送信するテープアクセス要求やデータ排出要求等のコマンドに、ディスク制御装置200内でのバックアップを指示するようにオプションを設定できる。このような場合にディスク制御装置200は、受信したデータ排出要求を解釈し、磁気テープ装置400に対してデータを書き出すのか、ディスクドライブ300内の別の位置にデータを書き出すのかを選択して、データの書き出しを行う。
また、本実施の形態では、ディスク制御装置200の備えるチャネル制御部210が、テープアクセス要求の解釈や、書き込みデータの圧縮、逆読みの処理を行う形態であるが、これをディスク制御部240が行う形態とすることもできる。その場合には、チャネル制御部210が受信したデータ入出力要求は、ディスクアクセス要求かテープアクセス要求かにかかわらず、ディスク制御部240に渡され、ディスク制御部240が、チャネル制御部210が受信したデータ入出力要求を解釈し、ディスクドライブ300へのデータ入出力に関する制御を行うようにする。さらに、ディスク制御装置200がデータ投入処理やデータ排出処理を行うときのような、磁気テープ装置400等の可搬型記録媒体制御装置に対してデータ入出力を行う場合には、ディスク制御部240がチャネル制御部210に対して、磁気テープ装置400との通信を指示する。ディスク制御部240は、上述したように、磁気テープ装置400に対してデータ入出力要求を生成するようにしてもよいし、チャネル制御部210の備える複製処理部2104によるリモートコピー機能を動作させてもよい。
以上本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
本発明の一実施例による情報処理システムの全体構成を示す図である。 本発明の一実施例によるチャネル制御部210のハードウェア構成を示す図である。 本発明の一実施例による管理端末250の構成を示す図である。 本発明の一実施例による磁気テープへのデータの書き込みを示す説明図である。 本発明の一実施例による磁気ヘッドの頭出しを表した説明図である。 本発明の一実施例による磁気テープに記録されたデータの読み取りを表した説明図である。 本発明の一実施例によるテープ情報テーブル600を示す図である。 本発明の一実施例によるデッキ情報テーブル700を示す図である。 本発明の一実施例によるディスクドライブ300に設定された論理ユニット上でのデータ記録を表現した模式図である。 本発明の一実施例によるカウント部の内容を示す図である。 本発明の一実施例によるホストコンピュータ100が磁気テープに対してデータ入出力を行うときの処理の流れを示すフローチャートを示す図である。 本発明の一実施例によるマウント処理の流れを説明するフローチャートを示す図である。 本発明の一実施例によるリワインド要求に応じてチャネル制御部210で行われる処理の流れを説明するフローチャートを示す図である。 本発明の一実施例によるディスク制御装置200のチャネル制御部210がホストコンピュータ100からWRコマンドを受信した場合の処理の流れを説明するフローチャートを示す図である。 本発明の一実施例によるディスク制御装置200のチャネル制御部210がテープマークを書き込む際に行う処理の流れを説明するフローチャートを示す図である。 本発明の一実施例によるディスク制御装置200のチャネル制御部210がホストコンピュータ100からRDコマンドを受信した場合の処理の流れを説明するフローチャートを示す図である。 本発明の一実施例によるディスク制御装置200のチャネル制御部210がホストコンピュータ100からRD−BACKWARDコマンドを受信した場合の処理の流れを説明するフローチャートを示す図である。 本発明の一実施例によるFSBコマンドに応じてディスク制御装置200のチャネル制御部210が行う処理の流れを説明するフローチャートを示す図である。 本発明の一実施例によるBSBコマンドに応じてチャネル制御部210が行う処理の流れを説明するフローチャートを示す図である。 本発明の一実施例によるFSFコマンドに応じでチャネル制御部210が行う処理の流れを説明するフローチャートを示す図である。 本発明の一実施例によるBSFコマンドに応じてチャネル制御部210が行う処理の流れを説明するフローチャートを示す図である。 本発明の一実施例によるチャネル制御部210がリモートコピー機能を用いずに磁気テープ装置400にデータをコピーする処理の流れを説明するフローチャートを示す図である。 本発明の一実施例によるチャネル制御部210が、磁気テープ装置400がマウントした磁気テープに対してデータを書き込む処理の流れを説明するフローチャートを示す図である。 本発明の一実施例によるチャネル制御部210がリモートコピー機能を用いずに磁気テープ装置400からデータをコピーする処理の流れを説明するフローチャートを示す図である。 本発明の一実施例による磁気テープ装置400がマウントした磁気テープからデータを読み込み、ディスクドライブ300へデータをコピーする処理の流れを説明するフローチャートを示す図である。
符号の説明
100 ホストコンピュータ
200 ディスク制御装置
210 チャネル制御部
2101 コマンド制御部
2102 逆読み機構
2103 圧縮機構
2104 複製処理部
220 共有メモリ
230 キャッシュメモリ
240 ディスク制御部
250 管理端末
300 ディスクドライブ
400 磁気テープ装置

Claims (8)

  1. 情報処理装置から送信されるデータ入出力要求を受信するチャネル制御部と、
    ディスクドライブを制御するディスク制御部と、
    前記チャネル制御部と前記ディスク制御部との間で授受されるデータを記憶するキャッシュメモリと、を備え、
    前記チャネル制御部は、磁気テープ上でデータを記録する位置を特定するための情報と、前記ディスクドライブ上でデータを記録する位置を特定するための情報とを対応づけて記憶し、
    前記チャネル制御部は、前記受信したデータ入出力要求が前記ディスクドライブに対するデータ入出力を要求するディスクアクセス要求である場合には、前記ディスクアクセス要求に応じて前記ディスクドライブに対してデータ入出力を行うように前記ディスク制御部に指示をするディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って前記ディスクドライブに対するデータ入出力に関する制御を行い、
    前記チャネル制御部は、前記受信したデータ入出力要求が、磁気テープ装置に対するデータ入出力を要求するテープアクセス要求である場合には、前記磁気テープ上の位置を特定するための情報に対応する前記ディスクドライブ上の位置を特定するための情報を設定して前記ディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って前記ディスクドライブに対するデータ入出力に関する制御を行うこと、
    を特徴とするディスク制御装置。
  2. 請求項1に記載のディスク制御装置であって、
    前記チャネル制御部は、前記ディスクドライブである第1のディスクドライブに記憶されているデータの複製を、他のディスク制御装置がデータ入出力を行う第2のディスクドライブに記憶させるために、前記他のディスク制御装置に対してデータ入出力要求を送信する機能を有する複製処理部を備え、
    前記チャネル制御部には、可搬型記録媒体に対するデータ入出力に関する制御を行う可搬型記録媒体制御装置が通信可能に接続され、
    前記チャネル制御部は、前記第1のディスクドライブから前記可搬型記録媒体へデータを書き出すように指示するコマンドを受信すると、前記複製処理部により、前記第1のディスクドライブに記憶されているデータを前記可搬型記録媒体制御装置に送信すること、
    を特徴とするディスク制御装置。
  3. 請求項1に記載のディスク制御装置であって、
    前記チャネル制御部は、前記ディスクドライブである第1のディスクドライブに、他のディスク制御装置がデータ入出力を行う第2のディスクドライブに記憶されているデータの複製を記憶させるために、前記他のディスク制御装置に対してデータ入出力要求を送信する機能を有する複製処理部を備え、
    前記チャネル制御部には、可搬型記録媒体に対するデータ入出力に関する制御を行う可搬型記録媒体制御装置が通信可能に接続され、
    前記チャネル制御部は、前記可搬型記録媒体からデータを読み出すように指示するコマンドを受信すると、前記複製処理部により、前記可搬型記録媒体からデータを読み出すように指示する要求を、前記可搬型記録媒体制御装置に送信すること、
    を特徴とするディスク制御装置。
  4. 請求項1乃至3のいずれかに記載のディスク制御装置であって、
    前記チャネル制御部は、前記受信した前記データ入出力要求が前記テープアクセス要求であり、当該テープアクセス要求が磁気テープに記録されたデータを逆方向に読み出すための逆読みコマンドであったときには、前記逆読みコマンドを解釈して前記ディスク制御コマンドを生成し、前記ディスクドライブから読み出したデータに対して前記逆読みコマンドに応じた処理を行うこと、
    を特徴とするディスク制御装置。
  5. 請求項1乃至4のいずれかに記載のディスク制御装置であって、
    前記チャネル制御部は、前記生成したディスク制御コマンドが前記ディスクドライブに対する書き込みに関するコマンドである場合には、前記ディスクドライブに書き込むデータを圧縮し、
    前記チャネル制御部は、前記生成したディスク制御コマンドが前記ディスクドライブからの読み出しに関するコマンドであり、前記ディスク制御部による制御によって前記ディスクドライブから読み出されたデータが圧縮されたデータであるときは、前記読み出されたデータを伸張すること、
    を特徴とするディスク制御装置。
  6. 情報処理装置から送信されるデータ入出力要求を受信するチャネル制御部と、
    ディスクドライブを制御するディスク制御部と、
    前記チャネル制御部と前記ディスク制御部との間で授受されるデータを記憶するキャッシュメモリと、を備え、
    前記チャネル制御部は、複数の磁気テープを個々に対応した収納部に格納して管理する磁気テープライブラリ装置における前記磁気テープそれぞれの上でデータを記録する位置を特定するための情報と、前記ディスクドライブ上でデータを記録する位置を特定するための情報とを対応づけて記憶し、
    前記チャネル制御部は、前記受信したデータ入出力要求が前記ディスクドライブに対するデータ入出力を要求するディスクアクセス要求である場合には、前記ディスクアクセス要求に応じて、前記ディスクドライブに対してデータ入出力を行うように前記ディスク制御部に指示をするディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って、前記ディスクドライブに対するデータ入出力に関する制御を行い、
    前記チャネル制御部は、前記受信したデータ入出力要求が前記磁気テープライブラリ装置に対するデータ入出力を要求するテープアクセス要求である場合には、前記磁気テープ上の位置を特定するための情報に対応する前記ディスクドライブ上の位置を特定するための情報を設定して前記ディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って前記ディスクドライブに対するデータ入出力に関する制御を行うこと、
    を特徴とするディスク制御装置。
  7. 請求項6に記載のディスク制御装置であって、
    前記チャネル制御部は、前記受信したデータ入出力要求が、前記テープアクセス要求であり、前記テープアクセス要求が磁気テープをマウントする処理を要求するものであるときは、前記テープアクセス要求に設定される磁気テープを識別する情報を取得し、前記磁気テープが読み書き可能になるようにすること、
    を特徴とするディスク制御装置。
  8. 情報処理装置から送信されるデータ入出力要求を受信するチャネル制御部と、
    ディスクドライブを制御するディスク制御部と、
    前記チャネル制御部と前記ディスク制御部との間で授受されるデータを記憶するキャッシュメモリとを備えるディスク制御装置の制御方法であって、
    前記チャネル制御部は、磁気テープ上でデータを記録する位置を特定するための情報と、前記ディスクドライブ上でデータを記録する位置を特定するための情報とを対応づけて記憶し、
    前記チャネル制御部は、前記受信したデータ入出力要求が前記ディスクドライブに対するデータ入出力を要求するディスクアクセス要求である場合には、前記ディスクアクセス要求に応じて、前記ディスクドライブに対してデータ入出力を行うように前記ディスク制御部に指示をするディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って前記ディスクドライブに対するデータ入出力に関する制御を行い、
    前記チャネル制御部は、前記受信したデータ入出力要求が、磁気テープ装置に対するデータ入出力を要求するテープアクセス要求である場合には、前記テープアクセス要求に設定される前記磁気テープ上の位置を特定するための情報を取得し、前記取得した前記磁気テープ上の位置を特定するための情報に対応する前記ディスクドライブ上の位置を特定するための情報を設定して前記ディスク制御コマンドを生成し、前記ディスク制御部は、当該生成されたディスク制御コマンドに従って前記ディスクドライブに対するデータ入出力に関する制御を行うこと、
    を特徴とするディスク制御装置の制御方法。
JP2003276238A 2003-07-17 2003-07-17 ディスク制御装置及びディスク制御装置の制御方法 Withdrawn JP2005038290A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003276238A JP2005038290A (ja) 2003-07-17 2003-07-17 ディスク制御装置及びディスク制御装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003276238A JP2005038290A (ja) 2003-07-17 2003-07-17 ディスク制御装置及びディスク制御装置の制御方法

Publications (2)

Publication Number Publication Date
JP2005038290A true JP2005038290A (ja) 2005-02-10
JP2005038290A5 JP2005038290A5 (ja) 2006-08-24

Family

ID=34212626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003276238A Withdrawn JP2005038290A (ja) 2003-07-17 2003-07-17 ディスク制御装置及びディスク制御装置の制御方法

Country Status (1)

Country Link
JP (1) JP2005038290A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005055945A (ja) * 2003-08-04 2005-03-03 Hitachi Ltd 仮想テープライブラリ装置
JP2006285464A (ja) * 2005-03-31 2006-10-19 Hitachi Ltd 計算機システムとストレージ及びデバイス制御方法
CN100377065C (zh) * 2006-04-19 2008-03-26 华中科技大学 一种超大容量的虚拟磁盘存储系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005055945A (ja) * 2003-08-04 2005-03-03 Hitachi Ltd 仮想テープライブラリ装置
JP4559046B2 (ja) * 2003-08-04 2010-10-06 株式会社日立製作所 仮想テープライブラリ装置
JP2006285464A (ja) * 2005-03-31 2006-10-19 Hitachi Ltd 計算機システムとストレージ及びデバイス制御方法
CN100377065C (zh) * 2006-04-19 2008-03-26 华中科技大学 一种超大容量的虚拟磁盘存储系统

Similar Documents

Publication Publication Date Title
US8266375B2 (en) Automated on-line capacity expansion method for storage device
US7334097B2 (en) Method for controlling storage device controller, storage device controller, and program
EP1805589B1 (en) Tape emulating disk based storage and method with automatically resized emulated tape capacity
US6792557B1 (en) Storage area network system
EP0990988A2 (en) Storage control unit and method for handling data storage system
US20110246718A1 (en) Memory control device and method for controlling the same
US7366870B2 (en) System and method for accessing an offline storage unit through an online storage unit
JP2007265403A (ja) 階層型ストレージシステム間でのリモートミラー方式
JP2004280779A5 (ja)
US6961832B2 (en) Method and system for backing up data of data processing devices including fixed length block format data conversion to variable length block format
JP2010079588A (ja) 仮想ボリュームを有する記憶制御装置
US7315922B2 (en) Disk array apparatus, information processing apparatus, data management system, method for issuing command from target side to initiator side, and computer product
JP2005222404A (ja) 仮想記憶ユニットを備えた記憶制御サブシステム
US8856436B2 (en) Locating host data records on a physical stacked volume
JP2008197864A (ja) 記憶制御装置及びストレージシステム
US20030225966A1 (en) Serverless network data storage operation managed by peripheral device
US7315960B2 (en) Storage area network system
JP2834399B2 (ja) 二重化ディスク装置
JP2005038290A (ja) ディスク制御装置及びディスク制御装置の制御方法
US7984236B2 (en) Data transfer
US20080250201A1 (en) Information processing system and control method thereof
JP3794232B2 (ja) 情報処理システムにおけるデータのバックアップ方法
JP6928249B2 (ja) ストレージ制御装置およびプログラム
JP3121387B2 (ja) 磁気テ−プ制御装置
US8037268B2 (en) Storage system and operation method thereof

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060707

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060707

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090525