US 12,001,679 B2
Storage system configured to collaborate with host device to provide fine-grained throttling of input-output operations
Sanjib Mallick, Bangalore (IN); Vinay G. Rao, Bangalore (IN); and Arieh Don, Newton, MA (US)
Assigned to Dell Products L.P., Round Rock, TX (US)
Filed by Dell Products L.P., Round Rock, TX (US)
Filed on Mar. 31, 2022, as Appl. No. 17/709,557.
Prior Publication US 2023/0315291 A1, Oct. 5, 2023
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/061 (2013.01) [G06F 3/0664 (2013.01); G06F 3/0665 (2013.01); G06F 3/067 (2013.01)] 21 Claims
OG exemplary drawing
 
1. An apparatus comprising:
at least one processing device comprising a processor coupled to a memory;
the at least one processing device being configured:
to detect in a storage system an input-output (IO) pressure condition relating to at least one logical storage volume of the storage system, the storage system comprising one or more storage nodes;
to receive in the storage system, from at least one host device over a network, IO operations directed to the at least one logical storage volume, the at least one host device being implemented on one or more compute nodes each of which is separate and distinct from the one or more storage nodes of the storage system, the at least one host device being configured to generate the IO operations and to send the IO operations to the storage system over the network, the storage system being configured to receive the IO operations generated and sent by the at least one host device over the network and to process the received IO operations including performing IO throttling for the received IO operations;
to extract in the storage system processing entity identifiers from respective ones of the received IO operations, the processing entity identifiers identifying respective different ones of a plurality of distinct components of the at least one host device that were utilized in generating respective corresponding ones of the IO operations; and
to perform in the storage system IO throttling for the at least one logical storage volume based at least in part on the extracted processing entity identifiers;
wherein performing IO throttling for the at least one logical storage volume based at least in part on the extracted processing entity identifiers comprises performing the IO throttling in the storage system for a first IO operation directed to a given one of the one or more logical storage volumes from one processing entity of the at least one host device, while at least in part concurrently not performing the IO throttling in the storage system for a second IO operation directed to the same given logical storage volume from another processing entity of the at least one host device.