IP Library Granted Patent US 11,720,254
Granted Patent B2
US 11,720,254 · App. 17/085,275 · Granted Aug 8, 2023

Managing I/O connections using virtual host ports

Inventors: Krishna Deepak Nuthakki (Bangalore, IN); Arieh Don (Newton, MA); Erik P. Smith (Douglas, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0613G06F3/067G06F3/0619G06F3/0653G06F3/0659G06F3/0664
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,720,254
App. No.
17/085,275
Granted
Aug 8, 2023
Kind
B2
Abstract

Bandwidth consumption and/or an I/O transmission rate on an I/O path between a port of a storage system and a physical host port may be managed, including determining when multiple virtual host ports correspond to (i.e., are mapped to) a same physical host port. This virtual host port mapping information may be used to more accurately determine bandwidth consumption and I/O transmission rates on I/O connections along an I/O path including the physical host port, and to adjust the bandwidth consumption and/or I/O transmission rate on one more of these I/O connections according to bandwidth thresholds and I/O count thresholds defined for the I/O path (e.g., for the Physical host port of the I/O path).

Claims (61)

1. For a system comprising a host system and a storage system, wherein the host system includes a first physical host port, a method comprising:

determining, by the storage system, a plurality of virtual host ports of the host system that are associated with the first physical host port of the host system, wherein I/Os operations are sent from the plurality of virtual host ports over the first physical host port of the host system to a first storage system port of the storage system;

for the first storage system port of the storage system, determining, by the storage system, a plurality of I/O (input/output) connections between the host system and the storage system, wherein each of the plurality of I/O connections includes the first storage system port and one of the plurality of virtual host ports associated with the first physical host port;

determining a predefined bandwidth threshold for the first physical host port with respect to I/O communications between the first physical host port and the first storage system port including:

detecting a slow drain condition on an I/O path between the first physical host port and the first storage system port where a first link between the first physical host port and a switch has a first maximum bandwidth which is less than a second maximum bandwidth of a second link between the switch and the first storage system port; and

responsive to detecting the slow drain condition, selecting a lower of the first maximum bandwidth and the second maximum bandwidth as the predefined bandwidth threshold for the first physical host port;

monitoring a cumulative bandwidth consumption rate on the plurality of I/O connections each identifying an I/O connection between the first storage system port of the storage system and one of the plurality of virtual host ports associated with the first physical host port; and

if the cumulative bandwidth consumption rate on the plurality of I/O connections between the first storage system port and the plurality of virtual host ports which are associated with the first physical host port exceeds the predefined bandwidth threshold of the first physical host port, reducing bandwidth consumption on at least a first of the plurality of I/O connections between the first storage system port of the storage system and a first of the plurality of virtual host ports associated with the first physical host port.

2. The method of claim 1 , wherein the system further includes a switch, and wherein said determining the plurality of virtual host ports that are associated with the first physical host port includes:

determining that respective host port IDs (identifiers) of the plurality virtual host ports correspond to a same port of the switch physically linked to the first physical host port.

3. The method of claim 2 , wherein said determining said plurality of virtual host ports that are associated with the first physical host port includes:

the storage system sending one or more queries to the switch, each of the one or more queries including an identifier of at least one of the plurality of virtual host ports; and

the switch sending to the storage system one or more responses to the one or more queries, the one more responses including, for each of the at least one of the plurality of virtual host ports, an identifier of a same SHP (switch host port of the switch) physically linked to the first physical host port.

4. The method of claim 3 , wherein each of the one more queries is a GFPN (Get Fabric Port Name) query in accordance with a Fibre Channel protocol.

5. The method of claim 1 , further comprising:

maintaining a data structure including a plurality of entries, each entry representing a physical host port having at least one I/O connection with the physical host port of the host system, wherein the data structure includes a first entry representing the first physical host port and specifying the plurality of I/O connections.

6. The method of claim 1 , wherein the first physical host port has a predefined I/O count threshold (ICT) denoting a threshold rate of I/O communications transmitted to and from the first physical port, and the method further comprises:

monitoring a cumulative I/O transmission rate on the plurality of I/O connections, wherein the cumulative I/O transmission rate denotes an aggregated rate of I/O communications transmitted on the plurality of I/O connections; and

if the cumulative I/O transmission rate exceeds the predefined ICT of the first physical host port, reducing a current I/O transmission rate on one or more of the plurality of I/O connections.

7. The method of claim 1 , wherein each of the plurality of virtual host ports is an NPIV (N_Port ID Virtualization) initiator.

8. A system comprising:

a host system including a first physical host port having a predefined bandwidth threshold; and

a storage system including executable logic that implements a method including:

determining a plurality of virtual host ports of the host system that are associated with the first physical host port of the host system, wherein I/Os operations are sent from the plurality of virtual host ports over the first physical host port of the host system to a first storage system port of the storage system;

for the first storage system port of the storage system, determining a plurality of I/O (input/output) connections between the host system and the storage system, wherein each of the plurality of I/O connections includes the first storage system port and one of the plurality of virtual host ports associated with the first physical host port;

determining a predefined bandwidth threshold for the first physical host port with respect to I/O communications between the first physical host port and the first storage system port including:

detecting a slow drain condition on an I/O path between the first physical host port and the first storage system port where a first link between the first physical host port and a switch has a first maximum bandwidth which is less than a second maximum bandwidth of a second link between the switch and the first storage system port; and

responsive to detecting the slow drain condition, selecting a lower of the first maximum bandwidth and the second maximum bandwidth as the predefined bandwidth threshold for the first physical host port;

monitoring a cumulative bandwidth consumption rate on the plurality of I/O connections each identifying an I/O connection between the first storage system port of the storage system and one of the plurality of virtual host ports associated with the first physical host port; and

if the cumulative bandwidth consumption rate on the plurality of I/O connections between the first storage system port and the plurality of virtual host ports which are associated with the first physical host port exceeds the predefined bandwidth threshold of the first physical host port, reducing bandwidth consumption on at least a first of the plurality of I/O connections between the first storage system port of the storage system and a first of the plurality of virtual host ports associated with the first physical host port.

9. The system of claim 8 , wherein the system further includes a switch, and wherein said determining the plurality of virtual host ports that are associated with the first physical host port includes:

determining that respective host port IDs of the plurality virtual host ports correspond to a same port of the switch physically linked to the first physical host port.

10. The system of claim 9 , wherein said determining the plurality of virtual host ports that are associated with the first physical host port includes:

the storage system sending one or more queries to the switch, each of the one or more queries including an identifier of at least one of the plurality of virtual host ports; and

the switch sending to the storage system one or more responses to the one or more queries, the one more responses including, for each of the at least one of the plurality of virtual host ports, an identifier of a same SHP physically linked to the first physical host port.

11. The system of claim 10 , wherein each of the one more queries is a GFPN query in accordance with a Fibre Channel protocol.

12. The system of claim 8 , wherein the method further comprises:

maintaining a data structure including a plurality of entries, each entry representing a physical host port having at least one I/O connection with the physical host port of the host system, wherein the data structure includes a first entry representing the first physical host port and specifying the plurality of I/O connections.

13. The system of claim 8 , wherein the first physical host port has a predefined ICT, and the method further comprises:

monitoring a cumulative I/O transmission rate on the plurality of I/O connections, wherein the cumulative I/O transmission rate denotes an aggregated rate of I/O communications transmitted on the plurality of I/O connections; and

if the cumulative I/O transmission rate exceeds the predefined ICT of the first physical host port, reducing a current I/O transmission rate on one or more of the plurality of I/O connections.

14. The system of claim 8 , wherein each of the plurality of virtual host ports is an NPIV initiator.

15. One or more non-transitory computer-readable media having executable code stored thereon, that, when executed, performs a method comprising:

determining, by a storage system, a plurality of virtual host ports of a host system that are associated with a first physical host port of the host system, wherein the first physical host port has a predefined bandwidth threshold, wherein the host system and the storage system are included in a system, wherein I/Os operations are sent from the plurality of virtual host ports over the first physical host port of the host system to a first storage system port of the storage system;

for the first storage system port of the storage system, determining, by the storage system, a plurality of I/O connections between the host system and the storage system, wherein each of the plurality of I/O connections includes the first storage system port and one of the plurality of virtual host ports associated with the first physical host port;

determining a predefined bandwidth threshold for the first physical host port with respect to I/O communications between the first physical host port and the first storage system port including:

detecting a slow drain condition on an I/O path between the first physical host port and the first storage system port where a first link between the first physical host port and a switch has a first maximum bandwidth which is less than a second maximum bandwidth of a second link between the switch and the first storage system port; and

responsive to detecting the slow drain condition, selecting a lower of the first maximum bandwidth and the second maximum bandwidth as the predefined bandwidth threshold for the first physical host port;

monitoring a cumulative bandwidth consumption rate on the plurality of I/O connections each identifying an I/O connection between the first storage system port of the storage system and one of the plurality of virtual host ports associated with the first physical host port; and

if the cumulative bandwidth consumption rate on the plurality of I/O connections between the first storage system port and the plurality of virtual host ports which are associated with the first physical host port exceeds the predefined bandwidth threshold of the first physical host port, reducing bandwidth consumption on at least a first of the plurality of I/O connections between the first storage system port of the storage system and a first of the plurality of virtual host ports associated with the first physical host port.

16. The one or more non-transitory computer-readable media of claim 15 , wherein said determining the plurality of virtual host ports that are associated with the first physical host port includes:

determining that respective host port IDs of the plurality of virtual host ports correspond to a same port of a switch that is included in the system and is physically linked to the first physical host port.

17. The non-transitory computer-readable media of claim 16 , wherein said determining the plurality of virtual host ports that are associated with the first physical host port includes:

the storage system sending one or more queries to the switch, each of the one or more queries including an identifier of at least one of the plurality of virtual host ports; and

the switch sending to the storage system one or more responses to the one or more queries, the one more responses including, for each of the at least one of the plurality of virtual host ports, an identifier of a same SHP physically linked to the first physical host port.

18. The non-transitory computer-readable media of claim 17 , wherein each of the one more queries is a GFPN query in accordance with a Fibre Channel protocol.

19. The non-transitory computer-readable media of claim 15 , wherein the method further comprises:

maintaining a data structure including a plurality of entries, each entry representing a physical host port having at least one I/O connection with the physical host port of the host system, wherein the data structure includes a first entry representing the first physical host port and specifying the plurality of I/O connections.

20. The non-transitory computer-readable media of claim 15 , wherein the first physical host port has a predefined I/O count threshold, and wherein the method further comprises:

executable code that monitors a cumulative I/O transmission rate on the one or more I/O connections; and

if the cumulative I/O transmission rate exceeds the predefined ICT of the first physical host port, adjusting the I/O transmission rate on one or more of the I/O connections.

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 30, 2020
From: NUTHAKKI, KRISHNA DEEPAK; DON, ARIEH; SMITH, ERIK P.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054224/0424 →
Continuity (1)
Related Publication 20220137824A1 · May 5, 2022