JP2009301552A - ディレクトリ型コヒーレンシー・プロトコルでの同時アクセスの最適化 - Google Patents
ディレクトリ型コヒーレンシー・プロトコルでの同時アクセスの最適化 Download PDFInfo
- Publication number
- JP2009301552A JP2009301552A JP2009141086A JP2009141086A JP2009301552A JP 2009301552 A JP2009301552 A JP 2009301552A JP 2009141086 A JP2009141086 A JP 2009141086A JP 2009141086 A JP2009141086 A JP 2009141086A JP 2009301552 A JP2009301552 A JP 2009301552A
- Authority
- JP
- Japan
- Prior art keywords
- directory
- caching agent
- request
- caching
- cache line
- 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
- 239000003795 chemical substances by application Substances 0.000 claims description 146
- 230000004044 response Effects 0.000 claims description 35
- 230000015654 memory Effects 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 18
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000002347 injection Methods 0.000 claims 1
- 239000007924 injection Substances 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 2
- 238000012546 transfer Methods 0.000 description 16
- 230000004888 barrier function Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000001427 coherent effect Effects 0.000 description 8
- 230000009467 reduction Effects 0.000 description 6
- 239000000872 buffer Substances 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 229910003460 diamond Inorganic materials 0.000 description 2
- 239000010432 diamond Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001343 mnemonic effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
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
-
- 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/0828—Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
-
- 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)
Abstract
【解決手段】 一実施例では、キャッシュ・コヒーレンシー・プロトコルの制御を維持管理する際に役立つディレクトリを含む。ディレクトリは、相互接続を介して複数のキャッシング・エージェントに結合され、キャッシュ・ラインに関連するエントリを格納するように構成されてもよい。ディレクトリはまた、ディレクトリが同時スヌープ要求を送信できる前の時間遅延を決定するロジックを含む。他の実施例も記載される。
【選択図】 図6
Description
第1のキャッシング・エージェントがキャッシュ・ラインについて第1の要求に応じて第2のキャッシング・エージェントにキャッシュ・ラインを送信したことを示す完了メッセージを、前記第1のキャッシング・エージェントからディレクトリで受信し、
前記ディレクトリが前記キャッシュ・ラインを第3のキャッシング・エージェントに転送する第2の要求を前記第2のキャッシング・エージェントに送信できる前の時間遅延を決定し、
前記時間遅延後に前記第2の要求を送信することを特徴とする。
キャッシュ・メモリをそれぞれ含む複数のキャッシング・エージェントと、
相互接続を介して前記複数のキャッシング・エージェントに結合されたディレクトリ手段と
を有し、
前記ディレクトリ手段は、前記ディレクトリ手段に結合されたキャッシング・エージェントのキャッシュ・メモリに格納されたキャッシュ・ラインにそれぞれ関連する複数のエントリを格納し、
前記ディレクトリ手段は、前記ディレクトリ手段が同時スヌープ要求を送信できる前の時間遅延を決定する手段を含むことを特徴とする。
複数のキャッシング・エージェントと、スヌープ要求、データメッセージ及び承諾メッセージについて独立のチャネルを含むリング相互接続を介して前記複数のキャッシング・エージェントに結合されたディレクトリとを含むマルチコア・プロセッサと、
前記マルチコア・プロセッサに結合されたダイナミック・ランダム・アクセス・メモリ(DRAM)と
を有するシステムであって、
前記ディレクトリは、第1のキャッシュ・ラインが、第1のキャッシング・エージェントの前記第1のキャッシュ・ラインの受信を示す第1の承諾メッセージを前記第1のキャッシング・エージェントから受信せずに、前記第1のキャッシング・エージェントから第2のキャッシング・エージェントに転送されること生じるために、前記ディレクトリが同時スヌープ要求を第1のキャッシング・エージェントに送信できる前の時間遅延を計算する手段を含むことを特徴とする。
第2の要求側(C2)からディレクトリへのホップ数=N
第1の要求側(C1)からディレクトリへのホップ数=M
C1からC2へのホップ数=P
リング・ストップ間の遅延(すなわち、リングメッセージが1つのホップから他のホップに移動するために要するサイクル単位の時間)=D
ディレクトリがC1に転送要求を開始する前に待機しなければならない完了メッセージの到達後の時間(サイクル単位)=T
一実施例では、以下の式が使用され得る。
T=(P−N−M+1)*D [式1]
追加のサイクル(すなわち、“+1”)は、データメッセージがエージェントにより受信されたときの少なくとも1サイクル後に、ディレクトリからの転送要求がキャッシング・エージェント(C1)に到達することを確保する。この計算は、データ及び完了メッセージの双方が同じサイクルでリング・ストップに注入されたことを仮定しており、データメッセージが完了メッセージの前に注入されたことを仮定している。或る状況では、Tは、ゼロ未満でもよい。この場合、ディレクトリは、転送要求をC1宛にリングに直ちに注入することができる。
待ち時間=(T/4+T/4+T/4+T/8)=7T/8サイクル [式2]
この待ち時間の低減は、競合するアドレスへの要求処理が通常の方法に従って処理される前に待機しなければならない時間量(すなわち、Tサイクル)に関して表されている点に留意すべきである。同様に、一対の同時要求を処理する通常の方法では、サイクル単位で要する時間は、以下のようになる。
待ち時間=2*Tサイクル
その代わり、本発明の一実施例によれば、合計待ち時間は以下のように得られ得る。最善の場合のシナリオでは、ディレクトリからのFwdOメッセージは、要求側がデータを受信したちょうど1サイクル後に到達する。双方の場合のプロトコル処理のオーバーヘッドが同じであり、このため、無視可能であることを仮定する。
待ち時間=(T/4+T/4+T/4)+1+T/4=T+1サイクル[最善の場合] [式3]
最悪の場合では、スヌープメッセージがデータを見た後に要求側に到達するためにT/4サイクルを要することを仮定する。このような場合、待ち時間は、以下のようになる。
待ち時間=(T/4+T/4+T/4)+(T/4+T/4)=5T/4サイクル[最悪の場合] [式4]
従って、平均的な場合、転送されたデータを見た後にキャッシング・エージェントC1によりスヌープで観測される遅延は、〜T/8サイクルになる。従って、平均的な場合、関与する2つのスレッドでのバリア同期の待ち時間は、以下の式により表され得る(第1のスレッドの要求が完全に処理される前に第2のスレッドの要求が到達することを仮定する)。
合計待ち時間=(3T/4)+(T/8+T/4)[2つのスレッドのバリア同期のときの平均的な場合]=3T/4+3T/8=9T/8サイクル [式5]
従って、式5は、同時アクセスについての合計時間の低減についての一般的な式であり、同じアドレスについて現在保留中の少なくとも1つのトランザクションでXのアクセスが到達する。最初のトランザクションが完了する前に全てのXのアクセスが到達することは必ずしも必要ではなく、(前の第2のものからの)トランザクションが到達したときに、現在進行中のトランザクションが存在しさえすればよい点に留意すべきである。これは、バリア同期では通常に生じ、特に、多くのコアを有する大規模なシステムでは通常に生じる。
Claims (20)
- 第1のキャッシング・エージェントがキャッシュ・ラインについて第1の要求に応じて第2のキャッシング・エージェントにキャッシュ・ラインを送信したことを示す完了メッセージを、前記第1のキャッシング・エージェントからディレクトリで受信し、
前記ディレクトリが前記キャッシュ・ラインを第3のキャッシング・エージェントに転送する第2の要求を前記第2のキャッシング・エージェントに送信できる前の時間遅延を決定し、
前記時間遅延後に前記第2の要求を送信することを有する方法。 - 前記第1のキャッシング・エージェントが、前記キャッシュ・ラインを含む対応するデータメッセージを前記第1及び第2のキャッシング・エージェントに結合された相互接続に注入した後に、前記第1のキャッシング・エージェントは、前記完了メッセージを送信する、請求項1に記載の方法。
- 前記相互接続の第1のチャネルで前記完了メッセージを受信し、前記相互接続の第2のチャネルで前記第2の要求を送信することを更に有する、請求項2に記載の方法。
- 前記第1のキャッシング・エージェントにおいて、第1のキューの前記完了メッセージのエントリに関連するタグ値が第2のキューの前記データメッセージの対応するエントリのタグ値より小さいか否かを決定し、
前記決定に少なくとも部分的に基づいて前記第1のチャネルに前記完了メッセージを注入し、そうでない場合に、前記完了メッセージの注入を妨げることを更に有する、請求項3に記載の方法。 - 前記第3のキャッシング・エージェントの前記キャッシュ・ラインを入力データ・キューに格納し、
前記ディレクトリからの入力スヌープ要求が前記キャッシュ・ラインに対応するか否かを決定し、
そうである場合、前記キャッシュ・ラインが前記入力データ・キューから流出されるまで、前記入力スヌープ要求を第2のキューに保持することを更に有する、請求項1に記載の方法。 - 前記入力スヌープ要求へのスヌープ応答を送信する前に、前記第3のキャッシング・エージェントから前記キャッシュ・ラインを含むデータメッセージを送信することを更に有する、請求項5に記載の方法。
- 前記第1のキャッシング・エージェントから前記ディレクトリに追い出しトランザクションを送信せずに、前記第1のキャッシング・エージェントからキャッシュ・ラインのフル・ヒントを追い出す又は送信することを更に有する、請求項1に記載の方法。
- キャッシュ・メモリをそれぞれ含む複数のキャッシング・エージェントと、
相互接続を介して前記複数のキャッシング・エージェントに結合されたディレクトリ手段と
を有し、
前記ディレクトリ手段は、前記ディレクトリ手段に結合されたキャッシング・エージェントのキャッシュ・メモリに格納されたキャッシュ・ラインにそれぞれ関連する複数のエントリを格納し、
前記ディレクトリ手段は、前記ディレクトリ手段が同時スヌープ要求を送信できる前の時間遅延を決定する手段を含む装置。 - 前記ディレクトリ手段は、いつ前記時間遅延が完了したかを示す少なくとも1つのタイマ手段を含む、請求項8に記載の装置。
- 前記ディレクトリ手段は、第1のキャッシング・エージェントから完了メッセージを受信せずに、第1のキャッシング・エージェントに前記同時スヌープ要求を送信する、請求項8に記載の装置。
- 前記決定する手段は、T=(P−N−M+1)*Dに従って前記時間遅延を決定し、
Pは、第1のキャッシング・エージェントから第2のキャッシング・エージェントへの相互接続ホップ数であり、Nは、前記第2のキャッシング・エージェントから前記ディレクトリ手段への相互接続ホップ数に対応し、Mは、前記第1のキャッシング・エージェントから前記ディレクトリ手段への相互接続ホップ数に対応し、Dは、前記相互接続でのリング・ストップの間の遅延に対応する、請求項8に記載の装置。 - 前記同時スヌープ要求は、前記同時スヌープ要求に応じて第1のキャッシング・エージェントから第2のキャッシング・エージェントに転送される第1のキャッシュ・ラインの要求である、請求項8に記載の装置。
- 前記ディレクトリ手段は、前記第2のキャッシング・エージェントからの第2の要求に応じて前記同時スヌープ要求を生成し、
前記第2の要求は、前記キャッシュ・ラインについての前記第1のキャッシング・エージェントからの要求の後に、前記ディレクトリ手段で受信される、請求項12に記載の装置。 - 前記ディレクトリ手段は、前記第2の要求を要求側キューに格納する、請求項13に記載の装置。
- 前記ディレクトリ手段は、前記第1のキャッシュ・ラインを前記第1のキャッシング・エージェントに転送した第3のキャッシング・エージェントからの完了メッセージに応じて、前記第2の要求をキューから出す、請求項13に記載の装置。
- 複数のキャッシング・エージェントと、スヌープ要求、データメッセージ及び承諾メッセージについて独立のチャネルを含むリング相互接続を介して前記複数のキャッシング・エージェントに結合されたディレクトリとを含むマルチコア・プロセッサと、
前記マルチコア・プロセッサに結合されたダイナミック・ランダム・アクセス・メモリ(DRAM)と
を有するシステムであって、
前記ディレクトリは、第1のキャッシュ・ラインが、第1のキャッシング・エージェントの前記第1のキャッシュ・ラインの受信を示す第1の承諾メッセージを前記第1のキャッシング・エージェントから受信せずに、前記第1のキャッシング・エージェントから第2のキャッシング・エージェントに転送されること生じるために、前記ディレクトリが同時スヌープ要求を第1のキャッシング・エージェントに送信できる前の時間遅延を計算する手段を含むシステム。 - 前記計算する手段は、前記リング相互接続の特性に少なくとも部分的に基づいて、前記時間遅延を計算する、請求項16に記載のシステム。
- 前記計算する手段は、前記第1のキャッシング・エージェントへの前記第1のキャッシュ・ラインの送信を示す第2の承諾メッセージを第3のキャッシング・エージェントから受信したときに時間遅延を計算し、
前記時間遅延は、前記第2の承諾メッセージの受信と前記同時スヌープ要求の送信との間のサイクル数に対応する、請求項16に記載のシステム。 - 前記ディレクトリは、いつ前記時間遅延か完了したかを示す少なくとも1つのタイマを含む、請求項18に記載のシステム。
- 前記第1のキャッシング・エージェントは、前記第3のキャッシング・エージェントから前記第1のキャッシュ・ラインを受信したときに、前記ディレクトリへの承諾メッセージの送信を妨げるように構成される、請求項18に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/157,792 US8190820B2 (en) | 2008-06-13 | 2008-06-13 | Optimizing concurrent accesses in a directory-based coherency protocol |
US12/157,792 | 2008-06-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009301552A true JP2009301552A (ja) | 2009-12-24 |
JP5037566B2 JP5037566B2 (ja) | 2012-09-26 |
Family
ID=40902559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009141086A Expired - Fee Related JP5037566B2 (ja) | 2008-06-13 | 2009-06-12 | ディレクトリ型コヒーレンシー・プロトコルでの同時アクセスの最適化 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8190820B2 (ja) |
JP (1) | JP5037566B2 (ja) |
CN (1) | CN101604295B (ja) |
DE (1) | DE102009023898B4 (ja) |
GB (1) | GB2460747B (ja) |
TW (1) | TWI416322B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014532922A (ja) * | 2011-10-26 | 2014-12-08 | クゥアルコム・テクノロジーズ・インコーポレイテッド | 3チャネルキャッシュコヒーレンシソケットプロトコル |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8180963B2 (en) * | 2009-05-21 | 2012-05-15 | Empire Technology Development Llc | Hierarchical read-combining local memories |
US8468309B2 (en) | 2010-09-25 | 2013-06-18 | Intel Corporation | Optimized ring protocols and techniques |
JP5772458B2 (ja) * | 2011-09-29 | 2015-09-02 | 富士通株式会社 | データ管理プログラム、ノード、および分散データベースシステム |
US9639490B2 (en) | 2011-11-29 | 2017-05-02 | Intel Corporation | Ring protocol for low latency interconnect switch |
US9910807B2 (en) | 2011-11-29 | 2018-03-06 | Intel Corporation | Ring protocol for low latency interconnect switch |
WO2013095640A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Methods and apparatus for efficient communication between caches in hierarchical caching design |
US9104529B1 (en) * | 2011-12-30 | 2015-08-11 | Emc Corporation | System and method for copying a cache system |
US8930947B1 (en) | 2011-12-30 | 2015-01-06 | Emc Corporation | System and method for live migration of a virtual machine with dedicated cache |
US9235524B1 (en) | 2011-12-30 | 2016-01-12 | Emc Corporation | System and method for improving cache performance |
US8627012B1 (en) | 2011-12-30 | 2014-01-07 | Emc Corporation | System and method for improving cache performance |
US9158578B1 (en) | 2011-12-30 | 2015-10-13 | Emc Corporation | System and method for migrating virtual machines |
US9009416B1 (en) * | 2011-12-30 | 2015-04-14 | Emc Corporation | System and method for managing cache system content directories |
US9053033B1 (en) * | 2011-12-30 | 2015-06-09 | Emc Corporation | System and method for cache content sharing |
US9135177B2 (en) | 2013-02-26 | 2015-09-15 | Apple Inc. | Scheme to escalate requests with address conflicts |
US9304926B2 (en) | 2013-07-23 | 2016-04-05 | Arm Limited | Coherency control message flow |
US9785556B2 (en) * | 2014-12-23 | 2017-10-10 | Intel Corporation | Cross-die interface snoop or global observation message ordering |
CN106326183B (zh) * | 2015-06-30 | 2019-03-15 | 龙芯中科技术有限公司 | 基于目录的缓存一致性的实现方法及装置 |
US10387314B2 (en) * | 2015-08-25 | 2019-08-20 | Oracle International Corporation | Reducing cache coherence directory bandwidth by aggregating victimization requests |
US9971692B2 (en) | 2015-11-17 | 2018-05-15 | International Business Machines Corporation | Supporting concurrent operations at fine granularity in a caching framework |
US9916249B2 (en) | 2015-11-17 | 2018-03-13 | International Business Machines Corporation | Space allocation in a multi-grained writeback cache |
US9817757B2 (en) | 2015-11-17 | 2017-11-14 | International Business Machines Corporation | Scalable metadata management in a multi-grained caching framework |
US10095595B2 (en) | 2015-11-17 | 2018-10-09 | International Business Machines Corporation | Instant recovery in a multi-grained caching framework |
US9965390B2 (en) | 2015-11-17 | 2018-05-08 | International Business Machines Corporation | Reducing defragmentation in a multi-grained writeback cache |
US10152417B2 (en) * | 2016-04-11 | 2018-12-11 | International Business Machines Corporation | Early freeing of a snoop machine of a data processing system prior to completion of snoop processing for an interconnect operation |
US10733103B2 (en) | 2017-12-13 | 2020-08-04 | International Business Machines Corporation | Non-blocking directory-based cache coherence |
US11544193B2 (en) | 2020-09-11 | 2023-01-03 | Apple Inc. | Scalable cache coherency protocol |
CN112579479B (zh) * | 2020-12-07 | 2022-07-08 | 成都海光微电子技术有限公司 | 在维护缓存一致性时维护事务次序的处理器及其方法 |
US11803471B2 (en) | 2021-08-23 | 2023-10-31 | Apple Inc. | Scalable system on a chip |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10214230A (ja) * | 1996-07-01 | 1998-08-11 | Sun Microsyst Inc | 応答カウントを含むコヒーレンシー・プロトコルを採用したマルチプロセッサ・システム |
US6526498B1 (en) * | 1997-10-31 | 2003-02-25 | Broadcom Corporation | Method and apparatus for retiming in a network of multiple context processing elements |
JP2005189928A (ja) * | 2003-12-24 | 2005-07-14 | Nec Corp | マルチプロセッサシステム、マルチプロセッサシステムにおける一貫性制御装置及び一貫性制御方法 |
US20050160132A1 (en) * | 2004-01-15 | 2005-07-21 | Van Doren Stephen R. | Transaction references for requests in a multi-processor network |
JP2006510119A (ja) * | 2002-12-19 | 2006-03-23 | インテル コーポレイション | マルチプロセッサ・システムにおけるキャッシュ・コヒーレンスにおいて用いるフォワード状態 |
JP2006516058A (ja) * | 2002-12-19 | 2006-06-15 | インテル コーポレイション | キャッシュ・コヒーレンス・プロトコルに対する投機的分散競合解決 |
JP2007500886A (ja) * | 2003-07-25 | 2007-01-18 | ラザ マイクロエレクトロニクス,インク. | 最新型プロセッサ |
US20070073994A1 (en) * | 2005-09-28 | 2007-03-29 | Xiv Limited | Virtual partitioning |
US20070233966A1 (en) * | 2006-03-31 | 2007-10-04 | Sundaram Chinthanmani | Partial way hint line replacement algorithm for a snoop filter |
JP2007535037A (ja) * | 2004-04-27 | 2007-11-29 | インテル・コーポレーション | 効率的な2つのホップ・キャッシュ・コヒーレンシ・プロトコル |
JP2008506195A (ja) * | 2004-07-07 | 2008-02-28 | ヨッタヨッタ インコーポレイテッド | 分散キャッシュ・コヒーレンスを提供するシステムおよび方法 |
JP2009245323A (ja) * | 2008-03-31 | 2009-10-22 | Nec Computertechno Ltd | レイテンシ短縮方式及び方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2474201B1 (fr) | 1980-01-22 | 1986-05-16 | Bull Sa | Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache |
US5778438A (en) | 1995-12-06 | 1998-07-07 | Intel Corporation | Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests |
US5878213A (en) * | 1996-02-15 | 1999-03-02 | International Business Machines Corporation | Methods, systems and computer program products for the synchronization of time coherent caching system |
US5832276A (en) | 1996-10-07 | 1998-11-03 | International Business Machines Corporation | Resolving processor and system bus address collision in a high-level cache |
US6065101A (en) | 1997-06-12 | 2000-05-16 | International Business Machines Corporation | Pipelined snooping of multiple L1 cache lines |
FI108502B (fi) * | 1998-12-11 | 2002-01-31 | Nokia Corp | Menetelmõ ja laitteet lyhytsanomien lõhettõmiseksi |
US7461213B2 (en) * | 2002-10-08 | 2008-12-02 | Rmi Corporation | Advanced processor system using request, data, snoop, and response rings |
WO2005041047A2 (en) | 2003-10-22 | 2005-05-06 | Intel Corporation | Method and apparatus for efficient ordered stores over an interconnection network |
US7454576B2 (en) * | 2004-12-27 | 2008-11-18 | Intel Corporation | System and method for cache coherency in a cache with different cache location lengths |
US7406566B2 (en) * | 2005-06-03 | 2008-07-29 | Intel Corporation | Ring interconnect with multiple coherence networks |
US7437518B2 (en) * | 2005-09-07 | 2008-10-14 | Intel Corporation | Hiding conflict, coherence completion and transaction ID elements of a coherence protocol |
US7747897B2 (en) * | 2005-11-18 | 2010-06-29 | Intel Corporation | Method and apparatus for lockstep processing on a fixed-latency interconnect |
US20080005486A1 (en) * | 2006-06-29 | 2008-01-03 | Mannava Phanindra K | Coordination of snoop responses in a multi-processor system |
US8301790B2 (en) * | 2007-05-30 | 2012-10-30 | Randy Morrison | Synchronization of audio and video signals from remote sources over the internet |
US7779210B2 (en) | 2007-10-31 | 2010-08-17 | Intel Corporation | Avoiding snoop response dependency |
-
2008
- 2008-06-13 US US12/157,792 patent/US8190820B2/en not_active Expired - Fee Related
-
2009
- 2009-06-04 DE DE102009023898.0A patent/DE102009023898B4/de not_active Expired - Fee Related
- 2009-06-04 GB GB0909592A patent/GB2460747B/en active Active
- 2009-06-04 TW TW098118567A patent/TWI416322B/zh active
- 2009-06-12 JP JP2009141086A patent/JP5037566B2/ja not_active Expired - Fee Related
- 2009-06-12 CN CN2009101462030A patent/CN101604295B/zh not_active Expired - Fee Related
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10214230A (ja) * | 1996-07-01 | 1998-08-11 | Sun Microsyst Inc | 応答カウントを含むコヒーレンシー・プロトコルを採用したマルチプロセッサ・システム |
US6526498B1 (en) * | 1997-10-31 | 2003-02-25 | Broadcom Corporation | Method and apparatus for retiming in a network of multiple context processing elements |
JP2006510119A (ja) * | 2002-12-19 | 2006-03-23 | インテル コーポレイション | マルチプロセッサ・システムにおけるキャッシュ・コヒーレンスにおいて用いるフォワード状態 |
JP2006516058A (ja) * | 2002-12-19 | 2006-06-15 | インテル コーポレイション | キャッシュ・コヒーレンス・プロトコルに対する投機的分散競合解決 |
JP2007500886A (ja) * | 2003-07-25 | 2007-01-18 | ラザ マイクロエレクトロニクス,インク. | 最新型プロセッサ |
JP2005189928A (ja) * | 2003-12-24 | 2005-07-14 | Nec Corp | マルチプロセッサシステム、マルチプロセッサシステムにおける一貫性制御装置及び一貫性制御方法 |
US20050160132A1 (en) * | 2004-01-15 | 2005-07-21 | Van Doren Stephen R. | Transaction references for requests in a multi-processor network |
JP2007535037A (ja) * | 2004-04-27 | 2007-11-29 | インテル・コーポレーション | 効率的な2つのホップ・キャッシュ・コヒーレンシ・プロトコル |
JP2008506195A (ja) * | 2004-07-07 | 2008-02-28 | ヨッタヨッタ インコーポレイテッド | 分散キャッシュ・コヒーレンスを提供するシステムおよび方法 |
US20070073994A1 (en) * | 2005-09-28 | 2007-03-29 | Xiv Limited | Virtual partitioning |
US20070233966A1 (en) * | 2006-03-31 | 2007-10-04 | Sundaram Chinthanmani | Partial way hint line replacement algorithm for a snoop filter |
JP2009245323A (ja) * | 2008-03-31 | 2009-10-22 | Nec Computertechno Ltd | レイテンシ短縮方式及び方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014532922A (ja) * | 2011-10-26 | 2014-12-08 | クゥアルコム・テクノロジーズ・インコーポレイテッド | 3チャネルキャッシュコヒーレンシソケットプロトコル |
US9361230B2 (en) | 2011-10-26 | 2016-06-07 | Qualcomm Technologies, Inc. | Three channel cache-coherency socket protocol |
Also Published As
Publication number | Publication date |
---|---|
DE102009023898B4 (de) | 2020-06-18 |
CN101604295A (zh) | 2009-12-16 |
GB0909592D0 (en) | 2009-07-15 |
US8190820B2 (en) | 2012-05-29 |
TWI416322B (zh) | 2013-11-21 |
US20090313435A1 (en) | 2009-12-17 |
CN101604295B (zh) | 2013-03-27 |
GB2460747A (en) | 2009-12-16 |
GB2460747B (en) | 2010-08-04 |
JP5037566B2 (ja) | 2012-09-26 |
TW201011536A (en) | 2010-03-16 |
DE102009023898A1 (de) | 2009-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5037566B2 (ja) | ディレクトリ型コヒーレンシー・プロトコルでの同時アクセスの最適化 | |
US8806148B2 (en) | Forward progress mechanism for stores in the presence of load contention in a system favoring loads by state alteration | |
US7814279B2 (en) | Low-cost cache coherency for accelerators | |
JP4960989B2 (ja) | インバリデーショントランザクションのスヌープフィルタからの削除 | |
US9529532B2 (en) | Method and apparatus for memory allocation in a multi-node system | |
US8799589B2 (en) | Forward progress mechanism for stores in the presence of load contention in a system favoring loads | |
US9170946B2 (en) | Directory cache supporting non-atomic input/output operations | |
US7640401B2 (en) | Remote hit predictor | |
US7240165B2 (en) | System and method for providing parallel data requests | |
US20150254182A1 (en) | Multi-core network processor interconnect with multi-node connection | |
US10592459B2 (en) | Method and system for ordering I/O access in a multi-node environment | |
US9372800B2 (en) | Inter-chip interconnect protocol for a multi-chip system | |
US6877056B2 (en) | System with arbitration scheme supporting virtual address networks and having split ownership and access right coherence mechanism | |
US6973545B2 (en) | System with a directory based coherency protocol and split ownership and access right coherence mechanism | |
US7797495B1 (en) | Distributed directory cache | |
US10917198B2 (en) | Transfer protocol in a data processing network | |
US20080082756A1 (en) | Mechanisms and methods of using self-reconciled data to reduce cache coherence overhead in multiprocessor systems | |
US20070073979A1 (en) | Snoop processing for multi-processor computing system | |
US6970980B2 (en) | System with multicast invalidations and split ownership and access right coherence mechanism | |
EP1376369A2 (en) | System with virtual address networks and split ownership and access right coherence mechanism | |
CN118519924A (zh) | 一种缓存控制方法、装置、电子设备及可读存储介质 | |
JP2023544538A (ja) | キャッシュライン追い出しのためのマルチレベルキャッシュコヒーレンシプロトコル | |
CN118550849A (zh) | 一种缓存一致性维护方法、多核系统及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120228 |
|
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: 20120605 |
|
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: 20120704 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150713 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |