PCIe 6.0 Address Translation Services: Verification Challenges and Strategies
Address Translation Services (ATS) is a mechanism in PCIe that allows devices to request address translations from the Input/Output Memory Management Unit (IOMMU). This is particularly important where devices need to access virtual memory. ATS enhances performance by enabling devices to cache translations, reducing the latency associated with memory access. This blog delves into the semantics of ATS request-completion protocol and Invalidation protocol. It also addresses key verification challenges that verification engineers might face while covering the error scenarios at various stages of verification.
Semantics of ATS Protocol
ATS uses a request-completion protocol between a device and a Root Complex (RC).
- The device function generates an ATS translation request that is sent upstream through the PCIe hierarchy to the RC which then forwards it to the Translation Agent (TA)
- ATS translation requests are processed for each traffic class that follows the ordering rules and issues the associated ATS translation completion
ATS uses invalidate request-completion protocol between a device and an RC and ensures that the cached address translations are not stale.
- TA (or RC) sends the invalidate request downstream to the device Address Translation Cache (ATC)
- Devices like endpoint (EP) issue one or more invalidate completion responses to TA, indicating that EP has cleared the ATC
To read the full article, click here
Related Semiconductor IP
- PCIe 6.0 Retimer Controller with CXL Support
- PHY for PCIe 6.0 and CXL
- PCIe 6.0 PHY, SS SF2A x4 1.2V, N/S for Automotive, ASIL B Random, AEC-Q100 Grade 2
- PCIe 6.0 (Gen6) Premium Controller with AMBA bridge and LTI & MSI Interfaces
- PCIe 6.0 (Gen6) Premium Controller with AMBA bridge
Related Blogs
- Demystify Address Translation Services (ATS) in PCIe 6.0
- PCIE 6.0 vs 5.0 - All you need to know
- Big Innovations Double the Data Rate to 64 GT/s with PCIe 6.0
- Verification of Light Weight Forward Error Correction (FEC) and Strong Cyclic Redundancy Checks (CRC) feature in PCIe 6.0
Latest Blogs
- World's First Standards-Compliant 112G PHY IP for Linear Optics: A Turning Point for AI Interconnects
- One Key for Every Door: How Aliro Extends the UWB Digital Key Beyond the Car
- Reprogrammable Post-Quantum Security for SoCs: Why Crypto-Agility Matters
- Designing the Beam Steering Core for a C-Band AESA: A Look at VSI's VBF0644 GaAs Beamformer IC
- Secure Boot for embedded systems: Building a complete chain of trust