JPH0452965B2 - - Google Patents

Info

Publication number
JPH0452965B2
JPH0452965B2 JP21424885A JP21424885A JPH0452965B2 JP H0452965 B2 JPH0452965 B2 JP H0452965B2 JP 21424885 A JP21424885 A JP 21424885A JP 21424885 A JP21424885 A JP 21424885A JP H0452965 B2 JPH0452965 B2 JP H0452965B2
Authority
JP
Japan
Prior art keywords
data
magnetic tape
write
buffer
instruction
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
Application number
JP21424885A
Other languages
English (en)
Other versions
JPS6274120A (ja
Inventor
Masayuki Ishiguro
Noboru Oowa
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 JP60214248A priority Critical patent/JPS6274120A/ja
Priority to US06/883,630 priority patent/US4757396A/en
Priority to AU60031/86A priority patent/AU576090B2/en
Priority to EP86305345A priority patent/EP0213703B1/en
Priority to DE86305345T priority patent/DE3689021T2/de
Priority to CA513624A priority patent/CA1273710C/en
Priority to KR8605635A priority patent/KR920004769B1/ko
Publication of JPS6274120A publication Critical patent/JPS6274120A/ja
Priority to CA000614390A priority patent/CA1280510C/en
Publication of JPH0452965B2 publication Critical patent/JPH0452965B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔目次〕 概 要 産業上の利用分野 従来の技術 発明が解決しようとする問題点 問題点を解決するための手段(第1図) 作 用 実施例 (a) 一実施例の全体構成の説明(第2図) (b) 先取り制御部の構成の説明(第3図、第4
図) (c) 起動処理動作の説明(第5図、第6図) (d) 対ホスト処理動作の説明(第7図、第8図) (e) 対ドライブ処理動作の説明(第9図、第10
図) (f) 全体動作の説明(第11図) (g) 他の実施例の説明 発明の効果 〔概要〕 上位から転送された命令を複数蓄積しうるバツ
フアを備え、命令を先取りする磁気テープ装置の
命令先取り制御方法において、ライト系命令実行
中に磁気テープの終端領域近傍から一定距離走行
したことで終端領域到達とみなすことによつて、
先取り命令数を減少せずにテープ終端領域内での
書込みを可能とするものである。
〔産業上の利用分野〕
本発明は、複数の命令の格納可能なバツフアを
有する磁気テープ装置において、当該バツフアに
上位からの命令を先取りしうる命令先取り制御方
法及びその装置に関する。
コンピユータの外部記憶装置として広く磁気テ
ープ装置が利用されており、近年特に磁気デイス
ク装置等の他の外部記憶装置のバツクアツプ用と
して用いられている。
このような磁気テープ装置においては、第12
図に示す如く、磁気テープへ書込み及び読出しを
行う磁気ヘツドと、磁気テープの走行駆動を行う
磁気テープ駆動部とを有するテープドライブ部1
と、ホストコントローラからの命令によりこれを
制御する制御部CTとが設けられて構成されてい
る。
近年、この制御部CT内にバツフアBFを設け、
ホストコントローラからの命令、データを先取り
し、バツフアBF内に蓄えておき、テープドライ
ブ部1に対しバツフアBF内の命令、データを順
次実行させる命令先取り制御を行うものが開発さ
れ、実用に供されている。
このような磁気テープ装置は、バツフア付き磁
気テープ装置と称され、ホストコントローラから
の命令に対し、非同期でテープドライブ部1を動
作できるので、ホストコントローラ側では一命令
に対しテープドライブ部1の動作完了を待つ必要
なく、命令を継続的に発行でき、又テープドライ
ブ部1もホストコントローラからの命令を待つこ
となく継続的に動作が実行できるから、処理効率
の向上が得られ、特にストリーミングモードの動
作効率を向上しうる。
〔従来の技術〕
このようなバツフアBFを有して命令を先取り
するために、バツフアBFは複数の命令の蓄積し
うる命令バツフアと、複数のデータの蓄積しうる
データバツフアとで構成され、例えば、命令バツ
フアには最大64命令、データバツフアには最大
256KByteのデータを格納しうるようにして、先
取り命令、データを増加しうるようにしている。
一方、第13図Aに示す如く磁気テープ16は
無限長でなく、有限長のため、終端には、EOT
(END OF TAPE)マーカが貼付されており、
EOT検出後のテープウオーニングエリア
(TWA)は約3mしか使用できない。
従つて、ライト系の処理においては、先取り命
令・データがEOT検出時に3m分以上であると、
これを磁気テープ16上にライトできなくなり、
何等かの対策が必要となる。
従来、このため磁気テープの終端であるEOT
を検出する以前にテープ終端近傍信号EWAを発
生させていた。
このテープ終端近傍信号EWAは単位時間当り
の磁気テープリールの回転角とテープの移送量
(アイドラーにより測定)との比率より磁気テー
プリールのテープ巻径より検出される。
このテープ終端近傍信号EWAは、例えばEOT
の約20m分前に発生し、これによつて第13図B
の如く、バツフアBFのデータバツフアの蓄積可
能量(データバイト数)を減少させていた。例え
ば第13図Bの如く最大256KByteのデータの蓄
積できるデータバツフアに対し、これを
128KByteに減少し、データバツフアのデータ蓄
積量が128KByte以下にならないと、ホストコン
トローラからのライトデータの受付けを許可しな
いようにして、係る書込み不能を防止するように
していた。
〔発明が解決しようとする問題点〕
係る従来技術によれば、データバツフアの容量
を制限することによつて、間接的にライト系命令
の先取り数を制限しようとするものであつた。こ
の磁気テープ装置の性能は先取り命令数に大きく
影響される。
また、従来のテープ終端近傍信号EWAを検出
するために使用される磁気テープリールの回転角
及びアイドラより得られるテープの移送量は、磁
気テープの送りを制御するに十分な精度でしか測
定する事が出来ず、一般の磁気テープ装置におい
てテープ巻径の検出は磁気テープ送行長に換算し
て約25m程度の間隔でしか検出する事が出来な
い。
このため従来技術では、テープ終端近傍信号
EWAの検出点を細かく指定出来ず、さらには最
低でもEOTの約20m分前に発生する事になつて
しまい、EWA検出からEOT検出までのアーリー
ウオーニングエリア(EWA)が必要以上に長く
なつていた。
ライト系命令の先取り数を制限する点をEOT
検出よりどの程度手前で行なうかは先取り可能命
令数によつて決定されるが、磁気テープ装置の性
能を低下させないようにするためには、このライ
ト系命令の先取り数を制限するタイミングを適正
に設定する必要がある。
従つて、従来技術のように、EWA検出から
EOT検出までのアーリーウオーニングエリア
(EWA)において、ホストコントローラからの命
令数を制限すると、EWA検出点以降ホストコン
トローラは制限されたデータバツフアが空くま
で、命令の発行を待たされることになり、命令先
取り数も制限され、磁気テープ装置のストリーミ
ング走行の性能の低下を招くという問題があつ
た。
本発明は、命令先取り数をEWAにおいてはホ
ストコントローラからの先取り命令数は制限せず
且つTWAにおいて確実に先取り命令を実行する
ことのできる磁気テープ装置の命令先取り制御方
法及びその装置を提供することを目的とする。
〔問題点を解決するための手段〕
第1図は本発明の原理説明図である。
本発明では、磁気テープドライブ部1が磁気テ
ープ16を走行して、磁気テープの終端近傍領域
(EWA)を検出すると、制御部CTが終端領域近
傍時点から磁気テープの走行距離を計数し、計数
値ECTRが一定値EPTRに達すると、テープ終端
領域検出とみなし、疑似的なEOTを得るように
している。
この疑似EOTは通常のEOT検出と同一の効果
を持ち、これによつて、実際に磁気テープに設け
られたEOTマーカを検出することなく、それ以
前にEOTの取扱いが行なわれる。
〔作用〕
本発明では、論理的な疑似EOTを得ているの
で、第1図Aに示す如く先取りしたライト系命令
を全て実行出来る位置までEOT検出時点を早く
することにより、TWAを長くできる。このた
め、TWAに書込むことのできるブロツク数が多
くなるため、第1図Bに示す如く、EWA検出時
点よりライト系命令の先取り数を減らす必要がな
くなる。
従つて、ホストコントローラは、ライト系命令
の先取り制限をEWAにおいては受けないのでス
トリーミング走行の性能低下を防止できる。即
ち、第1図Cの如く、EOT付近までは、命令先
取り数はできるだけ多くし、EOTが近づいたら、
書込み可能な数に減らすという理想的な先取り制
御が可能となる。
これによつて、TWAに書込み不能となること
もなく、性能低下を防止することができる。
〔実施例〕
(a) 一実施例の全体構成の説明 第2図は、本発明の一実施例の説明のための全
体構成図である。
図中、第12図で示したものと同一のものは同
一の記号で示してあり、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は命令・データ先取り制御部であり、ホスト
コントローラからのライト系又はリード系の命令
及びライトデータを受け、これらを蓄え、ライト
系命令ならドライブ制御部2へライト命令及びラ
イトデータを送り、ライト動作せしめ、且つ正常
終了なら次のブロツクライト命令及びライトデー
タを送り、正常終了でなければドライブ制御部2
へライトリトライ動作せしめるものである。
命令・データ先取り制御部3は、後述する命令
バツフアとデータバツフアを有し、ホストコント
ローラに対しては磁気テープ装置として動作し、
ドライブ制御部2に対してはホストコントローラ
として動作するアダプタである。
(b) 先取り制御部の構成の説明 第3図は第2図構成における要部、即ち、命
令・データ先取り制御部3の構成図である。
図中、30はマイクロプロセツサ(以下MPU
と称す)であり、後述するプログラムメモリのマ
イクロプログラムに従つてホストコントローラか
らの命令及びデータの受信制御及びデータ、ステ
ータスの送信制御を行うとともに、ドライブ制御
部2へ命令、データの送信制御及びドライブ制御
部からのデータ、ステータスの受信制御を行い、
更にドライブ1の状態制御の処理を行うもの、3
1aはプログラムメモリであり、MPU30が実
行すべきプログラムを格納しておくもの、31b
はランダムアクセスメモリ(以下RAMと称す)
であり、MPU30の処理に必要な各種データ、
命令、パラメータを格納しておくものであり、命
令バツフアエリアCBUF、命令バツフア管理エリ
アCA及びデータバツフア管理エリアDA、各種
モード管理エリアEA、リード命令レジスタRCを
有するものである。
命令バツフアエリアCBUFには、ライト系コマ
ンド時には、ホストコントローラから先取りした
命令及びその命令により転送されたデータのデー
タバツフア内の先頭アドレス、バイトカウント数
などが、リード系コマンド時には先読みしたブロ
ツクのリード実行結果、リードデータのデータバ
ツフア内の先頭アドレス、バイト数などが格納さ
れ、命令バツフア管理エリアCAには、命令記憶
数CBSTKと、バツフアサイズCBSiZEと、最終
制限値CBEが格納される。命令記憶数CBSTKと
しては、ライト系コマンド時には、命令バツフア
エリアCBUFに記憶され、未だ実行されていない
先取り命令数が、リード系コマンド時には先読み
ブロツク数が格納され、バツフアサイズCBSiZE
は、命令バツフアエリアCBUFの大きさを命令数
で示したものであり、最終制限値は、ロジカル
EOTモードでない時のEWAにおけるライト系命
令先取り数の最終制限値である。
データバツフア管理エリアDAには、データバ
ツフアの空き容量を単位数(1KByte単位)で示
すバツフア空き容量FSEGと、データバツフアへ
の書込みを行うデータ転送時のデータバツフアの
先頭アドレスを示すバツフアアドレスBADRと、
処理の対象となるデータブロツクの最大長を示す
最大ブロツク長MAXLとが格納される。
モード管理エリアEAには、ロードポイントか
らの書込み時の記録密度(1600rpi又は6250rpi)
を決定するための書込み記録密度と、ロジカル
EOTモードであることを示すLEOTフラグと、
ロジカルEOTモード時にEWA検出後のテープ走
行距離を格納する走行カウンタECTRが格納され
る。
32aはドライブインターフエイス回路であ
り、ドライブ制御部2との間で制御信号等のやり
とりを行うためのもの、32bはホストインター
フエイス回路であり、ホストコントローラとの間
で制御信号等のやりとりをするもの、33はデー
タ転送制御回路であり、後述するデータバツフア
を制御してホストコントローラ或いはドライブ制
御部2との間のデータ転送を制御するものであ
り、ホストコントローラへデータ転送要求信号を
発し且つドライブ制御部2からのデータ転送要求
信号を受けデータ転送制御を行うものであり、デ
ータバツフアへのストアアドレスカウンタ
SCTR、データバツフアからのロードアドレスカ
ウンタLCTR、バツフアロード時のバイトカウン
タBCTRなどを有するものである。
34はデータバツフアであり、データ転送制御
回路33によつて制御され、ホストコントローラ
からのライトデータを蓄え、ドライブ制御部2へ
転送し、逆にドライブ制御部2からのリードデー
タを蓄え、ホストコントローラへ転送するための
ものであり、例えば256キロバイトの容量を持つ
もの、35はデータバスであり、MPU30とプ
ログラムメモリ31a、RAM31b、ドライブ
インターフエイス回路32a、ホストインターフ
エイス回路32b、データ転送制御回路33とを
接続し、コマンド、データのやりとりを行うもの
である。
36aは制御信号線であり、ドライブ制御部2
へコマンド等を送信し、逆にドライブ制御部2か
らステータス等を受信するためのもの、36bは
テープエンド近傍領域検出信号線であり、ドライ
ブ制御部2からのテープエンド近傍領域検出
(EWA)信号の転送のためのもの、36cは割込
み線であり、ドライブインターフエイス回路32
aよりMPU30へ割込みを通知するもの、37
aはデータ転送制御信号線であり、ドライブ制御
部2からデータ転送要求信号をデータ転送制御回
路33へ伝え、データ転送終了信号をドライブ制
御部2へ伝えるためのもの、37bはライトデー
タバスであり、データバツフア34からライトデ
ータをドライブ制御部2へ伝えるためのもの、3
7cはリードデータバスであり、ドライブ制御部
2からのリードデータをデータバツフア34へ伝
えるためのもの、38は制御信号線であり、ホス
トコントローラとコマンド、ステータスのやりと
りを行うためのもの、39aはデータ転送制御信
号線であり、ホストコントローラへデータ転送要
求信号を伝え、ホストコントローラからのデータ
転送終了信号を伝えるためのもの、39bはライ
トデータバスであり、ホストコントローラからの
ライトデータをデータバツフア34へ伝えるため
のもの、39cはリードデータバスであり、ホス
トコントローラへデータバツフア34からリード
データを伝えるためのものである。
従つて、MPU30はデータバス35を介し
RAM31b、ホストインターフエイス回路32
b、ドライブインターフエイス回路32a、デー
タ転送制御回路33との間で書込み、読出しを行
い、所望の処理を行う。
即ち、ホストコントローラと制御信号線38を
介しMPU30の制御によりホストインターフエ
イス回路32bがコマンド、ステータスのやりと
りを行い、ドライブ制御部2と制御信号線36a
を介しMPU30の制御によりドライブインター
フエイス回路32aがコマンド、ステータスのや
りとりを行う。
一方、MPU30の指示によりデータ転送制御
回路33が、データ転送制御信号線39aを介し
ホストコントローラにデータ転送要求を発し、こ
れに応じてホストコントローラはライトデータを
ライトデータバス39bを介しデータバツフア3
4へ送り、蓄積せしめる。又、ドライブ制御部2
からのデータ転送制御信号線37aのデータ転送
要求により、データ転送制御回路33はライトデ
ータバス37bを介しデータバツフア34のライ
トデータをドライブ制御部2へ発する。
更に、データ転送制御回路33はMPU30の
指示によりドライブ制御部2からリードデータバ
ス37cを介するリードデータをデータバツフア
34に蓄え、ホストコントローラへリードデータ
バス39cを介しデータバツフア34のリードデ
ータを送信する。
尚、ドライブ制御部2は、ロータリーエンコー
ダ19aによる走行位置の監視によつてテープ終
端領域近傍を検出してEWA信号を信号線36b
に発し、EOT検出によつてTWA信号を信号線3
6aに発する。
このような先取り制御部3とホストコントロー
ラ、ドライブ(デバイス)1間のインターフエイ
スは、第4図Aに示す如く、ホストコントローラ
からの起動信号GOとコマンド信号が与えられる
ことによつてMPU30はホストインターフエイ
ス回路32bを介し応答信号FBYをホストコン
トローラへ返答し、更にコマンド実行中を示すデ
ータビジーDBYをホストコントローラへ与える。
コマンド信号がデータ転送を伴うライト系コマ
ンドなら、データ転送制御回路33からホストコ
ントローラへライトストローブパルスWSTBを
与えて、ホストコントローラからはライトストロ
ーブパルスWSTBに同期してライトデータが転
送され、データバツフアに順次格納される。ホス
トコントローラは最終のライトデータと同時にラ
ストワード信号LWDをデータ転送制御回路33
へ送出し、制御回路33はこのラストワード信号
LWDを検出するとライトストローブパルス
WSTBの送出を止め、データ転送を終了し、受
信動作の正常/異常を示すステータス信号をホス
トコントローラへ与え、データビジーDBYをオ
フしてライトデータの転送動作を終了する。尚、
受信コマンドは命令バツフアCBUFに格納され
る。
一方、コマンドがリードコマンドなら、テープ
ドライブ1から読取つたリードデータをリードス
トローブパルスRSTBとともにホストコントロー
ラへ転送する。リードデータ転送の終了はデータ
ビジーDBYをオフすることによつてホストコン
トローラへ通知される。
このようなインターフエイス手順は、第4図B
に示す如く先取り部3とドライブ1との間も同一
であり、先取り部3の命令バツフアCBUF、デー
タバツフア34がフルの状態では、ホストコント
ローラからGO信号、ライトコマンドが到来して
もバツフアCBUF、34が空くまでデータビジー
DBYを上げないようにしてデータ転送を待たせ
るようにしている。
(c) 一実施例の起動処理動作の説明 第5図は本発明の一実施例動作の起動処理フロ
ー図、第6図は第5図における初期設定処理フロ
ー図である。
電源が投入されるとMPU30はドライブイ
ンターフエイス回路32aを介し、ドライブの
書込み記録密度設定を調べ、RAM31bのエ
リアEAの書込み記録密度にドライブの書込み
記録密度設定を記憶する。そして第6図Aの初
期設定処理(1)を行う。即ち、MPU30は
RAM31の命令バツフア管理エリアCAの命
令記憶数CBSTKを零クリアし、データバツフ
ア管理エリアDAのバツフア空き容量FSEGを
最大の256とし、データバツフアアドレス
BADRを“00”に設定する。
更に、データバツフア管理エリアDAの最大
ブロツク長MAXLを最小の8単位(8KByte)
に設定し、エリアEAのロジカルEOTモードフ
ラグをオフとして初期設定(1)を終了する。
次に電源投入時あるいはREW命令、UNL命
令実行後の初期設定終了後又はホストからの起
動待ちルーチンにおいて、MPU30はバス3
5を介しドライブインターフエイス回路32a
を介し磁気テープが供給リール12にセツトさ
れたオンライン状態にあるかを調べる。
オンライン状態にあれば、MPU30はバス
35を介しホストインターフエイス回路32b
のレジスタの内容を調べ、ホストからREW(リ
ワインド)命令又はUNL(アンロード)命令が
到来しているかを調べる。
REW命令又はUNL命令が到来していれば、
MPU30はドライブ制御部2の実行処理モー
ドがリード系か、ライト系か又は実行中でない
かを調べる。
実行処理モードがリード系なら、ドライブ1
の先読みを停止させる。即ち、ドライブ制御部
2が実行中の処理を終了したならばドライブイ
ンターフエイス回路32aを介し制御線36a
よりドライブ制御部2に、新たな処理を命じな
いようにし、リード系処理を停止させる。
一方、実行処理モードがライト系なら、命令
バツフアCBUF内の全てのライト系命令を実行
させる。
そして、全命令の実行後、実行中の処理なし
の場合又はドライブ処理の停止後、MPU30
はドライブインターフエイス回路32aを介し
REW命令(テープをBOTまで戻す)又は
UNL命令(テープを巻取る)を与えてドライ
ブ1にこれを実行させ、ステツプの初期設定
へ戻る。
一方、REW命令又はUNL命令が到来してい
ないと、MPU30はバス35を介しホストイ
ンターフエイス回路32bのレジスタの内容を
調べ、ホストからの起動(GO)があるかを調
べる。
ホストからの起動がなければ、起動待ちとな
り、ステツプへ戻る。
ホストからの起動あり、即ちGO信号受信と
判断すると、MPU30はバス35を介しホス
トインターフエイス回路32bのレジスタの内
容を調べ、与えられた命令が何かを判断する。
与えられた命令がリード系ならステツプ
へ、記録密度設定ならステツプへ進み、その
処理ルーチンを実行する。
命令が記録密度設定なら、MPU30はホス
トインターフエイス回路32bを介しデータビ
ジーDBYをオンとして通知し、更にドライブ
インターフエイス回路32aを介しドライブ1
の磁気テープ16がロードポイントLDP、即
ちBOTの位置にあるかを調べる。
ロードポイントLDPにあれば、記録密度設
定命令が有効なので、MPU30はドライブイ
ンターフエイス回路32bを介してドライブに
対して記録密度設定命令を実行するとともに
RAM31bのエリアEAの書込み記録密度に
ホストからの設定記録密度をセツトする。
ロードポイントLDPになければ、記録密度
設定命令は無効であり、書込み記録密度のセツ
トは必要はない。
その後、MPU30はホストインターフエイ
ス回路32bを介しホストへ終了報告し、デー
タビジーDBYをオフして、ステツプへ戻る。
一方、与えられた命令がライト系なら、
MPU30はドライブ制御部2の実行処理モー
ドがリード系か、ライト系か又は実行中でない
かを調べる。
実行処理モードがリード系なら、ドライブ1
の先読み処理を停止させる。即ち、ドライブ制
御部2が実行中の処理を終了したならばドライ
ブインターフエイス回路32aを介し制御線3
6aよりドライブ制御部2に、新たな処理を命
じないようにし、リード系処理を停止させる。
次に、第6図Aの初期設定(2)を実行し、
MPU30はRAM31の命令バツフア管理エ
リアCAの命令記憶数CBSTKを零クリアし、
データバツフア管理エリアDAのバツフア空き
容量FSEGを最大の256とし、データバツフア
アドレスBADRを“00”に設定する。
このステツプの終了後又はドライブ制御部
2が実行中でなければ、第6図Bの初期設定(3)
のバツフアサイズのセツトを行う。
先づ、MPU30は、ドライブインターフエ
イス回路32aを介し信号線36bのEWA(テ
ープ終端近傍領域)信号がオンかオフかを調
べ、オフ(未だテープ終端近傍領域へ到つてい
ない)なら、RAM31bのエリアEAの
LEOTモードフラグをオンし、走行カウンタ
ECTRを零クリアする。
一方、EWA信号がオンなら、RAM31b
のLEOTモードフラグがオン(YES)、オフ
(NO)かを調べ、オフなら、命令バツフア管
理エリアCAの最終制限値CBEをバツフアサイ
ズCBSIZEへ移し、リターンする。
逆にLEOTモードフラグがオン又は前述の走
行カウンタECTRの零クリア後、MPU30は、
RAM31bの命令バツフア管理エリアCAの
バツフアサイズCBSIZEに最大値の「64」をセ
ツトし、リターンする。
次に、MPU30はテープ位置を調整すべく、
ドライブ制御部2にテープ位置調整のための命
令(スペースまたはバツフアスペース)をドラ
イブインターフエイス回路32aを介し命じ
る。
そして第7図の後述するライト系処理ルーチ
ンへ進む。
一方、ステツプで実行処理モードがライト
系なら直ちにライト系処理ルーチンへ進む。
ステツプで転送された命令がリード系な
ら、MPU30はドライブ制御部2の実行処理
モードがリード系か、ライト系か又は実行中で
ないかを調べる。
実行処理モードがリード系なら、MPU30
は先づリード方向が一致しているかを調べ、リ
ード方向不一致なら、ドライブ1の先読み処理
を停止させる。即ち、ドライブ制御部2が実行
中の処理を終了したならばドライブインターフ
エイス回路32aを介し制御線36aよりドラ
イブ制御部2に、新たな処理を命じないように
し、リード系処理を停止させる。
更に、MPU30はステツプと同一の初期
設定(2)を実行し、次にステツプと同一のテー
プ位置調整を行なう。
一方、実行処理モードがライト系なら、命令
バツフア部CBUF内の全ての命令を実行させ
る。
そして、全命令の実行後、実行中の処理なし
の場合又はドライブ処理の停止後、前述の先読
みリード系命令をRAM31bのリード命令レ
ジスタRCにセツトする。
そして、このセツト後又は、リード方向一致
なら、第8図のリード系処理ルーチンへ進む。
従つて、ホストからの起動がライト系コマン
ドであれば、リード系処理中でも、ライト系処
理に切換わり、ライト系処理なら、ライト系処
理を続行する。
そして初期設定(1)で最大ブロツク長MAXL
は最小の8単位に、初期設定(1)又は(2)で命令記
憶数CBSTKは零、データバツフア空き容量
FSEGは最大の256、データバツフアアドレス
BADRは(00)に、更に初期設定(3)でバツフ
アサイズCBSIZEは、LEOTモードのオン/オ
フに応じ、最大の64又は最終制限値CBEにセ
ツトされる。
又、書込み記録密度がRAM31bのエリア
EAに設定される。
(d) 対ホスト処理動作の説明 第7図は対ホストライト系処理フロー図であ
る。
MPU30は第5図によつてホストコントロ
ーラからライト系コマンドによつて起動される
と、ライト系コマンドが格納可能かを調べるた
め、RAM31bの命令バツフア管理エリア
CAの命令記憶数CBSTKと命令バツフアサイ
ズCBSiZEをバス35を介し読み出し比較す
る。CBSiZE≦CBSTK、即ち記憶可能な命令
数までライト系命令が命令バツフアCBUFに格
納されていると、命令バツフアCBUFへのライ
ト系コマンドの格納を保留する。
一方、CBSiZE>CBSTKであれば、ライト
系命令の命令バツフアCBUFへの格納可能なた
め、MPU30は係るライト系命令がデータバ
ツフア34を使用するものかどうかを調べる。
イレーズ、ライトテープマークのデータバツフ
ア34を使用しないものであれば、データビジ
ーDBYをオンとし、ステツプの最終制限値
CBEの初期設定ステツプに進む。
第5図Aで示した如く上位(ホスト)から起
動(GO)とコマンドが与えられると、下位
(先取り制御部3)はその命令が実行可能なら、
実行中であることを示すデータビジーDBY信
号をオンとし上位へ返す。この関係は先取り制
御部3を上位とし、ドライブ制御部2を下位と
した場合も同様である。
逆に、MPU30はライト系命令がデータバ
ツフア34を使用する通常のライト命令である
と、データバツフア34への自動転送の許可判
断を行う。
即ち、先づ、MPU30はRAM31bのデ
ータバツフア管理エリアDAの空きバツフア容
量FSEGと最大ブロツク長MAXLを読出し、
空きバツフア容量FSEGが最大ブロツク長
MAXL以上か否かを調べる。空きバツフア容
量FSEGが最大ブロツク長MAXL以下なら、
ライトデータの受信を保留し、データバツフア
34が最大ブロツク長MAXL分空くまで待ち、
空きバツフア容量FSEGが最大ブロツク長
MAXL以上なら、転送許可する。従つて、前
述のデータビジーDBY信号をオンとして、ホ
ストコントローラへ転送可を通知する。
次に、MPU30は、ドライブインターフエ
イス回路32aを介しドライブ1の磁気テープ
16がロードポイントLDPの位置にあるかを
調べる。
ロードポイントLDPの位置になければ、既
に最終制限値CBEはセツトされているので、
次の自動転送ステツプへ進む。
一方、ロードポイントLDPの位置にあれば、
書込み記録密度によつて最終制限値CBEのセ
ツトを行なう。
即ち、MPU30は、RAM31bのモード
エリアEAの書込み記録密度を調べ、書込み記
録密度が1600rpiなら、RAM31bの命令バツ
フア管理エリアCAの最終制限値CBEに「8」
を、6250rpiなら同様に最終制限値CBEに「16」
をセツトし、ステツプに進む。
次に、MPU30は係るライト系命令がデー
タバツフア34を使用するものかどうかを調べ
る。
データバツフア34を使用しないものなら、
ステツプの命令格納ステツプへ進む。
一方、データバツフア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を更新する。
次に、MPU30は前述の使用単位数(受信
ブロツク長)USEGとRAM31bのデータバ
ツフア管理エリアDAの最大ブロツク長MAXL
とを比較する。
この比較によつて、使用単位数USEGが最大
ブロツク長MAXLより大なら、データバツフ
ア管理エリアDAの最大ブロツク長MAXLをこ
の使用単位数USEGに更新する。更に、記録密
度と最大ブロツク長MAXLに応じて最終制限
値CBEを変更する。
即ち、MPU30はドライブの記録密度とエ
リア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以下なら、最大ブロツク長MAXL、最
終制限値CBEの更新は行わず、ステツプへ
進む。
次に、MPU30は受信したライト系命令の
格納処理を行う。
先づ、MPU30はRAM31bの命令バツ
フアCBUFにホストインターフエイス回路32
bの受信コマンドを格納する。
次に、MPU30はRAM31bの命令バツ
フア管理エリアCAを更新すべく、命令記憶数
CBSTKに「1」加算して更新する。
更に、MPU30は、ドライブインターフエ
イス回路32aを調べ、制御線36bのEWA
(テープ終端近傍検出)信号がオンかオフかを
調べる。オフであれば、磁気テープ16がテー
プ終端近傍に達していないので、ステツプへ
進む。
一方、オンであれば、テープ終端近傍に達し
ているので、RAM31bのエリアEAの
LEOTフラグを調べLEOTモードなら、命令バ
ツフアサイズCBSiZEの変更を要しないので、
ステツプに進む。
逆に、LEOTモードでなければ、MPU30
はRAM31bのエリアCAの命令バツフアサ
イズCBSiZEと最終制限値CBEを読み出し比較
する。命令バツフアサイズCBSiZEが最終制限
値CBE以下ならば、命令バツフアサイズ
CBSiZEを変更せず、ステツプへ進む。逆に
命令バツフアサイズCBSiZEが最終制限値より
大ならば、命令バツフアサイズCBSiZEから
「2」を減算し、更新してステツプへ進む。
次に、MPU30はドライブ制御部2が処理
実行中かを調べ、処理実行中でなければ(停止
中であれば)、第9図にて後述するドライブ起
動処理を行う。
処理実行中又はドライブ起動処理が行われる
と、MPU30は、ドライブインターフエイス
回路32aを介しドライブ制御部2がEOTを
検出したことを示すTWA信号が制御線36a
より生じているかを調べる。
又、LEOTモードなら、MPU30は、後述
する第10図の対ドライブ処理によつて更新さ
れる走行カウンタECTRが一定値EPTRを越え
たロジカルEOT検出(オン)かを調べる。
EOT検出でTWA信号が生じていれば又は
LEOT検出(オン)ならば、MPU30は
RAM31bの命令バツフア管理エリアCAの
命令記憶数(未実行命令数)CBSTKが零かを
調べ、零でなければ、ドライブの実行によつて
零になるまで待つ。これはEOT,LEOT以降
の処理においてはホストからの命令とドライブ
が実行する命令の同期をとるためである。
TWA信号が生じていない時には又はLEOT
がオフである時には、MPU30はデータ転送
制御回路33の状態から前述のステツプのラ
イトデータ転送がデータバツフア34の空き容
量不足によつてオーバーフローしたかを調べ
る。
オーバーフローした場合には、前述と同様同
期をとるため、MPU30はRAM31bの命
令バツフア管理エリアCAの命令記憶数(未実
行命令数)CBSTKが零かを調べ、零でなけれ
ば、ドライブの実行によつて零になるまで待
つ。
バツフアオーバーフローが生じていない時又
はCBSTKが零となると、ホストコントローラ
へMPU30はホストインターフエイス回路3
2bより終了報告(正常受信又はエラー)する
とともにデータビジーDBY信号をオフとし、
第5図の起動待ちルーチンへ戻る。
第8図は対ホストリード系処理フロー図であ
る。
第5図の起動処理フローのステツプによつ
てリード系命令を受け、起動処理が行なわれる
と、MPU30はホストインターフエイス回路
32bを介しデータビジーDBYをオンにし、
ホストコントローラへ実行開始を通知する。
次に、MPU30は、RAM31bのエリア
CAの先読みブロツク数CBSTKに「1」減算
する。
更に、MPU30はドライブ制御部2が処理
実行中かを調べ、処理実行中でなければ(停止
中であれば)、第9図にて後述するドライブ起
動処理を行う。
又、MPU30は前述のエリアCAの命令記憶
数(先読みブロツク数)CBSTKが「0」以上
かを調べ、「0」より小のマイナスであれば、
リードデータはデータバツフア34に転送され
ていないから、CBSTKが「0」以上、即ち、
ドライブ1からリードデータが1ブロツク以上
データバツフア34に転送されるまで待つ。
先読みブロツク数CBSTKが「0」以上とな
ると、ドライブ1からリードデータがデータバ
ツフア34に転送されているはずであるから、
MPU30は、RAM31bの命令バツフア
CBUFからリード実行結果と、リードデータの
データバツフア34内先頭アドレスRADRと、
リードバイト数RBCを読出す。
次に、MPU30は前述のステツプで
RAM31bの命令バツフアCBUFから読出し
たリード実行結果から、ドライブが当該ブロツ
クを処理した時にロードポイントLDPを検出
していたかどうかを調べる、ロードポイント
LDPを検出していたならばリード方向を調べ、
リードリバース方向ならブロツク検出以前に
BOTに達してしまつており、リードデータは
データバツフア34に転送されていないためス
テツプへ進む。
一方、リード方向がリードフオワード方向な
らロードポイントLDPから最初のブロツクの
リードであつたので、リード実行結果から記録
密度を調べる。リード実行結果の記録密度は読
取つた磁気テープの記録密度を示している。
そして記録密度が1600rpiなら、RAM31b
の命令バツフア管理エリアCAの最終制限値
CBEに「8」を、6250rpiなら同様に最終制限
値CBEに「16」をセツトする。
更に、MPU30は、ロードポイントLDPの
位置にない又は最終制限値CBEのセツト後、
リード実行結果からリード実行時にフアイルの
区切りを示すテープマークが検出されたかを調
べ、テープマークが検出されたのであればリー
ドデータはデータバツフア34に転送されてい
ないので、データ転送を行なわず、ステツプ
へ進む。
逆にテープマークが検出されていなければ、
ステツプの自動転送ステツプへ進む。
先づ、MPU30は前述のリード系命令がデ
ータ転送を伴なうものか否かを判別する。デー
タ転送を伴なわないリード系命令としては、ス
ペース(Space)、バツクスペース(Back−
Space)、スペースフアイル(Space File)、バ
ツクスペースフアイル(Back Space File)が
ある。データ転送を伴なうリード系命令なら、
ホストコントローラへのデータ転送を実行す
る。
即ち、MPU30は、RAM31bの命令バ
ツフアCBUFから読出した先頭バツフアアドレ
スRADRをデータ転送制御回路33のロード
アドレスカウンタLCTRに、リードバイト数を
バイトカウンタBCTRにセツトし、データ転
送制御回路33を起動する。
これによつてデータ転送制御回路33は、リ
ードストローブパルスRSTB(第4図A)とと
もにロードアドレスカウンタLCTRのアドレス
に従つてデータバツフア34内のリードデータ
をホストコントローラに転送する。ロードアド
レスカウンタLCTRは、リードデータを1バイ
ト転送する毎にカウントアツプする。
データ転送制御回路33がリードバイト数分
のデータ転送終了と判定すると、MPU30は
RAM31bのエリアDAの空き容量FSEGに使
用単位数USEGを加算し、更新する。
一方、データ転送を伴なわないリード系命令
でもリードデータはデータバツフア34内に転
送されているので、同様に空き容量FSEGの更
新を行なう。
次に、MPU30は前述のリード系命令がフ
アイルサーチ(File Search)系命令(スペー
スフアイル又はバツクスペースフアイル)かを
調べ、フアイルサーチ系命令なら、ステツプ
に戻る。即ち、フアイルサーチ系命令をリード
(Read)命令に分割していることになる。
一方、ステツプでフアイルサーチ系命令で
ない時又はステツプでリード方向がリバース
の場合又はテープマーク検出の場合には、ホス
トコントローラMPU30はホストインターフ
エイス回路32bより終了報告(正常受信又は
エラー)するとともにデータビジーDBY信号
をオフとし、第5図の起動待ちルーチンへ戻
る。
このようにして、ライト系処理では、ロジカ
ルEOTモードでは、バツフアサイズCBSiZEは
ステツプで制限せずに、ロジカルEOTオン
によつてステツプで通常のEOTオンと同様
に先取り命令の禁止を行なう。
一方、ロジカルEOTモードでない時には、
記録密度と最大ブロツク長MAXLに応じて最
終制御値CBEが変更され(ステツプ)、
EWAにおいては、ステツプでバツフアサイ
ズが順次減少される。
又、リード系処理では、リード系命令の種類
を問わず先読みが行なわれる。
(e) 対ドライブ処理動作の説明 第9図は対ドライブ起動処理フロー図である。
() MPU30はドライブ起動を行うべく、
RAM31bの命令バツフアCBUFより次に実
行すべき命令を読み出し、ライト系命令かを調
べる。
ライト系命令でなければ、即ち、リード系命
令なら、MPU30は、RAM31bのエリア
CAの先読みブロツク数CBSTKが零より小の
マイナスかを調べる。CBSTKが零以上であれ
ば、すでに先読みを行なつているので起動して
も良いかを調べる。起動不可(先読み時にエラ
ーを検出して停止している)の時はリターンす
る。
一方、起動可なら、RAM31bのエリア
CAの先読みブロツク数CBSTKが「63」より
小かを調べる。小でなければRAM31bの命
令バツフアCBUFがフルのため、リターンす
る。
一方、先読みブロツク数が63ケより小なら、
空き容量FSEGが64Kバイト以上かを調べ、以
下ならデータ転送不可としてリターンする。
() ステツプ()で空き容量FSEGが64K
バイト以上なら、ドライブ1からのデータ転送
可能なため、MPU30はRAM31bの先頭
アドレスBADRをデータ転送制御回路33の
ストアアドレスカウンタSCTRにセツトし、デ
ータ転送制御回路33をスタンバイ状態とす
る。
次に、MPU30はドライブインターフエイ
ス回路32aよりEWA信号がオンかオフかを
調べ、オン(YES)なら、EWAにあるから、
RAM31bのLEOTモードフラグをオフと
し、LEOTモードを解除する。
更に、MPU30はリード系命令がリードリ
バースかを調べ、リードリバースなら、ロジカ
ルEOTをオフとする。
このオフの後又は、EWA信号オフ又はリー
ドリバースでない場合には、MPU30はドラ
イブインターフエイス回路32aを介し、起動
(GO)信号と当該リード系命令とをドライブ
1へ発行し、リターンする。
() 一方、ステツプ()でライト系命令と
判定すると、ドライブへの自動転送準備を行な
う。
即ち、MPU30はRAM31bの命令バツ
フアCBUFから当該ライト系命令を読出し、こ
の命令がデータ転送を伴なう命令かを調べる。
データ転送を伴なう命令であれば、MPU30
はRAM31bの命令バツフアCBUFの先頭ア
ドレスWADR及びバイト数WBCをデータ転送
制御回路33のロードアドレスカウンタ
LATR、バイトカウンタBCTRに各々セツト
する。
更にデータ転送制御回路33をスタンバイ状
態にする。このスタンバイ状態後又は、前述の
データ転送を伴なわないライト系命令(イレー
ズ、ライトテープマーク等)であれば、MPU
30は読出した命令と、起動(GO)信号をド
ライブインターフエイス回路32aを介し制御
線36aよりドライブ制御部2へ発行し、リタ
ーンする。
一方、ドライブ制御部2は、前述のステツプ
(),()で起動信号及び命令を受けると、
データビジーDBYをオンとして返答し、当該
命令の実行に入る。
例えばデータ転送を伴なうライト系命令な
ら、データ転送準備完了後、データ転送制御信
号線37aよりデータ転送要求をデータ転送制
御回路33へ送る。これによつてデータ転送制
御回路33は、データバツフア34のロードア
ドレスカウンタLCTRで示す先頭アドレスから
バイトカウンタBCTRのバイト数分ライトデ
ータをライトデータバス37bを介しドライブ
制御部2へ送り、これを実行せしめ磁気テープ
16にライトさせる。
また、ドライブ制御部2において係るライト
系コマンドの実行が終了すると、終了報告を制
御線36aを介しドライブインターフエイス回
路32aへ上げる。ドライブインターフエイス
回路32aは、これによつてMPU30に割込
みをかけ、第5図乃至第8図の処理を中断せし
める。
第10図は対ドライブライト/リード処理フロ
ー図である。
() MPU30はドライブより終了報告を受
けると、終了した命令種別がリード系かライト
系かを調べ、リード系ならステツプ()へ進
む。
一方、終了した命令種別がライト系なら、
MPU30はドライブインターフエイス回路3
2aを介しEWA信号がオンかオフかを調べる。
オフ(NO)であればステツプ()へ進む。
EWA信号がオン(YES)であれば、終端近
傍領域(EWA)内であるから、MPU30は
RAM31bのエリアEAのLEOTモードフラ
グを調べLEOTモードかを判別する。
LEOTモードでなければ、通常のEOTモー
ドであるから、ステツプ()へ進む。
逆にLEOTモードなら、走行カウンタの歩進
及びLEOT検出点の検出のためステツプ()
へ進む。
() 先づ、MPU30はドライブの記録密度
を調べる。
記録密度が6250rpiか1600rpiかの判断は、以
下の走行カウンタの歩進及びLEOT検出点の検
出処理における、ライトテープマーク長
WTM、イレーズ長ERS、IBG長、判定値
EPTRを異ならせるためであり、処理自体は全
く同一である。
即ち、MPU30は命令バツフアCBUFの命
令がライト命令、イレーズバリアブル命令、ラ
イトテープマーク命令、イレーズ固定命令かを
調べる。
命令がライト命令又はイレーズバリアブル命
令なら、命令バツフアCBUFのバイト数RBC
を使用単位数USEGに変換し、RAM31bの
エリアEAの走行カウント値ECTRに加算更新
する。
又、命令がライトテープマーク命令なら、固
定値であるライトテープマーク長WTMを同様
に走行カウント値ECTRに加算更新する。
更に、命令がイレーズ固定命令なら、固定イ
レーズ長ERSを同様に走行カウント値ECTRに
加算更新する。
そして、更に、IBG長を走行カウント値
ECTRに加算更新する。
次に、MPU30は、LEOT検出点の検出の
ため、この走行カウント値ECTRと判定値
EPTRとを比較する。ECTR≧EPTRなら
LEOT検出点に達しているため、ロジカル
EOTオンとする。ECTR<EPTRならロジカ
ルEOTはオンとしない。
() 次に、MPU30は係るライト系命令が
データバツフア34を使用する命令かを調べ、
使用する命令であれば、RAM31bのデータ
バツフア管理エリアDAの空き容量FSEGに使
用単位数USEGを加算し、空き容量FSEGを更
新する。
次に、この更新後、又はデータバツフア34
を使用していない時には、RAM31bの命令
バツフア管理エリアCAの命令記憶数CBSTK
を「1」減算し、更新する。
更に、MPU30は、RAM31bの命令記
憶数CBSTKが零かを調べ、零なら第5図乃至
第8図のルーチンへ戻り、零でなければ、第9
図のステツプ()以降を実行する。
このようにしてドライブはホストコントロー
ラと非同期に命令バツフアの命令を順次実行し
ていく。
() 一方、ステツプ()で命令種別がリー
ド系と判定されると、MPU30は命令がリー
ドリバースであるかを調べリードリバースであ
ればLDP信号がドライブ1から上がつている
かをドライブインターフエイス回路32aを介
し調べる。LDP信号が上つていなければ、又
はリードフオワードであればドライブインター
フエイス回路32aを介しテープマーク検出信
号が上つているかを調べる。
テープマーク検出信号も上つていなければ、
ドライブ処理終了によるデータバツフア34に
転送されたリードデータのバイト数BCを計算
する。
即ち、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を更新する。
更にMPU30はドライブ1がフオワード方
向の動作で且つEOTの検出をしたかを調べる。
これによつてYESであれば、リード実行結
果(EOT検出)を命令バツフアCBUFの当該
リードデータの格納欄に格納し、第5図乃至第
8図のルーチンへ戻る。
同様にテープマーク検出、リードリバースに
おいてLDP検出の場合も、命令バツフア
CBUFにこれを格納し、第7図又は第8図のル
ーチンへ戻る。
一方、前述のMPU30のEOT検出等の調べ
によつてNOであれば、同様にリード実行結果
(不検出)を命令バツフアCBUFの当該リード
データの格納欄に格納する。
更に、MPU30はRAM31bのエリアCA
の先読みブロツク数CBSTKが63以上かを調
べ、63以上なら、先読みリード不可として第5
図乃至第8図のルーチンへ戻り、63より小なら
先読みリードを実行すべく第9図のステツプ
()へ戻る。
(f) 全体動作の説明 以上、第5図から第10図までの動作を要約す
ると、次の如くなる。
ライト系動作においては、 (1) 第5図ステツプの初期設定()、即ち第
6図Cにおいて、LEOTモードならバツフアサ
イズCBSiZEは最大の「64」で制限を受けず、
通常のEOTモードであれば、バツフアサイズ
CBSiZEは最終制限値CBEにより変更される。
(2) 第7図のステツプにおいて、最終制限値
CBEは記録密度と最大ブロツク長により変更
される。
(3) 通常のEOTモードであれば、第7図のステ
ツプにおいてアーリーウオーニングエリア
EWA内では、バツフアサイズCBSiZEは最終
制限値CBE以上なら、「2」づつ減少してい
く。
例えば、命令バツフアに蓄積しうるライト系
命令が64であつたものを第11図Bの点線の如
く、漸次減少するようにする。
従つて、ライト系命令の蓄積可能数を制限す
るため、ライトデータを伴わないイレーズ、ラ
イトテープマーク等のライト系命令も制限され
るから、磁気テープ内(特にTWA内)に全て
のライト系命令の実行ができ、ライト系命令の
処理不能を防止することができる。
即ち、テープ終端近傍に達しEWA信号がオ
ンとなると、バツフアサイズCBSiZEは最大値
「64」からホストコントローラからのライト系
コマンド受信毎に「2」づつ減少され、即ち、
命令格納許可数が漸次減少する。更にTWA
(EOT)信号が発せられると、命令記憶数
CBSTKが零となるまで終了報告をしない。
このため、先取り命令数は第11図Cの点線
で示す如く漸次減少する。
このような漸次減少する様にすると、ホスト
コントローラは次のコマンドを受付けるまでの
時間が極度に長びかされることがない。これに
対し一挙に減少してしまうと、ホストコントロ
ーラは、(蓄積済の命令数)−(減少後の蓄積可
能命令数−1)だけの数の命令をドライブが実
行するまで次の命令が受付けられないので、ホ
ストコントローラの時間監視によつてタイムオ
ーバーによる装置異常と見なされてしまい不都
合が生じてしまう。
従つて漸次減少によりこの不都合が防止でき
る。この漸次減少は、最終制限値CBE以上で
ある時に行なわれ、最終制限値CBEは記録密
度と最大ブロツク長に応じて順次変更される。
(4) 一方、ロジカルEOTモードであれば、第7
図のステツプにおいて、バツフアサイズ
CBSiZEの漸次減少、即ち制限は行なわれな
い。
そして、第10図のステツプ()におい
て、アーリーウオーニングエリアEWA検出か
らテープ走行距離が走行カウント値ECTRとし
て計測され、これが制限値EPTRに達すると、
ロジカルEOTポイント検出として、LEOTオ
ンとなり、第7図のステツプで通常のEOT
検出と同一の扱いが行なわれる。
従つて、LEOTモードでは、LEOT点検出ま
で第11図Bの如くバツフアサイズCBSiZEの
制限を受けず、LEOT点検出で、EOTモード
と同様、実質的にCBSiZEは零となる。
このため、LEOTモードでは、第11図Cの
如く、LEOT点検出から命令記憶数CBSTKが
減少していく。
(5) 更にLEOTモードにおいて、第9図のステツ
プ()の如く、テープ走行距離計数開始後
(EWAオン後)に、リード系命令の受信、実行
などにより計数値の保証ができなくなつた時に
は、ロジカルEOTモードがオフとなつて、通
常のEOTモードに移行する。
(6) 又、第7図のステツプの如く、ホストコン
トローラから起動(GO)がかかり、ライト系
コマンドが与えられると、先づ命令バツフアの
命令記憶可能数内であるかを調べ、命令記憶可
能数内であれば、このコマンドを受付け、命令
記憶可能数を越えると、このコマンドの受付け
を保留してデータビジーDBYを上げない。
即ち、第4図Bの如く、ドライブ側が命令バ
ツフア内の命令を実行し、命令記憶可能数以内
になるまでデータビジーを上げず、命令記憶可
能数以内となると、データビジーを上げ、処理
実行中をホストコントローラへ通知する。
同様に、ステツプにおいて、データバツフ
アの空き容量が最大ブロツク長以上であるかを
調べ最大ブロツク長以上であれば、ホストコン
トローラからのライトデータの転送を受け、最
大ブロツク長以下なら、データ転送を保留して
データビジーDBYを上げない。
従つて、ドライブ側が命令バツフア内の命令
を実行し、データバツフアの空き容量が最大ブ
ロツク長以上になるまでデータビジーを上げ
ず、最大ブロツク長以上になると、データビジ
ーを上げ、転送受付けを可能とする。
そして、ステツプにおいて、転送されたブ
ロツク長が最大ブロツク長より大なら、実際に
転送されたブロツク長を次回より最大ブロツク
長として採用する。
このため、リトライ回数の減少及び待ち時間
の短縮の効果が生じる。
(g) 他の実施例の説明 上述の実施例では、EOTモードにおいて、ラ
イト系の命令の蓄積可能数をホストからのライト
系コマンド受信毎に漸次減少しているが、一挙に
減少してもよく、ドライブ側の複数命令実行毎に
漸次減少するようにしてもよい。
又、ドライブ制御部2と命令データ先取り制御
部が一体であつてもよく、ドライブ1もテープバ
ツフアを有するものであつてもよい。
更に、通常のEOTモードを設けず、ロジカル
EOTモードのみであつてもよく、最大ブロツク
長MAXLも受信ブロツクにより変更せず、ステ
ツプ的に変更するようにしてもよい。
以上本発明を実施例により説明したが、本発明
は本発明の主旨に従い種々の変形が可能であり、
本発明からこれらを排除するものではない。
〔発明の効果〕
以上説明した様に、本発明によれば、ライト系
命令の先取り数をアーリーウオーニングエリア
EWAにおいて制限しなくてよいので、EOT付近
まで命令先取り数が多くとれ、ストリーミング走
行が長く維持できるという効果を奏し、性能向上
に寄与する。
又、テープウオーニングエリアTWAを長くと
れるため、TWAに書込みできるブロツク数が大
となり、TWAに与えられた命令を確実に実行す
ることができるという効果も奏する。
【図面の簡単な説明】
第1図は本発明の原理説明図、第2図は本発明
の一実施例全体構成図、第3図は第2図構成の要
部構成図、第4図は第2図構成のデータ転送動作
説明図、第5図は本発明の一実施例起動処理フロ
ー図、第6図は第5図の初期設定処理フロー図、
第7図は本発明の一実施例のホストに対するライ
ト系処理フロー図、第8図はホストに対するリー
ド系処理フロー図、第9図はドライブに対する起
動処理フロー図、第10図はドライブに対するラ
イト/リード処理フロー図、第11図は全体動作
の説明図、第12図は命令先取り制御説明図、第
13図は従来技術の説明図である。 図中、1……磁気テープドライブ部、2……ド
ライブ制御部、3……命令・データ先取り制御
部、CBUF……命令バツフア、34……データバ
ツフア。

Claims (1)

  1. 【特許請求の範囲】 1 磁気ヘツドと磁気テープ駆動機構を有する磁
    気テープドライブ部と、 上位から与えられた命令を複数先取り蓄積しう
    るバツフア部と、 該バツフア部の蓄積された命令に従つて該磁気
    テープドライブ部を制御して該命令を実行する制
    御部とを備える磁気テープ装置において、 該制御部が該磁気テープドライブ部によつて走
    行される磁気テープの終端領域近傍を検出した
    後、ライト系命令の実行中に該終端領域近傍検出
    時から該磁気テープの走行距離を計数し、 該計数値が一定値に達したことでテープ終端領
    域を検出したとみなすことを特徴とする磁気テー
    プ装置の命令先取り制御方法。 2 磁気ヘツドと磁気テープ駆動機構を有する磁
    気テープドライブ部と、 上位から与えられた命令を複数先取り蓄積しう
    るバツフア部を有する命令先取り制御部と、 該バツフア部の蓄積された命令に従つて該磁気
    テープドライブ部を制御して該命令を実行するド
    ライブ制御部とを備える磁気テープ装置であつ
    て、 該命令先取り制御部は、該バツフア部に蓄積し
    うる命令数を管理するとともに、 ライト系命令実行中に該ドライブ制御部からの
    該磁気テープの終端領域近傍を示す検出信号に基
    いて該磁気テープの走行距離を計数し、該計数値
    が一定値に達したことでテープ終端領域検出とみ
    なすように構成したことを特徴とする磁気テープ
    装置の命令先取り制御装置。
JP60214248A 1985-07-12 1985-09-27 磁気テ−プ装置の命令先取り制御方法及びその装置 Granted JPS6274120A (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP60214248A JPS6274120A (ja) 1985-09-27 1985-09-27 磁気テ−プ装置の命令先取り制御方法及びその装置
US06/883,630 US4757396A (en) 1985-07-12 1986-07-09 Magnetic tape system with command prefetch means
AU60031/86A AU576090B2 (en) 1985-07-12 1986-07-10 Magnetic tape system
EP86305345A EP0213703B1 (en) 1985-07-12 1986-07-11 Magnetic tape system with command prefetch means
DE86305345T DE3689021T2 (de) 1985-07-12 1986-07-11 Magnetbandsystem mit Befehlsvorauswahlmittel.
CA513624A CA1273710C (en) 1985-07-12 1986-07-11 MAGNETIC TAPE SYSTEM WITH INSTRUCTION PREREADING DEVICE
KR8605635A KR920004769B1 (en) 1985-07-12 1986-07-12 Magnetic tape system having command pretetching means
CA000614390A CA1280510C (en) 1985-07-12 1989-09-28 Magnetic tape system with command prefetch means

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60214248A JPS6274120A (ja) 1985-09-27 1985-09-27 磁気テ−プ装置の命令先取り制御方法及びその装置

Publications (2)

Publication Number Publication Date
JPS6274120A JPS6274120A (ja) 1987-04-04
JPH0452965B2 true JPH0452965B2 (ja) 1992-08-25

Family

ID=16652622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60214248A Granted JPS6274120A (ja) 1985-07-12 1985-09-27 磁気テ−プ装置の命令先取り制御方法及びその装置

Country Status (1)

Country Link
JP (1) JPS6274120A (ja)

Also Published As

Publication number Publication date
JPS6274120A (ja) 1987-04-04

Similar Documents

Publication Publication Date Title
US4517641A (en) Lookahead I/O device control subsystem
JP3257916B2 (ja) 外部記憶装置
US5226141A (en) Variable capacity cache memory
US6038619A (en) Disk drive initiated data transfers responsive to sequential or near sequential read or write requests
US6487631B2 (en) Circuit and method for monitoring sector transfers to and from storage medium
JPH07104817B2 (ja) データレコード転送方法
JPS6120007B2 (ja)
JPH0451851B2 (ja)
JPH08212015A (ja) ドライブ装置
JP3087429B2 (ja) 記憶装置システム
JPS6292022A (ja) データ転送制御方法
CA1273710A (en) Magnetic tape system with command prefetch means
US4310882A (en) DAS Device command execution sequence
JPH0452965B2 (ja)
JPH0477367B2 (ja)
JPH0452966B2 (ja)
JPH0452967B2 (ja)
US6535953B1 (en) Magnetic disk, method of accessing magnetic disk device, and recording medium storing disk access control program for magnetic disk device
JPH0451850B2 (ja)
JPH0456334B2 (ja)
JPH04311216A (ja) 外部記憶制御装置
EP0278425B1 (en) Data processing system and method with management of a mass storage buffer
US20060031604A1 (en) DMA transfer apparatus and method of controlling data transfer
JPH07281836A (ja) データ転送方法
JP2982910B2 (ja) ディスク装置のシーク制御方法及び装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees