IP Library Granted Patent US 7,003,633
Granted Patent B2
US 7,003,633 · App. 10/288,347 · Granted Feb 21, 2006

Methods and apparatus for managing probe requests

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,003,633
App. No.
10/288,347
Granted
Feb 21, 2006
Kind
B2
Abstract

According to the present invention, methods and apparatus are provided for increasing the efficiency of data access in a multiple processor, multiple cluster system. Mechanisms for reducing the number of transactions in a multiple cluster system are provided. In one example, probe filter information is used to limit the number of probe requests transmitted to request and remote clusters.

Claims (47)

1. A computer system, comprising:

a home cluster including a first plurality of processors and a home cache coherence controller, the first plurality of processors and the home cache coherence controller interconnected in a point-to-point architecture;

wherein the home cache coherence controller is configured to receive a probe request and probe one or more remote clusters, the one or more remote clusters each including multiple processors and a remote cache coherence controller, wherein the one or more remote clusters are selected based on the characteristics associated with the probe request and probe filter information.

2. The computer system of claim 1 , wherein the one or more clusters are selected using probe filter information associated with a cache coherence directory.

3. The computer system of claim 1 , wherein the cache coherence directory identifies the state of a plurality of memory lines.

4. The computer system of claim 1 , wherein the characteristics associated with the probe request include whether the probe request is a read or a read/write request.

5. The computer system of claim 1 , wherein the characteristics associated with the probe request include the state of a memory line associated with the probe request.

6. The computer system of claim 1 , wherein probing a selected cluster comprises probing nodes in the selected cluster and sending a response with a completion indicator back to a request cluster.

7. The computer system of claim 6 , wherein the completion indicator notifies the request cluster that the probe request is completed.

8. The computer system of claim 6 , wherein the completion indicator notifies the request cluster that no other responses associated with the probe request will be transmitted to the request cluster.

9. The computer system of claim 6 , wherein the completion indicator is a completion bit.

10. The computer system of claim 6 , wherein the completion indicator can be used if the probe request is a read request.

11. The computer system of claim 6 , wherein the completion indicator can be used if the probe request is a read/modify request and the state associated with a memory line is invalid or modified.

12. The computer system of claim 6 , wherein the completion indicator can not be used if the probe request is a read/modify request and a single remote cluster has a memory line associated with the probe request cached in a shared state.

13. The computer system of claim 6 , wherein the completion indicator can not be used if the probe request is a read/modify request and no other clusters other than a single remote cluster has a memory line associated with the probe request cached in an owned state.

14. The computer system of claim 1 , wherein a home cluster is selected for probing.

15. The computer system of claim 14 , wherein the home cluster is selected for probing if a memory line associated with the probe request is in an invalid state.

16. The computer system of claim 14 , wherein the home cluster is selected for probing if the probe request is a read request and a memory line associated with the probe request is in a shared state.

17. The computer system of claim 16 , wherein probing a home cluster comprises probing nodes in the home cluster, receiving probe responses, and sending a response with a completion indicator to a request cluster.

18. The computer system of claim 17 , wherein probing nodes in the home cluster includes forwarding the probe request to a home cluster memory controller.

19. The computer system of claim 1 , wherein a remote cluster is selected for probing.

20. The computer system of claim 19 , wherein a remote cluster is selected for probing if a memory line associated with the probe request is in a modified state.

21. The computer system of claim 19 , wherein a remote cluster is selected for probing if the probe request is a read request and a memory line associated with the probe request is in an owned state.

22. The computer system of claim 19 , wherein a remote cluster is selected for probing if the probe request is a read/write request and the single remote cluster has memory lines associated with the probe request cached in a shared state.

23. The computer system of claim 19 , wherein a remote cluster is selected for probing if the probe request is a read/write request and no other clusters other than the single remote cluster has a memory line associated with the probe request cached in an owned state.

24. The computer system of claim 19 , wherein probing a remote cluster comprises probing nodes in the home cluster, forwarding a probe request with a completion indicator to the remote cluster, and receiving probe responses from the home cluster nodes.

25. The computer system of claim 24 , wherein the remote cluster receives the probe request with the completion indicator, probe remote cluster nodes, and sends a response with a completion indicator to the request cluster.

26. A method for managing probes, the method comprising:

receiving a probe request at a home cache coherence controller in a home cluster, the home cluster including a first plurality of processors and the home cache coherence controller, wherein the first plurality of processors and the home cache coherence controller are interconnected in a point-to-point architecture;

selecting one or more remote clusters for probing based on the characteristics associated with the probe request and probe filter information, the one or more remote clusters each including multiple processors and a remote cache coherence controller; and

probing the one or more remote clusters.

27. The method of claim 26 , wherein the one or more clusters are selected using probe filter information associated with a cache coherence directory.

28. The method of claim 26 , wherein the cache coherence directory identifies the state of a plurality of memory lines.

29. The method of claim 26 , wherein the characteristics associated with the probe request include whether the probe request is a read or a read/write request.

30. The method of claim 26 , wherein the characteristics associated with the probe request include the state of a memory line associated with the probe request.

31. The method of claim 26 , wherein probing a selected cluster comprises probing nodes in the selected cluster and sending a response with a completion indicator back to a request cluster.

32. The method of claim 31 , wherein the completion indicator notifies the request cluster that the probe request is completed.

33. A apparatus for managing probes, the apparatus comprising:

means for receiving a probe request at a home cache coherence controller in a home cluster, the home cluster including a first plurality of processors and the home cache coherence controller, wherein the first plurality of processors and the home cache coherence controller are interconnected in a point-to-point architecture;

means for selecting one or more remote clusters for probing based on the characteristics associated with the probe request and probe filter information, the one or more remote clusters each including multiple processors and a remote cache coherence controller; and

means for probing the one or more remote clusters.

34. The apparatus of claim 33 , wherein the one or more clusters are selected using probe filter information associated with a cache coherence directory.

35. The apparatus of claim 33 , wherein the cache coherence directory identifies the state of a plurality of memory lines.

36. The apparatus of claim 33 , wherein the characteristics associated with the probe request include whether the probe request is a read or a read/write request.

37. The apparatus of claim 33 , wherein the characteristics associated with the probe request include the state of a memory line associated with the probe request.

38. The apparatus of claim 33 , wherein probing a selected cluster comprises probing nodes in the selected cluster and sending a response with a completion indicator back to a request cluster.

39. The apparatus of claim 38 , wherein the completion indicator notifies the request cluster that the probe request is completed.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2019
From: U.S. BANK NATIONAL ASSOCIATION, SOLELY AS NOTES COLLATERAL AGENT
To: SANMINA CORPORATION; HADCO CORPORATION; HADCO SANTA CLARA; SCI TECHNOLOGY; SENSORWISE, INC.
Reel/Frame 049378/0927 →
SECURITY INTEREST Recorded Aug 3, 2018
From: SANMINA CORPORATION
To: U.S. BANK NATIONAL ASSOCIATION, NOT IN ITS INDIVIDUAL CAPACITY BUT SOLELY AS NOTES COLLATERAL AGENT
Reel/Frame 046797/0063 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2018
From: MEMORY INTEGRITY, LLC
To: SANMINA CORPORATION
Reel/Frame 046249/0843 →
MERGER Recorded Nov 28, 2012
From: SANMINA-SCI CORPORATION
To: SANMINA CORPORATION
Reel/Frame 029368/0472 →
MERGER Recorded Jul 27, 2012
From: NEWISYS, INC.
To: SANMINA-SCI CORPORATION
Reel/Frame 028652/0891 →