Friday, April 13, 2012

Transaction Layer Services

The Transaction Layer, in the process of generating and receiving TLPs, exchanges Flow Control information with its complementary Transaction Layer on the other side of the Link. It is also responsible for supporting both software and hardware-initiated power management.
Initialization and configuration functions require the Transaction Layer to:
  • Store Link configuration information generated by the processor or management device
  • Store Link capabilities generated by Physical Layer hardware negotiation of width and operational frequency
A Transaction Layer’s Packet generation and processing services require it to:
  • Generate TLPs from device core Requests
  • Convert received Request TLPs into Requests for the device core
  • Convert received Completion Packets into a payload, or status information, deliverable to the core
  • Detect unsupported TLPs and invoke appropriate mechanisms for handling them
  • If end-to-end data integrity is supported, generate the end-to-end data integrity CRC and update the TLP header accordingly.
Flow control services:
  • The Transaction Layer tracks flow control credits for TLPs across the Link.
  • Transaction credit status is periodically transmitted to the remote Transaction Layer using transport services of the Data Link Layer.
  • Remote Flow Control information is used to throttle TLP transmission.
Ordering rules:
  • PCI/PCI-X compliant producer consumer ordering model
  • Extensions to support Relaxed Ordering
  • Extensions to support ID-Based Ordering
Power management services:
  • ACPI/PCI power management, as dictated by system software.
  • Hardware-controlled autonomous power management minimizes power during full-on power states.
Virtual Channels and Traffic Class:
  • The combination of Virtual Channel mechanism and Traffic Class identification is provided to support differentiated services and QoS support for certain classes of applications.
  • Virtual Channels: Virtual Channels provide a means to support multiple independent logical data flows over given common physical resources of the Link. Conceptually this involves multiplexing different data flows onto a single physical Link.
  • Traffic Class: The Traffic Class is a Transaction Layer Packet label that is transmitted unmodified end-to-end through the fabric. At every service point (e.g., Switch) within the fabric, Traffic Class labels are used to apply appropriate servicing policies. Each Traffic Class label defines a unique ordering domain - no ordering guarantees are provided for packets that contain different Traffic Class labels.
PCI Express Cards

No comments:

Post a Comment