KR20070007865A - 효율적인 이홉(two-hop) 캐시 일관성 프로토콜 - Google Patents
효율적인 이홉(two-hop) 캐시 일관성 프로토콜 Download PDFInfo
- Publication number
- KR20070007865A KR20070007865A KR1020067022561A KR20067022561A KR20070007865A KR 20070007865 A KR20070007865 A KR 20070007865A KR 1020067022561 A KR1020067022561 A KR 1020067022561A KR 20067022561 A KR20067022561 A KR 20067022561A KR 20070007865 A KR20070007865 A KR 20070007865A
- Authority
- KR
- South Korea
- Prior art keywords
- node
- data
- message
- peer
- home
- Prior art date
Links
- 230000015654 memory Effects 0.000 claims description 53
- 238000000034 method Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 2
- 101100490184 Drosophila melanogaster Ack gene Proteins 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001902 propagating effect 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/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)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
-
- 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
Description
Claims (21)
- 제1 피어 노드(peer node)로부터, 데이터 블록의 사본에 대한 요청을 멀티 노드 시스템(multi-node system)의 다수의 노드로 송신하는 단계;제2 피어 노드로부터, 상기 데이터 블록의 사본을 상기 제1 피어 노드로 송신하고, 수신 확인(acknowledgement)을 홈 노드(home node)로 송신하는 단계; 및상기 홈 노드로부터, 상기 제1 피어 노드로부터의 상기 요청의 완료를 가리키는 완료 메시지를 상기 제1 노드로 송신하는 단계를 포함하는 방법.
- 제1항에 있어서,제1 피어 노드로부터, 다수의 노드로 데이터 블록의 사본에 대한 요청을 송신하는 단계는, 상기 제1 노드로부터 상기 홈 노드로 인-오더 홈 채널(in-order home channel)을 경유하여 상기 요청을 송신하는 단계를 포함하는 방법.
- 제1항에 있어서,상기 제2 피어 노드로부터 상기 제1 피어 노드로 보내진 상기 데이터 블록의 사본은 데이터 블록의 배타적 사본인 방법.
- 제1 피어 노드로부터, 데이터 블록의 사본에 대한 요청을 멀티 노드 시스템 의 다수의 노드로 송신하는 단계;제2 피어 노드로부터, 상기 데이터 블록의 사본을 상기 제1 피어 노드로 송신하고, 수신 확인을 홈 노드로 송신하는 단계; 및상기 홈 노드로부터, 상기 제1 피어 노드로부터의 상기 요청의 완료를 가리키는 완료 메시지를 상기 제1 노드로 송신하고 상기 데이터 블록의 사본과 관련된 캐시 라인을 할당 해제(de-allocating)하는 단계를 포함하는 방법.
- 제4항에 있어서,제1 피어 노드로부터, 데이터 블록의 사본에 대한 요청을 다수의 노드로 송신하는 단계는 상기 요청을 상기 제1 노드로부터 상기 홈 노드로 인-오더 홈 채널을 경유하여 송신하는 단계를 포함하는 방법.
- 제4항에 있어서,상기 제2 피어 노드로부터 상기 제1 피어 노드로 보내진 상기 데이터 블록의 사본은 데이터 블록의 배타적 사본인 방법.
- 홈 노드에 연결되고, 복수의 피어 노드 중에서, 상기 홈 노드에 의해, 충돌들을 해소하는데 적어도 부분적으로 기초하는 캐시 일관성 프로토콜에 의해 감독되는 다수의 피어 노드를 포함하고,상기 홈 노드는,모든 복수의 수신 확인 메시지들이 수신되고전송(Xfer) 메시지 또는 전달(Forward) 메시지가 수신되고전송(Xfer) 메시지가 보내지거나 충돌 체인의 최종 메시지인 상황이 발생한다면 충돌 요청을 폐기하고 충돌자(conflictor)를 상기 충돌 체인으로부터 제거하는 시스템.
- 제7항에 있어서,모든 복수의 수신 확인 메시지들이 수신되고모든 복수의 충돌이 발견되고상기 체인 내의 복수의 함께 계류중인 충돌이 전송 또는 전달의 타겟들이 아니고전송(Xfer) 메시지가 보내지거나 상기 충돌 체인의 상기 최종 메시지인 상황이 발생한다면 충돌 요청을 폐기하고 상기 충돌자를 상기 충돌 체인으로부터 제거하는 상기 홈 노드를 더 포함하는 시스템.
- 제7항에 있어서,상기 충돌 메시지는 원래 트랜잭션의 트랜잭션 ID만을 포함하는 시스템.
- 제7항에 있어서,상기 충돌 메시지는 원래 트랜잭션의 트랜잭션 ID와 충돌 트랜잭션의 트랜잭션 ID를 포함하는 시스템.
- 복수의 피어 노드 - 상기 복수의 피어 노드는 홈 노드에 연결됨 - 에 연결되고, 상기 복수의 피어 노드 사이에서, 상기 홈 노드에 의해, 충돌들을 해소하는데 적어도 부분적으로 기초하는 캐시 일관성 프로토콜에 의해 감독되는 적어도 하나의 소스 노드를 포함하고,상기 소스 노드는,적어도 하나의 캐시 라인의 사본을 요청하고,상기 캐시 라인이 전달 상태, 배타적 상태, 또는 수정된 상태 중 어느 하나이고 적어도 하나의 충돌이 검출되고 전송(Xfr) 메시지없이 완료가 수신되는 상황이 발생한다면 데이터 수신 확인 메시지를 어서트(assert)하는 시스템.
- 제11항에 있어서,상기 캐시 일관성 프로토콜은 충돌 동안 충돌 체인 내의 모든 트랜잭션이 데이터 수신 확인 사이클(data acknowledge cycle)을 시작하는 것을 용이하게 하는 시스템.
- 제12항에 있어서,데이터 수신 확인 사이클은 E_CMP_XFER 메시지를 E_CMP_Conflict 메시지로 변경하는 것을 포함하는 시스템.
- 제12항에 있어서,데이터 수신 확인 메시지의 어서트(assertion)와 데이터 수신 확인에 대한 완료의 수신 사이에 모든 인입 요청들이 차단되는 상황이 발생되면 데이터 수신 확인 메시지를 어서트하는 상기 소스 노드를 더 포함하는 시스템.
- 제1 피어 노드로부터, 데이터 블록의 사본에 대한 요청을 멀티 노드 시스템의 다수의 노드로 송신하는 단계; 및제2 피어 노드로부터, 메모리에 기록될 상기 데이터 블록의 사본의 수정된 캐시 라인(후기입(writeback) 라인)에 대한 요청을 홈 노드로 송신하는 단계; 및상기 제1 피어 노드 및 제2 피어 노드 사이의 상기 후기입 경쟁 충돌(writeback race conflict)을 상기 홈 노드에서 해소하는 단계를 포함하는, 후기입 경쟁 충돌을 해소하는 방법.
- 제15항에 있어서,상기 제2 피어 노드로부터 상기 홈 노드로의 상기 후기입 요청은 인-오더 홈 채널을 경유하여 송신되는 방법.
- 제15항에 있어서,상기 제2 피어 노드 및 제3 피어 노드는 상기 제1 노드의 요청에 응답하여 I_ACK 메시지를 발생시키는 방법.
- 제15항에 있어서상기 후기입 경쟁 충돌을 해소하는 단계는,상기 홈 노드가,상기 수정된 데이터의 메모리로의 상기 후기입의 완료를 가리키는 완료 CMP 메시지로 상기 제2 피어 노드에 응답하고;상기 데이터 블록의 사본을 포함하고 상기 제1 피어 노드로부터의 상기 요청의 상기 완료를 가리키는 I_DATA_CMP 메시지로 상기 제1 피어 노드에 응답함으로써 상기 충돌을 해소하는 것을 포함하는 방법.
- 제1 피어 노드로부터, 데이터 블록의 사본에 대한 요청을 멀티 노드 시스템의 다수의 노드로 송신하는 단계;제2 피어 노드로부터, 데이터 블록의 동일한 사본에 대한 요청을 멀티 노드 시스템의 다수의 노드로 송신하는 단계;상기 제1 피어 노드와 제2 피어 노드 사이의 상기 경쟁 충돌을 상기 홈 노드에서 해소하는 단계를 포함하는, 두 개의 실질적으로 동시인 요청들의 소유권 요청에 대한 경쟁 충돌을 해소하는 방법.
- 제19항에 있어서,상기 제1 및 제2 피어 노드로부터 상기 홈 노드로의 상기 요청들은 인-오더 홈 채널을 경유하여 송신되는 방법.
- 제19항에 있어서,상기 경쟁 충돌을 해소하는 단계는,상기 요청된 캐시 라인에 대한 함께 계류중인 요청이 있다는 것을 가리키는 I_ACK_Conflict 메시지를 상기 홈 노드에서 상기 제1 및 제2 피어 노드로부터 수신하고;제3 피어 노드가 상기 요청된 데이터의 배타적 사본을 가지고 있고 상기 제3 피어 노드가 상기 데이터의 상기 배타적 사본을 상기 제1 피어 노드로 전달한다는 것을 가리키는 E_Data 메시지를 상기 제3 피어 노드로부터 상기 제1 피어 노드 A에 보내고 - 상기 제3 피어 노드는, 상기 제1 피어 노드에 상기 요청된 데이터의 배타적 사본을 전달했다는 것을 가리키는 E_ACK 메시지를 상기 홈 노드로 보냄 - ;상기 데이터의 상기 배타적 사본을 상기 제1 피어 노드로 보낸 후에 상기 요청된 데이터를 무효화시켰으므로 상기 제2 피어 노드의 요청에 응답하여 상기 제3 피어 노드로부터 상기 홈 노드로 I_ACK 메시지를 보내는것에 의해 상기 홈 노드가 상기 충돌을 해소하는 것을 포함하고,상기 제2 피어 노드로 I_CMP 메시지를 발행하고 상기 제1 피어 노드로는 E_CMP_XFER(secondnodeID) 메시지를 발행하는 상기 홈 노드에 의해 상기 경쟁 충돌을 해소하고;상기 E_CMP_XFER(secondnodeID) 메시지는 상기 제1 피어 노드가 상기 데이터의 배타적 사본을 상기 제2 피어 노드로 전송하도록 하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/833,963 US7822929B2 (en) | 2004-04-27 | 2004-04-27 | Two-hop cache coherency protocol |
US10/833,963 | 2004-04-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070007865A true KR20070007865A (ko) | 2007-01-16 |
KR100880059B1 KR100880059B1 (ko) | 2009-01-22 |
Family
ID=34966020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067022561A KR100880059B1 (ko) | 2004-04-27 | 2005-04-08 | 효율적인 이홉(two-hop) 캐시 일관성 프로토콜 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7822929B2 (ko) |
JP (1) | JP4789926B2 (ko) |
KR (1) | KR100880059B1 (ko) |
CN (1) | CN100377114C (ko) |
DE (1) | DE112005000974T5 (ko) |
GB (2) | GB2447119B (ko) |
TW (1) | TWI274998B (ko) |
WO (1) | WO2005109206A2 (ko) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7512741B1 (en) | 2006-01-11 | 2009-03-31 | Intel Corporation | Two-hop source snoop based messaging protocol |
JP4572169B2 (ja) * | 2006-01-26 | 2010-10-27 | エヌイーシーコンピュータテクノ株式会社 | マルチプロセッサシステム及びその動作方法 |
JP4449931B2 (ja) * | 2006-03-30 | 2010-04-14 | ブラザー工業株式会社 | 管理装置、および管理システム |
US7941610B2 (en) | 2006-04-27 | 2011-05-10 | Hewlett-Packard Development Company, L.P. | Coherency directory updating in a multiprocessor computing system |
US7836144B2 (en) * | 2006-12-29 | 2010-11-16 | Intel Corporation | System and method for a 3-hop cache coherency protocol |
US8190820B2 (en) * | 2008-06-13 | 2012-05-29 | Intel Corporation | Optimizing concurrent accesses in a directory-based coherency protocol |
US8205045B2 (en) * | 2008-07-07 | 2012-06-19 | Intel Corporation | Satisfying memory ordering requirements between partial writes and non-snoop accesses |
US8250311B2 (en) | 2008-07-07 | 2012-08-21 | Intel Corporation | Satisfying memory ordering requirements between partial reads and non-snoop accesses |
US10102124B2 (en) * | 2011-12-28 | 2018-10-16 | Intel Corporation | High bandwidth full-block write commands |
US9235519B2 (en) * | 2012-07-30 | 2016-01-12 | Futurewei Technologies, Inc. | Method for peer to peer cache forwarding |
US20140040561A1 (en) * | 2012-07-31 | 2014-02-06 | Futurewei Technologies, Inc. | Handling cache write-back and cache eviction for cache coherence |
US9152501B2 (en) | 2012-12-19 | 2015-10-06 | International Business Machines Corporation | Write performance in fault-tolerant clustered storage systems |
US9727464B2 (en) | 2014-11-20 | 2017-08-08 | International Business Machines Corporation | Nested cache coherency protocol in a tiered multi-node computer system |
US9886382B2 (en) | 2014-11-20 | 2018-02-06 | International Business Machines Corporation | Configuration based cache coherency protocol selection |
US11269773B2 (en) * | 2019-10-08 | 2022-03-08 | Arm Limited | Exclusivity in circuitry having a home node providing coherency control |
Family Cites Families (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5297269A (en) | 1990-04-26 | 1994-03-22 | Digital Equipment Company | Cache coherency protocol for multi processor computer system |
JPH04261487A (ja) * | 1991-02-15 | 1992-09-17 | Sekisui Chem Co Ltd | 粘着テープ |
US5190386A (en) * | 1992-01-28 | 1993-03-02 | Eudy James R | Printer with edge strip trimmer |
US5463629A (en) | 1992-07-13 | 1995-10-31 | Ko; Cheng-Hsu | Dynamic channel allocation method and system for integrated services digital network |
EP0600626A1 (en) | 1992-11-13 | 1994-06-08 | Cyrix Corporation | Coherency for write-back cache in a system designed for write-through cache |
EP0613151A3 (en) * | 1993-02-26 | 1995-03-22 | Tokyo Shibaura Electric Co | Semiconductor memory system with flash EEPROM. |
JP2819982B2 (ja) | 1993-03-18 | 1998-11-05 | 株式会社日立製作所 | 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム |
JP3183993B2 (ja) | 1993-03-31 | 2001-07-09 | 株式会社東芝 | ディスク制御システム |
US5623644A (en) | 1994-08-25 | 1997-04-22 | Intel Corporation | Point-to-point phase-tolerant communication |
US5893160A (en) * | 1996-04-08 | 1999-04-06 | Sun Microsystems, Inc. | Deterministic distributed multi-cache coherence method and system |
US5819296A (en) | 1996-10-31 | 1998-10-06 | Veritas Software Corporation | Method and apparatus for moving large numbers of data files between computer systems using import and export processes employing a directory of file handles |
US6636944B1 (en) | 1997-04-24 | 2003-10-21 | International Business Machines Corporation | Associative cache and method for replacing data entries having an IO state |
US6189043B1 (en) | 1997-06-09 | 2001-02-13 | At&T Corp | Dynamic cache replication in a internet environment through routers and servers utilizing a reverse tree generation |
US6092155A (en) | 1997-07-10 | 2000-07-18 | International Business Machines Corporation | Cache coherent network adapter for scalable shared memory processing systems |
US6085276A (en) * | 1997-10-24 | 2000-07-04 | Compaq Computers Corporation | Multi-processor computer system having a data switch with simultaneous insertion buffers for eliminating arbitration interdependencies |
US6009488A (en) | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
US6460119B1 (en) | 1997-12-29 | 2002-10-01 | Intel Corporation | Snoop blocking for cache coherency |
US6341337B1 (en) | 1998-01-30 | 2002-01-22 | Sun Microsystems, Inc. | Apparatus and method for implementing a snoop bus protocol without snoop-in and snoop-out logic |
US6067611A (en) | 1998-06-30 | 2000-05-23 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that buffers potential third node transactions to decrease communication latency |
US6430657B1 (en) | 1998-10-12 | 2002-08-06 | Institute For The Development Of Emerging Architecture L.L.C. | Computer system that provides atomicity by using a tlb to indicate whether an exportable instruction should be executed using cache coherency or by exporting the exportable instruction, and emulates instructions specifying a bus lock |
JP2000132531A (ja) * | 1998-10-23 | 2000-05-12 | Pfu Ltd | マルチプロセッサ |
US6275907B1 (en) | 1998-11-02 | 2001-08-14 | International Business Machines Corporation | Reservation management in a non-uniform memory access (NUMA) data processing system |
US6477535B1 (en) | 1998-11-25 | 2002-11-05 | Computer Associates Think Inc. | Method and apparatus for concurrent DBMS table operations |
US6338122B1 (en) | 1998-12-15 | 2002-01-08 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that speculatively forwards a read request to a remote processing node |
US6275905B1 (en) | 1998-12-21 | 2001-08-14 | Advanced Micro Devices, Inc. | Messaging scheme to maintain cache coherency and conserve system memory bandwidth during a memory read operation in a multiprocessing computer system |
US6370621B1 (en) | 1998-12-21 | 2002-04-09 | Advanced Micro Devices, Inc. | Memory cancel response optionally cancelling memory controller's providing of data in response to a read operation |
EP2320322A3 (en) * | 1998-12-21 | 2011-08-03 | Advanced Micro Devices, Inc. | Conservation of system memory bandwidth and cache coherency maintenance using memory cancel messages |
US6263409B1 (en) | 1998-12-22 | 2001-07-17 | Unisys Corporation | Data processing system and method for substituting one type of request for another for increased performance when processing back-to-back requests of certain types |
US6275995B1 (en) * | 1999-02-26 | 2001-08-21 | Sweports Limited | Hand covering with reversible cleaning membrane |
JP4363539B2 (ja) | 1999-06-04 | 2009-11-11 | 諏訪熱工業株式会社 | ボールペン用ボール |
US6442597B1 (en) | 1999-07-08 | 2002-08-27 | International Business Machines Corporation | Providing global coherence in SMP systems using response combination block coupled to address switch connecting node controllers to memory |
US6484220B1 (en) | 1999-08-26 | 2002-11-19 | International Business Machines Corporation | Transfer of data between processors in a multi-processor system |
US6405289B1 (en) | 1999-11-09 | 2002-06-11 | International Business Machines Corporation | Multiprocessor system in which a cache serving as a highest point of coherency is indicated by a snoop response |
JP3959914B2 (ja) | 1999-12-24 | 2007-08-15 | 株式会社日立製作所 | 主記憶共有型並列計算機及びそれに用いるノード制御装置 |
US6493809B1 (en) | 2000-01-28 | 2002-12-10 | International Business Machines Corporation | Maintaining order of write operations in a multiprocessor for memory consistency |
US6922755B1 (en) | 2000-02-18 | 2005-07-26 | International Business Machines Corporation | Directory tree multinode computer system |
US6769017B1 (en) | 2000-03-13 | 2004-07-27 | Hewlett-Packard Development Company, L.P. | Apparatus for and method of memory-affinity process scheduling in CC-NUMA systems |
US7062541B1 (en) | 2000-04-27 | 2006-06-13 | International Business Machines Corporation | System and method for transferring related data objects in a distributed data storage environment |
US6640287B2 (en) | 2000-06-10 | 2003-10-28 | Hewlett-Packard Development Company, L.P. | Scalable multiprocessor system and cache coherence method incorporating invalid-to-dirty requests |
US6795900B1 (en) | 2000-07-20 | 2004-09-21 | Silicon Graphics, Inc. | Method and system for storing data at input/output (I/O) interfaces for a multiprocessor system |
US6760728B1 (en) | 2000-09-27 | 2004-07-06 | Palmsource, Inc. | Method and apparatus for importing and exporting directory and calendar information to and from personal information management applications |
US6594733B1 (en) | 2000-09-27 | 2003-07-15 | John T. Cardente | Cache based vector coherency methods and mechanisms for tracking and managing data use in a multiprocessor system |
US6631449B1 (en) | 2000-10-05 | 2003-10-07 | Veritas Operating Corporation | Dynamic distributed data system and method |
DE10052443A1 (de) * | 2000-10-23 | 2002-05-08 | Boehringer Werkzeugmaschinen | Kombimaschine |
US6826591B2 (en) | 2000-12-15 | 2004-11-30 | International Business Machines Corporation | Flexible result data structure and multi-node logging for a multi-node application system |
US6571322B2 (en) | 2000-12-28 | 2003-05-27 | International Business Machines Corporation | Multiprocessor computer system with sectored cache line mechanism for cache intervention |
US6859864B2 (en) * | 2000-12-29 | 2005-02-22 | Intel Corporation | Mechanism for initiating an implicit write-back in response to a read or snoop of a modified cache line |
US6615319B2 (en) * | 2000-12-29 | 2003-09-02 | Intel Corporation | Distributed mechanism for resolving cache coherence conflicts in a multi-node computer architecture |
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 |
US6842830B2 (en) | 2001-03-31 | 2005-01-11 | Intel Corporation | Mechanism for handling explicit writeback in a cache coherent multi-node architecture |
US6877026B2 (en) | 2001-06-08 | 2005-04-05 | Sun Microsystems, Inc. | Bulk import in a directory server |
US6901485B2 (en) | 2001-06-21 | 2005-05-31 | International Business Machines Corporation | Memory directory management in a multi-node computer system |
US6691192B2 (en) | 2001-08-24 | 2004-02-10 | Intel Corporation | Enhanced general input/output architecture and related methods for establishing virtual channels therein |
US20030074430A1 (en) | 2001-10-05 | 2003-04-17 | Gieseke Eric James | Object oriented provisioning server object model |
US6785774B2 (en) * | 2001-10-16 | 2004-08-31 | International Business Machines Corporation | High performance symmetric multiprocessing systems via super-coherent data mechanisms |
WO2003075162A1 (en) | 2002-02-28 | 2003-09-12 | Silicon Graphics, Inc. | Method and system for cache coherence in dsm multiprocessor system without growth of the sharing vector |
US6944719B2 (en) | 2002-05-15 | 2005-09-13 | Broadcom Corp. | Scalable cache coherent distributed shared memory processing system |
US7269709B2 (en) | 2002-05-15 | 2007-09-11 | Broadcom Corporation | Memory controller configurable to allow bandwidth/latency tradeoff |
US7209976B2 (en) | 2002-07-16 | 2007-04-24 | Jeremy Benjamin | Protocol communication and transit packet forwarding routed between multiple virtual routers within a single physical router |
US7051163B2 (en) * | 2002-10-03 | 2006-05-23 | Hewlett-Packard Development Company, L.P. | Directory structure permitting efficient write-backs in a shared memory computer system |
US6934814B2 (en) | 2002-11-05 | 2005-08-23 | Newisys, Inc. | Cache coherence directory eviction mechanisms in multiprocessor systems which maintain transaction ordering |
US7209776B2 (en) * | 2002-12-03 | 2007-04-24 | Aesculap Ag & Co. Kg | Method of determining the position of the articular point of a joint |
US6922756B2 (en) * | 2002-12-19 | 2005-07-26 | Intel Corporation | Forward state for use in cache coherency in a multiprocessor system |
JP3944449B2 (ja) | 2002-12-19 | 2007-07-11 | 株式会社日立製作所 | 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法 |
US7917646B2 (en) * | 2002-12-19 | 2011-03-29 | Intel Corporation | Speculative distributed conflict resolution for a cache coherency protocol |
US7130969B2 (en) | 2002-12-19 | 2006-10-31 | Intel Corporation | Hierarchical directories for cache coherency in a multiprocessor system |
US7111128B2 (en) * | 2002-12-19 | 2006-09-19 | Intel Corporation | Hierarchical virtual model of a cache hierarchy in a multiprocessor system |
US6954829B2 (en) * | 2002-12-19 | 2005-10-11 | Intel Corporation | Non-speculative distributed conflict resolution for a cache coherency protocol |
JP4085389B2 (ja) * | 2003-12-24 | 2008-05-14 | 日本電気株式会社 | マルチプロセッサシステム、マルチプロセッサシステムにおける一貫性制御装置及び一貫性制御方法 |
US8145847B2 (en) * | 2004-01-20 | 2012-03-27 | Hewlett-Packard Development Company, L.P. | Cache coherency protocol with ordering points |
US7818391B2 (en) * | 2004-01-20 | 2010-10-19 | Hewlett-Packard Development Company, L.P. | System and method to facilitate ordering point migration |
US7533134B2 (en) | 2004-04-01 | 2009-05-12 | Microsoft Corporation | Systems and methods for the propagation of conflict resolution to enforce item convergence (i.e., data convergence) |
-
2004
- 2004-04-27 US US10/833,963 patent/US7822929B2/en not_active Expired - Fee Related
-
2005
- 2005-04-08 WO PCT/US2005/012087 patent/WO2005109206A2/en active Application Filing
- 2005-04-08 GB GB0802718A patent/GB2447119B/en active Active
- 2005-04-08 JP JP2007509505A patent/JP4789926B2/ja not_active Expired - Fee Related
- 2005-04-08 DE DE112005000974T patent/DE112005000974T5/de not_active Withdrawn
- 2005-04-08 GB GB0620090A patent/GB2427730B/en active Active
- 2005-04-08 KR KR1020067022561A patent/KR100880059B1/ko not_active IP Right Cessation
- 2005-04-12 TW TW094111562A patent/TWI274998B/zh active
- 2005-04-27 CN CNB200510068123XA patent/CN100377114C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB0620090D0 (en) | 2006-11-22 |
CN1690986A (zh) | 2005-11-02 |
JP4789926B2 (ja) | 2011-10-12 |
GB2427730A (en) | 2007-01-03 |
TW200608204A (en) | 2006-03-01 |
DE112005000974T5 (de) | 2007-03-29 |
GB2447119A (en) | 2008-09-03 |
CN100377114C (zh) | 2008-03-26 |
GB0802718D0 (en) | 2008-03-26 |
WO2005109206A3 (en) | 2006-02-02 |
WO2005109206A2 (en) | 2005-11-17 |
US7822929B2 (en) | 2010-10-26 |
GB2447119B (en) | 2008-12-03 |
KR100880059B1 (ko) | 2009-01-22 |
GB2427730B (en) | 2008-10-29 |
JP2007535037A (ja) | 2007-11-29 |
US20070022252A1 (en) | 2007-01-25 |
TWI274998B (en) | 2007-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100880059B1 (ko) | 효율적인 이홉(two-hop) 캐시 일관성 프로토콜 | |
US7434006B2 (en) | Non-speculative distributed conflict resolution for a cache coherency protocol | |
US8171095B2 (en) | Speculative distributed conflict resolution for a cache coherency protocol | |
US6922756B2 (en) | Forward state for use in cache coherency in a multiprocessor system | |
US7360033B2 (en) | Hierarchical virtual model of a cache hierarchy in a multiprocessor system | |
US8205045B2 (en) | Satisfying memory ordering requirements between partial writes and non-snoop accesses | |
KR101061667B1 (ko) | 클린 데이터 푸싱 방법, 시스템, 에이전트 및 장치 | |
US7779210B2 (en) | Avoiding snoop response dependency | |
US7506108B2 (en) | Requester-generated forward for late conflicts in a cache coherency protocol | |
KR20050074310A (ko) | 캐시 라인 소유권 이전 방법 및 장치 | |
US20080005486A1 (en) | Coordination of snoop responses in a multi-processor system | |
US8972663B2 (en) | Broadcast cache coherence on partially-ordered network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130104 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140103 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20141230 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160104 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170102 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20180103 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |