JPH04105117A - Data input/output system - Google Patents

Data input/output system

Info

Publication number
JPH04105117A
JPH04105117A JP2222950A JP22295090A JPH04105117A JP H04105117 A JPH04105117 A JP H04105117A JP 2222950 A JP2222950 A JP 2222950A JP 22295090 A JP22295090 A JP 22295090A JP H04105117 A JPH04105117 A JP H04105117A
Authority
JP
Japan
Prior art keywords
buffer
data
input
output
section
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.)
Pending
Application number
JP2222950A
Other languages
Japanese (ja)
Inventor
Masaya Iwata
昌也 岩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2222950A priority Critical patent/JPH04105117A/en
Publication of JPH04105117A publication Critical patent/JPH04105117A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE:To shorten the total executing time of a program by carrying out the read and write instructions through a memory buffer secured large in a main storage when the input/output operations of data are carried out between an external device and the main storage. CONSTITUTION:The data are stored in a memory buffer part 1-1 with a main storage (memory) judged as a virtual file, and the part 1-1 consists of a large array assigned dynamically in the memory at execution of a program. A buffer input/output part 1-2 performs the input/output operations of data between a place of the memory stored with a variable, an array, etc., designated by a read or write instruction and a certain buffer area of the part 1-1 corresponding to a designated external storage (disk). That is, the input/output of data is carried out between the memories in an extremely short time. Thus no factor causes the delay of execution of the program.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータ入出力方式、特に主記憶装置と外部記憶
装置との間で大量のデータの入出力を行うデータ入出力
方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a data input/output method, particularly to a data input/output method for inputting/outputting a large amount of data between a main storage device and an external storage device.

〔従来の技術〕[Conventional technology]

従来、この種のデータ入出力は、O8で提供される「読
み込み」、「書き出し」の命令をそのまま用いてきた。
Conventionally, for this type of data input/output, the "read" and "write" commands provided by O8 have been used as they are.

その入力方式は、プログラムから「読み込み」あるいは
「書き出し」の命令が指示される都度、主記憶と外部記
憶装置との間でデータの受け渡しを行うというものであ
った。
The input method was to transfer data between the main memory and the external storage device each time a program issued a "read" or "write" command.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上述した従来のデータ入出力方式では、「読み込み」、
「書き出し」の命令が呼ばれる度に、「外部記憶装置か
ら指定されたデータを取り出し、主記憶装置の指定され
た箇所へデータを書き込む」、「主記憶装置から指定さ
れたデータを取り出し、外部記憶装置の指定された箇所
へデータを書き出す」といった処理を行うために、主記
憶装置へのアクセス、外部記憶装置へのアクセスが頻繁
に発生し、プログラムの実行を遅延させ、さらに主記憶
装置と外部記憶装置との入出力時間は、主記憶同志の入
出力時間に比べてはるかに長い時間がかかるため、プロ
グラムの実行時間を長(してしまう欠点がある。
In the conventional data input/output method described above, "reading",
Every time the "write" command is called, it will either "retrieve the specified data from the external storage device and write the data to the specified location in the main storage device" or "retrieve the specified data from the main storage device and write the data to the specified location in the main storage device". In order to perform processing such as "writing data to a specified location on the device," accesses to the main memory and external storage occur frequently, delaying program execution, and The input/output time with the storage device is much longer than the input/output time with the main memory, so it has the disadvantage of lengthening the program execution time.

〔課題を解決するための手段〕[Means to solve the problem]

本発明の方式は、主記憶装置と外部記憶装置との間でデ
ータの受け渡しを行うデータ入出力方式において、主記
憶をある決まった大きさの領域に区切りその領域を仮想
的にファイルと見立てデータを格納するためのメモリバ
ッファ部と、そのメモリバッファ部とプログラム間でデ
ータの入出力を行うためのバッファ入出力部と、メモリ
バッファ部が埋まった時点で、外部記憶装置とメモリバ
ッファ部の退避、復元を行うためのディスク入出力部と
、データの流れを制御するためにバッファ割り付け/開
放部、バッファ容量検出部、制御情報作成/検出部、バ
ッファ入出力制御部およびディスク入出力制御部から成
るバッファ管理部とを有している。
The method of the present invention is a data input/output method that transfers data between a main storage device and an external storage device. A memory buffer section for storing data, a buffer input/output section for inputting and outputting data between the memory buffer section and the program, and an external storage device and evacuation of the memory buffer section when the memory buffer section is full. , a disk input/output unit for restoration, a buffer allocation/release unit, a buffer capacity detection unit, a control information creation/detection unit, a buffer input/output control unit, and a disk input/output control unit to control the data flow. It has a buffer management section consisting of:

〔実施例〕〔Example〕

次に、本発明について図面を参照して説明する。 Next, the present invention will be explained with reference to the drawings.

第1図は本発明の一実施例のブロック図である。FIG. 1 is a block diagram of one embodiment of the present invention.

本実施例は、主記憶(以下、メモリと書く)をある決ま
った大きさの領域に区切り、その領域を仮想的にファイ
ルと見立てデータを格納するためのメモリバッファ部1
−1と、メモリバッファ部1−1とプログラム間でデー
タの入出力を行うためのバッファ入出力部1−2と、メ
モリバッファ部1−1が埋まった時点で、外部記憶装置
(以下、ディスクとする)とバッファの退避、復元を行
うためのディスク入出力部1−3と、データの流れを制
御するためにバッファ割り付け/開放部1−4−1.バ
ッファ容量検出部1−4−2.制御情報作成/検出部1
−4−3.バッファ入出力制御部1−4−4およびディ
スク入出力制御部1−4−5から成るバッファ管理部1
−4から構成されている。
In this embodiment, the main memory (hereinafter referred to as memory) is divided into areas of a certain fixed size, and the areas are virtually treated as files and a memory buffer unit 1 is used to store data.
-1, a buffer input/output section 1-2 for inputting and outputting data between the memory buffer section 1-1 and the program, and an external storage device (hereinafter referred to as a disk drive) when the memory buffer section 1-1 is filled. ), a disk input/output unit 1-3 for saving and restoring buffers, and a buffer allocation/release unit 1-4-1 for controlling data flow. Buffer capacity detection unit 1-4-2. Control information creation/detection unit 1
-4-3. Buffer management section 1 consisting of buffer input/output control section 1-4-4 and disk input/output control section 1-4-5
-4.

〔各部の機能〕[Function of each part]

メモリバッファ部1−1はメモリを仮想的なファイルと
見立ててデータを格納していく場所である。第2図に示
すように、メモリバッファ部1−1はプログラム実行時
にメモリ上に動的に割り付けられたある大きな配列(例
えば配列名:TABLE、配列の大きさ:メモリサイズ
)からなる。そして、この配列はプログラム上で使用さ
れるディスクに対応して、ある一定の大きさ(今、これ
をbufszとする)で各々分割された複数の領域の集
合として使用される。
The memory buffer section 1-1 is a place where data is stored by treating the memory as a virtual file. As shown in FIG. 2, the memory buffer section 1-1 consists of a large array (for example, array name: TABLE, array size: memory size) that is dynamically allocated on memory during program execution. This array is used as a set of a plurality of areas each divided into a certain size (here, this is bufsz) corresponding to the disk used in the program.

バッファ入出力部1−2は、「読み込み」あるいは「書
き出し」 (以降、READ、WRITEと呼ぶ)命令
時に指定された変数あるいは配列等メモリ上の格納場所
と、指定されたディスクに対応するメモリバッファ部1
−1内のあるバッファ領域(バッファ1.バッファ2・
・・)との間でデータの入出力を行う。つまり、データ
の入出力はメモリ←メモリで行われ極めて短時間で処理
される。
The buffer input/output unit 1-2 stores the storage location of variables or arrays in memory specified at the time of a "read" or "write" (hereinafter referred to as READ or WRITE) command, and a memory buffer corresponding to the specified disk. Part 1
A certain buffer area within -1 (buffer 1.buffer 2.
...) to input and output data. In other words, data input/output is performed between memory and memory, and is processed in an extremely short time.

ディスク入出力部1−3は、バ・ソファ入出力部1−2
で使用していた、あるディスクに対応するバッファがW
RITE時には−・杯に、READ時にはバッファ上の
データを全て読み込んだ場合に、このバッファ領域を全
て指定されたディスクへWRITEあるいはREAD 
(この場合のREAD/WRITEはO8で提供されて
いる通常の実行形式)する。この処理をページングと呼
ぶ。
The disk input/output section 1-3 is a disk input/output section 1-2.
The buffer corresponding to a certain disk used in W
When RITE, if all the data on the buffer is read, when READ, WRITE or READ all the buffer area to the specified disk.
(READ/WRITE in this case is the normal execution format provided by O8). This process is called paging.

バッファ上の全データはディスク上のルコードに相当し
、このレコード長が前述したbufszと同等の長さと
なる。つまり、入出力時間のかかるメモリ←ディスク間
のデータの入出力をまとめて行う事によりプログラムの
実行効率を上げる事ができる。例えばディスクへのWR
ITEを非同期出力で行う事によりプログラムのTAT
をさらに短縮する事ができる。さらに、バッファ領域の
大きさ=ディスクのルコードの大きさであるbufsz
をO8に合わせた最適な大きさに取る事により、極めて
効率的なディスクとの入出力が可能となる。
All data on the buffer corresponds to a record code on the disk, and the record length is the same as bufsz described above. In other words, program execution efficiency can be increased by performing data input/output between memory and disk all at once, which takes input/output time. For example, WR to disk
By performing ITE with asynchronous output, program TAT can be reduced.
can be further shortened. Furthermore, the size of the buffer area = bufsz, which is the size of the disk code.
By optimizing the size for O8, extremely efficient input/output with the disk becomes possible.

バッファ管理部1−4は上述した一連のデータの受け渡
しを制御し、メモリバッファ部1−1の管理を司る。バ
ッファ管理部1−4は以下5つの部分から成る。
The buffer management section 1-4 controls the above-mentioned series of data transfers and manages the memory buffer section 1-1. The buffer management unit 1-4 consists of the following five parts.

バッファ割り付け/開放部1−4−1は、プログラム上
でディスクの割り付け、開放が命令される都度、メモリ
バッファ部1−1にそのディスクに対応するバッファ領
域の割り付け、開放を行う。
The buffer allocation/release unit 1-4-1 allocates and releases a buffer area corresponding to the disk in the memory buffer unit 1-1 each time a disk allocation or release is commanded on the program.

これらの操作は第3図で示すようなバッファ領域管理テ
ーブル(配列名: BUFSW、配列の大きさ:n)に
基づいて行われる。
These operations are performed based on a buffer area management table (array name: BUFSW, array size: n) as shown in FIG.

すなわち、バッファ領域が割り付けられると、それに対
応してBUFSWに順次、バッファ使用中の意味でフラ
グ1を立てる。そして開放された時点で対応するBUF
SWの値を0にする。以降、バッファ領域割り付は時は
BUFSWのフラグ0に対応する領域に新たにバッファ
領域を割り付ける事によりメモリを無駄なく使用できる
That is, when a buffer area is allocated, a flag 1 is sequentially set in BUFSW to indicate that the buffer is in use. And the corresponding BUF when released
Set the SW value to 0. Thereafter, memory can be used without wasting memory by allocating a new buffer area to the area corresponding to flag 0 of BUFSW.

バッファ容量検出部1−4−2は、後述する制御情報作
成/検出部1−4−3およびバッファ入出力制御部1’
−4−4の作動前にバッファ領域の残り容量をチエツク
し、その情報をバッファ入出力側a部1−4−4および
ディスク入出力制御部1−4−5へ渡す。
The buffer capacity detection unit 1-4-2 includes a control information creation/detection unit 1-4-3 and a buffer input/output control unit 1', which will be described later.
-4-4 checks the remaining capacity of the buffer area and passes the information to the buffer input/output side section a 1-4-4 and the disk input/output control section 1-4-5.

制御情報作成/検出部1−4−3は、バッファ入出力時
に1回で処理するデータの個数、つまりプログラム上で
データをWRITE/READする際のルコードのワー
ド数を制御情報としてバッファ上のデータの先頭と後尾
に付加あるいはそれらの位置からの読み取りを行う。こ
の値は他の通常のデータの値と区別するために特殊なキ
ーワードを先頭数ビットに施している。
The control information creation/detection unit 1-4-3 uses the number of data to be processed at one time during buffer input/output, that is, the number of code words when writing/reading data on a program, as control information to detect data on the buffer. Append to the beginning and end of or read from those positions. This value has a special keyword added to the first few bits to distinguish it from other normal data values.

第4図(A)にバッファ領域の詳細図を示す。FIG. 4(A) shows a detailed diagram of the buffer area.

この制御情報をヘッダ、トレーラと呼ぶ。ヘッダおよび
トレーラは第4図(B)に示される構成となる。つまり
、バッファ領域を1ワード32ビツトとした場合、上位
2バイトにF(181を入れ識別キーとし、下位2バイ
トにワード数を入れる。
This control information is called a header or a trailer. The header and trailer have the configuration shown in FIG. 4(B). That is, when the buffer area is set to 32 bits per word, F(181 is placed in the upper 2 bytes as an identification key, and the number of words is placed in the lower 2 bytes.

バッファ入出力制御部1−4−4は、バッファ容量検出
部1−4−2の情報と制御情報作成/検出部1−4−3
から得られたデータルコードのワード数をもとに、効率
的なバッファ入出力の方法を選定し、バッファ人出方部
1−2へ指令を渡す。処理の詳細については動作例の項
で述べる。
The buffer input/output control section 1-4-4 receives information from the buffer capacity detection section 1-4-2 and the control information creation/detection section 1-4-3.
An efficient buffer input/output method is selected based on the number of words of the data code obtained from the above, and a command is passed to the buffer output section 1-2. Details of the processing will be described in the operation example section.

ディスク入出力制御部1−4−5は、バッファ容量検出
部1−4−2からバッファの残り容量が無くなったとい
う情報を受けてディスク入出力部1−3へ作動の命令を
出す。
The disk input/output control section 1-4-5 receives information from the buffer capacity detection section 1-4-2 that there is no remaining buffer capacity and issues an operation command to the disk input/output section 1-3.

以上がバッファ管理部の各機能であるが、当部全体での
制御の情報を管理するために、第5図で示すようなバッ
ファ管理テーブルを設ける。このバッファ管理テーブル
(配列名:BUFMNG。
The functions of the buffer management section have been described above, and a buffer management table as shown in FIG. 5 is provided in order to manage control information for the entire section. This buffer management table (array name: BUFMNG.

大きさ:ディスクの数×12の2次元配列)は、各ディ
スクについての以下の情報を持っている。
Size: Two-dimensional array of number of disks x 12) has the following information about each disk.

各項目について説明する。Each item will be explained.

(1)IOPFLGニブログラム上でファイル(ディス
ク)の0PEN(1)、CLO8E(0)のフラグ (2)BUFIN: (そのディスクに対応する)バッ
ファ領域のスタートアドレス(例えば第2図では、bu
f 1−stを指す。) (3)BUFOUT: (そのディスクに対応する)バ
ッファ領域の終了アドレス(例えば第2図では、buf
 1−edを指す。) (4)BUFPTR: (そのディスクに対応する)バ
ッファ領域で現在指しているアドレス(5)BUFST
R: WRITE時→ヘッダあるいは継続キーを埋め込むため
の退避用ア ドレス (動作例で説明水) READ時→WRITE後に他の処理を行ったかどうか
のフラグ (6)NWSTR: WRITE時→継続キーを埋め込んだ場合のカウンター
(*) READ時→現在までに読み込んだワード数 (7)NTOTAL : ルコードのワード数(8)I
RWFLG:READ、WRITE時の状態指定子(*
) (9)NRECBF :バッファ上での現在のレコード
数(=プログラム上でのレコード数)(10)NREC
DK :ディスク上での現在のレコード数 (11)LRECBF :バッファ上での最終レコード
数(=プログラム上での最終レコード数)(12)LR
ECDK :ディスク上での最終レコード数 〔動作例〕 動作例を図を参照しながら以下に示す。
(1) Flags 0PEN (1) and CLO8E (0) of the file (disk) on the IOPFLG nib program (2) BUFIN: Start address of the buffer area (corresponding to that disk) (for example, in Figure 2, BUFIN:
Points to f 1-st. ) (3) BUFOUT: End address of the buffer area (corresponding to that disk) (for example, in Figure 2, buf
1-ed. ) (4) BUFPTR: Address currently pointing in the buffer area (corresponding to that disk) (5) BUFST
R: At the time of WRITE → Save address for embedding a header or continuation key (explained in operation example) At time of READ → Flag indicating whether other processing was performed after WRITE (6) NWSTR: At time of WRITE → Continuation key was embedded Counter (*) When READ → Number of words read so far (7) NTOTAL: Number of words in the code (8) I
RWFLG: READ, WRITE status specifier (*
) (9) NRECBF: Current number of records on the buffer (=number of records on the program) (10) NREC
DK: Current number of records on the disk (11) LRECBF: Last number of records on the buffer (=last number of records on the program) (12) LR
ECDK: Final number of records on disk [Operation example] An operation example is shown below with reference to the diagram.

プログラムとしてはFORTRANを対象とし、FOR
TRANで提供している入出力に関する命令(1)OP
EN、(2)WRITE、(3)READ、(4)BA
CKSPACE、(5)REWIND、(E3)CLO
8E<7)各項目ニラいテ本システムでどのように実現
していくかを順を追って示す。
The program targets FORTRAN, and FOR
Instructions related to input/output provided by TRAN (1) OP
EN, (2) WRITE, (3) READ, (4) BA
CKSPACE, (5) REWIND, (E3) CLO
8E<7) Show step by step how to achieve each item with this system.

