Multi-Port Network Controller for PCIe Packet Splitting and Reordering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
PCIe-based communication between devices is limited by transceiver speed and can be interrupted due to path failures from external factors like jitter or skew, leading to inefficiencies in data transmission.
Innovation Solution
A network controller that monitors port statuses using a port monitor circuit, splits packets based on valid ports, and restores order using a reorder buffer to enhance communication reliability and efficiency across multiple ports.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If PCIe communication uses a single point-to-point link, then the system is simple to implement, but the communication speed is limited by transceiver speed and can be interrupted due to path failures
Solution Approach 1:
The network controller segments communication paths by providing multiple independent physical layer ports (first physical layer port and second physical layer port) that can operate simultaneously. This segmentation allows data to be transmitted through multiple parallel paths, improving reliability while maintaining manageable complexity through modular architecture
Solution Approach 2:
The patent transitions from a single-dimension point-to-point link to a multi-dimensional communication structure by adding temporal dimension (time-division multiplexing) and spatial dimension (multiple physical ports). The transaction layer packet is divided into multiple data link layer packets transmitted at different times through different physical layers, then reassembled in correct order, adding dimensions to overcome the limitations of single-link architecture
2Productivity
If packets are split and transmitted through multiple ports, then bandwidth and reliability improve, but packet reordering and restoration complexity increases
Solution Approach 1:
The network controller performs preliminary actions by adding sequence information and identification markers to each data link layer packet before transmission. This preliminary tagging allows the receiving end to automatically reorder packets without complex real-time processing, improving transmission speed while managing restoration complexity through pre-prepared metadata
Solution Approach 2:
The patent introduces an intermediary mechanism (reorder buffer or restoration logic) that mediates between the split transmission paths and the final reassembly. This intermediary component handles the complex reordering task independently, allowing the main transmission paths to operate at full speed while the intermediary manages packet restoration systematically
3Reliability
If error monitoring and port disabling mechanisms are implemented, then communication stability improves, but system complexity and processing overhead increase
Solution Approach 1:
The port monitoring circuit implements self-service by automatically detecting errors in data link layer packets and independently disabling faulty ports without external intervention. The system monitors its own health status, identifies problematic links, and reroutes traffic automatically, improving stability while keeping the monitoring overhead manageable through autonomous operation
Solution Approach 2:
The patent incorporates feedback mechanisms where the port monitoring circuit continuously receives status information from physical and data link layers, processes this feedback, and adjusts port operation accordingly. Error information flows back from the transmission medium to the controller, enabling dynamic adaptation that improves reliability while the structured feedback loop keeps complexity manageable
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A network controller and operating method of the network controller are disclosed. The network controller includes, based on error information transmitted through a plurality of data link layers and a plurality of physical layers respectively corresponding to a plurality of ports managed by one transaction layer, a port monitor circuit configured to determine a number of valid ports among the plurality of ports by monitoring a status of the plurality of ports, a split circuit configured to split and transmit one packet to the valid ports based on the number of valid ports, and a reorder buffer configured to sort an order of second split packets, which are received from another network controller through the plurality of ports, and restore the second split packets received.