PCIe Transaction Ordering Management via Segmented Domains
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The PCIe protocol's strict ordering rules can limit performance by unnecessarily delaying transactions and underutilizing data storage capacity, especially in environments with multiple virtual machines or processors that do not require deterministic sequencing of all transactions.
Innovation Solution
Intelligent enforcement of ordering rules by treating requests from independent devices or virtual machines as separate ordering domains, allowing bypassing of ordering rules when necessary, and using a configurable model to determine when to enforce or relax ordering based on transaction-specific criteria, such as source and destination IDs and pending transactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If strict ordering rules are enforced on all PCIe transactions, then data integrity is maintained, but system performance deteriorates due to unnecessary delays and congestion
Solution Approach 1:
The patent segments the PCIe fabric into multiple independent ordering domains, each associated with a specific device or virtual machine. Transactions are assigned to ordering domains based on their source or destination device ID. This segmentation allows ordering rules to be applied selectively within each domain rather than globally, enabling parallel processing of transactions from different domains and improving overall system performance while maintaining data integrity within each domain.
Solution Approach 2:
The patent implements dynamic ordering rule enforcement by configuring whether ordering rules apply to each ordering domain based on system state and transaction characteristics. The ordering domain configuration can be dynamically adjusted, allowing the system to switch between strict ordering and relaxed ordering modes for different domains or different time periods, optimizing performance while maintaining reliability where needed.
2Stability of the object's composition
If ordering rules are enforced on all transactions, then deterministic sequencing is ensured, but PCIe fabric utilization deteriorates due to congestion and delays
Solution Approach 1:
The patent divides the PCIe fabric into multiple ordering domains to enable parallel transaction processing. By segmenting the fabric, transactions from different domains can proceed simultaneously without waiting for deterministic sequencing across the entire fabric, thereby improving utilization while maintaining deterministic sequencing within each domain where it is still required.
Solution Approach 2:
The patent applies ordering rules locally to specific ordering domains rather than globally across the entire PCIe fabric. Each domain can have its own ordering configuration, allowing deterministic sequencing to be applied only where necessary for data integrity, while other regions of the fabric remain open to parallel transaction flows, improving overall utilization.
3Productivity
If ordering rules are relaxed for independent devices, then performance improves through parallel processing, but data integrity may be compromised without proper domain separation
Solution Approach 1:
The patent uses device ID or virtual machine ID to segment transactions into distinct ordering domains. This segmentation ensures that even when ordering rules are relaxed within domains to improve throughput, data integrity is maintained because each domain is isolated and transactions within a domain still follow deterministic sequencing. The segmentation prevents interference between independent devices while allowing parallel processing across domains.
Data Source
AI summary
Ordering rules, such as those enforced by the peripheral component interconnect express (PCIe) protocol for data communications, can be intelligently enforced for independent transactions. A single device might host or be associated with multiple PCIe devices, such as virtual machines, and treating requests from these separate PCIe devices as coming from separate domains enables the ordering rules to be bypassed for certain transactions. Further, since a virtual machine might host multiple applications or be associated with multiple processors that can submit independent requests, the ordering rules can be bypassed at the transaction level in at least some instances. The ability to intelligently bypass ordering rules can help to improve the performance of the overall system, as requests do not need to be unnecessarily delayed and data storage capacity can be more fully utilized.


