Parallel Packet Buffer Management for Switch Memory Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional packet buffer managers in high-bandwidth network switches face bottlenecks due to serialized memory management, which is insufficient for high-throughput operations, and partitioning into multiple smaller sections limits scalability and elasticity in handling network data bursts.

Innovation Solution

Implementing a parallel processing system with multiple packet buffer managers (PBMs) that utilize a weighted randomizer circuit to dynamically adjust memory allocation across dedicated and shared free lists, ensuring efficient distribution and management of memory addresses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If serialized memory management is used in conventional packet buffer managers, then device complexity is reduced, but throughput is insufficient for high-bandwidth operations

Engineering Contradiction:
ImprovethroughputVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory management system is segmented into multiple independent packet buffer managers (PBMs), each capable of autonomous operation. Each PBM manages a portion of the memory space and can independently allocate and deallocate buffers, eliminating the serialization bottleneck of a single centralized manager while maintaining manageable complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple PBMs are merged into a unified memory management system that shares common memory resources. The PBMs collectively manage the entire memory space, allowing parallel processing of memory allocation requests from different ingress ports, thereby achieving high throughput without requiring each PBM to have complete memory management capability.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If memory is partitioned into multiple smaller sections for parallel processing, then throughput is improved, but scalability and elasticity in handling network data bursts are limited

Engineering Contradiction:
ImprovethroughputVSAvoidelasticity
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The memory allocation boundaries between PBMs are made dynamic rather than static. Each PBM can expand or contract its effective memory management scope based on real-time traffic conditions and available resources. This dynamic adaptability allows the system to handle data bursts elastically while maintaining the parallel processing structure that delivers high throughput.

Inventive Principle:
Principle #15Dynamics

3Loss of time

If multiple packet buffer managers operate in parallel, then latency is reduced through simultaneous task handling, but memory allocation contention may increase

Engineering Contradiction:
ImprovelatencyVSAvoidcontention
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

A weighted randomizer circuit is introduced as an intermediary mechanism to mediate memory allocation requests from multiple PBMs. When PBMs need to allocate memory, the weighted randomizer selects appropriate free list entries based on configured weights, preventing direct contention between PBMs while maintaining parallel operation. This intermediary layer resolves allocation conflicts without requiring serialization, thus preserving low latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20260058922A1Packet buffer manager
Publication Date: 2026.02.26 ERIDU CORP
  • US20260058922A1 patent drawing
  • US20260058922A1 patent drawing
  • US20260058922A1 patent drawing

AI summary

Consistent with the present disclosure, a switch is provided that has a memory which temporarily stores packets to be selectively directed toward one or more destination egress ports. A method and apparatus are disclosed for efficiently managing the memory to support high data rate throughput by parallel processing and distributing memory management tasks across multiple packet buffer manager circuits. In one example, the apparatus includes a memory system divided into portions, with each portion managed by individual packet buffer managers operating in parallel. The packet buffer managers maintain a first plurality of memory addresses as a dedicated free list for storing incoming packets. As the free list of a particular packet buffer manager drops below a certain threshold, a weighted randomizer circuit adjusts the allocation of memory addresses among other packet buffer managers based calculated weights, which are inversely related to the number of memory addresses available to receive packets.