Virtual Channel Bus Multiplexing for Store Command Allocation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If bus capacity is increased to handle more commands, then command throughput improves, but resource allocation complexity increases
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.
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.
3Productivity
If virtual channel multiplexing is implemented to improve resource utilization, then bus capacity utilization improves, but control mechanism complexity increases
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.
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.
Data Source
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.


