storage device
The storage apparatus optimizes copy speeds in storage devices by dynamically adjusting based on performance information and thresholds, addressing the complexity of varying data requirements and enhancing copy performance.
Patent Information
- Application Number
- JP2023081804
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-05-17
- Publication Date
- 2025-10-22
- Estimated Expiration
- 2043-05-17
AI Technical Summary
Storage devices face complexity in performance design due to varying data requirements, often resulting in suboptimal copy performance as designers set uniform low copy speeds or dedicate small CLPRs, failing to realize the full potential of data copy performance.
A storage apparatus with a storage controller that adjusts copy speed levels dynamically based on performance information and thresholds for each volume over time periods, using a schedule to optimize copy speed according to current system performance.
This approach enhances the copy performance of volume data in storage devices by optimizing copy speeds in real-time, balancing with other processing demands.
Smart Images

Figure 0007758703000001 
Figure 0007758703000002 
Figure 0007758703000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a storage device. [Background technology]
[0002] Background art to this disclosure is US Patent Application Publication No. 2008 / 0077735. U.S. Patent Application Publication No. 2008 / 0077735, for example, discloses a cache disk storage including: "a plurality of disk drive subunits configured to store data, each having a maximum capacity, the disk drive subunits collectively comprising a maximum capacity of a cache; and a cache controller configured to respond to a requested upgrade adjustment of an effective capacity of the cache disk storage, the cache controller defining a capacity limit applicable to a file system providing active recognized effective capacity across the plurality of disk drive subunits, the recognized effective capacity of each of the disk drive subunits being a substantial proportion of the maximum capacity of the disk drive subunits, similar to the relationship between the total amount of active recognized effective capacity of data storage provided by the file system in the cache disk storage and the maximum capacity of the cache; the capacity limit being related to the requested upgrade adjustment, and the capacity limit controlling a rate of data transfer with respect to the file system." [Prior art documents] [Patent documents]
[0003] [Patent Document 1] U.S. Patent Application Publication No. 2008 / 0077735 Summary of the Invention [Problem to be solved by the invention]
[0004] A storage device can contain a mixture of data from systems with various requirements. Designers are required to design each volume taking various requirements into account, making the performance design of storage devices more complex. In order to avoid affecting the processing performance of host accesses in the storage device, designers often set a uniformly low copy speed without designing the performance of volume data copies such as backups, or set up a small amount of dedicated CLPR (Cache Logical Partition) for operation. As a result, the copy performance that could be achieved is not being realized. [Means for solving the problem]
[0005] A storage apparatus according to one embodiment of the present disclosure includes a storage controller that processes I / O requests from a host, and a storage device that stores data for the host, wherein the storage controller stores a schedule indicating the copy speed level for each of consecutive time periods within a cycle for each of a plurality of volumes, collects and stores current performance information of the storage controller in memory, and determines the copy speed level for the next time period based on the copy speed level for the next time period indicated by the schedule and the relationship between the value indicated by the performance information and a threshold value. [Effects of the Invention]
[0006] According to one aspect of the present disclosure, the copy performance of volume data in a storage device can be improved. [Brief explanation of the drawings]
[0007] [Figure 1] 1 illustrates a schematic configuration example of a computer system according to an embodiment of the present specification. [Figure 2] 1 illustrates an example of the hardware configuration of a storage device. [Figure 3] 1 illustrates an example of the hardware configuration of a management device. [Figure 4] 1 shows an example of the configuration of software executed by a storage controller and a management device. [Figure 5] 10 shows an example of the configuration of a bitmap management table. [Figure 6] 10 shows an example of the configuration of a usage function management table. [Figure 7] 10 shows an example of the configuration of a performance information management table. [Figure 8] 10 shows an example of the configuration of a speed table. [Figure 9] 10 shows an example of the configuration of an execution speed management table. [Figure 10] 10 shows an example of the configuration of a speed adjustment count and special day management table. [Figure 11] 10 shows an example of the configuration of a deviation rate management table. [Figure 12A] 10 shows a flowchart of an example of a real-time copy speed adjustment process. [Figure 12B] 10 shows a flowchart of an example of a real-time copy speed adjustment process. [Figure 12C] 10 shows a flowchart of an example of a real-time copy speed adjustment process. [Figure 12D] 10 shows a flowchart of an example of a real-time copy speed adjustment process. [Figure 13] 10 shows a flowchart of an example of a process for creating a backup execution plan for the next day. [Figure 14] 10 shows a flowchart of an example of a process for determining an exceptional day and adjusting an ideal value. DETAILED DESCRIPTION OF THE INVENTION
[0008] The following describes embodiments with reference to the drawings. Note that the embodiments are merely examples for realizing the present invention and do not limit the technical scope of the present invention. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.
[0009] In the following explanation, various types of information may be described using the expression "xxx table," but the various types of information may be expressed using data structures other than tables. To indicate that it is not dependent on the data structure, the "xxx table" may be referred to as "xxx information." Also, in the following explanation, numbers are used as identification information for elements, but other types of identification information (for example, names, identifiers) may be used.
[0010] In addition, in the following description, when describing elements of the same type without distinguishing between them, common reference symbols (or reference signs) may be used, and when describing elements of the same type with distinction between them, reference symbols (or element IDs) may be used.
[0011] The program is executed by a processor (e.g., a CPU (Central Processing Unit)) included in the storage controller to perform the specified processing using storage resources (e.g., main memory) and / or a communication interface device as appropriate, so the subject of the processing may be the storage controller or the processor. The storage controller may also include hardware circuits that perform some or all of the processing. The computer program may be installed from a program source. The program source may be, for example, a program distribution server or a computer-readable storage medium.
[0012] 1 schematically illustrates an example of the configuration of a computer system according to an embodiment of this specification. The computer system includes a storage device 10, hosts 21 and 22, a management device 30, an external storage device 40, a public storage device 50, and a remote copy (RC) destination storage device 60. The number of each type of device is arbitrary, and some types of devices may be omitted. The external storage device 40, the public storage device 50, and the remote copy destination storage device 60 are destination storage devices.
[0013] The host 21 accesses a volume provided by the storage device 10, for example, via a storage area network. The host 21 sends an I / O request (write request or read request) specifying an I / O destination to the storage device 10. The host 22 accesses a volume provided by the external storage device 40, for example, via a storage area network. The host 22 sends an I / O request specifying an I / O destination to the external storage device 40.
[0014] The storage device 10 copies data stored in a volume to multiple backup destinations as needed. Copying for data backup (also simply called backup) can be synchronous or asynchronous. The data to be copied can be the entire data of the copy source volume, or differential data resulting from updates.
[0015] Backup within the storage apparatus 10 or backup from the storage apparatus 10 to another storage apparatus is controlled by the copy control unit 130. The copy control unit 130 controls the copy speed based on information collected in the computer system. This will be described in detail later. Note that while the following mainly describes data copying for backup purposes, at least some of the features of the present disclosure may be applied to data copying for purposes other than backup.
[0016] 1, data in some primary volumes of the storage device 10 is copied to secondary volumes of the storage device 10 or other storage devices. The data in the primary or secondary volumes is stored in the physical storage device of the storage device that manages the volume.
[0017] 1, a secondary volume 42 for a primary volume 121 stored in the storage device 10 is stored in an external storage device 40. The external storage device 40 is an on-premise storage device, and communicates with the storage device 10 via, for example, a storage area network. Data in the primary volume 121 of the storage device 10 is copied to the secondary volume 42 of the external storage device 40 via a virtual volume within the storage device 10.
[0018] A secondary volume 52 corresponding to a primary volume 122 stored in the storage device 10 is stored in a public storage device 50. The public storage device 50 is, for example, a storage device in a public cloud. Communication between the storage device 10 and the public storage device 50 can be carried out, for example, using a public IP network.
[0019] A secondary volume 124, which is a copy of a primary volume 123 stored in the storage device 10, is stored in the storage device 10. A secondary volume 62, which is a copy of the secondary volume 124 as a primary volume, is stored in the remote copy destination storage device 60. The data in the secondary volume 62 can be used, for example, to recover data from the primary volume 123 in the event of a disaster.
[0020] The storage device 10 and the remote copy destination storage device 60 communicate via a network path that includes extenders 71 and 72. The extenders 71 and 72 enable long-distance transmission over the network and convert between the protocol of the storage devices 10 and 60 and the protocol between the extenders 71 and 72. For example, a dedicated line may be used between the extenders, and a storage area network may be used between the extenders and the storage device.
[0021] The management device 30 communicates with the storage device 10, the external storage device 40, the remote copy destination storage device 60, the hosts 21 and 22, and the network extenders 71 and 72 via a management network. The management device 30 collects various types of information from the other devices and stores it in a database 350. In the example shown in Fig. 1, the performance management unit 320 collects performance information (load information) from each of the storage device 10, the external storage device 40, the remote copy destination storage device 60, and the hosts 21 and 22.
[0022] If possible, the management device 30 may communicate with the public storage device 50 or a device that manages it to obtain performance information (load information) of the public storage device 50.
[0023] The replication management unit 330 collects remote copy-related performance information (load information) from the remote copy source storage apparatus 10 and the remote copy destination storage apparatus 60. The network (NW) bandwidth management unit 340 collects bandwidth information (communication load information) of the network used by the storage apparatus 10 for communication. In the example of FIG. 1, bandwidth information is collected from the extenders 71 and 72. The network bandwidth management unit 340 may additionally collect bandwidth information from the storage apparatus 10 and / or network devices between the storage apparatus 10 and the public storage apparatus 50.
[0024] Note that only a portion of the collected information may be collected, or performance information of other devices may also be collected. For example, information on the hosts 21 and 22 may not be collected, and information may be collected only from the host 21 that communicates with the storage device 10. In addition to or instead of the above network bandwidth information, bandwidth information of other networks may be collected. For example, the network bandwidth management unit 340 may collect bandwidth information from the storage device 10, the external storage device 40, and / or network devices, such as switches, in the network between them. Note that collection of performance information from the storage device 10 may be omitted. The storage device 10 holds and manages its own information.
[0025] Fig. 2 shows an example of the hardware configuration of the storage device 10. The storage device 10 includes one or more drives 120, which are physical storage devices, and a storage controller 110 connected to the drives 120. The storage controller 110 includes interfaces (I / F) 113 to 116, a memory 112, and a processor 111 connected thereto. In Fig. 2, each of a plurality of processors and memories is indicated by a reference symbol as an example.
[0026] The interface 114 is a communication interface device that mediates data exchange between the host and the storage controller 110. The host is connected to the interface 114, for example, via a storage area network. The interface 115 is an interface device for communicating with the external storage apparatus 40 and the remote copy destination storage apparatus 60. The interface 115 is connected to other storage apparatuses via a storage area network.
[0027] The interface 116 is a communication interface device for communicating with the management device 30 and the public storage device 50. The interface 116 is connected to, for example, a LAN. The interface 116 communicates with the management device 30 in the LAN or via the LAN and a public line. The interface 116 communicates with the public storage device 50 via the LAN and a public line.
[0028] The interface 113 is a communication interface device that mediates the exchange of data between the multiple drives 120 and the storage controller 110. The multiple drives 120 are connected to the interface 113, for example, via a switch (not shown).
[0029] The memory 112 stores programs executed by the processor 111 and data used by the processor 111. The memory 112 is a RAM (Random Access Memory), an NVRAM (Non-Volatile RAM), etc. Programs and data stored in a non-transitory storage medium (not shown) are read into the memory 112.
[0030] The processor 111 executes a program stored in the memory 112. For example, a set of the memory 112 and the processor 111 is duplicated. The processor 111 is configured using a CPU, an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), etc. The processor 111 reads and executes a program stored in the memory 112, thereby realizing a predetermined function.
[0031] The drive 120 is, for example, an HDD (Hard Disc Drive) and mainly stores user data. The drive 120 may be a drive made of semiconductor memory such as flash memory. Multiple drives 120 may form a RAID group. One or more logical storage areas (volumes) are created in the drive 120 based on the RAID group. The volumes are associated with the physical storage areas of the drive 120. Note that the same explanation as for the storage device 10 can also be applied to the hardware configurations of the other storage devices 40, 50, and 60.
[0032] 3 shows an example of the hardware configuration of the management device 30. The management device 30 includes a processor 302, a main memory device 303, an auxiliary memory device 304, an input device 305, an output device 306, and a communication interface 307. The components of the management device 30 are connected to each other so that they can communicate with each other via communication means such as a bus (not shown). Note that the management device 30 may be configured such that all or part of its configuration is realized by virtual resources such as a cloud server.
[0033] The processor 302 is configured using a CPU, an MPU, a GPU, etc. The processor 302 realizes a predetermined function by reading and executing a program stored in the main memory device 303. The main memory device 303 is a device that stores programs and data, and is a ROM (Read Only Memory), RAM (Random Access Memory), NVRAM (Non-Volatile RAM), etc.
[0034] The auxiliary storage device 304 is, for example, a solid state drive (SSD), an NVRAM, or an HDD. The auxiliary storage device 304 includes a non-transitory storage medium that stores programs and data. The programs and data stored in the auxiliary storage device 304 are loaded into the main storage device 303 as needed.
[0035] The input device 305 is an interface that accepts input of information, and is, for example, a keyboard, a mouse, a touch panel, a card reader, a microphone, etc. The output device 306 is an interface that outputs various types of information, and is, for example, a display device, a printer, an audio output device such as a speaker, etc. The communication interface 307 is a device that enables the management device 30 to communicate with other devices. Some of the components shown in FIG. 3 may be omitted, and other components may be added.
[0036] 4 shows an example of the configuration of software executed by the storage controller 110 and management device 30. The software executed by the management device 30 includes a performance management unit 320, a replication management unit 330, and a network bandwidth management unit 340.
[0037] The performance management unit 320 collects and manages performance information 322 of the external storage device 40 and performance information 323 of the hosts 21 and 22. The performance management unit 320 periodically collects information from the external storage device 40 and the hosts 21 and 22 and includes it in external storage performance information 322 and host performance information 323. These are stored in a database 350. The external storage performance information 322 can include the same items as the performance information 142 of the storage controller 110, and the host performance information 323 indicates performance information of the host, and can include processor usage rate, memory usage rate, etc. Details of the items in the performance information 142 will be described later.
[0038] The replication management unit 330 collects and manages remote copy-related performance information 332 of the remote copy source storage unit 10 and the remote copy destination storage unit 60. The replication management unit 330 periodically collects information from the remote copy source storage unit 10 and the remote copy destination storage unit 60 and includes it in the replication performance information 332. The replication performance information 332 is stored in a database 350.
[0039] The external storage performance information 322 and replication performance information 332 may include, for example, the processor utilization rate of the storage controller, the cache write wait rate, the port data transfer volume, etc. The cache write wait rate is the ratio of the area of data waiting to be destaged to the drive to the cache area. If multiple storage controllers or multiple ports are implemented, the average value of these or the value of a pre-specified device may be used. If possible, the remote copy destination storage apparatus 60 may be treated as external storage, and information about the remote copy destination storage apparatus 60 may be included in the external storage performance information 322 of the performance management unit 320.
[0040] The network bandwidth management unit 340 collects performance information of the network used by the storage device 10, includes it in network bandwidth information 342, and manages it. The network bandwidth information 342 can be obtained from network devices such as extenders 71 and 72 and switches. The network bandwidth information 342 is stored in a database 350.
[0041] The firmware 150 executed by the storage controller 110 includes a copy control unit 130 and a performance information acquisition unit 140. The performance information acquisition unit 140 collects current performance information 142 (load information) of the storage controller 110. The performance information 142 may include, for example, the processor operating rate, the cache write wait rate, and the backup job utilization rate. The backup job utilization rate is the ratio of the number of running processes to the maximum number of backup processes that the processor can execute.
[0042] The performance information acquisition unit 140 may further collect bandwidth information of the network used by the storage controller 110. For example, this may include the port data transfer volume of the interfaces 113 to 116. The performance information 142 may be transferred to the management device 30 and stored in the database 350, for example. The collection cycle of the current performance information of different functional units may or may not be the same.
[0043] The copy control unit 130 includes a speed setting unit 132, a bitmap management unit 133, and a copy speed control unit 135. The bitmap management unit 133 manages bitmaps used in volume copying. The speed setting unit 132 sets the copy speed for each volume. Note that multiple volumes may constitute a single copy group, and a common copy speed may be set for the volumes in the copy group. The copy speed control unit 135 controls the copy speed for each volume based on the information about the computer system collected by the management device 30 and the performance information acquisition unit 140. Details of the operation of the copy control unit 130 will be described later.
[0044] The following describes examples of information held and managed by the storage controller 110. The information is stored in the memory 112. The management information of the storage controller 110 may also be stored in the drive 120 or other non-volatile storage device.
[0045] FIG. 5 shows an example of the configuration of a bitmap management table 810. The bitmap management table 810 manages the data differences between the source volume and the destination volume. In the example of FIG. 5, addresses in the bitmap volume are represented by 8 bits. Column 811 indicates the first 4 bits, and row 812 indicates the last 4 bits. If the data at a certain address differs between the source volume and the destination volume, the value of that address in the bitmap management table is 1. If the data is the same and there is no difference, the value of that address is 0.
[0046] 6 shows an example of the configuration of a usage function management table 820. The usage function management table 820 manages flags for specifying the range of performance information to be referenced in copy control. The usage function management table 820 includes a flag column 822 that indicates a flag, and a usage function column 821 that indicates the function to be used for copy control, which each flag signifies. The copy control unit 130 controls data copying using the performance information collected by the function indicated in the usage function column 821.
[0047] For example, flag 000 means performance information collected only by the firmware of the storage controller 110, i.e., the performance information acquisition unit 140. Flags 001, 010, and 100 mean performance information from the performance management unit 320 only, performance information from the replication management unit 330 only, and performance information from the network bandwidth management unit 340 only, respectively. In the following explanation, "T" may represent the performance management unit 320, "R" may represent the replication management unit 330, and "N" may represent the network bandwidth management unit 340.
[0048] 7 shows an example of the configuration of a performance information management table 830. The performance information management table 830 manages information about performance items referenced in copy control. It includes a data storage destination column 831, a data item name column 832, an ideal value column 833 for days other than special days, an ideal value column 834 for special days, a flag column 835, and an immediate count column 836.
[0049] The initial values of the ideal value (other than special days) and ideal value (special day) for each record in the performance information management table 830 are set by the user. In one example, the initial values in the ideal value column 833 for days other than special days and the ideal value column 834 for special days for each record are the same. The values in the ideal value column 833 for days other than special days and the ideal value column 834 for special days are updated by the copy control unit 130. Details of the updates will be described later. In FIG. 7, the ideal value is represented by 16 bits.
[0050] The ideal values for the performance items acquired by the performance management unit 320, replication management unit 330, and network bandwidth management unit 340 may be set by the user in the performance management unit 320, replication management unit 330, and network bandwidth management unit 340, respectively, and acquired in the performance information management table 830.
[0051] The data storage destination column 831 indicates the address in memory 112 where data is stored. The data item name column 832 indicates the item of performance information referenced in copy control. The ideal value column 833 for days other than special days indicates the ideal value of the data item on days other than special days. The ideal value column 834 for special days indicates the ideal value of the data item on special days. The ideal value is a threshold value referenced to determine the copy speed level. The meaning of the flag indicated by the flag column 835 is the same as that of the flag column 822 in the function usage management table 820. The immediate count column 836 indicates the immediate count number for one month, with an initial value of 0. The immediate count indicates the number of times the copy speed level has been lowered in real time, and is updated during copy processing. The immediate count will be described in detail below.
[0052] Each record in the performance information management table 830 indicates information about a data item in the data item name column 832 in the performance information collected by the function indicated by the flag in the flag column 835. For example, the value in the flag column 835 of record 837 is 000, so the subject is information collected by the performance information acquisition unit 140 of the storage controller 110. The data item name column 832 indicates the cache write wait rate. Therefore, record 837 indicates information about the cache write wait rate of the storage controller 110. Details of the anomalous day and ideal value will be described later.
[0053] The value of the flag column 835 of the record 838 is 001, and therefore the subject is information collected by the performance management unit 320 of the management device 30. The data item name column 832 indicates the processor availability rate. As described above, the performance management unit 320 collects and manages external storage performance information 322 and host performance information 323. In the example of FIG. 7, for ease of explanation, an ideal value common to the external storage device 40 and the hosts 21 and 22 is defined, but a different value may be set for the external storage device 40 than for the hosts 21 and 22, and common or different ideal values may also be set between the hosts 21 and 22.
[0054] The value of the flag column 835 of record 839 is 010, so the subject is information collected by the replication management unit 330 of the management device 30. The data item name column 832 indicates the port data transfer rate. Therefore, the ideal value of the data transfer rate per unit time of a specific port for remote copying of the storage device 10 is indicated in record 839. The port data transfer rate may be, for example, the port data transfer rate of the remote copy destination storage device 60, or the average value of the data transfer rate per unit time of multiple ports.
[0055] The value of the flag column 835 of the record 840 is 000, and therefore the subject is information collected by the performance information acquisition unit 140 of the storage controller 110. The data item name column 832 indicates the copy processing multiplicity. In other words, it indicates the ideal value of the copy processing multiplicity of the storage controller 110. As the copy processing multiplicity increases, the copy speed increases.
[0056] 8 shows an example of the configuration of a speed table 845. The speed table 845 shows copy speeds that can be set by the copy control unit 130. The copy speed is set for each volume. Note that multiple volumes may form a copy group, and a common copy speed may be set for these volumes.
[0057] The speed table 845 includes a speed column 846 and an identifier column 847. The example in FIG. 8 shows three speed levels: low, medium, and high. The identifier is represented by 8 bits, with low defined as -1, medium defined as 0, and high defined as +1. Note that the speed table 845 indicates copy speed levels, which may differ from the actual copy speed. The copy speed control unit 135 determines the actual copy speed according to the specified copy speed level. The copy speed varies depending on, for example, the degree of copy processing multiplicity, and is controlled more precisely than these speed levels.
[0058] 9 shows an example of the configuration of an execution speed management table 850. The execution speed management table 850 shows a schedule of copy speed levels set in advance for each volume in a predetermined cycle (time period) and a history of the copy speed levels that are actually selected. In one example, the predetermined cycle coincides with the cycle at which performance information is acquired by the firmware 150. The storage controller 110 holds an execution speed management table 850 with the configuration shown in FIG. 9 for each volume or each copy group.
[0059] The execution speed management table 850 manages the schedule and performance information for all subsequent copy speed levels, for example, from the first to the last day of the month. The length of each subsequent time period is fixed, for example, three minutes. Note that backup copies are performed, for example, within a limited time period of one day. For example, the schedule for the daily copy speed level, which is the backup cycle, is determined after the previous day's backup is completed and registered in the execution speed management table 850.
[0060] The execution speed management table 850 includes a date column 851, an iteration column 852, and a speed column 853. The date column 851 indicates the date of the month and is represented by 5 bits. The iteration column 852 indicates the iteration for each day and is represented by 16 bits. Before the copy process starts, the initial value in the speed column 853 specifies the copy speed level for each iteration (time period). During the copy process, the value in the speed column 853 is updated as needed to the copy speed level actually used for each iteration. As shown in the speed table 845, the copy speed levels are represented by -1, 0, and +1 for low, medium, and high speeds, respectively. In the example described below, the initial value command specifies a specific copy speed or specifies the same copy speed level as the previous iteration.
[0061] As will be described later, the actual copy speed level for each volume during each time period in a day is determined based on the set speed level indicated in the speed column 853 and the acquired performance information of the computer system. The value in the speed column 853 is updated based on the speed level that is actually used.
[0062] 10 shows an example of the configuration of a speed adjustment count and special day management table 860. The speed adjustment count and special day management table 860 holds the number of times the speed of the volume was changed from the first day to the last day of the month in order to determine whether it is a special day. In the example of FIG. 10, the speed adjustment count and special day management table 860 includes a date column 861, an immediate count column 862, a change count column 863, and a special day flag column 864.
[0063] The immediate count column 862 and the change count column 863 indicate the immediate count number and change count number for one day, respectively. These are updated as needed during the copy process for each day of the month. The immediate count and change count will be described later. The value of the special day flag column 864 for the month is set before the start of the month. Details will be described later in the monthly flow. In Figure 10, the value of the flag indicating a special day is 1. A speed adjustment count and special day management table 860 is prepared for each month and each volume.
[0064] 11 shows an example of the configuration of a deviation rate management table 870. The deviation rate management table 870 holds a user-set value for determining how much deviation from the ideal value is required to be judged as HIGH or LOW. The deviation rate management table 870 includes a HIGH column 871 and a LOW column 872. The HIGH column 871 indicates the threshold value for the deviation rate from the ideal value that is judged as HIGH, and the LOW column 872 indicates the threshold value for the deviation rate from the ideal value that is judged as LOW.
[0065] The processing of the copy control unit 130 is described below. In the example described below, the copy control unit 130 determines special days and normal days other than special days based on the performance of backup processing in a month, as will be described later with reference to FIG. 14. Furthermore, it determines the initial values of the copy speed level schedule for each special day and normal day. The corresponding copy speed level schedule is used on the first day of each special day and the first day of each normal day in the month. This makes it possible to set an appropriate copy speed level even for special days that are different from normal days.
[0066] As will be explained with reference to FIG. 13, the copy control unit 130 determines the copy speed level schedule for the second and subsequent special days based on the performance on the previous special day. Similarly, the copy speed level schedule for the second and subsequent normal days is determined based on the performance on the previous normal day. For example, if the special day is Tuesday, the copy speed level schedule for the second special day is determined based on the performance on Tuesday of the previous week. The copy speed level schedule for Wednesday, which is a normal day, is determined based on the performance on Monday of that week. This allows a more appropriate copy speed level schedule to be determined for each day.
[0067] 12A to 12D, the copy control unit 130 determines the copy speed level for each time period on the day based on a preset schedule and collected performance information of the computer system. This allows for a more appropriate copy speed to be determined for each day's backup processing.
[0068] First, an example of real-time copy speed adjustment processing will be described with reference to Figures 12A to 12D. In this example, the real-time speed adjustment processing adjusts the copy speed at regular intervals, for example, at the same interval as performance information acquisition, so that it is below the ideal value. This reduces the impact of the copy processing on other processing, including host I / O processing.
[0069] In the example described below, the real-time copy speed adjustment process is executed at predetermined intervals (for example, every three minutes) during a specific period of one day. The copy speed level for each volume during each time period is stored in the speed column 853 of the execution speed management table 850. As described above, the command specifically indicates low speed, medium speed, or high speed.
[0070] When the previous time period is compared with the current time period (current time), and there is a difference in the speed column 853, a command is executed to change the speed level to the speed level stored in the speed column 853 for the current time period (current time). When the previous time period is compared with the current time period (current time), and there is no difference in the speed column 853, this means that the copy speed level is the same as the previous time period, and no change in the speed level, i.e., no command is executed. By executing a command to change the speed level only when there is a difference in the speed column 853, it is possible to avoid unstable operation due to frequent increases and decreases in the copy speed level.
[0071] In the example described below, the performance information 142 in the firmware 150 of the storage controller 110 is assumed to be the cache write wait rate, the processor operating rate, the port data transfer amount, and the backup job utilization rate.
[0072] First, the copy speed control unit 135 refers to the performance information 142 and the performance information management table 830, and compares the latest cache write wait rate value with an ideal value (S11). The ideal value is shown in the performance information management table 830. The ideal value is selected depending on whether the day in question is an unusual day. Information on unusual days is shown in the speed adjustment count and the unusual day management table 860. The cache write wait rate is the maximum value, average value, etc. within the performance information acquisition interval. If the cache write wait rate value is greater than the ideal value, the flow proceeds to the flowchart in Figure 12B via connector A.
[0073] The copy speed control unit 135 refers to the performance information 142 and the performance information management table 830, and compares the latest processor availability value with an ideal value (S12). The ideal value is selected depending on whether the day in question is an unusual day or not. The processor availability is the maximum value, average value, etc. within the performance information acquisition interval. If the processor availability value is greater than the ideal value, the flow proceeds to the flowchart in FIG. 12B via connector A.
[0074] The copy speed control unit 135 refers to the performance information 142 and the performance information management table 830, and compares the latest port data transfer rate value with the ideal value (S13). The ideal value is selected depending on whether the day in question is an unusual day or not. The port data transfer rate is the maximum value, average value, etc., within the performance information acquisition interval. If the port data transfer rate value is greater than the ideal value, the flow proceeds to the flowchart in Figure 12B via connector A.
[0075] The copy speed control unit 135 refers to the performance information 142 and the performance information management table 830, and compares the latest backup job utilization rate value with an ideal value (S14). The ideal value is selected depending on whether the day in question is an unusual day or not. The backup job utilization rate is the maximum value, average value, etc., within the performance information acquisition interval. If the backup job utilization rate value is greater than the ideal value, the flow proceeds to the flowchart in FIG. 12B via connector A.
[0076] If all four values are equal to or less than the ideal value, the copy speed control unit 135 assigns 0 to the flags T, R, and N (S15). Here, the flags T, R, and N indicate the flags of the performance management unit 320, replication management unit 330, and network bandwidth management unit 340, respectively.
[0077] Next, the copy speed control unit 135 determines whether or not there is cooperation with the performance management unit 320 by referencing the performance information management table 830 (S16). If the flag column 835 indicates a value that includes the performance management unit 320, cooperation with the performance management unit 320 exists. If cooperation with the performance management unit 320 exists (S16: yes), the copy speed control unit 135 assigns 1 to flag T, and further copies the information collected by the performance management unit 320 from the database 350 (S17). If cooperation with the performance management unit 320 does not exist (S16: no), step S17 is omitted.
[0078] Next, the copy speed control unit 135 determines whether or not there is cooperation with the replication management unit 330 by referencing the performance information management table 830 (S18). If the flag column 835 indicates a value that includes the replication management unit 330, cooperation with the replication management unit 330 exists. If cooperation with the replication management unit 330 exists (S18: yes), the copy speed control unit 135 assigns 1 to flag R, and further copies the information collected by the replication management unit 330 from the database 350 (S19). If cooperation with the replication management unit 330 does not exist (S18: no), step S19 is omitted.
[0079] Next, the copy speed control unit 135 determines whether or not there is cooperation with the network bandwidth management unit 340 by referencing the performance information management table 830 (S20). If the flag column 835 indicates a value that includes the network bandwidth management unit 340, cooperation with the network bandwidth management unit 340 exists. If cooperation with the network bandwidth management unit 340 exists (S20: yes), the copy speed control unit 135 assigns 1 to flag N, and further copies the information collected by the network bandwidth management unit 340 from the database 350 (S21). If cooperation with the network bandwidth management unit 340 does not exist (S20: no), step S21 is omitted.
[0080] Next, if flag T=1, the copy speed control unit 135 references the external storage performance information 322, the host performance information 323, and the performance information management table 830, and compares each of the latest values of the data items specified by the performance information management table 830 with the corresponding ideal value (S22). If the latest value of any one of the data items is greater than the ideal value, the flow proceeds to the flowchart in Fig. 12B via connector A. If the latest values of all the data items are greater than the ideal value, below If so, the flow proceeds to step S23.
[0081] Next, if flag R=1, the copy speed control unit 135 references the replication performance information 332 and the performance information management table 830, and compares each of the latest values of the data items specified by the performance information management table 830 with the corresponding ideal value (S23). If the latest value of any one of the data items is greater than the ideal value, the flow proceeds to the flowchart in Figure 12B via connector A. If the latest values of all the data items are greater than the ideal value, below If so, the flow proceeds to step S24.
[0082] Next, if flag N=1, the copy speed control unit 135 refers to the network bandwidth information 342 and the performance information management table 830, and compares each of the latest values of the data items specified by the performance information management table 830 with the corresponding ideal value (S24). If the latest value of any one of the data items is greater than the ideal value, the flow proceeds to the flowchart in Fig. 12B via connector A. If the latest values of all the data items are greater than the ideal value, below If the flow is joined child B and proceed to the flowchart of FIG. 12C.
[0083] Next, the flowchart in Fig. 12B will be described. The copy speed control unit 135 starts the processing of the flowchart in Fig. 12B via connector A. First, the copy speed control unit 135 refers to the execution speed management table 850 and determines whether there is a volume whose set copy speed level in the current time slot (current time) is medium (S25).
[0084] If a medium-speed volume exists (S25: YES), the copy speed control unit 135 sets a -1 bit for the current time period (target time period) for the target volume (S26). Bit information for each time period and each volume is recorded in a table (not shown) in the memory 112. The copy speed control unit 135 changes the set copy speed level of the target volume from medium to low. The copy speed control unit 135 increments the value of the real-time count column 862 in the speed adjustment count and special day management table 860 and the value of the real-time count column 836 of the corresponding data item in the performance information management table 830 (S27).
[0085] Next, the copy speed control unit 135 references the execution speed management table 850 and determines whether there is a volume whose set copy speed level in the current time slot (current time) is high (S28). If a high-speed volume is present (S28: YES), the copy speed control unit 135 sets a 0 bit for the target volume in the current time slot (target time slot) (S29). The copy speed control unit 135 changes the set copy speed level of the target volume from high to medium. The copy speed control unit 135 increments the value of the real-time count column 862 in the speed adjustment count and special day management table 860 and the value of the real-time count column 836 of the corresponding data item in the performance information management table 830 (S30).
[0086] Next, the flowchart of Fig. 12C will be described. The copy speed control unit 135 starts the processing of the flowchart of Fig. 12C via a connector B. The processing shown in Fig. 12C calculates the deviation rate from the ideal value.
[0087] The copy speed control unit 135 assigns 0 to the variables Tave, Rave, and Nave (S31). Tave is the average value of the deviation rates from the ideal values of the data items of the performance management unit 320. Rave is the average value of the deviation rates from the ideal values of the data items of the replication management unit 330. Nave is the average value of the deviation rates from the ideal values of the data items of the network bandwidth management unit 340.
[0088] Next, the copy speed control unit 135 determines the value of flag T (S32). If the value of flag T is 1 (S32: 1), the copy speed control unit 135 calculates the value of Tave (S33). For example, the calculation formula is (T data copies / ideal value) * 100 / (number of data items in T). In other words, the sum of the ratios of the values of all data items in the performance management unit 320 to their respective ideal values is calculated, and then divided by the number of data items. If the value of flag T is 0 (S32: 0), step S33 is omitted.
[0089] Next, the copy speed control unit 135 determines the value of flag R (S34). If the value of flag R is 1 (S34: 1), the copy speed control unit 135 calculates the value of Rave (S35). For example, the calculation formula is (R data copies / ideal value) * 100 / (R number of data items). In other words, the sum of the ratios of the values of all data items in the replication management unit 330 to their respective ideal values is calculated, and then divided by the number of data items. If the value of flag R is 0 (S34: 0), step S35 is skipped.
[0090] Next, the copy speed control unit 135 determines the value of flag N (S36). If the value of flag N is 1 (S36: 1), the copy speed control unit 135 calculates the value of Nave (S37). For example, the calculation formula is (data copies of N / ideal value) * 100 / (number of data items of N). In other words, the sum of the ratios of the values of all data items in the network bandwidth management unit 340 to their respective ideal values is calculated, and then divided by the number of data items. If the value of flag N is 0 (S36: 0), the copy speed control unit 135 proceeds to step S3 7 is omitted.
[0091] Next, the copy speed control unit 135 calculates the deviation rate C from the ideal value of the cache write wait rate of the storage controller 110 (S38). For example, the calculation formula is (cache write wait rate / ideal value)*100.
[0092] Next, the copy speed control unit 135 calculates the deviation rate M from the ideal value of the processor availability rate of the storage controller 110 (S39). For example, the calculation formula is (processor availability rate / ideal value)*100.
[0093] Next, the copy speed control unit 135 calculates the deviation rate of the port data transfer amount of the storage controller 110 from the ideal value. P For example, the calculation formula is (port data transfer amount / ideal value)*100.
[0094] Next, the copy speed control unit 135 calculates the deviation rate of the backup job utilization rate of the storage controller 110 from the ideal value. S Calculate ( S 41) For example, the calculation formula is (backup job utilization rate / ideal value) * 100.
[0095] Next, the copy speed control unit 135 calculates the average value Ave of the previously calculated Tave, Rave, Nave, C, M, P, and S (S42). Thereafter, the flow proceeds to the flowchart in FIG. 12D via a connector C.
[0096] Next, the flowchart in Fig. 12D will be described. The copy speed control unit 135 starts the processing of the flowchart in Fig. 12D via a connector C. The processing shown in Fig. 12D executes a determination to increase the speed by one step for the same time period on the next day (same time on the next day) when the set copy speed level for the current time period (current cycle) has a margin relative to the ideal value. Note that the next day is the next normal day if the current day is a normal day other than an unusual day, and the next unusual day if the current day is a unique day.
[0097] The copy speed control unit 135 compares the value of the average deviation rate Ave calculated in step S42 of Fig. 12C with the value of the threshold value LOW (S45). The value of the threshold value LOW is registered in the deviation rate management table 870.
[0098] If the value of the average deviation rate Ave is equal to or greater than the threshold value LOW, the copy speed control unit 135 compares the value of the average deviation rate Ave with the value of the threshold value HIGH (S46). The value of the threshold value HIGH is registered in the deviation rate management table 870. If the value of the average deviation rate Ave is equal to or greater than the threshold value HIGH, this process ends.
[0099] In step S45, if the value of the average deviation rate Ave is less than the threshold value LOW, the copy speed control unit 135 determines whether there is a volume whose set copy speed level is medium (S47). If there is a volume whose set copy speed level is medium, a +1 bit is set for that target volume and the current time zone (target time zone), and the value in the speed adjustment count and change count field 863 of the special day management table 860 is incremented (S48).
[0100] In step S47, if there is no volume whose set copy speed level is medium, or if the value of the average deviation rate Ave is less than the threshold value HIGH in step S46, the copy speed control unit 135 determines whether there is a volume whose set copy speed level is low (S49).
[0101] If a volume with a low set copy speed level exists, a 0 bit is set for that target volume and the current time zone (target time zone), the value in the change count column 863 of the speed adjustment count and special day management table 860 is incremented (S50), and this process ends.If no volume with a low set copy speed level exists, this process ends.
[0102] In the processing described with reference to FIGS. 12A to 12D, the copy speed control unit 135 records information on the copy speed level actually used in each time period for each volume in the execution speed management table 850.
[0103] 12A to 12D, the copy speed control unit 135 determines the copy speed level for the next time period based on the copy speed level for the next time period indicated by the execution speed management table 850 and the relationship between the ideal value and the value indicated by the performance information of the computer system. The copy speed control unit 135 determines whether the speed level needs to be maintained, increased, or decreased, and determines to maintain the copy speed level for the next time period if the speed level needs to be maintained or increased, as shown in Fig. 12D, or determines to decrease the copy speed level for the next time period if the speed level needs to be decreased, as shown in Fig. 12B.
[0104] If the system load is higher than the set level in relation to the ideal value, the copy speed level is immediately lowered. This reduces the impact on other processes. Also, even if the system load is lower than the set level in relation to the ideal value, the copy speed level is not immediately raised, but the relationship is simply recorded. This makes it possible to avoid unstable operation due to frequent increases and decreases in the copy speed level. Note that the copy speed level may be immediately raised. Also, the copy speed level does not have to be immediately lowered.
[0105] Next, the process for creating a backup execution plan will be described. A backup execution plan is executed at a fixed, predetermined cycle. This process aggregates data for a predetermined period at the end of a scheduled backup, and determines an execution plan for each volume for the next predetermined period. In the execution plan, the copy speed for each time period of each volume is determined and registered in the execution speed management table 850. The process described with reference to Figures 12A to 12D is repeatedly executed within the backup execution plan creation cycle. For example, a backup execution plan is executed every day (24 hours), and the real-time speed adjustment described with reference to Figures 12A to 12D is executed every three minutes.
[0106] 13 shows a flowchart of an example of the process for creating a backup execution plan for the next day. The backup execution plan indicates a copy speed level schedule for each volume for one day. The copy speed setting unit 132 refers to the results of the previous special day to create a copy speed level schedule for a special day. It also refers to the results of the previous normal day to create a copy speed level schedule for a normal day other than the special day. Fast The level setting unit 132 repeatedly acquires bit information for each volume at each performance information acquisition interval in the processing described with reference to Figures 12A to 12D, and executes the following processing. Note that the copy speed level schedule for the first special day (first day) of each month and for the normal day will be described later with reference to Figure 14.
[0107] The speed setting unit 132 determines whether a bit for the relevant time period exists (S61). If no bit exists, the speed setting unit 132 determines whether a bit for the immediately previous time period exists (S62). If a bit for the immediately previous time period does not exist, this process ends. If a bit for the immediately previous time period exists, the speed setting unit 132 sets the same speed level as the copy speed level for the time period before that in the execution speed management table 850 for the target volume to the relevant time period of the next day in the execution speed management table 850. Note that the next day is the next normal day if the current day is a normal day other than an exceptional day, and the next exceptional day if the current day is an exceptional day.
[0108] If a bit exists in step S61, the speed setting unit 132 determines whether the value indicated by the bit is -1 (S64). If the value indicated by the bit is -1, the speed setting unit 132 determines the value of the bit for the immediately previous time slot (S65). If the value of the bit for the immediately previous time slot is -1, this processing ends. If the value of the bit for the immediately previous time slot is different from -1, the speed setting unit 132 sets the speed level of the target volume for that time slot on the next day in the execution speed management table 850 to low speed (S66).
[0109] In step S64, if the value indicated by the bit is different from -1, the speed setting unit 132 determines whether the value indicated by the bit is 0 (S67). If the value indicated by the bit is 0, the speed setting unit 132 determines the value of the bit for the immediately previous time slot (S68). If the value of the bit for the immediately previous time slot is 0, this processing ends. If the value of the bit for the immediately previous time slot is different from 0, the speed setting unit 132 sets the speed level of the target volume for that time slot on the next day in the execution speed management table 850 to medium speed (S69).
[0110] In step S67, if the value indicated by the bit is different from 0, the speed setting unit 132 determines whether the value indicated by the bit for the immediately preceding time period is 1 (S70). If the value indicated by the bit for the immediately preceding time period is different from 1, the speed setting unit 132 sets the speed level of the target volume for that time period on the next day in the execution speed management table 850 to high speed (S 71If the bit value of the previous time slot is 1, this process ends.
[0111] The above-described process makes it possible to appropriately determine the copy speed level schedule for the next day in accordance with the state of the computer system, based on the bits that indicate the relationship between the ideal value and performance information from the previous day's copy process, and the relationship between that relationship and the copy speed level set for the volume. Furthermore, by managing the bits, it is possible to avoid unstable operation due to frequent increases and decreases in the copy speed level.
[0112] Next, the process of determining anomalous days and adjusting ideal values will be described with reference to the flowchart in Figure 14. This process may be, for example, a monthly flow executed every month. For example, the monthly flow aggregates data from the first to last day of the previous month on the first day of each month, determines anomalous days, and adjusts ideal values.
[0113] The speed setting unit 132 obtains information on the real-time count from the 1st to the last day of the previous month from the speed adjustment count and special day management table 860. Here, the real-time count for each day is obtained for all volumes. Furthermore, the speed setting unit 132 determines a predetermined number of days with the highest real-time count and other days (S81). Here, the top five days in terms of real-time count are separated from the other days. The real-time count is incremented when the copy speed level is lowered based on the relationship between performance information and the ideal value. A large real-time count means that the copy speed level has been lowered from the preset value with high frequency. This allows special days to be appropriately determined. Note that days on which the real-time count is greater than a threshold value may be selected as special days.
[0114] The speed setting unit 132 determines that a day with an instantaneous count number of 6 or less is a normal day, different from an unusual day (S82). Furthermore, the speed setting unit 132 sets and determines a copy speed schedule for the normal day. Specifically, among the days determined to be normal days, the speed setting unit 132 determines the copy speed level performance (history) of the day with the smallest change count number as the copy speed level schedule for the first normal day of the next month (S83). The change count number indicates the number of copy speed increase determinations, and the initial value of the copy speed level schedule for normal days of each month is determined based on the copy speed level of the normal day of the previous month with the smallest number of copy speed increase determinations.
[0115] A small change count number means that the performance value has been trending close to the ideal value. The copy speed level schedule for the normal day with the smallest change count number is stored in the record for the first normal day of the next month in the execution speed management table 850.
[0116] The speed setting unit 132 determines a special day based on the periodicity of the day with the highest real-time count, such as the day of the week or the end of the month (S84). For example, if three or more days of the same day of the week are included, that day of the week in the next month may be determined to be a special day. Also, if the end of the month is included in the higher-ranking days, the end of the month in the next month may be determined to be a special day. A date that is not included in the periodicity of the day of the week or the end of the month may also be determined to be a special day in the next month. Note that a day with an real-time count of 6 or less may be designated as a special day. Days other than special days become final normal days. Special days are set in the speed adjustment count and special day management table 860 for the next month. In this way, special days in the current month are selected according to the number of times the copy speed level has been reduced, as indicated by the real-time count.
[0117] Next, the speed setting unit 132 determines the copy speed level schedule for the special day (S85). For example, the speed setting unit 132 determines the copy speed level record (history) of the day with the largest real-time count as the copy speed level schedule for the special day. The copy speed level schedule for the special day is stored in the record for the first day of the special day of the next month in the execution speed management table 850. The real-time count indicates the number of times a copy speed reduction has been determined, and the initial value of the copy speed level schedule for the special day of the next month is determined based on the copy speed level on the day with the largest real-time count.
[0118] The special days may be further classified. For example, a copy speed level schedule is determined for each of the special days of a specific week, the special day at the end of the month, and the special day on a specific date. The copy speed level schedule may be determined based on the results of the day with the largest instantaneous count among the same type of special day in the previous month. The copy speed level schedule is determined by the daily flow as follows: same Refer to the previous performance on one specific day.
[0119] Next, the speed setting unit 132 extracts data items with real-time counts ranked 5th or lower from the performance information management table 830 for the previous month (S86). Next, the speed setting unit 132 calculates the average deviation rate between the ideal value and the actual value from the 1st (first day of the month) to the last day of the month for all extracted items ranked 5th or lower. Furthermore, the calculated average deviation rate is compared with the threshold value LOW (S87).
[0120] If the average deviation rate is smaller than the threshold LOW, the speed setting unit 132 increases the ideal values of the top five items with the highest instantaneous counts in the execution results from the 1st to the last day of the previous month by 10% (S88). In the above process, if the actual results for only a specific item are greater than or equal to the ideal value many times, and the other items have a margin up to the ideal value, the ideal value of the item with the greatest number of times greater than the ideal value is increased.
[0121] In this way, when the value of an item that has caused a decrease in the copy speed level less frequently than other items over multiple cycles indicated by the real-time count is lower than a predetermined level relative to the corresponding ideal value (threshold), the speed setting unit 132 increases the ideal value (threshold) of the item that has caused a decrease in the copy speed level more frequently than other items over multiple cycles. This allows the copy speed level to be more appropriately increased from the perspective of the performance of the entire item. Furthermore, the ideal values can be automatically corrected to more appropriate ideal values from the perspective of overall performance. The ideal values for both special days and normal days may be increased by any amount. The correction of the ideal values may be performed in a cycle different from the cycle in which special days are determined.
[0122] As described above, the bits, immediate count, and change count indicate the history of the decision results of whether the copy speed level needs to be maintained, increased, or decreased, respectively. The bits indicate the copy speed level to be set by the decision. The immediate count indicates the number of decisions to decrease and the number of times a decrease was actually made. The change count indicates the number of decisions to increase.
[0123] 12A to 12D, 13, and 14 are not limited to the above examples. The process cycle described with reference to Fig. 14 is the longest, and the process cycle described with reference to Figs. 12A to 12D is the shortest.
[0124] The present invention is not limited to the above-described embodiments and includes various modifications. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those including all of the described configurations. Furthermore, it is possible to replace part of the configuration of one embodiment with the configuration of another embodiment, or to add the configuration of another embodiment to the configuration of one embodiment. Furthermore, it is possible to add, delete, or replace part of the configuration of each embodiment with other configurations.
[0125] Furthermore, the above-mentioned components, functions, processing units, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. Furthermore, the above-mentioned components, functions, etc. may be realized in software by a processor interpreting and executing a program that realizes each function. Information such as the programs, tables, and files that realize each function can be stored in a memory, a recording device such as a hard disk or SSD (Solid State Drive), or a recording medium such as an IC card or SD card.
[0126] In addition, the control lines and information lines shown are those that are considered necessary for the explanation, and do not necessarily show all the control lines and information lines in the product. In reality, it can be assumed that almost all components are interconnected. [Explanation of symbols]
[0127] 10 Storage devices 30 Management device 40 External storage device 50 Public storage facilities 60 Remote copy destination storage device 71, 72 Extender 130 Copy control section 132 Speed setting section 135 Copy speed control section 140 Performance information acquisition section 320 Performance Management Department 330 Replication Management Department 340 Network Bandwidth Management Department
Claims
1. A storage device, a storage controller that processes I / O requests from a host; a storage device for storing data of the host; The storage controller storing a schedule indicating a data copy speed level from each volume to a copy destination volume for each of the plurality of volumes during successive time periods within the cycle; collecting and storing current load information of the storage controller in a memory; determining whether it is necessary to maintain, increase, or decrease the current copy speed level indicated by the schedule based on a relationship between a value indicated by the current load information of the storage controller and a threshold value; determining whether to maintain or increase the current copy speed level; determining a reduction in said current copy speed level in response to said need for reduction; Storage device.
2. 2. The storage device according to claim 1, The storage controller copying data of a first volume of the plurality of volumes to a copy destination storage device via a network; Acquire current load information of the copy destination storage device; determining whether it is necessary to maintain, increase, or decrease the current copy speed level indicated by the schedule of the first volume, based on the current copy speed level indicated by the schedule of the first volume, the relationship between the threshold value and the value indicated by the current load information of the storage controller, and the relationship between the threshold value and the value indicated by the current load information of the copy destination storage device; determining whether to maintain the current copy rate level of the first volume in response to the need for the maintenance or increase; The storage device determines a reduction in the current copy speed level of the first volume in response to the need for the reduction.
3. 2. The storage device according to claim 1, The storage controller copying data of a first volume of the plurality of volumes to a copy destination storage device via a network; Acquire current load information of the copy destination storage device; Obtaining current load information for the host; Obtaining current bandwidth information of the network; determine whether it is necessary to maintain, increase, or decrease the current copy speed level indicated by the schedule of the first volume, based on the copy speed level for the current time period indicated by the schedule of the first volume, the relationship between the threshold value and the value indicated by the current load information of the storage controller, the relationship between the threshold value and the value indicated by the current load information of the copy destination storage device, the relationship between the threshold value and the value indicated by the current load information of the host, and the relationship between the threshold value and the value indicated by the current bandwidth information of the network; determining whether to maintain the current copy rate level of the first volume in response to the need for the maintenance or increase; The storage device determines a reduction in the current copy speed level of the first volume in response to the need for the reduction.
4. The storage device according to claim 1, The storage controller creating a history of the results of determinations as to whether the copy speed level needs to be maintained, increased, or decreased during the period; The storage device creates a schedule of copy speed levels for the next period after the current period based on the history.
5. The storage device according to claim 1, the period is one day, the storage controller selects a specific day in the current month according to the number of times the copy speed level was reduced on each day of the previous month; The storage device, wherein the threshold value is defined for each of the specific days and normal days different from the specific days.
6. The storage device according to claim 4, the period is one day, The storage controller selecting a particular day in the current month according to the number of times the copy speed level was reduced on each day of the previous month; determining an initial value of the schedule of the copy speed level on the special day of the current month based on the copy speed level on the special day of the previous month on which the number of determinations of a copy speed reduction was the greatest; The storage device determines an initial value of the schedule of the copy speed level on a normal day different from the special day of the current month based on the copy speed level on a normal day of the previous month on which the number of determinations of an increase in the copy speed was the smallest.
7. The storage device of claim 1, The current load information of the storage controller indicates values of multiple items, The threshold value is set for each of the plurality of items, The storage controller increases the threshold of an item that has caused a reduction in the copy speed level more times than other items in multiple cycles when the value of the item that has caused a reduction in the copy speed level less times than other items in multiple cycles is lower than a predetermined level for the corresponding threshold.
8. A copy control method in a storage device, comprising: the storage device includes a storage controller; the storage controller stores a schedule indicating, for each of a plurality of volumes, a data copy speed level from each volume to a copy destination volume for each consecutive time period within a cycle; The copy control method includes: The storage controller collects and stores current load information of the storage controller in a memory; the storage controller determines whether it is necessary to maintain, increase, or decrease the current copy speed level indicated by the schedule based on a relationship between a value indicated by the current load information of the storage controller and a threshold value; the storage controller determining whether to maintain the current copy rate level relative to the need for the maintenance or increase; The copy control method, wherein the storage controller determines a reduction in the current copy rate level in response to the need for the reduction.
Citation Information
Patent Citations
Data dual writing method for disk controller
JP1992084215A
Disk cache controller
JP1994180671A
Backup system
JP2004206611A
Information processor, information processing program and copy processing method
JP2012053645A
Storage system, storage control device, storage control method, and storage control program
JP2014063289A