JP2986088B2 - バッファ・メモリを動作させる方法及び関連する装置 - Google Patents

バッファ・メモリを動作させる方法及び関連する装置

Info

Publication number
JP2986088B2
JP2986088B2 JP7288456A JP28845695A JP2986088B2 JP 2986088 B2 JP2986088 B2 JP 2986088B2 JP 7288456 A JP7288456 A JP 7288456A JP 28845695 A JP28845695 A JP 28845695A JP 2986088 B2 JP2986088 B2 JP 2986088B2
Authority
JP
Japan
Prior art keywords
buffer memory
dar
detection
data blocks
prefetch
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 - Lifetime
Application number
JP7288456A
Other languages
English (en)
Other versions
JPH08212054A (ja
Inventor
スペンサー・ワーファン・ン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH08212054A publication Critical patent/JPH08212054A/ja
Application granted granted Critical
Publication of JP2986088B2 publication Critical patent/JP2986088B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • 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/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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
    • G06F12/127Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6026Prefetching based on access pattern detection, e.g. stride based prefetch

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般にデータ記憶バ
ッファ・システムに関し、特に、予測バッファ・ヒット
・レートを最適化するように、データ記憶アクセス・パ
ターンの変化に適応する直接アクセス記憶バッファ・メ
モリに関する。
【0002】
【従来の技術】大部分のコンピュータ・システムでは、
プロセッサは直接アクセス記憶装置(DASD)、光デ
ィスク・ドライブなどのデータ記憶装置から受信される
データに作用する。プロセッサは通常のデータ記憶装置
に対して高速に動作し、このことはプロセッサ待機時間
を低減するために、データ記憶速度を増すための全ての
有効な手段を含むようにコンピュータ・システム設計者
に働きかける。待機時間は、高速ランダム・アクセス・
メモリ(RAM)などの高速(高価な)データ記憶技術
をデータ記憶装置とプロセッサ間の中間キャッシュまた
はバッファ・メモリとして使用することにより低減され
る。待機時間はまた要求されるデータを予測し、それら
をプロセッサからのデータ要求の到来以前に、データ記
憶装置からバッファ・メモリに"プリフェッチ"すること
によっても低減されうる。
【0003】大部分のDASD及び光ディスク・ドライ
ブは、多くのセグメントに区分化されるRAMバッファ
・メモリまたは"ルックアヘッド・バッファ"を装備す
る。各セグメントは、データ記憶媒体からデータ・ブロ
ックを予測的にプリフェッチするために使用される。D
ASDまたは光ディスク・ドライブのバッファ・メモリ
は、プロセッサからの初期読出し要求を実行後、将来の
使用を予測して、続く連続データ・セクタをバッファ・
メモリに読出すことにより、データの"読出し"プリフェ
ッチを提供する。このプリフェッチ方法は、最低使用頻
度(LRU:Least Recently Used)または他の置換プ
ロシージャにもとづく任意のセグメント選択方法に付加
される。
【0004】通常の予測バッファ・メモリ管理法は、現
要求データの全てのまたは最後の部分をアクティブ・バ
ッファ・メモリ・セグメントに保管し、続くデータ・セ
クタを残りのアクティブ・セグメントに順次プリフェッ
チする。このことは、機械的に操作されるデータ記憶装
置において効率的に達成される。なぜなら、フェッチ及
びプリフェッチの2つのオペレーションが、読取りヘッ
ドの1回の機械的ディスク・アクセスしか要求しないか
らである。従って、任意の単一のデータ・アクセス要求
(DAR:Data Access Request)に対して、データ記
憶装置は最初に要求データ・ブロックをフェッチし、少
なくともその最後の部分をバッファ・メモリ・セグメン
トに記憶する。フェッチ・オペレーションの完了後、デ
ータ記憶装置はアクティブ・バッファ・メモリ・セグメ
ントを充填するのに十分な続くデータ・ブロックを継続
的に順次読出す。プリフェッチ・ステップは、アクティ
ブ・バッファ・メモリ・セグメントが完全に充填される
か、次のDARが到来すると(次のDARがバッファ・
ヒットでない場合)終了する。次のDARがバッファ・
ヒットの場合には、要求データがバッファ・メモリ・セ
グメントから取り出され、新たなデータ記憶アクセスが
不要なためにプリフェッチが中断無く継続される。次の
DARがバッファ・ヒットでない(すなわちバッファ・
ミス)場合には、新たなデータ記憶プリフェッチ・アク
セスが新たなバッファ・セグメントに対して開始され、
要求データ・ブロックが新たなアクティブ・バッファ・
セグメントに返却される。以前のアクティブ・バッファ
・セグメント内のフェッチ済みまたはプリフェッチ済み
データ・ブロックは、将来発生しうるヒットのために、
そのままの状態で保持される。新たなアクティブ・バッ
ファ・メモリ・セグメントはLRU選択プロシージャな
どにより、多くのこうしたセグメントの中から選択され
る。
【0005】この予測バッファ・メモリ管理法は、デー
タ・アクセス・パターンが合理的な見込みを提供する場
合、すなわち現DAR内で要求されるデータ・ブロック
が直ちに再要求される場合には("繰返し"アクセス)、
極めて効率的である。こうした"再利用"バッファ・メモ
リ・ヒットは、新たなデータ記憶アクセスが不要なため
に効率的である。複数の論理ブロック・アドレス(LB
A:Logical Block Address)へのこうした繰返し非順
次アクセス・パターン(NAP:NonsequentialAccess
Pattern)の例は、"read LBA5、read LBA8、read LBA70
0、read LBA5"である。第1のDAR(read LBA5)は、
LBA5をフェッチするためのデータ記憶アクセスとな
り、LBA5が第1のバッファ・メモリ・セグメントに
記憶される。LBA5のフェッチ後、続くLBA6乃至
36が連続的にプリフェッチされ、同一の第1のバッフ
ァ・メモリ・セグメントに記憶される(ここでセグメン
ト容量が32LBAと仮定する)。第2のDAR(LB
A8)が到来すると、要求データが既にプリフェッチさ
れている第1のバッファ・メモリ・セグメントから直接
取り出される。第3のDARが到来すると(read LBA70
0)、LBA700をフェッチするための第2のデータ
記憶アクセスが開始され、LBA700は31の連続L
BA701乃至731と共に、第2のバッファ・メモリ
・セグメントに記憶される。最後に第4のDARが到来
すると(read LBA5)、データが第1のバッファ・メモ
リ・セグメントから直接取り出される。この時点では、
第1のバッファ・メモリ・セグメントは乱されていな
い。更にDARが到来すると、第1のバッファ・セグメ
ントは、新たなDARの1つに対するLRU選択に応じ
て上書きされる。従って、データ・ブロック要求が頻繁
に繰返されない限り、この予測バッファ・メモリ管理法
は全体的なデータ記憶効率にはほとんど寄与しない。
【0006】予測バッファ法はしばしば有利である。な
ぜなら、a)これは"フェッチ"・データのためのデータ
記憶アクセス、すなわちデータ記憶媒体から次の幾つか
のデータ・ブロックを順番に取り出すことを要求するに
過ぎず、b)DARアクセス・パターンがしばしば"順
次的"であり、データ記憶媒体に連続的に記憶されるデ
ータ・ブロックに対応する一連のDARを含むからであ
る。順次アクセス・パターン(SAP:Sequential Acc
ess Pattern)の例は、"read LBA100、read LBA101、re
ad LBA102、..."であり、多くのDARに対応する。
各バッファ・メモリ・セグメントが32ブロック容量を
有すると仮定すると、上述の予測バッファ・メモリ管理
法は、最初にLBA100を第1のバッファ・メモリ・
セグメントにフェッチし、次にLBA101乃至131
を同一の第1のバッファ・メモリ・セグメントにプリフ
ェッチすることにより、セグメントをその容量まで充填
し、その時プリフェッチ活動を停止して1回の必要なデ
ータ記憶アクセス・オペレーションを終了する。有利な
点は、次の31DAR(read LBA101、read LBA10
2、...、read LBA131)が第1のバッファ・メモリ・
セグメントにおいてヒットすることである。問題は33
番目のDAR(read LBA132)が到来したときに発生す
る。なぜならこのDARはバッファ・メモリ内でミス
し、LBA132を第2のバッファ・メモリ・セグメン
トにフェッチし、LBA133乃至163をプリフェッ
チする第2のデータ記憶アクセス・オペレーションが開
始されるからである。この第2のデータ記憶アクセス・
オペレーションは、(プロセッサ速度の点で)相当な時
間を要し、長い順次データ・アクセス・パターン内の毎
33DAR目ごとに発生するバッファ・メモリ・ヒット
において不可避な"ヒカップ"(hiccup)によりデータ記
憶性能を遅らせる。
【0007】上述の予測管理法は、非順次アクセス・パ
ターン(NAP)には最適であるが、順次アクセス・パ
ターン(SAP)として到来するDARに対する効率
は、"循環(circular)"予測バッファ管理法の使用によ
り、改善する余地がある。循環バッファ・メモリ管理法
は、セグメント内の任意の場所における読出しヒットに
対して、アクティブ・バッファ・メモリ・セグメントを
モニタする。ヒットが検出されるとヒット・データ・ブ
ロックに先行する全ての論理バッファ・メモリ・セグメ
ント空間が即時解放され、新たなバッファ・セグメント
を活動化すること無く、追加のプリフェッチ・データ・
ブロックを記憶するために使用される。このことは、各
バッファ・メモリ・セグメントが"循環(wrap-aroun
d)"セグメントであり、ヒット以前の全ての空間がデー
タ記憶媒体からプリフェッチされる続くデータ・ブロッ
クにより即時充填されることを考慮すると理解できる。
バッファ・メモリ・セグメントの物理的な終りに遭遇す
ると、物理的な開始に移行するように論理的に循環され
る。これは"循環バッファ"と称される。この循環バッフ
ァ・メモリ管理法はSAPには最適である。なぜなら連
続シーケンスのデータ・ブロックを要求する新たなDA
Rが到来する限り、データ・ブロックの順次フェッチが
中断の無いディスク・アクセスとして継続し、ヒカップ
問題を排除するからである。連続データ・ブロックは、
入来DARが順次データ・ブロックを要求し続ける限
り、連続的にバッファ・メモリ・セグメントにプリフェ
ッチされるが、非順次(繰返し)アクセス・パターン
(NAP)は効率的に処理されない。なぜなら繰返しア
クセス要求に対するヒットを提供するために、各バッフ
ァ・データ・ブロックがメモリ内に保持されずに、即時
上書きされるからである。
【0008】従って、予測バッファ・メモリ管理法にお
いて、順次アクセス・パターン(SAP)と非順次(繰
返し)アクセス・パターン(NAP)の両方をデータ記
憶システムにおいて最適にサポートする必要がある。既
知の循環管理法は、上述の循環上書きモード(COM:
Circular Overwrite Mode)を使用する。既知の予測セ
グメントは、上述のブロック上書きモード(BOM:Bl
ock Overwrite Mode)を使用する。COMは、たとえB
OMメモリが単一セグメントのCOMバッファに近づく
としても、セグメント化バッファ・メモリ内においてB
OMと矛盾しない。なぜなら、最低使用頻度(LRU)
セグメント割当てプロシージャが使用される場合、CO
Mバッファは常により多数の常により小さなセグメント
に再構成されるからである。
【0009】当業者の中には、NAPに作用するBOM
バッファ・メモリ内のセグメントまたはブロックのサイ
ズを調整することを提案する者もいた。例えばR.Crick
らによる米国特許第5285527号は、1部がプロセ
ッサ命令実行のための履歴キャッシュ・メモリとして、
また1部が予測キャッシュ・メモリとして使用される循
環バッファ特性を有する予測履歴キャッシュ・メモリ・
システムを開示している。Crickらは、順次メモリの効
率的な検索のための通常の循環メモリ管理能力を提供す
る。なぜならプロセッサ命令は、通常、順次検索され、
実行されるからである。命令フローは条件分岐命令及び
無条件分岐命令によりしばしば中断されるので、彼らは
また、順次フロー内におけるこうした中断の検出に際
し、ブロック・プリフェッチ・オペレーションを禁止す
る手段を提供している。Crickらは実行された最後の命
令のロケーションと、プリフェッチされた最後の命令の
ロケーションとを連続的に比較し、2つの命令のアドレ
スが所定量だけ離れるとプリフェッチ・オペレーション
を禁止する。この方法は履歴バッファ・メモリ要素の不
要な損失を回避するが、Crickらはアクセス・パターン
が逸脱した時の命令の変更プリフェッチを提案していな
い。
【0010】同様に、Gibsonによる米国特許第5003
471号では、バッファ・メモリ内においてサイズ及び
ロケーションが調整可能なプログラマブル循環データ・
バッファとして作用する、スライド式"ウィンドウ式プ
ログラマブル・データ・バッファ(WPDB)"を有す
る中間バッファを開示する。GibsonのWPDBは、バッ
ファ・メモリを順方向に循環するように増分させたり、
静的に維持するようにプログラムされ、2つのどちらか
のモードで動作することができる。すなわち一方のモー
ドでは、ウィンドウ内のデータをアクセスするためのオ
フセットを使用し、別のモードでは、ウィンドウ自身を
アクセスするためのオフセットを使用することにより、
先入れ先出し(FIFO)バッファを通じて、データの
プリフェッチ及び記憶を可能にする。Gibsonのウィンド
ウ機構は、主にプロセッサによるショート・アドレス・
セグメントの使用を可能にするキャッシュ管理法であ
り、アクセス・パターンに応じたバッファ管理の最適化
手段には触れていない。
【0011】Thompsonによる米国特許第4377852
号では、テキスト・スクロール制御システムにおける循
環バッファの中断制御手段を含む通信制御システムを開
示する。Thompsonは、循環バッファ・オペレーション
の"ラップ・オン(wrap-on)"・モードから"ラップ・オ
フ(wrap-off)"・モードへのオペレータ制御による切
替えを提案する。これらの両モードはデータ・カラムの
テキスト表示特性を最初の受信時と同様に維持するよう
に知能的に動作する。しかしながら、Thompsonはデータ
・アクセス・パターンに応じて、彼のバッファ・メモリ
を適応管理する方法を提案していない。同様にBruce
R.Petersonらによる欧州特許出願番号第051747
3A2号では、可変長記憶ロケーションとデータ記憶シ
ステム内のバッファ・メモリとの間で、固定長データ・
ブロックを転送するプログラマブル・データ・シーケン
スを開示する。Petersonらは、データ・ブロック特性が
データ記憶媒体内のロケーションにより変化するゾーン
・バンド記録(ZBR:Zone-Band Recording)ディス
ク記憶機構における自動データ・ブロック順序化問題を
考慮する。しかしながら、彼らはプロセッサ制御による
可変長データ・ブロック化の域に留まっており、データ
・アクセス・パターンの変化に応じた適応バッファ・メ
モリ管理手段を提案していない。
【0012】従って、バッファ・メモリ・オペレーショ
ンを、入来データ・アクセス・パターンの変化に自動的
に適応化させる技術が求められる。もちろん、これには
こうしたパターンの変化を検出する好適な方法も含まれ
る。従来技術におけるこれらの未解決の欠点が後述のよ
うに本発明により解決される。
【0013】
【発明が解決しようとする課題】本発明の目的は、繰返
し及び順次アクセス・パターン間を予測不能に変化する
データ・アクセス・パターンに対応するバッファ・メモ
リ・ヒットを最適化するバッファ・メモリ管理機構を提
供することである。本発明の特徴は、連続順次DARの
数を決定するために入来DARがカウントされ、この数
が次にSAPを見い出すためにしきい値と比較されるこ
とである。本発明の別の特徴は、SAPが検出されると
バッファ・メモリ管理が循環上書きモード(COM)に
切り替えられることである。本発明の利点は、SAPの
有無に応ずる循環及び非循環バッファ・メモリ管理規則
の間の切替えが、変化するデータ・アクセス・パターン
に対応するバッファ・メモリ・ヒット数を実質的に改善
することである。
【0014】本発明の方法の別の目的は、その利点を入
来データ記憶アクセス要求が複数の処理スレッド間で切
り替わるマルチタスク処理環境に適応化することであ
る。本発明の特徴は、セグメント化バッファ・メモリ内
の各セグメントが本発明の方法により独立に動作され、
複数の独立の各処理スレッドに対して、本発明の適応セ
グメント管理方法を提供することである。更に本発明の
別の特徴は、SAPの検出に応じて、セグメント化バッ
ファ・メモリ内の各セグメントが、終了以前に最小量の
プリフェッチの実行を可能にするように動作されること
である。
【0015】本発明の上述の目的、特徴及び利点が、後
述の実施例を参考にすることによりより理解されよう。
【0016】
【課題を解決するための手段】本発明の方法は、入来D
ARのアクセス・パターンに応じて、バッファ管理規則
を動的に調整する適応機構を用いることにより、循環及
び非循環バッファ管理技法の両方を使用する。本発明の
方法はまたアクセス・パターン検出基準を確立する。こ
れは最初に、入来DARがデータ・ブロックを連続記憶
順序で指定する順次アクセス・パターン(SAP)と、
DARがデータ・ブロックを連続記憶順序で指定しない
非順次アクセス・パターン(NAP)とを識別する。個
々のバッファ・メモリ・セグメントはSAPまたはNA
Pの検出に応じて、循環上書きモード(COM)とブロ
ック上書きモード(BOM)との間を独立に切り替えら
れる。要求データ・ブロックの媒体記憶アドレスが直前
の要求データ・ブロックの媒体記憶アドレスに連続する
場合には、入来DARは"順次的"と見なされる。
【0017】
【発明の実施の形態】図1は、本発明の方法のアプリケ
ーションとして好適なデータ記憶システム10の単純な
機能ブロック図を示す。データ記憶システム10は、光
ディスク12、DASD14または比較的低速なRAM
16により示される1次記憶手段を含む。1次記憶手段
の正確な実施例は本発明の実施には重要でない。データ
は1次記憶手段12、14または16にデータ・ブロッ
クとして順番に記憶される。すなわち記憶されるデータ
・ブロックは、例えば記憶媒体内の物理ロケーションに
従うなど、特定の形式により論理的に順序付けられる。
【0018】データ・ブロックが1次記憶手段から取り
出されると、これらはバス18を介して読出しチャネル
制御装置20に渡される。読出しチャネル制御装置20
は、要求データ・ブロックをバス22に生成するために
必要な復号化及びデータ信号変換を実行する。局所バッ
ファ・メモリ制御装置24は、バス22からのデータ・
ブロックをバッファ・メモリ26に渡す。バッファ・メ
モリ26は"書込みスルー"・メモリとして構成されたり
するが、図1にはそのように示されていない。外部プロ
セッサ入出力(I/O)制御装置28は、データ・アク
セス要求(DAR)をI/Oバス30上に発行し、同一
のDARに応答して、局所バッファ制御装置24からI
/Oバス30を介してデータ・ブロックを受信する。
【0019】バッファ・メモリ26は、単一のセグメン
トとして、または図2に示されるように複数の独立制御
式メモリ・セグメントとして構成される。図2は複数の
メモリ・セグメントとして構成されるバッファ・メモリ
26を示し、セグメントの1つがメモリ・セグメント3
2により示される。各セグメントは32データ・ブロッ
クを含む連続記憶を提供し、ブロックの1つがメモリ・
セグメント32内のデータ・ブロック34(ブロック
2)により示される。周知のようにデータ・ブロック3
4は複数のデータ・バイトを含む。メモリ・セグメント
32内の各データ・ブロックは、通常、ブロック間を移
動する"最終アドレス"・ポインタ(図示せず)により、
すなわちブロック0から開始し、ブロック31へ至るポ
インタによりアドレス指定される。ブロック上書きモー
ド(BOM)で動作するとき、要求データ・ブロックは
メモリ・セグメント32の開始(ブロック0)に記憶さ
れ、続くプリフェッチ・データ・ブロックがセグメント
32の終り(ブロック31)に向けて順次書込まれる。
これはここではBOMオペレーションと称することにす
る。なぜならフェッチ及びプリフェッチ・オペレーショ
ンにおけるメモリ・セグメント32の選択が、メモリ・
セグメント32内の全ての位置を上書きする結果となる
からである。循環上書きモード(COM)で動作すると
きにはプリフェッチ・オペレーションはブロック31か
らブロック0に循環し、メモリ・セグメント32を通じ
て無期限に循環し、循環バッファ・オペレーションにお
いて既知のように常に新たなプリフェッチ・ブロック
を、"最終アドレス"・ポインタの直前に書込む。
【0020】図2では、本発明のバッファ・メモリ26
は、各セグメントに対応するモード・スイッチMを含
み、これらはメモリ・セグメント32に接続されるMx
スイッチ36により示される。メモリ・セグメント32
がCOMで動作されるとき、モード・スイッチ36は図
示のようにブロック31をブロック0に接続する。メモ
リ・セグメント32がBOMで動作されるときには、モ
ード・スイッチ36はこの循環接続を遮断する。バッフ
ァ・メモリ26内の各セグメントは、メモリ・セグメン
ト32に対して上述したように実質的に動作する。もち
ろん、バッファ・メモリ26が必要に応じて単一のセグ
メントとして構成されてもよい。
【0021】本発明の方法は、入来DARのアクセス・
パターンを検出し、それに応答する適応機構を用いるこ
とによりモード・スイッチ(モード・スイッチ36によ
り示される)の動作を制御する。この方法は2つの要素
を含むように理解される。すなわち、a)入来DARア
クセス・パターンの検出、及びb)それに応ずる適切な
バッファ・メモリ・セグメント・モードへの切替えであ
る。COMとBOMとの間の切替えの判断は、順次アク
セス・パターン(SAP)の有無の検出にもとづく。S
APの不在は、ここでは非順次アクセス・パターン(N
AP)と称することにする。
【0022】入来DARは、その開始アドレスが前のD
ARの最終アドレスに連続する場合、ここでは順次的と
称される。SAPは連続順次DARの数が所定のしきい
値を越えるとき検出され、適切なバッファ・セグメント
・モードが、その検出に応答してBOMからCOMに切
り替えられる。本発明の重要な要素は、NAPの検出に
応答してBOMへ再度切り替える肯定モードであり、こ
れは連続順次DARの数が所定のしきい値よりも下回っ
たときに発生する。
【0023】本発明の方法は、表1及び図4乃至図5を
参照することにより理解されよう。図4乃至図5は、単
一セグメント・バッファ・メモリの実施例に対応して表
1に示される擬似コードの流れ図表現である。なお、図
4及び図5の関係は、図3に示す通りである。
【0024】
【表1】 START: circular_buf_mgt=OFF; sequential_count=0; last_address=0; LOOP: 次のコマンドを獲得; if(command=WRITE){ sequential_count=0; circular_buf_mgt=OFF; } if(commnad=READ){ if(request_address=(last_address+1)){ sequential_count=sequential_count+1; if(sequential_count>しきい値){ circular_buf_mgt=ON; } } else{ sequential_count=0; circular_buf_mgt=OFF; } if(要求がバッファ・ヒット){ バッファから読出す; if(circular_buf_mgtがON){ ヒット・セグメント内の先行セクタを解放する; if(プリフェッチが進行中でない){ プリフェッチを再開; } } if(circular_buf_mgtがOFF){ ヒット・セグメント内の先行セクタを解放しない; } if(プリフェッチが進行中){ プリフェッチを継続する; } } if(要求がまだバッファ内に存在しないが、プリフェッチ範囲内にある){ データがディスクから読出されるのを待機し、次にホストに転送する; if(circular_buf_mgtがON){ ヒット・セグメント内の先行セクタを解放する; } if(circular_buf_mgtがOFF){ ヒット・セグメント内の先行セクタを解放しない; } プリフェッチを継続する; } if(要求がバッファ・ミス){ 無条件に進行中のプリフェッチを停止する; ディスク・アクセスの実行に移行する; 要求の実行後、新たなルックアヘッド・プリフェッチを開始する; } last_address=要求最終セクタのLBA; } goto LOOP
【0025】図4を参照すると、プロセスはステップ3
8で開始し、ステップ40でモード・スイッチがBOM
にセットされる。ステップ42で連続順次データ・ブロ
ック・アクセスの"カウント(COUNT)"が0にセットさ
れ、これは連続順次データ・ブロック・アクセスが存在
しないことを意味する。最後にステップ44で最終アド
レス(LA)を0にセットすることにより、初期化が完
了する。
【0026】プロセスは次にステップ46で次のDAR
を受諾することにより、メイン・ループを開始する。D
ARは所望のデータ・ブロックを指定する"要求アドレ
ス(RA)"を含む。ステップ48でDARが"書込み"
要求と判断されると、ステップ50でカウントが0にリ
セットされ、ステップ52でモードがBOMにリセット
され、その後、次のDARに対応するためにステップ4
6に復帰する。DARが"書込み"要求でない場合には、
ステップ54でそれが"読出し"要求かどうかをテストす
る。書込み要求でも読出し要求でもない場合には、ステ
ップ54は次のDARに対応するためにステップ46に
復帰する。DARが"読出し"要求の場合、ステップ56
で要求アドレス(RA)が最終アドレス(LA)の増分
と等しいかどうか(すなわちRA=LA+1かどうか)
をチェックすることにより、最新のDARが直前のDA
Rに順序的に連続するかどうかを判断する。
【0027】最新のDARが順序的に連続する場合、カ
ウントがステップ58で増分され、ステップ60で所定
のしきい値に対してテストされる。カウントがしきい値
以上であるとモードがステップ62でCOMに切り替え
られ、プロシージャは図5のステップ64に移行し、要
求データ・ブロックがバッファ・メモリ内に存在するか
どうか判断する。ステップ56で最新のDARが順序的
に連続しない場合には、カウントがステップ66で0に
リセットされ、モードがステップ68でBOMにセット
され、プロセスは図5のステップ64に移行する。
【0028】図5を参照すると、ステップ64で要求デ
ータ・ブロックがバッファ・メモリ内に存在すると判断
されると、1次記憶手段をアクセスするために必要な通
常の遅延無しにデータ・ブロックがステップ70で即時
生成される。ステップ70でバッファを読出した後、ス
テップ72でCOMかどうかをテストし、そうであるな
らば、ステップ74でLA以降のバッファ・メモリ・セ
クタを解放するが、COMでない、すなわちBOMであ
るならば、ステップ76でこれらのセクタをロックす
る。
【0029】ステップ74でセクタを解放後、ステップ
78でプリフェッチ媒体アクセスが進行中かどうかをチ
ェックする。進行中でないと、ステップ80で記憶媒体
に対する新たなフェッチ・アクセスを開始する。ステッ
プ82では、既に進行中の任意のフェッチ・アクセスを
継続し、次に後述のステップ94に移行する。ステップ
76の実行後は即時ステップ82に移行する。
【0030】DARが要求データ・ブロックがバッファ
・メモリ内に存在しないこと(すなわち"ミス")を見い
出すと、ステップ84で要求データ・ブロックがプリフ
ェッチ範囲内にあるかどうか、すなわち要求データ・ブ
ロックが進行中のプリフェッチ・アクセスの結果とし
て、バッファ・メモリに到来することが期待されるかど
うかを判断する。要求データ・ブロックがプリフェッチ
範囲内にあると、ステップ86で現プリフェッチ・アク
セスの完了を待機し、その後ステップ64に復帰してバ
ッファ・メモリ・ヒットを期待する。プリフェッチ範囲
内に無い場合には、ステップ88で即時現プリフェッチ
・アクセスを停止し、ステップ90でRAに対する新た
に必要なフェッチを開始する。RAフェッチの完了後、
ステップ92はプリフェッチ・アクセスの開始により媒
体アクセスを継続し、ステップ94では、LAを新たな
最終RAにリセットする。その後、プロセスは図4のス
テップ46に復帰し、次のDARを受諾する。
【0031】本発明者は、標準のベンチマーク・コンピ
ュータ・プログラムを使用することにより特定のDAS
Dに対して、図4乃至図5に関連して開示された本発明
の適応循環バッファ管理プロセスの効果をテストした。
これらのテスト結果を表2に示す。
【0032】
【表2】
【0033】表2に示されるように、本発明の方法の単
純な単一セグメント・メモリの実施例は、従来技術に対
して22%乃至75%の性能改善を達成することがわか
る。
【0034】マルチタスク環境(例えばOS/2)また
はマルチユーザ環境(例えばファイル・サーバ)では、
たとえタスクが順次DARを発行しても、DARが他の
タスクまたはユーザのDARと混合され、データ記憶シ
ステムにおいては見掛け上、非順次DARストリームと
なる。例えばタスクAがブロックA1、A2及びA3を
読出すための要求を発行し、タスクBがブロックB1、
B2及びB3を読出すための要求を発行すると、これら
はインタリーブされて、DASDはブロックA1、B
1、A2、B2、A3及びB3を要求するDARストリ
ームを受信することになり、これは明らかにSAPを示
さない。こうしたインタリーブドDARストリームは2
つの問題を生成する。第1は、B1の読出しの到来がA
ブロック・シーケンスのプリフェッチをプリエンプト
し、将来的なバッファ・ミスに至らせ、A2の読出しの
到来も同様にBブロック・シーケンスのプリフェッチを
プリエンプトし、将来的なバッファ・ミスを導出する。
これは好ましくないデータ記憶環境を生成する。第2
に、こうしたDARではSAPが決して検出されないた
めにバッファ・メモリが循環上書きモード(COM)に
入力することができない。
【0035】本発明のプロセスの単一セグメントの実施
例は、複数のDARストリームが単一のデータ記憶シス
テムにインタレース形式で委ねられ、あるユーザからの
順次DARストリームが、データ記憶システムに順次的
に現れない作業負荷環境を処理するように拡張されう
る。この環境は、図2に関連して上述されたバッファ・
メモリ・アーキテクチャ、すなわち別々の順次カウンタ
がメモリ・セグメント32により示される各バッファ・
セグメントに対応して保持されるアーキテクチャを使用
することにより調整されうる。表1及び図4乃至図5に
関連して上述された実施例は、ヒットが発生する単一の
バッファ・メモリ・セグメントに関連付けられる個々の
順次カウンタを増分することにより改善される。ヒット
は入来RAがその特定のメモリ・セグメントに関連付け
られるLAに連続する時に発生する。これら2つの改善
により、各バッファ・メモリ・セグメントが関連DAR
パターンがSAPかNAPかに依存して、COMとBO
Mとの間を個々に切り替わるようになる。
【0036】本発明の方法の好適な実施例は、複数のバ
ッファ・メモリ・セグメントを独立に動作することによ
り、この問題を解決する。各バッファ・メモリ・セグメ
ントは表1に関連して上述された本発明の方法に従い、
好適には、1つの異なるプロセスまたはユーザにのみ関
連付けられる。例えばブロックA1がセグメント1に割
当てられ、ブロックB1がセグメント2に割当てられ、
Aブロック・シーケンスの参照はセグメント1に関連付
けられ、Bブロック・シーケンスの参照はセグメント2
に関連付けられる。本発明のプロセスは、各セグメント
が自身の順次カウンタ及び関連DAR内で要求されるL
Aに対応する自身の値を保持することを要求するので、
残りのプロセスは実質的に図4乃至図5に関連して上述
したように動作する。表3は、インタリーブド順次DA
Rストリームに好適な本発明の好適な方法の擬似コード
例を示す。
【0037】
【表3】 START; sequential_flag(j)=OFF; sequential_count(j)=0 last_address(j)=0; } LOOP; 次のコマンドを獲得; if(command=READ){ k=このREADに関連付けられるセグメント番号; if(request_address=(last_address(k)+1)){ sequential_count(k)=sequential_count(k)+1; if(sequential_count(k)>しきい値){/*しきい値は要求サイズの関 数*/ sequential_flag(k)=ON } } else{ sequential_count(k)=0; sequential_flag(k)=OFF; } if(要求がバッファ・ヒット){ segment_kから読出す; if(sequential_flag(k)がON){ segment_k内の先行セクタを解放する; 最小のプリフェッチを許可する; if(プリフェッチが進行中でない){ プリフェッチを再開; /*これはオプションである*/ } } if(プリフェッチが進行中){ プリフェッチを継続する; } } if(要求がまだバッファ内に存在しないが、プリフェッチ範囲内にある) データがディスクから読出されるのを待機し、次にホストに転送する; if(sequential_flag(k)がON){ segment_k内の先行セクタを解放する; 最小のプリフェッチを許可する; } プリフェッチを継続する; } if(要求がバッファ・ミス){ 任意の要求最小プリフェッチを満たした後、進行中のプリフェッチを停 止する; ディスク・アクセスの実行に移行する; 要求の実行後、新たなルックアヘッド・プリフェッチを開始する; 最小プリフェッチを許可しない; } last_address(k)=要求最終セクタのLBA; } goto LOOP;
【0038】本発明の方法の重要な要素は、データ記憶
システムに新たなDARとして課せられる"最小プリフ
ェッチ"要求が受信されることである。従来の通常の態
様では、新たなDARの受信時に進行中のプリフェッチ
を即時プリエンプトする。本発明はこうしたプリエンプ
ション(preemption)以前に、特定の最小プリフェッチ
を実行する能力を提供する。
【0039】従って、上記表3に示される実施例では、
あるメモリ・セグメントがその関連DARストリーム内
にSAPを検出すると、そのセグメントは循環上書きモ
ード(COM)に切り替わるだけでなく、特定の最小数
のセクタがプリフェッチされるまで進行中のプリフェッ
チのプリエンプションを禁止する。本発明者は、このプ
リフェッチされる最小セクタ数が、16セクタまたはD
ARサイズの大きい方にセットされることを推奨する。
各バッファ・セグメントは自身のDARアクセス・パタ
ーンを検出するので、各セグメントは上述のように独立
に管理されうる。SAPを検出するカウントしきい値は
固定であるか、最新のDARに含まれるブロックの数
(要求サイズ)の関数である。しきい値は大きなDAR
サイズでは低減されるべきであり、本発明者は32ブロ
ック・セグメント・サイズよりも大きなDARでは、ゼ
ロしきい値を推奨する。
【0040】当業者には、上述の教示を鑑みることによ
り、本発明の他の実施例及び変更も容易に考案されよ
う。従って、本発明はこうした他の態様についても包含
するものである。
【0041】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0042】(1)データ記憶システム内のバッファ・
メモリを動作させる方法であって、前記データ記憶シス
テムが、データ・ブロック・シーケンスを記憶し、制御
装置手段を介して前記バッファ・メモリに接続される1
次記憶手段を有し、前記制御手段が、プロセッサ入出力
(I/O)手段からのデータ・アクセス要求(DAR)
により要求される1つ以上の前記の各データ・ブロック
を読出し、前記バッファ・メモリに記憶し、前記DAR
がアクセス・パターンを有する中断の無い連続DARシ
ーケンスの最新のDARであり、前記制御装置手段が、
前記1つ以上の要求データ・ブロックに続いて前記1次
記憶手段に連続的に記憶される複数の前記データ・ブロ
ックをプリフェッチする手段と、前記複数の連続データ
・ブロックを前記バッファ・メモリにブロック上書きモ
ード(BOM)または循環上書きモード(COM)によ
り記憶する手段とを有する、前記方法において、 a)前記DARシーケンス内の順次的前記アクセス・パ
ターン(SAP)または非順次的前記アクセス・パター
ン(NAP)のいずれか一方を検出するステップと、 b)前記SAPの検出に応答して、前記バッファ・メモ
リ記憶手段を前記循環上書きモード(COM)に切り替
えるステップと、 c)前記NAPの検出に応答して、前記バッファ・メモ
リ記憶手段を前記ブロック上書きモード(BOM)に切
り替えるステップと、を含む、方法。 (2)前記バッファ・メモリが、各々が独立に動作され
る複数のメモリ・セグメントを含み、アクティブな前記
バッファ・メモリ・セグメントが、前記SAPの検出に
応答して前記COMに切り替わり、前記NAPの検出に
応答して前記BOMに切り替わる、前記(1)記載の方
法。 (3)前記検出ステップa)が、 a.1)前記連続DARに対する所定のしきい値を選択
するステップと、 a.2)前記中断の無い連続DARシーケンス内におい
て受信される前記連続DARの数をカウントするステッ
プと、 a.3)前記連続DAR数が前記所定のしきい値を越え
る時、前記SAP検出を生成し、それ以外では前記NA
P検出を生成するステップと、を含む、前記(2)記載
の方法。 (4)前記選択ステップa.1)が、 a.1.1)前記DARにより要求される前記データ・
ブロックの数に応答して、前記所定のしきい値を変更す
るステップを含む、前記(3)記載の方法。 (5)前記プリフェッチ手段が、中断以前に最小数の前
記データ・ブロックのプリフェッチを実行する手段を含
み、前記第1の切替えステップb)が、 b.1)前記BOMにおける記憶に対応して、所定の複
数の前記データ・ブロックをプリフェッチするステップ
と、 b.2)前記COMにおける記憶に対応して、複数の前
記データ・ブロックをプリフェッチするステップと、を
含む、前記(4)記載の方法。 (6)データ記憶システム内のバッファ・メモリに接続
されるバッファ・メモリ制御装置であって、前記データ
記憶手段が、データ・ブロック・シーケンスを記憶し、
前記バッファ・メモリ制御装置を介して前記バッファ・
メモリ接続される1次記憶手段と、プロセッサI/O制
御装置から複数のデータ・アクセス要求(DAR)を受
諾する手段とを有し、前記の各DARがアクセス・パタ
ーンを有する中断の無い連続DARシーケンスの最新の
DARであるものにおいて、前記1次記憶手段及び前記
バッファ・メモリに接続され、前記各DARにより要求
される1つ以上の前記の各データ・ブロックを読出し、
前記バッファ・メモリに記憶するフェッチ手段と、前記
の各DARにより要求される前記1つ以上のデータ・ブ
ロックに続いて前記1次記憶手段に連続的に記憶される
複数の前記データ・ブロックを読出し、前記複数の連続
データ・ブロックを前記バッファ・メモリにブロック上
書きモード(BOM)または循環上書きモード(CO
M)により記憶する、前記フェッチ手段内のプリフェッ
チ手段と、前記フェッチ手段に接続され、前記の各中断
の無い連続DARシーケンス内の順次アクセス・パター
ン(SAP)または非順次アクセス・パターン(NA
P)のいずれか一方を検出する検出手段と、前記プリフ
ェッチ手段に接続され、前記SAP検出に応答して前記
プリフェッチ手段の記憶モードを前記COMに切り替
え、前記NAP検出に応答して、前記プリフェッチ記憶
手段を前記BOMに切り替える切替え手段と、を含む、
バッファ・メモリ制御装置。 (7)前記バッファ・メモリが、各々が前記SAP検出
に応答して前記COMにより、また前記NAP検出に応
答して前記BOMにより独立に動作される複数のメモリ
・セグメントを含む、前記(6)記載のバッファ・メモ
リ制御装置。 (8)前記検出手段が、前記連続DARに対する所定の
しきい値を選択する選択手段と、前記の各中断の無い連
続DARシーケンス内において受信される前記連続DA
Rの数をカウントするカウント手段と、前記選択手段及
び前記カウント手段に接続され、前記連続DAR数が前
記所定のしきい値を越える時、前記SAP検出を生成
し、それ以外では前記NAP検出を生成する比較手段
と、を含む、前記(7)記載のバッファ・メモリ制御装
置。 (9)前記選択手段が、前記の各DARにより要求され
る前記データ・ブロックの数に応答して、前記所定のし
きい値を変更する手段を含む、前記(8)記載のバッフ
ァ・メモリ制御装置。 (10)前記プリフェッチ手段が、中断以前に最小数の
前記データ・ブロックのプリフェッチを実行する最小プ
リフェッチ手段を含む、前記(9)記載のバッファ・メ
モリ制御装置。 (11)バッファ・メモリ制御装置を介してバッファ・
メモリに接続され、データ・ブロック・シーケンスを記
憶する回転磁気媒体を有する直接アクセス記憶装置(D
ASD)であって、プロセッサI/O制御装置から複数
のDARを受諾する入力手段であって、前記の各DAR
がアクセス・パターンを有する中断の無い連続DARシ
ーケンスの最新のDARである、前記入力手段と、前記
回転磁気媒体及び前記バッファ・メモリに接続され、前
記の各DARにより要求される1つ以上の前記の各デー
タ・ブロックを読出し、前記バッファ・メモリに記憶す
るフェッチ手段と、前記の各DARにより要求される前
記1つ以上のデータ・ブロックに続いて前記回転磁気媒
体に連続的に記憶される複数の前記データ・ブロックを
読出し、前記複数の連続データ・ブロックを前記バッフ
ァ・メモリにブロック上書きモード(BOM)または循
環上書きモード(COM)により記憶する、前記フェッ
チ手段内のプリフェッチ手段と、前記フェッチ手段に接
続され、前記の各中断の無い連続DARシーケンス内の
順次アクセス・パターン(SAP)または非順次アクセ
ス・パターン(NAP)のいずれか一方を検出する検出
手段と、前記プリフェッチ手段に接続され、前記SAP
検出に応答して、前記プリフェッチ記憶手段を前記CO
Mに切り替え、前記NAP検出に応答して、前記プリフ
ェッチ記憶手段を前記BOMに切り替える切替え手段
と、を含む、直接アクセス記憶装置。 (12)前記バッファ・メモリが、各々が前記SAP検
出に応答して前記COMにより、また前記NAP検出に
応答して前記BOMにより独立に動作される複数のメモ
リ・セグメントを含む、前記(11)記載の直接アクセ
ス記憶装置。 (13)前記検出手段が、前記連続DARに対する所定
のしきい値を選択する選択手段と、前記の各中断の無い
連続DARシーケンス内において受信される前記連続D
ARの数をカウントするカウント手段と、前記選択手段
及び前記カウント手段に接続され、前記連続DAR数が
前記所定のしきい値を越える時、前記SAP検出を生成
し、それ以外では前記NAP検出を生成する比較手段
と、を含む、前記(12)記載の直接アクセス記憶装
置。 (14)前記選択手段が、前記の各DARにより要求さ
れる前記データ・ブロックの数に応答して、前記所定の
しきい値を変更する手段を含む、前記(13)記載の直
接アクセス記憶装置。 (15)前記プリフェッチ手段が、中断以前に最小数の
前記データ・ブロックのプリフェッチを実行する最小プ
リフェッチ手段を含む、前記(14)記載の直接アクセ
ス記憶装置。 (16)バッファ・メモリ制御装置を介してバッファ・
メモリに接続され、データ・ブロック・シーケンスを記
憶する光記憶媒体を有する光データ記憶システムであっ
て、プロセッサI/O制御装置から複数のDARを受諾
する入力手段であって、前記の各DARがアクセス・パ
ターンを有する中断の無い連続DARシーケンスの最新
のDARである、前記入力手段と、前記光記憶媒体及び
前記バッファ・メモリに接続され、前記の各DARによ
り要求される1つ以上の前記の各データ・ブロックを読
出し、前記バッファ・メモリに記憶するフェッチ手段
と、前記の各DARにより要求される前記1つ以上のデ
ータ・ブロックに続いて前記光記憶媒体に連続的に記憶
される複数の前記データ・ブロックを読出し、前記複数
の連続データ・ブロックを前記バッファ・メモリにブロ
ック上書きモード(BOM)または循環上書きモード
(COM)により記憶する、前記フェッチ手段内のプリ
フェッチ手段と、前記フェッチ手段に接続され、前記の
各中断の無い連続DARシーケンス内の順次アクセス・
パターン(SAP)または非順次アクセス・パターン
(NAP)のいずれか一方を検出する検出手段と、前記
プリフェッチ手段に接続され、前記SAP検出に応答し
て、前記プリフェッチ記憶手段を前記COMに切り替
え、前記NAP検出に応答して、前記プリフェッチ記憶
手段を前記BOMに切り替える切替え手段と、を含む、
光データ記憶システム。 (17)前記バッファ・メモリが、各々が前記SAP検
出に応答して前記COMにより、また前記NAP検出に
応答して前記BOMにより独立に動作される複数のメモ
リ・セグメントを含む、前記(16)記載の光データ記
憶システム。 (18)前記検出手段が、前記連続DARに対する所定
のしきい値を選択する選択手段と、前記の各中断の無い
連続DARシーケンス内において受信される前記連続D
ARの数をカウントするカウント手段と、前記選択手段
及び前記カウント手段に接続され、前記連続DAR数が
前記所定のしきい値を越える時、前記SAP検出を生成
し、それ以外では前記NAP検出を生成する比較手段
と、を含む、前記(17)記載の光データ記憶システ
ム。 (19)前記選択手段が、前記の各DARにより要求さ
れる前記データ・ブロックの数に応答して、前記所定の
しきい値を変更する手段を含む、前記(18)記載の光
データ記憶システム。 (20)前記プリフェッチ手段が、中断以前に最小数の
前記データ・ブロックのプリフェッチを実行する最小プ
リフェッチ手段を含む、前記(19)記載の光データ記
憶システム。
【0043】
【発明の効果】以上説明したように、本発明によれば、
データ記憶システムにおけるバッファ・メモリ・ヒット
を最適化するように、予測バッファ・メモリ・プリフェ
ッチ・オペレーションを適応管理するシステムを提供す
ることができる。
【図面の簡単な説明】
【図1】本発明のバッファ・メモリ制御装置を含む典型
的なデータ記憶装置の機能ブロック図である。
【図2】本発明の方法に好適な典型的なマルチセグメン
ト・バッファ・メモリの機能ブロック図である。
【図3】図4及び図5の関係を示す図である。
【図4】本発明の方法の第1の典型的な実施例の流れ図
である。
【図5】本発明の方法の第1の典型的な実施例の流れ図
である。
【符号の説明】
10 データ記憶システム 12 光ディスク 14 DASD 16 RAM 18、22 バス 20 読出しチャネル制御装置 24 局所バッファ・メモリ制御装置 26 バッファ・メモリ 28 外部プロセッサ入出力(I/O)制御装置 30 I/Oバス 32 メモリ・セグメント 34 データ・ブロック 36 Mxスイッチ・モード・スイッチ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 5/06 331 G06F 12/08 G06F 13/12 340 G06F 13/18 510

