JPS6284331A - Method and device for controlling prefetch of instruction of magnetic tape device - Google Patents
Method and device for controlling prefetch of instruction of magnetic tape deviceInfo
- Publication number
- JPS6284331A JPS6284331A JP60222498A JP22249885A JPS6284331A JP S6284331 A JPS6284331 A JP S6284331A JP 60222498 A JP60222498 A JP 60222498A JP 22249885 A JP22249885 A JP 22249885A JP S6284331 A JPS6284331 A JP S6284331A
- Authority
- JP
- Japan
- Prior art keywords
- data
- instructions
- magnetic tape
- write
- buffer
- 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.)
- Granted
Links
Abstract
Description
【発明の詳細な説明】
〔目次〕
概要
産業上の利用分野
従来の技術
発明が解決しようとする問題点
問題点を解決するための手段 (第1図)作用
実施例
(al−実施例の全体構成の説明 (第2図)(b)先
取り制御部の構成の説明
(第3図、第4図)
fcl起動処理動作の説明(第5図、第6図)(d)対
ホスト処理動作の説明
(第7図、第8図)
fe)対ドライブ処理動作の説明
(第9図、第10図)
(fl全体動作の説明 (第11図)(g)他の実施
例の説明
発明の効果
〔概要〕
上位から転送された命令を複数蓄積しうるバッファを備
え、命令を先取りする磁気テープ装置の命令先取り方法
において、磁気テープの終端領域近傍検出に基いてバッ
ファ部に先取りしうるライト系命令数を記録密度と最大
ブロック長によって最終制限値を決定して制限すること
によって、テープ終端近傍領域において、先取り命令数
を適切に制限するようにしたりのである。[Detailed Description of the Invention] [Table of Contents] Overview Industrial Field of Application Conventional Technology Problems to be Solved by the Invention Means for Solving the Problems (Fig. 1) Working Examples (Al-Overall Examples) Explanation of the configuration (Figure 2) (b) Explanation of the configuration of the prefetch control unit (Figures 3 and 4) Explanation of the fcl startup processing operation (Figures 5 and 6) (d) Description of the host processing operation Explanation (Fig. 7, Fig. 8) fe) Explanation of drive processing operation (Fig. 9, Fig. 10) (fl Explanation of overall operation (Fig. 11) (g) Description of other embodiments Effects of the invention [Summary] In an instruction prefetching method for a magnetic tape device that is equipped with a buffer that can store multiple instructions transferred from a higher level and that preempts instructions, a write-related instruction that can be prefetched to a buffer section based on detection near the end area of a magnetic tape is provided. By limiting the number by determining the final limit value based on the recording density and maximum block length, the number of prefetch instructions can be appropriately limited in the area near the end of the tape.
本発明は、複数の命令の格納可能なバッファを有する磁
気テープ装置において、当該バッファに上位からの命令
を先取りしうる命令先取り制御方法及びその装置に関す
る。The present invention relates to an instruction prefetch control method and apparatus for prefetching instructions from a higher order into the buffer in a magnetic tape device having a buffer capable of storing a plurality of instructions.
コンピュータの外部記憶装置として広く磁気テープ装置
が利用されており、近年特に磁気ディスク装置等の他に
外部記憶装置のハックアップ用として用いられている。Magnetic tape devices are widely used as external storage devices for computers, and in recent years have been used particularly for hacking up external storage devices in addition to magnetic disk devices.
このような磁気テープ装置においては、第12図に示す
如く、磁気テープへ書込み及び読出しを行う磁気ヘッド
と、磁気テープの走行駆動を行う磁気テープ駆動部とを
有するテープドライブ部1と、ホストコントローラから
の命令によりこれを制御する制御部CTとが設けられて
構成されている。In such a magnetic tape device, as shown in FIG. 12, there is a tape drive unit 1 having a magnetic head for writing and reading data on the magnetic tape, a magnetic tape drive unit for driving the magnetic tape, and a host controller. A controller CT is provided to control the controller based on instructions from the controller.
近年、この制御部CT内にバッファBFを設け、ホスト
コントローラからの命令、データを先取りし、バフファ
BF内に蓄えておき、テープドライブ部1に対しバッフ
ァBF内の命令、データを順次実行させる命令先取り制
御を行うものが開発され、実用に供されている。In recent years, a buffer BF has been provided in the control unit CT to prefetch commands and data from the host controller, store them in the buffer BF, and instruct the tape drive unit 1 to sequentially execute the commands and data in the buffer BF. A system that performs proactive control has been developed and is in practical use.
このような磁気テープ装置は、バッファ付き磁気テープ
装置と称され、ホストコントローラからの命令に対し、
非同期でテープドライブ部1を動作できるので、ホスト
コントローラ側では一命令に対しテープドライブ部1の
動作完了を待つ必要なく、命令を継続的に発行でき、又
テープドライブ部1もホス1−コントローラからの命令
を待つことなく継続的に動作が実行できるから、処理効
率の向上が得られ、特にストリーミングモードの動作効
率を向上しうる。This type of magnetic tape device is called a buffered magnetic tape device, and responds to instructions from the host controller.
Since the tape drive section 1 can be operated asynchronously, the host controller side can issue commands continuously without having to wait for the operation of the tape drive section 1 to complete in response to one command. Since operations can be executed continuously without waiting for instructions, processing efficiency can be improved, and in particular, operation efficiency in streaming mode can be improved.
このようなバッファBFを有して命令を先取りするため
に、バッファBFは複数の命令のM$AI。In order to have such a buffer BF and prefetch instructions, the buffer BF has M$AI of multiple instructions.
うる命令バッファと、複数のデータの蓄積しうるデータ
バッファとで構成され、例えば、命令バッファには最大
64命令、データバッファには最大256 KByte
のデータを格納しうるようにして、先取り命令、データ
を増加しうるようにしている。It consists of an instruction buffer that can store multiple instructions, and a data 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 256 KB.
data can be stored, and the number of prefetch instructions and data can be increased.
一方、第13図(A)に示す如く磁気テープ16は無限
長でなく、有限長のため、終端には、EOT (END
OF TAPR)マーカが貼付されており、EOT検
出(麦のテープウオーニングエリア(TWA)は約3m
Lか使用できない。On the other hand, as shown in FIG. 13(A), the magnetic tape 16 does not have an infinite length but a finite length, so at the end there is an EOT (END).
OF TAPR) marker is attached, and EOT detection (Mugi tape walking area (TWA) is approximately 3 m.
L cannot be used.
従って、ライト系の処理においては、先取り命令・デー
タがEOT検出時に3m分以上であると、これを磁気テ
ープ16上にライトできなくなり、何等かの対策が必要
となる。Therefore, in write-related processing, if the pre-fetch command/data is 3 m or more at the time of EOT detection, it will not be possible to write it onto the magnetic tape 16, and some kind of countermeasure will be required.
従来、このため磁気テープの終端であるEOTを検出す
る以前にテープ終端近傍信号EWAを、例えばEOTの
約20m分前に発生し、これによって第13図(B)の
如(、バッファBFのデータバッファの蓄積可能量(デ
ータハイ1〜数)を減少させていた。例えば第13図(
B)の如く最大256 KByteのデータの蓄積でき
るデータバッファに対し、これを128 KByteに
減少し、データバッファのデータ蓄積量が128 K、
Byte以下にならないと、ホストコントローラからの
ライトデータの受付けを許可しないようにして、係る書
込み不能を防止するようにしていた。Conventionally, for this reason, before detecting EOT, which is the end of the magnetic tape, a tape end near signal EWA is generated, for example, about 20 m before EOT. The buffer storage capacity (data high 1 to number) was reduced. For example, as shown in Figure 13 (
For a data buffer that can store up to 256 KB of data as shown in B), this is reduced to 128 KB, and the amount of data stored in the data buffer is 128 KB.
This writing failure is prevented by not allowing write data to be accepted from the host controller unless the size is less than Byte.
係る従来技術によれば、データバッファの容量を制限す
ることによって、間接的にライト系命令の先取り数を制
限しようとするものであった。According to the related art, the number of prefetching of write-related instructions is indirectly limited by limiting the capacity of the data buffer.
一方、係るバッファ付き磁気テープ装置の性能は、命令
先取り数に大きく影響され、命令先取数が多いほうがス
トリーミング走行を長く維持でき、性能的に優れている
。On the other hand, the performance of such a buffered magnetic tape device is greatly influenced by the number of prefetched instructions, and the larger the number of prefetched instructions, the longer the streaming can be maintained and the better the performance.
しかしながら、EOT以降のテープウオーニングエリア
(TWA)に書込み可能な長さは限られており、EOT
検出時に命令先取り数が多過ぎると、先取りした全ての
命令を実行することができなくなる。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 at the time of detection, it becomes impossible to execute all prefetched instructions.
このため、EOT付近までは先取り数をできるだけ多く
し、EOTが近付いたら書込み可能な数に減らすことが
必要である。For this reason, it is necessary to increase the number of pre-fetches as much as possible until near the EOT, and reduce the number to a writable number as the EOT approaches.
このテープに記録するブロックの長さは、記録密度とブ
ロックのバイト数によって異なるためテープウオーニン
グエリア(TWA)に書込み可能なブロック数も記録密
度とブロックのバイト数によって異なる。The length of a block recorded on this tape varies depending on the recording density and the number of bytes of the block, so the number of blocks that can be written in the tape walking area (TWA) also varies depending on the recording density and the number of bytes of the block.
例えば記録密度1600rpiでブロック長が64KB
であるとすると1ブロツクの長さは約1mであり、テー
プウオーニングエリア(TWA)に書込み可能なブロッ
ク数は3ブロツクであるが、同じく記録密度1600r
p iでもブロック長が8KBなら1ブロツクの長さは
IBGも含めて約14.5Cmでありテープウオーニン
グエリア(TWA)に書込み可能なブロック数は約20
ブロツクである。For example, at a recording density of 1600 rpi, the block length is 64KB.
If this is the case, the length of one block is approximately 1 m, and the number of blocks that can be written in the tape walking area (TWA) is 3 blocks, but the recording density is also 1600 r.
Even with p i, if the block length is 8 KB, the length of one block is approximately 14.5 cm including the IBG, and the number of blocks that can be written to the tape walking area (TWA) is approximately 20.
It's a block.
また、記録密度6250rpiでブロック長が8KBで
あれば1ブロツクの区さはIBGも含めて約4cmであ
り、テープウオーニングエリア(TWA)には約75プ
ロ・7りの書込みが可能である。Further, if the recording density is 6250 rpm and the block length is 8 KB, the width of one block is approximately 4 cm including the IBG, and approximately 75 programs/7 units can be written in the tape walking area (TWA).
従ってEOTが近付いた場合の命令先取り数制限は記録
密度とブロックのバイト数を考慮して行うことが望まし
い。Therefore, it is desirable to limit the number of instructions to be prefetched when the EOT approaches, taking into consideration the recording density and the number of bytes of a block.
しかし、従来技術ではブロックのバイト数によって命令
先取り数は変化するが、記録密度は考慮されていないた
め1600rpiにおいて先取り命令数が多過ぎて、T
WA内で全ての命令の実行ができなくなる恐れがある場
合、または6250rpiにおいて先取り命令数を過剰
に制限して、装置の性能が過度に低下する場合が生じて
いた。However, in the conventional technology, the number of instructions prefetched varies depending on the number of bytes of a block, but since the recording density is not taken into consideration, the number of prefetched instructions is too large at 1600 rpm, and T
There have been cases where there is a risk that all instructions cannot be executed within the WA, or where the number of prefetched instructions is excessively limited at 6250 rpm, resulting in excessive deterioration of device performance.
本発明は、TWA内ですべての命令を実行できる範囲で
、装置の性能を最大限に引出すことが可能な命令先取り
制御を行うことのできる磁気テープ装置の命令先取り制
御方法及びその装置を提供することを目的とする。The present invention provides an instruction preemption control method for a magnetic tape device and its device, which can perform instruction preemption control that can maximize the performance of the device within the range in which all instructions can be executed within the TWA. The purpose is to
第1図は本発明の原理説明図である。 FIG. 1 is a diagram explaining the principle of the present invention.
本発明では、第1図(A)のテープ終端近傍(アーリー
ウオーニング)検出時からEOT検出までのEWA (
アーリーウオーニングエリア)において、第1図(B)
の如く、ライト系命令先取り可能数CBS i ZEを
実線の如く漸次又は点線の如ぐ一挙に制限し、最終制限
値CBEは、第1図(C)及び(D)の如く記録密度と
最大ブロック長により決定するようにしたものである。In the present invention, the EWA (
(Early Warning Area), Figure 1 (B)
As shown in Figure 1 (C) and (D), the number of write instructions that can be preempted CBS i ZE is limited gradually as shown by the solid line or all at once as shown by the dotted line, and the final limit value CBE is determined by the recording density and the maximum block as shown in Figures 1 (C) and (D). The decision was made based on the length.
例えば、第1図(C)の記録密度6250rpiの高密
度記録においては、最大ブロック長MAXLに応じて命
令先取り最終制限値CBEを「16」から「8」、「4
」、「2」に、記録密度1600rpiの低密度記録に
おいては、最大ブロック長MAXLに応じて命令先取り
最終制限値Cl5Eを「8」から「4」、「2」に変更
するようにしたものである。For example, in high-density recording with a recording density of 6250 rpi as shown in FIG.
”, “2”, in low-density recording with a recording density of 1600 rpi, the instruction prefetch final limit value Cl5E is changed from “8” to “4” to “2” according to the maximum block length MAXL. be.
本発明では、命令先取り可能数CB51ZEの最終制限
値CBEを記録密度と最大ブロック長MAXLによって
決定しているため、命令先取り制限数を最適値にするこ
とができ、TWA内ですべての命令を実行できる範囲で
、装置の性能を最大限に引出すことができる。In the present invention, the final limit value CBE of the number of instructions that can be prefetched CB51ZE is determined by the recording density and the maximum block length MAXL, so the instruction prefetch limit can be set to an optimal value and all instructions can be executed within the TWA. The performance of the device can be maximized to the extent possible.
又、本発明では、データバッファの容量を制限する代り
に、ライト系命令の先取り可能数を制限するため、ライ
トデータを伴わないイレーズ、ライトテープマーク等の
ライト系命令も制限されるから、磁気テープ内に全ての
ライI・系命令の実行ができ、ライト系命令の処理不能
を防止することができる。In addition, in the present invention, instead of limiting the capacity of the data buffer, the number of write-related instructions that can be read in advance is limited, so write-related instructions such as erase and write tape mark that do not involve write data are also limited. All write-related instructions can be executed within the tape, and write-related instructions can be prevented from being unable to be processed.
(a)一実施例の全体構成の説明
第2図は、本発明の一実施例の説明のための全体構成図
である。(a) Description of overall configuration of one embodiment FIG. 2 is an overall configuration diagram for explaining one embodiment of the present invention.
図中、第12図で示したものと同一のものは同一の記号
で示してあり、1はリール間直接駆動方式の磁気テープ
ドライブユニノ1〜(以下ドライブと称す)であり、巻
取リール(マシンリール)11と供給リール(ファイル
リール)12の間に磁気テープ16がテンションアーム
15のローラ15a、磁気ヘッド14、アイドラ13を
介して巻取リール11に至るよう構成され、磁気ヘッド
14の両側ではガイド17a、17bによってガイドさ
れている。In the figure, the same components as those shown in FIG. A magnetic tape 16 is arranged between a (machine reel) 11 and a supply reel (file reel) 12 to reach the take-up reel 11 via a roller 15a of a tension arm 15, a magnetic head 14, and an idler 13. It is guided on both sides by guides 17a, 17b.
一方、巻取り−ル11、供給リール12は各々駆動モー
タtOa、10bによって回転駆動され、更に駆動モー
タ10a、10bにはロータリーエンコーダiaa、1
8bが設けられ駆動モータ10a、10bの回転量を検
出できるようにしている。又、アイドラ13にもロータ
リーエンコーダ19aが設けられ、これによって実際の
テープの走行位置の監視を可能とし、一方、テンション
アーム15には張力検出器19bが設けられ、テープ張
力の検出を可能としている。On the other hand, the take-up reel 11 and the supply reel 12 are rotationally driven by drive motors tOa and 10b, respectively, and the drive motors 10a and 10b have rotary encoders iaa and 1
8b is provided so that the amount of rotation of the drive motors 10a, 10b can be detected. The idler 13 is also provided with a rotary encoder 19a, which enables monitoring of the actual tape running position, while the tension arm 15 is provided with a tension detector 19b, which allows detection of tape tension. .
2はドライブ制御部であり、後述する命令・データ先取
り制御部からの命令及びデータによってテープ走行駆動
及びヘッド書込み又は読取り駆動を行うものであり、各
ロータリーエンコーダ18a・18b、19aの出力を
受けて走行状態を監視し、又張力検出器19bの出力よ
り張力を監視し、駆動回路20.21を介し両駆動モー
タ10a、10bを制御して、テープ張力を一定にしつ
つテープを走行駆動するとともに磁気ヘッド14にライ
トデータを与え書込みを行わせ且つ磁気ヘッド14から
のリードデータを受けるものである。Reference numeral 2 denotes a drive control section, which drives tape running and drives head writing or reading according to commands and data from a command/data prefetch control section, which will be described later. The running state is monitored, and the tension is monitored from the output of the tension detector 19b, and both drive motors 10a and 10b are controlled via drive circuits 20 and 21 to drive the tape to run while keeping the tape tension constant. It supplies write data to the head 14 to perform writing, and receives read data from the magnetic head 14.
3は命令・データ先取り制御部であり、ホストコントロ
ーラからのライト系又はリード系の命令及びライトデー
タを受け、これらを蓄え、ライト系命令ならドライブ制
御部2ヘライト命令及びライトデータを送り、ライ1ル
動作せしめ、1つ正常終了なら次のブロックのライト命
令及びライ1−データを送り、正常終了でなければドラ
イブ制御部2ヘライトリトライ動作せしめるものである
。3 is a command/data prefetch control unit which receives write or read commands and write data from the host controller, stores them, and sends write commands and write data to the drive control unit 2 for write commands; If one block is completed normally, the next block's write command and write 1 data are sent, and if the block is not completed normally, the drive control section 2 is made to perform a write retry operation.
命令・データ先取り制御部3は、後述する命令バッファ
とデータバッファを有し、ホストコントローラに対して
は磁気テープ装置として動作し、ドライブ制御部2に対
してはホストコントローラとして動作するアダプタであ
る。The command/data prefetch control section 3 has an instruction buffer and a data buffer, which will be described later, and is an adapter that operates as a magnetic tape device for the host controller and as a host controller for the drive control section 2.
(b)先取り制御部の構成の説明
第3図は第2図構成における要部、即ち、命令データ先
取り制御部3の構成図である。(b) Description of structure of prefetch control section FIG. 3 is a block diagram of the main part in the structure of FIG. 2, that is, the instruction data prefetch control section 3.
図中、30はマイクロプロセッサ(以下MPUと称す)
であり、後述するプログラムメモリのマイクロプログラ
ムに従ってホストコントローラからの命令及びデータの
受信制御及びデータ、ステータスの送信制御を行うとと
もに、ドライブ制御部2へ命令、データの送信制御及び
ドライブ制御部からのデータ、ステータスの受信制御を
行い、更にドライブ1の状態制御の処理を行うもの、3
1aはプログラムメモリであり、MPU30が実行すべ
きプログラムを格納しておくもの、31bはランダムア
クセスメモリ (以下RAMと称す)であり、MPU3
0の処理に必要な各種データ、命令、パラメータを格納
しておくものであり、命令バッファエリアCBUF、命
令ハソファ管理エリアCA及びデータバッファ管理エリ
アDA、各種モード管理エリアEA、リード命令レジス
タRCを有するものである。In the figure, 30 is a microprocessor (hereinafter referred to as MPU)
It controls the reception of commands and data from the host controller and the transmission of data and status according to the microprogram in the program memory described later, and also controls the transmission of commands and data to the drive control unit 2 and sends data from the drive control unit. , which performs status reception control and also processes the state control of drive 1, 3
1a is a program memory that stores programs to be executed by the MPU 30; 31b is a random access memory (hereinafter referred to as RAM);
It stores various data, instructions, and parameters necessary for processing 0, 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. It is something.
命令バッファエリアCBUFには、ライト系コマンド時
には、ホストコントローラから先取りした命令及びその
命令により転送されたデータのデータバッファ内の先頭
アドレス、バイトカラン(−数などがリード系コマンド
時には先読みしたブロックのリード実行結果、リードデ
ータのデータバッファ内の先頭アドレス、バイト数など
が格納され、命令バッファ管理エリアCAには、命令記
憶数CBSTKと、バッファサイズCBS i ZEと
、最終制限値CBEが格納される。命令記憶数CBST
Kとしては、ライト系コマンド時には、命令バッファエ
リアCBUFに記憶され、未だ実行されていない先取り
命令数が、リード系コマンド時には先読みブロック数が
格納され、バッファサイズCBS i ZEは、命令バ
ッファエリアCBUFの大きさを命令数で示したもので
あり、最終制限値ハ、o’;カルEOTモードでない時
のフィジカルEOTモード時のEWAにおけるライト系
命令先取り数の最終制限値である。In the instruction buffer area CBUF, when a write command is used, the instruction prefetched from the host controller and the start address in the data buffer of the data transferred by that instruction, byte count (-number, etc.) are used for read commands, and the read address of the prefetched block is stored. The execution result, the start address in the data buffer of the read data, the number of bytes, etc. are stored, and the instruction buffer management area CA stores the instruction storage number CBSTK, buffer size CBS i ZE, and final limit value CBE. Instruction memory number CBST
K stores the number of prefetched instructions that are stored in the instruction buffer area CBUF and has not yet been executed in the case of a write-related command, and the number of prefetched blocks in the case of a read-related command. The size is expressed by the number of instructions, and the final limit value C, o' is the final limit value for the number of write-related instructions prefetched in EWA in the physical EOT mode when not in the cull EOT mode.
データバッファ管理エリアDAには、データバッファの
空き容量を単位数(IKByte 単位)で示すバッ
ファ空き容1FsEGと、データバッファへの書込みを
行うデータ転送時のデータバッファのMlアドレスを示
すバッファアドレスBADRと、処理の対象となるデー
タブロックの最大喪を示す最大ブロック長MAXLとが
格納される。The data buffer management area DA contains a buffer free capacity 1FsEG indicating the free capacity of the data buffer in units (IKByte units), and a buffer address BADR indicating the Ml address of the data buffer at the time of data transfer for writing to the data buffer. , the maximum block length MAXL indicating the maximum length of the data block to be processed are stored.
モード管理エリアEAには、ロードポイントからの書込
み時の記録密度(1600rpi又は6250rpi)
を決定するための書込み記録密度とロジカルEOTモー
ドであることを示すLEOTフラグと、ロジカルEOT
モード時にEWA検出後のテープ走行距離を格納する走
行カウンタECTRが格納される。The mode management area EA has recording density (1600rpi or 6250rpi) when writing from the load point.
The write recording density to determine the logical EOT mode, the LEOT flag indicating the logical EOT mode, and the logical EOT
In the mode, a travel counter ECTR is stored which stores the tape travel distance after EWA detection.
32aはドライブインターフェイス回路であり、ドライ
ブ制御部2との間で制御信号等のやりとりを行うための
もの、32bはポストインターフェイス回路であり、ホ
ス1−コントローラとの間で制御信号等のやりとりをす
るもの、33はデータ転送制御回路であり、後述するデ
ータバッファを制御してホストコン1−ローラ或いはド
ライブ制御部2との間のデータ転送を制御するものであ
り、ホストコントローラへデータ転送要求信号を発し且
つドライブ制御部2からのデータ転送要求信号を受はデ
ータ転送制御を行うものであり、データバッファへのス
トアアドレスカウンタ5CTR、データバッファからの
ロードアドレスカウンタLC′FR、ハソファロード時
のハイドカウンタBCTRなどを有するものである。32a is a drive interface circuit for exchanging control signals etc. with the drive control unit 2; 32b is a post interface circuit for exchanging control signals etc. with the host 1-controller. 33 is a data transfer control circuit, which controls a data buffer to be described later to control data transfer between the host controller 1 and the roller or drive control unit 2, and issues a data transfer request signal to the host controller. In addition, the unit that receives the data transfer request signal from the drive control unit 2 performs data transfer control, and includes a store address counter 5CTR to the data buffer, a load address counter LC'FR from the data buffer, and a hide counter when loading the data buffer. It has BCTR etc.
34はデータバッファであり、データ転送制御回路33
によって制御され、ホストコントローラからのライトデ
ータを蓄え、ドライブ制御部2へ転送し、逆にドライブ
制御部2からのリードデータを蓄え、ホストコントロー
ラへ転送するだめのものであり、例えば256キロハイ
1−の容量を持つもの、35はデータバスであり、MP
U30とプログラムメモリ31 a、 RAM311)
、ドラ・イブインターフェイス回路32a8ホストイン
ターフエイス回路32b、データ転送制御回路33とを
接続しコマンド、データのやりとりを行うものである。34 is a data buffer, and the data transfer control circuit 33
It stores write data from the host controller and transfers it to the drive control unit 2, and conversely stores read data from the drive control unit 2 and transfers it to the host controller. , 35 is a data bus, and MP
U30 and program memory 31a, RAM311)
, the drive interface circuit 32a, the host interface circuit 32b, and the data transfer control circuit 33 for exchanging commands and data.
36aは制御信号線であり、ドライブ制御部2ヘコマン
ド等を送信し、逆にドライブ制御部2からステータス等
を受信するためのもの、36bはテープエンド近傍領域
検出信号線であり、ドライブ制御部2からのテープエン
ド近傍領域検出(EW A)信号の転送のためのもの、
36cは割込み線であり、ドライブインターフェイス回
路32aよりMPU30へ割込みを通知するもの、37
aはデータ転送制御信号線であり、ドライブ制御部2か
らデータ転送要求信号をデータ転送制御回路33へ伝え
、データ転送終了信号をドライブ制御部2へ伝えるため
のもの、37bはライトデータバスであり、データバッ
ファ34からライトデータをドライブ制御部2へ伝える
ためのもの、37Cはリードデータバスであり、ドライ
ブ制御rxB 2からのり−ドデークをデータバッファ
34へ伝えるためのもの、38は制御信号線であり、ホ
ストコントローラとコマンド、ステータスのやりとりを
行うためのもの、39aはデータ転送制御信号線であり
、ホストコントローラへデータ転送要求信号を伝え、ホ
ストコントローラからのデータ転送終了信号を伝えるた
めのもの、39bはライトデータバスであり、ホストコ
ントローラからのライトデータをデータバッファ34へ
伝えるためのもの、39Cはリードデータバスであり、
ホストコントローラへデータバッファ34からリードデ
ータを伝えるためのものである。36a is a control signal line for transmitting commands etc. to the drive control unit 2 and conversely receiving status etc. from the drive control unit 2; 36b is a tape end vicinity area detection signal line; for the transfer of the tape end vicinity area detection (EWA) signal from the
36c is an interrupt line that notifies the MPU 30 of an interrupt from the drive interface circuit 32a; 37;
37b is a data transfer control signal line for transmitting a data transfer request signal from the drive control unit 2 to the data transfer control circuit 33 and a data transfer end signal to the drive control unit 2; 37b is a write data bus; , 37C is a read data bus for transmitting write data from the data buffer 34 to the drive control unit 2, 37C is a read data bus for transmitting write data from the drive control rxB 2 to the data buffer 34, and 38 is a control signal line. 39a is a data transfer control signal line for transmitting a data transfer request signal to the host controller and a data transfer completion signal from the host controller. 39b is a write data bus for transmitting write data from the host controller to the data buffer 34; 39C is a read data bus;
This is for transmitting read data from the data buffer 34 to the host controller.
従って、MPL+30はデータバス35を介しRAM3
l b、ホストインターフェイス回路32b1ドライ
ブインターフエイス回路32a1データ転送制御回路3
3との間で書込み、読出しを行い、所望の処理を行う。Therefore, MPL+30 is connected to RAM3 via data bus 35.
l b, host interface circuit 32b1 drive interface circuit 32a1 data transfer control circuit 3
3, and performs desired processing.
即ち、ホストコントローラと制御信号綿38を介しMP
U30の制御によりホストインターフェイス回路32b
がコマンド、ステータスのやりとりを行い、ドライブ制
御部2と制御信号線36aを介しMPU30の制御によ
りドライブインターフェイス回路32aがコマンド、ス
テータスのやりとりを行う。That is, the MP
The host interface circuit 32b is controlled by U30.
The drive interface circuit 32a exchanges commands and status with the drive control unit 2 under the control of the MPU 30 via the control signal line 36a.
一方、MPU30の指示によりデータ転送制御回路33
が、データ転送制御信号線39aを介しホストコントロ
ーラにデータ転送要求を発し、これに応じてホストコン
トローラはライトデータをライトデータバス39bを介
しデータバッファ34へ送り、蓄積せしめる。又、ドラ
イブ制御部2からのデータ転送制御信号線37aのデー
タ転送要求により、データ転送制御回路33はライトデ
ータバス37bを介しデータバッファ34のライトデー
タをドライブ制御部2へ発する。On the other hand, 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 sends write data to the data buffer 34 via the write data bus 39b to be 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.
更に、データ転送制御回路33はMPU30の指示によ
りドライブ制御部2からリードデータバス37cを介す
るリードデータをデータバッファ34に蓄え、ホストコ
ントローラへリードデータバス39Cを介しデータバッ
ファ34のリードデータを送信する。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. .
尚、ドライブ制御部2は、ロータリーエンコーダL9a
による走行位置の監視によってテープ終端領域近傍を、
検出してEWA信号を信号線36bに発し、EOT検出
によってTWA信号を信号線36aに発する。Note that the drive control section 2 includes a rotary encoder L9a.
The area near the end of the tape is monitored by monitoring the running position.
Upon detection, an EWA signal is issued to the signal line 36b, and upon EOT detection, a TWA signal is issued to the signal line 36a.
このような先取り制御部3とホストコントローラ、デバ
イス1間のインターフェイスは、第4図(A)に示す如
く、ホストコントローラからの起動信号Goとコマンド
信号が与えられることによってMPU30はホストイン
ターフェイス回路32bを介し応答信号FBYをホスト
コントローラへ返答し、更にコマンド実行中を示すデー
タビジーDBYをホストコントローラへ与える。As shown in FIG. 4(A), such an interface between the prefetch control unit 3, the host controller, and the device 1 is such that the MPU 30 activates the host interface circuit 32b by receiving the activation signal Go and command signal from the host controller. A response signal FBY is sent to the host controller via the host controller, and a data busy DBY indicating that the command is being executed is given to the host controller.
コマンド信号がデータ転送を伴うライト系コマンドなら
、データ転送制御回路33からホストコントローラへラ
イトストローブパルスWSTBを与えて、ホス1−コン
トローラからはライトストローブパルスWSTBに同期
してライトデータが転送され、データバッファに順次格
納される。ホス1−コンi・ローラは最終のライトデー
タと同時にラストワード信号LWDをデータ転送制御回
路33へ送出し、制御回路33はこのラストワード信号
LWDを検出するとライトストローブパルスWSTBの
送出を止め、データ転送を終了し、受信動作の正常/異
常を示すステータス信号をホストコントローラへ与え、
データビジーDBYをオフしてライトデータの転送動作
を終了する。尚、受信コマンドは命令バッファCBUF
に格納される。If the command signal is a write command that involves data transfer, a write strobe pulse WSTB is given from the data transfer control circuit 33 to the host controller, and write data is transferred from the host controller in synchronization with the write strobe pulse WSTB. Stored in buffer sequentially. The host 1 controller i-roller sends the last word signal LWD to the data transfer control circuit 33 at the same time as the final write data. When the control circuit 33 detects this last word signal LWD, it stops sending the write strobe pulse WSTB, and the data transfer control circuit 33 stops sending the write strobe pulse WSTB. Finishes the transfer, sends a status signal indicating normal/abnormal reception operation to the host controller,
The data busy DBY is turned off to end the write data transfer operation. Furthermore, the received command is sent to the instruction buffer CBUF.
is stored in
一方、コマンドがリードコマンドなら、テープドライブ
1から読取ったり−ドデータをリードストグーブパルス
R3TBとともにホストコントローラへ転送する。リー
ドデータ転送の終了はデータビジーDBYをオフするこ
とによってホストコントローラへ通知される。On the other hand, if the command is a read command, the data read from the tape drive 1 is transferred to the host controller together with the read goob pulse R3TB. The end of the read data transfer is notified to the host controller by turning off the data busy DBY.
このようなインターフェイス手順は、第4図(B)に示
す如く先取り部3とドライブ1との間も同一であり、先
取り部3の命令バ・ノファCBUF、データバッファ3
4がフルの状態では、ホストコントローラからGo倍信
号ライトコマンドが到来してもバッファCBUF、デー
タバッファ34が空くまでデータビジーDBYを上げな
いようにしてデータ転送を待たせるようにしている。Such an interface procedure is the same between the prefetch unit 3 and the drive 1 as shown in FIG. 4(B), and the instruction buffer CBUF of the prefetch unit 3 and the data buffer
4 is full, even if a Go times signal write command arrives from the host controller, the data busy DBY is not raised until the buffer CBUF and the data buffer 34 are free, so that data transfer is made to wait.
(C)一実施例の起動処理動作の説明
第5図は本発明の一実施例動作の起動処理フロー図、第
6図は第5図における初期設定処理フロー図である。(C) Description of startup processing operation in one embodiment FIG. 5 is a startup processing flow diagram of one embodiment of the present invention, and FIG. 6 is an initialization processing flow diagram in FIG. 5.
■電源が投入されると、MPU30はドライブインター
フェイス回路32aを介し、ドライブの書込み記録密度
設定を調べ、RAM3 l bのエリアEAの書込み記
録密度にドライブの書込み記録密度設定を記憶する。そ
して第6図(A)の初期設定処理(1)を行う。(2) When the power is turned on, the MPU 30 checks the write recording density setting of the drive via the drive interface circuit 32a, and stores the write recording density setting of the drive in the write recording density of the area EA of the RAM 3 lb. Then, the initial setting process (1) shown in FIG. 6(A) is performed.
即ち、MPU30はRAM31の命令バッファ管理エリ
アCAの命令記憶数CBSTKを零クリアし、データバ
ッファ管理エリアDAのバッファ空き容量FSECを最
大の256単位(256KByte)とし、データバッ
ファアドレスBADRを“00”に設定する。That is, the MPU 30 clears the instruction storage number CBSTK in the instruction buffer management area CA of the RAM 31 to zero, sets the buffer free capacity FSEC in the data buffer management area DA to the maximum of 256 units (256 KB), and sets the data buffer address BADR to "00". Set.
更に、データバッファ管理エリアDAの最大ブロック長
MAXLを最小の8単位(8KByte)に設定し、エ
リアEAのロジカルEOTモードフラグをオフとして初
期設定(1)を終了する。尚、ロジカルEOTモードは
、通常のフィジカルEOTモードと別に設定されたもの
であり、後述する。Further, the maximum block length MAXL of the data buffer management area DA is set to the minimum 8 units (8 KB), and the logical EOT mode flag of the area EA is turned off to complete the initial setting (1). Note that the logical EOT mode is set separately from the normal physical EOT mode, and will be described later.
■次に電源投入時あるいはREW命令、UNL命令実行
後の初期設定終了後又はホストからの起動待ちルーチン
において、MPU30はバス35を介しドライブインタ
ーフェイス回路32aを介し磁気テープが供給リール1
2にセットされたオンライン状態にあるかを凋べる。■Next, when the power is turned on, after the initial settings are completed after executing the REW command or the UNL command, or in the startup waiting routine from the host, the MPU 30 sends the magnetic tape to the supply reel 1 via the bus 35 and the drive interface circuit 32a.
Check whether the online state is set to 2.
オンライン状態にあれば、MPU30はハス35を介し
ホストインターフェイス回路32bのレジスタの内容を
調べ、ホストからREW (リワインド)命令又はUN
L (アンロード)命令が到来しているかを調べる。If the MPU 30 is in the online state, the MPU 30 checks the register contents of the host interface circuit 32b via the hash 35, and receives a REW (rewind) command or UN from the host.
Check whether an L (unload) command has arrived.
■REW命令又はUNL命令が到来していれば、MPU
30はドライブ制御部2の実行処理モードがリード系か
、ライト系か又は実行中でないかを調べる。■If a 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 being executed.
実行処理モードがリード系なら、ドライブ1の先読みを
停止させる。即ち、ドライブ制御部2が実行中の処理を
終了したならばドライブインターフェイス回路32aを
介し制御線36aよりドライブ制御部2に、新たな処理
を命じないようにし、リード系処理を停止させる。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.
一方、実行処理モードがライト系なら、命令バ・7フア
CBUF内の全てのライト系命令を実行させる。On the other hand, if the execution processing mode is a write type, all write type instructions in the instruction bar CBUF are executed.
そして、全命令の実行後、実行中の処理なしの場合又は
ドライブの先読み処理の停止後、MPU30はドライブ
インターフェイス回路32aを介しREW命令(テープ
をBOTまで戻す)又はUNL命令(テープを巻取る)
を与えてドライブlにこれを実行させ、ステップ■の初
期設定(11へ戻る。Then, after all instructions have been executed, if there is no process being executed, or after the prefetch process of the drive has stopped, the MPU 30 sends a REW instruction (returns the tape to BOT) or a UNL instruction (winds up the tape) via the drive interface circuit 32a.
and have the drive l execute this, and return to the initialization in step ① (return to step 11).
■一方、REW命令又はUNL命令が到来していないと
、MPU30はバス35を介しホストインターフェイス
回路32bのレジスタの内容を調べ、ホストからの起動
(Go)があるかを調べる。(2) On the other hand, 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, and checks whether there is activation (Go) from the host.
ポストからの起動がなければ、起動待ちとなり、ステッ
プ■へ戻る。If there is no activation from the post, the process waits for activation and returns to step ■.
■ホストからの起動あり、即ちGo信号受信と判断する
と、MPU30はバス35を介しホストインターフェイ
ス回路32bのレジスタの内容を調べ、与えられた命令
が何かを判断する。(2) 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 command is.
与えられた命令がリード系ならステップ[相]へ、記録
密度設定ならステップ■へ進み、その処理ルーチンを実
行する。If the given command is a read-related command, the process goes to step [phase], and if it is a recording density setting, goes to step (2) to execute the processing routine.
■命令が記録密度設定なら、MPU30はホストインタ
ーフェイス回路32bを介しデータビジーDBYをオン
として通知し、更にドライブインターフェイス回路32
aを介しドライブ1の磁気テープ16がロードポイント
LDP、即ちBOTの位置にあるかを調べる。■If the command is recording density setting, the MPU 30 notifies the host interface circuit 32b that the data busy DBY is turned on, and also notifies the drive interface circuit 32
It is checked whether the magnetic tape 16 of the drive 1 is located at the load point LDP, ie, BOT, via a.
ロードポイントLDPにあれば、記録密度設定命令が有
効であるので、MPLI30はドライブインターフェイ
ス回路32aを介し、ドライブに対して記録密度設定命
令を実行した後に、RAM31bのエリアEAの書込み
記録密度にホストから指示された記録密度をセントする
。If it is at the load point LDP, the recording density setting command is valid, so the MPLI 30 executes the recording density setting command to the drive via the drive interface circuit 32a, and then changes the write recording density from the host to the area EA of the RAM 31b. Cent the indicated recording density.
ロードポイントLDPになければ、記録密度設定命令は
無効でありドライブに対する記録密度設定命令の実行及
び書込み記録密度のセフ)は必要ない。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 or to set the write recording density.
その後、MPU30はホストインターフェイス回路32
bを介しホストへ終了報告し、データビジーDBYをオ
フして、ステップ■へ戻る。After that, the MPU 30 uses the host interface circuit 32
A completion report is sent to the host via b, the data busy DBY is turned off, and the process returns to step (2).
■一方、与えられた命令がライト系なら、MPU30は
ドライブ制御部2の実行処理モードがリード系か、ライ
ト系か又は実行中でないかを調べる。(2) On the other hand, if the given command is a write type command, the MPU 30 checks whether the execution processing mode of the drive control section 2 is read type, write type, or is not currently being executed.
実行処理モードがリード系なら、ドライブ1の先読み処
理を停止させる。即ち、ドライブ制御部2が実行中の処
理を終了したならばドライブインターフェイス回路32
aを介し制御線36aよりドライブ制御部2に、新たな
処理を命じないようにし、リード系処理を停止させる。If the execution processing mode is read type, the preread processing of drive 1 is stopped. That is, when the drive control unit 2 finishes the process being executed, the drive interface circuit 32
The drive control section 2 is not instructed to perform new processing from the control line 36a via the control line 36a, and the read-related processing is stopped.
次に、第6図(B)の初期設定(2)を実行し、MPU
30はRAM3 l bの命令パフファ管理エリアCA
の命令記憶数CBSTKを零クリアし、データバッファ
管理エリアDAのバッファ空き容量FSEGを最大の2
56とし、データバッファアドレスBADRを“00′
に設定する。Next, execute the initial setting (2) in FIG. 6(B), and
30 is the instruction puffer management area CA of RAM3 lb
Clear the instruction storage number CBSTK to zero, and set the buffer free capacity FSEG of the data buffer management area DA to the maximum of 2.
56, and the data buffer address BADR is “00’.
Set to .
■このステップ■の終了後又はドライブ制御B部2が実
行中でなければ、第6図(C)の初期設定(3)のバッ
ファサイズのセットを行う。(2) After this step (2) is completed, or if the drive control section B 2 is not being executed, the buffer size is set in the initial setting (3) of FIG. 6(C).
先づ、MPU30は、ドライブインターフェイス回路3
2aを介し信号線36bのEWA (テープ終端近傍領
域)信号がオンかオフかを調べ、オフ(未だテープ終端
近傍領域へ到っていない)なら、RAM3 l bのエ
リアEAのLEOTモードフラグをオンし、走行カウン
タECTRを零クリアする。First, the MPU 30 is a drive interface circuit 3.
Check whether the EWA (area near the end of the tape) signal on the signal line 36b is on or off via the signal line 2a, and if it is off (has not yet reached the area near the end of the tape), turn on the LEOT mode flag in area EA of RAM3 lb. Then, the travel counter ECTR is cleared to zero.
一方、EWA信号がオンなら、RAM3 l bのLE
OTモードフラグがオン(YES) 、オフ(No)か
を調べ、オフなら、命令バッフ1管理エリアCAの最終
制限値CBEをバッファサイズCB51ZEへ移し、リ
ターンする。On the other hand, if the EWA signal is on, the LE of RAM3 l b
It is checked whether the OT mode flag is on (YES) or off (No), and if it is off, the final limit value CBE of the instruction buffer 1 management area CA is moved to the buffer size CB51ZE, and the process returns.
逆にLEOTモードフラグがオン又は前述の走行カウン
タECTRの零クリア後、MPU30は、RAM3 l
bの命令バンファ管理エリアCAのバッファサイズC
BS i ZEに最大値の「64」をセットし、リター
ンする。Conversely, after the LEOT mode flag is turned on or the aforementioned travel counter ECTR is cleared to zero, the MPU 30 controls the RAM 3
Buffer size C of instruction buffer management area CA of b
Set the maximum value "64" to BS i ZE and return.
次に、MPU30はテープ位置を調整すべく・ドライブ
制御部2にテープ位置調整のための命令(スペースまた
はバックスペース)をドライブインターフェイス回路3
2aを介し命じる。Next, in order to adjust the tape position, the MPU 30 sends a tape position adjustment command (space or backspace) to the drive control unit 2 to the drive interface circuit 3.
Command via 2a.
そして第7図の後述するライト系処理ルーチンへ進む。The program then proceeds to a write-related processing routine in FIG. 7, which will be described later.
■一方、ステップ■で実行処理モードがライト系なら直
らにライト系処理ルーチンへ進む。(2) On the other hand, if the execution processing mode is write type in step (2), the process immediately proceeds to the write type processing routine.
0ステツプ■で転送された命令がリード系なら、MPU
30はドライブ制御部2の実行処理モードがリード系か
、ライト系か又は実行中でないかを調べる。If the instruction transferred at step 0 is a read type, the MPU
30 checks whether the execution processing mode of the drive control unit 2 is read type, write type, or not being executed.
実行処理モードがリード系なら、MPU30は先づリー
ド方向が一致しているかを調ベリード方向不一致ならド
ライブ1の先読み処理を停止させる。即ち、ドライブ制
御部2が実行中の処理を終了したならばドライブインタ
ーフェイス回路32aを介し制御線36aよりドライブ
制御部2に、新たな処理を命じないようにし、リード系
処理をf亭止させる。If the execution processing mode is a read system, the MPU 30 first checks whether the read directions match and stops the preread processing of the drive 1 if the read directions do not match. 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.
更に、MPtJ30はステップ■と同一の初期設定(2
)を実行し、次にステップ■と同一のテープ位置調整を
行う。Furthermore, MPtJ30 has the same initial settings (2
), and then perform the same tape position adjustment as in step (2).
一方、実行処理モードがライト系なら、命令バッファC
BUF内の全ての命令を実行させる。On the other hand, if the execution processing mode is write, the instruction buffer C
Execute all instructions in BUF.
そして、全命令の実行後、実行中の処理なしの場合又は
ドライブ処理の停止後、前述の先読みリード系命令をR
AM3 l bのリード命令レジスタRCにセフl−す
る。Then, after all instructions have been executed, if there is no process being executed, or after the drive process has stopped, the above-mentioned prefetch read instruction is
AM3 LB Read command register RC is set to 1-.
そして、このセット後又は、リード方向一致なら、第8
図のリード系処理ルーチンへ進む。After this set or if the lead direction matches, the 8th
Proceed to the read-related processing routine shown in the figure.
従って、ホストからの起動がライト系コマンドであれば
、リード系処理中でも、ライト系処理に切換わり、ライ
ト系処理なら、ライト系処理を続行する。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.
そして初期設定(1)で最大ブロック長MAXLは最小
の8単位に、初期設定(1)又は(2)で命令記憶数C
BSTKは零、データバッファ空き容(IFSEGは最
大の256、データバッファアドレスBADRは(00
)に、更に初期設定(3)でバッファサイズCBS i
ZEは、LEOTモードのオン/オフに応じ、最大の
64又は最終制限値CBEにセントされる。In the initial setting (1), the maximum block length MAXL is set to the minimum unit of 8, and in the initial setting (1) or (2), the instruction memory number C
BSTK is 0, data buffer free space (IFSEG is maximum 256, data buffer address BADR is (00
), and further initialize (3) the buffer size CBS i
ZE is cented to the maximum 64 or the final limit value CBE depending on whether the LEOT mode is on or off.
又、ロードポインI−LDPからの書込み時における記
録密度がRAM3 l bのエリアEAに設定される。Also, the recording density at the time of writing from the load point I-LDP is set in the area EA of the RAM3 lb.
(dl対ホスト処理動作の説明 第7図は対ホストライト系処理フロー図である。(Explanation of dl vs. host processing behavior FIG. 7 is a flowchart of host write system processing.
■MPU30は第5図によってホストコントローラから
ライト系コマンドによって起動されると、ライト系コマ
ンドが格納可能かを調べるため、RAM31bの命令バ
ッファ管理エリアCAの命令記憶数CBSTKと命令バ
ッファサイズCBStZEをバス35を介し読み出し比
較する。CB51ZE≦CBSTK、、!I]ち記憶可
能な命令数までライト系命令が命令バッファCBUFに
格納されていると、命令バッファCBUFへのライト系
コマンドの格納を保留する。■When the MPU 30 is activated by a write command from the host controller as shown in FIG. Read and compare via . CB51ZE≦CBSTK,,! I] If write-related commands are stored in the instruction buffer CBUF up to the number of instructions that can be stored, storage of the write-related commands in the instruction buffer CBUF is suspended.
一方、CBS i ZE>CBSTKであれば、ライI
・系命令の命令バッファCBtJFへの格納可能なため
、MPU30は係るライト系命令がデータバッファ34
を使用するものかどうかを調べる。On the other hand, if CBS i ZE>CBSTK, Rai I
- Since related instructions can be stored in the instruction buffer CBtJF, the MPU 30 stores related write instructions in the data buffer 34.
Find out if you want to use it.
イレーズ、ライトテープマークのデータバッファ34を
使用しないものであれば、データビジーDBYをオンと
し、ステップ■の最終制限値CBEの初期設定ステップ
に進む。If the erase/write tape mark data buffer 34 is not to be used, the data busy DBY is turned on and the process proceeds to step (2), the step of initializing the final limit value CBE.
第5図(A)で示した如く上位(ホスト)から起動(G
o)とコマンドが与えられると、下位(先取り制御部3
)はその命令が実行可能なら、実行中であることを示す
データビジーCBY信号をオンとし上位へ返す。この関
係は先取り制御部3を上位とし、ドライブ制御部2を下
位とした場合も同様である。As shown in Figure 5 (A), the startup (G
o) When the command is given, the lower order (preemption control unit 3
) turns on the data busy CBY signal indicating that the instruction is being executed and returns it to the upper level. 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.
逆に、MPU30はライト系命令がデータバッファ34
を使用する通常のライト命令であると、データバッファ
34への自動転送の許可判断を行う。Conversely, the MPU 30 writes write instructions to the data buffer 34.
If it is a normal write instruction using , it is determined whether automatic transfer to the data buffer 34 is permitted.
即ち、先づ、MPU30はRAM3 l bのデータバ
ッファ管理エリアDAの空きバッファ容1FSEGと最
大ブロック長MAXLを読出し、空きバッファ容量FS
EGが最大ブロック長MAXL以上か否かを調べる。空
きバッファ容1FsEGが最大ブロック長MAXL以下
なら、ライトデータの受信を保留し、データバッファ3
4が最大ブロック長MAXL分空くまで待ち、空きバッ
ファ容1FsEGが最大ブロック長MAXL以上なら、
転送許可する。従って、前述のデータビジーDBY信号
をオンとして、ホストコントローラへ転送可を通知する
。That is, first, the MPU 30 reads the free buffer capacity 1FSEG and the maximum block length MAXL of the data buffer management area DA of RAM3 lb, and determines the free buffer capacity FS.
Check whether EG is greater than or equal to the maximum block length MAXL. If the free buffer capacity 1FsEG is less than or equal to the maximum block length MAXL, the reception of write data is suspended and the data buffer 3
4 waits until the maximum block length MAXL becomes free, and if the free buffer capacity 1FsEG is greater than or equal to the maximum block length MAXL,
Allow transfer. Therefore, the aforementioned data busy DBY signal is turned on to notify the host controller that transfer is possible.
0次に、MPU30は、ドライブインターフェイス回路
32aを介しドライブ1の磁気テープ16がロードポイ
ンI−LDPの位置にあるかを調べる。Next, the MPU 30 checks whether the magnetic tape 16 of the drive 1 is located at the load point I-LDP via the drive interface circuit 32a.
ロードポイントLDPの位置になければ、既に最終制限
値CBEはセントされているので、次の自動転送ステッ
プ■へ進む。一方、ロードポイン1− L D Pの位
置にあれば、書込み記録密度によって最終制限値CBE
の初1[JJセッi・を行う。If it is not at the load point LDP, the final limit value CBE has already been sent, and the process proceeds to the next automatic transfer step (2). On the other hand, if the load point is at the position of 1-LDP, the final limit value CBE will be set depending on the write recording density.
First 1 [JJ set i.
即ち、MPU30は、RAM3 l bのモードエリア
EAの書込み記録密度を調べ、書込み記録密度が160
0rpjなら、RAM3 l bの命令バッファ管理エ
リアCAの最終制限値CBEに「8」を、6250rp
iなら同様に最終制限値CB已に「16」を初期セッ
トし、ステップ■に進む。That is, the MPU 30 checks the write recording density of the mode area EA of the RAM 3 lb, and finds that the write recording density is 160.
If it is 0rpj, set "8" to the final limit value CBE of the instruction buffer management area CA of RAM3 lb, and set 6250rpj.
If i, the final limit value CB is similarly initialized to "16" and the process proceeds to step (2).
0次に、MPU30は係るライト系命令がデータバッフ
ァ34を使用するものかどうかを調べる。Next, the MPU 30 checks whether the write-related instruction uses the data buffer 34 or not.
データバッファ34を使用しないものなら、ステップ■
の命令格納ステップへ進む。If the data buffer 34 is not used, step ■
Proceed to the instruction storage step.
一方、データバッファ34を使用するものなら、データ
転送を実行する。On the other hand, if the data buffer 34 is used, data transfer is executed.
即ち、MPU30は、RAM3 l bのデータバッフ
ァ管理エリアDAの先頭バッファアドレスBADRを読
出し、データ転送制御回路33のストアアドレスカウン
タ5CTRにセットし、データ転送制御回路33を起動
する。これによってデータ転送制御回路33はデータ転
送制御信号線39aよりデータ転送要求をホストコン)
・ローラへ発する。That is, the MPU 30 reads the first buffer address BADR of the data buffer management area DA of the RAM 3 lb, sets it in the store address counter 5CTR of the data transfer control circuit 33, and activates the data transfer control circuit 33. As a result, the data transfer control circuit 33 sends a data transfer request from the data transfer control signal line 39a to the host controller).
・Send to Laura.
従って、ホストコントローラはライトデータをライトデ
ータバス39bよりデータバッファ34へ転送し、デー
タ転送制御回路33のストアアドレスカウンタ5CTR
のアドレスに従ってライトデータがデータバッファ34
へ蓄積される。ストアアドレスカウンタ5CTRはライ
トデータが1ハイド転送される毎にカウントアツプする
。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 5CTR of the data transfer control circuit 33.
The write data is transferred to the data buffer 34 according to the address of
is stored in The store address counter 5CTR counts up every time one write data is transferred.
■データ転送制御回路33がデータ転送終了と判定する
と、MPU30はデータ転送制御回路33のストアアド
レスカウンタ5CTRを読出しデータバッファ管理エリ
アDAのバッファアドレスBADRとの差を計算して転
送されたライトデータのバイト数BGを求める。■When the data transfer control circuit 33 determines that the data transfer has ended, the MPU 30 reads the store address counter 5CTR of the data transfer control circuit 33, calculates the difference between the buffer address BADR of the data buffer management area DA, and stores the transferred write data. Find the number of bytes BG.
次に、MPU30はRAM31.bの命令バッファCB
UF及びデータバッファ管理エリアDAの更新を行う。Next, the MPU 30 uses the RAM 31. b's instruction buffer CB
Updates the UF and data buffer management area DA.
先づ、RAM3 l bの命令バッファCBUFの当該
命令欄にRAM3 l bのデータバッファ管理エリア
DAのバッファアドレス(即ちライトデータの先頭アド
レス)BADRと、算出されたライトデータのハイド数
BCを格納する。First, the buffer address BADR of the data buffer management area DA of RAM3 lb (i.e., the start address of the write data) and the calculated hide number BC of the write data are stored in the relevant instruction column of the instruction buffer CBUF of RAM3 lb. .
次に、RAM3 l bのデータバッファ管理エリアD
Aの空き容1FsEGからデータバッファ34の使用単
位数USEGを差し引き、この空き容(iFsEGを更
新し、更に、バッファアドレスBADRに使用単位数U
SEGを加算し、先頭アドレスBADRを更新する。Next, data buffer management area D of RAM3 lb
The number of used units USEG of the data buffer 34 is subtracted from the free space 1FsEG of A, this free space (iFsEG is updated, and the number of used units U is added to the buffer address BADR.
Add SEG and update the start address BADR.
0次に、MPU30は前述の使用単位数(受信ブロック
長)USEGとRAM3 l bのデータバッファ管理
エリアDAの最大ブロック長MAXLとを比較する。Next, the MPU 30 compares the above-mentioned number of used units (reception block length) USEG with the maximum block length MAXL of the data buffer management area DA of the RAM 3 lb.
この比較によって、使用単位数USEGが最大ブロック
長MAXLより大なら、データバッファ管理エリアDA
の最大ブロック長MAXLをこの使用単位数USEGに
更新する。更に、記録密度と最大ブロック長MAXLに
応じて最終制限値CBEを変更する。By this comparison, if the number of used units USEG is larger than the maximum block length MAXL, the data buffer management area DA
The maximum block length MAXL is updated to the number of used units USEG. Furthermore, the final limit value CBE is changed according to the recording density and the maximum block length MAXL.
即ち、MPU30はRAM3 l bのエリアEAの書
込み記録密度とエリアDAの最大ブロック長MAXLを
読出し、記録密度が1600rpiの場合には、最大ブ
ロック長MAXLが「16」より大なら最終制限値を最
小の「2」に、最大ブロック長が「16」以下なら最終
制限値CBEを「4」に設定する。That is, the MPU 30 reads the write recording density of area EA and the maximum block length MAXL of area DA of RAM3 lb, 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. If the maximum block length is "16" or less, the final limit value CBE is set to "4".
同様に記録密度が6250rpiの場合には、最大ブロ
ック長MAXLが「32」より大なら最終制限値CBE
を「2」に、最大ブロック長MAXLが「17」〜「3
2」の間では最終制限値CBEを「4」に、最大ブロッ
ク長MAXLが「16」以下なら最終制限値CBEを「
8」に設定する。Similarly, when the recording density is 6250 rpi, if the maximum block length MAXL is greater than "32", the final limit value CBE
is set to "2", and the maximum block length MAXL is set to "17" to "3".
2", the final limit value CBE is set to "4", and if the maximum block length MAXL is "16" or less, the final limit value CBE is set to "4".
8”.
逆に、使用単位数USEG7’l<最大ブロック長MA
XL以下なら、最大ブロック長MAXL、最終制限値C
BEの更新は行わず、ステップのへ進む。Conversely, the number of units used USEG7'l<maximum block length MA
If it is less than XL, the maximum block length MAXL, final limit value C
Proceed to the next step without updating the BE.
0次に、MPU30は受信したライト系命令の格納処理
を行う。Next, the MPU 30 performs storage processing of the received write-related command.
先づ、MPU30はRAM3 l bの命令バッファC
BUFにホストインターフェイス回路32 bの受信コ
マンドを格納する。First, the MPU 30 uses the instruction buffer C of the RAM 3 lb.
The received command of the host interface circuit 32b is stored in the BUF.
次に、MPU30はRAM3 l bの命令バッファ管
理エリアCAを更新すべく、命令記憶数CBSTKに「
1」加算して更新する。Next, the MPU 30 sets the instruction storage number CBSTK to "
1” is added and updated.
■更に、MPU30は、ドライブインターフェイス回路
32aを調べ、制御線36bのEV/A(テープ終端近
傍検出)信号がオンかオフかを調べる。オフであれば、
磁気テープ16がテープ終端近傍に達していないので、
ステップ■へ進む。(2) Furthermore, the MPU 30 checks the drive interface circuit 32a to check whether the EV/A (tape end vicinity detection) signal on the control line 36b is on or off. If it's off,
Since the magnetic tape 16 has not reached the vicinity of the end of the tape,
Proceed to step ■.
一方、オンであれば、テープ終端近傍に達しているので
、RAM3 l bのエリアEAのLEOTフラグを調
べLEOTモードなら、命令バッファサイズCBS i
ZEの変更を要しないので、ステップ■に進む。On the other hand, if it is on, the tape has reached the vicinity of the end, so check the LEOT flag in area EA of RAM3 l b and if it is in LEOT mode, set the instruction buffer size CBS i
Since there is no need to change ZE, proceed to step (2).
逆に、LEOTモードでなければ、MPU30はRAM
31bのエリアCAの命令バッファサイズCBS i
ZEと最終制限値CBEを読み出し比較する。Conversely, if it is not the LEOT mode, the MPU 30 is RAM
Instruction buffer size CBS i of area CA in 31b
Read and compare ZE and final limit value CBE.
命令バッファサイズCBS i ZEが最終制限値CB
E以下ならば、命令バッファサイズCB51ZEを変更
せず、ステップ■へ進む。逆に命令バッファサイズCB
S i ZEが最終制限値CBEより大ならば、命令バ
ッファサイズcBsiZEがら「2」を減算し、更新し
てステップ■へ進む。Instruction buffer size CBS i ZE is the final limit value CB
If it is less than E, the instruction buffer size CB51ZE is not changed and the process proceeds to step (2). Conversely, the instruction buffer size CB
If S i ZE is larger than the final limit value CBE, "2" is subtracted from the instruction buffer size cBsiZE, updated, and the process proceeds to step (2).
0次に、MPU30はドライブ制御部2が処理実行中か
を調べ、処理実行中でなければ(停止中であれば)、第
9図にて後述するドライブ起動処理を行う。Next, the MPU 30 checks whether the drive control unit 2 is executing a process, and if it is not executing a process (if it is stopped), performs a drive activation process which will be described later with reference to FIG.
■処理実行中又はドライブ起動処理が行われると、MP
U30は、ドライブインターフェイス回路32aを介し
ドライブ制御部2がEOTを検出したことを示すTWA
信号が制御線36aより生じているかを調べる。■During processing or when drive startup processing is performed, MP
U30 is TWA indicating that the drive control unit 2 has detected EOT via the drive interface circuit 32a.
Check whether a signal is generated from the control line 36a.
又、LEOTモードなら、MPU30は、後述する第1
0図の対ドライブ処理によって更新される走行カウンタ
ECTRが一定値EPTRを越えたロジカルEOT検出
(オン)かを調べる。In addition, in the LEOT mode, the MPU 30 operates in the first
It is checked whether the traveling counter ECTR updated by the drive-related processing shown in FIG.
EOT検出でTWA信号が生じていれば又はLE Oi
゛専爽出(オン)ならば、MPU30はRAM31bの
命令バッファ管理エリアCAの命令記憶数(未実行命令
数)CBSTKが零かを調べ、零でなければ、ドライブ
の実行によって零になるまで待つ。これはEOT、LE
OT以降の処理においてはホストからの命令とドライブ
が実行する命令の同期をとるためである。If TWA signal is generated by EOT detection or LE Oi
゛If it is on, the MPU 30 checks whether the number of stored instructions (number of unexecuted instructions) CBSTK in the instruction buffer management area CA of the RAM 31b is zero, and if it is not zero, waits until it becomes zero due to drive execution. . This is EOT, LE
This is to synchronize the commands from the host and the commands executed by the drive in the processing after OT.
TWA信号が生じていない時には、又はLEOTがオフ
である時には、MPU30はデータ転送制御回路33の
状態から前述のステップ■のライトデータ転送がデータ
バッファ34の空き容量不足によってオーバーフローし
たかを調べる。When the TWA signal is not generated or when LEOT is off, the MPU 30 checks the state of the data transfer control circuit 33 to determine whether the write data transfer in step (3) has overflowed due to insufficient free space in the data buffer 34.
オーバーフローした場合には、前述と同様同期をとるた
め、MPU30はRAM3 l bの命令バッファ管理
エリアCAの命令記憶数(未実行命令数)CBSTKが
零かを調べ、零でなければ、ドライブの実行によって零
になるまで待つ。If an overflow occurs, in order to synchronize as described above, the MPU 30 checks whether the number of stored instructions (number of unexecuted instructions) CBSTK in the instruction buffer management area CA of the RAM 3 lb is zero, and if it is not zero, executes the drive. Wait until it becomes zero.
パンフッオーバーフローが生じていない時又はCBST
Kが零となると、ホストコントローラへMPU30はホ
ストインターフェイス回路32bより終了報告(正常受
信又はエラー)するとともにデータビジーDBY信号を
オフとし、第5図の起動待ちルーチンへ戻る。When there is no panf overflow or CBST
When K becomes zero, the MPU 30 reports completion (normal reception or error) to the host controller from the host interface circuit 32b, turns off the data busy DBY signal, and returns to the start-up waiting routine of FIG.
第8図は対ホストリード系処理フロー図である。FIG. 8 is a flowchart of host read system processing.
■第5図の起動処理フローのステップ[相]によってリ
ード系命令を受け、起動処理が行われると、MPU30
はホストインターフェイス回路32bを介しデータビジ
ーDBYをオンにし、ホストコン1−o−ラヘ実行開始
を通知する。■When a read-related command is received in step [phase] of the startup processing flow in FIG. 5 and startup processing is performed, the MPU 30
turns on the data busy DBY via the host interface circuit 32b and notifies the host computer 1-o-rah of the start of execution.
[有]次に、MPU30は、RAM3 l bのエリア
CAの先読みブロック数CBSTKに「1」減算する。[Yes] Next, the MPU 30 subtracts "1" from the number of pre-read blocks CBSTK in the area CA of the RAM3 lb.
更に、MPU30はドライブ制御部2が処理実行中かを
調べ、処理実行中でなければ(停止中であれば)、第9
図にて後述するドライブ起動処理を行う。Furthermore, the MPU 30 checks whether the drive control unit 2 is executing a process, and if it is not executing a process (if it is stopped), the MPU 30
Drive startup processing, which will be described later in the figure, is performed.
又、MPU30は前述のエリアCAの命令記憶数(先読
みブロック数)CBSTKがrOJ以上かを調べ、「0
」より小のマイナスであれば、リードデータはデータバ
ッファ34に転送されていないから、CBSTKが「0
」以上、即ち、ドライブ1からリードデータが1ブロッ
ク以上データバッファ34に転送されるまで待つ。In addition, the MPU 30 checks whether the instruction storage number (preread block number) CBSTK of the area CA mentioned above is equal to or greater than rOJ, and determines "0.
”, the read data has not been transferred to the data buffer 34, so CBSTK is “0”.
'', that is, wait until one or more blocks of read data from the drive 1 is transferred to the data buffer 34.
先読みブロック数CBSTKが「0」以上となると、ド
ライブ1からリードデータがデータバッファ34に転送
されているはずであるから、MPU30は、RAM31
bの命令バッファCBUFからリード実行結果と、リー
ドデータのデーダハソファ34内先頭アドレスRADR
と、リードハイド数RBCを読出す。When the number of pre-read blocks CBSTK becomes "0" or more, the read data should have been transferred from the drive 1 to the data buffer 34, so the MPU 30 transfers the data to the RAM 31.
The read execution result from the instruction buffer CBUF of b and the start address RADR in the read data data sofa 34.
Then, the read-hide number RBC is read out.
0次にMPU30は前述のステップ■でRAM31bの
命令バッファCBUFからJ売出したリード実行結果か
ら、ドライブが当該ブロックを処理した一時にロードポ
イン1−LDPを検出していたかどうかを調べる、ロー
ドポイントL D Pを検出していたならばリード方向
を凋べ、リートリバース方向ならブロック検出以前にB
OTに達してしまっており、リードデータはデータバッ
ファ34に転送されていないためステップ■へ進む。0 Next, the MPU 30 determines whether load point 1-LDP was detected at the time when the drive processed the block based on the read execution result issued from the instruction buffer CBUF of the RAM 31b in the above-mentioned step (3). If D P is detected, change the lead direction, and if it is the lead reverse direction, B before block detection.
Since the OT has been reached and the read data has not been transferred to the data buffer 34, the process advances to step (2).
一方、リード方向がリードフォワード方向ならロードポ
イントLDPから最初のブロックのリードであったので
、リード実行結果から記録密度を調べる。リード実行結
果の記録密度は読取った磁気テープの記録密度を示して
いる。On the other hand, if the read direction is the read forward direction, the first block was 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 read magnetic tape.
そして記録密度が1600rpiなら、RAM31bの
命令バッファ管理エリアCへの最終制限値CBEに「8
」を、6250rpiなら同様に最終制限値CBEに「
16」をセントする。If the recording density is 1600 rpi, the final limit value CBE for the instruction buffer management area C of the RAM 31b is "8".
”, and if the speed is 6250rpi, the final limit value CBE is “
16” cents.
更にMPU30は、ロードポイントI−D Pを検出し
ていなかった場合又は最終制限値CBEのセ・アト後、
リード実行結果から、リード実行時にファイルの区切り
を示すテープマークが検出されたかを調べ、テープマー
クが検出されたのであればり=ドデータはデータバッフ
ァ34に転送されていないので、データ転送を行わず、
ステップ■へ進む。Furthermore, if the MPU 30 has not detected the load point I-D P or after setting the final limit value CBE,
From the read execution result, it is checked whether a tape mark indicating a file break was detected at the time of read execution, and if a tape mark was detected, the data is not transferred to the data buffer 34, so no data transfer is performed.
Proceed to step ■.
Jにテープマークが検出されていなければ、ステップ[
相]の自動転送ステップへ進む。If no tape mark is detected in J, step [
Proceed to the automatic transfer step.
■先づ、MPU30は前述のリード系命令がデータ転送
を伴うものか否かを判別する。データ転送を伴なわない
リード系命令としては、スペース(Space)、パン
クスペース(Back−5pace)、スペースファイ
ル(3pace File)、パックスベースファイ
ル(13ack5pace File)がある。(2) First, the MPU 30 determines whether the above-mentioned read-related command involves data transfer. Read commands that do not involve data transfer include Space, Back-5pace, Space File (3pace File), and Pax Base File (13ack5pace File).
データ転送を伴うリード系命令なら、ホス1−コントロ
ーラへのデータ転送を実行する。If it is a read-related command that involves data transfer, the data transfer to the host 1-controller is executed.
即ち、M P LJ 30は、RAM31bの命咎ハソ
ファCBUFから読出した先頭バ・ノファアドレスRA
DRをデータ転送制御回路33のロードアドレスカウン
タLC,TRに、リードハイド数をバイトカウンタBC
TRにセットし、データ転送制御回路33を起動する。That is, the M P LJ 30 is the first address RA read from the address CBUF of the RAM 31b.
DR is sent to the load address counters LC and TR of the data transfer control circuit 33, and the read/hide number is sent to the byte counter BC.
TR is set, and the data transfer control circuit 33 is activated.
これによってデータ転送制御回路33は、リードストロ
ーブパルスR3TB (第4図(A))とともにロード
アドレスカウンタL、 CT Rのアドレスに従ってデ
ータバッファ34内のり−ドデータをホストコントロー
ラに転送する。ロードアドレスカウンタL CT Rは
、リードデータを1ハイド転送する毎にカウントアツプ
する。As a result, the data transfer control circuit 33 transfers the read data in the data buffer 34 to the host controller in accordance with the read strobe pulse R3TB (FIG. 4(A)) and the addresses of the load address counters L and CTR. The load address counter LCTR counts up every time one read data is transferred.
■データ転送制御回路33がリードバイト数分のデータ
転送終了と判定すると、MPU30はRAM3 l b
のエリアDAの空き8沿FSEGに使用単位数USEG
を加算し、更新する。■When the data transfer control circuit 33 determines that data transfer for the number of read bytes has been completed, the MPU 30 transfers data from the RAM3 l b
Number of units USEG used in area DA vacant 8 FSEG
Add and update.
一方、データ転送を伴わないリード系命令でもリードデ
ータはデータバッファ34内に転送されているので、同
様に空き容量PSEGの更新を行う。On the other hand, since the read data is transferred to the data buffer 34 even in a read-related instruction that does not involve data transfer, the free capacity PSEG is updated in the same way.
次に、MPU30は前述のリード系命令がファイルサー
チ(File 5earch)系命令(スペースファ
イル又はバンクスペースファイル)かを調べ、ファイル
サーチ系命令なら、ステップ■に戻る。即ち、ファイル
サーチ系命令をリード(Read)命令に分割している
ことになる。Next, the MPU 30 checks whether the aforementioned read-related command is a file search (File 5 search)-based command (space file or bank space file), and if it is a file search-based command, returns to step (2). In other words, the file search type command is divided into read commands.
■一方、ステップ■でファイルサーチ系命令でない時又
はステップ■でリード方向がリバースの場合又はテープ
マーク検出の場合には、ホストコントローラへMPU3
0はホストインターフェイス回路32bより終了報告(
正常受信又はエラー)するとともにデータビジーDBY
信号をオフとし、第5図の起りj待ちルーチンへ戻る。■On the other hand, if step ■ is not a file search type command, or if step ■ is a reverse read direction, or if a tape mark is detected, MPU3 is sent to the host controller.
0 indicates completion report from host interface circuit 32b (
Normal reception or error) and data busy DBY
The signal is turned off and the process returns to the start j wait routine shown in FIG.
このようにして、ライト系処理では、EWA検出から一
定値EPTR走行した時点でEOTとみなすロジカルE
O’rモードでは、バッファサイズCBS i ZE
はステップ■で減少制限せずに、ロジカルEOTオンに
よってステップ■で通常のEOTオンと同様に先取り命
令の禁止を行う。In this way, in the light system processing, the logical E
In O'r mode, the buffer size CBS i ZE
In step (2), the logical EOT is turned on without reducing the limit, and in step (2), the prefetch command is prohibited in the same way as when normal EOT is turned on.
一方、ロジカルEOTモードでないフィジカルEOTモ
ードの時には、記録密度と最大ブロック長MAXLに応
じて最終制限値CBEが変更され(ステップ■) 、E
WAにおいては、ステップ■でバッファサイズが順次減
少される。On the other hand, when the physical EOT mode is not the logical EOT mode, the final limit value CBE is changed according to the recording density and the maximum block length MAXL (step ■), and E
In the WA, the buffer size is sequentially reduced in step (2).
又、リード系処理では、リード系命令の種類を問わず先
読みが行われる。Further, in read-related processing, prefetching is performed regardless of the type of read-related instruction.
(ellトドライブ処理動作説明 第9図は対ドライブ起動処理フロー図である。(Explanation of ell drive processing operation FIG. 9 is a flowchart of drive activation processing.
(i)MPU30はドライブ起動を行うべく、RAM3
l bの命令バッファCB U’ Fより次に実行す
べき命令を読み出し、ライト系命令かを調べる。(i) The MPU 30 uses the RAM 3 to start the drive.
The next instruction to be executed is read from the instruction buffer CB U'F of lb, and it is checked whether it is a write type instruction.
ライト系命令でなければ、即ち、リード系命令なら、M
PU30は、RAM3 l bのエリアCAの先読みブ
ロック数CBSTKが零より小のマイナスかを調べるC
BSTKが零以上であればすでに先読みを行っているの
で起動しても良いかを調べる。起動不可(先読み時にエ
ラーを検出して停止している)の時はリターンする。If it is not a write-related instruction, that is, if it is a read-related instruction, M
PU30 checks whether the number of pre-read blocks CBSTK in area CA of RAM3 lb is a negative value smaller than zero.
If BSTK is greater than or equal to zero, prefetching has already been performed, so check whether it is okay to start. Returns if it cannot be started (an error was detected during read ahead and stopped).
一方、起動可なら、RAM3 l bのエリアCAの先
読みブロック数CBSTKが「63」より小かを調べる
。小でなければRAM3 l bの命令バッファCBU
Fがフルのため、リターンする。On the other hand, if activation is possible, it is checked whether the number of pre-read blocks CBSTK in area CA of RAM3 lb is smaller than "63". If it is not small, RAM3 l b instruction buffer CBU
Returns because F is full.
一方、先読みブロック数が63ケより小なら、空き容量
1・” S E Gが64にバイト以上かを調べ、以下
ならデータ転送不可としてリターンする。On the other hand, if the number of pre-read blocks is less than 63, it is checked whether the free space 1.''SEG is greater than or equal to 64 bytes, and if it is less than 64 bytes, the process returns as data transfer is not possible.
(ii)ステップ(i) で空き容1FsEGが64に
バイト以上なら、ドライブ1からのデータ転送可能なた
め、MPU30はRAM3 l bの先頭アドレスBA
DRをデータ転送制御回路33のスI−アアドレスカウ
ンタ5CTRにセットし、データ転送制御回路33をス
タンバイ状態とする。(ii) If the free space 1FsEG is 64 bytes or more in step (i), it is possible to transfer data from drive 1, so the MPU 30 moves to the starting address BA of RAM 3 l b.
DR is set in the address counter 5CTR of the data transfer control circuit 33, and the data transfer control circuit 33 is placed in a standby state.
次に、MPU30はドライブインターフェイス回路32
aよりEWA信号がオンか、オフかを調べ、オン(YE
S)なら、EWAにあるから、RAM3 l bのLE
OTモードフラグをオフとし、LEOTモードを解除す
る。Next, the MPU 30 drives the drive interface circuit 32
Check whether the EWA signal is on or off from a, and turn it on (YE
S), it is in EWA, so LE of RAM3 l b
Turn off the OT mode flag and cancel LEOT mode.
更に、MPU30はリード系命令がリードリバースかを
調べ、リードリバースならロジカルEOTをオフとする
。Furthermore, the MPU 30 checks whether the read-related command is a read reverse, and if it is a read reverse, turns off the logical EOT.
このオフの後又は、EWA信号オフ又はリードリバース
でない場合には、MPU30はドライブインターフェイ
ス回路32aを介し、起動(G。After this off, or when the EWA signal is not off or read reverse, the MPU 30 activates (G) via the drive interface circuit 32a.
)信号と当該リード系命令とをドライブ1へ発行し、リ
ターンする。) signal and the relevant read-related command to the drive 1, and return.
(iii )一方、ステップ(i)でライト系命令と判
定すると、ドライブへの自動転送準備を行う。(iii) On the other hand, if it is determined in step (i) that it is a write-related command, preparations for automatic transfer to the drive are made.
即ち、MPU30はRAM3 l bの命令バッファC
BUFから当該ライト系命令を読出し、この命令がデー
タ転送を伴う命令かを調べる。データ転送を伴う命令で
あれば、MPU30はRAM31bの命令バッファCB
UFの先頭アドレスWADR及びバイト数WBCをデー
タ転送制御回路33のロードアドレスカウンタLATR
,バイトカウンタBCTRに各々セットする。That is, the MPU 30 uses the instruction buffer C of the RAM 3 lb.
The relevant write-related instruction is read from the BUF, and it is checked whether this instruction involves data transfer. If the instruction involves data transfer, the MPU 30 uses the instruction buffer CB of the RAM 31b.
The start address WADR of the UF and the number of bytes WBC are sent to the load address counter LATR of the data transfer control circuit 33.
, respectively set in the byte counter BCTR.
更にデータ転送制御回路33をスタンバイ状態にする。Furthermore, the data transfer control circuit 33 is put into a standby state.
このスタンバイ状態後又は、前述のデータ転送を伴なわ
ないライト系命令(イレーズ、ライ1−テープマーク等
)であれば、MPU30は読出した命令と、起動<Go
”)信号をドライブインターフェイス回路32aを介し
制御線36aよりドライブ制御部2へ発行し、リターン
する。After this standby state, or if it is a write-related command that does not involve the aforementioned data transfer (erase, write 1-tape mark, etc.), the MPU 30 will read the read command and start < Go
") signal is issued to the drive control unit 2 from the control line 36a via the drive interface circuit 32a, and returns.
一方、ドライブ制御部2は、前述のステップ(ii )
、(山)で起動信号及び命令を受けると、データビジー
DBYをオンとして返答し、当該命令の実行に入る。On the other hand, the drive control unit 2 performs the step (ii) described above.
, (mountain) receives a start signal and command, it responds by turning on data busy DBY and starts executing the command.
例えばデータ転送を伴うライト系命令なら、データ転送
準備完了後、データ転送制御信号線37aよりデータ転
送要求をデータ転送制御回路33へ送る。これによって
データ転送制御回路33はデータバッファ34のロード
アドレスカウンタLCTRで示す先頭アドレスからバイ
トカウンタBCTRのバイト数分ライトデータをライト
データバス37bを介しドライブ制御部2へ送り、これ
を実行せしめ磁気テープ16にライトさせる。For example, in the case of a write command that involves data transfer, a data transfer request is sent to the data transfer control circuit 33 from the data transfer control signal line 37a after data transfer preparation is completed. As a result, the data transfer control circuit 33 sends write data corresponding to the number of bytes of the byte counter BCTR from the start address indicated by the load address counter LCTR of the data buffer 34 to the drive control unit 2 via the write data bus 37b, and causes the magnetic tape to be executed. Write to 16.
また、ドライブ制御部2において係るライト系コマンド
の実行が終了すると、終了報告を制御線36aを介しド
ライブインターフェイス回路32aへ上げる。ドライブ
インターフェイス回路32aは、これによってMPU3
0に割込みをかけ、第5図乃至第8図の処理を中断せし
める。Furthermore, when the execution of the write-related command in the drive control section 2 is completed, a completion report is sent to the drive interface circuit 32a via the control line 36a. The drive interface circuit 32a thereby
0 and interrupts the processing shown in FIGS. 5 to 8.
第10図は対ドライブライ1−/リード処理フロー図で
ある。FIG. 10 is a flow diagram of the drive write 1-/read processing.
(iv)MPU30はドライブより終了報告を受けると
、終了した命令種別がリード系かライト系かを調べ、リ
ード系ならステップ(vii)へ進む。(iv) Upon receiving the completion report from the drive, the MPU 30 checks whether the type of the completed command is read or write, and if it is read, the process proceeds to step (vii).
一方、終了した命令種別がライ1−系なら、MPU30
はドライブインターフェイス回路32aを介しEWA信
号がオンかオフかを調べる。オフ(No)であればステ
ップ(vi )へ進む。On the other hand, if the completed instruction type is Lie 1-type, the MPU30
checks whether the EWA signal is on or off via the drive interface circuit 32a. If it is off (No), proceed to step (vi).
EWA信号がオン(YES)であれば、終端近傍領域(
EWA)内であるから、MPU30はRAM31bのエ
リアEAのLEOTモードフラグを調べLEOTモード
かを判別する。If the EWA signal is on (YES), the area near the termination (
EWA), the MPU 30 checks the LEOT mode flag in the area EA of the RAM 31b to determine whether it is in the LEOT mode.
LEOTモードでなければ、通常のフィジカルrEOT
モードであるから、ステップ(vi)へ進む。If not in LEOT mode, normal physical rEOT
mode, proceed to step (vi).
逆にLEOTモードなら、走行カウンタの歩進及びLE
OT検出点の検出のためステップ(v)へ進む。Conversely, in LEOT mode, the progress of the travel counter and the LE
Proceed to step (v) to detect the OT detection point.
(■)先づ、MPU30はRAM3 l bのエリアE
Aの書込み記録密度を調べる。(■) First, MPU30 is RAM3 l b area E.
Check the write recording density of A.
記録密度が6250rpiか1600rpiかの判断は
、以下の走行カウンタの歩進及びLEO′F検出点の検
出処理におけるライトテープマーク長WTM1.イレー
ズ長ER3,IBG長、判定値EPTRを異ならせるた
めであり、処理自体は全く同一である。Whether the recording density is 6250rpi or 1600rpi is determined by the write tape mark length WTM1. This is to make the erase length ER3, IBG length, and determination value EPTR different, but the processing itself is completely the same.
即ち、MPU30は命令バッファCBUFの命令がライ
ト命令、イレーズバリアプル命令、ライトテープマーク
命令、イレーズ固定命令かを調べる。That is, the MPU 30 checks whether the instruction in the instruction buffer CBUF is a write instruction, erase variable pull instruction, write tape mark instruction, or fixed erase instruction.
命令がライト命令又はイレーズバリアプル命令なら、命
令バッファCBUFのバイト数RBCを使用単位数US
EGに変換し、RAM3 l bのエリアEAの走行カ
ウント値ECTRに加算更新する。又、命令がライトテ
ープマーク命令なら、固定値であるライ1−テープマー
ク長WTMを同様に走行カウント値ECTRに加算更新
する。If the instruction is a write instruction or an erase variable pull instruction, the number of bytes RBC of the instruction buffer CBUF is the number of units used US
It is converted into EG and updated by adding it to the travel count value ECTR in area EA of RAM3 lb. Furthermore, if the command is a write tape mark command, the fixed value of write 1-tape mark length WTM is similarly added to and updated to the running count value ECTR.
更に、命令がイレーズ固定命令なら、固定イレーズ長E
R3を同様に走行カウント値ECTRに加算更新する。Furthermore, if the instruction is a fixed erase instruction, the fixed erase length E
Similarly, R3 is added and updated to the traveling count value ECTR.
そして、更に、IBG長を走行カウント値ECTRに加
算更新する。Further, the IBG length is added to the running count value ECTR and updated.
次に、MPU30は、LEOT検出点の検出のため、こ
の走行カウント値ECTRと判定値EPTRとを比較す
る。Next, the MPU 30 compares this running count value ECTR and the determination value EPTR in order to detect the LEOT detection point.
ECTR≧EPTRならLEOT検出点に達しているた
め、ロジカルEOTオンとする。ECTR<EPTRな
らロジカルEOTはオンとしない。If ECTR≧EPTR, the LEOT detection point has been reached, so logical EOT is turned on. If ECTR<EPTR, logical EOT is not turned on.
(vi)次に、MPU30は、係るライト系命令がデー
タバッファ34を使用する命令かを聞べ、使用する命令
であれば、RAM3 l bのデータバッファ管理エリ
アDAの空き容1FsEGに使用単位数USEGを加算
し、空き容量FSEGを更新する。(vi) Next, the MPU 30 asks whether the write-related instruction uses the data buffer 34, and if it uses the data buffer 34, the MPU 30 determines the number of units used in the free space 1FsEG of the data buffer management area DA of the RAM 3 lb. Add USEG and update free capacity FSEG.
次に、この更新後、又はデータバッファ34を使用して
いない時には、RAM3 l bの命令バッファ管理エ
リアCAの命令記憶数CBSTKを「1」減算し、更新
する。Next, after this update or when the data buffer 34 is not in use, the instruction storage number CBSTK in the instruction buffer management area CA of the RAM 3 lb is subtracted by "1" and updated.
更に、MPU30は、RAM3 l bの命令記憶数C
BSTKが零かを調べ、零なら第5図又は第7図のルー
チンへ戻り、零でなければ、第9図のステップ(iii
)以降を実行する。Furthermore, the MPU 30 has the instruction storage number C of the RAM 3 lb.
Check whether BSTK is zero, and if it is zero, return to the routine in Figure 5 or Figure 7; if not, go to step (iii) in Figure 9.
) and the rest.
このようにしてドライブはホストコントローラと非同期
に命令バッファの命令を順次実行していく。In this way, the drive sequentially executes the instructions in the instruction buffer asynchronously with the host controller.
(vi)一方、ステップ(1v)で命令種別がリード系
と判定されると、MPU30は命令がリードリバースで
あったかを調べ、リードリバースであったならばドライ
ブインターフェイス回路32aを介し、ドライブ1がロ
ードポイントLDPを検出しているかどうかを8周べる
。ロードポイント検出信号が上がっていない場合、及び
命令がリードフォワードであった場合はドライブインタ
ーフェイス回路32aを介しテープマーク検出信号が上
っているかを調べる。(vi) On the other hand, if the instruction type is determined to be a read type in step (1v), the MPU 30 checks whether the instruction is a read reverse, and if it is a read reverse, the drive 1 is loaded via the drive interface circuit 32a. Test 8 times to see if point LDP is detected. If the load point detection signal is not rising, and if the command is read forward, it is checked via the drive interface circuit 32a whether the tape mark detection signal is rising.
テープマーク検出信号も上っていなければ、ドライブ処
理終了によるデータバッファ34に転送されたリードデ
ータのバイト数BCを計算する。If the tape mark detection signal is not rising, the number of bytes BC of read data transferred to the data buffer 34 upon completion of drive processing is calculated.
即ち、MPU30はデータ転送制御回路33のストアア
ドレスカウンタ5CTRを読出しデータバッファ管理エ
リアDAのバッファアドレスBADRとの差を計算して
転送されたリードデータのハイド数BCを求める。That is, the MPU 30 reads out the store address counter 5CTR of the data transfer control circuit 33, calculates the difference between it and the buffer address BADR of the data buffer management area DA, and obtains the number of hides BC of the transferred read data.
次に、MPU30はRAM3 l bの命令バッファC
,BUF及びデータバッファ管理エリアDAの更新を行
う。Next, the MPU 30 uses the instruction buffer C of the RAM 3 lb.
, BUF and data buffer management area DA.
先づ、RAM3 l bの命令バッファCBUFの当該
命令欄にRAM3 l bのデータバッファ管理エリア
DAのハ゛ソファアドレス(■1ち先J売みり一ドデー
タの先頭アドレス)BADRと、算出されたリードデー
タのバイト数BCを格納する。First, in the instruction column of the instruction buffer CBUF of RAM3 lb, write the low sofa address (■1st address of the first J selling data) BADR of the data buffer management area DA of RAM3 lb and the calculated read data. The number of bytes BC is stored.
次に、RAM3 l bのデータバッファ管理エリアD
Aの空き容量FSEGからデータバッファ34の使用単
位数USEGを差し引き、この空き容量F S E G
’c更Wtし、更に、バッファアドレスBADRに使
用単位数USEGを加算し、先頭アドレスBADRを更
新する。Next, data buffer management area D of RAM3 lb
Subtract the number of used units of the data buffer 34 USEG from the free capacity FSEG of A, and calculate this free capacity F S E G
Then, the number of used units USEG is added to the buffer address BADR, and the start address BADR is updated.
更にMPLJ30はドライブ1がフォワード方向の動作
で且つEOTの検出をしたかを調べる。Furthermore, the MPLJ 30 checks whether the drive 1 operates in the forward direction and detects EOT.
これによってYESであれば、リード実行結果(EOT
挟出)を命令バッファCBUFの当該リードデータの格
納欄に格納し、第5図又は第8図のルーチンへ戻る。If YES, read execution result (EOT)
nip) is stored in the corresponding read data storage column of the instruction buffer CBUF, and the process returns to the routine of FIG. 5 or FIG. 8.
同様にテープマーク検出、リードリバースにおいてロー
ドポイン)LDP検出の場合も、命令バッファCBUF
にこれを格納し、第7図又は第8図のルーチンへ戻る。Similarly, in the case of LDP detection (load point in tape mark detection and read reverse), the instruction buffer CBUF
This is stored in , and the process returns to the routine shown in FIG. 7 or 8.
一方、前述のMPU30のEOT検出等の調べによって
NOであれば、同様にリード実行結果(不検出)を命令
バッファCBUFの当該リードデータの格納欄に格納す
る。On the other hand, if the result of the above-mentioned EOT detection etc. of the MPU 30 is NO, the read execution result (non-detection) is similarly stored in the corresponding read data storage column of the instruction buffer CBUF.
更に、MPU30はRAM3 l bのエリアCAの先
読みブロック数CBSTKが63以上かを調べ、63以
上なら、先読みリード不可として第5図又は第8図のル
ーチンへ戻り、63より小なら先読みリードを実行すべ
く第9図のステップ(1)へ戻る。Furthermore, the MPU 30 checks whether the number of pre-read blocks CBSTK in area CA of RAM3 lb is 63 or more, and if it is 63 or more, returns to the routine of FIG. 5 or FIG. To do so, return to step (1) in FIG.
(f)全体動作の説明
以上、第5図から第10までの動作を要約すると、次の
如くなる。(f) Description of overall operation The operations shown in FIGS. 5 to 10 can be summarized as follows.
ライト系動作においては、
(1)通常のフィジカルEOTモードとは別にロジカル
EOTモードが設けられている。In the write system operation, (1) A logical EOT mode is provided in addition to the normal physical EOT mode.
即ち、第11図(A)に示す如く、磁気テープドライブ
部lが磁気テープ16を走行して、磁気テープの終端近
傍領域(EWA)を検出すると、先取り制御部3が終端
領域近傍時点から磁気テープの走行距離を計数し、計数
値ECTRが一定値EPTRに達すると、テープ終端領
域検出とみなし、疑似的なEOTを得るようにしている
。That is, as shown in FIG. 11(A), when the magnetic tape drive section l runs the magnetic tape 16 and detects an area near the end of the magnetic tape (EWA), the prefetch control section 3 detects the magnetic tape from the time near the end area. The running distance of the tape is counted, and when the counted value ECTR reaches a certain value EPTR, it is considered that the tape end area has been detected, and a pseudo EOT is obtained.
この疑似EOT (ロジカルEOT)は通常のフィジカ
ルEOT検出と同一の効果を持ち、これによって実際に
磁気テープに設けられたEOTマーカを検出することな
く、それ以前にEOTの取扱いが行われる。This pseudo EOT (logical EOT) has the same effect as normal physical EOT detection, whereby the EOT is handled before actually detecting the EOT marker provided on the magnetic tape.
これによって第11図(A)に示す如< EOT検出時
点を早くすることにより、TWAを長くできる。このた
め、TWAに書込むことのできるブロック数が多くなる
ため、第11図(B)の実線に示す如く、EWAにおけ
るライト系命令の先取り数を減らす必要がなくなる。As a result, as shown in FIG. 11(A), the TWA can be lengthened by making the EOT detection time earlier. As a result, the number of blocks that can be written to the TWA increases, so there is no need to reduce the number of prefetching write-related instructions in the EWA, as shown by the solid line in FIG. 11(B).
従って、ホストコントローラは、ライト系命令の先取り
制限をEWAにおいては受けないのでストリーミング走
行の性能低下を防止できる。Therefore, the host controller is not subject to any prefetch restrictions for write-related commands in the EWA, so it is possible to prevent performance deterioration in streaming running.
即ち、第11図tc)の実線の如く、EOT付近までは
、命令先取り数はできるだけ多くし、EOTが近づいた
ら、書込み可能な数に減らすという理想的な先取り制御
が可能となる。That is, as shown by the solid line in FIG. 11 (tc), ideal prefetch control is possible in which the number of instructions prefetched is as large as possible until near the EOT, and as the EOT approaches, the number is reduced to a writable number.
これによって、TWAに書込み不能となることもなく、
性能低下を防止することができる。As a result, it will not become impossible to write to TWA,
Performance deterioration can be prevented.
(2)従って、第5図ステップ■の初期設定(1)、即
ち第6図fclにおいて、LEOTモードならバッファ
サイズCBS i ZEば最大の「64」で減少制限を
受けない。(2) Therefore, in the initial setting (1) of step (2) in FIG. 5, ie, fcl in FIG. 6, in the LEOT mode, the buffer size CBS i ZE is the maximum "64" and is not subject to reduction restrictions.
即ち、ロジカルEOTモードであれば、第7図のステッ
プ■において、バッファサイズCB51ZEの漸次減少
、即ち減少制限は行われない。That is, in the logical EOT mode, the buffer size CB51ZE is not gradually reduced, ie, the reduction limit is not performed in step (2) in FIG.
そして、第10図のステップ(v)において、アーリー
ウオーニングエリアEWA検出からテープ走行距離が走
行カウント値ECTRとして計測され、これが制限値E
PTRに達すると、ロジカルEOTポイント検出として
、LEOTオンとなり、第7図のステップ■で通常のE
OT検出と同一の扱いが行われる。Then, in step (v) of FIG. 10, the tape running distance from the detection of the early warning area EWA is measured as the running count value ECTR, and this is the limit value E
When PTR is reached, LEOT is turned on as a logical EOT point detection, and the normal E is turned on in step
The same treatment as OT detection is performed.
従って、LEOTモードでは、LEOT点検出まで第1
1図(B)の実線の如くバッファサイズCBS i Z
Eの制限を受けず、LEOT点検出で、EOTモードと
同様、実質的にCBS i ZEは零となる。Therefore, in LEOT mode, the first
As shown by the solid line in Figure 1 (B), the buffer size CBS i Z
CBS i ZE is not limited by E, and when the LEOT point is detected, CBS i ZE becomes substantially zero as in the EOT mode.
このため、LEOTモードでは、第11図(c)実線の
如く、LEOT点検出から命令記憶数CBSTKが減少
していく。Therefore, in the LEOT mode, the number of stored instructions CBSTK decreases from the detection of the LEOT point, as shown by the solid line in FIG. 11(c).
(3)更にLEOTモードにおいて、第9図のステップ
(ii)の如く、テープ走行距離計数開始後(EWAオ
ン後)に、リード系命令の受信、実行などにより計数値
の保証ができなくなった時には・ロジカルEOTモード
がオフとなって、通常のEOTモードに移行する。(3) Furthermore, in the LEOT mode, as shown in step (ii) in Figure 9, if the count value cannot be guaranteed due to reception or execution of a read-related command after tape travel distance counting starts (after EWA is turned on),・Logical EOT mode turns off and shifts to normal EOT mode.
(4)一方、通常のフィジカルEOTモードであれば、
第5図のステップ■の初期設定(■)、即ち第6図(C
1においてバッファサイズCB51ZEは最終制服値C
BEにより変更される。(4) On the other hand, in normal physical EOT mode,
Initial setting (■) of step ■ in Fig. 5, that is, Fig. 6 (C
1, the buffer size CB51ZE is the final uniform value C
Changed by BE.
又、第7図のステップ■において、この最終制限値CB
E、は記録密度と最大ブロック長により変更される。Also, in step ① of Fig. 7, this final limit value CB
E is changed depending on the recording density and maximum block length.
フィジカルEOTモードであれば、第7図のステップ■
においてアーリーウオーニングエリアEWA内では、バ
・ノファサイズCBS i ZEは最終制限値CBE以
上なら「2」づつ減少していく。If it is physical EOT mode, step ■ in Figure 7
In the early warning area EWA, the bar size CBS i ZE decreases by "2" if it is equal to or larger than the final limit value CBE.
例えば、命令バッファに蓄積しうるライト系命令が64
であったものを第11図(B)の点線の如(、漸次減少
するようにする。For example, the number of write instructions that can be accumulated in the instruction buffer is 64.
is gradually decreased as shown by the dotted line in FIG. 11(B).
従って、ライト系命令の蓄積可能数を制限するため、ラ
イトデータを伴わないイレーズ、ライトテープマーク等
のライト系命令も制限されるから、磁気テープ内(特に
TWA内)に全てのライト系命令の実行ができ、ライト
系命令の処理不能を防止することができる。Therefore, in order to limit the number of write-related instructions that can be stored, write-related instructions such as erase and write tape mark that do not involve write data are also limited, so all write-related instructions can be stored within the magnetic tape (especially within the TWA). can be executed, and can prevent write-related instructions from being unable to be processed.
即ち、テープ終端近傍に達しEWA信号がオンとなると
、バッファサイズCBS i ZEは最大値「64」か
らホストコントローラからのライト系コマンド受信毎に
「2」づつ減少され、即ち命令格納許可数が漸次減少す
る。更にTWA (EOT)信号が発せられると、命令
記憶数CBSTKが零となるまで終了報告をしない。That is, when the tape reaches near the end and the EWA signal turns on, the buffer size CBS i ZE is decreased from the maximum value "64" by "2" each time a write command is received from the host controller, that is, the number of instructions allowed to be stored gradually decreases. Decrease. Furthermore, when the TWA (EOT) signal is issued, no completion report is made until the instruction storage number CBSTK becomes zero.
このため、先取り命令数は第11図(C)の点線で示す
如く漸次減少する。Therefore, the number of prefetch instructions gradually decreases as shown by the dotted line in FIG. 11(C).
このような漸次減少する様にすると、ホストコントロー
ラは次のコマンドを受付けるまでの時間が極度に長びか
されることがない。これに対し一挙に減少してしまうと
、ホストコントローラは、(蓄積済み命令数)−(減少
後の蓄積可能命令数−1)だけの数の命令をドライブが
実行するまで次の命令が受付けられないので、ホストコ
ントローラの時間監視によってタイムオーバーによる装
置異常と見なされてしまい不都合が生じてしまう。This gradual decrease prevents the host controller from taking an extremely long time to accept the next command. On the other hand, if the number decreases all at once, the host controller will not accept the next instruction until the drive executes the number of instructions equal to (Number of accumulated instructions) - (Number of instructions that can be accumulated after reduction - 1). Therefore, the host controller's time monitoring will treat the device as abnormal due to a timeout, causing inconvenience.
従って漸次減少によりこの不都合が防止できる・この漸
次減少は、最終制限値CBE以上である時に行われ、最
終制限値CBEは記録密度と最大ブロック長に応じて順
次変更される。Therefore, this inconvenience can be prevented by gradual reduction. This gradual reduction is performed when the final limit value CBE is greater than or equal to the final limit value CBE, and the final limit value CBE is sequentially changed according to the recording density and the maximum block length.
(6)又、第7図のステップ■の如く一ホストコントロ
ーラから起動(Go)がかかり、ライト系コマンドが与
えられると、先づ命令バッファの命令記憶可能数内であ
るかを調べ、命令記憶可能数内であれば、このコマンド
を受付け、命令記憶可能数を越えると、このコマンドの
受付けを保留してデータビジーDBYを上げない。(6) Also, as shown in step ① in Figure 7, when a host controller activates (Go) and a write command is given, it is first checked to see if the number of instructions that can be stored in the instruction buffer is within the number of instructions that can be stored. If the number is within the allowable number, this command is accepted; if the number exceeds the storable number of commands, acceptance of this command is suspended and the data busy DBY is not raised.
即ち、第4図(B)の如く、ドライブ側が命令バッファ
内の命令を実行し、命令記憶可能数以内になるまでデー
タビジーを上げず、命令記憶可能数以内となると、デー
タビジーを上げ、処理実行中をホストコントローラへ通
知する。That is, as shown in FIG. 4(B), the drive side executes the instructions in the instruction buffer and does not increase the data busy until the number of instructions is within the storable number of instructions. Notify the host controller that it is being executed.
同様に、ステップ■において、データバッファの空き容
量が最大ブロック長以上であるかを調べ最大ブロック長
以上であれば、ホストコントローラからのライトデータ
の転送を受け、最大ブロック長以下なら、データ転送を
保留してデータビジーDBYを上げない。Similarly, in step (2), it is checked whether the free space in the data buffer is greater than or equal to the maximum block length, and if it is greater than or equal to the maximum block length, the write data is transferred from the host controller, and if it is less than the maximum block length, data transfer is not performed. Do not raise data busy DBY on hold.
従って、ドライブ側が命令バッファ内の命令を実行し、
データバッファの空き容量が最大ブロック長以上になる
までデータビジーを上げず、最大ブロック長以上になる
と、データビジーを上げ、転送受付けを可能とする。Therefore, the drive side executes the instructions in the instruction buffer,
Data busy is not raised until the free space of the data buffer exceeds the maximum block length, and when it becomes equal to or greater than the maximum block length, data busy is raised to enable transfer acceptance.
そして、ステップ■において、転送されたブロック長が
最大ブロック長より大なら、実際に転送されたブロック
長を次回より最大ブロック長として採用する。Then, in step (2), if the transferred block length is larger than the maximum block length, the actually transferred block length is adopted as the maximum block length from next time onwards.
このため、リトライ回数の減少及び待ち時間の短縮の効
果が生じる。Therefore, the effect of reducing the number of retries and shortening waiting time is produced.
(g)他の実施例の説明
上述の実施例では、フィジカルEOTモードにおいて、
ライト系の命令の蓄積可能数をホストからのライト系コ
マンド受信毎に漸次減少しているが、−挙に減少しても
よく、l−ライブ側の複数命令実行毎に漸次減少するよ
うにしてもよい。(g) Description of other embodiments In the embodiments described above, in the physical EOT mode,
The number of write-related commands that can be stored is gradually reduced each time a write-related command is received from the host, but it may be reduced all at once, or it may be gradually reduced each time multiple instructions are executed on the live side. Good too.
又、ドライブ制御部2と命令データ先取り制御部が一体
であってもよく、ドライブ1もテープバッファを有する
ものであってもよい。Further, the drive control section 2 and the command data prefetch control section may be integrated, and the drive 1 may also have a tape buffer.
更に、ロジカルEOTモードを設けず、フィジカルRO
Tモートのみであってもより、最大ブロックg M A
X I−も受信ブロックにより変更せず、ステップ的
に変更するようにしてもよい。Furthermore, there is no logical EOT mode, and physical RO
Even if it is only T-mote, the maximum block g M A
XI- may also be changed in steps instead of being changed depending on the receiving block.
以上本発明を実施例により説明したが、本発明は本発明
の主旨に従い種々の変形が可能であり、本発明からごれ
らを排除するものではない。Although the present invention has been described above with reference to examples, the present invention can be modified in various ways according to the gist of the present invention, and these modifications are not excluded from the present invention.
以上説明した様に、本発明によれば、ライト系命令のア
ーリーウオーニングエリアEWAにおける最終制限値C
BEを記録密度と最大ブロック長に応じて決定している
ので、最終制限値CBEを最適な値に設定することがで
き、装置の性能を最大限に引出すことのできるライト系
命令の先取り制御が可能となるという効果を奏する。As explained above, according to the present invention, the final limit value C in the early warning area EWA of write-related instructions
Since BE is determined according to the recording density and maximum block length, the final limit value CBE can be set to the optimal value, and prefetch control of write-related instructions that can maximize the performance of the device is possible. This has the effect of making it possible.
又、データ転送を伴なわないライト系の命令も先取り数
を制限しているので、命令バッファ内に蓄えられた全て
のライト系命令の実行が可能となるという効果を奏し、
係るバッファを有する磁気テープ装置の命令先取りによ
ってテープ終端で生じる不都合を防止することができる
。In addition, since the number of write-related instructions that do not involve data transfer is also limited in the number of pre-fetching instructions, it is possible to execute all write-related instructions stored in the instruction buffer.
Inconveniences occurring at the tape end can be prevented by prefetching instructions in a magnetic tape device having such a buffer.
第1図は本発明の原理説明図、
第2図は本発明の一実施例全体構成図、第3図は第2図
構成の要部構成図、
第4図は第2図構成のデータ転送動作説明図、第5図は
本発明の一実施例起動処理フロー図、第6図は第5図の
初期設定処理フl:I−図、第7図は本発明の一実施例
のホストに対するライト系処理フロー図、
第8図はホストに対するリード系処理フロー図、第9図
はドライブに対する起動処理フロー図、第10図はドラ
イブに対するライト/リード処理フロー図、
第11図は全体動作の説明図、
第12図はgftft−プ装置の命令先取り制御説明図
、
第13図は従来技術の説明図である。
図中、 1−磁気テープドライブ部、2− ドライブ
制御部、
3−命令・データ先取り制御部、
CBUF−命令バッファ、
34−データバッファ。Fig. 1 is a diagram explaining the principle of the present invention, Fig. 2 is an overall configuration diagram of an embodiment of the present invention, Fig. 3 is a main part configuration diagram of the configuration shown in Fig. 2, and Fig. 4 is a data transfer diagram of the configuration shown in Fig. 2. 5 is a flowchart of the startup process of an embodiment of the present invention, FIG. 6 is a flowchart of the initial setting process of FIG. 5, and FIG. Write-related processing flowchart, Fig. 8 is a read-related processing flowchart for the host, Fig. 9 is a start-up processing flowchart for the drive, Fig. 10 is a write/read processing flowchart for the drive, and Fig. 11 is an explanation of the overall operation. FIG. 12 is an explanatory diagram of instruction prefetch control of the gftft-pull device, and FIG. 13 is an explanatory diagram of the prior art. In the figure, 1-magnetic tape drive unit, 2-drive control unit, 3-instruction/data prefetch control unit, CBUF-instruction buffer, 34-data buffer.
Claims (2)
ープドライブ部と、 上位から与えられた命令を複数先取り蓄積しうるバッフ
ァ部と、 該バッファ部の蓄積された命令に従って該磁気テープド
ライブ部を制御して該命令を実行する制御部とを備える
磁気テープ装置において、 該制御部が該磁気テープドライブ部によって走行される
磁気テープの終端領域近傍を検出し、該終端領域近傍検
出に基いて該バッファ部に先取り蓄積しうるライト系命
令数を制限するとともに、 該最終制限値を記録密度及びライト系命令の最大ブロッ
ク長を基に決定するようにしたことを特徴とする磁気テ
ープ装置の命令先取り制御方法。(1) A magnetic tape drive unit having a magnetic head and a magnetic tape drive mechanism; a buffer unit capable of preemptively storing multiple commands given from a higher level; and controlling the magnetic tape drive unit according to the commands stored in the buffer unit. and a control section that executes the instructions, wherein the control section detects the vicinity of an end region of the magnetic tape run by the magnetic tape drive section, and controls the buffer based on the detection of the vicinity of the end region. Instruction prefetch control for a magnetic tape device, characterized in that the number of write instructions that can be preemptively accumulated in a section is limited, and the final limit value is determined based on a recording density and a maximum block length of write instructions. Method.
ープドライブ部と、 上位から与えられた命令を複数先取り蓄積しうるバッフ
ァ部を有する命令先取り制御部と、該バッファ部の蓄積
された命令に従って該磁気テープドライブ部を制御して
該命令を実行するドライブ制御部とを備える磁気テープ
装置であって、該命令先取り制御部は、該バッファ部に
蓄積しうる命令数を管理するとともに、 該ドライブ制御部からの該磁気テープの終端領域近傍を
示す検出信号に基いて該蓄積しうる先取りライト系命令
数を制限するとともに、該最終制限値を記録密度及びラ
イト系命令の最大ブロック長を基に決定するよう構成し
たことを特徴とする磁気テープ装置の命令先取り制御装
置。(2) a magnetic tape drive section having a magnetic head and a magnetic tape drive mechanism; an instruction prefetch control section having a buffer section capable of preemptively storing a plurality of instructions given from a higher level; A magnetic tape device comprising: a drive control section that controls a magnetic tape drive section to execute the instructions, the instruction prefetch control section managing the number of instructions that can be stored in the buffer section, and controlling the drive control section. The number of preemptive write instructions that can be accumulated is limited based on a detection signal indicating the vicinity of the end area of the magnetic tape from the storage unit, and the final limit value is determined based on the recording density and the maximum block length of write instructions. An instruction prefetch control device for a magnetic tape device, characterized in that it is configured to:
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60222498A JPS6284331A (en) | 1985-10-05 | 1985-10-05 | Method and device for controlling prefetch of instruction of magnetic tape device |
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 |
CA000513624A CA1273710A (en) | 1985-07-12 | 1986-07-11 | Magnetic tape system with command prefetch means |
EP86305345A EP0213703B1 (en) | 1985-07-12 | 1986-07-11 | Magnetic tape system with command prefetch means |
DE86305345T DE3689021T2 (en) | 1985-07-12 | 1986-07-11 | Magnetic tape system with command preselection means. |
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 (en) | 1985-10-05 | 1985-10-05 | Method and device for controlling prefetch of instruction of magnetic tape device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6284331A true JPS6284331A (en) | 1987-04-17 |
JPH0452966B2 JPH0452966B2 (en) | 1992-08-25 |
Family
ID=16783372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60222498A Granted JPS6284331A (en) | 1985-07-12 | 1985-10-05 | Method and device for controlling prefetch of instruction of magnetic tape device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6284331A (en) |
-
1985
- 1985-10-05 JP JP60222498A patent/JPS6284331A/en active Granted
Also Published As
Publication number | Publication date |
---|---|
JPH0452966B2 (en) | 1992-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5623700A (en) | Interface circuit having zero latency buffer memory and cache memory information transfer | |
JP3257916B2 (en) | External storage device | |
JP3254429B2 (en) | Data transfer / management system and method | |
US6487631B2 (en) | Circuit and method for monitoring sector transfers to and from storage medium | |
JPH07104817B2 (en) | Data record transfer method | |
JPH08212015A (en) | Driving device | |
KR900001695B1 (en) | Magnetic tape prefetch control system | |
JPS6292022A (en) | Control system for transfer of data | |
EP0017666B1 (en) | Methods of operating direct access storage means | |
JPS6284331A (en) | Method and device for controlling prefetch of instruction of magnetic tape device | |
EP0213703A2 (en) | Magnetic tape system with command prefetch means | |
JPS6214305A (en) | Writing error processing method for magnetic tape device | |
JPS6295755A (en) | Method and apparatus for controlling instruction prefetching of magnetic tape device | |
JPH0452965B2 (en) | ||
US6442647B1 (en) | Method and apparatus for utilization of plural commands to improve read response times of data from a disk track | |
JPS6215627A (en) | Method and device for instruction prefetch control of magnetic tape device | |
JP3122702B2 (en) | Disk device write-back control method | |
JPH0944315A (en) | Memory device and its method | |
JPH0456334B2 (en) | ||
JPH04311216A (en) | External storage controller | |
JPH03102443A (en) | Data preread controlling system | |
JPS63101943A (en) | Cache move-in control system | |
US20060031604A1 (en) | DMA transfer apparatus and method of controlling data transfer | |
JP3472357B2 (en) | Information processing device | |
JPH08185357A (en) | Magnetic disk device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |