JPH04105117A - データ入出力方式 - Google Patents

データ入出力方式

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
English (en)
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/ja
Publication of JPH04105117A publication Critical patent/JPH04105117A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータ入出力方式、特に主記憶装置と外部記憶
装置との間で大量のデータの入出力を行うデータ入出力
方式に関する。
〔従来の技術〕
従来、この種のデータ入出力は、O8で提供される「読
み込み」、「書き出し」の命令をそのまま用いてきた。
その入力方式は、プログラムから「読み込み」あるいは
「書き出し」の命令が指示される都度、主記憶と外部記
憶装置との間でデータの受け渡しを行うというものであ
った。
〔発明が解決しようとする課題〕
上述した従来のデータ入出力方式では、「読み込み」、
「書き出し」の命令が呼ばれる度に、「外部記憶装置か
ら指定されたデータを取り出し、主記憶装置の指定され
た箇所へデータを書き込む」、「主記憶装置から指定さ
れたデータを取り出し、外部記憶装置の指定された箇所
へデータを書き出す」といった処理を行うために、主記
憶装置へのアクセス、外部記憶装置へのアクセスが頻繁
に発生し、プログラムの実行を遅延させ、さらに主記憶
装置と外部記憶装置との入出力時間は、主記憶同志の入
出力時間に比べてはるかに長い時間がかかるため、プロ
グラムの実行時間を長(してしまう欠点がある。
〔課題を解決するための手段〕
本発明の方式は、主記憶装置と外部記憶装置との間でデ
ータの受け渡しを行うデータ入出力方式において、主記
憶をある決まった大きさの領域に区切りその領域を仮想
的にファイルと見立てデータを格納するためのメモリバ
ッファ部と、そのメモリバッファ部とプログラム間でデ
ータの入出力を行うためのバッファ入出力部と、メモリ
バッファ部が埋まった時点で、外部記憶装置とメモリバ
ッファ部の退避、復元を行うためのディスク入出力部と
、データの流れを制御するためにバッファ割り付け/開
放部、バッファ容量検出部、制御情報作成/検出部、バ
ッファ入出力制御部およびディスク入出力制御部から成
るバッファ管理部とを有している。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例のブロック図である。
本実施例は、主記憶(以下、メモリと書く)をある決ま
った大きさの領域に区切り、その領域を仮想的にファイ
ルと見立てデータを格納するためのメモリバッファ部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から構成されている。
〔各部の機能〕
メモリバッファ部1−1はメモリを仮想的なファイルと
見立ててデータを格納していく場所である。第2図に示
すように、メモリバッファ部1−1はプログラム実行時
にメモリ上に動的に割り付けられたある大きな配列(例
えば配列名:TABLE、配列の大きさ:メモリサイズ
)からなる。そして、この配列はプログラム上で使用さ
れるディスクに対応して、ある一定の大きさ(今、これ
をbufszとする)で各々分割された複数の領域の集
合として使用される。
バッファ入出力部1−2は、「読み込み」あるいは「書
き出し」 (以降、READ、WRITEと呼ぶ)命令
時に指定された変数あるいは配列等メモリ上の格納場所
と、指定されたディスクに対応するメモリバッファ部1
−1内のあるバッファ領域(バッファ1.バッファ2・
・・)との間でデータの入出力を行う。つまり、データ
の入出力はメモリ←メモリで行われ極めて短時間で処理
される。
ディスク入出力部1−3は、バ・ソファ入出力部1−2
で使用していた、あるディスクに対応するバッファがW
RITE時には−・杯に、READ時にはバッファ上の
データを全て読み込んだ場合に、このバッファ領域を全
て指定されたディスクへWRITEあるいはREAD 
(この場合のREAD/WRITEはO8で提供されて
いる通常の実行形式)する。この処理をページングと呼
ぶ。
バッファ上の全データはディスク上のルコードに相当し
、このレコード長が前述したbufszと同等の長さと
なる。つまり、入出力時間のかかるメモリ←ディスク間
のデータの入出力をまとめて行う事によりプログラムの
実行効率を上げる事ができる。例えばディスクへのWR
ITEを非同期出力で行う事によりプログラムのTAT
をさらに短縮する事ができる。さらに、バッファ領域の
大きさ=ディスクのルコードの大きさであるbufsz
をO8に合わせた最適な大きさに取る事により、極めて
効率的なディスクとの入出力が可能となる。
バッファ管理部1−4は上述した一連のデータの受け渡
しを制御し、メモリバッファ部1−1の管理を司る。バ
ッファ管理部1−4は以下5つの部分から成る。
バッファ割り付け/開放部1−4−1は、プログラム上
でディスクの割り付け、開放が命令される都度、メモリ
バッファ部1−1にそのディスクに対応するバッファ領
域の割り付け、開放を行う。
これらの操作は第3図で示すようなバッファ領域管理テ
ーブル(配列名: BUFSW、配列の大きさ:n)に
基づいて行われる。
すなわち、バッファ領域が割り付けられると、それに対
応してBUFSWに順次、バッファ使用中の意味でフラ
グ1を立てる。そして開放された時点で対応するBUF
SWの値を0にする。以降、バッファ領域割り付は時は
BUFSWのフラグ0に対応する領域に新たにバッファ
領域を割り付ける事によりメモリを無駄なく使用できる
バッファ容量検出部1−4−2は、後述する制御情報作
成/検出部1−4−3およびバッファ入出力制御部1’
−4−4の作動前にバッファ領域の残り容量をチエツク
し、その情報をバッファ入出力側a部1−4−4および
ディスク入出力制御部1−4−5へ渡す。
制御情報作成/検出部1−4−3は、バッファ入出力時
に1回で処理するデータの個数、つまりプログラム上で
データをWRITE/READする際のルコードのワー
ド数を制御情報としてバッファ上のデータの先頭と後尾
に付加あるいはそれらの位置からの読み取りを行う。こ
の値は他の通常のデータの値と区別するために特殊なキ
ーワードを先頭数ビットに施している。
第4図(A)にバッファ領域の詳細図を示す。
この制御情報をヘッダ、トレーラと呼ぶ。ヘッダおよび
トレーラは第4図(B)に示される構成となる。つまり
、バッファ領域を1ワード32ビツトとした場合、上位
2バイトにF(181を入れ識別キーとし、下位2バイ
トにワード数を入れる。
バッファ入出力制御部1−4−4は、バッファ容量検出
部1−4−2の情報と制御情報作成/検出部1−4−3
から得られたデータルコードのワード数をもとに、効率
的なバッファ入出力の方法を選定し、バッファ人出方部
1−2へ指令を渡す。処理の詳細については動作例の項
で述べる。
ディスク入出力制御部1−4−5は、バッファ容量検出
部1−4−2からバッファの残り容量が無くなったとい
う情報を受けてディスク入出力部1−3へ作動の命令を
出す。
以上がバッファ管理部の各機能であるが、当部全体での
制御の情報を管理するために、第5図で示すようなバッ
ファ管理テーブルを設ける。このバッファ管理テーブル
(配列名:BUFMNG。
大きさ:ディスクの数×12の2次元配列)は、各ディ
スクについての以下の情報を持っている。
各項目について説明する。
(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 :ディスク上での最終レコード数 〔動作例〕 動作例を図を参照しながら以下に示す。
プログラムとしてはFORTRANを対象とし、FOR
TRANで提供している入出力に関する命令(1)OP
EN、(2)WRITE、(3)READ、(4)BA
CKSPACE、(5)REWIND、(E3)CLO
8E<7)各項目ニラいテ本システムでどのように実現
していくかを順を追って示す。
(1)OPEN命令 呼び出し形式 CALL 0PEN(LU、l5TAT
)LU:外部装置指定子 l5TAT:入出力状態指定子 0PENサブルーチンはメモリバッファ部1−1、バッ
ファ割り付け/開放部1−4−1から成る。データを格
納する場合、まず装置番号LUを指定して本サブルーチ
ンを呼び出す。本サブルーチンでは、LUに対してディ
スクの割り付けを行うとともに、メインルーチンでメモ
リ上に割り付けられたデータ格納場所・第2図で示され
るTABLE内から、第3図に示されるバッファ管理テ
ーブルBUFSWの情報をもとに空いている領域を見つ
けその領域をデータ格納場所として割り付ける。
今、bufferlが選ばれたとすれば、第5図で示さ
れるバッファ管理テーブルBUFMNGのBUFINヘ
スタートアドレスとしてbuff−st 、 BUFO
UTへ終了アドレスとしてbuf 1−edを、また現
在のアドレスとしてスタートアドレスの1つ手前(bu
fl−st−1)の値をBUFPTRへ登録しておく。
その他10PFLGなど他の値の初期値をセットする。
(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つの場合に分けて述べる。
■格納したいデータルコードがバッファ領域内に収まる
場合 ■格納したいデータルコードがバッファ領域内に収まら
ない場合(ページングが発生する場合) ■異なる複数のデータをルコードに収めかっページング
が発生する場合 ■の場合 これは、通常のFORTRANのWRITE命令が以下
の様な場合である。
WRITE(10,l0STAT=ISTAT)(DA
TA(1)、r=1.100)(10番ファイルに書式
無しで配列DATAの1〜100番までを書き込む) 本システムでは以下の形式となる。
CALL WRITE(10,DATA、1,100,
1.l5TAT)現在使用しているバッファ領域にDA
TA (1)〜DATA (100)が収まる場合とす
る。
まず、書き込みたいDATAのワード数は100である
からこれを制御情報として制御情報作成部へ渡し、第4
図で示されるように、バッファ領域上に、バッファ管理
テーブルBUFMNGのBUFPTR(現在のアドレス
)を1進めてヘッダを書込む。この際、事前にバッファ
容量検出部1−4−2でヘッダを書込む容量の残ってい
る事を確認しておく。
次に、再びバッファ容量検出部1−4−2によりこれか
ら書き込もうとしているデータ100ワードをバッファ
領域内に格納できるかを判断する。そして格納できると
いう情報を受けてバッファ入出力制御部1−4−4は、
バッファ入出力部1−2へDATA(1)〜DATA 
(100)をまとめてバッファ領域上のT A B L
 E(bufn−A)〜TABLE(bufn  A+
100)へ格納するように指示を送る。
つまり、第6図(A)でNWST=1.NWST=10
0と設定する事により、DATA−TABLEの格納を
、単純なりoループにより行う事ができ、ベクトル計算
機上では特に処理時間の大幅な短縮が可能となる。
最後に、再びバッファ容量検出部1−4−2によりトレ
ーラを書き込める事を確認した後、制御情報作成/検出
部1−4−3によりトレーラをバッファ上に書き込む。
ルコード書き込み後にBUFMNGのNRECBF (
現在のレコード数) 、LRECBF (最終レコード
数)を1進める。
以上がWRITElまたデータの受け渡し方向を逆にす
ればREADの場合の基本的な処理方式となる。以降同
様な説明は省略する。
■の場合 これは■の場合でDATAがバッファ領域の1ページ内
に収まらない場合である。この場合、まずバッファ容量
検出部1−4−2で1ページ内に格納できるワード数を
算定し、バッファ入出力制御部1−4−4で第6図(A
)のNWEDにその値を設定しデータの格納を行う。
次に残りワード数とバッファ領域の大きさbufS2と
の関係からページングの回数を決定し、NWST、NW
EDに値を設定しデータの入出力を行わせる。つまりデ
ータの入出力は単独した形(第6図のDOループの形)
で行えるので、効果的な処理が可能となる。
また、ページングの際にはディスク入出力制御部1−4
−5に情報を送り、ディスク入出力部1−3を作動させ
ディスク上のルコードに1ペ一ジ分の内容を格納する。
そしてNRECDK。
LRECDKのカウントアツプを行う。
■の場合 これは通常(7)FORTRANのWRITE命令が以
下の様な場合である。
111RITE(10,l0STAT=ISTAT)(
DATA(+)、I:1.3000)。
DATA2(1)、I=1.1000)本システムでは
以下の形式をとる。
0ALL WRITE(10,DATAI、1,300
0,0.l5TAT)−(1)OALL WRITE(
10,DATA2,1,1000,1.l5TAT) 
・(11)ルコードに複数の変数配列を書き込む場合そ
の数だけWRITEサブルーチンを呼び出し、途中では
引数FORの値を0とする。
ココテはルコードの内容をバッファ1ページ内に格納で
きない場合について説明する。この場合のバッファの状
況を第7図に示す。
まず(1)のWRITE命令時にはルコードの総ワード
数は不明である。よってヘッダにはまだ何も埋めずポイ
ンタだけ進めそのポインタをバッファ管理テーブルBU
FMNGのBUFSTRに退避しておく。そしてDAT
AIのワード数とバッファの残り容量との関係からペー
ジングする事がわかった時点でヘッダの位置に(TAB
LE(BUFSTR)に継続する意味で)第7図のよう
な値を書き込む。
ここで、もしDATA1書き込み時にページングが起こ
らなければ、ヘッダは書き込まずにおきDATA2書き
込み時にヘッダに書き込む処理をすれば良い。そのため
にヘッダのポインタをBUFSTRに退避しておく。
次に2ページ目であるが、バッファの残り容量との関係
からここでもページングが発生する。そこでバッファの
先頭に継続キー1を書き込み、継続キーカウンタである
BUFMNGのNWSTRをカウントアツプする。
3ページ目に入った時点でDATAlの書き込みは終了
となるが、総ワード数はまだわからないのでバッファの
先頭ポインタをBUFSTRに退避しておき、継続キー
を入れる領域を確保しておく。この際NWSTRのカウ
ントアツプも行う。
またDATAlのワード数をNTOTALに格納してお
き、IRWFLGにEOR=0である事を示すフラグを
立てる。このフラグはエラー処理等例外処理発生時の指
標となるフラグである。
次に(11)のWRITE命令の引数EOR=1である
ので、総ワード数が判明する。よってDATA2のワー
ド数をNTOTALに加え、退避しておいたアドレスへ
継続キー2を書き込む。このキー2は■、■の場合と同
じくワード数を埋め込んだものとなる。
後の処理は■の場合と同様にして行い、4ページ目にト
レーラを書き込む。ただしこのトレーラには、ヘッダか
らトレーラまでのデータの格納されるべき領域に、デー
タ以外の値すなわち継続キーが何個あるかを明確にする
ために(NTOTAL+NWSTR)の値を総ワード数
として埋め込む0 以上がWRITE処理の説明である。
(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から成る。
READ処理はデータの流れがバッファ→メモリとWR
ITE処理と反対となる事に関連した変更点を除いて基
本的にはWRITE処理と同じである。つまり、バッフ
ァ容量検出部1−4−2でヘッダがバッファ領域に残っ
ている事を判断した後、制御情報作成/@出部1−4−
3でヘッダからルコードのワード数を読み込む。再びバ
ッファ容量検出部1−4−2で読み込むべきワード数と
バッファ領域の残り容量とを算出した後、1ページ内で
読み込めればその値をバッファ入出力制御部1−4−4
へ渡し、第6図(B)のNWEDにワード数を設定する
1ページで読み込めなければ、1ページの最終まで読み
込んだ後、残りワード数とバッファ領域の大きさとから
ページングの繰り返し数を算出し、NWST、NWED
に値を設定し必要数データの入力を行う。そしてページ
ングの際にはディスク入出力制御部1−4−5がディス
ク入出力部1−3へ指令を出し、ディスクからルコード
読み込みバッファ上に展開するといった内容である。
ここでEORの値による処理の違いについて説明する。
READ時には、WRITE時にルコードに書き込んだ
ワード数と同しワード数を読み込むとは限らない。RE
AD時に要求するワード数の方が書き込んだワード数よ
り大きい場合は当然、エラーと判定されるであるが、利
用者の希望により少ないワード数を設定する場合がある
。この際、処理終了時にポインタをレコードの終了まで
進めるかそのままにしておくかを指示する引数がFOR
である。
EOR=1の場合は、次の様に処理する。READ命令
時に指示されたワード数を読み込んだ後、ヘッダに記録
されていたワード数(NTOTAL)から現在までに読
み込んだワード数NWSTRを減算し、トレーラまで読
み進めるワード数を算出する。後は、このワード数とバ
ッファ容量検出部1−4−2で算出された残り容量との
情報からバッファ入出力制御部1−4−4においてポイ
ンタの進め作業を行う。
FOR=Oの場合、これは(2)の■に対応して以下の
形式が考えられる。
CALL READ(10,DATA、I、3000,
0.l5TAT)・・・(I)CALL READ(1
0,DATA、1,1000,0.l5TAT)  ・
・・(ji)第7図を参照して説明する。まず(1)の
時点でヘッダを読み込んだ際、ヘッダで指定されるワー
ド数が0となっているため継続キーとなっている事がわ
かる。よって指定ワード数3000を読む際にページン
グが発生した時点で継続キーを読み飛ばすようにして、
ページングの回数を算出し、データ入出力部においてデ
ータの読み込みを行う。
3ページ目において継続キー2を読み込む時点で総ワー
ド数が判明するためNTOTALに格納しておく。DA
TA1読み込み終了後FOR=0のためポインタはその
ままにしておく。次に(11)命令時にNTOTALの
値をもとにDATA2を読み込む・・・・・・といった
処理の流れとなる。
以上がREAD処理の説明である。
(4)BACKSPACE命令 呼び出し形式 CALL BACKSP(LU、l5T
AT)LU:外部装置指定子 l5TAT:入出力状態指定子 BACKSPサブルーチンは、メモリバッファ部1−1
.バッファ容量検出部1−4−2.制御情報作成/検出
部1−4−3.バッファ入出力制御部1−4−4.ディ
スク入出力制御部1−4−5から成る。
BACKSP処理はルコード前にポインタを進める作業
を行う。制御情報作成/検出部1−4−3によりトレー
ラからルコードのワード数を検出し、バッファ容量検出
部1−4−2の情報をもとにポインタをルコード前のト
レーラまで戻す。
この際1ページ内の先頭の越える場合は、何ページ戻る
かの計算を行い、ディスク入出力制御部1−4−5に対
してBUFMNGのNRECBF、NRECDKの値を
設定し直す。
(5)REWIND命令 呼び出し形式 CALL RIJIND(LU、l5T
AT)LU:外部装置指定子 l5TAT:入出力状態指定子 REWINDサブルーチンは、メモリバッファ部1−1
.バッファ入出力制御部1−4−4゜ディスク入出力制
御部1−4−5から成る。
REWIND処理はBEFMNGのNRECBF (現
在のレコード数)、NRECDK  (現在のディスク
のレコード数)をもとに処理を行う。
ディスク入出力制御部1−4−5においてディスクに対
してFORTRANで提供される通常のREWIND処
理を行い、バッファ入出力部1−2においてバッファ上
にディスクの先頭レコードの内容を展開する。そして現
在ポインタを初期状態に戻す。
(6)CLO8E命令 呼び出し形式 0ALL CLOSE(LU、l5TA
T)LU:外部装置指定子 l5TAT:入出力状態指定子 CLO8Eサブルーチンは、メモリバツフア部1−1.
バツフア割り付け/開放部1−4−1から成る。
CLO8E命令により、ディスクの開放を行うとともに
、BUFMNGを初期状態(LRECBF、LRECD
Kの最終レコード数に対しての情報は保持しておく)に
戻す。さらにバッファ領域管理テーブルBUFSWのそ
のディスクに対応する領域のスイッチを0に戻し、バッ
ファ領域の開放を行う。
〔発明の効果〕
以上説明したように本発明は、主記憶装置と外部記憶装
置との間で行われるデータ入出力方式において、「読み
込み」、「書き出し」の命令を主記憶上に大きく取られ
たメモリバッファ上で行う事により、「主記憶装置から
指定されたデータを取り出し、主記憶装置の指定された
箇所へデータを書き込む」、「主記憶装置から指定され
たデータを取り出し、主記憶装置装置の指定された箇所
へデータを書き出す」といった処理を行う事になるため
、入出力処理の大部分を主記憶上で行う事ができる。よ
ってプログラムの実行を遅延させる要因が無くなる。さ
らにメモリバッファが一杯になった時点でまとめて外部
記憶装置と入出力を行うため、O8に合わせた効率的な
大きさで入出力を行う事が可能となる。
以上の事からプログラムの総実行時間を大幅に短縮でき
るという効果がある。
【図面の簡単な説明】
第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・・
・ディスク入出力制御部。

Claims (1)

  1. 【特許請求の範囲】 主記憶装置と外部記憶装置との間でデータの受け渡しを
    行うデータ入出力方式において、 主記憶をある決まった大きさの領域に区切りその領域を
    仮想的にファイルと見立てデータを格納するためのメモ
    リバッファ部と、 メモリバッファ部とプログラム間でデータの入出力を行
    うためのバッファ入出力部と、 メモリバッファ部が埋まった時点で、外部記憶装置とメ
    モリバッファ部の退避、復元を行うためのディスク入出
    力部と、 データの流れを制御するためにバッファ割り付け/開放
    部、バッファ容量検出部、制御情報作成/検出部、バッ
    ファ入出力制御部およびディスク入出力制御部から成る
    バッファ管理部とを有するデータ入出力方式。
JP2222950A 1990-08-24 1990-08-24 データ入出力方式 Pending JPH04105117A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2222950A JPH04105117A (ja) 1990-08-24 1990-08-24 データ入出力方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2222950A JPH04105117A (ja) 1990-08-24 1990-08-24 データ入出力方式

Publications (1)

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

Family

ID=16790419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2222950A Pending JPH04105117A (ja) 1990-08-24 1990-08-24 データ入出力方式

Country Status (1)

Country Link
JP (1) JPH04105117A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103126A (ja) * 1992-08-03 1994-04-15 Internatl Business Mach Corp <Ibm> 動的バッファ管理装置および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103126A (ja) * 1992-08-03 1994-04-15 Internatl Business Mach Corp <Ibm> 動的バッファ管理装置および方法

Similar Documents

Publication Publication Date Title
US7227788B2 (en) Memory management device and memory device
JP3485938B2 (ja) 不揮発性半導体メモリ装置
JP3330187B2 (ja) メモリカード
CN1658171B (zh) 通过控制频繁受访问扇区对非易失性存储器的更快写操作
EP2306321B1 (en) Increasing memory performance in flash memory devices by performing simultaneous write operation to multiple devices
JPWO2005029311A1 (ja) 半導体メモリカード、半導体メモリ制御装置及び半導体メモリ制御方法
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
US20060129749A1 (en) Nonvolatile memory system, nonvolatile memory device, memory controller, access device, and method for controlling nonvolatile memory device
JP4415356B2 (ja) 二重ジャーナリングの保存方法及びその記憶媒体
JP2005182793A5 (ja)
US5835939A (en) Data transfer control method and apparatus for external storage subsystem adapted to perform erasing after writing
JP3992960B2 (ja) 記録装置及びプログラム
EP0649095A2 (en) Nonvolatile storage with high speed data access
JP3471842B2 (ja) データ管理装置、データ記憶装置およびデータ管理方法
JPH04105117A (ja) データ入出力方式
JP2000285017A (ja) 記憶装置
EP0539966A2 (en) A magneto-optical disc control system and method
JPH05258585A (ja) ファイル装置
JP2681986B2 (ja) 計算機システム
JP2785451B2 (ja) 記憶制御方法および装置
JPH0764831A (ja) データ記憶装置
JPS63239521A (ja) 磁気テ−プ装置のデ−タ処理方式
JP2573579B2 (ja) 複数フアイル・ボリユ−ム形式磁気テ−プのフアイル操作装置
JP2735400B2 (ja) 非同期入出力制御方式