Shared Buffer Memory Reserve for Fair Network Queue Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing shared memory buffer management techniques in network switches fail to prevent any single queue from occupying the entire memory, leading to buffer access denial for other queues, especially during data bursts, resulting in dropped packets and reduced throughput.

Innovation Solution

Implement a memory management system that enqueues packets based on dynamic and static queue thresholds, ensuring a global reserve for victim queues by reserving a portion of the shared buffer memory, thereby maintaining continuous availability for low-throughput queues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single queue is permitted to occupy the entire shared buffer memory during data bursts, then the throughput for that queue is improved, but other queues are denied buffer access resulting in packet drops

Engineering Contradiction:
Improvequeue throughputVSAvoidbuffer access availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The shared buffer memory is segmented into multiple regions, each assigned to a specific queue. This segmentation prevents any single queue from monopolizing the entire buffer while ensuring each queue has guaranteed access to its designated memory region, thereby maintaining both high throughput for active queues and buffer access availability for victim queues

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the shared buffer memory are allocated with different access permissions and priorities tailored to specific queue requirements. Aggressor queues can dynamically utilize their allocated regions during bursts, while victim queues maintain guaranteed access to their reserved regions, creating localized quality variations that resolve the contradiction between throughput and availability

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If dynamic memory allocation is used to permit queues to take more than their share during bursts, then handling of incoming packet bursts is improved, but fair allocation is compromised when the buffer is oversubscribed

Engineering Contradiction:
Improvepacket burst handling capabilityVSAvoidfair memory allocation
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The memory allocation system operates dynamically with two modes: during undersubscription, queues can expand beyond their baseline allocation to handle bursts; during oversubscription, the system enforces strict boundaries to maintain fair allocation. This dynamic behavior adapts to traffic conditions while preserving fairness through the segmented architecture that prevents any queue from exceeding its allocated region

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The segmented buffer architecture preemptively establishes memory boundaries for each queue before conflicts occur. This preliminary structuring prevents aggressor queues from encroaching on victim queue territories during oversubscription scenarios, maintaining fair allocation while still allowing dynamic utilization within allocated regions during bursts

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS12413538B2Queue protection using a shared global memory reserve
Publication Date: 2025.09.09 CISCO TECHNOLOGY INC
  • US12413538B2 patent drawing
  • US12413538B2 patent drawing
  • US12413538B2 patent drawing

AI summary

The subject technology relates to the management of a shared buffer memory in a network switch. Systems, methods, and machine readable media are provided for receiving a data packet at a first network queue from among a plurality of network queues, determining if a fill level of a queue in a shared buffer of the network switch exceeds a dynamic queue threshold, and in an event that the fill level of the shared buffer exceeds the dynamic queue threshold, determining if a fill level of the first network queue is less than a static queue minimum threshold.