(57)【特許請求の範囲】
【請求項１】
少なくとも２つの記憶媒体がデータ書き込み先に設定され、データ書き込み先に設定された記憶媒体以外の少なくとも１つの記憶媒体が予備に設定された、複数の記憶媒体と、
入力されたデータを、データ書き込み先に設定された記憶媒体に書き込む書き込み部と、
前記複数の記憶媒体それぞれに対して行われた書き込み回数をカウントするカウント部と、
データ書き込み先に設定されている第１の記憶媒体の書き込み回数と、データ書き込み先に設定されている第２の記憶媒体の書き込み回数との差よりも、前記第１の記憶媒体の書き込み回数と、予備に設定されている第３の記憶媒体の書き込み回数および前記第２の記憶媒体内のデータの前記第３の記憶媒体へのコピーの際に生じる書き込み回数に基づいて決定される値との差の方が大きくなる前記第２の記憶媒体を、交換対象として選択する選択部と、
交換対象として選択した前記第２の記憶媒体が記憶しているデータを前記第３の記憶媒体にコピーし、前記第２の記憶媒体の設定を予備に変更し、前記第３の記憶媒体の設定をデータ書き込み先に変更する設定変更部と、
を有することを特徴とするストレージ装置。
【請求項２】
前記選択部は、予め設定された推定値を、前記第２の記憶媒体内のデータの前記第３の記憶媒体へのコピーの際に生じる書き込み回数とすることを特徴とする請求項１記載のストレージ装置。
【請求項３】
前記選択部は、前記複数の記憶媒体に所定の回数だけデータの書き込み処理が行われる毎に、交換対象とする記憶媒体を選択することを特徴とする請求項１または２のいずれかに記載のストレージ装置。
【請求項４】
少なくとも２つの記憶媒体がデータ書き込み先に設定され、データ書き込み先に設定された記憶媒体以外の少なくとも１つの記憶媒体が予備に設定された、複数の記憶媒体を有するストレージ装置を制御するストレージ装置制御方法において、
入力されたデータを、データ書き込み先に設定された記憶媒体に書き込み、
前記複数の記憶媒体それぞれに対して行われた書き込み回数をカウントし、
データ書き込み先に設定されている第１の記憶媒体の書き込み回数と、データ書き込み先に設定されている第２の記憶媒体の書き込み回数との差よりも、前記第１の記憶媒体の書き込み回数と、予備に設定されている第３の記憶媒体の書き込み回数および前記第２の記憶媒体内のデータの前記第３の記憶媒体へのコピーの際に生じる書き込み回数に基づいて決定される値との差の方が大きくなる前記第２の記憶媒体を、交換対象として選択し、
交換対象として選択した前記第２の記憶媒体が記憶しているデータを前記第３の記憶媒体にコピーし、
前記第２の記憶媒体の設定を予備に変更し、前記第３の記憶媒体の設定をデータ書き込み先に変更する、
を有することを特徴とするストレージ装置制御方法。
【請求項５】
少なくとも２つの記憶媒体がデータ書き込み先に設定され、データ書き込み先に設定された記憶媒体以外の少なくとも１つの記憶媒体が予備に設定された、複数の記憶媒体と、
入力されたデータを、データ書き込み先に設定された記憶媒体に書き込む書き込み部と、
前記複数の記憶媒体それぞれに関する、単位期間内でデータ書き込み先に設定する期間の長さが、記憶媒体間で不均一になると共に、搭載期間の長さが短い記憶媒体ほど、単位期間内でデータ書き込み先に設定する期間の長さが短くなるように、前記複数の記憶媒体それぞれをデータ書き込み先とするスケジュールを設定する設定部と、
前記スケジュールに基づいて、データ書き込み先に設定する記憶媒体を、交換対象として選択する選択部と、
交換対象として選択した記憶媒体が記憶しているデータを、予備に設定されている記憶媒体にコピーし、該交換対象として選択した記憶媒体の設定を予備に変更し、該予備に設定されている記憶媒体の設定を、データ書き込み先に変更する設定変更部と、
を有することを特徴とするストレージ装置。
【請求項６】
少なくとも２つの記憶媒体がデータ書き込み先に設定され、データ書き込み先に設定された記憶媒体以外の少なくとも１つの記憶媒体が予備に設定された、複数の記憶媒体と、
入力されたデータを、データ書き込み先に設定された記憶媒体に書き込む書き込み部と、
前記複数の記憶媒体それぞれに関する、単位期間内でデータ書き込み先に設定する期間の長さが、記憶媒体間で不均一に定められたスケジュールに基づいて、単位期間内で、搭載期間の長さが長い記憶媒体よりも搭載期間の長さが短い記憶媒体を先に、交換対象として選択する選択部と、
交換対象として選択した記憶媒体が記憶しているデータを、予備に設定されている記憶媒体にコピーし、該交換対象として選択した記憶媒体の設定を予備に変更し、該予備に設定されている記憶媒体の設定を、データ書き込み先に変更する設定変更部と、
を有することを特徴とするストレージ装置。
【請求項７】
少なくとも２つの記憶媒体がデータ書き込み先に設定され、データ書き込み先に設定された記憶媒体以外の少なくとも１つの記憶媒体が予備に設定された、複数の記憶媒体を有するストレージ装置を制御するストレージ装置制御方法において、
入力されたデータを、データ書き込み先に設定された記憶媒体に書き込み、
前記複数の記憶媒体それぞれに関する、単位期間内でデータ書き込み先に設定する期間の長さが、記憶媒体間で不均一になると共に、搭載期間の長さが短い記憶媒体ほど、単位期間内でデータ書き込み先に設定する期間の長さが短くなるように、前記複数の記憶媒体それぞれをデータ書き込み先とするスケジュールを設定し、
前記スケジュールに基づいて、データ書き込み先に設定する記憶媒体を、交換対象として選択し、
交換対象として選択した記憶媒体が記憶しているデータを、予備に設定されている記憶媒体にコピーし、
交換対象として選択した記憶媒体の設定を予備に変更し、予備に設定されている記憶媒体の設定を、データ書き込み先に変更する、
ことを特徴とするストレージ装置制御方法。
【請求項８】
少なくとも２つの記憶媒体がデータ書き込み先に設定され、データ書き込み先に設定された記憶媒体以外の少なくとも１つの記憶媒体が予備に設定された、複数の記憶媒体を有するストレージ装置を制御するストレージ装置制御方法において、
入力されたデータを、データ書き込み先に設定された記憶媒体に書き込み、
前記複数の記憶媒体それぞれに関する、単位期間内でデータ書き込み先に設定する期間の長さが、記憶媒体間で不均一に定められたスケジュールに基づいて、単位期間内で、搭載期間の長さが長い記憶媒体よりも搭載期間の長さが短い記憶媒体を先に、交換対象として選択し、
交換対象として選択した記憶媒体が記憶しているデータを、予備に設定されている記憶媒体にコピーし、
交換対象として選択した記憶媒体の設定を予備に変更し、予備に設定されている記憶媒体の設定を、データ書き込み先に変更する、
ことを特徴とするストレージ装置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、ストレージ装置、およびストレージ装置制御方法に関する。
【背景技術】
【０００２】
磁気ディスク、光磁気ディスク、光ディスク等の記憶媒体を利用したストレージ装置では、記憶容量の大容量化が進められている。このストレージ装置の記憶容量の大容量化に関して、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）という記憶媒体を多重化して信頼性を高めたストレージ装置を構成する技術が広く用いられている。
【０００３】
また、ＲＡＩＤを用いたストレージ装置において、記憶媒体に、フラッシュメモリを用いたＳＳＤ（Solid State Drive）等のランダムアクセス性能に優れている不揮発性半導体メモリを用いて、ランダムアクセス時のデータアクセスの向上を図ったものも用いられている。
【０００４】
ここで、フラッシュメモリ等の半導体メモリには、使用時において書き込み回数に制限があり、所定回数以上書き込みを行うことができない。このように、記憶媒体には、使用回数や使用時間等による書き込み回数の上限が設定されているものがある。
【０００５】
また、半導体メモリの書き込み回数の管理に関して、以下の技術が知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１４６２２０号公報
【特許文献２】特開２００４−１１８４０７号公報
【特許文献３】特開平０８−９６５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、ストレージ装置は、複数の記憶媒体で構成したＲＡＩＤを使用するが、複数の記憶媒体が同時に書き込み回数の上限に達して交換の必要が生じたり、不具合が生じたりした場合には、冗長性が維持されない場合が生じ得るという問題点がある。
【０００８】
本件はこのような点に鑑みてなされたものであり、複数の記憶媒体が同時に書き込み回数の上限に達することを抑制することが可能なストレージ装置、およびストレージ装置制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために以下のようなストレージ装置が提供される。
ストレージ装置は、複数の記憶媒体、書き込み部、カウント部、選択部、および設定変更部を有する。複数の記憶媒体は、少なくとも２つの記憶媒体がデータ書き込み先に設定され、データ書き込み先に設定された記憶媒体以外の少なくとも１つの記憶媒体が予備に設定される。書き込み部は、入力されたデータを、データ書き込み先に設定された記憶媒体に書き込む。カウント部は、複数の記憶媒体それぞれに対して行われた書き込み回数をカウントする。選択部は、データ書き込み先に設定されている第１の記憶媒体の書き込み回数と、データ書き込み先に設定されている第２の記憶媒体の書き込み回数との差よりも、第１の記憶媒体の書き込み回数と、予備に設定されている第３の記憶媒体の書き込み回数および第２の記憶媒体内のデータの第３の記憶媒体へのコピーの際に生じる書き込み回数に基づいて決定される値との差の方が大きくなる第２の記憶媒体を、交換対象として選択する。設定変更部は、交換対象として選択した第２の記憶媒体が記憶しているデータを第３の記憶媒体にコピーし、第２の記憶媒体の設定を予備に変更し、第３の記憶媒体の設定をデータ書き込み先に変更する。
【発明の効果】
【００１０】
開示のストレージ装置、およびストレージ装置制御方法によれば、複数の記憶媒体が同時に書き込み回数の上限に達することを抑制することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態のストレージ装置を示す図である。
【図２】第２の実施の形態のストレージ装置のハードウェアを示す図である。
【図３】第２の実施の形態のストレージ装置の機能を示すブロック図である。
【図４】第２の実施の形態のスケジュール設定テーブルを示す図である。
【図５】第２の実施の形態の記憶デバイスのデータコピーおよび交換時の動作を示す図である。
【図６】第２の実施の形態の待機期間長の算出時の動作を示す図である。
【図７】第２の実施の形態のスケジュール設定処理を示すフローチャートである。
【図８】第２の実施の形態の記憶デバイス交換処理を示すフローチャートである。
【図９】第３の実施の形態のストレージ装置を示すブロック図である。
【図１０】第３の実施の形態の記憶デバイスの交換時の動作を示す図である。
【図１１】第３の実施の形態の記憶デバイスの交換時の動作を示す図である。
【図１２】第３の実施の形態の記憶デバイスの交換時の動作を示す図である。
【図１３】第３の実施の形態の記憶デバイスの書き込み回数の推移を示す図である。
【図１４】第３の実施の形態の記憶デバイス交換処理を示すフローチャートである。
【図１５】第３の実施の形態の記憶デバイス交換処理を示すフローチャートである。
【図１６】第３の実施の形態の記憶デバイス交換処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態のストレージ装置を示す図である。第１の実施の形態のストレージ装置１は、記憶媒体群１ａ、書き込み部１ｂ、カウント部１ｃ、選択部１ｄ、および設定変更部１ｅを有する。記憶媒体群１ａは、例えばデバイスエンクロージャ（device enclosure）内に設けられる。
【００１３】
記憶媒体群１ａには、複数の記憶媒体１ａ−１，１ａ−２，１ａ−３が含まれる。複数の記憶媒体１ａ−１，１ａ−２，１ａ−３は、少なくとも２つの記憶媒体がデータ書き込み先に設定され、データ書き込み先に設定された記憶媒体以外の少なくとも１つの記憶媒体が予備に設定される。
【００１４】
書き込み部１ｂは、入力されたデータを、データ書き込み先に設定された記憶媒体に書き込む。
カウント部１ｃは、複数の記憶媒体１ａ−１，１ａ−２，１ａ−３それぞれに対して行われた書き込み回数をカウントする。
【００１５】
選択部１ｄは、データ書き込み先に設定されている記憶媒体１ａ−１，１ａ−２の中から、交換対象の記憶媒体を選択する。例えば選択部１ｄは、データ書き込み先に設定されている記憶媒体１ａ−１，１ａ−２のうちの１つを第１の記憶媒体、他の１つを第２の記憶媒体とし、予備に設定されている記憶媒体の１つを第３の記憶媒体とする。図１の例では、記憶媒体１ａ−１を第１の記憶媒体、記憶媒体１ａ−２を第２の記憶媒体とし、記憶媒体１ａ−３を第３の記憶媒体としたものとする。このとき、選択部１ｄは、以下のようにして、交換対象の選択を行う。
【００１６】
選択部１ｄは、第１の記憶媒体（記憶媒体１ａ−１）の書き込み回数と、第２の記憶媒体（記憶媒体１ａ−２）の書き込み回数との差を計算し、第１の差とする。また選択部１ｄは、第３の記憶媒体（記憶媒体１ａ−３）の書き込み回数に、第２の記憶媒体（記憶媒体１ａ−２）内のデータの第３の記憶媒体（記憶媒体１ａ−３）へのコピーの際に生じる書き込み回数を加算した値を計算し、予想書き込み回数とする。さらに選択部１ｄは、第１の記憶媒体（記憶媒体１ａ−１）の書き込み回数と、予想書き込み回数との差を計算し、第２の差とする。そして、選択部１ｄは、第１の差よりも第２の差の方が大きくなるような第２の記憶媒体１ａ−２を、交換対象として選択する。
【００１７】
設定変更部１ｅは、交換対象として選択した第２の記憶媒体（記憶媒体１ａ−２）が記憶しているデータを第３の記憶媒体（記憶媒体１ａ−３）にコピーし、第２の記憶媒体（記憶媒体１ａ−２）の設定を予備に変更し、第３の記憶媒体（記憶媒体１ａ−３）の設定をデータ書き込み先に変更する。
【００１８】
このように第２の記憶媒体の設定を予備に変更した場合に、変更前よりも変更後の方が、データ書き込み先に設定されている記憶媒体それぞれの書き込み回数間の差が大きくなる第２の記憶媒体が、交換対象に選択される。そして、交換対象の第２の記憶媒体の設定が予備に変更され、第３の記憶媒体の設定がデータ書き込み先に変更される。これにより、データ書き込み先に設定されている記憶媒体それぞれの書き込み回数の差が増大し、複数の記憶媒体が同時に書き込み回数の上限に達することが抑制される。
【００１９】
なお、各記憶媒体の書き込み回数に基づいて、交換対象の記憶媒体を選択するのではなく、例えば予め決められたスケジュールに従って、交換対象の記憶媒体を選択するようにしてもよい。例えば、ストレージ装置１内に、複数の記憶媒体１ａ−１，１ａ−２，１ａ−３それぞれに関し、単位期間内でデータ書き込み先に設定する期間が定められ、該期間の長さが、記憶媒体間で不均一に定められたスケジュールを定義する。選択部１ｄは、スケジュールに基づき、単位期間内での各記憶媒体のデータ書き込み先に設定される期間の長さがスケジュール通りとなるように、データ書き込み先に設定されている記憶媒体を、交換対象として選択する。
【００２０】
このようなスケジュールに従って交換対象の記憶媒体を選択すると、ストレージ装置１を単位期間運用する間に、記憶媒体それぞれがデータ書き込み先として利用される期間の長さが異なる。各記憶媒体に書き込み処理が実行される回数は、データ書き込み先として利用される期間と相関性があるものと考えられる。すなわち、データ書き込み先として利用される期間が長い記憶媒体ほど、単位期間内にデータの書き込み処理が行われる回数が多いものと考えられる。そのため、単位期間内に各記憶媒体に書き込み処理が実行された回数が、記憶媒体間で不均一となる。その結果、複数の記憶媒体が同時に書き込み回数の上限に達することが抑止できる。
【００２１】
なおストレージ装置１は、スケジュールを、例えば、記憶媒体１ａ−１，１ａ−２，１ａ−３のストレージ装置１の搭載期間の長さに基づいて作成することができる。例えば、搭載期間の長さが長い記憶媒体は、搭載期間の長さが短い記憶媒体に比べ、すでに実行された書き込み処理の回数が多いものと想定される。そこでストレージ装置１は、搭載期間の長さが長い記憶媒体よりも搭載期間の長さが短い記憶媒体の方が、単位期間内でデータ書き込み先に設定されている期間が短くなるように、スケジュールを作成する。このようにして作成されたスケジュールに従って、データ書き込み先に設定されている記憶媒体から交換対象を選択することで、搭載期間の長さが長い記憶媒体ほど、単位期間内に書き込み処理が実行される回数が多くなる。換言すると、搭載期間の長さが短い記憶媒体ほど、単位期間内に書き込み処理が実行される回数が抑止される。このように、搭載期間の長さに応じてデータ書き込み先に設定する期間を設定したスケジュールに基づいて、交換対象の記憶媒体を選択することで、記憶媒体それぞれの書き込み回数間の差を、ストレージ装置１の運用に伴って増大させることができる。
【００２２】
なお、予備に設定されている記憶媒体１ａ−３は、例えばデータ書き込み先に設定が変更されるまで、通常時は電源が投入されたまま待機している。また予備の記憶媒体１ａ−３は、電源が投入されていない状態で待機しており、データ書き込み先に設定されている記憶媒体のデータをコピーするときに、コピー処理に先立って電源が投入されてもよい。
【００２３】
なお、第１の実施の形態のストレージ装置１が交換する記憶媒体の数は、任意である。また記憶媒体のうち、データ書き込み先に設定する記憶媒体の数は、２以上の任意の数である。また記憶媒体のうち、予備に設定する記憶媒体の数は、１以上の任意の数である。
【００２４】
［第２の実施の形態］
次に、ＲＡＩＤグループを構成する記憶デバイスと予備の記憶デバイスとを交換して、ＲＡＩＤグループの記憶デバイスが同時に書き込み回数の上限に達することを抑制する実施の形態を、第２の実施の形態として説明する。ここで記憶媒体の交換とは、ＲＡＩＤグループに属する記憶媒体の１つをそのＲＡＩＤグループから除外し、代わりに他の記憶媒体をそのＲＡＩＤグループに組み込む処理である。第２の実施の形態では、予め生成したスケジュールに従って、ＲＡＩＤグループに属する記憶デバイスから交換対象の記憶デバイスを選択する。
【００２５】
なお、記憶デバイスは、第１の実施の形態の記憶媒体の一例である。またＲＡＩＤグループを構成する記憶デバイスは、第１の実施の形態におけるデータ書き込み先に設定された記憶媒体の一例である。
【００２６】
図２は、第２の実施の形態のストレージ装置のハードウェアを示す図である。ストレージ装置１００は、装置全体の制御を行うＣＭ（Controller Module）１１０ａ，１１０ｂ、ＣＭ１１０ａ，１１０ｂとホストコンピュータ３００との接続制御を行うチャネルアダプタ１３０ｃ〜１３０ｆ、記憶デバイス１２０ａ，１２０ｂ，１２０ｃ，１２０ｄおよび図示しないその他の複数の記憶デバイスを有するデバイスエンクロージャ１２０を有する。
【００２７】
ストレージ装置１００は、内蔵する複数の記憶デバイスに対するデータの入出力を行う。ストレージ装置１００は、ＲＡＩＤ０〜６等のＲＡＩＤ機能を有し、複数の記憶デバイスをまとめてＲＡＩＤを構成することにより、各ＲＡＩＤをそれぞれ１台の記憶デバイスとして管理する。
【００２８】
ホストコンピュータ３００は、業務処理を実行するコンピュータであり、ファイバチャネル（Fibre Channel）で構成されたＳＡＮ（Storage Area Network）を介してストレージ装置１００とデータ通信可能に接続されている。ホストコンピュータ３００は、業務処理に使用するデータについて、ストレージ装置１００への保存およびストレージ装置１００からの読み出しを行う。
【００２９】
ＣＭ１１０ａは、ＣＰＵ（Central Processing Unit）１１１ａ、キャッシュメモリ１１２ａ、およびデバイスインタフェース（device interface）１１３ｃ，１１３ｄを有する。
【００３０】
ＣＰＵ１１１ａは、ＯＳ（オペレーティングシステム）などに従って処理を実行し、各種制御を行う。また、ＣＭ１１０ａは、キャッシュメモリ１１２ａ、デバイスエンクロージャ１２０が有する記憶デバイス１２０ａ，１２０ｂ，１２０ｃ，１２０ｄおよびその他の記憶デバイス、チャネルアダプタ１３０ｃ，１３０ｄなどの資源管理を行う。
【００３１】
キャッシュメモリ１１２ａは、ＣＰＵ１１１ａがストレージ装置１００を制御するために必要な制御データを記憶する。また、キャッシュメモリ１１２ａは、デバイスエンクロージャ１２０が有する各記憶デバイスに読み書きされる入出力データを一時的に記憶する。
【００３２】
デバイスインタフェース１１３ｃ，１１３ｄは、デバイスエンクロージャ１２０が有する各記憶デバイスとの接続制御を行う。
また、ＣＭ１１０ａおよびＣＭ１１０ｂは、バス１４０によって接続されている。このバス１４０を介して、ＣＭ１１０ａおよびＣＭ１１０ｂの間で、制御情報やデータが通信される。また、ＣＭ１１０ａ，１１０ｂは、制御装置として機能し、ストレージ装置１００に対して着脱可能である。ここで、ＣＭ１１０ｂは、ＣＭ１１０ａと同一の構成であるため、説明を省略する。
【００３３】
デバイスエンクロージャ１２０は、記憶デバイス１２０ａ〜１２０ｄ等の複数の記憶デバイスを有する。デバイスエンクロージャ１２０内の複数の記憶デバイスにより、ＲＡＩＤグループが生成される。ＲＡＩＤグループは、ＲＡＩＤの技術を用いた論理記憶領域である。
【００３４】
記憶デバイス１２０ａ〜１２０ｄおよびデバイスエンクロージャ１２０が有するその他の記憶デバイスは、ＲＡＩＤを構成可能なＳＳＤである。記憶デバイス１２０ａ〜１２０ｄは、ホストコンピュータ３００から送信されたシステムの利用者のデータまたはバックアップデータを記憶する。ＳＳＤは、フラッシュメモリ（flash memory）を使用した記憶媒体であり、ランダムアクセス性能に優れているが、書き込み回数に上限が設定されており、書き込み回数の上限を超えて使用すると、故障が生じる可能性がある。なお、システムの利用者のデータおよびバックアップデータは１つの記憶デバイスに記憶されている必要はなく、複数の記憶デバイスに分散して記憶されていてもよい。また、１つの記憶デバイスに複数の利用者のデータおよびバックアップデータが記憶されていてもよい。また、記憶デバイス１２０ａ〜１２０ｄは、ＳＳＤ以外の記憶媒体であって書き込み回数、使用回数、使用時間に上限が設定されている記憶媒体や、使用回数や使用時間が寿命に大きく影響する記憶媒体を用いてもよい。例えば、記憶デバイス１２０ａ〜１２０ｄは、ＳＳＤ以外のフラッシュメモリを用いた記憶媒体を用いてもよい。また、記憶デバイス１２０ａ〜１２０ｄは、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）等のフラッシュメモリ以外の不揮発性半導体メモリを用いた記憶媒体を用いてもよい。さらに記憶デバイス１２０ａ〜１２０ｄは、磁気記憶媒体にデータを記録するハードディスクドライブ（ＨＤＤ：Hard disk drive）であってもよい。
【００３５】
チャネルアダプタ１３０ｃ〜１３０ｆは、ホストコンピュータ３００とＣＭ１１０ａ，１１０ｂとの接続制御を行う。例えば、チャネルアダプタ１３０ｃは、ホストコンピュータ３００からの要求を受け付けて、ＣＭ１１０ａとの接続制御を行う。ＣＭ１１０ａ，１１０ｂは、それぞれ複数個（図ではそれぞれ２個）のチャネルアダプタ１３０ｃ〜１３０ｆに接続可能になっている。すなわち、例えばＣＭ１１０ａは、冗長構成が実現されるように、２つの異なるチャネルアダプタ１３０ｃ，１３０ｄにそれぞれ接続されている。
【００３６】
なお、チャネルアダプタ１３０ｃ〜１３０ｆとホストコンピュータ３００との間の通信は、ファイバチャネルで構成されたＳＡＮによって接続されているが、ファイバチャネル以外の接続方式によって接続されていてもよい。また、チャネルアダプタ１３０ｃ〜１３０ｆとホストコンピュータ３００との間の通信は、専用線やＶＰＮ（Virtual Private Network）を用いて、ストレージ装置１００をホストコンピュータ３００から遠隔地に設置するように構成してもよい。
【００３７】
なお、図２において、ＣＭ１１０ａ，１１０ｂは２個図示し、デバイスインタフェース１１３ｃ〜１１３ｆおよびチャネルアダプタ１３０ｃ〜１３０ｆは、ＣＭ１１０ａ，１１０ｂそれぞれに対してそれぞれ２個ずつ図示しているが、これらの数はそれぞれ任意である。また、デバイスエンクロージャ１２０は、１個図示しているが、デバイスエンクロージャの数は任意である。
【００３８】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図３は、第２の実施の形態のストレージ装置の機能を示すブロック図である。第２の実施の形態のストレージ装置１００は、制御部１０１、設定部１０２、書き込み部１０３、デバイスエンクロージャ１２０、スケジュール設定情報記憶部１５１を有する。
【００３９】
制御部１０１は、選択部１０１ａと設定変更部１０１ｂとを有する。
選択部１０１ａは、スケジュール設定情報記憶部１５１に記憶されているスケジュール設定情報に基づくスケジュールに基づき、ＲＡＩＤグループに属する記憶デバイス１２０ａ，１２０ｂの中から、予備の記憶デバイス１２０ｃと交換する記憶デバイスを選択する。例えばスケジュール設定情報には、単位期間内に、各記憶デバイスがＲＡＩＤグループに属する期間の長さが定義されている。その場合、選択部１０１ａは、単位期間内での各記憶デバイスがＲＡＩＤグループに属する期間の長さがスケジュール通りとなるように、記憶デバイスを選択する。このとき、選択部１０１ａは、後述するように、スケジュール設定情報に基づいて、搭載期間の長さが相対的に短いものを優先的に交換対象に選択する。また選択部１０１ａは、搭載期間の長さが長いものは交換を抑制し、かつ、交換される期間を短くすることで、書き込み回数の差を増加させる。
【００４０】
ここで、交換対象として記憶デバイス１２０ｂが選択されたものとする。すると設定変更部１０１ｂは、交換対象として選択した記憶デバイス１２０ｂが記憶しているデータを予備の記憶デバイス１２０ｃにコピーする。設定変更部１０１ｂは、データのコピーが終了後、交換対象として選択した記憶デバイス１２０ｂと予備の記憶デバイス１２０ｃとの交換を行う。すなわち設定変更部１０１ｂは、交換対象として選択した記憶デバイス１２０ｂをＲＡＩＤグループから除外する設定を行い、予備の記憶デバイス１２０ｃをＲＡＩＤグループに組み込む設定を行う。これにより、選択されたＲＡＩＤグループに属する記憶デバイスの１２０ｂと予備の記憶デバイス１２０ｃとの交換が行われ、予備であった記憶デバイス１２０ｃがＲＡＩＤグループに属し、ＲＡＩＤグループに属していた記憶デバイス１２０ｂが予備となる。これにより、選択された記憶デバイス１２０ｂの書き込み回数の増加が抑制される。他方、選択されなかった記憶デバイス１２０ａおよび予備であった記憶デバイス１２０ｃについては、ＲＡＩＤグループに対する書き込み処理が行われることで、書き込み回数が増加する。
【００４１】
設定部１０２は、ＲＡＩＤグループに属する記憶デバイス１２０ａ，１２０ｂのストレージ装置１００への搭載期間の長さに基づいてスケジュール設定情報を設定し、設定したスケジュール設定情報をスケジュール設定情報記憶部１５１に記憶させる。このとき、設定部１０２は、搭載期間の長さが短い記憶デバイスの待機期間長が長くなるようにスケジュール設定情報を設定する。
【００４２】
書き込み部１０３は、ホストコンピュータ３００から入力されたデータを、ＲＡＩＤグループに属する記憶デバイスに書き込む。
スケジュール設定情報記憶部１５１は、設定部１０２によって設定されたＲＡＩＤグループに属する記憶デバイス１２０ａ，１２０ｂを予備の記憶デバイス１２０ｃとの交換のスケジュールを示すスケジュール設定情報を記憶する。
【００４３】
デバイスエンクロージャ１２０は、記憶デバイス１２０ａ，１２０ｂ，１２０ｃを有する。記憶デバイス１２０ａ〜１２０ｃは、データを記憶可能な記憶領域を有する。ストレージ装置１００は、ＲＡＩＤグループに、ホストコンピュータ３００等から送信されたデータを記憶する。記憶デバイス１２０ａ，１２０ｂは、データを記憶するＲＡＩＤグループに属する。記憶デバイス１２０ｃは、予備でありＲＡＩＤグループに属さない。なお、ＲＡＩＤグループは、２以上の任意の数の記憶デバイスで設定することができる。
【００４４】
記憶デバイス１２０ｃは、予備の記憶デバイスであって、通常時はＲＡＩＤグループには属さず電源が投入されたままホットスタンバイ（hot standby）で待機している。記憶デバイス１２０ｃは、スケジュール設定情報に示されたスケジュールに基づく交換時期に、ＲＡＩＤグループに属するいずれかの記憶デバイスに代えて、そのＲＡＩＤグループに組み込まれる。また記憶デバイス１２０ｃは、ＲＡＩＤグループの記憶デバイス１２０ａ，１２０ｂやその他の図示しない記憶デバイスに障害が発生した場合には、障害が発生した記憶デバイスの代わりに、障害が発生した記憶デバイスが属していたＲＡＩＤに組み入れることも可能である。なお、記憶デバイス２２０ｃの待機時の状態は、ホットスタンバイに限られない。例えば記憶デバイス１２０ｃは、ウォームスタンバイ（warm standby）で待機してもよく、電源が投入されていないコールドスタンバイ（cold standby）で待機し、使用の際に電源が投入されてもよい。
【００４５】
なお、第２の実施の形態のストレージ装置１００が１回の交換において交換するＲＡＩＤグループに属する記憶デバイスおよび予備の記憶デバイスの数は、任意である。
図４は、第２の実施の形態のスケジュール設定テーブルを示す図である。図４に示すスケジュール設定テーブル１５１ａは、ストレージ装置１００が有するスケジュール設定情報記憶部１５１に記憶されており、ストレージ装置１００の設定部１０２によって管理される。スケジュール設定テーブル１５１ａは、ストレージ装置１００が有するＲＡＩＤグループの各記憶デバイスが、ＲＡＩＤグループに組み込まれて使用されるスケジュールを示すスケジュール設定情報を記憶するテーブルである。
【００４６】
スケジュール設定テーブル１５１ａには、項目として“デバイス番号”、“搭載期間長”、“優先順位”、“使用期間長”、“待機期間長”が設けられている。スケジュール設定テーブル１５１ａにおいて、各項目の横方向に並べられた情報同士がスケジュール設定情報として互いに関連付けられている。
【００４７】
デバイス番号は、ＲＡＩＤグループに属する記憶デバイスおよび予備の記憶デバイスを一意に識別するために、各記憶デバイスに割り当てられた番号である。
搭載期間長は、スケジュール設定テーブル１５１ａ作成時において、記憶デバイスがストレージ装置１００に対して搭載されている通算期間を月単位で示す情報である。搭載期間長は、優先順位の設定に使用される。搭載期間長は、例えば、設定部１０２が、Ｓ.Ｍ.Ａ.Ｒ.Ｔ.（Self-Monitoring Analysis and Reporting Technology）を用いて各記憶デバイスの通電時間を示す値を収集することで取得してもよい。
【００４８】
優先順位は、ストレージ装置１００が搭載期間長に基づいて設定する値であり、使用期間長の設定に使用される。
使用期間長は、単位期間内で、記憶デバイスがＲＡＩＤグループに組み込まれて使用される期間（使用期間）の長さを月単位で示す情報である。使用期間長は、すべての記憶デバイスに対してストレージ装置１００が優先順位に基づいて設定する値である。
【００４９】
待機期間長は、ＲＡＩＤグループに組み込まれている記憶デバイスが、予備の記憶デバイスと交換されたときに、予備の記憶デバイスとして待機する期間（待機期間）の長さを月単位で示す情報である。待機期間長は、すべての記憶デバイスに対してストレージ装置１００が使用期間長に基づいて設定する値である。待機期間長は、使用期間長が長い記憶デバイスは短くなり、使用期間長が短い記憶デバイスは長くなるように設定するとよい。
【００５０】
ここで、第２の実施の形態では、詳しくは図６に関する説明において後述するように、搭載期間長が短い記憶デバイスには、高い優先順位（優先順位の値が小さい）、搭載期間長が長い記憶デバイスには、低い優先順位（優先順位の値が大きい）が設定される。また、優先順位が高い記憶デバイスには、使用期間長が短く設定され、優先順位が低い記憶デバイスには、使用期間長が長く設定される。
【００５１】
すなわち、ストレージ装置１００は、搭載期間長が短い記憶デバイスには、使用期間長を短く設定し、搭載期間長が長い記憶デバイスには、使用期間長を長く設定する。ここで、搭載期間長が短い記憶デバイスは、書き込み回数が相対的に少なく、搭載期間長が長い記憶デバイスは、書き込み回数が相対的に多い傾向があると考えられる。このため、当該時点までの書き込み回数が少ないと考えられる搭載期間長が短い記憶デバイスに短い使用期間長を設定して、待機に使用されることで書き込みが行われない期間を相対的に増加させる。一方、当該時点までの書き込み回数が多いと考えられる搭載期間長が長い記憶デバイスに長い使用期間長を設定して、待機に使用される期間を相対的に減少させる。これにより、書き込み回数の少ない記憶デバイスの書き込み回数の増加を抑制することができる。また、書き込み回数が多い記憶デバイスの書き込み回数をより増加させるので、ＲＡＩＤグループに属する記憶デバイスの書き込み回数の差を増加させることができる。
【００５２】
また、優先順位を、当該記憶デバイスと予備の記憶デバイスと交換する順序の決定に用いてもよい。すなわち、優先順位が高い記憶デバイスから順に予備の記憶デバイスと交換して待機させることで、優先順位が高い記憶デバイスの書き込み回数の増加を抑制できる。これにより、ＲＡＩＤグループに属する記憶デバイスの書き込み回数の差を増加させることができる。
【００５３】
図５は、第２の実施の形態の記憶デバイスのデータコピーおよび交換時の動作を示す図である。図５（Ａ）は、第２の実施の形態におけるＲＡＩＤグループに属する記憶デバイス１２０ｆから予備の記憶デバイス１２０ｇへのデータコピー時の動作を示す。図５（Ｂ）は、第２の実施の形態におけるＲＡＩＤグループに属する記憶デバイス１２０ｆと予備の記憶デバイス１２０ｇとの交換時の動作を示す。ここで、図５（Ａ）および図５（Ｂ）では、後述するスケジュール設定処理および記憶デバイス交換処理に基づいて、ＲＡＩＤグループに属する記憶デバイス１２０ｆと予備の記憶デバイス１２０ｇとの交換が決定されたものとする。
【００５４】
図５（Ａ）に示すように、第２の実施の形態のストレージ装置１００は、記憶デバイス１２０ｆと記憶デバイス１２０ｇとの交換の際に、予め記憶デバイス１２０ｆに記憶されているデータを、待機している予備の記憶デバイス１２０ｇにコピーするとよい。これにより、記憶デバイス１２０ｇが記憶デバイス１２０ｆの代わりにＲＡＩＤグループに含められた際に、ＲＡＩＤグループの稼働の中断時間の長期化を抑制することができる。
【００５５】
次に、図５（Ｂ）に示すように、ストレージ装置１００は、記憶デバイス１２０ｆと記憶デバイス１２０ｇとを交換する。ストレージ装置１００は、ＲＡＩＤグループに属する記憶デバイス１２０ｅ，１２０ｆが正常であっても、ＲＡＩＤグループに属さない予備の記憶デバイスと所定のスケジュールに従って交換することで、記憶デバイスの書き込み回数の差を増加させる。これにより、ＲＡＩＤグループに属する記憶デバイスが同時に書き込み回数の上限に達することを抑制する。
【００５６】
なお、ストレージ装置１００は、ＲＡＩＤグループに属する記憶デバイス１２０ｅ，１２０ｆに故障が発生している場合には、故障が発生した記憶デバイスと予備の記憶デバイス１２０ｇとの交換を行う。予備の記憶デバイスが故障した記憶デバイスと交換された場合、記憶デバイス１２０ｅ，１２０ｆの故障が修理、交換等により解消するまで、後述するスケジュール設定処理および記憶デバイス交換処理に基づく交換は行わなくてもよい。
【００５７】
図６は、第２の実施の形態の待機期間長の算出時の動作を示す図である。図６（Ａ）は、第２の実施の形態において、ＲＡＩＤグループが１つである場合の待機期間長の算出時の動作を示す。図６（Ｂ）は、第２の実施の形態において、ＲＡＩＤグループが２つである場合の待機期間長の算出時の動作を示す。
【００５８】
図６（Ａ）に従って、ＲＡＩＤグループが１つである場合の待機期間長の算出を示す。図６（Ａ）に示すように、第２の実施の形態のストレージ装置１００は、記憶デバイス１２０ｈ，１２０ｉ，１２０ｊ，１２０ｋによるＲＡＩＤ５（３＋１）の構成であるＲＡＩＤグループおよび予備の記憶デバイス１２０ｌを有するものとする。ＲＡＩＤ５（３＋１）のＲＡＩＤグループでは、記憶デバイス３本分の記憶容量がデータの保存用に使用され、記憶デバイス１本分の記憶容量を冗長データの保存用に使用される。また、記憶デバイス１２０ｈには優先順位“４”が設定され、記憶デバイス１２０ｉには優先順位“３”が設定され、記憶デバイス１２０ｊには優先順位“２”が設定され、記憶デバイス１２０ｋには優先順位“１”が設定されているものとする。
【００５９】
この場合、ストレージ装置１００は、以下の式（１）に従って、記憶デバイス同士の交換や期間の計算および判定の単位となる単位時間を算出する。
【００６０】
【数１】
0005754292.tif 000002
【００６１】
具体的には、式（１）における記憶デバイスの耐用月数は、記憶デバイス１２０ｈ〜１２０ｋに設定されている耐用月数である。耐用月数が異なる記憶デバイスが存在する場合には、耐用月数が最も短い記憶デバイスの耐用月数としてもよい。式（１）における記憶デバイスの数は、ストレージ装置１００におけるＲＡＩＤグループに属する記憶デバイス１２０ｈ〜１２０ｋの個数（例えば、４）である。予備の記憶デバイスの数は、ストレージ装置１００における予備の記憶デバイス１２０ｌの個数（例えば、１）である。
【００６２】
なお、第２の実施の形態では、単位時間を最大で１カ月とするが、記憶デバイスの耐用月数や使用頻度に応じて任意の期間を設定することができる。また、計算処理の簡略化のため、単位時間を固定値（例えば、１）にしてもよい。
【００６３】
次に、ストレージ装置１００は、以下の式（２）に従って、後述する記憶デバイス交換処理における交換が一巡する期間（単位期間）の長さである単位期間長を算出する。
【００６４】
【数２】
0005754292.tif 000003
【００６５】
式（２）におけるＮは、ＲＡＩＤグループに属する記憶デバイスの数である。ｋは、１以上の整数である。具体的には、単位期間長は、式（１）で算出した単位時間と、１からＲＡＩＤグループに属する記憶デバイスの数までの整数の数列の総和との積によって算出される。図６（Ａ）の例では、ＲＡＩＤグループに４台の記憶デバイスが属しているため、Ｎ＝４である。ここで単位時間が１月であれば、単位期間長は１０月（１＋２＋３＋４）となる。なお、単位期間長は、任意に設定することができる。
【００６６】
次に、ストレージ装置１００は、以下の式（３）に従って、１つの単位期間において各ＲＡＩＤグループに属する各記憶デバイス１２０ｈ〜１２０ｋが使用される使用期間長を算出する。
【００６７】
使用期間長＝単位期間長＋優先順位−ＲＡＩＤグループの記憶デバイスの数
・・・（３）
具体的には、使用期間長は、式（２）で算出した単位期間長に当該記憶デバイスの優先順位を加算し、当該ＲＡＩＤグループの記憶デバイスの数を減算することで算出される。図６（Ａ）の例では、優先順位が“４”の記憶デバイス１２０ｈの使用期間長は、１０月（１０＋４−４）となる。優先順位が“３”の記憶デバイス１２０ｉの使用期間長は、９月（１０＋３−４）となる。優先順位が“２”の記憶デバイス１２０ｊの使用期間長は、８月（１０＋２−４）となる。優先順位が“１”の記憶デバイス１２０ｋの使用期間長は、７月（１０＋１−４）となる。
【００６８】
算出された使用期間長は、スケジュール設定情報記憶部１５１に記憶されているスケジュール設定情報に設定される。なお、これに限らず、使用期間長は、優先順位が高い記憶デバイスは短く、優先順位が低い記憶デバイスは長くなるように、任意の方法で設定することができる。また、予備の記憶デバイス１２０ｌの使用期間長は、ＲＡＩＤグループに属するすべての記憶デバイスの待機期間長（後述）の合計によって算出することができる。
【００６９】
次に、ストレージ装置１００は、以下の式（４）に従って、後述する記憶デバイス交換処理における１つの交換を行ってから次の交換を行うまでの期間（待機期間）の長さである待機期間長を算出する。
【００７０】
待機期間長＝単位期間長−使用期間長                                ・・・（４）
具体的には、待機期間長は、式（２）で算出した単位期間長から、式（３）で算出した当該記憶デバイスの使用期間長を減算することで算出される。待機期間長は、単位期間における当該記憶デバイスが待機となる期間の長さを示す。図６（Ａ）の例では、使用期間長が１０月の記憶デバイス１２０ｈの待機期間長は、０月（１０−１０）となる。使用期間長が９月の記憶デバイス１２０ｉの待機期間長は、１月（１０−９）となる。使用期間長が８月の記憶デバイス１２０ｊの待機期間長は、２月（１０−８）となる。使用期間長が７月の記憶デバイス１２０ｋの待機期間長は、３月（１０−７）となる。
【００７１】
ＲＡＩＤグループに属する記憶デバイスの待機期間長に基づいて、予備の記憶デバイスが単位期間内に使用される期間の長さ（使用期間長）が得られる。すなわち、ＲＡＩＤグループに属する記憶デバイスの待機期間長の合計が、予備の記憶デバイスの使用期間長となる。図６（Ａ）の例では、予備の記憶デバイス１２０ｌの使用期間長は、６月（０＋１＋２＋３）である。
【００７２】
なお、待機期間長の算出方法は、式（４）に基づく方法に限られない。待機期間長は、優先順位が高い記憶デバイスは長く、優先順位が低い記憶デバイスは短くなるように、任意の方法で設定することができる。ここで、第２の実施の形態では、データコピー自体が予備の記憶デバイス１２０ｌの書き込み回数を増加させることから、交換回数を少なくするために、１つの記憶デバイスの待機期間が連続するように設定するとよい。後述する記憶デバイス交換処理では、このように設定した待機期間長に基づいて各記憶デバイスを交換する。
【００７３】
次に、図６（Ｂ）に従って、ＲＡＩＤグループが２つである場合の待機期間長の算出を示す。図６（Ｂ）に示すように、第２の実施の形態のストレージ装置１００は、２つのＲＡＩＤグループを有する。１つ目は、記憶デバイス１２０ｍ，１２０ｎ，１２０ｏ，１２０ｐによるＲＡＩＤ５（３＋１）のＲＡＩＤグループである。２つ目は、記憶デバイス１２０ｑ，１２０ｒによるＲＡＩＤ１のＲＡＩＤグループである。ストレージ装置１００は、２つのＲＡＩＤグループそれぞれに属する記憶デバイス以外に、予備の記憶デバイス１２０ｓを有する。また、記憶デバイス１２０ｍには優先順位“４”が設定され、記憶デバイス１２０ｎには優先順位“３”が設定され、記憶デバイス１２０ｏには優先順位“２”が設定され、記憶デバイス１２０ｐには優先順位“１”が設定され、記憶デバイス１２０ｑには優先順位“２”が設定され、記憶デバイス１２０ｒには優先順位“１”が設定されているものとする。
【００７４】
この場合、ストレージ装置１００は、式（１）に従って、単位時間を算出する。算出される単位時間は、各ＲＡＩＤグループに共通である。ここで、式（１）における記憶デバイスの数は、ストレージ装置１００全体の記憶デバイスの数である。
【００７５】
ここで、図６（Ｂ）では、式（１）における記憶デバイスの耐用月数は、耐用月数が異なる記憶デバイスが存在する場合には、ストレージ装置１００のすべての記憶デバイスのうち耐用月数が最も短い記憶デバイスの耐用月数としてもよい。式（１）における記憶デバイスの数は、ストレージ装置１００におけるすべてのＲＡＩＤグループに属する記憶デバイスの個数の合計である。予備の記憶デバイスの数は、ストレージ装置１００における予備の記憶デバイスの個数である。
【００７６】
次に、ストレージ装置１００は、以下の式（５）に従って、単位期間長を算出する。
【００７７】
【数５】
0005754292.tif 000004
【００７８】
式（５）におけるＮ1は、１つ目のＲＡＩＤグループに属する記憶デバイスの数である。Ｎ2は、２つ目のＲＡＩＤグループに属する記憶デバイスの数である。ｋとｌは、共に１以上の整数である。具体的には、ストレージ装置１００がＲＡＩＤグループを２つ有する場合の単位期間長は、各ＲＡＩＤグループについて単位期間長を図６（Ａ）と同様に算出し、算出した単位期間長をすべてのＲＡＩＤグループについて合計した算出結果と同一である。図６（Ｂ）の例では、４つの記憶デバイスが属する１つ目のＲＡＩＤグループから算出した単位期間長は１０月（１＋２＋３＋４）である。また２つの記憶デバイスが属する２つ目のＲＡＩＤグループから算出した単位期間長は３月（１＋２）である。その結果、全体での単位期間長は１３月（１０＋３）となる。
【００７９】
次に、ストレージ装置１００は、式（３）に従って、記憶デバイス１２０ｍ〜１２０ｒについて使用期間長を算出する。このとき、式（３）におけるＲＡＩＤグループの記憶デバイスの数は、使用期間長の算出対象の記憶デバイスが属しているＲＡＩＤグループに属する記憶デバイスの数とする。
【００８０】
図６（Ｂ）の例では、ＲＡＩＤ５が適用された１つ目のＲＡＩＤグループに属する記憶デバイス１２０ｍ〜１２０ｐの使用期間長は、以下の通りである。
優先順位“４”の記憶デバイス１２０ｍの使用期間長は１３月（１３＋４−４）である。優先順位“３”の記憶デバイス１２０ｎの使用期間長は１２月（１３＋３−４）である。優先順位“２”の記憶デバイス１２０ｏの使用期間長は１１月（１３＋２−４）である。優先順位“１”の記憶デバイス１２０ｐの使用期間長は１０月（１３＋１−４）である。
【００８１】
またＲＡＩＤ１が適用された２つ目のＲＡＩＤグループに属する記憶デバイス１２０ｑ，１２０ｒの使用期間長は、以下の通りである。
優先順位“２”の記憶デバイス１２０ｑの使用期間長は１３月（１３＋２−２）である。優先順位“１”の記憶デバイス１２０ｒの使用期間長は１２月（１３＋１−２）である。
【００８２】
次に、ストレージ装置１００は、式（４）に従って、記憶デバイス１２０ｍ〜１２０ｒについて待機期間長を算出する。
図６（Ｂ）の例では、ＲＡＩＤ５が適用された１つ目のＲＡＩＤグループに属する記憶デバイス１２０ｍ〜１２０ｐの待機期間長は、以下の通りである。
【００８３】
使用期間長が１３月の記憶デバイス１２０ｍの待機期間長は０月（１３−１３）である。使用期間長が１２月の記憶デバイス１２０ｎの待機期間長は１月（１３−１２）である。使用期間長が１１月の記憶デバイス１２０ｏの待機期間長は２月（１３−１１）である。使用期間長が１０月の記憶デバイス１２０ｐの待機期間長は３月（１３−１０）である。
【００８４】
またＲＡＩＤ１が適用された２つ目のＲＡＩＤグループに属する記憶デバイス１２０ｑ，１２０ｒの待機期間長は、以下の通りである。
使用期間長が１３月の記憶デバイス１２０ｑの待機期間長は０月（１３−１３）である。使用期間長が１２月の記憶デバイス１２０ｒの待機期間長は１月（１３−１２）である。
【００８５】
図６（Ｂ）の例では、予備の記憶デバイス１２０ｓの使用期間長は、７月（０＋１＋２＋３＋０＋１）である。
また、ストレージ装置１００が有するＲＡＩＤグループの数が３以上の場合には、ストレージ装置１００は、図６（Ｂ）と同様、各ＲＡＩＤグループに共通の単位時間を算出する。次に、ストレージ装置１００は、単位時間および記憶デバイスの数に基づいてストレージ装置１００の全体の単位期間長を算出する。次に、ストレージ装置１００は、単位期間長、ＲＡＩＤグループ内の優先順位などに基づいて各記憶デバイスの使用期間長を算出する。次に、ストレージ装置１００は、使用期間長に基づいて待機期間長を算出する。
【００８６】
図７は、第２の実施の形態のスケジュール設定処理を示すフローチャートである。第２の実施の形態のストレージ装置１００は、ＲＡＩＤグループに属する各記憶デバイスについて使用期間長を算出するスケジュール設定処理を実行する。以下では、図７に示すスケジュール設定処理をフローチャートのステップ番号に沿って説明する。
【００８７】
［ステップＳ１１］設定部１０２は、ＲＡＩＤグループに属する記憶デバイスの数に基づいて、スケジュールの単位期間長を算出する。
［ステップＳ１２］設定部１０２は、ＲＡＩＤグループに属する各記憶デバイスの搭載期間長を取得し、取得した搭載期間長をスケジュール設定情報記憶部１５１に記憶されているスケジュール設定情報に設定する。
【００８８】
［ステップＳ１３］設定部１０２は、ＲＡＩＤグループに属する各記憶デバイスについて、ステップＳ１２で取得した、スケジュール設定情報記憶部１５１に記憶されているスケジュール設定情報の搭載期間長に基づいて優先順位を設定する。さらに設定部１０２は、設定した優先順位をスケジュール設定情報記憶部１５１に記憶されているスケジュール設定情報に設定する。このとき、搭載期間長が長い記憶デバイスには優先順位が低く、搭載期間長が短い記憶デバイスには優先順位が高くなるように設定される。
【００８９】
［ステップＳ１４］設定部１０２は、ＲＡＩＤグループに属する各記憶デバイスについて、ステップＳ１３で設定した優先順位に基づいて、使用期間長を設定する。さらに設定部１０２は、設定した使用期間長をスケジュール設定情報記憶部１５１に記憶されているスケジュール設定情報に設定する。このとき、優先順位が高い記憶デバイスには使用期間長が短く、優先順位が低い記憶デバイスには使用期間長が長くなるように設定される。
【００９０】
［ステップＳ１５］設定部１０２は、ＲＡＩＤグループに属する各記憶デバイスについて、ステップＳ１４で設定した使用期間長に基づいて、待機期間長を設定する。さらに設定部１０２は、設定した待機期間長をスケジュール設定情報記憶部１５１に記憶されているスケジュール設定情報に設定する。各記憶デバイスの待機期間長は、単位期間長から当該記憶デバイスの使用期間長を減算して算出することができる。これにより、使用期間長が長い記憶デバイスには待機期間長が短く、使用期間長が短い記憶デバイスには待機期間長が長くなるように設定される。その後、処理は終了する。
【００９１】
図８は、第２の実施の形態の記憶デバイス交換処理を示すフローチャートである。第２の実施の形態のストレージ装置１００は、スケジュール設定処理で決定した優先順位および使用期間長に基づいてＲＡＩＤグループに属する各記憶デバイス１２０ｈ〜１２０ｋを予備の記憶デバイス１２０ｌと交換する記憶デバイス交換処理を実行する。以下では、図８に示す記憶デバイス交換処理をフローチャートのステップ番号に沿って説明する。
【００９２】
［ステップＳ２１］制御部１０１の選択部１０１ａは、ＲＡＩＤグループに属する記憶デバイス１２０ｈ〜１２０ｋにおいて、未交換の記憶デバイスが存在するか否かを判定する。未交換の記憶デバイスが存在すれば（ステップＳ２１  ＹＥＳ）、処理はステップＳ２２に進められる。一方、未交換の記憶デバイスが存在しなければ（ステップＳ２１  ＮＯ）、処理は終了する。
【００９３】
［ステップＳ２２］制御部１０１の選択部１０１ａは、未交換の記憶デバイス（例えば、記憶デバイス１２０ｈ，１２０ｉが未交換であるとする）のうち、最も優先順位が高い記憶デバイス（例えば、１２０ｉ）を選択する。設定変更部１０１ｂは、選択した記憶デバイス１２０ｉに記憶されているデータを、予備の記憶デバイス１２０ｌにコピーする。
【００９４】
［ステップＳ２３］制御部１０１の設定変更部１０１ｂは、ステップＳ２２で選択した記憶デバイス１２０ｉと、予備の記憶デバイス１２０ｌとを交換する。具体的には、設定変更部１０１ｂは、記憶デバイス１２０ｉのデータを論理的に消去し、ＲＡＩＤグループから除外して予備の記憶デバイスとして待機させる。また、設定変更部１０１ｂは、記憶デバイス１２０ｌを、記憶デバイス１２０ｉの代わりにＲＡＩＤグループに含める。
【００９５】
［ステップＳ２４］制御部１０１の設定変更部１０１ｂは、ステップＳ２３で記憶デバイス１２０ｉ，１２０ｌを交換してから次の交換を行うまでの待機期間が経過したか否かを判定する。待機期間が経過したか否かは、ステップＳ２３の処理を実行してから、ステップＳ２２で選択した記憶デバイスの待機期間長さだけ経過したか否かで判断できる。待機期間が経過していれば（ステップＳ２４  ＹＥＳ）、処理はステップＳ２５に進められる。一方、待機期間が経過していなければ（ステップＳ２４  ＮＯ）、待機期間が経過するまでステップＳ２４の処理が繰り返される。ここで、待機期間長は、上記式（４）で算出される。
【００９６】
これにより、搭載期間長が短いために優先順位が高く、使用期間長が短い記憶デバイスは、予備の記憶デバイスと交換されて待機している期間が相対的に長くなる。一方、搭載期間長が長いために優先順位が低く、使用期間長が長い記憶デバイスは、予備の記憶デバイスと交換されて待機している期間が相対的に短くなる。従って、搭載期間長が短い記憶デバイスの書き込み回数の増加が抑制され、搭載期間長が長い記憶デバイスの書き込み回数が相対的に増加する。このため、ＲＡＩＤグループに属する記憶デバイスの書き込み回数の差が増加する。
【００９７】
［ステップＳ２５］制御部１０１の設定変更部１０１ｂは、ステップＳ２２でデータをコピーし、ステップＳ２３で予備の記憶デバイス１２０ｌと交換した記憶デバイス１２０ｉに対して、記憶デバイス１２０ｌに記憶されているデータをコピーする。また、設定変更部１０１ｂは、記憶デバイス１２０ｌのデータを論理的に消去し、再び予備としてＲＡＩＤグループから除外する。また、記憶デバイス１２０ｉを、記憶デバイス１２０ｌの代わりにＲＡＩＤグループに含める。その後、処理はステップＳ２１に進められる。
【００９８】
なお、第２の実施の形態の記憶デバイス交換処理では、ステップＳ２２でデータのコピーを行った後にステップＳ２３で記憶デバイスを交換するが、これに限らず、記憶デバイスの交換を行った後にデータのコピーを行ってもよい。
【００９９】
このように、第２の実施の形態のストレージ装置１００では、ＲＡＩＤグループに属する記憶デバイスそれぞれに異なる使用期間長を設定し、単位期間内で、各記憶デバイスを使用期間長に示された期間だけ使用するようにした。これにより、単位期間内での各記憶デバイスの使用頻度が異なり、単位期間内で行われる書き込み回数も、記憶デバイス毎に異なる値となる。その結果、複数の記憶デバイスが同時に書き込み回数の上限に達することを抑制することが可能になる。
【０１００】
また、搭載期間長が短い記憶デバイスの待機期間長が長くなるようにスケジュール設定情報を設定するので、書き込み回数が少ないと考えられる搭載期間長が短い記憶デバイスについて予備として待機する期間が増加し、書き込み回数の増加が抑制される。これにより、記憶デバイスの書き込み回数の差を増加させることができる。
【０１０１】
また、搭載期間長が短い記憶デバイスを優先的に交換するので、書き込み回数が少ない記憶デバイスから先に書き込み回数の増加が抑制され、記憶デバイスの書き込み回数の差の増加が促進される。
【０１０２】
［第３の実施の形態］
次に、第３の実施の形態を説明する。第２の実施の形態との差異を中心に説明し、同様の事項については説明を省略する。第３の実施の形態のストレージ装置は、ＲＡＩＤグループに所定回数の書き込みが行われる毎に、ＲＡＩＤグループに属する記憶デバイスの書き込み回数に基づいて交換対象の記憶デバイスを判定して記憶デバイスの交換を行う点で、第２の実施の形態と異なる。
【０１０３】
図９は、第３の実施の形態のストレージ装置を示すブロック図である。第３の形態のストレージ装置２００は、制御部２０１、書き込み部２０２、書き込み回数カウント部２０３、デバイスエンクロージャ２２０を有する。
【０１０４】
制御部２０１は、選択部２０１ａと設定変更部２０１ｂとを有する。
選択部２０１ａは、書き込み回数カウント部２０３によるカウント結果に基づいて、ＲＡＩＤグループに属する記憶デバイス２２０ａ，２２０ｂの中から、予備の記憶デバイス２２０ｃと交換する記憶デバイスを選択する。第３の実施の形態では、選択部２０１ａは、予備の記憶デバイス２２０ｃと交換した場合に、ＲＡＩＤグループに属する記憶デバイス同士の書き込み回数の差が、交換前よりも交換後の方が大きくなる記憶デバイスを交換対象として選択する。このとき、選択部２０１ａは、書き込み回数カウント部２０３のカウント結果に基づいて、ＲＡＩＤグループに属する記憶デバイス２２０ａ，２２０ｂの書き込み回数を取得して、交換前の書き込み回数の差を算出する。さらに選択部２０１ａは、予備の記憶デバイス２２０ｃの書き込み回数を取得して、ＲＡＩＤグループに属する記憶デバイス２２０ａ，２２０ｂそれぞれと交換を行った場合の、交換後にＲＡＩＤグループに属する記憶デバイス同士の書き込み回数の差を算出する。そして、選択部２０１ａは、交換前後における書き込み回数の差を比較することで、交換対象の記憶デバイスを選択し、書き込み回数の差を増加させる。
【０１０５】
例えば選択部２０１ａは、交換前の書き込み回数の差として、ＲＡＩＤグループに属する記憶デバイス２２０ａ，２２０ｂ同士の書き込み回数の差を算出する。また選択部２０１ａは、交換後の書き込み回数の差として、予備の記憶デバイス２２０ｃをＲＡＩＤグループに組み込んだ後の予備の記憶デバイス２２０ｃの書き込み回数と、記憶デバイス２２０ａの書き込み回数との差を計算する。これは交換対象として記憶デバイス２２０ｂを選択した場合の、交換後の書き込み回数の差である。さらに選択部２０１ａは、交換後の書き込み回数の差として、予備の記憶デバイス２２０ｃをＲＡＩＤグループに組み込んだ後の予備の記憶デバイス２２０ｃの書き込み回数と、記憶デバイス２２０ｂの書き込み回数との差を計算する。これは交換対象として記憶デバイス２２０ａを選択した場合の、交換後の書き込み回数の差である。選択部２０１ａは、算出した交換前後の書き込み回数の差に基づき、交換前の書き込み回数の差よりも交換後の書き込み回数の差が大きくなるように、交換対象の記憶デバイスを選択する。
【０１０６】
なお、予備の記憶デバイスをＲＡＩＤグループに組み込む際には、そのＲＡＩＤグループから外される記憶デバイスのデータが、予備の記憶デバイスにコピーされる。このコピーの際に発生する予備の記憶デバイスへの書き込み回数を、コピー時書き込み回数とする。選択部２０１ａは、予備の記憶デバイスをＲＡＩＤグループに組み込んだ後の予備の記憶デバイスの書き込み回数は、組み込み前の予備の記憶デバイスの書き込み回数に対して、コピー時書き込み回数を加算した値とする。コピー時書き込み回数は、例えば、選択部２０１ａに予め推定値を設定しておくことができる。
【０１０７】
設定変更部２０１ｂは、交換対象として選択した記憶デバイス２２０ｂが記憶しているデータを予備の記憶デバイス２２０ｃにコピーする。その後、設定変更部２０１ｂは、交換対象として選択した記憶デバイス２２０ｂと予備の記憶デバイス２２０ｃとの交換を行う。これにより、選択されたＲＡＩＤグループに属する記憶デバイス２２０ｂと予備の記憶デバイス２２０ｃとの交換が行われ、予備であった記憶デバイス２２０ｃがＲＡＩＤグループに属し、ＲＡＩＤグループに属していた記憶デバイス２２０ｂが予備となる。従って、選択された記憶デバイス２２０ｂの書き込み回数の増加が抑制され、選択されなかった記憶デバイス２２０ａおよび予備であった記憶デバイス２２０ｃについてＲＡＩＤグループに対する書き込み処理が行われることで、書き込み回数が増加する。
【０１０８】
書き込み部２０２は、ホストコンピュータ３００から入力されたデータを、ＲＡＩＤグループに属する記憶デバイスに書き込む。
書き込み回数カウント部２０３は、ＲＡＩＤグループに属する記憶デバイス２２０ａ，２２０ｂに対して行われた書き込み処理の回数をカウントする。例えば書き込み回数カウント部２０３は、書き込み部２０２の動作を監視する。そして書き込み回数カウント部２０３は、書き込み部２０２が書き込みを行う毎に、データの書き込み先の記憶デバイスの書き込み回数の値をカウントアップする。制御部２０１の選択部２０１ａは、書き込み回数カウント部２０３によるカウント結果を取得して、後述する記憶デバイス交換処理における交換の判定を行うとともに、記憶デバイス同士の書き込み回数の差の算出を行う。
【０１０９】
デバイスエンクロージャ２２０は、記憶デバイス２２０ａ，２２０ｂ，２２０ｃを有する。記憶デバイス２２０ａ〜２２０ｃは、データを記憶可能な記憶領域を有する。ストレージ装置２００は、ＲＡＩＤグループに、ホストコンピュータ３００等から送信されたデータを記憶する。記憶デバイス２２０ａ，２２０ｂは、データを記憶するＲＡＩＤグループに属する。記憶デバイス２２０ｃは、予備でありＲＡＩＤグループに属さない。なお、ＲＡＩＤグループは、任意の数の記憶デバイスで設定することができる。
【０１１０】
記憶デバイス２２０ｃは、予備の記憶デバイスであって、通常時はＲＡＩＤグループには属さず電源が投入されたままホットスタンバイで待機している。記憶デバイス２２０ｃは、記憶デバイス２２０ｃをＲＡＩＤグループ内の記憶デバイスと交換することで、そのＲＡＩＤグループ内での記憶デバイス間の書き込み回数の差が大きくなる場合に、そのＲＡＩＤグループに組み込まれる。また記憶デバイス２２０ｃは、ＲＡＩＤグループの記憶デバイス２２０ａ，２２０ｂやその他の図示しない記憶デバイスに障害が発生した場合には、障害が発生した記憶デバイスの代わりに障害が発生した記憶デバイスが属していたＲＡＩＤグループに組み入れられる。なお、記憶デバイス２２０ｃの待機時の状態は、ホットスタンバイに限られない。例えば記憶デバイス２２０ｃは、ウォームスタンバイで待機してもよく、電源が投入されていないコールドスタンバイで待機し、使用の際に電源が投入されてもよい。
【０１１１】
なお、第２の実施の形態のストレージ装置２００が１回の交換において交換するＲＡＩＤグループに属する記憶デバイスおよび予備の記憶デバイスの数は、任意である。
図１０から図１２は、第３の実施の形態の記憶デバイスの交換時の動作を示す図である。第３の実施の形態では、ストレージ装置２００は、各記憶デバイスの書き込み回数を監視する。ストレージ装置２００は、予め設定された交換書き込み回数毎に、交換した場合にＲＡＩＤグループにおける書き込み回数の差が大きくなる記憶デバイスを選択する。そしてストレージ装置２００は、そのＲＡＩＤグループ内の選択した記憶デバイスを、予備の記憶デバイスに交換する。これにより、ＲＡＩＤグループの記憶デバイスの書き込み回数の差を増加させることができる。
【０１１２】
ここで、第３の実施の形態のストレージ装置２００では、以下の式（６）に従って、交換書き込み回数を算出する。
【０１１３】
【数６】
0005754292.tif 000005
【０１１４】
具体的には、式（６）における記憶デバイスの書き込み回数上限は、記憶デバイス２２０ｔ〜２２０ｘに設定されている書き込み回数の上限である。書き込み回数の上限が異なる記憶デバイスが存在する場合には、書き込み回数の上限が最も少ない記憶デバイスの書き込み回数の上限としてもよい。式（６）における記憶デバイスの数は、ストレージ装置２００におけるＲＡＩＤグループに属する記憶デバイス２２０ｔ〜２２０ｗの個数（例えば、４）である。予備の記憶デバイスの数は、ストレージ装置２００における予備の記憶デバイス２２０ｘの個数（例えば、１）である。
【０１１５】
なお交換書き込み回数には、最大値を設定しておくこともできる。式（６）の計算結果が最大値を超えた場合、最大値を交換書き込み回数とする。例えば、最大値を１００００００回に設定する。
【０１１６】
第３の実施の形態では、交換書き込み回数が８００００回であるものとする。従って、前回の記憶デバイス交換処理の実行以後のストレージ装置２００全体の記憶デバイスの書き込み回数の合計が８００００回に達する毎に、後述する記憶デバイス交換処理において、記憶デバイスの交換の判定が行われる。また、交換時におけるＲＡＩＤグループに属する記憶デバイスから予備の記憶デバイスへのデータコピーの書き込み回数（コピー時書き込み回数）の推定値および実際の書き込み回数は、５０００回とする。なお、これに限らず、交換書き込み回数およびコピー時書き込み回数の推定値は、任意に設定することができる。
【０１１７】
図１０に示すように、第３の実施の形態のストレージ装置２００は、２つのＲＡＩＤグループを有する。１つ目は、記憶デバイス２２０ｔ，２２０ｕによるＲＡＩＤ１のＲＡＩＤグループである。２つ目は、記憶デバイス２２０ｖ，２２０ｗによるＲＡＩＤ１のＲＡＩＤグループである。ストレージ装置２００は、２つのＲＡＩＤグループそれぞれに属する記憶デバイス以外に、予備の記憶デバイス２２０ｘを有する。
【０１１８】
また、ＲＡＩＤグループに属する記憶デバイス２２０ｔ〜２２０ｗには、ストレージ装置２００に搭載されてから、それぞれ２００００回の書き込み処理が行われているものとする。予備の記憶デバイス２２０ｘがストレージ装置２００に搭載されてからの書き込み回数は０回であるものとする。また、図１０に示した状況にいたるまで、記憶デバイス２２０ｔ〜２２０ｘについて、記憶デバイス交換処理は１回も行われていないものとする。また、図１０に示す状況になった時点で、記憶デバイス２２０ｔ〜２２０ｘの書き込み回数の合計は、８００００回であり、上記の交換書き込み回数に達している。
【０１１９】
従って、図１１に示すようにストレージ装置２００は、後述する記憶デバイス交換処理に基づいて記憶デバイスの交換を実行する。このとき、交換前の時点では、記憶デバイス２２０ｔ〜２２０ｗの書き込み回数は同数であり、いずれを交換してもＲＡＩＤグループ内の書き込み回数の差は増加する。ここでは、ＲＡＩＤグループに属する記憶デバイス２２０ｕと予備の記憶デバイス２２０ｘとが交換されたものとする。また、このとき交換に先立って、記憶デバイス２２０ｕのデータが記憶デバイス２２０ｘにコピーされる。これにより、記憶デバイス２２０ｘの書き込み回数が、０回から５０００回増加し、５０００回となる。また、交換により予備となった記憶デバイス２２０ｕに対してはデータコピーが行われないので、記憶デバイス２２０ｕの書き込み回数は増加しない。
【０１２０】
このように、ストレージ装置２００は、予備の記憶デバイスと交換した、ＲＡＩＤグループに属していた記憶デバイス２２０ｕを、新たな予備の記憶デバイスとして待機させる。これより、ＲＡＩＤグループから外された記憶デバイス２２０ｕを元のＲＡＩＤグループに戻さなくてもよくなる。そのため、記憶デバイス２２０ｕを元のＲＡＩＤグループに戻す際に発生する、予備であった記憶デバイス２２０ｘから記憶デバイス２２０ｕへのデータの書き込みが不要となる。その結果、交換時に記憶デバイス２２０ｕの書き込み回数の増加を抑制することができる。
【０１２１】
次に、ＲＡＩＤグループに属する記憶デバイス２２０ｔ，２２０ｘ，２２０ｖ，２２０ｗに対してそれぞれ２００００回の書き込み処理が行われたものとする。これにより、記憶デバイス２２０ｔ，２２０ｘ，２２０ｖ，２２０ｗの書き込み回数は、それぞれ、４００００回、２５０００回、４００００回、４００００回となる。また、記憶デバイス２２０ｔ，２２０ｘ，２２０ｖ，２２０ｗの記憶デバイス交換処理における前回の交換の判定からの書き込み回数の合計は、８００００回であり、上記の交換書き込み回数に達している。
【０１２２】
従って、図１２に示すようにストレージ装置２００は、記憶デバイス交換処理に基づいて記憶デバイスの交換を実行する。このとき、交換前の時点では、記憶デバイス２２０ｔ，２２０ｘ，２２０ｖ，２２０ｗの書き込み回数は、それぞれ４００００回、２５０００回、４００００回、４００００回である。他方、予備の記憶デバイス２２０ｕの書き込み回数は２００００である。すると、記憶デバイス２２０ｖ，２２０ｗのうちのいずれかを予備の記憶デバイス２２０ｕと交換することで、ＲＡＩＤグループ内の書き込み回数の差は増加する。ここでは、ＲＡＩＤグループに属する記憶デバイス２２０ｗと予備の記憶デバイス２２０ｕとが交換されたものとする。また、このとき交換に先立って、記憶デバイス２２０ｗのデータが記憶デバイス２２０ｕにコピーされる。これにより、記憶デバイス２２０ｕの書き込み回数が、２００００回から５０００回増加し、２５０００回となる。これにより、同一のＲＡＩＤグループに属する記憶デバイス２２０ｖ（４００００回）と記憶デバイス２２０ｕ（２５０００回）との書き込み回数の差は、１５０００回となる。ここで、記憶デバイス２２０ｖの書き込み回数が４００００回であり、記憶デバイス２２０ｗの書き込み回数が４００００回であることから、当該ＲＡＩＤグループの交換前の書き込み回数の差は、０回である。従って、当該交換によって書き込み回数の差は増加する。また、交換により予備となった記憶デバイス２２０ｗに対してはデータコピーが行われないので、記憶デバイス２２０ｗの書き込み回数は増加しない。
【０１２３】
図１３は、第３の実施の形態の記憶デバイスの書き込み回数の推移を示す図である。図１３に示すように、ストレージ装置２００は、ＲＡＩＤ＃１、ＲＡＩＤ＃２の２つのＲＡＩＤグループを有する。また、ＲＡＩＤ＃１およびＲＡＩＤ＃２の構成は、ＲＡＩＤ１であり、それぞれ２つの記憶デバイスが属している。ＲＡＩＤ＃１に属している記憶デバイスの一方を、記憶デバイス＃１とし、他方を記憶デバイス＃２とする。ＲＡＩＤ＃２に属している記憶デバイスの一方を、記憶デバイス＃３とし、他方を記憶デバイス＃４とする。また、ストレージ装置２００は、５つの記憶デバイスを有する。ストレージ装置２００が有する記憶デバイスを、それぞれ、ＳＳＤ  Ａ、ＳＳＤ  Ｂ、ＳＳＤ  Ｃ、ＳＳＤ  Ｄ、ＳＳＤ  Ｅとする。これらのＳＳＤ  Ａ〜Ｅが、ストレージ装置２００のＲＡＩＤ＃１，＃２の記憶デバイス＃１〜＃４および予備用記憶デバイスのいずれかに設定されるとともに、後述する記憶デバイス交換処理により交換される。
【０１２４】
ここで、上記のように、交換書き込み回数が８００００回であるものとする。また、データコピーの書き込み回数の推定値および実際の書き込み回数は、５０００回とする。以下、図１３に従って、第３の実施の形態のストレージ装置２００における各記憶デバイスの書き込み回数の推移を示す。なお、１回目交換前には、ストレージ装置２００において記憶デバイス交換処理における交換の判定は行われていないものとする。
【０１２５】
[１回目交換前]ＲＡＩＤ＃１の記憶デバイス＃１にＳＳＤ  Ａが設定されており、記憶デバイス＃２にＳＳＤ  Ｂが設定されている。ＲＡＩＤ＃２の記憶デバイス＃３にＳＳＤ  Ｃが設定されており、記憶デバイス＃４にＳＳＤ  Ｄが設定されている。予備用記憶デバイスにＳＳＤ  Ｅが設定されている。ＳＳＤ  Ａ〜ＳＳＤ  Ｄの書き込み回数は、２００００回である。ＳＳＤ  Ｅの書き込み回数は、０回である。ＲＡＩＤ＃１，＃２に属するＳＳＤ  Ａ〜ＳＳＤ  Ｄの書き込み回数の合計が交換書き込み回数である８００００回に達しているので、交換の判定が行われる。
【０１２６】
ここで、ストレージ装置２００は、ＲＡＩＤ＃１，＃２のうち、書き込み回数が最大の記憶デバイスを有するＲＡＩＤを選択する。このとき、ＲＡＩＤ＃１，＃２に属するＳＳＤ  Ａ〜ＳＳＤ  Ｄの書き込み回数が２００００回とすべて等しい。そのためストレージ装置２００は、任意のＲＡＩＤを選択することができる。ここでは、ＲＡＩＤ＃１が選択されたものとする。また、ストレージ装置２００は、選択したＲＡＩＤ＃１の記憶デバイスのうち、交換した場合にＲＡＩＤ＃１に属する記憶デバイス間での書き込み回数の差が交換前よりも交換後の方が大きくなるような交換対象の記憶デバイスを判定する。このとき、ＲＡＩＤ＃１に属するＳＳＤ  Ａ、ＳＳＤ  Ｂの書き込み回数が２００００回と等しい。また、交換を行った場合、予備用記憶デバイスに設定されているＳＳＤ  Ｅの書き込み回数は、コピー時書き込み回数の推定値を加算すると５０００回となる。ここで、記憶デバイス＃２に設定されているＳＳＤ  Ｂと予備用記憶デバイスに設定されているＳＳＤ  Ｅとを交換した場合の交換の適否について説明する。この場合、記憶デバイス＃１であるＳＳＤ  Ａ（書き込み回数２００００回）と交換により記憶デバイス＃２に設定されるＳＳＤ  Ｅ（書き込み回数５０００回（交換実行時））との書き込み回数の差は、１５０００回となり、交換をしない場合（書き込み回数の差０回）よりも書き込み回数の差は増加する。従って、ＲＡＩＤ＃１の記憶デバイス＃２であるＳＳＤ  Ｂを交換の対象として選択可能である。同様に、ＲＡＩＤ＃１の記憶デバイス＃１であるＳＳＤ  Ａも、交換の対象として選択可能である。この場合、ストレージ装置２００は、ＳＳＤ  ＡとＳＳＤ  Ｂとのうち、任意のＳＳＤを選択することができる。図１３の例では、ＳＳＤ  Ｂが選択され、ＳＳＤ  Ｂと予備用記憶デバイスであるＳＳＤ  Ｅとの交換が行われる。
【０１２７】
［１回目交換後］１回目の交換の実行により、ＲＡＩＤ＃１の記憶デバイス＃１にＳＳＤ  Ａが設定されている。ＳＳＤ  Ａの書き込み回数は、２００００回である。記憶デバイス＃２にＳＳＤ  Ｅが設定されている。ＳＳＤ  Ｅの書き込み回数は、５０００回である。ＲＡＩＤ＃２の記憶デバイス＃３にＳＳＤ  Ｃが設定されている。ＳＳＤ  Ｃの書き込み回数は、２００００回である。記憶デバイス＃４にＳＳＤ  Ｄが設定されている。ＳＳＤ  Ｄの書き込み回数は、２００００回である。予備用記憶デバイスにＳＳＤ  Ｂが設定されている。ＳＳＤ  Ｂの書き込み回数は、２００００回である。
【０１２８】
[２回目交換前]１回目の交換後からさらにＲＡＩＤ＃１，＃２に属する記憶デバイス＃１〜＃４に、それぞれ２００００回の書き込み処理が行われたものとする。ＲＡＩＤ＃１の記憶デバイス＃１にＳＳＤ  Ａが設定されている。ＳＳＤ  Ａの書き込み回数は、４００００回である。記憶デバイス＃２にＳＳＤ  Ｅが設定されている。ＳＳＤ  Ｅの書き込み回数は、２５０００回である。ＲＡＩＤ＃２の記憶デバイス＃３にＳＳＤ  Ｃが設定されている。ＳＳＤ  Ｃの書き込み回数は、４００００回である。記憶デバイス＃４にＳＳＤ  Ｄが設定されている。ＳＳＤ  Ｄの書き込み回数は、４００００回である。予備用記憶デバイスにＳＳＤ  Ｂが設定されている。ＳＳＤ  Ｂの書き込み回数は、２００００回である。前回の交換の判定からのＲＡＩＤ＃１，＃２に属するＳＳＤ  Ａ，ＳＳＤ  Ｅ，ＳＳＤ  Ｃ，ＳＳＤ  Ｄの書き込み回数の合計が交換書き込み回数である８００００回に達しているので、交換の判定が行われる。
【０１２９】
ここで、ストレージ装置２００は、ＲＡＩＤ＃１，＃２のうち、書き込み回数が最大の記憶デバイスを有するＲＡＩＤを選択する。このとき、ＲＡＩＤ＃１，＃２に属するＳＳＤ  Ａ，ＳＳＤ  Ｃ，ＳＳＤ  Ｄの書き込み回数が４００００回とすべて等しい。ここで、ＲＡＩＤ＃１が選択されたものとする。この場合、ストレージ装置２００は、選択したＲＡＩＤ＃１の記憶デバイスと予備用デバイスとを交換した場合に、ＲＡＩＤ＃１の記憶デバイスの書き込み回数の差が大きくなる交換の有無を判定する。このとき、ＲＡＩＤ＃１に属するＳＳＤ  Ａの書き込み回数は４００００回であり、ＳＳＤ  Ｅの書き込み回数は２５０００回である。また、交換を行った場合、予備用記憶デバイスに設定されているＳＳＤ  Ｂの書き込み回数は、書き込み回数の推定値を加算すると２５０００回となる。すると、予備用記憶デバイスであるＳＳＤ  ＢとＲＡＩＤ＃１に属するＳＳＤ  Ａとを交換した場合の書き込み回数の差は０回である。予備用記憶デバイスであるＳＳＤ  ＢとＳＳＤ  Ｅとを交換した場合の書き込み回数の差は１５０００回である。そのためＳＳＤ  ＡとＳＳＤ  Ｅとのいずれと交換を行っても、交換後の書き込み回数の差は交換前のＳＳＤ  ＡとＳＳＤ  Ｅとの書き込み回数の差１５０００回を上回らないので、交換の前後で書き込み回数の差は増加しない。特に、ＳＳＤ  ＡとＳＳＤ  Ｂとを交換した場合、交換後の書き込み回数の差が、交換前よりも減少してしまい、不適切である。従って、ストレージ装置２００は、ＲＡＩＤ＃１の選択を取り止め、選択対象から除外する。次に、ＲＡＩＤ＃２が選択されたものとする。この場合、ストレージ装置２００は、選択したＲＡＩＤ＃２の記憶デバイスと予備用デバイスとを交換した場合に、ＲＡＩＤ＃２の記憶デバイスの書き込み回数の差が大きくなる交換の有無を判定する。このとき、ＲＡＩＤ＃２に属するＳＳＤ  Ｃ、ＳＳＤ  Ｄの書き込み回数が４００００回と等しい。また、交換を行った場合、上記のように予備用記憶デバイスに設定されているＳＳＤ  Ｂの書き込み回数は、書き込み回数の推定値を加算すると２５０００回となる。ここで、記憶デバイス＃４に設定されているＳＳＤ  Ｄと予備用記憶デバイスに設定されているＳＳＤ  Ｂとを交換した場合、記憶デバイス＃３であるＳＳＤ  Ｃ（書き込み回数４００００回）と交換により記憶デバイス＃４に設定されるＳＳＤ  Ｂ（書き込み回数２５０００回（交換実行時））との書き込み回数の差は、１５０００回となり、交換をしない場合（書き込み回数の差０回）よりもＳＳＤ間の書き込み回数差は増加する。従って、ＲＡＩＤ＃２の記憶デバイス＃４であるＳＳＤ  Ｄと予備用記憶デバイスであるＳＳＤ  Ｂとの交換が行われる。
【０１３０】
［２回目交換後］２回目の交換の実行により、ＲＡＩＤ＃１の記憶デバイス＃１にＳＳＤ  Ａが設定されている。ＳＳＤ  Ａの書き込み回数は、４００００回である。記憶デバイス＃２にＳＳＤ  Ｅが設定されている。ＳＳＤ  Ｅの書き込み回数は、２５０００回である。ＲＡＩＤ＃２の記憶デバイス＃３にＳＳＤ  Ｃが設定されている。ＳＳＤ  Ｃの書き込み回数は、４００００回である。記憶デバイス＃４にＳＳＤ  Ｂが設定されている。ＳＳＤ  Ｂの書き込み回数は、２５０００回である。予備用記憶デバイスにＳＳＤ  Ｄが設定されている。ＳＳＤ  Ｄの書き込み回数は、４００００回である。
【０１３１】
[３回目交換前]２回目の交換後からさらにＲＡＩＤ＃１，＃２に属する記憶デバイス＃１〜＃４に、それぞれ２００００回の書き込み処理が行われたものとする。ＲＡＩＤ＃１の記憶デバイス＃１にＳＳＤ  Ａが設定されている。ＳＳＤ  Ａの書き込み回数は、６００００回である。記憶デバイス＃２にＳＳＤ  Ｅが設定されている。ＳＳＤ  Ｅの書き込み回数は、４５０００回である。ＲＡＩＤ＃２の記憶デバイス＃３にＳＳＤ  Ｃが設定されている。ＳＳＤ  Ｃの書き込み回数は、６００００回である。記憶デバイス＃４にＳＳＤ  Ｂが設定されている。ＳＳＤ  Ｂの書き込み回数は、４５０００回である。予備用記憶デバイスにＳＳＤ  Ｄが設定されている。ＳＳＤ  Ｄの書き込み回数は、４００００回である。前回の交換の判定からＲＡＩＤ＃１，＃２に属するＳＳＤ  Ａ，ＳＳＤ  Ｅ，ＳＳＤ  Ｃ，ＳＳＤ  Ｂの書き込み回数の合計が交換書き込み回数である８００００回に達しているので、交換の判定が行われる。
【０１３２】
ここで、ストレージ装置２００は、ＲＡＩＤ＃１，＃２のうち、書き込み回数が最大の記憶デバイスを有する方を選択する。このとき、ＲＡＩＤ＃１，＃２に属するＳＳＤ  Ａ，ＳＳＤ  Ｃの書き込み回数が６００００回と等しい。ここで、ＲＡＩＤ＃１が選択されたものとする。この場合、ストレージ装置２００は、選択したＲＡＩＤ＃１の記憶デバイスとの交換のうち、交換した場合にＲＡＩＤ＃１の記憶デバイスの書き込み回数の差が大きくなる交換の有無を判定する。このとき、ＲＡＩＤ＃１に属するＳＳＤ  Ａの書き込み回数は６００００回であり、ＳＳＤ  Ｅの書き込み回数は４５０００回である。また、交換を行った場合、予備用記憶デバイスに設定されているＳＳＤ  Ｄの書き込み回数は、書き込み回数の推定値を加算すると４５０００回となる。従って、予備用記憶デバイスであるＳＳＤ  ＤとＲＡＩＤ＃１に属するＳＳＤ  Ａ（交換した場合の書き込み回数の差は０回）、ＳＳＤ  Ｅ（交換した場合の書き込み回数の差は１５０００回）のいずれと交換を行っても、交換の前後で書き込み回数の差は増加しない。従って、ストレージ装置２００は、ＲＡＩＤ＃１の選択を取り止め、選択対象から除外する。次に、ＲＡＩＤ＃２が選択されたものとする。この場合、ストレージ装置２００は、選択したＲＡＩＤ＃２の記憶デバイスとの交換のうち、交換した場合にＲＡＩＤ＃２の記憶デバイスの書き込み回数の差が大きくなる交換の有無を判定する。このとき、ＲＡＩＤ＃２に属するＳＳＤ  Ｃの書き込み回数は６００００回であり、ＳＳＤ  Ｂの書き込み回数は４５０００回である。また、交換を行った場合、上記のように予備用記憶デバイスに設定されているＳＳＤ  Ｄの書き込み回数は、書き込み回数の推定値を加算すると４５０００回となる。従って、予備用記憶デバイスであるＳＳＤ  ＤとＲＡＩＤ＃２に属するＳＳＤ  Ｃ（交換した場合の書き込み回数の差は０回）、ＳＳＤ  Ｂ（交換した場合の書き込み回数の差は１５０００回）のいずれと交換を行っても、交換の前後で書き込み回数の差は増加しない。従って、ストレージ装置２００は、ＲＡＩＤ＃２の選択を取り止め、選択対象から除外する。これにより、選択対象のＲＡＩＤが無くなるので、交換は行われない。
【０１３３】
［３回目交換後（交換なし）］３回目の交換が実行されないため、ＲＡＩＤ＃１，＃２の記憶デバイス＃１〜＃４の状態は、３回目の交換前から変化しない。
[４回目交換前]３回目の交換後からさらにＲＡＩＤ＃１，＃２に属する記憶デバイス＃１〜＃４に、それぞれ２００００回の書き込み処理が行われたものとする。ＲＡＩＤ＃１の記憶デバイス＃１にＳＳＤ  Ａが設定されている。ＳＳＤ  Ａの書き込み回数は、８００００回である。記憶デバイス＃２にＳＳＤ  Ｅが設定されている。ＳＳＤ  Ｅの書き込み回数は、６５０００回である。ＲＡＩＤ＃２の記憶デバイス＃３にＳＳＤ  Ｃが設定されている。ＳＳＤ  Ｃの書き込み回数は、８００００回である。記憶デバイス＃４にＳＳＤ  Ｂが設定されている。ＳＳＤ  Ｂの書き込み回数は、６５０００回である。予備用記憶デバイスにＳＳＤ  Ｄが設定されている。ＳＳＤ  Ｄの書き込み回数は、４００００回である。前回の交換の判定からＲＡＩＤ＃１，＃２に属するＳＳＤ  Ａ，ＳＳＤ  Ｅ，ＳＳＤ  Ｃ，ＳＳＤ  Ｂの書き込み回数の合計が交換書き込み回数である８００００回に達しているので、交換の判定が行われる。
【０１３４】
ここで、ストレージ装置２００は、ＲＡＩＤ＃１，＃２のうち、書き込み回数が最大の記憶デバイスを有する方を選択する。このとき、ＲＡＩＤ＃１，＃２に属するＳＳＤ  Ａ，ＳＳＤ  Ｃの書き込み回数が８００００回と等しい。ここで、ＲＡＩＤ＃１が選択されたものとする。この場合、ストレージ装置２００は、選択したＲＡＩＤ＃１の記憶デバイスとの交換のうち、交換した場合にＲＡＩＤ＃１の記憶デバイスの書き込み回数の差が大きくなる交換の有無を判定する。このとき、ＲＡＩＤ＃１に属するＳＳＤ  Ａの書き込み回数は８００００回であり、ＳＳＤ  Ｅの書き込み回数は６５０００回である。また、交換を行った場合、予備用記憶デバイスに設定されているＳＳＤ  Ｄの書き込み回数は、書き込み回数の推定値を加算すると４５０００回となる。ここで、記憶デバイス＃２に設定されているＳＳＤ  Ｅと予備用記憶デバイスに設定されているＳＳＤ  Ｄとを交換した場合、記憶デバイス＃１であるＳＳＤ  Ａ（書き込み回数８００００回）と交換により記憶デバイス＃２に設定されるＳＳＤ  Ｄ（書き込み回数４５０００回（交換実行時））との書き込み回数の差は、３５０００回となり、交換をしない場合（書き込み回数の差１５０００回）よりも増加する。従って、ＲＡＩＤ＃１の記憶デバイス＃２であるＳＳＤ  Ｅと予備用記憶デバイスであるＳＳＤ  Ｄとの交換が行われる。
【０１３５】
［４回目交換後］４回目の交換の実行により、ＲＡＩＤ＃１の記憶デバイス＃１にＳＳＤ  Ａが設定されている。ＳＳＤ  Ａの書き込み回数は、８００００回である。記憶デバイス＃２にＳＳＤ  Ｄが設定されている。ＳＳＤ  Ｄの書き込み回数は、４５０００回である。ＲＡＩＤ＃２の記憶デバイス＃３にＳＳＤ  Ｃが設定されている。ＳＳＤ  Ｃの書き込み回数は、８００００回である。記憶デバイス＃４にＳＳＤ  Ｂが設定されている。ＳＳＤ  Ｂの書き込み回数は、６５０００回である。予備用記憶デバイスにＳＳＤ  Ｅが設定されている。ＳＳＤ  Ｅの書き込み回数は、６５０００回である。
【０１３６】
図１４から図１６は、第３の実施の形態の記憶デバイス交換処理を示すフローチャートである。第３の実施の形態のストレージ装置２００は、所定回数の書き込みが行われる毎に、記憶デバイス２２０ｔ〜２２０ｘを、ＲＡＩＤグループに属する記憶デバイスと予備の記憶デバイスとの間で交換する記憶デバイス交換処理を実行する。以下では、図１４から図１６に示す記憶デバイス交換処理をフローチャートのステップ番号に沿って説明する。
【０１３７】
［ステップＳ３１］制御部２０１の選択部２０１ａは、書き込み回数カウント部２０３のカウント数に基づき、ストレージ装置２００全体の書き込み回数を合計し、交換書き込み回数の書き込みが行われたか否かを判定する。所定回数の書き込みが行われていれば（ステップＳ３１  ＹＥＳ）、処理はステップＳ３２に進められる。一方、所定回数の書き込みが行われていなければ（ステップＳ３１  ＮＯ）、所定回数の書き込みが行われるまでステップＳ３１の処理が繰り返される。
【０１３８】
［ステップＳ３２］制御部２０１の選択部２０１ａは、ストレージ装置２００が有するＲＡＩＤグループのうち、未選択のＲＡＩＤグループが存在するか否かを判定する。未選択のＲＡＩＤグループが存在すれば（ステップＳ３２  ＹＥＳ）、処理はステップＳ３３に進められる。一方、未選択のＲＡＩＤグループが存在しなければ（ステップＳ３２  ＮＯ）、選択部２０１ａは、ステップＳ３２におけるＲＡＩＤグループの選択、ステップＳ３４における記憶デバイスの選択、ステップＳ４１の記憶デバイスの一対の選択を解除して未選択とする。また、書き込み回数カウント部２０３は、カウント数をリセットする。その後、処理はステップＳ３１に進められる。
【０１３９】
［ステップＳ３３］制御部２０１の選択部２０１ａは、未選択のＲＡＩＤグループであって最も書き込み回数が多いＲＡＩＤグループを選択する。ここで、ＲＡＩＤグループの書き込み回数は、それぞれのＲＡＩＤグループのうちの書き込み回数が最大の記憶デバイスの書き込み回数としてもよい。これにより、書き込み回数の上限に最も近い記憶デバイスと、当該ＲＡＩＤグループの他の記憶デバイスとの書き込み回数の差を増加できる。また、ＲＡＩＤグループの書き込み回数は、それぞれのＲＡＩＤグループの記憶デバイスの書き込み回数の合計値としてもよい。これにより、記憶デバイスの交換が行われた回数が少ないＲＡＩＤグループの記憶デバイスを予備の記憶デバイスと交換することで、当該ＲＡＩＤグループの書き込み回数の差を増加させる。これにより、ストレージ装置２００が有する複数のＲＡＩＤグループについて偏りなく、ＲＡＩＤグループ内の記憶デバイスの書き込み回数の差を増加させることができる。
【０１４０】
［ステップＳ３４］制御部２０１の選択部２０１ａは、ステップＳ３３で選択したＲＡＩＤグループにおいて、未選択の記憶デバイスが存在するか否かを判定する。未選択の記憶デバイスが存在すれば（ステップＳ３４  ＹＥＳ）、処理はステップＳ４１（図１５）に進められる。一方、未選択の記憶デバイスが存在しなければ（ステップＳ３４  ＮＯ）、処理はステップＳ３５に進められる。
【０１４１】
［ステップＳ３５］制御部２０１の選択部２０１ａは、ステップＳ３３で選択したＲＡＩＤグループを選択対象から除外する。その後、処理はステップＳ３２に進められる。
［ステップＳ４１］制御部２０１の選択部２０１ａは、ステップＳ３３で選択したＲＡＩＤグループの記憶デバイスのうち、書き込み回数の差が最も少ない記憶デバイスの一対を選択する。
【０１４２】
なお、選択部２０１ａは、ステップＳ３３で選択したＲＡＩＤグループの記憶デバイスのうち、書き込み回数が最も多い記憶デバイスと、当該記憶デバイスとの書き込み回数の差が最も少ない記憶デバイスの一対を選択してもよい。この場合、ＲＡＩＤグループ内で最も書き込み回数が多い記憶デバイスと、２番目に書き込み回数が多い記憶デバイスとの対が選択される。これにより、書き込み回数の上限に最も近い記憶デバイスと、ＲＡＩＤグループ内において書き込み回数の上限に２番目に近い記憶デバイスとの書き込み回数の差を増加させることができ、ＲＡＩＤグループの記憶デバイスが同時に書き込み回数の上限に達することを抑制できる。
【０１４３】
また最も書き込み回数が多い記憶デバイスと、２番目に書き込み回数が多い記憶デバイスとの対を選択することで、書き込み回数の上限に達した記憶デバイスから予備のデバイスへのデータコピー中に、別の記憶デバイスが書き込み上限に達することを抑止できる。すなわち、書き込み回数が最も多い記憶デバイスは、ＲＡＩＤグループ内で最初に書き込み回数の上限に達するものと想定される。書き込み回数が最も多い記憶デバイスが書き込み回数の上限に達すると、その記憶デバイス内のデータが予備の記憶デバイスにコピーされる。データのコピーには一定の時間がかかる。最も書き込み回数が多い記憶デバイスと、２番目に書き込み回数が多い記憶デバイスとの書き込み回数の差が大きい程、データコピーの完了前に２番目に書き込み回数が多い記憶デバイスが書き込み回数の上限に達することが抑止される。
【０１４４】
［ステップＳ４２］制御部２０１の選択部２０１ａは、当該時点の予備の記憶デバイスについて、データコピーによって予備の記憶デバイスに生じる書き込みの回数の推定値として予め設定された所定回数を、予備の記憶デバイスの当該時点の書き込み回数に加算する。選択部２０１ａは、加算結果を、予備の記憶デバイスの交換後書き込み回数として算出する。
【０１４５】
［ステップＳ４３］制御部２０１の選択部２０１ａは、書き込み回数カウント部２０３のカウント結果に基づき、ステップＳ４１で選択した一対の記憶デバイスのそれぞれの書き込み回数の差を算出する。選択した一対の記憶デバイスのそれぞれの書き込み回数の差は、交換前の差である。
【０１４６】
また、選択部２０１ａは、ステップＳ４１で選択した一対の記憶デバイスの一方の書き込み回数と、予備の記憶デバイスの交換後書き込み回数とを比較して、書き込み回数の差を算出する。
【０１４７】
また、選択部２０１ａは、ステップＳ４１で選択した一対の記憶デバイスの他方の書き込み回数と、予備の記憶デバイスの交換後書き込み回数とを比較して、書き込み回数の差を算出する。なおステップＳ４１で選択した一対の記憶デバイスのそれぞれの書き込み回数は、書き込み回数カウント部２０３のカウント結果から得られる。予備の記憶デバイスの交換後書き込み回数は、ステップＳ４２で算出した結果から得られる。
【０１４８】
［ステップＳ４４］制御部２０１の選択部２０１ａは、ステップＳ４３で算出した書き込み回数の差に基づき、選択した一対のいずれかと予備の記憶デバイスとの交換において、書き込み回数の差が、交換しない場合よりも大きくなる交換が存在するか否かを判定する。書き込み回数の差が交換しない場合よりも大きくなる交換が存在すれば（ステップＳ４４  ＹＥＳ）、処理はステップＳ４５に進められる。一方、書き込み回数の差が交換しない場合よりも大きくなる交換が存在しなければ（ステップＳ４４  ＮＯ）、処理はステップＳ４６に進められる。
【０１４９】
［ステップＳ４５］制御部２０１の選択部２０１ａは、ステップＳ４３で算出した書き込み回数の差に基づき、選択した一対のいずれかと予備の記憶デバイスとの交換のうち、書き込み回数の差がより大きくなる方の交換を選択する。その後、処理はステップＳ５１（図１６）に進められる。
【０１５０】
［ステップＳ４６］制御部２０１の選択部２０１ａは、ステップＳ４１で選択した記憶デバイスの一対を選択対象から除外する。ここで、選択対象から記憶デバイスの一対が除外されることで、当該一対は選択されないが、当該一対のうちのいずれか一方が異なる場合には選択の対象となり得る。その後、処理はステップＳ３４に進められる。
【０１５１】
［ステップＳ５１］制御部２０１の設定変更部２０１ｂは、ステップＳ４５で交換を選択した記憶デバイスに記憶されているデータを、予備の記憶デバイスにコピーする。
［ステップＳ５２］制御部２０１の設定変更部２０１ｂは、ステップＳ４５で交換を選択した記憶デバイスと、予備の記憶デバイスとを交換する。具体的には設定変更部２０１ｂは、ステップＳ４５で選択した記憶デバイスのデータを論理的に消去し、ＲＡＩＤグループから除外して予備の記憶デバイスとして待機させる。また設定変更部２０１ｂは、予備の記憶デバイスを、ステップＳ４５で交換を選択した記憶デバイスの代わりにＲＡＩＤグループに含める。また選択部２０１ａは、ステップＳ３２におけるＲＡＩＤグループの選択、ステップＳ３４における記憶デバイスの選択、ステップＳ４１の記憶デバイスの一対の選択を解除して未選択とする。また、書き込み回数カウント部２０３は、カウント数をリセットする。その後、処理はステップＳ３１に進められる。
【０１５２】
なお、第３の実施の形態の記憶デバイス交換処理では、ステップＳ５１でデータのコピーを行った後にステップＳ５２で記憶デバイスを交換するが、これに限らず、記憶デバイスの交換を行った後にデータのコピーを行ってもよい。
【０１５３】
このように、第３の実施の形態のストレージ装置２００では、書き込み回数のカウント結果に基づき、書き込み回数の差が大きくなる記憶デバイスを交換するので、複数の記憶デバイスが同時に書き込み回数の上限に達することを抑制することが可能になる。
【０１５４】
また、ＲＡＩＤグループに属する記憶デバイスと、予備の記憶デバイスとを交換した場合のＲＡＩＤグループに属する記憶デバイス同士の書き込み回数の差を算出して比較し、書き込み回数の差に基づいて交換対象の記憶デバイスを選択する。これにより、ＲＡＩＤグループに属するいずれの記憶デバイスを交換した場合に書き込み回数の差を最も大きくできるかを比較でき、効果的に書き込み回数の差を増加させることができる。
【０１５５】
また、交換時のコピーにより増加する書き込み回数の推定値である交換書き込み回数に基づいて予備の記憶デバイスの交換後の交換後書き込み回数を算出し、交換後書き込み回数の算出結果に基づいて交換対象の記憶デバイスを選択する。これにより、交換時のコピーの影響を反映して記憶デバイスの書き込み回数の差を算出でき、交換対象の記憶デバイスの選択を適切に行うことができる。
【０１５６】
以上、開示のストレージ装置、およびストレージ装置制御方法を、図示の実施の形態に基づいて説明したが、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、開示の技術に他の任意の構成物や工程が付加されてもよい。また、開示の技術は前述した実施の形態のうちの任意の２以上の構成を組み合わせたものであってもよい。
【符号の説明】
【０１５７】
１  ストレージ装置
１ａ  記憶媒体群
１ｂ  書き込み部
１ｃ  カウント部
１ｄ  選択部
１ｅ  設定変更部
１ａ−１，１ａ−２，１ａ−３  記憶媒体
【図１】
0005754292.tif 000006
【図２】
0005754292.tif 000007
【図３】
0005754292.tif 000008
【図４】
0005754292.tif 000009
【図５】
0005754292.tif 000010
【図６】
0005754292.tif 000011
【図７】
0005754292.tif 000012
【図８】
0005754292.tif 000013
【図９】
0005754292.tif 000014
【図１０】
0005754292.tif 000015
【図１１】
0005754292.tif 000016
【図１２】
0005754292.tif 000017
【図１３】
0005754292.tif 000018
【図１４】
0005754292.tif 000019
【図１５】
0005754292.tif 000020
【図１６】
0005754292.tif 000021