JP6556980B2 - ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム - Google Patents

ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム Download PDF

Info

Publication number
JP6556980B2
JP6556980B2 JP2014041224A JP2014041224A JP6556980B2 JP 6556980 B2 JP6556980 B2 JP 6556980B2 JP 2014041224 A JP2014041224 A JP 2014041224A JP 2014041224 A JP2014041224 A JP 2014041224A JP 6556980 B2 JP6556980 B2 JP 6556980B2
Authority
JP
Japan
Prior art keywords
storage
data
block
storage device
volume
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014041224A
Other languages
English (en)
Other versions
JP2015166958A (ja
Inventor
効助 堀田
効助 堀田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2014041224A priority Critical patent/JP6556980B2/ja
Publication of JP2015166958A publication Critical patent/JP2015166958A/ja
Application granted granted Critical
Publication of JP6556980B2 publication Critical patent/JP6556980B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、ストレージを制御する技術に関する。
ハードディスク装置などの記憶装置の大容量化が進んでいるため、ハードディスク装置の交換に伴う、交換されたハードディスク装置に対するデータの復元に要する時間が長時間化している。データの復元に要する時間を短縮する技術の一例が、例えば特許文献1に記載されている。
特許文献1に記載されているデータ記憶装置は、ミラーリングされている記憶装置に対してデータをライト処理する都度、データが書き込まれた記憶領域を表すエリアデータを更新する。そして、そのデータ処理装置は、ミラーリングされている記憶装置が交換された場合に、エリアデータに基づき、書き込まれたデータである書き込みデータを特定する。そのデータ処理装置は、特定した書き込みデータのみを、交換された記憶装置にコピーする。
特許文献2には、コピー先ディスクの容量がコピー元ディスクの容量より小さい場合であっても、データのコピーを行うデータ待避装置が記載されている。特許文献2に記載されているデータ待避装置は、コピー元ディスクのパーティションのうち、使用されているパーティションの容量の合計と、コピー先ディスクの容量とを比較する。コピー元ディスクの使用されているパーティションの容量の合計が、コピー先ディスクの容量より小さい場合、データ待避装置は、コピー元ディスクの使用されているパーティションに格納されているデータを、コピー先ディスクにコピーする。
特許文献3には、複数のディスクの各々が含むデータブロックの使用状況に応じて、冗長データの作成方法を変更するアレイ型記録装置が記載されている。そのアレイ型記録装置は、使用されている状態であるデータブロックの場合、そのデータブロックの読み込みを省略して冗長データを生成する。特許文献3に記載されているアレイ型記憶装置は、さらに、いずれかのディスクを代替ディスクに代替する場合、使用されている状態であるデータブロックのデータだけを代替ディスクに代替する。
特開2010−146056号公報 特開2004−265312号公報 特開平6−057708号公報
特許文献1の技術では、コピーされたデータが格納されている記憶領域以外の記憶領域において、記録されているデータに、ミラーリングされている複数の記憶装置間で不整合が生じる可能性がある。
特許文献2の技術では、使用パーティションのコピーに要する時間を短縮することはできない。
特許文献3のアレイ型記録装置は、使用されている状態でないデータブロックに対する代替処理を行わない。特許文献3のアレイ型記録装置では、ファイルが削除されることにより、ファイルのデータが記録されている領域が使用されている状態でなくなっても、その領域に記録されているデータは消去されない。従って、特許文献3の技術では、使用されている状態でないデータブロックに記録されているデータに、複数のディスク間で不整合が生じる。
本発明の主な目的は、記憶領域のいずれの部分においても、記録されているデータに不整合が生じることなく、その記憶領域に使用される複数の記憶装置の何れかが交換された後のデータの復元に要する時間を削減できるストレージ制御装置を提供することにある。
本発明のストレージ制御装置は、複数の記憶装置を使用して構築された記憶領域であるボリュームにおいて、前記ボリュームが分割された複数のブロックに関連付けて設定値を記憶する対象記憶手段と、前記複数の記憶装置のうち対象記憶装置を前記複数の記憶装置に含まれない交換記憶装置に置き換える交換に応じて、前記複数のブロックのそれぞれに対して、当該ブロックに関連付けられた前記設定値が所定条件に合致する場合、前記交換記憶装置の前記ブロックに使用される記憶領域に、前記対象記憶装置の前記ブロックに使用されていた記憶領域に格納されていたデータを格納するリビルドを行い、前記ブロックに関連付けられた前記設定値が前記所定条件に合致しない場合、前記複数の記憶装置の、前記ブロックに使用される記録領域を未使用状態にする初期化を行うリビルド手段と、を備える。
本発明のストレージ制御方法は、複数の記憶装置を使用して構築された記憶領域であるボリュームにおいて、前記ボリュームが分割された複数のブロックに関連付けて設定値を対象記憶手段に記憶し、前記複数の記憶装置のうち対象記憶装置を前記複数の記憶装置に含まれない交換記憶装置に置き換える交換に応じて、前記複数のブロックのそれぞれに対して、当該ブロックに関連付けられた前記設定値が所定条件に合致する場合、前記交換記憶装置の前記ブロックに使用される記憶領域に、前記対象記憶装置の前記ブロックに使用されていた記憶領域に格納されていたデータを格納するリビルドを行い、前記ブロックに関連付けられた前記設定値が前記所定条件に合致しない場合、前記複数の記憶装置の、前記ブロックに使用される記録領域を未使用状態にする初期化を行う。
本発明のストレージ制御プログラムは、コンピュータを、複数の記憶装置を使用して構築された記憶領域であるボリュームにおいて、前記ボリュームが分割された複数のブロックに関連付けて設定値を記憶する対象記憶手段と、前記複数の記憶装置のうち対象記憶装置を前記複数の記憶装置に含まれない交換記憶装置に置き換える交換に応じて、前記複数のブロックのそれぞれに対して、当該ブロックに関連付けられた前記設定値が所定条件に合致する場合、前記交換記憶装置の前記ブロックに使用される記憶領域に、前記対象記憶装置の前記ブロックに使用されていた記憶領域に格納されていたデータを格納するリビルドを行い、前記ブロックに関連付けられた前記設定値が前記所定条件に合致しない場合、前記複数の記憶装置の、前記ブロックに使用される記録領域を未使用状態にする初期化を行うリビルド手段と、して動作させる。
本発明には、記憶領域のいずれの部分においても、記録されているデータに不整合が生じることなく、その記憶領域に使用される複数の記憶装置の何れかが交換された後のデータの復元に要する時間を削減できるという効果がある。
図1は、第1、第2の実施形態の情報処理システム100の構成を表すブロック図である。 図2は、ボリューム21を模式的に表すブロック図である。 図3は、第1の実施形態のストレージ制御装置1の、データが書き込まれる際の動作を表すフローチャートである。 図4は、第1の実施形態の対象記憶部10に格納される設定値の例を模式的に表す図である。 図5は、第1の実施形態のストレージ制御装置1の、記憶装置20が交換された際の動作を表すフローチャートである。 図6は、ボリューム21におけるリビルドの対象を模式的に表す図である。 図7は、第2の実施形態のストレージ制御装置1の、データが書き込まれる際の動作を表すフローチャートである。 図8は、第2の実施形態の対象記憶部10に格納される設定値の例を模式的に表す図である。 図9は、第2の実施形態において、データが削除された際の、設定値の変化の例を模式的に表す図である。 図10は、第2の実施形態のストレージ制御装置1の、記憶装置20が交換された際の動作を表すフローチャートである。 図11は、第3の実施形態のストレージ制御装置1の構成を表すブロック図である。 図12は、ストレージ制御装置1、ストレージ制御装置1Aを実現することができる、コンピュータ1000の構成の一例を表す図である。
次に、本発明の実施の形態について、詳細に説明する。
<第1の実施形態>
まず、本発明の第1の実施形態について、図面を参照して詳細に説明する。
図1は、本実施形態の情報処理システム100の構成を表すブロック図である。情報処理システム100は、互いに接続されたストレージ装置3と情報処理装置4とを含む。ストレージ装置3は、ストレージ制御装置1とディスクアレイ2とを含む。ストレージ制御装置1は、情報処理装置4と、ディスクアレイ2とに接続されている。
ストレージ制御装置1は、対象記憶部10と、リビルド部11と、アクセス検出部12と、アクセス実行部13とを含む。
ディスクアレイ2は、複数の記憶装置20を含む。記憶装置20は、例えば、ハードディスク装置や、SSD(Solid State Drive)等である。
アクセス実行部13は、ディスクアレイ2に含まれる複数の記憶装置20を使用して構築した記憶領域であるボリューム21を、情報処理装置4に提供する。そして、アクセス実行部13は、ボリューム21に対するデータの書き込み、データの読み出し、データの消去などのアクセスの要求であるアクセス要求を、情報処理装置4から受信する。アクセス実行部13は、アクセス要求に応じた処理を、ボリューム21に対して行う。そして、アクセス実行部13は、処理の結果を情報処理装置4に返送する。また、アクセス実行部13は、受信したアクセス要求の種類と、そのアクセス要求によってアクセスされるデータが格納されている、ボリューム21における記憶領域を表す設定値とを、アクセス検出部12に送信すればよい。
図2は、ボリューム21を模式的に表すブロック図である。本実施形態では、ボリューム21は、RAID5(Redundant Arrays of Independent Disks 5)に基づき構築された記憶領域である。また、ボリューム21は、ボリューム21が複数に分割されたブロックの集合によって表される。
対象記憶部10は、それぞれのブロックに関連付けて、復元対象であるか否かを表す設定値を記憶する。復元の対象であることを表す値は、例えば「1」である。復元の対象でないことを表す値は、例えば「0」である。復元の対象であることを表す値と、復元の対象でないことを表す値は、互いに異なる値であればよい。ボリューム21にデータが格納されていない初期状態において、各ブロックに対する設定値は、すべて復元の対象でないことを表す値に設定されていてもよい。例えばOSを構成するファイルが格納されるブロックなど、復元が必要なデータが格納されることが既に決まっているブロックに対する設定値は、あらかじめ復元の対象であることを表す値に設定されていてもよい。
アクセス検出部12は、ボリューム21に対する書き込みを検出する。そして、アクセス検出部12は、データが書き込まれたブロックを特定する。アクセス検出部12は、データが書き込まれたブロックに関連付けられている設定値を、復元の対象であることを表す値に設定する。
例えば、ボリューム21に使用されている記憶装置20のいずれかが故障した場合、故障した記憶装置20は、他の記憶装置20に置き換えられる。例えば、リビルド部11が、記憶装置20の故障を検出すればよい。記憶装置20の故障を検出した場合、リビルド部11は、例えばエラーを表示すればよい。そして、例えばストレージ装置3の管理者が、エラーの表示に応じて、記憶装置20を交換すればよい。記憶装置20が交換されると、リビルド部11は、交換された記憶装置20を特定すればよい。あるいは、リビルド部11は、ディスクアレイ2に含まれるボリューム21に使用されていない記憶装置20と、故障が検出された記憶装置20とを置き換えてもよい。すなわち、リビルド部11は、故障が検出された記憶装置20の代わりに、ディスクアレイ2に含まれるボリューム21に使用されていないいずれかの記憶装置20が使用されるよう、ストレージ装置3における設定を変更してもよい。以下の説明において、他の記憶装置20に置き換えられる、ボリューム21に使用されている記憶装置20を、対象記憶装置とも表記する。そして、ボリューム21に使用されている記憶装置20に置き換えられる、ボリューム21に使用されていない記憶装置20を、交換記憶装置20とも表記する。
リビルド部11は、対象記憶装置と交換記憶装置とが置き換えられると、例えばブロック順次選択しながら、選択したブロックに対して、例えば以下のように、対象記憶装置に格納されていたデータを交換記憶装置に復元する。以下の説明において、選択されているブロックを対象ブロックと表記する。
対象ブロックに関連付けられている設定値が復元対象であることを表す値である場合、リビルド部11は、対象ブロックに使用される対象記憶装置の記憶領域に格納されていたデータを算出する。前述のようにボリューム21はRAID5に基づき構築されているので、対象ブロックに使用されていた対象記憶装置の記憶領域に格納されていたデータは、対象ブロックに使用される他の記憶装置20の記憶領域に格納されているデータに基づき算出できる。リビルド部11は、対象ブロックに使用されている交換記憶装置の記憶領域に、算出したデータを格納する。
対象ブロックに関連付けられている設定値が復元対象でないことを表す値である場合、リビルド部11は、対象ブロックに使用される各記憶装置20の記憶領域のうち、データが格納される記憶領域を、例えば所定値で埋める。その所定値は、例えば「0」であってもよい。そして、対象ブロックに使用される各記憶装置20の記憶領域のうち、RAID5における誤り訂正符号データとしてのパリティが格納される記憶領域に、前述の所定値に基づきあらかじめ算出しておいたパリティを格納する。
次に、本実施形態のストレージ制御装置1の動作について、図面を参照して詳細に説明する。まず、本実施形態のストレージ制御装置1の、データが書き込まれる際の動作について説明する。
図3は、本実施形態のストレージ制御装置1の、データが書き込まれる際の動作を表すフローチャートである。
図3を参照すると、まず、アクセス検出部12が、ボリューム21に対するアクセスのうち、書き込みを検出する(ステップS101)。
書き込みが検出されない場合(ステップS102においてNo)、ストレージ制御装置1の動作はステップS101に戻る。そして、アクセス検出部12は、書き込みの検出を続ける。
書き込みが検出された場合(ステップS102においてYes)、アクセス検出部12は、データが書き込まれたブロックを特定する。
アクセス実行部13は、ボリューム21に対する書き込みがあった場合、例えば、データが書き込まれた領域を表すデータ値を、アクセス検出部12に送信すればよい。アクセス検出部12は、例えば、データが書き込まれた領域を表すデータ値をアクセス実行部13から受信した場合、ボリューム21に対する書き込みがあったと判定すればよい。そして、アクセス検出部12は、受信したデータ値に基づき、データが書き込まれた領域の少なくとも一部を含むブロックを特定すればよい。
そして、アクセス検出部12は、特定されたブロックに関連付けて、復元対象であることを表す設定値を、対象記憶部10に格納する(ステップS104)。
図4は、対象記憶部10に格納される設定値の例を模式的に表す図である。図4において、ブロック番号は、ブロックの識別子である。図3の例では、復元の対象であることを表す設定値は1である。また、復元の対象でないことを表す設定値は0である。
次に、本実施形態のストレージ制御装置1の、記憶装置20が交換された際の動作について説明する。
図5は、本実施形態のストレージ制御装置1の、記憶装置20が交換された際の動作を表すフローチャートである。図5に示す動作の開始時において、前述の対象記憶装置及び交換記憶装置は特定されている。
まず、リビルド部11は、ボリューム21のブロックを一つ選択する(ステップS201)。リビルド部11は、例えば、ボリューム21の先頭から、順次ブロックを選択すればよい。リビルド部11は、他の順番でブロックを選択してもよい。そして、リビルド部11は、選択したブロックに関連付けて対象記憶部10に格納されている設定値を読み出す。
選択されたブロックに関連付けられている設定値が、復元対象であることを表す設定値である場合(ステップS202においてYes)、リビルド部11は、選択されたブロックにおいてリビルドを行う(ステップS203)。各ブロックは、同一のパリティの算出に使用される記憶領域のグループと一致していなくてもよい。その場合、ステップS203において、リビルド部11は、選択されたブロックの少なくとも一部を含む、全ての前述のグループにおいて、リビルドを行えばよい。
ステップS203の動作が終了すると、動作はステップS205に進む。
選択されたブロックに関連付けられている設定値が、復元対象でないことを表す設定値である場合(ステップS202においてNo)、リビルド部11は、選択されたブロックにおいて初期化を行う(ステップS204)。リビルド部11は、選択されたブロックの少なくとも一部を含む、全ての前述のグループに対応する記憶領域を、前述の所定値で埋めればよい。そして、それらのグループから導出されるパリティが格納される記憶領域に、あらかじめ算出しておいたパリティを格納すればよい。
ステップS204の動作が終了すると、動作はステップS205に進む。
ステップS205において、ボリューム21に未選択のグループが存在する場合(ステップS205においてYes)、動作はステップS201に戻る。
ボリューム21に未選択のグループが存在する場合(ステップS205においてNo)、図5に示す動作は終了する。
図6は、ボリューム21におけるリビルドの対象を模式的に表す図である。図6に示す例でも、復元対象であることを表す設定値は1である。そして、復元対象でないことを表す設定値が0である。図6において描かれている範囲では、ボリューム21の最上部と最下部のブロックに関連付けられている設定値が1である。リビルド部11は、設定値が1であるブロックに使用されている、交換されていない記憶装置20の記憶領域に格納されているデータに基づき、同じブロックに使用されている交換された記憶装置20の記憶領域に格納されるデータを算出する。そして、リビルド部11は、算出されたデータを、交換された記憶装置20に格納する。一方、リビルド部11は、設定値が1であるブロックに使用されている、交換されていない記憶装置20及び交換された記憶装置20の記憶領域に、前述の初期化を行う。
本実施形態には、ボリューム21のいずれの部分においても、記録されているデータに不整合が生じることなく、ボリューム21に使用される複数の記憶装置20の何れかが交換された後のデータの復元に要する時間を削減できるという効果がある。
その理由は、リビルド部11が、復元対象であることを表す設定値に関連付けられているブロックに使用される、交換記憶装置の記憶領域に格納されるデータのみを算出するからである。そして、リビルド部11が、復元対象でないことを表す設定値に関連付けられているブロックに使用される、各記憶装置20の記憶領域に対して、前述の初期化を行うからである。従って、ボリューム21に使用される各記憶装置20の記憶領域に格納されているデータに、不整合は生じない。また、初期化の際、リビルド部11は、各記憶装置20からのデータの読み出しとパリティの計算を行わない。従って、本実施形態では、データを読み出す時間及びパリティの計算を行う時間を削減することができる。
<第2の実施形態>
次に、本発明の第2の実施形態について、図面を参照して詳細に説明する。
図1は、本実施形態の情報処理システム100の構成を表す図である。本実施形態の情報処理システム100の構成は、第1の実施形態の情報処理システム100の構成と同じである。
本実施形態では、アクセス実行部13は、ボリューム21に書き込みが行われると、書き込みが行われた記憶領域を表すデータ値に加えて、アクセスの種別と、書き込まれたデータの識別子であるデータ識別子を、アクセス検出部12に送信する。ボリューム21に書き込みが行われた場合のアクセスの種別は、例えば、書き込みを表す値としてあらかじめ設定されている値であればよい。書き込みが行われた記憶領域が、例えば、ファイルシステムの管理領域である場合、アクセス実行部13は、管理領域を表す識別子を送信すればよい。
また、アクセス実行部13は、ボリューム21からデータが削除されると、アクセスの種別と、削除されたデータが格納されていた記憶領域を表すデータ値と、削除されたデータのデータ識別子とを、アクセス検出部12に送信する。ボリューム21からデータが削除された場合のアクセスの種別は、例えば、削除を表す値としてあらかじめ設定されている値であればよい。
アクセス検出部12は、例えば、アクセスの種別を表す値を受信することによって、アクセスを検出すればよい。そして、アクセス検出部12は、受信した値に基づきアクセスの種別を判定すればよい。
アクセス検出部12は、例えば、アクセスの種別として書き込みを表す値を受信した場合、受信した値に基づき、検出されたアクセスの種別が書き込みを表すと判定すればよい。その場合、アクセス検出部12は、書き込みが行われたブロックを特定する。さらに、アクセス検出部12は、書き込みが行われた各ブロックに関連付けて、受信したデータ識別子を、設定値として対象記憶部10に格納する。その際、ブロックに関連付けられている他のデータ識別子が既に存在する場合、アクセス検出部12は、そのブロックに、さらに受信したデータ識別子を関連付ける。
アクセス検出部12は、例えば、アクセスの種別として削除を表す値を受信した場合、受信した値に基づき、アクセスの種別が削除であると判定すればよい。その場合、アクセス検出部12は、受信したデータ識別子を、対象記憶部10から全て削除する。
また、本実施形態のリビルド部11の、ボリューム21に使用されているいずれかの記憶装置20が交換された場合における動作は、以下の通りである。リビルド部11は、少なくとの一つのデータ識別子が、選択されたブロックに関連付けて対象記憶部10に格納されている場合、選択されたブロックに対してリビルドを行う。リビルド部11は、選択されたブロックに関連付けられているデータ識別子が対象記憶部10に格納されていない場合、選択されたブロックに対して、初期化を行う。
本実施形態では、設定値は、0個以上のデータ識別子を含む。あるいは、設定値は、0個以上のデータ識別子であってもよい。
本実施形態の各装置の各構成要素は、以上で説明された点を除き、第1の実施形態における同じ符号が付与されている構成要素と同じである。
次に、本実施形態の動作について、図面を参照して詳細に説明する。
図7は、本実施形態のストレージ制御装置1の、データが書き込まれる際の動作を表すフローチャートである。
図7を参照すると、まず、アクセス検出部12が、ボリューム21へのアクセスを検出する(ステップS301)。
アクセスが検出されない場合(ステップ302においてNo)、動作はステップS301に戻り、アクセス検出部12はアクセスの検出を継続する。
アクセスが検出された場合(ステップ302においてYes)、アクセス検出部12は、例えばアクセス実行部13から受信したアクセスの種別を表す値に基づき、アクセスの種別を特定する。
アクセスがデータの書き込みである場合(ステップS303においてYes)、アクセス検出部12は、書き込みが行われたブロックを特定する(ステップS304)。アクセス検出部12は、例えば、アクセス実行部13から受信した書き込みが行われた記憶領域を表すデータ値に基づき、書き込みが行われたブロックを特定する。
アクセス検出部12は、特定されたブロックに関連付けて、書き込みが行われたデータのデータ識別子を、設定値として対象記憶部10に格納する(ステップS305)。アクセス検出部12は、例えばアクセス実行部13から書き込みが行われたデータのデータ識別子として受信したデータ識別子を、対象記憶部10に格納すればよい。
図8は、本実施形態の対象記憶部10に格納される設定値の例を模式的に表す図である。図8に示す例は、ブロック番号が「1」であるブロックに、データ識別子が、「file11」、「file12」、及び「file13」であるデータが書き込まれていることを表す。そして、図8に示す例は、ブロック番号が「N」であるブロックに、データ識別子が、「fileN1」及び「fileN2」であるデータが書き込まれていることを表す。一方、図8に示す例では、ブロック番号が「2」及び「3」であるブロックに書き込まれているデータが存在しない。
ステップS305の後、動作はステップS301に戻る。
アクセスがデータの書き込みではない場合(ステップS303においてYes)、アクセス検出部12は、アクセスがデータの削除であるか特定する。
アクセスがデータの削除である場合(ステップS306においてYes)、アクセス検出部12は、削除されたデータのデータ識別子を、対象記憶部10から全て削除する(ステップS307)。アクセス検出部12は、削除されたデータのデータ識別子としてアクセス実行部13から受信したデータ識別子を、対象記憶部10から全て削除すればよい。
図9は、本実施形態において、データが削除された際の、設定値の変化の例を模式的に表す図である。図9に示すように、ブロック番号が「2」であるブロックに書き込まれていた、データ識別子が「file21」であるデータの削除が検出された場合、対象記憶部10に格納されていたデータ識別子「file21」は削除される。
ステップS307の後、動作はステップS301に戻る。
ステップS306においてアクセスがデータの削除でない場合(ステップS306においてNo)、動作はステップS301に戻る。
次に、本実施形態のストレージ制御装置1の、記憶装置20が交換された際の動作について説明する。
図10は、本実施形態のストレージ制御装置1の、記憶装置20が交換された際の動作を表すフローチャートである。図10と図5とを比較すると、本実施形態のストレージ制御装置1は、ステップS202の動作の代わりに、ステップS402の動作を行う。図10に示す他のステップにおける本実施形態のストレージ制御装置1の動作は、第1の実施形態のストレージ制御装置1の動作における、同じ符号が付与されているステップと同じである。
ステップS402において、リビルド部11は、選択されたブロックに、少なくとも一つのデータ識別子が関連付けられているか否かを判定する。
選択されたブロックに、少なくとも一つのデータ識別子が関連付けられている場合(ステップS402においてYes)、リビルド部11は、選択されたブロックにおいてリビルドを行う(ステップS203)。
選択されたブロックにデータ識別子が関連付けられていない場合(ステップS402においてNo)、リビルド部11は、選択されたブロックにおいて初期化を行う(ステップS204)。
以上で説明した本実施形態には、第1の実施形態と同じ効果がある。
その理由は、リビルド部11が、データ識別子を含む設定値に関連付けられているブロックに使用される、交換記憶装置の記憶領域に格納されるデータのみを算出するからである。そして、リビルド部11が、データ識別子を含まない設定値に関連付けられているブロックに使用される、各記憶装置20の記憶領域に対して、前述の初期化を行うからである。従って、ボリューム21に使用される各記憶装置20の記憶領域に格納されているデータに、不整合は生じない。また、初期化の際、リビルド部11は、各記憶装置20からのデータの読み出しとパリティの計算を行わない。従って、本実施形態では、データを読み出す時間及びパリティの計算を行う時間を削減することができる。
本実施形態には、ボリューム21に使用される複数の記憶装置20のいずれかが交換された後のデータの復元に要する時間を、さらに削減できるという他の効果がある。
その理由は、アクセス検出部12が、削除されたデータのデータ識別子を、対象記憶部10から削除するからである。そのため、ブロックに書き込まれていたデータが全て削除されると、そのブロックに関連付けられているデータ識別子は無くなる。そのため、ボリューム21に使用される複数の記憶装置20のいずれかが交換された場合に、リビルド部11は、書き込まれているデータが無くなったブロックに対して、パリティの計算に使用するデータの読み出し及びパリティの計算を要するリビルドを行わない。従って、書き込まれていたデータが全て削除されたブロックに対するリビルドに必要な、パリティの計算に使用するデータの読み出し及びパリティの計算に要する時間を削減することができる。
<第3の実施形態>
次に、本発明の第3の実施形態について、図面を参照して詳細に説明する。
図11は、本実施形態のストレージ制御装置1Aの構成を表すブロック図である。図11に示すように、ストレージ制御装置1Aは、例えば、第1の実施形態のストレージ装置3と同様に動作するストレージ装置3Aに含まれる。
図11を参照すると、本実施形態のストレージ制御装置1Aは、複数の記憶装置20を使用して構築された記憶領域であるボリューム21において、前記ボリューム21が分割された複数のブロックに関連付けて設定値を記憶する対象記憶部10と、前記複数の記憶装置20のうち対象記憶装置を前記複数の記憶装置20に含まれない交換記憶装置に置き換える交換に応じて、前記複数のブロックのそれぞれに対して、当該ブロックに関連付けられた前記設定値が所定条件に合致する場合、前記交換記憶装置の前記ブロックに使用される記憶領域に、前記対象記憶装置の前記ブロックに使用されていた記憶領域に格納されていたデータを格納するリビルドを行い、前記ブロックに関連付けられた前記設定値が前記所定条件に合致しない場合、前記複数の記憶装置20の、前記ブロックに使用される記録領域を未使用状態にする初期化を行うリビルド部11と、を備える。
以上で説明した本実施形態には、第1の実施形態と同じ効果がある。
その理由は、リビルド部11が、関連付けられている設定値が所定条件を満たすブロックに使用される、交換記憶装置の記憶領域に格納されるデータのみを算出するからである。そして、リビルド部11が、関連付けられている設定値が所定条件を満たさないブロックに使用される、各記憶装置の記憶領域に対して、前述の初期化を行うからである。なお、ブロックに関連付けられている設定値は、そのブロックにデータが書き込まれている場合、あらかじめ決められている所定条件を満たすよう設定されていればよい。そして、設定値は、そのブロックにデータが書き込まれていない場合、あらかじめ決められているその所定条件を満たさないよう設定されていればよい。所定条件は、例えば、第1の実施形態と同様に、設定値が復元対象を表す値であることであってもよい。所定条件は、例えば、第2の実施形態と同様に、設定値が1個以上のデータ識別子を含むことであってもよい。従って、ボリューム21に使用される各記憶装置20の記憶領域に格納されているデータに、不整合は生じない。また、初期化の際、リビルド部11は、各記憶装置20からのデータの読み出しとパリティの計算を行わない。従って、本実施形態では、データを読み出す時間及びパリティの計算を行う時間を削減することができる。
ストレージ制御装置1、ストレージ制御装置1Aは、それぞれ、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。
図12は、ストレージ制御装置1、ストレージ制御装置1Aを実現することができる、コンピュータ1000の構成の一例を表す図である。図12を参照すると、コンピュータ1000は、プロセッサ1001と、メモリ1002と、記憶装置1003と、I/O(Input/Output)インタフェース1004とを含む。また、コンピュータ1000は、記録媒体1005にアクセスすることができる。メモリ1002と記憶装置1003は、例えば、RAM(Random Access Memory)、ハードディスクなどの記憶装置である。記録媒体1005は、例えば、RAM、ハードディスクなどの記憶装置、ROM(Read Only Memory)、可搬記録媒体である。記憶装置1003が記録媒体1005であってもよい。プロセッサ1001は、メモリ1002と、記憶装置1003に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ1001は、I/Oインタフェース1004を介して、例えば、ディスクアレイ2に含まれる記憶装置20にアクセスすることができる。プロセッサ1001は、記録媒体1005にアクセスすることができる。記録媒体1005には、コンピュータ1000を、ストレージ制御装置1、又はストレージ制御装置1Aとして動作させるプログラムが格納されている。
プロセッサ1001は、記録媒体1005に格納されている、コンピュータ1000を、ストレージ制御装置1、又はストレージ制御装置1Aとして動作させるプログラムを、メモリ1002にロードする。そして、プロセッサ1001が、メモリ1002にロードされたプログラムを実行することにより、コンピュータ1000は、ストレージ制御装置1、又はストレージ制御装置1Aとして動作する。
リビルド部11、アクセス検出部12、アクセス実行部13は、例えば、プログラムを記憶する記録媒体1005からメモリ1002に読み込まれた、各部の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサ1001により実現することができる。また、対象記憶部10は、コンピュータ1000が含むメモリ1002やハードディスク装置等の記憶装置1003により実現することができる。あるいは、対象記憶部10、リビルド部11、アクセス検出部12、アクセス実行部13の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
1、1A ストレージ制御装置
2 ディスクアレイ
3、3A ストレージ装置
4 情報処理装置
10 対象記憶部
11 リビルド部
12 アクセス検出部
13 アクセス実行部
20 記憶装置
21 ボリューム
100 情報処理システム
1000 コンピュータ
1001 プロセッサ
1002 メモリ
1003 記憶装置
1004 I/Oインタフェース
1005 記録媒体

Claims (10)

  1. 複数の記憶装置を使用して構築された記憶領域であるボリュームにおいて、前記ボリュームが前記複数の記憶装置に跨がって分割された複数のブロックに関連付けて設定値を記憶する対象記憶手段と、
    前記複数の記憶装置のうち対象記憶装置を前記複数の記憶装置に含まれない交換記憶装置に物理的に置き換える交換に応じて、前記複数のブロックのそれぞれに対して、
    当該ブロックに関連付けられた前記設定値が所定条件に合致する場合、前記複数の記憶装置のうち交換されていない記憶装置における当該ブロックに使用されている記憶領域に格納されているデータに基づいて、前記対象記憶装置の当該ブロックに使用されていた記憶領域に格納されていたデータを算出して前記交換記憶装置の当該ブロックに使用される記憶領域に格納するリビルドを行い、
    前記ブロックに関連付けられた前記設定値が前記所定条件に合致しない場合、前記複数の記憶装置のうちの前記対象記憶装置以外の記憶装置及び前記交換記憶装置の各々の、前記ブロックに使用される記憶領域に対し、パリティを示すデータでないデータが格納される記憶領域については同じ値の所定値で埋め、パリティを示すデータが格納される記憶領域については前記所定値に基づいてあらかじめ算出しておいたパリティの値で埋める初期化を行うリビルド手段と、
    を備えるストレージ制御装置。
  2. 前記ボリュームにおいて書き込みが行われた前記ブロックを特定し、特定された前記ブロックに関連付けられた前記設定値を、前記所定条件に合致するよう設定するアクセス検出手段
    を備える請求項1に記載のストレージ制御装置。
  3. 前記アクセス検出手段は、前記ボリュームに対するアクセスを検出し、当該アクセスがデータの書き込みである場合、前記ボリュームに書き込まれたデータの、少なくとも一部が書き込まれた前記ブロックを特定し、特定した前記ブロックに関連付けられた前記設定値に、前記データの識別子であるデータ識別子を追加し、前記アクセスがデータの削除である場合、削除された前記データの前記データ識別子を、前記設定値から削除し、
    前記リビルド手段は、前記設定値にデータ識別子が含まれる場合、前記リビルドを行い、前記設定値にデータ識別子が含まれない場合、前記初期化を行う
    請求項2に記載のストレージ制御装置。
  4. 前記複数の記憶装置と、請求項1乃至3のいずれかに記載のストレージ制御装置とを含むストレージシステム。
  5. ストレージ制御装置が、
    複数の記憶装置を使用して構築された記憶領域であるボリュームにおいて、前記ボリュームが前記複数の記憶装置に跨がって分割された複数のブロックに関連付けて設定値を対象記憶手段に記憶し、
    前記複数の記憶装置のうち対象記憶装置を前記複数の記憶装置に含まれない交換記憶装置に物理的に置き換える交換に応じて、前記複数のブロックのそれぞれに対して、
    当該ブロックに関連付けられた前記設定値が所定条件に合致する場合、前記複数の記憶装置のうち交換されていない記憶装置における当該ブロックに使用されている記憶領域に格納されているデータに基づいて、前記対象記憶装置の当該ブロックに使用されていた記憶領域に格納されていたデータを算出して前記交換記憶装置の当該ブロックに使用される記憶領域に格納するリビルドを行い、
    前記ブロックに関連付けられた前記設定値が前記所定条件に合致しない場合、前記複数の記憶装置のうちの前記対象記憶装置以外の記憶装置及び前記交換記憶装置の各々の、前記ブロックに使用される記憶領域に対し、パリティを示すデータでないデータが格納される記憶領域については同じ値の所定値で埋め、パリティを示すデータが格納される記憶領域については前記所定値に基づいてあらかじめ算出しておいたパリティの値で埋める初期化を行う
    ストレージ制御方法。
  6. 前記ストレージ制御装置は、前記ボリュームにおいて書き込みが行われた前記ブロックを特定し、特定された前記ブロックに関連付けられた前記設定値を、前記所定条件に合致するよう設定する
    請求項5に記載のストレージ制御方法。
  7. 前記ストレージ制御装置は、
    前記ボリュームに対するアクセスを検出し、当該アクセスがデータの書き込みである場合、前記ボリュームに書き込まれたデータの、少なくとも一部が書き込まれた前記ブロックを特定し、特定した前記ブロックに関連付けられた前記設定値に、前記データの識別子であるデータ識別子を追加し、前記アクセスがデータの削除である場合、削除された前記データの前記データ識別子を、前記設定値から削除し、
    前記設定値にデータ識別子が含まれる場合、前記リビルドを行い、前記設定値にデータ識別子が含まれない場合、前記初期化を行う
    請求項5又は6に記載のストレージ制御方法。
  8. コンピュータを、
    複数の記憶装置を使用して構築された記憶領域であるボリュームにおいて、前記ボリュームが前記複数の記憶装置に跨がって分割された複数のブロックに関連付けて設定値を記憶する対象記憶手段と、
    前記複数の記憶装置のうち対象記憶装置を前記複数の記憶装置に含まれない交換記憶装置に物理的に置き換える交換に応じて、前記複数のブロックのそれぞれに対して、
    当該ブロックに関連付けられた前記設定値が所定条件に合致する場合、前記複数の記憶装置のうち交換されていない記憶装置における当該ブロックに使用されている記憶領域に格納されているデータに基づいて、前記対象記憶装置の当該ブロックに使用されていた記憶領域に格納されていたデータを算出して前記交換記憶装置の当該ブロックに使用される記憶領域に格納するリビルドを行い、
    前記ブロックに関連付けられた前記設定値が前記所定条件に合致しない場合、前記複数の記憶装置のうちの前記対象記憶装置以外の記憶装置及び前記交換記憶装置の各々の、前記ブロックに使用される記憶領域に対し、パリティを示すデータでないデータが格納される記憶領域については同じ値の所定値で埋め、パリティを示すデータが格納される記憶領域については前記所定値に基づいてあらかじめ算出しておいたパリティの値で埋める初期化を行うリビルド手段と、
    して動作させるストレージ制御プログラム。
  9. コンピュータを、
    前記ボリュームにおいて書き込みが行われた前記ブロックを特定し、特定された前記ブロックに関連付けられた前記設定値を、前記所定条件に合致するよう設定するアクセス検出手段と
    して動作させる請求項8に記載のストレージ制御プログラム。
  10. コンピュータを、
    前記ボリュームに対するアクセスを検出し、当該アクセスがデータの書き込みである場合、前記ボリュームに書き込まれたデータの、少なくとも一部が書き込まれた前記ブロックを特定し、特定した前記ブロックに関連付けられた前記設定値に、前記データの識別子であるデータ識別子を追加し、前記アクセスがデータの削除である場合、削除された前記データの前記データ識別子を、前記設定値から削除する前記アクセス検出手段と、
    前記設定値にデータ識別子が含まれる場合、前記リビルドを行い、前記設定値にデータ識別子が含まれない場合、前記初期化を行う前記リビルド手段と、
    して動作させる請求項9に記載のストレージ制御プログラム。
JP2014041224A 2014-03-04 2014-03-04 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム Active JP6556980B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014041224A JP6556980B2 (ja) 2014-03-04 2014-03-04 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014041224A JP6556980B2 (ja) 2014-03-04 2014-03-04 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム

Publications (2)

Publication Number Publication Date
JP2015166958A JP2015166958A (ja) 2015-09-24
JP6556980B2 true JP6556980B2 (ja) 2019-08-07

Family

ID=54257798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014041224A Active JP6556980B2 (ja) 2014-03-04 2014-03-04 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム

Country Status (1)

Country Link
JP (1) JP6556980B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6288007B2 (ja) 2015-08-26 2018-03-07 株式会社デンソー ヘッドアップディスプレイ装置、及び反射光学系
JP2019219975A (ja) * 2018-06-21 2019-12-26 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07261945A (ja) * 1994-03-17 1995-10-13 Hitachi Ltd ディスクアレイ装置およびディスクアレイの区分け方法
JP3435400B2 (ja) * 2000-12-08 2003-08-11 株式会社東芝 ディスクアレイ装置におけるデータ修復方法及びディスクアレイコントローラ
US7024586B2 (en) * 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
WO2014010077A1 (ja) * 2012-07-13 2014-01-16 富士通株式会社 ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム

Also Published As

Publication number Publication date
JP2015166958A (ja) 2015-09-24

Similar Documents

Publication Publication Date Title
US11163472B2 (en) Method and system for managing storage system
US9910748B2 (en) Rebuilding process for storage array
US10977124B2 (en) Distributed storage system, data storage method, and software program
CN102929750B (zh) 非易失性介质肮脏区段跟踪
US10120769B2 (en) Raid rebuild algorithm with low I/O impact
US8799745B2 (en) Storage control apparatus and error correction method
JP4764909B2 (ja) Raidレベルマイグレーション方法とシステム
JP2005122338A (ja) スペアディスクドライブをもつディスクアレイ装置及びデータスペアリング方法
US20060236149A1 (en) System and method for rebuilding a storage disk
EP3859507A1 (en) Method for processing stripe in storage device and storage device
US20150286531A1 (en) Raid storage processing
KR20090073099A (ko) 전역 핫 스패어 디스크를 이용한 고장난 드라이브의 재구성및 카피백 방법
JP2009116783A (ja) 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム
US9690651B2 (en) Controlling a redundant array of independent disks (RAID) that includes a read only flash data storage device
US9563524B2 (en) Multi level data recovery in storage disk arrays
JP2005293363A (ja) ディスクアレイコントローラおよび情報処理装置
JP2006139478A (ja) ディスクアレイシステム
WO2018188618A1 (zh) 固态硬盘访问
US20150347224A1 (en) Storage control apparatus and method therefor
US8418029B2 (en) Storage control device and storage control method
JP6556980B2 (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
JP6052288B2 (ja) ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム
US10740189B2 (en) Distributed storage system
US10133640B2 (en) Storage apparatus and storage system
US10592349B2 (en) Storage control device and storage apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190711

R150 Certificate of patent or registration of utility model

Ref document number: 6556980

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150