(57)【要約】【課題】複数の記憶媒体の同時故障によるデータ喪失の可能性を低減できる。【解決手段】ストレージ制御装置１は、複数の記憶媒体Ｄ１，Ｄ２，Ｄ３，Ｄ４によりＲＡＩＤを構成してファイル単位でデータを記憶保持する。書込可能回数管理部１ａは、記憶媒体毎の書込可能回数を管理する。書込先管理部１ｂは、記憶媒体へのデータの書込先を管理する。再配置部１ｄは、グループを構成する記憶媒体の１つ（第１の記憶媒体）を書込先とする書込対象データを更新する場合、第１の記憶媒体と異なる第２の記憶媒体を書込先にして書込対象データを再配置する。書込先更新部１ｅは、再配置にしたがい書込先管理部１ｂが管理する記憶媒体へのデータの書込先を更新する。ストレージ制御装置１は、第１の記憶媒体から第２の記憶媒体にデータを再配置することでデータの書き込みに伴い減少する書込可能回数を制御することができる。【選択図】図１
2015075940.tif 000002
【特許請求の範囲】
【請求項１】
グループを構成する記憶媒体毎の書込可能回数を管理する書込可能回数管理部と、
前記記憶媒体へのデータの書込先を管理する書込先管理部と、
前記データの書込先毎の書込回数を管理する書込回数管理部と、
前記グループを構成する記憶媒体のうち第１の記憶媒体を書込先とする書込対象データを更新する場合、前記記憶媒体毎の書込可能回数および前記データの書込先毎の書込回数にもとづいて、前記第１の記憶媒体と異なる第２の記憶媒体を書込先にして前記書込対象データを再配置する再配置部と、
前記再配置にしたがい前記書込先管理部が管理する前記記憶媒体へのデータの書込先を更新する書込先更新部と、
を備えることを特徴とするストレージ制御装置。
【請求項２】
前記再配置部は、前記第２の記憶媒体の書込先にあるデータを、前記書込対象データの再配置元に再配置することを特徴とする請求項１記載のストレージ制御装置。
【請求項３】
前記再配置部は、前記第１の記憶媒体における前記書込回数が所定の基準と比較して大きいと評価されたデータを、前記第１の記憶媒体を書込先とする書込対象データとすることを特徴とする請求項１または請求項２記載のストレージ制御装置。
【請求項４】
前記再配置部は、前記記憶媒体毎の書込可能回数と、前記記憶媒体毎の書込可能回数の目標値との差分にもとづいて、前記書込可能回数の低減ペースを抑制する記憶媒体を、前記第１の記憶媒体とすることを特徴とする請求項３記載のストレージ制御装置。
【請求項５】
前記再配置部は、前記記憶媒体毎の書込可能回数と、前記記憶媒体毎の書込可能回数の目標値との差分にもとづいて、前記書込可能回数の低減ペースを増大する記憶媒体を、前記第２の記憶媒体とすることを特徴とする請求項４記載のストレージ制御装置。
【請求項６】
前記再配置部は、前記第２の記憶媒体における前記書込回数が所定の基準と比較して小さいと評価されたデータの書込先を、前記書込対象データの再配置先とすることを特徴とする請求項５記載のストレージ制御装置。
【請求項７】
前記再配置部は、前記グループを構成する記憶媒体毎の書込可能回数があらかじめ設定した差分を有するように前記目標値を決定することを特徴とする請求項４乃至請求項６のいずれか１項記載のストレージ制御装置。
【請求項８】
コンピュータに、
グループを構成する記憶媒体毎の書込可能回数を管理し、
前記記憶媒体へのデータの書込先を管理し、
前記データの書込先毎の書込回数を管理し、
前記グループを構成する記憶媒体のうち第１の記憶媒体を書込先とする書込対象データを更新する場合、前記記憶媒体毎の書込可能回数および前記データの書込先毎の書込回数にもとづいて、前記第１の記憶媒体と異なる第２の記憶媒体を書込先にして前記書込対象データを再配置し、
前記再配置にしたがい前記記憶媒体へのデータの書込先を更新する、
処理を実行させることを特徴とするストレージ装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置、およびストレージ装置の制御プログラムに関する。
【背景技術】
【０００２】
複数の情報処理端末によってデータ処理をおこなう場合、データの保全と管理の効率化を図るために、ファイルサーバ（ストレージ装置）がデータを集中管理することがおこなわれている。ファイルサーバは、たとえば、ＮＡＳ（Network Attached Storage）装置がある。
【０００３】
ＮＡＳ装置は、ＲＡＩＤ（Redundant Array Inexpensive(Independent) Disks）などにより、多数の記憶媒体をまとめて管理し、データの信頼性の向上と、大容量の記憶領域の提供を実現する。ＮＡＳ装置は、記憶媒体として、ハードディスク（ＨＤＤ：Hard Disk Drive）や、半導体メモリであるＳＳＤ（Solid State Drive:フラッシュメモリドライブ）などを用いることができる。ＳＳＤは、ＨＤＤと比較して高速なアクセス性能を有し、特にランダムリード性能に優れる。また、ＳＳＤは、低消費電力、低発熱性、高耐衝撃性を有するものの、ＨＤＤと比較して容量当たりの価格が高価であり、ライト（書込）可能回数に制限があるなどのデメリットを有する。
【０００４】
ＮＡＳ装置は、ＲＡＩＤ（たとえば、ＲＡＩＤ４、ＲＡＩＤ５）を構成するＳＳＤにライト可能回数を超える使用により故障が発生しても、パリティデータからデータを保証できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２６９０３２号公報
【特許文献２】特開２００８−４０７１３号公報
【特許文献３】特開２０１０−１５５１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＮＡＳ装置を含めて、ストレージ装置は、ＲＡＩＤを構成する２以上のＳＳＤに故障が発生した場合、データを喪失するおそれがある。
１つの側面では、本発明は、複数の記憶媒体の同時故障によるデータ喪失の可能性を低減できるストレージ制御装置、およびストレージ装置の制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、以下に示すような、ストレージ制御装置が提供される。ストレージ制御装置は、書込可能回数管理部と、書込先管理部と、書込回数管理部と、再配置部と、書込先更新部と、を備える。書込可能回数管理部は、グループを構成する記憶媒体毎の書込可能回数を管理する。書込先管理部は、記憶媒体へのデータの書込先を管理する。書込回数管理部は、データの書込先毎の書込回数を管理する。再配置部は、グループを構成する記憶媒体のうち第１の記憶媒体を書込先とする書込対象データを更新する場合、記憶媒体毎の書込可能回数およびデータの書込先毎の書込回数にもとづいて、第１の記憶媒体と異なる第２の記憶媒体を書込先にして書込対象データを再配置する。書込先更新部は、再配置にしたがい書込先管理部が管理する記憶媒体へのデータの書込先を更新する。
【発明の効果】
【０００８】
１態様によれば、ストレージ制御装置、およびストレージ装置の制御プログラムにおいて、複数の記憶媒体の同時故障によるデータ喪失の可能性を低減できる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態のストレージ制御装置の構成の一例を示す図である。
【図２】複数の記憶媒体の書込可能回数が近接し、同時に故障するおそれのある状態の一例を示す図である。
【図３】複数の記憶媒体の書込可能回数が適切に制御された状態の一例を示す図である。
【図４】第２の実施形態のストレージシステムの構成の一例を示す図である。
【図５】第２の実施形態のＮＡＳ装置のハードウェア構成の一例を示す図である。
【図６】第２の実施形態のＮＡＳ装置の機能構成の一例を示す図である。
【図７】第２の実施形態の初期化処理のフローチャートを示す図である。
【図８】第２の実施形態の現書込可能回数管理テーブルの一例を示す図である。
【図９】第２の実施形態の前書込可能回数管理テーブルの一例を示す図である。
【図１０】第２の実施形態の書込回数管理テーブルの一例を示す図である。
【図１１】第２の実施形態の書込処理のフローチャートを示す図である。
【図１２】第２の実施形態の再配置テーブルの一例を示す図である。
【図１３】第２の実施形態のＳＳＤ毎の再配置数の一例を示す図である。
【図１４】第２の実施形態のデータ再配置書込処理のフローチャートを示す図である。
【図１５】第２の実施形態の書込データの再配置前の各ＳＳＤが保持するデータ、書込可能回数、および再配置数の一例を示す図である。
【図１６】第２の実施形態の書込データの再配置後の各ＳＳＤが保持するデータ、書込可能回数、および再配置数の一例を示す図である。
【図１７】第２の実施形態の書込可能回数差分制御処理のフローチャートを示す図である。
【図１８】第２の実施形態の差分拡大処理のフローチャートを示す図である。
【図１９】複数のＳＳＤの書込可能回数の制御前の状態の一例を示す図である。
【図２０】複数のＳＳＤの書込可能回数の制御目標の状態の一例を示す図である。
【図２１】複数のＳＳＤの書込可能回数の制御後の状態の一例を示す図である。
【図２２】第２の実施形態の差分縮小処理のフローチャートを示す図である。
【図２３】複数のＳＳＤの書込可能回数の制御前の状態の一例を示す図である。
【図２４】複数のＳＳＤの書込可能回数の制御目標の状態の一例を示す図である。
【図２５】複数のＳＳＤの書込可能回数の制御後の状態の一例を示す図である。
【図２６】第２の実施形態のＳＳＤ故障状態判定処理のフローチャートを示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して実施の形態を詳細に説明する。
［第１の実施形態］
まず、第１の実施形態のストレージ制御装置について図１を用いて説明する。図１は、第１の実施形態のストレージ制御装置の構成の一例を示す図である。
【００１１】
ストレージ制御装置１は、ストレージユニット２が有する複数の記憶媒体Ｄ１，Ｄ２，Ｄ３，Ｄ４をグループとして管理し、ファイル単位でデータを記憶保持可能である。また、記憶媒体Ｄ１，Ｄ２，Ｄ３，Ｄ４は、それぞれ所定の単位で分割された複数の領域（たとえば、ストライプ）ＳＰ１，ＳＰ２，ＳＰ３，ＳＰ４，ＳＰ５を有する。記憶媒体Ｄ１，Ｄ２，Ｄ３，Ｄ４は、それぞれ書込可能回数Ｎ１，Ｎ２，Ｎ３，Ｎ４の制限がある。
【００１２】
たとえば、ストレージ制御装置１は、複数の記憶媒体Ｄ１，Ｄ２，Ｄ３，Ｄ４によりＲＡＩＤを構成してファイル単位でデータを記憶保持し、ファイルサーバとして機能する。ＲＡＩＤは、複数の記憶媒体から構成され、冗長構成により記憶保持するデータの信頼性を図るグループの一例である。記憶媒体Ｄ１，Ｄ２，Ｄ３，Ｄ４は、書込可能回数に制限があり、書込回数にもとづく故障管理の対象となる記憶媒体であり、たとえば、ＳＳＤである。
【００１３】
なお、図１に図示するグループは、説明を容易にするために記憶媒体Ｄ１，Ｄ２，Ｄ３，Ｄ４の４つで構成されているが、２つまたは３つ、あるいは４つ以上で構成されるものであってもよい。同様に、図１に図示する領域は、領域ＳＰ１，ＳＰ２，ＳＰ３，ＳＰ４，ＳＰ５の５つに限らず任意の数とすることができる。
【００１４】
ストレージ制御装置１は、書込可能回数管理部１ａと、書込先管理部１ｂと、書込回数管理部１ｃと、再配置部１ｄと、書込先更新部１ｅと、を備える。書込可能回数管理部１ａは、グループを構成する記憶媒体毎の書込可能回数を管理する。すなわち、書込可能回数管理部１ａは、記憶媒体Ｄ１の書込可能回数Ｎ１、記憶媒体Ｄ２の書込可能回数Ｎ２、記憶媒体Ｄ３の書込可能回数Ｎ３、および記憶媒体Ｄ４の書込可能回数Ｎ４を管理する。
【００１５】
書込先管理部１ｂは、記憶媒体へのデータの書込先を管理する。たとえば、データＦ０が領域３（記憶媒体Ｄ１の領域ＳＰ２）を書込先とする場合、書込先管理部１ｂは、データＦ０の書込先が記憶媒体Ｄ１の領域ＳＰ２であるとして管理する。書込回数管理部１ｃは、データの書込先、すなわち各記憶媒体における領域毎の書込回数を管理する。
【００１６】
再配置部１ｄは、グループを構成する記憶媒体の１つ（第１の記憶媒体）を書込先とする書込対象データを更新する場合、第１の記憶媒体と異なる第２の記憶媒体を書込先にして書込対象データを再配置する。再配置部１ｄは、書込可能回数管理部１ａが管理する記憶媒体毎の書込可能回数と、書込回数管理部１ｃが管理するデータの書込先毎の書込回数とにもとづいて再配置をおこなう。
【００１７】
たとえば、再配置部１ｄは、記憶媒体Ｄ１の領域３を書込先とするデータＦ０をデータＦ１に更新する場合、記憶媒体Ｄ１と異なる記憶媒体Ｄ２の領域４（記憶媒体Ｄ２の領域ＳＰ４）にデータＦ１を再配置する。
【００１８】
書込先更新部１ｅは、再配置にしたがい書込先管理部１ｂが管理する記憶媒体へのデータの書込先を更新する。
このように、ストレージ制御装置１は、第１の記憶媒体から第２の記憶媒体にデータを再配置することでデータの書き込みに伴い減少する書込可能回数を制御することができる。
【００１９】
なお、いずれの記憶媒体を再配置対象（再配置元、あるいは再配置先）とするかは、書込可能回数管理部１ａが管理する記憶媒体毎の記憶媒体Ｄ１，Ｄ２，Ｄ３，Ｄ４の書込可能回数Ｎ１，Ｎ２，Ｎ３，Ｎ４にもとづいて決定することができる。たとえば、ストレージ制御装置１は、書込可能回数Ｎ１，Ｎ２，Ｎ３，Ｎ４のうちの２つ以上の値が近接しないようにすることで２以上の記憶媒体Ｄ１，Ｄ２，Ｄ３，Ｄ４が同時故障する可能性を低減する。
【００２０】
また、いずれのデータを再配置対象とするかは、書込回数管理部１ｃが管理する各記憶媒体における領域毎の書込回数にもとづいて決定することができる。すなわち、領域に書き込まれているデータを再配置することで、記憶媒体毎の書込頻度を変更し、各記憶媒体における領域毎の書込回数の変動を制御できる。
【００２１】
これにより、ストレージ制御装置１は、記憶媒体Ｄ１，Ｄ２，Ｄ３，Ｄ４の書込可能回数Ｎ１，Ｎ２，Ｎ３，Ｎ４を制御し、複数の記憶媒体の同時故障によるデータ喪失の可能性を低減できる。
【００２２】
たとえば、図２に示す記憶媒体Ｄ１，Ｄ２，Ｄ３は、書込可能回数がいずれも約１０であり、それぞれが近接していることから同時故障の危険性が高い。図２は、複数の記憶媒体の書込可能回数が近接し、同時に故障するおそれのある状態の一例を示す図である。ストレージ制御装置１は、図３に示すように記憶媒体Ｄ１，Ｄ２，Ｄ３，Ｄ４の書込可能回数が近接しないように制御することで、図２に示すような同時に故障するおそれのある状態を回避することができる。図３は、複数の記憶媒体の書込可能回数が適切に制御された状態の一例を示す図である。
【００２３】
なお、ストレージ制御装置１は、ストレージユニット２と一体に設けられてストレージ装置を構成するものであってもよい。
［第２の実施形態］
次に、第２の実施形態のストレージシステムについて図４を用いて説明する。図４は、第２の実施形態のストレージシステムの構成の一例を示す図である。
【００２４】
ストレージシステム１０は、複数のサーバ（情報処理装置）１１，１２と、ＮＡＳ装置２０と、制御端末装置１３と、ＬＡＮ（Local Area Network）１４とを含む。サーバ１１，１２は、ＮＡＳ装置２０が提供するファイルサーバ機能を利用して、ユーザ毎またはアプリケーション毎のデータ処理をおこなう。ＮＡＳ装置２０は、サーバ１１，１２にファイル接続機能を提供するファイルサーバである。ＮＡＳ装置２０は、複数の記憶媒体部（ストレージユニット）２１（記憶媒体部２１ａ，２１ｂ，２１ｃ，…，２１ｎ）を備え、大容量の記憶領域を提供する。ＮＡＳ装置２０は、複数のストレージユニットを制御するストレージ制御装置の１形態である。
【００２５】
制御端末装置１３は、ＮＡＳ装置２０を制御するための端末装置であり、ＮＡＳ装置２０の稼働監視や各種設定、異常発生時のメンテナンスなどをおこなう。ＬＡＮ１４は、有線または無線、あるいはその両方を含む通信路であり、サーバ１１，１２とＮＡＳ装置２０とを接続する。なお、ＬＡＮ１４は、サーバ１１，１２とＮＡＳ装置２０とを接続するネットワークの一例であり、公衆回線等を含むものであってもよい。
【００２６】
次に、第２の実施形態のＮＡＳ装置２０について図５を用いて説明する。図５は、第２の実施形態のＮＡＳ装置のハードウェア構成の一例を示す図である。
ＮＡＳ装置２０は、プロセッサ２２によって装置全体が制御されている。プロセッサ２２には、バス３０を介してＲＡＭ（Random Access Memory）２３と複数の周辺機器が接続されている。
【００２７】
プロセッサ２２は、マルチプロセッサであってもよい。プロセッサ２２は、たとえばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ２２は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００２８】
ＲＡＭ２３は、ＮＡＳ装置２０の主記憶装置として使用される。ＲＡＭ２３には、プロセッサ２２に実行させるＯＳ（Operating System）のプログラムやファームウェア、アプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ２３には、プロセッサ２２による処理に必要な各種データが格納される。また、ＲＡＭ２３には、サーバ１１，１２とＮＡＳ装置２０との間で転送されるデータが一時的に格納される。なお、ＲＡＭ２３は、各種データの格納に用いるメモリと別体にキャッシュメモリを含むものであってもよい。ＲＡＭ２３は、バッテリ２４に電力供給がバックアップされる。バッテリ２４は、たとえば、リチウムイオン電池などがある。
【００２９】
バス３０に接続されている周辺機器としては、ＲＯＭ（Read Only Memory）２５、ディスク制御部２６、ネットワーク制御部２７、およびシリアルインタフェース部２９がある。
【００３０】
ＲＯＭ２５は、ＮＡＳ装置２０の電源遮断時においても記憶内容を保持する。ＲＯＭ２５は、たとえば、ＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）やフラッシュメモリなどの半導体記憶装置や、ＨＤＤなどである。また、ＲＯＭ２５は、ＮＡＳ装置２０の補助記憶装置として使用される。ＲＯＭ２５には、オペレーティングシステムのプログラムやファームウェア、アプリケーションプログラム、および各種データが格納される。
【００３１】
ディスク制御部２６は、ファイルを格納する記憶媒体部２１を制御する。なお、記憶媒体部２１は、ＨＤＤ２１１、ＳＳＤ２１２を含んで構成されるが、ＨＤＤ２１１を含まない構成であってもよい。また、ＨＤＤ２１１は、ＮＡＳ装置２０が内蔵するものであってもよいし、外部接続するものであってもよい。また、ディスク制御部２６は、記憶媒体部２１とバス３０との間のデータ転送を制御する。また、ディスク制御部２６は、ＳＳＤ２１２が有する自己診断機能（たとえば、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．（Self-Monitoring, Analysis and Reporting Technology）によりＳＳＤ２１２の各種パラメータを取得できる。
【００３２】
ネットワーク制御部２７は、外部インタフェース部２８と接続する。外部インタフェース部２８は、ＬＡＮ１４と接続するインタフェース（たとえば、Ｅｔｈｅｒｎｅｔ（登録商標））を制御する。外部インタフェース部２８は、冗長性を有するため、あるいは負荷分散のために複数（外部インタフェース部２８ａ，２８ｂ）設けられる。
【００３３】
シリアルインタフェース部２９は、制御端末装置１３とシリアル接続する。ＮＡＳ装置２０は、外部インタフェース部２８またはシリアルインタフェース部２９を介して制御端末装置１３と接続できる。
【００３４】
ＨＤＤ２１１およびＳＳＤ２１２は、サーバ１１，１２にファイル接続機能を提供するためのデータを格納する記憶媒体である。たとえば、ＨＤＤ２１１は、ＨＤＤ２１１ａ，…，２１１ｎのようにして、複数備えられ、ＲＡＩＤ（たとえば、ＲＡＩＤ４、ＲＡＩＤ５、ＲＡＩＤ６他）を構築可能にしている。また、ＳＳＤ２１２は、ＳＳＤ２１２ａ，…，２１２ｎのようにして、複数備えられ、ＲＡＩＤを構築可能にしている。また、ＮＡＳ装置２０は、ＨＤＤ２１１ａ，…，２１１ｎ、またはＳＳＤ２１２ａ，…，２１２ｎのうちのいくつかは、故障したＨＤＤ２１１またはＳＳＤ２１２を置き換えるスペアディスクとして用意されている。
【００３５】
以上のようなハードウェア構成によって、第２の実施形態のＮＡＳ装置２０の処理機能を実現することができる。なお、第１の実施形態に示したストレージ制御装置１も、図示したＮＡＳ装置２０と同様のハードウェアにより実現することができる。
【００３６】
ＮＡＳ装置２０は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施形態の処理機能を実現する。ＮＡＳ装置２０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、ＮＡＳ装置２０に実行させるプログラムをＲＯＭ２５に格納しておくことができる。プロセッサ２２は、ＲＯＭ２５内のプログラムの少なくとも一部をＲＡＭ２３にロードし、プログラムを実行する。またＮＡＳ装置２０に実行させるプログラムを、図示しない光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。メモリ装置は、外部インタフェース部２８あるいは図示しない機器接続インタフェースとの通信機能を搭載した記録媒体である。たとえば、メモリ装置は、メモリリーダライタによりメモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しをおこなうことができる。メモリカードは、カード型の記録媒体である。
【００３７】
可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ２２からの制御により、ＲＯＭ２５にインストールされた後、実行可能となる。またプロセッサ２２が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００３８】
次に、第２の実施形態のＮＡＳ装置２０の機能構成について図６を用いて説明する。図６は、第２の実施形態のＮＡＳ装置の機能構成の一例を示す図である。
ＮＡＳ装置２０は、ＲＡＩＤ制御部４１と、ファイルシステム制御部４２と、書込先ＳＳＤ決定制御部４３と、データ再配置制御部４４と、ＳＳＤ故障状態判定制御部４５と、記憶部４６と、記憶媒体交換制御部４７を備える。
【００３９】
ＲＡＩＤ制御部４１は、複数のＨＤＤ２１１、または複数のＳＤＤ２１２から構成されるＲＡＩＤ制御をおこなう。たとえば、ＲＡＩＤ制御部４１は、ＳＤＤ２１２の４つをデータディスクとしてＲＡＩＤ５を構成する。データディスクは、１つのデータ群がストライプという単位からなる複数のデータ群を含む。ＲＡＩＤ制御部４１は、データ群をストライプ番号によって管理し、３つのデータディスクの同一ストライプ番号にデータを格納し、残り１つのデータディスクの同一ストライプ番号にパリティを格納することで冗長性を有してデータを格納している。
【００４０】
ファイルシステム制御部４２は、記憶媒体部２１に格納するファイルの管理および制御をおこなう。たとえば、ファイルシステム制御部４２は、ｉｎｏｄｅを用いてファイル（データ）管理をおこなう。ファイルシステム制御部４２は、後述するデータ再配置によりファイルの書込先が変更された場合に、データブロックの制御情報を更新する。データブロックの制御情報は、記憶媒体部２１の識別情報、および記憶媒体部２１内の位置情報を含む。
【００４１】
書込先ＳＳＤ決定制御部４３は、データの書込先となるＳＳＤ２１２の決定制御をおこなう。データ再配置制御部４４は、書込対象のデータの再配置制御をおこなう。ＳＳＤ故障状態判定制御部４５は、ＳＳＤ２１２の故障判定をおこなう。記憶媒体交換制御部４７は、ＳＳＤ故障状態判定制御部４５が故障したと判定したＳＳＤ２１２（データディスク）を交換用のＳＳＤ２１２（スペアディスク）に置き換える。
【００４２】
ＲＡＩＤ制御部４１と、ファイルシステム制御部４２と、書込先ＳＳＤ決定制御部４３と、データ再配置制御部４４と、ＳＳＤ故障状態判定制御部４５と、記憶媒体交換制御部４７とは、プロセッサ２２が記憶部４６から所要の制御手順（プログラム）を読み出し、制御手順にしたがい動作することで実現される。なお、ＲＡＩＤ制御部４１と、ファイルシステム制御部４２と、書込先ＳＳＤ決定制御部４３と、データ再配置制御部４４と、ＳＳＤ故障状態判定制御部４５とは、プロセッサ２２が他の制御部（たとえば、ディスク制御部２６）と処理を分担して実現されるものであってもよい。記憶部４６は、ＲＡＭ２３、ＲＯＭ２５を含む。記憶部４６は、所要の制御手順の他、各種制御情報、設定情報等を記憶する。
【００４３】
次に、第２の実施形態の初期化処理について図７から図１０を用いて説明する。図７は、第２の実施形態の初期化処理のフローチャートを示す図である。ＮＡＳ装置２０は、ＮＡＳ装置２０の起動時に初期化処理を実行する。
【００４４】
［ステップＳ１１］プロセッサ２２は、ＳＳＤ２１２毎の書込可能回数を取得する。ＮＡＳ装置２０は、ＳＳＤ２１２毎の書込可能回数を、ＳＳＤ２１２が有する自己診断機能を利用して取得することができる。なお、書込可能回数は、ＳＳＤ２１２の残寿命に対する指標であればよく、回数に限らず、割合などによって表されるものであってもよい。
【００４５】
［ステップＳ１２］プロセッサ２２は、取得したＳＳＤ２１２毎の書込可能回数によって、現書込可能回数管理テーブルを初期化する。ここで、現書込可能回数管理テーブルについて図８を用いて説明する。図８は、第２の実施形態の現書込可能回数管理テーブルの一例を示す図である。現書込可能回数管理テーブル５０は、ＳＳＤ２１２毎の書込可能回数を記録する。現書込可能回数管理テーブル５０は、ＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、…、ＳＳＤ（ｎ）のｎ個のＳＳＤ２１２について書込可能回数を記録している。たとえば、現書込可能回数管理テーブル５０は、ＳＳＤ（１）にＣＷＡＴ（１）を記録し、ＳＳＤ（２）にＣＷＡＴ（２）を記録する。現書込可能回数管理テーブル５０は、記憶部４６に保持される。
【００４６】
［ステップＳ１３］プロセッサ２２は、取得したＳＳＤ２１２毎の書込可能回数によって、前書込可能回数管理テーブルを初期化する。前書込可能回数管理テーブルは、現書込可能回数管理テーブルと同様の構成を有する。ここで、前書込可能回数管理テーブルについて図９を用いて説明する。図９は、第２の実施形態の前書込可能回数管理テーブルの一例を示す図である。
【００４７】
前書込可能回数管理テーブル５１は、ＳＳＤ２１２毎の書込可能回数を記録する。前書込可能回数管理テーブル５１は、ＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、…、ＳＳＤ（ｎ）のｎ個のＳＳＤ２１２について書込可能回数を記録している。たとえば、前書込可能回数管理テーブル５１は、ＳＳＤ（１）にＰＷＡＴ（１）を記録し、ＳＳＤ（２）にＰＷＡＴ（２）を記録する。前書込可能回数管理テーブル５１は、記憶部４６に保持される。
【００４８】
なお、前書込可能回数管理テーブル５１は、現書込可能回数管理テーブル５０が更新された場合に、現書込可能回数管理テーブル５０の内容によって更新される。プロセッサ２２は、書込先ＳＳＤ決定制御部４３として機能し、現書込可能回数管理テーブル５０と前書込可能回数管理テーブル５１とにより、ＳＳＤ２１２毎に異なるタイミングの書込可能回数を管理することができる。
【００４９】
［ステップＳ１４］プロセッサ２２は、書込可能回数差分値をあらかじめ設定されている設定値で初期化する。書込可能回数差分値は、ＳＳＤ２１２毎の書込可能回数間に設定される差分である。たとえば、ＳＳＤ２１２の出荷時書込可能回数が１００００回であるとき、５％の５００回が初期値として設定される。書込可能回数差分値の設定値は、制御端末装置１３から設定変更可能であり、初期化された書込可能回数差分値は、記憶部４６に保持される。
【００５０】
［ステップＳ１５］プロセッサ２２は、差分制御閾値をあらかじめ設定されている設定値で初期化する。差分制御閾値は、ＳＳＤ２１２へのある程度の書き込みの蓄積があることを判定するための閾値である。たとえば、ＳＳＤ２１２の出荷時書込可能回数が１００００回であるとき、１％の１００回が初期値として設定される。差分制御閾値の設定値は、制御端末装置１３から設定変更可能であり、初期化された差分制御閾値は、記憶部４６に保持される。
【００５１】
［ステップＳ１６］プロセッサ２２は、故障判定閾値をあらかじめ設定されている設定値で初期化する。故障判定閾値は、ＳＳＤ２１２が故障目前であることを判定するための閾値である。たとえば、ＳＳＤ２１２の出荷時書込可能回数が１００００回であるとき、１％の１００回が初期値として設定される。故障判定閾値の設定値は、制御端末装置１３から設定変更可能であり、初期化された故障判定閾値は、記憶部４６に保持される。ＮＡＳ装置２０は、故障判定閾値を初期化した後、初期化処理を終了する。
【００５２】
次に、第２の実施形態の書込回数管理テーブルについて図１０を用いて説明する。図１０は、第２の実施形態の書込回数管理テーブルの一例を示す図である。
書込回数管理テーブル５２は、ＲＡＩＤグループを構成するＳＳＤ２１２毎の書込位置と、書込位置における書込回数を記録する。具体的には、書込回数管理テーブル５２は、構築されているＲＡＩＤグループを特定可能な識別情報（たとえば、ＲＡＩＤ（１））と、ＲＡＩＤグループ毎にＲＡＩＤグループを構成するＳＳＤ２１２を特定可能な識別情報（たとえば、ＳＳＤ（１））を記録する。さらに、書込回数管理テーブル５２は、ＳＳＤ２１２毎の書込位置を表すストライプを特定可能な識別情報（たとえば、ＳＴ（１））と、ストライプ毎の書込回数を記録する。ＲＡＩＤグループ、書込回数、およびストライプは、ＲＡＩＤ構築時に対応する識別情報が記録され、書込回数は「０」が初期値として記録される。
【００５３】
なお、書込回数は、データが書き込まれると「１」インクリメントされ、データが不要になった場合に「０」に初期化される。また、書込回数は、パリティが書き込まれている場合に「−１」に固定される。たとえば、書込回数管理テーブル５２は、ＲＡＩＤ（１）、ＳＳＤ（１）、ＳＴ（１）に書き込まれているデータがＷＴ（１１１）（ただし、ＷＴ（１１１）＞０）回の書込回数があることを示す。また、書込回数管理テーブル５２は、ＲＡＩＤ（１）、ＳＳＤ（１）、ＳＴ（２）にデータが書き込まれていない、または不要とされたデータが残っていることを示す。また、書込回数管理テーブル５２は、ＲＡＩＤ（１）、ＳＳＤ（１）、ＳＴ（３）にパリティが書き込まれていることを示す。書込回数管理テーブル５２は、記憶部４６に保持される。
【００５４】
次に、第２の実施形態の書込処理について図１１を用いて説明する。図１１は、第２の実施形態の書込処理のフローチャートを示す図である。ＮＡＳ装置２０は、記憶媒体部２１への書込（ライト）発生時に書込処理を実行する。
【００５５】
［ステップＳ２１］プロセッサ２２は、書込先が再配置元ＳＳＤであるか否かを判定する。再配置元ＳＳＤは、複数のＳＳＤ２１２の書込数に偏りを与えるためにデータを再配置する場合に、データの再配置元となるＳＳＤ２１２である。なお、データの再配置先となるＳＳＤ２１２は、再配置先ＳＳＤである。書込先が再配置元ＳＳＤであるか否かの判定は、再配置テーブルを参照しておこなう。
【００５６】
ここで、再配置テーブルについて図１２を用いて説明する。図１２は、第２の実施形態の再配置テーブルの一例を示す図である。
再配置テーブル５３は、ＲＡＩＤグループを構成するＳＳＤ２１２毎の再配置数を記録する。再配置数は、再配置をおこなうデータの数である。なお、再配置数は、再配置をおこなうデータを記録するスプライトの数として捉えることもできる。具体的には、再配置テーブル５３は、構築されているＲＡＩＤグループを特定可能な識別情報（たとえば、ＲＡＩＤ（１））と、ＲＡＩＤグループ毎にＲＡＩＤグループを構成するＳＳＤ２１２を特定可能な識別情報（たとえば、ＳＳＤ（１））を記録する。さらに、再配置テーブル５３は、ＳＳＤ２１２毎の再配置数（たとえば、ＲＰ（１））を記録する。ＲＡＩＤグループ、書込回数、およびストライプは、ＲＡＩＤ構築時に対応する識別情報が記録され、再配置数は「０」が初期値として記録される。再配置数は、ＲＡＩＤグループを構成するＳＳＤ２１２の書込数に偏りを与えるとした場合に、所定値が設定され、以降、適宜更新される。
【００５７】
次に、ＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、およびＳＳＤ（４）を有するＲＡＩＤグループの再配置数について図１３を用いて説明する。図１３は、第２の実施形態のＳＳＤ毎の再配置数の一例を示す図である。図１３に示す再配置数によれば、ＳＳＤ（１）が２０個のデータの再配置先ＳＳＤであり、ＳＳＤ（２）が１０個のデータの再配置先ＳＳＤである。また、ＳＳＤ（３）が１０個のデータの再配置元ＳＳＤであり、ＳＳＤ（４）が２０個のデータの再配置元ＳＳＤである。なお、ＲＡＩＤグループを構成するＳＳＤ２１２の再配置数の合計は、「０」である。
【００５８】
再び、書込処理の説明に戻る。プロセッサ２２は、このような再配置テーブルを参照することで、書込先のＳＳＤ２１２が再配置元ＳＳＤであるか否かを判定できる。プロセッサ２２は、書込先のＳＳＤ２１２が再配置元ＳＳＤである場合にステップＳ２２にすすみ、再配置元ＳＳＤでない場合にステップＳ２４にすすむ。
【００５９】
［ステップＳ２２］プロセッサ２２は、書込先データのアクセス頻度が高頻度であるか否かを判定する。書込先データのアクセス頻度は、書込回数管理テーブル５２を参照して書込先データの書込回数と、全体の書込回数とを比較により算出できる。プロセッサ２２は、算出したアクセス頻度をあらかじめ設定してある閾値と比較することにより、アクセス頻度が高頻度であるか、低頻度であるかを判別することができる。プロセッサ２２は、書込先データのアクセス頻度が高頻度である場合にステップＳ２３にすすみ、高頻度でない場合にステップＳ２４にすすむ。
【００６０】
［ステップＳ２３］プロセッサ２２は、データ再配置書込処理を実行する。データ再配置書込処理は、書込先データの再配置を伴う書込処理である。データ再配置書込処理については、図１４を用いて後で説明する。プロセッサ２２は、データ再配置書込処理を実行後に書込処理を終了する。
【００６１】
［ステップＳ２４］プロセッサ２２は、通常の書込処理を実行する。通常の書込処理は、書込先データの再配置を伴わない書込処理である。通常の書込処理は、多くの場合、リード・モディファイ・ライトをおこなう。さらに、書込対象のＳＳＤ２１２がＲＡＩＤを構成していることから、プロセッサ２２は、対応するＳＳＤ２１２についてパリティを更新することもおこなう。プロセッサ２２は、通常の書込処理を実行後に書込処理を終了する。
【００６２】
次に、第２の実施形態のデータ再配置書込処理について図１４を用いて説明する。図１４は、第２の実施形態のデータ再配置書込処理のフローチャートを示す図である。ＮＡＳ装置２０は、書込処理のステップＳ２３でデータ再配置書込処理を実行する。
【００６３】
［ステップＳ３１］プロセッサ２２は、再配置テーブル５３を参照して、書込対象のＲＡＩＤグループを構成するＳＳＤ２１２の再配置数のうちから最大値を選択する。
［ステップＳ３２］プロセッサ２２は、選択した再配置数が「０」より大きいか否かを判定する。プロセッサ２２は、選択した再配置数が「０」より大きい場合にステップＳ３４にすすみ、選択した再配置数が「０」より大きくない場合にステップＳ３３にすすむ。
【００６４】
［ステップＳ３３］プロセッサ２２は、書込処理のステップＳ２４と同様に、通常の書込処理を実行する。プロセッサ２２は、通常の書込処理を実行後にデータ再配置書込処理を終了する。
【００６５】
［ステップＳ３４］プロセッサ２２は、選択した再配置数に対応するＳＳＤ２１２を再配置先ＳＳＤに決定する。
［ステップＳ３５］プロセッサ２２は、書込回数管理テーブル５２を参照して、ステップＳ３４で選択したＳＳＤ２１２のデータ域（ストライプ）のうちから書込回数が最小のデータ域（最小書込回数データ域）を選択し、再配置先データ域として決定する。
【００６６】
［ステップＳ３６］プロセッサ２２は、再配置先のデータと、再配置先データ域に対応するパリティ（再配置先のパリティ）と、書込先（再配置元）のデータと、書込先（再配置元）データ域に対応するパリティ（書込先（再配置元）のパリティ）を読み出す。
【００６７】
［ステップＳ３７］プロセッサ２２は、再配置先のデータと書込先のデータを入れ替えて書き込む。すなわち、プロセッサ２２は、再配置先のデータを書込先データ域に書き込み、書込先のデータを再配置先データ域に書き込む。
【００６８】
［ステップＳ３８］プロセッサ２２は、パリティを再構築して、再配置先のパリティおよび書込先のパリティをそれぞれ対応するデータ域に書き込む。
［ステップＳ３９］プロセッサ２２は、再配置先のデータと書込先のデータの配置場所を更新する。再配置先のデータと書込先のデータは、ｉｎｏｄｅを更新することにより配置場所を更新できる。
【００６９】
［ステップＳ４０］プロセッサ２２は、書込先データ域の書込回数と再配置先データ域の書込回数を入れ替えて書込回数管理テーブル５２を更新する。
［ステップＳ４１］プロセッサ２２は、再配置元ＳＳＤの再配置数と再配置先ＳＳＤの再配置数を入れ替えて再配置テーブル５３を更新する。プロセッサ２２は、再配置テーブル５３を更新後にデータ再配置書込処理を終了する。
【００７０】
このようにしておこなうデータ再配置の一例を図１５、図１６を用いて説明する。図１５は、第２の実施形態の書込データの再配置前の各ＳＳＤが保持するデータ、書込可能回数、および再配置数の一例を示す図である。図１６は、第２の実施形態の書込データの再配置後の各ＳＳＤが保持するデータ、書込可能回数、および再配置数の一例を示す図である。
【００７１】
ＮＡＳ装置２０は、４つのＳＳＤ２１２（ＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、およびＳＳＤ（４））が構成するＲＡＩＤグループのデータＡ３をデータＡ３（ＮＥＷ）に更新する書込指示を受け付けたとする（図１５）。データＡ３は、ＳＳＤ（４）のストライプ０に記録されている。ＳＳＤ（４）は、再配置数が負数である「−５」であることから、再配置元ＳＳＤである。また、ＳＳＤ（４）のストライプ０は、書込数が高頻度であるとした場合、データＡ３をデータＡ３（ＮＥＷ）に更新する書込指示は、データ再配置書込処理により実行される。なお、ＳＳＤ（４）のストライプ０の書込数が高頻度であるか否かの判定は、書込回数管理テーブル５２を参照して判定できる。
【００７２】
再配置先ＳＳＤは、再配置数が最大値「１０」であるＳＳＤ（１）が選択される。再配置先データ域は、書込回数管理テーブル５２を参照して再配置先ＳＳＤのデータ域のうちから最小の書込回数のデータ域が選択される。たとえば、再配置先データ域は、ＳＳＤ（１）のストライプ２が選択される。ＳＳＤ（１）のストライプ２は、データＢ１が記録されている。
【００７３】
ここで、ＮＡＳ装置２０は、再配置先のデータ（データＢ１）と、再配置先データ域に対応するパリティ（パリティＰ２）と、再配置元のデータ（データＡ３）と、再配置元データ域に対応するパリティ（パリティＰ０）を一時記憶に読み出す。
【００７４】
ＮＡＳ装置２０は、再配置元のデータ（データＡ３）を再配置先データ域（ＳＳＤ（１）のストライプ２）に書き込み、再配置先のデータ（データＢ１）を再配置元データ域（ＳＳＤ（４）のストライプ０）に書き込む。
【００７５】
ＮＡＳ装置２０は、再配置元データ域に対応するパリティ（パリティＰ０）と再配置先のデータ（データＢ１）とから新たなパリティ（パリティＰ０（ＮＥＷ））を再構築して再配置元データ域に対応するパリティを更新する。ＮＡＳ装置２０は、再配置先データ域に対応するパリティ（パリティＰ２）と再配置先のデータ（データＡ３）とから新たなパリティ（パリティＰ２（ＮＥＷ））を再構築して再配置先データ域に対応するパリティを更新する。
【００７６】
ＮＡＳ装置２０は、ｉｎｏｄｅにおけるデータブロックの制御情報を更新してデータＡ３の書込位置をＳＳＤ（１）のストライプ２に、データＢ１の書込位置をＳＳＤ（４）のストライプ０に付け替える。
【００７７】
これにより、ＮＡＳ装置２０は、ＳＳＤ（１）の再配置数の１デクリメントと、ＳＳＤ（４）の再配置数の１インクリメントとをおこない、ＳＳＤ（１）の再配置数とＳＳＤ（４）の再配置数とを更新する。また、ＮＡＳ装置２０は、データを更新したＳＳＤ（１）およびＳＳＤ（４）の書込可能回数の１デクリメントをおこない、ＳＳＤ（１）の書込可能回数とＳＳＤ（４）の書込可能回数とを更新する。さらに、ＮＡＳ装置２０は、パリティを更新したＳＳＤ（３）の書込可能回数の１デクリメントをおこない、ＳＳＤ（３）の書込可能回数を更新する（図１６）。
【００７８】
このように、ＮＡＳ装置２０は、書込回数管理テーブルと、再配置テーブルとを更新した後、データ再配置書込処理を終了する。
このようにして、ＮＡＳ装置２０は、書込回数を増やしたいＳＳＤ２１２（ＳＳＤ（１））に高頻度に更新されるデータ（データＡ３）を再配置することができる。これにより、ＮＡＳ装置２０は、データの書き込みに伴い減少する書込可能回数を制御することができ、２以上のＳＳＤ２１２が同時故障する可能性を低減する。
【００７９】
なお、ＮＡＳ装置２０は、パリティを再構築可能にすることで、ＲＡＩＤ５を拡張したＲＡＩＤ６にも対応することができる。
次に、再配置元ＳＳＤと再配置先ＳＳＤの決定に用いる再配置テーブル５３の更新について図１７から図２５を用いて説明する。ＮＡＳ装置２０は、再配置テーブル５３が記録する再配置数を加減することで、各ＳＳＤ２１２に対して書込頻度の変更の是非を制御できる。図１７は、第２の実施形態の書込可能回数差分制御処理のフローチャートを示す図である。ＮＡＳ装置２０は、初期化処理の実行後に書込可能回数差分制御処理を実行する。
【００８０】
［ステップＳ５１］プロセッサ２２は、各ＳＳＤの書込可能回数が所定量減少しているか否かを判定する。プロセッサ２２は、各ＳＳＤの書込可能回数が所定量減少している場合にステップＳ５２にすすみ、所定量減少していない場合には所定量の減少を待つ。ここで所定量とは、初期化処理のステップＳ１５で初期化した差分制御閾値である。なお、プロセッサ２２は、ここで取得した各ＳＳＤの書込可能回数により現書込可能回数管理テーブル５０を更新する。
【００８１】
［ステップＳ５２］プロセッサ２２は、現書込可能回数管理テーブル５０の書込可能回数（現値）と前書込可能回数管理テーブル５１の書込可能回数（前値）とを比較する。プロセッサ２２は、現値が前値と比較して所定量減少している場合にステップＳ５３にすすみ、所定量減少していない場合にステップＳ５１にすすむ。ここで所定量とは、たとえば、２％の減少幅などの固定値であるが、差分制御閾値と同様に設定変更可能な値としてもよい。
【００８２】
［ステップＳ５３］プロセッサ２２は、各ＳＳＤ２１２の書込可能回数に所定量の差分があるか否かを判定する。プロセッサ２２は、各ＳＳＤ２１２の書込可能回数に所定量の差分がある場合にステップＳ５６にすすみ、所定量の差分がない場合にステップＳ５４にすすむ。ここで所定量の差分とは、初期化処理のステップＳ１４で初期化した書込可能回数差分値である。各ＳＳＤ２１２の書込可能回数に所定量の差分があるとは、ＲＡＩＤグループ構成しているＳＳＤ２１２の書込可能回数いずれもが他のＳＳＤ２１２の書込可能回数との間に書込可能回数差分値以上の差がある状態である。
【００８３】
［ステップＳ５４］プロセッサ２２は、各ＳＳＤ２１２の書込可能回数の差分を拡大する必要性の有無を判定する。プロセッサ２２は、各ＳＳＤ２１２の書込可能回数の差分を拡大する必要性がある場合にステップＳ５５にすすみ、必要性がない場合にステップＳ６０にすすむ。各ＳＳＤ２１２の書込可能回数の差分を拡大する必要性は、現書込可能回数管理テーブル５０の書込可能回数（現値）と前書込可能回数管理テーブル５１の書込可能回数（前値）とを比較して所定の変化量がある場合に必要性がないと判定する。所定の変化量は、判定基準の閾値としてあらかじめ設定される。
【００８４】
［ステップＳ５５］プロセッサ２２は、差分拡大処理を実行する。差分拡大処理は、各ＳＳＤ２１２の書込可能回数の差分が拡大するように再配置テーブル５３を更新する処理である。差分拡大処理については、図１８から図２１を用いて後で説明する。
【００８５】
［ステップＳ５６］プロセッサ２２は、各ＳＳＤ２１２の書込可能回数に十分な差分があるか否かを判定する。プロセッサ２２は、各ＳＳＤ２１２の書込可能回数に十分な差分がある場合にステップＳ５７にすすみ、十分な差分がない場合にステップＳ６０にすすむ。各ＳＳＤ２１２の書込可能回数に十分な差分は、許容する差分の上限値としてあらかじめ設定される。たとえば、ＳＳＤ２１２の出荷時書込可能回数が１００００回であるとき、５．５％（書込可能回数差分値に対して１０％増）の５５０回が上限値として設定される。
【００８６】
［ステップＳ５７］プロセッサ２２は、各ＳＳＤ２１２の書込可能回数の差分を縮小する必要性の有無を判定する。プロセッサ２２は、各ＳＳＤ２１２の書込可能回数の差分を縮小する必要性がある場合にステップＳ５８にすすみ、必要性がない場合にステップＳ６０にすすむ。各ＳＳＤ２１２の書込可能回数の差分を縮小する必要性は、現書込可能回数管理テーブル５０の書込可能回数（現値）と前書込可能回数管理テーブル５１の書込可能回数（前値）とを比較して所定の変化量がある場合に必要性がないと判定する。所定の変化量は、判定基準の閾値としてあらかじめ設定される。
【００８７】
［ステップＳ５８］プロセッサ２２は、差分縮小処理を実行する。差分縮小処理は、各ＳＳＤ２１２の書込可能回数の差分が縮小するように再配置テーブル５３を更新する処理である。差分縮小処理については、図２２から図２５を用いて後で説明する。
【００８８】
［ステップＳ５９］プロセッサ２２は、再配置テーブル５３を参照して各ＳＳＤ２１２の再配置数が「０」であるか否かを判定する。プロセッサ２２は、各ＳＳＤ２１２の再配置数が「０」である場合にステップＳ６０にすすみ、再配置数が「０」でない場合に各ＳＳＤ２１２の再配置数が「０」になるのを待つ。なお、再配置テーブル５３における再配置数は、データ再配置書込処理の実行により再配置数が「０」になる方向で更新される。
【００８９】
［ステップＳ６０］プロセッサ２２は、前書込可能回数管理テーブル５１を現書込可能回数管理テーブル５０によって更新する。すなわち、前書込可能回数管理テーブル５１は、現書込可能回数管理テーブル５０に置換される。プロセッサ２２は、前書込可能回数管理テーブル５１を更新した後、ステップＳ５１にすすむ。
【００９０】
次に、差分拡大処理について図１８から図２１を用いて説明する。図１８は、第２の実施形態の差分拡大処理のフローチャートを示す図である。ＮＡＳ装置２０は、書込可能回数差分制御処理のステップＳ５５で差分拡大処理を実行する。
【００９１】
［ステップＳ７１］プロセッサ２２は、現書込可能回数管理テーブル５０を参照して書込可能回数の多い順に各ＳＳＤ２１２を並べる。ここで、現書込可能回数管理テーブル５０の書込可能回数の参照値について図１９に示す。図１９は、複数のＳＳＤの書込可能回数の制御前の状態の一例を示す図である。図１９によれば、ＲＡＩＤグループを構成するＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、およびＳＳＤ（４）は、それぞれ書込可能回数が「６０５０」、「６０３０」、「６０１０」、「６０００」である。したがって、ＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、ＳＳＤ（４）は、ＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、ＳＳＤ（４）の順に並ぶ。
【００９２】
［ステップＳ７２］プロセッサ２２は、各ＳＳＤ２１２の書込可能回数から目標値を決定する。目標値は、書込可能回数を増やすことができないため、最大の書込可能回数を基準にして決定される。たとえば、ＳＳＤ（１）は書込可能回数に等しい「６０５０」が目標値であり、ＳＳＤ（２）はＳＳＤ（１）の書込可能回数「６０５０」から書込可能回数差分値「５００」を減算した「５５５０」が目標値となる。ＳＳＤ（３）はＳＳＤ（２）の書込可能回数「５５５０」から書込可能回数差分値「５００」を減算した「５０５０」が目標値となり、ＳＳＤ（４）はＳＳＤ（３）の書込可能回数「５０５０」から書込可能回数差分値「５００」を減算した「４５５０」が目標値となる。このようにして算出した目標値について図２０に示す。図２０は、複数のＳＳＤの書込可能回数の制御目標の状態の一例を示す図である。図２０によれば、各ＳＳＤ２１２の書込可能回数が書込可能回数差分値「５００」だけ異なって並び、ＲＡＩＤグループを構成する複数のＳＳＤ２１２が同時に故障する危険が低減する状態である。
【００９３】
［ステップＳ７３］プロセッサ２２は、各ＳＳＤ２１２の書込可能回数と目標値との乖離値を算出する。たとえば、図１９に示した書込可能回数と図２０に示した目標値とによれば、ＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、およびＳＳＤ（４）は、それぞれ乖離値が「０」、「４８０」、「９６０」、「１４５０」である。
【００９４】
［ステップＳ７４］プロセッサ２２は、算出した乖離値から各ＳＳＤ２１２を乖離値の大きいグループ、乖離値の小さいグループ、乖離値の大きいグループと乖離値の小さいグループのいずれにも属さないグループの３つにグループ分けする。なお、グループ分けは、乖離値の大きいグループ、乖離値の小さいグループの２つであってもよい。たとえば、ＳＳＤ（３）とＳＳＤ（４）は乖離値の大きいグループであり、ＳＳＤ（１）とＳＳＤ（２）は乖離値の小さいグループである。ＲＡＩＤグループを構成するＳＳＤ２１２が奇数の場合に、乖離値の大きいグループと乖離値の小さいグループのいずれにも属さないＳＳＤ２１２がいずれにも属さないグループに振り分けられる。
【００９５】
［ステップＳ７５］プロセッサ２２は、乖離値の大きいグループの再配置数を決定する。乖離値の大きいグループの再配置数は、乖離値の大きいグループに属するＳＳＤ２１２の数と乖離値の大きさ順に応じた重みを付けて決定される。再配置数の決定は、あらかじめ設定した算出式にもとづいて算出してもよいし、乖離値や書込可能回数、あるいは書込可能回数の順位に応じた固定値であってもよい。たとえば、再配置数は、（１）式のように決定することができる。
【００９６】
再配置数＝（１００／乖離値の大きいグループのＳＳＤ数）×（乖離値の大きいグループ内の乖離値の小さい順の順序数）  …  （１）
これによれば、ＳＳＤ（４）の再配置数は「１００（＝（１００／２）×２）」であり、ＳＳＤ（３）の再配置数は「５０（＝（１００／２）×１）」である。
【００９７】
［ステップＳ７６］プロセッサ２２は、乖離値の小さいグループの再配置数を決定する。乖離値の小さいグループの再配置数は、乖離値の小さいグループに属するＳＳＤ２１２の数と乖離値の小ささ順に応じた重みを付けて決定される。再配置数の決定は、あらかじめ設定した算出式にもとづいて算出してもよいし、乖離値や書込可能回数、あるいは書込可能回数の順位に応じた固定値であってもよい。たとえば、再配置数は、（２）式のように決定することができる。
【００９８】
再配置数＝（−１００／乖離値の小さいグループのＳＳＤ数）×（乖離値の小さいグループ内の乖離値の大きい順の順序数）  …  （２）
これによれば、ＳＳＤ（２）の再配置数は「−５０（＝（−１００／２）×１）」であり、ＳＳＤ（１）の再配置数は「−１００（＝（−１００／２）×２）」である。
【００９９】
［ステップＳ７７］プロセッサ２２は、いずれにも属さないグループの再配置数を決定する。いずれにも属さないグループの再配置数は、「０」に決定される。
［ステップＳ７８］プロセッサ２２は、決定した再配置数で再配置テーブル５３を更新する。なお、再配置テーブル５３が記録する各ＳＳＤ２１２の再配置数の和は、「０」である。
【０１００】
これにより、ＮＡＳ装置２０は、ＳＳＤ２１２の書込可能回数の低減ペースの増大、または抑制を制御することができる。
このように決定した再配置テーブル５３は、データ再配置書込処理に用いられた後、たとえば、ＲＡＩＤグループを構成するＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、およびＳＳＤ（４）の書込可能回数は、図２１に示すようになる。図２１は、複数のＳＳＤの書込可能回数の制御後の状態の一例を示す図である。図２１によれば、ＲＡＩＤグループを構成するＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、およびＳＳＤ（４）は、それぞれ書込可能回数が「５０００」、「４４５０」、「３９００」、「３３８０」である。したがって、ＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、ＳＳＤ（４）は、それぞれ書込可能回数差分値「５００」以上を有して並ぶ。このようなＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、およびＳＳＤ（４）によって構成されたＲＡＩＤグループは、２以上のＳＳＤ２１２が同時故障する可能性が低減し、信頼性が一層向上する。
【０１０１】
次に、差分縮小処理について図２２から図２５を用いて説明する。図２２は、第２の実施形態の差分縮小処理のフローチャートを示す図である。ＮＡＳ装置２０は、書込可能回数差分制御処理のステップＳ５８で差分縮小処理を実行する。
【０１０２】
［ステップＳ８１］プロセッサ２２は、現書込可能回数管理テーブル５０を参照して書込可能回数の少ない順に各ＳＳＤ２１２を並べる。ここで、現書込可能回数管理テーブル５０の書込可能回数の参照値について図２３に示す。図２３は、複数のＳＳＤの書込可能回数の制御前の状態の一例を示す図である。図２３によれば、ＲＡＩＤグループを構成するＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、およびＳＳＤ（４）は、それぞれ書込可能回数が「６５００」、「５０００」、「４０００」、「２５００」である。したがって、ＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、ＳＳＤ（４）は、ＳＳＤ（４）、ＳＳＤ（３）、ＳＳＤ（２）、ＳＳＤ（１）の順に並ぶ。
【０１０３】
［ステップＳ８２］プロセッサ２２は、各ＳＳＤ２１２の書込可能回数から目標値を決定する。目標値は、最小の書込可能回数を基準にして決定される。たとえば、ＳＳＤ（４）は書込可能回数に等しい「２５００」が目標値であり、ＳＳＤ（３）はＳＳＤ（４）の書込可能回数「２５００」に書込可能回数差分値「５００」を加算した「３０００」が目標値となる。ＳＳＤ（２）はＳＳＤ（３）の書込可能回数「３０００」に書込可能回数差分値「５００」を加算した「３５００」が目標値となり、ＳＳＤ（１）はＳＳＤ（２）の書込可能回数「３５００」に書込可能回数差分値「５００」を加算した「４０００」が目標値となる。このようにして算出した目標値について図２４に示す。図２４は、複数のＳＳＤの書込可能回数の制御目標の状態の一例を示す図である。図２４によれば、各ＳＳＤ２１２の書込可能回数が書込可能回数差分値「５００」だけ異なって並び、ＲＡＩＤグループを構成する複数のＳＳＤ２１２が同時に故障する危険が低減する状態である。
【０１０４】
［ステップＳ８３］プロセッサ２２は、各ＳＳＤ２１２の書込可能回数と目標値との乖離値を算出する。たとえば、図２３に示した書込可能回数と図２４に示した目標値とによれば、ＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、およびＳＳＤ（４）は、それぞれ乖離値が「２５００」、「１５００」、「１０００」、「０」である。
【０１０５】
［ステップＳ８４］プロセッサ２２は、算出した乖離値から各ＳＳＤ２１２を乖離値の大きいグループ、乖離値の小さいグループ、乖離値の大きいグループと乖離値の小さいグループのいずれにも属さないグループの３つにグループ分けする。なお、グループ分けは、乖離値の大きいグループ、乖離値の小さいグループの２つであってもよい。たとえば、ＳＳＤ（１）とＳＳＤ（２）は乖離値の大きいグループであり、ＳＳＤ（３）とＳＳＤ（４）は乖離値の小さいグループである。ＲＡＩＤグループを構成するＳＳＤ２１２が奇数の場合に、乖離値の大きいグループと乖離値の小さいグループのいずれにも属さないＳＳＤ２１２がいずれにも属さないグループに振り分けられる。
【０１０６】
［ステップＳ８５］プロセッサ２２は、乖離値の大きいグループの再配置数を決定する。乖離値の大きいグループの再配置数は、乖離値の大きいグループに属するＳＳＤ２１２の数と乖離値の大きさ順に応じた重みを付けて決定される。再配置数の決定は、あらかじめ設定した算出式にもとづいて算出してもよいし、乖離値や書込可能回数、あるいは書込可能回数の順位に応じた固定値であってもよい。たとえば、再配置数は、（１）式のように決定することができる。
【０１０７】
これによれば、ＳＳＤ（１）の再配置数は「１００（＝（１００／２）×２）」であり、ＳＳＤ（２）の再配置数は「５０（＝（１００／２）×１）」である。
［ステップＳ８６］プロセッサ２２は、乖離値の小さいグループの再配置数を決定する。乖離値の小さいグループの再配置数は、乖離値の小さいグループに属するＳＳＤ２１２の数と乖離値の小ささ順に応じた重みを付けて決定される。再配置数の決定は、あらかじめ設定した算出式にもとづいて算出してもよいし、乖離値や書込可能回数、あるいは書込可能回数の順位に応じた固定値であってもよい。たとえば、再配置数は、（２）式のように決定することができる。
【０１０８】
これによれば、ＳＳＤ（３）の再配置数は「−５０（＝（−１００／２）×１）」であり、ＳＳＤ（４）の再配置数は「−１００（＝（−１００／２）×２）」である。
［ステップＳ８７］プロセッサ２２は、いずれにも属さないグループの再配置数を決定する。いずれにも属さないグループの再配置数は、「０」に決定される。
【０１０９】
［ステップＳ８８］プロセッサ２２は、決定した再配置数で再配置テーブル５３を更新する。なお、再配置テーブル５３が記録する各ＳＳＤ２１２の再配置数の和は、「０」である。
【０１１０】
これにより、ＮＡＳ装置２０は、ＳＳＤ２１２の書込可能回数の低減ペースの増大、または抑制を制御することができる。
このように決定した再配置テーブル５３は、データ再配置書込処理に用いられた後、たとえば、ＲＡＩＤグループを構成するＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、およびＳＳＤ（４）の書込可能回数は、図２５に示すようになる。図２５は、複数のＳＳＤの書込可能回数の制御後の状態の一例を示す図である。図２５によれば、ＲＡＩＤグループを構成するＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、およびＳＳＤ（４）は、それぞれ書込可能回数が「３５８０」、「３０５０」、「２５５０」、「２０００」である。したがって、ＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、ＳＳＤ（４）は、それぞれ書込可能回数差分値「５００」以上を有して並ぶ。このようなＳＳＤ（１）、ＳＳＤ（２）、ＳＳＤ（３）、およびＳＳＤ（４）によって構成されたＲＡＩＤグループは、２以上のＳＳＤ２１２が同時故障する可能性が低減し、信頼性が一層向上する。
【０１１１】
次に、ＳＳＤ故障状態判定処理について図２６を用いて説明する。図２６は、第２の実施形態のＳＳＤ故障状態判定処理のフローチャートを示す図である。ＮＡＳ装置２０は、所要のタイミング（たとえば、書込処理の実行後）でＳＳＤ故障状態判定処理を実行する。
【０１１２】
［ステップＳ９１］プロセッサ２２は、現書込可能回数管理テーブル５０の書込可能回数を取得する。
［ステップＳ９２］プロセッサ２２は、取得した書込可能回数と、故障判定閾値を比較する。
【０１１３】
［ステップＳ９３］プロセッサ２２は、取得した書込可能回数が故障判定閾より小さい場合（故障判定した場合）にステップＳ９４にすすみ、取得した書込可能回数が故障判定閾より小さくない場合にＳＳＤ故障状態判定処理を終了する。
【０１１４】
［ステップＳ９４］プロセッサ２２は、故障判定したＳＳＤ（故障判定ＳＳＤ）２１２を、スペアディスクとして用意されているＳＳＤ（スペアＳＳＤ）２１２と交換する。プロセッサ２２は、故障判定ＳＳＤをスペアＳＳＤに交換した後、ＳＳＤ故障状態判定処理を終了する。
【０１１５】
これにより、ＮＡＳ装置２０は、ＳＳＤ２１２を故障前に切り離して交換することができるので、信頼性の高いＲＡＩＤを構築できる。また、ＮＡＳ装置２０は、ＳＳＤ２１２の故障前にスペアＳＳＤに交換するため、故障後のデータの再構築と比較して、データの再構築に係る処理コストを低減できる。
【０１１６】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ＮＡＳ装置２０、第１の実施形態に示したストレージ制御装置１が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１１７】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１１８】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１１９】
また、上記の処理機能の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤなどの電子回路で実現することもできる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
【０１２０】
（付記１）  グループを構成する記憶媒体毎の書込可能回数を管理する書込可能回数管理部と、
前記記憶媒体へのデータの書込先を管理する書込先管理部と、
前記データの書込先毎の書込回数を管理する書込回数管理部と、
前記グループを構成する記憶媒体のうち第１の記憶媒体を書込先とする書込対象データを更新する場合、前記記憶媒体毎の書込可能回数および前記データの書込先毎の書込回数にもとづいて、前記第１の記憶媒体と異なる第２の記憶媒体を書込先にして前記書込対象データを再配置する再配置部と、
前記再配置にしたがい前記書込先管理部が管理する前記記憶媒体へのデータの書込先を更新する書込先更新部と、
を備えることを特徴とするストレージ制御装置。
【０１２１】
（付記２）  前記再配置部は、前記第２の記憶媒体の書込先にあるデータを、前記書込対象データの再配置元に再配置することを特徴とする付記１記載のストレージ制御装置。
（付記３）  前記再配置部は、前記第１の記憶媒体における前記書込回数が所定の基準と比較して大きいと評価されたデータを、前記第１の記憶媒体を書込先とする書込対象データとすることを特徴とする付記１または付記２記載のストレージ制御装置。
【０１２２】
（付記４）  前記再配置部は、前記記憶媒体毎の書込可能回数と、前記記憶媒体毎の書込可能回数の目標値との差分にもとづいて、前記書込可能回数の低減ペースを抑制する記憶媒体を、前記第１の記憶媒体とすることを特徴とする付記３記載のストレージ制御装置。
【０１２３】
（付記５）  前記再配置部は、前記記憶媒体毎の書込可能回数と、前記記憶媒体毎の書込可能回数の目標値との差分にもとづいて、前記書込可能回数の低減ペースを増大する記憶媒体を、前記第２の記憶媒体とすることを特徴とする付記４記載のストレージ制御装置。
【０１２４】
（付記６）  前記再配置部は、前記第２の記憶媒体における前記書込回数が所定の基準と比較して小さいと評価されたデータの書込先を、前記書込対象データの再配置先とすることを特徴とする付記５記載のストレージ制御装置。
【０１２５】
（付記７）  前記再配置部は、前記グループを構成する記憶媒体毎の書込可能回数があらかじめ設定した差分を有するように前記目標値を決定することを特徴とする付記４乃至付記６のいずれか１つに記載のストレージ制御装置。
【０１２６】
（付記８）  あらかじめ交換用記憶媒体を備え、
前記記憶媒体の前記書込回数が所定の閾値を超えた場合に故障状態であると判定して、前記記憶媒体を前記交換用記憶媒体と交換する記憶媒体交換制御部を備えることを特徴とする付記１記載のストレージ制御装置。
【０１２７】
（付記９）  前記記憶媒体は、前記書込可能回数に制限のあるソリッドステートドライブであることを特徴とする付記１記載のストレージ制御装置。
（付記１０）  コンピュータに、
グループを構成する記憶媒体毎の書込可能回数を管理し、
前記記憶媒体へのデータの書込先を管理し、
前記データの書込先毎の書込回数を管理し、
前記グループを構成する記憶媒体のうち第１の記憶媒体を書込先とする書込対象データを更新する場合、前記記憶媒体毎の書込可能回数および前記データの書込先毎の書込回数にもとづいて、前記第１の記憶媒体と異なる第２の記憶媒体を書込先にして前記書込対象データを再配置し、
前記再配置にしたがい前記記憶媒体へのデータの書込先を更新する、
処理を実行させることを特徴とするストレージ装置の制御プログラム。
【符号の説明】
【０１２８】
１  ストレージ制御装置
１ａ  書込可能回数管理部
１ｂ  書込先管理部
１ｃ  書込回数管理部
１ｄ  再配置部
１ｅ  書込先更新部
２  ストレージユニット
１０  ストレージシステム
１１，１２  サーバ
１３  制御端末装置
１４  ＬＡＮ
２０  ＮＡＳ装置
２１，２１ａ，２１ｂ，２１ｃ，２１ｎ  記憶媒体部
２２  プロセッサ
２３  ＲＡＭ
２４  バッテリ
２５  ＲＯＭ
２６  ディスク制御部
２７  ネットワーク制御部
２８，２８ａ，２８ｂ  外部インタフェース部
２９  シリアルインタフェース部
３０  バス
４１  ＲＡＩＤ制御部
４２  ファイルシステム制御部
４３  書込先ＳＳＤ決定制御部
４４  データ再配置制御部
４５  ＳＳＤ故障状態判定制御部
４６  記憶部
５０  現書込可能回数管理テーブル
５１  前書込可能回数管理テーブル
５２  書込回数管理テーブル
５３  再配置テーブル
２１１，２１１ａ，２１１ｎ  ＨＤＤ
２１２，２１２ａ，２１２ｎ  ＳＳＤ
【図１】
2015075940.tif 000003
【図２】
2015075940.tif 000004
【図３】
2015075940.tif 000005
【図４】
2015075940.tif 000006
【図５】
2015075940.tif 000007
【図６】
2015075940.tif 000008
【図７】
2015075940.tif 000009
【図８】
2015075940.tif 000010
【図９】
2015075940.tif 000011
【図１０】
2015075940.tif 000012
【図１１】
2015075940.tif 000013
【図１２】
2015075940.tif 000014
【図１３】
2015075940.tif 000015
【図１４】
2015075940.tif 000016
【図１５】
2015075940.tif 000017
【図１６】
2015075940.tif 000018
【図１７】
2015075940.tif 000019
【図１８】
2015075940.tif 000020
【図１９】
2015075940.tif 000021
【図２０】
2015075940.tif 000022
【図２１】
2015075940.tif 000023
【図２２】
2015075940.tif 000024
【図２３】
2015075940.tif 000025
【図２４】
2015075940.tif 000026
【図２５】
2015075940.tif 000027
【図２６】
2015075940.tif 000028