JP4967087B2 - ノードコントローラ、分散共有メモリ型情報処理装置、キャッシュコヒーレンシ制御方法 - Google Patents
ノードコントローラ、分散共有メモリ型情報処理装置、キャッシュコヒーレンシ制御方法 Download PDFInfo
- Publication number
- JP4967087B2 JP4967087B2 JP2007285383A JP2007285383A JP4967087B2 JP 4967087 B2 JP4967087 B2 JP 4967087B2 JP 2007285383 A JP2007285383 A JP 2007285383A JP 2007285383 A JP2007285383 A JP 2007285383A JP 4967087 B2 JP4967087 B2 JP 4967087B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache
- data
- distributed shared
- load
- 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.)
- Active
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
MESIプロトコルは、キャッシュのステートをM“更新”、E“排他”、S“共有”、I“無効”の4つのステートで管理し、スヌープ処理によりプロセッサにデータ処理結果を反映させる。
キャッシングエージェントがI、ディレクトリがSの状態の場合、同一ラインに対する更新処理が実施される場合、既にI状態になっているキャシングエージェント対するスヌープや無効化処理を行うこととなる。これにより、システム全体の性能が低下するという問題があった。
図1は、分散共有メモリ型情報処理システム1の構成図である。
分散共有メモリ型情報処理装置システム1は、4台のノード(ノード#0ないし#3)により構成されている。
ノード#0は、それぞれキャッシュ200、201、202、203を具備する複数のCPU100、101、102、103と、各CPUがメインメモリとして共有する分散共有メモリ500と、CPUとバス300により接続されCPUからの処理要求を処理するノードコントローラ400と、クロスバー900を備えている。
ノード#1(#2、#3)もノード#0と同様にCPU110ないし113(110ないし113、120ないし123)、キャッシュ210ないし213(220ないし223、230ないし233)、バス310(320、330)、ノードコントローラ410(420、430)、分散共有メモリ510(520、530)、クロスバー910(920、930)を備えている。
各ノードは、各クロスバーをメッシュ状に接続するデータ線90ないし95を介して相互に通信することができ、CPUは、他ノードの分散共有メモリにもアクセスする。また、クロスバー900には、I/O装置950も接続され、ノードコントローラ400は、I/O装置950から受信した要求も処理する。
キャッシュ200等のデータのステータスを図4に示す。
ステータス”M”(Modified)は、キャッシュメモリがデータをシステム内で唯一キャッシングしていることを示す。この場合、データは共有メモリのコピーではない。メモリに実際に記憶するコードは、”11”である。
ステータス”E”(Exclusive)は、キャッシュメモリがデータをシステム内で唯一キャッシングしており、共有メモリのコピーを有していることを示している。メモリに実際に記憶するコードは、”10”である。
ステータス”S”(Shared)は、データをシステム内で複数キャッシングしている可能性があり、共有メモリのコピーを有していることを示している。メモリに実際に記憶するコードは、”01”である。
ステータス”I”(Invaild)は、データをキャッシングしていないことを示している。メモリに実際に記憶するコードは、”00”である。
ステータス”P”(Cashed)は、CPUキャッシュのステータスが、M、E、S、Iのいずれかであることを示している。メモリに実際に記憶するコードは、”11”である。
ステータス”S”(Share)は、CPUキャッシュのステータスが、SまたはIであることを示している。メモリに実際に記憶するコードは、”10”である。
ステータス”I”(Uncashed)は、CPUキャッシュのステータスが、I(すなわち、キャッシングされていない)であることを示している。メモリに実際に記憶するコードは、”00”である。
ノードコントローラ400は、DIRメモリ10と、負荷判定部20と、メモリパトロール部30と、ステート判定回路40と、特殊スヌープ生成回路50と、ディレクトリ制御回路(以下、「DIR制御回路」という)70と、リプライ制御回路80とを備えている。
負荷監視判定部20が、システム内の負荷状況が低負荷状態であることを検知した場合、例えば一定時間内に処理する命令が観測されない、あるいは規定した命令数以下の場合、ノードコントローラ400は、自ノードコントローラ内のDIRメモリ10をアドレスの先頭から最終エントリまで順次索引する。索引したステータスが“S”の場合、アドレス情報およびノード情報、ダイレクタ情報をもとに”S”対象の全キャッシングエージェントに特殊スヌープ命令を発行する。ノードコントローラ400は、索引する毎に本操作を繰り返す。尚、システム内の負荷状況が低負荷でないことを検知した時点で本操作を中断する。
1.自ノードの分散共有メモリ500に対するリード
2.他ノードの分散共有メモリ530に対するリード
3.自ノードの分散共有メモリ500に対するライト
4.他ノードの分散共有メモリ530に対するライト
この動作のフローチャートを図10と図11に示す。リクエスト発行元をCPU100とする。尚、自ノード内のCPU101、102、103から発行した場合も各CPU内のキャッシュ制御およびそれらに関連するリクエストの動作は同様とする。
1-1.CPU100においてキャッシュ200にアクセス対象のデータが”M”で登録されている場合、キャッシュにヒットしキャッシュ200内のデータがCPUに返信される(S102)。リードリクエストは完了する。
また、ラインリードリクエストにより分散共有メモリ500から読み出したデータリプライはリプライ制御回路80、バス300を介してリクエスト発行元のキャッシュ200に送信され”S”で登録し、CPUにデータを返却する(S110)。リード処理は完了する。
この場合、ノードコントローラ400においてデータリプライは分散共有メモリ500より読み出し、リプライ制御回路80を介してバス300に送出し、キャッシュ200は“E”で登録する。CPUにデータを返信する(S118)。リード処理を完了する。
この場合、ノードコントローラ400においてデータリプライは分散共有メモリ500より読み出し、リプライ制御回路80を介してバス300に出し、キャッシュ200は“E”で登録する。CPUにデータを返信する(S120)。リード処理を完了する。
この場合、データリプライは分散共有メモリ500より読み出し、データリプライはリプライ制御回路80を介してバス300に出し、キャッシュ200は“E”で登録する。CPUにデータを返信する。リード処理を完了する。
尚、ノード#0のDIRメモリ10の登録、更新制御は1-5-1-1.と同様の動作をする。
DIRメモリ10、およびCPUのキャッシュに対する制御は上記1.と同様である。アクセス対象の分散共有メモリがリクエスト発行ノード以外のノードであり、ノード間のデータ転送経路のみが異なる。分散共有メモリ530からの読み出しは、ノードコントローラ430よりリプライチャネル800、クロスバー930、データ線92を介してノードコントローラ400に転送する。受信したリプライデータはリプライ制御回路80を介してバス300に送信し、リクエスト発行元のキャッシュに登録する。
また、キャッシュの“M”から“I”の無効化がノード#0あるいは他ノードで発生したかによりデータリプライの経路が変わるのみであることから、各動作に関しては割愛する。
この動作のフローチャートを図12と図13に示す。リクエスト発行元をCPU100とする。尚、自ノード内のCPU101、102、103から発行した場合も各CPU内のキャッシュ制御およびそれらに関連するリクエストの動作は同様とする。
3-1.CPU100においてキャッシュ100にアクセス対象のデータが”M”で登録されている場合、キャッシュにヒットしキャッシュ内のデータを更新する。キャッシュのステータスは“M”のままとする(S302)。ライトを完了する。
転送されたメモリリード&インバリデイトリクエストは他のノードのDIRメモリ10を索引しアドレス一致でかつ、”P”あるいは”S”を検出した場合は無効化”I”し、同一ノード内のバスにインバリデイトリクエストを発行し”S”でキャッシングしているキャッシュの登録を無効化”I”する(S304)。DIRメモリ10の索引結果が”I”の場合は何もしない。
キャッシュ200はバス300を介して上記ライトバックデータをリプライデータとして受信し”M”で登録し(S309)、データを更新する。ライト処理は完了する。
また、他ノードのキャッシュが”S”である可能性があるため、DIR制御回路60はリクエストチャネル700、クロスバー900にインバリデイトリクエストを発行する。インバリデイトリクエストを受信した各々のノードのノードコントローラは、ノード内のバスへインバリデイトリクエストを発行する。”S”で登録されているキャッシュは全て無効化”I”される。キャッシングされていない場合は何もしない。他ノードのDIRメモリ10のアクセス対象エリアは無効化”I”される。
ラインリード&インバリデイトリクエストはリクエスト制御回路70を介してDIR制御回路60および分散共有メモリ500に転送する。DIR制御回路60はDIRメモリ10を索引し、索引結果よりアクセス対象のステータスを”P”に更新する。また、ラインリードリクエストにより分散共有メモリ500から読み出したデータリプライはリプライ制御回路80、バス300を介してリクエスト発行元のキャッシュ200に送信され、キャッシュ200はライトデータとマージして”M”で登録する(S312)。ライト処理は完了する。
DIRメモリ10のアクセス対象エリアに空きエリアが存在した場合、空きエリアにキーアドレスおよびステータス”P”を登録する。
DIRメモリ10のアクセス対象エリアが全て”S”で登録されていた場合、何れかのエリアを掃き出し、替わりにデータリプライのキーアドレスとステータス”P”を登録する。
インバリデイトリクエストのアドレスに対して、バス300上のキャッシュ200から203の何れかで“E”が登録されている場合、無効化“I”する。
インバリデイトリクエストのアドレスに対して、バス300上のキャッシュ200から203の何れかで“S”が登録されている場合、無効化“I”する。
インバリデイトリクエストのアドレスに対して、バス300上のキャッシュ200から203の何れにも登録されていない場合は何もしない。
この場合、ノードコントローラ400においてデータリプライは分散共有メモリ500より読み出し、リプライ制御回路80を介してバス300に出し、キャッシュ200はデータリプライとライトデータをマージして“M”で登録する(S328)。ライト処理を完了する。
DIRメモリ10の制御は上記3-5-1-1.と同様である。
この場合、ノードコントローラ400においてデータリプライは分散共有メモリ500より読み出し、リプライ制御回路80を介してバス300に出し、キャッシュ200はデータリプライとライトデータをマージして“M”で登録する(S330)。ライト処理を完了する。
DIRメモリ10の制御は上記3-5-1-1.と同様である。
この場合、データリプライは分散共有メモリ500より読み出し、データリプライはリプライ制御回路80を介してバス300に出し、キャッシュ200はデータリプライとライトデータをマージし“M”で登録する(S330)。ライト処理を完了する。
DIRメモリ10の制御は上記3-5-1-1.と同様である。
ノード#3のDIRメモリ10の索引結果が“S”であることから、バス330上のキャッシュ230〜233は“S”あるいは“I”であることから、“S”の場合は上記3-5-1-3. “I”の場合は上記3-5-1-4.と同様の動作をする。尚、ノード#0のDIRメモリ10の登録、更新制御は3-5-1-1.と同様の動作をする。
尚、ノード#0のDIRメモリ10の登録、更新制御は3-5-1-1.と同様の動作をする。
DIRメモリ10、および各々のキャッシュに対する制御は上記3.と同様である。アクセス対象の分散共有メモリがリクエスト発行ノード以外のノードであり、ノード間のデータ転送経路のみが異なる。分散共有メモリ530からの読み出しは、ノードコントローラ430よりリプライチャネル800、クロスバー930に送信し、データ線92を介してノードコントローラ400に転送する。受信したデータはリプライ制御回路80を介してバス300に送信し、リクエスト発行元のキャッシュに登録する。
また、キャッシュの“M”から“I”の無効化がノード#0あるいは他ノードで発生したかによりデータリプライの経路が変わるのみである。
ステップ1. C0 P0がライト要求。 C0 DIR キャッシュミス
ステップ2. Home AgentがNC1にリード要求(図6のS1)
ステップ3. NC1がディレクトリを索引。 NC2 P0およびNC3 P0で”S”ステート検出。
※但し、C2 P0およびC3 P1の最新ステートは”I”で登録。
C1 MMよりメモリリード(S2)
ステップ4. NC2,NC3に対して無効化命令発行(S3)
NC1は、NC2,NC3の無効化処理のリプライ待ち
ステップ5. NC1がNC2、NC3のリプライ受信(S4)
C1 MMよりリードデータリプライ(S5)
ステップ6. NC1は、DIRメモリにおけるC0 P1のステートを”M”に更新。
NC0へメモリリードデータ返却(S6)
ステップ1. NC1 は、他NCの負荷状況監視
ステップ2. NC1は、各NCが低負荷状況であることを検出
ステップ3. メモリパトロール機構を活用し、MMの全ラインを読み出しデータのステートをチェック
ステップ4. NC2,NC3 で“S(共有)”ステート検出
※ 但し、C2 P0およびC3 P1の最新ステートは”I”で登録
ステップ5. NC2,NC3に対して特殊スヌープ命令発行 (図7のS13)
NC1は、NC2,NC3の無効化処理のリプライ待ち
ステップ6. NC2,NC3のリプライ受信 (S14)
NC1 DIR “I”に更新。
ステップ7. C0 P1 ライト要求
C0 DIR キャッシュミス
ステップ8. Home Agent NC1にリード要求(S11)
ステップ9. NC1 DIR索引
ここで、上記ステップ1.から6.の処理によりDIR”I”で更新されている。
C1 MMよりメモリリード(S12)
ステップ10. NC1は、DIRにおけるC0 P1のステートを”M”に更新
NC0へメモリリードデータ返却(S16)
単に、従来例と本発明のステップ数を比較すると予め低負荷状況での特殊スヌープ処理を実行するため、本発明の方がステップ数が大きくなる。但し、システム稼働状態において負荷が低い期間を活用して、特殊スヌープ命令の処理によりキャッシングエージェントのステートをDIR(Home)に反映させることにより、不要なスヌープ要求や無効化処理によるオーバーヘッドを削減し、システム全体の性能があがる効果がある。
例えば、大容量の情報を格納するDIRメモリは、RAM等で構成される。RAMはα線等の影響により記憶内容が反転してデータ誤りをすることがあり、これを一般的にはソフトエラーと称している。このソフトエラーを訂正する方法として、メモリパトロール方式が使用されている。
(1) あるホームノードのノードコントローラより、メモリパトロールを起因として、各ノードのキャッシュスステートを管理しているDIRメモリより情報を読み出す。
(2) 読み出されたステートで“S(共有)”が検出された場合は、対象のセルに特殊スヌープ命令を発行する。
(3) 受信したセルは、命令管理バッファの命令が仕掛かり中を示すVビットの総和が“0”ならば明らかに負荷がない状態と判断して、特殊スヌープ命令を処理する。尚、数ビットのVビットが“1”の場合でも、低負荷状況であることが判断可能であることから、ある一定の閾値を設定可能なレジスタを具備し、その設定された値より上記Vビットの総和が小なる場合も低負荷状態と判定して特殊スヌープ処理を実行するようにしてもよい。
(4) 特殊スヌープのリプライとして、命令管理バッファのバッファ使用率を返却し、特殊スヌープ命令発行元は、返却されたバッファ使用率をもとに負荷状況を判定し、その後の特殊スヌープ命令の発行を判定する。
(5) 仮に1回目の特殊スヌープ命令の発行先のセルがVビットの総和数が大きく、高負荷状態であると判断された場合、特殊スヌープ命令の処理は行わず、処理を行わなかったことを示すリプライを返却して特殊スヌープ命令の発行を抑止する。
(6) 一時的に高負荷状態となり、その後低負荷状態に移行したままの状態が続くこともありうることから、周期(周期は可変に設定可能とする。)的に上記の特殊スヌープ命令の発行が可能な仕組みを具備するものとする。
(7) 上記はメモリパトロールをトリガとしているが、特にメモリパトロールを実行していないケースにおいてもホームノード自体の命令管理バッファのVビットの状態を検知し、低負荷状態ならば特殊スヌープ命令を発行可能な仕組みを具備する。
尚、上記はハードウェアで実現しているがソフトウェアによる監視やACPIの機構を活用して負荷状態を判定することでもよい。
負荷監視判定部20は、システムの負荷状態を監視し、DIR制御回路60は、システム負荷状態が小さい時、予め特殊スヌープ命令を発行し、最新のキャッシングエージェントのステートをDIRメモリに反映する。
そのため、システム負荷状態が大きくなった場合でも不要な無効化処理のための命令のトラフィックを抑えることができる。
20 負荷監視判定部
30 メモリパトロール部
40 ステート判定回路
50 特殊スヌープ生成回路
60 DIR制御回路
70 リクエスト制御部
80 リプライ制御回路
100、101、102、103、130、131、132、133 CPU
200、201、202、203、230、231、232、233 キャッシュ
300、330 バス
400、430 ノードコントローラ
500、530 分散共有メモリ
600 スヌープチャネル
700 リクエストチャネル
800 リプライチャネル
900、930 クロスバー
Claims (14)
- 複数のプロセッサにより共有される分散共有メモリに対する前記プロセッサによるアクセスを制御するノードコントローラにおいて、
前記プロセッサが作動するシステムの負荷状況を監視し、負荷状況が低負荷状態であるか否かを判定する負荷監視判定部と、
前記プロセッサと前記分散共有メモリの間のキャッシュメモリに格納されたデータのステータスを記憶するディレクトリメモリと、
前記負荷監視判定部が低負荷状態であると判定した時に、前記ディレクトリメモリを索引し、複数のキャッシュメモリにキャッシングされている可能性があることを示すステータスとなっているキャッシュデータを無効化する特殊スヌープ命令を発行するディレクトリ制御部を備えたことを特徴としたノードコントローラ。 - 前記負荷監視判定部は、ACPIを利用して前記判定を行うことを特徴とした請求項1に記載のノードコントローラ。
- 前記負荷管理判定部は、命令管理バッファの利用率に基づいて前記判定を行うことを特徴とした請求項1に記載のノードコントローラ。
- 前記分散共有メモリのメモリパトロールを行うメモリパトロール部を備え、
前記ディレクトリ制御部は、メモリパトロール部の動作に伴うメモリアクセスを利用して前記索引を行うことを特徴とした請求項1ないし請求項3のいずれかひとつに記載のノードコントローラ。 - 複数のプロセッサとこれらのプロセッサにより共有される分散共有メモリと前記プロセッサと前記分散共有メモリの間のキャッシュメモリと請求項1ないし請求項4のいずれかひとつに記載のノードコントローラを備えた分散共有メモリ型情報処理システム。
- 複数のプロセッサとこれらのプロセッサにより共有される分散共有メモリと前記プロセッサと前記分散共有メモリの間のキャッシュメモリと請求項1ないし請求項4のいずれかひとつに記載のノードコントローラを備えたノードを複数備え、各ノードの分散共有メモリは他のノードのプロセッサによっても共有される分散共有メモリ型情報処理システム。
- 複数のプロセッサとこれらのプロセッサにより共有される分散共有メモリとの間のキャッシュメモリにキャッシュされたデータのコヒーレンシを制御する方法において、
前記プロセッサが作動するシステムの負荷状況を監視し、負荷状況が低負荷状態であると判定した時に、前記キャッシュメモリに格納されたデータのステータスを記憶するディレクトリメモリを索引し、複数のキャッシュメモリにキャッシングされている可能性があることを示すステータスとなっているキャッシュデータを無効化する特殊スヌープ命令を発行することを特徴としたキャッシュコヒーレンシの制御方法。 - 前記システムの負荷判定をACPIを利用して行うことを特徴とした請求項7に記載のキャッシュコヒーレンシの制御方法。
- 前記システムの負荷判定を命令管理バッファの利用率に基づいて行うことを特徴とした請求項7に記載のキャッシュコヒーレンシの制御方法。
- 前記索引を前記分散共有メモリに対するメモリパトロール動作に伴うメモリアクセスを利用して行うことを特徴とした請求項7ないし請求項9のいずれかひとつに記載のキャッシュコヒーレンシの制御方法。
- 複数のプロセッサとこれらのプロセッサにより共有される分散共有メモリとの間のキャッシュメモリにキャッシュされたデータのコヒーレンシを制御するプログラムにおいて、
前記プロセッサが作動するシステムの負荷状況を監視し、負荷状況が低負荷状態であるか否かを判定する負荷監視判定処理と、
前記負荷監視判定部が低負荷状態であると判定した時に、前記プロセッサと前記分散共有メモリの間のキャッシュメモリに格納されたデータのステータスを記憶するディレクトリメモリを索引し、複数のキャッシュメモリにキャッシングされている可能性があることを示すステータスとなっているキャッシュデータを無効化する特殊スヌープ命令を発行するディレクトリ制御処理とをコンピュータに実行させることを特徴としたキャッシュコヒーレンシ制御プログラム。 - 前記負荷監視判定処理では、ACPIを利用して前記判定を行うことを特徴とした請求項11に記載のキャッシュコヒーレンシ制御プログラム。
- 前記負荷管理判定部は、前記CPUの命令管理バッファの利用率に基づいて前記判定を行うことを特徴とした請求項11に記載のキャッシュコヒーレンシ制御プログラム。
- 前記分散共有メモリのメモリパトロールを行うメモリパトロール処理を前記コンピュータに実行させ、
前記ディレクトリ制御処理では、前記メモリパトロール処理に伴うメモリアクセスを利用して前記索引を行うことを特徴とした請求項11ないし請求項13のいずれかひとつに記載のキャッシュコヒーレンシ制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007285383A JP4967087B2 (ja) | 2007-11-01 | 2007-11-01 | ノードコントローラ、分散共有メモリ型情報処理装置、キャッシュコヒーレンシ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007285383A JP4967087B2 (ja) | 2007-11-01 | 2007-11-01 | ノードコントローラ、分散共有メモリ型情報処理装置、キャッシュコヒーレンシ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009116398A JP2009116398A (ja) | 2009-05-28 |
JP4967087B2 true JP4967087B2 (ja) | 2012-07-04 |
Family
ID=40783517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007285383A Active JP4967087B2 (ja) | 2007-11-01 | 2007-11-01 | ノードコントローラ、分散共有メモリ型情報処理装置、キャッシュコヒーレンシ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4967087B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5297479B2 (ja) * | 2011-02-14 | 2013-09-25 | エヌイーシーコンピュータテクノ株式会社 | ミラーリング復旧装置、および、ミラーリング復旧方法 |
US10838865B2 (en) * | 2014-05-08 | 2020-11-17 | Micron Technology, Inc. | Stacked memory device system interconnect directory-based cache coherence methodology |
JP2019053617A (ja) * | 2017-09-15 | 2019-04-04 | 株式会社東芝 | システムlsiおよびシステムlsiの故障検出方法 |
JP7460743B1 (ja) | 2022-12-27 | 2024-04-02 | Necプラットフォームズ株式会社 | メモリコントローラ及びメモリコントローラ制御方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09190379A (ja) * | 1996-01-10 | 1997-07-22 | Mitsubishi Electric Corp | キャッシュシステム |
JPH11102320A (ja) * | 1997-09-29 | 1999-04-13 | Mitsubishi Electric Corp | キャッシュシステム |
JP2000039937A (ja) * | 1998-07-22 | 2000-02-08 | Toshiba Corp | コンピュータシステムおよびそのパワーセーブ制御方法 |
JP2002024198A (ja) * | 2000-07-06 | 2002-01-25 | Fujitsu Ltd | 分散共有メモリ型並列計算機 |
KR100424484B1 (ko) * | 2001-07-05 | 2004-03-24 | 엘지전자 주식회사 | 중앙 처리 장치용 전원 공급기 |
JP3678715B2 (ja) * | 2002-04-24 | 2005-08-03 | エヌイーシーコンピュータテクノ株式会社 | 分散共有メモリ型マルチプロセッサシステム及びそれに用いるタグ制御方法 |
JP3857661B2 (ja) * | 2003-03-13 | 2006-12-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置、プログラム、及び記録媒体 |
US7051166B2 (en) * | 2003-04-21 | 2006-05-23 | Hewlett-Packard Development Company, L.P. | Directory-based cache coherency scheme for reducing memory bandwidth loss |
US7596738B2 (en) * | 2004-11-17 | 2009-09-29 | Sun Microsystems, Inc. | Method and apparatus for classifying memory errors |
-
2007
- 2007-11-01 JP JP2007285383A patent/JP4967087B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009116398A (ja) | 2009-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7389388B2 (en) | Data processing system and method for efficient communication utilizing an in coherency state | |
US8140770B2 (en) | Data processing system and method for predictively selecting a scope of broadcast of an operation | |
JP5105863B2 (ja) | 複数のコヒーレンシ・ドメインを有するデータ処理システムでフラッシュ動作を処理するデータ処理システム、方法、およびメモリ・コントローラ | |
JP4928812B2 (ja) | タグ付きキャッシュ状態に基づいて下位レベル・キャッシュへの参照なしに相互接続ファブリック上にリクエストを送出するためのデータ処理システム、キャッシュ・システム、および方法 | |
JP5078396B2 (ja) | 動作のスヌーピングに応答して無効コヒーレンシー状態を更新するデータ処理システム、キャッシュ・システム、および方法 | |
US8332588B2 (en) | Performing a partial cache line storage-modifying operation based upon a hint | |
US8108619B2 (en) | Cache management for partial cache line operations | |
US7484042B2 (en) | Data processing system and method for predictively selecting a scope of a prefetch operation | |
US7237070B2 (en) | Cache memory, processing unit, data processing system and method for assuming a selected invalid coherency state based upon a request source | |
US8117401B2 (en) | Interconnect operation indicating acceptability of partial data delivery | |
US8806147B2 (en) | System and method for creating ordering points | |
US8024527B2 (en) | Partial cache line accesses based on memory access patterns | |
US7958309B2 (en) | Dynamic selection of a memory access size | |
US7454578B2 (en) | Data processing system and method for predictively selecting a scope of broadcast of an operation utilizing a location of a memory | |
US7512742B2 (en) | Data processing system, cache system and method for precisely forming an invalid coherency state indicating a broadcast scope | |
JP4967087B2 (ja) | ノードコントローラ、分散共有メモリ型情報処理装置、キャッシュコヒーレンシ制御方法 | |
US20090198910A1 (en) | Data processing system, processor and method that support a touch of a partial cache line of data | |
US8255635B2 (en) | Claiming coherency ownership of a partial cache line of data | |
US7669013B2 (en) | Directory for multi-node coherent bus | |
US7725660B2 (en) | Directory for multi-node coherent bus | |
KR20090053837A (ko) | 자기 조화형 데이터를 이용하여 멀티프로세서 시스템의 캐시 코히어런스 오버헤드를 저감시키는 메카니즘 및 방법 | |
US7584331B2 (en) | Data processing system and method for selectively updating an invalid coherency state in response to snooping a castout | |
US7380107B2 (en) | Multi-processor system utilizing concurrent speculative source request and system source request in response to cache miss |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120120 |
|
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: 20120207 |
|
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: 20120215 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150413 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4967087 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |