IP Library › Granted Patent US 12,505,052
Granted Patent B2
US 12,505,052 · App. 18/259,071 · Granted Dec 23, 2025

Data processing system

Inventor: Stefan Blixt (Bålsta, SE)
Assignee: Telesis Innovation AB
G06F15/167G06F15/7825G06F15/7867
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,505,052
App. No.
18/259,071
Filed
Jun 22, 2023
Granted
Dec 23, 2025
Kind
B2
Art Unit
2441
USPC
709/213
Abstract

There is provided a data processing system comprising a control processor having access to memory, and a plurality of Processing Elements, PEs, organized in multiple processing clusters, each cluster comprising a multitude of said Processing Elements. The multiple processing clusters are arranged in a Network on Chip, NoC, connected, via a switch block, to the control processor, which is provided as a central hub, i.e. a root, for the Network on Chip, and the multiple processing clusters of Processing Elements being arranged at peripheral nodes, also being referred to as cluster nodes, of the Network on Chip. The Network on Chip is a network having multiple data channels connecting the switch block with the multiple processing clusters, with a point-to-point channel for each processing cluster. The multiple processing clusters are logically organized as an array with specific locations for the processing clusters in the array, and the switch block is configured for enabling exchange of data between processing clusters of neighboring locations in the array via the switch block.

Claims (26)

1 . A data processing system comprising:

a control processor having access to memory; and

a plurality of Processing Elements, PEs, organized in multiple processing clusters, each cluster comprising a multitude of said Processing Elements,

wherein said multiple processing clusters are arranged in a Network on Chip, NoC, connected, via a switch block, to said control processor, which is provided as a central hub, i.e. a root, for the Network on Chip, and said multiple processing clusters of Processing Elements being arranged at peripheral nodes, also being referred to as cluster nodes, of the Network on Chip;

wherein the Network on Chip is a network having multiple data channels connecting the switch block with said multiple processing clusters, with a point-to-point channel for each processing cluster,

wherein said multiple processing clusters are logically organized as an array with specific locations for said processing clusters in said array, and wherein said switch block is configured for enabling exchange of data between processing clusters of neighboring locations in said array via said switch block.

2 . The data processing system of claim 1 , wherein said multiple processing clusters are logically organized to have specific locations in an array with rows and columns, and wherein said switch block is configured for enabling i) each cluster node to send to its nearest neighbor to the right and receive from its nearest neighbor to the left in the array of columns and rows, or vice versa, and/or ii) each cluster node to send to its nearest neighbor below and receive from its nearest neighbor above in the array of columns and rows, or vice versa.

3 . The data processing system of claim 1 , wherein said data processing system is configured for receiving and performing data processing of input data, and said multiple processing clusters are configured for operating on respective subsets or regions of said input data, one region per processing cluster, and

wherein said data processing of said input data involves sharing specific data between neighboring regions, and said switch block is configured for enabling transfer of said specific data between the processing clusters-responsible for said neighboring regions.

4 . The data processing system of claim 3 , wherein said specific data includes a specific subset of the input data of one region to be shared with at least one neighboring region.

5 . The data processing system of claim 3 , wherein said specific data is overlapping edge data between regions needed for performing multi-dimensional convolutions.

6 . The data processing system of claim 3 , wherein said input data is an input image, which is logically partitioned into a plurality of uniform regions, one region per processing cluster for processing by the respective processing cluster.

7 . The data processing system of claim 3 , wherein said switch block is configured to operate based on at least a subset of the following data transfer settings:

first setting—normal setting;

second setting—move to next region in positive x direction if outbound, else opposite, or move to next region in negative x direction if outbound, else opposite; and

third setting—move to next region in negative y direction if outbound, else opposite, or move to next region in positive y direction if outbound, else opposite.

8 . The data processing system of claim 7 , wherein said processing clusters are configured to send data to said memory and/or an associated NoC register via said switch using the normal setting, and said switch block is configured to activate the second setting and/or third setting such that data is transferred back through the switch block to desired destinations.

9 . The data processing system of claim 1 , wherein the Network on Chip is a star network connecting the switch block with the processing clusters, with a point-to-point channel for each processing cluster.

10 . The data processing system of claim 1 , wherein said control processor is configured to control transfers of data between the root and the clusters of said Network on Chip.

11 . The data processing system of claim 1 , wherein said data processing system further includes a data bus interconnecting said control processor, said memory, said Network on Chip and/or one or more Input/Output (I/O) interfaces.

12 . The data processing system of claim 1 , wherein said switch block includes a multitude of switches and control logic for controlling the multitude of switches to support a set of different transfer modes over said data channels of the Network on Chip.

