IP Library Granted Patent US 12,580,862
Granted Patent B1
US 12,580,862 · App. 18/167,046 · Granted Mar 17, 2026

Large scale network-on-chip (NOC) congestion aware routing

Inventors: Gil Moran (Kiryat Gat, IL); Guy Koren (Rishon Lezion, IL); Gal Malach (Gedera, IL); Asaf Shoham (Yerucham, IL); Yossi Eini (Ashdod, IL); Boaz Kfir (Meitar, IL)
Assignee: XSIGHT LABS LTD.
H04L47/125H04L45/04H04L47/24
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,580,862
App. No.
18/167,046
Granted
Mar 17, 2026
Kind
B1
Abstract

A method for traffic control in a network on chip that includes a group of routers and a group of processing engines (PEs). The method includes (i) obtaining, by a source PE that is coupled to a sub-group of routers via a sub-group of channels, backpressure information related to sub-group of channels; (ii) selecting, by the source PE, a selected channel of the sub-group of channels for conveying a packet destined to reach a destination PE; wherein the selecting is based, at least in part, on the backpressure information; wherein the source PE and the destination PE belong to the group of PEs; wherein the sub-group of routers belong to the group of routers; and (iii) outputting the packet to the selected channel.

Claims (55)

1 . A method for traffic control in a network on chip (NOC) that comprises a group of routers and a group of processing engines (PEs), the method comprises:

obtaining, by a source PE that is coupled to a sub-group of routers via a sub-group of channels, backpressure information related to sub-group of channels;

selecting, by the source PE, a selected channel of the sub-group of channels for conveying a packet destined to reach a destination PE; wherein the selecting is based, at least in part, on the backpressure information; wherein the source PE and the destination PE belong to the group of PEs; wherein the sub-group of routers belong to the group of routers; and

outputting the packet to the selected channel;

wherein the selecting occurs during an execution cycle, wherein the backpressure information comprises current execution cycle congestion information and multiple execution cycle congestion information; and

wherein the selecting is based at least in part on grades allocated to the sub-group of channels, wherein a value of each grade is selected out of at least two values, wherein the grades are included in the multiple execution cycle congestion information.

2 . The method according to claim 1 , wherein the selecting comprises avoiding from selecting a channel of the sub-group that is currently congested according to the current execution cycle congestion information.

3 . The method according to claim 1 , comprising calculating the grades using a moving window process.

4 . The method according to claim 1 , comprising selecting, by the source PE, the destination PE out of destination PE candidates.

5 . The method according to claim 4 , wherein the selecting of the destination PE is responsive to destination PE candidates congestion measurements.

6 . The method according to claim 5 , comprising distributing the destination PE candidates congestion measurements between the PEs.

7 . The method according to claim 5 , wherein the selecting of the destination PE comprises performing load balancing between destination PE candidates having a same value of destination PE candidates congestion measurements.

8 . The method according to claim 5 , wherein the selecting of the destination PE is also based on buffering behavior information regarding the destination PE candidates.

9 . The method according to claim 1 , comprising associating the packet with routing information.

10 . The method according to claim 9 , wherein the routing information is indicative of an entire path of the packet till reaching the destination PE.

11 . The method according to claim 9 , wherein the routing information is indicative of only a part of a path of the packet till reaching the destination PE.

12 . A method for traffic control in a network on chip (NOC) that comprises a group of routers and a group of processing engines (PEs), the method comprises:

obtaining, by a source PE that is coupled to a sub-group of routers via a sub-group of channels, backpressure information related to sub-group of channels;

selecting, by the source PE, a selected channel of the sub-group of channels for conveying a packet destined to reach a destination PE; wherein the selecting is based, at least in part, on the backpressure information; wherein the source PE and the destination PE belong to the group of PEs; wherein the sub-group of routers belong to the group of routers; and

outputting the packet to the selected channel;

wherein the method further comprises selecting, by the source PE, the destination PE out of destination PE candidates; wherein the selecting of the destination PE is responsive to destination PE candidates congestion measurements and comprises assigning probability based congestion weights to the destination PE candidates, and based on the probability based congestion weights performing a random selection of the selected destination PE.

13 . A integrated circuit that comprises:

a network on chip (NOC);

wherein the network on chip comprises a group of routers and a group of processing engines (PEs);

wherein the group of PEs comprise a source PE that is coupled to a sub-group of routers via a sub-group of channels;

wherein the source PE is configured to:

obtain backpressure information related to sub-group of channels;

select a selected channel of the sub-group of channels for conveying a packet destined to reach a destination PE; wherein the selecting is based, at least in part, on the backpressure information; wherein the source PE and the destination PE belong to the group of PEs;

wherein the sub-group of routers belong to the group of routers; and

output the packet to the selected channel;

wherein the selecting occurs during an execution cycle, wherein the backpressure information comprises current execution cycle congestion information and multiple execution cycle congestion information; and

wherein the source PE is configured to select based at least in part on grades allocated to the sub-group of channels, wherein a value of each grade is selected out of at least two values, wherein the grades are included in the multiple execution cycle congestion information.

14 . The integrated circuit according to claim 13 , wherein the source PE is configured to select by avoiding from selecting a channel of the sub-group that is currently congested according to the current execution cycle congestion information.

15 . The integrated circuit according to claim 13 , wherein the source PE is configured to select calculate the grades using a moving window process.

16 . The integrated circuit according to claim 13 , wherein the source PE is configured to select the destination PE out of destination PE candidates.

17 . The integrated circuit according to claim 16 , wherein the source PE is configured to select the destination PE in response to destination PE candidates congestion measurements.

18 . The integrated circuit according to claim 17 , wherein the NOC is configured to distribute the destination PE candidates congestion measurements between the PEs.

19 . The integrated circuit according to claim 17 , wherein the source PE is configured to select the destination PE by performing load balancing between destination PE candidates having a same value of destination PE candidates congestion measurements.

20 . The integrated circuit according to claim 17 , wherein the source PE is configured to select the destination PE by also based on buffering behavior information regarding the destination PE candidates.

21 . The integrated circuit according to claim 13 , wherein the source PE is configured to associate the packet with routing information.

22 . The integrated circuit according to claim 21 , wherein the routing information is indicative of an entire path of the packet till reaching the destination PE.

23 . The integrated circuit according to claim 21 , wherein the routing information is indicative of only a part of a path of the packet till reaching the destination PE.

24 . A integrated circuit that comprises:

a network on chip (NOC);

wherein the network on chip comprises a group of routers and a group of processing engines (PEs);

wherein the group of PEs comprise a source PE that is coupled to a sub-group of routers via a sub-group of channels;

wherein the source PE is configured to:

obtain backpressure information related to sub-group of channels;

select a selected channel of the sub-group of channels for conveying a packet destined to reach a destination PE;

wherein the selecting is based, at least in part, on the backpressure information; wherein the source PE and the destination PE belong to the group of PEs; wherein the sub-group of routers belong to the group of routers; and output the packet to the selected channel; wherein the source PE is configured to select the destination PE out of destination PE candidates, in response to destination PE candidates congestion measurements and by assigning probability based congestion weights to the destination PE candidates, and based on the probability based congestion weights performing a random selection of the selected destination PE.

25 . A non-transitory computer readable medium that stores instructions that once executed by a source processing engine (PE) causes the source processing engine to execute the steps of:

obtaining, by the source PE that is coupled to a sub-group of routers via a sub-group of channels, backpressure information related to sub-group of channels; wherein the source PE belongs to a network on chip (NOC) that comprises a group of routers and a group of processing engines (PEs), the group of routers comprises the sub-group of routers;

selecting, by the source PE, a selected channel of the sub-group of channels for conveying a packet destined to reach a destination PE; wherein the selecting is based, at least in part, on the backpressure information; wherein the source PE and the destination PE belong to the group of PEs; wherein the sub-group of routers belong to the group of routers; and

outputting the packet to the selected channel; wherein the selecting occurs during an execution cycle, wherein the backpressure information comprises current execution cycle congestion information and multiple execution cycle congestion information; and

wherein the selecting is based at least in part on grades allocated to the sub-group of channels, wherein a value of each grade is selected out of at least two values, wherein the grades are included in the multiple execution cycle congestion information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2025
From: MORAN, GIL; KOREN, GUY; MALACH, GAL; SHOHAM, ASAF; EINI, YOSSI; KFIR, BOAZ
To: XSIGHT LABS LTD.
Reel/Frame 071556/0351 →
Continuity (4)
Continuation In Part 17444473 · Aug 4, 2021
Provisional Application 63267787 · Feb 9, 2022
Provisional Application 63198170 · Oct 1, 2020
Provisional Application 62706294 · Aug 7, 2020
References Cited (23)
US 8155113B1 · Agarwal · 2012 [cited by applicant]
US 8572353B1 · Bratt · 2013 [cited by examiner]
US 10511523B1 · Bosshart et al. · 2019 [cited by applicant]
US 10721167B1 · Bosshart et al. · 2020 [cited by applicant]
US 11424983B2 · Chang · 2022 [cited by applicant]
US 20100191911A1 · Heddes et al. · 2010 [cited by applicant]
US 20110087820A1 · Norden · 2011 [cited by applicant]
US 20130051385A1 · Jayasimha et al. · 2013 [cited by applicant]
US 20130250792A1 · Yoshida et al. · 2013 [cited by applicant]
US 20140019512A1 · Ajima et al. · 2014 [cited by applicant]
US 20140211622A1 · Kumar · 2014 [cited by examiner]
US 20140328172A1 · Kumar · 2014 [cited by examiner]
US 20140376557A1 · Park et al. · 2014 [cited by applicant]
US 20150188847A1 · Chopra · 2015 [cited by examiner]
US 20150254104A1 · Kessler et al. · 2015 [cited by applicant]
US 20160149780A1 · Hsu et al. · 2016 [cited by applicant]
US 20170272381A1 · Li · 2017 [cited by examiner]
US 20190238665A1 · Bosshart et al. · 2019 [cited by applicant]
US 20200153757A1 · Bharadwaj · 2020 [cited by examiner]
US 20200356522A1 · Orthner · 2020 [cited by examiner]
US 20210152469A1 · Bharadwaj · 2021 [cited by applicant]
US 20210194800A1 · Bosshart · 2021 [cited by applicant]
US 20220091754A1 · Raman et al. · 2022 [cited by applicant]