JPH07219848A - キャッシュ制御システム - Google Patents
キャッシュ制御システムInfo
- Publication number
- JPH07219848A JPH07219848A JP6286903A JP28690394A JPH07219848A JP H07219848 A JPH07219848 A JP H07219848A JP 6286903 A JP6286903 A JP 6286903A JP 28690394 A JP28690394 A JP 28690394A JP H07219848 A JPH07219848 A JP H07219848A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- sector
- data
- storage element
- read
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)【要約】
【目的】 移動式に実装される記憶素子を有するデータ
記憶装置の電力消費を低減するキャッシュ制御システム
を提供する。 【構成】 磁気ディスクまたは光ディスクなどの移動式
に実装される記憶素子及びソリッド・ステート・キャッ
シュ・メモリ106を有するデータ記憶装置110にお
いて使用されるキャッシュ制御システム108が開示さ
れる。このデータ記憶装置110では、データ・アクセ
スが所定時間期間内に発生しなかった場合、記憶素子は
動作速度に至らない。キャッシュ制御システム108
は、読出しまたは書込み要求がキャッシュ・メモリへの
アクセスを介して満足されない場合に、記憶素子上に記
憶されるデータをアクセスするように構成される手段
と、キャッシュ・メモリと記憶素子との間のデータの一
貫性を維持するために、それらの間でデータを転送する
ためのキャッシュ置換機構とを含む。
記憶装置の電力消費を低減するキャッシュ制御システム
を提供する。 【構成】 磁気ディスクまたは光ディスクなどの移動式
に実装される記憶素子及びソリッド・ステート・キャッ
シュ・メモリ106を有するデータ記憶装置110にお
いて使用されるキャッシュ制御システム108が開示さ
れる。このデータ記憶装置110では、データ・アクセ
スが所定時間期間内に発生しなかった場合、記憶素子は
動作速度に至らない。キャッシュ制御システム108
は、読出しまたは書込み要求がキャッシュ・メモリへの
アクセスを介して満足されない場合に、記憶素子上に記
憶されるデータをアクセスするように構成される手段
と、キャッシュ・メモリと記憶素子との間のデータの一
貫性を維持するために、それらの間でデータを転送する
ためのキャッシュ置換機構とを含む。
Description
【0001】
【産業上の利用分野】本発明はコンピュータ内のデータ
記憶装置内で使用されるキャッシュ制御システムに関
し、特に、磁気ディスクまたは光ディスクなどのよう
に、移動式に実装される記憶素子を有するデータ記憶装
置の電力消費を低減するキャッシュ制御システムに関す
る。
記憶装置内で使用されるキャッシュ制御システムに関
し、特に、磁気ディスクまたは光ディスクなどのよう
に、移動式に実装される記憶素子を有するデータ記憶装
置の電力消費を低減するキャッシュ制御システムに関す
る。
【0002】
【従来の技術】携帯用(ポータブル)バッテリ動作コン
ピュータの普及は、コンピュータ・システムの電力消費
の低減を非常に重要化した。これはバッテリの容量が制
限されており、また携帯用コンピュータをバッテリを置
き換えることなしに、或いはバッテリを再充電するため
にコンピュータを主電源に接続することなしに、こうし
たコンピュータの使用可能時間を最大化することが望ま
れていることによる。
ピュータの普及は、コンピュータ・システムの電力消費
の低減を非常に重要化した。これはバッテリの容量が制
限されており、また携帯用コンピュータをバッテリを置
き換えることなしに、或いはバッテリを再充電するため
にコンピュータを主電源に接続することなしに、こうし
たコンピュータの使用可能時間を最大化することが望ま
れていることによる。
【0003】更に、環境及びエコロジ的な配慮から、エ
ネルギー消費を低減したデスクトップ・パーソナル・コ
ンピュータの設計が要求されている。
ネルギー消費を低減したデスクトップ・パーソナル・コ
ンピュータの設計が要求されている。
【0004】コンピュータは磁気ディスクまたは光ディ
スクなどの移動パーツを有するので、こうしたコンピュ
ータのデータ記憶サブシステムは、しばしば、装置全体
の電力消費の主な要因となる。
スクなどの移動パーツを有するので、こうしたコンピュ
ータのデータ記憶サブシステムは、しばしば、装置全体
の電力消費の主な要因となる。
【0005】
【発明が解決しようとする課題】本発明は、ディスクな
どの移動式に実装される要素を有するデータ記憶装置の
電力消費を低減する問題に取り組むものである。本発明
は特にパーソナル及び携帯用コンピュータのためのディ
スク記憶サブシステムに応用例を見い出すが、それに限
るものではない。
どの移動式に実装される要素を有するデータ記憶装置の
電力消費を低減する問題に取り組むものである。本発明
は特にパーソナル及び携帯用コンピュータのためのディ
スク記憶サブシステムに応用例を見い出すが、それに限
るものではない。
【0006】回転磁気ディスク装置のフロント・エンド
としてソリッド・ステート(solid-state )・メモリ装
置を利用する数多くのコンピュータ・データ記憶システ
ムが提案されている。これらのシステムは、比較的低速
の磁気ディスク記憶装置に記憶されるデータの保持領域
として、高速ソリッド・ステート・メモリ・ユニットを
使用することにより、比較的低速なディスク記憶装置だ
けを使用する場合に比較して、アクセス速度を向上す
る。こうしたシステムは例えばWO92/15933号
で開示されている。
としてソリッド・ステート(solid-state )・メモリ装
置を利用する数多くのコンピュータ・データ記憶システ
ムが提案されている。これらのシステムは、比較的低速
の磁気ディスク記憶装置に記憶されるデータの保持領域
として、高速ソリッド・ステート・メモリ・ユニットを
使用することにより、比較的低速なディスク記憶装置だ
けを使用する場合に比較して、アクセス速度を向上す
る。こうしたシステムは例えばWO92/15933号
で開示されている。
【0007】
【課題を解決するための手段】第1の態様から、本発明
は移動式に実装される記憶素子及びソリッド・ステート
・キャッシュ・メモリを有するデータ記憶装置において
使用されるキャッシュ制御システムを提供する。このデ
ータ記憶装置では、データ・アクセスが所定時間期間内
に発生しなかった場合、記憶素子は動作速度に至らな
い。キャッシュ制御システムはコンピュータからの読出
し及び書込み要求に応答し、読出しまたは書込み要求が
キャッシュ・メモリへのアクセスを介して満足されない
場合に、記憶素子上に記憶されるデータをアクセスする
ように構成される手段と、キャッシュ・メモリと記憶素
子との間のデータの一貫性を維持するために、それらの
間でデータを転送するためのキャッシュ置換機構とを含
む。キャッシュ置換機構は、読出しまたは書込み要求が
記憶素子へのアクセスを生じた後に、記憶素子が動作速
度にある場合にのみ、キャッシュ・メモリと記憶素子と
の間のデータ転送を実行するように構成される。
は移動式に実装される記憶素子及びソリッド・ステート
・キャッシュ・メモリを有するデータ記憶装置において
使用されるキャッシュ制御システムを提供する。このデ
ータ記憶装置では、データ・アクセスが所定時間期間内
に発生しなかった場合、記憶素子は動作速度に至らな
い。キャッシュ制御システムはコンピュータからの読出
し及び書込み要求に応答し、読出しまたは書込み要求が
キャッシュ・メモリへのアクセスを介して満足されない
場合に、記憶素子上に記憶されるデータをアクセスする
ように構成される手段と、キャッシュ・メモリと記憶素
子との間のデータの一貫性を維持するために、それらの
間でデータを転送するためのキャッシュ置換機構とを含
む。キャッシュ置換機構は、読出しまたは書込み要求が
記憶素子へのアクセスを生じた後に、記憶素子が動作速
度にある場合にのみ、キャッシュ・メモリと記憶素子と
の間のデータ転送を実行するように構成される。
【0008】キャッシュ内及び記憶素子上に記憶される
データ間の一貫性を維持する必要性から生じるディスク
・アクセスが、読出しまたは書込み要求がキャッシュか
ら満足されないために記憶素子へのアクセスが要求され
る場合に限られるため、電力消費が低減される。記憶素
子が動作速度まで加速されなければならない回数が低減
するため、電力消費も低減する。
データ間の一貫性を維持する必要性から生じるディスク
・アクセスが、読出しまたは書込み要求がキャッシュか
ら満足されないために記憶素子へのアクセスが要求され
る場合に限られるため、電力消費が低減される。記憶素
子が動作速度まで加速されなければならない回数が低減
するため、電力消費も低減する。
【0009】一実施例では、こうした制御システムは、
携帯用ワークステーションのディスクが、通常、特定の
時間内に活動が発生しない場合にオフされる事実を利用
する。ディスクが遊休状態の時に読出し/書込み要求が
発行されると、ディスクをその動作速度に加速するため
に、エネルギーが消費されなければならない。
携帯用ワークステーションのディスクが、通常、特定の
時間内に活動が発生しない場合にオフされる事実を利用
する。ディスクが遊休状態の時に読出し/書込み要求が
発行されると、ディスクをその動作速度に加速するため
に、エネルギーが消費されなければならない。
【0010】小さな別々の読出し/書込みオペレーショ
ンをディスクを活動化することなしに実行するために、
キャッシュが保存場所として使用される。
ンをディスクを活動化することなしに実行するために、
キャッシュが保存場所として使用される。
【0011】本発明の装置では、従来のキャッシュ・メ
モリと異なり、キャッシュ・メモリ装置が必ずしもデー
タ記憶装置よりも高速である必要がない。キャッシュ・
メモリ装置が低電力消費によりアクセス可能であれば、
十分である。
モリと異なり、キャッシュ・メモリ装置が必ずしもデー
タ記憶装置よりも高速である必要がない。キャッシュ・
メモリ装置が低電力消費によりアクセス可能であれば、
十分である。
【0012】従来のキャッシュ制御システムと異なり、
本発明により構成されるシステムは、オペレーションを
オーバラップするのではなく、オペレーションを効果的
にバッチするように設計される。従来のキャッシュ置換
アルゴリズムは、読出しまたは書込み要求がキャッシュ
のみへのアクセスを介して満足される確率を最大化する
ように、キャッシュ置換機構によりディスクをバックグ
ラウンドで独立に活動化する傾向がある。ディスクを活
動化するためのエネルギー損失は大きいため、本発明の
キャッシュ置換アルゴリズムは、従来のように要求され
るディスク・アクセスの回数ではなく、要求されるディ
スクの活動化回数を最小化するように意図される。
本発明により構成されるシステムは、オペレーションを
オーバラップするのではなく、オペレーションを効果的
にバッチするように設計される。従来のキャッシュ置換
アルゴリズムは、読出しまたは書込み要求がキャッシュ
のみへのアクセスを介して満足される確率を最大化する
ように、キャッシュ置換機構によりディスクをバックグ
ラウンドで独立に活動化する傾向がある。ディスクを活
動化するためのエネルギー損失は大きいため、本発明の
キャッシュ置換アルゴリズムは、従来のように要求され
るディスク・アクセスの回数ではなく、要求されるディ
スクの活動化回数を最小化するように意図される。
【0013】好適には、キャッシュ置換機構は、読出し
または書込み要求が記憶素子へのアクセスを生じる度
に、所定時間、キャッシュ・メモリから記憶素子への転
送を実行するように構成される。
または書込み要求が記憶素子へのアクセスを生じる度
に、所定時間、キャッシュ・メモリから記憶素子への転
送を実行するように構成される。
【0014】従って、必ずしも順次的でないセグメント
のシーケンスに対するディスクへのアクセスの大きな連
鎖が生成される。なぜなら、これらのアクセスを要求デ
ィスク・アクセス後に実行することにより節約されるエ
ネルギーが、ディスクのスピンアップ・エネルギーを償
却するからである。
のシーケンスに対するディスクへのアクセスの大きな連
鎖が生成される。なぜなら、これらのアクセスを要求デ
ィスク・アクセス後に実行することにより節約されるエ
ネルギーが、ディスクのスピンアップ・エネルギーを償
却するからである。
【0015】好適には、キャッシュ制御システムは、読
出しまたは書込み要求が所定量以上のデータを含む場
合、キャッシュ・メモリ内のデータを変更することなく
記憶素子上のデータをアクセスする手段を含む。これは
キャッシュからの読出しまたは書込み要求を満足するこ
とが不可能であることが明らかであることから、キャッ
シュへのアクセスを回避するので、より効率的である。
出しまたは書込み要求が所定量以上のデータを含む場
合、キャッシュ・メモリ内のデータを変更することなく
記憶素子上のデータをアクセスする手段を含む。これは
キャッシュからの読出しまたは書込み要求を満足するこ
とが不可能であることが明らかであることから、キャッ
シュへのアクセスを回避するので、より効率的である。
【0016】本発明の有利な形態では、キャッシュ制御
システムは各セクタに関連するセクタのセットを識別す
る手段を含み、読出しまたは書込み要求が記憶素子から
のセクタの読出しを生じる時、キャッシュ置換機構がセ
クタの関連セットの全てのメンバを、記憶素子からキャ
ッシュ・メモリへ転送する。
システムは各セクタに関連するセクタのセットを識別す
る手段を含み、読出しまたは書込み要求が記憶素子から
のセクタの読出しを生じる時、キャッシュ置換機構がセ
クタの関連セットの全てのメンバを、記憶素子からキャ
ッシュ・メモリへ転送する。
【0017】関連セクタのセットの適切な保守により、
アクセスの空間的局所性を利用し、任意の瞬間において
最もアクセスされる可能性の高いセクタが、キャッシュ
内に保持されることが可能となる。
アクセスの空間的局所性を利用し、任意の瞬間において
最もアクセスされる可能性の高いセクタが、キャッシュ
内に保持されることが可能となる。
【0018】任意の特定の時間において、先行する所定
時間間隔にアクセスされたセクタを識別することによ
り、また読出しまたは書込み要求が記憶素子からのセク
タの読出しを生じる時、あるセクタに関連するセクタ・
セットに先行する所定時間間隔にアクセスされたセクタ
を追加し、前記セクタ・セットを更新することにより、
セクタの関連セットが効率的に保守される。
時間間隔にアクセスされたセクタを識別することによ
り、また読出しまたは書込み要求が記憶素子からのセク
タの読出しを生じる時、あるセクタに関連するセクタ・
セットに先行する所定時間間隔にアクセスされたセクタ
を追加し、前記セクタ・セットを更新することにより、
セクタの関連セットが効率的に保守される。
【0019】好適には、更新機構は、関連セット内の各
セクタが、先行する所定時間間隔にアクセスされたかど
うかを判断し、あるセクタが先行する所定時間間隔にア
クセスされなかった回数が所定回数に達したことを判断
すると、セットからそのセクタを除去するように構成さ
れる。
セクタが、先行する所定時間間隔にアクセスされたかど
うかを判断し、あるセクタが先行する所定時間間隔にア
クセスされなかった回数が所定回数に達したことを判断
すると、セットからそのセクタを除去するように構成さ
れる。
【0020】一実施例では、システムは少なくともセク
タのサブセットに対して、各セクタがキャッシュへの最
も最近の転送の機会にアクセスされたかどうかを判断
し、その指示を記憶する手段を含む。キャッシュ置換機
構は、読出しまたは書込み要求が記憶素子からのセクタ
の読出しを生じ、そのセクタがキャッシュへの最も最近
の転送の機会にアクセスされた場合に限り、そのセクタ
を記憶素子からキャッシュ・メモリへ転送するように構
成される。
タのサブセットに対して、各セクタがキャッシュへの最
も最近の転送の機会にアクセスされたかどうかを判断
し、その指示を記憶する手段を含む。キャッシュ置換機
構は、読出しまたは書込み要求が記憶素子からのセクタ
の読出しを生じ、そのセクタがキャッシュへの最も最近
の転送の機会にアクセスされた場合に限り、そのセクタ
を記憶素子からキャッシュ・メモリへ転送するように構
成される。
【0021】これはシステムが、キャッシュに一度転送
されたが再度参照されることの無いセクタを識別するこ
とを可能とする。このパターンが繰返し観測されると、
これらのセクタはキャッシュへは転送されず、キャッシ
ュ空間のより効率的な利用を可能とする。
されたが再度参照されることの無いセクタを識別するこ
とを可能とする。このパターンが繰返し観測されると、
これらのセクタはキャッシュへは転送されず、キャッシ
ュ空間のより効率的な利用を可能とする。
【0022】本発明はまたこうしたキャッシュ制御シス
テム、光ディスク・ドライブまたは磁気ディスク・ドラ
イブ、及び不揮発性ソリッド・ステート・キャッシュ・
メモリを含むデータ記憶装置を提供する。データ記憶装
置は、パーソナルまたは携帯用コンピュータのディスク
記憶サブシステムの形態である。この形態では、データ
記憶装置はディスク・サブシステムの外部インタフェー
スを保持し、システム・レベルにおいて何ら特殊なサポ
ートを要求しないように設計される。それによりサブシ
ステムは、従来のハードディスク・ドライブと直接置換
可能である。
テム、光ディスク・ドライブまたは磁気ディスク・ドラ
イブ、及び不揮発性ソリッド・ステート・キャッシュ・
メモリを含むデータ記憶装置を提供する。データ記憶装
置は、パーソナルまたは携帯用コンピュータのディスク
記憶サブシステムの形態である。この形態では、データ
記憶装置はディスク・サブシステムの外部インタフェー
スを保持し、システム・レベルにおいて何ら特殊なサポ
ートを要求しないように設計される。それによりサブシ
ステムは、従来のハードディスク・ドライブと直接置換
可能である。
【0023】別の態様では、本発明は移動式に実装され
る記憶素子及びソリッド・ステート・キャッシュ・メモ
リを有するデータ記憶装置をオペレートする方法を提供
する。このデータ記憶装置では、記憶素子はデータ・ア
クセスが所定時間期間内に発生しない場合に、動作速度
に至らない。本方法は、キャッシュ・メモリへのアクセ
スを介して満足されない読出しまたは書込み要求に応答
して、記憶素子上のデータをアクセスするステップ、及
びキャッシュ・メモリと記憶素子との間のデータの一貫
性を維持するために、それらの間でデータを転送するス
テップを含み、読出しまたは書込み要求が記憶素子への
アクセスを生じた後、記憶素子が動作速度にある場合に
のみ、キャッシュ・メモリと記憶素子との間のデータ転
送が実行される。
る記憶素子及びソリッド・ステート・キャッシュ・メモ
リを有するデータ記憶装置をオペレートする方法を提供
する。このデータ記憶装置では、記憶素子はデータ・ア
クセスが所定時間期間内に発生しない場合に、動作速度
に至らない。本方法は、キャッシュ・メモリへのアクセ
スを介して満足されない読出しまたは書込み要求に応答
して、記憶素子上のデータをアクセスするステップ、及
びキャッシュ・メモリと記憶素子との間のデータの一貫
性を維持するために、それらの間でデータを転送するス
テップを含み、読出しまたは書込み要求が記憶素子への
アクセスを生じた後、記憶素子が動作速度にある場合に
のみ、キャッシュ・メモリと記憶素子との間のデータ転
送が実行される。
【0024】
【実施例】図1を参照すると、データ処理システムはS
CSI(Small Computer SystemsInterface)101を
介してデータ記憶装置110に接続されるコンピュータ
100を含む。こうしたインタフェースのオペレーショ
ン、及びそれを実現するためのハードウェア及びソフト
ウェアは当業者には既知であるので、ここでは述べない
ことにする。ここでの説明のためには、データ記憶装置
がデータをフェッチ及び記憶するためにインタフェース
を介して、コンピュータから渡される読出し及び書込み
要求に応答することを述べれば十分である。
CSI(Small Computer SystemsInterface)101を
介してデータ記憶装置110に接続されるコンピュータ
100を含む。こうしたインタフェースのオペレーショ
ン、及びそれを実現するためのハードウェア及びソフト
ウェアは当業者には既知であるので、ここでは述べない
ことにする。ここでの説明のためには、データ記憶装置
がデータをフェッチ及び記憶するためにインタフェース
を介して、コンピュータから渡される読出し及び書込み
要求に応答することを述べれば十分である。
【0025】データ記憶装置110は磁気ディスク記憶
装置104及びキャッシュ・システム102を含み、こ
の例では前者は120メガバイトの容量を有し、後者は
2メガバイトの容量を有する不揮発性固体キャッシュ・
メモリ106、及びキャッシュ制御または管理論理10
8を含む。キャッシュ制御システム108は、適切なマ
イクロプロセッサの他に、マイクロプロセッサがここで
述べられる様々な機能を実行するための制御コード、及
びキャッシュ・メモリの制御データを記憶するキャッシ
ュ管理テーブル及びデータ記憶デバイスを含む。
装置104及びキャッシュ・システム102を含み、こ
の例では前者は120メガバイトの容量を有し、後者は
2メガバイトの容量を有する不揮発性固体キャッシュ・
メモリ106、及びキャッシュ制御または管理論理10
8を含む。キャッシュ制御システム108は、適切なマ
イクロプロセッサの他に、マイクロプロセッサがここで
述べられる様々な機能を実行するための制御コード、及
びキャッシュ・メモリの制御データを記憶するキャッシ
ュ管理テーブル及びデータ記憶デバイスを含む。
【0026】磁気ディスク記憶装置104は既知のタイ
プであり、ドライブ・モータ、読出し/書込みヘッド・
アセンブリ、及び関連制御システムと共に回転式に実装
されるディスクを含む。
プであり、ドライブ・モータ、読出し/書込みヘッド・
アセンブリ、及び関連制御システムと共に回転式に実装
されるディスクを含む。
【0027】本説明においては磁気ディスク記憶装置の
例が使用されるが、本発明は光ディスク・ドライブなど
の移動式のコンポーネントを有する任意のデータ記憶装
置に適用可能であることが理解されよう。
例が使用されるが、本発明は光ディスク・ドライブなど
の移動式のコンポーネントを有する任意のデータ記憶装
置に適用可能であることが理解されよう。
【0028】この実施例では、データ記憶装置は統合デ
ィスク記憶サブシステムの形態であり、このデータ記憶
装置はコンピュータ100にとって、キャッシュ・メモ
リとデータ記憶装置との間のデータ転送が、装置内の専
用のデータ転送ライン上で実行される単一のアドレス可
能エンティティのように思われる。しかしながら、適切
に構成されたデータ・バスでは、キャッシュ制御システ
ムの機能はコンピュータ自身によっても同等に実行され
る。
ィスク記憶サブシステムの形態であり、このデータ記憶
装置はコンピュータ100にとって、キャッシュ・メモ
リとデータ記憶装置との間のデータ転送が、装置内の専
用のデータ転送ライン上で実行される単一のアドレス可
能エンティティのように思われる。しかしながら、適切
に構成されたデータ・バスでは、キャッシュ制御システ
ムの機能はコンピュータ自身によっても同等に実行され
る。
【0029】磁気ディスク記憶装置104は3つの可能
な状態を有する。それらは待機、遊休及び活動状態であ
る。活動状態では、ディスクは動作速度で回転してお
り、読出し/書込み及びシーク・オペレーションが実行
される。この状態において要求される典型的な電力は
1.5W乃至2.5Wである。遊休状態でもディスクは
動作速度にて回転しており、典型的な電力消費は0.9
Wである。遊休状態から活動状態への移行時には、電力
のオーバヘッドは存在しない。ディスクが静止する待機
状態では、最も低い電力消費(典型的には0.2W)を
有する。待機状態から活動状態への切替えは、ディスク
が動作速度で駆動されることを要求する。このスピンア
ップは通常、加速時間に渡って最大4Wの電力を要求す
る。加速時間は入出力オペレーションに比較して、比較
的長い。
な状態を有する。それらは待機、遊休及び活動状態であ
る。活動状態では、ディスクは動作速度で回転してお
り、読出し/書込み及びシーク・オペレーションが実行
される。この状態において要求される典型的な電力は
1.5W乃至2.5Wである。遊休状態でもディスクは
動作速度にて回転しており、典型的な電力消費は0.9
Wである。遊休状態から活動状態への移行時には、電力
のオーバヘッドは存在しない。ディスクが静止する待機
状態では、最も低い電力消費(典型的には0.2W)を
有する。待機状態から活動状態への切替えは、ディスク
が動作速度で駆動されることを要求する。このスピンア
ップは通常、加速時間に渡って最大4Wの電力を要求す
る。加速時間は入出力オペレーションに比較して、比較
的長い。
【0030】このタイプの市販のディスク・ドライブの
例は、Maxtor社2.5 inch disk drive model number 25
252Aである。その電力規定は次のようである。スピンア
ップ電力:2.8W、動作速度に達するのに要する時
間:2秒、活動電力:1.6W、遊休電力:0.9W、
待機電力:0.1W。
例は、Maxtor社2.5 inch disk drive model number 25
252Aである。その電力規定は次のようである。スピンア
ップ電力:2.8W、動作速度に達するのに要する時
間:2秒、活動電力:1.6W、遊休電力:0.9W、
待機電力:0.1W。
【0031】記憶装置内のデータは、ディスク上におけ
るデータの最小アドレス可能単位であるセクタに配列さ
れる。各セクタは、例えば512バイトのデータを含
む。
るデータの最小アドレス可能単位であるセクタに配列さ
れる。各セクタは、例えば512バイトのデータを含
む。
【0032】キャッシュ・メモリ106はディスクのn
セクタすなわちS1、...、Snに対応するデータを含
む。各インキャッシュ・セクタ(in-cache sector )は
3つの状態の内の1つを取る。 (i)無効(invalid )。無効と指定されるセクタは、
意味のあるデータを含まない。 (ii)一致(consistent)。一致と指定されるセクタ
は、対応するディスク・セクタ上に記憶されるデータと
同じ情報を含む。 (iii)新規(new )。新規と指定されるセクタは、
ディスク上の対応するセクタに記憶される情報よりも新
しい情報を含む。
セクタすなわちS1、...、Snに対応するデータを含
む。各インキャッシュ・セクタ(in-cache sector )は
3つの状態の内の1つを取る。 (i)無効(invalid )。無効と指定されるセクタは、
意味のあるデータを含まない。 (ii)一致(consistent)。一致と指定されるセクタ
は、対応するディスク・セクタ上に記憶されるデータと
同じ情報を含む。 (iii)新規(new )。新規と指定されるセクタは、
ディスク上の対応するセクタに記憶される情報よりも新
しい情報を含む。
【0033】キャッシュ制御システムは、ディスク上の
セクタへのアクセス・パターンに関する統計をキャッシ
ュ管理テーブルに収集し、これらの統計を用いて、任意
のシステムにおけるセクタの振舞いパターンを推測しよ
うとする。
セクタへのアクセス・パターンに関する統計をキャッシ
ュ管理テーブルに収集し、これらの統計を用いて、任意
のシステムにおけるセクタの振舞いパターンを推測しよ
うとする。
【0034】図2はキャッシュ制御システムのキャッシ
ュ管理テーブル200を示す図である。ディスクの各セ
クタSi に対して、テーブル内に入力210が存在す
る。
ュ管理テーブル200を示す図である。ディスクの各セ
クタSi に対して、テーブル内に入力210が存在す
る。
【0035】各入力はキャッシュ・メモリのセクタに対
応して、例えばそのセクタがインキャッシュであって、
その状態(新規、一致または無効)を示す指示、或いは
タイム・スタンプなどの、従来から記憶される情報を含
む。こうした従来の情報は図2には示されていない。
応して、例えばそのセクタがインキャッシュであって、
その状態(新規、一致または無効)を示す指示、或いは
タイム・スタンプなどの、従来から記憶される情報を含
む。こうした従来の情報は図2には示されていない。
【0036】更に、各入力は図3に示される次の情報を
含む。
含む。
【0037】各入力はセクタのデータ・アクセス履歴に
関する次のデータ220を含む。 (1)セクタの最近のアクセス履歴の状態を示す履歴指
示222。 (2)セクタがキャッシュ内に転送された最近の3度の
機会に、セクタがアクセスされた回数を示す3つの参照
カウント224。
関する次のデータ220を含む。 (1)セクタの最近のアクセス履歴の状態を示す履歴指
示222。 (2)セクタがキャッシュ内に転送された最近の3度の
機会に、セクタがアクセスされた回数を示す3つの参照
カウント224。
【0038】履歴参照指示の目的は、1度キャッシュ内
に転送されたセクタが再度参照されないことを識別する
ことである。このパターンが繰返し観測されると、これ
らのセクタはキャッシュ空間の利用効率を高めるため
に、続く呼出しにおいては、直接システムに渡される必
要がある。
に転送されたセクタが再度参照されないことを識別する
ことである。このパターンが繰返し観測されると、これ
らのセクタはキャッシュ空間の利用効率を高めるため
に、続く呼出しにおいては、直接システムに渡される必
要がある。
【0039】履歴参照指示222は初期には−1、すな
わち適切な値がまだセットされていないことを示す値に
セットされる変数である。セクタが最初にアクセスされ
る時、履歴指示は別の値、例えば1にセットされ、その
セクタがアクセスされたことを示す。3つの参照カウン
トが全て0であると、履歴指示は第3の値、例えば0に
セットされ、セクタが最近のキャッシュへの転送機会に
アクセスされなかったことを示す。
わち適切な値がまだセットされていないことを示す値に
セットされる変数である。セクタが最初にアクセスされ
る時、履歴指示は別の値、例えば1にセットされ、その
セクタがアクセスされたことを示す。3つの参照カウン
トが全て0であると、履歴指示は第3の値、例えば0に
セットされ、セクタが最近のキャッシュへの転送機会に
アクセスされなかったことを示す。
【0040】テーブル入力には更に類縁情報(affinity
infomation )226が記憶される。類縁情報226は
同一の時間間隔において通常ロードされるセクタを示
す。
infomation )226が記憶される。類縁情報226は
同一の時間間隔において通常ロードされるセクタを示
す。
【0041】キャッシュ管理テーブル200に記憶され
る情報に加え、特定の大域情報がキャッシュ管理システ
ムにより記憶される。この大域情報は様々なシステム・
パラメータ及び調整可能なパラメータ、及び以降で述べ
られるように、特定の時間ウィンドウの間に、最も最近
受信された読出し要求に対応するセクタのセクタIDの
テーブルを含む。これらのセクタは'現世代ウィンドウ'
(current generationwindow)として参照される。
る情報に加え、特定の大域情報がキャッシュ管理システ
ムにより記憶される。この大域情報は様々なシステム・
パラメータ及び調整可能なパラメータ、及び以降で述べ
られるように、特定の時間ウィンドウの間に、最も最近
受信された読出し要求に対応するセクタのセクタIDの
テーブルを含む。これらのセクタは'現世代ウィンドウ'
(current generationwindow)として参照される。
【0042】以降では、用語'世代'(generation)は十
分に短い時間間隔をさすために使用され、そこでは発行
される全てのセクタ読出しが、同一のまたは関連するア
プリケーションから到来するものと推測される。この時
間期間は、キャッシュを管理するために、キャッシュ制
御装置により使用される調整可能なパラメータである。
分に短い時間間隔をさすために使用され、そこでは発行
される全てのセクタ読出しが、同一のまたは関連するア
プリケーションから到来するものと推測される。この時
間期間は、キャッシュを管理するために、キャッシュ制
御装置により使用される調整可能なパラメータである。
【0043】セクタのグループはそれらがメモリ内に同
一世代の間に転送されると、 '同世代' (contemporari
es)として参照される。同世代グループは1以上のメン
バを有する。同世代グループに属するセクタがアクセス
されると、グループの他のメンバがアクセスされる高い
可能性が存在する。
一世代の間に転送されると、 '同世代' (contemporari
es)として参照される。同世代グループは1以上のメン
バを有する。同世代グループに属するセクタがアクセス
されると、グループの他のメンバがアクセスされる高い
可能性が存在する。
【0044】キャッシュ管理テーブル200において、
類縁情報はビット・マップ228を含み、ディスクのあ
らゆるセクタに対して1ビットずつを有する。ビット・
マップはセクタに対する同世代グループを記録するセッ
ト・データ構造として使用される。この情報に対応し
て、他の構造も可能であることはもちろんである。例え
ば、別の可能な実施例ではツリー構造を使用する。
類縁情報はビット・マップ228を含み、ディスクのあ
らゆるセクタに対して1ビットずつを有する。ビット・
マップはセクタに対する同世代グループを記録するセッ
ト・データ構造として使用される。この情報に対応し
て、他の構造も可能であることはもちろんである。例え
ば、別の可能な実施例ではツリー構造を使用する。
【0045】キャッシュ管理テーブル内のデータは、シ
ステムが使用パターンを"学習"することにより連続的に
更新及び洗練され、エネルギー節約を最大化する。
ステムが使用パターンを"学習"することにより連続的に
更新及び洗練され、エネルギー節約を最大化する。
【0046】セクタ間の類縁は世代パラメータを用いて
計算される。同一のアプリケーションまたは関連アプリ
ケーションにより、任意の特定のセクタとして転送され
ることが確かなセクタは、ビット・マップに同世代セク
タとしてマークされ、セクタがキャッシュに転送される
度に一緒にキャッシュに転送される。
計算される。同一のアプリケーションまたは関連アプリ
ケーションにより、任意の特定のセクタとして転送され
ることが確かなセクタは、ビット・マップに同世代セク
タとしてマークされ、セクタがキャッシュに転送される
度に一緒にキャッシュに転送される。
【0047】同世代情報は、元の関係決定における論理
的類縁、使用パターンの変化、またはセクタの新たなフ
ァイルへの再割当てではなく、一致(coincidence )な
どのファクタを反映するように動的に更新される。
的類縁、使用パターンの変化、またはセクタの新たなフ
ァイルへの再割当てではなく、一致(coincidence )な
どのファクタを反映するように動的に更新される。
【0048】同世代グループを更新するアルゴリズム
は、任意の更新アルゴリズムがディスクのアクセス・パ
ターンを予測するための近似であり、不要なセクタをキ
ャッシュに転送することによるエラーの方が、必要なセ
クタを逸することによるエラーよりもエネルギー消費が
少ない事実を考慮する。
は、任意の更新アルゴリズムがディスクのアクセス・パ
ターンを予測するための近似であり、不要なセクタをキ
ャッシュに転送することによるエラーの方が、必要なセ
クタを逸することによるエラーよりもエネルギー消費が
少ない事実を考慮する。
【0049】このアルゴリズムの目的は、短い時間間隔
の間に、度々且つ最近、一緒にアクセスされたセクタを
同じ同世代グループに保持することである。
の間に、度々且つ最近、一緒にアクセスされたセクタを
同じ同世代グループに保持することである。
【0050】ある世代の時間ウィンドウ内に発行された
読出し要求に対応するセクタの識別が、キャッシュ制御
システムにより上述のように保持される。この情報はセ
クタがディスクからキャッシュに転送される度に、セク
タの同世代グループを更新するために使用される。
読出し要求に対応するセクタの識別が、キャッシュ制御
システムにより上述のように保持される。この情報はセ
クタがディスクからキャッシュに転送される度に、セク
タの同世代グループを更新するために使用される。
【0051】同世代グループ内の各セクタに対して、キ
ャッシュ管理テーブル内で2つの整数すなわちモード2
32及びLU(Last Updated)230が保持される。
ャッシュ管理テーブル内で2つの整数すなわちモード2
32及びLU(Last Updated)230が保持される。
【0052】ディスクからキャッシュにセクタが転送さ
れる度に、図4に示される処理が実行される。セクタの
同世代グループが現世代ウィンドウ内のセクタの識別と
比較される。セット内の共通部分のセクタのモード値が
1増分され、それらのLU値が1にセットされる。現世
代ウィンドウに含まれるが、同世代グループに含まれな
いセクタは、モード値1及びLU値1により転送される
セクタの同世代グループに追加される。同世代グループ
に含まれるが現世代ウィンドウに含まれないグループ
は、それらのLU値が所定値kよりも大きい場合、転送
される同世代グループから消去される。それ以外の場
合、それらのLU値が1増分され、それらのモード値は
変更されない。同世代セグメントはモードの非増加順序
で読出されるので、モード値はデータをキャッシュに転
送する時に使用される。
れる度に、図4に示される処理が実行される。セクタの
同世代グループが現世代ウィンドウ内のセクタの識別と
比較される。セット内の共通部分のセクタのモード値が
1増分され、それらのLU値が1にセットされる。現世
代ウィンドウに含まれるが、同世代グループに含まれな
いセクタは、モード値1及びLU値1により転送される
セクタの同世代グループに追加される。同世代グループ
に含まれるが現世代ウィンドウに含まれないグループ
は、それらのLU値が所定値kよりも大きい場合、転送
される同世代グループから消去される。それ以外の場
合、それらのLU値が1増分され、それらのモード値は
変更されない。同世代セグメントはモードの非増加順序
で読出されるので、モード値はデータをキャッシュに転
送する時に使用される。
【0053】キャッシュ内に十分な空間が使用可能な場
合に限り、完全な同世代セットがディスクから転送され
る。キャッシュへの書込みの際、全ての無効または一致
セクタが置換されるが、新規セクタを置換することは可
能ではない。キャッシュ内に十分な無効または一致セク
タが存在しない場合、モード値が活動を開始し、空間が
許す限り多くのセクタがキャッシュ内に読出される。好
適には、キャッシュのサイズは、ほとんどの場合におい
て完全な同世代グループがキャッシュ内に収まるように
選択される。
合に限り、完全な同世代セットがディスクから転送され
る。キャッシュへの書込みの際、全ての無効または一致
セクタが置換されるが、新規セクタを置換することは可
能ではない。キャッシュ内に十分な無効または一致セク
タが存在しない場合、モード値が活動を開始し、空間が
許す限り多くのセクタがキャッシュ内に読出される。好
適には、キャッシュのサイズは、ほとんどの場合におい
て完全な同世代グループがキャッシュ内に収まるように
選択される。
【0054】理想的には、キャッシュ管理テーブルはデ
ィスク上の全てのセクタに関する情報を記憶すべきであ
る。記憶空間が不十分な場合には、しばしば使用される
セクタの情報が、当業者には既知のハッシュ・テーブル
構造に保持されたりする。
ィスク上の全てのセクタに関する情報を記憶すべきであ
る。記憶空間が不十分な場合には、しばしば使用される
セクタの情報が、当業者には既知のハッシュ・テーブル
構造に保持されたりする。
【0055】キャッシュ制御システムはキャッシュ置換
機構を有し、これは2つの主なタスクを実行する。それ
らはキャッシュからディスクへのデータの転送すなわち
デステージング、及び置換である。
機構を有し、これは2つの主なタスクを実行する。それ
らはキャッシュからディスクへのデータの転送すなわち
デステージング、及び置換である。
【0056】キャッシュ制御システムはディスクがスピ
ンしている時に限り、デステージ・オペレーションを実
行する。新規セクタだけがデステージされる。デステー
ジされた各セクタは'一致'(Consistent)とマークされ
る。
ンしている時に限り、デステージ・オペレーションを実
行する。新規セクタだけがデステージされる。デステー
ジされた各セクタは'一致'(Consistent)とマークされ
る。
【0057】セクタの'遊休ストレッチ'(IS:idle s
tretch)は、現時刻から同世代グループ内のそのセクタ
が使用された最も最近の時刻を差引いた時間をさすため
に使用される。同世代グループ内の各セクタは同一の遊
休ストレッチを有する。各セクタの遊休ストレッチは、
図2及び図3に示されるキャッシュ管理テーブル200
内のそのセクタに対応する入力に記憶される。
tretch)は、現時刻から同世代グループ内のそのセクタ
が使用された最も最近の時刻を差引いた時間をさすため
に使用される。同世代グループ内の各セクタは同一の遊
休ストレッチを有する。各セクタの遊休ストレッチは、
図2及び図3に示されるキャッシュ管理テーブル200
内のそのセクタに対応する入力に記憶される。
【0058】デステージングはキャッシュ内の'新規'状
態のセクタS1、...、Snを、それらのIS値の非増
加順に、また同一IS値内のセクタIDに従い昇順に配
列することにより実行される。この順序付けはすぐに再
アクセスされる可能性のあるセクタ・グループのデステ
ージングを回避する。第2位のキーとしてセクタIDを
使用する順序付けは、デステージング・シーク時間を最
小化する。セクタがデステージされる順序は'デステー
ジング順序'(destaging order )として参照される。
態のセクタS1、...、Snを、それらのIS値の非増
加順に、また同一IS値内のセクタIDに従い昇順に配
列することにより実行される。この順序付けはすぐに再
アクセスされる可能性のあるセクタ・グループのデステ
ージングを回避する。第2位のキーとしてセクタIDを
使用する順序付けは、デステージング・シーク時間を最
小化する。セクタがデステージされる順序は'デステー
ジング順序'(destaging order )として参照される。
【0059】読出しまたは書込み要求がディスク記憶装
置へのアクセスを生じる度に、キャッシュ内に新規セク
タが存在すると、デステージが特定の時間間隔の間発生
する。各機会においてデステージングが発生する最大時
間期間は、特定のエネルギー供給をそれに割当てること
により決定される。例えば、ディスクをt時間単位活動
状態に保持するために、ディスクをスピンアップするの
に必要なエネルギーとほぼ同じエネルギーを要する場
合、デステージングはat+b時間単位の間発生する。
ここでa及びbはシステムに依存する調整可能なパラメ
ータである。
置へのアクセスを生じる度に、キャッシュ内に新規セク
タが存在すると、デステージが特定の時間間隔の間発生
する。各機会においてデステージングが発生する最大時
間期間は、特定のエネルギー供給をそれに割当てること
により決定される。例えば、ディスクをt時間単位活動
状態に保持するために、ディスクをスピンアップするの
に必要なエネルギーとほぼ同じエネルギーを要する場
合、デステージングはat+b時間単位の間発生する。
ここでa及びbはシステムに依存する調整可能なパラメ
ータである。
【0060】パラメータa及びbは、この時間間隔がデ
ィスクを動作速度で回転するために必要なエネルギーを
償却するように、十分長く取られるべきである。この期
間は'デステージング間隔'(destaging interval)とし
て参照される。
ィスクを動作速度で回転するために必要なエネルギーを
償却するように、十分長く取られるべきである。この期
間は'デステージング間隔'(destaging interval)とし
て参照される。
【0061】デステージング・オペレーションすなわち
キャッシュ106からデータ記憶装置104へのデータ
の転送は、キャッシュ内の新規セクタを一致セクタに変
換する。これはキャッシュ置換機構の一部である。
キャッシュ106からデータ記憶装置104へのデータ
の転送は、キャッシュ内の新規セクタを一致セクタに変
換する。これはキャッシュ置換機構の一部である。
【0062】キャッシュ置換機構はキャッシュ内のセク
タを置換する次の規則に従う。新規セクタは、そのセク
タのより新しいバージョンを提供する書込みオペレーシ
ョンの結果としてのみ置換され、その後、新規として保
持される。新規または一致セクタは、書込みオペレーシ
ョンがキャッシュをバイパスして、直接、データ記憶装
置に実行される場合に無効となる。
タを置換する次の規則に従う。新規セクタは、そのセク
タのより新しいバージョンを提供する書込みオペレーシ
ョンの結果としてのみ置換され、その後、新規として保
持される。新規または一致セクタは、書込みオペレーシ
ョンがキャッシュをバイパスして、直接、データ記憶装
置に実行される場合に無効となる。
【0063】一致または無効セクタは、(i)新規セク
タまたは同一セクタの新たなバージョンの書込みオペレ
ーションの結果、これが新規となるか、或いは(ii)
セクタをディスクからキャッシュに転送する読出しオペ
レーションの結果、置換され、その後、一致の状態を維
持するかまたはこの状態に遷移する。
タまたは同一セクタの新たなバージョンの書込みオペレ
ーションの結果、これが新規となるか、或いは(ii)
セクタをディスクからキャッシュに転送する読出しオペ
レーションの結果、置換され、その後、一致の状態を維
持するかまたはこの状態に遷移する。
【0064】コンピュータ100からの読出し及び書込
み要求を処理するために、キャッシュ制御システムによ
り使用される方法が、図5及び図6にそれぞれ示され
る。両者間の違いは、後述されるように、異なる入出力
要求パターン間に存在する。
み要求を処理するために、キャッシュ制御システムによ
り使用される方法が、図5及び図6にそれぞれ示され
る。両者間の違いは、後述されるように、異なる入出力
要求パターン間に存在する。
【0065】図5に示されるように、任意の読出し要求
は、その要求が所定数より多くのセクタに対するかどう
か調査される。このしきい値はキャッシュ・サイズ及び
ディスクの特性に依存する。大きな要求はデータをディ
スクからコンピュータ100の主メモリに直接転送する
ことにより満足される。ディスクは読出し/書込み状態
であり、ディスクはその動作速度まで加速されなければ
ならないので、デステージング間隔に等しい時間間隔の
間、任意の要求されるデステージングが実行される。
は、その要求が所定数より多くのセクタに対するかどう
か調査される。このしきい値はキャッシュ・サイズ及び
ディスクの特性に依存する。大きな要求はデータをディ
スクからコンピュータ100の主メモリに直接転送する
ことにより満足される。ディスクは読出し/書込み状態
であり、ディスクはその動作速度まで加速されなければ
ならないので、デステージング間隔に等しい時間間隔の
間、任意の要求されるデステージングが実行される。
【0066】しきい値はキャッシュ・サイズにより決定
される。大きな入出力要求はキャッシュに適合せず、デ
ィスクの活動化を必然的に要求する。従って、これらを
キャッシュから満足する必要はない。
される。大きな入出力要求はキャッシュに適合せず、デ
ィスクの活動化を必然的に要求する。従って、これらを
キャッシュから満足する必要はない。
【0067】読出し要求がしきい値より少ない数のセク
タに対する場合、その要求はキャッシュから満足され
る。キャッシュ・ミスが発生すると、ディスクが活動化
され、そのセクタに対する読出し要求がディスクから満
足され、ミッシング・セクタ(missing sectors )と関
連セクタがキャッシュに読出される。キャッシュ・ミス
では、ディスクが既に活動状態なので必要に応じデステ
ージが実行される。
タに対する場合、その要求はキャッシュから満足され
る。キャッシュ・ミスが発生すると、ディスクが活動化
され、そのセクタに対する読出し要求がディスクから満
足され、ミッシング・セクタ(missing sectors )と関
連セクタがキャッシュに読出される。キャッシュ・ミス
では、ディスクが既に活動状態なので必要に応じデステ
ージが実行される。
【0068】図6に示されるように、書込みオペレーシ
ョンも同様の考えに従う。書込み要求が大きな数のセク
タに対する場合、それらは直接ディスクに書込まれる。
必要に応じ、デステージがこの機会に実行される。書込
みが大きくない場合には、セクタがキャッシュに書込ま
れる。
ョンも同様の考えに従う。書込み要求が大きな数のセク
タに対する場合、それらは直接ディスクに書込まれる。
必要に応じ、デステージがこの機会に実行される。書込
みが大きくない場合には、セクタがキャッシュに書込ま
れる。
【0069】このようにデータを読出す際、3つのサブ
ケースが発生する。キャッシュが全ての要求情報を含む
場合、要求はキャッシュからサービスされる。キャッシ
ュが全ての要求情報を含まず、読出されるデータの量が
しきい値を越えるすなわち大きい場合には、ディスクか
らシステムへ転送されるデータはキャッシュには記憶さ
れない。換言するとこの場合、キャッシュ内容は変更さ
れない。
ケースが発生する。キャッシュが全ての要求情報を含む
場合、要求はキャッシュからサービスされる。キャッシ
ュが全ての要求情報を含まず、読出されるデータの量が
しきい値を越えるすなわち大きい場合には、ディスクか
らシステムへ転送されるデータはキャッシュには記憶さ
れない。換言するとこの場合、キャッシュ内容は変更さ
れない。
【0070】キャッシュが全ての要求情報を含まず、読
出されるデータの量がしきい値以下すなわち小さい場合
には、キャッシュ内に十分な無効または一致セクタが存
在するので、キャッシュ内で使用可能でないデータがデ
ィスクから読出される。
出されるデータの量がしきい値以下すなわち小さい場合
には、キャッシュ内に十分な無効または一致セクタが存
在するので、キャッシュ内で使用可能でないデータがデ
ィスクから読出される。
【0071】読出し要求の結果生じるキャッシュ・ミス
に続き、任意の特定のセクタがディスク上でアクセスさ
れる時、その履歴参照指示222により3つの可能なケ
ースを区別することにより、そのセクタがキャッシュに
転送されるかどうかが判断される。
に続き、任意の特定のセクタがディスク上でアクセスさ
れる時、その履歴参照指示222により3つの可能なケ
ースを区別することにより、そのセクタがキャッシュに
転送されるかどうかが判断される。
【0072】履歴参照指示により、セクタが最近アクセ
スされたことが示される場合、そのセクタとその同世代
がキャッシュに読出される。そのセクタの最新の参照カ
ウントが1にセットされ、それと同世代の最新の参照カ
ウントは0にセットされる。
スされたことが示される場合、そのセクタとその同世代
がキャッシュに読出される。そのセクタの最新の参照カ
ウントが1にセットされ、それと同世代の最新の参照カ
ウントは0にセットされる。
【0073】履歴参照指示がセットされていない場合、
セクタはキャッシュ及びシステムの両方に転送され、そ
の最新の参照カウントが1にセットされる。この場合、
同世代のセットはそのセクタだけを含む。なぜなら、同
世代のセットは当初は空のセットであるからである。
セクタはキャッシュ及びシステムの両方に転送され、そ
の最新の参照カウントが1にセットされる。この場合、
同世代のセットはそのセクタだけを含む。なぜなら、同
世代のセットは当初は空のセットであるからである。
【0074】履歴参照指示がセクタが最近アクセスされ
ていないことを示す場合、その同世代だけがキャッシュ
に読出される。セクタ自身はシステムに渡されるが、キ
ャッシュには読出されない。同世代グループ内のセクタ
の最新の参照カウントが0にセットされる。
ていないことを示す場合、その同世代だけがキャッシュ
に読出される。セクタ自身はシステムに渡されるが、キ
ャッシュには読出されない。同世代グループ内のセクタ
の最新の参照カウントが0にセットされる。
【0075】データの書込みの際には、2つのサブケー
スだけが発生する。少量のデータを書込む時に、キャッ
シュ内に存在する各セクタは新たなバージョンにより置
換され、新規とマークされる。キャッシュ内にまだ存在
しないセクタは、他の既存の一致セクタが十分に存在す
る場合には、これらを置換することによりキャッシュ内
に書込まれる。
スだけが発生する。少量のデータを書込む時に、キャッ
シュ内に存在する各セクタは新たなバージョンにより置
換され、新規とマークされる。キャッシュ内にまだ存在
しないセクタは、他の既存の一致セクタが十分に存在す
る場合には、これらを置換することによりキャッシュ内
に書込まれる。
【0076】しきい値よりも多くのデータをディスクに
書込む時には、システムが書込み中のデータを含むキャ
ッシュ・セクタは無効とマークされるが、実際の書込み
オペレーションはディスクに対して直接実行される。
書込む時には、システムが書込み中のデータを含むキャ
ッシュ・セクタは無効とマークされるが、実際の書込み
オペレーションはディスクに対して直接実行される。
【0077】図7はこうした装置を有するシステムの利
用を表す図である。コンピュータ上で実行されるアプリ
ケーション・プログラム600が、ディスクに対して読
出し及び書込み要求を発生し、これがオペレーティング
・システム610の制御の下で、ディスク記憶サブシス
テム620に渡される。
用を表す図である。コンピュータ上で実行されるアプリ
ケーション・プログラム600が、ディスクに対して読
出し及び書込み要求を発生し、これがオペレーティング
・システム610の制御の下で、ディスク記憶サブシス
テム620に渡される。
【0078】ユーザがシステムを起動すると、全てのア
プリケーションがロードされ、関連セクタがキャッシュ
にロードされる。この初期フェーズ630が終了する
と、ディスクはその最低エネルギー状態に移行し、読出
しミス、大量読出しまたは大量書込みが発生するまで、
その状態を維持する。こうした事象では、エネルギー消
費は640で示されるように増加する。実際には、ディ
スクはほとんどの時間、待機位置に保たれる。
プリケーションがロードされ、関連セクタがキャッシュ
にロードされる。この初期フェーズ630が終了する
と、ディスクはその最低エネルギー状態に移行し、読出
しミス、大量読出しまたは大量書込みが発生するまで、
その状態を維持する。こうした事象では、エネルギー消
費は640で示されるように増加する。実際には、ディ
スクはほとんどの時間、待機位置に保たれる。
【0079】データ記憶装置のこの特定の設計はディス
クの外部インタフェースを保持し、システム・レベルに
おいて特殊なサポートを何ら必要としない。
クの外部インタフェースを保持し、システム・レベルに
おいて特殊なサポートを何ら必要としない。
【0080】キャッシュの効果は、キャッシュを構成す
るメモリがディスクが遊休状態の場合よりも電力消費量
が少ない事実による。ディスクの活動化及び活動状態の
期間は、エネルギーを保存するために調整される。
るメモリがディスクが遊休状態の場合よりも電力消費量
が少ない事実による。ディスクの活動化及び活動状態の
期間は、エネルギーを保存するために調整される。
【0081】アクセスの局所性の原理は、キャッシュ内
に全てのセクタのサブセットを保持し、ディスクへのア
クセスをかなりなレートで保証することが可能であるこ
とを意味する。キャッシュ内に正しいセクタが効果的に
保持されることを可能とすることが、局所性の原理であ
る。
に全てのセクタのサブセットを保持し、ディスクへのア
クセスをかなりなレートで保証することが可能であるこ
とを意味する。キャッシュ内に正しいセクタが効果的に
保持されることを可能とすることが、局所性の原理であ
る。
【0082】マクロ空間的(macro spatial)、ミクロ
空間的(micro spatial)及び一時的(temporal)の3
つのタイプの局所性が存在する。最初の2つは参照パタ
ーンに関連し、3番目は時間に関連する。アプリケーシ
ョンは、同一の実行内において、現在アクセスされるデ
ータの近傍に配置されるデータをアクセスする確率が、
他のデータをアクセスする確率よりも高い場合、良好な
ミクロ空間的局所性を有すると言われる。アプリケーシ
ョンはプログラムによりアクセスされるセクタのセット
が実行毎に変化しない場合、良好なマクロ空間的局所性
を有すると言われる。アプリケーションは、最近アクセ
スされたデータをアクセスする高い可能性が存在する
と、良好な一時的局所性を有すると言われる。
空間的(micro spatial)及び一時的(temporal)の3
つのタイプの局所性が存在する。最初の2つは参照パタ
ーンに関連し、3番目は時間に関連する。アプリケーシ
ョンは、同一の実行内において、現在アクセスされるデ
ータの近傍に配置されるデータをアクセスする確率が、
他のデータをアクセスする確率よりも高い場合、良好な
ミクロ空間的局所性を有すると言われる。アプリケーシ
ョンはプログラムによりアクセスされるセクタのセット
が実行毎に変化しない場合、良好なマクロ空間的局所性
を有すると言われる。アプリケーションは、最近アクセ
スされたデータをアクセスする高い可能性が存在する
と、良好な一時的局所性を有すると言われる。
【0083】本発明は、調整可能な世代パラメータ及び
デステージング順序により、局所性の原理に従い、小さ
な読出し及び書込み要求においてアクセスされる可能性
の最も高いセクタをキャッシュ内に保持することを可能
とする。
デステージング順序により、局所性の原理に従い、小さ
な読出し及び書込み要求においてアクセスされる可能性
の最も高いセクタをキャッシュ内に保持することを可能
とする。
【0084】あらゆるセクタと共に保持される履歴指示
は、一時的局所性を利用する。同世代セクタのグループ
の使用が履歴参照指示と共に、キャッシュ内に良好な空
間的局所性を有するセクタを保持することを可能とす
る。
は、一時的局所性を利用する。同世代セクタのグループ
の使用が履歴参照指示と共に、キャッシュ内に良好な空
間的局所性を有するセクタを保持することを可能とす
る。
【0085】ほとんどのアプリケーションが、非常に小
さなファイルに作用する事実が利用される。例えば、U
NIXオペレーティング・システムにおける典型的なフ
ァイル・サイズは4KB以下である(UNIXは、Unix
System Laboratory社の商標である)。
さなファイルに作用する事実が利用される。例えば、U
NIXオペレーティング・システムにおける典型的なフ
ァイル・サイズは4KB以下である(UNIXは、Unix
System Laboratory社の商標である)。
【0086】本発明のキャッシュ・メモリは従来のキャ
ッシュ・メモリと同様、局所性の原理にもとづき設計さ
れるが、これだけが類似点である。従来のキャッシュと
異なり、キャッシュを構成するメモリは必ずしも高速で
ある必要はなく、低消費電力のものであれば足りる。
ッシュ・メモリと同様、局所性の原理にもとづき設計さ
れるが、これだけが類似点である。従来のキャッシュと
異なり、キャッシュを構成するメモリは必ずしも高速で
ある必要はなく、低消費電力のものであれば足りる。
【0087】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0088】(1)移動自在に実装される記憶素子及び
ソリッド・ステート・キャッシュ・メモリを有するデー
タ記憶装置において使用されるキャッシュ制御システム
であって、前記データ記憶装置において、所定時間内に
データ・アクセスが発生しないと、前記記憶素子が動作
速度になく、前記キャッシュ制御システムがコンピュー
タからの読出し及び書込み要求に応答し、読出しまたは
書込み要求が前記キャッシュ・メモリへのアクセスを介
して満足されない場合に、前記記憶素子上に記憶される
データをアクセスするように構成される手段と、前記キ
ャッシュ・メモリと前記記憶素子との間のデータの一貫
性を維持するために、前記キャッシュ・メモリと前記記
憶素子との間でデータを転送するためのキャッシュ置換
機構とを含み、前記キャッシュ置換機構が、読出しまた
は書込み要求が前記記憶素子へのアクセスを生じた後
に、前記記憶素子が動作速度にある場合にのみ、前記キ
ャッシュ・メモリと前記記憶素子との間のデータ転送を
実行するように構成される、キャッシュ制御システム。 (2)読出しまたは書込み要求が前記記憶素子へのアク
セスを発生する度に、前記キャッシュ置換機構が所定時
間、前記キャッシュ・メモリから前記記憶素子への転送
を実行するように構成される、前記(1)記載のキャッ
シュ制御システム。 (3)読出しまたは書込み要求が所定量以上のデータを
含む場合、前記キャッシュ・メモリ内のデータを変更す
ることなしに、前記記憶素子上のデータをアクセスする
ように構成される手段を含む、前記(1)または(2)
記載のキャッシュ制御システム。 (4)前記データ記憶装置においてデータがセクタ内に
配列され、セクタの少なくともサブセットに対して、各
セクタに関連するセクタのセットを識別する手段を含
み、読出しまたは書込み要求が前記記憶素子からのセク
タの読出しを発生すると、前記キャッシュ置換機構がセ
クタの関連セットの全てのメンバを前記記憶素子から前
記キャッシュ・メモリに転送する、前記(1)乃至
(3)のいずれかに記載のキャッシュ制御システム。 (5)前記記憶素子へのアクセスを発生する読出しまた
は書込み要求に応答して、前記記憶素子へ、前記記憶素
子内の対応するセクタ上に記憶される情報よりも新しい
情報を含むキャッシュ内のセクタを、現時刻から任意の
セクタに関連するセクタ・グループ内の前記セクタがア
クセスされた最も最近の時刻を差し引いた非増加順に転
送する、前記(4)記載のキャッシュ制御システム。 (6)任意の特定の時間に、先行する所定時間間隔にア
クセスされたセクタを識別する手段と、読出しまたは書
込み要求が前記記憶素子からのセクタの読出しを発生す
ると、前記先行する所定時間間隔にアクセスされたセク
タをあるセクタに関連するセクタのセットに追加するこ
とにより、前記セクタのセットを更新するように構成さ
れる機構とを含む、前記(3)または(4)記載のキャ
ッシュ制御システム。 (7)前記更新機構がセクタの関連セット内の各セクタ
が先行する所定時間期間内にアクセスされたかどうかを
判断し、前記先行する所定時間期間内にセクタが所定回
数アクセスされなかったと判断すると、前記セットから
前記セクタを除去するように構成される、前記(6)記
載のキャッシュ制御システム。 (8)少なくともセクタのサブセットに対して、各セク
タがキャッシュへの最近の1回以上の転送の機会にアク
セスされたかどうかを判断し、前記指示を記憶する手段
を含み、読出しまたは書込み要求が前記記憶素子からの
セクタの読出しを発生すると、前記セクタがキャッシュ
への最も最近の1回以上の転送機会においてアクセスさ
れた場合に限り、前記キャッシュ置換機構が前記記憶素
子から前記キャッシュ・メモリへ前記セクタを転送する
ように構成される、前記(4)乃至(7)のいずれかに
記載のキャッシュ制御システム。 (9)前記(1)乃至(8)のいずれかに記載のキャッ
シュ制御システム、光または磁気ディスク・ドライブ及
び不揮発性ソリッド・ステート・キャッシュ・メモリを
含むデータ記憶装置。 (10)パーソナルまたは携帯用コンピュータにおいて
使用されるディスク記憶サブシステムの形態の、前記
(9)記載のデータ記憶装置。 (11)移動式に実装される記憶素子及びソリッド・ス
テート・キャッシュ・メモリを有するデータ記憶装置を
オペレートする方法であって、前記データ記憶装置にお
いて、所定時間期間内にデータ・アクセスが発生しない
と、前記記憶素子が動作速度になく、前記方法が前記キ
ャッシュ・メモリへのアクセスを介して満足されない読
出しまたは書込み要求に応答して、前記記憶素子上のデ
ータをアクセスするステップと、前記キャッシュ・メモ
リと前記記憶素子との間のデータの一貫性を維持するた
めに、それらの間でデータを転送するステップとを含
み、読出しまたは書込み要求が前記記憶素子へのアクセ
スを生じた後、前記記憶素子が動作速度にある場合にの
み、前記キャッシュ・メモリと前記記憶素子との間のデ
ータ転送が実行される、方法。
ソリッド・ステート・キャッシュ・メモリを有するデー
タ記憶装置において使用されるキャッシュ制御システム
であって、前記データ記憶装置において、所定時間内に
データ・アクセスが発生しないと、前記記憶素子が動作
速度になく、前記キャッシュ制御システムがコンピュー
タからの読出し及び書込み要求に応答し、読出しまたは
書込み要求が前記キャッシュ・メモリへのアクセスを介
して満足されない場合に、前記記憶素子上に記憶される
データをアクセスするように構成される手段と、前記キ
ャッシュ・メモリと前記記憶素子との間のデータの一貫
性を維持するために、前記キャッシュ・メモリと前記記
憶素子との間でデータを転送するためのキャッシュ置換
機構とを含み、前記キャッシュ置換機構が、読出しまた
は書込み要求が前記記憶素子へのアクセスを生じた後
に、前記記憶素子が動作速度にある場合にのみ、前記キ
ャッシュ・メモリと前記記憶素子との間のデータ転送を
実行するように構成される、キャッシュ制御システム。 (2)読出しまたは書込み要求が前記記憶素子へのアク
セスを発生する度に、前記キャッシュ置換機構が所定時
間、前記キャッシュ・メモリから前記記憶素子への転送
を実行するように構成される、前記(1)記載のキャッ
シュ制御システム。 (3)読出しまたは書込み要求が所定量以上のデータを
含む場合、前記キャッシュ・メモリ内のデータを変更す
ることなしに、前記記憶素子上のデータをアクセスする
ように構成される手段を含む、前記(1)または(2)
記載のキャッシュ制御システム。 (4)前記データ記憶装置においてデータがセクタ内に
配列され、セクタの少なくともサブセットに対して、各
セクタに関連するセクタのセットを識別する手段を含
み、読出しまたは書込み要求が前記記憶素子からのセク
タの読出しを発生すると、前記キャッシュ置換機構がセ
クタの関連セットの全てのメンバを前記記憶素子から前
記キャッシュ・メモリに転送する、前記(1)乃至
(3)のいずれかに記載のキャッシュ制御システム。 (5)前記記憶素子へのアクセスを発生する読出しまた
は書込み要求に応答して、前記記憶素子へ、前記記憶素
子内の対応するセクタ上に記憶される情報よりも新しい
情報を含むキャッシュ内のセクタを、現時刻から任意の
セクタに関連するセクタ・グループ内の前記セクタがア
クセスされた最も最近の時刻を差し引いた非増加順に転
送する、前記(4)記載のキャッシュ制御システム。 (6)任意の特定の時間に、先行する所定時間間隔にア
クセスされたセクタを識別する手段と、読出しまたは書
込み要求が前記記憶素子からのセクタの読出しを発生す
ると、前記先行する所定時間間隔にアクセスされたセク
タをあるセクタに関連するセクタのセットに追加するこ
とにより、前記セクタのセットを更新するように構成さ
れる機構とを含む、前記(3)または(4)記載のキャ
ッシュ制御システム。 (7)前記更新機構がセクタの関連セット内の各セクタ
が先行する所定時間期間内にアクセスされたかどうかを
判断し、前記先行する所定時間期間内にセクタが所定回
数アクセスされなかったと判断すると、前記セットから
前記セクタを除去するように構成される、前記(6)記
載のキャッシュ制御システム。 (8)少なくともセクタのサブセットに対して、各セク
タがキャッシュへの最近の1回以上の転送の機会にアク
セスされたかどうかを判断し、前記指示を記憶する手段
を含み、読出しまたは書込み要求が前記記憶素子からの
セクタの読出しを発生すると、前記セクタがキャッシュ
への最も最近の1回以上の転送機会においてアクセスさ
れた場合に限り、前記キャッシュ置換機構が前記記憶素
子から前記キャッシュ・メモリへ前記セクタを転送する
ように構成される、前記(4)乃至(7)のいずれかに
記載のキャッシュ制御システム。 (9)前記(1)乃至(8)のいずれかに記載のキャッ
シュ制御システム、光または磁気ディスク・ドライブ及
び不揮発性ソリッド・ステート・キャッシュ・メモリを
含むデータ記憶装置。 (10)パーソナルまたは携帯用コンピュータにおいて
使用されるディスク記憶サブシステムの形態の、前記
(9)記載のデータ記憶装置。 (11)移動式に実装される記憶素子及びソリッド・ス
テート・キャッシュ・メモリを有するデータ記憶装置を
オペレートする方法であって、前記データ記憶装置にお
いて、所定時間期間内にデータ・アクセスが発生しない
と、前記記憶素子が動作速度になく、前記方法が前記キ
ャッシュ・メモリへのアクセスを介して満足されない読
出しまたは書込み要求に応答して、前記記憶素子上のデ
ータをアクセスするステップと、前記キャッシュ・メモ
リと前記記憶素子との間のデータの一貫性を維持するた
めに、それらの間でデータを転送するステップとを含
み、読出しまたは書込み要求が前記記憶素子へのアクセ
スを生じた後、前記記憶素子が動作速度にある場合にの
み、前記キャッシュ・メモリと前記記憶素子との間のデ
ータ転送が実行される、方法。
【0089】
【発明の効果】以上説明したように、本発明によれば、
特に磁気ディスクまたは光ディスクなどのように、移動
式に実装される記憶素子を有するデータ記憶装置の電力
消費を低減するキャッシュ制御システムが提供される。
特に磁気ディスクまたは光ディスクなどのように、移動
式に実装される記憶素子を有するデータ記憶装置の電力
消費を低減するキャッシュ制御システムが提供される。
【図1】データ記憶装置を示す図である。
【図2】キャッシュ制御機能に記憶されるデータ構造を
表す図である。
表す図である。
【図3】キャッシュ制御機能に記憶されるデータ構造を
表す図である。
表す図である。
【図4】セクタがディスクからキャッシュに転送される
時に実行される流れ図である。
時に実行される流れ図である。
【図5】読出しオペレーションの間のデータ記憶装置の
オペレーションを示す流れ図である。
オペレーションを示す流れ図である。
【図6】書込みオペレーションの間のデータ記憶装置の
オペレーションを示す流れ図である。
オペレーションを示す流れ図である。
【図7】オペレーション中のデータ記憶装置の時間に対
する電力消費の関係を示す図である。
する電力消費の関係を示す図である。
100 コンピュータ 101 SCSI 102 キャッシュ・システム 104 磁気ディスク記憶装置 106 不揮発性固体キャッシュ・メモリ 108 キャッシュ制御システム 110 データ記憶装置 200 キャッシュ管理テーブル 210 入力 220 データ 222 履歴参照指示 224 参照カウント 226 類縁情報 228 ビット・マップ 230 LU 232 モード 600 アプリケーション・プログラム 610 オペレーティング・システム 620 ディスク記憶サブシステム 630 初期フェーズ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 エリエザ・デケル イスラエル、ハイファ 34485、ヘインリ ッチ・ヘイン・スクエア 12 (72)発明者 マイケル・ロデ イスラエル、ディ・エヌ・オシュラット 2540、モシャブ・ベン−アミ (番地な し)
Claims (11)
- 【請求項1】移動自在に実装される記憶素子及びソリッ
ド・ステート・キャッシュ・メモリを有するデータ記憶
装置において使用されるキャッシュ制御システムであっ
て、 前記データ記憶装置において、所定時間内にデータ・ア
クセスが発生しないと、前記記憶素子が動作速度にな
く、 前記キャッシュ制御システムがコンピュータからの読出
し及び書込み要求に応答し、読出しまたは書込み要求が
前記キャッシュ・メモリへのアクセスを介して満足され
ない場合に、前記記憶素子上に記憶されるデータをアク
セスするように構成される手段と、前記キャッシュ・メ
モリと前記記憶素子との間のデータの一貫性を維持する
ために、前記キャッシュ・メモリと前記記憶素子との間
でデータを転送するためのキャッシュ置換機構とを含
み、 前記キャッシュ置換機構が、読出しまたは書込み要求が
前記記憶素子へのアクセスを生じた後に、前記記憶素子
が動作速度にある場合にのみ、前記キャッシュ・メモリ
と前記記憶素子との間のデータ転送を実行するように構
成される、キャッシュ制御システム。 - 【請求項2】読出しまたは書込み要求が前記記憶素子へ
のアクセスを発生する度に、前記キャッシュ置換機構が
所定時間、前記キャッシュ・メモリから前記記憶素子へ
の転送を実行するように構成される、請求項1記載のキ
ャッシュ制御システム。 - 【請求項3】読出しまたは書込み要求が所定量以上のデ
ータを含む場合、前記キャッシュ・メモリ内のデータを
変更することなしに、前記記憶素子上のデータをアクセ
スするように構成される手段を含む、請求項1または2
記載のキャッシュ制御システム。 - 【請求項4】前記データ記憶装置においてデータがセク
タ内に配列され、セクタの少なくともサブセットに対し
て、各セクタに関連するセクタのセットを識別する手段
を含み、読出しまたは書込み要求が前記記憶素子からの
セクタの読出しを発生すると、前記キャッシュ置換機構
がセクタの関連セットの全てのメンバを前記記憶素子か
ら前記キャッシュ・メモリに転送する、請求項1乃至3
のいずれかに記載のキャッシュ制御システム。 - 【請求項5】前記記憶素子へのアクセスを発生する読出
しまたは書込み要求に応答して、前記記憶素子へ、前記
記憶素子内の対応するセクタ上に記憶される情報よりも
新しい情報を含むキャッシュ内のセクタを、現時刻から
任意のセクタに関連するセクタ・グループ内の前記セク
タがアクセスされた最も最近の時刻を差し引いた非増加
順に転送する、請求項4記載のキャッシュ制御システ
ム。 - 【請求項6】任意の特定の時間に、先行する所定時間間
隔にアクセスされたセクタを識別する手段と、読出しま
たは書込み要求が前記記憶素子からのセクタの読出しを
発生すると、前記先行する所定時間間隔にアクセスされ
たセクタをあるセクタに関連するセクタのセットに追加
することにより、前記セクタのセットを更新するように
構成される機構とを含む、請求項3または4記載のキャ
ッシュ制御システム。 - 【請求項7】前記更新機構がセクタの関連セット内の各
セクタが先行する所定時間期間内にアクセスされたかど
うかを判断し、前記先行する所定時間期間内にセクタが
所定回数アクセスされなかったと判断すると、前記セッ
トから前記セクタを除去するように構成される、請求項
6記載のキャッシュ制御システム。 - 【請求項8】少なくともセクタのサブセットに対して、
各セクタがキャッシュへの最近の1回以上の転送の機会
にアクセスされたかどうかを判断し、前記指示を記憶す
る手段を含み、読出しまたは書込み要求が前記記憶素子
からのセクタの読出しを発生すると、前記セクタがキャ
ッシュへの最も最近の1回以上の転送機会においてアク
セスされた場合に限り、前記キャッシュ置換機構が前記
記憶素子から前記キャッシュ・メモリへ前記セクタを転
送するように構成される、請求項4乃至7のいずれかに
記載のキャッシュ制御システム。 - 【請求項9】請求項1乃至8のいずれかに記載のキャッ
シュ制御システム、光または磁気ディスク・ドライブ及
び不揮発性ソリッド・ステート・キャッシュ・メモリを
含む、データ記憶装置。 - 【請求項10】パーソナルまたは携帯用コンピュータに
おいて使用されるディスク記憶サブシステムの形態の、
請求項9記載のデータ記憶装置。 - 【請求項11】移動式に実装される記憶素子及びソリッ
ド・ステート・キャッシュ・メモリを有するデータ記憶
装置をオペレートする方法であって、 前記データ記憶装置において、所定時間期間内にデータ
・アクセスが発生しないと、前記記憶素子が動作速度に
なく、 前記方法が前記キャッシュ・メモリへのアクセスを介し
て満足されない読出しまたは書込み要求に応答して、前
記記憶素子上のデータをアクセスするステップと、前記
キャッシュ・メモリと前記記憶素子との間のデータの一
貫性を維持するために、それらの間でデータを転送する
ステップとを含み、 読出しまたは書込み要求が前記記憶素子へのアクセスを
生じた後、前記記憶素子が動作速度にある場合にのみ、
前記キャッシュ・メモリと前記記憶素子との間のデータ
転送が実行される、方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB9402054A GB2286267A (en) | 1994-02-03 | 1994-02-03 | Energy-saving cache control system |
| GB9402054.2 | 1994-02-03 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07219848A true JPH07219848A (ja) | 1995-08-18 |
Family
ID=10749787
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6286903A Pending JPH07219848A (ja) | 1994-02-03 | 1994-11-21 | キャッシュ制御システム |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US8285924B1 (ja) |
| EP (1) | EP0666539A3 (ja) |
| JP (1) | JPH07219848A (ja) |
| KR (1) | KR950025508A (ja) |
| CN (1) | CN1051387C (ja) |
| GB (1) | GB2286267A (ja) |
| TW (1) | TW343305B (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6772233B2 (en) | 2000-12-27 | 2004-08-03 | Fujitsu Limited | Data storage device |
| JP2006012126A (ja) * | 2004-06-10 | 2006-01-12 | Marvell World Trade Ltd | 適応記憶システム |
| CN1306419C (zh) * | 2003-05-02 | 2007-03-21 | 威盛电子股份有限公司 | 一种高速缓存及从高速缓存读取数据的方法 |
| JP2011086181A (ja) * | 2009-10-16 | 2011-04-28 | Fanuc Ltd | 不揮発性メモリ保護機能を備えた情報処理装置 |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0883148A (ja) * | 1994-09-13 | 1996-03-26 | Nec Corp | 磁気ディスク装置 |
| JP3423243B2 (ja) | 1999-03-26 | 2003-07-07 | 三洋電機株式会社 | デジタルカメラ |
| JP3510829B2 (ja) * | 1999-12-14 | 2004-03-29 | 三洋電機株式会社 | データ記録装置 |
| US6757784B2 (en) * | 2001-09-28 | 2004-06-29 | Intel Corporation | Hiding refresh of memory and refresh-hidden memory |
| WO2004064345A1 (en) * | 2003-01-15 | 2004-07-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Correlation method for channel estimation for ofdm |
| WO2004074971A2 (en) * | 2003-02-20 | 2004-09-02 | Koninklijke Philips Electronics N.V. | Method and circuit for writing data to a disk |
| US7549023B2 (en) * | 2003-04-21 | 2009-06-16 | Intel Corporation | Method and apparatus to update a cache for security records |
| US7174471B2 (en) * | 2003-12-24 | 2007-02-06 | Intel Corporation | System and method for adjusting I/O processor frequency in response to determining that a power set point for a storage device has not been reached |
| US7334082B2 (en) * | 2003-12-30 | 2008-02-19 | Intel Corporation | Method and system to change a power state of a hard drive |
| US7702848B2 (en) | 2004-06-10 | 2010-04-20 | Marvell World Trade Ltd. | Adaptive storage system including hard disk drive with flash interface |
| US7788427B1 (en) | 2005-05-05 | 2010-08-31 | Marvell International Ltd. | Flash memory interface for disk drive |
| US7730335B2 (en) | 2004-06-10 | 2010-06-01 | Marvell World Trade Ltd. | Low power computer with main and auxiliary processors |
| US7617359B2 (en) | 2004-06-10 | 2009-11-10 | Marvell World Trade Ltd. | Adaptive storage system including hard disk drive with flash interface |
| US7958292B2 (en) * | 2004-06-23 | 2011-06-07 | Marvell World Trade Ltd. | Disk drive system on chip with integrated buffer memory and support for host memory access |
| US8949544B2 (en) * | 2012-11-19 | 2015-02-03 | Advanced Micro Devices, Inc. | Bypassing a cache when handling memory requests |
| JP6130750B2 (ja) * | 2013-07-16 | 2017-05-17 | 株式会社東芝 | メモリ制御回路およびプロセッサ |
| WO2015061921A1 (zh) * | 2013-10-29 | 2015-05-07 | 上海宝存信息科技有限公司 | 用于数据存储系统的动态缓存方法和系统 |
| CN103760876B (zh) * | 2014-01-29 | 2018-06-22 | 北京北方华创微电子装备有限公司 | 报警信息的存储方法及存储装置 |
| CN112099985B (zh) | 2019-06-17 | 2023-09-12 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
| CN112100087B (zh) * | 2019-06-17 | 2024-04-02 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
| CN112130750B (zh) | 2019-06-25 | 2023-11-07 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58105365A (ja) * | 1981-12-18 | 1983-06-23 | Fujitsu Ltd | デイスクキヤツシユ制御装置を用いた磁気デイスク書込み方式 |
| JPS6055421A (ja) * | 1983-09-06 | 1985-03-30 | Canon Inc | デ−タ処理装置 |
| JPS62256025A (ja) * | 1986-04-28 | 1987-11-07 | Nec Corp | 情報機器 |
| JPH02205913A (ja) * | 1989-02-03 | 1990-08-15 | Seiko Epson Corp | 情報処理装置 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB979633A (en) | 1960-04-20 | 1965-01-06 | Nat Res Dev | Improvements in or relating to electronic digital computing machines |
| US4437155A (en) | 1980-11-14 | 1984-03-13 | Sperry Corporation | Cache/disk subsystem with dual aging of cache entries |
| US4433374A (en) * | 1980-11-14 | 1984-02-21 | Sperry Corporation | Cache/disk subsystem with cache bypass |
| JPH0322156A (ja) * | 1989-06-20 | 1991-01-30 | Tokico Ltd | 磁気ディスク装置 |
| JP2877378B2 (ja) * | 1989-09-29 | 1999-03-31 | 株式会社東芝 | パーソナルコンピュータ |
| JP2753391B2 (ja) | 1990-11-30 | 1998-05-20 | 株式会社日立製作所 | デイスク装置 |
| EP0574531A4 (en) | 1991-03-05 | 1995-03-08 | Zitel Corp | CACHE STORAGE SYSTEM AND METHOD. |
| US5293609A (en) * | 1991-04-19 | 1994-03-08 | International Business Machines Corporation | Hit-density-based replacement for data cache with prefetching |
| 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 |
| US5420983A (en) * | 1992-08-12 | 1995-05-30 | Digital Equipment Corporation | Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data |
| JP4205852B2 (ja) | 2000-11-14 | 2009-01-07 | 富士フイルム株式会社 | 平版印刷版用支持体の製造方法及び製造装置 |
-
1994
- 1994-02-03 GB GB9402054A patent/GB2286267A/en not_active Withdrawn
- 1994-06-07 TW TW083105178A patent/TW343305B/zh active
- 1994-09-30 KR KR1019940024923A patent/KR950025508A/ko not_active Ceased
- 1994-11-21 JP JP6286903A patent/JPH07219848A/ja active Pending
- 1994-12-27 US US08/364,334 patent/US8285924B1/en not_active Expired - Fee Related
-
1995
- 1995-01-09 CN CN95101132A patent/CN1051387C/zh not_active Expired - Fee Related
- 1995-01-13 EP EP95300217A patent/EP0666539A3/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58105365A (ja) * | 1981-12-18 | 1983-06-23 | Fujitsu Ltd | デイスクキヤツシユ制御装置を用いた磁気デイスク書込み方式 |
| JPS6055421A (ja) * | 1983-09-06 | 1985-03-30 | Canon Inc | デ−タ処理装置 |
| JPS62256025A (ja) * | 1986-04-28 | 1987-11-07 | Nec Corp | 情報機器 |
| JPH02205913A (ja) * | 1989-02-03 | 1990-08-15 | Seiko Epson Corp | 情報処理装置 |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6772233B2 (en) | 2000-12-27 | 2004-08-03 | Fujitsu Limited | Data storage device |
| CN1306419C (zh) * | 2003-05-02 | 2007-03-21 | 威盛电子股份有限公司 | 一种高速缓存及从高速缓存读取数据的方法 |
| JP2006012126A (ja) * | 2004-06-10 | 2006-01-12 | Marvell World Trade Ltd | 適応記憶システム |
| JP2006024211A (ja) * | 2004-06-10 | 2006-01-26 | Marvell World Trade Ltd | 適応記憶システム |
| JP2011086181A (ja) * | 2009-10-16 | 2011-04-28 | Fanuc Ltd | 不揮発性メモリ保護機能を備えた情報処理装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0666539A2 (en) | 1995-08-09 |
| CN1051387C (zh) | 2000-04-12 |
| GB9402054D0 (en) | 1994-03-30 |
| GB2286267A (en) | 1995-08-09 |
| TW343305B (en) | 1998-10-21 |
| EP0666539A3 (en) | 1995-09-27 |
| CN1120699A (zh) | 1996-04-17 |
| US8285924B1 (en) | 2012-10-09 |
| KR950025508A (ko) | 1995-09-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH07219848A (ja) | キャッシュ制御システム | |
| EP0483525B1 (en) | Workstation power management | |
| US20190251023A1 (en) | Host controlled hybrid storage device | |
| US6948033B2 (en) | Control method of the cache hierarchy | |
| KR100246870B1 (ko) | 디스크 구동 제어 방법 및 장치 | |
| US7827364B2 (en) | Multistage virtual memory paging system | |
| US20060075185A1 (en) | Method for caching data and power conservation in an information handling system | |
| US20070294552A1 (en) | Storage system and storage control method achieving both power saving and good performance | |
| US8196034B2 (en) | Computer system and method for reducing power consumption of storage system | |
| JP6417951B2 (ja) | ストレージ制御装置およびストレージ制御プログラム | |
| JP3568110B2 (ja) | キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置 | |
| JP4155545B2 (ja) | コンピュータシステムおよびデータ転送制御方法 | |
| KR970011216B1 (ko) | 정보 처리 시스템 | |
| US7370217B2 (en) | Regulating file system device access | |
| US20050185496A1 (en) | Intelligent solid state disk | |
| US7904604B2 (en) | Expedited and low power command sequence servicing | |
| US5845318A (en) | Dasd I/O caching method and application including replacement policy minimizing data retrieval and storage costs | |
| WO2005069148A2 (en) | Memory management method and related system | |
| WO2007065104A2 (en) | Method to reduce risk of data loss | |
| WO1995001600A1 (en) | Predictive disk cache system | |
| JP3961669B2 (ja) | コンピュータシステムおよびデータ転送制御方法 | |
| JP2005004282A (ja) | ディスクアレイ装置、ディスクアレイ装置の管理方法及び管理プログラム | |
| JP2011018237A (ja) | ディスクアレイ装置及びその制御方法 | |
| JP3183661B2 (ja) | ディスク制御装置 | |
| JPS62130440A (ja) | キヤツシユサブシステム |