IP Library Granted Patent US 10,936,200
Granted Patent B2
US 10,936,200 · App. 16/270,239 · Granted Mar 2, 2021

System and method for improved RDMA techniques for multi-host network interface controllers

Inventors: Yaniv Romem (Jerusalem, IL); Omri Mann (Jerusalem, IL); Ofer Oshri (Kfar Saba, IL); Kirill Shoikhet (Raanana, IL)
Assignee: EXCELERO STORAGE LTD.
G06F3/0611G06F3/0604G06F3/064G06F3/065G06F3/067G06F3/0637G06F3/0647G06F3/0652G06F3/0659G06F3/0688G06F3/0689G06F12/1081G06F15/167G06F15/17331H04L12/06H04L12/6418H04L67/1097G06F2212/65
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,936,200
App. No.
16/270,239
Granted
Mar 2, 2021
Kind
B2
Abstract

A system and method for improved remote direct memory access (RDMA) for multi-host network interface controllers (NIC), the method including: allocating a first key to a first host, the first key corresponding to a first address of a memory device of the first host; and allocating the first key to a second host, wherein the second host is an RDMA NIC (rNIC) configured to offload at least a portion of storage operations from the first host.

Claims (29)

1. A method for improved remote direct memory access (RDMA) for multi-host network interface controllers (NIC), the method comprising:

allocating a first key to a first host, the first key corresponding to a first memory address of a memory device of the first host;

allocating the first key to a second host, wherein the second host is an RDMA NIC (rNIC) configured to offload at least a portion of storage operations from the first host;

receiving from the first host a request to perform a storage read of a first storage block on a remote storage server, the request comprising the first key; and

sending an RDMA message to the remote storage server from the second host with the first key, such that the rNIC will write the content read from the first storage block on the first memory address associated with the first key.

2. The method of claim 1 , further comprising:

receiving from the first host a request to perform a storage write of a first storage block on a remote storage server, the request comprising the first key; and

sending an RDMA message to the remote storage server from the second host with the first key, so that the rNIC will write the content read from the first memory address associated with the first key on the first storage block.

3. The method of claim 1 , wherein the first host is a virtual host.

4. The method of claim 1 , comprising a plurality of first hosts.

5. The method of claim 4 , wherein one first host communicates using a first RDMA protocol, and at least another first host communicates using a second RDMA protocol.

6. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to perform a process, the process comprising:

allocating a first key to a first host, the first key corresponding to a first memory address of a memory device of the first host;

allocating the first key to a second host, wherein the second host is an RDMA NIC (rNIC) configured to offload at least a portion of storage operations from the first host;

receiving from the first host a request to perform a storage read of a first storage block on a remote storage server, the request comprising the first key; and

sending an RDMA message to the remote storage server from the second host with the first key, such that the rNIC will write the content read from the first storage block on the first memory address associated with the first key.

7. A system for multi-host network interface controllers (NIC), comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

allocate a first key to a first host, the first key corresponding to a first memory address of a memory device of the first host;

allocate the first key to a second host, wherein the second host is an RDMA NIC (rNIC) configured to offload at least a portion of storage operations from the first host;

receive from the first host a request to perform a storage write of a first storage block on a remote storage server, the request comprising the first key; and

send an RDMA message to the remote storage server from the second host with the first key, so that the rNIC will write the content read from the first memory address associated with the first key on the first storage block.

8. The system of claim 7 , wherein the system is further configured to:

receive from the first host a request to perform a storage read of a first storage block on a remote storage server, the request comprising the first key; and

send an RDMA message to the remote storage server from the second host with the first key, such that the rNIC will write the content read from the first storage block on the first memory address associated with the first key.

9. The system of claim 7 , wherein the first host is a virtual host.

10. The system of claim 7 , further comprising a plurality of first hosts.

11. The system of claim 10 , wherein one first host communicates using a first RDMA protocol, and at least another first host communicates using a second RDMA protocol.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2022
From: EXCELERO STORAGE LTD.
To: NVIDIA CORPORATION
Reel/Frame 059249/0950 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2019
From: ROMEM, YANIV; MANN, OMRI; OSHRI, OFER; SHOIKHET, KIRILL
To: EXCELERO STORAGE LTD.
Reel/Frame 048270/0163 →
Continuity (14)
Continuation In Part 15975379 · May 9, 2018
Continuation 14726919 · Jun 1, 2015
Continuation 16270239
Continuation In Part 15684439 · Aug 23, 2017
Continuation In Part 14934830 · Nov 6, 2015
Provisional Application 62629825 · Feb 13, 2018
Provisional Application 62381011 · Aug 29, 2016
Provisional Application 62172265 · Jun 8, 2015
Provisional Application 62126920 · Mar 2, 2015
Provisional Application 62119412 · Feb 23, 2015
Provisional Application 62096908 · Dec 26, 2014
Provisional Application 62085568 · Nov 30, 2014
Provisional Application 62030700 · Jul 30, 2014
Related Publication 20190187916A1 · Jun 20, 2019
Cited By (1)
US 12,461,793