Peer-to-Peer Data Transfer Byte Enables for Non-Contiguous Payloads
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Adaptability or versatility
If traditional interconnectivity fabric standards are used for non-contiguous data transfers, then compatibility is improved, but transfer time increases
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.
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.
Data Source
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.


