Design & Reuse

Industry Expert Blogs

Unraveling the PCIe ECN Unordered IO (UIO) Feature

-
July 1, 2024

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 ...