JPH0456334B2 - - Google Patents

Info

Publication number
JPH0456334B2
JPH0456334B2 JP61156290A JP15629086A JPH0456334B2 JP H0456334 B2 JPH0456334 B2 JP H0456334B2 JP 61156290 A JP61156290 A JP 61156290A JP 15629086 A JP15629086 A JP 15629086A JP H0456334 B2 JPH0456334 B2 JP H0456334B2
Authority
JP
Japan
Prior art keywords
data
magnetic tape
buffer
write
read
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 - Lifetime
Application number
JP61156290A
Other languages
Japanese (ja)
Other versions
JPS6314349A (en
Inventor
Masayuki Ishiguro
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 JP61156290A priority Critical patent/JPS6314349A/en
Publication of JPS6314349A publication Critical patent/JPS6314349A/en
Publication of JPH0456334B2 publication Critical patent/JPH0456334B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】[Detailed description of the invention]

〔目次〕 概 要 産業上の利用分野 従来の技術、および、発明が解決しようとする問
題点 問題を解決するための手段および作用(第1図、
第2図) 実施例 (a) 一実施例の構成図の説明(第3図) (b) 先取り制御部の構成の説明(第4図,第5
図) (c) 一実施例の起動処理動作の説明 (d) 対ホスト処理動作の説明図 (e) 対ドライブ処理動作の説明 発明の効果 〔概要〕 命令先取り制御を行うリール・リール直接駆動
形磁気テープ装置において、磁気テープの終端部
において、物理的EOT処理モード又は論理的
EOT処理モードの選択に基づく処理を可能とし、
物理的EOT処理モードにおいては更にバツフア
モード(先取アクセス)処理とノンバツフアード
(通常アクセス)処理の選択を可能にする。特に
ノンバツフアモード処理においては、磁気テープ
の物理的EOTと論理的EOTの検出が一致する。 〔産業上の利用分野〕 本発明は、複数の命令および書込データを予め
格納可能なバツフアを有する磁気テープ装置にお
いて、当該バツフアに上位からの命令を先取りし
うる命令先取りを行う装置に関する。 コンピユータの外部記憶装置として広く磁気テ
ープ装置が利用されており、近年特に磁気デイス
ク装置等の他に外部記憶装置のバツクアツプ用と
して用いられている。 このような磁気テープ装置においては、第16
図に示す如く、磁気テープへ書込み読出しを行う
磁気ヘツドと、磁気テープの走駆動を行う磁気テ
ープ駆動部とを有するテープドライブ部1と、ホ
ストコントローラからの命令によりこれを制御す
る制御部CTとが設けられて構成されている。 近年、この制御部CT内にバツフアBFを設け、
ホストコントローラからの命令、データを先取り
し、バツフアBF内に蓄えておき、テープドライ
ブ部1に対しバツフアBF内の命令、データを順
次実行させる命令先取り制御を行うものが開発さ
れ、実用に供されている。 このような磁気テープ装置は、バツフア付き磁
気テープ装置と称され、ホストコントローラから
の命令に対し、非同期でテープドライブ部1を動
作できるので、ホストコントローラ側では一命令
に対しテープドライブ部1の動作完了を待つ必要
なく、命令を継続的に発行でき、又テープドライ
ブ部1もホストコントローラからの命令を待つこ
となく継続的に動作が実行できるから、処理効率
の向上が得られ、特にストリーミングモードの動
作効率を向上しうる。 〔従来の技術、および、発明が解決しようとする
問題点〕 このようなバツフアBFを有して命令を先取り
するために、バツフアBFは複数の命令の蓄積し
うる命令バツフアと、複数のデータの蓄積しうる
データバツフアとで構成され、例えば、命令バツ
フアには最大64命令、データバツフアには最大
256KByteのデータを格納しうるようにして、先
取り命令、データを増加しうるようにしている。 一方、第17図Aに示す如く磁気テープ16は
無限長でなく、有限長のため、終端には、EOT
(END OF TAPE)マーカが貼付されており、
EOT検出後のテープウオーニングエリア
(TWA)は約3mしか使用できない。 従つて、ライト(データ書込)系の処理におい
ては、先取り命令および書込みデータがEOT検
出時に3m分以上であると、これを磁気テープ1
6上にライトできなくなり、何等かの対策が必要
となる。 かゝる対策の一つとしては、磁気テープの終端
であるEOTを検出する以前にテープ終端近傍信
号WAを、例えばEOTの約20m分前に発生し、
これによつて第17図Bの如く、バツフアBFの
データバツフアの蓄積可能量(データバイト数)
を減少させていた。例えば第17図Bの如く最大
256KB(キロバイト)のデータの蓄積できるデー
タバツフアに対し、EWAに入つたらこれを
128KBに制限し、データバツフアのデータ蓄積
量が128KB以下にならないと、ホストコントロ
ーラからのライトデータの受付けを許可しないよ
うにして、係る書込み不能を防止するようにして
いた。すなわちデータバツフアの容量を制限する
ことによつて、間接的にライト系命令の先取り数
を制限しようとするものである。 一方、係るバツフア付き磁気テープ装置の性能
は、命令先取り数に大きく影響され、命令先取数
が多いほうがストリーミング走行を長く維持で
き、性能的に優れている。 しかしながら、EOT以降のテープウオーニン
グエリア(TWA)に書込み可能な長さは限られ
ており、EOT検出時に命令先取り数が多過ぎる
と、先取りした全ての命令を実行することができ
なくなる。このため、EOT付近までは先取り数
をできるだけ多くし、ETOが近付いたら書込み
可能な数に減らすことが必要である。 しかしながら、従来技術では、データバツフア
の容量制限を行うことから、先取りされるライト
系命令自体が不当に先取り制限されたり、ライト
系命令のうち先取り制限されないものも生じ、テ
ープ終端領域の近傍において効率の良いストリー
ミング走行が困難であるという問題が生じてい
る。即ち、テープ終端領域近傍におけるライト系
命令を先取り制限し過ぎて、ストリーミング走行
が行われなかつたり、ライト系命令の先取りが多
過ぎて、ストリーミング走行は行われてもTWA
内で全ての命令が実行できないという事態が生じ
ている。 尚、命令先取数を制限する方法としては、
EWA領域において最低限度まで一気に制限する
方法又は命令受付けに応じて序々に制限していく
方法が提案されている(例えば、特願昭60−
153831、「磁気テープ装置の命令先取り制御方法
及びその装置」)。同様に、アーリーウオーニング
検出後、EOTの前のロジカルEOT点において命
令先取数を制御する方法が提案されている(例え
ば、特願昭60−214248、「磁気テープ装置の命令
先取り制御方法及びその装置」)。さらに、最大ブ
ロツク数により命令先取数を制限する方法が提案
されている(例えば、特願昭60−222498、「磁気
テープ装置の命令先取り制御方法及びその装
置」)。 以上の方法は、磁気テープの使用効率を高める
という効果を奏するものである。一方、命令先取
数を制限するため、バツフア制御からみた性能は
低下する。 以上の方法とは別に、ライト系命令実行中に
TWAが近いことを検出したとき、仮想的にEOT
検出とみなして、先取り命令を全て実行した後、
ホストコンピユータ側へEOT検出を報告するも
のが提案されている(例えば、特願昭60−
235807、「磁気テープ装置の命令先取り制御方法
及びその装置」)。この方法によれば、実際の
EOT検出前に仮想的なEOT(ロジカルEOT)検
出する一方、ロジカルEOTまで命令先取り数を
低下させることなく命令先取りを行うので、バツ
フア制御からみた性能にすぐれる。 以上の如く両者には性能に一長一短はあるが、
共に実際のEOTマーカと検出するEOTとの間に
差異がある。すなわち前者のテープの使用効率を
重視する方法によれば、EOT附近でも命令先取
りがあるので、ホストからみた場合実際のEOT
より後にEOTマーカーがあるように見える。一
方、後者のバツフア制御の性能を重視する方法に
よれば、実際のEOTより前にEOTマーカーがあ
るように見える。 本来実際のEOTと報告されるEOTとは一致す
ることが望ましいのであるが、リード時とライト
時のEOT報告ブロツクが上述の如く不一致であ
ると、システムによつては支障をきたすものがあ
る。 従つて、前述のバツフア制御の利点を活かしつ
つ、実際のEOTと報告されるEOTとが一致する
ようにすることが望まれている。 〔問題を解決するための手段および作用〕 本発明においては、第1図〜第3図に図示の如
く、磁気ヘツドおよびリールに巻回された磁気テ
ープを駆動する磁気テープ駆動機構を有する磁気
テープドライプ部、上位から与えられた前記磁気
テープへのアクセス命令を複数個先取り蓄積する
と共に前記磁気テープへのアクセス結果を前記上
位に送出するバツフア制御手段、および、該バツ
フア制御手段に先取り蓄積されたアクセス命令又
は個々のアクセス命令に応答して前記磁気テープ
ドライブ部を制御し、該アクセス命令に応答する
動作を行う磁気テープ制御手段、を具備する磁気
テープ装置が提供される。 前記バツフア制御手段が、予め与えられた物理
的終端処理モード又は論理的終端処理モード、お
よび先取アクセスモード又は通常アクセスモード
に基いて、(a)前記物理的終端処理モードの場合、
先取アクセスモードにあつては磁気テープの終端
領域の前領域における先取命令数を所定の値に低
下させ且つ磁気テープが終端領域に到達したら先
取命令数を零にし、通常アクセスモードにあつて
は前記磁気テープの終端領域の前領域に到達した
ら先取命令数を零にし、(b)前記論理的終端処理モ
ードの場合、磁気テープの終端領域の前領域に到
達したら前記上位へ終端領域を通知し、先取命令
数を零にし、前記終端処理モード、アクセスモー
ドに応じて磁気テープへのアクセスを行なう。 〔実施例〕 (a) 一実施例の構成図の説明 第3図に本発明の実施例の磁気テープ装置及び
関連部の全体構成図を示す。磁気テープ装置10
0は、磁気テープリール駆動用モータ(図示せ
ず)、該モータを駆動するためのサーボ系22、
駆動回路等から成るドライブ部1、該ドライブ部
を制御するためのドライブ制御部2、リード/ラ
イトアンプ部23、オペレータパネル24および
先取り制御部3を有する。先取り制御部3のホス
ト(上位)として、ホストコンピユータシステム
200内のMT制御アダプタ203がコモンバス
210を介してCPU201に接続されている。
コモンバス210には、デイスク制御アダプタ2
02、メモリ204等がMT制御アダプタ203
と同様に接続されている。 先取り制御部3は、MT制御アダプタ203の
下位、換言すれば、MT制御アダプタ203が先
取り制御部3の上位となり、ドライブ制御部2か
らみると、先取制御部3が上位となる。 第3図の磁気テープ装置の構成を第4図に示
す。 図中、第16図で示したものと同一のものは同
一の記号で示してあり、1はリール間直接駆動方
式の磁気テープドライブユニツト(以下ドライブ
と称す)であり、巻取リール(マシンリール)1
1と供給リール(フアイルリール)12の間に磁
気テープ16がテンシヨンアーム15のローラ1
5a、磁気ヘツド14、アイドラ13を介して巻
取リール11に至るよう構成され、磁気ヘツド1
4の両側ではガイド17a,17bによつてガイ
ドされている。一方、巻取リール11、供給リー
ル12は各々駆動モータ10a,10bによつて
回転駆動され、更に駆動モータ10a,10bに
はロータリーエンコーダ18a,18bが設けら
れ駆動モータ10a,10bの回転量を検出でき
るようにしている。又、アイドラ13にもロータ
リーエンコーダ19aが設けられ、これによつて
実際のテープの走行位置の監視を可能とし、一
方、テンシヨンアーム15には張力検出器19b
が設けられ、テープ張力の検出を可能としてい
る。 2はドライブ制御部であり、後述する命令・デ
ータ先取り制御部からの命令及びデータによつて
テープ走行駆動及びヘツド書込み又は読取り駆動
を行うものであり、各ロータリーエンコーダ18
a,18b,19aの出力を受けて走行状態を監
視し、又張力検出器19bの出力より張力を監視
し、駆動回路20,21を介し両駆動モータ10
a,10bを制御して、テープ張力を一定にしつ
つテープを走行駆動するとともに磁気ヘツド14
にライトデータを与え書込みを行わせ且つ磁気ヘ
ツド14からのリードデータを受けるものであ
る。 3は命令・データ先取り制御部であり、ホスト
コントローラ203からのライト系又はリード系
の命令及びライトデータを受け、これらをバツフ
アに蓄える。ライト系命令ならドライブ制御部2
へライト命令及びライトデータを送り、ライト動
作せしめ、且つ正常終了なら次のブロツクのライ
ト命令及びライトデータを送る。正常終了でなけ
ればドライブ制御部2へライトリトライ動作せし
めるものである。命令・データ先取り制御部3
は、後述する命令バツフアとデータバツフアを有
し、上述の如くホストコントローラに対しては下
位の磁気テープ装置として動作し、ドライブ制御
部2に対してはホストコントローラと同等の上位
装置として動作するアダプタである。 (b) 先取り制御部の構成の説明 第5図は第4図構成における要部、即ち、命令
データ先取り制御部3の構成図である。 図中、30はマイクロプロセツサ(以下MPU
と称す)であり、後述するプログラムメモリのマ
イクロプログラムに従つてホストコントローラか
らの命令及びデータの受信制御及びデータ、ステ
ータスの送信制御を行うとともに、ドライブ制御
部2へ命令、データの送信制御及びドライブ制御
部からのデータ、ステータスの受信制御を行い、
更にドライブ1の状態制御の処理を行う。31a
はプログラムメモリであり、MPU30が実行す
べきプログラムを格納しておく。31bはランダ
ムアクセスメモリ(以下RAMと称す)であり、
MPU30の処理に必要な各種データ、命令、パ
ラメータを格納しておくものであり、命令バツフ
アエリアCBUF、命令バツフア管理エリアCA及
びデータバツフア管理エリアDA、各種モード管
理エリアEA、リード命令レジスタRC有するもの
である。命令バツフアエリアCBUFには、ライト
系コマンド時には、ホストコントローラから先取
りした命令及びその命令により転送されたデータ
のデータバツフア内の先頭アドレス、バイトカウ
ント数などが格納される。リード系コマンド時に
は先読みしたブロツクのリード実行結果、リード
データのデータバツフア内の先頭アドレス、バイ
ト数などが格納される。命令バツフア管理エリア
CAには、命令記憶数CBSTKと、バツフアサイ
ズCBSIZEと、命令先取りの制限値CBEが格納さ
れる。命令記憶数CBSTKとしては、ライト系コ
マンド時には、命令バツフアエリアCBUFに記憶
され、未だ実行されていない先取り命令数が格納
される。リード系コマンド時には先読みブロツク
数が命令記憶数CBSTKとして格納される。バツ
フアサイズCBSIZEは、命令バツフアエリア
CBUFの大きさを命令数で示したものである。制
限値CBEは、ロジカル(論理的)EOTモードで
ない時、すなわちフイジカル(物理的、換言すれ
ば実際の)EOTモード時のアーリーウオーニン
グ領域EWAにおけるライト系命令先取り数の制
限値である。 データバツフア管理エリアDAには、データバ
ツフアの空き容量を単位数(IKB単位)で示すバ
ツフア空き容量FSEGと、データバツフアへの書
込みを行うデータ転送時のデータバツフアの先頭
アドレスを示すバツフアアドレスBADRと、処
理の対象となるデータブロツクの最大長を示す最
大ブロツク長MAXLとが格納される。 モード管理エリアEAには、ロードポイントか
らの書込み時の記録密度(1600rpi(row per
inch)又は6250rpi)を決定するための書込み記
録密度と終端処理モードを決定するEOTモード
と、ロジカルEOTモード時にEWA検出後のテー
プ走行距離を格納する走行カウンタECTRと
ECTRの値が有効であることを示す距離計数有効
フラグと先取り命令数を低下すべきであることを
示すリデユースドフラグとロジカルETを検出
したことを示すLETフラグが格納される。 32aはドライブインターフエイス回路であ
り、ドライブ制御部2との間で制御信号等のやり
とりを行うためのものである。32bはホストイ
ンターフエイス回路であり、ホストコントローラ
との間で制御信号等のやりとりをするものであ
る。33はデータ転送制御回路であり、後述する
データバツフアを制御してホストコントローラ或
いはドライブ制御部2との間のデータ転送を制御
するものである。データ転送制御回路33はホス
トコントローラへデータ転送要求信号を発し、且
つドライブ制御部2からのデータ転送要求信号を
受けデータ転送制御を行う。データ転送制御回路
33はデータバツフアへのストアアドレスカウン
タSCTR、データバツフアからのロードアドレス
カウンタLCTR、バツフアロード時のバイトカウ
ンタBCTRなどを有するものである。 34はデータバツフアであり、データ転送制御
回路33によつて制御され、ホストコントローラ
からのライトデータを蓄え、ドライブ制御部2へ
転送する。また逆にドライブ制御部2からのリー
ドデータを蓄え、ホストコントローラへ転送する
ためのものである。データバツフア34は、例え
ば256KBの容量を持つ。35はデータバスであ
り、MPU30とプログラムメモリ31a、
RAM31b、ドライブインターフエイス回路3
2a、ホストインターフエイス回路32b、デー
タ転送制御回路33とを接続しコマンド、データ
のやりとりを行う。 36aは制御信号線であり、ドライブ制御部2
へコマンド等を送信し、逆にドライブ制御部2か
らステータス等を受信するためのものである。3
6bはテープエンド近傍領域検出信号線であり、
ドライブ制御部2からのテープエンド近傍領域検
出(EWA)信号の転送のためのものである。3
6cは割込み線であり、ドライブインターフエイ
ス回路32aよりMPU30へ割込みを通知する
ものである。37aはデータ制御信号線であり、
ドライブ制御部2からデータ転送要求信号をデー
タ転送制御回路33へ伝え、データ転送終了信号
をドライブ制御部2へ伝えるためのものである。
37bはライトデータバスであり、データバツフ
ア34からライトデータをドライブ制御部2へ伝
えるためのものである。37cはリードデータバ
スであり、ドライブ制御部2からのリードデータ
をデータバツフア34へ伝えるためのものであ
る。38は制御信号線であり、ホストコントロー
ラとコマンド、ステータスのやりとりを行うため
のものである。39aはデータ転送制御信号線で
あり、ホストコントローラへデータ転送要求信号
を伝え、ホストコントローラからのデータ転送終
了信号を伝えるためのものである。39bはライ
トデータバスであり、ホストコントローラからの
ライトデータをデータバツフア34へ伝えるため
のものである。39cはリードデータバスであ
り、ホストコントローラへデータバツフア34か
らリードデータを伝えるためのものである。 従つて、MPU30はデータバス35を介し
RAM31b、ホストインターフエイス32b、
ドライブインターフエイス回路32a、データ転
送制御回路33との間で書込み、読出しを行い、
後述する磁気テープアクセスのための所望の処理
を行う。即ち、ホストコントローラと制御信号線
38を介しMPU30の制御によりホストインタ
ーフエイス回路32bがコマンド、ステータスの
和やりとりを行い、ドライブ制御部2と制御信号
線36aを介しMPU30の制御によりドライブ
インターフエイス回路32aがコマンド、ステー
タスのやりとりを行う。一方、MPU30の指示
によりデータ転送制御回路33が、データ転送制
御信号線39aを介しホストコントローラにデー
ダ転送要求を発し、これに応じてホストコントロ
ーラはライトデータを、ライトデータバス39b
を介しデータバツフア34へ送り、該バツフアに
蓄積せしめる。又、ドライブ制御部2からのデー
タ転送制御信号線37aのデータ転送要求によ
り、データ転送制御回路33はライトデータバス
37bを介しデータバツフア34のライトデータ
をドライブ制御部2へ発する。 更に、データ転送制御回路33はMPU30の
指示によりドライブ制御部2からリードデータバ
ス37cを介するリードデータをデータバツフア
34に蓄え、ホストコントローラへリードデータ
バス39cを介しデータバツフア34のリードデ
ータを送信する。 尚、ドライブ制御部2は、ロータリーエンコー
ダ19aによる走行位置の監視によつてテープ終
端領域近傍を検出してEWA信号を信号線36b
に発し、EOT検出によつてTWA信号を信号線3
6aに発する。 このような先取り制御部3とホストコントロー
ラ、デバイス1間のインターフエイスは、第6図
に示す如く、ホストコントローラからの起動信号
GOとコマンド信号が与えられることによつて
(第6図a,b)MPU30はホストインターフエ
イス回路32bを介し応答信号:フオーマツタ・
ビジイ信号FBYをホストコントローラへ返答し、
更にコマンド実行中を示すデータビジー信号
DBYをホストコントローラへ与える(第6図c,
d)。 コマンド信号がデータ転送を伴うライト系コマ
ンドなら、データ転送制御回路33からホストコ
ントローラヘライトストローブパルスWSTBを
与えて(第6図f)、ホストコントローラからは
ライトストローブパルスWSTBに同期してライ
トデータが転送され(第6図b)、データバツフ
アに順次格納される。ホストコントローラは最終
のライトデータと同時にライトワード信号LWD
をデータ転送制御回路33へ送出し、(第6図
h)、制御回路33はこのラストワード信号LWD
を検出するとライトストローブパルスWSTBの
送出を止め、データ転送を終了し、受信動作の正
常/異常を示すステータス信号をホストコントロ
ーラへ与え、データビジーDBYをオフしてライ
トデータの転送動作を終了する(第6図d)。尚、
受信コマンドは命令バツフアCBUFに格納され
る。 一方、コマンドがリードコマンドなら、テープ
ドライブ1から読取つたリードデータをリードス
トローブパルスRSTBとともにホストコントロー
ラへ転送する(第6図i)。リードデータ転送の
終了はデータビジーDBYをオフすることによつ
て(第6図d)、ホストコントローラへ通知され
る。 このようなインターフエイス手順は、第7図に
示す如く先取り部3とドライブ1との間も同様で
あり、先取り部3の命令バツフアCBUF、データ
バツフア34がフルの状態では、ホストコントロ
ーラからGO信号、ライトコマンドが到来しても
(第7図a,b)、バツフアCBUF、データバツフ
ア34が空くまでデータビジーDBYをオンにし
ないようにして(第7図c)データ転送を待たせ
るようにしている。 (c) 一実施例の起動処理動作の説明 第8図は本発明の一実施例動作の起動処理フロ
ー図、第9図および第10図は第8図における初
基設定処理フロー図である。 ステツプ:S101〜S102 電源が投入されると、MPU30はドライブイ
ンターフエイス回路32aを介し、ホストコント
ローラ203又はオペレータパネル24から設定
されるドライブの書込み記録密度設定と終端処理
モード設定とを調べ、RAM31bのエリアEA
の書込み記録密度にドライブの書込み記録密度設
定を記憶しEOTモードに終端処理モード設定を
記憶する。本実施例においては、書込記録密度は
6250rpi又は1600rpiである。そして第9図に図示
の初期設定処理1を行う。即ち、MPU30は、
コマンドが未だ与えられていないののでRAM3
1の命令バツフア管理エリアCAの命令スタツク
数CBSTKを零にクリアし、先取命令容量
CBSIZEを最大の64にするS151。次いで
MPU30は、データバツフア管理エリアDAの
バツフア空き容量(フリーセグメント)FSEGを
最大の256単位(但し、1セグメントは1KBを表
わすので、最大256KB)とし、データバツフア
アドレスBADAを初期アドレス“00”に設定す
る(以下、“XX”は16進数値のXXを示す)、デ
ータバツフア管理エリアDAの最大ブロツク長
MAXLを最小の8単位(但し、1ブロツクは
1KBを表わすので、8KB)に設定する(ステツ
プS152)。さらにMPU30は、エリアEAの
距離有効フラグをオフにし、リデユースドフラグ
をオフにし、ロジカルEOTフラグをオフとして
(S153〜S155)初期設定1を終了する。 ステツプ:S103〜S104 電源投入時あるいはリワインド命令REW、ア
ンロード命令UNL実行後の初期設定終了後又は
ホストからの起動待ちルーチンにおいて、MPU
30はバス35を介しドライブインターフエイス
回路32aを介し磁気テープが供給リール12に
セツトされたオンライン状態ON−LINEにある
かを調べる。 オンライン状態にあれば、MPU30はバス3
5を介しホストインターフエイス回路32bのレ
ジスタの内容を調べ、ホストからREW命令又は
UNL命令が到来しているかを調べる。 ステツプ:S131〜S134 REW命令又はUNL命令が到来していれば、
MPU30はドライブ制御部2の実行処理モード
がリード系か、ライト系か又は実行中でないかを
調べる。 実行処理モードがリード系なら、ドライブ1の
先読みを停止させる。即ち、ドライブ制御部2が
実行中の処理を終了したならばドライブインター
フエイス回路32aを介し制御線36aよりドラ
イブ制御部2に、新たな処理を命じないように
し、リード系処理を停止させる。 一方、実行処理モードがライト系なら、命令バ
ツフアCBUF内の全てのライト系命令を実行させ
る。 そして、全命令の実行後S133、実行中の処
理なしの場合又はドライブの先読み処理の停止後
S132、MPU30はドライブインターフエイ
ス回路32aを介し磁気テープを始点BOT
(Begin of Tape)まで巻すためREW命令又は
磁気テープを巻取るためUNL命令をドライブ1
に与えてこれを実行させ、ステツプS102の初
期設定1へ戻る。 ステツプ:S105 REW命令又はUNL命令が到来していないと、
MPU30はバス35を介しホストインターフエ
イス回路32bのレジスタの内容を調べ、ホスト
からの起動指令GO(第6図a)があるかを調べ
る。 ホストからの起動がなければ、起動待ちとな
り、ステツプS103へ戻る。 ステツプ:S106 ホストからの起動あり、即ちGO信号受信と判
断すると、MPU30はバス35を介しホストイ
ンターフエイス回路32bのレジスタの内容を調
べ、与えられた命令コードが何かを判断する。 与えられた命令コードがリード系ならステツプ
S141へ、記録密度設定ならステツプS121
へ進み、その処理ルーチンを実行する。 ステツプ:S121〜S126 命令が記録密度設定なら、MPU30はホスト
インターフエイス回路32bを介しデータビジー
DBYをオンとして通知し、更にドライブインタ
ーフエイス回路32aを介しドライブ1の磁気テ
ープ16がロードポイントLDP、即ちBOTの位
置にあるかを調べる。 ロードポイントLDPにあれば、記録密度設定
命令が有効であるので、MPU30はドライブイ
ンターフエイス回路32aを介し、ドライブに対
して記録密度設定命令を実行した後に、RAM3
1bの各種モード管理エリアEAの記録密度スト
ア部にホストから指示された記録密度をセツトす
る。 ロードポイントLDPになければ、記録密度設
定命令は無効でありドライブに対する記録密度設
定命令の実行及び書込み記録密度のセツトは必要
ない。 その後、MPU30はホストインターフエイス
回路32bを介しホストへ終了報告し、データビ
ジーDBYをオフして、ステツプS103へ戻る。 ステツプ:S107〜S111 与えられた命令がライト系なら、MPU30は
ドライブ制御部2の実行処理モードがリード系
か、ライト系か又は実行中でないかを調べる。 実行処理モードがリード系なら、ドライブ1の
先読み処理を停止させる。即ち、ドライブ制御部
2が実行中の処理を終了したならばドライブイン
ターフエイス回路32aを介し制御線36aより
ドライブ制御部2に、新たな処理を命じないよう
にし、リード系処理を停止させる。 次に第10図に図示の初期設定2を実行する。
すなわち、MPU30はRAM31bの命令バツ
フア管理エリアCAの命令記憶数CBSTKを零に
クリアしS161、データバツフア管理エリア
DAのバツフア空き容量FSEGを最大の256と
し、データバツフアアドレスBADRを“00”に
設定するS162。 上記処理の終了後又はドライブ制御部2が実行
中でなければ、MPU30はテープ位置を調整す
べく、ドライブ制御部2にテープ位置調整のため
の命令(スペースまたはバツクスペース)をドラ
イブインターフエイス回路32aを介し命じる。 そして後述するライト系処理ルーチンへ進む。 一方、ステツプS107で実行処理モードがラ
イト系なら直ちにライト系処理ルーチンへ進む。 ステツプ:S141〜S147 転送された命令がリード系なら、MPU30は
ドライブ制御部2の実行処理モードがリード系
か、ライト系か又は実行中でないかを調べる。 実行処理モードがリード系なら、MPU30は
先づリード方向が一致しているか、すなわち、フ
オワード方向ならフオワード方向、リバース方向
ならリバース方向であるか否か、を調べリード方
向不一致ならドライブ1の先読み処理を停止させ
る。即ち、ドライブ制御部2が実行中の処理を終
了したならばドライブインターフエイス回路32
aを介し制御線36aよりドライブ制御部2に、
新たな処理を命じないようにし、リード系処理を
停止させる。 更に、MPU30はステツプS109で述べた
のと同様の初期設定2を実行しS144、次にス
テツプS111で述べたのと同様のテープ位置調
整を行うS145。 一方、実行処理モードがライト系なら、命令バ
ツフアCBUF内の全ての命令を実行させる。 そして、全命令の実行後、実行中の処理なしの
場合又はドライブ処理の停止後、先読みのための
リード系命令をRAM31bのリード命令レジス
タRCにセツトする。 そして、このセツト後又は、リード方向一致な
ら、リード系処理ルーチンへ進む。 従つて、ホストからの起動がライト系コマンド
であれば、リード系処理中でも、ライト系処理に
切換わり、ライト系処理なら、ライト系処理を続
行する。 そして初期設定1で最大ブロツク長MAXLは
最小の8単位に、初期設定1又は2で命令記憶数
CBSTKは零、データバツフア空き容量FSEGは
最大の256、データバツフアアドレスBADR
は“00”にセツトされる。 又、ロードポイントLDPからの書込み時にお
ける記録密度がRAM31bのエリアEAに設定
される。 (d) 対ホスト処理動作の説明 第11図a,bは対ホストライト系処理フロー
図である。以下、各ステツプの処理を述べる。 ステツプ:S200〜S203 MPU30は第8図に図示のホストコントロー
ラからライト系コマンドによつて起動されると、
ライト系コマンドが格納可能かを調べるため、
RAM31bの命令バツフア管理エリアCAの命
令記憶数CBSTKと命令バツフアサイズCBSIZE
をバス35を介し読み出し比較する。CBSIZE≦
CBSTK、即ち記憶可能な命令数までライト系命
令が命令バツフアCBUFに格納されていると、命
令バツフアCBUFのライト系コマンドの格納を保
留する。 一方、CBSIZE>CBSTKであれば、ライト系
命令の命令バツフアCBUFへの格納が可能なた
め、MPU30は係るライト系命令がデータバツ
フア34を使用するものかどうかを調べる。イレ
ーズERS、ライトテープマークWTMといつた書
込むべきデータがホストコントローラから送出さ
れずデータバツフア34を使用しないものであれ
ば、データビジーDBYをオンとし、次の最終制
限値CBEの初期設定ステツプに進む。 第8図で示した如く上位(ホスト)から起動
(GO)と命令が与えられると、下位(先取り制
御部3)はその命令が実行可能なら、実行中であ
ることを示すデータビジーDBY信号をオンとし
上位へ返す。この関係は先取り制御部3を上位と
し、ドライブ制御部2を下位とした場合も同様で
ある。 逆に、MPU30はライト系命令がデータバツ
フア34を使用する通常のライト命令であると、
データバツフア34への自動転送の許可判断を行
う。 即ち、先づ、MPU30はRAM31bのデー
タバツフア管理エリアDAの空きバツフア容量
FSEGと最大ブロツク長MAXLを読出し、空き
バツフア容量FSEGが最大ブロツク長MAXL以
上か否かを調べる。空きバツフア容量FSEGが最
大ブロツク長AMXL以下なら、ライトデータの
受信を保留し、データバツフア34が最大ブロツ
ク長MAXL分空くまで待つ。空きバツフア容量
FSEGが最大ブロツク長MAXL以上なら、転送
許可する。従つて、前述のデータビジーDBY信
号をオンとして、ホストコントローラへ転送可能
を通知する。 ステツプ:S204〜S207 MPU30は、ドライブインターフエイス回路
32aを介しドライブ1の磁気テープ16がロー
ドポイントLDPの位置にあるかを調べる。ロー
ドポイントLDPの位置になければ、既に最終制
限値CBEはセツトされているので、次の自動転
送ステツプS208へ進む。 一方、ロードポイントLDPの位置にあれば、
書込み記録密度に応じた制限値CBEの初期セツ
トを行う。即ち、MPU30はRAM31bのモ
ードエリアEAの書込み記録密度を調べ、書込み
記録密度が1600rpiなら、RAM31bの命令バツ
フア管理エリアCAの制限値CBEに8を、6250rpi
なら同様に制限値CBE16を初期セツトし、ス
テツプS208に進む。 ステツプ:S208〜S214 MPU30は係るライト系命令がデータバツフ
ア34を使用するものかどうかを調べる。データ
バツフア34を使用しないものなら、ステツプS
225へ進む。 一方、データバツフア34を使用するものな
ら、データ転送を実行する。即ち、MPU30は、
RAM31bのデータバツフア管理エリアDAの
先頭バツフアアドレスBADRを読出し、データ
転送制御回路33のストアアドレスカウンタ
SCTRにセツトし、データ転送制御回路33を起
動する。これによつてデータ転送制御回路33は
データ転送制御信号線39aよりデータ転送要求
をホストコントローラへ発する。従つて、ホスト
コントローラはライトデータをライトデータバス
39bよりデータバツフア34へ転送し、データ
転送制御回路33のストアアドレスカウンタ
SCTRのアドレスに従つてライトデータがデータ
バツフア34へ蓄積される。ストアアドレスカウ
ンタSCTRはライトデータが1バイト転送される
毎にカウントアツプする。 データ転送制御回路33がデータ転送終了と判
定すると、MPU30はデータ転送制御回路33
のストアアドレスカウンタSCTRを読出しデータ
バツフア管理エリアDAのバツフアアドレス
BADRとの差を計算して転送されたライトデー
タのバイトカウント数BCを求める。 次に、MPU30はRAM31bの命令バツフ
アCBUF及びデータバツフア管理エリアDAの更
新を行う。 先づ、RAM31bの命令バツフアCBUFの当
該命令部にRAM31bのデータバツフア管理エ
リアDAのバツフアアドレス(即ちライトデータ
の先頭アドレス)BADRと、算出されたライト
データのバイトカウント数BCを格納する。 次に、RAM31bのデータバツフア管理エリ
アDAの空き容量FSEGからデータバツフア34
の使用単位数USEGを差し引き、この空き容量
FSEGを更新し、更に、バツフアアドレスBADR
に使用単位数USEGを加算し、先頭アドレス
BADRを更新する。 ステツプ:S215〜S224 MPU30は前述の使用単位数(受信ブロツク
長)を示す使用セグメントUSEGとRAM31b
のデータバツフア管理エリアDAの最大ブロツク
長MAXLとを比較する。 この比較によつて、使用セグメントUSEGが最
大ブロツク長MAXLより大なら、データバツフ
ア管理エリアDAの最大ブロツク長MAXLをこの
使用セグメントUSEGに更新する。更に、記録密
度と最大ブロツク長MAXLに応じて最終制限値
CBEを更新する。 即ち、MPU30はRAM31bのモードエリ
アEAの書込み記録密度とエリアDAの最大ブロ
ツク長MAXLを読出し、記録密度が1600rpiの場
合には、最大ブロツク長MAXLが16より大なら
最終制限値を最小の2に、最大ブロツク長が16以
下なら最終制限値CBEを4に設定する。 同様に記録密度が6250rpiの場合には。、最大ブ
ロツク長MAXLが32より大なら最終制御値CBE
を2に、最大ブロツク長MAXLが17〜32の間で
は最終制限値CBEを4に、最大ブロツク長
MAXLが16以下なら最終制限値CBEを8に設定
する。 逆に、使用セグメントUSEGが最大ブロツク長
MAXL以下ならS216、上述した最大ブロツ
ク長MAXL、最終制限値CBEの更新は行わず、
ステツプS225へ進む。 ステツプ:S225〜S233 RAM31bのエリアEAのETモードを読
出し終端処理モードを判別するS225。 ロジカルETモードまたは物理的ETモー
ドかつバツフアードモードである場合は第2図c
に図示の如く、第2図aのLETまたは実際の
ETまで命令先取り処理を行うので、LET
フラグ及び実際のET検出信号がオンでなけれ
ば、ホストコントローラから与えられた命令に高
速走行指示を付加してコマンドバツフアエリア
CBUFに格納する。 LETフラグまたは実際のET検出信号が
オンであればノンバツフアード処理を行うため同
期フラグをオンにするS229〜S231。 S225で物理的ETモードかつノンバツフ
アードモードである場合はリデユースドフラグが
セツトされているか否かを調べる。リデユースド
フラグがオフであれば命令先取り処理を行うため
ステツプS229へ移行する。リデユースドフラ
グがオンであればノンバツフアード処理を行うた
め同期フラグをオンにし、ホストコントローラか
ら与えられた命令から高速走行指示を除去して
CBUFに格納する。ここで磁気テープの走行を低
速にするのは次の理由による。ノンバツフアード
モードにおいてはドライブに対する命令発行間隔
が長くなるため、高速走行を指示してもホストコ
ントローラからの命令発行間隔がよほど短くない
限り、高速走行(高速ストリーミング動作)を維
持するのに必要な時間内に次の命令をドライブへ
発行することができずドライブが磁気テープの走
行を停止して再位置決め(リポジシヨン)を行
う。そのため1命令にリポジシヨンが発生し性能
が極度に低下する。低速走行にするとストリーミ
ング動作を維持するのに必要な命令発行間隔時間
が長くなるのでリポジシヨンが発生する可能性が
少なくなる、もしリポジシヨンが発生した場合で
も高速走行時より短時間でリポジシヨンが完了す
る。また 低速走行時においてはリポジシヨンが不要なド
ライブもある。このように低速走行にすることに
よつてリポジシヨン多発による性能低下を防止す
ることができる。 なお、LETフラグ及びリデユースドフラグ
は共にドライブ側処理ルーチンでセツトされるフ
ラグであり、第2図に図示の如くアーリーウオー
ニング点EWPを検出後、一定距離La(この実施
例は50フイートであるが、別の長さでも良く、零
でも良い)走行したとき、すなわちロジカルE
T点LETに達したときにET処理モードを
判別し、ロジカルETモードであればLET
フラグとリデユースドフラグがオンになり、物理
ETモードであればリデユースドフラグのみが
オンになる。またEWP検出後、LETに達する
前に距離情報が喪失された(リード系命令を実行
した)場合はET処理モードに関係なくリデユ
ースドフラグのみオンになる。 以上の処理の後、MPU30は、命令記憶数
CBSTKに1を加算し、RAM31bの命令バツ
フア管理エリアCAを更新するS233。 ステツプ:S234〜S236 リデユースドフラグがセツトされていなけれ
ば、命令バツフアサイズCBSIZEを64とする。そ
うでない場合、命令バツフアサイズCBSIZEに最
終制限値CBEにセツトする。 ステツプ:S237〜S238 ドライブが命令実行中でない場合、第13図に
て後述するドライブ起動処理をする。 ステツプ:S239〜S240 同期フラグがセツトされている場合、ノンバツ
フアモードであるから、ドライブが命令の実行を
終了するまで待機する。 ステツプ:S241〜S244 ドライブ処理終了後、MPU30は、ホストコ
ントローラへホストインターフエイス回路32b
より終了報告(正常終了又はエラー)するととも
にデータビジーDBY信号をオフとし、第8図の
起動待ちルーチンへ戻る。実際のEOTを検出し
ている場合、及びLEOTフラグがオンの場合は終
了報告と同時にEOT検出を報告する。 第12図は対ホストリード系処理フロー図であ
る。以下動作を述べる。 ステツプ:S301〜S306 第8図の起動処理のステツプS141〜S14
7によつてリード系命令を受け、起動処理が行わ
れると、MPU30は、RAM31bのエリアCA
の先読みブロツク数CBSTKから1だけ減算す
る。 MPU30はドライブ制御部2が命令実行中か
を調べ、停止中であれば、第13図にて後述する
ドライブ起動処理を行う。 MPU30は前述のエリアCAの命令記憶数(先
読みブロツク数)CBSTKが0以上かを調べ、0
より小の負の値であれば、リードデータはデータ
バツフア34に転送されていないから、CBSTK
が0以上、即ち、ドライブ1からリードデータが
1ブロツク以上データバツフア34に転送される
まで待つ。 先読みブロツク数CBSTKが0以上となると、
MPU30はホストインターフエイス回路32b
を介してデータビジーDBYをオンにして、ホス
トコントローラへ実行開始を通知する。ドライブ
1からリードデータがデータバツフア34に転送
されているはずであるから、MPU30は、
RAM31bの命令バツフアCBUFからリード実
行結果と、リードデータのデータバツフア34内
先頭アドレスRADRと、リードバイト数RBCを
読出す。 ステツプ:S307〜S311 MPU30はリード方向を調べ、フオワードの
場合前述のステツプでRAM31bの命令バツフ
アCBUFから読出したリード実行結果から、ドラ
イブが当該ブロツクを処理した時にロードポイン
トLDPを検出していたかどうかを調べる。ロー
ドポイントLDPを検出していたならば、ロード
ポイントLDPから最初のブロツクのリードであ
つたので、リード実行結果から記録密度を調べ
る。リード実行結果の記録密度は読取つた磁気テ
ープの記録密度を示している。そして記録密度が
1600rpiなら、RAM31bの命令バツフア管理エ
リアCAの最終制限値CBEに8を、6250rpiなら同
時に最終制限値CBEに16をセツトする。 ステツプ:S311〜S313 MPU30は磁気テープがリバース方向へリー
ド動作中にロードポイントLDPにつき当つた場
合、すなわち磁気テープの始点に到達した場合S
311、リードしたがデータブロツクがなくデー
タ転送ができない場合S312、テープマーク
TMを検出した場合S313、ホストコントロー
ラへの終了報告ステツプS320へ移行する。 ステツプ:S314〜S319 ステツプS311〜S313で述べた以外の場
合、MPU30はホストコントローラから与えら
れたリード系命令がデータ転送を伴うものか否か
を判別する。データ転送を伴なわないリード系命
令としては、スペース(Space)、バツクスペー
ス(Back−Space)、スペースフアイル(Space
File)バツクスペースフアイル(Back Space
File)がある。 データ転送を伴うリード系命令なら、ホストコ
ントローラへのデータ転送を実行する。即ち、
MPU30は、RAM31bの命令バツフア
CBUFから読出した先頭バツフアアドレス
RADRをデータ転送制御回路33のロードアド
レスカウンタLCTRに、リードバイト数をバイト
カウンタBCTRにセツトし、データ転送制御回
路33を起動する。これによつてデータ転送制御
回路33は、リードストローブパルスRSTB(第
6図i)とともにロードアドレスカウンタLCTR
のアドレスに従つてデータバツフア34内のリー
ドデータをホストコントローラに転送する。ロー
ドアドレスカウンタLCTRは、リードデータを1
バイト転送する毎にカウントアツプする。 データ転送制御回路33がリードバイト数分の
データ転送が終了したと判定すると、MPU30
はRAM31bのデータバツフア管理エリアDA
の空き容量FSEGに使用セグメントUSEGを加算
し、更新する。 一方、データ転送を伴わないリード系命令でも
リードデータはデータバツフア34内に転送され
ているので、同様にステツプS318の空き容量
FSEGの更新を行う。 次に、MPU30は前述のリード系命令がフア
イルサーチ系命令、例えばスペースフアイル又は
バツクスペースフアイル等か否かを調べ、フアイ
ルサーチ系命令なら、ステツプS301に戻る。
即ち、フアイルサーチ系命令をリード命令に分割
していることになる。 ステツプ:S320〜S321 フアイルサーチ系命令でない時又は前述のステ
ツプS308でリード方向がフオワードでロード
ポイントLDPを検出していなかつた場合リバー
ス方向へのリード動作においてロードポイントに
到達した場合、データブロツクがない場合、又は
テープマーク検出の場合には、MPU30はホス
トインターフエイス回路32bよりホストコント
ローラへ正常終了又はエラーの終了報告をすると
ともにデータビジーDBY信号をオフとし、第8
図起動待ちルーチンへ戻る。 (e) 対ドライブ処理動作の説明 第13図は対ドライブ起動処理フロー図であ
る。以下、処理内容について述べる。 ステツプ:S401〜S405 MPU30はデータ転送制御回路33の転送方
向モードがライトモードかリードモードかによつ
て実行すべき命令がライト系かリード系かを判断
する。 リードモードであればリード系命令と判定し、
MPU30は、RAM31bのエリアCAの先読み
ブロツク数CBSTKが零より小のマイナスかを調
べる。CBSTKが零以上であればすでに先読みを
行つているので起動しても良いかを調べる。起動
不可(先読み時にエラー等を検出して停止してい
る)の時はリターンする。 一方、起動可能なら、RAM31bの命令バツ
フア管理エリアCAの先読みブロツク数CBSTK
が63より小さいか否かを調べる。63より小でなけ
ればRAM31bの命令バツフアCBUFがフルの
ため、リターンする。 一方、先読みブロツク数が63より小なら、空き
容量FSEGが64KB以上かを調べ、64KB末満なら
データ転送不可としてリターンする。 ステツプ:S406で空き容量FSEGが64KB
以上なら、ドライブ1からのデータ転送可能なた
め、MPU30はRAM31bの先頭アドレス
BADRをデータ転送制御回路33のストアアド
レスカウンタSCTRにセツトし、データ転送制御
回路33をスタンバイ状態とする。 次いでMPU30は距離計数有効フラグをオフ
にし、リード方向がリバースの場合、LEOTフラ
グをオフにする。このオフの後、MPU30はド
ライブインターフエイス回路32aを介し、起動
GO信号と当該リード系命令とをドライブ1へ発
行し、リターンする。 このとき発行する命令には高速走行指示が付加
される。 ステツプ:S421〜S426 ステツプS401でライトモードであるとライ
ト系命令と判定し、ドライブへの自動転送準備を
行う。 即ち、MPU30はRAM31bの命令バツフ
アCBUFから当該ライト系命令を読出し、この命
令がデータ転送を伴う命令かを調べる。データ転
送を伴う命令であれば、MPU30はRAM31
bの命令バツフアCBUFからの先頭アドレス
WADR及びバイト数WBCを検出しデータ転送制
御回路33のロードアドレスカウンタLCTR、バ
イトカウンタBCTRに各々セツトする。更にデ
ータ転送制御回路33をスタンバイ状態にする。 ステツプ:S427〜S429 このスタンバイ状態後又は、前述のデータ転送
を伴なわないライト系命令(イレーズ、ライトテ
ープマーク等)であれば、MPU30はドライブ
インターフエイス回路32aよりEWA信号がオ
ンか、オフかを調べる。EWA信号がオフであれ
ば、磁気テープはEWA領域に入つていないので、
磁気テープの終端部処理としてのイニシヤライズ
を行うため、距離計数有効フラグをオンにし、リ
デユースドフラグ、EOTカウンタECTRをクリ
アする。その後、MPU30は起動GO信号と当
該ライト系命令とをドライブインターフエイス回
路32aを介しドライブ発行し、リターンする。 第14図は対ドライブライト処理フロー図であ
る。以下処理について述べる。 ステツプ:S501〜S511 MPU30はドライブより終了報告を受けると、
終了した命令種別がリード系かライト系かを調
べ、リード系から第15図に図示の対ドライブリ
ード処理へ進む。 終了した命令種別がライト系なら、MPU30
はRAM31bのエリアEAの書込み記録密度を
調べる。 記録密度が6250rpiか1600rpiかにより以下の走
行カウンタの歩進及びLEOT検出点の検出処理に
おけるライトテープマーク長WTM、イレーズ長
ERS、IBG長、判定値EPTRが異なるだけであ
り、処理自体は全く同一である。MPU30は命
令バツフアCBUFの命令がライト命令、イレーズ
バリアブル命令、ライトテープマーク命令、イレ
ーズ固定命令かを調べる。 命令がライト命令又はイレーズバリアブル命令
なら、命令バツフアCBUFから読出したバイト数
WBCを使用セグメントUSEGに変換し、一時的
な値Lとする。又、命令がライトテープマーク命
令なら、固定値であるライトテープマーク長
WTMを同様に一時的な値Lにセツトする。更
に、命令がイレーズ固定命令なら、固定イレーズ
長ERSを同様に一時的な値Lにセツトする。 そして、更に、IBG長を一時的な値Lに加算更
新する。 ステツプ:S512〜S518 磁気テープがアーリーウオーニング領域EWA
内にあるか否かを調べEWA内になければ距離計
数の必要がないのでステツプS519へ移行す
る。EWA内にあれば距離計数有効フラグがオン
か否かを調べ、オンでなければステツプS518
へ移行してリデユースドフラグをオンにする、距
離計数有効フラグがオンであれば前述の一時的な
値Lを走行カウント値ECTRに加算更新する。 次に走行カウント値ECTRが50フイート以上か
否かを調べ50フイート未満であれば命令先取り制
御を変更する必要がないのでステツプS519へ
移行する。50フイート以上であればET処理モ
ードを調べ物理的ETモードであればステツプ
S518へ移行してリデユースドフラグをオンに
し、物理的ETモードでなければLETフラ
グとリデユースドフラグをオンにするS517〜
S518。 ステツプ:S519〜S522 データ転送を伴う命令であるときは、空きセグ
メントFSEGに使用セグメントUSEGを加算し、
空きセグメントFSEGを更新する。 次に命令スタツクCBSTKを1だけ減算し、
CBSTKが零であればリターンする。そうでなけ
れば、前述のライト系処理継続処理第13図へ移
行する。 第15図に対ドライブリード処理フロー図を示
す。以下処理について述べる。 ステツプ:S551〜S561 MPU30はリバース方向へのリード動作でロ
ードポイントLDPに到達した場合、フオワード
方向へのリード動作でデータブロツクを検出しな
かつた場合、テープマークを検出した場合、ドラ
イブからのリードデータ転送が行なわれなかつた
のでステツプS561へ移行しリード実行結果を
コマンドバツフアCBUFに格納した後リターンす
る。 上記以外の場合はバイトカウント数BCを計算
し、バツフアアドレスBADRおよびバイトカウ
ント数BCをコマンドバツフアCBUFに格納する。
更に、空きセグメントFSEGから使用セグメント
USEGを減じて空きセグメントFSEGを更新し、
バツフアアドレスBADRに使用セグメントUSEG
を加算してバツフアアドレスBADRを更新する。 次にリード方向がフオワードで且つEOTを検
出していればステツプS561へ移行し、リド実
行結果をコマンドバツフアエリアCBUFに格納し
て、リターンする。 リード方向がリバース、又は、リード方向がフ
オワードでかつEOTを検出していなければ、リ
ード実行結果をコマンドバツフアエリアCBUFに
格納した後、コマンドスタツク数CBSTKを調べ
る。コマンドスタツク数CBSTKが63以上であれ
ばコマンドバツフアエリアCBUFがフル先読みで
きていないのでリターンする。コマンドスタツク
数CBSTKが63未満であれば先読み可能であるか
ら、リード系処理継続第13図へ移行する。 〔発明の効果〕 以上述べたように本発明によれば、オペレータ
パネルからの指定による磁気テープの終端処理に
ついて、物理的EOTモード又は論理的EOTモー
ドのいずれかに応じて処理が可能となり、物理的
EOTモードについては更にバツフアードモード
又はノンバツフアードモードの処理が可能とな
る。 特にノンバツフアードモードにおいては、1命
令ごとにアクセスを行う在来形と同じ動作とな
り、物理的なEOTと論理的なEOTとが一致す
る。この場合でも、磁気テープの終端部以外は、
命令先取り処理が行なわれることは言うまでもな
い。 またノンバツフアードモードにおいて磁気テー
プの走行速度を低速としているので、リポジシヨ
ン多発による性能低下が防止できる。
[Table of Contents] Overview Industrial Application Fields Prior Art and Problems to be Solved by the Invention Means and operations for solving the problems (Fig. 1,
(Figure 2) Embodiment (a) Explanation of the configuration diagram of one embodiment (Figure 3) (b) Explanation of the configuration of the preemption control section (Figures 4 and 5)
Figure) (c) Explanation of startup processing operation of one embodiment (d) Explanation diagram of host processing operation (e) Explanation of drive processing operation Effects of the invention [Summary] Reel-reel direct drive type that performs command prefetch control In magnetic tape devices, physical EOT processing mode or logical
Enables processing based on the selection of EOT processing mode,
In the physical EOT processing mode, it is further possible to select buffer mode (pre-emptive access) processing and non-buffered (normal access) processing. Particularly in non-buffer mode processing, detection of the physical EOT and logical EOT of the magnetic tape coincide. [Industrial Application Field] The present invention relates to a device for prefetching instructions that can preempt instructions from a higher level in a magnetic tape device having a buffer capable of storing a plurality of instructions and write data in advance. Magnetic tape devices are widely used as external storage devices for computers, and in recent years have been particularly used for backing up external storage devices in addition to magnetic disk devices. In such a magnetic tape device, the 16th
As shown in the figure, there is a tape drive section 1 having a magnetic head for writing and reading data on a magnetic tape, a magnetic tape drive section for running and driving the magnetic tape, and a control section CT for controlling this in accordance with commands from a host controller. It is set up and configured. In recent years, a buffer BF has been installed within this control unit CT,
A system has been developed that performs command prefetch control that preempts commands and data from the host controller, stores them in the buffer BF, and causes the tape drive section 1 to sequentially execute the commands and data in the buffer BF, and has been put into practical use. ing. Such a magnetic tape device is called a buffered magnetic tape device, and can operate the tape drive unit 1 asynchronously in response to commands from the host controller, so the host controller side can operate the tape drive unit 1 in response to one command. Since commands can be issued continuously without having to wait for completion, and the tape drive section 1 can also perform operations continuously without waiting for commands from the host controller, processing efficiency can be improved, especially in streaming mode. Operational efficiency can be improved. [Prior art and problems to be solved by the invention] In order to have such a buffer BF and preempt instructions, the buffer BF has an instruction buffer that can store multiple instructions and a buffer that can store multiple data. For example, the instruction buffer can store up to 64 instructions, and the data buffer can store up to 64 instructions.
It is designed to be able to store 256KBytes of data, allowing for prefetch instructions and data to be increased. On the other hand, as shown in FIG. 17A, the magnetic tape 16 is not infinite in length but has a finite length, so at the end there is an EOT
(END OF TAPE) marker is attached,
The tape walking area (TWA) after EOT detection can only be used for approximately 3m. Therefore, in write (data writing) processing, if the prefetch command and write data are 3 m or more at the time of EOT detection, this will be transferred to the magnetic tape 1.
It becomes impossible to write on 6, and some kind of countermeasure is required. One such countermeasure is to generate a tape end vicinity signal WA, for example, approximately 20 m before EOT, before detecting EOT, which is the end of the magnetic tape.
As a result, as shown in Figure 17B, the amount of data that can be stored in the buffer BF (number of data bytes)
was decreasing. For example, as shown in Figure 17B, the maximum
When entering EWA, this data buffer can store 256KB (kilobytes) of data.
The data buffer is limited to 128 KB, and unless the amount of data accumulated in the data buffer becomes 128 KB or less, acceptance of write data from the host controller is not permitted, thereby preventing such writing failure. In other words, by limiting the capacity of the data buffer, the number of write instructions that can be prefetched is indirectly limited. On the other hand, the performance of such a buffered magnetic tape device is greatly influenced by the number of instructions prefetched, and the larger the number of instructions prefetched, the longer streaming can be maintained and the performance is superior. However, the length that can be written to the tape warning area (TWA) after EOT is limited, and if the number of prefetched instructions is too large when EOT is detected, it becomes impossible to execute all prefetched instructions. For this reason, it is necessary to increase the number of pre-reads as much as possible until near EOT, and then reduce the number to a writable number as ETO approaches. However, in the conventional technology, since the capacity of the data buffer is limited, the prefetched write instructions themselves are unreasonably prefetched, and some write instructions are not prefetched. The problem has arisen that it is difficult to get a good streaming experience. In other words, writing instructions in the vicinity of the tape end area are too preemptively restricted and streaming is not performed, or too many write instructions are being prefetched and streaming is performed but TWA is not performed.
A situation has arisen in which all commands cannot be executed within the system. In addition, as a method to limit the number of command preemptions,
In the EWA area, methods have been proposed to limit the limit all at once to the minimum level or to gradually limit the limit according to the acceptance of commands (for example, Japanese Patent Application No. 1983-
153831, “Instruction prefetch control method and device for magnetic tape device”). Similarly, a method has been proposed for controlling the number of instructions prefetched at the logical EOT point before the EOT after early warning detection (for example, Japanese Patent Application No. 60-214248, ``Instruction prefetching control method for magnetic tape device and its Device"). Furthermore, a method has been proposed in which the number of instructions prefetched is limited by the maximum number of blocks (for example, Japanese Patent Application No. 60-222498, ``Instruction Prefetch Control Method and Apparatus for Magnetic Tape Device''). The above method has the effect of increasing the usage efficiency of magnetic tape. On the other hand, since the number of instructions prefetched is limited, performance from the viewpoint of buffer control is degraded. Apart from the above method, when executing a write instruction,
When detecting that TWA is close, virtually EOT
After all preemption instructions are executed, assuming detection,
Something has been proposed that reports EOT detection to the host computer (for example, Japanese Patent Application 1986-
235807, "Instruction prefetch control method and device for magnetic tape device"). According to this method, the actual
While a virtual EOT (logical EOT) is detected before EOT is detected, instructions are prefetched until the logical EOT without reducing the number of instructions prefetched, resulting in excellent performance from a buffer control perspective. As mentioned above, both have advantages and disadvantages in performance, but
In both cases, there is a difference between the actual EOT marker and the detected EOT. In other words, according to the former method that emphasizes tape usage efficiency, there is instruction preemption even near the EOT, so from the host's perspective, the actual EOT
There appears to be an EOT marker later. On the other hand, according to the latter method that emphasizes the performance of buffer control, the EOT marker appears to be located before the actual EOT. It is originally desirable that the actual EOT and the reported EOT match, but if the EOT report blocks at read and write times do not match as described above, some systems may have problems. Therefore, it is desired to make the actual EOT match the reported EOT while taking advantage of the advantages of the buffer control described above. [Means and effects for solving the problem] In the present invention, as shown in FIGS. 1 to 3, a magnetic tape having a magnetic tape drive mechanism for driving a magnetic tape wound around a magnetic head and a reel is provided. a drive unit, a buffer control means for preemptively storing a plurality of access commands to the magnetic tape given from a higher-order unit, and transmitting a result of accessing the magnetic tape to the higher-order unit; A magnetic tape device is provided that includes a magnetic tape control means that controls the magnetic tape drive section in response to an access command or individual access commands, and performs an operation in response to the access command. Based on a pre-given physical termination processing mode or logical termination processing mode, and a preemptive access mode or normal access mode, the buffer control means (a) in the case of the physical termination processing mode;
In the preemptive access mode, the number of preemptive instructions in the area before the end area of the magnetic tape is reduced to a predetermined value, and when the magnetic tape reaches the end area, the number of preemptive instructions is reduced to zero, and in the normal access mode, the number of preemptive instructions is reduced to a predetermined value. When the area before the end area of the magnetic tape is reached, the number of preemption instructions is set to zero; (b) in the case of the logical termination processing mode, when the area before the end area of the magnetic tape is reached, the end area is notified to the upper layer; The number of prefetch instructions is set to zero, and the magnetic tape is accessed according to the termination processing mode and access mode. [Embodiment] (a) Explanation of a block diagram of an embodiment FIG. 3 shows an overall block diagram of a magnetic tape device and related parts according to an embodiment of the present invention. Magnetic tape device 10
0 is a magnetic tape reel drive motor (not shown), a servo system 22 for driving the motor,
It has a drive section 1 consisting of a drive circuit and the like, a drive control section 2 for controlling the drive section, a read/write amplifier section 23, an operator panel 24, and a preemption control section 3. As a host (upper level) of the preemption control unit 3, an MT control adapter 203 in a host computer system 200 is connected to the CPU 201 via a common bus 210.
A disk control adapter 2 is connected to the common bus 210.
02, memory 204 etc. is MT control adapter 203
are connected as well. The preemption control section 3 is lower than the MT control adapter 203, in other words, the MT control adapter 203 is above the preemption control section 3, and when viewed from the drive control section 2, the preemption control section 3 is above the MT control adapter 203. FIG. 4 shows the configuration of the magnetic tape device shown in FIG. 3. In the figure, the same components as those shown in FIG. )1
1 and a supply reel (file reel) 12, a magnetic tape 16 is attached to the roller 1 of the tension arm 15.
5a, a magnetic head 14, an idler 13, and a take-up reel 11.
4 is guided by guides 17a and 17b on both sides. On the other hand, the take-up reel 11 and the supply reel 12 are rotationally driven by drive motors 10a and 10b, respectively, and rotary encoders 18a and 18b are provided on the drive motors 10a and 10b to detect the amount of rotation of the drive motors 10a and 10b. I'm trying to make it possible. Further, the idler 13 is also provided with a rotary encoder 19a, which makes it possible to monitor the actual running position of the tape, while the tension arm 15 is provided with a tension detector 19b.
is provided to enable detection of tape tension. Reference numeral 2 denotes a drive control section, which drives the tape running and drives the head for writing or reading according to commands and data from a command/data prefetch control section, which will be described later.
a, 18b, and 19a to monitor the running state, and also monitor the tension from the output of the tension detector 19b.
a and 10b to drive the tape to run while keeping the tape tension constant, and also to drive the magnetic head 14.
It supplies write data to perform writing and receives read data from the magnetic head 14. Reference numeral 3 denotes a command/data prefetch control unit which receives write-type or read-type commands and write data from the host controller 203 and stores them in a buffer. For write-related commands, drive control unit 2
A write command and write data are sent to the block to perform a write operation, and if the write operation is completed normally, a write command and write data for the next block are sent. If the process does not end normally, the drive control section 2 is caused to perform a write retry operation. Command/data prefetch control unit 3
The adapter has a command buffer and a data buffer, which will be described later, and operates as a lower-level magnetic tape device for the host controller as described above, and operates as a higher-level device equivalent to the host controller for the drive control unit 2. be. (b) Description of the structure of the prefetch control section FIG. 5 is a block diagram of the main part in the structure of FIG. 4, that is, the instruction data prefetch control section 3. In the figure, 30 is a microprocessor (hereinafter referred to as MPU).
), which controls the reception of commands and data from the host controller and controls the transmission of data and status according to the microprogram in the program memory, which will be described later. Controls reception of data and status from the control unit,
Furthermore, the state control processing of the drive 1 is performed. 31a
is a program memory in which programs to be executed by the MPU 30 are stored. 31b is a random access memory (hereinafter referred to as RAM);
It stores various data, instructions, and parameters necessary for the processing of the MPU 30, and has an instruction buffer area CBUF, an instruction buffer management area CA, a data buffer management area DA, various mode management areas EA, and a read instruction register RC. . In the instruction buffer area CBUF, at the time of a write-related command, the instruction prefetched from the host controller, the start address in the data buffer of data transferred by the instruction, the number of bytes, etc. are stored. At the time of a read-related command, the read execution result of the prefetched block, the start address in the data buffer of the read data, the number of bytes, etc. are stored. Command buffer management area
CA stores the instruction storage number CBSTK, buffer size CBSIZE, and instruction prefetch limit value CBE. As the instruction storage number CBSTK, at the time of a write command, the number of prefetch instructions that are stored in the instruction buffer area CBUF and that have not yet been executed is stored. At the time of a read type command, the number of prefetch blocks is stored as the instruction storage number CBSTK. The buffer size CBSIZE is the instruction buffer area.
This shows the size of CBUF in terms of the number of instructions. The limit value CBE is a limit value for the number of write instructions to be prefetched in the early warning area EWA when not in the logical EOT mode, that is, in the physical (in other words, actual) EOT mode. The data buffer management area DA contains a buffer free capacity FSEG that indicates the free capacity of the data buffer in units of IKB, a buffer address BADR that indicates the start address of the data buffer at the time of data transfer for writing to the data buffer, and The maximum block length MAXL indicating the maximum length of the target data block is stored. The mode management area EA has a recording density of 1600 rpi (row per
EOT mode that determines the write recording density and termination processing mode (inch) or 6250rpi), and a travel counter ECTR that stores the tape travel distance after EWA detection in logical EOT mode.
A distance count valid flag indicating that the value of ECTR is valid, a redused flag indicating that the number of prefetched instructions should be reduced, and a LET flag indicating that logical ET has been detected are stored. A drive interface circuit 32a is used to exchange control signals and the like with the drive control section 2. 32b is a host interface circuit that exchanges control signals and the like with the host controller. Reference numeral 33 denotes a data transfer control circuit, which controls a data buffer to be described later and controls data transfer with the host controller or drive control section 2. The data transfer control circuit 33 issues a data transfer request signal to the host controller, and receives a data transfer request signal from the drive control unit 2 and performs data transfer control. The data transfer control circuit 33 includes a store address counter SCTR to the data buffer, a load address counter LCTR from the data buffer, and a byte counter BCTR when loading the buffer. A data buffer 34 is controlled by the data transfer control circuit 33, stores write data from the host controller, and transfers it to the drive control unit 2. Conversely, it is used to store read data from the drive control unit 2 and transfer it to the host controller. The data buffer 34 has a capacity of, for example, 256KB. 35 is a data bus, which connects the MPU 30 and the program memory 31a,
RAM31b, drive interface circuit 3
2a, a host interface circuit 32b, and a data transfer control circuit 33 are connected to exchange commands and data. 36a is a control signal line, which is connected to the drive control unit 2.
This is for transmitting commands and the like to the drive control unit 2, and conversely receiving status and the like from the drive control unit 2. 3
6b is a tape end vicinity area detection signal line;
This is for transferring the tape end vicinity area detection (EWA) signal from the drive control unit 2. 3
6c is an interrupt line, which notifies the MPU 30 of an interrupt from the drive interface circuit 32a. 37a is a data control signal line;
This is for transmitting a data transfer request signal from the drive control section 2 to the data transfer control circuit 33, and transmitting a data transfer end signal to the drive control section 2.
A write data bus 37b is used to transmit write data from the data buffer 34 to the drive control section 2. A read data bus 37c is used to transmit read data from the drive control section 2 to the data buffer 34. A control signal line 38 is used to exchange commands and status with the host controller. A data transfer control signal line 39a is used to transmit a data transfer request signal to the host controller and a data transfer end signal from the host controller. A write data bus 39b is used to transmit write data from the host controller to the data buffer 34. A read data bus 39c is used to transmit read data from the data buffer 34 to the host controller. Therefore, the MPU 30 communicates via the data bus 35.
RAM31b, host interface 32b,
Writes and reads between the drive interface circuit 32a and the data transfer control circuit 33,
Performs desired processing for magnetic tape access, which will be described later. That is, the host interface circuit 32b exchanges commands and statuses with the host controller under the control of the MPU 30 via the control signal line 38, and the drive interface circuit 32a exchanges commands and statuses with the host controller 2 under the control of the MPU 30 via the control signal line 36a. exchanges commands and status. On the other hand, in response to instructions from the MPU 30, the data transfer control circuit 33 issues a data transfer request to the host controller via the data transfer control signal line 39a, and in response, the host controller transfers the write data to the write data bus 39b.
The data is sent to the data buffer 34 via the buffer and stored therein. Further, in response to a data transfer request from the drive control section 2 on the data transfer control signal line 37a, the data transfer control circuit 33 issues write data from the data buffer 34 to the drive control section 2 via the write data bus 37b. Further, the data transfer control circuit 33 stores read data from the drive control unit 2 via the read data bus 37c in the data buffer 34 according to instructions from the MPU 30, and transmits the read data from the data buffer 34 to the host controller via the read data bus 39c. The drive control unit 2 detects the vicinity of the tape end area by monitoring the running position using the rotary encoder 19a, and transmits the EWA signal to the signal line 36b.
and sends a TWA signal to signal line 3 upon EOT detection.
Emit at 6a. As shown in FIG. 6, the interface between the preemption control unit 3, the host controller, and the device 1 receives a start signal from the host controller.
By being given the GO and command signals (FIGS. 6a and 6b), the MPU 30 sends a response signal: formatta.
Returns the busy signal FBY to the host controller,
Furthermore, a data busy signal indicating that a command is being executed
Give DBY to the host controller (Figure 6c,
d). If the command signal is a write command that involves data transfer, the data transfer control circuit 33 applies a write strobe pulse WSTB to the host controller (FIG. 6f), and the host controller transmits write data in synchronization with the write strobe pulse WSTB. The data are transferred (FIG. 6b) and sequentially stored in the data buffer. The host controller sends the write word signal LWD at the same time as the final write data.
is sent to the data transfer control circuit 33 (Fig. 6h), and the control circuit 33 receives this last word signal LWD.
When detected, it stops sending the write strobe pulse WSTB, ends the data transfer, gives a status signal indicating normal/abnormal reception operation to the host controller, turns off data busy DBY, and ends the write data transfer operation ( Figure 6d). still,
The received command is stored in the command buffer CBUF. On the other hand, if the command is a read command, the read data read from the tape drive 1 is transferred to the host controller together with the read strobe pulse RSTB (FIG. 6i). The end of the read data transfer is notified to the host controller by turning off the data busy DBY (FIG. 6d). Such an interface procedure is the same between the prefetch unit 3 and the drive 1 as shown in FIG. Even if a write command arrives (FIGS. 7a and 7b), the data busy DBY is not turned on until the buffer CBUF and data buffer 34 are free (FIG. 7c) so that the data transfer waits. (c) Description of startup processing operation in one embodiment FIG. 8 is a startup processing flow diagram of an embodiment of the present invention, and FIGS. 9 and 10 are initial setting processing flowcharts in FIG. 8. Steps: S101 to S102 When the power is turned on, the MPU 30 checks the write recording density setting and termination processing mode setting of the drive set from the host controller 203 or the operator panel 24 via the drive interface circuit 32a, and reads the data of the RAM 31b. Area EA
The write recording density setting of the drive is stored in the write recording density of the drive, and the termination processing mode setting is stored in the EOT mode. In this example, the write recording density is
6250rpi or 1600rpi. Then, initial setting processing 1 shown in FIG. 9 is performed. That is, the MPU 30 is
RAM3 since no command has been given yet.
Clear the instruction stack number CBSTK in the instruction buffer management area CA of No. 1 to zero, and reduce the preemption instruction capacity.
S151 to set CBSIZE to maximum 64. then
The MPU 30 sets the buffer free capacity (free segment) FSEG of the data buffer management area DA to a maximum of 256 units (however, 1 segment represents 1 KB, so the maximum is 256 KB), and sets the data buffer address BADA to the initial address "00". (Hereinafter, “XX” indicates the hexadecimal value XX), the maximum block length of the data buffer management area DA
MAXL is the minimum of 8 units (however, 1 block is
Since it represents 1KB, it is set to 8KB (step S152). Furthermore, the MPU 30 turns off the distance valid flag of area EA, turns off the reused flag, and turns off the logical EOT flag (S153 to S155), and ends the initial setting 1. Steps: S103 to S104 When the MPU
30 checks whether the magnetic tape is set on the supply reel 12 and is in the ON-LINE state via the drive interface circuit 32a via the bus 35. If it is online, MPU30 will connect to bus 3.
5, the contents of the register of the host interface circuit 32b are checked, and the REW command or
Check to see if a UNL command has arrived. Steps: S131 to S134 If the REW command or UNL command has arrived,
The MPU 30 checks whether the execution processing mode of the drive control unit 2 is read type, write type, or not currently being executed. If the execution processing mode is read type, pre-reading of drive 1 is stopped. That is, when the drive control section 2 finishes the process being executed, the drive control section 2 is not instructed to perform any new processing via the control line 36a via the drive interface circuit 32a, and the read-related processing is stopped. On the other hand, if the execution processing mode is write type, all write type instructions in the instruction buffer CBUF are executed. Then, in S133 after all instructions have been executed, or if there is no process being executed or after the prefetching process of the drive has stopped, in S132, the MPU 30 transfers the magnetic tape to the starting point BOT via the drive interface circuit 32a.
(Begin of Tape) REW command or UNL command to wind the magnetic tape to the drive 1
is executed, and the process returns to initial setting 1 in step S102. Step: S105 If the REW command or UNL command has not arrived,
The MPU 30 checks the contents of the register of the host interface circuit 32b via the bus 35 to see if there is a start command GO (FIG. 6a) from the host. If there is no activation from the host, the process waits for activation and returns to step S103. Step: S106 When it is determined that there is activation from the host, that is, a GO signal has been received, the MPU 30 checks the contents of the register of the host interface circuit 32b via the bus 35, and determines what the given instruction code is. If the given instruction code is read type, go to step S141; if it is recording density setting, go to step S121.
and execute the processing routine. Steps: S121 to S126 If the command is recording density setting, the MPU 30 sets data busy via the host interface circuit 32b.
Notification is made that DBY is turned on, and further, it is checked via the drive interface circuit 32a whether the magnetic tape 16 of the drive 1 is at the load point LDP, ie, BOT. If the recording density setting command is at the load point LDP, the recording density setting command is valid, so the MPU 30 executes the recording density setting command for the drive via the drive interface circuit 32a, and then transfers the recording density setting command to the RAM 3.
The recording density instructed by the host is set in the recording density storage section of the various mode management area EA of 1b. If it is not at the load point LDP, the recording density setting command is invalid and there is no need to execute the recording density setting command to the drive and set the write recording density. Thereafter, the MPU 30 reports the completion to the host via the host interface circuit 32b, turns off the data busy DBY, and returns to step S103. Steps: S107 to S111 If the given command is a write type instruction, the MPU 30 checks whether the execution processing mode of the drive control unit 2 is read type, write type, or not being executed. If the execution processing mode is read type, the preread processing of drive 1 is stopped. That is, when the drive control section 2 finishes the process being executed, the drive control section 2 is not instructed to perform any new processing via the control line 36a via the drive interface circuit 32a, and the read-related processing is stopped. Next, initial setting 2 shown in FIG. 10 is executed.
That is, the MPU 30 clears the instruction storage number CBSTK in the instruction buffer management area CA of the RAM 31b to zero, and in S161, clears the instruction storage number CBSTK in the instruction buffer management area CA of the RAM 31b.
S162 sets the buffer free capacity FSEG of DA to the maximum 256 and sets the data buffer address BADR to "00". After the above processing is completed or if the drive control unit 2 is not in execution, the MPU 30 sends a command (space or backspace) to the drive control unit 2 to adjust the tape position to the drive interface circuit 32a. command through. The process then proceeds to a write-related processing routine to be described later. On the other hand, if the execution processing mode is write type in step S107, the process immediately advances to the write type processing routine. Steps: S141 to S147 If the transferred command is a read type instruction, the MPU 30 checks whether the execution processing mode of the drive control unit 2 is read type, write type, or not being executed. If the execution processing mode is read, the MPU 30 first checks whether the read directions match, that is, whether the forward direction is the forward direction and the reverse direction is the reverse direction. to stop. That is, when the drive control unit 2 finishes the process being executed, the drive interface circuit 32
a to the drive control unit 2 from the control line 36a,
Prevent new processing from being ordered and stop read processing. Further, the MPU 30 executes the initial setting 2 similar to that described in step S109 in step S144, and then performs tape position adjustment similar to that described in step S111 in step S145. On the other hand, if the execution processing mode is write, all instructions in the instruction buffer CBUF are executed. Then, after all instructions are executed, if there is no process being executed, or after the drive process is stopped, a read-related instruction for prefetching is set in the read instruction register RC of the RAM 31b. After this setting, or if the read directions match, the process advances to a read-related processing routine. Therefore, if the activation from the host is a write-related command, even if read-related processing is in progress, it switches to write-related processing, and if it is write-related processing, write-related processing is continued. With the initial setting 1, the maximum block length MAXL is the minimum 8 units, and with the initial setting 1 or 2, the number of instructions stored
CBSTK is 0, data buffer free space FSEG is maximum 256, data buffer address BADR
is set to “00”. Also, the recording density at the time of writing from the load point LDP is set in area EA of the RAM 31b. (d) Description of host-related processing operations Figures 11a and 11b are flowcharts of host-based write processing. The processing of each step will be described below. Steps: S200 to S203 When the MPU 30 is activated by a write command from the host controller shown in FIG.
To check whether write-related commands can be stored,
RAM31b instruction buffer management area CA instruction memory number CBSTK and instruction buffer size CBSIZE
are read out via bus 35 and compared. CBSIZE≦
When write-related instructions are stored in the instruction buffer CBUF up to CBSTK, that is, the number of instructions that can be stored, storage of the write-related commands in the instruction buffer CBUF is suspended. On the other hand, if CBSIZE>CBSTK, the write-related instruction can be stored in the instruction buffer CBUF, so the MPU 30 checks whether the write-related instruction uses the data buffer 34. If the data to be written, such as erase ERS and write tape mark WTM, is not sent from the host controller and does not use the data buffer 34, turn on data busy DBY and proceed to the next initialization step of the final limit value CBE. . As shown in Fig. 8, when a start (GO) command is given from the higher level (host), the lower level (preemption control unit 3) sends a data busy DBY signal indicating that the command is being executed, if the command is executable. Turn it on and return to the top. This relationship is the same even when the prefetch control section 3 is placed at the upper level and the drive control section 2 is placed at the lower level. Conversely, if the write-related instruction is a normal write instruction that uses the data buffer 34, the MPU 30 will
A decision is made to permit automatic transfer to the data buffer 34. That is, first, the MPU 30 uses the free buffer capacity of the data buffer management area DA of the RAM 31b.
Read FSEG and maximum block length MAXL, and check whether the free buffer capacity FSEG is greater than or equal to the maximum block length MAXL. If the free buffer capacity FSEG is less than the maximum block length AMXL, reception of write data is suspended and waits until the data buffer 34 becomes free for the maximum block length MAXL. Free buffer capacity
If FSEG is greater than or equal to the maximum block length MAXL, transfer is permitted. Therefore, the aforementioned data busy DBY signal is turned on to notify the host controller that transfer is possible. Steps: S204 to S207 The MPU 30 checks whether the magnetic tape 16 of the drive 1 is located at the load point LDP via the drive interface circuit 32a. If it is not at the load point LDP, the final limit value CBE has already been set, and the process advances to the next automatic transfer step S208. On the other hand, if it is located at the load point LDP,
Initial setting of limit value CBE according to write recording density is performed. That is, the MPU 30 checks the write recording density of the mode area EA of the RAM 31b, and if the write recording density is 1600rpi, it sets 8 to the limit value CBE of the instruction buffer management area CA of the RAM31b and sets it to 6250rpi.
If so, the limit value CBE16 is similarly initialized and the process advances to step S208. Steps: S208 to S214 The MPU 30 checks whether the write-related instruction uses the data buffer 34 or not. If the data buffer 34 is not used, step S
Proceed to 225. On the other hand, if the data buffer 34 is used, data transfer is executed. That is, the MPU 30 is
Read the first buffer address BADR of the data buffer management area DA of the RAM 31b and use the store address counter of the data transfer control circuit 33.
SCTR and activates the data transfer control circuit 33. As a result, the data transfer control circuit 33 issues a data transfer request to the host controller via the data transfer control signal line 39a. Therefore, the host controller transfers the write data from the write data bus 39b to the data buffer 34, and stores the write data in the store address counter of the data transfer control circuit 33.
Write data is stored in the data buffer 34 according to the address of SCTR. The store address counter SCTR counts up every time one byte of write data is transferred. When the data transfer control circuit 33 determines that the data transfer is completed, the MPU 30
Read the store address counter SCTR of the buffer address of the data buffer management area DA.
Calculate the difference from BADR to find the byte count BC of the transferred write data. Next, the MPU 30 updates the instruction buffer CBUF and data buffer management area DA of the RAM 31b. First, the buffer address (ie, the start address of the write data) BADR of the data buffer management area DA of the RAM 31b and the calculated byte count BC of the write data are stored in the relevant instruction section of the instruction buffer CBUF of the RAM 31b. Next, the data buffer 34 is transferred from the free capacity FSEG of the data buffer management area DA of the RAM 31b.
Subtract the number of used units USEG and get this free space
Update FSEG and also update the buffer address BADR
Add the number of units used, USEG, to the start address
Update BADR. Steps: S215 to S224 The MPU 30 reads the usage segment USEG indicating the number of usage units (reception block length) mentioned above and the RAM 31b.
and the maximum block length MAXL of the data buffer management area DA. As a result of this comparison, if the used segment USEG is larger than the maximum block length MAXL, the maximum block length MAXL of the data buffer management area DA is updated to this used segment USEG. Furthermore, the final limit value depends on the recording density and maximum block length MAXL.
Update CBE. That is, the MPU 30 reads the write recording density of the mode area EA and the maximum block length MAXL of the area DA of the RAM 31b, and when the recording density is 1600 rpi, if the maximum block length MAXL is greater than 16, the final limit value is set to the minimum value of 2. , if the maximum block length is 16 or less, set the final limit value CBE to 4. Similarly, if the recording density is 6250rpi. , if the maximum block length MAXL is greater than 32, the final control value CBE
When the maximum block length MAXL is between 17 and 32, the final limit value CBE is set to 4.
If MAXL is 16 or less, set the final limit value CBE to 8. Conversely, the used segment USEG is the maximum block length.
If it is less than MAXL, S216 does not update the maximum block length MAXL and final limit value CBE mentioned above.
The process advances to step S225. Steps: S225 to S233 S225 reads the ET mode of area EA of the RAM 31b and determines the termination processing mode. If it is in logical ET mode or physical ET mode and buffered mode, see Figure 2 c.
As shown in FIG.
If the flag and the actual ET detection signal are not on, a high-speed running instruction is added to the command given from the host controller and the command buffer area is
Store in CBUF. If the LET flag or the actual ET detection signal is on, the synchronization flag is turned on in steps S229 to S231 to perform non-buffered processing. If the mode is physical ET mode and non-buffered mode in S225, it is checked whether the redused flag is set. If the redeployed flag is off, the process moves to step S229 to perform instruction prefetch processing. If the redeployed flag is on, the synchronization flag is turned on to perform non-buffered processing, and the high-speed driving instruction is removed from the command given by the host controller.
Store in CBUF. The reason why the magnetic tape runs at a low speed is as follows. In non-buffered mode, the interval between issuing commands to the drive becomes longer, so even if high-speed running is instructed, unless the interval between issuing commands from the host controller is very short, it is necessary to maintain high-speed running (high-speed streaming operation). The next command cannot be issued to the drive within a certain amount of time, so the drive stops running the magnetic tape and performs repositioning. As a result, repositioning occurs in one instruction, resulting in extremely poor performance. When running at low speed, the interval time between issuing commands required to maintain streaming operation becomes longer, which reduces the possibility of repositioning occurring.Even if repositioning occurs, repositioning is completed in a shorter time than when running at high speed. There are also drives that do not require repositioning when driving at low speeds. By running at such a low speed, performance deterioration due to frequent repositioning can be prevented. Note that both the LET flag and the redused flag are flags that are set in the drive side processing routine, and after detecting the early warning point EWP as shown in FIG. may be of a different length or even zero), that is, the logical E
When reaching the T point LET, determine the ET processing mode, and if it is the logical ET mode, LET
The flag and redused flag are turned on, and in the case of physical ET mode, only the redused flag is turned on. Furthermore, if the distance information is lost (a read-related command is executed) after EWP is detected but before reaching LET, only the redeployed flag is turned on regardless of the ET processing mode. After the above processing, the MPU 30 determines the number of instructions stored
S233 adds 1 to CBSTK and updates the instruction buffer management area CA of the RAM 31b. Steps: S234 to S236 If the reused flag is not set, the instruction buffer size CBSIZE is set to 64. Otherwise, set the instruction buffer size CBSIZE to the final limit value CBE. Steps: S237 to S238 If the drive is not executing an instruction, drive startup processing, which will be described later with reference to FIG. 13, is performed. Steps: S239 to S240 If the synchronization flag is set, it is a non-buffer mode, so the process waits until the drive finishes executing the instruction. Steps: S241 to S244 After the drive processing is completed, the MPU 30 sends the host interface circuit 32b to the host controller.
At the same time, it reports completion (normal completion or error), turns off the data busy DBY signal, and returns to the startup waiting routine shown in FIG. If actual EOT is being detected and if the LEOT flag is on, EOT detection will be reported at the same time as the completion report. FIG. 12 is a flowchart of host read system processing. The operation will be described below. Steps: S301 to S306 Steps S141 to S14 of the startup process in FIG.
When a read-related command is received by MPU 7 and startup processing is performed, the MPU 30 reads the area CA of the RAM 31b.
Subtract 1 from the number of look-ahead blocks CBSTK. The MPU 30 checks whether the drive control unit 2 is executing an instruction, and if it is stopped, performs drive activation processing, which will be described later with reference to FIG. The MPU 30 checks whether the number of instructions stored (preread block number) CBSTK in the area CA mentioned above is 0 or more, and
If it is a smaller negative value, the read data has not been transferred to the data buffer 34, so the CBSTK
It waits until 0 or more, that is, one or more blocks of read data from the drive 1 have been transferred to the data buffer 34. When the number of look-ahead blocks CBSTK becomes 0 or more,
MPU30 is host interface circuit 32b
Turn on data busy DBY via , and notify the host controller that execution has started. Since the read data should have been transferred from the drive 1 to the data buffer 34, the MPU 30
The read execution result, the start address RADR of the read data in the data buffer 34, and the number of read bytes RBC are read from the instruction buffer CBUF of the RAM 31b. Steps: S307 to S311 The MPU 30 checks the read direction, and in the case of forward, checks whether the load point LDP was detected when the drive processed the block based on the read execution result read from the instruction buffer CBUF of the RAM 31b in the step described above. investigate. If the load point LDP had been detected, the first block would have been read from the load point LDP, so the recording density is checked from the read execution result. The recording density of the read execution result indicates the recording density of the magnetic tape read. And the recording density
If it is 1600rpi, the final limit value CBE of the instruction buffer management area CA of the RAM 31b is set to 8, and if it is 6250rpi, the final limit value CBE is set to 16 at the same time. Steps: S311 to S313 When the magnetic tape hits the load point LDP during read operation in the reverse direction, that is, when the magnetic tape reaches the starting point, the MPU 30 performs S311 to S313.
311, If the data cannot be transferred because there is no data block after reading, S312, Tape mark
If TM is detected (S313), the process moves to step S320 to report completion to the host controller. Steps: S314-S319 In cases other than those described in steps S311-S313, the MPU 30 determines whether the read-related command given from the host controller involves data transfer. Read commands that do not involve data transfer include Space, Backspace, and Space file.
File) Back Space
File). If it is a read-related command that involves data transfer, the data transfer to the host controller is executed. That is,
The MPU30 is the instruction buffer of the RAM31b.
First buffer address read from CBUF
RADR is set in the load address counter LCTR of the data transfer control circuit 33, the number of read bytes is set in the byte counter BCTR, and the data transfer control circuit 33 is activated. As a result, the data transfer control circuit 33 outputs the read strobe pulse RSTB (FIG. 6i) and the load address counter LCTR.
The read data in the data buffer 34 is transferred to the host controller according to the address. Load address counter LCTR stores read data as 1
Counts up every time a byte is transferred. When the data transfer control circuit 33 determines that data transfer for the number of read bytes has been completed, the MPU 30
is the data buffer management area DA of RAM31b
Add the used segment USEG to the free space FSEG and update it. On the other hand, since the read data is transferred to the data buffer 34 even in read instructions that do not involve data transfer, the free space in step S318 is
Update FSEG. Next, the MPU 30 checks whether the aforementioned read-related command is a file search-related command, such as a space file or a backspace file, and if it is a file search-related command, the process returns to step S301.
In other words, file search instructions are divided into read instructions. Steps: S320 to S321 If the instruction is not a file search type command, or if the read direction is forward and the load point LDP has not been detected in step S308, if the load point is reached during a read operation in the reverse direction, there is no data block. or tape mark detection, the MPU 30 reports normal completion or error completion to the host controller from the host interface circuit 32b, turns off the data busy DBY signal, and
Return to the startup wait routine. (e) Description of drive processing operation FIG. 13 is a flowchart of drive activation processing. The details of the processing will be described below. Steps: S401 to S405 The MPU 30 determines whether the instruction to be executed is a write type or a read type depending on whether the transfer direction mode of the data transfer control circuit 33 is a write mode or a read mode. If it is in read mode, it is determined to be a read-related command,
The MPU 30 checks whether the number of pre-read blocks CBSTK in the area CA of the RAM 31b is a negative value smaller than zero. If CBSTK is greater than or equal to zero, it has already read ahead, so check whether it is okay to start it. Returns if startup is not possible (stopped due to an error detected during pre-reading). On the other hand, if it is possible to start, the number of read-ahead blocks CBSTK in the instruction buffer management area CA of RAM31b
Check whether is less than 63. If it is not smaller than 63, the instruction buffer CBUF in the RAM 31b is full, and the process returns. On the other hand, if the number of read-ahead blocks is less than 63, it is checked whether the free space FSEG is 64KB or more, and if it is less than 64KB, it is returned as data transfer is not possible. Step: Free space FSEG is 64KB in S406
If the above is the case, data can be transferred from drive 1, so MPU 30 uses the starting address of RAM 31b.
BADR is set in the store address counter SCTR of the data transfer control circuit 33, and the data transfer control circuit 33 is placed in a standby state. Next, the MPU 30 turns off the distance counting valid flag, and when the read direction is reverse, turns off the LEOT flag. After turning off, the MPU 30 starts up via the drive interface circuit 32a.
Issue the GO signal and the relevant read-related command to drive 1, and return. A high speed driving instruction is added to the command issued at this time. Steps: S421 to S426 If the command is in write mode in step S401, it is determined that it is a write-related command, and preparations are made for automatic transfer to the drive. That is, the MPU 30 reads the write-related instruction from the instruction buffer CBUF of the RAM 31b, and checks whether this instruction involves data transfer. If the instruction involves data transfer, the MPU30 will use the RAM31
Start address from instruction buffer CBUF of b
WADR and byte number WBC are detected and set in the load address counter LCTR and byte counter BCTR of the data transfer control circuit 33, respectively. Furthermore, the data transfer control circuit 33 is put into a standby state. Steps: S427 to S429 After this standby state, or if it is a write command (erase, write tape mark, etc.) that does not involve the aforementioned data transfer, the MPU 30 determines whether the EWA signal is on or off from the drive interface circuit 32a. Find out. If the EWA signal is off, the magnetic tape is not in the EWA area, so
In order to initialize the end of the magnetic tape, turn on the distance counting valid flag and clear the redused flag and EOT counter ECTR. Thereafter, the MPU 30 issues the activation GO signal and the write-related command via the drive interface circuit 32a, and returns. FIG. 14 is a flow diagram of the drive write process. The processing will be described below. Steps: S501 to S511 When the MPU 30 receives the completion report from the drive,
It is checked whether the completed instruction type is read type or write type, and the process proceeds from read type to drive read processing shown in FIG. 15. If the completed instruction type is write type, MPU30
checks the write recording density of area EA of RAM 31b. Depending on whether the recording density is 6250rpi or 1600rpi, the write tape mark length WTM and erase length in the following travel counter increments and LEOT detection point detection processing
The only difference is the ERS, IBG length, and judgment value EPTR, and the processing itself is completely the same. The MPU 30 checks whether the instruction in the instruction buffer CBUF is a write instruction, erase variable instruction, write tape mark instruction, or fixed erase instruction. If the instruction is a write instruction or an erase variable instruction, the number of bytes read from the instruction buffer CBUF.
Convert WBC to the used segment USEG and set it as a temporary value L. Also, if the command is a write tape mark command, the write tape mark length is a fixed value.
WTM is similarly set to a temporary value L. Furthermore, if the instruction is a fixed erase instruction, the fixed erase length ERS is similarly set to a temporary value L. Then, the IBG length is further updated by adding it to the temporary value L. Step: S512 to S518 Magnetic tape is in early warning area EWA
If it is not within the EWA, there is no need to count the distance, so the process moves to step S519. If it is within EWA, check whether the distance counting valid flag is on or not, and if it is not on, proceed to step S518.
If the distance counting valid flag is on, the above-mentioned temporary value L is added and updated to the travel count value ECTR. Next, it is determined whether the travel count value ECTR is 50 feet or more, and if it is less than 50 feet, there is no need to change the instruction preemption control, so the process moves to step S519. If it is 50 feet or more, check the ET processing mode, and if it is physical ET mode, proceed to step S518 and turn on the redused flag, and if it is not physical ET mode, turn on the LET flag and redused flag from S517 to
S518. Steps: S519 to S522 If the instruction involves data transfer, add the used segment USEG to the free segment FSEG,
Update free segment FSEG. Next, subtract 1 from the instruction stack CBSTK,
Returns if CBSTK is zero. Otherwise, the process moves to the aforementioned write-related processing continuation processing shown in FIG. 13. FIG. 15 shows a flowchart of the drive read process. The processing will be described below. Steps: S551 to S561 When the MPU 30 reaches the load point LDP during a read operation in the reverse direction, when no data block is detected during a read operation in the forward direction, when a tape mark is detected, the MPU 30 reads the read data from the drive. Since no transfer was performed, the process moves to step S561, stores the read execution result in the command buffer CBUF, and then returns. In cases other than the above, calculate the byte count BC and store the buffer address BADR and byte count BC in the command buffer CBUF.
Furthermore, the used segment is changed from the free segment FSEG.
Update free segment FSEG by subtracting USEG,
Segment USEG used for buffer address BADR
is added to update the buffer address BADR. Next, if the read direction is forward and EOT is detected, the process moves to step S561, stores the read execution result in the command buffer area CBUF, and returns. If the read direction is reverse or forward and EOT is not detected, the read execution result is stored in the command buffer area CBUF, and then the command stack number CBSTK is checked. If the command stack number CBSTK is 63 or more, the command buffer area CBUF has not been fully prefetched, so the process returns. If the command stack number CBSTK is less than 63, pre-reading is possible, so read processing continues and the process moves to FIG. 13. [Effects of the Invention] As described above, according to the present invention, magnetic tape termination processing specified from the operator panel can be performed according to either the physical EOT mode or the logical EOT mode. target
Regarding EOT mode, processing in buffered mode or non-buffered mode is also possible. Particularly in the non-buffered mode, the operation is the same as in the conventional system in which access is made for each instruction, and the physical EOT and logical EOT match. Even in this case, except for the end of the magnetic tape,
Needless to say, instruction prefetch processing is performed. In addition, since the running speed of the magnetic tape is kept low in the non-buffered mode, performance deterioration due to frequent repositioning can be prevented.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図および第2図は本発明の原理ブロツク
図、第3図は本発明の一実施例の全体構成図、第
4図および第5図は第3図構成図のブロツク図、
第6図a〜jおよび第7図a〜eは第3図装置の
動作タイミング図、第8図〜第10図は一実施例
の起動処理フローチヤート、第11図a〜第12
図は対ホスト処理の一実施例のフローチヤート、
第13図〜第15図は対ドライブ処理の一実施例
のフローチヤート、第16図は磁気テープ装置の
命令先取制御説明図、第7図AおよびBは従来技
術の説明図、である。 符号の説明、1…磁気テープドライブ部、2…
ドライブ制御部、3…命令・データ先取り制御
部、CBUF…命令バツフア、34…データバツフ
ア。
1 and 2 are block diagrams of the principle of the present invention, FIG. 3 is an overall block diagram of an embodiment of the present invention, and FIGS. 4 and 5 are block diagrams of the block diagram of FIG. 3.
6a-j and 7a-e are operation timing diagrams of the device in FIG. 3, FIGS. 8-10 are startup processing flowcharts of one embodiment, and FIGS.
The figure is a flowchart of an example of host processing,
13 to 15 are flowcharts of one embodiment of paired drive processing, FIG. 16 is an explanatory diagram of instruction preemption control of a magnetic tape device, and FIGS. 7A and 7B are explanatory diagrams of the prior art. Explanation of symbols, 1...Magnetic tape drive section, 2...
Drive control unit, 3...Instruction/data prefetch control unit, CBUF...Instruction buffer, 34...Data buffer.

