IP Library Granted Patent US 7,177,941
Granted Patent B2
US 7,177,941 · App. 10/733,630 · Granted Feb 13, 2007

Increasing TCP re-transmission process speed

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,177,941
App. No.
10/733,630
Granted
Feb 13, 2007
Kind
B2
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.

Claims (27)

1. A method of increasing transmission control protocol (TCP) re-transmission process speed, the method comprising:

receiving a TCP segment from a transmitter;

generating a first duplicate TCP acknowledgement (Ack) covering the received TCP segment that is determined to be valid by TCP and was dropped by TCP based on an upper layer protocol (ULP) decision; and

transmitting the first duplicate TCP Ack to the transmitter,

wherein the first duplicate TCP Ack is generated and transmitted even in the case that a next in-order TCP segment has not been received to bring the re-transmission process forward by speeding up a process of re-entering the transmitter to a fast path mode.

2. method of claim 1 ,wherein the ULP includes at least one of: a marker with protocol data unit alignment (MPA) protocol, a direct data placement (DDP) protocol, and a remote direct memory access (RDMA) protocol.

3. method of claim 1 , wherein the first duplicate TCP Ack is generated for a TCP segment regardless of whether the TCP segment is in-order or out-of-order.

4. Method of claim 1 , further comprising the step of generating a second duplicate TCP acknowledgement (Ack) covering a next out-of-order received TCP segment.

5. The method of claim 4 , further comprising the step of transmittting the second duplicate TCP Ack.

6. A system of increasing transmission control protocol (TCP) re-transmission process speed, the system comprising:

means for receiving a TCP segment from a transmitter;

a TCP acknowledgement (Ack) generator to generate a first duplicate TCP Ack covering the received TCP segment that is determined to be valid by TCP and was dropped by TCP based on an upper layer protocol (ULP) decision; and

means for transmitting the first duplicate TCP Ack to the transmitter,

wherein the first duplicate TCP Ack is generated and transmitted even in the case that a next in-order TCP segment has not been received to bring the re-transmission process forward by speeding up a process of re-entering the transmitter to a fast oath mode.

7. System of claim 6 , wherein the ULP includes at least one of: a marker with protocol data unit alignment (MPA) protocol, a direct data placement (DDP) protocol, and a remote direct memory access (RDMA) protocol.

8. System of claim 6 , wherein the generator generates the first duplicate TCP Ack for a TCP segment regardless of whether the TCP segment is in-order or out-of-order.

9. System of claim 6 , further comprising a TCP Ack generator for generating a second duplicate TCP acknowledgement (Ack) covering a next out-of-order received TCP segment.

10. The system of claim 9 , further comprising means for transmitting the second duplicate TCP Ack.

11. A computer program product comprising a computer readable storage medium having computer readable program code embodied therein for increasing transmission control protocol (TCP) re-transmission process speed, the computer program product comprising:

program code configured to receive a TCP segment from a transmitter;

program code configured to generate a first duplicate TCP acknowledgement (Ack) covering the received TCP segment that is determined to be valid by TCP and was dropped by TCP based on an upper layer protocol (ULP) decision; and

program code configured to transmit the first duplicate TCP Ack to the transmitter,

wherein the first duplicate TCP Ack is generated and transmitted even in the case that a next in-order TCP segment has not been received to bring the re-transmission process forward by speeding up a process of re-entering the transmitter to a fast oath mode.

12. The program product of claim 11 , wherein the ULP includes at least one of: a marker with protocol data unit alignment (MPA) protocol, a direct data placement (DDP) protocol, and a remote direct memory access (RDMA) protocol.

13. The program product of claim 11 , wherein the generating program code generates the first duplicate TCP Ack for a TCP segment regardless of whether the TCP segment is in-order or out-of-order.

14. Program product of claim 11 , further comprising program code configured to generate a second duplicate TCP acknowledgement (Ack) covering a next out-of-order received TCP segment.

15. Program product of claim 14 , further comprising program code configured to transmit the second duplicate TCP Ack.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 37900/0720 Recorded Jul 13, 2018
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 046542/0792 →
PATENT SECURITY AGREEMENT Recorded Feb 24, 2016
From: MELLANOX TECHNOLOGIES, LTD.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037900/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2013
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 030128/0885 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2003
From: BIRAN, GIORA; MACHULSKY, ZORIK; MAKHERVAKS, VADIM; SHALEV, LEAH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014806/0091 →