Configurable Receive Packet Queues for Network Switch Buffer Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Fixed numbers of receive queues with fixed sizes in network switches lead to inefficient use of receive buffers, as they do not adapt to varying configurations and link requirements.
Innovation Solution
A method for configuring receive packet queues in network devices, which involves determining the number of sub-ports, assigning memory based on sub-port configurations, and dividing queues according to the flow control scheme, allowing for dynamic adjustment of queue sizes and configurations based on port settings and link protocols.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If fixed numbers of receive queues with fixed sizes are used, then device complexity is reduced, but buffer efficiency deteriorates
Solution Approach 1:
The patent implements dynamic receive queue configuration where the number of receive queues and their sizes are programmably adjusted based on port configuration, link rate, and protocol requirements. This allows the system to adapt buffer allocation to actual operational needs rather than using fixed predetermined values.
Solution Approach 2:
The invention changes the parameters of receive queue configuration by allowing programmable adjustment of queue count and queue sizes based on operational conditions. The system can modify these parameters dynamically according to link rate and protocol requirements, transforming a static configuration into a flexible, adaptive system.
2Ease of manufacture
If fixed receive queue sizes are used, then ease of manufacture is improved, but adaptability deteriorates
Solution Approach 1:
The system transitions from static fixed queue sizes to dynamic programmable queue sizes that can be adjusted based on port configuration, link rate, and protocol requirements, enabling the same hardware to efficiently handle diverse network conditions.
Solution Approach 2:
The receive buffer system is designed to serve multiple functions and configurations through a single programmable interface. The same buffer infrastructure can be configured for different link rates and protocols by adjusting queue parameters, eliminating the need for separate fixed configurations for each scenario.
3Device complexity
If fixed number of receive queues is used, then device complexity is reduced, but bandwidth utilization deteriorates
Solution Approach 1:
The invention dynamically adjusts the number of receive queues and their individual sizes based on operational parameters such as link rate and protocol requirements. This parameter change enables optimal bandwidth utilization by allocating buffer resources according to actual traffic patterns and link capabilities.
Solution Approach 2:
The system incorporates feedback mechanisms where operational data about link rate and protocol usage informs the queue configuration decisions. This feedback loop allows the system to continuously optimize buffer allocation to maximize bandwidth utilization efficiency.
Data Source
AI summary
Method and system for configuring a port of a network device are provided. One method for a port of a network device communicating with another network device port includes reading manufacturing, license and user provided port configuration data by a processor of the network device; obtaining capabilities information for the port by the processor of the network device from an external pluggable media device; setting port configuration data based on the capabilities information obtained from the external pluggable media; executing auto-negotiation on the port, when enabled and obtaining configuration data from the other port; determining that enough data is available to set port configuration; attempting to configure the port by using a highest permissible bandwidth configuration when enough data is available to set the port configuration; and setting port configuration based on the attempt to configure the port to operate when a link connected to the port is operational.


