Claims
- 1. A method for receiving a data packet from a network and transferring the data packet to a host, comprising the steps of:
- (a) receiving a first number of bytes of said data packet in a data packet buffer;
- (b) determining the size of the data packet;
- (c) allowing all of the data packet to be received in the data packet buffer, the entire packet to be transferred to the host, if said size of said data packet is less than a small packet threshold indicating a first threshold value;
- (d) transferring a portion of said data packet from said data packet buffer to the host prior to the receipt of said entire data packet into said data packet buffer if said size of said data packet is greater than said first threshold value, but less than a second number of bytes indicating a second threshold value;
- (e) sending a receive packet interrupt signal from said data packet buffer to the host when said first threshold value is hit or said second threshold value is hit;
- (f) determining if said data being transferred to said host is valid or invalid;
- (g) detecting that said data packet being transferred from said data packet buffer to said host contains invalid data setting an error flag; and
- (h) detecting when said error flag is set and issuing a command to said system to request a retransfer of said data packet.
- 2. The method as recited in claim 1 wherein said step of determining if the data being transferred to the host is valid or invalid is further comprised of the steps of:
- comparing a first address of said data packet buffer where data is being received with a second address of said data packet buffer from which data is being transferred to the host;
- if said second address does not exceed an address range where the data packet has been received, said address range defined by said first address, identifying said data being transferred as valid; and
- if said second address exceeds said address range where the data packet has been received, identifying said data being transferred as invalid.
- 3. A computer system for communication with a network comprising:
- a host;
- a data packet buffer that receives a data packet from the network, wherein said data packet has a first number of bytes;
- logic for determining the size of said data packet;
- logic for allowing all of said data packet to be received in said data packet buffer, the entire packet to be transferred to the host, if said size of said data packet is less than a small packet threshold indicating a first threshold value;
- packet transmitting logic for transmitting a portion of said data packet from said data packet buffer to the host prior to the receipt of said entire data packet into said data packet buffer if said size of said data packet is greater than said first threshold value, but less than a second number of bytes indicating a second threshold value;
- interrupt generating logic for sending a receive packet interrupt signal to the host when said first threshold value is hit or said second threshold value is hit;
- error detecting logic for detecting that said data packet being transferred from said data packet buffer to said host contains invalid data setting an error flag; and
- error handling logic for detecting when said error flag is set and issuing a command to said system to request a retransfer of said data packet.
- 4. The circuit as recited in claim 3 wherein said error detecting logic comprises a comparator for comparing a first address where data is being received by said data packet buffer and a second address where data is being transferred from said data packet buffer to the network.
Parent Case Info
This is a continuation of application Ser. No. 08/130,024, filed Sep. 30, 1993, now abandoned.
US Referenced Citations (13)
Foreign Referenced Citations (2)
Number |
Date |
Country |
0247317 |
Mar 1987 |
EPX |
2256295 |
May 1992 |
GBX |
Continuations (1)
|
Number |
Date |
Country |
Parent |
130024 |
Sep 1993 |
|