Peer-to-Peer Data Transfer Byte Enables for Non-Contiguous Payloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current interconnectivity fabric standards in computing environments, such as AGP and PCI-Express, are inefficient in transferring non-contiguous or tiled data due to excessive overhead data, limiting the percentage of payload data and increasing transfer times.

Innovation Solution

A method that allows for byte enables to be specified for all data words in peer-to-peer data transfers, enabling efficient transfer of non-contiguous or tiled data by using a write command and data word enable command, even in protocols that do not initially support such transfers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data transfers are limited to two four-byte groups per packet to support non-contiguous or tiled data, then peer-to-peer data transfer capability is improved, but the ratio of header data to payload data increases, reducing transfer efficiency

Engineering Contradiction:
Improvepeer-to-peer data transfer capabilityVSAvoiddata transfer efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The invention segments the byte enable information into multiple separate packets, with each packet containing byte enables for a specific range of data words. This allows the system to support non-contiguous data transfers with arbitrary byte granularity while avoiding the overhead limitation of traditional two-group packets. Each segment carries only the header data necessary for its specific byte enable pattern, improving the payload-to-header ratio.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention introduces a new dimension to the data transfer protocol by separating byte enable information from the payload data and transmitting it in dedicated control packets. This dimensional separation allows the system to specify byte enables for any data word in the payload without being constrained by the traditional two-four-byte-group packet structure, thereby improving both adaptability and efficiency.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Measurement precision

If byte enables are specified for all data words in peer-to-peer data transfers, then transfer precision is improved, but protocol complexity increases

Engineering Contradiction:
Improvebyte enable precisionVSAvoidprotocol complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The protocol segments byte enable specifications into multiple control packets, each handling a specific range of data words. This segmentation allows precise byte-level control for all data words while distributing the protocol complexity across multiple simpler, standardized packet formats rather than requiring a single complex packet structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention introduces an intermediary control packet structure that carries byte enable information separately from payload data. This intermediary layer simplifies the overall protocol by decoupling the byte enable specification from the data transfer, allowing precise control without requiring complex integrated packet formats.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If traditional interconnectivity fabric standards are used for non-contiguous data transfers, then compatibility is improved, but transfer time increases

Engineering Contradiction:
ImprovecompatibilityVSAvoidtransfer time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The invention segments non-contiguous data transfers into multiple standardized packets, each with its own byte enable specifications. This segmentation allows the system to maintain compatibility with traditional interconnectivity fabric standards while efficiently transferring non-contiguous data by sending only the necessary payload data for each packet, avoiding the time waste of transferring unnecessary data groups.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention applies partial action by transmitting only the specific bytes that need to be transferred in each packet, rather than transferring complete four-byte groups. This partial transfer approach maintains compatibility with existing standards while reducing the total amount of data transmitted and the time required for non-contiguous data transfers.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9424227B2Providing byte enables for peer-to-peer data transfer within a computing environment
Publication Date: 2016.08.23 NVIDIA CORP
  • US9424227B2 patent drawing
  • US9424227B2 patent drawing
  • US9424227B2 patent drawing

AI summary

Non-contiguous or tiled payload data are efficiently transferred between peers over a fabric. Specifically, a client transfers a byte enable message to a peer device via a mailbox mechanism, where the byte enable message specifies which bytes of the payload data being transferred via the data packet are to be written to the frame buffer on the peer device and which bytes are not to be written. The client transfers the non-contiguous or tiled payload payload data to the peer device. Upon receiving the payload data, the peer device writes bytes from the payload data into the target frame buffer for only those bytes enabled via the byte enable message. One advantage of the present invention is that non-contiguous or tiled data are transferred over a fabric with improved efficiency.