JP5011885B2 - スヌープタグの制御装置 - Google Patents

スヌープタグの制御装置 Download PDF

Info

Publication number
JP5011885B2
JP5011885B2 JP2006223626A JP2006223626A JP5011885B2 JP 5011885 B2 JP5011885 B2 JP 5011885B2 JP 2006223626 A JP2006223626 A JP 2006223626A JP 2006223626 A JP2006223626 A JP 2006223626A JP 5011885 B2 JP5011885 B2 JP 5011885B2
Authority
JP
Japan
Prior art keywords
way
read request
snoop tag
information
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006223626A
Other languages
English (en)
Other versions
JP2008046992A (ja
Inventor
誠 畑井田
俊和 植木
孝治 石塚
崇史 山本
由佳 細川
威 大脇
大介 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006223626A priority Critical patent/JP5011885B2/ja
Priority to US11/790,272 priority patent/US8499125B2/en
Priority to EP07107239A priority patent/EP1895421A1/en
Priority to KR1020070049575A priority patent/KR100891139B1/ko
Priority to CN200710106421A priority patent/CN100587676C/zh
Publication of JP2008046992A publication Critical patent/JP2008046992A/ja
Application granted granted Critical
Publication of JP5011885B2 publication Critical patent/JP5011885B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、キャッシュメモリの制御に関する。
CPUの高速化に伴い、キャッシュメモリを効率良く制御することがシステム全体の能力を向上させる上で重要な要素になってきている。
CPUに内蔵されているキャッシュメモリ(以下単にキャッシュとも称する)のコピーであるスヌープタグを持つシステムにおいて、該キャッシュのウェイが満杯であると、キャッシュミスによるリード要求がシステムに対して発行される。
このとき、どのWAYを追い出すかのリプレース情報をCPUからシステムに知らせる手段が無いと、システム側はスヌープタグのどのWAYを追い出すかを勝手に決定せざるを得ない。
その場合、CPUが追い出したWAYとシステム側が追い出したWAYが異なれば、結果的にキャッシュミス率が増大してしまう。ここでは、このリプレース情報を、CPUからシステムに別のリプレース要求として独立に発行するようなプロトコルを前提とする。
このリプレース要求の内容にはWAY情報は含まれず、アドレス情報のみ含まれるため、スヌープタグを検索した結果でシステム側はどのWAYを追い出せばよいかを知ることができる。
したがって、リプレース要求はペアとなるリード要求よりも先に処理されなければ効果が半減するため、先回りで確実に処理されることが要求される。
また、システム内でリクエストがパイプライン処理される場合、レイテンシの要件から、スヌープタグのリードとライトは別々のタイミングで処理する方式が一般的であるが、この場合、リードとライトの間に別の同一インデックスのアクセスが無いことを保証しなければならない。即ち、所謂インデックスロックを行わなければならない。
また、本願発明に関連する先行技術として、例えば、下記の特許文献1,2に開示される技術がある。
特開平04−71049号公報 特開平11−102320号公報
上記のように、リプレース要求をペアとなるリード要求に先行させたとき、後続のリード要求が先行するリプレース要求のインデックスロックのために、待たされる可能性がある。つまり性能向上のためのアクセスが、逆に性能低下、例えばレイテンシ悪化を招いてしまうケースがある。
そこで本発明は、スヌープタグの制御における性能低下を防止する技術を提供する。
上記課題を解決するため、本発明は、以下の構成を採用した。
即ち、本発明のスヌープタグの制御装置は、
プロセッサのキャッシュメモリの内容に対応したスヌープタグを保持するスヌープタグ保持部と、
前記プロセッサから受信したリプレース要求に係るエントリとしてリプレース対象のウェイの情報及びインデックスを格納するキューと、
前記キューに格納したインデックスと後続のリード要求のインデックスを比較する比較器とを備え、
前記比較の結果、インデックスが一致したリード要求に基づく処理を前記スヌープタグ保持部に対して行う。
また、本発明の情報処理装置は、
キャッシュメモリを備えたプロセッサと、
情報を記憶するメモリと、
前記プロセッサと前記メモリとの間のリード/ライトの制御を行う制御部とを備え、
前記制御部が、
プロセッサのキャッシュメモリの内容に対応したスヌープタグを保持するスヌープタグ保持部と、
前記プロセッサから受信したリプレース要求に係るエントリとしてリプレース対象のウェイの情報及びインデックスを格納するキューと、
前記キューに格納したインデックスと後続のリード要求のインデックスを比較する比較器とを備え、
前記比較の結果、インデックスが一致したリード要求に基づく処理を前記スヌープタグ保持部に対して行う。
前記リプレース要求を受けた際、前記キューに空きがなければ、前記キューへ格納せずに、当該リプレース要求を無効にしても良い。
前記リプレース要求を受けた際、前記キューに同一インデックスのエントリが格納されている場合には、前記キューへの格納をせず、当該リプレース要求を無効にしても良い。
前記キューに格納したエントリを所定期間後に消去しても良い。
前記比較の結果、インデックスが一致したリード要求のリプレース対象であるウェイの情報を、キュー内のインデックスが一致したエントリのウェイの情報で置換する置換部を備えても良い。
前記スヌープタグの複数のウェイで一つのECCを構成している場合に、前記リード要求のリプレース対象であるウェイのECCシンドロームを保持し、該リード要求に基づく処理を前記スヌープタグに対して行う際に、該処理に応じてECCシンドロームを補正しても良い。
前記インデックスが一致したエントリで保持するウェイの情報と、後続のリード要求のリプレース対象であるウェイの情報が、同一のECCを構成するウェイの情報で無い場合又は同一のウェイの情報の場合に、該リード要求のウェイの情報を該一致したエントリで保持するウェイの情報と置換する置換部を備えても良い。
前記制御装置は、前記スヌープタグを検索し、前記リード要求のウェイの情報が存在するか否かを判定する検索部を備え、
前記インデックスが一致したエントリで保持するウェイの情報と、後続のリード要求のリプレース対象であるウェイの情報が、同一のECCを構成するウェイの情報であり、かつ、前記検索の結果、リード要求のウェイの情報がスヌープタグに存在する場合に、当該ウェイのステータスに基づいて前記補正部が前記ECCシンドロームを補正しても良い。
前記制御装置は、前記スヌープタグを検索し、前記リード要求のウェイの情報が存在するか否かを判定する検索部と、
前記インデックスが一致したエントリで保持するウェイの情報と、後続のリード要求のリプレース対象であるウェイの情報が、同一のECCを構成するウェイの情報であり、かつ、前記検索の結果、リード要求のウェイの情報がスヌープタグに存在しない場合に、当該リード要求のリプレース対象であるウェイの情報を一致したエントリで保持するウェイの情報と置換する置換部を備えても良い。
本発明のスヌープタグの制御方法は、
プロセッサから受信したリプレース要求に係るエントリとしてリプレース対象のウェイの情報及びインデックスをキューに格納し、
前記キューに格納したインデックスと後続のリード要求のインデックスを比較し、
前記比較の結果、インデックスが一致したリード要求に基づく処理を前記プロセッサのキャッシュメモリの内容に対応したスヌープタグに対して行う。
前記スヌープタグの制御方法は、前記比較の結果、インデックスが一致したリード要求のリプレース対象であるウェイの情報を、キュー内のインデックスが一致したエントリのウェイの情報で置換しても良い。
前記スヌープタグの制御方法は、前記スヌープタグの複数のウェイで一つのECCを構成している場合に、前記リード要求のリプレース対象であるウェイのECCシンドロームを保持し、該リード要求に基づく処理を前記スヌープタグに対して行う際に、該処理に応じてECCシンドロームを補正しても良い。
前記スヌープタグの制御方法は、前記インデックスが一致したエントリで保持するウェイの情報と、後続のリード要求のリプレース対象であるウェイの情報が、同一のECCを構成するウェイの情報で無い場合又は同一のウェイの情報の場合に、該リード要求のウェイの情報を該一致したエントリで保持するウェイの情報と置換しても良い。
前記スヌープタグの制御方法は、前記スヌープタグを検索し、前記リード要求のウェイの情報が存在するか否かを判定し、
前記インデックスが一致したエントリで保持するウェイの情報と、後続のリード要求のリプレース対象であるウェイの情報が、同一のECCを構成するウェイの情報であり、かつ、前記検索の結果、リード要求のウェイの情報がスヌープタグに存在する場合に、当該ウェイのステータスに基づいて前記ECCシンドロームを補正しても良い。
前記スヌープタグの制御方法は、前記スヌープタグを検索し、前記リード要求のウェイの情報が存在するか否かを判定し、
前記インデックスが一致したエントリで保持するウェイの情報と、後続のリード要求のリプレース対象であるウェイの情報が、同一のECCを構成するウェイの情報であり、かつ、前記検索の結果、リード要求のウェイの情報がスヌープタグに存在しない場合に、当該リード要求のリプレース対象であるウェイの情報を一致したエントリで保持するウェイの情報と置換しても良い。
本発明によれば、スヌープタグの制御における性能低下を防止できる。
以下、図面を参照して本発明を実施するための最良の形態について説明する。以下の実施の形態の構成は例示であり、本発明は実施の形態の構成に限定されない。
図1は、本発明に係る情報処理装置の概略図、図2,3は、本発明と従来例の比較図、図4は本発明の概念図である。
本例の情報処理装置10は、システムボードSB上にCPU(central processing unit)やメインメモリ(DIMM)等を備え、データクロスバーやアクセスクロスバーを介
して他のシステムボードSBやI/O制御ユニットIOU、I/OコントローラFLI接続した汎用のコンピュータである。
該システムボードSB上には、DIMMを制御するメモリコントローラLDXや、前記CPUとDIMM間のリード/ライト要求等の制御を行う要求制御部FLNを備えている。
CPUからのメモリ又はI/O装置等への要求は、一旦要求制御部FLN内部に蓄えられ、内部で優先順位を取って、アドレスクロスバ上に送信される。アドレスクロスバはこの要求を調停した上でFLN/FLIに送信し、該当するメモリまたはI/O装置のFLN/FLIがデータを応答する。
要求制御部FLNは、CPUに内蔵されているキャッシュのコピーであるスヌープタグ1を備えている。
CPUは、内部のキャッシュのウェイが満杯となると、キャッシュミスによるリード要求をシステム側の要求制御部FLNに対して発行する。
このとき、CPUは、先ず、どのWAYを追い出すかを示すリプレース情報をCPUから要求制御部FLNに通知(リプレース要求)し、次いでリード要求を行う。
この場合、従来の装置では、図2,3の従来例51に示すように、リプレース要求がリードされてからライトされるまでは、インデックスロックがかかるので、リード要求は処理されずリトライが繰り返される。
そして、リプレース要求のライトが終わると、リード要求のリード及びライトが行われる。
これに対し本実施形態の要求制御部FLNは、図4に示すように、CPUからのリード要求またはリプレース要求がパイプラインに入ってくると、まずスヌープタグを検索しヒット判定を行う(S1)、その判定結果はパイプラインに戻り、スヌープタグの更新ステータスを決定後、その結果内容を再度スヌープタグに書き戻す(S2)。ここで、リプレース要求の場合には、そのときのインデックスとリプレース対象のウェイ(リプレースウェイ情報)をキュー(BCRQ)2に格納し(S3)、後続のリード要求のリプレース対象となるウェイをキュー2内の同一インデックスのリプレースウェイ情報で置換する(S4)。
このように、本発明では、リプレース要求を受けた場合、該リプレース要求の情報をキュー2へ退避させて該リプレース要求を中断するので、図2,3の本発明の例52のように同一インデックスのリード要求が直ちに処理可能となり、このリード要求のリードからリプレース要求のライトまでの間ΔLだけレイテンシの改善が図れる。
次に図5〜7を用いて本実施形態の具体的な構成を説明する。図5は、本発明の要求制御部FLNにおいてスヌープタグをパイプライン制御する部分(スヌープタグの制御装置に相当)の概略図である。
図5に示すように、要求制御部FLNは、検索部1や、キュー2、インデックス比較器
3、ウェイ置換部4、ECCシンドローム補正部5、スヌープタグ保持部6を備えている。
検索部1は、CPUからパイプラインに流されたリプレース要求のリードを行い、スヌープタグを検索して該リプレース要求のアドレスに対応するウェイの情報を求めることや、前記リード要求のウェイの情報がスヌープタグに存在するか否かを判定すること、リードしたウェイのステータスやアドレスの情報のECCチェックなどを行う。また、検索部1は、求めたウェイの情報や、ECCチェックの際に求めたECCシンドロームをパイプラインに戻す。
キュー2は、前記プロセッサから受信したリプレース要求に係るエントリとしてリプレース対象のウェイの情報及びインデックスを格納する。
インデックス比較器3は、前記キュー2に格納したインデックスと後続のリード要求のインデックスを比較する。
ウェイ置換部4は、前記インデックス比較器3の比較の結果、後述のようにインデックスが一致したリード要求のリプレース対象であるウェイの情報を、キュー内のインデックスが一致したエントリのウェイの情報で置換する。
ECC補正部5は、前記スヌープタグにおいて複数のウェイで一つのECCが構成されている場合に、前記リード要求のリプレース対象であるウェイのECCシンドロームを保持し、該リード要求に基づく処理を前記スヌープタグに対して行う際に、該処理に応じてECCシンドロームを補正する。即ちリード要求のライトを行う際に、ウェイの情報やステータスをどのように変更するかに基づき、該変更部分の情報のECCが変更後にも正しくなるように該ECCシンドロームを補正し、スヌープタグに書き込む。
スヌープタグ保持部6は、プロセッサのキャッシュメモリの内容に対応したスヌープタグを保持する。なお、該スヌープタグ保持部6では、スヌープタグの複数(複数)のウェイで一つのECCを構成している。
これらの構成の要求制御部FLNにおけるスヌープタグの制御方法について、図6,7を用いて説明する。
まず、リプレース要求を受信した場合(S21)、キュー2はエントリに空きがあるか否かを判定する(S22)。
該エントリの空きがあれば、キュー2は既に格納しているエントリに同一のインデックスがあるか否かを判定し(S23)、同一インデックスが格納されていなければ前記リプレース要求のリプレース対象であるウェイの情報やインデックスを新たなエントリとして格納する。
なお、ステップ22でエントリに空きが無い場合や、ステップ23で同一インデックスが既に格納されている場合にはリプレース要求を破棄する(S25)。
そして、後続のリード要求を受信した場合(S31)、インデックス比較器3は、既にキュー2に格納されているインデックスと該リード要求のインデックスを比較し(S32)、一致しなければ格納されたリプレース要求と関係の無いリード要求なので通常どおりリード要求を処理する(S33)。
比較の結果、インデックスが一致した場合、該エントリのウェイの情報とリード要求のウェイの情報が一致するか否かを判定し、ウェイの情報が同一であれば、ウェイの置き換えやECCシンドロームの補正が必要ないので、このままリード要求に基づく処理(情報の読み出しやステータスの更新等)をスヌープタグに対して行う(S33)。
一方、エントリのウェイの情報とリード要求のウェイの情報が異なるときは、該リード要求の処理をスヌープタグに対して行う際にECCシンドローム補正部5がECCシンドロームの補正を行う(S35〜S38)。この場合、まず、インデックスが一致したエントリで保持するウェイの情報と、後続のリード要求のリプレース対象であるウェイの情報が、同一のECCを構成するペアか否かを判定し(S35)、同一のECCを構成するペアであればウェイ置換部4で該リード要求のウェイの情報を該一致したエントリで保持するウェイの情報と置換すると共に、ECCシンドローム補正部でECCシンドロームを補正する(S36)。
また、ステップ35で前記ウェイの情報が同一のECCを構成するペアでない場合、前記リード要求について検索部1で検索した結果がヒットしたかミスしたか、即ちリード要求のウェイの情報がスヌープタグに存在するか否かを判定する(S37)。
該リード要求のウェイの情報がスヌープタグに存在しなければ、ウェイ置換部4で該リード要求のウェイの情報を該一致したエントリで保持するウェイの情報と置換すると共に、ECCシンドローム補正部5でECCシンドロームを補正する(S36)。これにより該リード要求のウェイの情報がスヌープタグに新たに登録されないのでイビクションを抑えられる。
また、該リード要求のウェイの情報がスヌープタグに存在していれば、スヌープタグのステータスの更新で済むので、ウェイの置換をせずにECCシンドローム補正部5でECCシンドロームを補正する(S38)。
このように本実施形態によれば、リプレース要求を受信した際にそのインデックス等をキュー2にエントリして該リプレース要求の処理を中断した状態にするので、インデックスロックが不要であり、直ちに同一インデックスのリード要求が処理でき、レイテンシを改善できる。
また、更に、リプレース要求とリード要求のウェイが異なった場合に、リード要求のウェイの情報をリプレース要求のウェイの情報で置換することにより、そのリード要求によって生じるスヌープタグの吐き出し、即ちイビクション(EVICTION)が抑止できる。
〈その他〉
本発明は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
例えば、以下に付記した構成であっても上述の実施形態と同様の効果が得られる。また、これらの構成要素は可能な限り組み合わせることができる。
(付記1)
プロセッサのキャッシュメモリの内容に対応したスヌープタグを保持するスヌープタグ保持部と、
前記プロセッサから受信したリプレース要求に係るエントリとしてリプレース対象のウェイの情報及びインデックスを格納するキューと、
前記キューに格納したインデックスと後続のリード要求のインデックスを比較する比較器とを備え、
前記比較の結果、インデックスが一致したリード要求に基づく処理を前記スヌープタグ保持部に対して行うスヌープタグの制御装置。(1)
(付記2)
前記リプレース要求を受けた際、前記キューに空きがなければ、前記キューへ格納せずに、当該リプレース要求を無効にする付記1に記載の制御装置。(2)
(付記3)
前記リプレース要求を受けた際、前記キューに同一インデックスのエントリが格納されている場合には、前記キューへの格納をせず、当該リプレース要求を無効にする付記1又は2に記載の制御装置。(3)
(付記4)
前記キューに格納したエントリを所定期間後に消去する付記1から3の何れかに記載の制御装置。(4)
(付記5)
前記比較の結果、インデックスが一致したリード要求のリプレース対象であるウェイの情報を、キュー内のインデックスが一致したエントリのウェイの情報で置換する置換部を備えた付記1から4の何れかに記載の制御装置。(5)
(付記6)
前記スヌープタグの複数のウェイで一つのECCを構成している場合に、前記リード要求のリプレース対象であるウェイのECCシンドロームを保持し、該リード要求に基づく処理を前記スヌープタグに対して行う際に、該処理に応じてECCシンドロームを補正する補正部を備えた付記1から4の何れかに記載の制御装置。(6)
(付記7)
前記インデックスが一致したエントリで保持するウェイの情報と、後続のリード要求のリプレース対象であるウェイの情報が、同一のECCを構成するウェイの情報で無い場合又は同一のウェイの情報の場合に、該リード要求のウェイの情報を該一致したエントリで保持するウェイの情報と置換する置換部を備えた付記6に記載の制御装置。(7)
(付記8)
前記スヌープタグを検索し、前記リード要求のウェイの情報が存在するか否かを判定する検索部を備え、
前記インデックスが一致したエントリで保持するウェイの情報と、後続のリード要求のリプレース対象であるウェイの情報が、同一のECCを構成するウェイの情報であり、かつ、前記検索の結果、リード要求のウェイの情報がスヌープタグに存在する場合に、当該ウェイのステータスに基づいて前記補正部が前記ECCシンドロームを補正する付記6又は7に記載の制御装置。(8)
(付記9)
前記スヌープタグを検索し、前記リード要求のウェイの情報が存在するか否かを判定する検索部と、
前記インデックスが一致したエントリで保持するウェイの情報と、後続のリード要求のリプレース対象であるウェイの情報が、同一のECCを構成するウェイの情報であり、かつ、前記検索の結果、リード要求のウェイの情報がスヌープタグに存在しない場合に、当該リード要求のリプレース対象であるウェイの情報を一致したエントリで保持するウェイの情報と置換する置換部を備えた付記6から8の何れかに記載の制御装置。(9)
(付記10)
プロセッサから受信したリプレース要求に係るエントリとしてリプレース対象のウェイの情報及びインデックスをキューに格納し、
前記キューに格納したインデックスと後続のリード要求のインデックスを比較し、
前記比較の結果、インデックスが一致したリード要求に基づく処理を前記プロセッサのキャッシュメモリの内容に対応したスヌープタグ対して行うスヌープタグの制御方法。(10)
(付記11)
前記比較の結果、インデックスが一致したリード要求のリプレース対象であるウェイの情報を、キュー内のインデックスが一致したエントリのウェイの情報で置換する付記10に記載の制御方法。
(付記12)
前記スヌープタグの複数のウェイで一つのECCを構成している場合に、前記リード要求のリプレース対象であるウェイのECCシンドロームを保持し、該リード要求に基づく処理を前記スヌープタグに対して行う際に、該処理に応じてECCシンドロームを補正する付記10又は11に記載の制御方法。
(付記13)
前記インデックスが一致したエントリで保持するウェイの情報と、後続のリード要求のリプレース対象であるウェイの情報が、同一のECCを構成するウェイの情報で無い場合又は同一のウェイの情報の場合に、該リード要求のウェイの情報を該一致したエントリで保持するウェイの情報と置換する付記12に記載の制御方法。
(付記14)
前記スヌープタグを検索し、前記リード要求のウェイの情報が存在するか否かを判定し、
前記インデックスが一致したエントリで保持するウェイの情報と、後続のリード要求のリプレース対象であるウェイの情報が、同一のECCを構成するウェイの情報であり、かつ、前記検索の結果、リード要求のウェイの情報がスヌープタグに存在する場合に、当該ウェイのステータスに基づいて前記ECCシンドロームを補正する付記12又は13に記載の制御方法。
(付記15)
前記スヌープタグを検索し、前記リード要求のウェイの情報が存在するか否かを判定し、
前記インデックスが一致したエントリで保持するウェイの情報と、後続のリード要求のリプレース対象であるウェイの情報が、同一のECCを構成するウェイの情報であり、かつ、前記検索の結果、リード要求のウェイの情報がスヌープタグに存在しない場合に、当該リード要求のリプレース対象であるウェイの情報を一致したエントリで保持するウェイの情報と置換する付記12から14の何れかに記載の制御方法。
(付記16)
キャッシュメモリを備えたプロセッサと、
情報を記憶するメモリと、
前記プロセッサと前記メモリとの間のリード/ライトの制御を行う制御部とを備え、
前記制御部が、
プロセッサのキャッシュメモリの内容に対応したスヌープタグを保持するスヌープタグ
保持部と、
前記プロセッサから受信したリプレース要求に係るエントリとしてリプレース対象のウェイの情報及びインデックスを格納するキューと、
前記キューに格納したインデックスと後続のリード要求のインデックスを比較する比較器とを備え、
前記比較の結果、インデックスが一致したリード要求に基づく処理を前記スヌープタグ保持部に対して行うことを特徴とする、情報処理装置。
本発明に係る情報処理装置の概略図 本発明と従来例の比較図 本発明と従来例の比較図 本発明の概念図 本実施形態の概略図 リプレース要求受信時の処理の説明図 スヌープタグの制御方法の説明図
符号の説明
SB :システムボード
LDX: メモリコントローラ
FLN: CPU−メモリ間のコントローラ
FWH: ファームウェアHub
IOU: I/O制御ユニット
FLI: I/Oコントローラ
FLP: SERDES機能を搭載したデバイス

Claims (9)

  1. プロセッサのキャッシュメモリの内容に対応したスヌープタグを保持するスヌープタグ保持部と、
    前記キャッシュメモリにおいてキャッシュミスが生じたことで発行されるリード要求に先だって、該リード要求を発行する際に前記キャッシュメモリにおいてどのウェイをリプレースするかを知らせ、前記キャッシュメモリにおいてリプレースされるウェイと前記スヌープタグにおいてリプレースされるウェイとを一致させるために前記プロセッサが発行するリプレース要求に係るエントリとしてリプレース対象のウェイを示す情報及びインデックスを格納するキューと、
    前記キューに格納したインデックスと前記リプレース要求が発行された後に発行されたリード要求のインデックスを比較する比較器とを備え、
    前記比較の結果、前記スヌープタグにおいて前記リード要求に基づいてリプレースされるウェイを、該リード要求に係るインデックスと一致した、キューに格納されているエントリに格納された情報により示されるウェイに特定し、
    特定した前記スヌープタグのウェイに対して、前記リード要求に関する処理を実行する、
    スヌープタグの制御装置。
  2. 前記リプレース要求を受けた際、前記キューに空きがなければ、前記キューへ格納せずに、当該リプレース要求を無効にする請求項1に記載の制御装置。
  3. 前記リプレース要求を受けた際、前記キューに同一インデックスのエントリが格納されている場合には、前記キューへの格納をせず、当該リプレース要求を無効にする請求項1又は2に記載の制御装置。
  4. 前記キューに格納したエントリを所定期間後に消去する請求項1から3の何れか1項に記載の制御装置。
  5. 前記スヌープタグの複数のウェイで一つのECCを構成している場合に、前記リード要求に基づいてリプレースされるウェイのECCシンドロームを保持し、該リード要求に
    する処理を前記スヌープタグに対して行う際に、該処理に応じてECCシンドロームを補正する補正部を備えた請求項1から4の何れか1項に記載の制御装置。
  6. 前記スヌープタグにおいて前記リード要求に基づいてリプレースされるウェイと、前記リード要求に係るインデックスと前記インデックスが一致したエントリで保持する情報により示されるウェイとが、同一のECCを構成しない場合又は、異なるウェイである場合に、該リードに基づいてリプレースされるウイを、該一致したエントリで保持する情報により示されるウェイに特定する請求項に記載の制御装置。
  7. 前記スヌープタグを検索し、前記リード要求に基づいてリプレースされるウェイ情報が存在するか否かを判定する検索部を備え、
    前記スヌープタグにおいて前記リード要求に基づいてリプレースされるウェイと、前記リード要求に係るインデックスと前記インデックスが一致したエントリで保持する情報により示されるウェイが、同一のECCを構成するウェイであり、かつ、前記検索の結果、前記スヌープタグにおいて、前記リード要求に基づいてリプレースされるウェイ情報が存在する場合に、当該ウェイに係るステータスに基づいて前記補正部が前記ECCシンドロームを補正する請求項又はに記載の制御装置。
  8. 前記スヌープタグを検索し、前記リード要求に基づいてリプレースされるウェイ情報が存在するか否かを判定する検索部と、
    前記スヌープタグにおいて前記リード要求に基づいてリプレースされるウェイと、前記リード要求に係るインデックスと前記インデックスが一致したエントリで保持する情報により示されるウェイの情報とが、同一のECCを構成するウェイであり、かつ、前記検索の結果、前記スヌープタグにおいて、前記リード要求に基づいてリプレースされるウェイ情報が存在しない場合に、当該リード要求に基づいてリプレースウェイを、当該リード要求に係るインデックスと前記インデックスが一致したエントリで保持する情報により示されるウェイに特定する請求項からの何れか1項に記載の制御装置。
  9. プロセッサのキャッシュメモリの内容に対応したスヌープタグを制御する制御装置によるスヌープタグの制御方法において、前記制御装置が、
    前記キャッシュメモリにおいてキャッシュミスが生じたことで発行されるリード要求に先だって、該リード要求を発行する際に前記キャッシュメモリにおいてどのウェイをリプレースするかを知らせ、前記キャッシュメモリにおいてリプレースされるウェイと前記スヌープタグにおいてリプレースされるウェイとを一致させるために前記プロセッサが発行するリプレース要求に係るエントリとしてリプレース対象のウェイを示す情報及びインデックスをキューに格納し、
    前記キューに格納したインデックスと前記リプレース要求が発行された後に発行されたリード要求のインデックスを比較し、
    前記比較の結果、前記スヌープタグにおいて前記リード要求に基づいてリプレースされるウェイを、該リード要求に係るインデックスと一致した、キューに格納されているエントリに格納された情報により示されるウェイに特定し、
    特定した前記スヌープタグのウェイに対して、前記リード要求に関する処理を実行する、
    スヌープタグの制御方法。
JP2006223626A 2006-08-18 2006-08-18 スヌープタグの制御装置 Expired - Fee Related JP5011885B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006223626A JP5011885B2 (ja) 2006-08-18 2006-08-18 スヌープタグの制御装置
US11/790,272 US8499125B2 (en) 2006-08-18 2007-04-24 Control device for snoop tag
EP07107239A EP1895421A1 (en) 2006-08-18 2007-04-30 Control device for snoop tag
KR1020070049575A KR100891139B1 (ko) 2006-08-18 2007-05-22 스누프 태그의 제어 장치
CN200710106421A CN100587676C (zh) 2006-08-18 2007-05-29 探测标记的控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006223626A JP5011885B2 (ja) 2006-08-18 2006-08-18 スヌープタグの制御装置

Publications (2)

Publication Number Publication Date
JP2008046992A JP2008046992A (ja) 2008-02-28
JP5011885B2 true JP5011885B2 (ja) 2012-08-29

Family

ID=38691917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006223626A Expired - Fee Related JP5011885B2 (ja) 2006-08-18 2006-08-18 スヌープタグの制御装置

Country Status (5)

Country Link
US (1) US8499125B2 (ja)
EP (1) EP1895421A1 (ja)
JP (1) JP5011885B2 (ja)
KR (1) KR100891139B1 (ja)
CN (1) CN100587676C (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112008004246B4 (de) * 2008-12-30 2018-11-15 Micron Technology, Inc. Temperaturalarm und Niedrig-Raten-Auffrischen für einen nichtflüchtigen Speicher
US8572333B2 (en) * 2008-12-30 2013-10-29 Micron Technology, Inc. Non-volatile memory with extended operating temperature range

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4695943A (en) * 1984-09-27 1987-09-22 Honeywell Information Systems Inc. Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization
JP3078303B2 (ja) * 1990-07-12 2000-08-21 沖電気工業株式会社 キャッシュメモリ制御回路
US5590310A (en) 1993-01-14 1996-12-31 Integrated Device Technology, Inc. Method and structure for data integrity in a multiple level cache system
US6021467A (en) * 1996-09-12 2000-02-01 International Business Machines Corporation Apparatus and method for processing multiple cache misses to a single cache line
KR19980076857A (ko) * 1997-04-15 1998-11-16 구자홍 듀플리케이트 디렉터리의 웨이 선택방법 및 장치
JPH11102320A (ja) 1997-09-29 1999-04-13 Mitsubishi Electric Corp キャッシュシステム
KR20000028207A (ko) 1998-10-30 2000-05-25 윤종용 교환시스템에서 메인 프로세스보드의 캐쉬사용방법
US6401172B1 (en) * 1998-12-18 2002-06-04 Intel Corp. Recycle mechanism for a processing agent
TW440761B (en) * 1999-05-06 2001-06-16 Ind Tech Res Inst The cache device and method
JP3461481B2 (ja) * 1999-12-28 2003-10-27 エヌイーシーコンピュータテクノ株式会社 タグ更新制御回路
US6560675B1 (en) * 1999-12-30 2003-05-06 Unisys Corporation Method for controlling concurrent cache replace and return across an asynchronous interface
US6347360B1 (en) * 2000-02-25 2002-02-12 Sun Microsystems, Inc. Apparatus and method for preventing cache data eviction during an atomic operation
JP3727244B2 (ja) * 2001-01-30 2005-12-14 Necエレクトロニクス株式会社 キャッシュシステムの制御回路
US6915396B2 (en) * 2001-05-10 2005-07-05 Hewlett-Packard Development Company, L.P. Fast priority determination circuit with rotating priority
US7301897B2 (en) * 2001-11-30 2007-11-27 Motorola, Inc. Method and apparatus for managing congestion in a data communication network
US6857048B2 (en) * 2002-01-17 2005-02-15 Intel Corporation Pseudo least-recently-used (PLRU) replacement method for a multi-node snoop filter
JP3989312B2 (ja) * 2002-07-05 2007-10-10 富士通株式会社 キャッシュメモリ装置およびメモリ割付方法
US6950906B2 (en) * 2002-12-13 2005-09-27 Hewlett-Packard Development Company, L.P. System for and method of operating a cache
JP2006155080A (ja) * 2004-11-26 2006-06-15 Fujitsu Ltd メモリ制御装置およびメモリ制御方法
US20060179174A1 (en) * 2005-02-02 2006-08-10 Bockhaus John W Method and system for preventing cache lines from being flushed until data stored therein is used
US7685250B2 (en) * 2005-03-09 2010-03-23 Intel Corporation Techniques for providing packet rate pacing
US7590804B2 (en) * 2005-06-28 2009-09-15 Intel Corporation Pseudo least recently used replacement/allocation scheme in request agent affinitive set-associative snoop filter
US7383398B2 (en) * 2006-03-31 2008-06-03 Intel Corporation Preselecting E/M line replacement technique for a snoop filter
JP2008046902A (ja) * 2006-08-17 2008-02-28 Fujitsu Ltd 情報処理システム、情報処理基板、及びキャッシュタグ及びスヌープタグの更新方法
JP4912790B2 (ja) * 2006-08-18 2012-04-11 富士通株式会社 システムコントローラ,スヌープタグ更新方法および情報処理装置
JP4912789B2 (ja) * 2006-08-18 2012-04-11 富士通株式会社 マルチプロセッサシステム,システムボードおよびキャッシュリプレース要求処理方法
JP4680851B2 (ja) * 2006-08-18 2011-05-11 富士通株式会社 システムコントローラ,同一アドレスリクエストキューイング防止方法および情報処理装置

Also Published As

Publication number Publication date
KR20080016437A (ko) 2008-02-21
EP1895421A1 (en) 2008-03-05
KR100891139B1 (ko) 2009-04-06
CN101127012A (zh) 2008-02-20
US8499125B2 (en) 2013-07-30
JP2008046992A (ja) 2008-02-28
CN100587676C (zh) 2010-02-03
US20080046664A1 (en) 2008-02-21

Similar Documents

Publication Publication Date Title
US9836403B2 (en) Dynamic cache allocation policy adaptation in a data processing apparatus
JP5076488B2 (ja) 情報処理装置、履歴管理方法、履歴管理プログラム
JP2001188706A (ja) ディスク制御装置
US8190821B2 (en) Cache control apparatus, information processing apparatus, and cache control method
JP5011885B2 (ja) スヌープタグの制御装置
US9342472B2 (en) PRD (physical region descriptor) pre-fetch methods for DMA (direct memory access) units
JP2006350633A (ja) データ管理方法及びデータ管理システム
US11449428B2 (en) Enhanced read-ahead capability for storage devices
US7805576B2 (en) Information processing system, information processing board, and method of updating cache tag and snoop tag
KR20220033976A (ko) 저장 디바이스들에 대한 강화된 선판독 능력
JP6451475B2 (ja) 演算処理装置、情報処理装置および演算処理装置の制御方法
TWI243999B (en) Apparatus and related method for maintaining read caching data of south bridge with north bridge
US11314438B2 (en) Arithmetic processing device, information processing device, and control method for arithmetic processing device
US8533565B2 (en) Cache controller and cache controlling method
US11726920B2 (en) Tag processing for external caches
JP6613874B2 (ja) 情報処理装置、演算処理装置および情報処理装置の制御方法
JP2000090007A (ja) キャッシュ制御システム及びその読出し方法並びにその制御プログラムを記録した記録媒体
JP2003203010A (ja) L2キャッシュメモリ
JP2011192012A (ja) データ処理システム及びアクセス制御方法
JP2005267232A (ja) データベース管理システム及びプリページング方法
JP2000040030A (ja) キャッシュメモリ制御方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120315

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

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

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

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees