JPH0452966B2 - - Google Patents

Info

Publication number
JPH0452966B2
JPH0452966B2 JP60222498A JP22249885A JPH0452966B2 JP H0452966 B2 JPH0452966 B2 JP H0452966B2 JP 60222498 A JP60222498 A JP 60222498A JP 22249885 A JP22249885 A JP 22249885A JP H0452966 B2 JPH0452966 B2 JP H0452966B2
Authority
JP
Japan
Prior art keywords
data
write
buffer
read
instructions
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
JP60222498A
Other languages
English (en)
Other versions
JPS6284331A (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 JP60222498A priority Critical patent/JPS6284331A/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 JPS6284331A publication Critical patent/JPS6284331A/ja
Priority to CA000614390A priority patent/CA1280510C/en
Publication of JPH0452966B2 publication Critical patent/JPH0452966B2/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を、
例えばEOTの約20m分前に発生し、これによつ
て第13図Bの如く、バツフアBFのデータバツ
フアの蓄積可能量(データバイト数)を減少させ
ていた。例えば第13図Bの如く最大256KByte
のデータの蓄積できるデータバツフアに対し、こ
れを128KByteに減少し、データバツフアのデー
タ蓄積量が128KByte以下にならないと、ホスト
コントローラからのライトデータの受付けを許可
しないようにして、係る書込み不能を防止するよ
うにしていた。
〔発明が解決しようとする問題点〕
係る従来技術によれば、データバツフアの容量
を制限することによつて、間接的にライト系命令
の先取り数を制限しようとするものであつた。
一方、係るバツフア付き磁気テープ装置の性能
は、命令先取り数に大きく影響され、命令先取数
が多いほうがストリーミング走行を長く維持で
き、性能的に優れている。
しかしながら、EOT以降のテープウオーニン
グエリア(TWA)に書込み可能な長さは限られ
ており、EOT検出時に命令先取り数が多過ぎる
と、先取りした全ての命令を実行することができ
なくなる。
このため、EOT付近までは先取り数をできる
だけ多くし、EOTが近付いたら書込み可能な数
に減らすことが必要である。
このテープに記録するブロツクの長さは、記録
密度とブロツクのバイト数によつて異なるためテ
ープウオーニングエリア(TWA)に書込み可能
なブロツク数も記録密度とブロツクのバイト数に
よつて異なる。
例えば記録密度1600rpiでブロツク長が64KBで
あるとすると1ブロツクの長さは約1mであり、
テープウオーニングエリア(TWA)に書込み可
能なブロツク数は3ブロツクであるが、同じく記
録密度1600rpiでもブロツク長が8KBなら1ブロ
ツクの長さはIBGも含めて約14.5cmでありテープ
ウオーニングエリア(TWA)に書込み可能なブ
ロツク数は約20ブロツクである。
また、記録密度6250rpiでブロツク長が8KBで
あれば1ブロツクの長さはIBGも含めて約4cmで
あり、テープウオーニングエリア(TWA)には
約75ブロツクの書込みが可能である。
従つてEOTが近付いた場合の命令先取り数制
限は記録密度とブロツクのバイト数を考慮して行
うことが望ましい。
しかし、従来技術ではブロツクのバイト数によ
つて命令先取り数は変化するが、記録密度は考慮
されていないため1600rpiにおいて先取り命令数
が多過ぎて、TWA内で全ての命令の実行ができ
なくなる恐れがある場合、または6250rpiにおい
て先取り命令を過剰に制限して、装置の性能が過
度に低下する場合が生じていた。
本発明は、TWA内ですべての命令を実行でき
る範囲で、装置の性能を最大限に引出すことが可
能な命令先取り制御を行うことのできる磁気テー
プ装置の命令先取り制御方法及びその装置を提供
することを目的とする。
〔問題点を解決するための手段〕
第1図は本発明の原理説明図である。
本発明では、第1図Aのテープ終端近傍(アー
リーウオーニング)検出時からEOT検出までの
EWA(アーリーウオーニングエリア)において、
第1図Bの如く、ライト系命令先取り可能数
CBSiZEを実線の如く漸次又は点線の如く一挙に
制限し、最終制限値CBEは、第1図C及びDの
如く記録密度と最大ブロツク長により決定するよ
うにしたものである。
例えば、第1図Cの記録密度6250rpiの高密度
記録においては、最大ブロツク長MAXLに応じ
て命令先取り最終制限値CBEを「16」から
「8」、「4」、「2」に、記録密度1600rpiの低密度
記録においては、最大ブロツク長MAXLに応じ
て命令先取り最終制限値CBEを「8」から
「4」、「2」に変更するようにしたものである。
〔作用〕
本発明では、命令先取り可能数CBSiZEの最終
制限値CBEを記録密度と最大ブロツク長MAXL
によつて決定しているため、命令先取り制限数を
最適値にすることができ、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モードでない時のフイジカル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単位
(256KByte)とし、データバツフアアドレス
BADRを“00”に設定する。
更に、データバツフア管理エリアDAの最大
ブロツク長MAXLを最小の8単位(8KByte)
に設定し、エリアEAのロジカルEOTモードフ
ラグをオフとして初期設定(1)を終了する。尚、
ロジカルEOTモードは、通常のフイジカル
EOTモードと別に設定されたものであり、後
述する。
次に電源投入時あるいはREW命令、UNL命
令実行後の初期設定終了後又はホストからの起
動待ちルーチンにおいて、MPU30はバス3
5を介しドライブインターフエイス回路32a
を介し磁気テープが供給リール12にセツトさ
れたオンライン状態にあるかを調べる。
オンライン状態にあれば、MPU30はバス
35を介しホストインターフエイス回路32b
のレジスタの内容を調べ、ホストからREW(リ
ワインド)命令又はUNL(アンロード)命令が
到来しているかを調べる。
REW命令又はUNL命令が到来していれば、
MPU30はドライブ制御部2の実行処理モー
ドがリード系か、ライト系か又は実行中でない
かを調べる。
実行処理モードがリード系なら、ドライブ1
の先読みを停止させる。即ち、ドライブ制御部
2が実行中の処理を終了したならばドライブイ
ンターフエイス回路32aを介し制御線36a
よりドライブ制御部2に、新たな処理を命じな
いようにし、リード系処理を停止させる。
一方、実行処理モードがライト系なら、命令
バツフアCBUF内の全てのライト系命令を実行
させる。
そして、全命令の実行後、実行中の処理なし
の場合又はドライブの先読み処理の停止後、
MPU30はドライブインターフエイス回路3
2aを介しREW命令(テープをBOTまで戻
す)又はUNL命令(テープを巻取る)を与え
てドライブ1にこれを実行させ、ステツプの
初期設定(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図Bの初期設定(2)を実行し、
MPU30はRAM31bの命令バツフア管理
エリアCAの命令記憶数CBSTKを零クリアし、
データバツフア管理エリアDAのバツフア空き
容量FSEGを最大の256とし、データバツフア
アドレスBADRを“00”に設定する。
このステツプの終了後又はドライブ制御部
2が実行中でなければ、第6図Cの初期設定(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にセ
ツトされる。
又、ロードポイントLDPからの書込み時に
おける記録密度が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は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以下なら、最大ブロツク長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が最終制限値CBEより大な
らば、命令バツフアサイズ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は前述のステツプでRAM
31bの命令バツフア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図の起動待ちルーチンへ戻
る。
このようにして、ライト系処理では、EWA
検出から一定値EPTR走行した時点でEOTと
みなすロジカルEOTモードでは、バツフアサ
イズCBSiZEはステツプで減少制限せずに、
ロジカルEOTオンによつてステツプで通常
の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はRAM31bのエリ
アEAの書込み記録密度を調べる。
記録密度が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図又は
第7図のルーチンへ戻り、零でなければ、第9
図のステツプ()以降を実行する。
このようにしてドライブはホストコントロー
ラと非同期に命令バツフアの命令を順次実行し
ていく。
() 一方、ステツプ()で命令種別がリー
ド系と判定されると、MPU30は命令がリー
ドリバースであるかを調べ、リードリバースで
あつたならばドライブインターフエイス回路3
2aを介し、ドライブ1がロードポイント
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) 通常のフイジカルEOTモードとは別にロジ
カルEOTモードが設けられている。
即ち、第11図Aに示す如く、磁気テープド
ライブ部1が磁気テープ16を走行して、磁気
テープの終端近傍領域(EWA)を検出すると、
先取り制御部3が終端領域近傍時点から磁気テ
ープの走行距離を計数し、計数値ECTRが一定
値EPTRに達すると、テープ終端領域検出とみ
なし、疑似的なEOTを得るようにしている。
この疑似EOT(ロジカルEOT)は通常のフ
イジカルEOT検出と同一の効果を待ち、これ
によつて実際に磁気テープに設けられたEOT
マーカを検出することなく、それ以前にEOT
の取扱いが行われる。
これによつて第11図Aに示す如くEOT検
出時点を早くすることにより、TWAを長くで
きる。このため、TWAに書込むことのできる
ブロツク数が多くなるため、第11図Bの実線
に示す如く、EWAにおけるライト系命令の先
取り数を減らす必要がなくなる。
従つて、ホストコントローラは、ライト系命
令の先取り制限をEWAにおいては受けないの
でストリーミング走行の性能低下を防止でき
る。
即ち、第11図cの実線の如く、EOT付近
までは、命令先取り数はできるだけ多くし、
EOTが近づいたら、書込み可能な数に減らす
という理想的な先取り制御が可能となる。
これによつて、TWAに書込み不能となるこ
ともなく、性能低下を防止することができる。
(2) 従つて、第5図ステツプの初期設定()、
即ち第6図cにおいて、LEOTモードならバツ
フアサイズCBSiZEは最大の「64」で減少制限
を受けない。
即ち、ロジカルEOTモードであれば、第7
図のステツプにおいて、バツフアサイズ
CBSiZEの漸次減少、即ち減少制限は行われな
い。
そして、第10図のステツプ()におい
て、アーリーウオーニングエリアEWA検出か
らテープ走行距離が走行カウント値ECTRとし
て計測され、これが制限値EPTRに達すると、
ロジカルEOTポイント検出として、LEOTオ
ンとなり、第7図のステツプで通常のEOT
検出と同一の扱いが行われる。
従つて、LEOTモードでは、LEOT点検出ま
で第11図Bの実線の如くバツフアサイズ
CBSiZEの制限を受けず、LEOT点検出で、
EOTモードと同様、実質的にCBSiZEは零とな
る。
このため、LEOTモードでは、第11図c実
線の如く、LEOT点検出から命令記憶数
CBSTKが減少していく。
(3) 更にLEOTモードにおいて、第9図のステツ
プ()の如く、テープ走行距離計数開始後
(EWAオン後)に、リード系命令の受信、実行
などにより計数値の保証ができなくなつた時に
は、ロジカルEOTモードがオフとなつて、通
常のEOTモードに移行する。
(4) 一方、通常のフイジカルEOTモードであれ
ば、第5図のステツプの初期設定()、即
ち第6図cにおいてバツフアサイズCBSiZEは
最終制限値CBEにより変更される。
又、第7図のステツプにおいて、この最終
制限値CBEは記録密度と最大ブロツク長によ
り変更される。
フイジカルEOTモードであれば、第7図の
ステツプにおいてアーリーウオーニングエリ
アEWA内では、バツフアサイズCBSiZEは最
終制限値CBE以上なら「2」づつ減少してい
く。
例えば、命令バツフアに蓄積しうるライト系
命令が64であつたものを第11図Bの点線の如
く、漸次減少するようにする。
従つて、ライト系命令の蓄積可能数を制限す
るため、ライトデータを伴わないイレーズ、ラ
イトテープマーク等のライト系命令も制限され
るから、磁気テープ内(特にTWA内)に全て
のライト系命令の実行ができ、ライト系命令の
処理不能を防止することができる。
即ち、テープ終端近傍に達しEWA信号がオ
ンとなると、バツフアサイズCBSiZEは最大値
「64」からホストコントローラからのライト系
コマンド受信毎に「2」づつ減少され、即ち命
令格納許可数が漸次減少する。更にTWA
(EOT信号)が発せられると、命令記憶数
CBSTKが零となるまで終了報告をしない。
このため、先取り命令数は第11図cの点線
で示す如く漸次減少する。
このような漸次減少する様にすると、ホスト
コントローラは次のコマンドを受付けるまでの
時間が極度に長びかされることがない。これに
対し一挙に減少してしまうと、ホストコントロ
ーラは、(蓄積済み命令数)−(減少後の蓄積可
能命令数−1)だけの数の命令をドライブが実
行するまで次の命令が受付けられないので、ホ
ストコントローラの時間監視によつてタイムオ
ーバーによる装置異常と見なされてしまい不都
合が生じてしまう。
従つて漸次減少によりこの不都合が防止でき
る。
この漸次減少は、最終制限値CBE以上であ
る時に行われ、最終制限値CBEは記録密度と
最大ブロツク長に応じて順次変更される。
(6) 又、第7図のステツプの如く、ホストコン
トローラから起動(GO)がかかり、ライト系
コマンドが与えられると、先づ命令バツフアの
命令記憶可能数内であるかを調べ、命令記憶可
能数内であれば、このコマンドを受付け、命令
記憶可能数を越えると、このコマンドの受付け
を保留してデータビジーDBYを上げない。
即ち、第4図Bの如く、ドライブ側が命令バ
ツフア内の命令を実行し、命令記憶可能数以内
になるまでデータビジーを上げず、命令記憶可
能数以内となると、データビジーを上げ、処理
実行中をホストコントローラへ通知する。
同様に、ステツプにおいて、データバツフ
アの空き容量が最大ブロツク長以上であるかを
調べ最大ブロツク長以上であれば、ホストコン
トローラからのライトデータの転送を受け、最
大ブロツク長以下なら、データ転送を保留して
データビジーDBYを上げない。
従つて、ドライブ側が命令バツフア内の命令
を実行し、データバツフアの空き容量が最大ブ
ロツク長以上になるまでデータビジーを上げ
ず、最大ブロツク長以上になると、データビジ
ーを上げ、転送受付けを可能とする。
そして、ステツプにおいて、転送されたブ
ロツク長が最大ブロツク長より大なら、実際に
転送されたブロツク長を次回より最大ブロツク
長として採用する。
このため、リトライ回数の減少及び待ち時間
の短縮の効果が生じる。
(g) 他の実施例の説明 上述の実施例では、フイジカルEOTモードに
おいて、ライト系の命令の蓄積可能数をホストか
らのライト系コマンド受信毎に漸次減少している
が、一挙に減少してもよく、ドライブ側の複数命
令実行毎に漸次減少するようにしてもよい。
又、ドライブ制御部2と命令データ先取り制御
部が一体であつてもよく、ドライブ1もテープバ
ツフアを有するものであつてもよい。
更に、ロジカルEOTモードを設けず、ロジカ
ルEOTモードのみであつてもよく、最大ブロツ
ク長MAXLも受信ブロツクにより変更せず、ス
テツプ的に変更するようにしてもよい。
以上本発明を実施例により説明したが、本発明
は本発明の主旨に従い種々の変形が可能であり、
本発明からこれらを排除するものではない。
〔発明の効果〕
以上説明した様に、本発明によれば、ライト系
命令のアーリーウオーニングエリアEWAにおけ
る最終制限値CBEを記録密度と最大ブロツク長
に応じて決定しているので、最終制限値CBEを
最適な値に設定することができ、装置の性能を最
大限に引出すことのできるライト系命令の先取り
制御が可能となるという効果を奏する。
又、データ転送を伴なわないライト系の命令も
先取り数を制限しているので、命令バツフア内に
蓄えられた全てのライト系命令の実行が可能とな
るという効果を奏し、係るバツフアを有する磁気
テープ装置の命令先取りによつてテープ終端で生
じる不都合を防止することができる。
【図面の簡単な説明】
第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 磁気ヘツドと磁気テープ駆動機構を有する磁
    気テープドライブ部と、 上位から与えられた命令を複数先取り蓄積しう
    るバツフア部を有する命令先取り制御部と、 該バツフア部の蓄積された命令に従つて該磁気
    テープドライブ部を制御して該命令を実行するド
    ライブ制御部とを備える磁気テープ装置であつ
    て、 該命令先取り制御部は、該バツフア部に蓄積し
    うる命令数を管理するとともに、 該ドライブ制御部からの該磁気テープの終端領
    域近傍を示す検出信号に基いて該蓄積しうる先取
    りライト系命令数を制限するとともに、該最終制
    限値を記録密度及びライト系命令の最大ブロツク
    長を基に決定するよう構成したことを特徴とする
    磁気テープ装置の命令先取り制御装置。
JP60222498A 1985-07-12 1985-10-05 磁気テ−プ装置の命令先取り制御方法及びその装置 Granted JPS6284331A (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP60222498A JPS6284331A (ja) 1985-10-05 1985-10-05 磁気テ−プ装置の命令先取り制御方法及びその装置
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
JP60222498A JPS6284331A (ja) 1985-10-05 1985-10-05 磁気テ−プ装置の命令先取り制御方法及びその装置

Publications (2)

Publication Number Publication Date
JPS6284331A JPS6284331A (ja) 1987-04-17
JPH0452966B2 true JPH0452966B2 (ja) 1992-08-25

Family

ID=16783372

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS6284331A (ja)

Also Published As

Publication number Publication date
JPS6284331A (ja) 1987-04-17

Similar Documents

Publication Publication Date Title
JP3257916B2 (ja) 外部記憶装置
US5226141A (en) Variable capacity cache memory
EP0080876A2 (en) Cache control method and apparatus
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
JP3254429B2 (ja) データ転送/管理システム及び方法
US5410666A (en) On-line dumping system and disk sub system
JPH07104817B2 (ja) データレコード転送方法
JPH08212015A (ja) ドライブ装置
JPH0451851B2 (ja)
JPS6292022A (ja) データ転送制御方法
EP0017666B1 (en) Methods of operating direct access storage means
CA1273710A (en) Magnetic tape system with command prefetch means
JPH0452966B2 (ja)
JPS6214305A (ja) 磁気テ−プ装置のライトエラ−処理方法
US6535953B1 (en) Magnetic disk, method of accessing magnetic disk device, and recording medium storing disk access control program for magnetic disk device
JPH0452967B2 (ja)
JPH0452965B2 (ja)
US4935828A (en) Seek multitasking disk controller
JP3122702B2 (ja) ディスク装置のライトバック制御方法
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

Legal Events

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