PCIe End-to-End Isolation with Virtual Channels and QoS
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Implementing end-to-end isolation in multi-SoC distributed processing systems is challenging, as existing approaches that treat each application as an independent PCIe device or function increase costs and achieve only partial isolation.
Innovation Solution
A distributed system using Inbound and Outbound Safety Isolation Units on each SoC, combined with Quality of Service (QoS) support, isolates transactions from safety and non-safety applications end-to-end while prioritizing critical transactions, without requiring each application to be implemented as an independent PCIe device or function.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If each application is treated as an independent PCIe device or function, then isolation between applications is improved, but system cost and device complexity increase
Solution Approach 1:
The patent combines multiple applications sharing a single PCIe device, using virtual channel assignment and credential mapping to provide isolation. Instead of requiring separate PCIe devices for each application, the system merges multiple applications into one device while maintaining isolation through software-based credential verification and virtual channel management, thereby reducing hardware complexity while preserving reliability.
2Reliability
If each application is treated as an independent PCIe device or function, then isolation between applications is improved, but system cost increases
Solution Approach 1:
The patent merges multiple applications into a single PCIe device, reducing the number of hardware components needed. By using shared hardware resources with software-based isolation mechanisms (credential mapping, virtual channels), the system reduces manufacturing costs while maintaining application isolation through logical separation rather than physical separation.
3Device complexity
If traffic from different applications is mixed in the same PCIe channels, then device complexity is reduced, but isolation between applications deteriorates
Solution Approach 1:
The patent introduces credential mapping tables and virtual channel assignment as intermediary mechanisms between applications and PCIe channels. These intermediaries enable traffic from different applications to share physical channels while maintaining logical isolation through credential verification and virtual channel separation, thus achieving isolation without requiring separate physical channels for each application.
4Productivity
If critical transactions are prioritized over non-critical ones, then quality of service for critical applications is improved, but system complexity increases
Solution Approach 1:
The patent uses traffic class parameters and priority levels to differentiate between critical and non-critical transactions. By assigning different priority parameters to transactions based on their importance, the system enables QoS mechanisms to automatically prioritize critical traffic without requiring complex manual intervention or sophisticated traffic management algorithms, thus achieving QoS with manageable complexity.
Data Source
AI summary
Examples systems are provided for isolating transactions originating from different types of applications, including systems for providing such isolation on an inbound side and systems for providing such isolation on an outbound side, as well as end-to-end isolation systems. Such systems may be implemented in a peripheral component interconnect express (PCIe) environment. On an outbound side, a first interconnect receives transactions having different attributes indicating different application origins, respectively, and selects different pathways for the transactions based on their respective attributes. On an inbound side, a second interconnect selects different pathways for the transactions based on their respective attributes. Thus, transactions originating from safety and non-safety applications may be kept isolated as they are routed, and a non-safety transaction may be restricted from accessing certain portions of memory.


