System and methods for high rate hardware-accelerated network protocol processing
First Claim
Patent Images
1. A system for accelerating transmission control protocol (TCP) network traffic processing, the system comprising:
- a network traffic reception module configured to receive TCP network traffic;
a hardware-based acceleration module configured to accelerate TCP network traffic processing in a steady state network connection, the acceleration module further configured with windowing functionality for performing flow control and congestion avoidance during TCP network traffic processing, and retransmission functionality for retransmitting packets in response to timeouts and errors as defined by a TCP network protocol; and
a software-based processing module configured to process TCP connection sequences, termination sequences, and non-steady state TCP network traffic;
wherein the system is adapted to be an iSCSI storage target capable of serving multiple iSCSI host initiators simultaneously.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a system and methods for accelerating network protocol processing for devices configured to process network traffic at relatively high data rates. The system incorporates a hardware-accelerated protocol processing module that handles steady state network traffic and a software-based processing module that handles infrequent and exception cases in network traffic processing.
-
Citations
35 Claims
-
1. A system for accelerating transmission control protocol (TCP) network traffic processing, the system comprising:
-
a network traffic reception module configured to receive TCP network traffic; a hardware-based acceleration module configured to accelerate TCP network traffic processing in a steady state network connection, the acceleration module further configured with windowing functionality for performing flow control and congestion avoidance during TCP network traffic processing, and retransmission functionality for retransmitting packets in response to timeouts and errors as defined by a TCP network protocol; and a software-based processing module configured to process TCP connection sequences, termination sequences, and non-steady state TCP network traffic; wherein the system is adapted to be an iSCSI storage target capable of serving multiple iSCSI host initiators simultaneously. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for accelerating transmission control protocol (TCP) network traffic processing, the system comprising:
-
a network traffic reception module configured to receive TCP network traffic; a hardware-based acceleration module comprising an accelerator sub-system that accelerates TCP protocol processing including congestion control, window management, acknowledgement, and retransmission policies associated with communications using the TCP protocol and configured to accelerate TCP network traffic processing in a steady state network connection, the acceleration module further configured with windowing functionality for performing flow control and congestion avoidance during TCP network traffic processing, and retransmission functionality for retransmitting packets in response to timeouts and errors as defined by a TCP network protocol; a software-based processing module configured to process TCP connection sequences, termination sequences, and non-steady state TCP network traffic; and a TCP control block (TCPCB) cache coupled with a prefetcher functionality associated with the accelerator sub-system to avoid stalls arising from memory transfers. - View Dependent Claims (8)
-
-
9. A system for accelerating transmission control protocol (TCP) network traffic processing, the system comprising:
-
a network traffic reception module configured to receive TCP network traffic; a hardware-based acceleration module configured to accelerate TCP network traffic processing in a steady state network connection, the acceleration module further configured with windowing functionality for performing flow control and congestion avoidance during TCP network traffic processing, and retransmission functionality for retransmitting packets in response to timeouts and errors as defined by a TCP network protocol; and a software-based processing module configured to process TCP connection sequences, termination sequences, and non-steady state TCP network traffic; wherein the hardware-based acceleration module further comprises an accelerator sub-system that accelerates TCP protocol processing including congestion control, window management, acknowledgement, and retransmission policies associated with communications using the TCP protocol, and wherein the accelerator sub-system utilizes a parallel register bus to transfer data into and out of register files in its components processors, thereby accelerating TCP protocol processing.
-
-
10. A system for accelerating transmission control protocol (TCP) network traffic processing, the system comprising:
-
a network traffic reception module configured to receive TCP network traffic; a hardware-based acceleration module configured to accelerate TCP network traffic processing in a steady state network connection, the acceleration module further configured with windowing functionality for performing flow control and congestion avoidance during TCP network traffic processing, and retransmission functionality for retransmitting packets in response to timeouts and errors as defined by a TCP network protocol; and a software-based processing module configured to process TCP connection sequences, termination sequences, and non-steady state TCP network traffic; wherein the hardware-based acceleration module further comprises an accelerator sub-system that accelerates TCP protocol processing including congestion control, window management, acknowledgement, and retransmission policies associated with communications using the TCP protocol, and wherein the accelerator sub-system comprises a very long instruction word (VLIW) processor. - View Dependent Claims (11)
-
-
12. A system for accelerating transmission control protocol (TCP) network traffic processing, the system comprising:
-
a network traffic reception module configured to receive TCP network traffic; a hardware-based acceleration module configured to accelerate TCP network traffic processing in a steady state network connection, the acceleration module further configured with windowing functionality for performing flow control and congestion avoidance during TCP network traffic processing, and retransmission functionality for retransmitting packets in response to timeouts and errors as defined by a TCP network protocol; a software-based processing module configured to process TCP connection sequences, termination sequences, and non-steady state TCP network traffic; and an event machine module used to manage timers and accelerate timer processing associated with TCP protocol processing.
-
-
13. A system for accelerating network protocol processing adapted for use in a storage network, the system comprising:
-
a real-time acceleration module integrated with a storage subsystem and comprising a hardware-based network protocol processing component configured to accelerate network protocol processing in a steady state network connection performing functions including acknowledgement, windowing, and retransmission; and a non-real-time module comprising a software-based module configured to process exception aspects of network protocol processing. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27)
-
-
26. A system for accelerating network protocol processing, the system comprising:
-
a real-time acceleration module comprising a hardware-based network protocol processing component configured to accelerate network protocol processing in a steady state network connection performing functions including acknowledgement, windowing, and retransmission; and a non-real-time module comprising a software-based module configured to process exception aspects of network protocol processing; wherein the steady state network connection comprises a period of packet reception wherein substantially no out-of-sequence network packets are received.
-
-
28. A system for accelerating network protocol processing, the system comprising:
-
a real-time acceleration module comprising a hardware-based network protocol processing component configured to accelerate network protocol processing in a steady state network connection performing functions including acknowledgement, windowing, and retransmission and an accelerator sub-system that accelerates network protocol processing including congestion control, window management, acknowledgement, and retransmission policies associated with communication using a selected network protocol; and a non-real-time module comprising a software-based module configured to process exception aspects of network protocol processing; wherein the system is configured to process TCP network traffic and a TCP control block (TCPCB) cache is coupled with a prefetcher functionality associated with the accelerator sub-system to avoid stalls arising from memory transfers. - View Dependent Claims (29, 30)
-
-
31. A system for accelerating network protocol processing, the system comprising:
-
a real-time acceleration module comprising a hardware-based network protocol processing component configured to accelerate network protocol processing in a steady state network connection performing functions including acknowledgement, windowing, and retransmission and an accelerator sub-system that accelerates network protocol processing including congestion control, window management, acknowledgement, and retransmission policies associated with communication using a selected network protocol; and a non-real-time module comprising a software-based module configured to process exception aspects of network protocol processing; wherein the accelerator sub-system utilizes a parallel register bus to transfer data into and out of register files in its components processors, thereby accelerating network protocol processing.
-
-
32. A system for accelerating network protocol processing, the system comprising:
-
a real-time acceleration module comprising a hardware-based network protocol processing component configured to accelerate network protocol processing in a steady state network connection performing functions including acknowledgement, windowing, and retransmission and an accelerator sub-system that accelerates network protocol processing including congestion control, window management, acknowledgement, and retransmission policies associated with communication using a selected network protocol; and a non-real-time module comprising a software-based module configured to process exception aspects of network protocol processing; wherein the accelerator sub-system comprises a very long instruction word (VLIW) processor.
-
-
33. A system for accelerating network protocol processing, the system comprising:
-
a real-time acceleration module comprising a hardware-based network protocol processing component configured to accelerate network protocol processing in a steady state network connection performing functions including acknowledgement, windowing, and retransmission; and a non-real-time module comprising a software-based module configured to process exception aspects of network protocol processing; wherein the number of cycles used to complete protocol processing for each frame of steady state network traffic is between approximately 30-70 cycles.
-
-
34. A system for accelerating network protocol processing, the system comprising:
-
a real-time acceleration module comprising a hardware-based network protocol processing component configured to accelerate network protocol processing in a steady state network connection performing functions including acknowledgement, windowing, and retransmission; and a non-real-time module comprising a software-based module configured to process exception aspects of network protocol processing; wherein the real-time acceleration module is configured to perform network protocol processing in near real-time at near full line rate.
-
-
35. A system for accelerating network protocol processing, the system comprising:
-
a real-time acceleration module comprising a hardware-based network protocol processing component configured to accelerate network protocol processing in a steady state network connection performing functions including acknowledgement, windowing, and retransmission; and a non-real-time module comprising a software-based module configured to process exception aspects of network protocol processing; wherein the non-real-time module is configured to perform network protocol processing at a rate less than the real-time acceleration module.
-
Specification