PCIe Packet Processing Device Request Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing PCIe technologies face issues with request processing, where the processing of requests by one I/O device can impede the processing of requests by another, particularly due to the lack of consideration for ordering among I/O devices, leading to delayed processing of completions and potential bottlenecks in the PCIe fabric.
Innovation Solution
A packet processing device is configured to select appropriate request processing units based on request classifications and load conditions, using transaction identifiers and requester identifiers to manage and prioritize PCIe packets, ensuring efficient processing and preventing bottlenecks by distributing the load across multiple request processing units.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single request processing unit processes all PCIe packets, then processing simplicity is maintained, but processing delays occur when one I/O device impedes another
Solution Approach 1:
The patent divides the single request processing unit into multiple request processing units (first request processing units for posted requests and second request processing units for non-posted requests). Each unit independently processes specific types of requests, allowing parallel processing and preventing one I/O device from impeding another's request processing.
2Reliability
If request processing follows strict ordering rules, then protocol compliance is ensured, but processing flexibility and speed are reduced
Solution Approach 1:
The patent applies different processing qualities to different request types. Posted requests (which can be dropped) are processed by first request processing units with higher flexibility, while non-posted requests (which require completion) are processed by second request processing units with stricter ordering enforcement. This local differentiation maintains protocol compliance where needed while improving overall efficiency.
3Productivity
If multiple request processing units are used, then processing parallelism is achieved, but device complexity increases
Solution Approach 1:
The patent implements dynamic selection of request processing units based on the type of PCIe packet being processed. The system dynamically routes posted requests to first request processing units and non-posted requests to second request processing units, allowing the complexity to be activated only when needed rather than being statically present in all configurations.
Data Source
AI summary
A packet processing device is connected as a route of a plurality of I/O devices and configures a PCIe fabric. The packet processing device includes a plurality of first request processing units and a second request processing unit that process a PCIe packet issuing request to the I/O device; and a first selecting unit that selects the plurality of first request processing units or the second request processing unit, based on a request classification of the PCIe packet issuing request, and a load exerted on the PCIe fabric by a packet to be transmitted to the I/O device. The first selecting unit includes a first determining unit that determines whether the PCIe packet issuing request is possible to pass another PCIe packet issuing request being processed by the first request processing unit, based on a transaction identifier included in the PCIe packet issuing request.


