JPH09114598A - ディスクキャッシュ装置 - Google Patents

ディスクキャッシュ装置

Info

Publication number
JPH09114598A
JPH09114598A JP7267240A JP26724095A JPH09114598A JP H09114598 A JPH09114598 A JP H09114598A JP 7267240 A JP7267240 A JP 7267240A JP 26724095 A JP26724095 A JP 26724095A JP H09114598 A JPH09114598 A JP H09114598A
Authority
JP
Japan
Prior art keywords
data
cache memory
host computer
amount
tag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7267240A
Other languages
English (en)
Other versions
JP3594265B2 (ja
Inventor
Yuji Horie
裕司 堀江
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.)
Olympus Corp
Original Assignee
Olympus Optical Co Ltd
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 Olympus Optical Co Ltd filed Critical Olympus Optical Co Ltd
Priority to JP26724095A priority Critical patent/JP3594265B2/ja
Publication of JPH09114598A publication Critical patent/JPH09114598A/ja
Application granted granted Critical
Publication of JP3594265B2 publication Critical patent/JP3594265B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 キャッシュメモリ上の未書き込みデータをデ
ィスクへ書き込む時間を短縮し、引き続き送られてくる
ホストコンピュータからの命令を素早く実行可能とす
る。 【解決手段】 ディスクキャッシュ装置に設けられるコ
ントローラ1は、データ量記憶部2の情報を基にホスト
コンピュータ5から送られてきたデータがシーケンシャ
ルデータかランダムデータかを判断するデータ連続性判
別手段1aと、データが連続している場合はこのデータ
をキャッシュメモリ3上で一まとめに結合するデータ結
合手段1bと、データが不連続の場合はキャッシュメモ
リ3に蓄積可能なデータ量を連続している場合よりも小
さくする未書き込みデータ蓄積量制限手段1cと、キャ
ッシュメモリ3上の未書き込みデータのディスク4への
書き込みを制御するデータ書き込み制御手段1dと、の
各機能ブロックを有している。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ホストコンピュー
タから送られてきたデータを一時キャッシュメモリに蓄
えて、キャッシュメモリにデータを書き込み終わった時
点でホストコンピュータに書き込み終了を報告し、その
後ディスクへ書き込みを行うことにより書き込み処理の
高速化を図るディスクキャッシュ装置に関する。
【0002】
【従来の技術】一般に情報記録再生装置は、情報処理装
置におけるホストコンピュータの外部記録装置として用
いられているが、記録媒体に対するデータの書き込み処
理及び読み出し処理はホストコンピュータとの間でのデ
ータ転送処理速度よりも遅いため、近年では中間にキャ
ッシュメモリを設けてキャッシュメモリを介してデータ
転送を行うことにより、データの記録処理や再生処理の
高速化を図ったものが用いられてきている。特に、光デ
ィスクを記録媒体として用いる光ディスク装置では、記
録媒体への書き込み処理に多くの時間がかかるため、記
録データや再生データを一時格納するディスクキャッシ
ュメモリを設けたものが一般的である。
【0003】このようなキャッシュメモリを備えたディ
スクキャッシュ装置では、従来はホストコンピュータか
ら送られてきたデータが連続したデータ(シーケンシャ
ルデータ)か、不連続なデータ(ランダムデータ)かに
関わらず、キャッシュメモリの容量まで、あるいは記憶
できるデータ数までキャッシュメモリにデータを蓄える
ようになっていた。
【0004】最近では、キャッシュメモリの容量が25
6KB程度以上と大きくなってきており、ホストコンピ
ュータからみると書き込み動作の実行時間がより短くな
っている。
【0005】光磁気ディスク装置などの媒体への書き込
みに時間がかかる記録再生装置では、キャッシュ容量の
大容量化に伴って、ホストコンピュータに書き込み終了
を報告してからキャッシュメモリに蓄えられたデータを
全てディスクに書き終わるまでに長い時間がかかるよう
になった。
【0006】このようにキャッシュメモリに未書き込み
のデータが多く存在するときに、リードキャッシュ等を
設けずに単純なライトキャッシュのみを備えた装置で
は、ホストコンピュータから読み込み命令などを受け付
けると、一般的にはデータの信頼性を確保するため、ま
ず未書き込みデータを全てディスクに書き終わってから
読み込み命令(リード命令)などを実行することにな
る。
【0007】キャッシュメモリに未書き込みデータがあ
る場合は、ディスク上には未書き込みデータに対応する
書換え前の旧データが存在し、キャッシュメモリ上にの
み書換え後の新データが存在する場合がある。このとき
に、キャッシュメモリの未書き込みデータを書き込む前
にディスクからデータを読み出してホストコンピュータ
へ転送すると、間違った旧データを送ってしまうことに
なる。また、読み出したデータや転送すべきデータをホ
ストコンピュータへ送る前にキャッシュメモリに一旦書
き込んで、その後ホストコンピュータへ転送を行うよう
な場合は、キャッシュメモリに未書き込みデータがある
と未書き込みデータを書き換えてしまうことがあり得
る。これらの不具合を防止するために、リード命令やデ
ータ転送時にキャッシュメモリを使用する命令を実行す
る場合は、まず未書き込みデータのディスクへの書き込
みを行ってからその命令を実行するようになっている。
【0008】この場合、ホストコンピュータからすると
読み込み動作に非常に長い時間がかかっているように見
えるため、ホストコンピュータの仕様によっては命令実
行のタイムアウトとなり読み込み失敗としてしまう場合
がある。
【0009】
【発明が解決しようとする課題】前述したように、ディ
スクキャッシュ装置においては、キャッシュメモリに未
書き込みデータが多く存在するときに、リード命令等を
受けた場合は、まず未書き込みデータのディスクへの書
き込みが終了してからその命令に対する処理が行われる
ため、読み込み処理の終了までに多くの時間を要し、ホ
ストコンピュータから見るとディスクの読み込み動作に
長い時間がかかっているとみなされることがある。この
場合、ホストコンピュータの仕様によっては命令実行の
タイムアウトとなり、読み込み失敗としてしまうことが
あり、ホストコンピュータからの命令に対する処理を正
常に実行完了できないおそれがある。
【0010】本発明は、これらの事情に鑑みてなされた
もので、キャッシュメモリ上の未書き込みデータのディ
スクへの書き込み時間を短縮し、ホストコンピュータが
許容できる範囲以内に収めることができ、ホストコンピ
ュータから引き続き送られてくる命令に対する処理にお
いてホストコンピュータがタイムアウトを検出するのを
防止することが可能なディスクキャッシュ装置を提供す
ることを目的としている。
【0011】
【課題を解決するための手段】本発明によるディスクキ
ャッシュ装置は、ホストコンピュータから送られてきた
データを一時格納するキャッシュメモリと、前記ホスト
コンピュータから送られてきた前記キャッシュメモリ上
のデータのデータ量を記憶するデータ量記憶部と、前記
ホストコンピュータから送られてきたデータを前記キャ
ッシュメモリに書き込み終わった時点で、ホストコンピ
ュータに書き込み終了を報告し、その後該データの記録
媒体へ書き込みを行うコントローラと、を有してなり、
前記コントローラは、前記データ量記憶部の情報を基
に、前記ホストコンピュータから順次送られてきたデー
タの記録媒体上の書き込み領域が連続か不連続かを判断
するデータ連続性判別手段と、前記データ連続性判別手
段の判別結果を基に、前記データが連続データの場合は
キャッシュメモリ上の該データを一まとめに結合するデ
ータ結合手段と、前記データ連続性判別手段の判別結果
を基に、前記データが不連続データの場合は前記キャッ
シュメモリに蓄積可能なデータ量を連続データの場合よ
りも小さくする未書き込みデータ蓄積量制限手段と、を
備えたものである。
【0012】前記構成により、ホストコンピュータから
順次送られてきたデータが連続したデータの場合は、複
数のデータを一まとめにして書き込みが行われ、これに
より不要なシークや回転待ちが減少し、記録媒体への書
き込みを高速に実行可能となる。また、前記データが不
連続なデータの場合は、キャッシュメモリに蓄えられる
データ数あるいはデータ量が連続したデータの場合より
も制限され、キャッシュメモリに格納した未書き込みデ
ータを記録媒体に書き込み終了するまでの時間が短縮さ
れる。
【0013】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。図1は本実施形態におけるディス
クキャッシュ装置の構成を示すブロック図である。本実
施形態では、記録媒体への書き込み処理時間の遅さを補
って処理時間の高速化を図るための単純なライトキャッ
シュを備えた装置に着目し、このようなキャッシュメモ
リとしていわゆるライトスルー方式のディスクキャッシ
ュを備えた装置の構成例を示す。
【0014】ディスクキャッシュ装置は、ホストコンピ
ュータ5からインターフェース部(I/F部)6を介し
て送られてきたデータを一時蓄えておくキャッシュメモ
リ3と、前記ホストコンピュータ5から送られてきたデ
ータのデータ数等のデータ量を記憶するデータ量記憶部
2と、データの書き込み処理及び読み出し処理の制御を
行うコントローラ1と、記録媒体としてのディスク4に
対する書き込み及び読み出しを行うディスクコントロー
ラ7と、を有して構成されている。
【0015】コントローラ1は、ホストコンピュータ5
から送られてきたデータをキャッシュメモリ3に書き込
み終わった時点でホストコンピュータ5に書き込み終了
を報告し、その後キャッシュメモリ3からディスクコン
トローラ7を介してスピンドルモータ8で回転駆動され
ているディスク4へデータの書き込みを行うようになっ
ている。
【0016】このとき、ディスクコントローラ7によ
り、スピンドルモータ8や図示しないヘッド等の制御を
行うことにより、ディスク4に対するデータの書き込み
及び読み出しが行われる。
【0017】また、コントローラ1は、連続して送られ
てきたデータがシーケンシャルデータがランダムデータ
かを判断し、シーケンシャルデータの場合は、キャッシ
ュメモリ3に蓄えられている未書き込みのシーケンシャ
ルデータを一まとめにしてディスク4に書き込みを行
い、ランダムデータの場合は、キャッシュメモリ3に蓄
えることができるデータ数あるいはデータ量をシーケン
シャルデータの場合よりも小さくする制御を行う。
【0018】ここで、図2に本実施形態におけるディス
クキャッシュ装置の主要部の機能構成を示す。
【0019】コントローラ1は、データ量記憶部2の情
報を基にホストコンピュータ5から連続して送られてき
たデータがシーケンシャルデータかランダムデータかを
判断するデータ連続性判別手段1aと、データ連続性判
別手段1aの判別結果を基にデータが連続している場合
はこのキャッシュメモリ3上の未書き込みデータを一ま
とめに結合するデータ結合手段1bと、前記判別結果を
基にデータが不連続の場合はキャッシュメモリ3に蓄積
可能なデータ量を連続している場合よりも小さくする未
書き込みデータ蓄積量制限手段1cと、キャッシュメモ
リ3上の未書き込みデータのディスク4への書き込みを
制御するデータ書き込み制御手段1dと、の各機能ブロ
ックを有している。
【0020】図3はデータ量記憶部2の構成を示す概念
図である。データ量記憶部2は、ホストコンピュータ5
から送られてきたデータ数(書き込み命令数)をカウン
トするカウンタc_num 10と、キャッシュメモリ3に蓄
えられている未書き込みデータ量をカウントするカウン
タc_lng 11と、キャッシュメモリ3の空き容量をカウ
ントするカウンタc_emp 12と、未書き込みデータの先
頭番号を示すポインタt_tag 13と、同最終番号を示す
ポインタe_tag 14と、各未書き込みデータのディスク
4上の書き込み開始アドレスw_lba ,書き込みブロック
数w_lng ,およびキャッシュメモリ3上の格納開始アド
レスc_adr からなるタグtag 15と、を有してなる。タ
グtag 15は、書き込み命令毎にそれぞれ設けられ、各
命令に対応する未書き込みデータについてw_lba ,w_ln
g ,c_adr が1セットとなっている。
【0021】次に、本実施形態の動作手順を説明する。
図4ないし図7は本発明の第1の実施形態に係るコント
ローラ1の動作を示すフローチャートである。
【0022】まず、ステップS0(以降はステップを省
略し単にS0のように記す)で、初期設定としてデータ
量記憶部2の各カウンタ,ポインタ,タグに以下の数値
を代入してデータ量記憶部2の初期化を行う。キャッシ
ュメモリ3へ送られてきたデータ数 c_num=0、キャッ
シュメモリ3上の未書き込みデータ量 c_lng=0、キャ
ッシュメモリ3の空き容量 c_emp=800h、未書き込
みデータの先頭タグポインタ t_tag=0、未書き込みデ
ータの最終タグポインタ e_tag=7Fh、最終タグボイ
ンタ e_tagで示されるタグの書き込みブロック数 w_lng
(e_tag )=0、キャッシュメモリアドレス c_adr(e_
tag )=0とする。なお、本実施形態ではタグ15の最
大数は80h(=128)とする。ここで、hは16進
数を示しており、データ量記憶部2では各値が16進数
で格納される。
【0023】そしてS1で、cmd_flagがセットされてい
るか否かを判断してホストコンピュータからコマンドを
受信したかをチェックし、受信していなければS5に進
む。S5では c_num=0か否かを判断して未書き込みデ
ータがあるかをチェックし、未書き込みデータがなけれ
ばS1へ戻る。
【0024】このコマンド受信待ち状態において、コマ
ンド受信割り込みが発生すると図6のコマンド受信割り
込み処理に進む。コマンド受信割り込み処理では、S2
0でコマンドを受信したことを示すフラグcmd_flagをセ
ットする。次いで、S21でコマンドがライトコマンド
かをチェックし、ライトコマンドでなければ割り込み処
理を終了する。
【0025】図4に戻り、前記のようにコマンド受信フ
ラグcmd_flagがセットされると、S1からS2に進み、
コマンドがライトコマンドかをチェックし、ライトコマ
ンドでなければS3へ進む。S3では受信したコマンド
を実行し、コマンド受信フラグcmd_flagをリセットして
命令終了をホストコンピュータ5へ報告する。
【0026】再びコマンド受信割り込みが発生すると、
S20でコマンド受信フラグcmd_flagをセットし、S2
1でコマンドがライトコマンドかをチェックする。受信
したコマンドがライトコマンドの場合は、S22に進ん
で図7に示すキャッシュ処理を行い、ホストコンピュー
タ5からデータを受信する。
【0027】キャッシュ処理では、まずS30でデータ
を受信する前にタグ15に空きがあるかをチェックし、
c_num=80hであってタグに空きがなければ何もせず
に終了する。
【0028】S30でタグに空きがある場合は、S31
でキャッシュメモリ3にデータを受信できるだけの空き
があるかをチェックし、 c_emp−LONG<0、すなわちキ
ャッシュメモリ3の空き容量からデータの長さを引いた
数が負であってキャッシュメモリに空きがなければ何も
せずに終了する。
【0029】S31でキャッシュメモリに空きがある場
合は、S32でデータがシーケンシャルかランダムかを
チェックする。ここでは、今回のコマンドで指定されて
いるディスク4上の先頭アドレスLBAと、前回のコマ
ンドで指定されているディスク4上の書き込み開始アド
レスと書き込みブロック数から算出する次のデータのデ
ィスク上のアドレス w_lba(e_tag )+ w_lng(e_tag
)とを比較し、これらが等しい場合はシーケンシャル
データと判断する。
【0030】S32でデータがシーケンシャルの場合は
S34に進み、ランダムの場合はS33で未書き込みの
データ数をチェックする。S33では c_num≧40hか
否かを判断し、未書き込みのデータ数c_num がタグ15
の最大値80hの半分未満ならばS34に進み、半分以
上であれば何もせずに終了する。
【0031】すなわち、S32及びS33において、デ
ータがランダムの場合にキャッシュメモリに蓄積するデ
ータ量を制限している。
【0032】最初はデータがシーケンシャルかランダム
か(S32の結果)に関わらず、未書き込みデータ数c_
num は0なのでS34へ進む。
【0033】S34では、データ量記憶部2における未
書き込み最終タグの各値を以下のように更新する。デー
タ受信前の最終タグポインタ l_tagを l_tag=e_tag 、
データ受信後の最終タグポインタ e_tag=(e_tag +
l)(なおe_tag の最大値は7Fhとし、7Fhでマス
クする)、ディスク4上の書き込み開始アドレス w_lba
(e_tag )=LBA(コマンドで指定されたアドレ
ス)、キャッシュメモリ3上の格納開始アドレス c_adr
(e_tag )={ c_adr(l_tag )+ w_lng(l_tag )×
512}(なお c_adr(e_tag )の最大値はOFFFF
Fhとし、OFFFFFhでマスクする)、未書き込み
データ数 c_num=c_num +1とする。前記キャッシュメ
モリアドレス c_adr(e_tag )は、前回のキャッシュメ
モリアドレス c_adr(l_tag )にデータ量[byte]を足
した値である。ここで、1ブロックを512[byte]と
する。
【0034】その後、S35でホストコンピュータ5か
らデータを受信して、このデータをキャッシュメモリ3
に一時格納し、S36でコマンド受信フラグcmd_flagを
リセットして命令終了をホストコンピュータ5へ報告す
る。
【0035】再度図4に戻り、未書き込みデータが発生
するとS5から図5のS6へ進み、S6で未書き込みデ
ータが2つ以上あるかをチェックする。なお、図4と図
5において符号A,Bがそれぞれ対応してつながってい
る。
【0036】S6において c_num=1、すなわち未書き
込みデータが1つだけの場合は、S10に進んでデータ
をディスク4へ書き込み、S11で以下のようにカウン
タの各値を更新する。キャッシュメモリ3の上の未書き
込みデータ量 c_lng= c_lng− w_lng(t_tag )、キャ
ッシュメモリ3の空き容量 c_emp= c_emp+ w_lng(t_
tag )、未書き込みデータの先頭タグポインタ t_tag=
t_tag+1、未書き込みデータ数 c_num= c_num−1と
する。その後、S11から図4のS1へ戻る。
【0037】S6で未書き込みデータが2つ以上ある場
合はS7へ進み、S7で次の未書き込みタグポインタn_
tag を求める。ここでは n_tag=t_tag +1とする。な
お、n_tag の最大値は7Fhであるため、7Fhでマス
クする。
【0038】次に、S8で先頭タグと次のタグのデータ
がシーケンシャルかランダムかチェックし、データがラ
ンダムならば前述のS10へ進み、シーケンシャルなら
ばS9へ進む。ここでは、次のタグのディスク上の書き
込み開始アドレス w_lba(n_tag )と先頭タグのディス
ク上の書き込み開始アドレスと書き込みブロック数から
算出するディスク上のアドレス w_lba(t_tag )+ w_l
ng(t_tag )とを比較し、これらが等しい場合はシーケ
ンシャルデータと判断する。
【0039】S9では、以下のようにタグ15の各値を
更新して2つのタグを1つにまとめる。次のタグのディ
スク4上のアドレス w_lba(n_tag )= w_lba(t_tag
)、次のタグの書き込みブロック数 w_lng(n_tag )
= w_lng(n_tag )+ w_lng(t_tag )、次のタグのキ
ャッシュメモリ3上のアドレス c_adr(n_tag )= c_a
dr(t_tag )、先頭タグポインタ t_tag =n_tag、未書
き込みデータ数 c_num=c_num −1とする。その後、S
9からS6へ戻り、未書き込みデータが1つになるかデ
ータが連続でなくなるまでS6〜S9の処理を繰り返
し、シーケンシャルデータをまとめる。
【0040】なお、S30でタグ15に空きが無いと判
断されたとき、S31でキャッシュメモリ3に空きが無
いと判断されたとき、あるいはS32及びS33で送ら
れてくるデータがランダムで且つ未書き込みデータ数が
所定値(本実施形態ではタグの最大値の半分)以上と判
断されたときは、S6からS11でデータがディスク4
へ書き込まれた後に再度S4でデータの受信動作が行わ
れる。
【0041】ただし、この再度のデータ受信動作の時点
でもキャッシュメモリ3に空きが無いと判断されたと
き、あるいは送られてくるデータがランダムで且つ未書
き込みデータ数が所定値以上と判断されたときは、デー
タの受信が可能となるまでS1からS11の処理が繰り
返される。そして、データが受信可能になった時点でS
4においてデータの受信動作が行われ、コマンド受信フ
ラグcmd_flagがリセットされてホストコンピュータ5へ
ライトコマンドの終了が報告される。
【0042】前記のように本実施形態では、S6ないし
S9でシーケンシャルデータの場合はデータをまとめる
処理を行い、S32及びS33でランダムデータの場合
はキャッシュメモリ3に蓄積するデータ量を制限してい
る。
【0043】1回のライト処理時間Tは、回転待ちを含
むアクセス時間Aと書き込み時間Wとの和であり、デー
タ数がNの場合は、Tn=(A+W)×Nとなる。な
お、シーケンシャルデータの場合はまとめて書き込みを
行うので、Ts=A+W×Nとなる。すなわち、ランダ
ムデータを書き込む場合は、シーケンシャルデータをま
とめて書き込む場合よりも余分なアクセス時間A×(N
−1)の分だけ全体のライト処理時間Tが長くなり、そ
の延長分によりライト命令終了(キャッシュメモリへの
データ書き込み終了)からリード命令などの次の命令の
実行終了までの時間が長くなる。
【0044】このとき、コントローラ1はキャッシュメ
モリ3に未書き込みデータがある場合でも次の命令は受
付けて、ライト命令でなければ、キャッシュメモリ3の
未書き込みデータをディスク4に書き込んでから命令を
実行するようになっている。よって、ホストコンピュー
タからみると、キャッシュメモリ3内の未書き込みデー
タをディスク4に書き込む時間分だけ命令実行時間が長
くなり、命令実行のタイムアウトを検出しやすくなる。
【0045】そこでランダムデータの場合は、キャッシ
ュメモリ3に蓄えることができるデータ数を少なくする
ことにより、キャッシュメモリ3に未書き込みデータが
ある場合の命令実行時間の最大値を小さくする。このよ
うにキャッシュメモリ3に蓄えることができるデータ数
を小さくすることは、受信可能なデータ数を小さくする
こととほぼ同じこととなり、ホストコンピュータ5にお
けるタイムアウトの発生を防止することができる。
【0046】以上説明したように、本実施形態では、ホ
ストコンピュータ5より送られてきたデータがシーケン
シャルデータの場合は、連続するタグのデータを結合し
てディスク4への書き込みを行うようにしている。これ
により、ディスク4への書き込み処理を高速に行うこと
ができ、ホストコンピュータ5から次のコマンドを受け
た場合も、あまりホストコンピュータ5を待たせること
なくコマンドに早く応答して実行できる。
【0047】また、ホストコンピュータ5より送られて
きたデータがランダムデータの場合は、ディスクへの書
き込み処理においてシーケンシャルデータに比べて余分
にシークタイムや回転待ち時間が発生するので、キャッ
シュメモリ3に蓄えておくことのできるデータ数をシー
ケンシャルデータの場合よりも少なく制限している。こ
れにより、キャッシュメモリ3に蓄えられた未書き込み
データを全てディスク4へ書き込み終わるのにかかる時
間を短くでき、ディスク4への書き込み時間をホストコ
ンピュータ5が許容できる範囲以内に制限し、次のコマ
ンドにおいてホストコンピュータ5が命令実行のタイム
アウトを検出することを防ぐことができる。
【0048】次に、本発明の第2の実施形態としてコン
トローラ1の動作を変更した例を示す。第2の実施形態
は前述の第1の実施形態におけるキャッシュ処理の手順
の変形例である。図8に第2の実施形態に係るキャッシ
ュ処理の手順のフローチャートを示す。なお、その他の
コントローラ1の動作手順については図4ないし図6と
同様であり、説明を省略する。
【0049】第2の実施形態では、図7におけるS3
1,S33の判断を変更し、キャッシュメモリ3の空き
容量 c_emp及びホストコンピュータ5から送られてきた
データ数 c_numの代わりに、キャッシュメモリ3上の未
書き込みデータ量 c_lngによって判断を行うようにして
いる。
【0050】すなわち、本実施形態のキャッシュ処理に
おいては、まずS50でデータを受信する前にタグ15
に空きがあるかをチェックし、 c_num=80hであって
タグに空きがなければ何もせずに終了する。
【0051】S50でタグに空きがある場合は、S51
でキャッシュメモリ3にデータを受信できるだけの空き
があるかをチェックし、 c_lng+LONG>800h、すな
わちキャッシュメモリ3の未書き込みデータ量にデータ
の長さを足した数が800h以上であってキャッシュメ
モリに空きがなければ何もせずに終了する。
【0052】S51でキャッシュメモリに空きがある場
合は、S52で前記S32と同様にデータがシーケンシ
ャルかランダムかをチェックし、データがシーケンシャ
ルの場合はS54に進み、ランダムの場合はS53で未
書き込みデータ量をチェックする。S53では c_lng≧
400hか否かを判断し、未書き込みデータ量c_numが
キャッシュメモリ3の空き容量の最大値800hの半分
未満ならばS54に進み、半分以上であれば何もせずに
終了する。
【0053】S54では前記S34と同様にデータ量記
憶部2における未書き込み最終タグの各値を以下のよう
に更新し、その後S55でホストコンピュータ5からデ
ータを受信して、このデータをキャッシュメモリ3に一
時格納し、S56でコマンド受信フラグcmd_flagをリセ
ットして命令終了をホストコンピュータ5へ報告する。
【0054】このように、キャッシュメモリ3の空き容
量 c_empの代わりに、キャッシュメモリ3上の未書き込
みデータ量 c_lngを用いた場合においても第1の実施形
態と同様の効果を得ることができる。
【0055】なお、上記実施形態の説明ではホストコン
ピュータからのデータがランダムデータの場合のタグの
数、あるいは未書き込みデータ量を、シーケンシャルデ
ータのときの半分に設定したが、これに限らず、ホスト
コンピュータ5が許容できる範囲以内であれば、これよ
り多くしてもまたは少なくしても良い。
【0056】また、ホストコンピュータからのデータが
シーケンシャルの場合は、データを可能な限り全て一ま
とめに結合するようにしたが、データ数あるいはデータ
量を制限してまとめても良い。
【0057】また、コマンド受信は割り込みではなく、
インターフェース部6をポーリングすることで行っても
良い。
【0058】また、キャッシュメモリ3の容量やタグ1
5の最大値は本実施形態の値に限らず、他の値でも良い
し、データ量記憶部2の構成も本発明の要旨内であれば
各種変更は可能である。
【0059】また、記録媒体としてのディスク4は回転
駆動型のものに限らず、カード型のような媒体でも良い
し、固定式でも交換式の媒体でも構わない。
【0060】以上説明したように、本実施形態によれ
ば、ホストコンピュータから送られてくるデータがシー
ケンシャルデータの場合は、連続するデータを一まとめ
にしてディスクへ書き込むので、キャッシュメモリ内の
未書き込みデータをディスクへ書き込む時間を短くで
き、これにより引続き送られてくるホストコンピュータ
からの命令に早く応答することができる。この場合、ホ
ストコンピュータから最初のデータを受信してから全て
のデータを書き込み終了するまでの時間も短くなるた
め、ホストコンピュータの全命令の実行時間も短くする
ことができる。
【0061】また、ホストコンピュータから送られてく
るデータがランダムデータの場合は、キャッシュメモリ
に一時蓄えておく未書き込みのデータ数またはデータ量
を、シーケンシャルデータの場合に比べて少なく制限す
るので、引続き送られてくるホストコンピュータからの
コマンドの実行を長く待たせることがなくなり、ホスト
コンピュータが命令実行のタイムアウトを検出すること
を防止できる。この場合、ホストコンピュータから最初
のデータを受信してから全てのデータを書き込み終了す
る時間は変わらないし、ホストコンピュータの全命令の
実行時間は、キャッシュメモリに蓄えられるデータ量が
少なくなった分若干長くなる。しかし、最後のライト命
令が終了してから次のライト以外の命令に対する実行時
間は短くすることができる。
【0062】
【発明の効果】以上説明したように本発明によれば、キ
ャッシュメモリ上の未書き込みデータのディスクへの書
き込み時間を短縮し、ホストコンピュータが許容できる
範囲以内に収めることができ、ホストコンピュータから
引き続き送られてくる命令に対する処理においてホスト
コンピュータがタイムアウトを検出するのを防止するこ
とができる効果がある。
【図面の簡単な説明】
【図1】本発明の実施形態におけるディスクキャッシュ
装置の構成を示すブロック図
【図2】本発明の実施形態におけるディスクキャッシュ
装置の主要部の機能構成を示すブロック図
【図3】図1におけるデータ量記憶部の構成を示す概念
【図4】本発明の第1の実施形態に係るコントローラの
動作手順において、書き込み処理におけるメインの流れ
の前半部を示すフローチャート
【図5】第1の実施形態に係るコントローラの動作手順
において、書き込み処理におけるメインの流れの後半部
を示すフローチャート
【図6】第1の実施形態に係るコントローラの動作手順
において、コマンド受信割り込み処理の手順を示すフロ
ーチャート
【図7】第1の実施形態に係るコントローラの動作手順
において、キャッシュ処理の手順を示すフローチャート
【図8】本発明の第2の実施形態に係るキャッシュ処理
の手順を示すフローチャート
【符号の説明】
1…コントローラ 1a…データ連続性判別手段 1b…データ結合手段 1c…未書き込みデータ蓄積量制限手段 1d…データ書き込み制御手段 2…データ量記憶部 3…キャッシュメモリ 4…ディスク 5…ホストコンピュータ 7…ディスクコントローラ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ホストコンピュータから送られてきたデ
    ータを一時格納するキャッシュメモリと、 前記ホストコンピュータから送られてきた前記キャッシ
    ュメモリ上のデータのデータ量を記憶するデータ量記憶
    部と、 前記ホストコンピュータから送られてきたデータを前記
    キャッシュメモリに書き込み終わった時点で、ホストコ
    ンピュータに書き込み終了を報告し、その後該データの
    記録媒体へ書き込みを行うコントローラと、を有してな
    り、 前記コントローラは、 前記データ量記憶部の情報を基に、前記ホストコンピュ
    ータから順次送られてきたデータの記録媒体上の書き込
    み領域が連続か不連続かを判断するデータ連続性判別手
    段と、 前記データ連続性判別手段の判別結果を基に、前記デー
    タが連続データの場合はキャッシュメモリ上の該データ
    を一まとめに結合するデータ結合手段と、 前記データ連続性判別手段の判別結果を基に、前記デー
    タが不連続データの場合は前記キャッシュメモリに蓄積
    可能なデータ量を連続データの場合よりも小さくする未
    書き込みデータ蓄積量制限手段と、 を備えたことを特徴とするディスクキャッシュ装置。
  2. 【請求項2】 前記データ量記憶部は、前記キャッシュ
    メモリ上のデータのデータ量として、該送られてきたデ
    ータのデータ数、前記キャッシュメモリの使用量または
    残量の少なくともいずれか一つを記憶し、 前記データ蓄積量制限手段は、前記キャッシュメモリに
    蓄積可能なデータ量として、該キャッシュメモリに格納
    するデータ数あるいはこのキャッシュメモリの使用量の
    いずれかを制限することを特徴とするディスクキャッシ
    ュ装置。