(1)OPEN命令 呼び出し形式 CALL 0PEN(LU、l5TAT
)LU:外部装置指定子 l5TAT:入出力状態指定子 0PENサブルーチンはメモリバッファ部1−1、バッ
ファ割り付け/開放部1−4−1から成る。データを格
納する場合、まず装置番号LUを指定して本サブルーチ
ンを呼び出す。本サブルーチンでは、LUに対してディ
スクの割り付けを行うとともに、メインルーチンでメモ
リ上に割り付けられたデータ格納場所・第2図で示され
るTABLE内から、第3図に示されるバッファ管理テ
ーブルBUFSWの情報をもとに空いている領域を見つ
けその領域をデータ格納場所として割り付ける。
(1) OPEN command call format CALL 0PEN (LU, l5TAT
) LU: External device specifier 15TAT: Input/output status specifier 0PEN The subroutine consists of a memory buffer section 1-1 and a buffer allocation/release section 1-4-1. When storing data, first specify the device number LU and call this subroutine. In this subroutine, disks are allocated to LUs, and information from the data storage location allocated on memory in the main routine, TABLE shown in Fig. 2, is stored in the buffer management table BUFSW shown in Fig. 3. Find an empty area based on , and allocate that area as a data storage location.

今、bufferlが選ばれたとすれば、第5図で示さ
れるバッファ管理テーブルBUFMNGのBUFINヘ
スタートアドレスとしてbuff−st 、 BUFO
UTへ終了アドレスとしてbuf 1−edを、また現
在のアドレスとしてスタートアドレスの1つ手前(bu
fl−st−1)の値をBUFPTRへ登録しておく。
Now, if bufferl is selected, buff-st, BUFO are set as the start address for BUFIN in the buffer management table BUFMNG shown in FIG.
Enter buf 1-ed as the end address to the UT, and send one address before the start address (bu
fl-st-1) is registered in BUFPTR.

その他10PFLGなど他の値の初期値をセットする。Others 10 Set initial values of other values such as PFLG.

(2)WRITE命令 呼び出し形式 CALL WRITE(L[I、DAT
E、N1.N2゜EOR、l5TAT) LU:外部装置指定子 DATE:格納するデータ(配列) Nl、N2: DATE(Nl)〜DATE(N2)ま
でを格納する EORニレコード終了キーを登録する・・・1登録しな
い・・・0 ISTAT:入出力状態指定子 WRITEサブルーチンは、メモリバッファ部1−1.
バッファ容量検出部1−4−2.制御情報作成/検出部
1−4−3.バッファ人出方制御部1−4−4.ディス
ク人出方制御部1−4−5から成る。処理の説明は以下
の3つの場合に分けて述べる。
(2) WRITE command call format CALL WRITE(L[I, DAT
E, N1. N2゜EOR, l5TAT) LU: External device specifier DATE: Data to be stored (array) Nl, N2: Register the EOR record end key to store DATE (Nl) to DATE (N2)...1 registration No...0 ISTAT: I/O status specifier The WRITE subroutine writes memory buffer section 1-1.
Buffer capacity detection unit 1-4-2. Control information creation/detection unit 1-4-3. Buffer attendance control unit 1-4-4. It consists of a disk turnout control section 1-4-5. The processing will be explained in the following three cases.

■格納したいデータルコードがバッファ領域内に収まる
場合 ■格納したいデータルコードがバッファ領域内に収まら
ない場合(ページングが発生する場合) ■異なる複数のデータをルコードに収めかっページング
が発生する場合 ■の場合 これは、通常のFORTRANのWRITE命令が以下
の様な場合である。
■When the data code you want to store does not fit within the buffer area.■When the data code you want to store does not fit within the buffer area (when paging occurs).■When paging occurs because you cannot fit multiple different data into the code.■ In this case, the normal FORTRAN WRITE command is as follows.

WRITE(10,l0STAT=ISTAT)(DA
TA(1)、r=1.100)(10番ファイルに書式
無しで配列DATAの1〜100番までを書き込む) 本システムでは以下の形式となる。
WRITE(10,l0STAT=ISTAT)(DA
TA(1), r=1.100) (Write array DATA numbers 1 to 100 without format to file number 10) In this system, the format is as follows.

CALL WRITE(10,DATA、1,100,
1.l5TAT)現在使用しているバッファ領域にDA
TA (1)〜DATA (100)が収まる場合とす
る。
CALL WRITE (10, DATA, 1,100,
1. l5TAT) DA to the buffer area currently in use.
It is assumed that TA (1) to DATA (100) are satisfied.

まず、書き込みたいDATAのワード数は100である
からこれを制御情報として制御情報作成部へ渡し、第4
図で示されるように、バッファ領域上に、バッファ管理
テーブルBUFMNGのBUFPTR(現在のアドレス
)を1進めてヘッダを書込む。この際、事前にバッファ
容量検出部1−4−2でヘッダを書込む容量の残ってい
る事を確認しておく。
First, since the number of words of DATA to be written is 100, this is passed as control information to the control information creation section, and the fourth
As shown in the figure, a header is written on the buffer area by incrementing BUFPTR (current address) of the buffer management table BUFMNG by one. At this time, it is confirmed in advance by the buffer capacity detection unit 1-4-2 that there is remaining capacity for writing the header.

次に、再びバッファ容量検出部1−4−2によりこれか
ら書き込もうとしているデータ100ワードをバッファ
領域内に格納できるかを判断する。そして格納できると
いう情報を受けてバッファ入出力制御部1−4−4は、
バッファ入出力部1−2へDATA(1)〜DATA 
(100)をまとめてバッファ領域上のT A B L
 E(bufn−A)〜TABLE(bufn  A+
100)へ格納するように指示を送る。
Next, the buffer capacity detector 1-4-2 again determines whether the 100 words of data to be written can be stored in the buffer area. Then, upon receiving the information that the data can be stored, the buffer input/output control unit 1-4-4
DATA (1) to DATA to buffer input/output section 1-2
(100) together and T A B L on the buffer area.
E(bufn-A) ~ TABLE(bufn A+
100).

つまり、第6図(A)でNWST=1.NWST=10
0と設定する事により、DATA−TABLEの格納を
、単純なりoループにより行う事ができ、ベクトル計算
機上では特に処理時間の大幅な短縮が可能となる。
That is, in FIG. 6(A), NWST=1. NWST=10
By setting it to 0, the DATA-TABLE can be stored using a simple o-loop, and processing time can be significantly reduced, especially on a vector computer.

最後に、再びバッファ容量検出部1−4−2によりトレ
ーラを書き込める事を確認した後、制御情報作成/検出
部1−4−3によりトレーラをバッファ上に書き込む。
Finally, after confirming again that the trailer can be written by the buffer capacity detection section 1-4-2, the control information creation/detection section 1-4-3 writes the trailer onto the buffer.

ルコード書き込み後にBUFMNGのNRECBF (
現在のレコード数) 、LRECBF (最終レコード
数)を1進める。
NRECBF of BUFMNG (
(current record number) and LRECBF (last record number) are incremented by 1.

以上がWRITElまたデータの受け渡し方向を逆にす
ればREADの場合の基本的な処理方式となる。以降同
様な説明は省略する。
The above is the basic processing method for WRITEl or, if the data transfer direction is reversed, for READ. Similar explanations will be omitted hereafter.

■の場合 これは■の場合でDATAがバッファ領域の1ページ内
に収まらない場合である。この場合、まずバッファ容量
検出部1−4−2で1ページ内に格納できるワード数を
算定し、バッファ入出力制御部1−4−4で第6図(A
)のNWEDにその値を設定しデータの格納を行う。
In the case of (2), this is the case (2) in which DATA does not fit within one page of the buffer area. In this case, the buffer capacity detector 1-4-2 first calculates the number of words that can be stored in one page, and the buffer input/output controller 1-4-4 calculates the number of words that can be stored in one page.
) and stores the data.

次に残りワード数とバッファ領域の大きさbufS2と
の関係からページングの回数を決定し、NWST、NW
EDに値を設定しデータの入出力を行わせる。つまりデ
ータの入出力は単独した形(第6図のDOループの形)
で行えるので、効果的な処理が可能となる。
Next, the number of paging is determined from the relationship between the number of remaining words and the buffer area size bufS2, and NWST, NW
Set a value in ED and input/output data. In other words, data input/output is independent (DO loop shape in Figure 6)
This enables effective processing.

また、ページングの際にはディスク入出力制御部1−4
−5に情報を送り、ディスク入出力部1−3を作動させ
ディスク上のルコードに1ペ一ジ分の内容を格納する。
Also, during paging, the disk input/output control unit 1-4
-5, activates the disk input/output section 1-3, and stores the contents of one page in the code on the disk.

そしてNRECDK。And NRECDK.

LRECDKのカウントアツプを行う。Performs LRECDK count up.

■の場合 これは通常(7)FORTRANのWRITE命令が以
下の様な場合である。
In case (2), this is usually the case where (7) FORTRAN's WRITE command is as follows.

111RITE(10,l0STAT=ISTAT)(
DATA(+)、I:1.3000)。
111RITE(10,l0STAT=ISTAT)(
DATA(+), I:1.3000).

DATA2(1)、I=1.1000)本システムでは
以下の形式をとる。
DATA2(1), I=1.1000) This system takes the following format.

