IP Library Granted Patent US 11,620,240
Granted Patent B2
US 11,620,240 · App. 17/113,184 · Granted Apr 4, 2023

Performance-driven access protocol switching for a logical storage device

Inventors: Amit Pundalik Anchi (Bangalore, IN); Vinay G. Rao (Bangalore, IN); Sanjib Mallick (Bangalore, IN); Arieh Don (Newton, MA)
Assignee: EMC IP Holding Company LLC
G06F13/1668G06F11/3027G06F11/349G06F13/4221
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,620,240
App. No.
17/113,184
Granted
Apr 4, 2023
Kind
B2
Abstract

An apparatus in one embodiment includes at least one processing device, with the at least one processing device comprising a processor and a memory coupled to the processor. The at least one processing device is configured to monitor performance of respective ones of a plurality of paths for accessing a logical storage device, and responsive to detection of at least one specified condition in the monitored performance relating to at least a subset of the paths, to switch the logical storage device from utilization of a first access protocol to utilization of a second access protocol different than the first access protocol. For example, in some embodiments, the at least one processing device is configured to switch the logical storage device from a SCSI access protocol to an NVMe access protocol, and vice versa, responsive to congestion, errors or other detected performance conditions currently impacting one of the access protocols.

Claims (61)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

said at least one processing device being configured:

to monitor performance of respective ones of a plurality of paths for accessing a logical storage device; and

responsive to detection of at least one specified condition in the monitored performance relating to at least a subset of the paths, to switch the logical storage device from utilization of a first access protocol to utilization of a second access protocol different than the first access protocol;

wherein monitoring performance of respective ones of the plurality of paths for accessing the logical storage device comprises monitoring at least a first path for accessing the logical storage device utilizing the first access protocol and monitoring at least a second path different than the first path for accessing that same logical storage device utilizing the second access protocol, and further wherein switching the logical storage device from utilization of the first access protocol to utilization of the second access protocol comprises switching from utilizing the first path to access the logical storage device to utilizing the second path to access the logical storage device;

wherein the first path is one of a first set of paths configured to utilize the first access protocol;

wherein the second path is one of a second set of paths, different than the first set of paths, configured to utilize the second access protocol; and

wherein the configuration of the first set of paths to utilize the first access protocol and the configuration of the second set of paths to utilize the second access protocol occur at least in part concurrently with one another.

2. The apparatus of claim 1 wherein the first access protocol comprises a Small Computer System Interface (SCSI) access protocol and the second access protocol comprises a Non-Volatile Memory Express (NVMe) access protocol.

3. The apparatus of claim 2 wherein the SCSI access protocol comprises a SCSI over Fibre Channel (SCSI-FC) access protocol and the NVMe access protocol comprises an NVMe over Fabrics (NVMeF) access protocol.

4. The apparatus of claim 1 wherein said at least one processing device comprises at least a portion of at least one host device coupled to a storage system via at least one network.

5. The apparatus of claim 4 wherein the paths are associated with respective initiator-target pairs and wherein each of a plurality of initiators of the initiator-target pairs comprises a corresponding host bus adaptor of said at least one host device and each of a plurality of targets of the initiator-target pairs comprises a corresponding port of the storage system.

6. The apparatus of claim 4 wherein said at least one host device comprises a multi-path layer, the multi-path layer comprising at least one multi-path input-output driver configured to control delivery of input-output operations from said at least one host device to the storage system over selected paths through the network.

7. The apparatus of claim 1 wherein monitoring performance of respective ones of a plurality of paths for accessing a logical storage device comprises:

monitoring performance of a first set of paths associated with the first access protocol; and

monitoring performance of a second set of paths associated with the second access protocol.

8. The apparatus of claim 7 wherein monitoring performance of at least one of the first and second sets of paths comprises:

sending designated access protocol commands over corresponding ones of the paths;

measuring response time to the access protocol commands; and

repeating the sending and measuring in each of a plurality of monitoring intervals.

9. The apparatus of claim 7 wherein detecting at least one specified condition in the monitored performance relating to at least a subset of the paths comprises:

comparing at least one performance measure of the first set of paths associated with the first access protocol to at least one performance measure of the second set of paths associated with the second access protocol; and

detecting at least a threshold differential between the performance measures of the first and second sets of paths.

10. The apparatus of claim 1 wherein said at least one processing device is further configured to dynamically switch the logical storage device between utilization of the first and second access protocols over a plurality of access protocol switching instances responsive to detection of respective specified conditions in the monitored performance of paths associated with one of the access protocols relative to the monitored performance of paths associated with the other one of the access protocols.

11. The apparatus of claim 1 wherein said at least one processing device is further configured to monitor the performance of the paths over a plurality of monitoring intervals and for each of one or more of the monitoring intervals to select a particular one of the first and second access protocols for utilization by the logical storage device in that monitoring interval based at least in part on the monitored performance of the paths for at least one previous one of the monitoring intervals.

