US2008046609A1PendingUtilityA1

Method, Apparatus and Computer Program Product Providing Storage Network Dynamic Tuning of I/O Flow with Queue Depth

Assignee: IBMPriority: Aug 17, 2005Filed: Oct 26, 2007Published: Feb 21, 2008
Est. expiryAug 17, 2025(expired)· nominal 20-yr term from priority
H04L 67/1097H04L 41/5003H04L 43/00H04L 43/0852H04L 69/40H04L 69/14
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

In accordance with a computer program product, apparatus and a method there is provided a redundant network wherein a host computer operates with a plurality of storage devices by monitoring conditions of the multipath storage network and controlling a storage multipath device driver in conjunction with an associated storage multipath device input/output (I/O) pending queue to increase I/O throughput to a storage device driver, such as a disk device driver, when I/O demand increases, and to decrease I/O throughput to the storage device driver in the event of an I/O error condition.

Claims

exact text as granted — not AI-modified
1 . A computer program product comprising a computer useable medium including a computer readable program, wherein the computer readable program when executed on the computer causes the computer to operate with at least one storage device in a redundant storage network by operations comprising: 
 monitoring operation of the redundant storage network; and    controlling a storage multipath device driver in conjunction with an associated storage multipath device input/output (I/O) pending queue to increase I/O throughput to a storage device driver when I/O demand increases, and to decrease I/O throughput to the storage device driver in the event of an I/O error condition.    
   
   
       2 . The computer program product as in  claim 1  where, during a normal I/O operating condition, controlling the storage multipath device driver comprises calculating an amount of I/O sent to the storage device driver using:  
       total amount of I/O sent to storage device driver=queue depth×global factor for queue depth×total number of functioning paths, where global factor for queue depth=1.  
   
   
       3 . The computer program product as in  claim 2  where, during a stress I/O operating condition, controlling the storage multipath device driver comprises monitoring a length of the I/O pending queue and adjusting the global factor for queue depth value accordingly to allow more I/O to be sent to the storage device driver.  
   
   
       4 . The computer program product as in  claim 2  where, during an error condition, controlling the storage multipath device driver comprises monitoring a number of functioning paths and adjusting an individual factor for queue depth correspondingly to reduce the amount of I/O sent to the storage device driver, where if a percentage of functioning paths is reduced to less than 100%, the storage multipath device driver switches from using the global factor for queue depth value to an individual factor of a storage device for controlling I/O pending queue depth.  
   
   
       5 . The computer program product as in  claim 1 , where the at least one storage device comprises a disk storage device.  
   
   
       6 . A system comprising a redundant storage network that includes a host coupled via a plurality of paths to at least one storage device, said host comprising a storage multipath device driver coupled with a storage multipath device input/output (I/O) pending queue that is coupled to a storage device driver comprised of a storage device driver I/O queue, said storage multipath device driver operable for monitoring conditions of the redundant storage network to increase I/O throughput to the storage device driver when I/O demand increases, and to decrease I/O throughput to the storage device driver in the event of an I/O error condition.  
   
   
       7 . The system as in  claim 6  where, during a normal I/O operating condition, the storage multipath device driver calculates an amount of I/O sent to the storage device driver using:  
       total amount of I/O sent to storage device driver=queue depth×global factor for queue depth×total number of functioning paths, where global factor for queue depth=1.  
   
   
       8 . The system as in  claim 7  where, during a stress I/O operating condition, the storage multipath device driver monitors a length of the I/O pending queue and adjusts the global factor for queue depth value accordingly to allow more I/O to be sent to the storage device driver.  
   
   
       9 . The system as in  claim 7  where, during an error condition, the storage multipath device driver monitors the number of functioning paths and adjusts an individual factor for queue depth correspondingly to reduce the amount of I/O sent to the storage device driver, where if a percentage of functioning paths is reduced to less than 100%, the storage multipath device driver switches from using the global factor for queue depth value to an individual factor of a storage device for controlling I/O pending queue depth.  
   
   
       10 . The system as in  claim 6 , where the at least one storage device comprises a disk storage device.  
   
   
       11 . A host comprising a multipath interface for coupling via a plurality of paths to at least one storage device, said host comprising a storage multipath device driver comprising a storage multipath device input/output (I/O) pending queue, said storage multipath device driver coupled to a storage device driver that comprises a storage device driver I/O queue, said storage multipath device driver operable to increase I/O throughput to the storage device driver when I/O demand increases, and to decrease I/O throughput to the storage device driver in the event of an I/O error condition.  
   
   
       12 . The host as in  claim 11  where, during a normal I/O operating condition, the storage multipath device driver calculates an amount of I/O sent to the storage device driver using:  
       total amount of I/O sent to storage device driver=queue depth×global factor for queue depth×total number of functioning paths, where global factor for queue depth=1.  
   
   
       13 . The host as in  claim 12  where, during a stress I/O operating condition, the storage multipath device driver monitors a length of the I/O pending queue and adjusts the global factor for queue depth value accordingly to allow more I/O to be sent to the storage device driver.  
   
   
       14 . The host as in  claim 12  where, during an error condition, the storage multipath device driver monitors the number of functioning paths and adjusts an individual factor for queue depth correspondingly to reduce the amount of I/O sent to the storage device driver, where if a percentage of functioning paths is reduced to less than 100%, the storage multipath device driver switches from using the global factor for queue depth value to an individual factor of a storage device for controlling I/O pending queue depth.  
   
   
       15 . The host as in  claim 11 , where the at least one storage device comprises a disk storage device.  
   
   
       16 . A method to operate a host with at least one storage device in a redundant storage network, comprising: 
 monitoring operation of the redundant storage network; and    operating a storage multipath device driver in conjunction with an associated storage multipath device input/output (I/O) pending queue to increase I/O throughput to a storage device driver when I/O demand increases, and to decrease I/O throughput to the storage device driver in the event of an I/O error condition.    
   
   
       17 . The method as in  claim 16  where, during a normal I/O operating condition, operating the storage multipath device driver comprises calculating an amount of I/O sent to the storage device driver using:  
       total amount of I/O sent to storage device driver=queue depth×global factor for queue depth×total number of functioning paths, where global factor for queue depth=1.  
   
   
       18 . The method as in  claim 17  where, during a stress I/O operating condition, operating the storage multipath device driver comprises monitoring a length of the I/O pending queue and adjusting the global factor for queue depth value accordingly to allow more I/O to be sent to the storage device driver.  
   
   
       19 . The method as in  claim 17  where, during an error condition, operating the storage multipath device driver comprises monitoring the number of functioning paths and adjusting an individual factor for queue depth correspondingly to reduce the amount of I/O sent to the storage device driver, where if a percentage of functioning paths is reduced to less than 100%, the storage multipath device driver switches from using the global factor for queue depth value to an individual factor of a storage device for controlling I/O pending queue depth.  
   
   
       20 . The method as in  claim 16 , where the at least one storage device comprises a disk storage device.

Join the waitlist — get patent alerts

Track US2008046609A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.