Source: http://www.google.com/patents/US7809906?dq=5,687,325
Timestamp: 2017-12-17 20:30:28
Document Index: 108883134

Matched Legal Cases: ['art 600', 'art 602', 'art 603', 'art 604', 'art 605', 'art 601', 'art 606', 'art 607', 'art 608', 'art 609', 'art 803', 'art 804']

Patent US7809906 - Device for performance tuning in a system - Google Patents
In a storage subsystem, performance tuning is performed with respect to whole logical devices including external storage subsystems that are not directly connected to host computers. Physical storage units presented by the external storage subsystems are defined as logical devices of the storage subsystem...http://www.google.com/patents/US7809906?utm_source=gb-gplus-sharePatent US7809906 - Device for performance tuning in a system
Publication number US7809906 B2
Application number US 10/855,356
Also published as EP1577747A2, EP1577747A3, US7155587, US7624241, US8046554, US8281098, US20050193167, US20050193168, US20070055820, US20100325379, US20120042138
Publication number 10855356, 855356, US 7809906 B2, US 7809906B2, US-B2-7809906, US7809906 B2, US7809906B2
Patent Citations (136), Non-Patent Citations (8), Referenced by (11), Classifications (22), Legal Events (4)
Device for performance tuning in a system
US 7809906 B2
In a storage subsystem, performance tuning is performed with respect to whole logical devices including external storage subsystems that are not directly connected to host computers.
Physical storage units presented by the external storage subsystems are defined as logical devices of the storage subsystem itself, and I/O processing requests from the host computers are relayed to those logical devices. At the time of relaying, I/O processing conditions are monitored. When there exists an external storage subsystem whose load is high, then, operating conditions of ports and processors are examined. In the case where the load can be reduced by changing the configuration of those ports and processors, the configuration is changed to reduce the load. In the case where the load can not be reduced, data is migrated from a logical device having a high load to a logical device having a sufficient performance.
1. A storage control device coupled to a computer and a first storage system, the first storage system including a plurality of storage units, one of which is assigned to a logical unit in the storage control device, the storage control device comprising:
a first port coupled to the computer;
a second port coupled to the first storage system; and
a control unit, coupled to the first port and the second port, which provides the logical unit, converts a first access request for the logical unit received by the first port into a second access request for a first storage unit of the plurality of storage units based on a relationship information including a first relation between the logical unit and the first storage unit, sends the second access request to the first storage system via the second port, and calculates performance of the second access request in the storage control device,
wherein the first storage unit of the plurality of storage units is selected by the storage control device based on the relationship information and wherein it is determined whether a conflict over the second port or the control unit exists, whereby the storage control device determines performance of the logical unit in the storage control device.
wherein the performance of the second access request sent from the second port includes information of response time of the second access request between the second port in the storage control device and the first storage system.
wherein the control unit issues a request to the first storage system via the second port so that the storage control device gets configuration information of the first storage unit in the first storage system.
4. The storage control device according to claim 3, further comprising a third port which is coupled to a second storage system,
wherein the storage control device receives data stored into the first storage unit from the first storage system via the second port, and sends the data to a second storage unit in the second storage system via the third port if the response time of the second access request is greater than a threshold,
wherein, if the response time is greater than the threshold, the control unit modifies the relationship information to change the first relation into a second relation between the logical unit and the second storage unit whereby the storage control device assigns the logical unit to the second storage unit in the second storage system instead of the first storage unit in the first storage system, the control unit converts the first access request to a third access request to the second storage unit in the second storage system based on the second relation in the relationship information and sends the third access request to the second storage system via the third port.
5. The storage control device according to claim 4,
wherein the control unit creates a first I/O request that is unrelated to any access request from the computer to the first storage system, sends the first I/O request to the first storage unit in the first storage system via the second port, and calculates performance of the first I/O request sent from the second port of the storage control device so that the control unit recognizes the performance of the logical unit through monitoring the performance of the first storage unit in the first storage system.
wherein the control unit creates a second I/O request that is unrelated to any access request from the computer to the second storage system, sends the second I/O request to the second storage unit in the second storage system via the third port, and calculates performance of the second I/O request sent from the third port of the storage control device so that the control unit determines the performance of the second storage unit in the second storage system.
7. The storage control device according to claim 1,
wherein the performance of the second access request sent from the second port includes information of throughput related to the second access request between the second port and the first storage system.
wherein the control unit issues a request from the computer to the first storage system via the second port so that the control unit gets configuration information of the first storage unit of the plurality of storage units in the first storage system.
9. The storage control device according to claim 8, further comprising a third port which is coupled to a second storage system,
wherein the control unit receives data stored into the first storage unit from the first storage system via the second port, and sends the data to a second storage unit in the second storage system via the third port if the throughput related to the second access request is less than a threshold,
wherein, if the throughput is less than the threshold, the control unit modifies the relationship information to change the first relation into a second relation between the logical unit and the second storage unit whereby the storage control device assigns the logical unit to the second storage unit in the second storage system instead of the first storage unit in the first storage system, the control unit converts the first access request to a third access request to the second storage unit in the second storage system based on the second relation in the relationship information, and sends the third access request to the second storage system via the third port.
10. The storage control device according to claim 9,
wherein the control unit creates a first I/O request that is unrelated to any access request from the computer to the first storage system, sends the first I/O request to the first storage unit in the first storage system via the second port, and calculates performance of the first I/O request sent from the second port in the storage control device so that the control unit recognizes the performance of the logical unit through monitoring the performance of the first storage unit in the first storage system.
11. The storage control device according to claim 10,
wherein the control unit creates a second I/O request that is unrelated to any access request from the computer to the second storage system, sends the second I/O request to the second storage unit in the second storage system via the third port, and calculates performance of the second I/O request sent from the third port in the storage control device so that the control unit determines the performance of the second storage unit in the second storage system.
12. The storage control device according to claim 1,
wherein the performance information of the second access request sent from the second port includes information of number of I/O requests of the second access request between the second port and the first storage system.
13. The storage control device according to claim 12, further comprising a third port which is coupled to a second storage system,
wherein the control unit receives data stored into the first storage unit in the first storage system via the second port, and sends the data to a second storage unit in the second storage system via the third port if the number of I/O requests is less than a threshold,
wherein, if the number of I/O requests is less than the threshold, the control unit modifies the relationship information to change the first relation into a second relation between the logical unit and the second storage unit whereby the storage control device assigns the logical unit to the second storage unit in the second storage system instead of the first storage unit in the first storage system, the control unit converts the first access request to a third access request to the second storage unit in the second storage system based on the second relation in the relationship information and sends the third access request to the second storage system via the third port.
14. The storage control device according to claim 13,
wherein the control unit creates a first I/O request that is unrelated to any access request from the computer to the first storage system, sends the first I/O request to the first storage unit in the first storage system via the second port, and calculates performance of the first I/O request sent from the second port of the storage control device so that the control unit recognizes the performance of the logical device through monitoring the performance of the first storage unit in the first storage system.
15. The storage control device according to claim 14,
16. The storage control device according to claim 1, wherein a plurality of second ports are provided and wherein the storage control device determines whether to increase or decrease the number of the second ports.
Costs of constructing a disk-array system and performance and characteristics of the constructed disk array system depend on the level of the disk array system. Thus, frequently, in constructing a disk array system, a plurality of arrays (i.e., sets of disk unit) of different levels is used mixedly, depending on the intended purpose of the disk array system.
On the other hand, as a technique of increasing the number of storage units that can be accessed from a host computer, to cope with increasing amount of information, there is a technique of enabling a host-computer to access storage units to which the host computer can not directly input and output owing to, for example, interface mismatching (See, for example, Japanese Patent Laid-Open Publication No. 10-283272 (hereinafter, referred to as Patent Document 3)).
As shown in the figure, the computer system comprises: one or more host computers 1 a . . . 1 n (the number of host computers does not matter, and the host computers are representatively referred to as a host computer 1); storage subsystems 20 a . . . 20 n (the number of the storage subsystems does not matter, and the storage subsystems are representatively referred to as a storage subsystem 20); subsystem management apparatuses 5 used for performing maintenance and administration of the storage subsystems 20; a first I/O network 61 used for I/O processing of the host computers 1 and the storage subsystems 20; a network 7 connecting the host computers 1, the storage subsystems 20 and the subsystem management apparatuses 5; a SAN management terminal 9 performing configuration management of a storage area network comprising the host computers 1, I/O networks and the storage subsystems 20 a . . . 20 n; storage subsystem 21 (the number of these storage subsystems does not matter, and these storage subsystems are referred to as external storage subsystems in distinction from the storage subsystems 20 to which the host computers 1 perform direct input/output processing, and representatively referred to as an external storage subsystem 21); and a second I/O network 62 connecting the storage subsystems 20 and the external storage subsystems 21.
The logical address storing part 600 comprises: a target logical storage unit number storing part 602 which stores a logical storage unit number (for example, an LU (Logical Unit) number in the case of SCSI) of a logical storage unit 8 (for example, an LU in the case of SCSI, and hereinafter, referred to as a target logical storage unit) detected by accessing the port-104 a of the storage subsystem 20; a target logical storage unit address storing part 603 which stores an address in the target logical storage unit; an LDEV number storing part 604 which stores a logical storage unit number (hereinafter, referred to as an LDEV (Logical Device) number) that is given internally to cover the entire storage subsystem 20; and an LDEV address storing part 605 which stores its address (hereinafter, referred to as an LDEV address).
The physical address storing part 601 comprises: a parity group(PG) number storing part 606 which stores a parity group number; a data storing part 607 which stores information of a disk unit that stores data; a parity storing part 608 which stores information on parity; and an external storage storing part 609 which stores g data related to an external storage subsystem.
For example, with respect to the parity group having the parity group number “0000” stored in the first line of the figure, it is seen from the RAID level storing part 803 and the detailed configuration storing part 804 that its RAID configuration is RAID5 and 3D1P (i.e., a configuration in which four disks constitute the RAID configuration (RAID5), and three disks store data and the remaining one disk stores parity data).
FIG. 7 is a diagram for explaining an example of data stored in the logical storage unit operating information 224 a which stores the operating information of an LU given with a path definition associated with the port 104 a. The column 901 of the logical storage unit operating information 224 a records acquisition times at intervals of a sampling time. The column 902 records the logical storage unit numbers of the logical storage units 8 under the port 104 a at each sampling time; the column 904 an average I/O counts per second (IOPS) of the logical storage unit concerned at the time concerned; the column 905 the maximum I/O counts per second (IOPS) in the time concerned; the column 906 an average data transfer amount per second (MBPS) of the logical storage unit concerned in the time concerned; the column 907 the maximum data transfer amount per second (MBPS) in the time concerned; the column 908 an average IO processing time (μs) per second of the logical storage unit concerned in the time concerned; the column 909 the maximum IO processing time (μs) per second in the time concerned; the column 910 the cache hit rate; the column 911 sequential ratio; and the column 912 the read-write ratio.
[External Storage Area Operating Information Acquisition Processing Unit 208 and External Storage Operating Information]
The port setting information 228 stores the upper limits the lower limits and the target values, based on the worst values, average values, the best values and the like of the operating information related to I/O processing with the host computers 1, for each port 104 a or 104 b. As the operating information, may be mentioned, for example, throughput (the number of I/Os per unit of time (IOPS) and data transfer amount per unit of time (MBPS)) and response (an I/O processing response time).
The configuration change planning processing unit 218 refers to the physical storage-unit operating information 225, the port operating information 229, the logical storage unit operating information 224, the processor operating information 226, the cache amount counter 211 and the like, to make a configuration change plan according to performance requirements.
When a write processing request is received from the host computer 1, the command processing unit 202 analyzes the received request similarly to the case of a read processing request (Step 1701), and notifies the host computer 1 that the command processing unit 202 is ready for write processing. Then, the command processing unit 202 converts an address of the write data sent thereafter from the host computer 1 (i.e., a target logical address of the target as an input/output object for the host computer 1) into a corresponding pair-of an LDEV number and an LDEV address (Step 1702).
Now, will be described increase of an I/O load that becomes a cause of deteriorating the performance of the system as a whole in a situation that I/O processing to the external storage subsystem 21 is performed through the storage subsystem 20 as in the case of the present embodiment.
When the ratio of the dirty amount is higher than or equal to a predetermined value, then, logical storage units as causes of such a ratio are extracted. Namely, with respect to each logical storage unit, its dirty counter 1805 stored in the cache amount counter 211 is examined to extract the logical storage unit numbers having large counter values. At that time, a certain number of logical storage units may be extracted counting in descending order of counter value from the largest one. Or, logical storage units whose counter values are larger-than a predetermined threshold may be extracted.
As shown in the figure, the file management information 2410 holds a file name 2411, an index(a file ID) 2412, a file size 2413, a file type 2414, a creation time 2415, a last access time 2416, a last update time 2417, an access frequency 2418 in a certain period, file importance 2419 (if possible), and the like.
JP2001125879A Title not available
JP2002230246A Title not available
1 "A Case for Redundant Arrays of Inexpensive Disks (RAID)" by Patterson, et al. pp. 109-116.
2 "SAN Volume Controller Configuration Guide, Version 1, Release 1", IBM, 1st Ed., Jun. 2003, pp. i-297, in particular, pp. 123-124, 185-188, and 224-227.
3 "SANRAD Application Note: Data Migration Solution Transferring Data Between Storage Systems over Fibre-channel or SCSI connections", AAP-003-03, SANRAD 2003, pp. 1-9.
4 "SCSI-3 Fault Tolerant Controller Configurations utilizing SCC & New Event Codes", Steve Sicola editor, High Availability Study Group, Doc. No X3T10 95-312r3, Rev 3.0, Feb. 28, 1996, pp. 1-14.
5 Anderson, Eric et al, "Hippodrome: running circles around storage administration", Hewlett-Packard Laboratories, 14 pp.
6 Lee, Edward K. et al, "Petal: Distributed Virtual Disks", ASPLOS VII, Oct. 1996, pp. 84-92.
US8832361 * Aug 8, 2013 Sep 9, 2014 Kabushiki Kaisha Toshiba Storage device including flash memory and capable of predicting storage device performance based on performance parameters
US8874956 * Sep 18, 2012 Oct 28, 2014 Datadirect Networks, Inc. Data re-protection in a distributed replicated data storage system
US9244620 Apr 13, 2015 Jan 26, 2016 Kabushiki Kaisha Toshiba Storage device including flash memory and capable of predicting storage device performance based on performance parameters
US20090083317 * Sep 17, 2008 Mar 26, 2009 Canon Kabushiki Kaisha File system, data processing apparatus, file reference method, and storage medium
US20130326129 * Aug 8, 2013 Dec 5, 2013 Kabushiki Kaisha Toshiba Storage device including flash memory and capable of predicting storage device performance based on performance parameters
US20140082414 * Sep 18, 2012 Mar 20, 2014 Dan Olster Data Re-Protection in a Distributed Replicated Data Storage System
CN103577115A * Jul 31, 2012 Feb 12, 2014 华为技术有限公司 Data configuration processing method and data configuration processing device
CN103577115B * Jul 31, 2012 Sep 14, 2016 华为技术有限公司 数据的排布处理方法、装置和服务器
U.S. Classification 711/162, 710/15, 711/154, 714/47.3
International Classification G06F13/10, G06F12/00, G06F12/08, G06F3/06
Cooperative Classification G06F3/0653, G06F11/3485, G06F2206/1012, G06F3/067, G06F3/0635, G06F3/061, G06F3/0647, Y10S707/99932, G06F3/0631
European Classification G06F3/06A4M, G06F3/06A4H2, G06F3/06A2P, G06F3/06A6D, G06F3/06A4C6
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:EUGICHI, YOSHIAKI;YAMAMOTO, YASUTOMO;SATOYAMA, AI;AND OTHERS;REEL/FRAME:015637/0836
Free format text: RE-RECORD TO CORRECT THE LAST NAME OF THE FIRST INVENTOR PREVIOUSLY RECORDED AT REEL/FRAME 015637/0836;ASSIGNORS:EUGCHI, YOSHIAKI;YAMAMOTO, YASUTOMO;SATOYAMA, AI;AND OTHERS;REEL/FRAME:015957/0402;SIGNING DATES FROM 20040705 TO 20040710
Free format text: RE-RECORD TO CORRECT THE LAST NAME OF THE FIRST INVENTOR PREVIOUSLY RECORDED AT REEL/FRAME 015637/0836;ASSIGNORS:EUGCHI, YOSHIAKI;YAMAMOTO, YASUTOMO;SATOYAMA, AI;AND OTHERS;SIGNING DATES FROM 20040705 TO 20040710;REEL/FRAME:015957/0402
Free format text: CORRECTED ASSIGNMENT TO CORRECT FIRST ASSIGNOR S NAME ON A DOCUMENT PREVIOUSLY RECORDED AT REEL 015637 FRAME 0836;ASSIGNORS:EGUCHI, YOSHIAKI;YAMAMOTO, YASUTOMO;SATOYAMA, AI;AND OTHERS;REEL/FRAME:016311/0834;SIGNING DATES FROM 20040705 TO 20040710
Free format text: CORRECTED ASSIGNMENT TO CORRECT FIRST ASSIGNOR S NAME ON A DOCUMENT PREVIOUSLY RECORDED AT REEL 015637 FRAME 0836;ASSIGNORS:EGUCHI, YOSHIAKI;YAMAMOTO, YASUTOMO;SATOYAMA, AI;AND OTHERS;SIGNING DATES FROM 20040705 TO 20040710;REEL/FRAME:016311/0834