IP Library Granted Patent US 10,747,709
Granted Patent B2
US 10,747,709 · App. 16/178,738 · Granted Aug 18, 2020

Memory network processor

Inventors: Carl S. Dobbs (Austin, TX); Keith M. Bindloss (San Clemente, CA); Kenneth R. Faulkner (Austin, TX); Alex E. Icaza (Austin, TX); Frederick A. Rush (Hillsdale, MI); Faisal A. Syed (Austin, TX); Michael R. Trocino (Austin, TX)
Assignee: COHERENT LOGIX, INCORPORATED
G06F15/17343G06F9/542G06F9/544G06F9/546G06F15/17312H04L45/745
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 10,747,709
App. No.
16/178,738
Granted
Aug 18, 2020
Kind
B2
Abstract

A multi-processor system with processing elements, interspersed memory, and primary and secondary interconnection networks optimized for high performance and low power dissipation is disclosed. In the secondary network multiple message routing nodes are arranged in an interspersed fashion with multiple processors. A given message routing node may receive messages from other message nodes, and relay the received messages to destination message routing nodes using relative offsets included in the messages. The relative offset may specify a number of message nodes from the message node that originated a message to a destination message node.

Claims (36)

1. An apparatus, comprising:

a multi-processor including a plurality of processors; and

a plurality of message nodes coupled to the plurality of processors in an interspersed arrangement, wherein a particular message node of the plurality of message nodes is configured to:

receive a first message that includes a payload and routing information that includes information indicative of a relative offset from the particular message node to another message node of the plurality of message nodes specified as a destination of the first message;

select a different message node of the plurality of message nodes based on the routing information and operational information of the multi-processor;

modify, based on the different message node, the routing information of the first message to generate a second message; and

forward the second message to the different message node.

2. The apparatus of claim 1 , wherein the routing information includes information indicative of an absolute destination for the first message.

3. The apparatus of claim 1 , wherein the particular message node is further configured to:

generate a plurality of third messages based in response to a determination that the first message is a broadcast message; and

forward each of the plurality of third messages to a respective one of the plurality of message nodes.

4. The apparatus of claim 1 , wherein the first message includes at least a portion of the operational information.

5. The apparatus of claim 1 , wherein to select the different message node, the particular message node is further configured to retrieve a next destination from a table included in the particular message node using information included in the first message that specifies a destination.

6. A method, comprising:

receiving, by a particular message node of a plurality of message nodes included in a multi-processor array, a first message that includes a payload and routing information that includes information indicative of a relative offset from the particular message node to another message node of the plurality of message nodes specified as a destination of the first message;

selecting, by the particular message node, a different message node of the plurality of message nodes based on the routing information and operational information of the multi-processor array;

generating, by the particular message node, a second message based the different message node; and

forwarding, by the particular message node, the second message to the different message node.

7. The method of claim 6 , wherein generating the second message includes modifying the routing information of the first message to generate modified routing information that is included in the second message.

8. The method of claim 6 , wherein the routing information includes information indicative of an absolute destination for the first message.

9. The method of claim 6 , receiving, by the particular message node, a request from a processing element included in the multi-processor array, and generating, by the particular message node, a third message based on the request.

10. The method of claim 6 , further comprising:

generating a plurality of third messages based in response to a determination that the first message is a broadcast message; and

forwarding each of the plurality of third messages to a respective one of the plurality of message nodes.

11. The method of claim 6 , further comprising, retrieving, from a table, by the particular message node using at least part of the routing information, information indicative of a next destination for the first message.

12. An apparatus, comprising:

a router circuit coupled to a message bus, wherein the router circuit is configured to receive a first message that includes a payload and routing information, wherein the routing information includes information indicative of a relative offset to a given message node of the plurality of message nodes specified as a destination of the first message; and

a network processor circuit configured to:

select a particular message node of a plurality of message nodes based on the routing information and operational information for a multi-processor array, wherein the message nodes included in the plurality of message nodes are coupled together via the message bus; and

modify, based on the particular message node, the routing information of the first message to generate a second message; and

wherein the router circuit is further configured to forward the second message to the particular message node.

13. The apparatus of claim 12 , wherein the routing information includes information indicative of an absolute destination for the first message.

14. The apparatus of claim 12 , further comprising a configuration circuit configured to store the operational information.

15. The apparatus of claim 12 , wherein the first message includes at least a portion of the operational information.

16. The apparatus of claim 12 , wherein the network processor circuit is configured to receive a request from a processing element included in the multi-processor array, and generate a third message based on the request, and wherein the router circuit is further configured to forward the third message to a different message node of the plurality of message nodes based on information included in the third message.

17. The apparatus of claim 12 , further comprising a table configured to store a plurality of entries, and wherein the network processor circuit is further configured to retrieve a next destination from the table using information included in the first message.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2025
From: PACIFIC CAP ACQUISITION FUND, LLC
To: HYPERX HOLDINGS LLC
Reel/Frame 072342/0090 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2025
From: COHERENT LOGIX, INC.
To: PACIFIC CAP ACQUISITION FUND, LLC
Reel/Frame 072370/0394 →
SECURITY INTEREST Recorded Apr 11, 2024
From: COHERENT LOGIX, INCORPORATED
To: ACP POST OAK CREDIT I LLC
Reel/Frame 067097/0363 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2019
From: DOBBS, CARL S.; BINDLOSS, KEITH M.; FAULKNER, KENNETH R.; ICAZA, ALEX E.; RUSH, FREDERICK A.; SYED, FAISAL A.; TROCINO, MICHAEL R.
To: COHERENT LOGIX, INCORPORATED
Reel/Frame 048075/0859 →