Claims (20)

    (57)【特許請求の範囲】
  1. 【請求項1】データ記憶システム内のバッファ・メモリ
    を動作させる方法であって、前記データ記憶システム
    が、データ・ブロック・シーケンスを記憶し、制御装置
    手段を介して前記バッファ・メモリに接続される1次記
    憶手段を有し、前記制御手段が、プロセッサ入出力(I
    /O)手段からのデータ・アクセス要求(DAR)によ
    り要求される1つ以上の前記の各データ・ブロックを読
    出し、前記バッファ・メモリに記憶し、前記DARがア
    クセス・パターンを有する中断の無い連続DARシーケ
    ンスの最新のDARであり、前記制御装置手段が、前記
    1つ以上の要求データ・ブロックに続いて前記1次記憶
    手段に連続的に記憶される複数の前記データ・ブロック
    をプリフェッチする手段と、前記複数の連続データ・ブ
    ロックを前記バッファ・メモリにブロック上書きモード
    (BOM)または循環上書きモード(COM)により記
    憶する手段とを有する、前記方法において、 a)前記DARシーケンス内の順次的前記アクセス・パ
    ターン(SAP)または非順次的前記アクセス・パター
    ン(NAP)のいずれか一方を検出するステップと、 b)前記SAPの検出に応答して、前記バッファ・メモ
    リ記憶手段を前記循環上書きモード(COM)に切り替
    えるステップと、 c)前記NAPの検出に応答して、前記バッファ・メモ
    リ記憶手段を前記ブロック上書きモード(BOM)に切
    り替えるステップと、 を含む、方法。
  2. 【請求項2】前記バッファ・メモリが、各々が独立に動
    作される複数のメモリ・セグメントを含み、アクティブ
    な前記バッファ・メモリ・セグメントが、前記SAPの
    検出に応答して前記COMに切り替わり、前記NAPの
    検出に応答して前記BOMに切り替わる、請求項1記載
    の方法。
  3. 【請求項3】前記検出ステップa)が、 a.1)前記連続DARに対する所定のしきい値を選択
    するステップと、 a.2)前記中断の無い連続DARシーケンス内におい
    て受信される前記連続DARの数をカウントするステッ
    プと、 a.3)前記連続DAR数が前記所定のしきい値を越え
    る時、前記SAP検出を生成し、それ以外では前記NA
    P検出を生成するステップと、 を含む、請求項2記載の方法。
  4. 【請求項4】前記選択ステップa.1)が、 a.1.1)前記DARにより要求される前記データ・
    ブロックの数に応答して、前記所定のしきい値を変更す
    るステップを含む、請求項3記載の方法。
  5. 【請求項5】前記プリフェッチ手段が、中断以前に最小
    数の前記データ・ブロックのプリフェッチを実行する手
    段を含み、前記第1の切替えステップb)が、 b.1)前記BOMにおける記憶に対応して、所定の複
    数の前記データ・ブロックをプリフェッチするステップ
    と、 b.2)前記COMにおける記憶に対応して、複数の前
    記データ・ブロックをプリフェッチするステップと、 を含む、請求項4記載の方法。
  6. 【請求項6】データ記憶システム内のバッファ・メモリ
    に接続されるバッファ・メモリ制御装置であって、前記
    データ記憶手段が、データ・ブロック・シーケンスを記
    憶し、前記バッファ・メモリ制御装置を介して前記バッ
    ファ・メモリ接続される1次記憶手段と、プロセッサI
    /O制御装置から複数のデータ・アクセス要求(DA
    R)を受諾する手段とを有し、前記の各DARがアクセ
    ス・パターンを有する中断の無い連続DARシーケンス
    の最新のDARであるものにおいて、 前記1次記憶手段及び前記バッファ・メモリに接続さ
    れ、前記各DARにより要求される1つ以上の前記の各
    データ・ブロックを読出し、前記バッファ・メモリに記
    憶するフェッチ手段と、 前記の各DARにより要求される前記1つ以上のデータ
    ・ブロックに続いて前記1次記憶手段に連続的に記憶さ
    れる複数の前記データ・ブロックを読出し、前記複数の
    連続データ・ブロックを前記バッファ・メモリにブロッ
    ク上書きモード(BOM)または循環上書きモード(C
    OM)により記憶する、前記フェッチ手段内のプリフェ
    ッチ手段と、 前記フェッチ手段に接続され、前記の各中断の無い連続
    DARシーケンス内の順次アクセス・パターン(SA
    P)または非順次アクセス・パターン(NAP)のいず
    れか一方を検出する検出手段と、 前記プリフェッチ手段に接続され、前記SAP検出に応
    答して前記プリフェッチ手段の記憶モードを前記COM
    に切り替え、前記NAP検出に応答して、前記プリフェ
    ッチ記憶手段を前記BOMに切り替える切替え手段と、 を含む、バッファ・メモリ制御装置。
  7. 【請求項7】前記バッファ・メモリが、各々が前記SA
    P検出に応答して前記COMにより、また前記NAP検
    出に応答して前記BOMにより独立に動作される複数の
    メモリ・セグメントを含む、請求項6記載のバッファ・
    メモリ制御装置。
  8. 【請求項8】前記検出手段が、 前記連続DARに対する所定のしきい値を選択する選択
    手段と、 前記の各中断の無い連続DARシーケンス内において受
    信される前記連続DARの数をカウントするカウント手
    段と、 前記選択手段及び前記カウント手段に接続され、前記連
    続DAR数が前記所定のしきい値を越える時、前記SA
    P検出を生成し、それ以外では前記NAP検出を生成す
    る比較手段と、 を含む、請求項7記載のバッファ・メモリ制御装置。
  9. 【請求項9】前記選択手段が、前記の各DARにより要
    求される前記データ・ブロックの数に応答して、前記所
    定のしきい値を変更する手段を含む、請求項8記載のバ
    ッファ・メモリ制御装置。
  10. 【請求項10】前記プリフェッチ手段が、中断以前に最
    小数の前記データ・ブロックのプリフェッチを実行する
    最小プリフェッチ手段を含む、請求項9記載のバッファ
    ・メモリ制御装置。
  11. 【請求項11】バッファ・メモリ制御装置を介してバッ
    ファ・メモリに接続され、データ・ブロック・シーケン
    スを記憶する回転磁気媒体を有する直接アクセス記憶装
    置(DASD)であって、 プロセッサI/O制御装置から複数のDARを受諾する
    入力手段であって、前記の各DARがアクセス・パター
    ンを有する中断の無い連続DARシーケンスの最新のD
    ARである、前記入力手段と、 前記回転磁気媒体及び前記バッファ・メモリに接続さ
    れ、前記の各DARにより要求される1つ以上の前記の
    各データ・ブロックを読出し、前記バッファ・メモリに
    記憶するフェッチ手段と、 前記の各DARにより要求される前記1つ以上のデータ
    ・ブロックに続いて前記回転磁気媒体に連続的に記憶さ
    れる複数の前記データ・ブロックを読出し、前記複数の
    連続データ・ブロックを前記バッファ・メモリにブロッ
    ク上書きモード(BOM)または循環上書きモード(C
    OM)により記憶する、前記フェッチ手段内のプリフェ
    ッチ手段と、 前記フェッチ手段に接続され、前記の各中断の無い連続
    DARシーケンス内の順次アクセス・パターン(SA
    P)または非順次アクセス・パターン(NAP)のいず
    れか一方を検出する検出手段と、 前記プリフェッチ手段に接続され、前記SAP検出に応
    答して、前記プリフェッチ記憶手段を前記COMに切り
    替え、前記NAP検出に応答して、前記プリフェッチ記
    憶手段を前記BOMに切り替える切替え手段と、 を含む、直接アクセス記憶装置。
  12. 【請求項12】前記バッファ・メモリが、各々が前記S
    AP検出に応答して前記COMにより、また前記NAP
    検出に応答して前記BOMにより独立に動作される複数
    のメモリ・セグメントを含む、請求項11記載の直接ア
    クセス記憶装置。
  13. 【請求項13】前記検出手段が、 前記連続DARに対する所定のしきい値を選択する選択
    手段と、 前記の各中断の無い連続DARシーケンス内において受
    信される前記連続DARの数をカウントするカウント手
    段と、 前記選択手段及び前記カウント手段に接続され、前記連
    続DAR数が前記所定のしきい値を越える時、前記SA
    P検出を生成し、それ以外では前記NAP検出を生成す
    る比較手段と、 を含む、請求項12記載の直接アクセス記憶装置。
  14. 【請求項14】前記選択手段が、前記の各DARにより
    要求される前記データ・ブロックの数に応答して、前記
    所定のしきい値を変更する手段を含む、請求項13記載
    の直接アクセス記憶装置。
  15. 【請求項15】前記プリフェッチ手段が、中断以前に最
    小数の前記データ・ブロックのプリフェッチを実行する
    最小プリフェッチ手段を含む、請求項14記載の直接ア
    クセス記憶装置。
  16. 【請求項16】バッファ・メモリ制御装置を介してバッ
    ファ・メモリに接続され、データ・ブロック・シーケン
    スを記憶する光記憶媒体を有する光データ記憶システム
    であって、 プロセッサI/O制御装置から複数のDARを受諾する
    入力手段であって、前記の各DARがアクセス・パター
    ンを有する中断の無い連続DARシーケンスの最新のD
    ARである、前記入力手段と、 前記光記憶媒体及び前記バッファ・メモリに接続され、
    前記の各DARにより要求される1つ以上の前記の各デ
    ータ・ブロックを読出し、前記バッファ・メモリに記憶
    するフェッチ手段と、 前記の各DARにより要求される前記1つ以上のデータ
    ・ブロックに続いて前記光記憶媒体に連続的に記憶され
    る複数の前記データ・ブロックを読出し、前記複数の連
    続データ・ブロックを前記バッファ・メモリにブロック
    上書きモード(BOM)または循環上書きモード(CO
    M)により記憶する、前記フェッチ手段内のプリフェッ
    チ手段と、 前記フェッチ手段に接続され、前記の各中断の無い連続
    DARシーケンス内の順次アクセス・パターン(SA
    P)または非順次アクセス・パターン(NAP)のいず
    れか一方を検出する検出手段と、 前記プリフェッチ手段に接続され、前記SAP検出に応
    答して、前記プリフェッチ記憶手段を前記COMに切り
    替え、前記NAP検出に応答して、前記プリフェッチ記
    憶手段を前記BOMに切り替える切替え手段と、 を含む、光データ記憶システム。
  17. 【請求項17】前記バッファ・メモリが、各々が前記S
    AP検出に応答して前記COMにより、また前記NAP
    検出に応答して前記BOMにより独立に動作される複数
    のメモリ・セグメントを含む、請求項16記載の光デー
    タ記憶システム。
  18. 【請求項18】前記検出手段が、 前記連続DARに対する所定のしきい値を選択する選択
    手段と、 前記の各中断の無い連続DARシーケンス内において受
    信される前記連続DARの数をカウントするカウント手
    段と、 前記選択手段及び前記カウント手段に接続され、前記連
    続DAR数が前記所定のしきい値を越える時、前記SA
    P検出を生成し、それ以外では前記NAP検出を生成す
    る比較手段と、 を含む、請求項17記載の光データ記憶システム。
  19. 【請求項19】前記選択手段が、前記の各DARにより
    要求される前記データ・ブロックの数に応答して、前記
    所定のしきい値を変更する手段を含む、請求項18記載
    の光データ記憶システム。
  20. 【請求項20】前記プリフェッチ手段が、中断以前に最
    小数の前記データ・ブロックのプリフェッチを実行する
    最小プリフェッチ手段を含む、請求項19記載の光デー
    タ記憶システム。
