IP Library Granted Patent US 9,122,816
Granted Patent B2
US 9,122,816 · App. 14/542,023 · Granted Sep 1, 2015

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 9,122,816
App. No.
14/542,023
Granted
Sep 1, 2015
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 (27)

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.

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.

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)
RELEASE OF SECURITY INTEREST Recorded Aug 14, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC., AS AGENT
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 053496/0526 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
SECURITY INTEREST Recorded Feb 12, 2016
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037726/0258 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: MCGEE, THOMAS EDWARD
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 035329/0731 →