Memory system for a high performance IP processor
First Claim
1. A data processing apparatus for processing Internet Protocol (IP) data transfers during Internet sessions, said data processing apparatus comprising:
- a. at least one internal memory on said data processing apparatus containing as database entries, frequently or recently used Transmission Control Protocol/IP (TCP/IP) session information for processing said IP data transfers, wherein said data processing apparatus is configured to store and retrieve said TCP/IP session information for processing said IP data transfers stored in said at least one internal memory based on an index value;
b. a global memory on said data processing apparatus, said global memory coupled to said at least one internal memory and containing as database entries, TCP/IP session information for processing said IP data transfers, said TCP/IP session information contained in said global memory being less frequently used or less recently used than the TCP/IP session information contained in said at least one internal memory, wherein said data processing apparatus is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said global memory based on said index value; and
c. an additional memory located on said data processing apparatus, said additional memory containing as database entries, TCP/IP session information for processing said IP data transfers, said TCP/IP session information contained said additional memory being less frequently or less recently used than the TCP/IP session information contained in said global memory, wherein said data processing apparatus is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said additional memory based on said index value.
5 Assignments
0 Petitions
Accused Products
Abstract
A memory system for a high performance IP processor is disclosed. The memory system allows the architecture for an IP processor that may provide capabilities to transport and process Internet Protocol (IP) packets from Layer 2 through transport protocol layer and may also perform packet inspection through Layer 7. 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.
106 Citations
31 Claims
-
1. A data processing apparatus for processing Internet Protocol (IP) data transfers during Internet sessions, said data processing apparatus comprising:
-
a. at least one internal memory on said data processing apparatus containing as database entries, frequently or recently used Transmission Control Protocol/IP (TCP/IP) session information for processing said IP data transfers, wherein said data processing apparatus is configured to store and retrieve said TCP/IP session information for processing said IP data transfers stored in said at least one internal memory based on an index value; b. a global memory on said data processing apparatus, said global memory coupled to said at least one internal memory and containing as database entries, TCP/IP session information for processing said IP data transfers, said TCP/IP session information contained in said global memory being less frequently used or less recently used than the TCP/IP session information contained in said at least one internal memory, wherein said data processing apparatus is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said global memory based on said index value; and c. an additional memory located on said data processing apparatus, said additional memory containing as database entries, TCP/IP session information for processing said IP data transfers, said TCP/IP session information contained said additional memory being less frequently or less recently used than the TCP/IP session information contained in said global memory, wherein said data processing apparatus is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said additional memory based on said index value. - View Dependent Claims (31)
-
-
2. A system for Internet Protocol (IP) data transfers, said system comprising:
-
a host processor; and a hardware processor comprising at least one packet processor having an internal memory containing as database entries, frequently or recently used Transmission Control Protocol/IP (TCP/IP) session information for processing said data transfers, wherein said hardware processor is configured to offload maintenance of the TCP/IP session information from said host processor, and wherein said at least one packet processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers stored in said internal memory based on an index value. - View Dependent Claims (3, 4)
-
-
5. A system comprising:
-
a host processor; and a hardware processor coupled to said host processor, said hardware processor comprising at least one packet processor engine for Internet Protocol (IP) data transfers over an IP Network, said hardware processor comprising; a. a first memory internal to said at least one packet processor engine and containing as database entries frequently or recently used Transmission Control Protocol/IP (TCP/IP) session information for processing said IP data transfers, wherein said at least one packet processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said first internal memory based on an index value; b. a global memory located on said hardware processor, said global memory accessible by said at least one packet processor engine and containing as database entries, TCP/IP session information for processing said IP data transfers, said TCP/IP session information contained in said global memory being less frequently or less recently used than the IP session information contained in said first memory, wherein said at least one packet processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said global memory based on said index value; and c. a third memory located on said hardware processor, said third memory coupled to said global memory and containing as database entries, TCP/IP session information for processing said IP data transfers, said TCP/IP session information contained in said third memory being less frequently or less recently used than the TCP/IP session information contained in said global memory, wherein said at least one packet processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said third memory based on said index value.
-
-
6. A system for Internet data transfer on an Internet Protocol (IP) Network, said system comprising:
-
a host processor; and a hardware processor comprising at least one packet processor engine for processing said IP data transfers and further comprising a global memory located on said hardware processor, said global memory coupled to said at least one packet processor engine for use as a memory by said packet processor, said global memory containing as database entries Transmission Control Protocol/IP (TCP/IP) session information for processing said IP data transfers, said TCP/IP session information in said global memory being frequently or recently used information for said IP data transfers, wherein said hardware processor is configured to offload maintenance of the TCP/IP session information from said host processor, and wherein said hardware processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said global memory based on an index value. - View Dependent Claims (7)
-
-
8. A hardware processor having at least one packet processor engine for Internet Protocol (IP) data transfers over an IP Network, said hardware processor comprising:
-
a. a global memory located on said hardware processor, said global memory coupled to said at least one packet processor engine for use as a memory of said at least one packet processor engine, said global memory containing as database entries, Transmission Control Protocol/IP (TCP/IP) session information for processing said IP data transfers, said TCP/IP session information contained in said global memory being frequently or recently used TCP/IP session information for said IP data transfers, wherein said at least one packet processor engine is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said global memory based on an index value; and b. an additional memory located on said hardware processor and coupled to said global memory, said additional memory containing as database entries, TCP/IP session information being less frequently or less recently used than the TCP/IP session information contained in said global memory, wherein said at least one packet processor engine is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said additional memory based on an index value.
-
-
9. A system for Internet Protocol (IP) data transfers over IP networks during Internet sessions, said system comprising:
-
a host processor; a data processing apparatus configured to receive a command from said host processor; at least one internal memory on said data processing apparatus for containing as database entries frequently or recently used Transmission Control Protocol/IP (TCP/IP) session information for processing said IP data transfers, wherein said data processing apparatus is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said at least one internal memory based on an index value; and a global memory located on said data processing apparatus, said global memory coupled to said at least one internal memory and containing as database entries, TCP/IP session information for processing said (IP) data transfers, said TCP/IP session information contained in said global memory being less frequently or less recently used than the TCP/IP session information contained in said at least one internal memory, wherein said data processing apparatus is configured to store and retrieve said TCP/IP session information for processing said data transfers in said global memory based on said index value. - View Dependent Claims (10)
-
-
11. A data processing apparatus capable of processing Internet Protocol (IP) data transfers during Internet sessions, said data processing apparatus comprising:
-
a. at least one internal memory on said data processing apparatus containing as database entries, frequently or recently used Transmission Control Protocol/IP (TCP/IP) session information for processing said IP data transfers, wherein said data processing apparatus is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said at least one internal memory based on an index value; b. a global memory on said data processing apparatus, said global memory coupled to said at least one internal memory and containing as database entries, TCP/IP session information for processing said IP data transfers, said TCP/IP session information contained in said global memory being less frequently used or less recently used than the TCP/IP session information contained in said at least one internal memory, wherein said data processing apparatus is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said global memory based on said index value; and c. an additional memory located on said data processing apparatus, said additional memory containing as database entries, TCP/IP session information for processing said IP data transfers, said TCP/IP session information contained in said additional memory being less frequently or less recently used than the TCP/IP session information contained in said global memory, wherein the TCP/IP session information within one of said global memory and said additional memory comprises data related to a command received from a host processor, wherein said data processing apparatus is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said additional memory based on said index value.
-
-
12. A system comprising:
-
a host processor; and a hardware processor coupled to said host processor and configured to process Internet data packets in one or more sessions, said hardware processor including a session memory for storing frequently or recently used session information for a plurality of sessions, wherein said hardware processor is configured to offload maintenance of the session information from said host processor, and wherein said hardware processor is configured to store and retrieve TCP/IP session information for processing said Internet data packets in said session memory based on an index value.
-
-
13. A system comprising:
-
a host processor; and a hardware processor coupled to said host processor and configured to transfer Internet Protocol (IP) data on an IP Network in a Transmission Control Protocol (TCP)/IP (TCP/IP) session, a session memory containing as database entries, frequently or recently used TCP/IP session information for processing said data transfer, wherein said hardware processor is configured to offload maintenance of the TCP/IP session information from said host processor, and wherein said hardware processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said session memory based on an index value. - View Dependent Claims (14, 15)
-
-
16. For use in a processor for Internet Protocol (IP) data transfers over an IP Network in a Transmission Control Protocol/IP (TCP/IP) session, a memory system comprising:
-
a. a session memory containing as database entries frequently or recently used TCP/IP session information for processing said IP data transfers, wherein said processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said session memory based on an index value; b. a global memory accessible by said session memory and containing as database entries, TCP/IP session information for processing said IP data transfers, said IP session information contained in said global memory being less frequently or less recently used than the TCP/IP session information contained in said session memory, wherein said processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said global memory based on said index value; and c. a third memory accessible by said global memory and containing as database entries, TCP/IP session information for processing said IP data transfers, said TCP/IP session information contained in said third memory being less frequently or less recently used than the TCP/IP session information contained in said global memory, wherein said processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said third memory based on said index value.
-
-
17. A system comprising:
-
a host processor; and a hardware processor configured to execute a transport layer remote direct memory access (RDMA) protocol on an Internet Protocol (IP) Network for IP data transfers in a Transmission Control Protocol/IP (TCP/IP) session, said hardware processor comprising a session memory containing as database entries, frequently or recently used TCP/IP session information for processing said IP data transfers, wherein said hardware processor is configured to offload maintenance of the TCP/IP session information from said host processor, and wherein said hardware processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said session memory based on said index value. - View Dependent Claims (18, 19, 21)
-
-
20. A system comprising a processor configured to execute a transport layer remote direct memory access (RDMA) protocol over an Internet Protocol (IP) Network for IP data transfers in a Transmission Control Protocol/IP (TCP/IP) session, said processor comprising:
-
a. a session memory containing as database entries frequently or recently used TCP/IP session information for processing said IP data transfers, wherein said processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said session memory based on an index value; b. a global memory accessible by said session memory and containing as database entries, TCP/IP session information for processing said IP data transfers, said TCP/IP session information contained in said global memory being less frequently or less recently used than the TCP/IP session information contained in said session memory, wherein said processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said global memory based on said index value; and c. a third memory accessible by global memory and containing as database entries, TCP/IP session information for processing said IP data transfers, said TCP/IP session information contained in said third memory being less frequently or less recently used than the TCP/IP session information contained in said global memory, wherein said processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said third memory based on said index value.
-
-
22. A system comprising a hardware processor having at least one packet processor engine and capable of executing a transport layer remote direct memory access (RDMA) protocol over an Internet Protocol (IP) Network for IP data transfers, said hardware processor including:
-
a. a first memory internal to said at least one packet processor engine and containing as database entries frequently or recently used Transmission Control Protocol/IP (TCP/IP) session information for processing said IP data transfers, wherein said at least one packet processor engine is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said first internal memory based on an index value; b. a global memory located on said hardware processor, said global memory accessible by said at least one packet processor engine and containing as database entries, TCP/IP session information for processing said IP data transfers, said TCP/IP session information contained in said global memory being less frequently or less recently used than the TCP/IP session information contained in said first memory, wherein said at least one packet processor engine is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said global memory based on said index value; and c. a third memory located on said hardware processor, said third memory coupled to said global memory and containing as database entries, TCP/IP session information for processing said IP data transfers, said TCP/IP session information contained in said third memory being less frequently or less recently used than the TCP/IP session information contained in said global memory, wherein said at least one packet processor engine is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said third memory based on said index value.
-
-
23. A system comprising:
-
a host processor; and a hardware processor coupled to said host processor and configured to execute a transport layer remote direct memory access (RDMA) protocol on an Internet Protocol (IP) Network for Internet data transfer, said hardware processor including at least one packet processor engine for processing said data transfer, and further comprising a global memory located on said hardware processor, said global memory coupled to said at least one packet processor engine for use as a memory by said at least one packet processor engine, said global memory containing as database entries Transmission Control Protocol/IP (TCP/IP) session information for processing said data transfer, said TCP/IP session information in said global memory being frequently or recently used information for said data transfer, wherein said hardware processor is configured to offload maintenance of the TCP/IP session information from said host processor, and wherein said hardware processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said global memory based on an index value. - View Dependent Claims (24)
-
-
25. A hardware processor comprising at least one packet processor engine and capable of executing a transport layer remote direct memory access (RDMA) protocol over an Internet Protocol (IP) Network for IP data transfers, said hardware processor comprising:
-
a. a global memory located on or off said hardware processor, said global memory coupled to said at least one packet processor engine for use as a memory of said at least one packet processor, said global memory containing as database entries, Transmission Control Protocol/IP (TCP/IP) session information for processing said IP data transfers, said TCP/IP session information contained in said global memory being frequently or recently used TCP/IP session information for said data transfers, wherein said hardware processor is configured to store and retrieve said TCP/IP session information for processing said data transfers in said global memory based on an index value; and b. an additional memory located on or off the hardware processor and coupled to said global memory, said additional memory containing as database entries, TCP/IP session information being less frequently or less recently used than the TCP/IP session information contained in said global memory, wherein said hardware processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said additional memory based on said index value.
-
-
26. A system comprising:
-
a host processor; a data processing apparatus coupled to said host processor and configured to execute a transport layer remote direct memory access (RDMA) protocol over Internet Protocol (IP) networks for IP data transfers during Internet sessions; at least one internal memory on said data processing apparatus for containing as database entries frequently or recently used Transmission Control Protocol/IP (TCP/IP) session information for processing said IP data transfers, wherein said data processing apparatus is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said at least one internal memory based on an index value; and a global memory located on said data processing apparatus, said global memory coupled to said at least one internal memory and containing as database entries, TCP/IP session information for processing said IP data transfers, said TCP/IP session information contained in said global memory being less frequently or less recently used than the TCP/IP session information contained in said at least one internal memory, wherein said data processing apparatus is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said global memory based on said index value. - View Dependent Claims (27)
-
-
28. A system comprising:
-
a host processor; and a hardware processor configured to receive a command from said host processor and configured to execute a transport layer remote direct memory access (RDMA) protocol on an Internet Protocol (IP) Network for IP data transfers in Transmission Control Protocol/IP (TCP/IP) session, a session memory containing as database entries, frequently or recently used TCP/IP session information for processing said IP data transfers, wherein said hardware processor is configured to offload maintenance of the TCP/IP session information from said host processor, and wherein said hardware processor is configured to store and retrieve said TCP/IP session information for processing said IP data transfers in said session memory based on an index value. - View Dependent Claims (29, 30)
-
Specification