Dynamic Credit Allocation for Transaction Buffer Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face challenges in efficiently managing resource allocation for transaction requests between initiator and recipient devices, leading to high latency and increased overhead due to implicit or explicit resource allocation methods, which result in larger buffers and power consumption.

Innovation Solution

A recipient device dynamically allocates resources by reserving storage locations and issuing credit grants to initiator devices that have had transaction requests refused, ensuring that subsequent requests are accepted, thereby reducing storage requirements and latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If implicit resource allocation is used with continual reissuing of rejected transaction requests, then the system can handle buffer full conditions, but the latency becomes unbounded and overhead increases

Engineering Contradiction:
Improvetransaction request handlingVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The recipient device performs preliminary actions by reserving buffer storage locations in advance before the initiator device reissues transaction requests. When a transaction request is rejected due to buffer full condition, the recipient device proactively reserves a storage location and notifies the initiator device, enabling the initiator to reissue the request without experiencing unbounded latency. This preliminary reservation action eliminates the need for continuous retry attempts and ensures timely acceptance of reissued requests.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If explicit credit allocation is used to guarantee transaction acceptance, then latency is reduced, but buffer size must increase to accommodate all initiators

Engineering Contradiction:
ImprovelatencyVSAvoidbuffer size
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The system implements dynamic credit allocation where the recipient device dynamically reserves buffer storage locations based on current buffer availability and initiator device needs. Instead of pre-allocating fixed buffer sizes for all initiators, the recipient device adaptively manages buffer resources by reserving locations only when transaction requests are rejected and credits need to be granted. This dynamic approach maintains low latency for reissued requests while minimizing the overall buffer size requirement.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If larger buffers are used to store pending transaction requests, then more initiators can be accommodated, but area overhead and power consumption increase

Engineering Contradiction:
Improvenumber of initiators accommodatedVSAvoidbuffer area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The recipient device implements self-service resource management by autonomously monitoring its buffer status and dynamically reserving storage locations only when needed for credit-based transaction acceptance. Instead of maintaining a large static buffer to accommodate all possible initiators, the recipient device serves itself by intelligently allocating buffer space based on actual transaction flow and credit grant requirements. This reduces the overall buffer area while maintaining the ability to accommodate multiple initiators efficiently.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8463958B2Dynamic resource allocation for transaction requests issued by initiator devices to recipient devices
Publication Date: 2013.06.11 ARM LTD
  • US8463958B2 patent drawing
  • US8463958B2 patent drawing
  • US8463958B2 patent drawing

AI summary

Initiator devices for generating transaction requests and recipient devices for receiving them are disclosed. The recipient devices accept transaction requests where there is available buffer storage for the transaction request. If there is no storage space available an acknowledgement signal generator generates and outputs a reject acknowledgement signal indicating a request has been received but has not been accepted by the recipient device. A credit generator can reserve at least one available storage location in the buffer and generate a credit grant for an initiator device that sent one of the transaction requests that was not accepted by the recipient device. The credit grant indicates to the initiator device that there is at least one reserved storage location, such that a subsequent transaction request from the initiator device will be accepted by the recipient device. Thus, the initiator device may not transmit the transaction request again until it has received the credit grant, whereupon it may transmit it along with a credit grant indicator such that it is sure that it will be accepted.