0ALL WRITE(10,DATAI、1,300
0,0.l5TAT)−(1)OALL WRITE(
10,DATA2,1,1000,1.l5TAT) 
・(11)ルコードに複数の変数配列を書き込む場合そ
の数だけWRITEサブルーチンを呼び出し、途中では
引数FORの値を0とする。
0ALL WRITE (10, DATAI, 1,300
0,0. l5TAT) - (1) OALL WRITE (
10, DATA2, 1, 1000, 1. l5TAT)
- (11) When writing multiple variable arrays to the code, call the WRITE subroutine for the number of variables, and set the value of the argument FOR to 0 during the process.

ココテはルコードの内容をバッファ1ページ内に格納で
きない場合について説明する。この場合のバッファの状
況を第7図に示す。
Kokote will explain the case where the contents of the code cannot be stored within one page of the buffer. The buffer situation in this case is shown in FIG.

まず(1)のWRITE命令時にはルコードの総ワード
数は不明である。よってヘッダにはまだ何も埋めずポイ
ンタだけ進めそのポインタをバッファ管理テーブルBU
FMNGのBUFSTRに退避しておく。そしてDAT
AIのワード数とバッファの残り容量との関係からペー
ジングする事がわかった時点でヘッダの位置に(TAB
LE(BUFSTR)に継続する意味で)第7図のよう
な値を書き込む。
First, at the time of the WRITE command (1), the total number of words in the code is unknown. Therefore, without filling anything in the header yet, only advance the pointer and move that pointer to the buffer management table BU.
Save it to FMNG's BUFSTR. and D.A.T.
When it is determined that paging will be performed based on the relationship between the number of AI words and the remaining capacity of the buffer, the header position (TAB
LE (in the sense of continuing to BUFSTR)) write a value as shown in Figure 7.

ここで、もしDATA1書き込み時にページングが起こ
らなければ、ヘッダは書き込まずにおきDATA2書き
込み時にヘッダに書き込む処理をすれば良い。そのため
にヘッダのポインタをBUFSTRに退避しておく。
Here, if paging does not occur when writing DATA1, the header may be left unwritten and the header may be written when writing DATA2. For this purpose, the header pointer is saved in BUFSTR.

次に2ページ目であるが、バッファの残り容量との関係
からここでもページングが発生する。そこでバッファの
先頭に継続キー1を書き込み、継続キーカウンタである
BUFMNGのNWSTRをカウントアツプする。
Next is the second page, but paging occurs here as well due to the relationship with the remaining capacity of the buffer. Therefore, continuation key 1 is written at the beginning of the buffer, and NWSTR of BUFMNG, which is a continuation key counter, is counted up.

3ページ目に入った時点でDATAlの書き込みは終了
となるが、総ワード数はまだわからないのでバッファの
先頭ポインタをBUFSTRに退避しておき、継続キー
を入れる領域を確保しておく。この際NWSTRのカウ
ントアツプも行う。
Writing of DATA1 ends when the third page is entered, but since the total number of words is not yet known, the buffer head pointer is saved in BUFSTR to secure an area for storing the continuation key. At this time, NWSTR is also counted up.

またDATAlのワード数をNTOTALに格納してお
き、IRWFLGにEOR=0である事を示すフラグを
立てる。このフラグはエラー処理等例外処理発生時の指
標となるフラグである。
Also, the number of words of DATA1 is stored in NTOTAL, and a flag indicating that EOR=0 is set in IRWFLG. This flag is a flag that serves as an index when exception processing such as error processing occurs.

