IP Library Granted Patent US 11,513,731
Granted Patent B2
US 11,513,731 · App. 16/914,651 · Granted Nov 29, 2022

System and method for non-disruptive storage protocol conversion

Inventors: Prakash Venkatanarayanan (Bangalore, IN); Amihay Azruel (Raanana, IL); Sreenivasa Honnur Sathyanarayana (Bangalore, IN); Md Haris Iqbal (Bangalore, IN); Kundan Kumar (Bangalore, IN); Matthew Long (Uxbridge, MA); Jean Marie Schiff (Bolton, MA)
Assignee: EMC IP Holding Company, LLC
G06F3/0659G06F3/061G06F3/0679G06F3/0688G06F13/4022
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,513,731
App. No.
16/914,651
Granted
Nov 29, 2022
Kind
B2
Abstract

A method, computer program product, and computing system for selecting target volumes within a storage system that are currently accessible to computing devices via first storage protocol paths via a first storage protocol for accessing via second storage protocol paths via a second storage protocol. For each of the selected target volumes, a first storage protocol identifier specific to each selected target volume may be associated with a second storage protocol identifier specific to each selected target volume. The first storage protocol paths and the second storage protocol paths may be grouped into a multipath group based upon the association between the first storage protocol identifier and the second storage protocol identifier. Access between the computing devices and the selected target volumes may be switched from the first storage protocol paths to the second storage protocol paths without application disruption and across multiple host platforms, including host-clusters.

Claims (37)

1. A computer-implemented method, executed on a computing device, comprising:

selecting, via the computing device, one or more target volumes within a storage system that are currently accessible to one or more computing devices via one or more first storage protocol paths via a first storage protocol for accessing via one or more second storage protocol paths via a second storage protocol, wherein the first storage protocol is Small Computer System Interface (SCSI) and the second storage protocol is Non-Volatile Memory Express (NVMe);

associating, for each of the one or more selected target volumes, a first storage protocol identifier specific to each selected target volume with a second storage protocol identifier specific to each selected target volume, wherein the first storage protocol identifier is a SCSI identifier specific to each selected target volume and the second storage protocol identifier is a NVMe Namespace specific to each selected target volume, wherein associating, for each of the one or more selected target volumes, a first storage protocol identifier specific to each selected target volume with a second storage protocol identifier specific to each selected target volume includes performing a NVMe set feature command on each second storage protocol identifier specific to each selected target volume to associate the first storage protocol identifier with the second storage protocol identifier specific to each selected target volume;

grouping the one or more first storage protocol paths and the one or more second storage protocol paths into a multipath group based upon, at least in part, the association between the first storage protocol identifier and the second storage protocol identifier; and

switching access between the one or more computing devices and the one or more selected target volumes from the one or more first storage protocol paths to the one or more second storage protocol paths.

2. The computer-implemented method of claim 1 , grouping the one or more first storage protocol paths and the one or more second storage protocol paths into a multipath group based upon, at least in part, the association between the first storage protocol identifier and the second storage protocol identifier includes:

performing a NVMe get feature command on each second storage protocol identifier visible to the one or more computing devices;

determining whether each second storage protocol identifier visible to the one or more computing devices is associated with a first storage protocol identifier; and

grouping the one or more first storage protocol paths and the one or more second storage protocol paths into the multipath group in response to determining that the first storage protocol identifier specific to each selected target volume is associated with the second storage protocol identifier specific to each selected target volume.

3. The computer-implemented method of claim 1 , wherein grouping the one or more first storage protocol paths and the one or more second storage protocol paths into a multipath group based upon, at least in part, the association between the first storage protocol identifier and the second storage protocol identifier includes performing, on each second storage protocol identifier, a NVMe identify command configured to return the first storage protocol identifier specific to each selected target volume.

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

migrating data from the one or more selected target volumes to one or more destination volumes that are accessible to the one or more computing devices via the one or more second storage protocol paths.

5. The computer-implemented method of claim 4 , wherein switching access between the one or more computing devices and the one or more selected target volumes from the one or more first storage protocol paths to the one or more second storage protocol paths includes switching access between the one or more computing devices and the one or more selected target volumes via the one or more first storage protocol paths to access between the one or more computing devices and the one or more destination volumes via the one or more second storage protocol paths.

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

selecting, via the computing device, one or more target volumes within a storage system that are currently accessible to one or more computing devices via one or more first storage protocol paths via a first storage protocol for accessing via one or more second storage protocol paths via a second storage protocol, wherein the first storage protocol is Small Computer System Interface (SCSI) and the second storage protocol is Non-Volatile Memory Express (NVMe);

associating, for each of the one or more selected target volumes, a first storage protocol identifier specific to each selected target volume with a second storage protocol identifier specific to each selected target volume, wherein the first storage protocol identifier is a SCSI identifier specific to each selected target volume and the second storage protocol identifier is a NVMe Namespace specific to each selected target volume, wherein associating, for each of the one or more selected target volumes, a first storage protocol identifier specific to each selected target volume with a second storage protocol identifier specific to each selected target volume includes performing a NVMe set feature command on each second storage protocol identifier specific to each selected target volume to associate the first storage protocol identifier with the second storage protocol identifier specific to each selected target volume;

