US5732094AExpiredUtility

Method for automatic initiation of data transmission

80
Assignee: 3COM CORPPriority: Jul 28, 1992Filed: Sep 16, 1996Granted: Mar 24, 1998
Est. expiryJul 28, 2012(expired)· nominal 20-yr term from priority
H04L 49/90H04L 47/10H04L 9/40H04L 43/0817G06F 13/128H04L 49/901H04L 49/9068H04L 49/9031H04L 47/22G06F 13/385H04L 49/9078H04L 49/9063H04L 49/9073
80
PatentIndex Score
99
Cited by
38
References
53
Claims

Abstract

Early initiation of transmission of data in a network interface that includes a dedicated transmit buffer is provided in a system which includes logic for transferring frames of data composed by the host computer into the transmit buffer. The amount of data of a frame which is downloaded by the host to the transmit buffer is monitored to make a threshold determination of an amount of data of the frame resident in the transmit data buffer. The network interface controller includes logic for initiating transmission of the frame when the threshold determination indicates that a sufficient portion of the frame is resident in the transmit buffer, and prior to transfer of all of the data of the frame into the transmit buffer. The monitoring logic includes a threshold store, which is programmable by the host computer for storing a threshold value. Thus, the threshold value may be set by the host system to optimize performance in a given setting.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method for transmitting a frame of data from a host system through a network interface device to a network, comprising: executing a frame transfer task initiated in the host system to transfer a frame to a buffer memory in the network interface device; and   executing a frame transmission task in the network interface device to initiate transmission of the frame from the buffer memory to the network in parallel with the frame transfer task before the frame is completely transferred to the buffer memory.   
     
     
       2. The method of claim 1, wherein the frame transmission task includes executing a carrier sense, multiple access protocol. 
     
     
       3. The method of claim 1, wherein the frame transmission task includes executing a carrier sense, multiple access with collision detection protocol. 
     
     
       4. The method as in claim 1, further comprising: detecting an underrun condition in which the transfer of the data of the frame into the buffer memory falls behind the transmission of the data from the buffer memory to the network; and   supplying a bad frame signal to the network un response to the underrun condition.   
     
     
       5. The method as in claim 1, wherein the frame transmission task includes: appending an error detection code to the frame of data to be transmitted to the network.   
     
     
       6. The method as in claim 5, further comprising: detecting an underrun condition in which the transfer of the data of the frame into the buffer memory falls behind the transmission of the data from the buffer memory to the network transceiver; and   corrupting the error detection code in response to the underrun condition.   
     
     
       7. The method as in claim 1, including making a threshold determination based on a comparison of a count of data transferred into the buffer memory with a threshold value. 
     
     
       8. The method as in claim 7, further comprising: providing access to the threshold value so that it may be dynamically programmed by the host system; and   posting status information for use by the host system as feedback for optimizing the threshold value.   
     
     
       9. A method of transmitting frames of data from a host computer to a communications medium in a computer network, comprising: transferring data of a frame from the host computer to a buffer memory;   monitoring the transfer of the data of the frame to the buffer memory to make a threshold determination of whether a threshold amount of data of the frame has been transferred to the buffer memory; and   initiating transmission of the frame of data from the buffer memory to the communications medium in response to the threshold determination prior to transfer of all the data of the frame from the host computer to the buffer memory.   
     
     
       10. The method as in claim 9, wherein transmission of the frame of data from the buffer memory to the communications medium is initiated as soon as the threshold amount of data has been transferred to the buffer memory. 
     
     
       11. The method as in claim 9, wherein the buffer memory is addressable by the host computer. 
     
     
       12. The method as in claim 9, wherein the threshold amount is dynamically programmable by the host computer. 
     
     
       13. The method as in claim 9, further comprising: posting status information for use by the host computer as feedback for optimizing the threshold amount.   
     
     
       14. The method as in claim 9, wherein the initiating transmission of the frame step includes: retrieving data from the buffer memory; and   supplying the retrieved data for transmission on the communications medium if no carrier is detected on the communications medium.   
     
     
       15. The method as in claim 9, wherein transmission of the frame onto the communications medium is initiated when the threshold amount is satisfied and no previously queued transmit requests exist. 
     
     
       16. The method as in claim 9, further comprising: detecting an underrun condition in which the transfer of the data of the frame into the buffer memory falls behind the transmission of the data from the buffer memory to the communications medium; and   supplying a bad frame signal to the communications medium in response to the underrun condition.   
     
     
       17. The method as in claim 9, further comprising: identifying the data of the frame to be transmitted on the communications medium including, determining a frame length for the frame,   providing an indication field to selectively control whether an indication will be generated to notify the host computer upon completion of the transmission of the frame, and   providing a status field containing an indication of whether the frame to be transmitted has been transmitted.     
     
     
       18. The method as in claim 17, wherein the identifying step further includes reading a descriptor for the frame which includes a destination address, a source address, protocol-specific header data, and immediate data. 
     
     
       19. The method as in claim 9, further comprising: appending an error detection code to the frame of data to be transmitted on the communications medium.   
     
     
       20. The method as in claim 19, further comprising: detecting an underrun condition in which the transfer of the data of frames into the buffer memory falls behind the transmission of the data from the buffer memory to the communications medium; and   corrupting the error detection code in response to the underrun condition.   
     
     
       21. The method of transmitting frames of data from a host computer to a communications medium of a network, comprising: receiving data of a frame from a host computer in a buffer memory;   monitoring the amount of the data of the frame in the buffer memory to determine whether a threshold amount of data of the frame has been received in the buffer memory;   initiating transmission of the frame of data from the buffer memory to the communications medium prior to receiving all the data of the frame from the host computer in the buffer memory in response to the threshold amount;   detecting an underrun condition in which the receiving of the data of the frame into the buffer memory falls behind the transmission of the data from the buffer memory to the communications medium;   supplying a bad frame signal to the communications medium in response to the underrun condition; and   posting status information for use by the host computer as feedback for optimizing the threshold amount.   
     
     
       22. The method as in claim 21, wherein the threshold amount is dynamically programmable by the host computer. 
     
     
       23. The method as in claim 21, wherein transmission of the frame onto the communications medium is initiated when the threshold amount is satisfied and no previously queued transmit requests exist. 
     
     
       24. The method as in claim 21, further comprising: appending an error detection code to the frame of data to be transmitted on the communications medium.   
     
     
       25. The method as in claim 24, wherein the bad frame signal includes a corrupted error detection code. 
     
     
       26. The method as in claim 21, wherein the identifying step includes, determining a frame length for the frame,   providing an indication field to selectively control whether an indication will be generated to notify the host computer upon completion of the transmission of the frame, and   providing a status field containing an indication of whether the frame to be transmitted has been transmitted.   
     
     
       27. The method as in claim 26, wherein the identifying step further includes reading a descriptor for the frame which includes a destination address, a source address, protocol-specific header data, and immediate data. 
     
     
       28. A method of controlling communication of data from a host system to a network transceiver coupled to a carrier sense, multiple access with collision detection (CSMA/CD) computer network, comprising: transferring data of a frame from the host system to a buffer memory;   monitoring the transfer of the data of the frame to the buffer memory to make a threshold determination on an amount of data of the frame transferred to the buffer memory; and   initiating CSMA/CD transmission of the frame of data in the buffer memory to the network transceiver in response to the threshold determination prior to transfer of all the data of the frame from the host system to the buffer memory.   
     
     
       29. The method as in claim 28, wherein the buffer memory is addressable by the host system. 
     
     
       30. The method as in claim 28, wherein the threshold determination is based on a comparison of the amount of data transferred into the buffer memory with a threshold value, the threshold value being dynamically programmable by the host system. 
     
     
       31. The method as in claim 30, further comprising: posting status information for use by the host system as feedback for optimizing the threshold value.   
     
     
       32. The method as in claim 30, wherein transmission of the frame to the network transceiver is initiated when the threshold value is satisfied and no previously queued transmit requests exist. 
     
     
       33. The method as in claim 28, wherein the initiating transmission of the frame step includes: retrieving data from the buffer memory; and   supplying the retrieved data for transmission to the network transceiver.   
     
     
       34. The method as in claim 28, further comprising: detecting an underrun condition in which the transfer of the data of the frame into the buffer memory falls behind the transmission of the data from the buffer memory to the network transceiver; and   supplying a bad frame signal to the network transceiver in response to the underrun condition.   
     
     
       35. The method as in claim 28, further comprising identifying the data of the frame to be transmitted to the network transceiver, including, determining a frame length for the frame,   providing an indication field to selectively control whether an indication will be generated to notify the host computer upon completion of the transmission of the frame, and   providing a status field containing an indication of whether the frame to be transmitted has been transmitted.     
     
     
       36. The method as in claim 35, wherein the identifying step further includes reading a descriptor for the frame which includes a destination address, a source address, protocol-specific header data, and immediate data. 
     
     
       37. The method as in claim 28, further comprising: appending an error detection code to the frame of data to be transmitted to the network transceiver.   
     
     
       38. The method as in claim 39, further comprising: detecting an underrun condition in which the transfer of the data of the frame into the buffer memory falls behind the transmission of the data from the buffer memory to the network transceiver; and   corrupting the error detection code in response to the underrun condition.   
     
     
       39. A method for transmitting a frame of data from a host system through a network interface device to a network, comprising: initiating a frame transfer task in the host system to transfer a frame to a buffer memory in the network interface device;   monitoring the frame transfer task in the network interface device; and   executing a medium access task in the network interface device to initiate access to the network, and upon access transmitting the frame from the buffer memory to the network in parallel with the frame transfer task before the frame is completely transferred to the buffer memory.   
     
     
       40. The method of claim 39, wherein the medium access task comprises a carrier sense, multiple access with collision detection protocol. 
     
     
       41. The method of claim 39, further comprising: detecting an underrun condition in which the transfer of the data of the frame into the buffer memory falls behind the transmission of the data from the buffer memory to the network; and   supplying a bad frame signal to the network in response to the underrun condition.   
     
     
       42. The method of claim 39, wherein the communications medium compreses a random access communications medium. 
     
     
       43. The method of claim 39, wherein the medium access task includes: appending an error detection code to the frame of data to be transmitted to the network.   
     
     
       44. The method of claim 43, further comprising: detecting an underrun condition in which the transfer of the data of the frame into the buffer memory falls behind the transmission of the data from the buffer memory to the network transceiver; and   corrupting the error detection code in response to the underrun condition.   
     
     
       45. The method of claim 39, including making a threshold determination based on a comparison of a count of data transferred into the buffer with a threshold value. 
     
     
       46. The method of claim 45, further comprising: providing access to the threshold value so that it may be dynamically programmed by the host system, and;   posting status information for use by the host system as feedback for optimizing the threshold value.   
     
     
       47. A method for transmitting a frame of data from a host system through a network interface device to a network, comprising: executing a frame transfer task initiated in the host system to transfer a frame to a buffer memory in the network interface device;   making a threshold determination based on a comparison of a count of data transferred into the buffer memory with a threshold value;   executing a frame transmission task in the network interface device to initiate transmission of the frame from the buffer memory to the network in response to the threshold determination before the frame is completely transferred to the buffer memory;   posting status information for use by the host system as feedback for the threshold value; and   altering the threshold value based on the status information.   
     
     
       48. The method of claim 47, including disabling the threshold determination during the step of altering the threshold value. 
     
     
       49. The method of claim 47, including allowing alteration of the threshold value while data of a frame to be transmitted is stored in the buffer memory. 
     
     
       50. The method of claim 47, wherein the step of altering the threshold value includes writing the threshold value in a register. 
     
     
       51. The method of claim 47, wherein the step of altering the threshold value includes using a driver in the host system to process the status information, and in response write a new threshold value in a register on the network interface device. 
     
     
       52. The method of claim 47, wherein the step of posting status information includes: generating an indication of an underrun condition in the buffer memory.   
     
     
       53. The method of claim 52, wherein step of altering the threshold value includes increasing the threshold value in response to the indication of an underrun condition.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.