(57)【要約】【課題】  情報処理装置の負荷の増加を抑えながら、性能が低下した記憶装置を別の記憶装置と置き換え、情報処理装置に接続された記憶装置の性能を回復する。【解決手段】  情報処理装置は、複数の演算処理装置と、複数の記憶装置と、複数の演算処理装置のうち第１の演算処理装置と、複数の記憶装置のうち二重化された第１および第２の記憶装置を接続する接続部と、性能が低下した第２の記憶装置を、第１の演算処理装置と第１の記憶装置から接続部に切り離させ、複数の記憶装置のうち第３の記憶装置を、第１の記憶装置と二重化させ、二重化させた第１および第３の記憶装置を、第１の演算処理装置に対して接続部に接続させ、複数の演算処理装置のうち第２の演算処理装置を、切り離した第２の記憶装置に対して接続部に接続させ、第２の記憶装置を第２の演算処理装置に初期化させる制御部を有する。【選択図】    図１
2014074940.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算処理装置と、
複数の記憶装置と、
前記複数の演算処理装置のうち第１の演算処理装置と、前記複数の記憶装置のうち二重化された第１の記憶装置と第２の記憶装置とを接続する接続部と、
前記第２の記憶装置の性能が低下した場合、性能が低下した前記第２の記憶装置を、前記第１の演算処理装置と前記第１の記憶装置から前記接続部に切り離させ、前記複数の記憶装置のうち第３の記憶装置を、前記第１の記憶装置と二重化させるとともに、二重化させた前記第１の記憶装置と前記第３の記憶装置を、前記第１の演算処理装置に対して前記接続部に接続させ、前記複数の演算処理装置のうち第２の演算処理装置を、切り離した前記第２の記憶装置に対して前記接続部に接続させるとともに、前記第２の記憶装置を前記第２の演算処理装置に初期化させる制御部を有することを特徴とする情報処理装置。
【請求項２】
前記制御部は、前記第３の記憶装置を、前記第１の演算処理装置に接続させる前に前記第２の演算処理装置に対して前記接続部に接続させ、前記第２の記憶装置を前記第２の演算処理装置に初期化させる前に、前記第２の記憶装置に格納されたデータの前記第３の記憶装置へのコピーを前記第２の演算処理装置に実行させ、データがコピーされた前記第３の記憶装置を前記第１の演算処理装置に接続させることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第１の演算処理装置に接続されたメモリバッファを備え、
前記第１の演算処理装置は、前記第２の記憶装置を切り離した後、データを前記第１の記憶装置に書き込む代わりに前記メモリバッファに書き込み、
前記制御部は、データがコピーされた前記第３の記憶装置を前記第１の演算処理装置に接続させた後に、前記第１の演算処理装置に、前記メモリバッファに書き込まれたデータを前記第１の記憶装置および前記第３の記憶装置に書き込ませることを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記制御部は、前記第２の記憶装置を初期化させた後に、前記第２の演算処理装置と前記第２の記憶装置との接続を、前記接続部に解除させることを特徴とする請求項１ないし請求項３のいずれか１項記載の情報処理装置。
【請求項５】
前記第１の演算処理装置は、前記第２の記憶装置へのデータの累積書き込み量が所定のしきい値を超えた場合に、前記第２の記憶装置の性能の低下を検出し、
前記制御部は、前記第１の演算処理装置から前記第２の記憶装置の性能の低下の通知を受けたことに基づいて、性能が低下した前記第２の記憶装置を前記第１の演算処理装置から切り離させることを特徴とする請求項１ないし請求項４のいずれか１項記載の情報処理装置。
【請求項６】
複数の前記記憶装置は、読み出し特性が書き込み特性より優れた記憶装置と、データの書き込み特性がデータの読み出し特性より優れた記憶装置とを含み、
前記第１の演算処理装置は、前記第２の記憶装置からのデータの読み出し量および前記第２の記憶装置へのデータの書き込み量をモニタすることで、前記第２の記憶装置についてデータの書き込み量とデータの読み出し量とのどちらが多いかを求め、
前記制御部は、
データの読み出し量がデータの書き込み量より多い場合、前記接続部に前記読み出し特性が優れた記憶装置である前記第３の記憶装置と性能が低下した前記第２の記憶装置とを入れ換えさせ、
データの書き込み量がデータの読み出し量より多い場合、前記接続部に前記書き込み特性が優れた記憶装置である前記第３の記憶装置と性能が低下した前記第２の記憶装置とを入れ換えさせることを特徴とする請求項１ないし請求項５のいずれか１項記載の情報処理装置。
【請求項７】
前記記憶装置は、フラッシュメモリを含むことを特徴とする請求項１ないし請求項６のいずれか１項記載の情報処理装置。
【請求項８】
前記制御部は、前記第２の記憶装置の性能が低下する前に、前記第２の演算処理装置が前記複数の記憶装置のいずれかに接続され、または、前記第３の記憶装置が複数の前記演算処理装置に接続された場合、前記第２の記憶装置の性能が低下した場合にも、前記接続部に前記第１の演算処理装置と前記第２の記憶装置との接続を維持させることを特徴とする請求項１ないし請求項７のいずれか１項記載の情報処理装置。
【請求項９】
複数の演算処理装置と、複数の記憶装置と、前記複数の演算処理装置のうち第１の演算処理装置と、前記複数の記憶装置のうち二重化された第１の記憶装置と第２の記憶装置とを接続する接続部とを有する情報処理装置の制御方法において、
前記情報処理装置が有する制御部が、
前記第２の記憶装置の性能が低下した場合、性能が低下した前記第２の記憶装置を、前記第１の演算処理装置と前記第１の記憶装置から前記接続部に切り離させ、
前記複数の記憶装置のうち第３の記憶装置を、前記第１の記憶装置と二重化させ、
二重化させた前記第１の記憶装置と前記第３の記憶装置を、前記第１の演算処理装置に対して前記接続部に接続させ、
前記複数の演算処理装置のうち第２の演算処理装置を、切り離した前記第２の記憶装置に対して前記接続部に接続させ、
前記第２の記憶装置を前記第２の演算処理装置に初期化させることを特徴とする情報処理装置の制御方法。
【請求項１０】
複数の演算処理装置と、複数の記憶装置と、前記複数の演算処理装置のうち第１の演算処理装置と、前記複数の記憶装置のうち二重化された第１の記憶装置と第２の記憶装置とを接続する接続部とを有する情報処理装置の制御プログラムにおいて、
前記情報処理装置が有する制御部に、
前記第２の記憶装置の性能が低下した場合、性能が低下した前記第２の記憶装置を、前記第１の演算処理装置と前記第１の記憶装置から前記接続部により切り離させ、
前記複数の記憶装置のうち第３の記憶装置を、前記第１の記憶装置と二重化させ、
二重化させた前記第１の記憶装置と前記第３の記憶装置を、前記第１の演算処理装置に対して前記接続部により接続させ、
前記複数の演算処理装置のうち第２の演算処理装置を、切り離した前記第２の記憶装置に対して前記接続部により接続させ、
前記第２の記憶装置を前記第２の演算処理装置により初期化させることを特徴とする情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラムに関する。
【背景技術】
【０００２】
近時、不揮発性メモリを含むストレージシステムが提案されている。この種のストレージシステムでは、データの読み書きを制御するコントローラとは別のコントローラが、障害が発生した不揮発性メモリチップに格納されたデータを別の不揮発性メモリチップにコピーする（例えば、特許文献１参照）。また、この種のストレージシステムでは、不揮発性メモリの寿命を管理しながら、ハードディスクドライブに格納されたデータを不揮発性メモリに移行することで、ストレージシステム全体の消費電力が削減される（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１９１９６６号公報
【特許文献２】特開２００７−１１５２３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ストレージシステムは、データの書き込み量が増えるにしたがってアクセス効率が低下することが知られている。例えば、ハードディスクドライブを含むストレージシステムでは、ファイルの書き込みと削除を繰り返すことにより、ファイルの断片化が発生し、アクセス速度が低下する。一方、フラッシュメモリ等の不揮発性メモリでは、データを上書きする前にブロック単位でデータが消去される。このため、フラッシュメモリ等の不揮発性メモリを含むストレージシステムでは、データの書き込み量が増えると、書き込みのスループットが低下する。
【０００５】
しかしながら、システムの負荷の増加を抑えながら、アクセス効率の低下等により性能が低下したストレージシステムの性能を回復する手法は提案されていない。
【０００６】
１つの側面では、本発明の目的は、演算処理装置の負荷の増加を抑えながら、性能が低下した記憶装置を別の記憶装置と置き換え、演算処理装置に接続された記憶装置の性能を回復することである。
【課題を解決するための手段】
【０００７】
本発明の一形態では、情報処理装置は、複数の演算処理装置と、複数の記憶装置と、複数の演算処理装置のうち第１の演算処理装置と、複数の記憶装置のうち二重化された第１の記憶装置と第２の記憶装置とを接続する接続部と、第２の記憶装置の性能が低下した場合、性能が低下した第２の記憶装置を、第１の演算処理装置と第１の記憶装置から接続部に切り離させ、複数の記憶装置のうち第３の記憶装置を、第１の記憶装置と二重化させるとともに、二重化させた第１の記憶装置と第３の記憶装置を、第１の演算処理装置に対して接続部に接続させ、複数の演算処理装置のうち第２の演算処理装置を、切り離した第２の記憶装置に対して接続部に接続させるとともに、第２の記憶装置を第２の演算処理装置に初期化させる制御部を有する。
【発明の効果】
【０００８】
演算処理装置の負荷の増加を抑えながら、性能が低下した記憶装置を別の記憶装置と置き換えでき、演算処理装置に接続された記憶装置の性能を回復できる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態における情報処理装置の例を示す。
【図２】図１に示した情報処理装置の動作の例を示す。
【図３】図１に示した情報処理装置の動作の別の例を示す。
【図４】別の実施形態における情報処理装置の例を示す。
【図５】図４に示した制御部の例を示す。
【図６】図４に示した全体管理テーブルの例を示す。
【図７】図４に示した接続管理テーブルの例を示す。
【図８】図４に示した情報処理装置の接続の例を示す。
【図９】図４に示したプロセッサにより記憶装置の性能の低下を検出する例を示す。
【図１０】図９に示したステップＳ１２により作成される性能監視テーブルの例を示す。
【図１１】図４に示した情報処理装置の動作の例を示す。
【図１２】図９のステップＳ７２を実行した時点での情報処理装置の接続の例を示す。
【図１３】図９のステップＳ７２を実行した時点での全体管理テーブルの例を示す。
【図１４】図４に示した情報処理装置の動作の例を示す。
【図１５】別の実施形態における情報処理装置の動作の例を示す。
【図１６】図１５に示した情報処理装置の動作の続きの例を示す。
【図１７】図１６のステップＳ７８を実行した時点での情報処理装置の接続の例を示す。
【図１８】別の実施形態における情報処理装置の例を示す。
【図１９】図１８に示した性能監視テーブルの例を示す。
【図２０】図１８に示したプロセッサにより記憶装置の性能の低下を検出する例を示す。
【図２１】図２０に示したステップＳ１２により作成される性能監視テーブルの例を示す。
【図２２】別の実施形態におけるメモリ特性テーブルの例を示す。
【発明を実施するための形態】
【００１０】
以下、図面を用いて実施形態を説明する。
【００１１】
図１は、一実施形態における情報処理装置の例を示す。情報処理装置は、プロセッサプール１００、メモリプール２００、接続部３００および制御部４００を有する。プロセッサプール１００は、演算処理装置として、ＣＰＵ（Central Processing Unit）等の複数のプロセッサＰＲＣ（ＰＲＣ０、ＰＲＣ１、ＰＲＣ２、ＰＲＣ３）を含む。メモリプール２００は、複数の記憶装置ＳＳＤ（ＳＳＤ０、ＳＳＤ１、ＳＳＤ２、ＳＳＤ３）を含む。例えば、記憶装置ＳＳＤは、複数のフラッシュメモリチップを含むＳＳＤ（Solid State Drive）等のフラッシュストレージである。なお、この実施形態では、プロセッサプール１００は、４つのプロセッサＰＲＣを有するが、プロセッサＰＲＣの数は、２以上であればよい。また、メモリプール２００は、４つの記憶装置ＳＳＤを有するが、記憶装置ＳＳＤの数は、３以上であればよい。
【００１２】
接続部３００は、制御部４００からのプロセッサＰＲＣと記憶装置ＳＳＤをどのように接続するかについての情報である接続仕様ＣＳに基づいて、プロセッサＰＲＣの所定数と記憶装置ＳＳＤの所定数とを接続してシステムを構築し、またはプロセッサＰＲＣに接続された記憶装置ＳＳＤの接続を解除する。プロセッサＰＲＣから全ての記憶装置ＳＳＤの接続が解除された場合、構築されたシステムは解消される。接続部３００に示した破線は、接続仕様ＣＳに基づいて任意のプロセッサＰＲＣと任意の記憶装置ＳＳＤとが接続可能であることを示す。
【００１３】
制御部４００は、例えば、ＣＰＵ等のプロセッサを含むコンピュータ装置を含む。プロセッサは、制御プログラムを実行することで、接続部３００の動作を制御する機能と、プロセッサプール１００内のプロセッサＰＲＣに指示を与える機能とを実現する。制御部４００は、接続部３００に接続仕様ＣＳの情報を出力する。
【００１４】
例えば、接続仕様ＣＳに基づいて構築されたシステムに含まれるプロセッサＰＲＣは、記憶装置ＳＳＤのアクセス状況をモニタし、記憶装置ＳＳＤの性能が所定の性能より低下したことを検出する検出部の機能を有する。検出部の機能は、プロセッサＰＲＣが検出プログラムを実行することで実現される。例えば、検出プログラムは、各プロセッサＰＲＣが実行するユーザプログラムの合間に実行される。検出プログラムを実行するプロセッサＰＲＣは、性能が低下した記憶装置ＳＳＤを示す情報ＭＩＤを制御部４００に通知する機能を有する。
【００１５】
制御部４００は、プロセッサＰＲＣからの情報ＭＩＤに基づいて、接続仕様ＣＳを変更する。接続仕様ＣＳを変更する例は、図２および図３で説明する。なお、検出部は、プロセッサプール１００内のプロセッサＰＲＣとは別のプロセッサやハードウエアを用いて実現されてもよい。
【００１６】
例えば、検出プログラムを実行するプロセッサＰＲＣは、記憶装置ＳＳＤ毎にデータ転送レート等のスループットをモニタし、スループットが所定値より下がった場合に、記憶装置ＳＳＤの性能の低下を検出する。性能が低下した記憶装置ＳＳＤは、スループットは低下するが、正常に動作する。このため、記憶装置ＳＳＤの性能の低下の検出は、記憶装置ＳＳＤの故障の検出や、寿命の検出とは異なる。例えば、性能が低下した記憶装置ＳＳＤは、初期化により、性能を回復可能である。
【００１７】
フラッシュストレージでは、消去状態（例えば、論理１）から書き込み状態（例えば、論理０）への変更は、メモリセル単位で実行され、書き込み状態から消去状態への変更は、ブロック単位で実行される。すなわち、データが書き込まれたメモリセルへのデータの上書きは、該当するブロックのデータ消去後に、該当するブロック内の他のメモリセルへのデータの再書き込みとともに実行される。このため、所定量を超えるデータが書き込まれたフラッシュストレージは、データの書き込み要求に応答して消去動作が発生しやすくなり、書き込みデータのスループットが低下する。
【００１８】
書き込みデータのスループットを正確に評価する場合、プロセッサＰＲＣまたは別のハードウエアは、記憶装置ＳＳＤのメモリ領域毎に時間当たりのデータの書き込み量をモニタする。これにより、プロセッサＰＲＣの負荷は増加し、ユーザシステムとしての性能は低下する。これに対して、この実施形態では、記憶装置ＳＳＤ毎のデータの累積書き込み量をモニタすることにより、スループットを直接評価する場合に比べて、プロセッサＰＲＣの負荷の増加を抑制でき、記憶装置ＳＳＤの性能の低下を簡易かつ効果的に判定できる。
【００１９】
この実施形態では、例えば、検出プログラムを実行するプロセッサＰＲＣは、システム内の各記憶装置ＳＳＤに書き込まれるデータ量を累積する。そして、プロセッサＰＲＣは、データの累積書き込み量が所定のしきい値を超えた場合に、消去動作が発生するデータの書き込みの頻度が上がったと判断し、当該記憶装置ＳＳＤの性能の低下を検出する。性能の低下が検出された記憶装置ＳＳＤは、制御部４００による接続仕様ＣＳの変更に応じて、メモリプール２００内の未使用の記憶装置ＳＳＤに置き換えられる。これにより、プロセッサＰＲＣに接続された記憶装置ＳＳＤの性能が回復して、消去動作が発生するデータの書き込みの頻度が下がり、データの書き込みのスループットを向上できる。
【００２０】
図２は、図１に示した情報処理装置の動作の例を示す。図２は、情報処理装置の制御方法の例を示しており、制御部４００内のプロセッサが制御プログラムを実行することにより実現される。状態Ａ、状態Ｂ、状態Ｃ、状態Ｄ、状態Ｅは、プロセッサＰＲＣと記憶装置ＳＳＤとを接続する接続部３００の時間毎の状態の変化を示す。なお、図２では、説明を分かりやすくするために、図１に示したプロセッサプール１００は、２つのプロセッサＰＲＣ０、ＰＲＣ１を有し、図１に示したメモリプール２００は、３つの記憶装置ＳＳＤ０、ＳＳＤ１、ＳＳＤ２を有するとする。この実施形態では、１つのプロセッサＰＲＣと、データを冗長に保持する２つの記憶装置ＳＳＤとによりシステムが構築される。
【００２１】
破線で示したプロセッサＰＲＣは、システムとして構築されていない未使用のプロセッサＰＲＣを示す。状態Ｂ、状態Ｃ、状態Ｄにおいて、破線で示した記憶装置ＳＳＤは、システムとして構築されていない未使用の記憶装置ＳＳＤを示す。例えば、未使用の記憶装置ＳＳＤは、予め初期化され、所定の性能を超える性能を有する。接続部３００内の太い実線は、プロセッサＰＲＣと記憶装置ＳＳＤとが互いに接続され、システムが構築されたことを示す。太い実線で示した記憶装置ＳＳＤは、性能の低下が検出された記憶装置ＳＳＤを示す。
【００２２】
状態Ａは、プロセッサＰＲＣ０と記憶装置ＳＳＤ０、ＳＳＤ１とによりシステムが構築された状態を示す。例えば、システムは、プロセッサＰＲＣ０がユーザプログラムを実行することにより、ＨＴＴＰ（Hyper Text Transfer Protocol）を用いて通信を行うＷｅｂサーバ、データベースまたはデータ処理装置等のユーザシステムとして動作する。記憶装置ＳＳＤ０、ＳＳＤ１には、互いに同じデータが冗長に書き込まれる。記憶装置ＳＳＤ０、ＳＳＤ１により、例えば、データをミラーリングするＲＡＩＤ１（Redundant Arrays of Independent Disks）システムが構築される。
【００２３】
システムは、図１に示した制御部４００からの接続仕様ＣＳに基づいて、接続部３００がプロセッサＰＲＣ０と記憶装置ＳＳＤ０、ＳＳＤ１とを互いに接続することで構築される。検出プログラムを実行するプロセッサＰＲＣ（この例では、ＰＲＣ０）は、システムに含まれる各記憶装置ＳＳＤ０、ＳＳＤ１のアクセス状況をモニタする。
【００２４】
状態Ｂは、プロセッサＰＲＣ０が記憶装置ＳＳＤ１の性能の低下を検出した状態を示す。プロセッサＰＲＣ０は、性能が低下した記憶装置ＳＳＤ１を示す情報ＭＩＤを図１に示した制御部４００に通知する。
【００２５】
状態Ｃにおいて、制御部４００は、情報ＭＩＤに基づいて接続情報ＣＳを変更する。接続部３００は、変更された接続情報ＣＳに基づいて、記憶装置ＳＳＤ１をシステムから切り離し、切り離した記憶装置ＳＳＤ１を未使用のプロセッサＰＲＣ１に接続して仮のシステムを構築する。
【００２６】
状態Ｄにおいて、制御部４００は、接続情報ＣＳを変更し、接続部３００は、変更された接続情報ＣＳに基づいて、未使用の記憶装置ＳＳＤ２をプロセッサＰＲＣ０に接続する。すなわち、プロセッサＰＲＣ０および記憶装置ＳＳＤ０、ＳＳＤ２によりシステムが再構築される。また、制御部４００は、仮のシステム内のプロセッサＰＲＣ１に、切り離した記憶装置ＳＳＤ１を初期化させる初期化要求を通知する。プロセッサＰＲＣ１は、初期化要求を受けて、初期化プログラムを実行し、記憶装置ＳＳＤ１を初期化する。
【００２７】
状態Ｅにおいて、制御部４００は、接続情報ＣＳを変更し、接続部３００は、変更された接続情報ＣＳに基づいて、プロセッサＰＲＣ１と記憶装置ＳＳＤ１との接続を解除し、仮のシステムの構築を解消する。すなわち、プロセッサＰＲＣ１は、プロセッサプール１００に戻され、記憶装置ＳＳＤ１は、所定の性能を超える性能を有する未使用の記憶装置ＳＳＤとしてメモリプール２００に戻される。また、制御部４００は、プロセッサＰＲＣ１に記憶装置ＳＳＤ１、ＳＳＤ２を互いに同期させて、ＲＡＩＤ１システムを再構築し、データを冗長に保持させる。
【００２８】
図３は、図１に示した情報処理装置の動作の別の例を示す。図２と同様または同一の動作については、詳細な説明は省略する。この例では、図２に示した状態Ｃの代わりに状態Ｃ１、Ｃ２が存在する。状態Ａ、状態Ｂ、状態Ｄ、状態Ｅは、図２と同様または同一である。図３は、情報処理装置の制御方法の例を示しており、制御部４００内のプロセッサが、図２の動作を実行する制御プログラムと異なる制御プログラムを実行することにより実現される。
【００２９】
状態Ｃ１において、制御部４００は、接続情報ＣＳを変更し、接続部３００は、プロセッサＰＲＣ０から記憶装置ＳＳＤ１を切り離す。また、接続部３００は、切り離した記憶装置ＳＳＤ１および未使用の記憶装置ＳＳＤ２を未使用のプロセッサＰＲＣ１に接続させ、仮のシステムを構築する。
【００３０】
状態Ｃ２において、制御部４００は、性能が低下した記憶装置ＳＳＤ１および未使用の記憶装置ＳＳＤ２を示す情報と、データのコピー要求とを仮のシステム内のプロセッサＰＲＣ１に通知する。プロセッサＰＲＣ１は、制御部４００からのコピー要求を受けて、コピープログラムを実行し、性能が低下した記憶装置ＳＳＤ１に格納されたデータを未使用の記憶装置ＳＳＤ２にコピーする。
【００３１】
データのコピーを未使用のプロセッサＰＲＣ１を含む仮のシステムを用いて実行することで、コピーによるユーザシステムの負荷の増加は発生しない。また、状態Ｅでデータを同期する前に、プロセッサＰＲＣ１を用いてデータをコピーすることで、記憶装置ＳＳＤ０に格納されたデータの少なくとも一部と、記憶装置ＳＳＤ２に格納されたデータとを予め同期させることができる。これにより、状態ＥにおいてプロセッサＰＲＣ０によるデータの同期を、初期化された状態の記憶装置ＳＳＤ２を用いて実行する場合に比べて簡易にでき、ユーザシステムの負荷の増加を抑えることができる。
【００３２】
以上、この実施形態では、データを冗長に保持する記憶装置ＳＳＤの１つの性能の低下が検出された場合に、性能が低下した記憶装置ＳＳＤを未使用の記憶装置ＳＳＤと置き換えることで、システム内の記憶装置ＳＳＤの性能を回復できる。この際、仮のシステムを構築することで、システム内のプロセッサＰＲＣの負荷の増加を抑えながら、性能が低下した記憶装置ＳＳＤを初期化でき、あるいは、性能が低下した記憶装置ＳＳＤ内のデータを未使用の記憶装置ＳＳＤにコピーできる。仮のシステムの構築を、記憶装置ＳＳＤ２のプロセッサＰＲＣ０への接続後に解消し、プロセッサＰＲＣ１をプロセッサプール１００に戻すことで、プロセッサプール１００内のプロセッサＰＲＣの使用効率を向上できる。
【００３３】
図４は、別の実施形態における情報処理装置の例を示す。図１に示した要素と同様または同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、情報処理装置は、プロセッサプール１００Ａ、メモリプール２００Ａ、接続部３００Ａ、制御部４００Ａおよび記憶装置ＢＴを有する。
【００３４】
プロセッサプール１００Ａは、複数のコンピュータ装置ＰＣ（ＰＣ０、ＰＣ１、ＰＣ２、...、ＰＣ１５）を有する。各コンピュータ装置ＰＣは、ＣＰＵ等のプロセッサＰＲＣ（ＰＲＣ０、ＰＲＣ１、ＰＲＣ２、...、ＰＲＣ１５）およびメモリモジュール等の記憶装置ＭＤ（ＭＤ０、ＭＤ１、ＭＤ２、...、ＭＤ１５）を有する。例えば、メモリモジュールは、ＤＲＡＭ（Dynamic Random Access Memory）チップを含むＤＩＭＭ（Dual Inline Memory Module）である。この例では、プロセッサプール１００Ａは、１６個のコンピュータ装置ＰＣを有するが、コンピュータ装置ＰＣの数は、２以上であればよい。
【００３５】
各コンピュータ装置ＰＣは、記憶装置ＭＤに格納されたプログラムをプロセッサＰＲＣが実行することで動作する。例えば、記憶装置ＭＤに格納されるプログラムは、オペレーティングシステム、管理プログラムおよびユーザプログラムである。管理プログラムは、図２および図３で説明した検出プログラムおよび初期化プログラムおよびコピープログラムを含む。例えば、管理プログラムは、オペレーティングシステムのコマンドを利用することで、記憶装置ＳＳＤの性能の低下を検出し、記憶装置ＳＳＤを初期化し、あるいは、性能が低下した記憶装置ＳＳＤのデータを未使用の記憶装置ＳＳＤにコピーする。
【００３６】
そして、コンピュータ装置ＰＣの所定数と記憶装置ＳＳＤの所定数とが接続部３００Ａを介して接続されることで、ユーザプログラムを実行可能なシステムが構築される。ユーザプログラムの実行により、各システムは、Ｗｅｂサーバ、データベース、またはデータ処理装置等として動作する。なお、後述するように、記憶装置ＭＤは、記憶装置ＳＳＤの性能が低下したことに基づいて記憶装置ＳＳＤがシステムから切り離された場合、新たな記憶装置ＳＳＤが接続されるまで、書き込みデータを保持するメモリバッファとして機能する。
【００３７】
メモリプール２００Ａは、複数の記憶装置ＳＳＤ（ＳＳＤ０、ＳＳＤ１、ＳＳＤ２、...、ＳＳＤ６３）を有する。例えば、記憶装置ＳＳＤは、複数のフラッシュメモリチップを含むフラッシュストレージである。なお、この実施形態では、メモリプール２００Ａは、６４個の記憶装置ＳＳＤを有するが、記憶装置ＳＳＤの数は、３以上であればよい。
【００３８】
接続部３００Ａは、エキスパンダＥＸＰ（ＥＸＰ０、ＥＸＰ１、ＥＸＰ２、ＥＸＰ３）を有する。各エキスパンダＥＸＰは、コンピュータ装置ＰＣ０−ＰＣ１５と１６個の記憶装置ＳＳＤとの接続仕様を示す接続管理テーブルＣＴＢＬ（ＣＴＢＬ０、ＣＴＢＬ１、ＣＴＢＬ２、ＣＴＢＬ３）を有する。接続管理テーブルＣＴＢＬは、制御部４００Ａからの接続仕様ＣＳの情報に応じて変更される。そして、各エキスパンダＥＸＰは、コンピュータ装置ＰＣ１−ＰＣ１５の少なくとも１つを、対応する１６個の記憶装置ＳＳＤ（例えば、ＳＳＤ０−ＳＳＤ１５）の少なくとも１つに接続する。接続管理テーブルＣＴＢＬの例は、図７に示す。
【００３９】
例えば、コンピュータ装置ＰＣと各エキスパンダＥＸＰ、および記憶装置ＳＳＤと各エキスパンダＥＸＰとは、ＳＡＳ（Serial Attached SCSI（Small Computer System Interface））ケーブルを介して接続される。すなわち、各エキスパンダＥＸＰは、コンピュータ装置ＰＣと記憶装置ＳＳＤとの間でＳＡＳプロトコルを伝送可能なスイッチである。なお、コンピュータ装置ＰＣと各エキスパンダＥＸＰ、および記憶装置ＳＳＤと各エキスパンダＥＸＰとは、ＳＡＴＡ（Serial Advanced Technology Attachment）やＰＣＩExpress（Peripheral Component Interconnect-Express）のインタフェースを介して接続されてもよい。
【００４０】
制御部４００Ａは、プロセッサプール１００Ａ内のコンピュータ装置ＰＣ０−ＰＣ１５とメモリプール２００Ａ内の全ての記憶装置ＳＳＤ０−ＳＳＤ６３との接続仕様ＣＳを示す全体管理テーブルＭＴＢＬを有する。全体管理テーブルＭＴＢＬの例は、図６に示す。制御部４００Ａは、全体管理テーブルＭＴＢＬを変更する場合に、変更の内容を接続仕様ＣＳとして接続部３００Ａの各エキスパンダＥＸＰに通知する。これにより、図６および図７に示すように、全体管理テーブルＭＴＢＬと各接続管理テーブルＣＴＢＬの内容は互いに一致する。
【００４１】
記憶装置ＢＴは、例えば、ＬＡＮ（Local Area Network）等のネットワークＮＷを介してコンピュータ装置ＰＣ０−ＰＣ１５および制御部４００Ａに接続される。記憶装置ＢＴは、プロセッサＰＲＣが実行可能なオペレーティングシステムおよび管理プログラムが予め格納される。オペレーティングシステムおよび管理プログラムは、接続仕様ＣＳに基づいてコンピュータ装置ＰＣと記憶装置ＳＳＤとが互いに接続された場合に、制御部４００Ａからの指示に基づいてシステム内の記憶装置ＭＤにロードされる。
【００４２】
例えば、Ｗｅｂサーバ等のユーザシステムを実現するユーザプログラムは、ネットワークＮＷを介して記憶装置ＭＤ０にロードされ、システム内のプロセッサＰＲＣにより実行される。これにより、接続部３００Ａを介して接続されたコンピュータ装置ＰＣおよび記憶装置ＳＳＤは、ユーザプログラムを実行可能なシステムとして構築される。そして、システム内のプロセッサＰＲＣは、記憶装置ＭＤに転送された管理プログラムをユーザプログラムの合間に実行する。
【００４３】
図５は、図４に示した制御部４００Ａの例を示す。例えば、制御部４００Ａは、コンピュータ装置により実現され、ＣＰＵ等のプロセッサＰＲＣｃ、メモリモジュールＤＩＭＭ、ハードディスクドライブＨＤＤ、ハブＨＵＢ、ネットワークインタフェースカードＮＩＣおよびバスインタフェースＢＩＦを有する。なお、制御部４００Ａは、キーボードやマウス等の入力装置、ディスプレイ等の出力装置に接続されてもよい。
【００４４】
例えば、プロセッサＰＲＣｃは、制御プログラムを実行し、プロセッサＰＲＣｃに搭載される内蔵メモリを利用して全体管理テーブルＭＴＢＬを作成する。プロセッサＰＲＣｃは、ハブＨＵＢおよびネットワークインタフェースカードＮＩＣを介してネットワークＮＷに接続され、バスインタフェースＢＩＦを介して図４に示した接続部３００Ａに接続される。
【００４５】
プロセッサＰＲＣｃは、メモリモジュールＤＩＭＭに格納された制御プログラムを実行することで、図１１および図１４に示す動作を実行し、制御部４００Ａの機能を実現する。例えば、制御プログラムは、ネットワークＮＷを介して予めハードディスクドライブＨＤＤにダウンロードされ、制御部４００Ａのパワーオン時にハードディスクドライブＨＤＤからメモリモジュールＤＩＭＭにコピーされる。
【００４６】
プロセッサＰＲＣｃは、ネットワークＮＷを介して、プロセッサプール１００Ａ内のプロセッサＰＲＣから情報を受け、プロセッサＰＲＣに情報を出力する。また、プロセッサＰＲＣｃは、バスインタフェースＢＩＦを介して、接続部３００Ａの接続管理テーブルＣＴＢＬを書き換える接続情報ＣＳを出力する。
【００４７】
図６は、図４に示した全体管理テーブルＭＴＢＬの例を示す。全体管理テーブルＭＴＢＬは、コンピュータ装置ＰＣと記憶装置ＳＳＤとの接続仕様を示す情報を格納する領域をコンピュータ装置ＰＣ毎に有する。同じ数値が格納された領域により関連付けられたコンピュータ装置ＰＣおよび記憶装置ＳＳＤは、相互に接続されることを示す。”１”、”２”等の数値は、システムを識別するゾーングループ番号を示す。
【００４８】
そして、同じ数値により互いに関連付けされたコンピュータ装置ＰＣおよび記憶装置ＳＳＤにより、システムが構築される。数値が入っていない空白の領域は、対応するコンピュータ装置ＰＣと記憶装置ＳＳＤとが接続されないことを示す。すなわち、対応する領域（図６の横方向に並ぶ領域）が空白なコンピュータ装置ＰＣとコンピュータ装置ＰＣ内のプロセッサＰＲＣおよび記憶装置ＭＤとは、未使用であることを示す。対応する領域（図６の縦方向に並ぶ領域）が空白な記憶装置ＳＳＤは未使用であることを示す。
【００４９】
例えば、数値”１”が格納された領域に対応するコンピュータ装置ＰＣ０と記憶装置ＳＳＤ０、ＳＳＤ１、ＳＳＤ２、ＳＳＤ３とは、ゾーングループ１のシステムに属し、図４に示したエキスパンダＥＸＰ０により相互に接続される。例えば、ゾーングループ１のシステムは、Ｗｅｂサーバである。数値”２”が格納された領域に対応するコンピュータ装置ＰＣ１、ＰＣ２と記憶装置ＳＳＤ１６、ＳＳＤ１７とは、ゾーングループ２のシステムに属し、図４に示したエキスパンダＥＸＰ１により相互に接続される。例えば、ゾーングループ２のシステムは、データベースである。
【００５０】
この実施形態では、各ゾーングループ１、２の一対の記憶装置ＳＳＤ（例えば、ＳＳＤ０とＳＳＤ１）は、互いに同じ書き込みデータを受け、データを冗長に保持し、１つの記憶装置ＳＳＤとして動作する。すなわち、一対の記憶装置ＳＳＤによりＲＡＩＤ１システムが構築される。
【００５１】
図７は、図４に示した接続管理テーブルＣＴＢＬ０−ＣＴＢＬ３の例を示す。接続管理テーブルＣＴＢＬ０−ＣＴＢＬ３は、エキスパンダＥＸＰ０、ＥＸＰ１、ＥＸＰ２、ＥＸＰ３に対応してそれぞれ設けられる。各接続管理テーブルＣＴＢＬ０−ＣＴＢＬ３は、図６に示した全体管理テーブルＭＴＢＬと同じ領域を有する。換言すれば、接続管理テーブルＣＴＢＬ０は、記憶装置ＳＳＤ０−ＳＳＤ１５に対応する領域を有し、接続管理テーブルＣＴＢＬ１は、記憶装置ＳＳＤ１６−ＳＳＤ３１に対応する領域を有する。接続管理テーブルＣＴＢＬ２は、記憶装置ＳＳＤ３２−ＳＳＤ４７に対応する領域を有し、接続管理テーブルＣＴＢＬ３は、記憶装置ＳＳＤ４８−ＳＳＤ６３に対応する領域を有する。
【００５２】
そして、図４に示した制御部４００Ａは、全体管理テーブルＭＴＢＬの情報を接続情報ＣＳとして各エキスパンダＥＸＰに出力し、各接続管理テーブルＣＴＢＬ０−ＣＴＢＬ３を書き換える。なお、図７では、説明を分かりやすくするために、接続管理テーブルＣＴＢＬ０、ＣＴＢＬ１の大きさを接続管理テーブルＣＴＢＬ２、ＣＴＢＬ３より大きく記載したが、接続管理テーブルＣＴＢＬ０−ＣＴＢＬ３の大きさは、互いに同じである。
【００５３】
なお、各エキスパンダＥＸＰは、接続管理テーブルＣＴＢＬを有さずに、図６に示した全体管理テーブルＭＴＢＬを参照することで、コンピュータ装置ＰＣと記憶装置ＳＳＤとを接続してもよい。
【００５４】
図８は、図４に示した情報処理装置の接続の例を示す。図８では、各エキスパンダＥＸＰは、図７に示した接続管理テーブルＣＴＢＬに格納された値にしたがって、コンピュータ装置ＰＣと記憶装置ＳＳＤとに接続する。図８において、太い実線は、図６および図７に数値”１”で示したゾーングループ１の接続を示し、太い破線は、図６および図７に数値”２”で示したゾーングループ２の接続を示す。エキスパンダＥＸＰを介して接続されていないコンピュータ装置ＰＣと記憶装置ＳＳＤとを接続するケーブルの記載は省略する。
【００５５】
この例では、ゾーングループ１に属するコンピュータ装置ＰＣ０と記憶装置ＳＳＤ０、ＳＳＤ１、ＳＳＤ２、ＳＳＤ３とが互いに接続されてシステムが構築される。また、ゾーングループ２に属するコンピュータ装置ＰＣ１、ＰＣ２と記憶装置ＳＳＤ１６、ＳＳＤ１７とが互いに接続されてシステムが構築される。
【００５６】
図９は、図４に示したプロセッサＰＲＣにより記憶装置ＳＳＤの性能の低下を検出する例を示す。図９に示すフローは、構築されたシステムにおいて、プロセッサＰＲＣが管理プログラムを実行することにより実現される。例えば、ステップＳ１０、Ｓ１２は、システムが構築された後に、システムの機能を実現するユーザプログラムが開始される前に実行される。例えば、ステップＳ１４、Ｓ１６、Ｓ１８、Ｓ２０は、数秒から数分毎に、ユーザプログラムの合間に実行される。
【００５７】
まず、ステップＳ１０において、プロセッサＰＲＣは、接続された記憶装置ＳＳＤの情報を、ネットワークＮＷを介して制御部４００Ａから受ける。例えば、図８に示したプロセッサＰＲＣ０は、記憶装置ＳＳＤ０、ＳＳＤ１、ＳＳＤ２、ＳＳＤ３の接続情報を受ける。マルチプロセッサシステムに含まれる図８に示したプロセッサＰＲＣ１（またはＰＲＣ２）は、記憶装置ＳＳＤ１６、ＳＳＤ１７の接続情報を受ける。マルチプロセッサシステムでは、プロセッサＰＲＣの１つが図９に示すフローを実行する。
【００５８】
次に、ステップＳ１２において、システム内のプロセッサＰＲＣは、接続された記憶装置ＳＳＤの性能を監視する性能監視テーブルを作成する。性能監視テーブルの例は、図１０に示す。
【００５９】
ステップＳ１４において、プロセッサＰＲＣは、接続された各記憶装置ＳＳＤへのデータの書き込み量をモニタする。例えば、プロセッサＰＲＣは、オペレーティングシステムに搭載される統計情報の収集用のコマンドを用いて書き込み量をモニタする。オペレーティングシステムがＬｉｎｕｘ（登録商標）の場合、ｓａｒ（System Admin Reporter）コマンドが使用可能である。
【００６０】
ステップＳ１６において、プロセッサＰＲＣは、モニタした書き込み量を順次に加算し、累積書き込み量を求める。ステップＳ１８において、プロセッサＰＲＣは、累積書き込み量がしきい値を超えたか否かを判定する。プロセッサＰＲＣは、累積書き込み量がしきい値を超えていない場合、ステップＳ１４の動作に戻る。プロセッサＰＲＣは、累積書き込み量がしきい値を超えた場合、対応する記憶装置ＳＳＤの性能が低下したと判断し、ステップＳ２０の動作を実行する。ステップＳ２０において、プロセッサＰＲＣは、性能が低下した記憶装置ＳＳＤの番号を制御部４００Ａに通知する。
【００６１】
上述したように、所定量を超えるデータが書き込まれたフラッシュストレージは、データの書き込み要求に応答して消去動作が発生しやすくなり、書き込みデータのスループットが低下する。この実施形態では、データの累積書き込み量をモニタすることで、データの書き込みのスループットの低下を間接的に検出でき、記憶装置ＳＳＤの性能の低下を検出できる。
【００６２】
図１０は、図９に示したステップＳ１２により作成される性能監視テーブルの例を示す。性能監視テーブルは、ゾーングループ毎に作成される。各性能監視テーブルは、ゾーングループに属する記憶装置ＳＳＤ毎に、記憶装置ＳＳＤの総容量、システムの構築時の使用容量を示す初期使用容量、しきい値および累積書き込み量を格納する領域を有する。
【００６３】
例えば、各記憶装置ＳＳＤの総容量は１２０ギガバイトであり、初期使用容量は０ギガバイトであり、しきい値は１８０ギガバイトである。ゾーングループ１の構築後のある時点における記憶装置ＳＳＤ０、ＳＳＤ１、ＳＳＤ２、ＳＳＤ３の累積書き込み量は、例えば、１０ギガバイト、８０ギガバイト、２０ギガバイト、５ギガバイトである。ゾーングループ２の構築後のある時点における記憶装置ＳＳＤ１６、ＳＳＤ１７の累積書き込み量は、例えば、３０ギガバイト、５０ギガバイトである。
【００６４】
なお、ゾーングループ２の性能監視テーブルは、プロセッサＰＲＣ１またはプロセッサＰＲＣ２により作成され、管理される。例えば、プロセッサＰＲＣ１が性能監視テーブルを管理する場合、プロセッサＰＲＣ１は、所定の頻度でプロセッサＰＲＣ２に記憶装置ＳＳＤ１６、ＳＳＤ１７へのデータの書き込み量の通知を要求する。プロセッサＰＲＣ２は、プロセッサＰＲＣ１からの要求に応じて、記憶装置ＳＳＤ１６、ＳＳＤ１７へのデータの書き込み量を求め、プロセッサＰＲＣ１に通知する。反対に、プロセッサＰＲＣ２が性能監視テーブルを管理する場合、プロセッサＰＲＣ１は、プロセッサＰＲＣ２からの要求に応じて、記憶装置ＳＳＤ１６、ＳＳＤ１７へのデータの書き込み量を求め、プロセッサＰＲＣ２に通知する。
【００６５】
図１１は、図４に示した情報処理装置の動作の例を示す。システムの構築後の初期状態は、図６に示した全体管理テーブルＭＴＢＬ、図７に示した接続管理テーブルＣＴＢＬおよび図８により示される。図１１のフローにおいて、縦方向の破線（例えば、ステップＳ３４、Ｓ３６の間を接続する破線）は、着目する動作以外の動作が実行可能であることを示す。
【００６６】
図１１では、ゾーングループ１に属する記憶装置ＳＳＤの性能の低下が検出され、新たにゾーングループ３が構築され、性能の低下した記憶装置ＳＳＤを救済する例を示す。例えば、ゾーングループ１のフローは、プロセッサＰＲＣ０が管理プログラムを実行することにより実現され、ゾーングループ３のフローは、プロセッサＰＲＣ１５が管理プログラムを実行することにより実現される。制御部４００Ａのフローは、制御部４００ＡのプロセッサＰＲＣｃ（図５）が制御プログラムを実行することにより実現される。すなわち、ステップＳ６０、Ｓ６２、Ｓ６４、Ｓ６６、Ｓ６８、Ｓ７０、Ｓ７２は、情報処理装置の制御方法の例を示す。
【００６７】
まず、ステップＳ３０において、プロセッサＰＲＣ０は、ゾーングループ１に属する記憶装置ＳＳＤ０−ＳＳＤ３の性能を監視する。例えば、ステップＳ３０では、図９に示したステップＳ１４、Ｓ１６が実行される。次に、ステップＳ３２において、プロセッサＰＲＣ０は、記憶装置ＳＳＤ０−ＳＳＤ３の性能の低下を検出した場合、動作をステップＳ３４に移行する。プロセッサＰＲＣ０は、記憶装置ＳＳＤ０−ＳＳＤ３の性能の低下を検出しない場合、動作をステップＳ３０に移行する。例えば、ステップＳ３２は、図９に示したステップＳ１８に対応する動作である。
【００６８】
ステップＳ３４において、プロセッサＰＲＣ０は、性能の低下を検出した記憶装置ＳＳＤ（この例では、ＳＳＤ１）の情報を、ネットワークＮＷを介して制御部４００Ａに通知する。例えば、ステップＳ３４は、図９に示したステップＳ２０に対応する動作である。
【００６９】
プロセッサＰＲＣ０からの通知を受けた制御部４００Ａは、ステップＳ６０において、図６に示した全体管理テーブルＭＴＢＬを参照し、メモリプール２００Ａ内に未使用の記憶装置ＳＳＤがあるか否かを検出する。制御部４００Ａは、未使用の記憶装置ＳＳＤがある場合、動作をステップＳ６２に移行し、未使用の記憶装置ＳＳＤがない場合、動作を終了する。
【００７０】
ステップＳ６２において、制御部４００Ａは、図６に示した全体管理テーブルＭＴＢＬを参照し、未使用のプロセッサＰＲＣがあるか否かを検出する。制御部４００Ａは、未使用のプロセッサＰＲＣがある場合、動作をステップＳ６４に移行し、未使用のプロセッサＰＲＣがない場合、動作を終了する。なお、ステップＳ６０、Ｓ６２の順序は、入れ換えられてもよい。
【００７１】
未使用のプロセッサＰＲＣがない場合、ゾーングループ１における記憶装置ＳＳＤ０と記憶装置ＳＳＤ１５との入れ換えは実行されない。この場合、ゾーングループ１を構築するシステムの性能（記憶装置ＳＳＤ１のデータ転送レート）は低下する。しかしながら、記憶装置ＳＳＤの性能の低下は、記憶装置ＳＳＤの寿命や故障ではなく、性能が低下した記憶装置ＳＳＤは、正常に動作する。また、この実施形態では、性能が低下した記憶装置ＳＳＤを新たな記憶装置ＳＳＤに置き換える処理を実行する専用のコンピュータ装置ＰＣは、プロセッサプール１００Ａ内に確保されない。これにより、プロセッサプール１００Ａ内の全てのコンピュータ装置ＰＣをユーザシステムとして使用でき、情報処理装置の性能を向上できる。
【００７２】
ステップＳ６４において、制御部４００Ａは、例えば未使用のプロセッサＰＲＣ１５に、オペレーティングシステムＯＳおよび管理プログラムを記憶装置ＢＴから記憶装置ＭＤ１５に転送することを要求する。なお、制御部４００Ａは、全体管理テーブルＭＴＢＬを参照して、複数の未使用のプロセッサＰＲＣの中からプロセッサＰＲＣ１５以外の未使用のプロセッサＰＲＣも選択可能である。
【００７３】
転送の要求を受けたプロセッサＰＲＣ１５は、ステップＳ９０において、イニシャルプログラムを実行し、記憶装置ＢＴからオペレーティングシステムＯＳをブートしてコンピュータ装置ＰＣ１５を動作可能にする。さらに、プロセッサＰＲＣ１５は、管理プログラムを記憶装置ＢＴから記憶装置ＭＤ１５にダウンロードする。プロセッサＰＲＣ１５のその後の動作は、図１４に示す。
【００７４】
オペレーティングシステムＯＳおよび管理プログラムの記憶装置ＭＤ１５への転送は、記憶装置ＳＳＤを使用せずに実行可能であるため、ゾーングループ３の構築前に開始可能である。なお、制御部４００Ａは、ステップＳ６４をステップＳ６６より後で実行してもよい。しかしながら、オペレーティングシステムＯＳおよび管理プログラムの記憶装置ＭＤへの転送は、所定の時間が掛かるため、ステップＳ６０、Ｓ６２の判定後に実行することが好ましい。
【００７５】
また、図４に示したプロセッサプール１００Ａ内の未使用のコンピュータ装置ＰＣは、システムの構築前に、オペレーティングシステムＯＳおよび管理プログラムを記憶装置ＭＤに予め格納してもよい。この場合、ステップＳ６４およびステップＳ９０の処理は実行されない。
【００７６】
ステップＳ６６において、制御部４００Ａは、ネットワークＮＷを介して、性能が低下した記憶装置ＳＳＤ１の接続を解除する許可をプロセッサＰＲＣ０に要求する。ステップＳ３６において、接続解除の要求を受けたプロセッサＰＲＣ０は、性能が低下した記憶装置ＳＳＤ１の接続を解除する手続を実行する。例えば、プロセッサＰＲＣ０は、記憶装置ＳＤＤへの書き込み手続を変更し、ゾーングループ１の記憶装置ＳＳＤ０、ＳＳＤ１への書き込みを禁止する。そして、プロセッサＰＲＣ０は、ユーザプログラムによる書き込みデータを、記憶装置ＳＳＤ０、ＳＳＤ１の代わりに記憶装置ＭＤ０に書き込む。次に、ステップＳ３８において、プロセッサＰＲＣ０は、手続の完了を制御部４００Ａに通知する。プロセッサＰＲＣ０のその後の動作は、図１４に示す。
【００７７】
ステップＳ６８において、プロセッサＰＲＣ０から手続完了の通知を受けた制御部４００Ａは、全体管理テーブルＭＴＢＬおよび接続管理テーブルＣＴＢＬ０を変更し、接続部３００Ａに記憶装置ＳＳＤ１とプロセッサＰＲＣ０との接続を解除させる。すなわち、記憶装置ＳＳＤ１は、ゾーングループ１から切り離される。
【００７８】
ステップＳ７０において、制御部４００Ａは、全体管理テーブルＭＴＢＬおよび接続管理テーブルＣＴＢＬ０を変更し、接続部３００ＡにプロセッサＰＲＣ１５と記憶装置ＳＳＤ１とを接続させる。ステップＳ７２おいて、制御部４００Ａは、全体管理テーブルＭＴＢＬおよび接続管理テーブルＣＴＢＬ０を変更し、接続部３００ＡにプロセッサＰＲＣ１５と記憶装置ＳＳＤ１５とを接続させる。これにより、プロセッサＰＲＣ１５および記憶装置ＳＳＤ１、ＳＳＤ１５を含むゾーングループ３が構築される。なお、制御部４００Ａは、全体管理テーブルＭＴＢＬおよび接続管理テーブルＣＴＢＬ０の各々の１回の変更により、ステップＳ５８、Ｓ７０、Ｓ７２による記憶装置ＳＳＤの接続の切り替えを同じタイミングで実行してもよい。
【００７９】
ゾーングループ３は、性能が低下した記憶装置ＳＳＤ１から記憶装置ＳＳＤ１５へのデータのコピーと、記憶装置ＳＳＤ１の初期化とに使用される仮のシステムである。なお、制御部４００Ａは、全体管理テーブルＭＴＢＬに基づいて、複数の未使用の記憶装置ＳＳＤの中から任意の記憶装置ＳＳＤをプロセッサＰＲＣ１５に接続可能である。制御部４００Ａのその後の動作は、図１４に示す。
【００８０】
図１２は、図１１のステップＳ７２を実行した時点での情報処理装置の接続の例を示す。エキスパンダＥＸＰを介して接続されていないコンピュータ装置ＰＣと記憶装置ＳＳＤとを接続するケーブルの記載は省略する。
【００８１】
太い実線で接続されたコンピュータ装置ＰＣ０および記憶装置ＳＳＤ０、ＳＳＤ２、ＳＳＤ３（ＳＳＤ３は省略）は、ゾーングループ１に属する。太い破線で接続されたコンピュータ装置ＰＣ１、ＰＣ２および記憶装置ＳＳＤ１６、ＳＳＤ１７は、ゾーングループ２に属する。太い一点鎖線で接続されたコンピュータ装置ＰＣ１５および記憶装置ＳＳＤ１、ＳＳＤ１５は、ゾーングループ３に属する。
【００８２】
図１３は、図１１のステップＳ７２を実行した時点での全体管理テーブルＭＴＢＬの例を示す。接続管理テーブルＣＴＢＬは、全体管理テーブルＭＴＢＬと同じ情報を有する。
【００８３】
この例では、全体管理テーブルＭＴＢＬにおいて、プロセッサＰＲＣ０と記憶装置ＳＳＤ１の交差部分の領域から”１”が削除され、記憶装置ＳＳＤ０は、ゾーングループ１から切り離される。そして、プロセッサＰＲＣ１５と記憶装置ＳＳＤ１、ＳＳＤ１５の交差部分の領域に”３”が書き込まれ、記憶装置ＳＳＤ０は、記憶装置ＳＳＤ１５とともにプロセッサＰＲＣ１５に接続され、新たなゾーングループ３が構築される。
【００８４】
図１４は、図４に示した情報処理装置の動作の例を示す。図１４は、図１１の動作の続きを示す。図１４のフローにおいて、縦方向の破線（例えば、ステップＳ４６、Ｓ４８の間を接続する破線）は、着目する動作以外の動作が実行可能であることを示す。
【００８５】
図１１と同様に、例えば、ゾーングループ１のフローは、プロセッサＰＲＣ０が管理プログラムを実行することにより実現され、ゾーングループ３のフローは、プロセッサＰＲＣ１５が管理プログラムを実行することにより実現される。制御部４００Ａのフローは、制御部４００ＡのプロセッサＰＲＣｃが制御プログラムを実行することにより実現される。すなわち、ステップＳ７４、Ｓ７６、Ｓ７８、Ｓ８０、Ｓ８２、Ｓ８４は、情報処理装置の制御方法の例を示す。
【００８６】
まず、ステップＳ４０において、プロセッサＰＲＣ０は、ユーザプログラムによる記憶装置ＳＳＤへの書き込み要求を受けた場合、ステップＳ４２の動作を実行する。ステップＳ４２において、プロセッサＰＲＣ０は、記憶装置ＭＤ０の容量に空きがある場合、ステップＳ４４の動作を実行し、記憶装置ＭＤ０の容量に空きがない場合、ステップＳ４６の動作を実行する。
【００８７】
ステップＳ４４において、プロセッサＰＲＣ０は、書き込み要求に伴う書き込みデータをメモリバッファとして機能する記憶装置ＭＤ０に書き込む。これにより、記憶装置ＳＳＤ０、ＳＳＤ１によるＲＡＩＤ１システムが解消された後も、書き込みデータを失うことなく保持できる。ステップＳ４６において、記憶装置ＭＤ０の容量に空きがない場合、プロセッサＰＲＣ０は、書き込み要求に伴う書き込みデータを、性能の低下が判定された記憶装置ＳＳＤ１とＲＡＩＤ１システムを組んでいた記憶装置ＳＳＤ０に書き込む。これにより、記憶装置ＭＤ０の容量に空きがない場合にも、書き込みデータを失うことなく保持できる。
【００８８】
一方、制御部４００Ａは、ステップＳ７４において、ネットワークＮＷを介して、記憶装置ＳＳＤ１から記憶装置ＳＳＤ１５へのデータのコピー要求をプロセッサＰＲＣ１５に通知する。ステップＳ９２において、制御部４００Ａからコピー要求を受けたプロセッサＰＲＣ１５は、管理プログラムを実行して、性能が低下した記憶装置ＳＳＤ１に格納されたデータを記憶装置ＳＳＤ１５にコピーする。例えば、オペレーティングシステムがＬｉｎｕｘの場合、管理プログラムは、ｄｄコマンドを使用してデータのコピーを実行可能である。ステップＳ９４において、プロセッサＰＲＣ１５は、ネットワークＮＷを介してコピーの完了を制御部４００Ａに通知する。
【００８９】
ステップＳ７６において、制御部４００Ａは、全体管理テーブルＭＴＢＬおよび接続管理テーブルＣＴＢＬ０を変更し、接続部３００Ａに記憶装置ＳＳＤ１５とプロセッサＰＲＣ１５との接続を解除させる。これにより、記憶装置ＳＳＤ１５は、ゾーングループ３から切り離される。ステップＳ７８において、制御部４００Ａは、全体管理テーブルＭＴＢＬおよび接続管理テーブルＣＴＢＬ０を変更し、接続部３００ＡにプロセッサＰＲＣ０と記憶装置ＳＳＤ１５とを接続させる。これにより、記憶装置ＳＳＤ１５は、ゾーングループ１に含まれる。
【００９０】
ステップＳ８０おいて、制御部４００Ａは、ネットワークＮＷを介して、記憶装置ＳＳＤ１５をプロセッサＰＲＣ０に接続したことをプロセッサＰＲＣ０に通知する。なお、図１４では、説明を分かりやすくするために、ステップＳ７６、Ｓ７８を分けている。しかしながら、実際の動作では、接続部３００Ａは、全体管理テーブルＭＴＢＬおよび接続管理テーブルＣＴＢＬ０の変更に伴って、ステップＳ７６、Ｓ７８を１つの動作として実行してもよい。
【００９１】
ステップＳ４８において、記憶装置ＳＳＤ１５の接続の通知を受けたプロセッサＰＲＣ０は、記憶装置ＳＳＤ１５の接続の手続を実行する。例えば、プロセッサＰＲＣ１５は、記憶装置ＳＳＤ０、ＳＳＤ１５によりＲＡＩＤ１システムを構築する手続を実行する。ステップＳ５０において、プロセッサＰＲＣ０は、ステップＳ４４の動作により記憶装置ＭＤ０に書き込んだデータを記憶装置ＳＳＤ０、ＳＳＤ１５に転送する。
【００９２】
ステップＳ５２において、プロセッサＰＲＣ０は、ステップＳ４６によりデータを記憶装置ＳＳＤに書き込んだか否かを判定する。データを記憶装置ＳＳＤ０に書き込んだ場合、プロセッサＰＲＣ０は、ステップＳ５４の動作を実行する。データを記憶装置ＳＳＤ０に書き込んでいない場合、動作は終了する。
【００９３】
ステップＳ５４において、プロセッサＰＲＣ０は、記憶装置ＳＳＤ０、ＳＳＤ１５の同期処理（例えば、ＲＡＩＤ１の再構築）を実行する。ステップＳ５０、Ｓ５４の動作により、性能が低下した記憶装置ＳＳＤ１を未使用の記憶装置ＳＳＤ１５に置き換える場合に、データの冗長性を保証でき、システムの信頼性を向上できる。
【００９４】
一方、ステップＳ８２において、制御部４００Ａは、ネットワークＮＷを介して、記憶装置ＳＳＤ１の初期化要求をプロセッサＰＲＣ１５に通知する。ステップＳ９６において、初期化要求を受けたプロセッサＰＲＣ１５は、記憶装置ＳＳＤ１の初期化を実行する。例えば、初期化要求を受けたプロセッサＰＲＣ１５は、記憶装置ＳＳＤ１をフォーマットし、全てのデータを消去することで初期化を実行する。例えば、オペレーティングシステムがＬｉｎｕｘの場合、管理プログラムは、ｄｈｐａｒｍコマンドを使用して記憶装置ＳＳＤ１をフォーマット可能である。記憶装置ＳＳＤ１は、フォーマットにより初期状態になるため、消去動作を伴うデータ書き込みの頻度はゼロになる。これにより、記憶装置ＳＳＤ１が新たなシステムに組み込まれた場合に、データ書き込みのスループットは向上する。
【００９５】
ステップＳ９８において、プロセッサＰＲＣ１５は、ネットワークＮＷを介して、記憶装置ＳＳＤ１の初期化が完了したことを制御部４００Ａに通知する。なお、ステップＳ８２、Ｓ９６、Ｓ９８の動作は、ステップＳ９４の実行後、ステップＳ７６の実行前に実行してもよい。
【００９６】
ステップＳ１００において、プロセッサＰＲＣ１５は、コンピュータ装置ＰＣ１５のシャットダウン処理を実行する。なお、図４に示したプロセッサプール１００Ａ内の未使用のコンピュータ装置ＰＣが、システムの構築前に、オペレーティングシステムＯＳおよび管理プログラムを予め記憶装置ＭＤに格納する場合、ステップＳ１００によるシャットダウン処理は実行されない。
【００９７】
ステップＳ８４において、制御部４００Ａは、初期化の完了の通知に基づいて、全体管理テーブルＭＴＢＬおよび接続管理テーブルＣＴＢＬ０を変更し、記憶装置ＳＳＤ１とプロセッサＰＲＣ１５との接続を解除する。これにより、プロセッサＰＲＣ１５から全ての記憶装置ＳＳＤ０、ＳＳＤ１５が切り離され、プロセッサＰＲＣ１５はプロセッサプール１００Ａに戻され、構築された仮のシステム（ゾーングループ３）は解消される。
【００９８】
なお、性能が低下した記憶装置ＳＳＤ１の初期化は、記憶装置ＳＳＤ１が新たなシステムに組み込まれた時点で実行されてもよい。この場合、ステップＳ９６、Ｓ９８の動作は実行されない。
【００９９】
以上、この実施形態においても、図１に示した情報処理装置と同様に、システム内のプロセッサＰＲＣの負荷の増加を抑えながら、性能が低下した記憶装置ＳＳＤを未使用の記憶装置ＳＳＤと置き換えでき、システム内の記憶装置ＳＳＤの性能を回復できる。また、構築された仮のシステムをデータのコピー処理および記憶装置ＳＳＤの初期化処理を完了した後に解消することで、プロセッサプール１００Ａ内のプロセッサＰＲＣの使用効率を向上できる。
【０１００】
さらに、ＲＡＩＤ１システムを組む記憶装置ＳＳＤの一方の性能が低下し、未使用の記憶装置ＳＳＤに置き換えられた場合にも、データの冗長性を保証でき、システムの信頼性を向上できる。
【０１０１】
図１５および図１６は、別の実施形態における情報処理装置の動作の例を示す。情報処理装置は、制御部４００Ａが実行する制御プログラムおよび各プロセッサＰＲＣが実行する管理プログラムが、図４に示した情報処理装置と異なる。また、この実施形態では、システムに含まれる複数の記憶装置ＳＳＤにより、ＲＡＩＤ５システムまたはＲＡＩＤ６システムが構築される。情報処理装置のその他の構成は、図４に示した情報処理装置と同様である。全体管理テーブルＭＴＢＬ、接続管理テーブルＣＴＢＬおよび性能監視テーブルは、図６、図７および図１０とそれぞれ同様または同一である。
【０１０２】
ＲＡＩＤ５システムを採用する場合、システム内の記憶装置ＳＳＤの１つで発生した読み出しデータのエラーは訂正可能であり、ＲＡＩＤ６システムを採用する場合、システム内の記憶装置ＳＳＤの２つで発生した読み出しデータのエラーは訂正可能である。
【０１０３】
このため、システム内の記憶装置ＳＳＤの１つが、性能の低下に伴ってシステムから切り離された場合にも、システム内のプロセッサＰＲＣは、記憶装置ＭＤに書き込みデータを保持しない。システム内のプロセッサＰＲＣは、性能が低下した記憶装置ＳＳＤに格納されたデータを未使用の記憶装置ＳＳＤにコピーしない。未使用の記憶装置ＳＳＤは、未使用のプロセッサＰＲＣに接続されることなく、システム内のプロセッサＰＲＣに接続される。システム内の性能が低下してない正常な記憶装置ＳＳＤと、未使用の記憶装置ＳＳＤとデータの同期は、ＲＡＩＤ５システムまたはＲＡＩＤ６システムの再構築処理によって実行される。
【０１０４】
したがって、図１５において、実行制御部４００Ａが実行する制御プログラムは、図１１に示したステップＳ６６、Ｓ７２を実行しない。各プロセッサＰＲＣが実行する管理プログラムは、図１１に示したステップＳ３６、Ｓ３８を実行しない。図１５は、ステップＳ６６、Ｓ７２、Ｓ３６、Ｓ３８が実行されないことを除き、図１１と同様または同一である。すなわち、システム内のプロセッサＰＲＣ（例えば、ＰＲＣ０）は、図９に示した動作を実行し、図１０に示した性能監視テーブルの累積書き込み量に基づいて、記憶装置ＳＳＤの性能の低下を検出する。制御部４００Ａは、記憶装置ＳＳＤの性能が低下したことに基づいて、未使用の記憶装置ＳＳＤおよび未使用のプロセッサＰＲＣがある場合に、性能が低下した記憶装置ＳＳＤを未使用の記憶装置ＳＳＤに置き換える。
【０１０５】
図１６において、実行制御部４００Ａが実行する制御プログラムは、図１４に示したステップＳ７４、Ｓ７６を実行しない。各プロセッサＰＲＣが実行する管理プログラムは、図１４に示したステップＳ４２、Ｓ４４、Ｓ４８、Ｓ５０、Ｓ５２、Ｓ９２、Ｓ９４を実行しない。図１６は、ステップＳ７４、Ｓ７６、ステップＳ４２、Ｓ４４、Ｓ４８、Ｓ５０、Ｓ５２、Ｓ９２、Ｓ９４が実行されないことを除き、図１４と同様または同一である。すなわち、仮のシステム内のプロセッサＰＲＣ（例えば、ＰＲＣ１５）は、性能が低下した記憶装置ＳＳＤを初期化し、初期化の完了後に、構築された仮のシステムは解消される。
【０１０６】
図１７は、図１６のステップＳ７８を実行した時点での情報処理装置の接続の例を示す。エキスパンダＥＸＰを介して接続されていないコンピュータ装置ＰＣと記憶装置ＳＳＤとを接続するケーブルの記載は省略する。太い実線、太い破線および太い一点鎖線の意味は、図１２と同様である。
【０１０７】
この実施形態では、性能が低下した記憶装置ＳＳＤ１からシステムで新たに使用する記憶装置ＳＳＤ１５にデータがコピーされないため、未使用の記憶装置ＳＳＤ１５は、プロセッサＰＲＣ１５に接続されることなくプロセッサＰＲＣ０に接続される。
【０１０８】
以上、この実施形態においても、図１および図４に示した情報処理装置と同様に、システム内のプロセッサＰＲＣの負荷の増加を抑えながら、性能が低下した記憶装置ＳＳＤを未使用の記憶装置ＳＳＤと置き換えでき、システム内の記憶装置ＳＳＤの性能を回復できる。また、仮のシステムの構築を、データのコピー処理および記憶装置ＳＳＤの初期化処理を完了した後に解消することで、プロセッサプール１００Ａ内のプロセッサＰＲＣの使用効率を向上できる。
【０１０９】
さらに、ＲＡＩＤ５システムまたはＲＡＩＤ６システムを構築することで、データの記憶装置ＭＤへの書き込み処理を省略でき、仮のシステムによるデータのコピー処理を省略できる。これにより、性能が低下した記憶装置ＳＳＤが未使用の記憶装置ＳＳＤに置き換えられた場合にも、データの冗長性を保証でき、システムの信頼性を向上できる。
【０１１０】
図１８は、別の実施形態における情報処理装置の例を示す。図４に示した要素と同様または同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の情報処理装置は、図４の制御部４００Ａの代わりに制御部４００Ｂを有する。また、プロセッサプール１００Ａは、図４に示したプロセッサプール１００Ａと同様または同一のハードウエアを有するが、性能監視テーブルと、各プロセッサＰＲＣにより実行される管理プログラムとが、図４から図１４に示した実施形態と相違する。情報処理装置のその他の構成は、図４と同様または同一である。システム内のプロセッサＰＲＣが実行する管理プログラムの例は図２０に示し、性能監視テーブルの例は図２１に示す。
【０１１１】
この実施形態の情報処理装置は、図４の情報処理装置と同様に、ＲＡＩＤ１システムを構築し、図１１および図１４と同様に動作するが、ＲＡＩＤ５システムまたはＲＡＩＤ６システムを構築し、図１５および図１６と同様に動作してもよい。
【０１１２】
制御部４００Ｂは、全体管理テーブルＭＴＢＬおよびメモリ特性テーブルＳＴＢＬを有する。全体管理テーブルＭＴＢＬは、図６と同様または同一である。メモリ特性テーブルＳＴＢＬの例は、図１９に示す。制御部４００Ｂは、性能が低下した記憶装置ＳＳＤと入れ換える記憶装置ＳＳＤを、メモリ特性テーブルＳＴＢＬを用いて決定することを除き、図４に示した制御部４００Ａと同様の機能を有する。
【０１１３】
すなわち、システム内のプロセッサＰＲＣは、図２０のステップＳ１８に基づいて、図２０に示した性能監視テーブルの累積書き込み量に基づいて、記憶装置ＳＳＤの性能の低下を検出する。システム内のプロセッサＰＲＣは、性能が低下した記憶装置ＳＳＤが切り離された後、書き込みデータを記憶装置ＭＤまたは性能が低下した記憶装置ＳＳＤと対の関係にある記憶装置ＳＳＤ（例えば、ＳＳＤ０）に書き込む。
【０１１４】
制御部４００Ｂは、記憶装置ＳＳＤの性能が低下したことに基づいて、未使用の記憶装置ＳＳＤおよび未使用のプロセッサＰＲＣがある場合に、性能が低下した記憶装置ＳＳＤを未使用の記憶装置ＳＳＤに置き換える。仮のシステム内のプロセッサＰＲＣは、性能が低下した記憶装置ＳＳＤ内のデータを未使用の記憶装置ＳＳＤにコピーし、性能が低下した記憶装置ＳＳＤを初期化する。構築された仮のシステムは、初期化の完了後に解消される。
【０１１５】
図１９は、図１８に示したメモリ特性テーブルＳＴＢＬの例を示す。メモリ特性テーブルＳＴＢＬは、型式や製造メーカにより異なる記憶装置ＳＳＤの特性が予め格納される。この実施形態では、各記憶装置ＳＳＤは、読み出し特性および書き込み特性に応じて、符号ＲＤ、ＷＲ、ＲＷで示すいずれかの特性に分類される。
【０１１６】
符号ＲＤは、データの読み出し特性がデータの書き込み特性より優れた記憶装置ＳＳＤを示し、符号ＷＲは、データの書き込み特性がデータの読み出し特性より優れた記憶装置ＳＳＤを示し、符号ＲＷは、データの読み出し特性とデータの書き込み特性とに優位差がないその他の記憶装置ＳＳＤを示す。読み出し特性が書き込み特性より優れた記憶装置ＳＳＤは、符号ＲＤの欄に数値”１”が格納され、書き込み特性が読み出し特性より優れた記憶装置ＳＳＤは、符号ＷＲの欄に数値”１”が格納され、その他の記憶装置ＳＳＤは、符号ＲＷの欄に”１”が格納される。
【０１１７】
制御部４００Ｂは、ユーザシステムが構築される前（例えば、情報処理装置の運用の開始時）にメモリ特性テーブルＳＴＢＬに数値を書き込む。例えば、制御部４００Ｂは、データの読み出し特性がデータの書き込み特性より優れた記憶装置ＳＳＤ０−ＳＳＤ１５の符号ＲＤの領域に数値”１”を書き込む。制御部４００Ｂは、データの書き込み特性がデータの読み出し特性より優れた記憶装置ＳＳＤ１６−３１の符号ＷＲの領域に数値”１”を書き込む。同様に、制御部４００Ｂは、データの読み出し特性とデータの書き込み特性との優位差がない記憶装置ＳＳＤ３２−ＳＳＤ６３の符号ＲＷの領域に数値”１”を書き込む。なお、メモリ特性テーブルＳＴＢＬに符号ＲＷの欄を設けずに、各記憶装置ＳＳＤを符号ＲＤまたは符号ＷＲのいずれかに分類してもよい。
【０１１８】
例えば、この実施形態の初期状態の全体管理テーブルＭＴＢＬおよび接続管理テーブルＣＴＢＬの設定値は、図６に示した全体管理テーブルＭＴＢＬおよび図７に示した接続管理テーブルＣＴＢＬと同じである。すなわち、この実施形態の情報処理装置の初期のシステム構成は、制御部４００Ｂが異なることを除き、図８に示される。
【０１１９】
全体管理テーブルＭＴＢＬおよび接続管理テーブルＣＴＢＬは、図１９に示したメモリ特性テーブルＳＴＢＬに基づいて作成される。例えば、図６において、Ｗｅｂサーバ等のシステムが構築される数値”１”で示されるゾーングループ１では、記憶装置ＳＳＤに書き込まれたデータの更新の頻度は、データベース等のシステムに比べて低い。このため、ゾーングループ１では、読み出し特性が書き込み特性より優れた記憶装置ＳＳＤ０−ＳＳＤ３が割り当てられる。一方、図６において、データベース等のシステムが構築される数値”２”で示されるゾーングループ２では、記憶装置ＳＳＤに書き込まれたデータの更新の頻度は、Ｗｅｂサーバ等のシステムに比べて高い。このため、ゾーングループ２では、書き込み特性が読み出し特性より優れた記憶装置ＳＳＤ１６、ＳＳＤ１７が割り当てられる。
【０１２０】
図２０は、図１８に示したプロセッサＰＲＣにより記憶装置ＳＳＤの性能の低下を検出する例を示す。図２０に示すフローは、構築されたシステム内のプロセッサＰＲＣが管理プログラムを実行することにより実現される。ステップＳ１０、Ｓ１２、Ｓ１４、Ｓ１６、Ｓ１８は、図９と同様または同一である。ステップＳ１２では、プロセッサＰＲＣは、図１０に示した性能監視テーブルの代わりに、図２１に示す性能監視テーブルを作成する。ステップＳ２１は、図９に示したステップＳ２０の代わりに実行される。図９と同様に、ステップＳ１４、Ｓ１５、Ｓ１６、Ｓ１７、Ｓ１８、Ｓ１９、Ｓ２１は、数秒から数分毎に、ユーザプログラムの合間に実行される。
【０１２１】
ステップＳ１４で記憶装置ＳＳＤへのデータの書き込み量をモニタした後、ステップＳ１５において、プロセッサＰＲＣは、記憶装置ＳＳＤからのデータの読み出し量をモニタする。例えば、プロセッサＰＲＣは、オペレーティングシステムに搭載される統計情報の収集用のコマンドを用いて読み出し量をモニタする。例えば、オペレーティングシステムがＬｉｎｕｘの場合、ｓａｒコマンドが使用可能である。
【０１２２】
ステップＳ１６で累積書き込み量を求めた後、ステップＳ１７において、プロセッサＰＲＣは、モニタした読み出し量を順次に加算し、累積読み出し量を求める。ステップＳ１８で累積書き込み量がしきい値を超え、当該記憶装置ＳＳＤの性能が低下したと判定された場合、プロセッサＰＲＣは、ステップＳ１９の動作を実行する。
【０１２３】
なお、累積書き込み量を書き込み量のモニタ後に求め、累積読み出し量を読み出し量のモニタ後に求める条件を満足する場合、ステップＳ１４、Ｓ１６、Ｓ１８、Ｓ２０の順序は、入れ換えてもよい。例えば、ステップＳ１４、Ｓ１５の順序は入れ換えてもよく、ステップＳ１６、Ｓ１７の順序は入れ換えてもよい。また、ステップＳ１５、Ｓ１６の順序を入れ換えてもよい。
【０１２４】
ステップＳ１９において、プロセッサＰＲＣは、性能が低下した記憶装置ＳＳＤに関して、ユーザプログラムを実行するシステムによるアクセス種別の傾向を示すワークロード特性を判定する。この実施形態では、各システムは、次の３つのワークロード特性のいずれかに分類される。
（１）読み出し頻度が書き込み頻度に比べて高く、データの読み出し量がデータの書き込み量に比べて多い。
（２）書き込み頻度が読み出し頻度に比べて高く、データの書き込み量がデータの読み出し量に比べて高い。
（３）読み出し頻度と書き込み頻度の差が小さく、データの読み出し量とデータの書き込み量とに有意差がない。
【０１２５】
例えば、各記憶装置ＳＳＤの読み出しアクセスの比率が全てアクセスの６０％を超える場合、ワークロード特性（１）と判定される。各記憶装置ＳＳＤの書き込みアクセスの比率が全てアクセスの６０％を超える場合、ワークロード特性（２）と判定される。ワークロード特性（１）、（２）のいずれにも該当しない場合、ワークロード特性（３）と判定される。なお、ワークロード特性を判定するアクセスの比率は、５０％を超えていればよい。
【０１２６】
次に、ステップＳ２１において、プロセッサＰＲＣは、性能が低下した記憶装置ＳＳＤの番号と、性能が低下した記憶装置ＳＳＤのワークロード特性とを制御部４００Ａに通知する。
【０１２７】
プロセッサＰＲＣからの通知を受けた制御部４００Ａは、図１１に示したステップＳ６０において、図６に示した全体管理テーブルＭＴＢＬおよび図１９に示したメモリ特性テーブルＳＴＢＬを参照する。そして、制御部４００Ａは、未使用の記憶装置ＳＳＤの中に、プロセッサＰＲＣから受けたワークロード特性に適合する記憶装置ＳＳＤがあるか否かを検出する。ワークロード特性に適合する未使用の記憶装置ＳＳＤがある場合、制御部４００Ａは、その記憶装置ＳＳＤの１つを、性能が低下した記憶装置ＳＳＤ１と置き換える決定をする。情報処理装置のその他の動作は、図１１から図１４と同様である。
【０１２８】
図２１は、図２０に示したステップＳ１２により作成される性能監視テーブルの例を示す。性能監視テーブルは、図１０と同様にゾーングループ毎に作成される。この例では、性能監視テーブルは、図７に示した接続管理テーブルＣＴＢＬに対応して作成される。
【０１２９】
各性能監視テーブルは、ゾーングループに属する記憶装置ＳＳＤ毎に、記憶装置ＳＳＤの総容量、システムの構築時の初期使用容量、しきい値、累積書き込み量および累積読み出し量を格納する領域を有する。各記憶装置ＳＳＤの総容量、初期使用容量、しきい値、累積書き込み量は、図１０と同様である。ゾーングループ１では、記憶装置ＳＳＤ０、ＳＳＤ１、ＳＳＤ２、ＳＳＤ３の累積読み出し量は、それぞれ５０ギガバイト、１００ギガバイト、３２０ギガバイト、１５ギガバイトである。ゾーングループ２では、記憶装置ＳＳＤ１６、ＳＳＤ１７の累積読み出し量は、５ギガバイト、１０ギガバイトである。図２１は、ゾーングループ１およびゾーングループ２が構築された後、システムがしばらく運用された状態を示す。
【０１３０】
以上、この実施形態においても、図１および図４に示した情報処理装置と同様に、システム内のプロセッサＰＲＣの負荷の増加を抑えながら、性能が低下した記憶装置ＳＳＤを未使用の記憶装置ＳＳＤと置き換えでき、システム内の記憶装置ＳＳＤの性能を回復できる。仮のシステムの構築を、データのコピー処理および記憶装置ＳＳＤの初期化処理を完了した後に解消することで、プロセッサプール１００Ａ内のプロセッサＰＲＣの使用効率を向上できる。また、データの冗長性を保証でき、システムの信頼性を向上できる。
【０１３１】
さらに、システム内で使用される記憶装置ＳＳＤのワークロード特性を求め、性能が低下した記憶装置ＳＳＤをワークロード特性に適合する未使用の記憶装置ＳＳＤと置き換えることで、システムの性能を低下させることなく、システムを運用できる。
【０１３２】
図２２は、別の実施形態におけるメモリ特性テーブルＳＴＢＬの例を示す。情報処理装置は、メモリ特性テーブルＳＴＢＬおよび各プロセッサＰＲＣが実行する管理プログラムが異なることを除き、図１８に示した情報処理装置と同様である。全体管理テーブルＭＴＢＬ、接続管理テーブルＣＴＢＬおよび性能監視テーブルは、図６、図７および図２１とそれぞれ同様または同一である。
【０１３３】
すなわち、システム内のプロセッサＰＲＣは、図２０のステップＳ１８に基づいて、図２０に示した性能監視テーブルの累積書き込み量に基づいて、記憶装置ＳＳＤの性能の低下を検出する。システム内のプロセッサＰＲＣは、性能が低下した記憶装置ＳＳＤが切り離された後、書き込みデータを記憶装置ＭＤまたは性能が低下した記憶装置ＳＳＤと対の関係にある記憶装置ＳＳＤ（例えば、ＳＳＤ０）に書き込む。
【０１３４】
図１８に示した制御部４００Ｂは、記憶装置ＳＳＤの性能が低下したことに基づいて、未使用の記憶装置ＳＳＤおよび未使用のプロセッサＰＲＣがある場合に、性能が低下した記憶装置ＳＳＤを未使用の記憶装置ＳＳＤに置き換える。仮のシステム内のプロセッサＰＲＣは、性能が低下した記憶装置ＳＳＤ内のデータを未使用の記憶装置ＳＳＤにコピーし、性能が低下した記憶装置ＳＳＤを初期化する。構築された仮のシステムは、初期化の完了後に解消される。
【０１３５】
この実施形態の情報処理装置は、図４の情報処理装置と同様に、ＲＡＩＤ１システムを構築し、図１１および図１４と同様に動作するが、ＲＡＩＤ５システムまたはＲＡＩＤ６システムを構築し、図１５および図１６と同様に動作してもよい。
【０１３６】
メモリ特性テーブルＳＴＢＬは、型式や製造メーカにより異なる各記憶装置ＳＳＤの特性が予め格納される。この実施形態では、各記憶装置ＳＳＤは、符号ＲＤＳ、ＲＤＲ、ＷＲＳ、ＷＲＲ、ＲＷで示すいずれかの特性に分類される。
【０１３７】
符号ＲＤＳは、データのシーケンシャル読み出し特性が他の特性より優れた記憶装置ＳＳＤを示し、符号ＲＤＲは、データのランダム読み出し特性が他の特性より優れた記憶装置ＳＳＤを示す。符号ＷＲＳは、データのシーケンシャル書き込み特性が他の特性より優れた記憶装置ＳＳＤを示し、符号ＷＲＲは、データのランダム書き込み特性が他の特性より優れた記憶装置ＳＳＤを示す。符号ＲＷは、読み出し特性と書き込み特性とに優位差がないその他の記憶装置ＳＳＤを示す。
【０１３８】
例えば、シーケンシャル読み出しおよびシーケンシャル書き込みは、プロセッサＰＲＣが指定する記憶装置ＳＳＤのアクセス領域が連続することを示す。ランダム読み出しおよびランダム書き込みは、プロセッサＰＲＣが指定する記憶装置ＳＳＤのアクセス領域が不連続であることを示す。
【０１３９】
図１９と同様に、シーケンシャル読み出し特性に優れた記憶装置ＳＳＤは、符号ＲＤＳの欄に数値”１”が格納され、ランダム読み出し特性に優れた記憶装置ＳＳＤは、符号ＲＤＲの欄に数値”１”が格納される。シーケンシャル書き込み特性に優れた記憶装置ＳＳＤは、符号ＷＲＳの欄に数値”１”が格納され、ランダム書き込み特性に優れた記憶装置ＳＳＤは、符号ＷＲＲの欄に数値”１”が格納される。読み出し特性と書き込み特性とに差がない記憶装置ＳＳＤは、符号ＲＷの欄に”１”が格納される。
【０１４０】
システムとして構築されたプロセッサＰＲＣが実行する管理プログラムは、ステップＳ１９の動作が異なることを除き、図２０と同様である。プロセッサＰＲＣは、ステップＳ１９において、性能が低下した記憶装置ＳＳＤに関して、ユーザプログラムを実行するシステムによるアクセス種別の傾向を示すワークロード特性を判定する。
【０１４１】
この実施形態では、各システムは、次の５つのワークロード特性のいずれかに分類される。
（４）シーケンシャル読み出しの頻度が他のアクセス頻度に比べて高く、データのシーケンシャル読み出し量が、データのランダム読み出し量、データのシーケンシャル書き込み量およびデータのランダム書き込み量より多い。
（５）ランダム読み出しの頻度が他のアクセス頻度に比べて高く、データのランダム読み出し量が、データのシーケンシャル読み出し量、データのシーケンシャル書き込み量およびデータのランダム書き込み量より多い。
（６）シーケンシャル書き込みの頻度が他のアクセス頻度に比べて高く、データのシーケンシャル書き込み量が、データのシーケンシャル読み出し量、データのランダム読み出し量およびデータのランダム書き込み量より多い。
（７）ランダム書き込みの頻度が他のアクセス頻度に比べて高く、データのランダム書き込み量が、データのシーケンシャル読み出し量、データのランダム読み出し量およびデータのシーケンシャル書き込み量より多い。
（８）読み出し頻度と書き込み頻度の差が小さく、データのシーケンシャル読み出し量、データのランダム読み出し量、データのシーケンシャル書き込み量およびデータのランダム書き込み量の間に優位差がない。
【０１４２】
例えば、各記憶装置ＳＳＤのシーケンシャル読み出しアクセスの比率が全てアクセスの６０％を超える場合、ワークロード特性（４）と判定される。各記憶装置ＳＳＤのランダム読み出しアクセスの比率が全てアクセスの６０％を超える場合、ワークロード特性（５）と判定される。各記憶装置ＳＳＤのシーケンシャル書き込みアクセスの比率が全てアクセスの６０％を超える場合、ワークロード特性（６）と判定される。各記憶装置ＳＳＤのランダム書き込みアクセスの比率が全てアクセスの６０％を超える場合、ワークロード特性（７）と判定される。ワークロード特性（４）、（５）、（６）、（７）のいずれにも該当しない場合、ワークロード特性（８）と判定される。なお、ワークロード特性を判定するアクセスの比率は、５０％を超えていればよい。
【０１４３】
図２０のステップＳ２１において、プロセッサＰＲＣから性能が低下した記憶装置ＳＳＤのワークロード特性を受けた制御部４００Ａは、図１１に示したステップＳ６０において、図６に示した全体管理テーブルＭＴＢＬおよび図２２に示したメモリ特性テーブルＳＴＢＬを参照する。そして、制御部４００Ａは、未使用の記憶装置ＳＳＤの中に、プロセッサＰＲＣから受けたワークロード特性に適合する記憶装置ＳＳＤがあるか否かを検出する。ワークロード特性に適合する未使用の記憶装置ＳＳＤがある場合、制御部４００Ａは、その記憶装置ＳＳＤの１つを、性能が低下した記憶装置ＳＳＤ１と置き換える決定をする。情報処理装置のその他の動作は、図１１から図１４と同様である。
【０１４４】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
複数の演算処理装置と、
複数の記憶装置と、
前記複数の演算処理装置のうち第１の演算処理装置と、前記複数の記憶装置のうち二重化された第１の記憶装置と第２の記憶装置とを接続する接続部と、
前記第２の記憶装置の性能が低下した場合、性能が低下した前記第２の記憶装置を、前記第１の演算処理装置と前記第１の記憶装置から前記接続部に切り離させ、前記複数の記憶装置のうち第３の記憶装置を、前記第１の記憶装置と二重化させるとともに、二重化させた前記第１の記憶装置と前記第３の記憶装置を、前記第１の演算処理装置に対して前記接続部に接続させ、前記複数の演算処理装置のうち第２の演算処理装置を、切り離した前記第２の記憶装置に対して前記接続部に接続させるとともに、前記第２の記憶装置を前記第２の演算処理装置に初期化させる制御部を有することを特徴とする情報処理装置。
（付記２）
前記制御部は、前記第３の記憶装置を、前記第１の演算処理装置に接続させる前に前記第２の演算処理装置に対して前記接続部に接続させ、前記第２の記憶装置を前記第２の演算処理装置に初期化させる前に、前記第２の記憶装置に格納されたデータの前記第３の記憶装置へのコピーを前記第２の演算処理装置に実行させ、データがコピーされた前記第３の記憶装置を前記第１の演算処理装置に接続させることを特徴とする付記１記載の情報処理装置。
（付記３）
前記第１の演算処理装置に接続されたメモリバッファを備え、
前記第１の演算処理装置は、前記第２の記憶装置を切り離した後、データを前記第１の記憶装置に書き込む代わりに前記メモリバッファに書き込み、
前記制御部は、データがコピーされた前記第３の記憶装置を前記第１の演算処理装置に接続させた後に、前記第１の演算処理装置に、前記メモリバッファに書き込まれたデータを前記第１の記憶装置および前記第３の記憶装置に書き込ませることを特徴とする付記２記載の情報処理装置。
（付記４）
前記第１の演算処理装置は、性能が低下した前記第２の記憶装置を切り離した後、前記メモリバッファにおけるデータを書き込む領域が不足した場合、前記第１の記憶装置にデータを書き込み、前記メモリバッファに書き込まれたデータを前記第１の記憶装置および前記第３の記憶装置に書き込んだ後、前記第１の記憶装置および前記第３の記憶装置に格納されたデータを互いに同期させることを特徴とする付記３記載の情報処理装置。
（付記５）
前記制御部は、前記第２の記憶装置を初期化させた後に、前記第２の演算処理装置と前記第２の記憶装置との接続を、前記接続部に解除させることを特徴とする付記１ないし付記４のいずれか１項記載の情報処理装置。
（付記６）
前記第１の演算処理装置は、前記第２の記憶装置へのデータの累積書き込み量が所定のしきい値を超えた場合に、前記第２の記憶装置の性能の低下を検出し、
前記制御部は、前記第１の演算処理装置から前記第２の記憶装置の性能の低下の通知を受けたことに基づいて、性能が低下した前記第２の記憶装置を前記第１の演算処理装置から切り離させることを特徴とする付記１ないし付記５のいずれか１項記載の情報処理装置。
（付記７）
前記複数の記憶装置は、読み出し特性が書き込み特性より優れた記憶装置と、データの書き込み特性がデータの読み出し特性より優れた記憶装置とを含み、
前記第１の演算処理装置は、前記第２の記憶装置からのデータの読み出し量および前記第２の記憶装置へのデータの書き込み量をモニタすることで、前記第２の記憶装置についてデータの書き込み量とデータの読み出し量とのどちらが多いかを求め、
前記制御部は、
データの読み出し量がデータの書き込み量より多い場合、前記接続部に前記読み出し特性が優れた記憶装置である前記第３の記憶装置と性能が低下した前記第２の記憶装置とを入れ換えさせ、
データの書き込み量がデータの読み出し量より多い場合、前記接続部に前記書き込み特性が優れた記憶装置である前記第３の記憶装置と性能が低下した前記第２の記憶装置とを入れ換えさせることを特徴とする付記１ないし付記６のいずれか１項記載の情報処理装置。
（付記８）
前記複数の記憶装置は、データのシーケンシャル読み出し特性が他の特性より優れた記憶装置と、データのランダム読み出し特性が他の特性より優れた記憶装置と、データのシーケンシャル書き込み特性が他の特性より優れた記憶装置と、データのランダム書き込み特性が他の特性より優れた記憶装置とを含み、
前記制御部は、
データのシーケンシャル読み出し量が、データのランダム読み出し量、データのシーケンシャル書き込み量およびデータのランダム書き込み量より多い場合、前記接続部に前記シーケンシャル読み出し特性が優れた記憶装置である前記第３の記憶装置と性能が低下した前記第２の記憶装置とを入れ換えさせ、
データのランダム読み出し量が、データのシーケンシャル読み出し量、データのシーケンシャル書き込み量およびデータのランダム書き込み量より多い場合、前記接続部に前記ランダム読み出し特性が優れた記憶装置である前記第３の記憶装置と性能が低下した前記第２の記憶装置とを入れ換えさせ、
データのシーケンシャル書き込み量が、データのシーケンシャル読み出し量、データのランダム読み出し量およびデータのランダム書き込み量より多い場合、前記接続部に前記シーケンシャル書き込み特性が優れた記憶装置である前記第３の記憶装置と性能が低下した前記第２の記憶装置とを入れ換えさせ、
データのランダム書き込み量が、データのシーケンシャル読み出し量およびデータのランダム読み出し量およびデータのシーケンシャル書き込み量より多い場合、前記接続部に前記ランダム書き込み特性が優れた記憶装置である前記第３の記憶装置と性能が低下した前記第２の記憶装置とを入れ換えさせることを特徴とする付記７項記載の情報処理装置。
（付記９）
前記記憶装置は、フラッシュメモリを含むことを特徴とする付記１ないし付記８のいずれか１項記載の情報処理装置。
（付記１０）
前記制御部は、前記第２の記憶装置の性能が低下する前に、前記第２の演算処理装置が前記複数の記憶装置のいずれかに接続され、または、前記第３の記憶装置が複数の前記演算処理装置に接続された場合、前記第２の記憶装置の性能が低下した場合にも、前記接続部に前記第１の演算処理装置と前記第２の記憶装置との接続を維持させることを特徴とする付記１ないし付記９のいずれか１項記載の情報処理装置。
（付記１１）
複数の演算処理装置と、複数の記憶装置と、前記複数の演算処理装置のうち第１の演算処理装置と、前記複数の記憶装置のうち二重化された第１の記憶装置と第２の記憶装置とを接続する接続部とを有する情報処理装置の制御方法において、
前記情報処理装置が有する制御部が、
前記第２の記憶装置の性能が低下した場合、性能が低下した前記第２の記憶装置を、前記第１の演算処理装置と前記第１の記憶装置から前記接続部に切り離させ、
前記複数の記憶装置のうち第３の記憶装置を、前記第１の記憶装置と二重化させ、
二重化させた前記第１の記憶装置と前記第３の記憶装置を、前記第１の演算処理装置に対して前記接続部に接続させ、
前記複数の演算処理装置のうち第２の演算処理装置を、切り離した前記第２の記憶装置に対して前記接続部に接続させ、
前記第２の記憶装置を前記第２の演算処理装置に初期化させることを特徴とする情報処理装置の制御方法。
（付記１２）
複数の演算処理装置と、複数の記憶装置と、前記複数の演算処理装置のうち第１の演算処理装置と、前記複数の記憶装置のうち二重化された第１の記憶装置と第２の記憶装置とを接続する接続部とを有する情報処理装置の制御プログラムにおいて、
前記情報処理装置が有する制御部に、
前記第２の記憶装置の性能が低下した場合、性能が低下した前記第２の記憶装置を、前記第１の演算処理装置と前記第１の記憶装置から前記接続部により切り離させ、
前記複数の記憶装置のうち第３の記憶装置を、前記第１の記憶装置と二重化させ、
二重化させた前記第１の記憶装置と前記第３の記憶装置を、前記第１の演算処理装置に対して前記接続部により接続させ、
前記複数の演算処理装置のうち第２の演算処理装置を、切り離した前記第２の記憶装置に対して前記接続部により接続させ、
前記第２の記憶装置を前記第２の演算処理装置により初期化させることを特徴とする情報処理装置の制御プログラム。
【０１４５】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１４６】
１００、１００Ａ‥プロセッサプール；２００、２００Ａ‥メモリプール；３００、３００Ａ‥接続部；４００、４００Ａ、４００Ｂ‥制御部；ＢＴ‥記憶装置；ＣＳ‥接続仕様；ＣＴＢＬ‥接続管理テーブル；ＥＸＰ‥エキスパンダ；ＭＤ‥記憶装置；ＭＩＤ‥情報；ＭＴＢＬ‥全体管理テーブル；ＰＣ‥コンピュータ装置；ＰＲＣ‥プロセッサ；ＳＳＤ‥記憶装置；ＳＴＢＬ‥メモリ特性テーブル
【図１】
2014074940.tif 000003
【図２】
2014074940.tif 000004
【図３】
2014074940.tif 000005
【図４】
2014074940.tif 000006
【図５】
2014074940.tif 000007
【図６】
2014074940.tif 000008
【図７】
2014074940.tif 000009
【図８】
2014074940.tif 000010
【図９】
2014074940.tif 000011
【図１０】
2014074940.tif 000012
【図１１】
2014074940.tif 000013
【図１２】
2014074940.tif 000014
【図１３】
2014074940.tif 000015
【図１４】
2014074940.tif 000016
【図１５】
2014074940.tif 000017
【図１６】
2014074940.tif 000018
【図１７】
2014074940.tif 000019
【図１８】
2014074940.tif 000020
【図１９】
2014074940.tif 000021
【図２０】
2014074940.tif 000022
【図２１】
2014074940.tif 000023
【図２２】
2014074940.tif 000024