IP Library Granted Patent US 12,346,285
Granted Patent B2
US 12,346,285 · App. 17/461,225 · Granted Jul 1, 2025

Diagonal torus network

Inventors: Jerry Chang Jui Kao (Taipei, TW); Huang-Yu Chen (Zhudong Township, TW); Yung-Chen Chien (Kaohsiung, TW); Tzu-Ying Lin (Hsinchu, TW); Wei-Hsiang Ma (Taipei, TW); Chung-Hsing Wang (Baoshan Township, TW)
Assignee: Taiwan Semiconductor Manufacturing Company, Ltd.
G06F15/17381G06F15/17G06F15/17306
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 12,346,285
App. No.
17/461,225
Granted
Jul 1, 2025
Kind
B2
Abstract

A device is disclosed that includes multiple channels and multiple processing nodes. Each processing node includes input/output (I/O) ports coupled to the channels and channel control modules coupled to the I/O ports. Each processing node is configured to select, by the channel control module in a first operation, a first I/O port of the I/O ports; communicate a first message, via the first I/O port, to a first processing node over a first channel or a second processing node over a second channel orthogonal to the first channel in a logic representation; select, by the channel control module in a second operation, a second I/O port of the I/O ports; and communicate a second message, via the second I/O port, to a third processing node over a third channel extending in a diagonal direction and non-orthogonal to the first and second channels in the logic representation.

Claims (68)

1. A device, comprising:

a plurality of channels; and

a plurality of processing nodes comprising terminal processing nodes, wherein each processing node is connected to at least two vertical channels and two horizontal channels and at least four diagonal channels non-orthogonal to the horizontal and vertical channels,

wherein each terminal processing node of the plurality of processing nodes is connected by a respective channel to a terminal processing node on an opposing edge,

wherein each processing node of the plurality of processing nodes is configured to communicate with each of the other plurality of processing nodes within a maximum of two hops, and

wherein each processing node comprises:

a plurality of input/output (I/O) ports coupled to the plurality of channels; and

a plurality of channel control modules coupled to the plurality of I/O ports, and

wherein each processing node is configured to:

select, by the channel control module in a first operation, a first I/O port from the plurality of I/O ports;

communicate a first message, via the first I/O port, to a first processing node over a first channel or to a second processing node over a second channel orthogonal to the first channel;

select, by the channel control module in a second operation, a second I/O port from the plurality of I/O ports; and

communicate a second message, via the second I/O port, to a third processing node over a third channel extending in a diagonal direction that is non-orthogonal to the first and second channels.

2. The device of claim 1 , wherein the plurality of I/O ports comprises at least eight input ports and eight output ports.

3. The device of claim 1 , wherein the plurality of channels comprises:

a first routing mesh comprising the first channel and extending in a horizontal direction;

a second routing mesh comprising the second channel and extending in a vertical direction; and

a third routing mesh comprising the third channel and extending in the diagonal direction.

4. The device of claim 1 , wherein:

the plurality of channels comprises m channels, m being an integer greater than or equal to eight, and

an m th channel extends in a non-orthogonal direction relative to a direction of an (m+1) th channel.

5. The device of claim 1 , wherein at least one processing node of the plurality of processing nodes is arranged in a diagonal ring-route mesh network.

6. The device of claim 1 , wherein the plurality of processing nodes further comprise at least one non-diagonal processing node, wherein the non-diagonal processing node is coupled to the first channel or the second channel, and wherein the non-diagonal processing node is not coupled to the third channel.

7. The device of claim 1 , wherein a length of the third channel is less than three times that of the first or second channel.

8. A method, comprising:

selecting a first input/output (I/O) port and a second I/O port from a plurality of I/O ports; and

transmitting a communication from a processing node to another processing node of a plurality of processing nodes within a maximum of two hops, wherein each processing node of the plurality of processing nodes is connected to at least two vertical channels and two horizontal channels and at least four diagonal channels non-orthogonal to the horizontal and vertical channels, and wherein each terminal processing node of the plurality of processing nodes is connected by a respective channel to a terminal processing node on an opposing edge, and

wherein transmitting the communication comprises:

communicating a first message, via the first I/O port, to a first processing node over a first channel or to a second processing node over a second channel orthogonal to the first channel; and

communicating a second message, via the second I/O port, to a third terminal processing node on an opposing edge over a third channel extending in a diagonal direction that is a non-orthogonal direction relative to the first and second channels.

9. The method of claim 8 , further comprising:

receiving a third message via one of the first channel or the second channel, wherein the first and second channels are arranged for unidirectional communication in a diagonal ring-route mesh network, and wherein communicating the first message comprises transmitting the first message via one of the first channel or the second channel.

10. The method of claim 8 , wherein:

the first channel is arranged to extend in a horizontal direction;

the second channel is arranged to extend in a vertical direction; and

the third channel is arranged to extend in the diagonal direction.

11. The method of claim 8 , wherein:

selecting the first I/O port comprises selecting the first I/O port from a plurality of I/O ports coupled respectively to a plurality of channels greater than or equal to m channels, wherein m is eight,

