(57)【特許請求の範囲】
【請求項１】
記憶手段を構成するＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）のモードを管理する管理手段と、
前記モードが読書き可能なモードである前記ＳＳＤの空き領域に更新用データ領域を確保する領域確保手段と、
前記モードが読出し専用のモードである前記ＳＳＤに対して書込みの要求がなされた場合に前記更新用データ領域に記録するよう制御する退避手段と、
前記ＳＳＤのモード及び読出し対象データに対する更新の有無に基づいて、前記読出し専用のモードである前記ＳＳＤ又は前記更新用データ領域から読出すよう制御する読出し制御手段とを備える制御装置であって、
前記記憶手段は、複数の前記ＳＳＤによってＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）５が構成されており、
前記管理手段は、前記読書き可能なモードである前記ＳＳＤの故障の際には、前記読出し専用のモードである前記ＳＳＤに記録されたデータが未更新であれば、ＲＡＩＤ５を構成する他の前記読書き可能なモードである前記ＳＳＤに記録されたデータと前記読出し専用のモードである前記ＳＳＤに記録されたデータとを用いて当該故障した前記ＳＳＤのデータを再生成し、前記読出し専用のモードである前記ＳＳＤに記録されたデータが更新されていれば、ＲＡＩＤ５を構成する他の前記読書き可能なモードである前記ＳＳＤに記録されたデータと前記更新用データ領域に記録されたデータとを用いて当該故障した前記ＳＳＤのデータを再生成し、前記更新用データ領域においてＲＡＩＤ５を構成する他の前記読書き可能なモードである前記ＳＳＤに記録されたデータを用いて、当該故障した前記ＳＳＤの前記更新用データ領域のデータを再生成することにより、新たに用意された前記ＳＳＤのデータを生成することで前記ＲＡＩＤ５を再構築するように制御する、制御装置。
【請求項２】
前記読出し制御手段は、前記読出し対象データが前記読出し専用のモードである前記ＳＳＤに記録されている場合に、前記読出し対象データが未更新であれば前記読出し専用のモードである前記ＳＳＤから前記読出し対象データを読出し、前記読出し対象データが更新されていれば更新された前記読出し対象データを前記更新用データ領域から読出すよう制御する、請求項１に記載の制御装置。
【請求項３】
前記退避手段は、前記更新用データ領域に記録されるデータに対してパリティを生成して前記更新用データ領域に記録する、請求項１又は２に記載の制御装置。
【請求項４】
前記退避手段は、前記更新用データ領域にデータが追記された場合に、記録済みの前記データ及び追記された前記データに対して前記パリティを再生成して前記更新用データ領域に記録する、請求項３に記載の制御装置。
【請求項５】
前記管理手段は、前記モードが読出し専用のモードである前記ＳＳＤの故障の際には、前記読出し専用のモードである前記ＳＳＤに記録されたデータが未更新であれば、ＲＡＩＤ５を構成する前記読書き可能なモードである前記ＳＳＤに記録されたデータを用いて新たに用意された前記ＳＳＤのデータを再生成し、前記読出し専用のモードである前記ＳＳＤに記録されたデータが更新されていれば、前記更新用データ領域に記録されたデータを前記新たに用意された前記ＳＳＤにコピーすることで前記ＲＡＩＤ５を再構築するように制御する、請求項１から４のいずれか一項に記載の制御装置。
【請求項６】
請求項１から５のいずれか一項に記載の制御装置と、
複数の前記ＳＳＤを含む前記記憶手段とを備えるストレージ装置。
【請求項７】
コンピュータに具備された管理手段が、記憶手段を構成するＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）のモードを管理し、
前記コンピュータに具備された領域確保手段が、前記モードが読書き可能なモードである前記ＳＳＤの空き領域に更新用データ領域を確保し、
前記コンピュータに具備された退避手段が、前記モードが読出し専用のモードである前記ＳＳＤに対して書込みの要求がなされた場合に前記更新用データ領域に記録するよう制御し、
前記コンピュータに具備された読出し制御手段が、前記ＳＳＤのモード及び読出し対象データに対する更新の有無に基づいて、前記読出し専用のモードである前記ＳＳＤ又は前記更新用データ領域から読出すよう制御する制御方法であって、
前記記憶手段は、複数の前記ＳＳＤによってＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）５が構成されており、
前記管理手段は、前記読書き可能なモードである前記ＳＳＤの故障の際には、前記読出し専用のモードである前記ＳＳＤに記録されたデータが未更新であれば、ＲＡＩＤ５を構成する他の前記読書き可能なモードである前記ＳＳＤに記録されたデータと前記読出し専用のモードである前記ＳＳＤに記録されたデータとを用いて当該故障した前記ＳＳＤのデータを再生成し、前記読出し専用のモードである前記ＳＳＤに記録されたデータが更新されていれば、ＲＡＩＤ５を構成する他の前記読書き可能なモードである前記ＳＳＤに記録されたデータと前記更新用データ領域に記録されたデータとを用いて当該故障した前記ＳＳＤのデータを再生成し、前記更新用データ領域においてＲＡＩＤ５を構成する他の前記読書き可能なモードである前記ＳＳＤに記録されたデータを用いて、当該故障した前記ＳＳＤの前記更新用データ領域のデータを再生成することにより、新たに用意された前記ＳＳＤのデータを生成することで前記ＲＡＩＤ５を再構築するように制御する、制御方法。
【請求項８】
コンピュータに、
記憶手段を構成するＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）のモードを管理する処理と、
前記モードが読書き可能なモードである前記ＳＳＤの空き領域に更新用データ領域を確保する処理と、
前記モードが読出し専用のモードである前記ＳＳＤに対して書込みの要求がなされた場合に前記更新用データ領域に記録するよう制御する処理と、
前記ＳＳＤのモード及び読出し対象データに対する更新の有無に基づいて、前記読出し専用のモードである前記ＳＳＤ又は前記更新用データ領域から読出すよう制御する処理とを実行させるプログラムであって、
前記記憶手段は、複数の前記ＳＳＤによってＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）５が構成されており、
前記読書き可能なモードである前記ＳＳＤの故障の際には、前記読出し専用のモードである前記ＳＳＤに記録されたデータが未更新であれば、ＲＡＩＤ５を構成する他の前記読書き可能なモードである前記ＳＳＤに記録されたデータと前記読出し専用のモードである前記ＳＳＤに記録されたデータとを用いて当該故障した前記ＳＳＤのデータを再生成し、前記読出し専用のモードである前記ＳＳＤに記録されたデータが更新されていれば、ＲＡＩＤ５を構成する他の前記読書き可能なモードである前記ＳＳＤに記録されたデータと前記更新用データ領域に記録されたデータとを用いて当該故障した前記ＳＳＤのデータを再生成し、前記更新用データ領域においてＲＡＩＤ５を構成する他の前記読書き可能なモードである前記ＳＳＤに記録されたデータを用いて、当該故障した前記ＳＳＤの前記更新用データ領域のデータを再生成することにより、新たに用意された前記ＳＳＤのデータを生成することで前記ＲＡＩＤ５を再構築するように制御する処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、ストレージ装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
記憶装置として、フラッシュメモリ等の不揮発性半導体メモリデバイスを用いたＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）が普及しつつある。不揮発性半導体メモリデバイスは、一般に書込み可能な回数が有限である。したがって、ＳＳＤの長寿命化を図る技術や、データの保持に関する安全性を高める技術等が検討されている。
【０００３】
特許文献１には、データ損失の危険性を低減させることができるストレージシステムのデータ制御装置等が記載されている。特許文献１に記載のデータ制御装置は、複数の不揮発性の半導体記憶装置のデータの書込み頻度に差をつける必要があると判断した場合、各半導体記憶装置に対するデータの書込み頻度に差をつける。
【０００４】
特許文献２には、書き換え回数の低減によりフラッシュメモリの寿命を延ばすフラッシュメモリのデータ管理方法やメモリコントローラ等が記載されている。特許文献２に記載のメモリコントローラは、記憶装置に書き込まれている元データに対して書き換えが必要な差分データを取得し、差分データのみを記憶装置に書き込むように制御する。
【０００５】
特許文献３には、冗長性を有しないＲＡＩＤ０（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）システムにおいて故障が発生した際にも情報の消失を防ぐことができるディスクアレイ装置等に関する技術が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１５５１６号公報
【特許文献２】特開２０１０−３１５０号公報
【特許文献３】特開２０１５−６０３４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一定の書込み回数に達したＳＳＤは、読出し専用として設定される場合がある。読出し専用として設定されたＳＳＤに対する書込みは不可能であるが、当該ＳＳＤに記録されたデータの読出しは可能である。しかしながら、上述した各特許文献では、このような読出し専用とされたＳＳＤ等の記憶装置の利用について必ずしも考慮されていなかった。
【０００８】
本発明は、上記課題を解決するためになされたものであって、リソースの有効利用を可能とするストレージの制御装置等を提供することを主たる目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様における制御装置は、記憶手段を構成するＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）のモードを管理する管理手段と、モードが読書き可能なモードであるＳＳＤの空き領域に更新用データ領域を確保する領域確保手段と、モードが読出し専用のモードであるＳＳＤに対して書込みの要求がなされた場合に更新用データ領域に記録するよう制御する退避手段と、ＳＳＤのモード及び読出し対象データに対する更新の有無に基づいて、読出し専用のモードであるＳＳＤ又は更新用データ領域から読出すよう制御する読出し制御手段とを備える。
【００１０】
また、本発明の一態様におけるストレージ装置は、制御装置と、複数のＳＳＤを含む記憶手段とを備える。
【００１１】
また、本発明の一態様における制御方法は、記憶手段を構成するＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）のモードを管理し、モードが読書き可能なモードであるＳＳＤの空き領域に更新用データ領域を確保し、モードが読出し専用のモードであるＳＳＤに対して書込みの要求がなされた場合に更新用データ領域に記録するよう制御し、ＳＳＤのモード及び読出し対象データに対する更新の有無に基づいて、読出し専用のモードであるＳＳＤ又は更新用データ領域から読出すよう制御する。
【００１２】
また、本発明の一態様におけるプログラムは、コンピュータに、記憶手段を構成するＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）のモードを管理する処理と、モードが読書き可能なモードであるＳＳＤの空き領域に更新用データ領域を確保する処理と、モードが読出し専用のモードであるＳＳＤに対して書込みの要求がなされた場合に更新用データ領域に記録するよう制御する処理と、ＳＳＤのモード及び読出し対象データに対する更新の有無に基づいて、読出し専用のモードであるＳＳＤ又は更新用データ領域から読出すよう制御する処理とを実行させる
【発明の効果】
【００１３】
本発明によると、リソースの有効利用を可能とするストレージの制御装置等を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態における制御装置の構成を示す図である。
【図２】本発明の第１の実施形態におけるストレージ装置の構成を示す図である。
【図３】本発明の第１の実施形態における制御装置にて用いられる更新用管理テーブルの一例を示す図である。
【図４】本発明の第１の実施形態における制御装置の書込みの際の動作を示すフローチャートである。
【図５】本発明の第１の実施形態における制御装置の読出しの際の動作を示すフローチャートである。
【図６】本発明の第１の実施形態における制御装置及びストレージ装置の動作例にて記憶部の状態を示す図である。
【図７】本発明の第１の実施形態における制御装置及びストレージ装置の動作例にて更新用データ領域が作成された場合の記憶部の例を示す図である。
【図８】本発明の第１の実施形態における制御装置及びストレージ装置の動作例にて更新用データ領域にデータが書込まれた場合の一例を示す図である。
【図９】本発明の第１の実施形態における制御装置及びストレージ装置の動作例にて更新用データ領域のパリティが再生成される場合の一例を示す図である。
【図１０】本発明の第１の実施形態における制御装置及びストレージ装置の動作例にて更新用データ領域にデータが追記された場合の一例を示す図である。
【図１１】本発明の第１の実施形態における制御装置及びストレージ装置の動作例にてデータが読出される場合の一例を示す図である。
【図１２】本発明の第１の実施形態における制御装置及びストレージ装置の動作例にてＳＳＤが故障した場合の一例を示す図である。
【図１３】本発明の第１の実施形態における制御装置及びストレージ装置の動作例にてＳＳＤが故障した場合の別の一例を示す図である。
【発明を実施するための形態】
【００１５】
本発明の各実施形態について、添付の図面を参照して説明する。本発明の実施形態において、制御装置等の各構成要素は、機能単位のブロックを示している。制御装置等の各構成要素は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、メモリにロードされたプログラム等を含むハードウエアとソフトウエアとの任意の組み合わせにより実現される。
【００１６】
また、制御装置等の実現方法には、様々な変形例がある。制御装置等の各構成要素の一部又は全部は、プロセッサ等を含む汎用または専用の回路（ｃｉｒｃｕｉｔｒｙ）や、これらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【００１７】
まず、本発明の第１の実施形態について説明する。図１に示すとおり、本発明の第１の実施形態における制御装置１００は、管理部１１０と、領域確保部１２０と、退避部１３０と、読出し制御部１４０を備える。
【００１８】
また、図２は、上述した制御装置１００を有するストレージ装置１０の一例を示す。ストレージ装置１０は、制御装置１００と、保護部１５０と、記憶部１６０と、ホスト要求処理部１６０と、頻度変更部１７０とを備える。記憶部１６０は、また、ストレージ装置１０は、上述した更新用データ領域へのデータの記録の状態を記録する更新用管理テーブル１１１を備えてもよい。図２に示す例では、記憶部１６０は、ＳＳＤ１６１から１６７の７つのＳＳＤにて構成される。本実施形態においては、ＳＳＤ１６１から１６７の各々は、例えばフラッシュメモリを用いたドライブである。ＳＳＤ１６１から１６７の各々は、正常な場合には読書きが可能であるが、多数回の書込みが行われた後には書込みが不可能となり、読出しのみが可能になる場合があることを想定する。なお、記憶部１６０は、書込みが不可能となった後にも読出しが可能な場合があるＳＳＤ以外の記憶装置から構成されてもよい。
【００１９】
続いて、本実施形態における制御装置１００及びストレージ装置１０の各構成要素について説明する。
【００２０】
管理部１１０は、記憶手段を構成するＳＳＤのモードを管理する。つまり、管理部１１０は、ＳＳＤ１６１から１６７の各々等の管理対象となるＳＳＤについて、読書きの双方が可能なモードであるか、読出し専用のモードであるかを管理する。上述したモードの表現形式は特に限定されず、ＳＳＤの各々について読書きが可能であるか、読出し専用であるかが区別可能であればよい。
【００２１】
管理部１１０は、ＳＳＤ１６１から１６７の各々について、書込みの回数が予め定めた上限に達するか否かを監視する。そして、書込みの回数が予め定めた上限に達した場合に、管理部１１０は、上限に達したＳＳＤのモードを読書き可能なモードから読出し専用のモードへ変更する。なお、ＳＳＤ１６１から１６７の各々に書込み回数が上限に達したかを管理する機構が設けられている場合には、管理部１１０は、例えば、ＳＳＤ１６１から１６７の各々からのモードが変更された旨の通知を取得してもよい。
【００２２】
領域確保部１２０は、モードが読書き可能なモードであるＳＳＤの空き領域に更新用データ領域を確保する。すなわち、領域確保部１２０は、ＳＳＤ１６１から１６７のいずれかが読出し専用のモードへ変更された場合に、読書き可能なモードのままであるＳＳＤの空き領域に更新用データ領域を確保する。以下の説明において、更新用データ領域は、読書き可能なモードである全てのＳＳＤの空き領域に確保される。しかし、更新用データ領域は、読書き可能なモードであるＳＳＤのうちの一部の空き領域に確保されてもよい。また、空き領域として、予め確保された領域が確保されてもよいし、必要に応じて領域が確保されてもよい。
【００２３】
退避部１３０は、モードが読出し専用のモードであるＳＳＤに対して書込みの要求がなされた場合に更新用データ領域に記録するように制御する。ＳＳＤ１６１から１６７のうち、読出し専用のモードであるＳＳＤに対してデータの書込みが要求された場合には、当該データは、読出し専用のモードであるＳＳＤではなく上述した更新用データ領域に記録される。
【００２４】
読出し制御部１４０は、ＳＳＤのモード及び読出し対象データに対する更新の有無に基づいて、読出し専用のモードであるＳＳＤ又は更新用データ領域から読出すよう制御する。つまり、読出し制御部１４０は、読出し専用のモードであるＳＳＤに記録されたデータが未更新である場合には、読出し専用のモードであるＳＳＤからデータを読出す。また、読出し制御部１４０は、読出し専用のモードであるＳＳＤに記録されたデータが更新されている場合には、更新されたデータを更新用データ領域から読出す。
【００２５】
読出し専用のモードであるＳＳＤに記録されたデータの読出しが要求された場合に、読出し専用のモードであるＳＳＤに記録されたデータが未更新であれば、当該データはそのまま用いることができる。したがって、読出し制御部１４０は、当該データを読出し専用のモードであるＳＳＤから読出す。また、この場合に、読出し専用のモードであるＳＳＤに記録されたデータが更新されていると、読出し専用のモードであるＳＳＤに記録されたデータは、更新される前の古いデータである。したがって、読出し制御部１４０は、更新用データ領域から更新されたデータを読出すように制御する。
【００２６】
このようにすることで、ＳＳＤ１６１から１６７のいずれかが読出し専用のモードとされた場合でも、当該ＳＳＤを読出し専用として有効に活用することが可能となる。
【００２７】
なお、上述のように、読出し専用とされたＳＳＤに記録されたデータや更新用データ領域へのデータの記録の状態は、更新用管理テーブル１１１に記録される。図３は、更新用管理テーブル１１１の一例を示す。読出し専用とされたＳＳＤに記録されたデータについて、元のアドレス、データがＲＡＩＤ５のパリティデータであるか否か、当該データに対する更新の有無、更新がある場合の書込み先となるアドレスの情報を含む。制御装置１００の各構成要素や後述する保護部１５０等は、必要に応じて更新用管理テーブル１１１に記録された情報を参照して処理を行う。
【００２８】
保護部１５０は、上述した更新用データ領域に記録されるデータに対してパリティを生成してデータを保護する。パリティは、退避されるデータに対して排他的論理和（ｅｘｃｌｕｓｉｖｅ−ＯＲ：ＸＯＲ）を求めてパリティを生成する。
【００２９】
記憶部１６０は、ストレージ装置１０においてデータを記録する要素である。記録部１６０は、例えば複数のＳＳＤ等にて構成される。上述のように、図２に示す例では、記録部１６０はＳＳＤ１６１から１６７までの７つのＳＳＤを有する。また、ＳＳＤではＲＡＩＤが構成されてもよい。本実施形態においては、記憶部１６０のＳＳＤではＲＡＩＤ５が構成されていると想定する。
【００３０】
頻度変更部１７０は、ＳＳＤ１６１から１６７の各々に対する書込みの頻度を変更する。ＲＡＩＤ５が構成されている場合には、ＳＳＤ１６１から１６７の各々に対する書込みの頻度はほぼ同程度であると想定される。そのため、この場合には、ＳＳＤ１６１から１６７の各々について、同時期に書込み可能な回数の上限に達する可能性が生じる。
【００３１】
頻度変更部１７０は、ＲＡＩＤのパリティ配置量を制御する等して、ＳＳＤ１６１から１６７の各々に対する書込みの頻度を変更する。頻度変更部１７０は、例えば特許文献１等に記載された手法に基づいて書込みの頻度を変更する。このようにすることで、ＳＳＤ１６１から１６７の各々が同時期に書込み可能な回数の上限に達することが回避される。
【００３２】
ホスト要求処理部１８０は、ホストコンピュータ１１からの要求に応じて、記憶部１６０に記録されるデータの読出しや記憶部１６０へのデータの書込み等の制御を行う。
【００３３】
続いて、図４及び５に示すフローチャートを用いて、第１の実施形態における制御装置１００の動作の概要を示す。最初に、図４に示すフローチャートを用いて、ストレージ制御１００のデータの主に書込みに関連する動作の概要を示す。
【００３４】
管理部１１０は、記憶部１６０を構成するＳＳＤに書込み回数が上限に達したＳＳＤが存在するか否かを確認する（ステップＳ１０１）。ＳＳＤの書込み回数が上限に達していない場合（ステップＳ１０１：Ｎｏ）等、この確認は、例えばＳＳＤ１６１から１６７の各々に対して書込みが行われる毎に予め行われる。
【００３５】
なお、ＳＳＤ１６１から１６７の各々に書込み回数が上限に達したかを管理する機構が設けられている場合が想定される。この場合には、管理部１１０は、ＳＳＤ１６１から１６７の各々からのモードが変更された旨の通知を取得することで、記憶部１６０を構成するＳＳＤに書込み回数が上限に達したＳＳＤが存在するか否かを確認してもよい。
【００３６】
書込み回数が上限に達したＳＳＤが存在する場合（ステップＳ１０１：Ｙｅｓ）、管理部１１０は、当該ＳＳＤのモードを読出し専用に変更する（ステップＳ１０２）。
【００３７】
次に、領域確保部１２０は、ＳＳＤ１６１から１６７のうち、読書き可能なモードのＳＳＤの空き領域に更新用データ領域を確保する（ステップＳ１０３）。
【００３８】
書込み回数が上限に達したＳＳＤへの書込み要求が生じると、退避部１３０は、書込み要求の対象となるデータを更新用データ領域へ書込むように制御する（ステップＳ１０４）。この場合に、ＲＡＩＤ５としての冗長性を確保するために、保護部１５０パリティを生成する等、更新用データ領域へ書込まれるデータの保護に関する処理が必要に応じて行われる。
【００３９】
次に、図５に示すフローチャートを用いて、制御装置１００のデータの主に読出しに関連する動作の概要を示す。図５に示すフローチャートは、読出し専用のモードであるＳＳＤからデータが読出される場合における制御装置１００の動作の概要を示す。
【００４０】
読出し制御部１４０は、読出しの対象となるデータが更新されているか否かを確認する（ステップＳ１１１）。読出し制御部１４０は、を適宜参照して判断する。
【００４１】
データが更新されている場合（ステップＳ１１１：Ｙｅｓ）には、読出し制御部１４０は、更新用管理テーブル１１１の情報を用いて、更新用データ領域に記録されたデータを読出す（ステップＳ１１２）。
【００４２】
データが未更新である場合（ステップＳ１１１：Ｎｏ）には、読出し制御部１４０は、読出し専用のモードであるＳＳＤから要求されたデータを読出すように制御する（ステップＳ１１３）。
【００４３】
続いて、図６から１３までの各図を用いて、本発明の第１の実施形態における制御装置１００及びストレージ装置１０の動作の具体例を示す。図６において以下の動作例では、記憶部１６０では、ＳＳＤ１６１から１６７の７台のＳＳＤにてＲＡＩＤ５が構成されている場合を想定する。また、以下の各図において、ＳＳＤ１６１から１６７のＡ１、Ａ２、・・・Ｂ１、Ｂ２、・・・、Ｊ５、Ｊ６は、記憶部１６０の格納されるデータのブロックを示す。また、Ａｐ、Ｂｐ、・・・、Ｊｐは、ＲＡＩＤ５のパリティデータを示す。例えば、Ａｐは、Ａ１、Ａ２、・・・、Ａ６に対するパリティデータを示す。
【００４４】
この例に対して、ＳＳＤ１６１の書込み回数が上限に達した場合を想定する。
この場合に、管理部１１０は、ＳＳＤ１６１を読出し専用のモードに切り替える。また、領域確保部１２０は、ＳＳＤ１６１から１６７に更新用データ領域を確保する。図７は、更新用データ領域が作成された場合の記憶部１６０の例を示す図である。
【００４５】
なお、更新用データ領域に対するデータの配置は、更新用管理テーブル１１１の情報に基づいて、退避部１３０によって記憶部１６０の物理アドレスにオンデマンドで配置されてもよい。このようにすることで、空き領域の利用効率が高められる。
【００４６】
読出し専用であるＳＳＤ１６１に格納されたデータに対して更新の必要が生じた場合には、退避部１３０は、上述のように確保された更新用データ領域に更新されたデータを書込む。図８は、更新用データ領域にデータが書込まれた場合の一例を示す。図８に示す例では、ＳＳＤ１６１に格納されたＡ１、Ｃ１、Ｄ１が更新される。この場合には、退避部１３０は、更新用データ管理テーブル１１１の情報に基づいて、更新用データ領域にそれぞれＡ１’、Ｃ１’、Ｄ１’の更新データを書込むよう制御する。
【００４７】
また、保護部１５０は、更新されたデータに対するパリティを生成する。この場合には、保護部１５０は、Ａ１’、Ｃ１’、Ｄ１’のＸＯＲを求めてパリティＰ１を生成する。すなわち、ＳＳＤ１６２から１６５までの更新用データ領域に格納されたデータに関してＲＡＩＤ５が構成される。
【００４８】
なお、保護部１５０によって更新用データ領域に格納されたデータに関して構成されるＲＡＩＤ５のストライプ幅は、更新用データ領域へ書込まれたデータの量に応じて変更される。本動作例では、ＳＳＤ１６２から１６７までストライプ幅が拡張される。すなわち、読書き可能なＳＳＤの数の上限までストライプ幅が拡張される。保護部１５０は、更新用データ領域にデータを書込む、すなわちストライプ幅が拡張される場合にパリティＰ１を再生成する。
【００４９】
図９は、この場合の一例を示す図である。図８に示す例では、ＳＳＤ１６１に格納されたＦ１、Ｇｐが更新され、更新用データ領域へＦ１’、Ｇｐ’が書込まれる。保護部１５０は、Ａ１’、Ｃ１’、Ｄ１’、Ｆ１’、Ｇｐ’に対するパリティＰ１を再生成する。保護部１５０がこのようにパリティを再生成することで、容量効率よく更新用データの追記が行われる。
【００５０】
また、図１０は、更に更新用データ領域に対して追記が行われた場合の一例を示す。図１０に示す例では、ＳＳＤ１６１に格納されたＩ１、Ｊ１が更新され、更新用データ領域へＩ１’、Ｊ１’が書込まれる。また、保護部１５０は、Ｉ１’及びＪ１’に基づいてパリティＰ２を生成する。
【００５１】
続いて、記憶部１６０からデータが読出される場合を想定する。読出し制御部１４０は、ホスト要求処理部１８０を介してホストコンピュータ１１等からのデータの読出しの要求があると、更新用管理テーブル１１１に記録される情報に基づいて、読出しの対象となるデータに対する更新の有無を確認する。図１１は、データの読出しの一例を示す。
【００５２】
この例において、Ａ１、Ａ２、・・・、Ａ６、Ａｐのデータが読出しの対象となる場合、Ａ１は更新されている。つまり、Ａ１’が更新用データ領域に記録されている。したがって、読出し制御部１４０は、更新用データ領域からＡ１’を読み出す。
【００５３】
一方、この例において、Ｂ１、Ｂ２、・・・、Ｂ６、Ｂｐのデータが読出しの対象となる場合、Ｂ１は更新されていない。したがって、読出し制御部１４０は、読出し専用とされたＳＳＤ１６１からＢ１を読出す。
【００５４】
続いて、記憶部１６０を構成するＳＳＤ１６１から１６７のいずれかが故障した場合を想定する。この場合には、新たなＳＳＤ１６８が用意されてＲＡＩＤ５の再構成が行われることを想定する。本動作例において、ＳＳＤ１６１から１６７のいずれかが故障した場合とは、ＳＳＤ１６１から１６７のいずれかに対する書込み及び読出しが不可能となった状態を示す。
【００５５】
ＳＳＤ１６１から１６７のいずれかが故障した場合には、管理部１１０は、必要に応じて更新用管理テーブル１１１に記録された情報を参照して、故障が生じたＳＳＤが読出し専用とされているか否かを判定する。
【００５６】
図１２は、読書き可能である専用とされたＳＳＤ１６３が故障した場合のＲＡＩＤ５の再構成の例を示す図である。この場合には、ＳＳＤ１６１に格納されているデータがパリティデータ以外のデータである場合には、ＳＳＤ１６１に格納されているデータを用いてＲＡＩＤ５の再構成が行われる。例えば、ＳＳＤ１６３に記録されていたＡ３の再生成に際しては、ＳＳＤ１６１に格納されているＡ１と、ＳＳＤ１６２及びＳＳＤ１６４から１６７の各々に格納されているＡ４、Ａ５、Ａ６及びＡｐが用いられる。
【００５７】
ただし、この場合において、ＳＳＤ１６１にパリティデータが格納されている場合には、ＳＳＤ１６１のデータに代えて更新用データ領域に記録されたデータが用いられる。つまり、図１２の例において、Ｇ２の再生成に際しては、ＳＳＤ１６２及びＳＳＤ１６４から１６７の各々に格納されているＧ１、Ｇ３、Ｇ４、Ｇ５及びＧ６の他に更新用データ領域に記録されたＧｐが用いられる。
【００５８】
なお、図１２に示す例においては、ＳＳＤ１６８が追加された後にも更新用データ領域が確保される。また、ＳＳＤ１６３の更新用データ領域に記録されていたＣ１’及びＪ１’は、それぞれパリティＰ１及びＰ２やその他の更新用データ領域に記録されているデータを用いて再生成される。
【００５９】
図１３は、読出し専用とされたＳＳＤ１６１が故障した場合のＲＡＩＤ５の再構成の例を示す図である。
【００６０】
この例で、ＳＳＤ１６１のデータが未更新である場合、つまり更新用データ領域に更新されたデータが格納されていない場合には、管理部１１０は、ＳＳＤ１６２から１６７のデータ及びパリティデータを用いてデータを再生成する。例えば、Ｂ１は、ＳＳＤ１６２から１６７に格納されたＢ２からＢ６のデータ及びパリティデータＢｐを用いて再生成されてＳＳＤ１６８に格納される。
【００６１】
また、ＳＳＤ１６１のデータが更新されている場合、つまり更新用データ領域に更新されたデータが格納されている場合には、管理部１１０は、更新用データ領域をＳＳＤ１６８にコピーし、かつ、パリティデータを再生成してＲＡＩＤ５の再構成を行う。
【００６２】
この場合には、再構成の後には更新用データ領域は不要となる。そのため、領域確保部１２０は、更新用データ領域を開放する。このようにすることで、ＳＳＤ１６２から１６７のそれぞれについて、更新用データ領域の再利用が可能となる。また、保護部１５０は、この場合にパリティデータを元のパリティデータと更新用データ領域のデータに基づいて再生成可能である。そのため、パリティデータの再生成に際して、ＳＳＤ１６２から１６７の全てからのデータの読み出しが不要となる。また、更新用データ領域に記録されたデータがパリティデータの場合には、保護部１５０によるパリティデータの再生成が不要となる。
したがって、制御装置１００によって制御されるストレージ装置１０においてＲＡＩＤ５の再構成が行われる場合には、通常のＲＡＩＤ５が構成されたストレージにおける再構成処理と比較して、ＳＳＤへのアクセス量が軽減される。すなわち、制御装置１００によって制御されるストレージ装置１０は、通常のＲＡＩＤ５が構成されたストレージと比較して低い負荷によるＲＡＩＤ５の再構成が可能となる。
【００６３】
また、上述したＳＳＤ１６１の交換の後には、記憶部１６０では通常のＲＡＩＤ５の運用が行われる。つまり、制御装置１００によって制御されるストレージ装置１０は、読出し専用となったＳＳＤを活用しつつ、再帰的かつ永続的な運用が可能である。
【００６４】
以上のとおり、本発明の第１の実施形態における制御装置１００は、ストレージ装置１０の記憶部１６０に含まれるＳＳＤのいずれかが読出し専用となった場合に、当該ＳＳＤを読出し専用として利用するように制御する。すなわち、読出し専用とされたＳＳＤに対する書き込みは、管理部１１０がＳＳＤの状態を判断した結果に基づいて、退避部１３０によって領域確保部１２０が確保した領域に更新用データ領域に対して行われる。また、読出し専用とされたＳＳＤからのデータの読出しは、データの更新の有無に応じて、読出し専用とされたＳＳＤ又は更新用データ領域のいずれかから行われる。そのため、本実施形態における制御装置１００は、読出し専用とされたＳＳＤを継続して利用可能とする。
【００６５】
また、ストレージ装置１０の記憶部１６０にてＲＡＩＤ５が構成される場合において、読出し専用とされたＳＳＤの故障の際には、更新用データ領域に記録されたデータを用いてＲＡＩＤ５の再構成が可能となる。そのため、本実施形態における制御装置１００又はストレージ装置１０は、上述の場合にＲＡＩＤ５の再構築に要する負荷の軽減を可能とする。
【００６６】
したがって、本実施形態における制御装置１００は、ストレージ装置１０が備えるリソースの有効利用を可能とする。
【００６７】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、各実施形態における構成は、本発明のスコープを逸脱しない限りにおいて、互いに組み合わせることが可能である。
【符号の説明】
【００６８】
１０    ストレージ装置
１１    ホストコンピュータ
１００    制御装置
１１０    管理部
１３０    退避部
１４０    読出し制御部
１５０    保護部
１６０    記憶部
１６１、１６２、１６３、１６４、１６５、１６６、１６７、１６８    ＳＳＤ
１７０    頻度変更部
１８０    ホスト要求処理部
【図１】
0006707939.tif 000002
【図２】
0006707939.tif 000003
【図３】
0006707939.tif 000004
【図４】
0006707939.tif 000005
【図５】
0006707939.tif 000006
【図６】
0006707939.tif 000007
【図７】
0006707939.tif 000008
【図８】
0006707939.tif 000009
【図９】
0006707939.tif 000010
【図１０】
0006707939.tif 000011
【図１１】
0006707939.tif 000012
【図１２】
0006707939.tif 000013
【図１３】
0006707939.tif 000014