JP5064753B2 - 方法、コンピュータ・プログラム製品、コンピュータ・プログラム、情報ハンドリング・システム(デフォルト・データ転送コヒーレント・キャッシング・エージェントのシステムおよび方法) - Google Patents
方法、コンピュータ・プログラム製品、コンピュータ・プログラム、情報ハンドリング・システム(デフォルト・データ転送コヒーレント・キャッシング・エージェントのシステムおよび方法) Download PDFInfo
- Publication number
- JP5064753B2 JP5064753B2 JP2006273480A JP2006273480A JP5064753B2 JP 5064753 B2 JP5064753 B2 JP 5064753B2 JP 2006273480 A JP2006273480 A JP 2006273480A JP 2006273480 A JP2006273480 A JP 2006273480A JP 5064753 B2 JP5064753 B2 JP 5064753B2
- Authority
- JP
- Japan
- Prior art keywords
- cache line
- request
- node controller
- determining
- exclusive
- 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/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
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
105 プロセッサB
110 プロセッサC
115 プロセッサD
120 ノード・コントローラY
125 プロセッサE
145 ノード・コントローラZ
150 要求
152 スヌープ
154 スヌープ
156 スヌープ
158 スヌープ応答
159 スヌープ応答
160 転送
162 スヌープ応答
170 要求
175 転送N
180 転送P
200 要求
202 スヌープ
204 スヌープ
206 スヌープ
208 スヌープ応答
210 スヌープ応答
212 スヌープ応答
215 送出
220 メッセージ
230 要求
240 転送
250 送出
400 キャッシング・エージェントが開始するステップ
405 アプリケーション
410 メモリ要求を受け取るステップ
420 メモリ位置をルック・アップするステップ
425 メモリ・マップ
430 ホーム・ノードかどうかを判定するステップ
435 キャッシュ・ラインを取り出すステップ
440 キャッシュ・ラインを供給するステップ
445 終了するステップ
450 ホーム・ノードを識別するステップ
460 ホーム・ノードに要求を送り、他のノードをスヌープするステップ
465 プロセッサ
470 ノード・コントローラ
480 キャッシュ・ラインをノード・コントローラから受け取るステップ
485 キャッシュ・ラインを供給するステップ
490 終了するステップ
500 ノード・コントローラが開始するステップ
510 要求を受け取るステップ
515 プロセッサ
520 リモート・ノード・コントローラ
530 リモート要求かどうかを判定するステップ
535 リモート要求処理のステップ
540 要求タイプは何かを判定するステップ
545 エージェントに、invalid状況にダウングレードするように通知するステップ
550 キャッシュ・ラインを要求元エージェントに送るステップ
555 ログを更新するステップ
560 現在の状況は何かを判定するステップ
565 キャッシュ・ラインを要求元エージェントに送るステップ
570 Shared状況にダウングレードするように、制御するエージェントに通知するステップ
575 キャッシュ・ラインを要求元エージェントに送るステップ
580 ログを更新するステップ
590 継続するかどうかを判定するステップ
599 終了するステップ
600 リモート要求を開始するステップ
610 要求タイプは何かを判定するステップ
615 エージェントに、invalid状況にダウングレードするように通知するステップ
620 キャッシュ・ラインおよび転送状態制御をリモート・ノード・コントローラに送るステップ
625 ログを更新するステップ
630 現在の状況は何かを判定するステップ
635 リモート・ノード・コントローラにキャッシュ・ラインおよび転送状態制御を送るステップ
640 ログを更新するステップ
645 Shared状況にダウングレードするようにエージェントに通知するステップ
650 キャッシュ・ラインおよび転送状態制御をリモート・ノード・コントローラに送るステップ
655 ログを更新するステップ
660 リターンするステップ
700 プロセッサ
701 情報ハンドリング・システム
702 ホスト・バス
704 レベル2(L2)キャッシュ・メモリ
706 ホスト−PCIブリッジ
708 メイン・メモリ
710 PCIバス
712 サービス・プロセッサ・インターフェースおよびISAアクセス・パススルー
714 PCIバス
716 サービス・プロセッサ
718 フラッシュ・メモリ
720 不揮発性RAM
722 JTAG/I2Cバス
730 LANカード
735 PCI−ISAブリッジ
740 ISAバス
745 universal serial bus(USB)機能性
755 電力管理機能性
762 パラレル・インターフェース
764 シリアル・インターフェース
768 キーボード・インターフェース
770 マウス・インターフェース
775 モデム
Claims (7)
- コンピュータの処理により、キャッシュ・ライン転送状態制御を管理する方法であって、
ノード・コントローラで、キャッシュ・ライン要求を検出するステップと、
前記ノード・コントローラで、前記キャッシュ・ライン要求がローカル・キャッシング・エージェントに対応するかどうかを判定するステップと、
前記キャッシュ・ライン要求が前記ローカル・キャッシング・エージェントに対応するとの判定に応答して、キャッシュ・ライン転送状態制御を前記ノード・コントローラで保持すると同時にキャッシュ・ラインを前記ローカル・キャッシング・エージェントに転送するステップであって、前記キャッシュ・ラインが、前記キャッシュ・ライン要求に対応し、前記キャッシュ・ライン転送状態制御が、前記キャッシュ・ラインに対応する転送する、ステップと
前記キャッシュ・ライン要求がリモート・ノード・コントローラに対応するステップを判定するステップと、
前記キャッシュ・ライン要求が前記リモート・ノード・コントローラに対応するとの判定に応答して、前記キャッシュ・ラインおよび前記キャッシュ・ライン転送状態制御を前記リモート・ノード・コントローラに転送するステップと、
前記キャッシュ・ライン要求がremote shared要求であることを判定するステップと、
前記キャッシュ・ラインに対応するキャッシュ・ラインの現在の状況がexclusiveであることを判定するステップと、
前記キャッシュ・ライン要求がremote shared要求であるとの判定および前記キャッシュ・ラインの現在の状況がexclusiveであるとの判定に応答して、
制御するエージェントにその状況をsharedにダウングレードするように通知するステップであって、前記制御するエージェントが、前記exclusiveキャッシュ・ライン状況に関連する、通知するステップと、
前記通知に応答して、前記リモート・ノード・コントローラが前記キャッシュ・ラインに関する前記キャッシュ・ライン転送状態制御を有するステップのログを更新するステップと
を含む、方法。 - 前記キャッシュ・ライン要求が、前記リモート・ノード・コントローラに対応し、前記方法が、さらに、
前記キャッシュ・ライン要求がremote exclusive要求であることを判定するステップと、
前記キャッシュ・ラインに対応するキャッシュ・ラインの現在の状況がexclusiveであることを判定するステップと、
前記キャッシュ・ライン要求がremote exclusive要求であるとの判定および前記キャッシュ・ラインの現在の状況がexclusiveであるとの判定に応答して、
1つまたは複数の他のローカル・キャッシング・エージェントにその状況をinvalidにダウングレードするように通知するステップと、
前記通知に応答して、前記リモート・ノード・コントローラが前記キャッシュ・ラインに関する前記キャッシュ・ライン転送状態制御を有するステップのログを更新するステップと
を含む、請求項1に記載の方法。 - 前記キャッシュ・ライン要求がshared要求であることを判定するステップと、
前記キャッシュ・ラインに対応するキャッシュ・ラインの現在の状況がexclusiveであることを判定するステップと、
前記キャッシュ・ライン要求がshared要求であるとの判定および前記キャッシュ・ラインの現在の状況がexclusiveであるとの判定に応答して、
制御するエージェントにその状況をsharedにダウングレードするように通知するステップであって、前記制御するエージェントが、前記exclusiveキャッシュ・ライン状況に関連する、通知するステップと、
前記通知に応答して、前記制御するエージェントがもはや前記キャッシュ・ラインに関するexclusiveキャッシュ・ライン状況を有しないことのログを更新するステップと
をさらに含む、請求項1に記載の方法。 - 前記キャッシュ・ライン要求がexclusive要求であることを判定するステップと、
前記キャッシュ・ラインに対応するキャッシュ・ラインの現在の状況がexclusiveであることを判定するステップと、
前記キャッシュ・ライン要求がexclusive要求であるとの判定および前記キャッシュ・ラインの現在の状況がexclusiveであるとの判定に応答して、
制御するエージェントにその状況をinvalidにダウングレードするように通知するステップであって、前記制御するエージェントが、前記exclusiveキャッシュ・ライン状況に関連する、通知するステップと、
前記通知に応答して、前記ローカル・エージェントが前記キャッシュ・ラインに関するexclusiveキャッシュ・ライン状況を有するステップのログを更新するステップと
をさらに含む、請求項1に記載の方法。 - 前記キャッシュ・ライン要求が、bus read line要求およびbus readinvalidate要求からなる群から選択される、請求項1に記載の方法。
- 請求項1〜5の何れか1つに記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
- 1つまたは複数のプロセッサと、前記プロセッサによってアクセス可能なメモリと、前記プロセッサによってアクセス可能な1つまたは複数の不揮発性ストレージ・デバイスを具備する、キャッシュ・ライン転送状態制御システムであって、
ノード・コントローラで、キャッシュ・ライン要求を検出する手段と、
前記ノード・コントローラで、前記キャッシュ・ライン要求がローカル・キャッシング・エージェントに対応するかどうかを判定する手段と、
前記キャッシュ・ライン要求が前記ローカル・キャッシング・エージェントに対応するとの判定に応答して、キャッシュ・ライン転送状態制御を前記ノード・コントローラで保持すると同時にキャッシュ・ラインを前記ローカル・キャッシング・エージェントに転送する手段であって、前記キャッシュ・ラインが、前記キャッシュ・ライン要求に対応し、前記キャッシュ・ライン転送状態制御が、前記キャッシュ・ラインに対応する転送する、手段と
前記キャッシュ・ライン要求がリモート・ノード・コントローラに対応する手段を判定する手段と、
前記キャッシュ・ライン要求が前記リモート・ノード・コントローラに対応するとの判定に応答して、前記キャッシュ・ラインおよび前記キャッシュ・ライン転送状態制御を前記リモート・ノード・コントローラに転送する手段と、
前記キャッシュ・ライン要求がremote shared要求であることを判定する手段と、
前記キャッシュ・ラインに対応するキャッシュ・ラインの現在の状況がexclusiveであることを判定する手段と、
前記キャッシュ・ライン要求がremote shared要求であるとの判定および前記キャッシュ・ラインの現在の状況がexclusiveであるとの判定に応答して、
制御するエージェントにその状況をsharedにダウングレードするように通知する手段であって、前記制御するエージェントが、前記exclusiveキャッシュ・ライン状況に関連する、通知する手段と、
前記通知に応答して、前記リモート・ノード・コントローラが前記キャッシュ・ラインに関する前記キャッシュ・ライン転送状態制御を有する手段のログを更新する手段
を具備する、システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/320,075 US20070150664A1 (en) | 2005-12-28 | 2005-12-28 | System and method for default data forwarding coherent caching agent |
US11/320075 | 2005-12-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007179528A JP2007179528A (ja) | 2007-07-12 |
JP5064753B2 true JP5064753B2 (ja) | 2012-10-31 |
Family
ID=38195271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006273480A Expired - Fee Related JP5064753B2 (ja) | 2005-12-28 | 2006-10-04 | 方法、コンピュータ・プログラム製品、コンピュータ・プログラム、情報ハンドリング・システム(デフォルト・データ転送コヒーレント・キャッシング・エージェントのシステムおよび方法) |
Country Status (4)
Country | Link |
---|---|
US (1) | US20070150664A1 (ja) |
JP (1) | JP5064753B2 (ja) |
CN (1) | CN100474270C (ja) |
TW (1) | TW200809497A (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7512742B2 (en) * | 2006-01-17 | 2009-03-31 | International Business Machines Corporation | Data processing system, cache system and method for precisely forming an invalid coherency state indicating a broadcast scope |
US7836144B2 (en) * | 2006-12-29 | 2010-11-16 | Intel Corporation | System and method for a 3-hop cache coherency protocol |
US8205045B2 (en) * | 2008-07-07 | 2012-06-19 | Intel Corporation | Satisfying memory ordering requirements between partial writes and non-snoop accesses |
US8438337B1 (en) | 2009-09-30 | 2013-05-07 | Netlogic Microsystems, Inc. | System and method for conditionally sending a request for data to a home node |
US8799586B2 (en) * | 2009-09-30 | 2014-08-05 | Intel Corporation | Memory mirroring and migration at home agent |
US8566533B1 (en) * | 2009-09-30 | 2013-10-22 | Netlogic Microsystems, Inc. | System, method, and computer program product for conditionally sending a request for data to a node based on a determination |
US8656115B2 (en) * | 2010-08-20 | 2014-02-18 | Intel Corporation | Extending a cache coherency snoop broadcast protocol with directory information |
CN102318275B (zh) * | 2011-08-02 | 2015-01-07 | 华为技术有限公司 | 基于cc-numa的报文处理方法、装置和系统 |
US8984228B2 (en) | 2011-12-13 | 2015-03-17 | Intel Corporation | Providing common caching agent for core and integrated input/output (IO) module |
US9170946B2 (en) * | 2012-12-21 | 2015-10-27 | Intel Corporation | Directory cache supporting non-atomic input/output operations |
CN103092807B (zh) * | 2012-12-24 | 2015-09-09 | 杭州华为数字技术有限公司 | 节点控制器、并行计算服务器系统以及路由方法 |
CN103294611B (zh) * | 2013-03-22 | 2015-06-17 | 浪潮电子信息产业股份有限公司 | 一种基于有限数据一致性状态的服务器节点数据缓存方法 |
CN103294612B (zh) * | 2013-03-22 | 2014-08-13 | 浪潮电子信息产业股份有限公司 | 在多级缓存一致性域系统局部域构造Share-F状态的方法 |
US10339059B1 (en) * | 2013-04-08 | 2019-07-02 | Mellanoz Technologeis, Ltd. | Global socket to socket cache coherence architecture |
US9405687B2 (en) | 2013-11-04 | 2016-08-02 | Intel Corporation | Method, apparatus and system for handling cache misses in a processor |
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 |
US10719248B2 (en) * | 2018-04-20 | 2020-07-21 | Micron Technology, Inc. | Apparatuses and methods for counter update operations |
US10915445B2 (en) | 2018-09-18 | 2021-02-09 | Nvidia Corporation | Coherent caching of data for high bandwidth scaling |
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 |
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 |
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 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0816474A (ja) * | 1994-06-29 | 1996-01-19 | Hitachi Ltd | マルチプロセッサシステム |
JPH09305489A (ja) * | 1996-05-14 | 1997-11-28 | Canon Inc | 情報処理システム及びその制御方法 |
US6282615B1 (en) * | 1999-11-09 | 2001-08-28 | International Business Machines Corporation | Multiprocessor system bus with a data-less castout mechanism |
US20030131201A1 (en) * | 2000-12-29 | 2003-07-10 | Manoj Khare | Mechanism for efficiently supporting the full MESI (modified, exclusive, shared, invalid) protocol in a cache coherent multi-node shared memory system |
JP2003216596A (ja) * | 2002-01-17 | 2003-07-31 | Hitachi Ltd | マルチプロセッサシステム及びノード装置 |
JP2003216597A (ja) * | 2002-01-23 | 2003-07-31 | Hitachi Ltd | マルチプロセッサシステム |
US7917646B2 (en) * | 2002-12-19 | 2011-03-29 | Intel Corporation | Speculative distributed conflict resolution for a cache coherency protocol |
US6922756B2 (en) * | 2002-12-19 | 2005-07-26 | Intel Corporation | Forward state for use in cache coherency in a multiprocessor system |
US6954829B2 (en) * | 2002-12-19 | 2005-10-11 | Intel Corporation | Non-speculative distributed conflict resolution for a cache coherency protocol |
US7111128B2 (en) * | 2002-12-19 | 2006-09-19 | Intel Corporation | Hierarchical virtual model of a cache hierarchy in a multiprocessor system |
US7130969B2 (en) * | 2002-12-19 | 2006-10-31 | Intel Corporation | Hierarchical directories for cache coherency in a multiprocessor system |
-
2005
- 2005-12-28 US US11/320,075 patent/US20070150664A1/en not_active Abandoned
-
2006
- 2006-09-26 CN CNB2006101393446A patent/CN100474270C/zh not_active Expired - Fee Related
- 2006-10-04 JP JP2006273480A patent/JP5064753B2/ja not_active Expired - Fee Related
- 2006-12-04 TW TW095145013A patent/TW200809497A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
JP2007179528A (ja) | 2007-07-12 |
TW200809497A (en) | 2008-02-16 |
CN100474270C (zh) | 2009-04-01 |
CN1991795A (zh) | 2007-07-04 |
US20070150664A1 (en) | 2007-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5064753B2 (ja) | 方法、コンピュータ・プログラム製品、コンピュータ・プログラム、情報ハンドリング・システム(デフォルト・データ転送コヒーレント・キャッシング・エージェントのシステムおよび方法) | |
US10891228B2 (en) | Cache line states identifying memory cache | |
TWI463318B (zh) | 快取一致性處理系統、快取記憶體,及其方法 | |
US7480770B2 (en) | Semi-blocking deterministic directory coherence | |
JP4594900B2 (ja) | メモリ・ブロックを初期設定するためのプロセッサ、データ処理システム、および方法 | |
JP4085389B2 (ja) | マルチプロセッサシステム、マルチプロセッサシステムにおける一貫性制御装置及び一貫性制御方法 | |
TW200832133A (en) | Handling of write access requests to shared memory in a data processing apparatus | |
US7568073B2 (en) | Mechanisms and methods of cache coherence in network-based multiprocessor systems with ring-based snoop response collection | |
JP2020529673A (ja) | 分散ストアによる高可用性データベース | |
JP7193547B2 (ja) | キャッシュ・メモリ動作の調整 | |
US7925838B2 (en) | Directory-based data transfer protocol for multiprocessor system | |
CN103294612A (zh) | 一种在多级缓存一致性域系统局部域构造Share-F状态的方法 | |
KR20030024895A (ko) | 캐시 코히어런트 멀티-프로세서 시스템에서 순서화된입출력 트랜잭션을 파이프라이닝하기 위한 방법 및 장치 | |
EP4026005B1 (en) | Producer-to-consumer active direct cache transfers | |
EP4124963B1 (en) | System, apparatus and methods for handling consistent memory transactions according to a cxl protocol | |
US7669013B2 (en) | Directory for multi-node coherent bus | |
US7725660B2 (en) | Directory for multi-node coherent bus | |
WO2017016427A1 (zh) | 根据目录信息维护Cache数据一致性的方法及装置 | |
JP2008521114A (ja) | ローカルメモリデータのコヒーレントなキャッシュ処理 | |
US20160217076A1 (en) | Speculative cache reading using shared buffer | |
US9842050B2 (en) | Add-on memory coherence directory | |
US7526611B2 (en) | Unified processor cache model in multiprocessor system | |
US10489292B2 (en) | Ownership tracking updates across multiple simultaneous operations | |
JP2003216596A (ja) | マルチプロセッサシステム及びノード装置 | |
JP6881485B2 (ja) | メモリ配置装置、メモリ配置方法、及び、メモリ配置プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090629 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120306 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120510 |
|
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: 20120724 |
|
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: 20120809 |
|
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: 20150817 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |