Dynamic Memory Allocation for Packet Switching Ports
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Static resource allocation in packet switching devices leads to inefficient utilization of resources, as some egress ports remain underutilized while others face memory shortages, especially in systems with limited on-chip memory due to manufacturing constraints and varying network traffic conditions.
Innovation Solution
A dynamic resource allocation method where a controller monitors network and egress port statuses, including link, activity, and congestion states, to dynamically allocate memory blocks to egress ports based on real-time conditions using a lookup table or algorithm, ensuring optimal memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory blocks are evenly allocated to egress ports using static allocation, then each egress port has guaranteed memory availability, but resource utilization efficiency deteriorates when some ports are inactive or underutilized
Solution Approach 1:
The patent implements dynamic memory allocation where the controller continuously monitors egress port activity status and adjusts memory block allocation in real-time. Active ports receive more memory blocks while inactive ports release their allocated blocks back to the pool, transforming the static allocation system into a dynamic one that adapts to changing network conditions.
Solution Approach 2:
The system changes the allocation parameter from fixed equal distribution to variable distribution based on port activity. The controller modifies the number of memory blocks allocated to each port according to monitored conditions such as packet transmission activity, transforming the allocation parameter from constant to variable to optimize resource utilization.
2Reliability
If more memory blocks are allocated to ensure sufficient buffering capacity, then packet drop prevention is improved, but memory resource waste increases on idle ports
Solution Approach 1:
The system enables memory resources to serve themselves through automatic reallocation. When ports become inactive or less active, their memory blocks are automatically released back to the common pool without manual intervention. This self-service mechanism ensures that memory is continuously available for active ports needing it for packet buffering, preventing drops while eliminating waste.
Solution Approach 2:
The patent implements a recover mechanism where memory blocks allocated to inactive ports are discarded from their dedicated assignment and recovered back to the common pool. This allows the system to reclaim wasted memory resources from idle ports and redistribute them to active ports that need buffering capacity to prevent packet drops.
3Device complexity
If static equal allocation is used for simplicity, then system complexity is reduced, but adaptability to varying network traffic conditions deteriorates
Solution Approach 1:
The patent introduces a feedback mechanism where the controller continuously monitors egress port activity status and uses this information to adjust memory allocation dynamically. The monitoring component provides feedback about port activity levels, and the controller responds by reallocating memory blocks accordingly, creating a closed-loop system that adapts to varying network traffic conditions.
Data Source
AI summary
A packet switching device can allocate memory resources dynamically in order to utilize the memory resources efficiently. The packet switching device can include at least one ingress port that receives incoming packets from a network, a plurality of egress ports that transmit outgoing packets to the network, a storage unit configured to temporarily store the outgoing packets before transmission by the plurality of egress ports, the storage unit being coupled to the plurality of egress ports, so that a portion of the storage unit is dynamically allocated to an egress port, and a controller configured to dynamically allocate the portion of the storage unit to the egress port based on a network status.


