(57)【特許請求の範囲】
【請求項１】
書き込みデータ量の累積値に関する閾値を記憶する記憶部と、
累積的に書き込み可能なデータ量に制限を有する複数の記憶装置が属する複数のストレージグループの中から、ストレージグループ単位の書き込みデータ量の累積値が前記閾値以上である第１のストレージグループを選択し、
前記複数のストレージグループの中から、ストレージグループ単位の書き込みデータ量の累積値が前記閾値未満である第２のストレージグループを選択し、
前記第１のストレージグループに属する記憶装置のうち記憶装置単位の書き込みデータ量の累積値の上限に対する当該累積値の割合が最大である第１の記憶装置のデータと、前記第２のストレージグループに属する記憶装置のうち前記割合が最小である第２の記憶装置のデータとを入れ替え、前記第１の記憶装置を前記第２のストレージグループに所属させ、前記第２の記憶装置を前記第１のストレージグループに所属させることで、前記第１の記憶装置と前記第２の記憶装置とを再配置する制御部と
を有する、ストレージ制御装置。
【請求項２】
前記制御部は、前記複数のストレージグループの中から、ストレージグループ単位の書き込みデータ量の累積値が最も小さいストレージグループを前記第２のストレージグループとして選択する
請求項１に記載のストレージ制御装置。
【請求項３】
コンピュータに、
記憶部から、書き込みデータ量の累積値に関する閾値を取得し、
累積的に書き込み可能なデータ量に制限を有する複数の記憶装置が属する複数のストレージグループの中から、ストレージグループ単位の書き込みデータ量の累積値が前記閾値以上である第１のストレージグループを選択し、
前記複数のストレージグループの中から、ストレージグループ単位の書き込みデータ量の累積値が前記閾値未満である第２のストレージグループを選択し、
前記第１のストレージグループに属する記憶装置のうち記憶装置単位の書き込みデータ量の累積値の上限に対する当該累積値の割合が最大である第１の記憶装置のデータと、前記第２のストレージグループに属する記憶装置のうち前記割合が最小である第２の記憶装置のデータとを入れ替え、前記第１の記憶装置を前記第２のストレージグループに所属させ、前記第２の記憶装置を前記第１のストレージグループに所属させることで、前記第１の記憶装置と前記第２の記憶装置とを再配置する
処理を実行させる、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置、及び制御プログラムに関する。
【背景技術】
【０００２】
コンピュータが扱うデータを格納する記憶装置としてＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）が広く利用されている。データの信頼性が重視されるシステムでは、記憶装置の故障によるデータの損失や業務の停止を防止するために、複数の記憶装置を接続して冗長化したＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置が利用されている。
【０００３】
最近では、複数のＳＳＤを組み合わせたＲＡＩＤ装置（ＳＳＤ−ＲＡＩＤ装置）も利用されている。ＳＳＤは、フラッシュメモリに対する書き込み回数の制限から、累積的に書き込み可能なデータ量に上限がある。そのため、書き込みデータ量が上限に達したＳＳＤは利用できなくなる。ＳＳＤ−ＲＡＩＤ装置においては、複数のＳＳＤが同時に書き込みデータ量の上限に達すると冗長性が失われることがある。
【０００４】
こうした事態を避けるため、書き込み回数が閾値を超えたＳＳＤをスペアディスクに交換する技術が提案されている。また、ＳＳＤの消耗度合いを示す消耗値と書き込みデータ量の上限とに基づいて算出される値が閾値を超えた場合に、消耗したＳＳＤのデータを予備の記憶媒体にコピーする技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２０６１５１号公報
【特許文献２】特開２００８−  ４０７１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の提案技術を適用すれば、ＳＳＤの同時障害が発生するリスクを未然に回避することが可能になる。しかし、上記の提案技術では、ある程度消耗したＳＳＤは予備のＳＳＤに交換されるため、寿命に達していないにもかかわらず、交換対象のＳＳＤはＲＡＩＤから外されて使用されなくなる。
【０００７】
寿命前にＳＳＤの交換を行うことは、交換頻度の増加を招き、結果として運用コストの増大に繋がる。しかし、上記の提案技術において、書き込み回数の上限に近づくまで交換タイミングを遅らせるように閾値を設定すると、ＳＳＤの多重障害によりＳＳＤ−ＲＡＩＤ装置の冗長性が失われるリスクを高めることになる。
【０００８】
そのため、ＲＡＩＤを組む各ＳＳＤにおいて書き込み制限に起因する障害が発生することを予備的に回避する仕組みではなく、複数のＳＳＤで同時に障害が発生しないようにする仕組みが望まれる。このような方法が実現できれば、できる限り長くＳＳＤの運用を継続しながらもＳＳＤ−ＲＡＩＤ装置の信頼性を維持することが可能になる。
【０００９】
本開示の目的は、運用を継続しながら同じストレージグループに属する記憶装置の多重障害リスクを低減できるストレージ制御装置及び制御プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本開示の１つの側面によれば、書き込みデータ量の累積値に関する閾値を記憶する記憶部と、累積的に書き込み可能なデータ量に制限を有する複数の記憶装置が属する複数のストレージグループの中から、ストレージグループ単位の書き込みデータ量の累積値が閾値以上である第１のストレージグループを選択し、複数のストレージグループの中から、ストレージグループ単位の書き込みデータ量の累積値が閾値未満である第２のストレージグループを選択し、第１のストレージグループに属する記憶装置のうち記憶装置単位の書き込みデータ量の累積値の上限に対する当該累積値の割合が最大である第１の記憶装置のデータと、第２のストレージグループに属する記憶装置のうち当該割合が最小である第２の記憶装置のデータとを入れ替え、第１の記憶装置を第２のストレージグループに所属させ、第２の記憶装置を第１のストレージグループに所属させることで、第１の記憶装置と第２の記憶装置とを再配置する制御部とを有する、ストレージ制御装置が提供される。
【発明の効果】
【００１１】
本開示によれば、運用を継続しながら同じストレージグループに属する記憶装置の多重障害リスクを低減できる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態に係るストレージ制御装置の一例を示した図である。
【図２】第２実施形態に係るストレージシステムの一例を示した図である。
【図３】第２実施形態に係るホスト装置のハードウェアの一例を示した図である。
【図４】第２実施形態に係るストレージ制御装置が有する機能の一例を示したブロック図である。
【図５】第２実施形態に係るＲＡＩＤテーブルの一例を示した図である。
【図６】第２実施形態に係るＳＳＤテーブルの一例を示した図である。
【図７】第２実施形態に係るテーブル構築処理の流れを示したフロー図である。
【図８】第２実施形態に係る運用中の処理の流れを示した第１のフロー図である。
【図９】第２実施形態に係る運用中の処理の流れを示した第２のフロー図である。
【図１０】第２実施形態に係る再配置処理の流れを示した第１のフロー図である。
【図１１】第２実施形態に係る再配置処理の流れを示した第２のフロー図である。
【図１２】第２実施形態の一変形例（変形例＃１）に係るＲＡＩＤテーブルの一例を示した図である。
【図１３】第２実施形態の一変形例（変形例＃１）に係る運用中の処理の流れを示した第１のフロー図である。
【図１４】第２実施形態の一変形例（変形例＃１）に係る運用中の処理の流れを示した第２のフロー図である。
【図１５】第２実施形態の一変形例（変形例＃１）に係る運用中の処理の流れを示した第３のフロー図である。
【図１６】第２実施形態の一変形例（変形例＃２）に係る運用中の処理の流れを示した第１のフロー図である。
【図１７】第２実施形態の一変形例（変形例＃２）に係る運用中の処理の流れを示した第２のフロー図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１４】
＜１．第１実施形態＞
第１実施形態について説明する。
第１実施形態は、累積的に書き込み可能なデータ量に上限がある複数の記憶装置を複数のストレージグループに分けて管理するストレージシステムに関する。このストレージシステムでは、書き込みデータ量の累積値に基づく所定の条件を満たした場合に、ストレージグループ間で記憶装置の再配置が実施される。ここで言う再配置とは、一方のストレージグループの記憶装置に格納されたデータと、他方のストレージグループの記憶装置に格納されたデータとを入れ替えた上で、各記憶装置の所属をストレージグループ間で交換する処理である。
【００１５】
例えば、消耗（累積的な書き込みデータ量の多さ）が進んだ記憶装置と、比較的消耗が少ない記憶装置とを再配置することで、１つのストレージグループの中にある消耗が進んだ記憶装置の数を減らすことができる。この再配置により消耗が進んだ記憶装置が他のストレージグループに属することになるが、消耗に起因する記憶装置の障害リスクをストレージグループ間で分散することができる。そして、消耗度合いが異なる記憶装置が各ストレージグループ内に混在する状況になるため、同じストレージグループ内にある複数の記憶装置が同時故障するリスクを低減することができる。
【００１６】
以下、図１を参照しながら、ストレージ制御装置１０について説明する。図１に示したストレージ制御装置１０は、第１実施形態に係るストレージ制御装置の一例である。図１は、第１実施形態に係るストレージ制御装置の一例を示した図である。
【００１７】
ストレージ制御装置１０は、記憶部１１及び制御部１２を有する。
記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤやフラッシュメモリなどの不揮発性記憶装置である。制御部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。但し、制御部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電子回路であってもよい。制御部１２は、記憶部１１又は他のメモリに格納されたプログラムを実行する。
【００１８】
ストレージ制御装置１０は、書き込みデータ量の累積値に上限を持つ記憶装置２１、２２、２３、２４、２５、２６、及び記憶装置２１、２２、２３、２４、２５、２６が属するストレージグループ２０ａ、２０ｂ、２０ｃを管理する。ＳＳＤは、記憶装置２１、２２、２３、２４、２５、２６の一例である。
【００１９】
記憶部１１には、記憶装置２１、２２、２３、２４、２５、２６を管理するための記憶装置情報１１ａが格納される。また、記憶部１１には、ストレージグループ２０ａ、２０ｂ、２０ｃを管理するためのストレージグループ情報１１ｂが格納される。
【００２０】
記憶装置情報１１ａには、記憶装置を識別するための識別情報（「記憶装置」の欄）と、累積的に書き込み可能なデータ量の上限（「上限」の欄）と、実際に書き込まれたデータ量の累積値（「書き込みデータ量」の欄）とが含まれる。なお、図１の例では、説明の都合上、識別情報を符号で表現している。また、ここで言う累積値とは、記憶装置に格納されているデータ量ではなく、既に消去されたデータも含め、その記憶装置に対して書き込み処理が実行されたデータの総量を意味する。
【００２１】
図１に示した記憶装置情報１１ａによれば、記憶装置２１に書き込み可能なデータ量の累積値は４ＰＢ（Peta Byte）であり、実際に書き込まれたデータ量の累積値は２．４ＰＢである。また、記憶装置２２に書き込み可能なデータ量の累積値は４ＰＢであり、実際に書き込まれたデータ量の累積値は２．６ＰＢである。記憶装置２１、２２を比較すると、記憶装置２１に比べ、記憶装置２２は書き込みデータ量の累積値が上限に近い。つまり、記憶装置２２は、記憶装置２１に比べて疲弊している。
【００２２】
なお、下記の式（１）に示す疲弊率を用いると、各記憶装置の疲弊度合いを定量化することができる。この疲弊率の高さは、書き込みデータ量の累積値が上限に到達することに起因して記憶装置に障害が発生するリスクの高さを評価する指標となりうる。
【００２３】
疲弊率＝書き込みデータ量の累積値／上限
…（１）
ストレージグループ情報１１ｂには、ストレージグループを識別するための識別情報（「ストレージグループ」の欄）と、ストレージグループに属する記憶装置を識別するための識別情報（「記憶装置」の欄）とが含まれる。さらに、ストレージグループ情報１１ｂには、ストレージグループに書き込まれたデータ量の累積値（「書き込みデータ量」の欄）と、後述する再配置を実施するか否かを判断するために用いる閾値（「閾値」の欄）とが含まれる。
【００２４】
ストレージグループは、１つの仮想的な記憶領域が定義される記憶装置の集合である。例えば、ＲＡＩＤを組む記憶装置の集合であるＲＡＩＤグループは、ストレージグループの一例である。ＲＡＩＤグループには、ＬＵＮ（Logical Unit Number）で識別される論理ボリュームが設定される。なお、第１実施形態の技術は、ＲＡＩＤ０を除く各種ＲＡＩＤ方式のように、一部の記憶装置の故障に対して耐障害性を有する冗長化された仕組みで管理されるストレージグループに対して好適に用いられる。
【００２５】
図１に示したストレージグループ情報１１ｂによれば、ストレージグループ２０ａには、記憶装置２１、２２が所属している。また、ストレージグループ２０ａにおける書き込みデータ量の累積値は５ＰＢである。この書き込みデータ量は、所属する記憶装置に対する書き込みデータ量の総累積値である。閾値は、所属する記憶装置の上限に基づいて設定される。例えば、閾値は、所属する記憶装置の上限を合計した値の５０％などに設定される。
【００２６】
制御部１２は、複数のストレージグループ２０ａ、２０ｂ、２０ｃの中から、書き込みデータ量に関する所定の条件に基づいて第１のストレージグループ（ストレージグループ２０ａ）を選択する。所定の条件は、例えば、ストレージグループに対する書き込みデータ量の累積値が閾値より大きいことである。
【００２７】
制御部１２は、複数のストレージグループ２０ａ、２０ｂ、２０ｃの中から、第１のストレージグループ（ストレージグループ２０ａ）とは異なる第２のストレージグループ（ストレージグループ２０ｃ）を選択する。このとき、制御部１２は、例えば、ストレージグループ情報１１ｂを参照し、書き込みデータ量の累積値が最小のストレージグループ２０ｃを第２のストレージグループとして選択する。
【００２８】
制御部１２は、第１のストレージグループ（ストレージグループ２０ａ）に属する第１の記憶装置（記憶装置２２）のデータと、第２のストレージグループ（ストレージグループ２０ｃ）に属する第２の記憶装置（記憶装置２５）のデータとを入れ替える。
【００２９】
このとき、制御部１２は、例えば、第１のストレージグループ（ストレージグループ２０ａ）に属する記憶装置の中で疲弊率が最大の記憶装置２２を第１の記憶装置として特定する。また、制御部１２は、第２のストレージグループ（ストレージグループ２０ｃ）に属する記憶装置の中で疲弊率が最小の記憶装置２５を第２の記憶装置として特定する。そして、制御部１２は、記憶装置２２のデータと記憶装置２５のデータとを入れ替える。
【００３０】
また、制御部１２は、第１の記憶装置（記憶装置２２）を第２のストレージグループ（ストレージグループ２０ｃ）に所属させる。さらに、制御部１２は、第２の記憶装置（記憶装置２５）を第１のストレージグループ（ストレージグループ２０ａ）に所属させる。つまり、制御部１２は、第１の記憶装置（記憶装置２２）と第２の記憶装置（記憶装置２５）とを再配置する。
【００３１】
図１の例では、両端矢印（Ａ）で示すように、上記の再配置により、記憶装置２２、２５の内容が交換されると共に、記憶装置２２がストレージグループ２０ｃの所属となり、記憶装置２５がストレージグループ２０ａの所属となる。この再配置により、ストレージグループ２０ａ、２０ｃの間で書き込みによる負担（記憶装置の疲弊度合い）が分散される。その結果、書き込みが集中していたストレージグループ２０ａにおいて、書き込みデータ量の上限到達に起因する記憶装置２１、２２の同時故障リスクが低減する。
【００３２】
上記のように、ストレージグループ及び記憶装置に対する書き込みデータ量の累積値を監視し、その累積値に基づいて記憶装置のストレージグループ間における再配置を実施することで、同じストレージグループに属する記憶装置の多重障害リスクを低減できる。冗長性を有するＲＡＩＤを組んでいる場合でも複数の記憶装置が同時に故障するとデータの復旧が難しくなる場合があるが、第１実施形態の技術を適用すれば、記憶装置の多重障害リスクを低減できるため、さらに信頼性が向上する。
【００３３】
なお、第１及び第２のストレージグループを選択する方法は上記の例に限定されない。例えば、ストレージグループの疲弊率を求め、その疲弊率が最大のストレージグループを第１のストレージグループとして選択し、最小のストレージグループを第２のストレージグループとして選択する方法を適用することもできる。また、第２のストレージグループを選択する方法として、書き込みデータ量の累積値又は疲弊率が第１のストレージグループより小さい任意のストレージグループを選択する方法を適用することもできる。このような変形例も第１実施形態の技術的範囲に属する。
【００３４】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。
【００３５】
［２−１．システム］
図２を参照しながら、第２実施形態に係るストレージシステムについて説明する。この説明の中で、第２実施形態に係る各装置のハードウェアについても説明する。図２は、第２実施形態に係るストレージシステムの一例を示した図である。
【００３６】
図２に示すように、第２実施形態に係るストレージシステムは、ホスト装置１００、ストレージ制御装置２００、ＳＳＤ３０１、３０２、３０３、３０４、３０５、及び管理端末４００を有する。ストレージ制御装置２００は、第２実施形態に係るストレージ制御装置の一例である。
【００３７】
ホスト装置１００は、業務アプリケーションなどが動作するコンピュータである。ホスト装置１００は、ストレージ制御装置２００を介して、ＳＳＤ３０１、３０２、３０３、３０４、３０５に対するデータの読み書きを実行する。
【００３８】
データを書き込む場合、ホスト装置１００は、ストレージ制御装置２００に対し、ライトデータの書き込みを指示するライトコマンドを送信する。データを読み出す場合、ホスト装置１００は、ストレージ制御装置２００に対し、リードデータの読み出しを指示するリードコマンドを送信する。
【００３９】
ホスト装置１００は、ＦＣ（Fibre Channel）を介してストレージ制御装置２００に接続される。ストレージ制御装置２００は、ＳＳＤ３０１、３０２、３０３、３０４、３０５に対するアクセスを制御する。ストレージ制御装置２００は、ＣＰＵ２０１、メモリ２０２、ＦＣコントローラ２０３、ＳＣＳＩ（Small Computer System Interface）ポート２０４、及びＮＩＣ（Network Interface Card）２０５を有する。
【００４０】
ＣＰＵ２０１は、ストレージ制御装置２００の動作を制御する。メモリ２０２は、ＲＡＭなどの揮発性記憶装置、或いは、ＨＤＤやフラッシュメモリなどの不揮発性記憶装置である。ＦＣコントローラ２０３は、ＦＣを介してホスト装置１００のＨＢＡ（Host Bus Adapter）などに接続される通信インターフェースである。
【００４１】
ＳＣＳＩポート２０４は、ＳＳＤ３０１、３０２、３０３、３０４、３０５などのＳＣＳＩ機器に接続するための機器インターフェースである。ＮＩＣ２０５は、ＬＡＮ（Local Area Network）を介して管理端末４００などに接続される通信インターフェースである。
【００４２】
管理端末４００は、ストレージ制御装置２００のメンテナンスなどを実施する際に用いるコンピュータである。なお、ホスト装置１００は、ＦＣファブリックを介してストレージ制御装置２００に接続されてもよいし、他の通信方式でストレージ制御装置２００に接続されてもよい。
【００４３】
ＳＳＤ３０１、３０２、３０３、３０４、３０５は、ＳＣＳＩ以外の方式に対応したＳＳＤであってもよく、例えば、ＳＡＴＡ（Serial Advanced Technology Attachment）方式に対応したＳＳＤであってもよい。この場合、ＳＳＤ３０１、３０２、３０３、３０４、３０５は、ストレージ制御装置２００のＳＡＴＡ方式に対応した機器インターフェース（非図示）に接続される。
【００４４】
ここで、図３を参照しながら、ホスト装置１００のハードウェアについて説明する。図３は、第２実施形態に係るホスト装置のハードウェアの一例を示した図である。
ホスト装置１００が有する機能は、例えば、図３に示すハードウェア資源を用いて実現することが可能である。図３に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（Read Only Memory）９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０とを有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６とを有する。
【００４５】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
【００４６】
これらの要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
【００４７】
出力部９１８としては、例えば、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、又はＥＬＤ（Electro-Luminescence Display）などのディスプレイ装置が用いられる。また、出力部９１８として、スピーカなどのオーディオ出力装置、又はプリンタなどが用いられることもある。
【００４８】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ＨＤＤなどの磁気記憶デバイスが用いられる。また、記憶部９２０として、ＳＳＤやＲＡＭディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
【００４９】
ドライブ９２２は、着脱可能な記録媒体であるリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
【００５０】
接続ポート９２４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ、ＦＣ−ＨＢＡ又はＲＳ−２３２Ｃポートなど、外部接続機器９３０を接続するためのポートである。通信部９２６は、ネットワーク９３２に接続するための通信デバイスである。通信部９２６としては、例えば、有線又は無線ＬＡＮ用の通信回路、光通信用の通信回路やルータなどが用いられる。通信部９２６に接続されるネットワーク９３２は、例えば、インターネットやＬＡＮなどである。
【００５１】
なお、管理端末４００が有する機能も、図３に例示したハードウェアの一部又は全部を用いて実現できる。
以上、第２実施形態に係るストレージシステムについて説明した。
【００５２】
［２−２．機能］
次に、図４を参照しながら、ストレージ制御装置２００の機能について説明する。図４は、第２実施形態に係るストレージ制御装置が有する機能の一例を示したブロック図である。
【００５３】
図４に示すように、ストレージ制御装置２００は、記憶部２１１、テーブル管理部２１２、コマンド処理部２１３、及びＲＡＩＤ制御部２１４を有する。記憶部２１１の機能は、上述したメモリ２０２により実現できる。テーブル管理部２１２、コマンド処理部２１３、及びＲＡＩＤ制御部２１４の機能は、ＣＰＵ２０１により実現できる。
【００５４】
以下では、説明の都合上、ＳＳＤ３０１、３０２、３０３、３０４、３０５を識別する識別情報として、それぞれＳＳＤ＃０、ＳＳＤ＃１、ＳＳＤ＃２、ＳＳＤ＃３、ＳＳＤ＃４という表現を用いる場合がある。また、ＲＡＩＤ＃０、ＲＡＩＤ＃１という表現で識別される２つのＲＡＩＤグループが設定されているものとする。また、１つのＳＳＤ（ＳＳＤ３０５）がスペアディスク（ＨＳ：Hot Spar）として利用されるものとする。
【００５５】
記憶部２１１には、ＲＡＩＤテーブル２１１ａ、及びＳＳＤテーブル２１１ｂが格納される。ＲＡＩＤテーブル２１１ａは、ＳＳＤ３０１、３０２、３０３、３０４、３０５を対象に設定されるＲＡＩＤグループに関する情報が格納されるテーブルである。ＳＳＤテーブル２１１ｂは、ＳＳＤ３０１、３０２、３０３、３０４、３０５に関する情報が格納されるテーブルである。
【００５６】
ここで、図５を参照しながら、ＲＡＩＤテーブル２１１ａについて、さらに説明する。図５は、第２実施形態に係るＲＡＩＤテーブルの一例を示した図である。
図５に示すように、ＲＡＩＤテーブル２１１ａは、ＲＡＩＤグループを識別するための識別情報（「ＲＡＩＤグループ」の欄）と、ＲＡＩＤグループにおける書き込みデータ量の上限値（「上限値」の欄）とを含む。ＲＡＩＤテーブル２１１ａに含まれる上限値は、ＲＡＩＤグループに属する各ＳＳＤの上限値を合計した値である。
【００５７】
また、ＲＡＩＤテーブル２１１ａは、実際に書き込まれた書き込みデータ量の累積値（「累積値」の欄）と、ＳＳＤの再配置を実施するか否かを判断するために用いる閾値（「閾値」の欄）とを含む。
【００５８】
ＲＡＩＤテーブル２１１ａに含まれる累積値は、ＲＡＩＤグループに属する各ＳＳＤにおける累積値を合計した値である。閾値は、上限値に基づいて設定される。図５に例示した閾値は、上限値の７０％に設定されている。なお、閾値の設定は、ＲＡＩＤグループに対するアクセスの集中度や、ＲＡＩＤグループに対して期待する信頼性などに基づいて任意に決めることができる。
【００５９】
また、ＲＡＩＤテーブル２１１ａは、再配置の実施対象となるＲＡＩＤグループであるか否かを示す再配置フラグ（「再配置フラグ」の欄）を含む。
再配置の処理は、ＳＳＤのデータをコピーする処理を含む。そのため、ＳＳＤの寿命を延ばす観点や処理負荷の観点から、再配置を実施する頻度を高めすぎないことが望ましい。そこで、第２実施形態では、再配置の実施対象となるＲＡＩＤグループを特定しておき、所定のタイミングで、特定したＲＡＩＤグループに対して再配置を実施する仕組みを提案する。再配置フラグは、再配置の実施対象となるＲＡＩＤグループを示す情報である。
【００６０】
次に、図６を参照しながら、ＳＳＤテーブル２１１ｂについて、さらに説明する。図６は、第２実施形態に係るＳＳＤテーブルの一例を示した図である。
図６に示すように、ＳＳＤテーブル２１１ｂは、ＲＡＩＤグループを識別するための識別情報（「ＲＡＩＤグループ」の欄）と、ＲＡＩＤグループに所属するＳＳＤ（メンバＳＳＤ）を識別するための識別情報（「メンバＳＳＤ」の欄）とを含む。また、ＳＳＤテーブル２１１ｂは、各ＳＳＤにおける書き込みデータ量の上限値（「上限値」の欄）と、実際に書き込まれた書き込みデータ量の累積値（「累積値」の欄）とを含む。
【００６１】
例えば、図６の例では、ＲＡＩＤ＃０のＲＡＩＤグループに、メンバＳＳＤとしてＳＳＤ３０１（ＳＳＤ＃０）、ＳＳＤ３０２（ＳＳＤ＃１）が所属している。ＳＳＤ３０１（ＳＳＤ＃０）の上限値は１０ＰＢであり、累積値は１ＰＢである。また、ＳＳＤ３０２（ＳＳＤ＃１）の上限値は１０ＰＢであり、累積値は２ＰＢである。従って、このＲＡＩＤグループの上限値は２０ＰＢ（図５を参照）となり、累積値は３ＰＢとなる。
【００６２】
なお、図６の例では、ＳＳＤテーブル２１１ｂにＨＳに関する情報（スペア情報）も含まれているが、スペア情報はＳＳＤテーブル２１１ｂと別に管理されてもよい。以下では、説明の都合上、スペア情報がＳＳＤテーブル２１１ｂに含まれているものとする。また、ＳＳＤテーブル２１１ｂに含まれる情報のうち、ＲＡＩＤグループに属するメンバＳＳＤに関する情報をメンバ情報と呼ぶ場合がある。
【００６３】
再び図４を参照する。テーブル管理部２１２は、ＲＡＩＤテーブル２１１ａ及びＳＳＤテーブル２１１ｂの生成や更新などの処理を実行する。例えば、テーブル管理部２１２は、新規にＳＳＤがＲＡＩＤグループに追加された場合に、追加されたＳＳＤを該当するＲＡＩＤグループに対応付けると共に、そのＳＳＤから取得した上限値の情報をＳＳＤテーブル２１１ｂに格納する。
【００６４】
また、テーブル管理部２１２は、各ＳＳＤに対する書き込みデータ量を監視し、ＳＳＤテーブル２１１ｂに格納された書き込みデータ量の累積値を更新する。
また、テーブル管理部２１２は、ＳＳＤテーブル２１１ｂに格納された各ＳＳＤの上限値及び累積値に基づいて各ＲＡＩＤグループに対する上限値及び累積値を計算し、計算した上限値及び累積値をＲＡＩＤテーブル２１１ａに格納する。また、テーブル管理部２１２は、ＲＡＩＤテーブル２１１ａに格納した上限値に基づいて閾値を計算し、計算した閾値をＲＡＩＤテーブル２１１ａに格納する。
【００６５】
コマンド処理部２１３は、ホスト装置１００から受信したコマンドに応じた処理を実行する。例えば、コマンド処理部２１３は、ホスト装置１００からリードコマンドを受信した場合、リードコマンドで指定されたデータをＳＳＤから読み出し、読み出したデータをホスト装置１００に送信する。また、コマンド処理部２１３は、ホスト装置１００からライトデータを含むライトコマンドを受信した場合、受信したライトデータをＳＳＤに書き込み、書き込み完了を示す応答をホスト装置１００に返す。
【００６６】
ＲＡＩＤ制御部２１４は、ＲＡＩＤグループにＳＳＤを追加する処理や、ＲＡＩＤグループからＳＳＤを解放する処理を実行する。また、ＲＡＩＤ制御部２１４は、再配置フラグがＯＮのＲＡＩＤグループに属するＳＳＤと、他のＲＡＩＤグループに属するＳＳＤとを対象に再配置を実施する。このとき、ＲＡＩＤ制御部２１４は、ＨＳを利用してＳＳＤ間におけるデータの入れ替えを実施すると共に、ＲＡＩＤグループに対するＳＳＤの追加や解放などの制御を実施する。
【００６７】
以上、ストレージ制御装置２００の機能について説明した。
［２−３．処理の流れ］
次に、ストレージ制御装置２００が実行する処理の流れについて説明する。
【００６８】
（テーブル構築処理）
まず、図７を参照しながら、ＳＳＤを追加し、ＲＡＩＤグループを定義する場合におけるＲＡＩＤテーブル２１１ａ及びＳＳＤテーブル２１１ｂの構築処理について説明する。図７は、第２実施形態に係るテーブル構築処理の流れを示したフロー図である。
【００６９】
（Ｓ１０１）テーブル管理部２１２は、追加されたＳＳＤのうち、定義するＲＡＩＤグループ（対象ＲＡＩＤグループ）に含めるＳＳＤを１つ選択する。そして、テーブル管理部２１２は、ＳＳＤテーブル２１１ｂの対象ＲＡＩＤグループに対応するメンバＳＳＤの欄に選択したＳＳＤ（選択ＳＳＤ）の識別情報を記録する。
【００７０】
（Ｓ１０２）テーブル管理部２１２は、選択ＳＳＤから書き込み上限値を取得し、取得した上限値をＳＳＤテーブル２１１ｂに記録する。
（Ｓ１０３）テーブル管理部２１２は、対象ＲＡＩＤグループにおける書き込みデータ量の上限値（書き込み上限値）に選択ＳＳＤの書き込み上限値を加算する。なお、ＳＳＤの追加前における対象ＲＡＩＤグループの書き込み上限値は、ＲＡＩＤテーブル２１１ａから取得することができる。
【００７１】
（Ｓ１０４）テーブル管理部２１２は、対象ＲＡＩＤグループのメンバＳＳＤとして追加されたＳＳＤを選択し終えたか否かを判定する。メンバＳＳＤの選択を終えている場合、処理はＳ１０５へと進む。一方、未選択のメンバＳＳＤがある場合、処理はＳ１０１へと進む。
【００７２】
（Ｓ１０５）テーブル管理部２１２は、対象ＲＡＩＤグループの書き込み上限値をＲＡＩＤテーブル２１１ａに記録する。つまり、テーブル管理部２１２は、ＲＡＩＤテーブル２１１ａに格納されている対象ＲＡＩＤグループの書き込み上限値を書き換え、追加されたメンバＳＳＤの書き込み上限値を反映した値に更新する。
【００７３】
（Ｓ１０６）テーブル管理部２１２は、対象ＲＡＩＤグループの書き込み上限値に基づいて閾値を計算し、計算した閾値をＲＡＩＤテーブル２１１ａに記録する。このように、閾値は、対象ＲＡＩＤグループの書き込み上限値に基づいて算出される。例えば、閾値は、書き込み上限値の７０％などに設定される。但し、閾値の設定は、任意に決めることができる。
【００７４】
後述するように、閾値を基準として書き込み上限値が大きいＲＡＩＤグループを特定し、特定したＲＡＩＤグループのＳＳＤを消耗の少ないＳＳＤに入れ替える再配置が実施される。そのため、ＳＳＤの多重障害リスクを下げたいＲＡＩＤグループの閾値を低く設定し、再配置の実施可能性を高めることでリスク低減に寄与する。
【００７５】
例えば、閾値は、対象ＲＡＩＤグループに対するアクセスの集中度や、対象ＲＡＩＤグループに対して期待する信頼性などに基づいて設定されうる。より具体的には、アクセス頻度が高いＲＡＩＤグループや、信頼性が重視される業務アプリケーションのデータを扱うＲＡＩＤグループに対して閾値を低く設定する方法などが採用されうる。
【００７６】
Ｓ１０６の処理が完了すると、図７に示した一連の処理は終了する。
（運用中の処理）
次に、図８及び図９を参照しながら、構築されたＲＡＩＤグループの運用中に実行される処理（運用中の処理）の流れについて説明する。
【００７７】
図８は、第２実施形態に係る運用中の処理の流れを示した第１のフロー図である。図９は、第２実施形態に係る運用中の処理の流れを示した第２のフロー図である。
（Ｓ１１１）ＲＡＩＤ制御部２１４は、再配置処理の実施時期が到来したか否かを判定する。例えば、予め設定された周期（例えば、運用期間が５年であれば１５日周期）で再配置処理が実施されるように実施時期が設定される。ＲＡＩＤ制御部２１４は、運用開始時点又は前回再配置処理を実施した時点を基準に所定の期間（例えば、１５日間）が経過したか否かを判定し、実施時期が到来したか否かを判定する。
【００７８】
再配置処理の実施時期が到来した場合、処理は図９のＳ１１９へと進む。一方、再配置処理の実施時期が到来していない場合、処理はＳ１１２へと進む。
（Ｓ１１２）コマンド処理部２１３は、ホスト装置１００からコマンドを受信したか否かを判定する。コマンドを受信した場合、処理はＳ１１３へと進む。コマンドを受信していない場合、処理はＳ１１１へと進む。
【００７９】
（Ｓ１１３）コマンド処理部２１３は、ホスト装置１００から受信したコマンドがライトコマンドか否かを判定する。受信したコマンドがライトコマンドである場合、処理はＳ１１４へと進む。一方、受信したコマンドがリードコマンドである場合、処理はＳ１１８へと進む。
【００８０】
（Ｓ１１４）コマンド処理部２１３は、ホスト装置１００から受信したライトコマンドに応じてＲＡＩＤグループにデータを書き込む。そして、コマンド処理部２１３は、書き込み完了の応答をホスト装置１００に返す。
【００８１】
（Ｓ１１５）テーブル管理部２１２は、コマンド処理部２１３がデータを書き込んだＲＡＩＤグループ（対象ＲＡＩＤグループ）について書き込みデータ量の累積値（書き込み累積値）を更新する。
【００８２】
例えば、テーブル管理部２１２は、対象ＲＡＩＤグループのメンバＳＳＤから書き込み累積値を取得し、取得した各メンバＳＳＤの書き込み累積値をＳＳＤテーブル２１１ｂに記録する。また、テーブル管理部２１２は、各メンバＳＳＤから取得した書き込み累積値の合計をＲＡＩＤテーブル２１１ａに記録する。
【００８３】
Ｓ１１５の処理が完了すると、処理はＳ１１６へと進む。
（Ｓ１１６）ＲＡＩＤ制御部２１４は、ＲＡＩＤテーブル２１１ａを参照し、対象ＲＡＩＤグループの書き込み累積値が閾値以上であるか否かを判定する。書き込み累積値が閾値以上である場合、処理はＳ１１７へと進む。一方、書き込み累積値が閾値未満である場合、処理はＳ１１１へと進む。
【００８４】
（Ｓ１１７）ＲＡＩＤ制御部２１４は、対象ＲＡＩＤグループに再配置フラグを付与する。つまり、ＲＡＩＤ制御部２１４は、対象ＲＡＩＤグループの再配置フラグをＯＮにしてＲＡＩＤテーブル２１１ａを更新する。Ｓ１１７の処理が完了すると、処理はＳ１１１へと進む。
【００８５】
（Ｓ１１８）コマンド処理部２１３は、ホスト装置１００から受信したリードコマンドに応じてＲＡＩＤグループからデータを読み出す。そして、コマンド処理部２１３は、読み出したデータをホスト装置１００に送信する。Ｓ１１８の処理が完了すると、処理はＳ１１１へと進む。
【００８６】
（Ｓ１１９）ＲＡＩＤ制御部２１４は、ＨＳが存在するか否かを判定する。ＨＳが存在する場合、処理はＳ１２０へと進む。一方、ＨＳが存在しない場合、処理はＳ１２６へと進む。例えば、図４の例ではＳＳＤ３０５がＨＳに設定されているため、この場合にはＳ１２０へと処理が進む。
【００８７】
（Ｓ１２０）ＲＡＩＤ制御部２１４は、ＳＳＤテーブル２１１ｂを参照し、ＨＳの書き込み上限値及び書き込み累積値を取得する。そして、ＲＡＩＤ制御部２１４は、ＨＳの疲弊率を計算する。疲弊率は、例えば、書き込み累積値を書き込み上限値で割った値（累積値／上限値）で与えられる。
【００８８】
（Ｓ１２１）ＲＡＩＤ制御部２１４は、ＨＳの疲弊率が０．５以上であるか否かを判定する。ＨＳの疲弊率が０．５以上である場合、処理はＳ１２６へと進む。一方、ＨＳの疲弊率が０．５未満である場合、処理はＳ１２２へと進む。
【００８９】
なお、ＨＳの疲弊率を評価する値０．５は、任意に変更することができる。例えば、この値はＲＡＩＤテーブル２１１ａに記載された閾値と書き込み累積値との比（閾値／書き込み累積値）に設定してもよい。Ｓ１２０、Ｓ１２１の処理は、ＨＳの消耗を考慮し、再配置処理の中でＨＳを含む複数のＳＳＤが同時に故障するリスクを抑制する処理である。
【００９０】
（Ｓ１２２）ＲＡＩＤ制御部２１４は、ＲＡＩＤテーブル２１１ａを参照し、再配置フラグがＯＮのＲＡＩＤグループ（再配置フラグ付きＲＡＩＤグループ）を特定する。そして、ＲＡＩＤ制御部２１４は、再配置フラグ付きＲＡＩＤグループを第１ＲＡＩＤグループとして１つ選択する。なお、第１ＲＡＩＤグループは、書き込み累積値が大きいＲＡＩＤグループである。
【００９１】
（Ｓ１２３）ＲＡＩＤ制御部２１４は、再配置処理を実行する。この処理の中で、ＲＡＩＤ制御部２１４は、第１ＲＡＩＤグループのＳＳＤを選択し、選択したＳＳＤと第１ＲＡＩＤグループとは異なるＲＡＩＤグループのＳＳＤとの間でデータを入れ替える。そして、ＲＡＩＤ制御部２１４は、両ＳＳＤが所属するＲＡＩＤグループを入れ替える。なお、再配置処理については後段において、さらに説明する。
【００９２】
（Ｓ１２４）ＲＡＩＤ制御部２１４は、再配置フラグ付きＲＡＩＤグループを選択し終えたか否かを判定する。再配置フラグ付きＲＡＩＤグループを全て選択し終えた場合、処理はＳ１２５へと進む。一方、未選択の再配置フラグ付きＲＡＩＤグループがある場合、処理はＳ１２２へと進む。
【００９３】
（Ｓ１２５）ＲＡＩＤ制御部２１４は、再配置フラグをリセットする。つまり、ＲＡＩＤ制御部２１４は、ＲＡＩＤテーブル２１１ａの再配置フラグを全てＯＦＦにする。
（Ｓ１２６）ＲＡＩＤ制御部２１４は、予め設定された運用継続期間が満了したか否かを判定する。運用継続期間が満了しておらず、運用を継続する場合、処理は図８のＳ１１１へと進む。一方、運用継続期間が満了し、運用を停止する場合、図８及び図９に示した一連の処理は終了する。
【００９４】
（再配置処理）
ここで、図１０及び図１１を参照しながら、再配置処理（Ｓ１２３）の流れについて、さらに説明する。
【００９５】
図１０は、第２実施形態に係る再配置処理の流れを示した第１のフロー図である。図１１は、第２実施形態に係る再配置処理の流れを示した第２のフロー図である。
（Ｓ１３１）ＲＡＩＤ制御部２１４は、ＳＳＤテーブル２１１ｂを参照し、第１ＲＡＩＤグループに属する各メンバＳＳＤの書き込み累積値を取得する。
【００９６】
（Ｓ１３２）ＲＡＩＤ制御部２１４は、ＳＳＤテーブル２１１ｂから書き込み上限値を取得し、書き込み上限値と書き込み累積値とに基づいて、第１ＲＡＩＤグループに属する各メンバＳＳＤの疲弊率を計算する。疲弊率は、例えば、書き込み累積値を書き込み上限値で割った値（累積値／上限値）で与えられる。
【００９７】
（Ｓ１３３）ＲＡＩＤ制御部２１４は、第１ＲＡＩＤグループに属するメンバＳＳＤのうち、疲弊率が最大のメンバＳＳＤを第１対象ＳＳＤとして選択する。
（Ｓ１３４）ＲＡＩＤ制御部２１４は、第１対象ＳＳＤのデータをＨＳにコピーする。
【００９８】
（Ｓ１３５）ＲＡＩＤ制御部２１４は、Ｓ１３４でデータをコピーしたＨＳを第１ＲＡＩＤグループのメンバに組み入れる。ＲＡＩＤ制御部２１４は、第１対象ＳＳＤを第１ＲＡＩＤグループから解放し、組み入れたＨＳを第１対象ＳＳＤの代わりに用いることで、第１ＲＡＩＤグループの運用を継続することができる。
【００９９】
（Ｓ１３６）ＲＡＩＤ制御部２１４は、第１ＲＡＩＤグループとは異なるＲＡＩＤグループ（他のＲＡＩＤグループ）の中から、書き込み累積値が最小のＲＡＩＤグループを第２ＲＡＩＤグループとして１つ選択する。
【０１００】
（Ｓ１３７）ＲＡＩＤ制御部２１４は、ＲＡＩＤテーブル２１１ａを参照し、第２ＲＡＩＤグループの書き込み累積値が閾値以上であるか否かを判定する。書き込み累積値が閾値以上である場合、処理は図１１のＳ１４６に進む。一方、書き込み累積値が閾値未満である場合、処理は図１１のＳ１３８へと進む。
【０１０１】
書き込み累積値が大きいＲＡＩＤグループ同士では再配置による消費負担の分散効果は小さいため、再配置の処理に伴うデータの書き込みを回避して各ＳＳＤを消耗させない方が好適である。そこで、Ｓ１３７の判定処理を設けることで、書き込み累積値が大きいＲＡＩＤグループ同士におけるＳＳＤの再配置を抑制する。
【０１０２】
（Ｓ１３８）ＲＡＩＤ制御部２１４は、ＳＳＤテーブル２１１ｂを参照し、第２ＲＡＩＤグループに属する各メンバＳＳＤの書き込み累積値を取得する。
（Ｓ１３９）ＲＡＩＤ制御部２１４は、ＳＳＤテーブル２１１ｂから書き込み上限値を取得し、書き込み上限値と書き込み累積値とに基づいて、第２ＲＡＩＤグループに属する各メンバＳＳＤの疲弊率を計算する。
【０１０３】
（Ｓ１４０）ＲＡＩＤ制御部２１４は、第２ＲＡＩＤグループに属するメンバＳＳＤのうち、疲弊率が最小のメンバＳＳＤを第２対象ＳＳＤとして選択する。
（Ｓ１４１）ＲＡＩＤ制御部２１４は、第２対象ＳＳＤの疲弊率が０．５以上であるか否かを判定する。第２対象ＳＳＤの疲弊率が０．５以上である場合、処理はＳ１４６へと進む。一方、第２対象ＳＳＤの疲弊率が０．５未満である場合、処理はＳ１４２へと進む。なお、第２対象ＳＳＤの疲弊率を評価する値０．５は、任意に変更することができる。
【０１０４】
書き込み累積値が大きいＳＳＤ同士では再配置による消費負担の分散効果は小さいため、再配置の処理に伴うデータの書き込みを回避して各ＳＳＤを消耗させない方が好適である。そこで、Ｓ１４１の判定処理を設けることで、書き込み累積値が大きいＳＳＤ同士の再配置を抑制する。
【０１０５】
（Ｓ１４２）ＲＡＩＤ制御部２１４は、第２対象ＳＳＤのデータを第１対象ＳＳＤにコピーする。なお、第１対象ＳＳＤのデータは既にＨＳにコピーされており、第１対象ＳＳＤが第２対象ＳＳＤのデータで上書きされても、ＨＳにデータが残っている。
【０１０６】
（Ｓ１４３）ＲＡＩＤ制御部２１４は、第１対象ＳＳＤを第２ＲＡＩＤグループのメンバに組み入れる。そして、ＲＡＩＤ制御部２１４は、第２対象ＳＳＤを第２ＲＡＩＤグループから解放し、第２対象ＳＳＤの代わりとして第１対象ＳＳＤを動作させる。
【０１０７】
（Ｓ１４４）ＲＡＩＤ制御部２１４は、ＨＳのデータを第２対象ＳＳＤにコピーする。つまり、第１対象ＳＳＤが第１ＲＡＩＤグループに所属していたときに保持していたデータがＨＳを介して第２対象ＳＳＤにコピーされたことになる。
【０１０８】
（Ｓ１４５）ＲＡＩＤ制御部２１４は、第２対象ＳＳＤを第１ＲＡＩＤグループのメンバに組み入れる。
（Ｓ１４６）ＲＡＩＤ制御部２１４は、ＨＳを第１ＲＡＩＤグループから解放する。
【０１０９】
第１ＲＡＩＤグループに第２対象ＳＳＤを組み入れている場合には、解放されたＨＳの代わりに第２対象ＳＳＤが第１ＲＡＩＤグループのメンバとして運用される。一方、第２対象ＳＳＤが第１ＲＡＩＤグループに組み入れられていない場合（Ｓ１３７、Ｓ１４１からＳ１４６へと進んだ場合）、ＲＡＩＤ制御部２１４は、第１対象ＳＳＤを第１ＲＡＩＤグループのメンバに戻し、ＨＳを第１ＲＡＩＤグループから解放する。
【０１１０】
Ｓ１４６の処理が完了すると、図１０及び図１１に示した一連の処理は終了する。
ところで、上記の例では、第２ＲＡＩＤグループとして書き込み累積値が最小のＲＡＩＤグループを選択したが、例えば、疲弊率が最小のＲＡＩＤグループを選択してもよい。また、第１ＲＡＩＤグループよりも書き込み累積値又は疲弊率が小さい任意のＲＡＩＤグループを第２ＲＡＩＤグループとして選択してもよい。
【０１１１】
また、上記の例では、第２対象ＳＳＤとして疲弊率が最小のＳＳＤを選択したが、例えば、第２ＲＡＩＤグループ内でランダムに選択したＳＳＤを第２対象ＳＳＤとして選択してもよい。また、上記の例では、ＲＡＩＤグループの書き込み累積値をメンバＳＳＤの総書き込み累積値としていたが、メンバＳＳＤの平均書き込み累積値を用いてもよい。こうした変形例も第２実施形態の技術的範囲に属する。
【０１１２】
［２−４．変形例＃１］
次に、第２実施形態の一変形例（変形例＃１）について説明する。変形例＃１は、書き込み累積値が大きいＲＡＩＤグループについて、書き込み累積値の確認処理を頻繁に行うように変形したものである。なお、上述した図９の処理は変形されないため、説明の中で図９を参照して重複説明を省略する場合がある。
【０１１３】
（ＲＡＩＤテーブル２１１ａ）
変形例＃１では、ＲＡＩＤテーブル２１１ａが一部変形される。図１２は、第２実施形態の一変形例（変形例＃１）に係るＲＡＩＤテーブルの一例を示した図である。図１２に示すように、変形例＃１に係るＲＡＩＤテーブル２１１ａは、第１閾値、第２閾値、及び注意フラグの欄が含まれている。注意フラグは、再配置の対象となるＲＡＩＤグループの候補を示す情報である。第１閾値は、注意フラグを付与するか否かを判定する際に用いる閾値である。第２閾値は、再配置フラグを付与するか否かを判定する際に用いる閾値である。第１閾値は第２閾値より小さい値に設定される。
【０１１４】
（運用中の処理）
図１３〜図１５を参照しながら、変形例＃１に係る運用中の処理について説明する。
図１３は、第２実施形態の一変形例（変形例＃１）に係る運用中の処理の流れを示した第１のフロー図である。図１４は、第２実施形態の一変形例（変形例＃１）に係る運用中の処理の流れを示した第２のフロー図である。図１５は、第２実施形態の一変形例（変形例＃１）に係る運用中の処理の流れを示した第３のフロー図である。
【０１１５】
（Ｓ２０１）ＲＡＩＤ制御部２１４は、全てのＲＡＩＤグループが対象の確認処理（確認処理＃１）の実施時期が到来したか否かを判定する。例えば、予め設定された周期（例えば、運用期間が５年であれば１５日周期）で確認処理＃１が実施されるように実施時期が設定される。なお、確認処理＃１は、再配置の対象となるＲＡＩＤグループの候補（注意フラグが付与されるＲＡＩＤグループ）があるかを確認する処理である。
【０１１６】
ＲＡＩＤ制御部２１４は、運用開始時点又は前回確認処理＃１を実施した時点を基準に所定の期間（例えば、１５日間）が経過したか否かを判定し、実施時期が到来したか否かを判定する。確認処理＃１の実施時期が到来した場合、処理は図１４のＳ２０８へと進む。一方、確認処理＃１の実施時期が到来していない場合、処理はＳ２０２へと進む。
【０１１７】
（Ｓ２０２）ＲＡＩＤ制御部２１４は、注意フラグが付与されたＲＡＩＤグループ（注意フラグ付きＲＡＩＤグループ）が対象の確認処理（確認処理＃２）の実施時期が到来したか否かを判定する。なお、注意フラグ付きＲＡＩＤグループがない場合には、Ｓ２０２の処理はスキップされ、処理はＳ２０３へと進む。
【０１１８】
例えば、予め設定された周期で確認処理＃２が実施されるように実施時期が設定される。但し、確認処理＃２に関する周期は、確認処理＃１に関する周期（例えば、１５日周期）より短い周期（７．５日周期）に設定される。
【０１１９】
なお、確認処理＃２は、注意フラグ付きＲＡＩＤグループの中に再配置の対象となるＲＡＩＤグループがあるかを確認する処理である。
ＲＡＩＤ制御部２１４は、運用開始時点又は前回確認処理＃２を実施した時点を基準に所定の期間（例えば、７．５日間）が経過したか否かを判定し、実施時期が到来したか否かを判定する。確認処理＃２の実施時期が到来した場合、処理は図１５のＳ２１２へと進む。一方、確認処理＃２の実施時期が到来していない場合、処理はＳ２０３へと進む。
【０１２０】
（Ｓ２０３）コマンド処理部２１３は、ホスト装置１００からコマンドを受信したか否かを判定する。コマンドを受信した場合、処理はＳ２０４へと進む。コマンドを受信していない場合、処理はＳ２０１へと進む。
【０１２１】
（Ｓ２０４）コマンド処理部２１３は、ホスト装置１００から受信したコマンドがライトコマンドか否かを判定する。受信したコマンドがライトコマンドである場合、処理はＳ２０５へと進む。一方、受信したコマンドがリードコマンドである場合、処理はＳ２０７へと進む。
【０１２２】
（Ｓ２０５）コマンド処理部２１３は、ホスト装置１００から受信したライトコマンドに応じてＲＡＩＤグループにデータを書き込む。そして、コマンド処理部２１３は、書き込み完了の応答をホスト装置１００に返す。
【０１２３】
（Ｓ２０６）テーブル管理部２１２は、コマンド処理部２１３がデータを書き込んだＲＡＩＤグループ（対象ＲＡＩＤグループ）について書き込みデータ量の累積値（書き込み累積値）を更新する。
【０１２４】
例えば、テーブル管理部２１２は、対象ＲＡＩＤグループのメンバＳＳＤから書き込み累積値を取得し、取得した各メンバＳＳＤの書き込み累積値をＳＳＤテーブル２１１ｂに記録する。また、テーブル管理部２１２は、各メンバＳＳＤから取得した書き込み累積値の合計をＲＡＩＤテーブル２１１ａに記録する。
【０１２５】
Ｓ２０６の処理が完了すると、処理はＳ２０１へと進む。
（Ｓ２０７）コマンド処理部２１３は、ホスト装置１００から受信したリードコマンドに応じてＲＡＩＤグループからデータを読み出す。そして、コマンド処理部２１３は、読み出したデータをホスト装置１００に送信する。Ｓ２０７の処理が完了すると、処理はＳ２０１へと進む。
【０１２６】
（Ｓ２０８）ＲＡＩＤ制御部２１４は、ＲＡＩＤグループ（対象ＲＡＩＤグループ）を１つ選択する。
（Ｓ２０９）ＲＡＩＤ制御部２１４は、ＲＡＩＤテーブル２１１ａを参照し、対象ＲＡＩＤグループの書き込み累積値が第１閾値以上であるか否かを判定する。書き込み累積値が第１閾値以上である場合、処理はＳ２１０へと進む。一方、書き込み累積値が第１閾値未満である場合、処理はＳ２１１へと進む。
【０１２７】
（Ｓ２１０）ＲＡＩＤ制御部２１４は、対象ＲＡＩＤグループに注意フラグを付与する。つまり、ＲＡＩＤ制御部２１４は、対象ＲＡＩＤグループの注意フラグをＯＮにしてＲＡＩＤテーブル２１１ａを更新する。
【０１２８】
（Ｓ２１１）ＲＡＩＤ制御部２１４は、ＲＡＩＤグループを選択し終えたか否かを判定する。全てのＲＡＩＤグループを選択し終えた場合、処理は図１３のＳ２０２へと進む。一方、未選択のＲＡＩＤグループがある場合、処理はＳ２０８へと進む。
【０１２９】
（Ｓ２１２）ＲＡＩＤ制御部２１４は、注意フラグ付きＲＡＩＤグループ（対象ＲＡＩＤグループ）を１つ選択する。
（Ｓ２１３）ＲＡＩＤ制御部２１４は、ＲＡＩＤテーブル２１１ａを参照し、対象ＲＡＩＤグループの書き込み累積値が第２閾値以上であるか否かを判定する。書き込み累積値が第２閾値以上である場合、処理はＳ２１４へと進む。一方、書き込み累積値が第２閾値未満である場合、処理はＳ２１５へと進む。
【０１３０】
（Ｓ２１４）ＲＡＩＤ制御部２１４は、対象ＲＡＩＤグループに再配置フラグを付与する。つまり、ＲＡＩＤ制御部２１４は、対象ＲＡＩＤグループの再配置フラグをＯＮにしてＲＡＩＤテーブル２１１ａを更新する。
【０１３１】
（Ｓ２１５）ＲＡＩＤ制御部２１４は、注意フラグ付きＲＡＩＤグループを選択し終えたか否かを判定する。全ての注意フラグ付きＲＡＩＤグループを選択し終えた場合、処理はＳ２１６へと進む。一方、未選択の注意フラグ付きＲＡＩＤグループがある場合、処理はＳ２１２へと進む。
【０１３２】
（Ｓ２１６）ＲＡＩＤ制御部２１４は、ＲＡＩＤテーブル２１１ａを参照し、再配置フラグ付きＲＡＩＤグループがあるか否かを判定する。再配置フラグ付きＲＡＩＤグループがある場合、処理は図９のＳ１１９へ進む。一方、再配置フラグ付きＲＡＩＤグループがない場合、処理は図１３のＳ２０３へと進む。なお、変形例＃１の場合、図９のＳ１２６で運用を継続すると判定された場合、処理はＳ２０１へと進む。
【０１３３】
変形例＃１によれば、消耗が進みつつあるＲＡＩＤグループに注意フラグを付与し、より短い時間間隔で書き込み累積値を確認することで、確認処理を実施しない期間に多重障害が発生するリスクを低減することができる。また、消耗の少ないＲＡＩＤグループについては、比較的長い時間間隔で確認処理が実施されるため、確認処理の負担を抑制することもできる。
【０１３４】
［２−５．変形例＃２］
次に、第２実施形態の一変形例（変形例＃２）について説明する。変形例＃２は、ＲＡＩＤグループにおける書き込み累積値の変化から、運用期間終了時の書き込み累積値を予測し、その予測結果に基づいて再配置の実施要否を判断するように変形したものである。なお、上述した図９の処理は変形されないため、説明の中で図９を参照して重複説明を省略する場合がある。
【０１３５】
図１６及び図１７を参照しながら、変形例＃２に係る運用中の処理について説明する。
図１６は、第２実施形態の一変形例（変形例＃２）に係る運用中の処理の流れを示した第１のフロー図である。図１７は、第２実施形態の一変形例（変形例＃２）に係る運用中の処理の流れを示した第２のフロー図である。
【０１３６】
（Ｓ３０１）ＲＡＩＤ制御部２１４は、再配置の対象となるＲＡＩＤグループがあるかを確認する確認処理の実施時期が到来したか否かを判定する。例えば、予め設定された周期（例えば、運用期間が５年であれば１５日周期）で確認処理が実施されるように実施時期が設定される。確認処理の実施時期が到来した場合、処理は図１７のＳ３０７へと進む。一方、確認処理の実施時期が到来していない場合、処理はＳ３０２へと進む。
【０１３７】
（Ｓ３０２）コマンド処理部２１３は、ホスト装置１００からコマンドを受信したか否かを判定する。コマンドを受信した場合、処理はＳ３０３へと進む。コマンドを受信していない場合、処理はＳ３０１へと進む。
【０１３８】
（Ｓ３０３）コマンド処理部２１３は、ホスト装置１００から受信したコマンドがライトコマンドか否かを判定する。受信したコマンドがライトコマンドである場合、処理はＳ３０４へと進む。一方、受信したコマンドがリードコマンドである場合、処理はＳ３０６へと進む。
【０１３９】
（Ｓ３０４）コマンド処理部２１３は、ホスト装置１００から受信したライトコマンドに応じてＲＡＩＤグループにデータを書き込む。そして、コマンド処理部２１３は、書き込み完了の応答をホスト装置１００に返す。
【０１４０】
（Ｓ３０５）テーブル管理部２１２は、コマンド処理部２１３がデータを書き込んだＲＡＩＤグループ（対象ＲＡＩＤグループ）について書き込みデータ量の累積値（書き込み累積値）を更新する。
【０１４１】
例えば、テーブル管理部２１２は、対象ＲＡＩＤグループのメンバＳＳＤから書き込み累積値を取得し、取得した各メンバＳＳＤの書き込み累積値をＳＳＤテーブル２１１ｂに記録する。また、テーブル管理部２１２は、各メンバＳＳＤから取得した書き込み累積値の合計をＲＡＩＤテーブル２１１ａに記録する。
【０１４２】
Ｓ３０５の処理が完了すると、処理はＳ３０１へと進む。
（Ｓ３０６）コマンド処理部２１３は、ホスト装置１００から受信したリードコマンドに応じてＲＡＩＤグループからデータを読み出す。そして、コマンド処理部２１３は、読み出したデータをホスト装置１００に送信する。Ｓ３０６の処理が完了すると、処理はＳ３０１へと進む。
【０１４３】
（Ｓ３０７）ＲＡＩＤ制御部２１４は、ＲＡＩＤグループ（対象ＲＡＩＤグループ）を１つ選択する。このとき、ＲＡＩＤ制御部２１４は、ＲＡＩＤテーブル２１１ａを参照し、対象ＲＡＩＤグループの書き込み累積値を記憶部２１１に格納する。
【０１４４】
（Ｓ３０８）ＲＡＩＤ制御部２１４は、対象ＲＡＩＤグループについて、前回の確認処理から増加した書き込み累積値の増加量に基づいて運用期間終了時の書き込み累積値を予測する。なお、運用期間（例えば、５年間など）は予め設定されている。
【０１４５】
例えば、ＲＡＩＤ制御部２１４は、前回の確認処理に際してＳ３０７の処理で記憶部２１１に格納した書き込み累積値と、ＲＡＩＤテーブル２１１ａに現在格納されている書き込み累積値との差分を書き込み累積値の増加量として計算する。また、ＲＡＩＤ制御部２１４は、確認処理の周期と、計算した書き込み累積値の増加量とに基づいて単位時間当たりの書き込み増加量を計算する。
【０１４６】
また、ＲＡＩＤ制御部２１４は、運用開始時点を基準とする経過期間に基づいて運用期間の残りを計算する。そして、ＲＡＩＤ制御部２１４は、計算した単位時間当たりの書き込み累積値の増加量と、計算した運用期間の残りと、現在の書き込み累積値とに基づいて運用期間終了時の書き込み累積値を予測する。つまり、ＲＡＩＤ制御部２１４は、計算した増加量で書き込みデータ量の累積値が増加したと仮定した場合の運用期間終了時の書き込み累積値を予測値として求める。
【０１４７】
（Ｓ３０９）ＲＡＩＤ制御部２１４は、Ｓ３０８で計算した予測値と、ＲＡＩＤテーブル２１１ａに記載されている書き込み上限値とを比較し、予測値が上限値以上であるか否かを判定する。予測値が上限値以上である場合、処理はＳ３１０へと進む。一方、予測値が上限値未満である場合、処理はＳ３１１へと進む。
【０１４８】
（Ｓ３１０）ＲＡＩＤ制御部２１４は、対象ＲＡＩＤグループに再配置フラグを付与する。つまり、ＲＡＩＤ制御部２１４は、対象ＲＡＩＤグループの再配置フラグをＯＮにしてＲＡＩＤテーブル２１１ａを更新する。
【０１４９】
（Ｓ３１１）ＲＡＩＤ制御部２１４は、ＲＡＩＤグループを選択し終えたか否かを判定する。全てのＲＡＩＤグループを選択し終えた場合、処理はＳ３１２へと進む。一方、未選択のＲＡＩＤグループがある場合、処理はＳ３０７へと進む。
【０１５０】
（Ｓ３１２）ＲＡＩＤ制御部２１４は、再配置フラグを付与したＲＡＩＤグループ（再配置フラグ付きＲＡＩＤグループ）があるか否かを判定する。再配置フラグ付きＲＡＩＤグループがある場合、処理は図９のＳ１１９へ進む。一方、再配置フラグ付きＲＡＩＤグループがない場合、処理は図１６のＳ３０２へと進む。なお、変形例＃２の場合、図９のＳ１２６で運用を継続すると判定された場合、処理はＳ３０１へと進む。
【０１５１】
変形例＃２によれば、運用期間中にＳＳＤに障害が発生するリスクを予測し、その発生が予期されない場合には再配置の処理を回避することで、再配置の処理に伴う処理負荷の増大やＳＳＤの消耗を抑制することができる。
【０１５２】
以上、第２実施形態について説明した。なお、第２実施形態では、ＳＳＤ−ＲＡＩＤを例に説明を進めてきたが、ＳＳＤ以外にも書き込み累積値に上限がある記憶媒体を用いたストレージシステムにも同様に適用できる。
【符号の説明】
【０１５３】
１０  ストレージ制御装置
１１  記憶部
１１ａ  記憶装置情報
１１ｂ  ストレージグループ情報
１２  制御部
２０ａ、２０ｂ、２０ｃ  ストレージグループ
２１、２２、２３、２４、２５、２６  記憶装置
【図１】
0006565560.tif 000002
【図２】
0006565560.tif 000003
【図３】
0006565560.tif 000004
【図４】
0006565560.tif 000005
【図５】
0006565560.tif 000006
【図６】
0006565560.tif 000007
【図７】
0006565560.tif 000008
【図８】
0006565560.tif 000009
【図９】
0006565560.tif 000010
【図１０】
0006565560.tif 000011
【図１１】
0006565560.tif 000012
【図１２】
0006565560.tif 000013
【図１３】
0006565560.tif 000014
【図１４】
0006565560.tif 000015
【図１５】
0006565560.tif 000016
【図１６】
0006565560.tif 000017
【図１７】
0006565560.tif 000018