grouping the one or more first storage protocol paths and the one or more second storage protocol paths into a multipath group based upon, at least in part, the association between the first storage protocol identifier and the second storage protocol identifier; and

switching access between the one or more computing devices and the one or more selected target volumes from the one or more first storage protocol paths to the one or more second storage protocol paths.

7. The computer program product of claim 6 , grouping the one or more first storage protocol paths and the one or more second storage protocol paths into a multipath group based upon, at least in part, the association between the first storage protocol identifier and the second storage protocol identifier includes:

performing a NVMe get feature command on each second storage protocol identifier visible to the one or more computing devices;

determining whether each second storage protocol identifier visible to the one or more computing devices is associated with a first storage protocol identifier; and

grouping the one or more first storage protocol paths and the one or more second storage protocol paths into the multipath group in response to determining that the first storage protocol identifier specific to each selected target volume is associated with the second storage protocol identifier specific to each selected target volume.

8. The computer program product of claim 6 , wherein grouping the one or more first storage protocol paths and the one or more second storage protocol paths into a multipath group based upon, at least in part, the association between the first storage protocol identifier and the second storage protocol identifier includes performing, on each second storage protocol identifier, a NVMe identify command configured to return the first storage protocol identifier specific to each selected target volume.

9. The computer program product of claim 6 , wherein the operations further comprise:

migrating data from the one or more selected target volumes to one or more destination volumes that are accessible to the one or more computing devices via the one or more second storage protocol paths.

10. The computer program product of claim 9 , wherein switching access between the one or more computing devices and the one or more selected target volumes from the one or more first storage protocol paths to the one or more second storage protocol paths includes switching access between the one or more computing devices and the one or more selected target volumes via the one or more first storage protocol paths to access between the one or more computing devices and the one or more destination volumes via the one or more second storage protocol paths.

11. A computing system comprising:

a memory; and

a processor configured to select one or more target volumes within a storage system that are currently accessible to one or more computing devices via one or more first storage protocol paths via a first storage protocol for accessing via one or more second storage protocol paths via a second storage protocol, wherein the first storage protocol is Small Computer System Interface (SCSI) and the second storage protocol is Non-Volatile Memory Express (NVMe), wherein the processor is further configured to associate, for each of the one or more selected target volumes, a first storage protocol identifier specific to each selected target volume with a second storage protocol identifier specific to each selected target volume, wherein the first storage protocol identifier is a SCSI identifier specific to each selected target volume and the second storage protocol identifier is a NVMe Namespace specific to each selected target volume, wherein associating, for each of the one or more selected target volumes, a first storage protocol identifier specific to each selected target volume with a second storage protocol identifier specific to each selected target volume includes performing a NVMe set feature command on each second storage protocol identifier specific to each selected target volume to associate the first storage protocol identifier with the second storage protocol identifier specific to each selected target volume, wherein the processor is further configured to group the one or more first storage protocol paths and the one or more second storage protocol paths into a multipath group based upon, at least in part, the association between the first storage protocol identifier and the second storage protocol identifier, and wherein the processor is further configured to switch access between the one or more computing devices and the one or more selected target volumes from the one or more first storage protocol paths to the one or more second storage protocol paths.

12. The computing system of claim 11 , grouping the one or more first storage protocol paths and the one or more second storage protocol paths into a multipath group based upon, at least in part, the association between the first storage protocol identifier and the second storage protocol identifier includes:

performing a NVMe get feature command on each second storage protocol identifier visible to the one or more computing devices;

determining whether each second storage protocol identifier visible to the one or more computing devices is associated with a first storage protocol identifier; and

grouping the one or more first storage protocol paths and the one or more second storage protocol paths into the multipath group in response to determining that the first storage protocol identifier specific to each selected target volume is associated with the second storage protocol identifier specific to each selected target volume.

13. The computing system of claim 11 , wherein grouping the one or more first storage protocol paths and the one or more second storage protocol paths into a multipath group based upon, at least in part, the association between the first storage protocol identifier and the second storage protocol identifier includes performing, on each second storage protocol identifier, a NVMe identify command configured to return the first storage protocol identifier specific to each selected target volume.

14. The computing system of claim 11 , wherein the at least one processor is further configured to:

migrate data from the one or more selected target volumes to one or more destination volumes that are accessible to the one or more computing devices via the one or more second storage protocol paths.

15. The computer-implemented method of claim 1 , wherein the SCSI identifier is a SCSI Vital Product Data (VPD) Page-83 Identifier.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2020
From: VENKATANARAYANAN, PRAKASH; AZRUEL, AMIHAY; SATHYANARAYANA, SREENIVASA HONNUR; IQBAL, MD HARIS; KUMAR, KUNDAN; LONG, MATTHEW; SCHIFF, JEAN MARIE
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 053071/0442 →
Continuity (1)
Related Publication 20210405921A1 · Dec 30, 2021