Shared Buffer Pool Segmentation for Lossless Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data communication networks, switches with shared buffer pools face inefficiencies and congestion due to excessive pause message generation, leading to output port rate drooping, head-of-line blocking, and increased latency, especially when not all ingress ports are active.

Innovation Solution

Implementing per-port color metering with a three-tiered buffer pool structure – unrestricted, enforced, and headroom areas – and using probabilistic flow control to generate pause messages only when necessary, along with timers to manage buffer fullness levels and prevent premature pause generation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If each port is allocated a fixed number of buffer pages, then lossless behavior is maintained for each port, but buffer space is inefficiently used when not all ports are active

Engineering Contradiction:
Improvelossless behaviorVSAvoidbuffer space efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The buffer pool is segmented into multiple regions with different thresholds (first threshold for pause generation, second threshold for pause cancellation). This segmentation allows the system to apply different buffer management strategies to different portions of the buffer, enabling efficient utilization while maintaining lossless behavior for active ports.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The buffer allocation is made dynamic by monitoring the number of active ingress ports and adjusting the buffer thresholds and pause message generation accordingly. When fewer ports are active, the system dynamically adjusts to allow more efficient buffer usage, transitioning from static per-port allocation to dynamic shared buffer management.

Inventive Principle:
Principle #15Dynamics

2Reliability

If pause messages are generated when buffer threshold is reached, then buffer overflow is prevented, but excessive pause generation causes output port rate drooping

Engineering Contradiction:
Improvebuffer overflow preventionVSAvoidoutput port rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system changes the parameter for pause message generation from a fixed per-port threshold to a dynamic shared buffer threshold that considers the number of active ports. This parameter change allows the buffer threshold to adapt to traffic conditions, preventing premature pause generation and maintaining higher output port rates while still preventing buffer overflow.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback by continuously monitoring buffer fullness and the number of active ingress ports, then adjusting pause message generation decisions accordingly. This feedback mechanism prevents excessive pause generation by considering the actual buffer state and port activity, thereby maintaining output port rate while preventing overflow.

Inventive Principle:
Principle #23Feedback

3Reliability

If pause messages are generated for traffic bursts, then buffer protection is provided, but head-of-line blocking and increased latency occur

Engineering Contradiction:
Improvebuffer protectionVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The buffer threshold for pause generation is made dynamic based on the number of active ingress ports. When fewer ports are active, the threshold is adjusted to allow more buffer usage before triggering pause messages. This dynamic adjustment protects the buffer from overflow while reducing premature pause generation that would cause latency and head-of-line blocking.

Inventive Principle:
Principle #15Dynamics

4Reliability

If fixed buffer allocation per port is used, then lossless behavior is ensured, but excessive pause generation occurs when ports share buffer capacity

Engineering Contradiction:
Improvelossless behaviorVSAvoidexcessive pause generation
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The patent merges the buffer management of multiple ingress ports into a single shared buffer pool with unified threshold-based control. Instead of each port independently triggering pause messages, the system combines buffer usage from all active ports and generates pause messages based on the aggregate buffer state, reducing excessive pause generation while maintaining lossless behavior.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8867360B2Method and apparatus for lossless behavior for multiple ports sharing a buffer pool
Publication Date: 2014.10.21 EXTREME NETWORKS INC
  • US8867360B2 patent drawing
  • US8867360B2 patent drawing
  • US8867360B2 patent drawing

AI summary

Packets are colored and stored in a shared packet buffer without assigning fixed page allocations per port. The packet buffer is divided into three areas—an unrestricted area, an enforced area, and a headroom area. Regardless of the fullness level, when a packet is received it will be stored in the packet buffer. If the fullness level is in the unrestricted area, no flow control messages are generated. If the fullness level is in the enforced region, a probabilistic flow control generation process is used determine if a flow control messages will be generated. If the fullness level is in the headroom area, flow control is automatically generated. Quanta timers are used to control regeneration of flow control messages.