# US 2019/0356607 A1 · Merging read requests in network device architecture

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

- Number: US 2019/0356607 A1
- Document ID: US20190356607A1
- Status: Published application
- Kind: A1
- Application number: 16/525,113
- Filed: 2019-07-29
- Published: 2019-11-21
- Earliest claimed: 2016-09-12
- Assignees: Marvell World Trade Ltd.
- Applicants: Marvell World Trade Ltd.
- Inventors: Nicolai Asbjorn SMITT; Jacob Jul SCHRODER
- Web page: https://patentgrep.com/patent/US20190356607A1

## CPC

- H04L 49/201: Multicast operation; Broadcast operation
- H04L 12/18: for broadcast or conference {, e.g. multicast}
- H04L 12/1881: {with schedule organisation, e.g. priority, sequence management}
- H04L 45/16: Multipoint routing
- H04L 45/74: Address processing for routing
- H04L 47/806: {Broadcast or multicast traffic}
- H04L 49/901: using storage descriptor, e.g. read or write pointers
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Packet data corresponding to a multicast (MC) packet received by a network device is stored in a packet memory. A header of the MC packet is analyzed to determine two or more ports via which the MC packet is to be transmitted. It is determined that two or more pending read requests are to read packet data from a particular memory location in the packet memory. In response to determining that the two or more pending read requests are to read packet data from the particular memory location, the packet data is read a single time from the particular memory location. Respective instances of the packet data read from the particular memory location are provided to respective two or more read client devices for subsequent transmission of the packet data via the two or more ports determined by the packet processor.

## Claims

### Claim 1

A network device, comprising:
a packet memory configured to store packet data corresponding to a multicast (MC) packet received by the network device from a network link;
a packet processor configured to at least to determine two or more ports via which the MC packet is to be transmitted from the network device; and
a memory controller device coupled to the packet memory, the memory controller device configured to
buffer received read requests in a read request buffer until the packet memory is available for servicing the read requests, wherein the read request buffer includes a plurality of entries for storing respective indications of client devices from which read requests were received by the memory controller device,
determine that two or more pending read requests received by the memory controller device are to read packet data from a particular memory location in the packet memory,
in response to the determining, merge the two or more read requests into a single read request that is stored in a single entry of the pending read request buffer,
in response to the determining, read the packet data a single time from the particular memory location, and
provide respective instances of the packet data read from the particular memory location to respective two or more read client devices for subsequent transmission of the packet data via the two or more ports determined by the packet processor.