Claims (1)

【特許請求の範囲】 1 磁気ヘツド14およびリール11,12に巻
回された磁気テープ16を駆動する磁気テープ駆
動機構を有する磁気テープドライプ部1、 上位から与えられた前記磁気テープへのアクセ
ス命令を複数個先取り蓄積すると共に前記磁気テ
ープへのアクセス結果を前記上位に送出するバツ
フア制御手段3、および、 該バツフア制御手段に先取り蓄積されたアクセ
ス命令又は個々のアクセス命令に応答して前記磁
気テープドライブ部を制御し、該アクセス命令に
応答する動作を行う磁気テープ制御手段2,2
0,21、 を具備する磁気テープ装置であつて、 前記バツフア制御手段が、予め与えられた物理
的終端処理モード又は論理的終端処理モード、お
よび先取アクセスモード又は通常アクセスモード
に基いて、 (a) 前記物理的終端処理モードの場合、先取アク
セスモードにあつては磁気テープの終端領域の
前領域における先取命令数を所定の値に低下さ
せ且つ磁気テープが終端領域に到達したら先取
命令数を零にし、通常アクセスモードにあつて
は前記磁気テープの終端領域の前領域に到達し
たら先取命令数を零にし、 (b) 前記論理的終端処理モードの場合、磁気テー
プの終端領域の前領域に到達したら前記上位へ
終端領域を通知し、先取命令数を零にし、 前記終端処理モード、アクセスモードに応じて
磁気テープへのアクセスを行なわせるように構成
されたものである、 磁気テープ装置。
[Scope of Claims] 1. A magnetic tape drive section 1 having a magnetic tape drive mechanism that drives a magnetic head 14 and a magnetic tape 16 wound on reels 11 and 12; an access command to the magnetic tape given from a higher level; buffer control means 3 for preemptively storing a plurality of data and transmitting the results of access to the magnetic tape to the upper layer; Magnetic tape control means 2, 2 that controls the drive section and performs operations in response to the access command.
0, 21, wherein the buffer control means operates based on a predetermined physical termination processing mode or logical termination processing mode, and preemptive access mode or normal access mode. ) In the case of the physical termination processing mode, in the preemption access mode, the number of preemption instructions in the area before the end area of the magnetic tape is reduced to a predetermined value, and when the magnetic tape reaches the end area, the number of prefetch instructions is reduced to zero. (b) In the case of the logical termination processing mode, when the area before the end area of the magnetic tape is reached, the number of prefetch instructions is zero. If so, the magnetic tape device is configured to notify the upper level of the termination area, reduce the number of preemption instructions to zero, and access the magnetic tape according to the termination processing mode and the access mode.
JP61156290A 1986-07-04 1986-07-04 Magnetic tape device Granted JPS6314349A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61156290A JPS6314349A (en) 1986-07-04 1986-07-04 Magnetic tape device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61156290A JPS6314349A (en) 1986-07-04 1986-07-04 Magnetic tape device

