(57)【特許請求の範囲】
【請求項１】
記憶装置に対するアクセスを制御するストレージ制御装置であって、
前記記憶装置の余裕容量およびユーザに割り当てるユーザ容量に対する前記記憶装置の保証期間内の総書き込み可能データ量の関係を示す管理情報を記憶する記憶部と、
現状の前記ユーザ容量と前記余裕容量とを前記記憶装置から取得し、所定のタイミングで、前記記憶装置のデータの累積書き込み量と稼働時間とから前記保証期間内の最大書き込み量を予測し、前記余裕容量を用いて前記ユーザ容量を拡張する際に、前記管理情報に基づいて、拡張後の前記総書き込み可能データ量が前記最大書き込み量を下回らないよう拡張量を制限し、制限した拡張量に基づいて前記ユーザ容量を拡張する制御部と、
を有するストレージ制御装置。
【請求項２】
前記制御部は、前記管理情報に基づいて、拡張後の前記総書き込み可能データ量が、前記保証期間内に予測される前記最大書き込み量以上となる拡張量の上限値を求め、前記上限値以下での拡張の場合、前記ユーザ容量の拡張を実行する、請求項１記載のストレージ制御装置。
【請求項３】
前記制御部は、複数の記憶装置それぞれのユーザ容量を用いて作成された論理記憶領域を、前記複数の記憶装置それぞれの前記余裕容量を用いて拡張する際に、前記複数の記憶装置それぞれに対して予測される前記最大書き込み量のうちの最大値に基づいて、前記複数の記憶装置それぞれの前記ユーザ容量の拡張量を制限する、請求項１または２記載のストレージ制御装置。
【請求項４】
前記所定のタイミングは、前記ユーザ容量の使用率が閾値以上になったタイミングである、請求項１乃至３の何れか１つに記載のストレージ制御装置。
【請求項５】
前記余裕容量は、ウェアレベリングに用いられる記憶容量である、請求項１乃至４の何れか１つに記載のストレージ制御装置。
【請求項６】
記憶装置に対するアクセスを制御するコンピュータに、
前記記憶装置における現状の余裕容量およびユーザに割り当てられているユーザ容量を前記記憶装置から取得し、所定のタイミングで、前記記憶装置のデータの累積書き込み量と稼働時間とから前記記憶装置の保証期間内の最大書き込み量を予測し、
前記余裕容量を用いて前記ユーザ容量を拡張する際に、前記余裕容量および前記ユーザ容量に対する前記保証期間内の総書き込み可能データ量の関係を示す管理情報に基づいて、拡張後の前記総書き込み可能データ量が前記最大書き込み量を下回らないよう拡張量を制限し、制限した拡張量に基づいて前記ユーザ容量を拡張する、
処理を実行させるストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージ制御装置およびストレージ制御プログラムに関する。
【背景技術】
【０００２】
現在、データの保存にストレージ装置が利用されている。ストレージ装置は、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などの記憶装置を複数搭載して大容量の記憶領域を利用可能とする。ストレージ装置は、記憶装置に対するデータの書き込みや読み出しのアクセス制御を行うストレージ制御装置に接続される。ストレージ装置は、ストレージ制御装置を内蔵することもある。
【０００３】
ここで、例えばＳＳＤのように内蔵の記憶素子への書き込み回数に制限がある記憶装置が存在する。このような記憶装置では、ウェアレベリング（wear leveling）と呼ばれる製品寿命を延ばす制御が行われることがある。ウェアレベリングでは、記憶装置の物理的な記憶領域の一部をウェアレベリング用の余裕容量として確保する。そして、記憶装置は、ユーザに割り当てられた特定の記憶領域に対して書き込みが集中しないよう、余裕容量を用いて書き込みを分散させる。これにより、記憶素子毎の被書き込み回数の平準化を図れ、記憶装置の製品寿命を延ばせる。なお、余裕容量として確保された記憶領域は、例えば記憶装置のファームウェアによりユーザからは隠蔽される。
【０００４】
例えば、フラッシュメモリを搭載したストレージ装置において、フラッシュメモリの消去回数の制約を考慮した代替領域容量の設定を設け、フラッシュメモリから構成される記憶領域の耐用年数を向上させる提案がある。また、論理ボリュームデータの完全消去時、フラッシュメモリのチップ消去機能を用いて完全消去することで、データ上書きを複数回行う消去方法を実施するよりもデータの書き換え回数増加を抑制し、フラッシュメモリドライブの耐久寿命を延ばす提案もある。更に、フラッシュメモリについて、予備領域の有効セクタ数と使用済および使用中のセクタ数の比率を基に、寿命までの書換可能回数を算出する方法が考えられている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−３０１５２５号公報
【特許文献２】特開２００８−７０９３５号公報
【特許文献３】特開平１１−７３３７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のように、記憶装置（例えばＳＳＤ）には、ウェアレベリング用の余裕容量を備えるものがある。そこで、余裕容量からユーザ容量を拡張することが考えられる。ところが、余裕容量のサイズは、記憶装置の保証期間内における総書き込み可能データ量（ＴＢＷ：Total Bytes Witten）に影響する。具体的には、ユーザ容量に対し、余裕容量が大きいほどＴＢＷも増加し、余裕容量が小さいほどＴＢＷも低下する。このため、記憶装置に対して実際に発生する書き込み量によっては、記憶装置に対する累積の書き込み量がＴＢＷを上回る可能性がある。累積の書き込み量がＴＢＷを上回ると、記憶装置におけるデータ保存の信頼性が低下するおそれがあるという問題がある。
【０００７】
１つの側面では、本発明は、データ保存の信頼性を維持できるストレージ制御装置およびストレージ制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、記憶装置に対するアクセスを制御するストレージ制御装置が提供される。このストレージ制御装置は記憶部と制御部とを有する。記憶部は、記憶装置の余裕容量およびユーザに割り当てるユーザ容量に対する記憶装置の保証期間内の総書き込み可能データ量の関係を示す管理情報を記憶する。制御部は、現状のユーザ容量と余裕容量とを記憶装置から取得し、所定のタイミングで、記憶装置のデータの累積書き込み量と稼働時間とから保証期間内の最大書き込み量を予測し、余裕容量を用いてユーザ容量を拡張する際に、管理情報に基づいて、拡張後の総書き込み可能データ量が最大書き込み量を下回らないよう拡張量を制限し、制限した拡張量に基づいてユーザ容量を拡張する。
【０００９】
また、１つの態様では、記憶装置に対するアクセスを制御するコンピュータによって実行されるストレージ制御プログラムが提供される。このストレージ制御プログラムは、コンピュータに、記憶装置における現状の余裕容量およびユーザに割り当てられているユーザ容量を記憶装置から取得し、所定のタイミングで、記憶装置のデータの累積書き込み量と稼働時間とから記憶装置の保証期間内の最大書き込み量を予測し、余裕容量を用いてユーザ容量を拡張する際に、余裕容量およびユーザ容量に対する保証期間内の総書き込み可能データ量の関係を示す管理情報に基づいて、拡張後の総書き込み可能データ量が最大書き込み量を下回らないよう拡張量を制限し、制限した拡張量に基づいてユーザ容量を拡張する、処理を実行させる。
【発明の効果】
【００１０】
１つの側面では、データ保存の信頼性を維持できる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態のストレージ制御装置を示す図である。
【図２】第２の実施の形態の情報処理システムを示す図である。
【図３】ストレージ装置のハードウェア例を示す図である。
【図４】管理サーバのハードウェア例を示す図である。
【図５】ＣＭの機能例を示す図である。
【図６】ＲＡＩＤ管理テーブルの例を示す図である。
【図７】ＴＢＷ管理テーブルの例を示す図である。
【図８】ＳＳＤのユーザ容量とＴＢＷとの相関の例を示す図である。
【図９】拡張量上限管理テーブルの例を示す図である。
【図１０】テーブル作成処理の例を示すフローチャートである。
【図１１】拡張量上限の決定処理の例を示すフローチャートである。
【図１２】拡張処理の例を示すフローチャートである。
【図１３】ユーザ容量拡張の具体例を示す図である。
【図１４】論理容量の追加例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態のストレージ制御装置を示す図である。ストレージ制御装置１は、記憶装置２に対するデータアクセスを制御する。記憶装置２は、書き込み回数に上限がある記憶装置であり、例えばＳＳＤである。ストレージ制御装置１は、コントローラモジュールまたは単にコントローラと呼ばれることもある。
【００１３】
記憶装置２の記憶領域の全容量は、余裕容量およびユーザ容量（何れもバイトなどのデータ量の単位で表わされる量）を含む。余裕容量は、記憶装置２におけるウェアレベリング用の記憶容量である。余裕容量として、初期段階では、予め定められたサイズの記憶領域が確保されている。ユーザ容量は、ユーザによるデータ格納が可能な領域としてユーザに割り当て済の記憶容量である。
【００１４】
通常、余裕容量以外の空き容量が記憶装置２にあれば、当該空き容量の一部をユーザ容量として割り当て、ユーザ容量を拡張できる。しかし、空き容量が不足すると、当該空き容量のみからは十分な容量をユーザ容量に割けなくなる。そこで、ストレージ制御装置１では、余裕容量からもユーザ容量を割り当てる機能を提供する。
【００１５】
ストレージ制御装置１は、記憶部１ａおよび制御部１ｂを有する。記憶部１ａは、ＲＡＭ（Random Access Memory）などの揮発性記憶装置でもよいし、フラッシュメモリなどの不揮発性記憶装置でもよい。制御部１ｂは、例えばプロセッサである。プロセッサは、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などを含み得る。また、制御部１ｂは、マルチプロセッサであってもよい。
【００１６】
記憶部１ａは、記憶装置２のうちユーザに割り当てるユーザ容量および余裕容量に対する記憶装置２の保証期間内の総書き込み可能データ量（ＴＢＷ）の関係を示す管理情報Ｔ１を記憶する。管理情報Ｔ１は、余裕容量からユーザ容量を割り当てる場合における、ユーザ容量とＴＢＷとの相関関係を示す情報である。ＴＢＷは、記憶装置２の製品としての保証期間内において保証される書き込み可能な総データ量である。
【００１７】
図１では、管理情報Ｔ１の内容をグラフにより図示している。グラフの原点は、余裕容量からユーザ容量に割り当てられている記憶容量が“０”であることを示す。例えば、当該グラフの横軸には、ユーザ容量として、“Ａ０”、“Ａ１”、“Ａ２”、“Ａ３”（Ａ０＜Ａ１＜Ａ２＜Ａ３）が示されている。“Ａ０”は、余裕容量を用いた拡張を行う前のユーザ容量である（余裕容量が最大の状態）。“Ａ１”、“Ａ２”、“Ａ３”は、余裕容量の一部を割いて拡張した後のユーザ容量の値である。すなわち、ユーザ容量が“Ａ１”、“Ａ２”、“Ａ３”と大きくなるほど、余裕容量が小さくなる。
【００１８】
図１のグラフの縦軸には、ＴＢＷの値（例えば、バイトなどのデータ量の単位で表わされる量）として、“Ｂ０”、“Ｂ１”、“Ｂ２”、“Ｂ３”（Ｂ０＞Ｂ１＞Ｂ２＞Ｂ３）が示されている。“Ｂ０”は、ユーザ容量が“Ａ０”である場合のＴＢＷである。管理情報Ｔ１によれば、余裕容量を用いてユーザ容量を拡張する際の拡張量が大きいほど、ＴＢＷが低下することが分かる。
【００１９】
制御部１ｂは、現状のユーザ容量と余裕容量とを記憶装置２から取得する。これにより、制御部１ｂは、記憶装置２の容量構成が現在どのようになっているかを確認する。制御部１ｂは、所定のタイミングで、記憶装置２のデータの累積書き込み量と稼働時間とから記憶装置２に対する保証期間内の最大書き込み量を予測する。所定のタイミングは、例えば、１日１回などの周期的なタイミングでもよいし、ユーザ容量に格納済のデータ量の当該ユーザ容量に対する割合に応じたタイミング（例えば、８０％使用済となったタイミングなど）でもよい。制御部１ｂは、例えば累積書き込み量、稼働時間および保証期間（例えば、５年や１０年など）の情報を記憶装置２から取得することができる。そして、制御部１ｂは、次の式（１）により保証期間内の最大書き込み量を予測する。
【００２０】
最大書き込み量＝累積書き込み量×（保証期間／稼働時間）      ・・・（１）
制御部１ｂは、余裕容量を用いてユーザ容量を拡張する際に、記憶部１ａに記憶された管理情報Ｔ１に基づいて、拡張後の総書き込み可能データ量（ＴＢＷ）が最大書き込み量を下回らないように拡張量を制限する。
【００２１】
例えば、現状のユーザ容量が“Ａ０”であり、式（１）により予測される最大書き込み量が“Ｂ２”である場合を考える。この場合、ユーザ容量“Ａ１”でのＴＢＷは、“Ｂ１”である。Ｂ１＞Ｂ２である。すなわち、ＴＢＷが保証期間内に予測される最大書き込み量を上回っている。よって、ユーザ容量を“Ａ１”まで拡張することは許容される（この場合、拡張量は“Ａ１−Ａ０”（“Ａ１”と“Ａ０”との差分）である。
【００２２】
一方、ユーザ容量“Ａ３”でのＴＢＷは、“Ｂ３”である。Ｂ３＜Ｂ２である。すなわち、ＴＢＷが保証期間内に予測される最大書き込み量を下回っている。よって、ユーザ容量を“Ａ３”まで拡張することは許容されない。
【００２３】
この場合、余裕容量を用いた拡張が許容されるのは、ユーザ容量“Ａ２”までである。ユーザ容量が“Ａ２”であれば、上記の予測される最大書き込み量“Ｂ２”と、ＴＢＷ“Ｂ２”とが一致し、ＴＢＷが保証期間内に予測される最大書き込み量を下回らないからである。すなわち、余裕容量を用いてユーザ容量を拡張する際に許容される拡張量の上限を、“Ａ２−Ａ０”とすれば、ＴＢＷが保証期間内に予測される最大書き込み量を下回ることはない。このため、制御部１ｂは、余裕容量を用いてユーザ容量を拡張する場合の拡張量を“Ａ２−Ａ０”以下に制限する。
【００２４】
これにより、データ保存の信頼性を維持できる。具体的には、記憶装置２において、ウェアレベリング用の余裕容量によりユーザ容量を拡張する際、余裕容量減少に伴うＴＢＷ低下が問題となる。余裕容量を用いて際限なくユーザ容量を拡張すると、ＴＢＷが低下して、記憶装置２の記憶素子に対する書き込み回数が当該記憶素子の許容回数上限を超過するおそれがあるからである。許容回数上限を超えた書き込みが生じると、当該記憶素子を用いて記憶しているデータが消失したり、当該記憶素子に対して正常な書き込みを行えなかったりする可能性が増す。このため、記憶装置２に対するデータ保存の信頼性が低下する。
【００２５】
そこで、ストレージ制御装置１は、ウェアレベリング用の余裕容量によりユーザ容量を拡張する際、余裕容量減少に伴うＴＢＷ低下を考慮し、ＴＢＷが保証期間内の予測される最大書き込み量を下回らないよう拡張量を制限する。このようにすれば、ユーザ容量の拡張後の運用において、記憶装置２の記憶素子に対する書き込み回数が当該記憶素子の許容回数上限を超過する可能性を低減できる。このため、上記のようなデータの消失や、記憶素子に対する書き込みが行えなくなる可能性を低減でき、記憶装置２によるデータ保存の信頼性を保つことができる。
【００２６】
［第２の実施の形態］
図２は、第２の実施の形態の情報処理システムを示す図である。第２の実施の形態の情報処理システムは、ストレージ装置１０、管理サーバ２０および業務サーバ３０を含む。ストレージ装置１０および業務サーバ３０は、ＳＡＮ（Storage Area Network）５に接続されている。ＳＡＮ５は、ストレージ装置１０に対する高速アクセスに適したネットワークである。ストレージ装置１０、管理サーバ２０および業務サーバ３０は、ＬＡＮ（Local Area Network）６に接続されている。ＬＡＮ６は、管理サーバ２０により、ストレージ装置１０や業務サーバ３０の運用管理に用いられるネットワークである。
【００２７】
ストレージ装置１０は、複数のＳＳＤを内蔵し、業務サーバ３０の処理に用いられるデータを記憶する。ストレージ装置１０は、データの書き込みコマンドを業務サーバ３０から受信すると、内蔵のＳＳＤにデータを書き込む。ストレージ装置１０は、書き込み結果を業務サーバ３０に送信する。ストレージ装置１０は、データの読み出しコマンドを業務サーバ３０から受信すると、内蔵のＳＳＤからデータを読み出し、読み出したデータを業務サーバ３０に送信する。ストレージ装置１０は、ＳＳＤと併せてＨＤＤを内蔵してもよい。
【００２８】
管理サーバ２０は、ストレージ装置１０の運用管理を行うサーバコンピュータである。管理サーバ２０は、例えば、ＬＡＮ６を介してストレージ装置１０に対する動作制御の設定を行う。管理サーバ２０は、ストレージ装置１０により実行されるプログラム（例えば、ファームウェアのプログラム）を、ＬＡＮ６を介してストレージ装置１０に送信することもある。
【００２９】
業務サーバ３０は、ストレージ装置１０に格納されたデータにアクセスするサーバコンピュータである。業務サーバ３０は、業務用のアプリケーションのプログラムを実行し、業務処理サービスをユーザに提供する。
【００３０】
図３は、ストレージ装置のハードウェア例を示す図である。ストレージ装置１０は、ＣＭ（Controller Module）１００およびＤＥ（Drive Enclosure）２００を有する。ＣＭ１００は、業務サーバ３０からの要求に応じたＤＥ２００に対するデータアクセスを制御する。ＣＭ１００は、ＤＥ２００が内蔵する複数のＳＳＤ（またはＨＤＤ）を組み合わせて論理ボリュームを作成し、ユーザに割り当てる。また、ＣＭ１００は、管理サーバ２０のＷｅｂブラウザに運用管理用のＧＵＩ（Graphical User Interface）を提供する。例えば、システムの管理者は、管理サーバ２０のＷｅｂブラウザが表示するＧＵＩを操作して、ユーザに割り当てる論理ボリュームのサイズの拡張をＣＭ１００に指示できる。ＣＭ１００は、第１の実施の形態のストレージ制御装置１の一例である。
【００３１】
ＣＭ１００は、プロセッサ１０１、ＲＡＭ１０２、ＮＶＲＡＭ（Non-Volatile RAM）１０３、ＣＡ（Channel Adapter）１０４、ＮＡ（Network Adapter）１０５、ＤＩ（Drive Interface）１０６および読み取り装置１０７を有する。
【００３２】
プロセッサ１０１は、ＣＭ１００の情報処理を制御する。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣまたはＦＰＧＡなどである。プロセッサ１０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００３３】
ＲＡＭ１０２は、ＣＭ１００の主記憶装置である。ＲＡＭ１０２は、プロセッサ１０１に実行させるファームウェアのプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、プロセッサ１０１による処理に用いる各種データを記憶する。
【００３４】
ＮＶＲＡＭ１０３は、ＣＭ１００の補助記憶装置である。ＮＶＲＡＭ１０３は、例えば、不揮発性の半導体メモリである。ＮＶＲＡＭ１０３は、ファームウェアのプログラムや各種データなどを記憶する。
【００３５】
ＣＡ１０４は、ＳＡＮ５を介して業務サーバ３０と通信するためのインタフェースである。例えば、ＣＡ１０４として、ｉＳＣＳＩ（Internet Small Computer System Interface）や、ファイバチャネル（ＦＣ：Fibre Channel）などのインタフェースを用いることができる。
【００３６】
ＮＡ１０５は、ＬＡＮ６を介して管理サーバ２０と通信するためのインタフェースである。例えば、ＮＡ１０５として、イーサネット（登録商標）のインタフェースを用いることができる。
【００３７】
ＤＩ１０６は、ＤＥ２００と通信するためのインタフェースである。例えば、ＤＩ１０６として、ＳＡＳ（Serial Attached SCSI）などのインタフェースを用いることができる。
【００３８】
読み取り装置１０７は、可搬型の記録媒体１１に記録されたプログラムやデータを読み取る装置である。記録媒体１１として、例えば、フラッシュメモリなどの不揮発性の半導体メモリを使用することができる。読み取り装置１０７は、例えば、プロセッサ１０１からの命令に従って、記録媒体１１から読み取ったプログラムやデータを、ＲＡＭ１０２やＮＶＲＡＭ１０３に格納することもできる。
【００３９】
ＤＥ２００は、ＳＳＤ２１１，２１２，２１３，・・・およびＳＳＤ２２１，２２２，２２３，・・・を有する。ＳＳＤ２１１，２１２，２１３，・・・は、ユーザに対して割り当て済（既にユーザ容量として利用中）の記憶装置である。ＳＳＤ２２１，２２２，２２３，・・・は、ユーザに対して未割り当ての記憶装置である。ＳＳＤ２２１，２２２，２２３，・・・は、ＳＳＤ２１１，２１２，２１３，・・・に対して追加または代替して用いられるスペアの記憶装置である。
【００４０】
ここで、ＣＭ１００は、ＤＥが内蔵する複数のＳＳＤを組み合わせて、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）の技術により論理ボリュームを作成し、ユーザに提供する。ある論理ボリュームを形成するＳＳＤの集合をＲＡＩＤグループと称することがある。１つのＲＡＩＤグループには、業務サーバ３０からのアクセス対象となる１つ以上の論理ボリュームが含まれる。論理ボリュームには論理ボリュームを識別する論理ユニット番号（ＬＵＮ：Logical Unit Number）が割り当てられる。例えば、業務サーバ３０は、ＬＵＮおよび論理ボリュームのＬＢＡ（Logical Block Address）を指定して、ストレージ装置１０に対するデータアクセスを行える。この場合、ＲＡＩＤグループから割り当てられた論理ボリュームのサイズが、ユーザ容量ということになる。また、以下の説明では、各ＲＡＩＤグループには、余裕容量以外の空き容量（ユーザ容量として割り当てられていない記憶領域）が存在していないものとする。
【００４１】
図４は、管理サーバのハードウェア例を示す図である。管理サーバ２０は、プロセッサ２１、ＲＡＭ２２、ＨＤＤ２３、画像信号処理部２４、入力信号処理部２５、読み取り装置２６およびＮＡ２７を有する。各ユニットは管理サーバ２０のバスに接続されている。なお、業務サーバ３０も管理サーバ２０と同様のハードウェアにより実現できる。
【００４２】
プロセッサ２１は、管理サーバ２０の情報処理を制御する。プロセッサ２１は、マルチプロセッサであってもよい。プロセッサ２１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣまたはＦＰＧＡなどである。プロセッサ２１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００４３】
ＲＡＭ２２は、管理サーバ２０の主記憶装置である。ＲＡＭ２２は、プロセッサ２１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ２２は、プロセッサ２１による処理に用いる各種データを記憶する。
【００４４】
ＨＤＤ２３は、管理サーバ２０の補助記憶装置である。ＨＤＤ２３は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ２３は、ＯＳのプログラム、アプリケーションプログラム、および各種データを記憶する。管理サーバ２０は、フラッシュメモリやＳＳＤなどの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
【００４５】
画像信号処理部２４は、プロセッサ２１からの命令に従って、管理サーバ２０に接続されたディスプレイ７に画像を出力する。ディスプレイ７としては、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどを用いることができる。
【００４６】
入力信号処理部２５は、管理サーバ２０に接続された入力デバイス８から入力信号を取得し、プロセッサ２１に出力する。入力デバイス８としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
【００４７】
読み取り装置２６は、記録媒体９に記録されたプログラムやデータを読み取る装置である。記録媒体９として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）を使用できる。また、記録媒体９として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。読み取り装置２６は、例えば、プロセッサ２１からの命令に従って、記録媒体９から読み取ったプログラムやデータをＲＡＭ２２またはＨＤＤ２３に格納する。プロセッサ２１は、記録媒体９から読み取ったプログラムやデータ（例えば、ストレージ装置１０のファームウェアのプログラムやデータ）をストレージ装置１０に送信することもできる。
【００４８】
ＮＡ２７は、ＬＡＮ６を介して他の装置と通信を行う。ＮＡ２７は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
図５は、ＣＭの機能例を示す図である。ＣＭ１００は、記憶部１１０、収集部１２０、予測部１３０および拡張処理部１４０を有する。記憶部１１０は、例えば、ＲＡＭ１０２またはＮＶＲＡＭ１０３に確保された記憶領域として実現される。収集部１２０、予測部１３０および拡張処理部１４０は、例えば、ＲＡＭ１０２に記憶されたプログラムを、プロセッサ１０１が実行することで実現される。
【００４９】
記憶部１１０は、ＲＡＩＤ管理テーブル、ＴＢＷ管理テーブルおよび拡張量上限管理テーブルを記憶する。ＲＡＩＤ管理テーブルは、各ＲＡＩＤグループに属するＳＳＤのユーザ容量などを管理するための情報である。ＴＢＷ管理テーブルは、各ＳＳＤのユーザ容量とＴＢＷとの対応関係を管理するための情報である。拡張量上限管理テーブルは、ＳＳＤのウェアレベリング用の余裕容量から拡張できる論理ボリュームの拡張量の上限をＲＡＩＤグループ毎に管理するための情報である。記憶部１１０は、ＳＳＤ毎の保証期間の情報も記憶する。
【００５０】
収集部１２０は、ＳＳＤに関する各種のスペック情報を各ＳＳＤから収集し、記憶部１１０に格納する。例えば、スペック情報は、ＳＳＤにおける現状のユーザ容量、余裕容量のサイズを含む。また、例えば、スペック情報は、ＳＳＤにおけるユーザ容量および余裕容量とＴＢＷとの対応関係の情報を含む。更に、スペック情報は、ＳＳＤの保証期間の情報を含む。
【００５１】
予測部１３０は、保証期間内における最大書き込み量をＳＳＤ毎に予測する。具体的には、所定のタイミングで、各ＳＳＤに対してｌｏｇ  ｓｅｎｓｅコマンドを発行する。これにより、収集部１２０は、運用開始からの累積書き込み量と運用開始からの総稼働時間を取得する。累積書き込み量は、該当のＳＳＤに書き込みされたデータ量の総計である。予測部１３０は、取得した情報をＳＳＤの識別情報に対応付けて記憶部１１０に格納する。そして、予測部１３０は、各ＳＳＤの保証期間内における最大書き込み量を、式（１）を用いて算出する。予測部１３０は、各ＳＳＤの保証期間内における最大書き込み量の予測結果を、ＳＳＤの識別情報に対応付けて、記憶部１１０に格納する。
【００５２】
拡張処理部１４０は、予測部１３０による予測結果および記憶部１１０に記憶されたＴＢＷ管理テーブルに基づいて、ユーザ容量の拡張量の上限をＲＡＩＤグループ毎に求める。拡張処理部１４０は、求めた拡張量の上限を、ＲＡＩＤグループの識別情報に対応付けて拡張量上限管理テーブルに登録する。
【００５３】
ここで、ＲＡＩＤグループには複数のＳＳＤが属するため、各ＳＳＤで、保証期間内の最大書き込み量の予測結果が異なっていることも考えられる。その場合、拡張処理部１４０は、ＲＡＩＤグループに属する複数のＳＳＤのうち、保証期間内に予測される最大書き込み量が最も大きなＳＳＤによって、当該ＲＡＩＤグループにおけるユーザ容量の拡張量の上限を決定する。
【００５４】
なお、拡張処理部１４０は、単一のＳＳＤにおけるユーザ容量の拡張量（ＳＳＤにおいて物理的にユーザ容量として拡張される拡張量であり、単に拡張量という場合こちらを指す）を論理ボリュームの論理容量の拡張量（論理拡張量と称する）を基に決定する。具体的には、論理拡張量がＸである場合を考える。この場合、例えば、２つのＳＳＤのストライピングと１つのＳＳＤのパリティの組合せ（計３つのＳＳＤ）によるＲＡＩＤ５構成ではＳＳＤ１つ当たりの拡張量はＸ／２である。あるいは、３つのＳＳＤのストライピングによるＲＡＩＤ０構成ではＳＳＤ１つ当たりの拡張量はＸ／３である。
【００５５】
拡張処理部１４０は、あるＲＡＩＤグループにおけるユーザ容量について拡張量の上限に対する問い合わせを管理サーバ２０から受け付けると、記憶部１１０に記憶された拡張量上限管理テーブルを参照して、当該上限を応答する。
【００５６】
拡張処理部１４０は、応答した上限の範囲内での拡張指示を管理サーバ２０から受け付けると、該当のＲＡＩＤグループに属する各ＳＳＤについて余裕容量を基にユーザ容量の拡張を行う。
【００５７】
図６は、ＲＡＩＤ管理テーブルの例を示す図である。ＲＡＩＤ管理テーブル１１１は、記憶部１１０に格納される。ＲＡＩＤ管理テーブル１１１は、ＲＡＩＤグループＩＤ（IDentifier）、ドライブＩＤ、ＲＡＩＤ種別、ユーザ容量、論理容量、余裕容量およびＴＢＷの項目を含む。
【００５８】
ＲＡＩＤグループＩＤの項目には、ＲＡＩＤグループの識別情報が登録される。ドライブＩＤの項目には、ドライブを識別する情報が登録される。ＲＡＩＤ種別の項目には、ＲＡＩＤの種別を識別する情報が登録される。ユーザ容量の項目には、ドライブＩＤの項目に登録されるＳＳＤに割り当てられているユーザ容量が登録される。論理容量の項目には、ＲＡＩＤグループの論理ボリュームの容量を示す情報が登録される。余裕容量の項目には、ドライブＩＤの項目に登録されるＳＳＤの余裕容量を示す情報が登録される。ＴＢＷの項目には、ＴＢＷを示す情報が登録される。
【００５９】
例えば、ＲＡＩＤ管理テーブル１１１には、ＲＡＩＤグループＩＤが“Ｇ１”、ドライブＩＤが“Ｄ１”、ＲＡＩＤ種別が“ＲＡＩＤ５”、ユーザ容量が“４００ＧＢ（ギガバイト）”、論理容量が“８００ＧＢ”、余裕容量が“１１２ＧＢ”およびＴＢＷが“７．３ＰＢ”という情報が登録される。
【００６０】
これは、ドライブＩＤ“Ｄ１”のＳＳＤがＲＡＩＤグループＩＤ“Ｇ１”のＲＡＩＤグループに属し、当該ＲＡＩＤグループのＲＡＩＤ種別が“ＲＡＩＤ５”であり、論理容量が“８００ＧＢ”であることを示す。なお、当該ＲＡＩＤグループの論理容量に含まれない４００ＧＢは、パリティデータの容量である。また、ドライブＩＤ“Ｄ１”のＳＳＤのユーザ容量が“４００ＧＢ”、余裕容量が“１１２ＧＢ”であり、ＴＢＷが“７．３ＰＢ”であることを示す。
【００６１】
ここで、ＲＡＩＤグループ“Ｇ１”に属するＳＳＤは、ＳＳＤ２１１，２１２，２１３である。ＳＳＤ２１１のドライブＩＤは“Ｄ１”である。ＳＳＤ２１２のドライブＩＤは“Ｄ２”である。ＳＳＤ２１３のドライブＩＤは“Ｄ３”である。
【００６２】
通常、同じＲＡＩＤグループに属する各ＳＳＤは、共通のベンダの共通の機種のものが用いられることが多い。このため、余裕容量やＴＢＷは、同じになる。
収集部１２０は、ＲＡＩＤグループが作成されると、当該ＲＡＩＤグループに属する各ＳＳＤからＲＡＩＤ管理テーブル１１１に含まれる各項目の情報を収集し、当該ＲＡＩＤグループに関するレコードを生成して、ＲＡＩＤ管理テーブル１１１に登録する。なお、収集部１２０は、スペアのＳＳＤに関する情報も当該ＳＳＤから収集して、ＲＡＩＤ管理テーブル１１１に登録してもよい。例えば、ＲＡＩＤ管理テーブル１１１では、ＲＡＩＤグループＩＤ“スペアＳＰ１”のレコードが、スペアのＳＳＤに関するレコードである。
【００６３】
図７は、ＴＢＷ管理テーブルの例を示す図である。ＴＢＷ管理テーブル１１２，１１２ａ，１１２ｂ，・・・は、記憶部１１０に格納される。ＴＢＷ管理テーブル１１２，１１２ａ，１１２ｂ，・・・は、ＳＳＤ毎に設けられる。ＴＢＷ管理テーブル１１２，１１２ａ，１１２ｂ，・・・に含まれる項目は同じなので、図７ではＴＢＷ管理テーブル１１２について説明し、ＴＢＷ管理テーブル１１２ａ，１１２ｂ，・・・の説明を省略する。
【００６４】
ＴＢＷ管理テーブル１１２は、ドライブＩＤ、ユーザ容量およびＴＢＷの項目を含む。ドライブＩＤの項目には、ドライブを識別する情報が登録される。ユーザ容量の項目には、ユーザ容量を示す情報が登録される。ＴＢＷの項目には、ＴＢＷを示す情報が登録される。ここで、ＴＢＷ管理テーブル１１２におけるユーザ容量の最小値は、余裕容量からユーザ容量への割り当てを行っていない状態（余裕容量がフルサイズ）を示す。ＴＢＷ管理テーブル１１２（ＴＢＷ管理テーブル１１２ａ，１１２ｂ，・・・も同様）は、余裕容量からユーザ容量へ割く容量を増やすほどユーザ容量を増やせるが、ＴＢＷが低下していくことを表わしている。
【００６５】
例えば、ＴＢＷ管理テーブル１１２には、ドライブＩＤが“Ｄ１”、ユーザ容量が“４００ＧＢ”、ＴＢＷが“７．３ＰＢ”という情報が登録される。これは、ドライブＩＤ“Ｄ１”のＳＳＤ２１１について、ユーザ容量が“４００ＧＢ”の場合、ＴＢＷが“７．３ＰＢ（ペタバイト）”であることを示す。
【００６６】
また、例えば、ＴＢＷ管理テーブル１１２には、ドライブＩＤが“Ｄ１”、ユーザ容量が“４８０ＧＢ”、ＴＢＷが“０．８８ＰＢ”という情報が登録される。これは、ドライブＩＤ“Ｄ１”のＳＳＤ２１１について、ユーザ容量が“４８０ＧＢ”の場合（すなわち、ユーザ容量が４００ＧＢの場合に対して余裕容量を８０ＧＢ減らした場合）、ＴＢＷが“０．８８ＰＢ”であることを示す。
【００６７】
図８は、ＳＳＤのユーザ容量とＴＢＷとの相関の例を示す図である。グラフ５０は、ＴＢＷ管理テーブル１１２をグラフ化したものである。グラフ５０の横軸はユーザ容量（単位はＧＢ）である。グラフ５０の縦軸はＴＢＷ（単位はＰＢ）である。
【００６８】
点Ｐ１は、ユーザ容量４００ＧＢ（余裕容量１１２ＧＢ）の場合のＴＢＷ７．３ＰＢをプロットしたものである。点Ｐ２は、ユーザ容量４８０ＧＢ（余裕容量３２ＧＢ）の場合のＴＢＷ０．８８ＰＢをプロットしたものである。
【００６９】
グラフ５０で示されるように、ＳＳＤ２１１では、全体容量５１２ＧＢに対して、ユーザ容量４００ＧＢ、余裕容量１１２ＧＢのとき、ＴＢＷが７．３ＰＢとなる。そして、余裕容量１１２ＧＢからユーザ容量へ割り当てる容量が増加するほど（余裕容量が減少するほど）、ＴＢＷが低下する。ユーザ容量の増加分（すなわち、余裕容量の減少分）とＴＢＷとの関係は、ほぼ比例関係にある（比例定数は負の値）。
【００７０】
図９は、拡張量上限管理テーブルの例を示す図である。拡張量上限管理テーブル１１３は、記憶部１１０に記憶される。拡張量上限管理テーブル１１３は、ＲＡＩＤグループＩＤおよびＳＳＤ当たりの拡張量上限の項目を含む。
【００７１】
ＲＡＩＤグループＩＤの項目には、ＲＡＩＤグループの識別情報が登録される。ＳＳＤ当たりの拡張量上限の項目には、ＲＡＩＤグループに属するＳＳＤ当たり、余裕容量からユーザ容量に割いてよい拡張量の上限を示す情報が登録される。
【００７２】
例えば、拡張量上限管理テーブル１１３には、ＲＡＩＤグループＩＤが“Ｇ１”、ＳＳＤ当たりの拡張量上限が“８０ＧＢ”という情報が登録される。これは、ＲＡＩＤグループＩＤ“Ｇ１”で示されるＲＡＩＤグループに属する各ＳＳＤについて、余裕容量から最大８０ＧＢをユーザ容量として割り当てることが許容されていることを示す。すなわち、ＲＡＩＤグループＩＤ“Ｇ１”では、余裕容量からユーザ容量として割り当て可能な最大容量が、ＳＳＤ当たり８０ＧＢまでに制限されていることになる。
【００７３】
なお、各ＳＳＤがＲＡＩＤを組んでいない場合、拡張量上限管理テーブル１１３には、ＳＳＤの識別情報に対応付けて、ＳＳＤ毎に拡張量上限の情報が登録されることになる。
図１０は、テーブル作成処理の例を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。図１０の処理は、後述する図１１，１２の処理の前に実行される。
【００７４】
（Ｓ１１）収集部１２０は、ＲＡＩＤグループの新規作成を検出する。収集部１２０は、当該ＲＡＩＤグループのＲＡＩＤグループＩＤ、ＲＡＩＤ種別および論理容量を取得する。
【００７５】
（Ｓ１２）収集部１２０は、作成されたＲＡＩＤグループに属する各ＳＳＤのドライブＩＤ、ユーザ容量、余裕容量およびＴＢＷを、各ＳＳＤから収集する。
（Ｓ１３）収集部１２０は、ステップＳ１１，Ｓ１２で取得した情報を、ＲＡＩＤ管理テーブル１１１に登録する。
【００７６】
（Ｓ１４）収集部１２０は、ステップＳ１１で検出したＲＡＩＤグループに属する各ＳＳＤから、（余裕容量を用いて拡張した）ユーザ容量とＴＢＷとの関係を示す情報を収集する。例えば、ＳＳＤは、自ＳＳＤが備える所定のメモリに、当該ユーザ容量とＴＢＷとの関係を示す情報を予め保持している。
【００７７】
（Ｓ１５）収集部１２０は、ステップＳ１４で収集したユーザ容量とＴＢＷの関係を示す情報を登録したＴＢＷ管理テーブルをＳＳＤ毎に作成する。収集部１２０は、作成したＴＢＷ管理テーブルを記憶部１１０に格納する。そして、処理を終了する。
【００７８】
図１１は、拡張量上限の決定処理の例を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。図１１の処理は、所定のタイミング（例えば、１日１回の周期など）で実行される。
【００７９】
（Ｓ２１）予測部１３０は、ＲＡＩＤ管理テーブル１１１を参照し、ＲＡＩＤグループを１つ選択する。
（Ｓ２２）予測部１３０は、記憶部１１０を参照し、ステップＳ２１で選択したＲＡＩＤグループの論理容量の使用率を確認する。例えば、予測部１３０は、ＲＡＩＤグループＩＤ“Ｇ１”の場合、ユーザにより利用可能な論理容量８００ＧＢに対して、データ保存に利用済の容量の割合が論理容量の使用率である。
【００８０】
（Ｓ２３）予測部１３０は、論理容量の使用率が閾値以上であるか否かを判定する。例えば、閾値は８０％である。使用率が閾値以上の場合、処理をステップＳ２４に進める。使用率が閾値以上でない場合、処理を終了する。なお、ＲＡＩＤを用いずに１つのＳＳＤに対してデータを保存している場合、予測部１３０は、当該ＳＳＤにおけるユーザ容量の使用率が閾値以上であるか否かによって、ステップＳ２３の判定を行う（閾値以上の場合、処理をステップＳ２４に進め、閾値以上でない場合、処理を終了する）。
【００８１】
（Ｓ２４）予測部１３０は、ステップＳ２１で選択したＲＡＩＤグループに属する各ＳＳＤにｌｏｇ  ｓｅｎｓｅコマンドを発行する。例えば、ＲＡＩＤグループ“Ｇ１”の場合、予測部１３０は、ＳＳＤ２１１，２１２，２１３に対してｌｏｇ  ｓｅｎｓｅコマンドを発行する。
【００８２】
（Ｓ２５）予測部１３０は、ステップＳ２４のｌｏｇ  ｓｅｎｓｅコマンドに対する応答として、各ＳＳＤから累積書き込み量と稼働時間を取得する。
（Ｓ２６）予測部１３０は、各ＳＳＤの保証期間内における最大書き込み量を式（１）に基づいて予測する。予測部１３０は、保証期間の情報を、選択したＳＳＤから取得できる。ただし、該当のＳＳＤの保証期間の情報を記憶部１１０に予め格納している場合には、当該保証期間の情報を記憶部１１０から取得してもよい。例えば、ＳＳＤ２１１に対するこれまでの累積書き込み量をＸ、ＳＳＤ２１１の保証期間をＴ１、ＳＳＤ２１１の稼働時間をＴ２とすれば、ＳＳＤ２１１に対して予測される保証期間内の最大書き込み量Ｙは、式（１）により、Ｙ＝Ｘ×Ｔ１／Ｔ２と算出できる。予測部１３０は、ＳＳＤ２１２，２１３についても、同様に、保証期間内の最大書き込み量を算出できる。
【００８３】
（Ｓ２７）拡張処理部１４０は、ステップＳ２６で予測された各ＳＳＤの最大書き込み量に基づいて、該当のＲＡＩＤグループに属するＳＳＤのうち、当該最大書き込み量が最大のＳＳＤを選択する。
【００８４】
（Ｓ２８）拡張処理部１４０は、ステップＳ２７で選択したＳＳＤのＴＢＷ管理テーブルに基づいて、余裕容量からユーザ容量を拡張する際の拡張量の上限を算出する。例えば、ステップＳ２７でＳＳＤ２１１が選択されており、ＳＳＤ２１１に対して予測される最大書き込み量Ｙが０．８ＰＢの場合を考える。このとき、拡張処理部１４０は、ＳＳＤ２１１に対応するＴＢＷ管理テーブル１１２を参照し、ＴＢＷがＹ＝０．８ＰＢよりも大きくなるユーザ容量の最大値を特定する。ＴＢＷ管理テーブル１１２によれば、当該ユーザ容量の最大値は、４８０ＧＢである。このため、拡張処理部１４０は、ＳＳＤ２１１において余裕容量からユーザ容量を拡張する際の拡張量の上限を４８０ＧＢ（拡張後のユーザ容量の最大値）−４００ＧＢ（現状のユーザ容量）＝８０ＧＢと算出する。拡張処理部１４０は、ステップＳ２１で選択したＲＡＩＤグループのＲＡＩＤグループＩＤに対応付けて、算出した拡張量上限を、拡張量上限管理テーブル１１３に登録する。
【００８５】
上記のように、拡張処理部１４０は、ＲＡＩＤグループに属する各ＳＳＤのうち、保証期間内に予測される最大書き込み量が最大のＳＳＤを選択して、当該ＲＡＩＤグループに属する各ＳＳＤの拡張量上限を決定する。なぜなら、ＲＡＩＤを構成する各ＳＳＤでは、均一の容量をユーザ容量として割り当てることになり、この場合、予測される最大書き込み量が最大のＳＳＤにより拡張量上限を決定することで、ＲＡＩＤグループに属する何れかのＳＳＤで累積書き込み量がＴＢＷを上回るリスクを減らせるからである。
【００８６】
また、ステップＳ２３で、論理容量の使用率に対する判定を行う理由は、当該使用率が高いほど、ユーザ容量が不足している可能性が高く、今後、ユーザがユーザ容量の拡張を希望する可能性が高いと判断できるからである。ユーザが拡張を希望する前に、拡張量の上限を予め定めておくことで、ユーザが拡張を希望する際に、迅速に拡張量の上限を提供できる。
【００８７】
なお、図１１の手順は、ＲＡＩＤ管理テーブル１１１に登録されている全てのＲＡＩＤグループ（ＲＡＩＤグループに属していないスペアを除く）に対して実行される。また、図１１の処理は、ＲＡＩＤグループに属する各ＳＳＤの保証期間が異なる場合でも適用可能である。
【００８８】
図１２は、拡張処理の例を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。
（Ｓ３１）拡張処理部１４０は、あるＲＡＩＤグループに対するユーザ容量の拡張要求を管理サーバ２０から受信する。拡張要求には、ＲＡＩＤグループを指定する情報が含まれている。
【００８９】
（Ｓ３２）拡張処理部１４０は、記憶部１１０に記憶された拡張量上限管理テーブル１１３を参照して、指定されたＲＡＩＤグループに対する拡張量上限を取得する。拡張処理部１４０は、該当のＲＡＩＤグループの各ＳＳＤに対する拡張量上限を管理サーバ２０に応答する。
【００９０】
（Ｓ３３）拡張処理部１４０は、管理サーバ２０から拡張指示を受信する。拡張指示には、ユーザが希望する拡張量が含まれる。指示された拡張量が、拡張量上限よりも大きい場合、拡張処理部１４０は、管理サーバ２０にエラーを送信してもよい。すなわち、拡張処理部１４０は、ユーザから指定された拡張量が上限値以下であれば拡張を許可し、また、ユーザから指定された拡張量が上限値よりも大きければ拡張を許可しない。
【００９１】
（Ｓ３４）拡張処理部１４０は、ユーザ容量の拡張を実行する。例えば、拡張処理部１４０は、該当のＲＡＩＤグループに属する各ＳＳＤに対し、余裕容量の一部をユーザ容量に割り当てる旨の拡張指示を送信する。これにより、各ＳＳＤのユーザ容量が拡張され、ＲＡＩＤグループの論理容量が拡張される。そして、処理を終了する。
【００９２】
なお、ステップＳ３２で取得される拡張量上限は、１つのＳＳＤ当たりの物理的な拡張量の上限である。このため、ステップＳ３２において、拡張処理部１４０は、管理サーバ２０に応答する上限値として、論理ボリュームにおける論理容量に換算した上限値（論理拡張量の上限）を応答してもよい。例えば、拡張量上限管理テーブル１１３によれば、ＲＡＩＤグループＩＤ“Ｇ１”のＲＡＩＤグループについて、１つのＳＳＤ当たりの物理的な拡張量の上限は、８０ＧＢである。また、当該ＲＡＩＤグループのＲＡＩＤ種別はＲＡＩＤ５である。よって、論理容量に換算すると、１６０ＧＢが論理拡張量の上限となる。この場合、ステップＳ３３の管理サーバ２０による管理指示には、ユーザが希望する論理拡張量が含まれることになる。このとき、指示された論理拡張量が、論理拡張量上限（１６０ＧＢ）よりも大きい場合に、拡張処理部１４０は、管理サーバ２０にエラーを送信してもよい。
【００９３】
図１３は、ユーザ容量拡張の具体例を示す図である。図１３では、１つのＲＡＩＤグループに属するＳＳＤ２１１，２１２，２１３におけるユーザ容量の拡張処理の具体例を説明する。当該ＲＡＩＤグループのＲＡＩＤ種別はＲＡＩＤ５である。前述のように、ＳＳＤ２１１，２１２，２１３の総容量は５１２ＧＢである。また、当該ＲＡＩＤグループの論理容量は８００ＧＢであり、ＳＳＤ２１１，２１２，２１３それぞれのユーザ容量は４００ＧＢ、余裕容量は１１２ＧＢである。そして、ＳＳＤ２１１，２１２，２１３の保証期間は５年であるとする。また、ＳＳＤ２１１，２１２，２１３は、３年間の累積書き込み量が、何れも０．５ＰＢ程度であるとする。
【００９４】
予測部１３０は、ＳＳＤ２１１，２１２，２１３にｌｏｇ  ｓｅｎｓｅコマンドを発行し、ＳＳＤ２１１，２１２，２１３から書き込み累積量と稼働時間を取得する。
予測部１３０は、ＳＳＤ２１１，２１２，２１３それぞれに対して、保証期間内に予測される最大書き込み量を算出する。この場合、ＳＳＤ２１１について、保証期間内に予測される最大書き込み量は、０．５ＰＢ×５年／３年＝０．８３ＰＢ程度である。同様に、予測部１３０は、ＳＳＤ２１２，２１３についても保証期間内に予測される最大書き込み量を算出する。
【００９５】
拡張処理部１４０は、ＳＳＤ２１１，２１２，２１３のうち、保証期間内に予測される最大書き込み量が最大のＳＳＤを選択する。例えば、ＳＳＤ２１１，２１２，２１３のうち、保証期間内に予測される最大書き込み量が最大のＳＳＤは、ＳＳＤ２１１であるとする。この場合、拡張処理部１４０は、ＳＳＤ２１１を選択する。
【００９６】
すると、拡張処理部１４０は、ＳＳＤ２１１対して保証期間内に予測される最大書き込み量０．８３ＰＢを基に、拡張量上限を決定する。ＳＳＤ２１１に対応するＴＢＷ管理テーブル１１２によれば、ＴＢＷが０．８３ＰＢを下回らない最大のユーザ容量は４８０ＧＢである。このため、拡張処理部１４０は、８０ＧＢ（４８０ＧＢ−４００ＧＢ）を、該当のＲＡＩＤグループに属するＳＳＤ１つ当たりの拡張量上限と決定する。
【００９７】
このため、当該ＲＡＩＤグループでは、余裕容量を用いてユーザ容量を最大まで拡張すると、ＳＳＤ２１１，２１２，２１３の１つ当たりのユーザ容量は４８０ＧＢということになる。すると、論理容量は、４８０×２＝９６０となり、拡張前の８００ＧＢに対して１６０ＧＢが拡張されたことになる。また、拡張後のＳＳＤ２１１，２１２，２１３それぞれの余裕容量は３２ＧＢである。
【００９８】
このように、ＣＭ１００は、ＳＳＤのウェアレベリング用の余裕容量によりユーザ容量を拡張する際に、余裕容量減少に伴うＴＢＷ低下を考慮して、ＴＢＷが保証期間内に予測される最大書き込み量を下回らないよう拡張量を制限する。これにより、データ保存の信頼性を維持することができる。
【００９９】
図１４は、論理容量の追加例を示す図である。ＣＭ１００は、管理サーバ２０から第２の実施の形態で説明した上限を超えた論理容量の追加指示を受け付けることも考えられる。例えば、ＣＭ１００は、ＳＳＤ２１１，２１２，２１３で構成されるＲＡＩＤグループにおいて、拡張量上限８０ＧＢ（論理容量換算で１６０ＧＢ）を超えた容量の論理容量の追加指示を受け付ける場合である。図１４では、４８０ＧＢの論理容量の追加指示を受け付けた場合を例示している。この場合、第２の実施の形態で例示したように、追加分のうち、例えば、８０ＧＢについて、ＳＳＤ２１１，２１２，２１３の余裕容量を用いて確保する。そして、追加分のうち残りの４００ＧＢについて、スペアのＳＳＤ２２１から確保することもできる。
【０１００】
このように、ＣＭ１００は、ＳＳＤ２１１，２１２，２１３の余裕容量から確保可能な容量と、スペアのＳＳＤ２２１の容量とを合わせて、新たな論理容量（４８０ＧＢ）を確保した論理ボリュームを作成することもできる。こうして、ＳＳＤ２１１，２１２，２１３の余裕容量を利用可能とすることで、各ＳＳＤの余分な余裕容量を削減し、各ＳＳＤの利用効率を向上することもできる。これにより、ある論理容量を確保するためのＳＳＤの所要数を削減できる。
【０１０１】
第２の実施の形態では、ＤＥ２００にＳＳＤが搭載されている場合を示した。これに限らず、書き込み回数に上限がある記憶装置であれば、第２の実施の形態を実現できる。
なお、第１の実施の形態の情報処理は、制御部１ｂとして用いられるプロセッサに、プログラムを実行させることで実現できる。第２の実施の形態の情報処理は、プロセッサ１０１にプログラムを実行させることで実現できる。ストレージ制御装置１およびＣＭ１００は、メモリとプロセッサとを含むコンピュータを備えていると考えることもできる。プログラムは、コンピュータ読み取り可能な記録媒体に記録できる。
【０１０２】
例えば、プログラムを記録した記録媒体（例えば、記録媒体９，１１）を配布することで、プログラムを流通させることができる。コンピュータは、他のコンピュータ（例えば、管理サーバ２０）から、当該プログラムをダウンロードすることもできる。コンピュータは、例えば、ダウンロードしたプログラム、または、記録媒体から読み出したプログラムを、ＲＡＭ１０２やＮＶＲＡＭ１０３などの記憶装置に格納し（インストールし）、当該記憶装置からプログラムを読み込んで実行してもよい。
【符号の説明】
【０１０３】
１  ストレージ制御装置
１ａ  記憶部
１ｂ  制御部
２  記憶装置
Ｔ１  管理情報
【図１】
0006554990.tif 000002
【図２】
0006554990.tif 000003
【図３】
0006554990.tif 000004
【図４】
0006554990.tif 000005
【図５】
0006554990.tif 000006
【図６】
0006554990.tif 000007
【図７】
0006554990.tif 000008
【図８】
0006554990.tif 000009
【図９】
0006554990.tif 000010
【図１０】
0006554990.tif 000011
【図１１】
0006554990.tif 000012
【図１２】
0006554990.tif 000013
【図１３】
0006554990.tif 000014
【図１４】
0006554990.tif 000015