IP Library Granted Patent US 11,496,563
Granted Patent B2
US 11,496,563 · App. 17/068,249 · Granted Nov 8, 2022

System and method for migrating volumes between storage appliances

Inventors: Marina Shem Tov (Hod Hasharon, IL); Chen Reichbach (Tel Aviv, IL); Dmitry Tylik (Westborough, MA); Mukesh Gupta (Shrewsbury, MA)
Assignee: EMP IP Holding Company, LLC
H04L67/1068G06F3/0607G06F3/0647G06F3/0688
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,496,563
App. No.
17/068,249
Granted
Nov 8, 2022
Kind
B2
Abstract

A method, computer program product, and computing system for generating, at a first storage appliance of a plurality of storage appliances, a first volume that is configured to be managed by the first storage appliance, wherein data within the first volume is accessible by the first storage appliance. In response to generating the first volume, a protocol identifier representation of the first volume may be generated at each other storage appliance of the plurality of storage appliances and may be configured to be managed by a respective storage appliance of the plurality of storage appliances.

Claims (40)

1. A computer-implemented method, executed on one or more computing devices, comprising:

generating, at a first storage appliance of a plurality of storage appliances, a first volume that is configured to be managed by the first storage appliance, wherein data within the first volume is accessible by the first storage appliance;

in response to generating the first volume, generating, at each other appliance of the plurality of storage appliances, a representation volume that is configured to be managed by a respective storage appliance of the plurality of storage appliances, wherein the representation volume is configured to consume a minimal amount of memory at an appliance management layer associated with the storage appliance and is configured to only store information required to respond to at least one of an identify active namespace list NVMe command and an identify namespace NVMe command, wherein the representation volume includes at least one of a namespace ID (NSID) and a Namespace Globally Unique Identifier (NGUID);

receiving, at the first storage appliance, a migration command to move the data from the first volume managed by the first storage appliance to a second volume managed by a second storage appliance;

converting, via the second storage appliance, the representation volume that is configured to be managed by the second storage appliance into the second volume, wherein converting the representation volume into the second volume includes:

defining the representation volume that is configured to be managed by the second storage appliance as the second volume, and

increasing, via the appliance management layer, a storage capacity of the second volume; and

migrating the data from the first volume to the second volume.

2. The computer-implemented method of claim 1 , wherein generating the first volume for the first storage appliance includes generating the first volume in a cluster management layer of the plurality of storage appliances.

3. The computer-implemented method of claim 1 , wherein generating the representation volume for each other storage appliance of the plurality of storage appliances includes generating the representation volume in one or more of an appliance management layer of each storage appliance of the plurality of storage appliances and a front-end driver of each storage node of each storage appliance of the plurality of storage appliances.

4. The computer-implemented method of claim 1 , wherein generating the first volume includes associating at least one of a NSID and a NGUID with the first volume.

5. The computer-implemented method of claim 4 , wherein generating the representation volume includes storing at least one of the NSID of the first volume and the NGUID of the first volume at the representation volume as the at least one of the NSID of the representation volume and the NGUID of the representation volume.

6. The computer-implemented method of claim 1 , further comprising:

in response to migrating the data from the first volume to the second volume, converting, via the first storage appliance, the first volume into a representation volume configured to be managed by the first storage appliance.

7. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by one or more processors, cause the one or more processors to perform operations comprising:

generating, at a first storage appliance of a plurality of storage appliances, a first volume that is configured to be managed by the first storage appliance, wherein data within the first volume is accessible by the first storage appliance;

in response to generating the first volume, generating, at each other appliance of the plurality of storage appliances, a representation volume that is configured to be managed by a respective storage appliance of the plurality of storage appliances, wherein the representation volume is further configured to consume only enough memory at an appliance management layer associated with the storage appliance to respond to at least one of an identify active namespace list NVMe command and an identify namespace NVMe command, wherein the representation volume includes at least one of a namespace ID (NSID) and a Namespace Globally Unique Identifier (NGUID);

receiving, at the first storage appliance, a migration command to move the data from the first volume managed by the first storage appliance to a second volume managed by a second storage appliance;

converting, via the second storage appliance, the representation volume that is configured to be managed by the second storage appliance into the second volume, wherein converting the representation volume into the second volume includes:

defining the representation volume that is configured to be managed by the second storage appliance as the second volume, and

increasing, via the appliance management layer, a storage capacity of the second volume; and

migrating the data from the first volume to the second volume.

8. The computer program product of claim 7 , wherein generating the first volume for the first storage appliance includes generating the first volume in a cluster management layer of the plurality of storage appliances.

9. The computer program product of claim 7 wherein generating the representation volume for each other storage appliance of the plurality of storage appliances includes generating the representation volume in one or more of an appliance management layer of each storage appliance of the plurality of storage appliances and a front-end driver of each storage node of each storage appliance of the plurality of storage appliances.

10. The computer program product of claim 7 , wherein generating the first volume includes associating at least one of a NSID and a NGUID with the first volume.

11. The computer program product of claim 10 , wherein generating the representation volume includes storing at least one of the NSID of the first volume and the NGUID of the first volume at the representation volume as the at least one of the NSID of the representation volume and the NGUID of the representation volume.

12. The computer program product of claim 7 , wherein the operations further comprise:

in response to migrating the data from the first volume to the second volume, converting, via the first storage appliance, the first volume into a representation volume configured to be managed by the first storage appliance.

13. A computing system comprising: one or more memories; and one or more processors configured to:

generate, at a first storage appliance of a plurality of storage appliances, a first volume that is configured to be managed by the first storage appliance, wherein data within the first volume is accessible by the first storage appliance;

in response to generating the first volume, generate, at each other storage appliance of the plurality of storage appliances, a representation volume that is configured to be managed by a respective storage appliance of the plurality of storage appliances, wherein the representation volume is further configured to consume a minimal amount of memory at an appliance management layer associated with the storage appliance and is further configured to only store information required to respond to at least one of an identify active namespace list NVMe command and an identify namespace NVMe command, wherein the representation volume includes at least one of a namespace ID (NSID) and a Namespace Globally Unique Identifier (NGUID);

receive, at the first storage appliance, a migration command to move the data from the first volume managed by the first storage appliance to a second volume managed by a second storage appliance;

convert, via the second storage appliance, the representation volume that is configured to be managed by the second storage appliance into the second volume, wherein the one or more processors are configured to convert the representation volume into the second volume by:

defining the representation volume that is configured to be managed by the second storage appliance as the second volume, and

increasing, via an appliance management layer, a storage capacity of the second volume; and

migrate the data from the first volume to the second volume.

14. The computing system of claim 13 , wherein generating the first volume for the first storage appliance includes generating the first volume in a cluster management layer of the plurality of storage appliances.

15. The computing system of claim 13 , wherein generating the representation volume for each other storage appliance of the plurality of storage appliances includes generating the representation volume in one or more of an appliance management layer of each storage appliance of the plurality of storage appliances and a front-end driver of each storage node of each storage appliance of the plurality of storage appliances.

16. The computing system of claim 13 , wherein generating the first volume includes associating at least one of a NSID and a NGUID with the first volume.

17. The computing system of claim 16 , wherein generating the representation volume includes storing at least one of the NSID of the first volume and the NGUID of the first volume at the representation volume as the at least one of the NSID of the representation volume and the NGUID of the representation volume.

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 Oct 12, 2020
From: TOV, MARINA SHEM; REICHBACH, CHEN; TYLIK, DMITRY; GUPTA, MUKESH
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 054028/0345 →