(57)【要約】【課題】高速に冗長度を復旧することができる制御装置、ディスクアレイ装置、制御方法、及びプログラムを提供する。【解決手段】複数の記憶装置を用いて構成される記憶域プールを制御する制御装置は、取得部と制御部とを備える。取得部は、前記記憶域プールに縮退が発生していない場合に、前記記憶域プールに記憶するデータの保存領域及び前記データを保存可能な予備領域を示す第１保存領域情報と、前記縮退が発生した場合に、前記保存領域及び前記予備領域を示す第２保存領域情報と、を取得する。制御部は、前記縮退が発生した場合に、前記第１保存領域情報及び前記第２保存領域情報に基づいて、前記データを再配置するための制御を行う。【選択図】図９
2020149267.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶装置を用いて構成される記憶域プールを制御する制御装置であって、
前記記憶域プールに縮退が発生していない場合に、前記記憶域プールに記憶するデータの保存領域及び前記データを保存可能な予備領域を示す第１保存領域情報と、前記縮退が発生した場合に、前記保存領域及び前記予備領域を示す第２保存領域情報と、を取得する取得部と、
前記縮退が発生した場合に、前記第１保存領域情報及び前記第２保存領域情報に基づいて、前記データを再配置するための制御を行う制御部と、
を備える制御装置。
【請求項２】
前記第１保存領域情報は、２つの前記記憶装置に設けられる保存領域のそれぞれに対して、同一の前記データを保存することを示す情報であって、前記保存領域ごとに当該保存領域が含まれる前記記憶装置の組み合わせが異なる情報である、
請求項１に記載の制御装置。
【請求項３】
前記第２保存領域情報は、前記記憶装置の少なくとも１つは全て前記予備領域であり、前記第１保存領域情報における当該記憶装置に記憶されるデータ領域が他の前記記憶装置に分散して再配置される情報である、
請求項１または請求項２のいずれか一項に記載の制御装置。
【請求項４】
前記制御部は、前記第１保存領域情報及び前記第２保存領域情報に基づいて、前記縮退の発生前後において保存領域の異なる前記データを、前記縮退からの復旧において再配置が必要な再配置データと判定し、前記再配置データを再配置するための制御を行う、
請求項１から請求項３のいずれか一項に記載の制御装置。
【請求項５】
前記第１保存領域情報において前記再配置データが含まれる記憶装置と、前記第２保存領域情報において前記復旧データが含まれる記憶装置との組み合わせが、前記再配置データの保存領域ごとに異なる、
請求項４に記載の制御装置。
【請求項６】
複数の記憶装置と、
請求項１から請求項５のいずれか一項に記載の制御装置と、
を備えるディスクアレイ装置。
【請求項７】
複数の記憶装置を用いて構成される記憶域プールを制御する制御装置において、
前記記憶域プールに縮退が発生していない場合に、前記記憶域プールに記憶するデータの保存領域及び前記データを保存可能な予備領域を示す第１保存領域情報と、前記縮退が発生した場合に、前記保存領域及び前記予備領域を示す第２保存領域情報と、を取得する取得ステップと、
前記縮退が発生した場合に、前記第１保存領域情報及び前記第２保存領域情報に基づいて、前記データを再配置するための制御を行う制御ステップと、
を含む、制御方法。
【請求項８】
複数の記憶装置を用いて構成される記憶域プールを制御するコンピュータに、
前記記憶域プールに縮退が発生していない場合に、前記記憶域プールに記憶するデータの保存領域及び前記データを保存可能な予備領域を示す第１保存領域情報と、前記縮退が発生した場合に、前記保存領域及び前記予備領域を示す第２保存領域情報と、を取得する取得ステップと、
前記縮退が発生した場合に、前記第１保存領域情報及び前記第２保存領域情報に基づいて、前記データを再配置するための制御を行う制御ステップと、
を実行させるための、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、ディスクアレイ装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、物理ディスクの大容量化に伴い、物理ディスクに障害が発生した場合、復旧時間が容量に比例して延びている。特許文献１には、関連する技術として、復旧時間を短縮するための技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１２０３８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術では、後に生じる復旧時間を短縮するために物理ディスクのプールに予備記憶装置を組み込む。しかしながら、障害発生時に、障害が発生したディスクのデータを一時的に他の物理ディスクに復旧するために、他の多くの物理ディスクを利用し冗長性を復旧する必要があり、復旧には時間が必要であった。
【０００５】
本発明は、上記の課題を解決する、制御装置、ディスクアレイ装置、制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、複数の記憶装置を用いて構成される記憶域プールを制御する制御装置であって、前記記憶域プールに縮退が発生していない場合に、前記記憶域プールに記憶するデータの保存領域及び前記データを保存可能な予備領域を示す第１保存領域情報と、前記縮退が発生した場合に、前記保存領域及び前記予備領域を示す第２保存領域情報と、を取得する取得部と、前記縮退が発生した場合に、前記第１保存領域情報及び前記第２保存領域情報に基づいて、前記データを再配置するための制御を行う制御部と、を備える制御装置である。
【０００７】
本発明の第２の態様によれば、複数の記憶装置と、上記の制御装置と、を備えるディスクアレイ装置である。
【０００８】
本発明の第３の態様によれば、複数の記憶装置を用いて構成される記憶域プールを制御する制御装置において、前記記憶域プールに縮退が発生していない場合に、前記記憶域プールに記憶するデータの保存領域及び前記データを保存可能な予備領域を示す第１保存領域情報と、前記縮退が発生した場合に、前記保存領域及び前記予備領域を示す第２保存領域情報と、を取得する取得ステップと、前記縮退が発生した場合に、前記第１保存領域情報及び前記第２保存領域情報に基づいて、前記データを再配置するための制御を行う制御ステップと、を含む、制御方法である。
【０００９】
本発明の第４の態様によれば、複数の記憶装置を用いて構成される記憶域プールを制御するコンピュータに、前記記憶域プールに縮退が発生していない場合に、前記記憶域プールに記憶するデータの保存領域及び前記データを保存可能な予備領域を示す第１保存領域情報と、前記縮退が発生した場合に、前記保存領域及び前記予備領域を示す第２保存領域情報と、を取得する取得ステップと、前記縮退が発生した場合に、前記第１保存領域情報及び前記第２保存領域情報に基づいて、前記データを再配置するための制御を行う制御ステップと、を実行させるためのプログラムである。
【発明の効果】
【００１０】
本発明によれば、高速に冗長度を復旧することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る情報処理システム１００の構成を示す概略ブロック図である。
【図２】本発明の一実施形態に係るマップの一例を示す図である。
【図３】本発明の一実施形態に係るマップの別の一例を示す図である。
【図４】本発明の一実施形態に係るデータコピーの一例を示す図である。
【図５】本発明の一実施形態に係る縮退時の動作の一例を示すフローチャートである。
【図６】本発明の一実施形態に係るデータ書き込みを行う領域の判定処理の一例を示すフローチャートである。
【図７】本発明の一実施形態に係るマップの別の一例を示す図である。
【図８】本発明の一実施形態に係る縮退時の動作の別の一例を示すフローチャートである。
【図９】本発明の一実施形態に係る制御装置の最小構成を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の一実施形態について詳しく説明する。
【００１３】
図１は、本発明の一実施形態に係る情報処理システム１００の構成を示す概略図である。
制御装置１００は、制御装置１、記憶域プール２０、及び、複数のホスト３０（３０−１、・・・３０−Ｎ）を備える。ホスト３０は、制御装置１と接続されている。また、制御装置１は、記憶域プール２０と接続されている。本実施形態では、説明の都合上、ホスト３０が１つである例を説明するが、ホスト３０は、複数のホスト３０（３０−１、・・・、３０−Ｎ）を備えてもよい。また、本実施形態において、ホスト３０（３０−１、・・・３０−Ｎ）は、情報処理システム１００が備える任意のホストを示す場合、又は特に区別しない場合には、ホスト３０として説明する。
【００１４】
ホスト３０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサを備えたコンピュータである。ホスト３０は、ＣＰＵによりＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が稼働している。ＯＳは、制御装置１が管理する論理ボリュームを対象とする読み出し命令及び書き込み命令を制御装置１へ出力する。
制御装置１は、記憶域プール２０の物理ディスク＃１〜＃ｎに対するＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）を構成し制御する。また、制御装置１は、ホスト３０による読み出し命令及び書き込み命令に従い、論理ボリュームに対するドライブへの書き込みや、ドライブからの読み出しを行う。制御装置１についての詳細は後述する。
記憶域プール２０は、複数の物理ディスク（＃１〜＃ｎ）によって構成される。複数の物理ディスク＃１〜＃ｎは、データの冗長性を保証する１つの論理ディスクを構成している。また、物理ディスクは、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などの記憶装置である。
【００１５】
次に、制御装置１について説明する。
制御装置１は、ホスト制御部１１、物理ディスク制御部１２、ＲＡＩＤ管理部１３、及びマップ記憶部１３１を備える。
【００１６】
ホスト制御部１１は、ホスト３０から受信した命令を解析し実行する。具体的には、ホスト制御部１１は、書き込み命令を受信した場合、受信した命令を解析する。ホスト制御部１１は、解析した結果に基づいて、物理ディスク制御部１２に、書き込みを行う命令及び書き込む内容を示す情報を出力する。また、物理ディスク制御部１２から書き込みが終了した入力を受け入れると、ホスト３０に書き込みが終了したことを出力する。
また、ホスト制御部１１は、読み出し命令を受信した場合、受信した命令を解析する。ホスト制御部１１は、解析した結果に基づいて、物理ディスク制御部１２に読み出しを行う命令及び読み出す内容を示す情報を出力する。また、物理ディスク制御部１２から読み出した情報を受け入れると、ホスト３０に読み出した内容を出力する。
また、ホスト制御部１１は、物理ディスク制御部１２から書き込み又は読み出しに失敗した情報を受け入れた場合、ホスト３０に当該情報を出力する。
【００１７】
物理ディスク制御部１２は、制御装置１と記憶域プール２０とのデータ転送を制御する。具体的には、物理ディスク制御部１２は、書き込み又は読み出しを行うデータの記憶域プール２０内での領域を問い合わせる情報を、ＲＡＩＤ管理部１３に出力する。以下、書き込み対象のデータを「ライトデータ」、読み込み対象のデータを「リードデータ」とも称する。物理ディスク制御部１２は、ＲＡＩＤ管理部１３から受信した情報に基づいて、ライトデータを記憶域プール２０に書き込む処理を行う。また、物理ディスク制御部１２は、ＲＡＩＤ管理部１３から受信した情報に基づいて、リードデータを記憶域プール２０から読み出す処理を行う。物理ディスク制御部１２は、処理結果を示す情報をホスト制御部１１に出力する。処理結果を示す情報は、例えば、書き込み終了を示す情報、リードデータを含む情報、書き込み又は読み出しが失敗した情報、などである。
【００１８】
また、物理ディスク制御部１２は、記憶域プール２０を構成する物理ディスクに縮退が発生した場合、当該情報を記憶域プール２０から取得し、取得した情報をＲＡＩＤ管理部１３に出力する。縮退の発生は、対象の物理ディスクに故障が発生した場合に限られない。例えば、物理ディスクのエラー率などを監視し、監視している情報がある所定の条件を満たした場合などに縮退が発生してもよい。以下では、縮退が発生した物理ディスクは、読み出し及び書き込みが行えないものとするが、これには限られない。
【００１９】
ＲＡＩＤ管理部１３は、記憶域プール２０の物理ディスクが記憶するデータの配置を、マップを用いて管理する。マップは、記憶域プール２０の物理ディスクがデータを記憶する領域と当該領域に含まれる情報とを対応付けた情報である。ここで、領域とは、物理ディスクにおいてデータを記録する単位である。
また、ＲＡＩＤ管理部１３は、物理ディスク制御部１２からのライトデータ・リードデータの領域の問い合わせに回答する。具体的には、ＲＡＩＤ管理部１３は、物理ディスク制御部１２からライトデータ・リードデータの領域を問い合わせる情報を受け入れる。ＲＡＩＤ管理部１３は、マップ記憶部１３１からマップを読み出し、読み出した情報に基づいて、ライトデータ・リードデータの領域を決定する。ＲＡＩＤ管理部１３は決定した情報を物理ディスク制御部１２に出力する。
また、ＲＡＩＤ管理部１３は、記憶域プール２０を構成する物理ディスクに縮退が発生した場合に、縮退復旧のためコピーするデータを決定する処理を行う。ＲＡＩＤ管理部１３は、決定した情報を物理ディスク制御部１２に出力する。
ＲＡＩＤ管理部１３の処理の詳細は後述する。
【００２０】
マップ記憶部１３１は、ＲＡＩＤ管理部１３が管理するマップを記憶する。マップ記憶部１３１は、２種類のマップ（第１マップ、第２マップ）を記憶する。第１マップは、記憶域プール２０を構成する物理ディスクの全てに縮退が起きていない場合のマップである。第２マップは、記憶域プール２０を構成する物理ディスクのいずれかに縮退が起きた場合のマップである。第２マップは、縮退が起きた物理ディスクに応じて異なるマップである。そのため、第２マップは記憶域プール２０を構成する物理ディスクの数だけ存在する。
【００２１】
以下、記憶域プール２０が９台の物理ディスク（＃１〜＃９）を有する場合の例について説明する。ただし、本実施形態は、以下の説明に限定されない。
【００２２】
図２は、本発明の一実施形態に係るマップの一例を示す図である。図２におけるマップＭ１は、上述した第１マップの一例を示す。
この図に示す一例では、マップＭ１は、９台の物理ディスクの各々を９個の領域に分割している場合の、各領域が記憶するデータの構成を示す情報である。最初の行の“＃１”〜“＃９”は、記憶域プール２０を構成する個々の物理ディスクを示す。つまり、各列が１つの物理ディスクを構成する。また、ストライプＳＴは、各物理ディスクの領域を１つずつ含むグループを示す。各ストライプＳＴに含まれる領域は、各物理ディスクでの位置が一致する。この図に示す一例では、各行が１つのストライプを構成する。
【００２３】
各領域は、データを記憶する領域（「データ領域」とも称する）か、予備領域（「スペア領域」とも称する）かのいずれかである。ここでデータは、記憶域プール２０が記憶する情報と、当該情報に関する誤り訂正符号（パリティ）とを含む。また、予備領域は、記憶域プール２０を構成する物理ディスクに縮退が発生していない場合には、データが記録されない領域である。
ある領域がデータ領域である場合、当該領域には“Ｄｘ”（ｘは０〜３５のいずれかの数字）という識別子が示される。また、各データは２つのデータ領域にミラーリングされている。ここで、ミラーリングとは、記憶域プール２０を構成する物理ディスクの複数の領域に同一のデータが記憶されることを示す。
【００２４】
ミラーリングされるデータ（以下、「ミラーリングデータ」とも称する）は、２つの物理ディスクに分散して記憶される。すなわち、ミラーリングデータは、第１の物理ディスクと、第１の物理ディスクとは異なる第２の物理ディスクに記憶される。第１及び第２の物理ディスクの組み合わせは、ミラーリングデータごとに異なる。また、ミラーリングデータは、同一のストライプ内に記憶される。
【００２５】
また、ある領域がスペア領域である場合には、当該ストリップには、“Ｓ”という識別子が示される。スペア領域は、各物理ディスクに１つであって、かつ、各ストライプに１つになるように配置されている。また、スペア領域は記憶するデータがないので、ミラーリングされない。
【００２６】
この図に示す一例では、例えば物理ディスク＃１のストライプ０は、識別子“Ｄ０”が示され、この領域がデータ領域であることを示す。また、物理ディスク＃２のストライプ０も同じ識別子が示され、この２つの領域はミラーリングデータを保持することを示す。また、物理ディスク＃９のストライプ０は、識別子“Ｓ”が表示されており、この領域がスペア領域であることを示す。
【００２７】
図３は、本発明の一実施形態に係るマップの別の一例を示す図である。図３におけるマップＭ２は、上述した第２マップの一例を示す。
【００２８】
この図に示す一例では、マップＭ２は、物理ディスク＃３が縮退した場合に、各領域が記憶するデータの構成を示す情報である。マップＭ２では、縮退が起きた物理ディスク＃３が全てのスペア領域を含む。また、マップＭ２では、マップＭ１でスペア領域となっていた領域に、マップＭ１の物理ディスク＃３のデータ領域であって、同一のストライプに含まれるデータ領域が記憶するデータが記憶される。
【００２９】
例えば、ストライプ０の場合、マップＭ１ではスペア領域は物理ディスク＃９に存在する。また、マップＭ１では物理ディスク＃３のストライプ０には識別子“Ｄ１”で識別されるデータが記憶されている。そこで、マップＭ２では、物理ディスク＃９のストライプ０には識別子“Ｄ１”で識別されるデータが記憶される。また、物理ディスク＃３のストライプ０はスペア領域となる。ストライプ０については、他の物理ディスク（＃１、＃２、＃４〜＃８）で、マップＭ１とマップＭ２との間に変更点はない。
また、例えば、ストライプ６の場合、マップＭ１で既に物理ディスク＃３がスペア領域である。従って、ストライプ６は、全ての物理ディスクについて、マップＭ１とマップＭ２との間に変更点はない。
【００３０】
このように、マップＭ２は、マップＭ１において、縮退が発生した物理ディスクに存在するデータ領域を、同一のストライプのスペア領域に移動させて配置することで作成することが可能である。
また、他の物理ディスクに縮退が発生した場合についても、第２マップは、上述した方法によって容易にマップＭ１から作成可能である。
【００３１】
続いて、実際に縮退が起きた場合に、ＲＡＩＤ管理部１３が、コピー対象となるデータを決定する処理について詳細を説明する。
図４は、本発明の一実施形態に係るデータコピーの一例を示す図である。この図に示す一例では、物理ディスク＃３に縮退が発生した場合に、物理ディスク制御部１２が、コピーを行うデータを矢印で示す。例えば、「Ｄ１からＳへの矢印」は物理ディスク＃６の識別子“Ｄ１”で識別されるデータ領域に記憶されるデータを、物理ディスク＃９のスペア領域にコピーさせることを示す。ＲＡＩＤ管理部１３は、この矢印の元と先の領域、すなわち、コピー元とコピー先とを特定する。
【００３２】
ＲＡＩＤ管理部１３は、縮退が発生した場合、物理ディスク制御部１２から、縮退が発生した物理ディスクを示す情報を受け入れる。以下では、物理ディスク＃３に縮退が発生した場合について説明するが、これには限られない。また、以降、縮退が発生した物理ディスクを「縮退ディスク」とも称する。
【００３３】
ＲＡＩＤ管理部１３は、物理ディスク制御部１２から受け入れた情報に基づき、複数の第２マップの中から、縮退ディスク（＃３）に対応する第２マップをマップ記憶部１３１から読み出す。また、ＲＡＩＤ管理部１３は、マップ記憶部１３１から第１マップを読み出す。ＲＡＩＤ管理部１３は、読みだした第１マップ及び第２マップに基づいて、移動させるデータを決定する。縮退ディスクに含まれているデータは、縮退のため、当該ディスクから読み出すことができない。そのため、ＲＡＩＤ管理部１３は、当該データがミラーリングされている領域からデータを読み出す。
【００３４】
具体的には、まず、ＲＡＩＤ管理部１３は、第１マップを参照し、障害ディスクの各領域に記憶されていたデータがミラーリングされている領域を特定する。例えば、ストライプ０の場合、ＲＡＩＤ管理部１３は、まず第１マップを参照し、縮退ディスクに記憶されているデータの識別子が“Ｄ１”であることを取得する。続いて、ＲＡＩＤ管理部１３は、第１マップを参照し、取得した識別子が示された他の領域（ミラーリングされている領域）を特定する。識別子“Ｄ１”の場合、ＲＡＩＤ管理部１３は、他に物理ディスク＃６のストライプ０の領域に配置されていることを特定する。すなわち、この領域（物理ディスク＃６のストライプ０）がコピー元となる領域である。
【００３５】
次に、ＲＡＩＤ管理部１３は、第２マップを参照し、先ほど特定した領域に含まれるデータが縮退時にミラーリングされる領域を特定する。具体的には、ＲＡＩＤ管理部１３は、第２マップを参照し、先に取得した識別子が配置されている領域を特定する。例えば、識別子“Ｄ１”の場合、物理ディスク＃６及び物理ディスク＃９のストライプ０に当該識別子で識別されるデータが配置されていることを取得する。続いて、ＲＡＩＤ管理部１３は、先ほど特定した領域が物理ディスク＃６であったことから、縮退時にミラーリングされる領域が物理ディスク＃９のストライプ０であることを特定する。即ち、この領域（物理ディスク＃９のストライプ０）がコピー先となる領域である。
【００３６】
ＲＡＩＤ管理部１３は、他のストライプについても上述した処理と同様の処理を行う。図４に示す例では、このような処理の結果特定されたコピー元とコピー先が矢印で示されている。
この図の例では、各物理ディスクは、読み出し及び書き込みが行われる領域が１箇所ずつになり、その組み合わせが全て異なる。そのため、物理ディスク制御部１２は、縮退時に複数の物理ディスクを同時に用いて読み出し及び書き込みを並行して実行することができる。すなわち、例えば、ストライプ０、２、５、８のデータコピーは、読み出し及び書き込みを行う物理ディスクが全て異なるため、同時に実行することが可能になる。また、ストライプ１、３、４、７のデータコピーについても同様である。従って、縮退ディスクが発生した場合でも短時間のデータコピーによって、マップＭ２で示される構成に移行することができる。マップＭ１の構成もマップＭ２の構成も冗長性は同等であるから、これにより、短時間で冗長性を復旧することが可能になる。
ＲＡＩＤ管理部１３は、コピーが必要な領域（Ｄ１、Ｄ４、Ｄ１０、Ｄ１４、Ｄ１８、Ｄ２２、Ｄ２９、Ｄ３２）についてのコピーが終了すると、マップを通常時のマップ（マップＭ１）から、縮退時のマップ（マップＭ２）に変更する。
【００３７】
次に、ＲＡＩＤ管理部１３の縮退復旧時の動作を説明する。
図５は、本発明の一実施形態に係る縮退時の動作の一例を示すフローチャートである。
【００３８】
物理ディスク制御部１２は、記憶域プール２０を構成する物理ディスク（＃３）に縮退が発生したこと示す情報を記憶域プール２０から取得する（ステップＳ１０１）。物理ディスク制御部１２は取得した情報を、ＲＡＩＤ管理部１３に出力する。制御装置１はその後、処理をステップＳ１０２に進める。
【００３９】
ＲＡＩＤ管理部１３は、縮退復旧を行うか否かを判定する（ステップＳ１０２）。縮退復旧がまだ行われていない場合、ＲＡＩＤ管理部１３は縮退復旧を行うと判定する（ステップＳ１０２：ＹＥＳ）。この場合、ＲＡＩＤ管理部１３は処理をステップＳ１０３に進める。
【００４０】
ＲＡＩＤ管理部１３は、縮退復旧が既に行われている場合、縮退復旧を行わないと判定する（ステップＳ１０２：ＮＯ）。この場合、ＲＡＩＤ管理部１３は処理をステップＳ１０４に進める。
【００４１】
ＲＡＩＤ管理部１３は、縮退復旧を行う（ステップＳ１０３）。具体的には、ＲＡＩＤ管理部１３は、記憶域プール２０を管理するマップを、縮退前のマップ（マップＭ１）から、縮退時のマップ（マップＭ２）に変更することを決定する。また、ＲＡＩＤ管理部１３は、マップを変更することに伴い、データコピーを行うための情報を特定する。データコピーを行うための情報は、コピーが必要になるデータが含まれる領域（コピー元の領域）と、コピーを行う領域（コピー先の領域）とを示す情報である。ＲＡＩＤ管理部１３は、特定した情報を物理ディスク制御部１２に出力する。物理ディスク制御部１２は、ＲＡＩＤ管理部１３から受け入れた情報に従って、記憶域プール２０のデータコピーを行う。ＲＡＩＤ管理部１３は、データコピーが完了すると、記憶域プール２０を管理するマップを縮退時のマップ（マップＭ２）に変更する。制御装置１は、処理が完了すると、処理をステップＳ１０１に戻す。
【００４２】
ＲＡＩＤ管理部１３は、縮退復旧が既に行われている場合には、現状のマップを維持する（ステップＳ１０４）。この場合、ＲＡＩＤ管理部１３は記憶域プール２０を構成するマップをすでに縮退時のマップ（マップＭ２）に変更しているので、当該マップでの運用を継続する。以下、制御装置１は、縮退した物理ディスクを交換するなどによって、縮退状態でなくなるまで、ステップＳ１０２に戻って、処理を繰り返す。
【００４３】
なお、ＲＡＩＤ管理部１３は、縮退状態が解除されると、記憶域プール２０が使用するマップを縮退時のマップ（マップＭ２）から、通常時のマップ（マップＭ１）に変更するための処理を行う。この際、ＲＡＩＤ管理部１３は、縮退時のマップに移行するときに行ったコピーを逆方向に行う。即ち、縮退時のマップ移行時のコピー元とコピー先とを入れ替えてコピーを行う。その後、ＲＡＩＤ管理部１３は、マップを通常時のマップ（マップＭ１）に変更する。
【００４４】
次に、ホスト３０からデータの書き込みが行われる場合の動作について、説明する。
図６は、本発明の一実施形態に係るデータ書き込みを行う領域の判定処理の一例を示すフローチャートである。
【００４５】
ホスト制御部１１は、ホスト３０から書き込みを示す情報を受信すると、当該情報を物理ディスク制御部１２に出力する。物理ディスク制御部１２は入力された情報に基づいて、ライトデータが記憶域プール２０のどの領域に記憶されているかを問い合わせる情報をＲＡＩＤ管理部１３に出力する（ステップＳ２０１）。その後、処理をステップＳ２０２に進める。
【００４６】
ＲＡＩＤ管理部１３は、物理ディスク制御部１２から受け入れた情報と、マップ記憶部１３１から読み出したマップとに基づいて、ライトデータが記憶される領域を特定する（ステップＳ２０２）。その後、処理をステップＳ２０３に進める。
例えば、ライトデータが“Ｄ１”内に記憶されるデータであれば、ＲＡＩＤ管理部１３は、第１マップ（図２参照）に基づいて、ライトデータが記憶される領域は、物理ディスク＃３のストライプ０と、物理ディスク＃６のストライプ０とであることを特定する。なお、マップＭ１を参照するのは、縮退が起きていない（通常時の）場合、又は、縮退が起こっているが、データコピーが完了しておらずマップが変更されていない場合である。縮退時のマップ（マップＭ２）に変更されている場合には、ＲＡＩＤ管理部１３は、第２マップ（例えば、図３参照）に基づいて上述した処理を行う。
以下、ライトデータが“Ｄ１”内に記憶されるデータであり、縮退ディスクが、物理ディスク＃３である場合について代表して説明するが、本実施形態はこれには限られない。
【００４７】
ＲＡＩＤ管理部１３は、マップが変更中か否かを判定する（ステップＳ２０３）。ＲＡＩＤ管理部１３は、マップの変更が起きていない場合、マップ変更中ではないと判定する（ステップＳ２０３：ＮＯ）。この場合、ＲＡＩＤ管理部１３は処理をステップＳ２０５に進める。
ＲＡＩＤ管理部１３は、縮退が起きたことを示す情報を物理ディスク制御部１２から取得している場合であって、縮退時のマップに変更になっていない場合、マップが変更中であると判定する（ステップＳ２０３：ＹＥＳ）。この場合、ＲＡＩＤ管理部１３は処理をステップＳ２０４に進める。
【００４８】
ＲＡＩＤ管理部１３は、変更前後でライトデータが記憶される領域（以下、「対象領域」とも称する）の状態（「物理ディスク状態」とも称する）を仮決定する（ステップＳ２０４）。
物理ディスク状態は、「リード／ライト可」、「ライト可」、「アクセス不可」の３状態である。「リード／ライト可」は、当該領域からデータを読み出すことができ、また当該領域にデータを書き込むことができることを示す。「ライト可」は当該領域にデータを書き込むことはできるが、当該領域からデータを読み出すことができないことを示す。「アクセス不可」は縮退している、もしくはデータコピーが行われているなどの理由により、読み出しも書き込みも行えない状態であることを示す。
【００４９】
ＲＡＩＤ管理部１３は、変更後のマップを読み出し、変更後のマップにおける対象領域を特定する。具体的には、ＲＡＩＤ管理部１３は、変更後のマップであるマップＭ２に基づいて、“Ｄ１”が物理ディスク＃６のストライプ０と、物理ディスク＃９のストライプ０に記憶されることを特定する。続いて、ＲＡＩＤ管理部１３は、変更前後の対象領域を比較し、物理ディスク状態を仮決定する。その後処理をステップＳ２０５に進める。
具体的には、ＲＡＩＤ管理部１３は、変更前後の両方の対象領域に含まれる領域について、当該領域を「リード／ライト可」と設定する。また、ＲＡＩＤ管理部１３は、変更前後のどちらかにしか含まれない領域については、当該領域を「ライト可」と設定する。上述した例では、物理ディスク＃６のストライプ０は変更前後の両方に含まれるので、「リード／ライト可」である。また、物理ディスク＃３のストライプ０、及び物理ディスク＃９のストライプ０は、変更前または変更後にのみ含まれるので、どちらの領域も「ライト可」である。
【００５０】
ＲＡＩＤ管理部１３は、物理ディスク状態を仮決定すると、処理をステップＳ２０５に進める。
【００５１】
ＲＡＩＤ管理部１３は、記憶域プール２０に縮退の発生、復旧の実行のどちらかが行われているか否かを判定する（ステップＳ２０５）。ＲＡＩＤ管理部１３は、縮退を示す情報を物理ディスク制御部１２から受信している場合、記憶域プール２０に縮退が発生していると判定し（ステップＳ２０５：ＹＥＳ）、処理をステップＳ２０６に進める。また、ＲＡＩＤ管理部１３は、縮退が起きたことを示す情報を物理ディスク制御部１２から取得している場合であり、縮退時のマップに変更になっていない場合、マップの変更が行われている、すなわち、復旧が実行されていることを判定する（ステップＳ２０５：ＹＥＳ）。この場合もＲＡＩＤ管理部１３は処理をステップＳ２０６に進める。
【００５２】
一方、ＲＡＩＤ管理部１３は、縮退を起きたことを示す情報を物理ディスク制御部１２から受信していない場合、または縮退が解除したことを示す情報を受信後、再度縮退が起きたことを示す情報を物理ディスク制御部１２から受信していない場合、縮退も復旧もどちらも起きていないと判定する（ステップＳ２０５：ＮＯ）。この場合、ＲＡＩＤ管理部１３は処理をステップＳ２０７に進める。
【００５３】
ＲＡＩＤ管理部１３は、ステップＳ２０４で仮決定した物理ディスク状態のうち、縮退・復旧が進行中の物理ディスクに含まれる物理ディスク状態を「アクセス不可」に設定する（ステップＳ２０６）。上述した例では、物理ディスク＃３は、縮退している物理ディスクである。従って、ＲＡＩＤ管理部１３は、物理ディスク＃３のストライプ０を「アクセス不可」に変更し、物理ディスク状態の設定を完了する。また、例えば、物理ディスク＃６のストライプ０のデータを物理ディスク＃９のストライプ０にミラーリングしている場合、ＲＡＩＤ管理部１３は、どちらの物理ディスク状態も「アクセス不可」に変更し、物理ディスク状態の設定を完了する。ＲＡＩＤ管理部１３は物理ディスク状態の設定が完了すると、物理ディスク状態を物理ディスク制御部１２に出力し、処理を終了する。
【００５４】
ＲＡＩＤ管理部１３は、縮退・復旧のどちらも行われていない場合、ステップＳ２０４で仮決定した物理ディスク状態で設定を完了する（ステップＳ２０７）。ＲＡＩＤ管理部１３は、ＲＡＩＤ管理部１３は物理ディスク状態の設定が完了すると、物理ディスク状態を物理ディスク制御部１２に出力し、処理を終了する。
【００５５】
物理ディスク制御部１２は、ＲＡＩＤ管理部１３から受信した情報に基づいて、「ライト可」の領域に、ライトデータを書き込む処理を実行する。上述した例の場合、データコピーが行われていないのであれば、物理ディスク制御部１２は、物理ディスク＃６のストライプ０と、物理ディスク＃９のストライプ０に書き込みを行う。
【００５６】
また、ホスト３０へのデータの読み込みが行われる場合についても、ＲＡＩＤ管理部１３は上述した書き込みが行われる場合と同様の処理を行う。この場合、物理ディスク制御部１２は、ＲＡＩＤ管理部１３から受信した情報に基づいて、「リード可」の領域から、リードデータを読み出す。上述した例の場合、データコピーが行われていないのであれば、物理ディスク制御部１２は、物理ディスク＃６のストライプ０からリードデータの読み出しを行う。
【００５７】
以上説明したように、本発明の一実施形態による制御装置１は、複数の記憶装置を用いて構成される記憶域プールを制御する制御装置であって、前記記憶域プールに縮退が発生していない場合に、前記記憶域プールに記憶するデータの保存領域及び前記データを保存可能な予備領域を示す第１保存領域情報（例えば、第１マップ：図２）と、前記縮退が発生した場合に、前記保存領域及び前記予備領域を示す第２保存領域情報（例えば、第２マップ：図３）と、を取得する取得部（例えば、ＲＡＩＤ管理部１３）と、前記縮退が発生した場合に、前記第１保存領域情報及び前記第２保存領域情報に基づいて、前記データを再配置するための制御を行う制御部（例えば、物理ディスク制御部１２）と、を備える。
【００５８】
これにより、制御装置１は、第１保存領域情報と第２保存領域情報とに基づいて、再配置するデータを短時間に決定することができる。そのため、再配置を短時間で完了することができ、高速に冗長度を復旧させることができる。
【００５９】
また、本発明の一実施形態による制御装置１について、前記第１保存領域情報は、２つの前記記憶装置に設けられる保存領域のそれぞれに対して、同一の前記データを保存することを示す情報であって、前記保存領域ごとに当該保存領域が含まれる前記記憶装置の組み合わせが異なる情報である。
これにより、再配置するデータは、ミラーリングの対象となる記憶装置である複数の物理ディスクに分散する。これにより、多数の物理ディスクを同時に用いて再配置を行うことができるようになり、再配置を短時間で完了することができる。そのため、高速に冗長度を復旧させることができる。
【００６０】
また、本発明の一実施形態による制御装置１について、前記第２保存領域情報は、前記記憶装置の少なくとも１つは全て前記予備領域であり、前記第１保存領域情報における当該記憶装置に記憶されるデータ領域が他の前記記憶装置に分散して再配置される情報である。
これにより、再配置前に予備領域となっている領域にデータコピーを行い再配置が完了すれば、他の処理を行うことなく、冗長性を回復させることができる。これにより、冗長度を再配置の処理のみで復旧させることができる。そのため、高速に冗長度を復旧させることができる。
【００６１】
また、本発明の一実施形態による制御装置１の前記制御部（例えば、物理ディスク制御部１２やＲＡＩＤ管理部１３）は、前記第１保存領域情報及び前記第２保存領域情報に基づいて、前記縮退の発生前後において保存領域の異なる前記データを、前記縮退からの復旧において再配置が必要な再配置データと判定し、前記再配置データを再配置するための制御を行う。
これにより、制御装置１は、２つの保存領域情報に基づいて、再配置に必要なデータの保存領域を素早く決定することができる。そのため、高速に冗長度を復旧させることができる。
【００６２】
また、本発明の一実施形態による制御装置１は前記第１保存領域情報において前記再配置データが含まれる記憶装置と、前記第２保存領域情報において前記復旧データが含まれる記憶装置との組み合わせが、前記再配置データの保存領域ごとに異なる。
これにより、制御装置１は、再配置に必要な処理を、上述した物理ディスクが異なる組み合わせについては、同時に実行することができる。そのため、短時間で再配置を完了することができ、高速に冗長度を復旧させることができる。
【００６３】
なお、上述した実施形態では、スペア領域が合計で物理ディスク１台分となる例を説明したが、スペア領域はこれには限られない。以下、スペア領域が合計で物理ディスク２台分となる例を説明する。
【００６４】
図７は、本発明の一実施形態に係るマップの別の一例を示す図である。この図に示す一例では、記憶域プール２０は１０台の物理ディスク（＃１〜＃１０）を有する。また、この図におけるマップＭ３は、上述した第１マップの一例である。
【００６５】
この図に示す例では、各物理ディスクは、１０個に分割されたストライプによって管理される。また、各物理ディスクは、２つのスペア領域を有し、各ストライプも２つのスペア領域を有する。各物理ディスクが有するスペア領域が含まれるストライプの組み合わせは、全ての物理ディスクで異なる。また、各ストライプが有するスペア領域が含まれる物理ディスクの組み合わせも、全てのストライプで異なる。
また、マップＭ１と同様、全てのデータ領域はミラーリングされる。また、ミラーリングされる領域が含まれる物理ディスクの組み合わせは全て異なる。
【００６６】
この図に示す例では、スペア領域が合計で２台分存在する。そのため、マップ記憶部１３１は、第２マップとして、縮退ディスクが１台の場合だけでなく、縮退ディスクが２台の場合の全ての組み合わせについて、第２マップを予め所持する。これにより、縮退ディスクが２台生じる場合であっても、１台の場合と同様の処理を行うことで、短時間で冗長度を復旧させることができる。
【００６７】
また、上述した実施形態では、全ての物理ディスクを記憶域プール２０に初めから組み込む例について説明したが、これには限られない。例えば、縮退が生じていない場合には、記憶域プール２０に組み込まれない物理ディスク（以下、「スペアディスク」とも称する）が存在してもよい。この場合、縮退が生じた時点でスペアディスクを縮退ディスクの代わりに組み込むことで、縮退を解消することができる。この場合、スペアディスクがある場合には、縮退ディスクとスペアディスクとの役割を交換する処理を優先する。以下、スペアディスクが存在する場合における、ＲＡＩＤ管理部１３の、縮退時の動作について図を用いて説明する。
【００６８】
図８は、本発明の一実施形態に係る縮退時の動作の別の一例を示すフローチャートである。以下の説明では、記憶域プール２０を構成する物理ディスクのうち物理ディスク＃３が縮退する場合の例について説明するが、本発明の実施形態はこれには限られない。
【００６９】
物理ディスク制御部１２は、記憶域プール２０を構成する物理ディスク（＃３）に縮退が発生したことを示す情報を記憶域プール２０から取得する（ステップＳ３０１）。物理ディスク制御部１２は取得した情報を、ＲＡＩＤ管理部１３に出力する。制御装置１はその後、処理をステップＳ３０２に進める。
【００７０】
ＲＡＩＤ管理部１３は、スペアディスクを用いた縮退復旧を行うか否かを判定する（ステップＳ３０２）。ＲＡＩＤ管理部１３は、物理ディスク制御部１２からスペアディスクに関する情報を取得する。スペアディスクに関する情報は、スペアディスクの数を示す情報、記憶域プール２０に組み込まれたスペアディスクの数を示す情報を含む。
ＲＡＩＤ管理部１３が取得した情報に基づき、組み込み可能なスペアディスクが存在する場合には、スペアディスクを用いた縮退復旧を行うと判定し（ステップＳ３０２：ＹＥＳ）、処理をステップＳ３０３に進める。
ＲＡＩＤ管理部１３は、物理ディスク制御部１２から取得したスペアディスクに関する情報に基づき、組み込み可能なスペアディスクが存在しない場合は、スペアディスクを用いた縮退復旧を行わないと判定し（ステップＳ３０２：ＮＯ）、処理をステップＳ３０４に進める。
【００７１】
ＲＡＩＤ管理部１３は、現状のマップを維持し、スペアディスクを用いた再構築を実施する（ステップＳ３０３）。具体的には、ＲＡＩＤ管理部１３は、現在使用しているマップの変更を行わず、そのまま使用することを決定する。また、ＲＡＩＤ管理部１３は、スペアディスクを縮退ディスク（＃３）の代わりとして、データの再構成を示す情報を、物理ディスク制御部１２に出力する。データの再構成を示す情報は、スペアディスクの各領域にコピーするデータのコピー元とコピー先（スペアディスク内の領域）を示す情報である。ここで、コピー元は、縮退ディスクに記憶されるデータがミラーリングされている領域である。例えば、図２の例では、ストライプ０の場合、縮退ディスクに含まれるデータがミラーリングされている領域は、物理ディスク＃６である（どちらも同じ識別子“Ｄ１”が示されている）。そこで、ＲＡＩＤ管理部１３は、ストライプ０については、物理ディスク＃６に記憶されているデータをコピー元とすることを示す情報を物理ディスク制御部１２に出力する。
【００７２】
ＲＡＩＤ管理部１３は、上述した処理を全てのストライプに対して行う。結果として、コピー元のディスクはストライプごとに全て異なるので、実際のコピー処理において、複数の物理ディスクからデータを読み込むことができるようになる。
物理ディスク制御部１２は、ＲＡＩＤ管理部１３から入力される情報に従って、スペアディスクへのデータコピーを行う。物理ディスク制御部１２は、データコピーが終了すると、縮退が解除されたことを示す情報をＲＡＩＤ管理部１３に出力し、処理を終了する。
【００７３】
ステップＳ３０４〜ステップＳ３０６までの処理は、図５におけるステップＳ１０２〜ステップＳ１０４までの処理と同様であるので、ここでは説明を省略する。
【００７４】
このように、スペアディスクがある場合には、制御装置１は、スペアディスクを用いて復旧を行うことができ、スペアディスクがない場合には、上述した方法で、スペア領域にデータをコピーすることで、冗長度を短時間で復旧させることができる。
【００７５】
図９は、本発明の一実施形態に係る制御装置の最小構成を示す図である。
この図に示すように、制御装置１００は、少なくとも取得部１０１と制御部１０２とを備える。
取得部１０１は、記憶域プールに縮退が発生していない場合に、記憶域プールに記憶するデータの保存領域、及びデータを保存可能な予備領域を示す第１保存領域情報と、前記縮退が発生した場合に、保存領域及び前記予備領域を示す第２保存領域情報と、を取得する。
制御部１０２は、縮退が発生した場合に、前記第１保存領域情報及び前記第２保存領域情報と、に基づいて、前記データを再配置するための制御を行う。
【００７６】
なお、上述した実施形態において、記憶域プール２０の物理ディスクに縮退が発生した場合に、縮退していない他の物理ディスクからデータをコピーして冗長度を復旧する例を説明したが、これには限られない。例えば、縮退ディスクから読み出し可能なデータがある場合は、当該データを縮退ディスクから読み出してコピーしてもよい。
【００７７】
また、上述した実施形態において、縮退時に、ＲＡＩＤ管理部１３が第２マップを参照して、データのミラーリング先を特定する例を説明したが、これには限られない。例えば、ＲＡＩＤ管理部１３は、第１マップにおいてスペア領域となっている領域をミラーリング先として決定してもよい。この場合、ＲＡＩＤ管理部１３は、コピー元のストライプと同一のストライプに存在するスペア領域を、ミラーリング先として決定する。
【００７８】
また、上述した実施形態において、制御装置１と記憶域プール２０とが別の構成である例を説明したが、これには限られない。例えば、制御装置１と記憶域プール２０とが同一のものであってもよい。また、ホスト制御部１１が行う処理を実行する装置、ＲＡＩＤ管理部１３が行う処理を実行する装置が制御装置１の外部に備えられてもよい。
【００７９】
なお、上述した実施形態における制御装置１の一部、例えば、ホスト制御部１１、物理ディスク制御部１２、ＲＡＩＤ管理部１３などをコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、制御装置１に内蔵されたコンピュータシステムであって、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器等のハードウェアを含むものとする。
【００８０】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【００８１】
また、上述した実施形態における制御装置１の一部、または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現してもよい。制御装置１の各機能部は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【００８２】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。また、本発明の一態様は、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。また、上記各実施形態や変形例に記載された要素であり、同様の効果を奏する要素同士を置換した構成も含まれる。
【符号の説明】
【００８３】
１、１ａ・・・情報処理システム、１０・・・スマートメータ、１１、２１、３１・・・通信部、１２、２２、２２ａ、３４、３４ａ・・・記憶部、１３・・・電力測定部、１４・・・制御部、２０・・・サーバ、２２１・・・教師データ記憶部、２２２・・・学習モデル記憶部、２２３・・・スマートメータ情報記憶部、２２４・・・荷物情報記憶部、２２５・・・時刻情報記憶部、２２６・・・予測情報記憶部、２２７・・・地図情報記憶部、２２８・・・配送情報記憶部、２３、２３ａ、３５、３５ａ・・・処理部、２３１、２３１ａ、３５１、３５１ａ・・・情報取得部、２３２・・・学習部、２３３・・・時刻取得部、２３４・・・予測部、２３５、２３５ａ・・・配送先決定部、２３６、３５３、３５３ａ・・・出力処理部、３０、３０ａ・・・配送端末、３２・・・位置情報取得部、３３・・・入力部、３４１・・・表示関連情報記憶部、３４２・・・位置情報記憶部、３４３・・・配送情報記憶部、３５２・・・表示処理部、３６・・・表示部
【図１】
2020149267.tif 000003
【図２】
2020149267.tif 000004
【図３】
2020149267.tif 000005
【図４】
2020149267.tif 000006
【図５】
2020149267.tif 000007
【図６】
2020149267.tif 000008
【図７】
2020149267.tif 000009
【図８】
2020149267.tif 000010
【図９】
2020149267.tif 000011