12. The apparatus of claim 11 wherein selecting a particular one of the first and second access protocols for utilization by the logical storage device in a given one of the monitoring intervals comprises selecting the particular one of the first and second access protocols having a lowest average response time across its associated paths for at least one previous one of the monitoring intervals.

13. The apparatus of claim 1 wherein said at least one processing device is further configured, in conjunction with switching the logical storage device from utilization of the first access protocol to utilization of the second access protocol or vice versa:

to temporarily pause sending of input-output operations to the logical storage device;

to allow one or more input-output operations previously sent to the logical storage device to complete;

to switch the logical storage device between access protocols; and

to resume sending of input-output operations to the logical storage device.

14. The apparatus of claim 1 wherein monitoring performance of respective ones of a plurality of paths for accessing a logical storage device comprises monitoring fabric performance impact notifications received from one or more switch fabrics.

15. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code, when executed by at least one processing device comprising a processor coupled to a memory and configured to communicate over a network with a storage system, causes said at least one processing device:

to monitor performance of respective ones of a plurality of paths for accessing a logical storage device; and

responsive to detection of at least one specified condition in the monitored performance relating to at least a subset of the paths, to switch the logical storage device from utilization of a first access protocol to utilization of a second access protocol different than the first access protocol;

wherein monitoring performance of respective ones of the plurality of paths for accessing the logical storage device comprises monitoring at least a first path for accessing the logical storage device utilizing the first access protocol and monitoring at least a second path different than the first path for accessing that same logical storage device utilizing the second access protocol, and further wherein switching the logical storage device from utilization of the first access protocol to utilization of the second access protocol comprises switching from utilizing the first path to access the logical storage device to utilizing the second path to access the logical storage device;

wherein the first path is one of a first set of paths configured to utilize the first access protocol;

wherein the second path is one of a second set of paths, different than the first set of paths, configured to utilize the second access protocol; and

wherein the configuration of the first set of paths to utilize the first access protocol and the configuration of the second set of paths to utilize the second access protocol occur at least in part concurrently with one another.

16. The computer program product of claim 15 wherein monitoring performance of respective ones of a plurality of paths for accessing a logical storage device comprises:

monitoring performance of a first set of paths associated with the first access protocol; and

monitoring performance of a second set of paths associated with the second access protocol.

17. The computer program product of claim 15 wherein detecting at least one specified condition in the monitored performance relating to at least a subset of the paths comprises:

comparing at least one performance measure of the first set of paths associated with the first access protocol to at least one performance measure of the second set of paths associated with the second access protocol; and

detecting at least a threshold differential between the performance measures of the first and second sets of paths.

18. A method comprising:

monitoring performance of respective ones of a plurality of paths for accessing a logical storage device; and

responsive to detection of at least one specified condition in the monitored performance relating to at least a subset of the paths, switching the logical storage device from utilization of a first access protocol to utilization of a second access protocol different than the first access protocol;

wherein monitoring performance of respective ones of the plurality of paths for accessing the logical storage device comprises monitoring at least a first path for accessing the logical storage device utilizing the first access protocol and monitoring at least a second path different than the first path for accessing that same logical storage device utilizing the second access protocol, and further wherein switching the logical storage device from utilization of the first access protocol to utilization of the second access protocol comprises switching from utilizing the first path to access the logical storage device to utilizing the second path to access the logical storage device;

wherein the first path is one of a first set of paths configured to utilize the first access protocol;

wherein the second path is one of a second set of paths, different than the first set of paths, configured to utilize the second access protocol;

wherein the configuration of the first set of paths to utilize the first access protocol and the configuration of the second set of paths to utilize the second access protocol occur at least in part concurrently with one another; and

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

19. The method of claim 18 wherein monitoring performance of respective ones of a plurality of paths for accessing a logical storage device comprises:

monitoring performance of a first set of paths associated with the first access protocol; and

monitoring performance of a second set of paths associated with the second access protocol.

20. The method of claim 18 wherein detecting at least one specified condition in the monitored performance relating to at least a subset of the paths comprises:

comparing at least one performance measure of the first set of paths associated with the first access protocol to at least one performance measure of the second set of paths associated with the second access protocol; and

detecting at least a threshold differential between the performance measures of the first and second sets of paths.

21. The method of claim 18 wherein monitoring performance of respective ones of a plurality of paths for accessing a logical storage device comprises monitoring fabric performance impact notifications received from one or more switch fabrics.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) 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/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) 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/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) 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/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
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 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
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 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
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 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2020
From: ANCHI, AMIT PUNDALIK; RAO, VINAY G.; MALLICK, SANJIB; DON, ARIEH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054561/0015 →
Continuity (1)
Related Publication 20220179804A1 · Jun 9, 2022
Cited By (1)
US 12,498,866