Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
DCFirst Claim
1. A method of transferring a packet of data from a computer network communications media through an adapter to a host computer, said method comprising the steps of:
- a. receiving from said communications media through a transceiver and storing in an adapter receive buffer a predetermined first receive threshold number of bytes of said packet;
b. thereupon generating a first early receive interrupt from said adapter to said host computer;
c. thereafter reading a first portion of a packet less than all of said packet and presenting said first portion to said host computer; and
d. thereafter receiving from said communications media through said transceiver and storing in said adapter receive buffer a remainder of said packet, wherein said host computer employs a driver allowing for early indications and having an early lookahead size, and wherein said step of receiving a predetermined first receive threshold number of bytes comprises receiving a number of bytes substantially equal to said early lookahead size and wherein said early lookahead size number of bytes is read by said host computer'"'"'s CPU to determine further handling of said packet by analyzing said early indications.
6 Assignments
Litigations
0 Petitions
Accused Products
Abstract
In a Local Area Network (LAN) system, an ethernet adapter exchanges data with a host through programmed I/O (PIO) and FIFO buffers. The receive PIO employs a DMA ring buffer backup so incoming packets can be copied directly into host memory when the PIO FIFO buffer is full. The adapter may be programmed to generate early receive interrupts when only a portion of a packet has been received from the network, so as to decrease latency. The adapter may also be programmed to generate a second early interrupt so that the copying of a large packet to the host may overlap reception of the packet end. The adapter may also be programmed to begin packet transmission before the packet is completely transferred from the host to the adapter, which further reduces latency. The minimal latency of the adapter allows it to employ receive and transmit FIFO buffers which are small enough to be contained within RAM internal to an Application Specific Integrated Circuit (ASIC) containing the transceiver, ethernet controller, FIFO control circuitry and the host interface as well.
88 Citations
5 Claims
-
1. A method of transferring a packet of data from a computer network communications media through an adapter to a host computer, said method comprising the steps of:
-
a. receiving from said communications media through a transceiver and storing in an adapter receive buffer a predetermined first receive threshold number of bytes of said packet; b. thereupon generating a first early receive interrupt from said adapter to said host computer; c. thereafter reading a first portion of a packet less than all of said packet and presenting said first portion to said host computer; and d. thereafter receiving from said communications media through said transceiver and storing in said adapter receive buffer a remainder of said packet, wherein said host computer employs a driver allowing for early indications and having an early lookahead size, and wherein said step of receiving a predetermined first receive threshold number of bytes comprises receiving a number of bytes substantially equal to said early lookahead size and wherein said early lookahead size number of bytes is read by said host computer'"'"'s CPU to determine further handling of said packet by analyzing said early indications. - View Dependent Claims (2, 3)
-
-
4. A method of transferring a packet of data from a computer network communications media through an adapter to a host computer, said method comprising the steps of:
-
a. receiving from said communications media through a transceiver and storing in an adapter receive buffer a predetermined first receive threshold number of bytes of said packet; b. thereupon generating a first early receive interrupt from said adapter to said host computer; c. thereafter reading a first portion of a packet less than all of said packet and presenting said first portion to said host computer; and d. thereafter receiving from said communications media through said transceiver and storing in said adapter receive buffer a remainder of said packet wherein said packet comprises a preamble specifying a length of said packet in bytes, said method further comprising after said step of generating a first early receive interrupt and before said step of receiving a remainder of said packet, the steps of; e. adjusting said receive threshold according to said length of said packet; f. continuing to receive from said communications media through said transceiver and store in an adapter receive buffer bytes of said packet; and g. thereafter generating a second early receive interrupt from said adapter to said host computer, prior to complete reception of said packet.
-
-
5. A method of transferring through an adapter packets of data between a host computer and a computer network communications media, said method comprising the steps of:
-
a. receiving from said communications media through said transceiver and storing in an adapter receive buffer a predetermined first receive threshold number of bytes of a first packet; b. thereupon generating a first early receive interrupt from said adapter to said host computer; c. receiving from said communications media through said transceiver and storing in said adapter receive buffer a remainder of said first packet; d. transferring from said host computer and storing in an adapter transmit buffer an early transmit threshold number of bytes of a second packet; e. thereupon initiating transmission of said second packet through said transceiver from said adapter transmit buffer to said computer network communications media; f. receiving from said host computer and storing in said adapter transmit buffer a remainder of said second packet, at least partially in parallel with transmitting said second packet through said transceiver from said adapter transmit buffer to said computer network communications media, wherein each packet comprises a preamble specifying a length of said each packet in bytes, said method further comprising after said step of generating a first early receive interrupt and before said step of receiving a remainder of said first packet, the steps of; g. adjusting said receive threshold according to said length of said first packet; h. continuing to receive from said communications media through said transceiver and store in an adapter receive buffer bytes of said first packet; and i. generating a second early receive interrupt from said adapter to said host computer prior to complete reception of said first packet.
-
Specification