JP2008046763A - Disk array subsystem and program - Google Patents

Disk array subsystem and program Download PDF

Info

Publication number
JP2008046763A
JP2008046763A JP2006220127A JP2006220127A JP2008046763A JP 2008046763 A JP2008046763 A JP 2008046763A JP 2006220127 A JP2006220127 A JP 2006220127A JP 2006220127 A JP2006220127 A JP 2006220127A JP 2008046763 A JP2008046763 A JP 2008046763A
Authority
JP
Japan
Prior art keywords
extent
array
extents
chunk
migration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006220127A
Other languages
Japanese (ja)
Other versions
JP4413899B2 (en
Inventor
Kazufusa Tomonaga
和総 友永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2006220127A priority Critical patent/JP4413899B2/en
Publication of JP2008046763A publication Critical patent/JP2008046763A/en
Application granted granted Critical
Publication of JP4413899B2 publication Critical patent/JP4413899B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To enhance the use efficiency of disc devices constituting an array. <P>SOLUTION: A module 125a calculates a presence ratio of I/O (first presence ratio), a presence ratio of HDD I/O (second presence ratio) and a presence ratio of extent chunk I/O (third presence ratio) at the same time by sampling an access request which has not completed as I/O in the middle of execution for extent chunks each belonging to a plurality of extents included in a storage area of a representative HDD of an array for each array. An engine 125c selects a first extent to which an extent chunk whose first presence ratio should be reduced belongs, and a second extent which is included in a representative HDD of an array with a relatively low second presence ratio and to which an extent chunk whose third presence ratio is the lowest belongs. A module 125b executes extent migration for re-arranging data between the first and the second extents. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、ホスト装置から認識される論理ボリュームを構成する少なくとも1台のディスクアレイ装置を有するディスクアレイサブシステムに係り、特に、エクステント単位で自律的にデータの再配置を行うのに好適な仮想化機能を備えるディスクアレイサブシステム及びプログラムに関する。   The present invention relates to a disk array subsystem having at least one disk array device that constitutes a logical volume recognized by a host device, and in particular, a virtual storage suitable for autonomously rearranging data in extent units. The present invention relates to a disk array subsystem and a program having a function for creating a disk.

ディスクアレイサブシステムはストレージシステムの代表として知られている。ディスクアレイサブシステムは、少なくとも1つのアレイ(ディスクアレイ)を有している。アレイは、1台以上のディスク装置、例えば1台以上のハードディスクドライブ(HDD)から構成される。このアレイを利用して、ホスト装置から認識される仮想的な記憶領域、つまり論理ボリュームが定義される。ホスト装置からのディスクアレイサブシステムに対するアクセスは、この論理ボリュームに対して行われる。   The disk array subsystem is known as a representative storage system. The disk array subsystem has at least one array (disk array). The array is composed of one or more disk devices, for example, one or more hard disk drives (HDD). Using this array, a virtual storage area recognized by the host device, that is, a logical volume is defined. Access to the disk array subsystem from the host device is performed on this logical volume.

ここで、複数のアレイを有するディスクアレイサブシステムを想定する。このようなディスクアレイサブシステムでは、例えば、あるアレイにアクセスが集中し、他のアレイにアクセスが殆ど発生していない事態が生じることがある。   Here, a disk array subsystem having a plurality of arrays is assumed. In such a disk array subsystem, for example, there may occur a situation in which access is concentrated in one array and almost no access occurs in another array.

ところが従来のディスクアレイサブシステムでは、論理ボリュームと、その論理ボリュームを構成するアレイ(を含むディスクアレイ装置)との対応関係は固定的である。このため、アレイ毎にアクセス頻度に偏りが生じても、アレイ毎のアクセス頻度を均一化することができない。このような状況では、ディスクアレイサブシステム内のHDDを有効利用することは困難である。   However, in the conventional disk array subsystem, the correspondence between a logical volume and an array (including a disk array device) that constitutes the logical volume is fixed. For this reason, even if the access frequency is uneven for each array, the access frequency for each array cannot be made uniform. Under such circumstances, it is difficult to effectively use the HDD in the disk array subsystem.

特に、近年のディスクアレイサブシステムの規模の増大と、HDD単体の記憶容量の増加により、上記のようなアクセスの偏りの発生頻度は高まり、今後、その傾向は更に顕著になっていくと考えられる。   In particular, due to the recent increase in the size of the disk array subsystem and the increase in storage capacity of a single HDD, the frequency of such access bias increases, and this trend is expected to become more prominent in the future. .

このような背景の下、例えば特許文献1には、物理ボリュームのアクセス頻度に応じて論理ボリュームを再構成する技術(第1の先行技術)が記載されている。また、特許文献2には、論理ディスク(論理ボリューム)を構成する物理ディスクのI/O競合頻度を検出し、論理ディスクの中でアクセス頻度が高い物理ディスクを他の論理ディスクへ再配置する技術(第2の先行技術)が記載されている。
特開2004−272324号公報 特許第3427763号公報
Under such a background, for example, Patent Document 1 describes a technique (first prior art) for reconfiguring a logical volume according to the access frequency of a physical volume. Patent Document 2 discloses a technique for detecting the I / O contention frequency of a physical disk constituting a logical disk (logical volume) and relocating a physical disk having a high access frequency among the logical disks to another logical disk. (Second Prior Art) is described.
JP 2004-272324 A Japanese Patent No. 3427763

上述した第1及び第2の先行技術によれば、アクセス頻度(I/O競合頻度)に応じて物理ボリューム(物理ディスク)が再配置される。つまり、論理ボリュームと、その論理ボリュームを構成するアレイとの対応関係がアクセス頻度に応じて動的に管理される。   According to the first and second prior arts described above, the physical volume (physical disk) is relocated according to the access frequency (I / O contention frequency). That is, the correspondence between a logical volume and an array that constitutes the logical volume is dynamically managed according to the access frequency.

また近年は、ディスクアレイサブシステム内のアレイの全領域(物理記憶リソース)をある一定サイズの領域(エクステント)に区切り、それら1つ以上の組み合わせと論理ボリュームとの対応関係を動的に管理する技術(いわゆるディスクアレイサブシステムの仮想化技術)の必要性が高まり、実用化されてきている。この仮想化技術においては、エクステント間のデータコピーを行うことによって、データを保持したまま、データの物理的存在位置を変更することが可能となる。   In recent years, the entire array area (physical storage resource) in the disk array subsystem is divided into areas (extents) of a certain size, and the correspondence between one or more combinations and logical volumes is dynamically managed. The need for a technology (a so-called disk array subsystem virtualization technology) has increased and has been put into practical use. In this virtualization technology, by copying data between extents, it is possible to change the physical location of data while retaining the data.

そこで、上記第1または第2の先行技術を上述の仮想化技術に適用することが考えられる。例えば、エクステントに対応する単体HDDの領域(以下、エクステントチャンクと称する)を単位にアクセス頻度を検出し、各エクステントチャンクをアクセス頻度に応じてアレイをまたがって(または同一アレイ内で)再配置することが考えられる。   Thus, it is conceivable to apply the first or second prior art to the above-described virtualization technology. For example, an access frequency is detected in units of a single HDD area corresponding to extents (hereinafter referred to as extent chunks), and each extent chunk is rearranged across the array (or within the same array) according to the access frequency. It is possible.

しかし、各エクステントチャンクをアクセス頻度に応じて再配置する手法は、HDDを有効利用するには、以下に述べる理由により必ずしも十分でない。
まず、HDDでは、同時に複数のアクセス要求(I/O要求)を処理できない。またHDDでは、複数の要求が異なるエクステントチャンクに対するものであっても、当該異なるエクステントチャンクに同時にアクセスすることはできない。このようなHDDの特性から、HDDでは、複数のエクステントチャンクに対して未完了のアクセス要求(I/O要求)が同時に存在する状態が発生する。このような状態は、HDD全体のアクセス頻度あるいはエクステントチャンクのアクセス頻度が低くても発生する。つまり、HDDの特性を考慮すると、アクセス頻度よりも、複数のエクステントチャンクに対する未完了のI/O要求が同時に存在する割合(以下、同時I/O存在率と称する)が重要である。
However, the method of rearranging each extent chunk according to the access frequency is not necessarily sufficient for the reason described below to effectively use the HDD.
First, the HDD cannot process a plurality of access requests (I / O requests) at the same time. In the HDD, even when a plurality of requests are for different extent chunks, the different extent chunks cannot be accessed simultaneously. Due to such characteristics of the HDD, the HDD has a state in which uncompleted access requests (I / O requests) exist simultaneously for a plurality of extent chunks. Such a situation occurs even if the access frequency of the entire HDD or the access frequency of extent chunks is low. In other words, in consideration of the characteristics of the HDD, the rate at which uncompleted I / O requests for a plurality of extent chunks exist simultaneously is more important than the access frequency (hereinafter referred to as the simultaneous I / O existence rate).

今、特定のエクステントチャンクのみにアクセスが集中しているために、HDD全体のアクセス頻度が高いHDDを想定する。このようなHDDは、同時I/O存在率が低く、アイドル状態となっている度合いが高い。このため、HDD内のアクセスが集中しているエクステントチャンクを再配置しても、当該HDD全体の利用効率を向上することは期待できない。   Since access is concentrated only on a specific extent chunk, an HDD with high access frequency of the entire HDD is assumed. Such an HDD has a low simultaneous I / O existence ratio and a high degree of being in an idle state. For this reason, even if the extent chunks in which accesses are concentrated in the HDD are rearranged, it is not expected to improve the utilization efficiency of the entire HDD.

次に、HDD全体のアクセス頻度が高くても、同時に複数のエクステントチャンクに対するI/O要求が発生する頻度が低く、したがって複数のエクステントチャンクに対する未完了のI/O要求が同時に存在する割合(同時I/O存在率)が低いHDDを想定する。つまりHDDへのアクセスが時間的に分散している場合を想定する。このようなHDDでは、当該HDD内のアクセス頻度が高いエクステントチャンクを再配置しても、当該HDD全体の利用効率を向上することは期待できない。   Next, even if the access frequency of the entire HDD is high, the frequency with which I / O requests for a plurality of extent chunks are generated at the same time is low, and therefore there are unfinished I / O requests for a plurality of extent chunks at the same time (simultaneous Assume an HDD with a low I / O presence rate. That is, it is assumed that access to the HDD is dispersed over time. In such an HDD, even if extent chunks with high access frequency in the HDD are rearranged, it is not expected to improve the utilization efficiency of the entire HDD.

本発明は上記事情を考慮してなされたものでその目的は、同時に複数のエクステントチャンクに対するI/O要求が発生する頻度に基づいてアレイ間でデータ再配置を行うことにより、アレイを構成するディスク装置の利用効率を高めることができるディスクアレイサブシステム及びプログラムを提供することにある。   The present invention has been made in consideration of the above circumstances, and an object of the present invention is to provide a disk that constitutes an array by performing data relocation between arrays based on the frequency at which I / O requests for a plurality of extent chunks occur simultaneously. It is an object of the present invention to provide a disk array subsystem and program capable of increasing the utilization efficiency of the apparatus.

本発明の1つの態様によれば、1台以上のディスク装置の記憶領域が連続した1つの領域として定義される複数のアレイを含み、前記アレイの全領域を複数のエクステントに分割し、1つ以上のエクステントを組み合わせることによってホスト装置から認識される論理ボリュームを構成する少なくとも1台のディスクアレイ装置を有するディスクアレイサブシステムが提供される。前記少なくとも1台のディスクアレイ装置は、前記アレイ毎に、そのアレイを構成するディスク装置のうちの予め定められた代表ディスク装置の記憶領域に含まれる前記複数のエクステントにそれぞれ属するエクステントチャンクについて、あるサンプリング周期で未完了のアクセス要求を実行中I/Oとしてサンプリングすることにより、当該エクステントチャンクを含む複数のエクステントチャンクに同時に実行中I/Oが存在する度合いを表す第1の存在率、前記代表ディスク装置に実行中I/Oが存在する度合いを表す第2の存在率、及び当該エクステントチャンクに実行中I/Oが存在する度合いを表す第3の存在率を算出する算出手段と、前記第1乃至第3の存在率に基づき、前記第1の存在率が下げられるべきエクステントチャンクが属するエクステントを第1のエクステントとして選択すると共に、当該第1のエクステントを含むアレイの代表ディスク装置とは別の、当該第1のエクステントを含むアレイの代表ディスク装置に対して、前記第2の存在率が相対的に低いアレイの代表ディスク装置に含まれるエクステントチャンクの中から、前記第3の存在率が最も低いエクステントチャンクが属するエクステントを第2のエクステントとして選択する選択手段と、前記第1及び第2のエクステントの間でデータを再配置するアレイ間エクステントマイグレーションを実行するエクステントマイグレーション実行手段とを具備する。   According to one aspect of the present invention, the storage area of one or more disk devices includes a plurality of arrays defined as one continuous area, and the entire area of the array is divided into a plurality of extents. By combining the above extents, a disk array subsystem having at least one disk array device constituting a logical volume recognized from the host device is provided. The at least one disk array device has, for each array, an extent chunk belonging to each of the plurality of extents included in a storage area of a predetermined representative disk device among the disk devices constituting the array. A first existence rate representing the degree of simultaneous execution of I / Os in a plurality of extent chunks including the extent chunk by sampling an incomplete access request at the sampling cycle as the executing I / O, the representative Calculating means for calculating a second existence ratio indicating a degree of presence of executing I / O in the disk device and a third existence ratio indicating a degree of existence of executing I / O in the extent chunk; Based on the first to third existence rates, the extent to which the first existence rate should be lowered The second extent is selected for the representative disk device of the array including the first extent, which is different from the representative disk device of the array including the first extent. Selection means for selecting, as a second extent, an extent to which an extent chunk having the lowest third existence ratio belongs from among extent chunks included in a representative disk device of an array having a relatively low existence ratio; Extent migration executing means for executing inter-array extent migration for rearranging data between the first and second extents.

ここで、前記算出手段が、前記第1の存在率を表す指標となる情報を取得するために、各アレイの代表ディスク装置のエクステントチャンク毎にカウンタ(第1のカウンタ)を設け、ある周期(例えば、一定時間周期、ランダム時間周期、或いは一定時間周期及びランダム周期の組み合わせで決まる周期)でエクステントチャンク毎に実行中I/O数をサンプリングして実行中I/O数をカウントし、実行中I/Oが複数のエクステントチャンクに同時に存在する場合、実行中I/Oが存在するエクステントチャンクに対応するカウンタを1インクリメントすると良い。この場合、前記算出手段は、エクステントチャンク毎のカウンタのカウンタ値をサンプル数で除した値を、当該エクステントチャンクを含む複数のエクステントチャンクに同時に実行中I/Oが存在する度合い、即ち第1の存在率として取得すれば良い。   Here, in order for the calculation means to acquire information serving as an index representing the first existence ratio, a counter (first counter) is provided for each extent chunk of the representative disk device of each array, and a certain period ( (For example, a fixed time period, a random time period, or a period determined by a combination of a fixed time period and a random period) When I / O exists in a plurality of extent chunks at the same time, the counter corresponding to the extent chunk in which the executing I / O exists is incremented by one. In this case, the calculation means obtains the value obtained by dividing the counter value of the counter for each extent chunk by the number of samples, the degree of simultaneous execution of I / O in a plurality of extent chunks including the extent chunk, that is, the first What is necessary is just to acquire as a presence rate.

また、前記算出手段が、前記第2の存在率を表す指標となる情報を取得するために、各アレイの代表ディスク装置毎にカウンタ(第2のカウンタ)を設け、前記ある周期で代表ディスク装置毎に実行中I/O数をサンプリングし、実行中I/Oが存在した代表ディスク装置に対応するカウンタを1インクリメントすると良い。この場合、前記算出手段は、代表ディスク装置毎のカウンタのカウント値をサンプル数で除した値を、代表ディスク装置に実行中I/Oが存在する度合い、即ち第2の存在率として取得すれば良い。   In addition, in order for the calculation means to acquire information serving as an index representing the second existence ratio, a counter (second counter) is provided for each representative disk device of each array, and the representative disk device is in a certain cycle. The number of executing I / Os is sampled every time, and the counter corresponding to the representative disk device in which the executing I / O exists is incremented by one. In this case, the calculation means may obtain a value obtained by dividing the count value of the counter for each representative disk device by the number of samples as the degree of presence of the executing I / O in the representative disk device, that is, the second existence rate. good.

また、前記算出手段が、前記第3の存在率を表す指標となる情報を取得するために、各アレイの代表ディスク装置のエクステントチャンク毎にカウンタ(第3のカウンタ)を設け、前記ある周期でエクステントチャンク毎に実行中I/O数をサンプリングし、実行中I/Oが存在したエクステントチャンクに対応するカウンタを1インクリメントすると良い。この場合、前記算出手段は、エクステントチャンク毎のカウンタのカウント値をサンプル数で除した値を、エクステントチャンクに実行中I/Oが存在する度合い、即ち第3の存在率として取得すれば良い。   In addition, in order for the calculation means to acquire information serving as an index representing the third existence rate, a counter (third counter) is provided for each extent chunk of the representative disk device of each array, and the calculation unit has a certain period. The number of executing I / Os is sampled for each extent chunk, and the counter corresponding to the extent chunk in which the executing I / O exists is incremented by one. In this case, the calculation means may obtain a value obtained by dividing the count value of the counter for each extent chunk by the number of samples as the degree of execution of I / O in the extent chunk, that is, the third existence ratio.

ここで、前記選択手段が、前記複数のアレイのうちデータ再配置の候補として予め定められたアレイグループに属するアレイの各々を構成するエクステントの中で、前記第1の存在率が最も高いエクステントチャンクが属するエクステントを前記第1のエクステントとして選択し、前記アレイグループに属するアレイの各々の代表ディスク装置のうちの、前記第2の存在率が最も低い代表ディスク装置に含まれるエクステントチャンクの中から、前記第3の存在率が最も低いエクステントチャンクを選択して、当該選択されたエクステントチャンクが属するエクステントを前記第2のエクステントとして選択すると良い。   Here, the selection means has an extent chunk having the highest first existence rate among extents constituting each of the arrays belonging to an array group predetermined as a data relocation candidate among the plurality of arrays. Of the extent chunks included in the representative disk device having the lowest second existence ratio among the representative disk devices of each of the arrays belonging to the array group. It is preferable that the extent chunk having the lowest third existence rate is selected, and the extent to which the selected extent chunk belongs is selected as the second extent.

また、前記選択手段が、前記エクステントマイグレーションの対象となる前記第1及び第2のエクステントを選択する条件として、つまり前記エクステントマイグレーション実行手段により次のエクステントマイグレーションが実行される条件として、次の4つの条件が全て成立とした場合とすると良い。この4つの条件とは、
1)前記エクステントマイグレーション実行手段によって最後に前記エクステントマイグレーションが実行されてからの経過時間が一定時間以上
2)前記アレイグループに属するアレイの代表ディスク装置の前記第2の存在率の最大値と最小値の差分が一定値以上
3)前記アレイグループに属するアレイの代表ディスク装置の前記第2の存在率の最小値が一定値以下
4)前記アレイグループに属するアレイの代表ディスク装置に含まれるエクステントチャンクの前記第1の存在率の最大値が一定値以上
である。
Further, as conditions for the selection means to select the first and second extents to be the extent migration target, that is, conditions for executing the next extent migration by the extent migration execution means, the following four It is good to assume that all the conditions are satisfied. These four conditions are
1) Elapsed time since the extent migration was last executed by the extent migration execution means is a predetermined time or more 2) Maximum value and minimum value of the second existence ratio of the representative disk devices of the array belonging to the array group 3) The minimum value of the second existence rate of the representative disk device of the array belonging to the array group is equal to or less than a predetermined value. 4) The extent chunk included in the representative disk device of the array belonging to the array group. The maximum value of the first existence ratio is a certain value or more.

ここで、前記条件中の一定時間として、つまりエクステントマイグレーションの実行周期として、アレイグループに属するアレイの代表ディスク装置の前記第2の存在率の最大値と最小値の差分の関数を用い、差分が大きい場合にはエクステントマイグレーションの実行周期を短くすると良い。   Here, as a certain time in the above condition, that is, as the extent migration execution cycle, a function of the difference between the maximum value and the minimum value of the second existence rate of the representative disk device of the array belonging to the array group is used. If it is large, the extent migration execution cycle should be shortened.

また、前記選択手段が、Nを2以上の整数であるとすると、前記複数のアレイのうちの任意のアレイを対象に、当該任意のアレイの代表ディスク装置に含まれるエクステントチャンクの中から、前記第3の存在率が高いN個のエクステントチャンクを選択して、当該選択されたN個のエクステントチャンクが属するN個のエクステントまたは当該N個のエクステントのうちのN−1個のエクステントを1つずつ第3のエクステントとして選択すると共に、前記N個またはN−1個の第3のエクステントとの間のアレイ内エクステントマイグレーションの対象となる前記任意のアレイ内のN個またはN−1個のエクステントであって、前記アレイ内エクステントマイグレーションの対象となる前記N個のエクステント相互の前記アレイ内の位置、または前記N個のエクステントのうちの前記N−1個の第3のエクステントを除く1つ及び前記アレイ内エクステントマイグレーションの対象となる前記N−1個のエクステント相互の前記アレイ内の位置が、前記第3の存在率が高い前記N個のエクステントチャンクが属する前記N個のエクステント相互の前記アレイ内の位置よりも近くなるN個またはN−1個のエクステントを1つずつ第4のエクステントとして選択し、前記エクステントマイグレーション実行手段が、前記第3及び第4のエクステントの対が選択される都度、選択された第3及び第4のエクステントの間でデータを再配置するアレイ内エクステントマイグレーションを実行するようにしても良い。   Further, when the selection means assumes that N is an integer of 2 or more, the target of any array of the plurality of arrays is the extent chunk included in the representative disk device of the arbitrary array. N extent chunks having a high third existence rate are selected, and one of N extents to which the selected N extent chunks belong or N-1 extents of the N extents is selected as one. Each selected as a third extent, and N or N-1 extents in any of the arrays subject to in-array extent migration with the N or N-1 third extents. And the positions in the array of the N extents to be subject to the extent migration in the array. Alternatively, one of the N extents excluding the N-1 third extent and the position in the array of the N-1 extents to be subject to the extent migration in the array is the array. N or N-1 extents closer to the positions in the array of the N extents to which the N extent chunks having a higher third existence rate belong are selected as fourth extents one by one. The extent migration execution means executes in-array extent migration that rearranges data between the selected third and fourth extents each time the third and fourth extent pairs are selected. You may do it.

また、前述のアレイ内エクステントマイグレーションとは別のアレイ内エクステントマイグレーションの実現のために、前記選択手段が、前記複数のアレイのうちの任意のアレイを構成するエクステントを、前記第3の存在率が最も高いエクステントチャンクが属するエクステントから前記第3の存在率の降順に1つずつ第3のエクステントとして選択すると共に、当該選択された第3のエクステントとの間のアレイ内エクステントマイグレーションの対象となるエクステントを前記任意のアレイを構成するディスク装置の外周から内周方向に1つずつ第4のエクステントとして選択することによって、前記アレイ内エクステントマイグレーションの対象となる第3及び第4のエクステントの対を逐次選択し、前記第3及び第4のエクステントの対が選択される都度、前記エクステントマイグレーション実行手段が、前記選択された第3及び第4のエクステントの間でデータを再配置するアレイ内エクステントマイグレーションを実行する構成としても良い。   In addition, in order to realize in-array extent migration different from the in-array extent migration described above, the selection unit sets extents constituting an arbitrary array of the plurality of arrays as the third existence rate. The extents to which the highest extent chunk belongs are selected as the third extent one by one in descending order of the third existence rate, and the extents that are subject to in-array extent migration with the selected third extent Are selected as fourth extents one by one from the outer periphery to the inner periphery of the disk device that constitutes the arbitrary array, so that a pair of third and fourth extents to be subjected to the in-array extent migration is sequentially selected. Select the third and fourth extensions Each time the pair of is selected, the extent migration execution means may be configured to perform the array extents migration to relocate data between the third and fourth extent said selected.

ここで、第3の存在率が同一の複数のエクステントチャンクが存在する場合には、当該複数のエクステントチャンクのうち、代表ディスク装置の外周から遠いエクステントチャンクが属するエクステントほど先に第3のエクステントとして選択されるようにすると良い。   Here, when there are a plurality of extent chunks having the same third existence ratio, the extent to which the extent chunk far from the outer periphery of the representative disk device belongs is set as the third extent first among the plurality of extent chunks. It should be selected.

上述のようにディスクアレイ装置が、アレイ間エクステントマイグレーションの機能に加えてアレイ内エクステントマイグレーションの機能を有していても良い。ここで、ディスクアレイ装置が、アレイ内エクステントマイグレーションの機能のみを有していても良い。   As described above, the disk array device may have an intra-array extent migration function in addition to the inter-array extent migration function. Here, the disk array device may have only an in-array extent migration function.

また、前記選択手段が、前記アレイ内エクステントマイグレーションの対象となる第3及び第4のエクステントの対を選択する条件として、つまり前記エクステントマイグレーション実行手段により次のアレイ内エクステントマイグレーションが実行される条件として、次の2つの条件が全て成立とした場合とすると良い。この2つの条件とは、
1)前記エクステントマイグレーション実行手段によって最後に前記アレイ内エクステントマイグレーションが実行されてからの経過時間が一定時間以上
2)前記アレイ内エクステントマイグレーションの候補となる1対のエクステントに含まれる1対のエクステントチャンクであって、当該1対のエクステントが属するアレイの代表ディスク装置に含まれる1対のエクステントチャンクの第3の存在率の差分が一定値以上
である。
In addition, as a condition for the selection means to select a pair of third and fourth extents to be subjected to the in-array extent migration, that is, as a condition for executing the next in-array extent migration by the extent migration executing means. Suppose that the following two conditions are all satisfied. These two conditions are
1) Elapsed time since the last extent migration in the array was executed by the extent migration execution means for a certain time or more 2) A pair of extent chunks included in a pair of extents that are candidates for the extent migration in the array The difference in the third existence ratio of the pair of extent chunks included in the representative disk device of the array to which the pair of extents belongs is equal to or greater than a certain value.

ここで、前記アレイ内エクステントマイグレーションが実行される前記条件中の一定時間として、つまりアレイ内エクステントマイグレーションの実行周期として、アレイ内エクステントマイグレーションの候補となる1対のエクステントに対応する、代表ディスク装置に含まれる1対のエクステントチャンクの前記第3の存在率の差分の関数を用い、差分が大きい場合にはアレイ内エクステントマイグレーションの実行周期を短くすると良い。   Here, in the representative disk device corresponding to a pair of extents that are candidates for in-array extent migration, as a certain period of time during the above-mentioned conditions for executing in-array extent migration, that is, as an execution period of in-array extent migration. The function of the difference between the third existence ratios of the included pair of extent chunks is used, and if the difference is large, the execution period of the in-array extent migration may be shortened.

また、アレイ間エクステントマイグレーション及びアレイ内エクステントマイグレーションの両機能を有するディスクアレイ装置では、前記エクステントマイグレーション実行手段が、前記アレイ間のエクステントマイグレーションを実行し、しかる後に当該アレイ間のエクステントマイグレーションの対象となったアレイの各々を対象に、前記アレイ内のエクステントマイグレーションを実行すると良い。   Further, in a disk array device having both functions of inter-array extent migration and intra-array extent migration, the extent migration execution means executes extent migration between the arrays and then becomes an object of extent migration between the arrays. The extent migration in the array may be executed for each of the arrays.

更に、ネットワークにより接続された複数のディスクアレイ装置を有するディスクアレイサブシステムでは、当該複数のディスクアレイ装置の前記エクステントマイグレーション実行手段が、当該ディスク装置内で前記アレイ間のエクステントマイグレーションを実行した後、前記複数のディスクアレイ装置の間で前記アレイ間のエクステントマイグレーションを実行し、しかる後に当該アレイ間のエクステントマイグレーションの対象となったアレイの各々を対象に、前記アレイ内のエクステントマイグレーションを実行すると良い。   Further, in a disk array subsystem having a plurality of disk array devices connected by a network, after the extent migration execution means of the plurality of disk array devices executes extent migration between the arrays in the disk device, It is preferable that extent migration between the arrays is executed between the plurality of disk array devices, and then extent migration within the array is executed for each of the arrays that are subject to extent migration between the arrays.

本発明によれば、ディスク装置内の複数のエクステントチャンクに対するI/O要求が同時に発生する度合い(第1の存在率)に基づいてアレイ間でデータ再配置を行うことにより、当該ディスク装置内で複数のエクステントチャンクに対するI/O要求が同時に発生する度合いを下げて、当該ディスク装置内での同時I/O要求数を減らすことが可能となり、これによりディスクアレイサブシステムの性能向上を実現できる。   According to the present invention, data is rearranged between arrays on the basis of the degree (first existence rate) at which I / O requests for a plurality of extent chunks in a disk device occur at the same time. The degree of simultaneous I / O requests for a plurality of extent chunks can be reduced to reduce the number of simultaneous I / O requests in the disk device, thereby improving the performance of the disk array subsystem.

以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係るディスクアレイサブシステム1の構成を示すブロック図である。このディスクアレイサブシステム1は、少なくとも1台のディスクアレイ装置、例えば2台のディスクアレイ装置10-1及び10-2を有するストレージシステム(自律データ再配置ストレージシステム)として実現されている。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of a disk array subsystem 1 according to an embodiment of the present invention. The disk array subsystem 1 is realized as a storage system (autonomous data relocation storage system) having at least one disk array device, for example, two disk array devices 10-1 and 10-2.

ディスクアレイ装置10-1及び10-2は、当該ディスクアレイ装置10-1及び10-2を利用する少なくとも1台のホスト装置、例えばホスト装置20とネットワーク31を介して接続されている。ディスクアレイ装置10-1及び10-2はまた、ネットワーク32によって相互接続されている。ネットワーク31及び32は、例えばファイバチャネル(Fibre Channel: FC)、或いはインターネットSCSI(Internet SCSI: iSCSI)を用いて構成される。   The disk array devices 10-1 and 10-2 are connected to at least one host device that uses the disk array devices 10-1 and 10-2, for example, the host device 20 via a network 31. The disk array devices 10-1 and 10-2 are also interconnected by a network 32. The networks 31 and 32 are configured by using, for example, Fiber Channel (FC) or Internet SCSI (Internet SCSI).

ディスクアレイ装置10-1は少なくとも1つのディスクアレイ(アレイ)、例えば3つのアレイ11-1(#1),11-2(#2)及び11-3(#3)を有しているものとする。一方、ディスクアレイ装置10-2は、少なくとも1つのディスクアレイ(アレイ)、例えば3つのアレイ11-A(#A),11-B(#B)及び11-C(#C)を有しているものとする。   The disk array device 10-1 has at least one disk array (array), for example, three arrays 11-1 (# 1), 11-2 (# 2), and 11-3 (# 3). To do. On the other hand, the disk array device 10-2 has at least one disk array (array), for example, three arrays 11-A (#A), 11-B (#B), and 11-C (#C). It shall be.

アレイ11-1〜11-3及び11-A〜11-Cは、それぞれ少なくとも1台のHDD(ディスク装置)、例えば6台のHDD110から構成されるものとする。但し、図1では、アレイ11-1〜11-3及び11-A〜11-Cは、作図の都合で、それぞれ3台のHDD110から構成されているように示されている。本実施形態におけるアレイ11-i(i=1,2,3,A,B,C)は、例えばRAID5(RAID5レベル)を適用するRAID(Redundant Array of Independent DisksまたはRedundant Array of Inexpensive Disks)である。アレイ11-iの領域は、当該アレイ11-iを構成するHDD110を組み合わせて、これらのHDD110の記憶領域を連続した1つの領域として定義される。ディスクアレイ装置10-1及び10-2内の各HDD110には、当該ディスクアレイ装置10-1及び10-2内で固有の識別番号(HDD番号)が割り当てられる。   Assume that each of the arrays 11-1 to 11-3 and 11-A to 11-C includes at least one HDD (disk device), for example, six HDDs 110. However, in FIG. 1, the arrays 11-1 to 11-3 and 11 -A to 11 -C are shown as being composed of three HDDs 110 for the convenience of drawing. The array 11-i (i = 1, 2, 3, A, B, C) in this embodiment is, for example, RAID (Redundant Array of Independent Disks or Redundant Array of Inexpensive Disks) to which RAID 5 (RAID 5 level) is applied. . The area of the array 11-i is defined as one continuous area by combining the HDDs 110 that constitute the array 11-i and storing the storage areas of these HDDs 110. Each HDD 110 in the disk array devices 10-1 and 10-2 is assigned a unique identification number (HDD number) in the disk array devices 10-1 and 10-2.

ディスクアレイ装置10-1は、ホスト装置20からの要求に応じてアレイ11-1〜11-3へのアクセスを制御するアレイコントローラ12-1を有する。ディスクアレイ装置10-2は、ホスト装置20からの要求に応じてアレイ11-A〜11-Cへのアクセスを制御するアレイコントローラ12-2を有する。アレイコントローラ12-1及び12-2は、ネットワーク31を介してホスト装置20と接続されている。   The disk array device 10-1 has an array controller 12-1 that controls access to the arrays 11-1 to 11-3 in response to a request from the host device 20. The disk array device 10-2 has an array controller 12-2 that controls access to the arrays 11-A to 11-C in response to a request from the host device 20. The array controllers 12-1 and 12-2 are connected to the host device 20 via the network 31.

アレイコントローラ12-1及び12-2は、それぞれ、アレイ11-1〜11-3及び11-A〜11-Cの全領域を、ある一定サイズの物理エクステントに区切って(分割して)管理する。アレイコントローラ12-1及び12-2は、1つ以上の物理エクステント(例えば複数の物理エクステント)を用いることによってホスト装置20から認識(アクセス)される論理ボリューム(論理ディスク)を構成する。即ちアレイコントローラ12-1及び12-2は、論理ボリュームを構成する論理エクステントを、その論理エクステントと同数の物理エクステントに割り付ける。   The array controllers 12-1 and 12-2 manage the entire areas of the arrays 11-1 to 11-3 and 11-A to 11-C, respectively, by dividing (dividing) into physical extents of a certain size. . The array controllers 12-1 and 12-2 constitute a logical volume (logical disk) that is recognized (accessed) from the host device 20 by using one or more physical extents (for example, a plurality of physical extents). That is, the array controllers 12-1 and 12-2 allocate the logical extents constituting the logical volume to the same number of physical extents as the logical extents.

論理エクステントと物理エクステントとの対応付けはマッピングテーブルによって管理される。例えば、論理エクステントLE1に対応付けられる物理エクステントを物理エクステントPE1から物理エクステントPE2に変更する場合、マッピングテーブルにおけるLE1とPE1との対応を表すマッピング情報が、LE1とPE2との対応を表すマッピング情報に更新される。このような論理エクステントと物理エクステントとの対応付けを管理する手法は従来から良く知られている。このため以下では、論理エクステントに対応付けられる物理エクステントの変更についての説明は省略する。また、以下では物理エクステントについて述べ、物理エクステントと論理エクステントとを区別する必要がある場合を除き、物理エクステントを単にエクステントと表現する。   The association between the logical extent and the physical extent is managed by the mapping table. For example, when the physical extent associated with the logical extent LE1 is changed from the physical extent PE1 to the physical extent PE2, the mapping information indicating the correspondence between LE1 and PE1 in the mapping table is changed to the mapping information indicating the correspondence between LE1 and PE2. Updated. A technique for managing such association between logical extents and physical extents has been well known. For this reason, in the following, description of changing the physical extent associated with the logical extent is omitted. In the following, a physical extent will be described, and a physical extent is simply expressed as an extent unless it is necessary to distinguish between a physical extent and a logical extent.

エクステントのうち、各HDD110に対応する(属する)領域をエクステントチャンクと呼ぶ。図2は、エクステントとエクステントチャンクとの関係をアレイ11-i(i=1,2,3,A,B,C)で代表させて示す。   Among extents, an area corresponding to (belonging to) each HDD 110 is called an extent chunk. FIG. 2 shows the relationship between extents and extent chunks as an array 11-i (i = 1, 2, 3, A, B, C).

本実施形態において、ディスクアレイ装置10-1及び10-2の各々のHDD110の総数は18、各HDD110の容量は300GBである。各アレイ11-iのエクステントのサイズは1GBに固定されている。また、各アレイ11-iは前記したように6台のHDD110から構成され(図では便宜的に3台のHDD110のみが示されている)、RAID5を適用するRAIDである。   In this embodiment, the total number of HDDs 110 in each of the disk array devices 10-1 and 10-2 is 18, and the capacity of each HDD 110 is 300 GB. The extent size of each array 11-i is fixed to 1 GB. Each array 11-i is composed of six HDDs 110 as described above (only three HDDs 110 are shown for convenience in the figure), and is a RAID to which RAID 5 is applied.

各アレイ11-iの実質的なデータ容量は、当該アレイ11-iがRAID5を適用することから、HDD5台分の容量となる。この場合、エクステントチャンクサイズは1GB/5=0.2GBとなる。したがって、HDD1台当たりのエクステントチャンク総数(アレイ当たりのエクステント総数)は、300GB/0.2GB=1500となる。   The substantial data capacity of each array 11-i is the capacity of five HDDs because the array 11-i applies RAID5. In this case, the extent chunk size is 1 GB / 5 = 0.2 GB. Therefore, the total number of extent chunks per HDD (total number of extents per array) is 300 GB / 0.2 GB = 1500.

アレイコントローラ12-1及び12-2は、前記したように、ホスト装置20からアクセスされる論理ボリュームと当該論理ボリュームを構成する論理エクステントとの対応関係、及び当該論理エクステントと当該論理エクステントがマッピングされる物理エクステントとの対応関係を管理する。アレイコントローラ12-1及び12-2は、データの物理的な配置を、当該アレイコントローラ12-1及び12-2にそれぞれ対応するディスクアレイ装置10-1及び10-2内で、またはディスクアレイ装置10-1及び10-2をまたがって自律的に再配置する。更に具体的に述べるならば、アレイコントローラ12-1及び12-2は、エクステント間のデータコピーを行うことによって、データを保持したまま、データの物理エクステントを、ディスクアレイ装置10-1及び10-2内で、またはディスクアレイ装置10-1及び10-2をまたがって再配置する。このようなエクステントの入れ替えによるデータの再配置をエクステントマイグレーションと呼ぶ。   As described above, the array controllers 12-1 and 12-2 map the correspondence between the logical volume accessed from the host device 20 and the logical extent constituting the logical volume, and the logical extent and the logical extent are mapped. Manage the correspondence with physical extents. The array controllers 12-1 and 12-2 perform the physical arrangement of data in the disk array devices 10-1 and 10-2 corresponding to the array controllers 12-1 and 12-2, respectively, or the disk array device. Relocate autonomously across 10-1 and 10-2. More specifically, the array controllers 12-1 and 12-2 perform data copying between the extents, so that the physical extents of the data are stored in the disk array apparatuses 10-1 and 10- while retaining the data. 2 or across the disk array devices 10-1 and 10-2. Such data rearrangement by exchanging extents is called extent migration.

ここで、本実施形態で適用される特別の用語について説明する。本実施形態では、代表HDD、実行中I/O、同時I/O存在率、HDDI/O存在率及びエクステントチャンクI/O存在率が定義されている。   Here, special terms applied in the present embodiment will be described. In this embodiment, a representative HDD, an executing I / O, a simultaneous I / O existence rate, a HDD I / O existence rate, and an extent chunk I / O existence rate are defined.

<代表HDD>
代表HDDは、アレイ11-i(i=1,2,3,A,B,C)を構成する6台のHDD110のうちの特定の1つを指す。ここでは、アレイ11-iを構成するHDD110のうちHDD番号が最も小さいHDDが代表HDDとして用いられる。
<Representative HDD>
The representative HDD indicates a specific one of the six HDDs 110 constituting the array 11-i (i = 1, 2, 3, A, B, C). Here, the HDD with the smallest HDD number among the HDDs 110 constituting the array 11-i is used as the representative HDD.

<実行中I/O>
実行中I/Oは、アレイコントローラ12-j(j=1,2)からHDD110に発行されて未完了のアクセス要求(リード/ライトのためのディスクI/O要求)を指す。つまり、実行中I/Oは、HDD110内のエクステントチャンクへのアクセスが現在実行されているアクセス要求だけでなく、エクステントチャンクへのアクセスの実行待ち状態にあるアクセス要求をも指す。エクステントチャンクへのアクセスが実行されている、或いはエクステントチャンクへのアクセスの実行待ち状態にあるI/O要求(実行中I/O、未完了I/O)が存在することを、「実行中I/Oがエクステントチャンクに存在する」、または「エクステントチャンクに対する実行中I/Oが存在する」と表現する。アクセス要求(I/O要求)は、HDD110のI/Oキュー(I/Oキューバッファ)にキューリストとして保持され、当該要求の指定するアクセスが完了すると当該キューから削除される。
<Executing I / O>
The in-execution I / O indicates an access request (disk I / O request for read / write) issued to the HDD 110 from the array controller 12-j (j = 1, 2). That is, the in-execution I / O indicates not only an access request for which an access to an extent chunk in the HDD 110 is currently being executed but also an access request that is waiting for an access to an extent chunk. The fact that there is an I / O request (execution I / O, incomplete I / O) that is in the execution wait state for access to the extent chunk or that is being executed, / O exists in an extent chunk "or" an ongoing I / O exists for an extent chunk ". The access request (I / O request) is held as a queue list in the I / O queue (I / O queue buffer) of the HDD 110, and is deleted from the queue when the access specified by the request is completed.

<同時I/O存在率>
同時I/O存在率(第1の存在率)は、HDD110(代表HDD110)内の複数のエクステントチャンクに同時に実行中I/Oが存在する度合いを指す。この同時I/O存在率は、エクステントチャンク毎に算出される。つまり同時I/O存在率は、着目するエクステントチャンクとHDD110(代表HDD110)内の他のエクステントチャンクに同時に実行中I/Oが存在する度合いを指す。アレイ11-1〜11-3及び11-A〜11-Cは一般にRAIDストライプ単位、即ちエクステントを構成する各エクステントチャンクに対して均等にアクセスされることが多い。したがって、代表HDD110内のエクステントチャンクの同時I/O存在率は、そのエクステントチャンクが属するエクステントの同時I/O存在率を表すと見なすことができる。また、例えばRAID1の場合で、リードデータがペアHDDの一方から読み出されるような場合は、リードデータを読み出すHDDを代表HDDとするといった、アレイのI/O状態を反映したHDDを代表HDDに選ぶと良い。
<Simultaneous I / O presence rate>
The simultaneous I / O existence ratio (first existence ratio) indicates the degree of simultaneous execution of I / O in a plurality of extent chunks in the HDD 110 (representative HDD 110). This simultaneous I / O existence rate is calculated for each extent chunk. In other words, the simultaneous I / O existence ratio indicates the degree of simultaneous execution of I / O in the extent chunk of interest and other extent chunks in the HDD 110 (representative HDD 110). In general, the arrays 11-1 to 11-3 and 11-A to 11-C are often accessed equally to each RAID chunk unit, that is, each extent chunk constituting the extent. Therefore, the simultaneous I / O existence rate of the extent chunk in the representative HDD 110 can be regarded as representing the simultaneous I / O existence rate of the extent to which the extent chunk belongs. Further, for example, in the case of RAID1, when the read data is read from one of the paired HDDs, the HDD reflecting the I / O state of the array is selected as the representative HDD, such as the HDD that reads the read data as the representative HDD. And good.

<エクステントチャンクI/O存在率>
エクステントチャンクI/O存在率(第3の存在率)は、代表HDD110内のエクステントチャンク毎に算出される、当該エクステントチャンクに実行中I/O(少なくとも1つの実行中I/O)が存在する度合いを指す。
<Extent chunk I / O existence rate>
The extent chunk I / O existence rate (third existence rate) is calculated for each extent chunk in the representative HDD 110, and there is an executing I / O (at least one executing I / O) in the extent chunk. Refers to degree.

<HDDI/O存在率>
HDDI/O存在率(第2の存在率)は、代表HDD110毎に算出される、当該代表HDD110に実行中I/O(少なくとも1つの実行中I/O)が存在する度合いを指す。
<HDD I / O presence rate>
The HDD I / O existence rate (second existence rate) indicates the degree of execution of I / O being executed (at least one executing I / O) in the representative HDD 110 calculated for each representative HDD 110.

アレイコントローラ12-1及び12-2は、上述のエクステントマイグレーションを、次に述べる第1のアレイの第1のエクステント及び第2のアレイの第2のエクステントの間で行う。   The array controllers 12-1 and 12-2 perform the extent migration described above between the first extent of the first array and the second extent of the second array described below.

第1のエクステントは、あるアレイ(第1のアレイ)を構成する代表HDD110(第1の代表HDD110)内の同時I/O存在率が一定レベルよりも高いエクステントチャンクが属する、当該第1のアレイ内のエクステントを指す。第2のアレイは、第1のアレイとは別のアレイであって、当該第2のアレイの代表HDD(第2の代表HDD110)に実行中I/Oが存在する度合い(つまりHDDI/O存在率)が一定レベルよりも低いアレイを指す。第2のエクステントは、第2のアレイ内のエクステントのうち、当該第2のアレイ内の第2の代表HDD110において実行中I/Oが存在する度合い率が最も低いエクステントチャンク(つまりエクステントチャンクI/O存在率が最も低いエクステントチャンク)が属するエクステントを指す。   The first extent is a first array to which an extent chunk having a simultaneous I / O existence rate in a representative HDD 110 (first representative HDD 110) constituting a certain array (first array) higher than a certain level belongs. Points to the extent within The second array is an array different from the first array, and the degree to which the executing I / O is present in the representative HDD (second representative HDD 110) of the second array (that is, the HDD I / O exists) (Rate) refers to an array that is below a certain level. The second extent is an extent chunk (that is, extent chunk I / O) that has the lowest rate of presence of executing I / O in the second representative HDD 110 in the second array among the extents in the second array. This refers to the extent to which the extent chunk having the lowest O existence rate belongs.

本実施形態において、アレイコントローラ12-1及び12-2は同一の構成を有している。そこで、アレイコントローラ12-1及び12-2の構成について、アレイコントローラ12-j(j=1,2)で代表させて説明する。   In this embodiment, the array controllers 12-1 and 12-2 have the same configuration. Therefore, the configuration of the array controllers 12-1 and 12-2 will be described by using the array controller 12-j (j = 1, 2) as a representative.

図3は、アレイコントローラ12-jの構成を示すブロック図である。必要ならば、以下の説明においてアレイコントローラ12-jをアレイコントローラ12-1または12-2に適宜読み替えられたい。   FIG. 3 is a block diagram showing the configuration of the array controller 12-j. If necessary, the array controller 12-j should be appropriately replaced with the array controller 12-1 or 12-2 in the following description.

アレイコントローラ12-jは、ホストドライバ121と、ホストマネージャ122と、キャッシュ123と、キャッシュコントローラ124と、RAIDマネージャ125と、HDDドライバ126と、メモリ127とから構成される。   The array controller 12-j includes a host driver 121, a host manager 122, a cache 123, a cache controller 124, a RAID manager 125, an HDD driver 126, and a memory 127.

ホストドライバ121は、ホスト装置20との間でデータ・コマンドを入出力する。ホストマネージャ122は、ホスト装置20によって認識される論理ボリュームを提供するアレイ(図1ではアレイ11-1〜11-3またはアレイ11-A〜11-C)を管理する。キャッシュ123は、ホスト装置20とアレイとの間で入出力されるデータを一時格納する。キャッシュコントローラ124は、キャッシュ123に対するアクセスを制御する。   The host driver 121 inputs and outputs data commands with the host device 20. The host manager 122 manages an array (arrays 11-1 to 11-3 or arrays 11-A to 11-C in FIG. 1) that provides a logical volume recognized by the host device 20. The cache 123 temporarily stores data input / output between the host device 20 and the array. The cache controller 124 controls access to the cache 123.

RAIDマネージャ125は、ホスト装置20によって認識される論理ボリュームを提供するアレイとエクステントとの対応関係、及びエクステントとHDD110内のエクステントチャンクとの対応関係を管理する。RAIDマネージャ125は、同時I/O存在率、HDDI/O存在率及びエクステントチャンクI/O存在率を算出する機能と、これらの存在率に基づいて上述のエクステントマイグレーションを実行する機能とを有する。   The RAID manager 125 manages the correspondence between arrays that provide logical volumes recognized by the host device 20 and extents, and the correspondence between extents and extent chunks in the HDD 110. The RAID manager 125 has a function of calculating the simultaneous I / O presence rate, the HDD I / O presence rate, and the extent chunk I / O presence rate, and a function of executing the extent migration described above based on these presence rates.

HDDドライバ126は、アレイを構成する各HDD110へのアクセス(ディスクI/O)を実行する。HDDドライバ125は、代表HDD110毎のHDDI/O数N1及び当該代表HDD110内のエクステントチャンク毎のエクステントチャンクI/O数N2を計測する。HDDI/O数N1は、代表HDD110内での実行中I/Oの数、つまり代表HDD110に存在する未完了のI/Oの数を表す。エクステントチャンクI/O数N2は、エクステントチャンクでの実行中I/Oの数、つまりエクステントチャンクに存在する未完了のI/Oの数を表す。   The HDD driver 126 executes access (disk I / O) to each HDD 110 constituting the array. The HDD driver 125 measures the number of HDD I / Os N1 for each representative HDD 110 and the number of extent chunk I / Os N2 for each extent chunk in the representative HDD 110. The HDD I / O number N1 represents the number of I / Os being executed in the representative HDD 110, that is, the number of incomplete I / Os present in the representative HDD 110. The number N2 of extent chunk I / Os represents the number of I / Os being executed in the extent chunks, that is, the number of incomplete I / Os present in the extent chunks.

メモリ127は、上述のN1及びN2を計測するためのカウンタ(N1カウンタ及びN2カウンタ)を含む種々のカウンタ(のカウント値)を保持する。これらのカウンタはソフトウェアカウンタである。   The memory 127 holds various counters (count values thereof) including the counters (N1 counter and N2 counter) for measuring N1 and N2 described above. These counters are software counters.

本実施形態において、ホストドライバ121、ホストマネージャ122、キャッシュコントローラ124、RAIDマネージャ125及びHDDドライバ126は、アレイコントローラ12-jが、所定のプログラムを記憶媒体から読み込んで実行することにより実現される。この記憶媒体は、例えば、HDDに搭載されている磁気ディスク媒体、光ディスクドライブに装着して用いられる光ディスク媒体、或いはROMである。また、上記プログラムが例えばネットワーク31を介してアレイコントローラ12-jにダウンロードされても構わない。   In this embodiment, the host driver 121, the host manager 122, the cache controller 124, the RAID manager 125, and the HDD driver 126 are realized by the array controller 12-j reading and executing a predetermined program from a storage medium. This storage medium is, for example, a magnetic disk medium mounted on an HDD, an optical disk medium used by being mounted on an optical disk drive, or a ROM. Further, the above program may be downloaded to the array controller 12-j via the network 31, for example.

次に、例えばアレイコントローラ12-1(内のRAIDマネージャ125)によるエクステントマイグレーションについて、図4を参照して説明する。
図4において、代表HDD110(#1)は第1のアレイ11-1(#1)の代表HDD110を表す。この代表HDD110(#1)内のエクステントチャンク41〜43の各々は、当該エクステントチャンクを含む複数のエクステントチャンクに同時に実行中I/Oが存在する度合い(同時I/O存在率)が一定レベルよりも高いエクステントチャンクであるものとする。つまり、エクステントチャンク41〜43は同時I/O存在率が高いエクステントチャンクの組であるものとする。ここでは、実行中I/O数が2以上となる度合いが高いエクステントチャンクが、同時I/O存在率が高いエクステントチャンクとして扱われる。このようなエクステントチャンクはレスポンスが良くない。
Next, for example, extent migration by the array controller 12-1 (internal RAID manager 125) will be described with reference to FIG.
In FIG. 4, the representative HDD 110 (# 1) represents the representative HDD 110 of the first array 11-1 (# 1). In each of the extent chunks 41 to 43 in the representative HDD 110 (# 1), the degree (simultaneous I / O existence rate) that a plurality of extent chunks including the extent chunk are simultaneously executing I / O (simultaneous I / O existence rate) is from a certain level. Are also high extent chunks. That is, the extent chunks 41 to 43 are assumed to be a set of extent chunks having a high simultaneous I / O existence rate. Here, extent chunks that have a high degree of the number of executing I / Os being two or more are treated as extent chunks that have a high simultaneous I / O existence rate. Such extent chunks do not respond well.

一方、代表HDD110(#2)はアレイ11-1(#1)とは別の第2のアレイ、例えばアレイ11-2(#2)の代表HDD110を表す。この代表HDD110(#2)は、代表HDD110(#1)に比べて実行中I/Oが存在する度合い(HDDI/O存在率)が低く、したがってHDD利用率(活用率)が低いものとする。代表HDD110(#2)内のエクステントチャンク44は、実行中I/Oが存在する度合い(エクステントチャンクI/O存在率)が当該代表HDD110(#2)内のエクステントチャンクの中で最も低いものとする。   On the other hand, the representative HDD 110 (# 2) represents a second HDD different from the array 11-1 (# 1), for example, the representative HDD 110 of the array 11-2 (# 2). The representative HDD 110 (# 2) has a lower degree of presence of executing I / O (HDD I / O presence rate) than the representative HDD 110 (# 1), and therefore has a lower HDD usage rate (utilization rate). . The extent chunk 44 in the representative HDD 110 (# 2) has the lowest degree of I / O being executed (extent chunk I / O existence rate) among the extent chunks in the representative HDD 110 (# 2). To do.

アレイコントローラ12-1(内のRAIDマネージャ125)は、エクステントチャンク41〜43のうちのいずれか、例えばエクステントチャンク41が属するアレイ11-1(#1)内のエクステント(第1のエクステント)と、エクステントチャンク44が属するアレイ11-2(#2)内のエクステント(第2のエクステント)との間でエクステントマイグレーション(アレイ間エクステントマイグレーション)45を行う。   The array controller 12-1 (internal RAID manager 125) is one of the extent chunks 41 to 43, for example, the extent (first extent) in the array 11-1 (# 1) to which the extent chunk 41 belongs, Extent migration (inter-array extent migration) 45 is performed between the extent (second extent) in the array 11-2 (# 2) to which the extent chunk 44 belongs.

このエクステントマイグレーション45により、代表HDD110(#1)内の(同時I/O存在率が高い)エクステントチャンク41のデータD1は、(HDDI/O存在率が低い)代表HDD110(#2)内の(エクステントチャンクI/O存在率が最も低い)エクステントチャンク44に、エクステントチャンク44のデータD2はエクステントチャンク41に、それぞれ再配置される。このエクステントマイグレーション45では、エクステントチャンク41が属するエクステント(第1のエクステント)に含まれている他のエクステントチャンクのデータが、エクステントチャンク44が属するエクステント(第2のエクステント)に含まれている他のエクステントチャンクに、第2のエクステントに含まれている他のエクステントチャンクのデータが第1のエクステントに含まれている他のエクステントチャンクに、それぞれ再配置される。   By this extent migration 45, the data D1 of the extent chunk 41 (with a high simultaneous I / O existence rate) in the representative HDD 110 (# 1) is stored in the representative HDD 110 (# 2) (with a low HDD I / O existence rate) ( The data D2 of the extent chunk 44 is rearranged in the extent chunk 41 in the extent chunk 44 (with the lowest extent chunk I / O existence ratio). In this extent migration 45, the data of other extent chunks included in the extent (first extent) to which the extent chunk 41 belongs is stored in other extent chunks included in the extent (second extent) to which the extent chunk 44 belongs. The data of another extent chunk included in the second extent is relocated to the other extent chunk included in the first extent.

つまり、エクステントマイグレーション45では、上述の第1のエクステントのデータが第2のエクステントに、第2のエクステントのデータが第1のエクステントに再配置される。ここで、第1及び第2のエクステント(物理エクステント)が、エクステントマイグレーション45の実行前に、それぞれ第1及び第2の論理エクステントと対応付けられているものとする。この場合、エクステントマイグレーション45の実行に伴い、前述のマッピングテーブルが更新されて、第1及び第2のエクステント(物理エクステント)が、それぞれ第2及び第1の論理エクステントと対応付けられる。このエクステントマイグレーションの実行に伴うマッピングテーブルの更新(マッピングの変更)自体は従来から良く知られているため、以下の新たなエクステントマイグレーションに関する説明では省略する。   That is, in the extent migration 45, the data of the first extent described above is rearranged in the second extent, and the data of the second extent is rearranged in the first extent. Here, it is assumed that the first and second extents (physical extents) are associated with the first and second logical extents before the extent migration 45 is executed. In this case, as the extent migration 45 is executed, the above-described mapping table is updated, and the first and second extents (physical extents) are associated with the second and first logical extents, respectively. Since the mapping table update (mapping change) itself associated with the execution of extent migration is well known in the past, it will be omitted in the following description of the new extent migration.

エクステントマイグレーション45によるデータ再配置46の結果、アレイ11-1(#1)を構成するHDD110内の複数のエクステントチャンクに同時にアクセス要求(I/O要求)が発生する度合いが下げられる。つまり、アレイ11-1(#1)を構成するHDD110において同時に存在する実行中I/Oの数、つまりHDD I/Oキューにつながれている実行中I/O(未完了のI/O要求の数)が低減される。これにより、アレイ11-1(#1)を構成するHDD110の利用効率(稼働率)を上げて、当該HDD110の性能を可能な限り活用することができる。   As a result of the data relocation 46 by the extent migration 45, the degree to which access requests (I / O requests) are simultaneously generated in a plurality of extent chunks in the HDD 110 constituting the array 11-1 (# 1) is lowered. That is, the number of executing I / Os simultaneously existing in the HDDs 110 constituting the array 11-1 (# 1), that is, executing I / Os connected to the HDD I / O queue (incomplete I / O requests). Number) is reduced. As a result, the utilization efficiency (operation rate) of the HDDs 110 constituting the array 11-1 (# 1) can be increased, and the performance of the HDDs 110 can be utilized as much as possible.

以下、上述のエクステントマイグレーションを更に具体的に説明する。
図4の例では、アレイ11-1(#1)を構成するHDD110(代表HDD110(#1))に、同時I/O存在率が高いエクステントチャンク41〜43の組が存在する。このようなHDD110では、同時I/O数(HDD I/Oキューつながれている実行中I/O数)が2以上となる度合いが高い。HDD110では、同時に複数のI/O要求を処理できないことから、同時I/O数が2以上となる場合、レスポンスは低下する傾向にある。
Hereinafter, the extent migration described above will be described more specifically.
In the example of FIG. 4, a set of extent chunks 41 to 43 having a high simultaneous I / O existence rate exists in the HDD 110 (representative HDD 110 (# 1)) configuring the array 11-1 (# 1). In such an HDD 110, the number of simultaneous I / Os (the number of executing I / Os connected to the HDD I / O queue) is likely to be 2 or more. Since the HDD 110 cannot process a plurality of I / O requests at the same time, the response tends to decrease when the number of simultaneous I / Os is 2 or more.

一方、アレイ11-2(#2)を構成するHDD110(代表HDD110(#2))のHDDI/O存在率は低い。このようなアレイ11-2(#2)が存在する場合、そのアレイ11-2(#2)を構成するHDD110はアイドル状態となっている割合が高い。つまり、アレイ11-2(#2)を構成するHDD110の性能を十分に活用できていない。   On the other hand, the HDD I / O existence rate of the HDD 110 (representative HDD 110 (# 2)) constituting the array 11-2 (# 2) is low. When such an array 11-2 (# 2) exists, the HDD 110 constituting the array 11-2 (# 2) has a high ratio of being in an idle state. That is, the performance of the HDD 110 that constitutes the array 11-2 (# 2) cannot be fully utilized.

本実施形態では、上述した2つのアレイ11-1(#1)及び11-2(#2)の間でのエクステントマイグレーション45により、アレイ11-1(#1)内の同時I/O存在率が高いエクステント組に含まれている1つのエクステントと、他のアレイ11-2(#2)(つまりHDDI/O存在率が低いHDD110によって構成されるアレイ11-2(#2))内のエクステントチャンクI/O存在率が最も低いエクステントチャンクが属するエクステントとの間で、データが入れ替えられる(再配置される)。これにより、ディスクアレイ装置10-1内の各HDD110における同時I/O存在率を均等化して、当該HDD110の性能を可能な限り活用することができる。   In this embodiment, the extent migration 45 between the two arrays 11-1 (# 1) and 11-2 (# 2) described above causes the simultaneous I / O existence rate in the array 11-1 (# 1). One extent included in the extent group having a high level and the extents in the other array 11-2 (# 2) (that is, the array 11-2 (# 2) configured by the HDD 110 having a low HDD I / O existence rate) Data is exchanged (rearranged) with the extent to which the extent chunk with the lowest chunk I / O existence rate belongs. This makes it possible to equalize the simultaneous I / O existence rate in each HDD 110 in the disk array device 10-1 and to utilize the performance of the HDD 110 as much as possible.

次に、エクステントマイグレーションの対象となるエクステントを決定するのに、エクステントチャンクのアクセス頻度ではなくて同時I/O存在率を用いる理由について図5を参照して説明する。図5は、エクステントマイグレーションで性能向上が期待できないHDD110のアクセスパターン例を、アレイ11-iの代表HDD110について示す。   Next, the reason why the concurrent I / O existence rate is used instead of the extent chunk access frequency to determine the extents to be subject to extent migration will be described with reference to FIG. FIG. 5 shows an access pattern example of the HDD 110 for which performance improvement cannot be expected by extent migration for the representative HDD 110 of the array 11-i.

図5(a)の例は、代表HDD110内のある1つのエクステントチャンク51のみにアクセス(アクセス要求)が集中している場合を想定している。つまり、アレイ11-iにおいて、ある1つのエクステントのみにアクセスが集中しているものとする。   The example in FIG. 5A assumes a case where accesses (access requests) are concentrated only on one extent chunk 51 in the representative HDD 110. That is, it is assumed that accesses are concentrated on only one extent in the array 11-i.

図5(a)の代表HDD110では、エクステントチャンク51以外のエクステントチャンクへのアクセスは殆ど発生しない。つまり図5(a)の代表HDD110は、エクステントチャンク51のみに対するアクセスの集中によってアクセス頻度が高くても、アイドル状態となっている度合いが高い。このため、エクステントチャンク51が属するエクステント(のデータ)を再配置しても、アレイ11-iを構成するHDD110のアクセス頻度は下げられるものの、利用効率を向上することは期待できない。   In the representative HDD 110 in FIG. 5A, access to extent chunks other than the extent chunk 51 hardly occurs. That is, the representative HDD 110 in FIG. 5A has a high degree of idling even if the access frequency is high due to the concentration of access to only the extent chunk 51. For this reason, even if the extent (data) to which the extent chunk 51 belongs is rearranged, although the access frequency of the HDD 110 constituting the array 11-i can be lowered, it cannot be expected to improve the utilization efficiency.

図5(b)の例は、代表HDD110において、アクセス頻度は高いものの、同時に複数のエクステントチャンク(ここではエクステントチャンク52及び53)にアクセスが発生することが少ない場合を想定している。つまり、アレイ11-iはアクセス頻度が高く高負荷であっても、同時に複数のエクステントに対してアクセスが発生することが少ないものとする。このような例として、エクステントチャンク52が属するエクステントとエクステントチャンク53が属するエクステントとが交互にアクセスされる場合が挙げられる。   In the example of FIG. 5B, it is assumed that in the representative HDD 110, access frequency is high, but access to a plurality of extent chunks (here, extent chunks 52 and 53) is rare. That is, it is assumed that the array 11-i is less frequently accessed at the same time even if the access frequency is high and the load is high. As an example of this, there is a case where the extent to which the extent chunk 52 belongs and the extent to which the extent chunk 53 belongs are alternately accessed.

図5(b)の代表HDD110では、エクステントチャンク52及び53へのアクセスは時間的に分散している。したがって、エクステントチャンク52または53が属するエクステントを再配置(分散)しても、アレイ11-iを構成するHDD110のアクセス頻度は下げられるものの、利用効率を向上することは期待できない。   In the representative HDD 110 shown in FIG. 5B, accesses to the extent chunks 52 and 53 are temporally dispersed. Therefore, even if the extent to which the extent chunk 52 or 53 belongs is rearranged (distributed), although the access frequency of the HDD 110 constituting the array 11-i can be lowered, it cannot be expected to improve the utilization efficiency.

以上の点を考慮して、本実施形態では、エクステントマイグレーションの対象となる高負荷アレイと当該アレイ内のエクステント(第1のエクステント)の判定に、代表HDDのエクステントチャンクに関する同時I/O存在率が用いられる。   In consideration of the above points, in this embodiment, the simultaneous I / O existence rate related to the extent chunk of the representative HDD is used to determine the high-load array to be subject to extent migration and the extent (first extent) in the array. Is used.

また本実施形態では、エクステントマイグレーションの相手となるアレイ内のエクステント(第2のエクステント)として、HDDI/O存在率が低い別のアレイ(第2のアレイ)の、代表HDD内でエクステントチャンクI/O存在度合いが最も低いエクステントチャンクが属するエクステントが用いられる。このようなエクステントがエクステントマイグレーションの相手となるアレイの低負荷エクステントとして用いられる2つの理由について説明する。   In this embodiment, the extent chunk I / O in the representative HDD of another array (second array) with a low HDD I / O existence rate is used as the extent (second extent) in the array that is the extent migration partner. The extent to which the extent chunk with the lowest O existence degree belongs is used. Two reasons why such an extent is used as a low-load extent of an array that is an extent migration partner will be described.

まず第1の理由について説明する。、HDDI/O存在率が低いHDD110(代表HDD110)はアイドル率が高い。このため、このようなHDD110によって構成されるアレイを、同時I/O存在率の高いエクステントとの間のエクステントマイグレーションの相手(引受先)となる第2のアレイとして選択的に利用することによって、当該HDD110の稼働率を上げ、当該HDD110の性能を活用できる。   First, the first reason will be described. The HDD 110 (representative HDD 110) with a low HDD I / O presence rate has a high idle rate. For this reason, by selectively using such an array constituted by the HDDs 110 as a second array to be an extent migration partner (underwriting destination) with an extent having a high simultaneous I / O existence rate, The operating rate of the HDD 110 can be increased and the performance of the HDD 110 can be utilized.

次に第2の理由について説明する。まず、第1の理由に基づいて選択された第2のアレイ内のエクステントのうち、代表HDD内でエクステントチャンクI/O存在率が最も低いエクステントチャンクが属するエクステントが、第1のアレイ内の第1のエクステントとの間のエクステントマイグレーションの相手となる第2のエクステント(低負荷エクステント)として用いられるものとする。この場合、エクステントマイグレーション実行後の、第1のアレイ(負荷を減らしたいアレイ)に実行中I/Oが存在する度合いをできるだけ増加させないようにできる。   Next, the second reason will be described. First, out of the extents in the second array selected based on the first reason, the extent to which the extent chunk having the lowest extent chunk I / O existence rate in the representative HDD belongs is the first in the first array. It is assumed that it is used as a second extent (low load extent) that is a counterpart of extent migration with one extent. In this case, it is possible to prevent as much as possible the degree of I / O being executed in the first array (the array whose load is to be reduced) after the extent migration has been executed.

次に本実施形態において、代表HDD110内の複数のエクステントチャンクに実行中I/Oが同時に存在する度合い(同時I/O存在率)を表す指標となる情報を取得する手法について、図6を参照して説明する。
図6(a)は、アレイ11-iの代表HDD110の記憶領域が複数のエクステントチャンク0(EC-0),1(EC-1),2(EC-2),…に分割して管理されることを示す。
Next, in the present embodiment, refer to FIG. 6 for a method of acquiring information serving as an index indicating the degree of simultaneous execution of I / Os in a plurality of extent chunks in the representative HDD 110 (simultaneous I / O presence rate). To explain.
6A, the storage area of the representative HDD 110 of the array 11-i is managed by being divided into a plurality of extent chunks 0 (EC-0), 1 (EC-1), 2 (EC-2),. Indicates that

図6(b)は、あるサンプル周期(サンプリング周期)毎にサンプリングされる代表HDD110の各エクステントチャンクに存在する実行中I/O数(つまり未完了の実行中I/O数)の一例を示す。図6(b)はまた、代表HDD110のエクステントチャンク毎の同時I/O存在率を算出するのに用いられるカウンタ(同時I/O存在率算出用カウンタ、第1のカウンタ)61-0,61-1,61-2,…のカウント値の変化例を、同時I/O存在率(X)と対応付けて示す。サンプル周期には、一定時間周期、ランダム時間周期、或いは一定時間周期及びランダム周期の組み合わせで決まる周期を用いることができる。   FIG. 6B shows an example of the number of executing I / Os (that is, the number of in-flight executing I / Os) existing in each extent chunk of the representative HDD 110 sampled every certain sampling period (sampling period). . FIG. 6B also shows counters (simultaneous I / O existence rate calculation counter, first counter) 61-0, 61 used to calculate the simultaneous I / O existence rate for each extent chunk of the representative HDD 110. .., 61-2,... Are shown in association with the simultaneous I / O existence rate (X). As the sample period, a fixed time period, a random time period, or a period determined by a combination of the fixed time period and the random period can be used.

カウンタ61-0,61-1,61-2,…は、アレイコントローラ12-j(j=1,2)のメモリ127内に、各アレイ11-iの代表HDD110のエクステントチャンク毎に、つまりエクステントチャンク0(EC-0),1(EC-1),2(EC-2),…に対応付けて設けられる。   The counters 61-0, 61-1, 61-2,... Are stored in the memory 127 of the array controller 12-j (j = 1, 2) for each extent chunk of the representative HDD 110 of each array 11-i, that is, extents. These are provided in correspondence with chunks 0 (EC-0), 1 (EC-1), 2 (EC-2),.

アレイコントローラ12-j(内のHDDドライバ126)は、代表HDD110内のエクステントチャンク毎に当該エクステントチャンクに存在する実行中I/O数N2をN2カウンタにより計測する。ここでは、エクステントチャンク毎の実行中I/O数N2(N2カウンタのカウント値)は、当該エクステントチャンクに対するI/O要求が代表HDD110に発行される都度1インクリメント(+1)され、当該I/O要求の実行が完了される都度1デクリメント(−1)される。   For each extent chunk in the representative HDD 110, the array controller 12-j (internal HDD driver 126) measures the number of executing I / Os N2 existing in the extent chunk using the N2 counter. Here, the number of executing I / Os N2 for each extent chunk (the count value of the N2 counter) is incremented by 1 (+1) every time an I / O request for the extent chunk is issued to the representative HDD 110, and the I / O concerned Each time the execution of the request is completed, 1 is decremented (−1).

アレイコントローラ12-j(内のRAIDマネージャ125)は、あるサンプル周期で、代表HDD110内のエクステントチャンク毎に当該エクステントチャンクに存在する実行中I/O数(メモリ127に保持されているN2カウンタのカウント値)をサンプリングする。アレイコントローラ12-j(内のRAIDマネージャ125)は、このサンプリングの結果、エクステントチャンク0(EC-0),1(EC-1),2(EC-2),…を含む複数のエクステントチャンクに実行中I/Oが同時に存在することが検出された場合、カウンタ61-0,61-1,61-2,…を1インクリメント(+1)する。   The array controller 12-j (inside the RAID manager 125), for each extent chunk in the representative HDD 110, in a certain sample period, the number of I / Os being executed in the extent chunk (the N2 counter held in the memory 127) (Count value) is sampled. As a result of this sampling, the array controller 12-j (inside the RAID manager 125) converts a plurality of extent chunks including extent chunks 0 (EC-0), 1 (EC-1), 2 (EC-2),. When it is detected that I / Os being executed exist simultaneously, the counters 61-0, 61-1, 61-2, ... are incremented by 1 (+1).

図6の例では、第1サンプル周期(第1サンプル)で、エクステントチャンク1(EC-1),2(EC-2),3(EC-3)及び4(EC-4)に実行中I/Oが存在した結果、矢印62で示されるように、カウンタ61-1,61-2,61-3及び61-4が+1されて、いずれもカウント値が1となった様子が示されている。   In the example of FIG. 6, in the first sample period (first sample), I is being executed in extent chunks 1 (EC-1), 2 (EC-2), 3 (EC-3), and 4 (EC-4). As a result of the presence of / O, the counters 61-1, 61-2, 61-3, and 61-4 are incremented by 1 as indicated by the arrow 62, and all of the count values are 1 are shown. Yes.

同様に図6の例では、第3サンプル周期で、エクステントチャンク2(EC-2)及び3(EC-3)に実行中I/Oが存在した結果、矢印63で示されるように、カウンタ61-2及び61-3が+1されて、いずれもカウント値が2となった様子が示されている。同様に図6の例では、第4サンプル周期で、エクステントチャンク1(EC-1)及び2(EC-2)に実行中I/Oが存在した結果、矢印64で示されるように、カウンタ61-1及び61-2が+1されて、それぞれカウント値が2及び3となった様子が示されている。   Similarly, in the example of FIG. 6, as a result of the execution of I / O in extent chunks 2 (EC-2) and 3 (EC-3) in the third sample period, as indicated by the arrow 63, the counter 61 -2 and 61-3 are incremented by 1, and the count value is 2 in both cases. Similarly, in the example of FIG. 6, as a result of the execution of I / O in extent chunks 1 (EC-1) and 2 (EC-2) in the fourth sample period, as indicated by the arrow 64, the counter 61 -1 and 61-2 are incremented by 1 and the count values become 2 and 3, respectively.

アレイコントローラ12-j(内のRAIDマネージャ125)は、代表HDD110のエクステントチャンク1(EC-1),2(EC-2),3(EC-3),…に対応するカウンタ61-0,61-1,61-2,…のカウント値をサンプル数(サンプリング回数)で除した値を、当該エクステントチャンク1(EC-1),2(EC-2),3(EC-3),…の同時I/O存在率として取得する。図6の例(5回のサンプリングの例)では、同時I/O存在率が最も高いエクステントチャンクは、エクステントチャンク2(EC-2)、つまりエクステント2のエクステントチャンクである。   The array controller 12-j (internal RAID manager 125) includes counters 61-0 and 61 corresponding to extent chunks 1 (EC-1), 2 (EC-2), 3 (EC-3),. −1, 61-2,... Divided by the number of samples (number of samplings), the extent chunks 1 (EC-1), 2 (EC-2), 3 (EC-3),. Acquired as the simultaneous I / O presence rate. In the example of FIG. 6 (example of sampling five times), the extent chunk with the highest simultaneous I / O existence rate is extent chunk 2 (EC-2), that is, extent chunk of extent 2.

次に本実施形態において、アレイ11-iの代表HDD110に実行中I/Oが存在する度合い(HDDI/O存在率)を表す指標となる情報を取得する手法について、図7を参照して説明する。ここでは、図6(a)に示されているように、アレイ11-iの代表HDD110の記憶領域がエクステントチャンク0(EC-0),1(EC-1),2(EC-2),…に分割して管理されるものとする。   Next, in the present embodiment, a method for acquiring information serving as an index indicating the degree of presence of executing I / O in the representative HDD 110 of the array 11-i (HDD I / O presence rate) will be described with reference to FIG. To do. Here, as shown in FIG. 6A, the storage areas of the representative HDD 110 of the array 11-i are extent chunks 0 (EC-0), 1 (EC-1), 2 (EC-2), It shall be managed by dividing into….

図7は、あるサンプル周期毎にサンプリングされる代表HDD110の各エクステントチャンクに存在する実行中I/O数の一例を、I/O存在カウンタ(第2のカウンタ)70のカウント値の変化例と対応付けて示す。I/O存在カウンタ70は、アレイコントローラ12-j(j=1,2)のメモリ127内に、各アレイ11-iの代表HDD110毎に設けられる。   FIG. 7 shows an example of the number of executing I / Os present in each extent chunk of the representative HDD 110 sampled at a certain sampling period, and a change example of the count value of the I / O presence counter (second counter) 70. Shown in correspondence. The I / O presence counter 70 is provided for each representative HDD 110 of each array 11-i in the memory 127 of the array controller 12-j (j = 1, 2).

アレイコントローラ12-j(内のRAIDマネージャ125)は、あるサンプル周期で、代表HDD110内のエクステントチャンク毎に当該エクステントチャンクに存在する実行中I/O数をサンプリングする。アレイコントローラ12-j(内のRAIDマネージャ125)は、このサンプリングの結果、エクステントチャンク0(EC-0),1(EC-1),2(EC-2),…のいずれかに実行中I/Oが存在することが検出された場合、つまり代表HDD110に少なくとも1つの実行中I/Oが存在することが検出された場合、当該代表HDD110に対応するI/O存在カウンタ70を1インクリメント(+1)する。図7の例では、第0サンプル周期、第1サンプル周期及び第3サンプル周期の3つの周期で、代表HDD110に少なくとも1つの実行中I/Oが存在することが検出されて、その都度I/O存在カウンタ70が+1される。   The array controller 12-j (inside the RAID manager 125) samples the number of I / Os in execution existing in the extent chunk for each extent chunk in the representative HDD 110 at a certain sampling period. As a result of this sampling, the array controller 12-j (internal RAID manager 125) is executing one of extent chunks 0 (EC-0), 1 (EC-1), 2 (EC-2),. When it is detected that / O exists, that is, when it is detected that at least one executing I / O exists in the representative HDD 110, the I / O presence counter 70 corresponding to the representative HDD 110 is incremented by 1 ( +1). In the example of FIG. 7, it is detected that there is at least one in-execution I / O in the representative HDD 110 in three periods of the 0th sample period, the first sample period, and the third sample period. The O presence counter 70 is incremented by one.

アレイコントローラ12-j(内のRAIDマネージャ125)は、I/O存在カウンタ70のカウント値をサンプル数(サンプリング回数)で除した値を、代表HDD110に実行中I/Oが存在する度合い(HDDI/O存在率)として算出する。図7の例(5回のサンプリングの例)では、代表HDD110のHDDI/O存在率として、3/5が算出される。   The array controller 12-j (within the RAID manager 125) determines the degree to which the I / O being executed exists in the representative HDD 110 by dividing the value obtained by dividing the count value of the I / O presence counter 70 by the number of samples (number of samplings) (HDDI / O abundance ratio). In the example of FIG. 7 (example of sampling five times), 3/5 is calculated as the HDD I / O existence ratio of the representative HDD 110.

次に本実施形態において、アレイ11-iの代表HDD110に含まれている各エクステントチャンクに実行中I/Oが存在する度合い(エクステントチャンクI/O存在率)を表す指標となる情報を取得する手法について、図8を参照して説明する。ここでは、図6(a)に示されているように、アレイ11-iの代表HDD110の記憶領域がエクステントチャンク0(EC-0),1(EC-1),2(EC-2),…に分割して管理されるものとする。   Next, in the present embodiment, information serving as an index indicating the degree (extent chunk I / O existence ratio) of executing I / O in each extent chunk included in the representative HDD 110 of the array 11-i is acquired. The method will be described with reference to FIG. Here, as shown in FIG. 6A, the storage areas of the representative HDD 110 of the array 11-i are extent chunks 0 (EC-0), 1 (EC-1), 2 (EC-2), It shall be managed by dividing into….

図8は、あるサンプル周期毎にサンプリングされる代表HDD110の各エクステントチャンクに存在する実行中I/O数の一例を示す。図8はまた、代表HDD110のエクステントチャンク毎のエクステントチャンクI/O存在率を算出するのに用いられるカウンタ(エクステントチャンクI/O存在率算出用カウンタ、第3のカウンタ)81-0,81-1,81-2,…のカウント値の変化例を、エクステントチャンクI/O存在率(Y)と対応付けて示す。   FIG. 8 shows an example of the number of executing I / Os present in each extent chunk of the representative HDD 110 that is sampled every certain sampling period. FIG. 8 also shows counters (extent chunk I / O existence ratio calculation counter, third counter) 81-0, 81- used to calculate the extent chunk I / O existence ratio for each extent chunk of the representative HDD 110. An example of a change in the count value of 1, 81-2,... Is shown in association with the extent chunk I / O existence rate (Y).

カウンタ81-0,81-1,81-2,…は、アレイコントローラ12-j(j=1,2)のメモリ127内に、各アレイ11-iの代表HDD110のエクステントチャンク毎に、つまりエクステントチャンク0(EC-0),1(EC-1),2(EC-2),…に対応付けて設けられる。   The counters 81-0, 81-1, 81-2,... Are stored in the memory 127 of the array controller 12-j (j = 1, 2) for each extent chunk of the representative HDD 110 of each array 11-i, that is, extents. These are provided in correspondence with chunks 0 (EC-0), 1 (EC-1), 2 (EC-2),.

アレイコントローラ12-j(内のRAIDマネージャ125)は、あるサンプル周期で、代表HDD110内のエクステントチャンク毎に当該エクステントチャンクに存在する実行中I/O数(メモリ127に保持されているN2カウンタのカウント値)をサンプリングする。アレイコントローラ12-j(内のRAIDマネージャ125)は、このサンプリングの結果、エクステントチャンク0(EC-0),1(EC-1),2(EC-2),…にそれぞれ実行中I/O(少なくとも1つの実行中I/Oが)が存在することが検出された場合、カウンタ81-0,81-1,81-2,…を1インクリメント(+1)する。   The array controller 12-j (inside the RAID manager 125), for each extent chunk in the representative HDD 110, in a certain sample period, the number of I / Os being executed in the extent chunk (the N2 counter held in the memory 127) (Count value) is sampled. As a result of this sampling, the array controller 12-j (the RAID manager 125 in the array controller 12-j) is executing I / O on extent chunks 0 (EC-0), 1 (EC-1), 2 (EC-2),. When it is detected that there is at least one executing I / O, the counters 81-0, 81-1, 81-2, ... are incremented by 1 (+1).

図8の例では、第0サンプル周期で、エクステントチャンク0(EC-0)に実行中I/Oが存在した結果、矢印82で示されるように、カウンタ81-0が+1されて、カウント値が1となった様子が示されている。   In the example of FIG. 8, as a result of the execution of I / O in extent chunk 0 (EC-0) in the 0th sample period, the counter 81-0 is incremented by 1 as indicated by the arrow 82, and the count value It is shown that became 1.

同様に、図8の例では、第1サンプル周期で、エクステントチャンク1(EC-1),2(EC-2),3(EC-3)及び4(EC-4)に実行中I/Oが存在した結果、矢印83で示されるように、カウンタ81-1,81-2,81-3及び81-4が+1されて、いずれもカウント値が1となった様子が示されている。また図8の例では、第2サンプル周期で、エクステントチャンク1(EC-1)に実行中I/Oが存在した結果、矢印84で示されるように、カウンタ81-1が+1されて、カウント値が2となった様子が示されている。   Similarly, in the example of FIG. 8, in the first sample period, extent chunks 1 (EC-1), 2 (EC-2), 3 (EC-3), and 4 (EC-4) are executing I / Os. As a result, as shown by an arrow 83, the counters 81-1, 81-2, 81-3 and 81-4 are incremented by 1, and the count value is 1 in all cases. In the example of FIG. 8, as a result of the execution of I / O in extent chunk 1 (EC-1) in the second sample period, the counter 81-1 is incremented by 1 as indicated by the arrow 84, and the count is performed. A state in which the value is 2 is shown.

同様に、図8の例では、第4サンプル周期で、エクステントチャンク2(EC-2)及び3(EC-3)に実行中I/Oが存在した結果、矢印85で示されるように、カウンタ81-2及び81-3が+1されて、いずれもカウント値が2となった様子が示されている。また図8の例では、第5サンプル周期で、エクステントチャンク1(EC-1)及び2(EC-2)に実行中I/Oが存在した結果、矢印86で示されるように、カウンタ81-1及び81-2が+1されて、いずれもカウント値が3となった様子が示されている。   Similarly, in the example of FIG. 8, as a result of the execution of I / O in extent chunks 2 (EC-2) and 3 (EC-3) in the fourth sample period, 8-2 and 81-3 are incremented by 1, and the state in which the count value is 2 is shown. In the example of FIG. 8, as a result of the execution of I / O in extent chunks 1 (EC-1) and 2 (EC-2) in the fifth sample period, as shown by the arrow 86, the counter 81- 1 and 81-2 are incremented by 1, and a state in which the count value is 3 is shown.

アレイコントローラ12-j(内のRAIDマネージャ125)は、代表HDD110のエクステントチャンク1(EC-1),2(EC-2),3(EC-3),…に対応するカウンタ81-0,81-1,81-2,…のカウント値をサンプル数(サンプリング回数)で除した値を、当該エクステントチャンク1(EC-1),2(EC-2),3(EC-3),…に実行中I/Oが存在する度合い(つまりエクステントチャンクI/O存在率)(Y)として取得する。   The array controller 12-j (within the RAID manager 125) has counters 81-0 and 81 corresponding to extent chunks 1 (EC-1), 2 (EC-2), 3 (EC-3),. −1, 81-2,... Divided by the number of samples (number of samplings), the extent chunks 1 (EC-1), 2 (EC-2), 3 (EC-3),. This is acquired as the degree of existence of an executing I / O (that is, the extent chunk I / O existence rate) (Y).

次に本実施形態で適用される、アレイ間のエクステントマイグレーション(によるエクステント再配置)を実行する条件について説明する。
本実施形態において、アレイコントローラ12-j(内のRAIDマネージャ125)は、次の4つの条件
1)最後にエクステント再配置をしてからの経過時間が一定時間以上
2)ディスクアレイ装置10-j内のエクステント再配置の候補(最適化の候補)として予め定められたアレイグループ(RAIDグループ)に属する全てのアレイの代表HDD110のHDDI/O存在率のうち最大値と最小値の差分が一定値以上
3)上記RAIDグループに属する全てのアレイの代表HDD110のHDDI/O存在率の最小値が一定値以下
4)上記RAIDグループに属する全てのアレイの代表HDD110の複数のエクステントチャンクに同時に実行中I/Oが存在する度合い(同時I/O存在率)の最大値が一定値以上
の全てが成立した場合にエクステント再配置を実行する。
Next, conditions for executing extent migration (extent rearrangement) between arrays applied in the present embodiment will be described.
In this embodiment, the array controller 12-j (inside the RAID manager 125) has the following four conditions: 1) The elapsed time since the last extent rearrangement is longer than a certain time 2) the disk array device 10-j The difference between the maximum value and the minimum value among the HDD I / O presence rates of the representative HDDs 110 of all the arrays belonging to an array group (RAID group) that is predetermined as an extent rearrangement candidate (optimization candidate) is constant. 3) The minimum value of the HDD I / O existence rate of the representative HDD 110 of all the arrays belonging to the RAID group is below a certain value. 4) Simultaneously executing on a plurality of extent chunks of the representative HDD 110 of all the arrays belonging to the RAID group I When the maximum value of the degree of / O exists (simultaneous I / O presence rate) exceeds a certain value Run the extents relocated to.

以上の条件を設定した理由は次の通りである。まず、エクステントマイグレーションは、ディスクアレイサブシステム(ストレージシステム)内部のHDD I/Oを伴う。このため、エクステントマイグレーションを実行している間、ディスクアレイサブシステムとしての性能が低下する可能性がある。このディスクアレイサブシステムとしての性能低下を極力防止するには、不必要なエクステントマイグレーションを避ければ良い。そこで本実施形態では、上記1)〜4)の条件によって、あまり効果が期待できない不必要なエクステントマイグレーションを避けるようにしている。これにより、安定した自律データ再配置が可能となる。   The reason for setting the above conditions is as follows. First, extent migration involves HDD I / O inside the disk array subsystem (storage system). For this reason, the performance of the disk array subsystem may be reduced while the extent migration is executed. In order to prevent the performance degradation of the disk array subsystem as much as possible, unnecessary extent migration may be avoided. Therefore, in the present embodiment, unnecessary extent migration that is not expected to be very effective is avoided under the conditions 1) to 4). Thereby, stable autonomous data rearrangement becomes possible.

