JP3931017B2 - 磁気テープ装置の制御方法 - Google Patents

磁気テープ装置の制御方法 Download PDF

Info

Publication number
JP3931017B2
JP3931017B2 JP2000054019A JP2000054019A JP3931017B2 JP 3931017 B2 JP3931017 B2 JP 3931017B2 JP 2000054019 A JP2000054019 A JP 2000054019A JP 2000054019 A JP2000054019 A JP 2000054019A JP 3931017 B2 JP3931017 B2 JP 3931017B2
Authority
JP
Japan
Prior art keywords
command
processing
file
magnetic tape
ram
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.)
Expired - Fee Related
Application number
JP2000054019A
Other languages
English (en)
Other versions
JP2001175420A (ja
Inventor
朋憲 間瀬
行生 谷山
正一 奥村
修 志村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2000054019A priority Critical patent/JP3931017B2/ja
Priority to US09/539,805 priority patent/US7568067B1/en
Publication of JP2001175420A publication Critical patent/JP2001175420A/ja
Application granted granted Critical
Publication of JP3931017B2 publication Critical patent/JP3931017B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コマンド発行元装置(例えばCPU等のホストコンピュータ/上位装置)からのコマンドに応じて、磁気テープ装置のテープ動作を制御するための方法に関する。
【0002】
【従来の技術】
近年、コンピュータシステムの高速化の要求に伴い、DASD(Direct Access Storage Device;直接アクセス記憶装置)と磁気テープとの間でデータのコピーを行なうバックアップ/リストア業務の効率化が要求されている。
そこで、磁気テープに大量のデータを高速に記録するために、ストリーミングと呼ばれる技術が提供されている。このストリーミングとは、バッファリングにより磁気テープに対するリード(READ)やライト(WRITE)を連続的に行なう処理である。
【0003】
例えば、CPU等の上位装置が、データバッファを有する磁気テープ制御装置を介し、磁気テープに対してアクセスする場合、磁気テープ制御装置が、上位装置とバッファとの間のリード/ライト処理と、バッファと磁気テープとの間のリード/ライト処理とを非同期で行なうように制御して、ストリーミング処理を行なう。
【0004】
このように、磁気テープ装置においてデータブロックを連続的にリード/ライトする場合にストリーミング制御(バッファリングによる非同期制御)を行なうことにより、磁気テープのスタート/ストップ動作の実行回数を少なくすることができ、磁気テープ装置によるリード/ライト性能を高めることができる。
【0005】
なお、上述のようなストリーミングを磁気テープ装置が実行している際に、上位装置が磁気テープの進行方向を逆転させるようなコマンドを発行したり、テープマークが検出されたり、上位装置がリード/ライトコントロール系のコマンドを発行したりした場合、ストリーミングを一旦停止し、上位装置に接続されるチャネル側の処理と磁気テープ装置側の処理との同期をとる必要がある。
【0006】
以下に、図175〜図201を参照しながら、一般的な磁気テープ制御装置の構成や、その磁気テープ制御装置によるストリーミング処理/コマンド処理について説明する。
図175は一般的な磁気テープ制御装置のハードウェア構成を示すブロック図であり、この図175に示すように、磁気テープ制御装置(MTC;Magnetic Tape Controller)10は、CPU(ホストコンピュータ,上位装置)20と磁気テープ装置(MTU;Magnetic Tape Unit)30との間にそなえられ、CPU20からのコマンドに応じて、MTU30の動作を制御するものである。
【0007】
そして、MTC10は、チャネルインタフェース回路11,データ圧縮回路12,データ伸張回路13,ホストインタフェース制御部(HIC;Host Interface Controller)14,フォーマット制御部(FMT;ForMaT controller)15,コマンドバッファ16およびデータバッファ17から構成されている。
ここで、チャネルインタフェース回路11は、CPU20との間のチャネルインタフェース制御を行なうものであり、データ圧縮回路12は、例えばEDRC(Enhanced Data Recording Capability)方式によるデータ圧縮を行なうものであり、データ伸張回路13は、圧縮データを伸張するものである。
【0008】
また、HIC14は、CPU20との間でデータの送受を行なうためのフォーマット変換および制御を行なうものであり、FMT15は、MTU30との間でデータの送受を行なうためのフォーマット変換および制御を行なうものである。コマンドバッファ16は、HIC14とFMT15との間のコミュニケーションを行なうためのもので、CPU20からの指示に従い、HIC14やFMT15が行なうべき動作等を指示するコマンドを格納するものである。データバッファ17は、磁気テープへ書き込むべきデータ(ライトデータ)、もしくは、磁気テープから読み出されたデータ(リードデータ)を、ブロック単位で一時的に格納するものである。
【0009】
さらに、コマンドバッファ16は、図176に示すように、HIC用コマンドポインタテーブル(HQP)16−1,HIC用コマンドリストテーブル(HQL)16−2,FMT用コマンドポインタテーブル(FQP)16−3およびFMT用コマンドリストテーブル(FQL)16−4から構成されている。
【0010】
HQP16−1には、リード動作やリードバック動作を先行して行なうようにFMT15に促すための先読み指示フラグと、HQL16−2における最新コマンドの位置を示すコマンドポインタと、データバッファ17における最新のブロックのID(IDentification:以下、BIDと略記)を示すBIDとがセットされる。
【0011】
FQP16−3には、先読み指示に従ってリード動作やリードバック動作を先行して行ないその先行動作が完了したことを示す先読み完了フラグと、FQL16−4における最新コマンドの位置を示すコマンドポインタと、データバッファ17における最新のBIDとがセットされる。
【0012】
ここで、データバッファ17は、リードやライトを行なう際において、HIC14とFMT15との間の中間バッファとして機能するものである。つまり、ライト時には、HIC14がCPU20から転送されたデータをデータバッファ17に格納し、FMT15がデータバッファ17内のライトデータをMTU30に転送し磁気テープに記録させる。一方、リード時には、FMT15がMTU30から磁気テープ上のデータを読み出してデータバッファ17に格納し、HIC14がデータバッファ内のリードデータをCPU20に転送する。
【0013】
HQL16−2は、CPU20からの指示に応じてHIC14が行なうべき動作を指示するコマンド(図176ではコマンド1〜3)を発生順に格納するコマンドキューとして機能するとともに、このHQL16−2には、各コマンドに対応するデータブロック(図176ではDATA1〜DATA3)のデータバッファ17上での位置を示すブロックポインタ(BPNT)や、そのデータブロックのブロック長(BLEN)や、そのデータブロックのブロックID(BID)などが記録されている。
【0014】
FQL16−4は、CPU20からの指示に従ってFMT15が実行したコマンド(図176ではコマンド1,2)を、処理完了順に格納するコマンドキューとして機能するとともに、このFQL16−4には、各コマンドに対応するデータブロック(図176ではDATA1〜DATA3)のデータバッファ17上での位置を示すブロックポインタ(BPNT)や、そのデータブロックのブロック長(BLEN)や、そのデータブロックのブロックID(BID)や、MTU30において磁気テープ上に記録されたテープマークが検出されたことを示すフラグ(TM)などが記録される。
【0015】
また、FMT15においては、このFMT15により管理されるブロックIDに関する情報XBIDが、レジスタ15aに格納されている。このXBIDは、MTU30における、磁気テープに対する実際のヘッドの位置(実際にヘッドが位置付けされているデータブロックのID)を示すものである。
【0016】
次に、上述のごとく構成されたMTC10の動作について説明する。
まず、図177〜図182を参照しながら、MTC10によるストリーミングシーケンスについて説明する。
〔リードストリーミングシーケンス〕
図177および図178は、いずれも、リードストリーミングシーケンス実行時におけるコマンドバッファ16およびデータバッファ17の状態を説明するための図である。
【0017】
MTC10において、CPU20から発行されたリードコマンドをチャネルインタフェース回路11により受けると、HIC14は、HQP16−1に先読み指示フラグをセットする。そして、FMT15は、HQP16−1にセットされた先読み指示フラグを見て、MTU30に磁気テープから複数のデータブロックを読み取らせ、データバッファ17に書き込み、読み込んだブロック数分のコマンドリストをFQL16−4に登録する。
【0018】
このとき、MTU30においては、磁気テープMTに対してMTU30のヘッドが相対的に順方向(フォワード方向)へ移動するようにメカ動作が行なわれ、例えば、データブロック“DATA 1”,“DATA 2”,“DATA 3”が順に読み取られる。ここでは、3つのデータブロックをデータバッファ17に書き込んでいるが、先読みされるデータブロック数は例えばデータバッファ17の容量に対応して設定され、書込データ量がデータバッファ17の容量を超えた時点で先読み動作を停止するように制御する。
【0019】
また、図177に示すように、データバッファ17に書き込んだデータブロックにそれぞれ対応するコマンド“READ 1”,“READ 2”,“READ 3”が、FQL16−4のコマンドキューに順にセットされる。
このようにして所定数(ここでは3)のデータブロックをデータバッファ17に書き込んだ後、FQP16−3に、最新のコマンドポインタおよび最新のブロックIDを格納するとともに先読み完了フラグをセットする。
【0020】
FQP16−3に先読み完了フラグがセットされた後、HIC14は、HQP16−1のコマンドポインタの値とFQP16−3のコマンドポインタの値とを比較し、その差分に対応するデータブロックをCPU20へ転送する。このとき、図178に示すように、HQP16−1およびHQL16−2が順次更新される。つまり、データバッファ17のデータブロックをCPU20へ転送する都度、FQL16−2に、実行完了したコマンドが記録されるとともに、FQP16−1のコマンドポインタが更新され、転送を完了した最新のデータブロックのブロックIDが記録されていく。
【0021】
なお、図178では、3つのデータブロックを全てCPU20への転送(読出)を完了した状態が図示されており、この図178に示す状態で、HQP16−1およびFQP16−3のブロックIDは、いずれも3番目のデータブロックのID(例えば“3”)を示している。
また、CPU20へのデータ転送に際し、磁気テープから読み出されたデータに圧縮が施されている場合、そのデータは、データ伸張回路13に一旦入力され伸張された後、CPU20へ転送される。
【0022】
MTC10は、上述のような先読み動作を行なった後、データバッファ17内にリードデータが存在する限り、CPU20から連続的に発行されたリードコマンドに対し、MTU30によるメカ動作(実リード動作)を伴うことなく、リードデータをチャネルへ送出してCPU20へ転送できる。従って、MTU30において、データブロック毎に一々メカ動作を行なう必要がなく、リード動作時のデータ転送効率が向上することになる。
ただし、FMT15は、リード動作中にテープマークを検出した場合には、FQL16−4においてTMフラグがセットされる。
【0023】
〔ライトストリーミングシーケンス〕
次に、MTC10が、CPU20からの指示に応じて、所定のデータ(データブロック“DATA 1”,“DATA 2”,“DATA 3”)を磁気テープに記録するようにMTU30を制御する場合ついて、図179および図180を参照しながら説明する。図179および図180は、いずれも、ライトストリーミングシーケンス実行時におけるコマンドバッファ16およびデータバッファ17の状態を説明するための図である。なお、ライト動作に際して、図179および図180に示すように、HQP16−1の先読み指示フラグやFQP16−3の先読み完了フラグはセットされない。
【0024】
MTC10において、CPU20から発行されたライトコマンドをチャネルインタフェース回路11により受けると、HIC14は、図179に示すように、HQL16−2には、ライトコマンド(WRITE 1,WRITE 2,WRITE 3)が順次格納され、HQP16−1に最新のコマンドポインタおよび最新のブロックIDが登録される。また、ライトコマンド毎に、磁気テープに記録すべきデータブロック“DATA 1”,“DATA 2”,“DATA 3”が順次データバッファ17に書き込まれる。
【0025】
そして、HIC14は、所定数(ここでは3)のデータブロックをデータバッファ17に書き込むと、HQP16−1に、最新のコマンドポインタおよび最新のブロックIDを格納するとともに、CPU20に対して書込完了を報告する。なお、磁気テープに書き込むべきデータを圧縮した状態で磁気テープに書き込む場合、そのデータは、チャネルインタフェース回路11からデータ圧縮回路12へ一旦入力され、このデータ圧縮回路12でEDRC方式で圧縮されてから、データバッファ17に書き込まれる。
【0026】
一方、FMT15は、HQP16−1のコマンドポインタの値とFQP16−3のコマンドポインタの値とを比較し、これらの値に差が生じたことを検知した場合にHQL16−2にコマンドが登録されたものと認識し、その差分に対応するデータブロックをデータバッファ17からMTU30へ順次転送して磁気テープに記録する。
【0027】
このとき、図180に示すように、FQP16−3およびFQL16−4が順次更新される。つまり、データバッファ17のデータブロックをMTU30へ転送して磁気テープへ記録する都度、FQL16−4に、実行完了したコマンドが記録されるとともに、FQP16−3に、最新のコマンドポインタおよび最新のブロックIDが登録される。
【0028】
なお、図180では、2つ目のデータブロック“DATA 2”の磁気テープへの書込を完了した状態が図示されており、この図180に示す状態で、HQP16−1のブロックIDは3番目のデータブロックのID(例えば“3”)を示し、HQP16−3のブロックIDは2番目のデータブロックのID(例えば“2”)を示している。
【0029】
上述のようにして、MTC10は、CPU20から連続的に発行されたライトコマンドおよび磁気テープに記録すべきデータブロックをそれぞれHQL16−2およびデータバッファ17に一旦格納することにより、MTU30とは非同期にライトコマンドを処理することができる。
また、FMT15は、データブロックがある程度データバッファ17にたまった時点で磁気テープへ書き込むという、ライトストリーミング動作を行なうことができるので、MTU30のスタート/ストップ動作の実行回数が減少し、MTU30によるライト性能を高めることができる。
【0030】
〔その他のコマンドシーケンス〕
図181および図182は、いずれも、リードコマンドやライトコマンド以外のコマンドシーケンス実行時におけるコマンドバッファ16およびデータバッファ17の状態を説明するための図である。
リードコマンドやライトコマンド以外で、MTU30のテープ動作を伴うコマンドとしては、例えば、リードバックワードコマンド(RB),バックスペースブロックコマンド(BSP),バックスペースファイルコマンド(BSPF),フォワードスペースブロックコマンド(SP),フォワードスペースファイルコマンド(FSPF),ライトテープマークコマンド(WTM)がある。
【0031】
CPU20が上述のようなコマンドを発行し、MTC10において、そのコマンドをチャネルインタフェース回路11により受けると、HIC14は、図181に示すように、HQL16−2にそのコマンドを登録し、HQP16−1に最新のコマンドポインタを格納する。
【0032】
一方、FMT15は、HQP16−1のコマンドポインタの値とFQP16−3のコマンドポインタの値とを比較し、これらの値に差が生じたことを検知した場合にHQL16−2にコマンドが登録されたものと認識し、そのコマンドに応じた処理(コマンド処理)を行なった後、図182に示すように、そのコマンドをFQL16−4に登録するとともに、FQP16−3に、最新のコマンドポインタを登録する。
【0033】
そして、HIC14は、FQP16−3のコマンドポインタの値とHQP16−1のコマンドポインタの値との差を見て、FMT15がコマンド処理を完了したことを認識すると、CPU20に対してコマンド処理を完了した旨を報告する。
リードコマンドやライトコマンド以外のコマンドを処理する場合には、上述のように、ストリーミング処理を行なわず、逐次的に処理を行ない、CPU20に接続されるチャネル側の処理(HIC14による処理)と、MTU30側の処理(FMT15による処理)とを同期させている。
【0034】
ついで、図183〜図199を参照しながら、FMT15によるコマンド処理について説明する。
〔アイドル処理〕
図183は、FMT15によるアイドル処理を説明するためのフローチャート(ステップS11〜S30)で、この図183に示すように、FMT15は、アイドル処理にて定期的にコマンドバッファ16のHQP16−1を読み込んで参照する(ステップS11)。
【0035】
HQP16−1に先読み指示フラグがセットされている場合(ステップS12のYESルート)、その先読み指示フラグに対応するコマンドがリードコマンド(RDコマンド)であるか否かを判断する(ステップS22)。RDコマンドである場合(ステップS22のYESルート)、FMT15は、図184および図185を参照しながら後述するリード処理(RD処理)を実行してから(ステップS23)、ステップS11に戻る。また、RDコマンドでない場合(ステップS22のNOルート)、FMT15は、図186および図187を参照しながら後述するリードバックワード処理(RB処理)を実行してから(ステップS24)、ステップS11に戻る。
【0036】
一方、HQP16−1に先読み指示フラグがセットされていない場合(ステップS12のNOルート)、HQP16−1のコマンドポインタの値とFQP16−3のコマンドポインタの値とを比較し(ステップS13)、〔HQP16−1のコマンドポインタの値〕>〔FQP16−3のコマンドポインタの値〕でない場合(ステップS13のNOルート)、FMT15が処理すべきコマンドは、コマンドバッファ16に登録されていないものと判断し、ステップS11に戻る。
【0037】
ステップS13において〔HQP16−1のコマンドポインタの値〕>〔FQP16−3のコマンドポインタの値〕であると判断された場合(YESルート)には、FMT15は、HQL16−2を参照し(ステップS14)、HQL16−2に登録されたコマンドの種別を判断する(ステップS15〜S20)。
つまり、そのコマンドがライトコマンド(WRコマンド)である場合(ステップS15のYESルート)、FMT15は、図188および図189を参照しながら後述するライト処理(WR処理)を実行してから(ステップS25)、ステップS11に戻る。
【0038】
そのコマンドがバックスペースブロックコマンド(BSPコマンド)である場合(ステップS15のNOルートからステップS16のYESルート)、FMT15は、図190および図191を参照しながら後述するバックスペースブロック処理(BSP処理)を実行してから(ステップS26)、ステップS11に戻る。そのコマンドがバックスペースファイルコマンド(BSPFコマンド)である場合(ステップS16のNOルートからステップS17のYESルート)、FMT15は、図192および図193を参照しながら後述するバックスペースファイル処理(BSPF処理)を実行してから(ステップS27)、ステップS11に戻る。
【0039】
また、そのコマンドがフォワードスペースブロックコマンド(SPコマンド)である場合(ステップS17のNOルートからステップS18のYESルート)、FMT15は、図194および図195を参照しながら後述するフォワードスペースブロック処理(SP処理)を実行してから(ステップS28)、ステップS11に戻る。そのコマンドがフォワードスペースブロックコマンド(FSPFコマンド)である場合(ステップS18のNOルートからステップS19のYESルート)、FMT15は、図196および図197を参照しながら後述するフォワードスペースファイル処理(FSPF処理)を実行してから(ステップS29)、ステップS11に戻る。
【0040】
さらに、そのコマンドがライトテープマークコマンド(WTMコマンド)である場合(ステップS19のNOルートからステップS20のYESルート)、FMT15は、図198および図199を参照しながら後述するライトテープマーク処理(WTM処理)を実行してから(ステップS30)、ステップS11に戻る。
【0041】
そのコマンドがWTMコマンドではなかった場合(ステップS20のNOルート)、FMT15は、そのコマンドに応じた処理(その他のコマンド処理)を実行してから(ステップS21)、ステップS11に戻る。
〔リード処理(RD処理)〕
図184はFMT15によるリード処理を説明するためのフローチャート、図185は、FMT15によるリード処理を説明すべく、図184に示すフローチャートの一部(処理A1,B1およびC1)をテーブル化して示す図である。
【0042】
これらの図184および図185に示すように、FMT15によるRD処理時には、ストリーミングが停止されるまで(ステップS35でYES判定となるまで)、処理A1,処理B1および処理C1が繰り返し実行される。
処理A1では、FMT15は、RDコマンドに応じてMTU30にリード動作を実行させるとともに、レジスタ15aに登録されているXBIDに1を加算することにより、このXBIDを更新する。
【0043】
処理B1では、FMT15は、処理A1で行なわれたMTU30の実リード動作によりテープマークが読み取られたか否かを判断し(ステップS31)、テープマーク(TM)が読み取られた場合(ステップS31のYESルート)、TMフラグをセットするとともにブロック長BLENとして“0”をセットしてから(ステップS32)、BIDとしてXBIDをセットする(ステップS34)。一方、テープマーク(TM)以外のデータが読み取られた場合(ステップS31のNOルート)、TMフラグをクリアするとともにブロック長BLENとして“LEN”をセットしてから(ステップS33)、BIDとしてXBIDをレジスタ15aから読み出してセットする(ステップS34)。ここで、“LEN”は、MTU30からデータバッファ17へのデータ転送後にハードレジスタにセットされるブロック長である。
【0044】
処理C1では、FMT15は、コマンドバッファ16のFQL16−4において、処理B1で得られたBID,BLENおよびTMフラグを登録するとともに、ブロックポインタBPNTとして、一つ前のコマンドについてのBPNTにBLENを加算した値を登録するほか、FQP16−3におけるコマンドポインタおよびBIDを更新する。
【0045】
〔リードバックワード処理(RB処理)〕
図186はFMT15によるリードバックワード処理を説明するためのフローチャート、図187は、FMT15によるリードバックワード処理を説明すべく、図186に示すフローチャート(処理A2,B2およびC2)をテーブル化して示す図である。
【0046】
これらの図186および図187に示すように、FMT15によるRB処理時には、処理A2,処理B2および処理C2が実行される。
処理A2では、FMT15は、RBコマンドに応じてMTU30にバックリード動作を実行させるとともに、レジスタ15aに登録されているXBIDから1を減算することにより、このXBIDを更新する。
【0047】
処理B2では、FMT15は、RD処理時と同様、処理A2で行なわれたMTU30の実バックリード動作によりテープマークが読み取られたか否かを判断し(ステップS41)、テープマーク(TM)が読み取られた場合(ステップS41のYESルート)、TMフラグをセットするとともにブロック長BLENとして“0”をセットしてから(ステップS42)、BIDとしてXBIDをセットする(ステップS44)。一方、テープマーク(TM)以外のデータが読み取られた場合(ステップS41のNOルート)、TMフラグをクリアするとともにブロック長BLENとして“LEN”をセットしてから(ステップS43)、BIDとしてXBIDをレジスタ15aから読み出してセットする(ステップS44)。ここで、“LEN”は、MTU30からデータバッファ17へのデータ転送後にハードレジスタにセットされるブロック長である。
【0048】
処理C2では、FMT15は、RD処理時と同様、コマンドバッファ16のFQL16−4において、処理B2で得られたBID,BLEN,TMフラグを登録するとともに、ブロックポインタBPNTとして、一つ前のコマンドについてのBPNTにBLENを加算した値を登録するほか、FQP16−3におけるコマンドポインタおよびBIDを更新する。
【0049】
〔ライト処理(WR処理)〕
図188はFMT15によるライト処理を説明するためのフローチャート、図189は、FMT15によるライト処理を説明すべく、図188に示すフローチャートの一部(処理A3,B3およびC3)をテーブル化して示す図である。
これらの図188および図189に示すように、FMT15によるWR処理時には、ストリーミングが停止されるまで(ステップS50でYES判定となるまで)、処理A3,処理B3および処理C3が繰り返し実行される。
【0050】
処理A3では、FMT15は、WRコマンドに応じてMTU30にライト動作を実行させるとともに、レジスタ15aに登録されているXBIDに1を加算することにより、このXBIDを更新する。
処理B3では、FMT15は、ブロック長BLENとして“LEN”をセットするとともに、BIDとしてXBIDをレジスタ15aから読み出してセットする。ここで、“LEN”は、CPU20からデータバッファ17へのデータ転送後にハードレジスタにセットされるブロック長である。
【0051】
処理C3では、FMT15は、コマンドバッファ16のFQL16−4において、処理B3で得られたBIDおよびBLENを登録するとともに、ブロックポインタBPNTとして、一つ前のコマンドについてのBPNTにBLENを加算した値を登録するほか、FQP16−3におけるコマンドポインタおよびBIDを更新する。
【0052】
〔バックスペースブロック処理(BSP処理)〕
図190はFMT15によるバックスペースブロック処理を説明するためのフローチャート、図191は、FMT15によるバックスペースブロック処理を説明すべく、図190に示すフローチャート(処理A4,B4およびC4)をテーブル化して示す図である。
【0053】
これらの図190および図191に示すように、FMT15によるBSP処理時には、処理A4,処理B4および処理C4が実行される。
処理A4では、FMT15は、BSPコマンドに応じてMTU30にバックスペース動作(磁気テープに対するヘッドの位置を、1データブロック分だけ後進させる動作)を実行させるとともに、レジスタ15aに登録されているXBIDから1を減算することにより、このXBIDを更新する。
【0054】
そして、FMT15は、処理B4で、BIDとしてXBIDをレジスタ15aから読み出してセットし、処理C4で、コマンドバッファ16のFQL16−4に、処理B4で得られたBIDを登録するとともに、FQP16−3におけるコマンドポインタおよびBIDを更新する。
【0055】
〔バックスペースファイル処理(BSPF処理)〕
図192はFMT15によるバックスペースファイル処理を説明するためのフローチャート、図193は、FMT15によるバックスペースファイル処理を説明すべく、図192に示すフローチャートの一部(処理A5,B5およびC5)をテーブル化して示す図である。
【0056】
これらの図192および図193に示すように、FMT15によるBSPF処理時には、テープマーク(TM)が検出されるまで(ステップS51でYES判定となるまで)、処理A5および処理B5が繰り返し実行され、TMが検出されると(ステップS51のYESルート)、処理C5が実行される。
【0057】
処理A5では、FMT15は、BSPFコマンドに応じてMTU30にバックスペース動作(磁気テープに対するヘッドの位置を、1データブロック分だけ後進させる動作)を実行させるとともに、レジスタ15aに登録されているXBIDから1を減算することにより、このXBIDを更新する。この後、処理B5では、FMT15は、処理B5で、BIDとしてXBIDをレジスタ15aから読み出してセットする。これらの処理A5およびB5を繰り返し行なうことにより、磁気テープに対するヘッドの位置が直近のTMの位置(ファイルの終端位置)に到達するまで、磁気テープが後進駆動される。
【0058】
そして、処理C5で、FMT15は、コマンドバッファ16のFQL16−4に、処理B5で得られたBIDを登録するとともに、FQP16−3におけるコマンドポインタおよびBIDを更新する。
〔フォワードスペースブロック処理(SP処理)〕
図194はFMT15によるフォワードスペースブロック処理を説明するためのフローチャート、図195は、FMT15によるフォワードスペースブロック処理を説明すべく、図194に示すフローチャート(処理A6,B6およびC6)をテーブル化して示す図である。
【0059】
これらの図194および図195に示すように、FMT15によるSP処理時には、処理A6,処理B6および処理C6が実行される。
処理A6では、FMT15は、SPコマンドに応じてMTU30にフォワードスペース動作(磁気テープに対するヘッドの位置を、1データブロック分だけ前進させる動作)を実行させるとともに、レジスタ15aに登録されているXBIDから1を減算することにより、このXBIDを更新する。
【0060】
そして、FMT15は、処理B6で、BIDとしてXBIDをレジスタ15aから読み出してセットし、処理C6で、コマンドバッファ16のFQL16−4に、処理B6で得られたBIDを登録するとともに、FQP16−3におけるコマンドポインタおよびBIDを更新する。
【0061】
〔フォワードスペースファイル処理(FSPF処理)〕
図196はFMT15によるフォワードスペースファイル処理を説明するためのフローチャート、図197は、FMT15によるフォワードスペースファイル処理を説明すべく、図196に示すフローチャートの一部(処理A7,B7およびC7)をテーブル化して示す図である。
【0062】
これらの図196および図197に示すように、FMT15によるFSPF処理時には、テープマーク(TM)が検出されるまで(ステップS51でYES判定となるまで)、処理A7および処理B7が繰り返し実行され、TMが検出されると(ステップS52のYESルート)、処理C7が実行される。
【0063】
処理A7では、FMT15は、FSPFコマンドに応じてMTU30にフォワードスペース動作(磁気テープに対するヘッドの位置を、1データブロック分だけ前進させる動作)を実行させるとともに、レジスタ15aに登録されているXBIDから1を減算することにより、このXBIDを更新する。この後、処理B7では、FMT15は、処理B7で、BIDとしてXBIDをレジスタ15aから読み出してセットする。これらの処理A7およびB7を繰り返し行なうことにより、磁気テープに対するヘッドの位置が直近のTMの位置(ファイルの先頭位置)に到達するまで、磁気テープが前進駆動される。
【0064】
そして、処理C7で、FMT15は、コマンドバッファ16のFQL16−4に、処理B7で得られたBIDを登録するとともに、FQP16−3におけるコマンドポインタおよびBIDを更新する。
〔ライトテープマーク処理(WTM処理)〕
図198はFMT15によるライトテープマーク処理を説明するためのフローチャート、図199は、FMT15によるライトテープマーク処理を説明すべく、図198に示すフローチャート(処理A8,B8およびC8)をテーブル化して示す図である。
【0065】
これらの図198および図199に示すように、FMT15によるWTM処理時には、処理A8,処理B8および処理C8が実行される。
処理A8では、FMT15は、WTMコマンドに応じてMTU30にライトテープマーク動作(磁気テープにテープマークを書き込む動作)を実行させるとともに、レジスタ15aに登録されているXBIDに1を加算することにより、このXBIDを更新する。
【0066】
そして、FMT15は、処理B8で、TMフラグをセットするとともに、BIDとしてXBIDをレジスタ15aから読み出してセットし、処理C8で、コマンドバッファ16のFQL16−4において、処理B8で得られたBIDおよびTMフラグを登録するとともに、FQP16−3におけるコマンドポインタおよびBIDを更新する。
【0067】
ところで、図200(A)および図200(B)は、いずれも、磁気テープMTにおけるデータ書込状態を示すとともに、マルチファイルの書き足し処理を行なう際にCPU20から発行される命令と、各命令に応じたMTU30でのテープ動作とについて説明するための図である。
【0068】
ここで、図200(A)には、磁気テープMTに対する、複数のデータブロック(図中、データ1)からなるファイルの書込を完了した直後の、磁気テープMTのデータ書込状態が示されている。また、図200(B)には、図200(A)に示す状態から、複数のデータブロック(図中、データ2)からなるファイルを書き足した場合の、磁気テープMTのデータ書込状態が示されている。
【0069】
なお、図200(A)および図200(B)において、各矢印は、CPU20からの各コマンドに応じて行なわれるテープ動作(磁気テープMTに対するヘッドHの移動方向および移動量)を示すものであり、各矢印には、その矢印で示すテープ動作を実行させる命令の種別(英大文字)が付与され、さらに、各命令の種別には、その命令のCPU20からの発行順に括弧付き数字(1)〜(24)が付与されている。また、図200(A)および図200(B)において、右方向がテープ前進方向(フォワード)であり、左方向がテープ後進方向(バックワード)である。
【0070】
図200(A)に示すように、WRコマンドにより、あるファイルの最後のデータブロック(図中、データ1)を磁気テープMTに書き込んだ後には〔(1) 参照〕、そのファイルのクローズ処理〔(2) 〜(7) 参照〕が実行される。つまり、WTMコマンドによりテープマークTM−aを磁気テープMTに書き込み〔(2) 参照〕、WRコマンドにより、2つのファイル終端ラベル(以下、EOFと略記;図中、EOF1,EOF2)を磁気テープMTに連続的に書き込み〔(3),(4) 参照〕、WTMコマンドにより2本のテープマークTM−b,TM−cを磁気テープMTに連続的に書き込んでから〔(5),(6) 参照〕、BSPFコマンドに応じて、ヘッドHによりTM−bを検知するまで磁気テープMTを後進させる〔(7)参照〕。これにより、MTU30は、ファイルを書き終えると、ヘッドHを最後の2本のテープマークTM−b,TM−cの間に位置させた状態で待機することになる。
【0071】
ついで、CPU20が、図200(A)に示すようにファイルを書き込まれた磁気テープMTに対して2つ目のファイルを書き足す際には、その2つ目のファイルのオープン処理〔(8) 〜(22)参照〕が実行される。なお、ここで、CPU20で起動されるOS(Operating System)は、データ書込時のファイルオープン処理に際しEOF1を2回読み取って認識することにより、2つ目のファイルの書き足し位置を確認するように命令を発行するものとする。
【0072】
データ書込時のファイルオープン処理に際しては、まず、BSPFコマンドに応じて、ヘッドHによりTM−bを検知するまで磁気テープMTを後進させ〔(8) 参照〕、BSPFコマンドに応じて、ヘッドHによりTM−aを検知するまで磁気テープMTを後進させてEOF1およびEOF2をスキップする〔(9) 参照〕。この後、FSPFコマンドに応じて、ヘッドHによりTM−aを検知するまで磁気テープMTを前進させ〔(10)参照〕、RDコマンドによりEOF1を一度読み取ってから〔(11)参照〕、FSPFコマンドに応じて、ヘッドHによりTM−bを検知するまで磁気テープMTを前進させてEOF2をスキップし〔(12)参照〕、RDコマンドによりTM−cを読み取ると〔(13)参照〕、装置例外報告(Unit Exception報告)を行なう。
【0073】
そして、図200(A)および図200(B)に示すように、再度、前述した(7) 〜(12)と同様の処理〔(14)〜(19)参照〕を実行して、EOF1の2回目の読取を完了し、ヘッドHをTM−b,TM−cの間に位置させてから、WRコマンドにより、テープマークTM−cを書き潰して2つのヘッダ(以下、HDRと略記;図中、HDR1,HDR2)を磁気テープMTに連続的に書き込む〔(20), (21) 参照〕。さらに、WTMコマンドによりテープマークTM−dを磁気テープMTに書き込んで〔(22)参照〕、ファイルオープン処理を完了する。この後、WRコマンドにより、2つ目のファイルに属する複数のデータブロック(図中、データ2)を順次書き込む〔(23),(24) 参照〕。
【0074】
一方、図201は、磁気テープMTにおけるデータ書込状態を示すとともに、連続する2つのファイルからデータを読み出す際にCPU20から発行される命令と、各命令に応じたMTU30でのテープ動作とについて説明するための図である。
ここで、図201には、図200(A)および図200(B)を参照しながら前述したようにして、2つのファイルを連続的に書き込んだ場合の、磁気テープMTのデータ書込状態が示されている。
【0075】
なお、図201においても、各矢印は、CPU20からの各コマンドに応じて行なわれるテープ動作(磁気テープMTに対するヘッドHの移動方向および移動量)を示すものであり、各矢印には、その矢印で示すテープ動作を実行させる命令の種別(英大文字)が付与され、さらに、各命令の種別には、その命令のCPU20からの発行順に括弧付き数字(1) 〜(13)が付与されている。また、図201においても、右方向がテープ前進方向(フォワード)であり、左方向がテープ後進方向(バックワード)である。
【0076】
図201に示すように、RDコマンドにより、1つ目のファイルの最後のデータブロック(図中、データ1)を磁気テープMTから読み出した後には〔(1)参照〕、その1つ目のファイルのクローズ処理〔(2),(3)参照〕が実行される。つまり、FSPFコマンドに応じて、ヘッドHによりTM−aを検知するまで磁気テープMTを前進させてから〔(2)参照〕、FSPFコマンドに応じて、ヘッドHによりTM−bを検知するまで磁気テープMTを前進させてEOF1およびEOF2をスキップする〔(3)参照〕。これにより、ヘッドHは、2つ目のファイルの先頭位置(TM−bとHDR1との間)に配置されることになる。
【0077】
ついで、2つ目のファイルのオープン処理〔(4) 〜(11)参照〕が実行される。なお、ここで、CPU20で起動されるOS(Operating System)は、データ読出時のファイルオープン処理に際しEOF1を1回読み取って認識することにより、2つ目のファイルの読み出し位置を確認するように命令を発行するものとする。
【0078】
データ読出時のファイルオープン処理に際しては、まず、BSPFコマンドに応じて、ヘッドHによりTM−bを検知するまで磁気テープMTを後進させ〔(4)参照〕、BSPFコマンドに応じて、ヘッドHによりTM−aを検知するまで磁気テープMTを後進させてEOF1およびEOF2をスキップする〔(5)参照〕。そして、FSPFコマンドに応じて、ヘッドHによりTM−aを検知するまで磁気テープMTを前進させ〔(6)参照〕、RDコマンドによりEOF1を読み取り〔(7)参照〕、FSPFコマンドに応じて、ヘッドHによりTM−bを検知するまで磁気テープMTを前進させEOF2をスキップしてから〔(8)参照〕、RDコマンドにより、2つのヘッダHDR1,HDR2を磁気テープMTから連続的に読み出す〔(9),(10)参照〕。さらに、FSPFコマンドに応じて、ヘッドHによりTM−dを検知するまで磁気テープMTを前進させ〔(11)参照〕、ファイルオープン処理を完了する。この後、RDコマンドにより、2つ目のファイルに属する複数のデータブロック(図中、データ2)を順次読み出す〔(12),(13)参照〕。
【0079】
【発明が解決しようとする課題】
上述したように、MTU30では、データブロックを連続的にライトまたはリードする場合、MTC10のストリーミング制御(バッファリングによる非同期制御)により、磁気テープのスタート/ストップ動作の回数を少なくすることができ、リード/ライト性能を高めている。
【0080】
しかし、ストリーミング動作中にテープマークを検出した場合や、ストリーミング動作中にRDコマンドやWRコマンド以外のコマンド(例えば、SPコマンドやBSPFコマンド等)に応じたテープ動作を行なう場合には、MTU30におけるテープ動作(ストリーミング動作)を一旦停止した後、次のコマンドを実行する際に磁気テープに対するヘッドの位置についてのリポジショニング動作を行なって、CPU20に接続されるチャネル側の処理(HIC14による処理)とMTU30側の処理(FMT15による処理)とを同期させる必要がある。
【0081】
例えばマルチファイル形式でデータを記録した磁気テープには、テープマークブロックが多く含まれているため、このような磁気テープに対してストリーミング動作を行なうと、テープマークを検出する都度、磁気テープのスタート/ストップ動作が行なわれる。
【0082】
特に、このような磁気テープでは、図200(A),図200(B)および図201にて前述したようなファイルのクローズ/オープン処理が行なわれ、CPU20からのコマンドに従って、磁気テープMTのファイルの終端部分(2つのテープマークTM−a,TM−bおよび2つのEOF1,EOF2を含む部分)がヘッドHに対して往復動するため、磁気テープのスタート/ストップ動作が増大し、CPU20によるジョブのスループットが著しく低下してしまう。
【0083】
ファイルのオープン処理に際しては、前述した通り、CPU20のOSは、2つ目のファイルの書き足し位置や読み出し位置を正確に確認すべく、EOF1を少なくとも1回は読み取って認識している。
しかし、MTU30の機種によっては磁気テープMTに対するヘッド位置決め精度が低い場合もあるが、磁気テープMTに対するヘッド位置決め精度が高い機種もあり、このような高精度の機種では、一々、EOF1(あるいはEOF2)の読取/認識を行なう必要はない。つまり、ヘッド位置決め精度(信頼性)の低いMTU30については、図200(A),図200(B)および図201にて前述したようなファイルのオープン処理を全て行なう必要があるが、ヘッド位置決め精度(信頼性)の高いMTU30については、そのファイルのオープン処理の全てを行なう必要がない。
【0084】
そこで、CPU20が、ヘッド位置決め精度の低いMTU30とヘッド位置決め精度の高いMTU30とで異なるコマンドを発行すべく、MTU30の機種に応じてコマンドの切替制御を行なうようにすることも考えられる。しかし、この場合、CPU20で起動されるOS等を変更しなければならないほか、CPU20に対する処理負担も大きくなり、好ましくない。
【0085】
従って、CPU20がヘッド位置決め精度の低いMTU30にも対応できるようにファイルのクローズ/オープン処理時にCPU20側から発行されるコマンド(OS等)を変更することなく、ヘッド位置決め精度の高いMTU30については、ファイルのクローズ/オープン処理を高速化できるようにすることが望まれている。
【0086】
本発明は、このような課題に鑑み創案されたもので、ファイルのオープン処理に際してのEOF識別に係るテープ動作をエミュレートすることによりそのオープン処理に伴うテープ動作を簡略化できるようにするほか、ファイルのクローズ処理に伴う動作も簡略化できるようにして、オープン処理性能やクローズ処理性能、ひいては磁気テープ装置にアクセスするシステムの処理性能の向上をはかった、磁気テープ装置の制御方法を提供することを目的とする。
【0087】
【課題を解決するための手段】
上記目的を達成するために、本発明の磁気テープ装置の制御方法(請求項1)は、磁気テープにおいて、該磁気テープに記録されたファイルの最終データブロックの後に第1テープマークを書き込み、該第1テープマークの後に第1ファイル終端ラベルおよび第2ファイル終端ラベルを書き込み、該第2ファイル終端ラベルの後に第2テープマークを書き込み、当該ファイルが該磁気テープの最後である場合には該第2テープマークの後にさらに第3テープマークを書き込む一方、当該ファイルの後に次のファイルを書き足す場合には、該第3テープマークを書き潰して前記次のファイルを書き込むようにコマンド発行元装置から発行されたコマンドに応じて、磁気テープ装置のテープ動作を制御する方法であって、該磁気テープに記録されたファイルのオープン処理に際して、該磁気テープ装置において該磁気テープに対するヘッドの位置決め精度を確保すべく該第1テープマークの直前と該第3テープマークの直後との間で該ヘッドを移動させて該第1テープマークの直前と該第3テープマークの直後との間における該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを読取/認識する動作に係るコマンドを該コマンド発行元装置から受けると、該磁気テープ装置において該磁気テープに対するヘッドの位置(以下、実ヘッド位置という)を所定位置としての該第2テープマークの直後の位置に固定したまま、該コマンド発行元装置に対し、当該コマンドが実行されて当該コマンドに応じ該ヘッドが移動しているように見せかける応答を行なうエミュレーションを実行することを特徴としている。
【0088】
このとき、前記ファイルのクローズ処理に際しての該磁気テープ装置の実動作中に、該コマンド発行元装置からのコマンドに応じて該磁気テープ装置で読み取られた該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを退避領域に退避させ、前記ファイルのオープン処理に際しての前記エミュレーションの実行中に該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルの読取を指示するコマンドの応答として、該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを該退避領域から該コマンド発行元装置へ転送する(請求項2)。
【0089】
また、前記ファイルのクローズ処理に際して、前記ファイルのクローズ処理に際しての該磁気テープ装置の実動作中に、該コマンド発行元装置からのコマンドに応じて該磁気テープ装置で書き込まれた該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを退避領域に退避させ、前記ファイルのオープン処理に際しての前記エミュレーションの実行中に該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルの読取を指示するコマンドの応答として該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを該退避領域から該コマンド発行元装置へ転送する(請求項3)。
【0090】
さらに、前記ファイルのクローズ処理に際しての該磁気テープ装置の実動作中に、該コマンド発行元装置からのコマンドに応じて該磁気テープ装置でスキップされた該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを実際に読み取る実リード動作を該磁気テープ装置に実行させ、読み取った該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを退避領域に退避させ、前記ファイルのオープン処理に際しての前記エミュレーションの実行中に該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルの読取を指示するコマンドの応答として該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを該退避領域から該コマンド発行元装置へ転送する(請求項4)。
【0091】
また、前記ファイルのオープン処理に際しての前記エミュレーションの実行中に該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルの読取を指示するコマンドを受けた時に該退避領域に前記ファイル終端ラベルが退避されていない場合、前記エミュレーションを中断し該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを実際に読み取る実リード動作を該磁気テープ装置に実行させ、読み取った該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを該コマンド発行元装置へ転送する(請求項5)。
【0092】
またさらに、該コマンド発行元装置と該磁気テープ装置との間に、該磁気テープへのライトデータや該磁気テープからのリードデータを一時的に格納するデータバッファを介装し、該コマンド発行元装置と該データバッファとの間のリード/ライト処理と、該データバッファと該磁気テープ装置との間のリード/ライト処理とを非同期で行なう(請求項6)。
【0093】
そして、前記エミュレーションの実行中、該コマンド発行元装置から受けたコマンドを実際に実行した時の、該磁気テープ装置における該ヘッドの移動先位置(以下、仮想ヘッド位置という)を、該ヘッドが固定されている前記所定位置に対するヘッドの相対位置として管理する(請求項7)。
【0094】
このとき、前記エミュレーションの実行中に該磁気テープ装置における実ヘッド位置を要求するコマンドを受けた場合、前記の所定位置と相対位置との和を生成し、その和を実ヘッド位置として該コマンド発行元装置に対して通知するほか(請求項)、前記エミュレーションの実行中に該磁気テープ装置が実動作へ移行する場合、前記の所定位置と相対位置との和として該磁気テープ装置における実ヘッド位置を生成し、該磁気テープ装置における該ヘッドを当該実ヘッド位置に再位置付けする(請求項)。
【0095】
また、前記ファイルのクローズ処理に際しての該磁気テープ装置の実動作中に、該磁気テープに該第2テープマークを書き込んだ後に該第3テープマークの書込を要求するコマンドを受けた場合、該第3テープマークを書き込むことなく該第3テープマークの書込完了を該コマンド発行元装置に対して通知してもよい(請求項10)。
【0096】
この場合、前記ファイルのオープン処理に際しての前記エミュレーションの実行中に該ヘッドの位置が該第1テープマークの直前から該第3テープマークの直後までの範囲を超えるコマンドを受けた場合、該第3テープマークを書き込んでから、当該コマンドに応じたテープ動作を該磁気テープ装置に実行させ(請求項11)、該コマンド発行元装置からのコマンドに応じたテープ動作に伴い該磁気テープ装置において該第2テープマークの後にEOD(End Of Data)を検出した時に、該コマンド発行元装置に対し該EODの検出通知に代えて該第3テープマークの検出通知を行なって、該コマンド発行元装置が該第3テープマークの未書込を異常として検知することを防止する(請求項12)。
【0098】
また、アンロードやリワインドを含むモーション系コマンドを受けた場合、該第3テープマークを書き込んでから、当該モーション系コマンドに応じたテープ動作を該磁気テープ装置に実行させてもよい(請求項13)
【0099】
さらに、該磁気テープにおいて、複数のファイル終端ラベルが、パケッティング機能により1つの物理ブロックとして記録され、前記ファイルのクローズ処理に際しての該磁気テープ装置の実動作中に、前記複数のファイル終端ラベルのうちの1つの読取を指示するコマンドを受けると、読み取るべきファイル終端ラベルを含む前記1つの物理ブロックを該磁気テープから読み出して該データバッファに格納し、前記ファイルのオープン処理に際しての前記エミュレーションの実行中に、前記複数のファイル終端ラベルのうちの1つの読取を指示するコマンドの応答として、そのコマンドに応じたファイル終端ラベルを該データバッファから読み出して該コマンド発行元装置へ転送してもよい(請求項14)。
【0100】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
〔1〕第1実施形態の説明
〔1−1〕基本構成
図1は本発明の第1実施形態としての磁気テープ装置の制御方法を適用される磁気テープ制御装置のハードウェア構成を示すブロック図、図2(A)は第1実施形態におけるコマンドバッファおよびデータバッファの構成とXBID用レジスタを示す図、図2(B)は第1実施形態のRAMにおける退避領域および制御用領域の構成を示す図である。
【0101】
図1および図2(A)に示すように、第1実施形態の磁気テープ制御装置(MTC)10のハードウェアも、図175や図176を参照しながら前述したものとほぼ同様に構成されているので、図175や図176で説明した部分と同一もしくはほぼ同一の部分には、同一の符号を付し、その部分の詳細な説明は省略する。
【0102】
本実施形態においても、CPU(コマンド発行元装置,ホストコンピュータ,上位装置)20が、コマンドバッファ16およびデータバッファ17を有するMTC10を介し磁気テープMT(MTU30)に対してアクセスする場合、MTC10が、CPU20とデータバッファ17との間のリード/ライト処理と、データバッファ17と磁気テープMT(MTU30)との間のリード/ライト処理とを非同期で行なうように制御して、図177〜図182を参照しながら前述した通りのストリーミング処理を行なう。
【0103】
また、本実施形態の磁気テープMTにおいても、マルチファイル形式でデータが記録される。つまり、MTU30により、磁気テープMTに複数のファイルが連続的に書き込まれたり、磁気テープMTに記録されている複数のファイルが連続的に読み出されたりするようになっている。
【0104】
さらに、本実施形態の磁気テープMTにおいても、図3(B)に示すようにファイルの最終データブロック(図中、データ1)の後に第1テープマークTM−aが書き込まれ、図3(C)および図3(D)に示すように、第1テープマークTM−aの後に第1ファイル終端ラベル(以下、EOF1と略記)および第2ファイル終端ラベル(以下、EOF2と略記)が連続的に書き込まれ、図3(E)に示すように、EOF2の後に第2テープマークTM−bが書き込まれる。この後、そのファイルが磁気テープMTの最後である場合には、図3(F)に示すように第2テープマークTM−bの後にさらに第3テープマークTM−cが書き込まれる。一方、そのファイルの後に次のファイルを書き足す場合には、例えば図20に示すように、第3テープマークTM−cが書き潰されて2つのヘッダ(HDR1,HDR2)が書き込まれる。
【0105】
またさらに、本実施形態においても、磁気テープTMに上述のごとく記録されたファイルのクローズ/オープン処理に際して、CPU20が、MTU30における磁気テープMTに対するヘッドの位置を認識すべく、EOF1およびEOF2のうちの少なくとも一方を読み取るように各種コマンドを発行する。
そして、第1実施形態において、CPU20およびMTU30は、ハードウェア上もソフトウェア上も一切変更されておらず、MTC10に対してファームウェア上の変更が加えられているのみである。
【0106】
ただし、第1実施形態のMTC10には、HIC14やFMT15からアクセス可能なRAM18が設けられており、このRAM18には、図2(B)に示すように、6つの領域18a〜18fが新規に確保されている。
領域18aは、後述するエミュレーションの状態を監視するための制御領域であり、後述するエミュレーションステータス(ES;0〜6)を保持する領域である。
【0107】
領域18bは、後述するエミュレーション実行時の磁気テープMTに対するヘッドの仮想的な位置(仮想ヘッド位置)を監視するための制御領域であり、後述するエミュレーションポインタ(EP;−4〜+1)を保持する領域である。
領域18cは、MTU30の実動作中にEOF1を検出した際にそのEOF1を退避させるための退避領域(Save Data Area 1:SDT1)であり、領域18dは、そのEOF1のブロック長を退避させるための退避領域(Save Length Area 1 :SLN1)である。
【0108】
領域18eは、MTU30の実動作中にEOF2を検出した際にそのEOF2を退避させるための退避領域(Save Data Area 2:SDT2)であり、領域18fは、そのEOF2のブロック長を退避させるための退避領域(Save Length Area 2 :SLN2)である。
【0109】
〔1−2〕第1実施形態の制御方法
以下、図3〜図66を参照しながら、本発明の第1実施形態としての磁気テープ装置の制御方法について説明する。
〔1−2−1〕基本動作
まず、第1実施形態の方法の基本的な動作について簡単に説明すると、第1実施形態の方法では、磁気テープMTに記録されたファイルのオープン処理に際して、MTC10は、MTU30において磁気テープMTに対するヘッドの位置(以下、実ヘッド位置という)を所定位置〔図3(E)にて後述〕に固定させるとともに、CPU20からコマンドを受けると、そのコマンドに応じたテープ動作がMTU30において仮想的に実行されたものとして取り扱うエミュレーションを行なう。
【0110】
このとき、ファイルのクローズ処理に際して、CPU20からのRDコマンドに応じてMTU30でEOF1またはEOF2を読み取った場合、そのEOF1,EOF2をそれぞれRAM18の退避領域18c,18eに退避させておき、そのファイルのオープン処理に際して、CPU20からEOF1またはEOF2の読取を指示するRDコマンドが発行された場合、そのRDコマンドの応答としてEOF1またはEOF2をRAM18の退避領域18c,18eから読み出してCPU20へ転送する。
【0111】
また、ファイルのクローズ処理に際して、CPU20からのWRコマンドに応じてMTU30でEOF1またはEOF2を書き込む場合、そのEOF1またはEOF2をRAM18の退避領域18c,18eに退避させておき、そのファイルのオープン処理に際して、CPU20からEOF1またはEOF2の読取を指示するRDコマンドが発行された場合、そのRDコマンドの応答としてEOF1またはEOF2をRAM18の退避領域18c,18eから読み出してCPU20へ転送する。
【0112】
さらに、ファイルのクローズ処理に際して、CPU20からのSPコマンドまたはFSPFコマンドに応じてMTU30でEOF1およびEOF2のうちの少なくとも一方をスキップする場合、そのEOF1/EOF2を実際に読み取る実リード動作をMTU30に実行させ、読み取ったEOF1/EOF2をRAM18の退避領域18c,18eに退避させ、そのファイルのオープン処理に際して、CPU20からEOF1またはEOF2の読取を指示するRDコマンドが発行された場合、そのRDコマンドの応答としてEOF1またはEOF2をRAM18の退避領域18c,18eから読み出してCPU20へ転送する。
【0113】
〔1−2−2〕エミュレーションステータス
次に、図3(A)〜図3(G)を参照しながら、第1実施形態のエミュレーションステータス(以下、ESと略記)について説明する。
ここでは、RAM18の制御領域18aに保持されるESの値と、磁気テープMTに対する実際のヘッド位置(実ヘッド位置;FMT15のレジスタ15aに格納されるXBID)との関係について説明するとともに、各ESでエミュレーションを行なった場合に想定されうる仮想ヘッド位置(磁気テープMTに対するヘッドの仮想的な位置)と、その仮想ヘッド位置に対応してRAM18の制御領域18bに保持されるエミュレーションポインタ(以下、EPと略記)の値との関係について説明する。なお、図3(A)〜図3(G)において、黒三角マークは実ヘッド位置を示し、白抜き三角マークは仮想ヘッド位置を示す。
【0114】
図3(A)はES=0の状態(初期状態)を示す。この図3(A)に示すように、ES=0の状態は、磁気テープMTに対して任意のデータブロック(図中、データ1)の読取または書込を完了した状態で、磁気テープMTに対する実ヘッド位置がデータブロックの直後である。ES=0での実ヘッド位置(以下、XBIDという)は、n(任意のデータブロックのBID)とする。このとき、EPの値は−4のみとする。
【0115】
図3(B)はES=1の状態を示す。この図3(B)に示すように、ES=1の状態は、第1テープマークTM−aを検出または書き込んだ状態で、実ヘッド位置が第1テープマークTM−aの直後である。ES=1でのXBIDはn+1であり、このとき、EPの値は−3のみとする。
図3(C)はES=2の状態を示す。この図3(C)に示すように、ES=2の状態は、EOF1を検出または書き込んだ状態で、実ヘッド位置がEOF1の直後である。ES=2でのXBIDはn+2であり、このとき、EPの値は−2のみとする。
【0116】
図3(D)はES=3の状態を示す。この図3(D)に示すように、ES=3の状態は、EOF2を検出または書き込んだ状態で、実ヘッド位置がEOF2の直後である。ES=3でのXBIDはn+3であり、このとき、EPの値は−1のみとする。
【0117】
図3(E)はES=4の状態を示す。この図3(E)に示すように、ES=4の状態は、第2テープマークTM−bを検出または書き込んだ状態で、実ヘッド位置が第2テープマークTM−bの直後である。ES=4でのXBIDはn+4であり、このとき、EPの値は−4,−3,−2,−1,0の5つの値をとりうる。
【0118】
図3(F)はES=5の状態を示す。この図3(F)に示すように、ES=5の状態は、第3テープマークTM−cを検出または書き込んだ状態で、実ヘッド位置が第3テープマークTM−cの直後である。ES=5でのXBIDはn+5であり、このとき、EPの値は+1のみとする。
【0119】
図3(G)はES=6の状態を示す。この図3(G)に示すように、ES=6の状態は、第3テープマークTM−cを検出または書き込んだ状態で、且つ、実ヘッド位置が第2テープマークTM−bと第3テープマークTM−cとの間にある状態である。ES=6でのXBIDはn+4であり、このとき、EPの値は−4,−3,−2,−1,0,+1の6つの値をとりうる。
【0120】
本実施形態では、図3(E)および図3(G)に示すように、実ヘッド位置が第2テープマークTM−bの直後の位置である場合に、エミュレーションを実行する。つまり、エミュレーション実行時にヘッドを固定すべき所定位置を、第2テープマークTM−bの直後の位置としている。また、エミュレーションに伴う仮想ヘッド位置、即ち、EPの値を、その所定位置に対するヘッドの相対位置として管理している。つまり、EPの値は、仮想ヘッド位置が第2テープマークTM−bの直後の位置である時に0とし、仮想ヘッド位置が1つのEOFもしくは1本のテープマークだけ後進すると1を減算され、1つのEOFもしくは1本のテープマークだけ前進すると1を加算される。
【0121】
〔1−2−3〕コマンド処理
FMT15によるアイドル処理は、図183により説明したアイドル処理と同じであるので、その詳細な説明は省略する。FMT15は、HIC14からコマンド処理を指示されると、アイドル処理によって、HIC14から指示されたコマンド種別に対応するコマンド処理(図183のステップS24〜S30参照)へ分岐・移行し、各コマンド処理で、図4〜図19に示すフローチャートや制御テーブル(制御マトリックス)に従った制御を実行する。
【0122】
各コマンド処理について説明する前に、第1実施形態の方法における特徴的な動作▲1▼〜▲6▼について説明する。
▲1▼コマンド処理における処理A10〜A80では、後述するごとく、FMT15は、RAM18の制御領域18a,18bに保持されるESの値およびEPの値に基づいてMTU30において実動作を行なうかエミュレーションを行なうかを決定し、その決定結果に応じてMTU30を制御する。このとき、実動作を行なった場合には、レジスタ15aに保持される実ヘッド位置XBIDの値を更新する。
【0123】
▲2▼MTU30がコマンドに応じた実動作を行なう際に、仮想ヘッド位置と実ヘッド位置とが異なっている場合、実ヘッド位置XBIDに相対位置EPを加算することにより、ヘッドの再位置付け位置を算出し、MTU30におけるヘッドを前記相対位置に位置付けし直した後、MTU30は、前記コマンドに対応したメカニカルな動作を行ない、レジスタ15aにおけるXBIDの値を更新する。なお、このとき、相対位置EPを加算すべき実ヘッド位置XBIDの値は図3(E)または図3(G)に示すn+4になっている。
【0124】
▲3▼一方、エミュレーションを行なう際には、MTU30はメカニカルな動作を行なわず、レジスタ15aにおけるXBIDの値も更新せずに、CPU20に対してはHIC14を介して、実ヘッド位置XBIDに相対位置EPを加算した値を、現在のヘッド位置として報告する。なお、このときも、相対位置EPを加算すべき実ヘッド位置XBIDの値は図3(E)または図3(G)に示すn+4になっている。
【0125】
▲4▼コマンド処理における処理B10〜B80では、後述するごとく、FMT15は、コマンドと、そのコマンドの処理対象となるデータブロックの種別とによって、RAM18におけるESおよびEPを更新する。更新後のESおよびEPは、HIC14から次のコマンド処理の指示を受けた時に、FMT15によって用いられる。
【0126】
▲5▼さらに、コマンド処理における処理B10,B30,B60およびB70では、後述するごとく、MTU30の実動作(ファイルのクローズ処理時)によるRD処理,WR処理,SP処理およびFSPF処理の実行時に、その処理対象となるデータブロックがEOF1またはEOF2であると判断される場合、FMT15は、そのデータブロックを、RAM18の退避領域18cまたは18eに格納するとともに、そのデータブロックのブロック長も、RAM18の退避領域18dまたは18fに格納する。その後、例えばファイルのオープン処理に際し、RDコマンドに応じたRD処理でエミュレーションを実行する場合、FMT15は、退避領域18cまたは18eのデータブロック(EOF1またはEOF2)を、磁気テープMTから読み出したデータとして、データバッファ17に格納する。
【0127】
▲6▼コマンド処理における処理C1〜C3では、RD処理,RB処理およびWR処理の実行時に、FMT15は、処理B10〜B30で更新されたブロックID(BID),データバッファポインタ(BPNT),ブロック長(BLEN)をFQL16−4に登録するとともに、FQP16−3のコマンドポインタ(キューポインタ)を更新し、データバッファポインタも更新する。また、処理コマンド処理における処理C4〜C8では、BSP処理,BSPF処理,SP処理,FSPF処理およびWTM処理の実行時に、BIDをFQL16−4に登録し、FQP16−3のコマンドポインタ(キューポインタ)を更新する。なお、第1実施形態における処理C1〜C8も、基本的に、図184〜図199にて前述したものと同じである。
【0128】
〔1−2−3−1〕RD(Read) 処理
図4は、第1実施形態におけるMTC10のFMT15によるRD処理を説明するためのフローチャート、図5は、RD処理をより詳細に説明すべく、図4に示すフローチャートの一部(処理A10およびB10)をテーブル化して示す図である。
【0129】
図4に示すように、FMT15によるRD処理時には、ストリーミングが停止されるまで(ステップS35でYES判定となるまで)、処理A10,処理B10および処理C1が繰り返し実行される。処理C1は、図184および図185にて前述したものと同じであるので、その説明は省略し、以下では、処理A10および処理B10の詳細について、図5に示す制御テーブル(制御マトリックス)を参照しながら説明する。
【0130】
処理A10では、まず、FMT15は、RAM18を参照しESの値およびEPの値を認識する。ES=0かつEP=−4であると認識された場合〔図3(A)参照〕、MTU30に実際にリード動作(実READ)を実行させて、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B10では、MTU30でリードされたデータブロックの種別がテープマーク(以下、TMと略記)であるかそれ以外のものであるかを判断する。そのデータブロックがTMであると判断された場合には、RAM18においてESを“1”に更新するとともにEPを“−3”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=1000)。一方、処理B10でデータブロックがTM以外のものであると判断された場合には、RAM18においてES=0かつEP=−4のままとし、FQL16−4において、TMフラグを“0”、BLENを“LEN(そのデータブロックのブロック長)”、BIDを“XBID”とする(プロセスID=1001)。
【0131】
処理A10でES=1かつEP=−3であると認識された場合〔図3(B)参照〕、MTU30に実際にリード動作(実READ)を実行させて、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B10では、MTU30でリードされたデータブロックの種別がEOFであるかTMであるかそれ以外のものであるかを判断する。そのデータブロックがEOFであると判断された場合には、RAM18においてESを“2”に更新するとともにEPを“−2”に更新し、FQL16−4において、TMフラグを“0”、BLENを“LEN”、BIDを“XBID”とし、さらに、磁気テープMTからデータバッファ17に読み出されたEOF(EOF1)をRAM18の退避領域(SDT1)18cに退避させるとともに、そのEOFのブロック長LENをRAM18の退避領域(SLN1)18dに退避させる(プロセスID=1100)。処理B10でデータブロックがTMであると判断された場合には、RAM18においてES=1かつEP=−3”のままとし、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=1101)。処理B10でデータブロックがEOFやTM以外のものであると判断された場合には、RAM18においてESを“0”に更新するとともにEPを“−4”に更新し、FQL16−4において、TMフラグを“0”、BLENを“LEN”、BIDを“XBID”とする(プロセスID=1102)。
【0132】
処理A10でES=2かつEP=−2であると認識された場合〔図3(C)参照〕、MTU30に実際にリード動作(実READ)を実行させて、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B10では、MTU30でリードされたデータブロックの種別がEOFであるかTMであるかそれ以外のものであるかを判断する。そのデータブロックがEOFであると判断された場合には、RAM18においてESを“3”に更新するとともにEPを“−1”に更新し、FQL16−4において、TMフラグを“0”、BLENを“LEN”、BIDを“XBID”とし、さらに、磁気テープMTからデータバッファ17に読み出されたEOF(EOF2)をRAM18の退避領域(SDT2)18eに退避させるとともに、そのEOFのブロック長LENをRAM18の退避領域(SLN2)18fに退避させる(プロセスID=1200)。処理B10でデータブロックがTMであると判断された場合には、RAM18においてESを“1”に更新するとともにEPを“−3”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=1101)。処理B10でデータブロックがEOFやTM以外のものであると判断された場合には、RAM18においてESを“0”に更新するとともにEPを“−4”に更新し、FQL16−4において、TMフラグを“0”、BLENを“LEN”、BIDを“XBID”とする(プロセスID=1102)。
【0133】
処理A10でES=3かつEP=−1であると認識された場合〔図3(D)参照〕、MTU30に実際にリード動作(実READ)を実行させて、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B10では、MTU30でリードされたデータブロックの種別がTMであるかそれ以外のものであるかを判断する。そのデータブロックがTMであると判断された場合には、RAM18においてESを“4”に更新するとともにEPを“0”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=1300)。一方、処理B10でデータブロックがTM以外のものであると判断された場合には、RAM18においてESを“0”に更新するとともにEPを“−4”に更新し、FQL16−4において、TMフラグを“0”、BLENを“LEN”、BIDを“XBID”とする(プロセスID=1301)。
【0134】
処理A10でES=4かつEP=−4であると認識された場合〔図3(E)参照〕、MTU30のエミュレーションを実行し、処理B10では、RAM18においてESを“4”に保持したままEPを“−3”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=1400)。
【0135】
処理A10でES=4かつEP=−3であると認識された場合〔図3(E)参照〕、MTU30のエミュレーションを実行し、処理B10では、RAM18においてESを“4”に保持したままEPを“−2”に更新し、RAM18の退避領域(SDT1)18cに退避させたEOF1をデータバッファ17に書き込むとともに、FQL16−4において、TMフラグを“0”、BLENを“SLN1(RAM18の退避領域18dに退避させたEOF1のブロック長)”、BIDを“XBID+EP”とする(プロセスID=1410)。
【0136】
処理A10でES=4かつEP=−2であると認識された場合〔図3(E)参照〕、MTU30のエミュレーションを実行し、処理B10では、RAM18においてESを“4”に保持したままEPを“−1”に更新し、RAM18の退避領域(SDT2)18eに退避させたEOF2をデータバッファ17に書き込むとともに、FQL16−4において、TMフラグを“0”、BLENを“SLN2(RAM18の退避領域18fに退避させたEOF2のブロック長)”、BIDを“XBID+EP”とする(プロセスID=1420)。
【0137】
処理A10でES=4かつEP=−1であると認識された場合〔図3(E)参照〕、MTU30のエミュレーションを実行し、処理B10では、RAM18においてESを“4”に保持したままEPを“0”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=1430)。
【0138】
処理A10でES=4かつEP=0であると認識された場合〔図3(E)参照〕、MTU30に実際にリード動作(実READ)を実行させて、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B10では、MTU30でリードされたデータブロックの種別がEOFであるかTMであるかそれ以外のものであるかを判断する。そのデータブロックがEOFであると判断された場合には、RAM18においてESを“2”に更新するとともにEPを“−2”に更新し、FQL16−4において、TMフラグを“0”、BLENを“LEN”、BIDを“XBID”とし、さらに、磁気テープMTからデータバッファ17に読み出されたEOF(EOF1)をRAM18の退避領域(SDT1)18cに退避させるとともに、そのEOFのブロック長LENをRAM18の退避領域(SLN1)18dに退避させる(プロセスID=1440)。処理B10でデータブロックがTMであると判断された場合には、RAM18においてESを“5”に更新するとともにEPを“+1”に更新し、FQL16−4において、TMフラグを“1”、BIDを“XBID”とする(プロセスID=1441)。処理B10でデータブロックがEOFやTM以外のものであると判断された場合には、RAM18においてESを“0”に更新するとともにEPを“−4”に更新し、FQL16−4において、TMフラグを“0”、BIDを“XBID”とする(プロセスID=1442)。
【0139】
処理A10でES=5かつEP=+1であると認識された場合〔図3(F)参照〕、MTU30に実際にリード動作(実READ)を実行させて、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B10では、MTU30でリードされたデータブロックの種別がEOFであるかTMであるかそれ以外のものであるかを判断する。そのデータブロックがEOFであると判断された場合には、RAM18においてESを“2”に更新するとともにEPを“−2”に更新し、FQL16−4において、TMフラグを“0”、BIDを“XBID”とし、さらに、磁気テープMTからデータバッファ17に読み出されたEOF(EOF1)をRAM18の退避領域(SDT1)18cに退避させるとともに、そのEOFのブロック長LENをRAM18の退避領域(SLN1)18dに退避させる(プロセスID=1500)。処理B10でデータブロックがTMであると判断された場合には、RAM18においてESを“1”に更新するとともにEPを“−3”に更新し、FQL16−4において、TMフラグを“1”、BIDを“XBID”とする(プロセスID=1501)。処理B10でデータブロックがEOFやTM以外のものであると判断された場合には、RAM18においてESを“0”に更新するとともにEPを“−4”に更新し、FQL16−4において、TMフラグを“0”、BIDを“XBID”とする(プロセスID=1502)。
【0140】
処理A10でES=6かつEP=−4であると認識された場合〔図3(G)参照〕、MTU30のエミュレーションを実行し、処理B10では、RAM18においてESを“6”に保持したままEPを“−3”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=1600)。
【0141】
処理A10でES=6かつEP=−3であると認識された場合〔図3(G)参照〕、MTU30のエミュレーションを実行し、処理B10では、RAM18においてESを“6”に保持したままEPを“−2”に更新し、RAM18の退避領域(SDT1)18cに退避させたEOF1をデータバッファ17に書き込むとともに、FQL16−4において、TMフラグを“0”、BLENを“SLN1(RAM18の退避領域18dに退避させたEOF1のブロック長)”、BIDを“XBID+EP”とする(プロセスID=1610)。
【0142】
処理A10でES=6かつEP=−2であると認識された場合〔図3(G)参照〕、MTU30のエミュレーションを実行し、処理B10では、RAM18においてESを“6”に保持したままEPを“−1”に更新し、RAM18の退避領域(SDT2)18eに退避させたEOF2をデータバッファ17に書き込むとともに、FQL16−4において、TMフラグを“0”、BLENを“SLN2(RAM18の退避領域18fに退避させたEOF2のブロック長)”、BIDを“XBID+EP”とする(プロセスID=1620)。
【0143】
処理A10でES=6かつEP=−1であると認識された場合〔図3(G)参照〕、MTU30のエミュレーションを実行し、処理B10では、RAM18においてESを“6”に保持したままEPを“0”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=1630)。
【0144】
処理A10でES=6かつEP=0であると認識された場合〔図3(G)参照〕、MTU30のエミュレーションを実行し、処理B10では、RAM18においてESを“6”に保持したままEPを“+1”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=1640)。
【0145】
処理A10でES=6かつEP=+1であると認識された場合〔図3(G)参照〕、MTU30においてヘッドを位置XBID+EP〔図3(G)ではn+5の位置〕に再位置付けしてから、MTU30に実際にリード動作(実READ)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B10では、MTU30でリードされたデータブロックの種別がTMであるかそれ以外のものであるかを判断する。そのデータブロックがTMであると判断された場合には、RAM18においてESを“1”に更新するとともにEPを“−3”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=1650)。処理B10でデータブロックがTM以外のものであると判断された場合には、RAM18においてESを“0”に更新するとともにEPを“−4”に更新し、FQL16−4において、TMフラグを“0”、BLENを“LEN”、BIDを“XBID”とする(プロセスID=1651)。
【0146】
〔1−2−3−2〕RB(Read Backward)処理
図6は、第1実施形態におけるMTC10のFMT15によるRB処理を説明するためのフローチャート、図7は、RB処理をより詳細に説明すべく、図6に示すフローチャートの一部(処理A20およびB20)をテーブル化して示す図である。
【0147】
図6に示すように、FMT15によるRB処理時には、処理A20,処理B20および処理C2が実行される。処理C2は、図186および図187にて前述したものと同じであるので、その説明は省略し、以下では、処理A20および処理B20の詳細について、図7に示す制御テーブル(制御マトリックス)を参照しながら説明する。
【0148】
なお、第1実施形態のMTC10は、CPU20からRBコマンドを受けた場合、CPU20に対してエラー報告を行なう。そして、RB処理に際し、MTU30に実際にリードバックワード動作(実RB)を実行させた場合には、後述するごとくES=0かつEP=−4とする一方、MTU30のエミュレーションを実行した場合には、後述するごとくESを不定としEPのみを更新している。
【0149】
処理A20では、まず、FMT15は、RAM18を参照しESの値およびEPの値を認識する。ES=0かつEP=−4であると認識された場合〔図3(A)参照〕、MTU30に実際にリードバックワード動作(実RB)を実行させて、レジスタ15aにおける実ヘッド位置XBIDの値から1を減算する。そして、処理B20では、MTU30で読み取られたデータブロックの種別がTMであるかそれ以外のものであるかを判断する。そのデータブロックがTMであると判断された場合には、RAM18においてES=0かつEP=−4のままとし、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=2000)。一方、処理B20でデータブロックがTM以外のものであると判断された場合には、RAM18においてES=0かつEP=−4のままとし、FQL16−4において、TMフラグを“0”、BLENを“0”、BIDを“XBID”とする(プロセスID=2001)。
【0150】
処理A20でES=1かつEP=−3であると認識された場合〔図3(B)参照〕、MTU30に実際にリードバックワード動作(実RB)を実行させて、レジスタ15aにおける実ヘッド位置XBIDの値から1を減算する。そして、処理B20では、MTU30で読み取られたデータブロックの種別がTMであるかそれ以外のものであるかを判断する。そのデータブロックがTMであると判断された場合には、RAM18においてESを“0”に更新するとともにEPを“−4”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=2100)。一方、処理B20でデータブロックがTM以外のものであると判断された場合には、RAM18においてESを“0”に更新するとともにEPを“−4”に更新し、FQL16−4において、TMフラグを“0”、BLENを“0”、BIDを“XBID”とする(プロセスID=2101)。
【0151】
処理A20でES=2かつEP=−2であると認識された場合〔図3(C)参照〕や、処理A20でES=3かつEP=−1であると認識された場合〔図3(D)参照〕、処理A20や処理B20では、前述したプロセスID=2100,2101の処理と同様の処理が実行される(プロセスID=2200,2201,2300,2301)。
【0152】
処理A20でES=4かつEP=−4であると認識された場合〔図3(E)参照〕、MTU30において、ヘッドを位置XBID+EP〔図3(E)ではnの位置〕に再位置付けしてから、MTU30に実際にリードバックワード動作(実RB)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値から1を減算する。そして、処理B20では、前述したプロセスID=2100,2101の処理と同様の処理が実行される(プロセスID=2400,2401)。
【0153】
処理A20でES=4かつEP=−3であると認識された場合〔図3(E)参照〕、MTU30のエミュレーションを実行し、処理B20では、RAM18においてESを不定としEPを“−4”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=2410)。
【0154】
処理A20でES=4かつEP=−2であると認識された場合〔図3(E)参照〕、MTU30のエミュレーションを実行し、処理B20では、RAM18においてESを不定としEPを“−3”に更新し、FQL16−4において、TMフラグを“0”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=2420)。
【0155】
処理A20でES=4かつEP=−1であると認識された場合〔図3(E)参照〕、MTU30のエミュレーションを実行し、処理B20では、RAM18においてESを不定としEPを“−2”に更新し、FQL16−4において、TMフラグを“0”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=2430)。
【0156】
処理A20でES=4かつEP=0であると認識された場合〔図3(E)参照〕、MTU30のエミュレーションを実行し、処理B20では、RAM18においてESを不定としEPを“−1”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=2440)。
【0157】
処理A20でES=5かつEP=+1であると認識された場合〔図3(F)参照〕、MTU30に実際にリードバックワード動作(実RB)を実行させて、レジスタ15aにおける実ヘッド位置XBIDの値から1を減算する。そして、処理B10では、RAM18においてESを“6”に更新するとともにEPを“0”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=2500)。
【0158】
処理A20でES=6かつEP=−4であると認識された場合〔図3(G)参照〕、処理A20や処理B20では、前述したプロセスID=2400,2401の処理と同様の処理が実行される(プロセスID=2600,2601)。
処理A20でES=6かつEP=−3であると認識された場合〔図3(G)参照〕、処理A20や処理B20では、前述したプロセスID=2410の処理と同様の処理が実行される(プロセスID=2610)。
【0159】
処理A20でES=6かつEP=−2であると認識された場合〔図3(G)参照〕、処理A20や処理B20では、前述したプロセスID=2420の処理と同様の処理が実行される(プロセスID=2620)。
処理A20でES=6かつEP=−1であると認識された場合〔図3(G)参照〕、処理A20や処理B20では、前述したプロセスID=2430の処理と同様の処理が実行される(プロセスID=2630)。
【0160】
処理A20でES=6かつEP=0であると認識された場合〔図3(G)参照〕、MTU30のエミュレーションを実行し、処理B20では、RAM18においてESを不定としEPを“−1”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=2640)。
【0161】
処理A20でES=6かつEP=+1であると認識された場合〔図3(G)参照〕、MTU30のエミュレーションを実行し、処理B20では、RAM18においてESを不定としEPを“0”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=2650)。
【0162】
〔1−2−3−3〕WR(Write)処理
図8は、第1実施形態におけるMTC10のFMT15によるWR処理を説明するためのフローチャート、図9は、WR処理をより詳細に説明すべく、図8に示すフローチャートの一部(処理A30およびB30)をテーブル化して示す図である。
【0163】
図8に示すように、FMT15によるWR処理時には、ストリーミングが停止されるまで(ステップS50でYES判定となるまで)、処理A30,処理B30および処理C3が繰り返し実行される。処理C3は、図188および図189にて前述したものと同じであるので、その説明は省略し、以下では、処理A30および処理B30の詳細について、図9に示す制御テーブル(制御マトリックス)を参照しながら説明する。
【0164】
処理A30では、まず、FMT15は、RAM18を参照しESの値およびEPの値を認識する。ES=0かつEP=−4であると認識された場合〔図3(A)参照〕、MTU30に実際にライト動作(実WR)を実行させて、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B30では、RAM18においてES=0かつEP=−4のままとし、FQL16−4において、BLENを“LEN”、BIDを“XBID”とする(プロセスID=3000)。
【0165】
処理A30でES=1かつEP=−3であると認識された場合〔図3(B)参照〕、MTU30に実際にライト動作(実WR)を実行させて、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B30では、MTU30でライトされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOFであると判断された場合には、RAM18においてESを“2”に更新するとともにEPを“−2”に更新し、FQL16−4において、BLENを“LEN”、BIDを“XBID”とし、さらに、データバッファ17に格納されたEOF(EOF1)をRAM18の退避領域(SDT1)18cに退避させるとともに、そのEOFのブロック長LENをRAM18の退避領域(SLN1)18dに退避させる(プロセスID=3100)。処理B30でデータブロックがEOF以外のものであると判断された場合には、RAM18においてESを“0”に更新するとともにEPを“−4”に更新し、FQL16−4において、BLENを“LEN”、BIDを“XBID”とする(プロセスID=3101)。
【0166】
処理A30でES=2かつEP=−2であると認識された場合〔図3(C)参照〕、MTU30に実際にライト動作(実WR)を実行させて、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B30では、MTU30でライトされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOFであると判断された場合には、RAM18においてESを“3”に更新するとともにEPを“−1”に更新し、FQL16−4において、BLENを“LEN”、BIDを“XBID”とし、さらに、データバッファ17に格納されたEOF(EOF2)をRAM18の退避領域(SDT2)18eに退避させるとともに、そのEOFのブロック長LENをRAM18の退避領域(SLN2)18fに退避させる(プロセスID=3200)。処理B30でデータブロックがEOF以外のものであると判断された場合には、RAM18においてESを“0”に更新するとともにEPを“−4”に更新し、FQL16−4において、BLENを“LEN”、BIDを“XBID”とする(プロセスID=3201)。
【0167】
処理A30でES=3かつEP=−1であると認識された場合〔図3(D)参照〕、MTU30に実際にライト動作(実WR)を実行させて、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B30では、RAM18においてESを“0”に更新するとともにEPを“−4”に更新し、FQL16−4において、BLENを“LEN”、BIDを“XBID”とする(プロセスID=3300)。
【0168】
処理A30でES=4かつEP=−4であると認識された場合〔図3(E)参照〕、MTU30において、ヘッドを位置XBID+EP〔図3(E)ではnの位置〕に再位置付けしてから、MTU30に実際にライト動作(実WR)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B30では、RAM18においてESを“0”に更新するとともにEPを“−4”に保持し、FQL16−4において、BLENを“LEN”、BIDを“XBID”とする(プロセスID=3400)。
【0169】
処理A30でES=4かつEP=−3であると認識された場合〔図3(E)参照〕、MTU30において、ヘッドを位置XBID+EP〔図3(E)ではn+1の位置〕に再位置付けしてから、MTU30に実際にライト動作(実WR)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B30では、前述したプロセスID=3100,3101の処理と同様の処理が実行される(プロセスID=3410,3411)。
【0170】
処理A30でES=4かつEP=−2であると認識された場合〔図3(E)参照〕、MTU30において、ヘッドを位置XBID+EP〔図3(E)ではn+2の位置〕に再位置付けしてから、MTU30に実際にライト動作(実WR)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B30では、前述したプロセスID=3200,3201の処理と同様の処理が実行される(プロセスID=3420,3421)。
【0171】
処理A30でES=4かつEP=−1であると認識された場合〔図3(E)参照〕、MTU30において、ヘッドを位置XBID+EP〔図3(E)ではn+3の位置〕に再位置付けしてから、MTU30に実際にライト動作(実WR)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B30では、プロセスID=3300の処理と同様、RAM18においてESを“0”に更新するとともにEPを“−4”に更新し、FQL16−4において、BLENを“LEN”、BIDを“XBID”とする(プロセスID=3430)。
【0172】
処理A30でES=4かつEP=0であると認識された場合〔図3(E)参照〕、MTU30に実際にライト動作(実WR)を実行させて、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B30では、前述したプロセスID=3100,3101の処理と同様の処理が実行される(プロセスID=3440,3441)。
【0173】
処理A30でES=5かつEP=+1であると認識された場合〔図3(F)参照〕、MTU30に実際にライト動作(実WR)を実行させて、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B30では、前述したプロセスID=3100,3101の処理と同様の処理が実行される(プロセスID=3500,3501)。
【0174】
処理A30でES=6かつEP=−4であると認識された場合〔図3(G)参照〕、処理A30や処理B30では、前述したプロセスID=3400の処理と同様の処理が実行される(プロセスID=3600)。
処理A30でES=6かつEP=−3であると認識された場合〔図3(G)参照〕、処理A30や処理B30では、前述したプロセスID=3410,3411の処理と同様の処理が実行される(プロセスID=3610,3611)。
【0175】
処理A30でES=6かつEP=−2であると認識された場合〔図3(G)参照〕、処理A30や処理B30では、前述したプロセスID=3420,3421の処理と同様の処理が実行される(プロセスID=3620,3621)。
処理A30でES=6かつEP=−1であると認識された場合〔図3(G)参照〕、処理A30や処理B30では、前述したプロセスID=3430の処理と同様の処理が実行される(プロセスID=3630)。
【0176】
処理A30でES=6かつEP=0であると認識された場合〔図3(G)参照〕、処理A30や処理B30では、前述したプロセスID=3440,3441の処理と同様の処理が実行される(プロセスID=3640,3641)。
処理A30でES=6かつEP=+1であると認識された場合〔図3(G)参照〕、MTU30において、ヘッドを位置XBID+EP〔図3(G)ではn+5の位置〕に再位置付けしてから、MTU30に実際にライト動作(実WR)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B30では、前述したプロセスID=3100,3101の処理と同様の処理が実行される(プロセスID=3650,3651)。
【0177】
〔1−2−3−4〕BSP(Back Space Block) 処理
図10は、第1実施形態におけるMTC10のFMT15によるBSP処理を説明するためのフローチャート、図11は、BSP処理をより詳細に説明すべく、図10に示すフローチャートの一部(処理A40およびB40)をテーブル化して示す図である。
【0178】
図10に示すように、FMT15によるBSP処理時には、処理A40,処理B40および処理C4が実行される。処理C4は、図190および図191にて前述したものと同じであるので、その説明は省略し、以下では、処理A40および処理B40の詳細について、図11に示す制御テーブル(制御マトリックス)を参照しながら説明する。
【0179】
処理A40では、まず、FMT15は、RAM18を参照しESの値およびEPの値を認識する。ES=0かつEP=−4であると認識された場合〔図3(A)参照〕、MTU30に実際に1データブロック分のバックスペース動作(実BSP)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値から1を減算する。そして、処理B40では、RAM18においてES=0かつEP=−4を保持し、FQL16−4において、BLENを“LEN”、BIDを“XBID”とする(プロセスID=4000)。
【0180】
処理A40でES=1かつEP=−3であると認識された場合〔図3(B)参照〕、MTU30に実際に1データブロック分のバックスペース動作(実BSP)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値から1を減算する。そして、処理B40では、RAM18においてESを“0”に更新するとともにEPを“−4”に更新し、FQL16−4において、TMフラグを“0”、BLENを“0”、BIDを“XBID”とする(プロセスID=4100)。
【0181】
処理A40でES=2かつEP=−2であると認識された場合〔図3(C)参照〕や、処理A40でES=3かつEP=−1であると認識された場合〔図3(D)参照〕、処理A40や処理B40では、前述したプロセスID=4100の処理と同様の処理が実行される(プロセスID=4200,4300)。
処理A40でES=4かつEP=−4であると認識された場合〔図3(E)参照〕、MTU30において、ヘッドを位置XBID+EP〔図3(E)ではnの位置〕に再位置付けしてから、MTU30に実際に1データブロック分のバックスペース動作(実BSP)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値から1を減算する。そして、処理B40では、RAM18においてESを“0”に更新するとともにEPを“−4”に保持し、FQL16−4において、TMフラグを“0”、BLENを“0”、BIDを“XBID”とする(プロセスID=4400)。
【0182】
処理A40でES=4かつEP=−3であると認識された場合〔図3(E)参照〕、MTU30のエミュレーションを実行し、処理B40では、RAM18においてESを“4”に保持するとともにEPを“−4”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=4410)。
【0183】
処理A40でES=4かつEP=−2であると認識された場合〔図3(E)参照〕、MTU30のエミュレーションを実行し、処理B40では、RAM18においてESを“4”に保持するとともにEPを“−3”に更新し、FQL16−4において、TMフラグを“0”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=4420)。
【0184】
処理A40でES=4かつEP=−1であると認識された場合〔図3(E)参照〕には、MTU30のエミュレーションを実行し、処理B40では、RAM18においてESを“4”に保持するとともにEPを“−2”に更新し、FQL16−4において、TMフラグを“0”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=4430)。
【0185】
処理A40でES=4かつEP=0であると認識された場合〔図3(E)参照〕、MTU30のエミュレーションを実行し、処理B40では、RAM18においてESを“4”に保持するとともにEPを“−1”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=4440)。
【0186】
処理A40でES=5かつEP=+1であると認識された場合〔図3(F)参照〕、MTU30に実際にMTU30に実際に1データブロック分のバックスペース動作(実BSP)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値から1を減算する。そして、処理B40では、RAM18においてESを“6”に更新するとともにEPを“0”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=4500)。
【0187】
処理A40でES=6かつEP=−4であると認識された場合〔図3(G)参照〕、処理A40や処理B40では、前述したプロセスID=4400の処理と同様の処理が実行される(プロセスID=4600)。
処理A40でES=6かつEP=−3であると認識された場合〔図3(G)参照〕、MTU30のエミュレーションを実行し、処理B40では、RAM18においてESを“4”に更新するとともにEPを“−4”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=4610)。
【0188】
処理A40でES=6かつEP=−2であると認識された場合〔図3(G)参照〕、MTU30のエミュレーションを実行し、処理B40では、RAM18においてESを“4”に更新するとともにEPを“−3”に更新し、FQL16−4において、TMフラグを“0”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=4620)。
【0189】
処理A40でES=6かつEP=−1であると認識された場合〔図3(G)参照〕には、MTU30のエミュレーションを実行し、処理B40では、RAM18においてESを“4”に更新するとともにEPを“−2”に更新し、FQL16−4において、TMフラグを“0”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=4630)。
【0190】
処理A40でES=6かつEP=0であると認識された場合〔図3(G)参照〕、MTU30のエミュレーションを実行し、処理B40では、RAM18においてESを“4”に更新するとともにEPを“−1”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=4640)。
【0191】
処理A40でES=6かつEP=+1であると認識された場合〔図3(G)参照〕、MTU30のエミュレーションを実行し、処理B40では、RAM18においてESを“4”に更新するとともにEPを“0”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=4650)。
【0192】
〔1−2−3−5〕BSPF(Back Space File)処理
図12は、第1実施形態におけるMTC10のFMT15によるBSPF処理を説明するためのフローチャート、図13は、BSPF処理をより詳細に説明すべく、図12に示すフローチャートの一部(処理A50およびB50)をテーブル化して示す図である。
【0193】
図12に示すように、FMT15によるBSPF処理時には、テープマーク(TM)が検出されるまで(ステップS51でYES判定となるまで)、処理A50および処理B50が繰り返し実行され、TMが検出されると(ステップS51のYESルート)、処理C5が実行される。この処理C5は、図192および図193にて前述したものと同じであるので、その説明は省略し、以下では、処理A50および処理B50について、図13に示す制御テーブル(制御マトリックス)を参照しながら説明する。
【0194】
図13に示すように、処理A50および処理B50は、図11を参照しながら前述した処理A40および処理B40とほぼ同じであり、図13に示すプロセスID=5000〜5650の処理は、それぞれ、図11に示すプロセスID=4000〜4650の処理に対応している。ただし、処理B50では、FQL16−4において、TMフラグおよびBLENを不定としている。
【0195】
〔1−2−3−6〕SP(Forward Space File) 処理
図14は、第1実施形態におけるMTC10のFMT15によるSP処理を説明するためのフローチャート、図15は、SP処理をより詳細に説明すべく、図14に示すフローチャートの一部(処理A60およびB60)をテーブル化して示す図である。
【0196】
図14に示すように、FMT15によるSP処理時には、FMT15によるSP処理時には、処理A60,処理B60および処理C6が実行される。処理C6は、図194および図195にて前述したものと同じであるので、その説明は省略し、以下では、処理A60および処理B60について、図15に示す制御テーブル(制御マトリックス)を参照しながら説明する。
【0197】
図15に示すように、処理A60および処理B60は、図5を参照しながら前述した処理A10および処理B10とほぼ同じであり、図15に示すプロセスID=6000〜6651の処理は、それぞれ、図5に示すプロセスID=1000〜1651の処理に対応している。つまり、SP処理時には、通常、MTU30に1データブロック分のフォワードスペース動作を実行さればよいが、この第1実施形態では、SP処理時に、MTU30にRD処理時とほぼ同じ動作を実行させている。
【0198】
ただし、処理B60では、FQL16−4において、BLENを不定としている。また、プロセスID=6410,6420,6610,6620の処理においては、プロセスID=1410,1420,1610,1620の処理で行なっていたRAM18からデータバッファ17へのデータ書込動作が省略されている。
【0199】
〔1−2−3−7〕FSPF(Forward Space File) 処理
図16は、第1実施形態におけるMTC10のFMT15によるFSPF処理を説明するためのフローチャート、図17は、FSPF処理をより詳細に説明すべく、図16に示すフローチャートの一部(処理A70およびB70)をテーブル化して示す図である。
【0200】
図16に示すように、FMT15によるFSPF処理時には、TMが検出されるまで(ステップS51でYES判定となるまで)、処理A70および処理B70が繰り返し実行され、TMが検出されると(ステップS52のYESルート)、処理C7が実行される。この処理C7は、図196および図197にて前述したものと同じであるので、その説明は省略し、以下では、処理A70および処理B70について、図17に示す制御テーブル(制御マトリックス)を参照しながら説明する。
【0201】
図17に示すように、処理A70および処理B70は、図15を参照しながら前述した処理A60および処理B60と同じであり、図17に示すプロセスID=7000〜7651の処理は、それぞれ、図15に示すプロセスID=5000〜5651の処理に対応している。つまり、FSPF処理時には、通常、MTU30に1データブロック分のフォワードスペース動作を実行さればよいが、この第1実施形態では、FSPF処理時にも、MTU30にRD処理時とほぼ同じ動作を実行させている。
【0202】
〔1−2−3−8〕WTM(Write Tape Mark)処理
図18は、第1実施形態におけるMTC10のFMT15によるWTM処理を説明するためのフローチャート、図19は、WTM処理をより詳細に説明すべく、図18に示すフローチャートの一部(処理A80およびB80)をテーブル化して示す図である。
【0203】
図18に示すように、FMT15によるWTM処理時には、処理A80,処理B80および処理C8が実行される。処理C8は、図198および図199にて前述したものと同じであるので、その説明は省略し、以下では、処理A80および処理B80の詳細について、図19に示す制御テーブル(制御マトリックス)を参照しながら説明する。
【0204】
なお、MTU30では、ライト系コマンド(WR,WTM)に応じて書込を行なった場合、書き込んだデータブロックの後にEOD(End Of Data)マークを書き込んでいる。従って、ホスト(CPU20)は、ライト系コマンドを実行した後、そのコマンドによって書き込まれたデータブロックの後ろには、データブロックが無いものと認識している。従って、図19にて後述するように、EP=−4,−3,−2,+1の時に実ライトテープマーク動作を行なった場合、常に、ESは1に更新されEPは−3に更新される。
【0205】
処理A80では、まず、FMT15は、RAM18を参照しESの値およびEPの値を認識する。ES=0かつEP=−4であると認識された場合〔図3(A)参照〕、MTU30に実際にライトテープマーク動作(実WTM)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B80では、RAM18においてESを“1”に更新するとともにEPを“−3”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=8000)。
【0206】
処理A80でES=1かつEP=−3であると認識された場合〔図3(B)参照〕、MTU30に実際にライトテープマーク動作(実WTM)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B80では、RAM18においてES=1かつEP=−3に保持し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=8100)。
【0207】
処理A80でES=2かつEP=−2であると認識された場合〔図3(C)参照〕、処理A80や処理B80では、前述したプロセスID=8000の処理と同様の処理が実行される(プロセスID=8200)。
処理A80でES=3かつEP=−1であると認識された場合〔図3(D)参照〕、MTU30に実際にライトテープマーク動作(実WTM)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B80では、RAM18においてESを“4”に更新するとともにEPを“0”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=8300)。
【0208】
処理A80でES=4かつEP=−4であると認識された場合〔図3(E)参照〕、MTU30において、ヘッドを位置XBID+EP〔図3(E)ではnの位置〕に再位置付けしてから、MTU30に実際にライトテープマーク動作(実WTM)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B80では、RAM18においてESを“1”に更新するとともにEPを“−3”に保持し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=8400)。
【0209】
処理A80でES=4かつEP=−3であると認識された場合〔図3(E)参照〕、MTU30において、ヘッドを位置XBID+EP〔図3(E)ではn+1の位置〕に再位置付けしてから、MTU30に実際にライトテープマーク動作(実WTM)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B80では、RAM18においてESを“1”に更新するとともにEPを“−3”に保持し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=8410)。
【0210】
処理A80でES=4かつEP=−2であると認識された場合〔図3(E)参照〕、MTU30において、ヘッドを位置XBID+EP〔図3(E)ではn+2の位置〕に再位置付けしてから、MTU30に実際にライトテープマーク動作(実WTM)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B80では、RAM18においてESを“1”に更新するとともにEPを“−3”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=8420)。
【0211】
処理A80でES=4かつEP=−1であると認識された場合〔図3(E)参照〕には、MTU30のエミュレーションを実行し、処理B80では、RAM18においてESを“4”に保持するとともにEPを“0”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=8430)。
【0212】
処理A80でES=4かつEP=0であると認識された場合〔図3(E)参照〕、MTU30に実際にライトテープマーク動作(実WTM)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B80では、RAM18においてESを“5”に更新するとともにEPを“+1”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=8440)。
【0213】
処理A80でES=5かつEP=+1であると認識された場合〔図3(F)参照〕、MTU30に実際にMTU30に実際にライトテープマーク動作(実WTM)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B80では、RAM18においてESを“1”に更新するとともにEPを“−3”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=8500)。
【0214】
処理A80でES=6かつEP=−4であると認識された場合〔図3(G)参照〕、処理A80や処理B80では、前述したプロセスID=8400の処理と同様の処理が実行される(プロセスID=8600)。
処理A80でES=6かつEP=−3であると認識された場合〔図3(G)参照〕、処理A80や処理B80では、前述したプロセスID=8410の処理と同様の処理が実行される(プロセスID=8610)。
【0215】
処理A80でES=6かつEP=−2であると認識された場合〔図3(G)参照〕、処理A80や処理B80では、前述したプロセスID=8420の処理と同様の処理が実行される(プロセスID=8620)。
処理A80でES=6かつEP=−1であると認識された場合〔図3(G)参照〕には、MTU30において、ヘッドを位置XBID+EP〔図3(G)ではn+3の位置〕に再位置付けしてから、MTU30に実際にライトテープマーク動作(実WTM)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B80では、RAM18においてESを“1”に更新するとともにEPを“−3”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=8630)。
【0216】
処理A80でES=6かつEP=0であると認識された場合〔図3(G)参照〕、MTU30に実際にライトテープマーク動作(実WTM)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B80では、RAM18においてESを“6”に保持するとともにEPを“+1”に更新し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID+EP”とする(プロセスID=8640)。
【0217】
処理A80でES=6かつEP=+1であると認識された場合〔図3(G)参照〕、MTU30において、ヘッドを位置XBID+EP〔図3(G)ではn+5の位置〕に再位置付けしてから、MTU30に実際にライトテープマーク動作(実WTM)を実行させ、レジスタ15aにおける実ヘッド位置XBIDの値に1を加算する。そして、処理B80では、RAM18においてESを“1”に更新するとともにEPを“−3”に保持し、FQL16−4において、TMフラグを“1”、BLENを“0”、BIDを“XBID”とする(プロセスID=8650)。
【0218】
〔1−2−4〕エミュレーション実行条件
第1実施形態では、図4〜図19を参照しながら上述したプロセスID=1000〜8650の処理を実行することにより、MTU30のテープ動作についてエミュレーションを行なう。
ここで、図20および図21により、第1実施形態のエミュレーション実行条件を説明する。これらの図20および図21は、図4〜図19を参照しながら前述したコマンド処理において、MTU30のエミュレーションを実行する際の条件をまとめたものである。
【0219】
図20は、ES=4の時にエミュレーションを実行すべき、EPの値とコマンド種別との関係を示している。この図20に示すように、ES=4の時のエミュレーション実行条件は以下の通りである。
ES=4かつEP=0のとき、RBコマンド,BSPコマンド,BSPFコマンドのいずれか一つを実行する場合。
【0220】
ES=4かつEP=−1のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンド,WTMコマンドのいずれか一つを実行する場合。
ES=4かつEP=−2のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
【0221】
ES=4かつEP=−3のとき、RDコマンド,RBコマンド,BSPブロックコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
ES=4かつEP=−4のとき、RDコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
【0222】
図21は、ES=6の時にエミュレーションを実行すべき、EPの値とコマンド種別との関係を示している。この図21に示すように、ES=6の時のエミュレーション実行条件は以下の通りである。
ES=6かつEP=+1のとき、RBコマンド,BSPコマンド,BSPFコマンドのいずれか一つを実行する場合。
【0223】
ES=6かつEP=0のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンド,WTMコマンドのいずれか一つを実行する場合。
ES=6かつEP=−1のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
【0224】
ES=6かつEP=−2のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
ES=6かつEP=−3のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
ES=6かつEP=−4のとき、RDコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
【0225】
〔1−3〕具体的なエミュレーション実行例
次に、図4〜図21を参照しながら前述した処理(プロセスID=1000〜8650の処理を含む)をMTC10の制御処理に適用することにより実行される、エミュレーションの具体的な例について、図22〜図66を参照しながら説明する。
【0226】
〔1−3−1〕エミュレーション実行例1
図22(A)および図22(B)は、いずれも、磁気テープMTにおけるデータ書込状態を示すとともに、マルチファイルの書き足し処理を行なう際にCPU20から発行される命令の一例と、各命令に応じた第1実施形態のMTU30でのテープ動作/エミュレーション動作とについて説明するための図である。これらの図22(A)および図22(B)に示された、磁気テープMTにおけるデータ書込状態や、CPU20から発行される命令や、MTU30でのテープ動作(矢印)は、図200(A)および図200(B)を参照しながら前述したものと同じである。
【0227】
つまり、図22(A)には、図200(A)と同様、磁気テープMTに対する、複数のデータブロック(データ1)からなるファイルの書込を完了した直後の、磁気テープMTのデータ書込状態が示されている。また、図22(B)には、図200(B)と同様、図22(A)に示す状態から、複数のデータブロック(データ2)からなるファイルを書き足した場合の、磁気テープMTのデータ書込状態が示されている。
【0228】
また、図22(A)および図22(B)においても、各矢印は、CPU20からの各コマンドに応じて行なわれるテープ動作(磁気テープMTに対するヘッドHの移動方向および移動量)を示すものであり、各矢印には、その矢印で示すテープ動作を実行させる命令の種別(英大文字)が付与され、さらに、各命令の種別には、その命令のCPU20からの発行順に括弧付き数字(1)
〜(24)が付与されている。なお、図22(A)および図22(B)においても、右方向がテープ前進方向(フォワード)であり、左方向がテープ後進方向(バックワード)である。
【0229】
図22(A)に示すように、WRコマンドにより、あるファイルの最後のデータブロック(データ1)を磁気テープMTに書き込んだ後には〔(1) 参照〕、そのファイルのクローズ処理〔(2) 〜(7) 参照〕が実行される。このとき、第1実施形態では、(3) のWRコマンドの実行時に、EOF1を退避領域(SDT1)18cに退避させるとともに、そのブロック長を退避領域(SLN1)18dに退避させる。また、(4) のWRコマンドの実行時に、EOF1を退避領域(SDT2)18eに退避させるとともに、そのブロック長を退避領域(SLN2)18fに退避させる。MTU30は、ファイルを書き終えると、ヘッドHを最後の2本のテープマークTM−b,TM−cの間に位置させた状態で待機することになる。
【0230】
ついで、CPU20が、図22(A)に示すようにファイルを書き込まれた磁気テープMTに対して2つ目のファイルを書き足す際には、その2つ目のファイルのオープン処理〔(8) 〜(22)参照〕が実行される。なお、ここで、CPU20で起動されるOS(Operating System)は、データ書込時のファイルオープン処理に際しEOF1を2回読み取って認識することにより、2つ目のファイルの書き足し位置を確認するように命令を発行するものとする。
【0231】
そして、図22(A)および図22(B)に示すオープン処理〔(8) 〜(22)参照〕を行なう際に、第1実施形態の方法を用いることにより、MTC10(FMT15)は、図中、点線で囲んだコマンド処理(8) 〜(19)をエミュレートすることになり、その間、図22(A)に示すごとくヘッドHを最後の2本のテープマークTM−b,TM−cの間に停止させた状態で、メカニカルな動作を行なわない。このとき、第1実施形態では、(11)のRDコマンドのエミュレーション時に、退避領域(SDT1)18cに退避されていたEOF1が読み出されデータバッファ17を介してCPU20へ転送される。
【0232】
以下に、図22(A)および図22(B)に示す各コマンド処理(1) 〜(24)について、図23〜図46を参照しながら詳細に説明する。
ここで、図23(A)〜図46(A)には、それぞれ、コマンド処理(1) 〜(24)を実行した時の、磁気テープMTにおけるデータブロック書込状態,実ヘッド位置(実ポインタ;XBID)および仮想ヘッド位置(EP)を示し、図23(B)〜図46(B)には、それぞれ、コマンド処理(1) 〜(24)を実行した時の、RAM18におけるデータ退避/格納状態を示す。
【0233】
(1) WR処理
図23(A)では、FMT15が、図22(A)に示す(1) のWRコマンドをHIC14から受け、プロセスID=3000の処理を実行することにより、ユーザデータの書込を完了してファイルのクローズ処理に移行する直前となった状態が示されている。実ヘッド位置(XBID)はNとなっている。このとき、図23(B)に示すように、RAM18の制御領域18a,18bにおけるESおよびEPは初期状態(ES=0,EP=−4)を示している。なお、RAM18の退避領域18c〜18fは不定状態を示している。
【0234】
(2) WTM処理
図24(A)では、FMT15が、図22(A)に示す(2) のWTMコマンドをHIC14から受け、プロセスID=8000の処理を実行することにより、テープマークTM−aの書込を完了して実ヘッド位置(XBID)がN+1となった状態が示されている。このとき、図24(B)に示すように、制御領域18aにはESとして“1”が保持されるとともに、制御領域18bにはEPとして“−3”が保持される。
【0235】
(3) WR処理(EOF1書込処理)
図25(A)では、FMT15が、図22(A)に示す(3) のWRコマンド(EOF1の書込指示)をHIC14から受け、プロセスID=3100の処理を実行することにより、EOF1の書込を完了して実ヘッド位置(XBID)がN+2となった状態が示されている。このとき、図25(B)に示すように、制御領域18aにはESとして“2”が保持されるとともに、制御領域18bにはEPとして“−2”が保持される。また、RAM18の退避領域(SDT1)18cにはEOF1が格納されるとともに、そのブロック長(80バイト)がRAM18の退避領域(SLN1)18dに格納される。以降、EOF1およびそのブロック長は、退避領域18c,18dに保持される。
【0236】
(4) WR処理(EOF2書込処理)
図26(A)では、FMT15が、図22(A)に示す(4) のWRコマンド(EOF2の書込指示)をHIC14から受け、プロセスID=3200の処理を実行することにより、EOF2の書込を完了して実ヘッド位置(XBID)がN+3となった状態が示されている。このとき、図26(B)に示すように、制御領域18aにはESとして“3”が保持されるとともに、制御領域18bにはEPとして“−1”が保持される。また、RAM18の退避領域(SDT2)18eにはEOF2が格納されるとともに、そのブロック長(80バイト)がRAM18の退避領域(SLN2)18fに格納される。以降、EOF2およびそのブロック長は、退避領域18e,18fに保持される。
【0237】
(5) WTM処理
図27(A)では、FMT15が、図22(A)に示す(5) のWTMコマンドをHIC14から受け、プロセスID=8300の処理を実行することにより、テープマークTM−bの書込を完了して実ヘッド位置(XBID)がN+4となった状態が示されている。このとき、図27(B)に示すように、制御領域18aにはESとして“4”が保持されるとともに、制御領域18bにはEPとして“0”が保持される。
【0238】
(6) WTM処理
図28(A)では、FMT15が、図22(A)に示す(6) のWTMコマンドをHIC14から受け、プロセスID=8440の処理を実行することにより、テープマークTM−cの書込を完了して実ヘッド位置(XBID)がN+5となった状態が示されている。このとき、図28(B)に示すように、制御領域18aにはESとして“5”が保持されるとともに、制御領域18bにはEPとして“+1”が保持される。
【0239】
(7) BSPF処理
図29(A)では、FMT15が、図22(A)に示す(7) のBSPFコマンドをHIC14から受け、プロセスID=5500の処理を実行することにより、バックスペース動作を完了して実ヘッド位置(XBID)がN+4となった状態が示されている。このとき、図29(B)に示すように、制御領域18aにはESとして“6”が保持されるとともに、制御領域18bにはEPとして“0”が保持される。
【0240】
(8) BSPF処理
図30(A)では、FMT15が、図22(A)に示す(8) のBSPFコマンドをHIC14から受け、プロセスID=5640の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図30(B)に示すように、制御領域18aにはESとして“6”が保持されるとともに、制御領域18bにはEPとして“−1”が保持される。さらに、FQL16−4のBID値としては、XBID+EP=N+3が登録される。
【0241】
(9) BSPF処理
図31(A)では、FMT15が、図22(A)に示す(9) のBSPFコマンドをHIC14から受け、プロセスID=5630,5620,5610の処理を順に実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図31(B)に示すように、制御領域18aにおけるESは“6”を維持したまま、制御領域18bにおけるEPが、“−2”,“−3”,“−4”と順次変化する。そして、FQL16−4のBID値としては、最終的に、XBID+EP=Nが登録される。
【0242】
(10)FSPF処理
図32(A)では、FMT15が、図22(A)に示す(10)のFSPFコマンドをHIC14から受け、プロセスID=7600の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図32(B)に示すように、制御領域18aにはESとして“6”が保持されるとともに、制御領域18bにはEPとして“−3”が保持される。さらに、FQL16−4のBID値としては、XBID+EP=N+1が登録される。
【0243】
(11)RD処理
図33(A)では、FMT15が、図22(A)に示す(11)のRDコマンドをHIC14から受け、プロセスID=1610の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図33(B)に示すように、制御領域18aにはESとして“6”が保持されるとともに、制御領域18bにはEPとして“−2”が保持される。エミュレーション実行時に、退避領域18cの内容EOF1がデータバッファ17に格納されCPU20へ転送される。その際、ブロック長として退避領域18dの値(80バイト)がFQL16−4に登録されるとともに、FQL16−4のBID値としては、XBID+EP=N+2が登録される。
【0244】
(12 )FSPF処理
図34(A)では、FMT15が、図22(A)に示す(12)のFSPFコマンドをHIC14から受け、プロセスID=7620,7630の処理を順に実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図34(B)に示すように、制御領域18aにおけるESは“6”を維持したまま、制御領域18bにおけるEPが、“−1”,“0”と順次変化する。そして、FQL16−4のBID値としては、最終的に、XBID+EP=N+4が登録される。
【0245】
(13)RD処理
図35(A)では、FMT15が、図22(A)に示す(13)のRDコマンドをHIC14から受け、プロセスID=1640の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図35(B)に示すように、制御領域18aにはESとして“6”が保持されるとともに、制御領域18bにはEPとして“+1”が保持される。エミュレーション実行時に、FQL16−4にテープマーク検出のフラグが“1”に設定されるとともに、FQL16−4のBID値としては、XBID+EP=N+2が登録される。
【0246】
(14)BSPF処理
図36(A)では、FMT15が、図22(A)に示す(14)のBSPFコマンドをHIC14から受け、プロセスID=5650の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図36(B)に示すように、制御領域18aにはESとして“6”が保持されるとともに、制御領域18bにはEPとして“0”が保持される。さらに、FQL16−4のBID値としては、XBID+EP=N+4が登録される。
【0247】
(15)BSPF処理
図37(A)では、FMT15が、図22(A)に示す(15)のBSPFコマンドをHIC14から受け、プロセスID=5640の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図37(B)に示すように、制御領域18aにはESとして“6”が保持されるとともに、制御領域18bにはEPとして“−1”が保持される。さらに、FQL16−4のBID値としては、XBID+EP=N+3が登録される。
【0248】
(16)BSPF処理
図38(A)では、コマンド処理(9) と同様、FMT15が、図22(A)に示す(16)のBSPFコマンドをHIC14から受け、プロセスID=5630,5620,5610の処理を順に実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図38(B)に示すように、制御領域18aにおけるESは“6”を維持したまま、制御領域18bにおけるEPが、“−2”,“−3”,“−4”と順次変化する。そして、FQL16−4のBID値としては、最終的に、XBID+EP=Nが登録される。
【0249】
(17)FSPF処理
図39(A)では、コマンド処理(10)と同様、FMT15が、図22(B)に示す(17)のFSPFコマンドをHIC14から受け、プロセスID=7600の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図39(B)に示すように、制御領域18aにはESとして“6”が保持されるとともに、制御領域18bにはEPとして“−3”が保持される。さらに、FQL16−4のBID値としては、XBID+EP=N+1が登録される。
【0250】
(18)RD処理
図40(A)では、コマンド処理(11)と同様、FMT15が、図22(B)に示す(18)のRDコマンドをHIC14から受け、プロセスID=1610の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図40(B)に示すように、制御領域18aにはESとして“6”が保持されるとともに、制御領域18bにはEPとして“−2”が保持される。エミュレーション実行時に、再度、退避領域18cの内容EOF1がデータバッファ17に格納されCPU20へ転送される。その際、ブロック長として退避領域18dの値(80バイト)がFQL16−4に登録されるとともに、FQL16−4のBID値としては、XBID+EP=N+2が登録される。
【0251】
(19)FSPF処理
図41(A)では、コマンド処理(12)と同様、FMT15が、図22(B)に示す(19)のFSPFコマンドをHIC14から受け、プロセスID=7620,7630の処理を順に実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図41(B)に示すように、制御領域18aにおけるESは“6”を維持したまま、制御領域18bにおけるEPが、“−1”,“0”と順次変化する。そして、FQL16−4のBID値としては、最終的に、XBID+EP=N+4が登録される。
【0252】
(20)WR処理(HDR1書込処理)
図42(A)では、FMT15が、図22(B)に示す(20)のWRコマンド(HDR1の書込指示)をHIC14から受け、プロセスID=3641の処理を実行することにより、HDR1の書込を完了して実ヘッド位置(XBID)がN+5となった状態が示されている。このとき、図42(B)に示すように、制御領域18aにはESとして“0”が保持されるとともに、制御領域18bにはEPとして“−4”が保持される。FQL16−4のBID値としては、XBID=N+5が登録される。
【0253】
(21)WR処理(HDR2書込処理)
図43(A)では、FMT15が、図22(B)に示す(21)のWRコマンド(HDR2の書込指示)をHIC14から受け、プロセスID=3000の処理を実行することにより、HDR2の書込を完了して実ヘッド位置(XBID)がN+6となった状態が示されている。このとき、図43(B)に示すように、制御領域18aにはESとして“0”が保持されるとともに、制御領域18bにはEPとして“−4”が保持される。FQL16−4のBID値としては、XBID=N+6が登録される。
【0254】
(22)WTM処理
図44(A)では、FMT15が、図22(B)に示す(22)のWTMコマンドをHIC14から受け、プロセスID=8000の処理を実行することにより、テープマークTM−dの書込を完了して実ヘッド位置(XBID)がN+7となった状態が示されている。このとき、図44(B)に示すように、制御領域18aにはESとして“1”が保持されるとともに、制御領域18bにはEPとして“−3”が保持される。FQL16−4のBID値としては、XBID=N+7が登録される。
【0255】
(23)WR処理
図45(A)では、FMT15が、図22(B)に示す(21)のWRコマンド(データ2の書込指示)をHIC14から受け、プロセスID=3101の処理を実行することにより、データ2の書込を完了して実ヘッド位置(XBID)がN+8となった状態が示されている。このとき、図45(B)に示すように、制御領域18aにはESとして“0”が保持されるとともに、制御領域18bにはEPとして“−4”が保持される。FQL16−4のBID値としては、XBID=N+8が登録される。
【0256】
(24)WR処理
図46(A)では、FMT15が、図22(B)に示す(24)のWRコマンド(データ2の書込指示)をHIC14から受け、プロセスID=3000の処理を実行することにより、データ2の書込を完了して実ヘッド位置(XBID)がN+9となった状態が示されている。このとき、図46(B)に示すように、制御領域18aにはESとして“0”が保持されるとともに、制御領域18bにはEPとして“−4”が保持される。FQL16−4のBID値としては、XBID=N+9が登録される。
【0257】
〔1−3−2〕エミュレーション実行例2
図47は、磁気テープMTにおけるデータ書込状態を示すとともに、連続する2つのファイルからデータを読み出す際にCPU20から発行される命令の一例と、各命令に応じた第1実施形態のMTU30でのテープ動作/エミュレーション動作とについて説明するための図である。この図47に示された、磁気テープMTにおけるデータ書込状態や、CPU20から発行される命令や、MTU30でのテープ動作(矢印)は図201を参照しながら前述したものと同じである。
【0258】
つまり、図47には、図201と同様、2つのファイルを連続的に書き込んだ場合の、磁気テープMTのデータ書込状態が示されている。
また、図47においても、各矢印は、CPU20からの各コマンドに応じて行なわれるテープ動作(磁気テープMTに対するヘッドHの移動方向および移動量)を示すものであり、各矢印には、その矢印で示すテープ動作を実行させる命令の種別(英大文字)が付与され、さらに、各命令の種別には、その命令のCPU20からの発行順に括弧付き数字(1)
〜(13)が付与されている。なお、図47においても、右方向がテープ前進方向(フォワード)であり、左方向がテープ後進方向(バックワード)である。
【0259】
図47に示すように、RDコマンドにより、1つ目のファイルの最後のデータブロック(データ1)を磁気テープMTから読み出した後には〔(1) 参照〕、その1つ目のファイルのクローズ処理〔(2),(3) 参照〕が実行される。
このとき、第1実施形態では、(3) のFSPFコマンドの実行時に、MTU30でフォワードスペース動作に伴って実リード動作が行なわれ、EOF1およびEOF2がリードされ、EOF1およびそのブロック長をそれぞれ退避領域(SDT1)18cおよび退避領域(SLN1)18dに退避させるとともに、EOF2およびそのブロック長をそれぞれ退避領域(SDT2)18eおよび退避領域(SLN2)18fに退避させる。
【0260】
MTU30は、クローズ処理を終了すると、ヘッドHを2つ目のファイルの先頭位置(TM−bとHDR1との間)に位置させた状態で待機することになる。ついで、2つ目のファイルのオープン処理〔(4) 〜(11)参照〕が実行される。なお、ここで、CPU20で起動されるOS(Operating System)は、データ読出時のファイルオープン処理に際しEOF1を1回読み取って認識することにより、2つ目のファイルの読み出し位置を確認するように命令を発行するものとする。
【0261】
そして、図47に示すオープン処理〔(4) 〜(11)参照〕を行なう際に、第1実施形態の方法を用いることにより、MTC10(FMT15)は、図中、点線で囲んだコマンド処理(4) 〜(8) をエミュレートすることになり、その間、図47に示すごとくヘッドHを2つ目のファイルの先頭位置(TM−bとHDR1との間)に停止させた状態でメカニカルな動作を行なわない。このとき、第1実施形態では、(7) のRDコマンドのエミュレーション時に、退避領域(SDT1)18cに退避されていたEOF1が読み出されデータバッファ17を介してCPU20へ転送される。
【0262】
以下に、図47に示す各コマンド処理(1) 〜(13)について、図48〜図60を参照しながら詳細に説明する。
ここで、図48(A)〜図60(A)には、それぞれ、コマンド処理(1) 〜(13)を実行した時の、磁気テープMTにおけるデータブロック書込状態,実ヘッド位置(実ポインタ;XBID)および仮想ヘッド位置(EP)を示し、図48(B)〜図60(B)には、それぞれ、コマンド処理( 1) 〜(13)を実行した時の、RAM18におけるデータ退避/格納状態を示す。
【0263】
(1) RD処理
図48(A)では、FMT15が、図47に示す(1) のRDコマンドをHIC14から受け、プロセスID=1001の処理を実行することにより、1つ目のファイルの最終データブロック(データ1)の読出を完了してファイルのクローズ処理に移行する直前となった状態が示されている。実ヘッド位置(XBID)はNとなっている。このとき、図48(B)に示すように、RAM18の制御領域18a,18bにおけるESおよびEPは初期状態(ES=0,EP=−4)を示している。なお、RAM18の退避領域18c〜18fは不定状態を示している。また、FQL16−4のBID値としては、XBID=Nが登録される。
【0264】
(2) FSPF処理
図49(A)では、FMT15が、図47に示す(2) のFSPFコマンドをHIC14から受け、プロセスID=7000の処理を実行することにより、フォワードスペース動作を完了して実ヘッド位置(XBID)がN+1となった状態が示されている。このとき、図49(B)に示すように、制御領域18aにはESとして“1”が保持されるとともに、制御領域18bにはEPとして“−3”が保持される。さらに、FQL16−4のBID値としては、XBID=N+1が登録される。
【0265】
(3) FSPF処理
図50(A)では、FMT15が、図47に示す(3) のFSPFコマンドをHIC14から受け、プロセスID=7100,7200,7300の処理を順に実行することにより、MTU30でフォワードスペース動作に伴う実リード動作(EOF1およびEOF2の読出動作)を完了して実ヘッド位置(XBID)がN+4となった状態が示されている。このとき、制御領域18a,18bにおけるES,EPが(ES=2,EP=−2),(ES=3,EP=−1),(ES=4,EP=0)と順次変化し、最終的に、図50(B)に示すように、制御領域18aにESとして“4”が保持されるとともに、制御領域18bにEPとして“0”が保持される。また、RAM18の退避領域(SDT1)18cにはEOF1が格納されるとともに、そのブロック長(80バイト)がRAM18の退避領域(SLN1)18dに格納されるとともに、RAM18の退避領域(SDT2)18eにはEOF2が格納されるとともに、そのブロック長(80バイト)がRAM18の退避領域(SLN2)18fに格納される。以降、EOF1およびそのブロック長が退避領域18c,18dに保持され、EOF2およびそのブロック長が退避領域18e,18fに保持される。そして、FQL16−4のBID値としては、最終的に、XBID=N+4が登録される。
【0266】
(4) BSPF処理
図51(A)では、FMT15が、図47に示す(4) のBSPFコマンドをHIC14から受け、プロセスID=5440の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図51(B)に示すように、制御領域18aにはESとして“4”が保持されるとともに、制御領域18bにはEPとして“−1”が保持される。さらに、FQL16−4のBID値としては、XBID+EP=N+3が登録される。
【0267】
(5) BSPF処理
図52(A)では、FMT15が、図47に示す(5) のBSPFコマンドをHIC14から受け、プロセスID=5430,5420,5410の処理を順に実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図52(B)に示すように、制御領域18aにおけるESは“4”を維持したまま、制御領域18bにおけるEPが、“−2”,“−3”,“−4”と順次変化する。そして、FQL16−4のBID値としては、最終的に、XBID+EP=Nが登録される。
【0268】
(6) FSPF処理
図53(A)では、FMT15が、図47に示す(6) のFSPFコマンドをHIC14から受け、プロセスID=7400の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図53(B)に示すように、制御領域18aにはESとして“4”が保持されるとともに、制御領域18bにはEPとして“−3”が保持される。さらに、FQL16−4のBID値としては、XBID+EP=N+1が登録される。
【0269】
(7) RD処理
図54(A)では、FMT15が、図47に示す(7) のRDコマンドをHIC14から受け、プロセスID=1410の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図54(B)に示すように、制御領域18aにはESとして“4”が保持されるとともに、制御領域18bにはEPとして“−2”が保持される。エミュレーション実行時に、退避領域18cの内容EOF1がデータバッファ17に格納されCPU20へ転送される。その際、ブロック長として退避領域18dの値(80バイト)がFQL16−4に登録されるとともに、FQL16−4のBID値としては、XBID+EP=N+2が登録される。
【0270】
(8) FSPF処理
図55(A)では、FMT15が、図47に示す(8) のFSPFコマンドをHIC14から受け、プロセスID=7420,7430の処理を順に実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(XBID)はN+4のまま変化しない。また、図55(B)に示すように、制御領域18aにおけるESは“4”を維持したまま、制御領域18bにおけるEPが、“−1”,“0”と順次変化する。そして、FQL16−4のBID値としては、最終的に、XBID+EP=N+4が登録される。
【0271】
(9) RD処理
図56(A)では、FMT15が、図47に示す(9) のRDコマンドをHIC14から受け、プロセスID=1442の処理を実行することにより、HDR1の読出を完了して実ヘッド位置(XBID)がN+5となった状態が示されている。このとき、図56(B)に示すように、制御領域18aにはESとして“0”が保持されるとともに、制御領域18bにはEPとして“−4”が保持される。FQL16−4のBID値としては、XBID=N+5が登録される。
【0272】
(10)RD処理
図57(A)では、FMT15が、図47に示す(10)のRDコマンドをHIC14から受け、プロセスID=1001の処理を実行することにより、HDR2の読出を完了して実ヘッド位置(XBID)がN+6となった状態が示されている。このとき、図57(B)に示すように、制御領域18aにはESとして“0”が保持されるとともに、制御領域18bにはEPとして“−4”が保持される。FQL16−4のBID値としては、XBID=N+6が登録される。
【0273】
(11)FSPF処理
図58(A)では、FMT15が、図47に示す(11)のFSPFコマンドをHIC14から受け、プロセスID=7000の処理を実行することにより、フォワードスペース動作を完了して実ヘッド位置(XBID)がN+7となった状態が示されている。このとき、図58(B)に示すように、制御領域18aにはESとして“1”が保持されるとともに、制御領域18bにはEPとして“−3”が保持される。さらに、FQL16−4のBID値としては、XBID=N+7が登録される。
【0274】
(12)RD処理
図59(A)では、FMT15が、図47に示す(12)のRDコマンドをHIC14から受け、プロセスID=1102の処理を実行することにより、データ2の読出を完了して実ヘッド位置(XBID)がN+8となった状態が示されている。このとき、図59(B)に示すように、制御領域18aにはESとして“0”が保持されるとともに、制御領域18bにはEPとして“−4”が保持される。FQL16−4のBID値としては、XBID=N+8が登録される。
【0275】
(13)RD処理
図60(A)では、FMT15が、図47に示す(13)のRDコマンドをHIC14から受け、プロセスID=1001の処理を実行することにより、データ2の読出を完了して実ヘッド位置(XBID)がN+9となった状態が示されている。このとき、図60(B)に示すように、制御領域18aにはESとして“0”が保持されるとともに、制御領域18bにはEPとして“−4”が保持される。FQL16−4のBID値としては、XBID=N+9が登録される。
【0276】
〔1−3−3〕エミュレーション実行例3
図61(A)および図61(B)は、いずれも、磁気テープMTにおけるデータ書込状態を示すとともに、マルチファイルの書き足し処理を行なう際にCPU20から発行される命令の他例と、各命令に応じた第1実施形態のMTU30でのテープ動作/エミュレーション動作とについて説明するための図である。
【0277】
ここで、図61(A)には、図22(A)と同様、磁気テープMTに対する、複数のデータブロック(データ1)からなるファイルの書込を完了した直後の、磁気テープMTのデータ書込状態が示されている。また、図61(B)には、図22(B)と同様、図61(A)に示す状態から、複数のデータブロック(データ2)からなるファイルを書き足した場合の、磁気テープMTのデータ書込状態が示されている。
【0278】
また、図61(A)および図61(B)においても、各矢印は、CPU20からの各コマンドに応じて行なわれるテープ動作(磁気テープMTに対するヘッドHの移動方向および移動量)を示すものであり、各矢印には、その矢印で示すテープ動作を実行させる命令の種別(英大文字)が付与され、さらに、各命令の種別には、その命令のCPU20からの発行順に括弧付き数字(1)
〜(19)が付与されている。なお、図61(A)および図61(B)においても、右方向がテープ前進方向(フォワード)であり、左方向がテープ後進方向(バックワード)である。
【0279】
図61(A)に示すように、WRコマンドにより、あるファイルの最後のデータブロック(データ1)を磁気テープMTに書き込んだ後には〔(1) 参照〕、そのファイルのクローズ処理〔(2) 〜(7) 参照〕が実行される。
このとき、第1実施形態では、(3) のWRコマンドの実行時に、EOF1を退避領域(SDT1)18cに退避させるとともに、そのブロック長を退避領域(SLN1)18dに退避させる。また、(4) のWRコマンドの実行時に、EOF2を退避領域(SDT2)18eに退避させるとともに、そのブロック長を退避領域(SLN2)18fに退避させる。
【0280】
MTU30は、ファイルを書き終えると、ヘッドHを最後の2本のテープマークTM−b,TM−cの間に位置させた状態で待機することになる。
ついで、CPU20が、図61(A)に示すようにファイルを書き込まれた磁気テープMTに対して2つ目のファイルを書き足す際には、その2つ目のファイルのオープン処理〔(8) 〜(17)参照〕が実行される。なお、ここで、CPU20で起動されるOS(Operating System)は、図22(A)および図22(B)で説明したものとは異なり、データ書込時のファイルオープン処理に際しEOF1を1回読み取って認識することにより、2つ目のファイルの書き足し位置を確認するように命令を発行するものとする。
【0281】
そして、図61(A)および図61(B)に示すオープン処理〔(8) 〜(17)参照〕を行なう際に、第1実施形態の方法を用いることにより、MTC10(FMT15)は、図中、点線で囲んだコマンド処理(8) 〜(14)をエミュレートすることになり、その間、図61(A)に示すごとくヘッドHを最後の2本のテープマークTM−b,TM−cの間に停止させた状態で、メカニカルな動作を行なわない。このとき、第1実施形態では、(11)のRDコマンドのエミュレーション時に、退避領域(SDT1)18cに退避されていたEOF1が読み出されデータバッファ17を介してCPU20へ転送される。
【0282】
〔1−3−4〕エミュレーション実行例4
図62は、磁気テープMTにおけるデータ書込状態を示すとともに、連続する2つのファイルからデータを読み出す際にCPU20から発行される命令の他例と、各命令に応じた第1実施形態のMTU30でのテープ動作/エミュレーション動作とについて説明するための図である。
【0283】
ここで、図62には、図47と同様、2つのファイルを連続的に書き込んだ場合の、磁気テープMTのデータ書込状態が示されている。
また、図62においても、各矢印は、CPU20からの各コマンドに応じて行なわれるテープ動作(磁気テープMTに対するヘッドHの移動方向および移動量)を示すものであり、各矢印には、その矢印で示すテープ動作を実行させる命令の種別(英大文字)が付与され、さらに、各命令の種別には、その命令のCPU20からの発行順に括弧付き数字(1) 〜(20)が付与されている。なお、図62においても、右方向がテープ前進方向(フォワード)であり、左方向がテープ後進方向(バックワード)である。
【0284】
図62に示すように、RDコマンドにより、1つ目のファイルの最後のデータブロック(データ1)を磁気テープMTから読み出した後には〔(1) 参照〕、その1つ目のファイルのクローズ処理〔(2) 〜(4) 参照〕が実行される。
このとき、第1実施形態では、(3) のRDコマンドの実行時に、EOF1を退避領域(SDT1)18cに退避させるとともに、そのブロック長を退避領域(SLN1)18dに退避させる。また、(4) のFSPFコマンドの実行時に、MTU30で実リード動作が行なわれ、EOF2がリードされ、そのEOF2を退避領域(SDT2)18eに退避させるとともに、そのブロック長を退避領域(SLN2)18fに退避させる。
【0285】
MTU30は、クローズ処理を終了すると、ヘッドHを2つ目のファイルの先頭位置(TM−bとHDR1との間)に位置させた状態で待機することになる。ついで、2つ目のファイルのオープン処理〔(5) 〜(18)参照〕が実行される。なお、ここで、CPU20で起動されるOS(Operating System)は、図47で説明したものとは異なり、データ読出時のファイルオープン処理に際しEOF2およびEOF1を読み取って認識することにより、2つ目のファイルの読み出し位置を確認するように命令を発行するものとする。
【0286】
そして、図62に示すオープン処理〔(4) 〜(18)参照〕を行なう際に、第1実施形態の方法を用いることにより、MTC10(FMT15)は、図中、点線で囲んだコマンド処理(4) 〜(15)をエミュレートすることになり、その間、図62に示すごとくヘッドHを2つ目のファイルの先頭位置(TM−bとHDR1との間)に停止させた状態でメカニカルな動作を行なわない。
【0287】
このとき、第1実施形態では、(9) のRDコマンドのエミュレーション時に、退避領域(SDT2)18eに退避されていたEOF2が読み出されデータバッファ17を介してCPU20へ転送され、(11)のRDコマンドのエミュレーション時に、退避領域(SDT1)18cに退避されていたEOF1が読み出されデータバッファ17を介してCPU20へ転送される。
【0288】
〔1−3−5〕性能比較(コマンド処理時間比較)
図63は、図22(A)および図22(B)に示すようにマルチファイルの書き足し処理を行なう際に、第1実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【0289】
この図63では、各コマンド処理に要する時間が、エミュレーションを行なわない場合とエミュレーションを行なった場合とで対比して示されている。また、図63においては、図22(A)および図22(B)に示したコマンド処理(1) 〜(24)にそれぞれ対応するコマンドの備考欄には、その括弧付き数字が記入されている。なお、備考欄に括弧付き数字が記入されていないコマンドは、MTU30のテープ動作に関係のないもので、そのコマンドに応じた処理をMTC10内で完了するものである。
【0290】
図63に示すように、エミュレーションを行なっていないコマンド処理(1) 〜(7) ,(20)〜(24)やテープ動作に関わらないコマンド処理に要する時間は、エミュレーションを行なわない場合もエミュレーションを行なった場合も同じである。これに対し、エミュレーションを行なう場合、MTU30で実テープ動作(メカニカルな動作)を行なわずその処理がMTC10内で完了されるため、各コマンド処理(8) 〜(19)に要する時間は、一律、0.000500秒となる。従って、エミュレーションを行なわない場合の全コマンド処理時間が、9.111926秒であるのに対し、エミュレーションを行なった場合の全コマンド処理時間は、2.734931秒となり、大幅に短縮される。
【0291】
図64は、図47に示すように連続する2つのファイルからデータを読み出す際に、第1実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【0292】
この図64でも、各コマンド処理に要する時間が、エミュレーションを行なわない場合とエミュレーションを行なった場合とで対比して示されている。また、図64においては、図47に示したコマンド処理(1) 〜(13)にそれぞれ対応するコマンドの備考欄には、その括弧付き数字が記入されている。なお、備考欄に括弧付き数字が記入されていないコマンドは、MTU30のテープ動作に関係のないもので、そのコマンドに応じた処理をMTC10内で完了するものである。
【0293】
図64に示すように、エミュレーションを行なっていないコマンド処理(1) 〜(3) ,(9) 〜(13)やテープ動作に関わらないコマンド処理に要する時間は、エミュレーションを行なわない場合もエミュレーションを行なった場合も同じである。これに対し、エミュレーションを行なう場合、MTU30で実テープ動作(メカニカルな動作)を行なわずその処理がMTC10内で完了されるため、各コマンド処理(4) 〜(8) に要する時間は、一律、0.000500秒となる。従って、エミュレーションを行なわない場合の全コマンド処理時間が、5.514830秒であるのに対し、エミュレーションを行なった場合の全コマンド処理時間は、2.827571秒となり、大幅に短縮される。
【0294】
図65は、図61(A)および図61(B)に示すようにマルチファイルの書き足し処理を行なう際に、第1実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【0295】
この図65でも、各コマンド処理に要する時間が、エミュレーションを行なわない場合とエミュレーションを行なった場合とで対比して示されている。また、図65においては、図61(A)および図61(B)に示したコマンド処理(1) 〜(19)にそれぞれ対応するコマンドの備考欄には、その括弧付き数字が記入されている。なお、備考欄に括弧付き数字が記入されていないコマンドは、MTU30のテープ動作に関係のないもので、そのコマンドに応じた処理をMTC10内で完了するものである。
【0296】
図65に示すように、エミュレーションを行なっていないコマンド処理(1) 〜(7) ,(15)〜(19)やテープ動作に関わらないコマンド処理に要する時間は、エミュレーションを行なわない場合もエミュレーションを行なった場合も同じである。これに対し、エミュレーションを行なう場合、MTU30で実テープ動作(メカニカルな動作)を行なわずその処理がMTC10内で完了されるため、各コマンド処理(8) 〜(14)に要する時間は、一律、0.000500秒となる。従って、エミュレーションを行なわない場合の全コマンド処理時間が、5.831600秒であるのに対し、エミュレーションを行なった場合の全コマンド処理時間は、2.728100秒となり、大幅に短縮される。
【0297】
図66は、図62に示すように連続する2つのファイルからデータを読み出す際に、第1実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【0298】
この図66でも、各コマンド処理に要する時間が、エミュレーションを行なわない場合とエミュレーションを行なった場合とで対比して示されている。また、図66においては、図62に示したコマンド処理(1) 〜(20)にそれぞれ対応するコマンドの備考欄には、その括弧付き数字が記入されている。なお、備考欄に括弧付き数字が記入されていないコマンドは、MTU30のテープ動作に関係のないもので、そのコマンドに応じた処理をMTC10内で完了するものである。
【0299】
図66に示すように、エミュレーションを行なっていないコマンド処理(1) 〜(4) ,(16)〜(20)やテープ動作に関わらないコマンド処理に要する時間は、エミュレーションを行なわない場合もエミュレーションを行なった場合も同じである。これに対し、エミュレーションを行なう場合、MTU30で実テープ動作(メカニカルな動作)を行なわずその処理がMTC10内で完了されるため、各コマンド処理(5) 〜(15)に要する時間は、一律、0.000500秒となる。従って、エミュレーションを行なわない場合の全コマンド処理時間が、8.781900秒であるのに対し、エミュレーションを行なった場合の全コマンド処理時間は、4.145200秒となり、大幅に短縮される。
【0300】
〔1−4〕第1実施形態の効果
このように、本発明の第1実施形態としての磁気テープ装置の制御方法によれば、MTC10においてファイルのオープン処理に際してのEOF識別に係るテープ動作をエミュレートすることにより、MTU30におけるメカニカルなテープ動作を少なくしてオープン処理に伴うテープ動作を簡略化することができるので、ファイルのオープン処理に要する時間(ジョブの処理時間)が大幅に短縮され、ファイルのオープン処理性能、ひいてはMTU30にアクセスするシステムの処理性能向上に寄与するところが大きい。
【0301】
また、MTU30のヘッド位置決め精度が低い場合、エミュレーションを実行しなければ、CPU20からのコマンドに応じて従来通りのコマンド処理を実行することができる。つまり、ヘッド位置決め精度の低いMTU30にも対応できるようにファイルのオープン処理時にCPU20側から発行されるコマンド(OS等)を変更することなく、ヘッド位置決め精度の高いMTU30については、ファイルのオープン処理を容易に高速化することができる。
【0302】
〔2〕第2実施形態の説明
〔2−1〕基本構成
図67は本発明の第2実施形態としての磁気テープ装置の制御方法を適用されるシステムのハードウェア構成を示すブロック図であり、この図67に示すように、第2実施形態のシステムでは、MTC10とCPU20との間にインタフェース変換装置40が介装されている。なお、以下、“インタフェース”は、“I/F”と略記する。そして、第1実施形態ではMTC10での処理により実行されていたエミュレーションを、第2実施形態では、I/F変換装置40での処理により実行する。
【0303】
図68は、そのI/F変換装置40のハードウェア構成を示すブロック図であり、この図68に示すように、I/F変換装置40は、対ホストI/F回路41,制御部42,対MTCI/F回路43,コマンドバッファ44,データバッファ45およびRAM46から構成されている。
ここで、対ホストI/F回路41は、CPU20との間のインタフェース制御を行なうものであり、例えばBMC(Block Multiplexer Channel)やESCONチャネル等に接続される。
【0304】
制御部42は、CPU20から発行されたコマンドを、MTC10に適したコマンドに変換/加工したり、ライトデータやリードデータの転送制御を行なったりするものである。
対MTCI/F回路43は、MTC10との間のインタフェース制御を行なうものであり、例えばSCSI(Small Computer System Interface)等に接続される。
【0305】
コマンドバッファ44は、CPU20から発行されたコマンドを一時的に格納するためのものであり、データバッファ45は、CPU20からMTC10に転送してMTU30により磁気テープMTに書き込むべきライトデータや、MTU30により磁気テープMTから読み出されMTC10からCPU20へ転送すべきリードデータなどを一時的に格納するためのものである。
【0306】
RAM46は、通常、制御部42が処理を実行する際にワーキングエリア等として利用されるものであるが、第2実施形態においては、後述するごとくエミュレーションをI/F変換装置40で実行するために必要なデータを格納すべく、RAM46には、図82に示すように、5つの領域46a〜46eが確保されている。
【0307】
領域46aは、後述するエミュレーションの状態を監視するための制御領域であり、後述するエミュレーションステータス(ES;00〜63)を保持する領域であり、領域46bは、後述するエミュレーション実行時の磁気テープMTに対するヘッドの仮想的な位置(仮想ヘッド位置)を監視するための制御領域であり、後述するエミュレーションポインタ(EP;−4〜+1)を保持する領域である。
【0308】
領域46cは、MTU30の実動作中に読み取られたデータブロックがEOF1である場合、データブロック中継時にそのデータブロック(EOF1)を退避させるための退避領域(SDT1)であり、領域46dは、MTU30の実動作中に読み取られたデータブロックがEOF2である場合、データブロック中継時にそのデータブロック(EOF2)を退避させるための退避領域(SDT2)である。
【0309】
領域46eは、MTU30の実動作中に読み取られたデータブロックがテープマーク(TM)である場合、そのテープマークの実BIDを退避させるための退避領域(SBID:Save BID)である。
なお、I/F変換装置40が複数台のMTU30(MTC10)に接続され、CPU20がI/F変換装置40を介して複数台のMTU30にアクセスできるように構成されている場合、RAM46における5つの領域46a〜46eは、MTU30毎にそなえられる。I/F変換装置40が機番#0〜#FのMTU30に接続されている場合、図82に示すように、機番毎に5つの領域46a〜46eが確保され、I/F変換装置40において、ES,EP,SDT1,SDT2,SBIDが機番毎に管理されるようになっている。
【0310】
〔2−2〕第2実施形態の制御方法
以下、図69〜図174を参照しながら、本発明の第2実施形態としての磁気テープ装置の制御方法について説明する。
〔2−2−1〕基本動作
まず、第2実施形態の方法の基本的な動作も、前述した第1実施形態とほぼ同様である。ただし、第2実施形態のごとく、I/F変換装置40によりMTU30のテープ動作のエミュレーションを行なう場合、第1実施形態のごとくMTC10によりエミュレーションを行なう場合と異なり、ファイルのオープン処理に際して、EOF1やEOF2をRAM46の退避領域46c,46dに退避させることができない状況が生じる。
【0311】
つまり、ファイルオープン処理時にCPU20から発行されたコマンドが、SPコマンドやFSPFコマンドのようなスキップ系のコマンドである場合、MTC10は、そのコマンドについて処理する際に前述したごとくMTU30に実リード動作を実行させることが可能である〔例えば第1実施形態における図15,図17,図50(A)および図50(B)参照〕。しかし、I/F変換装置40は、MTU30を直接的に制御するものではないので、スキップ系のコマンドによってスキップされたデータブロックがEOF1やEOF2であるか否かを識別することができない。I/F変換装置40によるEOF1やEOF2の識別パターンについては、図69(A)〜図69(D)を参照しながら後述する。
【0312】
そこで、第2実施形態の方法では、ファイルのオープン処理に際して、RAM46の退避領域46c/46dにEOF1/EOF2を退避させていない状態でCPU20からEOF1/EOF2の読取を指示するRDコマンドが発行された場合には、エミュレーションを実行することなく、そのRDコマンドに応じて、EOF1/EOF2を実際に読み取る実リード動作をMTU30に実行させ、MTU30により読み取られたEOF1/EOF2をCPU20へ転送する。
【0313】
〔2−2−2〕EOFの識別パターン
図69(A)〜図69(D)は、それぞれ、第2実施形態におけるI/F変換装置40によるEOFの4つの識別パターン(パターン1〜パターン4)を説明するための図である。
【0314】
前述した通り、I/F変換装置40によりエミュレーションを実行する場合、I/F変換装置40では、ファイルのオープン処理時にスキップ系のコマンドによってEOF1やEOF2がスキップされると、EOF1やEOF2を識別することができずRAM46の退避領域46c,46dに退避させることができない状況がある。EOF1およびEOF2の識別パターンとしては、以下の4種類のパターン1〜パターン4がある。
【0315】
図69(A)に示すパターン1は、EOF1およびEOF2の両方とも識別できRAM46の退避領域46c,46dに退避させることができた場合である。第1実施形態のごとくMTC10によりエミュレーションを行なう場合、EOF1およびEOF2の識別パターンは、常に、パターン1である。
図69(B)に示すパターン2は、EOF1のみを識別できRAM46の退避領域46cに退避させることができた場合である。
【0316】
図69(C)に示すパターン3は、EOF2のみを識別できRAM46の退避領域46dに退避させることができた場合である。
図69(D)に示すパターン4は、EOF1およびEOF2の両方とも識別できずRAM46の退避領域46c,46dに退避させることができなかった場合である。
なお、以下では、各種コマンド処理を、上述した4つのパターン1〜パターン4のそれぞれについて説明する。
【0317】
〔2−2−3〕エミュレーションステータス
次に、図70〜図73を参照しながら、第2実施形態のエミュレーションステータス(以下、ESと略記)について説明する。
ここでは、RAM46の制御領域46aに保持されるESの値と、磁気テープMTに対する実際のヘッド位置(実BID)との関係について説明する。
【0318】
また、第2実施形態のI/F変換装置40において、状態監視はESの値に基づいて行なわれ、特に、ESの値が“4x”または“6x”(x=0,1,2,3)の時に、エミュレーションの実行が可能な状態になる。このようにエミュレーションの実行が可能な状態(ES=4xまたは6x)では、仮想ヘッド位置(磁気テープMTに対するヘッドの仮想的な位置)が、エミュレーションポインタ(以下、EPと略記)によって管理される。このEPの値は、実ヘッド位置からの相対位置として表される。なお、図70〜図73において、黒三角マークは実ヘッド位置を示し、白抜き三角マークはエミュレーション実行可能時における仮想ヘッド位置を示す。
【0319】
(1)パターン1のエミュレーションステータス(ES)
図70(A)〜図70(G)は、それぞれ第2実施形態のパターン1についてのエミュレーションステータス(ES)を説明するための図である。
図70(A)はES=00の状態(初期状態)を示す。この図70(A)に示すように、ES=00の状態は、磁気テープMTに対して任意のデータブロック(図中、データ1)の読取または書込を完了した状態で、磁気テープMTに対する実ヘッド位置がデータブロックの直後である。このES=00での実ヘッド位置(以下、実BIDという)は、n(任意のデータブロックのBID)とする。このとき、EPの値は不定である。
【0320】
図70(B)はES=10の状態を示す。この図70(B)に示すように、ES=10の状態は、第1テープマークTM−aを検出または書き込んだ状態で、実ヘッド位置が第1テープマークTM−aの直後である。ES=10での実BIDはn+1であり、このとき、EPの値は不定である。
図70(C)はES=20の状態を示す。この図70(C)に示すように、ES=20の状態は、EOF1を検出または書き込んだ状態で、実ヘッド位置がEOF1の直後である。ES=20での実BIDはn+2であり、このとき、EPの値は不定である。
【0321】
図70(D)はES=30の状態を示す。この図70(D)に示すように、ES=30の状態は、EOF2を検出または書き込んだ状態で、実ヘッド位置がEOF2の直後である。ES=30での実BIDはn+3であり、このとき、EPの値は不定である。
【0322】
図70(E)はES=40の状態を示す。この図70(E)に示すように、ES=40の状態は、第2テープマークTM−bを検出または書き込んだ状態で、実ヘッド位置が第2テープマークTM−bの直後である。ES=40での実BIDはn+4であり、このとき、EPの値は−4,−3,−2,−1,0の5つの値をとりうる。
【0323】
図70(F)はES=50の状態を示す。この図70(F)に示すように、ES=50の状態は、第3テープマークTM−cを検出または書き込んだ状態で、実ヘッド位置が第3テープマークTM−cの直後である。ES=50での実BIDはn+5であり、このとき、EPの値は不定である。
【0324】
図70(G)はES=60の状態を示す。この図70(G)に示すように、ES=60の状態は、第3テープマークTM−cを検出または書き込んだ状態で、且つ、実ヘッド位置が第2テープマークTM−bと第3テープマークTM−cとの間にある状態である。ES=60での実BIDはn+4であり、このとき、EPの値は−4,−3,−2,−1,0,+1の6つの値をとりうる。
【0325】
(2)パターン2のエミュレーションステータス(ES)
図71(A)〜図71(G)は、それぞれ第2実施形態のパターン2についてのエミュレーションステータス(ES)を説明するための図である。
図71(A)〜図71(C)は、それぞれ、図70(A)〜図70(C)と同様のES=00,10,20の状態を示す。
【0326】
図71(D)はES=31の状態を示す。この図71(D)に示すように、ES=31の状態は、EOF2をスキップした状態で、実ヘッド位置がEOF2の直後である。ES=31での実BIDはn+3であり、このとき、EPの値は不定である。
【0327】
図71(E)はES=41の状態を示す。この図71(E)に示すように、ES=41の状態は、EOF2をスキップした後に第2テープマークTM−bを検出または書き込んだ状態で、実ヘッド位置が第2テープマークTM−bの直後である。ES=41での実BIDはn+4であり、このとき、EPの値は−4,−3,−2,−1,0の5つの値をとりうる。
【0328】
図71(F)はES=51の状態を示す。この図71(F)に示すように、ES=51の状態は、EOF2をスキップした後に第3テープマークTM−cを検出または書き込んだ状態で、実ヘッド位置が第3テープマークTM−cの直後である。ES=51での実BIDはn+5であり、このとき、EPの値は不定である。
【0329】
図71(G)はES=61の状態を示す。この図71(G)に示すように、ES=61の状態は、EOF2をスキップした後に第3テープマークTM−cを検出または書き込んだ状態で、且つ、実ヘッド位置が第2テープマークTM−bと第3テープマークTM−cとの間にある状態である。ES=61での実BIDはn+4であり、このとき、EPの値は−4,−3,−2,−1,0,+1の6つの値をとりうる。
【0330】
(3)パターン3のエミュレーションステータス(ES)
図72(A)〜図72(G)は、それぞれ第2実施形態のパターン3についてのエミュレーションステータス(ES)を説明するための図である。
図72(A),図72(B)は、それぞれ、図70(A),図70(B)と同様のES=00,10の状態を示す。
【0331】
図72(C)はES=22の状態を示す。この図72(C)に示すように、ES=20の状態は、EOF1をスキップした状態で、実ヘッド位置がEOF1の直後である。ES=22での実BIDはn+2であり、このとき、EPの値は不定である。
図72(D)はES=32の状態を示す。この図72(D)に示すように、ES=32の状態は、EOF1をスキップした後にEOF2を検出または書き込んだ状態で、実ヘッド位置がEOF2の直後である。ES=32での実BIDはn+3であり、このとき、EPの値は不定である。
【0332】
図72(E)はES=42の状態を示す。この図72(E)に示すように、ES=42の状態は、EOF1をスキップした後に第2テープマークTM−bを検出または書き込んだ状態で、実ヘッド位置が第2テープマークTM−bの直後である。ES=42での実BIDはn+4であり、このとき、EPの値は−4,−3,−2,−1,0の5つの値をとりうる。
【0333】
図72(F)はES=52の状態を示す。この図72(F)に示すように、ES=52の状態は、EOF1をスキップした後に第3テープマークTM−cを検出または書き込んだ状態で、実ヘッド位置が第3テープマークTM−cの直後である。ES=52での実BIDはn+5であり、このとき、EPの値は不定である。
【0334】
図72(G)はES=62の状態を示す。この図72(G)に示すように、ES=62の状態は、EOF1をスキップした後に第3テープマークTM−cを検出または書き込んだ状態で、且つ、実ヘッド位置が第2テープマークTM−bと第3テープマークTM−cとの間にある状態である。ES=62での実BIDはn+4であり、このとき、EPの値は−4,−3,−2,−1,0,+1の6つの値をとりうる。
【0335】
(4)パターン4のエミュレーションステータス(ES)
図73(A)〜図73(G)は、それぞれ第2実施形態のパターン4についてのエミュレーションステータス(ES)を説明するための図である。
図73(A),図73(B)は、それぞれ、図70(A),図70(B)と同様のES=00,10の状態を示し、図73(C)は、図72(C)と同様のES=22の状態を示す。
【0336】
図73(D)はES=33の状態を示す。この図73(D)に示すように、ES=33の状態は、EOF1をスキップした後にさらにEOF2をスキップした状態で、実ヘッド位置がEOF2の直後である。ES=33での実BIDはn+3であり、このとき、EPの値は不定である。
【0337】
図73(E)はES=43の状態を示す。この図73(E)に示すように、ES=43の状態は、EOF1およびEOF2をスキップした後に第2テープマークTM−bを検出または書き込んだ状態で、実ヘッド位置が第2テープマークTM−bの直後である。ES=43での実BIDはn+4であり、このとき、EPの値は−4,−3,−2,−1,0の5つの値をとりうる。
【0338】
図73(F)はES=53の状態を示す。この図73(F)に示すように、ES=53の状態は、EOF1およびEOF2をスキップした後に第3テープマークTM−cを検出または書き込んだ状態で、実ヘッド位置が第3テープマークTM−cの直後である。ES=53での実BIDはn+5であり、このとき、EPの値は不定である。
【0339】
図73(G)はES=63の状態を示す。この図73(G)に示すように、ES=66の状態は、EOF1およびEOF2をスキップした後に第3テープマークTM−cを検出または書き込んだ状態で、且つ、実ヘッド位置が第2テープマークTM−bと第3テープマークTM−cとの間にある状態である。ES=63での実BIDはn+4であり、このとき、EPの値は−4,−3,−2,−1,0,+1の6つの値をとりうる。
【0340】
〔2−2−4〕エミュレーション実行条件
第2実施形態では、図83〜図115を参照しながら後述する処理を実行することにより、MTU30のテープ動作についてエミュレーションを行なう。
以下に、図74〜図81を参照しながら、第2実施形態のエミュレーション実行条件について説明する。
【0341】
(1)パターン1のエミュレーション実行条件
図74(A),(B)および図75(A),(B)はいずれも第2実施形態のパターン1についてのエミュレーション実行条件を説明するための図である。
図74(A)に示すようにES=40の状態では、エミュレーション実行条件は、図74(B)に示すように以下の通りである。なお、ES=40の状態は、前述した通り、パターン1(EOF1およびEOF2の両方を退避領域46c,46dに退避させた状態)で、且つ、MTU30において第2テープマークTM−bまでの読取/書込を完了し実ヘッド位置が第2テープマークTM−bの直後にある状態である。
【0342】
▲1▼ES=40かつEP=0のとき、RBコマンド,BSPコマンド,BSPFコマンドのいずれか一つを実行する場合。
▲2▼ES=40かつEP=−1のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンド,WTMコマンドのいずれか一つを実行する場合。
【0343】
▲3▼ES=40かつEP=−2のとき、RDコマンド(データ転送有),RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
▲4▼ES=40かつEP=−3のとき、RDコマンド(データ転送有),RBコマンド,BSPブロックコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
【0344】
▲5▼ES=40かつEP=−4のとき、RDコマンド,SPコマンド,FSPFコマンドのいずれか一つを発行する場合。
図75(A)に示すようにES=60の状態では、エミュレーション実行条件は、図75(B)に示すように以下の通りである。なお、ES=60の状態は、前述した通り、パターン1(EOF1およびEOF2の両方を退避領域46c,46dに退避させた状態)で、且つ、MTU30において第3テープマークTM−cまでの読取/書込を完了し実ヘッド位置が第2テープマークTM−bの直後にある状態である。
【0345】
▲1▼ES=60かつEP=+1のとき、RBコマンド,BSPコマンド,BSPFコマンドのいずれか一つを実行する場合。
▲2▼ES=60かつEP=0のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンド,WTMコマンドのいずれか一つを実行する場合。
【0346】
▲3▼ES=60かつEP=−1のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
▲4▼ES=60かつEP=−2のとき、RDコマンド(データ転送有),RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
【0347】
▲5▼ES=60かつEP=−3のとき、RDコマンド(データ転送有),RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
▲6▼ES=60かつEP=−4のとき、RDコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
【0348】
(2)パターン2のエミュレーション実行条件
図76(A),(B)および図77(A),(B)はいずれも第2実施形態のパターン2についてのエミュレーション実行条件を説明するための図である。
図76(A)に示すようにES=41の状態では、エミュレーション実行条件は、図76(B)に示すように以下の通りである。なお、ES=41の状態は、前述した通り、パターン2(EOF1のみを退避領域46cに退避させた状態)で、且つ、MTU30において第2テープマークTM−bまでの読取/書込を完了し実ヘッド位置が第2テープマークTM−bの直後にある状態である。
【0349】
▲1▼ES=41かつEP=0のとき、RBコマンド,BSPコマンド,BSPFコマンドのいずれか一つを実行する場合。
▲2▼ES=41かつEP=−1のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンド,WTMコマンドのいずれか一つを実行する場合。
【0350】
▲3▼ES=41かつEP=−2のとき、RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。▲4▼ES=41かつEP=−3のとき、RDコマンド(データ転送有),RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
▲5▼ES=41かつEP=−4のとき、RDコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
【0351】
図77(A)に示すようにES=61の状態では、エミュレーション実行条件は、図77(B)に示すように以下の通りである。なお、ES=61の状態は、前述した通り、パターン2(EOF1のみを退避領域46cに退避させた状態)で、且つ、MTU30において第3テープマークTM−cまでの読取/書込を完了し実ヘッド位置が第2テープマークTM−bの直後にある状態である。
【0352】
▲1▼ES=61かつEP=+1のとき、RBコマンド,BSPコマンド,BSPFコマンドのいずれか一つを実行する場合。
▲2▼ES=61かつEP=0のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンド,WTMコマンドのいずれか一つを実行する場合。
【0353】
▲3▼ES=61かつEP=−1のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
▲4▼ES=61かつEP=−2のとき、RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
【0354】
▲5▼ES=61かつEP=−3のとき、RDコマンド(データ転送有),RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
▲6▼ES=61かつEP=−4のとき、RDコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
【0355】
(3)パターン3のエミュレーション実行条件
図78(A),(B)および図79(A),(B)はいずれも第2実施形態のパターン3についてのエミュレーション実行条件を説明するための図である。
図78(A)に示すようにES=42の状態では、エミュレーション実行条件は、図78(B)に示すように以下の通りである。なお、ES=42の状態は、前述した通り、パターン3(EOF2のみを退避領域46dに退避させた状態)で、且つ、MTU30において第2テープマークTM−bまでの読取/書込を完了し実ヘッド位置が第2テープマークTM−bの直後にある状態である。
【0356】
▲1▼ES=42かつEP=0のとき、RBコマンド,BSPコマンド,BSPFコマンドのいずれか一つを実行する場合。
▲2▼ES=42かつEP=−1のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンド,WTMコマンドのいずれか一つを実行する場合。
【0357】
▲3▼ES=42かつEP=−2のとき、RDコマンド(データ転送有),RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
▲4▼ES=42かつEP=−3のとき、RBコマンド,BSPコマンド,BSPFコマンド,SPコマンドおよびFSPFコマンドのいずれか一つを実行する場合。
▲5▼ES=42かつEP=−4のとき、RDコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
【0358】
図79(A)に示すようにES=62の状態では、エミュレーション実行条件は、図79(B)に示すように以下の通りである。なお、ES=62の状態は、前述した通り、パターン3(EOF2のみを退避領域46dに退避させた状態)で、且つ、MTU30において第3テープマークTM−cまでの読取/書込を完了し実ヘッド位置が第2テープマークTM−bの直後にある状態である。
【0359】
▲1▼ES=62かつEP=+1のとき、RBコマンド,BSPコマンド,BSPFコマンドのいずれか一つを実行する場合。
▲2▼ES=62かつEP=0のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンド,WTMコマンドのいずれか一つを実行する場合。
【0360】
▲3▼ES=62かつEP=−1のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
▲4▼ES=62かつEP=−2のとき、RDコマンド(データ転送有),RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
【0361】
▲5▼ES=62かつEP=−3のとき、RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。▲6▼ES=62かつEP=−4のとき、RDコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
(4)パターン4のエミュレーション実行条件
図80(A),(B)および図81(A),(B)はいずれも第2実施形態のパターン4についてのエミュレーション実行条件を説明するための図である。
【0362】
図80(A)に示すようにES=43の状態では、エミュレーション実行条件は、図80(B)に示すように以下の通りである。なお、ES=43の状態は、前述した通り、パターン4(EOF1およびEOF2の両方とも退避領域46c,46dに退避されていない状態)で、且つ、MTU30において第2テープマークTM−bまでの読取/書込を完了し実ヘッド位置が第2テープマークTM−bの直後にある状態である。
【0363】
▲1▼ES=43かつEP=0のとき、RBコマンド,BSPコマンド,BSPFコマンドのいずれか一つを実行する場合。
▲2▼ES=43かつEP=−1のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンド,WTMコマンドのいずれか一つを実行する場合。
【0364】
▲3▼ES=43かつEP=−2のとき、RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。▲4▼ES=43かつEP=−3のとき、RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。▲5▼ES=43かつEP=−4のとき、RDコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
【0365】
図81(A)に示すようにES=63の状態では、エミュレーション実行条件は、図81(B)に示すように以下の通りである。なお、ES=63の状態は、前述した通り、パターン4(EOF1およびEOF2の両方とも退避領域46c,46dに退避されていない状態)で、且つ、MTU30において第3テープマークTM−cまでの読取/書込を完了し実ヘッド位置が第2テープマークTM−bの直後にある状態である。
【0366】
▲1▼ES=63かつEP=+1のとき、RBコマンド,BSPコマンド,BSPFコマンドのいずれか一つを実行する場合。
▲2▼ES=63かつEP=0のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンド,WTMコマンドのいずれか一つを実行する場合。
【0367】
▲3▼ES=63かつEP=−1のとき、RDコマンド,RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
▲4▼ES=63かつEP=−2のとき、RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
【0368】
▲5▼ES=63かつEP=−3のとき、RBコマンド,BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。▲6▼ES=63かつEP=−4のとき、RDコマンド,SPコマンド,FSPFコマンドのいずれか一つを実行する場合。
なお、図74(B)〜図81(B)に示すエミュレーション実行条件を満たさない場合(図中、×を記入された条件)には、エミュレーションの実行が不可能であり、MTU30で実動作を行なうことになる。
【0369】
〔2−2−5〕コマンド処理
次に、図83に示すフローチャート(ステップS1〜S5)に従って、第2実施形態におけるI/F変換装置40の制御部42によるコマンド処理について説明する。
I/F変換装置40の制御部42は、CPU20からコマンドを受けると、コマンド毎に、図83に示すコマンド処理を実行する。
【0370】
まず、前処理(ステップS1)では、コマンド種別(コマンドコード)や、RAM46の制御領域46a,46bに格納されるESおよびEPの値に応じて、MTU30において実動作を行なうかエミュレーションを行なうかが決定されるほか、磁気ヘッドの再位置付け処理や、EOF1/EOF2のリストア処理が実行される。
【0371】
このとき、MTU30において実動作を行なう場合に相対位置(EP)と実ヘッド位置とが異なっていれば、制御部42は、磁気ヘッドの再位置付け処理を実行させる。また、リードコマンド処理(RD処理)でEOF1/EOF2のエミュレーションを行なうことが可能であれば、制御部42は、RAM46の退避領域46c/46dのデータブロック(EOF1/EOF2)をデータバッファ45にリストアし、そのデータブロックを、後述するステップS4でCPU20へ転送する。
【0372】
前処理完了後、ステップS2でエミュレーションが可能か否か(前処理でエミュレーションを行なう決定がなされたか否か)を判断し、エミュレーションが不可能な場合(NOルート)には、実動作(SCSI処理;ステップS3)を行なってからデータ転送を行なう(ステップS4)。一方、エミュレーションが可能な場合(YESルート)には、ステップS3の実動作を行なうことなく、データ転送を行なう(ステップS4)。なお、ステップS4のデータ転送は、RDコマンドやWRコマンドについての処理を行なった場合に実行される。
【0373】
そして、後処理(ステップS5)では、磁気テープMTから読み出されたEOF1/EOF2をRAM46の退避領域46c/46dに退避させるほか、RAM46の退避領域46eに保持されるSBIDのチェック・更新処理が行なわれるとともに、RAM46の制御領域46a,46bに格納されるESおよびEPの更新処理が行なわれる。
【0374】
つまり、後処理では、実動作後あるいはエミュレーション動作後に、データブロックの種別に応じて、RAM46の制御領域46a,46bに格納されるESおよびEPの更新が行なわれる。実動作時に得られたデータブロックがEOF1またはEOF2と判断された場合には、そのデータブロックをRAM46の退避領域46cまたは46dに格納する。また、実動作時に得られたデータブロックがテープマーク(TM)であると判断された場合には、実BID(実ヘッド位置)をRAM46の退避領域(SBID)46eに格納するとともに、EOFの認識パターン“TM,EOF1,EOF2,TM,TM”の確認(パターン1〜パターン4のいずれであるかの確認)を行なう。
【0375】
なお、エミュレーション実行時(ES=40,41,42,43,60,61,62,63の時)に、CPU20から、リードBIDコマンド等のチャネルブロックID(磁気ヘッドの論理位置)の識別を指示するコマンドが発行された場合、第2実施形態のI/F変換装置40の制御部42は、チャネルブロックIDとして、SBID+EPの値をCPU20に返すとともに、デバイスIDとしてSBIDの値をCPU20に返す。非エミュレーション実行時(ES=00,10,20,22,30,31,32,33,50,51,52,53の時)に、CPU20から、リードBIDコマンド等のコマンドが発行された場合、第2実施形態のI/F変換装置40の制御部42は、従来通り、デバイス(MCU10/MTU30)に対してリードポジションコマンドを発行してIDを獲得し、CPU20へ報告する。
【0376】
さて、前述した前処理(ステップS1)および後処理(ステップS5)は、コマンド種別とEOFの識別パターンとに応じた制御テーブル(制御マトリックス;図84〜図115参照)に従って実行される。以下、コマンド種別とEOFの識別パターンとに応じて実行される前処理および後処理の詳細について、図84〜図115を参照しながら説明する。
【0377】
〔2−2−5−1〕RD(Read) 処理
▲1▼パターン1のRD処理(図84参照)
I/F変換装置40がRDコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ES=00であると認識された場合〔図70(A)参照〕、MTU30に実動作(実READ)を実行させる。そして、後処理において、制御部42は、MTU30でリードされたデータブロックの種別がテープマーク(以下、TMと略記)であるかそれ以外のものであるかを判断する。そのデータブロックがTMであると判断された場合には、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納するほか、RAM46においてES(制御領域46a)を“10”に更新する(プロセスID=1.00.00)。一方、後処理でデータブロックがTM以外のものであると判断された場合には、RAM46においてES=00のままとする(プロセスID=1.00.01)。
【0378】
前処理でES=10であると認識された場合〔図70(B)参照〕、MTU30に実動作(実READ)を実行させる。そして、後処理において、制御部42は、MTU30でリードされたデータブロックの種別がEOFであるかTMであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、そのデータブロック(EOF1)をRAM46の退避領域(SDT1)46cに退避させるとともに、RAM46においてESを“20”に更新する(プロセスID=1.10.00)。後処理でデータブロックがTMであると判断された場合には、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納するほか、RAM46においてES=10のままとする(プロセスID=1.10.01)。一方、後処理でデータブロックがEOFやTM以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=1.10.02)。
【0379】
前処理でES=20であると認識された場合〔図70(C)参照〕、MTU30に実動作(実READ)を実行させる。そして、後処理において、制御部42は、MTU30でリードされたデータブロックの種別がEOFであるかTMであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF2)であると判断された場合には、そのデータブロック(EOF2)をRAM46の退避領域(SDT2)46dに退避させるとともに、RAM46においてESを“30”に更新する(プロセスID=1.20.00)。後処理でデータブロックがTMであると判断された場合には、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納するほか、RAM46においてESを“10”に更新する(プロセスID=1.20.01)。一方、後処理でデータブロックがEOFやTM以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=1.20.02)。
【0380】
前処理でES=30であると認識された場合〔図70(D)参照〕、MTU30に実動作(実READ)を実行させる。そして、後処理において、制御部42は、MTU30でリードされたデータブロックの種別がTMであるかそれ以外のものであるかを判断する。そのデータブロックがTMであると判断された場合には、そのTMの実BIDと退避領域46eに格納されているSBIDとの差(実BID−SBID)を求め、その差が“3”であることを確認すると、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“40”に更新するとともにEPを“0”に更新する(プロセスID=1.30.00)。一方、後処理でデータブロックがEOFやTM以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=1.30.01)。
【0381】
前処理でES=40かつEP=−4であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−3”に更新する(プロセスID=1.40.00)。
【0382】
前処理でES=40かつEP=−3であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT1)46cのデータブロック(EOF1)をデータバッファ45にリストアし、後処理では、RAM46においてESを“40”に保持したままEPを“−2”に更新する(プロセスID=1.40.10)。
【0383】
前処理でES=40かつEP=−2であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT2)46dのデータブロック(EOF2)をデータバッファ45にリストアし、後処理では、RAM46においてESを“40”に保持したままEPを“−1”に更新する(プロセスID=1.40.20)。
【0384】
前処理でES=40かつEP=−1であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“0”に更新する(プロセスID=1.40.30)。
【0385】
前処理でES=40かつEP=0であると認識された場合〔図70(E)参照〕、MTU30に実動作(実READ)を実行させる。そして、後処理において、制御部42は、MTU30でリードされたデータブロックの種別がEOFであるかTMであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、そのデータブロック(EOF1)をRAM46の退避領域(SDT1)46cに退避させるとともに、RAM46においてESを“20”に更新する(プロセスID=1.40.40)。後処理でデータブロックがTMであると判断された場合には、そのTMの実BIDと退避領域46eに格納されているSBIDとの差(実BID−SBID)を求め、その差が“1”であることを確認すると、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“50”に更新する(プロセスID=1.40.41)。一方、後処理でデータブロックがEOFやTM以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=1.40.42)。
【0386】
前処理でES=50であると認識された場合〔図70(F)参照〕、前処理および後処理では、前述したプロセスID=1.10.00, 1.10.01, 1.10.02 の処理と同様の処理が実行される(プロセスID=1.50.00, 1.50.01, 1.50.02)。
【0387】
前処理でES=60かつEP=−4であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−3”に更新する(プロセスID=1.60.00)。
【0388】
前処理でES=60かつEP=−3であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT1)46cのデータブロック(EOF1)をデータバッファ45にリストアし、後処理では、RAM46においてESを“60”に保持したままEPを“−2”に更新する(プロセスID=1.60.10)。
【0389】
前処理でES=60かつEP=−2であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT2)46dのデータブロック(EOF2)をデータバッファ45にリストアし、後処理では、RAM46においてESを“60”に保持したままEPを“−1”に更新する(プロセスID=1.60.20)。
【0390】
前処理でES=60かつEP=−1であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“0”に更新する(プロセスID=1.60.30)。
前処理でES=60かつEP=0であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“+1”に更新する(プロセスID=1.60.40)。
【0391】
前処理でES=60かつEP=+1であると認識された場合〔図70(G)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(G)ではn+5の位置〕に再位置付けしてから、MTU30に実動作(実READ)を実行させる。そして、後処理において、制御部42は、MTU30でリードされたデータブロックの種別がEOFであるかTMであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、そのデータブロック(EOF1)をRAM46の退避領域(SDT1)46cに退避させ、RAM46のSBIDに1を加算するとともに、RAM46においてESを“20”に更新する(プロセスID=1.60.50)。後処理でデータブロックがTMであると判断された場合には、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納するほか、RAM46においてESを“10”に更新する(プロセスID=1.60.51)。一方、後処理でデータブロックがEOFやTM以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=1.60.52)。
【0392】
▲2▼パターン2のRD処理(図85参照)
前処理でES=31であると認識された場合〔図71(D)参照〕、前処理および後処理では、前述したプロセスID=1.30.00, 1.30.01の後処理とほぼ同様の処理が実行される(プロセスID=1.31.00, 1.31.01) 。ただし、プロセスID=1.31.00 の後処理に際して、RAM46におけるESは“41”に更新される。
【0393】
前処理でES=41かつEP=−4であると認識された場合〔図71(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“41”に保持したままEPを“−3”に更新する(プロセス1D=1.41.00)。
【0394】
前処理でES=41かつEP=−3であると認識された場合〔図71(E)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT1)46cのデータブロック(EOF1)をデータバッファ45にリストアし、後処理では、RAM46においてESを“41”に保持したままEPを“−2”に更新する(プロセスID=1.41.10)。
【0395】
前処理でES=41かつEP=−2であると認識された場合〔図71(E)参照〕、MTU30においてヘッドを位置SBID+EP〔図71(E)ではn+2の位置〕に再位置付けしてから、MTU30に実動作(実READ)を実行させる。後処理において、制御部42は、MTU30でリードされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF2)であると判断された場合には、そのデータブロック(EOF2)をRAM46の退避領域(SDT2)46dに退避させ、RAM46のSBIDから3を減算するとともに、RAM46においてESを“30”に更新する(プロセスID=1.41.20)。一方、後処理でデータブロックがEOF以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=1.41.21)。
【0396】
前処理でES=41かつEP=−1であると認識された場合〔図71(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“41”に保持したままEPを“0”に更新する(プロセスID=1.41.30)。
【0397】
前処理でES=41かつEP=0であると認識された場合〔図71(E)参照〕、前処理および後処理では、前述したプロセスID=1.40.40, 1.40.41, 1.40.42 の処理とほぼ同様の処理が実行される(プロセスID=1.41.40, 1.41.41, 1.41.42)。ただし、プロセスID=1.4 1.41 の後処理に際して、RAM46におけるESは“51”に更新される。
【0398】
前処理でES=51であると認識された場合〔図71(F)参照〕、前処理および後処理では、前述したプロセスID=1.10.00, 1.10.01, 1.10.02 の処理と同様の処理が実行される(プロセスID=1.51.00, 1.51.01, 1.51.02)。
前処理でES=61かつEP=−4であると認識された場合〔図71(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“61”に保持したままEPを“−3”に更新する(プロセスID=1.61.00)。
【0399】
前処理でES=61かつEP=−3であると認識された場合〔図71(G)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT1)46cのデータブロック(EOF1)をデータバッファ45にリストアし、後処理では、RAM46においてESを“61”に保持したままEPを“−2”に更新する(プロセスID=1.61.10)。
【0400】
前処理でES=61かつEP=−2であると認識された場合〔図71(G)参照〕、前処理および後処理では、前述したプロセスID=1.41.20, 1.41.21の処理と同様の処理が実行される(プロセスID=1.61.20,1.61.21)。
前処理でES=61かつEP=−1であると認識された場合〔図71(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“61”に保持したままEPを“0”に更新する(プロセスID=1.61.30)。
【0401】
前処理でES=61かつEP=0であると認識された場合〔図71(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“61”に保持したままEPを“+1”に更新する(プロセスID=1.61.40)。
前処理でES=61かつEP=+1であると認識された場合〔図71(G)参照〕、前処理および後処理では、前述したプロセスID=1.60.50, 1.60.51, 1.60.52 の処理と同様の処理が実行される(プロセスID=1.61.50, 1.61.51, 1.61.52)。
【0402】
▲3▼パターン3のRD処理(図86参照)
前処理でES=22であると認識された場合〔図72(C)参照〕、前処理および後処理では、前述したプロセスID=1.20.00, 1.20.01, 1.20.02 の処理とほぼ同様の処理が実行される(プロセスID=1.22.00, 1.22.01, 1.22.02)。ただし、プロセスID=1.22.00 の後処理に際して、RAM46におけるESは“32”に更新される。
【0403】
前処理でES=32であると認識された場合〔図72(D)参照〕、前処理および後処理では、前述したプロセスID=1.31.00, 1.31.01の処理とほぼ同様の処理が実行される(プロセスID=1.32.00, 1.32.01) 。ただし、プロセスID=1.32.00 の後処理に際して、RAM46におけるESは“42”に更新される。
【0404】
前処理でES=42かつEP=−4であると認識された場合〔図72(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“42”に保持したままEPを“−3”に更新する(プロセス1D=1.42.00)。
【0405】
前処理でES=42かつEP=−3であると認識された場合〔図72(E)参照〕、MTU30においてヘッドを位置SBID+EP〔図72(E)ではn+1の位置〕に再位置付けしてから、MTU30に実動作(実READ)を実行させる。後処理において、制御部42は、MTU30でリードされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、そのデータブロック(EOF1)をRAM46の退避領域(SDT1)46cに退避させ、RAM46のSBIDから3を減算するとともに、RAM46においてESを“20”に更新する(プロセスID=1.42.10)。一方、後処理でデータブロックがEOF以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=1.42.11)。
【0406】
前処理でES=42かつEP=−2であると認識された場合〔図72(E)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT2)46dのデータブロック(EOF2)をデータバッファ45にリストアし、後処理では、RAM46においてESを“42”に保持したままEPを“−1”に更新する(プロセスID=1 .42.20)。
【0407】
前処理でES=42かつEP=−1であると認識された場合〔図72(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“42”に保持したままEPを“0”に更新する(プロセスID=1.42.30)。
【0408】
前処理でES=42かつEP=0であると認識された場合〔図72(E)参照〕、前処理および後処理では、前述したプロセスID=1.40.40, 1.40.41, 1.40.42 の処理とほぼ同様の処理が実行される(プロセスID=1.42. 40, 1.42.41, 1.42.42)。ただし、プロセスID=1.42.41 の後処理に際して、RAM46におけるESは“52”に更新される。
【0409】
前処理でES=52であると認識された場合〔図72(F)参照〕、前処理および後処理では、前述したプロセスID=1.10.00, 1.10.01, 1.10.02 の処理と同様の処理が実行される(プロセスID=1.52.00, 1.52.01, 1.52.02)。
前処理でES=62かつEP=−4であると認識された場合〔図72(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“62”に保持したままEPを“−3”に更新する(プロセスID=1.62.00)。
【0410】
前処理でES=62かつEP=−3であると認識された場合〔図72(G)参照〕、前処理および後処理では、前述したプロセスID=1.42.10, 1.42.11の処理と同様の処理が実行される(プロセスID=1.62.10,1.62.11)。
前処理でES=62かつEP=−2であると認識された場合〔図72(G)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT2)46dのデータブロック(EOF2)をデータバッファ45にリストアし、後処理では、RAM46においてESを“62”に保持したままEPを“−1”に更新する(プロセスID=1.62.20)。
【0411】
前処理でES=62かつEP=−1であると認識された場合〔図72(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“62”に保持したままEPを“0”に更新する(プロセスID=1.62.30)。
前処理でES=62かつEP=0であると認識された場合〔図72(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“62”に保持したままEPを“+1”に更新する(プロセスID=1.62.40)。
【0412】
前処理でES=62かつEP=+1であると認識された場合〔図72(G)参照〕、前処理および後処理では、前述したプロセスID=1.60.50, 1.60.51, 1.60.52 の処理と同様の処理が実行される(プロセスID=1.62.50, 1.62.51, 1.62.52)。
【0413】
▲4▼パターン4のRD処理(図87参照)
前処理でES=33であると認識された場合〔図73(D)参照〕、前処理および後処理では、前述したプロセスID=1.31.00, 1.31.01の処理とほぼ同様の処理が実行される(プロセスID=1.33.00, 1.33.01) 。ただし、プロセスID=1.33.00 の後処理に際して、RAM46におけるESは“43”に更新される。
【0414】
前処理でES=43かつEP=−4であると認識された場合〔図73(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“43”に保持したままEPを“−3”に更新する(プロセス1D=1.43.00)。
前処理でES=43かつEP=−3であると認識された場合〔図73(E)参照〕、前処理および後処理では、前述したプロセスID=1.42.10, 1.42.11の処理と同様の処理が実行される(プロセスID=1.43.10, 1.43.11)。
【0415】
前処理でES=43かつEP=−2であると認識された場合〔図73(E)参照〕、前処理および後処理では、前述したプロセスID=1.41.20, 1.41.21の処理とほぼ同様の処理が実行される(プロセスID=1.43.20, 1.43.21)。ただし、プロセスID=1.43.20 の後処理に際して、RAM46におけるESは“32”に更新される。
【0416】
前処理でES=43かつEP=−1であると認識された場合〔図73(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“43”に保持したままEPを“0”に更新する(プロセスID=1.43.30)。
【0417】
前処理でES=41かつEP=0であると認識された場合〔図73(E)参照〕、前処理および後処理では、前述したプロセスID=1.40.40, 1.40.41, 1.40.42 の処理とほぼ同様の処理が実行される(プロセスID=1.43.40, 1.43.41, 1.43.42)。ただし、プロセスID=1.43.41 の後処理に際して、RAM46におけるESは“53”に更新される。
【0418】
前処理でES=53であると認識された場合〔図73(F)参照〕、前処理および後処理では、前述したプロセスID=1.10.00, 1.10.01, 1.10.02 の処理と同様の処理が実行される(プロセスID=1.53.00, 1.53.01, 1.53.02)。
前処理でES=63かつEP=−4であると認識された場合〔図73(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“63”に保持したままEPを“−3”に更新する(プロセスID=1.63.00)。
【0419】
前処理でES=63かつEP=−3であると認識された場合〔図73(G)参照〕、前処理および後処理では、前述したプロセスID=1.42.10, 1.42.11の処理と同様の処理が実行される(プロセスID=1.63.10, 1.63.11)。
前処理でES=63かつEP=−2であると認識された場合〔図73(G)参照〕、前処理および後処理では、前述したプロセスID=1.41.20, 1.41.21の処理とほぼ同様の処理が実行される(プロセスID=1.63.20, 1.63.21)。ただし、プロセスID=1.63.20 の後処理に際して、RAM46におけるESは“32”に更新される。
【0420】
前処理でES=63かつEP=−1であると認識された場合〔図73(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“63”に保持したままEPを“0”に更新する(プロセスID=1.63.30)。
前処理でES=63かつEP=0であると認識された場合〔図73(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“63”に保持したままEPを“+1”に更新する(プロセスID=1.63.40)。
【0421】
前処理でES=63かつEP=+1であると認識された場合〔図73(G)参照〕、前処理および後処理では、前述したプロセスID=1.60.50, 1.60.51, 1.60.52 の処理と同様の処理が実行される(プロセスID=1.63.50, 1.63.51, 1.63.52)。
【0422】
〔2−2−5−2〕RB(Read Backward)処理
第2実施形態のI/F変換装置40も、CPU20からRBコマンドを受けた場合、第1実施形態のMTC10と同様、CPU20に対してエラー報告を行なう。そして、RB処理に際し、MTU30に実際にリードバックワード動作(実RB)を実行させた場合には後述するごとくES=00に更新する一方、MTU30のエミュレーションを実行した場合には後述するごとくES=4xまたは6xを保持しながらEPを更新している。
【0423】
▲1▼パターン1のRB処理(図88参照)
I/F変換装置40がRBコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ES=00であると認識された場合〔図70(A)参照〕、MTU30に実動作(実RB)を実行させ、後処理では、RAM46においてES=00のままとする(プロセスID=2.00.00)。
【0424】
前処理でES=10であると認識された場合〔図70(B)参照〕、MTU30に実動作(実RB)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=2.10.00)。
前処理でES=20であると認識された場合〔図70(C)参照〕、MTU30に実動作(実RB)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=2.20.00)。
【0425】
前処理でES=30であると認識された場合〔図70(D)参照〕、MTU30に実動作(実RB)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=2.30.00)。
前処理でES=40かつEP=−4であると認識された場合〔図70(E)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(E)ではnの位置〕に再位置付けしてから、MTU30に実動作(実RB)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=2.40.00)。
【0426】
前処理でES=40かつEP=−3であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−4”に更新する(プロセスID=2.40.10)。
前処理でES=40かつEP=−2であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−3”に更新する(プロセスID=2.40.20)。
【0427】
前処理でES=40かつEP=−1であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−2”に更新する(プロセスID=2.40.30)。
前処理でES=40かつEP=0であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−1”に更新する(プロセスID=2.40.40)。
【0428】
前処理でES=50であると認識された場合〔図70(F)参照〕、MTU30に実動作(実RB)を実行させ、後処理では、リードバックにより読み取られたTMの実BIDと退避領域46eに格納されているSBIDとの差(SBID−実BID)を求め、その差が“1”であることを確認すると、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“60”に更新するとともにEPを“0”に更新する(プロセスID=2.50.00)。
【0429】
前処理でES=60かつEP=−4であると認識された場合〔図70(G)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(G)ではnの位置〕に再位置付けしてから、MTU30に実動作(実RB)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=2.60.00)。
【0430】
前処理でES=60かつEP=−3であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−4”に更新する(プロセスID=2.60.10)。
【0431】
前処理でES=60かつEP=−2であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−3”に更新する(プロセスID=2.60.20)。
前処理でES=60かつEP=−1であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−2”に更新する(プロセスID=2.60.30)。
【0432】
前処理でES=60かつEP=0であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−1”に更新する(プロセスID=2.60.40)。
前処理でES=60かつEP=+1であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“0”に更新する(プロセスID=2.60.50)。
【0433】
▲2▼パターン2のRB処理(図89参照)
図89に示すように、パターン2のRB処理における前処理および後処理は、図88を参照しながら前述したパターン1のRB処理時における前処理および後処理とほぼ同じであり、図89に示すプロセスID=2.31. 00 〜2.61.50 の処理は、それぞれ、図88に示すプロセスID=2.30.00 〜2.60.50 の処理に対応している。ただし、プロセスID=2.41.10, 2.41.40の後処理に際して、RAM46におけるESは“41”に更新されるほか、プロセスID=2.51.00, 2.61.10, 2.61.40, 2.61.50の後処理に際して、RAM46におけるESは“61”に更新される。
【0434】
▲3▼パターン3のRB処理(図90参照)
図90に示すように、パターン3のRB処理における前処理および後処理は、図88を参照しながら前述したパターン1のRB処理時における前処理および後処理とほぼ同じであり、図90に示すプロセスID=2.32.00 〜2.62.50 の処理は、それぞれ、図88に示すプロセスID=2.30.00 〜2.60.50 の処理に対応している。ただし、プロセスID=2.42.10, 2.42.40の後処理に際して、RAM46におけるESは“42”に更新されるほか、プロセスID=2.52.00, 2.62.10, 2.62.40, 2.62.50の後処理に際して、RAM46におけるESは“62”に更新される。
【0435】
▲4▼パターン4のRB処理(図91参照)
図91に示すように、パターン4のRB処理における前処理および後処理は、図88を参照しながら前述したパターン1のRB処理時における前処理および後処理とほぼ同じであり、図91に示すプロセスID=2.33.00 〜2.63.50 の処理は、それぞれ、図88に示すプロセスID=2.30.00 〜2.60.50 の処理に対応している。ただし、プロセスID=2.43.10, 2.43.40の後処理に際して、RAM46におけるESは“43”に更新されるほか、プロセスID=2.53.00, 2.63.10, 2.63.40, 2.63.50の後処理に際して、RAM46におけるESは“63”に更新される。
【0436】
〔2−2−5−3〕WR(Write)処理
▲1▼パターン1のWR処理(図92参照)
I/F変換装置40がWRコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ES=00であると認識された場合〔図70(A)参照〕、MTU30に実動作(実WR)を実行させ、後処理では、RAM46においてES=00のままとする(プロセスID=3.00.00)。
【0437】
前処理でES=10であると認識された場合〔図70(B)参照〕、MTU30に実動作(実WR)を実行させる。そして、後処理において、制御部42は、MTU30でライトされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、そのデータブロック(EOF1)をRAM46の退避領域(SDT1)46cに退避させるとともに、RAM46においてESを“20”に更新する(プロセスID=3.10.00)。一方、後処理でデータブロックがEOF以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=3.10.01)。
【0438】
前処理でES=20であると認識された場合〔図70(C)参照〕、MTU30に実動作(実WR)を実行させる。そして、後処理において、制御部42は、MTU30でライトされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF2)であると判断された場合には、そのデータブロック(EOF2)をRAM46の退避領域(SDT2)46dに退避させるとともに、RAM46においてESを“30”に更新する(プロセスID=3.20.00)。一方、後処理でデータブロックがEOF以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=3.20.01)。
【0439】
前処理でES=30であると認識された場合〔図70(D)参照〕、MTU30に実動作(実WR)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=3.30.00)。
前処理でES=40かつEP=−4であると認識された場合〔図70(E)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(E)ではnの位置〕に再位置付けしてから、MTU30に実動作(実WR)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=3.40.00)。
【0440】
前処理でES=40かつEP=−3であると認識された場合〔図70(E)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(E)ではn+1の位置〕に再位置付けしてから、MTU30に実動作(実WR)を実行させる。そして、後処理において、制御部42は、MTU30でライトされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、そのデータブロック(EOF1)をRAM46の退避領域(SDT1)46cに退避させ、RAM46のSBIDから3を減算するとともに、RAM46においてESを“20”に更新する(プロセスID=3.40.10)。一方、後処理でデータブロックがEOF以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=3.40.11)。
【0441】
前処理でES=40かつEP=−2であると認識された場合〔図70(E)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(E)ではn+2の位置〕に再位置付けしてから、MTU30に実動作(実WR)を実行させる。そして、後処理において、制御部42は、MTU30でライトされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF2)であると判断された場合には、そのデータブロック(EOF2)をRAM46の退避領域(SDT2)46dに退避させ、RAM46のSBIDから3を減算するとともに、RAM46においてESを“30”に更新する(プロセスID=3.40.20)。一方、後処理でデータブロックがEOF以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=3.40.21)。
【0442】
前処理でES=40かつEP=−1であると認識された場合〔図70(E)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(E)ではn+3の位置〕に再位置付けしてから、MTU30に実動作(実WR)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=3.40.30)。
【0443】
前処理でES=40かつEP=0であると認識された場合〔図70(E)参照〕、前処理および後処理では、前述したプロセスID=3.10.00, 3.10.01の処理と同様の処理が実行される(プロセスID=3.40.40, 3.40.41) 。
前処理でES=50であると認識された場合〔図70(F)参照〕、前処理および後処理では、前述したプロセスID=3.10.00, 3.10.01の処理と同様の処理が実行される(プロセスID=3.50.00, 3.50.01) 。
【0444】
前処理でES=60かつEP=−4であると認識された場合〔図70(G)参照〕、前処理および後処理では、前述したプロセスID=3.40.00 の処理と同様の処理が実行される(プロセスID=3.60.00)。
前処理でES=60かつEP=−3であると認識された場合〔図70(G)参照〕、前処理および後処理では、前述したプロセスID=3.40.10, 3.40.11の処理と同様の処理が実行される(プロセスID=3.60.10, 3.60.11) 。
【0445】
前処理でES=60かつEP=−2であると認識された場合〔図70(G)参照〕、前処理および後処理では、前述したプロセスID=3.40.20, 3.40.21の処理と同様の処理が実行される(プロセスID=3.60.20, 3.60.21) 。
前処理でES=60かつEP=−1であると認識された場合〔図70(G)参照〕、前処理および後処理では、前述したプロセスID=3.40.30 の処理と同様の処理が実行される(プロセスID=3.60.30)。
【0446】
前処理でES=60かつEP=0であると認識された場合〔図70(G)参照〕、前処理および後処理では、前述したプロセスID=3.10.00, 3.10.01の処理と同様の処理が実行される(プロセスID=3.60.40, 3.60.41) 。
前処理でES=60かつEP=+1であると認識された場合〔図70(G)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(G)ではn+5の位置〕に再位置付けしてから、MTU30に実動作(実WR)を実行させる。そして、後処理において、制御部42は、MTU30でライトされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、そのデータブロック(EOF1)をRAM46の退避領域(SDT1)46cに退避させ、RAM46のSBIDに1を加算するとともに、RAM46においてESを“20”に更新する(プロセスID=3.60.50)。一方、後処理でデータブロックがEOF以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=3.60.51)。
【0447】
▲2▼パターン2のWR処理(図93参照)
図93に示すように、パターン2のWR処理における前処理および後処理は、図92を参照しながら前述したパターン1のWR処理時における前処理および後処理と同様であり、図93に示すプロセスID=3.31.00 〜3.61.51 の処理は、それぞれ、図88に示すプロセスID=3.30.00 〜3.60.51 の処理に対応している。
【0448】
▲3▼パターン3のWR処理(図94参照)
図94に示すように、パターン3のWR処理における前処理および後処理は、図92を参照しながら前述したパターン1のWR処理時における前処理および後処理とほぼ同じであり、図94に示すプロセスID=3.22.00 〜3.62.51 の処理は、それぞれ、図92に示すプロセスID=3.20.00 〜3.60.51 の処理に対応している。ただし、プロセスID=3.22.00, 3.42.20, 3.62.20 の後処理に際して、RAM46におけるESは“32”に更新される。
【0449】
▲4▼パターン4のWR処理(図95参照)
図95に示すように、パターン4のWR処理における前処理および後処理は、図92を参照しながら前述したパターン1のWR処理時における前処理および後処理とほぼ同じであり、図95に示すプロセスID=3.33.00 〜3.63.51 の処理は、それぞれ、図92に示すプロセスID=3.30.00 〜3.60.51 の処理に対応している。ただし、プロセスID=3.43.20, 3.63.20の後処理に際して、RAM46におけるESは“32”に更新される。
【0450】
〔2−2−5−4〕BSP(Back Space Block) 処理
▲1▼パターン1のBSP処理(図96参照)
I/F変換装置40がBSPコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ES=00であると認識された場合〔図70(A)参照〕、MTU30に実動作(実BSP)を実行させ、後処理では、RAM46においてES=00のままとする(プロセスID=4.00.00)。
【0451】
前処理でES=10であると認識された場合〔図70(B)参照〕、MTU30に実動作(実BSP)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=4.10.00)。
前処理でES=20であると認識された場合〔図70(C)参照〕、MTU30に実動作(実BSP)を実行させ、後処理では、RAM46においてESを“10”に更新する(プロセスID=4.20.00)。
【0452】
前処理でES=30であると認識された場合〔図70(D)参照〕、MTU30に実動作(実BSP)を実行させ、後処理では、RAM46においてESを“20”に更新する(プロセスID=4.30.00)。
前処理でES=40かつEP=−4であると認識された場合〔図70(E)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(E)ではnの位置〕に再位置付けしてから、MTU30に実動作(実BSP)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=4.40.00)。
【0453】
前処理でES=40かつEP=−3であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−4”に更新する(プロセスID=4.40.10)。
前処理でES=40かつEP=−2であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−3”に更新する(プロセスID=4.40.20)。
【0454】
前処理でES=40かつEP=−1であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−2”に更新する(プロセスID=4.40.30)。
前処理でES=40かつEP=0であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−1”に更新する(プロセスID=4.40.40)。
【0455】
前処理でES=50であると認識された場合〔図70(F)参照〕、MTU30に実動作(実BSP)を実行させ、後処理では、バックスペース動作に伴ってTMが検出された場合、そのTMの実BIDと退避領域46eに格納されているSBIDとの差(SBID−実BID)を求め、その差が“1”であることを確認すると、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“60”に更新するとともにEPを“0”(プロセスID=4.50.00)。
【0456】
前処理でES=60かつEP=−4であると認識された場合〔図70(G)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(G)ではnの位置〕に再位置付けしてから、MTU30に実動作(実BSP)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=4.60.00)。
【0457】
前処理でES=60かつEP=−3であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−4”に更新する(プロセスID=4.60.10)。
前処理でES=60かつEP=−2であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−3”に更新する(プロセスID=4.60.20)。
【0458】
前処理でES=60かつEP=−1であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−2”に更新する(プロセスID=4.60.30)。
前処理でES=60かつEP=0であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−1”に更新する(プロセスID=4.60.40)。
【0459】
前処理でES=60かつEP=+1であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“0”に更新する(プロセスID=4.60.50)。
【0460】
▲2▼パターン2のBSP処理(図97参照)
図97に示すように、パターン2のBSP処理における前処理および後処理は、図96を参照しながら前述したパターン1のBSP処理時における前処理および後処理とほぼ同じであり、図97に示すプロセスID=4.31.00
〜4.61.50 の処理は、それぞれ、図96に示すプロセスID=4.30.00 〜4.60.50 の処理に対応している。ただし、プロセスID=4.41.10 〜
4.41.40の後処理に際して、RAM46におけるESは“41”に更新されるほか、プロセスID=4.51.00 および 4.61.10〜
4.61.50の後処理に際して、RAM46におけるESは“61”に更新される。
【0461】
▲3▼パターン3のBSP処理(図98参照)
図98に示すように、パターン3のBSP処理における前処理および後処理は、図96を参照しながら前述したパターン1のBSP処理時における前処理および後処理とほぼ同じであり、図98に示すプロセスID=4.22.00 〜4.62.50 の処理は、それぞれ、図96に示すプロセスID=4.20.00 〜4.60.50 の処理に対応している。ただし、プロセスID=4.32.00 の後処理に際して、RAM46におけるESは“22”に更新され、プロセスID=4.42.10 〜 4.42.40の後処理に際して、RAM46におけるESは“42”に更新されるほか、プロセスID=4.52.00 および 4.62.10〜 4.62.50の後処理に際して、RAM46におけるESは“62”に更新される。
【0462】
▲4▼パターン4のBSP処理(図99参照)
図99に示すように、パターン4のBSP処理における前処理および後処理は、図96を参照しながら前述したパターン1のBSP処理時における前処理および後処理とほぼ同じであり、図99に示すプロセスID=4.33.00 〜4.63.50 の処理は、それぞれ、図96に示すプロセスID=4.30.00 〜4.60.50 の処理に対応している。ただし、プロセスID=4.33.00 の後処理に際して、RAM46におけるESは“22”に更新され、プロセスID=4.43.1 0 〜 4.43.40の後処理に際して、RAM46におけるESは“43”に更新されるほか、プロセスID=4.53.00 および 4.63.10〜 4.63.50の後処理に際して、RAM46におけるESは“63”に更新される。
【0463】
〔2−2−5−4〕BSPF(Back Space File)処理
▲1▼パターン1のBSPF処理(図100参照)
I/F変換装置40がBSPFコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ES=00であると認識された場合〔図70(A)参照〕、MTU30に実動作(実BSP)を実行させ、後処理では、RAM46においてES=00のままとする(プロセスID=5.00.00)。
【0464】
前処理でES=10であると認識された場合〔図70(B)参照〕、MTU30に実動作(実BSPF)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=5.10.00)。
前処理でES=20であると認識された場合〔図70(C)参照〕、MTU30に実動作(実BSPF)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=5.20.00)。
【0465】
前処理でES=30であると認識された場合〔図70(D)参照〕、MTU30に実動作(実BSPF)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=5.30.00)。
前処理でES=40かつEP=−4であると認識された場合〔図70(E)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(E)ではnの位置〕に再位置付けしてから、MTU30に実動作(実BSPF)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=5.40.00)。
【0466】
前処理でES=40かつEP=−3であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−4”に更新する(プロセスID=5.40.10)。
前処理でES=40かつEP=−2であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−4”に更新する(プロセスID=5.40.20)。
【0467】
前処理でES=40かつEP=−1であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−4”に更新する(プロセスID=5.40.30)。
前処理でES=40かつEP=0であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−1”に更新する(プロセスID=5.40.4 0)。
【0468】
前処理でES=50であると認識された場合〔図70(F)参照〕、MTU30に実動作(実BSPF)を実行させ、後処理では、バックスペース動作に伴ってTMが検出された場合、そのTMの実BIDと退避領域46eに格納されているSBIDとの差(SBID−実BID)を求め、その差が“1”であることを確認すると、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“60”に更新するとともにEPを“0”に更新する(プロセスID=5.50.00)。
【0469】
前処理でES=60かつEP=−4であると認識された場合〔図70(G)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(G)ではnの位置〕に再位置付けしてから、MTU30に実動作(実BSPF)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=5.60.00)。
【0470】
前処理でES=60かつEP=−3であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−4”に更新する(プロセスID=5.60.10)。
前処理でES=60かつEP=−2であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−4”に更新する(プロセスID=5.60.20)。
【0471】
前処理でES=60かつEP=−1であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−4”に更新する(プロセスID=5.60 .30)。
前処理でES=60かつEP=0であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−1”に更新する(プロセスID=5.60.40)。
【0472】
前処理でES=60かつEP=+1であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“0”に更新する(プロセスID=5.60.50)。
【0473】
▲2▼パターン2のBSPF処理(図101参照)
図101に示すように、パターン2のBSPF処理における前処理および後処理は、図100を参照しながら前述したパターン1のBSPF処理時における前処理および後処理とほぼ同じであり、図101に示すプロセスID=5.31.00 〜5.61.50 の処理は、それぞれ、図100に示すプロセスID=5.30.00 〜5.60.50 の処理に対応している。ただし、プロセスID=5.41.10 〜 5.41.40の後処理に際して、RAM46におけるESは“41”に更新されるほか、プロセスID=5.51.00 および 5.61.10〜 5.61.50の後処理に際して、RAM46におけるESは“61”に更新される。
【0474】
▲3▼パターン3のBSPF処理(図102参照)
図102に示すように、パターン3のBSPF処理における前処理および後処理は、図100を参照しながら前述したパターン1のBSPF処理時における前処理および後処理とほぼ同じであり、図102に示すプロセスID=5.22.00 〜5.62.50 の処理は、それぞれ、図100に示すプロセスID=5.20.00 〜5.60.50 の処理に対応している。ただし、プロセスID=5.42.10 〜 5.42.40の後処理に際して、RAM46におけるESは“42”に更新されるほか、プロセスID=5.52.00 および 5.62.10〜 5.62.50の後処理に際して、RAM46におけるESは“62”に更新される。
【0475】
▲4▼パターン4のBSPF処理(図103参照)
図103に示すように、パターン4のBSPF処理における前処理および後処理は、図100を参照しながら前述したパターン1のBSPF処理時における前処理および後処理とほぼ同じであり、図103に示すプロセスID=5.33.00 〜5.63.50 の処理は、それぞれ、図100に示すプロセスID=5.30.00 〜5.60.50 の処理に対応している。ただし、プロセスID=5.43.10 〜 5.43.40の後処理に際して、RAM46におけるESは“43”に更新されるほか、プロセスID=5.53.00 および 5.63.10〜 5.63.50の後処理に際して、RAM46におけるESは“63”に更新される。
【0476】
〔2−2−5−6〕SP(Forward Space Block)処理
▲1▼パターン1のSP処理(図104参照)
I/F変換装置40がSPコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ES=00であると認識された場合〔図70(A)参照〕、MTU30に実動作(実SP)を実行させる。そして、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がTMであるかそれ以外のものであるかを判断する。そのデータブロックがTMであると判断された場合には、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納するほか、RAM46においてES(制御領域46a)を“10”に更新する(プロセスID=6.00.00)。一方、後処理でデータブロックがTM以外のものであると判断された場合には、RAM46においてES=00のままとする(プロセスID=6.00.01)。
【0477】
前処理でES=10であると認識された場合〔図70(B)参照〕、MTU30に実動作(実SP)を実行させる。そして、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がEOFであるかTMであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、RAM46においてESを“22”に更新する(プロセスID=6.10.00)。後処理でデータブロックがTMであると判断された場合には、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納するほか、RAM46においてES=10のままとする(プロセスID=6.10.01)。一方、後処理でデータブロックがEOFやTM以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=6.10.02)。
【0478】
前処理でES=20であると認識された場合〔図70(C)参照〕、MTU30に実動作(実SP)を実行させる。そして、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がEOFであるかTMであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF2)であると判断された場合には、RAM46においてESを“31”に更新する(プロセスID=6.20 .00)。後処理でデータブロックがTMであると判断された場合には、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納するほか、RAM46においてESを“10”に更新する(プロセスID=6.20.01)。一方、後処理でデータブロックがEOFやTM以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=6.20.02)。
【0479】
前処理でES=30であると認識された場合〔図70(D)参照〕、MTU30に実動作(実SP)を実行させる。そして、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がTMであるかそれ以外のものであるかを判断する。そのデータブロックがTMであると判断された場合には、そのTMの実BIDと退避領域46eに格納されているSBIDとの差(実BID−SBID)を求め、その差が“3”であることを確認すると、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“40”に更新するとともにEPを“00”に更新する(プロセスID=6.30.00)。一方、後処理でデータブロックがEOFやTM以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=6.30.01)。
【0480】
前処理でES=40かつEP=−4であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−3”に更新する(プロセスID=6.40.00)。
前処理でES=40かつEP=−3であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−2”に更新する(プロセスID=6.40.10)。
【0481】
前処理でES=40かつEP=−2であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−1”に更新する(プロセスID=6.40.20)。
前処理でES=40かつEP=−1であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“0”に更新する(プロセスID=6.40.30)。
【0482】
前処理でES=40かつEP=0であると認識された場合〔図70(E)参照〕、MTU30に実動作(実SP)を実行させる。そして、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がEOFであるかTMであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、RAM46においてESを“22”に更新する(プロセスID=6.40.40)。後処理でデータブロックがTMであると判断された場合には、そのTMの実BIDと退避領域46eに格納されているSBIDとの差(実BID−SBID)を求め、その差が“1”であることを確認すると、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“50”に更新する(プロセスID=6.40.41)。一方、後処理でデータブロックがEOFやTM以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=6.40.42)。
【0483】
前処理でES=50であると認識された場合〔図70(F)参照〕、前処理および後処理では、前述したプロセスID=6.10.00, 6.10.01, 6.10.02 の処理とほぼ同様の処理が実行される(プロセスID=6.50.00, 6.50.01, 6.50.02)。ただし、プロセスID=6.50.00 の後処理に際して、RAM46におけるESは“22”に更新される。
【0484】
前処理でES=60かつEP=−4であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−3”に更新する(プロセスID=6.60.00)。
前処理でES=60かつEP=−3であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−2”に更新する(プロセスID=6.60.10)。
【0485】
前処理でES=60かつEP=−2であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−1”に更新する(プロセスID=6.60.20)。
前処理でES=60かつEP=−1であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“0”に更新する(プロセスID=6.60.30)。
【0486】
前処理でES=60かつEP=0であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“+1”に更新する(プロセスID=6.60.40)。
【0487】
前処理でES=60かつEP=+1であると認識された場合〔図70(G)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(G)ではn+5の位置〕に再位置付けしてから、MTU30に実動作(実SP)を実行させる。そして、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がEOFであるかTMであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、RAM46のSBIDに1を加算するとともに、RAM46においてESを“22”に更新する(プロセスID=6.60.50)。後処理でデータブロックがTMであると判断された場合には、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納するほか、RAM46においてESを“10”に更新する(プロセスID=6.60.51)。一方、後処理でデータブロックがEOFやTM以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=6.60.52)。
【0488】
▲2▼パターン2のSP処理(図105参照)
図105に示すように、パターン2のSP処理における前処理および後処理は、図104を参照しながら前述したパターン1のSP処理時における前処理および後処理とほぼ同じであり、図105に示すプロセスID=6.31.00 〜6.61.52 の処理は、それぞれ、図104に示すプロセスID=6.30.00 〜6.60.52 の処理に対応している。
【0489】
ただし、プロセスID=6.31.00, 6.41.00〜 6.41.30の後処理に際して、RAM46におけるESは“41”に更新され、プロセスID=6.41.41 の後処理に際して、RAM46におけるESは“51”に更新されるほか、プロセスID=6.61.00〜 6.61.40の後処理に際して、RAM46におけるESは“61”に更新される。
【0490】
▲3▼パターン3のSP処理(図106参照)
図106に示すように、パターン3のSP処理における前処理および後処理は、図104を参照しながら前述したパターン1のSP処理時における前処理および後処理とほぼ同じであり、図106に示すプロセスID=6.22.00 〜6.62.52 の処理は、それぞれ、図104に示すプロセスID=6.20.00 〜6.60.52 の処理に対応している。
【0491】
ただし、プロセスID=6.42.40, 6.52.00および6.62.50 の後処理に際して、RAM46におけるESは“22”に更新され、プロセスID=6.22.00 の後処理に際して、RAM46におけるESは“33”に更新され、プロセスID=6.32.00, 6.42.00〜 6.42.30の後処理に際して、RAM46におけるESは“42”に更新され、プロセスID=6.42.41 の後処理に際して、RAM46におけるESは“52”に更新されるほか、プロセスID= 6.62.00〜 6.62.40の後処理に際して、RAM46におけるESは“62”に更新される。
【0492】
▲4▼パターン4のSP処理(図107参照)
図107に示すように、パターン4のSP処理における前処理および後処理は、図104を参照しながら前述したパターン1のSP処理時における前処理および後処理とほぼ同じであり、図107に示すプロセスID=6.33.00 〜6.63.52 の処理は、それぞれ、図104に示すプロセスID=6.30.00 〜6.60.52 の処理に対応している。
【0493】
ただし、プロセスID=6.43.40, 6.53.00および6.63.50 の後処理に際して、RAM46におけるESは“22”に更新され、プロセスID=6.33.00, 6.43.00〜 6.43.30の後処理に際して、RAM46におけるESは“43”に更新され、プロセスID=6.43.41 の後処理に際して、RAM46におけるESは“53”に更新されるほか、プロセスID= 6.63.00〜 6.63.40の後処理に際して、RAM46におけるESは“63”に更新される。
【0494】
〔2−2−5−7〕FSPF(Forward Space File) 処理
▲1▼パターン1のFSPF処理(図108参照)
I/F変換装置40がFSPFコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ES=00であると認識された場合〔図70(A)参照〕、MTU30に実動作(実FSPF)を実行させる。そして、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がTMであるかそれ以外のものであるかを判断する。そのデータブロックがTMであると判断された場合には、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納するほか、RAM46においてES(制御領域46a)を“10”に更新する(プロセスID=7.00.00)。一方、後処理でデータブロックがTM以外のものであると判断された場合には、RAM46においてES=00のままとする(プロセスID=7.00.01)。
【0495】
前処理でES=10であると認識された場合〔図70(B)参照〕、MTU30に実動作(実FSPF)を実行させる。そして、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がTMであるかそれ以外のものであるかを判断する。そのデータブロックがTMであると判断された場合には、そのTMの実BIDと退避領域46eに格納されているSBIDとの差(実BID−SBID)を求め、その差が“3”であれば、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“43”に更新するとともにEPを“0”に更新する(プロセスID=7.10.00)。また、上記差が3でなければ、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=7.10.01)。一方、後処理でデータブロックがEOFやTM以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=7.10.02)。
【0496】
前処理でES=20であると認識された場合〔図70(C)参照〕、前処理および後処理では、前述したプロセスID=7.10.00 〜 7 .10.02の後処理とほぼ同様の処理が実行される(プロセスID=7.20.00 〜7.20.02)。ただし、プロセスID=7.20.00 の後処理に際して、RAM46におけるESは“41”に更新される。前処理でES=30であると認識された場合〔図70(D)参照〕も、前処理および後処理では、前述したプロセスID=7.10.00 〜 7.10.02の後処理とほぼ同様の処理が実行される(プロセスID=7.30.00 〜7.30.02)。ただし、プロセスID=7.30.00 の後処理に際して、RAM46におけるESは“40”に更新される。
【0497】
前処理でES=40かつEP=−4であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“−3”に更新する(プロセスID=7.40.00)。
前処理でES=40かつEP=−3であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“0”に更新する(プロセスID=7.40.10)。
【0498】
前処理でES=40かつEP=−2であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“0”に更新する(プロセスID=7.40.20)。
前処理でES=40かつEP=−1であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“0”に更新する(プロセスID=7.40.30)。
【0499】
前処理でES=40かつEP=0であると認識された場合〔図70(E)参照〕、MTU30に実動作(実FSPF)を実行させる。そして、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がTMであるかそれ以外のものであるかを判断する。そのデータブロックがTMであると判断された場合には、そのTMの実BIDと退避領域46eに格納されているSBIDとの差(実BID−SBID)を求め、その差が“3”であれば、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“43”に更新するとともにEPを“0”に更新する(プロセスID=7.40.40)。その差が“1”であれば、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“50”に更新する(プロセスID=7.40.41)。また、上記差が1でも3でもなければ、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=7.40.42)。一方、後処理でデータブロックがTM以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=7.40.43)。
【0500】
前処理でES=50であると認識された場合〔図70(F)参照〕、前処理および後処理では、前述したプロセスID=7.10.00, 7.10.01, 7.10.02 の処理と同様の処理が実行される(プロセスID=7.50.00, 7.50.01, 7.50.02)。
前処理でES=60かつEP=−4であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“−3”に更新する(プロセスID=7.60.00)。
【0501】
前処理でES=60かつEP=−3であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“0”に更新する(プロセスID=7.60.10)。
前処理でES=60かつEP=−2であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“0”に更新する(プロセスID=7.60.20)。
【0502】
前処理でES=60かつEP=−1であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“0”に更新する(プロセスID=7.60.30)。
前処理でES=60かつEP=0であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“+1”に更新する(プロセスID=7.60.40)。
【0503】
前処理でES=60かつEP=+1であると認識された場合〔図70(G)参照〕、前処理および後処理では、前述したプロセスID=7.10.00, 7.10.01, 7.10.02 の処理と同様の処理が実行される(プロセスID=7.60.50, 7.60.51, 7.60.52)。
【0504】
▲2▼パターン2のFSPF処理(図109参照)
図109に示すように、パターン2のFSPF処理における前処理および後処理は、図108を参照しながら前述したパターン1のFSPF処理時における前処理および後処理とほぼ同じであり、図109に示すプロセスID=7.31.00 〜7.61.52 の処理は、それぞれ、図108に示すプロセスID=7.30.00 〜7.60.52 の処理に対応している。ただし、プロセスID=7.31.00, 7.41.00〜 7.41.30の後処理に際して、RAM46におけるESは“41”に更新され、7.41.40, 7.51.00, 7.61.50 の後処理に際して、RAM46におけるESは“43”に更新され、プロセスID=7.41.41 の後処理に際して、RAM46におけるESは“51”に更新されるほか、プロセスID= 7.61.00〜 7.61.40の後処理に際して、RAM46におけるESは“61”に更新される。
【0505】
▲3▼パターン3のFSPF処理(図110参照)
図110に示すように、パターン3のFSPF処理における前処理および後処理は、図108を参照しながら前述したパターン1のFSPF処理時における前処理および後処理とほぼ同じであり、図110に示すプロセスID=7.22.00 〜7.62.52 の処理は、それぞれ、図108に示すプロセスID=7.20.00 〜7.60 .52 の処理に対応している。ただし、プロセスID=7.22.00, 7.52.00の後処理に際して、RAM46におけるESは“43”に更新され、プロセスID= 7.32.00, 7.42.00 〜 7.42.40, 7.62.50 の後処理に際して、RAM46におけるESは“42”に更新され、プロセスID=7.42.41 の後処理に際して、RAM46におけるESは“52”に更新されるほか、プロセスID= 7.62.00〜 7.62.40の後処理に際して、RAM46におけるESは“62”に更新される。
【0506】
▲4▼パターン4のFSPF処理(図111参照)
図111に示すように、パターン4のFSPF処理における前処理および後処理は、図108を参照しながら前述したパターン1のFSPF処理時における前処理および後処理とほぼ同じであり、図111に示すプロセスID=7.33.00 〜7.63.52 の処理は、それぞれ、図108に示すプロセスID=7.30.00 〜7.60.52 の処理に対応している。ただし、プロセスID=7.33.00, 7.43.00〜 7.43.40, 7.53.00 および7.63.50 の後処理に際して、RAM46におけるESは“43”に更新され、プロセスID=7.43.41 の後処理に際して、RAM46におけるESは“53”に更新されるほか、プロセスID= 7.63.00〜 7.63.40の後処理に際して、RAM46におけるESは“63”に更新される。
【0507】
〔2−2−5−8〕WTM(Write Tape Mark)処理
MTU30では、ライト系コマンド(WR,WTM)に応じて書込を行なった場合、書き込んだデータブロックの後にEOD(End Of Data)マークを書き込んでいる。従って、ホスト(CPU20)は、ライト系コマンドを実行した後、そのコマンドによって書き込まれたデータブロックの後ろには、データブロックが無いものと認識している。従って、第2実施形態においても、図112〜図115にて後述するように、ES=00,10,2xの時やES=4xでEP=−4,−3,−2の時やES=6xでEP=−4,−3,−2,−1,+1の時に実ライトテープマーク動作を行なった場合、常に、ESは10に更新される。
【0508】
▲1▼パターン1のWTM処理(図112参照)
I/F変換装置40がWTMコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ES=00であると認識された場合〔図70(A)参照〕、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてES=10のままとする(プロセスID=8.00.00)。
【0509】
前処理でES=10であると認識された場合〔図70(B)参照〕、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”のままとする(プロセスID=8.10.00)。
前処理でES=20であると認識された場合〔図70(C)参照〕、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=8.20.00)。
【0510】
前処理でES=30であると認識された場合〔図70(D)参照〕、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDと退避領域46eに格納されているSBIDとの差(実BID−SBID)を求め、その差が“3”であることを確認すると、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“40”に更新するとともにEPを“0”に更新する(プロセスID=8.30.00)。
【0511】
前処理でES=40かつEP=−4であると認識された場合〔図70(E)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(E)ではnの位置〕に再位置付けしてから、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=8.40.00)。
【0512】
前処理でES=40かつEP=−3であると認識された場合〔図70(E)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(E)ではn+1の位置〕に再位置付けしてから、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=8.40.10)。
【0513】
前処理でES=40かつEP=−2であると認識された場合〔図70(E)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(E)ではn+2の位置〕に再位置付けしてから、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=8.40.20)。
【0514】
前処理でES=40かつEP=−1であると認識された場合〔図70(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“40”に保持したままEPを“0”に更新する(プロセスID=8.40.30)。
【0515】
前処理でES=40かつEP=0であると認識された場合〔図70(E)参照〕、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDと退避領域46eに格納されているSBIDとの差(実BID−SBID)を求め、その差が“1”であることを確認すると、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“50”に更新する(プロセスID=8.40.40)。
【0516】
前処理でES=50であると認識された場合〔図70(F)参照〕、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=8.50.00)。
【0517】
前処理でES=60かつEP=−4であると認識された場合〔図70(G)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(G)ではnの位置〕に再位置付けしてから、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=8.60.00)。
【0518】
前処理でES=60かつEP=−3であると認識された場合〔図70(G)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(G)ではn+1の位置〕に再位置付けしてから、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=8.60.10)。
【0519】
前処理でES=60かつEP=−2であると認識された場合〔図70(G)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(G)ではn+2の位置〕に再位置付けしてから、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=8.60.20)。
【0520】
前処理でES=60かつEP=−1であると認識された場合〔図70(G)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(G)ではn+3の位置〕に再位置付けしてから、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=8.60.30)。
【0521】
前処理でES=60かつEP=0であると認識された場合〔図70(G)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“+1”に更新する(プロセスID=8.60.40)。
【0522】
前処理でES=60かつEP=+1であると認識された場合〔図70(G)参照〕、MTU30においてヘッドを位置SBID+EP〔図70(G)ではn+5の位置〕に再位置付けしてから、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=8.60.50)。
【0523】
▲2▼パターン2のWTM処理(図113参照)
図113に示すように、パターン2のWTM処理における前処理および後処理は、図112を参照しながら前述したパターン1のWTM処理時における前処理および後処理とほぼ同じであり、図113に示すプロセスID=8.31.00 〜8.61.50 の処理は、それぞれ、図112に示すプロセスID=8.30.00 〜8.60.50 の処理に対応している。
【0524】
ただし、プロセスID=8.31.00, 8.41.00, 8.41.30 の後処理に際して、RAM46におけるESは“41”に更新され、プロセスID=8.41.40 の後処理に際して、RAM46におけるESは“51”に更新されるほか、プロセスID=8.61.00, 8.61.3 0, 8.61.40の後処理に際して、RAM46におけるESは“61”に更新される。
【0525】
▲3▼パターン3のWTM処理(図114参照)
図114に示すように、パターン3のWTM処理における前処理および後処理は、図112を参照しながら前述したパターン1のWTM処理時における前処理および後処理とほぼ同じであり、図114に示すプロセスID=8.22.00 〜8.62.50 の処理は、それぞれ、図112に示すプロセスID=8.20.00 〜8.60.50 の処理に対応している。
【0526】
ただし、プロセスID=8.32.00, 8.42.00, 8.42.30 の後処理に際して、RAM46におけるESは“42”に更新され、プロセスID=8.42.40 の後処理に際して、RAM46におけるESは“52”に更新されるほか、プロセスID=8.62.00, 8.62.30, 8.62.40の後処理に際して、RAM46におけるESは“62”に更新される。
【0527】
▲4▼パターン4のWTM処理(図115参照)
図115に示すように、パターン4のWTM処理における前処理および後処理は、図112を参照しながら前述したパターン1のWTM処理時における前処理および後処理とほぼ同じであり、図115に示すプロセスID=8.33.00 〜8.63.50 の処理は、それぞれ、図112に示すプロセスID=8.30.00 〜8.60.50 の処理に対応している。
【0528】
ただし、プロセスID=8.33.00, 8.43.00, 8.43.30 の後処理に際して、RAM46におけるESは“43”に更新され、プロセスID=8.43.40 の後処理に際して、RAM46におけるESは“53”に更新されるほか、プロセスID=8.6 3.00, 8.63.30, 8.63.40の後処理に際して、RAM46におけるESは“63”に更新される。
【0529】
〔2−3〕具体的なエミュレーション実行例
次に、図83〜図115を参照しながら前述した処理(プロセスID=1.00.00 〜8.63.50 の処理を含む)をI/F変換装置40(制御部42)の制御処理に適用することにより実行される、エミュレーションの具体的な例について、図116〜図174を参照しながら説明する。
【0530】
〔2−3−1〕エミュレーション実行例1
図116(A)および図116(B)は、いずれも、磁気テープMTにおけるデータ書込状態を示すとともに、マルチファイルの書き足し処理を行なう際にCPU20から発行される命令の一例と、各命令に応じた第2実施形態のMTU30でのテープ動作/エミュレーション動作とについて説明するための図である。これらの図116(A)および図116(B)に示された、磁気テープMTにおけるデータ書込状態や、CPU20から発行される命令や、MTU30でのテープ動作(矢印)は、第1実施形態において図22(A)および図22(B)を参照しながら前述したものと同じであるので、その説明は省略する。ただし、図116(A)および図116(B)に示す例における、EOF1およびEOF2の識別パターンは、図69および図70(A)〜図70(G)を参照しながら説明したパターン1となっている。
【0531】
図116(A)および図116(B)に示すオープン処理〔(8) 〜(22)参照〕を行なう際に、第2実施形態の方法を用いることによっても、I/F変換装置40(制御部42)は、第1実施形態の場合と同様、図中、点線で囲んだコマンド処理(8) 〜(19)をエミュレートすることになり、その間、図116(A)に示すごとくヘッドHを最後の2本のテープマークTM−b,TM−cの間に停止させた状態で、メカニカルな動作を行なわない。このとき、第2実施形態では、(11)のRDコマンドのエミュレーション時に、RAM46の退避領域(SDT1)46cに退避されていたEOF1が読み出されデータバッファ45を介してCPU20へ転送される。
【0532】
以下に、図116(A)および図116(B)に示す各コマンド処理(1) 〜(24)について、図117〜図140を参照しながら詳細に説明する。
ここで、図117(A)〜図140(A)には、それぞれ、コマンド処理(1) 〜(24)を実行した時の、磁気テープMTにおけるデータブロック書込状態,実ヘッド位置(実BID)および仮想ヘッド位置(EP)を示し、図117(B)〜図140(B)には、それぞれ、コマンド処理(1) 〜(24)を実行した時の、RAM46におけるデータ退避/格納状態を示す。
【0533】
(1) WR処理
図117(A)では、I/F変換装置40が、図116(A)に示す(1) のWRコマンドをCPU20から受け、ユーザデータの書込を完了してファイルのクローズ処理に移行する直前となった状態が示されている。実ヘッド位置(実BID)はNとなっている。このとき、図117(B)に示すように、RAM46の制御領域46aにおけるESは初期状態(ES=00)を示している。なお、RAM46の制御領域(EP)46bおよび退避領域46c〜46eは不定状態を示している。
【0534】
(2) WTM処理
図118(A)では、I/F変換装置40が、図116(A)に示す(2) のWTMコマンドをCPU20から受け、プロセスID=8.00.00 の処理を実行することにより、テープマークTM−aの書込を完了して実ヘッド位置(実BID)がN+1となった状態が示されている。このとき、図118(B)に示すように、制御領域46aにはESとして“10”が保持されるとともに、退避領域46eにはSBIDとして“N+1”が格納される。
【0535】
(3) WR処理(EOF1書込処理)
図119(A)では、I/F変換装置40が、図116(A)に示す(3) のWRコマンド(EOF1の書込指示)をCPU20から受け、プロセスID=3.10.00 の処理を実行することにより、EOF1の書込を完了して実ヘッド位置(実BID)がN+2となった状態が示されている。このとき、図119(B)に示すように、制御領域46aにはESとして“20”が保持されるとともに、退避領域(SDT1)46cにはEOF1が格納される。以降、EOF1は退避領域46cに保持される。
【0536】
(4) WR処理(EOF2書込処理)
図120(A)では、I/F変換装置40が、図116(A)に示す(4) のWRコマンド(EOF2の書込指示)をCPU20から受け、プロセスID=3.20.00 の処理を実行することにより、EOF2の書込を完了して実ヘッド位置(実BID)がN+3となった状態が示されている。このとき、図120(B)に示すように、制御領域46aにはESとして“30”が保持されるとともに、退避領域(SDT2)46eにはEOF2が格納される。以降、EOF2は退避領域46dに保持される。
【0537】
(5) WTM処理
図121(A)では、I/F変換装置40が、図116(A)に示す(5) のWTMコマンドをCPU20から受け、プロセスID=8.30.00 の処理を実行することにより、テープマークTM−bの書込を完了して実ヘッド位置(実BID)がN+4となった状態が示されている。このとき、実BIDとSBIDとの差(実BID−SBID)が“3”であることをチェックした上で、図121(B)に示すように、退避領域にSBIDとして“N+4”を格納する。また、図121(B)に示すように、制御領域46aにはESとして“40”が保持されるとともに、制御領域46bにはEPとして“0”が保持される。
【0538】
(6) WTM処理
図122(A)では、I/F変換装置40が、図116(A)に示す(6) のWTMコマンドをCPU20から受け、プロセスID=8.40.40 の処理を実行することにより、テープマークTM−cの書込を完了して実ヘッド位置(実BID)がN+5となった状態が示されている。このとき、実BIDとSBIDとの差(実BID−SBID)が“1”であることをチェックした上で、図122(B)に示すように、退避領域にSBIDとして“N+5”を格納する。また、図122(B)に示すように、制御領域46aにはESとして“50”が保持される。
【0539】
(7) BSPF処理
図123(A)では、I/F変換装置40が、図116(A)に示す( 7) のBSPFコマンドをCPU20から受け、プロセスID=5.50.00 の処理を実行することにより、バックスペース動作を完了して実ヘッド位置(実BID)がN+4となった状態が示されている。このとき、実BIDとSBIDとの差(SBID−実BID)が“1”であることをチェックした上で、図123(B)に示すように、退避領域にSBIDとして“N+4”を格納する。また、図123(B)に示すように、制御領域46aにはESとして“60”が保持されるとともに、制御領域46bにはEPとして“0”が保持される。
【0540】
(8) BSPF処理
図124(A)では、I/F変換装置40が、図116(A)に示す(8) のBSPFコマンドをCPU20から受け、プロセスID=5.60.40 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図124(B)に示すように、制御領域46aにはESとして“60”が保持されるとともに、制御領域46bにはEPとして“−1”が保持される。
【0541】
(9) BSPF処理
図125(A)では、I/F変換装置40が、図116(A)に示す(9) のBSPFコマンドをCPU20から受け、プロセスID=5.60.30 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図125(B)に示すように、制御領域46aにはESとして“60”が保持されるとともに、制御領域46bにはEPとして“−4”が保持される。
【0542】
(10)FSPF処理
図126(A)では、I/F変換装置40が、図116(A)に示す(10)のFSPFコマンドをCPU20から受け、プロセスID=7.60.00
の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図126(B)に示すように、制御領域46aにはESとして“60”が保持されるとともに、制御領域46bにはEPとして“−3”が保持される。
【0543】
(11)RD処理
図127(A)では、I/F変換装置40が、図116(A)に示す(11)のRDコマンドをCPU20から受け、プロセスID=1.60.10 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図127(B)に示すように、制御領域46aにはESとして“60”が保持されるとともに、制御領域46bにはEPとして“−2”が保持される。エミュレーション実行時に、退避領域46cの内容EOF1がデータバッファ45にリストアされCPU20へ転送される。
【0544】
(12)FSPF処理
図128(A)では、I/F変換装置40が、図116(A)に示す(12)のFSPFコマンドをCPU20から受け、プロセスID=7.60.20 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図128(B)に示すように、制御領域46aにはESとして“60”が保持されるとともに、制御領域46bにはEPとして“0”が保持される。
【0545】
(13)RD処理
図129(A)では、I/F変換装置40が、図116(A)に示す(13)のRDコマンドをCPU20から受け、プロセスID=1.60.40 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図129(B)に示すように、制御領域46aにはESとして“60”が保持されるとともに、制御領域46bにはEPとして“+1”が保持される。エミュレーション実行時には、テープマーク検出(Unit Exception)がCPU20に対して報告される。
【0546】
(14)BSPF処理
図130(A)では、I/F変換装置40が、図116(A)に示す(14)のBSPFコマンドをCPU20から受け、プロセスID=5.60.50 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図130(B)に示すように、制御領域46aにはESとして“60”が保持されるとともに、制御領域46bにはEPとして“0”が保持される。
【0547】
(15)BSPF処理
図131(A)では、I/F変換装置40が、図116(A)に示す(15)のBSPFコマンドをCPU20から受け、プロセスID=5.60.40 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図131(B)に示すように、制御領域46aにはESとして“60”が保持されるとともに、制御領域46bにはEPとして“−1”が保持される。
【0548】
(16)BSPF処理
図132(A)では、コマンド処理(9) と同様、I/F変換装置40が、図116(A)に示す(16)のBSPFコマンドをCPU20から受け、プロセスID=5.60.30 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図132(B)に示すように、制御領域46aにはESとして“60”が保持されるとともに、制御領域46bにはEPとして“−4”が保持される。
【0549】
(17)FSPF処理
図133(A)では、コマンド処理(10)と同様、I/F変換装置40が、図116(B)に示す(17)のFSPFコマンドをCPU20から受け、プロセスID=7.60.00 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図133(B)に示すように、制御領域46aにはESとして“60”が保持されるとともに、制御領域46bにはEPとして“−3”が保持される。
【0550】
(18)RD処理
図134(A)では、コマンド処理(11)と同様、I/F変換装置40が、図116(B)に示す(18)のRDコマンドをCPU20から受け、プロセスID=1.60.10 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図134(B)に示すように、制御領域46aにはESとして“60”が保持されるとともに、制御領域46bにはEPとして“−2”が保持される。エミュレーション実行時には、再度、退避領域46cの内容EOF1がデータバッファ45にリストアされCPU20へ転送される。
【0551】
(19)FSPF処理
図135(A)では、コマンド処理(12)と同様、I/F変換装置40が、図116(B)に示す(19)のFSPFコマンドをCPU20から受け、プロセスID=7.60.20 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図135(B)に示すように、制御領域46aにはESとして“60”が保持されるとともに、制御領域46bにはEPとして“0”が保持される。
【0552】
(20)WR処理(HDR1書込処理)
図136(A)では、I/F変換装置40が、図116(B)に示す(20)のWRコマンド(HDR1の書込指示)をCPU20から受け、プロセスID=3.60.41の処理を実行することにより、HDR1の書込を完了して実ヘッド位置(実BID)がN+5となった状態が示されている。このとき、図136(B)に示すように、制御領域46aにはESとして“00”が保持される一方、制御領域46bおよび退避領域46c〜46eは不定状態となる。
【0553】
(21)WR処理(HDR2書込処理)
図137(A)では、I/F変換装置40が、図116(B)に示す(21)のWRコマンド(HDR2の書込指示)をCPU20から受け、プロセスID=3.00.00の処理を実行することにより、HDR2の書込を完了して実ヘッド位置(実BID)がN+6となった状態が示されている。このとき、図137(B)に示すように、制御領域46aにはESとして“00”が保持される一方、制御領域46bおよび退避領域46c〜46eは不定状態となる。
【0554】
(22)WTM処理
図138(A)では、I/F変換装置40が、図116(B)に示す(22)のWTMコマンドをCPU20から受け、プロセスID=8.00.00 の処理を実行することにより、テープマークTM−dの書込を完了して実ヘッド位置(実BID)がN+7となった状態が示されている。このとき、図138(B)に示すように、制御領域46aにはESとして“10”が保持されるとともに、制御領域46bにはSBIDとして“N+1”が保持される。
【0555】
(23)WR処理
図139(A)では、I/F変換装置40が、図116(B)に示す(21)のWRコマンド(データ2の書込指示)をCPU20から受け、プロセスID=3.10.01の処理を実行することにより、データ2の書込を完了して実ヘッド位置(実BID)がN+8となった状態が示されている。このとき、図139(B)に示すように、制御領域46aにはESとして“00”が保持される一方、制御領域46bおよび退避領域46c〜46eは不定状態となる。
【0556】
(24)WR処理
図140(A)では、I/F変換装置40が、図116(B)に示す(24)のWRコマンド(データ2の書込指示)をCPU20から受け、プロセスID=3.00.00の処理を実行することにより、データ2の書込を完了して実ヘッド位置(実BID)がN+9となった状態が示されている。このとき、図140(B)に示すように、制御領域46aにはESとして“00”が保持される一方、制御領域46bおよび退避領域46c〜46eは不定状態となる。
【0557】
〔2−3−2〕エミュレーション実行例2
図141は、磁気テープMTにおけるデータ書込状態を示すとともに、連続する2つのファイルからデータを読み出す際にCPU20から発行される命令の一例と、各命令に応じた第2実施形態のMTU30でのテープ動作/エミュレーション動作とについて説明するための図である。この図141に示された、磁気テープMTにおけるデータ書込状態や、CPU20から発行される命令や、MTU30でのテープ動作(矢印)は、図47を参照しながら前述したものと同じであるので、その説明は省略する。ただし、図116(A)および図116(B)に示す例における、EOF1およびEOF2の識別パターンは、図69(D)および図72(A)〜図72(G)を参照しながら説明したパターン4となっている。
【0558】
図141に示すオープン処理〔(4) 〜(11)参照〕を行なう際に、第2実施形態の方法を用いることにより、I/F変換装置40(制御部42)は、図中、点線で囲んだコマンド処理(4) 〜(6) をエミュレートすることになり、その間、図141に示すごとくヘッドHを2つ目のファイルの先頭位置(TM−bとHDR1との間)に停止させた状態でメカニカルな動作を行なわない。
【0559】
このとき、第2実施形態では、オープン処理時にEOF1およびEOF2がRAM46の退避領域46c,46dに格納されていないため、第1実施形態ではエミュレートされていた(7) のRDコマンド処理および(8) のFSPFコマンド処理が、第2実施形態ではエミュレートされることなく、MTU30の実動作として実行されることになる。従って、(7) のRDコマンドに応じたMTU30の実動作により読み出されたEOF1がデータバッファ45を介してCPU20へ転送される。
【0560】
以下に、図141に示す各コマンド処理(1) 〜(13)について、図142〜図154を参照しながら詳細に説明する。
ここで、図142(A)〜図154(A)には、それぞれ、コマンド処理(1) 〜(13)を実行した時の、磁気テープMTにおけるデータブロック書込状態,実ヘッド位置(実BID)および仮想ヘッド位置(EP)を示し、図142(B)〜図154(B)には、それぞれ、コマンド処理(1) 〜(13)を実行した時の、RAM46におけるデータ退避/格納状態を示す。
【0561】
(1) RD処理
図142(A)では、I/F変換装置40が、図141に示す(1) のRDコマンドをCPU20から受け、プロセスID=1.00.01 の処理を実行することにより、1つ目のファイルの最終データブロック(データ1)の読出を完了してファイルのクローズ処理に移行する直前となった状態が示されている。実ヘッド位置(実BID)はNとなっている。このとき、図142(B)に示すように、RAM46の制御領域46aにおけるESは初期状態(ES=00)を示している。なお、RAM46の制御領域(EP)46bおよび退避領域46c〜46eは不定状態を示している。
【0562】
(2) FSPF処理
図143(A)では、I/F変換装置40が、図141に示す(2) のFSPFコマンドをCPU20から受け、プロセスID=7.00.00 の処理を実行することにより、フォワードスペース動作を完了して実ヘッド位置(実BID)がN+1となった状態が示されている。このとき、図143(B)に示すように、制御領域46aにはESとして“10”が保持されるとともに、退避領域46eにはSBIDとして“N+1”が保持される。
【0563】
(3) FSPF処理
図144(A)では、I/F変換装置40が、図141に示す(3) のFSPFコマンドをCPU20から受け、プロセスID=7.10.00 の処理を実行することにより、MTU30でフォワードスペース動作を完了して実ヘッド位置(実BID)がN+1からN+4となった状態が示されている。このとき、第2実施形態では、MTU30でEOF1およびEOF2はスキップされ、これらのEOF1およびEOF2の実体をI/F変換装置40に取り込むことはできない。また、実BIDとSBIDとの差(実BID−SBID)が“3”であることをチェックした上で、図144(B)に示すように、退避領域46eにはSBIDとして“N+4”を格納する。また、図144(B)に示すように、制御領域46aにはESとして“43”が保持されるとともに、制御領域46bにはEPとして“0”が保持される。
【0564】
(4) BSPF処理
図145(A)では、I/F変換装置40が、図141に示す(4) のBSPFコマンドをCPU20から受け、プロセスID=5.43.40 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図145(B)に示すように、制御領域46aにはESとして“43”が保持されるとともに、制御領域46bにはEPとして“−1”が保持される。
【0565】
(5) BSPF処理
図146(A)では、I/F変換装置40が、図141に示す(5) のBSPFコマンドをCPU20から受け、プロセスID=5.43.30 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図146(B)に示すように、制御領域46aにはESとして“43”が保持されるとともに、制御領域46bにはEPとして“−4”が保持される。
【0566】
(6) FSPF処理
図147(A)では、I/F変換装置40が、図141に示す(6) のFSPFコマンドをCPU20から受け、プロセスID=7.43.00 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図147(B)に示すように、制御領域46aにはESとして“43”が保持されるとともに、制御領域46bにはEPとして“−3”が保持される。
【0567】
(7) RD処理
図148(A)では、I/F変換装置40が、図141に示す(7) のRDコマンドをCPU20から受け、プロセスID=1.43.10 の処理を実行することにより、MTU30において再位置付け処理を実行させた後に実動作(実RD動作)を実行させ、データブロック(EOF1)を読み込む。ここで、再位置付け処理では、MTU30のヘッドを実BID〔=SBID+EP=(N+4)+(−3)=N+1〕に位置付ける。この後、実動作を行なうことにより、実ヘッド位置(実BID)はN+2となる。このとき、図148(B)に示すように、制御領域46aにはESとして“20”が保持されるほか、退避領域46eにおけるSBIDの値が更新される(SBID−3=N+1)。また、MTU30で読み取られたデータブロック(EOF1)は、退避領域(SDT1)46cに格納された後、データバッファ45に格納されてCPU20へ転送される。なお、この時点で、EOFの識別パターンは、図69(B)や図71(A)〜図71(G)を参照しながら説明したパターン2となる。
【0568】
(8) FSPF処理
図149(A)では、I/F変換装置40が、図141に示す(8) のFSPFコマンドをCPU20から受け、プロセスID=7.20.00 の処理を実行することにより、MTU30において実FSPF動作を完了して実ヘッド位置(実BID)がN+1となった状態が示されている。このとき、実BIDとSBIDとの差(実BID−SBID)が“3”であることをチェックした上で、図121(B)に示すように、退避領域にSBIDとして“N+4”を格納する。また、図149(B)に示すように、制御領域46aにはESとして“41”が保持されるとともに、制御領域46bにはEPとして“0”が保持される。
【0569】
(9) RD処理
図150(A)では、I/F変換装置40が、図141に示す(9) のRDコマンドをCPU20から受け、プロセスID=1.41.42 の処理を実行することにより、HDR1の読出を完了して実ヘッド位置(実BID)がN+5となった状態が示されている。このとき、図150(B)に示すように、制御領域46aにはESとして“00”が保持される一方、制御領域46bおよび退避領域46c〜46eは不定状態となる。
【0570】
(10)RD処理
図151(A)では、I/F変換装置40が、図141に示す(10)のRDコマンドをCPU20から受け、プロセスID=1.00.01 の処理を実行することにより、HDR2の読出を完了して実ヘッド位置(実BID)がN+6となった状態が示されている。このとき、図151(B)に示すように、制御領域46aにはESとして“00”が保持される一方、制御領域46bおよび退避領域46c〜46eは不定状態となる。
【0571】
(11)FSPF処理
図152(A)では、I/F変換装置40が、図141に示す(11)のFSPFコマンドをCPU20から受け、プロセスID=7.00.00 の処理を実行することにより、フォワードスペース動作を完了して実ヘッド位置(実BID)がN+7となった状態が示されている。このとき、図152(B)に示すように、制御領域46aにはESとして“10”が保持されるとともに、退避領域46eにはSBIDとして“N+7”が保持される。
【0572】
(12)RD処理
図153(A)では、I/F変換装置40が、図141に示す(12)のRDコマンドをCPU20から受け、プロセスID=1.10.02 の処理を実行することにより、データ2の読出を完了して実ヘッド位置(実BID)がN+8となった状態が示されている。このとき、図153(B)に示すように、制御領域46aにはESとして“00”が保持される一方、制御領域46bおよび退避領域46c〜46eは不定状態となる。
【0573】
(13)RD処理
図154(A)では、I/F変換装置40が、図141に示す(13)のRDコマンドをCPU20から受け、プロセスID=1.00.01 の処理を実行することにより、データ2の読出を完了して実ヘッド位置(実BID)がN+9となった状態が示されている。このとき、図154(B)に示すように、制御領域46aにはESとして“00”が保持される一方、制御領域46bおよび退避領域46c〜46eは不定状態となる。
【0574】
〔2−3−3〕エミュレーション実行例3
図155(A)および図155(B)は、いずれも、磁気テープMTにおけるデータ書込状態を示すとともに、マルチファイルの書き足し処理を行なう際にCPU20から発行される命令の他例と、各命令に応じた第2実施形態のMTU30でのテープ動作/エミュレーション動作とについて説明するための図である。これらの図155(A)および図155(B)に示された、磁気テープMTにおけるデータ書込状態や、CPU20から発行される命令や、MTU30でのテープ動作(矢印)は、図61(A)および図61(B)を参照しながら前述したものと同じであるので、その説明は省略する。ただし、図155(A)および図155(B)に示す例における、EOF1およびEOF2の識別パターンは、図69(A)および図70(A)〜図70(G)を参照しながら説明したパターン1となっている。
【0575】
図155(A)および図155(B)に示すオープン処理〔(8) 〜(17)参照〕を行なう際に、第2実施形態の方法を用いることにより、I/F変換装置40(制御部42)は、図中、点線で囲んだコマンド処理(8) 〜(14)をエミュレートすることになり、その間、図155(A)に示すごとくヘッドHを最後の2本のテープマークTM−b,TM−cの間に停止させた状態で、メカニカルな動作を行なわない。このとき、第2実施形態では、(11)のRDコマンドのエミュレーション時に、RAM46の退避領域(SDT1)46cに退避されていたEOF1が読み出されデータバッファ45を介してCPU20へ転送される。
【0576】
なお、図155(A)におけるコマンド処理(1) 〜(14)は、図116(A)や図117〜図130を参照しながら前述したコマンド処理(1) 〜(14)と同じであり、図155(B)におけるコマンド処理(15)〜(19)は、図116(B)や図136〜図140を参照しながら前述したコマンド処理(20)〜(24)と同じであるので、その説明は省略する。
【0577】
〔2−3−4〕エミュレーション実行例4
図156は、磁気テープMTにおけるデータ書込状態を示すとともに、連続する2つのファイルからデータを読み出す際にCPU20から発行される命令の他例と、各命令に応じた第2実施形態のMTU30でのテープ動作/エミュレーション動作とについて説明するための図である。この図156に示された、磁気テープMTにおけるデータ書込状態や、CPU20から発行される命令や、MTU30でのテープ動作(矢印)は、図62を参照しながら前述したものと同じであるので、その説明は省略する。ただし、図156に示す例における、EOF1およびEOF2の識別パターンは、図69(B)および図71(A)〜図71(G)を参照しながら説明したパターン2となっている。
【0578】
図62に示すオープン処理〔(4) 〜(18)参照〕を行なう際に、第2実施形態の方法を用いることにより、I/F変換装置40(制御部42)は、図中、点線で囲んだコマンド処理(4) 〜(8) および(11)〜(15)をエミュレートすることになり、その間、図62に示すごとくヘッドHを2つ目のファイルの先頭位置(TM−bとHDR1との間)に停止させた状態でメカニカルな動作を行なわない。
【0579】
このとき、第2実施形態では、オープン処理時にEOF1だけがRAM46の退避領域46cに格納されているため、第1実施形態ではエミュレートされていた(9) のRDコマンド処理および(10)のFSPFコマンド処理が、第2実施形態ではエミュレートされることなく、MTU30の実動作として実行されることになる。従って、(9) のRDコマンドに応じたMTU30の実動作により読み出されたEOF2がデータバッファ45を介してCPU20へ転送される。
【0580】
以下に、図156に示す各コマンド処理(1) 〜(20)について、図157〜図172を参照しながら詳細に説明する。
ここで、図157(A)〜図172(A)には、それぞれ、コマンド処理(1) 〜(16)を実行した時の、磁気テープMTにおけるデータブロック書込状態,実ヘッド位置(実BID)および仮想ヘッド位置(EP)を示し、図157(B)〜図172(B)には、それぞれ、コマンド処理(1) 〜(16)を実行した時の、RAM46におけるデータ退避/格納状態を示す。
【0581】
(1) RD処理
図157(A)では、I/F変換装置40が、図156に示す(1) のRDコマンドをCPU20から受け、プロセスID=1.00.01 の処理を実行することにより、1つ目のファイルの最終データブロック(データ1)の読出を完了してファイルのクローズ処理に移行する直前となった状態が示されている。実ヘッド位置(実BID)はNとなっている。このとき、図157(B)に示すように、RAM46の制御領域46aにおけるESは初期状態(ES=00)を示している。なお、RAM46の制御領域(EP)46bおよび退避領域46c〜46eは不定状態を示している。
【0582】
(2) RD処理
図158(A)では、I/F変換装置40が、図156に示す(2) のRDコマンドをCPU20から受け、プロセスID=1.00.00 の処理を実行することにより、テープマークTM−aを検出して実ヘッド位置(実BID)がN+1となった状態が示されている。このとき、CPU20に対してTM検出(Unit Exception)が報告されるほか、図158(B)に示すように、制御領域46aにはESとして“10”が保持されるとともに、退避領域46eにはSBIDとして“N+1”が保持される。
【0583】
(3) RD処理
図159(A)では、I/F変換装置40が、図156に示す(3) のRDコマンドをCPU20から受け、プロセスID=1.10.00 の処理を実行することにより、EOF1の読出を完了して実ヘッド位置(実BID)がN+2となった状態が示されている。このとき、図159(B)に示すように、制御領域46aにはESとして“20”が保持されるとともに、退避領域(SDT1)46cにはEOF1が格納される。以降、EOF1は退避領域46cに保持される。
【0584】
(4) FSPF処理
図160(A)では、I/F変換装置40が、図156に示す(4) のFSPFコマンドをCPU20から受け、プロセスID=7.20.00 の処理を実行することにより、MTU30でフォワードスペース動作を完了して実ヘッド位置(実BID)がN+1からN+4となった状態が示されている。このとき、第2実施形態では、MTU30でEOF2はスキップされ、このEOF2の実体をI/F変換装置40に取り込むことはできない。また、実BIDとSBIDとの差(実BID−SBID)が“3”であることをチェックした上で、図160(B)に示すように、退避領域46eにはSBIDとして“N+4”を格納する。また、図160(B)に示すように、制御領域46aにはESとして“41”が保持されるとともに、制御領域46bにはEPとして“0”が保持される。
【0585】
(5) BSPF処理
図161(A)では、I/F変換装置40が、図156に示す(5) のBSPFコマンドをCPU20から受け、プロセスID=5.41.40 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図161(B)に示すように、制御領域46aにはESとして“41”が保持されるとともに、制御領域46bにはEPとして“−1”が保持される。
【0586】
(6) BSPF処理
図162(A)では、I/F変換装置40が、図156に示す(6) のBSPFコマンドをCPU20から受け、プロセスID=5.41.30 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図162(B)に示すように、制御領域46aにはESとして“41”が保持されるとともに、制御領域46bにはEPとして“−4”が保持される。
【0587】
(7) FSPF処理
図163(A)では、I/F変換装置40が、図156に示す(7) のFSPFコマンドをCPU20から受け、プロセスID=7.41.00 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図163(B)に示すように、制御領域46aにはESとして“41”が保持されるとともに、制御領域46bにはEPとして“−3”が保持される。
【0588】
(8)SP処理
図164(A)では、I/F変換装置40が、図156に示す(8) のSPコマンドをCPU20から受け、プロセスID=6.41.10 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図164(B)に示すように、制御領域46aにはESとして“41”が保持されるとともに、制御領域46bにはEPとして“−2”が保持される。
【0589】
(9) RD処理
図165(A)では、I/F変換装置40が、図156に示す(9) のRDコマンドをCPU20から受け、プロセスID=1.41.20 の処理を実行することにより、MTU30において再位置付け処理を実行させた後に実動作(実RD動作)を実行させ、データブロック(EOF2)を読み込む。ここで、再位置付け処理では、MTU30のヘッドを実BID〔=SBID+EP=(N+4)+(−2)=N+2〕に位置付ける。この後、実動作を行なうことにより、実ヘッド位置(実BID)はN+3となる。このとき、図165(B)に示すように、制御領域46aにはESとして“30”が保持されるほか、退避領域46eにおけるSBIDの値が更新される(SBID−3=N+1)。また、MTU30で読み取られたデータブロック(EOF2)は、退避領域(SDT2)46dに格納された後、データバッファ45に格納されてCPU20へ転送される。なお、この時点で、EOFの識別パターンは、図69(A)や図70(A)〜図70(G)を参照しながら説明したパターン1となる。
【0590】
(10)FSPF処理
図166(A)では、I/F変換装置40が、図156に示す(1 0)のFSPFコマンドをCPU20から受け、プロセスID=7.30.00 の処理を実行することにより、MTU30において実FSPF動作を完了して実ヘッド位置(実BID)がN+4となった状態が示されている。このとき、実BIDとSBIDとの差(実BID−SBID)が“3”であることをチェックした上で、図166(B)に示すように、退避領域にSBIDとして“N+4”を格納する。また、図166(B)に示すように、制御領域46aにはESとして“40”が保持されるとともに、制御領域46bにはEPとして“0”が保持される。
【0591】
(11)BSPF処理
図167(A)では、I/F変換装置40が、図156に示す(11)のBSPFコマンドをCPU20から受け、プロセスID=5.40.40 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図167(B)に示すように、制御領域46aにはESとして“40”が保持されるとともに、制御領域46bにはEPとして“−1”が保持される。
【0592】
(12)BSPF処理
図168(A)では、I/F変換装置40が、図156に示す(12)のBSPFコマンドをCPU20から受け、プロセスID=5.40.30 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図162(B)に示すように、制御領域46aにはESとして“40”が保持されるとともに、制御領域46bにはEPとして“−4”が保持される。
【0593】
(13)FSPF処理
図169(A)では、I/F変換装置40が、図156に示す(13)のFSPFコマンドをCPU20から受け、プロセスID=7.40.00 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図169(B)に示すように、制御領域46aにはESとして“40”が保持されるとともに、制御領域46bにはEPとして“−3”が保持される。
【0594】
(14)RD処理
図170(A)では、I/F変換装置40が、図156に示す(14)のRDコマンドをCPU20から受け、プロセスID=1.40.10 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図170(B)に示すように、制御領域46aにはESとして“40”が保持されるとともに、制御領域46bにはEPとして“−2”が保持される。エミュレーション実行時には、再度、退避領域46cの内容EOF1がデータバッファ45にリストアされCPU20へ転送される。
【0595】
(15)FSPF処理
図171(A)では、I/F変換装置40が、図156に示す(15)のFSPFコマンドをCPU20から受け、プロセスID=7.40.20 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図171(B)に示すように、制御領域46aにはESとして“40”が保持されるとともに、制御領域46bにはEPとして“0”が保持される。
【0596】
(16)RD処理
図172(A)では、I/F変換装置40が、図156に示す(16)のRDコマンドをCPU20から受け、プロセスID=1.40.42 の処理を実行することにより、HDR1の読出を完了して実ヘッド位置(実BID)がN+5となった状態が示されている。このとき、図172(B)に示すように、制御領域46aにはESとして“00”が保持される一方、制御領域46bおよび退避領域46c〜46eは不定状態となる。
なお、図156におけるコマンド処理(18)〜(20)は、図141や図152〜図154を参照しながら前述したコマンド処理(11)〜(13)と同じであるので、その説明は省略する。
【0597】
〔2−3−5〕性能比較(コマンド処理時間比較)
図116(A)および図116(B)に示すようにマルチファイルの書き足し処理を行なう際に、第2実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間は、図63に示した第1実施形態のコマンド処理時間と同じであり、この図63に示すように、エミュレーションを行なわない場合の全コマンド処理時間が、9.111926秒であるのに対し、エミュレーションを行なった場合の全コマンド処理時間は、2.734931秒となり、大幅に短縮される。
【0598】
図173は、図141に示すように連続する2つのファイルからデータを読み出す際に、第2実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【0599】
この図173でも、各コマンド処理に要する時間が、エミュレーションを行なわない場合とエミュレーションを行なった場合とで対比して示されている。また、図173においては、図141に示したコマンド処理(1) 〜(13)にそれぞれ対応するコマンドの備考欄には、その括弧付き数字が記入されている。なお、備考欄に括弧付き数字が記入されていないコマンドは、MTU30のテープ動作に関係のないもので、そのコマンドに応じた処理をMTC10内で完了するものである。
【0600】
図173に示すように、エミュレーションを行なっていないコマンド処理(1) 〜(3) ,(7) 〜(13)やテープ動作に関わらないコマンド処理に要する時間は、エミュレーションを行なわない場合もエミュレーションを行なった場合も同じである。これに対し、エミュレーションを行なう場合、MTU30で実テープ動作(メカニカルな動作)を行なわずその処理がI/F変換装置40内で完了されるため、各コマンド処理(4) 〜(6) に要する時間は、一律、0.000500秒となる。従って、エミュレーションを行なわない場合の全コマンド処理時間が、5.514830秒であるのに対し、エミュレーションを行なった場合の全コマンド処理時間は、4.768064秒となり、大幅に短縮される。
【0601】
図155(A)および図155(B)に示すようにマルチファイルの書き足し処理を行なう際に、第2実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間は、図65に示した第1実施形態のコマンド処理時間と同じであり、この図65に示すように、エミュレーションを行なわない場合の全コマンド処理時間が、5.831600秒であるのに対し、エミュレーションを行なった場合の全コマンド処理時間は、2.728100秒となり、大幅に短縮される。
【0602】
図174は、図156に示すように連続する2つのファイルからデータを読み出す際に、第2実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【0603】
この図174でも、各コマンド処理に要する時間が、エミュレーションを行なわない場合とエミュレーションを行なった場合とで対比して示されている。また、図174においては、図156に示したコマンド処理(1) 〜(20)にそれぞれ対応するコマンドの備考欄には、その括弧付き数字が記入されている。なお、備考欄に括弧付き数字が記入されていないコマンドは、MTU30のテープ動作に関係のないもので、そのコマンドに応じた処理をMTC10内で完了するものである。
【0604】
図174に示すように、エミュレーションを行なっていないコマンド処理(1) 〜(4),(9),(10),(16) 〜(20)やテープ動作に関わらないコマンド処理に要する時間は、エミュレーションを行なわない場合もエミュレーションを行なった場合も同じである。これに対し、エミュレーションを行なう場合、MTU30で実テープ動作(メカニカルな動作)を行なわずその処理がI/F変換装置40内で完了されるため、各コマンド処理(5) 〜(8),(11)〜(15)に要する時間は、一律、0.000500秒となる。従って、エミュレーションを行なわない場合の全コマンド処理時間が8.781900秒であるのに対し、エミュレーションを行なった場合の全コマンド処理時間は4.817000秒となり、大幅に短縮される。
【0605】
〔2−4〕第2実施形態の効果
このように、本発明の第2実施形態としての磁気テープ装置の制御方法によれば、I/F変換装置40においてファイルのオープン処理に際してのEOF識別に係るテープ動作をエミュレートすることにより、第1実施形態と同様の効果ないし利点を得ることができる。
【0606】
〔2−5〕第2実施形態の変形例の説明
ところで、EDRC(Enhanced Data Recording Capability)圧縮等の技法を用いた場合、論理ブロックのパケッティング機能により、通常、EOF1およびEOF2それぞれの論理ブロックは、非圧縮のまま一つの物理ブロックにパケッティングされる。
【0607】
そのため、チャネル(CPU20)からどちらか一方のEOF論理ブロックに対するリード指示(読取指示)が出された場合、もう一方のEOF論理ブロックのリード指示が出されてなくても、1回のリードコマンドを実行するだけで、データバッファ45には、一つの物理ブロックにパケッティングされた、EOF1およびEOF2の両パケット(論理ブロック)が同時に格納される。
【0608】
例えば、図276(A)に示すように、EOF1およびEOF2は、論理イメージでは、磁気テープMTにおいて2つのパケットに分けて記録されたものとして取り扱われるが、図276(B)に示すように、物理イメージでは、磁気テープMTに1つの物理ブロックとして記録されているものとして取り扱われる。従って、CPU20からのEOF1のみを読み取るリード指示が出されても、実際には、1つの物理ブロック全体が読み出され、図276(C)に示すように、EOF1だけでなくEOF2もデータバッファ45に格納されることになる。
【0609】
そこで、第2実施形態の変形例では、ファイルのクローズ処理時に上述のようにしてデータバッファ45に格納された両パケット(論理ブロック)を利用することにより、両パケットをリードしたようにEOFのエミュレーションの状態監視を行ない、ファイルのオープン処理時に、EOF1やEOF2のリード処理のエミュレーションを実現する。
【0610】
ファイルのクローズ処理時に、SPコマンドやFSPFコマンドによってスキップされたEOF1またはEOF2は、論理イメージでは、磁気テープMTから読み取られていないと見なされるので、ファイルのオープン処理時に、スキップされたEOF1またはEOF2の読取指示(リードコマンド)がCPU20からあった場合には、MTU30に実リード動作を実行させることになる。
【0611】
しかし、前述した通り、EDRC圧縮を用いている場合、クローズ処理時にEOF1およびEOF2のいずれか一方に対するリード処理が行なわれていれば、両方のEOFがデータバッファ45に読み出されている。
このような場合、オープン処理に際して、クローズ処理時にスキップ対象であったEOFの読取指示がCPU20からあった時には、そのEOFのリードエミュレーションを行なう。つまり、MTU30には実リード処理を実行させることなく、データバッファ45に格納されているEOFをデータバッファ45から読み出してCPU20へ転送する。
【0612】
図156を参照しながら、より具体的に説明する。図156に示す例では、ファイルのクローズ処理に際して、(3)のRD処理でEOF1のみを読み取り、(4)のFSPF処理でEOF2をスキップするように、CPU20からコマンドが発行されている。このとき、EDRC等のパケッティング機能によりEOF1およびEOF2が磁気テープMTで1つの物理ブロックに記録されていれば、前述した通り、(3)のRD処理でEOF1およびEOF2の両方がデータバッファ45に読み出される。
【0613】
そして、第2実施形態の変形例では、例えば、RAM46の退避領域46cおよび46dに、EOF1データおよびEOF2データの位置(データバッファ45内での位置)を指し示すポインタをそれぞれ格納させる。
このとき、1つの物理ブロックをデータバッファ45に読み込んだ時点でその物理ブロック内のデータの識別を行ない、その識別結果を制御フラグ(EOF検出フラグ)V1,V2としてRAM46内に保持しておく。これらの制御フラグV1,V2は、それぞれ、退避領域46cおよび46dの有効/無効を1/0として設定されるもので、物理ブロックにEOF1がある場合に制御フラグV1は“1”に設定され、物理ブロックにEOF2がある場合に制御フラグV2は“1”に設定される。このような制御フラグV1,V2の状態を参照して、2つのEOFパケットのリードエミュレーションが行われるように状態遷移の調整(ESの値の調整)を行なう。
【0614】
例えば、EOF1のみをリードするコマンドを実行した後、制御フラグV1,V2の状態をチェックした結果、両方とも“1”であれば、RAM46の制御領域46aにおけるESの値として、本来なら“41”(EOF1のみリードエミュレーション可能)が設定されるが、この変形例では、“40”(EOF1およびEOF2の両方についてリードエミュレーション可能)が設定される。
【0615】
同様に、EOF2のみをリードするコマンドを実行した後、制御フラグV1,V2の状態をチェックした結果、両方とも“1”であれば、RAM46の制御領域46aにおけるESの値として、本来なら“42”(EOF2のみリードエミュレーション可能)が設定されるが、この変形例では、“40”(EOF1およびEOF2の両方についてリードエミュレーション可能)が設定される。
【0616】
また、EOF1のみをリードするコマンドを実行したが、EOF1をパケッティングされた物理ブロック内にEOF2ではなくその他のデータが格納されている場合、制御フラグV1は“1”に設定されるが制御フラグV2は“0”となる。このような場合には、RAM46の制御領域46aにおけるESの値として、本来通り“41”(EOF1のみリードエミュレーション可能)が設定される。
【0617】
さて、図156に示す例に説明を戻す。(3)のRD処理でEOF1およびEOF2の両方がデータバッファ45に読み出された後、(9)のRD処理でEOF2を磁気テープMTから読み取る場合について説明する。この場合、第2実施形態では、MTU30に実動作(実RD動作)を実行させていた。しかし、本変形例では、前述した通り、EOF2は既にデータバッファ45に読み出されており、(4)のFSPF処理に際して制御領域46aにはESとして“40”が保持されることになる。従って、本変形例では、(9)のRD処理および続く(10)のFSPF処理はエミュレートされることになる。
【0618】
このように、第2実施形態の変形例によれば、EDRC等のパケッティング機能を利用することで、I/F変換装置40をそなえた場合であっても、より多くのテープ動作をエミュレートすることが可能になり、ファイルのオープン処理に要する時間がより短縮され、ファイルのオープン処理性能、ひいては、I/F変換装置40を介してMTU30にアクセスするシステムの処理性能が大幅に向上することになる。
【0619】
〔3〕第3実施形態の説明
〔3−1〕基本構成
本発明の第3実施形態としての磁気テープ装置の制御方法は第2実施形態と同様のシステムに適用され、この第3実施形態でも、MTU30のエミュレーションを第2実施形態と同様のI/F変換装置40での処理により実行する。
【0620】
なお、第3実施形態を適用されるシステムやI/F変換装置40は、それぞれ第2実施形態で図67および図68を参照しながら説明したものと同様に構成されているので、その説明は省略する。ただし、RAM46の領域46a(図68参照)には、エミュレーションステータス(ES)の値として、第2実施形態の“00”〜“63”に加えて後述する“70”〜“83”が保持されるようになっている。
【0621】
〔3−2〕第3実施形態の制御方法
以下、図202〜図275を参照しながら、本発明の第3実施形態としての磁気テープ装置の制御方法について説明する。
〔3−2−1〕基本動作
第3実施形態の方法の基本的な動作は、前述した第2実施形態とほぼ同様であるが、この第3実施形態では、第2実施形態の動作を行なうほか、ファイルのクローズ処理に伴う動作を簡略化できるようにしている。具体的には、ファイルのクローズ処理に際して第2テープマークTM−bを書き込んだ後の第3テープマークTM−cの書込動作をエミュレートすることにより、クローズ処理に際してもMTU30におけるメカニカルなテープ動作を少なくし、クローズ処理に伴うテープ動作を簡略化している。
【0622】
つまり、第3実施形態のI/F変換装置40は、第2実施形態で説明した制御方法を実現するための機能をそなえるほかに、ファイルのクローズ処理に際して、磁気テープMTに第2テープマークTM−bを書き込んだ後に第3テープマークTM−cの書込を要求するWTMコマンドを受けた場合、その第3テープマークTM−cを実際に書き込むことなく仮想的に書き込みを完了したものとして、第3テープマークTM−cの書込完了をCPU20に対して通知する機能をそなえている。つまり、第3テープマークTM−cの書込動作のエミュレーションを行なっている。
【0623】
そして、第3実施形態の方法では、I/F変換装置40は、上述のごとく第3テープマークTM−cの書込動作のエミュレーションを行なった後〔図202(H)および図203を参照しながら後述するES=7xの状態〕に、CPU20からリード系コマンド(RDコマンド,RBコマンド)やコントロール系コマンド(BSPコマンド,BSPFコマンド,SPコマンド,FSPFコマンド)を受けた場合、実ヘッド位置を第2テープマークTM−bの直後の位置に固定したまま、EP=−4〜+1の範囲でEPの値を管理しながらそのコマンドのエミュレーションを行なう。
【0624】
また、第3実施形態の方法では、I/F変換装置40は、上述のごとく第3テープマークTM−cの書込動作のエミュレーションを行なった後に、ヘッドの位置がEP=−4〜+1の範囲(即ち、第1テープマークTM−aの直前から第3テープマークTM−cの直後までの範囲)を超えるコマンドを受けた場合、第3テープマークTM−cを書き込んでから、当該コマンドに応じた実際のテープ動作をMTU30に実行させる。
【0625】
このとき、ヘッドの位置がEP=−4〜+1の範囲を超えるコマンドとしては、前述したリード系コマンドやコントロール系コマンドのほか、ライト系コマンド(WRコマンド,WTMコマンド)や、アンロードやリワインドを含むモーション系コマンドがある。なお、アンロードコマンドは、磁気テープMTを先頭まで巻き戻した後に、その磁気テープMTを含むカセットをMTU30から排出するための命令であり、リワインドコマンドは、磁気テープMTを先頭まで巻き戻すための命令である。ただし、マルチファイルの書き継ぎを行なう場合、第3テープマークTM−cを書き込むことなく、第2テープマークTM−bの直後からヘッダ(HDR1)等のデータの書き込みが開始される。
【0626】
一方、I/F変換装置40が上述のごとく第3テープマークTM−cの書込動作のエミュレーションを行なった後に、電源断等の異常のために第3テープマークTM−cを磁気テープMTに記録できないまま処理を終了した場合、その異常から復旧した後の磁気テープMTにおいて第2テープマークTM−bの直後がEOD(End Of Data)となり、I/F変換装置40は、第2テープマークTM−bを検出または書き込んだ後にEODを検出することになる。
【0627】
第3実施形態の方法では、I/F変換装置40が上述のように第2テープマークTM−bを検出または書き込んだ後にEODを検出した場合、I/F変換装置40は、第3テープマークTM−cを検出したものと見なし、CPU20に対し、EOD報告(EODの検出通知)に代えて第3テープマークTM−cの検出通知を行なう。これにより、CPU20は、それ以降、第3テープマークTM−cが検出されたものとしてMTU30に対するコマンドを発行することになる。
【0628】
なお、第3実施形態の方法では、I/F変換装置40は、上述のごとくEOD報告に代えて第3テープマークTM−cの検出通知を行なった後〔図202(I)および図203を参照しながら後述するES=8xの状態〕に、CPU20からリード系コマンドやコントロール系コマンドを受けた場合、実ヘッド位置を第2テープマークTM−bの直後の位置に固定したまま、EP=−4〜+1の範囲でEPの値を管理しながらそのコマンドのエミュレーションを行なう。
【0629】
また、第3実施形態の方法では、I/F変換装置40は、上述のごとくEOD報告に代えて第3テープマークTM−cの検出通知を行なった後に、ヘッドの位置がEP=−4〜+1の範囲を超えるコマンドを受けた場合、基本的には、第3テープマークTM−cが書き込まれているものとして当該コマンドに応じた実際のテープ動作をMTU30に実行させる。さらに、マルチファイルの書き継ぎを行なう場合、第2テープマークTM−bの直後から、ヘッダ(HDR1)等のデータの書き込みが開始される。
【0630】
〔3−2−2〕EOFの識別パターン
第3実施形態におけるI/F変換装置40によるEOFの4つの識別パターンも第2実施形態で説明したものと同様であり、RDコマンドまたはWRコマンドに応じたリード動作またはライト動作を行なうことによりデータブロックがEOF1またはEOF2であることを識別できる場合と、SPコマンドやFSPFコマンドに応じたスキップ動作を行なうことによりデータブロックがEOF1またはEOF2であることを識別できない場合とに応じて、4つの識別パターン〔パターン1〜パターン4;それぞれ図69(A)〜図69(D)参照〕に分類される。
【0631】
〔3−2−3〕エミュレーションステータス
図69(A)〜図69(D),図202(A)〜図202(I)および図203を参照しながら、第3実施形態のエミュレーションステータス(ES)について説明する。
【0632】
第3実施形態においても、第2実施形態と同様、図69(A)に示すごとくEOF1およびEOF2の両方とも識別できた場合(パターン1)、ES=x0とし、図69(B)に示すごとくEOF1を識別できEOF2をスキップした場合(パターン2)、ES=x1とし、図69(C)に示すごとくEOF1をスキップしEOF2を識別できた場合(パターン3)、ES=x2とし、図69(D)に示すごとくEOF1およびEOF2を両方ともスキップした場合(パターン4)、ES=x3とする。ただし、“x”は、後述するごとく磁気ヘッドの位置に応じて決まる値である。
【0633】
また、第3実施形態のI/F変換装置40においても、状態監視はESの値に基づいて行なわれ、特に、第3実施形態では、第2実施形態のごとくESの値が“4x”,“6x”(x=0,1,2,3)の時に加え、ESの値が“7x”,“8x”(x=0,1,2,3)の時に、エミュレーションの実行が可能な状態になる。
【0634】
このようにエミュレーションの実行が可能な状態(ES=4x,6x,7x,8x)では、仮想ヘッド位置(磁気テープMTに対するヘッドの仮想的な位置)が、エミュレーションポインタ(EP)によって管理される。このEPの値は、実ヘッド位置からの相対位置として表される。なお、図202(A)〜図202(I)において、黒三角マークは実ヘッド位置を示し、白抜き三角マークはエミュレーション実行可能時における仮想ヘッド位置を示す。
【0635】
図202(A)〜図202(I)は、それぞれ第3実施形態におけるエミュレーションステータス(ES)を説明するための図である。なお、図202(C)〜図202(I)では、EOF1,EOF2の識別パターンが前述したパターン1である場合が図示されているが、以下の説明では、識別パターンは不定として扱う。
【0636】
図202(A)はES=00の状態(初期状態)を示す。この図202(A)に示すように、ES=00の状態は、磁気テープMTに対して任意のデータブロック(図中、データ1)の読取または書込を完了した状態で、磁気テープMTに対する実ヘッド位置がデータブロックの直後である。このES=00での実ヘッド位置(以下、実BIDという)は、n(任意のデータブロックのBID)とする。このとき、EPの値は不定である。
【0637】
図202(B)はES=10の状態を示す。この図202(B)に示すように、ES=10の状態は、第1テープマークTM−aを検出または書き込んだ状態で、実ヘッド位置が第1テープマークTM−aの直後である。ES=10での実BIDはn+1であり、このとき、EPの値は不定である。
図202(C)はES=2xの状態を示す。この図202(C)に示すように、ES=2xの状態は、EOF1を検出または書き込んだ状態で、実ヘッド位置がEOF1の直後である。ES=2xでの実BIDはn+2であり、このとき、EPの値は不定であり、xは0または2である。
【0638】
図202(D)はES=3xの状態を示す。この図202(D)に示すように、ES=3xの状態は、EOF2を検出または書き込んだ状態で、実ヘッド位置がEOF2の直後である。ES=3xでの実BIDはn+3であり、このとき、EPの値は不定であり、xは0,1,2,3のいずれか一つの値をとる。
【0639】
図202(E)はES=4xの状態を示す。この図202(E)に示すように、ES=4xの状態は、第2テープマークTM−bを検出または書き込んだ状態で、実ヘッド位置が第2テープマークTM−bの直後である。ES=4xでの実BIDはn+4であり、このとき、EPの値は−4,−3,−2,−1,0の5つの値をとりうる。また、xは0,1,2,3のいずれか一つの値をとる。
【0640】
図202(F)はES=5xの状態を示す。この図202(F)に示すように、ES=5xの状態は、第3テープマークTM−cを検出または書き込んだ状態で、実ヘッド位置が第3テープマークTM−cの直後である。ES=5xでの実BIDはn+5であり、このとき、EPの値は不定であり、xは0,1,2,3のいずれか一つの値をとる。
【0641】
図202(G)はES=6xの状態を示す。この図202(G)に示すように、ES=6xの状態は、第3テープマークTM−cを検出または書き込んだ状態で、且つ、実ヘッド位置が第2テープマークTM−bと第3テープマークTM−cとの間にある状態である。ES=6xでの実BIDはn+4であり、このとき、EPの値は−4,−3,−2,−1,0,+1の6つの値をとりうる。また、xは0,1,2,3のいずれか一つの値をとる。
【0642】
図202(H)はES=7xの状態を示す。この図202(H)に示すように、ES=7xの状態は、ファイルのクローズ処理に際し第2テープマークTM−bを書き込んだ後に第3テープマークTM−cを擬似的に書き込んだ状態(つまり第3テープマークTM−cの書込動作をエミュレートした状態)で、且つ、実ヘッド位置が第2テープマークTM−bの直後にある状態である。ES=7xでの実BIDはn+4であり、このとき、EPの値は−4,−3,−2,−1,0,+1の6つの値をとりうる。また、xは0,1,2,3のいずれか一つの値をとる。
【0643】
図202(I)はES=8xの状態を示す。この図202(H)に示すように、ES=8xの状態は、第2テープマークTM−bを検出または書き込んだ状態から、EOD(End Of Data)を検出した状態で、且つ、実ヘッド位置が第2テープマークTM−bの直後にある状態である。このとき、EODを第3テープマークTM−cとして取り扱うEODエミュレーションを行なう。ES=8xでの実BIDはn+4であり、EPの値は−4,−3,−2,−1,0,+1の6つの値をとりうる。また、xは0,1,2,3のいずれか一つの値をとる。
【0644】
次に、図203を参照しながら、第3実施形態におけるエミュレーションステータス(ES)の主たる遷移を説明する。この図203に示すように、ES=10の状態からES=4xの状態へは、第2実施形態と同様にして遷移する。ES=4xの状態で、第2テープマークTM−bの後に第3テープマークTM−cを検出した場合には、ESは、第2実施形態と同様、“4x”から“5x”や“6x”へ順次遷移する。
【0645】
また、ES=4xの状態で、TMW(Tape Mark Write)コマンドを受けた場合には、ESは“4x”から“7x”へ遷移し、第3テープマークTM−cを書き込むことなく第3テープマークTM−cの書込完了通知を行ない、第3テープマークTM−cの書込動作をエミュレートする。
【0646】
さらに、ES=4xの状態で、RD(READ)コマンド,SPコマンド,FSPFコマンドのいずれかを受けてEODを検出した場合には、ESは、“4x”から“8x”へ遷移し、EODを第3テープマークTM−cとして取り扱うEODエミュレーションを実行する。
そして、前述した通り、ES=4x,6x,7x,8xの状態が第3実施形態でのエミュレーション対象となる。
【0647】
〔3−2−4〕コマンド処理
第3実施形態におけるI/F変換装置40の制御部42によるコマンド処理の流れも、図83を参照しながら説明した第2実施形態のコマンド処理の流れと同様である。つまり、第3実施形態のI/F変換装置40の制御部42も、CPU20からコマンドを受けると、コマンド毎に、図83に示すコマンド処理を実行する。
【0648】
まず、前処理(ステップS1)では、コマンド種別(コマンドコード)や、RAM46の制御領域46a,46bに格納されるESおよびEPの値に応じて、MTU30において実動作を行なうかエミュレーションを行なうかが決定されるほか、磁気ヘッドの再位置付け処理やEOF1/EOF2のリストア処理が実行される。
【0649】
このとき、MTU30において実動作を行なう場合に相対位置(EP)と実ヘッド位置とが異なっていれば、制御部42は、磁気ヘッドの再位置付け処理を実行させる。また、リードコマンド処理(RD処理)でEOF1/EOF2のエミュレーションを行なうことが可能であれば、制御部42は、RAM46の退避領域46c/46dのデータブロック(EOF1/EOF2)をデータバッファ45にリストアし、そのデータブロックを、ステップS4でCPU20へ転送する。さらに、第3実施形態では、ES=7xの状態で、ヘッドの位置がEP=−4〜+1の範囲を超えるコマンドや、識別できていないEOF1やEOF2をリードするRDコマンドを受けた場合には、第3テープマークTM−cの書込処理が前処理として実行される。
【0650】
前処理完了後、ステップS2でエミュレーションが可能か否か(前処理でエミュレーションを行なう決定がなされたか否か)を判断し、エミュレーションが不可能な場合(NOルート)には、実動作(SCSI処理;ステップS3)を行なってからデータ転送を行なう(ステップS4)。一方、エミュレーションが可能な場合(YESルート)には、ステップS3の実動作を行なうことなく、データ転送を行なう(ステップS4)。なお、ステップS4のデータ転送は、RDコマンドやWRコマンドについての処理を行なった場合に実行される。
【0651】
そして、後処理(ステップS5)では、磁気テープMTから読み出されたEOF1/EOF2をRAM46の退避領域46c/46dに退避させるほか、RAM46の退避領域46eに保持されるSBIDのチェック・更新処理が行なわれるとともに、RAM46の制御領域46a,46bに格納されるESおよびEPの更新処理が行なわれる。
【0652】
つまり、後処理では、実動作後あるいはエミュレーション動作後に、データブロックの種別に応じて、RAM46の制御領域46a,46bに格納されるESおよびEPの更新が行なわれる。実動作時に得られたデータブロックがEOF1またはEOF2と判断された場合には、そのデータブロックをRAM46の退避領域46cまたは46dに格納する。また、実動作時に得られたデータブロックがテープマーク(TM)であると判断された場合には、実BID(実ヘッド位置)をRAM46の退避領域(SBID)46eに格納するとともに、EOFの認識パターン“TM,EOF1,EOF2,TM,TM”の確認(パターン1〜パターン4のいずれであるかの確認)を行なう。
【0653】
さらに、第3実施形態の後処理では、ES=4xの状態でRDコマンド,SPコマンド,FSPFコマンドのいずれかに応じてEODが検出された場合、第3テープマークTM−cが検出されたものと見なされ、CPU20に対し、EOD報告に代えて第3テープマークTM−cの検出通知が行なわれる。
【0654】
なお、エミュレーション実行時(ES=40,41,42,43,60,61,62,63,70,71,72,73,80,81,82,83の時)に、CPU20から、リードBIDコマンド等のチャネルブロックID(磁気ヘッドの論理位置)の識別を指示するコマンドが発行された場合、第3実施形態のI/F変換装置40の制御部42は、チャネルブロックIDとして、SBID+EPの値をCPU20に返すとともに、デバイスIDとしてSBIDの値をCPU20に返す。非エミュレーション実行時(ES=00,10,20,22,30,31,32,33,50,51,52,53の時)に、CPU20から、リードBIDコマンド等のコマンドが発行された場合、第3実施形態のI/F変換装置40の制御部42は、従来通り、デバイス(MCU10/MTU30)に対してリードポジションコマンドを発行してIDを獲得し、CPU20へ報告する。
【0655】
さて、第3実施形態において、前処理(ステップS1)および後処理(ステップS5)は、コマンド種別とEOFの識別パターンとに応じた制御テーブル(制御マトリックス;図204〜図251参照)に従って実行される。以下、コマンド種別とEOFの識別パターンとに応じて実行される、第3実施形態における前処理および後処理の詳細について、図204〜図251を参照しながら説明する。
【0656】
〔3−2−4−1〕RD(Read) 処理
▲1▼パターン1のRD処理(図204および図205参照)
I/F変換装置40がRDコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ESが00,10,20,30,40,50,60のいずれかであると認識された場合、図204に示すように、第3実施形態においても図84に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
【0657】
ただし、図204に示すように、前処理でES=40かつEP=0であると認識された場合〔図202(E)参照〕、MTU30に実動作(実READ)を実行させてから、後処理において、制御部42は、MTU30でリードされたデータブロックの種別がEOFであるかTM(テープマーク)であるかEODであるかそれ以外のものであるかを判断する。
【0658】
そのデータブロックがEOF(EOF1)であると判断された場合には、第2実施形態と同様、そのデータブロック(EOF1)をRAM46の退避領域(SDT1)46cに退避させるとともに、RAM46においてESを“20”に更新する(プロセスID=1.40.40)。後処理でデータブロックがTMであると判断された場合には、第2実施形態と同様、そのTMの実BIDと退避領域46eに格納されているSBIDとの差(実BID−SBID)を求め、その差が“1”であることを確認すると、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“50”に更新する(プロセスID=1.40.41)。
【0659】
後処理でデータブロックがEODであると判断された場合には、RAM46においてESを“80”に更新するとともにEPを“+1”に更新する(プロセスID=1.40.43)。このとき、第3テープマークTM−cが検出されたものと見なされ、CPU20に対し、EOD報告に代えて第3テープマークTM−cの検出通知が行なわれる。
【0660】
後処理でデータブロックがEOF,TM,EOD以外のものであると判断された場合には、第2実施形態と同様、RAM46においてESを“00”に更新する(プロセスID=1.40.42)。
そして、図205に示すように、前処理でES=70かつEP=−4であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−3”に更新する(プロセスID=1.70.00)。
【0661】
前処理でES=70かつEP=−3であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT1)46cのデータブロック(EOF1)をデータバッファ45にリストアし、後処理では、RAM46においてESを“70”に保持したままEPを“−2”に更新する(プロセスID=1.70.10)。
【0662】
前処理でES=70かつEP=−2であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT2)46dのデータブロック(EOF2)をデータバッファ45にリストアし、後処理では、RAM46においてESを“70”に保持したままEPを“−1”に更新する(プロセスID=1.70.20)。
【0663】
前処理でES=70かつEP=−1であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“0”に更新する(プロセスID=1.70.30)。
前処理でES=70かつEP=0であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“+1”に更新する(プロセスID=1.70.40)。
【0664】
前処理でES=70かつEP=+1であると認識された場合〔図202(H)参照〕、MTU30においてWTM処理を実行させて第3テープマークTM−cを磁気テープMTに書き込んでから、MTU30に実動作(実READ)を実行させる。そして、後処理において、制御部42は、MTU30でリードされたデータブロックの種別がEOFであるかTMであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、そのデータブロック(EOF1)をRAM46の退避領域(SDT1)46cに退避させ、RAM46のSBIDに1を加算するとともに、RAM46においてESを“20”に更新する(プロセスID=1.70.50)。後処理でデータブロックがTMであると判断された場合には、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納するほか、RAM46においてESを“10”に更新する(プロセスID=1.70.51)。一方、後処理でデータブロックがEOFやTM以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=1.70.52)。
【0665】
前処理でES=80かつEP=−4であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−3”に更新する(プロセスID=1.80.00)。
【0666】
前処理でES=80かつEP=−3であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT1)46cのデータブロック(EOF1)をデータバッファ45にリストアし、後処理では、RAM46においてESを“80”に保持したままEPを“−2”に更新する(プロセスID=1.80.10 )。
【0667】
前処理でES=80かつEP=−2であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT2)46dのデータブロック(EOF2)をデータバッファ45にリストアし、後処理では、RAM46においてESを“80”に保持したままEPを“−1”に更新する(プロセスID=1.80.20)。
【0668】
前処理でES=80かつEP=−1であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“0”に更新する(プロセスID=1.80.30)。
前処理でES=80かつEP=0であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“+1”に更新する(プロセスID=1.80.40)。
【0669】
前処理でES=80かつEP=+1であると認識された場合〔図202(I)参照〕、MTU30に実動作(実READ)を実行させる。このとき、実ヘッド位置は第2テープマークTM−bの直後で、リード動作に伴ってEODが検出されることになるが、後処理では、ESを“00”に更新して(プロセスID=1.80.50)、以降の処理を行なう。
【0670】
▲2▼パターン2のRD処理(図206および図207参照)
前処理でESが31,41,51,61のいずれかであると認識された場合、図206に示すように、第3実施形態においても図85に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
【0671】
ただし、図206に示すように、前処理でES=41かつEP=0であると認識された場合〔図202(E)参照〕、MTU30に実動作(実READ)を実行させてから、後処理において、制御部42は、MTU30でリードされたデータブロックの種別がEOFであるかTMであるかEODであるかそれ以外のものであるかを判断し、ESやEPが更新される。
【0672】
つまり、前処理でES=41かつEP=0であると認識された場合、前処理および後処理では、前述したプロセスID=1.40.40, 1.40.41, 1.40.42, 1.40.43の処理とほぼ同様の処理が実行される(プロセスID=1.41.40 , 1.41.41, 1.41.42, 1.41.43) 。ただし、プロセスID=1.41.41 の後処理に際して、RAM46におけるESは“51”に更新され、プロセスID=1.41.43 の後処理に際して、RAM46におけるESは“81”に更新される。
【0673】
そして、図207に示すように、前処理でES=71かつEP=−4であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“71”に保持したままEPを“−3”に更新する(プロセスID=1.71.00)。
【0674】
前処理でES=71かつEP=−3であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT1)46cのデータブロック(EOF1)をデータバッファ45にリストアし、後処理では、RAM46においてESを“71”に保持したままEPを“−2”に更新する(プロセスID=1.71.10)。
【0675】
前処理でES=71かつEP=−2であると認識された場合〔図202(H)参照〕、MTU30においてWTM処理を実行させて第3テープマークTM−cを磁気テープMTに書き込んだ後、MTU30においてヘッドを位置SBID+EP〔図202(H)ではn+2の位置〕に再位置付けしてから、MTU30に実動作(実READ)を実行させる。後処理において、制御部42は、MTU30でリードされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF2)であると判断された場合には、そのデータブロック(EOF2)をRAM46の退避領域(SDT2)46dに退避させ、RAM46のSBIDから3を減算するとともに、RAM46においてESを“30”に更新する(プロセスID=1.71.20)。一方、後処理でデータブロックがEOF以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=1.71.21)。
【0676】
前処理でES=71かつEP=−1であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“71”に保持したままEPを“0”に更新する(プロセスID=1.71.30)。
前処理でES=71かつEP=0であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“71”に保持したままEPを“+1”に更新する(プロセスID=1.71.40)。
【0677】
前処理でES=71かつEP=+1であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=1.70.50, 1.70.51, 1.70.52 の処理と同様の処理が実行される(プロセスID=1.71.50, 1.71.51, 1.71.52)。
前処理でES=81かつEP=−4であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“81”に保持したままEPを“−3”に更新する(プロセスID=1.81.00)。
【0678】
前処理でES=81かつEP=−3であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT1)46cのデータブロック(EOF1)をデータバッファ45にリストアし、後処理では、RAM46においてESを“81”に保持したままEPを“−2”に更新する(プロセスID=1.81.10)。
【0679】
前処理でES=81かつEP=−2であると認識された場合〔図202(I)参照〕、MTU30においてヘッドを位置SBID+EP〔図202(I)ではn+2の位置〕に再位置付けしてから、MTU30に実動作(実READ)を実行させる。後処理において、制御部42は、MTU30でリードされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF2)であると判断された場合には、そのデータブロック(EOF2)をRAM46の退避領域(SDT2)46dに退避させ、RAM46のSBIDから3を減算するとともに、RAM46においてESを“30”に更新する(プロセスID=1.81.20)。一方、後処理でデータブロックがEOF以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=1.81.21)。
【0680】
前処理でES=81かつEP=−1であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“81”に保持したままEPを“0”に更新する(プロセスID=1.81.30)。
【0681】
前処理でES=81かつEP=0であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“81”に保持したままEPを“+1”に更新する(プロセスID=1.81.40)。
前処理でES=81かつEP=+1であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=1.80.50 の処理と同様の処理が実行される(プロセスID=1.81.50)。
【0682】
▲3▼パターン3のRD処理(図208および図209参照)
前処理でESが22,32,42,52,62のいずれかであると認識された場合、図208に示すように、第3実施形態においても図86に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
【0683】
ただし、図208に示すように、前処理でES=42かつEP=0であると認識された場合〔図202(E)参照〕、MTU30に実動作(実READ)を実行させてから、後処理において、制御部42は、MTU30でリードされたデータブロックの種別がEOFであるかTMであるかEODであるかそれ以外のものであるかを判断し、ESやEPが更新される。
【0684】
つまり、前処理でES=42かつEP=0であると認識された場合、前処理および後処理では、前述したプロセスID=1.40.40, 1.40.41, 1.40.42, 1.40.43の処理とほぼ同様の処理が実行される(プロセスID=1.42.40, 1.42.41, 1.42.42, 1.42.43) 。ただし、プロセスID=1.42.41 の後処理に際して、RAM46におけるESは“52”に更新され、プロセスID=1.42.43 の後処理に際して、RAM46におけるESは“82”に更新される。
【0685】
そして、図209に示すように、前処理でES=72かつEP=−4であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“72”に保持したままEPを“−3”に更新する(プロセスID=1.72.00)。
【0686】
前処理でES=72かつEP=−3であると認識された場合〔図202(H)参照〕、MTU30においてWTM処理を実行させて第3テープマークTM−cを磁気テープMTに書き込んだ後、MTU30においてヘッドを位置SBID+EP〔図202(H)ではn+1の位置〕に再位置付けしてから、MTU30に実動作(実READ)を実行させる。後処理において、制御部42は、MTU30でリードされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、そのデータブロック(EOF1)をRAM46の退避領域(SDT1)46cに退避させ、RAM46のSBIDから3を減算するとともに、RAM46においてESを“20”に更新する(プロセスID=1.72.10)。一方、後処理でデータブロックがEOF以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=1.72.11)。
【0687】
前処理でES=72かつEP=−2であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT2)46dのデータブロック(EOF2)をデータバッファ45にリストアし、後処理では、RAM46においてESを“72”に保持したままEPを“−1”に更新する(プロセスID=1.72.20)。
【0688】
前処理でES=72かつEP=−1であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“72”に保持したままEPを“0”に更新する(プロセスID=1.72.30)。
前処理でES=72かつEP=0であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“72”に保持したままEPを“+1”に更新する(プロセスID=1.72.40)。
【0689】
前処理でES=72かつEP=+1であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=1.70.50, 1.70.51, 1.70.52 の処理と同様の処理が実行される(プロセスID=1.72.50, 1.72.51, 1.72.52)。
前処理でES=82かつEP=−4であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“82”に保持したままEPを“−3”に更新する(プロセスID=1.82.00)。
【0690】
前処理でES=82かつEP=−3であると認識された場合〔図202(I)参照〕、MTU30においてヘッドを位置SBID+EP〔図202(I)ではn+1の位置〕に再位置付けしてから、MTU30に実動作(実READ)を実行させる。後処理において、制御部42は、MTU30でリードされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、そのデータブロック(EOF1)をRAM46の退避領域(SDT1)46cに退避させ、RAM46のSBIDから3を減算するとともに、RAM46においてESを“20”に更新する(プロセスID=1.82.10)。一方、後処理でデータブロックがEOF以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=1.82.11)。
【0691】
前処理でES=82かつEP=−2であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行するとともに、RAM46の退避領域(SDT2)46dのデータブロック(EOF2)をデータバッファ45にリストアし、後処理では、RAM46においてESを“82”に保持したままEPを“−2”に更新する(プロセスID=1.82.20)。
【0692】
前処理でES=82かつEP=−1であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“82”に保持したままEPを“0”に更新する(プロセスID=1.82.30)。
【0693】
前処理でES=82かつEP=0であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“82”に保持したままEPを“+1”に更新する(プロセスID=1.82.40)。
前処理でES=82かつEP=+1であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=1.80.50 の処理と同様の処理が実行される(プロセスID=1.82.50)。
【0694】
▲4▼パターン4のRD処理(図210および図211参照)
前処理でESが33,43,53,63のいずれかであると認識された場合、図208に示すように、第3実施形態においても図87に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
【0695】
ただし、図210に示すように、前処理でES=43かつEP=0であると認識された場合〔図202(E)参照〕、MTU30に実動作(実READ)を実行させてから、後処理において、制御部42は、MTU30でリードされたデータブロックの種別がEOFであるかTMであるかEODであるかそれ以外のものであるかを判断し、ESやEPが更新される。
【0696】
つまり、前処理でES=43かつEP=0であると認識された場合、前処理および後処理では、前述したプロセスID=1.40.40, 1.40.41, 1.40.42, 1.40.43の処理とほぼ同様の処理が実行される(プロセスID=1.43.40, 1.43.41, 1.43.42, 1.43.43) 。ただし、プロセスID=1.43.41 の後処理に際して、RAM46におけるESは“53”に更新され、プロセスID=1.43.43 の後処理に際して、RAM46におけるESは“83”に更新される。
【0697】
そして、図211に示すように、前処理でES=73かつEP=−4であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“73”に保持したままEPを“−3”に更新する(プロセスID=1.73.00)。
前処理でES=73かつEP=−3であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=1.72.10, 1.72.11の処理と同様の処理が実行される(プロセスID=1.73.10, 1.73.1 1) 。
【0698】
前処理でES=73かつEP=−2であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=1.71.20, 1.71.21の処理とほぼ同様の処理が実行される(プロセスID=1.73.20, 1.73.21) 。ただし、プロセスID=1.73.20 の後処理に際して、RAM46におけるESは“32”に更新される。
【0699】
前処理でES=73かつEP=−1であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“73”に保持したままEPを“0”に更新する(プロセスID=1.73.30)。
前処理でES=73かつEP=0であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“73”に保持したままEPを“+1”に更新する(プロセスID=1.73.40)。
【0700】
前処理でES=73かつEP=+1であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=1.70.50, 1.70. 51, 1.70.52 の処理と同様の処理が実行される(プロセスID=1.73.50, 1.73.51, 1.73.52)。
前処理でES=83かつEP=−4であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“83”に保持したままEPを“−3”に更新する(プロセスID=1.83.00)。
【0701】
前処理でES=83かつEP=−3であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=1.82. 10, 1.82.11の処理と同様の処理が実行される(プロセスID=1.83.10, 1.83.11) 。
前処理でES=83かつEP=−2であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=1.81.20, 1.81.21の処理とほぼ同様の処理が実行される(プロセスID=1.83.20, 1.83.21) 。ただし、プロセスID=1.83.20 の後処理に際して、RAM46におけるESは“32”に更新される。
【0702】
前処理でES=83かつEP=−1であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“83”に保持したままEPを“0”に更新する(プロセスID=1.83.30)。
【0703】
前処理でES=83かつEP=0であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“83”に保持したままEPを“+1”に更新する(プロセスID=1.83.40)。
前処理でES=83かつEP=+1であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=1.80.50 の処理と同様の処理が実行される(プロセスID=1.83.50)。
【0704】
〔3−2−4−2〕RB(Read Backward)処理
第3実施形態のI/F変換装置40も、CPU20からRBコマンドを受けた場合、第1実施形態のMTC10や第2実施形態のI/F変換装置40と同様、CPU20に対してエラー報告を行なう。そして、RB処理に際し、MTU30に実際にリードバックワード動作(実RB)を実行させた場合にはES=00に更新する一方、MTU30のエミュレーションを実行した場合には後述するごとくES=4x,6x,7xまたは8xを保持しながらEPを更新している。
【0705】
▲1▼パターン1のRB処理(図212参照)
I/F変換装置40がRBコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ESが00,10,20,30,40,50,60のいずれかであると認識された場合、図212に示すように、第3実施形態においても図88に示した第2実施形態と同様の前処理および後処理が実行される。
【0706】
さらに、第3実施形態では、図212に示すように、前処理でES=70かつEP=−4であると認識された場合〔図202(H)参照〕、MTU30においてWTM処理を実行させて第3テープマークTM−cを磁気テープMTに書き込んだ後、MTU30においてヘッドを位置SBID+EP〔図202(H)ではnの位置〕に再位置付けしてから、MTU30に実動作(実RB)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=2.70.00)。
【0707】
前処理でES=70かつEP=−3であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−4”に更新する(プロセスID=2.70.10)。
前処理でES=70かつEP=−2であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−3”に更新する(プロセスID=2.70.20)。
【0708】
前処理でES=70かつEP=−1であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−2”に更新する(プロセスID=2.70.30)。
前処理でES=70かつEP=0であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−1”に更新する(プロセスID=2.70.40)。
【0709】
前処理でES=70かつEP=+1であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“0”に更新する(プロセスID=2.70.50)。
【0710】
前処理でES=80かつEP=−4であると認識された場合〔図202(I)参照〕、MTU30においてヘッドを位置SBID+EP〔図202(I)ではnの位置〕に再位置付けしてから、MTU30に実動作(実RB)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=2.80.00)。
【0711】
前処理でES=80かつEP=−3であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−4”に更新する(プロセスID=2.80.10)。
【0712】
前処理でES=80かつEP=−2であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−3”に更新する(プロセスID=2.80.20)。
前処理でES=80かつEP=−1であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−2”に更新する(プロセスID=2.80.30)。
【0713】
前処理でES=80かつEP=0であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−1”に更新する(プロセスID=2.80.40)。
前処理でES=80かつEP=+1であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“0”に更新する(プロセスID=2.80.50)。
【0714】
▲2▼パターン2のRB処理(図213参照)
前処理でESが31,41,51,61のいずれかであると認識された場合、図213に示すように、第3実施形態においても図89に示した第2実施形態と同様の前処理および後処理が実行される。
【0715】
さらに、第3実施形態では、図213に示すように、前処理でES=71であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=2.70.00 〜2.70.50 の処理とほぼ同様の処理が実行される(プロセスID=2.71.00 〜2.71.50)。ただし、プロセスID=2.71.10 〜2.71.50 の後処理に際して、RAM46におけるESは“71”に保持される。
【0716】
前処理でES=81であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=2.80.00 〜2.80.50 の処理とほぼ同様の処理が実行される(プロセスID=2.8 1.00 〜2.81.50)。ただし、プロセスID=2.81.10 〜2.81.50 の後処理に際して、RAM46におけるESは“81”に保持される。
【0717】
▲3▼パターン3のRB処理(図214参照)
前処理でESが32,42,52,62のいずれかであると認識された場合、図214に示すように、第3実施形態においても図90に示した第2実施形態と同様の前処理および後処理が実行される。
【0718】
さらに、第3実施形態では、図214に示すように、前処理でES=72であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=2.70.00 〜2.70.50 の処理とほぼ同様の処理が実行される(プロセスID=2.72.00 〜2.72.50)。ただし、プロセスID=2.72.10 〜2.72.50 の後処理に際して、RAM46におけるESは“72”に保持される。
【0719】
前処理でES=82であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=2.80.00 〜2.80.50 の処理とほぼ同様の処理が実行される(プロセスID=2.82.00 〜2.82.50)。ただし、プロセスID=2.82.10 〜2.82.50 の後処理に際して、RAM46におけるESは“82”に保持される。
【0720】
▲4▼パターン4のRB処理(図215参照)
前処理でESが33,43,53,63のいずれかであると認識された場合、図215に示すように、第3実施形態においても図91に示した第2実施形態と同様の前処理および後処理が実行される。
【0721】
さらに、第3実施形態では、図215に示すように、前処理でES=73であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=2.70.00 〜2.70.50 の処理とほぼ同様の処理が実行される(プロセスID=2.73.00 〜2.73.50)。ただし、プロセスID=2.73.10 〜2.73.50 の後処理に際して、RAM46におけるESは“73”に保持される。
【0722】
前処理でES=83であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=2.80.00 〜2.80.50 の処理とほぼ同様の処理が実行される(プロセスID=2.83.00 〜2.83.50)。ただし、プロセスID=2.83.10 〜2.83.50 の後処理に際して、RAM46におけるESは“83”に保持される。
【0723】
〔3−2−4−3〕WR(Write)処理
▲1▼パターン1のWR処理(図216および図217参照)
I/F変換装置40がWRコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ESが00,10,20,30,40,50,60のいずれかであると認識された場合、図216に示すように、第3実施形態においても図92に示した第2実施形態と同様の前処理および後処理が実行される。
【0724】
さらに、第3実施形態では、図217に示すように、前処理でES=70かつEP=−4であると認識された場合〔図202(H)参照〕、MTU30においてヘッドを位置SBID+EP〔図202(H)ではnの位置〕に再位置付けしてから、MTU30に実動作(実WR)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=3.70.00)。
【0725】
前処理でES=70かつEP=−3であると認識された場合〔図202(H)参照〕、MTU30においてヘッドを位置SBID+EP〔図202(H)ではn+1の位置〕に再位置付けしてから、MTU30に実動作(実WR)を実行させる。そして、後処理において、制御部42は、MTU30でライトされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、そのデータブロック(EOF1)をRAM46の退避領域(SDT1)46cに退避させ、RAM46のSBIDから3を減算するとともに、RAM46においてESを“20”に更新する(プロセスID=3.70.10)。一方、後処理でデータブロックがEOF以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=3.70.11)。
【0726】
前処理でES=70かつEP=−2であると認識された場合〔図202(H)参照〕、MTU30においてヘッドを位置SBID+EP〔図202(H)ではn+2の位置〕に再位置付けしてから、MTU30に実動作(実WR)を実行させる。そして、後処理において、制御部42は、MTU30でライトされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF2)であると判断された場合には、そのデータブロック(EOF2)をRAM46の退避領域(SDT2)46dに退避させ、RAM46のSBIDから3を減算するとともに、RAM46においてESを“30”に更新する(プロセスID=3.70.20)。一方、後処理でデータブロックがEOF以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=3.70.21)。
【0727】
前処理でES=70かつEP=−1であると認識された場合〔図202(H)参照〕、MTU30においてヘッドを位置SBID+EP〔図202(H)ではn+3の位置〕に再位置付けしてから、MTU30に実動作(実WR)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=3.70.30)。
【0728】
前処理でES=70かつEP=0であると認識された場合〔図202(H)参照〕、MTU30に実動作(実WR)を実行させる。そして、後処理において、制御部42は、MTU30でライトされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、そのデータブロック(EOF1)をRAM46の退避領域(SDT1)46cに退避させるとともに、RAM46においてESを“20”に更新する(プロセスID=3.70.40)。一方、後処理でデータブロックがEOF以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=3.70.41)。
【0729】
前処理でES=70かつEP=+1であると認識された場合〔図202(H)参照〕、MTU30においてWTM処理を実行させて第3テープマークTM−cを磁気テープMTに書き込んでから、MTU30に実動作(実WR)を実行させる。そして、後処理において、制御部42は、MTU30でライトされたデータブロックの種別がEOFであるかそれ以外のものであるかを判断する。そのデータブロックがEOF(EOF1)であると判断された場合には、そのデータブロック(EOF1)をRAM46の退避領域(SDT1)46cに退避させ、RAM46のSBIDに1を加算するとともに、RAM46においてESを“20”に更新する(プロセスID=3.70.50)。一方、後処理でデータブロックがEOF以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=3.70.51)。
【0730】
前処理でES=80であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=3.70.00 〜3.70.51 の処理と同様の処理が実行される(プロセスID=3.80.00 〜3.80.51)。
▲2▼パターン2のWR処理(図218および図219参照)
前処理でESが31,41,51,61のいずれかであると認識された場合、図218に示すように、第3実施形態においても図93に示した第2実施形態と同様の前処理および後処理が実行される。
【0731】
さらに、第3実施形態では、図219に示すように、前処理でES=71であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=3.70.00 〜3.70.51 の処理と同様の処理が実行される(プロセスID=3.71.00 〜3.71.51)。
前処理でES=81であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=3.70.00 〜3.70.51 の処理と同様の処理が実行される(プロセスID=3.81.00 〜3.81.51)。
【0732】
▲3▼パターン3のWR処理(図220および図221参照)
前処理でESが22,32,42,52,62のいずれかであると認識された場合、図220に示すように、第3実施形態においても図94に示した第2実施形態と同様の前処理および後処理が実行される。
【0733】
さらに、第3実施形態では、図221に示すように、前処理でES=72であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=3.70.00 〜3.70.51 の処理とほぼ同様の処理が実行される(プロセスID=3.72.00 〜3.72.51)。ただし、プロセスID=3.72.20 の後処理に際して、RAM46におけるESは“32”に更新される。
【0734】
前処理でES=82であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=3.70.00 〜3.70.51 の処理とほぼ同様の処理が実行される(プロセスID=3.82.00 〜3.82.51)。ただし、プロセスID=3.82.20 の後処理に際して、RAM46におけるESは“32”に更新される。
【0735】
▲4▼パターン4のWR処理(図222および図223参照)
前処理でESが33,43,53,63のいずれかであると認識された場合、図222に示すように、第3実施形態においても図95に示した第2実施形態と同様の前処理および後処理が実行される。
【0736】
さらに、第3実施形態では、図223に示すように、前処理でES=73であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=3.70.00 〜3.70.51 の処理とほぼ同様の処理が実行される(プロセスID=3.73.00 〜3.73.51)。ただし、プロセスID=3.73.20 の後処理に際して、RAM46におけるESは“32”に更新される。
【0737】
前処理でES=83であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=3.70.00 〜3.70.51 の処理とほぼ同様の処理が実行される(プロセスID=3.83.00 〜3.83.51)。ただし、プロセスID=3.83.20 の後処理に際して、RAM46におけるESは“32”に更新される。
【0738】
〔3−2−4−4〕BSP(Back Space Block) 処理
▲1▼パターン1のBSP処理(図224参照)
I/F変換装置40がBSPコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ESが00,10,20,30,40,50,60のいずれかであると認識された場合、図224に示すように、第3実施形態においても図96に示した第2実施形態と同様の前処理および後処理が実行される。
【0739】
さらに、第3実施形態では、図224に示すように、前処理でES=70かつEP=−4であると認識された場合〔図202(H)参照〕、MTU30においてWTM処理を実行させて第3テープマークTM−cを磁気テープMTに書き込んだ後、MTU30においてヘッドを位置SBID+EP〔図202(H)ではnの位置〕に再位置付けしてから、MTU30に実動作(実BSP)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=4.70.00)。
【0740】
前処理でES=70かつEP=−3であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−4”に更新する(プロセスID=4.70.10)。
前処理でES=70かつEP=−2であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−3”に更新する(プロセスID=4.70.20)。
【0741】
前処理でES=70かつEP=−1であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−2”に更新する(プロセスID=4.70.30)。
前処理でES=70かつEP=0であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−1”に更新する(プロセスID=4.70.4 0)。
【0742】
前処理でES=70かつEP=+1であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“0”に更新する(プロセスID=4.70.50)。
【0743】
前処理でES=80かつEP=−4であると認識された場合〔図202(I)参照〕、MTU30においてヘッドを位置SBID+EP〔図202(I)ではnの位置〕に再位置付けしてから、MTU30に実動作(実BSP)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=4.80.00)。
【0744】
前処理でES=80かつEP=−3であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−4”に更新する(プロセスID=4.80.10)。
【0745】
前処理でES=80かつEP=−2であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−3”に更新する(プロセスID=4.80.20)。
前処理でES=80かつEP=−1であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−2”に更新する(プロセスID=4.80.30)。
【0746】
前処理でES=80かつEP=0であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−1”に更新する(プロセスID=4.80.40)。
前処理でES=80かつEP=+1であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“0”に更新する(プロセスID=4.80.50)。
【0747】
▲2▼パターン2のBSP処理(図225参照)
前処理でESが31,41,51,61のいずれかであると認識された場合、図225に示すように、第3実施形態においても図97に示した第2実施形態と同様の前処理および後処理が実行される。
【0748】
さらに、第3実施形態では、図225に示すように、前処理でES=71であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=4.70.00 〜4.70.50 の処理とほぼ同様の処理が実行される(プロセスID=4.71.00 〜4.71.50)。ただし、プロセスID=4.71.10 〜4.71.50 の後処理に際して、RAM46におけるESは“71”に保持される。
【0749】
前処理でES=81であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=4.80.00 〜4.80.50 の処理とほぼ同様の処理が実行される(プロセスID=4.81.00 〜4.81.50)。ただし、プロセスID=4.81.10 〜4.81.50 の後処理に際して、RAM46におけるESは“81”に保持される。
【0750】
▲3▼パターン3のBSP処理(図226参照)
前処理でESが32,42,52,62のいずれかであると認識された場合、図226に示すように、第3実施形態においても図98に示した第2実施形態と同様の前処理および後処理が実行される。
【0751】
さらに、第3実施形態では、図226に示すように、前処理でES=72であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=4.70.00 〜4.70.50 の処理とほぼ同様の処理が実行される(プロセスID=4.72.00 〜4.72.50)。ただし、プロセスID=4.72.10 〜4.72.50 の後処理に際して、RAM46におけるESは“72”に保持される。
【0752】
前処理でES=82であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=4.80.00 〜4.80.50 の処理とほぼ同様の処理が実行される(プロセスID=4.82.00 〜4.82.50)。ただし、プロセスID=4.82.10 〜4.82.50 の後処理に際して、RAM46におけるESは“82”に保持される。
【0753】
▲4▼パターン4のBSP処理(図227参照)
前処理でESが33,43,53,63のいずれかであると認識された場合、図227に示すように、第3実施形態においても図99に示した第2実施形態と同様の前処理および後処理が実行される。
【0754】
さらに、第3実施形態では、図227に示すように、前処理でES=73であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=4.70.00 〜4.70.50 の処理とほぼ同様の処理が実行される(プロセスID=4.73.00 〜4.73.50)。ただし、プロセスID=4.73.10 〜4.73.50 の後処理に際して、RAM46におけるESは“73”に保持される。
【0755】
前処理でES=83であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=4.80.00 〜4.80.50 の処理とほぼ同様の処理が実行される(プロセスID=4.83.00 〜4.83.50)。ただし、プロセスID=4.83.10 〜4.83.50 の後処理に際して、RAM46におけるESは“83”に保持される。
【0756】
〔3−2−4−4〕BSPF(Back Space File)処理
▲1▼パターン1のBSPF処理(図228参照)
I/F変換装置40がBSPFコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ESが00,10,20,30,40,50,60のいずれかであると認識された場合、図228に示すように、第3実施形態においても図100に示した第2実施形態と同様の前処理および後処理が実行される。
【0757】
さらに、第3実施形態では、図228に示すように、前処理でES=70かつEP=−4であると認識された場合〔図202(H)参照〕、MTU30においてWTM処理を実行させて第3テープマークTM−cを磁気テープMTに書き込んだ後、MTU30においてヘッドを位置SBID+EP〔図202(H)ではnの位置〕に再位置付けしてから、MTU30に実動作(実BSPF)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=5.70.00)。
【0758】
前処理でES=70かつEP=−3であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−4”に更新する(プロセスID=5.70.10)。
前処理でES=70かつEP=−2であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−3”に更新する(プロセスID=5.70.20)。
【0759】
前処理でES=70かつEP=−1であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−2”に更新する(プロセスID=5.70.30)。
前処理でES=70かつEP=0であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−1”に更新する(プロセスID=5.70.40)。
【0760】
前処理でES=70かつEP=+1であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“0”に更新する(プロセスID=5.70.50)。
【0761】
前処理でES=80かつEP=−4であると認識された場合〔図202(I)参照〕、MTU30においてヘッドを位置SBID+EP〔図202(I)ではnの位置〕に再位置付けしてから、MTU30に実動作(実BSPF)を実行させ、後処理では、RAM46においてESを“00”に更新する(プロセスID=5.80.00)。
【0762】
前処理でES=80かつEP=−3であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−4”に更新する(プロセスID=5.80.10)。
【0763】
前処理でES=80かつEP=−2であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−3”に更新する(プロセスID=5.80.20)。
前処理でES=80かつEP=−1であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−2”に更新する(プロセスID=5.80.30)。
【0764】
前処理でES=80かつEP=0であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−1”に更新する(プロセスID=5.80.40)。
前処理でES=80かつEP=+1であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“0”に更新する(プロセスID=5.80.50)。
【0765】
▲2▼パターン2のBSPF処理(図229参照)
前処理でESが31,41,51,61のいずれかであると認識された場合、図229に示すように、第3実施形態においても図101に示した第2実施形態と同様の前処理および後処理が実行される。
【0766】
さらに、第3実施形態では、図229に示すように、前処理でES=71であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=5.70.00 〜5.70.50 の処理とほぼ同様の処理が実行される(プロセスID=5.71.00 〜5.71.50)。ただし、プロセスID=5.71.10 〜5.71.50 の後処理に際して、RAM46におけるESは“71”に保持される。
【0767】
前処理でES=81であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=5.80.00 〜5.80.50 の処理とほぼ同様の処理が実行される(プロセスID=5.81.00 〜5.81.50)。ただし、プロセスID=5.81.10 〜5.81.50 の後処理に際して、RAM46におけるESは“81”に保持される。
【0768】
▲3▼パターン3のBSPF処理(図230参照)
前処理でESが32,42,52,62のいずれかであると認識された場合、図230に示すように、第3実施形態においても図102に示した第2実施形態と同様の前処理および後処理が実行される。
【0769】
さらに、第3実施形態では、図230に示すように、前処理でES=72であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=5.70.00 〜5.70.50 の処理とほぼ同様の処理が実行される(プロセスID=5.72.00 〜5.72.50)。ただし、プロセスID=5.72.10 〜5.72.50 の後処理に際して、RAM46におけるESは“72”に保持される。
【0770】
前処理でES=82であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=5.80.00 〜5.80.50 の処理とほぼ同様の処理が実行される(プロセスID=5.82.00 〜5.82.50)。ただし、プロセスID=5.82.10 〜5.82.50 の後処理に際して、RAM46におけるESは“82”に保持される。
【0771】
▲4▼パターン4のBSPF処理(図231参照)
前処理でESが33,43,53,63のいずれかであると認識された場合、図231に示すように、第3実施形態においても図103に示した第2実施形態と同様の前処理および後処理が実行される。
【0772】
さらに、第3実施形態では、図231に示すように、前処理でES=73であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=5.70.00 〜5.70.50 の処理とほぼ同様の処理が実行される(プロセスID=5.73.00 〜5.73.50)。ただし、プロセスID=5.73.10 〜5.73.50 の後処理に際して、RAM46におけるESは“73”に保持される。
【0773】
前処理でES=83であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=5.80.00 〜5.80.50 の処理とほぼ同様の処理が実行される(プロセスID=5.83.00 〜5.83.50)。ただし、プロセスID=5.83.10 〜5.83.50 の後処理に際して、RAM46におけるESは“83”に保持される。
【0774】
〔3−2−4−6〕SP(Forward Space Block)処理
▲1▼パターン1のSP処理(図232および図233参照)
I/F変換装置40がSPコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ESが00,10,20,30,40,50,60のいずれかであると認識された場合、図232に示すように、第3実施形態においても図104に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
【0775】
ただし、図232に示すように、前処理でES=40かつEP=0であると認識された場合〔図202(E)参照〕、MTU30に実動作(実SP)を実行させてから、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がEOFであるかTMであるかEODであるかそれ以外のものであるかを判断する。
【0776】
そのデータブロックがEOFであると判断された場合には、第2実施形態と同様、RAM46においてESを“22”に更新する(プロセスID=6.40.40)。後処理でデータブロックがTMであると判断された場合には、そのTMの実BIDと退避領域46eに格納されているSBIDとの差(実BID−SBID)を求め、その差が“1”であることを確認すると、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“50”に更新する(プロセスID=6.40.41)。
【0777】
後処理でデータブロックがEODであると判断された場合には、RAM46においてESを“80”に更新するとともにEPを“+1”に更新する(プロセスID=6.40.43)。このとき、第3テープマークTM−cが検出されたものと見なされ、CPU20に対し、EOD報告に代えて第3テープマークTM−cの検出通知が行なわれる。
【0778】
後処理でデータブロックがEOF,TM,EOD以外のものであると判断された場合には、第2実施形態と同様、RAM46においてESを“00”に更新する(プロセスID=6.40.42)。
そして、図233に示すように、前処理でES=70かつEP=−4であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−3”に更新する(プロセスID=6.70.00)。
【0779】
前処理でES=70かつEP=−3であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−2”に更新する(プロセスID=6.70.10)。
前処理でES=70かつEP=−2であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−1”に更新する(プロセスID=6.70.20)。
【0780】
前処理でES=70かつEP=−1であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“0”に更新する(プロセスID=6.70.30)。
前処理でES=70かつEP=0であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“+1”に更新する(プロセスID=6.70.40)。
【0781】
前処理でES=70かつEP=+1であると認識された場合〔図202(H)参照〕、MTU30においてWTM処理を実行させて第3テープマークTM−cを磁気テープMTに書き込んでから、MTU30に実動作(実SP)を実行させる。そして、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がEOFであるかTMであるかそれ以外のものであるかを判断する。そのデータブロックがEOFであると判断された場合には、RAM46のSBIDに1を加算するとともに、RAM46においてESを“22”に更新する(プロセスID=6.70.50)。後処理でデータブロックがTMであると判断された場合には、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納するほか、RAM46においてESを“10”に更新する(プロセスID=6.70.51)。一方、後処理でデータブロックがEOFやTM以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=6.70.52)。
【0782】
前処理でES=80かつEP=−4であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−3”に更新する(プロセスID=6.80.00)。
前処理でES=80かつEP=−3であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−2”に更新する(プロセスID=6.80.10)。
【0783】
前処理でES=80かつEP=−2であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−1”に更新する(プロセスID=6.80.20)。
前処理でES=80かつEP=−1であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“0”に更新する(プロセスID=6.80.30)。
【0784】
前処理でES=80かつEP=0であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“+1”に更新する(プロセスID=6.80.40)。
【0785】
前処理でES=80かつEP=+1であると認識された場合〔図202(I)参照〕、MTU30に実動作(実SP)を実行させる。このとき、実ヘッド位置は第2テープマークTM−bの直後で、フォワードスペース動作に伴ってEODが検出されることになるが、後処理では、ESを“00”に更新して(プロセスID=6.80.50)、以降の処理を行なう。
【0786】
▲2▼パターン2のSP処理(図234および図235参照)
前処理でESが31,41,51,61のいずれかであると認識された場合、図234に示すように、第3実施形態においても図105に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
【0787】
ただし、図234に示すように、前処理でES=41かつEP=0であると認識された場合〔図202(E)参照〕、MTU30に実動作(実SP)を実行させてから、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がEOFであるかTMであるかEODであるかそれ以外のものであるかを判断し、ESやEPが更新される。
【0788】
つまり、前処理でES=41かつEP=0であると認識された場合、前処理および後処理では、前述したプロセスID=6.40.40, 6.40.41, 6.40.42, 6.40.43の処理とほぼ同様の処理が実行される(プロセスID=6.41.40, 6.41.41, 6.41.42, 6.41.43) 。ただし、プロセスID=6.41.41 の後処理に際して、RAM46におけるESは“51”に更新され、プロセスID=6.41.43 の後処理に際して、RAM46におけるESは“81”に更新される。
【0789】
そして、図235に示すように、前処理でES=71であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=6.70.00 〜6.70.52 の処理とほぼ同様の処理が実行される(プロセスID=6.71.00 〜6.71.52)。ただし、プロセスID=6.71.00 〜6.71.40 の後処理に際して、RAM46におけるESは“71”に保持される。
【0790】
前処理でES=81であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=6.80.00 〜6.80.50 の処理とほぼ同様の処理が実行される(プロセスID=6.81.00 〜6.81.50)。ただし、プロセスID=6.81.00 〜6.81.40 の後処理に際して、RAM46におけるESは“81”に保持される。
【0791】
▲3▼パターン3のSP処理(図236および図237参照)
前処理でESが22,32,42,52,62のいずれかであると認識された場合、図236に示すように、第3実施形態においても図106に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
【0792】
ただし、図236に示すように、前処理でES=42かつEP=0であると認識された場合〔図202(E)参照〕、MTU30に実動作(実SP)を実行させてから、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がEOFであるかTMであるかEODであるかそれ以外のものであるかを判断し、ESやEPが更新される。
【0793】
つまり、前処理でES=42かつEP=0であると認識された場合、前処理および後処理では、前述したプロセスID=6.40.40, 6.40.41, 6.40.42, 6.40.43の処理とほぼ同様の処理が実行される(プロセスID=6.42.40, 6.42.41, 6.42.42, 6.42.43) 。ただし、プロセスID=6.42.41 の後処理に際して、RAM46におけるESは“52”に更新され、プロセスID=6.42.43 の後処理に際して、RAM46におけるESは“82”に更新される。
【0794】
そして、図237に示すように、前処理でES=72であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=6. 70.00〜6.70.52 の処理とほぼ同様の処理が実行される(プロセスID=6.72.00 〜6.72.52)。ただし、プロセスID=6.72.00 〜6.72.40 の後処理に際して、RAM46におけるESは“72”に保持される。
【0795】
前処理でES=82であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=6.80.00 〜6.80.50 の処理とほぼ同様の処理が実行される(プロセスID=6.82.00 〜6.82.50)。ただし、プロセスID=6.82.00 〜6.82.40 の後処理に際して、RAM46におけるESは“82”に保持される。
【0796】
▲4▼パターン4のSP処理(図238および図239参照)
前処理でESが33,43,53,63のいずれかであると認識された場合、図238に示すように、第3実施形態においても図107に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
【0797】
ただし、図238に示すように、前処理でES=43かつEP=0であると認識された場合〔図202(E)参照〕、MTU30に実動作(実SP)を実行させてから、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がEOFであるかTMであるかEODであるかそれ以外のものであるかを判断し、ESやEPが更新される。
【0798】
つまり、前処理でES=43かつEP=0であると認識された場合、前処理および後処理では、前述したプロセスID=6.40.40, 6.40.41, 6.40.42, 6.40.43の処理とほぼ同様の処理が実行される(プロセスID=6.43.40, 6.43.41, 6.43.42, 6.43.43) 。ただし、プロセスID=6.43.41 の後処理に際して、RAM46におけるESは“53”に更新され、プロセスID=6.43.43 の後処理に際して、RAM46におけるESは“83”に更新される。
【0799】
そして、図239に示すように、前処理でES=73であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=6.70.00 〜6.70.52 の処理とほぼ同様の処理が実行される(プロセスID=6.73.00 〜6.73.52)。ただし、プロセスID=6.73.00 〜6.73.40 の後処理に際して、RAM46におけるESは“73”に保持される。
【0800】
前処理でES=83であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=6.80.00 〜6.80.50 の処理とほぼ同様の処理が実行される(プロセスID=6.83.00 〜6.83.50)。ただし、プロセスID=6.83.00 〜6.83.40 の後処理に際して、RAM46におけるESは“83”に保持される。
【0801】
〔3−2−4−7〕FSPF(Forward Space File) 処理
▲1▼パターン1のFSPF処理(図240および図241参照)
I/F変換装置40がFSPFコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ESが00,10,20,30,40,50,60のいずれかであると認識された場合、図240および図241に示すように、第3実施形態においても図108に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
【0802】
ただし、図240に示すように、前処理でES=40かつEP=0であると認識された場合〔図202(E)参照〕、MTU30に実動作(実FSPF)を実行させてから、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がTMであるかEODであるかそれ以外のものであるかを判断する。
【0803】
そのデータブロックがTMであると判断された場合には、第2実施形態と同様、そのTMの実BIDと退避領域46eに格納されているSBIDとの差(実BID−SBID)を求め、その差が“3”であれば、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“43”に更新するとともにEPを“0”に更新する(プロセスID=7.40.40)。その差が“1”であれば、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“50”に更新する(プロセスID=7.40.41)。また、上記差が1でも3でもなければ、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=7.40.42)。
【0804】
後処理でデータブロックがEODであると判断された場合には、RAM46においてESを“80”に更新するとともにEPを“+1”に更新する(プロセスID=7.40.44)。このとき、第3テープマークTM−cが検出されたものと見なされ、CPU20に対し、EOD報告に代えて第3テープマークTM−cの検出通知が行なわれる。
【0805】
後処理でデータブロックがTM,EOD以外のものであると判断された場合には、第2実施形態と同様、RAM46においてESを“00”に更新する(プロセスID=7.40.43)。
そして、図241に示すように、前処理でES=70かつEP=−4であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“−3”に更新する(プロセスID=7.70.00)。
【0806】
前処理でES=70かつEP=−3であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“0”に更新する(プロセスID=7.70.10 )。
前処理でES=60かつEP=−2であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“0”に更新する(プロセスID=7.70.20)。
【0807】
前処理でES=70かつEP=−1であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“0”に更新する(プロセスID=7.70.30)。
前処理でES=70かつEP=0であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“60”に保持したままEPを“+1”に更新する(プロセスID=7.60.40)。
【0808】
前処理でES=70かつEP=+1であると認識された場合〔図202(H)参照〕、MTU30に実動作(実FSPF)を実行させる。そして、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がTMであるかそれ以外のものであるかを判断する。そのデータブロックがTMであると判断された場合には、そのTMの実BIDと退避領域46eに格納されているSBIDとの差(実BID−SBID)を求め、その差が“3”であれば、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“43”に更新するとともにEPを“0”に更新する(プロセスID=7.70.50)。また、上記差が3でなければ、そのTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=7.70.51)。一方、後処理でデータブロックがEOFやTM以外のものであると判断された場合には、RAM46においてESを“00”に更新する(プロセスID=7.70.52)。
【0809】
前処理でES=80かつEP=−4であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“−3”に更新する(プロセスID=7.80.00)。
前処理でES=80かつEP=−3であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“0”に更新する(プロセスID=7.80.10)。
【0810】
前処理でES=80かつEP=−2であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“0”に更新する(プロセスID=7.80.20)。
前処理でES=80かつEP=−1であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“0”に更新する(プロセスID=7.80.30)。
【0811】
前処理でES=80かつEP=0であると認識された場合〔図202(I)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“80”に保持したままEPを“+1”に更新する(プロセスID=7.80.40)。
【0812】
前処理でES=80かつEP=+1であると認識された場合〔図202(I)参照〕、MTU30に実動作(実FSPF)を実行させる。このとき、実ヘッド位置は第2テープマークTM−bの直後で、フォワードスペース動作に伴ってEODが検出されることになるが、後処理では、ESを“00”に更新して(プロセスID=7.80.50)、以降の処理を行なう。
【0813】
▲2▼パターン2のFSPF処理(図242および図243参照)
前処理でESが31,41,51,61のいずれかであると認識された場合、図242に示すように、第3実施形態においても図109に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
【0814】
ただし、図242に示すように、前処理でES=41かつEP=0であると認識された場合〔図202(E)参照〕、MTU30に実動作(実FSPF)を実行させてから、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がTMであるかEODであるかそれ以外のものであるかを判断し、ESやEPが更新される。
【0815】
つまり、前処理でES=41かつEP=0であると認識された場合、前処理および後処理では、前述したプロセスID=7.40.40 〜7.40.44 の処理とほぼ同様の処理が実行される(プロセスID=7. 41.40 〜7.41.44)。ただし、プロセスID=7.41.41 の後処理に際して、RAM46におけるESは“51”に更新され、プロセスID=7.41.44 の後処理に際して、RAM46におけるESは“81”に更新される。
【0816】
そして、図243に示すように、前処理でES=71であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=7.70.00
〜7.70.52 の処理とほぼ同様の処理が実行される(プロセスID=7.71.00 〜7.71.52)。ただし、プロセスID=7.71.00 〜7.71.40 の後処理に際して、RAM46におけるESは“71”に保持される。
【0817】
前処理でES=81であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=7.80.00 〜7.80.50 の処理とほぼ同様の処理が実行される(プロセスID=7.81.00 〜7.81.50)。ただし、プロセスID=7.81.00 〜7.81.40 の後処理に際して、RAM46におけるESは“81”に保持される。
【0818】
▲3▼パターン3のFSPF処理(図244および図245参照)
前処理でESが22,32,42,52,62のいずれかであると認識された場合、図244に示すように、第3実施形態においても図110に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
【0819】
ただし、図244に示すように、前処理でES=42かつEP=0であると認識された場合〔図202(E)参照〕、MTU30に実動作(実FSPF)を実行させてから、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がTMであるかEODであるかそれ以外のものであるかを判断し、ESやEPが更新される。
【0820】
つまり、前処理でES=42かつEP=0であると認識された場合、前処理および後処理では、前述したプロセスID=7.40.40 〜7.40.44 の処理とほぼ同様の処理が実行される(プロセスID=7.42.40 〜7.42.44)。ただし、プロセスID=7.42.41 の後処理に際して、RAM46におけるESは“52”に更新され、プロセスID=7.42.44 の後処理に際して、RAM46におけるESは“82”に更新される。
【0821】
そして、図245に示すように、前処理でES=72であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=7.70.00 〜7.70.52 の処理とほぼ同様の処理が実行される(プロセスID=7.72.00 〜7.72.52)。ただし、プロセスID=7.72.00 〜7.72.40 の後処理に際して、RAM46におけるESは“72”に保持される。
【0822】
前処理でES=82であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=7.80.00 〜7.80.50 の処理とほぼ同様の処理が実行される(プロセスID=7.82.00 〜7.82.50)。ただし、プロセスID=7.82.00 〜7.82.40 の後処理に際して、RAM46におけるESは“82”に保持される。
【0823】
▲4▼パターン4のFSPF処理(図246および図247参照)
前処理でESが33,43,53,63のいずれかであると認識された場合、図246に示すように、第3実施形態においても図111に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
【0824】
ただし、図246に示すように、前処理でES=43かつEP=0であると認識された場合〔図202(E)参照〕、MTU30に実動作(実FSPF)を実行させてから、後処理において、制御部42は、MTU30でフォワードスペース動作に伴って検出されたデータブロックの種別がTMであるかEODであるかそれ以外のものであるかを判断し、ESやEPが更新される。
【0825】
つまり、前処理でES=43かつEP=0であると認識された場合、前処理および後処理では、前述したプロセスID=7.40.40 〜7.40.44 の処理とほぼ同様の処理が実行される(プロセスID=7.43.40 〜7.43.44)。ただし、プロセスID=7.43.41 の後処理に際して、RAM46におけるESは“53”に更新され、プロセスID=7.43.44 の後処理に際して、RAM46におけるESは“83”に更新される。
【0826】
そして、図247に示すように、前処理でES=73であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=7.70.00〜7.70.52 の処理とほぼ同様の処理が実行される(プロセスID=7.73.00〜7.73.52)。ただし、プロセスID=7.73.00 〜7.73.40 の後処理に際して、RAM46におけるESは“73”に保持される。
【0827】
前処理でES=83であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=7.80.00 〜7.80.50 の処理とほぼ同様の処理が実行される(プロセスID=7.83.00 〜7.83.50)。ただし、プロセスID=7.83.00 〜7.83.40 の後処理に際して、RAM46におけるESは“83”に保持される。
【0828】
〔3−2−4−8〕WTM(Write Tape Mark)処理
MTU30では、ライト系コマンド(WR,WTM)に応じて書込を行なった場合、書き込んだデータブロックの後にEOD(End Of Data)マークを書き込んでいる。従って、ホスト(CPU20)は、ライト系コマンドを実行した後、そのコマンドによって書き込まれたデータブロックの後ろには、データブロックが無いものと認識している。従って、第3実施形態においても、図248〜図251にて後述するように、ES=00,10,2xの時やES=4xでEP=−4,−3,−2の時やES=6x,7x,8xでEP=−4,−3,−2,−1,+1の時に実ライトテープマーク動作を行なった場合、常に、ESは10に更新される。
【0829】
▲1▼パターン1のWTM処理(図248参照)
I/F変換装置40がWTMコマンドを受けると、制御部42は、まず、前処理において、RAM46を参照しESの値およびEPの値を認識する。ESが00,10,20,30,40,50,60のいずれかであると認識された場合、図248に示すように、第3実施形態においても図112に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
【0830】
ただし、図248に示すように、前処理でES=40かつEP=0であると認識された場合〔図202(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に更新するとともにEPを“+1”に更新する(プロセスID=8.40.40)。
【0831】
そして、図248に示すように、前処理でES=70かつEP=−4であると認識された場合〔図202(H)参照〕、MTU30においてヘッドを位置SBID+EP〔図202(H)ではnの位置〕に再位置付けしてから、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=8.70.00)。
【0832】
前処理でES=70かつEP=−3であると認識された場合〔図202(H)参照〕、MTU30においてヘッドを位置SBID+EP〔図202(H)ではn+1の位置〕に再位置付けしてから、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=8.70.10)。
【0833】
前処理でES=70かつEP=−2であると認識された場合〔図202(H)参照〕、MTU30においてヘッドを位置SBID+EP〔図202(H)ではn+2の位置〕に再位置付けしてから、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=8.70.20)。
【0834】
前処理でES=70かつEP=−1であると認識された場合〔図202(H)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“70”に保持したままEPを“+1”に更新する(プロセスID=8.70.30)。
前処理でES=70かつEP=0であると認識された場合〔図202(H)参照〕、MTU30に実動作(実WTM)を実行させ、後処理では、RAM46においてESを“70”に更新するとともにEPを“+1”に更新する(プロセスID=8.70.40)。
【0835】
前処理でES=70かつEP=+1であると認識された場合〔図202(H)参照〕、MTU30においてWTM処理を実行させて第3テープマークTM−cを磁気テープMTに書き込んでから、MTU30に実動作(実WTM)を実行させ、後処理では、MTU30により書き込んだTMの実BIDをRAM46の退避領域(SBID)46eに格納し、RAM46においてESを“10”に更新する(プロセスID=8.70. 50)。
【0836】
前処理でES=80であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=8.70.00 〜3.70.50 の処理とほぼ同様の処理が実行される(プロセスID=3.80.00 〜3.80.50)。ただし、プロセスID=3.80.40 の後処理に際して、RAM46におけるESは“80”に更新される。
【0837】
▲2▼パターン2のWTM処理(図249参照)
前処理でESが31,41,51,61のいずれかであると認識された場合、図249に示すように、第3実施形態においても図113に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
ただし、図249に示すように、前処理でES=41かつEP=0であると認識された場合〔図202(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“71”に更新するとともにEPを“+1”に更新する(プロセスID=8.41.40)。
【0838】
そして、図249に示すように、前処理でES=71であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=8.70.00〜8.70.50 の処理とほぼ同様の処理が実行される(プロセスID=8.71.00〜8.71.50)。ただし、プロセスID=8.71.40 の後処理に際して、RAM46におけるESは“71”に保持される。
【0839】
前処理でES=81であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=8.70.00 〜8.70.50 の処理とほぼ同様の処理が実行される(プロセスID=8.81.00 〜8.81.50)。ただし、プロセスID=8.81.40 の後処理に際して、RAM46におけるESは“81”に保持される。
【0840】
▲3▼パターン3のWTM処理(図250参照)
前処理でESが22,32,42,52,62のいずれかであると認識された場合、図250に示すように、第3実施形態においても図114に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
ただし、図250に示すように、前処理でES=42かつEP=0であると認識された場合〔図202(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“72”に更新するとともにEPを“+1”に更新する(プロセスID=8.42.40)。
【0841】
そして、図250に示すように、前処理でES=72であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=8.70.00 〜8.70.50 の処理とほぼ同様の処理が実行される(プロセスID=8.72.00 〜8.72.50)。ただし、プロセスID=8.72.40 の後処理に際して、RAM46におけるESは“72”に保持される。
【0842】
前処理でES=82であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=8.70.00 〜8.70.50 の処理とほぼ同様の処理が実行される(プロセスID=8.82.00 〜8.82.50)。ただし、プロセスID=8.82.40 の後処理に際して、RAM46におけるESは“82”に保持される。
【0843】
▲4▼パターン4のWTM処理(図251参照)
前処理でESが33,43,53,63のいずれかであると認識された場合、図251に示すように、第3実施形態においても図115に示した第2実施形態とほぼ同様の前処理および後処理が実行される。
ただし、図251に示すように、前処理でES=43かつEP=0であると認識された場合〔図202(E)参照〕、MTU30のエミュレーションを実行し、後処理では、RAM46においてESを“73”に更新するとともにEPを“+1”に更新する(プロセスID=8.43.40)。
【0844】
そして、図251に示すように、前処理でES=73であると認識された場合〔図202(H)参照〕、前処理および後処理では、前述したプロセスID=8.70.00 〜8.70.50 の処理とほぼ同様の処理が実行される(プロセスID=8.73.00 〜8.73.50)。ただし、プロセスID=8.73.40 の後処理に際して、RAM46におけるESは“73”に保持される。
【0845】
前処理でES=83であると認識された場合〔図202(I)参照〕、前処理および後処理では、前述したプロセスID=8.70.00 〜8.70.50 の処理とほぼ同様の処理が実行される(プロセスID=8.83.00 〜8.83.50)。ただし、プロセスID=8.83.40 の後処理に際して、RAM46におけるESは“83”に保持される。
【0846】
〔3−3〕具体的なエミュレーション実行例
次に、図204〜図251を参照しながら前述した処理(プロセスID=1.00.00 〜8.83.50 の処理を含む)をI/F変換装置40(制御部42)の制御処理に適用することにより実行される、エミュレーションの具体的な例について、図252〜図275を参照しながら説明する。
【0847】
〔3−3−1〕エミュレーション実行例1
図252(A)および図252(B)は、いずれも、磁気テープMTにおけるデータ書込状態を示すとともに、マルチファイルの書き足し処理を行なう際にCPU20から発行される命令の一例と、各命令に応じた第3実施形態のMTU30でのテープ動作/エミュレーション動作とについて説明するための図である。これらの図252(A)および図252(B)に示された、磁気テープMTにおけるデータ書込状態や、CPU20から発行される命令や、MTU30でのテープ動作(矢印)は、第1実施形態において図22(A)および図22(B)を参照しながら前述したものと同じであるので、その説明は省略する。ただし、図252(A)および図252(B)に示す例における、EOF1およびEOF2の識別パターンは、第2実施形態において図69および図70(A)〜図70(G)を参照しながら説明したパターン1となっている。
【0848】
第3実施形態の方法を用いることにより、図252(A)および図252(B)に示すオープン処理〔(8) 〜(22)参照〕を行なう際、I/F変換装置40(制御部42)は、第2実施形態の場合〔図116(A)および図116(B)参照〕と同様のコマンド処理(8) 〜(19)のエミュレーションだけでなく、図252(A)に示すクローズ処理〔(2) 〜(7) 参照〕を行なう際にI/F変換装置40(制御部42)は、コマンド処理(6),(7) のエミュレーションを行なうことができる。
【0849】
つまり、第3実施形態では、図252(A)および図252(B)において、点線で囲んだコマンド処理(6) 〜(19)がエミュレートされることになり、その間、図252(A)に示すごとく、第3テープマークTM−cを書き込むことなくヘッドHを第2テープマークTM−bの直後に停止させた状態で、メカニカルな動作を行なわない。このとき、第3実施形態でも、(11)のRDコマンドのエミュレーション時に、RAM46の退避領域(SDT1)46cに退避されていたEOF1が読み出されデータバッファ45を介してCPU20へ転送される。
【0850】
以下に、図252(A)および図252(B)に示す各コマンド処理(1) 〜(20)について、図253〜図272を参照しながら詳細に説明する。
ここで、図253(A)〜図272(A)には、それぞれ、コマンド処理(1) 〜(20)を実行した時の、磁気テープMTにおけるデータブロック書込状態,実ヘッド位置(実BID)および仮想ヘッド位置(EP)を示し、図253(B)〜図272(B)には、それぞれ、コマンド処理(1) 〜(20)を実行した時の、RAM46におけるデータ退避/格納状態を示す。
【0851】
(1) WR処理
図253(A)では、I/F変換装置40が、図252(A)に示す(1) のWRコマンドをCPU20から受け、ユーザデータの書込を完了してファイルのクローズ処理に移行する直前となった状態が示されている。実ヘッド位置(実BID)はNとなっている。このとき、図253(B)に示すように、RAM46の制御領域46aにおけるESは初期状態(ES=00)を示している。なお、RAM46の制御領域(EP)46bおよび退避領域46c〜46eは不定状態を示している。
【0852】
(2) WTM処理(第1テープマークTM−aの書込処理)
図254(A)では、I/F変換装置40が、図252(A)に示す(2) のWTMコマンドをCPU20から受け、プロセスID=8.00.00 の処理を実行することにより、第1テープマークTM−aの書込を完了して実ヘッド位置(実BID)がN+1となった状態が示されている。このとき、図254(B)に示すように、制御領域46aのESは“10”に更新されるとともに、退避領域46eにはSBIDとして“N+1”が格納される。
【0853】
(3) WR処理(EOF1書込処理)
図255(A)では、I/F変換装置40が、図252(A)に示す(3) のWRコマンド(EOF1の書込指示)をCPU20から受け、プロセスID=3.10.00 の処理を実行することにより、EOF1の書込を完了して実ヘッド位置(実BID)がN+2となった状態が示されている。このとき、図255(B)に示すように、制御領域46aのESは“20”に更新されるとともに、退避領域(SDT1)46cにはEOF1が格納される。以降、EOF1は退避領域46cに保持される。
【0854】
(4) WR処理(EOF2書込処理)
図256(A)では、I/F変換装置40が、図252(A)に示す(4) のWRコマンド(EOF2の書込指示)をCPU20から受け、プロセスID=3.20.00 の処理を実行することにより、EOF2の書込を完了して実ヘッド位置(実BID)がN+3となった状態が示されている。このとき、図256(B)に示すように、制御領域46aのESは“30”に更新されるとともに、退避領域(SDT2)46eにはEOF2が格納される。以降、EOF2は退避領域46dに保持される。
【0855】
(5) WTM処理(第2テープマークTM−bの書込処理)
図257(A)では、I/F変換装置40が、図252(A)に示す(5) のWTMコマンドをCPU20から受け、プロセスID=8.30.00 の処理を実行することにより、第2テープマークTM−bの書込を完了して実ヘッド位置(実BID)がN+4となった状態が示されている。このとき、実BIDとSBIDとの差(実BID−SBID)が“3”であることをチェックした上で、図257(B)に示すように、退避領域にSBIDとして“N+4”を格納する。また、図257(B)に示すように、制御領域46aのESは“40”に更新されるとともに、制御領域46bにはEPとして“0”が設定される。
【0856】
(6) WTM処理(第3テープマークTM−cの書込処理)
図258(A)では、I/F変換装置40が、図252(A)に示す(6) のWTMコマンドをCPU20から受け、プロセスID=8.40.40 の処理を実行することにより、第3テープマークTM−cの仮想的な書込動作(エミュレーション)を完了した状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図258(B)に示すように、制御領域46aのESは“70”に更新されるとともに、制御領域46bのEPは“+1”に更新される。このように、第3実施形態では、以降、第3テープマークTM−cを実際に書き込むことなく、第3テープマークTM−cの書込を完了したものとして、第3テープマークTM−cの書込完了がCPU20に対して通知される。
【0857】
(7) BSPF処理
図259(A)では、I/F変換装置40が、図252(A)に示す(7) のBSPFコマンドをCPU20から受け、プロセスID=5.70.50 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図259(B)に示すように、制御領域46aのESは“70”に保持されるとともに、制御領域46bのEPは“0”に更新される。
【0858】
(8) BSPF処理
図260(A)では、I/F変換装置40が、図252(A)に示す(8) のBSPFコマンドをCPU20から受け、プロセスID=5.70.40 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図260(B)に示すように、制御領域46aのESは“70”に保持されるとともに、制御領域46bのEPは“−1”に更新される。
【0859】
(9) BSPF処理
図261(A)では、I/F変換装置40が、図252(A)に示す(9) のBSPFコマンドをCPU20から受け、プロセスID=5.70.30 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図261(B)に示すように、制御領域46aのESは“70”が保持されるとともに、制御領域46bのEPは“−4”に更新される。
【0860】
(10)FSPF処理
図262(A)では、I/F変換装置40が、図252(A)に示す(10)のFSPFコマンドをCPU20から受け、プロセスID=7.70.00 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図262(B)に示すように、制御領域46aのESは“70”に保持されるとともに、制御領域46bのEPは“−3”に更新される。
【0861】
(11)RD処理
図263(A)では、I/F変換装置40が、図252(A)に示す(11)のRDコマンドをCPU20から受け、プロセスID=1.70.10 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図263(B)に示すように、制御領域46aのESは“70”に保持されるとともに、制御領域46bのEPは“−2”に更新される。エミュレーション実行時に、退避領域46cの内容EOF1がデータバッファ45にリストアされCPU20へ転送される。
【0862】
(12)FSPF処理
図264(A)では、I/F変換装置40が、図252(A)に示す(12)のFSPFコマンドをCPU20から受け、プロセスID=7.70.20 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図264(B)に示すように、制御領域46aのESは“70”に保持されるとともに、制御領域46bのEPは“0”に更新される。
【0863】
(13)RD処理
図265(A)では、I/F変換装置40が、図252(A)に示す(13)のRDコマンドをCPU20から受け、プロセスID=1.70.40 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図265(B)に示すように、制御領域46aのESは“70”に保持されるとともに、制御領域46bのEPは“+1”に更新される。エミュレーション実行時には、テープマーク検出(Unit Exception)がCPU20に対して報告される。
【0864】
(14)BSPF処理
図266(A)では、I/F変換装置40が、図252(A)に示す(14)のBSPFコマンドをCPU20から受け、プロセスID=5.70.50 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図266(B)に示すように、制御領域46aのESは“70”に保持されるとともに、制御領域46bのEPは“0”に更新される。
【0865】
(15)BSPF処理
図267(A)では、I/F変換装置40が、図252(A)に示す(15)のBSPFコマンドをCPU20から受け、プロセスID=5.70.40 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図267(B)に示すように、制御領域46aのESは“70”に保持されるとともに、制御領域46bのEPは“−1”に更新される。
【0866】
(16)BSPF処理
図268(A)では、コマンド処理(9) と同様、I/F変換装置40が、図252(A)に示す(16)のBSPFコマンドをCPU20から受け、プロセスID=5.70.30 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図268(B)に示すように、制御領域46aのESは“70”に保持されるとともに、制御領域46bのEPは“−4”に更新される。
【0867】
(17)FSPF処理
図269(A)では、コマンド処理(10)と同様、I/F変換装置40が、図252(B)に示す(17)のFSPFコマンドをCPU20から受け、プロセスID=7.70.00 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図269(B)に示すように、制御領域46aのESは“70”に保持されるとともに、制御領域46bのEPは“−3”に更新される。
【0868】
(18)RD処理
図270(A)では、コマンド処理(11)と同様、I/F変換装置40が、図252(B)に示す(18)のRDコマンドをCPU20から受け、プロセスID=1.70.10 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図270(B)に示すように、制御領域46aのESは“70”に保持されるとともに、制御領域46bのEPは“−2”に更新される。エミュレーション実行時には、再度、退避領域46cの内容EOF1がデータバッファ45にリストアされCPU20へ転送される。
【0869】
(19)FSPF処理
図271(A)では、コマンド処理(12)と同様、I/F変換装置40が、図252(B)に示す(19)のFSPFコマンドをCPU20から受け、プロセスID=7.70.20 の処理を実行することにより、エミュレーションを行なった状態が示されている。このとき、実ヘッド位置(実BID)はN+4のまま変化しない。また、図271(B)に示すように、制御領域46aのESは“70”に保持されるとともに、制御領域46bのEPは“0”に更新される。
【0870】
(20)WR処理(HDR1書込処理)
図272(A)では、I/F変換装置40が、図252(B)に示す(20)のWRコマンド(HDR1の書込指示)をCPU20から受け、プロセスID=3.70.41 の処理を実行することにより、HDR1の書込を完了して実ヘッド位置(実BID)がN+5となった状態が示されている。このとき、図272(B)に示すように、制御領域46aのESは“00”に更新される一方、制御領域46bおよび退避領域46c〜46eは不定状態となる。このように、第3実施形態では、マルチファイルの書き継ぎを行なう場合、第3テープマークTM−cは実際に書き込まれることなく、第2テープマークTM−bの直後からヘッダ(HDR1)のデータの書き込みが開始される。
【0871】
以降、(21)のWR処理(HDR2書込処理),(22)のWTM処理,(23)のWR処理および(24)のWR処理は、それぞれ第2実施形態と同様に(即ち図137〜図140で説明した通りに)行なわれるので、その説明は省略する。
【0872】
〔3−3−2〕エミュレーション実行例2
図273(A)および図273(B)は、いずれも、磁気テープMTにおけるデータ書込状態を示すとともに、マルチファイルの書き足し処理を行なう際にCPU20から発行される命令の他例と、各命令に応じた第3実施形態のMTU30でのテープ動作/エミュレーション動作とについて説明するための図である。これらの図273(A)および図273(B)に示された、磁気テープMTにおけるデータ書込状態や、CPU20から発行される命令や、MTU30でのテープ動作(矢印)は、図61(A)および図61(B)を参照しながら前述したものと同じであるので、その説明は省略する。ただし、図273(A)および図273(B)に示す例における、EOF1およびEOF2の識別パターンは、第2実施形態において図69(A)および図70(A)〜図70(G)を参照しながら説明したパターン1となっている。
【0873】
第3実施形態の方法を用いることにより、図273(A)および図273(B)に示すオープン処理〔(8) 〜(17)参照〕を行なう際、I/F変換装置40(制御部42)は、第2実施形態の場合〔図155(A)参照〕と同様のコマンド処理(8) 〜(14)のエミュレーションだけでなく、図273(A)に示すクローズ処理〔(2) 〜(7) 参照〕を行なう際にI/F変換装置40(制御部42)は、コマンド処理(6),(7) のエミュレーションを行なうことができる。
【0874】
つまり、第3実施形態では、図273(A)において、点線で囲んだコマンド処理(6) 〜(14)がエミュレートされることになり、その間、図273(A)に示すごとく、第3テープマークTM−cを書き込むことなくヘッドHを第2テープマークTM−bの直後に停止させた状態で、メカニカルな動作を行なわない。このとき、第3実施形態でも、(11)のRDコマンドのエミュレーション時に、RAM46の退避領域(SDT1)46cに退避されていたEOF1が読み出されデータバッファ45を介してCPU20へ転送される。
【0875】
なお、図273(A)におけるコマンド処理(1) 〜(14)は、図252(A)や図253〜図266を参照しながら前述したコマンド処理(1) 〜(14)と同じであり、図273(B)におけるコマンド処理(15)〜(19)は、図252(B),図272および図137〜図140を参照しながら前述したコマンド処理(20)〜(24)と同じであるので、その説明は省略する。
【0876】
〔3−3−3〕性能比較(コマンド処理時間比較)
図274は、図252(A)および図252(B)に示すようにマルチファイルの書き足し処理を行なう際に、第3実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【0877】
この図274では、各コマンド処理に要する時間が、エミュレーションを行なわない場合とエミュレーションを行なった場合とで対比して示されている。また、図274においては、図252(A)および図252(B)に示したコマンド処理(1) 〜(24)にそれぞれ対応するコマンドの備考欄には、その括弧付き数字が記入されている。なお、備考欄に括弧付き数字が記入されていないコマンドは、MTU30のテープ動作に関係のないもので、そのコマンドに応じた処理をMTC10内で完了するものである。
【0878】
図274に示すように、エミュレーションを行なったコマンド処理(6) 〜(19)は、MTU30で実テープ動作(メカニカルな動作)を行なわずにI/F変換装置40内で完了されるため、各コマンド処理(6) 〜(19)に要する時間は、一律、0.000500秒となる。このようなエミュレーションによる処理時間の短縮化に加えて、第3実施形態の方法を適用しエミュレーションを実行したシステムにおいては、エミュレーションに関わらないコマンド処理の一部についても処理時間が短縮化されている。従って、エミュレーションを行なわない場合の全コマンド処理時間が、9.111926秒であるのに対し、第3実施形態の方法を適用したシステムによる全コマンド処理時間は、1.981191秒となり、大幅に短縮される。
【0879】
図275は、図273(A)および図273(B)に示すようにマルチファイルの書き足し処理を行なう際に、第3実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【0880】
この図275でも、各コマンド処理に要する時間が、エミュレーションを行なわない場合とエミュレーションを行なった場合とで対比して示されている。また、図275においては、図273(A)および図273(B)に示したコマンド処理(1) 〜(19)にそれぞれ対応するコマンドの備考欄には、その括弧付き数字が記入されている。なお、備考欄に括弧付き数字が記入されていないコマンドは、MTU30のテープ動作に関係のないもので、そのコマンドに応じた処理をMTC10内で完了するものである。
【0881】
図275に示すように、エミュレーションを行なったコマンド処理(6) 〜(14)は、MTU30で実テープ動作(メカニカルな動作)を行なわずにI/F変換装置40内で完了されるため、各コマンド処理(6) 〜(14)に要する時間は、一律、エミュレーションを行なわない場合よりも短縮されている。このようなエミュレーションによる処理時間の短縮化に加えて、第3実施形態の方法を適用しエミュレーションを実行したシステムにおいては、エミュレーションに関わらないコマンド処理の一部についても処理時間が短縮化されている。従って、エミュレーションを行なわない場合の全コマンド処理時間が、6.331092秒であるのに対し、第3実施形態の方法を適用したシステムによる全コマンド処理時間は、1.296330秒となり、大幅に短縮される。
【0882】
なお、図275における性能予測値は、実機を用いて性能測定を行なって得られた実測値に基づいて算出されているため、実機性能等の測定環境にバラツキがある。従って、エミュレーションに関わらないコマンド処理について、エミュレーション無実行時の値(図275の右側の値)とエミュレーション実行時の値(図275の左側の値)とは全く同じ値にはなっていない。
【0883】
〔3−4〕第3実施形態の効果
このように、本発明の第3実施形態としての磁気テープ装置の制御方法によれば、第1実施形態や第2実施形態と同様の作用効果が得られるほか、I/F変換装置40においてファイルのオープン処理に際してのEOF識別に係るテープ動作をエミュレートするとともに、ファイルのクローズ処理に際して第3テープマークTM−cの書込動作をエミュレートすることにより、オープン処理のみならずクローズ処理に伴うテープ動作も簡略化される。従って、オープン処理に要する時間だけでなくクローズ処理に要する時間も短縮され、ジョブの処理時間がさらに短縮されるので、ファイルのクローズ/オープン処理性能、ひいてはMTU30にアクセスするシステムの処理性能がさらに向上することになる。
【0884】
また、第3テープマークTM−cの書込動作のエミュレーションを行なった後に、万一、電源断等の異常のために第3テープマークTM−cを磁気テープMTに記録できないまま処理を終了したとしても、その異常の修復後、第3実施形態では、第2テープマークTM−bの直後のEODが第3テープマークTM−cとみなされる。従って、CPU20は、第3テープマークTM−cの書込等の特別な修復処理をMTU30に実行させることなく、MTU30に対するコマンドを通常通り発行して処理を継続的に行なうことができる。
【0885】
〔4〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、第3実施形態では、ファイルのクローズ処理で第3テープマークTM−cの書込のエミュレーションを行なうとともに、ファイルのオープン処理では第2実施形態と同様のエミュレーションを行なっているが、ファイルのクローズ処理で第3テープマークTM−cの書込のエミュレーションのみを行なうように構成してもよい。このように第3テープマークTM−cの書込のエミュレーションを行なうだけでも、ファイルのクローズ処理に伴うテープ動作を簡略化することができ、ファイルのクローズ処理性能、ひいてはMTU30にアクセスするシステムの処理性能が向上することになる。
【0886】
また、第3実施形態では、ファイルのクローズ処理での第3テープマークTM−cの書込のエミュレーションをI/F変換装置40により行なう場合について説明しているが、そのエミュレーション手法を、第1実施形態のごとくMTC10によってエミュレーションを行なうシステムに適用してもよい。
【0887】
【発明の効果】
以上詳述したように、本発明の磁気テープ装置の制御方法(請求項1〜請求項1)によれば、以下のような効果ないし利点を得ることができる。
(1)ファイルのオープン処理に際してのEOF識別に係るテープ動作をエミュレートすることにより、磁気テープ装置におけるメカニカルなテープ動作を少なくしてオープン処理に伴うテープ動作を簡略化することができるので、ファイルのオープン処理に要する時間が大幅に短縮され、ファイルのオープン処理性能、ひいては磁気テープ装置にアクセスするシステムの処理性能向上が大幅に向上する。
【0888】
(2)磁気テープ装置のヘッド位置決め精度が低い場合、エミュレーションを実行しなければ、コマンド発行元装置からのコマンドに応じて従来通りのコマンド処理を実行することができる。つまり、ヘッド位置決め精度の低い磁気テープ装置にも対応できるようにファイルのオープン処理時にコマンド発行元装置から発行されるコマンドを変更することなく、ヘッド位置決め精度の高い磁気テープ装置については、ファイルのオープン処理を容易に高速化することができる。
【0889】
(3)ファイルのオープン処理に際してのEOF識別に係るテープ動作をエミュレートするとともに、ファイルのクローズ処理に際して第3テープマークの書込動作をエミュレートすることにより、オープン処理のみならずクローズ処理に伴うテープ動作も簡略化される。従って、オープン処理に要する時間だけでなくクローズ処理に要する時間も短縮され、ジョブの処理時間がさらに短縮されるので、ファイルのクローズ/オープン処理性能、ひいては磁気テープ装置にアクセスするシステムの処理性能がさらに向上することになる。
【0890】
(4)第3テープマークの書込動作のエミュレーションを行なった後、万一、電源断等の異常のために第3テープマークを磁気テープに記録できないまま処理を終了したとしても、その異常の修復後、第2テープマークの直後のEODが第3テープマークとみなされ、第3テープマークの書込等の特別な修復処理を磁気テープ装置に実行させることなく、磁気テープ装置においてコマンド処理を通常通り継続的に行なうことができる。
【0891】
(5)ファイルのクローズ処理に際して第3テープマークの書込動作をエミュレートすることにより、ファイルのクローズ処理に伴うテープ動作を簡略化することができ、ファイルのクローズ処理性能、ひいては磁気テープ装置にアクセスするシステムの処理性能が向上することになる。
【0892】
(6)EDRC等のパケッティング機能を利用することで、より多くのテープ動作をエミュレートすることが可能になり、ファイルのオープン処理に要する時間がより短縮され、ファイルのオープン処理性能、ひいては、インタフェース変換装置を介して磁気テープ装置にアクセスするシステムの処理性能が大幅に向上することになる。
【図面の簡単な説明】
【図1】本発明の第1実施形態としての磁気テープ装置の制御方法を適用される磁気テープ制御装置のハードウェア構成を示すブロック図である。
【図2】(A)は第1実施形態におけるコマンドバッファおよびデータバッファの構成とXBID用レジスタを示す図、(B)は第1実施形態のRAMにおける退避領域および制御領域の構成を示す図である。
【図3】(A)〜(G)は、それぞれ第1実施形態のエミュレーションステータス(ES)を説明するための図である。
【図4】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(リード処理)を説明するためのフローチャートである。
【図5】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(リード処理)を説明すべく、図4に示すフローチャートの一部をテーブル化して示す図である。
【図6】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(リードバックワード処理)を説明するためのフローチャートである。
【図7】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(リードバックワード処理)を説明すべく、図6に示すフローチャートの一部をテーブル化して示す図である。
【図8】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(ライト処理)を説明するためのフローチャートである。
【図9】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(ライト処理)を説明すべく、図8に示すフローチャートの一部をテーブル化して示す図である。
【図10】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(バックスペースブロック処理)を説明するためのフローチャートである。
【図11】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(バックスペースブロック処理)を説明すべく、図10に示すフローチャートの一部をテーブル化して示す図である。
【図12】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(バックスペースファイル処理)を説明するためのフローチャートである。
【図13】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(バックスペースファイル処理)を説明すべく、図12に示すフローチャートの一部をテーブル化して示す図である。
【図14】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(フォワードスペースブロック処理)を説明するためのフローチャートである。
【図15】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(フォワードスペースブロック処理)を説明すべく、図14に示すフローチャートの一部をテーブル化して示す図である。
【図16】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(フォワードスペースファイル処理)を説明するためのフローチャートである。
【図17】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(フォワードスペースファイル処理)を説明すべく、図16に示すフローチャートの一部をテーブル化して示す図である。
【図18】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(ライトテープマーク処理)を説明するためのフローチャートである。
【図19】第1実施形態における磁気テープ制御装置のフォーマット制御部によるコマンド処理(ライトテープマーク処理)を説明すべく、図18に示すフローチャートの一部をテーブル化して示す図である。
【図20】第1実施形態のエミュレーション実行条件を説明するための図である。
【図21】第1実施形態のエミュレーション実行条件を説明するための図である。
【図22】(A)および(B)は、いずれも、磁気テープにおけるデータ書込状態を示すとともに、マルチファイルの書き足し処理を行なう際に上位装置から発行される命令の一例と、各命令に応じた第1実施形態の磁気テープ装置でのテープ動作/エミュレーション動作とについて説明するための図である。
【図23】第1実施形態の動作〔図22(A)の(1) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図24】第1実施形態の動作〔図22(A)の(2) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図25】第1実施形態の動作〔図22(A)の(3) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図26】第1実施形態の動作〔図22(A)の(4) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図27】第1実施形態の動作〔図22(A)の(5 ) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図28】第1実施形態の動作〔図22(A)の(6) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図29】第1実施形態の動作〔図22(A)の(7) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図30】第1実施形態の動作〔図22(A)の(8) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図31】第1実施形態の動作〔図22(A)の(9) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図32】第1実施形態の動作〔図22(A)の(10)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図33】第1実施形態の動作〔図22(A)の(11)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図34】第1実施形態の動作〔図22(A)の(12)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図35】第1実施形態の動作〔図22(A)の(13)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図36】第1実施形態の動作〔図22(A)の(14)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図37】第1実施形態の動作〔図22(A)の(15)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図38】第1実施形態の動作〔図22(A)の(16)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図39】第1実施形態の動作〔図22(B)の(17)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図40】第1実施形態の動作〔図22(B)の(18)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図41】第1実施形態の動作〔図22(B)の(19)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図42】第1実施形態の動作〔図22(B)の(20)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図43】第1実施形態の動作〔図22(B)の(21)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図44】第1実施形態の動作〔図22(B)の(22)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図45】第1実施形態の動作〔図22(B)の(23)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図46】第1実施形態の動作〔図22(B)の(24)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図47】磁気テープにおけるデータ書込状態を示すとともに、連続する2つのファイルからデータを読み出す際に上位装置から発行される命令の一例と、各命令に応じた第1実施形態の磁気テープ装置でのテープ動作/エミュレーション動作とについて説明するための図である。
【図48】第1実施形態の動作〔図47の(1) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図49】第1実施形態の動作〔図47の(2) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図50】第1実施形態の動作〔図47の(3) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図51】第1実施形態の動作〔図47の(4) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図52】第1実施形態の動作〔図47の(5) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図53】第1実施形態の動作〔図47の(6) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図54】第1実施形態の動作〔図47の(7) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図55】第1実施形態の動作〔図47の(8) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図56】第1実施形態の動作〔図47の(9) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図57】第1実施形態の動作〔図47の(10)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図58】第1実施形態の動作〔図47の(11)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図59】第1実施形態の動作〔図47の(12)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図60】第1実施形態の動作〔図47の(13)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図61】(A)および(B)は、いずれも、磁気テープにおけるデータ書込状態を示すとともに、マルチファイルの書き足し処理を行なう際に上位装置から発行される命令の他例と、各命令に応じた第1実施形態の磁気テープ装置でのテープ動作/エミュレーション動作とについて説明するための図である。
【図62】磁気テープにおけるデータ書込状態を示すとともに、連続する2つのファイルからデータを読み出す際に上位装置から発行される命令の他例と、各命令に応じた第1実施形態の磁気テープ装置でのテープ動作/エミュレーション動作とについて説明するための図である。
【図63】図22(A)および図22(B)に示すようにマルチファイルの書き足し処理を行なう際に、第1実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【図64】図47に示すように連続する2つのファイルからデータを読み出す際に、第1実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【図65】図61(A)および図61(B)に示すようにマルチファイルの書き足し処理を行なう際に、第1実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【図66】図62に示すように連続する2つのファイルからデータを読み出す際に、第1実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【図67】本発明の第2実施形態としての磁気テープ装置の制御方法を適用されるシステムのハードウェア構成を示すブロック図である。
【図68】本発明の第2実施形態としての磁気テープ装置の制御方法を適用されるインタフェース変換装置のハードウェア構成を示すブロック図である。
【図69】(A)〜(D)は、それぞれ第2実施形態におけるEOFの4つの識別パターン(パターン1〜パターン4)を説明するための図である。
【図70】(A)〜(G)は、それぞれ第2実施形態のパターン1についてのエミュレーションステータス(ES)を説明するための図である。
【図71】(A)〜(G)は、それぞれ第2実施形態のパターン2についてのエミュレーションステータス(ES)を説明するための図である。
【図72】(A)〜(G)は、それぞれ第2実施形態のパターン3についてのエミュレーションステータス(ES)を説明するための図である。
【図73】(A)〜(G)は、それぞれ第2実施形態のパターン4についてのエミュレーションステータス(ES)を説明するための図である。
【図74】(A)および(B)はいずれも第2実施形態のパターン1についてのエミュレーション実行条件を説明するための図である。
【図75】(A)および(B)はいずれも第2実施形態のパターン1についてのエミュレーション実行条件を説明するための図である。
【図76】(A)および(B)はいずれも第2実施形態のパターン2についてのエミュレーション実行条件を説明するための図である。
【図77】(A)および(B)はいずれも第2実施形態のパターン2についてのエミュレーション実行条件を説明するための図である。
【図78】(A)および(B)はいずれも第2実施形態のパターン3についてのエミュレーション実行条件を説明するための図である。
【図79】(A)および(B)はいずれも第2実施形態のパターン3についてのエミュレーション実行条件を説明するための図である。
【図80】(A)および(B)はいずれも第2実施形態のパターン4についてのエミュレーション実行条件を説明するための図である。
【図81】(A)および(B)はいずれも第2実施形態のパターン4についてのエミュレーション実行条件を説明するための図である。
【図82】第2実施形態のRAMにおける退避領域および制御領域の構成を示す図である。
【図83】第2実施形態におけるインタフェース変換装置の制御部によるコマンド処理を説明するためのフローチャートである。
【図84】第2実施形態におけるインタフェース変換装置の制御部による、パターン1についてのリード処理の一部をテーブル化して説明するための図である。
【図85】第2実施形態におけるインタフェース変換装置の制御部による、パターン2についてのリード処理の一部をテーブル化して説明するための図である。
【図86】第2実施形態におけるインタフェース変換装置の制御部による、パターン3についてのリード処理の一部をテーブル化して説明するための図である。
【図87】第2実施形態におけるインタフェース変換装置の制御部による、パターン4についてのリード処理の一部をテーブル化して説明するための図である。
【図88】第2実施形態におけるインタフェース変換装置の制御部による、パターン1についてのリードバックワード処理の一部をテーブル化して説明するための図である。
【図89】第2実施形態におけるインタフェース変換装置の制御部による、パターン2についてのリードバックワード処理の一部をテーブル化して説明するための図である。
【図90】第2実施形態におけるインタフェース変換装置の制御部による、パターン3についてのリードバックワード処理の一部をテーブル化して説明するための図である。
【図91】第2実施形態におけるインタフェース変換装置の制御部による、パターン4についてのリードバックワード処理の一部をテーブル化して説明するための図である。
【図92】第2実施形態におけるインタフェース変換装置の制御部による、パターン1についてのライト処理の一部をテーブル化して説明するための図である。
【図93】第2実施形態におけるインタフェース変換装置の制御部による、パターン2についてのライト処理の一部をテーブル化して説明するための図である。
【図94】第2実施形態におけるインタフェース変換装置の制御部による、パターン3についてのライト処理の一部をテーブル化して説明するための図である。
【図95】第2実施形態におけるインタフェース変換装置の制御部による、パターン4についてのライト処理の一部をテーブル化して説明するための図である。
【図96】第2実施形態におけるインタフェース変換装置の制御部による、パターン1についてのバックスペースブロック処理の一部をテーブル化して説明するための図である。
【図97】第2実施形態におけるインタフェース変換装置の制御部による、パターン2についてのバックスペースブロック処理の一部をテーブル化して説明するための図である。
【図98】第2実施形態におけるインタフェース変換装置の制御部による、パターン3についてのバックスペースブロック処理の一部をテーブル化して説明するための図である。
【図99】第2実施形態におけるインタフェース変換装置の制御部による、パターン4についてのバックスペースブロック処理の一部をテーブル化して説明するための図である。
【図100】第2実施形態におけるインタフェース変換装置の制御部による、パターン1についてのバックスペースファイル処理の一部をテーブル化して説明するための図である。
【図101】第2実施形態におけるインタフェース変換装置の制御部による、パターン2についてのバックスペースファイル処理の一部をテーブル化して説明するための図である。
【図102】第2実施形態におけるインタフェース変換装置の制御部による、パターン3についてのバックスペースファイル処理の一部をテーブル化して説明するための図である。
【図103】第2実施形態におけるインタフェース変換装置の制御部による、パターン4についてのバックスペースファイル処理の一部をテーブル化して説明するための図である。
【図104】第2実施形態におけるインタフェース変換装置の制御部による、パターン1についてのフォワードスペースブロック処理の一部をテーブル化して説明するための図である。
【図105】第2実施形態におけるインタフェース変換装置の制御部による、パターン2についてのフォワードスペースブロック処理の一部をテーブル化して説明するための図である。
【図106】第2実施形態におけるインタフェース変換装置の制御部による、パターン3についてのフォワードスペースブロック処理の一部をテーブル化して説明するための図である。
【図107】第2実施形態におけるインタフェース変換装置の制御部による、パターン4についてのフォワードスペースブロック処理の一部をテーブル化して説明するための図である。
【図108】第2実施形態におけるインタフェース変換装置の制御部による、パターン1についてのフォワードスペースファイル処理の一部をテーブル化して説明するための図である。
【図109】第2実施形態におけるインタフェース変換装置の制御部による、パターン2についてのフォワードスペースファイル処理の一部をテーブル化して説明するための図である。
【図110】第2実施形態におけるインタフェース変換装置の制御部による、パターン3についてのフォワードスペースファイル処理の一部をテーブル化して説明するための図である。
【図111】第2実施形態におけるインタフェース変換装置の制御部による、パターン4についてのフォワードスペースファイル処理の一部をテーブル化して説明するための図である。
【図112】第2実施形態におけるインタフェース変換装置の制御部による、パターン1についてのライトテープマーク処理の一部をテーブル化して説明するための図である。
【図113】第2実施形態におけるインタフェース変換装置の制御部による、パターン2についてのライトテープマーク処理の一部をテーブル化して説明するための図である。
【図114】第2実施形態におけるインタフェース変換装置の制御部による、パターン3についてのライトテープマーク処理の一部をテーブル化して説明するための図である。
【図115】第2実施形態におけるインタフェース変換装置の制御部による、パターン4についてのライトテープマーク処理の一部をテーブル化して説明するための図である。
【図116】(A)および(B)は、いずれも、磁気テープにおけるデータ書込状態を示すとともに、マルチファイルの書き足し処理を行なう際に上位装置から発行される命令の一例と、各命令に応じた第2実施形態の磁気テープ装置でのテープ動作/エミュレーション動作とについて説明するための図である。
【図117】第2実施形態の動作〔図116(A)の(1) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図118】第2実施形態の動作〔図116(A)の(2) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図119】第2実施形態の動作〔図116(A)の(3) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図120】第2実施形態の動作〔図116(A)の(4) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図121】第2実施形態の動作〔図116(A)の(5) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図122】第2実施形態の動作〔図116(A)の(6) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図123】第2実施形態の動作〔図116(A)の(7) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図124】第2実施形態の動作〔図116(A)の(8) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図125】第2実施形態の動作〔図116(A)の(9) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図126】第2実施形態の動作〔図116(A)の(10)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図127】第2実施形態の動作〔図116(A)の(11)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図128】第2実施形態の動作〔図116(A)の(12)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図129】第2実施形態の動作〔図116(A)の(13)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図130】第2実施形態の動作〔図116(A)の(14)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図131】第2実施形態の動作〔図116(A)の(15)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図132】第2実施形態の動作〔図116(A)の(16)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図133】第2実施形態の動作〔図116(B)の(17)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図134】第2実施形態の動作〔図116(B)の(18)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図135】第2実施形態の動作〔図116(B)の(19)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図136】第2実施形態の動作〔図116(B)の(20)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図137】第2実施形態の動作〔図116(B)の(21)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図138】第2実施形態の動作〔図116(B)の(22)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図139】第2実施形態の動作〔図116(B)の(23)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図140】第2実施形態の動作〔図116(B)の(24)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図141】磁気テープにおけるデータ書込状態を示すとともに、連続する2つのファイルからデータを読み出す際に上位装置から発行される命令の一例と、各命令に応じた第2実施形態の磁気テープ装置でのテープ動作/エミュレーション動作とについて説明するための図である。
【図142】第2実施形態の動作〔図141の(1) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図143】第2実施形態の動作〔図141の(2) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図144】第2実施形態の動作〔図141の(3) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図145】第2実施形態の動作〔図141の(4) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図146】第2実施形態の動作〔図141の(5) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図147】第2実施形態の動作〔図141の(6) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図148】第2実施形態の動作〔図141の(7) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図149】第2実施形態の動作〔図141の(8) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図150】第2実施形態の動作〔図141の(9) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図151】第2実施形態の動作〔図141の(10)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図152】第2実施形態の動作〔図141の(11)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図153】第2実施形態の動作〔図141の(12)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図154】第2実施形態の動作〔図141の(13)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図155】(A)および(B)は、いずれも、磁気テープにおけるデータ書込状態を示すとともに、マルチファイルの書き足し処理を行なう際に上位装置から発行される命令の他例と、各命令に応じた第2実施形態の磁気テープ装置でのテープ動作/エミュレーション動作とについて説明するための図である。
【図156】磁気テープにおけるデータ書込状態を示すとともに、連続する2つのファイルからデータを読み出す際に上位装置から発行される命令の他例と、各命令に応じた第2実施形態の磁気テープ装置でのテープ動作/エミュレーション動作とについて説明するための図である。
【図157】第2実施形態の動作〔図156の(1) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図158】第2実施形態の動作〔図156の(2) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図159】第2実施形態の動作〔図156の(3) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図160】第2実施形態の動作〔図156の(4) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図161】第2実施形態の動作〔図156の(5) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図162】第2実施形態の動作〔図156の(6) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図163】第2実施形態の動作〔図156の(7) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図164】第2実施形態の動作〔図156の(8) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図165】第2実施形態の動作〔図156の(9) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図166】第2実施形態の動作〔図156の(10)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図167】第2実施形態の動作〔図156の(11)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図168】第2実施形態の動作〔図156の(12)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図169】第2実施形態の動作〔図156の(13)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図170】第2実施形態の動作〔図156の(14)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図171】第2実施形態の動作〔図156の(15)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図172】第2実施形態の動作〔図156の(16)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図173】図141に示すように連続する2つのファイルからデータを読み出す際に、第2実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【図174】図156に示すように連続する2つのファイルからデータを読み出す際に、第2実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【図175】一般的な磁気テープ制御装置のハードウェア構成を示すブロック図である。
【図176】ストリーミングを実行するためのコマンドバッファおよびデータバッファの構成とXBID用レジスタを示す図である。
【図177】リードストリーミングシーケンス実行時におけるコマンドバッファおよびデータバッファの状態を説明するための図である。
【図178】リードストリーミングシーケンス実行時におけるコマンドバッファおよびデータバッファの状態を説明するための図である。
【図179】ライトストリーミングシーケンス実行時におけるコマンドバッファおよびデータバッファの状態を説明するための図である。
【図180】ライトストリーミングシーケンス実行時におけるコマンドバッファおよびデータバッファの状態を説明するための図である。
【図181】リードコマンドやライトコマンド以外のコマンドシーケンス実行時におけるコマンドバッファおよびデータバッファの状態を説明するための図である。
【図182】リードコマンドやライトコマンド以外のコマンドシーケンス実行時におけるコマンドバッファおよびデータバッファの状態を説明するための図である。
【図183】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(アイドル処理)を説明するためのフローチャートである。
【図184】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(リード処理)を説明するためのフローチャートである。
【図185】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(リード処理)を説明すべく、図184に示すフローチャートの一部をテーブル化して示す図である。
【図186】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(リードバックワード処理)を説明するためのフローチャートである。
【図187】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(リードバックワード処理)を説明すべく、図186に示すフローチャートをテーブル化して示す図である。
【図188】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(ライト処理)を説明するためのフローチャートである。
【図189】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(ライト処理)を説明すべく、図188に示すフローチャートの一部をテーブル化して示す図である。
【図190】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(バックスペースブロック処理)を説明するためのフローチャートである。
【図191】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(バックスペースブロック処理)を説明すべく、図190に示すフローチャートをテーブル化して示す図である。
【図192】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(バックスペースファイル処理)を説明するためのフローチャートである。
【図193】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(バックスペースファイル処理)を説明すべく、図192に示すフローチャートの一部をテーブル化して示す図である。
【図194】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(フォワードスペースブロック処理)を説明するためのフローチャートである。
【図195】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(フォワードスペースブロック処理)を説明すべく、図194に示すフローチャートをテーブル化して示す図である。
【図196】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(フォワードスペースファイル処理)を説明するためのフローチャートである。
【図197】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(フォワードスペースファイル処理)を説明すべく、図196に示すフローチャートの一部をテーブル化して示す図である。
【図198】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(ライトテープマーク処理)を説明するためのフローチャートである。
【図199】一般的な磁気テープ制御装置のフォーマット制御部によるコマンド処理(ライトテープマーク処理)を説明すべく、図198に示すフローチャートをテーブル化して示す図である。
【図200】(A)および(B)は、いずれも、磁気テープにおけるデータ書込状態を示すとともに、マルチファイルの書き足し処理を行なう際に上位装置から発行される命令と、各命令に応じた磁気テープ装置でのテープ動作とについて説明するための図である。
【図201】磁気テープにおけるデータ書込状態を示すとともに、連続する2つのファイルからデータを読み出す際に上位装置から発行される命令と、各命令に応じた磁気テープ装置でのテープ動作とについて説明するための図である。
【図202】(A)〜(I)は、それぞれ、本発明の第3実施形態としての磁気テープ装置の制御方法におけるエミュレーションステータス(ES)を説明するための図である。
【図203】第3実施形態におけるエミュレーションステータス(ES)の主たる遷移を説明するための図である。
【図204】第3実施形態におけるインタフェース変換装置の制御部による、パターン1についてのリード処理の一部をテーブル化して説明するための図である。
【図205】第3実施形態におけるインタフェース変換装置の制御部による、パターン1についてのリード処理の一部をテーブル化して説明するための図である。
【図206】第3実施形態におけるインタフェース変換装置の制御部による、パターン2についてのリード処理の一部をテーブル化して説明するための図である。
【図207】第3実施形態におけるインタフェース変換装置の制御部による、パターン2についてのリード処理の一部をテーブル化して説明するための図である。
【図208】第3実施形態におけるインタフェース変換装置の制御部による、パターン3についてのリード処理の一部をテーブル化して説明するための図である。
【図209】第3実施形態におけるインタフェース変換装置の制御部による、パターン3についてのリード処理の一部をテーブル化して説明するための図である。
【図210】第3実施形態におけるインタフェース変換装置の制御部による、パターン4についてのリード処理の一部をテーブル化して説明するための図である。
【図211】第3実施形態におけるインタフェース変換装置の制御部による、パターン4についてのリード処理の一部をテーブル化して説明するための図である。
【図212】第3実施形態におけるインタフェース変換装置の制御部による、パターン1についてのリードバックワード処理の一部をテーブル化して説明するための図である。
【図213】第3実施形態におけるインタフェース変換装置の制御部による、パターン2についてのリードバックワード処理の一部をテーブル化して説明するための図である。
【図214】第3実施形態におけるインタフェース変換装置の制御部による、パターン3についてのリードバックワード処理の一部をテーブル化して説明するための図である。
【図215】第3実施形態におけるインタフェース変換装置の制御部による、パターン4についてのリードバックワード処理の一部をテーブル化して説明するための図である。
【図216】第3実施形態におけるインタフェース変換装置の制御部による、パターン1についてのライト処理の一部をテーブル化して説明するための図である。
【図217】第3実施形態におけるインタフェース変換装置の制御部による、パターン1についてのライト処理の一部をテーブル化して説明するための図である。
【図218】第3実施形態におけるインタフェース変換装置の制御部による、パターン2についてのライト処理の一部をテーブル化して説明するための図である。
【図219】第3実施形態におけるインタフェース変換装置の制御部による、パターン2についてのライト処理の一部をテーブル化して説明するための図である。
【図220】第3実施形態におけるインタフェース変換装置の制御部による、パターン3についてのライト処理の一部をテーブル化して説明するための図である。
【図221】第3実施形態におけるインタフェース変換装置の制御部による、パターン3についてのライト処理の一部をテーブル化して説明するための図である。
【図222】第3実施形態におけるインタフェース変換装置の制御部による、パターン4についてのライト処理の一部をテーブル化して説明するための図である。
【図223】第3実施形態におけるインタフェース変換装置の制御部による、パターン4についてのライト処理の一部をテーブル化して説明するための図である。
【図224】第3実施形態におけるインタフェース変換装置の制御部による、パターン1についてのバックスペースブロック処理の一部をテーブル化して説明するための図である。
【図225】第3実施形態におけるインタフェース変換装置の制御部による、パターン2についてのバックスペースブロック処理の一部をテーブル化して説明するための図である。
【図226】第3実施形態におけるインタフェース変換装置の制御部による、パターン3についてのバックスペースブロック処理の一部をテーブル化して説明するための図である。
【図227】第3実施形態におけるインタフェース変換装置の制御部による、パターン4についてのバックスペースブロック処理の一部をテーブル化して説明するための図である。
【図228】第3実施形態におけるインタフェース変換装置の制御部による、パターン1についてのバックスペースファイル処理の一部をテーブル化して説明するための図である。
【図229】第3実施形態におけるインタフェース変換装置の制御部による、パターン2についてのバックスペースファイル処理の一部をテーブル化して説明するための図である。
【図230】第3実施形態におけるインタフェース変換装置の制御部による、パターン3についてのバックスペースファイル処理の一部をテーブル化して説明するための図である。
【図231】第3実施形態におけるインタフェース変換装置の制御部による、パターン4についてのバックスペースファイル処理の一部をテーブル化して説明するための図である。
【図232】第3実施形態におけるインタフェース変換装置の制御部による、パターン1についてのフォワードスペースブロック処理の一部をテーブル化して説明するための図である。
【図233】第3実施形態におけるインタフェース変換装置の制御部による、パターン1についてのフォワードスペースブロック処理の一部をテーブル化して説明するための図である。
【図234】第3実施形態におけるインタフェース変換装置の制御部による、パターン2についてのフォワードスペースブロック処理の一部をテーブル化して説明するための図である。
【図235】第3実施形態におけるインタフェース変換装置の制御部による、パターン2についてのフォワードスペースブロック処理の一部をテーブル化して説明するための図である。
【図236】第3実施形態におけるインタフェース変換装置の制御部による、パターン3についてのフォワードスペースブロック処理の一部をテーブル化して説明するための図である。
【図237】第3実施形態におけるインタフェース変換装置の制御部による、パターン3についてのフォワードスペースブロック処理の一部をテーブル化して説明するための図である。
【図238】第3実施形態におけるインタフェース変換装置の制御部による、パターン4についてのフォワードスペースブロック処理の一部をテーブル化して説明するための図である。
【図239】第3実施形態におけるインタフェース変換装置の制御部による、パターン4についてのフォワードスペースブロック処理の一部をテーブル化して説明するための図である。
【図240】第3実施形態におけるインタフェース変換装置の制御部による、パターン1についてのフォワードスペースファイル処理の一部をテーブル化して説明するための図である。
【図241】第3実施形態におけるインタフェース変換装置の制御部による、パターン1についてのフォワードスペースファイル処理の一部をテーブル化して説明するための図である。
【図242】第3実施形態におけるインタフェース変換装置の制御部による、パターン2についてのフォワードスペースファイル処理の一部をテーブル化して説明するための図である。
【図243】第3実施形態におけるインタフェース変換装置の制御部による、パターン2についてのフォワードスペースファイル処理の一部をテーブル化して説明するための図である。
【図244】第3実施形態におけるインタフェース変換装置の制御部による、パターン3についてのフォワードスペースファイル処理の一部をテーブル化して説明するための図である。
【図245】第3実施形態におけるインタフェース変換装置の制御部による、パターン3についてのフォワードスペースファイル処理の一部をテーブル化して説明するための図である。
【図246】第3実施形態におけるインタフェース変換装置の制御部による、パターン4についてのフォワードスペースファイル処理の一部をテーブル化して説明するための図である。
【図247】第3実施形態におけるインタフェース変換装置の制御部による、パターン4についてのフォワードスペースファイル処理の一部をテーブル化して説明するための図である。
【図248】第3実施形態におけるインタフェース変換装置の制御部による、パターン1についてのライトテープマーク処理の一部をテーブル化して説明するための図である。
【図249】第3実施形態におけるインタフェース変換装置の制御部による、パターン2についてのライトテープマーク処理の一部をテーブル化して説明するための図である。
【図250】第3実施形態におけるインタフェース変換装置の制御部による、パターン3についてのライトテープマーク処理の一部をテーブル化して説明するための図である。
【図251】第3実施形態におけるインタフェース変換装置の制御部による、パターン4についてのライトテープマーク処理の一部をテーブル化して説明するための図である。
【図252】(A)および(B)は、いずれも、磁気テープにおけるデータ書込状態を示すとともに、マルチファイルの書き足し処理を行なう際に上位装置から発行される命令の一例と、各命令に応じた第3実施形態の磁気テープ装置でのテープ動作/エミュレーション動作とについて説明するための図である。
【図253】第3実施形態の動作〔図252(A)の(1) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図254】第3実施形態の動作〔図252(A)の(2) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図255】第3実施形態の動作〔図252(A)の(3) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図256】第3実施形態の動作〔図252(A)の(4) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図257】第3実施形態の動作〔図252(A)の(5) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図258】第3実施形態の動作〔図252(A)の(6) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図259】第3実施形態の動作〔図252(A)の(7) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図260】第3実施形態の動作〔図252(A)の(8) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図261】第3実施形態の動作〔図252(A)の(9) のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図262】第3実施形態の動作〔図252(A)の(10)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図263】第3実施形態の動作〔図252(A)の(11)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図264】第3実施形態の動作〔図252(A)の(12)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図265】第3実施形態の動作〔図252(A)の(13)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図266】第3実施形態の動作〔図252(A)の(14)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図267】第3実施形態の動作〔図252(A)の(15)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図268】第3実施形態の動作〔図252(A)の(16)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図269】第3実施形態の動作〔図252(B)の(17)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図270】第3実施形態の動作〔図252(B)の(18)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図271】第3実施形態の動作〔図252(B)の(19)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図272】第3実施形態の動作〔図252(B)の(20)のコマンド処理〕を説明するためのもので、(A)は磁気テープにおけるデータ書込状態,実ヘッド位置及び仮想ヘッド位置を示す図、(B)はデータ退避/格納状態を示す図である。
【図273】(A)および(B)は、いずれも、磁気テープにおけるデータ書込状態を示すとともに、マルチファイルの書き足し処理を行なう際に上位装置から発行される命令の他例と、各命令に応じた第3実施形態の磁気テープ装置でのテープ動作/エミュレーション動作とについて説明するための図である。
【図274】図252(A)および図252(B)に示すようにマルチファイルの書き足し処理を行なう際に、第3実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【図275】図273(A)および図273(B)に示すようにマルチファイルの書き足し処理を行なう際に、第3実施形態の方法を適用しエミュレーションを行なった場合のコマンド処理時間と、エミュレーションを行なわない従来の手法を適用した場合のコマンド処理時間とを対照させて示す図である。
【図276】(A)〜(C)はいずれも本発明の第2実施形態としての磁気テープ装置の制御方法の変形例について説明するための図である。
【符号の説明】
10 磁気テープ制御装置(MTC)
11 チャネルインタフェース回路
12 データ圧縮回路
13 データ伸張回路
14 ホストインタフェース制御部(HIC)
15 フォーマット制御部(FMT)
15a レジスタ
16 コマンドバッファ
16−1 HIC用コマンドポインタテーブル(HQP)
16−2 HIC用コマンドリストテーブル(HQL)
16−3 FMT用コマンドポインタテーブル(FQP)
16−4 FMT用コマンドリストテーブル(FQL)
17 データバッファ
18 RAM
18a,18b 制御領域
18c〜18f 退避領域
20 CPU(コマンド発行元装置,ホストコンピュータ,上位装置)
30 磁気テープ装置(MTU)
40 インタフェース(I/F)変換装置
41 対ホストインタフェース(I/F)回路
42 制御部
43 対MTCインタフェース(I/F)回路
44 コマンドバッファ
45 データバッファ
46 RAM
46a,46b 制御領域
46c〜46e 退避領域
H 磁気ヘッド
MT 磁気テープ

Claims (14)

  1. 磁気テープにおいて、該磁気テープに記録されたファイルの最終データブロックの後に第1テープマークを書き込み、該第1テープマークの後に第1ファイル終端ラベルおよび第2ファイル終端ラベルを書き込み、該第2ファイル終端ラベルの後に第2テープマークを書き込み、当該ファイルが該磁気テープの最後である場合には該第2テープマークの後にさらに第3テープマークを書き込む一方、当該ファイルの後に次のファイルを書き足す場合には、該第3テープマークを書き潰して前記次のファイルを書き込むようにコマンド発行元装置から発行されたコマンドに応じて、磁気テープ装置のテープ動作を制御する方法であって、
    該磁気テープに記録されたファイルのオープン処理に際して、
    該磁気テープ装置において該磁気テープに対するヘッドの位置決め精度を確保すべく該第1テープマークの直前と該第3テープマークの直後との間で該ヘッドを移動させて該第1テープマークの直前と該第3テープマークの直後との間における該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを読取/認識する動作に係るコマンドを該コマンド発行元装置から受けると、該磁気テープ装置において該磁気テープに対するヘッドの位置(以下、実ヘッド位置という)を所定位置としての該第2テープマークの直後の位置に固定したまま、該コマンド発行元装置に対し、当該コマンドが実行されて当該コマンドに応じ該ヘッドが移動しているように見せかける応答を行なうエミュレーションを実行することを特徴とする、磁気テープ装置の制御方法。
  2. 前記ファイルのクローズ処理に際しての該磁気テープ装置の実動作中に、該コマンド発行元装置からのコマンドに応じて該磁気テープ装置で読み取られた該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを退避領域に退避させ、
    前記ファイルのオープン処理に際しての前記エミュレーションの実行中に該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルの読取を指示するコマンドの応答として、該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを該退避領域から該コマンド発行元装置へ転送することを特徴とする、請求項1記載の磁気テープ装置の制御方法。
  3. 前記ファイルのクローズ処理に際しての該磁気テープ装置の実動作中に、該コマンド発行元装置からのコマンドに応じて該磁気テープ装置で書き込まれた該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを退避領域に退避させ、
    前記ファイルのオープン処理に際しての前記エミュレーションの実行中に該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルの読取を指示するコマンドの応答として該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを該退避領域から該コマンド発行元装置へ転送することを特徴とする、請求項1または請求項2に記載の磁気テープ装置の制御方法。
  4. 前記ファイルのクローズ処理に際しての該磁気テープ装置の実動作中に、該コマンド発行元装置からのコマンドに応じて該磁気テープ装置でスキップされた該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを実際に読み取る実リード動作を該磁気テープ装置に実行させ、読み取った該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを退避領域に退避させ、
    前記ファイルのオープン処理に際しての前記エミュレーションの実行中に該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルの読取を指示するコマンドの応答として該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを該退避領域から該コマンド発行元装置へ転送することを特徴とする、請求項1〜請求項3のいずれか1項に記載の磁気テープ装置の制御方法。
  5. 前記ファイルのオープン処理に際しての前記エミュレーションの実行中に該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルの読取を指示するコマンドを受けた時に該退避領域に前記ファイル終端ラベルが退避されていない場合、前記エミュレーションを中断し該第1ファイル終端ラベルもしくは該第2ファイル終端ラベルを実際に読み取る実リード動作を該磁気テープ装置に実行させ、読み取った該第1ファイ ル終端ラベルもしくは該第2ファイル終端ラベルを該コマンド発行元装置へ転送することを特徴とする、請求項2〜請求項4のいずれか1項に記載の磁気テープ装置の制御方法。
  6. 該コマンド発行元装置と該磁気テープ装置との間に、該磁気テープへのライトデータや該磁気テープからのリードデータを一時的に格納するデータバッファを介装し、該コマンド発行元装置と該データバッファとの間のリード/ライト処理と、該データバッファと該磁気テープ装置との間のリード/ライト処理とを非同期で行なうことを特徴とする、請求項1〜請求項5のいずれか1項に記載の磁気テープ装置の制御方法。
  7. 前記エミュレーションの実行中、該コマンド発行元装置から受けたコマンドを実際に実行した時の、該磁気テープ装置における該ヘッドの移動先位置(以下、仮想ヘッド位置という)を、該ヘッドが固定されている前記所定位置に対するヘッドの相対位置として管理することを特徴とする、請求項1〜請求項6のいずれか1項に記載の磁気テープ装置の制御方法。
  8. 前記エミュレーションの実行中に該磁気テープ装置における実ヘッド位置を要求するコマンドを受けた場合、前記の所定位置と相対位置との和を生成し、その和を実ヘッド位置として該コマンド発行元装置に対して通知することを特徴とする、請求項7記載の磁気テープ装置の制御方法。
  9. 前記エミュレーションの実行中に該磁気テープ装置が実動作へ移行する場合、前記の所定位置と相対位置との和として該磁気テープ装置における実ヘッド位置を生成し、該磁気テープ装置における該ヘッドを当該実ヘッド位置に再位置付けすることを特徴とする、請求項7記載の磁気テープ装置の制御方法。
  10. 前記ファイルのクローズ処理に際しての該磁気テープ装置の実動作中に、該磁気テープに該第2テープマークを書き込んだ後に該第3テープマークの書込を要求するコマンドを受けた場合、該第3テープマークを書き込むことなく該第3テープマークの書込完了を該コマンド発行元装置に対して通知することを特徴とする、請求項1〜請求項9のいずれか1項に記載の磁気テープ装置の制御方法。
  11. 前記ファイルのオープン処理に際しての前記エミュレーションの実行中に該ヘッドの位置が該第1テープマークの直前から該第3テープマークの直後までの範囲を超えるコマンドを受けた場合、該第3テープマークを書き込んでから、当該コマンドに応じたテープ動作を該磁気テープ装置に実行させることを特徴とする、請求項10記載の磁気テープ装置の制御方法。
  12. 該コマンド発行元装置からのコマンドに応じたテープ動作に伴い該磁気テープ装置において該第2テープマークの後にEOD(End Of Data)を検出した時に、該コマンド発行元装置に対し該EODの検出通知に代えて該第3テープマークの検出通知を行なって、該コマンド発行元装置が該第3テープマークの未書込を異常として検知することを防止することを特徴とする、請求項10記載の磁気テープ装置の制御方法。
  13. アンロードやリワインドを含むモーション系コマンドを受けた場合、該第3テープマークを書き込んでから、当該モーション系コマンドに応じたテープ動作を該磁気テープ装置に実行させることを特徴とする、請求項10記載の磁気テープ装置の制御方法。
  14. 該磁気テープにおいて、複数のファイル終端ラベルが、パケッティング機能により1つの物理ブロックとして記録され、
    前記ファイルのクローズ処理に際しての該磁気テープ装置の実動作中に、前記複数のファイル終端ラベルのうちの1つの読取を指示するコマンドを受けると、読み取るべきファイル終端ラベルを含む前記1つの物理ブロックを該磁気テープから読み出して該データバッファに格納し、
    前記ファイルのオープン処理に際しての前記エミュレーションの実行中に、前記複数のファイル終端ラベルのうちの1つの読取を指示するコマンドの応答として、そのコマンドに応じたファイル終端ラベルを該データバッファから読み出して該コマンド発行元装置へ転送することを特徴とする、請求項6記載の磁気テープ装置の制御方法。
JP2000054019A 1999-08-06 2000-02-29 磁気テープ装置の制御方法 Expired - Fee Related JP3931017B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000054019A JP3931017B2 (ja) 1999-08-06 2000-02-29 磁気テープ装置の制御方法
US09/539,805 US7568067B1 (en) 1999-08-06 2000-03-30 Method for controlling magnetic tape unit

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP22358799 1999-08-06
JP11-287603 1999-10-08
JP28760399 1999-10-08
JP11-223587 1999-10-08
JP2000054019A JP3931017B2 (ja) 1999-08-06 2000-02-29 磁気テープ装置の制御方法

Publications (2)

Publication Number Publication Date
JP2001175420A JP2001175420A (ja) 2001-06-29
JP3931017B2 true JP3931017B2 (ja) 2007-06-13

Family

ID=27330801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000054019A Expired - Fee Related JP3931017B2 (ja) 1999-08-06 2000-02-29 磁気テープ装置の制御方法

Country Status (2)

Country Link
US (1) US7568067B1 (ja)
JP (1) JP3931017B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8069270B1 (en) * 2005-09-06 2011-11-29 Cisco Technology, Inc. Accelerated tape backup restoration
US8266431B2 (en) * 2005-10-31 2012-09-11 Cisco Technology, Inc. Method and apparatus for performing encryption of data at rest at a port of a network device
JP4452269B2 (ja) * 2006-12-11 2010-04-21 インターナショナル・ビジネス・マシーンズ・コーポレーション データ書込みパフォーマンスが改善されたテープ記録装置、及びそのデータ書込み制御方法
US8464074B1 (en) 2008-05-30 2013-06-11 Cisco Technology, Inc. Storage media encryption with write acceleration
JP5712609B2 (ja) * 2010-12-24 2015-05-07 富士通株式会社 データ処理装置及びデータ記録方法
WO2022195985A1 (ja) * 2021-03-18 2022-09-22 富士フイルム株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
JPWO2022195983A1 (ja) * 2021-03-18 2022-09-22

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5034914A (en) * 1986-05-15 1991-07-23 Aquidneck Systems International, Inc. Optical disk data storage method and apparatus with buffered interface
JPS63317950A (ja) 1987-06-19 1988-12-26 Fujitsu Ltd 磁気テ−プによるデ−タ収録処理方式
JP3433978B2 (ja) 1993-07-30 2003-08-04 富士通株式会社 入出力制御装置
US5485321A (en) * 1993-12-29 1996-01-16 Storage Technology Corporation Format and method for recording optimization
JP2581003B2 (ja) 1994-05-26 1997-02-12 日本電気株式会社 記録用ディスク制御装置
JPH0845244A (ja) 1994-07-29 1996-02-16 Sony Corp 磁気記録再生装置
US6098148A (en) * 1997-05-29 2000-08-01 International Business Machines Corporation Storage and access of data using volume trailer
US6389503B1 (en) * 1997-08-04 2002-05-14 Exabyte Corporation Tape drive emulation by removable disk drive and media formatted therefor
JPH1166730A (ja) 1997-08-18 1999-03-09 Fujitsu Ltd 磁気テープ装置の制御方法
US6070224A (en) * 1998-04-02 2000-05-30 Emc Corporation Virtual tape system

Also Published As

Publication number Publication date
US7568067B1 (en) 2009-07-28
JP2001175420A (ja) 2001-06-29

Similar Documents

Publication Publication Date Title
US7545381B2 (en) Interruptible GPU and method for context saving and restoring
US7583268B2 (en) Graphics pipeline precise interrupt method and apparatus
US7580040B2 (en) Interruptible GPU and method for processing multiple contexts and runlists
CN102005226B (zh) 将接收的同步数据写入磁带的方法和系统
KR101081090B1 (ko) 명령어 스트림의 효율적인 에뮬레이션을 가능하게 하기 위한 레지스터 기반의 명령어 최적화
US6311240B1 (en) Hardware assisted formatted data transfer system having a source storage controller and a formatting storage controller receiving on-media structure definition and a data definition
JP3931017B2 (ja) 磁気テープ装置の制御方法
US7702954B2 (en) Data storage apparatus having error recovery capability
JPS6050669A (ja) デ−タ復調方式
WO2014074759A1 (en) Optimization concerning address validation in a binary translation system
JP5643152B2 (ja) テープ記憶装置、データ書込み方法、及び、プログラム
US6026468A (en) Method of controlling magnetic tape unit
CN109901946A (zh) 一种纠删码操作方法、装置、设备及存储介质
US7627725B2 (en) Stored data processing apparatus, storage apparatus, and stored data processing program
US6732198B1 (en) Methods and apparatus for saving and restoring scatter/gather list processing context in intelligent controllers
US20080091971A1 (en) Stored data processing apparatus, storage apparatus, and stored data processing program
JP2003241904A (ja) ディスクアレイ装置、及びその制御方法
CN114416614A (zh) 一种用于保护现场和恢复现场的中断处理模块
CN103902368A (zh) 虚拟机磁盘镜像跨存储热迁移实现方法和虚拟机系统
CN102265347B (zh) 在等待时段期间记录多个码字集
US8600727B2 (en) Streamlined execution of emulated code using block-based translation mode
JP3281980B2 (ja) 磁気ディスク装置
JP3710341B2 (ja) キャッシュパージ制御機構を有するプロセッサ
JP2834081B2 (ja) 磁気ディスク制御装置
CN113557497A (zh) 指令排序

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061031

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070312

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3931017

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100316

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110316

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110316

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120316

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130316

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130316

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140316

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees