Claims
- 1. A method of balancing workloads of storage devices of a storage subsystem, comprising:reading a single mailbox accessible to a plurality of host devices through a global memory to obtain control parameters written therein and rewritable by the host devices; collecting historical data on numbers of accesses to a plurality of storage volumes of the storage devices; and selecting one or more data swaps that lead to better balanced workloads of storage devices based on the historical data, one of the act of selecting and the act of collecting being defined by the control parameters.
- 2. The method of claim 1, wherein each data swap comprises a swap of data between a pair of physical storage volumes having the same size and emulation.
- 3. The method of claim 1, wherein both the act of selecting and act of collecting are defined by the control parameters.
- 4. The method of claim 1, wherein the act of collecting further comprises:updating a table having entries for numbers of accesses to physical storage volumes during a set of time slices.
- 5. The method of claim 1, wherein the control parameters define a run time limit for the selecting of data swaps.
- 6. The method of claim 1, wherein the control parameters include priorities for swapping storage volumes.
- 7. The method of claim 1, further comprising:performing the selected data swaps in response to the selected swaps not being excluded by values of the control parameters.
- 8. The method of claim 7, wherein the act of selecting further comprises:ranking the storage devices by workloads; and searching for data swaps between pairs of the storage devices that better balance workloads based on the historical data.
- 9. The method of claim 1, where in the collecting historical data comprises collecting a predetermined number of samples of historical data before selecting one or more data swaps based on the samples and the control parameters define the predetermined number.
- 10. A storage subsystem for providing data storage to a plurality of host devices, comprising:a plurality of data storage devices accessible to host devices; a data storage medium storing a single mailbox accessible to the plurality of host devices through a global memory, the mailbox storing control parameters rewritable by the host devices; and a computer coupled to read the mailbox and storing an executable program of instructions for a method of data swapping between storage volumes of the storage subsystem, the computer reading the control parameters for initializing the program from the mailbox.
- 11. The storage subsystem of claim 10, wherein the control parameters include priorities for swapping the physical storage volumes of the storage devices.
- 12. The storage subsystem of claim 10, wherein the program further comprises instructions for performing the selected swaps; andwherein the control parameters include an excluded time period for performing swaps.
- 13. The storage subsystem of claim 10, wherein the executable program of instructions comprises collecting a predetermined number of samples of historical data before data swapping between storage volumes of the storage subsystem based on the samples, and the control parameters define the predetermined number.
- 14. A storage medium storing an executable program of instructions for balancing workloads of storage devices of a storage subsystem, the instructions to cause a computer to:read a single mailbox accessible to a plurality of host devices through a global memory to obtain control parameters written therein and rewritable the host devices; collect historical data on numbers of accesses to a plurality of storage volumes of the storage devices; and select one or more data swaps that lead to better balanced workloads of storage devices based on the historical data, one of the instructions to cause the computer to collect historical data and select one or more data swaps being initialized by the control parameters.
- 15. The storage medium of claim 14, wherein each data swap is between a pair of physical storage volumes having the same size and emulation.
- 16. The storage medium of claim 14, wherein both one of the instructions to cause the computer to collect historical data and one of the instructions to cause the computer to select one or more data swaps are initialized by the control parameters.
- 17. The storage medium of claim 14, wherein the instructions to cause the computer to collect historical data further cause the computer to:update a table with entries for numbers of accesses to physical storage volumes during a set of time slices.
- 18. The storage medium of claim 14, wherein the control parameters define a run time limit for the acts of selecting data swaps.
- 19. The storage medium of claim 14, wherein the control parameters include priorities for swapping data of the storage volumes.
- 20. The storage medium of claim 14, wherein the instructions to cause a computer to collect historical data comprise instructions to collect a predetermined number of samples of historical data before selecting one or more data swaps based on the samples and the control parameters define the predetermined number.
- 21. The storage medium of claim 14, wherein the instructions further cause the computer to:perform the selected data swaps in response to the selected swaps not being excluded by the control parameters.
- 22. The storage medium of claim 21, wherein the instruction to select further causes the computer to:rank the storage devices by workloads; and search for data swaps between pairs of the storage devices that better balance workloads based on the historical data.
Parent Case Info
This application is a divisional of U.S. application 09/396,146, filed Sep. 15, 1999, now U.S. Pat. No. 6,480,930.
US Referenced Citations (9)
Number |
Name |
Date |
Kind |
6061761 |
Bachmat |
May 2000 |
A |
6088766 |
Bachmat et al. |
Jul 2000 |
A |
6189071 |
Bachmat |
Feb 2001 |
B1 |
6209059 |
Ofer et al. |
Mar 2001 |
B1 |
6237063 |
Bachmat et al. |
May 2001 |
B1 |
6341333 |
Schreiber et al. |
Jan 2002 |
B1 |
6381674 |
DeKoning et al. |
Apr 2002 |
B2 |
6442650 |
Bachmat et al. |
Aug 2002 |
B1 |
6480930 |
Zakai et al. |
Nov 2002 |
B1 |