(57)【要約】【課題】複数の記憶装置が複数種類のＲＡＩＤを構成する場合に、記憶装置の故障が発生してからＲＡＩＤにおける冗長性が復旧するまでに要する時間を短縮する。【解決手段】複数種類のＲＡＩＤを構成する全ての記憶装置それぞれにおける所定のブロックを予備記憶装置にミラーリングする部分ミラーリング手段と、記憶装置の何れかが故障した際に、故障が発生した記憶装置における予備記憶装置が保持していないブロックを予備記憶装置において再構成し、故障が発生した記憶装置を予備記憶装置に置き換えることによって冗長性を復旧する再構成手段とを備える。【選択図】      図１
2019121279.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のＲＡＩＤを構成する全ての記憶装置それぞれにおける所定のブロックを予備記憶装置にミラーリングする部分ミラーリング手段と、
前記記憶装置の何れかが故障した際に、故障が発生した前記記憶装置における前記予備記憶装置が保持していないブロックを前記予備記憶装置において再構成し、故障が発生した前記記憶装置を前記予備記憶装置に置き換えることによって冗長性を復旧する再構成手段と
を備えたディスクアレイコントローラ。
【請求項２】
ＲＡＩＤ１を構成する全ての前記記憶装置における前記所定のブロックの合計サイズの総和とＲＡＩＤ５又はＲＡＩＤ６の何れか一方を構成する各前記記憶装置における前記所定のブロックの合計サイズとが均等化された
請求項１に記載のディスクアレイコントローラ。
【請求項３】
請求項１又は２に記載のディスクアレイコントローラと、
前記記憶装置と、
前記予備記憶装置と、
を備えたストレージ装置。
【請求項４】
複数種類のＲＡＩＤを構成する複数台の記憶装置と、
予備記憶装置と
を備えたストレージ装置の復旧方法であって、
全ての前記記憶装置それぞれにおける所定のブロックを予備記憶装置にミラーリングすると共に、
前記記憶装置の何れかが故障した際に、故障が発生した前記記憶装置における前記予備記憶装置が保持していないブロックを前記予備記憶装置において再構成し、故障が発生した前記記憶装置を前記予備記憶装置に置き換えることによって冗長性を復旧する、
ストレージ装置の復旧方法。
【請求項５】
ＲＡＩＤ１を構成する全ての前記記憶装置における前記所定のブロックの合計サイズの総和とＲＡＩＤ５又はＲＡＩＤ６の何れか一方を構成する各前記記憶装置における前記所定のブロックの合計サイズとが均等化された
請求項４に記載のストレージ装置の復旧方法。
【請求項６】
複数種類のＲＡＩＤを構成する複数台の記憶装置と、
予備記憶装置と
に接続されたディスクアレイコントローラが備えるコンピュータに、
複数種類のＲＡＩＤを構成する全ての記憶装置それぞれにおける所定のブロックを予備記憶装置にミラーリングする部分ミラーリング処理と、
前記記憶装置の何れかが故障した際に、故障が発生した前記記憶装置における前記予備記憶装置が保持していないブロックを前記予備記憶装置において再構成し、故障が発生した前記記憶装置を前記予備記憶装置に置き換えることによって冗長性を復旧する再構成処理と
を実行させる、ディスクアレイコントローラの復旧プログラム。
【請求項７】
ＲＡＩＤ１を構成する全ての前記記憶装置における前記所定のブロックの合計サイズの総和とＲＡＩＤ５又はＲＡＩＤ６の何れか一方を構成する各前記記憶装置における前記所定のブロックの合計サイズとが均等化された
請求項６に記載のディスクアレイコントローラの復旧プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）を構成する記憶装置の故障時にＲＡＩＤにおける冗長性を復旧する技術に関する。
【背景技術】
【０００２】
ＲＡＩＤ１、ＲＡＩＤ５、ＲＡＩＤ６等の冗長性を有する論理ディスク（ＲＡＩＤ）を構成する一部のディスク（物理ディスク）が故障すると、ＲＡＩＤが縮退（冗長性を喪失又は冗長性が低下）する。この際、予め実装されていたホットスペアディスクにおいて、故障したディスクが保持していたデータと同じデータを再構成（リビルド）し、ＲＡＩＤを縮退していない状態に復旧することがある。
【０００３】
近年、ディスク容量の増大に伴い、リビルドに要する時間が増大している。そのため、ＲＡＩＤが縮退状態にある時間や、リビルド中の性能低下時間の長時間化が問題になっている。
【０００４】
リビルドに要する時間を短縮する技術の一例が特許文献１に開示されている。特許文献１のストレージシステムは、ストレージ制御装置と、１つのＲＬＵ（RAID Logical Unit）を構成する複数台の記憶装置と、予備用の記憶装置とを含む。ストレージ制御装置は、リビルド制御部と、アクセス処理部とを含む。リビルド制御部は、リビルド処理を部分処理に分割して、部分処理の実行をアクセス処理部に指示する。リビルド処理は、当該ＲＬＵを構成するある記憶装置に記録されていたデータと同一のデータを、当該ＲＬＵを構成する残りの記憶装置から読み出したデータを基に生成して、予備用の記憶装置に書き込む処理である。部分処理は、データの読み出し対象範囲を一定サイズごとに分割した分割範囲からデータを読み出す処理と、この分割範囲から読み出したデータに基づいて他の記憶装置にデータを書き込む処理との組み合わせを含む。アクセス制御部は、リビルド制御部から受け付けた複数の部分処理Ｐ１、Ｐ２の実行指示に応じて、指示された部分処理Ｐ１、Ｐ２を並列に実行する。上記構成の結果、特許文献１のストレージシステムは、リビルド処理を高速化する。
【０００５】
特許文献１の技術では、記憶装置の故障が検出された後にリビルド処理を開始する。そのため、特許文献１の技術には、リビルドの開始が遅いという問題がある。
【０００６】
記憶装置の故障が検出される前にリビルド処理を開始する技術の一例が特許文献２に開示されている。特許文献２のストレージシステムは、複数のＨＤＤ（Hard Disk Drive）と、スペアＨＤＤと、制御部とを備える。複数のＨＤＤは、パリティ計算を利用する１種類のＲＡＩＤ方式に従って、ＲＡＩＤを構成する。スペアＨＤＤは、ＲＡＩＤにより冗長性が確保されたデータのうち何れかのＨＤＤに記憶される第１のデータと同内容の第２のデータを記憶する。制御部は、複数のＨＤＤのうちの１つがスペアＨＤＤに取り換えられた場合、当該取り換えられたＨＤＤに記憶されていたデータを、他のＨＤＤ及びスペアＨＤＤに記憶されているデータに基づいて、スペアＨＤＤにおいてリビルドする。上記構成の結果、特許文献２のストレージシステムは、あるＨＤＤが取り換えられた時点で、当該取り換えられたＨＤＤに記憶される第１のデータと同内容の第２のデータをスペアＨＤＤに記憶している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１３−０５４４０７号公報
【特許文献２】特開２０１２−１８５５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献２のストレージシステムでは、複数のＨＤＤは、１種類のＲＡＩＤ方式（ＲＡＩＤ５又はＲＡＩＤ６の何れか）に従って、ＲＡＩＤを構成している。
【０００９】
一般的なストレージシステムでは、保持するデータの種類等に応じて、一群のＨＤＤのそれぞれに、複数の種類のＲＡＩＤ方式（ＲＡＩＤ１及びＲＡＩＤ５、ＲＡＩＤ１及び又はＲＡＩＤ６等）の何れかを個別に適用することがある。
【００１０】
ところが、特許文献２のストレージシステムには、複数のＨＤＤが複数の種類のＲＡＩＤ方式に従ってＲＡＩＤを構成している場合に、全ての種類のＲＡＩＤ方式（ＲＡＩＤ１等）における冗長性を復旧することができないという問題がある。
【００１１】
本発明は、上記の課題に鑑みてなされたもので、複数の記憶装置が複数種類のＲＡＩＤを構成する場合に、記憶装置の故障が発生してからＲＡＩＤにおける冗長性が復旧するまでに要する時間を短縮することを主たる目的とする。
【課題を解決するための手段】
【００１２】
本発明の一態様において、ディスクアレイコントローラは、複数種類のＲＡＩＤを構成する全ての記憶装置それぞれにおける所定のブロックを予備記憶装置にミラーリングする部分ミラーリング手段と、記憶装置の何れかが故障した際に、故障が発生した記憶装置における予備記憶装置が保持していないブロックを予備記憶装置において再構成し、故障が発生した記憶装置を予備記憶装置に置き換えることによって冗長性を復旧する再構成手段とを備える。
【００１３】
本発明の一態様において、ストレージ装置は、複数種類のＲＡＩＤを構成する複数台の記憶装置と、予備記憶装置と、全ての記憶装置それぞれにおける所定のブロックを予備記憶装置にミラーリングする部分ミラーリング手段と、記憶装置の何れかが故障した際に、故障が発生した記憶装置における予備記憶装置が保持していないブロックを予備記憶装置において再構成し、故障が発生した記憶装置を予備記憶装置に置き換えることによって冗長性を復旧する再構成手段とを含むディスクアレイコントローラとを備える。
【００１４】
本発明の一態様において、ストレージ装置の復旧方法は、複数種類のＲＡＩＤを構成する複数台の記憶装置と、予備記憶装置とを備えたストレージ装置の復旧方法であって、全ての記憶装置それぞれにおける所定のブロックを予備記憶装置にミラーリングすると共に、記憶装置の何れかが故障した際に、故障が発生した記憶装置における予備記憶装置が保持していないブロックを予備記憶装置において再構成し、故障が発生した記憶装置を予備記憶装置に置き換えることによって冗長性を復旧する。
【００１５】
本発明の一態様において、ディスクアレイコントローラの復旧プログラム又は、係る復旧プログラムが格納された非一時的な記憶媒体は、複数種類のＲＡＩＤを構成する複数台の記憶装置と、予備記憶装置とに接続されたディスクアレイコントローラが備えるコンピュータに、複数種類のＲＡＩＤを構成する全ての記憶装置それぞれにおける所定のブロックを予備記憶装置にミラーリングする部分ミラーリング処理と、記憶装置の何れかが故障した際に、故障が発生した記憶装置における予備記憶装置が保持していないブロックを予備記憶装置において再構成し、故障が発生した記憶装置を予備記憶装置に置き換えることによって冗長性を復旧する再構成処理とを実行させる。
【発明の効果】
【００１６】
本発明によれば、複数の記憶装置が複数種類のＲＡＩＤを構成する場合に、記憶装置の故障が発生してからＲＡＩＤにおける冗長性が復旧するまでに要する時間を短縮できるという効果がある。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態におけるストレージ装置の構成の一例を示すブロック図である。
【図２】本発明の第１の実施形態におけるストレージ装置の動作を示すフローチャートである。
【図３】本発明の第１の実施形態におけるストレージ装置の動作例を説明する図である。
【図４】本発明の第１の実施形態におけるストレージ装置の別の動作例を説明する図である。
【図５】本発明の各実施形態におけるストレージ装置を実現可能なハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について、図面を参照して詳細に説明する。なお、すべての図面において、同等の構成要素には同じ符号を付し、適宜説明を省略する。
（第１の実施形態）
本実施形態における構成について説明する。
【００１９】
図１は、本発明の第１の実施形態におけるストレージ装置の構成の一例を示すブロック図である。図１では、記憶装置Ｄ１及び記憶装置Ｄ２がＲＡＩＤ１方式によってＲＡＩＤを構成し、記憶装置Ｄ３、記憶装置Ｄ４、及び記憶装置Ｄ５がＲＡＩＤ５方式によってＲＡＩＤを構成する例を示している。ここで、Ａ１、Ａ２、Ａ３、・・・はある一連のデータを構成するブロック（におけるデータ）を示し、Ｂ１、Ｂ２、Ｂ３、・・・は別の一連のデータを構成するブロック（におけるデータ）を示すこととする。又、ＰＢ１２は、ブロックＢ１及びブロックＢ２から算出されるパリティデータを含むブロックであることとする。即ち、ブロックＢ１、ブロックＢ２、又はブロックＰＢ１２のうち何れか２つのブロックから、残りの１つのブロックを算出できる。ブロックＰＢ３４、ＰＢ５６、・・・についても、ブロックＰＢ１２と同様である。又、本実施形態におけるＲＡＩＤ方式、各ＲＡＩＤを構成する記憶装置の台数等は本例には限定されない。
【００２０】
本実施形態におけるストレージ装置１００は、複数台の記憶装置１４０と、予備記憶装置１５０と、ディスクアレイコントローラ１１０とを含む。
【００２１】
複数台の記憶装置１４０は、複数種類のＲＡＩＤを構成する。各記憶装置１４０は、例えば、ＨＤＤ、ＳＳＤ（Solid State Drive）、又は不揮発性メモリである。
【００２２】
予備記憶装置１５０は、記憶装置１４０毎に所定の一部ブロックをミラーリングする。予備記憶装置１５０は、例えば、ＨＤＤ、ＳＳＤ、又は不揮発性メモリである。
【００２３】
ディスクアレイコントローラ１１０は、複数種類のＲＡＩＤ方式の何れかに従って、各記憶装置１４０を制御する。ディスクアレイコントローラ１１０は、部分ミラーリング部１２０と、再構成部１３０とを含む。ここで、複数種類のＲＡＩＤ方式は、例えば、ＲＡＩＤ１及びＲＡＩＤ５、又はＲＡＩＤ１及びＲＡＩＤ６である。ここで、ＲＡＩＤ５の代わりにＲＡＩＤ６が使用される場合には、ＲＡＩＤを構成する記憶装置１４０が追加されてもよい。
【００２４】
部分ミラーリング部１２０は、全ての記憶装置１４０それぞれにおける所定のブロックを予備記憶装置１５０にミラーリングする。図１では、予備記憶装置１５０は、記憶装置Ｄ１のブロックＡ１と、記憶装置Ｄ２のブロックＡ２と、記憶装置Ｄ３のブロックＰＢ５６と、記憶装置Ｄ４のブロックＢ８と、記憶装置Ｄ５のブロックＢ０とを予備記憶装置１５０にミラーリングしている。
【００２５】
再構成部１３０は、記憶装置１４０の何れかが故障した際に、故障が発生した記憶装置１４０における、予備記憶装置１５０が保持していないブロックを、予備記憶装置１５０において再構成する。そして、再構成部１３０は、故障が発生した記憶装置１４０を予備記憶装置１５０に置き換えることによって冗長性を復旧する。
【００２６】
本実施形態における動作について説明する。
【００２７】
図２は、本発明の第１の実施形態におけるストレージ装置の動作を示すフローチャートである。
【００２８】
まず、ストレージ装置１００は、複数種類のＲＡＩＤを構成する全ての記憶装置１４０それぞれにおける所定のブロックを予備記憶装置１５０にミラーリングする（ステップＳ１１０）。ここで、所定のブロックは、複数種類のＲＡＩＤを構成する各記憶装置１４０において少なくとも１つ選択されることとする。各記憶装置１４０において選択されたブロックの合計サイズは、故障が発生した記憶装置１４０の再構成（ステップＳ１３０において後述）に要する時間が均等化されるように設定されることが望ましい。
【００２９】
次に、ストレージ装置１００は、記憶装置１４０の何れかが故障したか否かを検出する（ステップＳ１２０）。ここで、記憶装置１４０の故障は、例えば、S.M.A.R.T.（Self-Monitoring Analysis and Reporting Technology）を用いて検出される。
【００３０】
記憶装置１４０の何れも故障しなければ（ステップＳ１２０：Ｎｏ）、ストレージ装置１００は、ステップＳ１１０に処理を戻す。
【００３１】
続いて、記憶装置１４０の何れかが故障すれば（ステップＳ１２０：Ｙｅｓ）、ストレージ装置１００は、故障が発生した記憶装置１４０における、予備記憶装置１５０が保持していないブロックを、予備記憶装置１５０において再構成する（ステップＳ１３０）。
【００３２】
続いて、ストレージ装置１００は、故障が発生した記憶装置１４０を予備記憶装置１５０に置き換えることによって冗長性を復旧する（ステップＳ１４０）。
【００３３】
本実施形態における動作例について説明する。
【００３４】
図３は、本発明の第１の実施形態におけるストレージ装置の動作例を説明する図である。
【００３５】
故障発生前において、記憶装置Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５のブロックＡ１、Ａ２、ＰＢ５６、Ｂ８、Ｂ０はそれぞれ予備記憶装置にミラーリングされている（図１）。ある時点において、記憶装置５が故障することとする。
【００３６】
このとき、ストレージ装置１００は、予備記憶装置１５０において記憶装置Ｄ５の再構成（リビルド）を開始する。ところが、ブロックＢ０は既にミラーリングされているので、記憶装置Ｄ５におけるＰＢ１２、Ｂ４、Ｂ６、Ｂ８、・・・のデータについて、記憶装置Ｄ３及び記憶装置Ｄ４によって保持されるデータに基づいてデータをリビルドする。その結果、予備記憶装置１５０においてミラーリング済みであったブロックＢ０のリビルドに要する時間の分、リビルドに要する時間が短縮される。
【００３７】
図４は、本発明の第１の実施形態におけるストレージ装置の別の動作例を説明する図である。
【００３８】
故障発生前において、記憶装置Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５のブロックＡ１、Ａ２、ＰＢ５６、Ｂ８、Ｂ０はそれぞれ予備記憶装置にミラーリングされている（図１）。ある時点において、記憶装置Ｄ２が故障することとする。
【００３９】
このとき、ストレージ装置１００は、予備記憶装置１５０において記憶装置Ｄ２のリビルドを開始する。ところが、ブロックＡ１、Ａ２は既にミラーリングされているので、記憶装置Ｄ２におけるＡ３、Ａ４、Ａ５、・・・について、記憶装置Ｄ１によって保持されるデータに基づいてブロックをリビルドする。その結果、予備記憶装置１５０においてミラーリング済みであったブロックＡ１及びＡ２のリビルドに要する時間の分、リビルドに要する時間が短縮される。
【００４０】
以上説明したように、本実施形態におけるストレージ装置１００は、複数種類のＲＡＩＤを構成する全ての記憶装置１４０について、記憶装置１４０毎の所定の一部ブロックを予備記憶装置１５０にミラーリングする。そして、ストレージ装置１００は、記憶装置１４０の何れかが故障した際に、故障が発生した記憶装置１４０における、予備記憶装置１５０が保持していないブロックを予備記憶装置１５０において再構成する。そして、ストレージ装置１００は、故障が発生した記憶装置１４０を予備記憶装置１５０に置き換えることによって冗長性を復旧する。従って、本実施形態におけるストレージ装置１００には、複数の記憶装置が複数種類のＲＡＩＤを構成する場合に、記憶装置の故障が発生してからＲＡＩＤにおける冗長性が復旧するまでに要する時間を短縮できるという効果がある。
【００４１】
特に、記憶装置Ｄ１又はＤ２から予備記憶装置１５０にミラーリングされた所定のブロックの合計サイズの総和と、記憶装置Ｄ３、Ｄ４、Ｄ５、・・・それぞれから予備記憶装置１５０にミラーリングされた所定のブロックの合計サイズとが均等化されている場合には、ある記憶装置１４０の故障が発生してからＲＡＩＤにおける冗長性が復旧するまでに要する時間が均等化されるという効果がある。
【００４２】
図５は、本発明の各実施形態におけるストレージ装置を実現可能なハードウェア構成の一例を示すブロック図である。
【００４３】
ストレージ装置９０７は、記憶装置９０２と、ＣＰＵ（Central Processing Unit）９０３と、キーボード９０４と、モニタ９０５と、Ｉ／Ｏ（Input/Output）装置９０８とを備え、これらが内部バス９０６によって接続されている。記憶装置９０２は、部分ミラーリング部１２０、再構成部１３０等のＣＰＵ９０３の動作プログラムを格納する。ＣＰＵ９０３は、ストレージ装置９０７の全体を制御し、記憶装置９０２に格納された動作プログラムを実行し、Ｉ／Ｏ装置９０８によって部分ミラーリング部１２０、再構成部１３０等のプログラムの実行やデータの送受信を行なう。尚、上記のストレージ装置９０７の内部構成は一例である。ストレージ装置９０７は、必要に応じて、キーボード９０４、モニタ９０５を接続する装置構成であってもよい。
【００４４】
上述した本発明の各実施形態におけるストレージ装置９０７は、専用の装置によって実現してもよいが、Ｉ／Ｏ装置９０８が外部との通信を実行するハードウェアの動作以外は、コンピュータ（情報処理装置）によっても実現可能である。本発明の各実施形態において、Ｉ／Ｏ装置９０８は、例えば、記憶装置１４０、予備記憶装置１５０等との入出力部である。この場合、係るコンピュータは、記憶装置９０２に格納されたソフトウェア・プログラムをＣＰＵ９０３に読み出し、読み出したソフトウェア・プログラムをＣＰＵ９０３において実行する。上述した各実施形態の場合、係るソフトウェア・プログラムには、上述したところの、図１に示した、ストレージ装置９０７又はストレージ装置９０７の各部の機能を実現可能な記述がなされていればよい。但し、これらの各部には、適宜ハードウェアを含むことも想定される。そして、このような場合、係るソフトウェア・プログラム（コンピュータ・プログラム）は、本発明を構成すると捉えることができる。更に、係るソフトウェア・プログラムを格納した、コンピュータ読み取り可能な記憶媒体も、本発明を構成すると捉えることができる。
【００４５】
以上、本発明を、上述した各実施形態およびその変形例によって例示的に説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態およびその変形例に記載した範囲に限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
【産業上の利用可能性】
【００４６】
本発明は、ＲＡＩＤを構成する記憶装置の故障時における復旧時間を短縮する用途において利用できる。
【符号の説明】
【００４７】
１００  ストレージ装置
１１０  ディスクアレイコントローラ
１２０  部分ミラーリング部
１３０  再構成部
１４０  記憶装置
１５０  予備記憶装置
９０２  記憶装置
９０３  ＣＰＵ
９０４  キーボード
９０５  モニタ
９０６  内部バス
９０７  ストレージ装置
９０８  Ｉ／Ｏ装置
【図１】
2019121279.tif 000003
【図２】
2019121279.tif 000004
【図３】
2019121279.tif 000005
【図４】
2019121279.tif 000006
【図５】
2019121279.tif 000007