IP Library Granted Patent US 11,734,223
Granted Patent B2
US 11,734,223 · App. 17/023,700 · Granted Aug 22, 2023

NVMe-over-fabrics gateway system

Inventors: Ramesh Kumar Subbiah (Chennai, IN); Vibin Varghese (Chennai, IN)
Assignee: Dell Products L.P.
G06F15/17331G06F13/1668H04L49/357H04L61/59H04L67/1097H04L67/2871H04L69/08H04L69/326
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 11,734,223
App. No.
17/023,700
Granted
Aug 22, 2023
Kind
B2
Abstract

An NVMeoF gateway system includes a physical host device that communicates using a host NVMeoF protocol, and a physical target device that communicates using a target NVMeoF protocol. A networking device generates proxy host and target devices that are included in the same zone for the physical host and target devices, respectively. The networking device then converts first host NVMeoF protocol communications from the physical host device to first target NVMeoF protocol communications and provides them to the physical target device using the proxy host device, and converts second target NVMeoF protocol communications from the physical target device to second host NVMeoF protocol communications and provides them to the physical host device using the proxy target device. The first target NVMeoF protocol communications and the second host NVMeoF protocol communications configure the physical host device to exchange data with the physical target device.

Claims (100)

1. A Non-Volatile Memory express (NVMe) over Fabrics (NVMeoF) gateway system, comprising:

a physical host device that is configured to communicate using a host Non-Volatile Memory express (NVMe) over Fabrics (NVMeoF) protocol;

a physical target device that is configured to communicate using a target NVMeoF protocol that is different than host NVMeoF protocol; and

a networking device coupled to the physical host device and the physical target device, wherein the networking device is configured to:

generate a proxy target device for the physical target device that includes a proxy target address;

exchange, with the physical host device, discover command communications that identify the proxy target address to the physical host device;

establish, based on the discover command communications, a connection between the physical host device and the proxy target device;

generate a proxy host device for the physical host device;

receive, from the physical host device, the proxy target address;

perform, in response to receiving the proxy target address from the physical host device, zoning operations to create a zone that includes the proxy host device and the proxy target device;

convert first host NVMeoF protocol communications received from the physical host device to first target NVMeoF protocol communications by:

converting an initialize connection request to an NVMe create association Link Service (LS); and

converting a connect request to an NVMe connect LS;

provide the first target NVMeoF protocol communications to the physical target device using the proxy host device;

convert second target NVMeoF protocol communications received from the physical target device to second host NVMeoF protocol communications by:

converting an NVMe create association LS response to an initialize connection response; and

converting an NVMe connect LS response to a connect response; and

provide the second host NVMeoF protocol communications to the physical host device using the proxy target device,

wherein the first target NVMeoF protocol communications and the second host NVMeoF protocol communications configure the physical host device to store data on the physical target device and retrieve data from the physical target device.

2. The system of claim 1 , wherein the host NVMeoF protocol is a Transmission Control Protocol (TCP)-based NVMeoF (NVMeoF(TCP)) protocol.

3. The system of claim 1 , wherein the target NVMeoF protocol is a Fibre Channel (FC)-based NVMeoF (NVMeoF(FC)) protocol.

4. The system of claim 1 , wherein the networking device is configured to generate the proxy host device and the proxy target device by:

receiving a fabric login/name server registration communication from the physical target device;

generating, in response to receiving the fabric login/name server registration communication, the proxy target address;

receiving, from the physical host device as part of the discover command communications, a discover command that identifies the target proxy address;

generating, in response to receiving the discover command, a host proxy World Wide Name (WWN) for the physical host device;

logging the host proxy WWN into a fabric that includes the physical target device; and

registering the host proxy WWN.

5. The system of claim 4 , wherein the zoning operations include:

creating a Target Driven Zoning (TDZ) zone that includes the host proxy WWN as a principal and a target proxy WWN for the physical target device as a member.

6. The system of claim 1 , wherein the first target NVMeoF protocol communications and the second host NVMeoF protocol communications operate to:

establish an administrative queue for the physical target device;

use the administrative queue to create a plurality of Input/Output (I/O) queues for the physical target device; and

perform read operations and write operations using the I/O queues for the physical target device.

7. An Information Handling System (IHS), comprising:

a processing system; and

a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a gateway engine that is configured to:

generate a proxy target device for a physical target device that is coupled to the processing system, wherein the proxy target device includes a proxy target address;

exchange, with the physical host device, discover command communications that identify the proxy target address to the physical host device;

establish, based on the discover command communications, a connection between the physical host device and the proxy target device;

generate a proxy host device for the physical host device;

receive, from the physical host device, the proxy target address;

perform, in response to receiving the proxy target address from the physical host device, zoning operations to create a zone that includes the proxy host device and the proxy target device;

convert first host Non-Volatile Memory express (NVMe) over Fabrics (NVMeoF) protocol communications received from the physical host device to first target NVMeoF protocol communications by:

converting an initialize connection request to an NVMe create association Link Service (LS); and

converting a connect request to an NVMe connect LS;

provide the first target NVMeoF protocol communications to the physical target device using the proxy host device; and

convert second target NVMeoF protocol communications received from the physical target device to second host NVMeoF protocol communications by:

converting an NVMe create association LS response to an initialize connection response; and

converting an NVMe connect LS response to a connect response; and

provide the second host NVMeoF protocol communications to the physical host device using the proxy target device,

wherein the first target NVMeoF protocol communications and the second host NVMeoF protocol communications configure the physical host device to store data on the physical target device and retrieve data from the physical target device.

8. The IHS of claim 7 , wherein the host NVMeoF protocol is a Transmission Control Protocol (TCP)-based NVMeoF (NVMeoF(TCP)) protocol.

9. The IHS of claim 7 , wherein the target NVMeoF protocol is a Fibre Channel (FC)-based NVMeoF (NVMeoF(FC)) protocol.

10. The IHS of claim 7 , wherein the memory system includes instructions that, when executed by the processing system, cause the processing system to provide a fabric engine, and wherein the gateway engine and the fabric engine are configured to generate the proxy host device and the proxy target device by:

receive a fabric login/name server registration communication from the physical target device;

generate, in response to receiving the fabric login/name server registration communication, the proxy target address;

receive, from the physical host device as part of the discover command communications, a discover command that identifies the target proxy address;

generate, in response to receiving the discover command, a host proxy World Wide Name (WWN) for the physical host device;

log the host proxy WWN into a fabric that includes the physical target device; and

register the host proxy WWN.

11. The IHS of claim 10 , wherein the zoning operations include:

creating a Target Driven Zoning (TDZ) zone that includes the host proxy WWN as a principal and a target proxy WWN for the physical target device as a member.

12. The IHS of claim 7 , wherein the physical target device is an NVMe storage device.

13. The IHS of claim 7 , wherein the first target NVMeoF protocol communications and the second host NVMeoF protocol communications operate to:

establish an administrative queue for the physical target device;

use the administrative queue to create a plurality of Input/Output (I/O) queues for the physical target device; and

perform read operations and write operations using the I/O queues for the physical target device.

14. A method for providing an Non-Volatile Memory express (NVMe) over Fabrics (NVMeoF) gateway, comprising:

generating, by a networking device, a proxy target device for a physical target device that is coupled to the networking device, wherein the proxy target device includes a proxy target address;

exchanging, by the networking device with the physical host device, a discover command communications that identify the proxy target address to the physical host device;

establishing, by the networking device based on the discover command communications, a connection between the physical host device and the proxy target device;

generating, by the networking device, a proxy host device for the physical host device;

receiving, by the networking device from the physical host device, the proxy target address;

performing, by the networking device in response to receiving the proxy target address from the physical host device, zoning operations to create a zone that includes the proxy host device and the proxy target device;

converting, by the networking device, first host Non-Volatile Memory express (NVMe) over Fabrics (NVMeoF) protocol communications received from the physical host device to first target NVMeoF protocol communications by:

converting an initialize connection request to an NVMe create association Link Service (LS); and

converting a connect request to an NVMe connect LS;

providing the first target NVMeoF protocol communications to the physical target device using the proxy host device; and

converting, by the networking device, second target NVMeoF protocol communications received from the physical target device to second host NVMeoF protocol communications by:

converting an NVMe create association LS response to an initialize connection response; and

converting an NVMe connect LS response to a connect response; and

providing the second host NVMeoF protocol communications to the physical host device using the proxy target device,

wherein the first target NVMeoF protocol communications and the second host NVMeoF protocol communications configure the physical host device to store data on the physical target device and retrieve data from the physical target device.

15. The method of claim 14 , wherein the host NVMeoF protocol is a Transmission Control Protocol (TCP)-based NVMeoF (NVMeoF(TCP)) protocol.

16. The method of claim 14 , wherein the target NVMeoF protocol is a Fibre Channel (FC)-based NVMeoF (NVMeoF(FC)) protocol.

17. The method of claim 14 , wherein the generating the proxy host device and the proxy target device includes:

receiving, by the networking device, a fabric login/name server registration communication from the physical target device;

generating, by the networking device in response to receiving the fabric login/name server registration communication, the proxy target address;

receiving, by the networking device from the physical host device as part of the discover command communications, a discover command that identifies the target proxy address;

generating, by the networking device in response to receiving the discover command, a host proxy World Wide Name (WWN) for the physical host device;

logging, by the networking device, the host proxy WWN into a fabric that includes the physical target device; and

registering, by the networking device, the host proxy WWN.

18. The method of claim 14 , wherein the zoning operations include:

creating, by the networking device, a Target Driven Zoning (TDZ) zone that includes the host proxy WWN as a principal and a target proxy WWN for the physical target device as a member.

19. The method of claim 14 , wherein the physical target device is an NVMe storage device.

20. The method of claim 14 , wherein the first target NVMeoF protocol communications and the second host NVMeoF protocol communications operate to:

establish an administrative queue for the physical target device;

use the administrative queue to create a plurality of Input/Output (I/O) queues for the physical target device; and

perform read operations and write operations using the I/O queues for the physical target device.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2020
From: SUBBIAH, RAMESH KUMAR; VARGHESE, VIBIN
To: DELL PRODUCTS L.P.
Reel/Frame 053802/0022 →