Dynamic Credit Allocation for Buffer Overflow Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed switches, the existing credit management systems can lead to buffer overflow issues due to the inability to efficiently allocate additional credits when the buffer capacity exceeds the maximum number of credits a transmitting entity is designed to manage, potentially causing data packet loss and inefficient use of buffer space.

Innovation Solution

A method and system that dynamically provide extra credits to a transmitting entity when the buffer has available space and the credit count is below the maximum, ensuring that the transmitting entity does not exceed its designed credit limit, thereby optimizing buffer usage and preventing overflow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the buffer capacity is increased to store more data packets, then the buffer utilization efficiency is improved, but the transmitting entity may be overwhelmed by excessive credits beyond its designed management capacity

Engineering Contradiction:
Improvebuffer storage capacityVSAvoidcredit management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system dynamically adjusts credit allocation based on real-time buffer availability. When buffer space becomes available, extra credits are provided to the transmitting entity beyond its standard maximum, allowing the credit management system to adapt flexibly to changing buffer conditions rather than operating with a fixed credit limit

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the credit parameter dynamically by providing extra credits when buffer space is available. This parameter change allows the transmitting entity to utilize additional buffer capacity without permanently increasing its credit management burden, as the extra credits are temporary and conditional on buffer availability

Inventive Principle:
Principle #35Parameter changes

2Productivity

If extra credits are provided to the transmitting entity beyond its maximum designed capacity, then buffer utilization efficiency is improved, but the transmitting entity's credit management capability is exceeded

Engineering Contradiction:
Improvedata packet transmission throughputVSAvoidcredit count accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary checks to ensure that providing extra credits will not cause the transmitting entity to exceed its maximum credit count. Before allocating extra credits, the system verifies that the transmitting entity's current credit count plus the extra credits would remain within acceptable limits, preventing credit management overflow

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors the transmitting entity's credit count and buffer availability, using this feedback to dynamically adjust credit allocation. This feedback mechanism ensures that extra credits are provided only when appropriate and that the transmitting entity's credit count remains within manageable boundaries

Inventive Principle:
Principle #23Feedback

3Loss of energy

If the buffer storage capacity exceeds the maximum number of credits, then available buffer space is wasted, but implementing dynamic credit allocation increases system complexity

Engineering Contradiction:
Improvebuffer space wasteVSAvoidcredit allocation logic
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system enables the buffer to effectively serve itself by using available buffer space as a signal for credit allocation. When buffer space is available, the system automatically provides extra credits to the transmitting entity, allowing the buffer's own availability to drive the credit allocation decision without requiring complex external control mechanisms

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9455926B2Queue credit management
Publication Date: 2016.09.27 GLOBALFOUNDRIES US INC
  • US9455926B2 patent drawing
  • US9455926B2 patent drawing
  • US9455926B2 patent drawing

AI summary

To prevent buffer overflow, a receiving entity may use credits to control the total amount of packets any single transmitting entity can forward. Once the assigned credits are spent, the transmitting entity cannot send data portions to the receiving entity until additional credits are provided. However, the logic in the receiving entity may be designed to manage a maximum number of credits that is less than the capacity of the buffer in the transmitting entity. For example, the receiving entity is designed to manage a maximum of eight credits but the buffer has room for twelve data portions. To use the buffer efficiently, the transmitting entity may identify when extra buffer storage is available and provide additional credits. In addition, the transmitting entity may control when the credits are provided such that the receiving entity is not allocated more credits that it was designed to manage.