ここで、条件1)における「一定時間」、即ちエクステント再配置の実行周期として、RAIDグループに属するアレイの代表HDD110のHDDI/O存在率の最大値と最小値の差分Δに応じて実行周期Tを一意に決定する関数f(Δ)を用い、差分が一定レベル以上大きい場合にはエクステント再配置の周期を短くすると良い。このようにすると、効率良く性能向上を図ることができる。関数f(Δ)としては、例えばΔが一定レベル未満ではf(Δ)が第1の実行周期T1を示し、Δが一定レベル以上ではf(Δ)が第1の実行周期T1より短い第2の実行周期T2を示すものを用いれば良い。また、Δが一定レベル以上では、当該Δが大きくなるほど短くなるように決定される関数f(Δ)を用いることも可能である。   Here, the execution period T according to the difference Δ between the maximum value and the minimum value of the HDD I / O existence rate of the representative HDD 110 of the array belonging to the RAID group, as the “certain time” in the condition 1), that is, the extent relocation execution cycle. If the difference is larger than a certain level, the extent rearrangement cycle may be shortened. In this way, performance can be improved efficiently. As the function f (Δ), for example, when Δ is less than a certain level, f (Δ) indicates the first execution cycle T1, and when Δ is greater than or equal to a certain level, f (Δ) is shorter than the first execution cycle T1. What shows the execution cycle T2 may be used. It is also possible to use a function f (Δ) that is determined such that when Δ is greater than or equal to a certain level, the Δ becomes shorter as Δ increases.

次に、上述の3種のI/O存在率、即ちHDDI/O存在率、エクステントチャンクI/O存在率及び同時I/O存在率の算出の詳細について説明する。HDDI/O存在率、エクステントチャンクI/O存在率及び同時I/O存在率は、上述したように、それぞれI/O存在カウンタ70、エクステントチャンクI/O存在率算出用カウンタ81-0,81-1,81-2,…及び同時I/O存在率算出用カウンタ61-0,61-1,61-2,…のカウント値に基づいて算出される。   Next, details of the calculation of the above-described three types of I / O existence ratios, that is, HDD I / O existence ratio, extent chunk I / O existence ratio, and simultaneous I / O existence ratio will be described. As described above, the HDD I / O presence rate, extent chunk I / O presence rate, and simultaneous I / O presence rate are the I / O presence counter 70 and the extent chunk I / O presence rate calculation counters 81-0 and 81, respectively. .., 81-2,... And the simultaneous I / O existence rate calculation counters 61-0, 61-1, 61-2,.

カウンタ70のカウント値、即ち各アレイ11-iの代表HDD110毎に設けられるカウンタ70のカウント値を、P[AID]で表す。AIDは、アレイ11-i(ディスクアレイ装置10-1ではi=1,2,3、ディスクアレイ装置10-2ではi=A,B,C)を管理するための識別番号(以下、アレイ管理番号と称する)である。本実施形態において、アレイ管理番号AIDには、0から始まるシリアル番号が用いられる。カウント値P[AID]は、アレイ管理番号がAIDのアレイの代表HDD110に未完了I/O(実行中I/O)が存在したサンプル(サンプル周期)数(HDDI/O存在サンプル数)を表す。   The count value of the counter 70, that is, the count value of the counter 70 provided for each representative HDD 110 of each array 11-i is represented by P [AID]. The AID is an identification number (hereinafter referred to as array management) for managing the array 11-i (i = 1, 2, 3 in the disk array device 10-1 and i = A, B, C in the disk array device 10-2). Number). In the present embodiment, a serial number starting from 0 is used as the array management number AID. The count value P [AID] represents the number of samples (sample period) in which incomplete I / O (execution I / O) is present in the representative HDD 110 of the array whose array management number is AID (the number of HDD I / O existing samples). .

