JPH06289999A - ディスク制御システム - Google Patents

ディスク制御システム

Info

Publication number
JPH06289999A
JPH06289999A JP5074440A JP7444093A JPH06289999A JP H06289999 A JPH06289999 A JP H06289999A JP 5074440 A JP5074440 A JP 5074440A JP 7444093 A JP7444093 A JP 7444093A JP H06289999 A JPH06289999 A JP H06289999A
Authority
JP
Japan
Prior art keywords
sector
data
read
address
written
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
JP5074440A
Other languages
English (en)
Other versions
JP3183993B2 (ja
Inventor
Hiroshi Sukegawa
博 助川
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
Original Assignee
Toshiba 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 filed Critical Toshiba Corp
Priority to JP07444093A priority Critical patent/JP3183993B2/ja
Priority to US08/219,896 priority patent/US5557767A/en
Publication of JPH06289999A publication Critical patent/JPH06289999A/ja
Application granted granted Critical
Publication of JP3183993B2 publication Critical patent/JP3183993B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】ホスト装置によって読み出し要求されたデータ
に関連するデータを先読みバッファに格納できるように
し、先読みバッファのヒット率の向上を図る。 【構成】ホストシステム12からのアドレス昇順方向の
書き込み要求に対して同一値の付属コードが生成され、
その付属コードが書き込みデータに付加されてハードデ
ィスクドライブ113のセクタに書き込まれる。このた
め、一連の関連するデータがアドレス非連続の複数のセ
クタに渡って書き込まれてる場合にも、それらセクタ番
地の値がアドレス昇順の方向に変化している場合には、
それらセクタには同一の付属コードが書き込まれる。し
たがって、ホストシステム12から読み出し要求された
セクタと同一の付属コードが書き込まれているセクタの
データを先読みバッファ201に先読みして登録するこ
とにより、一連の関連するデータを先読みバッファ20
1に登録することが可能となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はディスク制御システム
に関し、特にディスク装置から先読みされたデータを保
持する先読みバッファを有するディスク制御システムに
関する。
【0002】
【従来の技術】従来のワークステーションやパーソナル
コンピュータ等の情報処理装置の多くは、2次記憶装置
として磁気ディスク装置(ハードディスクドライブ)を
用いている。磁気ディスク装置は、記録の信頼性が高
い、ビット単価が安いなどの利点がある反面、アクセス
速度が遅い等の欠点を持つ。
【0003】すなわち、磁気ディスク装置は、磁気ヘッ
ドをディスク表面に走らせることによって、データを回
転ディスク上に磁気的に書き込む、あるいはそれらを読
み出すという動作原理である。このような機械的な可動
部分の動作制御は、装置のアクセス速度を遅くする障害
となっている。
【0004】そこで、最近では、データ読み出し速度の
高速化を図るために、先読みバッファを備えた磁気ディ
スク装置が開発されている。先読みバッファを利用した
場合、ホスト装置から読み出し要求されたデータがその
先読みバッファに存在する場合(ヒット)には、磁気デ
ィスク装置をアクセスする事なく、先読みバッファから
ホスト装置に直ちにデータを読み出すことができる。こ
の場合、ホスト装置がリートコマンドを発行してからリ
ードデータが確定するまでの時間が短縮されるので、ホ
スト装置の性能を高めることができる。
【0005】しかしながら、従来では、ホスト装置によ
ってリード要求されたセクタ番地に後続するセクタのデ
ータを無条件に先読みバッファに先読みする方式である
ため、先読みバッファのヒット率が低く、磁気ディスク
装置のリードアクセスが比較的頻繁に発生される問題が
あった。
【0006】すなわち、ホスト装置からのリードアクセ
スがアドレス順に連続して行われる場合には先読みバッ
ファのヒット率は高いが、一連の関連するデータがアド
レス非連続の複数のセクタに渡って書き込まれている場
合等には、ホスト装置からのリードアクセスがアドレス
非連続のランダムアクセスになり、ヒット率が著しく低
下される。以下、図6を参照して、従来の典型的な先読
みバッファへのデータ書き込み動作の一例を説明する。
【0007】最初は、磁気ディスク装置上のセクタはど
れも未使用であるので、ホスト装置からの指定によって
セクタ番地順にデータが順番に書き込まれ行く。図6
(A)においては、ファイルAのセクタデータA0,A
1がセクタ番地1,2に格納され、同様に、ファイルB
のセクタデータB0〜B3がセクタ番地3〜6に、ファ
イルCのセクタデータC0〜C3がセクタ番地7〜10
に、ファイルDのセクタデータD0がセクタ番地11
に、ファイルEのセクタデータE0〜E2がセクタ番地
12〜14に格納されている。
【0008】この状態で、データの書き替えが進められ
ると、ホスト装置は、既に不要となったデータが格納さ
れているセクタに上書きをする。例えば、図6(A)の
状態でA,D,Eのファイルが不要となっている場合
に、ファイルZ(セクタデータZ0〜Z3)の書き込み
を行うと、図6(B)のように、セクタデータZ0〜Z
3は、不要となったデータが格納されているセクタ上に
アドレス順に書き込まれ、セクタデータZ0,Z1はセ
クタ番地1,2に、セクタデータZ2,Z3はセクタ番
地11,12に書き込まれる。
【0009】この状態で、ホスト装置がセクタ番地1,
2のセクタデータZ0,Z1を磁気デイスク装置から読
み出すと、先読みバッファへのセクタ格納数が8セクタ
の場合には、セクタ番地2に後続する8個のセクタのデ
ータ(B0,B1,B2,B3,C0、C1,C2,C
3)が先読みバッファに読み込まれる。
【0010】しかしながら、ホスト装置は関連するデー
タを連続して読み出すのが普通であるので、次にリード
されるのは、セクタデータZ0,Z1と同一ファイルの
データであるセクタデータZ2,Z3である。この場
合、先読みバッファはミスヒットとなり、磁気デイスク
装置からセクタデータZ2,Z3が読み出されるまでホ
スト装置は待たされることになる。
【0011】
【発明が解決しようとする課題】従来では、関連するデ
ータがセクタ番地順に連続して書き込まれている場合に
は問題ないが、一連の関連するデータがアドレス非連続
の複数のセクタに渡って書き込まれている場合等には、
ホスト装置からのリードアクセスがアドレス非連続にな
り、先読みバッファのヒット率が著しく低下する問題が
あった。
【0012】この発明はこのような点に鑑みてなされた
もので、ホスト装置によって読み出し要求されたデータ
に関連するデータを先読みバッファに格納できるように
し、先読みバッファのヒット率の向上を図ることができ
るディスク制御システムを提供することを目的とする。
【0013】
【課題を解決するための手段および作用】この発明は、
ディスク装置と、このディスク装置から先読みされたデ
ータを保持する先読みバッファとを有するディスク制御
システムにおいて、セクタ番地がアドレス昇順または降
順のいずれか一方向に変化するホスト装置からの一連の
書き込み要求に対して同一の識別情報を生成し、その識
別情報を書き込みデータに付加して前記ディスク装置上
の指定されたセクタ番地に書き込む手段と、前記ホスト
装置から読み出し要求された前記ディスク装置上のセク
タ番地に後続するセクタを順次検索し、前記読み出し要
求されたセクタと同一の識別情報が書き込まれているセ
クタのデータを前記先読みバッファに先読みして登録す
る手段とを具備することを特徴とする。
【0014】このディスク制御システムにおいては、ホ
スト装置からのアドレス昇順または降順方向の一連の書
き込み要求に対しては同一の識別情報が生成され、その
識別情報が書き込みデータに付加されてセクタに書き込
まれる。このため、一連の関連するデータがアドレス非
連続の複数のセクタに渡って書き込まれてる場合にも、
それらセクタ番地の値がアドレス昇順または降順のいず
れか一方の方向に変化している場合には、それらセクタ
には同一の識別情報が書き込まれる。したがって、ホス
ト装置から読み出し要求されたセクタと同一の識別情報
が書き込まれているセクタのデータを先読みバッファに
先読みして登録することにより、一連の関連するデータ
を先読みバッファに登録することが可能となる。ホスト
装置からの読み出しアクセスにおいては、同一ファイル
のデータのように一連の関連するデータが連続して読み
出される場合が多いので、先読みバッフのヒット率の向
上を図ることが可能となる。
【0015】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。
【0016】図1にはこの発明の一実施例に係わる磁気
ディスク制御システムが示されている。この磁気ディス
ク制御システム11は、パーソナルコンピュータやワー
クステーションの2次記憶装置として使用されるもので
あり、ホストインターフェース111、コントローラ1
12、ハードディスクドライブユニット113、RAM
114を備えている。
【0017】ホストインターフェース111は、パーソ
ナルコンピュータやワークステーション等のホストシス
テム12と磁気ディスク制御システム11との間でコマ
ンドおよびデータを授受するためのものであり、ホスト
システム12から受信したコマンド,データはコントロ
ーラ112に送られる。
【0018】コントローラ112は、ホストシステム1
2からのコマンドにしたがってハードディスクドライブ
ユニット113をアクセス制御する。この場合、ハード
ディスクドライブユニット113に対するデータ書き込
み/読み出しは、セクタ単位で行われる。書き込み/読
み出し対象の先頭セクタは、ホストシステム12からの
コマンドに含まれるライト/リードアドレスによって指
定される。
【0019】また、コントローラ112は、RAM11
4内に設けられた先読みバッファ201へのデータの先
読み機能も備えている。ホストシステム12からのリー
ドアドレスによって指定されたセクタのデータが先読み
バッファ201に存在する場合には、コントローラ11
2は、ハードディスクドライブユニット113をアクセ
スせずに、先読みバッファ201からデータを読み出し
てホストシステム12に転送する。
【0020】ハードディスクドライブユニット113の
どのセクタのデータを先読みバッファ201に先読みす
るかは、ハードディスクドライブユニット113の各セ
クタに書き込まれている付属コードの値にしたがって決
定される。この付属コードは、コントローラ112によ
って書き込み要求ごとに生成されるものであり、アドレ
ス昇順のセクタ番地に対する一連の書き込み要求に対し
ては同一値の付属コードが生成される。このような付属
コードを利用した先読みデータの選定処理は、この発明
の特徴とする部分であり、その詳細は図2以降で後述す
る。
【0021】先読みバッファ201は、コントローラ1
12によってハードディスクドライブユニット113か
ら先読みされたデータを保持する。この先読みバッファ
201には、8セクタ分のデータを保持するデータテー
ブル201aと、このデータ記憶エリア201aに保持
されているセクタデータそれぞれのセクタ番地を保持す
るアドレステーブル201bから構成されている。
【0022】RAM114には、先読みバッファ201
の他、さらにコントローラ112によるデータ先読み処
理等によって使用される各種テーブル、例えば付属コー
ドテーブル202、ホストアクセス番地テーブル20
3、読み出しコードテーブル204が設けられている。
【0023】付属コードテーブル202は、生成した付
属コードの値を保持する。ホストアクセス番地テーブル
203は、ホストシステム12によって書き込み指定さ
れた最後のセクタ番地を保持する。読み出しコードテー
ブル204は、ホストシステム12によって読み出し指
定されたセクタに書き込まれている付属コードの値を保
持する。
【0024】ハードディスクドライブユニット113の
各セクタは、図示のように、セクタ番地などの情報が書
き込まれるIDエリアと、データが書き込まれるデータ
エリアとから構成されており、前述の付属コードはID
エリアの空き部分に書き込まれる。また、ハードディス
クドライブユニット113上の特定のセクタは、生成さ
れた付属コードの最終値がセーブされる付属コードテー
ブルとして利用される。次に、図2、図3を参照して、
付属コードを利用したデータ先読み処理の原理を説明す
る。
【0025】コントローラ112は、ホストシステム1
2からの書き込みコマンドに含まれるアドレスによって
指定されるセクタの物理番地がそれに先行する書き込み
コマンドによって指定されたセクタ番地と同一、または
それよりも値が大きい場合には、先行する書き込みコマ
ンドで用いた付属コードと同一値の付属コードを生成
し、それを書き込みデータと共に指定されたセクタに書
き込む。一方、その反対に、これから書き込むセクタの
物理番地が、先行して書き込みを実行したセクタの物理
番地よりも値が小さい場合には、コントローラ112
は、先行する書き込みコマンドで用いた付属コードの値
を+1インクリメントし、それを書き込みデータと共に
指定されたセクタに書き込む。これらの規則にしたがっ
て付属コードを生成した場合、付属コードは図2
(A)、(B)のように配列される。
【0026】すなわち、最初は、ハードディスクドライ
ブユニット113上のセクタはどれも未使用であるの
で、ホスシステム12からの連続する書き込みコマンド
は、セクタ番地順に書き込み位置を指定する。例えばホ
スシステム12がファイルA,B,C,Dの順でデータ
を書き込む場合には、ファイルAのセクタデータA0,
A1はセクタ番地1,2に格納され、同様に、ファイル
BのセクタデータB0〜B3はセクタ番地3〜6に、フ
ァイルCのセクタデータC0〜C3はセクタ番地7〜1
0に、ファイルDのセクタデータD0はセクタ番地11
に、ファイルEのセクタデータE0〜E2はセクタ番地
12〜14に格納されている。
【0027】このように、ホスシステム12からの書き
込み要求によって指定されるセクタ番地の値が順次大き
くなる場合には、それら書き込み要求に対して同一値の
付属コード(ここでは、“01”)が生成され、それが
対応するセクタに書き込まれる。
【0028】この状態で、データの書き替えが進められ
ると、ホストシステム12は、既に不要となったデータ
が格納されているセクタに上書きをする。例えば、図2
(A)の状態でA,D,Eのファイルが不要となってい
る場合に、ファイルZ(セクタデータZ0〜Z3)の書
き込みを行うと、図2(B)のように、セクタデータZ
0〜Z3は不要となったデータが格納されているセクタ
にアドレス順に書き込まれ、セクタデータZ0,Z1は
セクタ番地1,2に、セクタデータZ2,Z3はセクタ
番地11,12に書き込まれる。
【0029】この場合、セクタデータZ0の書き込み対
象となるセクタ番地1は、それに先行する書き込みコマ
ンドで指定されたセクタ番地14よりも値が小さいの
で、セクタデータZ0の書き込み時には、先行する書き
込みで用いた付属コードの値“01”を+1カウントア
ップした値“02”が、付属コードとして生成され、そ
れがセクタデータZ0と共にセクタ番地1に書き込まれ
る。
【0030】以降のセクタデータZ1〜Z3について
は、その書き込み対象となるセクタ番地がセクタデータ
Z0の書き込み対象となるセクタ番地1よりも値が大き
いので、セクタデータZ0の書き込みで用いた付属コー
ドの値“02”がそのまま使用される。この結果、一連
のデータであるセクタデータZ0〜Z3が書き込まれる
セクタには、同一値の付属コード“02”が設定される
ことになる。
【0031】この状態で、ホストシステム12がセクタ
番地1,2に対するデータ読み出しを要求すると、コン
トローラ112は、セクタ番地1,2のデータZ0,Z
1をハードディスクドライブ113から読み出してホス
トシステム12に転送すると共に、セクタ番地2に後続
するセクタを検索し、セクタ番地2と同一の付属コード
が書き込まれているセクタのデータを抽出してそれを先
読みバッファ201に登録する。
【0032】この例では、セクタ番地2と同一の付属コ
ード“02”がセクタ番地11とセクタ番地12に書き
込まれているので、先読みバッファ201には、図3に
示されているように、先読みバッファ201にはセクタ
番地11のデータZ2と、セクタ番地12のデータZ3
が登録される。次に、図4および図5を参照して、コン
トローラ112によるデータ書き込み/読み出し動作の
具体的を説明する。まず、図4のフローチャートを参照
して、書き込み処理について説明する。
【0033】例えば電源投入時等のディスク制御システ
ム11の起動時においては、コントローラ112は、付
属コードテーブルをハードディスクドライブ113の所
定セクタから読み出し、それをRAM114の付属コー
ドテーブル202に書き込む(ステップS11)。
【0034】ついで、ホストシステム12から最初の書
き込みコマンドが発生されると、コントローラ112
は、RAM114の付属コードテーブル202の付属コ
ード値を+1インクリメントすると共に、それに合わせ
てハードディスクドライブ113の付属コードテーブル
の付属コード値も+1インクリメントする(ステップS
12)。この後、コントローラ112は、+1インクリ
メントされた付属コードをセクタIDに付属させ、対象
セクタへの書き込みを実施する(ステップS13)。
【0035】そして、コントローラ112は、対象セク
タ番地の最終アドレス(例えば、セクタデータA0,A
1の書き込みをセクタ番地1から行った場合には、セク
タ番地2)を、ホストアクセス番地テーブル203に登
録する(ステップS14)。起動後から2つ目の書き込
みコマンドからは、アクセス対象のセクタ番号が遡る可
能性があるのでステップS15〜S19の処理が実行さ
れる。
【0036】すなわち、2つ目以降の書き込みコマンド
が発行されると、コントローラ112は、その対象セク
タ番地をホストアクセス番地テーブル203の値と比較
し(ステップS15)、対象セクタ番地の値がホストア
クセス番地テーブル203の値以上か否かを判定する
(ステップS16)。
【0037】対象セクタ番地の値がホストアクセス番地
テーブル203の値以上の場合には、コントローラ11
2は、RAM114の付属コードテーブル202の付属
コード値をそのまま使用し、その付属コードをセクタI
Dに付属させて、対象セクタへの書き込みを実施する
(ステップS18)。
【0038】一方、対象セクタ番地の値がホストアクセ
ス番地テーブル203の値よりも小さい場合には、コン
トローラ112は、RAM114の付属コードテーブル
202の付属コード値を+1インクリメントすると共
に、それに合わせてハードディスクドライブ113の付
属コードテーブルの付属コード値も+1インクリメント
し(ステップS17)、この後、コントローラ112
は、+1インクリメントされた付属コードをセクタID
に付属させ、対象セクタへの書き込みを実施する(ステ
ップS18)。そして、コントローラ112は、対象セ
クタ番地の最終アドレスを、ホストアクセス番地テーブ
ル203に登録する(ステップS19)。ステップS1
5〜S19の処理は、ホストシステム12から書き込み
コマンドが発行される度に繰り返し実行される。次に、
図5のフローチャートを参照して、読み出し処理につい
て説明する。
【0039】コントローラ112は、ホストシステム1
2からリードコマンドを受信すると(ステップS2
1)、ホスト指定のセクタ番地が先読みバッファ201
のアドレステーブル201bに存在するか否かを調べ、
存在する場合には、先読みバッファ201からホスト指
定のセクタ番地のデータを読み出し、それをホストシス
テム12に転送する(ステップS22,S23)。一
方、先読みバッファ201のアドレステーブル201b
に存在しない場合には、ステップS24乃至S31の処
理が行われる。
【0040】すなわち、コントローラ112は、ホスト
指定のセクタ番地のデータをハードディスクドライブユ
ニット113から読み出し(ステップS24)、その読
み出したセクタの付属コードを読み出しコードテーブル
24に登録した後、そのホスト指定のセクタ番地のデー
タをホストシステム12に転送する(ステップS25,
S26)。
【0041】この後、コントローラ112は、読み出し
を行ったセクタ番地に後続するセクタ番地をハードディ
スクドライブユニット113から読み出し(ステップS
27)、そのセクタに書き込まれている付属コードの値
が読み出しコードテーブル204に登録されている値と
一致するか否かを調べる(ステップS28)。一致する
場合には、その読み出したセクタのデータを先読みバッ
ファ201のデータテーブル201aに登録すると共
に、そのセクタの番地を先読みバッファ201のアドレ
ステーブル201bに登録する(ステップS29,S3
0)。
【0042】ステップS27乃至S31の処理は、先読
みバッファ201に空きエントリがなくなるか、あるい
は全てのセクタについて読み出しが行われた際に終了さ
れる(ステップS31)。
【0043】以上のように、この実施例においては、ホ
ストシステム12からのアドレス昇順方向の書き込み要
求に対して同一値の付属コードが生成され、その付属コ
ードが書き込みデータに付加されてセクタに書き込まれ
る。このため、一連の関連するデータがアドレス非連続
の複数のセクタに渡って書き込まれてる場合にも、それ
らセクタ番地の値がアドレス昇順の方向に変化している
場合には、それらセクタには同一の付属コードが書き込
まれる。したがって、ホストシステム12から読み出し
要求されたセクタと同一の付属コードが書き込まれてい
るセクタのデータを先読みバッファ201に先読みして
登録することにより、一連の関連するデータを先読みバ
ッファ201に登録することが可能となる。
【0044】ホストシステム12からの読み出しアクセ
スにおいては、同一ファイルのデータのように一連の関
連するデータが連続して読み出される場合が多い。した
がって、前述のように同一付属コードのセクタデータを
選択して先読みすることにより、先読みバッファ201
のヒット率の向上を図ることが可能となる。
【0045】なお、ここでは、ハードディスクドライブ
の先読みバッファについてのみ説明したが、ホストシス
テムからのアクセス要求に応じてセクタ単位でリードラ
イトアクセスされる外部記憶装置であれば、例えば半導
体ディスク装置等の高速ディスク装置にも適用すること
ができる。
【0046】但し、この場合には、先読みバッファ20
1として利用されるメモリは、半導体ディスク装置に用
いられるフラッシュEEPROM等のメモリ素子よりも
高速の例えばSRAM等のメモリ素子を利用することが
必要とされる。
【0047】また、ここでは、セクタの物理番地の値が
遡ったことのみを条件に付属コードの更新を行ったが、
さらに、タイマー等によって設定される時間条件を併用
して用い、セクタ物理番地が遡るか、あいるいはホスト
システム12からアクセス要求が発行されてからの経過
時間が一定時間以上となるか、のいずれか条件成立時に
付属コードを更新しても良い。このようすれば、セクタ
番地の変化だけでなく、アクセスの時間的な連続性も考
慮して関連するデータか否かの判別を行うことができる
ので、先読みバッファ201のヒット率をより向上する
ことができる。
【0048】さらに、先読みバッファ201へのデータ
登録においては、アクセスされたセクタ番地に続く物理
番地のセクタを一定量先読みバッファ201に登録し、
先読みバッファ201の残りのエントリについてのみ付
属コードの値が一致するセクタを登録するといった手法
を採用することも可能である。
【0049】例えば、アドレス順に連続する複数のセク
タに渡ってファイルが格納されている状態で、そのファ
イル内の幾つかのデータを更新した場合には更新された
データそれぞれの付属コードは同一となるが、その付属
コードの値は、同一ファイル内の更新されなかった他の
データの付属コードとは異なってしまう。同一ファイル
であれば、更新されなかったデータと更新されたデータ
が後に連続してアクセスされる可能性は高いので、この
ような場合についてはアクセスされたセクタ番地に続く
物理番地のセクタも含めて先読みしておくことが好まし
い。
【0050】また、先読みバッファ201を複数のセグ
メントに分割し、先読みデータを読み出しコマンド毎に
別のセグメントに順次格納するという手法を採用するこ
ともできる。このようにすれば、例えばファイル全体に
渡る選択的なリードアクセスがファイルの途中から開始
されてアクセス対象のセクタ番地が再び遡るといった場
合に、アクセス対象のセクタ番地が遡った時のヒット率
を高めることが可能となる。
【0051】
【発明の効果】以上のように、この発明によれば、ホス
ト装置によって読み出し要求されたデータに関連するデ
ータを先読みバッファに格納できるようになり、先読み
バッファのヒット率の向上を図ることができる。
【図面の簡単な説明】
【図1】この発明の一実施例に係るディスク制御システ
ムの構成を示すブロック図。
【図2】同実施例のディスク制御システムに設けられた
コントローラによって各セクタに書き込まれる付属コー
ドの一例を示す図。
【図3】同実施例のディスク制御システムに設けられた
コントローラによって実行される付属コードを利用した
先読み処理の原理を説明するための図。
【図4】同実施例のディスク制御システムに設けられた
コントローラによって実行されるデータ書き込み処理の
手順を説明するフローチャート。
【図5】同実施例のディスク制御システムに設けられた
コントローラによって実行されるデータ読み出し処理の
手順を説明するフローチャート。
【図6】従来のディスク制御システムに採用されている
典型的な先読み処理の一例を説明するための図。
【符号の説明】
11…ディスク制御システム、12…ホストシステム、
111…ホストインターフェース、112…コントロー
ラ、113…ハードディスクドライブユニット、114
…RAM、201…先読みバッファ、202…付属コー
ドテーブル、203…ホストアクセス番地テーブル、2
04…読み出しコードテーブル。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ディスク装置と、このディスク装置から
    先読みされたデータを保持する先読みバッファとを有す
    るディスク制御システムにおいて、 セクタ番地がアドレス昇順または降順のいずれか一方向
    に変化するホスト装置からの一連の書き込み要求に対し
    て同一の識別情報を生成し、その識別情報を書き込みデ
    ータに付加して前記ディスク装置上の指定されたセクタ
    番地に書き込む手段と、 前記ホスト装置から読み出し要求された前記ディスク装
    置上のセクタ番地に後続するセクタを順次検索し、前記
    読み出し要求されたセクタと同一の識別情報が書き込ま
    れているセクタのデータを前記先読みバッファに先読み
    して登録する手段とを具備することを特徴とするディス
    ク制御システム。
JP07444093A 1993-03-31 1993-03-31 ディスク制御システム Expired - Lifetime JP3183993B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP07444093A JP3183993B2 (ja) 1993-03-31 1993-03-31 ディスク制御システム
US08/219,896 US5557767A (en) 1993-03-31 1994-03-30 Disk control system using identification codes for retrieving related data for storage in a read ahead cache

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07444093A JP3183993B2 (ja) 1993-03-31 1993-03-31 ディスク制御システム

Publications (2)

Publication Number Publication Date
JPH06289999A true JPH06289999A (ja) 1994-10-18
JP3183993B2 JP3183993B2 (ja) 2001-07-09

Family

ID=13547301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07444093A Expired - Lifetime JP3183993B2 (ja) 1993-03-31 1993-03-31 ディスク制御システム

Country Status (2)

Country Link
US (1) US5557767A (ja)
JP (1) JP3183993B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165772A (ja) * 1997-08-20 1999-03-09 Fujitsu Ltd データ転送システムおよびデータ転送方法
US7890732B2 (en) 2004-02-04 2011-02-15 Kabushiki Kaisha Toshiba Memory card and semiconductor device
JP2014523046A (ja) * 2011-07-11 2014-09-08 メモリー テクノロジーズ リミティド ライアビリティ カンパニー モバイル・メモリ・キャッシュ読み取り最適化

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832231A (en) * 1995-01-13 1998-11-03 U S West, Inc. Method and system for preloading interactive multimedia applications
JP3260999B2 (ja) * 1995-03-03 2002-02-25 富士通株式会社 ディスク制御装置の制御方法
US5852747A (en) * 1995-09-08 1998-12-22 International Business Machines Corporation System for awarding token to client for accessing first data block specified in client request without interference due to contention from other client
GB2345366B (en) 1997-10-08 2003-02-19 Seagate Technology Hybrid data storage and reconstruction system and method for a data storage device
WO1999034356A2 (en) * 1997-12-30 1999-07-08 Genesis One Technologies, Inc. Disk cache enhancer with dynamically sized read request based upon current cache hit rate
JPH11316709A (ja) * 1998-05-01 1999-11-16 Nec Corp ディスク制御装置及び方法
US7111128B2 (en) * 2002-12-19 2006-09-19 Intel Corporation Hierarchical virtual model of a cache hierarchy in a multiprocessor system
US7917646B2 (en) * 2002-12-19 2011-03-29 Intel Corporation Speculative distributed conflict resolution for a cache coherency protocol
US6922756B2 (en) * 2002-12-19 2005-07-26 Intel Corporation Forward state for use in cache coherency in a multiprocessor system
JP2004318485A (ja) 2003-04-16 2004-11-11 Hitachi Ltd データ書き込み方法、データ検証方法、コンピュータの制御方法、コンピュータ、ディスクアレイ装置、及びディスクドライブ
US20050262250A1 (en) * 2004-04-27 2005-11-24 Batson Brannon J Messaging protocol
US20050240734A1 (en) * 2004-04-27 2005-10-27 Batson Brannon J Cache coherence protocol
US7822929B2 (en) * 2004-04-27 2010-10-26 Intel Corporation Two-hop cache coherency protocol
KR20070057979A (ko) * 2004-09-28 2007-06-07 코닌클리케 필립스 일렉트로닉스 엔.브이. 기록매체에 데이터를 저장하고 정보를 전송하는 방법 및장치
US7395381B2 (en) * 2005-03-18 2008-07-01 Intel Corporation Method and an apparatus to reduce network utilization in a multiprocessor system
JP2009230417A (ja) * 2008-03-21 2009-10-08 Fujitsu Ltd ディスク装置およびデータ先行読出し方法
JP5520098B2 (ja) * 2010-03-24 2014-06-11 スパンション エルエルシー データ処理方法、プログラムおよびシステム
US9053038B2 (en) 2013-03-05 2015-06-09 Dot Hill Systems Corporation Method and apparatus for efficient read cache operation
US9552297B2 (en) 2013-03-04 2017-01-24 Dot Hill Systems Corporation Method and apparatus for efficient cache read ahead
US9684455B2 (en) 2013-03-04 2017-06-20 Seagate Technology Llc Method and apparatus for sequential stream I/O processing
US8930619B2 (en) 2012-05-29 2015-01-06 Dot Hill Systems Corporation Method and apparatus for efficiently destaging sequential I/O streams
US8886880B2 (en) 2012-05-29 2014-11-11 Dot Hill Systems Corporation Write cache management method and apparatus
US9152563B2 (en) 2013-03-04 2015-10-06 Dot Hill Systems Corporation Method and apparatus for processing slow infrequent streams
US9465555B2 (en) 2013-08-12 2016-10-11 Seagate Technology Llc Method and apparatus for efficient processing of disparate data storage commands
US9158687B2 (en) 2013-03-04 2015-10-13 Dot Hill Systems Corporation Method and apparatus for processing fast asynchronous streams
US10564856B2 (en) * 2017-07-06 2020-02-18 Alibaba Group Holding Limited Method and system for mitigating write amplification in a phase change memory-based storage device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0682342B2 (ja) * 1989-06-06 1994-10-19 株式会社日立製作所 ディスクキャッシュ制御方法
US5410653A (en) * 1992-06-16 1995-04-25 International Business Machines Corporation Asynchronous read-ahead disk caching using multiple disk I/O processes and dynamically variable prefetch length

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165772A (ja) * 1997-08-20 1999-03-09 Fujitsu Ltd データ転送システムおよびデータ転送方法
US7890732B2 (en) 2004-02-04 2011-02-15 Kabushiki Kaisha Toshiba Memory card and semiconductor device
JP2014523046A (ja) * 2011-07-11 2014-09-08 メモリー テクノロジーズ リミティド ライアビリティ カンパニー モバイル・メモリ・キャッシュ読み取り最適化

Also Published As

Publication number Publication date
US5557767A (en) 1996-09-17
JP3183993B2 (ja) 2001-07-09

Similar Documents

Publication Publication Date Title
JP3183993B2 (ja) ディスク制御システム
US6845405B1 (en) Disk drive executing part of a linked disk command
EP1280063A2 (en) Cache control methods and apparatus for hard disk drives
JP4060506B2 (ja) ディスク制御装置
US5875455A (en) Information recording and reproducing apparatus merging sequential recording requests into a single recording request, and method of data caching for such apparatus
US5696931A (en) Disc drive controller with apparatus and method for automatic transfer of cache data
JPH1063578A (ja) 情報記録再生装置
WO1996008772A1 (en) Method of pre-caching data utilizing thread lists and multimedia editing system using such pre-caching
JPS58155464A (ja) 順次デ−タ・ストリ−ムの検出方法
CN101135952B (zh) 对盘驱动事务处理采用存取日志
US20070005904A1 (en) Read ahead method for data retrieval and computer system
US5293618A (en) Method for controlling access to a shared file and apparatus therefor
KR19980029917A (ko) 자기 디스크 드라이브에서 읽기 캐쉬의 성능을 높이기 위한 방법
US7406547B2 (en) Sequential vectored buffer management
JP3969809B2 (ja) 記憶装置におけるデータバッファの管理方法
JP3122702B2 (ja) ディスク装置のライトバック制御方法
JPH0773107A (ja) ディスク・システムの制御方法
JPS6258351A (ja) 光デイスクキヤツシユ方式
JP2567903B2 (ja) データ転送方法
WO1994022134A1 (en) Buffer control for data transfer within hard disk during idle periods
JP2665180B2 (ja) ディスクキャッシュバッファの確保方式
JPH04311216A (ja) 外部記憶制御装置
JP2973474B2 (ja) 光磁気ディスク装置
JPH10124387A (ja) キャッシュ制御装置および方法
JP3080416B2 (ja) コントロ−ラにおける内部的動作の実行方法及びコントロ−ラ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080427

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090427

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100427

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100427

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110427

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130427

Year of fee payment: 12