CXL Switch P2P Protocol for PCI Scalability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for improving PCI endpoint or device scalability, such as SR-IOV and sIOV, are limited by hardware resources and incur extra implementation costs due to the need for supporting shared virtual memory and virtual-to-physical address translation, which restricts the number of virtual functions and work queues.
Innovation Solution
The implementation of a communication link switch configured according to the CXL specification, utilizing CXL direct P2P communication protocols to enable IO device access ISA commands like ENQCMD(S) for efficient job request handling and data processing, allowing multiple services to submit IO job requests simultaneously without relying on ENQCMD(S) capabilities or user queue features.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If SR-IOV or sIOV is used to improve PCI endpoint scalability, then the number of virtual functions can be increased, but hardware resources are limited and implementation costs increase due to shared virtual memory and address translation requirements
Solution Approach 1:
The patent introduces a gateway device as an intermediary between the host system and target devices. The gateway receives IO job requests from applications, translates them into device-specific commands, and forwards them to target devices via CXL switches. This intermediary approach eliminates the need for complex hardware virtualization features in endpoint devices, as the translation and coordination functions are performed by the gateway software layer instead of hardware resources.
Solution Approach 2:
The patent replaces hardware-based virtualization mechanisms (SR-IOV, sIOV) with a software-based gateway system. Instead of relying on hardware work queues and virtual memory management units, the system uses a gateway application that runs on the host processor to manage IO job requests, perform address translations, and coordinate with target devices through standardized CXL protocols, thereby substituting mechanical hardware solutions with software-based alternatives.
2Adaptability or versatility
If SR-IOV or sIOV is implemented to support more virtual functions, then device scalability improves, but extra implementation costs are incurred due to shared virtual memory and address translation support
Solution Approach 1:
The gateway device serves as a cost-effective intermediary that handles address translation and virtual memory management through software rather than requiring expensive hardware VMMUs and shared virtual memory support in each endpoint device. This approach reduces implementation costs by centralizing these functions in a software layer that can serve multiple target devices without requiring duplicated hardware resources in each device.
3Productivity
If hardware work queues are used in PCI endpoints, then IO job processing capability is provided, but the number of work queues is limited which restricts scalability
Solution Approach 1:
The patent extracts the work queue management function from the endpoint devices and consolidates it in the gateway device. The gateway maintains its own work queues and manages IO job requests centrally, while target devices receive simplified commands through the CXL interface. This extraction eliminates the limitation of having a fixed number of hardware work queues in each endpoint, as the gateway can dynamically manage a large number of virtual work queues in software and map them to physical resources as needed.
Data Source
AI summary
Techniques to improve device scalability using a peer-to-peer protocol over a communication link. The techniques can include use of an input/output (IO) device access instruction set architecture (ISA) command to place an IO job request through an agent device from a host processor to a device, the host processor, agent device and device coupled to a communication link switch. The IO job request can be communicated through the communication link switch.