カウンタ81-0,81-1,81-2,…のカウント値、即ち各アレイ11-iの代表HDD110のエクステントチャンク0(EC-0),1(EC-1),2(EC-2),…に対応付けて設けられるカウンタ81-0,81-1,81-2,…のカウント値を、Q[AID][EID]で表す。EIDは、アレイ11-iを構成するエクステントを管理するための識別番号(以下、アレイ内エクステント管理番号と称する)である。本実施形態において、アレイ内エクステント管理番号EIDには、0から始まるシリアル番号が用いられる。カウント値Q[AID][EID]は、アレイ管理番号がAIDのアレイを構成するアレイ内エクステント管理番号がEIDのエクステントに属する、代表HDD110内のエクステントチャンクにI/Oが存在したサンプル数(エクステントチャンクI/O存在サンプル数)を表す。   The count values of the counters 81-0, 81-1, 81-2,..., That is, extent chunks 0 (EC-0), 1 (EC-1), 2 (EC-2) of the representative HDD 110 of each array 11-i. ,..., The count values of counters 81-0, 81-1, 81-2,... Are represented by Q [AID] [EID]. The EID is an identification number (hereinafter referred to as an in-array extent management number) for managing extents constituting the array 11-i. In this embodiment, a serial number starting from 0 is used for the extent management number EID in the array. The count value Q [AID] [EID] is the number of samples (extents) in which I / O exists in extent chunks in the representative HDD 110 that belong to an extent whose extent management number in the array that constitutes the array whose array management number is AID. Represents the number of chunk I / O existing samples).

カウンタ61-0,61-1,61-2,…のカウント値、即ち各アレイ11-iの代表HDD110のエクステントチャンク0(EC-0),1(EC-1),2(EC-2),…に対応付けて設けられるカウンタ61-0,61-1,61-2,…のカウント値を、R[AID][EID]で表す。カウント値R[AID][EID]は、アレイ管理番号がAIDのアレイを構成するアレイ内エクステント管理番号がEIDのエクステントに属する、代表HDD110内のエクステントチャンクを含む複数のエクステントチャンクに同時にI/Oが存在したサンプル数(同時I/O存在サンプル数)を表す。   .., That is, extent chunks 0 (EC-0), 1 (EC-1), 2 (EC-2) of the representative HDD 110 of each array 11-i. ,..., The count values of counters 61-0, 61-1, 61-2,. The count value R [AID] [EID] is an I / O to a plurality of extent chunks including extent chunks in the representative HDD 110 that belong to an extent whose in-array extent management number constitutes an array whose array management number is AID. Represents the number of samples (number of simultaneous I / O existing samples).

次に、HDDI/O存在率、エクステントチャンクI/O存在率及び同時I/O存在率をそれぞれ算出するのに用いられる、HDDI/O存在サンプル数P[AID]、エクステントチャンクI/O存在サンプル数Q[AID][EID]及び同時I/O存在サンプル数R[AID][EID]の収集の詳細について説明する。   Next, the HDD I / O existence sample number P [AID], extent chunk I / O existence sample, which are used to calculate the HDD I / O existence ratio, extent chunk I / O existence ratio, and simultaneous I / O existence ratio, respectively. Details of collection of the number Q [AID] [EID] and the number of simultaneous I / O existing samples R [AID] [EID] will be described.

図9はアレイコントローラ12-j(j=1,2)内のRAIDマネージャ125の主要な構成を当該アレイコントローラ12-j内の他の要素と関連付けて示すブロック図である。RAIDマネージャ125は、I/O統計情報収集モジュール125a、エクステントマイグレーション実行モジュール125b及び自律最適化制御エンジン125cを含む。   FIG. 9 is a block diagram showing the main configuration of the RAID manager 125 in the array controller 12-j (j = 1, 2) in association with other elements in the array controller 12-j. The RAID manager 125 includes an I / O statistical information collection module 125a, an extent migration execution module 125b, and an autonomous optimization control engine 125c.

I/O統計情報収集モジュール125aは、HDDドライバ126によって計測される、代表HDD110毎のHDDI/O数N1及び当該代表HDD110内のエクステントチャンク毎のエクステントチャンクI/O数N2をサンプル周期でサンプリングする。前記したように、HDDI/O数N1は、代表HDD110に存在する未完了のI/Oの数を表す。エクステントチャンクI/O数N2は、代表HDD110内のエクステントチャンクに存在する未完了のI/Oの数を表す。I/O統計情報収集モジュール125aは、代表HDD110毎のHDDI/O数N1のサンプリング結果に基づき、I/O存在カウンタ70を用いて、当該代表HDD110に未完了I/Oが存在したサンプル(サンプル周期)数(HDDI/O存在サンプル数)P[AID]をカウントする。   The I / O statistical information collection module 125a samples the HDD I / O count N1 for each representative HDD 110 and the extent chunk I / O count N2 for each extent chunk in the representative HDD 110, which are measured by the HDD driver 126, at a sampling period. . As described above, the HDD I / O number N1 represents the number of incomplete I / Os present in the representative HDD 110. The number of extent chunk I / O N2 represents the number of incomplete I / Os present in extent chunks in the representative HDD 110. The I / O statistical information collection module 125a uses the I / O existence counter 70 based on the sampling result of the HDD I / O count N1 for each representative HDD 110 to obtain a sample (sample) in which the representative HDD 110 has incomplete I / O. Cycle) number (number of HDDI / O existing samples) P [AID] is counted.

I/O統計情報収集モジュール125aはまた、エクステントチャンク毎のエクステントチャンクI/O数N2に基づき、エクステントチャンクI/O存在率算出用カウンタ81-0,81-1,81-2,…を用いて、当該エクステントチャンクに未完了I/Oが存在したサンプル数(エクステントチャンクI/O存在サンプル数)Q[AID][EID]をカウントする。I/O統計情報収集モジュール125aは更に、エクステントチャンク毎のエクステントチャンクI/O存在サンプル数Q[AID][EID]のカウント結果に基づき、同時I/O存在率算出用カウンタ61-0,61-1,61-2,…を用いて、代表HDD110内のエクステントチャンク毎に、当該エクステントチャンクを含む複数のエクステントチャンクに同時にI/Oが存在したサンプル数(同時I/O存在サンプル数)R[AID][EID]をカウントする。   The I / O statistical information collection module 125a also uses extent chunk I / O existence rate calculation counters 81-0, 81-1, 81-2,... Based on the number N2 of extent chunk I / Os for each extent chunk. Thus, the number of samples in which incomplete I / O is present in the extent chunk (number of extent chunk I / O existing samples) Q [AID] [EID] is counted. Further, the I / O statistical information collection module 125a further determines the simultaneous I / O existence ratio counters 61-0 and 61 based on the count result of the number of extent chunk I / O existing samples Q [AID] [EID] for each extent chunk. -1, 61-2,..., For each extent chunk in the representative HDD 110, the number of samples in which I / O is present simultaneously in a plurality of extent chunks including the extent chunk (number of simultaneous I / O existing samples) R [AID] [EID] is counted.

I/O統計情報収集モジュール125aは算出手段として機能して、HDDI/O存在サンプル数P[AID]に基づいてHDDI/O存在率Pr[AID]を算出する。I/O統計情報収集モジュール125aはまた算出手段として機能して、エクステントチャンクI/O存在サンプル数Q[AID][EID]に基づいてエクステントチャンクI/O存在率Qr[AID][EID]を算出する。I/O統計情報収集モジュール125aは更に算出手段として機能して、同時I/O存在サンプル数R[AID][EID]に基づいて同時I/O存在率Rr[AID][EID]を算出する。   The I / O statistical information collection module 125a functions as a calculation unit, and calculates the HDD I / O existence rate Pr [AID] based on the HDD I / O existence sample number P [AID]. The I / O statistical information collection module 125a also functions as a calculation unit, and calculates the extent chunk I / O existence rate Qr [AID] [EID] based on the number of extent chunk I / O existence samples Q [AID] [EID]. calculate. The I / O statistical information collection module 125a further functions as a calculation unit, and calculates the simultaneous I / O presence rate Rr [AID] [EID] based on the number of simultaneous I / O existing samples R [AID] [EID]. .

エクステントマイグレーション実行モジュール125bは、エクステントマイグレーションを実行する。自律最適化制御エンジン125cは選択手段として機能して、I/O統計情報収集モジュール125aによって算出されたHDDI/O存在率Pr[AID]、エクステントチャンクI/O存在率Qr[AID][EID]及び同時I/O存在率Rr[AID][EID]に基づいて、エクステントマイグレーション(ここではアレイ間のエクステントマイグレーション)の対象となるエクステント(第1及び第2のエクステント)を選択する。自律最適化制御エンジン125cは、選択され第1及び第2のエクステントの間のエクステントマイグレーション実行モジュール125bによるマイグレーション(エクステントマイグレーション)の実行を制御することで、RAIDグループの最適化(自律最適化)のための制御を行う。   The extent migration execution module 125b executes extent migration. The autonomous optimization control engine 125c functions as a selection unit, and includes an HDD I / O existence rate Pr [AID] and an extent chunk I / O existence rate Qr [AID] [EID] calculated by the I / O statistical information collection module 125a. Based on the concurrent I / O existence rate Rr [AID] [EID], the extents (first and second extents) that are the targets of extent migration (here, extent migration between arrays) are selected. The autonomous optimization control engine 125c controls the execution of the migration (extent migration) by the extent migration execution module 125b between the selected first and second extents, thereby optimizing the RAID group (autonomous optimization). Control for.

次に、I/O統計情報収集モジュール125aによって実行される、HDDI/O存在サンプル数P[AID]、エクステントチャンクI/O存在サンプル数Q[AID][EID]及び同時I/O存在サンプル数R[AID][EID]を収集する処理の1サンプル(サンプル周期)における手順について、図10のフローチャートを参照して説明する。   Next, the HDD I / O existence sample number P [AID], extent chunk I / O existence sample number Q [AID] [EID], and simultaneous I / O existence sample number executed by the I / O statistical information collection module 125a. A procedure in one sample (sample period) of the process of collecting R [AID] [EID] will be described with reference to the flowchart of FIG.

まずモジュール125aは、サンプル周期毎の処理に先立ち、初期化処理を行う。この初期化処理では、AIDの最大値をMaxAIDとすると、AID=0〜MaxAIDの全てのP[AID](カウンタ70)が初期値0に設定される。また、EIDの最大値をMaxEIDとすると、AID=0〜MaxAID及びEID=0〜MaxEIDの全ての組み合わせのQ[AID][EID](カウンタ81-0,81-1,…)と、AID=0〜MaxAID及びEID=0〜MaxEIDの全ての組み合わせのR[AID][EID](カウンタ61-0,61-1,…)とが初期値0に設定される。   First, the module 125a performs initialization processing prior to processing for each sample period. In this initialization process, if the maximum value of AID is MaxAID, all P [AID] (counter 70) of AID = 0 to MaxAID are set to the initial value 0. If the maximum value of EID is MaxEID, Q [AID] [EID] (counters 81-0, 81-1,...) Of all combinations of AID = 0 to MaxAID and EID = 0 to MaxEID, and AID = R [AID] [EID] (counters 61-0, 61-1,...) Of all combinations of 0 to MaxAID and EID = 0 to MaxEID are set to an initial value 0.

モジュール125aは、サンプル周期毎に、例えば各サンプル周期の終端が到来するタイミングで、アレイ管理番号AIDを初期値0に設定する(ステップS1)。そしてモジュール125aは、HDDドライバ126によって計測されている、アレイ管理番号がAIDのアレイの代表HDD110における現サンプル周期の未完了I/O数(HDDI/O数)N1をサンプリングする(ステップS2)。   The module 125a sets the array management number AID to the initial value 0 for each sample period, for example, at the timing when the end of each sample period arrives (step S1). The module 125a samples the incomplete I / O number (HDD I / O number) N1 of the current sample period in the representative HDD 110 of the array whose array management number is AID, which is measured by the HDD driver 126 (step S2).

次にモジュール125aは、サンプリングされたHDDI/O数N1が0より大きいかを判定する(ステップS3)。もし、HDDI/O数N1が0より大きいならば、モジュール125aはP[AID]を1インクリメントする(ステップS4)。そしてモジュール125aは、アレイ内エクステント管理番号EIDを初期値0に設定すると共に(ステップS5)、テンポラリカウンタCNTを初期値0に設定する(ステップS6)。テンポラリカウンタCNTは、メモリ127に設けられる。   Next, the module 125a determines whether or not the number of sampled HDD I / Os N1 is greater than 0 (step S3). If the HDD I / O number N1 is greater than 0, the module 125a increments P [AID] by 1 (step S4). The module 125a sets the in-array extent management number EID to the initial value 0 (step S5), and sets the temporary counter CNT to the initial value 0 (step S6). The temporary counter CNT is provided in the memory 127.

モジュール125aは、HDDドライバ126によって計測されている、アレイ管理番号がAIDのアレイの代表HDD110における、アレイ内エクステント管理番号がEIDのエクステントに属するエクステントチャンクに対応する現サンプル周期の未完了I/O数(エクステントチャンクI/O数)N2をサンプリングする(ステップS7)。以下の説明では、煩雑な表現を避けるために、EIDのエクステントチャンクまたはEIDで示されるエクステントチャンクと表現する。   The module 125a is an incomplete I / O in the current sample period corresponding to an extent chunk belonging to an extent whose in-array extent management number is EID in the representative HDD 110 of the array whose array management number is AID, which is measured by the HDD driver 126. The number (extent chunk I / O number) N2 is sampled (step S7). In the following description, in order to avoid complicated expression, it is expressed as an EID extent chunk or an extent chunk indicated by EID.

次にモジュール125aは、サンプリングされたエクステントチャンクI/O数N2が0より大きいかを判定する(ステップS8)。もし、エクステントチャンクI/O数N2が0より大きいならば、モジュール125aはQ[AID][EID]を1インクリメントすると共に(ステップS9)、CNTを1インクリメントする(ステップS10)。   Next, the module 125a determines whether or not the number N2 of sampled extent chunk I / Os is greater than 0 (step S8). If the extent chunk I / O number N2 is greater than 0, the module 125a increments Q [AID] [EID] by 1 (step S9) and increments CNT by 1 (step S10).

次にモジュール125aは、インクリメント後のCNTの値が1より大きいかを判定する(ステップS11)。この判定は、AIDで示される現アレイ内の複数のエクステントチャンクでエクステントチャンクI/O数N2が0より大きいと判定されたかをチェックすることと等価である。   Next, the module 125a determines whether the incremented CNT value is greater than 1 (step S11). This determination is equivalent to checking whether the number N2 of extent chunk I / Os is determined to be larger than 0 in a plurality of extent chunks in the current array indicated by AID.

CNTの値が1より大きくない場合(ステップS11)、つまりCNTの値が1の場合、モジュール125aはAID及びEIDで示される現アレイのエクステントチャンクが、当該現アレイ内でN2>0であると初めて判定されたエクステントチャンクであることを認識する。この場合、モジュール125aは現EIDを特別のEID(以下、EIDxと表現する)としてメモリ127に格納する(ステップS12)。そしてモジュール125aは、EIDを1インクリメントする(ステップS13)。   When the value of CNT is not greater than 1 (step S11), that is, when the value of CNT is 1, the module 125a determines that the extent chunk of the current array indicated by AID and EID is N2> 0 in the current array. Recognize that it is the first extent chunk determined. In this case, the module 125a stores the current EID in the memory 127 as a special EID (hereinafter referred to as EIDx) (step S12). Then, the module 125a increments EID by 1 (step S13).

これに対し、CNTの値が1より大きいならば(ステップS11)、モジュール125aはCNTの値が2であるかを判定する(ステップS14)。もし、CNTの値が2である場合、モジュール125aはAID及びEIDで示される現アレイのエクステントチャンクが、当該現アレイ内でN2>0であると2番目に判定されたエクステントチャンクであることを認識する。この場合、モジュール125aは、現AID及び先のステップS12でメモリ127に格納されたEIDxで特定されるR[AID][EIDx]を1インクリメントする(ステップS15)。このときモジュール125aは、EIDxをメモリ127から削除する。更にモジュール125aは、R[AID][EID]を1インクリメントする(ステップS16)。そしてモジュール125aは、EIDを1インクリメントする(ステップS13)。   On the other hand, if the CNT value is greater than 1 (step S11), the module 125a determines whether the CNT value is 2 (step S14). If the value of CNT is 2, the module 125a indicates that the extent chunk of the current array indicated by AID and EID is the extent chunk that is secondly determined as N2> 0 in the current array. recognize. In this case, the module 125a increments R [AID] [EIDx] specified by the current AID and the EIDx stored in the memory 127 in the previous step S12 (step S15). At this time, the module 125a deletes EIDx from the memory 127. Further, the module 125a increments R [AID] [EID] by 1 (step S16). Then, the module 125a increments EID by 1 (step S13).

一方、CNTの値が2でない場合(ステップS14)、つまりCNTの値が2より大きい場合、モジュール125aはAID及びEIDで示される現アレイのエクステントチャンクが、当該現アレイ内でN2>0であると3番目以降に判定されたエクステントチャンクであることを認識する。この場合、モジュール125aは、R[AID][EID]を1インクリメントする(ステップS16)。そしてモジュール125aは、EIDを1インクリメントする(ステップS13)。   On the other hand, if the value of CNT is not 2 (step S14), that is, if the value of CNT is greater than 2, module 125a indicates that the extent chunk of the current array indicated by AID and EID is N2> 0 in the current array. And the third and subsequent extent chunks are recognized. In this case, the module 125a increments R [AID] [EID] by 1 (step S16). Then, the module 125a increments EID by 1 (step S13).

モジュール125aはステップS13を実行すると、インクリメント後のEIDがMaxEID以下であるかを判定する(ステップS17)。もし、EIDがMaxEID以下であるならば、モジュール125aは上記ステップS7に戻る。これに対し、EIDがMaxEID以下でないならば、即ちEIDがMaxEIDを超えたならば、モジュール125aはAIDで示されるアレイの全てのエクステントについて処理をし終えたものと判定する。この場合、モジュール125aはAIDを1インクリメントする(ステップS18)。   When executing step S13, the module 125a determines whether the incremented EID is equal to or less than MaxEID (step S17). If EID is less than or equal to MaxEID, the module 125a returns to step S7. On the other hand, if EID is not less than MaxEID, that is, if EID exceeds MaxEID, module 125a determines that processing has been completed for all extents in the array indicated by AID. In this case, the module 125a increments AID by 1 (step S18).

またモジュール125aは、サンプリングされたHDDI/O数N1が0より大きくない場合(ステップS3)、つまりN1=0の場合には、当該ステップS3からステップS18に進んで、AIDを1インクリメントする。   If the sampled HDD I / O number N1 is not greater than 0 (step S3), that is, if N1 = 0, the module 125a proceeds from step S3 to step S18 and increments AID by 1.

モジュール125aはステップS18を実行すると、インクリメント後のAIDがMaxAID以下であるかを判定する(ステップS19)。もし、AIDがMaxAID以下であるならば、モジュール125aは上記ステップS2に戻る。これに対し、AIDがMaxAID以下でないならば、即ちAIDがMaxAIDを超えたならば、モジュール125aは現サンプル周期での収集処理を終了する。   When executing step S18, the module 125a determines whether the incremented AID is equal to or less than MaxAID (step S19). If the AID is equal to or less than MaxAID, the module 125a returns to step S2. On the other hand, if the AID is not equal to or less than MaxAID, that is, if the AID exceeds MaxAID, the module 125a ends the collection process in the current sample period.

モジュール125aは、上述のようにして収集されたP[AID]、Q[AID][EID]及びR[AID][EID]を、これらを収集するのに用いられたサンプル数(サンプル周期数)で除する。これによりモジュール125aは、HDDI/O存在率Pr[AID]、エクステントチャンクI/O存在率Qr[AID][EID]及び同時I/O存在率Rr[AID][EID]を取得する。   The module 125a collects the P [AID], Q [AID] [EID] and R [AID] [EID] collected as described above, and the number of samples (number of sample periods) used to collect them. Divide by. As a result, the module 125a acquires the HDD I / O presence rate Pr [AID], the extent chunk I / O presence rate Qr [AID] [EID], and the simultaneous I / O presence rate Rr [AID] [EID].

[第1の変形例]
次に上記実施形態の第1の変形例について図11を参照して説明する。この第1の変形例の特徴は、エクステントマイグレーションの対象となる第1のアレイ及び第1のエクステントと、エクステントマイグレーションの相手となる第2のアレイ及び第2のエクステントとを選択する条件が上記実施形態と一部異なる点にある。
[First Modification]
Next, a first modification of the above embodiment will be described with reference to FIG. The feature of the first modification is that the conditions for selecting the first array and the first extent that are subject to extent migration, and the second array and the second extent that are counterparts to the extent migration are as described above. There are some differences from the form.

