IP Library Granted Patent US 11,012,512
Granted Patent B1
US 11,012,512 · App. 16/878,678 · Granted May 18, 2021

Host device with automated write throttling responsive to storage system write pressure condition

Inventors: Sanjib Mallick (Bangalore, IN); Krishna Deepak Nuthakki (Bangalore, IN); Arieh Don (Newton, MA)
Assignee: EMC IP Holding Company LLC
H04L67/1097
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,012,512
App. No.
16/878,678
Granted
May 18, 2021
Kind
B1
Abstract

A host device comprises a processor coupled to a memory. The host device is configured, for each of a plurality of initiators of the host device from which write operations are sent to a storage system for processing, to repeatedly send to the storage system a command to obtain from the storage system write pressure information maintained by the storage system for that initiator, and responsive to the write pressure information obtained from the storage system for a corresponding one of the initiators indicating that the corresponding initiator is associated with a write pressure condition, to at least temporarily reduce a rate at which the write operations are sent from the corresponding initiator to the storage system. The operations of repeatedly sending the command, and at least temporarily reducing the rate, are illustratively performed by at least one multi-path input-output driver of a multi-path layer of the host device.

Claims (40)

1. An apparatus comprising:

a host device comprising a processor coupled to a memory;

where the host device is configured:

for each of a plurality of initiators of the host device from which write operations are sent to a storage system for processing, to repeatedly send to the storage system a command associated with that initiator to obtain from the storage system write pressure information maintained by the storage system for that initiator as one of a plurality of separate instances of write pressure information individually maintained by the storage system for respective ones of the plurality of initiators; and

responsive to the write pressure information obtained from the storage system for a corresponding one of the initiators indicating that the corresponding initiator is associated with a write pressure condition, to at least temporarily reduce a rate at which the write operations are sent from the corresponding initiator to the storage system.

2. The apparatus of claim 1 wherein the initiators comprise respective host bus adaptors of the host device.

3. The apparatus of claim 1 wherein the command comprises at least one predetermined vendor unique command of a storage access protocol which the host device utilizes to communicate with the storage system.

4. The apparatus of claim 1 wherein the host device further comprises a multi-path layer comprising at least one multi-path input-output driver configured to control delivery of input-output operations, including the write operations of the host device, to particular ports of the storage system over selected ones of a plurality of paths through a network, and wherein repeatedly sending the command, and at least temporarily reducing the rate, are performed by the multi-path input-output driver of the host device.

5. The apparatus of claim 4 further comprising one or more additional host devices each configured to communicate over the network with the storage system and wherein each additional host device comprises at least one multi-path input-output driver configured to control delivery of input-output operations, including write operations of that host device, from that host device to particular ports of the storage system over selected ones of a plurality of paths through the network, and wherein repeatedly sending the command, and at least temporarily reducing the rate, are separately performed by each of the multi-path input-output drivers of respective ones of the one or more additional host devices.

6. The apparatus of claim 4 wherein the paths are associated with respective initiator-target pairs with each of the initiators of the initiator-target pairs comprising a corresponding host bus adaptor of the host device and each of a plurality of targets of the initiator-target pairs comprising a corresponding one of the ports of the storage system.

7. The apparatus of claim 1 wherein the write pressure information obtained by the host device for respective ones of the initiators is determined in the storage system utilizing a plurality of per-initiator write operation counters of the storage system.

8. The apparatus of claim 7 wherein a given one of the per-initiator write operation counters maintains a count of write operations received in the storage system from a corresponding one of the initiators.

9. The apparatus of claim 1 wherein the write pressure information obtained by the host device from the storage system for a corresponding one of the initiators is determined in the storage system based at least in part on identification by the storage system of one or more of the initiators that are each making a relatively high contribution to a write pressure condition detected in the storage system as compared to other ones of the initiators that are each making a relatively low contribution to the write pressure condition detected in the storage system.

10. The apparatus of claim 1 wherein the write pressure information obtained by the host device from the storage system for a corresponding one of the initiators comprises one of (i) an indication that the corresponding initiator is not currently making a relatively high contribution to a write pressure condition detected in the storage system as compared to other ones of the initiators, and (ii) an indication that the corresponding initiator is currently making a relatively high contribution to a write pressure condition detected in the storage system as compared to other ones of the initiators.

11. The apparatus of claim 10 wherein the write pressure condition detected in the storage system comprises at least one of:

the storage system reaching a specified percentage of a designated write pending limit for the storage system; and

each of one or more storage devices of the storage system reaching a specified percentage of a designated write pending limit for that storage device.

12. The apparatus of claim 10 wherein the indication that the corresponding initiator is currently making a relatively high contribution to a write pressure condition detected in the storage system as compared to other ones of the initiators comprises a check condition indicator received by the host device from the storage system responsive to sending the command.

13. The apparatus of claim 1 wherein at least temporarily reducing a rate at which the write operations are sent from the corresponding initiator to the storage system comprises:

reducing the rate by a specified amount for a throttle-down period;

repeating the sending of the command in conjunction with an end of the throttle-down period; and

determining based at least in part on write pressure information obtained utilizing the repeated sending of the command whether or not to continue to reduce the rate for another throttle-down period.

14. The apparatus of claim 13 wherein a duration of a given one of the throttle-down periods is determined by randomly selecting the duration of the throttle-down period from a specified range of possible durations.

15. A method comprising:

for each of a plurality of initiators of a host device from which write operations are sent to a storage system for processing, to repeatedly send to the storage system a command associated with that initiator to obtain from the storage system write pressure information maintained by the storage system for that initiator as one of a plurality of separate instances of write pressure information individually maintained by the storage system for respective ones of the plurality of initiators; and

responsive to the write pressure information obtained from the storage system for a corresponding one of the initiators indicating that the corresponding initiator is associated with a write pressure condition, at least temporarily reducing a rate at which the write operations are sent from the corresponding initiator to the storage system;

wherein the method is performed by the host device, the host device comprising a processor coupled to a memory.

16. The method of claim 15 wherein the write pressure information obtained by the host device for respective ones of the initiators is determined in the storage system utilizing a plurality of per-initiator write operation counters of the storage system.

17. The method of claim 15 wherein at least temporarily reducing a rate at which the write operations are sent from the corresponding initiator to the storage system comprises:

reducing the rate by a specified amount for a throttle-down period;

repeating the sending of the command in conjunction with an end of the throttle-down period; and

determining based at least in part on write pressure information obtained utilizing the repeated sending of the command whether or not to continue to reduce the rate for another throttle-down period.

18. 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 a host device comprising a processor coupled to a memory, causes the host device:

for each of a plurality of initiators of the host device from which write operations are sent to a storage system for processing, to repeatedly send to the storage system a command associated with that initiator to obtain from the storage system write pressure information maintained by the storage system for that initiator as one of a plurality of separate instances of write pressure information individually maintained by the storage system for respective ones of the plurality of initiators; and

responsive to the write pressure information obtained from the storage system for a corresponding one of the initiators indicating that the corresponding initiator is associated with a write pressure condition, to at least temporarily reduce a rate at which the write operations are sent from the corresponding initiator to the storage system.

19. The computer program product of claim 18 wherein the write pressure information obtained by the host device for respective ones of the initiators is determined in the storage system utilizing a plurality of per-initiator write operation counters of the storage system.

20. The computer program product of claim 18 wherein at least temporarily reducing a rate at which the write operations are sent from the corresponding initiator to the storage system comprises:

reducing the rate by a specified amount for a throttle-down period;

repeating the sending of the command in conjunction with an end of the throttle-down period; and

determining based at least in part on write pressure information obtained utilizing the repeated sending of the command whether or not to continue to reduce the rate for another throttle-down period.

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 May 20, 2020
From: MALLICK, SANJIB; NUTHAKKI, KRISHNA DEEPAK; DON, ARIEH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052708/0336 →