JP2002140231A - 拡張型キャッシュメモリシステム - Google Patents

拡張型キャッシュメモリシステム

Info

Publication number
JP2002140231A
JP2002140231A JP2001269802A JP2001269802A JP2002140231A JP 2002140231 A JP2002140231 A JP 2002140231A JP 2001269802 A JP2001269802 A JP 2001269802A JP 2001269802 A JP2001269802 A JP 2001269802A JP 2002140231 A JP2002140231 A JP 2002140231A
Authority
JP
Japan
Prior art keywords
extent
memory
data storage
record
access request
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
Application number
JP2001269802A
Other languages
English (en)
Inventor
Lance L Flake
エル. フレイク ランス
Timothy R Feldman
アール. フェルドマン ティモシー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ST MICROELECTRONICS Inc
STMicroelectronics lnc USA
Original Assignee
ST MICROELECTRONICS Inc
STMicroelectronics lnc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ST MICROELECTRONICS Inc, STMicroelectronics lnc USA filed Critical ST MICROELECTRONICS Inc
Publication of JP2002140231A publication Critical patent/JP2002140231A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 エクステントを基礎としたキャッシュメモリ
管理を使用する方法及びシステムを提供する。 【解決手段】 本発明によれば、メモリ内のデータをキ
ャッシュする場合に、メモリと通信状態にある記憶装置
及びホスト装置を用意し、該メモリと関連しているエク
ステントレコードを作成し、該ホスト装置からの記憶装
置アクセス要求を受取り、且つ該ホスト装置からのアク
セス要求に応答して該エクステントレコード内の少なく
とも1個の状態フィールド値を変化させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、大略、キャッシュ
メモリを使用するキャッシュメモリ及び方法に関するも
のであって、更に詳細には、エクステント(範囲)を基
礎としたキャッシュメモリ管理を使用する方法及びシス
テムに関するものである。
【0002】
【従来の技術】データ処理システムは、データ及びプロ
グラムコードを格納即ち記憶するために多様なデータ記
憶(格納)メカニズムに依存している。各記憶メカニズ
ムは記憶装置へデータを書込み且つそれからデータを読
取る場合に発生する遅延のために関連するレイテンシィ
即ち待ち時間を有している。記憶メカニズムは例えば物
理的にデータ処理要素近くに位置されているスタチック
ランダムアクセスメモリ(SRAM)等の低レイテンシ
ィメカニズムから、SRAMよりも数桁大きなレイテン
シィを有する磁気的、光学的及び遠隔記憶メカニズムに
わたっている。大量記憶装置は、データプロセッサに物
理的及び論理的に近くに位置されている作業メモリより
もより大きなレイテンシィを有する傾向がある。
【0003】設定のコスト及び複雑性を著しく増加させ
ることなしに性能を向上させることが可能な技術に対す
る必要性が継続して存在している。キャッシュはデータ
記憶システムの性能を改善させるために実現される1つ
の技術である。キャッシュ技術は、磁気的及び光学的な
ディスク記憶装置等の大量記憶装置に関連するレイテン
シィを解消する。キャッシュ技術は、比較的高いレイテ
ンシィメモリ記憶装置とホスト装置との間に比較的低い
レイテンシィのメモリ装置を設けることが関与してい
る。キャッシュとして構成されるメモリ装置は、後の読
取/書込コマンドが高いレイテンシィの記憶装置ではな
くキャッシュ内のデータで満足されるように、書込及び
/又は読取データを記憶する。ハードウエア又はソフト
ウエアによって決定されるものであるが、実行中のライ
トバック手法に依存して、書込動作はキャッシュされる
場合とされない場合とがある。更に、キャッシュ管理ハ
ードウエア/ソフトウエアは高いレイテンシィのメモリ
記憶装置の部分のみをキャッシュ可能なものと指定し、
一方その他の部分はキャッシュ不可能であると指定する
場合がある。より遅く高いレイテンシィの記憶装置の代
わりに比較的低いレイテンシィのバッファメモリへ及び
それからデータを転送させることは転送時間を削減させ
且つシステムの速度を増加させる。
【0004】読取/書込要求のより大きな割合がキャッ
シュメモリ内に記憶されているデータのみによって満足
される場合には、キャッシュ技術のデータ転送時間の節
約が増加する。要求を満足させるためにキャッシュメモ
リからのデータを専ら使用する成功した転送は「ヒッ
ト」と呼称される。逆に、比較的高いレイテンシィのデ
ータ記憶装置の付加的なデータが必要とされる場合には
「ミス」(「キャッシュミス」とも呼称される)が発生
する。
【0005】キャッシュメモリの設計の基調となる設計
原理は、キャッシュミスを減少させること、及び非逐次
的コマンドに対してキャッシュメモリを効率的に割り当
てることを包含している。キャッシュミスを減少させる
ことは転送されたデータの総ブロック数に対するヒット
数の比(ヒット率として知られている)を増加させる。
ヒット率が高ければ高い程、中央処理装置(CPU)等
のホスト装置からのアクセス要求が高いレイテンシィの
データ記憶装置(例えば、ハードディスク)の代わりに
低いレイテンシィのキャッシュメモリによって満足され
る蓋然性がより高い。
【0006】キャッシュミスはコンパルゾリー(強制
的)ミス、キャパシティ(容量)ミス、コンフリクト
(競合)ミス、コヒーレンス(一貫性)ミスを包含する
種々のタイプに分類される。データが初めてキャッシュ
メモリ内に持ち込まれた場合にコンパルゾリーミスが発
生する。要求後の投機(推論)的読取の寸法を増加する
ことは、格納されているデータの空間的局所性特性を利
用することによってコンパルゾリーミスを減少させる。
キャパシティミスは、キャッシュメモリは常により高い
レイテンシィの記憶装置よりも常により小さいという事
実から発生する。全キャッシュ寸法を増加することはキ
ャパシティミスを減少させる。2個又はそれ以上のバッ
キング即ち補助の位置がキャッシュ内の同一の場所へマ
ッピングされる場合に、コンフリクトミスが発生し、古
いキャッシュデータが置換され、次いで後に戻されるこ
とを必要とする。キャッシュラインの連想性を増加させ
ることはコンフリクトミスを減少させる。コヒーレンス
ミスは、マルチプロセッサキャッシュコンシステンシィ
即ち無矛盾性を保存することを無効にすること以外発生
することはない。
【0007】ライトバックキャッシュは、書込コマンド
データがバッファメモリへエンターする場合に、書込要
求を発行したホストへ完了した場合に書込コマンドを報
告する。書込コマンドの実際の完了(即ち、高いレイテ
ンシィのデータ格納装置に対してデータをコミットする
こと)は、バッファメモリからより高いレイテンシィの
データ記憶装置へデータを転送するための条件が最適化
されるまで遅延される場合がある。対照的に、「ライト
スルー」キャッシュは、バッファメモリへデータを自動
的にコピーしながら自動的に書込コマンドを実行する。
ライトスルーキャッシュは、しばしば、ライトバックキ
ャッシュよりも効率が悪いが、幾つかの適用例において
はより信頼性が高い。
【0008】更に別のキャッシュメモリ設定原理は逐次
的及び非逐次的の両方のアクセスパターンの効率的な処
理を考慮するものである。ディスクドライブキャッシュ
においては、2つのコマンドが連続する範囲の論理的ブ
ロックアドレス(LBA)を参照する場合には、ディス
クドライブは1つのコマンドが他方のコマンドとシーケ
ンシャル即ち逐次的であると指定する。例えば、論理ブ
ロック512で開始し且つ512個の連続する論理的ブ
ロックをスパンするLBAを指定する第一コマンドは、
ブロック1024で開始し同じく連続する数の論理的ブ
ロックをスパンするLBAを指定する第二コマンドとシ
ーケンシャル即ち逐次的である。第二コマンドが第一コ
マンドとシーケンシャル即ち逐次的でない場合には、そ
れは非逐次的コマンドと指定することが可能である。効
率的なキャッシュメモリ管理システムは両方のタイプの
コマンドを認識し且つそれらをデータ転送率を最大とさ
せる順番で処理する。
【0009】キャッシュメモリシステムは、従来、2つ
のアプローチのうちの1つを採用しており、即ち、第一
のアプローチはタグ型メモリデータ構造と呼ばれるもの
であり、且つ第二のアプローチはセグメント化メモリデ
ータ構造と呼ばれるものである。タグ管理型キャッシュ
は、典型的に、プロセッサのメインメモリをキャッシュ
するシステムにおいて見られる。対照的に、セグメント
化メモリ構造は、しばしば、キャッシュ性能が従来それ
ほど臨界的なものではないディスクドライブキャッシュ
システムにおいて使用されている。
【0010】タグキャッシュメモリシステムは、キャッ
シュの内容を管理するためにタグメモリデータ構造を使
用している。キャッシュは複数個のキャッシュラインを
有している。各キャッシュラインはキャッシュ内の論理
的ブロックの位置を指し示すタグと関連している。タグ
キャッシュメモリシステムにおいては、タグメモリ構造
をアドレスするためにLBAの一部を使用する。各タグ
ラインはどのブロックがキャッシュ内に記憶されている
かを表わすためにLBAの残部を記憶即ち格納する。タ
グメモリの寸法はキャッシュメモリにおいてどれ程精密
に論理的ブロックをインデックスすることが可能である
かの制限を課す。
【0011】キャッシュラインタグは特定の論理的ブロ
ック又は複数個のブロックを探し出すためにサーチされ
る複数個のセットにグループ化される。ダイレクトマッ
プ型キャッシュにおいては、キャッシュは単に単一のキ
ャッシュセットを包含している。いずれの特定のLBA
はただ1つの特定のキャッシュラインに対してのみマッ
ピングすることが可能である。論理的ブロックがキャッ
シュラインタグのうちの1つにおいて識別されない場合
には、そのセットにおいて見つかることはなく、且つキ
ャッシュミスが発生する。又、現在使用中の2個の又は
それ以上のLBAが同一のキャッシュラインにたいして
マッピングされる場合には、そのキャッシュラインは、
時々、「スラッシング」と呼称される条件において、そ
のキャッシュラインを継続して取り戻し且つ再ロードす
る。このことはコンフリクトミスの割合を増加させる。
【0012】他方の極限においては、フルアソシエイテ
イブ(完全連想)キャッシュにおいて、各キャッシュラ
インは1つのセットである。従って、各LBAは任意の
使用可能なキャッシュラインに対してマッピングするこ
とが可能である。このキャッシュ構造においては、セッ
トをサーチすることは、その論理的ブロックがキャッシ
ュ内に存在する場合にはキャッシュヒットを発生するこ
とが保証されている。フルアソシエイティブキャッシュ
においては、キャッシュラインは、例えば最低使用頻度
(LRU)アルゴリズム等の客観的な基準のみに基づい
て取り戻すことが可能であり、それによりコンフリクト
ミスを最小とさせる。然しながら、各セットをサーチす
ることはより複雑なものとなり且つ、多分、単一キャッ
シュラインタグで単一のセットをサーチする場合よりも
一層時間がかかることとなる。
【0013】ダイレクトマップ型キャッシュとフルアソ
シエイティブキャッシュの両極端の間にセットアソシエ
イティブキャッシュがある。セットアソシエイティブキ
ャッシュにおいては、複数個のキャッシュラインが各セ
ット内に包含されている。任意の与えられたLBAが任
意のセット内の1つのキャッシュラインに対してマッピ
ングすることが可能である。従って、コンフリクトミス
は最小とされないが、それらは許容可能なレベルに保持
される。セットアソシエイティブキャッシュはダイレク
トマップ型キャッシュよりもより少ないアドレスクラッ
シュを有しており、且つフルアソシエイティブキャッシ
ュよりもサーチ動作が複雑でなく且つ多分時間がかかる
ことはない。
【0014】セグメント化バッファメモリシステムは使
用可能なメモリを1組のセグメントに対して割り当て
る。各セグメントはそのセグメントの寸法と等しいか又
はそれより小さなデータの連続的な論理的ブロックのス
パンを保持する。該セグメントの寸法は、キャッシュメ
モリ管理構造の複雑性に依存して、静的又は動的に割り
当てることが可能である。典型的に、セグメント数は使
用可能なキャッシュメモリハードウエアによってサポー
トされる最大数に固定される。然しながら、あるシステ
ムはキャッシュメモリにおけるセグメント数を動的に変
化させるために複雑なソフトウエア制御を使用する。
【0015】セグメントはホストと比較的より高いレイ
テンシィのデータ記憶装置との間のデータバッファ用の
巡回待ち行列である。セグメントの固有のレートマッチ
ング機能に加えて、それらは最も最近のアクセスシーケ
ンスを包含しており、従って、キャッシュ機能も実施す
る。セグメント化キャッシュメモリシステムによって実
施されるある動作は、読取/書込アクセスのためのセグ
メントの再割当、及びアクティブな組のセグメントにわ
たってのコヒーレントな読取ヒット検知の実施を包含し
ている。
【0016】然しながら、従来のタグ型及びセグメント
化メモリ構造は最近のホット装置からの迅速且つ複雑な
アクセス要求シーケンスを取扱うのに適したものではな
い。従来のタグ型キャッシュメモリ構造は高いレイテン
シィのデータ装置における論理的ブロックとキャッシュ
との間でどのようにデータをマッピングするかを硬直的
に定義付ける。マッピングに関する制限はキャッシュの
性能に非効率性を発生する。更に、セグメント化キャッ
シュメモリ構造は、典型的に、ホスト装置からのアクセ
ス要求の実際のパターンに拘わらずに、キャッシュ内の
データセットの寸法を予め決定する。従って、固定され
た寸法のセグメント化キャッシュメモリはホスト装置か
らの動的に変化するアクセス要求パターンを満足するの
に殆どマッチングするものではない。
【0017】
【発明が解決しようとする課題】本発明は、以上の点に
鑑みなされたものであって、上述した如き従来技術の欠
点を解消し、エクステント即ち範囲に基づいたキャッシ
ュメモリデザイン用のキャッシュシステム及び方法を提
供することを目的とする。本発明の別の目的とするとこ
ろは、迅速且つ複雑なアクセス要求シーケンスを取扱う
ことが可能なキャッシュ装置及び方法を提供することで
ある。本発明の更に別の目的とするところは、ホスト装
置からの動的に変化するアクセス要求パターンを満足さ
せるべく良好にマッチングされたキャッシュシステム及
び方法を提供することである。
【0018】
【課題を解決するための手段】本発明によれば、エクス
テント即ち範囲に基づいたキャッシュメモリ管理を使用
する方法及びシステムが提供される。メモリ内のデータ
をキャッシュする本発明方法は、メモリと通信状態にあ
る記憶装置及びホスト装置を用意し、該メモリと関連し
ているエクステントレコード(記録)を作成し、該ホス
ト装置からの記憶装置アクセス要求を受取り、且つ該ホ
スト装置からのアクセス要求に応答して該エクステント
レコードにおける少なくとも1つの状態フィールド値を
変化させる、上記各ステップを有している。
【0019】好適実施形態においては、本発明方法は、
更に、エクステントレコードと関連し且つ該メモリ内に
1つのエクステント即ち範囲を割り当てることを包含し
ており、該エクステントの寸法は、アクセス要求+LB
Aの要求されたスパンの前及び/又は後のスペキュレー
ション(投機即ち推論)及び動作のための付加的な空間
に基づいて割り当てられる。
【0020】別の好適な形態においては、アクセス要求
に応答してエクステントレコードにおける少なくとも1
つの状態フィールド値を変化させる場合に、ターゲット
論理的ブロックがキャッシュ内において識別される度に
ヒットカウントをインクリメントし、次いで各ターゲッ
ト論理的ブロックがメモリからホスト装置へ読取られた
後にヒットカウントをデクリメントし、該ターゲット論
理的ブロックはヒットカウントが完全にデクリメントさ
れるまでメモリにおいて再割当されることはない。この
好適な形態においては、ターゲット論理的ブロックはホ
スト装置からの読取要求を満足する場合にキャッシュ内
において識別される論理的ブロックである。
【0021】更に別の好適な形態においては、アクセス
要求に応答してエクステントレコードにおける少なくと
も1つの状態フィールド値を変化させる場合に、ホスト
装置からメモリへ1個の論理的ブロックが書込まれた後
にダーティカウントをインクリメントし、次いで該論理
的ブロックがメモリから記憶装置へ書込まれた後にダー
ティカウントをデクリメントし、該論理的ブロックは、
ダーティカウントが完全にデクリメントされるまで、メ
モリ内において再割当されることはない。
【0022】本発明の別の側面によれば、記憶装置及び
ホスト装置と通信状態にあるメモリ、該メモリと関連し
ているエクステントレコード、及びホスト装置からのア
クセス要求に応答して変化するエクステントレコードに
おける少なくとも1個の状態フィールド値を有している
エクステントレコード管理型キャッシュメモリが提供さ
れる。
【0023】本発明の更に、別の側面によれば、上位レ
イテンシィデータ記憶コンポーネント、該上位レイテン
シィデータ記憶コンポーネント及び記憶装置と通信状態
にある下位レイテンシィメモリ、該下位レイテンシィメ
モリと関連しているエクステントレコード、ホスト装置
によるアクセス要求に応答してその値を変化させるエク
ステントレコードにおける少なくとも1個の状態フィー
ルド値を有している記憶装置が提供される。
【0024】本発明の更に別の側面によれば、上位レイ
テンシィデータ記憶コンポーネント、ホスト装置、該上
位レイテンシィデータ記憶コンポーネント及びホスト装
置と通信状態にある下位レイテンシィメモリ、該下位レ
イテンシィメモリと関連しているエクステントレコー
ド、該ホスト装置からのアクセス要求に応答してその値
を変化させるエクステントレコード内の少なくとも1個
の状態フィールド値を有しているデータ記憶システムが
提供される。
【0025】
【発明の実施の形態】本発明はタグ管理型キャッシュと
セグメント化バッファの両方の利点を提供するキャッシ
ュ管理システム及び方法を提供している。本発明をハー
ドディスクドライブキャッシュに対する特定の適用例に
関連して説明するが、本発明の一般的な原理は任意のキ
ャッシュ管理システムに対してより広く適用可能なもの
である。
【0026】本発明に基づくエクステント即ち範囲を基
礎としたキャッシュメモリ100の実施例の論理的構造
を図1に示してある。キャッシュメモリ100は、好適
には、バッファメモリ101内に存在しており、且つバ
ッファメモリ101全体か又はバッファメモリ全体より
小さな一部を占有することが可能である。キャッシュメ
モリ100は、好適には、図1において「エクステント
A」乃至「エクステントD」として示した1個又はそれ
以上のエクステント即ち範囲と、エクステントレコード
(記録)セット102を有している。エクステントレコ
ードセット102は図1において「0」乃至「N」とし
て示した複数個のエクステントレコード200を包含し
ている。セット102内の1つのエクステントレコード
(記録)は各エクステントと関連している。エクステン
トの数及びそれらの寸法はホスト装置からのアクセス要
求によって動的に決定される。例えば、キャッシュメモ
リは、任意の与えられた時間において、1つの大きなエ
クステント又は多数の異なる寸法のエクステントを有す
ることが可能である。図1に示した実施例においては、
エクステントレコードセット102は最大の所望数のエ
クステントレコードを実現することが可能である寸法と
されているが、任意の与えられた時間において、各現在
定義されたエクステントに対しただ1つのエクステント
レコードを包含する。従って、エクステントレコードセ
ット102内には「ヌル」エクステントレコード(例え
ば、ゼロの寸法を有するエクステントレコード)が存在
する場合がある。
【0027】本発明は、論理的ブロックがどのようにし
てキャッシュメモリ内にマッピングされるかの連想性制
限条件を課すものではない。この好適なキャッシュメモ
リにおいては、ホスト装置からのアクセス要求を満足さ
せるために必要な論理的ブロックはエクステントレコー
ド0乃至Nを検査することによって見つけられる。次い
で、そのエクステントレコードにおけるポインタフィー
ルド値を介してキャッシュメモリ内において関連性のあ
る論理的ブロックが正確に決定される。
【0028】エクステントレコード200は、好適に
は、キャッシュメモリの論理的ブロックの内容を記述す
る情報を提供する。図2に例示したように、本発明のエ
クステントレコード(記録)200は、多数の状態フィ
ールド値を有しており、それは、好適には、論理的ブロ
ックアドレス(LBA)、エクステント寸法、有効カウ
ント、ヒットカウント、ダーティカウント、ポインタを
有している。LBA値はエクステントレコード200と
関連しているエクステントの開始LBAを表わす。エク
ステント寸法値は関連するエクステント内に包含されて
いる論理的ブロックの数を表わす。有効カウント値はア
クセス要求によって有効なもの(即ち、潜在的に関連性
のあるデータを包含している)として識別される関連し
たエクステント内の論理的ブロックの数を表わす。ヒッ
トカウント値はそのエクステントから要求されたデータ
が完全にホスト装置へ転送される前に(例えば、ホスト
装置からの読取データ要求が完了される前に)、関連す
るエクステントがキャッシュメモリ内において再割当さ
れることから保護するためのカウント用セマフォーとし
て作用する。ダーティカウント値はそのエクステントか
らの要求されたデータが完全により高いレイテンシィの
記憶コンポーネントへ転送される前に(例えば、ホスト
装置からの書込データ要求が完了する前に)、キャッシ
ュメモリにおいて関連するエクステントが再割当される
ことから保護するためのカウント用セマフォーとして作
用する。
【0029】好適形態においては、各エクステントレコ
ード200は、更に、「ヒットオフセット」及び「ダー
ティオフセット」フィールドを有している。これらのフ
ィールドは再割当のために使用可能なエクステントの開
始部分を定義し、一方該エクステントの残部はホスト装
置からのアクセス要求を満足する。部分的に保護されて
いるエクステントの保護されていない部分は新しいエク
ステントに対するキャッシュメモリ空間を与えるために
再割当することが可能である。
【0030】本発明の1つのエクステントは、好適に
は、キャッシュメモリ内に割当られている論理的ブロッ
クの1つの連続する範囲を有している。1つの有効なエ
クステント内の論理的ブロックの数は、好適には、少な
くとも1個のブロックである。1つのエクステントは、
又、連続的な論理的ブロックからなる1つを超える数の
セットであってそれらのセットが連続的でないものを有
することも可能である。エクステントの寸法(即ち、そ
のエクステントにおける論理的ブロックの数)はホスト
装置からのアクセス要求に基づいて動的に決定される。
【0031】エクステントレコード即ち範囲記録が少な
くとも1個の論理的ブロックを有するエクステントを記
述する場合には、有効なエクステントレコードと呼ばれ
る。論理的ブロックを有することのないエクステントを
記述するエクステントレコード(即ち、ゼロ寸法を有す
るレコード)は無効なエクステントレコードと呼ばれ
る。好適な形態においては、単一のエクステントはキャ
ッシュメモリの半分を超えて占有することが許容される
ものではない。この好適な形態においては、単一の逐次
的なアクセス要求パターンはキャッシュからホスト装置
又はより高いレイテンシィの記憶装置への論理的ブロッ
クの転送レートに拘わらずに進行することが可能であ
る。
【0032】各エクステントレコードはエクステントレ
コード数が与えられる。これらの数は、好適には、逐次
的な数字順である。本発明の好適な初期化手順において
は、キャッシュメモリが初期化される場合に2つのエク
ステントが作成される。これらの2つのエクステントの
うちのより古いものはエクステントレコード番号0が割
り当てられ、一方より若いエクステントはエクステント
レコード番号1が割り当てられる。
【0033】エクステントレコード番号に対する好適な
構成においては、可能なエクステントレコードの総数を
法として、最も古いエクステントレコード番号から最も
若いエクステントレコード番号を減算することによっ
て、任意の時間において有効な(「アクティブ」とも呼
ばれる)エクステントの数を決定することが可能であ
る。この好適な構造は、又、前のアクセス要求のシーケ
ンスに包含される空間的及び時間的局所性に基づいてエ
クステントレコードをインデックスすることによって将
来のアクセス要求において典型的に示される参照の局所
性を利用している。
【0034】好適な手順においては、エクステントレコ
ードセットはキャッシュメモリ寸法の半分に等しい最初
の2つのエクステントレコード寸法で初期化され且つそ
の他の全てのエクステントレコードはゼロの寸法に設定
される。この初期化状態は2つの初期的なエクステント
を有するキャッシュメモリを記述する。これらの初期的
なエクステントと関連する最初の2つの初期的なエクス
テントレコードは、好適には、キャッシュメモリ寸法の
半分に等しく、それらのヒットカウント及びダーティカ
ウントはゼロに設定される。これらのレコードのLBA
値も、好適には、アクセス要求がキャッシュメモリの初
期化された状態にヒットすること及び初期化されていな
いキャッシュメモリデータを検索することを防止するた
めに、キャッシュメモリの動作範囲外の値に設定され
る。このことは、好適には、LBAフィールド内に収ま
る可及的に最大の二進数−キャッシュメモリの寸法を使
用することによって達成される。このようなLBA値は
論理的に正しいものであるが、初期的なエクステント上
で読取ヒットが発生することを許容するものではない。
【0035】キャッシュメモリの動作範囲外に可能なL
BA値が存在しない場合には、好適な別の初期化手順は
エクステントレコード内の「有効フラッグ」フィールド
を使用する。この有効フラッグフィールド値は、そのエ
クステントがアクセス要求に対して使用可能であるか否
かを表わす。この好適な手順においては、キャッシュメ
モリの初期化によって作成されるエクステントレコード
は有効フラッグフィールド値をクリアさせてそれらがア
クセス要求に対して使用可能でないことを表わす。この
ことはこれらのエクステントに関するアクセスヒットを
防止し、それにより新しいエクステントに対してキャッ
シュメモリ内に場所を空けるためにそれらを再割当させ
ることが可能であることを確保する。付加的な好適なス
テップにおいては、「自由空間カウント」フィールドも
エクステントレコード内に存在している。この自由空間
カウントフィールド値は、最初に、論理的ブロックの総
数が新たに初期化されたキャッシュメモリ内にはまるよ
うに設定される。この自由空間カウントフィールド値は
キャッシュメモリ内に新たなエクステントが作成されて
再割当される各論理的ブロックに対してデクリメントさ
れる。究極的に、そのカウント値はゼロへデクリメント
し、キャッシュメモリを本発明方法に従って管理するこ
とが可能であることを知らせる。
【0036】本発明のキャッシュメモリにおけるエクス
テントレコードセットは、好適には、ホスト装置からの
アクセス要求によって動的に作成されるキャッシュデー
タの最も最近のセットを表わす。このエクステントレコ
ードセットは、好適には、同一のレコードからなるリニ
アアレイとして実現される。このリニアアレイは円形状
のリストとして使用され、モジュロアドレッシングがこ
のリストを介して進行する。エクステントはこのリスト
をサポートするために時間的作成順に位置される。新た
なエクステントが作成されると、キャッシュメモリは最
も古いエクステントから開始して既存のエクステントか
らスペース即ち空間を採取する。このプロセスは単純リ
スト構造をサポートする先入先出(FIFO)置換技術
をサポートする。別の好適な置換技術は、リストの並び
替えをサポートするためにエクステントレコードにおけ
る付加的な状態フィールドを使用する最小使用頻度(L
RU)技術を包含している。
【0037】エクステントレコードがアクセス要求期間
中に関連性があるものとして識別されると、そのレコー
ドのヒットカウント又はダーティカウントの値がインク
リメントされる。データがホスト装置へ読取られている
か、又はより高いレイテンシィの記憶装置へ書込まれて
いる間、ヒットカウント又はダーティカウントはそのイ
ンクリメントされた値に止まる。キャッシュメモリがア
クセス要求に関しての作業を完了すると、ヒットカウン
ト又はダーティカウントはその古い値へデクリメントさ
れる。好適な側面においては、ヒットカウント又はダー
ティカウントがインクリメントされた値(例えば、ゼロ
でない値)を有している場合には、関連するエクステン
トにおける論理的ブロックのいずれもが再割当させるこ
とは不可能である。
【0038】更に別の好適な側面においては、最も若い
エクステント、及びそれと関連するエクステントレコー
ドがキャッシュリザベーション動作期間中に作成され
る。新たに作成された最も若いエクステントは、好適に
は、最も古いエクステントの少なくとも一部を有するキ
ャッシュメモリの一部を置換させる。好適には、キャッ
シュリザベーション動作において使用されるキャッシュ
制御論理は、最も古いエクステントの寸法よりも大きな
最も若いエクステントに対してのスペース即ち空間を割
り当てる。最も古いエクステントをより大きな最も若い
エクステントで置換させることによって、キャッシュメ
モリ全体をインデックスするためにより少ない数のエク
ステント及びエクステントレコードが必要とされる場合
がある。然しながら、最も若いエクステントレコードに
対して割り当てられたキャッシュメモリは、好適には、
キャッシュメモリ全体の寸法の半分未満に制限される。
【0039】最も若いエクステントは、又、好適には、
最も古いエクステントの全体未満を置換させる場合があ
る。この好適な側面においては、最初の論理的ブロック
から開始する論理的ブロックの一部が最も若いエクステ
ントに対してのスペースを与えるために再割当される。
最も古いエクステントと関連するエクステントレコード
も、好適には、キャッシュメモリ内に止まる最も古いエ
クステントの部分に対する新しい有効カウント、LB
A、寸法及びポインターフィールドを表わすためにアッ
プデートされる。特に、有効カウント及び寸法は、好適
には、デクリメントされ、且つLBA及びポインターは
最も古いエクステントにおいて再割当された各論理的ブ
ロックに対してインクリメントされる。
【0040】別の好適な側面においては、該エクステン
トレコードはそれらの関連するエクステントの時間的な
順番を表わす。このことは、複数個のエクステントが同
一の論理的ブロックアドレスに対してマッピングされる
データを有する場合のデータコヒーレンシィに関する問
題を回避する。この好適な側面は、ホスト装置が短い時
間期間で同一のLBAに対して複数個の書込コマンドを
発行する場合に、効率的な書込データキャッシュ動作及
びコマンド待ち行列化を与える。
【0041】別の好適な側面においては、各論理的ブロ
ックがホスト装置からキャッシュメモリへ書込まれた後
に、ダーティカウント値がインクリメントされる。次い
で、このダーティカウント値は、書込コマンドによって
キャッシュメモリ内に配置された各論理的ブロックがキ
ャッシュメモリからより高いレイテンシィの記憶装置へ
書込まれた後にデクリメントされる。同様に、ヒットカ
ウントは、好適には、ホスト装置からの読取要求によっ
てキャッシュメモリ内の論理的ブロックの数に設定され
る。各論理的ブロックがキャッシュメモリからホスト装
置へ読取られた後に、ヒットカウント値がデクリメント
される。ダーティカウント値及びヒットカウント値は、
係属中のデータ転送において幾つの論理的ブロックが関
与するかを表わす。この好適な側面においては、これら
の論理的ブロックは転送期間中に再割当されることが防
止される。
【0042】別な好適な側面においては、本発明は、更
に、キャッシュメモリ内に投機的即ち推論的読取データ
を組込んでいる。投機的即ち推論的読取データは、キャ
ッシュメモリ管理アルゴリズムの予測するものがすぐに
ホスト装置によって要求される論理的ブロックを有して
いる。従って、ホスト装置がその要求を発行すると、そ
のデータは既にキャッシュメモリ内に存在しており、そ
の要求を満足させるのに必要な時間を減少させる。投機
的即ち推論的読取データは、好適には、ヒットカウント
又はダーティカウントのフィールドの値をインクリメン
トすることはなく、従って、要求されたデータのブロッ
クに対してキャッシュメモリ内において再割当させるこ
とが可能である。
【0043】本発明の例示的な記憶装置を図3に例示し
ている。この好適な記憶装置は、例えばハードディスク
ドライブ、CD−ROMドライブ、又は磁気テープドラ
イブ等のより高いレイテンシィのデータ記憶コンポーネ
ント309を有している。ハードディスクドライブの例
においては、読取チャンネルIC307が高いレイテン
シィの記憶装置309とインターフェースを行って、制
御IC301からの読取/書込要求を処理し且つそれに
応答する。制御IC301は、ホストインターフェース
305を介して通信を行って、外部ホストコンピュータ
からの読取/書込要求を受取り且つそれに応答する。
【0044】この記憶装置は、又、より低いレイテンシ
ィのメモリ303を有しており、それは制御IC301
を介してより高いレイテンシィのデータ記憶コンポーネ
ントと電子的通信状態にある。このより低いレイテンシ
ィのメモリ303は、好適には、例えばDRAM又はS
RAM等のRAMを有している。メモリ303の少なく
とも一部は本発明に基づく拡張型バッファメモリを実現
するために使用される。エクステントレコードセット1
02がメモリ303内において又は制御IC301自身
内の記憶構造内において実現されている。
【0045】図3に示した好適な記憶装置の一例は「イ
ンテリジェント」ハードディスクドライブである。この
ディスクドライブは、ディスク媒体とホストシステムと
の間で転送されるデータをバッファするためにRAMに
おいて実現されるキャッシュメモリを包含するバッファ
メモリを有している。このバッファメモリはレイテンシ
ィ即ち待ち時間を減少させ、且つホストシステムと通信
を行うデータバスと、ディスク媒体と通信を行う読取/
書込チャンネル回路との間の全く異なるデータレートを
適合させる。このディスクドライブはホストインターフ
ェースを介してホストと通信を行う。例示的なホストイ
ンターフェースはスモールコンピュータシステムインタ
ーフェース(SCSI)及びインテグレイテッドドライ
ブエレクトロニクス(IDE)インターフェースを包含
している。
【0046】制御IC301はスタンドアローンコンポ
ーネント又は埋込型装置として実現されるマイクロコン
トローラ又はマイクロプロセッサを有している。制御I
C301は、所望のシステム機能性を与えるためにオン
ボードメモリと、信号条件付けコンポーネントと、ペリ
フェラル等とを具備する集積回路(IC)又は応用特定
集積回路(ASIC)装置として実現することが可能で
ある。制御IC301はキャッシュメカニズム100を
初期化させ且つ管理するためのプログラムされた命令を
実行するために充分なデータ処理能力を有している。制
御IC301は、好適には、本発明の記憶装置内に一体
化されている。
【0047】以上、本発明の具体的実施の態様について
詳細に説明したが、本発明は、これら具体例にのみ制限
されるべきものではなく、本発明の技術的範囲を逸脱す
ることなしに種々の変形が可能であることは勿論であ
る。
【図面の簡単な説明】
【図1】 本発明のキャッシュメモリ構成を示した論理
図。
【図2】 個別的なエクステントレコードを示した概略
図。
【図3】 本発明の好適な記憶装置を示した概略図。
【符号の説明】
100 エクステントを基礎としたキャッシュメモリ 101 バッファメモリ 102 エクステントレコードセット 200 エクステントレコード
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 3/06 302 G06F 3/06 302A (72)発明者 ティモシー アール. フェルドマン アメリカ合衆国, コロラド 80027, ルイスビル, グラント アベニュー 1029 Fターム(参考) 5B005 JJ13 MM11 NN14 NN43 NN45 UU44 5B065 CC03 CC08 CE12 CH01

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 メモリにおいてデータをキャッシュする
    方法において、 メモリと通信状態にある記憶装置及びホスト装置を用意
    し、 前記メモリと関連するエクステント記録を作成し、 前記ホスト装置から記憶装置アクセス要求を受取り、 前記アクセス要求に応答して前記エクステント記録にお
    ける少なくとも1個の状態フィールド値を変化させる、
    上記各ステップを有していることを特徴とする方法。
  2. 【請求項2】 請求項1において、更に、前記エクステ
    ント記録と関連し且つ前記メモリ内に1つのエクステン
    トを割り当てるステップを有しており、前記エクステン
    トの寸法が前記アクセス要求及び付加的な推論的読取寸
    法に基づいて割り当てられることを特徴とする方法。
  3. 【請求項3】 請求項1において、前記少なくとも1個
    の状態フィールド値が、エクステント寸法、有効カウン
    ト、ヒットカウント、ダーティカウントからなるグルー
    プから選択されることを特徴とする方法。
  4. 【請求項4】 請求項1において、前記アクセス要求に
    応答して前記エクステント記録内の少なくとも1個の状
    態フィールド値を変化させる場合に、 ターゲット論理ブロックが前記メモリ内に識別される度
    にヒットカウントをインクリメントさせ、 各ターゲット論理ブロックが前記メモリから前記ホスト
    装置へ読取られた後に前記ヒットカウントをデクリメン
    トさせ、 前記ヒットカウントが完全にデクリメントされるまで前
    記メモリ内において前記ターゲット論理ブロックが再割
    当されることがないことを特徴とする方法。
  5. 【請求項5】 請求項1において、前記アクセス要求に
    応答して前記エクステント記録における少なくとも1個
    の状態フィールド値を変化させる場合に、 前記ホスト装置から前記メモリへ1個の論理ブロックが
    書込まれた後にダーティカウントをインクリメントし、 前記メモリから前記記憶装置へ前記論理ブロックが書込
    まれた後に前記ダーティカウントをデクリメントし、 前記ダーティカウントが完全にデクリメントされるまで
    前記メモリにおいて前記論理ブロックが再割当されるこ
    とがないことを特徴とする方法。
  6. 【請求項6】 請求項1において、更に、 前記エクステント記録をサーチすることによって前記メ
    モリ内のターゲットとされた論理ブロックをサーチし、 前記エクステント記録におけるポインター値を介して前
    記メモリにおいて前記ターゲットとされた論理ブロック
    を探し出す、上記各ステップを有していることを特徴と
    する方法。
  7. 【請求項7】 エクステント記録管理型キャッシュメモ
    リにおいて、 記憶装置及びホスト装置と通信状態にあるメモリ、 前記メモリと関連しているエクステント記録、 前記エクステント記録内の少なくとも1個の状態フィー
    ルド値、を有しており、前記少なくとも1個の状態フィ
    ールド値がアクセス要求に応答して変化することを特徴
    とするエクステント記録管理型キャッシュメモリ。
  8. 【請求項8】 請求項7において、更に、前記エクステ
    ント記録と関連しており且つ前記メモリ内に1個のエク
    ステントを有しており、前記エクステントの寸法が前記
    アクセス要求及び付加的な推論的読取寸法に基づいて割
    当てられることを特徴とするエクステント記録管理型キ
    ャッシュメモリ。
  9. 【請求項9】 請求項7において、前記少なくとも1個
    の状態フィールド値がエクステント寸法、有効カウン
    ト、ヒットカウント、ダーティカウントからなるグルー
    プから選択されることを特徴とするエクステント記録管
    理型キャッシュメモリ。
  10. 【請求項10】 請求項7において、前記エクステント
    記録が、その総数がアクセス要求によって設定される複
    数個のエクステント記録を有していることを特徴とする
    エクステント記録管理型キャッシュメモリ。
  11. 【請求項11】 記憶装置において、上位レイテンシィ
    データ記憶コンポーネント、 前記上位レイテンシィデータ記憶コンポーネント及びホ
    スト装置と通信状態にある下位レイテンシィメモリ、 前記下位レイテンシィメモリと関連しているエクステン
    ト記録、 前記エクステント記録における少なくとも1個の状態フ
    ィールド値、を有しており、前記少なくとも1個の状態
    フィールド値がアクセス要求に応答して変化することを
    特徴とする記憶装置。
  12. 【請求項12】 請求項11において、前記上位レイテ
    ンシィデータ記憶コンポーネントがハードディスクであ
    ることを特徴とする記憶装置。
  13. 【請求項13】 請求項12において、前記記憶装置が
    インテリジェントハードディスクドライブであることを
    特徴とする記憶装置。
  14. 【請求項14】 データ記憶システムにおいて、 上位レイテンシィデータ記憶コンポーネント、 ホスト装置、 前記上位レイテンシィデータ記憶コンポーネント及び前
    記ホスト装置と通信状態にある下位レイテンシィメモ
    リ、 前記下位レイテンシィメモリと関連しているエクステン
    ト記録、 前記エクステント記録内の少なくとも1個の状態フィー
    ルド値、を有しており、前記少なくとも1個の状態フィ
    ールド値がアクセス要求に応答して変化することを特徴
    とするデータ記憶システム。
  15. 【請求項15】 請求項14において、更に、 前記エクステント記録と関連しており且つ前記メモリ内
    に1個のエクステントを有しており、前記エクステント
    の寸法が前記アクセス要求及び付加的な推論的読取寸法
    に基づいて割当られることを特徴とするデータ記憶シス
    テム。
  16. 【請求項16】 請求項14において、前記少なくとも
    1個の状態フィールド値がエクステント寸法、有効カウ
    ント、ヒットカウント、ダーティカウントからなるグル
    ープから選択されることを特徴とするデータ記憶システ
    ム。
  17. 【請求項17】 請求項14において、前記エクステン
    ト記録が、その総数が前記アクセス要求によって設定さ
    れる複数個のエクステント記録を有していることを特徴
    とするデータ記憶システム。
  18. 【請求項18】 請求項14において、前記上位レイテ
    ンシィデータ記憶コンポーネントがハードディスクを有
    していることを特徴とするデータ記憶システム。
  19. 【請求項19】 請求項14において、前記下位レイテ
    ンシィメモリがRAMを有していることを特徴とするデ
    ータ記憶システム。
  20. 【請求項20】 請求項14において、更に、ATA及
    びSCSIからなるグループから選択される通信手段を
    有しており、前記下位レイテンシィメモリが前記上位レ
    イテンシィデータ記憶コンポーネント及び前記ホスト装
    置と前記通信手段を介して通信することを特徴とするデ
    ータ記憶システム。
  21. 【請求項21】 請求項14において、前記ホスト装置
    がCPUを有していることを特徴とするデータ記憶シス
    テム。
  22. 【請求項22】 請求項21において、前記ホスト装置
    がコンピュータであることを特徴とするデータ記憶シス
    テム。
JP2001269802A 2000-09-06 2001-09-06 拡張型キャッシュメモリシステム Pending JP2002140231A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/655952 2000-09-06
US09/655,952 US6772288B1 (en) 2000-09-06 2000-09-06 Extended cache memory system and method for caching data including changing a state field value in an extent record

Publications (1)

Publication Number Publication Date
JP2002140231A true JP2002140231A (ja) 2002-05-17

Family

ID=24631039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001269802A Pending JP2002140231A (ja) 2000-09-06 2001-09-06 拡張型キャッシュメモリシステム

Country Status (3)

Country Link
US (1) US6772288B1 (ja)
EP (1) EP1187026A3 (ja)
JP (1) JP2002140231A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009537912A (ja) * 2006-05-17 2009-10-29 クゥアルコム・インコーポレイテッド キャッシュメモリの最大レジデンシー交換のための方法およびシステム

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8635305B1 (en) * 2001-12-19 2014-01-21 Cisco Technology, Inc. Mechanisms for providing differentiated services within a web cache
US7159073B2 (en) * 2003-03-27 2007-01-02 Stmicroelectronics, Inc. Data storage and caching architecture
JP4618785B2 (ja) * 2004-12-24 2011-01-26 株式会社日立製作所 データ処理システム及び方法
US7620772B1 (en) 2005-05-05 2009-11-17 Seagate Technology, Llc Methods and structure for dynamic data density in a dynamically mapped mass storage device
US7653847B1 (en) 2005-05-05 2010-01-26 Seagate Technology Llc Methods and structure for field flawscan in a dynamically mapped mass storage device
US7617358B1 (en) 2005-05-05 2009-11-10 Seagate Technology, Llc Methods and structure for writing lead-in sequences for head stability in a dynamically mapped mass storage device
US7916421B1 (en) 2005-05-05 2011-03-29 Seagate Technology Llc Methods and structure for recovery of write fault errors in a dynamically mapped mass storage device
US7603530B1 (en) * 2005-05-05 2009-10-13 Seagate Technology Llc Methods and structure for dynamic multiple indirections in a dynamically mapped mass storage device
US7685360B1 (en) 2005-05-05 2010-03-23 Seagate Technology Llc Methods and structure for dynamic appended metadata in a dynamically mapped mass storage device
US7752491B1 (en) 2005-05-05 2010-07-06 Seagate Technology Llc Methods and structure for on-the-fly head depopulation in a dynamically mapped mass storage device
US7966450B2 (en) * 2005-09-01 2011-06-21 Micron Technology, Inc. Non-volatile hard disk drive cache system and method
US9171161B2 (en) * 2006-11-09 2015-10-27 International Business Machines Corporation Trusted device having virtualized registers
US20090198910A1 (en) * 2008-02-01 2009-08-06 Arimilli Ravi K Data processing system, processor and method that support a touch of a partial cache line of data
US8108619B2 (en) * 2008-02-01 2012-01-31 International Business Machines Corporation Cache management for partial cache line operations
US8250307B2 (en) * 2008-02-01 2012-08-21 International Business Machines Corporation Sourcing differing amounts of prefetch data in response to data prefetch requests
US8140771B2 (en) * 2008-02-01 2012-03-20 International Business Machines Corporation Partial cache line storage-modifying operation based upon a hint
US8266381B2 (en) * 2008-02-01 2012-09-11 International Business Machines Corporation Varying an amount of data retrieved from memory based upon an instruction hint
US8255635B2 (en) * 2008-02-01 2012-08-28 International Business Machines Corporation Claiming coherency ownership of a partial cache line of data
US8117401B2 (en) * 2008-02-01 2012-02-14 International Business Machines Corporation Interconnect operation indicating acceptability of partial data delivery
US7958309B2 (en) * 2008-02-01 2011-06-07 International Business Machines Corporation Dynamic selection of a memory access size
US8117390B2 (en) * 2009-04-15 2012-02-14 International Business Machines Corporation Updating partial cache lines in a data processing system
US8140759B2 (en) * 2009-04-16 2012-03-20 International Business Machines Corporation Specifying an access hint for prefetching partial cache block data in a cache hierarchy
US8966170B2 (en) * 2012-01-31 2015-02-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Elastic cache of redundant cache data
US9639276B2 (en) 2015-03-27 2017-05-02 Intel Corporation Implied directory state updates
US10353885B2 (en) * 2016-07-29 2019-07-16 International Business Machines Corporation Storing data records

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59153251A (ja) * 1983-02-18 1984-09-01 Toshiba Corp デイスクキヤツシユシステム
US5261066A (en) 1990-03-27 1993-11-09 Digital Equipment Corporation Data processing system and method with small fully-associative cache and prefetch buffers
EP0574531A4 (en) * 1991-03-05 1995-03-08 Zitel Corp CACHE STORAGE SYSTEM AND METHOD.
US5542066A (en) * 1993-12-23 1996-07-30 International Business Machines Corporation Destaging modified data blocks from cache memory
US6047357A (en) 1995-01-27 2000-04-04 Digital Equipment Corporation High speed method for maintaining cache coherency in a multi-level, set associative cache hierarchy
US5860131A (en) 1996-06-17 1999-01-12 Helix Software Co. Method for providing dynamic cache management in a computer system
US6092149A (en) 1997-05-28 2000-07-18 Western Digital Corporation Disk drive cache system using a dynamic priority sequential stream of data segments continuously adapted according to prefetched sequential random, and repeating types of accesses
US6018789A (en) * 1997-11-24 2000-01-25 Western Digital Corporation Disk drive with cache segment providing adaptively managed chunks
US6078992A (en) 1997-12-05 2000-06-20 Intel Corporation Dirty line cache
US6427195B1 (en) * 2000-06-13 2002-07-30 Hewlett-Packard Company Thread local cache memory allocator in a multitasking operating system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009537912A (ja) * 2006-05-17 2009-10-29 クゥアルコム・インコーポレイテッド キャッシュメモリの最大レジデンシー交換のための方法およびシステム
JP2013030173A (ja) * 2006-05-17 2013-02-07 Qualcomm Inc キャッシュメモリの最大レジデンシー交換のための方法およびシステム

