JP4960989B2 - インバリデーショントランザクションのスヌープフィルタからの削除 - Google Patents
インバリデーショントランザクションのスヌープフィルタからの削除 Download PDFInfo
- Publication number
- JP4960989B2 JP4960989B2 JP2009124745A JP2009124745A JP4960989B2 JP 4960989 B2 JP4960989 B2 JP 4960989B2 JP 2009124745 A JP2009124745 A JP 2009124745A JP 2009124745 A JP2009124745 A JP 2009124745A JP 4960989 B2 JP4960989 B2 JP 4960989B2
- Authority
- JP
- Japan
- Prior art keywords
- snoop filter
- transaction
- invalidation
- cache
- entry
- 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/082—Associative 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/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
Claims (20)
- キャッシュエージェントからペンディングの容量退避の表示を受信する段階と、
前記ペンディングの容量退避に関連するキャッシュラインに対して、前記キャッシュエージェントからのインバリデーションライトバックトランザクションが起こり得るどうかを決定する段階と、
前記インバリデーションライトバックトランザクションが起こり得る場合、前記キャッシュラインに関連するスヌープフィルタエントリを、スヌープフィルタからステージング領域へと移動させる段階と、
を備える方法。 - 前記インバリデーションライトバックトランザクションが起こり得ない場合、前記スヌープフィルタにおける情報に基づき、前記スヌープフィルタエントリを退避させ、前記スヌープフィルタから1つ以上のキャッシュエージェントへとバックインバリデーショントランザクションを送信する段階をさらに備える、請求項1に記載の方法。
- 前記インバリデーションライトバックトランザクションは、前記スヌープフィルタエントリが前記ステージング領域へと移動したときから予め決められた期間内に前記キャッシュエージェントから受信されたかどうかを決定する段階をさらに備える、請求項1または2に記載の方法。
- 前記インバリデーションライトバックトランザクションが前記予め決められた期間内に受信された場合、バックインバリデーショントランザクションを送信せずに、前記ステージング領域から前記スヌープフィルタエントリを退避させる段階をさらに備える、請求項3に記載の方法。
- 前記インバリデーションライトバックトランザクションが前記予め決められた期間内に受信されない場合、前記スヌープフィルタからの前記バックインバリデーショントランザクションを1つ以上のキャッシュエージェントに送信する段階をさらに備える、請求項4に記載の方法。
- システム資源レベルに少なくとも一部に基づき、前記バックインバリデーショントランザクションを前記スヌープフィルタから前記1つ以上のキャッシュエージェントへ送信する段階をさらに備える、請求項5に記載の方法。
- 退避させられるべきキャッシュラインを変更することを示す前記キャッシュエージェントからの行ヒントに少なくとも一部に基づき、前記インバリデーションライトバックトランザクションが起こり得ることを決定する段階をさらに備える、請求項1から6のいずれか一項に記載の方法。
- 前記キャッシュエージェントでは退避させられるべき対応する前記キャッシュラインが排他的状態にあるという前記スヌープフィルタの表示に基づき、前記インバリデーションライトバックトランザクションが起こり得ることを決定する段階をさらに備える、請求項1から7のいずれか一項に記載の方法。
- キャッシュメモリのキャッシュラインにそれぞれ対応付けられたエントリを格納するスヌープフィルタと、
前記スヌープフィルタに結合されて前記スヌープフィルタを制御するコヒーレンシーユニットと、
を備え、
前記スヌープフィルタは、複数のキャッシュメモリを有するインクルーシブスヌープフィルタであり、
前記コヒーレンシーユニットは、退避させられるスヌープフィルタエントリに対応するキャッシュラインのインバリデーションライトバックトランザクションをキャッシュエージェントが送信する可能性がある場合、前記スヌープフィルタから退避させられる前記スヌープフィルタエントリのバックインバリデーショントランザクションを送信しないようにする、
装置。 - 前記スヌープフィルタに結合され、前記コヒーレンシーユニットからバックインバリデーショントランザクションが送信される前に、前記スヌープフィルタから退避させられたスヌープフィルタエントリを格納する記憶領域をさらに備える、請求項9に記載の装置。
- 前記コヒーレンシーユニットは、前記スヌープフィルタエントリに対応する前記キャッシュラインの退避トランザクションを受信すると、前記退避させられたスヌープフィルタエントリを前記記憶領域に移動させる、請求項10に記載の装置。
- 前記コヒーレンシーユニットは、前記スヌープフィルタエントリに対応する前記キャッシュラインのインバリデーションライトバックトランザクションを受信すると、前記バックインバリデーショントランザクションを送信せずに、前記スヌープフィルタエントリを前記記憶領域から削除する、請求項11に記載の装置。
- 前記コヒーレンシーユニットは、前記退避トランザクションにおける行ヒント情報に少なくとも一部に基づき、前記インバリデーションライトバックトランザクションが起こり得ることを決定する、請求項11に記載の装置。
- 前記スヌープフィルタエントリが変更された状態にある場合、前記コヒーレンシーユニットは、前記インバリデーションライトバックトランザクションが起こり得ることを決定する、請求項9から13のいずれか一項に記載の装置。
- 前記スヌープフィルタエントリが前記記憶領域内に予め決められた期間存在する場合、前記コヒーレンシーユニットは、前記バックインバリデーショントランザクションを送信する、請求項11に記載の装置。
- 少なくとも1つのコア、および、少なくとも1つのキャッシュメモリを有する第1のプロセッサと、
少なくとも1つのコア、および、少なくとも1つのキャッシュメモリを有する第2のプロセッサと、
前記第1のプロセッサおよび前記第2のプロセッサに結合されるチップセットと、
前記チップセットに結合されるDRAM(ダイナミックランダムアクセスメモリ)と、
を備え、
前記チップセットは、
前記キャッシュメモリのうちの1つのキャッシュのキャッシュラインにそれぞれ対応付けられたエントリを格納するスヌープフィルタと、
前記スヌープフィルタに結合され、前記第1のプロセッサおよび前記第2のプロセッサが、退避させられるスヌープフィルタエントリに対応するキャッシュラインのインバリデーションライトバックトランザクションを送信する可能性がある場合、前記スヌープフィルタから退避させられる前記スヌープフィルタエントリのバックインバリデーショントランザクションを送信しないようにするコヒーレンシーユニットと、
前記スヌープフィルタに結合され、前記コヒーレンシーユニットからバックインバリデーショントランザクションが送信される前に、前記スヌープフィルタから退避させられた前記スヌープフィルタエントリを格納する記憶領域と、を有する、
システム。 - 前記コヒーレンシーユニットは、前記スヌープフィルタエントリに対応する前記キャッシュの退避トランザクションを受信すると、退避させられたスヌープフィルタエントリを前記記憶領域に移動させる、請求項16に記載のシステム。
- 前記コヒーレンシーユニットは、前記スヌープフィルタエントリに対応する前記キャッシュラインのインバリデーションライトバックトランザクションを受信すると、前記バックインバリデーショントランザクションを送信せずに、前記スヌープフィルタエントリを前記記憶領域から削除する、請求項17に記載のシステム。
- 前記コヒーレンシーユニットは、前記退避トランザクションにおける行ヒント情報に少なくとも一部に基づき、前記インバリデーションライトバックトランザクションが起こり得ることを決定する、請求項18に記載のシステム。
- 前記スヌープフィルタエントリが前記記憶領域内に予め決められた期間存在する場合、前記コヒーレンシーユニットは、前記バックインバリデーショントランザクションを送信する、請求項16から19のいずれか一項に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/156,340 | 2008-05-30 | ||
US12/156,340 US8015365B2 (en) | 2008-05-30 | 2008-05-30 | Reducing back invalidation transactions from a snoop filter |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009295156A JP2009295156A (ja) | 2009-12-17 |
JP4960989B2 true JP4960989B2 (ja) | 2012-06-27 |
Family
ID=40863041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009124745A Expired - Fee Related JP4960989B2 (ja) | 2008-05-30 | 2009-05-22 | インバリデーショントランザクションのスヌープフィルタからの削除 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8015365B2 (ja) |
JP (1) | JP4960989B2 (ja) |
CN (2) | CN101593160B (ja) |
DE (1) | DE102009022151B4 (ja) |
GB (1) | GB2460337B (ja) |
TW (1) | TWI410796B (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7779210B2 (en) * | 2007-10-31 | 2010-08-17 | Intel Corporation | Avoiding snoop response dependency |
US9448938B2 (en) | 2010-06-09 | 2016-09-20 | Micron Technology, Inc. | Cache coherence protocol for persistent memories |
US8694737B2 (en) | 2010-06-09 | 2014-04-08 | Micron Technology, Inc. | Persistent memory for processor main memory |
GB2484088B (en) * | 2010-09-28 | 2019-08-07 | Advanced Risc Mach Ltd | Coherency control with writeback ordering |
US8613074B2 (en) | 2010-09-30 | 2013-12-17 | Micron Technology, Inc. | Security protection for memory content of processor main memory |
US8489822B2 (en) | 2010-11-23 | 2013-07-16 | Intel Corporation | Providing a directory cache for peripheral devices |
US8635411B2 (en) | 2011-07-18 | 2014-01-21 | Arm Limited | Data processing apparatus and method for managing coherency of cached data |
US9477600B2 (en) | 2011-08-08 | 2016-10-25 | Arm Limited | Apparatus and method for shared cache control including cache lines selectively operable in inclusive or non-inclusive mode |
US8935485B2 (en) | 2011-08-08 | 2015-01-13 | Arm Limited | Snoop filter and non-inclusive shared cache memory |
US9563560B2 (en) | 2012-09-28 | 2017-02-07 | Qualcomm Technologies, Inc. | Adaptive tuning of snoops |
US9639469B2 (en) * | 2012-09-28 | 2017-05-02 | Qualcomm Technologies, Inc. | Coherency controller with reduced data buffer |
US9507716B2 (en) | 2014-08-26 | 2016-11-29 | Arm Limited | Coherency checking of invalidate transactions caused by snoop filter eviction in an integrated circuit |
US9639470B2 (en) | 2014-08-26 | 2017-05-02 | Arm Limited | Coherency checking of invalidate transactions caused by snoop filter eviction in an integrated circuit |
US9727466B2 (en) | 2014-08-26 | 2017-08-08 | Arm Limited | Interconnect and method of managing a snoop filter for an interconnect |
US9489305B2 (en) | 2014-12-16 | 2016-11-08 | Qualcomm Incorporated | System and method for managing bandwidth and power consumption through data filtering |
US11237965B2 (en) * | 2014-12-31 | 2022-02-01 | Arteris, Inc. | Configurable snoop filters for cache coherent systems |
US10157133B2 (en) * | 2015-12-10 | 2018-12-18 | Arm Limited | Snoop filter for cache coherency in a data processing system |
US9900260B2 (en) | 2015-12-10 | 2018-02-20 | Arm Limited | Efficient support for variable width data channels in an interconnect network |
GB2548387B (en) * | 2016-03-17 | 2020-04-01 | Advanced Risc Mach Ltd | An apparatus and method for filtering transactions |
US9990292B2 (en) | 2016-06-29 | 2018-06-05 | Arm Limited | Progressive fine to coarse grain snoop filter |
US11200177B2 (en) * | 2016-09-01 | 2021-12-14 | Arm Limited | Cache retention data management |
US10042766B1 (en) | 2017-02-02 | 2018-08-07 | Arm Limited | Data processing apparatus with snoop request address alignment and snoop response time alignment |
US11099871B2 (en) | 2018-07-27 | 2021-08-24 | Vmware, Inc. | Using cache coherent FPGAS to accelerate live migration of virtual machines |
US11126464B2 (en) | 2018-07-27 | 2021-09-21 | Vmware, Inc. | Using cache coherent FPGAS to accelerate remote memory write-back |
US11947458B2 (en) * | 2018-07-27 | 2024-04-02 | Vmware, Inc. | Using cache coherent FPGAS to track dirty cache lines |
US11231949B2 (en) | 2018-07-27 | 2022-01-25 | Vmware, Inc. | Using cache coherent FPGAS to accelerate post-copy migration |
US10761984B2 (en) | 2018-07-27 | 2020-09-01 | Vmware, Inc. | Using cache coherent FPGAS to accelerate remote access |
US10795816B2 (en) * | 2018-07-30 | 2020-10-06 | Slack Technologies, Inc. | Method, apparatus and computer program product for implementing filter cache in a group-based communication platform |
US10761985B2 (en) * | 2018-08-02 | 2020-09-01 | Xilinx, Inc. | Hybrid precise and imprecise cache snoop filtering |
US10657055B1 (en) * | 2018-12-13 | 2020-05-19 | Arm Limited | Apparatus and method for managing snoop operations |
CN112463652B (zh) * | 2020-11-20 | 2022-09-27 | 海光信息技术股份有限公司 | 基于缓存一致性的数据处理方法、装置、处理芯片及服务器 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0600626A1 (en) * | 1992-11-13 | 1994-06-08 | Cyrix Corporation | Coherency for write-back cache in a system designed for write-through cache |
JPH1165929A (ja) * | 1997-08-26 | 1999-03-09 | Kofu Nippon Denki Kk | バスブリッジ回路 |
US6360301B1 (en) * | 1999-04-13 | 2002-03-19 | Hewlett-Packard Company | Coherency protocol for computer cache |
US6598123B1 (en) * | 2000-06-28 | 2003-07-22 | Intel Corporation | Snoop filter line replacement for reduction of back invalidates in multi-node architectures |
US6574710B1 (en) * | 2000-07-31 | 2003-06-03 | Hewlett-Packard Development Company, L.P. | Computer cache system with deferred invalidation |
US6842830B2 (en) * | 2001-03-31 | 2005-01-11 | Intel Corporation | Mechanism for handling explicit writeback in a cache coherent multi-node architecture |
JP3678715B2 (ja) * | 2002-04-24 | 2005-08-03 | エヌイーシーコンピュータテクノ株式会社 | 分散共有メモリ型マルチプロセッサシステム及びそれに用いるタグ制御方法 |
US6959364B2 (en) * | 2002-06-28 | 2005-10-25 | Intel Corporation | Partially inclusive snoop filter |
US7093079B2 (en) * | 2002-12-17 | 2006-08-15 | Intel Corporation | Snoop filter bypass |
US7143246B2 (en) * | 2004-01-16 | 2006-11-28 | International Business Machines Corporation | Method for supporting improved burst transfers on a coherent bus |
US7373466B1 (en) * | 2004-04-07 | 2008-05-13 | Advanced Micro Devices, Inc. | Method and apparatus for filtering memory write snoop activity in a distributed shared memory computer |
US9727468B2 (en) * | 2004-09-09 | 2017-08-08 | Intel Corporation | Resolving multi-core shared cache access conflicts |
US7305524B2 (en) * | 2004-10-08 | 2007-12-04 | International Business Machines Corporation | Snoop filter directory mechanism in coherency shared memory system |
US20070094450A1 (en) * | 2005-10-26 | 2007-04-26 | International Business Machines Corporation | Multi-level cache architecture having a selective victim cache |
US7757045B2 (en) * | 2006-03-13 | 2010-07-13 | Intel Corporation | Synchronizing recency information in an inclusive cache hierarchy |
US7962694B2 (en) * | 2006-03-31 | 2011-06-14 | Intel Corporation | Partial way hint line replacement algorithm for a snoop filter |
US7383398B2 (en) * | 2006-03-31 | 2008-06-03 | Intel Corporation | Preselecting E/M line replacement technique for a snoop filter |
US20070233965A1 (en) * | 2006-03-31 | 2007-10-04 | Kai Cheng | Way hint line replacement algorithm for a snoop filter |
US7581068B2 (en) * | 2006-06-29 | 2009-08-25 | Intel Corporation | Exclusive ownership snoop filter |
US8055851B2 (en) | 2006-12-14 | 2011-11-08 | Intel Corporation | Line swapping scheme to reduce back invalidations in a snoop filter |
-
2008
- 2008-05-30 US US12/156,340 patent/US8015365B2/en not_active Expired - Fee Related
-
2009
- 2009-05-20 DE DE102009022151.4A patent/DE102009022151B4/de not_active Expired - Fee Related
- 2009-05-21 TW TW098116908A patent/TWI410796B/zh not_active IP Right Cessation
- 2009-05-22 JP JP2009124745A patent/JP4960989B2/ja not_active Expired - Fee Related
- 2009-05-27 CN CN200910145575.1A patent/CN101593160B/zh not_active Expired - Fee Related
- 2009-05-27 GB GB0909103A patent/GB2460337B/en active Active
- 2009-05-27 CN CN201310739178.3A patent/CN103714015B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8015365B2 (en) | 2011-09-06 |
CN103714015B (zh) | 2017-01-18 |
TW201009578A (en) | 2010-03-01 |
US20090300289A1 (en) | 2009-12-03 |
TWI410796B (zh) | 2013-10-01 |
DE102009022151B4 (de) | 2018-09-06 |
CN101593160A (zh) | 2009-12-02 |
GB2460337B (en) | 2010-12-15 |
CN103714015A (zh) | 2014-04-09 |
GB0909103D0 (en) | 2009-07-01 |
GB2460337A (en) | 2009-12-02 |
CN101593160B (zh) | 2014-02-05 |
JP2009295156A (ja) | 2009-12-17 |
DE102009022151A1 (de) | 2010-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4960989B2 (ja) | インバリデーショントランザクションのスヌープフィルタからの削除 | |
US10078592B2 (en) | Resolving multi-core shared cache access conflicts | |
US7281092B2 (en) | System and method of managing cache hierarchies with adaptive mechanisms | |
US6330643B1 (en) | Cache coherency protocols with global and local posted operations | |
US7581068B2 (en) | Exclusive ownership snoop filter | |
US6145059A (en) | Cache coherency protocols with posted operations and tagged coherency states | |
US9170946B2 (en) | Directory cache supporting non-atomic input/output operations | |
US9189403B2 (en) | Selective cache-to-cache lateral castouts | |
US7827357B2 (en) | Providing an inclusive shared cache among multiple core-cache clusters | |
US6574710B1 (en) | Computer cache system with deferred invalidation | |
US20060184743A1 (en) | Cache memory direct intervention | |
US20100235584A1 (en) | Lateral Castout (LCO) Of Victim Cache Line In Data-Invalid State | |
JP2000250812A (ja) | メモリ・キャッシュ・システムおよびその管理方法 | |
JP2007257637A (ja) | アクセラレータ用低コストのキャッシュ一貫性を維持する方法及びシステム | |
US20090006668A1 (en) | Performing direct data transactions with a cache memory | |
US9164910B2 (en) | Managing the storage of data in coherent data stores | |
US7380068B2 (en) | System and method for contention-based cache performance optimization | |
US6418514B1 (en) | Removal of posted operations from cache operations queue | |
US7779210B2 (en) | Avoiding snoop response dependency | |
US6601145B2 (en) | Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers that uses dynamic hardware/software controls | |
US6347361B1 (en) | Cache coherency protocols with posted operations | |
US6345340B1 (en) | Cache coherency protocol with ambiguous state for posted operations | |
US8489822B2 (en) | Providing a directory cache for peripheral devices | |
US6546468B2 (en) | Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers performing directory update | |
US6546469B2 (en) | Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120210 |
|
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: 20120306 |
|
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: 20120323 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150330 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 |