IP Library Granted Patent US 11,061,599
Granted Patent B2
US 11,061,599 · App. 16/524,464 · Granted Jul 13, 2021

Volume migration in a federated storage array with non-volatile memory express over fabric (NVMeoF) host attachment

Inventors: Mukesh Gupta (Shrewsbury, MA); Dmitry Tylik (Westborough, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0647G06F3/0604G06F3/0679G06F13/1668
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,061,599
App. No.
16/524,464
Granted
Jul 13, 2021
Kind
B2
Abstract

An aspect of volume migration includes establishing a connection between hosts and a non-volatile memory over fabric (NVMeoF) controller for appliances, and creating and exposing a volume as a namespace to hosts. The namespace forms part of an asymmetric namespace access (ANA) group in which optimized paths are exposed to the hosts. Upon receiving a request to migrate the volume from a source appliance to a destination appliance, an aspect further includes creating a namespace on the destination, and configuring the ANA group of the namespace as inaccessible. Through the connection, an aspect includes initiating an asynchronous event notification (AEN) to the host to connect ports on the destination and, upon connecting to the ports, discovering by the hosts on the destination, the namespace created, verifying the hosts have connected to the ports and have discovered the namespace, and migrating data to the destination and performing input/output cutover.

Claims (50)

1. A method for implementing volume migration in a storage array comprising:

establishing a persistent connection between hosts and a non-volatile memory express over fabric (NVMeoF) discovery controller for appliances residing in the storage array;

creating a volume and exposing the volume as a namespace to the hosts, the namespace forming part of an asymmetric namespace access (ANA) group in which preferred paths are exposed to the hosts;

upon receiving a request to migrate the volume from a source appliance of the appliances to a destination appliance of the appliances:

creating a NVMeoF namespace on the destination appliance;

configuring the ANA group of the NVMeoF namespace as inaccessible;

through the persistent connection to the discovery controller, initiating an asynchronous event notification (AEN) to the host to connect ports on the destination appliance, the ports on the destination appliance corresponding to paths to the destination appliance that are currently inaccessible;

upon connecting to the ports, discovering by the hosts on the destination appliance, the NVMeoF namespace created on the destination appliance;

verifying the hosts have connected to the ports and have discovered the NVMeoF namespace; and

migrating data for the volume to the destination appliance and performing input/output (IO) cutover.

2. The method of claim 1 , wherein performing the IO cutover includes switching a state of the ANA group on the source appliance from preferred to inaccessible and a state of the ANA group on the destination appliance from inaccessible to preferred.

3. The method of claim 1 , wherein the request to migrate the volume corresponds to a request to load balance appliances on the storage array.

4. The method of claim 1 , wherein the request to migrate the volume corresponds to a request to perform maintenance on the storage array.

5. The method of claim 1 , wherein the volume is one of a set of volumes corresponding to a controller and port, the method further comprising:

upon selecting the volume in the set for migration, creating a shadow NVMeoF namespace on the destination appliance, the shadow NVMeoF namespace designated as inaccessible to the host.

6. The method of claim 1 , wherein the NVMeoF namespace is provided to, and accessible by, multiple nodes in the source appliance.

7. A system for implementing volume migration in a storage array, comprising:

a memory comprising computer-executable instructions; and

a processor executing the computer-executable instructions, the computer-executable instructions when executed by the processor cause the processor to perform operations comprising:

establishing a persistent connection between hosts and a non-volatile memory express over fabric (NVMeoF) discovery controller for appliances residing in the storage array;

creating a volume and exposing the volume as a namespace to the hosts, the namespace forming part of an asymmetric namespace access (ANA) group in which preferred paths are exposed to the hosts;

upon receiving a request to migrate the volume from a source appliance of the appliances to a destination appliance of the appliances:

creating a NVMeoF namespace on the destination appliance;

configuring the ANA group of the NVMeoF namespace as inaccessible;

through the persistent connection to the discovery controller, initiating an asynchronous event notification (AEN) to the host to connect ports on the destination appliance, the ports on the destination appliance corresponding to paths to the destination appliance that are currently inaccessible;

upon connecting to the ports, discovering by the hosts on the destination appliance, the NVMeoF namespace created on the destination appliance;

verifying the hosts have connected to the ports and have discovered the NVMeoF namespace; and

migrating data for the volume to the destination appliance and performing input/output (IO) cutover.

8. The system of claim 7 , wherein performing the IO cutover includes switching a state of the ANA group on the source appliance from preferred to inaccessible and a state of the ANA group on the destination appliance from inaccessible to preferred.

9. The system of claim 7 , wherein the request to migrate the volume corresponds to a request to load balance appliances on the storage array.

10. The system of claim 7 , wherein the request to migrate the volume corresponds to a request to perform maintenance on the storage array.

11. The system of claim 7 wherein the volume is one of a set of volumes corresponding to a controller and port, the operations further comprising:

upon selecting the volume in the set for migration, creating a shadow NVMeoF namespace on the destination appliance, the shadow NVMeoF namespace designated as inaccessible to the host.

12. The system of claim 7 , wherein the NVMeoF namespace is provided to, and accessible by, multiple nodes in the source appliance.

13. A computer program product for implementing volume migration in a storage array, the computer program product embodied on a non-transitory computer readable medium, the computer program product including instructions that, when executed by a computer, causes the computer to perform operations comprising:

establishing a persistent connection between hosts and a non-volatile memory express over fabric (NVMeoF) discovery controller for appliances residing in the storage array;

creating a volume and exposing the volume as a namespace to the hosts, the namespace forming part of an asymmetric namespace access (ANA) group in which preferred paths are exposed to the hosts;

upon receiving a request to migrate the volume from a source appliance of the appliances to a destination appliance of the appliances:

creating a NVMeoF namespace on the destination appliance;

configuring the ANA group of the NVMeoF namespace as inaccessible;

through the persistent connection to the discovery controller, initiating an asynchronous event notification (AEN) to the host to connect ports on the destination appliance, the ports on the destination appliance corresponding to paths to the destination appliance that are currently inaccessible;

upon connecting to the ports, discovering by the hosts on the destination appliance, the NVMeoF namespace created on the destination appliance;

verifying the hosts have connected to the ports and have discovered the NVMeoF namespace; and

migrating data for the volume to the destination appliance and performing input/output (IO) cutover.

14. The computer program product of claim 13 , wherein performing the IO cutover includes switching a state of the ANA group on the source appliance from preferred to inaccessible and a state of the ANA group on the destination appliance from inaccessible to preferred.

15. The computer program product of claim 13 , wherein the request to migrate the volume corresponds to a request to load balance appliances on the storage array.

16. The computer program product of claim 13 , wherein the request to migrate the volume corresponds to a request to perform maintenance on the storage array.

17. The computer program product of claim 13 , wherein the volume is one of a set of volumes corresponding to a controller and port, the operations further comprising:

upon selecting the volume in the set for migration, creating a shadow NVMeoF namespace on the destination appliance, the shadow NVMeoF namespace designated as inaccessible to the host.

18. The computer program product of claim 13 , wherein the NVMeoF namespace is provided to, and accessible by, multiple nodes in the source appliance.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2019
From: GUPTA, MUKESH; TYLIK, DMITRY
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049901/0957 →