摘要:
A network acceleration architecture for use with TCP, iSCSI and/or RDMA over TCP, including a hardware acceleration engine adapted for communication with and processing data from a consumer application in a system that supports TCP, iSCSI and RDMA over TCP, a software protocol processor adapted for carrying out TCP implementation, and an asynchronous dual-queue interface for exchanging information between the hardware acceleration engine and the software protocol processor, wherein the hardware acceleration engine and the software protocol processor are adapted to operate asynchronously and independently of one another.
摘要翻译:一种用于TCP,iSCSI和/或RDMA over TCP的网络加速架构,包括适用于与支持TCP,iSCSI和RDMA over TCP的系统中的消费者应用程序通信和处理数据的硬件加速引擎,软件协议处理器 适用于执行TCP实现,以及用于在硬件加速引擎和软件协议处理器之间交换信息的异步双队列接口,其中硬件加速引擎和软件协议处理器适于彼此异步地且独立地操作。
摘要:
A method for receiving data in a network acceleration architecture for use with TCP (transport control protocol), iSCSI (Internet Small Computer System Interface) and RDMA (Remote Direct Memory Access) over TCP, including providing a hardware acceleration engine, called a streamer, adapted for communication with and processing data from a consumer application in a system that supports TCP, iSCSI and RDMA over TCP, providing a software protocol processor adapted for carrying out TCP implementation, the software control processor being called a TCE (TCP Control Engine), and providing an asynchronous dual-queue interface for exchanging information between the streamer and TCE, wherein the streamer and TCE are adapted to operate asynchronously and independently of one another.
摘要翻译:一种用于在TCP(传输控制协议),iSCSI(因特网小型计算机系统接口)和RDMA(远程直接存储器访问)TCP上使用的网络加速架构中接收数据的方法,包括提供称为流传输器的硬件加速引擎, 适用于与支持TCP,iSCSI和RDMA over TCP的系统中的消费者应用程序进行通信和处理数据,提供适于执行TCP实现的软件协议处理器,称为TCE(TCP控制引擎)的软件控制处理器, 以及提供用于在流传送器和TCE之间交换信息的异步双队列接口,其中,所述流送器和TCE适于彼此异步地且彼此独立地操作。
摘要:
A method for receiving data in a network acceleration architecture for use with TCP (transport control protocol), iSCSI (Internet Small Computer System Interface) and/or RDMA (Remote Direct Memory Access) over TCP, including providing a hardware acceleration engine, called a streamer, adapted for communication with and processing data from a consumer application in a system that supports TCP, iSCSI and RDMA over TCP, providing a software protocol processor adapted for carrying out TCP implementation, the software control processor being called a TCE (TCP Control Engine), wherein the streamer and the TCE are adapted to operate asynchronously and independently of one another, and transmitting a TCP segment with the streamer.
摘要:
A computer program product is provided. The product including a computer readable storage medium including computer readable program code for controlling access to computer memory. the computer readable program code including first instructions for communicating work queue elements with an application layer and with a verb layer, wherein the application layer and the verb layer each may request a completion notification to determine whether a work queue elements with an application layer and with a verb layer, wherein the application layer and the verb layer each may request a completion notification to determine whether a work queue element has been completed, and second instructions for indicating completion of the work queue elemens in response to the layer requesting completion notification, wherein both the application layer and the verb layer are capable of checking if at least one of the work queue elements is completed, independently of each other, such that the application layer does not interface with the verb layer to determine completion status of the work queue elements; wherein communicating work queue elements includes communicating a consumer work request comprising an application request bit, adapted to indicate an application request for completion notification, and a verb request bit, adapted to indicate a verb request for completion notification; wherein if the application request bit is set, then a completion queue element is provided that indicates completion of the communicated consumer work request and if the verb request bit is set, then a status field of the communicated work queue element is updated to indicate completion of the communicated work queue element; wherein the application layer queries the completion queue element to find out if the communicated consumer work request is completed and the verb layer queries the status field of the communicated work queue element to find out if the communicated work queue element is completed, and wherein the work queue elements are stored in a work queue and the completion queue elements are stored in a completion queue such that the work queue and the completion queue elements are located in different address spaces, each independently accessible to the application layer and the verb layer.
摘要:
An RNIC implementation that performs direct data placement to memory where all segments of a particular connection are aligned, or moves data through reassembly buffers where all segments of a particular connection are non-aligned. The type of connection that cuts-through without accessing the reassembly buffers is referred to as a “Fast” connection because it is highly likely to be aligned, while the other type is referred to as a “Slow” connection. When a consumer establishes a connection, it specifies a connection type. The connection type can change from Fast to Slow and back. The invention reduces memory bandwidth, latency, error recovery using TCP retransmit and provides for a “graceful recovery” from an empty receive queue. The implementation also may conduct CRC validation for a majority of inbound DDP segments in the Fast connection before sending a TCP acknowledgement (Ack) confirming segment reception.
摘要:
A method for receiving data in a network acceleration architecture for use with TCP (transport control protocol), iSCSI (Internet Small Computer System Interface) and/or RDMA (Remote Direct Memory Access) over TCP, including providing a hardware acceleration engine, called a streamer, adapted for communication with and processing data from a consumer application in a system that supports TCP, iSCSI and RDMA over TCP, providing a software protocol processor adapted for carrying out TCP implementation, the software control processor being called a TCE (TCP Control Engine), wherein the streamer and the TCE are adapted to operate asynchronously and independently of one another, and transmitting a TCP segment with the streamer.
摘要:
An RNIC implementation that performs direct data placement to memory where all segments of a particular connection are aligned, or moves data through reassembly buffers where all segments of a particular connection are non-aligned. The type of connection that cuts-through without accessing the reassembly buffers is referred to as a “Fast” connection because it is highly likely to be aligned, while the other type is referred to as a “Slow” connection. When a consumer establishes a connection, it specifies a connection type. The connection type can change from Fast to Slow and back. The invention reduces memory bandwidth, latency, error recovery using TCP retransmit and provides for a “graceful recovery” from an empty receive queue. The implementation also may conduct CRC validation for a majority of inbound DDP segments in the Fast connection before sending a TCP acknowledgement (Ack) confirming segment reception.
摘要:
A method for receiving data in a network acceleration architecture for use with TCP (transport control protocol), iSCSI (Internet Small Computer System Interface) and RDMA (Remote Direct Memory Access) over TCP, including providing a hardware acceleration engine, called a streamer, adapted for communication with and processing data from a consumer application in a system that supports TCP, iSCSI and RDMA over TCP, providing a software protocol processor adapted for carrying out TCP implementation, the software control processor being called a TCE (TCP Control Engine), wherein the streamer and the TCE are adapted to operate asynchronously and independently of one another, and receiving an inbound TCP segment with the streamer.
摘要翻译:一种用于在TCP(传输控制协议),iSCSI(因特网小型计算机系统接口)和RDMA(远程直接存储器访问)TCP上使用的网络加速架构中接收数据的方法,包括提供称为流传输器的硬件加速引擎, 适用于与支持TCP,iSCSI和RDMA over TCP的系统中的消费者应用程序进行通信和处理数据,提供适于执行TCP实现的软件协议处理器,称为TCE(TCP控制引擎)的软件控制处理器, 其中所述流送器和所述TCE适于彼此异步地且独立地操作,并且与所述流送器接收入站TCP段。
摘要:
An RNIC implementation that performs direct data placement to memory where all segments of a particular connection are aligned, or moves data through reassembly buffers where all segments of a particular connection are non-aligned. The type of connection that cuts-through without accessing the reassembly buffers is referred to as a “Fast” connection because it is highly likely to be aligned, while the other type is referred to as a “Slow” connection. When a consumer establishes a connection, it specifies a connection type. The connection type can change from Fast to Slow and back. The invention reduces memory bandwidth, latency, error recovery using TCP retransmit and provides for a “graceful recovery” from an empty receive queue. The implementation also may conduct CRC validation for a majority of inbound DDP segments in the Fast connection before sending a TCP acknowledgement (Ack) confirming segment reception.
摘要:
A method for receiving data in a network acceleration architecture for use with TCP (transport control protocol), iSCSI (Internet Small Computer System Interface) and RDMA (Remote Direct Memory Access) over TCP, including providing a hardware acceleration engine, called a streamer, adapted for communication with and processing data from a consumer application in a system that supports TCP, iSCSI and RDMA over TCP, providing a software protocol processor adapted for carrying out TCP implementation, the software control processor being called a TCE (TCP Control Engine), and providing an asynchronous dual-queue interface for exchanging information between the streamer and TCE, wherein the streamer and TCE are adapted to operate asynchronously and independently of one another.
摘要翻译:一种用于在TCP(传输控制协议),iSCSI(因特网小型计算机系统接口)和RDMA(远程直接存储器访问)TCP上使用的网络加速架构中接收数据的方法,包括提供称为流传输器的硬件加速引擎, 适用于与支持TCP,iSCSI和RDMA over TCP的系统中的消费者应用程序进行通信和处理数据,提供适于执行TCP实现的软件协议处理器,称为TCE(TCP控制引擎)的软件控制处理器, 以及提供用于在流传送器和TCE之间交换信息的异步双队列接口,其中,所述流送器和TCE适于彼此异步地且彼此独立地操作。