13 . The data processing system of claim 1 , wherein said data processing system includes an NoC register for temporarily holding data to be distributed to the processing clusters via said switch block, and for holding data from the processing clusters.

14 . The data processing system of claim 13 , wherein said NoC register is connected between i) said switch block and ii) a data bus for interconnection to said control processor, said memory, and/or one or more Input/Output (I/O) interfaces to enable data to be stored in the NoC register from any of said control processor, said memory, and/or one or more Input/Output (I/O) interfaces and to enable data to be transferred from the NoC register to any of said control processor, said memory, and/or one or more Input/Output (I/O) interfaces.

15 . The data processing system of claim 1 , wherein said Processing Elements are programmable processing elements, the functionality of each programmable Processing Element being defined by internal microcode in a microprogram memory associated with the Processing Element.

16 . The data processing system of claim 1 , wherein said switch block is configured for enabling a hypercube type of data exchange between processing clusters of neighboring locations in said array.

17 . The data processing system of claim 16 , wherein said switch block is configured to operate based on a number of data transfer settings such that a processing cluster is able to receive data from multiple neighbours in a multi-dimensional hypercube.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2023
From: BLIXT, STEFAN
To: TELESIS INNOVATION AB
Reel/Frame 064434/0215 →
Continuity (2)
Provisional Application 63130089 · Dec 23, 2020
Related Publication 20250284658A1 · Sep 11, 2025
References Cited (39)
US 5287470A · Simpson · 1994 [cited by applicant]
US 5345563A · Uihlein et al. · 1994 [cited by applicant]
US 5890007A · Zinguuzi · 1999 [cited by applicant]
US 6018782A · Hartmann · 2000 [cited by applicant]
US 6094715A · Wilkinson · 2000 [cited by examiner]
US 6145072A · Shams et al. · 2000 [cited by applicant]
US 8060727B2 · Blixt · 2011 [cited by applicant]
US 12346694B2 · Gurram · 2025 [cited by examiner]
US 20030033490A1 · Gappisch et al. · 2003 [cited by applicant]
US 20070159488A1 · Danskin et al. · 2007 [cited by applicant]
US 20070283037A1 · Burns et al. · 2007 [cited by applicant]
US 20080037650A1 · Stojancic et al. · 2008 [cited by applicant]
US 20100091787A1 · Muff et al. · 2010 [cited by applicant]
US 20100191814A1 · Heddes et al. · 2010 [cited by applicant]
US 20110307459A1 · Jacob (Yaakov) · 2011 [cited by applicant]
US 20120124324A1 · Park et al. · 2012 [cited by applicant]
US 20120290815A1 · Takahashi · 2012 [cited by applicant]
US 20140156907A1 · Palmer · 2014 [cited by applicant]
US 20140310467A1 · Shalf et al. · 2014 [cited by applicant]
US 20170078385A1 · Dress · 2017 [cited by applicant]
US 20170116153A1 · Takada · 2017 [cited by applicant]
US 20170147513A1 · Hilton et al. · 2017 [cited by applicant]
US 20170153993A1 · Palmer et al. · 2017 [cited by applicant]
US 20170220499A1 · Gray · 2017 [cited by examiner]
US 20170230447A1 · Harsha et al. · 2017 [cited by applicant]
US 20170286329A1 · Fernando · 2017 [cited by applicant]
US 20180232148A1 · Saeed · 2018 [cited by applicant]
US 20190042245A1 · Toll et al. · 2019 [cited by applicant]
US 20190138237A1 · Palmer · 2019 [cited by applicant]
US 20190158427A1 · Harsha et al. · 2019 [cited by applicant]
US 20190191814A1 · Stuempfig et al. · 2019 [cited by applicant]
US 20190303328A1 · Balski et al. · 2019 [cited by applicant]
US 20200201690A1 · Sankaralingam et al. · 2020 [cited by applicant]
US 20200301865A1 · Davies · 2020 [cited by applicant]
JP 2009104521A · 2009 [cited by applicant]
WO 2017120270A1 · 2017 [cited by applicant]
Hassan, et al. “An Enhanced Network-on-chip Simulation for Cluster-based Routing”, Procedia Computer Science vol. 94, 2016, pp. 410-417. [cited by applicant]
International Search Report and Written Opinion for corresponding Application No. PCT/SE2021/050659, issued on Sep. 30, 2021. [cited by applicant]
CAPUTA “Efficient High-Speed On-Chip Global Interconnects”, Linköping Studies in Science and Technology, Dissertation No. 992, Linköping University 2006. [cited by applicant]