Cross-Chip Link BDI Alignment via Control Flit Queuing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems face challenges in aligning received bad data indicators (BDIs) with corresponding data on a cross-chip link, leading to inefficiencies and potential errors due to processor-sourced errors that are not independently indicated by cyclic redundancy checks (CRC).

Innovation Solution

The method involves receiving control flits with incoming data flit information, directing data flits to virtual channel queues based on this information, and associating bad data indicators (BDIs) with the data flits using a control structure, ensuring that each BDI is correctly linked with its corresponding data, even if received independently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data flits and bad data indicators are received independently on a cross-chip link, then error detection capability is improved, but alignment complexity between BDIs and corresponding data increases

Engineering Contradiction:
Improveerror detection capabilityVSAvoidalignment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by storing control flit information (including virtual channel identifiers and data flit counts) in a control structure before the actual data flits arrive. This advance preparation enables the transaction layer to quickly align incoming BDIs with corresponding data flits without complex real-time processing, resolving the contradiction between reliable error detection and alignment complexity.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If a control structure is used to store incoming data flit information, then BDI alignment accuracy is improved, but hardware resource requirements increase

Engineering Contradiction:
ImproveBDI alignment accuracyVSAvoidhardware resources
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The control structure is designed as a multi-functional component that simultaneously stores control flit information, tracks data flit counts, and provides alignment data for BDI association. By making this single hardware structure serve multiple purposes, the patent achieves high BDI alignment accuracy without proportionally increasing hardware resource requirements.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If the transaction layer processes both data flits and BDIs independently, then processing throughput is improved, but synchronization difficulty increases

Engineering Contradiction:
Improveprocessing throughputVSAvoidsynchronization difficulty
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where the transaction layer uses control flit information stored in the control structure to guide the association of BDIs with data flits. This feedback loop ensures that independent processing of data flits and BDIs maintains proper synchronization through virtual channel identifier matching and count-based tracking, resolving the contradiction between high throughput and synchronization difficulty.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10915482B2Aligning received bad data indicators (BDIS) with received data on a cross-chip link
Publication Date: 2021.02.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10915482B2 patent drawing
  • US10915482B2 patent drawing
  • US10915482B2 patent drawing

AI summary

Aligning received BDIs with received data on a cross-chip link including receiving, from the cross-chip link, a control flit comprising incoming data flit information for a plurality of incoming data flits; adding the incoming data flit information to a control structure; receiving, from the cross-chip link, the plurality of incoming data flits; directing each of the plurality of incoming data flits to virtual channel queues based on the incoming data flit information at a first read pointer in the control structure; receiving a bookend flit comprising a plurality of BDIs for the plurality of data flits; and associating each of the BDIs with the plurality of data flits based on the incoming data flit information at a second read pointer in the control structure.