Speculative CRC Validation for RDMA Network Adapters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current RDMA-enabled network adapters face challenges in efficiently tracking and reporting message completions over TCP/IP Ethernet fabrics, particularly due to the lack of inherent message boundaries in TCP, which complicates CRC calculations and error handling at high speeds.

Innovation Solution

An apparatus and method that includes a packet parser and protocol engine for performing speculative CRC checks on arriving TCP segments, allowing for concurrent validation of framed protocol data units and efficient error handling, even in the presence of out-of-order data placement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If CRC calculations are performed after TCP segment arrival, then measurement precision is improved, but loss of time increases

Engineering Contradiction:
ImproveCRC validation accuracyVSAvoidmessage completion latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs CRC calculations speculatively and preliminarily on incoming TCP segments before message completion is confirmed. The network adapter calculates CRC values as segments arrive, stores them temporarily, and uses them immediately when messages are completed, thereby eliminating the time delay that would otherwise exist between segment reception and CRC validation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the CRC validation process into per-segment speculative calculations rather than waiting for complete message assembly. Each TCP segment's CRC is calculated independently as it arrives, and these segmented CRC results are then recombined or used individually based on message completion status, allowing parallel processing and reduced latency.

Inventive Principle:
Principle #1Segmentation

2Productivity

If speculative CRC checks are performed on arriving TCP segments, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improvemessage processing throughputVSAvoidnetwork adapter complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The network adapter performs speculative CRC calculations autonomously without requiring CPU intervention. The adapter's protocol engine self-manages the CRC computation, storage, and validation process for incoming TCP segments, freeing the CPU to handle other tasks while maintaining high processing throughput through hardware-accelerated operations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an intermediary CRC result storage mechanism between TCP segment reception and message completion validation. This intermediary structure temporarily holds speculative CRC values and associates them with corresponding segments, enabling efficient retrieval and validation when messages are completed without requiring complex real-time coordination between multiple system components.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If message boundaries are tracked over TCP/IP Ethernet fabrics, then reliability is improved, but difficulty of detecting and measuring increases

Engineering Contradiction:
Improvemessage completion trackingVSAvoidmessage boundary detection
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent replaces complex software-based message boundary tracking with hardware-level mechanisms in the network adapter. The protocol engine uses dedicated hardware logic to detect message boundaries, track segment arrivals, and validate CRC values at the hardware level, substituting mechanical/software complexity with optimized hardware circuitry that processes boundaries more efficiently.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The network adapter implements feedback mechanisms where CRC validation results and message completion status are continuously monitored and fed back to adjust processing. When messages are completed, the adapter feedback-validates stored CRC values against the assembled message data, and uses this feedback to confirm reliable delivery or trigger error handling, creating a closed-loop system that improves boundary detection reliability.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7782905B2Apparatus and method for stateless CRC calculation
Publication Date: 2010.08.24 INTEL CORP
  • US7782905B2 patent drawing
  • US7782905B2 patent drawing
  • US7782905B2 patent drawing

AI summary

A mechanism for performing remote direct memory access (RDMA) operations between a first server and a second server. The apparatus includes a packet parser and a protocol engine. The packet parser processes a TCP segment within an arriving network frame, where the packet parser performs one or more speculative CRC checks according to an upper layer protocol (ULP), and where the one or more speculative CRC checks are performed concurrent with arrival of the network frame. The protocol engine is coupled to the packet parser. The protocol engine receives results of the one or more speculative CRC checks, and selectively employs the results for validation of a framed protocol data unit (FPDU) according to the ULP.