JP3254429B2 - データ転送/管理システム及び方法 - Google Patents
データ転送/管理システム及び方法Info
- Publication number
- JP3254429B2 JP3254429B2 JP00560999A JP560999A JP3254429B2 JP 3254429 B2 JP3254429 B2 JP 3254429B2 JP 00560999 A JP00560999 A JP 00560999A JP 560999 A JP560999 A JP 560999A JP 3254429 B2 JP3254429 B2 JP 3254429B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- buffer
- read
- storage medium
- output device
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、一般的にはコンピ
ュータ用ハード・ディスク・ドライブに関し、より具体
的にはコンピュータ用ハード・ディスク・ドライブのバ
ッファへのデータ転送の管理に関する。
ュータ用ハード・ディスク・ドライブに関し、より具体
的にはコンピュータ用ハード・ディスク・ドライブのバ
ッファへのデータ転送の管理に関する。
【0002】
【従来の技術】ほとんどではないとしても、多くのコン
ピュータ用ディスク・ドライブでは、ディスク上の主な
光学式または磁気式データ記憶媒体に加え、ソリッド・
ステート・データ・バッファを取り入れている。固体デ
ータ・バッファの使用目的は、ディスク・ドライブとそ
のホスト・コンピュータとの間のデータ転送速度を高め
ることでディスク・パフォーマンスを改善することであ
る。
ピュータ用ディスク・ドライブでは、ディスク上の主な
光学式または磁気式データ記憶媒体に加え、ソリッド・
ステート・データ・バッファを取り入れている。固体デ
ータ・バッファの使用目的は、ディスク・ドライブとそ
のホスト・コンピュータとの間のデータ転送速度を高め
ることでディスク・パフォーマンスを改善することであ
る。
【0003】通常、コンピュータ用ディスク・ドライブ
のソリッド・ステート・バッファを使用すると、2通り
の方法でディスク・ドライブのパフォーマンスが向上す
る。第一に、ディスク・ドライブがデータの要求に一致
するデータをディスクの特定セクタからホスト・コンピ
ュータに転送した後、ドライブはディスクからバッファ
にデータの「先読み(read ahead)」すなわちコピーを
続行する。具体的には、ドライブは、読み取られたデー
タの抽出元であるセクタに隣接するディスク上のセクタ
からバッファにデータをコピーする。これは、最初の要
求に対応するために使用したセクタに隣接するディスク
・セクタからのデータが後続のデータ要求によって要求
される可能性が高い、最新のコンピュータ・アーキテク
チャでは意味のあることである。
のソリッド・ステート・バッファを使用すると、2通り
の方法でディスク・ドライブのパフォーマンスが向上す
る。第一に、ディスク・ドライブがデータの要求に一致
するデータをディスクの特定セクタからホスト・コンピ
ュータに転送した後、ドライブはディスクからバッファ
にデータの「先読み(read ahead)」すなわちコピーを
続行する。具体的には、ドライブは、読み取られたデー
タの抽出元であるセクタに隣接するディスク上のセクタ
からバッファにデータをコピーする。これは、最初の要
求に対応するために使用したセクタに隣接するディスク
・セクタからのデータが後続のデータ要求によって要求
される可能性が高い、最新のコンピュータ・アーキテク
チャでは意味のあることである。
【0004】実際に、隣接するディスク・セクタの1つ
に入っているデータを求める後続の要求を受け取った場
合、ディスクそのものからコンピュータに転送するので
はなく、ソリッド・ステート・バッファからコンピュー
タにデータを転送すれば、より迅速に要求を満足するこ
とができる。これは、主に、ディスクとコンピュータと
の間のデータ転送では通常1つまたは複数のディスク・
ドライブ構成要素の機械的な位置変更が必要なのに対
し、ソリッド・ステート・データ・バッファとコンピュ
ータとの間のデータ転送ではこのような機械的操作が不
要であるためである。
に入っているデータを求める後続の要求を受け取った場
合、ディスクそのものからコンピュータに転送するので
はなく、ソリッド・ステート・バッファからコンピュー
タにデータを転送すれば、より迅速に要求を満足するこ
とができる。これは、主に、ディスクとコンピュータと
の間のデータ転送では通常1つまたは複数のディスク・
ドライブ構成要素の機械的な位置変更が必要なのに対
し、ソリッド・ステート・データ・バッファとコンピュ
ータとの間のデータ転送ではこのような機械的操作が不
要であるためである。
【0005】当然のことながら、バッファに先読みされ
たデータを必要としない後続のデータ要求が行われる場
合もある。このような場合には、ディスクからのデータ
要求に即時対応するために、ディスク・ドライブが先読
み操作を先取り(preempt)することができる。一般に
「先取り方針(preempt policy)」と呼ばれるものによ
り行われるこのような操作は、後続のデータ要求をバッ
ファから完全に満足できるという保証がないため、意味
を持つ場合もある。別の言い方をすれば、ディスク・ド
ライブはバッファの先読みを先取りし、それにより、デ
ィスクからの現在の要求に即時対応するために今後の要
求に対応する応答時間を犠牲にすることもあり得る。
たデータを必要としない後続のデータ要求が行われる場
合もある。このような場合には、ディスクからのデータ
要求に即時対応するために、ディスク・ドライブが先読
み操作を先取り(preempt)することができる。一般に
「先取り方針(preempt policy)」と呼ばれるものによ
り行われるこのような操作は、後続のデータ要求をバッ
ファから完全に満足できるという保証がないため、意味
を持つ場合もある。別の言い方をすれば、ディスク・ド
ライブはバッファの先読みを先取りし、それにより、デ
ィスクからの現在の要求に即時対応するために今後の要
求に対応する応答時間を犠牲にすることもあり得る。
【0006】あるいは、ディスク・ドライブは、ディス
ク・データを求める要求が存在する場合に先読み操作を
続行できる、いわゆる「非先取り(no-preempt)」方針
(policy)を採用することもできる。今後起こりうるデ
ータ要求に備えてディスク・ドライブの応答時間を改善
するために、現在のデータ要求に対する対応を遅らせる
ことが有利な場合には、非先取り方針が意味を持つ。い
ずれの場合にも、ソリッド・ステート・バッファへのデ
ータ先読みを先取りすべきかどうかを選択する際に、ト
レードオフが行われることは明らかである。
ク・データを求める要求が存在する場合に先読み操作を
続行できる、いわゆる「非先取り(no-preempt)」方針
(policy)を採用することもできる。今後起こりうるデ
ータ要求に備えてディスク・ドライブの応答時間を改善
するために、現在のデータ要求に対する対応を遅らせる
ことが有利な場合には、非先取り方針が意味を持つ。い
ずれの場合にも、ソリッド・ステート・バッファへのデ
ータ先読みを先取りすべきかどうかを選択する際に、ト
レードオフが行われることは明らかである。
【0007】最善の方針は作業負荷によって決まり、要
求率が高まるにつれて、その重要性が増す。残念なが
ら、先取り方針の選択は、いったん確立してしまうと、
通常変更されないものである。その結果、データ要求率
は低いという予想に基づいて先読み「先取り」方針を選
択すると、データ要求率が急に上昇した場合にディスク
・ドライブの応答時間を高める効果が得られない。この
ような状況では、ディスク・ドライブの「先取り」方針
を採用した結果、先読みが最も望ましいときにバッファ
の先読みが中断されてしまう。
求率が高まるにつれて、その重要性が増す。残念なが
ら、先取り方針の選択は、いったん確立してしまうと、
通常変更されないものである。その結果、データ要求率
は低いという予想に基づいて先読み「先取り」方針を選
択すると、データ要求率が急に上昇した場合にディスク
・ドライブの応答時間を高める効果が得られない。この
ような状況では、ディスク・ドライブの「先取り」方針
を採用した結果、先読みが最も望ましいときにバッファ
の先読みが中断されてしまう。
【0008】データの先読みに加え、ソリッド・ステー
ト・データ・バッファによってディスク・ドライブのパ
フォーマンスを向上させるもう1つの方法は、ディスク
に「書き込む」すなわち格納する予定のコンピュータ・
データを一時的に「キャッシュ」すなわち格納すること
である。より具体的には、バッファは、コンピュータか
らデータを受け取り、ディスクへのデータの書込みをサ
ポートするためにディスクの適切な機械的位置変更が行
われるまで、そのデータを格納する。各種構成要素の位
置変更が完了すると、データがバッファからディスクに
書き込まれる。
ト・データ・バッファによってディスク・ドライブのパ
フォーマンスを向上させるもう1つの方法は、ディスク
に「書き込む」すなわち格納する予定のコンピュータ・
データを一時的に「キャッシュ」すなわち格納すること
である。より具体的には、バッファは、コンピュータか
らデータを受け取り、ディスクへのデータの書込みをサ
ポートするためにディスクの適切な機械的位置変更が行
われるまで、そのデータを格納する。各種構成要素の位
置変更が完了すると、データがバッファからディスクに
書き込まれる。
【0009】しかし、重要なのは、データがディスクに
書き込まれてしまうまで待ってから、データ書込みが完
了したことをディスク・ドライブがコンピュータに報告
するわけではない点である。むしろ、ディスク・ドライ
ブは、バッファでデータを受け取った直後にデータ書込
みの完了を報告し、それにより、ディスク・ドライブの
応答時間を大幅に改善している。
書き込まれてしまうまで待ってから、データ書込みが完
了したことをディスク・ドライブがコンピュータに報告
するわけではない点である。むしろ、ディスク・ドライ
ブは、バッファでデータを受け取った直後にデータ書込
みの完了を報告し、それにより、ディスク・ドライブの
応答時間を大幅に改善している。
【0010】コンピュータの読取り要求と同様に、コン
ピュータの書込み要求は、他の操作のために所与の操作
を先取りすることが望ましい状況を引き起こす可能性が
ある。たとえば、典型的な例としては、ディスクへの後
続転送に備えてバッファへのデータ書込み要求を受け取
ると、ディスクからバッファへのデータ先読みを先取り
して、ただちに書込み要求を完了する場合が該当する。
しかし、前述のように、データ先読みの先取りは、今後
犠牲が発生する可能性がないわけではない。
ピュータの書込み要求は、他の操作のために所与の操作
を先取りすることが望ましい状況を引き起こす可能性が
ある。たとえば、典型的な例としては、ディスクへの後
続転送に備えてバッファへのデータ書込み要求を受け取
ると、ディスクからバッファへのデータ先読みを先取り
して、ただちに書込み要求を完了する場合が該当する。
しかし、前述のように、データ先読みの先取りは、今後
犠牲が発生する可能性がないわけではない。
【0011】同様に、バッファからディスクへの書込み
操作中に読取り要求を受け取ると、その読取り要求は書
込み操作が完了するまで延期される。書込み操作の完了
まで読取り要求への対応を遅らせることで、ディスク操
作の割込みの繰返しと、その結果発生する、時間を要す
るディスク・ドライブの入出力構成要素の位置変更の繰
返しが回避される。にもかかわらず、その結果、読取り
要求への対応が残念ながら遅延されてしまう。
操作中に読取り要求を受け取ると、その読取り要求は書
込み操作が完了するまで延期される。書込み操作の完了
まで読取り要求への対応を遅らせることで、ディスク操
作の割込みの繰返しと、その結果発生する、時間を要す
るディスク・ドライブの入出力構成要素の位置変更の繰
返しが回避される。にもかかわらず、その結果、読取り
要求への対応が残念ながら遅延されてしまう。
【0012】
【発明が解決しようとする課題】しかし、本発明が認識
しているように、上記の問題を軽減することは可能であ
る。したがって、本発明の一目的は、バッファへのデー
タ先読みの先取り方針が選択的に確立されるバッファを
備えたコンピュータ用ディスク・ドライブ・システムを
提供することにある。本発明の他の目的は、バッファか
らディスクへの書込み操作中にコンピュータからの読取
り要求を満足することができるバッファを備えたコンピ
ュータ用ディスク・ドライブ・システムを提供すること
にある。本発明の他の目的は、コンピュータからの書込
み要求が存在する場合にバッファへのデータ先読みを続
行できるバッファを備えたコンピュータ用ディスク・ド
ライブ・システムを提供することにある。本発明の他の
目的は、使いやすく費用効果の高いバッファを備えたコ
ンピュータ用ディスク・ドライブ・システムを提供する
ことにある。
しているように、上記の問題を軽減することは可能であ
る。したがって、本発明の一目的は、バッファへのデー
タ先読みの先取り方針が選択的に確立されるバッファを
備えたコンピュータ用ディスク・ドライブ・システムを
提供することにある。本発明の他の目的は、バッファか
らディスクへの書込み操作中にコンピュータからの読取
り要求を満足することができるバッファを備えたコンピ
ュータ用ディスク・ドライブ・システムを提供すること
にある。本発明の他の目的は、コンピュータからの書込
み要求が存在する場合にバッファへのデータ先読みを続
行できるバッファを備えたコンピュータ用ディスク・ド
ライブ・システムを提供することにある。本発明の他の
目的は、使いやすく費用効果の高いバッファを備えたコ
ンピュータ用ディスク・ドライブ・システムを提供する
ことにある。
【0013】
【課題を解決するための手段】システムは、データ・バ
ッファを有するコンピュータ用ディスク・ドライブにお
いてデータ先読み先取り方針を選択的に確立する。この
システムは、ユーザからのデータ要求を受け取って、そ
の要求に対する応答として第一の信号を生成する先取り
方針制御装置を含む。また、このシステムは、ユーザか
らのデータ要求を受け取って、その要求に対する応答と
して第二の信号を生成する非先取り方針制御装置も含
む。
ッファを有するコンピュータ用ディスク・ドライブにお
いてデータ先読み先取り方針を選択的に確立する。この
システムは、ユーザからのデータ要求を受け取って、そ
の要求に対する応答として第一の信号を生成する先取り
方針制御装置を含む。また、このシステムは、ユーザか
らのデータ要求を受け取って、その要求に対する応答と
して第二の信号を生成する非先取り方針制御装置も含
む。
【0014】先取りタイマは、第一の信号を受け取っ
て、それに対する応答として第一のサービス期間を決定
するのに対し、非先取りタイマは、第二の信号を受け取
って、それに対する応答として第二のサービス期間を決
定する。次に、比較器は、第一のサービス期間と第二の
サービス期間との差を表す差分信号を生成し、スイッチ
は、比較器からの差分信号に対する応答としてバッファ
へのデータ先読みを先取りすべきかどうかを判定する。
て、それに対する応答として第一のサービス期間を決定
するのに対し、非先取りタイマは、第二の信号を受け取
って、それに対する応答として第二のサービス期間を決
定する。次に、比較器は、第一のサービス期間と第二の
サービス期間との差を表す差分信号を生成し、スイッチ
は、比較器からの差分信号に対する応答としてバッファ
へのデータ先読みを先取りすべきかどうかを判定する。
【0015】このシステムは、ユーザから受け取ったデ
ータ要求の数を決定するデータ要求カウンタも含むこと
が好ましい。本発明の目的通り、データ要求の数が所定
の数よりも大であるとデータ要求カウンタが判定する
と、比較器が差分信号を生成する。さらに、差分信号の
大きさが所定の大きさよりも大であると、スイッチはバ
ッファへのデータ先読みを先取りすべきかどうかを判定
する。
ータ要求の数を決定するデータ要求カウンタも含むこと
が好ましい。本発明の目的通り、データ要求の数が所定
の数よりも大であるとデータ要求カウンタが判定する
と、比較器が差分信号を生成する。さらに、差分信号の
大きさが所定の大きさよりも大であると、スイッチはバ
ッファへのデータ先読みを先取りすべきかどうかを判定
する。
【0016】本発明の別の態様の方法は、データを求め
る要求に応じてディスク・ドライブからのデータを先行
読込み可能なデータ・バッファを有するコンピュータ用
ディスク・ドライブにおいて、データ先読み先取り方針
を選択的に確立する。この方法は、ユーザから複数のデ
ータ要求を受け取るステップと、各データ要求に対する
応答として、バッファへのデータ先読みを先取りする場
合および先取りしない場合にデータ要求を満足する先取
りサービス期間および非先取りサービス期間をそれぞれ
決定するステップとを含む。次に、この方法は、先取り
サービス期間と非先取りサービス期間との差の総計に基
づいて、バッファへのデータ先読みを先取りすべきかど
うかを判定する。
る要求に応じてディスク・ドライブからのデータを先行
読込み可能なデータ・バッファを有するコンピュータ用
ディスク・ドライブにおいて、データ先読み先取り方針
を選択的に確立する。この方法は、ユーザから複数のデ
ータ要求を受け取るステップと、各データ要求に対する
応答として、バッファへのデータ先読みを先取りする場
合および先取りしない場合にデータ要求を満足する先取
りサービス期間および非先取りサービス期間をそれぞれ
決定するステップとを含む。次に、この方法は、先取り
サービス期間と非先取りサービス期間との差の総計に基
づいて、バッファへのデータ先読みを先取りすべきかど
うかを判定する。
【0017】本発明のさらに別の態様では、コンピュー
タ用データ記憶媒体と、その媒体に関連するデータ・バ
ッファと、その媒体およびデータ・バッファからデータ
を受け取る出力装置との間のデータ転送を管理するため
のシステムを開示する。このシステムは、出力装置から
要求を受け取って出力装置に読取りデータを伝送する読
取りレシーバを含む。さらに、このシステムは、データ
・バッファに関連し、出力装置から書込みデータを受け
取り、その書込みデータをデータ記憶媒体に伝送する書
込みレシーバを含む。しかも、このシステムは、データ
・バッファに読取りデータが収容されているかどうかに
基づいて、バッファから書込みデータを伝送する前に読
取りデータを出力装置に選択的に伝送するスイッチを含
む。
タ用データ記憶媒体と、その媒体に関連するデータ・バ
ッファと、その媒体およびデータ・バッファからデータ
を受け取る出力装置との間のデータ転送を管理するため
のシステムを開示する。このシステムは、出力装置から
要求を受け取って出力装置に読取りデータを伝送する読
取りレシーバを含む。さらに、このシステムは、データ
・バッファに関連し、出力装置から書込みデータを受け
取り、その書込みデータをデータ記憶媒体に伝送する書
込みレシーバを含む。しかも、このシステムは、データ
・バッファに読取りデータが収容されているかどうかに
基づいて、バッファから書込みデータを伝送する前に読
取りデータを出力装置に選択的に伝送するスイッチを含
む。
【0018】本発明のさらに別の態様では、コンピュー
タ用データ記憶媒体と、その媒体に関連するデータ・バ
ッファと、その媒体およびデータ・バッファからデータ
を受け取る出力装置との間のデータ転送を管理するため
の方法を開示する。本発明によれば、この方法は、出力
装置から書込みデータを受け取り、書込みデータをデー
タ記憶媒体に伝送するステップと、出力装置から要求を
受け取って出力装置に読取りデータを伝送するステップ
とを含む。読取りデータがバッファに収容されている場
合には、バッファからデータ記憶媒体に書込みデータを
完全に伝送する前に読取りデータが出力装置に伝送され
る。
タ用データ記憶媒体と、その媒体に関連するデータ・バ
ッファと、その媒体およびデータ・バッファからデータ
を受け取る出力装置との間のデータ転送を管理するため
の方法を開示する。本発明によれば、この方法は、出力
装置から書込みデータを受け取り、書込みデータをデー
タ記憶媒体に伝送するステップと、出力装置から要求を
受け取って出力装置に読取りデータを伝送するステップ
とを含む。読取りデータがバッファに収容されている場
合には、バッファからデータ記憶媒体に書込みデータを
完全に伝送する前に読取りデータが出力装置に伝送され
る。
【0019】本発明の別の態様では、コンピュータ用デ
ータ記憶媒体と、その媒体に関連するデータ・バッファ
と、その媒体およびデータ・バッファからデータを受け
取る出力装置との間のデータ転送を管理するためのシス
テムを開示する。このシステムは、データを求める要求
の前にデータ記憶媒体からバッファにデータを読み込む
先読み手段と、記憶媒体の所定のデータ・トラックに出
力装置からデータを書き込む書込み手段とを含む。さら
に、このシステムは、先読み手段が所定のトラックから
データを読み取っているかどうかを判定する判定手段
と、読み取られているデータが所定のトラックに収容さ
れている場合に判定手段に応じて先読み手段がデータ記
憶媒体からのデータの読取りを続行できるようにする続
行手段とを含む。ディスク・ドライブ制御装置が前述の
各手段を取り入れており、それぞれの手段が適切なハー
ドウェア、ファームウェア、またはソフトウェア構造体
で確立できることが好ましい。
ータ記憶媒体と、その媒体に関連するデータ・バッファ
と、その媒体およびデータ・バッファからデータを受け
取る出力装置との間のデータ転送を管理するためのシス
テムを開示する。このシステムは、データを求める要求
の前にデータ記憶媒体からバッファにデータを読み込む
先読み手段と、記憶媒体の所定のデータ・トラックに出
力装置からデータを書き込む書込み手段とを含む。さら
に、このシステムは、先読み手段が所定のトラックから
データを読み取っているかどうかを判定する判定手段
と、読み取られているデータが所定のトラックに収容さ
れている場合に判定手段に応じて先読み手段がデータ記
憶媒体からのデータの読取りを続行できるようにする続
行手段とを含む。ディスク・ドライブ制御装置が前述の
各手段を取り入れており、それぞれの手段が適切なハー
ドウェア、ファームウェア、またはソフトウェア構造体
で確立できることが好ましい。
【0020】さらに、ディスク・ドライブ制御装置は、
バッファへのデータ読込みを終了するよう先読み手段に
指示する先取り手段を含む。この先取り手段は、先読み
手段が記憶媒体の所定のデータ・トラック以外の場所か
らデータを読み取っている場合に出力装置から所定のト
ラックにデータを書き込むよう書込み手段に指示する。
バッファへのデータ読込みを終了するよう先読み手段に
指示する先取り手段を含む。この先取り手段は、先読み
手段が記憶媒体の所定のデータ・トラック以外の場所か
らデータを読み取っている場合に出力装置から所定のト
ラックにデータを書き込むよう書込み手段に指示する。
【0021】本発明のさらに別の態様では、コンピュー
タ用データ記憶媒体と、その媒体に関連するデータ・バ
ッファと、その媒体およびデータ・バッファからデータ
を受け取る出力装置との間のデータ転送を管理するため
の方法を開示する。この方法は、データを求める要求の
前にデータ記憶媒体からバッファにデータを読み込むス
テップと、要求を受け取って記憶媒体の所定のデータ・
トラックに出力装置からデータを書き込むステップとを
含む。さらに、この方法は、先読み中のデータが所定の
トラックにあるかどうかを判定し、そのトラックにある
場合は、データ記憶媒体からのデータの読取りを続行す
る。
タ用データ記憶媒体と、その媒体に関連するデータ・バ
ッファと、その媒体およびデータ・バッファからデータ
を受け取る出力装置との間のデータ転送を管理するため
の方法を開示する。この方法は、データを求める要求の
前にデータ記憶媒体からバッファにデータを読み込むス
テップと、要求を受け取って記憶媒体の所定のデータ・
トラックに出力装置からデータを書き込むステップとを
含む。さらに、この方法は、先読み中のデータが所定の
トラックにあるかどうかを判定し、そのトラックにある
場合は、データ記憶媒体からのデータの読取りを続行す
る。
【0022】本発明の別の態様では、電子状況を有する
ディスク・ドライブ内のディスク・ドライブ・データ・
バッファでのデータ転送を選択的に可能にするシステム
を開示する。このシステムは、ディスク・ドライブの電
子状況を表す信号を受け取る手段と、その信号に応じて
データ・バッファでのデータ転送を確立する手段とを含
む。
ディスク・ドライブ内のディスク・ドライブ・データ・
バッファでのデータ転送を選択的に可能にするシステム
を開示する。このシステムは、ディスク・ドライブの電
子状況を表す信号を受け取る手段と、その信号に応じて
データ・バッファでのデータ転送を確立する手段とを含
む。
【0023】本発明のさらに別の態様では、電子状況を
有するディスク・ドライブ内のディスク・ドライブ・デ
ータ・バッファでのデータ転送を選択的に可能にするた
めの方法が、ディスク・ドライブの電子状況を表す信号
を受け取るステップと、その信号に応じてデータ・バッ
ファでのデータ転送を確立するステップとを含む。
有するディスク・ドライブ内のディスク・ドライブ・デ
ータ・バッファでのデータ転送を選択的に可能にするた
めの方法が、ディスク・ドライブの電子状況を表す信号
を受け取るステップと、その信号に応じてデータ・バッ
ファでのデータ転送を確立するステップとを含む。
【0024】構造および動作の両方に関する本発明の詳
細は、添付図面を参照すれば最もよく理解できる。ただ
し、添付図面では、同様の構成要素が同様の参照番号で
示されている。
細は、添付図面を参照すれば最もよく理解できる。ただ
し、添付図面では、同様の構成要素が同様の参照番号で
示されている。
【0025】
【発明の実施の形態】まず図1を参照すると、同図に
は、中央演算処理装置(CPU)14を有するコンピュ
ータ12内のデータ転送を管理するためのシステム(全
体を10で示す)が示されている。現時点で好ましい一
実施例では、コンピュータ12はIBMのパーソナル・
コンピュータである。
は、中央演算処理装置(CPU)14を有するコンピュ
ータ12内のデータ転送を管理するためのシステム(全
体を10で示す)が示されている。現時点で好ましい一
実施例では、コンピュータ12はIBMのパーソナル・
コンピュータである。
【0026】図示の通り、コンピュータ12は、コンピ
ュータ用キーボードなどの入出力装置16を含む、周辺
構成要素を含んでいる。また、コンピュータ12はビデ
オ・モニタ18にも関連付けられている。さらに、コン
ピュータ12は、回転式光学または磁気ディスク22と
ソリッド・ステート・データ・バッファ24とを有する
ハード・ディスク・ドライブ20などの、コンピュータ
用電子データ記憶媒体を含んでいる。さらに、ディスク
・ドライブ20は、CPU14と、ディスク22と、バ
ッファ24とのデータ転送を制御するディスク・ドライ
ブ制御装置26を含んでいる。CPU14と、入出力装
置16と、モニタ18とは電気接続されており、CPU
14とディスク制御装置26とは電気接続されている。
また、ディスク22と、データ・バッファ24と、ディ
スク制御装置26も電気接続されている。ある態様で
は、CPU14がディスク・ドライブ20用の入出力装
置になっている。
ュータ用キーボードなどの入出力装置16を含む、周辺
構成要素を含んでいる。また、コンピュータ12はビデ
オ・モニタ18にも関連付けられている。さらに、コン
ピュータ12は、回転式光学または磁気ディスク22と
ソリッド・ステート・データ・バッファ24とを有する
ハード・ディスク・ドライブ20などの、コンピュータ
用電子データ記憶媒体を含んでいる。さらに、ディスク
・ドライブ20は、CPU14と、ディスク22と、バ
ッファ24とのデータ転送を制御するディスク・ドライ
ブ制御装置26を含んでいる。CPU14と、入出力装
置16と、モニタ18とは電気接続されており、CPU
14とディスク制御装置26とは電気接続されている。
また、ディスク22と、データ・バッファ24と、ディ
スク制御装置26も電気接続されている。ある態様で
は、CPU14がディスク・ドライブ20用の入出力装
置になっている。
【0027】図1に示すように、ディスク22は、k、
k+1などの複数のデータ記憶セクタを有する。当技術
分野で周知の原理によれば、各記憶セクタkは、ディス
ク22の多くの同心データ・トラックの1つである。本
発明が意図するように、セクタk+1はセクタkとk+
2との間にあり、セクタk+2はセクタk+1とk+3
との間にあり、以下同様になっている。
k+1などの複数のデータ記憶セクタを有する。当技術
分野で周知の原理によれば、各記憶セクタkは、ディス
ク22の多くの同心データ・トラックの1つである。本
発明が意図するように、セクタk+1はセクタkとk+
2との間にあり、セクタk+2はセクタk+1とk+3
との間にあり、以下同様になっている。
【0028】図1には、データ・バッファ24が読取り
域28と書込み域30とを含むことも示されている。当
技術分野で一般的なように、CPU14によって要求さ
れる可能性のあるディスク22からのデータは、バッフ
ァ24の読取り域28に読み込まれるのに対し、ディス
ク22へのコピーすなわち書込みの対象となるCPU1
4からのデータは、後でディスク22に転送するために
まずバッファ24の書込み域30に受入れすなわちキャ
ッシュすることができる。
域28と書込み域30とを含むことも示されている。当
技術分野で一般的なように、CPU14によって要求さ
れる可能性のあるディスク22からのデータは、バッフ
ァ24の読取り域28に読み込まれるのに対し、ディス
ク22へのコピーすなわち書込みの対象となるCPU1
4からのデータは、後でディスク22に転送するために
まずバッファ24の書込み域30に受入れすなわちキャ
ッシュすることができる。
【0029】当技術分野で周知の原理によれば、CPU
14と、ディスク22と、バッファ24との間のデータ
転送は、ディスク・ドライブ制御装置26によって制御
される。とりわけ、ディスク・ドライブ制御装置26
は、いわゆる「先読み」操作においてCPU14からの
データ要求に先立って、ディスク22からのデータをバ
ッファ24の読取り域28に読み込めるようにする。
14と、ディスク22と、バッファ24との間のデータ
転送は、ディスク・ドライブ制御装置26によって制御
される。とりわけ、ディスク・ドライブ制御装置26
は、いわゆる「先読み」操作においてCPU14からの
データ要求に先立って、ディスク22からのデータをバ
ッファ24の読取り域28に読み込めるようにする。
【0030】本発明の構想通り、ディスク・ドライブ制
御装置26は、バッファ24へのデータ先読みを選択的
に先取りすなわち中断することができる。したがって、
ディスク・ドライブ制御装置26は、ディスク22だけ
に収容されているデータを求める要求を受け取った場合
などに、バッファ24へのデータ先読みの先取りを指示
する先取り方針制御装置32を含んでいる。さらに、デ
ィスク・ドライブ制御装置26は、本来ならば先取り方
針制御装置32によって先取りが許可されるはずの同一
状況下でバッファ24へのデータ先読みの先取りを防止
するための非先取り方針制御装置34を含んでいる。通
常、先取り制御装置32および非先取り方針制御装置3
4はどちらも、ディスク・ドライブ制御装置26内のフ
ァームウェアまたはソフトウェアで実現される。
御装置26は、バッファ24へのデータ先読みを選択的
に先取りすなわち中断することができる。したがって、
ディスク・ドライブ制御装置26は、ディスク22だけ
に収容されているデータを求める要求を受け取った場合
などに、バッファ24へのデータ先読みの先取りを指示
する先取り方針制御装置32を含んでいる。さらに、デ
ィスク・ドライブ制御装置26は、本来ならば先取り方
針制御装置32によって先取りが許可されるはずの同一
状況下でバッファ24へのデータ先読みの先取りを防止
するための非先取り方針制御装置34を含んでいる。通
常、先取り制御装置32および非先取り方針制御装置3
4はどちらも、ディスク・ドライブ制御装置26内のフ
ァームウェアまたはソフトウェアで実現される。
【0031】以下の説明によれば、ディスク・ドライブ
制御装置26は、先取り方針を動的にシフトすることが
できる。つまり、ディスク・ドライブ制御装置26は、
バッファ24へのデータ先読みのために先取り方針また
は非先取り方針のいずれかを選択的に呼び出すことがで
きる。また、ディスク・ドライブ制御装置26は、要求
されたデータがバッファ24の読取り域28に収容され
ている場合に同時にCPU14からのデータ要求に対応
できるようにしながら、ディスク22にキャッシュ・デ
ータを書き込むよう、バッファ24の書込み域30に指
示することができる。さらに、バッファ24の書込み域
30にキャッシュされたデータをディスク22に書き込
む必要がある場合には、ディスク・ドライブ制御装置2
6は、キャッシュ書込みを延期せずに、ディスク22か
らバッファ24の読取り域28へのデータ先読みを選択
的に続行可能にする。
制御装置26は、先取り方針を動的にシフトすることが
できる。つまり、ディスク・ドライブ制御装置26は、
バッファ24へのデータ先読みのために先取り方針また
は非先取り方針のいずれかを選択的に呼び出すことがで
きる。また、ディスク・ドライブ制御装置26は、要求
されたデータがバッファ24の読取り域28に収容され
ている場合に同時にCPU14からのデータ要求に対応
できるようにしながら、ディスク22にキャッシュ・デ
ータを書き込むよう、バッファ24の書込み域30に指
示することができる。さらに、バッファ24の書込み域
30にキャッシュされたデータをディスク22に書き込
む必要がある場合には、ディスク・ドライブ制御装置2
6は、キャッシュ書込みを延期せずに、ディスク22か
らバッファ24の読取り域28へのデータ先読みを選択
的に続行可能にする。
【0032】次に図2を参照すると、同図には、ディス
ク・ドライブ制御装置26の動的先取り方針選択の詳細
が示されている。まず最初に、方針制御装置32、34
のいずれか一方が活動化され、ブロック40に示されて
いるように、ディスク制御装置26が、ここでreads_th
is_interval(この間隔の読取り)、timesaved_this_in
terval(この間隔の時間節約済み)、およびservicetim
es(サービス時間)と呼ばれている所与のプロセス・カ
ウンタをゼロにリセットする。次に、処理はブロック4
2に移行し、そこでCPU14から入出力要求を受け取
る。処理は、ブロック42からブロック44に移行し、
そこでreads_this_intervalカウンタの目盛りが1つ増
加する。
ク・ドライブ制御装置26の動的先取り方針選択の詳細
が示されている。まず最初に、方針制御装置32、34
のいずれか一方が活動化され、ブロック40に示されて
いるように、ディスク制御装置26が、ここでreads_th
is_interval(この間隔の読取り)、timesaved_this_in
terval(この間隔の時間節約済み)、およびservicetim
es(サービス時間)と呼ばれている所与のプロセス・カ
ウンタをゼロにリセットする。次に、処理はブロック4
2に移行し、そこでCPU14から入出力要求を受け取
る。処理は、ブロック42からブロック44に移行し、
そこでreads_this_intervalカウンタの目盛りが1つ増
加する。
【0033】次に、処理はブロック46に移行し、そこ
でディスク制御装置26が入出力要求に対応するために
必要なディスク・ドライブ20のアクションを判定す
る。処理は、ブロック46からブロック48に移行し、
ディスク22またはバッファ24あるいはその両方とC
PU14との間で適切にデータを転送することで要求に
対応する。
でディスク制御装置26が入出力要求に対応するために
必要なディスク・ドライブ20のアクションを判定す
る。処理は、ブロック46からブロック48に移行し、
ディスク22またはバッファ24あるいはその両方とC
PU14との間で適切にデータを転送することで要求に
対応する。
【0034】処理は、ブロック48からブロック50に
移行し、上記の入出力要求に対応するのに必要な処理時
間を決定する。つまり、ブロック50では、活動状態の
方針制御装置32、34が、CPU14の入出力要求に
対応するために必要な実際の処理時間を決定する。次
に、活動状態の方針制御装置は、ブロック50からブロ
ック52に移行し、ブロック50で決定した時間をserv
icetime[active_policy](サービス時間[活動状態方
針])カウンタに追加する。このため、ブロック50、
52は、本質的には活動状態方針タイマを確立するもの
である。
移行し、上記の入出力要求に対応するのに必要な処理時
間を決定する。つまり、ブロック50では、活動状態の
方針制御装置32、34が、CPU14の入出力要求に
対応するために必要な実際の処理時間を決定する。次
に、活動状態の方針制御装置は、ブロック50からブロ
ック52に移行し、ブロック50で決定した時間をserv
icetime[active_policy](サービス時間[活動状態方
針])カウンタに追加する。このため、ブロック50、
52は、本質的には活動状態方針タイマを確立するもの
である。
【0035】ブロック50で処理時間を決定する場合、
活動状態の方針制御装置32、34が処理時間を測定す
るための既知の方法を使用することに留意されたい。た
とえば、活動状態の方針制御装置32、34は、入出力
要求を処理し、活動状態の方針に従ってディスク22で
のデータ転送に関連する各種構成要素を適宜機械的に位
置変更し、入出力操作を完了するための時間を決定す
る。これに対して、バッファ24を使用して入出力要求
を満足することができる場合は、活動状態の方針制御装
置32、34は、ディスク・ドライブ20の構成要素を
機械的に位置変更するのに必要な時間を考慮せずに、要
求に対応するための時間を決定する。別の言い方をする
と、活動状態の方針制御装置32、34は、活動状態の
方針に基づいてディスク・ドライブ20の実際の処理特
性と構造的なデータ転送特性を使用して、要求に対応す
るための時間を測定する。
活動状態の方針制御装置32、34が処理時間を測定す
るための既知の方法を使用することに留意されたい。た
とえば、活動状態の方針制御装置32、34は、入出力
要求を処理し、活動状態の方針に従ってディスク22で
のデータ転送に関連する各種構成要素を適宜機械的に位
置変更し、入出力操作を完了するための時間を決定す
る。これに対して、バッファ24を使用して入出力要求
を満足することができる場合は、活動状態の方針制御装
置32、34は、ディスク・ドライブ20の構成要素を
機械的に位置変更するのに必要な時間を考慮せずに、要
求に対応するための時間を決定する。別の言い方をする
と、活動状態の方針制御装置32、34は、活動状態の
方針に基づいてディスク・ドライブ20の実際の処理特
性と構造的なデータ転送特性を使用して、要求に対応す
るための時間を測定する。
【0036】図2では、処理が出力ブロック48からブ
ロック54に移行し、そこで非活動状態の方針が呼び出
された場合と同様に非活動状態の方針制御装置34、3
2がそのバッファ制御情報を変更することも示してい
る。より具体的には、ブロック54では、非活動状態の
方針制御装置34、32が、非活動状態の方針に従って
入出力要求の処理をシミュレートし、非活動状態の方針
に従ってディスク22でのデータ転送に関連する各種構
成要素を適宜機械的に位置変更することをシミュレート
し、非活動状態の方針に従って入出力操作の完了をシミ
ュレートする。このため、ブロック54では、非活動状
態の方針が呼び出された場合に、非活動状態の方針制御
装置34、32がディスク・ドライブ20のソフトウェ
アおよびハードウェア構成を記録する。
ロック54に移行し、そこで非活動状態の方針が呼び出
された場合と同様に非活動状態の方針制御装置34、3
2がそのバッファ制御情報を変更することも示してい
る。より具体的には、ブロック54では、非活動状態の
方針制御装置34、32が、非活動状態の方針に従って
入出力要求の処理をシミュレートし、非活動状態の方針
に従ってディスク22でのデータ転送に関連する各種構
成要素を適宜機械的に位置変更することをシミュレート
し、非活動状態の方針に従って入出力操作の完了をシミ
ュレートする。このため、ブロック54では、非活動状
態の方針が呼び出された場合に、非活動状態の方針制御
装置34、32がディスク・ドライブ20のソフトウェ
アおよびハードウェア構成を記録する。
【0037】次に、ブロック56では、非活動状態の方
針に基づいてディスク・ドライブ20の処理特性と構造
的なデータ転送特性を使用して、非活動状態の方針制御
装置34、32がブロック54でシミュレートされたア
クションに関連するサービス時間を推定する。ブロック
58では、非活動状態の方針制御装置34、32がブロ
ック56で決定した時間をservicetime[inactive_polic
y](サービス時間[非活動状態の方針])カウンタに追
加する。このため、ブロック54、56、58は、本質
的には非活動状態方針タイマを確立するものである。
針に基づいてディスク・ドライブ20の処理特性と構造
的なデータ転送特性を使用して、非活動状態の方針制御
装置34、32がブロック54でシミュレートされたア
クションに関連するサービス時間を推定する。ブロック
58では、非活動状態の方針制御装置34、32がブロ
ック56で決定した時間をservicetime[inactive_polic
y](サービス時間[非活動状態の方針])カウンタに追
加する。このため、ブロック54、56、58は、本質
的には非活動状態方針タイマを確立するものである。
【0038】処理はブロック52および58から判断ブ
ロック60に移行し、そこでreads_this_intervalのカ
ウントが所定のカウント”N”を超えたかどうかが判定
される。現時点で好ましい一実施例では、”N”は10
0になっている。reads_this_intervalのカウントが”
N”を超えていない場合は、処理はブロック42に戻
る。”N”を超えている場合は、処理はブロック62に
移行する。
ロック60に移行し、そこでreads_this_intervalのカ
ウントが所定のカウント”N”を超えたかどうかが判定
される。現時点で好ましい一実施例では、”N”は10
0になっている。reads_this_intervalのカウントが”
N”を超えていない場合は、処理はブロック42に戻
る。”N”を超えている場合は、処理はブロック62に
移行する。
【0039】ブロック62では、ディスク制御装置26
が、servicetime[preempt_policy](サービス時間[先
取り方針])からservicetime[Nopreempt_policy](サ
ービス時間[非先取り方針])を引くことにより、time
saved_this_intervalの値を求める。したがって、本質
的には、ブロック62は、servicetime[preempt_polic
y]とservicetime[Nopreempt_policy]との差を表す信号
を生成する比較器である。当業者であれば、servicetim
e[Nopreempt_policy]とservicetime[preempt_policy]
が、先取り方針が活動状態か、非活動状態かに応じて適
宜ブロック52および58で決定されたサービス時間カ
ウンタであることが分かるだろう。
が、servicetime[preempt_policy](サービス時間[先
取り方針])からservicetime[Nopreempt_policy](サ
ービス時間[非先取り方針])を引くことにより、time
saved_this_intervalの値を求める。したがって、本質
的には、ブロック62は、servicetime[preempt_polic
y]とservicetime[Nopreempt_policy]との差を表す信号
を生成する比較器である。当業者であれば、servicetim
e[Nopreempt_policy]とservicetime[preempt_policy]
が、先取り方針が活動状態か、非活動状態かに応じて適
宜ブロック52および58で決定されたサービス時間カ
ウンタであることが分かるだろう。
【0040】次に、処理は判断ブロック64に移行し、
そこでtimesaved_this_intervalの大きさすなわち絶対
値が所定の値”C”を超えたかどうかが判定される。ti
mesaved_this_intervalの絶対値が所定の値”C”を超
えていることを先取り方針が活動状態になるための条件
として確保することで、本発明は、応答時間のわずかな
増加による方針の変更を回避する。現時点で好ましい一
実施例では、”C”は100マイクロ秒になっている。
そこでtimesaved_this_intervalの大きさすなわち絶対
値が所定の値”C”を超えたかどうかが判定される。ti
mesaved_this_intervalの絶対値が所定の値”C”を超
えていることを先取り方針が活動状態になるための条件
として確保することで、本発明は、応答時間のわずかな
増加による方針の変更を回避する。現時点で好ましい一
実施例では、”C”は100マイクロ秒になっている。
【0041】timesaved_this_intervalの絶対値が”
C”を超えていない場合は、処理はブロック40に戻
る。”C”を超えている場合は、処理は判断ブロック6
6に移行し、そこでtimesaved_this_intervalが正かど
うかが判定される。正でなければ、処理は判断ブロック
70に移行し、そこで先取り方針が活動状態の方針にな
っているかどうかが判定される。正であれば、処理は判
断ブロック68に移行し、非先取り方針が活動状態の方
針になっているかどうかが判定される。
C”を超えていない場合は、処理はブロック40に戻
る。”C”を超えている場合は、処理は判断ブロック6
6に移行し、そこでtimesaved_this_intervalが正かど
うかが判定される。正でなければ、処理は判断ブロック
70に移行し、そこで先取り方針が活動状態の方針にな
っているかどうかが判定される。正であれば、処理は判
断ブロック68に移行し、非先取り方針が活動状態の方
針になっているかどうかが判定される。
【0042】判断ブロック68または判断ブロック70
で行った判定の結果がNOであれば、処理はブロック4
0に戻る。これに対して、判断ブロック68または判断
ブロック70で行った判定の結果がYESであれば、処
理はブロック72に移行し、そこで非活動状態の先取り
方針が活動化され、活動状態の先取り方針が非活動化さ
れる。したがって、ブロック64〜72は、本質的には
ブロック62で行った判定に応じてディスク22からバ
ッファ24へのデータの先読みを先取りすべきかどうか
を判定するスイッチを確立するものである。処理は、ブ
ロック72からブロック40に戻る。
で行った判定の結果がNOであれば、処理はブロック4
0に戻る。これに対して、判断ブロック68または判断
ブロック70で行った判定の結果がYESであれば、処
理はブロック72に移行し、そこで非活動状態の先取り
方針が活動化され、活動状態の先取り方針が非活動化さ
れる。したがって、ブロック64〜72は、本質的には
ブロック62で行った判定に応じてディスク22からバ
ッファ24へのデータの先読みを先取りすべきかどうか
を判定するスイッチを確立するものである。処理は、ブ
ロック72からブロック40に戻る。
【0043】次に図3を参照すると、同図には、バッフ
ァ24からディスク22への書込みデータの伝送を完了
する前にバッファ24内の読取りデータをCPU14に
選択的に伝送する手段が示されている。ブロック80で
は、CPU14からディスク22にデータを書き込むた
めの要求をディスク・ドライブ制御装置26がCPU1
4から受け取る。ブロック80に示すように、ディスク
22に書き込まれるデータはバッファ24にキャッシュ
される。つまり、ブロック80は、CPU14から要求
を受け取ってCPU14からディスク22にデータを伝
送するレシーバである。
ァ24からディスク22への書込みデータの伝送を完了
する前にバッファ24内の読取りデータをCPU14に
選択的に伝送する手段が示されている。ブロック80で
は、CPU14からディスク22にデータを書き込むた
めの要求をディスク・ドライブ制御装置26がCPU1
4から受け取る。ブロック80に示すように、ディスク
22に書き込まれるデータはバッファ24にキャッシュ
される。つまり、ブロック80は、CPU14から要求
を受け取ってCPU14からディスク22にデータを伝
送するレシーバである。
【0044】次に、ブロック82では、ディスク22に
データを書き込むためにディスク・ドライブ制御装置2
6の適切な構成要素を機械的に位置変更するまで書込み
データがバッファ24にキャッシュされている間に、C
PU14から読取り要求を受け取る。つまり、ブロック
82は、CPU14から要求を受け取ってディスク・ド
ライブ20からCPU14にデータを伝送するレシーバ
である。
データを書き込むためにディスク・ドライブ制御装置2
6の適切な構成要素を機械的に位置変更するまで書込み
データがバッファ24にキャッシュされている間に、C
PU14から読取り要求を受け取る。つまり、ブロック
82は、CPU14から要求を受け取ってディスク・ド
ライブ20からCPU14にデータを伝送するレシーバ
である。
【0045】判断ブロック84では、ディスク・ドライ
ブ制御装置26が、CPU14によって要求されたデー
タがバッファ24に収容されているかどうかを判定す
る。収容されている場合には、ブロック86でバッファ
24からCPU14にデータを即時伝送することで、デ
ィスク・ドライブ制御装置26がCPU14からの読取
り要求に即時対応する。CPU14からの次の要求に応
じて、ディスク・ドライブ制御装置26はブロック86
からブロック80または82のいずれか該当するブロッ
クに戻る。
ブ制御装置26が、CPU14によって要求されたデー
タがバッファ24に収容されているかどうかを判定す
る。収容されている場合には、ブロック86でバッファ
24からCPU14にデータを即時伝送することで、デ
ィスク・ドライブ制御装置26がCPU14からの読取
り要求に即時対応する。CPU14からの次の要求に応
じて、ディスク・ドライブ制御装置26はブロック86
からブロック80または82のいずれか該当するブロッ
クに戻る。
【0046】これに対して、判断ブロック84でCPU
14によって要求されたデータがバッファ24に収容さ
れていないとディスク・ドライブ制御装置26が判定し
た場合には、ディスク・ドライブ制御装置26は判断ブ
ロック88に移行し、キャッシュ書込みが進行中かどう
かを判定する。進行中の場合には、ブロック90でキャ
ッシュ書込みが完了し、ディスク22からCPU14に
要求された読取りデータを伝送することにより、ブロッ
ク92でCPU14からの読取り要求に対する対応が行
われる。進行中ではない場合には、ディスク22からC
PU14にデータを伝送することにより、ブロック92
でCPU14からの読取り要求に対する対応が行われ
る。CPU14からの次の要求に応じて、処理はブロッ
ク92からブロック80または82のいずれか該当する
ブロックに戻る。したがって、ブロック84は、キャッ
シュ書込みが実行されている間にディスク・ドライブ2
0からCPU14に要求された読取りデータを選択的に
伝送するスイッチを確立するものであることに留意され
たい。
14によって要求されたデータがバッファ24に収容さ
れていないとディスク・ドライブ制御装置26が判定し
た場合には、ディスク・ドライブ制御装置26は判断ブ
ロック88に移行し、キャッシュ書込みが進行中かどう
かを判定する。進行中の場合には、ブロック90でキャ
ッシュ書込みが完了し、ディスク22からCPU14に
要求された読取りデータを伝送することにより、ブロッ
ク92でCPU14からの読取り要求に対する対応が行
われる。進行中ではない場合には、ディスク22からC
PU14にデータを伝送することにより、ブロック92
でCPU14からの読取り要求に対する対応が行われ
る。CPU14からの次の要求に応じて、処理はブロッ
ク92からブロック80または82のいずれか該当する
ブロックに戻る。したがって、ブロック84は、キャッ
シュ書込みが実行されている間にディスク・ドライブ2
0からCPU14に要求された読取りデータを選択的に
伝送するスイッチを確立するものであることに留意され
たい。
【0047】上記の開示内容を考慮すれば、図3に示す
処理によって発生する応答時間の増加を理解することが
できる。図1に示すディスク22のデータ・セクタK+
1、K+2、K+3などがバッファ24に先読みされて
いると仮定すると、ディスク22上のデータについて交
互に行われる一連の読取り/書込み要求では、通常、一
対の読取り/書込み当たりディスク22が1回転しなけ
ればならないはずである。これは、読取り要求に対して
ディスク22から対応しなければならず、その結果、既
存のキャッシュ書込みが完了するまでは通常、読取り要
求に対応できないと一般に想定されているためである。
これにより、単一の読取り/書込み要求対への対応に従
って、ディスク・ドライブ20の所与の構成要素を繰返
し機械的に位置変更する必要性が回避される。しかし、
ディスク22から読取り要求に対応する前に書込み要求
を完了するため、ディスク22が完全に1回転するまで
読取り要求への対応が延期される。
処理によって発生する応答時間の増加を理解することが
できる。図1に示すディスク22のデータ・セクタK+
1、K+2、K+3などがバッファ24に先読みされて
いると仮定すると、ディスク22上のデータについて交
互に行われる一連の読取り/書込み要求では、通常、一
対の読取り/書込み当たりディスク22が1回転しなけ
ればならないはずである。これは、読取り要求に対して
ディスク22から対応しなければならず、その結果、既
存のキャッシュ書込みが完了するまでは通常、読取り要
求に対応できないと一般に想定されているためである。
これにより、単一の読取り/書込み要求対への対応に従
って、ディスク・ドライブ20の所与の構成要素を繰返
し機械的に位置変更する必要性が回避される。しかし、
ディスク22から読取り要求に対応する前に書込み要求
を完了するため、ディスク22が完全に1回転するまで
読取り要求への対応が延期される。
【0048】これに対して、図3に開示した本発明で
は、たまたまバッファ24に先読みされてしまったデー
タを求める読取り要求に対して即時対応が行われるのに
対し、ディスク22の目標書込みセクタは、キャッシュ
書込みを完了するための所定の位置に移動する。実際に
は、バッファ24から複数の読取り要求に対して即時対
応可能であり、ディスク22が1回転する間に複数の書
込み要求がバッファ24にキャッシュされる。ディスク
22の適切な目標セクタが所定の位置に移動すると、キ
ャッシュ書込みが完了する。したがって、ディスク22
が約2回転すれば、ディスク22の1つのトラック上に
存在するセクタと同数の読取り/書込み対を完了するこ
とができる。
は、たまたまバッファ24に先読みされてしまったデー
タを求める読取り要求に対して即時対応が行われるのに
対し、ディスク22の目標書込みセクタは、キャッシュ
書込みを完了するための所定の位置に移動する。実際に
は、バッファ24から複数の読取り要求に対して即時対
応可能であり、ディスク22が1回転する間に複数の書
込み要求がバッファ24にキャッシュされる。ディスク
22の適切な目標セクタが所定の位置に移動すると、キ
ャッシュ書込みが完了する。したがって、ディスク22
が約2回転すれば、ディスク22の1つのトラック上に
存在するセクタと同数の読取り/書込み対を完了するこ
とができる。
【0049】図4は、キャッシュ書込みが存在する場合
にディスク22からバッファ24へのデータ先読みの続
行を可能にする手段を示している。ブロック100に示
すように、バッファ24内のデータを使用してCPU1
4からの読取り要求に対応する場合にディスク・ドライ
ブ制御装置26がその対応に失敗すると、ディスク22
からバッファ24へのデータの先読みが行われる。次
に、ブロック102では、ディスク22にデータを書き
込むための要求をCPU14から受け取る。このような
要求では、通常、ブロック100で開始した先読み操作
の先取りが必要になると思われる。しかし、図4に示
し、後述するように、ブロック100で開始した先読み
は必ずしも先取りされるわけではない。
にディスク22からバッファ24へのデータ先読みの続
行を可能にする手段を示している。ブロック100に示
すように、バッファ24内のデータを使用してCPU1
4からの読取り要求に対応する場合にディスク・ドライ
ブ制御装置26がその対応に失敗すると、ディスク22
からバッファ24へのデータの先読みが行われる。次
に、ブロック102では、ディスク22にデータを書き
込むための要求をCPU14から受け取る。このような
要求では、通常、ブロック100で開始した先読み操作
の先取りが必要になると思われる。しかし、図4に示
し、後述するように、ブロック100で開始した先読み
は必ずしも先取りされるわけではない。
【0050】判断ブロック104に示すように、本発明
は、先読み操作が進行中かどうかを判定する。進行中で
はない場合、書込み要求に対応するためにディスク・ド
ライブ制御装置26はブロック106に移行し、適宜、
ブロック100または102に戻る。進行中の場合に
は、ディスク・ドライブ制御装置26は判断ブロック1
08に移行し、そこで、制御装置26がデータの書込み
先であると判定したディスク22の目標セクタのトラッ
クが、現在、バッファ24に先読み中のデータを収容し
ている同一トラックであるかどうかを制御装置26が判
定する。
は、先読み操作が進行中かどうかを判定する。進行中で
はない場合、書込み要求に対応するためにディスク・ド
ライブ制御装置26はブロック106に移行し、適宜、
ブロック100または102に戻る。進行中の場合に
は、ディスク・ドライブ制御装置26は判断ブロック1
08に移行し、そこで、制御装置26がデータの書込み
先であると判定したディスク22の目標セクタのトラッ
クが、現在、バッファ24に先読み中のデータを収容し
ている同一トラックであるかどうかを制御装置26が判
定する。
【0051】ブロック108の判定結果がNOであれ
ば、ディスク・ドライブ制御装置26はブロック110
に移行して先読みを終了してから、ブロック106で書
込み要求に対応する。これに対して、ブロック108の
判定結果がYESであれば、ディスク・ドライブ制御装
置26はブロック112に移行して先読みを続行する。
ば、ディスク・ドライブ制御装置26はブロック110
に移行して先読みを終了してから、ブロック106で書
込み要求に対応する。これに対して、ブロック108の
判定結果がYESであれば、ディスク・ドライブ制御装
置26はブロック112に移行して先読みを続行する。
【0052】制御装置26は、定期的にブロック112
から判断ブロック114に移行して、バッファ24から
のキャッシュ書込みを完了するためにディスク22の目
標書込みセクタが所定の位置にあるかどうかを判定す
る。所定の位置にない場合、制御装置26はブロック1
12にループバックし、先読み操作を続行する。しか
し、キャッシュ書込みを完了するために目標書込みセク
タが所定の位置に置かれると、制御装置26はブロック
110に移行して先読みを終了してから、ブロック10
6に移行してキャッシュ書込みを完了する。
から判断ブロック114に移行して、バッファ24から
のキャッシュ書込みを完了するためにディスク22の目
標書込みセクタが所定の位置にあるかどうかを判定す
る。所定の位置にない場合、制御装置26はブロック1
12にループバックし、先読み操作を続行する。しか
し、キャッシュ書込みを完了するために目標書込みセク
タが所定の位置に置かれると、制御装置26はブロック
110に移行して先読みを終了してから、ブロック10
6に移行してキャッシュ書込みを完了する。
【0053】したがって、実行中のデータ先読みの読取
り元であるトラックとは異なるディスク22上のトラッ
クに書込みデータを書き込む場合のみ、キャッシュ書込
みが存在すると制御装置26が先読み操作を先取りす
る。その結果、所与の状況下でデータ先読みを続行する
ことができ、それにより、本来なら望ましいデータ先読
み操作の先取りが必要になりそうな状況でも、ディスク
・ドライブ20の効率化を図ることができる。それによ
り、今後CPU14から行われる読取り要求に対してデ
ィスク22ではなくバッファ24から対応できる可能性
が高まり、ディスク・ドライブ20の応答時間が大幅に
改善される。
り元であるトラックとは異なるディスク22上のトラッ
クに書込みデータを書き込む場合のみ、キャッシュ書込
みが存在すると制御装置26が先読み操作を先取りす
る。その結果、所与の状況下でデータ先読みを続行する
ことができ、それにより、本来なら望ましいデータ先読
み操作の先取りが必要になりそうな状況でも、ディスク
・ドライブ20の効率化を図ることができる。それによ
り、今後CPU14から行われる読取り要求に対してデ
ィスク22ではなくバッファ24から対応できる可能性
が高まり、ディスク・ドライブ20の応答時間が大幅に
改善される。
【0054】ここに図示し詳述したコンピュータ用ハー
ド・ディスク・ドライブのための特定の方法および装置
は前述の本発明の諸目的を完全に達成できるものである
が、それは好ましい実施例の1つを例示するにすぎず、
当業者には明白な他の実施例が存在する可能性があり、
そのため、本発明の範囲は本明細書の特許請求の範囲以
外の何物にも一切制限されないことに留意されたい。
ド・ディスク・ドライブのための特定の方法および装置
は前述の本発明の諸目的を完全に達成できるものである
が、それは好ましい実施例の1つを例示するにすぎず、
当業者には明白な他の実施例が存在する可能性があり、
そのため、本発明の範囲は本明細書の特許請求の範囲以
外の何物にも一切制限されないことに留意されたい。
【0055】
【発明の効果】本発明によれば、バッファへのデータ先
読みの先取り方針が選択的に確立されるバッファを備え
たコンピュータ用ディスク・ドライブ・システムが提供
される。また、バッファからディスクへの書込み操作中
にコンピュータからの読取り要求を満足することができ
るバッファを備えたコンピュータ用ディスク・ドライブ
・システムが提供される。また、コンピュータからの書
込み要求が存在する場合にバッファへのデータ先読みを
続行できるバッファを備えたコンピュータ用ディスク・
ドライブ・システムが提供される。さらには、使いやす
く費用効果の高いバッファを備えたコンピュータ用ディ
スク・ドライブ・システムが提供される。
読みの先取り方針が選択的に確立されるバッファを備え
たコンピュータ用ディスク・ドライブ・システムが提供
される。また、バッファからディスクへの書込み操作中
にコンピュータからの読取り要求を満足することができ
るバッファを備えたコンピュータ用ディスク・ドライブ
・システムが提供される。また、コンピュータからの書
込み要求が存在する場合にバッファへのデータ先読みを
続行できるバッファを備えたコンピュータ用ディスク・
ドライブ・システムが提供される。さらには、使いやす
く費用効果の高いバッファを備えたコンピュータ用ディ
スク・ドライブ・システムが提供される。
【図1】本発明のコンピュータ用ディスク・ドライブの
バッファ管理システムの概略図である。
バッファ管理システムの概略図である。
【図2】本発明の動的先取り方針制御装置の流れ図であ
る。
る。
【図3】キャッシュ書込み時に並行読取りを可能にする
ための本発明のシステムの流れ図である。
ための本発明のシステムの流れ図である。
【図4】書込みコマンドが存在する場合にバッファ先読
みを可能にするための本発明のシステムを示す流れ図で
ある。
みを可能にするための本発明のシステムを示す流れ図で
ある。
10 データ転送管理システム 12 コンピュータ 14 中央演算処理装置(CPU) 16 入出力装置 18 ビデオ・モニタ 20 ハード・ディスク・ドライブ 22 回転式光学または磁気ディスク 24 固体データ・バッファ 26 ディスク・ドライブ制御装置 28 読取り域 30 書込み域 32 先取り方針制御装置 34 非先取り方針制御装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョナサン・マーヴ・ハスウェル イギリス50515エヌ ハーツ イースト リーシュ リーシュ・ロード チェリ ー・ツリー・コート 29 (72)発明者 スペンサー・ワー=フン・ング アメリカ合衆国95120 カリフォルニア 州サンノゼ ハンプスウッド・ウェイ 974 (72)発明者 山口 眞理夫 神奈川県横浜市泉区緑園 4−2−1 6−1007 (56)参考文献 特開 平2−227754(JP,A) 特開 平5−274089(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06 302 G06F 3/06 301
Claims (21)
- 【請求項1】コンピュータ用データ記憶媒体と、その媒
体に関連するデータ・バッファと、その媒体およびデー
タ・バッファからデータを受け取る出力装置との間のデ
ータ転送を管理するためのシステムにおいて、 出力装置から要求を受け取って出力装置に読取りデータ
を伝送する読取りレシーバと、 データ・バッファに関連し、出力装置から書込みデータ
を受け取り、データ記憶媒体に書込みデータを伝送する
書込みレシーバと、 読取りデータがバッファに収容されているかどうかに基
づいて、バッファからデータ記憶媒体に書込みデータを
伝送する前に読取りデータを選択的に出力装置に伝送す
るスイッチと、 データを求める要求の前に、媒体からバッファにデータ
を読み込む先読み手段と、 記憶媒体の所定のデータ・トラックにバッファからデー
タを書き込む書込み手段と、 先読み手段が所定のトラックからデータを読み取ってい
るかどうかを判定する判定手段と、 判定手段に応答する続行手段であって、読取り中のデー
タが所定のトラックに収容されている場合に、先読み手
段がデータ記憶媒体からのデータの読取りを続行できる
ようにする続行手段とを含むことを特徴とするシステ
ム。 - 【請求項2】先読み手段が所定のトラック以外の場所か
らデータを読み取っている場合に、バッファへのデータ
の読込みを終了するよう先読み手段に指示し、バッファ
から記憶媒体内の所定のデータ・トラックにデータを書
き込むよう書込み手段に指示する先取り手段をさらに含
むことを特徴とする、請求項1に記載のシステム。 - 【請求項3】所定のセクタが書込み手段と並置されてい
る場合に、書込み手段が記憶媒体の所定のセクタ内の所
定のデータ・トラックにデータを書き込み、先取り手段
が、バッファへのデータの読込みを終了するよう先読み
手段に指示し、所定のデータ・トラックにデータを書き
込むよう書込み手段に指示することを特徴とする、請求
項2に記載のシステム。 - 【請求項4】データ記憶媒体と、 データ・バッファと、 その媒体およびデータ・バッファからデータを受け取る
出力装置とを含むコンピュータと、 出力装置から要求を受け取って出力装置に読取りデータ
を伝送する読取りレシーバと、 データ・バッファに関連し、出力装置から書込みデータ
を受け取り、データ記憶媒体に書込みデータを伝送する
書込みレシーバと、 読取りデータがバッファに収容されているかどうかに基
づいて、バッファからデータ記憶媒体への書込みデータ
の伝送を完了する前に読取りデータを選択的に出力装置
に伝送するスイッチと、 データを求める要求の前に、媒体からバッファにデータ
を読み込む先読み手段と、 記憶媒体の所定のデータ・トラックにバッファからデー
タを書き込む書込み手段と、 先読み手段が所定のトラックからデータを読み取ってい
るかどうかを判定する判定手段と、 判定手段に応答する続行手段であって、読取り中のデー
タが所定のトラックに収容されている場合に、先読み手
段がデータ記憶媒体からのデータの読取りを続行できる
ようにする続行手段とを含むことを特徴とするシステ
ム。 - 【請求項5】先読み手段が所定のトラック以外の場所か
らデータを読み取っている場合に、バッファへのデータ
の読込みを終了するよう先読み手段に指示し、バッファ
から記憶媒体内の所定のデータ・トラックにデータを書
き込むよう書込み手段に指示する先取り手段をさらに含
むことを特徴とする、請求項4に記載のシステム。 - 【請求項6】所定のセクタが書込み手段と並置されてい
る場合に、書込み手段が記憶媒体の所定のセクタ内の所
定のデータ・トラックにデータを書き込み、先取り手段
が、バッファへのデータの読込みを終了するよう先読み
手段に指示し、所定のデータ・トラックにデータを書き
込むよう書込み手段に指示することを特徴とする、請求
項5に記載のシステム。 - 【請求項7】コンピュータ用データ記憶媒体と、その媒
体に関連するデータ・バッファと、その媒体およびデー
タ・バッファからデータを受け取る出力装置との間のデ
ータ転送を管理するための方法において、 (a)出力装置から要求を受け取って出力装置に読取り
データを伝送するステップと、 (b)出力装置から書込みデータを受け取り、データ記
憶媒体に書込みデータを伝送するステップと、 (c)読取りデータがバッファに収容されている場合
に、バッファからデータ記憶媒体に書込みデータを完全
に伝送する前に読取りデータを出力装置に伝送するステ
ップと、 (d)読取りデータがバッファに収容されていない場合
に、データ記憶媒体から出力装置に読取りデータを伝送
する前にバッファからデータ記憶媒体に書込みデータを
伝送するステップと、 (e)データを求める要求の前に、データ記憶媒体から
バッファにデータを読み込むステップと、 (f)記憶媒体の所定のデータ・トラックにバッファか
らデータを書き込むステップと、 (g)先読み手段が所定のトラックからデータを読み取
っているかどうかを判定するステップと、 (h)読取り中のデータが所定のトラックに収容されて
いる場合に、先読み手段がデータ記憶媒体からのデータ
の読取りを続行できるようにするステップとを含むこと
を特徴とする方法。 - 【請求項8】先読み手段が所定のトラック以外の場所か
らデータを読み取っている場合に、バッファへのデータ
の読込みを終了するよう先読み手段に指示し、バッファ
から記憶媒体内の所定のデータ・トラックにデータを書
き込むよう書込み手段に指示するステップをさらに含む
ことを特徴とする、請求項7に記載の方法。 - 【請求項9】コンピュータ用データ記憶媒体と、その媒
体に関連するデータ・バッファと、その媒体およびデー
タ・バッファからデータを受け取る出力装置との間のデ
ータ転送を管理するためのシステムにおいて、 データを求める要求の前に、データ記憶媒体からバッフ
ァにデータを読み込む先読み手段と、 記憶媒体の所定のデータ・トラックに出力装置からデー
タを書き込む書込み手段と、 先読み手段が所定のトラックからデータを読み取ってい
るかどうかを判定する判定手段と、 判定手段に応答する続行手段であって、読取り中のデー
タが所定のトラックに収容されている場合に、先読み手
段がデータ記憶媒体からのデータの読取りを続行できる
ようにする続行手段とを含むシステム。 - 【請求項10】先読み手段が所定のトラック以外の場所
からデータを読み取っている場合に、バッファへのデー
タの読込みを終了するよう先読み手段に指示し、バッフ
ァから記憶媒体内の所定のデータ・トラックにデータを
書き込むよう書込み手段に指示する先取り手段をさらに
含むことを特徴とする、請求項9に記載のシステム。 - 【請求項11】所定のセクタが書込み手段と並置されて
いる場合に、書込み手段が記憶媒体の所定のセクタ内の
所定のデータ・トラックにデータを書き込み、先取り手
段が、バッファへのデータの読込みを終了するよう先読
み手段に指示し、バッファから所定のデータ・トラック
にデータを書き込むよう書込み手段に指示することを特
徴とする、請求項10に記載のシステム。 - 【請求項12】出力装置から要求を受け取って出力装置
に読取りデータを伝送する読取りレシーバと、 データ・バッファに関連し、出力装置から書込みデータ
を受け取り、データ記憶媒体に書込みデータを伝送する
書込みレシーバと、 読取りデータがバッファに収容されているかどうかに基
づいて、バッファからデータ記憶媒体に書込みデータを
伝送する前に読取りデータを選択的に出力装置に伝送す
るスイッチとをさらに含むことを特徴とする、請求項1
1に記載のシステム。 - 【請求項13】読取りデータがバッファに収容されてい
る場合に、データ記憶媒体に書込みデータを伝送する前
にスイッチが読取りデータを出力装置に伝送することを
特徴とする、請求項12に記載のシステム。 - 【請求項14】データ記憶媒体と、その媒体に関連する
データ・バッファと、その媒体およびデータ・バッファ
からデータを受け取る出力装置とを含むコンピュータ
と、 データを求める要求の前に、データ記憶媒体からバッフ
ァにデータを読み込む先読み手段と、 記憶媒体の所定のデータ・トラックに出力装置からデー
タを書き込む書込み手段と、 先読み手段が所定のトラックからデータを読み取ってい
るかどうかを判定する判定手段と、 判定手段に応答する続行手段であって、読取り中のデー
タが所定のトラックに収容されている場合に、先読み手
段がデータ記憶媒体からのデータの読取りを続行できる
ようにする続行手段とを含む、データ転送を管理するた
めのシステム。 - 【請求項15】先読み手段が所定のトラック以外の場所
からデータを読み取っている場合に、バッファへのデー
タの読込みを終了するよう先読み手段に指示し、記憶媒
体内の所定のデータ・トラックにデータを書き込むよう
書込み手段に指示する先取り手段をさらに含むことを特
徴とする、請求項14に記載のシステム。 - 【請求項16】所定のセクタが書込み手段と並置されて
いる場合に、書込み手段が記憶媒体の所定のセクタ内の
所定のデータ・トラックにデータを書き込み、先取り手
段が、バッファへのデータの読込みを終了するよう先読
み手段に指示し、所定のデータ・トラックにデータを書
き込むよう書込み手段に指示することを特徴とする、請
求項15に記載のシステム。 - 【請求項17】出力装置から要求を受け取って出力装置
に読取りデータを伝送する読取りレシーバと、 データ・バッファに関連し、出力装置から書込みデータ
を受け取り、データ記憶媒体に書込みデータを伝送する
書込みレシーバと、 読取りデータがバッファに収容されているかどうかに基
づいて、バッファからデータ記憶媒体に書込みデータを
伝送する前に読取りデータを選択的に出力装置に伝送す
るスイッチとをさらに含むことを特徴とする、請求項1
6に記載のシステム。 - 【請求項18】読取りデータがバッファに収容されてい
る場合に、データ記憶媒体に書込みデータを伝送する前
にスイッチが読取りデータを出力装置に伝送することを
特徴とする、請求項17に記載のシステム。 - 【請求項19】コンピュータ用データ記憶媒体と、その
媒体に関連するデータ・バッファと、その媒体およびデ
ータ・バッファからデータを受け取る出力装置との間の
データ転送を管理するための方法において、 (a)データを求める要求の前に、データ記憶媒体から
バッファにデータを読み込むステップと、 (b)要求を受け取って記憶媒体の所定のデータ・トラ
ックに出力装置からデータを書き込むステップと、 (c)先読み中のデータが所定のトラックにあるかどう
かを判定するステップと、 (d)読取り中のデータが所定のトラックに収容されて
いる場合に、データ記憶媒体からのデータの読取りを続
行するステップとを含む方法。 - 【請求項20】(e)読取り中のデータが所定のトラッ
ク以外の場所からのものである場合に、バッファへのデ
ータの読込みを終了し、出力装置から記憶媒体内の所定
のデータ・トラックにデータを書き込むステップをさら
に含むことを特徴とする、請求項19に記載の方法。 - 【請求項21】(f)出力装置から要求を受け取って出
力装置に読取りデータを伝送するステップと、 (g)出力装置から書込みデータを受け取り、データ記
憶媒体に書込みデータを伝送するステップと、 (h)読取りデータがバッファに収容されている場合
に、バッファからデータ記憶媒体に書込みデータを完全
に伝送する前に読取りデータを出力装置に伝送するステ
ップとをさらに含むことを特徴とする、請求項20に記
載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/259,531 US5566317A (en) | 1994-06-14 | 1994-06-14 | Method and apparatus for computer disk drive management |
US259531 | 1994-06-14 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07113413A Division JP3137554B2 (ja) | 1994-06-14 | 1995-05-11 | データ転送/管理システム及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11288358A JPH11288358A (ja) | 1999-10-19 |
JP3254429B2 true JP3254429B2 (ja) | 2002-02-04 |
Family
ID=22985331
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07113413A Expired - Fee Related JP3137554B2 (ja) | 1994-06-14 | 1995-05-11 | データ転送/管理システム及び方法 |
JP00560999A Expired - Fee Related JP3254429B2 (ja) | 1994-06-14 | 1999-01-12 | データ転送/管理システム及び方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07113413A Expired - Fee Related JP3137554B2 (ja) | 1994-06-14 | 1995-05-11 | データ転送/管理システム及び方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US5566317A (ja) |
EP (1) | EP0687978A3 (ja) |
JP (2) | JP3137554B2 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3586887B2 (ja) * | 1994-06-10 | 2004-11-10 | 松下電器産業株式会社 | 情報記録再生装置およびデータキャッシュ方法 |
US6076150A (en) * | 1995-08-10 | 2000-06-13 | Lsi Logic Corporation | Cache controller with improved instruction and data forwarding during refill operation |
US5680640A (en) * | 1995-09-01 | 1997-10-21 | Emc Corporation | System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state |
US5790813A (en) * | 1996-01-05 | 1998-08-04 | Unisys Corporation | Pre-arbitration system allowing look-around and bypass for significant operations |
US5860117A (en) * | 1996-05-31 | 1999-01-12 | Sun Microsystems, Inc. | Apparatus and method to improve primary memory latencies using an eviction buffer to store write requests |
JP2919376B2 (ja) * | 1996-08-23 | 1999-07-12 | 日本電気アイシーマイコンシステム株式会社 | 読出し専用記憶媒体の読出し方法 |
US6029226A (en) * | 1996-09-30 | 2000-02-22 | Lsi Logic Corporation | Method and apparatus having automated write data transfer with optional skip by processing two write commands as a single write command |
US6128712A (en) * | 1997-01-31 | 2000-10-03 | Macromedia, Inc. | Method and apparatus for improving playback of interactive multimedia works |
US6092158A (en) * | 1997-06-13 | 2000-07-18 | Intel Corporation | Method and apparatus for arbitrating between command streams |
US6442647B1 (en) | 1998-08-21 | 2002-08-27 | International Business Machines Corporation | Method and apparatus for utilization of plural commands to improve read response times of data from a disk track |
US6389488B1 (en) | 1999-01-28 | 2002-05-14 | Advanced Micro Devices, Inc. | Read ahead buffer for read accesses to system memory by input/output devices with buffer valid indication |
US6339811B1 (en) * | 1999-04-21 | 2002-01-15 | Seagate Technologh Llc | Rotationally optimized seek initiation |
DE19983963T1 (de) * | 1999-06-24 | 2002-06-27 | Seagate Technology Llc | Suchakustikreduktion mit minimierter Beeinträchtigung der Performance |
US6557058B1 (en) | 1999-12-01 | 2003-04-29 | Iomega Corporation | Method and apparatus of sustained sequential data transfer in a media drive |
US7120832B2 (en) * | 2001-09-27 | 2006-10-10 | Hewlett-Packard Development Company, L.P. | Storage device performance monitor |
US6836453B2 (en) | 2002-01-16 | 2004-12-28 | International Business Machines Corporation | Re-read of data read prior to read inhibit for data recovery and validation in a sampled position data storage device |
JP4439384B2 (ja) * | 2004-12-03 | 2010-03-24 | 株式会社ソニー・コンピュータエンタテインメント | バッファリング装置およびメモリ装置の利用方法 |
JP4439385B2 (ja) * | 2004-12-03 | 2010-03-24 | 株式会社ソニー・コンピュータエンタテインメント | バッファリング装置およびバッファリング方法 |
JP4451837B2 (ja) * | 2004-12-10 | 2010-04-14 | 富士通株式会社 | データ転送装置およびデータ転送方法 |
US20060129714A1 (en) * | 2004-12-10 | 2006-06-15 | Fujitsu Limited | Method and apparatus for transferring data |
US20060174067A1 (en) * | 2005-02-03 | 2006-08-03 | Craig Soules | Method of caching data |
US7577774B2 (en) * | 2005-05-13 | 2009-08-18 | Texas Instruments Incorporated | Independent source read and destination write enhanced DMA |
US8271968B2 (en) * | 2006-12-12 | 2012-09-18 | Dell Products L.P. | System and method for transparent hard disk drive update |
US20170052736A1 (en) * | 2014-05-23 | 2017-02-23 | Hewlett Packard Enterprise Development Lp | Read ahead buffer processing |
US10534417B1 (en) | 2015-03-10 | 2020-01-14 | Amazon Technologies, Inc. | Mass storage device electrical power consumption monitoring |
US11118141B2 (en) | 2018-12-21 | 2021-09-14 | Henkel IP & Holding GmbH | Use of alkoxylated polyamines to control rheology of unit dose detergent compositions |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4707781A (en) * | 1979-01-09 | 1987-11-17 | Chopp Computer Corp. | Shared memory computer method and apparatus |
US4561051A (en) * | 1984-02-10 | 1985-12-24 | Prime Computer, Inc. | Memory access method and apparatus in multiple processor systems |
US4991080A (en) * | 1986-03-13 | 1991-02-05 | International Business Machines Corporation | Pipeline processing apparatus for executing instructions in three streams, including branch stream pre-execution processor for pre-executing conditional branch instructions |
US5136692A (en) * | 1987-02-13 | 1992-08-04 | International Business Machines Corporation | Memory disk buffer manager |
US4908825A (en) * | 1988-04-08 | 1990-03-13 | Northern Telecom Limited | Memory organization and output sequencer for a signal processor |
WO1990000284A1 (en) * | 1988-06-30 | 1990-01-11 | Wang Laboratories, Inc. | Memory control unit |
US5142670A (en) * | 1988-07-26 | 1992-08-25 | International Business Machines Corporation | Method and apparatus for calculating disk-access footprints for use in selecting a storage management method |
US5253351A (en) * | 1988-08-11 | 1993-10-12 | Hitachi, Ltd. | Memory controller with a cache memory and control method of cache memory including steps of determining memory access threshold values |
US5053945A (en) * | 1988-10-06 | 1991-10-01 | Alphatronix | System and method for performing a multi-file transfer operation |
US5179679A (en) * | 1989-04-07 | 1993-01-12 | Shoemaker Kenneth D | Apparatus and method for permitting reading of data from an external memory when data is stored in a write buffer in the event of a cache read miss |
US5146578A (en) * | 1989-05-01 | 1992-09-08 | Zenith Data Systems Corporation | Method of varying the amount of data prefetched to a cache memory in dependence on the history of data requests |
US5133060A (en) * | 1989-06-05 | 1992-07-21 | Compuadd Corporation | Disk controller includes cache memory and a local processor which limits data transfers from memory to cache in accordance with a maximum look ahead parameter |
US5450564A (en) * | 1990-05-04 | 1995-09-12 | Unisys Corporation | Method and apparatus for cache memory access with separate fetch and store queues |
US5553268A (en) * | 1991-06-14 | 1996-09-03 | Integrated Device Technology, Inc. | Memory operations priority scheme for microprocessors |
US5353426A (en) * | 1992-04-29 | 1994-10-04 | Sun Microsystems, Inc. | Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete |
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 |
US5361391A (en) * | 1992-06-22 | 1994-11-01 | Sun Microsystems, Inc. | Intelligent cache memory and prefetch method based on CPU data fetching characteristics |
US5381528A (en) * | 1992-10-15 | 1995-01-10 | Maxtor Corporation | Demand allocation of read/write buffer partitions favoring sequential read cache |
US5434993A (en) * | 1992-11-09 | 1995-07-18 | Sun Microsystems, Inc. | Methods and apparatus for creating a pending write-back controller for a cache controller on a packet switched memory bus employing dual directories |
-
1994
- 1994-06-14 US US08/259,531 patent/US5566317A/en not_active Expired - Fee Related
-
1995
- 1995-05-02 EP EP95106586A patent/EP0687978A3/en not_active Withdrawn
- 1995-05-11 JP JP07113413A patent/JP3137554B2/ja not_active Expired - Fee Related
-
1996
- 1996-04-03 US US08/626,100 patent/US5765189A/en not_active Expired - Fee Related
-
1999
- 1999-01-12 JP JP00560999A patent/JP3254429B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0687978A2 (en) | 1995-12-20 |
EP0687978A3 (en) | 1996-07-17 |
US5566317A (en) | 1996-10-15 |
JPH0844497A (ja) | 1996-02-16 |
JPH11288358A (ja) | 1999-10-19 |
US5765189A (en) | 1998-06-09 |
JP3137554B2 (ja) | 2001-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3254429B2 (ja) | データ転送/管理システム及び方法 | |
US6381677B1 (en) | Method and system for staging data into cache | |
JP3183993B2 (ja) | ディスク制御システム | |
US20080016273A1 (en) | System And Method To Reduce Disk Access Time During Predictable Loading Sequences | |
US4972364A (en) | Memory disk accessing apparatus | |
JP3586887B2 (ja) | 情報記録再生装置およびデータキャッシュ方法 | |
US6038619A (en) | Disk drive initiated data transfers responsive to sequential or near sequential read or write requests | |
US5426761A (en) | Cache DASD sequential staging and method | |
JP3087429B2 (ja) | 記憶装置システム | |
US20030177314A1 (en) | Device / host coordinated prefetching storage system | |
JP2001125829A (ja) | コントローラ装置、ディスクコントローラ、補助記憶装置、コンピュータ装置、および補助記憶装置の制御方法 | |
US4310882A (en) | DAS Device command execution sequence | |
US5617380A (en) | Apparatus and method for drive management for multi-pass storage devices | |
JP3566319B2 (ja) | 情報記憶装置 | |
US6957300B2 (en) | Reducing delay of command completion due to overlap condition | |
JPH0944315A (ja) | 記憶装置及びその方法 | |
JP3122702B2 (ja) | ディスク装置のライトバック制御方法 | |
JPH1011337A (ja) | 記憶装置におけるデータ制御方法 | |
JPH04311216A (ja) | 外部記憶制御装置 | |
JPH1027069A (ja) | 記憶装置 | |
EP0278471B1 (en) | Data processing method and system for accessing rotating storage means | |
JP2811678B2 (ja) | キャッシュメモリ付データ処理装置 | |
TW200529194A (en) | Storage performance improvement using data replication on a disk | |
JP2973474B2 (ja) | 光磁気ディスク装置 | |
JPH09305330A (ja) | ディスクアレイ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |