Introduction
Unordered IO (UIO) ECN is included in the PCIe 6.1 specification and defines a new wire semantic and related capabilities for addressing the limitations of the PCI/PCIe fabric-enforced ordering rules. The key motivations for UIO ECN are to enable multiple-path fabric support and to have performance improvements.
Previous Ordering Methods vs UIO
In the PCIe protocol, there are some transaction ordering rules to avoid deadlocks and producer-consumer problems. For example,
- A posted request must not pass another posted request
- A posted request must be able to pass non-posted requests to avoid deadlocks
- Non-posted requests with data must not pass a posted request
These rules are defined for all types of transactions on PCI Express, including memory, I/O, configuration, and messages. The ordering rules are applicable for transactions with the same Traffic Class (TC).
The PCIe specification provided a way to change the ordering rules by using Relaxed Ordering (RO) and ID-Based Ordering (IDO) attributes present in the TLP. Header attributes bits [2:1].
Click here to read more ...