Direct access persistent memory shared storage
First Claim
1. A method for providing one or more database servers with direct access to at least part of a database stored persistently in a storage server, the method comprising:
- generating, for a remote direct access memory enabled network interface controller (RNIC) of said storage server, registration information that associates an access key with a target region in persistent random access memory (PRAM) of said storage server;
storing the registration information in a cache that is associated with the RNIC;
sending the access key to a database server of the one or more database servers;
receiving, by the RNIC, a remote direct memory access (RDMA) message from the database server that includes the access key;
wherein the RDMA message identifies, based at least on the access key, a memory location within the target region where a data object within the database is persistently stored;
determining, by the RNIC using the registration information and based at least in part on the access key, an address within the target region in PRAM;
performing, by the RNIC, a direct memory access at the address within the target region of PRAM without communicating with a storage controller for the storage server while performing said direct memory access.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for providing one or more remote nodes with direct access to persistent random access memory (PRAM). In an embodiment, registration information is generated for a remote direct access enabled network interface controller (RNIC). The registration information associates an access key with a target region in PRAM. The access key is sent to a remote node of the one or more nodes. The RNIC may subsequently receive a remote direct memory access (RDMA) message from the remote node that includes the access key. In response to the RDMA message, the RNIC performs a direct memory access within the target region of PRAM.
34 Citations
21 Claims
-
1. A method for providing one or more database servers with direct access to at least part of a database stored persistently in a storage server, the method comprising:
-
generating, for a remote direct access memory enabled network interface controller (RNIC) of said storage server, registration information that associates an access key with a target region in persistent random access memory (PRAM) of said storage server; storing the registration information in a cache that is associated with the RNIC; sending the access key to a database server of the one or more database servers; receiving, by the RNIC, a remote direct memory access (RDMA) message from the database server that includes the access key; wherein the RDMA message identifies, based at least on the access key, a memory location within the target region where a data object within the database is persistently stored; determining, by the RNIC using the registration information and based at least in part on the access key, an address within the target region in PRAM; performing, by the RNIC, a direct memory access at the address within the target region of PRAM without communicating with a storage controller for the storage server while performing said direct memory access. - View Dependent Claims (2, 3, 4, 5, 6, 7, 19)
-
-
8. One or more non-transitory computer-readable media storing sequences of instructions that, in response to being executed by one or more processors, cause:
-
generating, for a remote direct access memory enabled network interface controller (RNIC) of a storage server, registration information that associates an access key with a target region in persistent random access memory (PRAM) of the storage server; wherein the PRAM stores at least part of a database; storing the registration information in a cache that is associated with the RNIC; sending the access key to a database server of one or more database servers; receiving, at the RNIC, a remote direct memory access (RDMA) message from the database server that includes the access key; wherein the RDMA message identifies, based at least on the access key, a memory location within the target region where a data object within the database is persistently stored; determining, by the RNIC using the registration information and based at least in part on the access key, an address within the target region in PRAM; performing, by the RNIC for the database server, a direct memory access at the address within the target region of PRAM without communicating with a storage controller for the storage server while performing said direct memory access. - View Dependent Claims (9, 10, 11, 12, 13, 14, 20)
-
-
15. A storage server for providing one or more database servers with direct access to at least part of a database stored persistently by the storage server, the storage server comprising:
-
one or more central processing units (CPUs); persistent random access memory (PRAM) of a storage server; wherein the PRAM stores at least part of a database; a remote direct access memory enabled network interface controller (RNIC) configured to; store registration information that associates an access key with a target region in PRAM; send the access key to a database server of the one or more database servers; receive a remote direct memory access (RDMA) message from the database server that includes the access key; wherein the RDMA message identifies, based at least on the access key, a memory location within the target region where a data object within the database is persistently stored; determine, using the registration information and based at least in part on the access key, an address the target region in PRAM; perform, for the database server, a direct memory access at the address within the target region in PRAM without communicating with a storage controller for the storage server while performing said direct memory access. a bus interconnecting the one or more CPUs, the PRAM, and the RNIC. - View Dependent Claims (16, 17, 18, 21)
-
Specification