JP2000207283A - デ―タ処理システムに於けるメモリ制御 - Google Patents

デ―タ処理システムに於けるメモリ制御

Info

Publication number
JP2000207283A
JP2000207283A JP11307335A JP30733599A JP2000207283A JP 2000207283 A JP2000207283 A JP 2000207283A JP 11307335 A JP11307335 A JP 11307335A JP 30733599 A JP30733599 A JP 30733599A JP 2000207283 A JP2000207283 A JP 2000207283A
Authority
JP
Japan
Prior art keywords
cache
data processing
data
memory
main memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP11307335A
Other languages
English (en)
Other versions
JP4468521B2 (ja
Inventor
Kershaw Daniel
カーショウ ダニエル
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.)
ARM Ltd
Original Assignee
Advanced Risc Machines Ltd
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 Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of JP2000207283A publication Critical patent/JP2000207283A/ja
Application granted granted Critical
Publication of JP4468521B2 publication Critical patent/JP4468521B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

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)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 データ処理システムに於ける効率的なメモリ
システムの管理並びに制御を実現する。 【解決手段】 メモリアクセス要求が発生してキャッシ
ュミスが生じた場合に、キャッシュを入れ替えるために
取り除くべきキャッシュ(ビクティムキャッシュ)を選
ぶ必要がある。その際、特定の機器で占有されていない
キャッシュか否か、キャッシュ存在中に書き換えられた
ために主メモリに書き戻す必要があるか否か、書き戻し
先の主メモリがビジーであるか否かを判定して最も処理
に要する時間が短くかつ最近最も使用されていないキャ
ッシュの中から、ビクティムキャッシュを選んで効率化
を図る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ処理システム
に関する。更に詳細には、本発明はデータ処理システム
に於けるメモリシステムの管理並びに制御に関する。
【0002】
【従来の技術】データ処理システムは、処理能力に対し
て寄せられる増大する要求に合致するように可能な限り
迅速に動作すべきである。この点に関して不断の進歩が
なされており、より高速で動作し従って毎秒更に多くの
命令を実行できる処理システムが作り出されている。プ
ロセッサの速度が増すに従って、重要な事はデータ処理
システムのその他のシステムも速度を上げて、システム
全体性能を低下させる処理ボトルネックとならないよう
にすることである。その様なその他のシステムの一例は
データ処理システムに関連するメモリシステムである。
【0003】高性能データ処理システムのメモリシステ
ムは、階層レベル構造のデータ記憶装置、例えば内部オ
ンチップキャッシュ、外部オフチップキャッシュ、ラン
ダムアクセスメモリ及びハードドライブまたはフラッシ
ュROMの様な不揮発メモリを含む。データ処理システ
ムのメモリシステムの全体性能を向上させることの出来
る技法は非常に有益である。
【0004】
【課題を解決するための手段】本発明は1つの特徴とし
てデータ処理装置を提供し、これは: (i)複数のキャッシュ格納ラインを有する1つのキャ
ッシュメモリと; (ii)前記キャッシュメモリ内にキャッシュされるべ
きデータワードを格納するように動作可能な、複数の主
メモリユニットと; (iii)キャッシュミスに続いて前記主メモリユニッ
トの1つから1つまたは複数のデータワードが転送され
るべき宛先であるビクティム(victim)キャッシ
ュ格納ラインを選択するためのキャッシュビクティム選
択回路とを含み; (iv)前記キャッシュビクティム選択回路が、前記ビ
クティムキャッシュ格納ラインを選択する際に前記主メ
モリユニットの少なくとも1つの動作状態に応答するこ
とを含む。
【0005】キャッシュメモリは典型的には、システム
から要求される全てのデータを格納するのに十分な記憶
容量を有する訳ではない。従ってキャッシュメモリは全
データの部分集合を格納し、メモリアクセス要求がキャ
ッシュの中に格納されていないデータの項目に行われた
際にはそのデータ項目はキャッシュにフェッチされなけ
ればならない。キャッシュ内にデータの新たな項目用に
余地を作るために、データの既存の項目がキャッシュか
ら取り除かれなければならない。どのキャッシュ格納ラ
イン(データ項目の集合)を置き換えるべきかの選択が
キャッシュ・ビクティム選択回路で実行される。キャッ
シュメモリ内にキャッシュされるべきデータを保持して
いる複数の主メモリユニットが存在する場合、異なる複
数のビクティム選択がこの主メモリユニットの異なる1
つに対してなされる複数のアクセスを要求する。この環
境に於いて、キャッシュビクティム選択回路が少なくと
も1つの主メモリユニットの動作状態に応答すべきであ
ることが強く望まれる。キャッシュビクティム選択回路
が少なくとも1つの主メモリユニットの動作状態に応答
するように構成することにより、ビクティム選択が検出
された動作状態に応じて調整され、従って最も少ない遅
延を生じるキャッシュビクティムの選択を通してより高
い性能を得ることが可能となる。
【0006】本発明は特に、キャッシュメモリが書き戻
しキャッシュメモリとして構成されている際に有用であ
る。この様な実施例に於いてビクティムキャッシュライ
ンからのデータワードは、それらが元に来た場所である
主メモリに書き戻されねばならず、従ってその特定のキ
ャッシュラインをビクティムキャッシュラインとして選
択することに関連する遅延の程度を決定する際にその主
メモリの動作状態が重要となる。
【0007】主メモリユニットに関してセンスする高度
に有用な動作パラメータの1つは、その主メモリユニッ
トがそのキャッシュメモリと1つまたは複数のデータワ
ードの交換で既にビジーであるか否かである。この主メ
モリユニットが既にビジーの場合、そのビジー状態の主
メモリユニットへのアクセスを要求するビクティムキャ
ッシュ格納ラインの選択から導かれる全ての要求にサー
ビス出来るようになる前に、その現在動作が完了されな
ければならない。
【0008】本発明の利点が特に明白であるのは、同時
にアクセス要求を行う多数のメモリマスタが存在し、複
数の主メモリユニットが独立して動作可能であり並行し
てデータワードをキャッシュメモリに転送できる場合で
ある。この様な実施例に於いて、キャッシュメモリとデ
ータ交換を実行するのに既にビジーでないキャッシュ格
納ラインをキャッシュビクティムとして選択することが
強く望ましい。キャッシュメモリとの並列データ交換能
力はシステム性能の増加を生じ、従ってメモリアクセス
作業量を主メモリユニットの間でさえも分割してこの並
列能力を更に使用することが望ましい。
【0009】好適な実施例に於いて、キャッシュビクテ
ィム選択回路が、キャッシュ格納ラインに関連する汚染
フラグ(ラインが主メモリからキャッシュメモリへ転送
されたために変更された1つまたは複数のデータワード
を含むことを示すフラグ)に応答して、非汚染と印を付
けられているキャッシュ格納ラインを好ましく選択する
ことが望ましい。非汚染キャッシュ格納ラインは主メモ
リへの書き戻しを要求しないので、そのキャッシュ格納
ラインを再充填するための遅延は削減できる。
【0010】最新の高性能データ処理システムでは、各
々が1つまたは複数のデータワードをキャッシュメモリ
と交換要求する1つ以上のデータワード要求ユニットを
具備することが有益で効率的である。この方法でデータ
ワード要求ユニットの間でメモリ構造を共有することに
より、最大性能の要求と回路資源の最も効率的な使用と
の間の兼ね合いに対して都合の良い妥協を図ることが出
来る。
【0011】データワード要求ユニットの典型的な例
は、中央処理装置及びビデオ表示駆動回路である。
【0012】先に説明したような複数のデータワード要
求ユニットを有するシステムに於いて、1つまたは複数
のキャッシュ格納ラインをデータワード要求ユニットの
1つで優先的に使用するようにロックすることが望まし
い。この様にすることで、データワードの1つが別のデ
ータワード要求ユニットの性能に対して過度に損失的な
衝撃を与える可能性を減らすことが出来る。
【0013】キャッシュメモリ資源の有効使用が計れる
別の方法は、キャッシュビクティム選択回路がビクティ
ムキャッシュ格納ラインを選択する際に、どのキャッシ
ュ格納ラインが最近最も少なく使用されたかの指示に応
答するように構成することである。
【0014】特に有効であると認められている総合的な
技法は、前記キャッシュビクティム選択回路が前記ビク
ティムキャッシュ格納ラインとして、N個のプロパティ
ー、ここで1≦N≦6、のリストの中で最も高いプロパ
ティーを有するキャッシュ格納ラインを選択し、N個の
プロパティーの前記リストはリスト内でN個の最も高い
プロパティーで形成されており: (i)ロックされていなくて汚染されていない、最近最
も使用されていないライン; (ii)ロックされていなくて、汚染されておりビジー
でない主メモリユニットに書き戻しが可能な、最近最も
使用されていないライン; (iii)ロックされていなくて、汚染されておりビジ
ーな主メモリユニットに書き戻しされなければならな
い、最近最も使用されていないライン; (iv)ロックされており、汚染されていない最近最も
使用されていないライン; (v)ロックされており、汚染されていてビジーでない
主メモリユニットに書き戻しが可能な、最近最も使用さ
れていないライン; (vi)ロックされており、汚染されておりビジーな主
メモリユニットに書き戻しされなければならない、最近
最も使用されていないライン。
【0015】ある環境の下では部分ランダムキャッシュ
ビクティム選択手法が開始点として好ましい場合も有
り、この様な実施例に於いて前記キャッシュビクティム
選択回路は前記ビクティムキャッシュ格納ラインとして
N個のプロパティー、ここで1≦N≦6、のリストの中
で最も高いプロパティーを有するキャッシュ格納ライン
を選択し、N個のプロパティーの前記リストはリスト内
でN個の最も高いプロパティーで形成されており: (i)ロックされて無く、汚染されていないキャッシュ
格納ラインからランダムに選択される; (ii)ロックされて無く、汚染されていてビジーでな
い主メモリユニットに書き戻しが出来るキャッシュ格納
ラインからランダムに選択される; (iii)ロックされていなくて、汚染されておりビジ
ーな主メモリユニットに書き戻しされなければならない
キャッシュ格納ラインからランダムに選択される; (iv)ロックされており、汚染されていないキャッシ
ュ格納ラインからランダムに選択される; (v)ロックされており、汚染されていてビジーでない
主メモリユニットに書き戻しが可能なキャッシュ格納ラ
インからランダムに選択される; (vi)ロックされており、汚染されておりビジーな主
メモリユニットに書き戻しされなければならないキャッ
シュ格納ラインからランダムに選択される。
【0016】別の環境下では部分ラウンドロビン(ro
und robin)キャッシュビクティム選択手法が
開始点として好ましい場合も有り、この様な実施例に於
いて前記キャッシュビクティム選択回路は前記ビクティ
ムキャッシュ格納ラインとしてN個のプロパティー、こ
こで1≦N≦6、のリストの中で最も高いプロパティー
を有するキャッシュ格納ラインを選択し、N個のプロパ
ティーの前記リストはリスト内でN個の最も高いプロパ
ティーで形成されており: (i)ロックされて無く、汚染されていないキャッシュ
格納ラインから順番に選択される; (ii)ロックされて無く、汚染されていてビジーでな
い主メモリユニットに書き戻しが出来るキャッシュ格納
ラインから順番に選択される; (iii)ロックされていなくて、汚染されておりビジ
ーな主メモリユニットに書き戻しされなければならない
キャッシュ格納ラインから順番に選択される; (iv)ロックされており、汚染されていないキャッシ
ュ格納ラインから順番に選択される; (v)ロックされており、汚染されていてビジーでない
主メモリユニットに書き戻しが可能なキャッシュ格納ラ
インから順番に選択される; (vi)汚染されておりビジーな主メモリユニットに書
き戻しされなければならないキャッシュ格納ラインから
順番に選択される。
【0017】システムはいくつかのプロパティーのみで
(例えばプロパティー(i)、(ii)と(iii)ま
たは(i)と(ii)に応答する)動作するように構成
されており、整合するキャッシュ格納ラインが見つから
ない場合、システムの最小部分が適切なビクティムが利
用可能となるまで待機状態に置かれる。
【0018】複数の主メモリユニットがメモリ階層の中
で同一レベルの主メモリユニットであるかも知れない。
この様な状況に於いては、併発的にそして独立してアク
セスされるダイナミックランダムアクセスメモリのバン
クが本発明と共に使用するのに特に良く適合しており、
また例えば低価格シングルチップ設計の様なその他の理
由からも特に望ましい。
【0019】本発明の別の特徴としてデータ処理方法が
具備されており、これは: (i)キャッシュメモリの複数のキャッシュ格納ライン
の中にデータワードを格納し; (ii)複数の主メモリユニットの中に前記キャッシュ
メモリ内にキャッシュされるべき前記データワードを格
納し;そして (iii)その中に1つまたは複数のデータワードを、
キャッシュミスに続いて前記主メモリユニットの1つか
ら転送されるべきビクティムキャッシュ格納ラインを選
択する、以上のステップを含み、 (iv)前記ビクティムキャッシュ格納ラインを選択す
る際に、前記選択が少なくとも1つの前記主メモリユニ
ットの動作状態に応答する。
【0020】本発明の更に別の特徴としてデータ処理装
置が具備されており、これは: (i)複数のキャッシュ格納ラインを有する1つの書き
戻しキャッシュメモリと; (ii)前記キャッシュメモリの中にキャッシュされる
べきデータワードを格納するように動作可能な少なくと
も1つの主メモリユニット、該少なくとも1つの主メモ
リユニットから前記キャッシュ格納ラインに転送された
ために変更された何らかのデータワードを含む場合に汚
染されたことになるキャッシュ格納ラインと;そして (iii)背景処理として汚染キャッシュ格納ラインか
ら前記少なくとも1つの主メモリユニットへのデータワ
ードの書き戻しのトリガを掛けるための背景動作制御回
路で、前記背景処理を用いて書き戻されたキャッシュ格
納ラインは非汚染状態となり、書き戻された前記データ
ワードの格納を継続する、前記背景動作制御回路とを含
む。
【0021】書き戻しキャッシュは、キャッシュと主メ
モリとの間でのデータ転送回数を減らせるという特長を
有する。更に詳細には、主メモリへのデータ転送はデー
タワードがキャッシュの中にロードされた時、またデー
タワードがキャッシュからフラッシュされた時にのみ生
じる。データワードがキャッシュの中に格納されていた
際に生じた変更は主メモリに送られず、データワードの
最終状態が主メモリの中に書き込まれた際に、キャッシ
ュデータが主メモリからフラッシュされるまで残され
る。キャッシュされたデータワードがキャッシュ内に格
納されていた間に変更されなかった場合は、それらを主
メモリに書き戻す必要はない。従って書き戻しを必要と
するキャッシュデータワードと書き戻しを必要としない
ものとの間の差別を付けるために汚染フラグが用意され
ている。
【0022】本発明は汚染キャッシュラインへのキャッ
シュ補充は非汚染キャッシュラインの補充より遅いこと
を認識しているので、汚染キャッシュラインに必要なキ
ャッシュ補充の数を減らすことの出来る対策は有効であ
る。本発明は更に、システムからの全てのデータ要求が
キャッシュデータから一致する場合、主メモリとキャッ
シュメモリの帯域幅が完全に利用されていないか、また
は完全にアイドル状態にあることを認識している。本発
明はこの使用されていない能力を利用して、背景処理と
してキャッシュメモリ内の汚染キャッシュラインの数を
減らしている。これは続いて前景処理操作中に実行され
るべき汚染キャッシュデータの書き戻し回数を削減す
る。
【0023】通常システムに於いて、汚染データはそれ
がキャッシュメモリからフラッシュ(すなわち除去)さ
れる際に主メモリに書き戻される。これと比較して本発
明では汚染データは主メモリに書き戻されても未だキャ
ッシュメモリ内に保持されるが、非汚染と印が付けられ
る。
【0024】本発明は、独立にまた同時にデータワード
をキャッシュメモリに転送するように動作可能な複数の
主メモリを有するシステムで特に有用であるが、その様
なシステムはしばしばキャッシュメモリと主メモリとの
間の使用されていない帯域幅を有し、これは本発明の背
景処理で利用できるからである。
【0025】好適な実施例に於いて、背景処理はまたキ
ャッシュデータワードが汚染されている場合にそれが書
き戻されるべきか否かを判定する際に、それがどれだけ
最近に使用されたかにも応答する。キャッシュデータワ
ードが非常に頻繁に使用され、従って非常に頻繁に変更
されそうな場合、それを背景処理の一部として書き戻し
されるべきで無いことが有効であり、それは電力を不要
に消費しまた、それほど頻繁には変更されず、従って1
度書き戻されると非汚染状態に保持されるであろうキャ
ッシュデータワードの書き戻しで、更に効果的に使用で
きるはずの主メモリシステムの予備帯域幅を使用してし
まうからである。
【0026】背景処理の更なる改善として、別のメモリ
アクセス要求サービスで既にビジーである主メモリユニ
ットに対して書き戻しは試みられるべきではない。
【0027】本発明は特に主メモリがフラッシュメモリ
のダイナミックランダムアクセスメモリの複数のバンク
を含み、シングルチップ素子として製造されている実施
例に適しているが、汎用DRAMまたはフラッシュメモ
リも使用可能である。
【0028】本発明の更に別の特徴としてデータ処理方
法が提供されており: (i)データワードを書き戻しキャッシュメモリの複数
のキャッシュ格納ライン内に格納し; (ii)少なくとも1つの主メモリユニット内に前記キ
ャッシュメモリ内にキャッシュされるべき前記データワ
ードを格納し、キャッシュ格納ラインはそれが前記少な
くとも1つの主メモリユニットから前記キャッシュ格納
ラインに転送されてから後に変更されたデータワードを
含む場合に汚染されているといい; (iii)データワードを汚染キャッシュ格納ラインか
ら前記少なくとも1つの主メモリユニットに背景処理と
して書き戻し、前記背景処理を用いて書き戻されたキャ
ッシュ格納ラインは非汚染となり、書き戻された前記デ
ータワードの格納を継続する、以上のステップを含む。
【0029】本発明の更に別の特徴としてデータ処理装
置が提供されており: (i)メモリ回路と; (ii)前記メモリ回路に結合されたデータバスと; (iii)前記データバスに結合され、メモリアクセス
要求を前記メモリ回路に前記データバスを経由して送る
複数のバスマスタ回路と; (iv)バスマスタ優先度の階層に基づき、どのバスマ
スタが前記データバスの使用を獲得する優先度を許可さ
れるかを、2つまたはそれ以上のバスマスタが暫定的に
重複するメモリアクセス要求の発した際に制御するため
のバス調停回路とを含むデータ処理装置に於いて、 (v)前記調停回路がバスマスタ間で前記データバスの
使用を獲得するための優先度を再調停するために係属中
のメモリアクセス要求の待ち時間の決定に応答して、第
1係属メモリアクセス要求を有し、前記階層内で第2係
属メモリアクセス要求を有する第2マスタ回路より低い
位置にある第1バスマスタ回路が、前記第1メモリアク
セス要求が前記第2メモリアクセス要求よりも低い待ち
時間を有する場合に、前記第2バスマスタ回路に先行し
て前記データバスの使用を獲得するように応答する。
【0030】異なるバスマスタ間のバス調停は通常、固
定された優先度の階層に基づいて実施される。しかしな
がら、バス調停回路が異なるメモリアクセス要求の待ち
時間の判定に応答し、その決定された待ち時間に依存し
て優先度の再調停を行える場合に、本発明はバス帯域幅
を更に効率的に使用出来ることを認識している。
【0031】特に好適実施例に於いて、第2メモリアク
セス要求を第1メモリアクセス要求が実際にデータバス
の使用を必要とする前の、その第1メモリアクセス要求
の完全に待ち時間期間内に開始して完了することが可能
である。
【0032】本発明が効果的に使用される共通の状況
は、メモリシステムが1つのキャッシュメモリと1つの
主メモリとを含むものである。その様なシステムに於い
て、高い優先度の第1メモリアクセス要求が結果として
キャッシュミスを起こし、一方低い優先度の第2メモリ
アクセス要求が結果としてキャッシュヒットを起こす場
合、優先度の再調停を行って第2メモリアクセス要求が
キャッシュメモリからサービスを受け、一方第1メモリ
アクセス要求は主メモリからデータフェッチを行いそし
てキャッシュラインの再充填を行うように継続させるよ
うにするのが好適である。
【0033】類似の方法により、独立して併発的に動作
できる複数の主メモリユニットを含むシステムに於い
て、本発明は好適にビジーで無い主メモリユニットへの
1つの要求を、そうでない場合はより高い優先度を持つ
ビジーな主メモリユニットへの要求より先に移動させる
ように複数のメモリアクセス要求の間の再調停を行うよ
うに動作する。
【0034】本発明は特に、主メモリが1つまたは複数
のダイナミックランダムアクセスのバンクを含み、シン
グルチップとして提供されているシステムでの実施例で
有用である。
【0035】本発明の更に別の特徴として、データ処理
方法が用意されており、これは: (i)複数のバスマスタ回路からメモり回路にデータバ
スを経由してメモりアクセス要求を出し; (ii)バスマスタ優先度の階層に基づき、2つ以上の
バスマスタが過渡的に重複するメモリアクセス要求を出
す際に、どのバスマスタが前記データバスの使用獲得の
優先度を許可されるかを制御するステップを含み; (iii)係属しているメモリアクセス要求の待ち時間
に応答して、バスマスタ間で前記データバス使用獲得優
先度が再調停されて、第1係属メモリアクセス要求と、
第2係属メモリアクセス要求を有する第2バスマスタ回
路よりも前記階層内でより低い位置とを有する第1バス
マスタ回路が、前記第1メモリアクセス要求が前記第2
メモリアクセス要求よりも低い待ち時間を有する場合、
前記データバスの使用権を前記第2バスマスタ回路に先
んじて獲得するようにしている。
【0036】本発明の上記並びにその他の目的、特徴は
添付図と共に読まれるべき、図示を目的とした実施例の
以下の詳細な説明から明らかであろう。
【0037】
【発明の実施の形態】図1はシングルチップデータ処理
システム2を示し、これは中央処理装置4、ビデオ表示
制御回路6およびキャッシュメモリ8を含む。キャッシ
ュ制御装置10がキャッシュメモリ8の動作を制御する
ために具備されている。バス調停回路12は中央処理装
置4とビデオ表示制御回路6のどちらがメモりアクセス
要求(MAR)を行う際にデータバス14へのアクセス
を獲得するかを制御する。
【0038】4つのバンクのオンチップダイナミックラ
ンダムアクセスメモリ16,18,20および22がD
RAM制御装置24と共に具備されている。
【0039】動作に際して中央処理装置4またはビデオ
表示制御回路6のどちらかがメモリアクセス要求をデー
タバス14上へ出す。このメモリアクセス要求は、メモ
リ階層内の第1レベルとしてキャッシュメモリ8へ通
る。キャッシュヒットが生じると、要求されたデータが
キャッシュメモリ8の中からアクセスされる。このメモ
リアクセス要求がキャッシュメモリ8内のデータに変更
を加える場合、汚染ビット26が対応するキャッシュ格
納ライン28に対してセットされる。キャッシュ制御装
置10内で最少頻度使用(LRU)回路30が、キャッ
シュメモリ8内で各々のキャッシュ格納ライン28が最
近如何にアクセスされたかを示すデータを格納する。部
分的ランダムまたは部分的ラウンドロビン置き換え技法
を実行する制御回路を代わりに用意出来ることは理解さ
れよう。この様な部分的ランダムまたは部分的ラウンド
ロビン技法はメモリシステムの検出された状態に依存し
て、LRU置き換えに関する下記と類似の方法で修正さ
れる。
【0040】メモリアクセス要求に応答してキャッシュ
ミスが生じると、対象データワードはDRAMバンク1
6,18,20,22のそれぞれの1つからフェッチさ
れてキャッシュ格納ライン28の1つの中に書き込まれ
なければならない。その中にこのフェッチされたデータ
が書き込まれるビクティムキャッシュ格納ラインとして
どのキャッシュ格納ライン28が選択されるかは、キャ
ッシュ制御装置10内のビクティム選択回路32で制御
される。このビクティムキャッシュラインが汚染されて
いる場合、フェッチデータワードがキャッシュ格納ライ
ン28の中に書き込まれる前に、DRAMバンク16,
18,20,22の1つへ書き戻すように要求する。従
ってビクティム選択回路32は汚染ビクティムよりも非
汚染ビクティムを選択しようとする。キャッシュメモリ
8にはまたロック領域が具備されていて、これはメモリ
アクセス要求ユニットの特定の1つ、例えば中央処理装
置4およびビデオ表示制御回路6に専用である。一例と
して中央処理装置4で要求される高速割り込みコードは
キャッシュメモリ8の領域内にロックされていて、要求
された際に迅速なアクセスが行えるように保証してい
る。ビクティム選択回路32は非ロック領域をロック領
域に先んじて選択する。
【0041】DRAM制御装置24はデータをキャッシ
ュメモリ8とDRAMバンク16,18,20,22と
の間を通すように動作する。DRAM制御装置24はそ
れぞれのDRAMバンク16,18,20,22とキャ
ッシュメモリ8との間の独立で併発的データ転送が実現
できるように構成されている。どのDRAMバンク1
6,18,20,22が現在ビジー状態であるかを示す
信号がDRAM制御装置24からキャッシュ制御装置1
0へ送られ、ここでビクティム選択回路32によって使
用される。ビクティム選択回路32はビクティムキャッ
シュ格納ライン28を選択し、これはビジーなDRAM
バンク16,18,20,22へ書き戻しが必要なもの
に応答して、非ビジーDRAMバンク16,18,2
0,22への書き戻しを要求する。
【0042】全体動作としてビクティム選択回路32は
そのビクティムキャッシュ格納ラインを、N個のプロパ
ティー、ここで1≦N≦6、のリストの中で最も高いプ
ロパティーを有するものとなるように選択し、N個のプ
ロパティーの前記リストはリスト内でN個の最も高いプ
ロパティーで形成されており: (i)ロックされていなくて汚染されていない、最近最
も使用されていないライン; (ii)ロックされていなくて、汚染されておりビジー
でない主メモリユニットに書き戻しが可能な、最近最も
使用されていないライン; (iii)ロックされていなくて、汚染されておりビジ
ーな主メモリユニットに書き戻しされなければならな
い、最近最も使用されていないライン; (iv)ロックされており、汚染されていない最近最も
使用されていないライン; (v)ロックされており、汚染されていてビジーでない
主メモリユニットに書き戻しが可能な、最近最も使用さ
れていないライン; (vi)ロックされており、汚染されておりビジーな主
メモリユニットに書き戻しされなければならない、最近
最も使用されていないライン。
【0043】部分ランダム置き換え技法に於いて、ビク
ティム選択回路32はそのビクティムキャッシュ格納ラ
インとしてそれがN個のプロパティー、ここで1≦N≦
6、のリストの中で最も高いプロパティーを有する様に
選択し、N個のプロパティーの前記リストはリスト内で
N個の最も高いプロパティーで形成されており: (i)ロックされて無く、汚染されていないキャッシュ
格納ラインからランダムに選択される; (ii)ロックされて無く、汚染されていてビジーでな
い主メモリユニットに書き戻しが出来るキャッシュ格納
ラインからランダムに選択される; (iii)ロックされていなくて、汚染されておりビジ
ーな主メモリユニットに書き戻しされなければならない
キャッシュ格納ラインからランダムに選択される; (iv)ロックされており、汚染されていないキャッシ
ュ格納ラインからランダムに選択される; (v)ロックされており、汚染されていてビジーでない
主メモリユニットに書き戻しが可能なキャッシュ格納ラ
インからランダムに選択される; (vi)ロックされており、汚染されておりビジーな主
メモリユニットに書き戻しされなければならないキャッ
シュ格納ラインからランダムに選択される。
【0044】部分的ラウンドロビン置き換え技法に於い
て、ビクティム選択回路32はそのビクティムキャッシ
ュ格納ラインをそれがN個のプロパティー、ここで1≦
N≦6、のリストの中で最も高いプロパティーを有する
様に選択し、N個のプロパティーの前記リストはリスト
内でN個の最も高いプロパティーで形成されており: (i)ロックされて無く、汚染されていないキャッシュ
格納ラインから順番に選択される; (ii)ロックされて無く、汚染されていてビジーでな
い主メモリユニットに書き戻しが出来るキャッシュ格納
ラインから順番に選択される; (iii)ロックされていなくて、汚染されておりビジ
ーな主メモリユニットに書き戻しされなければならない
キャッシュ格納ラインから順番に選択される; (iv)ロックされており、汚染されていないキャッシ
ュ格納ラインから順番に選択される; (v)ロックされており、汚染されていてビジーでない
主メモリユニットに書き戻しが可能なキャッシュ格納ラ
インから順番に選択される; (vi)汚染されておりビジーな主メモリユニットに書
き戻しされなければならないキャッシュ格納ラインから
順番に選択される。
【0045】システムがこれらのリストからいくつかの
プロパティーのみしか使用しない場合もあるであろう、
何故ならばより低いプロパティーが非常に不利であっ
て、より好ましいプロパティーと一致するキャッシュビ
クティムが利用できるまでシステムの少なくとも一部が
待機状態に入った方が良い場合である(例えば、キャッ
シュビクティム選択がロックされたキャッシュ格納ライ
ンを尊重する場合、プロパティー(i),(ii)およ
び(iii)は使用されるが、プロパティー(iv),
(v)および(vi)は使用されない)。
【0046】ビクティム選択回路32のこの動作はまた
図2に図示されている。キャッシュミスが発生すると、
図2に図示されている処理が開始し第1ステップ34は
ロックされていないキャッシュ格納ラインが存在するか
を判定する。ロックされていないキャッシュ格納ライン
が存在する場合、処理はステップ36へ進む。ロックさ
れていないキャッシュ格納ラインが存在しない場合、処
理はステップ38へ進む。
【0047】ステップ36に於いて、そのロックされて
いない格納ラインの中に非汚染キャッシュ格納ラインが
存在するか否かの検査が行われる。非汚染でロックされ
ていない格納ラインが存在する場合、これらの中で最近
最も使用されていないものがビクティムとしてステップ
40で選択される。ロックされていない格納ラインの中
に非汚染キャッシュ格納ラインが存在しない場合、ステ
ップ42はビジーでないDRAMバンクに書き戻しが要
求される、ロックされていない汚染キャッシュ格納ライ
ンが存在するかの判定を行う。その様なロックされてい
なくて汚染されているビジーでないキャッシュ格納ライ
ンが存在すると、これらの中で最近最も使用されていな
いものがステップ44で選択される。ロックされていな
くて汚染されているビジーでないキャッシュ格納ライン
が存在しない場合、ステップ46はロックされていなく
て汚染されているビジーなキャッシュ格納ラインをビク
ティムキャッシュ格納ラインとして使用するように選択
する。
【0048】ステップ34でロックされていないキャッ
シュ格納ラインが存在しないと判明すると、処理はステ
ップ38へ進み、ここでロックされているキャッシュ格
納ラインで汚染されていないものが存在するかの検査が
行われる。ロックされていて汚染されていないキャッシ
ュ格納ラインが存在する場合、これらの中の最近最も使
用されていないものがビクティムキャッシュ格納ライン
としてステップ48で選択される。ロックされていて非
汚染ロックキャッシュ格納ラインが存在しないとステッ
プ38で検出された場合、ステップ50が使用されてロ
ックされていて、汚染されておりビジーでないキャッシ
ュ格納ラインが存在するかの判定が行われる。その様な
ロックされていて、汚染されておりビジーでないキャッ
シュ格納ラインが存在する場合、それらの中で最近最も
使用されていないものがステップ52で、ビクティムキ
ャッシュ格納ラインとして選択される。ロックされてい
て、汚染されておりビジーでないキャッシュ格納ライン
が存在しない場合、ステップ54は最近最も使用されて
いない、ロックされていて、汚染されていてビジーなキ
ャッシュ格納ラインをビクティムキャッシュ格納ライン
として選択する。この技法に基づいてビクティム選択回
路32で行われる選択の優先順位は、図2のステップ4
0,44,46,48,52および54の右上隅に中抜
き番号で図示されている。
【0049】図1に戻ると、DRAM制御装置24はま
た背景動作制御回路56を含む。この背景動作制御回路
56は背景処理を連続的に実行し、これはある条件に合
致したDRAMバンク16,18,20,22にキャッ
シュメモリ8内から汚染キャッシュ格納ラインを書き戻
すように試みる。背景動作制御回路56で実行される背
景処理は、キャッシュ制御装置10内の最少頻度使用回
路30から供給されるキャッシュライン28の最近最も
使用されていない状態(またはその他のメモリシステム
状態情報)、また同様にその対象としているキャッシュ
ラインに関連するDRAMバンク16,18,20,2
2のビジー状態とに応答する。
【0050】図3は背景動作制御回路56で連続的に動
作される処理を図示する。ステップ58,60および6
2は効果的にループを形成し、ここでキャッシュライン
チェックはキャッシュメモリ8内の各々のキャッシュラ
インに対して繰り返し実行される。各々のキャッシュラ
インに対して順番にチェックが実施され、ステップ66
でそれが汚染されているか、ステップ68でその最少頻
度使用値がある閾値未満であるか(それがアクセスされ
る頻度が或る閾値より少ないことを示す)、そしてステ
ップ70でその非ビジー状態がチェックされる。ステッ
プ66,68および70での各々の判定結果がYESの
場合ステップ72はそのキャッシュラインを非ビジーD
RAMバンク16,18,20,22に書き戻し、その
キャッシュラインに対する汚染ビット26を汚染から非
汚染に変更し、そのデータはキャッシュライン28に残
すように働く。ステップ66,68および70のいずれ
かがNoに戻ると、これは検査されているキャッシュラ
インが背景処理の一部として書き戻されるのに適してい
ないことを示し、従ってステップ72はバイパスされて
次のキャッシュラインが順に検査される。
【0051】図3に関連して記述された技法は、各々の
キャッシュラインを順番に検査して、それが背景書き戻
し動作の基準に合致するか否かのチェックを行う。これ
に代わる実施例として各々のキャッシュラインに関連し
て、そのキャッシュラインが基準に合致するか否かを連
続的に監視する回路を具備することも可能である。基準
に合致するキャッシュラインが同定されると、書き戻し
動作が開始される。これらの監視回路は並列に動作する
ので、2つまたはそれ以上のキャッシュラインが同時に
基準に合致するような状況を処理するための調停回路が
必要であろう。
【0052】図1に戻るとこれはバス調停回路12を示
し、これは中央処理装置4およびビデオ表示制御回路6
のメモリアクセス要求に対して、これが過渡的に重複し
た場合、そのどちらか1つにデータバス14の使用を与
えるかを判定するように動作する。一般的にバス調停回
路12で使用される制御の第1レベルは、予め定められ
た優先度の階層を適用し、ここではビデオ表示制御回路
6が中央処理装置4よりも高い優先度を有し、従ってそ
のメモリアクセス要求は中央処理装置4に対するよりも
優先してサービスされる。バス調停回路12はまたキャ
ッシュ制御装置10及びDRAM制御装置24にも結合
されている。これらのリンクはバス調停回路12に対し
て、サービスされた個別のメモリアクセス要求の結果が
キャッシュミスであったか、また更にそのキャッシュミ
スの結果、ビジー状態のDRAMバンク16,18,2
0,22へのメモリアクセス要求となったかを示す信号
を送ることを可能としている。バス調停回路はこの追加
情報を利用してメモリアクセス要求間の優先度の通常階
層を再調停する。
【0053】図4はバス調停回路12で実施されるバス
再調停処理を図示する。処理は少なくとも1つのメモリ
アクセスMARが受信された時に開始される。ステップ
74で複数のMARがそのサイクルで受信されたか否か
を判定するチェックが行われる。唯ひとつのMARのみ
が受信された場合、これは図示されるようにステップ7
6および78で開始されて完了する。
【0054】複数のMARが受信された場合、ステップ
80はより高い優先度のMARを第1メモリアクセス要
求MAR1として開始し、より低い優先度のMARを第
2メモリアクセス要求MAR2として保持する。
【0055】ステップ82に於いて、第1メモリアクセ
ス要求MAR1が結果としてキャッシュミスとなったか
否かの検査をキャッシュ制御装置10で提供された情報
を用いて行う。キャッシュミスが発生しなかった場合、
第1メモリアクセス要求MAR1はステップ84で完了
し、第2メモリアクセス要求MAR2がステップ86お
よび88で開始されて完了する。
【0056】第1メモリアクセス要求MAR1の結果キ
ャッシュミスとなった場合、ステップ90で第2メモリ
アクセス要求がキャッシュデータに対するものか否かが
判定される。第2メモリアクセス要求MAR2がキャッ
シュデータに対するものでない場合(すなわち、それ自
身で結果としてキャッシュミスとなる)、処理は上記の
様にステップ84,86および88を経由して進む。し
かしながら、第2メモリアクセス要求MAR2がキャッ
シュされている場合、バス調停回路12はステップ92
で第1メモリアクセス要求MAR1と第2メモリアクセ
ス要求MAR2との間で再調停を行うように動作する。
この再調停は第2メモリアクセス要求MAR2動作を開
始する一方で第1メモリアクセス要求MAR1動作をそ
のキャッシュラインの充填動作を実行させるままに残す
が、これはシステム設計がバス調停器で行った待ち時間
判定の結果、第1メモリアクセス要求MAR1がキャッ
シュミスして、そのキャッシュミスからのデータがデー
タバス14に、キャッシュされているデータへの第2メ
モリアクセス要求が終了するまで戻らないことが保証さ
れていると認められるからである。従って、ステップ9
4は第2メモリアクセス要求MAR2を、第1メモリア
クセス要求MAR1が完了するステップ96の前に完了
する。
【0057】図4に図示された例に於いて、バス調停回
路12での待ち時間の判定はキャッシュミスが生じたか
否かの判定を介して行われる。バス調停回路12はま
た、メモリアクセス要求がビジー状態のDRAMバンク
16,18,20,22に対するものであるか否かにも
応答し、従って特に高い待ち時間を有しデータバス14
を更に良く使用するための再調停の機会を可能とするよ
うにも出来る。更にこの一般原理に基づいたバスマスタ
再調停用の待ち時間判定および制御技法も可能である。
【0058】本発明の上記の実施例はシングルチップ素
子に関して説明してきたが、この中でDRAMバンク1
6,18,20,22、キャッシュメモリ8、キャッシ
ュ制御装置10並びにその他の全ての回路が単一の集積
回路として具備されている。上記の技術はまた“仮想チ
ャンネルメモリ”として知られているものにも効果的に
適用出来る。仮想チャンネルメモリはオンチップバッフ
ァ/キャッシュと共に複数のDRAMバンクを有する集
積回路の形式で用意される。その様な仮想チャンネルメ
モリチップを使用する回路は、メモリ制御装置を含みこ
れは何が仮想チャンネルメモリのオンチップバッファ/
キャッシュの中に格納されているかを追尾する。図1に
関連して、キャッシュメモリ8並びにDRAMバンク1
6,18,20,22はその他の構成要素が全て別々の
チップ上に用意されている、仮想チャンネルメモリチッ
プ上に具備されていると考えられる。上記の技術はその
様な仮想チャンネルメモリシステムを最も効率的に使用
するのに特に有効である。
【0059】本発明の図示を目的とした実施例を添付図
を参照して此処に詳細に説明してきたが、本発明はこれ
らの詳細な実施例に限定されるものではなく、種々の変
化並びに修正を添付の特許請求項に定められた本発明の
範囲および精神から逸脱することなく、当業者が行える
ことは理解されよう。
【図面の簡単な説明】
【図1】図1はデータ処理システムを図示する。
【図2】図2はキャッシュ制御装置内のビクティム選択
回路の動作を図示する。
【図3】図3は汚染キャッシュライン書き戻し用背景処
理機能の動作を図示する。
【図4】図4はバス調停器内のバス再調停動作を図示す
る。
【符号の説明】
2 データ処理システム 4 中央処理装置 6 ビデオ表示制御回路 8 キャッシュメモリ 10 キャッシュ制御装置 12 バス調停回路 14 データバス 16,18,20,22 DRAMバンク 24 DRAM制御装置 26 汚染ビット 28 キャッシュ格納ライン 30 最少頻度使用(LRU)回路 32 ビクティム選択回路 56 背景動作制御回路

