US6711649B1ExpiredUtility

Load balancing on disk array storage device

80
Assignee: EMC CORPPriority: Oct 6, 1997Filed: Sep 15, 1999Granted: Mar 23, 2004
Est. expiryOct 6, 2017(expired)· nominal 20-yr term from priority
G06F 2201/885G06F 11/3419G06F 11/3452G06F 3/0634G06F 3/061G06F 3/0631G06F 3/0689G06F 3/0653G06F 11/3485G11B 17/22G06F 11/3433G06F 2201/86
80
PatentIndex Score
100
Cited by
10
References
34
Claims

Abstract

Load balancing of activities on physical disk storage devices is accomplished by monitoring reading and writing operations to blocks of contiguous storage locations on the physical disk storage devices. A list of exchangeable pairs of blocks is developed based on size and function. Statistics accumulated over an interval are then used to obtain access activity values for each block and each physical disk drive. A statistical analysis leads to a selection of one block pair. After testing to determine any adverse effect of making that change, the exchange is made to more evenly distribute the loading on individual physical disk storage devices.

Claims

exact text as granted — not AI-modified
What is claimed as new and desired to be secured by Letters Patent of the United States is:  
     
       1. A method for balancing loads on physical disk storage devices in a disk array storage device wherein at least two physical disk storage devices store data in a plurality of logical volumes and each physical disk storage device responds to a data transfer request to read or write data in a series of operating phases, said method comprising the steps of: 
       A) generating operational data including the number of accesses to each logical volume on predetermined ones of the physical disk storage devices in response to data transfer requests by  
       i) defining a test interval comprising at least one test sub-interval, and  
       ii) assigning each item of operational data to a sub-interval,  
       B) converting the operational data into disk utilization values for each predetermined physical disk storage device and each logical volume in the predetermined physical disk storage devices by  
       i) generating logical volume-phase disk utilization values for each operating phase, sub-interval and logical volume, and  
       ii) combining the logical volume-phase disk utilization values to obtain the disk utilization value for the logical volume and sub-interval,  
       C) analyzing the disk utilization values to select a pair of logical volumes that, if exchanged, would improve load balance for the predetermined physical storage devices, and  
       D) exchanging the selected logical volumes.  
     
     
       2. A method as recited in  claim 1  wherein said step of converting the operational data into disk utilization values includes the steps of: 
       A) converting operational data for each logical volume and each sub-interval into logical volume-sub-interval utilization values,  
       B) combining the logical volume-sub-interval utilization values over the test interval to generate logical volume data utilization values, and  
       C) combining the logical volume data utilization values for each logical volume on a physical disk storage device to obtain the disk utilization values for each physical disk storage device.  
     
     
       3. A method as recited in  claim 1  wherein each physical disk storage device includes movable read/write heads and the disk operating phases include a seek phase corresponding to the time that the read/write heads move from one position to another, a wait phase corresponding to the interval between the receipt of a data transfer request at a physical disk storage device and the initiation of the seek phase, a data transfer phase corresponding to the time that the physical disk storage device transfers data and a latency phase during corresponding to the time between the end of the seek phase and the beginning of the data transfer phase, said generation of operational data including the selection of other information relative to the selected ones of the operating phases. 
     
     
       4. A method as recited in  claim 3  wherein said step of converting the selected operational data into disk utilization values includes the steps of: 
       i) converting selected operational data for each logical volume and each sub-interval into logical volume-sub-interval operating phase utilization values for each of the selected phases,  
       ii) combining the logical volume-sub-interval phase utilization values over the test interval to generate logical volume phase data utilization values,  
       iii) combining the logical volume phase data utilization values for each logical volume on a physical disk storage device to obtain logical volume data utilization values, and  
       iv) combining the logical volume data utilization values for each logical volume on a physical disk storage device to obtain the disk utilization values for each physical disk storage device.  
     
     
       5. A method as recited in  claim 4  wherein said disk utilization value analysis includes the steps of: 
       i) ordering the physical disk storage devices by disk utilization values,  
       ii) identifying a list of logical volumes that can be exchanged, and  
       iii) selecting a pair of logical volumes from the list for an exchange.  
     
     
       6. A method as recited in  claim 5  wherein one of the logical volumes is selected from a physical disk storage device exhibiting a high disk utilization value and the other of the logical volumes is selected from a physical disk storage device exhibiting a low disk utilization value. 
     
     
       7. A method as recited in  claim 5  additionally comprising the step of pretesting the selected logical volumes using said conversion and analysis steps to predict the operation of the disk array storage device after an exchange is made. 
     
     
       8. A method as recited in  claim 3  wherein said generation of operational data includes the steps of: 
       i) classifying the accesses into types, and  
       ii) weighting the accesses according to type,  
       iii) combining the weighted accesses for each type to obtain operational data for the logical volume during a sub-interval.  
     
     
       9. A method as recited in  claim 8  wherein said conversion of the operational data for each sub-interval includes the step of generating a statistical value dependent upon the number of weighted accesses to each logical volume to obtain the total seek phase time for each physical disk storage device. 
     
     
       10. A method as recited in  claim 8  wherein said conversion of the operational data for each sub-interval includes the step of generating a statistical value dependent upon the number of weighted accesses to each logical volume to obtain the total latency phase time for each physical disk storage device. 
     
     
       11. A method as recited in  claim 8  wherein the operational data includes the amount of data transferred in response to the each data transfer request and the rate at which a physical disk storage device transfers data, said conversion of the operational data for each sub-interval includes the step of generating a disk transfer phase time representing the time required to transfer the data in response to the received data transfer requests. 
     
     
       12. A method as recited in  claim 8  wherein said conversion of the operational data for each sub-interval includes the step of generating a statistical value dependent upon the number of weighted accesses to each logical volume to obtain the total wait phase time for each physical disk storage device. 
     
     
       13. A method as recited in  claim 1  wherein said disk utilization value analysis includes the steps of: 
       i) ordering the physical disk storage devices by disk utilization values,  
       ii) identifying a list of logical volumes that can be exchanged, and  
       iii) selecting a pair of logical volumes from the list for an exchange.  
     
     
       14. A method as recited in  claim 13  wherein one of the logical volumes is selected from a physical disk storage device exhibiting a high disk utilization value and the other of the logical volumes is selected from a physical disk storage device exhibiting a low disk utilization value. 
     
     
       15. A method as recited in  claim 13  additionally comprising the step of pretesting the selected logical volumes using said conversion and analysis steps to predict the operation of the disk array storage device after an exchange is made. 
     
     
       16. A method as recited in  claim 15  additionally comprising the step of comparing the predicted operation and the operation of the disk storage device based upon said generation, conversion and analysis steps to generate a correction factor for use in subsequent analyses. 
     
     
       17. A method as recited in  claim 1  additionally comprising the step of comparing the predicted operation and the operation of the disk storage device based upon said generation, conversion and analysis steps to generate a correction factor for use in subsequent analyses. 
     
     
       18. A method for balancing loads on physical disk storage devices in a disk array storage device wherein at least two physical disk storage devices store data in a plurality of logical volumes and each physical disk storage device responds to a data transfer request to read or write data, said method comprising the steps of: 
       A) defining the length of a first analysis interval and a second analysis interval that includes a plurality of first analysis intervals,  
       B) generating, for each of the first and second analysis intervals, operational data including the number of accesses to each logical volume on predetermined ones of the physical disk storage devices in response to data transfer requests,  
       C) exchanging the data in a pair of logical volumes upon the completion of each first analysis interval in response to the processing of predetermined operational data during each first analysis interval, and  
       E) exchanging the data in a pair of logical volumes upon the completion of each second analysis interval.  
     
     
       19. A method as recited in  claim 18  wherein said step of exchanging a pair of logical volumes upon the completion of a second analysis interval includes: 
       i) selecting processing to be used and the operational data required for such processing with respect to the second analysis interval,  
       ii) defining logical volumes to be exchanged based upon the selected processing of the corresponding operational data.  
     
     
       20. A method for balancing loads on physical disk storage devices in a disk array storage device in response to data transfer requests to read or write data in a series of operating phases, wherein at least one physical disk storage device stores data in a plurality of logical volumes, said method comprising the steps of: 
       A) generating operational data including the number of accesses to each logical volume in response to data transfer requests by  
       i) defining a test interval comprising at least one test sub-interval, and  
       ii) assigning each item of operational data to a sub-interval,  
       B) converting the operational data into disk utilization values for each logical volume by  
       i) generating logical volume-phase disk utilization values for each operating phase, sub-interval and logical volume, and  
       ii) combining the logical volume-phase disk utilization values to obtain a disk utilization value for the logical volume and sub-interval,  
       C) analyzing the disk utilization values to select a logical volume that, if moved from its physical disk storage device, would improve load balance, and  
       D) moving the selected logical volume.  
     
     
       21. A method as recited in  claim 20  wherein said step of converting the operational data into disk utilization values includes the steps of: 
       A) converting operational data for each logical volume and each sub-interval into logical volume-sub-interval utilization values,  
       B) combining the logical volume-sub-interval utilization values over the test interval to generate logical volume data utilization values, and  
       C) combining the logical volume data utilization values for each logical volume on a physical disk storage device to obtain the disk utilization values for each physical disk storage device.  
     
     
       22. A method as recited in  claim 20  wherein each physical disk storage device includes movable read/write heads and the disk operating phases include a seek phase corresponding to the time that the read/write heads move from one position to another, a wait phase corresponding to the interval between the receipt of a data transfer request at a physical disk storage device and the initiation of the seek phase, a data transfer phase corresponding to the time that the physical disk storage device transfers data and a latency phase during corresponding to the time between the end of the seek phase and the beginning of the data transfer phase, said generation of operational data including the selection of other information relative to the selected ones of the operating phase. 
     
     
       23. A method as recited in  claim 22  wherein said step of converting the selected operational data into disk utilization values includes the steps of: 
       i) converting selected operational data for each logical volume and each sub-interval into logical volume-sub-interval operating phase utilization values for each of the selected phases,  
       ii) combining the logical volume-sub-interval phase utilization values over the test interval to generate logical volume phase data utilization values,  
       iii) combining the logical volume phase data utilization values for each logical volume on a physical disk storage device to obtain logical volume data utilization values, and  
       iv) combining the logical volume data utilization values for each logical volume on a physical disk storage device to obtain the disk utilization values for each physical disk storage device.  
     
     
       24. A method as recited in  claim 23  wherein said disk utilization value analysis the steps of: 
       i) ordering the physical disk storage devices by disk utilization values, and  
       ii) identifying a list of logical volumes that can be moved, and  
       iii) selecting a logical volume from the list for a move.  
     
     
       25. A method as recited in  claim 24  additionally comprising the step of pretesting the selected logical volume using said conversion and analysis steps to predict the operation of the disk array storage device after the logical volume is moved. 
     
     
       26. A method as recited in  claim 22  wherein said generation of operational data includes the steps of: 
       i) classifying the accesses into types, and  
       ii) weighting the accesses according to type,  
       iii) combining the weighted accesses for each type to obtain operational data for the logical volume during a sub-interval.  
     
     
       27. A method as recited in  claim 26  wherein said conversion of the operational data for each sub-interval includes the step of generating a statistical value dependent upon the number of weighted accesses to each logical volume to obtain the total seek phase time for each physical disk storage device. 
     
     
       28. A method as recited in  claim 26  wherein said conversion of the operational data for each sub-interval includes the step of generating a statistical value dependent upon the number of weighted accesses to each logical volume to obtain the total latency phase time for each physical disk storage device. 
     
     
       29. A method as recited in  claim 26  wherein the operational data includes the amount of data transferred in response to the each data transfer request and the rate at which a physical disk storage device transfers data, said conversion of the operational data for each sub-interval includes the step of generating a disk transfer phase time representing the time required to transfer the data in response to the received data transfer requests. 
     
     
       30. A method as recited in  claim 26  wherein said conversion of the operational data for each sub-interval includes the step of generating a statistical value dependent upon the number of weighted accesses to each logical volume to obtain the total wait phase time for each physical disk storage device. 
     
     
       31. A method as recited in  claim 20  wherein said disk utilization value analysis includes the steps of: 
       i) ordering the physical disk storage devices by disk utilization values,  
       ii) identifying a list of logical volumes that can be moved, and  
       iii) selecting a logical volume from the list for a move.  
     
     
       32. A method as recited in  claim 31  additionally comprising the step of pretesting the selected logical volume using said conversion and analysis steps to predict the operation of the disk array storage device after the logical volume is moved. 
     
     
       33. A method as recited in  claim 32  additionally comprising the step of comparing the predicted operation and the operation of the disk storage device based upon said generation, conversion and analysis steps to generate a correction factor for use in subsequent analyses. 
     
     
       34. A method as recited in  claim 20  additionally comprising the step of comparing the predicted operation and the operation of the disk storage device based upon said generation, conversion and analysis steps to generate a correction factor for use in subsequent analyses.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.