IP Library Granted Patent US 7,881,321
Granted Patent B2
US 7,881,321 · App. 12/181,202 · Granted Feb 1, 2011

Multiprocessor node controller circuit and method

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,881,321
App. No.
12/181,202
Granted
Feb 1, 2011
Kind
B2
Abstract

A multiprocessor computer system includes a first and second node controller, a number of processors being connected to each node controller, a memory connected to each node controller, a first input/output system connected to the first node controller, and a communications network connected between the node controllers. The first node controller includes: a crossbar unit to which are connected a memory port, an input/output port, a network port, and a plurality of independent processor ports. A first and a second processor port is connected between the crossbar unit and a first subset and a second subset, respectively, of the processors. The memory port includes a memory data port including a memory data bus and a memory address bus coupled to the first subset of memory chips, and a directory data port including a directory data bus and a directory address bus coupled to the second subset of memory chips.

Claims (27)

1. A node controller in a computer system, comprising:

a datapath crossbar operable to pass message frames in a dedicated format;

a plurality of output queues, each output queue associated with a local source, a particular output queue operable to buffer outgoing message frames from the local source for transfer to the datapath crossbar, the particular output queue operable to rate match between a bandwidth of the datapath crossbar and a bandwidth of the local source, the particular output queue operable to provide synchronization between the datapath crossbar and the local source, the particular output queue having a unit interface customized to a unique requirement of the associated local source, the particular output queue having a datapath interface that is uniform with the datapath crossbar for all output queues;

a memory/directory interface unit operable to convert data to and from a format of a memory device coupled thereto and the dedicated format of the datapath crossbar;

an input/output interface unit operable to convert data to and from a format of a device coupled thereto and the dedicated format of the datapath crossbar;

a network interface unit operable to convert data to and from a network format and the dedicated format of the datapath crossbar;

a processing device interface unit operable to convert data to and from a format of a processing device coupled thereto and the dedicated format of the datapath crossbar;

wherein the output queues associated with the memory/directory interface unit include separate header and data buffers.

2. The node controller of claim 1 , wherein the unit interface operates at a clock speed of the local source and the datapath operates at a clock speed of the datapath crossbar.

3. The node controller of claim 1 , wherein the particular output queue is operable to bypass synchronization when the associated local source is synchronized with the datapath crossbar.

4. The node controller of claim 1 , wherein the dedicated format of a particular message frame indicates which port of the datapath crossbar the particular message frame is destined, whether the particular message is a request or a reply, and whether the particular message frame is a last frame of a message.

5. The node controller of claim 1 , wherein the datapath crossbar is operable to interleave message frames associated with different virtual channels.

6. The node controller of claim 1 , further comprising:

an arbiter operable to control message frame transfer within the datapath crossbar.

7. The node controller of claim 6 , wherein the arbiter prevents mixing of message frames for different messages on one virtual channel.

8. The node controller of claim 6 , wherein the arbiter is operable to provide wavefront arbitration for the output queues, wavefront arbitration allowing a particular output queue to read data upon grant from a buffer location in a first clock cycle and provide the data to the datapath crossbar in a second clock cycle.

9. The node controller of claim 6 , wherein the arbiter is operable to provide bypass arbitration, bypass arbitration allowing a particular output queue to provide data upon grant to the datapath crossbar in a single clock cycle upon receipt without storing the data in a buffer.

10. The node controller of claim 1 , wherein the header buffer handles all message frames associated with a request from the memory/directory interface unit.

11. The node controller of claim 1 , wherein the data buffer includes dual buffers written into simultaneously by the memory/directory interface unit and read alternatingly by the datapath crossbar.

12. The node controller of claim 1 , wherein the output queues associated with the memory directory unit include a dedicated output queue for the processing device interface unit and a dedicated output queue associated with the other units of the node controller.

13. The node controller of claim 1 , wherein the network interface unit is operable to provide message frames associated with read requests directly to the memory/directory interface unit and bypass the datapath crossbar.

14. The node controller of claim 1 , wherein the network interface unit and the memory/directory interface unit are aware of a buffer depth for its associated output queues.

15. The node controller of claim 14 , wherein the network interface unit and the memory directory interface unit are each operable to receive an indication that a buffer location in its associated output queues has become available for use.

16. The node controller of claim 1 , wherein the datapath crossbar is operable to pass copies of message frames entering and leaving the datapath crossbar unit to the network interface unit regardless of a destination for the message frames.

17. The node controller of claim 1 , further comprising:

a plurality of input queues associated with local destinations that are asynchronous with the datapath crossbar.

18. The node controller of claim 17 , wherein a fill level of the input queues is used to control a flow of message frames from the output queues.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS AGENT
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 040545/0362 →
SECURITY INTEREST Recorded Mar 13, 2015
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035200/0722 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2015
From: SILICON GRAPHICS, INC.
To: SILICON GRAPHICS INTERNATIONAL, INC.
Reel/Frame 034804/0446 →
CHANGE OF NAME Recorded Jan 22, 2015
From: SILICON GRAPHICS INTERNATIONAL, INC.
To: SGI INTERNATIONAL, INC.
Reel/Frame 034804/0661 →
MERGER Recorded Jan 22, 2015
From: SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 034804/0437 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2012
From: SILICON GRAPHICS, INC. ET AL.; SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL, CORP.
Reel/Frame 027904/0315 →
CHANGE OF NAME Recorded Aug 26, 2009
From: SILICON GRAPHICS, INC.
To: GRAPHICS PROPERTIES HOLDINGS, INC.
Reel/Frame 023134/0827 →
SECURITY AGREEMENT Recorded Jan 22, 2009
From: SILICON GRAPHICS, INC.
To: MORGAN STANLEY & CO., INCORPORATED
Reel/Frame 022137/0162 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2008
From: DENEROFF, MARTIN M.; KALDANI, GIVARGIS G.; MCCRACKEN, DAVID EDWARD; KOREN, YUVAL; VENKATARAMAN, SWAMINATHAN
To: SILICON GRAPHICS, INC.
Reel/Frame 021303/0137 →