selecting the second I/O port comprises selecting the second I/O port from the plurality of I/O ports, and

the m th channel extends in the non-orthogonal direction relative to a direction of an (m+1) th channel.

12. The method of claim 8 , wherein communicating the second message comprises communicating with a router of the second processing node, and wherein the second processing node is arranged in a diagonal ring-route mesh network.

13. The method of claim 8 , wherein communicating the first message comprises communicating with a router of the first processing node, and wherein the first processing node is not coupled to a channel extending in the diagonal direction.

14. The method of claim 8 , wherein a length of the third channel is less than three times that of the first or second channel.

15. A system, comprising:

a plurality of channels, comprising:

a first channel extending in a first direction;

a second channel extending in a second direction orthogonal to the first channel; and

a third channel extending in a third direction non-orthogonal to the first channel and non-orthogonal to the second channel; and

a plurality of processing nodes, wherein each processing node is connected to two vertical channels and two horizontal channels and at least four diagonal channels non-orthogonal to the horizontal and vertical channels, and wherein the plurality of processing nodes comprise:

a plurality of terminal processing nodes wherein each terminal processing node is connected by a respective channel to a terminal processing node on an opposing edge, wherein each processing node of the plurality of processing nodes is configured to communicate with each of the other plurality of processing nodes within a maximum of two processing nodes, and

wherein each processing node comprises:

a plurality of input/output ports, comprising;

a first input/output (I/O) port;

a second I/O port; and

a third I/O port, wherein the first, second, and third I/O ports are coupled, respectively, to the first, second, and third channels; and

at least one channel control module coupled to the first to third I/O ports, wherein each channel control module is configured to:

select, by the channel control module in a first operation, a first I/O port from the plurality of I/O ports;

communicate a first message, via the first I/O port, to a first processing node over the first channel or to a second processing node over the second channel;

select, by the channel control module in a second operation, a second I/O port from the plurality of I/O ports; and

communicate a second message, via the second I/O port, to a third processing node over the third channel.

16. The system of claim 15 , wherein the plurality of I/O ports comprises at least eight input ports and eight output ports.

17. The system of claim 15 , wherein the plurality of channels comprises: a first routing mesh comprising the first channel and extending in a horizontal direction; a second routing mesh comprising the second channel and extending in a vertical direction; and a third routing mesh comprising the third channel and extending in a diagonal direction.

18. The system of claim 15 , wherein the plurality of channels comprises m channels, the m channels comprising the first, second, and third channels, m being an integer greater than or equal to eight, the m th channel extends in a non-orthogonal direction relative to a direction of the (m+1) th channel.

19. The system of claim 15 , wherein:

the first and second channels are arranged for unidirectional communication in a diagonal ring-route mesh network,

the channel control module is configured to communicate the first message by transmitting the first message via one of the first channel or the second channel, and

the channel control module is configured to receive a third message in a via one of the first channel or the second channel.

20. The system of claim 15 , wherein the channel control module is configured to couple the processing node to a non-diagonal processing node, wherein the non-diagonal processing node is coupled to the first channel or the second channel, and wherein the non-diagonal processing node is not coupled to a channel extending in a diagonal direction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2025
From: KAO, JERRY CHANG JUI; CHEN, HUANG-YU; CHIEN, YUNG-CHEN; LIN, TZU-YING; MA, WEI-HSIANG; WANG, CHUNG-HSING
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY, LTD.
Reel/Frame 071185/0641 →
Continuity (1)
Related Publication 20230066045A1 · Mar 2, 2023
References Cited (16)
US 6167502A · Pechanek · 2000 [cited by examiner]
US 7027413B2 · Lee · 2006 [cited by examiner]
US 10693767B2 · Oprea · 2020 [cited by examiner]
US 11183262B2 · Li · 2021 [cited by examiner]
US 20020018448A1 · Amis · 2002 [cited by examiner]
US 20130019082A1 · Pechanek · 2013 [cited by examiner]
US 20140098702A1 · Fricker · 2014 [cited by examiner]
US 20140244706A1 · Zhang · 2014 [cited by examiner]
US 20140281377A1 · Davis · 2014 [cited by examiner]
US 20140371110A1 · Van Rooyen · 2014 [cited by examiner]
US 20150331807A1 · Lie · 2015 [cited by examiner]
US 20210327528A1 · Li · 2021 [cited by examiner]
US 20240146805A1 · Choi · 2024 [cited by examiner]
Yang et al., “Recursive Diagonal Torus: An Interconnection Network for Massively Parallel Computers”, Jul. 2001, IEEE (Year: 2001). [cited by examiner]
Mostafa Abd-El-Barr and Turki F. Al-Somani, “Topological Properties of Hierarchical Interconnection Networks: A Review and Comparison”, Feb. 2011 (Year: 2011). [cited by examiner]
Mostafa et. al, “Topological Properties of Hierarchical Interconnection Networks”, 2011 (Year: 2011). [cited by examiner]