まず、アレイ11-1(#1),11-2(#2)及び11-3(#3)をエクステントマイグレーションによるデータ再配置の候補(最適化候補)であるものとする。これらの最適化候補からなるグループ(前述のRAIDグループに相当)を、最適化対象グループ(またはデータ再配置対象グループ)と呼ぶ。第1のエクステントには、最適化対象グループに含まれるアレイ11-1(#1)〜11-3(#3)の代表HDD110(#1)〜110(#3)の中で、同時I/O存在率が最も高いエクステントチャンクが属するエクステントが用いられる。したがって、第1のアレイには、第1のエクステントが属するアレイが用いられる。   First, it is assumed that the arrays 11-1 (# 1), 11-2 (# 2), and 11-3 (# 3) are data rearrangement candidates (optimization candidates) by extent migration. A group consisting of these optimization candidates (corresponding to the RAID group described above) is called an optimization target group (or data relocation target group). The first extent includes simultaneous I / O among the representative HDDs 110 (# 1) to 110 (# 3) of the arrays 11-1 (# 1) to 11-3 (# 3) included in the optimization target group. The extent to which the extent chunk with the highest O existence rate belongs is used. Therefore, the array to which the first extent belongs is used as the first array.

図11の例では、アレイ11-1(#1)〜11-3(#3)の代表HDD110(#1)〜110(#3)の中で、同時I/O存在率が最も高いエクステントチャンクは代表HDD110(#1)内のエクステントチャンク111である。つまり、代表HDD110(#1)〜110(#3)の中で、同時I/O存在率が最も高いエクステントチャンク111を含む代表HDDは、アレイ11-1(#1)の代表HDD110(#1)である。第1のエクステントはエクステントチャンク111が属するアレイ11-1(#1)内のエクステント114である。   In the example of FIG. 11, the extent chunk having the highest simultaneous I / O existence rate among the representative HDDs 110 (# 1) to 110 (# 3) of the arrays 11-1 (# 1) to 11-3 (# 3). Is an extent chunk 111 in the representative HDD 110 (# 1). That is, the representative HDD including the extent chunk 111 having the highest simultaneous I / O existence rate among the representative HDDs 110 (# 1) to 110 (# 3) is the representative HDD 110 (# 1) of the array 11-1 (# 1). ). The first extent is the extent 114 in the array 11-1 (# 1) to which the extent chunk 111 belongs.

第2のアレイには、アレイ11-1(#1)〜11-3(#3)の代表HDD110(#1)〜110(#3)の中で、HDDI/O存在率が最も低い代表HDD110を含むアレイ(つまりHDD活用率が最低のアレイ)が用いられる。第2のエクステントには、上述の第2のアレイ内のエクステントのうち、当該第2のアレイの代表HDD110においてエクステントチャンクI/O存在率が最も低いエクステントチャンクが属するエクステントが用いられる。   The second array includes the representative HDD 110 having the lowest HDD I / O presence rate among the representative HDDs 110 (# 1) to 110 (# 3) of the arrays 11-1 (# 1) to 11-3 (# 3). (That is, the array having the lowest HDD utilization rate) is used. For the second extent, the extent to which the extent chunk having the lowest extent chunk I / O existence rate in the representative HDD 110 of the second array belongs is used among the extents in the second array described above.

図11の例では、HDDI/O存在率が最も低い代表HDD110は、アレイ11-2(#2)の代表HDD110(#2)であり、したがって第2のアレイはアレイ11-2(#2)である。また、アレイ11-2(#2)の代表HDD110(#2)においてエクステントチャンクI/O存在率が最も低いエクステントチャンクはエクステントチャンク115であり、第2のエクステントは当該エクステントチャンク115が属するアレイ11-1(#2)内のエクステント116である。   In the example of FIG. 11, the representative HDD 110 having the lowest HDD I / O existence rate is the representative HDD 110 (# 2) of the array 11-2 (# 2), and therefore the second array is the array 11-2 (# 2). It is. In the representative HDD 110 (# 2) of the array 11-2 (# 2), the extent chunk having the lowest extent chunk I / O existence ratio is the extent chunk 115, and the second extent is the array 11 to which the extent chunk 115 belongs. -1 (# 2).

このような条件を満たす、第1のアレイ11-1(#1)内の第1のエクステント114と第2のアレイ11-2(#2)の第2のエクステント116との間でエクステントマイグレーション117を行うことにより、上記実施形態に比べてより効果的にストレージシステムの最適化を行うことができる。   Extent migration 117 between the first extent 114 in the first array 11-1 (# 1) and the second extent 116 in the second array 11-2 (# 2) satisfying such conditions. By performing the above, it is possible to optimize the storage system more effectively than in the above embodiment.

[第2の変形例]
次に上記実施形態の第2の変形例について説明する。第2の変形例の特徴は、HDD110の性能向上のために、上記実施形態と異なって、アレイ内エクステントマイグレーションが行われる点にある。以下、このアレイ内エクステントマイグレーションについて図12を参照して説明する。
図12において、アレイ11-iの代表HDD110にエクステントチャンク131及び132が含まれている。エクステントチャンク131及び132には、それぞれ、データD1及びD2が格納されている。ここでは、エクステントチャンク131及び132は、共に実行中I/Oが存在する度合い(エクステントチャンクI/O存在率)が一定レベルよりも高いものとする。この場合、代表HDD110において、エクステントチャンク131からエクステントチャンク132に、またはその逆の方向にヘッドを移動するシーク動作が発生する度合いは高い。
[Second Modification]
Next, a second modification of the above embodiment will be described. A feature of the second modification is that, in order to improve the performance of the HDD 110, in-array extent migration is performed, unlike the above embodiment. Hereinafter, this in-array extent migration will be described with reference to FIG.
In FIG. 12, extent chunks 131 and 132 are included in the representative HDD 110 of the array 11-i. The extent chunks 131 and 132 store data D1 and D2, respectively. Here, it is assumed that the extent chunks 131 and 132 both have an executing I / O degree (extent chunk I / O existence rate) higher than a certain level. In this case, in the representative HDD 110, the degree of occurrence of a seek operation for moving the head from the extent chunk 131 to the extent chunk 132 or vice versa is high.

ところが、エクステントチャンク131及び132間が代表HDD110のディスク媒体上で物理的に離れているために、エクステントチャンク131及び132間のシーク動作でヘッドが移動する距離(シーク距離)が長く、したがってシーク動作に要する時間(シーク時間)も長いものとする。このような状態では、HDD110の性能は、頻繁に発生するエクステントチャンク131及び132間のシーク動作により低下する。   However, since the extent chunks 131 and 132 are physically separated on the disk medium of the representative HDD 110, the distance that the head moves in the seek operation between the extent chunks 131 and 132 (seek distance) is long. It takes a long time (seek time). In such a state, the performance of the HDD 110 deteriorates due to a seek operation between the extent chunks 131 and 132 that occurs frequently.

そこでアレイコントローラ12-j(内のRAIDマネージャ125)は、エクステントチャンクI/O存在率が高いエクステントチャンク131及び132の一方が属するエクステント、例えばエクステントチャンク132が属するエクステントをアレイ内エクステントマイグレーションの対象として選択する。またアレイコントローラ12-j(内のRAIDマネージャ125)は、エクステントチャンク131及び132のうちの他方のエクステントチャンク131の近傍の、例えばエクステントチャンク131に隣接する、当該エクステントチャンク132よりもエクステントチャンクI/O存在率が低いエクステントチャンク133が属するエクステントを、エクステントチャンク132が属するエクステントとの間のアレイ内エクステントマイグレーションの対象として選択する。   Therefore, the array controller 12-j (internal RAID manager 125) sets the extent to which one of the extent chunks 131 and 132 having a high extent chunk I / O existence ratio, for example, the extent to which the extent chunk 132 belongs, as the extent migration target in the array. select. The array controller 12-j (the RAID manager 125 in the array controller 12-j) is located in the vicinity of the other extent chunk 131 of the extent chunks 131 and 132, for example, adjacent to the extent chunk 131, and the extent chunk I / The extent to which the extent chunk 133 having a low O existence rate belongs is selected as the extent migration target in the array with the extent to which the extent chunk 132 belongs.

ここで、エクステントチャンク131及び133(が属するエクステント)相互の代表HDD110(アレイ11-i)内の位置は、エクステントチャンク131及び132(が属するエクステント)相互の代表HDD110(アレイ11-i)内の位置よりも近くなっていることに注意されたい。   Here, the positions of the extent chunks 131 and 133 (extents to which they belong) in the representative HDD 110 (array 11-i) between the extent chunks 131 and 132 (extents to which the extent chunks 131 and 132 (to which the extents belong) belong within the representative HDD 110 (array 11-i) of each other. Note that it is closer than the location.

アレイコントローラ12-j(内のRAIDマネージャ125)は、選択された1対のエクステント、即ちエクステントチャンク132が属するエクステントと、(エクステントチャンク131に隣接する)エクステントチャンク133が属するエクステントとの間で、アレイ内エクステントマイグレーション134を行う。   The array controller 12-j (within the RAID manager 125) selects between the selected pair of extents, that is, the extent to which the extent chunk 132 belongs and the extent to which the extent chunk 133 (adjacent to the extent chunk 131) belongs. In-array extent migration 134 is performed.

アレイ内エクステントマイグレーション134によるデータ再配置135の結果、代表HDD110内のエクステントチャンク132のデータD2は、当該代表HDD110内のエクステントチャンク133に再配置される。このエクステントマイグレーション134では、エクステントチャンク132が属するエクステント(第3のエクステント)に含まれている他のエクステントチャンクのデータが、エクステントチャンク133が属するエクステント(第4のエクステント)に含まれている他のエクステントチャンクに再配置される。   As a result of the data rearrangement 135 by the in-array extent migration 134, the data D2 of the extent chunk 132 in the representative HDD 110 is rearranged in the extent chunk 133 in the representative HDD 110. In this extent migration 134, the data of another extent chunk included in the extent (third extent) to which the extent chunk 132 belongs is stored in another extent included in the extent (fourth extent) to which the extent chunk 133 belongs. Relocated to extent chunk.

第2の変形例においては、アレイ内エクステントマイグレーション134によるデータ再配置135の結果、つまりデータD2がエクステントチャンク132からエクステントチャンク131に隣接するエクステントチャンク133に再配置された結果、データD2が格納されているエクステントチャンクの位置は、データ再配置135の実行前に比べて、データD1が格納されているエクステントチャンク131にHDD110上で近接する。これにより、データD1が格納されているエクステントチャンクの位置とデータD2が格納されているエクステントチャンクの位置との間のシーク距離は短くなる。即ち、上記データD1が格納されているエクステントチャンクからデータD2が格納されているエクステントチャンクに、またはその逆の方向に、ヘッドを移動するのに要するシーク時間を短縮できる。このことは、データ再配置135の実行前に、データD1及びD2がそれぞれ格納されていたエクステントチャンク131及び132間のシーク距離が短くなって、エクステントチャンク131及び132間のヘッド移動に要するシーク時間を短縮することと等価である。このことは、エクステントチャンク131及び132がそれぞれ属するエクステントに含まれている他のエクステントチャンクについても同様である。この結果、アレイ11-i内の各HDD110での性能が向上する。   In the second modification, as a result of the data rearrangement 135 by the extent migration in the array 134, that is, as a result of the data D2 being rearranged from the extent chunk 132 to the extent chunk 133 adjacent to the extent chunk 131, the data D2 is stored. The extent chunk being located is closer to the extent chunk 131 in which the data D1 is stored on the HDD 110 than before the data relocation 135 is executed. As a result, the seek distance between the position of the extent chunk storing the data D1 and the position of the extent chunk storing the data D2 is shortened. That is, the seek time required to move the head from the extent chunk storing the data D1 to the extent chunk storing the data D2 or vice versa can be shortened. This is because the seek distance between the extent chunks 131 and 132 where the data D1 and D2 are stored before the data rearrangement 135 is shortened, and the seek time required for head movement between the extent chunks 131 and 132 is reduced. Is equivalent to shortening. The same applies to other extent chunks included in the extents to which the extent chunks 131 and 132 belong, respectively. As a result, the performance of each HDD 110 in the array 11-i is improved.

次に、第2の変形例で適用される、アレイ内エクステントマイグレーション(によるエクステント再配置)を実行する条件について説明する。
本変形例において、アレイコントローラ12-j(内のRAIDマネージャ125)は、次の2つの条件
1)最後にエクステント再配置してからの経過時間が一定時間以上
2)アレイ内エクステントマイグレーションの候補となる1対のエクステントに含まれる1対のエクステントチャンクであって、当該1対のエクステントが属するアレイの代表HDDに含まれる1対のエクステントチャンクのエクステントチャンクI/O存在率の差分が一定値以上
の全てが成立した場合にエクステント再配置を実行する。
Next, conditions for executing in-array extent migration (by extent rearrangement) applied in the second modification will be described.
In this modification, the array controller 12-j (inside the RAID manager 125) has the following two conditions 1) The time elapsed since the last extent rearrangement is longer than a certain time 2) The extent migration candidates in the array The difference between the extent chunk I / O existence ratios of a pair of extent chunks included in the representative HDD of the array to which the pair of extents belongs is greater than a certain value. Extent relocation is executed when all of the above are satisfied.

ここで、条件1)における「一定時間」、即ちエクステント再配置の実行周期として、上述のエクステントチャンクI/O存在率の差分Δに応じて実行周期Tを一意に決定する関数f(Δ)を用い、差分が一定レベル以上大きい場合にはエクステント再配置の周期を短くすると良い。このようにすると、効率良く性能向上を図ることができる。関数f(Δ)としては、例えばΔが一定レベル未満ではf(Δ)が第1の実行周期T1を示し、Δが一定レベル以上ではf(Δ)が第1の実行周期T1より短い第2の実行周期T2を示すものを用いれば良い。また、Δが一定レベル以上では、当該Δが大きくなるほど短くなるように決定される関数f(Δ)を用いることも可能である。   Here, a function f (Δ) that uniquely determines the execution cycle T according to the above-described difference Δ of the extent chunk I / O existence rate as the “certain time” in condition 1), that is, the extent relocation execution cycle. If the difference is larger than a certain level, the extent rearrangement cycle should be shortened. In this way, performance can be improved efficiently. As the function f (Δ), for example, when Δ is less than a certain level, f (Δ) indicates the first execution cycle T1, and when Δ is greater than or equal to a certain level, f (Δ) is shorter than the first execution cycle T1. What shows the execution cycle T2 may be used. It is also possible to use a function f (Δ) that is determined such that when Δ is greater than or equal to a certain level, the Δ becomes shorter as Δ increases.

上述のように、アレイ内エクステントマイグレーションは行われるものの、アレイ間エクステントマイグレーションは行われない第2の変形例では、自律最適化制御に同時I/O存在率は不要である。この場合、RAIDマネージャ125内のI/O統計情報収集モジュール125aは、HDDI/O存在率Pr[AID]及びエクステントチャンクI/O存在率Qr[AID][EID]を算出するだけで良い。したがってモジュール125aは、HDDI/O存在サンプル数P[AID]及びエクステントチャンクI/O存在サンプル数Q[AID][EID]を収集するだけで良い。   As described above, in the second modification in which intra-array extent migration is performed but inter-array extent migration is not performed, the simultaneous I / O existence rate is not necessary for the autonomous optimization control. In this case, the I / O statistical information collection module 125a in the RAID manager 125 only needs to calculate the HDD I / O existence rate Pr [AID] and the extent chunk I / O existence rate Qr [AID] [EID]. Therefore, the module 125a only needs to collect the HDD I / O existence sample number P [AID] and the extent chunk I / O existence sample number Q [AID] [EID].

このHDDI/O存在サンプル数P[AID]及びエクステントチャンクI/O存在サンプル数Q[AID][EID]を収集する処理の1サンプル(サンプル周期)における手順を図13に示す。図13において、図10と同様の部分には同一符号を付してある。   FIG. 13 shows a procedure in one sample (sample period) of the process of collecting the HDDI / O existence sample number P [AID] and the extent chunk I / O existence sample number Q [AID] [EID]. In FIG. 13, the same parts as those in FIG.

なお、上記第2の変形例では、アレイ11-iの代表HDD110内でエクステントチャンクI/O存在率が一定レベルよりも高いエクステントチャンクの個数Nが2である場合を前提としている。しかし、Nが3以上の場合にも同様に適用できる。即ち、N個のエクステントチャンクが属するN個のエクステントのうちのN−1個のエクステントと、残りの1個のエクステントチャンクの近傍のN−1個のエクステントチャンクとの間で、それぞれアレイ内エクステントマイグレーションを行えば良い。また、次の第3の変形例のように、エクステントチャンクI/O存在率が高いN個のエクステントチャンクが属するN個のエクステントの全てをアレイ内エクステントマイグレーションの対象とすることも可能である。   In the second modified example, it is assumed that the number N of extent chunks whose extent chunk I / O existence ratio is higher than a certain level in the representative HDD 110 of the array 11-i is 2. However, the same applies to the case where N is 3 or more. That is, in-array extents between N-1 extents of N extents to which N extent chunks belong and N-1 extent chunks in the vicinity of the remaining one extent chunk, respectively. Migration should be performed. Further, as in the following third modification, all of the N extents to which N extent chunks having a high extent chunk I / O existence ratio belong can be targeted for extent migration in the array.

[第3の変形例]
次に上記実施形態の第3の変形例について図14を参照して説明する。第3の変形例の第1の特徴は、アレイ11-iの代表HDD110においてエクステントチャンクI/O存在率が高い複数のエクステントチャンクがそれぞれ属するエクステントを対象として、当該複数のエクステントチャンク間のシーク距離が等価的により短くなるようにアレイ内エクステントマイグレーションが行われる点にある。第3の変形例の第2の特徴は、アレイ内エクステントマイグレーションの対象となる各エクステント(内の複数のエクステントチャンク)が、当該エクステントに含まれている代表HDD110内のエクステントチャンクのエクステントチャンクI/O存在率の降順に、アレイ11-iを構成する各HDD110(に搭載されているディスク媒体)の外周から順に再配置される点にある。一般にHDD110では、ディスク媒体の外周側ほど、論理ブロックアドレス(Logical Block Address: LBA)が小さくなる。
[Third Modification]
Next, a third modification of the above embodiment will be described with reference to FIG. The first feature of the third modified example is that the seek distances between the plurality of extent chunks are targeted for the extents to which a plurality of extent chunks having a high extent chunk I / O existence ratio belong in the representative HDD 110 of the array 11-i. The extent migration in the array is performed so that is equivalently shorter. The second feature of the third modification is that each extent (a plurality of extent chunks) to be subject to in-array extent migration is an extent chunk I / of the extent chunk in the representative HDD 110 included in the extent. In the descending order of the O existence rate, the HDDs 110 constituting the array 11-i are rearranged in order from the outer periphery of the disk 110 (a disk medium mounted on the HDD 11). In general, in the HDD 110, the logical block address (Logical Block Address: LBA) becomes smaller toward the outer peripheral side of the disk medium.

図14において、アレイ11-iの代表HDD110に含まれているエクステントチャンク141及び142は、それぞれエクステントチャンクI/O存在率が代表HDD110内で第1位及び第2位であるものとする。   In FIG. 14, the extent chunks 141 and 142 included in the representative HDD 110 of the array 11-i are assumed to have the first and second extent chunk I / O existence rates in the representative HDD 110, respectively.

アレイコントローラ12-j(内のRAIDマネージャ125)は、まずアレイ11-iの代表HDD110内でエクステントチャンクI/O存在率が第1位のエクステントチャンク141が属するエクステントと、代表HDD110内(に搭載されているディスク媒体)の最外周に位置するエクステントチャンク143が属するエクステントとの間で、アレイ内エクステントマイグレーション145を行う。   The array controller 12-j (internal RAID manager 125) first installs the extent to which the extent chunk I / O existence ratio of the first extent chunk I / O in the representative HDD 110 of the array 11-i belongs, and the representative HDD 110. In-array extent migration 145 is performed with the extent to which the extent chunk 143 located on the outermost periphery of the disk medium).

次にアレイコントローラ12-j(内のRAIDマネージャ125)は、代表HDD110内でエクステントチャンクI/O存在率が第2位のエクステントチャンク142が属するエクステントと、代表HDD110内のエクステントチャンク143に隣接し、且つ当該エクステントチャンク143よりも代表HDD110の内周側に位置するエクステントチャンク144が属するエクステントとの間で、アレイ内エクステントマイグレーション146を行う。   Next, the array controller 12-j (inside the RAID manager 125) is adjacent to the extent to which the extent chunk I / O existence rate in the representative HDD 110 belongs and the extent chunk 143 in the representative HDD 110. In-array extent migration 146 is performed between the extent chunk 144 and the extent chunk 144 located on the inner peripheral side of the representative HDD 110 with respect to the extent chunk 143.

このようなアレイ内エクステントマイグレーション145及び146により、代表HDD110内でエクステントチャンクI/O存在率が高いエクステントチャンク141及び142が属するエクステント(内の複数のエクステントチャンク)は、当該エクステントに含まれている代表HDD110内のエクステントチャンクのエクステントチャンクI/O存在率の降順に、アレイ11-iを構成する各HDD110(に搭載されているディスク媒体)の最外周から順に再配置される。例えば代表HDD110内では、エクステントチャンクI/O存在率が第1位のエクステントチャンク141のデータが当該代表HDD110の最外周(のエクステントチャンク143)に再配置され、エクステントチャンクI/O存在率が第2位のエクステントチャンク142のデータが、エクステントチャンク141の再配置先に隣接する位置(エクステントチャンク144)に再配置される。   By such extent migrations 145 and 146 in the array, the extents (a plurality of extent chunks) to which the extent chunks 141 and 142 having a high extent chunk I / O existence ratio in the representative HDD 110 belong are included in the extents. The extent chunk I / O existence ratios of extent chunks in the representative HDD 110 are rearranged in order from the outermost periphery of each HDD 110 (disk medium installed in the array 11-i) in descending order. For example, in the representative HDD 110, the data of the extent chunk 141 having the first extent chunk I / O existence rate is relocated to the outermost periphery (extent chunk 143) of the representative HDD 110, and the extent chunk I / O existence rate is the first. The data of the second extent chunk 142 is rearranged at a position adjacent to the rearrangement destination of the extent chunk 141 (extent chunk 144).

第3の変形例においては、アレイ内エクステントマイグレーション145及び146により、等価的に、エクステントチャンクI/O存在率が上位のエクステントチャンク141及び142間のシーク距離が短くなり、エクステントチャンク141及び142間のシーク時間を短縮することができる。このことは、エクステントチャンク141及び142がそれぞれ属するエクステントに含まれている他のエクステントチャンクについても同様である。しかも第3の変形例においては、エクステントチャンクI/O存在率がより高いエクステントチャンクほど、HDD110に搭載されているディスク媒体の外周側に再配置される。一般にHDD110に搭載されているディスク媒体は、外周側ほどトラック当たりのセクタ数が多く、したがって性能が高くなる。このため第3の変形例においては、上述のアレイ内エクステントマイグレーションにより、HDD110のI/O性能をより一層向上できる。   In the third modification, the seek distance between the extent chunks 141 and 142 having the upper extent chunk I / O existence ratio is equivalently shortened by the extent migrations 145 and 146 in the array, and the extent chunks 141 and 142 are shortened. The seek time can be shortened. The same applies to other extent chunks included in the extents to which the extent chunks 141 and 142 belong, respectively. Moreover, in the third modified example, extent chunks having a higher extent chunk I / O existence rate are rearranged on the outer peripheral side of the disk medium mounted on the HDD 110. In general, the disk medium mounted on the HDD 110 has a larger number of sectors per track toward the outer peripheral side, and therefore the performance becomes higher. Therefore, in the third modification, the I / O performance of the HDD 110 can be further improved by the above-described extent migration in the array.

次に、アレイ11-iの代表HDD110内でエクステントチャンクI/O存在率が上位のエクステントチャンク群の中に、当該I/O存在率が等しい複数のエクステントチャンクが存在する場合について、図15を参照して説明する。   Next, FIG. 15 shows a case where a plurality of extent chunks having the same I / O existence rate exist in the extent chunk group having the higher extent chunk I / O existence rate in the representative HDD 110 of the array 11-i. The description will be given with reference.

図15において、エクステントチャンク151及び152は、エクステントチャンクI/O存在率が代表HDD110内で等しく、例えば共に第1位であるものとする。また、エクステントチャンク151及び152のうち、エクステントチャンク151の方が代表HDD110の外周側に配置されているものとする。更に、アレイ11-iを構成するエクステント(内のエクステントチャンク)は、エクステント番号が小さいエクステントほど、HDD110の外周側に物理的に配置されるものとする。   In FIG. 15, extent chunks 151 and 152 have the same extent chunk I / O existence rate in the representative HDD 110, for example, both are ranked first. Further, it is assumed that the extent chunk 151 out of the extent chunks 151 and 152 is arranged on the outer peripheral side of the representative HDD 110. Furthermore, it is assumed that extents (internal extent chunks) constituting the array 11-i are physically arranged on the outer peripheral side of the HDD 110 as the extent number is smaller.

アレイコントローラ12-j(内のRAIDマネージャ125)は、エクステントチャンクI/O存在率が等しい複数のエクステントチャンクの各々が属するエクステントがアレイ内エクステントマイグレーションの対象に含まれている場合、これらのエクステントのアレイ内エクステントマイグレーションを次のような順序で実行する。即ちアレイコントローラ12-j(内のRAIDマネージャ125)は、エクステント番号が大きいエクステント(HDD110の外周からより離れているエクステント)ほど優先的にアレイ内エクステントマイグレーションを行う。   The array controller 12-j (inside the RAID manager 125), when an extent to which each of a plurality of extent chunks having the same extent chunk I / O existence ratio is included in the in-array extent migration target, In-array extent migration is executed in the following order. That is, the array controller 12-j (internal RAID manager 125) preferentially performs in-array extent migration for extents having a larger extent number (extents farther from the outer periphery of the HDD 110).

図15の例では、まずアレイコントローラ12-j(内のRAIDマネージャ125)は、エクステントチャンク151及び152のうちのエクステントチャンク152が属するエクステントと、代表HDD110内のより外周側(ここでは最外周)に位置するエクステントチャンク153が属するエクステントとの間で、アレイ内エクステントマイグレーション155を行う。次にアレイコントローラ12-j(内のRAIDマネージャ125)は、エクステントチャンク151が属するエクステントと、代表HDD110内のエクステントチャンク153に隣接するエクステントチャンク154が属するエクステントとの間で、アレイ内エクステントマイグレーション156を行う。ここで、エクステントチャンク152が属するエクステントは、エクステントチャンク151が属するエクステントよりもI/O性能が低くなる位置(HDD110の内周寄りの位置)に配置されている。したがって、エクステントチャンク152のアレイ内エクステントマイグレーションを優先させることにより、I/O性能の一層の向上が可能となる。   In the example of FIG. 15, first, the array controller 12-j (inside the RAID manager 125), the extent to which the extent chunk 152 of the extent chunks 151 and 152 belongs and the outer peripheral side (here, the outermost periphery) in the representative HDD 110. The in-array extent migration 155 is performed with the extent to which the extent chunk 153 located at the position belongs. Next, the array controller 12-j (inside the RAID manager 125) transfers the in-array extent migration 156 between the extent to which the extent chunk 151 belongs and the extent to which the extent chunk 154 adjacent to the extent chunk 153 in the representative HDD 110 belongs. I do. Here, the extent to which the extent chunk 152 belongs is arranged at a position (position closer to the inner periphery of the HDD 110) where the I / O performance is lower than the extent to which the extent chunk 151 belongs. Therefore, by giving priority to extent migration within the extent chunk 152, I / O performance can be further improved.

第3の変形例においても、第2の変形例と同様に、図13のフローチャートに従って、HDDI/O存在サンプル数P[AID]及びエクステントチャンクI/O存在サンプル数Q[AID][EID]を収集する処理が行われる。   Also in the third modified example, as in the second modified example, the number of HDD I / O existing samples P [AID] and the number of extent chunk I / O existing samples Q [AID] [EID] are set according to the flowchart of FIG. Processing to collect is performed.

次に、第3の変形例におけるアレイ内エクステントマイグレーションについて、図16を参照して更に詳細に説明する。図16においてアレイ11-iは複数のHDD110(例えば前記実施形態と同様に6台のHDD110)から構成されている。アレイ11-iの記憶領域は複数のエクステント(例えば前記実施形態と同様に1500個のエクステント)に分割して管理される。ここでは、複数のエクステントに対して、HDD110の外周側からEIDが0,1,…の順に割り当てられている。   Next, in-array extent migration in the third modification will be described in more detail with reference to FIG. In FIG. 16, the array 11-i includes a plurality of HDDs 110 (for example, six HDDs 110 as in the above embodiment). The storage area of the array 11-i is managed by being divided into a plurality of extents (for example, 1500 extents as in the above embodiment). Here, EIDs are assigned to a plurality of extents in the order of 0, 1,... From the outer periphery side of the HDD 110.

第3の変形例では、AIDで示されるアレイ内の代表HDD110におけるエクステントチャンク毎のエクステントチャンクI/O存在率Qr[AID][EID]が、その存在率の降順にソートされる。このソートは例えばRAIDマネージャ125内の自律最適化制御エンジン125cによって行われる。代表HDD110におけるエクステントチャンクの総数をn(つまりMaxEID=n−1)、ソート後のN番目(N=0,1,…,n−1)のQr[AID][EID]のEIDをXNで表すと、n個のQr[AID][EID]、即ちQr[AID][X0],Qr[AID][X1],…,Qr[AID][Xn-1]の大小関係は、
Qr[AID][X0]≧Qr[AID][X1]≧…≧Qr[AID][Xn-1]
となる。
In the third modification, the extent chunk I / O existence ratio Qr [AID] [EID] for each extent chunk in the representative HDD 110 in the array indicated by AID is sorted in descending order of the existence ratio. This sorting is performed by the autonomous optimization control engine 125c in the RAID manager 125, for example. The total number of extent chunks in the representative HDD 110 is represented by n (that is, MaxEID = n−1), and the Nth (N = 0, 1,..., N−1) Qr [AID] [EID] EID after sorting is represented by XN. And n Qr [AID] [EID], that is, Qr [AID] [X0], Qr [AID] [X1], ..., Qr [AID] [Xn-1]
Qr [AID] [X0] ≥Qr [AID] [X1] ≥ ... ≥Qr [AID] [Xn-1]
It becomes.

今、アレイ内エクステントマイグレーションの実行対象となるエクステントの対(エクステントマイグレーション実行ペア)が、図16に示されるように第3のエクステント161及び第4のエクステント162であるものとする。第3のエクステント161及び第4のエクステント162は次のように定義される。   Now, it is assumed that a pair of extents (extent migration execution pair) to be subjected to intra-array extent migration is a third extent 161 and a fourth extent 162 as shown in FIG. The third extent 161 and the fourth extent 162 are defined as follows.

まず、第4のエクステント162は、代表HDD110(に搭載されているディスク媒体)の外周からk番目のエクステントチャンクが属するエクステント(つまりEID=kのエクステント)である。第3のエクステント161は、代表HDD110内のk番目に大きいエクステントチャンクI/O存在率Qr[AID][Xk]のエクステントチャンクが属するエクステント(EID=Xkのエクステント)である。   First, the fourth extent 162 is an extent to which the kth extent chunk from the outer periphery of the representative HDD 110 (a disk medium mounted on the representative HDD 110) belongs (that is, an extent with EID = k). The third extent 161 is an extent (extent of EID = Xk) to which an extent chunk of the kth largest extent chunk I / O existence rate Qr [AID] [Xk] in the representative HDD 110 belongs.

第3のエクステント161と第4のエクステント162との間でアレイ内エクステントマイグレーションが実行される条件(エクステントマイグレーション実行条件)は、前記第2の変形例で挙げた条件から明らかなように、
1)最後にエクステント再配置してからの経過時間が一定時間以上
2)第3及び第4のエクステントが属するアレイの代表HDDにおけるエクステントチャンクのエクステントチャンクI/O存在率Qr[AID][Xk]及びQr[AID][k]の差分(Qr[AID][Xk]−Qr[AID][k])が一定値以上
である。
The condition (extent migration execution condition) under which in-array extent migration is executed between the third extent 161 and the fourth extent 162, as is clear from the conditions given in the second modification example,
1) Elapsed time since the last extent rearrangement is a certain time or more 2) Extent chunk I / O existence ratio Qr [AID] [Xk] of extent chunks in the representative HDD of the array to which the third and fourth extents belong And the difference between Qr [AID] [k] (Qr [AID] [Xk] −Qr [AID] [k]) is greater than or equal to a certain value.

RAIDマネージャ125内の自律最適化制御エンジン125cは、上記のエクステントマイグレーション実行条件が成立する1対のエクステント(物理エクステント)161及び162、即ちEID=Xkの第3のエクステント161及びEID=kの第4のエクステント162について、当該エクステント161及び162の間のエクステントマイグレーションをエクステントマイグレーション実行モジュール125bに指示する。この指示を受けて、モジュール125bは、EID=Xkの第3のエクステント161及びEID=kの第4のエクステント162の間のアレイ内エクステントマイグレーションを行う。このエクステントマイグレーションは、第3のエクステントがQr[AID][Xk]の降順に選択されることにより逐次行われる。   The autonomous optimization control engine 125c in the RAID manager 125 includes a pair of extents (physical extents) 161 and 162 that satisfy the above-described extent migration execution condition, that is, the third extent 161 of EID = Xk and the first extent of EID = k. 4, the extent migration between the extents 161 and 162 is instructed to the extent migration execution module 125b. Upon receiving this instruction, the module 125b performs in-array extent migration between the third extent 161 with EID = Xk and the fourth extent 162 with EID = k. This extent migration is performed sequentially by selecting the third extent in descending order of Qr [AID] [Xk].

[第4の変形例]
次に上記実施形態の第4の変形例について図17を参照して説明する。第4の変形例の特徴は、上記実施形態または第1の変形例で適用されたアレイ間のエクステントマイグレーションと、上記第2または第3の変形例で適用されたアレイ内のエクステントマイグレーションとを組み合わせた点にある。
[Fourth Modification]
Next, a fourth modification of the above embodiment will be described with reference to FIG. The feature of the fourth modification is a combination of the extent migration between arrays applied in the embodiment or the first modification and the extent migration in the array applied in the second or the third modification. It is in the point.