次に(11)のWRITE命令の引数EOR=1である
ので、総ワード数が判明する。よってDATA2のワー
ド数をNTOTALに加え、退避しておいたアドレスへ
継続キー2を書き込む。このキー2は■、■の場合と同
じくワード数を埋め込んだものとなる。
Next, since the argument EOR of the WRITE command in (11) is 1, the total number of words is known. Therefore, the number of words of DATA2 is added to NTOTAL, and the continuation key 2 is written to the saved address. This key 2 has the number of words embedded in it, as in the case of ■ and ■.

後の処理は■の場合と同様にして行い、4ページ目にト
レーラを書き込む。ただしこのトレーラには、ヘッダか
らトレーラまでのデータの格納されるべき領域に、デー
タ以外の値すなわち継続キーが何個あるかを明確にする
ために(NTOTAL+NWSTR)の値を総ワード数
として埋め込む0 以上がWRITE処理の説明である。
The subsequent processing is performed in the same manner as in case ①, and a trailer is written on the fourth page. However, in order to clarify how many values other than data, that is, continuation keys, are present in the area where the data from the header to the trailer should be stored, the value (NTOTAL + NWSTR) is embedded as the total number of words. The above is the explanation of the WRITE process.

(3)READ命令 呼び出し形式 CALL READ(LU、DATE、
Nl、N2゜EOR、l5TAT ) LU:外部装置指定子 DATE :読み込むデータ(配列) Nl、N2: DATE(旧)〜DATE(N2)まで
読み込むEOR:前記範囲を読み込み後ポインタをレコ
ード終了キーまで進める・・・1 進めない・・・0 ISTAT:入出力状態指定子 READサブルーチンは、メモリバッファ部1−1.バ
ッファ容量検出部1−4−2.制御情報作成/検出部1
−4−3.バッファ入出力制御部1−4−4.ディスク
入出力制御部1−4−5から成る。
(3) READ command call format CALL READ (LU, DATE,
Nl, N2゜EOR, l5TAT) LU: External device specifier DATE: Data to be read (array) Nl, N2: Read from DATE (old) to DATE (N2) EOR: After reading the above range, advance the pointer to the record end key ...1 Cannot proceed...0 ISTAT: Input/output status specifier The READ subroutine stores memory buffer section 1-1. Buffer capacity detection unit 1-4-2. Control information creation/detection unit 1
-4-3. Buffer input/output control unit 1-4-4. It consists of a disk input/output control section 1-4-5.

READ処理はデータの流れがバッファ→メモリとWR
ITE処理と反対となる事に関連した変更点を除いて基
本的にはWRITE処理と同じである。つまり、バッフ
ァ容量検出部1−4−2でヘッダがバッファ領域に残っ
ている事を判断した後、制御情報作成/@出部1−4−
3でヘッダからルコードのワード数を読み込む。再びバ
ッファ容量検出部1−4−2で読み込むべきワード数と
バッファ領域の残り容量とを算出した後、1ページ内で
読み込めればその値をバッファ入出力制御部1−4−4
へ渡し、第6図(B)のNWEDにワード数を設定する
In READ processing, the data flow is from buffer to memory and WR.
It is basically the same as the WRITE process, except for the changes related to being the opposite of the ITE process. In other words, after the buffer capacity detection unit 1-4-2 determines that the header remains in the buffer area, the control information creation/@output unit 1-4-
Step 3 reads the number of words in the code from the header. After calculating the number of words to be read and the remaining capacity of the buffer area again in the buffer capacity detection unit 1-4-2, if it can be read within one page, the value is sent to the buffer input/output control unit 1-4-4.
and set the number of words in NWED in FIG. 6(B).

1ページで読み込めなければ、1ページの最終まで読み
込んだ後、残りワード数とバッファ領域の大きさとから
ページングの繰り返し数を算出し、NWST、NWED
に値を設定し必要数データの入力を行う。そしてページ
ングの際にはディスク入出力制御部1−4−5がディス
ク入出力部1−3へ指令を出し、ディスクからルコード
読み込みバッファ上に展開するといった内容である。
If it cannot be read in one page, after reading to the end of one page, calculate the number of paging repetitions from the number of remaining words and the size of the buffer area, and then use NWST and NWED.
Set the value and enter the required number of data. During paging, the disk input/output control section 1-4-5 issues a command to the disk input/output section 1-3 to read data from the disk and expand it onto the code read buffer.

ここでEORの値による処理の違いについて説明する。Here, differences in processing depending on the EOR value will be explained.

READ時には、WRITE時にルコードに書き込んだ
ワード数と同しワード数を読み込むとは限らない。RE
AD時に要求するワード数の方が書き込んだワード数よ
り大きい場合は当然、エラーと判定されるであるが、利
用者の希望により少ないワード数を設定する場合がある
。この際、処理終了時にポインタをレコードの終了まで
進めるかそのままにしておくかを指示する引数がFOR
である。
At the time of READ, the same number of words is not necessarily read as the number of words written to the code at the time of WRITE. R.E.
If the number of words requested during AD is greater than the number of words written, it is naturally determined that an error has occurred, but a smaller number of words may be set at the user's request. At this time, the argument FOR indicates whether to advance the pointer to the end of the record or leave it as is at the end of processing.
It is.

EOR=1の場合は、次の様に処理する。READ命令
時に指示されたワード数を読み込んだ後、ヘッダに記録
されていたワード数(NTOTAL)から現在までに読
み込んだワード数NWSTRを減算し、トレーラまで読
み進めるワード数を算出する。後は、このワード数とバ
ッファ容量検出部1−4−2で算出された残り容量との
情報からバッファ入出力制御部1−4−4においてポイ
ンタの進め作業を行う。
When EOR=1, the following processing is performed. After reading the number of words specified at the time of the READ command, the number of words read so far NWSTR is subtracted from the number of words (NTOTAL) recorded in the header to calculate the number of words to be read to the trailer. Thereafter, the buffer input/output control section 1-4-4 advances the pointer based on the information on the number of words and the remaining capacity calculated by the buffer capacity detection section 1-4-2.

FOR=Oの場合、これは(2)の■に対応して以下の
形式が考えられる。
When FOR=O, the following format can be considered corresponding to (2) (2).

CALL READ(10,DATA、I、3000,
0.l5TAT)・・・(I)CALL READ(1
0,DATA、1,1000,0.l5TAT)  ・
・・(ji)第7図を参照して説明する。まず(1)の
時点でヘッダを読み込んだ際、ヘッダで指定されるワー
ド数が0となっているため継続キーとなっている事がわ
かる。よって指定ワード数3000を読む際にページン
グが発生した時点で継続キーを読み飛ばすようにして、
ページングの回数を算出し、データ入出力部においてデ
ータの読み込みを行う。
CALL READ(10, DATA, I, 3000,
0. l5TAT)...(I) CALL READ(1
0, DATA, 1,1000, 0. l5TAT) ・
(ji) This will be explained with reference to FIG. 7. First, when reading the header at point (1), the number of words specified in the header is 0, so it can be seen that it is a continuation key. Therefore, when paging occurs when reading the specified word count of 3000, the continuation key is skipped.
The number of paging is calculated and the data is read in the data input/output section.

3ページ目において継続キー2を読み込む時点で総ワー
ド数が判明するためNTOTALに格納しておく。DA
TA1読み込み終了後FOR=0のためポインタはその
ままにしておく。次に(11)命令時にNTOTALの
値をもとにDATA2を読み込む・・・・・・といった
処理の流れとなる。
Since the total number of words is known when the continuation key 2 is read on the third page, it is stored in NTOTAL. D.A.
After reading TA1, FOR=0, so leave the pointer as it is. Next, (11) DATA2 is read based on the value of NTOTAL at the time of an instruction, and so on.

以上がREAD処理の説明である。The above is the explanation of the READ process.

(4)BACKSPACE命令 呼び出し形式 CALL BACKSP(LU、l5T
AT)LU:外部装置指定子 l5TAT:入出力状態指定子 BACKSPサブルーチンは、メモリバッファ部1−1
.バッファ容量検出部1−4−2.制御情報作成/検出
部1−4−3.バッファ入出力制御部1−4−4.ディ
スク入出力制御部1−4−5から成る。
(4) BACKSPACE command call format CALL BACKSP(LU, l5T
AT) LU: External device specifier l5 TAT: Input/output status specifier BACKSP subroutine uses memory buffer unit 1-1.
.. Buffer capacity detection unit 1-4-2. Control information creation/detection unit 1-4-3. Buffer input/output control unit 1-4-4. It consists of a disk input/output control section 1-4-5.

BACKSP処理はルコード前にポインタを進める作業
を行う。制御情報作成/検出部1−4−3によりトレー
ラからルコードのワード数を検出し、バッファ容量検出
部1−4−2の情報をもとにポインタをルコード前のト
レーラまで戻す。
The BACKSP process advances the pointer before the code. The control information creation/detection section 1-4-3 detects the number of words of the code from the trailer, and returns the pointer to the trailer before the code based on the information from the buffer capacity detection section 1-4-2.

この際1ページ内の先頭の越える場合は、何ページ戻る
かの計算を行い、ディスク入出力制御部1−4−5に対
してBUFMNGのNRECBF、NRECDKの値を
設定し直す。
At this time, if the beginning of one page is exceeded, the number of pages to return to is calculated and the values of NRECBF and NRECDK of BUFMNG are reset for the disk input/output control unit 1-4-5.

(5)REWIND命令 呼び出し形式 CALL RIJIND(LU、l5T
AT)LU:外部装置指定子 l5TAT:入出力状態指定子 REWINDサブルーチンは、メモリバッファ部1−1
.バッファ入出力制御部1−4−4゜ディスク入出力制
御部1−4−5から成る。
(5) REWIND command call format CALL RIJIND (LU, l5T
AT) LU: External device specifier 15 TAT: Input/output status specifier The REWIND subroutine uses memory buffer section 1-1.
.. It consists of a buffer input/output control section 1-4-4 and a disk input/output control section 1-4-5.

REWIND処理はBEFMNGのNRECBF (現
在のレコード数)、NRECDK  (現在のディスク
のレコード数)をもとに処理を行う。
The REWIND process is performed based on NRECBF (current number of records) and NRECDK (current number of records on the disk) of BEFMNG.

ディスク入出力制御部1−4−5においてディスクに対
してFORTRANで提供される通常のREWIND処
理を行い、バッファ入出力部1−2においてバッファ上
にディスクの先頭レコードの内容を展開する。そして現
在ポインタを初期状態に戻す。
The disk input/output control unit 1-4-5 performs normal REWIND processing provided by FORTRAN on the disk, and the buffer input/output unit 1-2 expands the contents of the first record of the disk onto the buffer. Then, the current pointer is returned to its initial state.

(6)CLO8E命令 呼び出し形式 0ALL CLOSE(LU、l5TA
T)LU:外部装置指定子 l5TAT:入出力状態指定子 CLO8Eサブルーチンは、メモリバツフア部1−1.
バツフア割り付け/開放部1−4−1から成る。
(6) CLO8E instruction call format 0ALL CLOSE (LU, l5TA
T) LU: External device specifier l5 TAT: Input/output status specifier CLO8E subroutine is the memory buffer section 1-1.
It consists of a buffer allocation/opening section 1-4-1.

CLO8E命令により、ディスクの開放を行うとともに
、BUFMNGを初期状態(LRECBF、LRECD
Kの最終レコード数に対しての情報は保持しておく)に
戻す。さらにバッファ領域管理テーブルBUFSWのそ
のディスクに対応する領域のスイッチを0に戻し、バッ
ファ領域の開放を行う。
The CLO8E command releases the disk and sets BUFMNG to its initial state (LRECBF, LRECD).
The information regarding the final record number of K is retained). Furthermore, the switch of the area corresponding to the disk in the buffer area management table BUFSW is returned to 0, and the buffer area is released.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明は、主記憶装置と外部記憶装
置との間で行われるデータ入出力方式において、「読み
込み」、「書き出し」の命令を主記憶上に大きく取られ
たメモリバッファ上で行う事により、「主記憶装置から
指定されたデータを取り出し、主記憶装置の指定された
箇所へデータを書き込む」、「主記憶装置から指定され
たデータを取り出し、主記憶装置装置の指定された箇所
へデータを書き出す」といった処理を行う事になるため
、入出力処理の大部分を主記憶上で行う事ができる。よ
ってプログラムの実行を遅延させる要因が無くなる。さ
らにメモリバッファが一杯になった時点でまとめて外部
記憶装置と入出力を行うため、O8に合わせた効率的な
大きさで入出力を行う事が可能となる。
As explained above, in a data input/output method performed between a main memory device and an external storage device, the present invention allows "read" and "write" commands to be sent on a large memory buffer in the main memory. "Retrieve the specified data from the main memory and write the data to the specified location in the main memory" or "Retrieve the specified data from the main memory and write the data to the specified location in the main memory." Most of the input/output processing can be performed in the main memory. Therefore, there is no need to delay program execution. Furthermore, since input/output to/from the external storage device is performed all at once when the memory buffer becomes full, it is possible to perform input/output at an efficient size suitable for O8.

