JPH07319633A - 外部記憶制御装置 - Google Patents
外部記憶制御装置Info
- Publication number
- JPH07319633A JPH07319633A JP6111041A JP11104194A JPH07319633A JP H07319633 A JPH07319633 A JP H07319633A JP 6111041 A JP6111041 A JP 6111041A JP 11104194 A JP11104194 A JP 11104194A JP H07319633 A JPH07319633 A JP H07319633A
- Authority
- JP
- Japan
- Prior art keywords
- external storage
- transfer
- cpu
- data
- buffer memory
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 プリフェッチに伴うオーバヘッドを少なくし
て高速化を図ることができる外部記憶制御装置を提供す
ること。 【構成】 CPU6と内部バッファ・メモリ7とを有し
外部記憶装置16に対してアクセスする外部記憶制御装
置において、外部記憶装置16と内部バッファ・メモリ
16との間の一連のデータ転送の一部或いは全部が完了
したことを検出してこれをCPUに通知を発行する転送
通知手段18を設ける。転送通知手段18は、たとえ
ば、予め設定されたバッファ・メモリ・アドレスにリー
ド・データがストアされたとき、或いは、予め設定され
たバイト数のリード・データがバッファ・メモリ・アド
レスにストアされるごとに外部記憶制御装置を制御して
いるCPU6に通知を発行する。
て高速化を図ることができる外部記憶制御装置を提供す
ること。 【構成】 CPU6と内部バッファ・メモリ7とを有し
外部記憶装置16に対してアクセスする外部記憶制御装
置において、外部記憶装置16と内部バッファ・メモリ
16との間の一連のデータ転送の一部或いは全部が完了
したことを検出してこれをCPUに通知を発行する転送
通知手段18を設ける。転送通知手段18は、たとえ
ば、予め設定されたバッファ・メモリ・アドレスにリー
ド・データがストアされたとき、或いは、予め設定され
たバイト数のリード・データがバッファ・メモリ・アド
レスにストアされるごとに外部記憶制御装置を制御して
いるCPU6に通知を発行する。
Description
【0001】
【産業上の利用分野】本発明は、情報処理装置の外部記
憶制御装置に関するものである。
憶制御装置に関するものである。
【0002】
【従来の技術】外部記憶制御装置には、磁気ディスク装
置等の外部記憶装置の大きなアクセスタイムを緩衝する
ためにディスク・キャッシュと呼ばれるバッファ・メモ
リを用いる技術が既に知られている(たとえば、C.
P.Grossman,「システム性能を改善するIB
M3880ディスク制御装置用キャッシュの設計」,日
経エレクトロニクス,1986年8月11日(No.4
01)号,pp.163−184、金子他,「ディスク
キャッシュシステム」,FUJITSU,Vol.3
4,No.2,(1983),pp.253−261、
Smith,A.J.,Disk Cache−Mis
s Ratio Analysis andDesig
n Considerations,ACM Tran
sactions on Computer Syst
ems 3,Aug.’85,pp.161−203等
参照)。
置等の外部記憶装置の大きなアクセスタイムを緩衝する
ためにディスク・キャッシュと呼ばれるバッファ・メモ
リを用いる技術が既に知られている(たとえば、C.
P.Grossman,「システム性能を改善するIB
M3880ディスク制御装置用キャッシュの設計」,日
経エレクトロニクス,1986年8月11日(No.4
01)号,pp.163−184、金子他,「ディスク
キャッシュシステム」,FUJITSU,Vol.3
4,No.2,(1983),pp.253−261、
Smith,A.J.,Disk Cache−Mis
s Ratio Analysis andDesig
n Considerations,ACM Tran
sactions on Computer Syst
ems 3,Aug.’85,pp.161−203等
参照)。
【0003】ディスク・キャッシュを採用したデータ処
理装置においては、一般に、アプリケーションからのフ
ァイル・アクセスはオペレーティングシステム(OS)
のファイル・システムを経由して行なわれ、OSファイ
ル・システム内部ではバッファ・キャッシュ機構により
ファイル・データのキャッシングが行なわれている。オ
ペレーティングシステムは、外部記憶制御装置を介して
磁気ディスク装置等の外部記憶装置を管理している。外
部記憶制御装置は、ディスク・キャッシュを内蔵してお
り、このディスク・キャッシュには外部記憶装置のデー
タの一部がコピーされている。
理装置においては、一般に、アプリケーションからのフ
ァイル・アクセスはオペレーティングシステム(OS)
のファイル・システムを経由して行なわれ、OSファイ
ル・システム内部ではバッファ・キャッシュ機構により
ファイル・データのキャッシングが行なわれている。オ
ペレーティングシステムは、外部記憶制御装置を介して
磁気ディスク装置等の外部記憶装置を管理している。外
部記憶制御装置は、ディスク・キャッシュを内蔵してお
り、このディスク・キャッシュには外部記憶装置のデー
タの一部がコピーされている。
【0004】上述した装置においては、同一のファイル
・データに対する複数のアクセスはOSバッファ・キャ
ッシュ機構によりサービスされるため、ディスク・キャ
ッシュに同一のファイル・データに対する複数のリクエ
ストが発行されることは少ない。従って、ディスク・キ
ャッシュによる高速化の効果としては、ライト動作を高
速化するライト・バッファの機能と、アプリケーション
がアクセスすると予想されるファイル・データを先読み
し予めキャッシュ上に登録しておくプリフェッチによる
効果が主なものとなる。
・データに対する複数のアクセスはOSバッファ・キャ
ッシュ機構によりサービスされるため、ディスク・キャ
ッシュに同一のファイル・データに対する複数のリクエ
ストが発行されることは少ない。従って、ディスク・キ
ャッシュによる高速化の効果としては、ライト動作を高
速化するライト・バッファの機能と、アプリケーション
がアクセスすると予想されるファイル・データを先読み
し予めキャッシュ上に登録しておくプリフェッチによる
効果が主なものとなる。
【0005】ファイル・データのプリフェッチ方法とし
ては、概略以下の2つの方法が考えられる。図4を参照
して説明する。51はホストCPU、52は外部記憶制
御装置、53はハードディスク装置等の外部記憶装置、
54はディスク・キャッシュ、55はメモリである。外
部記憶装置53においては、SCSI(SmallCo
mpuer Standard Interface)
コントローラ53aによりバッファ53bを介してディ
スク53cに対してファイルデータのライト及びリード
が行われる。
ては、概略以下の2つの方法が考えられる。図4を参照
して説明する。51はホストCPU、52は外部記憶制
御装置、53はハードディスク装置等の外部記憶装置、
54はディスク・キャッシュ、55はメモリである。外
部記憶装置53においては、SCSI(SmallCo
mpuer Standard Interface)
コントローラ53aによりバッファ53bを介してディ
スク53cに対してファイルデータのライト及びリード
が行われる。
【0006】方法(1):上位のホストCPU51から
要求されたディスク・ブロック・アドレスに対応するデ
ータ長(図5の左下がり斜線を付した部分)分のコマン
ドをディスク制御装置52を介して外部記憶装置53に
発行し、外部記憶装置53から前記データが読み出され
たら当該データをホストCPU51に転送するとともに
ディスク・キャッシュ (キャッシュ・バッファ)54に
登録を行ない、ホストCPU51が前記転送データを処
理する間にプリフェッチのために前記転送データに続く
データ・ブロック(図5の右下がり斜線を付した部分)
を読み出すコマンドを外部記憶装置53に発行する(た
とえば、特開平5−143243号公報参照)。
要求されたディスク・ブロック・アドレスに対応するデ
ータ長(図5の左下がり斜線を付した部分)分のコマン
ドをディスク制御装置52を介して外部記憶装置53に
発行し、外部記憶装置53から前記データが読み出され
たら当該データをホストCPU51に転送するとともに
ディスク・キャッシュ (キャッシュ・バッファ)54に
登録を行ない、ホストCPU51が前記転送データを処
理する間にプリフェッチのために前記転送データに続く
データ・ブロック(図5の右下がり斜線を付した部分)
を読み出すコマンドを外部記憶装置53に発行する(た
とえば、特開平5−143243号公報参照)。
【0007】方法(2):上位のホストCPU51から
要求されたディスク・ブロック・アドレスに対応するデ
ータ長(図5の左下がり斜線を付した部分)にプリフェ
ッチ分(図5の右下がり斜線を付した部分)を加えたデ
ータ長分を読み出すコマンドを外部記憶装置53に発行
する。
要求されたディスク・ブロック・アドレスに対応するデ
ータ長(図5の左下がり斜線を付した部分)にプリフェ
ッチ分(図5の右下がり斜線を付した部分)を加えたデ
ータ長分を読み出すコマンドを外部記憶装置53に発行
する。
【0008】
【発明が解決しようとする課題】ところが、方法(1)
のように2回コマンドを発行する方法においては、最初
のコマンドに基づいて最初のファイル・データをディス
ク53cからリードしてバッファ53bに転送し更に、
SCSIコントローラ53aにより外部記憶装置53か
ら外部記憶制御装置52にファイル・データの転送を行
なっている間に、プリフェッチ・データの先頭データ・
ブロックはディスク・ヘッドを通過してしまう。このた
め、プリフェッチ・コマンドが発行されても直ぐにはデ
ィスクから次のファイル・データをリードすることはで
きず、目的のデータ・ブロックに達するまでの回転待ち
を生じてしまう。
のように2回コマンドを発行する方法においては、最初
のコマンドに基づいて最初のファイル・データをディス
ク53cからリードしてバッファ53bに転送し更に、
SCSIコントローラ53aにより外部記憶装置53か
ら外部記憶制御装置52にファイル・データの転送を行
なっている間に、プリフェッチ・データの先頭データ・
ブロックはディスク・ヘッドを通過してしまう。このた
め、プリフェッチ・コマンドが発行されても直ぐにはデ
ィスクから次のファイル・データをリードすることはで
きず、目的のデータ・ブロックに達するまでの回転待ち
を生じてしまう。
【0009】一般に、ディスク・メディアからのデータ
読み出し速度は3〜5MB/secであり、外部記憶装
置と外部記憶制御装置間のインタフェース転送速度はA
NSI規格のSCSI−2に準拠したと仮定しても10
MB/secである。従って、外部記憶装置53からの
リード・データ転送を行なっている間に、読み出された
データ・ブロックの1/2〜1/3に相当するブロック
はヘッドを通過してしまうことになる。
読み出し速度は3〜5MB/secであり、外部記憶装
置と外部記憶制御装置間のインタフェース転送速度はA
NSI規格のSCSI−2に準拠したと仮定しても10
MB/secである。従って、外部記憶装置53からの
リード・データ転送を行なっている間に、読み出された
データ・ブロックの1/2〜1/3に相当するブロック
はヘッドを通過してしまうことになる。
【0010】また、方法(2)のように要求されたディ
スク・ブロックとこれに続くプリフェッチ分に対して1
回コマンドを発行する方法においては、ファイル・デー
タのリードを要求しているアプリケーションが、プリフ
ェッチ・データのリード完了まで待たなければならず、
例えば10KBのデータをプリフェッチしたとするとデ
ータリード時間が約2msec長くなり、その分アプリ
ケーションの実行が遅れることになる。
スク・ブロックとこれに続くプリフェッチ分に対して1
回コマンドを発行する方法においては、ファイル・デー
タのリードを要求しているアプリケーションが、プリフ
ェッチ・データのリード完了まで待たなければならず、
例えば10KBのデータをプリフェッチしたとするとデ
ータリード時間が約2msec長くなり、その分アプリ
ケーションの実行が遅れることになる。
【0011】以上、前記(1)或いは(2)いずれの方
法においてもプリフェッチに伴うオーバヘッドが存在す
るという問題点があった。
法においてもプリフェッチに伴うオーバヘッドが存在す
るという問題点があった。
【0012】本発明は、このような従来の問題点を解消
し、プリフェッチに伴うオーバヘッドを少なくして高速
化を図ることができる外部記憶制御装置を提供すること
を目的としている。
し、プリフェッチに伴うオーバヘッドを少なくして高速
化を図ることができる外部記憶制御装置を提供すること
を目的としている。
【0013】
【課題を解決するための手段】本発明の外部記憶制御装
置は、CPUと内部バッファ・メモリとを有し外部記憶
装置に対してアクセスする外部記憶制御装置において、
前記外部記憶装置と前記内部バッファ・メモリとの間の
一連のデータ転送の一部或いは全部が完了したことを検
出してこれを前記CPUに通知を発行する転送通知手段
を設けたことを特徴とする。
置は、CPUと内部バッファ・メモリとを有し外部記憶
装置に対してアクセスする外部記憶制御装置において、
前記外部記憶装置と前記内部バッファ・メモリとの間の
一連のデータ転送の一部或いは全部が完了したことを検
出してこれを前記CPUに通知を発行する転送通知手段
を設けたことを特徴とする。
【0014】前記転送通知手段は、たとえば、予め設定
されたバッファ・メモリ・アドレスにリード・データが
ストアされたとき、或いは、予め設定されたバイト数の
リード・データがバッファ・メモリ・アドレスにストア
されるごとに外部記憶制御装置を制御しているCPUに
通知を発行する。
されたバッファ・メモリ・アドレスにリード・データが
ストアされたとき、或いは、予め設定されたバイト数の
リード・データがバッファ・メモリ・アドレスにストア
されるごとに外部記憶制御装置を制御しているCPUに
通知を発行する。
【0015】
【作用】本発明の請求項1の外部記憶制御装置は、ホス
トCPUから要求されたリード範囲にプリフェッチのた
めのデータリード分を加えて外部記憶装置に発行するこ
とができ、外部記憶装置からリードデータが内部バッフ
ァメモリにストアされるときには、ホストCPUから要
求されたリード範囲分のデータがバッファメモリにスト
アされた時点で外部記憶制御装置を制御しているCPU
に通知を発行するため、前記制御CPUはプリフェッチ
のためのオーバヘッド無しにホストCPUに対する転送
を開始することができる。
トCPUから要求されたリード範囲にプリフェッチのた
めのデータリード分を加えて外部記憶装置に発行するこ
とができ、外部記憶装置からリードデータが内部バッフ
ァメモリにストアされるときには、ホストCPUから要
求されたリード範囲分のデータがバッファメモリにスト
アされた時点で外部記憶制御装置を制御しているCPU
に通知を発行するため、前記制御CPUはプリフェッチ
のためのオーバヘッド無しにホストCPUに対する転送
を開始することができる。
【0016】本発明の請求項2の外部記憶制御装置は、
内部バッファ・メモリのアドレスに対するストアを検出
することにより、前記ホストCPU要求データのリード
完了を検出し、前記制御CPUに対して通知を発行す
る。また、任意のアドレスをアドレス記憶手段に予め設
定しておくことで、前記通知を発生するアドレスを可変
に構成している。従って、ホストCPUからの要求デー
タ長が可変であっても要求データがリードされたことを
検出することができ、また内部バッファのストア開始ア
ドレスも自由に設定することができる。
内部バッファ・メモリのアドレスに対するストアを検出
することにより、前記ホストCPU要求データのリード
完了を検出し、前記制御CPUに対して通知を発行す
る。また、任意のアドレスをアドレス記憶手段に予め設
定しておくことで、前記通知を発生するアドレスを可変
に構成している。従って、ホストCPUからの要求デー
タ長が可変であっても要求データがリードされたことを
検出することができ、また内部バッファのストア開始ア
ドレスも自由に設定することができる。
【0017】本発明の請求項3の外部記憶装置は、マス
ク・レジスタによりアドレス検出範囲をマスクして通知
を発行する。たとえば、アドレスの上位ビットをマスク
することにより1KB単位或いは2KB単位に通知を発
行することができる。
ク・レジスタによりアドレス検出範囲をマスクして通知
を発行する。たとえば、アドレスの上位ビットをマスク
することにより1KB単位或いは2KB単位に通知を発
行することができる。
【0018】本発明の請求項4の外部記憶装置は、内部
バッファ・メモリ・アドレスの比較を行なうことなく、
単に外部記憶装置と内部バッファ・メモリ間の転送デー
タをカウントすることで要求データがリードされたこと
を検出する。
バッファ・メモリ・アドレスの比較を行なうことなく、
単に外部記憶装置と内部バッファ・メモリ間の転送デー
タをカウントすることで要求データがリードされたこと
を検出する。
【0019】本発明の請求項5の外部記憶装置は、内部
データ・バスをアービタによるアービトレーションを行
なうことで時分割使用し、内部バッファ・メモリへのス
トアとリードが完了したホスト要求データの処理を並行
的に行なう。
データ・バスをアービタによるアービトレーションを行
なうことで時分割使用し、内部バッファ・メモリへのス
トアとリードが完了したホスト要求データの処理を並行
的に行なう。
【0020】
【実施例】以下、本発明の実施例を説明する。
【0021】〔実施例1〕図1は、本発明の実施例1の
説明図である。
説明図である。
【0022】図1において、1はバス・ドライバ,レシ
ーバからなるホスト・インタフェースであり、2はホス
ト・インタフェース・アドレス・バスであり、3はホス
ト・インタフェース・データバスであり、4はホスト・
インタフェース・バスリクエスト信号であり、5はホス
ト・インタフェース・バスグラント信号である。6は本
実施例の外部記憶制御装置を制御するCPUであり、7
は内部バッファ・メモリであり、8は内部アドレス・バ
スであり、9は内部データ・バスである。10は内部バ
スのアービトレーションを制御するアービタであり、1
1はアービタ10の制御によりCPU6をウエイトさせ
るウエイト制御信号である。12はデバイス・インタフ
ェースを制御するインタフェース・コントローラ(図
中、IFCで示す)であり、13はインタフェース・コ
ントローラ12が内部バス8,9をアービタ10に要求
するためのIFCバスリクエスト信号であり、14はア
ービタ10からインタフェース・コントローラ12への
IFCバスグラント信号である。15は、インタフェー
ス・コントローラ12により制御されるデバイス・イン
タフェースであり、なお、ここでのデバイス・インタフ
ェース15とは、SCSI(ANSI X3.131−
1986),SCSI−2(X3T9.2/86−10
9 Rev 10B)等で規格化されたSCSi信号の
セットとSCSi上の転送制御プロトコルを指し、対応
する物理的なブロックは存在していない。図における符
号15は、SCSi信号により構成されるケーブルであ
る。16は本外部記憶制御装置により制御される外部記
憶装置である。17はインタフェース・コントローラ1
2がCPU6に指示された外部記憶装置16の制御を全
て完了したことをCPU6に通知するためのIFC終了
通知信号である。18は転送通知手段であり、19は転
送通知手段18からCPU6に対し転送の一部または全
部が完了したことを通知する転送経過通知信号である。
20はホスト・インタフェース転送制御信号であり、2
1はCPU転送制御信号であり、22はインタフェース
・コントローラ12が出力する転送制御信号であるIF
C転送制御信号である。23は、内部バッファ・メモリ
7からCPU6へ、ホストCPUによって内部バッファ
・メモリ7がアクセスされたことを通知するためのホス
ト・アクセス通知信号である。
ーバからなるホスト・インタフェースであり、2はホス
ト・インタフェース・アドレス・バスであり、3はホス
ト・インタフェース・データバスであり、4はホスト・
インタフェース・バスリクエスト信号であり、5はホス
ト・インタフェース・バスグラント信号である。6は本
実施例の外部記憶制御装置を制御するCPUであり、7
は内部バッファ・メモリであり、8は内部アドレス・バ
スであり、9は内部データ・バスである。10は内部バ
スのアービトレーションを制御するアービタであり、1
1はアービタ10の制御によりCPU6をウエイトさせ
るウエイト制御信号である。12はデバイス・インタフ
ェースを制御するインタフェース・コントローラ(図
中、IFCで示す)であり、13はインタフェース・コ
ントローラ12が内部バス8,9をアービタ10に要求
するためのIFCバスリクエスト信号であり、14はア
ービタ10からインタフェース・コントローラ12への
IFCバスグラント信号である。15は、インタフェー
ス・コントローラ12により制御されるデバイス・イン
タフェースであり、なお、ここでのデバイス・インタフ
ェース15とは、SCSI(ANSI X3.131−
1986),SCSI−2(X3T9.2/86−10
9 Rev 10B)等で規格化されたSCSi信号の
セットとSCSi上の転送制御プロトコルを指し、対応
する物理的なブロックは存在していない。図における符
号15は、SCSi信号により構成されるケーブルであ
る。16は本外部記憶制御装置により制御される外部記
憶装置である。17はインタフェース・コントローラ1
2がCPU6に指示された外部記憶装置16の制御を全
て完了したことをCPU6に通知するためのIFC終了
通知信号である。18は転送通知手段であり、19は転
送通知手段18からCPU6に対し転送の一部または全
部が完了したことを通知する転送経過通知信号である。
20はホスト・インタフェース転送制御信号であり、2
1はCPU転送制御信号であり、22はインタフェース
・コントローラ12が出力する転送制御信号であるIF
C転送制御信号である。23は、内部バッファ・メモリ
7からCPU6へ、ホストCPUによって内部バッファ
・メモリ7がアクセスされたことを通知するためのホス
ト・アクセス通知信号である。
【0023】図2は、転送通知手段18の説明図であ
る。なお図2において、図1と対応する部分には同一参
照番号を付してある。
る。なお図2において、図1と対応する部分には同一参
照番号を付してある。
【0024】24は、転送通知手段18がCPU6に通
知を発生すべきバッファ・メモリ・アドレスを設定する
アドレス設定レジスタであり、25はアドレス設定レジ
スタ24に設定されたバッファ・メモリ・アドレスの比
較動作をマスクするマスク値を設定するマスク・レジス
タであり、26はバッファ・メモリ・アドレスをラッチ
するためのアドレス・ラッチであり、27はアドレス設
定レジスタ24とアドレス・ラッチ26の内容を比較す
る比較ユニットであり、28は比較ユニット27の出力
をラッチする出力ラッチであり、29はCPU転送制御
信号21、IFC転送制御信号22、内部アドレス・バ
ス8から転送通知手段18の内部制御信号を生成するデ
コーダ・ユニットである。
知を発生すべきバッファ・メモリ・アドレスを設定する
アドレス設定レジスタであり、25はアドレス設定レジ
スタ24に設定されたバッファ・メモリ・アドレスの比
較動作をマスクするマスク値を設定するマスク・レジス
タであり、26はバッファ・メモリ・アドレスをラッチ
するためのアドレス・ラッチであり、27はアドレス設
定レジスタ24とアドレス・ラッチ26の内容を比較す
る比較ユニットであり、28は比較ユニット27の出力
をラッチする出力ラッチであり、29はCPU転送制御
信号21、IFC転送制御信号22、内部アドレス・バ
ス8から転送通知手段18の内部制御信号を生成するデ
コーダ・ユニットである。
【0025】以下の本実施例の詳細動作を説明する。
【0026】本外部記憶制御装置に対するホストCPU
からの入出力コマンドは、ホスト・インタフェース1を
経由して発行される。
からの入出力コマンドは、ホスト・インタフェース1を
経由して発行される。
【0027】ホストCPUは、ホスト・インタフェース
・バスリクエスト信号4をアサートし、本外部記憶制御
装置の内部バス8、9の制御権をアービタ10に要求す
る。アービタ10は、内部バス8,9上の制御権を調停
し、ホスト・インタフェース・バスグラント信号5をア
サートする。内部バス8,9の制御権を獲得したホスト
CPUは、ホスト・インタフェース・アドレス・バス
2、ホスト・インタフェース・データバス3を介して予
め定められた内部バッファ・メモリ7の一部に本外部記
憶制御装置に対する入出力コマンドをライトする。ホス
トCPUから内部バッファ・メモリ7がアクセスされた
ことは、ホスト・アクセス通知信号23によりCPU6
に通知される。本実施例では、ホスト・アクセス通知信
号23はCPU6の割り込み信号に入力されており、C
PU6はホスト・アクセス通知信号23による割り込み
により、内部バッファ・メモリ7に入出力コマンドがセ
ットされたことを知る。
・バスリクエスト信号4をアサートし、本外部記憶制御
装置の内部バス8、9の制御権をアービタ10に要求す
る。アービタ10は、内部バス8,9上の制御権を調停
し、ホスト・インタフェース・バスグラント信号5をア
サートする。内部バス8,9の制御権を獲得したホスト
CPUは、ホスト・インタフェース・アドレス・バス
2、ホスト・インタフェース・データバス3を介して予
め定められた内部バッファ・メモリ7の一部に本外部記
憶制御装置に対する入出力コマンドをライトする。ホス
トCPUから内部バッファ・メモリ7がアクセスされた
ことは、ホスト・アクセス通知信号23によりCPU6
に通知される。本実施例では、ホスト・アクセス通知信
号23はCPU6の割り込み信号に入力されており、C
PU6はホスト・アクセス通知信号23による割り込み
により、内部バッファ・メモリ7に入出力コマンドがセ
ットされたことを知る。
【0028】CPU6は、内部バッファ・メモリ7をリ
ードし、入出力コマンドを解釈し、入出力コマンドによ
り指示された入出力動作を行なう。
ードし、入出力コマンドを解釈し、入出力コマンドによ
り指示された入出力動作を行なう。
【0029】内部バッファ・メモリ7は、CPU6の制
御のもとでディスク・キャッシュとして機能しており、
入出力コマンドが外部記憶装置16からホストへのリー
ド動作を指示するものであった場合は、CPU6は内部
バッファ・メモリ7内のキャッシュ管理情報をサーチ
し、ホストから要求されたデータ・ブロックが内部バッ
ファ・メモリ7内に存在するかどうかを判定する。
御のもとでディスク・キャッシュとして機能しており、
入出力コマンドが外部記憶装置16からホストへのリー
ド動作を指示するものであった場合は、CPU6は内部
バッファ・メモリ7内のキャッシュ管理情報をサーチ
し、ホストから要求されたデータ・ブロックが内部バッ
ファ・メモリ7内に存在するかどうかを判定する。
【0030】もし、当該要求データが全て内部バッファ
・メモリ7内に存在する場合には、キャッシュ・ヒット
となり、外部記憶装置はアクセスされず要求データは内
部バッファ・メモリ7からホストに転送され、ホストに
より指示された入出力コマンドは終了する。
・メモリ7内に存在する場合には、キャッシュ・ヒット
となり、外部記憶装置はアクセスされず要求データは内
部バッファ・メモリ7からホストに転送され、ホストに
より指示された入出力コマンドは終了する。
【0031】もし、ホストから要求されたデータ・ブロ
ックの一部或いは全てが内部バッファ・メモリ7内に存
在しない場合にはキャッシュ・ミスとなりミスしたデー
タ・ブロックは外部記憶装置16から読み出されなけれ
ばならない。
ックの一部或いは全てが内部バッファ・メモリ7内に存
在しない場合にはキャッシュ・ミスとなりミスしたデー
タ・ブロックは外部記憶装置16から読み出されなけれ
ばならない。
【0032】キャッシュ・ミスの場合は、CPU6が外
部記憶装置16に対するコマンドを生成し、インタフェ
ース・コントローラ12を起動する。インタフェース・
コントローラ12は、自律的にデバイス・インタフェー
ス15を制御し、外部記憶装置16をアクセスした後リ
ードされたデータを内部バッファ・メモリ7内にストア
する。
部記憶装置16に対するコマンドを生成し、インタフェ
ース・コントローラ12を起動する。インタフェース・
コントローラ12は、自律的にデバイス・インタフェー
ス15を制御し、外部記憶装置16をアクセスした後リ
ードされたデータを内部バッファ・メモリ7内にストア
する。
【0033】本実施例の外部記憶制御装置においては、
キャッシュ・ミスが発生した場合、外部記憶装置16か
らリードすべきデータ・ブロック長を決定し、メモリ管
理処理によりリード・データをストアする内部バッファ
・メモリ7のストア・ポジションを決定し、ストア・ポ
ジションの先頭アドレスにリード・データ・ブロック長
を加算したアドレス値を転送通知手段18内部のアドレ
ス設定レジスタ24に設定した後、リード・データ・ブ
ロック長にプリフェッチ・データ長を加算したデータ・
ブロック長のリードをインタフェース・コントローラ1
2に指示する。
キャッシュ・ミスが発生した場合、外部記憶装置16か
らリードすべきデータ・ブロック長を決定し、メモリ管
理処理によりリード・データをストアする内部バッファ
・メモリ7のストア・ポジションを決定し、ストア・ポ
ジションの先頭アドレスにリード・データ・ブロック長
を加算したアドレス値を転送通知手段18内部のアドレ
ス設定レジスタ24に設定した後、リード・データ・ブ
ロック長にプリフェッチ・データ長を加算したデータ・
ブロック長のリードをインタフェース・コントローラ1
2に指示する。
【0034】外部記憶装置16からのリード・データの
転送が開始されるとインタフェース・コントローラ12
のIFCバスリクエスト信号13がアサートされ、アー
ビタ10に対し内部バス8,9を要求する。IFCバス
グラント信号14を介して内部バス8,9の獲得を通知
されたインタフェース・コントローラ12は、リード・
データの内部バッファ・メモリ7へのストアを開始す
る。
転送が開始されるとインタフェース・コントローラ12
のIFCバスリクエスト信号13がアサートされ、アー
ビタ10に対し内部バス8,9を要求する。IFCバス
グラント信号14を介して内部バス8,9の獲得を通知
されたインタフェース・コントローラ12は、リード・
データの内部バッファ・メモリ7へのストアを開始す
る。
【0035】このとき、内部アドレス・バス8上のアド
レス信号値がアドレス設定レジスタ24の内容に一致す
ると、転送通知手段18内部の比較ユニット27がアド
レス一致を検出し、転送経過通知信号19をアサートす
る。すなわち、本来の要求データのリードが完了すると
CPU6に対して転送経過通知信号19が発行される。
本実施例においては、転送経過通知信号19は割り込み
信号としてCPU6に入力されている。
レス信号値がアドレス設定レジスタ24の内容に一致す
ると、転送通知手段18内部の比較ユニット27がアド
レス一致を検出し、転送経過通知信号19をアサートす
る。すなわち、本来の要求データのリードが完了すると
CPU6に対して転送経過通知信号19が発行される。
本実施例においては、転送経過通知信号19は割り込み
信号としてCPU6に入力されている。
【0036】転送経過通知信号19により、要求データ
・ブロックのリードが完了したことを知ったCPU6
は、キャッシュ管理情報の登録を行ない、ホストへのリ
ード・データの転送処理を開始する。
・ブロックのリードが完了したことを知ったCPU6
は、キャッシュ管理情報の登録を行ない、ホストへのリ
ード・データの転送処理を開始する。
【0037】従って、本発明の外部記憶制御装置におい
ては、キャッシュ・ミスが生じた場合、プリフェッチ・
オーバヘッド無しにキャッシュ・ヒット率を高いレベル
に保つことが可能である。
ては、キャッシュ・ミスが生じた場合、プリフェッチ・
オーバヘッド無しにキャッシュ・ヒット率を高いレベル
に保つことが可能である。
【0038】このとき、内部バス8,9はアービタ10
の制御により、インタフェース・コントローラ12とC
PU6或いはインタフェース・コントローラ12とホス
トへのデータ転送が時分割的に並行動作するように制御
され、CPU6がキャッシュ管理情報の管理動作を開始
した後にも、インタフェース・コントローラ12からの
プリフェッチ・データの転送が行なわれる。
の制御により、インタフェース・コントローラ12とC
PU6或いはインタフェース・コントローラ12とホス
トへのデータ転送が時分割的に並行動作するように制御
され、CPU6がキャッシュ管理情報の管理動作を開始
した後にも、インタフェース・コントローラ12からの
プリフェッチ・データの転送が行なわれる。
【0039】一般に、内部バッファ・メモリは32ビッ
トバスでサイクル・タイム25nsecのDRAMを使
用したと仮定して転送スループット100MB/sec
になる。一方、インタフェース・コントローラ12から
のデータ転送は、外部記憶装置のスループット3〜5M
B/sec或いはデバイス・インタフェース15の転送
スループットに律速される。デバイス・インタフェース
15の転送スループットは、SCSI−2を使用したと
してピーク10MB/secであるため、インタフェー
ス・コントローラ12からのデータ転送は平均数MB/
secのオーダーになる。従って、プリフェッチ・デー
タの転送が行なわれていても、CPU6は十分動作可能
である。
トバスでサイクル・タイム25nsecのDRAMを使
用したと仮定して転送スループット100MB/sec
になる。一方、インタフェース・コントローラ12から
のデータ転送は、外部記憶装置のスループット3〜5M
B/sec或いはデバイス・インタフェース15の転送
スループットに律速される。デバイス・インタフェース
15の転送スループットは、SCSI−2を使用したと
してピーク10MB/secであるため、インタフェー
ス・コントローラ12からのデータ転送は平均数MB/
secのオーダーになる。従って、プリフェッチ・デー
タの転送が行なわれていても、CPU6は十分動作可能
である。
【0040】インタフェース・コントローラ12に指示
された転送長、すなわち、本来の要求データ長+プリフ
ェッチ・データ長の転送が完了するとIFC終了通知信
号17を介してインタフェース・コントローラ12の動
作が完了したことがCPU6に通知される。
された転送長、すなわち、本来の要求データ長+プリフ
ェッチ・データ長の転送が完了するとIFC終了通知信
号17を介してインタフェース・コントローラ12の動
作が完了したことがCPU6に通知される。
【0041】転送通知手段18内部のマスク・レジスタ
25がセットされた場合には、アドレス設定レジスタ2
4の比較動作がマスクされる。
25がセットされた場合には、アドレス設定レジスタ2
4の比較動作がマスクされる。
【0042】本実施例の場合、一例としてデータ・バス
幅32ビットを仮定し、マスク・レジスタ25のMSB
20ビットに”1”をセットすると、上位20ビットの
比較動作がマスクされ、下位12ビットに関してアドレ
ス設定レジスタ24とアドレス・ラッチ26の比較が行
なわれ、4KBごとに転送経過通知信号19が出力され
ることになる。
幅32ビットを仮定し、マスク・レジスタ25のMSB
20ビットに”1”をセットすると、上位20ビットの
比較動作がマスクされ、下位12ビットに関してアドレ
ス設定レジスタ24とアドレス・ラッチ26の比較が行
なわれ、4KBごとに転送経過通知信号19が出力され
ることになる。
【0043】従って、CPU6はプリフェッチの進行状
況を詳細に把握することができ、キャッシュ・バッファ
を管理することができ、ホストが後続の入出力コマンド
でプリフェッチ・データを要求してきた場合の転送レー
テンシを削減することができる。
況を詳細に把握することができ、キャッシュ・バッファ
を管理することができ、ホストが後続の入出力コマンド
でプリフェッチ・データを要求してきた場合の転送レー
テンシを削減することができる。
【0044】〔実施例2〕本発明の外部記憶制御装置の
転送通知手段18の第2の実施例を図3に示す。
転送通知手段18の第2の実施例を図3に示す。
【0045】図3において、30はプリセット・レジス
タであり、31はカウンタである。実施例1の転送通知
手段18は、内部バッファ・メモリ7のアクセス時のア
ドレスを予め設定されたアドレス設定レジスタ24の内
容と比較するように動作していたが、第2の実施例の転
送通知手段18は、内部バッファ・メモリ7へのアクセ
スをカウンタ31でカウントし、プリセット・レジスタ
30に設定されたデータ長のデータがインタフェース・
コントローラ12により内部バッファ・メモリ7へスト
アされた場合に転送経過通知信号19を出力する。
タであり、31はカウンタである。実施例1の転送通知
手段18は、内部バッファ・メモリ7のアクセス時のア
ドレスを予め設定されたアドレス設定レジスタ24の内
容と比較するように動作していたが、第2の実施例の転
送通知手段18は、内部バッファ・メモリ7へのアクセ
スをカウンタ31でカウントし、プリセット・レジスタ
30に設定されたデータ長のデータがインタフェース・
コントローラ12により内部バッファ・メモリ7へスト
アされた場合に転送経過通知信号19を出力する。
【0046】第2の実施例では、プリセット・レジスタ
30へ設定された値がカウンタ31にロードされ、イン
タフェース・コントローラ12により内部バッファ・メ
モリ7へのストアが行なわれるたびにカウンタ31がダ
ウン・カウントされ、ボローが発生すると転送経過通知
信号19を出力する。
30へ設定された値がカウンタ31にロードされ、イン
タフェース・コントローラ12により内部バッファ・メ
モリ7へのストアが行なわれるたびにカウンタ31がダ
ウン・カウントされ、ボローが発生すると転送経過通知
信号19を出力する。
【0047】
【発明の効果】本発明の外部記憶制御装置では、外部記
憶装置と内部バッファ・メモリとの間の一連のデータ転
送の一部或いは全部が完了したことを検出し、本外部記
憶制御装置を制御しているCPUに通知を発行する転送
通知手段を設けたことにより、ホストから要求されたデ
ータの転送が完了した時点で本外部記憶制御装置を制御
しているCPUが次の動作を開始することができ、キャ
ッシュ・ミスが生じた場合、プリフェッチ・コストを隠
蔽して外部記憶装置をアクセスすることが可能になり、
プリフェッチ・オーバヘッド無しにキャッシュ・ヒット
率を高いレベルに保つことが可能であり、結果的に外部
記憶装置のアクセス・レーテンシを大幅に削減すること
ができる。
憶装置と内部バッファ・メモリとの間の一連のデータ転
送の一部或いは全部が完了したことを検出し、本外部記
憶制御装置を制御しているCPUに通知を発行する転送
通知手段を設けたことにより、ホストから要求されたデ
ータの転送が完了した時点で本外部記憶制御装置を制御
しているCPUが次の動作を開始することができ、キャ
ッシュ・ミスが生じた場合、プリフェッチ・コストを隠
蔽して外部記憶装置をアクセスすることが可能になり、
プリフェッチ・オーバヘッド無しにキャッシュ・ヒット
率を高いレベルに保つことが可能であり、結果的に外部
記憶装置のアクセス・レーテンシを大幅に削減すること
ができる。
【0048】本発明の外部記憶制御装置では、任意のア
ドレスをアドレス記憶手段に予め設定しておくことで、
前記通知を発生するアドレスを可変に構成している。従
って、ホストCPUからの要求データ長が可変であって
も要求データがリードされたことを検出することがで
き、また内部バッファのストア開始アドレスも自由に設
定することができる。
ドレスをアドレス記憶手段に予め設定しておくことで、
前記通知を発生するアドレスを可変に構成している。従
って、ホストCPUからの要求データ長が可変であって
も要求データがリードされたことを検出することがで
き、また内部バッファのストア開始アドレスも自由に設
定することができる。
【0049】本発明の外部記憶制御装置では、マスク・
レジスタによりアドレス検出範囲をマスクして通知を発
行することにより、1KB単位或いは2KB単位等、デ
ータ・リードの進展にしたがって繰り返し通知を発行す
ることができ、CPUがプリフェッチの進行状況を詳細
に把握しキャッシュ・バッファを管理することができ、
ホストが後続の入出力コマンドでプリフェッチ・データ
を要求してきた場合の転送レーテンシを削減することが
できる。
レジスタによりアドレス検出範囲をマスクして通知を発
行することにより、1KB単位或いは2KB単位等、デ
ータ・リードの進展にしたがって繰り返し通知を発行す
ることができ、CPUがプリフェッチの進行状況を詳細
に把握しキャッシュ・バッファを管理することができ、
ホストが後続の入出力コマンドでプリフェッチ・データ
を要求してきた場合の転送レーテンシを削減することが
できる。
【0050】本発明の外部記憶装置は、内部データ・バ
スをアービタによるアービトレーションを行なうことで
時分割使用し、内部バッファ・メモリへのストアとCP
U処理、ホストへの要求データの転送処理を並行的に行
なうことで、内部バッファ・メモリの転送スループット
を有効に使用し、外部記憶装置のアクセス・レーテンシ
を削減することができる。
スをアービタによるアービトレーションを行なうことで
時分割使用し、内部バッファ・メモリへのストアとCP
U処理、ホストへの要求データの転送処理を並行的に行
なうことで、内部バッファ・メモリの転送スループット
を有効に使用し、外部記憶装置のアクセス・レーテンシ
を削減することができる。
【図1】 本発明の外部記憶制御装置の第1の実施例の
ブロック図である。
ブロック図である。
【図2】 図1に示される外部記憶制御装置の転送通知
手段の構成を示すブロック図である。
手段の構成を示すブロック図である。
【図3】 本発明の外部記憶制御装置の第1の実施例の
ブロック図である。
ブロック図である。
【図4】 従来の外部記憶制御装置を示すブロック図で
ある。
ある。
【図5】 ファイル・データのプリフェッチ方法を示す
説明図である。
説明図である。
1…ホスト・インタフェース、2…ホスト・インタフェ
ース・アドレス・バス、3…ホスト・インタフェース・
データバス、4…ホスト・インタフェース・バスリクエ
スト信号、5…ホスト・インタフェース・バスグラント
信号、6…CPU、7…内部バッファ・メモリ、8…内
部アドレス・バス、9…内部データ・バス、10…アー
ビタ、11…ウエイト制御信号、12…インタフェース
・コントローラ(IFC)、13…IFCバスリクエス
ト信号、14…IFCバスグラント信号、15…デバイ
ス・インタフェース、16…外部記憶装置、17…IF
C終了通知信号、18…転送通知手段、19…転送経過
通知信号、20…ホスト・インタフェース転送制御信
号、21…CPU転送制御信号、22…IFC転送制御
信号、23…ホスト・アクセス通知信号、24…アドレ
ス設定レジスタ、25…マスク・レジスタ、26…アド
レス・ラッチ、27…比較ユニット、28…出力ラッ
チ、29…デコーダ・ユニット、30…プリセット・レ
ジスタ、31…カウンタ
ース・アドレス・バス、3…ホスト・インタフェース・
データバス、4…ホスト・インタフェース・バスリクエ
スト信号、5…ホスト・インタフェース・バスグラント
信号、6…CPU、7…内部バッファ・メモリ、8…内
部アドレス・バス、9…内部データ・バス、10…アー
ビタ、11…ウエイト制御信号、12…インタフェース
・コントローラ(IFC)、13…IFCバスリクエス
ト信号、14…IFCバスグラント信号、15…デバイ
ス・インタフェース、16…外部記憶装置、17…IF
C終了通知信号、18…転送通知手段、19…転送経過
通知信号、20…ホスト・インタフェース転送制御信
号、21…CPU転送制御信号、22…IFC転送制御
信号、23…ホスト・アクセス通知信号、24…アドレ
ス設定レジスタ、25…マスク・レジスタ、26…アド
レス・ラッチ、27…比較ユニット、28…出力ラッ
チ、29…デコーダ・ユニット、30…プリセット・レ
ジスタ、31…カウンタ
Claims (5)
- 【請求項1】 CPUと内部バッファ・メモリとを有し
外部記憶装置に対してアクセスする外部記憶制御装置に
おいて、 前記外部記憶装置と前記内部バッファ・メモリとの間の
一連のデータ転送の一部或いは全部が完了したことを検
出してこれを前記CPUに通知を発行する転送通知手段
を設けたことを特徴とする外部記憶制御装置。 - 【請求項2】 請求項1記載の外部記憶制御装置におい
て、前記転送通知手段がアドレス設定レジスタを備えて
おり、前記転送通知手段が前記アドレス設定レジスタに
予め設定された一つ或いは複数の内部バッファ・メモリ
のアドレスに対して前記外部記憶装置との間のデータ転
送が行なわれたことを検出してこれを前記CPUに通知
を発行するものである外部記憶制御装置。 - 【請求項3】 請求項2記載の外部記憶制御装置におい
て、前記転送通知手段が更にマスク・レジスタを備えて
おり、前記通知が発行される前記内部バッファ・メモリ
のアドレスのアドレス検出範囲を前記マスク・レジスタ
により可変とすることを特徴とする請求項3項記載の外
部記憶制御装置。 - 【請求項4】 請求項1項記載の外部記憶制御装置にお
いて、前記転送通知手段がカウント・レジスタを備えて
おり、前記外部記憶装置と前記内部バッファ・メモリと
の間で、予め前記カウント・レジスタに設定されたバイ
ト長のデータ転送が完了するごとにこれを前記CPUに
通知を発行するものである外部記憶制御装置。 - 【請求項5】 請求項2から請求項4のいずれか1項に
記載の外部記憶制御装置において、前記外部記憶制御装
置はその内部データ・バスがアービタによりアービトレ
ーションが行なわれるものであり、前記外部記憶装置に
接続されるデバイス・インタフェースを制御するインタ
フェース・コントローラと前記CPUの双方が前記アー
ビトレーションにより前記内部バッファ・メモリに対し
時分割的にアクセス可能であることを特徴とする外部記
憶制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6111041A JPH07319633A (ja) | 1994-05-25 | 1994-05-25 | 外部記憶制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6111041A JPH07319633A (ja) | 1994-05-25 | 1994-05-25 | 外部記憶制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07319633A true JPH07319633A (ja) | 1995-12-08 |
Family
ID=14550918
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6111041A Pending JPH07319633A (ja) | 1994-05-25 | 1994-05-25 | 外部記憶制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07319633A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0825592A3 (en) * | 1996-08-23 | 1998-12-02 | Nec Corporation | Method for reading read-only memory |
-
1994
- 1994-05-25 JP JP6111041A patent/JPH07319633A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0825592A3 (en) * | 1996-08-23 | 1998-12-02 | Nec Corporation | Method for reading read-only memory |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5623700A (en) | Interface circuit having zero latency buffer memory and cache memory information transfer | |
| US5247648A (en) | Maintaining data coherency between a central cache, an I/O cache and a memory | |
| US5903911A (en) | Cache-based computer system employing memory control circuit and method for write allocation and data prefetch | |
| US5745732A (en) | Computer system including system controller with a write buffer and plural read buffers for decoupled busses | |
| US5265236A (en) | Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode | |
| US5774700A (en) | Method and apparatus for determining the timing of snoop windows in a pipelined bus | |
| US5263142A (en) | Input/output cache with mapped pages allocated for caching direct (virtual) memory access input/output data based on type of I/O devices | |
| US6324599B1 (en) | Computer system and method for tracking DMA transferred data within a read-ahead local buffer without interrupting the host processor | |
| JP3067112B2 (ja) | 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法 | |
| US5802559A (en) | Mechanism for writing back selected doublewords of cached dirty data in an integrated processor | |
| JPH0241054B2 (ja) | ||
| US5659709A (en) | Write-back and snoop write-back buffer to prevent deadlock and to enhance performance in an in-order protocol multiprocessing bus | |
| JPH0241056B2 (ja) | ||
| US20020199079A1 (en) | Method to prefetch data from system memory using a bus interface unit | |
| JPS60500187A (ja) | データ処理システム | |
| JPH0744458A (ja) | キャッシュメモリ構造およびキャッシュ・メモリを動作させる方法 | |
| US5678025A (en) | Cache coherency maintenance of non-cache supporting buses | |
| JP2001060169A (ja) | キャッシュコントローラ及びコンピュータシステム | |
| JP2769429B2 (ja) | 読み取り要求サービス方法及びデ−タ処理システム | |
| CN101617298A (zh) | 用于dma、任务终止和同步操作的缓存一致保持 | |
| JPH06318174A (ja) | キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法 | |
| US5893917A (en) | Memory controller and method of closing a page of system memory | |
| CN1215416C (zh) | 多处理器计算机系统中的读取操作 | |
| JPH11506238A (ja) | キャッシュ管理システムにおける順次性検出用のシステムと方法 | |
| EP0488566A2 (en) | Method and apparatus for fast page mode selection |