SoC PCIe Endpoint Emulation for Multi-Port Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computing systems require multiple physical PCIe devices for managing data transmissions, which increases provisioning, management, and maintenance costs, and may not provide optimal performance.
Innovation Solution
The emulation of multiple independent PCIe endpoints or bridge devices on a single SoC device, utilizing multiple PCIe cores to emulate multiple PCIe ports, with an emulation agent managing configuration transactions and interrupts to facilitate efficient data processing and communication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple physical PCIe devices are used to manage data transmissions, then the system can provide multiple PCIe endpoints, but the provisioning, management, and maintenance costs increase
Solution Approach 1:
The patent combines multiple PCIe endpoint functionalities into a single physical device by implementing a PCIe switch that can emulate multiple independent PCIe endpoints. This consolidation reduces the number of physical devices from multiple separate PCIe cards to a single multi-port PCIe device, thereby reducing provisioning, management, and maintenance costs while maintaining the ability to provide multiple PCIe endpoints to the host system
Solution Approach 2:
The PCIe switch device is designed with multi-functionality to perform the roles of multiple different PCIe devices simultaneously. By implementing emulation capabilities that can present multiple independent PCIe endpoints to the host, a single physical device can serve multiple functions that previously required separate physical devices, thus reducing overall system complexity
2Adaptability or versatility
If multiple physical PCIe devices are used, then multiple PCIe endpoints can be provided, but performance may not be optimal
Solution Approach 1:
The patent introduces a PCIe switch as an intermediary device that sits between the host and multiple PCIe endpoints. This switch optimizes data transmission by intelligently routing traffic between the host and different endpoints, managing bandwidth allocation, and reducing contention that would occur with multiple separate physical devices. The switch acts as a intelligent mediator that improves overall system performance while maintaining multiple endpoint capabilities
3Adaptability or versatility
If multiple physical PCIe devices are used, then PCIe endpoints can be connected to the host, but manufacturing and maintenance costs increase
Solution Approach 1:
The patent merges multiple PCIe endpoint functionalities into a single manufacturable device - the PCIe switch. By integrating multiple endpoint emulations within one physical device, the manufacturing process is simplified compared to producing and assembling multiple separate PCIe devices. This consolidation reduces bill of materials costs, assembly complexity, and testing requirements, thereby lowering manufacturing costs while maintaining the ability to provide multiple PCIe endpoints
Data Source
AI summary
Multiple independent endpoint devices can be emulated using a single system on chip (SoC) device. Such a SoC can have multiple cores that can emulate ports according to a specified protocol, such as the peripheral component interconnect express (PCIe) protocol useful for data communications. An emulation agent can manage various aspects of these emulated endpoint devices in software, including serving interrupts for relevant emulated devices according to a determined priority scheme. Interrupts can be registered for each device, and data structures allocated dynamically for a determined number and type(s) of PCIe endpoint devices to be emulated. Each PCIe core on the SoC can function as a separate PCIe endpoint device endpoint for communicating with one or more hosts or other such devices.


