JPH07160582A - キャッシュバッファを有するデータ処理装置 - Google Patents
キャッシュバッファを有するデータ処理装置Info
- Publication number
- JPH07160582A JPH07160582A JP5305294A JP30529493A JPH07160582A JP H07160582 A JPH07160582 A JP H07160582A JP 5305294 A JP5305294 A JP 5305294A JP 30529493 A JP30529493 A JP 30529493A JP H07160582 A JPH07160582 A JP H07160582A
- Authority
- JP
- Japan
- Prior art keywords
- input
- cache buffer
- output
- buffer area
- block
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 キャッシュバッファをバイパスしてデータの
入出力を行なった場合にも、入出力されたデータとキャ
ッシュバッファに記憶されているデータとの間に不整合
が生じないようにしたデータ処理装置。 【構成】 ブロック型デバイス10に対してアプリケーシ
ョンプログラム11がデータを入出力する際にキャッシュ
バッファ領域5がバイパスされた場合は、実際に入出力
されたデータとキャッシュバッファ領域5に記憶されて
いるデータとの間に不整合が生じている場合にはそれを
解消するためにアプリケーションプログラム用バッファ
13とキャッシュバッファ領域5との間でデータを複写す
る不整合状態解消部12と、データの入出力に際してキャ
ッシュバッファ領域5をバイパスするか否かの選択条件
を保持する選択条件保持部3とを備えている。
入出力を行なった場合にも、入出力されたデータとキャ
ッシュバッファに記憶されているデータとの間に不整合
が生じないようにしたデータ処理装置。 【構成】 ブロック型デバイス10に対してアプリケーシ
ョンプログラム11がデータを入出力する際にキャッシュ
バッファ領域5がバイパスされた場合は、実際に入出力
されたデータとキャッシュバッファ領域5に記憶されて
いるデータとの間に不整合が生じている場合にはそれを
解消するためにアプリケーションプログラム用バッファ
13とキャッシュバッファ領域5との間でデータを複写す
る不整合状態解消部12と、データの入出力に際してキャ
ッシュバッファ領域5をバイパスするか否かの選択条件
を保持する選択条件保持部3とを備えている。
Description
【0001】
【産業上の利用分野】本発明はブロック型のデバイス、
即ちフレキシブルディスクユニット, 光ディスクユニッ
ト等のような記憶媒体上のたとえばセクタに記憶されて
いる一連のデータを一単位のブロックとしてデータが入
出力される記憶装置に対してキャッシュバッファを利用
してアプリケーションプログラムがデータを入出力する
ことが可能なキャッシュバッファを有するデータ処理装
置に関する。
即ちフレキシブルディスクユニット, 光ディスクユニッ
ト等のような記憶媒体上のたとえばセクタに記憶されて
いる一連のデータを一単位のブロックとしてデータが入
出力される記憶装置に対してキャッシュバッファを利用
してアプリケーションプログラムがデータを入出力する
ことが可能なキャッシュバッファを有するデータ処理装
置に関する。
【0002】
【従来の技術】図6は、従来のキャッシュバッファを有
するデータ処理装置において、キャッシュバッファを管
理するためのハードウェア及びソフトウェアの機能を示
すブロック図である。図6において、参照符号10は前述
の如きたとえばハードディスクユニット等のブロック型
デバイスを、9はブロック型デバイス10に対するデータ
の入出力処理を制御する入出力部を、1はキャッシュバ
ッファ5及び入出力制御部4にて構成されるキャッシュ
バッファ管理部を、11はブロック型デバイス10を記憶装
置として使用するアプリケーションプログラムを示して
いる。
するデータ処理装置において、キャッシュバッファを管
理するためのハードウェア及びソフトウェアの機能を示
すブロック図である。図6において、参照符号10は前述
の如きたとえばハードディスクユニット等のブロック型
デバイスを、9はブロック型デバイス10に対するデータ
の入出力処理を制御する入出力部を、1はキャッシュバ
ッファ5及び入出力制御部4にて構成されるキャッシュ
バッファ管理部を、11はブロック型デバイス10を記憶装
置として使用するアプリケーションプログラムを示して
いる。
【0003】キャッシュバッファ管理部1はキャッシュ
バッファ5と、ソフトウェアとしての入出力制御部4と
で構成されている。キャッシュバッファ5は、ブロック
型デバイス10の記憶媒体上のデータの記憶単位であるブ
ロックに対応してデータを保持するために、具体的には
マイクロコンピュータに内蔵されるメモリ上にブロック
単位で設定される。また入出力制御部4は、入出力部9
を使用してキャッシュバッファ5を経由したデータの入
出力処理を制御する。なお、図6において参照符号70台
の矢符は制御信号線を、80台の矢符はデータが転送され
る経路をそれぞれ示している。
バッファ5と、ソフトウェアとしての入出力制御部4と
で構成されている。キャッシュバッファ5は、ブロック
型デバイス10の記憶媒体上のデータの記憶単位であるブ
ロックに対応してデータを保持するために、具体的には
マイクロコンピュータに内蔵されるメモリ上にブロック
単位で設定される。また入出力制御部4は、入出力部9
を使用してキャッシュバッファ5を経由したデータの入
出力処理を制御する。なお、図6において参照符号70台
の矢符は制御信号線を、80台の矢符はデータが転送され
る経路をそれぞれ示している。
【0004】次に、上述のような従来技術において、キ
ャッシュバッファ管理部1に対してアプリケーションプ
ログラム11から入出力要求があった場合の処理の流れに
ついて説明する。まず、入力処理について説明する。
ャッシュバッファ管理部1に対してアプリケーションプ
ログラム11から入出力要求があった場合の処理の流れに
ついて説明する。まず、入力処理について説明する。
【0005】アプリケーションプログラム11がブロック
型デバイス10からデータの入力を必要とする場合、デー
タの入力要求を発生して信号線71を介して入出力制御部
4に与える。たとえば、ブロック型デバイス10のブロッ
ク番号mからnブロック分のデータの入力要求をアプリ
ケーションプログラム11が発生した場合、入出力制御部
4は要求されているブロック型デバイス10上のブロック
に対応するキャッシュバッファ5のブロックが存在する
か否かをまず調べる。該当するキャッシュバッファ5の
ブロックが存在する場合、入出力制御部4はキャッシュ
バッファ5に記憶されているデータを矢符80, 81の経路
で要求元のアプリケーションプログラム11へ転送するこ
とにより、入出力部9を使用することなしに入力処理を
完了する。
型デバイス10からデータの入力を必要とする場合、デー
タの入力要求を発生して信号線71を介して入出力制御部
4に与える。たとえば、ブロック型デバイス10のブロッ
ク番号mからnブロック分のデータの入力要求をアプリ
ケーションプログラム11が発生した場合、入出力制御部
4は要求されているブロック型デバイス10上のブロック
に対応するキャッシュバッファ5のブロックが存在する
か否かをまず調べる。該当するキャッシュバッファ5の
ブロックが存在する場合、入出力制御部4はキャッシュ
バッファ5に記憶されているデータを矢符80, 81の経路
で要求元のアプリケーションプログラム11へ転送するこ
とにより、入出力部9を使用することなしに入力処理を
完了する。
【0006】一方、アプリケーションプログラム11から
入力要求があったブロック型デバイス10のブロックに対
応するキャッシュバッファ5のブロックが存在しない場
合は、入出力制御部4はまず必要なキャッシュバッファ
5のブロックをメモリ上に割り当て、その後に入出力部
9に対して入力要求を信号線72を介して与える。これに
より、入出力部9はブロック型デバイス10に入力要求を
信号線73を介して与えて入力要求があったブロックのデ
ータをブロック型デバイス10から読み出し、矢符83, 8
2, 80の経路でキャッシュバッファ5に新たに割り当て
られたブロックに記憶させる。その後、キャッシュバッ
ファ5からデータが矢符80, 81の経路で要求元のアプリ
ケーションプログラム11へ転送されて入力処理が終了す
る。
入力要求があったブロック型デバイス10のブロックに対
応するキャッシュバッファ5のブロックが存在しない場
合は、入出力制御部4はまず必要なキャッシュバッファ
5のブロックをメモリ上に割り当て、その後に入出力部
9に対して入力要求を信号線72を介して与える。これに
より、入出力部9はブロック型デバイス10に入力要求を
信号線73を介して与えて入力要求があったブロックのデ
ータをブロック型デバイス10から読み出し、矢符83, 8
2, 80の経路でキャッシュバッファ5に新たに割り当て
られたブロックに記憶させる。その後、キャッシュバッ
ファ5からデータが矢符80, 81の経路で要求元のアプリ
ケーションプログラム11へ転送されて入力処理が終了す
る。
【0007】アプリケーションプログラム11がブロック
型デバイス10へのデータの出力を必要とする場合、デー
タの出力要求を発生して信号線71を介して入出力制御部
4に与える。たとえば、ブロック型デバイス10のブロッ
ク番号mからnブロック分のデータに対してアプリケー
ションプログラム11から出力要求があった場合、入出力
制御部4は要求されているブロック型デバイス10上のブ
ロックに対応するキャッシュバッファ5のブロックが存
在するか否かをまず調べる。該当するキャッシュバッフ
ァ5のブロックが存在する場合、入出力制御部4は要求
元のアプリケーションプログラム11から矢符81, 80の経
路でキャッシュバッファ5へデータを転送することによ
り、入出力部9を使用することなしに出力処理を完了す
る。
型デバイス10へのデータの出力を必要とする場合、デー
タの出力要求を発生して信号線71を介して入出力制御部
4に与える。たとえば、ブロック型デバイス10のブロッ
ク番号mからnブロック分のデータに対してアプリケー
ションプログラム11から出力要求があった場合、入出力
制御部4は要求されているブロック型デバイス10上のブ
ロックに対応するキャッシュバッファ5のブロックが存
在するか否かをまず調べる。該当するキャッシュバッフ
ァ5のブロックが存在する場合、入出力制御部4は要求
元のアプリケーションプログラム11から矢符81, 80の経
路でキャッシュバッファ5へデータを転送することによ
り、入出力部9を使用することなしに出力処理を完了す
る。
【0008】一方、アプリケーションプログラム11から
出力要求があったブロック型デバイス10のブロックに対
応するキャッシュバッファ5のブロックが存在しない場
合は、入出力制御部4はまず必要なキャッシュバッファ
5のブロックをメモリ上に割り当て、その後に要求元の
アプリケーションプログラム11からキャッシュバッファ
5へ矢符81, 80を経由してデータを転送して出力処理が
終了する。
出力要求があったブロック型デバイス10のブロックに対
応するキャッシュバッファ5のブロックが存在しない場
合は、入出力制御部4はまず必要なキャッシュバッファ
5のブロックをメモリ上に割り当て、その後に要求元の
アプリケーションプログラム11からキャッシュバッファ
5へ矢符81, 80を経由してデータを転送して出力処理が
終了する。
【0009】なお、上述の出力処理においては、アプリ
ケーションプログラム11から出力要求があった場合のブ
ロック型デバイス10で必要となるブロックは新規に割り
当てられるものとしている。従って、キャッシュバッフ
ァ5を割り当てた後に出力先のブロック型デバイス10に
入出力部9からデータを読み込む処理は省略されてい
る。
ケーションプログラム11から出力要求があった場合のブ
ロック型デバイス10で必要となるブロックは新規に割り
当てられるものとしている。従って、キャッシュバッフ
ァ5を割り当てた後に出力先のブロック型デバイス10に
入出力部9からデータを読み込む処理は省略されてい
る。
【0010】
【発明が解決しようとする課題】従来のキャッシュバッ
ファを有するデータ処理装置では、ブロック型デバイス
に関する入出力処理を全て上述のようにキャッシュバッ
ファを経由して処理していた。このため、アプリケーシ
ョンプログラムから要求されるブロック数が大きい場合
には、キャッシュバッファに割り当てられるブロック数
も多くなるため、キャッシュバッファの入れ換えが頻繁
に発生することになる。このような状況は、キャッシュ
バッファのヒット率の低下の原因となり、マイクロコン
ピュータの性能を向上させる目的で導入されたキャッシ
ュバッファの効果が充分に発揮されない。また、用意さ
れているキャッシュバッファの個数を越えるブロック数
が要求された場合、ブロック型デバイスへの入出力要求
は複数回に分割されて行なわれるので、非常に時間を要
するという問題がある。
ファを有するデータ処理装置では、ブロック型デバイス
に関する入出力処理を全て上述のようにキャッシュバッ
ファを経由して処理していた。このため、アプリケーシ
ョンプログラムから要求されるブロック数が大きい場合
には、キャッシュバッファに割り当てられるブロック数
も多くなるため、キャッシュバッファの入れ換えが頻繁
に発生することになる。このような状況は、キャッシュ
バッファのヒット率の低下の原因となり、マイクロコン
ピュータの性能を向上させる目的で導入されたキャッシ
ュバッファの効果が充分に発揮されない。また、用意さ
れているキャッシュバッファの個数を越えるブロック数
が要求された場合、ブロック型デバイスへの入出力要求
は複数回に分割されて行なわれるので、非常に時間を要
するという問題がある。
【0011】このような事情から、たとえば特開平4-60
730 号公報, 特開平3-196345号公報等の発明が提案され
ている。前者は、キャッシュバッファの容量以上のデー
タが入出力された場合にはキャッシュバッファをバイパ
スする構成のが開示されている。また、後者はデータの
入出力をキャッシュバッファを用いて行なうか否かを判
定した上で行なう構成が開示されている。
730 号公報, 特開平3-196345号公報等の発明が提案され
ている。前者は、キャッシュバッファの容量以上のデー
タが入出力された場合にはキャッシュバッファをバイパ
スする構成のが開示されている。また、後者はデータの
入出力をキャッシュバッファを用いて行なうか否かを判
定した上で行なう構成が開示されている。
【0012】しかし、上述のいずれに発明においても、
キャッシュバッファをバイパスしてデータの入出力を行
なった場合には、入出力されたデータとキャッシュバッ
ファに記憶されているデータとが一致しない不整合の状
態が発生する虞がある。
キャッシュバッファをバイパスしてデータの入出力を行
なった場合には、入出力されたデータとキャッシュバッ
ファに記憶されているデータとが一致しない不整合の状
態が発生する虞がある。
【0013】本発明はこのような事情に鑑みてなされた
ものであり、キャッシュバッファをバイパスしてデータ
の入出力を行なった場合にも、入出力されたデータとキ
ャッシュバッファに記憶されているデータとの間に不整
合が生じないように構成したキャッシュバッファを有す
るデータ処理装置の提供を目的とする。
ものであり、キャッシュバッファをバイパスしてデータ
の入出力を行なった場合にも、入出力されたデータとキ
ャッシュバッファに記憶されているデータとの間に不整
合が生じないように構成したキャッシュバッファを有す
るデータ処理装置の提供を目的とする。
【0014】
【課題を解決するための手段】本発明に係るキャッシュ
バッファを有するデータ処理装置は、ブロック型デバイ
スである記憶装置に対してアプリケーションプログラム
がデータを入出力する際にキャッシュバッファがバイパ
スされた場合は、実際に入出力されたデータとキャッシ
ュバッファに記憶されているデータとの間に不整合が生
じていないかを判断し、不整合が生じている場合にはそ
れを解消するためにアプリケーションプログラム用バッ
ファとキャッシュバッファとの間でデータをコピーする
不整合状態解消手段を備えている。
バッファを有するデータ処理装置は、ブロック型デバイ
スである記憶装置に対してアプリケーションプログラム
がデータを入出力する際にキャッシュバッファがバイパ
スされた場合は、実際に入出力されたデータとキャッシ
ュバッファに記憶されているデータとの間に不整合が生
じていないかを判断し、不整合が生じている場合にはそ
れを解消するためにアプリケーションプログラム用バッ
ファとキャッシュバッファとの間でデータをコピーする
不整合状態解消手段を備えている。
【0015】また本発明のキャッシュバッファを有する
データ処理装置は、データの入出力に際してキャッシュ
バッファをバイパスするか否かの選択条件を保持する選
択条件保持手段を備え、それに保持される選択条件をア
プリケーションプログラムの処理により任意に設定可能
な構成にしている。
データ処理装置は、データの入出力に際してキャッシュ
バッファをバイパスするか否かの選択条件を保持する選
択条件保持手段を備え、それに保持される選択条件をア
プリケーションプログラムの処理により任意に設定可能
な構成にしている。
【0016】
【作用】本発明に係るキャッシュバッファを有するデー
タ処理装置では、ブロック型デバイスである記憶装置に
対してアプリケーションプログラムがデータを入出力す
る際にキャッシュバッファがバイパスされた場合は、実
際に入出力されたデータとキャッシュバッファに記憶さ
れているデータとの間に不整合が生じていないかが判断
され、不整合が生じている場合にはそれを解消するため
にアプリケーションプログラム用バッファとキャッシュ
バッファとの間で不整合状態解消手段によりデータがコ
ピーされ、不整合状態が解消される。
タ処理装置では、ブロック型デバイスである記憶装置に
対してアプリケーションプログラムがデータを入出力す
る際にキャッシュバッファがバイパスされた場合は、実
際に入出力されたデータとキャッシュバッファに記憶さ
れているデータとの間に不整合が生じていないかが判断
され、不整合が生じている場合にはそれを解消するため
にアプリケーションプログラム用バッファとキャッシュ
バッファとの間で不整合状態解消手段によりデータがコ
ピーされ、不整合状態が解消される。
【0017】また、本発明に係るキャッシュバッファを
有するデータ処理装置では、データの入出力に際してキ
ャッシュバッファをバイパスするか否かの選択条件がア
プリケーションプログラムの必要に応じて任意に設定可
能になる。
有するデータ処理装置では、データの入出力に際してキ
ャッシュバッファをバイパスするか否かの選択条件がア
プリケーションプログラムの必要に応じて任意に設定可
能になる。
【0018】
【実施例】以下、本発明をその実施例を示す図面に基づ
いて詳述する。図1は本発明に係るキャッシュバッファ
を有するデータ処理装置のキャッシュバッファ管理のた
めのハードウェア及びソフトウェアの機能を示すブロッ
ク図である。
いて詳述する。図1は本発明に係るキャッシュバッファ
を有するデータ処理装置のキャッシュバッファ管理のた
めのハードウェア及びソフトウェアの機能を示すブロッ
ク図である。
【0019】図1において、参照符号10は記憶装置とし
てのブロック型デバイスを、9はブロック型デバイス10
に対するデータの入出力処理を制御する入出力部をそれ
ぞれ示している。ブロック型デバイス10は、たとえばハ
ードディスクユニット等の記憶装置であり、インタフェ
イスである入出力部9によりデータ処理装置であるマイ
クロコンピュータシステムに接続されている。
てのブロック型デバイスを、9はブロック型デバイス10
に対するデータの入出力処理を制御する入出力部をそれ
ぞれ示している。ブロック型デバイス10は、たとえばハ
ードディスクユニット等の記憶装置であり、インタフェ
イスである入出力部9によりデータ処理装置であるマイ
クロコンピュータシステムに接続されている。
【0020】参照符号1はキャッシュバッファ管理部で
あり、入出力方式選択部2, 選択条件保持部3, 入出力
制御部4, キャッシュバッファ領域5及び不整合状態解
消部12にて構成される。このキャッシュバッファ管理部
1はマイクロコンピュータシステムに内蔵されるハード
ウェア及びソフトウェアで構成される。
あり、入出力方式選択部2, 選択条件保持部3, 入出力
制御部4, キャッシュバッファ領域5及び不整合状態解
消部12にて構成される。このキャッシュバッファ管理部
1はマイクロコンピュータシステムに内蔵されるハード
ウェア及びソフトウェアで構成される。
【0021】また、参照符号11はブロック型デバイス10
を記憶装置として使用し、マイクロコンピュータシステ
ムにより実行されるアプリケーションプログラムを、13
はマイクロコンピュータシステムに内蔵されるメモリ上
に設定されるアプリケーションプログラム用バッファ領
域をそれぞれ示している。
を記憶装置として使用し、マイクロコンピュータシステ
ムにより実行されるアプリケーションプログラムを、13
はマイクロコンピュータシステムに内蔵されるメモリ上
に設定されるアプリケーションプログラム用バッファ領
域をそれぞれ示している。
【0022】キャッシュバッファ管理部1はキャッシュ
バッファ領域5と、メモリまたはレジスタである選択条
件保持部3と、ソフトウェアとしての入出力方式選択部
2,入出力制御部4及び不整合状態解消部12とで構成さ
れている。キャッシュバッファ領域5は、ブロック型デ
バイス10の記憶媒体上のデータの記憶単位であるブロッ
クに対応してデータを保持するために、具体的にはマイ
クロコンピュータに内蔵されるメモリ上にブロック単位
で設定される。また入出力制御部4は、入出力部9によ
り入出力されたデータのアプリケーションプログラム用
バッファ領域13とキャッシュバッファ領域5との間での
コピーを行なう。
バッファ領域5と、メモリまたはレジスタである選択条
件保持部3と、ソフトウェアとしての入出力方式選択部
2,入出力制御部4及び不整合状態解消部12とで構成さ
れている。キャッシュバッファ領域5は、ブロック型デ
バイス10の記憶媒体上のデータの記憶単位であるブロッ
クに対応してデータを保持するために、具体的にはマイ
クロコンピュータに内蔵されるメモリ上にブロック単位
で設定される。また入出力制御部4は、入出力部9によ
り入出力されたデータのアプリケーションプログラム用
バッファ領域13とキャッシュバッファ領域5との間での
コピーを行なう。
【0023】入出力制御部4は、アプリケーションプロ
グラム用バッファ領域13とキャッシュバッファ領域5と
の間でブロック単位でデータのコピーを行なう機能と、
アプリケーションプログラム11から処理要求があったブ
ロックに対応するブロックがキャッシュバッファ領域5
に全て存在するか否かを判定する機能とを有する。
グラム用バッファ領域13とキャッシュバッファ領域5と
の間でブロック単位でデータのコピーを行なう機能と、
アプリケーションプログラム11から処理要求があったブ
ロックに対応するブロックがキャッシュバッファ領域5
に全て存在するか否かを判定する機能とを有する。
【0024】入出力方式選択部2は、アプリケーション
プログラム11からの入出力要求を受けて入出力制御部4
に対して、アプリケーションプログラム11が要求してい
るブロックの全てがキャッシュバッファ領域5上に存在
するか否かを問い合わせる機能と、存在しない場合には
更にキャッシュバッファ領域5にブロックを新規に割り
当てるか否かを選択する機能とを有する。
プログラム11からの入出力要求を受けて入出力制御部4
に対して、アプリケーションプログラム11が要求してい
るブロックの全てがキャッシュバッファ領域5上に存在
するか否かを問い合わせる機能と、存在しない場合には
更にキャッシュバッファ領域5にブロックを新規に割り
当てるか否かを選択する機能とを有する。
【0025】不整合状態解消部12は、入出力制御部4で
要求されたブロックの全てがキャッシュバッファ領域5
に存在しないと判定された場合に、入出力部9によるデ
ータの入出力処理に際して発生する可能性のある不整合
状態を検出し、不整合状態が発生していた場合には不整
合状態を解消する機能を有する。
要求されたブロックの全てがキャッシュバッファ領域5
に存在しないと判定された場合に、入出力部9によるデ
ータの入出力処理に際して発生する可能性のある不整合
状態を検出し、不整合状態が発生していた場合には不整
合状態を解消する機能を有する。
【0026】選択条件保持部3は、入出力方式選択部2
がキャッシュバッファの割り当てを行なうか否かを決定
する基準となる選択条件、具体的にはキャッシュバッフ
ァ領域5に新規に設定可能なブロックの数を保持する機
能を有する。なお、図1において参照符号70台の矢符は
制御信号線を、80台の矢符はデータが転送され経路をそ
れぞれ示している。
がキャッシュバッファの割り当てを行なうか否かを決定
する基準となる選択条件、具体的にはキャッシュバッフ
ァ領域5に新規に設定可能なブロックの数を保持する機
能を有する。なお、図1において参照符号70台の矢符は
制御信号線を、80台の矢符はデータが転送され経路をそ
れぞれ示している。
【0027】また、図2はアプリケーションプログラム
11が使用するバッファ領域13, キャッシュバッファ領域
5のブロックの使用状況, ブロック型デバイス10のブロ
ックを示す模式図である。具体的には、アプリケーショ
ンプログラムが使用するバッファ領域13の内のブロック
型デバイス10のブロック番号#4、#5、#6、#7及
び#10のブロックの内容がキャッシュバッファ領域5に
保持されている状態が示されている。
11が使用するバッファ領域13, キャッシュバッファ領域
5のブロックの使用状況, ブロック型デバイス10のブロ
ックを示す模式図である。具体的には、アプリケーショ
ンプログラムが使用するバッファ領域13の内のブロック
型デバイス10のブロック番号#4、#5、#6、#7及
び#10のブロックの内容がキャッシュバッファ領域5に
保持されている状態が示されている。
【0028】次に本発明に係るデータ処理装置のキャッ
シュバッファの管理のための動作について説明する。ま
ず、キャッシュバッファ管理部1に対してアプリケーシ
ョンプログラム11から入出力要求があった場合の処理の
流れについて説明する。
シュバッファの管理のための動作について説明する。ま
ず、キャッシュバッファ管理部1に対してアプリケーシ
ョンプログラム11から入出力要求があった場合の処理の
流れについて説明する。
【0029】アプリケーションプログラム11がブロック
型デバイス10からデータを読み出す必要がある場合には
データの入力要求を、アプリケーションプログラム11が
ブロック型デバイス10にデータの書き込みを必要とする
場合にはデータの出力要求をそれぞれ発生する。データ
の入出力処理のパターンとしては、以下の5通りが考え
られる。
型デバイス10からデータを読み出す必要がある場合には
データの入力要求を、アプリケーションプログラム11が
ブロック型デバイス10にデータの書き込みを必要とする
場合にはデータの出力要求をそれぞれ発生する。データ
の入出力処理のパターンとしては、以下の5通りが考え
られる。
【0030】(a) 入出力方式選択部2でキャッシュバッ
ファ領域5が割り当てられる入出力処理が行なわれる場
合で、且つ処理対象のブロックの全てが処理の開始前に
キャッシュバッファ領域5に存在しない場合。この場合
には不整合状態解消部12による処理は不要である。
ファ領域5が割り当てられる入出力処理が行なわれる場
合で、且つ処理対象のブロックの全てが処理の開始前に
キャッシュバッファ領域5に存在しない場合。この場合
には不整合状態解消部12による処理は不要である。
【0031】(b) 入出力方式選択部2でキャッシュバッ
ファ領域5が割り当てられない入出力処理が行なわれる
場合で、且つ処理対象のブロックの全てが処理の開始前
にはキャッシュバッファ領域5に存在しない場合。この
場合には不整合状態解消部12による処理は不要である。
ファ領域5が割り当てられない入出力処理が行なわれる
場合で、且つ処理対象のブロックの全てが処理の開始前
にはキャッシュバッファ領域5に存在しない場合。この
場合には不整合状態解消部12による処理は不要である。
【0032】(c) 処理対象のブロックの全てがキャッシ
ュバッファ領域5上に存在する場合。この場合には不整
合状態解消部12による処理は不要である。
ュバッファ領域5上に存在する場合。この場合には不整
合状態解消部12による処理は不要である。
【0033】(d) 入出力方式選択部2でキャッシュバッ
ファ領域5が割り当てられる入出力処理が行なわれる場
合で、且つ処理対象のブロックの一部のみが処理の開始
前にキャッシュバッファ領域5上に存在する場合。この
場合には不整合状態解消部12による処理が必要になる。
ファ領域5が割り当てられる入出力処理が行なわれる場
合で、且つ処理対象のブロックの一部のみが処理の開始
前にキャッシュバッファ領域5上に存在する場合。この
場合には不整合状態解消部12による処理が必要になる。
【0034】(e) 入出力方式選択部2でキャッシュバッ
ファ領域5が割り当てられない入出力処理が行なわれる
場合で、且つ処理対象のブロックの一部が処理の開始前
にキャッシュバッファ領域5上に存在する場合。この場
合には不整合状態解消部12による処理が必要になる。
ファ領域5が割り当てられない入出力処理が行なわれる
場合で、且つ処理対象のブロックの一部が処理の開始前
にキャッシュバッファ領域5上に存在する場合。この場
合には不整合状態解消部12による処理が必要になる。
【0035】また、選択条件としては、本実施例ではキ
ャッシュバッファ領域5に割り当てられる最大処理ブロ
ック数を2ブロックとし、これが信号線6によりアプリ
ケーションプログラム11から選択条件保持部3に設定さ
れているとする。なお、最大処理ブロック数が2ブロッ
クである場合、図2に示されている (a)〜(e) は上述の
5つの場合 (a)〜(e) に対応する。以下、上述の(a) 〜
(e) のそれぞれの場合の入出力処理の動作について、入
出力方式選択部2, 入出力制御部4及び不整合状態解消
部12それぞれの動作手順を示す図3, 図4及び図5のフ
ローチャートを参照して順に説明する。
ャッシュバッファ領域5に割り当てられる最大処理ブロ
ック数を2ブロックとし、これが信号線6によりアプリ
ケーションプログラム11から選択条件保持部3に設定さ
れているとする。なお、最大処理ブロック数が2ブロッ
クである場合、図2に示されている (a)〜(e) は上述の
5つの場合 (a)〜(e) に対応する。以下、上述の(a) 〜
(e) のそれぞれの場合の入出力処理の動作について、入
出力方式選択部2, 入出力制御部4及び不整合状態解消
部12それぞれの動作手順を示す図3, 図4及び図5のフ
ローチャートを参照して順に説明する。
【0036】図2に(a) で示されているブロック番号#
0から2ブロック分の入力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して入力
要求を信号線71を介して与える。
0から2ブロック分の入力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して入力
要求を信号線71を介して与える。
【0037】入出力方式選択部2は、入出力制御部4に
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
【0038】入出力制御部4は、要求されたブロックの
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
【0039】この場合には目的のブロック全てがキャッ
シュバッファ領域5に存在しない (ステップS13 でNO) の
で、入出力方式選択部2は選択条件保持部3が保持して
いる条件を信号線70を介して読み込み、これに従ってキ
ャッシュバッファ領域5に新たにブロックを割り当てる
か否かを決定する (ステップS14)。この場合は要求され
たブロック数 (2ブロック) が選択条件保持部3に格納
されている条件 (2ブロック) より大きくはない (ステ
ップS14 でNO) ので、入出力方式選択部2は新たなブロ
ックをキャッシュバッファ領域5に割り当てることを決
定し、入出力制御部4に対して新たなブロックをキャッ
シュバッファ領域5に割り当てることを信号線74を介し
て要求し、入出力制御部4に制御を移す (ステップS1
5)。
シュバッファ領域5に存在しない (ステップS13 でNO) の
で、入出力方式選択部2は選択条件保持部3が保持して
いる条件を信号線70を介して読み込み、これに従ってキ
ャッシュバッファ領域5に新たにブロックを割り当てる
か否かを決定する (ステップS14)。この場合は要求され
たブロック数 (2ブロック) が選択条件保持部3に格納
されている条件 (2ブロック) より大きくはない (ステ
ップS14 でNO) ので、入出力方式選択部2は新たなブロ
ックをキャッシュバッファ領域5に割り当てることを決
定し、入出力制御部4に対して新たなブロックをキャッ
シュバッファ領域5に割り当てることを信号線74を介し
て要求し、入出力制御部4に制御を移す (ステップS1
5)。
【0040】入出力制御部4は、まずキャッシュバッフ
ァ領域5に新たなブロックを割り当てる (ステップS2
2)。次に、入出力制御部4は入出力部9に対してアプリ
ケーションプログラム用バッファ領域13へデータを入力
するように信号線72を介して要求する (ステップS23, S
24) 。これにより、入出力部9はアプリケーションプロ
グラム11により入力が要求されているブロック型デバイ
ス10のブロックのデータを読み出して経路88, 81を経由
してアプリケーションプログラム用バッファ領域13へ転
送して記憶させる。また、入出力制御部4は新たに割り
当てられたキャッシュバッファ領域5のブロックにアプ
リケーションプログラム用バッファ領域13から経路81,
84, 80を経由してデータを転送し、コピーして処理を終
える (ステップS25)。
ァ領域5に新たなブロックを割り当てる (ステップS2
2)。次に、入出力制御部4は入出力部9に対してアプリ
ケーションプログラム用バッファ領域13へデータを入力
するように信号線72を介して要求する (ステップS23, S
24) 。これにより、入出力部9はアプリケーションプロ
グラム11により入力が要求されているブロック型デバイ
ス10のブロックのデータを読み出して経路88, 81を経由
してアプリケーションプログラム用バッファ領域13へ転
送して記憶させる。また、入出力制御部4は新たに割り
当てられたキャッシュバッファ領域5のブロックにアプ
リケーションプログラム用バッファ領域13から経路81,
84, 80を経由してデータを転送し、コピーして処理を終
える (ステップS25)。
【0041】この処理が終了すると、入出力方式選択部
2は不整合状態解消部12に不整合状態の解消を信号線75
を介して要求し、不整合状態解消部12に制御を移す (ス
テップS18)。
2は不整合状態解消部12に不整合状態の解消を信号線75
を介して要求し、不整合状態解消部12に制御を移す (ス
テップS18)。
【0042】但し上述の処理以前には、処理対象のブロ
ックに対応するブロックがキャッシュバッファ領域5に
は全く存在しなかったため、不整合状態は発生しない
(ステップS31 でYES)。このため、不整合状態解消部12
はそのまま処理を終了する。
ックに対応するブロックがキャッシュバッファ領域5に
は全く存在しなかったため、不整合状態は発生しない
(ステップS31 でYES)。このため、不整合状態解消部12
はそのまま処理を終了する。
【0043】図2に(a) で示されているブロック番号#
0から2ブロック分の出力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して出力
要求を信号線71を介して与える。
0から2ブロック分の出力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して出力
要求を信号線71を介して与える。
【0044】入出力方式選択部2は、入出力制御部4に
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を信
号線74を介して行なう (ステップS11)。これにより、入
出力制御部4に制御が移される (ステップS12)。
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を信
号線74を介して行なう (ステップS11)。これにより、入
出力制御部4に制御が移される (ステップS12)。
【0045】入出力制御部4は、要求されたブロックの
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
【0046】この場合には目的のブロック全てがキャッ
シュバッファ領域5に存在しない (ステップS13 でNO)
ので、入出力方式選択部2は選択条件保持部3が保持し
ている条件を信号線70を介して読み込み、これに従って
キャッシュバッファ領域5に新たにブロックを割り当て
るか否かを決定する (ステップS14)。この場合は要求さ
れたブロック数 (2ブロック) が選択条件保持部3に格
納されている条件 (2ブロック) より大きくはない (ス
テップS14 でNO) ので、入出力方式選択部2は新たなブ
ロックをキャッシュバッファ領域5に割り当てることを
決定し、入出力制御部4に対して新たなブロックをキャ
ッシュバッファ領域5に割り当てることを信号線74を介
して要求し、入出力制御部4に制御を移す (ステップS1
5)。
シュバッファ領域5に存在しない (ステップS13 でNO)
ので、入出力方式選択部2は選択条件保持部3が保持し
ている条件を信号線70を介して読み込み、これに従って
キャッシュバッファ領域5に新たにブロックを割り当て
るか否かを決定する (ステップS14)。この場合は要求さ
れたブロック数 (2ブロック) が選択条件保持部3に格
納されている条件 (2ブロック) より大きくはない (ス
テップS14 でNO) ので、入出力方式選択部2は新たなブ
ロックをキャッシュバッファ領域5に割り当てることを
決定し、入出力制御部4に対して新たなブロックをキャ
ッシュバッファ領域5に割り当てることを信号線74を介
して要求し、入出力制御部4に制御を移す (ステップS1
5)。
【0047】入出力制御部4は、まず新たなブロックを
キャッシュバッファ領域5に割り当てる (ステップS2
2)。次に、入出力制御部4は新たに割り当てられたキャ
ッシュバッファ領域5のブロックにアプリケーションプ
ログラム用バッファ領域13から経路81, 84, 80を経由し
てデータを転送し、コピーして処理を完了する (ステッ
プS23, S25) 。
キャッシュバッファ領域5に割り当てる (ステップS2
2)。次に、入出力制御部4は新たに割り当てられたキャ
ッシュバッファ領域5のブロックにアプリケーションプ
ログラム用バッファ領域13から経路81, 84, 80を経由し
てデータを転送し、コピーして処理を完了する (ステッ
プS23, S25) 。
【0048】この処理が終了すると、入出力方式選択部
2は不整合状態解消部12に不整合状態の解消を信号線75
を介して要求し、不整合状態解消部12に制御を移す (ス
テップS18)。
2は不整合状態解消部12に不整合状態の解消を信号線75
を介して要求し、不整合状態解消部12に制御を移す (ス
テップS18)。
【0049】但し、上述の処理以前には、処理対象のブ
ロックに対応するキャッシュバッファ領域5が全く存在
しないため、不整合状態は発生しない (ステップS31 で
YES)。このため、不整合状態解消部12はそのまま処理を
終了する。
ロックに対応するキャッシュバッファ領域5が全く存在
しないため、不整合状態は発生しない (ステップS31 で
YES)。このため、不整合状態解消部12はそのまま処理を
終了する。
【0050】図2に(b) で示されているブロック番号#
0から4ブロック分の入力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して入力
要求を信号線71を介して与える。
0から4ブロック分の入力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して入力
要求を信号線71を介して与える。
【0051】入出力方式選択部2は、入出力制御部4に
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
【0052】入出力制御部4は、要求されたブロックの
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
【0053】この場合には目的のブロック全てがキャッ
シュバッファ領域5に存在しない (ステップS13 でNO)
ので、入出力方式選択部2は選択条件保持部3が保持し
ている条件を信号線70を介して読み込み、これに従って
キャッシュバッファ領域5に新たにブロックを割り当て
るか否かを決定する (ステップS14)。この場合は要求さ
れたブロック数 (4ブロック) が選択条件保持部3に保
持されている条件 (2ブロック) より大きい (ステップ
S14 でYES)ので、入出力方式選択部2は新たなブロック
をキャッシュバッファ領域5に割り当てないことを決定
し、アプリケーションプログラム11により要求されてい
るブロックのデータを直接アプリケーションプログラム
用バッファ領域13へ入力するように入出力部9に対して
要求する(ステップS16)。
シュバッファ領域5に存在しない (ステップS13 でNO)
ので、入出力方式選択部2は選択条件保持部3が保持し
ている条件を信号線70を介して読み込み、これに従って
キャッシュバッファ領域5に新たにブロックを割り当て
るか否かを決定する (ステップS14)。この場合は要求さ
れたブロック数 (4ブロック) が選択条件保持部3に保
持されている条件 (2ブロック) より大きい (ステップ
S14 でYES)ので、入出力方式選択部2は新たなブロック
をキャッシュバッファ領域5に割り当てないことを決定
し、アプリケーションプログラム11により要求されてい
るブロックのデータを直接アプリケーションプログラム
用バッファ領域13へ入力するように入出力部9に対して
要求する(ステップS16)。
【0054】これにより、入出力部9はアプリケーショ
ンプログラム11により入力が要求されているブロック型
デバイス10のブロックのデータを読み出して経路88, 81
を経由してアプリケーションプログラム用バッファ領域
13へ転送して記憶させる。
ンプログラム11により入力が要求されているブロック型
デバイス10のブロックのデータを読み出して経路88, 81
を経由してアプリケーションプログラム用バッファ領域
13へ転送して記憶させる。
【0055】この処理が終了すると、入出力方式選択部
2は不整合状態解消部12に不整合状態の解消を信号線75
を介して要求し、不整合状態解消部12に制御を移す (ス
テップS18)。
2は不整合状態解消部12に不整合状態の解消を信号線75
を介して要求し、不整合状態解消部12に制御を移す (ス
テップS18)。
【0056】但し、上述の処理以前には、処理対象のブ
ロックに対応するキャッシュバッファ領域5が全く存在
しないため、不整合状態は発生しない (ステップS31 で
YES)。このため、不整合状態解消部12はそのまま処理を
終了する。
ロックに対応するキャッシュバッファ領域5が全く存在
しないため、不整合状態は発生しない (ステップS31 で
YES)。このため、不整合状態解消部12はそのまま処理を
終了する。
【0057】図2に(b) で示されているブロック番号#
0から4ブロック分の出力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して出力
要求を信号線71を介して与える。
0から4ブロック分の出力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して出力
要求を信号線71を介して与える。
【0058】入出力方式選択部2は、入出力制御部4に
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行ない (ステップS11)、ステップS12 の入出力制御
部4の処理が行なわれる。
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行ない (ステップS11)、ステップS12 の入出力制御
部4の処理が行なわれる。
【0059】入出力制御部4は、要求されたブロックの
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
【0060】この場合には目的のブロック全てがキャッ
シュバッファ領域5に存在しない (ステップS13 でNO)
ので、入出力方式選択部2は選択条件保持部3が保持し
ている条件を信号線70を介して読み込み、これに従って
キャッシュバッファ領域5に新たにブロックを割り当て
るか否かを決定する (ステップS14)。この場合は要求さ
れたブロック数 (4ブロック) が選択条件保持部3に保
持されている条件 (2ブロック) より大きい (ステップ
S14 でYES)ので、入出力方式選択部2は新たなブロック
をキャッシュバッファ領域5に割り当てないことを決定
し、入出力部9に対して出力処理を要求する (ステップ
S16)。
シュバッファ領域5に存在しない (ステップS13 でNO)
ので、入出力方式選択部2は選択条件保持部3が保持し
ている条件を信号線70を介して読み込み、これに従って
キャッシュバッファ領域5に新たにブロックを割り当て
るか否かを決定する (ステップS14)。この場合は要求さ
れたブロック数 (4ブロック) が選択条件保持部3に保
持されている条件 (2ブロック) より大きい (ステップ
S14 でYES)ので、入出力方式選択部2は新たなブロック
をキャッシュバッファ領域5に割り当てないことを決定
し、入出力部9に対して出力処理を要求する (ステップ
S16)。
【0061】これにより、入出力部9はアプリケーショ
ンプログラム11により出力が要求されているアプリケー
ションプログラム用バッファ領域13のブロックのデータ
を経路81, 88, 83を経由してブロック型デバイス10へ転
送して記憶させる。
ンプログラム11により出力が要求されているアプリケー
ションプログラム用バッファ領域13のブロックのデータ
を経路81, 88, 83を経由してブロック型デバイス10へ転
送して記憶させる。
【0062】この処理が終了すると、入出力方式選択部
2は不整合状態解消部12に不整合状態の解消を信号線75
を介して要求し、不整合状態解消部12に制御を移す (ス
テップS18)。
2は不整合状態解消部12に不整合状態の解消を信号線75
を介して要求し、不整合状態解消部12に制御を移す (ス
テップS18)。
【0063】但し、上述の処理以前には、処理対象のブ
ロックに対応するキャッシュバッファ領域5が全く存在
しないため、不整合状態は発生しない (ステップS31 で
YES)。このため、不整合状態解消部12はそのまま処理を
終了する。
ロックに対応するキャッシュバッファ領域5が全く存在
しないため、不整合状態は発生しない (ステップS31 で
YES)。このため、不整合状態解消部12はそのまま処理を
終了する。
【0064】図2に(c) で示されているブロック番号#
0から4ブロック分の入力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して入力
要求を信号線71を介して与える。
0から4ブロック分の入力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して入力
要求を信号線71を介して与える。
【0065】入出力方式選択部2は、入出力制御部4に
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
【0066】入出力制御部4は、要求されたブロックの
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
【0067】この場合には目的のブロック全てがキャッ
シュバッファ領域5に存在する (ステップS13 でYES)の
で、入出力方式選択部2は入出力制御部4にキャッシュ
バッファ領域5からアプリケーションプログラム用バッ
ファ領域13へのデータのコピー処理を要求し、入出力制
御部4に制御を移す (ステップS17)。
シュバッファ領域5に存在する (ステップS13 でYES)の
で、入出力方式選択部2は入出力制御部4にキャッシュ
バッファ領域5からアプリケーションプログラム用バッ
ファ領域13へのデータのコピー処理を要求し、入出力制
御部4に制御を移す (ステップS17)。
【0068】入出力制御部4はキャッシュバッファ領域
5からアプリケーションプログラム用バッファ領域13へ
経路80, 84, 81を介してデータを転送し、コピーを行な
って入力処理を終了する。
5からアプリケーションプログラム用バッファ領域13へ
経路80, 84, 81を介してデータを転送し、コピーを行な
って入力処理を終了する。
【0069】この処理が終了すると、入出力方式選択部
2は不整合状態解消部12に不整合状態の解消を信号線75
を介して要求し、不整合状態解消部12に制御を移す (ス
テップS18)。
2は不整合状態解消部12に不整合状態の解消を信号線75
を介して要求し、不整合状態解消部12に制御を移す (ス
テップS18)。
【0070】但し、上述の処理以前には、処理対象のブ
ロックに対応するキャッシュバッファ領域5が全く存在
しないため、不整合状態は発生しない (ステップS31 で
YES)。このため、不整合状態解消部12はそのまま処理を
終了する。
ロックに対応するキャッシュバッファ領域5が全く存在
しないため、不整合状態は発生しない (ステップS31 で
YES)。このため、不整合状態解消部12はそのまま処理を
終了する。
【0071】図2に(c) で示されているブロック番号#
0から4ブロック分の出力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して出力
要求を信号線71を介して与える。
0から4ブロック分の出力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して出力
要求を信号線71を介して与える。
【0072】入出力方式選択部2は、入出力制御部4に
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
【0073】入出力制御部4は、要求されたブロックの
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
【0074】この場合には目的のブロック全てがキャッ
シュバッファ領域5に存在する (ステップS13 でYES)の
で、入出力方式選択部2は入出力制御部4にアプリケー
ションプログラム用バッファ領域13からキャッシュバッ
ファ領域5へのデータのコピー処理を要求し、入出力制
御部4に制御を移す (ステップS17)。
シュバッファ領域5に存在する (ステップS13 でYES)の
で、入出力方式選択部2は入出力制御部4にアプリケー
ションプログラム用バッファ領域13からキャッシュバッ
ファ領域5へのデータのコピー処理を要求し、入出力制
御部4に制御を移す (ステップS17)。
【0075】入出力制御部4はアプリケーションプログ
ラム用バッファ領域13からキャッシュバッファ領域5へ
経路81, 84, 80を経由してデータを転送し、コピーを行
なって出力処理を完了する。
ラム用バッファ領域13からキャッシュバッファ領域5へ
経路81, 84, 80を経由してデータを転送し、コピーを行
なって出力処理を完了する。
【0076】この処理が終了すると、入出力方式選択部
2は不整合状態解消部12に不整合状態の解消を信号線75
を介して要求し、不整合状態解消部12に制御を移す (ス
テップS18)。
2は不整合状態解消部12に不整合状態の解消を信号線75
を介して要求し、不整合状態解消部12に制御を移す (ス
テップS18)。
【0077】但し、上述の処理以前には、処理対象のブ
ロックに対応するキャッシュバッファ領域5が全く存在
しないため、不整合状態は発生しない (ステップS31 で
YES)。このため、不整合状態解消部12はそのまま処理を
終了する。
ロックに対応するキャッシュバッファ領域5が全く存在
しないため、不整合状態は発生しない (ステップS31 で
YES)。このため、不整合状態解消部12はそのまま処理を
終了する。
【0078】図2に(d) で示されているブロック番号#
7から2ブロック分の入力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して入力
要求を信号線71を介して与える。
7から2ブロック分の入力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して入力
要求を信号線71を介して与える。
【0079】入出力方式選択部2は、入出力制御部4に
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
【0080】入出力制御部4は、要求されたブロックの
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
【0081】この場合には目的のブロックの一部のみが
キャッシュバッファ領域5に存在する (ステップS13 で
NO) ので、入出力方式選択部2は選択条件保持部3が保
持している条件を信号線70を介して読み込み、これに従
ってキャッシュバッファ領域5に新たにブロックを割り
当てるか否かを決定する (ステップS14)。この場合は要
求されたブロック数 (2ブロック) が選択条件保持部3
に保持されている条件(2ブロック) より大きくはない
(ステップS14 でNO) ので、入出力方式選択部2は新た
なブロックをキャッシュバッファ領域5に割り当てるこ
とを決定し、入出力制御部4に対して新たなブロックを
キャッシュバッファ領域5に割り当てることを信号線74
を介して要求し、入出力制御部4に制御を移す (ステッ
プS15)。
キャッシュバッファ領域5に存在する (ステップS13 で
NO) ので、入出力方式選択部2は選択条件保持部3が保
持している条件を信号線70を介して読み込み、これに従
ってキャッシュバッファ領域5に新たにブロックを割り
当てるか否かを決定する (ステップS14)。この場合は要
求されたブロック数 (2ブロック) が選択条件保持部3
に保持されている条件(2ブロック) より大きくはない
(ステップS14 でNO) ので、入出力方式選択部2は新た
なブロックをキャッシュバッファ領域5に割り当てるこ
とを決定し、入出力制御部4に対して新たなブロックを
キャッシュバッファ領域5に割り当てることを信号線74
を介して要求し、入出力制御部4に制御を移す (ステッ
プS15)。
【0082】入出力制御部4は、まずアプリケーション
プログラム11により要求されているブロックのデータを
直接アプリケーションプログラム用バッファ領域13へ入
力するように入出力部9に対して要求すると共に、入出
力制御部4はまだ割り当てられていなかったブロック番
号#8に対応するブロックをキャッシュバッファ領域5
に割り当てる (ステップS22)。
プログラム11により要求されているブロックのデータを
直接アプリケーションプログラム用バッファ領域13へ入
力するように入出力部9に対して要求すると共に、入出
力制御部4はまだ割り当てられていなかったブロック番
号#8に対応するブロックをキャッシュバッファ領域5
に割り当てる (ステップS22)。
【0083】これにより、入出力部9はアプリケーショ
ンプログラム11により入力が要求されているブロック型
デバイス10のブロックのデータを読み出して経路88, 81
を経由してアプリケーションプログラム用バッファ領域
13へ転送して記憶させる。また、入出力制御部4は新た
に割り当てられたキャッシュバッファ領域5のブロック
へアプリケーションプログラム用バッファ領域13から経
路81, 84, 80を経由してデータを転送し、コピーして処
理を終える (ステップS25)。
ンプログラム11により入力が要求されているブロック型
デバイス10のブロックのデータを読み出して経路88, 81
を経由してアプリケーションプログラム用バッファ領域
13へ転送して記憶させる。また、入出力制御部4は新た
に割り当てられたキャッシュバッファ領域5のブロック
へアプリケーションプログラム用バッファ領域13から経
路81, 84, 80を経由してデータを転送し、コピーして処
理を終える (ステップS25)。
【0084】最後に、入出力方式選択部2は、不整合状
態解消部12に対して、キャッシュバッファ領域5の不整
合状態の解消を要求し、不整合状態解消部12に制御を移
す (ステップS18)。不整合状態解消部12は、処理対象と
なったブロック型デバイス10のブロックに対応するブロ
ックがキャッシュバッファ領域5に処理開始以前に存在
していたことを検出し (ステップS31 でNO) 、そのブロ
ック (ブロック番号#7に対応する) の内容をキャッシ
ュバッファ領域5からアプリケーションプログラム用バ
ッファ領域13へ転送してコピーすることにより不整合状
態を解消し、入力処理を完了する (ステップS32, S34)
。
態解消部12に対して、キャッシュバッファ領域5の不整
合状態の解消を要求し、不整合状態解消部12に制御を移
す (ステップS18)。不整合状態解消部12は、処理対象と
なったブロック型デバイス10のブロックに対応するブロ
ックがキャッシュバッファ領域5に処理開始以前に存在
していたことを検出し (ステップS31 でNO) 、そのブロ
ック (ブロック番号#7に対応する) の内容をキャッシ
ュバッファ領域5からアプリケーションプログラム用バ
ッファ領域13へ転送してコピーすることにより不整合状
態を解消し、入力処理を完了する (ステップS32, S34)
。
【0085】図2に(d) で示されているブロック番号#
7から2ブロック分の出力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して出力
要求を信号線71を介して与える。
7から2ブロック分の出力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して出力
要求を信号線71を介して与える。
【0086】入出力方式選択部2は、入出力制御部4に
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
【0087】入出力制御部4は、要求されたブロックの
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
【0088】この場合には目的のブロックの一部のみが
キャッシュバッファ領域5に存在する (ステップS13 で
NO) ので、入出力方式選択部2は選択条件保持部3が保
持している条件を信号線70を介して読み込み、これに従
ってキャッシュバッファ領域5に新たにブロックを割り
当てるか否かを決定する (ステップS14)。この場合は要
求されたブロック数 (2ブロック) が選択条件保持部3
に保持されている条件(2ブロック) より大きくはない
(ステップS14 でNO) ので、入出力方式選択部2は新た
なブロックをキャッシュバッファ領域5に割り当てるこ
とを決定し、入出力制御部4に対して新たなブロックを
キャッシュバッファ領域5に割り当てることを信号線74
を介して要求し、入出力制御部4に制御を移す (ステッ
プS15)。
キャッシュバッファ領域5に存在する (ステップS13 で
NO) ので、入出力方式選択部2は選択条件保持部3が保
持している条件を信号線70を介して読み込み、これに従
ってキャッシュバッファ領域5に新たにブロックを割り
当てるか否かを決定する (ステップS14)。この場合は要
求されたブロック数 (2ブロック) が選択条件保持部3
に保持されている条件(2ブロック) より大きくはない
(ステップS14 でNO) ので、入出力方式選択部2は新た
なブロックをキャッシュバッファ領域5に割り当てるこ
とを決定し、入出力制御部4に対して新たなブロックを
キャッシュバッファ領域5に割り当てることを信号線74
を介して要求し、入出力制御部4に制御を移す (ステッ
プS15)。
【0089】入出力制御部4は、まだ割り当てられてい
なかったブロック番号#8のに対応するブロックをキャ
ッシュバッファ領域5に新たに割り当て (ステップS2
3)、その後に新たに割り当てられたキャッシュバッファ
領域5のブロックへアプリケーションプログラム用バッ
ファ領域13から経路81, 84, 80を経由してデータをコピ
ーする。
なかったブロック番号#8のに対応するブロックをキャ
ッシュバッファ領域5に新たに割り当て (ステップS2
3)、その後に新たに割り当てられたキャッシュバッファ
領域5のブロックへアプリケーションプログラム用バッ
ファ領域13から経路81, 84, 80を経由してデータをコピ
ーする。
【0090】最後に、入出力方式選択部2は、不整合状
態解消部12に対して、キャッシュバッファ領域5の不整
合状態の解消を要求し、不整合状態解消部12に制御を移
す (ステップS18)。不整合状態解消部12は、処理対象と
なったブロック型デバイス10のブロックに対応するブロ
ックがキャッシュバッファ領域5に処理開始以前に存在
していたことを検出し (ステップS31 でNO) 、アプリケ
ーションプログラム用バッファ領域13のそのブロック
(ブロック番号#10に対応す)のデータをキャッシュバ
ッファ領域5の対応するブロックへ転送して不整合状態
を解消し、出力処理を完了する (ステップS32, S33) 。
態解消部12に対して、キャッシュバッファ領域5の不整
合状態の解消を要求し、不整合状態解消部12に制御を移
す (ステップS18)。不整合状態解消部12は、処理対象と
なったブロック型デバイス10のブロックに対応するブロ
ックがキャッシュバッファ領域5に処理開始以前に存在
していたことを検出し (ステップS31 でNO) 、アプリケ
ーションプログラム用バッファ領域13のそのブロック
(ブロック番号#10に対応す)のデータをキャッシュバ
ッファ領域5の対応するブロックへ転送して不整合状態
を解消し、出力処理を完了する (ステップS32, S33) 。
【0091】図2に(e) で示されているブロック番号#
8から4ブロック分の入力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して入力
要求を信号線71を介して与える。
8から4ブロック分の入力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して入力
要求を信号線71を介して与える。
【0092】入出力方式選択部2は、入出力制御部4に
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
【0093】入出力制御部4は、要求されたブロックの
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
【0094】この場合には目的のブロック全てがキャッ
シュバッファ領域5に存在しない (ステップS13 でNO)
ので、入出力方式選択部2は選択条件保持部3が保持し
ている条件を信号線70を介して読み込み、これに従って
キャッシュバッファ領域5に新たにブロックを割り当て
るか否かを決定する (ステップS14)。この場合は要求さ
れたブロック数 (4ブロック) が選択条件保持部3に保
持されている条件 (2ブロック) より大きい (ステップ
S14 でYES)ので、入出力方式選択部2は新たなブロック
をキャッシュバッファ領域5に割り当てないことを決定
し、入出力部9に対して入力処理を要求する (ステップ
S16)。
シュバッファ領域5に存在しない (ステップS13 でNO)
ので、入出力方式選択部2は選択条件保持部3が保持し
ている条件を信号線70を介して読み込み、これに従って
キャッシュバッファ領域5に新たにブロックを割り当て
るか否かを決定する (ステップS14)。この場合は要求さ
れたブロック数 (4ブロック) が選択条件保持部3に保
持されている条件 (2ブロック) より大きい (ステップ
S14 でYES)ので、入出力方式選択部2は新たなブロック
をキャッシュバッファ領域5に割り当てないことを決定
し、入出力部9に対して入力処理を要求する (ステップ
S16)。
【0095】これにより、入出力部9はアプリケーショ
ンプログラム11により入力が要求されているブロック型
デバイス10のブロックのデータを読み出して経路88, 81
を経由してアプリケーションプログラム用バッファ領域
13へ転送して記憶させる。
ンプログラム11により入力が要求されているブロック型
デバイス10のブロックのデータを読み出して経路88, 81
を経由してアプリケーションプログラム用バッファ領域
13へ転送して記憶させる。
【0096】最後に、入出力方式選択部2は、不整合状
態解消部12に対して、キャッシュバッファ領域5の不整
合状態の解消要求を出す。不整合状態解消部12は、入力
処理の対象となったブロック型デバイス10のブロックに
対応するブロックがキャッシュバッファ領域5が存在し
ていたことを検出し (ステップS31 でNO) 、そのブロッ
ク (ブロック番号#10に対応する) の内容をアプリケー
ションプログラム用バッファ領域13へ転送してコピーし
て不整合状態を解消し、入力処理を完了する (ステップ
S32, S34) 。
態解消部12に対して、キャッシュバッファ領域5の不整
合状態の解消要求を出す。不整合状態解消部12は、入力
処理の対象となったブロック型デバイス10のブロックに
対応するブロックがキャッシュバッファ領域5が存在し
ていたことを検出し (ステップS31 でNO) 、そのブロッ
ク (ブロック番号#10に対応する) の内容をアプリケー
ションプログラム用バッファ領域13へ転送してコピーし
て不整合状態を解消し、入力処理を完了する (ステップ
S32, S34) 。
【0097】図2に(e) で示されているブロック番号#
8から4ブロック分の出力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して出力
要求を信号線71を介して与える。
8から4ブロック分の出力処理の場合、まずアプリケー
ションプログラム11は入出力方式選択部2に対して出力
要求を信号線71を介して与える。
【0098】入出力方式選択部2は、入出力制御部4に
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
対して、要求されたブロックの全てがキャッシュバッフ
ァ領域5に存在するか否かの問い合わせを信号線74を介
して行なう (ステップS11)。これにより、入出力制御部
4に制御が移される (ステップS12)。
【0099】入出力制御部4は、要求されたブロックの
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
内のいくつがキャッシュバッファ領域5に現在存在する
か否かを調べて入出力方式選択部2に信号線74を介して
応答する (ステップS21)。
【0100】この場合には目的のブロック全てがキャッ
シュバッファ領域5に存在しない (ステップS13 でNO)
ので、入出力方式選択部2は選択条件保持部3が保持し
ている条件を信号線70を介して読み込み、これに従って
キャッシュバッファ領域5に新たにブロックを割り当て
るか否かを決定する (ステップS14)。この場合は要求さ
れたブロック数 (4ブロック) が選択条件保持部3に保
持されている条件 (2ブロック) より大きい (ステップ
S14 でYES)ので、入出力方式選択部2は新たなブロック
をキャッシュバッファ領域5に割り当てないことを決定
し、入出力部9に対して出力処理を要求する (ステップ
S16)。
シュバッファ領域5に存在しない (ステップS13 でNO)
ので、入出力方式選択部2は選択条件保持部3が保持し
ている条件を信号線70を介して読み込み、これに従って
キャッシュバッファ領域5に新たにブロックを割り当て
るか否かを決定する (ステップS14)。この場合は要求さ
れたブロック数 (4ブロック) が選択条件保持部3に保
持されている条件 (2ブロック) より大きい (ステップ
S14 でYES)ので、入出力方式選択部2は新たなブロック
をキャッシュバッファ領域5に割り当てないことを決定
し、入出力部9に対して出力処理を要求する (ステップ
S16)。
【0101】これにより、入出力部9はアプリケーショ
ンプログラム11により出力が要求されているアプリケー
ションプログラム用バッファ領域13のブロックのデータ
を経路81, 88, 83を経由してブロック型デバイス10へ転
送して記憶させる。
ンプログラム11により出力が要求されているアプリケー
ションプログラム用バッファ領域13のブロックのデータ
を経路81, 88, 83を経由してブロック型デバイス10へ転
送して記憶させる。
【0102】最後に、入出力方式選択部2は不整合状態
解消部12に対してキャッシュバッファ領域5の不整合状
態の解消要求を出す。不整合状態解消部12は、出力処理
の対象となったブロックに対応するキャッシュバッファ
領域5が存在していたことを検出し (ステップS31 でN
O) 、アプリケーションプログラム用バッファ領域13の
そのブロック (ブロック番号#10に対応す)のデータを
キャッシュバッファ領域5の対応するブロックへ転送し
て不整合状態を解消し、出力処理を完了する (ステップ
S32, S33) 。
解消部12に対してキャッシュバッファ領域5の不整合状
態の解消要求を出す。不整合状態解消部12は、出力処理
の対象となったブロックに対応するキャッシュバッファ
領域5が存在していたことを検出し (ステップS31 でN
O) 、アプリケーションプログラム用バッファ領域13の
そのブロック (ブロック番号#10に対応す)のデータを
キャッシュバッファ領域5の対応するブロックへ転送し
て不整合状態を解消し、出力処理を完了する (ステップ
S32, S33) 。
【0103】
【発明の効果】以上に詳述したように本発明に係るキャ
ッシュバッファを有するデータ処理装置では、選択条件
保持部 (手段) に設定されている選択条件の値を基準と
してキャッシュバッファを使用するか否かが判断される
ので、キャッシュバッファの入れ換えの回数が少なく抑
えられてヒット率が向上し、またアプリケーションプロ
グラム用のバッファとキャッシュバッファとの間でデー
タの不整合が生じた場合には不整合状態解消部 (手段)
により両者間でデータのコピーが行なわれるので、不整
合状態が解消される。
ッシュバッファを有するデータ処理装置では、選択条件
保持部 (手段) に設定されている選択条件の値を基準と
してキャッシュバッファを使用するか否かが判断される
ので、キャッシュバッファの入れ換えの回数が少なく抑
えられてヒット率が向上し、またアプリケーションプロ
グラム用のバッファとキャッシュバッファとの間でデー
タの不整合が生じた場合には不整合状態解消部 (手段)
により両者間でデータのコピーが行なわれるので、不整
合状態が解消される。
【0104】また、アプリケーションプログラムの処理
により選択条件保持部 (手段) に選択条件の値を任意に
設定することが可能であるため、アプリケーションプロ
グラムに最適な値を設定することが可能になる。
により選択条件保持部 (手段) に選択条件の値を任意に
設定することが可能であるため、アプリケーションプロ
グラムに最適な値を設定することが可能になる。
【図1】本発明に係るキャッシュバッファを有するデー
タ処理装置のキャッシュバッファの管理のためのハード
ウェア及びソフトウェアの機能を示すブロック図であ
る。
タ処理装置のキャッシュバッファの管理のためのハード
ウェア及びソフトウェアの機能を示すブロック図であ
る。
【図2】本発明に係るキャッシュバッファを有するデー
タ処理装置のキャッシュバッファの管理に際してアプリ
ケーションプログラムが使用するバッファ領域, キャッ
シュバッファ領域のブロックの使用状況, ブロック型デ
バイスのブロックを示す模式図である。
タ処理装置のキャッシュバッファの管理に際してアプリ
ケーションプログラムが使用するバッファ領域, キャッ
シュバッファ領域のブロックの使用状況, ブロック型デ
バイスのブロックを示す模式図である。
【図3】本発明に係るキャッシュバッファを有するデー
タ処理装置のキャッシュバッファの管理の際の出力方式
選択部の動作手順を示すフローチャートである。
タ処理装置のキャッシュバッファの管理の際の出力方式
選択部の動作手順を示すフローチャートである。
【図4】本発明に係るキャッシュバッファを有するデー
タ処理装置のキャッシュバッファの管理の際の出力制御
部の動作手順をフローチャートである。
タ処理装置のキャッシュバッファの管理の際の出力制御
部の動作手順をフローチャートである。
【図5】本発明に係るキャッシュバッファを有するデー
タ処理装置のキャッシュバッファの管理の際の不整合状
態解消部の動作手順を示すフローチャートである。
タ処理装置のキャッシュバッファの管理の際の不整合状
態解消部の動作手順を示すフローチャートである。
【図6】従来のキャッシュバッファを有するデータ処理
装置のキャッシュバッファ管理のためのハードウェア及
びソフトウェアの機能を示すブロック図である。
装置のキャッシュバッファ管理のためのハードウェア及
びソフトウェアの機能を示すブロック図である。
1 キャッシュバッファ管理部 2 入出力方式選択部 3 選択条件保持部 4 入出力制御部 5 キャッシュバッファ領域 9 入出力部 10 ブロック型デバイス 11 アプリケーションプログラム 12 不整合状態解消部 13 アプリケーションプログラム用バッファ領域
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成6年4月14日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正内容】
【0001】
【産業上の利用分野】本発明はブロック型のデバイス、
即ちフレキシブルディスクユニット, ハードディスクユ
ニット, 光磁気ディスクユニット等のような記憶媒体上
のたとえばセクタに記憶されている一連のデータを一単
位のブロックとしてデータが入出力される記憶装置に対
してキャッシュバッファを利用してアプリケーションプ
ログラムがデータを入出力することが可能なキャッシュ
バッファを有するデータ処理装置に関する。
即ちフレキシブルディスクユニット, ハードディスクユ
ニット, 光磁気ディスクユニット等のような記憶媒体上
のたとえばセクタに記憶されている一連のデータを一単
位のブロックとしてデータが入出力される記憶装置に対
してキャッシュバッファを利用してアプリケーションプ
ログラムがデータを入出力することが可能なキャッシュ
バッファを有するデータ処理装置に関する。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正内容】
【0011】このような事情から、たとえば特開平4-60
730 号公報, 特開平3-196345号公報等の発明が提案され
ている。前者は、キャッシュバッファの容量以上のデー
タが入出力された場合にはキャッシュバッファをバイパ
スする構成が開示されている。また、後者はデータの入
出力をキャッシュバッファを用いて行なうか否かを判定
した上で行なう構成が開示されている。
730 号公報, 特開平3-196345号公報等の発明が提案され
ている。前者は、キャッシュバッファの容量以上のデー
タが入出力された場合にはキャッシュバッファをバイパ
スする構成が開示されている。また、後者はデータの入
出力をキャッシュバッファを用いて行なうか否かを判定
した上で行なう構成が開示されている。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0068
【補正方法】変更
【補正内容】
【0068】入出力制御部4はキャッシュバッファ領域
5からアプリケーションプログラム用バッファ領域13へ
経路80, 84, 81を介してデータを転送し、コピーを行な
って入力処理を終了する。上述の処理以前には、処理対
象のブロックの全てがキャッシュバッファ領域5に存在
するため、不整合状態解消部12の処理は行なわれない。
5からアプリケーションプログラム用バッファ領域13へ
経路80, 84, 81を介してデータを転送し、コピーを行な
って入力処理を終了する。上述の処理以前には、処理対
象のブロックの全てがキャッシュバッファ領域5に存在
するため、不整合状態解消部12の処理は行なわれない。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0069
【補正方法】削除
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0070
【補正方法】削除
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0075
【補正方法】変更
【補正内容】
【0075】入出力制御部4はアプリケーションプログ
ラム用バッファ領域13からキャッシュバッファ領域5へ
経路81, 84, 80を介してデータを転送し、コピーを行な
って入力処理を完了する。上述の処理以前には、処理対
象のブロックの全てがキャッシュバッファ領域5に存在
するため、不整合状態解消部12での処理は行なわれな
い。
ラム用バッファ領域13からキャッシュバッファ領域5へ
経路81, 84, 80を介してデータを転送し、コピーを行な
って入力処理を完了する。上述の処理以前には、処理対
象のブロックの全てがキャッシュバッファ領域5に存在
するため、不整合状態解消部12での処理は行なわれな
い。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0076
【補正方法】削除
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0077
【補正方法】削除
【手続補正9】
【補正対象書類名】図面
【補正対象項目名】図4
【補正方法】変更
【補正内容】
【図4】
Claims (2)
- 【請求項1】 アプリケーションプログラム(11)からの
要求に応じて入出力手段(9) を介してブロック単位での
データの入出力が可能なブロック型の記憶装置(10)が接
続され、前記記憶装置(10)上に存在するブロックに対応
したデータを保持するキャッシュバッファ領域(5) が設
定されると共に前記アプリケーションプログラム(11)の
ためのバッファ領域(13)を有するメモリを内蔵したデー
タ処理装置において、 前記アプリケーションプログラム(11)により入出力要求
がなされた前記記憶装置(10)上のブロックに対応するブ
ロックの全てが前記キャッシュバッファ領域(5) に存在
するか否かの判定を行なう機能と、前記キャッシュバッ
ファ領域(5) に新たなブロックの割り当てを行なう機能
と、前記キャッシュバッファ領域(5) と前記アプリケー
ションプログラム(11)のためのバッファ領域(13)との間
のデータの入出力を行なう機能とを有する入出力制御手
段(4) と、 1回の処理で入出力可能なブロック数を選択条件として
保持する選択条件保持手段(3) と、 前記アプリケーションプログラム(11)により入出力処理
要求されたブロックの全てが前記キャッシュバッファ領
域(5) 上に存在するか否かを前記入出力制御手段(4) に
問い合わせる機能と、前記アプリケーションプログラム
(11)により入出力処理要求されたブロックの全てが前記
キャッシュバッファ領域(5) 上に存在しない場合は前記
選択条件保持手段(3) が保持している条件に従って前記
キャッシュバッファ領域(5) にブロックを新規に割り当
てるか否かを選択する機能とを有する入出力方式選択手
段(2) と、 前記入出力手段(9) によるデータの入出力処理に伴って
前記アプリケーションプログラム(11)のためのバッファ
領域(13)と前記キャッシュバッファ領域(5) との間に発
生する不整合状態を解消する不整合状態解消手段(12)と
を備え、 前記入出力制御手段(4) は、前記キャッシュバッファ領
域(5) にブロックを新規に割り当てた場合には、前記入
出力手段(9) により入出力されたデータを前記キャッシ
ュバッファ領域(5) に新規に割り当てられたブロックに
も記憶させ、 前記不整合状態解消手段(12)は、前記入出力手段(9) に
より入出力されたブロックに対応するブロックが前記ア
プリケーションプログラム(11)からの要求に応じてデー
タの入出力処理が開始以前からキャッシュバッファ領域
(5) 上に存在していたと前記入出力制御手段(4) が判定
した場合に、そのブロックの内容を前記アプリケーショ
ンプログラム(11)のためのバッファ(13)と前記キャッシ
ュバッファ領域(5) との間でコピーすべくなしてあるこ
とを特徴とするキャッシュバッファを有するデータ処理
装置。 - 【請求項2】 アプリケーションプログラム(11)の処理
により任意の値を選択条件保持手段(3) に設定すること
が可能に構成されていることを特徴とする請求項1に記
載のキャッシュバッファを有するデータ処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5305294A JPH07160582A (ja) | 1993-12-06 | 1993-12-06 | キャッシュバッファを有するデータ処理装置 |
US08/353,249 US5623630A (en) | 1993-12-06 | 1994-12-02 | Data processor with application program buffer to cache buffer copy capability to prevent mismatches |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5305294A JPH07160582A (ja) | 1993-12-06 | 1993-12-06 | キャッシュバッファを有するデータ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07160582A true JPH07160582A (ja) | 1995-06-23 |
Family
ID=17943374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5305294A Pending JPH07160582A (ja) | 1993-12-06 | 1993-12-06 | キャッシュバッファを有するデータ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5623630A (ja) |
JP (1) | JPH07160582A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7221961B1 (en) | 1999-06-14 | 2007-05-22 | Ntt Docomo, Inc. | Wireless telecommunications unit attachable to and detachable from an external unit |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6154810A (en) * | 1995-08-28 | 2000-11-28 | Apple Computer, Inc. | System and method for utilizing the memory of a portable computer as a disk cache while in SCSI target mode |
JP2002259207A (ja) * | 2001-03-02 | 2002-09-13 | Fujitsu Ltd | 情報処理装置及び信号処理装置並びにインタフェース装置 |
US6922754B2 (en) * | 2002-12-09 | 2005-07-26 | Infabric Technologies, Inc. | Data-aware data flow manager |
US8527711B2 (en) * | 2006-12-27 | 2013-09-03 | International Business Machines Corporation | Method and system to preview new cacheable content |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4075686A (en) * | 1976-12-30 | 1978-02-21 | Honeywell Information Systems Inc. | Input/output cache system including bypass capability |
JPH07104810B2 (ja) * | 1989-11-18 | 1995-11-13 | 株式会社日立製作所 | 共用ファイルのアクセス制御方式 |
JPH03196345A (ja) * | 1989-12-26 | 1991-08-27 | Nec Corp | データ入出力方式 |
JPH0460730A (ja) * | 1990-06-28 | 1992-02-26 | Nec Corp | キャッシュ制御方式 |
-
1993
- 1993-12-06 JP JP5305294A patent/JPH07160582A/ja active Pending
-
1994
- 1994-12-02 US US08/353,249 patent/US5623630A/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7221961B1 (en) | 1999-06-14 | 2007-05-22 | Ntt Docomo, Inc. | Wireless telecommunications unit attachable to and detachable from an external unit |
Also Published As
Publication number | Publication date |
---|---|
US5623630A (en) | 1997-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5276836A (en) | Data processing device with common memory connecting mechanism | |
US20030101318A1 (en) | Data copy method | |
US5479615A (en) | Buffer asynchronous output apparatus capable of referring to or renewing a previously renewed buffer area by another renewal processing program | |
EP0533427A1 (en) | Computer memory control system | |
JPH07160582A (ja) | キャッシュバッファを有するデータ処理装置 | |
US5134698A (en) | Data processing system having a storage controller for transferring an arbitrary amount of data at an arbitrary address boundary between storages | |
EP0330087A2 (en) | Extended storage system | |
JPS6214863B2 (ja) | ||
JP3480282B2 (ja) | 二重化ファイルi/o装置及びその方法及びそれを使用した情報処理装置 | |
JP2004227445A (ja) | 記憶装置サブシステムにおけるコピー方法および記憶装置サブシステム | |
JPS62274349A (ja) | デ−タ処理システム | |
JP3092663B2 (ja) | 主記憶スワッピング方式 | |
JP2906739B2 (ja) | 記憶装置 | |
JPH02267658A (ja) | マルチプロセッサシステム | |
JPH02114344A (ja) | ガーベジコレクション処理装置 | |
JPH03257521A (ja) | 媒体複写方式 | |
JPH0248749A (ja) | バッファ記憶制御装置 | |
JPH03282645A (ja) | ローカルエリアネットワークシステム | |
JPS6389951A (ja) | キヤツシユメモリ装置 | |
JPH0293843A (ja) | キャッシュ記憶制御方式 | |
JPH07105049A (ja) | 仮想メモリダンプ採取方法 | |
JPH02234246A (ja) | キャッシュ一致処理制御システム | |
JPH02105237A (ja) | 順編成ファイルのデータ更新方式 | |
JPH0588969A (ja) | 部分書き込み処理方式 | |
JPS63286934A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040615 |