JP7288456A 1994-11-14 1995-11-07 バッファ・メモリを動作させる方法及び関連する装置 Expired - Lifetime JP2986088B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US338919 1989-04-14
US08/338,919 US5623608A (en) 1994-11-14 1994-11-14 Method and apparatus for adaptive circular predictive buffer management

Publications (2)

Publication Number Publication Date
JPH08212054A JPH08212054A (ja) 1996-08-20
JP2986088B2 true JP2986088B2 (ja) 1999-12-06

Family

ID=23326694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7288456A Expired - Lifetime JP2986088B2 (ja) 1994-11-14 1995-11-07 バッファ・メモリを動作させる方法及び関連する装置

Country Status (4)

Country Link
US (1) US5623608A (ja)
EP (1) EP0712082A1 (ja)
JP (1) JP2986088B2 (ja)
KR (1) KR100227438B1 (ja)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3620068B2 (ja) * 1994-07-08 2005-02-16 セイコーエプソン株式会社 情報入力装置および情報入力方法
JPH08185271A (ja) * 1994-12-27 1996-07-16 Internatl Business Mach Corp <Ibm> ディスク装置用データ処理方法及びディスク装置
JP3597247B2 (ja) * 1995-03-15 2004-12-02 富士通株式会社 可換媒体型記憶装置及び光ディスク装置及びデータ転送制御方法
EP0752645B1 (en) * 1995-07-07 2017-11-22 Oracle America, Inc. Tunable software control of Harvard architecture cache memories using prefetch instructions
US5761468A (en) * 1996-05-15 1998-06-02 Sun Microsystems Inc Hardware mechanism for optimizing instruction and data prefetching by forming augmented prefetch instructions
KR19980029917A (ko) * 1996-10-28 1998-07-25 김광호 자기 디스크 드라이브에서 읽기 캐쉬의 성능을 높이기 위한 방법
US6553476B1 (en) * 1997-02-10 2003-04-22 Matsushita Electric Industrial Co., Ltd. Storage management based on predicted I/O execution times
JPH10269027A (ja) * 1997-03-26 1998-10-09 Toshiba Corp ディスク装置及び同装置におけるバッファ管理制御方法
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
US7088387B1 (en) * 1997-08-05 2006-08-08 Mitsubishi Electric Research Laboratories, Inc. Video recording device responsive to triggering event
US6012106A (en) * 1997-11-03 2000-01-04 Digital Equipment Corporation Prefetch management for DMA read transactions depending upon past history of actual transfer lengths
US6363076B1 (en) 1998-01-27 2002-03-26 International Business Machines Corporation Phantom buffer for interfacing between buses of differing speeds
US6327644B1 (en) 1998-08-18 2001-12-04 International Business Machines Corporation Method and system for managing data in cache
US6141731A (en) * 1998-08-19 2000-10-31 International Business Machines Corporation Method and system for managing data in cache using multiple data structures
US6381677B1 (en) * 1998-08-19 2002-04-30 International Business Machines Corporation Method and system for staging data into cache
US6314478B1 (en) 1998-12-29 2001-11-06 Nec America, Inc. System for accessing a space appended to a circular queue after traversing an end of the queue and upon completion copying data back to the queue
US6260115B1 (en) 1999-05-13 2001-07-10 Storage Technology Corporation Sequential detection and prestaging methods for a disk storage subsystem
US6622212B1 (en) * 1999-05-24 2003-09-16 Intel Corp. Adaptive prefetch of I/O data blocks
TW441195B (en) * 1999-07-16 2001-06-16 Via Tech Inc Signal decoding method
US6567894B1 (en) 1999-12-08 2003-05-20 International Business Machines Corporation Method and apparatus to prefetch sequential pages in a multi-stream environment
TW455870B (en) * 1999-12-09 2001-09-21 Acer Labs Inc Memory mapping method
US6934807B1 (en) * 2000-03-31 2005-08-23 Intel Corporation Determining an amount of data read from a storage medium
JP3403707B2 (ja) * 2000-09-29 2003-05-06 松下電器産業株式会社 描画装置
US6813693B2 (en) * 2000-12-11 2004-11-02 Microsoft Corporation System and method for the discovery and use of repetitively accessed data
US6988186B2 (en) * 2001-06-28 2006-01-17 International Business Machines Corporation Shared resource queue for simultaneous multithreading processing wherein entries allocated to different threads are capable of being interspersed among each other and a head pointer for one thread is capable of wrapping around its own tail in order to access a free entry
US6848030B2 (en) * 2001-07-20 2005-01-25 Freescale Semiconductor, Inc. Method and apparatus for filling lines in a cache
KR20030032414A (ko) * 2001-10-18 2003-04-26 주식회사 엠씨글로벌 멀티미디어 데이터의 버퍼링 방법
JP2003140965A (ja) * 2001-11-07 2003-05-16 Hitachi Ltd 分散共有メモリ型並列計算機および命令スケジューリング方法
US6957300B2 (en) * 2001-11-30 2005-10-18 Seagate Technology Llc Reducing delay of command completion due to overlap condition
US6795899B2 (en) * 2002-03-22 2004-09-21 Intel Corporation Memory system with burst length shorter than prefetch length
US6920530B2 (en) * 2002-04-23 2005-07-19 Sun Microsystems, Inc. Scheme for reordering instructions via an instruction caching mechanism
US6785772B2 (en) * 2002-04-26 2004-08-31 Freescale Semiconductor, Inc. Data prefetching apparatus in a data processing system and method therefor
US6751709B2 (en) * 2002-05-15 2004-06-15 Sun Microsystems, Inc. Method and apparatus for prefetching objects into an object cache
US7035979B2 (en) * 2002-05-22 2006-04-25 International Business Machines Corporation Method and apparatus for optimizing cache hit ratio in non L1 caches
JP4067887B2 (ja) * 2002-06-28 2008-03-26 富士通株式会社 プリフェッチを行う演算処理装置、情報処理装置及びそれらの制御方法
US6865649B2 (en) * 2002-10-10 2005-03-08 Sun Microsystems, Inc. Method and apparatus for pre-fetching data during program execution
US6931477B2 (en) * 2002-12-31 2005-08-16 Motorola, Inc. Method and apparatus for patching code and data residing on a memory
US8286237B2 (en) * 2003-02-25 2012-10-09 Ibm International Group B.V. Method and apparatus to detect unauthorized information disclosure via content anomaly detection
US6910197B2 (en) * 2003-06-20 2005-06-21 Sun Microsystems, Inc. System for optimizing buffers in integrated circuit design timing fixes
US7139879B2 (en) * 2003-07-24 2006-11-21 International Business Machinces Corporation System and method of improving fault-based multi-page pre-fetches
US8880893B2 (en) * 2003-09-26 2014-11-04 Ibm International Group B.V. Enterprise information asset protection through insider attack specification, monitoring and mitigation
US6983437B2 (en) * 2003-11-05 2006-01-03 Sun Microsystems, Inc. Timing verification, automated multicycle generation and verification
US20050172091A1 (en) * 2004-01-29 2005-08-04 Rotithor Hemant G. Method and an apparatus for interleaving read data return in a packetized interconnect to memory
US7099995B2 (en) * 2004-02-17 2006-08-29 International Business Machines Corporation Metadata access during error handling routines
JP5059609B2 (ja) * 2004-08-17 2012-10-24 エヌヴィディア コーポレイション メモリへの様々なタイプのアクセスを予測するため、およびキャッシュメモリに関連付けられた予測を管理するための、システム、装置、および方法
US7461211B2 (en) * 2004-08-17 2008-12-02 Nvidia Corporation System, apparatus and method for generating nonsequential predictions to access a memory
US20060074872A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation Adaptive database buffer memory management using dynamic SQL statement cache statistics
US20060200631A1 (en) * 2005-03-02 2006-09-07 Mitsubishi Denki Kabushiki Kaisha Control circuit and control method
US7340710B1 (en) 2005-04-18 2008-03-04 Sun Microsystems, Inc. Integrated circuit binning and layout design system
US7404161B2 (en) * 2005-06-08 2008-07-22 Sun Microsystems, Inc. Fullchip functional equivalency and physical verification
US7743216B2 (en) * 2006-06-30 2010-06-22 Seagate Technology Llc Predicting accesses to non-requested data
US7996623B2 (en) * 2006-06-30 2011-08-09 Seagate Technology Llc Read ahead storage control
US7590800B2 (en) * 2006-06-30 2009-09-15 Seagate Technology Llc 2D dynamic adaptive data caching
KR100837400B1 (ko) 2006-07-20 2008-06-12 삼성전자주식회사 멀티스레딩/비순차 병합 기법에 따라 처리하는 방법 및장치
US7676630B2 (en) * 2006-10-05 2010-03-09 Sun Microsystems, Inc. Method and apparatus for using a determined file access pattern to perform caching in a file system
US20090210622A1 (en) * 2008-02-19 2009-08-20 Stefan Birrer Compressed cache in a controller partition
KR100998929B1 (ko) * 2009-01-23 2010-12-09 한국과학기술원 캐쉬 컨트롤러 장치, 캐쉬 컨트롤러 장치를 이용한 인터페이스 방법 및 프로그래밍 방법
US7890675B2 (en) * 2009-03-05 2011-02-15 International Business Machines Corporation Apparatus, system, and method for real time job-specific buffer allocation
US20110035804A1 (en) * 2009-04-07 2011-02-10 Pratyush Moghe Appliance-based parallelized analytics of data auditing events
US20110035781A1 (en) * 2009-04-07 2011-02-10 Pratyush Moghe Distributed data search, audit and analytics
US8667190B2 (en) 2009-07-20 2014-03-04 Freescale Semiconductor, Inc. Signal processing system, integrated circuit comprising buffer control logic and method therefor
KR101608671B1 (ko) * 2009-12-16 2016-04-05 삼성전자주식회사 휴대 단말기의 프로세서 간 데이터 통신 방법 및 장치
JP5730126B2 (ja) * 2011-05-18 2015-06-03 キヤノン株式会社 データ供給装置、キャッシュ装置、データ供給方法、キャッシュ方法およびプログラム
US9239871B2 (en) * 2011-07-06 2016-01-19 Ca, Inc. System and method for analyzing sequential data access efficiency
CN104520808A (zh) * 2012-07-12 2015-04-15 惠普发展公司,有限责任合伙企业 提供待检索的数据
US8738577B1 (en) 2013-03-01 2014-05-27 Storagecraft Technology Corporation Change tracking for multiphase deduplication
US8874527B2 (en) 2013-03-01 2014-10-28 Storagecraft Technology Corporation Local seeding of a restore storage for restoring a backup from a remote deduplication vault storage
US8732135B1 (en) * 2013-03-01 2014-05-20 Storagecraft Technology Corporation Restoring a backup from a deduplication vault storage
US20140250077A1 (en) * 2013-03-01 2014-09-04 Storagecraft Technology Corporation Deduplication vault storage seeding
US8751454B1 (en) 2014-01-28 2014-06-10 Storagecraft Technology Corporation Virtual defragmentation in a deduplication vault
JP2016028319A (ja) * 2014-07-08 2016-02-25 富士通株式会社 アクセス制御プログラム、アクセス制御装置及びアクセス制御方法
CN107358415B (zh) * 2017-07-24 2021-01-12 隆鑫通用动力股份有限公司 一种sap外协下阶物料采购与管控方法
JP7452031B2 (ja) 2020-01-27 2024-03-19 富士通株式会社 情報処理装置,情報処理システム及びプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4377852A (en) * 1980-03-31 1983-03-22 Texas Instruments Incorporated Terminal emulator
US4442488A (en) * 1980-05-05 1984-04-10 Floating Point Systems, Inc. Instruction cache memory system
US4882642A (en) * 1987-07-02 1989-11-21 International Business Machines Corporation Sequentially processing data in a cached data storage system
JP2514208B2 (ja) * 1987-07-15 1996-07-10 富士通株式会社 ホットスタンドバイメモリ−コピ−方式
US4926323A (en) * 1988-03-03 1990-05-15 Advanced Micro Devices, Inc. Streamlined instruction processor
US5003471A (en) * 1988-09-01 1991-03-26 Gibson Glenn A Windowed programmable data transferring apparatus which uses a selective number of address offset registers and synchronizes memory access to buffer
US5255136A (en) * 1990-08-17 1993-10-19 Quantum Corporation High capacity submicro-winchester fixed disk drive
US5235551A (en) * 1991-01-08 1993-08-10 Pacific Data Products, Inc. Memory addressing scheme
DE69230101T2 (de) * 1991-06-04 2000-03-02 Quantum Corp Miniaturplattenantriebsgerät mit eingebettetem Servosektor und trennbaren Datenfeldern und sofortiger Datenblockreihenfolge
EP0553338B1 (en) * 1991-08-16 1999-10-13 Cypress Semiconductor Corp. High-performance dynamic memory system
US5285527A (en) * 1991-12-11 1994-02-08 Northern Telecom Limited Predictive historical cache memory
US5381539A (en) * 1992-06-04 1995-01-10 Emc Corporation System and method for dynamically controlling cache management