Publications (2)

Publication Number Publication Date
JPS6314349A JPS6314349A (en) 1988-01-21
JPH0456334B2 true JPH0456334B2 (en) 1992-09-08

Family

ID=15624576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61156290A Granted JPS6314349A (en) 1986-07-04 1986-07-04 Magnetic tape device

Country Status (1)

Country Link
JP (1) JPS6314349A (en)

Also Published As

Publication number Publication date
JPS6314349A (en) 1988-01-21

Similar Documents

Publication Publication Date Title
EP0080876B1 (en) Cache control method and apparatus
US4517641A (en) Lookahead I/O device control subsystem
EP0017670B1 (en) A data processing system arranged for controlling the transfer of data between a central processing unit and a storage device thereof
JP3254429B2 (en) Data transfer / management system and method
JP3257916B2 (en) External storage device
US5606684A (en) On-line dumping system and disk sub-system
US6038619A (en) Disk drive initiated data transfers responsive to sequential or near sequential read or write requests
JPH0150928B2 (en)
JPH07104817B2 (en) Data record transfer method
KR900001695B1 (en) Magnetic tape prefetch control system
JPS6292022A (en) Control system for transfer of data
CA1119311A (en) Das device command execution sequence
US20030172229A1 (en) Systems and methods for detecting and compensating for runt block data transfers
US4757396A (en) Magnetic tape system with command prefetch means
JPH0456334B2 (en)
JPS6214305A (en) Writing error processing method for magnetic tape device
CA1322596C (en) Seeking multitasking disk controller
JPH0452965B2 (en)
JPH0452966B2 (en)
JPH0452967B2 (en)
JPH04311216A (en) External storage controller
US5581458A (en) Bufered intelligent digital tape controller with onboard ECC and featuring global control variables
EP0278425B1 (en) Data processing system and method with management of a mass storage buffer
EP0278471B1 (en) Data processing method and system for accessing rotating storage means
JPH0451850B2 (en)