(57)【要約】      （修正有）【課題】いずれの記憶領域のデータにも不整合が生じることなく、その記憶領域に使用される記憶装置の何れかが交換された後のデータの復元に要する時間を削減できるストレージ制御装置を提供する。【解決手段】ストレージ制御装置１Ａは、複数の記憶装置２０を使用して構築されたボリュームにおいて、分割された複数のブロックに関連付けて設定値を記憶する対象記憶手段と、前記複数の記憶装置２０のうち対象記憶装置を交換記憶装置に置き換える交換に応じて、それぞれのブロックに関連付けられた設定値が所定条件に合致する場合、前記交換記憶装置のブロックに使用される記憶領域に、前記対象記憶装置のブロックに使用されていた記憶領域に格納されていたデータを格納するリビルドを行い、前記ブロックに関連付けられた設定値が所定条件に合致しない場合、前記複数の記憶装置のブロックに使用される記録領域を未使用状態に初期化するリビルド手段と、を備える。【選択図】図１１
2015166958.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶装置を使用して構築された記憶領域であるボリュームにおいて、前記ボリュームが分割された複数のブロックに関連付けて設定値を記憶する対象記憶手段と、
前記複数の記憶装置のうち対象記憶装置を前記複数の記憶装置に含まれない交換記憶装置に置き換える交換に応じて、前記複数のブロックのそれぞれに対して、当該ブロックに関連付けられた前記設定値が所定条件に合致する場合、前記交換記憶装置の前記ブロックに使用される記憶領域に、前記対象記憶装置の前記ブロックに使用されていた記憶領域に格納されていたデータを格納するリビルドを行い、前記ブロックに関連付けられた前記設定値が前記所定条件に合致しない場合、前記複数の記憶装置の、前記ブロックに使用される記録領域を未使用状態にする初期化を行うリビルド手段と、
を備えるストレージ制御装置。
【請求項２】
前記ボリュームにおいて書き込みが行われた前記ブロックを特定し、特定された前記ブロックに関連付けられた前記設定値を、前記所定条件に合致するよう設定するアクセス検出手段
を備える請求項１に記載のストレージ制御装置。
【請求項３】
前記書き込み検出手段は、前記ボリュームに対するアクセスを検出し、当該アクセスがデータの書き込みである場合、前記ボリュームに書き込まれたデータの、少なくとも一部が書き込まれた前記ブロックを特定し、特定した前記ブロックに関連付けられた前記設定値に、前記データの識別子であるデータ識別子を追加し、前記アクセスがデータの削除である場合、削除された前記データの前記データ識別子を、前記設定値から削除し、
前記リビルド手段は、前記設定値にデータ識別子が含まれる場合、前記リビルドを行い、前記設定値にデータ識別子が含まれない場合、前記初期化を行う
請求項１又は２に記載のストレージ制御装置。
【請求項４】
前記複数の記憶装置と、請求項１乃至３のいずれかに記載のストレージ制御装置とを含むストレージシステム。
【請求項５】
複数の記憶装置を使用して構築された記憶領域であるボリュームにおいて、前記ボリュームが分割された複数のブロックに関連付けて設定値を対象記憶手段に記憶し、
前記複数の記憶装置のうち対象記憶装置を前記複数の記憶装置に含まれない交換記憶装置に置き換える交換に応じて、前記複数のブロックのそれぞれに対して、当該ブロックに関連付けられた前記設定値が所定条件に合致する場合、前記交換記憶装置の前記ブロックに使用される記憶領域に、前記対象記憶装置の前記ブロックに使用されていた記憶領域に格納されていたデータを格納するリビルドを行い、前記ブロックに関連付けられた前記設定値が前記所定条件に合致しない場合、前記複数の記憶装置の、前記ブロックに使用される記録領域を未使用状態にする初期化を行う、
ストレージ制御方法。
【請求項６】
前記ボリュームにおいて書き込みが行われた前記ブロックを特定し、特定された前記ブロックに関連付けられた前記設定値を、前記所定条件に合致するよう設定する
請求項５に記載のストレージ制御方法。
【請求項７】
前記ボリュームに対するアクセスを検出し、当該アクセスがデータの書き込みである場合、前記ボリュームに書き込まれたデータの、少なくとも一部が書き込まれた前記ブロックを特定し、特定した前記ブロックに関連付けられた前記設定値に、前記データの識別子であるデータ識別子を追加し、前記アクセスがデータの削除である場合、削除された前記データの前記データ識別子を、前記設定値から削除し、
前記設定値にデータ識別子が含まれる場合、前記リビルドを行い、前記設定値にデータ識別子が含まれない場合、前記初期化を行う
請求項５又は６に記載のストレージ制御方法。
【請求項８】
コンピュータを、
複数の記憶装置を使用して構築された記憶領域であるボリュームにおいて、前記ボリュームが分割された複数のブロックに関連付けて設定値を記憶する対象記憶手段と、
前記複数の記憶装置のうち対象記憶装置を前記複数の記憶装置に含まれない交換記憶装置に置き換える交換に応じて、前記複数のブロックのそれぞれに対して、当該ブロックに関連付けられた前記設定値が所定条件に合致する場合、前記交換記憶装置の前記ブロックに使用される記憶領域に、前記対象記憶装置の前記ブロックに使用されていた記憶領域に格納されていたデータを格納するリビルドを行い、前記ブロックに関連付けられた前記設定値が前記所定条件に合致しない場合、前記複数の記憶装置の、前記ブロックに使用される記録領域を未使用状態にする初期化を行うリビルド手段と、
して動作させるストレージ制御プログラム。
【請求項９】
コンピュータを、
前記ボリュームにおいて書き込みが行われた前記ブロックを特定し、特定された前記ブロックに関連付けられた前記設定値を、前記所定条件に合致するよう設定するアクセス検出手段と
して動作させる請求項８に記載のストレージ制御プログラム。
【請求項１０】
コンピュータを、
前記ボリュームに対するアクセスを検出し、当該アクセスがデータの書き込みである場合、前記ボリュームに書き込まれたデータの、少なくとも一部が書き込まれた前記ブロックを特定し、特定した前記ブロックに関連付けられた前記設定値に、前記データの識別子であるデータ識別子を追加し、前記アクセスがデータの削除である場合、削除された前記データの前記データ識別子を、前記設定値から削除する前記書き込み検出手段と、
前記設定値にデータ識別子が含まれる場合、前記リビルドを行い、前記設定値にデータ識別子が含まれない場合、前記初期化を行う前記リビルド手段と、
して動作させる請求項８又は９に記載のストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージを制御する技術に関する。
【背景技術】
【０００２】
ハードディスク装置などの記憶装置の大容量化が進んでいるため、ハードディスク装置の交換に伴う、交換されたハードディスク装置に対するデータの復元に要する時間が長時間化している。データの復元に要する時間を短縮する技術の一例が、例えば特許文献１に記載されている。
【０００３】
特許文献１に記載されているデータ記憶装置は、ミラーリングされている記憶装置に対してデータをライト処理する都度、データが書き込まれた記憶領域を表すエリアデータを更新する。そして、そのデータ処理装置は、ミラーリングされている記憶装置が交換された場合に、エリアデータに基づき、書き込まれたデータである書き込みデータを特定する。そのデータ処理装置は、特定した書き込みデータのみを、交換された記憶装置にコピーする。
【０００４】
特許文献２には、コピー先ディスクの容量がコピー元ディスクの容量より小さい場合であっても、データのコピーを行うデータ待避装置が記載されている。特許文献２に記載されているデータ待避装置は、コピー元ディスクのパーティションのうち、使用されているパーティションの容量の合計と、コピー先ディスクの容量とを比較する。コピー元ディスクの使用されているパーティションの容量の合計が、コピー先ディスクの容量より小さい場合、データ待避装置は、コピー元ディスクの使用されているパーティションに格納されているデータを、コピー先ディスクにコピーする。
【０００５】
特許文献３には、複数のディスクの各々が含むデータブロックの使用状況に応じて、冗長データの作成方法を変更するアレイ型記録装置が記載されている。そのアレイ型記録装置は、使用されている状態であるデータブロックの場合、そのデータブロックの読み込みを省略して冗長データを生成する。特許文献３に記載されているアレイ型記憶装置は、さらに、いずれかのディスクを代替ディスクに代替する場合、使用されている状態であるデータブロックのデータだけを代替ディスクに代替する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１４６０５６号公報
【特許文献２】特開２００４−２６５３１２号公報
【特許文献３】特開平６−０５７７０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の技術では、コピーされたデータが格納されている記憶領域以外の記憶領域において、記録されているデータに、ミラーリングされている複数の記憶装置間で不整合が生じる可能性がある。
【０００８】
特許文献２の技術では、使用パーティションのコピーに要する時間を短縮することはできない。
【０００９】
特許文献３のアレイ型記録装置は、使用されている状態でないデータブロックに対する代替処理を行わない。特許文献３のアレイ型記録装置では、ファイルが削除されることにより、ファイルのデータが記録されている領域が使用されている状態でなくなっても、その領域に記録されているデータは消去されない。従って、特許文献３の技術では、使用されている状態でないデータブロックに記録されているデータに、複数のディスク間で不整合が生じる。
【００１０】
本発明の主な目的は、記憶領域のいずれの部分においても、記録されているデータに不整合が生じることなく、その記憶領域に使用される複数の記憶装置の何れかが交換された後のデータの復元に要する時間を削減できるストレージ制御装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明のストレージ制御装置は、複数の記憶装置を使用して構築された記憶領域であるボリュームにおいて、前記ボリュームが分割された複数のブロックに関連付けて設定値を記憶する対象記憶手段と、前記複数の記憶装置のうち対象記憶装置を前記複数の記憶装置に含まれない交換記憶装置に置き換える交換に応じて、前記複数のブロックのそれぞれに対して、当該ブロックに関連付けられた前記設定値が所定条件に合致する場合、前記交換記憶装置の前記ブロックに使用される記憶領域に、前記対象記憶装置の前記ブロックに使用されていた記憶領域に格納されていたデータを格納するリビルドを行い、前記ブロックに関連付けられた前記設定値が前記所定条件に合致しない場合、前記複数の記憶装置の、前記ブロックに使用される記録領域を未使用状態にする初期化を行うリビルド手段と、を備える。
【００１２】
本発明のストレージ制御方法は、複数の記憶装置を使用して構築された記憶領域であるボリュームにおいて、前記ボリュームが分割された複数のブロックに関連付けて設定値を対象記憶手段に記憶し、前記複数の記憶装置のうち対象記憶装置を前記複数の記憶装置に含まれない交換記憶装置に置き換える交換に応じて、前記複数のブロックのそれぞれに対して、当該ブロックに関連付けられた前記設定値が所定条件に合致する場合、前記交換記憶装置の前記ブロックに使用される記憶領域に、前記対象記憶装置の前記ブロックに使用されていた記憶領域に格納されていたデータを格納するリビルドを行い、前記ブロックに関連付けられた前記設定値が前記所定条件に合致しない場合、前記複数の記憶装置の、前記ブロックに使用される記録領域を未使用状態にする初期化を行う。
【００１３】
本発明のストレージ制御プログラムは、コンピュータを、複数の記憶装置を使用して構築された記憶領域であるボリュームにおいて、前記ボリュームが分割された複数のブロックに関連付けて設定値を記憶する対象記憶手段と、前記複数の記憶装置のうち対象記憶装置を前記複数の記憶装置に含まれない交換記憶装置に置き換える交換に応じて、前記複数のブロックのそれぞれに対して、当該ブロックに関連付けられた前記設定値が所定条件に合致する場合、前記交換記憶装置の前記ブロックに使用される記憶領域に、前記対象記憶装置の前記ブロックに使用されていた記憶領域に格納されていたデータを格納するリビルドを行い、前記ブロックに関連付けられた前記設定値が前記所定条件に合致しない場合、前記複数の記憶装置の、前記ブロックに使用される記録領域を未使用状態にする初期化を行うリビルド手段と、して動作させる。
【発明の効果】
【００１４】
本発明には、記憶領域のいずれの部分においても、記録されているデータに不整合が生じることなく、その記憶領域に使用される複数の記憶装置の何れかが交換された後のデータの復元に要する時間を削減できるという効果がある。
【図面の簡単な説明】
【００１５】
【図１】図１は、第１、第２の実施形態の情報処理システム１００の構成を表すブロック図である。
【図２】図２は、ボリューム２１を模式的に表すブロック図である。
【図３】図３は、第１の実施形態のストレージ制御装置１の、データが書き込まれる際の動作を表すフローチャートである。
【図４】図４は、第１の実施形態の対象記憶部１０に格納される設定値の例を模式的に表す図である。
【図５】図５は、第１の実施形態のストレージ制御装置１の、記憶装置２０が交換された際の動作を表すフローチャートである。
【図６】図６は、ボリューム２１におけるリビルドの対象を模式的に表す図である。
【図７】図７は、第２の実施形態のストレージ制御装置１の、データが書き込まれる際の動作を表すフローチャートである。
【図８】図８は、第２の実施形態の対象記憶部１０に格納される設定値の例を模式的に表す図である。
【図９】図９は、第２の実施形態において、データが削除された際の、設定値の変化の例を模式的に表す図である。
【図１０】図１０は、第２の実施形態のストレージ制御装置１の、記憶装置２０が交換された際の動作を表すフローチャートである。
【図１１】図１１は、第３の実施形態のストレージ制御装置１の構成を表すブロック図である。
【図１２】図１２は、ストレージ制御装置１、ストレージ制御装置１Ａを実現することができる、コンピュータ１０００の構成の一例を表す図である。
【発明を実施するための形態】
【００１６】
次に、本発明の実施の形態について、詳細に説明する。
【００１７】
＜第１の実施形態＞
まず、本発明の第１の実施形態について、図面を参照して詳細に説明する。
【００１８】
図１は、本実施形態の情報処理システム１００の構成を表すブロック図である。情報処理システム１００は、互いに接続されたストレージ装置３と情報処理装置４とを含む。ストレージ装置３は、ストレージ制御装置１とディスクアレイ２とを含む。ストレージ制御装置１は、情報処理装置４と、ディスクアレイ２とに接続されている。
【００１９】
ストレージ制御装置１は、対象記憶部１０と、リビルド部１１と、アクセス検出部１２と、アクセス実行部１３とを含む。
【００２０】
ディスクアレイ２は、複数の記憶装置２０を含む。記憶装置２０は、例えば、ハードディスク装置や、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等である。
【００２１】
アクセス実行部１３は、ディスクアレイ２に含まれる複数の記憶装置２０を使用して構築した記憶領域であるボリューム２１を、情報処理装置４に提供する。そして、アクセス実行部１３は、ボリューム２１に対するデータの書き込み、データの読み出し、データの消去などのアクセスの要求であるアクセス要求を、情報処理装置４から受信する。アクセス実行部１３は、アクセス要求に応じた処理を、ボリューム２１に対して行う。そして、アクセス実行部１３は、処理の結果を情報処理装置４に返送する。また、アクセス実行部１３は、受信したアクセス要求の種類と、そのアクセス要求によってアクセスされるデータが格納されている、ボリューム２１における記憶領域を表す設定値とを、アクセス検出部１２に送信すればよい。
【００２２】
図２は、ボリューム２１を模式的に表すブロック図である。本実施形態では、ボリューム２１は、ＲＡＩＤ５（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ  ５）に基づき構築された記憶領域である。また、ボリューム２１は、ボリューム２１が複数に分割されたブロックの集合によって表される。
【００２３】
対象記憶部１０は、それぞれのブロックに関連付けて、復元対象であるか否かを表す設定値を記憶する。復元の対象であることを表す値は、例えば「１」である。復元の対象でないことを表す値は、例えば「０」である。復元の対象であることを表す値と、復元の対象でないことを表す値は、互いに異なる値であればよい。ボリューム２１にデータが格納されていない初期状態において、各ブロックに対する設定値は、すべて復元の対象でないことを表す値に設定されていてもよい。例えばＯＳを構成するファイルが格納されるブロックなど、復元が必要なデータが格納されることが既に決まっているブロックに対する設定値は、あらかじめ復元の対象であることを表す値に設定されていてもよい。
【００２４】
アクセス検出部１２は、ボリューム２１に対する書き込みを検出する。そして、アクセス検出部１２は、データが書き込まれたブロックを特定する。アクセス検出部１２は、データが書き込まれたブロックに関連付けられている設定値を、復元の対象であることを表す値に設定する。
【００２５】
例えば、ボリューム２１に使用されている記憶装置２０のいずれかが故障した場合、故障した記憶装置２０は、他の記憶装置２０に置き換えられる。例えば、リビルド部１１が、記憶装置２０の故障を検出すればよい。記憶装置２０の故障を検出した場合、リビルド部１１は、例えばエラーを表示すればよい。そして、例えばストレージ装置３の管理者が、エラーの表示に応じて、記憶装置２０を交換すればよい。記憶装置２０が交換されると、リビルド部１１は、交換された記憶装置２０を特定すればよい。あるいは、リビルド部１１は、ディスクアレイ２に含まれるボリューム２１に使用されていない記憶装置２０と、故障が検出された記憶装置２０とを置き換えてもよい。すなわち、リビルド部１１は、故障が検出された記憶装置２０の代わりに、ディスクアレイ２に含まれるボリューム２１に使用されていないいずれかの記憶装置２０が使用されるよう、ストレージ装置３における設定を変更してもよい。以下の説明において、他の記憶装置２０に置き換えられる、ボリューム２１に使用されている記憶装置２０を、対象記憶装置とも表記する。そして、ボリューム２１に使用されている記憶装置２０に置き換えられる、ボリューム２１に使用されていない記憶装置２０を、交換記憶装置２０とも表記する。
【００２６】
リビルド部１１は、対象記憶装置と交換記憶装置とが置き換えられると、例えばブロック順次選択しながら、選択したブロックに対して、例えば以下のように、対象記憶装置に格納されていたデータを交換記憶装置に復元する。以下の説明において、選択されているブロックを対象ブロックと表記する。
【００２７】
対象ブロックに関連付けられている設定値が復元対象であることを表す値である場合、リビルド部１１は、対象ブロックに使用される対象記憶装置の記憶領域に格納されていたデータを算出する。前述のようにボリューム２１はＲＡＩＤ５に基づき構築されているので、対象ブロックに使用されていた対象記憶装置の記憶領域に格納されていたデータは、対象ブロックに使用される他の記憶装置２０の記憶領域に格納されているデータに基づき算出できる。リビルド部１１は、対象ブロックに使用されている交換記憶装置の記憶領域に、算出したデータを格納する。
【００２８】
対象ブロックに関連付けられている設定値が復元対象でないことを表す値である場合、リビルド部１１は、対象ブロックに使用される各記憶装置２０の記憶領域のうち、データが格納される記憶領域を、例えば所定値で埋める。その所定値は、例えば「０」であってもよい。そして、対象ブロックに使用される各記憶装置２０の記憶領域のうち、ＲＡＩＤ５における誤り訂正符号データとしてのパリティが格納される記憶領域に、前述の所定値に基づきあらかじめ算出しておいたパリティを格納する。
【００２９】
次に、本実施形態のストレージ制御装置１の動作について、図面を参照して詳細に説明する。まず、本実施形態のストレージ制御装置１の、データが書き込まれる際の動作について説明する。
【００３０】
図３は、本実施形態のストレージ制御装置１の、データが書き込まれる際の動作を表すフローチャートである。
【００３１】
図３を参照すると、まず、アクセス検出部１２が、ボリューム２１に対するアクセスのうち、書き込みを検出する（ステップＳ１０１）。
【００３２】
書き込みが検出されない場合（ステップＳ１０２においてＮｏ）、ストレージ制御装置１の動作はステップＳ１０１に戻る。そして、アクセス検出部１２は、書き込みの検出を続ける。
【００３３】
書き込みが検出された場合（ステップＳ１０２においてＹｅｓ）、アクセス検出部１２は、データが書き込まれたブロックを特定する。
【００３４】
アクセス実行部１３は、ボリューム２１に対する書き込みがあった場合、例えば、データが書き込まれた領域を表すデータ値を、アクセス検出部１２に送信すればよい。アクセス検出部１２は、例えば、データが書き込まれた領域を表すデータ値をアクセス実行部１３から受信した場合、ボリューム２１に対する書き込みがあったと判定すればよい。そして、アクセス検出部１２は、受信したデータ値に基づき、データが書き込まれた領域の少なくとも一部を含むブロックを特定すればよい。
【００３５】
そして、アクセス検出部１２は、特定されたブロックに関連付けて、復元対象であることを表す設定値を、対象記憶部１０に格納する（ステップＳ１０４）。
【００３６】
図４は、対象記憶部１０に格納される設定値の例を模式的に表す図である。図４において、ブロック番号は、ブロックの識別子である。図３の例では、復元の対象であることを表す設定値は１である。また、復元の対象でないことを表す設定値は０である。
【００３７】
次に、本実施形態のストレージ制御装置１の、記憶装置２０が交換された際の動作について説明する。
【００３８】
図５は、本実施形態のストレージ制御装置１の、記憶装置２０が交換された際の動作を表すフローチャートである。図５に示す動作の開始時において、前述の対象記憶装置及び交換記憶装置は特定されている。
【００３９】
まず、リビルド部１１は、ボリューム２１のブロックを一つ選択する（ステップＳ２０１）。リビルド部１１は、例えば、ボリューム２１の先頭から、順次ブロックを選択すればよい。リビルド部１１は、他の順番でブロックを選択してもよい。そして、リビルド部１１は、選択したブロックに関連付けて対象記憶部１０に格納されている設定値を読み出す。
【００４０】
選択されたブロックに関連付けられている設定値が、復元対象であることを表す設定値である場合（ステップＳ２０２においてＹｅｓ）、リビルド部１１は、選択されたブロックにおいてリビルドを行う（ステップＳ２０３）。各ブロックは、同一のパリティの算出に使用される記憶領域のグループと一致していなくてもよい。その場合、ステップＳ２０３において、リビルド部１１は、選択されたブロックの少なくとも一部を含む、全ての前述のグループにおいて、リビルドを行えばよい。
【００４１】
ステップＳ２０３の動作が終了すると、動作はステップＳ２０５に進む。
【００４２】
選択されたブロックに関連付けられている設定値が、復元対象でないことを表す設定値である場合（ステップＳ２０２においてＮｏ）、リビルド部１１は、選択されたブロックにおいて初期化を行う（ステップＳ２０４）。リビルド部１１は、選択されたブロックの少なくとも一部を含む、全ての前述のグループに対応する記憶領域を、前述の所定値で埋めればよい。そして、それらのグループから導出されるパリティが格納される記憶領域に、あらかじめ算出しておいたパリティを格納すればよい。
【００４３】
ステップＳ２０４の動作が終了すると、動作はステップＳ２０５に進む。
【００４４】
ステップＳ２０５において、ボリューム２１に未選択のグループが存在する場合（ステップＳ２０５においてＹｅｓ）、動作はステップＳ２０１に戻る。
【００４５】
ボリューム２１に未選択のグループが存在する場合（ステップＳ２０５においてＮｏ）、図５に示す動作は終了する。
【００４６】
図６は、ボリューム２１におけるリビルドの対象を模式的に表す図である。図６に示す例でも、復元対象であることを表す設定値は１である。そして、復元対象でないことを表す設定値が０である。図６において描かれている範囲では、ボリューム２１の最上部と最下部のブロックに関連付けられている設定値が１である。リビルド部１１は、設定値が１であるブロックに使用されている、交換されていない記憶装置２０の記憶領域に格納されているデータに基づき、同じブロックに使用されている交換された記憶装置２０の記憶領域に格納されるデータを算出する。そして、リビルド部１１は、算出されたデータを、交換された記憶装置２０に格納する。一方、リビルド部１１は、設定値が１であるブロックに使用されている、交換されていない記憶装置２０及び交換された記憶装置２０の記憶領域に、前述の初期化を行う。
【００４７】
本実施形態には、ボリューム２１のいずれの部分においても、記録されているデータに不整合が生じることなく、ボリューム２１に使用される複数の記憶装置２０の何れかが交換された後のデータの復元に要する時間を削減できるという効果がある。
【００４８】
その理由は、リビルド部１１が、復元対象であることを表す設定値に関連付けられているブロックに使用される、交換記憶装置の記憶領域に格納されるデータのみを算出するからである。そして、リビルド部１１が、復元対象でないことを表す設定値に関連付けられているブロックに使用される、各記憶装置２０の記憶領域に対して、前述の初期化を行うからである。従って、ボリューム２１に使用される各記憶装置２０の記憶領域に格納されているデータに、不整合は生じない。また、初期化の際、リビルド部１１は、各記憶装置２０からのデータの読み出しとパリティの計算を行わない。従って、本実施形態では、データを読み出す時間及びパリティの計算を行う時間を削減することができる。
【００４９】
＜第２の実施形態＞
次に、本発明の第２の実施形態について、図面を参照して詳細に説明する。
【００５０】
図１は、本実施形態の情報処理システム１００の構成を表す図である。本実施形態の情報処理システム１００の構成は、第１の実施形態の情報処理システム１００の構成と同じである。
【００５１】
本実施形態では、アクセス実行部１３は、ボリューム２１に書き込みが行われると、書き込みが行われた記憶領域を表すデータ値に加えて、アクセスの種別と、書き込まれたデータの識別子であるデータ識別子を、アクセス検出部１２に送信する。ボリューム２１に書き込みが行われた場合のアクセスの種別は、例えば、書き込みを表す値としてあらかじめ設定されている値であればよい。書き込みが行われた記憶領域が、例えば、ファイルシステムの管理領域である場合、アクセス実行部１３は、管理領域を表す識別子を送信すればよい。
【００５２】
また、アクセス実行部１３は、ボリューム２１からデータが削除されると、アクセスの種別と、削除されたデータが格納されていた記憶領域を表すデータ値と、削除されたデータのデータ識別子とを、アクセス検出部１２に送信する。ボリューム２１からデータが削除された場合のアクセスの種別は、例えば、削除を表す値としてあらかじめ設定されている値であればよい。
【００５３】
アクセス検出部１２は、例えば、アクセスの種別を表す値を受信することによって、アクセスを検出すればよい。そして、アクセス検出部１２は、受信した値に基づきアクセスの種別を判定すればよい。
【００５４】
アクセス検出部１２は、例えば、アクセスの種別として書き込みを表す値を受信した場合、受信した値に基づき、検出されたアクセスの種別が書き込みを表すと判定すればよい。その場合、アクセス検出部１２は、書き込みが行われたブロックを特定する。さらに、アクセス検出部１２は、書き込みが行われた各ブロックに関連付けて、受信したデータ識別子を、設定値として対象記憶部１０に格納する。その際、ブロックに関連付けられている他のデータ識別子が既に存在する場合、アクセス検出部１２は、そのブロックに、さらに受信したデータ識別子を関連付ける。
【００５５】
アクセス検出部１２は、例えば、アクセスの種別として削除を表す値を受信した場合、受信した値に基づき、アクセスの種別が削除であると判定すればよい。その場合、アクセス検出部１２は、受信したデータ識別子を、対象記憶部１０から全て削除する。
【００５６】
また、本実施形態のリビルド部１１の、ボリューム２１に使用されているいずれかの記憶装置２０が交換された場合における動作は、以下の通りである。リビルド部１１は、少なくとの一つのデータ識別子が、選択されたブロックに関連付けて対象記憶部１０に格納されている場合、選択されたブロックに対してリビルドを行う。リビルド部１１は、選択されたブロックに関連付けられているデータ識別子が対象記憶部１０に格納されていない場合、選択されたブロックに対して、初期化を行う。
【００５７】
本実施形態では、設定値は、０個以上のデータ識別子を含む。あるいは、設定値は、０個以上のデータ識別子であってもよい。
【００５８】
本実施形態の各装置の各構成要素は、以上で説明された点を除き、第１の実施形態における同じ符号が付与されている構成要素と同じである。
【００５９】
次に、本実施形態の動作について、図面を参照して詳細に説明する。
【００６０】
図７は、本実施形態のストレージ制御装置１の、データが書き込まれる際の動作を表すフローチャートである。
【００６１】
図７を参照すると、まず、アクセス検出部１２が、ボリューム２１へのアクセスを検出する（ステップＳ３０１）。
【００６２】
アクセスが検出されない場合（ステップ３０２においてＮｏ）、動作はステップＳ３０１に戻り、アクセス検出部１２はアクセスの検出を継続する。
【００６３】
アクセスが検出された場合（ステップ３０２においてＹｅｓ）、アクセス検出部１２は、例えばアクセス実行部１３から受信したアクセスの種別を表す値に基づき、アクセスの種別を特定する。
【００６４】
アクセスがデータの書き込みである場合（ステップＳ３０３においてＹｅｓ）、アクセス検出部１２は、書き込みが行われたブロックを特定する（ステップＳ３０４）。アクセス検出部１２は、例えば、アクセス実行部１３から受信した書き込みが行われた記憶領域を表すデータ値に基づき、書き込みが行われたブロックを特定する。
【００６５】
アクセス検出部１２は、特定されたブロックに関連付けて、書き込みが行われたデータのデータ識別子を、設定値として対象記憶部１０に格納する（ステップＳ３０５）。アクセス検出部１２は、例えばアクセス実行部１３から書き込みが行われたデータのデータ識別子として受信したデータ識別子を、対象記憶部１０に格納すればよい。
【００６６】
図８は、本実施形態の対象記憶部１０に格納される設定値の例を模式的に表す図である。図８に示す例は、ブロック番号が「１」であるブロックに、データ識別子が、「ｆｉｌｅ１１」、「ｆｉｌｅ１２」、及び「ｆｉｌｅ１３」であるデータが書き込まれていることを表す。そして、図８に示す例は、ブロック番号が「Ｎ」であるブロックに、データ識別子が、「ｆｉｌｅＮ１」及び「ｆｉｌｅＮ２」であるデータが書き込まれていることを表す。一方、図８に示す例では、ブロック番号が「２」及び「３」であるブロックに書き込まれているデータが存在しない。
【００６７】
ステップＳ３０５の後、動作はステップＳ３０１に戻る。
【００６８】
アクセスがデータの書き込みではない場合（ステップＳ３０３においてＹｅｓ）、アクセス検出部１２は、アクセスがデータの削除であるか特定する。
【００６９】
アクセスがデータの削除である場合（ステップＳ３０６においてＹｅｓ）、アクセス検出部１２は、削除されたデータのデータ識別子を、対象記憶部１０から全て削除する（ステップＳ３０７）。アクセス検出部１２は、削除されたデータのデータ識別子としてアクセス実行部１３から受信したデータ識別子を、対象記憶部１０から全て削除すればよい。
【００７０】
図９は、本実施形態において、データが削除された際の、設定値の変化の例を模式的に表す図である。図９に示すように、ブロック番号が「２」であるブロックに書き込まれていた、データ識別子が「ｆｉｌｅ２１」であるデータの削除が検出された場合、対象記憶部１０に格納されていたデータ識別子「ｆｉｌｅ２１」は削除される。
【００７１】
ステップＳ３０７の後、動作はステップＳ３０１に戻る。
【００７２】
ステップＳ３０６においてアクセスがデータの削除でない場合（ステップＳ３０６においてＮｏ）、動作はステップＳ３０１に戻る。
【００７３】
次に、本実施形態のストレージ制御装置１の、記憶装置２０が交換された際の動作について説明する。
【００７４】
図１０は、本実施形態のストレージ制御装置１の、記憶装置２０が交換された際の動作を表すフローチャートである。図１０と図５とを比較すると、本実施形態のストレージ制御装置１は、ステップＳ２０２の動作の代わりに、ステップＳ４０２の動作を行う。図１０に示す他のステップにおける本実施形態のストレージ制御装置１の動作は、第１の実施形態のストレージ制御装置１の動作における、同じ符号が付与されているステップと同じである。
【００７５】
ステップＳ４０２において、リビルド部１１は、選択されたブロックに、少なくとも一つのデータ識別子が関連付けられているか否かを判定する。
【００７６】
選択されたブロックに、少なくとも一つのデータ識別子が関連付けられている場合（ステップＳ４０２においてＹｅｓ）、リビルド部１１は、選択されたブロックにおいてリビルドを行う（ステップＳ２０３）。
【００７７】
選択されたブロックにデータ識別子が関連付けられていない場合（ステップＳ４０２においてＮｏ）、リビルド部１１は、選択されたブロックにおいて初期化を行う（ステップＳ２０４）。
【００７８】
以上で説明した本実施形態には、第１の実施形態と同じ効果がある。
【００７９】
その理由は、リビルド部１１が、データ識別子を含む設定値に関連付けられているブロックに使用される、交換記憶装置の記憶領域に格納されるデータのみを算出するからである。そして、リビルド部１１が、データ識別子を含まない設定値に関連付けられているブロックに使用される、各記憶装置２０の記憶領域に対して、前述の初期化を行うからである。従って、ボリューム２１に使用される各記憶装置２０の記憶領域に格納されているデータに、不整合は生じない。また、初期化の際、リビルド部１１は、各記憶装置２０からのデータの読み出しとパリティの計算を行わない。従って、本実施形態では、データを読み出す時間及びパリティの計算を行う時間を削減することができる。
【００８０】
本実施形態には、ボリューム２１に使用される複数の記憶装置２０のいずれかが交換された後のデータの復元に要する時間を、さらに削減できるという他の効果がある。
【００８１】
その理由は、アクセス検出部１２が、削除されたデータのデータ識別子を、対象記憶部１０から削除するからである。そのため、ブロックに書き込まれていたデータが全て削除されると、そのブロックに関連付けられているデータ識別子は無くなる。そのため、ボリューム２１に使用される複数の記憶装置２０のいずれかが交換された場合に、リビルド部１１は、書き込まれているデータが無くなったブロックに対して、パリティの計算に使用するデータの読み出し及びパリティの計算を要するリビルドを行わない。従って、書き込まれていたデータが全て削除されたブロックに対するリビルドに必要な、パリティの計算に使用するデータの読み出し及びパリティの計算に要する時間を削減することができる。
【００８２】
＜第３の実施形態＞
次に、本発明の第３の実施形態について、図面を参照して詳細に説明する。
【００８３】
図１１は、本実施形態のストレージ制御装置１Ａの構成を表すブロック図である。図１１に示すように、ストレージ制御装置１Ａは、例えば、第１の実施形態のストレージ装置３と同様に動作するストレージ装置３Ａに含まれる。
【００８４】
図１１を参照すると、本実施形態のストレージ制御装置１Ａは、複数の記憶装置２０を使用して構築された記憶領域であるボリューム２１において、前記ボリューム２１が分割された複数のブロックに関連付けて設定値を記憶する対象記憶部１０と、前記複数の記憶装置２０のうち対象記憶装置を前記複数の記憶装置２０に含まれない交換記憶装置に置き換える交換に応じて、前記複数のブロックのそれぞれに対して、当該ブロックに関連付けられた前記設定値が所定条件に合致する場合、前記交換記憶装置の前記ブロックに使用される記憶領域に、前記対象記憶装置の前記ブロックに使用されていた記憶領域に格納されていたデータを格納するリビルドを行い、前記ブロックに関連付けられた前記設定値が前記所定条件に合致しない場合、前記複数の記憶装置２０の、前記ブロックに使用される記録領域を未使用状態にする初期化を行うリビルド部１１と、を備える。
【００８５】
以上で説明した本実施形態には、第１の実施形態と同じ効果がある。
【００８６】
その理由は、リビルド部１１が、関連付けられている設定値が所定条件を満たすブロックに使用される、交換記憶装置の記憶領域に格納されるデータのみを算出するからである。そして、リビルド部１１が、関連付けられている設定値が所定条件を満たさないブロックに使用される、各記憶装置の記憶領域に対して、前述の初期化を行うからである。なお、ブロックに関連付けられている設定値は、そのブロックにデータが書き込まれている場合、あらかじめ決められている所定条件を満たすよう設定されていればよい。そして、設定値は、そのブロックにデータが書き込まれていない場合、あらかじめ決められているその所定条件を満たさないよう設定されていればよい。所定条件は、例えば、第１の実施形態と同様に、設定値が復元対象を表す値であることであってもよい。所定条件は、例えば、第２の実施形態と同様に、設定値が１個以上のデータ識別子を含むことであってもよい。従って、ボリューム２１に使用される各記憶装置２０の記憶領域に格納されているデータに、不整合は生じない。また、初期化の際、リビルド部１１は、各記憶装置２０からのデータの読み出しとパリティの計算を行わない。従って、本実施形態では、データを読み出す時間及びパリティの計算を行う時間を削減することができる。
【００８７】
ストレージ制御装置１、ストレージ制御装置１Ａは、それぞれ、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。
【００８８】
図１２は、ストレージ制御装置１、ストレージ制御装置１Ａを実現することができる、コンピュータ１０００の構成の一例を表す図である。図１２を参照すると、コンピュータ１０００は、プロセッサ１００１と、メモリ１００２と、記憶装置１００３と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）インタフェース１００４とを含む。また、コンピュータ１０００は、記録媒体１００５にアクセスすることができる。メモリ１００２と記憶装置１００３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ハードディスクなどの記憶装置である。記録媒体１００５は、例えば、ＲＡＭ、ハードディスクなどの記憶装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、可搬記録媒体である。記憶装置１００３が記録媒体１００５であってもよい。プロセッサ１００１は、メモリ１００２と、記憶装置１００３に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ１００１は、Ｉ／Ｏインタフェース１００４を介して、例えば、ディスクアレイ２に含まれる記憶装置２０にアクセスすることができる。プロセッサ１００１は、記録媒体１００５にアクセスすることができる。記録媒体１００５には、コンピュータ１０００を、ストレージ制御装置１、又はストレージ制御装置１Ａとして動作させるプログラムが格納されている。
【００８９】
プロセッサ１００１は、記録媒体１００５に格納されている、コンピュータ１０００を、ストレージ制御装置１、又はストレージ制御装置１Ａとして動作させるプログラムを、メモリ１００２にロードする。そして、プロセッサ１００１が、メモリ１００２にロードされたプログラムを実行することにより、コンピュータ１０００は、ストレージ制御装置１、又はストレージ制御装置１Ａとして動作する。
【００９０】
リビルド部１１、アクセス検出部１２、アクセス実行部１３は、例えば、プログラムを記憶する記録媒体１００５からメモリ１００２に読み込まれた、各部の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサ１００１により実現することができる。また、対象記憶部１０は、コンピュータ１０００が含むメモリ１００２やハードディスク装置等の記憶装置１００３により実現することができる。あるいは、対象記憶部１０、リビルド部１１、アクセス検出部１２、アクセス実行部１３の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
【００９１】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００９２】
１、１Ａ    ストレージ制御装置
２    ディスクアレイ
３、３Ａ    ストレージ装置
４    情報処理装置
１０    対象記憶部
１１    リビルド部
１２    アクセス検出部
１３    アクセス実行部
２０    記憶装置
２１    ボリューム
１００    情報処理システム
１０００    コンピュータ
１００１    プロセッサ
１００２    メモリ
１００３    記憶装置
１００４    Ｉ／Ｏインタフェース
１００５    記録媒体
【図１】
2015166958.tif 000003
【図２】
2015166958.tif 000004
【図３】
2015166958.tif 000005
【図４】
2015166958.tif 000006
【図５】
2015166958.tif 000007
【図６】
2015166958.tif 000008
【図７】
2015166958.tif 000009
【図８】
2015166958.tif 000010
【図９】
2015166958.tif 000011
【図１０】
2015166958.tif 000012
【図１１】
2015166958.tif 000013
【図１２】
2015166958.tif 000014