JP4413899B2 - ディスクアレイサブシステム及びプログラム - Google Patents

ディスクアレイサブシステム及びプログラム Download PDF

Info

Publication number
JP4413899B2
JP4413899B2 JP2006220127A JP2006220127A JP4413899B2 JP 4413899 B2 JP4413899 B2 JP 4413899B2 JP 2006220127 A JP2006220127 A JP 2006220127A JP 2006220127 A JP2006220127 A JP 2006220127A JP 4413899 B2 JP4413899 B2 JP 4413899B2
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.)
Active
Application number
JP2006220127A
Other languages
English (en)
Other versions
JP2008046763A (ja
Inventor
和総 友永
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/ja
Publication of JP2008046763A publication Critical patent/JP2008046763A/ja
Application granted granted Critical
Publication of JP4413899B2 publication Critical patent/JP4413899B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ホスト装置から認識される論理ボリュームを構成する少なくとも1台のディスクアレイ装置を有するディスクアレイサブシステムに係り、特に、エクステント単位で自律的にデータの再配置を行うのに好適な仮想化機能を備えるディスクアレイサブシステム及びプログラムに関する。
ディスクアレイサブシステムはストレージシステムの代表として知られている。ディスクアレイサブシステムは、少なくとも1つのアレイ(ディスクアレイ)を有している。アレイは、1台以上のディスク装置、例えば1台以上のハードディスクドライブ(HDD)から構成される。このアレイを利用して、ホスト装置から認識される仮想的な記憶領域、つまり論理ボリュームが定義される。ホスト装置からのディスクアレイサブシステムに対するアクセスは、この論理ボリュームに対して行われる。
ここで、複数のアレイを有するディスクアレイサブシステムを想定する。このようなディスクアレイサブシステムでは、例えば、あるアレイにアクセスが集中し、他のアレイにアクセスが殆ど発生していない事態が生じることがある。
ところが従来のディスクアレイサブシステムでは、論理ボリュームと、その論理ボリュームを構成するアレイ(を含むディスクアレイ装置)との対応関係は固定的である。このため、アレイ毎にアクセス頻度に偏りが生じても、アレイ毎のアクセス頻度を均一化することができない。このような状況では、ディスクアレイサブシステム内のHDDを有効利用することは困難である。
特に、近年のディスクアレイサブシステムの規模の増大と、HDD単体の記憶容量の増加により、上記のようなアクセスの偏りの発生頻度は高まり、今後、その傾向は更に顕著になっていくと考えられる。
このような背景の下、例えば特許文献1には、物理ボリュームのアクセス頻度に応じて論理ボリュームを再構成する技術(第1の先行技術)が記載されている。また、特許文献2には、論理ディスク(論理ボリューム)を構成する物理ディスクのI/O競合頻度を検出し、論理ディスクの中でアクセス頻度が高い物理ディスクを他の論理ディスクへ再配置する技術(第2の先行技術)が記載されている。
特開2004−272324号公報 特許第3427763号公報
上述した第1及び第2の先行技術によれば、アクセス頻度(I/O競合頻度)に応じて物理ボリューム(物理ディスク)が再配置される。つまり、論理ボリュームと、その論理ボリュームを構成するアレイとの対応関係がアクセス頻度に応じて動的に管理される。
また近年は、ディスクアレイサブシステム内のアレイの全領域(物理記憶リソース)をある一定サイズの領域(エクステント)に区切り、それら1つ以上の組み合わせと論理ボリュームとの対応関係を動的に管理する技術(いわゆるディスクアレイサブシステムの仮想化技術)の必要性が高まり、実用化されてきている。この仮想化技術においては、エクステント間のデータコピーを行うことによって、データを保持したまま、データの物理的存在位置を変更することが可能となる。
そこで、上記第1または第2の先行技術を上述の仮想化技術に適用することが考えられる。例えば、エクステントに対応する単体HDDの領域(以下、エクステントチャンクと称する)を単位にアクセス頻度を検出し、各エクステントチャンクをアクセス頻度に応じてアレイをまたがって(または同一アレイ内で)再配置することが考えられる。
しかし、各エクステントチャンクをアクセス頻度に応じて再配置する手法は、HDDを有効利用するには、以下に述べる理由により必ずしも十分でない。
まず、HDDでは、同時に複数のアクセス要求(I/O要求)を処理できない。またHDDでは、複数の要求が異なるエクステントチャンクに対するものであっても、当該異なるエクステントチャンクに同時にアクセスすることはできない。このようなHDDの特性から、HDDでは、複数のエクステントチャンクに対して未完了のアクセス要求(I/O要求)が同時に存在する状態が発生する。このような状態は、HDD全体のアクセス頻度あるいはエクステントチャンクのアクセス頻度が低くても発生する。つまり、HDDの特性を考慮すると、アクセス頻度よりも、複数のエクステントチャンクに対する未完了のI/O要求が同時に存在する割合(以下、同時I/O存在率と称する)が重要である。
今、特定のエクステントチャンクのみにアクセスが集中しているために、HDD全体のアクセス頻度が高いHDDを想定する。このようなHDDは、同時I/O存在率が低く、アイドル状態となっている度合いが高い。このため、HDD内のアクセスが集中しているエクステントチャンクを再配置しても、当該HDD全体の利用効率を向上することは期待できない。
次に、HDD全体のアクセス頻度が高くても、同時に複数のエクステントチャンクに対するI/O要求が発生する頻度が低く、したがって複数のエクステントチャンクに対する未完了のI/O要求が同時に存在する割合(同時I/O存在率)が低いHDDを想定する。つまりHDDへのアクセスが時間的に分散している場合を想定する。このようなHDDでは、当該HDD内のアクセス頻度が高いエクステントチャンクを再配置しても、当該HDD全体の利用効率を向上することは期待できない。
本発明は上記事情を考慮してなされたものでその目的は、同時に複数のエクステントチャンクに対するI/O要求が発生する頻度に基づいてアレイ間でデータ再配置を行うことにより、アレイを構成するディスク装置の利用効率を高めることができるディスクアレイサブシステム及びプログラムを提供することにある。
本発明の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のエクステントの間でデータを再配置するアレイ間エクステントマイグレーションを実行するエクステントマイグレーション実行手段とを具備する。
ここで、前記算出手段が、前記第1の存在率を表す指標となる情報を取得するために、各アレイの代表ディスク装置のエクステントチャンク毎にカウンタ(第1のカウンタ)を設け、ある周期(例えば、一定時間周期、ランダム時間周期、或いは一定時間周期及びランダム周期の組み合わせで決まる周期)でエクステントチャンク毎に実行中I/O数をサンプリングして実行中I/O数をカウントし、実行中I/Oが複数のエクステントチャンクに同時に存在する場合、実行中I/Oが存在するエクステントチャンクに対応するカウンタを1インクリメントすると良い。この場合、前記算出手段は、エクステントチャンク毎のカウンタのカウンタ値をサンプル数で除した値を、当該エクステントチャンクを含む複数のエクステントチャンクに同時に実行中I/Oが存在する度合い、即ち第1の存在率として取得すれば良い。
また、前記算出手段が、前記第2の存在率を表す指標となる情報を取得するために、各アレイの代表ディスク装置毎にカウンタ(第2のカウンタ)を設け、前記ある周期で代表ディスク装置毎に実行中I/O数をサンプリングし、実行中I/Oが存在した代表ディスク装置に対応するカウンタを1インクリメントすると良い。この場合、前記算出手段は、代表ディスク装置毎のカウンタのカウント値をサンプル数で除した値を、代表ディスク装置に実行中I/Oが存在する度合い、即ち第2の存在率として取得すれば良い。
また、前記算出手段が、前記第3の存在率を表す指標となる情報を取得するために、各アレイの代表ディスク装置のエクステントチャンク毎にカウンタ(第3のカウンタ)を設け、前記ある周期でエクステントチャンク毎に実行中I/O数をサンプリングし、実行中I/Oが存在したエクステントチャンクに対応するカウンタを1インクリメントすると良い。この場合、前記算出手段は、エクステントチャンク毎のカウンタのカウント値をサンプル数で除した値を、エクステントチャンクに実行中I/Oが存在する度合い、即ち第3の存在率として取得すれば良い。
ここで、前記選択手段が、前記複数のアレイのうちデータ再配置の候補として予め定められたアレイグループに属するアレイの各々を構成するエクステントの中で、前記第1の存在率が最も高いエクステントチャンクが属するエクステントを前記第1のエクステントとして選択し、前記アレイグループに属するアレイの各々の代表ディスク装置のうちの、前記第2の存在率が最も低い代表ディスク装置に含まれるエクステントチャンクの中から、前記第3の存在率が最も低いエクステントチャンクを選択して、当該選択されたエクステントチャンクが属するエクステントを前記第2のエクステントとして選択すると良い。
また、前記選択手段が、前記エクステントマイグレーションの対象となる前記第1及び第2のエクステントを選択する条件として、つまり前記エクステントマイグレーション実行手段により次のエクステントマイグレーションが実行される条件として、次の4つの条件が全て成立とした場合とすると良い。この4つの条件とは、
1)前記エクステントマイグレーション実行手段によって最後に前記エクステントマイグレーションが実行されてからの経過時間が一定時間以上
2)前記アレイグループに属するアレイの代表ディスク装置の前記第2の存在率の最大値と最小値の差分が一定値以上
3)前記アレイグループに属するアレイの代表ディスク装置の前記第2の存在率の最小値が一定値以下
4)前記アレイグループに属するアレイの代表ディスク装置に含まれるエクステントチャンクの前記第1の存在率の最大値が一定値以上
である。
ここで、前記条件中の一定時間として、つまりエクステントマイグレーションの実行周期として、アレイグループに属するアレイの代表ディスク装置の前記第2の存在率の最大値と最小値の差分の関数を用い、差分が大きい場合にはエクステントマイグレーションの実行周期を短くすると良い。
また、前記選択手段が、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のエクステントの間でデータを再配置するアレイ内エクステントマイグレーションを実行するようにしても良い。
また、前述のアレイ内エクステントマイグレーションとは別のアレイ内エクステントマイグレーションの実現のために、前記選択手段が、前記複数のアレイのうちの任意のアレイを構成するエクステントを、前記第3の存在率が最も高いエクステントチャンクが属するエクステントから前記第3の存在率の降順に1つずつ第3のエクステントとして選択すると共に、当該選択された第3のエクステントとの間のアレイ内エクステントマイグレーションの対象となるエクステントを前記任意のアレイを構成するディスク装置の外周から内周方向に1つずつ第4のエクステントとして選択することによって、前記アレイ内エクステントマイグレーションの対象となる第3及び第4のエクステントの対を逐次選択し、前記第3及び第4のエクステントの対が選択される都度、前記エクステントマイグレーション実行手段が、前記選択された第3及び第4のエクステントの間でデータを再配置するアレイ内エクステントマイグレーションを実行する構成としても良い。
ここで、第3の存在率が同一の複数のエクステントチャンクが存在する場合には、当該複数のエクステントチャンクのうち、代表ディスク装置の外周から遠いエクステントチャンクが属するエクステントほど先に第3のエクステントとして選択されるようにすると良い。
上述のようにディスクアレイ装置が、アレイ間エクステントマイグレーションの機能に加えてアレイ内エクステントマイグレーションの機能を有していても良い。ここで、ディスクアレイ装置が、アレイ内エクステントマイグレーションの機能のみを有していても良い。
また、前記選択手段が、前記アレイ内エクステントマイグレーションの対象となる第3及び第4のエクステントの対を選択する条件として、つまり前記エクステントマイグレーション実行手段により次のアレイ内エクステントマイグレーションが実行される条件として、次の2つの条件が全て成立とした場合とすると良い。この2つの条件とは、
1)前記エクステントマイグレーション実行手段によって最後に前記アレイ内エクステントマイグレーションが実行されてからの経過時間が一定時間以上
2)前記アレイ内エクステントマイグレーションの候補となる1対のエクステントに含まれる1対のエクステントチャンクであって、当該1対のエクステントが属するアレイの代表ディスク装置に含まれる1対のエクステントチャンクの第3の存在率の差分が一定値以上
である。
ここで、前記アレイ内エクステントマイグレーションが実行される前記条件中の一定時間として、つまりアレイ内エクステントマイグレーションの実行周期として、アレイ内エクステントマイグレーションの候補となる1対のエクステントに対応する、代表ディスク装置に含まれる1対のエクステントチャンクの前記第3の存在率の差分の関数を用い、差分が大きい場合にはアレイ内エクステントマイグレーションの実行周期を短くすると良い。
また、アレイ間エクステントマイグレーション及びアレイ内エクステントマイグレーションの両機能を有するディスクアレイ装置では、前記エクステントマイグレーション実行手段が、前記アレイ間のエクステントマイグレーションを実行し、しかる後に当該アレイ間のエクステントマイグレーションの対象となったアレイの各々を対象に、前記アレイ内のエクステントマイグレーションを実行すると良い。
更に、ネットワークにより接続された複数のディスクアレイ装置を有するディスクアレイサブシステムでは、当該複数のディスクアレイ装置の前記エクステントマイグレーション実行手段が、当該ディスク装置内で前記アレイ間のエクステントマイグレーションを実行した後、前記複数のディスクアレイ装置の間で前記アレイ間のエクステントマイグレーションを実行し、しかる後に当該アレイ間のエクステントマイグレーションの対象となったアレイの各々を対象に、前記アレイ内のエクステントマイグレーションを実行すると良い。
本発明によれば、ディスク装置内の複数のエクステントチャンクに対するI/O要求が同時に発生する度合い(第1の存在率)に基づいてアレイ間でデータ再配置を行うことにより、当該ディスク装置内で複数のエクステントチャンクに対するI/O要求が同時に発生する度合いを下げて、当該ディスク装置内での同時I/O要求数を減らすことが可能となり、これによりディスクアレイサブシステムの性能向上を実現できる。
以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係るディスクアレイサブシステム1の構成を示すブロック図である。このディスクアレイサブシステム1は、少なくとも1台のディスクアレイ装置、例えば2台のディスクアレイ装置10-1及び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)を用いて構成される。
ディスクアレイ装置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)を有しているものとする。
アレイ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番号)が割り当てられる。
ディスクアレイ装置10-1は、ホスト装置20からの要求に応じてアレイ11-1〜11-3へのアクセスを制御するアレイコントローラ12-1を有する。ディスクアレイ装置10-2は、ホスト装置20からの要求に応じてアレイ11-A〜11-Cへのアクセスを制御するアレイコントローラ12-2を有する。アレイコントローラ12-1及び12-2は、ネットワーク31を介してホスト装置20と接続されている。
アレイコントローラ12-1及び12-2は、それぞれ、アレイ11-1〜11-3及び11-A〜11-Cの全領域を、ある一定サイズの物理エクステントに区切って(分割して)管理する。アレイコントローラ12-1及び12-2は、1つ以上の物理エクステント(例えば複数の物理エクステント)を用いることによってホスト装置20から認識(アクセス)される論理ボリューム(論理ディスク)を構成する。即ちアレイコントローラ12-1及び12-2は、論理ボリュームを構成する論理エクステントを、その論理エクステントと同数の物理エクステントに割り付ける。
論理エクステントと物理エクステントとの対応付けはマッピングテーブルによって管理される。例えば、論理エクステントLE1に対応付けられる物理エクステントを物理エクステントPE1から物理エクステントPE2に変更する場合、マッピングテーブルにおけるLE1とPE1との対応を表すマッピング情報が、LE1とPE2との対応を表すマッピング情報に更新される。このような論理エクステントと物理エクステントとの対応付けを管理する手法は従来から良く知られている。このため以下では、論理エクステントに対応付けられる物理エクステントの変更についての説明は省略する。また、以下では物理エクステントについて述べ、物理エクステントと論理エクステントとを区別する必要がある場合を除き、物理エクステントを単にエクステントと表現する。
エクステントのうち、各HDD110に対応する(属する)領域をエクステントチャンクと呼ぶ。図2は、エクステントとエクステントチャンクとの関係をアレイ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である。
各アレイ11-iの実質的なデータ容量は、当該アレイ11-iがRAID5を適用することから、HDD5台分の容量となる。この場合、エクステントチャンクサイズは1GB/5=0.2GBとなる。したがって、HDD1台当たりのエクステントチャンク総数(アレイ当たりのエクステント総数)は、300GB/0.2GB=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をまたがって再配置する。このようなエクステントの入れ替えによるデータの再配置をエクステントマイグレーションと呼ぶ。
ここで、本実施形態で適用される特別の用語について説明する。本実施形態では、代表HDD、実行中I/O、同時I/O存在率、HDDI/O存在率及びエクステントチャンクI/O存在率が定義されている。
<代表HDD>
代表HDDは、アレイ11-i(i=1,2,3,A,B,C)を構成する6台のHDD110のうちの特定の1つを指す。ここでは、アレイ11-iを構成するHDD110のうちHDD番号が最も小さいHDDが代表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キューバッファ)にキューリストとして保持され、当該要求の指定するアクセスが完了すると当該キューから削除される。
<同時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に選ぶと良い。
<エクステントチャンクI/O存在率>
エクステントチャンクI/O存在率(第3の存在率)は、代表HDD110内のエクステントチャンク毎に算出される、当該エクステントチャンクに実行中I/O(少なくとも1つの実行中I/O)が存在する度合いを指す。
<HDDI/O存在率>
HDDI/O存在率(第2の存在率)は、代表HDD110毎に算出される、当該代表HDD110に実行中I/O(少なくとも1つの実行中I/O)が存在する度合いを指す。
アレイコントローラ12-1及び12-2は、上述のエクステントマイグレーションを、次に述べる第1のアレイの第1のエクステント及び第2のアレイの第2のエクステントの間で行う。
第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存在率が最も低いエクステントチャンク)が属するエクステントを指す。
本実施形態において、アレイコントローラ12-1及び12-2は同一の構成を有している。そこで、アレイコントローラ12-1及び12-2の構成について、アレイコントローラ12-j(j=1,2)で代表させて説明する。
図3は、アレイコントローラ12-jの構成を示すブロック図である。必要ならば、以下の説明においてアレイコントローラ12-jをアレイコントローラ12-1または12-2に適宜読み替えられたい。
アレイコントローラ12-jは、ホストドライバ121と、ホストマネージャ122と、キャッシュ123と、キャッシュコントローラ124と、RAIDマネージャ125と、HDDドライバ126と、メモリ127とから構成される。
ホストドライバ121は、ホスト装置20との間でデータ・コマンドを入出力する。ホストマネージャ122は、ホスト装置20によって認識される論理ボリュームを提供するアレイ(図1ではアレイ11-1〜11-3またはアレイ11-A〜11-C)を管理する。キャッシュ123は、ホスト装置20とアレイとの間で入出力されるデータを一時格納する。キャッシュコントローラ124は、キャッシュ123に対するアクセスを制御する。
RAIDマネージャ125は、ホスト装置20によって認識される論理ボリュームを提供するアレイとエクステントとの対応関係、及びエクステントとHDD110内のエクステントチャンクとの対応関係を管理する。RAIDマネージャ125は、同時I/O存在率、HDDI/O存在率及びエクステントチャンクI/O存在率を算出する機能と、これらの存在率に基づいて上述のエクステントマイグレーションを実行する機能とを有する。
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の数を表す。
メモリ127は、上述のN1及びN2を計測するためのカウンタ(N1カウンタ及びN2カウンタ)を含む種々のカウンタ(のカウント値)を保持する。これらのカウンタはソフトウェアカウンタである。
本実施形態において、ホストドライバ121、ホストマネージャ122、キャッシュコントローラ124、RAIDマネージャ125及びHDDドライバ126は、アレイコントローラ12-jが、所定のプログラムを記憶媒体から読み込んで実行することにより実現される。この記憶媒体は、例えば、HDDに搭載されている磁気ディスク媒体、光ディスクドライブに装着して用いられる光ディスク媒体、或いはROMである。また、上記プログラムが例えばネットワーク31を介してアレイコントローラ12-jにダウンロードされても構わない。
次に、例えばアレイコントローラ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存在率が高いエクステントチャンクとして扱われる。このようなエクステントチャンクはレスポンスが良くない。
一方、代表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)内のエクステントチャンクの中で最も低いものとする。
アレイコントローラ12-1(内のRAIDマネージャ125)は、エクステントチャンク41〜43のうちのいずれか、例えばエクステントチャンク41が属するアレイ11-1(#1)内のエクステント(第1のエクステント)と、エクステントチャンク44が属するアレイ11-2(#2)内のエクステント(第2のエクステント)との間でエクステントマイグレーション(アレイ間エクステントマイグレーション)45を行う。
このエクステントマイグレーション45により、代表HDD110(#1)内の(同時I/O存在率が高い)エクステントチャンク41のデータD1は、(HDDI/O存在率が低い)代表HDD110(#2)内の(エクステントチャンクI/O存在率が最も低い)エクステントチャンク44に、エクステントチャンク44のデータD2はエクステントチャンク41に、それぞれ再配置される。このエクステントマイグレーション45では、エクステントチャンク41が属するエクステント(第1のエクステント)に含まれている他のエクステントチャンクのデータが、エクステントチャンク44が属するエクステント(第2のエクステント)に含まれている他のエクステントチャンクに、第2のエクステントに含まれている他のエクステントチャンクのデータが第1のエクステントに含まれている他のエクステントチャンクに、それぞれ再配置される。
つまり、エクステントマイグレーション45では、上述の第1のエクステントのデータが第2のエクステントに、第2のエクステントのデータが第1のエクステントに再配置される。ここで、第1及び第2のエクステント(物理エクステント)が、エクステントマイグレーション45の実行前に、それぞれ第1及び第2の論理エクステントと対応付けられているものとする。この場合、エクステントマイグレーション45の実行に伴い、前述のマッピングテーブルが更新されて、第1及び第2のエクステント(物理エクステント)が、それぞれ第2及び第1の論理エクステントと対応付けられる。このエクステントマイグレーションの実行に伴うマッピングテーブルの更新(マッピングの変更)自体は従来から良く知られているため、以下の新たなエクステントマイグレーションに関する説明では省略する。
エクステントマイグレーション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の性能を可能な限り活用することができる。
以下、上述のエクステントマイグレーションを更に具体的に説明する。
図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以上となる場合、レスポンスは低下する傾向にある。
一方、アレイ11-2(#2)を構成するHDD110(代表HDD110(#2))のHDDI/O存在率は低い。このようなアレイ11-2(#2)が存在する場合、そのアレイ11-2(#2)を構成するHDD110はアイドル状態となっている割合が高い。つまり、アレイ11-2(#2)を構成するHDD110の性能を十分に活用できていない。
本実施形態では、上述した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の性能を可能な限り活用することができる。
次に、エクステントマイグレーションの対象となるエクステントを決定するのに、エクステントチャンクのアクセス頻度ではなくて同時I/O存在率を用いる理由について図5を参照して説明する。図5は、エクステントマイグレーションで性能向上が期待できないHDD110のアクセスパターン例を、アレイ11-iの代表HDD110について示す。
図5(a)の例は、代表HDD110内のある1つのエクステントチャンク51のみにアクセス(アクセス要求)が集中している場合を想定している。つまり、アレイ11-iにおいて、ある1つのエクステントのみにアクセスが集中しているものとする。
図5(a)の代表HDD110では、エクステントチャンク51以外のエクステントチャンクへのアクセスは殆ど発生しない。つまり図5(a)の代表HDD110は、エクステントチャンク51のみに対するアクセスの集中によってアクセス頻度が高くても、アイドル状態となっている度合いが高い。このため、エクステントチャンク51が属するエクステント(のデータ)を再配置しても、アレイ11-iを構成するHDD110のアクセス頻度は下げられるものの、利用効率を向上することは期待できない。
図5(b)の例は、代表HDD110において、アクセス頻度は高いものの、同時に複数のエクステントチャンク(ここではエクステントチャンク52及び53)にアクセスが発生することが少ない場合を想定している。つまり、アレイ11-iはアクセス頻度が高く高負荷であっても、同時に複数のエクステントに対してアクセスが発生することが少ないものとする。このような例として、エクステントチャンク52が属するエクステントとエクステントチャンク53が属するエクステントとが交互にアクセスされる場合が挙げられる。
図5(b)の代表HDD110では、エクステントチャンク52及び53へのアクセスは時間的に分散している。したがって、エクステントチャンク52または53が属するエクステントを再配置(分散)しても、アレイ11-iを構成するHDD110のアクセス頻度は下げられるものの、利用効率を向上することは期待できない。
以上の点を考慮して、本実施形態では、エクステントマイグレーションの対象となる高負荷アレイと当該アレイ内のエクステント(第1のエクステント)の判定に、代表HDDのエクステントチャンクに関する同時I/O存在率が用いられる。
また本実施形態では、エクステントマイグレーションの相手となるアレイ内のエクステント(第2のエクステント)として、HDDI/O存在率が低い別のアレイ(第2のアレイ)の、代表HDD内でエクステントチャンクI/O存在度合いが最も低いエクステントチャンクが属するエクステントが用いられる。このようなエクステントがエクステントマイグレーションの相手となるアレイの低負荷エクステントとして用いられる2つの理由について説明する。
まず第1の理由について説明する。、HDDI/O存在率が低いHDD110(代表HDD110)はアイドル率が高い。このため、このようなHDD110によって構成されるアレイを、同時I/O存在率の高いエクステントとの間のエクステントマイグレーションの相手(引受先)となる第2のアレイとして選択的に利用することによって、当該HDD110の稼働率を上げ、当該HDD110の性能を活用できる。
次に第2の理由について説明する。まず、第1の理由に基づいて選択された第2のアレイ内のエクステントのうち、代表HDD内でエクステントチャンクI/O存在率が最も低いエクステントチャンクが属するエクステントが、第1のアレイ内の第1のエクステントとの間のエクステントマイグレーションの相手となる第2のエクステント(低負荷エクステント)として用いられるものとする。この場合、エクステントマイグレーション実行後の、第1のアレイ(負荷を減らしたいアレイ)に実行中I/Oが存在する度合いをできるだけ増加させないようにできる。
次に本実施形態において、代表HDD110内の複数のエクステントチャンクに実行中I/Oが同時に存在する度合い(同時I/O存在率)を表す指標となる情報を取得する手法について、図6を参照して説明する。
図6(a)は、アレイ11-iの代表HDD110の記憶領域が複数のエクステントチャンク0(EC-0),1(EC-1),2(EC-2),…に分割して管理されることを示す。
図6(b)は、あるサンプル周期(サンプリング周期)毎にサンプリングされる代表HDD110の各エクステントチャンクに存在する実行中I/O数(つまり未完了の実行中I/O数)の一例を示す。図6(b)はまた、代表HDD110のエクステントチャンク毎の同時I/O存在率を算出するのに用いられるカウンタ(同時I/O存在率算出用カウンタ、第1のカウンタ)61-0,61-1,61-2,…のカウント値の変化例を、同時I/O存在率(X)と対応付けて示す。サンプル周期には、一定時間周期、ランダム時間周期、或いは一定時間周期及びランダム周期の組み合わせで決まる周期を用いることができる。
カウンタ61-0,61-1,61-2,…は、アレイコントローラ12-j(j=1,2)のメモリ127内に、各アレイ11-iの代表HDD110のエクステントチャンク毎に、つまりエクステントチャンク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)される。
アレイコントローラ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)する。
図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となった様子が示されている。
同様に図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となった様子が示されている。
アレイコントローラ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のエクステントチャンクである。
次に本実施形態において、アレイ11-iの代表HDD110に実行中I/Oが存在する度合い(HDDI/O存在率)を表す指標となる情報を取得する手法について、図7を参照して説明する。ここでは、図6(a)に示されているように、アレイ11-iの代表HDD110の記憶領域がエクステントチャンク0(EC-0),1(EC-1),2(EC-2),…に分割して管理されるものとする。
図7は、あるサンプル周期毎にサンプリングされる代表HDD110の各エクステントチャンクに存在する実行中I/O数の一例を、I/O存在カウンタ(第2のカウンタ)70のカウント値の変化例と対応付けて示す。I/O存在カウンタ70は、アレイコントローラ12-j(j=1,2)のメモリ127内に、各アレイ11-iの代表HDD110毎に設けられる。
アレイコントローラ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される。
アレイコントローラ12-j(内のRAIDマネージャ125)は、I/O存在カウンタ70のカウント値をサンプル数(サンプリング回数)で除した値を、代表HDD110に実行中I/Oが存在する度合い(HDDI/O存在率)として算出する。図7の例(5回のサンプリングの例)では、代表HDD110のHDDI/O存在率として、3/5が算出される。
次に本実施形態において、アレイ11-iの代表HDD110に含まれている各エクステントチャンクに実行中I/Oが存在する度合い(エクステントチャンクI/O存在率)を表す指標となる情報を取得する手法について、図8を参照して説明する。ここでは、図6(a)に示されているように、アレイ11-iの代表HDD110の記憶領域がエクステントチャンク0(EC-0),1(EC-1),2(EC-2),…に分割して管理されるものとする。
図8は、あるサンプル周期毎にサンプリングされる代表HDD110の各エクステントチャンクに存在する実行中I/O数の一例を示す。図8はまた、代表HDD110のエクステントチャンク毎のエクステントチャンクI/O存在率を算出するのに用いられるカウンタ(エクステントチャンクI/O存在率算出用カウンタ、第3のカウンタ)81-0,81-1,81-2,…のカウント値の変化例を、エクステントチャンクI/O存在率(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),…に対応付けて設けられる。
アレイコントローラ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)する。
図8の例では、第0サンプル周期で、エクステントチャンク0(EC-0)に実行中I/Oが存在した結果、矢印82で示されるように、カウンタ81-0が+1されて、カウント値が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となった様子が示されている。
同様に、図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となった様子が示されている。
アレイコントローラ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)として取得する。
次に本実施形態で適用される、アレイ間のエクステントマイグレーション(によるエクステント再配置)を実行する条件について説明する。
本実施形態において、アレイコントローラ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存在率)の最大値が一定値以上
の全てが成立した場合にエクステント再配置を実行する。
以上の条件を設定した理由は次の通りである。まず、エクステントマイグレーションは、ディスクアレイサブシステム(ストレージシステム)内部のHDD I/Oを伴う。このため、エクステントマイグレーションを実行している間、ディスクアレイサブシステムとしての性能が低下する可能性がある。このディスクアレイサブシステムとしての性能低下を極力防止するには、不必要なエクステントマイグレーションを避ければ良い。そこで本実施形態では、上記1)〜4)の条件によって、あまり効果が期待できない不必要なエクステントマイグレーションを避けるようにしている。これにより、安定した自律データ再配置が可能となる。
ここで、条件1)における「一定時間」、即ちエクステント再配置の実行周期として、RAIDグループに属するアレイの代表HDD110のHDDI/O存在率の最大値と最小値の差分Δに応じて実行周期Tを一意に決定する関数f(Δ)を用い、差分が一定レベル以上大きい場合にはエクステント再配置の周期を短くすると良い。このようにすると、効率良く性能向上を図ることができる。関数f(Δ)としては、例えばΔが一定レベル未満ではf(Δ)が第1の実行周期T1を示し、Δが一定レベル以上ではf(Δ)が第1の実行周期T1より短い第2の実行周期T2を示すものを用いれば良い。また、Δが一定レベル以上では、当該Δが大きくなるほど短くなるように決定される関数f(Δ)を用いることも可能である。
次に、上述の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,…のカウント値に基づいて算出される。
カウンタ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存在サンプル数)を表す。
カウンタ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存在サンプル数)を表す。
カウンタ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存在サンプル数)を表す。
次に、HDDI/O存在率、エクステントチャンクI/O存在率及び同時I/O存在率をそれぞれ算出するのに用いられる、HDDI/O存在サンプル数P[AID]、エクステントチャンクI/O存在サンプル数Q[AID][EID]及び同時I/O存在サンプル数R[AID][EID]の収集の詳細について説明する。
図9はアレイコントローラ12-j(j=1,2)内のRAIDマネージャ125の主要な構成を当該アレイコントローラ12-j内の他の要素と関連付けて示すブロック図である。RAIDマネージャ125は、I/O統計情報収集モジュール125a、エクステントマイグレーション実行モジュール125b及び自律最適化制御エンジン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]をカウントする。
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]をカウントする。
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]を算出する。
エクステントマイグレーション実行モジュール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グループの最適化(自律最適化)のための制御を行う。
次に、I/O統計情報収集モジュール125aによって実行される、HDDI/O存在サンプル数P[AID]、エクステントチャンクI/O存在サンプル数Q[AID][EID]及び同時I/O存在サンプル数R[AID][EID]を収集する処理の1サンプル(サンプル周期)における手順について、図10のフローチャートを参照して説明する。
まずモジュール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に設定される。
モジュール125aは、サンプル周期毎に、例えば各サンプル周期の終端が到来するタイミングで、アレイ管理番号AIDを初期値0に設定する(ステップS1)。そしてモジュール125aは、HDDドライバ126によって計測されている、アレイ管理番号がAIDのアレイの代表HDD110における現サンプル周期の未完了I/O数(HDDI/O数)N1をサンプリングする(ステップ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に設けられる。
モジュール125aは、HDDドライバ126によって計測されている、アレイ管理番号がAIDのアレイの代表HDD110における、アレイ内エクステント管理番号がEIDのエクステントに属するエクステントチャンクに対応する現サンプル周期の未完了I/O数(エクステントチャンクI/O数)N2をサンプリングする(ステップS7)。以下の説明では、煩雑な表現を避けるために、EIDのエクステントチャンクまたはEIDで示されるエクステントチャンクと表現する。
次にモジュール125aは、サンプリングされたエクステントチャンクI/O数N2が0より大きいかを判定する(ステップS8)。もし、エクステントチャンクI/O数N2が0より大きいならば、モジュール125aはQ[AID][EID]を1インクリメントすると共に(ステップS9)、CNTを1インクリメントする(ステップS10)。
次にモジュール125aは、インクリメント後のCNTの値が1より大きいかを判定する(ステップS11)。この判定は、AIDで示される現アレイ内の複数のエクステントチャンクでエクステントチャンクI/O数N2が0より大きいと判定されたかをチェックすることと等価である。
CNTの値が1より大きくない場合(ステップS11)、つまりCNTの値が1の場合、モジュール125aはAID及びEIDで示される現アレイのエクステントチャンクが、当該現アレイ内でN2>0であると初めて判定されたエクステントチャンクであることを認識する。この場合、モジュール125aは現EIDを特別のEID(以下、EIDxと表現する)としてメモリ127に格納する(ステップS12)。そしてモジュール125aは、EIDを1インクリメントする(ステップ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)。
一方、CNTの値が2でない場合(ステップS14)、つまりCNTの値が2より大きい場合、モジュール125aはAID及びEIDで示される現アレイのエクステントチャンクが、当該現アレイ内でN2>0であると3番目以降に判定されたエクステントチャンクであることを認識する。この場合、モジュール125aは、R[AID][EID]を1インクリメントする(ステップS16)。そしてモジュール125aは、EIDを1インクリメントする(ステップS13)。
モジュール125aはステップS13を実行すると、インクリメント後のEIDがMaxEID以下であるかを判定する(ステップS17)。もし、EIDがMaxEID以下であるならば、モジュール125aは上記ステップS7に戻る。これに対し、EIDがMaxEID以下でないならば、即ちEIDがMaxEIDを超えたならば、モジュール125aはAIDで示されるアレイの全てのエクステントについて処理をし終えたものと判定する。この場合、モジュール125aはAIDを1インクリメントする(ステップS18)。
またモジュール125aは、サンプリングされたHDDI/O数N1が0より大きくない場合(ステップS3)、つまりN1=0の場合には、当該ステップS3からステップS18に進んで、AIDを1インクリメントする。
モジュール125aはステップS18を実行すると、インクリメント後のAIDがMaxAID以下であるかを判定する(ステップS19)。もし、AIDがMaxAID以下であるならば、モジュール125aは上記ステップS2に戻る。これに対し、AIDがMaxAID以下でないならば、即ちAIDがMaxAIDを超えたならば、モジュール125aは現サンプル周期での収集処理を終了する。
モジュール125aは、上述のようにして収集されたP[AID]、Q[AID][EID]及びR[AID][EID]を、これらを収集するのに用いられたサンプル数(サンプル周期数)で除する。これによりモジュール125aは、HDDI/O存在率Pr[AID]、エクステントチャンクI/O存在率Qr[AID][EID]及び同時I/O存在率Rr[AID][EID]を取得する。
[第1の変形例]
次に上記実施形態の第1の変形例について図11を参照して説明する。この第1の変形例の特徴は、エクステントマイグレーションの対象となる第1のアレイ及び第1のエクステントと、エクステントマイグレーションの相手となる第2のアレイ及び第2のエクステントとを選択する条件が上記実施形態と一部異なる点にある。
まず、アレイ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のエクステントが属するアレイが用いられる。
図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である。
第2のアレイには、アレイ11-1(#1)〜11-3(#3)の代表HDD110(#1)〜110(#3)の中で、HDDI/O存在率が最も低い代表HDD110を含むアレイ(つまりHDD活用率が最低のアレイ)が用いられる。第2のエクステントには、上述の第2のアレイ内のエクステントのうち、当該第2のアレイの代表HDD110においてエクステントチャンクI/O存在率が最も低いエクステントチャンクが属するエクステントが用いられる。
図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である。
このような条件を満たす、第1のアレイ11-1(#1)内の第1のエクステント114と第2のアレイ11-2(#2)の第2のエクステント116との間でエクステントマイグレーション117を行うことにより、上記実施形態に比べてより効果的にストレージシステムの最適化を行うことができる。
[第2の変形例]
次に上記実施形態の第2の変形例について説明する。第2の変形例の特徴は、HDD110の性能向上のために、上記実施形態と異なって、アレイ内エクステントマイグレーションが行われる点にある。以下、このアレイ内エクステントマイグレーションについて図12を参照して説明する。
図12において、アレイ11-iの代表HDD110にエクステントチャンク131及び132が含まれている。エクステントチャンク131及び132には、それぞれ、データD1及びD2が格納されている。ここでは、エクステントチャンク131及び132は、共に実行中I/Oが存在する度合い(エクステントチャンクI/O存在率)が一定レベルよりも高いものとする。この場合、代表HDD110において、エクステントチャンク131からエクステントチャンク132に、またはその逆の方向にヘッドを移動するシーク動作が発生する度合いは高い。
ところが、エクステントチャンク131及び132間が代表HDD110のディスク媒体上で物理的に離れているために、エクステントチャンク131及び132間のシーク動作でヘッドが移動する距離(シーク距離)が長く、したがってシーク動作に要する時間(シーク時間)も長いものとする。このような状態では、HDD110の性能は、頻繁に発生するエクステントチャンク131及び132間のシーク動作により低下する。
そこでアレイコントローラ12-j(内のRAIDマネージャ125)は、エクステントチャンクI/O存在率が高いエクステントチャンク131及び132の一方が属するエクステント、例えばエクステントチャンク132が属するエクステントをアレイ内エクステントマイグレーションの対象として選択する。またアレイコントローラ12-j(内のRAIDマネージャ125)は、エクステントチャンク131及び132のうちの他方のエクステントチャンク131の近傍の、例えばエクステントチャンク131に隣接する、当該エクステントチャンク132よりもエクステントチャンクI/O存在率が低いエクステントチャンク133が属するエクステントを、エクステントチャンク132が属するエクステントとの間のアレイ内エクステントマイグレーションの対象として選択する。
ここで、エクステントチャンク131及び133(が属するエクステント)相互の代表HDD110(アレイ11-i)内の位置は、エクステントチャンク131及び132(が属するエクステント)相互の代表HDD110(アレイ11-i)内の位置よりも近くなっていることに注意されたい。
アレイコントローラ12-j(内のRAIDマネージャ125)は、選択された1対のエクステント、即ちエクステントチャンク132が属するエクステントと、(エクステントチャンク131に隣接する)エクステントチャンク133が属するエクステントとの間で、アレイ内エクステントマイグレーション134を行う。
アレイ内エクステントマイグレーション134によるデータ再配置135の結果、代表HDD110内のエクステントチャンク132のデータD2は、当該代表HDD110内のエクステントチャンク133に再配置される。このエクステントマイグレーション134では、エクステントチャンク132が属するエクステント(第3のエクステント)に含まれている他のエクステントチャンクのデータが、エクステントチャンク133が属するエクステント(第4のエクステント)に含まれている他のエクステントチャンクに再配置される。
第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での性能が向上する。
次に、第2の変形例で適用される、アレイ内エクステントマイグレーション(によるエクステント再配置)を実行する条件について説明する。
本変形例において、アレイコントローラ12-j(内のRAIDマネージャ125)は、次の2つの条件
1)最後にエクステント再配置してからの経過時間が一定時間以上
2)アレイ内エクステントマイグレーションの候補となる1対のエクステントに含まれる1対のエクステントチャンクであって、当該1対のエクステントが属するアレイの代表HDDに含まれる1対のエクステントチャンクのエクステントチャンクI/O存在率の差分が一定値以上
の全てが成立した場合にエクステント再配置を実行する。
ここで、条件1)における「一定時間」、即ちエクステント再配置の実行周期として、上述のエクステントチャンクI/O存在率の差分Δに応じて実行周期Tを一意に決定する関数f(Δ)を用い、差分が一定レベル以上大きい場合にはエクステント再配置の周期を短くすると良い。このようにすると、効率良く性能向上を図ることができる。関数f(Δ)としては、例えばΔが一定レベル未満ではf(Δ)が第1の実行周期T1を示し、Δが一定レベル以上ではf(Δ)が第1の実行周期T1より短い第2の実行周期T2を示すものを用いれば良い。また、Δが一定レベル以上では、当該Δが大きくなるほど短くなるように決定される関数f(Δ)を用いることも可能である。
上述のように、アレイ内エクステントマイグレーションは行われるものの、アレイ間エクステントマイグレーションは行われない第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]を収集するだけで良い。
このHDDI/O存在サンプル数P[AID]及びエクステントチャンクI/O存在サンプル数Q[AID][EID]を収集する処理の1サンプル(サンプル周期)における手順を図13に示す。図13において、図10と同様の部分には同一符号を付してある。
なお、上記第2の変形例では、アレイ11-iの代表HDD110内でエクステントチャンクI/O存在率が一定レベルよりも高いエクステントチャンクの個数Nが2である場合を前提としている。しかし、Nが3以上の場合にも同様に適用できる。即ち、N個のエクステントチャンクが属するN個のエクステントのうちのN−1個のエクステントと、残りの1個のエクステントチャンクの近傍のN−1個のエクステントチャンクとの間で、それぞれアレイ内エクステントマイグレーションを行えば良い。また、次の第3の変形例のように、エクステントチャンクI/O存在率が高いN個のエクステントチャンクが属するN個のエクステントの全てをアレイ内エクステントマイグレーションの対象とすることも可能である。
[第3の変形例]
次に上記実施形態の第3の変形例について図14を参照して説明する。第3の変形例の第1の特徴は、アレイ11-iの代表HDD110においてエクステントチャンクI/O存在率が高い複数のエクステントチャンクがそれぞれ属するエクステントを対象として、当該複数のエクステントチャンク間のシーク距離が等価的により短くなるようにアレイ内エクステントマイグレーションが行われる点にある。第3の変形例の第2の特徴は、アレイ内エクステントマイグレーションの対象となる各エクステント(内の複数のエクステントチャンク)が、当該エクステントに含まれている代表HDD110内のエクステントチャンクのエクステントチャンクI/O存在率の降順に、アレイ11-iを構成する各HDD110(に搭載されているディスク媒体)の外周から順に再配置される点にある。一般にHDD110では、ディスク媒体の外周側ほど、論理ブロックアドレス(Logical Block Address: LBA)が小さくなる。
図14において、アレイ11-iの代表HDD110に含まれているエクステントチャンク141及び142は、それぞれエクステントチャンクI/O存在率が代表HDD110内で第1位及び第2位であるものとする。
アレイコントローラ12-j(内のRAIDマネージャ125)は、まずアレイ11-iの代表HDD110内でエクステントチャンクI/O存在率が第1位のエクステントチャンク141が属するエクステントと、代表HDD110内(に搭載されているディスク媒体)の最外周に位置するエクステントチャンク143が属するエクステントとの間で、アレイ内エクステントマイグレーション145を行う。
次にアレイコントローラ12-j(内のRAIDマネージャ125)は、代表HDD110内でエクステントチャンクI/O存在率が第2位のエクステントチャンク142が属するエクステントと、代表HDD110内のエクステントチャンク143に隣接し、且つ当該エクステントチャンク143よりも代表HDD110の内周側に位置するエクステントチャンク144が属するエクステントとの間で、アレイ内エクステントマイグレーション146を行う。
このようなアレイ内エクステントマイグレーション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)に再配置される。
第3の変形例においては、アレイ内エクステントマイグレーション145及び146により、等価的に、エクステントチャンクI/O存在率が上位のエクステントチャンク141及び142間のシーク距離が短くなり、エクステントチャンク141及び142間のシーク時間を短縮することができる。このことは、エクステントチャンク141及び142がそれぞれ属するエクステントに含まれている他のエクステントチャンクについても同様である。しかも第3の変形例においては、エクステントチャンクI/O存在率がより高いエクステントチャンクほど、HDD110に搭載されているディスク媒体の外周側に再配置される。一般にHDD110に搭載されているディスク媒体は、外周側ほどトラック当たりのセクタ数が多く、したがって性能が高くなる。このため第3の変形例においては、上述のアレイ内エクステントマイグレーションにより、HDD110のI/O性能をより一層向上できる。
次に、アレイ11-iの代表HDD110内でエクステントチャンクI/O存在率が上位のエクステントチャンク群の中に、当該I/O存在率が等しい複数のエクステントチャンクが存在する場合について、図15を参照して説明する。
図15において、エクステントチャンク151及び152は、エクステントチャンクI/O存在率が代表HDD110内で等しく、例えば共に第1位であるものとする。また、エクステントチャンク151及び152のうち、エクステントチャンク151の方が代表HDD110の外周側に配置されているものとする。更に、アレイ11-iを構成するエクステント(内のエクステントチャンク)は、エクステント番号が小さいエクステントほど、HDD110の外周側に物理的に配置されるものとする。
アレイコントローラ12-j(内のRAIDマネージャ125)は、エクステントチャンクI/O存在率が等しい複数のエクステントチャンクの各々が属するエクステントがアレイ内エクステントマイグレーションの対象に含まれている場合、これらのエクステントのアレイ内エクステントマイグレーションを次のような順序で実行する。即ちアレイコントローラ12-j(内のRAIDマネージャ125)は、エクステント番号が大きいエクステント(HDD110の外周からより離れているエクステント)ほど優先的にアレイ内エクステントマイグレーションを行う。
図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性能の一層の向上が可能となる。
第3の変形例においても、第2の変形例と同様に、図13のフローチャートに従って、HDDI/O存在サンプル数P[AID]及びエクステントチャンクI/O存在サンプル数Q[AID][EID]を収集する処理が行われる。
次に、第3の変形例におけるアレイ内エクステントマイグレーションについて、図16を参照して更に詳細に説明する。図16においてアレイ11-iは複数のHDD110(例えば前記実施形態と同様に6台のHDD110)から構成されている。アレイ11-iの記憶領域は複数のエクステント(例えば前記実施形態と同様に1500個のエクステント)に分割して管理される。ここでは、複数のエクステントに対して、HDD110の外周側からEIDが0,1,…の順に割り当てられている。
第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]
となる。
今、アレイ内エクステントマイグレーションの実行対象となるエクステントの対(エクステントマイグレーション実行ペア)が、図16に示されるように第3のエクステント161及び第4のエクステント162であるものとする。第3のエクステント161及び第4のエクステント162は次のように定義される。
まず、第4のエクステント162は、代表HDD110(に搭載されているディスク媒体)の外周からk番目のエクステントチャンクが属するエクステント(つまりEID=kのエクステント)である。第3のエクステント161は、代表HDD110内のk番目に大きいエクステントチャンクI/O存在率Qr[AID][Xk]のエクステントチャンクが属するエクステント(EID=Xkのエクステント)である。
第3のエクステント161と第4のエクステント162との間でアレイ内エクステントマイグレーションが実行される条件(エクステントマイグレーション実行条件)は、前記第2の変形例で挙げた条件から明らかなように、
1)最後にエクステント再配置してからの経過時間が一定時間以上
2)第3及び第4のエクステントが属するアレイの代表HDDにおけるエクステントチャンクのエクステントチャンクI/O存在率Qr[AID][Xk]及びQr[AID][k]の差分(Qr[AID][Xk]−Qr[AID][k])が一定値以上
である。
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]の降順に選択されることにより逐次行われる。
[第4の変形例]
次に上記実施形態の第4の変形例について図17を参照して説明する。第4の変形例の特徴は、上記実施形態または第1の変形例で適用されたアレイ間のエクステントマイグレーションと、上記第2または第3の変形例で適用されたアレイ内のエクステントマイグレーションとを組み合わせた点にある。
例えばアレイコントローラ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存在率を一定レベルまで均等化する。
次にアレイコントローラ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のシーク時間短縮を図る。
[第5の変形例]
次に上記実施形態の第5の変形例について図18及び図19を参照して説明する。第5の変形例の特徴は、上記実施形態または第1の変形例で適用されたアレイ間のエクステントマイグレーションを、異なるディスクアレイ装置間に適用した点にある。
アレイコントローラ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存在率を一定レベルまで均等化する。
一方、アレイコントローラ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存在率を一定レベルまで均等化する。
このように第1のステップでは、ディスクアレイ装置10-1及び10-2において、それぞれアレイ間のエクステントマイグレーション181-1及び181-2が行われ、当該ディスクアレイ装置10-1及び10-2内の最適化が行われる。
次にアレイコントローラ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存在率を一定レベルまで均等化する。
このように第2のステップでは、ディスクアレイ装置10-1及び10-2の間でアレイ間のエクステントマイグレーション182が行われ、当該ディスクアレイ装置10-1及び10-2の間の最適化が行われる。
この第2のステップの後に、アレイコントローラ12-1(内のRAIDマネージャ125)は、第3のステップとして、図19に示すように、アレイ11-1(#1),11-2(#2)及び11-3(#3)に対して、それぞれアレイ内エクステントマイグレーション191-1,191-2及び191-3によるエクステント再配置を行う。
一方、アレイコントローラ12-2(内のRAIDマネージャ125)も第3のステップとして、図19に示すように、アレイ11−A(#A),11-B(#B)及び11-C(#C)に対して、それぞれアレイ内エクステントマイグレーション191-A,191-B及び191-Cによるエクステント再配置を行う。なお、第3のステップが省略されても構わない。
なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。例えば、HDD単位及びエクステントチャンク単位での実行中I/O存在率の代わりに、アレイ単位及びエクステント単位の実行中I/O存在率を用いても良い。即ち、第1の存在率として、当該アレイ内の複数のエクステントに同時に実行中I/Oが存在する度合いを用い、第2の存在率として、当該アレイに実行中I/Oが存在する度合いを用い、第3の存在率として、当該エクステントに実行中I/Oが存在する度合いを用いることもできる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。
本発明の一実施形態に係るディスクアレイサブシステムの構成を示すブロック図。 アレイにおけるエクステントとエクステントチャンクとの関係を示す図。 図1に示されるアレイコントローラの構成を示すブロック図。 同実施形態におけるエクステントマイグレーションを説明するための図。 エクステントマイグレーションの対象となるエクステントを決定するのに同時I/O存在率を用いる理由を説明するための図。 同実施形態において同時I/O存在率を表す指標となる情報を取得する手法を説明するための図。 同実施形態においてHDDI/O存在率を表す指標となる情報を取得する手法を説明するための図。 同実施形態においてエクステントチャンクI/O存在率を表す指標となる情報を取得する手法を説明するための図。 図2に示されるアレイコントローラ内のRAIDマネージャの主要な構成を当該アレイコントローラ内の他の要素と関連付けて示すブロック図。 同実施形態で適用される、HDDI/O存在サンプル数、エクステントチャンクI/O存在サンプル数及び同時I/O存在サンプル数を収集する処理の1サンプルにおける手順を示すフローチャート。 上記実施形態の第1の変形例におけるエクステントマイグレーションを説明するための図。 上記実施形態の第2の変形例におけるアレイ内エクステントマイグレーションを説明するための図。 同第2の変形例で適用される、HDDI/O存在サンプル数及びエクステントチャンクI/O存在サンプル数を収集する処理の1サンプルにおける手順を示すフローチャート。 上記実施形態の第3の変形例におけるアレイ内エクステントマイグレーションを説明するための図。 同第3の変形例において、I/O存在率が等しい複数のエクステントチャンクが存在する場合のアレイ内エクステントマイグレーションを説明するための図。 同第3の変形例におけるアレイ内エクステントマイグレーションの詳細を説明するための図。 上記実施形態の第4の変形例で適用される、アレイ間エクステントマイグレーションとアレイ内エクステントマイグレーションの組み合わせを説明するための図。 上記実施形態の第5の変形例で適用される、ディスクアレイ装置毎に行われるアレイ間エクステントマイグレーションと、ディスクアレイ装置間で行われるアレイ間エクステントマイグレーションとの組み合わせを説明するための図。 同第5の変形例において、図18に示す組み合わせに加えて適用されるアレイ内エクステントマイグレーションを説明するための図。
符号の説明
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…メモリ。

Claims (10)

  1. 1台以上のディスク装置の記憶領域が連続した1つの領域として定義される複数のアレイを含み、前記アレイの全領域を複数のエクステントに分割し、1つ以上のエクステントを組み合わせることによってホスト装置から認識される論理ボリュームを構成する少なくとも1台のディスクアレイ装置を有するディスクアレイサブシステムにおいて、
    前記少なくとも1台のディスクアレイ装置は、
    前記アレイ毎に、そのアレイを構成するディスク装置のうちの予め定められた代表ディスク装置の記憶領域に含まれる前記複数のエクステントにそれぞれ属するエクステントチャンクについて、あるサンプリング周期で未完了のアクセス要求を実行中I/Oとしてサンプリングすることにより、当該エクステントチャンクと当該代表ディスク装置内の他のいずれかのエクステントチャンクに同時に実行中I/Oが存在する度合いを表す第1の存在率、前記代表ディスク装置に実行中I/Oが存在する度合いを表す第2の存在率、及び当該エクステントチャンクに実行中I/Oが存在する度合いを表す第3の存在率を算出する算出手段と、
    前記複数のアレイのうちデータ再配置の候補として予め定められたアレイグループに属するアレイの各々を構成するエクステントの中で、前記第1の存在率が一定レベルよりも高いか或いは最も高いエクステントチャンクが属するエクステントを第1のエクステントとして選択すると共に、当該第1のエクステントを含むアレイとは別の、前記アレイグループに属するアレイの各々の代表ディスク装置のうち前記第2の存在率が相対的に低いアレイの代表ディスク装置に含まれるエクステントチャンクが属するエクステントの中から、前記第3の存在率が最も低いエクステントチャンクが属するエクステントを第2のエクステントとして選択する選択手段と、
    前記第1及び第2のエクステントの間でデータを再配置するアレイ間エクステントマイグレーションを実行するエクステントマイグレーション実行手段と
    を具備することを特徴とするディスクアレイサブシステム。
  2. 前記選択手段は、前記アレイグループに属するアレイの各々の代表ディスク装置のうちの、前記第2の存在率が最も低い代表ディスク装置に含まれるエクステントチャンクの中から、前記第3の存在率が最も低いエクステントチャンクを選択して、当該選択されたエクステントチャンクが属するエクステントを前記第2のエクステントとして選択することを特徴とする請求項1記載のディスクアレイサブシステム。
  3. 前記選択手段は、前記エクステントマイグレーション実行手段によって最後に前記エクステントマイグレーションが実行されてからの経過時間が一定時間以上となり、前記アレイグループに属するアレイの代表ディスク装置の前記第2の存在率の最大値と最小値の差分が一定値以上となり、前記アレイグループに属するアレイの代表ディスク装置の前記第2の存在率の最小値が一定値以下となり、且つ前記アレイグループに属するアレイの代表ディスク装置に含まれるエクステントチャンクの前記第1の存在率の最大値が一定値以上となった場合に、次のエクステントマイグレーションの対象となる前記第1及び第2のエクステントを選択することを特徴とする請求項2記載のディスクアレイサブシステム。
  4. 前記選択手段は、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記載のディスクアレイサブシステム。
  5. 前記選択手段は、前記複数のアレイのうちの任意のアレイを構成するエクステントを、前記第3の存在率が最も高いエクステントチャンクが属するエクステントから前記第3の存在率の降順に1つずつ第3のエクステントとして選択すると共に、当該選択された第3のエクステントとの間のアレイ内エクステントマイグレーションの対象となるエクステントを前記任意のアレイを構成するディスク装置の外周から内周方向に1つずつ第4のエクステントとして選択することによって、前記アレイ内エクステントマイグレーションの対象となる第3及び第4のエクステントの対を逐次選択し、
    前記エクステントマイグレーション実行手段は、前記第3及び第4のエクステントの対が選択される都度、前記選択された第3及び第4のエクステントの間でデータを再配置するアレイ内エクステントマイグレーションを実行する
    ことを特徴とする請求項1記載のディスクアレイサブシステム。
  6. 前記選択手段は、前記エクステントマイグレーション実行手段によって最後に前記アレイ内エクステントマイグレーションが実行されてからの経過時間が一定時間以上となり、且つ前記アレイ内エクステントマイグレーションの候補となる1対のエクステントに含まれる1対のエクステントチャンクであって、当該1対のエクステントが属するアレイの代表ディスク装置に含まれる1対のエクステントチャンクの前記第3の存在率の差分が一定値以上となった場合に、前記1対のエクステントを次のアレイ内エクステントマイグレーションの対象となる前記第3及び第4のエクステントの対として選択することを特徴とする請求項4または5に記載のディスクアレイサブシステム。
  7. 前記エクステントマイグレーション実行手段は、前記アレイ間のエクステントマイグレーションを実行し、しかる後に当該アレイ間のエクステントマイグレーションの対象となったアレイの各々を対象に、前記アレイ内のエクステントマイグレーションを実行することを特徴とする請求項4または5に記載のディスクアレイサブシステム。
  8. 前記少なくとも1台のディスクアレイ装置はネットワークにより接続された複数のディスクアレイ装置であり、
    前記複数のディスクアレイ装置の前記エクステントマイグレーション実行手段は、当該ディスクアレイ装置内で前記アレイ間のエクステントマイグレーションを実行した後、前記複数のディスクアレイ装置の間で前記アレイ間のエクステントマイグレーションを実行し、しかる後に当該アレイ間のエクステントマイグレーションの対象となったアレイの各々を対象に、前記アレイ内のエクステントマイグレーションを実行することを特徴とする請求項4または5に記載のディスクアレイサブシステム。
  9. 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のエクステントの間でデータを再配置するアレイ内エクステントマイグレーションを実行するエクステントマイグレーション実行手段と
    を具備することを特徴とするディスクアレイサブシステム。
  10. 1台以上のディスク装置の記憶領域が連続した1つの領域として定義される複数のアレイを含み、前記アレイの全領域を複数のエクステントに分割し、1つ以上のエクステントを組み合わせることによってホスト装置から認識される論理ボリュームを構成するディスクアレイ装置に含まれるコントローラによって実行されるプログラムであって、
    前記コントローラに、
    前記アレイ毎に、そのアレイを構成するディスク装置のうちの予め定められた代表ディスク装置の記憶領域に含まれる前記複数のエクステントにそれぞれ属するエクステントチャンクについて、あるサンプリング周期で未完了のアクセス要求を実行中I/Oとしてサンプリングすることにより、当該エクステントチャンクと当該代表ディスク装置内の他のいずれかのエクステントチャンクに同時に実行中I/Oが存在する度合いを表す第1の存在率、前記代表ディスク装置に実行中I/Oが存在する度合いを表す第2の存在率、及び当該エクステントチャンクに実行中I/Oが存在する度合いを表す第3の存在率を算出するステップと、
    前記複数のアレイのうちデータ再配置の候補として予め定められたアレイグループに属するアレイの各々を構成するエクステントの中で、前記第1の存在率が一定レベルよりも高いか或いは最も高いエクステントチャンクが属するエクステントを第1のエクステントとして選択すると共に、当該第1のエクステントを含むアレイとは別の、前記アレイグループに属するアレイの各々の代表ディスク装置のうち前記第2の存在率が相対的に低いアレイの代表ディスク装置に含まれるエクステントチャンクが属するエクステントの中から、前記第3の存在率が最も低いエクステントチャンクが属するエクステントを第2のエクステントとして選択するステップと、
    前記第1及び前記第2のエクステントの間でデータを再配置するアレイ間エクステントマイグレーションを実行するステップと
    を実行させるためのプログラム。
JP2006220127A 2006-08-11 2006-08-11 ディスクアレイサブシステム及びプログラム Active JP4413899B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006220127A JP4413899B2 (ja) 2006-08-11 2006-08-11 ディスクアレイサブシステム及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006220127A JP4413899B2 (ja) 2006-08-11 2006-08-11 ディスクアレイサブシステム及びプログラム

Publications (2)

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

Family

ID=39180469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006220127A Active JP4413899B2 (ja) 2006-08-11 2006-08-11 ディスクアレイサブシステム及びプログラム

Country Status (1)

Country Link
JP (1) JP4413899B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217700A (ja) * 2008-03-12 2009-09-24 Toshiba Corp ディスクアレイ装置及び物理配置最適化方法
JP2009258911A (ja) * 2008-04-15 2009-11-05 Toshiba Corp ディスクアレイ装置、方法及びプログラム
US8407403B2 (en) * 2009-12-07 2013-03-26 Microsoft Corporation Extending SSD lifetime using hybrid storage
US8683120B2 (en) * 2011-03-28 2014-03-25 Hitachi, Ltd. Method and apparatus to allocate area to virtual volume
JP6255895B2 (ja) 2013-10-24 2018-01-10 富士通株式会社 ストレージ制御装置、およびプログラム
US10481823B2 (en) * 2018-02-21 2019-11-19 International Business Machines Corporation Data storage system performing data relocation based on temporal proximity of accesses
CN114816278B (zh) * 2022-06-30 2022-11-11 苏州浪潮智能科技有限公司 一种存储服务器的数据迁移方法、系统、设备及存储介质

Also Published As

Publication number Publication date
JP2008046763A (ja) 2008-02-28

Similar Documents

Publication Publication Date Title
JP4413899B2 (ja) ディスクアレイサブシステム及びプログラム
US7506101B2 (en) Data migration method and system
US8375180B2 (en) Storage application performance matching
US8966216B1 (en) Techniques for automated evaluation and movement of data between storage tiers
US8271991B2 (en) Method of analyzing performance in a storage system
JP4869368B2 (ja) ストレージ装置及び仮想化装置
US9680933B2 (en) Computer system
JP5057792B2 (ja) 性能ボトルネックを緩和する機能を備えたストレージシステム
JP2001067187A (ja) ストレージサブシステム及びその制御方法
US10606503B2 (en) Apparatus to reduce a data-migration time for rearranging data between storage hierarchical layers
JP4935331B2 (ja) ストレージシステムと記憶領域の選択方法並びにプログラム
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 (zh) 用于管理存储系统的方法、设备和计算机程序产品
US20180341423A1 (en) Storage control device and information processing system
JP2013525912A (ja) ストレージ装置及びその制御方法
US10235071B2 (en) Tiered storage system, storage controller and tiering control method
CN114327272A (zh) 一种数据处理方法、固态硬盘控制器及固态硬盘
JP2020144737A (ja) 情報処理装置およびタスク管理プログラム
US10242053B2 (en) Computer and data read method
US9542326B1 (en) Managing tiering in cache-based systems
KR101117390B1 (ko) 비휘발성 메모리 장치의 데이터 접근 방법 및 이를 수행하는 프로그램을 기록한 기록매체
JP2011242862A (ja) ストレージサブシステム及びその制御方法

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