Hybrid Packet Memory Architecture for Network Device Buffering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices face challenges in efficiently buffering packets due to the trade-off between internal and external packet memories, where internal memories offer higher access bandwidth but lower storage capacity and higher cost, while external memories provide more storage but lower access bandwidth and are costly to interface with.
Innovation Solution
A hybrid packet memory architecture that dynamically selects between internal and external packet memories based on traffic pattern characteristics, offloading bursty and lower bandwidth packet flows to external memories for higher storage capacity and reducing the access bandwidth requirements of external memories by buffering larger packet flows in internal memories.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If internal packet memory is used for buffering packets, then memory access bandwidth is improved, but storage capacity deteriorates
Solution Approach 1:
The patent divides the packet memory system into two separate memory components: internal packet memory and external packet memory. Each memory type is used for specific traffic patterns - internal memory handles bandwidth-sensitive flows while external memory handles capacity-sensitive flows. This segmentation allows the system to optimize for both speed and storage capacity simultaneously by matching memory type to traffic requirements.
2Quantity of substance
If external packet memory is used for buffering packets, then storage capacity is improved, but memory access bandwidth deteriorates
Solution Approach 1:
The patent applies local quality by assigning different memory types to different packet flows based on their specific requirements. Bursty packet flows with lower bandwidth demands are directed to external packet memory for high-capacity buffering, while larger packet flows requiring high access bandwidth are directed to internal packet memory. This localized optimization ensures each memory type operates in its optimal performance zone.
3Speed
If internal packet memory is used for all packet flows, then memory access bandwidth is maintained, but cost and device complexity increase
Solution Approach 1:
The patent implements dynamic memory selection where the system adaptively chooses between internal and external packet memory based on real-time traffic pattern analysis. The packet processor classifies incoming packet flows and dynamically routes them to the appropriate memory type, allowing the system to flexibly adjust memory usage based on actual traffic demands rather than statically allocating high-bandwidth memory for all flows.
4Quantity of substance
If external packet memory is used for all packet flows, then storage capacity is maximized, but packet drops increase due to lower access bandwidth
Solution Approach 1:
The patent changes the parameter of memory access bandwidth by selecting different memory types based on packet flow characteristics. For larger packet flows that require high access bandwidth to prevent packet drops, the system selects internal packet memory. For smaller bursty flows where storage capacity is more critical than access speed, external packet memory is selected. This parameter-based selection optimizes both reliability and storage utilization.
Data Source
AI summary
A network device processes received packets to determine port or ports of the network device via which to transmit the packets. The network device classifies the packets into packet flows and selects, based at least in part on one or more characteristics of data being transmitted in the respective packet flows, a first packet memory having a first memory access bandwidth or a second packet memory having a second memory access bandwidth, and buffers the packets in the selected first or second packet memory which the packets are being processed by the network device. After processing the packets, the network device retrieves the packets from the first packet memory or the second packet memory in which the packets are buffered, and forwards the packets to the determined one or more ports for transmission of the packets.