Also Published As

Publication number Publication date
US5623608A (en) 1997-04-22
JPH08212054A (ja) 1996-08-20
EP0712082A1 (en) 1996-05-15
KR100227438B1 (ko) 1999-11-01
KR960018905A (ko) 1996-06-17

Similar Documents

Publication Publication Date Title
JP2986088B2 (ja) バッファ・メモリを動作させる方法及び関連する装置
US6381677B1 (en) Method and system for staging data into cache
JP3875738B2 (ja) ロード・バッファを備えたロード/ストア・ユニット内にて切り離されたタグ及びデータ・アレイへのアクセス方法及びそのアレイを有する装置
US5410653A (en) Asynchronous read-ahead disk caching using multiple disk I/O processes and dynamically variable prefetch length
CN105159844B (zh) 数据处理装置中的动态缓存分配策略调适
US4875155A (en) Peripheral subsystem having read/write cache with record access
US4811203A (en) Hierarchial memory system with separate criteria for replacement and writeback without replacement
US6484239B1 (en) Prefetch queue
EP0795820B1 (en) Combined prefetch buffer and instructions cache memory system and method for providing instructions to a central processing unit utilizing said system.
JP3512678B2 (ja) キャッシュメモリ制御装置および計算機システム
EP1710693B1 (en) Apparatus and method for supporting execution of prefetch threads
JP3739491B2 (ja) プリフェッチ命令を用いるハーバードアーキテクチャキャッシュメモリの調和したソフトウェア制御
US5649153A (en) Aggressive adaption algorithm for selective record caching
KR100668001B1 (ko) 메모리 액세스를 제어하기 위한 방법 및 장치
US5224217A (en) Computer system which uses a least-recently-used algorithm for manipulating data tags when performing cache replacement
EP0207288A2 (en) Peripheral subsystem initialization method and apparatus
JPH06289999A (ja) ディスク制御システム
JPH0675897A (ja) 分割を許容するバッファ・メモリ管理方法及びその装置
US6931490B2 (en) Set address correlation address predictors for long memory latencies
US7191319B1 (en) System and method for preloading cache memory in response to an occurrence of a context switch
EP0354931B1 (en) Cache/disk system having command selection based on disk access time
JP3122702B2 (ja) ディスク装置のライトバック制御方法
JP3214452B2 (ja) 磁気ディスク制御装置
US20080082739A1 (en) Method and apparatus for scheduling disk read requests
JPH0477344B2 (ja)