Multicast Packet Cache Architecture for Network Switch Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices, such as switches and routers, face high throughput demands when handling multicast packets, requiring frequent reads from packet memory, which can lead to inefficiencies in processing and forwarding.
Innovation Solution
Implementing a packet cache system that stores multicast packet data, allowing subsequent instances to be forwarded from the cache without re-accessing the packet memory, reducing the number of memory reads and improving throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a network switch reads packets from packet memory for each port forwarding, then packet processing can be performed, but the throughput is limited due to frequent memory accesses
Solution Approach 1:
The patent applies preliminary action by reading the packet from packet memory once and storing it in a buffer before forwarding to multiple ports. This pre-loading of packet data eliminates the need for repeated memory reads during the forwarding process, thereby resolving the contradiction between throughput and memory access time.
Solution Approach 2:
The patent introduces a buffer as an intermediary between packet memory and the forwarding process. This buffer temporarily holds packet data, allowing the network switch to read packets once from memory, store them in the buffer, and then forward multiple copies to different ports without repeatedly accessing the packet memory, thus improving throughput while reducing memory access time.
2Productivity
If packet memory is used to store packets during processing, then packets can be handled, but the memory must handle high throughput rates requiring frequent reads
Solution Approach 1:
The patent segments the packet handling process into distinct phases: reading packets from packet memory once, storing them in an intermediate buffer, and then forwarding to multiple ports. This segmentation separates the memory access operation from the forwarding operations, allowing packet memory to be accessed fewer times while maintaining high packet handling capacity.
Solution Approach 2:
The buffer serves as an intermediary that decouples the packet memory from the forwarding process. It absorbs the complexity of repeated reads by providing local copies of packet data, thereby reducing the memory access requirements while maintaining high packet handling capacity.
3Adaptability or versatility
If multicast packets are forwarded to multiple ports, then coverage is improved, but processing efficiency decreases due to repeated memory accesses
Solution Approach 1:
The patent applies preliminary action by pre-reading the packet from packet memory and storing it in a buffer before the multicast forwarding process. This allows the packet to be distributed to multiple ports efficiently without repeated memory accesses, thereby improving processing efficiency while maintaining multicast distribution capability.
Solution Approach 2:
The buffer acts as an intermediary that enables efficient multicast forwarding. It stores the packet data once and allows multiple copies to be read from the buffer for different ports, eliminating repeated memory accesses and improving processing efficiency while maintaining adaptability for multicast distribution.
Data Source
AI summary
A packet received via a network is stored in a packet memory. Information in a header of the packet is analyzed to determine multiple ports to which the packet is to be forwarded. The packet is read from the packet memory in connection with transmitting the packet via a first port among the multiple ports. Packet data corresponding to the packet is stored in a packet cache different than the packet memory. In connection with forwarding one or more instances of the packet to ports among the multiple ports, the packet data is read, based on information included in a packet descriptor associated with the packet, from the packet cache. Ones of the one or more instances of the packet are forwarded, using the data corresponding to the packet read from the packet cache and without further accessing the packet memory, to respective one or more of the multiple ports.


