(57)【要約】【課題】プライマリディレクトリの復旧の高速化を実現することができ、システムの使用不可時間を短縮することを課題とする。【解決手段】コントローラは、パーティション配置テーブルおよびバックアップディスク管理テーブルを更新して、ディスク３に記憶されている故障が発生したＰＥのディスク２に記憶されているプライマリディレクトリのバックアップディレクトリを、ディスク２のプライマリディレクトリとして記憶するための論理記憶領域（パーティションＩＤ「２」）をディスク３の中に生成することにより、故障が発生したＰＥのディスク２に記憶されているプライマリディレクトリを復旧する。【選択図】        図２
2008097156.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された複数の記憶部を備えるとともに、元データと他の記憶部に記憶された元データのバックアップデータとを各記憶部がそれぞれ記憶する記憶装置において、当該各記憶部間に関するデータの記憶制御をおこなう記憶制御装置であって、
前記各記憶部のいずれかについて、障害の発生を検出する障害検出部と、
前記障害検出部により障害の発生が検出された場合に、当該障害が発生した記憶部に記憶されていた元データのバックアップデータを記憶している記憶部において、当該バックアップデータを元データとして記憶する論理記憶領域を生成する論理記憶領域生成部と、
を備えたことを特徴とする記憶制御装置。
【請求項２】
前記障害検出部により障害の発生が検出された記憶部に記憶されていた他の記憶部の元データのバックアップデータを、前記論理記憶領域生成部により生成された前記論理記憶領域に格納するデータ格納部をさらに備えたことを特徴とする請求項１に記載の記憶制御装置。
【請求項３】
前記論理記憶領域生成部により生成された前記論理記憶領域に記憶されている元データのバックアップデータを、当該論理記憶領域とは別の記憶領域に記憶するデータ記憶部をさらに備えたことを特徴とする請求項１または２に記載の記憶制御装置。
【請求項４】
前記元データおよび前記バックアップデータは階層構造を有するデータであって、
前記論理記憶領域生成部は、前記障害検出部により障害の発生が検出された場合に、当該障害が発生した記憶部に記憶されていた前記階層構造を有する元データのバックアップデータを記憶している記憶部において、当該バックアップデータを元データとして記憶する論理記憶領域を生成することを特徴とする請求項１〜３のいずれか一つに記載の記憶制御装置。
【請求項５】
ネットワークを介して接続された複数の記憶部を備えるとともに、元データと他の記憶部に記憶された元データのバックアップデータとを各記憶部がそれぞれ記憶する記憶装置において、当該各記憶部間に関するデータの記憶制御をおこなう記憶制御方法であって、
前記各記憶部のいずれかについて、障害の発生を検出する障害検出工程と、
前記障害検出工程により障害の発生が検出された場合に、当該障害が発生した記憶部に記憶されていた元データのバックアップデータを記憶している記憶部において、当該バックアップデータを元データとして記憶する論理記憶領域を生成する論理記憶領域生成工程と、
を含んだことを特徴とする記憶制御方法。
【請求項６】
ネットワークを介して接続された複数の記憶部を備えるとともに、元データと他の記憶部に記憶された元データのバックアップデータとを各記憶部がそれぞれ記憶する記憶装置において、当該各記憶部間に関するデータの記憶制御をおこなう方法をコンピュータに実行させる記憶制御プログラムであって、
前記各記憶部のいずれかについて、障害の発生を検出する障害検出手順と、
前記障害検出手順により障害の発生が検出された場合に、当該障害が発生した記憶部に記憶されていた元データのバックアップデータを記憶している記憶部において、当該バックアップデータを元データとして記憶する論理記憶領域を生成する論理記憶領域生成手順と、
をコンピュータに実行させることを特徴とする記憶制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークを介して接続された複数の記憶部を備えるとともに、元データと他の記憶部に記憶された元データのバックアップデータとを各記憶部がそれぞれ記憶する記憶装置において、当該各記憶部間に関するデータの記憶制御をおこなう記憶制御装置、記憶制御方法および当該記憶制御方法をコンピュータに実行させる記憶制御プログラムに関する。
【背景技術】
【０００２】
従来より、集中的な管理サーバを持つことなく、自律的にデータの格納先を検索して、データの書き込みや読み出しなどを行う自律分散型のストレージシステムを構成するストレージ装置に発生した障害を復旧するための技術が開示されている。例えば、非特許文献１に開示されているように、ルートディレクトリを各ディスク（例えば、ディスク１〜４）で共有するとともに、その他のディレクトリを各ディスクで分散させて保持することで、データ検索のために効率的なディレクトリ構造（図１１参照）を持つ自律分散型ストレージシステムにおいて、データアクセス不能などのシステム障害を復旧する技術が存在する。
【０００３】
具体的には、図１２に例示するように、ストレージ装置２に故障が発生した場合には、ストレージ装置３に記憶されているストレージ装置２のバックアップディレクトリをストレージ装置３のプライマリディレクトリ内へ挿入することにより、新たなプライマリディレクトリを生成する。そして、新たに生成されたストレージ装置３のプライマリディレクトリをストレージ装置４へバックアップディレクトリとして格納するとともに、ストレージ装置１のプライマリディレクトリをストレージ装置３へバックアップディレクトリとして格納することで、ストレージ装置２のプライマリディレクトリを復旧してデータへのアクセスをできるようにする。
【０００４】
【非特許文献１】平塚竜太郎、外２名、“並列ディレクトリ構造Fat-BtreeのnCUBE3上での実装”、［online］、［平成１８年９月１３日検索］、インターネット＜http://yokota-www.cs.titech.ac.jp/~yokota/papers/dews-99-2.PDF＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記した従来の技術は、システムに障害が発生した場合に、システムの使用不可時間が長くなるというという問題点があった。すなわち、図１２に例示するようなプライマリディレクトリの復旧処理は、実際にデータを挿入する処理と同様の時間を要するため、ストレージ装置の故障などシステムに障害が発生した場合は、システムの使用不可時間が長くなるという問題点があり、データへのアクセスが可能となるまでには相当の時間を要することになる。
【０００６】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、プライマリディレクトリの復旧の高速化を実現することができ、システムの使用不可時間を短縮することが可能な記憶制御装置、記憶制御方法および記憶制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、本発明は、ネットワークを介して接続された複数の記憶部を備えるとともに、元データと他の記憶部に記憶された元データのバックアップデータとを各記憶部がそれぞれ記憶する記憶装置において、当該各記憶部間に関するデータの記憶制御をおこなう記憶制御装置であって、前記各記憶部のいずれかについて、障害の発生を検出する障害検出部と、前記障害検出部により障害の発生が検出された場合に、当該障害が発生した記憶部に記憶されていた元データのバックアップデータを記憶している記憶部において、当該バックアップデータを元データとして記憶する論理記憶領域を生成する論理記憶領域生成部と、を備えたことを特徴とする。
【０００８】
また、本発明は、ネットワークを介して接続された複数の記憶部を備えるとともに、元データと他の記憶部に記憶された元データのバックアップデータとを各記憶部がそれぞれ記憶する記憶装置において、当該各記憶部間に関するデータの記憶制御をおこなう記憶制御方法であって、前記各記憶部のいずれかについて、障害の発生を検出する障害検出工程と、前記障害検出工程により障害の発生が検出された場合に、当該障害が発生した記憶部に記憶されていた元データのバックアップデータを記憶している記憶部において、当該バックアップデータを元データとして記憶する論理記憶領域を生成する論理記憶領域生成工程と、を含んだことを特徴とする。
【０００９】
また、本発明は、ネットワークを介して接続された複数の記憶部を備えるとともに、元データと他の記憶部に記憶された元データのバックアップデータとを各記憶部がそれぞれ記憶する記憶装置において、当該各記憶部間に関するデータの記憶制御をおこなう方法をコンピュータに実行させる記憶制御プログラムであって、前記各記憶部のいずれかについて、障害の発生を検出する障害検出手順と、前記障害検出手順により障害の発生が検出された場合に、当該障害が発生した記憶部に記憶されていた元データのバックアップデータを記憶している記憶部において、当該バックアップデータを元データとして記憶する論理記憶領域を生成する論理記憶領域生成手順と、をコンピュータに実行させることを特徴とする。
【００１０】
本発明では、各記憶部のいずれかについて障害の発生を検出すると、障害が発生した記憶部に記憶されていた元データのバックアップデータを記憶している記憶部において、バックアップデータを元データとして記憶する論理記憶領域を生成するので、例えば、ストレージシステム内で故障したＰＥ（Ｐｒｏｃｅｓｓｉｎｇ  Ｅｌｅｍｅｎｔ：処理装置単位）のディスク装置に記憶されているプライマリデータ（例えば、インデックスデータやプライマリディレクトリ、実データなど）のバックアップデータを、障害の発生により失われてしまったプライマリデータとして認識させることで、プライマリデータの復旧の高速化を実現することができ、システムの使用不可時間を短縮することが可能である。
【００１１】
また、本発明は、上記の発明において、前記障害検出部により障害の発生が検出された記憶部に記憶されていた他の記憶部の元データのバックアップデータを、前記論理記憶領域生成部により生成された前記論理記憶領域に格納するデータ格納部をさらに備えたことを特徴とする。
【００１２】
本発明では、障害の発生が検出された記憶部に記憶されていた他の記憶部の元データのバックアップデータを生成された論理記憶領域に格納するので、例えば、ストレージシステム内で故障したＰＥ（Ｐｒｏｃｅｓｓｉｎｇ  Ｅｌｅｍｅｎｔ：処理装置単位）のディスク装置に元々記憶されていた他のＰＥのディスクのプライマリデータのバックアップデータを元の状態に再生することが可能である。
【００１３】
また、本発明は、上記の発明において、前記論理記憶領域生成部により生成された前記論理記憶領域に記憶されている元データのバックアップデータを、当該論理記憶領域とは別の記憶領域に記憶するデータ記憶部をさらに備えたことを特徴とする。
【００１４】
本発明では、生成された論理記憶領域に記憶されている元データのバックアップデータを論理記憶領域とは別の記憶領域に記憶するので、例えば、ストレージシステム内で故障したＰＥ（Ｐｒｏｃｅｓｓｉｎｇ  Ｅｌｅｍｅｎｔ：処理装置単位）のディスク装置に記憶されているプライマリデータのバックアップデータを、障害の発生により失われてしまったプライマリデータとして記憶することで、失われたバックアップデータを元の状態に再生することが可能である。
【００１５】
また、本発明は、上記の発明において、前記元データおよび前記バックアップデータは階層構造を有するデータであって、前記論理記憶領域生成部は、前記障害検出部により障害の発生が検出された場合に、当該障害が発生した記憶部に記憶されていた前記階層構造を有する元データのバックアップデータを記憶している記憶部において、当該バックアップデータを元データとして記憶する論理記憶領域を生成することを特徴とする。
【００１６】
本発明では、元データおよびバックアップデータは階層構造を有し、記憶部に障害の発生が検出された場合に、障害が発生した記憶部に記憶されていた階層構造を有する元データのバックアップデータを記憶している記憶部において、バックアップデータを元データとして記憶する論理記憶領域を生成するので、例えば、Ｆａｔ−Ｂｔｒｅｅなどのデータ検索効率化のための階層構造を有するディレクトリを備えたストレージシステムなどにおいて、ディレクトリの復旧の際に従来行われていたように、実際にデータを挿入する処理と同様の時間を要する処理を要することなく、故障したＰＥ（Ｐｒｏｃｅｓｓｉｎｇ  Ｅｌｅｍｅｎｔ：処理装置単位）のディスクに記憶されているプライマリディレクトリのバックアップディレクトリをプライマリディレクトリとして認識させることで、プライマリディレクトリの復旧の高速化を実現することができ、システムの使用不可時間を短縮することが可能である。
【発明の効果】
【００１７】
本発明によれば、例えば、ストレージシステム内で故障したＰＥ（Ｐｒｏｃｅｓｓｉｎｇ  Ｅｌｅｍｅｎｔ：処理装置単位）のディスク装置に記憶されているプライマリデータのバックアップデータを、障害の発生により失われてしまったプライマリデータとして認識させることで、プライマリデータの復旧の高速化を実現することができ、システムの使用不可時間を短縮することが可能である。また、例えば、Ｆａｔ−Ｂｔｒｅｅなどのデータ検索効率化のための階層構造を有するディレクトリを備えたストレージシステムなどにおいて、ディレクトリの復旧の際に従来行われていたように、実際にデータを挿入する処理と同様の時間を要する処理を要することなく、故障したＰＥ（Ｐｒｏｃｅｓｓｉｎｇ  Ｅｌｅｍｅｎｔ：処理装置単位）のディスクに記憶されているプライマリディレクトリのバックアップディレクトリをプライマリディレクトリとして認識させることで、プライマリディレクトリの復旧の高速化を実現することができ、システムの使用不可時間を短縮することが可能である。
【発明を実施するための最良の形態】
【００１８】
以下に添付図面を参照して、本発明に係る記憶制御装置、記憶制御方法および記憶制御プログラムの実施例を詳細に説明する。なお、以下では、本発明に係る記憶制御装置として機能するコントローラを備えた複数のＰＥ（プロセッシングエレメント）をネットワークを介して接続したストレージシステムを例に挙げて実施例１として説明した後に、本発明に含まれる他の実施例を説明する。
【実施例１】
【００１９】
以下の実施例１では、実施例１に係るプロセッシングエレメントの概要および特徴、プロセッシングエレメントの構成および処理を説明し、最後に実施例１による効果を説明する。
【００２０】
［プロセッシングエレメントの概要および特徴（実施例１）］
まず最初に、図１および図２を用いて、実施例１に係るプロセッシングエレメントの概要および特徴を説明する。図１は、実施例１に係るプロセッシングエレメントの概要および特徴を説明するための図である。図２は、実施例１に係るプロセッシングエレメントのリカバリ処理の概要を示す図である。
【００２１】
実施例１に係るプロセッシングエレメントは、ネットワークを介して接続された複数のプロセッシングエレメント（以下、適宜「ＰＥ」と記す）を備えるとともに、プライマリディレクトリ（例えば、Ｆａｔ−Ｂｔｒｅｅによる階層構造を有するディレクトリ）と他のＰＥに記憶されたプライマリディレクトリのバックアップディレクトリとを各ＰＥがそれぞれ記憶するストレージシステムにおいて、各ＰＥ間に関するデータの記憶制御をおこなうことを概要とする。
【００２２】
ここで、Ｆａｔ−Ｂｔｒｅｅについて簡単に説明する。Ｆａｔ−Ｂｔｒｅｅは、データ配列の偏りを解消するために従来より提案されているディレクトリ構造である並列Ｂｔｒｅｅを改良したものであり、自律分散型ストレージシステムなどにおいて、データに高速にアクセスできるように開発されたディレクトリ構造である。
【００２３】
そして、このような概要を有する実施例１に係るＰＥは、プライマリディレクトリの復旧の高速化を実現することができ、システムの使用不可時間を短縮することが可能である点に主たる特徴がある。
【００２４】
この主たる特徴について具体的に説明すると、図１に示すように、ＰＥは、主にディスクの制御を行うコントローラおよび各種データを記憶するディスクから構成される。また、各ＰＥは、ディスク内の記憶領域について仮想的に配置する論理記憶領域を特定するためのパーティションＩＤに対応付けて、ディスクを特定するためのディスクＩＤを記憶するパーティション配置テーブルをディスクに記憶する。
【００２５】
さらに、各ＰＥは、自己が管理するプライマリディレクトリを記憶するプライマリディスクを特定するためのプライマリディスクＩＤと、他のＰＥのプライマリディレクトリのバックアップディレクトリを記憶するバックアップディスクを特定するためのバックアップディスクＩＤとを対応付けて記憶するバックアップディスク管理テーブルをディスクに記憶する他、実データなどをディスクに記憶する。
【００２６】
また、ディスク２に記憶されているプライマリディレクトリのバックアップディレクトリはディスク３に記憶され、同様に、ディスク３に記憶されているプライマリディレクトリのバックアップディレクトリはディスク４に記憶され、ディスク４に記憶されているプライマリディレクトリのバックアップディレクトリはディスク１に記憶され、ディスク１に記憶されているプライマリディレクトリのバックアップディレクトリはディスク２に記憶されている。
【００２７】
各ＰＥは、例えば、常時接続されているＳｏｃｋｅｔ通信が途絶えた場合には、故障が発生したものとして検出する（図１の（１）参照）。例えば、コントローラ２およびディスク２を備えるＰＥとの通信が途絶えると、コントローラ３およびディスク３を備えるＰＥはコントローラ２およびディスク２を備えるＰＥに故障が発生したものとして検出する。そして、ＰＥは、接続されている他のＰＥの故障の発生を検出した場合にはリカバリ処理を実行する。
【００２８】
具体的には、まず、故障の発生が検出されたＰＥ以外の全てのＰＥにおいて、故障の発生検出時に実行中であって、かつ消失したＰＥへアクセスするトランザクションのＡｂｏｒｔ（停止）およびＲｏｌｌＢａｃｋを実行して、元の状態に戻す（図１の（２）参照）。
【００２９】
次に、故障の発生を検出したＰＥのコントローラ（例えば、コントローラ３）は、故障の発生したＰＥのディスク（例えば、ディスク２）に記憶されていたディレクトリを復旧する（図１の（３）参照）。
【００３０】
具体的には、図２に例示するように、コントローラ３は、パーティション配置テーブルおよびバックアップディスク管理テーブルを更新して、ディスク３に記憶されているディレクトリの中から、故障が発生したＰＥのディスク２（図２の（１）参照）に記憶されていたプライマリディレクトリのバックアップディレクトリを、ディスク２のプライマリディレクトリとして記憶するための論理記憶領域（パーティションＩＤ「２」）をディスク３の中に生成することにより（図２の（２）参照）、故障の発生により、ディスク２に記憶されていたが消失してしまったプライマリディレクトリを復旧する。
【００３１】
すなわち、ディスク３に記憶されているバックアップディレクトリをプライマリディレクトリと認識させることで、故障の発生により、ＰＥのディスク２に記憶されていたが消失してしまったプライマリディレクトリを早期に復旧する。なお、コントローラ３は、更新したパーティション配置テーブルおよびバックアップディスク管理テーブルを各ＰＥに配信する。
【００３２】
そして、故障の発生を検出したＰＥのコントローラ（例えば、コントローラ３）、および故障の発生が検出されたＰＥのディスク（例えば、ディスク２）にバックアップデータを記憶していたＰＥのコントローラ（例えば、コントローラ１）は、バックアップを再生する（図１の（４）参照）。
【００３３】
具体的には、コントローラ３は、ディスク３の中に生成した論理記憶領域（例えば、パーティションＩＤ「２」）に記憶させたプライマリディレクトリのバックアップディレクトリを、この論理記憶領域とは別に元から存在する別の論理記憶領域（例えば、パーティションＩＤ「３」）に記憶する。また、コントローラ１は、ディスク３の中に生成した論理記憶領域（例えば、パーティションＩＤ「２」）に、ディスク１に記憶されているプライマリディレクトリのバックアップディレクトリを格納する（図２の（３）参照）。
【００３４】
このようなことから、実施例１に係るＰＥは、上述した主たる特徴の如く、プライマリディレクトリの復旧の高速化を実現することができ、システムの使用不可時間を短縮することが可能である点に主たる特徴がある。
【００３５】
［ＰＥの構成（実施例１）］
次に、図３を用いて、実施例１に係るＰＥ（プロセッシングエレメント）の構成を説明する。図３は、実施例１に係るＰＥの構成を示すブロック図である。なお、以下では、実施例１に係るＰＥを実現する上で必要な処理部のみを記載し、その他の処理部については記載を省略する。
【００３６】
同図に示すように、クライアント装置１０とネットワーク１を介して通信可能に接続されたストレージシステムを構成するＰＥ２０は、通信制御Ｉ／Ｆ部２１と、ディスクＩ／Ｆ部２２と、ディスク２３と、コントローラ２４とから構成される。
【００３７】
このうち、通信制御Ｉ／Ｆ部２１は、クライアント装置１０や他のＰＥ２０との間でやり取りする各種データに関する通信を制御する。ディスクＩ／Ｆ部２２は、ディスク２３とコントローラ２４との間でやり取りするデータに関する通信を制御する。
【００３８】
ディスク２３は、コントローラ２４による各種処理の必要なデータを記憶する記憶部であり、特に本発明に密接に関連するものとして、自己に記憶されている実データのインデックスとして機能するプライマリディレクトリ２３ａと、他のＰＥ２０のディスク２３に記憶されているプライマリディレクトリのバックアップディレクトリ２３ｂとを記憶して構成される。
【００３９】
コントローラ２４は、所定の制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとして、メモリ２５および制御部２６を備える。
【００４０】
メモリ２５は、制御部２６による各種処理に必要なデータおよびプログラムを記憶する記憶部であり、特に本発明に密接に関連するものとしては、パーティション配置テーブル２５ａおよびバックアップディスク管理テーブル２５ｂを備える。
【００４１】
このうち、パーティション配置テーブル２５ａは、ディスク内に仮想的に配置する論理記憶領域に関する各種の情報を記憶するものであり、具体的には、図４に例示するように、論理記憶領域を特定するためのパーティションＩＤに対応付けて、ディスクを特定するためのディスクＩＤを記憶して構成される。
【００４２】
バックアップディスク管理テーブル２５ｂは、ディスクの対応関係に関する各種の情報を記憶するものであり、具体的には、図５に例示するように、自己が管理するプライマリディレクトリを記憶するプライマリディスクを特定するためのプライマリディスクＩＤと、他のＰＥ２０のプライマリディレクトリのバックアップディレクトリを記憶するバックアップディスクを特定するためのバックアップディスクＩＤとを対応付けて、その対応関係を記憶して構成される。
【００４３】
制御部２６は、所定の制御プログラム、各種の処理手順などを規定したプログラムおよび所要データをメモリ２５に格納し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、オペレーション実行部２６ａおよびリカバリ処理制御部２６ｂを備える。
【００４４】
このうち、オペレーション実行部２６ａは、例えば、クライアント装置１０からのリクエストに応じて、各種データの処理を実行する処理部である。なお、オペレーション実行部２６ａは、リカバリ処理制御部２６ｂからの命令を受け付けて、更新されたパーティション配置テーブル２５ａおよびバックアップディスク管理テーブル２５ｂを他のＰＥ２０へそれぞれ配信する。
【００４５】
リカバリ処理制御部２６ｂは、ＰＥ２０のいずれかに故障が発生した場合に、各ＰＥ２０間に関するデータの記憶制御を行うことにより、データのリカバリ処理を行う処理部である。
【００４６】
リカバリ処理制御部２６ｂは、常時他のＰＥ２０と接続されているＳｏｃｋｅｔ通信を監視して、通信が途絶えた場合には故障が発生したものとして検出する。例えば、図１に示すように、コントローラ２等を備えるＰＥ２０との通信が途絶えると、コントローラ３のリカバリ処理制御部２６ｂは、コントローラ２等を備えるＰＥ２０に故障が発生したものとして検出する。そして、リカバリ処理制御部２６ｂは、他のＰＥ２０の故障の発生を検出した場合にはリカバリ処理を実行する。
【００４７】
このリカバリ処理について具体的に説明すると、まず、故障の発生が検出されたＰＥ２０以外の全てのＰＥ２０におけるリカバリ処理制御部２６ｂは、故障の発生検出時に実行中であって、かつ消失したＰＥ２０へアクセスするトランザクションのＡｂｏｒｔ（停止）およびＲｏｌｌＢａｃｋを実行して、元の状態に戻す。
【００４８】
次に、故障の発生を検出したＰＥのリカバリ処理制御部２６ｂは、故障の発生したＰＥ２０のディスク２３（例えば、ディスク２）に記憶されていたディレクトリを復旧する。
【００４９】
具体的には、リカバリ処理制御部２６ｂは、図６および図７に例示するように、パーティション配置テーブル２５ａおよびバックアップディスク管理テーブル２５ｂを更新して、例えば、図２に例示するように、ディスク３に記憶されているディレクトリの中から、故障が発生したＰＥ２０のディスク２に記憶されているプライマリディレクトリのバックアップディレクトリを、ディスク２のプライマリディレクトリとして記憶するための論理記憶領域（パーティションＩＤ「２」）をディスク３の中に生成することにより（図２の（２）参照）、故障の発生により、ディスク２に記憶されていたが消失してしまったプライマリディレクトリを復旧する。
【００５０】
すなわち、ディスク３に記憶されているバックアップディレクトリをプライマリディレクトリと認識させることで、故障の発生により、ＰＥ２０のディスク２に記憶されていたが消失してしまったプライマリディレクトリを早期に復旧する。なお、リカバリ処理制御部２６ｂは、更新したパーティション配置テーブル２５ａおよびバックアップディスク管理テーブル２５ｂを他のＰＥ２０へそれぞれ配信するように、オペレーション実行部２６ａに命令を発行する。
【００５１】
そして、故障の発生を検出したＰＥ２０のリカバリ処理制御部２６ｂ、および故障の発生が検出されたＰＥ２０のディスク２３（例えば、ディスク２）にバックアップデータを記憶していたＰＥ２０のリカバリ処理制御部２６ｂは、バックアップを再生する。
【００５２】
具体的には、故障の発生を検出したＰＥ２０のリカバリ処理制御部２６ｂは、図２に例示するように、ディスク３の中に生成した論理記憶領域（例えば、パーティションＩＤ「２」）に記憶させたプライマリディレクトリのバックアップディレクトリを、この論理記憶領域とは別に元から存在する別の論理記憶領域（例えば、パーティションＩＤ「３」）に記憶する。また、故障の発生が検出されたＰＥ２０のディスク２３（例えば、ディスク２）にバックアップデータを記憶していたＰＥ２０のリカバリ処理制御部２６ｂは、図２に例示するように、ディスク３の中に生成した論理記憶領域（例えば、パーティションＩＤ「２」）に、ディスク１に記憶されているプライマリディレクトリのバックアップディレクトリを格納する（図２の（３）参照）。
【００５３】
なお、リカバリ処理制御部２６ｂは、実データの復旧およびバックアップの再生を行う場合に、上述してきたディレクトリの復旧およびバックアップの再生と同様の手順を適用することができる。
【００５４】
［ＰＥによるリカバリ処理（実施例１）］
続いて、図８および図９を用いて、実施例１に係るＰＥ（プロセッシングエレメント）によるリカバリ処理を説明する。図８は、実施例１に係るプロセッシングエレメントのリカバリ処理の内容を示す図であり、図９は、実施例１に係るプロセッシングエレメントの処理の流れを示すフローチャートである。
【００５５】
図９に示すように、他のＰＥ２０の故障の発生を検出した場合には（ステップＳ９０１肯定）、リカバリ処理制御部２６ｂはリカバリ処理を実行する。
【００５６】
まず、図８（Ｐｈａｓｅ番号「１」）に例示すように、故障の発生が検出されたＰＥ２０以外の全てのＰＥ２０におけるリカバリ処理制御部２６ｂは、故障の発生検出時に実行中であって、かつ消失したＰＥ２０へアクセスするトランザクションのＡｂｏｒｔ（停止）およびＲｏｌｌＢａｃｋを実行して（ステップＳ９０２）、元の状態（「ロールバック完了」）に戻す。
【００５７】
次に、故障の発生を検出したＰＥのリカバリ処理制御部２６ｂは、故障の発生したＰＥ２０のディスク２３（例えば、ディスク２）に記憶されていたディレクトリを復旧する（ステップＳ９０３、図８のＰｈａｓｅ番号「２」参照）。
【００５８】
具体的には、リカバリ処理制御部２６ｂは、図６および図７に例示するように、パーティション配置テーブル２５ａおよびバックアップディスク管理テーブル２５ｂを更新して、例えば、図２に例示するように、ディスク３に記憶されているディレクトリの中から、故障が発生したＰＥ２０のディスク２に記憶されていたプライマリディレクトリのバックアップディレクトリを、ディスク２のプライマリディレクトリとして記憶するための論理記憶領域（パーティションＩＤ「２」）をディスク３の中に生成することにより（図２の（２）参照）、故障が発生により、ＰＥ２０のディスク２に記憶されていたが消失してしまったプライマリディレクトリを復旧する。
【００５９】
すなわち、ディスク３に記憶されていたバックアップディレクトリをプライマリディレクトリと認識させることで、故障の発生により、ＰＥ２０のディスク２に記憶されていたが消失してしまったプライマリディレクトリを早期に復旧する。なお、オペレーション実行部２６ａは、リカバリ処理制御部２６ｂからの命令を受け付けて、更新されたパーティション配置テーブル２５ａおよびバックアップディスク管理テーブル２５ｂを他のＰＥ２０へそれぞれ配信する。
【００６０】
そして、故障の発生を検出したＰＥ２０のリカバリ処理制御部２６ｂ、および故障の発生が検出されたＰＥ２０のディスク２３（例えば、ディスク２）にバックアップデータを記憶していたＰＥ２０のリカバリ処理制御部２６ｂは、バックアップを再生する（ステップＳ９０４、図８のＰｈａｓｅ番号「３」参照）。
【００６１】
具体的には、故障の発生を検出したＰＥ２０のリカバリ処理制御部２６ｂは、図２に例示するように、ディスク３の中に生成した論理記憶領域（例えば、パーティションＩＤ「２」）に記憶させたプライマリディレクトリのバックアップディレクトリを、この論理記憶領域とは別に元から存在する別の論理記憶領域（例えば、パーティションＩＤ「３」）に記憶する。また、故障の発生が検出されたＰＥ２０のディスク２３（例えば、ディスク２）にバックアップデータを記憶していたＰＥ２０のリカバリ処理制御部２６ｂは、図２に例示するように、ディスク３の中に生成した論理記憶領域（例えば、パーティションＩＤ「２」）に、ディスク１に記憶されているプライマリディレクトリのバックアップディレクトリを格納する（図７参照）。
【００６２】
［実施例１の効果］
上述してきたように、実施例１によれば、各記憶部のいずれかについて障害の発生を検出すると、障害が発生した記憶部に記憶されていた元データのバックアップデータを記憶している記憶部において、バックアップデータを元データとして記憶する論理記憶領域を生成するので、例えば、ストレージシステム内で故障したＰＥ２０のディスク２３に記憶されているプライマリディレクトリなどのデータのバックアップデータを、障害の発生により失われてしまったプライマリデータとして認識させることで、プライマリデータの復旧の高速化を実現することができ、システムの使用不可時間を短縮することが可能である。
【００６３】
また、実施例１によれば、障害の発生が検出された記憶部に記憶されていた他の記憶部の元データのバックアップデータを生成された論理記憶領域に格納するので、例えば、ストレージシステム内で故障したＰＥ２０のディスク２３に元々記憶されていた他のＰＥ２０のディスクのプライマリデータのバックアップデータを元の状態に再生することが可能である。
【００６４】
また、実施例１によれば、生成された論理記憶領域に記憶されている元データのバックアップデータを論理記憶領域とは別の記憶領域に記憶するので、例えば、ストレージシステム内で故障したＰＥ２０のディスク２３に記憶されているプライマリデータのバックアップデータを、障害の発生により失われてしまったプライマリデータとして記憶することで、失われたバックアップデータを元の状態に再生することが可能である。
【００６５】
また、実施例１によれば、元データおよびバックアップデータは階層構造を有し、記憶部に障害の発生が検出された場合に、障害が発生した記憶部に記憶されていた階層構造を有する元データのバックアップデータを記憶している記憶部において、バックアップデータを元データとして記憶する論理記憶領域を生成するので、例えば、Ｆａｔ−Ｂｔｒｅｅなどのデータ検索効率化のための階層構造を有するディレクトリを備えたストレージシステムなどにおいて、ディレクトリの復旧の際に従来行われていたように、実際にデータを挿入する処理と同様の時間を要する処理を要することなく、故障したＰＥ２０のディスク２３に記憶されているプライマリディレクトリのバックアップディレクトリをプライマリディレクトリとして認識させることで、プライマリディレクトリの復旧の高速化を実現することができ、システムの使用不可時間を短縮することが可能である。
【００６６】
なお、上記の実施例１では、Ｆａｔ−Ｂｔｒｅｅなどのデータ検索効率化のための階層構造を有するディレクトリを復旧する場合を説明したが、本発明はこれに限定されるものではなく、例えば、ユーザデータなどの実データのプライマリデータと他のディスク２３に記憶されたプライマリデータのバックアップデータとを各ディスクがそれぞれ記憶する場合において、実データを復旧する場合にも本発明を同様に適用することができる。
【実施例２】
【００６７】
さて、これまで本発明の実施例１について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００６８】
（１）装置構成等
また、図３に示したプロセッシングエレメント（ＰＥ）２０の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、プロセッシングエレメント（ＰＥ）２０の分散・統合の具体的形態は図示のものに限られず、例えば、リカバリ処理制御部２６ｂを故障検出処理機能、ディレクトリ復旧処理機能およびバックアップ再生処理機能にそれぞれ分散するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、プロセッシングエレメント（ＰＥ）２０にて行なわれる各処理機能（例えば、故障検出処理機能、ディレクトリ復旧処理機能およびバックアップ再生処理機能、図８および図９参照）は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６９】
（２）リカバリ処理プログラム
ところで、上記の実施例１で説明したプロセッシングエレメント（ＰＥ）２０にて行なわれるリカバリ処理（図８および図９参照）は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、図１０を用いて、上記の実施例１と同様の機能を有するリカバリ処理プログラムを実行するコンピュータの一例を説明する。図１０は、リカバリ処理プログラムを実行するコンピュータを示す図である。
【００７０】
図１０に示すように、プロセッシングエレメントとしてのコンピュータ３０は、通信制御Ｉ／Ｆ部３１、ディスクＩ／Ｆ部３２、ＨＤＤ３３、ＲＡＭ３４、ＲＯＭ３５およびＣＰＵ３６をバス４０で接続して構成される。ここで、通信制御Ｉ／Ｆ部３１およびディスクＩ／Ｆ部３２は、図３に示した通信制御Ｉ／Ｆ部２１およびディスクＩ／Ｆ部２２に対応する。
【００７１】
そして、ＲＯＭ３５には、上記の実施例１に示したプロセッシングエレメント２０と同様の機能を発揮するリカバリ処理プログラム、つまり、図１０に示すように、オペレーション実行プログラム３５ａおよびリカバリ処理制御プログラム３５ｂがあらかじめ記憶されている。なお、これらのプログラム３５ａおよび３５ｂについては、図３に示したプロセッシングエレメント２０の各構成要素と同様、適宜統合または分散してもよい。なお、ＲＯＭ３５は、不揮発性の「ＲＡＭ」でもよい。
【００７２】
そして、ＣＰＵ３６が、これらのプログラム３５ａおよび３５ｂをＲＯＭ３５から読み出して実行することで、図１０に示すように、各プログラム３５ａおよび３５ｂは、オペレーション実行プロセス３６ａおよびリカバリ処理制御プロセス３６ｂとして機能するようになる。なお、各プロセス３６ａおよび３６ｂは、図３に示したオペレーション実行部２６ａおよびリカバリ処理制御部２６ｂにそれぞれ対応する。
【００７３】
また、ＨＤＤ３３には、図１０に示すように、パーティション配置テーブル３３ａおよびバックアップディスク管理テーブル３３ｂがそれぞれ設けられる。これらのパーティション配置テーブル３３ａおよびバックアップディスク管理テーブル３３ｂは、図３に示したパーティション配置テーブル２５ａおよびバックアップディスク管理テーブル２５ｂにそれぞれ対応する。そして、ＣＰＵ３６は、パーティション配置テーブル３３ａおよびバックアップディスク管理テーブル３３ｂからパーティション配置データ３４ａおよびバックアップディスク管理データ３４ｂをそれぞれ読み出してＲＡＭ３４に格納し、ＲＡＭ３４に格納されたパーティション配置データ３４ａおよびバックアップディスク管理データ３４ｂに基づいて、リカバリ処理を実行する。
【００７４】
なお、上記した各プログラム３５ａおよび３５ｂについては、必ずしも最初からＲＯＭ３５に記憶させておく必要はなく、例えば、コンピュータ３０に挿入されるフレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、または、コンピュータ３０の内外に備えられるＨＤＤなどの「固定用の物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３０に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ３０がこれらから各プログラムを読み出して実行するようにしてもよい。
【００７５】
（付記１）ネットワークを介して接続された複数の記憶部を備えるとともに、元データと他の記憶部に記憶された元データのバックアップデータとを各記憶部がそれぞれ記憶する記憶装置において、当該各記憶部間に関するデータの記憶制御をおこなう記憶制御装置であって、
前記各記憶部のいずれかについて、障害の発生を検出する障害検出部と、
前記障害検出部により障害の発生が検出された場合に、当該障害が発生した記憶部に記憶されていた元データのバックアップデータを記憶している記憶部において、当該バックアップデータを元データとして記憶する論理記憶領域を生成する論理記憶領域生成部と、
を備えたことを特徴とする記憶制御装置。
【００７６】
（付記２）前記障害検出部により障害の発生が検出された記憶部に記憶されていた他の記憶部の元データのバックアップデータを、前記論理記憶領域生成部により生成された前記論理記憶領域に格納するデータ格納部をさらに備えたことを特徴とする付記１に記載の記憶制御装置。
【００７７】
（付記３）前記論理記憶領域生成部により生成された前記論理記憶領域に記憶されている元データのバックアップデータを、当該論理記憶領域とは別の記憶領域に記憶するデータ記憶部をさらに備えたことを特徴とする付記１または２に記載の記憶制御装置。
【００７８】
（付記４）前記元データおよび前記バックアップデータは階層構造を有するデータであって、
前記論理記憶領域生成部は、前記障害検出部により障害の発生が検出された場合に、当該障害が発生した記憶部に記憶されていた前記階層構造を有する元データのバックアップデータを記憶している記憶部において、当該バックアップデータを元データとして記憶する論理記憶領域を生成することを特徴とする付記１〜３のいずれか一つに記載の記憶制御装置。
【００７９】
（付記５）ネットワークを介して接続された複数の記憶部を備えるとともに、元データと他の記憶部に記憶された元データのバックアップデータとを各記憶部がそれぞれ記憶する記憶装置において、当該各記憶部間に関するデータの記憶制御をおこなう記憶制御方法であって、
前記各記憶部のいずれかについて、障害の発生を検出する障害検出工程と、
前記障害検出工程により障害の発生が検出された場合に、当該障害が発生した記憶部に記憶されていた元データのバックアップデータを記憶している記憶部において、当該バックアップデータを元データとして記憶する論理記憶領域を生成する論理記憶領域生成工程と、
を含んだことを特徴とする記憶制御方法。
【００８０】
（付記６）前記障害検出工程により障害の発生が検出された記憶部に記憶されていた他の記憶部の元データのバックアップデータを、前記論理記憶領域生成工程により生成された前記論理記憶領域に格納するデータ格納工程をさらに含んだことを特徴とする付記５に記載の記憶制御方法。
【００８１】
（付記７）前記論理記憶領域生成工程により生成された前記論理記憶領域に記憶されている元データのバックアップデータを、当該論理記憶領域とは別の記憶領域に記憶するデータ記憶工程をさらに含んだことを特徴とする付記５または６に記載の記憶制御方法。
【００８２】
（付記８）前記元データおよび前記バックアップデータは階層構造を有するデータであって、
前記論理記憶領域生成工程は、前記障害検出工程により障害の発生が検出された場合に、当該障害が発生した記憶部に記憶されていた前記階層構造を有する元データのバックアップデータを記憶している記憶部において、当該バックアップデータを元データとして記憶する論理記憶領域を生成することを特徴とする付記５〜７のいずれか一つに記載の記憶制御方法。
【００８３】
（付記９）ネットワークを介して接続された複数の記憶部を備えるとともに、元データと他の記憶部に記憶された元データのバックアップデータとを各記憶部がそれぞれ記憶する記憶装置において、当該各記憶部間に関するデータの記憶制御をおこなう方法をコンピュータに実行させる記憶制御プログラムであって、
前記各記憶部のいずれかについて、障害の発生を検出する障害検出手順と、
前記障害検出手順により障害の発生が検出された場合に、当該障害が発生した記憶部に記憶されていた元データのバックアップデータを記憶している記憶部において、当該バックアップデータを元データとして記憶する論理記憶領域を生成する論理記憶領域生成手順と、
をコンピュータに実行させることを特徴とする記憶制御プログラム。
【００８４】
（付記１０）前記障害検出手順により障害の発生が検出された記憶部に記憶されていた他の記憶部の元データのバックアップデータを、前記論理記憶領域生成手順により生成された前記論理記憶領域に格納するデータ格納手順をさらに含んだことを特徴とする付記９に記載の記憶制御プログラム。
【００８５】
（付記１１）前記論理記憶領域生成手順により生成された前記論理記憶領域に記憶されている元データのバックアップデータを、当該論理記憶領域とは別の記憶領域に記憶するデータ記憶手順をさらに含んだことを特徴とする付記９または１０に記載の記憶制御プログラム。
【００８６】
（付記１２）前記元データおよび前記バックアップデータは階層構造を有するデータであって、
前記論理記憶領域生成手順は、前記障害検出手順により障害の発生が検出された場合に、当該障害が発生した記憶部に記憶されていた前記階層構造を有する元データのバックアップデータを記憶している記憶部において、当該バックアップデータを元データとして記憶する論理記憶領域を生成することを特徴とする付記９〜１１のいずれか一つに記載の記憶制御プログラム。
【産業上の利用可能性】
【００８７】
以上のように、本発明に係る記憶制御装置、記憶制御方法および記憶制御プログラムは、ネットワークを介して接続された複数の記憶部を備えるとともに、元データと他の記憶部に記憶された元データのバックアップデータとを各記憶部がそれぞれ記憶する記憶装置において、当該各記憶部間に関するデータの記憶制御をおこなう場合に有用であり、特に、プライマリディレクトリの復旧の高速化を実現することができ、システムの使用不可時間を短縮することに適する。
【図面の簡単な説明】
【００８８】
【図１】実施例１に係るプロセッシングエレメントの概要および特徴を説明するための図である。
【図２】実施例１に係るプロセッシングエレメントのリカバリ処理の概要を示す図である。
【図３】実施例１に係るプロセッシングエレメントの構成を示すブロック図である。
【図４】実施例１に係るパーティション配置テーブルの構成例を示す図である。
【図５】実施例１に係るバックアップディスク管理テーブルの構成例を示す図である。
【図６】実施例１に係るパーティション配置テーブルの構成例を示す図である。
【図７】実施例１に係るバックアップディスク管理テーブルの構成例を示す図である。
【図８】実施例１に係るプロセッシングエレメントのリカバリ処理の内容を示す図である。
【図９】実施例１に係るプロセッシングエレメントの処理の流れを示すフローチャートである。
【図１０】リカバリ処理プログラムを実行するコンピュータを示す図である。
【図１１】従来技術を説明するための図である。
【図１２】従来技術を説明するための図である。
【符号の説明】
【００８９】
１  ネットワーク
１０  クライアント装置
２０  プロセッシングエレメント
２１  通信制御Ｉ／Ｆ部
２２  ディスクＩ／Ｆ部
２３  ディスク
２４  コントローラ
２５  メモリ
２５ａ  パーティション配置テーブル
２５ｂ  バックアップディスク管理テーブル
２６  制御部
２５ａ  オペレーション実行部
２５ｂ  リカバリ処理制御部
３０  コンピュータ
３１  通信制御Ｉ／Ｆ部
３２  ディスクＩ／Ｆ部
３３  ＨＤＤ（Hard Disk Drive）
３３ａ  パーティション配置テーブル
３３ｂ  バックアップディスク管理テーブル
３４  ＲＡＭ（Random Access Memory）
３４ａ  パーティション配置データ
３４ｂ  バックアップディスク管理データ
３５  ＲＯＭ（Read Only Memory）
３５ａ  オペレーション実行プログラム
３６  ＣＰＵ（Central Processing Unit）
３６ａ  オペレーション実行プロセス
３６ｂ  リカバリ処理制御プロセス
４０  バス
【図１】
2008097156.tif 000003
【図２】
2008097156.tif 000004
【図３】
2008097156.tif 000005
【図４】
2008097156.tif 000006
【図５】
2008097156.tif 000007
【図６】
2008097156.tif 000008
【図７】
2008097156.tif 000009
【図８】
2008097156.tif 000010
【図９】
2008097156.tif 000011
【図１０】
2008097156.tif 000012
【図１１】
2008097156.tif 000013
【図１２】
2008097156.tif 000014