Techniques for implementing remote direct memory access through a data processing unit

US2025156077A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2025156077-A1
Application numberUS-202418943133-A
CountryUS
Kind codeA1
Filing dateNov 11, 2024
Priority dateNov 11, 2023
Publication dateMay 15, 2025
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In various embodiments, a proxy application receives a first storage request from a proxy driver executing on a host node. The first storage request indicates a location within the shared storage system and a first address range associated with the host node. The proxy application converts the first storage request to a second storage request that indicates the location and a second address range associated with a proxy node. The proxy application transmits the second storage request to a storage driver that executes on the proxy node and is associated with the shared storage system. The storage driver invokes a remote direct memory access data transfer operation between the shared storage system and the host node to fulfill the first storage request.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computer-implemented method for processing requests to access a shared storage system, the method comprising: receiving a first storage request from a proxy driver executing on a host node, wherein the first storage request indicates a location within the shared storage system and a first address range associated with the host node; converting the first storage request to a second storage request that indicates the location and a second address range associated with a proxy node; and transmitting the second storage request to a storage driver that executes on the proxy node and is associated with the shared storage system, wherein the storage driver invokes a remote direct memory access (RDMA) data transfer operation between the shared storage system and the host node to fulfill the first storage request. 2 . The computer-implemented method of claim 1 , wherein converting the first storage request to the second storage request comprises mapping the first address range to the second address range. 3 . The computer-implemented method of claim 1 , wherein converting the first storage request to the second storage request comprises generating a shadow buffer that resides on the proxy node and represents a host buffer that resides on the host node and corresponds to the first address range. 4 . The computer-implemented method of claim 1 , wherein transmitting the second storage request to the storage driver comprises causing a virtual file system executing on the proxy node to route the second storage request to the storage driver based on the location. 5 . The computer-implemented method of claim 1 , wherein invoking the RDMA data transfer operation comprises converting the second storage request to an RDMA request that indicates the location, the first address range, and a remote key that exposes at least a portion of a physical memory included in the host node to the shared storage system. 6 . The computer-implemented method of claim 5 , wherein the remote key comprises a cross guest virtual machine identifier memory key that maps a host address space from a first protection domain associated with the host node to a second protection domain associated with the proxy node. 7 . The computer-implemented method of claim 1 , wherein invoking the RDMA data transfer operation comprises mapping the second address range to the first address range and a remote key that exposes at least a portion of a physical memory included in the host node to the shared storage system. 8 . The computer-implemented method of claim 1 , wherein invoking the RDMA data transfer operation comprises causing data to be copied from the shared storage system to the host node in accordance with the first storage request. 9 . The computer-implemented method of claim 1 , wherein the first storage request is issued by a software application executing on either a central processing unit included in the host node or a graphics processing unit included in the host node. 10 . The computer-implemented method of claim 1 , wherein the shared storage system comprises at least one of shared file storage, shared block storage, or object storage. 11 . One or more non-transitory computer readable media including instructions that, when executed by one or more processors, cause the one or more processors to process requests to access a shared storage system by performing the steps of: receiving a first storage request from a proxy driver executing on a host node, wherein the first storage request indicates a location within the shared storage system and a first address range associated with the host node; converting the first storage request to a second storage request that indicates the location and a second address range associated with a data processing unit (DPU); and transmitting the second storage request to a storage driver that executes on the DPU and is associated with the shared storage system, wherein the storage driver invokes a remote direct memory access (RDMA) data transfer operation between the shared storage system and the host node to fulfill the first storage request. 12 . The one or more non-transitory computer readable media of claim 11 , wherein converting the first storage request to the second storage request comprises mapping the first address range to the second address range. 13 . The one or more non-transitory computer readable media of claim 11 , wherein converting the first storage request to the second storage request comprises generating a shadow buffer that resides on the DPU and represents a host buffer that resides on the host node and corresponds to the first address range. 14 . The one or more non-transitory computer readable media of claim 11 , wherein the second storage request includes at least one of at least one of a path name or a file handle that corresponds to the location. 15 . The one or more non-transitory computer readable media of claim 11 , wherein invoking the RDMA data transfer operation comprises converting the second storage request to an RDMA request that indicates the location, the first address range, and a remote key that exposes at least a portion of a physical memory included in the host node to the shared storage system. 16 . The one or more non-transitory computer readable media of claim 15 , wherein the remote key indicates the first address range and is subordinate to a cross guest virtual machine identifier memory key. 17 . The one or more non-transitory computer readable media of claim 11 , wherein invoking the RDMA data transfer operation comprises mapping the second address range to the first address range and a remote key that exposes at least a portion of a physical memory included in the host node to the shared storage system. 18 . The one or more non-transitory computer readable media of claim 11 , wherein invoking the RDMA data transfer operation comprises causing data to be copied from the host node to the shared storage system in accordance with the first storage request. 19 . The one or more non-transitory computer readable media of claim 11 , wherein the second storage request is issued by a proxy application that resides in a user space of the DPU. 20 . A system comprising: one or more memories storing instructions; and one or more processors coupled to the one or more memories that, when executing the instructions, perform the steps of: receiving a first storage request from a proxy driver executing on a host node, wherein the first storage request indicates a location within a shared storage system and a first address range associated with the host node; converting the first storage request to a second storage request that indicates the location and a second address range associated with a data processing unit (DPU); and transmitting the second storage request to a storage driver that executes on the DPU and is associated with the shared storage system, wherein the storage driver invokes a remote direct memory access data transfer operation between the shared storage system and the host node to fulfill the first storage request.

Assignees

Inventors

Classifications

  • in a virtual system, e.g. with translation means · CPC title

  • Security improvement · CPC title

  • Distributed shared memory [DSM], e.g. remote direct memory access [RDMA] · CPC title

  • G06F3/0611Primary

    in relation to response time · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2025156077A1 cover?
In various embodiments, a proxy application receives a first storage request from a proxy driver executing on a host node. The first storage request indicates a location within the shared storage system and a first address range associated with the host node. The proxy application converts the first storage request to a second storage request that indicates the location and a second address ran…
Who is the assignee on this patent?
Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06F3/0611. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu May 15 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).