JPH04311216A - 外部記憶制御装置 - Google Patents

外部記憶制御装置

Info

Publication number
JPH04311216A
JPH04311216A JP7628491A JP7628491A JPH04311216A JP H04311216 A JPH04311216 A JP H04311216A JP 7628491 A JP7628491 A JP 7628491A JP 7628491 A JP7628491 A JP 7628491A JP H04311216 A JPH04311216 A JP H04311216A
Authority
JP
Japan
Prior art keywords
data
read
buffer memory
external storage
stored
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.)
Withdrawn
Application number
JP7628491A
Other languages
English (en)
Inventor
Takumi Tsubouchi
坪内 工
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.)
Toshiba Corp
Sord Computer Corp
Original Assignee
Toshiba Corp
Sord Computer Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Sord Computer Corp filed Critical Toshiba Corp
Priority to JP7628491A priority Critical patent/JPH04311216A/ja
Publication of JPH04311216A publication Critical patent/JPH04311216A/ja
Withdrawn legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
において、ハードディスク装置等の外部記憶装置のアク
セス制御を実行し、キャッシュメモリ方式を備えた外部
記憶制御装置に関する。
【0002】
【従来の技術】従来、コンピュータシステムでは、ハー
ドディスク装置(HDD)等の外部記憶装置が使用され
ている。HDDは大容量の記憶媒体を有し、通常ではフ
ァイル装置として使用されている。
【0003】HDDは、ディスクコントローラ(HDC
)により駆動制御されて、ホストコンピュータに対して
データのリード/ライトを行なう。HDCは、ホストコ
ンピュータからリードコマンド(アクセス命令)を受信
すると、リード要求のセクタのデータをHDDからアク
セスし、ホストコンピュータに転送する制御を実行する
【0004】ところで、HDD等の外部記憶装置は、シ
ステムのメインメモリと比較して、データアクセス速度
が低速である。このため、ホストコンピュータがHDD
をアクセスして要求データをリードするまで、かなりの
時間を要する。
【0005】このような問題点を解消するために、キャ
ッシュメモリ方式を採用したHDCが開発されている。 このHDCは、HDDに記憶されているデータの一部(
セクタ単位)をバッファメモリに格納している。ホスト
コンピュータからアクセス命令があると、HDCはバッ
ファメモリに要求データが格納されているか否かを判定
する。格納されていれば(ヒット)、HDCは要求デー
タをバッファメモリからアクセスして、ホストコンピュ
ータに転送する。
【0006】一方、格納されていなければ、HDCは要
求データをHDDからアクセスし、ホストコンピュータ
に転送すると共に、バッファメモリに格納する制御を行
なう。このとき、HDCが要求データのセクタと連続す
るセクタを先読みデータとしてアクセスし、バッファメ
モリに格納する先読みキャッシュ方式がある。これによ
り、次に、ホストコンピュータがアクセス要求するデー
タがバッファメモリに格納される確率が高くなり、結果
的に、HDDのアクセス速度を高速化することが可能と
なる。
【0007】
【発明が解決しようとする課題】キャッシュメモリ方式
を採用したHDCにより、HDD等の外部記憶装置のデ
ータアクセス速度の高速化を図ることができる。ところ
で、HDCが有するバッファメモリは、通常ではFIF
O(first−in−first−out)方式によ
り制御されている。このため、前記のような先読みキャ
ッシュ方式を採用した場合に、ホストコンピュータから
のリード要求がHDDの異なる位置(記録媒体のセクタ
)に対して交互に実行された場合に、バッファメモリに
格納された先読みデータが無効になるような事態が発生
する。
【0008】即ち、ホストコンピュータからのリード要
求が記録媒体の複数の位置に対して、シーケンシャルに
実行されるときに、リード位置が移動する毎に、前にバ
ッファメモリに格納した先読みデータが次のリードによ
り無効になる。このため、特にマルチタスクOSの制御
の下で、ホストコンピュータがHDDをアクセスするよ
うな場合には、HDDのアクセス速度の高速化を実現で
きないことがある。
【0009】本発明の目的は、先読みキャッシュ方式を
採用した外部記憶制御装置において、外部記憶装置の複
数のアクセス位置に対して交互にアクセスするような場
合でも、先読みキャッシュ方式を有効に機能させて、外
部記憶装置のアクセス速度の高速化を確実に実現するこ
とにある。
【0010】
【課題を解決するための手段】本発明は、ホストコンピ
ュータからの命令に応じて外部記憶手段の制御を実行す
る外部記憶制御装置において、外部記憶装置からリード
要求データをアクセスするときに、このリード要求デー
タと先読みデータを格納するバッファメモリ手段を有す
る。バッファメモリ手段は、例えば複数のセクタ単位か
らなるブロック単位のデータを一時的に格納する。
【0011】さらに、本装置は、バッファメモリ手段に
格納されたデータおよび未使用エリアを管理するための
ブロック管理メモリ手段、ホストコンピュータからのリ
ード要求に応じてデータのアクセス制御を行なう第1の
制御手段およびリード要求データと先読みデータをバッ
ファメモリ手段に格納するときの制御を行なう第2の制
御手段とを備えている。
【0012】
【作用】本発明では、ブロック管理メモリ手段は、バッ
ファメモリ手段の格納エリアの中で未使用エリアをブロ
ック単位に管理する未使用管理情報を格納し、かつバッ
ファメモリ手段に格納されたブロック単位のデータを管
理するデータ管理情報を格納する。第1の制御手段は、
ホストコンピュータからのリード要求に応じて、ブロッ
ク管理メモリ手段に格納されたデータ管理情報に基づい
てバッファメモリ手段にリード要求データが格納されて
いるか否かを判定し、格納されている場合にはバッファ
メモリ手段からリード要求データをアクセスし、格納さ
れていない場合には外部記憶手段からリード要求データ
をアクセスする。さらに、第2の制御手段は、第1の制
御手段が外部記憶手段からアクセスするときに、リード
要求データに関連するアクセス単位のデータを先読みデ
ータとして外部記憶手段からリードし、先読みデータと
リード要求データと共にブロック単位を構成して未使用
管理情報により指示されるバッファメモリ手段の未使用
エリアに格納する。
【0013】
【実施例】以下図面を参照して本発明の実施例を説明す
る。
【0014】図1は同実施例に係わる外部記憶システム
の構成を示すブロック図である。本システムは、コンピ
ュータシステムの本体であるホストコンピュータ1、外
部記憶装置であるハードディスクドライブ(HDD)3
及びHDD3の制御を行なう外部記憶制御装置であるH
DC2からなる。
【0015】HDC2は、ホストインターフェース4、
ディスクインターフェース5、CPU6、制御メモリ7
、バッファメモリ8及びブロック管理メモリ9を有する
。ホストインターフェース4は、ホストコンピュータ1
との間でデータ及びコマンド等の転送を行なうためのイ
ンターフェースである。ディスクインターフェース5は
、HDD3との間でデータの転送を行なうためのインタ
ーフェースである。
【0016】CPU6は第1及び第2の制御手段を構成
しており、HDC2の全体的制御を行なうマイクロプロ
セッサである。制御メモリ7は、CPU6が制御動作を
行なうためのプログラムを格納しているROMである。 バッファメモリ8は、先読みキャッシュ機能を実行する
ためのメモリであり、CPU6により制御される。ブロ
ック管理メモリ9は、本発明の要旨に関係するバッファ
メモリ8の管理情報を格納したメモリである。次に、同
実施例の動作を説明する。
【0017】先ず、HDD3は、図4の(B)に示すよ
うに、複数のディスク(記録媒体)10、11を有し、
HDC2の制御の下に、セクタ単位のデータのリード/
ライトを行なう。セクタとは、図4の(A)に示すよう
に、ディスク10、11の各面に設けられた複数のトラ
ックにおいて、トラック12を区画した単位記録エリア
である。このセクタ単位がアクセス単位となる。
【0018】図2のステップS1に示すように、ホスト
コンピュータ1からリードコマンド(リード要求)が出
力されると、HDC2はホストインターフェース4を通
じてリードコマンドを受信する。
【0019】CPU6は、リード要求データ(対象セク
タ)がバッファメモリ8に格納されているか否かの判定
を行なう。即ち、CPU6は、ブロック管理メモリ9を
検索し、リード要求データに対応する管理情報が存在す
るか否かを判定する(ステップS2)。
【0020】ブロック管理メモリ9は、図3の(B)に
示すように、先読みブロックの管理リスト(データ管理
情報)と未使用ブロックの管理リスト(未使用管理情報
)を格納している。先読みブロックの管理リストは、ブ
ロック単位の先読みデータ(キャッシュデータ)を管理
するための情報テーブルである。ここで、1ブロックは
、例えば4セクタからなり、先頭セクタから連続する4
セクタからなる。先読みブロックの管理リストは、ブロ
ック毎にデータ管理情報を有する。このデータ管理情報
は、先頭セクタ番号(例えばセクタA)、先読み総ブロ
ック数(例えば4)、先頭4セクタのブロック番号(例
えば2)、次の4セクタのブロック番号(N)、3番目
の4セクタのブロック番号および最後の4セクタのブロ
ック番号からなる。
【0021】一方、バッファメモリ8は、図3の(A)
に示すように、ブロック単位(ブロック番号1〜N)の
格納エリアを有し、先読みブロックの管理リストに応じ
たブロックの先読みデータを格納している。即ち、例え
ばブロック番号2のエリアには、先頭セクタ番号A〜A
+3までの4セクタのデータが格納されている。なお、
ブロック番号1,4はそれぞれ空きエリアであり、先読
みデータの格納エリアとしては現在使用されていない未
使用エリアである。
【0022】ホストコンピュータ1からのリード要求の
対象セクタが例えばセクタAであれば(ステップS3の
YES)、CPU6はバッファメモリ8からブロック番
号2のエリアをアクセスして、セクタ番号Aのデータを
リードし、ホストコンピュータ1に転送する(ステップ
S7)。
【0023】一方、データ管理情報に基づいてバッファ
メモリ8には、対象セクタが存在しないと判定した場合
には(ステップS3のNO)、CPU6はディスクイン
ターフェース5を通じて、HDD3をアクセスする(ス
テップS4)。即ち、CPU6は、HDD3のディスク
10,11から要求セクタをアクセスする。CPU6は
、HDD3からリードした要求セクタのデータをホスト
コンピュータ1に転送する。
【0024】このアクセス時に、CPU6は、ブロック
管理メモリ9の未使用ブロックの管理リスト(未使用管
理情報)を検索し、バッファメモリ8の未使用ブロック
(空きエリア)を求める。CPU6は、検索したバッフ
ァメモリ8の空きエリアに、HDD3からリードした要
求セクタのデータを格納する(ステップS5)。未使用
ブロックの管理リストは、図3の(B)に示すように、
バッファメモリ8の未使用ブロックの総数および未使用
ブロックの第1エントリ(例えばブロック番号1)、第
2エントリ(例えばブロック番号4)から第Nエントリ
までの新たなデータの格納可能なエリアを示す管理情報
からなる。
【0025】ここで、ホストコンピュータ1からのリー
ドコマンドが継続中であれば(ステップS6のYES)
、CPU6は要求セクタを先頭セクタとして、連続する
複数のセクタ(4セクタ)のデータを先読みする先読み
処理を実行する(ステップS8)。このとき、CPU6
は、ブロック管理メモリ9の未使用管理情報に基づいて
未使用ブロックを検索し、バッファメモリ8の未使用ブ
ロック番号の空きエリアに先読みデータを格納する(ス
テップS9、S10)。この場合、CPU6は、要求セ
クタを格納した第1エントリのブロック番号1の空きエ
リアに、4セクタ分(要求セクタを含む)の先読みデー
タを格納する。リードコマンドが継続中であれば、CP
U6は、さらに4セクタ分の先読みデータをHDD3か
らリードし、バッファメモリ8の例えば第2エントリの
ブロック番号4の空きエリアに格納する。
【0026】ところで、ホストコンピュータ1からのリ
ード要求データ(要求セクタ)がバッファメモリ8に格
納されている場合に(ヒット)、CPU6はバッファメ
モリ8からのデータをHDD3からのリードデータとし
てホストコンピュータ1に転送する。この転送後に、C
PU6は、リードしたブロックをブロック管理メモリ9
の先読みブロックの管理リストから削除し、未使用ブロ
ックの管理リストに新たな未使用ブロックとして登録す
る。
【0027】このようにして、ホストコンピュータ1か
らのリード要求に応じて、バッファメモリ8に要求デー
タ(要求セクタ)が格納されていれば、バッファメモリ
8からアクセスして、ホストコンピュータ1に転送する
。したがって、HDD3をアクセスすることなく、バッ
ファメモリ8からアクセスすることにより、高速にデー
タをアクセスすることが可能となる。
【0028】次に、バッファメモリ8にはブロック単位
の先読みデータを格納する管理を実行する。これにより
、以下のような効果がある。即ち、図4の(B)に示す
ように、ディスク10,11の同一シリンダNで異なる
位置のセクタAとセクタBとを交互にリード要求する場
合に、各セクタA,Bに連続する先読みデータを有効に
使用することができる。具体的には、図3の(A)に示
すように、セクタAをHDD3からアクセスした場合に
、先読みデータ(A+1〜A+3)をブロック番号2に
格納し、またセクタBをHDD3からアクセスした場合
に、先読みデータ(B+1〜B+3)をブロック番号3
に格納する。したがって、次にセクタAとセクタBとを
交互にリード要求した場合に、各データを共に、バッフ
ァメモリ8からアクセスすることができる。言い換えれ
ば、セクタAとセクタBとを交互にリード要求した場合
に、一方の先読みデータがバッファメモリ8から削除さ
れて無効になるような事態は発生しない。
【0029】なお、前記実施例において、先読みデータ
の処理を継続しているときに、シーケンシャルでないリ
ード要求が出力された場合に、以下のような先読み処理
の終了制御方式がある。第1の方式として、予めブロッ
クに対して所定の閾値(セクタ数)を設定し、この閾値
に基づいて先読み処理をブロックの最後まで継続するか
、またはブロックを無効にして未使用ブロックに戻すか
の制御を行なう。例えば、閾値をm/2セクタとした場
合に、ブロックの半分以上のリードが終了している場合
には最後まで先読み処理を継続し、半分以下の場合には
先読み処理を中断する。第2の方式として、予め最小先
読みブロック数を設定し、この最小先読みブロック数を
越えて先読み処理が進行している場合には、前記の第1
の方式を適用する。そうでない場合には、最小先読みブ
ロック数に到達するまでは、先読み処理を継続する。
【0030】次に、先読み処理の最大先読みブロック数
の決定方式には、固定的に最大先読みブロック数を設定
する方式とリードデータ長を入力とする関数で最大先読
みブロック数を設定する方式とがある。
【0031】さらに、先読み処理中に空きブロック(未
使用ブロック)が無くなった場合の制御方式としては、
空きブロックが無くなったときに、先読み処理を直ちに
中止する方式がある。
【0032】
【発明の効果】以上詳述したように本発明によれば、先
読みキャッシュ方式を採用した外部記憶制御装置におい
て、バッファメモリに格納する先読みデータをブロック
単位にで管理する方式により、ホストコンピュータから
のリード要求が外部記憶装置の異なる記憶位置に対して
交互に実行されるような場合でも、常に先読みデータを
有効に利用することができる。したがって、結果的に外
部記憶装置のアクセス速度の高速化を確実に実現するこ
とが可能となる。
【図面の簡単な説明】
【図1】本発明の実施例に係わる外部記憶システムの構
成を示すブロック図。
【図2】同実施例に係わる動作を説明するためのフロー
チャート。
【図3】同実施例に係わるメモリの内容を説明するため
の概念図。
【図4】同実施例に係わるハードディスク装置の構造を
説明するための概念図。
【符号の説明】
1…ホストコンピュータ、2…HDC、3…HDD、6
…CPU、8…バッファメモリ、9…ブロック管理メモ
リ。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  ホストコンピュータからの命令に応じ
    て外部記憶手段のアクセス制御を行なう外部記憶制御装
    置において、前記外部記憶手段に記憶されているデータ
    群の中から複数のアクセス単位からなるブロック単位の
    データを一時的に格納するバッファメモリ手段と、この
    バッファメモリ手段の格納エリアの中で未使用エリアを
    前記ブロック単位に管理する未使用管理情報を格納し、
    かつ前記バッファメモリ手段に格納された前記ブロック
    単位のデータを管理するデータ管理情報を格納したブロ
    ック管理メモリ手段と、前記ホストコンピュータからの
    リード要求に応じて、前記ブロック管理メモリ手段に格
    納された前記データ管理情報に基づいて前記バッファメ
    モリ手段にリード要求データが格納されているか否かを
    判定し、格納されている場合には前記バッファメモリ手
    段から前記リード要求データをアクセスし、格納されて
    いない場合には前記外部記憶手段から前記リード要求デ
    ータをアクセスする第1の制御手段と、この第1の制御
    手段が前記外部記憶手段からアクセスするときに、前記
    リード要求データに関連する前記アクセス単位のデータ
    を先読みデータとして前記外部記憶手段からリードし、
    前記先読みデータと前記リード要求データとで前記ブロ
    ック単位を構成して前記未使用管理情報により指示され
    る前記バッファメモリ手段の前記未使用エリアに格納す
    る第2の制御手段とを具備したことを特徴とする外部記
    憶制御装置。
  2. 【請求項2】  ホストコンピュータからの命令に応じ
    て外部記憶手段のアクセス制御を行なう外部記憶制御装
    置において、前記外部記憶手段に記憶されているデータ
    群の中から複数のアクセス単位からなるブロック単位の
    データを一時的に格納するバッファメモリ手段と、この
    バッファメモリ手段の格納エリアの中で未使用エリアを
    前記ブロック単位に管理する未使用管理情報を格納し、
    かつ前記バッファメモリ手段に格納された前記ブロック
    単位のデータを管理するデータ管理情報を格納したブロ
    ック管理メモリ手段と、前記ホストコンピュータからの
    リード要求に応じて、前記ブロック管理メモリ手段に格
    納された前記データ管理情報に基づいて前記バッファメ
    モリ手段にリード要求データが格納されているか否かを
    判定し、格納されている場合には前記バッファメモリ手
    段から前記リード要求データをアクセスし、格納されて
    いない場合には前記外部記憶手段から前記リード要求デ
    ータをアクセスする第1の制御手段と、この第1の制御
    手段が前記外部記憶手段からアクセスするときに、前記
    リード要求データに関連する前記アクセス単位のデータ
    を先読みデータとして前記外部記憶手段からリードし、
    前記先読みデータと前記リード要求データとで前記ブロ
    ック単位を構成して前記未使用管理情報により指示され
    る前記バッファメモリ手段の前記未使用エリアに格納す
    る第2の制御手段と、この第2の制御手段により前記先
    読みデータのリード動作の継続中で、前記リード要求デ
    ータとは関連しないリード要求が発生した場合に、予め
    決定された規則に基づいて前記ブロック単位まで前記先
    読みデータのリード動作を継続するかまたはそのリード
    動作を中断してリードした前記先読みデータを無効する
    ように先読みデータのリード動作の終了制御を実行する
    第3の制御手段とを具備したことを特徴とする外部記憶
    制御装置。
JP7628491A 1991-04-09 1991-04-09 外部記憶制御装置 Withdrawn JPH04311216A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7628491A JPH04311216A (ja) 1991-04-09 1991-04-09 外部記憶制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7628491A JPH04311216A (ja) 1991-04-09 1991-04-09 外部記憶制御装置

Publications (1)

Publication Number Publication Date
JPH04311216A true JPH04311216A (ja) 1992-11-04

Family

ID=13601007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7628491A Withdrawn JPH04311216A (ja) 1991-04-09 1991-04-09 外部記憶制御装置

Country Status (1)

Country Link
JP (1) JPH04311216A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06180633A (ja) * 1992-12-11 1994-06-28 Teac Corp ディスク装置
JP2009211217A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
WO2011048764A1 (ja) * 2009-10-19 2011-04-28 パナソニック株式会社 復号装置、復号方法、プログラム、及び集積回路
CN105606856A (zh) * 2015-12-21 2016-05-25 南昌市科陆智能电网科技有限公司 一种提高电能表系统实时响应速度的方法、系统和电能表

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06180633A (ja) * 1992-12-11 1994-06-28 Teac Corp ディスク装置
JP2009211217A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
US8225047B2 (en) 2008-03-01 2012-07-17 Kabushiki Kaisha Toshiba Memory system with pre-fetch operation
WO2011048764A1 (ja) * 2009-10-19 2011-04-28 パナソニック株式会社 復号装置、復号方法、プログラム、及び集積回路
CN102197652A (zh) * 2009-10-19 2011-09-21 松下电器产业株式会社 解码装置、解码方法、程序以及集成电路
CN105606856A (zh) * 2015-12-21 2016-05-25 南昌市科陆智能电网科技有限公司 一种提高电能表系统实时响应速度的方法、系统和电能表

Similar Documents

Publication Publication Date Title
US6381677B1 (en) Method and system for staging data into cache
EP0080876B1 (en) Cache control method and apparatus
KR100373313B1 (ko) 캐시 메모리를 관리하는 방법 및 시스템
US6993629B2 (en) Prestaging data into cache in preparation for data transfer operations
US6230239B1 (en) Method of data migration
JP3183993B2 (ja) ディスク制御システム
JP3137554B2 (ja) データ転送/管理システム及び方法
JP3586887B2 (ja) 情報記録再生装置およびデータキャッシュ方法
US4974197A (en) Batching data objects for recording on optical disks with maximum object count
JPH07104817B2 (ja) データレコード転送方法
US5694570A (en) Method and system of buffering data written to direct access storage devices in data processing systems
JPH07225715A (ja) キャッシュ内のデータにアクセスする方法およびシステム
KR19980029917A (ko) 자기 디스크 드라이브에서 읽기 캐쉬의 성능을 높이기 위한 방법
JP3087429B2 (ja) 記憶装置システム
JP3566319B2 (ja) 情報記憶装置
DE69031983D1 (de) Mehrschritt-datenlesevorrichtung
JP2634867B2 (ja) デイスクキヤツシユデータ転送制御方式
JP2854668B2 (ja) ディスク・キャッシュ制御方式
JPH03102443A (ja) データ先読み制御方式
WO1994022134A1 (en) Buffer control for data transfer within hard disk during idle periods
JP2973474B2 (ja) 光磁気ディスク装置
EP0278471B1 (en) Data processing method and system for accessing rotating storage means
JP2567903B2 (ja) データ転送方法
JPH06250793A (ja) データ処理装置
JPH11345093A (ja) 記憶装置サブシステム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980711