Buffer Credit Reallocation for Priority Memory Request Progress

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computing systems face challenges in ensuring efficient buffer utilization and preventing deadlocks when handling different types of memory requests, particularly priority requests, using existing methods like valid-ready handshake and credit-based systems, which can lead to inefficiencies and bottlenecks.

Innovation Solution

A system and method for controlling memory buffer reservation using a transmitter, receiver, and buffer control logic that dynamically allocates and commandeers credits across request channels to ensure priority requests make forward progress, optimizing buffer utilization by allowing priority requests to use buffers allocated to other channels when credits are unavailable.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If credit-based systems are used to control buffer allocation, then buffer overflow is prevented, but priority requests may be blocked when their allocated credits are unavailable

Engineering Contradiction:
Improvedeadlock preventionVSAvoidrequest throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts credit allocation by allowing priority requests to temporarily acquire credits from non-priority channels when needed. The credit value for each channel is not fixed but can be reallocated based on current request priorities, enabling the system to adapt to changing conditions and prevent priority requests from being blocked.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the parameter of credit allocation from a static, channel-specific value to a dynamic value that can be transferred between channels. When a priority request needs a buffer and its channel has no available credits, the system transfers credits from other channels, effectively changing the credit parameter to maintain request flow and prevent deadlocks.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If dedicated buffers are allocated to each request channel, then buffer overflow is prevented, but buffer utilization efficiency decreases

Engineering Contradiction:
Improvebuffer overflow preventionVSAvoidbuffer utilization efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

Buffers are made universal by allowing them to be used by multiple request channels depending on credit availability. Instead of dedicating specific buffers to specific channels, any buffer can serve any channel that has available credits, making the buffer pool multi-functional and significantly improving utilization efficiency while maintaining overflow prevention through credit control.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The buffer allocation is dynamic rather than static. Buffers are not permanently assigned to specific channels but are allocated on-demand based on credit availability and request priority. This dynamic allocation allows buffers to be reused across different channels and time periods, eliminating the waste associated with dedicated allocations while preventing overflow through the credit mechanism.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If strict channel buffering is enforced, then buffer allocation simplicity is maintained, but priority request progress is blocked when channel credits are exhausted

Engineering Contradiction:
Improvebuffer allocation simplicityVSAvoidpriority request completion
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system maintains operational simplicity by keeping the basic credit-based allocation mechanism intact while adding dynamic credit transfer capability. The buffer control logic automatically manages credit reallocation from non-priority channels to priority channels when needed, preserving ease of operation while ensuring priority requests can progress even when their original channel credits are exhausted.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The buffer control logic acts as an intermediary that manages credit allocation between channels. It monitors credit availability across all channels and automatically transfers credits to support priority requests, mediating between the simple allocated structure and the need for flexible priority handling without requiring complex changes to the overall system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of manufacture

If buffers are reserved for non-priority channels, then buffer allocation is straightforward, but buffers remain idle when non-priority requests are waiting while priority requests need buffers

Engineering Contradiction:
Improvebuffer allocation implementationVSAvoidbuffer idle time
Core Design Contradiction:
Ease of manufactureVSLoss of energy

Solution Approach 1:

The buffer allocation system is made dynamic by allowing credits (and thus buffer access rights) to be transferred between channels based on real-time priority needs. When non-priority channels have idle buffers and priority channels need buffers, the system automatically transfers credits, ensuring buffers are actively utilized by priority requests rather than remaining idle, while maintaining straightforward allocation implementation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the buffer allocation parameter from a fixed, channel-specific assignment to a flexible, credit-based assignment that can change based on request priority. This parameter change allows buffers to be dynamically reassigned from non-priority to priority channels, eliminating idle time while keeping the allocation mechanism implementationally straightforward through credit management.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20260050561A1Method and System for Optimizing Buffer Reservation and Utilization
Publication Date: 2026.02.19 IMAGINATION TECH LTD
  • US20260050561A1 patent drawing
  • US20260050561A1 patent drawing
  • US20260050561A1 patent drawing

AI summary

A system for controlling memory buffer reservation comprising a transmitter, a receiver and buffer control logic is provided. The transmitter is configured to transmit a plurality of memory requests on two or more request channels, the plurality of memory requests comprising at least one priority request transmitted on a first request channel. The receiver comprises a plurality of buffers, each buffer having an associated credit, wherein each request channel is provided with a credit value based on the number of buffers allocated to receive memory requests from the corresponding request channel, where at least one credit is provided to the first request channel. The buffer control logic enables the first request channel to use a buffer allocated to a second request channel by utilizing a credit provided to the second request channel for transmitting the priority request to the receiver when a credit provided to first request channel is unavailable.