IP Library Granted Patent US 8,892,805
Granted Patent B2
US 8,892,805 · App. 13/788,281 · Granted Nov 18, 2014

High performance system that includes reconfigurable protocol tables within an ASIC wherein a first protocol block implements an inter-ASIC communications protocol and a second block implements an intra-ASIC function

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 8,892,805
App. No.
13/788,281
Granted
Nov 18, 2014
Kind
B2
Abstract

A high performance computing system is provided with an ASIC that communicates with another device in the system according to a protocol defined by the other device. The ASIC is coupled to a reconfigurable protocol table, in the form of a high speed content-addressable memory (“CAM”). The CAM includes instructions to control the execution of the protocol by the ASIC. The CAM may include instructions to control the ASIC in the event that unanticipated signals or other errors are encountered while executing the protocol. Internal ASIC state data may be routed to the CAM to permit the ASIC to generate a reasonable response to errors either in the design or fabrication of the ASIC or the device with which it is communicating.

Claims (28)

1. A computing node in a high-performance computing system, the computing node comprising:

an electronic device having a port for communicating using a protocol defined by the electronic device;

an application-specific integrated circuit (ASIC), coupled to the port, the ASIC having a protocol block for implementing an inter-ASIC communications protocol that has a current protocol state and at least one other functional block for implementing an intra-ASIC function that has an internal state; and

a content-addressable memory (CAM), coupled to the protocol block of the ASIC, the CAM storing a protocol table that maps a current protocol state, an ASIC internal state, and a protocol event onto an action and a next protocol state;

the ASIC being configured, in response to receiving indication of an event, to:

send to the CAM data indicating the current protocol state, a portion of the internal state of the intra-ASIC function, and the event,

responsively receive from the CAM data indicating a next protocol state and an action,

update the current protocol state to be the indicated next protocol state, and execute the indicated action;

and wherein the protocol includes QPI or HyperTransport.

2. The computing node of claim 1 , wherein the electronic device includes a microprocessor, a volatile memory, an FPGA, or a second ASIC.

3. The computing node of claim 1 , wherein receiving indication of the event includes receiving a message from the port according to the protocol, receiving a message from an ASIC in a second computing node, or identifying an elapse of a period of time.

4. The computing node of claim 1 , wherein executing the indicated action includes sending a message to the port according to the protocol, sending a message to an ASIC in a second computing node, or waiting for a period of time.

5. The computing node of claim 1 , wherein the internal state of the intra-ASIC function is one of an arithmetic state, a routing state, a management state, or an error processing state.

6. The computing node of claim 1 , wherein the protocol table includes data indicating an event that is not defined by the protocol.

7. The computing node of claim 6 , wherein the protocol table encodes a plurality of actions to take in response to the event that is not defined by the protocol, each action corresponding to a different ASIC internal state.

8. The computing node of claim 7 , wherein the indicated action includes requerying the CAM to determine which action in the plurality of actions is the best.

9. A method of communicating by and between an ASIC and an electronic device according to a protocol defined by the electronic device, the ASIC having a protocol block for implementing an inter-ASIC communications protocol that has a current protocol state, and at least one other functional block for implementing an intra-ASIC function that has an internal state, the method comprising:

receiving indication in the ASIC of an event;

sending, from the protocol block to a CAM, data indicating the current protocol state, an portion of the internal state of the intra-ASIC function, and the event;

responsively receiving, by the protocol block from the CAM, data indicating a next protocol state and an action,

updating the current protocol state to be the indicated next protocol state; and executing the indicated action; and wherein the protocol includes QPI or HyperTransport.

10. The method of claim 9 , wherein the electronic device includes a microprocessor, a volatile memory, an FPGA, or a second ASIC.

11. The method of claim 9 , wherein receiving indication of the event includes receiving a message from the electronic device according to the protocol, receiving a message from an ASIC in a second computing node, or identifying an elapse of a period of time.

12. The method of claim 9 , wherein executing the indicated action includes sending a message to the electronic device according to the protocol, sending a message to an ASIC in a second computing node, or waiting for a period of time.

13. The method of claim 9 , wherein the internal state of the intra-ASIC function is one of an arithmetic state, a routing state, a management state, or an error processing state.

14. The method of claim 9 , wherein the protocol table includes data indicating an event that is not defined by the protocol.

15. The method of claim 14 , wherein the protocol table encodes a plurality of actions to take in response to the event that is not defined by the protocol, each action corresponding to a different ASIC internal state.

16. The method of claim 15 , wherein the indicated action includes requerying the CAM to determine which action in the plurality of actions is the best.

Assignments (4)
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 Mar 7, 2013
From: MCGEE, THOMAS EDWARD
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 029941/0667 →