KR20050085848A - 멀티프로세서 시스템 내에서의 캐시 일관성에서 사용하기위한 전송 상태 - Google Patents
멀티프로세서 시스템 내에서의 캐시 일관성에서 사용하기위한 전송 상태 Download PDFInfo
- Publication number
- KR20050085848A KR20050085848A KR1020057011620A KR20057011620A KR20050085848A KR 20050085848 A KR20050085848 A KR 20050085848A KR 1020057011620 A KR1020057011620 A KR 1020057011620A KR 20057011620 A KR20057011620 A KR 20057011620A KR 20050085848 A KR20050085848 A KR 20050085848A
- Authority
- KR
- South Korea
- Prior art keywords
- copy
- node
- data
- data segment
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0822—Copy directories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Claims (34)
- 다수의 캐시 메모리들을 갖고있는 시스템 내의 하나 이상의 캐시 메모리 내에 데이터 블록을 저장하는 단계;상기 데이터 블록의 카피에 대한 방송 요청에 응답하기 위해 사용될 카피로서 상기 데이터 블록의 단일 캐시 카피(single cached copy)를 지정하는 단계; 및상기 데이터 블록의 상기 지정된 카피를 저장하는 캐시 메모리에 상기 데이터 블록의 카피를 제공함으로써 상기 데이터 블록에 대한 상기 방송 요청에 응답하는 단계를 포함하는 방법.
- 제1항에 있어서,상기 요청은 수신하는 캐시 메모리들 내의 캐시 동작들에 관하여 비동기로 방송되는 방법.
- 제1항에 있어서,요청하는 캐시 메모리에 응답으로서 제공된 상기 데이터 블록의 상기 카피를 저장하는 단계를 더 포함하고, 상기 요청하는 캐시 메모리에 의해 저장된 상기 데이터 블록의 상기 카피는 상기 데이터 블록의 카피에 대한 장래의 요청에 응답하기 위해 사용될 단일 캐시 카피로서 지정되는 방법.
- 제1항에 있어서,상기 데이터 블록은 캐시 라인을 포함하는 방법.
- 제1항에 있어서,상기 데이터 블록의 상기 지정된 카피를 저장하는 상기 캐시 메모리에 상기 데이터 블록의 카피를 제공함으로써 상기 데이터 블록에 대한 요청에 응답하는 단계는,상기 데이터 블록에 대한 요청을 수신하는 단계;상기 데이터 블록의 카피가 로컬 캐시 메모리 내에 저장되는지의 여부를 판정하는 단계;상기 데이터 블록의 카피가 상기 로컬 캐시 메모리 내에 저장되면, 상기 저장된 데이터 블록이 상기 데이터 블록의 상기 지정된 카피인지의 여부를 판정하는 단계; 및상기 저장된 데이터 블록이 상기 데이터 블록의 상기 지정된 카피이면 요청하는 캐시 메모리에 상기 데이터 블록의 카피를 전송하는 단계를 포함하는 방법.
- 요청하는 노드로부터 멀티-노드 시스템의 하나 이상의 노드들로 데이터 세그먼트의 카피에 대한 요청을 전송하는 단계 - 상기 요청을 수신하는 상기 노드들 중의 한 노드는 비-캐시(non-cache) 메모리 내에 상기 데이터 세그먼트를 저장하는 홈 노드이고, 비-홈(non-home) 노드들은 각각의 피어 노드들과 관련된 캐시 메모리들 내에, 만일 있다면, 카피를 저장하는 상기 요청 노드에 대한 피어 노드들임 - ;어떤 피어 노드들도 상기 데이터 세그먼트의 공유가능한 카피를 저장하지 않으면 상기 홈 노드로부터 상기 데이터 세그먼트의 카피를 제공하는 단계; 및상기 데이터 세그먼트의 카피를 전송 상태로 저장하는 상기 피어 노드로부터 상기 데이터 세그먼트의 카피를 제공하는 단계를 포함하고,다수의 피어 노드들에 의해 저장된 상기 데이터 세그먼트의 다수의 카피들 중의 단 하나의 카피는 전송 상태(forward state)로 지정되는 방법.
- 제6항에 있어서,상기 지정된 피어 노드가 상기 데이터 세그먼트의 카피를 저장하기 위한 유일한 피어 노드이면, 상기 데이터 세그먼트의 카피를 갖고있는 지정된 피어 노드로부터 상기 데이터 세그먼트의 카피를 제공하는 단계를 더 포함하는 방법.
- 제6항에 있어서,상기 요청하는 노드에 제공된 상기 데이터 세그먼트의 상기 카피를 상기 전송 상태인 것으로 지정하는 단계; 및상기 전송 상태인 상기 피어 노드로부터의 상기 데이터 세그먼트의 상기 카피를 상기 요청하는 노드로부터의 상기 데이터 세그먼트 요청에 응답하여 공유 상태인 것으로 지정하는 단계를 더 포함하는 방법.
- 제6항에 있어서,상기 요청하는 노드로부터의 상기 멀티-노드 시스템의 하나 이상의 노드들로 상기 데이터 세그먼트의 카피에 대한 상기 요청을 전송하는 단계는 상기 멀티-노드 시스템의 모든 비-요청(non-requesting) 노드에 상기 요청을 방송하는 단계를 포함하는 방법.
- 제6항에 있어서,상기 요청하는 노드로부터 상기 멀티-노드 시스템의 하나 이상의 노드들로 상기 데이터 세그먼트의 카피에 대한 상기 요청을 전송하는 단계는 상기 멀티-노드 시스템의 모든 비-요청 노드의 서브셋에 상기 요청을 전송하는 단계를 포함하는 방법.
- 제6항에 있어서,상기 데이터 세그먼트는 캐시 라인을 포함하는 방법.
- 제6항에 있어서,상기 데이터 세그먼트는 캐시 라인보다 작은 데이터 블록을 포함하는 방법.
- 제6항에 있어서,상기 데이터 세그먼트는 캐시 라인보다 큰 데이터 블록을 포함하는 방법.
- 데이터 세그먼트의 오리지널 카피를 저장하기 위해 메모리 시스템과 연결된 홈 노드; 및버스 시스템을 통해 상기 홈 노드와 연결되고, 캐시 메모리들을 갖고있는 다수의 피어 노드를 포함하고,상기 데이터 세그먼트의 카피를 요청하는 요청 피어 노드에 의한 요청에 응답하여, 비-요청 피어 노드가 전송 상태의 상기 데이터 세그먼트의 카피를 갖고 있으면, 상기 비-요청 피어 노드가 상기 데이터 세그먼트의 카피를 제공하고, 어떤 비-요청 피어 노드도 상기 전송 상태의 상기 데이터 세그먼트의 카피를 갖고 있지 않으면, 상기 홈 노드가 상기 데이터 세그먼트의 카피를 제공하며, 또한 상기 데이터 세그먼트의 하나 이상의 캐시된 카피들 중의 단 하나의 카피만이 상기 요청 이전에 상기 전송 상태로 있는 시스템.
- 제14항에 있어서,상기 데이터 세그먼트는 캐시 라인을 포함하는 시스템.
- 제14항에 있어서,상기 데이터 세그먼트는 캐시 라인보다 작은 데이터 블록을 포함하는 시스템.
- 제14항에 있어서,상기 데이터 세그먼트는 캐시 라인보다 큰 데이터 블록을 포함하는 시스템.
- 제14항에 있어서,상기 요청 피어 노드는 상기 데이터 세그먼트에 대한 상기 요청을 상기 홈 노드 및 각각의 상기 비-요청 피어 노드에 방송하는 시스템.
- 제14항에 있어서,상기 요청 피어 노드는 상기 데이터 세그먼트에 대한 상기 요청을 각각의 상기 비-요청 피어 노드 및 상기 홈 노드의 서브셋에 전송하는 시스템.
- 캐시 메모리 제어기;상기 캐시 메모리 제어기와 연결되고, 상기 캐시 메모리 제어기가 캐시 메모리와 상호작용할 수 있게 하는 캐시 메모리 인터페이스; 및상기 캐시 메모리 제어기와 연결되고, 상기 캐시 메모리 제어기가 시스템의 다른 컴포넌트들과 상호작용할 수 있게 하는 시스템 인터페이스를 포함하고,상기 캐시 메모리 제어기는, 데이터 세그먼트가 사용될 것이고 상기 데이터 세그먼트의 유효 카피가 상기 캐시 메모리 내에 저장되지 않을 때 상기 데이터 세그먼트에 대한 요청을 상기 시스템 인터페이스를 통해 전송하고, 또한 상기 요청된 데이터 세그먼트의 카피가 수신될 때, 상기 캐시 메모리 제어기는 상기 요청된 데이터의 상기 카피가 상기 캐시 메모리 내에 저장되고 전송 상태로 지정될 수 있게 하며, 또한 상기 데이터 세그먼트의 카피 요청이 상기 시스템 인터페이스를 통해 수신될 때, 상기 캐시 메모리 제어기는 상기 저장된 카피가 상기 전송 상태로 있으면, 상기 데이터 세그먼트의 카피가 전송될 수 있게 하는 장치.
- 제20항에 있어서,상기 데이터 세그먼트는 캐시 라인을 포함하는 장치.
- 제20항에 있어서,상기 캐시 메모리 제어기는 상기 데이터 세그먼트에 대한 상기 요청이 멀티-노드 시스템의 각 노드에 방송될 수 있게 하는 장치.
- 제20항에 있어서,상기 캐시 메모리 제어기는 상기 데이터 세그먼트에 대한 상기 요청이 멀티-노드 시스템의 노드들의 서브셋에 방송될 수 있게 하는 장치.
- 제20항에 있어서,상기 캐시 메모리 제어기와 외부 메모리 사이의 상호작용을 허용하도록 상기 캐시 메모리 제어기와 연결된 메모리 인터페이스를 더 포함하고, 상기 외부 메모리가 홈 노드로 지정되는 데이터 세그먼트의 카피 요청에 응답하여, 상기 캐시 메모리 제어기는 상기 데이터 세그먼트가 상기 외부 메모리로부터 검색되고 상기 네트워크 인터페이스를 통해 요청 노드로 전송될 수 있게 하는 장치.
- 기계 판독가능 명령어들을 제공하기 위한 기계 액세스가능 매체를 포함하는 제품에 있어서, 실행시에 하나 이상의 전자 시스템이,다수의 캐시 메모리들을 갖고있는 시스템 내의 하나 이상의 캐시 메모리 내에 데이터 블록을 저장하게 하고;상기 데이터 블록의 카피들에 대한 요청들에 응답하기 위해 사용될 카피로서 상기 데이터 블록의 단일 캐시 카피를 지정하게 하고;상기 데이터 블록의 상기 지정된 카피를 저장하는 상기 캐시 메모리에 상기 데이터 블록의 카피를 제공함으로써 상기 데이터 블록에 대한 요청에 응답하게 하는명령어들을 포함하는 것을 특징으로 하는 제품.
- 제25항에 있어서,실행시에 상기 하나 이상의 전자 시스템이,요청하는 캐시 메모리에 응답으로서 제공된 상기 데이터 블록의 상기 카피를 저장하게 하는 명령어를 더 포함하고, 상기 요청하는 캐시 메모리에 의해 저장된 상기 데이터 블록의 상기 카피는 상기 데이터 블록의 카피에 대한 장래의 요청들에 응답하기 위해 사용될 단일 캐시 카피로서 지정되는 제품.
- 제25항에 있어서,상기 데이터 블록은 캐시 라인을 포함하는 제품.
- 제25항에 있어서,상기 하나 이상의 전자 시스템이, 상기 데이터 블록의 상기 지정된 카피를 저장하는 상기 캐시 메모리에 상기 데이터 블록의 카피를 제공함으로써 상기 데이터 블록에 대한 요청에 응답하게 하는 상기 명령어들은, 실행시에 상기 하나 이상의 전자 시스템이,상기 데이터 블록에 대한 요청을 수신하게 하고;상기 데이터 블록의 카피가 로컬 캐시 메모리 내에 저장되는지의 여부를 판정하게 하고;상기 데이터 블록의 카피가 상기 로컬 캐시 메모리 내에 저장되면, 상기 저장된 데이터 블록이 상기 데이터 블록의 상기 지정된 카피인지의 여부를 판정하게 하고;상기 저장된 데이터 블록이 상기 데이터 블록의 상기 지정된 카피이면 요청하는 캐시 메모리에 상기 데이터 블록의 카피를 전송하게 하는명령어들을 포함하는 제품.
- 기계 판독가능 명령어들을 제공하기 위한 기계 액세스가능 매체를 포함하는 제품에 있어서, 실행시에 하나 이상의 전자 시스템이,요청하는 노드로부터 멀티-노드 시스템의 하나 이상의 노드들로 데이터 세그먼트의 카피에 대한 요청을 전송하게 하고 - 상기 요청을 수신하는 상기 노드들 중의 한 노드는 비-캐시 메모리 내에 상기 데이터 세그먼트를 저장하는 홈 노드이고, 비-홈 노드는 각각의 피어 노드들과 관련된 캐시 메모리들 내에, 만일 있다면, 카피를 저장하는 상기 요청 노드에 대한 피어 노드들임 - ;어떤 피어 노드들도 상기 데이터 세그먼트의 공유가능한 카피를 저장하지 않으면 상기 홈 노드로부터 상기 데이터 세그먼트의 카피를 제공하게 하고; 및상기 데이터 세그먼트의 카피를 전송 상태로 저장하는 상기 피어 노드로부터 상기 데이터 세그먼트의 카피를 제공하게 하는명령어들을 포함하고,다수의 피어 노드들에 의해 저장된 상기 데이터 세그먼트의 다수의 카피들 중의 단 하나의 카피는 전송 상태로 지정되는 제품.
- 제29항에 있어서,실행시에 상기 하나 이상의 전자 시스템이, 지정된 피어 노드가 상기 데이터 세그먼트의 카피를 저장하기 위한 유일한 피어 노드이면, 상기 데이터 세그먼트의 카피를 갖고있는 상기 지정된 피어 노드로부터 상기 데이터 세그먼트의 카피를 제공하게 하는 명령어들을 더 포함하는 제품.
- 제29항에 있어서,실행시에 상기 하나 이상의 전자 시스템이,상기 요청하는 노드에 제공된 상기 데이터 세그먼트의 상기 카피를 상기 전송 상태인 것으로 지정하게 하고;상기 전송 상태인 상기 피어 노드로부터의 상기 데이터 세그먼트의 상기 카피를 상기 요청하는 노드로부터의 상기 데이터 세그먼트 요청에 응답하여 공유 상태인 것으로 지정하게 하는명령어들을 더 포함하는 제품.
- 제29항에 있어서,상기 하나 이상의 전자 시스템이, 상기 요청하는 노드로부터 상기 멀티-노드 시스템의 하나 이상의 노드들로 상기 데이터 세그먼트의 카피에 대한 상기 요청을 전송하게 하는 상기 명령어들은 실행시에 상기 하나 이상의 전자 시스템이, 상기 멀티-노드 시스템의 모든 비-요청 노드에 상기 요청을 방송하게 하는 명령어들을 포함하는 제품.
- 제29항에 있어서,상기 하나 이상의 전자 시스템이, 상기 요청하는 노드로부터 상기 멀티-노드 시스템의 하나 이상의 노드들로 상기 데이터 세그먼트의 카피에 대한 상기 요청을 전송하게 하는 상기 명령어들은, 실행시에 상기 하나 이상의 전자 시스템이, 상기 멀티-노드 시스템의 모든 비-요청 노드의 서브셋에 상기 요청을 전송하게 하는 명령어들을 포함하는 제품.
- 제29항에 있어서,상기 데이터 세그먼트는 캐시 라인을 포함하는 제품.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/325,069 | 2002-12-19 | ||
| US10/325,069 US6922756B2 (en) | 2002-12-19 | 2002-12-19 | Forward state for use in cache coherency in a multiprocessor system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20050085848A true KR20050085848A (ko) | 2005-08-29 |
| KR100634932B1 KR100634932B1 (ko) | 2006-10-18 |
Family
ID=32593643
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020057011620A Expired - Fee Related KR100634932B1 (ko) | 2002-12-19 | 2003-12-03 | 멀티프로세서 시스템 내에서의 캐시 일관성에서 사용하기위한 전송 상태 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US6922756B2 (ko) |
| EP (1) | EP1573556A2 (ko) |
| JP (3) | JP2006510119A (ko) |
| KR (1) | KR100634932B1 (ko) |
| CN (2) | CN101127009B (ko) |
| AU (1) | AU2003294560A1 (ko) |
| WO (1) | WO2004061678A2 (ko) |
Families Citing this family (48)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8185602B2 (en) | 2002-11-05 | 2012-05-22 | Newisys, Inc. | Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters |
| US7818391B2 (en) | 2004-01-20 | 2010-10-19 | Hewlett-Packard Development Company, L.P. | System and method to facilitate ordering point migration |
| US7620696B2 (en) * | 2004-01-20 | 2009-11-17 | Hewlett-Packard Development Company, L.P. | System and method for conflict responses in a cache coherency protocol |
| US8145847B2 (en) * | 2004-01-20 | 2012-03-27 | Hewlett-Packard Development Company, L.P. | Cache coherency protocol with ordering points |
| US8176259B2 (en) * | 2004-01-20 | 2012-05-08 | Hewlett-Packard Development Company, L.P. | System and method for resolving transactions in a cache coherency protocol |
| US20050160238A1 (en) * | 2004-01-20 | 2005-07-21 | Steely Simon C.Jr. | System and method for conflict responses in a cache coherency protocol with ordering point migration |
| US8468308B2 (en) * | 2004-01-20 | 2013-06-18 | Hewlett-Packard Development Company, L.P. | System and method for non-migratory requests in a cache coherency protocol |
| US7395374B2 (en) * | 2004-01-20 | 2008-07-01 | Hewlett-Packard Company, L.P. | System and method for conflict responses in a cache coherency protocol with ordering point migration |
| US7769959B2 (en) | 2004-01-20 | 2010-08-03 | Hewlett-Packard Development Company, L.P. | System and method to facilitate ordering point migration to memory |
| US8090914B2 (en) * | 2004-01-20 | 2012-01-03 | Hewlett-Packard Development Company, L.P. | System and method for creating ordering points |
| US7822929B2 (en) * | 2004-04-27 | 2010-10-26 | Intel Corporation | Two-hop cache coherency protocol |
| US20060143384A1 (en) * | 2004-12-27 | 2006-06-29 | Hughes Christopher J | System and method for non-uniform cache in a multi-core processor |
| US7788240B2 (en) * | 2004-12-29 | 2010-08-31 | Sap Ag | Hash mapping with secondary table having linear probing |
| US7437518B2 (en) * | 2005-09-07 | 2008-10-14 | Intel Corporation | Hiding conflict, coherence completion and transaction ID elements of a coherence protocol |
| US7620694B2 (en) * | 2005-09-27 | 2009-11-17 | Intel Corporation | Early issue of transaction ID |
| US20070073979A1 (en) * | 2005-09-29 | 2007-03-29 | Benjamin Tsien | Snoop processing for multi-processor computing system |
| US20070150664A1 (en) * | 2005-12-28 | 2007-06-28 | Chris Dombrowski | System and method for default data forwarding coherent caching agent |
| US7543115B1 (en) | 2006-01-11 | 2009-06-02 | Intel Corporation | Two-hop source snoop based cache coherence protocol |
| US7512741B1 (en) | 2006-01-11 | 2009-03-31 | Intel Corporation | Two-hop source snoop based messaging protocol |
| JP5168800B2 (ja) * | 2006-03-08 | 2013-03-27 | 富士通株式会社 | マルチプロセッサシステム |
| US7721050B2 (en) * | 2006-06-30 | 2010-05-18 | Intel Corporation | Re-snoop for conflict resolution in a cache coherency protocol |
| US7506108B2 (en) * | 2006-06-30 | 2009-03-17 | Intel Corporation | Requester-generated forward for late conflicts in a cache coherency protocol |
| US7536515B2 (en) * | 2006-06-30 | 2009-05-19 | Intel Corporation | Repeated conflict acknowledgements in a cache coherency protocol |
| US7774551B2 (en) * | 2006-10-06 | 2010-08-10 | Hewlett-Packard Development Company, L.P. | Hierarchical cache coherence directory structure |
| US8495272B2 (en) * | 2006-11-29 | 2013-07-23 | International Business Machines Corporation | Method to save bus switching power and reduce noise in an engineered bus |
| US8131940B2 (en) * | 2007-03-31 | 2012-03-06 | Intel Corporation | Methods and apparatuses to support memory transactions using partial physical addresses |
| FR2927437B1 (fr) | 2008-02-07 | 2013-08-23 | Bull Sas | Systeme informatique multiprocesseur |
| CN102016810A (zh) * | 2008-04-22 | 2011-04-13 | Nxp股份有限公司 | 具有允许写入未预先加载的高速缓存行的高速缓存电路的多处理电路 |
| US8423721B2 (en) * | 2008-04-30 | 2013-04-16 | Freescale Semiconductor, Inc. | Cache coherency protocol in a data processing system |
| US8706974B2 (en) * | 2008-04-30 | 2014-04-22 | Freescale Semiconductor, Inc. | Snoop request management in a data processing system |
| US8762652B2 (en) * | 2008-04-30 | 2014-06-24 | Freescale Semiconductor, Inc. | Cache coherency protocol in a data processing system |
| US8190820B2 (en) * | 2008-06-13 | 2012-05-29 | Intel Corporation | Optimizing concurrent accesses in a directory-based coherency protocol |
| US8111615B2 (en) | 2008-07-07 | 2012-02-07 | Intel Corporation | Dynamic update of route table |
| 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 |
| US9189424B2 (en) * | 2011-05-31 | 2015-11-17 | Hewlett-Packard Development Company, L.P. | External cache operation based on clean castout messages |
| WO2013103347A1 (en) * | 2012-01-06 | 2013-07-11 | Intel Corporation | Improving value of forward state by increasing local caching agent forwarding |
| US9235519B2 (en) | 2012-07-30 | 2016-01-12 | Futurewei Technologies, Inc. | Method for peer to peer cache forwarding |
| CN102902631B (zh) * | 2012-09-18 | 2015-04-15 | 杭州中天微系统有限公司 | 一种避免读缺失时数据回写的多处理器核间传输方法 |
| CN107015924B (zh) * | 2012-10-22 | 2020-10-30 | 英特尔公司 | 高性能互连物理层 |
| US10268583B2 (en) | 2012-10-22 | 2019-04-23 | Intel Corporation | High performance interconnect coherence protocol resolving conflict based on home transaction identifier different from requester transaction identifier |
| CN103294612B (zh) * | 2013-03-22 | 2014-08-13 | 浪潮电子信息产业股份有限公司 | 在多级缓存一致性域系统局部域构造Share-F状态的方法 |
| CN104714901B (zh) * | 2015-03-13 | 2018-07-03 | 浪潮集团有限公司 | 一种基于计数器的粗结构目录设计方法 |
| CN104991868B (zh) * | 2015-06-09 | 2018-02-02 | 浪潮(北京)电子信息产业有限公司 | 一种多核处理器系统和缓存一致性处理方法 |
| CN105446840B (zh) * | 2015-11-24 | 2019-02-12 | 无锡江南计算技术研究所 | 一种Cache一致性极限测试方法 |
| US10795817B2 (en) * | 2018-11-16 | 2020-10-06 | Western Digital Technologies, Inc. | Cache coherence for file system interfaces |
| US11544193B2 (en) | 2020-09-11 | 2023-01-03 | Apple Inc. | Scalable cache coherency protocol |
| EP4449262A4 (en) | 2021-12-15 | 2025-10-08 | Intel Corp | DYNAMIC CACHE COHERENCE PROTOCOL BASED ON THE USE OF A RUNTIME INTERCONNECTION |
Family Cites Families (17)
| 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 |
| JP2746530B2 (ja) * | 1993-01-30 | 1998-05-06 | 洲 植 全 | 共有メモリマルチプロセッサ |
| JP3183993B2 (ja) * | 1993-03-31 | 2001-07-09 | 株式会社東芝 | ディスク制御システム |
| US5530932A (en) * | 1994-12-23 | 1996-06-25 | Intel Corporation | Cache coherent multiprocessing computer system with reduced power operating features |
| US5787478A (en) * | 1997-03-05 | 1998-07-28 | International Business Machines Corporation | Method and system for implementing a cache coherency mechanism for utilization within a non-inclusive cache memory hierarchy |
| US5940856A (en) * | 1997-04-14 | 1999-08-17 | International Business Machines Corporation | Cache intervention from only one of many cache lines sharing an unmodified value |
| US5946709A (en) * | 1997-04-14 | 1999-08-31 | International Business Machines Corporation | Shared intervention protocol for SMP bus using caches, snooping, tags and prioritizing |
| 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 |
| 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 |
| 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 |
| 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 |
| JP4363539B2 (ja) * | 1999-06-04 | 2009-11-11 | 諏訪熱工業株式会社 | ボールペン用ボール |
| 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 |
| US6826619B1 (en) * | 2000-08-21 | 2004-11-30 | Intel Corporation | Method and apparatus for preventing starvation in a multi-node architecture |
| US7124252B1 (en) * | 2000-08-21 | 2006-10-17 | Intel Corporation | Method and apparatus for pipelining ordered input/output transactions to coherent memory in a distributed memory, cache coherent, multi-processor system |
| US6571322B2 (en) * | 2000-12-28 | 2003-05-27 | International Business Machines Corporation | Multiprocessor computer system with sectored cache line mechanism for cache intervention |
| US6615319B2 (en) * | 2000-12-29 | 2003-09-02 | Intel Corporation | Distributed mechanism for resolving cache coherence conflicts in a multi-node computer architecture |
-
2002
- 2002-12-19 US US10/325,069 patent/US6922756B2/en not_active Expired - Fee Related
-
2003
- 2003-12-03 KR KR1020057011620A patent/KR100634932B1/ko not_active Expired - Fee Related
- 2003-12-03 CN CN2007101483019A patent/CN101127009B/zh not_active Expired - Fee Related
- 2003-12-03 JP JP2004565171A patent/JP2006510119A/ja active Pending
- 2003-12-03 CN CN2003801065906A patent/CN1729458B/zh not_active Expired - Fee Related
- 2003-12-03 AU AU2003294560A patent/AU2003294560A1/en not_active Abandoned
- 2003-12-03 EP EP03787247A patent/EP1573556A2/en not_active Ceased
- 2003-12-03 WO PCT/US2003/038347 patent/WO2004061678A2/en active Application Filing
-
2008
- 2008-12-24 JP JP2008327609A patent/JP2009064471A/ja active Pending
-
2012
- 2012-10-25 JP JP2012235450A patent/JP2013058225A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| CN1729458B (zh) | 2012-02-22 |
| WO2004061678A3 (en) | 2005-02-03 |
| JP2013058225A (ja) | 2013-03-28 |
| CN101127009B (zh) | 2012-01-11 |
| CN101127009A (zh) | 2008-02-20 |
| WO2004061678A2 (en) | 2004-07-22 |
| US6922756B2 (en) | 2005-07-26 |
| JP2009064471A (ja) | 2009-03-26 |
| CN1729458A (zh) | 2006-02-01 |
| US20040123046A1 (en) | 2004-06-24 |
| AU2003294560A1 (en) | 2004-07-29 |
| KR100634932B1 (ko) | 2006-10-18 |
| JP2006510119A (ja) | 2006-03-23 |
| EP1573556A2 (en) | 2005-09-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100634932B1 (ko) | 멀티프로세서 시스템 내에서의 캐시 일관성에서 사용하기위한 전송 상태 | |
| US7434006B2 (en) | Non-speculative distributed conflict resolution for a cache coherency protocol | |
| KR100841484B1 (ko) | 캐시 일관성 프로토콜을 위한 추론적 분산식 충돌 해결방법 | |
| US7234029B2 (en) | Method and apparatus for reducing memory latency in a cache coherent multi-node architecture | |
| US7360033B2 (en) | Hierarchical virtual model of a cache hierarchy in a multiprocessor system | |
| US7240165B2 (en) | System and method for providing parallel data requests | |
| US8806147B2 (en) | System and method for creating ordering points | |
| US20080215821A1 (en) | Data processing system and method for efficient communication utilizing an in coherency state | |
| JP2007257637A (ja) | アクセラレータ用低コストのキャッシュ一貫性を維持する方法及びシステム | |
| US7376793B2 (en) | Cache coherence protocol with speculative writestream | |
| US7822929B2 (en) | Two-hop cache coherency protocol | |
| US7506108B2 (en) | Requester-generated forward for late conflicts in a cache coherency protocol | |
| US7818391B2 (en) | System and method to facilitate ordering point migration | |
| KR20090049079A (ko) | 클린 데이터 푸싱 방법, 시스템, 에이전트 및 장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0105 | International application |
St.27 status event code: A-0-1-A10-A15-nap-PA0105 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U12-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| FPAY | Annual fee payment |
Payment date: 20120919 Year of fee payment: 7 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20131001 Year of fee payment: 8 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 8 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20140930 Year of fee payment: 9 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20151002 Year of fee payment: 10 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20161011 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20161011 |