Virtual Channel Bus Multiplexing for Store Command Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems, the increasing complexity and functionality of devices lead to inefficiencies in communication between devices, particularly in managing channel commands and resources across different bus capacities, where the existing technologies struggle to effectively allocate and manage store and store/fetch resources efficiently.

Innovation Solution

The method involves establishing virtual channels across a bus with different capacities, using a credit-based flow-control system to allocate and manage store and store/fetch resources, where the second bus capacity is larger than the first, allowing for efficient execution of store and store/fetch commands by marking resources as unavailable and available based on command types, and utilizing a controller to determine resource allocation and prioritize transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple devices communicate via a shared bus with fixed capacity, then device connectivity is established, but communication efficiency deteriorates due to resource contention and idle resources

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The bus capacity is segmented into multiple virtual channels (first virtual channel, second virtual channel) with different capacities. Each virtual channel can be independently allocated to different devices or command types, allowing simultaneous communication streams to proceed without blocking each other, thereby improving communication efficiency while maintaining manageable complexity through structured resource division.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The bus system is designed to support multiple functions through virtual channel multiplexing. The same physical bus infrastructure can handle different types of commands (store commands, fetch commands) and serve multiple devices simultaneously by dynamically allocating virtual channel capacity, making the system universally applicable to various communication scenarios without requiring separate dedicated buses for each function.

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

2Productivity

If bus capacity is increased to handle more commands, then command throughput improves, but resource allocation complexity increases

Engineering Contradiction:
Improvecommand throughputVSAvoidallocation management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The virtual channel allocation is dynamic rather than static. The system can adjust the allocation of first and second bus capacities between different virtual channels based on current communication needs. This dynamic allocation allows the bus to adapt to varying command throughput requirements while maintaining a manageable allocation framework through the virtual channel abstraction layer.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of bus capacity allocation by introducing virtual channels with different capacity parameters. Instead of having a single fixed bus capacity, the system divides capacity into parameterized virtual channels (first virtual channel with first capacity, second virtual channel with second capacity), allowing flexible adjustment of throughput parameters without fundamentally changing the bus architecture complexity.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If virtual channel multiplexing is implemented to improve resource utilization, then bus capacity utilization improves, but control mechanism complexity increases

Engineering Contradiction:
Improvebus capacity utilizationVSAvoidcontrol mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms to monitor virtual channel usage and bus capacity availability. Based on this feedback, the system can dynamically adjust the allocation of first and second bus capacities between virtual channels, ensuring high utilization while maintaining simple control through automated adjustment rather than complex manual management.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The virtual channel multiplexing system operates with a degree of autonomy where the allocation and management of bus capacities are handled by the system itself through predefined protocols and state machines. This self-service approach improves utilization by automatically responding to communication demands without requiring complex external control mechanisms for each allocation decision.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10007625B2Resource allocation by virtual channel management and bus multiplexing
Publication Date: 2018.06.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10007625B2 patent drawing
  • US10007625B2 patent drawing
  • US10007625B2 patent drawing

AI summary

According to embodiments of the invention, methods, computer system, and apparatus for virtual channel management and bus multiplexing are disclosed. The method may include establishing a virtual channel from a first device to a second device via a bus, the bus having a first bus capacity and a second bus capacity, the second bus capacity having greater capacity than the first bus capacity, determining whether a store command is issued for the first bus capacity, determining whether the first bus capacity is available, and allocating the second bus capacity and marking the second bus capacity as unavailable in response to the store command if the first bus capacity is unavailable.