Electronic data transfer based on selective storage of incoming packets
First Claim
1. A circuit comprising:
- a parsing module to receive a data stream from a network and to separate acknowledgement packets from data packets in the data stream; and
an analyzer, coupled to the parsing module and to a memory, to determine the available capacity of the memory, and to selectively store the acknowledgement packets and a portion of the data packets into the memory based upon the available capacity being less than a threshold amount and wherein the analyzer is to store the acknowledgement packets and drop the data packets based upon the determined number of stored packets being greater than or equal to the threshold number.
1 Assignment
0 Petitions
Accused Products
Abstract
End-to-end data transfer between computing platforms in a transport control protocol (TCP) environment is improved by restricting which packets are stored in a receive memory of an input/output (I/O) circuit. In one embodiment, received packets are examined as to type, and the number of packets stored in the receive memory is monitored. If the number of stored packets exceeds a threshold value, then subsequently received data packets are discarded, whereas latency-sensitive priority data such as acknowledgements (ACKs) are retained in the receive memory, until the number of stored packets is reduced. Various methods, as well as application of the circuit to a system and to a machine-readable article, are also described.
-
Citations
16 Claims
-
1. A circuit comprising:
-
a parsing module to receive a data stream from a network and to separate acknowledgement packets from data packets in the data stream; and an analyzer, coupled to the parsing module and to a memory, to determine the available capacity of the memory, and to selectively store the acknowledgement packets and a portion of the data packets into the memory based upon the available capacity being less than a threshold amount and wherein the analyzer is to store the acknowledgement packets and drop the data packets based upon the determined number of stored packets being greater than or equal to the threshold number. - View Dependent Claims (2)
-
-
3. An input/output (I/O) device comprising:
-
an interface to receive a data stream of intermixed packets from a network; an I/O device memory to store the packets; an analyzer to determine an amount of I/O device memory available to store the packets; and a parsing module to check the contents of the packets and to classify selected packets based on latency-sensitive data and to separate the packets into data packets and ACK data packets, wherein the analyzer is to store a portion of the packets into the I/O device memory based upon a comparison of the amount of I/O device memory available with a threshold amount and, the analyzer is to store the ACK packets and to drop the data packets based upon the determined number of stored packets being greater than or equal to the first threshold number. - View Dependent Claims (4, 5, 6)
-
-
7. A method comprising:
-
receiving a stream of intermixed packets; checking the contents of the packets and classifying the packets into one of multiple different types including data packets and acknowledgement (ACK) data; determining an amount of memory available to store the packets; and storing a relatively greater portion of the packets based on the outcome of the comparison. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A system comprising:
-
a processor; a host memory coupled to the processor; and an input/output (I/O) device coupled to the host memory and to a network interface, the I/O device to control the transfer of data from the network interface to the host memory by performing; receiving a data stream of intermixed packets from the network interface; checking the contents of the packets and classifying the packets into first and second types of packets; determining an amount of memory available to store the packets; and storing only the first types of packets when the amount of memory available falls below a threshold amount and discarding those packets when the amount of memory available falls below the threshold amount. - View Dependent Claims (15, 16)
-
Specification