IP Library Granted Patent US 10,788,992
Granted Patent B2
US 10,788,992 · App. 15/975,379 · Granted Sep 29, 2020

System and method for efficient access for remote storage devices

Inventors: Yaniv Romem (Jerusalem, IL); Omri Mann (Jerusalem, IL); Ofer Oshri (Kfar Saba, 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,788,992
App. No.
15/975,379
Granted
Sep 29, 2020
Kind
B2
Abstract

A client device for accessing remote storage devices. The client device includes: a processing unit communicatively connected to: a network interface and a memory; the network interface configured to communicatively connect the client device to a network comprising the client device and a storage server, the storage server comprising one or more storage devices, a remote direct memory access network interface controller (rNIC), and a primary processing unit; the memory containing instructions, that, when executed by the processing unit, configure the client device to: send an input/output (I/O) request for a storage device of the one or more storage devices; receive an indication from the rNIC based on the sent I/O request, the indication including an interrupt generated by the rNIC in response to the I/O request.

Claims (23)

1. A client device for accessing remote storage devices, the client device comprising:

a processing unit communicatively connected to a network interface and a memory;

wherein the network interface is configured to communicatively connect the client device to a network comprising the client device and a storage server, the storage server comprising at least one storage device, a remote direct memory access network interface controller (rNIC), and a primary processing unit;

the memory containing instructions, that, when executed by the processing unit, configure the client device to:

send an input/output (I/O) request for a storage device of the one or more storage devices;

receive an indication from the rNIC based on the sent I/O request, the indication including an interrupt generated by the rNIC in response to the I/O request, wherein the indication received from the rNIC indicates if the I/O request has been either completed or not completed, wherein the interrupt is generated by the rNIC in response to the rNIC sending the I/O request to the storage device and intercepting, from the storage device, a response respective of the I/O request intended for the primary processing unit.

2. The client device of claim 1 , wherein the I/O request includes at least one of: a storage device identifier, a storage block, a storage address, and data to be written to at least one of the at least one storage device.

3. The client device of claim 1 , wherein the indication is received before the I/O request has been executed in its entirety by the storage device.

4. The client device of claim 1 , wherein the client device is further configured to:

receive a response respective of the I/O request.

5. The client device of claim 4 , wherein the received response is stored directly in the memory of the client device.

6. The client device of claim 1 , wherein the client device is configured to support remote direct memory access (RDMA) protocol by the rNIC.

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

sending an input/output (I/O) request for a storage device of at least one storage device over a network connection; and

receiving an indication from a remote direct memory access network interface controller (rNIC), the indication including an interrupt generated by the rNIC in response to the I/O request, wherein the indication received from the rNIC indicates if the I/O request has been either completed or not completed, wherein the interrupt is generated by the rNIC in response to the rNIC sending the I/O request to the storage device and intercepting, from the storage device, a response respective of the I/O request intended for the primary processing unit.

8. A method for providing a client device remote access to a storage server controlling at least one storage device by a network interface controller (NIC) comprising a processor, a first memory and a second memory, the method comprising:

sending an input/output (I/O) request for a storage device of at least one storage device over a network connection; and

receiving an indication from a remote direct memory access network interface controller (rNIC), the indication including an interrupt generated by the rNIC in response to the I/O request, wherein the indication received from the rNIC indicates if the I/O request has been either completed or not completed, wherein the interrupt is generated by the rNIC in response to the rNIC sending the I/O request to the storage device and intercepting, from the storage device, a response respective of the I/O request intended for the primary processing unit.

9. The method of claim 8 , wherein the I/O request includes at least one of: a storage device identifier, a storage block, a storage address, and data to be written to at least one of the at least one storage device.

10. The method of claim 8 , wherein the indication received from the rNIC indicates if the I/O request has been either completed or not completed.

11. The method of claim 8 , wherein the indication is received before the I/O request has been executed in its entirety by the storage device.

12. The method of claim 8 , further comprising:

receiving a response respective of the I/O request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2022
From: EXCELERO STORAGE LTD.
To: NVIDIA CORPORATION
Reel/Frame 059249/0950 →
Continuity (7)
Continuation 14726919 · Jun 1, 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 20180260139A1 · Sep 13, 2018