JP26724095A 1995-10-16 1995-10-16 ディスクキャッシュ装置 Expired - Fee Related JP3594265B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26724095A JP3594265B2 (ja) 1995-10-16 1995-10-16 ディスクキャッシュ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26724095A JP3594265B2 (ja) 1995-10-16 1995-10-16 ディスクキャッシュ装置

Publications (2)

Publication Number Publication Date
JPH09114598A true JPH09114598A (ja) 1997-05-02
JP3594265B2 JP3594265B2 (ja) 2004-11-24

Family

ID=17442091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26724095A Expired - Fee Related JP3594265B2 (ja) 1995-10-16 1995-10-16 ディスクキャッシュ装置

Country Status (1)

Country Link
JP (1) JP3594265B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000003309A (ja) * 1998-06-15 2000-01-07 Fujitsu Ltd 記憶装置
US8214581B2 (en) 2008-12-08 2012-07-03 Samsung Electronics Co., Ltd. System and method for cache synchronization

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000003309A (ja) * 1998-06-15 2000-01-07 Fujitsu Ltd 記憶装置
US8214581B2 (en) 2008-12-08 2012-07-03 Samsung Electronics Co., Ltd. System and method for cache synchronization

Also Published As

Publication number Publication date
JP3594265B2 (ja) 2004-11-24

