Crossbar I/O Port Routing for Deterministic Peripheral Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems experience inconsistent I/O performance due to variations in internal architecture, trace lengths, and resource allocation, leading to reduced device performance and latency variations when connecting peripherals to different I/O ports on a system on chip (SoC).
Innovation Solution
Implement a dynamic routing mechanism using a crossbar switch to map I/O connectors to memory-proximate controller ports, caching previous connections, and optionally providing user feedback on performance characteristics to ensure consistent and optimized I/O performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If I/O connectors are mapped to different I/O controller ports with varying trace lengths and controller locations, then device connectivity is achieved, but signal propagation latency and throughput consistency deteriorate
Solution Approach 1:
The patent implements dynamic port assignment where the system automatically selects and assigns the optimal I/O controller port for each connected device based on real-time performance characteristics. This dynamic approach allows the system to adapt to different device requirements and maintain consistent performance across multiple connections, resolving the contradiction between connectivity versatility and latency consistency.
Solution Approach 2:
The system incorporates performance monitoring and feedback mechanisms that track signal propagation latency and throughput for each I/O port. This feedback information is used to make intelligent port assignment decisions, ensuring that devices are consistently connected through optimal paths while maintaining adaptability to various device types and connection scenarios.
2Adaptability or versatility
If multiple I/O controller ports are used for different devices, then device versatility is improved, but performance consistency and user experience deteriorate
Solution Approach 1:
The patent applies local quality by identifying and designating specific I/O controller ports with superior performance characteristics (shorter trace lengths, optimal controller locations) for specific device types. Each port is optimized for its intended use case, allowing the system to maintain high performance consistency across diverse device connections while preserving adaptability through specialized port assignments.
Solution Approach 2:
The system dynamically adjusts port assignments based on device identification and connection patterns. When a device is connected, the system determines the optimal port based on performance characteristics and maintains consistent assignment across sessions. This dynamic adaptation ensures both device versatility and performance reliability by matching devices to their optimal communication paths.
3Device complexity
If static hardwired mapping is used between I/O connectors and controller ports, then system complexity is reduced, but performance optimization and adaptability deteriorate
Solution Approach 1:
The patent introduces an intermediary layer (firmware or driver software) that sits between the static hardware mapping and the operating system. This intermediary handles the complexity of dynamic port assignment, performance monitoring, and device optimization transparently. The hardware itself remains simple with fixed mappings, while the intermediary provides the intelligence needed for performance optimization and adaptability without increasing hardware complexity.
Data Source
AI summary
Provided is an apparatus comprising interface circuitry, machine-readable instructions and processing circuitry to execute the machine-readable instructions. The machine-readable instructions include instructions to detect a connection of a peripheral device to an I/O connector of a plurality of I/O connectors connected to an SoC. The plurality of I/O connectors are configured to be coupled to a plurality of I/O controller ports of the SoC via a crossbar switch. The plurality of I/O controller ports are associated with an I/O performance level. At least two I/O controller ports have a different I/O performance level. The machine-readable instructions further include instructions to determine a target I/O controller port from the plurality of I/O controller ports for the peripheral device based on previous routing information for the peripheral device and to instruct the crossbar switch to electrically route the I/O connector to the determined target I/O controller port.


