High-Speed Interconnect Handshake for Reliable Link Training
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing communication systems face challenges in reliably training chip-to-chip links due to software-managed initialization methods that are unreliable when multiple chips with different software protocols are involved, leading to additional hardware complexity and resource consumption.
Innovation Solution
A method for link training through a handshake message protocol using the link itself for communication, where messages defined in hardware are transmitted in one direction to ensure synchronization and reliability, avoiding software intervention and additional resource consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If software-managed initialization is used to train the link, then the system can attempt to synchronize communication between chips, but the reliability deteriorates when multiple chips with different software protocols are involved
Solution Approach 1:
The patent introduces a dedicated low-speed side-band channel as an intermediary communication path during link training. This separate channel allows chips to exchange training messages and synchronize their initialization sequences without relying on the high-speed data paths or software protocols, thereby improving reliability while keeping the high-speed interface design simpler
Solution Approach 2:
The communication interface is segmented into two distinct channels: a low-speed side-band channel for control and training messages, and high-speed data paths for actual data transmission. This segmentation allows the training phase to occur independently on the low-speed channel without affecting the high-speed interface design, reducing overall system complexity
2Reliability
If a low-speed side-band channel is added for training communication, then link training reliability improves, but the device complexity and resource consumption increase
Solution Approach 1:
The low-speed side-band channel is designed to serve multiple functions: it carries training messages during initialization, enables synchronization between chips with different protocols, and can potentially be used for other control purposes. This multi-functionality justifies the added hardware by providing comprehensive communication capabilities across different operating conditions
Solution Approach 2:
The side-band channel enables chips to perform self-synchronization and self-testing during the training phase. Each chip can independently manage its initialization sequence and communicate its readiness status through the low-speed channel, eliminating the need for complex external control logic or software intervention
3Adaptability or versatility
If software-managed initialization is used, then the system can handle diverse communication protocols, but the productivity and speed of link training deteriorates due to additional software intervention
Solution Approach 1:
The patent replaces software-based initialization control with a hardware-implemented handshake protocol on the low-speed side-band channel. This hardware-level automation eliminates software intervention delays, allowing faster and more deterministic link training while still supporting multiple chip types and protocols through the standardized handshake mechanism
Data Source
AI summary
A system includes a first device and a second device coupled to a link including two or more data paths and a first portion and a second portion. The first device is to transmit a number of bits corresponding to a message before training the link on the first portion of the link, where the number of bits is equal to a number of the two or more data paths, and where each data path transmits one bit of the number of bits. The second device is to receive the message before training the link. The second device is to perform a decode operation on the number of bits received to determine the corresponding message and transmit a second message or data on the second portion of the link in response to performing the decode operation on the number of bits.


