JP6022849B2 - 共有キャッシュメモリ制御 - Google Patents
共有キャッシュメモリ制御 Download PDFInfo
- Publication number
- JP6022849B2 JP6022849B2 JP2012174725A JP2012174725A JP6022849B2 JP 6022849 B2 JP6022849 B2 JP 6022849B2 JP 2012174725 A JP2012174725 A JP 2012174725A JP 2012174725 A JP2012174725 A JP 2012174725A JP 6022849 B2 JP6022849 B2 JP 6022849B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- transaction
- cache memory
- cache line
- shared
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims description 186
- 230000008859 change Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 4
- 238000003672 processing method Methods 0.000 claims description 2
- 230000003068 static effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000001693 membrane extraction with a sorbent interface Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- 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
-
- 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/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- 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/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
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つを、
(i)包括的モード、および
(ii)非包括的モード、
のうちの個別に選択可能な1つにしたがって記憶するように動作するように構成された、データを処理するための装置を提供する。
その各々が、データを記憶するためのローカルキャッシュメモリ手段を有する、トランザクションを生成するための複数のトランザクションソース手段と、
データを記憶するための、前述の複数のトランザクションソース手段に接続された共有キャッシュメモリ手段と、
を備え、
前述の共有キャッシュメモリ手段は、記憶されたデータの各キャッシュライン、または記憶されたデータのキャッシュラインの各範囲のうちの少なくとも1つを、
(i)包括的モード、および
(ii)非包括的モード、
のうちの個別に選択可能な1つにしたがって記憶するように動作するように構成された、データ処理装置を提供する。
複数のトランザクションソースとのトランザクションを生成することと、
それぞれのデータを、前記複数のトランザクションソースのそれぞれのローカルキャッシュメモリに記憶することと、
データを、前記複数のトランザクションソースに接続された共有キャッシュメモリに記憶することと、
記憶されたデータの各キャッシュライン、または記憶されたデータのキャッシュラインの各範囲のうちの少なくとも1つを、
(i)包括的モード、および
(ii)非包括的モード、
のうちの個別に選択可能な1つにしたがって記憶するように、前記共有キャッシュメモリおよび前記ローカルキャッシュメモリを操作することと、
を含む、データ処理方法を提供する。
4 システムオンチップ集積回路
6 メインメモリ
8、10、12 プロセッサクラスタ
14 メモリコントローラ
16 入出力装置
18 共有キャッシュメモリ
20 リング型相互接続
22 キャッシュコントローラ
24 スヌープ生成回路
26 キャッシュアレイ
28 キャッシュライン
30 一意的状態データ
32 トランザクションソース特定データ
Claims (24)
- その各々がローカルキャッシュメモリを有する、複数のトランザクションソースと、
前記複数のトランザクションソースに接続された共有キャッシュメモリと、
を備え、
前記共有キャッシュメモリは、記憶された各データのキャッシュライン、または記憶されたデータのキャッシュラインの各範囲のうちの少なくとも1つを、
(i)包括的モード、および
(ii)非包括的モード、
のうちの個別に選択可能な1つにしたがって記憶するように動作するように構成された、データ処理装置。 - 前記共有キャッシュメモリに記憶された状態データは、データのキャッシュラインが、前記包括的モード、または前記非包括的モードのどちらで、記憶されたかを示す、請求項1に記載の装置。
- 前記共有キャッシュメモリは、前記共有キャッシュメモリに記憶された各データのキャッシュラインに対する一意的状態データを記憶するように構成され、前記複数のトランザクションソースのうちの所与の1つと関連付けられ、前記一意的状態データは、前記データのキャッシュラインが前記複数のトランザクションソースのうちの任意の他のローカルキャッシュメモリに記憶されているかどうかを示す、請求項2に記載の装置。
- 前記共有キャッシュメモリは、データのキャッシュラインと関連付けられた前記複数のトランザクションソースのうちの1つまたは複数を特定する、前記データのキャッシュラインに対するトランザクションソース特定データを記憶するように構成された、請求項3に記載の装置。
- 前記トランザクションソース特定データは、前記複数のトランザクションソースのうちの単一のトランザクションソースを特定する、請求項4に記載の装置。
- 前記トランザクションソース特定データは、前記複数のトランザクションソースのうちの適切な部分集合の最大までのトランザクションソースを特定する、請求項4に記載の装置。
- 前記共有キャッシュメモリは、前記一意的状態データに依存してスヌープ要求を生成するスヌープ要求生成回路を含む、請求項3に記載の装置。
- 前記共有キャッシュメモリは、前記トランザクションが前記共有キャッシュメモリ内でヒットし且つ前記非包括的モードで記憶されている場合、他のトランザクションソースに対する任意のスヌープ要求の生成を抑制するために、前記複数のトランザクションソースのうちの1つから受け取られたデータのキャッシュラインに対するトランザクション要求に応答するように構成されたスヌープ要求生成回路を含む、請求項3に記載の装置。
- 前記共有キャッシュメモリは、前記データのキャッシュラインが前記包括的モードで記憶されていることを前記一意的状態データが示す場合、あらゆるスヌープ要求の生成の対象を、前記トランザクションソース特定データにより特定されたトランザクションソースに絞るために、前記複数のトランザクションソースのうちの1つから受け取られたデータのキャッシュラインであって、前記共有キャッシュメモリにおいてヒットするデータのキャッシュラインに対するトランザクション要求に応答するように構成されたスヌープ要求生成回路を備える、請求項5に記載の装置。
- 前記共有キャッシュメモリは、前記非包括的モードで前記共有キャッシュメモリに記憶されたデータのキャッシュラインにヒットするトランザクションソースから1つまたは複数の所定の種別のトランザクションを受け取ることに対して、前記データのキャッシュラインを前記非包括的モードで記憶することから、前記データのキャッシュラインを前記包括的モードで記憶することに切り換えることにより応答するように構成された、請求項3に記載の装置。
- 前記前記1つまたは複数の所定の種別は、前記データのキャッシュラインをローカルキャッシュメモリに読み込んだ後、前記ローカルキャッシュメモリに記憶された前記データのキャッシュラインに変更を加えないトランザクションを含む、請求項10に記載の装置。
- 前記共有キャッシュメモリは、異なるトランザクションソースにより前記共有キャッシュメモリに記憶されたデータのキャッシュラインにヒットする所与のトランザクションソースから、変更を加えない読み込みトランザクションを受け取ることに対して、前記データのキャッシュラインを、前記所与のトランザクションソースのローカルキャッシュメモリに記憶するために、前記所与のトランザクションソースに戻すことにより、前記データのキャッシュラインを、前記共有キャッシュメモリ内に記憶された状態に保つことと、前記データのキャッシュラインが複数のトランザクションソースと関連付けられて記憶されていることを示すように、前記データのキャッシュラインに対する前記一意的状態データを設定することとにより応答するように構成された、請求項3に記載の装置。
- 前記共有キャッシュメモリは、前記共有キャッシュメモリにおいてミスする所与のトランザクションソースであって、異なるトランザクションソースのローカルキャッシュメモリに記憶されたデータのキャッシュラインにヒットする所与のトランザクションソースから、変更を加えない読み込みトランザクションを受け取ることに対して、前記データのキャッシュラインを、前記所与のトランザクションソースのローカルキャッシュメモリに記憶するために、前記所与のトランザクションソースへと戻すことにより、前記データのキャッシュラインを、前記異なるトランザクションソースの前記ローカルキャッシュメモリ内に記憶された状態に保つことと、前記データのキャッシュラインを前記共有キャッシュメモリに記憶することと、前記データのキャッシュラインが複数のトランザクションソースと関連付けられて記憶されていることを示すように、前記データのキャッシュラインに対する前記一意的状態データを設定することとにより応答するように構成された、請求項3に記載の装置。
- 前記非包括的モードは、データのキャッシュラインを記憶するためのデフォルトのモードであり、前記共有キャッシュメモリにおけるデータのキャッシュラインに対するミスは、前記データのキャッシュラインを、前記共有キャッシュメモリにではなく、前記データのキャッシュラインに対する要求を発したトランザクションソースのローカルキャッシュメモリに、デフォルトで記憶する、請求項1に記載の装置。
- 前記共有キャッシュメモリは、前記共有キャッシュメモリにおいてミスするトランザクションソースから、1つまたは複数の所定の種別のトランザクションを受け取ることに対して、前記データのキャッシュラインを前記包括的モードで前記共有キャッシュメモリに記憶するように応答するように構成された、請求項14に記載の装置。
- 前記トランザクションソースはローカルキャッシュメモリを有さず、前記1つまたは複数の所定の種別は、
(i)前記データのキャッシュラインの一部分に対する書き込み一意的トランザクションと、
(ii)前記データのキャッシュラインの全部に対する書き込み一意的トランザクションと、
(iii)戻されたデータのキャッシュラインが後で再利用されない、前記データのキャッシュラインの読み出しワンストランザクションと、
のうちの1つまたは複数を含む、請求項15に記載の装置。 - ローカルキャッシュメモリを有しない前記トランザクションソースは入出力回路である、請求項16に記載の装置。
- 前記トランザクションソースはローカルキャッシュメモリを有し、前記1つまたは複数の所定の種別は、共有されるものとしておよび変更が加えられないものとしてマークされたデータのキャッシュラインに対する読み込みトランザクションを含み、前記データのキャッシュラインは前記共有キャッシュメモリおよび前記トランザクションソースの前記ローカルキャッシュメモリに記憶される、請求項15に記載の装置。
- 前記複数のトランザクションソースは1つまたは複数のプロセッサコアを含む、請求項1に記載の装置。
- 前記ローカルキャッシュメモリはL1キャッシュメモリおよびL2キャッシュメモリを含む、請求項1に記載の装置。
- 前記共有キャッシュメモリはL3キャッシュメモリである、請求項1に記載の装置。
- 前記複数のトランザクションソースはリング型相互接続回路に接続された、請求項1に記載の装置。
- その各々がデータを記憶するためのローカルキャッシュメモリ手段を有する、トランザクションを生成するための複数のトランザクションソース手段と、
データを記憶するための共有キャッシュメモリ手段であって、前記複数のトランザクションソースに接続された共有キャッシュメモリ手段と、
を備え、
前記共有キャッシュメモリ手段は、記憶された各データのキャッシュライン、または記憶されたデータのキャッシュラインの各範囲のうちの少なくとも1つを、
(i)包括的モード、および
(ii)非包括的モード、
のうちの個別に選択可能な1つにしたがって、記憶するように動作するように構成された、データ処理装置。 - 複数のトランザクションソースとのトランザクションを生成するステップと、
それぞれのデータを、前記複数のトランザクションソースのうちのそれぞれのトランザクションソースのローカルキャッシュメモリに記憶するステップと、
データを、前記複数のトランザクションソースに接続された共有キャッシュメモリに記憶するステップと、
記憶されたデータの各キャッシュライン、または記憶されたデータのキャッシュライン各範囲のうちの少なくとも1つを、
(i)包括的モード、および
(ii)非包括的モード
のうちの個別に選択可能な1つにしたがって記憶するように、前記共有キャッシュメモリおよび前記ローカルキャッシュメモリを動作させるステップと、
を含む、データ処理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/137,357 | 2011-08-08 | ||
US13/137,357 US9477600B2 (en) | 2011-08-08 | 2011-08-08 | Apparatus and method for shared cache control including cache lines selectively operable in inclusive or non-inclusive mode |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013037694A JP2013037694A (ja) | 2013-02-21 |
JP6022849B2 true JP6022849B2 (ja) | 2016-11-09 |
Family
ID=46605601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012174725A Active JP6022849B2 (ja) | 2011-08-08 | 2012-08-07 | 共有キャッシュメモリ制御 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9477600B2 (ja) |
JP (1) | JP6022849B2 (ja) |
CN (1) | CN102929797B (ja) |
GB (1) | GB2493592B (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9058269B2 (en) * | 2012-06-25 | 2015-06-16 | Advanced Micro Devices, Inc. | Method and apparatus including a probe filter for shared caches utilizing inclusion bits and a victim probe bit |
CN102789427B (zh) * | 2012-07-17 | 2015-11-25 | 威盛电子股份有限公司 | 数据储存装置与其操作方法 |
US20140095806A1 (en) * | 2012-09-29 | 2014-04-03 | Carlos A. Flores Fajardo | Configurable snoop filter architecture |
US9195658B2 (en) * | 2012-12-12 | 2015-11-24 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Managing direct attached cache and remote shared cache |
US9378148B2 (en) | 2013-03-15 | 2016-06-28 | Intel Corporation | Adaptive hierarchical cache policy in a microprocessor |
CN109240945B (zh) * | 2014-03-26 | 2023-06-06 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及处理器 |
US9436972B2 (en) * | 2014-03-27 | 2016-09-06 | Intel Corporation | System coherency in a distributed graphics processor hierarchy |
US9886382B2 (en) | 2014-11-20 | 2018-02-06 | International Business Machines Corporation | Configuration based cache coherency protocol selection |
US9727464B2 (en) | 2014-11-20 | 2017-08-08 | International Business Machines Corporation | Nested cache coherency protocol in a tiered multi-node computer system |
CN104679669B (zh) | 2014-11-27 | 2018-04-27 | 华为技术有限公司 | 高速缓存cache存储器系统及访问缓存行cache line的方法 |
US10157133B2 (en) * | 2015-12-10 | 2018-12-18 | Arm Limited | Snoop filter for cache coherency in a data processing system |
US10591977B2 (en) | 2015-12-10 | 2020-03-17 | Arm Limited | Segregated power state control in a distributed cache system |
US9900260B2 (en) | 2015-12-10 | 2018-02-20 | Arm Limited | Efficient support for variable width data channels in an interconnect network |
US10261722B2 (en) * | 2016-01-22 | 2019-04-16 | International Business Machines Corporation | Performing caching utilizing dispersed system buffers |
GB2548387B (en) * | 2016-03-17 | 2020-04-01 | Advanced Risc Mach Ltd | An apparatus and method for filtering transactions |
US10007606B2 (en) * | 2016-03-30 | 2018-06-26 | Intel Corporation | Implementation of reserved cache slots in computing system having inclusive/non inclusive tracking and two level system memory |
GB2551529B (en) * | 2016-06-21 | 2018-09-12 | Advanced Risc Mach Ltd | Switching between private cache and shared memory to handle atomic operations |
US9990292B2 (en) * | 2016-06-29 | 2018-06-05 | Arm Limited | Progressive fine to coarse grain snoop filter |
US10275280B2 (en) * | 2016-08-10 | 2019-04-30 | International Business Machines Corporation | Reserving a core of a processor complex for a critical task |
US10248457B2 (en) | 2016-08-10 | 2019-04-02 | International Business Machines Corporation | Providing exclusive use of cache associated with a processing entity of a processor complex to a selected task |
US10223164B2 (en) | 2016-10-24 | 2019-03-05 | International Business Machines Corporation | Execution of critical tasks based on the number of available processing entities |
US10248464B2 (en) | 2016-10-24 | 2019-04-02 | International Business Machines Corporation | Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex |
US10042766B1 (en) | 2017-02-02 | 2018-08-07 | Arm Limited | Data processing apparatus with snoop request address alignment and snoop response time alignment |
US10915330B2 (en) * | 2017-12-19 | 2021-02-09 | Advanced Micro Devices, Inc. | Pseudo-random logical to physical core assignment at boot for age averaging |
TWI697902B (zh) | 2019-01-24 | 2020-07-01 | 瑞昱半導體股份有限公司 | 電子裝置及電子裝置的管理方法 |
TWI739430B (zh) * | 2019-01-24 | 2021-09-11 | 瑞昱半導體股份有限公司 | 快取記憶體及快取記憶體的管理方法 |
US11550720B2 (en) | 2020-11-24 | 2023-01-10 | Arm Limited | Configurable cache coherency controller |
US20230305968A1 (en) * | 2022-03-28 | 2023-09-28 | Microsoft Technology Licensing, Llc | Cache replacement policy optimization for producer-consumer flows |
Family Cites Families (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5055999A (en) | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
US5291442A (en) | 1990-10-31 | 1994-03-01 | International Business Machines Corporation | Method and apparatus for dynamic cache line sectoring in multiprocessor systems |
US5682516A (en) | 1994-03-01 | 1997-10-28 | Intel Corporation | Computer system that maintains system wide cache coherency during deferred communication transactions |
JP3787155B2 (ja) | 1995-03-17 | 2006-06-21 | インテル・コーポレーション | ローカル・バス上の多重プロセッシング・キャッシュ・コヒーレンシ・プロトコル |
US5623632A (en) | 1995-05-17 | 1997-04-22 | International Business Machines Corporation | System and method for improving multilevel cache performance in a multiprocessing system |
US5813034A (en) | 1996-01-25 | 1998-09-22 | Unisys Corporation | Method and circuitry for modifying data words in a multi-level distributed data processing system |
US5829033A (en) | 1996-07-01 | 1998-10-27 | Sun Microsystems, Inc. | Optimizing responses in a coherent distributed electronic system including a computer system |
US5864671A (en) | 1996-07-01 | 1999-01-26 | Sun Microsystems, Inc. | Hybrid memory access protocol for servicing memory access request by ascertaining whether the memory block is currently cached in determining which protocols to be used |
US5926830A (en) | 1996-10-07 | 1999-07-20 | International Business Machines Corporation | Data processing system and method for maintaining coherency between high and low level caches using inclusive states |
US5809536A (en) | 1996-12-09 | 1998-09-15 | Intel Corporation, Inc. | Method for reducing the number of coherency cycles within a directory-based cache coherency memory system uitilizing a memory state cache |
US6260117B1 (en) | 1997-09-18 | 2001-07-10 | International Business Machines Corporation | Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency |
US6052760A (en) | 1997-11-05 | 2000-04-18 | Unisys Corporation | Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks |
EP1029281B1 (en) * | 1997-11-05 | 2004-01-28 | Unisys Corporation | A directory-based cache coherency system |
US6351791B1 (en) | 1998-06-25 | 2002-02-26 | International Business Machines Corporation | Circuit arrangement and method of maintaining cache coherence utilizing snoop response collection logic that disregards extraneous retry responses |
US6324622B1 (en) | 1998-08-24 | 2001-11-27 | International Business Machines Corporation | 6XX bus with exclusive intervention |
US6343347B1 (en) | 1999-08-04 | 2002-01-29 | International Business Machines Corporation | Multiprocessor system bus with cache state and LRU snoop responses for read/castout (RCO) address transaction |
US6353875B1 (en) | 1999-08-04 | 2002-03-05 | International Business Machines Corporation | Upgrading of snooper cache state mechanism for system bus with read/castout (RCO) address transactions |
US6502171B1 (en) | 1999-08-04 | 2002-12-31 | International Business Machines Corporation | Multiprocessor system bus with combined snoop responses explicitly informing snoopers to scarf data |
US6338124B1 (en) | 1999-08-04 | 2002-01-08 | International Business Machines Corporation | Multiprocessor system bus with system controller explicitly updating snooper LRU information |
US6275909B1 (en) | 1999-08-04 | 2001-08-14 | International Business Machines Corporation | Multiprocessor system bus with system controller explicitly updating snooper cache state information |
US6587930B1 (en) | 1999-09-23 | 2003-07-01 | International Business Machines Corporation | Method and system for implementing remstat protocol under inclusion and non-inclusion of L1 data in L2 cache to prevent read-read deadlock |
US6848003B1 (en) | 1999-11-09 | 2005-01-25 | International Business Machines Corporation | Multi-node data processing system and communication protocol that route write data utilizing a destination ID obtained from a combined response |
US6314498B1 (en) * | 1999-11-09 | 2001-11-06 | International Business Machines Corporation | Multiprocessor system bus transaction for transferring exclusive-deallocate cache state to lower lever cache |
US6519685B1 (en) | 1999-12-22 | 2003-02-11 | Intel Corporation | Cache states for multiprocessor cache coherency protocols |
US6810467B1 (en) | 2000-08-21 | 2004-10-26 | Intel Corporation | Method and apparatus for centralized snoop filtering |
US6651145B1 (en) | 2000-09-29 | 2003-11-18 | Intel Corporation | Method and apparatus for scalable disambiguated coherence in shared storage hierarchies |
US6571322B2 (en) | 2000-12-28 | 2003-05-27 | International Business Machines Corporation | Multiprocessor computer system with sectored cache line mechanism for cache intervention |
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 |
US6763434B2 (en) | 2000-12-30 | 2004-07-13 | International Business Machines Corporation | Data processing system and method for resolving a conflict between requests to modify a shared cache line |
US6754782B2 (en) | 2001-06-21 | 2004-06-22 | International Business Machines Corporation | Decentralized global coherency management in a multi-node computer system |
US6760819B2 (en) | 2001-06-29 | 2004-07-06 | International Business Machines Corporation | Symmetric multiprocessor coherence mechanism |
US20040103248A1 (en) * | 2002-10-08 | 2004-05-27 | Hass David T. | Advanced telecommunications processor |
US6954829B2 (en) | 2002-12-19 | 2005-10-11 | Intel Corporation | Non-speculative distributed conflict resolution for a cache coherency protocol |
US6928522B2 (en) * | 2003-01-07 | 2005-08-09 | Hewlett-Packard Development Company, L.P. | Unbalanced inclusive tags |
US20040199727A1 (en) | 2003-04-02 | 2004-10-07 | Narad Charles E. | Cache allocation |
US7337279B2 (en) | 2003-06-27 | 2008-02-26 | Newisys, Inc. | Methods and apparatus for sending targeted probes |
US7325102B1 (en) | 2003-11-17 | 2008-01-29 | Sun Microsystems, Inc. | Mechanism and method for cache snoop filtering |
US7962696B2 (en) | 2004-01-15 | 2011-06-14 | Hewlett-Packard Development Company, L.P. | System and method for updating owner predictors |
US7266642B2 (en) | 2004-02-17 | 2007-09-04 | International Business Machines Corporation | Cache residence prediction |
US7321956B2 (en) | 2004-03-25 | 2008-01-22 | International Business Machines Corporation | Method and apparatus for directory-based coherence with distributed directory management utilizing prefetch caches |
US20060053258A1 (en) | 2004-09-08 | 2006-03-09 | Yen-Cheng Liu | Cache filtering using core indicators |
US7991966B2 (en) | 2004-12-29 | 2011-08-02 | Intel Corporation | Efficient usage of last level caches in a MCMP system using application level configuration |
US7404046B2 (en) | 2005-02-10 | 2008-07-22 | International Business Machines Corporation | Cache memory, processing unit, data processing system and method for filtering snooped operations |
US7523265B2 (en) | 2005-03-18 | 2009-04-21 | International Business Machines Corporation | Systems and arrangements for promoting a line to exclusive in a fill buffer of a cache |
US7386685B2 (en) | 2005-03-29 | 2008-06-10 | International Busniess Machines Corporation | Method and apparatus for filtering snoop requests using multiple snoop caches |
US7237070B2 (en) | 2005-04-19 | 2007-06-26 | International Business Machines Corporation | Cache memory, processing unit, data processing system and method for assuming a selected invalid coherency state based upon a request source |
US20070038814A1 (en) * | 2005-08-10 | 2007-02-15 | International Business Machines Corporation | Systems and methods for selectively inclusive cache |
JP5319049B2 (ja) * | 2005-08-22 | 2013-10-16 | 富士通セミコンダクター株式会社 | キャッシュシステム |
US7370155B2 (en) | 2005-10-06 | 2008-05-06 | International Business Machines Corporation | Chained cache coherency states for sequential homogeneous access to a cache line with outstanding data response |
US7551572B2 (en) | 2005-10-21 | 2009-06-23 | Isilon Systems, Inc. | Systems and methods for providing variable protection |
US20070143550A1 (en) | 2005-12-19 | 2007-06-21 | Intel Corporation | Per-set relaxation of cache inclusion |
JP4848771B2 (ja) | 2006-01-04 | 2011-12-28 | 株式会社日立製作所 | キャッシュ一貫性制御方法およびチップセットおよびマルチプロセッサシステム |
WO2007099583A1 (ja) | 2006-02-28 | 2007-09-07 | Fujitsu Limited | システムコントローラおよびキャッシュ制御方法 |
US7640399B1 (en) | 2006-05-10 | 2009-12-29 | Advanced Micro Devices, Inc. | Mostly exclusive shared cache management policies |
US7581068B2 (en) * | 2006-06-29 | 2009-08-25 | Intel Corporation | Exclusive ownership snoop filter |
US7774551B2 (en) | 2006-10-06 | 2010-08-10 | Hewlett-Packard Development Company, L.P. | Hierarchical cache coherence directory structure |
US20080183972A1 (en) | 2007-01-26 | 2008-07-31 | James Norris Dieffenderfer | Snoop Filtering Using a Snoop Request Cache |
US7730266B2 (en) | 2007-03-31 | 2010-06-01 | Intel Corporation | Adaptive range snoop filtering methods and apparatuses |
US8661208B2 (en) * | 2007-04-11 | 2014-02-25 | Hewlett-Packard Development Company, L.P. | Non-inclusive cache systems and methods |
US20080270708A1 (en) | 2007-04-30 | 2008-10-30 | Craig Warner | System and Method for Achieving Cache Coherency Within Multiprocessor Computer System |
US20080288725A1 (en) | 2007-05-14 | 2008-11-20 | Moyer William C | Method and apparatus for cache transactions in a data processing system |
US7702858B2 (en) * | 2007-06-05 | 2010-04-20 | Apple Inc. | Latency reduction for cache coherent bus-based cache |
US7870337B2 (en) | 2007-11-28 | 2011-01-11 | International Business Machines Corporation | Power-aware line intervention for a multiprocessor snoop coherency protocol |
US8108619B2 (en) | 2008-02-01 | 2012-01-31 | International Business Machines Corporation | Cache management for partial cache line operations |
US7958309B2 (en) | 2008-02-01 | 2011-06-07 | International Business Machines Corporation | Dynamic selection of a memory access size |
US8667226B2 (en) | 2008-03-24 | 2014-03-04 | Freescale Semiconductor, Inc. | Selective interconnect transaction control for cache coherency maintenance |
JP2009252165A (ja) * | 2008-04-10 | 2009-10-29 | Toshiba Corp | マルチプロセッサシステム |
US8015365B2 (en) | 2008-05-30 | 2011-09-06 | Intel Corporation | Reducing back invalidation transactions from a snoop filter |
US8103834B2 (en) * | 2008-10-29 | 2012-01-24 | Oracle America, Inc. | Coherence protocol with dynamic privatization |
US8117397B2 (en) | 2008-12-16 | 2012-02-14 | International Business Machines Corporation | Victim cache line selection |
US8225045B2 (en) | 2008-12-16 | 2012-07-17 | International Business Machines Corporation | Lateral cache-to-cache cast-in |
US8489819B2 (en) | 2008-12-19 | 2013-07-16 | International Business Machines Corporation | Victim cache lateral castout targeting |
US8949540B2 (en) | 2009-03-11 | 2015-02-03 | International Business Machines Corporation | Lateral castout (LCO) of victim cache line in data-invalid state |
US8285939B2 (en) | 2009-04-08 | 2012-10-09 | International Business Machines Corporation | Lateral castout target selection |
US8327073B2 (en) | 2009-04-09 | 2012-12-04 | International Business Machines Corporation | Empirically based dynamic control of acceptance of victim cache lateral castouts |
US8312220B2 (en) | 2009-04-09 | 2012-11-13 | International Business Machines Corporation | Mode-based castout destination selection |
US8347036B2 (en) | 2009-04-09 | 2013-01-01 | International Business Machines Corporation | Empirically based dynamic control of transmission of victim cache lateral castouts |
US8812796B2 (en) * | 2009-06-26 | 2014-08-19 | Microsoft Corporation | Private memory regions and coherence optimizations |
US8719243B2 (en) | 2010-04-27 | 2014-05-06 | Salesforce.Com, Inc. | Methods and systems for filtering data for interactive display of database data |
-
2011
- 2011-08-08 US US13/137,357 patent/US9477600B2/en active Active
-
2012
- 2012-06-08 GB GB1210115.0A patent/GB2493592B/en active Active
- 2012-08-07 JP JP2012174725A patent/JP6022849B2/ja active Active
- 2012-08-08 CN CN201210290181.7A patent/CN102929797B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US9477600B2 (en) | 2016-10-25 |
US20130042070A1 (en) | 2013-02-14 |
GB201210115D0 (en) | 2012-07-25 |
GB2493592B (en) | 2017-01-25 |
JP2013037694A (ja) | 2013-02-21 |
CN102929797B (zh) | 2017-04-12 |
CN102929797A (zh) | 2013-02-13 |
GB2493592A (en) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6022849B2 (ja) | 共有キャッシュメモリ制御 | |
JP5078396B2 (ja) | 動作のスヌーピングに応答して無効コヒーレンシー状態を更新するデータ処理システム、キャッシュ・システム、および方法 | |
CN107038123B (zh) | 用于数据处理系统中的缓存一致性的探听过滤器 | |
JP4928812B2 (ja) | タグ付きキャッシュ状態に基づいて下位レベル・キャッシュへの参照なしに相互接続ファブリック上にリクエストを送出するためのデータ処理システム、キャッシュ・システム、および方法 | |
US8806148B2 (en) | Forward progress mechanism for stores in the presence of load contention in a system favoring loads by state alteration | |
JP4594900B2 (ja) | メモリ・ブロックを初期設定するためのプロセッサ、データ処理システム、および方法 | |
US7444494B2 (en) | Data processing system and method for predictively selecting a scope of broadcast of an operation utilizing a history-based prediction | |
US7395375B2 (en) | Prefetch miss indicator for cache coherence directory misses on external caches | |
US8108619B2 (en) | Cache management for partial cache line operations | |
US7543116B2 (en) | Data processing system, cache system and method for handling a flush operation in a data processing system having multiple coherency domains | |
US7484042B2 (en) | Data processing system and method for predictively selecting a scope of a prefetch operation | |
US8793442B2 (en) | Forward progress mechanism for stores in the presence of load contention in a system favoring loads | |
US8117401B2 (en) | Interconnect operation indicating acceptability of partial data delivery | |
US7475196B2 (en) | Processor, data processing system, and method for initializing a memory block in a data processing system having multiple coherency domains | |
US20070204110A1 (en) | Data processing system, cache system and method for reducing imprecise invalid coherency states | |
US7958309B2 (en) | Dynamic selection of a memory access size | |
US20090198960A1 (en) | Data processing system, processor and method that support partial cache line reads | |
TWI428754B (zh) | 以主動式預取寬度執行加強式停懸狀態之系統及方法 | |
JP5004571B2 (ja) | 同報通信範囲を示す無効な整合状態を正確に形成するためのデータ処理システム、キャッシュ・システム、および方法 | |
US7467262B2 (en) | Data processing system, cache system and method for scrubbing a domain indication in response to execution of program code | |
US20090198903A1 (en) | Data processing system, processor and method that vary an amount of data retrieved from memory based upon a hint | |
US7475195B2 (en) | Data processing system, cache system and method for actively scrubbing a domain indication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150715 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160829 |
|
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: 20160912 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161006 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6022849 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |