IP Library Granted Patent US 7,434,006
Granted Patent B2
US 7,434,006 · App. 11/165,688 · Granted Oct 7, 2008

Non-speculative distributed conflict resolution for a cache coherency protocol

Assignee: Intel Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,434,006
App. No.
11/165,688
Granted
Oct 7, 2008
Kind
B2
Abstract

A conflict resolution technique provides consistency such that all conflicts can be detected by at least one of the conflicting requestors if each node monitors all requests after that node has made its own request. If a line is in the Exclusive, Modified or Forward state, conflicts are resolved at the node holding the unique copy. The winner of the conflict resolution, and possibly the losers, report the conflict to the home node, which pairs conflict reports and issues forwarding instructions to assure that all requesting nodes eventually receive the requested data. If a requested cache line is either uncached or present only in the Shared state, the home node provides a copy of the cache node and resolves conflicts. In one embodiment, a blackout period after all responses until an acknowledgement message has been received allows all conflicting nodes to be aware of conflicts in which they are involved.

Claims (39)

1. A method comprising:

resolving conflicting requests from multiple peer nodes for a block of data by a peer node having a valid copy of requested data that is requested by the conflicting requests;

resolving conflicting requests for the block of data by a home node corresponding to the requested data if no unique, cached copy is stored by one of the peer nodes;

wherein resolving conflicting requests by a peer node comprises:

receiving, from a peer node having a valid copy of the requested data, a list of peer nodes that have transmitted conflicting requests for the requested data; and

transmitting a copy of the requested data to a target peer node from the list.

2. The method of claim 1 wherein transmitting a copy of the requested data to the target peer node further comprises transmitting the list, less the transmitting peer node, to the target peer node.

3. The method of claim 1 further comprising receiving an acknowledgement message from a home node corresponding to the requested data.

4. The method of claim 1 further comprising changing a state associated with a copy of the requested data stored by the peer node transmitting the requested to the target node.

5. The method of claim 1 wherein resolving conflicting requests by the home node comprises:

receiving, from a peer node, a list of peer nodes that have transmitted conflicting requests for the requested data; and

transmitting a copy of the requested data from the home node to a target node from the list.

6. The method of claim 5 wherein transmitting a copy of the requested data to the target node further comprises transmitting the list, less the transmitting node, to the target node.

7. The method of claim 1 wherein the block of data comprises a cache line.

8. A system comprising:

a plurality of peer nodes having cache memories to generate requests for data, a peer node having a valid, cached copy of requested data to resolve conflicting requests and to provide a copy of the requested data to one of the multiple requesting peer nodes;

a home node corresponding to the requested data coupled with the peer nodes, the home node to resolve the conflicting requests if no peer node stores a valid, cached copy of the requested data;

wherein one or more of the requesting peer nodes transmits a list of peer nodes that generated a conflicting request to the peer node to resolve the conflict; and

wherein the peer node to resolve the conflicting requests transmits a copy of the requested data to a target node from the list.

9. The system of claim 8 wherein the requested data comprises a cache line.

10. The system of claim 8 wherein the peer node to resolve the conflicting requests further to transmit a copy of the list, less the transmitting node, to the target node.

11. The system of claim 8 wherein one or more of the requesting peer nodes transmits a list of peer nodes that generated a conflicting request to the home node.

12. The system of claim 11 wherein the home node transmits a copy of the requested data to a target node from the list.

13. The system of claim 12 wherein the peer node to resolve the conflicting requests further to transmit a copy of the list, less the transmitting and target nodes, to the target node.

14. The system of claim 8 wherein a peer node comprises:

a processor;

a cache memory coupled with the processor; and

an external memory coupled with the processor.

15. The system of claim 8 further comprising an agent to represent multiple nodes coupled with the peer nodes and the home node.

16. An apparatus comprising:

means for resolving conflicting requests from multiple peer nodes for a block of data by a peer node having a valid copy of requested data that is requested by the conflicting requests;

means for resolving conflicting requests for the block of data by a home node corresponding to the requested data if no unique, cached copy is stored by one of the peer nodes;

wherein the means for resolving conflicting requests by a peer node comprises:

means for receiving, from a peer node having a valid copy of the requested data, a list of peer nodes that have transmitted conflicting requests for the requested data; and

means for transmitting a copy of the requested data to a target peer node from the list.

17. The apparatus of claim 16 wherein the means for resolving conflicting requests by the home node comprises:

means for receiving, from a peer node, a list of peer nodes that have transmitted conflicting requests for the requested data; and

means for transmitting a copy of the requested data from the home node to a target node from the list.

18. The apparatus of claim 16 wherein the block of data comprises a cache line.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061175/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2005
From: BEERS, ROBERT H.; HUM, HERBERT H.J.; GOODMAN, JAMES R.
To: INTEL CORPORATION
Reel/Frame 016730/0631 →
Continuity (2)
Division 1032623200 · Dec 19, 2002
Related Publication 20050237941A1 · Oct 27, 2005