# US 12,113,723 B2 · Switch for transmitting packet, network on chip having the same, and operating method thereof

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,113,723 B2
- Document ID: US12113723B2
- Status: Granted
- Kind: B2
- Application number: 18/311,181
- Filed: 2023-05-02
- Published: 2023-08-24
- Granted: 2024-10-08
- Earliest claimed: 2021-01-11
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Seongmin Jo; Heeseong Lee; Jaehyun Kim; Jinsu Jung
- Web page: https://patentgrep.com/patent/US12113723B2

## CPC

- H04L 49/9094: {Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element}
- H04L 49/109: Integrated on microchip, e.g. switch-on-chip
- H04L 49/3027: {Output queuing}
- H04L 49/9021: {Plurality of buffers per packet}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A Network-on-Chip (NoC) includes a packet transmission switch, and a corresponding method of operating the NoC includes storing packets received from an input terminal in a buffer, storing buffer locations in which each of the packets is stored in an ordering queue of an output terminal, and sequentially outputting the packets from the output terminal according to the buffer locations.

## Claims

### Claim 1

A method of operating a network on a chip, comprising:
receiving a first packet with a first output interface direction through a first master interface terminal in response to a clock signal;
receiving a second packet with a second output interface direction through a second master interface terminal in response to the clock signal;
storing the first packet and the second packet with corresponding buffer index queues in a buffer memory;
sequentially outputting at least one of the stored packets through a first slave interface terminal based on the buffer index queues in response to the clock signal when at least one of the first output interface direction or the second output interface direction indicates the first slave interface terminal; and
sequentially outputting at least one of the stored packets through a second slave interface terminal based on the buffer index queues in response to the clock signal when at least one of the first output interface direction or the second output interface direction indicates the second slave interface terminal.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first packet and the second packet are received simultaneously within one cycle of the clock signal.

### Claim 3

The method of clam 1, wherein one of the first slave interface terminal or the second interface terminal outputs one packet one cycle of the clock signal earlier than the other packet.

### Claim 4 (depends on 3)

The method of claim 3, wherein the packet output from the one slave interface terminal is output in a next cycle of the clock signal after receiving both the first and the second packets.

### Claim 5 (depends on 4)

The method of claim 4, wherein the other slave interface terminal maintains an idle state until the next cycle.

### Claim 6 (depends on 4)

The method of claim 4, wherein the one slave interface terminal sequentially outputs packets in cycles of the clock signal without maintaining an idle state.

### Claim 7 (depends on 1)

The method of claim 1, wherein the first and second packets received from the first master interface terminal and the second master interface terminal in one cycle of the clock signal are output through the first slave interface terminal and the second slave interface terminal in different cycles of the clock signal.

### Claim 8 (depends on 1)

The method of claim 1,
wherein the first master interface terminal sequentially receives A-packet, C-packet, E-packet and G-packet,
wherein the second master interface terminal sequentially receives B-packet, D-packet, F-packet and H-packet.

### Claim 9 (depends on 8)

The method of claim 8,
wherein the first slave interface terminal sequentially outputs the A-packet, the C-packet, the B-packet and the H-packet,
wherein the second slave interface terminal sequentially outputs the D-packet, the F-packet, the E-packet and the G-packet.

### Claim 10 (depends on 9)

The method of claim 9,
wherein the first slave interface terminal outputs the A-packet when the first master interface terminal receives the C-packet,
wherein the second slave interface terminal outputs the D-packet when the second master interface terminal receives the F-packet.

### Claim 11

A method of operating a Network-on-Chip (NoC), comprising:
receiving first consecutive packets in a first master interface terminal starting from a first cycle of a clock signal;
receiving second consecutive packets in a second master interface terminal starting from the first cycle;
outputting third consecutive packets from a first slave interface terminal starting from a next cycle following the first cycle; and
outputting fourth consecutive packets from a second slave interface terminal starting from a cycle following the next cycle.

### Claim 12 (depends on 11)

The method of claim 11, further comprising storing the first consecutive packets and the second consecutive packets with corresponding buffer index queues in a buffer memory.

### Claim 13 (depends on 11)

The method of claim 11, wherein each of the received consecutive packets includes an output interface direction.

### Claim 14 (depends on 13)

The method of claim 13, further comprising allocating the first slave interface terminal and the second slave interface terminal according to the buffer index queues and the output interface direction for outputting packets.

### Claim 15 (depends on 11)

The method of claim 11, wherein the NoC is configured with a 2×4 switch.

### Claim 16

A system on a chip comprising:
a plurality of master devices;
a plurality of slave devices; and
a network-on-chip configured to arbitrate packets between the plurality of master devices and the plurality of slave devices,
wherein the network-on-chip receives first consecutive packets in a first master interface terminal starting from a first cycle of a clock signal; receives second consecutive packets in a second master interface terminal starting from the first cycle; outputs third consecutive packets from a first slave interface terminal starting from a next cycle following the first cycle; and outputs fourth consecutive packets from a second slave interface terminal starting from a cycle following the next cycle.

### Claim 17 (depends on 16)

The system on a chip of claim 16, wherein the network-on-chip further comprises a buffer memory configured to store the first consecutive packets and the second consecutive packets with corresponding buffer index queues.

### Claim 18 (depends on 16)

The system on a chip of claim 16, wherein each of the received consecutive packets includes an output interface direction.

### Claim 19 (depends on 18)

The system on a chip of claim 18, wherein the network-on-chip allocates the first slave interface terminal and the second slave interface terminal according to the buffer index queues and the output interface direction for outputting packets.

### Claim 20 (depends on 16)

The system on a chip of claim 16, wherein the network-on-chip comprises:
a first buffer configured to store first packets received from the first master interface terminal;
a second buffer configured to store second packets received from the second master interface terminal;
a first ordering queue configured to store first buffer locations of first internal packets to be provided to the first slave interface terminal from among the first packets;
a second ordering queue configured to store second buffer locations of second internal packets to be provided to the second slave interface terminal from among the first packets;
a third ordering queue configured to store third buffer locations of third internal packets to be provided to the first slave interface terminal from among the second packets;
a fourth ordering queue configured to store fourth buffer locations of fourth internal packets to be provided to the second slave interface terminal from among the second packets;
a first buffer allocator configured to allocate the first buffer locations and the second buffer locations for each of the first packets; and
a second buffer allocator configured to allocate the third buffer locations and the fourth buffer locations for each of the second packets.