以上の事からプログラムの総実行時間を大幅に短縮でき
るという効果がある。
As a result of the above, there is an effect that the total program execution time can be significantly shortened.

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

第1図は本発明の一実施例の機能構成図、第2図はメモ
リバッファ部とディスクとの関係図、第3図はバッファ
領域管理テーブル構成図、第4図はバッファ領域詳細図
、第5図はバッファ領域管理テーブル構成図、第6図は
Doループ形のプログラム例を示す図、第7図はページ
ングが発生する場合のバッファ領域の構成図である。 1−1・・・メモリバッファ部1−1.1−2・・・バ
ッファ入出力部、1−3・・・ディスク入出力部、1−
4・・・バッファ管理部、1−4−2・・・バッファ容
量検出部、1−4−3・・・制御情報作成/検出部、1
−4−4・・・バッファ入出力制御部、1−4−5・・
・ディスク入出力制御部。
FIG. 1 is a functional configuration diagram of an embodiment of the present invention, FIG. 2 is a relationship diagram between a memory buffer section and a disk, FIG. 3 is a configuration diagram of a buffer area management table, FIG. 4 is a detailed diagram of the buffer area, and FIG. FIG. 5 is a configuration diagram of a buffer area management table, FIG. 6 is a diagram showing an example of a Do loop type program, and FIG. 7 is a configuration diagram of a buffer area when paging occurs. 1-1...Memory buffer unit 1-1.1-2...Buffer input/output unit, 1-3...Disk input/output unit, 1-
4... Buffer management section, 1-4-2... Buffer capacity detection section, 1-4-3... Control information creation/detection section, 1
-4-4...Buffer input/output control unit, 1-4-5...
-Disk input/output control unit.

Claims (1)

【特許請求の範囲】 主記憶装置と外部記憶装置との間でデータの受け渡しを
行うデータ入出力方式において、 主記憶をある決まった大きさの領域に区切りその領域を
仮想的にファイルと見立てデータを格納するためのメモ
リバッファ部と、 メモリバッファ部とプログラム間でデータの入出力を行
うためのバッファ入出力部と、 メモリバッファ部が埋まった時点で、外部記憶装置とメ
モリバッファ部の退避、復元を行うためのディスク入出
力部と、 データの流れを制御するためにバッファ割り付け/開放
部、バッファ容量検出部、制御情報作成/検出部、バッ
ファ入出力制御部およびディスク入出力制御部から成る
バッファ管理部とを有するデータ入出力方式。
[Claims] In a data input/output method that transfers data between a main storage device and an external storage device, the main storage is divided into areas of a certain size, and each area is virtually treated as a file for data. a memory buffer section for storing data; a buffer input/output section for inputting and outputting data between the memory buffer section and the program; and a buffer input/output section for inputting and outputting data between the memory buffer section and the program. Consists of a disk input/output unit for restoration, a buffer allocation/release unit, a buffer capacity detection unit, a control information creation/detection unit, a buffer input/output control unit, and a disk input/output control unit to control data flow. A data input/output method that includes a buffer management section.
JP2222950A 1990-08-24 1990-08-24 Data input/output system Pending JPH04105117A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2222950A JPH04105117A (en) 1990-08-24 1990-08-24 Data input/output system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2222950A JPH04105117A (en) 1990-08-24 1990-08-24 Data input/output system

Publications (1)

Publication Number Publication Date
JPH04105117A true JPH04105117A (en) 1992-04-07

Family

ID=16790419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2222950A Pending JPH04105117A (en) 1990-08-24 1990-08-24 Data input/output system

Country Status (1)

Country Link
JP (1) JPH04105117A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103126A (en) * 1992-08-03 1994-04-15 Internatl Business Mach Corp <Ibm> Device and method for dynamic buffer control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103126A (en) * 1992-08-03 1994-04-15 Internatl Business Mach Corp <Ibm> Device and method for dynamic buffer control

Similar Documents

Publication Publication Date Title
US7227788B2 (en) Memory management device and memory device
JP3485938B2 (en) Nonvolatile semiconductor memory device
JP3330187B2 (en) Memory card
CN1658171B (en) Faster write operations to nonvolatile memory by manipulation of frequently accessed sectors
JPWO2005029311A1 (en) Semiconductor memory card, semiconductor memory control device, and semiconductor memory control method
US6779045B2 (en) System and apparatus for increasing the number of operations per transmission for a media management system
EP0544252A2 (en) Data management system for programming-limited type semiconductor memory and IC memory card having the data management system
EP2306321A1 (en) Increasing memory performance in flash memory devices by performing simultaneous write operation to multiple devices
US20060129749A1 (en) Nonvolatile memory system, nonvolatile memory device, memory controller, access device, and method for controlling nonvolatile memory device
JP4415356B2 (en) Double journaling storage method and storage medium thereof
JP2005182793A5 (en)
US5835939A (en) Data transfer control method and apparatus for external storage subsystem adapted to perform erasing after writing
JP3992960B2 (en) Recording apparatus and program
EP0649095A2 (en) Nonvolatile storage with high speed data access
JP3471842B2 (en) Data management device, data storage device, and data management method
JPH07210468A (en) Semiconductor auxiliary memory
JPH04105117A (en) Data input/output system
JP2000285017A (en) Storage
EP0539966A2 (en) A magneto-optical disc control system and method
JPH05258585A (en) Filing device
JP2681986B2 (en) Computer system
JP2785451B2 (en) Storage control method and device
JPH0764831A (en) Data storage device
JPS63239521A (en) Data processing system for magnetic tape device
JP2573579B2 (en) File operating device for multiple file / volume type magnetic tape