High performance IP processor using RDMA
First Claim
1. A method of using a hardware-implemented processor for enabling storage or retrieval of data in a memory subsystem comprising flash memory, in a target system comprising a host processor and coupled to a TCP/IP network consisting of TCP/IP protocol and comprising a transport layer and a network layer wherein the transport layer and network layer consist of TCP/IP, the method comprising:
- (a) receiving a request to register a region of flash memory from an application running on the target system;
(b) making the region of flash memory available to one or more peers of the application running on the target system that made the request;
(c) receiving data packets, by the hardware-implemented processor, via the network consisting of TCP/IP, at the target system;
(d) receiving a remote direct memory access request in the data packets transmitted via the network consisting of TCP/IP, the remote direct memory access request including a location of a region of flash memory registered for the remote direct access memory operation;
(e) in response to the receiving acts in parts (c) and (d), storing data to or retrieving data from the memory subsystem comprising flash memory with the hardware-implemented processor, without the host processor controlling memory access during the storing or retrieving; and
(f) wherein the remote direct memory access request specifies the data stored or retrieved.
4 Assignments
0 Petitions
Accused Products
Abstract
An architecture provides capabilities to transport and process Internet Protocol (IP) packets from Layer 2 through transport protocol layer and may also provide packet inspection through Layer 7. A set of engines may perform pass-through packet classification, policy processing and/or security processing enabling packet streaming through the architecture at nearly the full line rate. A scheduler schedules packets to packet processors for processing. An internal memory or local session database cache stores a session information database for a certain number of active sessions. The session information that is not in the internal memory is stored and retrieved to/from an additional memory. An application running on an initiator or target can in certain instantiations register a region of memory, which is made available to its peer(s) for access directly without substantial host intervention through RDMA data transfer.
-
Citations
20 Claims
-
1. A method of using a hardware-implemented processor for enabling storage or retrieval of data in a memory subsystem comprising flash memory, in a target system comprising a host processor and coupled to a TCP/IP network consisting of TCP/IP protocol and comprising a transport layer and a network layer wherein the transport layer and network layer consist of TCP/IP, the method comprising:
-
(a) receiving a request to register a region of flash memory from an application running on the target system; (b) making the region of flash memory available to one or more peers of the application running on the target system that made the request; (c) receiving data packets, by the hardware-implemented processor, via the network consisting of TCP/IP, at the target system; (d) receiving a remote direct memory access request in the data packets transmitted via the network consisting of TCP/IP, the remote direct memory access request including a location of a region of flash memory registered for the remote direct access memory operation; (e) in response to the receiving acts in parts (c) and (d), storing data to or retrieving data from the memory subsystem comprising flash memory with the hardware-implemented processor, without the host processor controlling memory access during the storing or retrieving; and (f) wherein the remote direct memory access request specifies the data stored or retrieved. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of using a hardware-implemented processor for enabling storage or retrieval of data in a flash memory subsystem, in a target system comprising a host processor and coupled to a TCP/IP network consisting of TCP/IP protocol and comprising a transport layer and a network layer wherein the transport layer and network layer consist of TCP/IP, the method comprising:
-
(a) receiving a request to register a region of the flash memory from an application running on the target system; (b) making the region of the flash memory available to one or more peers of the application running on the target system that made the request; (c) receiving data packets, by the hardware-implemented processor, via the network consisting of TCP/IP, at the target system; (d) receiving a remote direct memory access request in the data packets transmitted via the network consisting of TCP/IP, the remote direct memory access request including the location of a region of flash memory registered for the remote direct access memory operation; (e) in response to the receiving acts in parts (c) and (d), storing data to or retrieving data from the flash memory subsystem with the hardware-implemented processor, without the host processor controlling flash memory access during the storing or retrieving; and (f) wherein the remote direct memory access request specifies the data stored or retrieved. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of using a hardware-implemented processor for enabling storage or retrieval of data in a flash memory subsystem, in a target system comprising a host processor and coupled to an IP a network comprising a transport layer and a network layer wherein the transport layer and network layer are TCP/IP, the method comprising:
-
(a) receiving data packets, via the TCP/IP network, at the target system; (b) receiving a remote direct memory access request in the data packets transmitted via the TCP/IP network; (c) in response to the receiving acts in parts (a) and (b), storing data to or retrieving data from the flash memory subsystem with the hardware-implemented processor, substantially without the host processor controlling memory access during for the storing or retrieving; and (d) wherein the remote direct memory access request specifies the data stored or retrieved. - View Dependent Claims (18, 19, 20)
-
Specification