JP2007257631A - 動作のスヌーピングに応答して無効コヒーレンシー状態を更新するデータ処理システム、キャッシュ・システム、および方法 - Google Patents
動作のスヌーピングに応答して無効コヒーレンシー状態を更新するデータ処理システム、キャッシュ・システム、および方法 Download PDFInfo
- Publication number
- JP2007257631A JP2007257631A JP2007062831A JP2007062831A JP2007257631A JP 2007257631 A JP2007257631 A JP 2007257631A JP 2007062831 A JP2007062831 A JP 2007062831A JP 2007062831 A JP2007062831 A JP 2007062831A JP 2007257631 A JP2007257631 A JP 2007257631A
- Authority
- JP
- Japan
- Prior art keywords
- coherency
- cache
- block
- data
- response
- 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
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/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/507—Control mechanisms for virtual memory, cache or TLB using speculative 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)
Abstract
【解決手段】アドレス・タグが有効であることと、記憶位置が有効データを含まないこととを示す第1のデータ無効コヒーレンシー状態に設定される。アドレス・タグに一致しており、かつ排他的アクセス動作を開始した要求元の相対的ドメイン・ロケーションを示す目標アドレスを指定する排他的アクセス要求のスヌーピングに応答して、アドレス・タグが有効であることと、記憶位置が有効データを含まないことと、要求元の相対的ロケーションに基づく排他的アクセス動作が無事完了した時に、アドレス・タグと関連する目標メモリ・ブロックが、第1のコヒーレンシー・ドメイン内にキャッシュされているかどうかとを示す、第2のデータ無効コヒーレンシー状態に更新する。
【選択図】図1
Description
ここで、特に、図1を参照すると、本発明のキャッシュ・コヒーレント対称型マルチプロセッサ(SMP)データ処理システムの代表的実施形態の高レベルのブロック図が示されている。図示したように、データ処理システム100は、データおよび命令を処理する複数の処理ノード102a、102bを含む。処理ノード102a、102bは、アドレス、データ、および制御情報を伝達するシステム相互接続110に結合される。例えば、システム相互接続110は、バス型相互接続、スイッチ型相互接続、またはハイブリッド相互接続として実現されうる。
ここで図4を参照すると、図1のデータ処理システム100のローカルまたはシステム相互接続110、114上の代表的動作の時系列図が示されている。動作は、L2キャッシュ230のマスタ232(または、I/Oコントローラ214のような他のマスタ)が、ローカル相互接続114またはシステム相互接続110上に要求402を発行するときに始まる。要求402は、所望のアクセスのタイプを示すトランザクション・タイプと、その要求によりアクセスされる予定のリソースを示すリソース識別子(例えば、実アドレス)とを含むことが好ましい。要求の一般的な種類は、下記の表1に示したものを含むことが好ましい。
ブロードキャストに基づく従来のデータ処理システムは、ブロードキャスト通信を介して、キャッシュ・コヒーレンシーとデータ配送の両方を取り扱い、このブロードキャスト通信は、従来システムでは、少なくとも、システム内のすべてのメモリ・コントローラおよびキャッシュ階層に対してシステム相互接続上を送信される。他のアーキテクチャおよび類似の規模のシステムと比較すると、ブロードキャストに基づくシステムは、アクセス待ち時間の減少、ならびに共有メモリ・ブロックのより良いデータ・ハンドリングおよびコヒーレンシー管理を提供し得る。
上述したデータ配送ドメインの実装は、データ・アクセス待ち時間を改善するが、この改善は、システム規模が拡大するときのトラフィック量のm×n乗法性には対処していない。トラフィック量を減少させるとともに、さらにブロードキャストに基づくコヒーレンシー機構を保持するために、本発明の好ましい実施形態は、コヒーレンシー・ドメインを追加的に実装する。このコヒーレンシー・ドメインは、上述したデータ配送ドメインのように、各処理ノード102が個々のコヒーレンシー・ドメインを形成するように実装することができる(しかし、そうされることが要求されているわけではない)。データ配送ドメインおよびコヒーレンシー・ドメインは、同一の広がりを有しうるが、そうであることを要求されているわけではなく、データ処理システム100の代表的動作について説明する目的で、以下では、データ配送ドメインおよびコヒーレンシー・ドメインが、処理ノード102により定義された境界を有するものとする。
不要なローカル動作の発行を制限して、それにより動作上の待ち時間を減少させて、かつローカル相互接続上の付加的な帯域幅を保存するために、本発明は、1つのメモリ・ブロックあたり1つのドメイン標識を付与する。このドメイン標識は、関連するメモリ・ブロックのコピーが、ローカル・コヒーレンシー・ドメイン以外でキャッシュされているか否かを示す。例えば、図5は、本発明のドメイン標識の第1の代表的実装例を示す。図5に示したように、ダイナミック・ランダム・アクセス・メモリ(DRAM)で実装されうるシステム・メモリ108は、複数のメモリ・ブロック500を格納する。システム・メモリ108は、各メモリ・ブロック500と関連して、メモリ・ブロック500内に、もし誤りがあれば、それを訂正するために利用される誤り訂正符号(ECC)502、およびドメイン標識(D)504を保存する。本発明のいくつかの実施形態では、ドメイン標識504は、特定のコヒーレンシー・ドメインを識別する(すなわち、コヒーレンシー・ドメインまたはノードIDを指定する)ことができるが、以下では、ドメイン標識504は、関連するメモリ・ブロック500が、メモリ・ブロック500に対するLPCとして機能するメモリ・コントローラ206と同じコヒーレンシー・ドメインの中だけでキャッシュされるとき、(例えば、「ローカル」を示すために‘1’に)セットされる1ビットの標識であると仮定される。それ以外の場合には、ドメイン標識504は、(例えば、「グローバル」を示すために‘0’に)リセットされる。「ローカル」を示すためのドメイン標識504を間違って「グローバル」に設定してしまうと、いかなるコヒーレンシー・エラーも誘発しないが、動作のグローバル・ブロードキャストを不必要に実行するかもしれない。
本発明は、上述したデータ配送およびコヒーレンシー・ドメインの実装を利用するように設計されたキャッシュ・コヒーレンシー・プロトコルを実装する。好ましい実施形態では、プロトコル内のキャッシュ・コヒーレンシー状態は、(1)キャッシュが、メモリ・ブロックに対するHPCであるかどうかを示すことに加えて、(2)キャッシュ・コピーが、そのメモリ階層レベルのキャッシュの中で一意的であるかどうか(すなわち、システム全体で唯一のキャッシュ・コピーであるかどうか)、(3)キャッシュが、メモリ・ブロックに対する要求のマスタに、そのメモリ・ブロックのコピーを提供できるかどうか、およびいつ提供できるか、(4)メモリ・ブロックのキャッシュ・イメージが、LPC(システム・メモリ)における対応するメモリ・ブロックと整合するかどうか、ならびに(5)リモート・コヒーレンシー・ドメイン内の他のキャッシュが、一致アドレスを有するキャッシュ・エントリを保持する(可能性がある)かどうかを示す。これらの5つの属性は、例えば、下表2にまとめられた公知の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状態を示す部分応答を提供できる。このような実施形態では、応答特性を表3に示すようにまとめることができ、表3の中で、プライム(’)表記は、メモリ・ブロックの実際のキャッシュ状態と異なりうる部分応答を示すために利用されている。
最初に図6を参照すると、本発明に基づいて、データ処理システム内のプロセッサ(CPU)排他的アクセス(または記憶装置変更)要求を行う、代表的方法の高レベルの論理フローチャートが示されている。本明細書に示した他の論理フローチャートと同様に、図6に示したステップのうちの少なくともいくつかは、図示した順序と異なる順序で、または並行して実行されうる。
Claims (9)
- 少なくとも第1および第2のコヒーレンシー・ドメインを含むキャッシュ・コヒーレント・データ処理システム内のデータ処理方法であって、
前記データ処理システムの前記第1のコヒーレンシー・ドメイン内の第1のキャッシュ・メモリにおいて、記憶位置およびアドレス・タグと関連するコヒーレンシー状態フィールドを、前記アドレス・タグが有効であることと、前記記憶位置が有効データを含まないこととを示す第1のデータ無効コヒーレンシー状態に設定するステップを含み、
前記アドレス・タグに一致しており、かつ排他的アクセス動作を開始した要求元の相対的ドメイン・ロケーションを示す、目標アドレスを指定する前記排他的アクセス動作のスヌーピングに応答して、前記第1のキャッシュ・メモリが、前記コヒーレンシー状態フィールドを、前記第1のデータ無効コヒーレンシー状態から、前記アドレス・タグが有効であることと、前記記憶位置が有効データを含まないことと、前記要求元の前記相対的ドメイン・ロケーションに基づく前記排他的アクセス動作が無事完了した時に、前記アドレス・タグと関連する目標メモリ・ブロックが、前記第1のコヒーレンシー・ドメイン内にキャッシュされているかどうかとを示す、第2のデータ無効コヒーレンシー状態に更新する、キャッシュ・コヒーレント・データ処理システム内のデータ処理方法。 - 前記排他的アクセス動作が、第1の排他的アクセス動作を含み、
前記設定するステップが、前記データ処理システムの第2のキャッシュ・メモリにより開始される第2の排他的アクセス動作に応答して、前記コヒーレンシー状態フィールドを、前記第1のデータ無効コヒーレンシー状態に設定するステップを含む、請求項1に記載の方法。 - 前記排他的アクセス動作が、バックグラウンド・キル動作を含み、
前記方法が、第2のキャッシュ・メモリが前記目標メモリ・ブロックの排他的コヒーレンシー所有権を取得したとの表示に応答して、前記第2のキャッシュ・メモリが、前記バックグラウンド・キル動作を発行するステップをさらに含む、請求項1に記載の方法。 - 前記第1のキャッシュ・メモリが、前記コヒーレンシー状態フィールドを参照することにより、前記メモリ・ブロックを対象とするデータ・アクセス要求のブロードキャスト伝達範囲を予測するステップをさらに含む、請求項1に記載の方法。
- 前記排他的アクセス動作が、排他的アクセス要求と、前記排他的アクセス要求に対するシステム全体の応答を示す結合応答とを含み、
前記更新するステップが、前記要求元が前記目標メモリ・ブロックの排他的コヒーレンシー所有権を取得したことを示す前記排他的アクセス動作の前記結合応答に応答して、前記第1のキャッシュ・メモリが、前記コヒーレンシー状態フィールドを更新するステップを含む、請求項1に記載の方法。 - 前記アドレス・タグと関連する目標メモリ・ブロックが前記第1のコヒーレンシー・ドメイン内にキャッシュされている可能性が高いかどうかを、前記第1のデータ無効コヒーレンシー状態が示し、
前記方法が、
前記要求元が前記目標メモリ・ブロックの排他的コヒーレンシー所有権を取得することに失敗したことを示す前記結合応答に応答して、前記コヒーレンシー状態フィールドを、前記第1のデータ無効コヒーレンシー状態から、前記データ記憶位置が有効データを含まないことを示し、かつ前記目標メモリ・ブロックのコピーがどこにキャッシュされているかについての場所の表示を提供しない、第3のデータ無効コヒーレンシー状態に更新するステップをさらに含む、請求項5に記載の方法。 - それぞれが少なくとも1つの処理装置を有する、少なくとも第1および第2のコヒーレンシー・ドメインを含むキャッシュ・コヒーレント・データ処理システムにおいて、前記第1のコヒーレンシー・ドメインおよび前記第2のコヒーレンシー・ドメインに含まれるキャッシュ・メモリであって、
キャッシュ・コントローラと、
メモリ・ブロックをキャッシュするデータ記憶位置を含むデータ・アレイと、
前記メモリ・ブロックと関連してアドレス・タグを格納するタグ・フィールドならびに、
前記タグ・フィールドおよび前記データ記憶位置と関連するコヒーレンシー状態フィールドであって、第1および第2のデータ無効コヒーレンシー状態を含む複数の可能なコヒーレンシー状態を有し、前記第1のデータ無効コヒーレンシー状態が、前記アドレス・タグが有効であることと、前記記憶位置が有効データを含まないこととを示し、第2のデータ無効コヒーレンシー状態が、前記アドレス・タグが有効であることと、前記記憶位置が有効データを含まないことと、前記アドレス・タグと関連する目標メモリ・ブロックが前記第1のコヒーレンシー・ドメイン内にキャッシュされている可能性が高いかどうかとを示す、コヒーレンシー状態フィールド、を含むキャッシュ・ディレクトリとを含み、
前記アドレス・タグに一致しており、かつ排他的アクセス動作を開始した要求元の相対的ドメイン・ロケーションの表示を含む、目標アドレスを指定する前記排他的アクセス動作のスヌーピングに応答して、前記キャッシュ・コントローラが、前記コヒーレンシー状態フィールドを、前記第1のデータ無効コヒーレンシー状態から、前記第2のデータ無効コヒーレンシー状態に更新する、キャッシュ・メモリ。 - 少なくとも1つのプロセッサ・コアと、
請求項7に記載のキャッシュ・メモリとを含む、処理装置。 - 相互接続ファブリックと、
前記相互接続ファブリックにより結合された第1および第2のコヒーレンシー・ドメインとを含み、
前記第1のコヒーレンシー・ドメインが、第1のキャッシュ・メモリによりサポートされた少なくとも第1の処理装置を含むとともに、前記第2のコヒーレンシー・ドメインが、第2のコヒーレント・キャッシュ・メモリによりサポートされた第2の処理装置を含み、前記データ処理システムの前記第1のコヒーレンシー・ドメイン内の前記第1のキャッシュ・メモリが、
前記メモリ・ブロックと関連してアドレス・タグを格納するタグ・フィールドと、
前記タグ・フィールドおよび前記データ記憶位置と関連するコヒーレンシー状態フィールドであって、前記コヒーレンシー状態フィールドが、第1および第2のデータ無効コヒーレンシー状態を含む複数の可能なコヒーレンシー状態を有し、前記第1のデータ無効コヒーレンシー状態が、前記アドレス・タグが有効であることと、前記記憶位置が有効データを含まないこととを示し、第2のデータ無効コヒーレンシー状態が、前記アドレス・タグが有効であることと、前記記憶位置が有効データを含まないことと、前記アドレス・タグと関連する目標メモリ・ブロックが、前記第1のコヒーレンシー・ドメイン内にキャッシュされている可能性が高いかどうかとを示す、コヒーレンシー状態フィールドとを含むキャッシュ・ディレクトリを含み、
前記アドレス・タグに一致しており、かつ排他的アクセス動作を開始した要求元の相対的ドメイン・ロケーションの表示を含む、目標アドレスを指定する前記排他的アクセス動作のスヌーピングに応答して、前記キャッシュ・コントローラが、前記コヒーレンシー状態フィールドを、前記第1のデータ無効コヒーレンシー状態から、前記第2のデータ無効コヒーレンシー状態に更新する、キャッシュ・コヒーレント・データ処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/388017 | 2006-03-23 | ||
US11/388,017 US7451277B2 (en) | 2006-03-23 | 2006-03-23 | Data processing system, cache system and method for updating an invalid coherency state in response to snooping an operation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007257631A true JP2007257631A (ja) | 2007-10-04 |
JP5078396B2 JP5078396B2 (ja) | 2012-11-21 |
Family
ID=38534943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007062831A Expired - Fee Related JP5078396B2 (ja) | 2006-03-23 | 2007-03-13 | 動作のスヌーピングに応答して無効コヒーレンシー状態を更新するデータ処理システム、キャッシュ・システム、および方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US7451277B2 (ja) |
JP (1) | JP5078396B2 (ja) |
CN (1) | CN100520738C (ja) |
TW (1) | TWI463318B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9035960B2 (en) | 2008-03-28 | 2015-05-19 | Intel Corporation | Technique to share information among different cache coherency domains |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7451277B2 (en) * | 2006-03-23 | 2008-11-11 | International Business Machines Corporation | Data processing system, cache system and method for updating an invalid coherency state in response to snooping an operation |
US8561037B2 (en) * | 2007-08-29 | 2013-10-15 | Convey Computer | Compiler for generating an executable comprising instructions for a plurality of different instruction sets |
US8250311B2 (en) * | 2008-07-07 | 2012-08-21 | Intel Corporation | Satisfying memory ordering requirements between partial reads and non-snoop accesses |
US20100332762A1 (en) * | 2009-06-30 | 2010-12-30 | Moga Adrian C | Directory cache allocation based on snoop response information |
US8327107B2 (en) * | 2010-03-08 | 2012-12-04 | International Business Machines Corporation | Volume coherency verification for sequential-access storage media |
US8935485B2 (en) | 2011-08-08 | 2015-01-13 | Arm Limited | Snoop filter and non-inclusive shared cache memory |
US9152501B2 (en) | 2012-12-19 | 2015-10-06 | International Business Machines Corporation | Write performance in fault-tolerant clustered storage systems |
TWI526966B (zh) | 2013-11-25 | 2016-03-21 | 財團法人資訊工業策進會 | 資料處理裝置及資料處理方法 |
US9411542B2 (en) * | 2014-02-21 | 2016-08-09 | Analog Devices Global | Interruptible store exclusive |
US11163682B2 (en) * | 2015-12-29 | 2021-11-02 | Intel Corporation | Systems, methods, and apparatuses for distributed consistency memory |
US20170286118A1 (en) * | 2016-04-01 | 2017-10-05 | Intel Corporation | Processors, methods, systems, and instructions to fetch data to indicated cache level with guaranteed completion |
CN106341402B (zh) * | 2016-08-30 | 2019-11-12 | 中国民生银行股份有限公司 | 基于多架构分布式缓存的处理方法和装置 |
BR112019009566A2 (pt) * | 2016-12-12 | 2019-08-06 | Intel Corp | aparelhos e métodos para uma arquitetura de processador |
US11159636B2 (en) * | 2017-02-08 | 2021-10-26 | Arm Limited | Forwarding responses to snoop requests |
US10248330B2 (en) * | 2017-05-30 | 2019-04-02 | Seagate Technology Llc | Data storage device with buffer tenure management |
US10713169B2 (en) | 2018-01-17 | 2020-07-14 | International Business Machines Corporation | Remote node broadcast of requests in a multinode data processing system |
US10387310B2 (en) * | 2018-01-17 | 2019-08-20 | International Business Machines Corporation | Remote node broadcast of requests in a multinode data processing system |
US10579527B2 (en) | 2018-01-17 | 2020-03-03 | International Business Machines Corporation | Remote node broadcast of requests in a multinode data processing system |
US11068407B2 (en) | 2018-10-26 | 2021-07-20 | International Business Machines Corporation | Synchronized access to data in shared memory by protecting the load target address of a load-reserve instruction |
US10884740B2 (en) | 2018-11-08 | 2021-01-05 | International Business Machines Corporation | Synchronized access to data in shared memory by resolving conflicting accesses by co-located hardware threads |
US11119781B2 (en) | 2018-12-11 | 2021-09-14 | International Business Machines Corporation | Synchronized access to data in shared memory by protecting the load target address of a fronting load |
US10733102B2 (en) * | 2018-12-19 | 2020-08-04 | International Business Machines Corporation | Selectively updating a coherence state in response to a storage update |
CN110049104A (zh) * | 2019-03-15 | 2019-07-23 | 佛山市顺德区中山大学研究院 | 基于分层片上互连网络的混合缓存方法、系统及存储介质 |
US11106608B1 (en) | 2020-06-22 | 2021-08-31 | International Business Machines Corporation | Synchronizing access to shared memory by extending protection for a target address of a store-conditional request |
US20210011864A1 (en) * | 2020-09-25 | 2021-01-14 | Francesc Guim Bernat | System, apparatus and methods for dynamically providing coherent memory domains |
CN112433961B (zh) * | 2020-12-02 | 2022-07-08 | 海光信息技术股份有限公司 | 复合缓存目录系统及其管理方法 |
US11693776B2 (en) | 2021-06-18 | 2023-07-04 | International Business Machines Corporation | Variable protection window extension for a target address of a store-conditional request |
US11556472B1 (en) * | 2021-08-04 | 2023-01-17 | International Business Machines Corporation | Data processing system having masters that adapt to agents with differing retry behaviors |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10187633A (ja) * | 1996-07-01 | 1998-07-21 | Sun Microsyst Inc | 外部装置とメモリ・ブロックを共用できるようにする方法および装置 |
JPH11272556A (ja) * | 1998-02-17 | 1999-10-08 | Internatl Business Mach Corp <Ibm> | 命令及びデ―タに対するホバ―リング(h)状態を有するキャッシュ・メモリ・プロトコル |
JPH11272557A (ja) * | 1998-02-17 | 1999-10-08 | Internatl Business Mach Corp <Ibm> | キャッシュ・コヒ―レンシを維持する方法及びシステム |
JPH11272559A (ja) * | 1998-02-17 | 1999-10-08 | Internatl Business Mach Corp <Ibm> | マルチレベル・メモリ・ハイアラ―キを含むデ―タ処理システムのためのキャッシュ・コヒ―レンシ・プロトコル |
JP2003030171A (ja) * | 2001-06-21 | 2003-01-31 | Internatl Business Mach Corp <Ibm> | ヒストリ情報にもとづき、データの排他所有権を付与する不均等メモリ・アクセス(numa)コンピュータ・システム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5852716A (en) * | 1996-07-02 | 1998-12-22 | Sun Microsystems, Inc. | Split-SMP computer system with local domains and a top repeater that distinguishes local and global transactions |
US7716428B2 (en) * | 2006-02-28 | 2010-05-11 | International Business Machines Corporation | Data processing system, cache system and method for reducing imprecise invalid coherency states |
US7451277B2 (en) * | 2006-03-23 | 2008-11-11 | International Business Machines Corporation | Data processing system, cache system and method for updating an invalid coherency state in response to snooping an operation |
-
2006
- 2006-03-23 US US11/388,017 patent/US7451277B2/en not_active Expired - Fee Related
-
2007
- 2007-03-13 CN CNB2007101359280A patent/CN100520738C/zh not_active Expired - Fee Related
- 2007-03-13 JP JP2007062831A patent/JP5078396B2/ja not_active Expired - Fee Related
- 2007-03-20 TW TW096109587A patent/TWI463318B/zh not_active IP Right Cessation
-
2008
- 2008-08-13 US US12/190,766 patent/US7743218B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10187633A (ja) * | 1996-07-01 | 1998-07-21 | Sun Microsyst Inc | 外部装置とメモリ・ブロックを共用できるようにする方法および装置 |
JPH11272556A (ja) * | 1998-02-17 | 1999-10-08 | Internatl Business Mach Corp <Ibm> | 命令及びデ―タに対するホバ―リング(h)状態を有するキャッシュ・メモリ・プロトコル |
JPH11272557A (ja) * | 1998-02-17 | 1999-10-08 | Internatl Business Mach Corp <Ibm> | キャッシュ・コヒ―レンシを維持する方法及びシステム |
JPH11272559A (ja) * | 1998-02-17 | 1999-10-08 | Internatl Business Mach Corp <Ibm> | マルチレベル・メモリ・ハイアラ―キを含むデ―タ処理システムのためのキャッシュ・コヒ―レンシ・プロトコル |
JP2003030171A (ja) * | 2001-06-21 | 2003-01-31 | Internatl Business Mach Corp <Ibm> | ヒストリ情報にもとづき、データの排他所有権を付与する不均等メモリ・アクセス(numa)コンピュータ・システム |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9035960B2 (en) | 2008-03-28 | 2015-05-19 | Intel Corporation | Technique to share information among different cache coherency domains |
US9035959B2 (en) | 2008-03-28 | 2015-05-19 | Intel Corporation | Technique to share information among different cache coherency domains |
US9035962B2 (en) | 2008-03-28 | 2015-05-19 | Intel Corporation | Technique to share information among different cache coherency domains |
JP2016085766A (ja) * | 2008-03-28 | 2016-05-19 | インテル コーポレイション | 異なるキャッシュ・コヒーレンス・ドメインの間の情報共有技法 |
US9665488B2 (en) | 2008-03-28 | 2017-05-30 | Intel Corporation | Technique to share information among different cache coherency domains |
US9946650B2 (en) | 2008-03-28 | 2018-04-17 | Intel Corporation | Technique to share information among different cache coherency domains |
US10078590B2 (en) | 2008-03-28 | 2018-09-18 | Intel Corporation | Technique to share information among different cache coherency domains |
US10204051B2 (en) | 2008-03-28 | 2019-02-12 | Intel Corporation | Technique to share information among different cache coherency domains |
Also Published As
Publication number | Publication date |
---|---|
US7451277B2 (en) | 2008-11-11 |
US20080301377A1 (en) | 2008-12-04 |
CN100520738C (zh) | 2009-07-29 |
US7743218B2 (en) | 2010-06-22 |
JP5078396B2 (ja) | 2012-11-21 |
US20070226427A1 (en) | 2007-09-27 |
TW200821834A (en) | 2008-05-16 |
TWI463318B (zh) | 2014-12-01 |
CN101042680A (zh) | 2007-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5078396B2 (ja) | 動作のスヌーピングに応答して無効コヒーレンシー状態を更新するデータ処理システム、キャッシュ・システム、および方法 | |
JP4928812B2 (ja) | タグ付きキャッシュ状態に基づいて下位レベル・キャッシュへの参照なしに相互接続ファブリック上にリクエストを送出するためのデータ処理システム、キャッシュ・システム、および方法 | |
US8140770B2 (en) | Data processing system and method for predictively selecting a scope of broadcast of an operation | |
JP5105863B2 (ja) | 複数のコヒーレンシ・ドメインを有するデータ処理システムでフラッシュ動作を処理するデータ処理システム、方法、およびメモリ・コントローラ | |
US7404046B2 (en) | Cache memory, processing unit, data processing system and method for filtering snooped operations | |
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 | |
JP4594900B2 (ja) | メモリ・ブロックを初期設定するためのプロセッサ、データ処理システム、および方法 | |
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 | |
US7478201B2 (en) | Data processing system, cache system and method for passively scrubbing a domain indication | |
JP5004571B2 (ja) | 同報通信範囲を示す無効な整合状態を正確に形成するためのデータ処理システム、キャッシュ・システム、および方法 | |
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 | |
JP5063059B2 (ja) | 方法、データ処理システム、メモリ・コントローラ(i/o書込みオペレーションのパイプライン化および多重オペレーション範囲を可能にするデータ処理システムおよび方法) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091117 |
|
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: A523 Effective date: 20120718 |
|
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: 20120807 |
|
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: 20120828 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150907 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 |