TLP Processing Unit for Multi-Processor I/O Arbitration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing I/O virtualization technologies face challenges in efficiently processing transactions from multiple processors and ensuring resource isolation and fairness in shared I/O hardware resources, particularly in high-speed serial link technologies.
Innovation Solution
A transaction layer packet processor is introduced within an I/O device, which includes a host interface coupled to hardware resources, capable of processing transaction layer packets from multiple processing units, employing arbitration schemes like round robin for fairness and ensuring each processor's transactions are processed efficiently and isolated from others.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If I/O hardware resources are shared across multiple processors to increase hardware resource utilization, then hardware resource utilization is improved, but transaction processing complexity and resource isolation difficulty increase
Solution Approach 1:
The patent segments the I/O resource access mechanism by introducing separate TLP processing units for each processor, with each unit having dedicated buffers and processing queues. This segmentation allows independent transaction processing for each processor while sharing physical I/O hardware resources, thereby maintaining high resource utilization without excessive complexity in the shared access control mechanism.
Solution Approach 2:
The patent introduces TLP processing units as intermediary components between processors and shared I/O hardware. These intermediaries handle transaction layer packet processing, arbitration, and resource allocation, simplifying the overall system by centralizing the complexity in dedicated processing units rather than requiring complex direct coordination between multiple processors and shared resources.
2Productivity
If multiple processors access shared I/O hardware resources simultaneously, then hardware resource utilization is improved, but ensuring fair resource access and transaction isolation becomes more difficult
Solution Approach 1:
The patent implements segmentation by creating separate TLP processing units for each processor, each with its own buffers and processing queues. This segmentation ensures that transactions from different processors are handled independently and fairly, with each processor's TLP processing unit managing its own access to shared I/O hardware without interfering with other processors.
Solution Approach 2:
The patent applies preliminary action through the arbitration mechanism that processes TLPs before they reach the shared I/O hardware. The TLP processing units perform preliminary sorting, buffering, and arbitration of transactions, ensuring fair access rights are established before actual hardware access occurs, thereby maintaining resource isolation and fairness in the shared environment.
3Productivity
If a TLP processing unit processes transactions from multiple processing units, then hardware resource utilization is improved, but processing latency and queue management complexity increase
Solution Approach 1:
The patent segments the processing function by creating dedicated TLP processing units for each processor, with each unit maintaining its own buffers and processing queues. This segmentation allows parallel processing of transactions from multiple processors without creating a single bottleneck, thereby reducing overall processing latency while maintaining high hardware resource utilization through efficient distributed transaction handling.
Data Source
AI summary
An I/O device includes a host interface coupled to a plurality of hardware resources. The host interface includes a transaction layer packet (TLP) processing unit that may receive and process a plurality of transaction layer packets sent by a plurality of processing units. Each processing unit may correspond to a respective root complex. The TLP processing unit may identify a transaction type and a processing unit corresponding to each transaction layer packet and store each transaction layer packet within a storage according to the transaction type and the processing unit. The TLP processing unit may select one or more transaction layer packets from the storage for process scheduling based upon a set of fairness criteria using an arbitration scheme. The TLP processing unit may further select and dispatch transaction layer packets for processing by downstream application hardware based upon additional criteria.