Also Published As

Publication number Publication date
EP1187026A3 (en) 2006-11-08
EP1187026A2 (en) 2002-03-13
US6772288B1 (en) 2004-08-03

Similar Documents

Publication Publication Date Title
US6772288B1 (en) Extended cache memory system and method for caching data including changing a state field value in an extent record
US6339813B1 (en) Memory system for permitting simultaneous processor access to a cache line and sub-cache line sectors fill and writeback to a system memory
US10126964B2 (en) Hardware based map acceleration using forward and reverse cache tables
JP6832187B2 (ja) データストレージサブシステムにおけるキャッシングのための方法およびシステム
US6553457B1 (en) Tag memory disk cache architecture
EP2430551B1 (en) Cache coherent support for flash in a memory hierarchy
US5974438A (en) Scoreboard for cached multi-thread processes
JP3859757B2 (ja) 仮想アドレスについてのキャッシュ可能性属性ビットを備えた変換テーブル・エントリ及びそのビットを用いた仮想アドレスの参照方法並びにその仮想アドレスの参照装置
US9639481B2 (en) Systems and methods to manage cache data storage in working memory of computing system
US20110161597A1 (en) Combined Memory Including a Logical Partition in a Storage Memory Accessed Through an IO Controller
US20090132768A1 (en) Cache memory system
JP2000250813A (ja) I/oキャッシュ・メモリにおけるデータ管理方法
US9317448B2 (en) Methods and apparatus related to data processors and caches incorporated in data processors
US20030061450A1 (en) List based method and apparatus for selective and rapid cache flushes
JP2000250812A (ja) メモリ・キャッシュ・システムおよびその管理方法
US20150149742A1 (en) Memory unit and method
JPH07253926A (ja) キャッシュ・ミスによる時間ペナルティ減少方法
JP2008502069A (ja) メモリ・キャッシュ制御装置及びそのためのコヒーレンシ動作を実行する方法
US7093072B2 (en) Methods for improved data caching
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
US20040215900A1 (en) System and method for reducing contention in a multi-sectored cache
US6715040B2 (en) Performance improvement of a write instruction of a non-inclusive hierarchical cache memory unit
US20060179173A1 (en) Method and system for cache utilization by prefetching for multiple DMA reads
US7949833B1 (en) Transparent level 2 cache controller
WO2002027498A2 (en) System and method for identifying and managing streaming-data