Data transfer error checking
First Claim
1. A method of checking a data transfer for an error, the method comprising the steps of:
- assuming the data transfer includes at least one aligned direct data placement (DDP) segment;
identifying a boundary of the data transfer based on an assumption that a first two bytes of a transmission control protocol (TCP) payload includes a length field of a marker with protocol data unit alignment (MPA) protocol frame; and
calculating a cyclical redundancy check (CRC) value based on the assumptions.
1 Assignment
0 Petitions
Accused Products
Abstract
An RNIC implementation that performs direct data placement to memory where all segments of a particular connection are aligned, or moves data through reassembly buffers where all segments of a particular connection are non-aligned. The type of connection that cuts-through without accessing the reassembly buffers is referred to as a “Fast” connection because it is highly likely to be aligned, while the other type is referred to as a “Slow” connection. When a consumer establishes a connection, it specifies a connection type. The connection type can change from Fast to Slow and back. The invention reduces memory bandwidth, latency, error recovery using TCP retransmit and provides for a “graceful recovery” from an empty receive queue. The implementation also may conduct CRC validation for a majority of inbound DDP segments in the Fast connection before sending a TCP acknowledgement (Ack) confirming segment reception.
-
Citations
20 Claims
-
1. A method of checking a data transfer for an error, the method comprising the steps of:
-
assuming the data transfer includes at least one aligned direct data placement (DDP) segment;
identifying a boundary of the data transfer based on an assumption that a first two bytes of a transmission control protocol (TCP) payload includes a length field of a marker with protocol data unit alignment (MPA) protocol frame; and
calculating a cyclical redundancy check (CRC) value based on the assumptions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for checking a data transfer for an error, the system comprising:
-
means for identifying a boundary of the data transfer based on a first assumption that a first two bytes of a transmission control protocol (TCP) payload includes a marker with protocol data unit alignment (MPA) protocol length field; and
means for calculating a cyclical redundancy check (CRC) value based on the first assumption and a second assumption that the data transfer includes at least one aligned direct data placement (DDP) segment. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program product comprising a computer useable medium having computer readable program code embodied therein for limiting a number of re-transmission attempts for checking a data transfer for an error, the program product comprising:
-
program code configured to identify a boundary of the data transfer based on a first assumption that a first two bytes of a transmission control protocol (TCP) payload includes a marker with protocol data unit alignment (MPA) protocol length field; and
program code configured to calculate a cyclical redundancy check (CRC) value based on the first assumption and a second assumption that the data transfer includes at least one aligned direct data placement (DDP) segment. - View Dependent Claims (18, 19, 20)
-
Specification