JPH06309233A - ディスク制御装置のデータ転送制御方法 - Google Patents
ディスク制御装置のデータ転送制御方法Info
- Publication number
- JPH06309233A JPH06309233A JP5101221A JP10122193A JPH06309233A JP H06309233 A JPH06309233 A JP H06309233A JP 5101221 A JP5101221 A JP 5101221A JP 10122193 A JP10122193 A JP 10122193A JP H06309233 A JPH06309233 A JP H06309233A
- Authority
- JP
- Japan
- Prior art keywords
- size
- data transfer
- disk
- dma
- transfer
- 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
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】ディスクキャッシュディレクトリ検索によるオ
ーバーヘッドが低減できるようにする。 【構成】上位装置から要求されたデータ転送のサイズを
“分割サイズ初期値”で分割し(ステップ32)、最初
の分割サイズ分についてディスクキャッシュディレクト
リ検索を行った後(ステップ33)、その結果を用いて
最初の分割サイズ分についてDMA転送のセットアップ
を行い、DMA転送を起動する(ステップ34)。以
降、先行する分割サイズ分のDMA転送期間中、次の分
割サイズ分についてディレクトリ検索を行い(ステップ
35)、先行するDMA転送が完了すると(ステップ3
6)、ステップ35での検索結果を用いて、対応する分
割サイズ分についてDMA転送のセットアップを行い、
DMA転送を起動する(ステップ37)といった一連の
動作を、未処理の分割サイズがなくなるまで繰返す。
ーバーヘッドが低減できるようにする。 【構成】上位装置から要求されたデータ転送のサイズを
“分割サイズ初期値”で分割し(ステップ32)、最初
の分割サイズ分についてディスクキャッシュディレクト
リ検索を行った後(ステップ33)、その結果を用いて
最初の分割サイズ分についてDMA転送のセットアップ
を行い、DMA転送を起動する(ステップ34)。以
降、先行する分割サイズ分のDMA転送期間中、次の分
割サイズ分についてディレクトリ検索を行い(ステップ
35)、先行するDMA転送が完了すると(ステップ3
6)、ステップ35での検索結果を用いて、対応する分
割サイズ分についてDMA転送のセットアップを行い、
DMA転送を起動する(ステップ37)といった一連の
動作を、未処理の分割サイズがなくなるまで繰返す。
Description
【0001】
【産業上の利用分野】この発明は、ディスクキャッシュ
を有するディスク制御装置のデータ転送制御方法に関す
る。
を有するディスク制御装置のデータ転送制御方法に関す
る。
【0002】
【従来の技術】近年のディスク制御装置には、主記憶と
ディスク装置とのアクセス速度の差を緩衝するために、
ディスク装置の一部のデータの写しが置かれるディスク
キャッシュ(ディスクキャッシュメモリ)と、このディ
スクキャッシュの内容とディスク装置のアドレスとの対
応をとるためのディスクキャッシュディレクトリを有す
るディスクキャッシュ機構が設けられているものがあ
る。
ディスク装置とのアクセス速度の差を緩衝するために、
ディスク装置の一部のデータの写しが置かれるディスク
キャッシュ(ディスクキャッシュメモリ)と、このディ
スクキャッシュの内容とディスク装置のアドレスとの対
応をとるためのディスクキャッシュディレクトリを有す
るディスクキャッシュ機構が設けられているものがあ
る。
【0003】ディスクキャッシュは、ある一定サイズ毎
にブロック化して管理されており、したがってディスク
キャッシュディレクトリも、ディスクキャッシュの内容
と磁気ディスク装置とのアドレスの対応を(示すディレ
クトリ情報を)ブロック単位で与えるように構成されて
いる。
にブロック化して管理されており、したがってディスク
キャッシュディレクトリも、ディスクキャッシュの内容
と磁気ディスク装置とのアドレスの対応を(示すディレ
クトリ情報を)ブロック単位で与えるように構成されて
いる。
【0004】従来、この種のディスクキャッシュ機構を
備えたディスク制御装置においては、上位装置より発行
されたデータ転送要求に対して、その要求されたデータ
転送のサイズ(データ転送要求サイズ)分について、一
括してディスクキャッシュディレクトリを検索し、その
検索結果を使用してデータ転送要求サイズ分のデータ転
送を1回のDMA転送で実行していた。
備えたディスク制御装置においては、上位装置より発行
されたデータ転送要求に対して、その要求されたデータ
転送のサイズ(データ転送要求サイズ)分について、一
括してディスクキャッシュディレクトリを検索し、その
検索結果を使用してデータ転送要求サイズ分のデータ転
送を1回のDMA転送で実行していた。
【0005】この従来のディスク制御装置では、要求さ
れたデータ(目的データ)がディスクキャッシュに存在
するキャッシュヒット時には、同キャッシュから目的デ
ータが取出せるため、低速なディスク装置に対するアク
セスを不要にすることができる。しかも、要求されたデ
ータ転送は、通常、DMA転送により行われるため、高
速転送が可能であった。
れたデータ(目的データ)がディスクキャッシュに存在
するキャッシュヒット時には、同キャッシュから目的デ
ータが取出せるため、低速なディスク装置に対するアク
セスを不要にすることができる。しかも、要求されたデ
ータ転送は、通常、DMA転送により行われるため、高
速転送が可能であった。
【0006】
【発明が解決しようとする課題】上記したように、ディ
スクキャッシュ機構を備えた従来のディスク制御装置に
おいては、上位装置からのデータ転送要求サイズ分につ
いて、一括して、ブロックサイズ毎にディスクキャッシ
ュディレクトリを検索し、その検索結果を使用してデー
タ転送要求サイズ分のデータ転送を1回のDMA転送で
実行していた。したがって、複数のキャッシュブロック
にまたがるデータ転送となるようなデータ転送要求サイ
ズの場合には、ディスクキャッシュディレクトリ検索も
ブロック数分行われていた。
スクキャッシュ機構を備えた従来のディスク制御装置に
おいては、上位装置からのデータ転送要求サイズ分につ
いて、一括して、ブロックサイズ毎にディスクキャッシ
ュディレクトリを検索し、その検索結果を使用してデー
タ転送要求サイズ分のデータ転送を1回のDMA転送で
実行していた。したがって、複数のキャッシュブロック
にまたがるデータ転送となるようなデータ転送要求サイ
ズの場合には、ディスクキャッシュディレクトリ検索も
ブロック数分行われていた。
【0007】このようにディスクキャッシュ機構を備え
た従来のディスク制御装置では、データ転送要求サイズ
が大きくなるに従い、転送の対象となるキャッシュブロ
ック数が増加するため、ブロックサイズ毎のディスクキ
ャッシュディレクトリ検索回数も増加し、この検索に要
する時間がオーバーヘッドとして無視できなくなってく
るという問題があった。
た従来のディスク制御装置では、データ転送要求サイズ
が大きくなるに従い、転送の対象となるキャッシュブロ
ック数が増加するため、ブロックサイズ毎のディスクキ
ャッシュディレクトリ検索回数も増加し、この検索に要
する時間がオーバーヘッドとして無視できなくなってく
るという問題があった。
【0008】この発明は上記事情を考慮してなされたも
のでその目的は、データ転送要求サイズを分割し、ディ
スクキャッシュディレクトリ検索とDMA転送を、分割
サイズ毎に実行し、ある分割サイズのデータのDMA転
送期間中に、次の分割サイズのデータ転送分のディスク
キャッシュディレクトリ検索を並行して実行することに
より、ディスクキャッシュディレクトリ検索によるオー
バーヘッドを低減できるディスク制御装置のデータ転送
制御方法を提供することにある。
のでその目的は、データ転送要求サイズを分割し、ディ
スクキャッシュディレクトリ検索とDMA転送を、分割
サイズ毎に実行し、ある分割サイズのデータのDMA転
送期間中に、次の分割サイズのデータ転送分のディスク
キャッシュディレクトリ検索を並行して実行することに
より、ディスクキャッシュディレクトリ検索によるオー
バーヘッドを低減できるディスク制御装置のデータ転送
制御方法を提供することにある。
【0009】
【課題を解決するための手段】この発明の第1の構成
は、ディスクキャッシュを有するディスク制御装置のデ
ータ転送制御方法において、上位装置から要求されたデ
ータ転送のサイズ(データ転送要求サイズ)が予め設定
された分割サイズを超えている場合、要求されたデータ
転送の先頭アドレスから、上記分割サイズ分についての
みディスクキャッシュディレクトリを検索して、その検
索結果を使用して分割サイズ分のDMA転送を起動し、
以後、DMA転送の実行期間に、要求されたデータ転送
の後続アドレスから、上記分割サイズ分のディスクキャ
ッシュディレクトリの検索を実行し、その検索結果を使
用して分割サイズ分のDMA転送を起動する動作を繰返
すことを特徴とするものである。
は、ディスクキャッシュを有するディスク制御装置のデ
ータ転送制御方法において、上位装置から要求されたデ
ータ転送のサイズ(データ転送要求サイズ)が予め設定
された分割サイズを超えている場合、要求されたデータ
転送の先頭アドレスから、上記分割サイズ分についての
みディスクキャッシュディレクトリを検索して、その検
索結果を使用して分割サイズ分のDMA転送を起動し、
以後、DMA転送の実行期間に、要求されたデータ転送
の後続アドレスから、上記分割サイズ分のディスクキャ
ッシュディレクトリの検索を実行し、その検索結果を使
用して分割サイズ分のDMA転送を起動する動作を繰返
すことを特徴とするものである。
【0010】また、この発明の第2の構成は、DMA転
送の実行期間におけるディスクキャッシュディレクトリ
検索の対象とする分割サイズを、分割された2番目以降
のデータのDMA転送に対する分割サイズについては、
上記第1の構成とは異なって固定とせずに、その直前の
分割されたデータのDMA転送の間に可能な限りディス
クキャッシュディレクトリ検索を実行して、実際に検索
できたサイズとするようにしたことを特徴とする。
送の実行期間におけるディスクキャッシュディレクトリ
検索の対象とする分割サイズを、分割された2番目以降
のデータのDMA転送に対する分割サイズについては、
上記第1の構成とは異なって固定とせずに、その直前の
分割されたデータのDMA転送の間に可能な限りディス
クキャッシュディレクトリ検索を実行して、実際に検索
できたサイズとするようにしたことを特徴とする。
【0011】
【作用】上記第1の構成において、1番目の分割サイズ
分については、そのディスクキャッシュディレクトリ検
索に要する時間がオーバーヘッドとなるものの、2番目
以降の任意のi番目(iは2以上の整数)の分割サイズ
分については、そのディレクトリ検索が、i−1番目の
DMA転送と並行して行われるため、上位装置からはオ
ーバーヘッドとしてみえない。このように、第1の構成
では、1分割サイズ分のディレクトリ検索時間しかオー
バーヘッドとして現れないため、データ転送要求サイズ
が予め設定された分割サイズより十分大きい場合には、
従来に比べて上位装置へのアクセス時間が短縮される。
なお、第1の構成では、従来1回の転送で行っていたも
のを複数回に分割して行うため、DMA転送のセットア
ップ回数が分割数だけ増え、DMA転送のセットアップ
に要する時間も増加する。しかし、このセットアップに
要する時間よりディレクトリを検索する時間の方が一般
に長いため、全体としてアクセス時間が短縮できる。
分については、そのディスクキャッシュディレクトリ検
索に要する時間がオーバーヘッドとなるものの、2番目
以降の任意のi番目(iは2以上の整数)の分割サイズ
分については、そのディレクトリ検索が、i−1番目の
DMA転送と並行して行われるため、上位装置からはオ
ーバーヘッドとしてみえない。このように、第1の構成
では、1分割サイズ分のディレクトリ検索時間しかオー
バーヘッドとして現れないため、データ転送要求サイズ
が予め設定された分割サイズより十分大きい場合には、
従来に比べて上位装置へのアクセス時間が短縮される。
なお、第1の構成では、従来1回の転送で行っていたも
のを複数回に分割して行うため、DMA転送のセットア
ップ回数が分割数だけ増え、DMA転送のセットアップ
に要する時間も増加する。しかし、このセットアップに
要する時間よりディレクトリを検索する時間の方が一般
に長いため、全体としてアクセス時間が短縮できる。
【0012】次に上記第2の構成では、i番目の分割サ
イズ(i番目のデータ転送サイズ)を固定とせずに、i
−1番目のDMA転送の処理時間に応じて動的に変更す
る、即ちi−1番目のDMA転送が完了するまで、i番
目のディスクキャッシュディレクトリ検索を可能な限り
実行し、実際に実行できたサイズを分割サイズとしてい
る。一般にDMA転送よりディスクキャッシュディレク
トリ検索の方が高速のため、i−1番目の分割サイズよ
り次のi番目の分割サイズの方が大きくなる。このこと
から、分割サイズを動的に変更すると共に、i−1番目
のDMA転送とi番目の分割サイズのディレクトリ検索
とを並行して行うことにより、分割数を少なくしてDM
A転送のセットアップに要する時間を短縮でき、アクセ
ス時間を一層短縮できる。
イズ(i番目のデータ転送サイズ)を固定とせずに、i
−1番目のDMA転送の処理時間に応じて動的に変更す
る、即ちi−1番目のDMA転送が完了するまで、i番
目のディスクキャッシュディレクトリ検索を可能な限り
実行し、実際に実行できたサイズを分割サイズとしてい
る。一般にDMA転送よりディスクキャッシュディレク
トリ検索の方が高速のため、i−1番目の分割サイズよ
り次のi番目の分割サイズの方が大きくなる。このこと
から、分割サイズを動的に変更すると共に、i−1番目
のDMA転送とi番目の分割サイズのディレクトリ検索
とを並行して行うことにより、分割数を少なくしてDM
A転送のセットアップに要する時間を短縮でき、アクセ
ス時間を一層短縮できる。
【0013】
【実施例】図1はこの発明を適用する磁気ディスク制御
装置の一実施例を示すブロック構成図である。同図にお
いて、10は磁気ディスク制御装置である。磁気ディス
ク制御装置10は、チャネル装置などの上位装置20と
磁気ディスク装置30に接続されており、上位装置20
からの入出力要求(データ転送要求)の処理を実行す
る。
装置の一実施例を示すブロック構成図である。同図にお
いて、10は磁気ディスク制御装置である。磁気ディス
ク制御装置10は、チャネル装置などの上位装置20と
磁気ディスク装置30に接続されており、上位装置20
からの入出力要求(データ転送要求)の処理を実行す
る。
【0014】磁気ディスク制御装置10は、上位装置2
0からの要求に従う各種処理を制御するマイクロプロセ
ッサ11と、このマイクロプロセッサ11の処理とは独
立してDMA転送を実行するDMA制御回路12とを有
している。
0からの要求に従う各種処理を制御するマイクロプロセ
ッサ11と、このマイクロプロセッサ11の処理とは独
立してDMA転送を実行するDMA制御回路12とを有
している。
【0015】磁気ディスク制御装置10はまた、磁気デ
ィスク装置30の内容の一部分を一定のブロックサイズ
単位で記憶するためのディスクキャッシュ(ディスクキ
ャッシュメモリ)13と、ディスクキャッシュ13に記
憶されている内容と磁気ディスク装置30のアドレスと
の対応を(示すディレクトリ情報を)、キャッシュブロ
ック単位で記憶するためのディスクキャッシュディレク
トリ(ディレクトリメモリ)14とを有している。この
ディスクキャッシュディレクトリ14は、上位装置20
からの要求に対応するデータが、ディスクキャッシュ1
3のいずれのキャッシュブロック内に存在するかを、マ
イクロプロセッサ11が調べるキャッシュディレクトリ
検索に用いられる。もし、上位装置20からの要求に対
応するデータが、ディスクキャッシュ13のいずれかの
キャッシュブロック内に存在する場合には、そのブロッ
クからデータを取り出すことにより(磁気ディスク装置
30のアクセスが不要となるため)、アクセス時間の短
縮が図れる。
ィスク装置30の内容の一部分を一定のブロックサイズ
単位で記憶するためのディスクキャッシュ(ディスクキ
ャッシュメモリ)13と、ディスクキャッシュ13に記
憶されている内容と磁気ディスク装置30のアドレスと
の対応を(示すディレクトリ情報を)、キャッシュブロ
ック単位で記憶するためのディスクキャッシュディレク
トリ(ディレクトリメモリ)14とを有している。この
ディスクキャッシュディレクトリ14は、上位装置20
からの要求に対応するデータが、ディスクキャッシュ1
3のいずれのキャッシュブロック内に存在するかを、マ
イクロプロセッサ11が調べるキャッシュディレクトリ
検索に用いられる。もし、上位装置20からの要求に対
応するデータが、ディスクキャッシュ13のいずれかの
キャッシュブロック内に存在する場合には、そのブロッ
クからデータを取り出すことにより(磁気ディスク装置
30のアクセスが不要となるため)、アクセス時間の短
縮が図れる。
【0016】ディスクキャッシュディレクトリ14に
は、分割サイズの初期値(分割サイズ初期値)を記憶す
るための領域(以下、分割サイズ記憶領域と称する)1
5が確保されている。この分割サイズ初期値は、磁気デ
ィスク制御装置10から要求されたデータ転送のサイズ
を分割して(ディスクキャッシュディレクトリ14の)
ディレクトリ検索と(上位装置20との)データ転送を
実行するための、その分割の単位なるサイズを示すもの
で、例えばキャッシュブロックサイズの整数倍の値に設
定される。なお、分割サイズ記憶領域15は、ディスク
キャッシュディレクトリ14とは無関係のメモリ領域に
確保されていても構わない。
は、分割サイズの初期値(分割サイズ初期値)を記憶す
るための領域(以下、分割サイズ記憶領域と称する)1
5が確保されている。この分割サイズ初期値は、磁気デ
ィスク制御装置10から要求されたデータ転送のサイズ
を分割して(ディスクキャッシュディレクトリ14の)
ディレクトリ検索と(上位装置20との)データ転送を
実行するための、その分割の単位なるサイズを示すもの
で、例えばキャッシュブロックサイズの整数倍の値に設
定される。なお、分割サイズ記憶領域15は、ディスク
キャッシュディレクトリ14とは無関係のメモリ領域に
確保されていても構わない。
【0017】磁気ディスク制御装置10は更に、上位装
置20とのインタフェースをとる上位装置インタフェー
ス回路16と、磁気ディスク装置30とのインタフェー
スをとる磁気ディスク装置インタフェース回路17とを
有している。
置20とのインタフェースをとる上位装置インタフェー
ス回路16と、磁気ディスク装置30とのインタフェー
スをとる磁気ディスク装置インタフェース回路17とを
有している。
【0018】次に、図1中のディスクキャッシュ13の
原理を、セットアソシアティブ方式を例に、図2を参照
して説明する。 (α)まず、ディスクキャッシュ13および磁気ディス
ク装置30の記憶領域を、管理上、それぞれ一定のブロ
ックサイズ単位に分割する。図2中の、“A”,
“B”,“C”は、この分割された1ブロックのデータ
を示す。
原理を、セットアソシアティブ方式を例に、図2を参照
して説明する。 (α)まず、ディスクキャッシュ13および磁気ディス
ク装置30の記憶領域を、管理上、それぞれ一定のブロ
ックサイズ単位に分割する。図2中の、“A”,
“B”,“C”は、この分割された1ブロックのデータ
を示す。
【0019】(β)また、これらのブロックを複数集め
てブロック群(以下、カラムと称する)を形成する。 (γ)或るカラムに含まれる磁気ディスク装置30内の
ブロックのデータは、同一カラムのディスクキャッシュ
13のブロックに記憶する。図2中のディスクキャッシ
ュ13上の例えばブロックデータ“A”と磁気ディスク
装置30上のブロックデータ“A”は同一データであ
り、同一カラムである。
てブロック群(以下、カラムと称する)を形成する。 (γ)或るカラムに含まれる磁気ディスク装置30内の
ブロックのデータは、同一カラムのディスクキャッシュ
13のブロックに記憶する。図2中のディスクキャッシ
ュ13上の例えばブロックデータ“A”と磁気ディスク
装置30上のブロックデータ“A”は同一データであ
り、同一カラムである。
【0020】(δ)同一カラム内では、ディスクキャッ
シュ13上のブロック数は磁気ディスク装置30上のブ
ロック数より著しく少ない。このため、ディスクキャッ
シュ13にエントリされているブロックと磁気ディスク
装置30上のブロックとの対応表が必要となる。この対
応を示すものが、ディスクキャッシュディレクトリ14
である。図2中のディスクキャッシュディレクトリ14
上の“a”,“b”,“c”は、それぞれ対応するディ
スクキャッシュ13のキャッシュブロックにエントリさ
れている磁気ディスク装置30のアドレスを示す。
シュ13上のブロック数は磁気ディスク装置30上のブ
ロック数より著しく少ない。このため、ディスクキャッ
シュ13にエントリされているブロックと磁気ディスク
装置30上のブロックとの対応表が必要となる。この対
応を示すものが、ディスクキャッシュディレクトリ14
である。図2中のディスクキャッシュディレクトリ14
上の“a”,“b”,“c”は、それぞれ対応するディ
スクキャッシュ13のキャッシュブロックにエントリさ
れている磁気ディスク装置30のアドレスを示す。
【0021】以上の規則に従い、磁気ディスク装置30
上の一部分のデータ(の写し)が、ディスクキャッシュ
13に記憶される。次に、上記構成のディスクキャッシ
ュ13およびディスクキャッシュディレクトリ14を備
えた磁気ディスク制御装置10の基本動作を説明する。
上の一部分のデータ(の写し)が、ディスクキャッシュ
13に記憶される。次に、上記構成のディスクキャッシ
ュ13およびディスクキャッシュディレクトリ14を備
えた磁気ディスク制御装置10の基本動作を説明する。
【0022】まず、上位装置20から磁気ディスク制御
装置10に対して、磁気ディスク装置30から上位装置
20へのデータ転送要求(ディスクリード要求)が発行
されたものとする。このデータ転送要求は、磁気ディス
ク装置30のデータ転送先頭アドレス(リード先頭アド
レス)と、データ転送のサイズ(データ転送要求サイ
ズ)を含んでおり、上位装置インタフェース回路16を
介してマイクロプロセッサ11に与えられる。
装置10に対して、磁気ディスク装置30から上位装置
20へのデータ転送要求(ディスクリード要求)が発行
されたものとする。このデータ転送要求は、磁気ディス
ク装置30のデータ転送先頭アドレス(リード先頭アド
レス)と、データ転送のサイズ(データ転送要求サイ
ズ)を含んでおり、上位装置インタフェース回路16を
介してマイクロプロセッサ11に与えられる。
【0023】マイクロプロセッサ11は、上位装置20
からのデータ転送要求の先頭アドレスから対応するカラ
ム(カラムアドレス)を算出し、そのカラムに対応する
ディスクキャッシュディレクトリ14内のブロックを全
て検索し、磁気ディスクアドレスが一致するブロックが
存在するか否かを調べる。
からのデータ転送要求の先頭アドレスから対応するカラ
ム(カラムアドレス)を算出し、そのカラムに対応する
ディスクキャッシュディレクトリ14内のブロックを全
て検索し、磁気ディスクアドレスが一致するブロックが
存在するか否かを調べる。
【0024】もし、一致するディレクトリ14内ブロッ
クがある場合には、マイクロプロセッサ11は、ディレ
クトリ検索結果を使用してDMA制御回路12に対して
DMA転送のセットアップを行い、DMA転送を起動す
る。するとDMA制御回路12は、ディスクキャッシュ
13上の対応するブロックからデータを取り出し、その
ブロック中の要求されたデータ部分を上位装置20へD
MA転送する。
クがある場合には、マイクロプロセッサ11は、ディレ
クトリ検索結果を使用してDMA制御回路12に対して
DMA転送のセットアップを行い、DMA転送を起動す
る。するとDMA制御回路12は、ディスクキャッシュ
13上の対応するブロックからデータを取り出し、その
ブロック中の要求されたデータ部分を上位装置20へD
MA転送する。
【0025】これに対し、一致するブロックがない場合
には、マイクロプロセッサ11は、そのブロックのデー
タをリードするために磁気ディスク装置インタフェース
回路17を介して磁気ディスク装置30を起動すると共
に、ディレクトリ検索結果を使用してDMA制御回路1
2に対してDMA転送のセットアップを行い、DMA転
送を起動する。するとDMA制御回路12は、セットア
ップ内容に従い、磁気ディスク装置30からリードされ
て磁気ディスク装置インタフェース回路17を介して転
送される上記ブロックのデータを、マイクロプロセッサ
11により算出されたディスクキャッシュ13のカラム
内のブロックに記憶すると共に、そのブロック中の要求
されたデータ部分を上位装置20へDMA転送する。一
方、ディスクキャッシュディレクトリ14の対応ブロッ
クには、磁気ディスク装置30からリードされたブロッ
クデータの磁気ディスクアドレス(ディレクトリ情報)
がマイクロプロセッサ11により登録される。
には、マイクロプロセッサ11は、そのブロックのデー
タをリードするために磁気ディスク装置インタフェース
回路17を介して磁気ディスク装置30を起動すると共
に、ディレクトリ検索結果を使用してDMA制御回路1
2に対してDMA転送のセットアップを行い、DMA転
送を起動する。するとDMA制御回路12は、セットア
ップ内容に従い、磁気ディスク装置30からリードされ
て磁気ディスク装置インタフェース回路17を介して転
送される上記ブロックのデータを、マイクロプロセッサ
11により算出されたディスクキャッシュ13のカラム
内のブロックに記憶すると共に、そのブロック中の要求
されたデータ部分を上位装置20へDMA転送する。一
方、ディスクキャッシュディレクトリ14の対応ブロッ
クには、磁気ディスク装置30からリードされたブロッ
クデータの磁気ディスクアドレス(ディレクトリ情報)
がマイクロプロセッサ11により登録される。
【0026】ところが、データ転送要求サイズが、1つ
のキャッシュブロックサイズを超えている場合には、次
のカラムについても、同様にディスクキャッシュディレ
クトリ14の検索が必要となる。したがって、上位装置
20より要求されたデータ転送のサイズ(データ転送要
求サイズ)がキャッシュブロックサイズより大きい場合
には、複数カラムの検索が必要となり、この検索に要す
る時間も比例して長くなる。
のキャッシュブロックサイズを超えている場合には、次
のカラムについても、同様にディスクキャッシュディレ
クトリ14の検索が必要となる。したがって、上位装置
20より要求されたデータ転送のサイズ(データ転送要
求サイズ)がキャッシュブロックサイズより大きい場合
には、複数カラムの検索が必要となり、この検索に要す
る時間も比例して長くなる。
【0027】以下、データ転送要求サイズがキャッシュ
ブロックサイズを超えている場合の、本実施例特有の分
割ディレクトリ検索方式を適用した磁気ディスク制御装
置10におけるデータ転送制御動作を、従来方式(一括
ディレクトリ検索方式)によるデータ転送制御と対比し
て、図3並びに図4のフローチャート、および図5のタ
イミングチャートを参照して説明する。なお、説明の便
宜上、要求されたデータは全てディスクキャッシュ13
に記憶されているものとする。
ブロックサイズを超えている場合の、本実施例特有の分
割ディレクトリ検索方式を適用した磁気ディスク制御装
置10におけるデータ転送制御動作を、従来方式(一括
ディレクトリ検索方式)によるデータ転送制御と対比し
て、図3並びに図4のフローチャート、および図5のタ
イミングチャートを参照して説明する。なお、説明の便
宜上、要求されたデータは全てディスクキャッシュ13
に記憶されているものとする。
【0028】(1)従来の一括ディレクトリ検索方式に
よるデータ転送制御 今、磁気ディスク制御装置10より発行されたデータ転
送要求の示すサイズLが、L1 +L2 +L3 (但し、L
1 ,L2 ,L3 は分割サイズ記憶領域15に記憶されて
いる分割サイズに一致するものとする)であり、キャッ
シュブロックサイズを超えているものとする。
よるデータ転送制御 今、磁気ディスク制御装置10より発行されたデータ転
送要求の示すサイズLが、L1 +L2 +L3 (但し、L
1 ,L2 ,L3 は分割サイズ記憶領域15に記憶されて
いる分割サイズに一致するものとする)であり、キャッ
シュブロックサイズを超えているものとする。
【0029】この場合、従来方式であれば、マイクロプ
ロセッサ11は、図5(c)に示すように、データ転送
要求サイズL(=L1 +L2 +L3 )分だけ一括してデ
ィスクキャッシュディレクトリ14の検索を実行し、全
キャッシュブロックについての検索が完了した後に、D
MA制御回路12を起動してデータ転送要求サイズL
(=L1 +L2 +L3 )分のDMA転送を実行させる。
ここで、データ転送要求サイズL(=L1 +L2 +L3
)分の一括ディレクトリ検索時間は、各サイズL1 ,
L2 ,L3 についてのディレクトリ検索時間をTd1,T
d2,Td3とすると、Td1+Td2+Td3となる。
ロセッサ11は、図5(c)に示すように、データ転送
要求サイズL(=L1 +L2 +L3 )分だけ一括してデ
ィスクキャッシュディレクトリ14の検索を実行し、全
キャッシュブロックについての検索が完了した後に、D
MA制御回路12を起動してデータ転送要求サイズL
(=L1 +L2 +L3 )分のDMA転送を実行させる。
ここで、データ転送要求サイズL(=L1 +L2 +L3
)分の一括ディレクトリ検索時間は、各サイズL1 ,
L2 ,L3 についてのディレクトリ検索時間をTd1,T
d2,Td3とすると、Td1+Td2+Td3となる。
【0030】したがって、従来方式では、図5(c)に
示すように、データ転送要求サイズL(=L1 +L2 +
L3 )分のディレクトリ検索時間Td1+Td2+Td3と、
一括ディレクトリ検索に続くDMA転送のための1回の
セットアップSに要する時間Ts の経過後、データ転送
要求サイズL(=L1 +L2 +L3 )分のDMA転送が
行われる。このDMA転送に要する時間は、各サイズL
1 ,L2 ,L3 についてのDMA転送時間をTt1,Tt
2,Tt3とすると、Tt1+Tt2+Tt3となる。
示すように、データ転送要求サイズL(=L1 +L2 +
L3 )分のディレクトリ検索時間Td1+Td2+Td3と、
一括ディレクトリ検索に続くDMA転送のための1回の
セットアップSに要する時間Ts の経過後、データ転送
要求サイズL(=L1 +L2 +L3 )分のDMA転送が
行われる。このDMA転送に要する時間は、各サイズL
1 ,L2 ,L3 についてのDMA転送時間をTt1,Tt
2,Tt3とすると、Tt1+Tt2+Tt3となる。
【0031】なお、複数のキャッシュブロックを対象と
する一括ディレクトリ検索の過程で、一致するブロック
がないキャッシュミスヒットが発生した場合には、マイ
クロプロセッサ11は、例えば一括ディレクトリ検索終
了後にDMA制御回路12に対するDMA転送のセット
アップを行う際に、該当するブロックのデータを磁気デ
ィスク装置30からリードするために、同ディスク装置
30を起動する。この場合、DMA制御回路12は、ヒ
ットしたブロックについては、そのブロックのデータを
ディスクキャッシュ13から取出して上位装置20へD
MA転送する。またDMA制御回路12は、ミスヒット
したブロックについては、そのブロックのデータが磁気
ディスク装置30からリードされて転送されるのを待
ち、同ブロックデータが転送されると、同ブロックデー
タをディスクキャッシュ13に記憶すると共に上位装置
20へDMA転送する。
する一括ディレクトリ検索の過程で、一致するブロック
がないキャッシュミスヒットが発生した場合には、マイ
クロプロセッサ11は、例えば一括ディレクトリ検索終
了後にDMA制御回路12に対するDMA転送のセット
アップを行う際に、該当するブロックのデータを磁気デ
ィスク装置30からリードするために、同ディスク装置
30を起動する。この場合、DMA制御回路12は、ヒ
ットしたブロックについては、そのブロックのデータを
ディスクキャッシュ13から取出して上位装置20へD
MA転送する。またDMA制御回路12は、ミスヒット
したブロックについては、そのブロックのデータが磁気
ディスク装置30からリードされて転送されるのを待
ち、同ブロックデータが転送されると、同ブロックデー
タをディスクキャッシュ13に記憶すると共に上位装置
20へDMA転送する。
【0032】(2)本実施例の分割ディレクトリ検索方
式(分割サイズ固定)によるデータ転送制御 次に、データ転送要求サイズLが上記と同じL1 +L2
+L3 の場合における、本実施例特有の分割ディレクト
リ検索方式(分割サイズ固定)を適用したデータ転送制
御について説明する。
式(分割サイズ固定)によるデータ転送制御 次に、データ転送要求サイズLが上記と同じL1 +L2
+L3 の場合における、本実施例特有の分割ディレクト
リ検索方式(分割サイズ固定)を適用したデータ転送制
御について説明する。
【0033】まず、マイクロプロセッサ11は、データ
転送要求サイズLが、本実施例のように分割サイズ記憶
領域15に記憶されている“分割サイズ初期値”を超え
ている場合(図3ステップ31)、この“分割サイズ初
期値”でデータ転送要求サイズLを先頭から順に分割す
る(図3ステップ32)。ここでは、データ転送要求サ
イズLはL1 ,L2 ,L3 の3つに分割される。本実施
例では、最後のL3 も“分割サイズ初期値”に一致する
としたが、それより小さくても構わない。
転送要求サイズLが、本実施例のように分割サイズ記憶
領域15に記憶されている“分割サイズ初期値”を超え
ている場合(図3ステップ31)、この“分割サイズ初
期値”でデータ転送要求サイズLを先頭から順に分割す
る(図3ステップ32)。ここでは、データ転送要求サ
イズLはL1 ,L2 ,L3 の3つに分割される。本実施
例では、最後のL3 も“分割サイズ初期値”に一致する
としたが、それより小さくても構わない。
【0034】次にマイクロプロセッサ11は、上位装置
20により要求されたデータ転送の先頭アドレスに対応
するブロックから順に、図5(a)に示すように、最初
の分割サイズL1 分にのみについて、ディスクキャッシ
ュディレクトリ14を検索する(図3ステップ33)。
この検索に要する時間はTd1である。
20により要求されたデータ転送の先頭アドレスに対応
するブロックから順に、図5(a)に示すように、最初
の分割サイズL1 分にのみについて、ディスクキャッシ
ュディレクトリ14を検索する(図3ステップ33)。
この検索に要する時間はTd1である。
【0035】次にマイクロプロセッサ11は、最初の分
割サイズL1 分のキャッシュディレクトリ検索が完了す
ると、その検索結果を使用して、DMA制御回路12に
対して図5(a)に示すように時間Ts でDMA転送の
セットアップSを行い、DMA制御回路12による分割
サイズL1 分のDMA転送を起動する(図3ステップ3
4)。
割サイズL1 分のキャッシュディレクトリ検索が完了す
ると、その検索結果を使用して、DMA制御回路12に
対して図5(a)に示すように時間Ts でDMA転送の
セットアップSを行い、DMA制御回路12による分割
サイズL1 分のDMA転送を起動する(図3ステップ3
4)。
【0036】これにより、最初の分割サイズL1 分のD
MA転送が、図5(a)に示すように、このL1 分のデ
ィレクトリ検索時間Td1と、それに続くDMA転送のた
めの1回のセットアップSに要する時間Ts の経過後に
行われる。このL1 分のDMA転送に要する時間はTt1
となる。
MA転送が、図5(a)に示すように、このL1 分のデ
ィレクトリ検索時間Td1と、それに続くDMA転送のた
めの1回のセットアップSに要する時間Ts の経過後に
行われる。このL1 分のDMA転送に要する時間はTt1
となる。
【0037】さてマイクロプロセッサ11は、最初の分
割サイズL1 分のDMA転送を起動すると、そのDMA
転送の実行と並行して、図5(a)に示すように、次の
分割サイズL2 分のキャッシュディレクトリ検索、即ち
分割サイズL2 に含まれている全キャッシュブロックに
ついてのディスクキャッシュディレクトリ検索を行う
(図3ステップ35)。
割サイズL1 分のDMA転送を起動すると、そのDMA
転送の実行と並行して、図5(a)に示すように、次の
分割サイズL2 分のキャッシュディレクトリ検索、即ち
分割サイズL2 に含まれている全キャッシュブロックに
ついてのディスクキャッシュディレクトリ検索を行う
(図3ステップ35)。
【0038】マイクロプロセッサ11は、分割サイズL
2 分のキャッシュディレクトリ検索を完了すると、(こ
のディレクトリ検索より時間を要する)先行する分割サ
イズL1 分のDMA転送の完了を待つ(図3ステップ3
6)。そしてマイクロプロセッサ11は、分割サイズL
1 分のDMA転送が完了すると、分割サイズL2 分のデ
ィレクトリ検索結果を使用して、DMA制御回路12に
対して図5(a)に示すように時間Ts でDMA転送の
セットアップSを行い、DMA制御回路12による分割
サイズL2 分のDMA転送を起動する(図3ステップ3
7)。
2 分のキャッシュディレクトリ検索を完了すると、(こ
のディレクトリ検索より時間を要する)先行する分割サ
イズL1 分のDMA転送の完了を待つ(図3ステップ3
6)。そしてマイクロプロセッサ11は、分割サイズL
1 分のDMA転送が完了すると、分割サイズL2 分のデ
ィレクトリ検索結果を使用して、DMA制御回路12に
対して図5(a)に示すように時間Ts でDMA転送の
セットアップSを行い、DMA制御回路12による分割
サイズL2 分のDMA転送を起動する(図3ステップ3
7)。
【0039】マイクロプロセッサ11はDAM転送を起
動すると、次の分割サイズがあるか否かを調べる(図3
ステップ38)。この例のように次の分割サイズL3 が
ある場合には、マイクロプロセッサ11は、ステップ3
5に戻り、先行する分割サイズL2 分のDMA転送の実
行と並行して、図5(a)に示すように、この分割サイ
ズL3 分のキャッシュディレクトリ検索を行う。
動すると、次の分割サイズがあるか否かを調べる(図3
ステップ38)。この例のように次の分割サイズL3 が
ある場合には、マイクロプロセッサ11は、ステップ3
5に戻り、先行する分割サイズL2 分のDMA転送の実
行と並行して、図5(a)に示すように、この分割サイ
ズL3 分のキャッシュディレクトリ検索を行う。
【0040】以上のように、分割サイズ固定の分割ディ
レクトリ検索方式によるデータ転送制御では、2番目以
降の分割サイズ分(ここではL2 ,L3 )のキャッシュ
ディレクトリ検索は、先行する分割サイズ分(ここでは
L1 ,L2 )のDMA転送と並行して実行される。ここ
で、分割サイズL2 ,L3 分のディレクトリ検索に要す
る時間Td2,Td3は、先行する分割サイズL1 ,L2 の
DMA転送に要する時間Tt1,Tt2より十分短いため、
上位装置20からみたキャッシュディレクトリ検索によ
るオーバーヘッドは、最初の分割サイズL1 分(時間T
d1)のみとなる。
レクトリ検索方式によるデータ転送制御では、2番目以
降の分割サイズ分(ここではL2 ,L3 )のキャッシュ
ディレクトリ検索は、先行する分割サイズ分(ここでは
L1 ,L2 )のDMA転送と並行して実行される。ここ
で、分割サイズL2 ,L3 分のディレクトリ検索に要す
る時間Td2,Td3は、先行する分割サイズL1 ,L2 の
DMA転送に要する時間Tt1,Tt2より十分短いため、
上位装置20からみたキャッシュディレクトリ検索によ
るオーバーヘッドは、最初の分割サイズL1 分(時間T
d1)のみとなる。
【0041】但し、この分割サイズ固定の分割ディレク
トリ検索方式では、分割サイズ毎にDMA転送をセット
アップする必要があるために、従来方式に比べて(分割
数−1)回だけDMA転送のセットアップ回数が増加
し、その分のオーバーヘッドは増加する。しかし、一般
にキャッシュディレクトリ検索時間はDMA転送セット
アップ時間より十分短いため、全体としてアクセス時間
は短縮される。
トリ検索方式では、分割サイズ毎にDMA転送をセット
アップする必要があるために、従来方式に比べて(分割
数−1)回だけDMA転送のセットアップ回数が増加
し、その分のオーバーヘッドは増加する。しかし、一般
にキャッシュディレクトリ検索時間はDMA転送セット
アップ時間より十分短いため、全体としてアクセス時間
は短縮される。
【0042】さて、この分割サイズ固定の分割ディレク
トリ検索方式では、分割サイズ(分割サイズ初期値)を
大きくすると、分割数が少なくなるため、DMA転送の
総セットアップ時間を短くできるが、最初の分割サイズ
分のディレクトリ検索時間が長くなる。逆に、分割サイ
ズ(分割サイズ初期値)を小さくすると、最初の分割サ
イズ分のディレクトリ検索時間を短くできるが、分割数
が多くなるため、DMA転送の総セットアップ時間が長
くなる。したがって、1つのキャッシュブロックのディ
レクトリ検索に要する時間と、1回のDMA転送のセッ
トアップに要する時間と、標準的なデータ転送要求サイ
ズとに応じて、最適な分割サイズ(分割サイズ初期値)
を設定することにより、本方式による効果を一層顕著な
ものとすることができる。
トリ検索方式では、分割サイズ(分割サイズ初期値)を
大きくすると、分割数が少なくなるため、DMA転送の
総セットアップ時間を短くできるが、最初の分割サイズ
分のディレクトリ検索時間が長くなる。逆に、分割サイ
ズ(分割サイズ初期値)を小さくすると、最初の分割サ
イズ分のディレクトリ検索時間を短くできるが、分割数
が多くなるため、DMA転送の総セットアップ時間が長
くなる。したがって、1つのキャッシュブロックのディ
レクトリ検索に要する時間と、1回のDMA転送のセッ
トアップに要する時間と、標準的なデータ転送要求サイ
ズとに応じて、最適な分割サイズ(分割サイズ初期値)
を設定することにより、本方式による効果を一層顕著な
ものとすることができる。
【0043】なお、ミスヒットとなったキャッシュブロ
ックが存在する場合には、同ブロックのデータを磁気デ
ィスク装置30からリードするディスクアクセスが発生
し、このディスクアクセスに要する時間がオーバーヘッ
ドとなるため、従来方式に比較して顕著な効果は現れな
くなる。
ックが存在する場合には、同ブロックのデータを磁気デ
ィスク装置30からリードするディスクアクセスが発生
し、このディスクアクセスに要する時間がオーバーヘッ
ドとなるため、従来方式に比較して顕著な効果は現れな
くなる。
【0044】(3)本実施例の分割ディレクトリ検索方
式(分割サイズ動的可変)によるデータ転送制御 上記(2)の分割ディレクトリ検索方式は、分割サイズ
を固定とし、上位装置20からのデータ転送要求サイズ
Lを“分割サイズ初期値”で分割して、その分割された
サイズ毎に、キャッシュディレクトリ検索を行い、2番
目以降の分割サイズのキャッシュディレクトリ検索を、
先行する分割サイズのDMA転送と並行して実行するよ
うにしていた。しかし、一般にキャッシュディレクトリ
検索は、DMA転送より高速であるため、上記(2)の
実施例方式のように分割サイズを固定すると、ディレク
トリ検索の方が先に完了し、図3ステップ36のよう
に、DMA転送が完了するまでの待ち時間が発生する。
式(分割サイズ動的可変)によるデータ転送制御 上記(2)の分割ディレクトリ検索方式は、分割サイズ
を固定とし、上位装置20からのデータ転送要求サイズ
Lを“分割サイズ初期値”で分割して、その分割された
サイズ毎に、キャッシュディレクトリ検索を行い、2番
目以降の分割サイズのキャッシュディレクトリ検索を、
先行する分割サイズのDMA転送と並行して実行するよ
うにしていた。しかし、一般にキャッシュディレクトリ
検索は、DMA転送より高速であるため、上記(2)の
実施例方式のように分割サイズを固定すると、ディレク
トリ検索の方が先に完了し、図3ステップ36のよう
に、DMA転送が完了するまでの待ち時間が発生する。
【0045】そこで、この待ち時間を有効にするため
に、2番目以降のディレクトリ検索での分割サイズを固
定(分割サイズ初期値)とせずに、DMA転送が完了す
るまでは、可能な限りディレクトリ検索を実行するよう
にしても構わない。この方式では、ディレクトリ検索を
実行できたサイズを分割サイズとして、次のDMA転送
のデータ転送サイズとすることから、分割サイズ動的可
変の分割ディレクトリ検索方式と呼ぶ。
に、2番目以降のディレクトリ検索での分割サイズを固
定(分割サイズ初期値)とせずに、DMA転送が完了す
るまでは、可能な限りディレクトリ検索を実行するよう
にしても構わない。この方式では、ディレクトリ検索を
実行できたサイズを分割サイズとして、次のDMA転送
のデータ転送サイズとすることから、分割サイズ動的可
変の分割ディレクトリ検索方式と呼ぶ。
【0046】以下、分割サイズ動的可変の分割ディレク
トリ検索方式を適用したデータ転送制御について、デー
タ転送要求サイズLが上記と同じL1 +L2 +L3 であ
るものとして説明する。
トリ検索方式を適用したデータ転送制御について、デー
タ転送要求サイズLが上記と同じL1 +L2 +L3 であ
るものとして説明する。
【0047】まずマイクロプロセッサ11は、データ転
送要求サイズLが“分割サイズ初期値”を超えている場
合(図4ステップ41)、この“分割サイズ初期値”で
データ転送要求サイズLを先頭から順に分割する(図4
ステップ42)。ここでは、データ転送要求サイズLは
L1 ,L2 ,L3 の3つに分割される。
送要求サイズLが“分割サイズ初期値”を超えている場
合(図4ステップ41)、この“分割サイズ初期値”で
データ転送要求サイズLを先頭から順に分割する(図4
ステップ42)。ここでは、データ転送要求サイズLは
L1 ,L2 ,L3 の3つに分割される。
【0048】次にマイクロプロセッサ11は、最初の分
割サイズL1 分にのみについて、図5(b)に示すよう
に、ディスクキャッシュディレクトリ14を検索する
(図4ステップ43)。そして、最初の分割サイズL1
分のキャッシュディレクトリ検索(1番目のディレクト
リ検索)が完了すると、マイクロプロセッサ11は、こ
の検索結果を使用して、DMA制御回路12に対して図
5(b)に示すようにDMA転送(1番目のDMA転
送)のセットアップSを行い、DMA制御回路12によ
る分割サイズL1 分のDMA転送を起動する(図4ステ
ップ44)。これにより、図5(b)に示すように、最
初の分割サイズL1 分のDMA転送が行われる。
割サイズL1 分にのみについて、図5(b)に示すよう
に、ディスクキャッシュディレクトリ14を検索する
(図4ステップ43)。そして、最初の分割サイズL1
分のキャッシュディレクトリ検索(1番目のディレクト
リ検索)が完了すると、マイクロプロセッサ11は、こ
の検索結果を使用して、DMA制御回路12に対して図
5(b)に示すようにDMA転送(1番目のDMA転
送)のセットアップSを行い、DMA制御回路12によ
る分割サイズL1 分のDMA転送を起動する(図4ステ
ップ44)。これにより、図5(b)に示すように、最
初の分割サイズL1 分のDMA転送が行われる。
【0049】マイクロプロセッサ11は、最初の分割サ
イズL1 分のDMA転送を起動すると、そのDMA転送
の実行と並行して、図5(b)に示すように、次の分割
サイズL2 分のキャッシュディレクトリ検索を行う(図
4ステップ45)。
イズL1 分のDMA転送を起動すると、そのDMA転送
の実行と並行して、図5(b)に示すように、次の分割
サイズL2 分のキャッシュディレクトリ検索を行う(図
4ステップ45)。
【0050】ここまでの動作は、前記(2)の分割サイ
ズ固定の分割ディレクトリ検索方式と同様である(図3
参照)。さてマイクロプロセッサ11は、分割サイズL
2 分のキャッシュディレクトリ検索を完了すると、ステ
ップ44で起動したDMA転送が完了したか否かを調べ
る(図4ステップ46)。キャッシュディレクトリ検索
は、DMA転送より高速であるため、L1 分のDMA転
送と同時に開始されたL1 分のキャッシュディレクトリ
検索は、DMA転送より先に完了する。
ズ固定の分割ディレクトリ検索方式と同様である(図3
参照)。さてマイクロプロセッサ11は、分割サイズL
2 分のキャッシュディレクトリ検索を完了すると、ステ
ップ44で起動したDMA転送が完了したか否かを調べ
る(図4ステップ46)。キャッシュディレクトリ検索
は、DMA転送より高速であるため、L1 分のDMA転
送と同時に開始されたL1 分のキャッシュディレクトリ
検索は、DMA転送より先に完了する。
【0051】マイクロプロセッサ11は、この例のよう
に、キャッシュディレクトリ検索が完了しても先行する
DMA転送(ここではL1 分のDMA転送)が未完了の
場合には、次の分割サイズがあるならば(図5ステップ
49)、前記(2)の方式のようにDMA転送完了を待
つのではなく、ステップ45に戻って、図5(b)に示
すように、次の分割サイズL3 分のキャッシュディレク
トリ検索を先のL2 に続いて行う。この検索は、その途
中でDMA転送が完了しても、最後まで行われるものと
する。なお。次の分割サイズがない場合には、DMA転
送完了を待つ。
に、キャッシュディレクトリ検索が完了しても先行する
DMA転送(ここではL1 分のDMA転送)が未完了の
場合には、次の分割サイズがあるならば(図5ステップ
49)、前記(2)の方式のようにDMA転送完了を待
つのではなく、ステップ45に戻って、図5(b)に示
すように、次の分割サイズL3 分のキャッシュディレク
トリ検索を先のL2 に続いて行う。この検索は、その途
中でDMA転送が完了しても、最後まで行われるものと
する。なお。次の分割サイズがない場合には、DMA転
送完了を待つ。
【0052】マイクロプロセッサ11は、分割サイズL
3 分のキャッシュディレクトリ検索を完了すると、先行
するDMA転送が完了しているか否かを調べる(ステッ
プS46)。もし、図5(b)に示すように、(分割サ
イズL2 に続く)分割サイズL3 分のキャッシュディレ
クトリ検索が完了した際に、先行するDMA転送が完了
しているならば、一連のディレクトリ検索を停止する。
この場合、マイクロプロセッサ11は、先行するDMA
転送(ここではL1 分のDMA転送)の期間中に、可能
な限り“分割サイズ初期値”で分割されたサイズ毎のデ
ィレクトリ検索を繰返すことにより、“分割サイズ初期
値”を超える分割サイズ(ここではL2+L3 )でディ
レクトリ検索(2番目のディレクトリ検索)を行ったこ
とになる。
3 分のキャッシュディレクトリ検索を完了すると、先行
するDMA転送が完了しているか否かを調べる(ステッ
プS46)。もし、図5(b)に示すように、(分割サ
イズL2 に続く)分割サイズL3 分のキャッシュディレ
クトリ検索が完了した際に、先行するDMA転送が完了
しているならば、一連のディレクトリ検索を停止する。
この場合、マイクロプロセッサ11は、先行するDMA
転送(ここではL1 分のDMA転送)の期間中に、可能
な限り“分割サイズ初期値”で分割されたサイズ毎のデ
ィレクトリ検索を繰返すことにより、“分割サイズ初期
値”を超える分割サイズ(ここではL2+L3 )でディ
レクトリ検索(2番目のディレクトリ検索)を行ったこ
とになる。
【0053】マイクロプロセッサ11は、先行するDM
A転送(L1 分のDMA転送)の完了を検出すると、以
下に述べるDMA転送のセットアップを行ってDMA転
送を起動する。即ちマイクロプロセッサ11は、DMA
転送(ここでは1番目のDMA転送)期間中に可能な限
り実行したディレクトリ検索(2番目のディレクトリ検
索)についての全分割サイズL2 ,L3 の総和L2 +L
3 を1つの分割サイズ(1回分のデータ転送サイズ)と
して、その分割サイズL2 +L3 分についてDMA制御
回路12に対して図5(b)に示すようにDMA転送の
セットアップSを行い、DMA制御回路12によるサイ
ズL2 +L3 分のDMA転送(2番目のDMA転送)を
起動する(図4ステップ47)。
A転送(L1 分のDMA転送)の完了を検出すると、以
下に述べるDMA転送のセットアップを行ってDMA転
送を起動する。即ちマイクロプロセッサ11は、DMA
転送(ここでは1番目のDMA転送)期間中に可能な限
り実行したディレクトリ検索(2番目のディレクトリ検
索)についての全分割サイズL2 ,L3 の総和L2 +L
3 を1つの分割サイズ(1回分のデータ転送サイズ)と
して、その分割サイズL2 +L3 分についてDMA制御
回路12に対して図5(b)に示すようにDMA転送の
セットアップSを行い、DMA制御回路12によるサイ
ズL2 +L3 分のDMA転送(2番目のDMA転送)を
起動する(図4ステップ47)。
【0054】マイクロプロセッサ11は、DMA転送を
起動すると、残りの分割サイズがあるか否かを調べる
(図4ステップ48)。この例のように残りの分割サイ
ズがない場合には、マイクロプロセッサ11は、上位装
置20から要求されたデータ転送の制御を終了する。な
お、残りの分割サイズがある場合には、マイクロプロセ
ッサ11は、先行する分割サイズL2 +L3 分のDMA
転送の期間に、“分割サイズ初期値”で分割された分割
サイズ毎のキャッシュディレクトリ検索を可能な限り繰
返す。
起動すると、残りの分割サイズがあるか否かを調べる
(図4ステップ48)。この例のように残りの分割サイ
ズがない場合には、マイクロプロセッサ11は、上位装
置20から要求されたデータ転送の制御を終了する。な
お、残りの分割サイズがある場合には、マイクロプロセ
ッサ11は、先行する分割サイズL2 +L3 分のDMA
転送の期間に、“分割サイズ初期値”で分割された分割
サイズ毎のキャッシュディレクトリ検索を可能な限り繰
返す。
【0055】以上のように、(3)の分割サイズ動的可
変の分割ディレクトリ検索方式によるデータ転送制御で
は、DMA転送の期間中に、後続のキャッシュディレク
トリ検索を可能な限り実行し、実行できたサイズを分割
サイズとして、次のDMA転送の対象としている。この
ため、上記(2)の分割サイズ固定の分割ディレクトリ
検索方式では存在していたキャッシュディレクトリ検索
の待ち時間を解消でき、しかも分割数を減らしたことに
より、(2)の方式の特徴(キャッシュディレクトリ検
索とDMA転送の並行処理)を維持したまま、DMA転
送のセットアップに要するオーバーヘッドを(2)の方
式に比べて減少することができる。
変の分割ディレクトリ検索方式によるデータ転送制御で
は、DMA転送の期間中に、後続のキャッシュディレク
トリ検索を可能な限り実行し、実行できたサイズを分割
サイズとして、次のDMA転送の対象としている。この
ため、上記(2)の分割サイズ固定の分割ディレクトリ
検索方式では存在していたキャッシュディレクトリ検索
の待ち時間を解消でき、しかも分割数を減らしたことに
より、(2)の方式の特徴(キャッシュディレクトリ検
索とDMA転送の並行処理)を維持したまま、DMA転
送のセットアップに要するオーバーヘッドを(2)の方
式に比べて減少することができる。
【0056】また上記(2)の方式では、上位装置20
から要求されたデータ転送サイズ(データ転送要求サイ
ズ)に対する分割サイズの割合が小さくなると、分割数
が増加し、DMA転送のセットアップに要するオーバー
ヘッドが次第に無視できなくなってくる(但し、従来方
式におけるキャッシュディレクトリ検索に要するオーバ
ーヘッドよりは少ない)。しかし、この(3)の方式で
は、データ転送要求サイズが大きくなるに従い、分割サ
イズ(1回分のデータ転送サイズ)もディレクトリ検索
とDMA転送の実行時間差を利用して増加していく他、
分割数も減少する。従って、この(3)の方式によれ
ば、“分割サイズ初期値”を小さくした場合にもDMA
転送のセットアップのオーバーヘッドは少なく、“分割
サイズ初期値”を小さくすることで最初の分割サイズの
検索に要するオーバーヘッドも削減可能である。
から要求されたデータ転送サイズ(データ転送要求サイ
ズ)に対する分割サイズの割合が小さくなると、分割数
が増加し、DMA転送のセットアップに要するオーバー
ヘッドが次第に無視できなくなってくる(但し、従来方
式におけるキャッシュディレクトリ検索に要するオーバ
ーヘッドよりは少ない)。しかし、この(3)の方式で
は、データ転送要求サイズが大きくなるに従い、分割サ
イズ(1回分のデータ転送サイズ)もディレクトリ検索
とDMA転送の実行時間差を利用して増加していく他、
分割数も減少する。従って、この(3)の方式によれ
ば、“分割サイズ初期値”を小さくした場合にもDMA
転送のセットアップのオーバーヘッドは少なく、“分割
サイズ初期値”を小さくすることで最初の分割サイズの
検索に要するオーバーヘッドも削減可能である。
【0057】なお、上記(3)の方式では、DMA転送
期間において、キャッシュディレクトリ14の検索を、
“分割サイズ初期値”で分割される分割サイズ毎に可能
な限り実行するものとして説明したが、ブロック単位で
可能な限り実行するようにしても構わない。いずれの場
合にも、実際に実行できたサイズを1つの分割サイズ
(1回分のデータ転送サイズ)とする点は同じである。
期間において、キャッシュディレクトリ14の検索を、
“分割サイズ初期値”で分割される分割サイズ毎に可能
な限り実行するものとして説明したが、ブロック単位で
可能な限り実行するようにしても構わない。いずれの場
合にも、実際に実行できたサイズを1つの分割サイズ
(1回分のデータ転送サイズ)とする点は同じである。
【0058】以上は、この発明を磁気ディスク制御装置
におけるデータ転送制御に適用した場合について説明し
たが、光磁気ディスク制御装置など、他のディスク制御
装置にも同様に適用可能である。
におけるデータ転送制御に適用した場合について説明し
たが、光磁気ディスク制御装置など、他のディスク制御
装置にも同様に適用可能である。
【0059】
【発明の効果】以上詳述したようにこの発明によれば、
上位装置から要求されたデータ転送のサイズ(データ転
送要求サイズ)が予め設定された分割サイズを超えてい
る場合、要求されたデータ転送の先頭アドレスから、上
記分割サイズ分についてのみキャッシュディレクトリ検
索を実行し、その検索結果を使用して分割サイズ分のD
MA転送を起動し、以後、DMA転送の実行期間に、要
求されたデータ転送の後続アドレスから、上記分割サイ
ズ分のキャッシュディレクトリ検索を実行し、その検索
結果を使用して分割サイズ分のDMA転送を起動する動
作を繰返す構成を適用することにより、上位装置からの
データ転送要求に対し、キャッシュディレクトリ検索に
要するオーバーヘッドは、1番目の分割サイズ分の検索
に要する時間となり、以降の任意のi番目(iは2以上
の整数)の分割サイズ分の検索は、i−1番目のDMA
転送中に並行して実行されるために、上位装置からはオ
ーバーヘッドとしてみえないようにすることができる。
上位装置から要求されたデータ転送のサイズ(データ転
送要求サイズ)が予め設定された分割サイズを超えてい
る場合、要求されたデータ転送の先頭アドレスから、上
記分割サイズ分についてのみキャッシュディレクトリ検
索を実行し、その検索結果を使用して分割サイズ分のD
MA転送を起動し、以後、DMA転送の実行期間に、要
求されたデータ転送の後続アドレスから、上記分割サイ
ズ分のキャッシュディレクトリ検索を実行し、その検索
結果を使用して分割サイズ分のDMA転送を起動する動
作を繰返す構成を適用することにより、上位装置からの
データ転送要求に対し、キャッシュディレクトリ検索に
要するオーバーヘッドは、1番目の分割サイズ分の検索
に要する時間となり、以降の任意のi番目(iは2以上
の整数)の分割サイズ分の検索は、i−1番目のDMA
転送中に並行して実行されるために、上位装置からはオ
ーバーヘッドとしてみえないようにすることができる。
【0060】したがって、データ転送要求サイズが上記
予め設定された分割サイズより十分に大きい場合には、
1分割サイズ分の検索時間しかオーバーヘッドとして現
れないため、上位装置へのアクセス時間を短縮すること
ができる。但し、この方式では、従来1回の転送で行っ
ていたものを複数回に分割して行うため、DMA転送の
セットアップ回数が分割数だけ増え、DMA転送のセッ
トアップに要する時間も増加する。しかし、このセット
アップに要する時間よりディレクトリを検索する時間の
方が一般に長いため、全体としてアクセス時間が短縮で
きる。
予め設定された分割サイズより十分に大きい場合には、
1分割サイズ分の検索時間しかオーバーヘッドとして現
れないため、上位装置へのアクセス時間を短縮すること
ができる。但し、この方式では、従来1回の転送で行っ
ていたものを複数回に分割して行うため、DMA転送の
セットアップ回数が分割数だけ増え、DMA転送のセッ
トアップに要する時間も増加する。しかし、このセット
アップに要する時間よりディレクトリを検索する時間の
方が一般に長いため、全体としてアクセス時間が短縮で
きる。
【0061】また、この発明によれば、i番目(iは2
以上の整数)以降のディレクトリ検索の対象となる分割
サイズを固定とせず、i−1番目のDMA転送が完了す
るまではi番目のディレクトリ検索を可能な限り実行
し、実行できたサイズを分割サイズ(i番目のDMA転
送のサイズ)とする構成を適用することにより、次の効
果を得ることができる。即ち、一般にDMA転送よりデ
ィレクトリ検索の方が高速のため、この構成を適用する
と、i−1番目の分割サイズより次のi番目の分割サイ
ズの方が大きくなって、分割数を減少でき、i−1番目
のDMA転送とi番目の分割サイズのディレクトリ検索
とを並行して行うことにより、キャッシュディレクトリ
検索に要するオーバーヘッドを、1番目の分割サイズ分
の検索に要する時間としながら、DMA転送のセットア
ップに要する時間を短縮して、アクセス時間を一層短縮
することができる。
以上の整数)以降のディレクトリ検索の対象となる分割
サイズを固定とせず、i−1番目のDMA転送が完了す
るまではi番目のディレクトリ検索を可能な限り実行
し、実行できたサイズを分割サイズ(i番目のDMA転
送のサイズ)とする構成を適用することにより、次の効
果を得ることができる。即ち、一般にDMA転送よりデ
ィレクトリ検索の方が高速のため、この構成を適用する
と、i−1番目の分割サイズより次のi番目の分割サイ
ズの方が大きくなって、分割数を減少でき、i−1番目
のDMA転送とi番目の分割サイズのディレクトリ検索
とを並行して行うことにより、キャッシュディレクトリ
検索に要するオーバーヘッドを、1番目の分割サイズ分
の検索に要する時間としながら、DMA転送のセットア
ップに要する時間を短縮して、アクセス時間を一層短縮
することができる。
【図1】この発明を適用する磁気ディスク制御装置の一
実施例を示すブロック構成図。
実施例を示すブロック構成図。
【図2】図1中のディスクキャッシュ13の原理を説明
するための図。
するための図。
【図3】同実施例における分割サイズ固定の分割ディレ
クトリ検索方式によるデータ転送制御を説明するための
フローチャート。
クトリ検索方式によるデータ転送制御を説明するための
フローチャート。
【図4】同実施例における分割サイズ動的可変の分割デ
ィレクトリ検索方式によるデータ転送制御を説明するた
めのフローチャート。
ィレクトリ検索方式によるデータ転送制御を説明するた
めのフローチャート。
【図5】図3および図4のフローチャートに従うデータ
転送制御を、従来方式によるデータ転送制御と対比して
説明するためのタイミングチャート。
転送制御を、従来方式によるデータ転送制御と対比して
説明するためのタイミングチャート。
10…磁気ディスク制御装置、11…マイクロプロセッ
サ、12…DMA制御回路、13…ディスクキャッシ
ュ、14…ディスクキャッシュディレクトリ、15…分
割サイズ記憶領域、20…上位装置、30…磁気ディス
ク装置。
サ、12…DMA制御回路、13…ディスクキャッシ
ュ、14…ディスクキャッシュディレクトリ、15…分
割サイズ記憶領域、20…上位装置、30…磁気ディス
ク装置。
Claims (2)
- 【請求項1】 ディスク装置の一部のデータの写しがブ
ロック単位で置かれるディスクキャッシュと、このディ
スクキャッシュの内容とディスク装置のアドレスとの対
応を前記ブロック単位でとるためのディスクキャッシュ
ディレクトリと、上位装置からのデータ転送要求により
前記上位装置と前記ディスクキャッシュとの間でのDM
A転送を実行するDMA制御手段とを備えたディスク制
御装置のデータ転送制御方法において、 前記上位装置から要求されたデータ転送のサイズが予め
設定された分割サイズを超えている場合、前記要求され
たデータ転送の先頭アドレスから、前記分割サイズ分に
ついてのみ前記ディスクキャッシュディレクトリを検索
して、その検索結果を使用して前記DMA制御手段によ
る分割サイズ分のDMA転送を起動し、 以後、DMA転送の実行期間に、前記要求されたデータ
転送の後続アドレスから、前記分割サイズ分の前記ディ
スクキャッシュディレクトリの検索を実行し、その検索
結果を使用して前記DMA制御手段による分割サイズ分
のDMA転送を起動する動作を繰返すことを特徴とする
ディスク制御装置のデータ転送制御方法。 - 【請求項2】 ディスク装置の一部のデータの写しがブ
ロック単位で置かれるディスクキャッシュと、このディ
スクキャッシュの内容とディスク装置のアドレスとの対
応を前記ブロック単位でとるためのディスクキャッシュ
ディレクトリと、上位装置からのデータ転送要求により
前記上位装置と前記ディスクキャッシュとの間でのDM
A転送を実行するDMA制御手段とを備えたディスク制
御装置のデータ転送制御方法において、 前記上位装置から要求されたデータ転送のサイズが予め
設定された第1の分割サイズを超えている場合、前記要
求されたデータ転送の先頭アドレスから、前記第1の分
割サイズ分についてのみ前記ディスクキャッシュディレ
クトリを検索して、その検索結果を使用して前記DMA
制御手段による前記第1の分割サイズ分のDMA転送を
起動し、 以後、DMA転送の実行期間に、前記要求されたデータ
転送の後続アドレスから、前記第1の分割サイズとは無
関係に前記ディスクキャッシュディレクトリの検索を実
行し、検索できたサイズを第2の分割サイズとして、そ
の検索結果を使用して同第2の分割サイズ分のDMA転
送を起動する動作を繰返すことを特徴とするディスク制
御装置のデータ転送制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5101221A JPH06309233A (ja) | 1993-04-27 | 1993-04-27 | ディスク制御装置のデータ転送制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5101221A JPH06309233A (ja) | 1993-04-27 | 1993-04-27 | ディスク制御装置のデータ転送制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06309233A true JPH06309233A (ja) | 1994-11-04 |
Family
ID=14294850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5101221A Pending JPH06309233A (ja) | 1993-04-27 | 1993-04-27 | ディスク制御装置のデータ転送制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06309233A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010157130A (ja) * | 2008-12-27 | 2010-07-15 | Toshiba Corp | メモリシステム |
-
1993
- 1993-04-27 JP JP5101221A patent/JPH06309233A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010157130A (ja) * | 2008-12-27 | 2010-07-15 | Toshiba Corp | メモリシステム |
US9141549B2 (en) | 2008-12-27 | 2015-09-22 | Kabushiki Kaisha Toshiba | Memory system with read and write caches and method of controlling memory system with read and write caches |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0019358B1 (en) | Hierarchical data storage system | |
US5577218A (en) | Memory access control method wherein block access is performed as a sequential access to an address updated by incrementation | |
JPH06309233A (ja) | ディスク制御装置のデータ転送制御方法 | |
JPS6258351A (ja) | 光デイスクキヤツシユ方式 | |
JPS5816263B2 (ja) | ジヨウホウシヨリソウチ | |
JPH05257807A (ja) | キャッシュメモリ制御装置 | |
JPH07319829A (ja) | データ転送方法 | |
JPS61228540A (ja) | キヤツシユメモリ制御方式 | |
JP2567903B2 (ja) | データ転送方法 | |
JPS59195753A (ja) | デイスク・キヤツシユメモリの制御方式 | |
JPH02178750A (ja) | アドレス変換処理方式 | |
JPH07146814A (ja) | メモリ装置 | |
JP2001229074A (ja) | メモリ制御装置と情報処理装置及びメモリ制御チップ | |
JPH04107634A (ja) | メモリデータバイパス制御方式 | |
JPH0554079A (ja) | 情報処理装置 | |
JPH064403A (ja) | バッファ記憶制御方式 | |
JPS5928288A (ja) | バツフアメモリ制御回路 | |
JPH06175920A (ja) | キャッシュ制御装置 | |
JPH02108142A (ja) | プロセッサアクセスウェイト制御回路 | |
JPH03142545A (ja) | データバッファ掃出し制御装置 | |
JPS63310020A (ja) | デ−タベ−ス・サブスキ−マ先読み方式 | |
JPH03260870A (ja) | データベースアシストにおけるプロジェクション方式 | |
JPH05143512A (ja) | 入出力処理装置 | |
JP2000172675A (ja) | リストベクトル処理装置 | |
JPH0685154B2 (ja) | 中間バッファ制御方式 |