(57)【要約】【課題】論理ディスクを構成する複数の物理ディスクの性能の相違に起因して論理ディスクの性能が低下するのを防止する。【解決手段】ディスクコントローラ１２はレスポンス監視モジュール及びパリティ再配置モジュールを有する。レスポンス監視モジュールは、論理ディスク１１を構成するＨＤＤ１１-0〜１１-2へのライト要求に対する応答状況を監視することにより、論理ディスク１１の運用状態におけるＨＤＤ１１-0〜１１-2の性能の不均衡状態を検出する。パリティ再配置モジュール４３は、検出されたＨＤＤ１１-0〜１１-2の性能の不均衡状態に基づき、性能が低いＨＤＤに冗長データが配置され、性能が高いＨＤＤにユーザデータが配置されているストライプグループを選択し、当該選択されたストライプグループ上で冗長データとユーザデータとを交換して再配置する。【選択図】      図１
2011013908.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理ディスクから構成され、冗長データがストライプグループを単位に前記複数の物理ディスクの少なくとも１つに配置される論理ディスクを管理・制御するディスクコントローラにおいて、
前記複数の物理ディスクへのライト要求に対する応答状況を監視することにより、前記論理ディスクの運用状態における前記複数の物理ディスクのライト性能の不均衡状態を検出する監視手段と、
前記検出された複数の物理ディスクのライト性能の不均衡状態に基づき、ライト性能が低い物理ディスクに冗長データが配置され、ライト性能が高い物理ディスクにユーザデータが配置されているストライプグループを選択し、当該選択されたストライプグループ上で前記冗長データと前記ユーザデータとを交換して再配置する再配置手段と
を具備することを特徴とするディスクコントローラ。
【請求項２】
前記再配置手段は、前記複数の物理ディスクのライト性能の不均衡状態が検出される毎に、予め定められた数のストライプグループを対象として冗長データとユーザデータとを再配置し、
前記監視手段は、予め定められた数のストライプグループを対象として冗長データとユーザデータとが再配置された場合、その再配置後における前記複数の物理ディスクへのライト要求に対する応答状況を再び監視する
ことを特徴とする請求項１記載のディスクコントローラ
【請求項３】
前記論理ディスクの運用前の状態における前記複数の物理ディスクのライト性能が相違している度合いに基づき、前記複数の物理ディスクのうちライト性能が高い物理ディスクに冗長データが配置されるストライプグループの数を決定し、この決定に基づいて前記論理ディスクの構成を初期化する初期配置手段を更に具備することを特徴とする請求項１または２に記載のディスクコントローラ。
【請求項４】
前記監視手段は、前記論理ディスクがリードアクセスが多用される用途の論理ディスクである場合、前記複数の物理ディスクへのリード要求に対する応答状況を監視することにより、前記論理ディスクの運用状態における前記複数の物理ディスクのリード性能の不均衡状態を検出し、
前記再配置手段は、前記検出された複数の物理ディスクのリード性能の不均衡状態に基づき、リード性能が低い物理ディスクにユーザデータが配置され、リード性能が高い物理ディスクに冗長データが配置されているストライプグループを選択し、当該選択されたストライプグループ上で前記冗長データと前記ユーザデータとを交換して再配置する
ことを特徴とする請求項３記載のディスクコントローラ。
【請求項５】
前記再配置手段は、前記複数の物理ディスクのリード性能の不均衡状態が検出される毎に、予め定められた数のストライプグループを対象として冗長データとユーザデータとを再配置し、
前記監視手段は、予め定められた数のストライプグループを対象として冗長データとユーザデータとが再配置された場合、その再配置後における前記複数の物理ディスクへのリード要求に対する応答状況を再び監視する
ことを特徴とする請求項４記載のディスクコントローラ。
【請求項６】
前記初期配置手段は、前記論理ディスクの運用前の状態における前記複数の物理ディスクのリード性能が相違している度合いに基づき、前記複数の物理ディスクのうちリード性能が低い物理ディスクに冗長データが配置されるストライプグループの数を決定し、この決定に基づいて前記論理ディスクの構成を初期化することを特徴とする請求項４または５に記載のディスクコントローラ。
【請求項７】
複数の物理ディスクから構成され、冗長データがストライプグループを単位に前記複数の物理ディスクの少なくとも１つに配置される論理ディスクを管理・制御する、監視手段及び再配置手段を備えたディスクコントローラにおいて、ストライプグループ単位に冗長データの配置を管理するための冗長データ管理方法であって、
前記監視手段が、前記論理ディスクの運用状態における前記複数の物理ディスクへのライト要求に対する応答状況を監視するステップと、
前記複数の物理ディスクへのライト要求に対する応答状況の監視結果に基づき、前記監視手段が、前記論理ディスクの運用状態における前記複数の物理ディスクのライト性能の不均衡状態を検出するステップと、
前記複数の物理ディスクのライト性能の不均衡状態が検出された場合、前記再配置手段が、当該検出された不均衡状態に基づき、ライト性能が低い物理ディスクに冗長データが配置され、ライト性能が高い物理ディスクにユーザデータが配置されているストライプグループを選択するステップと、
前記再配置手段が、前記選択されたストライプグループ上で前記冗長データと前記ユーザデータとを交換して再配置するステップと
を具備することを特徴とする冗長データ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＩＤ（Redundant Arrays of Inexpensive DisksまたはRedundant Arrays of Independent Disks）構成の論理ディスクを管理・制御するディスクコントローラに係り、特にストライプグループ単位に冗長データの配置を管理するディスクコントローラ及び冗長データ管理方法に関する。
【背景技術】
【０００２】
一般に高信頼ストレージ装置は、ＲＡＩＤ技術を用いて構成される論理ディスクを有している。このＲＡＩＤ構成の論理ディスクは、複数の物理ディスクから構成されており、ストライプグループ単位に管理される。ストライプグループは、論理ディスクを構成する複数の物理ディスクにそれぞれ属するストライプから構成される。ＲＡＩＤ構成の論理ディスクを有するストレージ装置では、ストライプグループ単位に冗長データが管理される。冗長データは、論理ディスクに適用されるＲＡＩＤレベルに応じて、ストライプグループ内の少なくとも１つのストライプに配置される。
【０００３】
冗長データが配置された論理ディスクでは、当該論理ディスクを構成する複数の物理ディスクのうちの１つに障害が発生しても、この障害が発生した物理ディスクのデータを残りの物理ディスクのデータで復元することができる。これにより論理ディスクの耐故障性が向上する。
【０００４】
ここで、従来の冗長データの配置について、ＲＡＩＤ４、ＲＡＩＤ５及びＲＡＩＤ６を例に説明する。ＲＡＩＤ４を適用する論理ディスクでは、冗長データとしてのパリティデータが、対応するストライプグループに無関係に、当該論理ディスクを構成する複数の物理ディスクのうちパリティディスクとして予め定められた物理ディスクのストライプに常に配置される。このようにＲＡＩＤ４では、冗長データは特定の物理ディスクのみに配置される。
【０００５】
一方、ＲＡＩＤ５を適用する論理ディスクでは、冗長データとしてのパリティデータが、予め定められた規則に従い、対応するストライプグループで決まる物理ディスクのストライプに配置される。同様に、ＲＡＩＤ６を適用する論理ディスクでは、冗長データとしての１対のパリティデータＰ及びＱが、それぞれ対応するストライプグループで決まる２つの物理ディスクのストライプの一方及び他方に配置される。上述の規則は、パリティデータが論理ディスクを構成する複数の物理ディスクに均等に分散配置されるように予め定められている。このようにＲＡＩＤ５及びＲＡＩＤ６では、冗長データは各物理ディスクに均等に分散配置される。
【０００６】
一般に論理ディスクへのデータ（ユーザデータ）のライト（更新）の際にはパリティデータも更新する必要がある。このため、パリティデータの更新頻度はユーザデータよりも高くなる。そこでＲＡＩＤ５やＲＡＩＤ６では、上述のように、論理ディスクを構成する複数の物理ディスクにパリティデータを分散配置することで、データライトにおける各物理ディスクへのアクセスを分散している。このアクセスの分散により、データライトにおいて各物理ディスクに負荷が分散される。一方、データリードではパリティデータを参照する必要はない。しかし、パリティデータを各物理ディスクに分散配置することで、ユーザデータを各物理ディスクに分散配置するストライピングがなされるため、データリードにおいても各物理ディスクへのアクセスが分散される。このアクセスの分散により、データリードにおいても各物理ディスクに負荷が分散される。
【０００７】
一方、例えば特許文献１は、ＲＡＩＤ４を適用しながら、当該ＲＡＩＤ４の欠点であるパリティディスクへのアクセス（負荷）が集中しても、高速アクセスを可能とするために、パリティディスクとして磁気ディスクに代えて高速な半導体ディスクを用いることを開示している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平８−０１６３２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ＲＡＩＤ５やＲＡＩＤ６を適用する論理ディスクのように、複数の物理ディスクに冗長データが分散配置される論理ディスクを有する従来のストレージ装置では、各物理ディスクの性能（例えばレスポンス時間）はほぼ均衡していることを前提とするのが一般的である。このように、論理ディスクを構成する各物理ディスクの性能が均衡し、かつホストからのユーザデータへのアクセスも特定の物理ディスクへ集中していない環境下であれば、冗長データを分散させることで各物理ディスクの負荷は均衡する。
【００１０】
しかし、論理ディスクを構成する各物理ディスクに性能の不均衡があった場合、或いは物理ディスクの経年劣化や、物理ディスクの故障に伴う高性能ディスクへの交換などにより各物理ディスクに性能不均衡が発生した際には、論理ディスク全体の性能が、性能が低い物理ディスクにより引き下げられる。
【００１１】
一方、特許文献１に記載の技術は、特定の物理ディスクのみに冗長データが配置される論理ディスク（ディスクアレイ）を前提としており、複数の物理ディスクに冗長データを分散配置することの利点を生かす技術ではない。
【００１２】
本発明は上記事情を考慮してなされたものでその目的は、論理ディスクを構成する複数の物理ディスクの性能に応じて、冗長データが配置される物理ディスクを変更することにより、当該複数の物理ディスクの性能の相違に起因して論理ディスクの性能が低下するのを防止できるディスクコントローラ及び冗長データ管理方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の１つの観点によれば、複数の物理ディスクから構成され、冗長データがストライプグループを単位に前記複数の物理ディスクの少なくとも１つに配置される論理ディスクを管理・制御するディスクコントローラが提供される。このディスクコントローラは、前記複数の物理ディスクへのライト要求に対する応答状況を監視することにより、前記論理ディスクの運用状態における前記複数の物理ディスクのライト性能の不均衡状態を検出する監視手段と、前記検出された複数の物理ディスクのライト性能の不均衡状態に基づき、ライト性能が低い物理ディスクに冗長データが配置され、ライト性能が高い物理ディスクにユーザデータが配置されているストライプグループを選択し、当該選択されたストライプグループ上で前記冗長データと前記ユーザデータとを交換して再配置する再配置手段とを具備する。
【発明の効果】
【００１４】
本発明によれば、複数の物理ディスクから構成される論理ディスクの運用状態において、ライト性能が低い物理ディスクに冗長データが配置され、ライト性能が高い物理ディスクにユーザデータが配置されているストライプグループが選択されて、当該ストライプグループ上で冗長データとユーザデータとが交換される。これにより、ライト性能が低い物理ディスクへのライトアクセスの頻度を減らすことができ、複数の物理ディスクのライト性能の相違に起因して論理ディスクの性能が低下するのを防止できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係るストレージ装置の構成を示すブロック図。
【図２】第１の実施形態で適用される論理ディスクのパリティレイアウトを含む初期構成の一例を、従来技術における論理ディスクのパリティレイアウトを含む構成の一例と対比させて示す図。
【図３】図１に示されるパリティレイアウト管理領域に格納されるパリティレイアウトテーブルのデータ構造例を示す図。
【図４】図１に示されるディスクコントローラ１２の機能構成を示すブロック図。
【図５】同第１の実施形態におけるパリティ初期配置モジュールの動作の手順を示すフローチャート。
【図６】同第１の実施形態におけるレスポンス監視モジュール及びパリティ再配置モジュールの動作の手順を示すフローチャート。
【図７】同第１の実施形態におけるパリティ再配置の一例を示す図。
【図８】本発明の第２の実施形態で適用される論理ディスクのパリティレイアウトを含む初期構成の一例を示す図。
【図９】同第２の実施形態におけるパリティ再配置の一例を示す図。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態につき図面を参照して説明する。  
［第１の実施形態］
図１は本発明の第１の実施形態に係るストレージ装置１０の構成を示すブロック図である。ストレージ装置１０は、当該ストレージ装置１０を利用するホスト装置２０に二次記憶領域を提供する。ストレージ装置１０は、ホスト装置２０と、例えばＳＣＳＩ（small computer system interface）またはＦＣ（fibre channel）のようなデータ通信路３０を介して接続されている。
【００１７】
ストレージ装置１０は、冗長データが分散配置されるＲＡＩＤレベルを適用可能なように、少なくとも３つの物理ディスク、例えば３つの物理ディスク（以下ＨＤＤと称する）１１-0（＃０）〜１１-2（＃２）を備えている。ＨＤＤ１１-0〜１１-2は、それぞれ磁気ディスク装置のようなディスクドライブにより実現される。第１の実施形態では、ホスト装置２０から認識可能な論理ディスク１１が、ＨＤＤ１１-0〜１１-2から構成されている。第１の実施形態においてＨＤＤ１１-0〜１１-2の性能は相違しており、ＨＤＤ１１-0及び１１-1の性能が最も低く、ＨＤＤ１１-2の性能が最も高いものとする。
【００１８】
論理ディスク１１は特別のＲＡＩＤ５を適用している。「特別のＲＡＩＤ５」とは、従来から知られているＲＡＩＤ５（以下、通常のＲＡＩＤ５と称する）を基本的に適用しながら、通常のＲＡＩＤ５とは異なるパリティデータの配置手法を適用する特別のＲＡＩＤ構成を指す。
【００１９】
図２は、第１の実施形態で適用される論理ディスクのパリティレイアウトを含む初期構成（前者）の一例を、従来技術における論理ディスクのパリティレイアウトを含む構成（後者）の一例と対比させて示す。図２（ａ）は前者の一例を示し、図２（ｂ）は後者の一例を示す。図２（ａ）に示す論理ディスク１１は特別のＲＡＩＤ５を適用し、図２（ｂ）に示す論理ディスク１１は通常のＲＡＩＤ５を適用する。
【００２０】
図２に示されるように、論理ディスク１１の記憶領域は、ストライプグループ番号が０からｐ−１までのｐ個のストライプグループＳＧ0〜ＳＧp-1に区分して管理される。ストライプグループＳＧi（ｉ＝０，１，…ｐ−１）は、論理ディスク１１を構成するＨＤＤ１１-0〜１１-2にそれぞれ属するストライプから構成される。以下の説明では、ユーザデータが格納されるストライプをデータストライプと呼び、パリティデータが格納されるストライプをパリティストライプと呼ぶこともある。
【００２１】
ストライプグループＳＧi及び当該ストライプグループＳＧi内のストライプの物理位置は、当該ストライプグループＳＧiのストライプグループ番号ｉから一意に特定される。また、ストライプグループＳＧiはホスト装置２０から認識可能な論理アドレスに対応付けて管理される。
【００２２】
図２において、Ｄ０〜Ｄ７はユーザデータである。Ｐ01はストライプグループＳＧ0（に格納されるユーザデータＤ0及びＤ1）のパリティデータ、Ｐ23はストライプグループＳＧ1（に格納されるユーザデータＤ2及びＤ3）のパリティデータである。同様に、Ｐ45はストライプグループＳＧ2（に格納されるユーザデータＤ4及びＤ5）のパリティデータ、Ｐ67はストライプグループＳＧ3（に格納されるユーザデータＤ6及びＤ7）のパリティデータである。
【００２３】
図２（ｂ）に示す論理ディスク１１は通常のＲＡＩＤ５を適用する。このため図２（ｂ）に示す論理ディスク１１では、ストライプグループＳＧ0〜ＳＧp-1のパリティデータは、当該論理ディスク１１を構成するＨＤＤ１１-0〜１１-2に均等に分散される。例えば、ストライプグループＳＧ0，ＳＧ3のパリティデータＰ01，Ｐ67はＨＤＤ１１-2に配置され、ストライプグループＳＧ1のパリティデータＰ23はＨＤＤ１１-1に配置され、ストライプグループＳＧ2のパリティデータＰ45はＨＤＤ１１-0に配置される。
【００２４】
一方、図２（ａ）に示す論理ディスク１１は特別のＲＡＩＤ５を適用する。特別のＲＡＩＤ５を適用する図２（ａ）に示す論理ディスク１１では、当該論理ディスク１１を構成するＨＤＤ１１-0〜１１-2の性能が相違している度合い（以下、性能相違度と称する）が予め分かっている場合、ストライプグループＳＧ0〜ＳＧp-1のパリティデータの多くは、性能が高いＨＤＤ、例えば性能が最も高いＨＤＤに配置される。
【００２５】
第１の実施形態では、性能が最も高いＨＤＤはＨＤＤ１１-2である。このため、例えばストライプグループＳＧ1にユーザデータＤ2及びＤ3とパリティデータＰ23を格納する場合、通常のＲＡＩＤ５であればパリティデータＰ23は図２（ｂ）に示されるようにＨＤＤ１１-1に配置されるのに対し、第１の実施形態ではパリティデータＰ23は図２（ａ）に示されるように性能が最も高いＨＤＤ１１-2に配置される。図２（ａ）の例では、ユーザデータＤ2はＨＤＤ１１-0に、ユーザデータＤ3はＨＤＤ１１-1に、それぞれ配置される。しかし、ユーザデータＤ2がＨＤＤ１１-1に、ユーザデータＤ3がＨＤＤ１１-0に配置されても構わない。
【００２６】
図２（ａ）に示す論理ディスク１１におけるパリティレイアウト（パリティデータの配置）は、前記特許文献１に記載されているＲＡＩＤ４のディスクアレイのパリティディスクとして用いられる半導体ディスクに代えて、高性能ＨＤＤを用いた場合のそれと一見類似している。しかし、図２（ａ）に示す論理ディスク１１はＲＡＩＤ５を基本としており、全てのストライプグループのパリティデータが高性能ＨＤＤ１１-2に配置されるとは限らない。
【００２７】
もし、論理ディスク１１に特許文献１に記載されているようなＲＡＩＤ４を適用して、全てのストライプグループのパリティデータを高性能ＨＤＤ１１-2に集中して配置すると、パリティデータの更新が当該高性能ＨＤＤ１１-2に集中する。このため、高性能ＨＤＤ１１-2が逆に性能のボトルネックとなる可能性もある。そこで第１の実施形態では、詳細を後述するように、ＨＤＤ１１-0〜１１-2の性能相違度に応じて、パリティデータの配置先が高性能ＨＤＤに固定されるストライプグループと、パリティデータの配置先が通常のＲＡＩＤ５と同様に分散されるストライプグループとを混在させることにより、ＨＤＤ１１-0〜１１-2の実質的な性能を均衡させている。
【００２８】
ＨＤＤ１１-0〜１１-2の実質的な性能とは、外部から当該ＨＤＤ１１-0〜１１-2に加わる負荷（例えば、要求バッファに要求順に保持されている実行待ち状態にあるディスク入出力要求の数）が必ずしも同一ではない論理ディスク１１の運用状態において当該ＨＤＤ１１-0〜１１-2が実際に発揮することができる性能を指す。よって、ＨＤＤ１１-0〜１１-2の実質的な性能は、動的性能であるといえる。この動的性能は、論理ディスク１１の運用状態だけでなく、ＨＤＤ１１-0〜１１-2の劣化によっても変化する。これに対し、ＨＤＤ１１-0〜１１-2が一定条件（例えば、要求バッファにディスク入出力要求が保持されていない状態）のもとで発揮できる性能は、静的性能であるといえる。
【００２９】
再び図１を参照すると、ストレージ装置１０はディスクコントローラ１２を更に備えている。ディスクコントローラ１２は、論理ディスク１１を定義（つまり構築）すると共に当該論理ディスク１１を管理する。ディスクコントローラ１２はまた、論理ディスク１１を構成するＨＤＤ１１-0〜１１-2へのアクセスを、ホスト装置２０からの入出力（Ｉ／Ｏ）要求（以下、ホストＩ／Ｏ要求と称する）に応じて制御する。
【００３０】
ディスクコントローラ１２は、ホストインタフェース部（ホストＩ／Ｆ部）１２１、ディスクインタフェース部（ディスクＩ／Ｆ部）１２２、ＣＰＵ１２３、ＲＯＭ１２４及びＲＡＭ１２５を有している。ホストインタフェース部１２１はホスト装置２０とディスクコントローラ１２との間の通信を制御する。ディスクインタフェース部１２２はＨＤＤ１１-0〜１１-2とディスクコントローラ１２との間の通信を制御する。
【００３１】
ＣＰＵ１２３は、ディスクコントローラ１２における処理を実行する。ＲＯＭ１２４は、ＣＰＵ１２３による処理の実行に必要なプログラムＰＧを予め格納するコンピュータ読み取り可能な記憶媒体である。プログラムＰＧは、レスポンス監視ルーチンＲ１、パリティ初期配置ルーチンＲ２及びパリティ再配置ルーチンＲ３を含む。ＲＡＭ１２５は、ＣＰＵ１２３が利用するデータ等を格納するための記憶領域を提供する。
【００３２】
ＲＡＭ１２５の記憶領域の一部は、論理ディスク構成情報を格納するための論理ディスク構成管理領域１２５ａとして用いられる。論理ディスク構成情報は、論理ディスク１１を構成するＨＤＤ（ここではＨＤＤ１１-0〜１１-2）に関する情報を含む。ＨＤＤに関する情報は、当該ＨＤＤの静的性能を表す情報、例えば要求バッファにディスクＩ／Ｏ要求が保持されていない状態（つまり一定条件）のもとで、ディスクコントローラ１２から当該ＨＤＤにディスクＩ／Ｏ要求が与えられてから、要求されたディスクＩ／Ｏの完了を通知するための完了応答が当該ＨＤＤからディスクコントローラ１２に返されるまでに要するレスポンス時間（以下、標準レスポンス時間と称する）を示す情報を含む。
【００３３】
ＲＡＭ１２５の記憶領域の他の一部は、パリティレイアウトテーブルを格納するためのパリティレイアウト管理領域１２５ｂとして用いられる。パリティレイアウトテーブルは、ストライプグループ毎に、パリティデータが配置されるＨＤＤを示す。
【００３４】
ＲＡＭ１２５の記憶領域の更に他の一部は、論理ディスク１１を構成するＨＤＤ１１-j（ｊ＝０，１，２）毎のレスポンス統計情報を格納するためのレスポンス統計情報領域１２５ｃとして用いられる。このレスポンス統計情報は、論理ディスク１１の運用状態において例えば一定期間内に発生する、ＨＤＤ１１-jに対する全てのディスクＩ／Ｏ要求に対するレスポンス時間を保持する。ここでは、ディスクＩ／Ｏ要求が、ランダムライトのようなライトアクセスを要求するディスクライト要求であるものとする。
【００３５】
第１の実施形態では、ＨＤＤ１１-j毎のレスポンス統計情報に基づいて算出される、各ＨＤＤ１１-jのレスポンス時間の平均値（平均レスポンス時間）が、当該各ＨＤＤ１１-jの性能（動的性能）を表す情報として用いられる。そして各ＨＤＤ１１-jの動的性能が均衡するように、パリティデータの配置先が高性能ＨＤＤに固定されるストライプグループと、パリティデータの配置先が分散されるストライプグループとが決定される。
【００３６】
図３は、図１に示されるパリティレイアウト管理領域１２５ｂに格納されるパリティレイアウトテーブルのデータ構造例を示す。図３に示すパリティレイアウトテーブルは、ストライプグループＳＧ0〜ＳＧp-1のストライプグループ番号０〜ｐ−１にそれぞれ対応付けて、当該ストライプグループＳＧ0〜ＳＧp-1のパリティデータが配置されるＨＤＤを示すパリティ位置情報を保持する。第１の実施形態においてパリティ位置情報は、パリティデータが配置されるＨＤＤの識別番号である。ＨＤＤ１１-0（＃０）〜１１-2（＃２）の識別番号は、それぞれ０〜２であるものとする。
【００３７】
図４は図１に示されるディスクコントローラ１２の機能構成を示すブロック図である。ディスクコントローラ１２は、レスポンス監視モジュール４１、パリティ初期配置モジュール４２及びパリティ再配置モジュール４３を含む。
【００３８】
レスポンス監視モジュール４１は、論理ディスク１１の運用状態において、ディスクインタフェース部１２２からＨＤＤ１１-0〜１１-2にディスクＩ／Ｏ要求が送出されてから、要求されたディスクＩ／Ｏの完了を通知するための完了応答が当該ＨＤＤ１１-0〜１１-2から返されるまでに要するレスポンス時間（つまりディスクＩ／Ｏ要求に対するレスポンス時間）を監視して、当該レスポンス時間をレスポンス統計情報の要素として採取する。レスポンス監視モジュール４１は、直近の一定期間に採取されたＨＤＤ１１-0〜１１-2のレスポンス時間の系列を含むレスポンス統計情報に基づき、ＨＤＤ１１-0〜１１-2の平均レスポンス時間を算出する。レスポンス監視モジュール４１は、ＨＤＤ１１-0〜１１-2の平均レスポンス時間の差からＨＤＤ１１-0〜１１-2の負荷に不均衡が生じているかを判断する。ＨＤＤ１１-0〜１１-2の負荷は、ＨＤＤ１１-0〜１１-2の動的性能に相当する。このＨＤＤ１１-0〜１１-2の負荷は、外部からＨＤＤ１１-0〜１１-2に加わる負荷（例えば要求バッファに要求順に保持されているディスクＩ／Ｏ要求の数）、ＨＤＤ１１-0〜１１-2の劣化の度合い及びＨＤＤ１１-0〜１１-2の静的負荷等の影響を受ける。
【００３９】
パリティ初期配置モジュール４２は、ＨＤＤ１１-0〜１１-2の静的性能相違度に基づいて、ストライプグループＳＧ0〜ＳＧp-1のうち、パリティデータが高性能ＨＤＤに固定的に配置されるストライプグループの数を決定する。パリティ初期配置モジュール４２は、決定された数に基づいて論理ディスク１１のＲＡＩＤ構成を初期化する。ここでは、パリティレイアウトテーブルが生成される。
【００４０】
パリティ再配置モジュール４３は、ＨＤＤ１１-0〜１１-2の平均レスポンス時間（つまりＨＤＤ１１-0〜１１-2の動的性能）に不均衡が生じているとレスポンス監視モジュール４１によって判定された場合、例えば１ストライプグループ毎にＨＤＤ（ストライプ）間でユーザデータとパリティデータとを交換する。パリティ再配置モジュール４３は、このデータ交換によりパリティ再配置を行う。
【００４１】
第１の実施形態においてレスポンス監視モジュール４１、パリティ初期配置モジュール４２及びパリティ再配置モジュール４３は、ディスクコントローラ１２内のＣＰＵ１２３がＲＯＭ１２４からプログラムＰＧのそれぞれレスポンス監視ルーチンＲ１、パリティ初期配置ルーチンＲ２及びパリティ再配置ルーチンＲ３を読み込んで実行することにより実現されるソフトウェアモジュールである。しかし、これらのモジュール４１〜４３の一部または全部がハードウェアモジュールであっても構わない。
【００４２】
次に、第１の実施形態の動作について説明する。
【００４３】
第１の実施形態では、ストレージ装置１０内の論理ディスク１１が、オンラインデータを保存するような目的で用いられるものとする。このような用途では、ホスト装置２０からのホストＩ／Ｏ要求に伴うストレージ装置１０内の論理ディスク１１へのアクセスとして、ランダムなデータライト、つまりライトアクセスが多くなる。論理ディスク１１のストライプグループへのライトアクセスの際には当該ストライプグループ内のパリティデータも更新する必要がある。このため、ライトアクセスが多い場合、パリティデータの更新も多発して、論理ディスク１１全体の性能が当該論理ディスク１１を構成するＨＤＤ１１-0〜１１-2のうち性能が低いＨＤＤにより引き下げられる。
【００４４】
そこで第１の実施形態では論理ディスク１１全体の性能を最大限に発揮できるように、次のような手法を適用する。  
第１はパリティ初期配置モジュール４２によって適用される手法である。この第１の手法によれば、論理ディスク１１の初期構築時に、ＨＤＤ１１-0〜１１-2のうち静的性能が高いＨＤＤにパリティデータが多く配置される。
【００４５】
第２はレスポンス監視モジュール４１及びパリティ再配置モジュール４３によって適用される手法である。この第２の手法によれば、論理ディスク１１の運用中にＨＤＤ１１-0〜１１-2の動的性能の不均衡が検出された場合に、動的性能が高いＨＤＤ上のユーザデータと動的性能が低いＨＤＤ上のパリティデータとがストライプグループ単位で交換される。
【００４６】
まず、パリティ初期配置モジュール４２の動作について、図５のフローチャートを参照して説明する。  
パリティ初期配置モジュール４２は、論理ディスク１１のＲＡＩＤ構成を初期化するに際し、つまり論理ディスク１１を初期構築するに際し、論理ディスク構成管理領域１２５ａに格納されている論理ディスク構成情報を参照する（ステップ５０１）。そしてパリティ初期配置モジュール４２は、論理ディスク構成情報に含まれている、論理ディスク１１を構成するＨＤＤ１１-0〜１１-2の静的性能を表す情報に基づいて、静的性能相違度を算出する（ステップ５０２）。
【００４７】
ここで、ＨＤＤ１１-0〜１１-2のうち最も高い静的性能を持つＨＤＤをＨＤＤxで表し、最も低い静的性能を持つＨＤＤをＨＤＤyで表し、ＨＤＤx，ＨＤＤyの性能をＰx，Ｐyで表すものとする。また、残りのＨＤＤをＨＤＤzで表し、ＨＤＤzの静的性能をＰzで表すものとする。Ｐx，Ｐy，Ｐzの値が、例えばレスポンス時間のように性能が高いほど小さくなる値である場合、ステップ５０２では、静的性能Ｐy，Ｐzと静的性能Ｐxとのそれぞれの差分（Ｐy−Ｐx），（Ｐz−Ｐx）が静的性能相違度として算出される。
【００４８】
パリティ初期配置モジュール４２はステップ５０２を実行すると、当該ステップ５０２で算出された静的性能相違度に基づいて、ＨＤＤ１１-0〜１１-2の間に閾値を超える静的性能相違度があるかを判定する（ステップ５０３）。このステップ５０３では、最も低い静的性能Ｐyと最も高い静的性能Ｐxとの差分（Ｐy−Ｐx）によって示される静的性能相違度、つまり最も値が大きい静的性能相違度が閾値を超えているかによって、ＨＤＤ１１-0〜１１-2の間に閾値を超える静的性能相違度があるかが判定される。
【００４９】
なお、静的性能Ｐy，Ｐzと静的性能Ｐxとのそれぞれの比率Ｐy／Ｐx，Ｐz／Ｐxを静的性能相違度として定義し、最も低い静的性能Ｐyと最も高い静的性能Ｐxとの比率Ｐy／Ｐxが閾値を超えているかによって、ＨＤＤ１１-0〜１１-2の間に閾値を超える静的性能相違度があるかが判定されてもよい。また、Ｐx，Ｐyの値が、例えばレスポンス速度のように、性能が高いほど大きくなる値である場合、ＰxとＰyとの差分（Ｐx−Ｐy）またはＰxとＰyとの比率Ｐx／Ｐyを静的性能相違度として定義し、（Ｐx−Ｐy）またはＰx／Ｐyが閾値を超えていることをもって、ＨＤＤ１１-0〜１１-2の間に閾値を超える静的性能相違度があると定義してもよい。
【００５０】
もし、ＨＤＤ１１-0〜１１-2の間に閾値を超える静的性能の差がないならば（ステップ５０３のＮｏ）、パリティ初期配置モジュール４２は、論理ディスク１１を通常のＲＡＩＤ５のＲＡＩＤ構成に初期化して、当該論理ディスク１１の運用を開始する（ステップ５０４）。このステップ５０４においてパリティ初期配置モジュール４２は、ＲＡＩＤ５に適合するパリティレイアウトテーブルを生成して、当該パリティレイアウトテーブルをパリティレイアウト管理領域１２５ｂに格納する。
【００５１】
これに対し、ＨＤＤ１１-0〜１１-2の間に閾値を超える静的性能の差があるならば（ステップ５０３のＹｅｓ）、パリティ初期配置モジュール４２はＨＤＤ１１-0〜１１-2の間の静的性能相違度に基づき、最も静的性能が高いＨＤＤ（ここではＨＤＤ１１-2）にパリティデータが固定的に配置されるストライプグループの数を決定する（ステップ５０５）。この決定手法については後述する。
【００５２】
パリティ初期配置モジュール４２は、ステップ５０５を実行すると、当該ステップ５０５で決定されたストライプグループの数に基づいて、論理ディスク１１を特別のＲＡＩＤ５のＲＡＩＤ構成に初期化して、当該論理ディスク１１の運用を開始する（ステップ５０６）。このステップ５０６においてパリティ初期配置モジュール４２は、ＲＡＩＤ５を基本としながら、ステップ５０５で決定された数のストライプグループにおけるパリティデータの配置先が最も静的性能が高いＨＤＤ１１-2となるようなパリティレイアウトテーブル（図３参照）を生成して、当該パリティレイアウトテーブルをパリティレイアウト管理領域１２５ｂに格納する。なお、ＨＤＤ１１-0〜１１-2の静的性能は、論理ディスク１１のＲＡＩＤ構成の初期化直後の当該ＨＤＤ１１-0〜１１-2の動的性能、つまり論理ディスク１１の運用が開始される際の当該ＨＤＤ１１-0〜１１-2の初期動的性能であるといえる。
【００５３】
ステップ５０６が実行された場合、論理ディスク１１は、パリティデータの配置先が高性能なＨＤＤ１１-2に固定されるストライプグループと、パリティデータの配置先が通常のＲＡＩＤ５と同様にＨＤＤ１１-0〜１１-2に分散されるストライプグループとが混在した状態で運用される。これにより、静的性能が高いＨＤＤ１１-2を有効に利用しながら、ＨＤＤ１１-0〜１１-2の負荷（動的性能）を均衡させることが可能となる。
【００５４】
しかし、ＨＤＤ１１-0〜１１-2の負荷（動的性能）の均衡状態は、例えばディスクライト要求（ライトアクセス）がＨＤＤ１１-0〜１１-2のうちのいずれかに集中すると崩れる可能性がある。ＨＤＤ１１-0〜１１-2の動的性能（動的ライト性能）が不均衡状態となった場合、パリティデータの配置先を、その時点において動的性能が低いＨＤＤから、その時点において動的性能が高いＨＤＤに切り替えるならば、ＨＤＤ１１-0〜１１-2の動的性能を均衡させる可能性がある。
【００５５】
ＨＤＤ１１-0〜１１-2の動的性能は、前述したように、論理ディスク１１の運用状態におけるＨＤＤ１１-0〜１１-2へのディスクＩ／Ｏ要求（ここではディスクライト要求）に対するレスポンス時間によって表すことができる。そこで第１の実施形態では、レスポンス監視モジュール４１がＨＤＤ１１-0〜１１-2へのディスクライト要求に対するレスポンス時間を監視することによって、ＨＤＤ１１-0〜１１-2の動的性能（負荷）の不均衡状態を検出するようにしている。パリティ再配置モジュール４３は、この不均衡状態の検出に応じて、パリティデータの配置先を切り替えて、パリティデータを再配置する。
【００５６】
以下、レスポンス監視モジュール４１及びパリティ再配置モジュール４３の動作について、図６のフローチャートを参照して説明する。  
レスポンス監視モジュール４１は、一定期間Ｔの間、レスポンス時間監視処理を実行する（ステップ６０１）。レスポンス監視モジュール４１は、このレスポンス時間監視処理により、ホスト装置２０からディスクコントローラ１２に与えられる、論理ディスク１１へのデータライトのためのホストＩ／Ｏ要求（以下、ホストライト要求と称する）に応じて、当該ディスクコントローラ１２のディスクインタフェース部１２２からＨＤＤ１１-0〜１１-2のうちの少なくとも１つのＨＤＤ１１-jにディスクライトのためのディスクＩ／Ｏ要求（つまりディスクライト要求）が送出される毎に、そのディスクライト要求に対するレスポンス時間を監視する。このレスポンス時間は、ディスクコントローラ１２のディスクインタフェース部１２２からＨＤＤ１１-jにディスクライト要求が送出されてから、要求されたディスクライトの完了を通知するための完了応答がＨＤＤ１１-jからディスクインタフェース部１２２に返されるまでの時間である。第１の実施形態において一定期間Ｔは１日（２４時間）であるが、それより短くても（例えば８時間）、或いは長くても（例えば１週間）構わない。
【００５７】
ステップ６０１のレスポンス時間監視処理は次のように実行される。まずレスポンス監視モジュール４１は、一定期間Ｔの間に発生する、ホスト装置２０からのホストライト要求に応じてディスクコントローラ１２のディスクインタフェース部１２２からＨＤＤ１１-jに送出されるディスクライト要求に対するレスポンス時間を監視して採取する。そしてレスポンス監視モジュール４１は、ＨＤＤ１１-jへのディスクライト要求に対するレスポンス時間を採取する都度、当該採取したレスポンス時間の情報を、ＨＤＤ１１-jに対応付けてレスポンス統計情報領域１２５ｃに格納されているレスポンス統計情報に追加する。
【００５８】
このように第１の実施形態では、ホスト装置２０からのホストライト要求に応じてＨＤＤ１１-jに送出されるディスクライト要求に対するレスポンス時間がレスポンス監視モジュール４１によって採取される。しかし、例えばレスポンス監視モジュール４１にホスト装置２０から独立にディスクライト要求を発行する機能を持たせ、当該レスポンス監視モジュール４１がＨＤＤ１１-0〜１１-2の動的性能の測定のために自律的にディスクライト要求を発行してレスポンス時間を採取しても構わない。このような測定は、ホスト装置２０からのホストＩ／Ｏ要求の実行に影響を及ぼさないように、当該ホストＩ／Ｏ要求に起因する負荷が低い期間（例えば、ホストＩ／Ｏ要求が実行されていない期間）に実施するとよい。なお、動的性能測定のためのディスクライト要求を発行するモジュールをレスポンス監視モジュール４１から独立させてディスクコントローラ１２内に設けてもよい。
【００５９】
レスポンス監視モジュール４１は、レスポンス時間監視処理（ステップ６０１）を開始してから一定期間Ｔが経過すると、当該レスポンス時間監視処理を終了する。そしてレスポンス監視モジュール４１は、その時点においてレスポンス統計情報領域１２５ｃに格納されているＨＤＤ１１-0〜１１-2毎のレスポンス統計情報に基づき、ＨＤＤ１１-0〜１１-2毎の平均レスポンス時間を算出する（ステップ６０２）。
【００６０】
次にレスポンス監視モジュール４１は、算出したＨＤＤ１１-0〜１１-2毎の平均レスポンス時間を比較して、例えば最も長い平均レスポンス時間と最も短い平均レスポンス時間との差分Δｔを算出する（ステップ６０３）。レスポンス監視モジュール４１は、この差分Δｔが閾値ｔｒを超えているかによって、ＨＤＤ１１-0〜１１-2毎の平均レスポンス時間の間に差異があるかを判定する（ステップ６０４）。
【００６１】
もし、差分Δｔが閾値ｔｒを超えているならば、レスポンス監視モジュール４１はＨＤＤ１１-0〜１１-2毎の平均レスポンス時間（つまり動的性能または負荷）の間に差異があると判定する（ステップ６０４のＹｅｓ）。この場合、レスポンス監視モジュール４１はパリティ再配置モジュール４３に制御を渡す。
【００６２】
するとパリティ再配置モジュール４３はパリティレイアウト管理領域１２５ｂに格納されているパリティレイアウトテーブルを参照することにより、最も短い平均レスポンス時間よりも閾値ｔｒを超えて平均レスポンス時間が長いＨＤＤ（以下、第１のＨＤＤと称する）にパリティデータが存在し、且つ当該最も短い平均レスポンス時間のＨＤＤ（以下、第２のＨＤＤと称する）にユーザデータが存在するストライプグループを１つ、パリティ再配置が行われるべきストライプグループとして選択する（ステップ６０５）。明らかなように第２のＨＤＤは動的性能（動的ライト性能）が高く、第１のＨＤＤは動的性能が低い。
【００６３】
ここで、第１のＨＤＤにパリティデータが存在し、且つ第２のＨＤＤにユーザデータが存在するストライプグループのうち、アクセスの局所性の観点から、直近の統計で（例えば直近の一定時間当たりの）アクセス回数の高いストライプグループを選択することが望ましい。このような選択は、ストライプグループ毎のアクセス回数を保持する統計情報を利用することによって実現可能である。
【００６４】
パリティ再配置モジュール４３はストライプグループを選択すると、当該選択したストライプグループを対象に、第１のＨＤＤに存在するパリティデータと第２のＨＤＤに存在するユーザデータとを交換することにより、パリティデータを再配置する（ステップ６０６）。またパリティ再配置モジュール４３は、パリティレイアウト管理領域１２５ｂに格納されているパリティレイアウトテーブルを、パリティデータの再配置後の状態を表すように更新する（ステップ６０７）。そしてパリティ再配置モジュール４３はレスポンス監視モジュール４１に制御を戻す。これによりレスポンス監視モジュール４１は、再びレスポンス時間監視処理（ステップ６０１）を開始する。
【００６５】
一方、差分Δｔが閾値ｔｒを超えていないならば、レスポンス監視モジュール４１はＨＤＤ１１-0〜１１-2毎の平均レスポンス時間の間に差異がないと判定する（ステップ６０４のＮｏ）。この場合、レスポンス監視モジュール４１はパリティ再配置モジュール４３に制御を渡さずに、再びレスポンス時間監視処理（ステップ６０１）を開始する。つまり、ステップ６０４がＮｏの場合、ステップ６０５〜６０７をスキップしてステップ６０１が再び開始される。
【００６６】
図７は、以上のパリティ再配置の一例を示す。図７の例は、ＨＤＤ１１-2とＨＤＤ１１-0及び１１-1との間に、いずれも閾値ｔｒを超えるこえる平均レスポンス時間の差がある場合を示している。
【００６７】
このような場合、パリティ再配置モジュール４３は、平均レスポンス時間が長い第１のＨＤＤとしてのＨＤＤ１１-0または１１-1にパリティデータが存在し、且つ平均レスポンス時間が短い第２のＨＤＤとしてのＨＤＤ１１-2にユーザデータが存在するストライプグループを１つ、パリティ再配置が行われるべきストライプグループとして選択する（ステップ６０５）。図７の例では、ストライプグループＳＧ1が選択される。
【００６８】
パリティ再配置モジュール４３は、選択したストライプグループＳＧ1のＨＤＤ１１-1に存在するパリティデータＰ23と、当該ストライプグループＳＧ1のＨＤＤ１１-2に存在するユーザデータＤ3とを、図７において矢印７１で示すように交換する（ステップ６０６）。このパリティ再配置モジュール４３によるデータの交換に後続するパリティレイアウトテーブルの更新の後、レスポンス監視モジュール４１は再びレスポンス時間監視処理（ステップ６０１）を実行し、この監視処理で取得されるＨＤＤ１１-0〜１１-2毎の平均レスポンス時間の間に差異があるかを判定する（ステップ６０４）。もし、今回もＨＤＤ１１-0〜１１-2毎の平均レスポンス時間の間に依然として差異があると判定された場合、パリティ再配置モジュール４３は、平均レスポンス時間が長いＨＤＤ１１-0または１１-1にパリティデータが存在し、且つ平均レスポンス時間が短いＨＤＤ１１-2にユーザデータが存在するストライプグループを選択する（ステップ６０５）。図７の例では、ストライプグループＳＧ2が選択される。
【００６９】
パリティ再配置モジュール４３は、選択したストライプグループＳＧ2のＨＤＤ１１-0に存在するパリティデータＰ45と、当該ストライプグループＳＧ1のＨＤＤ１１-2に存在するユーザデータＤ4とを、図７において矢印７２で示すように交換する（ステップ６０６）。
【００７０】
第１の実施形態によれば、上述のようなパリティ再配置を繰り返すだけで、差分Δｔを閾値ｔｒ以下にして、ＨＤＤ１１-0〜１１-2の平均レスポンス時間を均衡させることができる。これによりＨＤＤ１１-0〜１１-2の動的性能を均衡させて、当該ＨＤＤ１１-0〜１１-2の負荷を均一化させることができる。差分Δｔが閾値ｔｒ以下となると、パリティ再配置モジュール４３はパリティ再配置をスキップする。
【００７１】
さて、図７に示すようにＨＤＤ１１-2にパリティデータを再配置することによって、ＨＤＤ１１-0〜１１-2の動的性能を均衡させても、その均衡状態は、例えばＨＤＤ１１-2にディスクライト要求が集中すると崩れる可能性がある。今、ＨＤＤ１１-2にディスクライト要求が集中した結果、当該ＨＤＤ１１-2の平均レスポンス時間が著しく長くなる一方、例えばＨＤＤ１１-1の平均レスポンス時間が著しく短くなって、その差分が閾値ｔｒを超えたものとする。
【００７２】
このような状態では、第１のＨＤＤはＨＤＤ１１-2となり、第２のＨＤＤはＨＤＤ１１-1となることから、ＨＤＤ１１-2にパリティデータが存在し、且つＨＤＤ１１-1にユーザデータが存在するストライプグループが選択される。そして、選択されたストライプグループのＨＤＤ１１-2に存在するパリティデータと、当該ストライプグループのＨＤＤ１１-1に存在するユーザデータとが交換される。これによりＨＤＤ１１-0〜１１-2の平均レスポンス時間（動的性能）が再び均衡される。
【００７３】
上述のように、第１の実施形態では１ストライプグループを対象とするパリティ再配置が行われる毎に、レスポンス時間監視処理が行われる。しかし、複数のストライプグループを対象とするパリティ再配置が行われる毎に、レスポンス時間監視処理が行われ構成としてもよい。
【００７４】
［第２の実施形態］
次に本発明の第２の実施形態について、便宜的に図１及び図４を援用して説明する。つまり第２の実施形態において、論理ディスク１１を含むストレージ装置１０の構成及びストレージ装置１０内のディスクコントローラ１２の構成は第１の実施形態と同一であるものとする。
【００７５】
第２の実施形態が第１の実施形態と相違するのは、論理ディスク１１が、アーカイブ用途のような、当該論理ディスク１１へのアクセスの殆どがリードアクセスとなる用途で用いられる点にある。リードアクセスでは、ランダムライトのようなライトアクセスと異なり、パリティデータを参照する必要はない。したがってリードアクセスの効率的な負荷分散のためには、ストライプグループＳＧ0〜ＳＧp-1のパリティデータの多くを例えばＨＤＤ１１-0〜１１-2のうち静的性能が低いＨＤＤ、例えば静的性能が最も低いＨＤＤに配置するとよい。
【００７６】
図８は、第２の実施形態で適用される論理ディスクのパリティレイアウトを含む初期構成例を示す。図８に示す論理ディスク１１は第１の実施形態と同様に特別のＲＡＩＤ５を適用する。このため第２の実施形態においても、論理ディスク１１を構成するＨＤＤ１１-0〜１１-2の静的性能の差が予め分かっている場合、図５のフローチャートに従って論理ディスク１１のＲＡＩＤ構成が初期化される。
【００７７】
但し第２の実施形態では、図８に示されているように、ストライプグループＳＧ0〜ＳＧp-1のパリティデータの多くは第１の実施形態とは逆に、静的性能が最も低いＨＤＤに配置される。この配置は、第１の実施形態と同様にパリティ初期配置モジュール４２によって行われる。必要があれば、第１の実施形態におけるパリティ初期配置モジュール４２の動作の説明において、「最も高い性能」を「最も低い性能」に読み替え、（Ｐx−Ｐy），Ｐx／Ｐyを、それぞれ（Ｐy−Ｐx），Ｐy／Ｐxに読み替え、（Ｐy−Ｐx），Ｐy／Ｐx、それぞれ（Ｐx−Ｐy），Ｐx／Ｐyに読み替えられたい。
【００７８】
図８に示す論理ディスク１１の例では、静的性能の最も低いＨＤＤはＨＤＤ１１-2である。このため、例えばストライプグループＳＧ1にユーザデータＤ2及びＤ3とパリティデータＰ23を格納する場合、通常のＲＡＩＤ５であればパリティデータＰ23は図２（ｂ）に示されるようにＨＤＤ１１-1に配置されるのに対し、第２の実施形態ではパリティデータＰ23は図８に示されるように性能が最も低いＨＤＤ１１-2に配置される。図８の例では、ユーザデータＤ2はＨＤＤ１１-0に、ユーザデータＤ3はＨＤＤ１１-1に、それぞれ配置される。しかし、ユーザデータＤ2がＨＤＤ１１-1に、ユーザデータＤ3がＨＤＤ１１-0に配置されても構わない。
【００７９】
図９は、第２の実施形態で実行されるパリティ再配置モジュール４３によるパリティ再配置の一例を示す。第２の実施形態におけるパリティ再配置の特徴は、論理ディスク１１の運用中にＨＤＤ１１-0〜１１-2の動的性能（動的リード性能）の不均衡が検出された場合に、動的性能が高いＨＤＤ上のパリティデータと動的性能が低いＨＤＤ上のユーザデータとがストライプグループ単位で交換される点にある。この処理は、第１の実施形態と同様に、図６のフローチャートに従って実行される。
【００８０】
第２の実施形態においても、レスポンス監視モジュール４１は、一定期間Ｔの間、レスポンス時間監視処理を実行する（ステップ６０１）。レスポンス監視モジュール４１は、このレスポンス時間監視処理により、ホスト装置２０からディスクコントローラ１２に与えられる、論理ディスク１１からのデータリードのためのホストＩ／Ｏ要求（以下、ホストリード要求と称する）に応じて、当該ディスクコントローラ１２のディスクインタフェース部１２２からＨＤＤ１１-0〜１１-2のうちの少なくとも１つのＨＤＤ１１-jにディスクリードのためのディスクＩ／Ｏ要求（つまりディスクリード要求）が送出される毎に、そのディスクリード要求に対するレスポンス時間を監視する。
【００８１】
このように第２の実施形態が第１の実施形態と相違するのは、ステップ６０１のレスポンス時間監視処理において、ＨＤＤ１１-0〜１１-2へのディスクライト要求に対するレスポンス時間ではなくて、ＨＤＤ１１-0〜１１-2へのディスクリード要求に対するレスポンス時間が監視される点である。このレスポンス時間の監視結果に基づいて、ＨＤＤ１１-0〜１１-2の動的性能（負荷）の不均衡状態が検出される（ステップ６０２〜６０４）。
【００８２】
ＨＤＤ１１-0〜１１-2の動的性能の不均衡状態が検出された場合（ステップ６０４のＹｅｓ）、パリティ再配置モジュール４３は、第１の実施形態と同様に、パリティ再配置が行われるべきストライプグループを１つ選択する（ステップ６０５）。但し、第２の実施形態では、最も短い平均レスポンス時間よりも閾値ｔｒを超えて平均レスポンス時間が長いＨＤＤ（つまり動的性能が低いＨＤＤ）が第２のＨＤＤとなり、当該最も短い平均レスポンス時間のＨＤＤ（つまり動的性能が高いＨＤＤ）が第１のＨＤＤとなる。このため第２の実施形態では、動的性能（動的リード性能）が高いＨＤＤ（第１のＨＤＤ）にパリティデータが存在し、且つ動的性能が低いＨＤＤ（第２のＨＤＤ）にユーザデータが存在するストライプグループが選択される。
【００８３】
ここで、第１のＨＤＤにパリティデータが存在し、且つ第２のＨＤＤにユーザデータが存在するストライプグループのうち、アクセスの局所性の観点から、直近の統計で（例えば直近の一定時間当たりの）アクセス回数の高いストライプグループを選択することが望ましい。
【００８４】
パリティ再配置モジュール４３はストライプグループを選択すると（ステップ６０５）、当該選択したストライプグループを対象に、第１のＨＤＤに存在するパリティデータと第２のＨＤＤに存在するユーザデータとを交換することにより、パリティデータを再配置する（ステップ６０６）。またパリティ再配置モジュール４３は、パリティレイアウト管理領域１２５ｂに格納されているパリティレイアウトテーブルを、パリティデータの再配置後の状態を表すように更新する（ステップ６０７）。するとレスポンス監視モジュール４１は、再びレスポンス時間監視処理（ステップ６０１）を開始する。
【００８５】
図９に示す論理ディスク１１の例では、動的性能が最も低いＨＤＤはＨＤＤ１１-0であり、動的性能が最も高いＨＤＤはＨＤＤ１１-2である。このＨＤＤ１１-2にパリティデータが配置されているストライプグループは、ストライプグループＳＧ0及びＳＧ3等である。
【００８６】
今、ストライプグループＳＧ0が選択されたものとする（ステップ６０５）。この場合、パリティ再配置モジュール４３は、選択したストライプグループＳＧ0のＨＤＤ１１-2に存在するパリティデータＰ01と、当該ストライプグループＳＧ0のＨＤＤ１１-0に存在するユーザデータＤ0とを、図９において矢印９１で示すように交換する（ステップ６０６）。
【００８７】
このパリティ再配置モジュール４３によるデータの交換後、レスポンス監視モジュール４１はレスポンス時間監視処理（ステップ６０１）を実行し、この監視処理で取得されるＨＤＤ１１-0〜１１-2毎の平均レスポンス時間の間に差異があるかを判定する（ステップ６０４）。もし、今回もＨＤＤ１１-0〜１１-2毎の平均レスポンス時間の間に依然として差異があると判定された場合、パリティ再配置モジュール４３は、動的性能が最も高いＨＤＤ１１-2（第１のＨＤＤ）にパリティデータが存在し、且つ動的性能が最も低いＨＤＤ１１-0（第２のＨＤＤ）にユーザデータが存在するストライプグループを選択する（ステップ６０５）。図９の例では、ストライプグループＳＧ3が選択される。
【００８８】
パリティ再配置モジュール４３は、選択したストライプグループＳＧ3のＨＤＤ１１-2に存在するパリティデータＰ67と、当該ストライプグループＳＧ3のＨＤＤ１１-0に存在するユーザデータＤ6とを、図９において矢印９２で示すように交換する（ステップ６０６）。
【００８９】
第２の実施形態によれば、上述のようなパリティ再配置を繰り返すだけで、差分Δｔを閾値ｔｒ以下にして、ＨＤＤ１１-0〜１１-2の平均レスポンス時間を均衡させることができる。これによりＨＤＤ１１-0〜１１-2の動的性能を均衡させて、当該ＨＤＤ１１-0〜１１-2の負荷を均一化させることができる。
【００９０】
第１及び第２の実施形態では、論理ディスクが特別のＲＡＩＤ５を適用することを前提としている。しかし、論理ディスクが特別のＲＡＩＤ６を適用しても構わない。「特別のＲＡＩＤ６」とは、従来から知られているＲＡＩＤ６（以下、通常のＲＡＩＤ６と称する）を基本的に適用しながら、通常のＲＡＩＤ６とは異なるパリティデータの配置手法を適用する特別のＲＡＩＤ構成を指す。
【００９１】
ここで、ライトアクセスが多い用途の論理ディスクを第１の論理ディスクと呼び、リードアクセスが多い用途の論理ディスクを第２の論理ディスクと呼ぶ。第１または第２の論理ディスクが特別のＲＡＩＤ６を適用する場合、当該第１または第２の論理ディスクは少なくとも４つのＨＤＤから構成される。
【００９２】
第１の論理ディスクが特別のＲＡＩＤ６を適用する場合、当該第１の論理ディスクの初期化時には、当該第１の論理ディスクを構成する少なくとも４つのＨＤＤのうち、静的性能のより高い２つのＨＤＤに１対のパリティデータＰ及びＱが多く配置される。つまり第１の論理ディスクの初期化時には、当該第１の論理ディスクを構成する各ＨＤＤの静的性能相違度に応じて、１対のパリティデータＰ及びＱの配置先が静的性能のより高い２つのＨＤＤに固定されるストライプグループと、１対のパリティデータＰ及びＱの配置先が通常のＲＡＩＤ６と同様に分散されるストライプグループとが混在させられる。
【００９３】
第１の論理ディスクの運用中に各ＨＤＤの動的性能（動的ライト性能）の不均衡が検出された場合、動的性能のより高い２つのＨＤＤ上のユーザデータと動的性能のより低い２つのＨＤＤ上のパリティデータＰ及びＱとがストライプグループ単位で交換される。
【００９４】
一方、第２の論理ディスクが特別のＲＡＩＤ６を適用する場合、当該第２の論理ディスクの初期化時には、当該第２の論理ディスクを構成する少なくとも４つのＨＤＤのうち、静的性能のより低い２つのＨＤＤに１対のパリティデータＰ及びＱが多く配置される。つまり第２の論理ディスクの初期化時には、当該第２の論理ディスクを構成する各ＨＤＤの静的性能相違度に応じて、１対のパリティデータＰ及びＱの配置先が静的性能のより低い２つのＨＤＤに固定されるストライプグループと、１対のパリティデータＰ及びＱの配置先が通常のＲＡＩＤ６と同様に分散されるストライプグループとが混在させられる。
【００９５】
第２の論理ディスクの運用中に各ＨＤＤの動的性能（動的リード性能）の不均衡が検出された場合、動的性能のより低い２つのＨＤＤ上のユーザデータと動的性能のより高い２つのＨＤＤ上のパリティデータＰ及びＱとがストライプグループ単位で交換される。
【００９６】
ここで、パリティデータが固定的に配置されるストライプグループの数を決定する手法について、論理ディスクが特別のＲＡＩＤ５を適用する場合と特別のＲＡＩＤ６を適用する場合の各々について順次説明する。ここでは論理ディスクがｎ個のＨＤＤ0，ＨＤＤ1，…ＨＤＤn-1から構成される第１の論理ディスクであるものとする。この場合、各ストライプグループは、ｎ個のストライプから構成される。第１の実施形態における論理ディスク１１は、ｎが３の場合に相当する。
【００９７】
（Ａ）特別のＲＡＩＤ５を適用する場合
まず、ｍを０≦ｍ＜ｎを満足する整数であるとすると、ｎ個のＨＤＤ0，ＨＤＤ1，…ＨＤＤn-1のうちの任意のＨＤＤをＨＤＤmのように表すことができる。ここで、任意のストライプグループを構成するｎ個のストライプのうちＨＤＤmに属するストライプがパリティストライプである確率をａmで表す。また、任意の関数ｆ（ｍ）のｍ＝０〜ｍ＝ｎ−１までの値の総和をΣm=0,n-1ｆ（ｍ）のように表すならば、ａmのｍ＝０〜ｍ＝ｎ−１までの値の総和はΣm=0,n-1ａmのように表すことができ、次式
Σm=0,n-1ａm＝１  ……（１）
が成立する。
【００９８】
一方、ホスト装置２０からの１つのホストライト要求を処理するために、ＨＤＤmが実行するディスクアクセス（Ｉ／Ｏ）の回数は
・ライトされるべきアドレスを持つストライプがＨＤＤm上に存在する場合には２回
・ライトされるべきアドレスを持つストライプがＨＤＤm上に存在しない場合には０回
・ライトされるべきアドレスを持つストライプと同一のストライプグループに属するパリティストライプがＨＤＤm上に存在する場合には２回
となる。
【００９９】
ＨＤＤ0〜ＨＤＤn-1はストライピングされている。このため、ライトされるべきアドレスを持つストライプと同一のストライプグループに属するパリティストライプがＨＤＤm上に存在しない場合、ライトされるべきアドレスを持つストライプが当該ＨＤＤm上に存在する確率は、１／（１ストライプグループにおけるデータストライプ数）、つまり１／（ｎ−１）となる。
【０１００】
以上より、１つのホストライト要求（つまり論理ディスク１１への１回のライト）に対してあるＨＤＤm（０≦ｍ＜ｎ）が実行するＩ／Ｏの回数の期待値は、
２ａm＋２（１−ａm）／（ｎ−１）
＝｛２（ｎ−１）ａm＋２（１−ａm）｝／（ｎ−１）
＝｛２（ｎ−２）ａm＋２｝／（ｎ−１）  ……（２）
のように表される。
【０１０１】
ここで、ＨＤＤmの１回のＩ／Ｏ当たりのレスポンス時間をｔmとすると、論理ディスク１１への１回のライト（つまりホストライト）に対するＨＤＤmの処理時間（応答時間）Ｔmは
Ｔm＝ｔm×｛２（ｎ−２）ａm＋２｝／（ｎ−１）  ……（３）
となる。
【０１０２】
１回のホストライトに対するＨＤＤ0〜ＨＤＤn-1の応答時間を均一にするためには、全てのＴm（０≦ｍ＜ｎ）を等しくすればよい。この応答時間（期待される応答時間）をＭとすると、次式
Ｍ＝Ｔm（０≦ｍ＜ｎ）  ……（４）
が成立する。
【０１０３】
式（３），（４）から、Ｍは
Ｍ＝ｔm×｛２（ｎ−２）ａm＋２｝／（ｎ−１）  ……（５）
のように表される。この式（４）をａmについて解くと、
ａm＝{（ｎ−１）Ｍ−２ｔm｝／｛２（ｎ−２）ｔm｝  ……（６）
となる。この式（６）で表されるａmの値が、ＨＤＤmにパリティデータを配置する割合となる。
【０１０４】
ここで、ａmの値が最大となる（つまり確率が最も高くなる）ＨＤＤmをＨＤＤmaxで表し、このときのａmをａmaxで表すものとする。同様に、ａmの値が最小となる（つまり確率が最も低くなる）ＨＤＤmをＨＤＤminで表し、このときのａmをａminで表すものとする。この場合、ＨＤＤmaxにパリティデータが固定的に配置されるストライプグループの数ｑmaxの全ストライプグループ数ｐに対する割合はａm−ａminとなる。よってｑmaxは、この割合ａm−ａminと全ストライプグループ数ｐとから次式
ｑmax＝ｐ（ａmax−ａmin）  ……（７）
により簡単に算出できる。
【０１０５】
一般に、ＨＤＤm（０≦ｍ＜ｎ）にパリティデータが固定的に配置されるストライプグループの数ｑmの全ストライプグループ数ｐに対する割合はａm−ａminで表される。よってｑmは、この割合ａm−ａminと全ストライプグループ数ｐとから次式
ｑm＝ｐ（ａm−ａmin）  ……（８）
により簡単に算出できる。
【０１０６】
明らかなように、式（７）におけるｑmaxは式（８）においてａmがａmaxの場合のｑmに相当する。また、ａmがａminの場合、ａm−ａminの値は０となることから、ＨＤＤminにパリティデータが固定的に配置されるストライプグループの数ｑminは０である。
【０１０７】
なお、論理ディスクを構成する全てのＨＤＤm（０≦ｍ＜ｎ）に式（８）を適用する必要はない。例えば、ａmがａmaxのＨＤＤm、つまりＨＤＤmaxだけに式（８）を適用しても構わない。この場合、ＨＤＤmax にパリティデータが固定的に配置されるストライプグループの数はｑmax （＝ｐ（ａmax−ａmin））となり、パリティデータがＨＤＤmaxを含むｎ個のＨＤＤm（０≦ｍ＜ｎ）に分散されるストライプグループの数は（ｐ−ｑmax）となる。第１の実施形態は、ｎが３の場合におけるこれに相当する。但し、第１の実施形態では、ｔmの最大値をｔmax（第１の実施形態におけるＰyに相当）、最小値をｔmin（第１の実施形態におけるＰxに相当）とすると、（ｔmax−ｔmin）の値またはｔmax／ｔminの値が閾値を超えている場合だけ、ＨＤＤmax にパリティデータが固定的に配置されるストライプグループの数ｑmaxが決定される。つまり第１の実施形態では、（ｔmax−ｔmin）の値またはｔmax／ｔminの値の値が閾値を超えていない場合、論理ディスクは通常のＲＡＩＤ５のＲＡＩＤ構成に初期化される。
【０１０８】
上記Ｍは、以下に述べるようにｎとｔmとから導出できる定数である。ｎとｔmはパラメータとして与えることができる。  
まず、式（１），（６）から、次式
Σm=0,n-1ａm
＝Σm=0,n-1{（ｎ−１）Ｍ−２ｔm｝／｛２（ｎ−２）ｔm｝
＝１  ……（９）
が成立する。
【０１０９】
この式（９）をＭについて解くと、
Ｍ＝４／｛Σm=0,n-1（１／ｔm）｝  ……（１０）
となる。この式（１−）から、Ｍがｎとｔmとから導出できることは明らかである。
【０１１０】
以下に、具体例を示す。  
（ａ１）ｎ＝４、ｔ0＝１，ｔ1＝１，ｔ2＝１，ｔ3＝１の場合
Ｍ＝４／｛Σm=0,n-1（１／ｔm）｝＝４／（１＋１＋１＋１）＝１
ａ0＝{（ｎ−１）Ｍ−２ｔ0｝／｛２（ｎ−２）ｔ0｝
＝{（４−１）×１−２×１｝／｛２×（４−２）×１｝
＝１／４
ａ1＝{（ｎ−１）Ｍ−２ｔ1｝／｛２（ｎ−２）ｔ1｝
＝{（４−１）×１−２×１｝／｛２×（４−２）×１｝
＝１／４
ａ2＝{（ｎ−１）Ｍ−２ｔ2｝／｛２（ｎ−２）ｔ2｝
＝{（４−１）×１−２×１｝／｛２×（４−２）×１｝
＝１／４
ａ3＝{（ｎ−１）Ｍ−２ｔ3｝／｛２（ｎ−２）ｔ3｝
＝{（４−１）×１−２×１｝／｛２×（４−２）×１｝
＝１／４
となる。
【０１１１】
このように、ｎ＝４、ｔ0＝１，ｔ1＝１，ｔ2＝１，ｔ3＝１の場合、つまり論理ディスクが４台のＨＤＤ0〜ＨＤＤ3から構成され、ＨＤＤ0〜ＨＤＤ3の静的性能が等しい場合、ＨＤＤ0〜ＨＤＤ3にそれぞれ２５％ずつパリティデータを配置することで、ＨＤＤ0〜ＨＤＤ3の応答時間を均衡させることができる。この例では、論理ディスクの初期のＲＡＩＤ構成は、結果的に通常のＲＡＩＤ５と同一となるが、当該論理ディスクの運用状態では、前述のようにＨＤＤ0〜ＨＤＤ3の動的性能の変動に応じてパリティデータの配置先が変更される。
【０１１２】
（ａ２）ｎ＝３、ｔ0＝１，ｔ1＝２，ｔ2＝２の場合
Ｍ＝４／｛Σm=0,n-1（１／ｔm）｝＝４／（１＋０．５＋０．５）＝２
ａ0＝{（ｎ−１）Ｍ−２ｔ0｝／｛２（ｎ−２）ｔ0｝
＝{（３−１）×２−２×１｝／｛２×（３−２）×１｝
＝１
ａ1＝ａ2＝ａ3＝{（３−１）×２−２×２｝／｛２×（３−２）×２｝＝０
となる。
【０１１３】
このように、ｎ＝３、ｔ0＝１，ｔ1＝２，ｔ2＝２の場合、つまり論理ディスクが３台のＨＤＤ0〜ＨＤＤ2から構成され、ＨＤＤ0の静的性能が他のＨＤＤ1及びＨＤＤ2の静的性能の２倍の場合、ＨＤＤ0に全てのパリティデータを配置することで、ＨＤＤ0〜ＨＤＤ2の応答時間を均衡させることができる。この例では、論理ディスクの初期のＲＡＩＤ構成は、結果的にＲＡＩＤ４と同一となるが、当該論理ディスクの運用状態では、前述のようにＨＤＤ0〜ＨＤＤ2の動的性能の変動に応じてパリティデータの配置先が変更される。
【０１１４】
（Ｂ）特別のＲＡＩＤ６を適用する場合
まず特別のＲＡＩＤ６では、ストライプグループ中に、通常のＲＡＩＤ６と同様にパリティデータＰ（Ｐパリティ）用とパリティデータＱ（Ｑパリティ）用の２つのパリティストライプが存在する。このため、任意のストライプグループを構成するｎ個のストライプのうちＨＤＤm（０≦ｍ＜ｎ）に属するストライプがＰパリティ用またはＱパリティ用のパリティストライプである確率をａmで表すと、次式
Σm=0,n-1ａm＝２  ……（１１）
が成立する。
【０１１５】
一方、ホスト装置２０からの１つのホストライト要求を処理するために、ＨＤＤmが実行するディスクアクセス（Ｉ／Ｏ）の回数は
・ライトされるべきアドレスを持つストライプがＨＤＤm上に存在する場合には２回
・ライトされるべきアドレスを持つストライプがＨＤＤm上に存在しない場合には０回
・ライトされるべきアドレスを持つストライプと同一のストライプグループに属するパリティストライプがＨＤＤm上に存在する場合には２回
となる。
【０１１６】
ＨＤＤ0〜ＨＤＤn-1はストライピングされている。このため、ライトされるべきアドレスを持つストライプと同一のストライプグループに属するパリティストライプがＨＤＤm上に存在しない場合、ライトされるべきアドレスを持つストライプが当該ＨＤＤm上に存在する確率は、１／（１ストライプグループにおけるデータストライプ数）、つまり１／（ｎ−２）となる。
【０１１７】
以上より、１つのホストライト要求（つまり１回のホストライト）に対してあるＨＤＤm（０≦ｍ＜ｎ）が実行するＩ／Ｏの回数の期待値は、
２ａm＋２（１−ａm）／（ｎ−２）
＝｛２（ｎ−２）ａm＋２（１−ａm）｝／（ｎ−２）
＝｛２（ｎ−３）ａm＋２｝／（ｎ−２）  ……（１２）
のように表される。
【０１１８】
ここで、ＨＤＤmの１回のＩ／Ｏ当たりのレスポンス時間をｔmとすると、１回のホストライトに対するＨＤＤmの処理時間（応答時間）Ｔmは
Ｔm＝ｔm×｛２（ｎ−３）ａm＋２｝／（ｎ−２）  ……（１３）
となる。この１回のホストライトに対するＨＤＤ0〜ＨＤＤn-1の応答時間を均一にするためには、全てのＴm（０≦ｍ＜ｎ）を等しくすればよい。この応答時間をＭとすると、次式
Ｍ＝Ｔm（０≦ｍ＜ｎ）  ……（１４）
が成立する。
【０１１９】
式（１３），（１４）から、Ｍは
Ｍ＝ｔm×｛２（ｎ−３）ａm＋２｝／（ｎ−２）  ……（１５）
のように表される。この式（１５）をａmについて解くと、
ａm＝{（ｎ−２）Ｍ−２ｔm｝／｛２（ｎ−３）ｔm｝  ……（１６）
となる。この式（１６）で表されるａmの値が、ＨＤＤmにパリティデータを配置する割合となる。
【０１２０】
なお、Ｍは以下に述べるようにｎとｔmとから導出できる定数である。ｎとｔmはパラメータとして与えることができる。  
式（１１），（１６）から、次式
Σm=0,n-1ａm
＝Σm=0,n-1{（ｎ−２）Ｍ−２ｔm｝／｛２（ｎ−３）ｔm｝
＝２  ……（１７）
が成立する。
【０１２１】
この式（１７）をＭについて解くと、
Ｍ＝６／｛Σm=0,n-1（１／ｔm）｝  ……（１８）
となる。この式（１８）から、Ｍがｎとｔmとから導出できることは明らかである。
【０１２２】
以下に、具体例を示す。  
（ｂ１）ｎ＝４、ｔ0＝１，ｔ1＝１，ｔ2＝１，ｔ3＝１の場合
Ｍ＝６／｛Σm=0,n-1（１／ｔm）｝＝６／（１＋１＋１＋１）＝３／２
ａ0＝{（ｎ−２）Ｍ−２ｔ0｝／｛２（ｎ−３）ｔ0｝
＝{（４−２）×（３／２）−２×１｝／｛２×（４−３）×１｝
＝１／２
ａ1＝{（ｎ−２）Ｍ−２ｔ1｝／｛２（ｎ−３）ｔ1｝
＝{（４−２）×（３／２）−２×１｝／｛２×（４−３）×１｝
＝１／２
ａ2＝{（ｎ−２）Ｍ−２ｔ2｝／｛２（ｎ−３）ｔ2｝
＝{（４−２）×（３／２）−２×１｝／｛２×（４−３）×１｝
＝１／２
ａ3＝{（ｎ−２）Ｍ−２ｔ3｝／｛２（ｎ−３）ｔ3｝
＝{（４−２）×（３／２）−２×１｝／｛２×（４−３）×１｝
＝１／２
となる。
【０１２３】
このように、ｎ＝４、ｔ0＝１，ｔ1＝１，ｔ2＝１，ｔ3＝１の場合、つまり論理ディスクが４台のＨＤＤ0〜ＨＤＤ3から構成され、ＨＤＤ0〜ＨＤＤ3の静的性能が等しい場合、ＨＤＤ0〜ＨＤＤ3にそれぞれ５０％ずつパリティデータを配置することで、ＨＤＤ0〜ＨＤＤ3の応答時間を均衡させることができる。この例では、論理ディスクの初期のＲＡＩＤ構成は、結果的に通常のＲＡＩＤ６と同一となるが、当該論理ディスクの運用状態では、前述のようにＨＤＤ0〜ＨＤＤ3の動的性能の変動に応じてパリティデータの配置先が変更される。
【０１２４】
（ａ２）ｎ＝４、ｔ0＝１，ｔ1＝１，ｔ2＝２，ｔ3＝２の場合
Ｍ＝６／｛Σm=0,n-1（１／ｔm）｝＝６／（１＋１＋０．５＋０．５）＝２
ａ0＝ａ1＝{（４−２）×２−２×１｝／｛２×（４−３）×１｝＝１
ａ2＝ａ3＝{（４−２）×２−２×２｝／｛２×（４−３）×２｝＝０
このように、ｎ＝４、ｔ0＝１，ｔ1＝１，ｔ2＝２，ｔ3＝２の場合、つまり論理ディスクが４台のＨＤＤ0〜ＨＤＤ3から構成され、ＨＤＤ0及びＨＤＤ1の静的性能が他のＨＤＤ2及びＨＤＤ3の静的性能の２倍の場合、ＨＤＤ0及びＨＤＤ1に全てのパリティデータを配置することで、ＨＤＤ0〜ＨＤＤ3の応答時間を均衡させることができる。但し、論理ディスクの運用状態では、前述のようにＨＤＤ0〜ＨＤＤ3の動的性能の変動に応じてパリティデータの配置先が変更される。
【０１２５】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【符号の説明】
【０１２６】
１０…ストレージ装置、１１…論理ディスク、１２…ディスクコントローラ、２０…ホスト装置、４１…レスポンス監視モジュール、４２…パリティ初期配置モジュール、４３パリティ再配置モジュール、１２３…ＣＰＵ、１２４…ＲＯＭ、１２５…ＲＡＭ、１２５ａ…論理ディスク構成管理領域、１２５ｂ…パリティレイアウト管理領域、１２５ｃ…レスポンス統計情報領域。
【図１】
2011013908.tif 000003
【図２】
2011013908.tif 000004
【図３】
2011013908.tif 000005
【図４】
2011013908.tif 000006
【図５】
2011013908.tif 000007
【図６】
2011013908.tif 000008
【図７】
2011013908.tif 000009
【図８】
2011013908.tif 000010
【図９】
2011013908.tif 000011