(57)【要約】【課題】ディスクグループを構成する複数のディスク装置の多重故障の発生確率を低減させる。【解決手段】上位装置からアクセスされる論理記憶領域に対応して物理記憶領域が割り当てられる複数のディスク装置４を制御する制御装置２であって、前記複数のディスク装置４の前記論理記憶領域の割り当て開始位置をそれぞれ異なる物理位置に割り当てる割当部２１３を備える。【選択図】図２
2014032566.tif 000002
【特許請求の範囲】
【請求項１】
上位装置からアクセスされる論理記憶領域に対応して物理記憶領域が割り当てられる複数のディスク装置を制御する制御装置であって、
前記複数のディスク装置の前記論理記憶領域の割り当て開始位置をそれぞれ異なる物理位置に割り当てる割当部を備えることを特徴とする、制御装置。
【請求項２】
前記割当部は、前記複数のディスク装置においてシリンダアドレス、セクタアドレス、ヘッドアドレスのいずれか１つ以上がそれぞれ異なるように、前記論理記憶領域の割り当て開始位置をそれぞれ異なる物理位置に割り当てることを特徴とする、請求項１記載の制御装置。
【請求項３】
前記複数のディスク装置における前記物理位置のオフセット量を決定する決定部を備え、
前記決定部は、前記複数のディスク装置のうちの少なくとも１つのディスク装置における全データ記憶領域を区切った複数の範囲のうちのいずれか１つの範囲と、前記複数のディスク装置の数とに基づいて、前記オフセット量を決定することを特徴とする、請求項１又は請求項２記載の制御装置。
【請求項４】
前記割当部は、他の論理記憶領域の割当要求を受けた場合に、前記複数のディスク装置の各々における前記論理記憶領域を割り当てた最終位置に続けて、前記他の論理記憶領域の割り当てを行なうことを特徴とする、請求項３記載の制御装置。
【請求項５】
前記複数のディスク装置に関する情報に基づいて、前記複数のディスク装置の各々が、前記割当部による前記オフセット量に基づく前記論理記憶領域の割当対象のディスク装置であるか否かを判定する判定部をさらに有し、
前記決定部は、前記判定部により前記割当対象のディスク装置であると判定されたディスク装置について、前記オフセット量を決定し、
前記割当部は、前記割当対象のディスク装置の各々について、前記割り当て開始位置を求め、前記割当対象のディスク装置の各々の割り当て開始位置から前記論理記憶領域を割り当てることを特徴とする、請求項３又は請求項４記載の制御装置。
【請求項６】
請求項１〜５のいずれか１項記載の制御装置と、
前記複数のディスク装置と、
を有することを特徴とする、ストレージ装置。
【請求項７】
上位装置からアクセスされる論理記憶領域に対応して物理記憶領域が割り当てられる複数のディスク装置を制御する制御方法であって、
前記複数のディスク装置の前記論理記憶領域の割り当て開始位置をそれぞれ異なる物理位置に割り当てる、
ことを特徴とする、制御方法。
【請求項８】
上位装置からアクセスされる論理記憶領域に対応して物理記憶領域が割り当てられる複数のディスク装置を制御する制御プログラムであって、
前記複数のディスク装置の前記論理記憶領域の割り当て開始位置をそれぞれ異なる物理位置に割り当てる、
処理をコンピュータに実行させることを特徴とする、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置，ストレージ装置，制御方法，及び制御プログラムに関する。
【背景技術】
【０００２】
複数のＨＤＤ（Hard Disk Drive）を１つの論理ボリュームとして扱うストレージ装置として、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置が知られている。図１９は、ＲＡＩＤ装置１００の構成例を示す図である。
図１９に示すように、ＲＡＩＤ装置１００は、コントローラモジュール（Controller Module；以下、ＣＭという）２００及びディスクエンクロージャ（Disk Enclosure；以下、ＤＥという）３００を有している。また、ＤＥ３００は、複数のＨＤＤ４００−１〜４００−５を格納する。
【０００３】
ＣＭ２００は、ＲＡＩＤ制御部２１０及びＩ／Ｏ（Input/Output）制御部２２０を有している。ＲＡＩＤ制御部２１０は、主にＲＡＩＤ装置１００全体を制御し、Ｉ／Ｏ制御部２２０は、主にＨＤＤ４００−１〜４００−５との入出力（コマンド）を制御する。
一般に、ＨＤＤの性能は内蔵するディスク（プラッタ）の外周部の方が内周部よりも優れているため、ＨＤＤはディスクの外周部から内周部に向かって使用される。なお、ディスクの外周部と内周部とで性能が異なる理由は、外周部は内周部よりも１トラック当たりのビット数が多く、磁気ヘッドによるトラック間の移動頻度が少ないためである。また、外周部は内周部よりもディスクの回転軸からの距離が離れているため周速度が速く、磁気ヘッドによる読み出し／書き込み速度が速いことも理由の１つである。
【０００４】
なお、関連する技術として、ディスクアレイ装置にスピンドル周期制御回路をそなえ、複数の磁気ディスク装置のスピンドルモータは回転同期をとり、異なる複数の磁気ディスク装置のスピンドルモータは位相をずらして回転同期をとる技術がある。この技術では、アドレス変換の順序に制約を設けて、トラックをまたがるリード／ライト時にも回転待ちを伴わずに連続してデータをリード／ライトすることができる（例えば、特許文献１参照）。
【０００５】
また、関連する他の技術として、予め選択された記憶領域を定める軸方向に沿った複数の行のストライプを、別の軸の軸方向に沿った複数の記憶領域をそなえる記憶コンテナに選択的に割り振る技術がある（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平５−５４５４６号公報
【特許文献２】特開２００６−１２０１２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
図２０は、ディスクの物理位置に応じたニアラインＨＤＤの故障率の一例を示す図である。ＲＡＩＤ装置においては、ＨＤＤのディスクの物理位置に応じた使用量は、性能を優先するために内周部よりも外周部の方が多い。このため、図２０に示すように、特に安価且つ大容量、低品質であるニアラインＨＤＤのディスクの物理位置に応じた故障率は、内周部よりも外周部の方が高くなっている。
【０００８】
ところで、ＨＤＤ故障時のＲＡＩＤ装置の復旧時間は、近年のＨＤＤの大容量化に伴う論理ボリュームのリビルドやコピーバック等の処理時間の増加により、長期化の一途を辿っている。また、ＲＡＩＤ装置の復旧時間の長期化に伴い、ＲＡＩＤ装置の復旧までに他のＨＤＤが故障する多重故障の発生確率も増加しており、ＨＤＤの多重故障によるデータ損失の可能性が高まっている。また、上述のようにディスクの外周部の故障率が高いことも、ＨＤＤの多重故障の発生確率増加の一因となっている。
【０００９】
なお、上述した関連する各技術では、上述した問題については考慮されていない。
１つの側面では、本発明は、ディスクグループを構成する複数のディスク装置の多重故障の発生確率を低減させることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【００１０】
本件の制御装置は、上位装置からアクセスされる論理記憶領域に対応して物理記憶領域が割り当てられる複数のディスク装置を制御する制御装置であって、前記複数のディスク装置の前記論理記憶領域の割り当て開始位置をそれぞれ異なる物理位置に割り当てる割当部を備える。
【発明の効果】
【００１１】
一実施形態によれば、ディスクグループを構成する複数のディスク装置の多重故障の発生確率を低減させることができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係るストレージシステムのハードウェア構成例を示すブロック図である。
【図２】図１に示すＣＭの機能構成例を示すブロック図である。
【図３】図１に示すＤＥのスロットに搭載されるＨＤＤの一例を示す図である。
【図４】図１に示すＨＤＤの磁気ヘッドのシーク距離と駆動電流との関係の一例を示す図である。
【図５】図１に示すＨＤＤの磁気ディスクの各領域を説明する図である。
【図６】ディスクの物理位置を３等分する範囲を示す図である。
【図７】図１に示す各ＨＤＤのディスクとシリンダの物理位置との関係の一例を示す図である。
【図８】図７に示す各ＨＤＤにおけるシリンダの割り当て順序を示す図である。
【図９】図２に示す保持部が保持する論理ボリューム管理情報の一例を示す図である。
【図１０】図２に示す保持部が保持するＨＤＤ管理情報の一例を示す図である。
【図１１】図３に示すＤＥのスロットに増設されるＨＤＤの一例を示す図である。
【図１２】図１１に示す各ＨＤＤにおけるシリンダの割り当て順序を示す図である。
【図１３】図１に示す複数のＨＤＤに論理ボリュームが解放及び再割り当てされる場合の割り当て開始位置の一例を説明する図である。
【図１４】図２に示す条件判定部による条件判定処理の一例を説明するフローチャートである。
【図１５】図２に示すオフセット量決定部によるオフセット量決定処理の一例を説明するフローチャートである。
【図１６】図２に示す論理ボリューム割当部による論理ボリュームの割り当て処理の一例を説明するフローチャートである。
【図１７】図１に示すＨＤＤの外周部にオフセットを持たせた場合のディスクの物理位置に応じたニアラインＨＤＤの故障率の一例を示す図である。
【図１８】図１に示すＨＤＤの外周部，中央部，内周部にそれぞれオフセットを持たせた場合のディスクの物理位置に応じたニアラインＨＤＤの故障率の一例を示す図である。
【図１９】ＲＡＩＤ装置の構成例を示す図である。
【図２０】ディスクの物理位置に応じたニアラインＨＤＤの故障率の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して実施の形態を説明する。
〔１〕一実施形態
〔１−１〕ストレージシステムの説明
図１は、一実施形態に係るストレージシステム１０のハードウェア構成例を示すブロック図である。図１に示すように、ストレージシステム１０は、ストレージ装置１及びホスト装置５を有している。
【００１４】
ストレージ装置１は、ホスト装置５からの各種要求に応じて、ストレージ装置１が管理するＨＤＤ４−１〜４−５に対する各種処理を行なう。なお、ストレージ装置１としてはＲＡＩＤ装置が挙げられる。図１に示すように、ストレージ装置１は、コントローラモジュール（ＣＭ）２及びディスクエンクロージャ（ＤＥ）３を有している。
ＤＥ３は、複数（例えば５個）のＨＤＤ４−１〜４−５（以下の説明においてこれらを区別しない場合には単にＨＤＤ４という）を搭載する。
【００１５】
ＨＤＤ（ディスク装置）４は、磁気ディスク装置の一例であり、ユーザデータや制御情報、プログラム等を格納するハードウェアである。以下、各ＨＤＤ４は、ＳＡＳ（Serial Attached SCSI（Small Computer System Interface）に対応するニアラインＨＤＤであるものとして説明する。
また、本実施形態においては、複数のＨＤＤ４−１〜４−５は、ＲＡＩＤグループ等のディスクグループを構成し、ＤＥ３は、ディスクグループをストレージリソースプールとして管理する。複数のＨＤＤ４は、それぞれ、ホスト装置５等の上位装置からアクセスされる論理ボリューム（論理記憶領域）に対応して物理記憶領域が割り当てられる。
【００１６】
ＣＭ（制御部，制御装置）２は、ＤＥ３及びホスト装置５に接続され、ホスト装置５からの要求に応じて、ＤＥ３（ＨＤＤ４）に対する各種処理を行なう。
図１に示すように、ＣＭ２は、ＣＰＵ（Central Processing Unit）２ａ，メモリ２ｂ，ＣＡ（Channel Adapter）２ｃ，及びＤＩ（Disk Interface）２ｄを有している。
ＣＰＵ２ａは、メモリ２ｂ，ＣＡ２ｃ，及びＤＩ２ｄとそれぞれ接続され、種々の制御や演算を行なう処理装置（プロセッサ）の一例である。ＣＰＵ２ａは、メモリ２ｂ，ＤＥ３内のＨＤＤ４又は図示しないＲＯＭ（Read Only Memory）等に格納されたプログラムを実行することにより、ＣＭ２における種々の機能を実現する。本実施形態に係るＣＰＵ２ａは、メモリ２ｂ，ＨＤＤ４又はＲＯＭ等に格納された制御プログラムを実行することにより、後述するＲＡＩＤ制御部２１（条件判定部２１１，オフセット量決定部２１２，及び論理ボリューム割当部２１３）並びにＩ／Ｏ制御部２２としての機能を実現する。
【００１７】
メモリ２ｂは、種々のデータやプログラムを一時的に格納するキャッシュメモリ等の記憶装置であって、ＣＰＵ２ａがプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。例えば、メモリ２ｂは、ＣＰＵ２ａが制御部として機能するためのプログラム，ホスト装置５からＨＤＤ４へ書き込まれるデータ，又はＨＤＤ４からホスト装置５へ読み出されるデータ等を一時的に格納する。なお、メモリ２ｂとしては、例えばＲＡＭ（Random Access Memory）等の揮発性メモリが挙げられる。
【００１８】
ＣＡ２ｃは、ホスト装置５と接続され、ホスト装置５とのインタフェース制御を行なうアダプタであり、ホスト装置５との間でデータ通信を行なう。ＤＩ２ｄは、ストレージ装置１に収容されるＤＥ３とのインタフェース制御を行なう。
〔１−２〕ＣＭの説明
次に、簡単に、本実施形態に係るＣＭ２について説明する。
【００１９】
図２０を参照して上述したように、特に安価且つ大容量、低品質であるニアラインＨＤＤのディスクの物理位置に応じた故障率は、内周部よりも外周部の方が高くなっている。また、ディスクの外周部の故障率が高いことも影響して、ＨＤＤの多重故障によるデータ損失の可能性が高まっている。
ＨＤＤの故障率とディスクの使用量（アクセス量）とは相関があること、及び、ディスクの外周部，中央部，及び内周部の使用量（アクセス量）に差があることを踏まえると、少なくとも外周部の使用量(アクセス量)を均等にすることができれば、ＨＤＤの多重故障の発生の可能性を低減できると考えられる。
【００２０】
ＲＡＩＤグループ等のディスクグループを構成するＨＤＤで使用される物理位置は、論理ボリューム（論理記憶領域）が割り当てられるときに決まる。従って、ＲＡＩＤグループを構成するＨＤＤごとの論理ボリュームの割り当て開始位置に着目し、それぞれの割り当て開始位置が異なるようにすれば、ＲＡＩＤグループを構成するＨＤＤごとに異なる物理アクセスを実現することができる。これにより、少なくとも外周部の故障率を平均化することができ（図１７参照）、ＨＤＤの多重故障（同時故障）の発生確率を低減することができる。
【００２１】
そこで、本実施形態に係るＣＭ２は、ＲＡＩＤグループを構成する複数のＨＤＤ４の記憶領域の物理的な使用開始位置が異なるように、少なくともディスクの外周部で、それぞれのＨＤＤ４に異なるオフセットを持たせて論理ボリュームを割り当てる制御を行なう。
〔１−３〕ＣＭの構成例
以下、上述した複数のＨＤＤ４の制御を行なうＣＭ２の機能構成例を説明する。図２は、図１に示すＣＭ２の機能構成例を示すブロック図であり、図３は、ＤＥ３のスロットに搭載されるＨＤＤ４の一例を示す図である。ＨＤＤ４−１〜４−５は、図３に示すように、ＤＥ３の図示しないスロットのスロット番号０〜４にそれぞれ搭載（接続）される。
【００２２】
図２に示すように、ＣＭ２は、ＲＡＩＤ制御部２１，Ｉ／Ｏ制御部２２，及び保持部２３を有している。
Ｉ／Ｏ制御部２２は、ＨＤＤ４−１〜４−５との入出力（コマンド）を制御するものであり、例えばホスト装置５等からの要求に応じて、データの読出／書込処理等を行なう。
ＲＡＩＤ制御部２１は、ストレージ装置１全体を制御するものであり、例えばホスト装置５等からの要求に応じて、ＲＡＩＤグループの作成処理，論理ボリュームの割当／解放処理等を行なう。ＲＡＩＤ制御部２１は、条件判定部２１１，オフセット量決定部２１２，及び論理ボリューム割当部２１３を有している。
【００２３】
条件判定部（判定部）２１１は、ＲＡＩＤグループを構成するＨＤＤ４の各々が、後述する論理ボリューム割当部２１３によるオフセット量に基づく論理ボリューム（論理記憶領域）の割当対象のＨＤＤ（以下、適用対象のＨＤＤという）であるか否かを判定する。具体的には、条件判定部２１１は、ＲＡＩＤグループを構成する複数のＨＤＤ４の各々が、以下の（ｉ）〜（iv）の条件を満たすか否かを判定する。
（ｉ）ＨＤＤ４の種類はニアラインＨＤＤである。
（ii）ＲＡＩＤ種はＲＡＩＤ５又はＲＡＩＤ６である。
（iii）ＲＡＩＤグループを構成するＨＤＤ４は同一の性能を有する。
（iv）各ＨＤＤ４に他のＲＡＩＤグループが割り当てられていない。
【００２４】
なお、条件（ｉ）について、条件判定部２１１は、例えば各ＨＤＤ４の情報に基づいて、ディスク回転数が所定の値（例えば１００００ｒｐｍ）未満である場合に、ニアラインＨＤＤであると判定する。なお、ＤＥ３がＳＡＳの他にＳＡＴＡ（Serial Advanced Technology Attachment）等の他の規格に対応するＨＤＤ４を混在して搭載する場合には、ＨＤＤ４がＳＡＳに対応するディスク装置である場合に、ニアラインＨＤＤであると判定しても良い。
【００２５】
また、条件（ii）について、ＲＡＩＤ種には、ＲＡＩＤ５，６の他にＲＡＩＤ１，１＋０，５＋０，６＋０等が含まれても良い。
さらに、条件（iii）について、条件判定部２１１は、例えば各ＨＤＤ４−１〜４−５の情報に基づいて、ＨＤＤ４のディスク回転数が同一（例えば全てのＨＤＤ４が７２００ｒｐｍ等）である場合に、同一性能であると判定する。
【００２６】
ＲＡＩＤ制御部２１によるＲＡＩＤグループの作成処理では、例えばユーザや管理者等により、作成するＲＡＩＤグループのＲＡＩＤ種，ＲＡＩＤグループを構成するＨＤＤ４，及びＨＤＤ４の個数の情報（複数のＨＤＤ４に関する情報）が選択される。従って、条件判定部２１１は、上記選択が行なわれて、作成するＲＡＩＤグループが決定された後に、これらの選択された複数のＨＤＤ４に関する情報に基づいて、ＨＤＤ４の各々が上記条件を満足するか否かを判定することができる。
【００２７】
一例として、他のＲＡＩＤグループに割り当てられていないＨＤＤ４−１〜４−５を用いて、ＲＡＩＤ５のＲＡＩＤグループを作成することが決定された場合であって、各ＨＤＤ４の回転数が７２００ｒｐｍである場合を想定する。この場合、条件判定部２１１は、ＨＤＤ４−１〜４−５がいずれも上記条件（ｉ）〜（iv）を満たすと判定し、ＨＤＤ４−１〜４−５は、全て適用対象のＨＤＤであると判定する。
【００２８】
なお、上述した条件（ｉ）〜（iv）を定義する情報や、作成するＲＡＩＤグループを構成する複数のＨＤＤ４に関する情報は、例えばＲＡＩＤ制御部２１が、ＣＭ２のメモリ２ｂ等の記憶領域に格納することとしても良い。また、条件判定部２１１は、適用対象のＨＤＤであると判定したＨＤＤ４の情報及び当該ＨＤＤ４の数を、後述するオフセット量決定部２１２に使用させるためにメモリ２ｂ等の記憶領域に格納することが好ましい。
【００２９】
また、条件判定部２１１は、上記条件（ｉ）〜（iv）の全ての判定を実施しなくても良く、条件（ｉ）〜（iv）のうちの少なくとも１つについて判定することとしても良い。
オフセット量決定部（決定部）２１２は、複数のＨＤＤ４における物理位置のオフセット量を決定する。オフセット量は、後述する論理ボリューム割当部２１３により、ＲＡＩＤグループを構成する複数のＨＤＤ４に対する論理ボリュームの割り当て開始位置を求めるために用いられる。なお、条件判定部２１１による判定処理が行なわれた場合には、オフセット量決定部２１２は、条件判定部２１１により適用対象のＨＤＤであると判定されたＨＤＤ４について、オフセット量を決定する。
【００３０】
ここで、上述の如く、ＣＭ２は、ＲＡＩＤグループを構成する複数のＨＤＤ４に互いに異なるオフセットを持たせて論理ボリュームを割り当てることにより、複数のＨＤＤ４の同時故障発生を抑制する。このとき、オフセットを持たせる領域は、既述のように、ディスク全体の物理位置を３等分したうちの外周部であることが好ましい。
ディスクの物理位置を３等分する理由は、磁気ヘッド（以下、単にヘッドという）のシーク制御で飽和電流時間が存在しないモードが、ディスクの最インナ（最内周位置）から最アウタ（最外周位置）までのシークの１／３シークであるためである。図４は、図１に示すＨＤＤ４のヘッド４ｃのシーク距離と駆動電流との関係の一例を示す図であり、（ａ）は磁気ディスク（以下、単にディスクという）４ａ上でのヘッド４ｃのシーク状態を示す図、（ｂ）はヘッド４ｃの位置とアクチュエータ４ｂの駆動電流との関係を示す図である。図５は、図１に示すＨＤＤ４のディスク４ａの各領域を説明する図である。図６は、ディスク４ａの物理位置を３等分する範囲を示す図であり、（ａ）はシステム領域を含める場合の３等分の範囲、（ｂ）はシステム領域を含めない場合の３等分の範囲を示す図である。
【００３１】
例えば、ＨＤＤ４のアクチュエータ４ｂによりヘッド４ｃをディスク４ａの最インナＸ０から最アウタＸ３までシークさせる場合を考える（図４（ａ）参照）。なお、図４（ａ）に示すＸ１及びＸ２は、それぞれ最インナＸ０から最アウタＸ３までのシリンダ数を３等分した位置である。この場合、図４（ｂ）に示すように、アクチュエータ４ｂの駆動電流は、ヘッド４ｃの位置がＸ０からＸ１までシークする間はリニアに増加し、Ｘ１からＸ２までシークする間は飽和電流となり、Ｘ２からＸ３までシークする間はリニアに減少する。
【００３２】
アクチュエータ４ｂの駆動電流が飽和電流となる間（飽和電流時間）、つまりヘッド４ｃが最インナＸ０〜最アウタＸ３間の１／３以上の距離（トラック）をシークする場合、アクチュエータ４ｂのシーク制御には待機時間が生じる。シーク制御における待機時間の発生は、ＨＤＤ４の性能低下の要因となる。
そこで、ＲＡＩＤ制御部２１は、シーク制御において待機時間が発生しない限界の距離であるディスク４ａの物理位置の１／３の範囲内の領域を、各ＨＤＤ４に異なるオフセットを持たせて論理ボリュームを割り当てる対象の領域とする。
【００３３】
なお、図５に示すように、ＨＤＤ４のディスク４ａは、中心の回転軸から外周部に向かって順に、ＨＤＤのベンダが管理するＨＤＤシステム領域，ＲＡＩＤ制御部２１が管理するＲＡＩＤ装置システム領域，及びユーザデータ領域を有する。以下、ＨＤＤシステム領域及びＲＡＩＤ装置システム領域をまとめてシステム領域という。なお、論理ボリュームは、ユーザデータ領域（データ記憶領域）に割り当てられる。
【００３４】
ＲＡＩＤ制御部２１は、図６の（ａ）に示すように、システム領域を含めた最インナから最アウタまでの領域を３等分したうちの外周部の範囲を、オフセットを持たせる範囲とすることができる。または、ＲＡＩＤ制御部２１は、図６の（ｂ）に示すように、システム領域を含めない最インナから最アウタまでの領域（つまりユーザデータ領域）を３等分したうちの外周部の範囲を、オフセットを持たせる範囲としても良い。
【００３５】
図２の説明に戻り、オフセット量決定部２１２の詳細を説明する。
オフセット量決定部２１２は、複数のＨＤＤ４のうちの少なくとも１つのＨＤＤ４における全データ記憶領域を区切った複数の範囲のうちのいずれか１つの範囲と、複数のＨＤＤ４の数とに基づいて、オフセット量を決定する。一例として、図４〜図６を参照して説明したように、オフセットを持たせる範囲を外周部の範囲とした場合、オフセット量決定部２１２は、以下のように、外周部の範囲と複数のＨＤＤ４の数とに基づいて、オフセット量を決定する。
【００３６】
具体的には、オフセット量決定部２１２は、ＲＡＩＤグループを構成する複数のＨＤＤ４（条件判定部２１１による判定が行なわれた場合は適用対象のＨＤＤ４）ごとに、ヘッド４ｃの全シリンダ数を取得する。なお、ＨＤＤ４が複数のプラッタを持つ場合、オフセット量決定部２１２は、いずれか１つ（例えば“Head0”）のヘッド４ｃの全シリンダ数を取得すれば良い。
【００３７】
より具体的に、オフセット量決定部２１２は、複数のＨＤＤ４に対し、最アウタ及び最インナのシリンダについて、ＣＨＳ−ＬＢＡ（Cylinder Head Sector - Logical Block Addressing）変換を行ない、ディスク４ａ当たりの全シリンダ数とＬＢＡとを取得する。
なお、オフセット量決定部２１２は、代表して例えば最小スロット（スロット番号“０”）に搭載されているＨＤＤ４−１（図３参照）についてのみ、全シリンダ数とＬＢＡとを取得しても良い。
【００３８】
次いで、オフセット量決定部２１２は、取得した全シリンダ数を３等分して、ＲＡＩＤグループを構成する複数のＨＤＤ４（又は適用対象のＨＤＤ４）又は最小スロットに搭載されているＨＤＤ４−１の外周部のシリンダ数を取得（算出）する。そして、オフセット量決定部２１２は、取得した外周部のシリンダ数を、ＲＡＩＤグループを構成する複数のＨＤＤ４（又は適用対象のＨＤＤ４）の数で分割して、オフセットシリンダ量（オフセット量）を決定（算出）する。以下、オフセット量決定部２１２は、代表してＨＤＤ４−１の外周部のシリンダ数に基づくオフセット量を決定したものとする。
【００３９】
上述した例では、オフセット量決定部２１２は、オフセット量として、ディスク４ａの半径方向（シリンダアドレス方向）におけるオフセットシリンダ量を決定する。
しかしながら、オフセット量は、オフセットシリンダ量に限定されるものではない。例えば、オフセット量は、ディスク４ａの円周方向（セクタアドレス方向）におけるオフセットセクタ量であっても良く、ＨＤＤ４の複数のディスク４ａ（プラッタ）の回転軸方向（ヘッダアドレス方向）におけるオフセットヘッダ量であっても良い。或いは、オフセット量は、オフセットシリンダ量、オフセットセクタ量、及びオフセットヘッダ量の任意の組み合わせであっても良い。
【００４０】
オフセット量決定部２１２は、オフセット量にオフセットセクタ量が含まれる場合、例えば外周部におけるセクタ数を取得し、取得したセクタ数を、複数のＨＤＤ４の数で分割して、オフセットセクタ量（オフセット量）を決定（算出）する。なお、セクタ数はディスク４ａの半径位置によって異なるため、オフセット量決定部２１２は、オフセットを設定する範囲における最大（最外周位置）又は平均のセクタ数を取得（算出）しても良い。
【００４１】
また、オフセット量決定部２１２は、オフセット量にオフセットヘッダ量が含まれる場合、ＨＤＤ４のプラッタ数を取得し、取得したプラッタ数を、複数のＨＤＤ４の数で分割して、オフセットヘッダ量（オフセット量）を決定（算出）する。
論理ボリューム割当部（割当部）２１３は、複数のＨＤＤ４の論理ボリュームの割り当て開始位置をそれぞれ異なる物理位置に割り当てる。このとき、論理ボリューム割当部２１３は、複数のＨＤＤ４においてシリンダアドレス（半径位置）、セクタアドレス（円周方向位置）、ヘッドアドレス（プラッタ位置）のいずれか１つ以上がそれぞれ異なるように割り当てを行なう。
【００４２】
具体的には、論理ボリューム割当部２１３は、複数のＨＤＤ４（又は適用対象のＨＤＤ）の各々について、互いにオフセット量だけずらした割り当て開始位置を求め、複数のＨＤＤ４（又は適用対象のＨＤＤ）の各々の割り当て開始位置から論理ボリュームを割り当てる。
なお、論理ボリューム割当部２１３は、ＲＡＩＤ制御部２１がホスト装置５等からの要求に応じて、ＤＥ３が管理するストレージリソースプール（ＲＡＩＤグループ）から新たな論理ボリュームにリソースを割り当てるときに、上記制御を行なう。
【００４３】
一例として、オフセット量として、オフセットシリンダ量が算出された場合には、論理ボリューム割当部２１３は、以下のように、複数のＨＤＤ４においてシリンダアドレスがそれぞれ異なるように割り当てを行なう。
具体的には、論理ボリューム割当部２１３は、複数のＨＤＤ４の各々について、ディスク４ａの半径方向に互いにオフセット量だけずらした割り当て開始位置を求め、複数のＨＤＤ４の各々の割り当て開始位置から論理ボリュームを割り当てる。
【００４４】
より具体的に、論理ボリューム割当部２１３は、オフセット量（シリンダ数）とＲＡＩＤグループを構成するＨＤＤ番号（スロット番号；図３参照）との積を求める。図７は、図１に示す各ＨＤＤ４のディスク４ａとシリンダの物理位置との関係の一例を示す図であり、図８は、図７に示す各ＨＤＤ４におけるシリンダの割り当て順序を示す図である。なお、図７では、図の簡略化のためディスク４ａ（プラッタ）が１枚である場合を示す。また、図７において、（ａ）〜（ｅ）は外周部をＨＤＤ４の数で等分（５等分）した各領域を示す。
【００４５】
例えば、オフセット量決定部２１２により決定されたオフセット量が“0x18E”である場合、図３に示す例では、スロット０〜スロット４に搭載されたＨＤＤ４−１〜４−５それぞれについて、オフセット量とスロット番号との積（シリンダ）を求める。この場合、求めたシリンダは以下に示すようになる。
スロット０（ＨＤＤ４−１）：“0x18E×0”＝“0”（オフセットなし）
スロット１（ＨＤＤ４−２）：“0x18E×1”＝“0x18E”
スロット２（ＨＤＤ４−３）：“0x18E×2”＝“0x31C”
スロット３（ＨＤＤ４−４）：“0x18E×3”＝“0x4AA”
スロット４（ＨＤＤ４−５）：“0x18E×4”＝“0x7C6”
そして、論理ボリューム割当部２１３は、上記で求めた積（シリンダ）を用いて、“Head0”，“Sector0”とするＣＨＳ−ＬＢＡ変換を実施することで、各ＨＤＤ４における論理ボリュームの割り当て開始位置を求める（図７参照）。
【００４６】
論理ボリューム割当部２１３は、領域（ａ）〜（ｅ）が各ＨＤＤ４に同様に存在すること、及び、外周部の方が性能は良いことを考慮して、各ＨＤＤ４に対する論理ボリュームの論理フォーマットを、図７及び図８に示す領域の順序で実施する。
すなわち、論理ボリューム割当部２１３は、ＨＤＤ４−１を、領域（ａ）〜（ｅ）の順に、各領域内で外周位置から内周位置へ向かって通常の使用順序と同様に使用し、ＨＤＤ４−２を、領域（ｂ）〜（ｅ），（ａ）の順に、各領域内で外周位置から内周位置へ向かって使用する。また、論理ボリューム割当部２１３は、ＨＤＤ４−３を、領域（ｃ）〜（ｅ），（ａ），（ｂ）の順に、各領域内で外周位置から内周位置へ向かって使用し、ＨＤＤ４を、領域（ｄ），（ｅ），（ａ）〜（ｃ）の順に、各領域内で外周位置から内周位置へ向かって使用する。さらに、論理ボリューム割当部２１３は、ＨＤＤ４−５を、領域（ｅ），（ａ）〜（ｄ）の順に、各領域内で外周位置から内周位置へ向かって使用する。
【００４７】
換言すれば、論理ボリューム割当部２１３は、外周部の範囲の最インナまで論理ボリュームを割り当てた場合であって、外周部の範囲内に割り当て可能な記憶領域がある場合に、割り当て可能な記憶領域の最アウタから未割当の論理ボリュームを割り当てる。なお、論理ボリューム割当部２１３は、外周部の範囲内に割り当て可能な記憶領域がない場合には、外周部の範囲外（例えば中央部）の物理位置から未割当の論理ボリュームを割り当てる。つまり、論理ボリューム割当部２１３は、ＨＤＤ４の外周部の記憶領域をすべて使用すると（論理ボリュームに割り当てると）、通常のＲＡＩＤ装置と同様に中央部，内周部を、外周位置から内周位置へ向かって使用する。
【００４８】
このように、論理ボリューム割当部２１３は、中央部や内周部よりも性能が高く、記憶領域の使用順序を変更した場合でも性能差が顕在化し難い外周部に対して、ＨＤＤ４ごとに異なるオフセットを持たせて、論理ボリュームを割り当てる。これにより、ＨＤＤ４の性能低下を抑えつつ、複数のＨＤＤ４の同時故障の発生確率を低下させることができる。
なお、論理ボリューム割当部２１３は、冗長性を高めるために、中央部，内周部についても、外周部と同様な論理ボリュームの割り当てを行なっても良い。ただし、外周部のみについて行なう場合と比べて、性能の低下が生じる可能性がある。
【００４９】
なお、論理ボリューム割当部２１３は、ホスト装置５等から他の論理ボリュームの割当要求を受けると、複数のＨＤＤ４の各々における直前に割り当てた論理ボリュームの最終位置に続けて、上述した順序に従い他の（新たな）論理ボリュームを割り当てる。このため、論理ボリューム割当部２１３は、論理ボリュームの割り当てを行なうと、ＨＤＤ４ごとに、論理ボリュームの割り当て開始位置を更新し、更新後の新たな割り当て開始位置をメモリ２ｂ等の記憶領域，又は後述する論理ボリューム管理情報２３１に格納しておくことが好ましい。
【００５０】
なお、図７では、ＨＤＤ４内のディスク４ａ（プラッタ）が１枚である場合を示しているが、ＨＤＤ４内にディスク４ａが複数枚ある場合、論理ボリューム割当部２１３は、ディスク４ａごとに、上述した論理ボリュームの割り当てや、割り当て開始位置の管理及び更新を行なっても良い。
また、論理ボリューム割当部２１３は、オフセット量決定部２１２がＨＤＤ４ごとのオフセット量を決定した場合には、各ＨＤＤ４に対して対応するオフセット量を用いて、上述した論理ボリュームの割り当てを行なっても良い。
【００５１】
さらに、論理ボリューム割当部２１３は、条件判定部２１１により、複数のＨＤＤ４のうちの少なくとも１つのＨＤＤ４が適用対象のＨＤＤではないと判定された場合、当該適用対象のＨＤＤではないと判定されたＨＤＤ４の各々の記憶領域の最アウタから、論理ボリュームを割り当てる。つまり、論理ボリューム割当部２１３は、適用対象のＨＤＤではないと判定されたＨＤＤ４を、通常の使用順序と同様に使用する。
【００５２】
ここまで、論理ボリューム割当部２１３が、複数のＨＤＤ４の論理ボリュームの割り当て開始位置を、シリンダアドレスがそれぞれ異なる物理位置に割り当てる場合について説明したが、オフセット量にオフセットセクタ量又はオフセットヘッダ量が含まれる場合についても同様である。
図２の説明に戻り、保持部２３は、論理ボリュームやＨＤＤ４の管理情報を保持する記憶領域であり、例えば上述したメモリ２ｂにより実現される。保持部２３は、論理ボリューム管理情報２３１及びＨＤＤ管理情報２３２を保持する。図９は、図２に示す保持部２３が保持する論理ボリューム管理情報２３１の一例を示す図であり、図１０は、保持部２３が保持するＨＤＤ管理情報２３２の一例を示す図である。
【００５３】
論理ボリューム管理情報２３１は、ＨＤＤ４における最アウタ及び最インナのＣＨＳ及びＬＢＡを管理するとともに、ＨＤＤ４ごとの論理ボリュームの割り当て開始位置を管理する情報である。例えば、図９に示すように、ＨＤＤ４−１には、オフセット量決定部２１２により取得されたディスク４ａの最アウタのＣＨＳ及びＬＢＡとして“00000-00-000000”及び“00000000”が設定され、最インナのＣＨＳ及びＬＢＡとして“00175B-00-000000”及び“446284E4”が設定される。なお、図９では、オフセット量決定部２１２により代表してＨＤＤ４−１についてのみ全シリンダ数が取得された場合を示しているため、ＨＤＤ４−１についてのみ最アウタ及び最インナのＣＨＳ及びＬＢＡが設定されている。
【００５４】
また、図９に示すように、各ＨＤＤ４−１〜４−５には、論理ボリューム割当部２１３により求められた論理ボリュームの割り当て開始位置が設定される。一例として、ＨＤＤ４−１の割り当て開始位置のＣＨＳ及びＬＢＡには“00000-00-000000”及び“00000000”が設定され、ＨＤＤ４−２の割り当て開始位置のＣＨＳ及びＬＢＡには“0018E-00-000000”及び“0000018E”が設定される。
【００５５】
論理ボリューム管理情報２３１は、オフセット量決定部２１２により、ＲＡＩＤグループが決定されたときに作成され、ＲＡＩＤグループを構成するＨＤＤ４についての最アウタ及び最インナの情報が設定される。また、論理ボリューム管理情報２３１は、論理ボリューム割当部２１３により、ＲＡＩＤグループに論理ボリュームが割り当てられるときに、論理ボリューム割り当て開始位置の情報を設定される。なお、論理ボリューム割当部２１３は、ＲＡＩＤグループに新たな論理ボリュームを割り当てるときに、論理ボリューム管理情報２３１に対して、更新後の論理ボリュームの割り当て開始位置の項目を作成して、次の論理ボリュームの割り当ての際に用いても良い。
【００５６】
なお、オフセット量決定部２１２により、ＨＤＤ４−１〜４−５それぞれについて全シリンダ数が取得される場合には、図９において、ＨＤＤ４ごとに最アウタ及び最インナのＣＨＳ及びＬＢＡが設定される。そして、オフセット量決定部２１２及び論理ボリューム割当部２１３により、各ＨＤＤ４の最アウタ及び最インナの情報に基づいて、対応するＨＤＤ４ごとのオフセット量及び割り当て開始位置が求められ、論理ボリューム割当部２１３に設定される。
【００５７】
ＨＤＤ管理情報（ディスク装置管理情報）２３２は、ＨＤＤ４ごとに、各領域（ａ）〜（ｄ）のＣＨＳ及びＬＢＡの最小値、並びに、最インナの領域（ｅ）のＣＨＳ及びＬＢＡの最小値及び最大値を管理する情報である。例えば、図１０に示すように、ＨＤＤ４−１の領域（ａ）の最小値のＣＨＳ及びＬＢＡには“00000-00-000000”及び“00000000”が設定される。また、ＨＤＤ４−１の領域（ｅ）の最小値のＣＨＳ及びＬＢＡには“007C6-00-000000”及び“000007C6”が設定され、最大値、つまり外周部の最インナのＣＨＳ及びＬＢＡには“00953-xx-xxxxxx”及び“00000953”が設定される。なお、オフセット量決定部２１２により代表してＨＤＤ４−１についてのみ全シリンダ数が取得された場合には、ＨＤＤ管理情報２３２には、ＨＤＤ４−１についてのみ情報が設定されても良い。
【００５８】
なお、図１０において、領域（ａ）〜（ｄ）のＣＨＳ及びＬＢＡの最大値が省略されているのは、それぞれの最大値が、各領域の１つ内周側の領域（ｂ）〜（ｅ）の最小値から求められるためである。
ＨＤＤ管理情報２３２は、論理ボリューム割当部２１３により、ＲＡＩＤグループに論理ボリュームが割り当てられるときに作成され、各ＨＤＤ４（又は代表してＨＤＤ４−１）の領域（ａ）〜（ｅ）の範囲について、ＣＨＳ−ＬＢＡ変換の結果が設定される。このように、論理ボリューム割当部２１３は、ＨＤＤ管理情報２３２を用いて各ＨＤＤ４についての領域（ａ）〜（ｅ）におけるシリンダとＬＢＡとの１対１の関係を管理する。
【００５９】
論理ボリューム割当部２１３は、上述した論理ボリューム割当部２１３内の割り当て開始位置，更新後の割り当て開始位置，及びＨＤＤ管理情報２３２の情報に基づいて、図８に示す順序で各ＨＤＤ４に論理ボリュームを割り当てることができる。
なお、オフセット量にオフセットセクタ量又はオフセットヘッダ量が含まれる場合には、図９及び図１０に示すＣＨＳにおいて、ヘッダ又は／及びセクタの値についても変化することになる。
【００６０】
〔１−３−１〕ＨＤＤが増設又は交換される場合のＣＭにおける処理
次に、図１に示すストレージ装置１において、ＲＡＩＤグループを構成する複数のＨＤＤ４に対してＨＤＤが増設又は交換される場合のＣＭ２における処理を説明する。
はじめに、ＨＤＤ４が増設される場合について説明する。図１１は、図３に示すＤＥ３のスロットに増設されるＨＤＤ４−６〜４−８の一例を示す図であり、図１２は、図１１に示す各ＨＤＤ４−１〜４−８におけるシリンダの割り当て順序を示す図である。
【００６１】
図１１に示すように、ＲＡＩＤグループに追加されるＨＤＤ４−６〜４−８が、ＤＥ３のスロット番号５〜７に搭載される場合、論理ボリューム割当部２１３は、増設するＨＤＤ４−６〜４−８に対して、既存のオフセット量を用いた割り当て開始位置を決定する。  具体的には、論理ボリューム割当部２１３は、図１２に示すように、ＨＤＤ４−６〜４−８を、それぞれＨＤＤ４−１〜４−３と同じ順序で使用するように割り当て開始位置を求める。オフセット量が“0x18E”である場合、図１１に示す例では、スロット５〜７に搭載されたＨＤＤ４−６〜４−８それぞれについて、既存のオフセット量と“スロット番号−オフセット量決定時のＨＤＤ４の数”との積（シリンダ）を求める。つまり、オフセット量決定時のＨＤＤ４の数は上述のように“5”であるため、割り当て開始位置のシリンダは以下に示すようになる。
【００６２】
スロット５（ＨＤＤ４−６）：“0x18E×(5-5)”＝“0x18E×0”＝“0”
スロット６（ＨＤＤ４−７）：“0x18E×(6-5)”＝“0x18E×1”＝“0x18E”
スロット７（ＨＤＤ４−８）：“0x18E×(7-5)”＝“0x18E×2”＝“0x31C”
なお、増設するＨＤＤ４の割り当て開始位置は、上述した順序に限定されるものではなく、少なくとも、ＲＡＩＤグループを構成する複数のＨＤＤ４の割り当て開始位置が、領域（ａ）〜（ｅ）の間で分散するように求められれば良い。
【００６３】
次に、ＲＡＩＤグループを構成する複数のＨＤＤ４が交換される場合について説明する。
論理ボリューム割当部２１３は、ＲＡＩＤグループを構成する複数のＨＤＤ４のいずれかのＨＤＤ４が交換されると、以下のいずれかの手法を採ることができる。
例えば、論理ボリューム割当部２１３は、リビルドやコピーバックの処理時間を短縮したい場合には、通常のＨＤＤの使用方法であるディスク４ａの最アウタから論理ボリュームを割り当てることができる。つまり、論理ボリューム割当部２１３は、交換後のＨＤＤ４に対して、図７及び図８に示すＨＤＤ４−１と同様の割り当て開始位置を求め、ＲＡＩＤ制御部２１は交換後のＨＤＤ４に対してリビルドやコピーバックを実行する。
【００６４】
または、論理ボリューム割当部２１３は、ストレージ装置１の冗長性を確保したい場合には、交換前のＨＤＤ４と同じ物理位置に同じデータが保存されるように論理ボリュームを割り当てても良い。
なお、論理ボリューム割当部２１３は、ＨＤＤ４が増設又は交換される場合には、増設又は交換後のＨＤＤ４について、論理ボリューム管理情報２３１及びＨＤＤ管理情報２３２を更新する。
【００６５】
〔１−３−２〕論理ボリュームが開放又は再割り当てされる場合のＣＭの処理
次に、ＲＡＩＤグループに対して割り当てられた論理ボリュームが開放又は再割り当てされる場合のＣＭ２（ＲＡＩＤ制御部２１）の処理を説明する。
本実施形態に係るストレージ装置１では、１つのＨＤＤ４が複数のＲＡＩＤ種（ＲＡＩＤグループ）を担当することはない。つまり、論理ボリュームの開放又は再割り当ての有無に関わらず、ＲＡＩＤグループは変化しない。従って、ディスク４ａの外周部（オフセットを持たせる範囲）は、論理ボリュームの割り当て量に係わらず、論理ボリューム割当部２１３によって、上述した順序で使用される。
【００６６】
図１３は、図１に示す複数のＨＤＤ４に論理ボリュームが解放及び再割り当てされる場合の割り当て開始位置の一例を説明する図である。なお、図１３の（Ａ）は論理ボリューム１及び２が割り当てられた状態、（Ｂ）及び（Ｃ）は論理ボリューム１の解放後に論理ボリューム３が割り当てられた状態の一例を示す図である。
図１３（Ａ）の例では、複数のＨＤＤ４−１〜４−５のそれぞれに、論理ボリューム１及び２が割り当てられた状態を示している。なお、図１３（Ａ）においてＨＤＤ４−３に着目すると、領域（ｃ）の一部の領域に論理ボリューム１が割り当てられ、領域（ｃ）の残りの領域から領域（ｄ）にかけて論理ボリューム２が割り当てられている。
【００６７】
図１３（Ａ）に示す状態において、ＲＡＩＤグループから論理ボリューム１が解放され、解放後に論理ボリューム３の割り当て要求があった場合を想定する。この場合、論理ボリューム割当部２１３は、論理ボリューム３を図１３（Ｂ）及び（Ｃ）のいずれかに示すように割り当てることができる。
例えば、論理ボリューム割当部２１３は、図１３（Ｂ）に示すように、外周部におけるＨＤＤ４ごとの割り当て順序に従って、解放した論理ボリューム１の領域に論理ボリューム３の一部を割り当てることができる。そして、論理ボリューム割当部２１３は、論理ボリューム２に続いて、論理ボリューム３の残りの領域を割り当てることができる。なお、図１３（Ｂ）においてＨＤＤ４−３に着目すると、領域（ｃ）の一部の領域に論理ボリューム３の一部が割り当てられ、領域（ｅ）に論理ボリューム３の残りの領域が割り当てられている。
【００６８】
または、論理ボリューム割当部２１３は、図１３（Ｃ）に示すように、論理ボリューム２に続いて、論理ボリューム３を割り当てても良い。なお、図１３（Ｃ）においてＨＤＤ４−３に着目すると、領域（ｅ）に論理ボリューム３の一部が割り当てられ、領域（ａ）に論理ボリューム３の残りの領域が割り当てられている。
このように、論理ボリューム割当部２１３は、図１３（Ｂ）及び（Ｃ）に示すいずれかの手法で論理ボリュームの解放及び再割り当てを行なうことができる。なお、論理ボリューム割当部２１３は、図１３（Ｃ）に示す手法を採る場合、図１３（Ｂ）に示すように論理ボリューム２を跨いで分断せずに論理ボリューム３を割り当てることができる。従って、論理ボリューム割当部２１３は、図１３（Ｃ）に示す手法を採る場合、図１３（Ｂ）に示す手法よりもヘッド４ｃのシーク回数を減らすことができ、性能低下を抑止することができる。
【００６９】
〔１−４〕ＣＭの動作例
次に、上述の如く構成されたＣＭ２（ＲＡＩＤ制御部２１）の動作例を、図１４〜図１７を参照して説明する。図１４は、図２に示す条件判定部２１１による条件判定処理の一例を説明するフローチャートであり、図１５は、オフセット量決定部２１２によるオフセット量決定処理の一例を説明するフローチャートである。図１６は、図２に示す論理ボリューム割当部２１３による論理ボリュームの割り当て処理の一例を説明するフローチャートである。なお、以下の説明では、オフセット量として、オフセットシリンダ量が算出されるものとする。
【００７０】
〔１−４−１〕条件判定処理
はじめに、図１４を参照して条件判定部２１１による条件判定処理を説明する。
なお、前提として、ユーザや管理者等の指示に応じて、ＲＡＩＤ制御部２１により、ＨＤＤ４−１〜４−５を用いてＲＡＩＤグループを作成することが決定されたものとする。  図１４に示すように、条件判定部２１１により、決定したＲＡＩＤグループのＲＡＩＤ種が対象のＲＡＩＤ種、例えばＲＡＩＤ５又はＲＡＩＤ６であるか否かが判定される（ステップＳ１；条件（ii））。
【００７１】
決定したＲＡＩＤグループのＲＡＩＤ種が対象のＲＡＩＤ種ではないと判定された場合（ステップＳ１のＮｏルート）、条件判定部２１１により、全てのＨＤＤ４は適用対象外であると判定され（ステップＳ２）、処理が終了する。なお、この場合、オフセット量決定部２１２によるオフセット量の決定は抑止されるとともに、論理ボリューム割当部２１３により、各ＨＤＤ４には最アウタの割り当て開始位置に論理ボリュームが割り当てられる。
【００７２】
一方、ステップＳ１において、決定したＲＡＩＤ種が対象のＲＡＩＤ種であると判定された場合（ステップＳ１のＹｅｓルート）、条件判定部２１１により、ＲＡＩＤグループを構成するＨＤＤ４−１〜４−５のうちの未選択のＨＤＤ４が１つ選択される（ステップＳ３）。そして、条件判定部２１１により、選択したＨＤＤ４がニアラインＨＤＤであるか否かが判定される（ステップＳ４；条件（ｉ））。
【００７３】
選択したＨＤＤ４がニアラインＨＤＤであると判定された場合（ステップＳ４のＹｅｓルート）、条件判定部２１１により、選択したＨＤＤ４が他のＲＡＩＤグループに割り当てられていないか否かが判定される（ステップＳ５；条件（iv））。選択したＨＤＤ４が他のＲＡＩＤグループに割り当てられていない場合（ステップＳ５のＹｅｓルート）、条件判定部２１１により、選択したＨＤＤ４が適用対象候補と判定され（ステップＳ６）、ステップＳ８に移行する。
【００７４】
一方、ステップＳ５又はステップＳ６において、選択したＨＤＤ４がニアラインＨＤＤではない、又は、他のＲＡＩＤグループに割り当てられていると判定された場合（ステップＳ５又はＳ６のＮｏルート）、条件判定部２１１により、選択したＨＤＤ４が適用対象外と判定される（ステップＳ７）。
次に、ステップＳ８において、条件判定部２１１により、未選択のＨＤＤ４があるか否かが判定される。未選択のＨＤＤ４があると判定された場合（ステップＳ８のＹｅｓルート）、ステップＳ３に移行し、条件判定部２１１により、他の未選択のＨＤＤ４が１つ選択される。一方、未選択のＨＤＤ４がないと判定された場合（ステップＳ８のＮｏルート）、条件判定部２１１により、ステップＳ６で適用対象候補と判定されたＨＤＤ４のうちで、同一性能のＨＤＤ４が適用対象のＨＤＤであると判定される（ステップＳ９；条件（iii）。なお、ステップＳ９において、同一性能のＨＤＤ４が複数グループ存在する場合、例えば７２００ｒｐｍのＨＤＤ４が３個及び５４００ｒｐｍのＨＤＤ４が２個存在する場合、条件判定部２１１は、ＨＤＤ４の個数が多いグループ（７２００ｒｐｍのグループ）のＨＤＤ４を適用対象のＨＤＤであると判定することができる。
【００７５】
そして、条件判定部２１１により、適用対象のＨＤＤであると判定されたＨＤＤ４の情報及び当該ＨＤＤ４の数がメモリ２ｂ等の記憶領域に格納され（ステップＳ１０）、処理が終了する。
上述のように、条件判定部２１１によれば、ＨＤＤ４が適用対象のＨＤＤであるか否かが判定されるため、不適切なＲＡＩＤ種やＨＤＤ４に対して論理ボリューム割当部２１３による制御が適用されることを防止でき、ＨＤＤ４の性能低下を抑止することができる。
【００７６】
また、複数のＨＤＤ４に論理ボリュームが分散して（又はミラーリングにより）割り当てられるＲＡＩＤ種では、各ＨＤＤ４が比較的均等に使用されるため、複数のＨＤＤ４で同時故障が発生する可能性が高い。従って、ステップＳ１の判定（条件（ii））により、同時故障が発生する可能性が高いＲＡＩＤ種について、論理ボリューム割当部２１３による制御を適用することができ、効率的に同時故障の発生確率を低減することができる。
【００７７】
さらに、ステップＳ４の判定（条件（ｉ））において、比較的安価且つ大容量、低品質であるニアラインＨＤＤについて、論理ボリューム割当部２１３による制御を適用することができ、効率的に同時故障の発生確率を低減することができる。
なお、上述の如く、ステップＳ１の判定（条件（ii）），ステップＳ４の判定（条件（ｉ）），ステップＳ５の判定（条件（iv）），及びステップＳ９の処理（条件（iii））は、適宜省略したり、処理順序を入れ替えても良い。
【００７８】
〔１−４−２〕オフセット量決定処理
次に、図１５を参照してオフセット量決定部２１２によるオフセット量決定処理を説明する。
図１５に示すように、オフセット量決定部２１２により、ＲＡＩＤグループを構成するＨＤＤ４ごとに、又は、条件判定部２１１により適用対象と判定されたＨＤＤ４ごとに、いずれかのプラッタ（例えば“Head0”）の全シリンダ数が取得される（ステップＳ１１）。
【００７９】
次いで、オフセット量決定部２１２により、ＨＤＤ４ごとに、取得した対応する全シリンダ数が３等分される（ステップＳ１２）。
そして、オフセット量決定部２１２により、３等分したうちの外周部のシリンダ数が、ＲＡＩＤグループを構成するＨＤＤ４の数、又は適用対象のＨＤＤ４の数で除算され、オフセットシリンダ量（オフセット量）が決定される（ステップＳ１３）。
【００８０】
なお、上述の如く、オフセット量決定部２１２は、複数のＨＤＤ４ごとにオフセット量を決定しなくても良く、いずれかのＨＤＤ４（例えばＨＤＤ４−１）について代表してオフセット量を決定しても良い。これにより、オフセット量決定部２１２は、代表したＨＤＤ４（４−１）のオフセット量を他のＨＤＤ４のオフセット量に流用することができ、処理時間を短縮することができる。
【００８１】
〔１−４−３〕論理ボリュームの割り当て処理
次に、図１６を参照して論理ボリューム割当部２１３による論理ボリュームの割り当て処理を説明する。
図１６に示すように、論理ボリューム割当部２１３により、オフセット量と、ＲＡＩＤグループを構成する各ＨＤＤ４のＨＤＤ番号、又は、条件判定部２１１により適用対象と判定された各ＨＤＤ４のＨＤＤ番号との積（シリンダ）が求められる（ステップＳ２１）。
【００８２】
次いで、論理ボリューム割当部２１３により、求めたシリンダを用いて、“Head0”，“Sector0”としたＣＨＳ−ＬＢＡ変換が行なわれ、割り当て開始位置が求められる（ステップＳ２２）。
そして、論理ボリューム割当部２１３により、ＨＤＤ４ごとの割り当て開始位置から、論理ボリュームが割り当てられる（ステップＳ２３）。
【００８３】
なお、上述の如く、論理ボリューム割当部２１３は、オフセット量決定部２１２によりいずれかのＨＤＤ４（例えばＨＤＤ４−１）について代表してオフセット量が決定された場合には、代表したＨＤＤ４（４−１）のオフセット量を複数のＨＤＤ４について流用しても良い。これにより、論理ボリューム割当部２１３は、ステップＳ２１の処理時間を短縮することができる。
【００８４】
上述のように、本実施形態に係るＣＭ２によれば、論理ボリューム割当部２１３により、複数のＨＤＤ４の論理記憶領域の割り当て開始位置がそれぞれ異なる物理位置に割り当てられる。
これにより、ＲＡＩＤグループを構成する複数のＨＤＤ４の論理ボリュームの割り当て開始位置が、互いに物理的に異なる状態を実現できる。すなわち、ＨＤＤ４ごとにディスク４ａの物理的な使用位置を分散することができるため、ディスク４ａの特定位置（特に外周部）に基因する複数のＨＤＤ４の同時故障の発生確率を低減することができる。従って、ストレージ装置１の信頼性が向上する。
【００８５】
一例として、論理ボリューム割当部２１３が、複数のＨＤＤ４においてシリンダアドレスが異なるように、論理ボリュームの割り当て開始位置をそれぞれ異なる物理位置に割り当てた場合を説明する。図１７は、図１に示すＨＤＤ４の外周部にオフセットを持たせた場合の、ディスク４ａの物理位置に応じたニアラインＨＤＤの故障率の一例を示す図である。図１８は、図１に示すＨＤＤ４の外周部，中央部，内周部にそれぞれオフセットを持たせた場合の、ディスク４ａの物理位置に応じたニアラインＨＤＤの故障率の一例を示す図である。
【００８６】
図１７において、実線部分は、本実施形態のＣＭ２により、ＲＡＩＤグループを構成する複数のＨＤＤ４（ニアラインＨＤＤ）の外周部にそれぞれ異なるオフセットを持たせた場合の予想される故障率（各ＨＤＤ４の平均値）とディスク４ａの物理位置との関係を示す。また、破線部分は、複数のニアラインＨＤＤにオフセットを持たせない場合に予想される故障率（各ニアラインＨＤＤの平均値）とディスクの物理位置との関係を示す。図１７に示すように、本実施形態のＣＭ２によれば、ディスク４ａの外周部の故障率を平均化させることができ、複数のＨＤＤ４の同時故障の発生確率を低減することができる。
【００８７】
また、図１８において、実線部分は、図１７の場合に加えて、さらにディスク４の中央部及び内周部に対してもそれぞれ異なるオフセットを持たせた場合の予想される故障率（各ＨＤＤ４の平均値）とディスク４ａの物理位置との関係を示す。また、破線部分は、図１７と同様である。図１８に示すように、本実施形態のＣＭ２によれば、ディスク４ａの外周部，中央部，及び内周部の故障率をそれぞれ平均化させることができ、複数のＨＤＤ４の同時故障の発生確率をさらに低減することができる。
【００８８】
さらに、本実施形態に係るＣＭ２によれば、ＨＤＤ４間の回転制御を行なわず、また、ＣＨＳとＬＢＡとの間のアドレス変換の順序に制約等を設けずに済むため、ストレージ装置１（ＣＭ２）の製造コストの増加を低減することができる。
〔２〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【００８９】
例えば、上述した一実施形態では、条件判定部２１１が、ＲＡＩＤグループを構成する複数のＨＤＤ４に対して、条件（ｉ）〜（iv）のうちの少なくとも１つの条件で適用対象のＨＤＤであるか否かの判定を行なったが、これに限定されるものではない。例えば、適用対象のＨＤＤをニアラインＨＤＤやＲＡＩＤ種等に限定しない場合には、ＲＡＩＤ制御部２１は、条件判定部２１１を無効化、又はそなえないこととしても良い。
【００９０】
また、一実施形態のストレージ装置１の各種機能の全部もしくは一部は、コンピュータ（ＣＰＵ，情報処理装置，各種端末を含む）が所定のプログラムを実行することによって実現されても良い。
そのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど），ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
【００９１】
ここで、コンピュータとは、ハードウェアとＯＳ（オペレーティングシステム）とを含む概念であり、ＯＳの制御の下で動作するハードウェアを意味している。また、ＯＳが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記プログラムは、上述のようなコンピュータに、一実施形態のＣＭ（制御部，制御装置）２の各種機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
【００９２】
〔３〕付記
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
上位装置からアクセスされる論理記憶領域に対応して物理記憶領域が割り当てられる複数のディスク装置を制御する制御装置であって、
前記複数のディスク装置の前記論理記憶領域の割り当て開始位置をそれぞれ異なる物理位置に割り当てる割当部を備えることを特徴とする、制御装置。
【００９３】
（付記２）
前記割当部は、前記複数のディスク装置においてシリンダアドレス、セクタアドレス、ヘッドアドレスのいずれか１つ以上がそれぞれ異なるように、前記論理記憶領域の割り当て開始位置をそれぞれ異なる物理位置に割り当てることを特徴とする、請求項１記載の制御装置。
【００９４】
（付記３）
前記複数のディスク装置における前記物理位置のオフセット量を決定する決定部を備え、
前記決定部は、前記複数のディスク装置のうちの少なくとも１つのディスク装置における全データ記憶領域を区切った複数の範囲のうちのいずれか１つの範囲と、前記複数のディスク装置の数とに基づいて、前記オフセット量を決定することを特徴とする、付記１又は付記２記載の制御装置。
【００９５】
（付記４）
前記割当部は、他の論理記憶領域の割当要求を受けた場合に、前記複数のディスク装置の各々における前記論理記憶領域を割り当てた最終位置に続けて、前記他の論理記憶領域の割り当てを行なうことを特徴とする、付記３記載の制御装置。
（付記５）
前記割当部は、前記１つの範囲の最内周位置まで前記論理記憶領域又は前記他の論理記憶領域を割り当てた場合であって、前記１つの範囲内に割り当て可能な記憶領域がある場合に、前記割り当て可能な記憶領域の最外周位置から未割当の論理記憶領域を割り当てる一方、前記１つの範囲内に割り当て可能な記憶領域がない場合には、前記１つの範囲外の位置から前記未割当の論理記憶領域を割り当てることを特徴とする、付記４記載の制御装置。
【００９６】
（付記６）
前記複数のディスク装置に関する情報に基づいて、前記複数のディスク装置の各々が、前記割当部による前記オフセット量に基づく前記論理記憶領域の割当対象のディスク装置であるか否かを判定する判定部をさらに有し、
前記決定部は、前記判定部により前記割当対象のディスク装置であると判定されたディスク装置について、前記オフセット量を決定し、
前記割当部は、前記割当対象のディスク装置の各々について、前記割り当て開始位置を求め、前記割当対象のディスク装置の各々の割り当て開始位置から前記論理記憶領域を割り当てることを特徴とする、付記３〜５のいずれか１項記載の制御装置。
【００９７】
（付記７）
前記判定部は、前記複数のディスク装置の各々について、ディスク回転数が所定の値未満である場合に、前記割当対象のディスク装置であると判定することを特徴とする、付記６記載の制御装置。
（付記８）
前記判定部により、前記複数のディスク装置のうちの少なくとも１つのディスク装置が前記割当対象のディスク装置ではないと判定された場合、
前記割当部は、前記割当対象のディスク装置ではないと判定されたディスク装置の各々の記憶領域の最外周位置から、前記論理記憶領域を割り当てることを特徴とする、付記６又は付記７記載の制御装置。
【００９８】
（付記９）
付記１〜８のいずれか１項記載の制御装置と、
前記複数のディスク装置と、
を有することを特徴とする、ストレージ装置。
（付記１０）
上位装置からアクセスされる論理記憶領域に対応して物理記憶領域が割り当てられる複数のディスク装置を制御する制御方法であって、
前記複数のディスク装置の前記論理記憶領域の割り当て開始位置をそれぞれ異なる物理位置に割り当てる、
ことを特徴とする、制御方法。
【００９９】
（付記１１）
前記割り当てる処理において、前記複数のディスク装置においてシリンダアドレス、セクタアドレス、ヘッドアドレスのいずれか１つ以上がそれぞれ異なるように、前記論理記憶領域の割り当て開始位置をそれぞれ異なる物理位置に割り当てることを特徴とする、請求項１記載の制御装置。
【０１００】
（付記１２）
前記複数のディスク装置における前記物理位置のオフセット量を決定し、
前記オフセット量を決定する処理において、前記複数のディスク装置のうちの少なくとも１つのディスク装置における全データ記憶領域を区切った複数の範囲のうちのいずれか１つの範囲と、前記複数のディスク装置の数とに基づいて、前記オフセット量を決定することを特徴とする、付記１０又は付記１１記載の制御方法。
【０１０１】
（付記１３）
前記論理記憶領域を割り当てる処理において、他の論理記憶領域の割当要求を受けた場合に、前記複数のディスク装置の各々における前記論理記憶領域を割り当てた最終位置に続けて、前記他の論理記憶領域の割り当てを行なうことを特徴とする、付記１２記載の制御方法。
【０１０２】
（付記１４）
前記論理記憶領域を割り当てる処理において、前記１つの範囲の最内周位置まで前記論理記憶領域又は前記他の論理記憶領域を割り当てた場合であって、前記１つの範囲内に割り当て可能な記憶領域がある場合に、前記割り当て可能な記憶領域の最外周位置から未割当の論理記憶領域を割り当てる一方、前記１つの範囲内に割り当て可能な記憶領域がない場合には、前記１つの範囲外の位置から前記未割当の論理記憶領域を割り当てることを特徴とする、付記１３記載の制御方法。
【０１０３】
（付記１５）
前記複数のディスク装置に関する情報に基づいて、前記複数のディスク装置の各々が、前記オフセット量に基づく前記論理記憶領域の割当対象のディスク装置であるか否かを判定し、
前記オフセット量を決定する処理において、前記判定する処理により前記割当対象のディスク装置であると判定されたディスク装置について、前記オフセット量を決定し、
前記割り当て開始位置を求める処理において、前記割当対象のディスク装置の各々について、前記割り当て開始位置を求め、
前記論理記憶領域を割り当てる処理において、前記割当対象のディスク装置の各々の割り当て開始位置から前記論理記憶領域を割り当てることを特徴とする、付記１２〜１４のいずれか１項記載の制御方法。
【０１０４】
（付記１６）
前記判定する処理において、前記複数のディスク装置の各々について、ディスク回転数が所定の値未満である場合に、前記割当対象のディスク装置であると判定することを特徴とする、付記１５記載の制御方法。
（付記１７）
前記判定する処理により、前記複数のディスク装置のうちの少なくとも１つのディスク装置が前記割当対象のディスク装置ではないと判定された場合、
前記論理記憶領域を割り当てる処理において、前記割当対象のディスク装置ではないと判定されたディスク装置の各々の記憶領域の最外周位置から、前記論理記憶領域を割り当てることを特徴とする、付記１５又は付記１６記載の制御方法。
【０１０５】
（付記１８）
上位装置からアクセスされる論理記憶領域に対応して物理記憶領域が割り当てられる複数のディスク装置を制御する制御プログラムであって、
前記複数のディスク装置の前記論理記憶領域の割り当て開始位置をそれぞれ異なる物理位置に割り当てる、
処理をコンピュータに実行させることを特徴とする、制御プログラム。
【０１０６】
（付記１９）
上位装置からアクセスされる論理記憶領域に対応して物理記憶領域が割り当てられる複数のディスク装置を制御する制御装置であって、
プロセッサを有し、
前記プロセッサが、
前記複数のディスク装置の前記論理記憶領域の割り当て開始位置をそれぞれ異なる物理位置に割り当てる、
ことを特徴とする、制御装置。
【０１０７】
（付記２０）
上位装置からアクセスされる論理記憶領域に対応して物理記憶領域が割り当てられる複数のディスク装置を制御する制御プログラムであって、
前記複数のディスク装置の前記論理記憶領域の割り当て開始位置をそれぞれ異なる物理位置に割り当てる、
処理をコンピュータに実行させることを特徴とする、制御プログラムを記録したコンピュータ読取可能な記録媒体。
【符号の説明】
【０１０８】
１    ストレージ装置
１０    ストレージシステム
２    コントローラモジュール（制御部，制御装置）
２ａ    ＣＰＵ
２ｂ    メモリ
２ｃ    チャネルアダプタ
２ｄ    ディスクインタフェース
２１    ＲＡＩＤ制御部
２１１    条件判定部（判定部）
２１２    オフセット量決定部（決定部）
２１３    論理ボリューム割当部（割当部）
２２    Ｉ／Ｏ制御部
２３    保持部
２３１    論理ボリューム管理情報
２３２    ＨＤＤ管理情報（ディスク装置管理情報）
３    ディスクエンクロージャ
４，４−１〜４−５    ＨＤＤ（ディスク装置）
４ａ    磁気ディスク（ディスク）
４ｂ    アクチュエータ
４ｃ    磁気ヘッド（ヘッド）
５    ホスト装置
【図１】
2014032566.tif 000003
【図２】
2014032566.tif 000004
【図３】
2014032566.tif 000005
【図４】
2014032566.tif 000006
【図５】
2014032566.tif 000007
【図６】
2014032566.tif 000008
【図７】
2014032566.tif 000009
【図８】
2014032566.tif 000010
【図９】
2014032566.tif 000011
【図１０】
2014032566.tif 000012
【図１１】
2014032566.tif 000013
【図１２】
2014032566.tif 000014
【図１３】
2014032566.tif 000015
【図１４】
2014032566.tif 000016
【図１５】
2014032566.tif 000017
【図１６】
2014032566.tif 000018
【図１７】
2014032566.tif 000019
【図１８】
2014032566.tif 000020
【図１９】
2014032566.tif 000021
【図２０】
2014032566.tif 000022