Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
First Claim
1. An apparatus comprising:
- a host computer comprising a system bus; and
a data communications adapter comprising;
Ethernet control circuitry;
a host interface coupled to said system bus and configured to exchange data with said host computer via said system bus;
a transceiver coupled to receive and transmit data over communications media;
data transmit control circuitry responsive to said Ethernet control circuitry and coupled to said transceiver, to a transmit data buffer, and to said host interface, for generating a packet transmit signal causing said transceiver to begin transmitting data from said transmit data buffer over said communications media;
a receive data buffer coupled to said host interface; and
data receive control circuitry responsive to said Ethernet control circuitry and coupled to said transceiver, to said receive data buffer, and to said host interface, for storing data received by said transceiver in said receive data buffer, and for generating a receive interrupt signaling to said host computer that data has been received by said transceiver, wherein said data receive control circuitry is operative to generate said receive interrupt once said transceiver has received over said communications media a predetermined number of bytes of a data packet that is less than all of said data packet, wherein said Ethernet control circuitry, said host interface, said data receive control circuitry, said data transmit control circuitry, said receive data buffer, and said transmit data buffer are all contained in a single Application Specific Integrated Circuit (ASIC).
0 Assignments
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 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.
-
Citations
7 Claims
-
1. An apparatus comprising:
-
a host computer comprising a system bus; and a data communications adapter comprising; Ethernet control circuitry; a host interface coupled to said system bus and configured to exchange data with said host computer via said system bus; a transceiver coupled to receive and transmit data over communications media; data transmit control circuitry responsive to said Ethernet control circuitry and coupled to said transceiver, to a transmit data buffer, and to said host interface, for generating a packet transmit signal causing said transceiver to begin transmitting data from said transmit data buffer over said communications media; a receive data buffer coupled to said host interface; and data receive control circuitry responsive to said Ethernet control circuitry and coupled to said transceiver, to said receive data buffer, and to said host interface, for storing data received by said transceiver in said receive data buffer, and for generating a receive interrupt signaling to said host computer that data has been received by said transceiver, wherein said data receive control circuitry is operative to generate said receive interrupt once said transceiver has received over said communications media a predetermined number of bytes of a data packet that is less than all of said data packet, wherein said Ethernet control circuitry, said host interface, said data receive control circuitry, said data transmit control circuitry, said receive data buffer, and said transmit data buffer are all contained in a single Application Specific Integrated Circuit (ASIC). - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method performed on a host computer of transferring a packet of data from a computer network communications media through an adapter to a system bus coupled to a central processing unit (CPU) of the host computer, said method comprising the steps of:
-
receiving from said computer network communications media through a transceiver and storing in an adapter receive buffer a predetermined first receive threshold number of bytes of said packet of data; generating a first early receive interrupt from said adapter to said CPU via the system bus; adjusting said first receive threshold number of bytes according to a length of said packet of data; continuing to receive from said computer network communications media through said transceiver and store in the adapter receive buffer bytes of said packet of data; thereafter generating a second early receive interrupt from said adapter to said CPU via the system bus, prior to complete reception of said packet of data; and storing from said communications media through said transceiver and storing in said adapter receive buffer a remainder of said packet of data; wherein said host computer employs a driver allowing for early indications and having an early lookahead size associated with the predetermined first receive threshold number of bytes. - View Dependent Claims (7)
-
Specification