例えばアレイコントローラ12-1(内のRAIDマネージャ125)は、第1のステップとして、アレイ11-1(#1),11-2(#2)及び11-3(#3)間のエクステントマイグレーション171によるエクステント再配置を行う。このエクステント再配置により、アレイコントローラ12-1(内のRAIDマネージャ125)は、アレイ11-1(#1),11-2(#2)及び11-3(#3)の各々の代表HDD110のHDDI/O存在率を一定レベルまで均等化する。   For example, the array controller 12-1 (internal RAID manager 125), as the first step, extent migration 171 between the arrays 11-1 (# 1), 11-2 (# 2), and 11-3 (# 3) Perform extent relocation by. By this extent rearrangement, the array controller 12-1 (inside the RAID manager 125) allows each of the representative HDDs 110 in the arrays 11-1 (# 1), 11-2 (# 2), and 11-3 (# 3). The HDD I / O presence rate is equalized to a certain level.

次にアレイコントローラ12-1(内のRAIDマネージャ125)は、第2のステップとして、アレイ11-1(#1),11-2(#2)及び11-3(#3)に対して、それぞれアレイ内エクステントマイグレーション172-1,172-2及び172-3によるエクステント再配置を行う。このエクステント再配置により、アレイコントローラ12-1(内のRAIDマネージャ125)は、アレイ11-1(#1),11-2(#2)及び11-3(#3)を構成する各HDD110のシーク時間短縮を図る。   Next, as a second step, the array controller 12-1 (inside the RAID manager 125) performs the following operations on the arrays 11-1 (# 1), 11-2 (# 2), and 11-3 (# 3). Extent rearrangement is performed by in-array extent migrations 172-1, 172-2, and 172-3, respectively. By this extent rearrangement, the array controller 12-1 (internal RAID manager 125) allows the HDDs 110 constituting the arrays 11-1 (# 1), 11-2 (# 2), and 11-3 (# 3) to be Reduce seek time.

[第5の変形例]
次に上記実施形態の第5の変形例について図18及び図19を参照して説明する。第5の変形例の特徴は、上記実施形態または第1の変形例で適用されたアレイ間のエクステントマイグレーションを、異なるディスクアレイ装置間に適用した点にある。
[Fifth Modification]
Next, a fifth modification of the above embodiment will be described with reference to FIGS. The feature of the fifth modification is that the extent migration between arrays applied in the embodiment or the first modification is applied between different disk array apparatuses.

アレイコントローラ12-1(内のRAIDマネージャ125)は第1のステップとして、図18(a)に示すように、ディスクアレイ装置10-1内のアレイ11-1(#1),11-2(#2)及び11-3(#3)間のエクステントマイグレーション181-1によるエクステント再配置を行う。このエクステント再配置により、アレイコントローラ12-1(内のRAIDマネージャ125)は、アレイ11-1(#1),11-2(#2)及び11-3(#3)の各々の代表HDD110のHDDI/O存在率を一定レベルまで均等化する。   As a first step, the array controller 12-1 (inside the RAID manager 125), as shown in FIG. 18A, the arrays 11-1 (# 1), 11-2 (in the disk array apparatus 10-1) Extent rearrangement is performed by extent migration 181-1 between # 2) and 11-3 (# 3). By this extent rearrangement, the array controller 12-1 (inside the RAID manager 125) allows each of the representative HDDs 110 in the arrays 11-1 (# 1), 11-2 (# 2), and 11-3 (# 3). The HDD I / O presence rate is equalized to a certain level.

一方、アレイコントローラ12-2(内のRAIDマネージャ125)も第1のステップとして、図18(a)に示すように、ディスクアレイ装置10-2内のアレイ11−A(#A),11-B(#B)及び11-C(#C)間のエクステントマイグレーション181-2によるエクステント再配置を行う。このエクステント再配置により、アレイコントローラ12-2(内のRAIDマネージャ125)は、アレイ11−A(#A),11-B(#B)及び11-C(#C)の各々の代表HDD110のHDDI/O存在率を一定レベルまで均等化する。   On the other hand, the array controller 12-2 (inside the RAID manager 125) also has, as a first step, as shown in FIG. 18A, the arrays 11-A (#A), 11- in the disk array device 10-2. Extent rearrangement is performed by extent migration 181-2 between B (#B) and 11-C (#C). By this extent rearrangement, the array controller 12-2 (inside the RAID manager 125) allows each of the representative HDDs 110 in the arrays 11-A (#A), 11-B (#B), and 11-C (#C). The HDD I / O presence rate is equalized to a certain level.

このように第1のステップでは、ディスクアレイ装置10-1及び10-2において、それぞれアレイ間のエクステントマイグレーション181-1及び181-2が行われ、当該ディスクアレイ装置10-1及び10-2内の最適化が行われる。   As described above, in the first step, the extent migrations 181-1 and 181-2 between the arrays are performed in the disk array apparatuses 10-1 and 10-2, respectively, and the disk array apparatuses 10-1 and 10-2 Optimization is performed.

次にアレイコントローラ12-1及び12-2(内のRAIDマネージャ125)は第2のステップとして、相互に通信を行い、図18(b)に示すように、ディスクアレイ装置10-1内のアレイ11-1(#1),11-2(#2)及び11-3(#3)と、ディスクアレイ装置10-2内のアレイ11−A(#A),11-B(#B)及び11-C(#C)との間で、つまりディスクアレイ装置10-1及び10-2間で、ネットワーク32を介してアレイ間のエクステントマイグレーション182によるエクステント再配置を行う。このエクステント再配置により、アレイコントローラ12-1及び12-2(内のRAIDマネージャ125)は、ディスクアレイ装置10-1内のアレイ11-1(#1),11-2(#2)及び11-3(#3)と、ディスクアレイ装置10-2内のアレイ11−A(#A),11-B(#B)及び11-C(#C)の各々の代表HDD110のHDDI/O存在率を一定レベルまで均等化する。   Next, the array controllers 12-1 and 12-2 (inside the RAID manager 125) communicate with each other as the second step, and as shown in FIG. 18B, the arrays in the disk array device 10-1 11-1 (# 1), 11-2 (# 2) and 11-3 (# 3), and arrays 11-A (#A), 11-B (#B) in the disk array device 10-2 and 11-C (#C), that is, the extent rearrangement by the extent migration 182 between the arrays via the network 32 between the disk array apparatuses 10-1 and 10-2. By this extent rearrangement, the array controllers 12-1 and 12-2 (inside the RAID manager 125) allow the arrays 11-1 (# 1), 11-2 (# 2), and 11 in the disk array device 10-1. -3 (# 3) and the presence of HDD I / O in the representative HDD 110 of each of the arrays 11-A (#A), 11-B (#B), and 11-C (#C) in the disk array device 10-2 Equalize the rate to a certain level.

このように第2のステップでは、ディスクアレイ装置10-1及び10-2の間でアレイ間のエクステントマイグレーション182が行われ、当該ディスクアレイ装置10-1及び10-2の間の最適化が行われる。   As described above, in the second step, the extent migration 182 between the arrays is performed between the disk array devices 10-1 and 10-2, and the optimization between the disk array devices 10-1 and 10-2 is performed. Is called.

この第2のステップの後に、アレイコントローラ12-1(内のRAIDマネージャ125)は、第3のステップとして、図19に示すように、アレイ11-1(#1),11-2(#2)及び11-3(#3)に対して、それぞれアレイ内エクステントマイグレーション191-1,191-2及び191-3によるエクステント再配置を行う。   After this second step, the array controller 12-1 (internal RAID manager 125), as the third step, as shown in FIG. 19, arrays 11-1 (# 1), 11-2 (# 2 ) And 11-3 (# 3), extent rearrangement is performed by in-array extent migration 191-1, 191-2, and 191-3, respectively.

一方、アレイコントローラ12-2(内のRAIDマネージャ125)も第3のステップとして、図19に示すように、アレイ11−A(#A),11-B(#B)及び11-C(#C)に対して、それぞれアレイ内エクステントマイグレーション191-A,191-B及び191-Cによるエクステント再配置を行う。なお、第3のステップが省略されても構わない。   On the other hand, as shown in FIG. 19, the array controller 12-2 (internal RAID manager 125) also has arrays 11-A (#A), 11-B (#B), and 11-C (# For C), extent rearrangement is performed by in-array extent migration 191-A, 191-B, and 191-C, respectively. Note that the third step may be omitted.

なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。例えば、HDD単位及びエクステントチャンク単位での実行中I/O存在率の代わりに、アレイ単位及びエクステント単位の実行中I/O存在率を用いても良い。即ち、第1の存在率として、当該アレイ内の複数のエクステントに同時に実行中I/Oが存在する度合いを用い、第2の存在率として、当該アレイに実行中I/Oが存在する度合いを用い、第3の存在率として、当該エクステントに実行中I/Oが存在する度合いを用いることもできる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。   In addition, this invention is not limited to the said embodiment or its modification example as it is, A component can be deform | transformed and embodied in the range which does not deviate from the summary in an implementation stage. For example, in-execution I / O existence rates in array units and extent units may be used instead of in-execution I / O existence rates in HDD units and extent chunk units. That is, as the first existence rate, the degree of simultaneous execution of I / O in a plurality of extents in the array is used, and as the second existence ratio, the degree of execution of I / O in the array is used. It is also possible to use, as the third existence ratio, the degree of presence of executing I / O in the extent. In addition, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment or the modification thereof. For example, you may delete a some component from all the components shown by embodiment or its modification.

本発明の一実施形態に係るディスクアレイサブシステムの構成を示すブロック図。1 is a block diagram showing a configuration of a disk array subsystem according to an embodiment of the present invention. アレイにおけるエクステントとエクステントチャンクとの関係を示す図。The figure which shows the relationship between the extent and extent chunk in an array. 図1に示されるアレイコントローラの構成を示すブロック図。The block diagram which shows the structure of the array controller shown by FIG. 同実施形態におけるエクステントマイグレーションを説明するための図。The figure for demonstrating the extent migration in the same embodiment. エクステントマイグレーションの対象となるエクステントを決定するのに同時I/O存在率を用いる理由を説明するための図。The figure for demonstrating the reason for using simultaneous I / O existence rate to determine the extent used as extent migration object. 同実施形態において同時I/O存在率を表す指標となる情報を取得する手法を説明するための図。The figure for demonstrating the method of acquiring the information used as the parameter | index showing a simultaneous I / O presence rate in the embodiment. 同実施形態においてHDDI/O存在率を表す指標となる情報を取得する手法を説明するための図。The figure for demonstrating the method of acquiring the information used as the parameter | index showing HDDI / O presence rate in the embodiment. 同実施形態においてエクステントチャンクI/O存在率を表す指標となる情報を取得する手法を説明するための図。The figure for demonstrating the method of acquiring the information used as the parameter | index showing the extent chunk I / O presence rate in the embodiment. 図2に示されるアレイコントローラ内のRAIDマネージャの主要な構成を当該アレイコントローラ内の他の要素と関連付けて示すブロック図。FIG. 3 is a block diagram showing a main configuration of a RAID manager in the array controller shown in FIG. 2 in association with other elements in the array controller. 同実施形態で適用される、HDDI/O存在サンプル数、エクステントチャンクI/O存在サンプル数及び同時I/O存在サンプル数を収集する処理の1サンプルにおける手順を示すフローチャート。6 is a flowchart showing a procedure in one sample of processing for collecting the number of HDD I / O existing samples, the number of extent chunk I / O existing samples, and the number of simultaneous I / O existing samples applied in the embodiment. 上記実施形態の第1の変形例におけるエクステントマイグレーションを説明するための図。The figure for demonstrating the extent migration in the 1st modification of the said embodiment. 上記実施形態の第2の変形例におけるアレイ内エクステントマイグレーションを説明するための図。The figure for demonstrating the extent migration in the array in the 2nd modification of the said embodiment. 同第2の変形例で適用される、HDDI/O存在サンプル数及びエクステントチャンクI/O存在サンプル数を収集する処理の1サンプルにおける手順を示すフローチャート。The flowchart which shows the procedure in 1 sample of the process which collects the HDDI / O presence sample number and extent chunk I / O presence sample number applied in the said 2nd modification. 上記実施形態の第3の変形例におけるアレイ内エクステントマイグレーションを説明するための図。The figure for demonstrating the extent migration in the array in the 3rd modification of the said embodiment. 同第3の変形例において、I/O存在率が等しい複数のエクステントチャンクが存在する場合のアレイ内エクステントマイグレーションを説明するための図。The figure for demonstrating the extent migration in an array in the case of the said 3rd modification in case there exist several extent chunks with equal I / O presence rate. 同第3の変形例におけるアレイ内エクステントマイグレーションの詳細を説明するための図。The figure for demonstrating the detail of the extent migration in an array in the 3rd modification. 上記実施形態の第4の変形例で適用される、アレイ間エクステントマイグレーションとアレイ内エクステントマイグレーションの組み合わせを説明するための図。The figure for demonstrating the combination of the extent migration between arrays applied in the 4th modification of the said embodiment, and the extent migration in an array. 上記実施形態の第5の変形例で適用される、ディスクアレイ装置毎に行われるアレイ間エクステントマイグレーションと、ディスクアレイ装置間で行われるアレイ間エクステントマイグレーションとの組み合わせを説明するための図。The figure for demonstrating the combination of the extent migration between arrays performed for every disk array apparatus applied in the 5th modification of the said embodiment, and the extent migration between arrays performed between disk array apparatuses. 同第5の変形例において、図18に示す組み合わせに加えて適用されるアレイ内エクステントマイグレーションを説明するための図。The figure for demonstrating the extent migration in the array applied in addition to the combination shown in FIG. 18 in the said 5th modification.

符号の説明Explanation of symbols

1…ディスクアレイサブシステム、10-1,10-2…ディスクアレイ装置、11-1〜11-3,11-A〜11-C…アレイ、12-1,12-2,12-j…アレイコントローラ、20…ホスト装置、31,32…ネットワーク、110…HDD、125…RAIDマネージャ、125a…I/O統計情報収集モジュール、125b…エクステントマイグレーション実行モジュール、125c…自律最適化制御エンジン、126…HDDドライバ、127…メモリ。   DESCRIPTION OF SYMBOLS 1 ... Disk array subsystem, 10-1, 10-2 ... Disk array apparatus, 11-1 to 11-3, 11-A to 11-C ... Array, 12-1, 12-2, 12-j ... Array Controller 20 ... Host device 31, 32 ... Network 110 ... HDD 125 ... RAID manager 125a ... I / O statistical information collection module 125b ... Extent migration execution module 125c ... Autonomous optimization control engine 126 ... HDD Driver, 127 ... memory.

Claims (10)

1台以上のディスク装置の記憶領域が連続した1つの領域として定義される複数のアレイを含み、前記アレイの全領域を複数のエクステントに分割し、1つ以上のエクステントを組み合わせることによってホスト装置から認識される論理ボリュームを構成する少なくとも1台のディスクアレイ装置を有するディスクアレイサブシステムにおいて、
前記少なくとも1台のディスクアレイ装置は、
前記アレイ毎に、そのアレイを構成するディスク装置のうちの予め定められた代表ディスク装置の記憶領域に含まれる前記複数のエクステントにそれぞれ属するエクステントチャンクについて、あるサンプリング周期で未完了のアクセス要求を実行中I/Oとしてサンプリングすることにより、当該エクステントチャンクを含む複数のエクステントチャンクに同時に実行中I/Oが存在する度合いを表す第1の存在率、前記代表ディスク装置に実行中I/Oが存在する度合いを表す第2の存在率、及び当該エクステントチャンクに実行中I/Oが存在する度合いを表す第3の存在率を算出する算出手段と、
前記第1乃至第3の存在率に基づき、前記第1の存在率が下げられるべきエクステントチャンクが属するエクステントを第1のエクステントとして選択すると共に、当該第1のエクステントを含むアレイの代表ディスク装置とは別の、当該第1のエクステントを含むアレイの代表ディスク装置に対して、前記第2の存在率が相対的に低いアレイの代表ディスク装置に含まれるエクステントチャンクの中から、前記第3の存在率が最も低いエクステントチャンクが属するエクステントを第2のエクステントとして選択する選択手段と、
前記第1及び第2のエクステントの間でデータを再配置するアレイ間エクステントマイグレーションを実行するエクステントマイグレーション実行手段と
を具備することを特徴とするディスクアレイサブシステム。
The storage area of one or more disk devices includes a plurality of arrays defined as one continuous area, the entire area of the array is divided into a plurality of extents, and one or more extents are combined to form a host device. In a disk array subsystem having at least one disk array device constituting a recognized logical volume,
The at least one disk array device includes:
For each of the arrays, an incomplete access request is executed at a sampling cycle for each extent chunk belonging to each of the plurality of extents included in a storage area of a predetermined representative disk device among the disk devices constituting the array. By sampling as a medium I / O, a first presence rate indicating the degree of simultaneous execution of I / O in a plurality of extent chunks including the extent chunk, and the execution of the I / O in the representative disk device Calculating means for calculating a second existence ratio indicating a degree of performing, and a third existence ratio indicating a degree of executing I / O in the extent chunk;
Based on the first to third existence ratios, an extent to which an extent chunk whose first existence ratio is to be reduced belongs is selected as a first extent, and a representative disk device of an array including the first extent The third existence from among extent chunks included in the representative disk device of the array having a relatively low second existence rate with respect to another representative disk device of the array including the first extent. A selection means for selecting the extent to which the extent chunk having the lowest rate belongs, as a second extent;
A disk array subsystem, comprising: extent migration executing means for executing inter-array extent migration for rearranging data between the first and second extents.
前記選択手段は、
前記複数のアレイのうちデータ再配置の候補として予め定められたアレイグループに属するアレイの各々を構成するエクステントの中で、前記第1の存在率が最も高いエクステントチャンクが属するエクステントを前記第1のエクステントとして選択し、
前記アレイグループに属するアレイの各々の代表ディスク装置のうちの、前記第2の存在率が最も低い代表ディスク装置に含まれるエクステントチャンクの中から、前記第3の存在率が最も低いエクステントチャンクを選択して、当該選択されたエクステントチャンクが属するエクステントを前記第2のエクステントとして選択する
ことを特徴とする請求項1記載のディスクアレイサブシステム。
The selection means includes
Among the plurality of arrays, the extent to which the extent chunk having the highest first existence rate belongs to the first chunk among the extents that constitute each of the arrays belonging to the array group predetermined as a candidate for data rearrangement. Select as extent,
The extent chunk with the lowest third existence rate is selected from the extent chunks included in the representative disk device with the lowest second existence ratio among the representative disk devices of each array belonging to the array group. The disk array subsystem according to claim 1, wherein the extent to which the selected extent chunk belongs is selected as the second extent.
前記選択手段は、前記エクステントマイグレーション実行手段によって最後に前記エクステントマイグレーションが実行されてからの経過時間が一定時間以上となり、前記アレイグループに属するアレイの代表ディスク装置の前記第2の存在率の最大値と最小値の差分が一定値以上となり、前記アレイグループに属するアレイの代表ディスク装置の前記第2の存在率の最小値が一定値以下となり、且つ前記アレイグループに属するアレイの代表ディスク装置に含まれるエクステントチャンクの前記第1の存在率の最大値が一定値以上となった場合に、次のエクステントマイグレーションの対象となる前記第1及び第2のエクステントを選択することを特徴とする請求項2記載のディスクアレイサブシステム。   The selection means has an elapsed time since the extent migration was last executed by the extent migration execution means is a predetermined time or more, and the maximum value of the second existence ratio of the representative disk devices of the array belonging to the array group And the minimum value of the second existing ratio of the array representative disk devices belonging to the array group is equal to or less than a predetermined value, and the difference between the minimum value and the minimum value is included in the representative disk device of the array belonging to the array group. 3. The first and second extents to be subjected to the next extent migration are selected when the maximum value of the first existence rate of extent chunks to be obtained becomes a certain value or more. The described disk array subsystem. 前記選択手段は、Nを2以上の整数であるとすると、前記複数のアレイのうちの任意のアレイを対象に、当該任意のアレイの代表ディスク装置に含まれるエクステントチャンクの中から、前記第3の存在率が高いN個のエクステントチャンクを選択して、当該選択されたN個のエクステントチャンクが属するN個のエクステントまたは当該N個のエクステントのうちのN−1個のエクステントを1つずつ第3のエクステントとして選択すると共に、前記N個またはN−1個の第3のエクステントとの間のアレイ内エクステントマイグレーションの対象となる前記任意のアレイ内のN個またはN−1個のエクステントであって、前記アレイ内エクステントマイグレーションの対象となる前記N個のエクステント相互の前記アレイ内の位置、または前記N個のエクステントのうちの前記N−1個の第3のエクステントを除く1つ及び前記アレイ内エクステントマイグレーションの対象となる前記N−1個のエクステント相互の前記アレイ内の位置が、前記第3の存在率が高い前記N個のエクステントチャンクが属する前記N個のエクステント相互の前記アレイ内の位置よりも近くなるN個またはN−1個のエクステントを1つずつ第4のエクステントとして選択し、
前記エクステントマイグレーション実行手段は、前記第3及び第4のエクステントの対が選択される都度、選択された第3及び第4のエクステントの間でデータを再配置するアレイ内エクステントマイグレーションを実行する
ことを特徴とする請求項1記載のディスクアレイサブシステム。
If the selection means assumes that N is an integer of 2 or more, the third means can select any one of the plurality of arrays from among the extent chunks included in the representative disk device of the arbitrary array. N extent chunks having a high presence rate are selected, and N extents to which the selected N extent chunks belong or N-1 extents of the N extents are counted one by one. 3 extents, and N or N-1 extents in the arbitrary array to be subjected to in-array extent migration with the N or N-1 third extents. In the array, the positions of the N extents that are subject to extent migration in the array, One of the N extents excluding the N-1 third extent and the position in the array of the N-1 extents that are subject to the extent migration in the array are in the array. N or N−1 extents closer to the positions in the array of the N extents to which the N extent chunks having a high presence rate of 3 belong are selected as fourth extents one by one. ,
The extent migration execution means executes the extent migration in the array in which data is rearranged between the selected third and fourth extents every time the pair of the third and fourth extents is selected. 2. The disk array subsystem according to claim 1, wherein:
前記選択手段は、前記複数のアレイのうちの任意のアレイを構成するエクステントを、前記第3の存在率が最も高いエクステントチャンクが属するエクステントから前記第3の存在率の降順に1つずつ第3のエクステントとして選択すると共に、当該選択された第3のエクステントとの間のアレイ内エクステントマイグレーションの対象となるエクステントを前記任意のアレイを構成するディスク装置の外周から内周方向に1つずつ第4のエクステントとして選択することによって、前記アレイ内エクステントマイグレーションの対象となる第3及び第4のエクステントの対を逐次選択し、
前記エクステントマイグレーション実行手段は、前記第3及び第4のエクステントの対が選択される都度、前記選択された第3及び第4のエクステントの間でデータを再配置するアレイ内エクステントマイグレーションを実行する
ことを特徴とする請求項1記載のディスクアレイサブシステム。
The selecting means selects extents constituting an arbitrary array of the plurality of arrays one by one in descending order of the third existence ratio from the extent to which the extent chunk having the highest third existence ratio belongs. The extents that are subject to in-array extent migration between the selected third extents are selected one by one from the outer periphery to the inner periphery of the disk device constituting the arbitrary array. By sequentially selecting the third and fourth extent pairs to be subject to the in-array extent migration,
The extent migration execution means executes in-array extent migration that rearranges data between the selected third and fourth extents each time the pair of the third and fourth extents is selected. The disk array subsystem according to claim 1.
前記選択手段は、前記エクステントマイグレーション実行手段によって最後に前記アレイ内エクステントマイグレーションが実行されてからの経過時間が一定時間以上となり、且つ前記アレイ内エクステントマイグレーションの候補となる1対のエクステントに含まれる1対のエクステントチャンクであって、当該1対のエクステントが属するアレイの代表ディスク装置に含まれる1対のエクステントチャンクの前記第3の存在率の差分が一定値以上となった場合に、前記1対のエクステントを次のアレイ内エクステントマイグレーションの対象となる前記第3及び第4のエクステントの対として選択することを特徴とする請求項4または5に記載のディスクアレイサブシステム。   The selection means includes an elapsed time after the last extent migration in the array is executed by the extent migration execution means for a predetermined time or more, and is included in a pair of extents that are candidates for the extent migration in the array. When the difference between the third existence ratios of a pair of extent chunks included in the representative disk device of the array to which the pair of extents belongs is equal to or greater than a certain value, the pair of extent chunks 6. The disk array subsystem according to claim 4, wherein the extent is selected as a pair of the third and fourth extents to be subject to the next in-array extent migration. 前記エクステントマイグレーション実行手段は、前記アレイ間のエクステントマイグレーションを実行し、しかる後に当該アレイ間のエクステントマイグレーションの対象となったアレイの各々を対象に、前記アレイ内のエクステントマイグレーションを実行することを特徴とする請求項4または5に記載のディスクアレイサブシステム。   The extent migration execution means executes extent migration between the arrays, and then executes extent migration in the array for each of the arrays that are targets of extent migration between the arrays. The disk array subsystem according to claim 4 or 5. 前記少なくとも1台のディスクアレイ装置はネットワークにより接続された複数のディスクアレイ装置であり、
前記複数のディスクアレイ装置の前記エクステントマイグレーション実行手段は、当該ディスクアレイ装置内で前記アレイ間のエクステントマイグレーションを実行した後、前記複数のディスクアレイ装置の間で前記アレイ間のエクステントマイグレーションを実行し、しかる後に当該アレイ間のエクステントマイグレーションの対象となったアレイの各々を対象に、前記アレイ内のエクステントマイグレーションを実行することを特徴とする請求項4または5に記載のディスクアレイサブシステム。
The at least one disk array device is a plurality of disk array devices connected by a network;
The extent migration execution means of the plurality of disk array devices performs extent migration between the plurality of disk array devices after performing extent migration between the arrays in the disk array device, 6. The disk array subsystem according to claim 4, wherein extent migration in the array is executed for each of the arrays that are subject to extent migration between the arrays thereafter.
1台以上のディスク装置の記憶領域が連続した1つの領域として定義されるアレイを含み、前記アレイの全領域を複数のエクステントに分割し、1つ以上のエクステントを組み合わせることによってホスト装置から認識される論理ボリュームを構成する少なくとも1台のディスクアレイ装置を有するディスクアレイサブシステムにおいて、
前記少なくとも1つの前記ディスクアレイ装置は、
前記アレイを構成するディスク装置のうちの予め定められた代表ディスク装置の記憶領域に含まれる前記複数のエクステントにそれぞれ属するエクステントチャンクについて、あるサンプリング周期で未完了のアクセス要求を実行中I/Oとしてサンプリングすることにより、当該エクステントチャンクに実行中I/Oが存在する度合いを表すエクステントチャンクI/O存在率を算出する算出手段と、
Nを2以上の整数であるとすると、前記複数のアレイのうちの任意のアレイを対象に、当該任意のアレイの代表ディスク装置に含まれるエクステントチャンクの中から、前記第3の存在率が高いN個のエクステントチャンクを選択して、当該選択されたN個のエクステントチャンクが属するN個のエクステントまたは当該N個のエクステントのうちのN−1個のエクステントを1つずつ第3のエクステントとして選択すると共に、前記N個またはN−1個の第3のエクステントとの間のアレイ内エクステントマイグレーションの対象となる前記任意のアレイ内のN個またはN−1個のエクステントであって、前記アレイ内エクステントマイグレーションの対象となる前記N個のエクステント相互の前記アレイ内の位置、または前記N個のエクステントのうちの前記N−1個の第3のエクステントを除く1つ及び前記アレイ内エクステントマイグレーションの対象となる前記N−1個のエクステント相互の前記アレイ内の位置が、前記第3の存在率が高い前記N個のエクステントチャンクが属する前記N個のエクステント相互の前記アレイ内の位置よりも近くなるN個またはN−1個のエクステントを1つずつ第4のエクステントとして選択する選択手段と、
前記第3及び第4のエクステントの対が選択される都度、選択された第3及び第4のエクステントの間でデータを再配置するアレイ内エクステントマイグレーションを実行するエクステントマイグレーション実行手段と
を具備することを特徴とするディスクアレイサブシステム。
The storage area of one or more disk devices includes an array defined as one continuous area, and the entire area of the array is divided into a plurality of extents and is recognized by the host device by combining one or more extents. In a disk array subsystem having at least one disk array device constituting a logical volume,
The at least one disk array device includes:
Of the extent chunks belonging to the plurality of extents included in the storage area of a predetermined representative disk device among the disk devices constituting the array, an uncompleted access request is executed as an executing I / O in a certain sampling period. A calculating means for calculating an extent chunk I / O existence ratio representing a degree of executing I / O in the extent chunk by sampling;
Assuming that N is an integer of 2 or more, the third existence rate is high among extent chunks included in the representative disk device of the arbitrary array for an arbitrary array of the plurality of arrays. Select N extent chunks, and select N extents to which the selected N extent chunks belong or N-1 extents of the N extents as third extents one by one. And N or N-1 extents in the arbitrary array subject to the extent migration in the array between the N or N-1 third extents, and in the array The position in the array of the N extents subject to extent migration, or the N extents. One of the tents excluding the N-1 third extent and the position in the array of the N-1 extents to be subject to the extent migration in the array is the third existence rate. Selecting means for selecting N or N-1 extents, one by one, closer to the positions in the array of the N extents to which the N extent chunks having higher
Extent migration executing means for executing in-array extent migration for rearranging data between the selected third and fourth extents each time the third and fourth extent pairs are selected. A disk array subsystem characterized by
1台以上のディスク装置の記憶領域が連続した1つの領域として定義される複数のアレイを含み、前記アレイの全領域を複数のエクステントに分割し、1つ以上のエクステントを組み合わせることによってホスト装置から認識される論理ボリュームを構成するディスクアレイ装置に含まれるコントローラによって実行されるプログラムであって、
前記コントローラに、
前記アレイ毎に、そのアレイを構成するディスク装置のうちの予め定められた代表ディスク装置の記憶領域に含まれる前記複数のエクステントにそれぞれ属するエクステントチャンクについて、あるサンプリング周期で未完了のアクセス要求を実行中I/Oとしてサンプリングすることにより、当該エクステントチャンクを含む複数のエクステントチャンクに同時に実行中I/Oが存在する度合いを表す第1の存在率、前記代表ディスク装置に実行中I/Oが存在する度合いを表す第2の存在率、及び当該エクステントチャンクに実行中I/Oが存在する度合いを表す第3の存在率を算出するステップと、
前記第1乃至第3の存在率に基づき、前記第1の存在率が下げられるべきエクステントチャンクが属するエクステントを第1のエクステントとして選択すると共に、当該第1のエクステントを含むアレイの代表ディスク装置とは別の、当該第1のエクステントを含むアレイの代表ディスク装置に対して、前記第2の存在率が相対的に低いアレイの代表ディスク装置に含まれるエクステントチャンクの中から、前記第3の存在率が最も低いエクステントチャンクが属するエクステントを第2のエクステントとして選択するステップと、
前記第1及び前記第2のエクステントの間でデータを再配置するアレイ間エクステントマイグレーションを実行するステップと
を実行させるためのプログラム。
The storage area of one or more disk devices includes a plurality of arrays defined as one continuous area, the entire area of the array is divided into a plurality of extents, and one or more extents are combined to form a host device. A program executed by a controller included in a disk array device constituting a recognized logical volume,
In the controller,
For each of the arrays, an incomplete access request is executed at a sampling cycle for each extent chunk belonging to each of the plurality of extents included in a storage area of a predetermined representative disk device among the disk devices constituting the array. By sampling as a medium I / O, a first presence rate indicating the degree of simultaneous execution of I / O in a plurality of extent chunks including the extent chunk, and the execution of the I / O in the representative disk device Calculating a second existence ratio representing a degree of performing and a third existence ratio representing a degree of executing I / O in the extent chunk;
Based on the first to third existence ratios, an extent to which an extent chunk whose first existence ratio is to be reduced belongs is selected as a first extent, and a representative disk device of an array including the first extent The third existence from among extent chunks included in the representative disk device of the array having a relatively low second existence rate with respect to another representative disk device of the array including the first extent. Selecting the extent to which the extent chunk with the lowest rate belongs as a second extent;
A program for executing an inter-array extent migration that rearranges data between the first and second extents.
JP2006220127A 2006-08-11 2006-08-11 Disk array subsystem and program Active JP4413899B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006220127A JP4413899B2 (en) 2006-08-11 2006-08-11 Disk array subsystem and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006220127A JP4413899B2 (en) 2006-08-11 2006-08-11 Disk array subsystem and program

Publications (2)

Publication Number Publication Date
JP2008046763A true JP2008046763A (en) 2008-02-28
JP4413899B2 JP4413899B2 (en) 2010-02-10

Family

ID=39180469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006220127A Active JP4413899B2 (en) 2006-08-11 2006-08-11 Disk array subsystem and program

Country Status (1)

Country Link
JP (1) JP4413899B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217700A (en) * 2008-03-12 2009-09-24 Toshiba Corp Disk array device and optimization method of physical arrangement
JP2009258911A (en) * 2008-04-15 2009-11-05 Toshiba Corp Disk array device, method, and program
JP2012208916A (en) * 2011-03-28 2012-10-25 Hitachi Ltd Method and device for assigning area to virtual volume
JP2013513186A (en) * 2009-12-07 2013-04-18 マイクロソフト コーポレーション Extending the life of SSDs using hybrid storage
JP2015082315A (en) * 2013-10-24 2015-04-27 富士通株式会社 Storage control device, control method, and program
JP2021514502A (en) * 2018-02-21 2021-06-10 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation How to manage data migration between data storage, its data storage systems and computer programs
CN114816278A (en) * 2022-06-30 2022-07-29 苏州浪潮智能科技有限公司 Data migration method, system, equipment and storage medium of storage server

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217700A (en) * 2008-03-12 2009-09-24 Toshiba Corp Disk array device and optimization method of physical arrangement
JP2009258911A (en) * 2008-04-15 2009-11-05 Toshiba Corp Disk array device, method, and program
JP2013513186A (en) * 2009-12-07 2013-04-18 マイクロソフト コーポレーション Extending the life of SSDs using hybrid storage
JP2012208916A (en) * 2011-03-28 2012-10-25 Hitachi Ltd Method and device for assigning area to virtual volume
JP2015082315A (en) * 2013-10-24 2015-04-27 富士通株式会社 Storage control device, control method, and program
US9830100B2 (en) 2013-10-24 2017-11-28 Fujitsu Limited Storage control device and storage control method
JP2021514502A (en) * 2018-02-21 2021-06-10 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation How to manage data migration between data storage, its data storage systems and computer programs
JP7139433B2 (en) 2018-02-21 2022-09-20 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, data storage system and computer program for managing data migration between data storages
CN114816278A (en) * 2022-06-30 2022-07-29 苏州浪潮智能科技有限公司 Data migration method, system, equipment and storage medium of storage server
CN114816278B (en) * 2022-06-30 2022-11-11 苏州浪潮智能科技有限公司 Data migration method, system, equipment and storage medium of storage server

Also Published As

Publication number Publication date
JP4413899B2 (en) 2010-02-10

Similar Documents

Publication Publication Date Title
JP4749140B2 (en) Data migration method and system
US8375180B2 (en) Storage application performance matching
JP4413899B2 (en) Disk array subsystem and program
US6779078B2 (en) Data storage system and method of hierarchical control thereof
US8380928B1 (en) Applying data access activity measurements
JP4869368B2 (en) Storage device and virtualization device
JP5439581B2 (en) Storage system, storage apparatus, and storage system optimization method for storage system
US9274941B1 (en) Facilitating data migration between tiers
US20080216086A1 (en) Method of analyzing performance in a storage system
JP5057792B2 (en) Storage system with a function to alleviate performance bottlenecks
US9680933B2 (en) Computer system
JP2001067187A (en) Storage sub-system and its control method
WO2013164878A1 (en) Management apparatus and management method for computer system
JP4935331B2 (en) Storage system, storage area selection method and program
US10606503B2 (en) Apparatus to reduce a data-migration time for rearranging data between storage hierarchical layers
US9330009B1 (en) Managing data storage
US9104590B2 (en) Storage system including multiple storage apparatuses and pool virtualization method
US20120011127A1 (en) Database management method and database server system using the same
US9626110B2 (en) Method for selecting a page for migration based on access path information and response performance information
CN110058960B (en) Method, apparatus and computer program product for managing a storage system
US20180341423A1 (en) Storage control device and information processing system
JP2013525912A (en) Storage apparatus and control method thereof
US10235071B2 (en) Tiered storage system, storage controller and tiering control method
JP6152704B2 (en) Storage system, information processing apparatus control program, and storage system control method
JP2020144737A (en) Information processor and task management program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091027

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091118

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4413899

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131127

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350