Packing Arbiter Link Layer Data Packing Scheme

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face inefficiencies in data transfer between processing nodes due to limited bandwidth and data corruption issues, particularly when communicating between dies and nodes, caused by mismatched data rates and inefficient packet combination.

Innovation Solution

The implementation of a packet transmitter with multiple queues and a packing arbiter that selects and combines packets based on attributes like priority, quality-of-service, and available storage space, ensuring efficient data transfer by avoiding data collisions and optimizing link packet utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If packets of varying types from different sources are combined together along with control information, then the communication fabric can transmit data, but link bandwidth efficiency is reduced due to inefficient packet combination

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidbandwidth efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The invention segments packets into different types (data packets, control packets, coherency probes) and handles them through separate queues and processing paths. The packing arbiter selectively packs only relevant packet types into link packets, avoiding unnecessary control information and improving bandwidth efficiency by transmitting only essential data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different packet types receive different treatment based on their local characteristics. The system identifies packet types at the source and applies appropriate packing strategies - data packets are packed efficiently, control packets are minimized, and coherency probes are handled separately. This localized optimization improves overall link bandwidth efficiency.

Inventive Principle:
Principle #3Local quality

2Speed

If the transmitter sends packets at a high rate, then data transfer speed increases, but data collision occurs at the receiver reducing reliability

Engineering Contradiction:
Improvedata transfer rateVSAvoiddata corruption
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The packing arbiter performs preliminary actions by packing multiple packets into link packets before transmission. This allows the receiver to receive multiple packets in advance and process them before the transmitter sends the next batch, effectively decoupling transmission rate from reception rate and preventing data collision while maintaining high throughput.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous useful action by keeping the transmitter busy packing packets while the receiver processes received packets. The receiver's available space is continuously monitored and utilized, ensuring that packet reception and processing occur continuously without idle gaps or collisions, thus maintaining both speed and reliability.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If conservative packet sending rate is used to prevent data collision, then data reliability is maintained, but link bandwidth efficiency is further reduced

Engineering Contradiction:
Improvedata corruption preventionVSAvoidbandwidth efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The packing arbiter uses feedback from the receiver about available space and packet reception status to dynamically adjust the packing strategy. This feedback mechanism allows the transmitter to send packets at optimal rates without causing collisions, simultaneously improving reliability and bandwidth efficiency by avoiding both underutilization and overloading.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts packet sending rates based on real-time receiver conditions. The packing arbiter monitors receiver buffer status and available space, changing transmission parameters on the fly to match actual receiver capabilities. This dynamic adaptation allows high bandwidth efficiency while preventing data collision through flexible rate adjustment.

Inventive Principle:
Principle #15Dynamics

4Ease of operation

If multiple queues are used to store packets of different types, then packet management improves, but device complexity increases

Engineering Contradiction:
Improvepacket managementVSAvoidqueue management structure
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The packing arbiter serves multiple functions within a single component: it selects packets from different queues, determines packet types, decides packing strategies, and coordinates with the receiver. This multi-functionality reduces overall system complexity by consolidating what would otherwise require separate management units into a single intelligent arbiter.

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

Data Source

PatentEP3841484B1Link layer data packing and packet flow control scheme
Publication Date: 2022.10.19 ADVANCED MICRO DEVICES INC
  • EP3841484B1 patent drawingFigure 1
  • EP3841484B1 patent drawingFigure 2
  • EP3841484B1 patent drawingFigure 3

AI summary

Systems, apparatuses, and methods for performing efficient data transfer in a computing system are disclosed. A computing system includes multiple fabric interfaces in clients and a fabric. A packet transmitter in the fabric interface includes multiple queues, each for storing packets of a respective type. The packet transmitter includes multiple queue arbiters, each for selecting a candidate packet from a respective one of the multiple queues. The packet transmitter includes a buffer for storing a link packet, which includes data storage space for storing multiple candidate packets. The packet transmitter selects qualified candidate packets from the multiple queues and inserts these candidate packets into the link packet. The packing arbiter avoids data collisions at the receiver by taking into consideration mismatches between the rate of inserting candidate packets into the link packet and the rate of creating available data storage space in a receiving queue in the receiver.