Plaque It!
Sponsored by: Flash of Genius |
[0001] The present invention relates to a network linking device, and more particularly to a network linking device in communication with a computer host and an external network. The present invention also relates to a method for transferring data packets between a computer host and an external network via a network linking device.
[0002] Please refer to
[0003] When tranceiving data packets, the MAC
[0004] Conventionally, the MAC
[0005] 1. a packet-based manner, i.e. asserting a hardware interrupt signal whenever a data packet or a predetermined number of data packets to be transmitted;
[0006] 2. a time-based manner, i.e. asserting a hardware interrupt signal periodically; or
[0007] 3. a hybrid manner, i.e. combining the above packet- and time-based manners.
[0008] For the packet-based manner, the data packets can be timely picked up by the operating system, and the occupied memory resource is efficiently released. When the data packet throughput in the network is high, however, the frequently generated interrupt signals will result in that the operation resource of the microprocessor
[0009] On the other hand, for the time-based manner, the data packets can be processed to release the occupied memory resource without disturbing the microprocessor
[0010] For the hybrid manner, it is necessary to regulate the timing for asserting the interrupt signal to transfer data packets according to the data packet throughput. In practice, however, it is hard to control the timing for the MAC
[0011] As described above, the assertion of the interrupt signal is either packet-based or time-based. For a situation that a data file includes a plurality of data packets and the data packets transmitted sequentially in response to the interrupt signal do not include the last packet of the data file, the microprocessor
[0012] With the popularization of the broadband network, the data flow through the MAC
[0013] Therefore, the purpose of the present invention is to contemplate how to assert the interrupt signal at proper timing.
[0014] An object of the present invention is to provide a network linking device and a method for transferring data packets to assert the interrupt signal properly for avoiding deterioration of the server performance.
[0015] According to an aspect of the present invention, there is provided a network linking device in communication with a computer host and an external network. The network linking device includes a media access controller (MAC), a buffer and a feature value evaluator. The MAC in communication with the external networkreceives a data packet from the external network, and the buffer in communication with the MAC stores the data packet therein. The feature value evaluator in communication with the buffer determines whether the data packet complies with a transfer condition according to a feature value included in the data packet and actuates the MAC to assert an interrupt signal to the computer host when the feature value indicates the data packet complies with the transfer condition, thereby allowing the computer host to perform a corresponding interrupt service for the transfer of the data packet from the buffer in response to the interrupt signal.
[0016] For example, the buffer can be a static random access memory (SRAM).
[0017] Preferably, the feature value evaluator is a microprocessor.
[0018] In an embodiment, the transfer condition is complied with when the data packet is the one required to be transferred immediately upon being received by the MAC.
[0019] In another embodiment, the transfer condition is complied with when the data packet is the last one of a plurality of associated data packets to be transferred together.
[0020] Preferably, the network linking device further includes a flash memory in communication with the feature value evaluator for storing therein program codes and initial data required for the operation of the feature value evaluator.
[0021] Preferably, the feature value is one of a destination address (DA) of the data packet, a data type of the data packet, a specified content of the data packet, or a combination thereof. The specified content of the data packet is preferably one of a hardware type, a protocol type, a target Internet protocol (IP), a target hardware address (HA), a flag, a code bit or a combination thereof.
[0022] According to another aspect of the present invention, there is provided a network linking device in communication with a computer host and an external network. The network linking device includes a media access controller (MAC), a buffer and a feature value evaluator. The MAC in communication with the external network receives a data packet from the external network, and stores the packet in the buffer in communication therewith. The feature value evaluator in communication with the buffer determines whether the data packet complies with a transfer condition according to a feature value of the data packet and allows the data packet to be transferred along with an associated data packet from the buffer when the feature value indicates the data packet complies with the transfer condition.
[0023] Preferably, the data packet is determined to comply with the transfer condition when the data packet is the last packet of a data file. Meanwhile, the associated data packet is one of the data file preceding the last packet.
[0024] According to another aspect of the present invention, there is provided a method for transferring a data packet between a computer host and an external network. The method comprising steps of receiving a data packet from the external network, storing the data packet in a buffer, determining whether the data packet complies with a transfer condition according to a feature value of the data packet, and performing an interrupt service by the computer host to transfer the data packet out of the buffer when the feature value indicates the data packet complies with the transfer condition.
[0025] Generally, the data packet is transferred between the computer host and the external network via a media access controller (MAC), and the buffer is in communication with the MAC.
[0026] Preferably, the interrupt service is performed by the computer host in response to an interrupt signal asserted by the MAC upon the data packet complies with the transfer condition.
[0027] The present invention may best be understood through the following description with reference to the accompanying drawings, in which:
[0028]
[0029]
[0030]
[0031] The present invention will now be described more specifically with reference to the following embodiments. It is to be noted that the following descriptions of preferred embodiments of this invention are presented herein for purpose of illustration and description only; it is not intended to be exhaustive or to be limited to the precise form disclosed.
[0032] Please refer to
[0033] For example, the feature value can be a destination address (DA) of the data packet, a data type of the data packet and/or a protocol content of the third network layer in the data packet. The protocol content associated with the third network layer, for example, includes an address resolution protocol (ARP) packet, an Internet protocol (IP) fragment, and a transmission control protocol/Internet protocol (TCP/IP). They could be parsed through a hardware type, a protocol type, a target IP, a target hardware address (HA), a flag and/or a code bit.
[0034] There are two transfer conditions in this embodiment. A data packet may require to be transferred immediately once being received in view of its packet format. Another example is that the data packet is one of a plurality of packets of a data file, so the data packet should be transferred along with the whole associated data packets.
[0035] For the former transfer condition, i.e. when the received data packet requires to be transferred immediately, the feature value evaluator
[0036] The following is an exemplified transfer condition for an Ethernet packet. The data packet includes a DA field of the packet, a data type field of the packet, and an ARP content of the packet. The ARP content includes the types of hardware, protocol, target IP and target HA of the packet. The feature value evaluator
[0037] For the latter transfer condition as mentioned above, i.e. when a data file is to be transferred as a whole, and the data packet is the last one of the data file, the microprocessor
[0038] An example of such transfer condition for an Internet protocol (IP) packet is given as follows. As is known, for an IP packet, individual data packets are meaningless to the computer host unless they are combined into a complete information file. In other words, the individual packets are not to be transferred until all the packets of the entire information file are received together. The feature value evaluator
[0039] For example, when the data type is “0800”, it is determined by the feature value evaluator
[0040] A transmission control protocol (TCP) packet is further exemplified herein to describe the present invention. The TCP packet has a format similar with that of the IP packet. Accordingly, the data type is supposed to be “0800”. In this example, code bits, instead of flags, of the TCP header are used to determine whether the data packet is the last one. When the last one of the code bits is “0”, it represents that the data packet is not the last one of the data file, and should wait for the last packet in the buffer
[0041] The examples of aforementioned interrupt timing are summarized in the flowchart of
[0042] According to the present invention, the interrupt signal is dynamically asserted to free the memory capacity of the buffer when the buffer is almost exhausted by the stored data packets, even if the incoming data packet does not comply with the transfer condition. Under this circumstance, the interrupt signal is dynamically asserted according to the throughput of the MAC.
[0043] To sum up, the network linking device and method according to the present invention allows the interrupt signal to be asserted more properly by discriminating whether the incoming data packet complies with the transfer condition. Therefore, the system can be normally and efficiently operated. Especially for a server including several network interface cards (NICs), the performance will be significantly improved.
[0044] While the invention has been described in terms of what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention needs not be limited to the disclosed embodiment. On the contrary, it is intended to cover various modifications and similar arrangements included within the spirit and scope of the appended claims which are to be accorded with the broadest interpretation so as to encompass all such modifications and similar structures.