IP Library Granted Patent US 7,653,790
Granted Patent B2
US 7,653,790 · App. 10/145,438 · Granted Jan 26, 2010

Methods and apparatus for responding to a request cluster

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,653,790
App. No.
10/145,438
Granted
Jan 26, 2010
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. A home cluster of processors receives a cache access request from a request cluster. The home cluster includes mechanisms for instructing probed remote clusters to respond to the request cluster instead of to the home cluster. The home cluster can also include mechanisms for reducing the number of probes sent to remote clusters. Techniques are also included for providing the requesting cluster with information to determine the number of responses to be transmitted to the requesting cluster as a result of the reduction in the number of probes sent at the home cluster.

Claims (50)

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;

a request cluster including a second plurality of processors and a request cache coherence controller, the second plurality of processors and the request cache coherence controller interconnected in a point-to-point architecture, the request cache coherence controller configured to receive a cache access request from a request processor and forward the request to the home cache coherence controller;

wherein the home cache coherence controller is configured to send a probe to N remote cache coherence controllers in N remote clusters upon receiving the cache access request from the request cache coherence controller, wherein the probe includes a data value corresponding to N for the request cache coherence controller to determine the number of probe responses corresponding to the cache access request to be transmitted directly from a plurality of remote cache coherence controllers to the request cache coherence controller, wherein the home cache coherence controller extracts the value of N included in the probe received from the home cache coherence controller and signals the request processor after receiving responses from local nodes and the expected number of responses from remote cache coherence controllers.

2. The computer system of claim 1 , wherein the request cache coherence controller signals a processor associated with the cache access request after the expected number of probe responses are received.

3. The computer system of claim 2 , wherein the request cache coherence controller includes a response counter.

4. The computer system of claim 3 , wherein the request cache coherence controller signals the processor when the response counter reaches a predetermined value.

5. The computer system of claim 3 , wherein N is calculated using a filtered count corresponding to a reduced number of probes to be sent to the plurality of remote cache coherence controllers and a reduced number of probe responses to be transmitted directly from the plurality of remote cache coherence controllers to the request cache coherence controller.

6. The computer system of claim 5 , wherein the filtered count is used to adjust the response counter.

7. The computer system of claim 5 , wherein the filtered count corresponds to the type of transaction associated with the request.

8. The computer system of claim 5 , wherein the filtered count corresponds to the number of probes sent to remote clusters.

9. The computer system of claim 1 , wherein the cache access request includes a first tag identifying the request cluster and a node in the request cluster.

10. The computer system of claim 9 , wherein the probe includes a second tag identifying the request cluster and the node in the request cluster.

11. The computer system of claim 10 , wherein the second tag is included in the probe after the home cache coherence controller accesses a pending buffer.

12. The computer system of claim 11 , wherein the second tag is an instance of the first tag.

13. The computer system of claim 11 , wherein the second tag and the first tag occupy the same tag field.

14. The computer system of claim 9 , wherein the probe is associated with the memory line corresponding to the cache access request.

15. The computer system of claim 9 , wherein the probe is sent after the cache access request is ordered at a serialization point in the home cluster.

16. A method for managing data access, comprising:

transmitting a request to a home cluster comprising a plurality of processors coupled to a home cache coherence controller, the request received from one of a plurality of request processors in a request cluster;

receiving a probe from the home cluster, the probe corresponding to the request and including a data value N corresponding to the number of probes sent to a plurality of remote clusters, the data value N for determining the number of expected probe responses to be transmitted directly from the plurality of remote clusters to a request cluster instead of from the plurality of remote clusters to the home cluster;

receiving at a request cluster a plurality of probe responses directly transmitted from the plurality of remote clusters, the plurality of probe responses corresponding to the request;

receiving a plurality of probe responses from the plurality of request cluster nodes

signaling the request processor after receiving the plurality of probe responses from the plurality of request cluster nodes and the expected number of probe responses from the plurality of remote clusters.

17. The method of claim 16 , wherein the plurality of probe responses comprise probe responses from the home cluster and a remote cluster.

18. The method of claim 17 , further comprising:

receiving a request response corresponding to the request from the home cluster.

19. The method of claim 16 , further comprising signaling a processor associated with the cache access request after the all the expected probe responses are received if receiving the expected probe responses occurs after the probe corresponding to the request is received.

20. The method of claim 16 , further comprising probing local nodes and signaling a processor associated with the cache access request after the probe corresponding to the request is received if receiving the probe corresponding to the request occurs after receiving the probe responses.

21. The method of claim 16 , further comprising altering a response counter associated with the home cluster when the probe corresponding to the request is received.

22. The method of claim 21 , wherein the response counter is decremented by a filtered count included in the response when the response is received.

23. The method of claim 21 , further comprising altering a response counter when a probe response corresponding to the request is received.

24. The method of claim 23 , wherein the response counter is decremented by one when a probe response corresponding to the request is received.

25. The method of claim 21 , further comprising signaling a processor associated with the request after the response counter reaches a predetermined value.

26. An apparatus for managing data access, comprising:

means for transmitting a request to a home cluster comprising a plurality of processors coupled to a home cache coherence controller, the request received from one of a plurality of request processors in a request cluster;

means for receiving a probe from the home cluster, the probe corresponding to the request and including a data value N corresponding to the number of probes sent to a plurality of remote clusters, the data value N for determining the number of expected probe responses to be transmitted directly from the plurality of remote clusters to a request cluster instead of from the plurality of remote clusters to the home cluster;

means for receiving at a request cluster a plurality of probe responses directly transmitted from the plurality of remote clusters, the plurality of probe responses corresponding to the request;

means for receiving a plurality of probe responses from the plurality of request cluster

means for signaling the request processor after receiving the plurality of probe responses from the plurality of request cluster nodes and the expected number of probe responses from the plurality of remote clusters.

27. The apparatus of claim 26 , wherein the plurality of probe responses comprise probe responses from the home cluster and a remote cluster.

28. The apparatus of claim 27 , further comprising:

receiving a request response corresponding to the request from the home cluster.

29. The apparatus of claim 26 , further comprising signaling a processor associated with the cache access request after the all the expected probe responses are received if receiving the expected probe responses occurs after the probe corresponding to the request is received.

30. The apparatus of claim 26 , further comprising probing local nodes and signaling a processor associated with the cache access request after the probe corresponding to the request is received if receiving the probe corresponding to the request occurs after receiving the probe responses.

31. The apparatus of claim 26 , further comprising altering a response counter associated with the home cluster when the probe corresponding to the request is received.

32. The apparatus of claim 31 , wherein the response counter is decremented by a filtered count included in the response when the response is received.

33. The apparatus of claim 31 , further comprising altering a response counter when a probe response corresponding to the request is received.

34. The apparatus of claim 33 , wherein the response counter is decremented by one when a probe response corresponding to the request is received.

35. The apparatus of claim 31 , further comprising signaling a processor associated with the request after the response counter reaches a predetermined value.

Assignments (11)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2013
From: SANMINA CORPORATION
To: MEMORY INTEGRITY, LLC
Reel/Frame 030585/0980 →
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 →
RELEASE OF SECURITY INTEREST Recorded Nov 25, 2008
From: CITIBANK, N.A.
To: HADCO SANTA CLARA, INC.; HADCO CORPORATION; SCIMEX, INC.; SANMINA-SCI SYSTEMS HOLDINGS, INC.; SCI TECHNOLOGY, INC.; SANMINA-SCI CORPORATION
Reel/Frame 021890/0312 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2006
From: U.S. BANK NATIONAL ASSOCIATION (AS SUCCESSOR TO STATE STREET BANK AND TRUST COMPANY OF CALIFORNIA, N.A.), AS COLLATERAL TRUSTEE
To: SANMINA-SCI CORPORATION
Reel/Frame 017646/0661 →
PLEDGE AND SECURITY AGREEMENT Recorded Jan 3, 2005
From: SANMINA-SCI CORPORATION; HADCO CORPORATION; HADCO SANTA CLARA, INC.; SCI TECHNOLOGY, INC.; VIKING INTERWORKS INC.; COMPATIBLE MEMORY, INC.; SCI SYSTEMS, INC.; SANMINA-SCI SYSTEMS (ALABAMA) INC.; SANMINA-SCI SYSTEMS HOLDINGS, INC.; INTERAGENCY, INC.; SANMINA-SCI SYSTEMS ENCLOSURES (DENTON) INC.; SCIMEX, INC.; NEWISYS, INC.; SANMINA-SCI ENCLOSURES USA INC.; SCI PLANT NO. 5, L.L.C.; SCI PLANT NO. 22, L.L.C.; SANMINA GENERAL, L.L.C.; SANMINA LIMITED, L.L.C.; SANMINA-SCI, LLC; SANMINA TEXAS, L.P.
To: CITIBANK, N.A.
Reel/Frame 016097/0729 →
PLEDGE SUPPLEMENT Recorded Oct 12, 2004
From: VIKING INTERWORKS INC.; HADCO SANTA CLARA, INC.; SCI SYSTEMS, INC.; NEWISYS, INC.; HADCO CORPORATION; SANMINA-SCI CORPORATION; SCI TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS SUCCESSOR CORPORATE TRUSTEE TO STATE STREET BANK AND TRUST COMPANY, N.A.
Reel/Frame 015841/0960 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2002
From: GLASCO, DAVID B.
To: NEWISYS, INC.
Reel/Frame 012908/0306 →