PCI Express Switch Multicast Routing via Destination Lookup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing PCI Express systems face challenges in enabling communication between devices connected to different route complexes, particularly in broadcasting data and implementing multicast transfers, due to the separation of internal buses and the complexity of system configuration, which leads to increased costs and operational complexity.
Innovation Solution
A switch with a PCI Express packet switch forwarding mechanism that selects output ports based on destination information, allowing for direct communication between devices without frame encapsulation, and supports multicast transfers by using a multicast table to determine output ports for multiple recipients.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If PCI Express systems use separate internal buses for different route complexes, then communication between devices on different route complexes is enabled, but system complexity and cost increase
Solution Approach 1:
The PCI Express switch is designed to handle multiple routing functions through a unified structure. The switch can route packets between different route complexes using the same internal bus infrastructure, eliminating the need for separate dedicated buses for each route complex. This multi-functional approach enables communication between different route complexes while maintaining a single, simplified system architecture.
2Ease of operation
If frame encapsulation is used for communication between different route complexes, then routing control is improved, but processing delay increases
Solution Approach 1:
The switch performs preliminary routing decisions by examining destination information in the packet header before the packet enters the internal bus. By pre-determining the output port based on the destination address or ID routing tables, the system avoids the need for complex frame encapsulation and decapsulation operations during data transfer, thereby reducing processing delay while maintaining effective routing control.
3Productivity
If multiple PCI-PCI bridges are connected to internal bus, then connection capacity is increased, but broadcast and multicast functionality is lost
Solution Approach 1:
The switch dynamically controls packet forwarding to multiple output ports based on the packet type and destination information. For broadcast and multicast packets, the switch can simultaneously forward packets to multiple downstream ports, enabling multicast functionality. This dynamic forwarding capability allows the system to maintain high connection capacity through multiple bridges while preserving broadcast and multicast operations that are essential for network communication.
4Adaptability or versatility
If complex routing mechanisms are implemented, then communication between different route complexes is enabled, but operational complexity increases
Solution Approach 1:
The switch automatically performs routing decisions based on destination information contained in the packet headers. Using routing tables that map destination addresses or IDs to output ports, the system self-determines the correct forwarding path without requiring complex external control mechanisms. This self-service routing approach enables communication between different route complexes while keeping the operational interface simple and manageable.
Data Source
AI summary
A switch (304) includes a plurality of bridges (3041, 3042, 3043, 3044, 3045) and a switch forwarding mechanism (20). Each of the bridges transmits and receives a TLP frame complying with PCI express to and from a device connected to each of the bridges. The switch forwarding mechanism includes a plurality of ports (1, 2, 3, 4, 5) to which the bridges are connected, respectively, selects an output port in dependence on a combination of destination information on the TLP frame input from one of the plurality of ports and the port which input the TLP frame, and outputs the TLP frame from the selected output port.


