摘要:
A method and system for filtering multicast packets by a peripheral component. In one embodiment, the present invention uses a peripheral component driver to store in memory a selected hash values corresponding to desired multicast packets. In one embodiment, the peripheral component driver operates on a host computer to which a peripheral component is coupled. Next, when the peripheral component receives an incoming multicast packet, the present invention uses a hash value generator disposed on the peripheral component to determine a hash value for the received multicast packet. The present embodiment then compares the hash value for the received multicast packet with the selected hash values stored in memory. Provided the hash value for the received multicast packet does not match any of the selected hash values stored in the memory, the present embodiment discards the received multicast packet without interrupting the host computer. In so doing, the present embodiment effectively filters multicast packets without requiring constant intervention by the CPU (central processing unit) of the host computer.
摘要:
A system and method for dynamically calculating the maximum amount of time a peripheral component event can be stored before generating a corresponding interrupt. Specifically, in this embodiment, the host computer is adapted to have a peripheral component removably coupled thereto and is adapted to operate a peripheral component driver. The peripheral component driver, in turn, is adapted to dynamically calculate the maximum amount of time a peripheral component event can be stored before generating a corresponding interrupt. The peripheral component of this embodiment is adapted to store the peripheral component event and cause the generation of an interrupt when the peripheral component event has been stored for the maximum amount of time. Once again, the present embodiment, like the previous embodiments, reduces the frequency with which interrupts are generated, and minimizes the CPU overhead associated with the servicing of interrupts.
摘要:
A system and method for dynamically calculating the quantity of peripheral component events to coalesce. In one embodiment, a host computer is adapted to have a peripheral component removably coupled thereto. The host computer is further adapted to operate a peripheral component driver. The peripheral component driver of the present embodiment is adapted to dynamically determine the quantity of peripheral component events to coalesce. The peripheral component is adapted to coalesce the determined quantity of the peripheral component events. Furthermore, the peripheral component is adapted to cause the generation of an interrupt upon the occurrence of the determined quantity of the peripheral component events. Also, the present embodiment periodically re-determines the quantity of the peripheral components which should be coalesced. As a result, the present invention dynamically optimizes the frequency with which interrupts are generated, thereby minimizing the CPU overhead associated with the servicing of interrupts.
摘要:
A system and method for dynamically calculating a maximum allowable time interval which can lapse between peripheral component events before an interrupt is generated. In this embodiment, the host computer is adapted to have a the peripheral component removably coupled thereto and operate a peripheral component driver. The peripheral component driver in this embodiment is adapted to dynamically calculate a maximum allowable time interval which can lapse between peripheral component events before an interrupt is generated. The peripheral component is correspondingly adapted to cause the generation of an interrupt when the maximum allowable time interval has elapsed between successive ones of the peripheral component events. As a result, the present embodiment, like the previous embodiment, reduces the frequency with which interrupts are generated, and minimizes the CPU overhead associated with the servicing of interrupts.
摘要:
Architecture to fragment transmitted transmission control protocol (TCP) packets to a requested window size. Specifically, one embodiment of the present invention includes a method for implementing transmission control protocol segmentation within hardware. The method includes the hardware, implemented step of downloading a payload header of a data payload stored within memory of a host device. Furthermore, the method also includes the hardware implemented step of downloading a plurality of data segments of the data payload. Additionally, the method includes the hardware implemented step of repeatedly modifying the payload header in order to generate a plurality of frame headers which correspond to the plurality of data segments.
摘要:
A method and system for efficiently handling a particular streaming data packet regardless of whether the streaming data packet has a first alignment or a second alignment. In one embodiment, the present invention receives a first portion of an incoming packet stream at a peripheral component adapted to be coupled to a host computer. The present embodiment then receives a second portion of the incoming packet stream at the peripheral component. Next, the present embodiment determines whether the incoming packet stream has a first alignment or a second alignment. Provided that the incoming packet stream has the second alignment, the present embodiment reconfigures the incoming packet stream to have the first alignment. The present embodiment then handles the incoming packet stream using a single processing unit adapted to handle only packet streams having the first alignment. In so doing, the present invention is able to handle an incoming packet stream having either a first alignment or a second alignment without requiring multiple processing units.
摘要:
A method of preventing packet loss when data packets are transferred from a network interface card to a host operating system of a computer. Incoming data packets received by the network interface card are processed in bursts of N data packets, where N is a maximum number of data packets that can be handled by the host operating system. At the end of each burst, a signal is sent to the host operating system that the burst constitutes all the incoming data packets. In one embodiment of the present invention, the signal, which falsely indicates that the transaction is complete, also enables the host operating system to receive another burst of the data packets. The process may be repeated until all the incoming data packets are received by the host operating system. In another embodiment of the present invention, after processing a burst of N data packets, a future hardware interrupt is scheduled and a signal falsely indicating that the burst constitutes all of the incoming data packets is sent. The future hardware interrupt, coupled with the signal, enables the host operating system to receive a stream of data packets without packet loss.
摘要:
A method and system for providing priority to a station in a congested half duplex Ethernet network. Specifically, one embodiment of the present invention includes a method for providing priority to a peripheral component (e.g., half duplex Network Interface Card) in a congested network. The method includes the step of detecting a collision of a data packet during transmission of the data packet by a peripheral component coupled to a network. Furthermore, the method includes the step of determining a restricted back off time. It should be appreciated that the restricted back off time is substantially equal to or less than a restricted time value. Additionally, the method includes the step of causing the peripheral component to wait the restricted back off time before trying to retransmit the data packet over the network.
摘要:
A method to dynamically adjust the maximum back off time of an Ethernet controller in a half duplex network. Specifically, one embodiment of the present invention includes a method for providing priority to a peripheral component (e.g., half duplex Network Interface Card) in a congested network. The method includes the step of determining a maximum back off time limit based on a number of collisions a first data packet encounters before being transmitted over a network. Furthermore, the method includes the step of detecting a collision of a second data packet during transmission of the second data packet by the peripheral component coupled to the network. Additionally, the method also includes the step of determining a back off time. It should be appreciated that the back off time is substantially equal to or less than the maximum back off time limit. Moreover, the method includes the step of causing the peripheral component to wait the back off time before trying to retransmit the second data packet over the network.
摘要:
A method and system for programmably controlling hardware generation of interrupts by a peripheral component. In one embodiment, the present invention uses a peripheral component driver to programmably define a duration for a time cycle of a hardware timer disposed on a peripheral component. The hardware timer is configured to cause the generation of an interrupt signal upon the expiration of the time cycle. In this embodiment, the hardware timer of the peripheral component implements the duration for the time cycle and causes the generation of an interrupt signal upon the expiration of the time cycle. In so doing, the present embodiment attains the reliability and consistency of hardware timer generated interrupts schemes, but, by controlling the hardware timer with software, the present embodiment prevents over utilization of the CPU by the hardware timer.