US 11,683,266 B2
Computational accelerator for storage operations
Boris Pismenny, Haifa (IL); Miriam Menes, Tel Aviv (IL); Idan Burstein, Akko (IL); Liran Liss, Atzmon (IL); Noam Bloch, Bat Shlomo (IL); and Ariel Shahar, Jerusalem (IL)
Assigned to MELLANOX TECHNOLOGIES, LTD., Yokneam (IL)
Filed by Mellanox Technologies, Ltd., Yokneam (IL)
Filed on Oct. 11, 2022, as Appl. No. 17/963,216.
Application 17/963,216 is a division of application No. 17/108,002, filed on Dec. 1, 2020, granted, now 11,502,948.
Application 17/108,002 is a continuation in part of application No. 16/159,767, filed on Oct. 15, 2018, granted, now 11,005,771, issued on May 11, 2021.
Claims priority of provisional application 62/942,241, filed on Dec. 2, 2019.
Claims priority of provisional application 62/572,578, filed on Oct. 16, 2017.
Prior Publication US 2023/0034545 A1, Feb. 2, 2023
Int. Cl. H04L 45/00 (2022.01); H04L 45/42 (2022.01); G06F 11/10 (2006.01); H04L 69/163 (2022.01); H04L 69/22 (2022.01)
CPC H04L 45/566 (2013.01) [G06F 11/1004 (2013.01); H04L 45/38 (2013.01); H04L 45/42 (2013.01); H04L 69/163 (2013.01); H04L 69/22 (2013.01)] 20 Claims
OG exemplary drawing
 
1. Packet processing apparatus, comprising:
a first interface to be coupled to a host processor;
a second interface to transmit and receive data packets, comprising respective headers and payloads, to and from a packet communication network;
a memory, to hold context information with respect to one or more flows of the data packets conveyed from the host processor to the network via the apparatus in accordance with a reliable transport protocol, which assigns respective serial numbers to the data packets in each of the flows, and with respect to encoding, in accordance with a storage protocol, of data records that are conveyed in the payloads of the data packets in the one or more flows; and
processing circuitry, which is coupled between the first and second interfaces to transmit the data packets through the second interface to the packet communication network in accordance with instructions from the host processor, and which comprises acceleration logic to encode the data records in accordance with the storage protocol using the context information while updating the context information in accordance with the serial numbers and the data records of the transmitted data packets,
wherein the acceleration logic, upon receiving an instruction from the host processor to retransmit a data packet, is to recover the context information with respect to the data packet, to re-encode a payload of the data packet using the recovered context information, and to retransmit the data packet to the packet communication network.