Dynamic Buffer Allocation for HyperTransport Virtual Channels

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

HyperTransport bus performance is compromised due to fixed buffer allocations across virtual channels, leading to inefficient usage and potential shortages or surpluses based on varying workloads, as increasing buffer counts increases costs and silicon real estate consumption.

Innovation Solution

Implementing a link interface circuit with both hard-allocated and non-allocated (freelist) buffers, allowing dynamic assignment of transactions across virtual channels, with the link interface circuit managing buffer allocation and release to adapt to changing workloads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If more buffers are allocated to virtual channels, then HyperTransport bus performance is improved, but device cost and silicon real estate consumption increase

Engineering Contradiction:
ImproveHyperTransport bus performanceVSAvoidbuffer count
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements a hybrid buffer management system that combines static hard-allocated buffers with dynamic freelist buffers. The hard-allocated buffers provide guaranteed capacity for each virtual channel, while the freelist buffers are dynamically assigned based on actual workload demands. This dynamic allocation allows the system to adapt buffer usage to changing traffic patterns, improving overall bus performance without proportionally increasing the total buffer count, thus resolving the contradiction between performance and resource consumption.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The freelist buffers serve multiple virtual channels simultaneously rather than being dedicated to a single channel. These shared buffers can be allocated to any virtual channel that needs them, making the buffer resource universal and multi-functional. This approach allows the same physical buffers to support multiple communication channels, reducing the total number of buffers needed while maintaining performance across all channels.

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

2Device complexity

If fixed buffer allocation is used across virtual channels, then device complexity is reduced, but buffer usage efficiency deteriorates due to shortages or surpluses

Engineering Contradiction:
Improvebuffer allocation managementVSAvoidbuffer usage efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the buffer management system into two distinct parts: hard-allocated buffers with fixed assignment to specific virtual channels, and freelist buffers with dynamic allocation. This segmentation allows the system to maintain simple fixed allocation for guaranteed capacity while introducing dynamic allocation only where needed to improve efficiency. The segmented approach balances complexity and efficiency by applying different management strategies to different buffer subsets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the allocation parameter from purely fixed to a hybrid fixed-dynamic model. The hard-allocated buffers maintain fixed assignment for stability and simplicity, while the freelist buffers introduce dynamic allocation based on real-time channel utilization. This parameter change allows the system to respond to varying workload conditions, improving buffer usage efficiency without completely overhauling the allocation management complexity.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If hard-allocated buffers are used for each virtual channel, then buffer allocation reliability is ensured, but adaptability to varying workloads deteriorates

Engineering Contradiction:
Improvebuffer allocation reliabilityVSAvoidworkload adaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic buffer allocation through freelist buffers that can be assigned to different virtual channels based on actual workload demands. While hard-allocated buffers provide reliable guaranteed capacity, the freelist portion dynamically adapts to changing traffic patterns and channel utilization. This dynamic component allows the system to respond to varying workloads, improving adaptability while the hard-allocated portion maintains reliability guarantees.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The freelist buffers serve as a universal resource pool that can be allocated to any virtual channel needing additional capacity. This multi-functional buffer pool provides adaptability across different channels and workload types, allowing the same physical buffers to serve multiple purposes and channels dynamically, thereby improving overall system versatility without compromising the reliability provided by hard-allocated buffers.

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

Data Source

PatentUS8954635B2Buffer management using freelist buffers
Publication Date: 2015.02.10 ADVANCED MICRO DEVICES INC
  • US8954635B2 patent drawing
  • US8954635B2 patent drawing
  • US8954635B2 patent drawing

AI summary

A device includes a link interface circuit, a first plurality of allocated buffers, and a second plurality of non-allocated buffers. The link interface circuit is operable to communicate over a communications link using a plurality of virtual channels. A different subset of the plurality of allocated buffers is allocated to each of the virtual channels. The non-allocated buffers are not allocated to a particular virtual channel. The link interface circuit is operable to receive a first transaction over the communications link and assign the first transaction to one of the allocated buffers or one of the non-allocated buffers.