Read Request Merging in Network Device Multicast Packet Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices face inefficiencies in handling multicast packets due to the need to read packet data multiple times from memory, leading to increased statistical latency and reduced throughput.
Innovation Solution
Implementing a read request merging technique in network devices, where a memory controller determines multiple pending read requests for the same memory location and reads the data once, replicating it for subsequent transmission to multiple ports.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If packet data is read multiple times from memory for multicast packets, then multiple ports can receive the data, but statistical latency increases and throughput decreases
Solution Approach 1:
The patent merges multiple read requests for the same packet data into a single read operation. The memory controller detects when multiple ports need the same packet data and combines their read requests, performing one memory read and then distributing the data to all requesting ports. This eliminates redundant memory access operations, reducing statistical latency and improving throughput for multicast packet handling.
2Ease of operation
If packet data is read multiple times from memory, then all ports can be served, but the number of memory operations increases
Solution Approach 1:
The memory controller implements a feedback mechanism where it monitors incoming read requests and identifies when multiple requests target the same packet data. Based on this feedback, the controller dynamically adjusts its behavior by merging redundant requests and coordinating with packet processors to serve multiple ports from a single memory read, thereby improving memory operation efficiency without significantly increasing device complexity.
Data Source
AI summary
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.