Similar Documents

Publication Publication Date Title
US4598357A (en) Cache/disk subsystem with file number for recovery of cached data
JP2002520691A (ja) 異なるデータ構造を格納するための方法及び装置
JPH1063578A (ja) 情報記録再生装置
JPH11273243A (ja) ディスク装置及び同装置に適用されるライトバッファ制御方法
JP2000105725A (ja) チップイネーブル信号生成回路及びメモリ装置
US7133976B2 (en) Disk array device, method for controlling the disk array device and storage system
CN100435081C (zh) 存储控制设备以及存储控制方法
EP0017666B1 (en) Methods of operating direct access storage means
RU2183850C2 (ru) Способ выполнения операций считывания в мультипроцессорной компьютерной системе
JPH0115903B2 (ja)
JPH09114598A (ja) ディスクキャッシュ装置
JP4475621B2 (ja) メモリ制御回路の論理検証装置及び方法
JPH07182792A (ja) 情報セクタの欠陥処理方法
JP3260711B2 (ja) メモリパトロール方法と制御回路
US20070174739A1 (en) Disk device, method of writing data in disk device, and computer product
JP3030949B2 (ja) ディジタルデータ記録再生装置
JP2000020398A (ja) ディスク記憶装置及び同装置に適用するディスクコントローラ
JP3275492B2 (ja) 連動型ディスク装置
JPS5938930A (ja) 光デイスク制御装置
CN100371916C (zh) Scsi磁盘记录装置与方法
JPH01243268A (ja) データ記録制御方法
EP0358224A2 (en) Semiconductor disk device useful in transaction processing system
JP3264985B2 (ja) ディスク制御装置
JPH05158627A (ja) ディスク装置
JPH05233482A (ja) データ転送システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040720

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040830

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080910

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080910

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090910

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090910

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100910

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110910

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120910

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees