JPH09146834A - ディスク装置 - Google Patents
ディスク装置Info
- Publication number
- JPH09146834A JPH09146834A JP7306144A JP30614495A JPH09146834A JP H09146834 A JPH09146834 A JP H09146834A JP 7306144 A JP7306144 A JP 7306144A JP 30614495 A JP30614495 A JP 30614495A JP H09146834 A JPH09146834 A JP H09146834A
- Authority
- JP
- Japan
- Prior art keywords
- disk
- file
- area
- data
- file management
- 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)【要約】
【課題】 実使用条件下でのキャッシュヒット率を向上
させる。 【解決手段】 ディスク・コントローラ3、ディスク
7、データ・バッファ4、ディスク・コントローラ3を
制御する制御プログラム群5からなり、IDEインター
フェイス2を介してホストコンピュータ1に接続される
ディスク装置において、ホストコンピュータ1のオペレ
ーティングシステムがディスク7上に設定するファイル
管理情報から、ファイル管理テーブル8およびFATテ
ーブル9をRAM上に生成してアクセスするキャッシュ
制御プログラム6を設け、ディスク7上の任意のファイ
ルに対するホストコンピュータ1からリード要求に際し
て、当該ファイルに含まれるデータ群のディスク7上に
おける格納位置をファイル管理テーブル8およびFAT
テーブル9の情報を用いて取得し、正確にデータ・バッ
ファ4上に先読みする。
させる。 【解決手段】 ディスク・コントローラ3、ディスク
7、データ・バッファ4、ディスク・コントローラ3を
制御する制御プログラム群5からなり、IDEインター
フェイス2を介してホストコンピュータ1に接続される
ディスク装置において、ホストコンピュータ1のオペレ
ーティングシステムがディスク7上に設定するファイル
管理情報から、ファイル管理テーブル8およびFATテ
ーブル9をRAM上に生成してアクセスするキャッシュ
制御プログラム6を設け、ディスク7上の任意のファイ
ルに対するホストコンピュータ1からリード要求に際し
て、当該ファイルに含まれるデータ群のディスク7上に
おける格納位置をファイル管理テーブル8およびFAT
テーブル9の情報を用いて取得し、正確にデータ・バッ
ファ4上に先読みする。
Description
【0001】
【発明の属する技術分野】本発明はディスク装置に関
し、特に先読みキャッシュ機能を有するディスク装置に
適用して有効な技術に関するものである。
し、特に先読みキャッシュ機能を有するディスク装置に
適用して有効な技術に関するものである。
【0002】
【従来の技術】ディスク装置は、そのほとんどがホスト
システムから発行されるリードコマンドに対してコマン
ド実行時間の短縮を図るため、先読みキャッシュ機能を
有している。これは、ホストシステムからリード要求さ
れたディスク上の領域に加えて物理的にシーケンシャル
に続く領域も同時にディスク上から読み出し、このデー
タをバッファ内に保持し、次に発行されたリードコマン
ドのリード要求領域のデータがバッファ内に存在する場
合、ディスク上からの読み出しを実行することなくバッ
ファから直接ホストシステムに対してデータ転送を実行
することでコマンド実行時間の短縮を図るものである。
システムから発行されるリードコマンドに対してコマン
ド実行時間の短縮を図るため、先読みキャッシュ機能を
有している。これは、ホストシステムからリード要求さ
れたディスク上の領域に加えて物理的にシーケンシャル
に続く領域も同時にディスク上から読み出し、このデー
タをバッファ内に保持し、次に発行されたリードコマン
ドのリード要求領域のデータがバッファ内に存在する場
合、ディスク上からの読み出しを実行することなくバッ
ファから直接ホストシステムに対してデータ転送を実行
することでコマンド実行時間の短縮を図るものである。
【0003】従来のディスク装置では、たとえば、特表
昭59−502044号公報に記載の様に、コントロー
ラがホストシステムから発行されるコマンドを審査し、
これらのコマンドがシーケンシャルアクセスの場合、ホ
ストから要求されていない後続のデータを将来ホストか
ら要求されることを予期してバッファ内に取込む等の操
作によってコマンド実行時間の短縮を図っていた。
昭59−502044号公報に記載の様に、コントロー
ラがホストシステムから発行されるコマンドを審査し、
これらのコマンドがシーケンシャルアクセスの場合、ホ
ストから要求されていない後続のデータを将来ホストか
ら要求されることを予期してバッファ内に取込む等の操
作によってコマンド実行時間の短縮を図っていた。
【0004】
【発明が解決しようとする課題】しかし、この方式では
ホストシステムから発行される次リードコマンドのリー
ド要求領域が前リードコマンドのリード要求領域に対し
てシーケンシャルであれば先読みキャッシュの効果は期
待できるものの、ランダムな領域に対するものであれば
先読みキャッシュの効果は期待できないという問題があ
った。
ホストシステムから発行される次リードコマンドのリー
ド要求領域が前リードコマンドのリード要求領域に対し
てシーケンシャルであれば先読みキャッシュの効果は期
待できるものの、ランダムな領域に対するものであれば
先読みキャッシュの効果は期待できないという問題があ
った。
【0005】また、前記従来技術ではIBMオペレーテ
ィングシステム下で動作するチャネルインターフェイス
を持つ大型ホストシステムに使われるディスク装置の先
読みキャッシュ制御方式についてのものであり、この方
式は、ダウンサイジングという現在のコンピュータ環境
のなかで主流となっているMS−DOS等のオペレーテ
ィングシステムの環境下で動作するパーソナルコンピュ
ータで使われるディスク装置の先読みキャッシュ制御に
利用できないという問題があった(MS−DOSは米国
マイクロソフト社の登録商標である)。
ィングシステム下で動作するチャネルインターフェイス
を持つ大型ホストシステムに使われるディスク装置の先
読みキャッシュ制御方式についてのものであり、この方
式は、ダウンサイジングという現在のコンピュータ環境
のなかで主流となっているMS−DOS等のオペレーテ
ィングシステムの環境下で動作するパーソナルコンピュ
ータで使われるディスク装置の先読みキャッシュ制御に
利用できないという問題があった(MS−DOSは米国
マイクロソフト社の登録商標である)。
【0006】さらに、上述の従来技術を実使用条件に当
てはめてみるなら、ホストシステムが有するオペレーテ
ィングシステムのファイル管理アルゴリズムによって
は、1つのファイルは、ディスク上では飛び飛びのラン
ダムな領域に物理的に記録されており、アプリケーショ
ンプログラムからのファイルリード要求に対してオペレ
ーティングシステムは、ランダムな領域に対してリード
コマンドを発行してくるため先読みキャッシュの効果は
殆ど得られないという問題があった。
てはめてみるなら、ホストシステムが有するオペレーテ
ィングシステムのファイル管理アルゴリズムによって
は、1つのファイルは、ディスク上では飛び飛びのラン
ダムな領域に物理的に記録されており、アプリケーショ
ンプログラムからのファイルリード要求に対してオペレ
ーティングシステムは、ランダムな領域に対してリード
コマンドを発行してくるため先読みキャッシュの効果は
殆ど得られないという問題があった。
【0007】本発明の目的は、実使用条件下でのキャッ
シュヒット率を向上させることが可能なディスク装置を
提供することにある。
シュヒット率を向上させることが可能なディスク装置を
提供することにある。
【0008】本発明の他の目的は、ファイル管理情報を
用いてディスク媒体上のデータを管理する任意のオペレ
ーティングシステムの下で、キャッシュヒット率を向上
させることが可能なディスク装置を提供することにあ
る。
用いてディスク媒体上のデータを管理する任意のオペレ
ーティングシステムの下で、キャッシュヒット率を向上
させることが可能なディスク装置を提供することにあ
る。
【0009】
【課題を解決するための手段】本発明では、上位装置の
オペレーティングシステムが前記ディスク媒体のシステ
ムエリア上で管理するファイル管理情報をもとに、ディ
スク媒体上の任意のファイルに対して発行されるリード
コマンドの論理アドレスより当該ファイルの論理アドレ
スに対応したディスク媒体上の格納領域を求め、次に発
行されるリードコマンドの論理アドレスを事前に予知
し、先読みするデータのディスク媒体上の格納領域を決
定するものである。
オペレーティングシステムが前記ディスク媒体のシステ
ムエリア上で管理するファイル管理情報をもとに、ディ
スク媒体上の任意のファイルに対して発行されるリード
コマンドの論理アドレスより当該ファイルの論理アドレ
スに対応したディスク媒体上の格納領域を求め、次に発
行されるリードコマンドの論理アドレスを事前に予知
し、先読みするデータのディスク媒体上の格納領域を決
定するものである。
【0010】この場合、先読みデータを格納するデータ
バッファには、同一ファイルの論理アドレスの領域のデ
ータの一部、または全てを、ランダム、またはシーケン
シャルに先読みすることができる。
バッファには、同一ファイルの論理アドレスの領域のデ
ータの一部、または全てを、ランダム、またはシーケン
シャルに先読みすることができる。
【0011】このように、上位装置が有するオペレーテ
ィングシステムのファイル管理情報を用いて先読みする
ディスク媒体上の領域を決定することにより、上位装置
が次にリード要求してくるディスク媒体上の領域を事前
に予知することができるので、この領域のデータを先読
みし、キャッシュメモリ内に保持することで実使用条件
下でのキャッシュヒット率を向上させることができる。
ィングシステムのファイル管理情報を用いて先読みする
ディスク媒体上の領域を決定することにより、上位装置
が次にリード要求してくるディスク媒体上の領域を事前
に予知することができるので、この領域のデータを先読
みし、キャッシュメモリ内に保持することで実使用条件
下でのキャッシュヒット率を向上させることができる。
【0012】また、ディスク媒体上にファイル管理情報
を持つ任意のオペレーティングシステムの下でのキャッ
シュヒット率を向上させることができる。
を持つ任意のオペレーティングシステムの下でのキャッ
シュヒット率を向上させることができる。
【0013】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら詳細に説明する。
を参照しながら詳細に説明する。
【0014】(実施の形態1)図1は、本発明の第1の
実施の形態であるディスク装置を含むコンピュータシス
テムの構成の一例を示す概念図である。
実施の形態であるディスク装置を含むコンピュータシス
テムの構成の一例を示す概念図である。
【0015】本実施の形態では、ホストシステムが持つ
オペレーティングシステムの一例として、現在パーソナ
ルコンピュータのオペレーティングシステムとしてシェ
アの大部分を占めるMS−DOSを採用した場合を例に
採って説明する。
オペレーティングシステムの一例として、現在パーソナ
ルコンピュータのオペレーティングシステムとしてシェ
アの大部分を占めるMS−DOSを採用した場合を例に
採って説明する。
【0016】すなわち、本実施の形態では、ホストシス
テムが有するファイル管理情報をもとにホストシステム
からリード要求のあった当該論理アドレスから当該クラ
スタ番号を算出、次クラスタ番号の獲得、次クラスタ番
号から次論理アドレスを逆算して、先読み領域を決定す
る。
テムが有するファイル管理情報をもとにホストシステム
からリード要求のあった当該論理アドレスから当該クラ
スタ番号を算出、次クラスタ番号の獲得、次クラスタ番
号から次論理アドレスを逆算して、先読み領域を決定す
る。
【0017】図1に例示されるように、本実施の形態の
コンピュータシステムは、ホストコンピュータ1と、こ
のホストコンピュータ1に、たとえばIDEインターフ
ェイス2を介して接続されるディスク装置で構成されて
いる。ディスク装置は、ディスク・コントローラ3、デ
ータが格納されるディスク7、ディスク7上の任意のデ
ータが複写され、キャッシュメモリとして使用されるデ
ータ・バッファ4、ディスク・コントローラ3の動作を
制御する制御プログラム群5を含んでいる。制御プログ
ラム群5は、たとえば、ディスク・コントローラ3によ
ってアクセスされるROM上に格納されている。さら
に、本実施の形態の場合、制御プログラム群5にはキャ
ッシュ(cache)制御プログラム6が含まれてお
り、このキャッシュ制御プログラム6は、後述のように
してRAM上に展開されるファイル管理テーブル8およ
びFATテーブル9等をアクセスして、ディスク7から
データ・バッファ4へのデータの先読み動作を制御す
る。
コンピュータシステムは、ホストコンピュータ1と、こ
のホストコンピュータ1に、たとえばIDEインターフ
ェイス2を介して接続されるディスク装置で構成されて
いる。ディスク装置は、ディスク・コントローラ3、デ
ータが格納されるディスク7、ディスク7上の任意のデ
ータが複写され、キャッシュメモリとして使用されるデ
ータ・バッファ4、ディスク・コントローラ3の動作を
制御する制御プログラム群5を含んでいる。制御プログ
ラム群5は、たとえば、ディスク・コントローラ3によ
ってアクセスされるROM上に格納されている。さら
に、本実施の形態の場合、制御プログラム群5にはキャ
ッシュ(cache)制御プログラム6が含まれてお
り、このキャッシュ制御プログラム6は、後述のように
してRAM上に展開されるファイル管理テーブル8およ
びFATテーブル9等をアクセスして、ディスク7から
データ・バッファ4へのデータの先読み動作を制御す
る。
【0018】ホストコンピュータ1は、IDEインター
フェイス2を介してコマンドとデータをディスク装置に
送り、また、IDEインターフェイス2を介してディス
ク装置からデータを受取る。
フェイス2を介してコマンドとデータをディスク装置に
送り、また、IDEインターフェイス2を介してディス
ク装置からデータを受取る。
【0019】このコマンドがリードコマンドの場合、制
御プログラム群5により制御されたディスク・コントロ
ーラ3がディスク7よりデータを読み出し、データ・バ
ッファ4を経由してホストコンピュータ1にデータを転
送する。従来の先読みキャッシュ制御方式では、ホスト
コンピュータ1からリード要求されたディスク7上の領
域に加えて物理的にシーケンシャルに続く領域も同時に
ディスク7上から読み出しを実行し、このデータをデー
タ・バッファ4内に保持し、次に発行されたリードコマ
ンドのリード要求領域のデータがデータ・バッファ4内
に存在する場合、ディスク7上からの読み出しを実行す
ることなくデータ・バッファ4から直接、ホストコンピ
ュータ1に対してデータ転送を実行するよう制御プログ
ラム群5中のキャッシュ制御プログラム6により制御さ
れていた。
御プログラム群5により制御されたディスク・コントロ
ーラ3がディスク7よりデータを読み出し、データ・バ
ッファ4を経由してホストコンピュータ1にデータを転
送する。従来の先読みキャッシュ制御方式では、ホスト
コンピュータ1からリード要求されたディスク7上の領
域に加えて物理的にシーケンシャルに続く領域も同時に
ディスク7上から読み出しを実行し、このデータをデー
タ・バッファ4内に保持し、次に発行されたリードコマ
ンドのリード要求領域のデータがデータ・バッファ4内
に存在する場合、ディスク7上からの読み出しを実行す
ることなくデータ・バッファ4から直接、ホストコンピ
ュータ1に対してデータ転送を実行するよう制御プログ
ラム群5中のキャッシュ制御プログラム6により制御さ
れていた。
【0020】これに対して、本実施の形態では、ホスト
コンピュータ1が有するオペレーティングシステムのフ
ァイル管理情報を用いて先読みするディスク7上の領域
を決定する先読みキャッシュ制御方式を実施するもので
あり、以下に詳述するキャッシュ制御方法を実施するの
は、制御プログラム群5中のキャッシュ制御プログラム
6、ファイル管理テーブル8およびFATテーブル9で
ある。
コンピュータ1が有するオペレーティングシステムのフ
ァイル管理情報を用いて先読みするディスク7上の領域
を決定する先読みキャッシュ制御方式を実施するもので
あり、以下に詳述するキャッシュ制御方法を実施するの
は、制御プログラム群5中のキャッシュ制御プログラム
6、ファイル管理テーブル8およびFATテーブル9で
ある。
【0021】図2は、本実施の形態で実施される先読み
領域決定プロセスの一例を示すフローチャートである。
ステップ10ではタスクファイルより当該コマンドの論
理アドレスを取得する。ステップ11、12ではディス
ク7上に書かれているファイル管理情報およびFAT情
報をRAM上に展開する。ステップ13ではステップ1
0で得られた論理アドレスおよびステップ11でRAM
上に展開したファイル管理情報をもとに当該クラスタ番
号を演算する。ステップ14ではステップ13で得られ
た当該クラスタ番号をステップ12でRAM上に展開し
たFAT情報の中から検索しホストコンピュータが次に
発行してくるコマンドのクラスタ番号を取得する。ステ
ップ15ではステップ14で得られたクラスタ番号を基
にホストコンピュータが次に発行してくるコマンドの論
理アドレスを演算する。そして、この演算で得られた論
理アドレスのデータをディスク7からデータ・バッファ
4に先読みする。
領域決定プロセスの一例を示すフローチャートである。
ステップ10ではタスクファイルより当該コマンドの論
理アドレスを取得する。ステップ11、12ではディス
ク7上に書かれているファイル管理情報およびFAT情
報をRAM上に展開する。ステップ13ではステップ1
0で得られた論理アドレスおよびステップ11でRAM
上に展開したファイル管理情報をもとに当該クラスタ番
号を演算する。ステップ14ではステップ13で得られ
た当該クラスタ番号をステップ12でRAM上に展開し
たFAT情報の中から検索しホストコンピュータが次に
発行してくるコマンドのクラスタ番号を取得する。ステ
ップ15ではステップ14で得られたクラスタ番号を基
にホストコンピュータが次に発行してくるコマンドの論
理アドレスを演算する。そして、この演算で得られた論
理アドレスのデータをディスク7からデータ・バッファ
4に先読みする。
【0022】以上のプロセスにより当該コマンドの論理
アドレスを基にホストコンピュータが次に発行してくる
コマンドの論理アドレスを導くことができる。
アドレスを基にホストコンピュータが次に発行してくる
コマンドの論理アドレスを導くことができる。
【0023】以下に本実施の形態で使用するMS−DO
Sのファイル管理情報および演算式について具体的に説
明する。
Sのファイル管理情報および演算式について具体的に説
明する。
【0024】たとえば、MS−DOSVer.4.x以
降においては、ディスク7上のフォーマットは図3のよ
うになっている。
降においては、ディスク7上のフォーマットは図3のよ
うになっている。
【0025】図3において、16はIPL(Initi
al Program Loader)領域、17はF
AT(File Allocation Table)
領域、18はルート・ディレクトリ領域、19はデータ
領域を示す。
al Program Loader)領域、17はF
AT(File Allocation Table)
領域、18はルート・ディレクトリ領域、19はデータ
領域を示す。
【0026】上述の構成において、IPL領域16は、
ファイル管理情報およびMS−DOSを起動するための
プログラムが格納されている領域である。IPL領域1
6の次に位置するのはFAT領域17であり、FAT領
域17は、ディスク7上のファイルの格納位置を示すポ
インタ(クラスタ番号)が格納されている領域であり、
ディスク7上に不連続に記録されているファイルをクラ
スタ番号によりチェーン接続して見かけ上ファイルが連
続したクラスタに格納されているように管理するために
使われる。FAT領域17の次に位置するのはルート・
ディレクトリ領域18であり、ルート・ディレクトリ領
域18は、ファイル名、ファイル作成日時、ファイルの
先頭クラスタ番号などで構成されているディレクトリ・
エントリが格納されている領域である。ルート・ディレ
クトリ領域18の後には、データが格納されているデー
タ領域19がある。
ファイル管理情報およびMS−DOSを起動するための
プログラムが格納されている領域である。IPL領域1
6の次に位置するのはFAT領域17であり、FAT領
域17は、ディスク7上のファイルの格納位置を示すポ
インタ(クラスタ番号)が格納されている領域であり、
ディスク7上に不連続に記録されているファイルをクラ
スタ番号によりチェーン接続して見かけ上ファイルが連
続したクラスタに格納されているように管理するために
使われる。FAT領域17の次に位置するのはルート・
ディレクトリ領域18であり、ルート・ディレクトリ領
域18は、ファイル名、ファイル作成日時、ファイルの
先頭クラスタ番号などで構成されているディレクトリ・
エントリが格納されている領域である。ルート・ディレ
クトリ領域18の後には、データが格納されているデー
タ領域19がある。
【0027】次にIPL領域16の詳細を説明する。図
4にMS−DOSVer.4.x以降のIPL領域16
のフォーマットを示す。図4において、20はIPLへ
のジャンプアドレス、21はOEMメーカ名およびバー
ジョン、22は1セクタ当りのバイト数、23は1クラ
スタ当りのセクタ数、24は予約セクタ数、25はFA
Tの数、26はルート・ディレクトリのエントリ数、2
7は論理セクタ数、28はメディア・ディスクリプタ・
バイト、29は1FAT当りのセクタ数、30は1シリ
ンダ当りのセクタ数、31はヘッド数、32は隠れセク
タ数、33はIPL領域を示す。また22〜30は総称
してBPB(BIOS Parameter Bloc
k)と言う。
4にMS−DOSVer.4.x以降のIPL領域16
のフォーマットを示す。図4において、20はIPLへ
のジャンプアドレス、21はOEMメーカ名およびバー
ジョン、22は1セクタ当りのバイト数、23は1クラ
スタ当りのセクタ数、24は予約セクタ数、25はFA
Tの数、26はルート・ディレクトリのエントリ数、2
7は論理セクタ数、28はメディア・ディスクリプタ・
バイト、29は1FAT当りのセクタ数、30は1シリ
ンダ当りのセクタ数、31はヘッド数、32は隠れセク
タ数、33はIPL領域を示す。また22〜30は総称
してBPB(BIOS Parameter Bloc
k)と言う。
【0028】上述の構成において、IPLへのジャンプ
アドレス20にはIPLのアドレスが、OEMメーカ名
およびバージョン21にはOEMメーカ名およびバージ
ョンが、1セクタ当りのバイト数22には1セクタ当り
のバイト数が、1クラスタ当りのセクタ数23には1ク
ラスタ当りのセクタ数が、予約セクタ数24にはIPL
に使用するセクタ数が、FATの数25にはFATの数
が、ルート・ディレクトリのエントリ数26にはルート
・ディレクトリの数が、論理セクタ数27にはディスク
7上のセクタ数の合計数が、メディア・ディスクリプタ
・バイト28にはディスク媒体の種類が、1FAT当り
のセクタ数29には1FAT当りのセクタ数が、1シリ
ンダ当りのセクタ数30には1シリンダ当りのセクタ数
が、ヘッド数31にはヘッド数が、隠れセクタ数32に
はパーティションを切る際必要となる隠れセクタ数が、
IPL領域33にはIPLプログラムが格納されてい
る。
アドレス20にはIPLのアドレスが、OEMメーカ名
およびバージョン21にはOEMメーカ名およびバージ
ョンが、1セクタ当りのバイト数22には1セクタ当り
のバイト数が、1クラスタ当りのセクタ数23には1ク
ラスタ当りのセクタ数が、予約セクタ数24にはIPL
に使用するセクタ数が、FATの数25にはFATの数
が、ルート・ディレクトリのエントリ数26にはルート
・ディレクトリの数が、論理セクタ数27にはディスク
7上のセクタ数の合計数が、メディア・ディスクリプタ
・バイト28にはディスク媒体の種類が、1FAT当り
のセクタ数29には1FAT当りのセクタ数が、1シリ
ンダ当りのセクタ数30には1シリンダ当りのセクタ数
が、ヘッド数31にはヘッド数が、隠れセクタ数32に
はパーティションを切る際必要となる隠れセクタ数が、
IPL領域33にはIPLプログラムが格納されてい
る。
【0029】これらIPL領域16のパラメータのうち
先読み領域を決定する際に使用するパラメータは、1セ
クタ当りのバイト数22、1クラスタ当りのセクタ数2
3、予約セクタ数24、FATの数25、ルート・ディ
レクトリのエントリ数26、1FAT当りのセクタ数2
9である。これらのパラメータは図5に示すフォーマッ
トでディスク7上からRAM上のテーブルにファイル管
理テーブル8として展開する。図5において、34は1
セクタ当りのバイト数、35は1クラスタ当りのセクタ
数、36は予約セクタ数、37はFATの数、38はル
ート・ディレクトリのエントリ数、39は1FAT当り
のセクタ数を示す。
先読み領域を決定する際に使用するパラメータは、1セ
クタ当りのバイト数22、1クラスタ当りのセクタ数2
3、予約セクタ数24、FATの数25、ルート・ディ
レクトリのエントリ数26、1FAT当りのセクタ数2
9である。これらのパラメータは図5に示すフォーマッ
トでディスク7上からRAM上のテーブルにファイル管
理テーブル8として展開する。図5において、34は1
セクタ当りのバイト数、35は1クラスタ当りのセクタ
数、36は予約セクタ数、37はFATの数、38はル
ート・ディレクトリのエントリ数、39は1FAT当り
のセクタ数を示す。
【0030】次にルート・ディレクトリ領域18の内容
を説明する。図6にMS−DOSVer.4.x以降の
ルート・ディレクトリ領域18のフォーマットを示す。
図6において、40はルート・ディレクトリ・エント
リ、41はファイル名、42は拡張子、43は属性、4
4はリザーブ、45はリザーブ、46は変更時刻、47
は変更日付、48は先頭クラスタ番号、49はファイル
サイズを示す。ルート・ディレクトリ領域18には、各
ファイルに対応するルート・ディレクトリ・エントリ4
0がファイル数分格納されている。
を説明する。図6にMS−DOSVer.4.x以降の
ルート・ディレクトリ領域18のフォーマットを示す。
図6において、40はルート・ディレクトリ・エント
リ、41はファイル名、42は拡張子、43は属性、4
4はリザーブ、45はリザーブ、46は変更時刻、47
は変更日付、48は先頭クラスタ番号、49はファイル
サイズを示す。ルート・ディレクトリ領域18には、各
ファイルに対応するルート・ディレクトリ・エントリ4
0がファイル数分格納されている。
【0031】次にFAT領域17の内容を説明する。図
7にFATの例を示す。図7において、50はクラスタ
番号、51はファイル1の先頭クラスタ番号、52は次
のクラスタ番号、53はファイル2の先頭クラスタ番
号、54はファイル1内の最終クラスタ番号、55はフ
ァイル2内の最終クラスタ番号を示す。図7の例では、
ルート・ディレクトリ・エントリ40の先頭クラスタ番
号48が00000002であるとするとクラスタのつ
ながりは、00000002−−>00000003−
−>00000005−−>00000008となるこ
とが判る。これらFAT領域17からは先読み領域を決
定する際に使用するクラスタのつながり情報を得る。こ
のクラスタのつながり情報は、図8に示すフォーマット
でディスク7上からRAM上のテーブルにFATテーブ
ル9として展開する。図8において、56はファイル1
のクラスタのつながり情報を、57はファイル2のクラ
スタのつながり情報を、58はファイル1のクラスタの
つながりの終わりを、59はファイル2のクラスタのつ
ながりの終わりを示す。
7にFATの例を示す。図7において、50はクラスタ
番号、51はファイル1の先頭クラスタ番号、52は次
のクラスタ番号、53はファイル2の先頭クラスタ番
号、54はファイル1内の最終クラスタ番号、55はフ
ァイル2内の最終クラスタ番号を示す。図7の例では、
ルート・ディレクトリ・エントリ40の先頭クラスタ番
号48が00000002であるとするとクラスタのつ
ながりは、00000002−−>00000003−
−>00000005−−>00000008となるこ
とが判る。これらFAT領域17からは先読み領域を決
定する際に使用するクラスタのつながり情報を得る。こ
のクラスタのつながり情報は、図8に示すフォーマット
でディスク7上からRAM上のテーブルにFATテーブ
ル9として展開する。図8において、56はファイル1
のクラスタのつながり情報を、57はファイル2のクラ
スタのつながり情報を、58はファイル1のクラスタの
つながりの終わりを、59はファイル2のクラスタのつ
ながりの終わりを示す。
【0032】以上ファイル管理情報より得られたパラメ
ータをもとにリードコマンドの当該論理アドレスから当
該クラスタ番号を算出する。算出式は次の(式1)〜
(式3)で表される。
ータをもとにリードコマンドの当該論理アドレスから当
該クラスタ番号を算出する。算出式は次の(式1)〜
(式3)で表される。
【0033】
【数1】
【0034】
【数2】
【0035】
【数3】
【0036】次に、上述の算出式より求められた当該ク
ラスタ番号をもとにこれにつながる次のクラスタ番号を
検索する。検索にはFAT領域17のクラスタのつなが
り情報を利用するが図7に示すフォーマットではそのま
ま検索には使用できないため、図8に示すフォーマット
でこの情報をRAM上のFATテーブル9に展開する。
先の算出式で得られた当該クラスタ番号をこのFATテ
ーブル9の中から検索し、クラスタ番号が一致したなら
そのRAM上のアドレスの次アドレスを読むことで当該
クラスタ番号につながる次クラスタ番号を得ることがで
き、さらに次アドレスを読むことで次次クラスタ番号を
得ることができる。そして、つながりの終わりを示すF
FFFFFFFが検出されるまで検索を続ける。次に、
検索で得られた次クラスタ番号を逆算して次論理アドレ
スを求める。算出式には次の(式4)および前述の(式
2)および(式3)を用いる。
ラスタ番号をもとにこれにつながる次のクラスタ番号を
検索する。検索にはFAT領域17のクラスタのつなが
り情報を利用するが図7に示すフォーマットではそのま
ま検索には使用できないため、図8に示すフォーマット
でこの情報をRAM上のFATテーブル9に展開する。
先の算出式で得られた当該クラスタ番号をこのFATテ
ーブル9の中から検索し、クラスタ番号が一致したなら
そのRAM上のアドレスの次アドレスを読むことで当該
クラスタ番号につながる次クラスタ番号を得ることがで
き、さらに次アドレスを読むことで次次クラスタ番号を
得ることができる。そして、つながりの終わりを示すF
FFFFFFFが検出されるまで検索を続ける。次に、
検索で得られた次クラスタ番号を逆算して次論理アドレ
スを求める。算出式には次の(式4)および前述の(式
2)および(式3)を用いる。
【0037】
【数4】
【0038】この算出式で求められた論理アドレスが当
該リードコマンドの後に発行されるリードコマンドのリ
ード要求領域であり、この領域を先読み領域に決定す
る。
該リードコマンドの後に発行されるリードコマンドのリ
ード要求領域であり、この領域を先読み領域に決定す
る。
【0039】このように、本実施の形態の場合には、ホ
ストコンピュータ1のオペレーティングシステムがディ
スク7上に生成するファイル管理テーブルのデータを用
いて、ディスク7上の任意のファイルに対するホストコ
ンピュータ1からのリード要求に対して、当該ファイル
に含まれる任意のデータのディスク7上における格納位
置を選択的に予知して、ディスク7からデータ・バッフ
ァ4上に正確に先読みすることができるため、実使用環
境下において、リード要求されたデータがデータ・バッ
ファ4に存在する確率、すなわちキャッシュヒット率を
確実に向上させることができる。
ストコンピュータ1のオペレーティングシステムがディ
スク7上に生成するファイル管理テーブルのデータを用
いて、ディスク7上の任意のファイルに対するホストコ
ンピュータ1からのリード要求に対して、当該ファイル
に含まれる任意のデータのディスク7上における格納位
置を選択的に予知して、ディスク7からデータ・バッフ
ァ4上に正確に先読みすることができるため、実使用環
境下において、リード要求されたデータがデータ・バッ
ファ4に存在する確率、すなわちキャッシュヒット率を
確実に向上させることができる。
【0040】なお、上述の説明では、ファイル管理情報
をディスク7上から取得する場合を説明したが、可能で
あれば、ホストコンピュータ1上のオペレーティング・
システムが主記憶等にもつファイル管理情報をディスク
・コントローラ3が参照するようにしてもよいし、ある
いは、オペレーティング・システムが主記憶等にもつフ
ァイル管理情報をディスク7に反映させるような要求を
ディスク・コントローラ3からホストコンピュータ1に
発行して、最新のファイル管理情報をディスク7を経由
して取得するようにしてもよい。これにより、時々刻々
変化するファイル管理情報の最新のものを取得してより
的確な先読み動作を実現できる。
をディスク7上から取得する場合を説明したが、可能で
あれば、ホストコンピュータ1上のオペレーティング・
システムが主記憶等にもつファイル管理情報をディスク
・コントローラ3が参照するようにしてもよいし、ある
いは、オペレーティング・システムが主記憶等にもつフ
ァイル管理情報をディスク7に反映させるような要求を
ディスク・コントローラ3からホストコンピュータ1に
発行して、最新のファイル管理情報をディスク7を経由
して取得するようにしてもよい。これにより、時々刻々
変化するファイル管理情報の最新のものを取得してより
的確な先読み動作を実現できる。
【0041】(実施の形態2)図9は、本発明の第2の
実施の形態であるディスク装置の作用の一例を示すフロ
ーチャートである。この第2の実施の形態の場合には、
ディスク7上におけるファイル管理情報の有無を調べ、
ディスク7上にファイル管理情報を持たないファイルシ
ステムに対応するようにしたものである。すなわち、図
2に例示された先読み領域決定プロセスにおいて、ホス
トからのコマンドの論理アドレスを取得後(ステップ1
0)、ファイル管理情報の有無を調べ(ステップ6
0)、ファイル管理情報が存在する場合には、前述の第
1の実施の形態と同様の操作を行う(ステップ11〜1
5)。一方、ファイル管理情報がない場合には、当該コ
マンドのアクセス要求ブロック数を取得した後(ステッ
プ61)、先読み論理アドレス、およびブロック数の演
算を行う。この場合には、たとえば、特表昭59−50
2044号公報に記載された技術を用いて、アクセス要
求のあった論理アドレスの領域の物理的に近傍の領域の
データを必要なブロック数だけシーケンシャルに先読み
する。
実施の形態であるディスク装置の作用の一例を示すフロ
ーチャートである。この第2の実施の形態の場合には、
ディスク7上におけるファイル管理情報の有無を調べ、
ディスク7上にファイル管理情報を持たないファイルシ
ステムに対応するようにしたものである。すなわち、図
2に例示された先読み領域決定プロセスにおいて、ホス
トからのコマンドの論理アドレスを取得後(ステップ1
0)、ファイル管理情報の有無を調べ(ステップ6
0)、ファイル管理情報が存在する場合には、前述の第
1の実施の形態と同様の操作を行う(ステップ11〜1
5)。一方、ファイル管理情報がない場合には、当該コ
マンドのアクセス要求ブロック数を取得した後(ステッ
プ61)、先読み論理アドレス、およびブロック数の演
算を行う。この場合には、たとえば、特表昭59−50
2044号公報に記載された技術を用いて、アクセス要
求のあった論理アドレスの領域の物理的に近傍の領域の
データを必要なブロック数だけシーケンシャルに先読み
する。
【0042】このように、この第2の実施の形態の場合
には、ファイル管理情報の有無に応じて、各々に的確な
先読み動作を行わせることが可能になり、多様なファイ
ルシステムにおける効率的な先読み動作が可能になる。
には、ファイル管理情報の有無に応じて、各々に的確な
先読み動作を行わせることが可能になり、多様なファイ
ルシステムにおける効率的な先読み動作が可能になる。
【0043】以上本発明者によってなされた発明を実施
の形態に基づき具体的に説明したが、本発明は前記実施
の形態に限定されるものではなく、その要旨を逸脱しな
い範囲で種々変更可能であることはいうまでもない。
の形態に基づき具体的に説明したが、本発明は前記実施
の形態に限定されるものではなく、その要旨を逸脱しな
い範囲で種々変更可能であることはいうまでもない。
【0044】たとえば、上述の実施の形態では、オペレ
ーティングシステムの一例としてMS−DOSを例に採
って説明したが、これに限らず、ディスク媒体上にファ
イル管理情報を設定する一般のオペレーティングシステ
ムの場合にも広く適用することができる。たとえば、日
経BP社、1994年6月21日発行、日経バイト別冊
「最新パソコン技術大系」P329、等に記載されてい
るように、ワークステーションやミニコンピュータ等の
オペレーティング・システムの一つであるUNIX(U
NIXは、X/Open Company Limit
edがライセンスしている米国ならびに他の国における
登録商標である)におけるファイル管理情報であるiノ
ード領域の情報をファイル管理情報として用いても第1
の実施の形態と同様の効果が得られる。
ーティングシステムの一例としてMS−DOSを例に採
って説明したが、これに限らず、ディスク媒体上にファ
イル管理情報を設定する一般のオペレーティングシステ
ムの場合にも広く適用することができる。たとえば、日
経BP社、1994年6月21日発行、日経バイト別冊
「最新パソコン技術大系」P329、等に記載されてい
るように、ワークステーションやミニコンピュータ等の
オペレーティング・システムの一つであるUNIX(U
NIXは、X/Open Company Limit
edがライセンスしている米国ならびに他の国における
登録商標である)におけるファイル管理情報であるiノ
ード領域の情報をファイル管理情報として用いても第1
の実施の形態と同様の効果が得られる。
【0045】
【発明の効果】本発明のディスク装置によれば、実使用
条件下でのキャッシュヒット率を向上させることができ
る、という効果が得られる。
条件下でのキャッシュヒット率を向上させることができ
る、という効果が得られる。
【0046】また、ファイル管理情報を用いてディスク
媒体上のデータを管理する任意のオペレーティングシス
テムの下で、キャッシュヒット率を向上させることがで
きる、という効果が得られる。
媒体上のデータを管理する任意のオペレーティングシス
テムの下で、キャッシュヒット率を向上させることがで
きる、という効果が得られる。
【図1】本発明の第1の実施の形態であるディスク装置
を含むコンピュータシステムの構成の一例を示す概念図
である。
を含むコンピュータシステムの構成の一例を示す概念図
である。
【図2】本発明の第1の実施の形態であるディスク装置
で実施される先読み領域決定プロセスの一例を示すフロ
ーチャートである。
で実施される先読み領域決定プロセスの一例を示すフロ
ーチャートである。
【図3】本発明の第1の実施の形態であるディスク装置
においてRAM上に設定されるファイル管理テーブルの
構成の一例を示す概念図である。
においてRAM上に設定されるファイル管理テーブルの
構成の一例を示す概念図である。
【図4】MS−DOSVer.4.x以降でのIPL領
域のフォーマットの一例を示す概念図である。
域のフォーマットの一例を示す概念図である。
【図5】本発明の第1の実施の形態であるディスク装置
のRAMに展開されるファイル管理テーブルの一例を示
す概念図である。
のRAMに展開されるファイル管理テーブルの一例を示
す概念図である。
【図6】MS−DOSVer.4.x以降でのルート・
ディレクトリ領域のフォーマットの一例を示す概念図で
ある。
ディレクトリ領域のフォーマットの一例を示す概念図で
ある。
【図7】MS−DOSVer.4.x以降でのFAT領
域の一例を示す概念図である。
域の一例を示す概念図である。
【図8】本発明の第1の実施の形態であるディスク装置
のRAMに展開されるFATテーブルの一例を示す概念
図である。
のRAMに展開されるFATテーブルの一例を示す概念
図である。
【図9】本発明の第2の実施の形態であるディスク装置
の作用の一例を示すフローチャートである。
の作用の一例を示すフローチャートである。
1…ホストコンピュータ、2…IDEインターフェイ
ス、3…ディスク・コントローラ、4…データ・バッフ
ァ、5…制御プログラム群、6…キャッシュ制御プログ
ラム、7…ディスク、8…ファイル管理テーブル、9…
FATテーブル、16…IPL領域、17…FAT領
域、18…ルート・ディレクトリ領域、19…データ領
域、20…IPLへのジャンプアドレス、21…OEM
メーカ名およびバージョン、22…1セクタ当りのバイ
ト数、23…1クラスタ当りのセクタ数、24…予約セ
クタ数、25…FATの数、26…ルート・ディレクト
リのエントリ数、27…論理セクタ数、28…メディア
・ディスクリプタ・バイト、29…1FAT当りのセク
タ数、30…1シリンダ当りのセクタ数、31…ヘッド
数、32…隠れセクタ数、33…IPL領域、34…1
セクタ当りのバイト数、35…1クラスタ当りのセクタ
数、36…予約セクタ数、37…FATの数、38…ル
ート・ディレクトリのエントリ数、39…1FAT当り
のセクタ数、40…ルート・ディレクトリ・エントリ、
41…ファイル名、42…拡張子、43…属性、44…
リザーブ、45…リザーブ、46…変更時刻、47…変
更日付、48…先頭クラスタ番号、49…ファイルサイ
ズ、50…クラスタ番号、51…ファイル1の先頭クラ
スタ番号、52…次のクラスタ番号、53…ファイル2
の先頭クラスタ番号、54…ファイル1内の最終クラス
タ番号、55…ファイル2内の最終クラスタ番号、56
…ファイル1のクラスタのつながり情報、57…ファイ
ル2のクラスタのつながり情報、58…ファイル1のク
ラスタのつながりの終わり、59…ファイル2のクラス
タのつながりの終わり。
ス、3…ディスク・コントローラ、4…データ・バッフ
ァ、5…制御プログラム群、6…キャッシュ制御プログ
ラム、7…ディスク、8…ファイル管理テーブル、9…
FATテーブル、16…IPL領域、17…FAT領
域、18…ルート・ディレクトリ領域、19…データ領
域、20…IPLへのジャンプアドレス、21…OEM
メーカ名およびバージョン、22…1セクタ当りのバイ
ト数、23…1クラスタ当りのセクタ数、24…予約セ
クタ数、25…FATの数、26…ルート・ディレクト
リのエントリ数、27…論理セクタ数、28…メディア
・ディスクリプタ・バイト、29…1FAT当りのセク
タ数、30…1シリンダ当りのセクタ数、31…ヘッド
数、32…隠れセクタ数、33…IPL領域、34…1
セクタ当りのバイト数、35…1クラスタ当りのセクタ
数、36…予約セクタ数、37…FATの数、38…ル
ート・ディレクトリのエントリ数、39…1FAT当り
のセクタ数、40…ルート・ディレクトリ・エントリ、
41…ファイル名、42…拡張子、43…属性、44…
リザーブ、45…リザーブ、46…変更時刻、47…変
更日付、48…先頭クラスタ番号、49…ファイルサイ
ズ、50…クラスタ番号、51…ファイル1の先頭クラ
スタ番号、52…次のクラスタ番号、53…ファイル2
の先頭クラスタ番号、54…ファイル1内の最終クラス
タ番号、55…ファイル2内の最終クラスタ番号、56
…ファイル1のクラスタのつながり情報、57…ファイ
ル2のクラスタのつながり情報、58…ファイル1のク
ラスタのつながりの終わり、59…ファイル2のクラス
タのつながりの終わり。
Claims (1)
- 【請求項1】 上位装置との間で授受されるデータが格
納されるディスク媒体と、前記ディスク媒体よりも高速
なアクセスが可能なデータバッファとを備え、前記ディ
スク媒体上の任意のデータを前記データバッファに複写
し、可能な限り前記データバッファ上のデータを用いて
前記上位装置のアクセス要求に応答するディスク装置で
あって、 前記上位装置のオペレーティングシステムが前記ディス
ク媒体のシステムエリア上で管理するファイル管理情報
を用い、前記ディスク媒体上の任意のファイルに対して
前記オペレーティングシステムが発行するアクセス要求
の論理アドレスに基づいて、当該ファイルに属する前記
データ群の前記ディスク媒体上における格納位置を求
め、必要に応じて前記格納位置から前記データを前記デ
ータバッファ上に先読みする制御手段を有することを特
徴とするディスク装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7306144A JPH09146834A (ja) | 1995-11-24 | 1995-11-24 | ディスク装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7306144A JPH09146834A (ja) | 1995-11-24 | 1995-11-24 | ディスク装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09146834A true JPH09146834A (ja) | 1997-06-06 |
Family
ID=17953591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7306144A Pending JPH09146834A (ja) | 1995-11-24 | 1995-11-24 | ディスク装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09146834A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6209057B1 (en) | 1997-10-31 | 2001-03-27 | Fujitsu Limited | Storage device having data buffer |
US6430653B1 (en) | 1998-05-01 | 2002-08-06 | Nec Corporation | Disk control unit and method for prefetching according to partition information and concatenation information |
-
1995
- 1995-11-24 JP JP7306144A patent/JPH09146834A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6209057B1 (en) | 1997-10-31 | 2001-03-27 | Fujitsu Limited | Storage device having data buffer |
US6430653B1 (en) | 1998-05-01 | 2002-08-06 | Nec Corporation | Disk control unit and method for prefetching according to partition information and concatenation information |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6728840B1 (en) | Methods and apparatus for providing host controlled caching of data in a storage system | |
US7996445B2 (en) | Block reallocation planning during read-ahead processing | |
US7987190B2 (en) | Filesystem having a filename cache | |
US5887151A (en) | Method and apparatus for performing a modified prefetch which sends a list identifying a plurality of data blocks | |
US6275910B1 (en) | Storage device and method for data sharing | |
JP3183993B2 (ja) | ディスク制御システム | |
EP2645260A2 (en) | File system hinting | |
US20070005904A1 (en) | Read ahead method for data retrieval and computer system | |
JPH0687224B2 (ja) | ディスクベースコンピュータシステムにおけるデータキャッシングを最適化する方法及びシステム | |
JPH06259197A (ja) | アレイ型ディスクシステムの制御方式 | |
JP2003122634A (ja) | キャッシュ制御プログラムおよびキャッシュ処理を行うコンピュータ | |
JPH11316709A (ja) | ディスク制御装置及び方法 | |
CN112084121A (zh) | 硬盘预读方法、装置、计算机可读存储介质及电子设备 | |
US6154810A (en) | System and method for utilizing the memory of a portable computer as a disk cache while in SCSI target mode | |
JPH11161527A (ja) | データ記憶システム | |
JPH09146834A (ja) | ディスク装置 | |
JP2980326B2 (ja) | ディスク制御装置 | |
JPH11212733A (ja) | 外部記憶システム | |
JP2001350669A (ja) | 先読み予測装置 | |
JP4920937B2 (ja) | Fatファイルシステム、ファイル管理方法、プログラムおよび記憶媒体 | |
JP2854667B2 (ja) | ディスク・キャッシュ制御方式 | |
JPH0415493B2 (ja) | ||
JPH04336340A (ja) | ディスクキャッシュアクセス制御方式 | |
JPH11110291A (ja) | ディスクキャッシュ制御方法 | |
JPH0612328A (ja) | キャッシュメモリのデータ蓄積方法 |