JP5105863B2 - 複数のコヒーレンシ・ドメインを有するデータ処理システムでフラッシュ動作を処理するデータ処理システム、方法、およびメモリ・コントローラ - Google Patents
複数のコヒーレンシ・ドメインを有するデータ処理システムでフラッシュ動作を処理するデータ処理システム、方法、およびメモリ・コントローラ Download PDFInfo
- Publication number
- JP5105863B2 JP5105863B2 JP2006350414A JP2006350414A JP5105863B2 JP 5105863 B2 JP5105863 B2 JP 5105863B2 JP 2006350414 A JP2006350414 A JP 2006350414A JP 2006350414 A JP2006350414 A JP 2006350414A JP 5105863 B2 JP5105863 B2 JP 5105863B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- memory block
- response
- domain
- coherency
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0822—Copy directories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
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)
Description
ここで図面、具体的には図1を参照すると、本発明によるキャッシュ・コヒーレント対称型マルチプロセッサ(SMP)データ処理システムの例示的な実施形態の高水準ブロック図が示されている。図示のように、データ処理システム100に、データおよび命令を処理する複数の処理ノード102aおよび102bが含まれる。処理ノード102aおよび102bは、アドレス、データ、および制御情報を伝えるために、システム相互接続110に結合される。システム相互接続110は、例えば、バス式相互接続、交換相互接続、またはハイブリッド相互接続として実施することができる。
図4を参照すると、図1のデータ処理システム100のシステム相互接続110またはローカル相互接続114での例示的な動作の時空間図が示されている。この動作は、L2キャッシュ230のマスタ232(または、入出力コントローラ214などの別のマスタ)が、ローカル相互接続114および/またはシステム相互接続110で要求402を発行する時に開始される。要求402に、所望のアクセスのタイプを示すトランザクション・タイプと、その要求によってアクセスされるリソースを示すリソース識別子(例えば、実アドレス)が含まれることが好ましい。一般的なタイプの要求に、下の表Iに示された要求が含まれることが好ましい。
普通のブロードキャストベースのデータ処理システムは、キャッシュ・コヒーレンシとデータ送達の両方をブロードキャスト通信を介して処理し、このブロードキャスト通信は、普通のシステムでは、システム相互接続上で、少なくとも、システム内のすべてのメモリ・コントローラおよびキャッシュ階層に送られる。代替のアーキテクチャおよび類似するスケールのシステムと比較して、ブロードキャストベースのシステムは、減らされたアクセス待ち時間と、共用メモリ・ブロックのよりよいデータ・ハンドリングおよびコヒーレンシ管理とを提供する傾向がある。
上で説明したデータ送達ドメインの実施態様は、データ・アクセス待ち時間を改善するが、この機能強化は、システム・スケールが増える時のトラフィック量のm×n倍加には対処しない。ブロードキャストベースのコヒーレンシ機構を維持しながらトラフィック量を減らすために、本発明の好ましい実施形態は、さらに、コヒーレンシ・ドメインを実施するが、このコヒーレンシ・ドメインは、上で説明したデータ送達ドメインに似て、別々のコヒーレンシ・ドメインを形成する各処理ノード102を用いて便利に実施することができる(しかし、そのように実施される必要はない)。データ送達ドメインおよびコヒーレンシ・ドメインは、そうである必要はないが共存することができ、データ処理システム100の例示的動作の説明において、以下では、処理ノード102によって定義される境界を有すると仮定する。
不必要なローカル動作の発行を制限し、これによって動作待ち時間を減らし、ローカル相互接続上の追加帯域幅を保護するために、本発明は、関連するメモリ・ブロックのコピーがローカル・コヒーレンシ・ドメインの外部でキャッシュされるか否かを示す、メモリ・ブロックごとのドメイン・インジケータを実施することが好ましい。例えば、図5に、本発明によるドメイン・インジケータの第1の例示的実施態様を示す。図5に示されているように、ダイナミック・ランダム・アクセス・メモリ(DRAM)で実施できるシステム・メモリ108に、複数のメモリ・ブロック500が保管される。システム・メモリ108には、各メモリ・ブロック500に関連して、メモリ・ブロック500内に誤りがある場合にその訂正に利用される関連する誤り訂正コード(ECC)502と、ドメイン・インジケータ504とが保管される。本発明のいくつかの実施形態では、ドメイン・インジケータ504が、特定のコヒーレンシ・ドメインを識別する(すなわち、コヒーレンシ・ドメインIDまたはノードIDを指定する)ことができるが、下では、ドメイン・インジケータ504は、関連するメモリ・ブロック500が、仮にキャッシュされるとしても、メモリ・ブロック500のLPCとして働くIMC 206と同一のコヒーレンシ・ドメイン内でのみキャッシュされる場合にセットされる(例えば、「ローカル」を示すために「1」にセットされる)、1ビット・インジケータであると仮定する。ドメイン・インジケータ504は、そうでない場合にリセットされる(例えば、「グローバル」を示すために「0」にリセットされる)。「ローカル」を示すためにドメイン・インジケータ504をセットすることは、「グローバル」の誤ったセッティングがコヒーレンシ・エラーを誘導するのではなく、動作の不必要なグローバル・ブロードキャストを引き起こす可能性があるという点で、不正確に実施することができる。
本発明は、上で説明したデータ送達ドメインおよびコヒーレンシ・ドメインの実施態様を活用するように設計されたキャッシュ・コヒーレンシ・プロトコルを実施することが好ましい。好ましい実施形態では、このプロトコル内のキャッシュ・コヒーレンシ状態は、(1)キャッシュがメモリ・ブロックのHPCであるかどうかの表示を提供するほかに、(2)キャッシュ・コピーが、そのメモリ階層レベルのキャッシュの中で一意(すなわち、システム全体で唯一のキャッシュ・コピー)であるかどうかと、(3)キャッシュが、メモリ・ブロックに関する要求のマスタにメモリ・ブロックのコピーを供給できるかどうか、およびいつ供給できるかと、(4)メモリ・ブロックのキャッシュされたイメージが、LPCの対応するメモリ・ブロック(システム・メモリ)と一貫しているかどうかと、(5)リモート・コヒーレンシ・ドメイン内(おそらく)の別のキャッシュが、一致するアドレスを有するキャッシュ・エントリを保持するかどうかとも示す。この5つの属性は、例えば、下の表IIに要約された周知のMESI(Modified, Exclusive, Shared, Invalid)プロトコルの例示的変形形態で表すことができる。
メモリ・ブロックが、仮にキャッシュされるとしてもローカルにのみキャッシュされることがわかっているか否かを判定するためにLPCにアクセスする必要をなくすために、Ig(無効グローバル)コヒーレンシ状態を利用して、メモリ・ブロックのコピーがコヒーレンシ・ドメイン内でキャッシュされたままではない場合のドメイン表示を維持する。Ig状態は、本明細書では、(1)キャッシュ・アレイ内の関連するメモリ・ブロックが無効であり、(2)キャッシュ・ディレクトリ内のアドレス・タグが有効であり、(3)アドレス・タグによって識別されるメモリ・ブロックのコピーが、おそらくホーム・コヒーレンシ・ドメイン以外のコヒーレンシ・ドメインでキャッシュされている可能性があることを示すキャッシュ・コヒーレンシ状態と定義される。Ig表示は、不正確であることが好ましく、これは、コヒーレンシの侵害なしでIg表示を不正確にすることができることを意味する。
Igp(無効グローバル予測のみ)コヒーレンシ状態は、メモリ・ブロックのコピーが非ホーム・コヒーレンシ・ドメインでキャッシュされていない場合に、キャッシュされたドメイン表示を維持するのに利用される。Igp状態は、本明細書では、(1)キャッシュ・アレイ内の関連するメモリ・ブロックが無効であり、(2)キャッシュ・ディレクトリ内のアドレス・タグが有効であり、(3)現在のコヒーレンシ・ドメインがホーム・コヒーレンシ・ドメインではなく、(4)アドレス・タグによって識別されるメモリ・ブロックのコピーが、おそらくは、現在の非ホーム・コヒーレンシ・ドメイン以外のコヒーレンシ・ドメインでキャッシュされる可能性があることを示すキャッシュ・コヒーレンシ状態と定義される。正確に形成されるが、Igp表示は、不正確に維持されることが好ましく、これは、コヒーレンシの侵害なしでIgp表示を不正確にすることができることを意味する。
In状態は、本明細書では、(1)キャッシュ・アレイ内の関連するメモリ・ブロックが無効であり、(2)キャッシュ・ディレクトリ内のアドレス・タグが有効であり、(3)アドレス・タグによって識別されるメモリ・ブロックのコピーが、仮にキャッシュされるとしても、ローカル・コヒーレンシ・ドメイン内の1つ以上の他のキャッシュ階層のみによってキャッシュされる可能性が高いことを示すキャッシュ・コヒーレンシ状態と定義される。In表示は、不正確であることが好ましく、これは、コヒーレンシの侵害なしでIn表示を不正確にすることができることを意味する。In状態は、排他的アクセス要求(例えば、バスRWITM動作)に応答してキャッシュが同一コヒーレンシ・ドメイン内の要求元に要求されたメモリ・ブロックを供給することに応答して、より下位のレベルのキャッシュ内で形成される。
下で説明する動作では、Srコヒーレンシ状態の要求された共用メモリ・ブロックを保持するより下位のレベルのキャッシュが要求元マスタと同一のドメイン内に置かれているか否かを判定できることが有用である。一実施形態で、要求元マスタと同一ドメイン内の「ローカル」Srスヌーパの存在を、Srコヒーレンシ状態の要求されたメモリ・ブロックを保持する、より下位のレベルのキャッシュのスヌーパの応答挙動によって示すことができる。例えば、各バス動作に、そのバス動作がドメイン境界をまたぐかどうかを示す範囲インジケータ(例えば、マスタの明示的なドメイン識別子または単一ビットのローカル/非ローカル範囲ビット)が含まれると仮定すると、Srコヒーレンシ状態の共用メモリ・ブロックを保持する、より下位のレベルのキャッシュは、同一のデータ・ソーシング・ドメイン内のマスタによる要求だけに関してSr状態の要求を肯定する部分的応答を供給し、他のすべての要求についてS状態を示す部分的応答を供給することができる。そのような実施形態で、応答挙動を表IIIに示されたものとして要約することができ、ここで、プライム記号(’)表記は、メモリ・ブロックの実際のキャッシュ状態と異なる可能性がある部分的応答を指定するのに使用されている。
図6〜7を参照すると、本発明による、キャッシュ・メモリが関連プロセッサ・コアから受け取られたデータ・キャッシュ・ブロック・フラッシュ(DCBF)動作をサービスする例示的な方法の高水準論理流れ図が示されている。本明細書で提示される他の論理流れ図と同様に、図6〜7に示されたステップの少なくとも一部を、図示と異なる順序で実行することができ、あるいは、同時に実行することができる。
102a 処理ノード
102b 処理ノード
104a 処理ユニット
104b 処理ユニット
104c 処理ユニット
104d 処理ユニット
108a システム・メモリ
108b システム・メモリ
108c システム・メモリ
108d システム・メモリ
110 システム相互接続
114 ローカル相互接続
200a プロセッサ・コア
200b プロセッサ・コア
206 統合メモリ・コントローラ(IMC)
208 命令シーケンシング・ユニット(ISU)
210 応答ロジック
212 相互接続ロジック
214 入出力コントローラ
216 入出力デバイス
222 スヌーパ
224 実行ユニット
226 レベル1(L1)キャッシュ
228 ロード・ストア・ユニット(LSU)
230 レベル2(L2)キャッシュ
232 マスタ
234 L2アレイおよびディレクトリ
236 スヌーパ
238 BARロジック
240 基底アドレス・レジスタ(BAR)ロジック
300 L2キャッシュ・アレイ
302 L2キャッシュ・ディレクトリ
304 タグ・フィールド
306 状態フィールド
308 LRU(Least Recently Used)フィールド
402 要求
404a 保護ウィンドウ
404b 保護ウィンドウ
406 部分的応答
410 組合せ応答(CR)
500 メモリ・ブロック
502 誤り訂正コード(ECC)
504 ドメイン・インジケータ
600 開始のステップ
602 メモリ・ブロックがキャッシュ内で有効かどうかを判定するステップ
604 グローバルDCBF動作を送るステップ
606 CR=Retryかどうかを判定するステップ
608 CR=Addr_Ack_BKかどうかを判定するステップ
620 HPC保護を開始するステップ
622 グローバルBK要求を送るステップ
624 CR=Nullかどうかを判定するステップ
626 HPC保護を停止するステップ
630 終了のステップ
640 MxまたはTxであるかどうかを判定するステップ
642 HPC保護を開始するステップ
643 より上位のレベルのキャッシュ内のキャッシュ・ラインを無効化するステップ
644 Meかどうかを判定するステップ
646 キャッシュ・ブロックをIに更新するステップ
650 Mかどうかを判定するステップ
652 キャストアウト/プッシュを実行し、キャッシュ・ブロックをIに更新するステップ
662 キャストアウト/プッシュを実行し、キャッシュ・ブロックをIに更新するステップ
664 TnまたはTenかどうかを判定するステップ
666 ノードのみBKを発行するステップ
668 CR=Nullかどうかを判定するステップ
670 グローバルBKを発行するステップ
672 CR=Nullかどうかを判定するステップ
679 前のすべてのステップが完了したかどうかを判定するステップ
680 HPC保護を停止するステップ
681 終了のステップ
690 Sx保護を開始するステップ
691 より上位のレベルのキャッシュ内のキャッシュ・ラインを無効化するステップ
692 キャッシュ・ブロックをIに更新するステップ
693 前のすべてのステップが完了したかどうかを判定するステップ
694 Sx保護を停止するステップ
700 開始のステップ
702 DCBF動作をスヌープしたかどうかを判定するステップ
704 他の処理を実行するステップ
710 応答することができないかどうかを判定するステップ
712 Retry_other PRを供給するステップ
714 マスタまたはスヌーパが衝突する動作を処理しており、かつ、コヒーレンシ状態がデータ有効であるかどうかを判定するステップ
715 HPCかどうかを判定するステップ
716 Shared PRを供給するステップ
720 メモリ・ブロックがIxであるかどうかを判定するステップ
722 Null PRを供給するステップ
730 メモリ・ブロックがMxまたはTxであるかどうかを判定するステップ
732 Retry_other PRを供給するステップ
734 Shared PRを供給するステップ
724 終了のステップ
740 HPC保護を開始するステップ
742 M、T、またはTnであるかどうかを判定するステップ
744 メモリ・ブロックのキャストアウト−プッシュを実行するステップ
748 Sx保護を開始するステップ
750 Teであるかどうかを判定するステップ
752 ドメイン・インジケータをグローバルに更新するためにIgメモリ・ブロックのキャストアウト−プッシュを実行するステップ
760 より上位のレベルのキャッシュ内のキャッシュ・ラインを無効化するステップ
762 コヒーレンシ状態をIに更新するステップ
763 前のすべてのステップが完了したかどうかを判定するステップ
764 保護ウィンドウを終了するステップ
765 終了のステップ
800 開始のステップ
802 IMCが責任を負うかどうかを判定するステップ
803 スヌープされた要求がグローバルDCBF動作であるかどうかを判定するステップ
804 他の処理を実行するステップ
810 スヌーパがアドレスに関してアクティブかどうかを判定するステップ
812 Retry_LPC PRを供給するステップ
820 スヌーパは使用可能かどうかを判定するステップ
822 スヌーパをディスパッチするステップ
824 終了のステップ
830 開始のステップ
832 LPC保護を開始するステップ
834 CRを受け取ったかどうかを判定するステップ
840 DCBFがリモート・ノードから発生したかどうかを判定するステップ
842 CR=Addr_Ack_BKかどうかを判定するステップ
843 メモリのドメイン・インジケータを読み取るステップ
844 ドメイン・インジケータがグローバルであるかどうかを判定するステップ
846 ドメイン・インジケータをグローバルに更新するステップ
850 LPC保護を終了するステップ
852 スヌーパを割振り解除するステップ
860 終了のステップ
900 開始のステップ
902 受け取られたPR=Retry_otherまたはRetry_LPCかどうかを判定するステップ
910 受け取られたPR=Retry_sharedかどうかを判定するステップ
920 CR=Addr_ackを発行するステップ
930 終了のステップ
Claims (21)
- 第1コヒーレンシ・ドメインおよび第2コヒーレンシ・ドメインを含むキャッシュ・コヒーレント・データ処理システムにおけるデータ処理方法であって、
前記第1コヒーレンシ・ドメインは、メモリ・コントローラと、ターゲット・アドレスによって識別されるターゲット・メモリ・ブロックを有する関連するシステム・メモリとを含み、
前記方法は、
前記第1コヒーレンシ・ドメイン内で、前記ターゲット・メモリ・ブロックが前記第1コヒーレンシ・ドメインの外部でキャッシュされるかどうかを示すドメイン・インジケータを維持するステップと、
前記第1コヒーレンシ・ドメイン内で、前記第1および第2コヒーレンシ・ドメインにブロードキャストされる、前記ターゲット・メモリ・ブロックの前記ターゲット・アドレスを指定するフラッシュ動作を受信するステップと、
前記第1コヒーレンシ・ドメイン内で、前記フラッシュ動作に対するシステム全体の応答を表す、前記フラッシュ動作に対する組合せ応答を受信するステップと、
前記組合せ応答の前記第1コヒーレンシ・ドメイン内での受信に応答して、前記組合せ応答が、前記ターゲット・メモリ・ブロックのキャッシュ・コピーが前記データ処理システム内に存在する可能性があることを示すかどうかを判定するステップと、
前記組合せ応答が、前記ターゲット・メモリ・ブロックのキャッシュ・コピーが前記データ処理システム内に存在する可能性があることを示すと判定されたことに応答して、前記ターゲット・メモリ・ブロックが前記第1コヒーレンシ・ドメインの外部でキャッシュされていることを示すために前記ドメイン・インジケータを更新するステップと
を含む、前記方法。 - 前記更新するステップは、前記フラッシュ動作が前記第1コヒーレンシ・ドメインの外部で発生したと判定されたことに応答してのみ前記ドメイン・インジケータを更新するステップを含み、
前記フラッシュ動作を開始した前記処理ユニットが、前記ターゲット・メモリ・ブロックの少なくとも一つのキャッシュ・コピーが前記データ処理システム内に存在する可能性があることを示す組合せ応答の受信に応答して、前記ターゲット・メモリ・ブロックの全てのキャッシュ・コピーを無効化するためにキル動作を発行し、
前記ターゲット・メモリ・ブロックが前記処理ユニットを含むコヒーレンシ・ドメイン内でのみキャッシュされることを示すキャッシュ状態である前記ターゲット・メモリ・ブロックを前記処理ユニットのキャッシュが保持すると判定されたことに応答して、前記処理ユニットが、前記キル動作の範囲を前記第1コヒーレンシ・ドメインおよび前記第2コヒーレンシ・ドメインのうちのいずれか1つに制限する、
請求項1に記載の方法。 - 前記フラッシュ動作の受信に応答して、キャッシュ・メモリのキャッシュ・コントローラが、キャッシュ・ディレクトリにアクセスするステップと、
前記キャッシュ・コントローラが、前記キャッシュ・ディレクトリへの参照によって、前記キャッシュ・メモリが前記ターゲット・メモリ・ブロックの変更されたコピーを保持すると判定することに応答して、
前記キャッシュ・コントローラが、前記フラッシュ動作の再発行を強制する、前記フラッシュ動作に対するretry部分的応答を供給するステップと、
前記キャッシュ・コントローラが、前記システム・メモリを更新するために、前記メモリ・ブロックの前記変更されたコピーのキャストアウト−プッシュを実行するステップと、
前記キャッシュ・コントローラが、少なくとも前記キャストアウト−プッシュが完了するまで、前記フラッシュ動作と衝突するすべてのスヌープされたデータ・アクセス動作に対してretry部分的応答を供給するステップと
をさらに含む、請求項1又は2に記載の方法。 - 前記フラッシュ動作の受信に応答して、キャッシュ・メモリのキャッシュ・コントローラが、キャッシュ・ディレクトリにアクセスするステップと、
前記キャッシュ・コントローラが、前記キャッシュ・ディレクトリへの参照によって、前記キャッシュ・メモリが前記ターゲット・メモリ・ブロックの共用コピーを保持すると判定することに応答して、
前記キャッシュ・コントローラが、前記ターゲット・メモリ・ブロックのキャッシュ・コピーが前記データ処理システム内に存在することを示す、前記フラッシュ動作に対するretry部分的応答を供給するステップと、
前記キャッシュ・コントローラが、前記ターゲット・メモリ・ブロックの前記共用コピーを無効化するステップと、
前記無効化まで、前記キャッシュ・コントローラが、前記フラッシュ動作と衝突するすべてのスヌープされたデータ・アクセス動作に対して、前記キャッシュが前記ターゲット・メモリ・ブロックの共用コピーを保持することを示す部分的応答を供給するステップと
をさらに含む、請求項1又は2に記載の方法。 - 前記フラッシュ動作の受信に応答して、キャッシュ・メモリのキャッシュ・コントローラが、キャッシュ・ディレクトリにアクセスするステップと、
前記キャッシュ・コントローラが、前記キャッシュ・ディレクトリへの参照によって、前記キャッシュ・メモリが前記ターゲット・メモリ・ブロックの未変更のコピーを保持するコヒーレンシの最高点であると判定することに応答して、
前記キャッシュ・コントローラが、前記フラッシュ動作の再発行を強制する、前記フラッシュ動作に対するretry部分的応答を供給するステップと、
前記キャッシュ・コントローラが、前記ドメイン・インジケータを更新するためにキャストアウトを実行するステップと、
前記キャッシュ・コントローラが、少なくとも前記キャストアウトが完了するまで、前記フラッシュ動作と衝突するすべてのスヌープされたデータ・アクセス動作に対してretry部分的応答を供給するステップと
をさらに含む、請求項1又は2に記載の方法。 - 第1コヒーレンシ・ドメインおよび第2コヒーレンシ・ドメインを含むキャッシュ・コヒーレント・データ処理システムにおけるデータ処理方法であって、
前記第1コヒーレンシ・ドメインは、メモリ・コントローラと、ターゲット・アドレスによって識別されるターゲット・メモリ・ブロックを有する関連するシステム・メモリとを含み、
前記方法は、
前記第1コヒーレンシ・ドメイン内で、前記ターゲット・メモリ・ブロックが前記第1コヒーレンシ・ドメインの外部でキャッシュされるかどうかを示すドメイン・インジケータを維持するステップと、
前記第1コヒーレンシ・ドメイン内で、前記第1および第2コヒーレンシ・ドメインにブロードキャストされる、前記ターゲット・メモリ・ブロックの前記ターゲット・アドレスを指定するフラッシュ動作を受信するステップと、
前記第1コヒーレンシ・ドメイン内で、前記フラッシュ動作に対するシステム全体の応答を表す、前記フラッシュ動作に対する組合せ応答を受信するステップと、
前記組合せ応答の前記第1コヒーレンシ・ドメイン内での受信に応答して、前記組合せ応答が、前記ターゲット・メモリ・ブロックのキャッシュ・コピーが前記データ処理システム内に存在する可能性があることを示すかどうかを判定するステップと、
前記組合せ応答が、前記ターゲット・メモリ・ブロックのキャッシュ・コピーが前記データ処理システム内に存在する可能性があることを示すと判定されたことに応答して、前記ターゲット・メモリ・ブロックが前記第1コヒーレンシ・ドメインの外部でキャッシュされていることを示すために前記ドメイン・インジケータを更新するステップと
を含み、
前記フラッシュ動作の受信に応答して、キャッシュ・メモリのキャッシュ・コントローラが、キャッシュ・ディレクトリにアクセスするステップと、
前記キャッシュ・コントローラが、前記キャッシュ・ディレクトリへの参照によって、前記キャッシュ・メモリが前記ターゲット・メモリ・ブロックの未変更のコピーを保持するコヒーレンシの最高点であると判定することに応答して、
前記キャッシュ・コントローラが、前記フラッシュ動作の再発行を強制する、前記フラッシュ動作に対するretry部分的応答を供給するステップと、
前記キャッシュ・コントローラが、前記ドメイン・インジケータを更新するためにキャストアウトを実行するステップと、
前記キャッシュ・コントローラが、少なくとも前記キャストアウトが完了するまで、前記フラッシュ動作と衝突するすべてのスヌープされたデータ・アクセス動作に対してretry部分的応答を供給するステップと
をさらに含む、
前記方法。 - 前記フラッシュ動作が前記第1コヒーレンシ・ドメインの外部で発生したかどうかを判定するステップをさらに含み、
前記更新するステップは、前記フラッシュ動作が前記第1コヒーレンシ・ドメインの外部で発生したと判定されたことに応答してのみ前記ドメイン・インジケータを更新するステップを含む、
請求項1又は6に記載の方法。 - 前記フラッシュ動作を開始した処理ユニットが、前記メモリ・ブロックのキャッシュ・コピーが前記データ処理システム内に存在する可能性があることを示す組合せ応答の受信に応答して、前記ターゲット・メモリ・ブロックのすべてのキャッシュ・コピーを無効化するためにキル動作を発行するステップ
をさらに含む、請求項1、6又は7に記載の方法。 - 前記ターゲット・メモリ・ブロックが前記処理ユニットを含むコヒーレンシ・ドメイン内でのみキャッシュされることを示すキャッシュ状態である前記ターゲット・メモリ・ブロックを前記処理ユニットのキャッシュが保持すると判定されたことに応答して、前記処理ユニットが、前記キル動作の範囲を前記第1コヒーレンシ・ドメインおよび前記第2コヒーレンシ・ドメインのうちのいずれか1つに制限する、請求項8に記載の方法。
- データ処理システムであって、
プロセッサ・コアと関連するキャッシュ・メモリを含む処理ユニットと、ターゲット・アドレスによって識別されるターゲット・メモリ・ブロックを有するシステム・メモリを含む、第1コヒーレンシ・ドメインと、
プロセッサ・コアと関連するキャッシュ・メモリを含む処理ユニットを含む、第2コヒーレンシ・ドメインと、
前記ターゲット・メモリ・ブロックが前記第1コヒーレンシ・ドメインの外部でキャッシュされるかどうかを示す、前記第1コヒーレンシ・ドメイン内のドメイン・インジケータと、
前記システム・メモリに結合された、前記第1コヒーレンシ・ドメイン内のメモリ・コントローラと
を備えており、
前記メモリ・コントローラは、前記第1コヒーレンシ・ドメインおよび第2コヒーレンシ・ドメインにブロードキャストされる、前記ターゲット・メモリ・ブロックの前記ターゲット・アドレスを指定するフラッシュ動作に関する組合せ応答の受信に応答して、前記ターゲット・メモリ・ブロックのキャッシュ・コピーがデータ処理システム内に存在する可能性があることを前記組合せ応答が示すかどうかを判定し、
前記ターゲット・メモリ・ブロックのキャッシュ・コピーが前記データ処理システム内に存在する可能性があることを前記組合せ応答が示すと判定されたことに応答して、前記ターゲット・メモリ・ブロックが前記第1コヒーレンシ・ドメインの外部でキャッシュされることを示すために前記ドメイン・インジケータを更新する、
前記データ処理システム。 - 前記更新することは、前記フラッシュ動作が前記第1コヒーレンシ・ドメインの外部で発生したと判定されたことに応答してのみ前記ドメイン・インジケータを更新することを含み、
前記フラッシュ動作を開始した前記処理ユニットが、前記ターゲット・メモリ・ブロックの少なくとも一つのキャッシュ・コピーが前記データ処理システム内に存在する可能性があることを示す組合せ応答の受信に応答して、前記ターゲット・メモリ・ブロックの全てのキャッシュ・コピーを無効化するためにキル動作を発行し、
前記ターゲット・メモリ・ブロックが前記処理ユニットを含むコヒーレンシ・ドメイン内でのみキャッシュされることを示すキャッシュ状態である前記ターゲット・メモリ・ブロックを前記処理ユニットのキャッシュが保持すると判定されたことに応答して、前記処理ユニットが、前記キル動作の範囲を前記第1コヒーレンシ・ドメインおよび前記第2コヒーレンシ・ドメインのうちのいずれか1つに制限する、
請求項10に記載のデータ処理システム。 - 前記関連するキャッシュ・メモリが、キャッシュ・ディレクトリおよびキャッシュ・コントローラを含み、
前記キャッシュ・コントローラが、前記フラッシュ動作に応答して、前記関連するキャッシュ・メモリが前記ターゲット・メモリ・ブロックの変更されたコピーを保持することを前記キャッシュ・ディレクトリが示すかどうかを判定し、前記判定に応答して、前記フラッシュ動作の再発行を強制する、前記フラッシュ動作に対するretry部分的応答を供給し、前記システム・メモリを更新するために前記メモリ・ブロックの前記変更されたコピーのキャストアウト−プッシュを実行し、少なくとも前記キャストアウト−プッシュが完了するまで、前記フラッシュ動作と衝突するすべてのスヌープされたデータ・アクセス動作に対してretry部分的応答を供給する、
請求項10又は11に記載のデータ処理システム。 - 前記関連するキャッシュ・メモリが、キャッシュ・ディレクトリおよびキャッシュ・コントローラを含み、
前記キャッシュ・コントローラが、前記フラッシュ動作に応答して、前記キャッシュ・ディレクトリにアクセスし、前記キャッシュ・メモリが前記ターゲット・メモリ・ブロックの共用コピーを保持することを前記キャッシュ・ディレクトリが示すことに応答して、前記ターゲット・メモリ・ブロックのキャッシュ・コピーが前記データ処理システム内に存在することを示す、前記フラッシュ動作に対するretry部分的応答を供給し、前記ターゲット・メモリ・ブロックの前記共用コピーを無効化し、前記無効化まで、前記フラッシュ動作と衝突するすべてのスヌープされたデータ・アクセス動作に対して、前記キャッシュが前記ターゲット・メモリ・ブロックの共用コピーを保持することを示す部分的応答を供給する、
請求項10又は11に記載のデータ処理システム。 - 前記関連するキャッシュ・メモリが、キャッシュ・ディレクトリおよびキャッシュ・コントローラを含み、
前記キャッシュ・コントローラが、前記フラッシュ動作の受信に応答して、前記キャッシュ・ディレクトリにアクセスし、前記キャッシュ・メモリが前記ターゲット・メモリ・ブロックの未変更のコピーを保持するコヒーレンシの最高点であることを前記キャッシュ・ディレクトリが示すことに応答して、前記フラッシュ動作の再発行を強制する、前記フラッシュ動作に対するretry部分的応答を供給し、前記ドメイン・インジケータを更新するためにキャストアウトを実行し、少なくとも前記キャストアウトが完了するまで、前記フラッシュ動作と衝突するすべてのスヌープされたデータ・アクセス動作に対してretry部分的応答を供給する、
請求項10又は11に記載のデータ処理システム。 - データ処理システムであって、
プロセッサ・コアと関連するキャッシュ・メモリを含む処理ユニットと、ターゲット・アドレスによって識別されるターゲット・メモリ・ブロックを有するシステム・メモリを含む、第1コヒーレンシ・ドメインと、
プロセッサ・コアと関連するキャッシュ・メモリを含む処理ユニットを含む、第2コヒーレンシ・ドメインと、
前記ターゲット・メモリ・ブロックが前記第1コヒーレンシ・ドメインの外部でキャッシュされるかどうかを示す、前記第1コヒーレンシ・ドメイン内のドメイン・インジケータと、
前記システム・メモリに結合された、前記第1コヒーレンシ・ドメイン内のメモリ・コントローラと
を備えており、
前記メモリ・コントローラは、前記第1コヒーレンシ・ドメインおよび第2コヒーレンシ・ドメインにブロードキャストされる、前記ターゲット・メモリ・ブロックの前記ターゲット・アドレスを指定するフラッシュ動作に関する組合せ応答の受信に応答して、前記ターゲット・メモリ・ブロックのキャッシュ・コピーがデータ処理システム内に存在する可能性があることを前記組合せ応答が示すかどうかを判定し、
前記ターゲット・メモリ・ブロックのキャッシュ・コピーが前記データ処理システム内に存在する可能性があることを前記組合せ応答が示すと判定されたことに応答して、前記ターゲット・メモリ・ブロックが前記第1コヒーレンシ・ドメインの外部でキャッシュされることを示すために前記ドメイン・インジケータを更新し、
前記関連するキャッシュ・メモリが、キャッシュ・ディレクトリおよびキャッシュ・コントローラを含み、
前記キャッシュ・コントローラが、前記フラッシュ動作の受信に応答して、前記キャッシュ・ディレクトリにアクセスし、前記キャッシュ・メモリが前記ターゲット・メモリ・ブロックの未変更のコピーを保持するコヒーレンシの最高点であることを前記キャッシュ・ディレクトリが示すことに応答して、前記フラッシュ動作の再発行を強制する、前記フラッシュ動作に対するretry部分的応答を供給し、前記ドメイン・インジケータを更新するためにキャストアウトを実行し、少なくとも前記キャストアウトが完了するまで、前記フラッシュ動作と衝突するすべてのスヌープされたデータ・アクセス動作に対してretry部分的応答を供給する、
前記データ処理システム。 - 前記メモリ・コントローラが、前記フラッシュ動作が前記第1コヒーレンシ・ドメインの外部で発生したかどうかを判定し、前記フラッシュ動作が前記第1コヒーレンシ・ドメインの外部で発生したと判定されたことに応答してのみ前記ドメイン・インジケータを更新する、請求項10又は15に記載のデータ処理システム。
- 前記処理ユニットが、前記フラッシュ動作を開始した開始処理ユニットを含み、
前記開始処理ユニットが、前記メモリ・ブロックのキャッシュ・コピーが前記データ処理システム内に存在する可能性があることを示す組合せ応答の受信に応答して、前記ターゲット・メモリ・ブロックのすべてのキャッシュ・コピーを無効化するためにキル動作を発行する、
請求項10、15又は16に記載のデータ処理システム。 - 前記ターゲット・メモリ・ブロックが前記開始処理ユニットを含むコヒーレンシ・ドメイン内でのみキャッシュされることを示すキャッシュ状態である前記ターゲット・メモリ・ブロックを前記処理ユニットのキャッシュが保持すること判定されたことに応答して、前記開始処理ユニットが、前記キル動作の範囲を前記第1コヒーレンシ・ドメインおよび前記第2コヒーレンシ・ドメインのうちのいずれかに制限する、請求項17に記載のデータ処理システム。
- プロセッサ・コアと関連するキャッシュ・メモリとを含む処理ユニットをそれぞれが含む少なくとも第1コヒーレンシ・ドメインおよび第2コヒーレンシ・ドメインを含むデータ処理システム用のメモリ・コントローラであって、
前記第1コヒーレンシ・ドメインが、さらに、ターゲット・アドレスによって識別されるターゲット・メモリ・ブロックを含むシステム・メモリと、前記ターゲット・メモリ・ブロックが前記第1コヒーレンシ・ドメインの外部でキャッシュされるかどうかを示すドメイン・インジケータとを含み、
前記第1コヒーレンシ・ドメインおよび第2コヒーレンシ・ドメインにブロードキャストされる、前記ターゲット・メモリ・ブロックの前記ターゲット・アドレスを指定するフラッシュ動作に関する組合せ応答の受信に応答して、前記ターゲット・メモリ・ブロックのキャッシュ・コピーが前記データ処理システム内に存在する可能性があることを前記組合せ応答が示すかどうかを判定する手段と、
前記ターゲット・メモリ・ブロックのキャッシュ・コピーが前記データ処理システム内に存在する可能性があることを前記組合せ応答が示すと判定されたことに応答して、前記ターゲット・メモリ・ブロックが前記第1コヒーレンシ・ドメインの外部でキャッシュされることを示すために前記ドメイン・インジケータを更新する手段と
を含む、前記メモリ・コントローラ。 - 前記更新することは、前記フラッシュ動作が前記第1コヒーレンシ・ドメインの外部で発生したと判定されたことに応答してのみ前記ドメイン・インジケータを更新することを含み、
前記フラッシュ動作を開始した前記処理ユニットが、前記ターゲット・メモリ・ブロックの少なくとも一つのキャッシュ・コピーが前記データ処理システム内に存在する可能性があることを示す組合せ応答の受信に応答して、前記ターゲット・メモリ・ブロックの全てのキャッシュ・コピーを無効化するためにキル動作を発行し、
前記ターゲット・メモリ・ブロックが前記処理ユニットを含むコヒーレンシ・ドメイン内でのみキャッシュされることを示すキャッシュ状態である前記ターゲット・メモリ・ブロックを前記処理ユニットのキャッシュが保持すると判定されたことに応答して、前記処理ユニットが、前記キル動作の範囲を前記第1コヒーレンシ・ドメインおよび前記第2コヒーレンシ・ドメインのうちのいずれか1つに制限する、
請求項19に記載のメモリ・コントローラ。 - プロセッサ・コアと関連するキャッシュ・メモリとを含む処理ユニットをそれぞれが含む少なくとも第1コヒーレンシ・ドメインおよび第2コヒーレンシ・ドメインを含むデータ処理システム用のメモリ・コントローラであって、
前記第1コヒーレンシ・ドメインが、さらに、ターゲット・アドレスによって識別されるターゲット・メモリ・ブロックを含むシステム・メモリと、前記ターゲット・メモリ・ブロックが前記第1コヒーレンシ・ドメインの外部でキャッシュされるかどうかを示すドメイン・インジケータとを含み、
前記第1コヒーレンシ・ドメインおよび第2コヒーレンシ・ドメインにブロードキャストされる、前記ターゲット・メモリ・ブロックの前記ターゲット・アドレスを指定するフラッシュ動作に関する組合せ応答の受信に応答して、前記ターゲット・メモリ・ブロックのキャッシュ・コピーが前記データ処理システム内に存在する可能性があることを前記組合せ応答が示すかどうかを判定する手段と、
前記ターゲット・メモリ・ブロックのキャッシュ・コピーが前記データ処理システム内に存在する可能性があることを前記組合せ応答が示すと判定されたことに応答して、前記ターゲット・メモリ・ブロックが前記第1コヒーレンシ・ドメインの外部でキャッシュされることを示すために前記ドメイン・インジケータを更新する手段と
を含み、
前記関連するキャッシュ・メモリが、キャッシュ・ディレクトリおよびキャッシュ・コントローラを含み、
前記キャッシュ・コントローラが、前記フラッシュ動作の受信に応答して、前記キャッシュ・ディレクトリにアクセスし、前記キャッシュ・メモリが前記ターゲット・メモリ・ブロックの未変更のコピーを保持するコヒーレンシの最高点であることを前記キャッシュ・ディレクトリが示すことに応答して、前記フラッシュ動作の再発行を強制する、前記フラッシュ動作に対するretry部分的応答を供給し、前記ドメイン・インジケータを更新するためにキャストアウトを実行し、少なくとも前記キャストアウトが完了するまで、前記フラッシュ動作と衝突するすべてのスヌープされたデータ・アクセス動作に対してretry部分的応答を供給する、前記メモリ・コントローラ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/342,951 US7543116B2 (en) | 2006-01-30 | 2006-01-30 | Data processing system, cache system and method for handling a flush operation in a data processing system having multiple coherency domains |
US11/342951 | 2006-01-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007207223A JP2007207223A (ja) | 2007-08-16 |
JP5105863B2 true JP5105863B2 (ja) | 2012-12-26 |
Family
ID=38323492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006350414A Expired - Fee Related JP5105863B2 (ja) | 2006-01-30 | 2006-12-26 | 複数のコヒーレンシ・ドメインを有するデータ処理システムでフラッシュ動作を処理するデータ処理システム、方法、およびメモリ・コントローラ |
Country Status (4)
Country | Link |
---|---|
US (1) | US7543116B2 (ja) |
JP (1) | JP5105863B2 (ja) |
CN (1) | CN100570582C (ja) |
TW (1) | TWI393005B (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685371B1 (en) * | 2006-04-19 | 2010-03-23 | Nvidia Corporation | Hierarchical flush barrier mechanism with deadlock avoidance |
JP2008026944A (ja) * | 2006-07-18 | 2008-02-07 | Renesas Technology Corp | バス結合型マルチプロセッサ |
JP4474570B2 (ja) * | 2008-01-28 | 2010-06-09 | エヌイーシーコンピュータテクノ株式会社 | キャッシュコヒーレンシ制御方法 |
US9035959B2 (en) | 2008-03-28 | 2015-05-19 | Intel Corporation | Technique to share information among different cache coherency domains |
US8904115B2 (en) * | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
US8935485B2 (en) | 2011-08-08 | 2015-01-13 | Arm Limited | Snoop filter and non-inclusive shared cache memory |
CN104781797B (zh) | 2012-09-14 | 2017-05-31 | 英派尔科技开发有限公司 | 多处理器架构中的高速缓存一致性目录 |
CN103729304B (zh) * | 2012-10-11 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
US9158689B2 (en) | 2013-02-11 | 2015-10-13 | Empire Technology Development Llc | Aggregating cache eviction notifications to a directory |
GB201403684D0 (en) | 2014-03-03 | 2014-04-16 | King S College London | Vector |
US9767063B2 (en) * | 2015-03-04 | 2017-09-19 | Qualcomm Incorporated | Adaptive access control for hardware blocks |
JP6631317B2 (ja) * | 2016-02-26 | 2020-01-15 | 富士通株式会社 | 演算処理装置、情報処理装置および情報処理装置の制御方法 |
US10157139B2 (en) * | 2016-09-19 | 2018-12-18 | Qualcomm Incorporated | Asynchronous cache operations |
US10459824B2 (en) * | 2017-09-18 | 2019-10-29 | Microsoft Technology Licensing, Llc | Cache-based trace recording using cache coherence protocol data |
US11907091B2 (en) | 2018-02-16 | 2024-02-20 | Microsoft Technology Licensing, Llc | Trace recording by logging influxes to an upper-layer shared cache, plus cache coherence protocol transitions among lower-layer caches |
US10877836B2 (en) * | 2018-08-29 | 2020-12-29 | Arm Limited | Method and apparatus for coherent interconnect recovery with protocol layer re-transmission |
US10949346B2 (en) * | 2018-11-08 | 2021-03-16 | International Business Machines Corporation | Data flush of a persistent memory cache or buffer |
US10970215B1 (en) | 2019-12-03 | 2021-04-06 | International Business Machines Corporation | Cache snooping mode extending coherence protection for certain requests |
US11157409B2 (en) * | 2019-12-17 | 2021-10-26 | International Business Machines Corporation | Cache snooping mode extending coherence protection for certain requests |
US11157408B2 (en) * | 2019-12-17 | 2021-10-26 | International Business Machines Corporation | Cache snooping mode extending coherence protection for certain requests |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2819982B2 (ja) * | 1993-03-18 | 1998-11-05 | 株式会社日立製作所 | 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム |
JPH0816474A (ja) * | 1994-06-29 | 1996-01-19 | Hitachi Ltd | マルチプロセッサシステム |
US6173371B1 (en) * | 1997-04-14 | 2001-01-09 | International Business Machines Corporation | Demand-based issuance of cache operations to a processor bus |
JPH1185615A (ja) * | 1997-09-08 | 1999-03-30 | Canon Inc | 情報処理システム及び情報処理装置及びその制御方法 |
GB9903490D0 (en) * | 1999-02-17 | 1999-04-07 | Memory Corp Plc | Memory system |
US6338123B2 (en) * | 1999-03-31 | 2002-01-08 | International Business Machines Corporation | Complete and concise remote (CCR) directory |
US6442664B1 (en) * | 1999-06-01 | 2002-08-27 | International Business Machines Corporation | Computer memory address translation system |
US6606676B1 (en) * | 1999-11-08 | 2003-08-12 | International Business Machines Corporation | Method and apparatus to distribute interrupts to multiple interrupt handlers in a distributed symmetric multiprocessor system |
WO2001057675A1 (en) * | 2000-02-02 | 2001-08-09 | Sony Electronics Inc. | System and method for effectively utilizing a cache memory in an electronic device |
US6654857B2 (en) * | 2001-06-21 | 2003-11-25 | International Business Machines Corporation | Non-uniform memory access (NUMA) computer system having distributed global coherency management |
US6901485B2 (en) * | 2001-06-21 | 2005-05-31 | International Business Machines Corporation | Memory directory management in a multi-node computer system |
US6785774B2 (en) * | 2001-10-16 | 2004-08-31 | International Business Machines Corporation | High performance symmetric multiprocessing systems via super-coherent data mechanisms |
JP2003216596A (ja) * | 2002-01-17 | 2003-07-31 | Hitachi Ltd | マルチプロセッサシステム及びノード装置 |
US7194587B2 (en) * | 2003-04-24 | 2007-03-20 | International Business Machines Corp. | Localized cache block flush instruction |
US7130967B2 (en) * | 2003-12-10 | 2006-10-31 | International Business Machines Corporation | Method and system for supplier-based memory speculation in a memory subsystem of a data processing system |
JP4119380B2 (ja) * | 2004-02-19 | 2008-07-16 | 株式会社日立製作所 | マルチプロセッサシステム |
US7454578B2 (en) * | 2005-02-10 | 2008-11-18 | International Business Machines Corporation | Data processing system and method for predictively selecting a scope of broadcast of an operation utilizing a location of a memory |
US8140770B2 (en) * | 2005-02-10 | 2012-03-20 | International Business Machines Corporation | Data processing system and method for predictively selecting a scope of broadcast of an operation |
US7478201B2 (en) * | 2005-05-24 | 2009-01-13 | International Business Machines Corporation | Data processing system, cache system and method for passively scrubbing a domain indication |
-
2006
- 2006-01-30 US US11/342,951 patent/US7543116B2/en not_active Expired - Fee Related
- 2006-12-26 JP JP2006350414A patent/JP5105863B2/ja not_active Expired - Fee Related
-
2007
- 2007-01-05 TW TW096100518A patent/TWI393005B/zh not_active IP Right Cessation
- 2007-01-12 CN CNB2007100013891A patent/CN100570582C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007207223A (ja) | 2007-08-16 |
TWI393005B (zh) | 2013-04-11 |
CN101013398A (zh) | 2007-08-08 |
CN100570582C (zh) | 2009-12-16 |
US7543116B2 (en) | 2009-06-02 |
US20070180196A1 (en) | 2007-08-02 |
TW200805062A (en) | 2008-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5105863B2 (ja) | 複数のコヒーレンシ・ドメインを有するデータ処理システムでフラッシュ動作を処理するデータ処理システム、方法、およびメモリ・コントローラ | |
US7404046B2 (en) | Cache memory, processing unit, data processing system and method for filtering snooped operations | |
US8140770B2 (en) | Data processing system and method for predictively selecting a scope of broadcast of an operation | |
US7389388B2 (en) | Data processing system and method for efficient communication utilizing an in coherency state | |
US7716428B2 (en) | Data processing system, cache system and method for reducing imprecise invalid coherency states | |
JP4928812B2 (ja) | タグ付きキャッシュ状態に基づいて下位レベル・キャッシュへの参照なしに相互接続ファブリック上にリクエストを送出するためのデータ処理システム、キャッシュ・システム、および方法 | |
US7451277B2 (en) | Data processing system, cache system and method for updating an invalid coherency state in response to snooping an operation | |
US7237070B2 (en) | Cache memory, processing unit, data processing system and method for assuming a selected invalid coherency state based upon a request source | |
JP2008097598A (ja) | 共用のグローバル・コヒーレンシ状態を支援するプロセッサ、データ処理システム、および方法 | |
US7577797B2 (en) | Data processing system, cache system and method for precisely forming an invalid coherency state based upon a combined response | |
US7454578B2 (en) | Data processing system and method for predictively selecting a scope of broadcast of an operation utilizing a location of a memory | |
JP5004571B2 (ja) | 同報通信範囲を示す無効な整合状態を正確に形成するためのデータ処理システム、キャッシュ・システム、および方法 | |
US7478201B2 (en) | Data processing system, cache system and method for passively scrubbing a domain indication | |
US7467262B2 (en) | Data processing system, cache system and method for scrubbing a domain indication in response to execution of program code | |
US7475195B2 (en) | Data processing system, cache system and method for actively scrubbing a domain indication | |
US7584331B2 (en) | Data processing system and method for selectively updating an invalid coherency state in response to snooping a castout | |
US7725619B2 (en) | Data processing system and method that permit pipelining of I/O write operations and multiple operation scopes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091030 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120501 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120508 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120731 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120731 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20120731 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120801 |
|
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: 20120912 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120912 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20120912 |
|
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: 20121002 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151012 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |