On-the-Fly Transaction Signatures for Block Data Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data integrity mechanisms in computer networks, such as those used in storage networks, face challenges in efficiently computing and verifying signatures across multiple data blocks during transactions, especially in high-performance computing environments like InfiniBand networks, where data corruption can occur due to silent errors.
Innovation Solution
A network communication device with processing circuitry that computes and verifies block and transaction signatures on the fly, allowing the first data block to be transmitted before the signature computation is complete, and includes a control memory to store signature contexts for applying different signature rules to heterogeneous data blocks, facilitating transparent signature handling and error detection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If signature computation is performed before data block transmission, then data integrity verification is ensured, but transmission speed is reduced due to sequential processing
Solution Approach 1:
The system performs preliminary signature computation on individual data blocks before transmission, storing these signatures in the channel adapter. This allows the first data block to be transmitted immediately without waiting for the complete transaction signature computation, while maintaining the ability to verify data integrity through the pre-computed block signatures.
Solution Approach 2:
The transaction is segmented into multiple data blocks, each with its own signature computation. This segmentation allows parallel processing where individual block signatures can be computed and transmitted independently, while the overall transaction signature is computed in the background without blocking transmission.
2Reliability
If complete transaction signature computation is performed before transmission, then data corruption detection is ensured, but processing time increases
Solution Approach 1:
The system maintains continuous useful action by computing transaction signatures in the background during data transmission rather than requiring completion before transmission starts. The channel adapter continuously processes data blocks and updates the transaction signature computation without interrupting the transmission flow, ensuring both detection capability and time efficiency.
3Measurement precision
If signature computation is performed in the host processor, then signature accuracy is maintained, but host processor workload increases
Solution Approach 1:
The signature computation function is extracted from the host processor and relocated to the channel adapter. This extraction transfers the computational workload to a dedicated network interface device that has its own processing capabilities, thereby reducing the host processor's workload while maintaining signature accuracy through the channel adapter's processing circuitry.
Solution Approach 2:
The channel adapter provides self-service by independently computing and verifying signatures without requiring continuous host processor intervention. The channel adapter manages its own signature computation, verification, and error detection functions, freeing the host processor from these tasks while maintaining the same level of signature accuracy.
Data Source
AI summary
A network communication device includes a host interface, which is coupled to communicate with a host processor, having a host memory, so as to receive a work request to execute a transaction in which a plurality of data blocks are to be transferred over a packet network. Processing circuitry is configured to process multiple data packets so as to execute the transaction, each data packet in the transaction containing a portion of the data blocks, and the multiple data packets including at least first and last packets, which respectively contain the first and last data blocks of the transaction. The processing circuitry is configured to compute a transaction signature over the data blocks while processing the data packets so that at least the first data block passes out of the network communication device through one of the interfaces before computation of the transaction signature is completed.