Claims (47)

    【特許請求の範囲】
  1. 【請求項1】 データ処理装置であって: (i)複数のキャッシュ格納ラインを有する1つのキャ
    ッシュメモリと; (ii)前記キャッシュメモリ内にキャッシュされるべ
    きデータワードを格納するように動作可能な、複数の主
    メモリユニットと; (iii)キャッシュミスに続いて前記主メモリユニッ
    トの1つから1つまたは複数のデータワードをその中に
    転送されるべきビクティムキャッシュ格納ラインを選択
    するためのキャッシュビクティム選択回路とを含み; (iv)前記キャッシュビクティム選択回路が、前記ビ
    クティムキャッシュ格納ラインを選択する際に前記主メ
    モリユニットの少なくとも1つの動作状態に応答するこ
    とを含む、前記データ処理装置。
  2. 【請求項2】 請求項1記載のデータ処理装置に於い
    て、前記キャッシュメモリが書き戻しキャッシュメモリ
    である、前記データ処理装置。
  3. 【請求項3】 請求項1記載のデータ処理装置に於い
    て、前記動作状態が前記少なくとも1つの主メモリが1
    つまたは複数のデータワードを前記キャッシュメモリと
    交換するのにビジーであるか否かである、前記データ処
    理装置。
  4. 【請求項4】 請求項3記載のデータ処理装置に於い
    て、前記複数の主メモリユニットが独立的にかつ併発的
    にデータワードを前記キャッシュメモリに転送するよう
    に動作可能である、前記データ処理装置。
  5. 【請求項5】 請求項1記載のデータ処理装置に於い
    て、前記キャッシュビクティム選択回路がキャッシュ格
    納ラインが前記キャッシュメモリに前記複数の主メモリ
    ユニットの1つから転送されてから後に変更された1つ
    または複数のデータワードを含むことで汚染されている
    か否かに応答し、前記キャッシュメモリ内で置き換えら
    れた際に前記主メモリユニットの1つへ書き戻し要求
    し、汚染されていないビクティムキャッシュ格納ライン
    を汚染されているキャッシュ格納ラインよりも優先して
    選択する、前記データ処理装置。
  6. 【請求項6】 請求項1記載のデータ処理装置であっ
    て、各々が前記キャッシュメモリ内に格納されている1
    つまたは複数のデータワードの交換を要求する、複数の
    データワード要求ユニットを含む、前記データ処理装
    置。
  7. 【請求項7】 請求項6記載のデータ処理装置に於い
    て、前記データワード要求ユニットが中央処理装置であ
    る、前記データ処理装置。
  8. 【請求項8】 請求項6記載のデータ処理装置に於い
    て、前記データワード要求ユニットがビデオ表示制御回
    路である、前記データ処理装置。
  9. 【請求項9】 請求項6記載のデータ処理装置に於い
    て、前記1つまたは複数のキャッシュ格納ラインが前記
    データワード要求ユニットの1つで優先的に使用するた
    めにロックされている、前記データ処理装置。
  10. 【請求項10】 請求項1記載のデータ処理装置に於い
    て、前記キャッシュビクティム選択回路が、前記ビクテ
    ィムキャッシュ格納ラインを選択する際に前記複数のキ
    ャッシュ格納ラインのどれが最近最も使用されていなか
    ったかに応答し、最近最も使用されていないキャッシュ
    格納ラインが前記ビクティムキャッシュ格納ラインとし
    て、より頻繁に使用されているキャッシュ格納ラインよ
    り優先して選択されるようにしている、前記データ処理
    装置。
  11. 【請求項11】 請求項5記載のデータ処理装置に於い
    て、1つまたは複数のキャッシュ格納ラインが前記デー
    タワード要求ユニットの1つで優先して使用されるよう
    にロックされ、前記キャッシュビクティム選択回路が、
    前記ビクティムキャッシュ格納ラインを選択する際に前
    記複数のキャッシュ格納ラインのどれが最近最も使用さ
    れていなかったかに応答し、最近最も使用されていない
    キャッシュ格納ラインが前記ビクティムキャッシュ格納
    ラインとして、より頻繁に使用されているキャッシュ格
    納ラインより優先して選択し、前記キャッシュビクティ
    ム選択回路が前記ビクティムキャッシュ格納ラインとし
    て、N個のプロパティー、ここで1≦N≦6、のリスト
    の中で最も高いプロパティーを有するキャッシュ格納ラ
    インを選択し、N個のプロパティーの前記リストはリス
    ト内でN個の最も高いプロパティーで形成されており: (i)ロックされていなくて汚染されていない、最近最
    も使用されていないライン; (ii)ロックされていなくて、汚染されておりビジー
    でない主メモリユニットに書き戻しが可能な、最近最も
    使用されていないライン; (iii)ロックされていなくて、汚染されておりビジ
    ーな主メモリユニットに書き戻しされなければならな
    い、最近最も使用されていないライン; (iv)ロックされており、汚染されていない最近最も
    使用されていないライン; (v)ロックされており、汚染されていてビジーでない
    主メモリユニットに書き戻しが可能な、最近最も使用さ
    れていないライン; (vi)ロックされており、汚染されておりビジーな主
    メモリユニットに書き戻しされなければならない、最近
    最も使用されていないライン、である前記データ処理装
    置。
  12. 【請求項12】 請求項5記載のデータ処理装置に於い
    て、1つまたは複数のキャッシュ格納ラインが前記デー
    タワード要求ユニットの1つで優先して使用されるよう
    にロックされ、前記キャッシュビクティム選択回路が、
    前記ビクティムキャッシュ格納ラインとしてN個のプロ
    パティー、ここで1≦N≦6、のリストの中で最も高い
    プロパティーを有するキャッシュ格納ラインを選択し、
    N個のプロパティーの前記リストはリスト内でN個の最
    も高いプロパティーで形成されており: (i)ロックされて無く、汚染されていないキャッシュ
    格納ラインからランダムに選択される; (ii)ロックされて無く、汚染されていてビジーでな
    い主メモリユニットに書き戻しが出来るキャッシュ格納
    ラインからランダムに選択される; (iii)ロックされていなくて、汚染されておりビジ
    ーな主メモリユニットに書き戻しされなければならない
    キャッシュ格納ラインからランダムに選択される; (iv)ロックされており、汚染されていないキャッシ
    ュ格納ラインからランダムに選択される; (v)ロックされており、汚染されていてビジーでない
    主メモリユニットに書き戻しが可能なキャッシュ格納ラ
    インからランダムに選択される; (vi)ロックされており、汚染されておりビジーな主
    メモリユニットに書き戻しされなければならないキャッ
    シュ格納ラインからランダムに選択される、前記データ
    処理装置。
  13. 【請求項13】 請求項5記載のデータ処理装置に於い
    て、1つまたは複数のキャッシュ格納ラインが前記デー
    タワード要求ユニットの1つで優先して使用されるよう
    にロックされ、前記キャッシュビクティム選択回路が、
    前記ビクティムキャッシュ格納ラインとしてN個のプロ
    パティー、ここで1≦N≦6、のリストの中で最も高い
    プロパティーを有するキャッシュ格納ラインを選択し、
    N個のプロパティーの前記リストはリスト内でN個の最
    も高いプロパティーで形成されており: (i)ロックされて無く、汚染されていないキャッシュ
    格納ラインから順番に選択される; (ii)ロックされて無く、汚染されていてビジーでな
    い主メモリユニットに書き戻しが出来るキャッシュ格納
    ラインから順番に選択される; (iii)ロックされていなくて、汚染されておりビジ
    ーな主メモリユニットに書き戻しされなければならない
    キャッシュ格納ラインから順番に選択される; (iv)ロックされており、汚染されていないキャッシ
    ュ格納ラインから順番に選択される; (v)ロックされており、汚染されていてビジーでない
    主メモリユニットに書き戻しが可能なキャッシュ格納ラ
    インから順番に選択される; (vi)汚染されておりビジーな主メモリユニットに書
    き戻しされなければならないキャッシュ格納ラインから
    順番に選択される、前記データ処理装置。
  14. 【請求項14】 請求項1記載のデータ処理装置に於い
    て、前記複数の主メモリユニットが、ダイナミック随意
    アクセスメモリの複数のバンクである、前記データ処理
    装置。
  15. 【請求項15】 請求項14記載のデータ処理装置に於
    いて、ダイナミック随意アクセスメモリのバンク内に保
    持されているデータ値の更新が、前記ダイナミック随意
    アクセスメモリのバンク内のデータ値に対応して、前記
    キャッシュメモリ内にキャッシュされているデータ値へ
    のアクセスと同時に行うことの出来る、前記データ処理
    装置。
  16. 【請求項16】 請求項1記載のデータ処理装置に於い
    て、前記複数の主メモリユニットが複数のフラッシュメ
    モリである、前記データ処理装置。
  17. 【請求項17】 請求項1記載のデータ処理装置に於い
    て、前記複数の主メモリユニットが前記キャッシュメモ
    リと共に1つの集積回路上に具備されている前記データ
    処理装置。
  18. 【請求項18】 請求項6記載のデータ処理装置に於い
    て、前記複数の主メモリユニットが前記キャッシュメモ
    リと共に1つの集積回路上に具備されており、前記複数
    のデータワード要求ユニットもまた前記集積回路上に具
    備されている、前記データ処理装置。
  19. 【請求項19】 データ処理方法であって: (i)キャッシュメモリの複数のキャッシュ格納ライン
    の中にデータワードを格納し; (ii)複数の主メモリユニットの中に前記キャッシュ
    メモリ内にキャッシュされるべき前記データワードを格
    納し;そして (iii)その中に1つまたは複数のデータワードを、
    キャッシュ失敗に続いて前記主メモリユニットの1つか
    ら転送されるべきビクティムキャッシュ格納ラインを選
    択する、以上のステップを含み、 (iv)前記ビクティムキャッシュ格納ラインを選択す
    る際に、前記選択が少なくとも1つの前記主メモリユニ
    ットの動作状態に応答する、以上のステップを含む前記
    データ処理方法。
  20. 【請求項20】 データ処理装置装置であって: (i)複数のキャッシュ格納ラインを有する1つの書き
    戻しキャッシュメモリと; (ii)前記キャッシュメモリの中にキャッシュされる
    べきデータワードを格納するように動作可能な少なくと
    も1つの主メモリユニット、該少なくとも1つの主メモ
    リユニットから前記キャッシュ格納ラインに転送された
    ために変更された何らかのデータワードを含む場合に汚
    染されたことになるキャッシュ格納ラインと;そして (iii)背景処理として汚染キャッシュ格納ラインか
    ら前記少なくとも1つの主メモリユニットへのデータワ
    ードの書き戻しのトリガを掛けるための背景動作制御回
    路で、前記背景処理を用いて書き戻されたキャッシュ格
    納ラインは非汚染状態となり、書き戻された前記データ
    ワードの格納を継続する、前記背景動作制御回路とを含
    む前記データ処理装置。
  21. 【請求項21】 請求項20記載のデータ処理装置に於
    いて、前記少なくとも1つの主メモリユニットが複数の
    主メモリユニットを含む、前記データ処理装置。
  22. 【請求項22】 請求項21記載のデータ処理装置に於
    いて、前記少なくとも1つの主メモリユニットがデータ
    ワードを前記キャッシュメモリに独立的にかつ併発的に
    転送するように動作可能な、前記データ処理装置。
  23. 【請求項23】 請求項20記載のデータ処理装置に於
    いて、前記背景動作制御回路が、前記汚染キャッシュ格
    納ラインが前記少なくとも1つの主メモリユニットに書
    き戻されるべきか否かを判定する際に、汚染キャッシュ
    ラインからのデータワードが最近どれだけ使用されたか
    に応答し、閾値レベルよりも頻繁に使用されている汚染
    キャッシュ格納ラインを前記少なくとも1つの主メモリ
    ユニットへ書き戻さないようにする、前記データ処理装
    置。
  24. 【請求項24】 請求項20記載のデータ処理装置に於
    いて、前記主メモリユニットが1つまたは複数のデータ
    ワードを前記キャッシュメモリと交換している時にビジ
    ーであり、前記背景動作制御回路がビジー状態の主メモ
    リユニットへの書き戻し動作のトリガを掛けないように
    動作する、前記データ処理装置。
  25. 【請求項25】 請求項20記載のデータ処理装置に於
    いて、前記少なくとも1つの主メモリユニットがダイナ
    ミック随意アクセスメモリのバンクである、前記データ
    処理装置。
  26. 【請求項26】 請求項20記載のデータ処理装置に於
    いて、前記少なくとも1つの主メモリユニットが前記キ
    ャッシュメモリと共に1つの集積回路上に具備されてい
    る、前記データ処理装置。
  27. 【請求項27】 請求項26記載のデータ処理装置であ
    って、1つまたは複数のデータワードを前記キャッシュ
    メモリと交換するように要求する少なくとも1つのデー
    タワード要求ユニットを含み、前記少なくとも1つのデ
    ータワード要求ユニットもまた前記集積回路上に具備さ
    れている、前記データ処理装置。
  28. 【請求項28】 請求項27記載のデータ処理装置に於
    いて、前記少なくとも1つのデータワード要求ユニット
    が中央処理装置を含む、前記データ処理装置。
  29. 【請求項29】 請求項27記載のデータ処理装置に於
    いて、前記少なくとも1つのデータワード要求ユニット
    がビデオ表示制御回路を含む、前記データ処理装置。
  30. 【請求項30】 データ処理方法であって: (i)データワードを書き戻しキャッシュメモリの複数
    のキャッシュ格納ライン内に格納し; (ii)少なくとも1つの主メモリユニット内に前記キ
    ャッシュメモリ内にキャッシュされるべき前記データワ
    ードを格納し、キャッシュ格納ラインはそれが前記少な
    くとも1つの主メモリユニットから前記キャッシュ格納
    ラインに転送されてから後に変更されたデータワードを
    含む場合に汚染されているといい; (iii)データワードを汚染キャッシュ格納ラインか
    ら前記少なくとも1つの主メモリユニットに背景処理と
    して書き戻し、前記背景処理を用いて書き戻されたキャ
    ッシュ格納ラインは非汚染となり、書き戻された前記デ
    ータワードの格納を継続する、以上のステップを含む前
    記データ処理方法。
  31. 【請求項31】 データ処理装置であって: (i)メモリ回路と; (ii)前記メモリ回路に結合されたデータバスと; (iii)前記データバスに結合され、メモリアクセス
    要求を前記メモリ回路に前記データバスを経由して送る
    複数のバスマスタ回路と; (iv)バスマスタ優先度の階層に基づき、どのバスマ
    スタが前記データバスの使用を獲得する優先度を許可さ
    れるかを、2つまたはそれ以上のバスマスタが暫定的に
    重複するメモリアクセス要求の発した際に制御するため
    のバス調停回路とを含むデータ処理装置に於いて、 (v)前記調停回路がバスマスタ間で前記データバスの
    使用を獲得するための優先度を再調停するために係属中
    のメモリアクセス要求の待ち時間の決定に応答して、第
    1係属メモリアクセス要求を有し、前記階層内で第2係
    属メモリアクセス要求を有する第2マスタ回路より低い
    位置にある第1バスマスタ回路が、前記第1メモリアク
    セス要求が前記第2メモリアクセス要求よりも低い待ち
    時間を有する場合に、前記第2バスマスタ回路に先行し
    て前記データバスの使用を獲得するように応答する、前
    記データ処理装置。
  32. 【請求項32】 請求項31記載のデータ処理装置に於
    いて、前記第1メモリアクセス要求が、前記第2メモリ
    アクセス要求が前記データバスを経由してデータワード
    の転送準備が整うまでに完了するような待ち時間を有す
    る際に、前記第1バスマスタ回路に前記第2バスマスタ
    回路に優先して前記データバスの使用が与えられる、前
    記データ処理装置。
  33. 【請求項33】 請求項31記載のデータ処理装置に於
    いて、前記メモリ回路が1つのキャッシュメモリと1つ
    の主メモリとを含む、前記データ処理装置。
  34. 【請求項34】 請求項33記載のデータ処理装置に於
    いて、前記第2メモリアクセス要求が結果としてキャッ
    シュミスとなり、主メモリアクセスが要求された際に、
    前記第2メモリアクセス要求が結果としてキャッシュミ
    スとなった場合、前記第1バスマスタ回路が前記第1バ
    スマスタ回路に優先して前記データバスの使用を獲得す
    るように、前記バス調停回路が優先度を再調停する、前
    記データ処理装置。
  35. 【請求項35】 請求項31記載のデータ処理装置に於
    いて、前記メモリ回路が複数の主メモリユニットを含
    み、前記複数の主メモリユニットが独立的にかつ併発的
    にそれぞれのメモリアクセス要求にサービスするように
    動作可能である、前記データ処理装置。
  36. 【請求項36】 請求項35記載のデータ処理装置に於
    いて、前記第2メモリアクセス要求が既に別のメモリア
    クセス要求に対してサービスを行っているためビジーで
    ある主メモリユニットに対するものであり、また前記第
    2メモリアクセス要求がメモリアクセス要求にサービス
    するために既にビジーではない主メモリに対するもので
    あって、前記第2メモリアクセス要求の待ち時間が前記
    第1メモリアクセス要求のそれよりも低い場合、前記バ
    ス調停回路は前記複数のバスマスタ回路の間で、前記第
    2バスマスタ回路が前記第1バスマスタ回路に優先して
    前記データバスの使用を獲得するように再調停を行う、
    前記データ処理装置。
  37. 【請求項37】 請求項35記載のデータ処理装置に於
    いて、前記複数の主メモリユニットがダイナミック随意
    アクセスメモリの複数のバンクである、前記データ処理
    装置。
  38. 【請求項38】 請求項31記載のデータ処理装置に於
    いて、前記メモリ回路、前記データバス、前記複数のバ
    スマスタ回路及び前記バス調停回路が共に1つの集積回
    路の上に具備されている、前記データ処理装置。
  39. 【請求項39】 請求項31記載のデータ処理装置に於
    いて、前記複数のバスマスタ回路が中央処理装置を含
    む、前記データ処理装置。
  40. 【請求項40】 請求項31記載のデータ処理装置に於
    いて、前記複数のバスマスタ回路がビデオ表示制御回路
    を含む、前記データ処理装置。
  41. 【請求項41】 データ処理方法であって: (i)複数のバスマスタ回路からメモリ回路にデータバ
    スを経由してメモリアクセス要求を出し; (ii)バスマスタ優先度の階層に基づき、2つ以上の
    バスマスタが過渡的に重複するメモリアクセス要求を出
    す際に、どのバスマスタが前記データバスの使用獲得の
    優先度を許可されるかを制御するステップを含み; (iii)係属しているメモリアクセス要求の待ち時間
    に応答して、バスマスタ間で前記データバス使用獲得優
    先度が再調停されて、第1係属メモリアクセス要求と、
    第2係属メモリアクセス要求を有する第2バスマスタ回
    路よりも前記階層内でより低い位置とを有する第1バス
    マスタ回路が、前記第1メモリアクセス要求が前記第2
    メモリアクセス要求よりも低い待ち時間を有する場合、
    前記データバスの使用権を前記第2バスマスタ回路に先
    んじて獲得するようにする、以上のステップを含む前記
    データ処理方法。
  42. 【請求項42】 請求項1及び請求項20記載のデータ
    処理装置。
  43. 【請求項43】 請求項1及び請求項31記載のデータ
    処理装置。
  44. 【請求項44】 請求項20及び請求項31記載のデー
    タ処理装置。
  45. 【請求項45】 請求項19及び請求項30記載のデー
    タ処理方法。
  46. 【請求項46】 請求項19及び請求項41記載のデー
    タ処理方法。
  47. 【請求項47】 請求項30及び請求項41記載のデー
    タ処理方法。
JP30733599A 1999-01-19 1999-10-28 データ処理システムに於けるメモリ制御 Expired - Fee Related JP4468521B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9901140.5 1999-01-19
GB9901140A GB2345987B (en) 1999-01-19 1999-01-19 Memory control within data processing systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009272138A Division JP4712110B2 (ja) 1999-01-19 2009-11-30 データ処理システムに於けるメモリ制御

Publications (2)

Publication Number Publication Date
JP2000207283A true JP2000207283A (ja) 2000-07-28
JP4468521B2 JP4468521B2 (ja) 2010-05-26

Family

ID=10846128

Family Applications (2)

Application Number Title Priority Date Filing Date
JP30733599A Expired - Fee Related JP4468521B2 (ja) 1999-01-19 1999-10-28 データ処理システムに於けるメモリ制御
JP2009272138A Expired - Lifetime JP4712110B2 (ja) 1999-01-19 2009-11-30 データ処理システムに於けるメモリ制御

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2009272138A Expired - Lifetime JP4712110B2 (ja) 1999-01-19 2009-11-30 データ処理システムに於けるメモリ制御

Country Status (3)

Country Link
US (3) US6490655B1 (ja)
JP (2) JP4468521B2 (ja)
GB (2) GB2345987B (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190402A (ja) * 2005-01-07 2006-07-20 Renesas Technology Corp 半導体装置
JP2008527498A (ja) * 2004-12-30 2008-07-24 クゥアルコム・インコーポレイテッド Soc相互接続において転送待ち時間を低減するための方法および装置
KR100977339B1 (ko) 2003-05-09 2010-08-20 가부시키가이샤 히타치세이사쿠쇼 반도체 장치
US8117397B2 (en) 2008-12-16 2012-02-14 International Business Machines Corporation Victim cache line selection
US8209489B2 (en) 2008-10-22 2012-06-26 International Business Machines Corporation Victim cache prefetching
US8225045B2 (en) 2008-12-16 2012-07-17 International Business Machines Corporation Lateral cache-to-cache cast-in
US8285939B2 (en) 2009-04-08 2012-10-09 International Business Machines Corporation Lateral castout target selection
US8312220B2 (en) 2009-04-09 2012-11-13 International Business Machines Corporation Mode-based castout destination selection
US8327073B2 (en) 2009-04-09 2012-12-04 International Business Machines Corporation Empirically based dynamic control of acceptance of victim cache lateral castouts
US8327072B2 (en) 2008-07-23 2012-12-04 International Business Machines Corporation Victim cache replacement
US8347036B2 (en) 2009-04-09 2013-01-01 International Business Machines Corporation Empirically based dynamic control of transmission of victim cache lateral castouts
US8347037B2 (en) 2008-10-22 2013-01-01 International Business Machines Corporation Victim cache replacement
US8489819B2 (en) 2008-12-19 2013-07-16 International Business Machines Corporation Victim cache lateral castout targeting
US8499124B2 (en) 2008-12-16 2013-07-30 International Business Machines Corporation Handling castout cache lines in a victim cache
US8949540B2 (en) 2009-03-11 2015-02-03 International Business Machines Corporation Lateral castout (LCO) of victim cache line in data-invalid state
US9189403B2 (en) 2009-12-30 2015-11-17 International Business Machines Corporation Selective cache-to-cache lateral castouts

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US6282617B1 (en) 1999-10-01 2001-08-28 Sun Microsystems, Inc. Multiple variable cache replacement policy
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US8620286B2 (en) 2004-02-27 2013-12-31 Synchronoss Technologies, Inc. Method and system for promoting and transferring licensed content and applications
US8156074B1 (en) 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
WO2002003207A1 (en) 2000-06-30 2002-01-10 Koninklijke Philips Electronics N.V. Data processing apparatus with a cache memory and method of using such an apparatus
US7895334B1 (en) 2000-07-19 2011-02-22 Fusionone, Inc. Remote access communication architecture apparatus and method
US8073954B1 (en) 2000-07-19 2011-12-06 Synchronoss Technologies, Inc. Method and apparatus for a secure remote access system
US7818435B1 (en) 2000-12-14 2010-10-19 Fusionone, Inc. Reverse proxy mechanism for retrieving electronic content associated with a local network
US8615566B1 (en) 2001-03-23 2013-12-24 Synchronoss Technologies, Inc. Apparatus and method for operational support of remote network systems
DE10116863A1 (de) * 2001-04-04 2002-10-17 Infineon Technologies Ag Schnittstelle
US7310706B1 (en) * 2001-06-01 2007-12-18 Mips Technologies, Inc. Random cache line refill
US8261022B2 (en) * 2001-10-09 2012-09-04 Agere Systems Inc. Method and apparatus for adaptive cache frame locking and unlocking
US7487212B2 (en) * 2001-12-14 2009-02-03 Mirapoint Software, Inc. Fast path message transfer agent
US7389387B2 (en) * 2001-12-31 2008-06-17 Intel Corporation Distributed memory module cache writeback
US7027064B2 (en) * 2002-02-28 2006-04-11 Sun Microsystems, Inc. Active block write-back from SRAM cache to DRAM
US6812929B2 (en) * 2002-03-11 2004-11-02 Sun Microsystems, Inc. System and method for prefetching data from a frame buffer
US8375113B2 (en) 2002-07-11 2013-02-12 Oracle International Corporation Employing wrapper profiles
US7478407B2 (en) 2002-07-11 2009-01-13 Oracle International Corporation Supporting multiple application program interfaces
US7428523B2 (en) * 2002-07-11 2008-09-23 Oracle International Corporation Portal bridge
US7512585B2 (en) * 2002-07-11 2009-03-31 Oracle International Corporation Support for multiple mechanisms for accessing data stores
US7447701B2 (en) 2002-07-11 2008-11-04 Oracle International Corporation Automatic configuration of attribute sets
US7206851B2 (en) * 2002-07-11 2007-04-17 Oracle International Corporation Identifying dynamic groups
US7428592B2 (en) 2002-07-11 2008-09-23 Oracle International Corporation Securely persisting network resource identifiers
US7114037B2 (en) * 2002-07-11 2006-09-26 Oracle International Corporation Employing local data stores to maintain data during workflows
US7467142B2 (en) * 2002-07-11 2008-12-16 Oracle International Corporation Rule based data management
WO2004059491A1 (en) * 2002-12-30 2004-07-15 Intel Corporation Cache victim sector tag buffer
US7290093B2 (en) * 2003-01-07 2007-10-30 Intel Corporation Cache memory to support a processor's power mode of operation
US7254681B2 (en) * 2003-02-13 2007-08-07 Intel Corporation Cache victim sector tag buffer
US7203798B2 (en) 2003-03-20 2007-04-10 Matsushita Electric Industrial Co., Ltd. Data memory cache unit and data memory cache system
WO2005010715A2 (en) 2003-07-21 2005-02-03 Fusionone, Inc. Device message management system
US7882132B2 (en) 2003-10-09 2011-02-01 Oracle International Corporation Support for RDBMS in LDAP system
US7340447B2 (en) * 2003-10-09 2008-03-04 Oracle International Corporation Partitioning data access requests
US7904487B2 (en) 2003-10-09 2011-03-08 Oracle International Corporation Translating data access requests
US7634509B2 (en) * 2003-11-07 2009-12-15 Fusionone, Inc. Personal information space management system and method
US7917706B1 (en) * 2003-12-15 2011-03-29 Altera Corporation SDRAM controller
JP2008500750A (ja) 2004-05-12 2008-01-10 フュージョンワン インコーポレイテッド 高度な連絡先識別システム
US20080082421A1 (en) * 2004-05-12 2008-04-03 Richard Onyon Monetization of an advanced contact identification system
US9542076B1 (en) 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
JP2006119796A (ja) * 2004-10-20 2006-05-11 Matsushita Electric Ind Co Ltd キャッシュメモリシステムおよび動画処理装置
US7966439B1 (en) * 2004-11-24 2011-06-21 Nvidia Corporation Apparatus, system, and method for a fast data return memory controller
JP2008546253A (ja) * 2005-05-19 2008-12-18 フュージョンワン インコーポレイテッド 機密保護方法及び情報サービス提供方法
US20070002607A1 (en) * 2005-06-29 2007-01-04 Khellah Muhammad M Memory circuit
CN100407171C (zh) * 2005-09-13 2008-07-30 威盛电子股份有限公司 设置高速缓存线填充总线存取优先级的微处理器和方法
US7437510B2 (en) * 2005-09-30 2008-10-14 Intel Corporation Instruction-assisted cache management for efficient use of cache and memory
US7802040B2 (en) * 2005-12-22 2010-09-21 Arm Limited Arbitration method reordering transactions to ensure quality of service specified by each transaction
US7747662B2 (en) * 2005-12-30 2010-06-29 Netapp, Inc. Service aware network caching
GB0603552D0 (en) 2006-02-22 2006-04-05 Advanced Risc Mach Ltd Cache management within a data processing apparatus
US7653846B2 (en) * 2006-12-28 2010-01-26 Intel Corporation Memory cell bit valve loss detection and restoration
KR20090113310A (ko) * 2007-01-26 2009-10-29 퓨전원 인코포레이티드 모바일 디바이스에서 사용하기 위한 콘텐츠를 백업하는 시스템 및 방법
US8195886B2 (en) * 2007-03-16 2012-06-05 Arm Limited Data processing apparatus and method for implementing a replacement scheme for entries of a storage unit
US20090109996A1 (en) * 2007-10-29 2009-04-30 Hoover Russell D Network on Chip
US20090125706A1 (en) * 2007-11-08 2009-05-14 Hoover Russell D Software Pipelining on a Network on Chip
US20090125703A1 (en) * 2007-11-09 2009-05-14 Mejdrich Eric O Context Switching on a Network On Chip
US8261025B2 (en) 2007-11-12 2012-09-04 International Business Machines Corporation Software pipelining on a network on chip
US8145844B2 (en) * 2007-12-13 2012-03-27 Arm Limited Memory controller with write data cache and read data cache
US8181111B1 (en) 2007-12-31 2012-05-15 Synchronoss Technologies, Inc. System and method for providing social context to digital activity
JP2009205335A (ja) * 2008-02-27 2009-09-10 Hitachi Ltd 2種のメモリデバイスをキャッシュに用いるストレージシステム及びそのストレージシステムを制御する方法
US20090260013A1 (en) * 2008-04-14 2009-10-15 International Business Machines Corporation Computer Processors With Plural, Pipelined Hardware Threads Of Execution
US8001331B2 (en) * 2008-04-17 2011-08-16 Arm Limited Efficiency of cache memory operations
US8423715B2 (en) 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy
US20090282419A1 (en) * 2008-05-09 2009-11-12 International Business Machines Corporation Ordered And Unordered Network-Addressed Message Control With Embedded DMA Commands For A Network On Chip
US8438578B2 (en) 2008-06-09 2013-05-07 International Business Machines Corporation Network on chip with an I/O accelerator
US8131931B1 (en) * 2008-10-22 2012-03-06 Nvidia Corporation Configurable cache occupancy policy
US8868838B1 (en) 2008-11-21 2014-10-21 Nvidia Corporation Multi-class data cache policies
KR101056560B1 (ko) * 2009-02-11 2011-08-11 (주)인디링스 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법및 장치
US8140767B2 (en) * 2009-06-04 2012-03-20 International Business Machines Corporation Cache management through delayed writeback
KR101574207B1 (ko) * 2009-10-16 2015-12-14 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 저장 방법
US8255006B1 (en) 2009-11-10 2012-08-28 Fusionone, Inc. Event dependent notification system and method
US8943428B2 (en) 2010-11-01 2015-01-27 Synchronoss Technologies, Inc. System for and method of field mapping
US8543766B2 (en) * 2011-06-10 2013-09-24 Freescale Semiconductor, Inc. Writing data to system memory in a data processing system in which cache line states are tracked
US20130091331A1 (en) * 2011-10-11 2013-04-11 Iulian Moraru Methods, apparatus, and articles of manufacture to manage memory
US9063864B2 (en) 2012-07-16 2015-06-23 Hewlett-Packard Development Company, L.P. Storing data in presistent hybrid memory
US9442849B2 (en) * 2012-12-29 2016-09-13 Intel Corporation Apparatus and method for reduced core entry into a power state having a powered down core cache
CN103268290B (zh) * 2013-01-04 2016-02-17 深圳爱淘城网络科技股份有限公司 基于优先级锁定的闪存存储方法
US9135179B2 (en) * 2013-05-01 2015-09-15 Qualcomm, Incorporated System and method of arbitrating cache requests
US9218292B2 (en) 2013-06-18 2015-12-22 International Business Machines Corporation Least-recently-used (LRU) to first-dirty-member distance-maintaining cache cleaning scheduler
US9767041B2 (en) * 2015-05-26 2017-09-19 Intel Corporation Managing sectored cache
KR102373544B1 (ko) 2015-11-06 2022-03-11 삼성전자주식회사 요청 기반의 리프레쉬를 수행하는 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
US11042299B2 (en) * 2016-06-27 2021-06-22 Quantum Corporation Removable media based object store
US10394719B2 (en) * 2017-01-25 2019-08-27 Samsung Electronics Co., Ltd. Refresh aware replacement policy for volatile memory cache
KR20200127793A (ko) * 2019-05-03 2020-11-11 에스케이하이닉스 주식회사 메모리 장치의 캐시 시스템 및 캐시 시스템의 데이터 캐싱 방법

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1541240A (fr) * 1966-11-10 Ibm Accès à chevauchement et à intercalation pour mémoires à plusieurs vitesses
US4257095A (en) * 1978-06-30 1981-03-17 Intel Corporation System bus arbitration, circuitry and methodology
US4513367A (en) * 1981-03-23 1985-04-23 International Business Machines Corporation Cache locking controls in a multiprocessor
EP0179936B1 (de) * 1984-10-31 1990-01-03 Ibm Deutschland Gmbh Verfahren und Einrichtung zur Steuerung einer Sammelleitung
AU2022188A (en) * 1987-07-30 1989-02-02 Alliant Computer Systems Corporation Parallel processing computer in which memory access priorities are varied
JPH01163852A (ja) * 1987-10-02 1989-06-28 Computer Consoles Inc データ処理システム内のサブシステムおよびその動作方法
US5222223A (en) * 1989-02-03 1993-06-22 Digital Equipment Corporation Method and apparatus for ordering and queueing multiple memory requests
JPH02245858A (ja) * 1989-03-20 1990-10-01 Fujitsu Ltd データ転送制御装置
US5155824A (en) * 1989-05-15 1992-10-13 Motorola, Inc. System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
EP0398523A3 (en) 1989-05-19 1991-08-21 Hitachi, Ltd. A device for data i/o and execution support in digital processors
JPH0362141A (ja) * 1989-07-31 1991-03-18 Nippon Telegr & Teleph Corp <Ntt> メモリ制御方式
US5345577A (en) * 1989-10-13 1994-09-06 Chips & Technologies, Inc. Dram refresh controller with improved bus arbitration scheme
KR940002905B1 (en) * 1989-12-15 1994-04-07 Ibm Apparatus for conditioning priority arbitration in buffered direct memory addressing
EP0468831B1 (en) * 1990-06-29 1997-10-15 Digital Equipment Corporation Bus protocol for write-back cache processor
JPH0471048A (ja) * 1990-07-12 1992-03-05 Oki Electric Ind Co Ltd コンピュータシステム
JPH05189311A (ja) * 1992-01-09 1993-07-30 Mitsubishi Electric Corp キャッシュメモリ・システム
JPH06139206A (ja) * 1992-10-26 1994-05-20 Nippon Telegr & Teleph Corp <Ntt> マルチプロセッサシステムにおける排他制御方式
US5463739A (en) * 1992-12-22 1995-10-31 International Business Machines Corporation Apparatus for vetoing reallocation requests during a data transfer based on data bus latency and the number of received reallocation requests below a threshold
US5636355A (en) * 1993-06-30 1997-06-03 Digital Equipment Corporation Disk cache management techniques using non-volatile storage
GB2284911A (en) * 1993-12-16 1995-06-21 Plessey Semiconductors Ltd Flexible lock-down cache.
US5542066A (en) 1993-12-23 1996-07-30 International Business Machines Corporation Destaging modified data blocks from cache memory
TW243509B (en) 1994-01-31 1995-03-21 Ibm Data processor with memory cache and method of operation
US6272595B1 (en) * 1994-08-05 2001-08-07 Intel Corporation N-way set-associative cache memory which includes a store hit buffer for improved data access
US5524235A (en) * 1994-10-14 1996-06-04 Compaq Computer Corporation System for arbitrating access to memory with dynamic priority assignment
US5655100A (en) * 1995-03-31 1997-08-05 Sun Microsystems, Inc. Transaction activation processor for controlling memory transaction execution in a packet switched cache coherent multiprocessor system
US5666494A (en) 1995-03-31 1997-09-09 Samsung Electronics Co., Ltd. Queue management mechanism which allows entries to be processed in any order
US5638534A (en) 1995-03-31 1997-06-10 Samsung Electronics Co., Ltd. Memory controller which executes read and write commands out of order
US5664154A (en) * 1995-10-02 1997-09-02 Chromatic Research, Inc. M/A for optimizing retry time upon cache-miss by selecting a delay time according to whether the addressed location's dirty bit indicates a write-back
US5805840A (en) * 1996-03-26 1998-09-08 Advanced Micro Devices, Inc. Bus arbiter employing a transaction grading mechanism to dynamically vary arbitration priority
US5900011A (en) * 1996-07-01 1999-05-04 Sun Microsystems, Inc. Integrated processor/memory device with victim data cache
JP3516326B2 (ja) 1997-03-13 2004-04-05 株式会社日立製作所 共有キャッシュメモリを有するメモリコントローラ及びこれを備えたコンピュータシステム
US6032232A (en) * 1997-05-29 2000-02-29 3Com Corporation Multiported memory access system with arbitration and a source burst limiter for blocking a memory access request
US6006303A (en) * 1997-08-28 1999-12-21 Oki Electric Industry Co., Inc. Priority encoding and decoding for memory architecture
US6065102A (en) * 1997-09-12 2000-05-16 Adaptec, Inc. Fault tolerant multiple client memory arbitration system capable of operating multiple configuration types
US6085294A (en) * 1997-10-24 2000-07-04 Compaq Computer Corporation Distributed data dependency stall mechanism
US6119205A (en) * 1997-12-22 2000-09-12 Sun Microsystems, Inc. Speculative cache line write backs to avoid hotspots
US6304923B1 (en) * 1998-10-14 2001-10-16 Micron Technology, Inc. Method for prioritizing data transfer request by comparing a latency identifier value received from an I/O device with a predetermined range of values
US6415367B1 (en) * 1999-12-16 2002-07-02 Intel Corporation Apparatus for reducing asynchronous service latency in a time slot-based memory arbitration scheme

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100977339B1 (ko) 2003-05-09 2010-08-20 가부시키가이샤 히타치세이사쿠쇼 반도체 장치
JP2008527498A (ja) * 2004-12-30 2008-07-24 クゥアルコム・インコーポレイテッド Soc相互接続において転送待ち時間を低減するための方法および装置
JP4944042B2 (ja) * 2004-12-30 2012-05-30 クゥアルコム・インコーポレイテッド Soc相互接続において転送待ち時間を低減するための方法および装置
JP2006190402A (ja) * 2005-01-07 2006-07-20 Renesas Technology Corp 半導体装置
US8327072B2 (en) 2008-07-23 2012-12-04 International Business Machines Corporation Victim cache replacement
US8347037B2 (en) 2008-10-22 2013-01-01 International Business Machines Corporation Victim cache replacement
US8209489B2 (en) 2008-10-22 2012-06-26 International Business Machines Corporation Victim cache prefetching
US8225045B2 (en) 2008-12-16 2012-07-17 International Business Machines Corporation Lateral cache-to-cache cast-in
US8117397B2 (en) 2008-12-16 2012-02-14 International Business Machines Corporation Victim cache line selection
US8499124B2 (en) 2008-12-16 2013-07-30 International Business Machines Corporation Handling castout cache lines in a victim cache
US8489819B2 (en) 2008-12-19 2013-07-16 International Business Machines Corporation Victim cache lateral castout targeting
US8949540B2 (en) 2009-03-11 2015-02-03 International Business Machines Corporation Lateral castout (LCO) of victim cache line in data-invalid state
US8285939B2 (en) 2009-04-08 2012-10-09 International Business Machines Corporation Lateral castout target selection
US8312220B2 (en) 2009-04-09 2012-11-13 International Business Machines Corporation Mode-based castout destination selection
US8327073B2 (en) 2009-04-09 2012-12-04 International Business Machines Corporation Empirically based dynamic control of acceptance of victim cache lateral castouts
US8347036B2 (en) 2009-04-09 2013-01-01 International Business Machines Corporation Empirically based dynamic control of transmission of victim cache lateral castouts
US9189403B2 (en) 2009-12-30 2015-11-17 International Business Machines Corporation Selective cache-to-cache lateral castouts

Also Published As

Publication number Publication date
US6684302B2 (en) 2004-01-27
US7020751B2 (en) 2006-03-28
GB2345987A (en) 2000-07-26
US20020184449A1 (en) 2002-12-05
JP4712110B2 (ja) 2011-06-29
JP4468521B2 (ja) 2010-05-26
GB2345987B (en) 2003-08-06
JP2010049708A (ja) 2010-03-04
GB2385174B (en) 2003-11-26
US6490655B1 (en) 2002-12-03
GB9901140D0 (en) 1999-03-10
US20020188809A1 (en) 2002-12-12
GB2385174A (en) 2003-08-13
GB0308740D0 (en) 2003-05-21

Similar Documents

Publication Publication Date Title
JP4468521B2 (ja) データ処理システムに於けるメモリ制御
US7047374B2 (en) Memory read/write reordering
JP4960989B2 (ja) インバリデーショントランザクションのスヌープフィルタからの削除
US6425060B1 (en) Circuit arrangement and method with state-based transaction scheduling
KR100634187B1 (ko) 데이터 처리 시스템의 메모리 서브시스템에서 공급자 기반메모리 예측 방법 및 시스템
US7281092B2 (en) System and method of managing cache hierarchies with adaptive mechanisms
US20070094450A1 (en) Multi-level cache architecture having a selective victim cache
US6321296B1 (en) SDRAM L3 cache using speculative loads with command aborts to lower latency
US20060155934A1 (en) System and method for reducing unnecessary cache operations
US20130046934A1 (en) System caching using heterogenous memories
US20090249106A1 (en) Automatic Wakeup Handling on Access in Shared Memory Controller
WO2006031414A2 (en) Resolving cache conflicts
KR20060017881A (ko) 동적 프리페치 버퍼 구성 및 대체를 위한 방법 및 장치
US6351791B1 (en) Circuit arrangement and method of maintaining cache coherence utilizing snoop response collection logic that disregards extraneous retry responses
US6496905B1 (en) Write buffer with burst capability
JP2019096309A (ja) メンテナンス動作の実行
US7383397B2 (en) Method and apparatus for filtering snoop requests using a scoreboard
US8135910B2 (en) Bandwidth of a cache directory by slicing the cache directory into two smaller cache directories and replicating snooping logic for each sliced cache directory
JP2002073415A (ja) 遅延無効化コンピュータキャッシュシステム
US20130031313A1 (en) Cache arrangement
JP2007156821A (ja) キャッシュシステム及び共用2次キャッシュ
US20020108021A1 (en) High performance cache and method for operating same
US6345340B1 (en) Cache coherency protocol with ambiguous state for posted operations
US20020169931A1 (en) System of and method for flow control within a tag pipeline
JP7311959B2 (ja) 複数のデータ・タイプのためのデータ・ストレージ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091028

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100225

R150 Certificate of patent or registration of utility model

Ref document number: 4468521

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140305

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees