IP Library Granted Patent US 7,222,262
Granted Patent B2
US 7,222,262 · App. 10/635,700 · Granted May 22, 2007

Methods and devices for injecting commands in systems having multiple multi-processor clusters

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,222,262
App. No.
10/635,700
Granted
May 22, 2007
Kind
B2
Abstract

Techniques and devices are provided for injecting transactions within computer systems having a plurality of multi-processor clusters. Each cluster includes a plurality of nodes, including processors, a service processor and an interconnection controller interconnected by point-to-point intra-cluster links. The processors and the interconnection controller in each cluster make transactions via an intra-cluster transaction protocol. Inter-cluster links are formed between interconnection controllers of different clusters. Each of the processors and the interconnection controller in a cluster has a test interface for communicating with the service processor. The service processor is configured to make an injected transaction according to the intra-cluster transaction protocol via one of the test interfaces. In preferred embodiments, the service processor is configured to make an injected transaction according to the intra-cluster transaction protocol via a test interface of an interconnection controller in the same cluster.

Claims (30)

1. A computer system comprising a plurality of processor clusters, each cluster including a plurality of nodes, the nodes including processors and an interconnection controller interconnected by point-to-point intra-cluster links, each of the processors and the interconnection controller communicating within a cluster via an intra-cluster transaction protocol, inter-cluster links being formed between interconnection controllers of different clusters, each of the processors and the interconnection controller in a cluster having a test interface for communicating with a service processor, at least one of the nodes in a cluster is a command-injecting node configured to receive a command via a test interface and to inject the command into a queue of commands according to the intra-cluster transaction protocol.

2. The computer system of claim 1 , wherein the test interface is compliant with the Joint Test Action Group (“JTAG”) standard.

3. The computer system of claim 1 , wherein the injected command is selected from the group consisting of (a) a command for reading a configuration of a node within a local cluster that includes the service processor that made the injected transaction; (b) a command for writing a configuration of a node within a local cluster that includes the service processor that made the injected transaction; (c) a command for reading a configuration of a node within a remote cluster that does not include the service processor that made the injected transaction; and (d) a command for writing a configuration of a node within a remote cluster that does not include the service processor that made the injected transaction.

4. The computer system of claim 1 , wherein the injected command comprises a new transaction.

5. The computer system of claim 1 , wherein the injected command comprises a part of a transaction that was in progress before the command was injected.

6. The computer system of claim 1 , wherein the interconnection controllers communicate between clusters via an inter-cluster transaction protocol.

7. The computer system of claim 1 , wherein the test interface further comprises a mailbox register for receiving the command.

8. The computer system of claim 1 , wherein a command is received from the test interface in a first clock domain and at least part of the command-injecting node operates in a second clock domain, and wherein the command-injecting node is further configured for:

receiving injected transactions in the first clock domain; and

synchronizing the injected transactions to the second clock domain.

9. The computer system of claim 1 , wherein the command-injecting node is an interconnection controller.

10. The computer system of claim 2 , wherein the command-injecting node is any device capable of driving the JTAG interface.

11. The computer system of claim 4 , wherein the new transaction is within a local cluster that includes the command-injecting node.

12. The computer system of claim 4 , wherein the new transaction is within a remote cluster that includes the command-injecting node.

13. The computer system of claim 7 , wherein the mailbox register is configured to be connected with a test data in interface and a test data out interface.

14. An interconnection controller for use in a computer system comprising a plurality of processor clusters, each cluster including a plurality of nodes, the nodes including processors and an instance of the interconnection controller interconnected by point-to-point intra-cluster links, each of the processors and the interconnection controller within a cluster communicating via an intra-cluster transaction protocol, the interconnection controller configured to receive commands via a test interface and to inject the commands into a queue of pending commands according to the intra-cluster transaction protocol.

15. The interconnection controller of claim 14 , wherein a service processor in a cluster that includes the interconnection controller operates in a first clock domain, wherein the interconnection controller operates in a second clock domain, and wherein the interconnection controller is further configured for:

receiving injected transactions from the service processor in the first clock domain; and

synchronizing the injected transactions to the second clock domain.

16. The interconnection controller of claim 14 , further comprising a mailbox register for receiving the injected transaction from the service processor.

17. The interconnection controller of claim 14 , wherein the queue of pending commands is controlled by a protocol engine, the interconnection controller further configured to process access commands for accessing configuration registers of the interconnection controller without forwarding the access commands to the protocol engine.

18. The interconnection controller of claim 17 , further comprising a configuration access unit for processing access commands.

19. An integrated circuit comprising the interconnection controller of claim 14 .

20. The integrated circuit of claim 19 , wherein the integrated circuit comprises an application-specific integrated circuit.

21. At least one computer-readable medium having data structures stored therein representative of the interconnection controller of claim 14 .

22. The at least one computer-readable medium of claim 21 , wherein the data structures comprise a simulatable representation of the interconnection controller.

23. The at least one computer-readable medium of claim 21 , wherein the data structures comprise a code description of the interconnection controller.

24. The at least one computer-readable medium of claim 22 , wherein the simulatable representation comprises a netlist.

25. The at least one computer-readable medium of claim 23 , wherein the code description corresponds to a hardware description language.

26. A set of semiconductor processing masks representative of the interconnection controller of claim 14 .

Assignments (9)
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2003
From: PRASADH, GURU; GLASCO, DAVID BRIAN; KOTA, RAJESH; DIESING, SCOTT
To: NEWISYS, INC.
Reel/Frame 014378/0821 →