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

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

Info

Publication number
JP2010049708A
JP2010049708A JP2009272138A JP2009272138A JP2010049708A JP 2010049708 A JP2010049708 A JP 2010049708A JP 2009272138 A JP2009272138 A JP 2009272138A JP 2009272138 A JP2009272138 A JP 2009272138A JP 2010049708 A JP2010049708 A JP 2010049708A
Authority
JP
Japan
Prior art keywords
bus
memory access
access request
cache
circuit
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
JP2009272138A
Other languages
English (en)
Other versions
JP4712110B2 (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
ARM Ltd
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 ARM Ltd, Advanced Risc Machines Ltd filed Critical ARM Ltd
Publication of JP2010049708A publication Critical patent/JP2010049708A/ja
Application granted granted Critical
Publication of JP4712110B2 publication Critical patent/JP4712110B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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

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

Description

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

Claims (10)

  1. データ処理装置であって:
    (i)メモリ回路と;
    (ii)前記メモリ回路に結合されたデータバスと;
    (iii)前記データバスに結合され、メモリアクセス要求を前記メモリ回路に前記データバスを経由して送る複数のバスマスタ回路と;
    (iv)バスマスタ優先度の階層に基づき、どのバスマスタ回路が前記データバスの使用を獲得する優先度を許可されるかを、2つまたはそれ以上のバスマスタ回路が暫定的に重複するメモリアクセス要求の発した際に制御するためのバス調停回路とを含むデータ処理装置に於いて、
    (v)前記バス調停回路がバスマスタ間で前記データバスの使用を獲得するための優先度を再調停するために係属中のメモリアクセス要求の待ち時間の決定に応答して、第1係属メモリアクセス要求を有し、前記階層内で第2係属メモリアクセス要求を有する第2バスマスタ回路より低い位置にある第1バスマスタ回路が、前記第1係属メモリアクセス要求が前記第2係属メモリアクセス要求よりも低い待ち時間を有する場合に、前記第2バスマスタ回路に先行して前記データバスの使用を獲得し、
    前記第2係属メモリアクセス要求が結果としてキャッシュミスとなり、主メモリアクセスが要求された際に、前記第1係属メモリアクセス要求が結果としてキャッシュヒットとなった場合、前記第1バスマスタ回路が前記第2バスマスタ回路に優先して前記データバスの使用を獲得するように、前記バス調停回路が優先度を再調停する、前記データ処理装置。
  2. 請求項1記載のデータ処理装置に於いて、前記第1メモリアクセス要求が、前記第2メモリアクセス要求が前記データバスを経由してデータワードの転送準備が整う前に終わるような待ち時間を有するとき、前記第1バスマスタ回路に前記第2バスマスタ回路に優先して前記データバスの使用が与えられる、前記データ処理装置。
  3. 請求項1記載のデータ処理装置に於いて、前記メモリ回路が1つのキャッシュメモリと1つの主メモリユニットとを含む、前記データ処理装置。
  4. 請求項1記載のデータ処理装置に於いて、前記メモリ回路が複数の主メモリユニットを含み、前記複数の主メモリユニットが独立的にかつ併発的にそれぞれのメモリアクセス要求にサービスするように動作可能である、前記データ処理装置。
  5. 請求項4記載のデータ処理装置に於いて、前記第2メモリアクセス要求が既に別のメモリアクセス要求に対してサービスを行っているためビジーである主メモリユニットに対するものであり、また前記第1メモリアクセス要求がメモリアクセス要求にサービスするために既にビジーではない主メモリユニットに対するものであって、前記第1メモリアクセス要求の待ち時間が前記第2メモリアクセス要求のそれよりも低い場合、前記バス調停回路は前記複数のバスマスタ回路の間で、前記第1バスマスタ回路が前記第2バスマスタ回路に優先して前記データバスの使用を獲得するように再調停を行う、前記データ処理装置。
  6. 請求項4記載のデータ処理装置に於いて、前記複数の主メモリユニットがダイナミック随意アクセスメモリの複数のバンクである、前記データ処理装置。
  7. 請求項1記載のデータ処理装置に於いて、前記メモリ回路、前記データバス、前記複数のバスマスタ回路及び前記バス調停回路が共に1つの集積回路の上に具備されている、前記データ処理装置。
  8. 請求項1記載のデータ処理装置に於いて、前記複数のバスマスタ回路が中央処理装置を含む、前記データ処理装置。
  9. 請求項1記載のデータ処理装置に於いて、前記複数のバスマスタ回路がビデオ表示制御回路を含む、前記データ処理装置。
  10. データ処理方法であって:
    (i)複数のバスマスタ回路からメモリ回路にデータバスを経由してメモリアクセス要求を出し;
    (ii)バスマスタ優先度の階層に基づき、2つ以上のバスマスタ回路が過渡的に重複するメモリアクセス要求を出す際に、どのバスマスタ回路が前記データバスの使用獲得の優先度を許可されるかを制御するステップを含み;
    (iii)係属しているメモリアクセス要求の待ち時間に応答して、バスマスタ回路間で前記データバス使用獲得優先度が再調停されて、第1係属メモリアクセス要求を有し、第2係属メモリアクセス要求を有する第2バスマスタ回路よりも前記階層内でより低い位置を有する第1バスマスタ回路が、前記第1係属メモリアクセス要求が前記第2係属メモリアクセス要求よりも低い待ち時間を有する場合、前記データバスの使用権を前記第2バスマスタ回路に先んじて獲得するようにし、
    前記第2係属メモリアクセス要求が結果としてキャッシュミスとなり、主メモリアクセスが要求された際に、前記第1係属メモリアクセス要求が結果としてキャッシュヒットとなった場合、前記第1バスマスタ回路が前記第2バスマスタ回路に優先して前記データバスの使用を獲得するように、前記優先度が再調停される前記データ処理方法。
JP2009272138A 1999-01-19 2009-11-30 データ処理システムに於けるメモリ制御 Expired - Lifetime JP4712110B2 (ja)

Applications Claiming Priority (2)

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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP30733599A Division JP4468521B2 (ja) 1999-01-19 1999-10-28 データ処理システムに於けるメモリ制御

Publications (2)

Publication Number Publication Date
JP2010049708A true JP2010049708A (ja) 2010-03-04
JP4712110B2 JP4712110B2 (ja) 2011-06-29

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 Before (1)

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

Country Status (3)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016524740A (ja) * 2013-05-01 2016-08-18 クゥアルコム・インコーポレイテッドQualcomm Incorporated キャッシュ要求を調停するシステムおよび方法
JP2018120589A (ja) * 2017-01-25 2018-08-02 三星電子株式会社Samsung Electronics Co.,Ltd. 揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US6282617B1 (en) * 1999-10-01 2001-08-28 Sun Microsystems, Inc. Multiple variable cache replacement policy
US8156074B1 (en) 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
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
JP2004503010A (ja) 2000-06-30 2004-01-29 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ キャッシュメモリを有するデータ処理装置およびこのような装置の使用方法
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
US7478407B2 (en) 2002-07-11 2009-01-13 Oracle International Corporation Supporting multiple application program interfaces
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
US7428592B2 (en) 2002-07-11 2008-09-23 Oracle International Corporation Securely persisting network resource identifiers
US7206851B2 (en) * 2002-07-11 2007-04-17 Oracle International Corporation Identifying dynamic groups
US8375113B2 (en) 2002-07-11 2013-02-12 Oracle International Corporation Employing wrapper profiles
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
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
JP4241175B2 (ja) 2003-05-09 2009-03-18 株式会社日立製作所 半導体装置
US8645471B2 (en) 2003-07-21 2014-02-04 Synchronoss Technologies, 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
US9542076B1 (en) 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
US20080082421A1 (en) * 2004-05-12 2008-04-03 Richard Onyon Monetization of an advanced contact identification system
JP2008500750A (ja) 2004-05-12 2008-01-10 フュージョンワン インコーポレイテッド 高度な連絡先識別システム
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
US7263566B2 (en) * 2004-12-30 2007-08-28 Qualcomm Incorporated Method and apparatus of reducing transfer latency in an SOC interconnect
JP2006190402A (ja) * 2005-01-07 2006-07-20 Renesas Technology Corp 半導体装置
US20070056043A1 (en) * 2005-05-19 2007-03-08 Richard Onyon Remote cell phone auto destruct
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
CN101341474B (zh) * 2005-12-22 2012-02-08 Arm有限公司 用于对事务重排序来确保每个事务所规定的服务质量的仲裁方法
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
WO2008094508A2 (en) * 2007-01-26 2008-08-07 Fusionone, Inc. System for and method of backing up content for use on a mobile device
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
US8327072B2 (en) 2008-07-23 2012-12-04 International Business Machines Corporation Victim cache replacement
US8131931B1 (en) * 2008-10-22 2012-03-06 Nvidia Corporation Configurable cache occupancy policy
US8209489B2 (en) 2008-10-22 2012-06-26 International Business Machines Corporation Victim cache prefetching
US8347037B2 (en) 2008-10-22 2013-01-01 International Business Machines Corporation Victim cache replacement
US8868838B1 (en) 2008-11-21 2014-10-21 Nvidia Corporation Multi-class data cache policies
US8499124B2 (en) 2008-12-16 2013-07-30 International Business Machines Corporation Handling castout cache lines in a victim cache
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
US8489819B2 (en) 2008-12-19 2013-07-16 International Business Machines Corporation Victim cache lateral castout targeting
KR101056560B1 (ko) * 2009-02-11 2011-08-11 (주)인디링스 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법및 장치
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
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
US8312220B2 (en) 2009-04-09 2012-11-13 International Business Machines Corporation Mode-based castout destination selection
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
US9189403B2 (en) 2009-12-30 2015-11-17 International Business Machines Corporation Selective cache-to-cache lateral castouts
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 深圳爱淘城网络科技股份有限公司 基于优先级锁定的闪存存储方法
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
KR20200127793A (ko) * 2019-05-03 2020-11-11 에스케이하이닉스 주식회사 메모리 장치의 캐시 시스템 및 캐시 시스템의 데이터 캐싱 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6484361A (en) * 1987-07-30 1989-03-29 Araianto Computer Syst Corp Parallel processing computer with alterable preference of memory access
JPH02245858A (ja) * 1989-03-20 1990-10-01 Fujitsu Ltd データ転送制御装置
JPH0362141A (ja) * 1989-07-31 1991-03-18 Nippon Telegr & Teleph Corp <Ntt> メモリ制御方式
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> マルチプロセッサシステムにおける排他制御方式

Family Cites Families (32)

* 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
DE3480962D1 (de) * 1984-10-31 1990-02-08 Ibm Deutschland Verfahren und einrichtung zur steuerung einer sammelleitung.
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
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
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
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
US5638534A (en) 1995-03-31 1997-06-10 Samsung Electronics Co., Ltd. Memory controller which executes read and write commands out of order
US5666494A (en) 1995-03-31 1997-09-09 Samsung Electronics Co., Ltd. Queue management mechanism which allows entries to be processed in any 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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6484361A (en) * 1987-07-30 1989-03-29 Araianto Computer Syst Corp Parallel processing computer with alterable preference of memory access
JPH02245858A (ja) * 1989-03-20 1990-10-01 Fujitsu Ltd データ転送制御装置
JPH0362141A (ja) * 1989-07-31 1991-03-18 Nippon Telegr & Teleph Corp <Ntt> メモリ制御方式
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> マルチプロセッサシステムにおける排他制御方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016524740A (ja) * 2013-05-01 2016-08-18 クゥアルコム・インコーポレイテッドQualcomm Incorporated キャッシュ要求を調停するシステムおよび方法
US10289574B2 (en) 2013-05-01 2019-05-14 Qualcomm Incorporated System and method of arbitrating cache requests
JP2018120589A (ja) * 2017-01-25 2018-08-02 三星電子株式会社Samsung Electronics Co.,Ltd. 揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部
JP7164951B2 (ja) 2017-01-25 2022-11-02 三星電子株式会社 揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4712110B2 (ja) データ処理システムに於けるメモリ制御
US9405696B2 (en) Cache and method for cache bypass functionality
TWI410796B (zh) 來自窺探過濾器之過期無效異動的減少
KR101021046B1 (ko) 동적 프리페치 버퍼 구성 및 대체를 위한 방법 및 장치
US7047374B2 (en) Memory read/write reordering
US8645627B2 (en) Memory bus write prioritization
JP7340326B2 (ja) メンテナンス動作の実行
US11194617B2 (en) Merging data for write allocate
JP6451538B2 (ja) 演算処理装置及び演算処理装置の制御方法
US6351791B1 (en) Circuit arrangement and method of maintaining cache coherence utilizing snoop response collection logic that disregards extraneous retry responses
US20060179175A1 (en) Method and system for cache utilization by limiting prefetch requests
US20150143056A1 (en) Dynamic write priority based on virtual write queue high water mark
JP2002073415A (ja) 遅延無効化コンピュータキャッシュシステム
US20130031313A1 (en) Cache arrangement
JP2001147854A (ja) 処理システム、書き込みバッファユニット内の格納の最適化方法、並びに、データの格納及び分配方法
WO2017016380A1 (en) Advance cache allocator
US6801982B2 (en) Read prediction algorithm to provide low latency reads with SDRAM cache
JP7311959B2 (ja) 複数のデータ・タイプのためのデータ・ストレージ
JPH07500936A (ja) 複数の書込キャッシュを含むメモリ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110223

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: 20110315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110322

R150 Certificate of patent or registration of utility model

Ref document number: 4712110

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

EXPY Cancellation because of completion of term