(57)【特許請求の範囲】
【請求項１】
複数のストレージデバイスに分散してデータを格納するストレージシステムにおいて、
データを格納するスライスされた複数のスライス領域を有するデータ格納部および該複数のスライス領域の管理情報を格納する管理情報格納部を有するストレージデバイスと、
前記データ格納部に格納するデータおよび前記管理情報格納部に格納する管理情報を含む情報の通信機能を有する通信機能部と、を各々が具備する複数のモジュールを備え、
前記複数のモジュールの各々が具備するストレージデバイスの前記管理情報格納部は、当該ストレージデバイスの前記データ格納部が有するスライス領域の管理情報を格納し、
前記複数のモジュールそれぞれは、それぞれの動作状態を知らせるハートビートを送出するハートビート送出部を有するものであって、
前記ハートビート送出部から受信したハートビートに基づいて前記複数のモジュールそれぞれの動作状態を管理する状態管理モジュールを備え、
前記状態管理モジュールは、該状態管理モジュールが認識している前記複数のモジュールそれぞれの動作状態を、他のそれぞれのモジュールに通知するモジュール状態送信部を有し、
前記複数のモジュールそれぞれは、前記状態管理モジュールから通知を受けた動作状態とそれぞれのモジュールが認識する動作状態とが異なる場合には、それぞれの動作を停止させることを特徴とするストレージシステム。
【請求項２】
複数のストレージデバイスに分散してデータを格納するストレージシステムにおいて、
データを格納するスライスされた複数のスライス領域を有するデータ格納部および該複数のスライス領域の管理情報を格納する管理情報格納部を有するストレージデバイスと、
前記データ格納部に格納するデータおよび前記管理情報格納部に格納する管理情報を含む情報の通信機能を有する通信機能部と、を各々が具備する複数のモジュールを備え、
前記複数のモジュールの各々が具備するストレージデバイスの前記管理情報格納部は、当該ストレージデバイスの前記データ格納部が有するスライス領域の管理情報を格納し、
前記複数のモジュールそれぞれから前記管理情報を収集し、収集した該管理情報に基づいて、格納要求を受けたデータの、複数のモジュールのスライス領域に亘る、論理ボリュームに関する情報を再構築するボリューム情報モジュールを備え、
前記ボリューム情報モジュールは、前記複数のモジュールそれぞれに対して、前記管理情報の更新要求を行う更新要求部を備えたものであることを特徴とするストレージシステム。
【請求項３】
複数のストレージデバイスに分散してデータを格納するストレージシステムにおいて、
データを格納するスライスされた複数のスライス領域を有するデータ格納部および該複数のスライス領域の管理情報を格納する管理情報格納部を有するストレージデバイスと、
前記データ格納部に格納するデータおよび前記管理情報格納部に格納する管理情報を含む情報の通信機能を有する通信機能部と、を各々が具備する複数のモジュールを備え、
前記複数のモジュールの各々が具備するストレージデバイスの前記管理情報格納部は、当該ストレージデバイスの前記データ格納部が有するスライス領域の管理情報を格納し、
前記複数のモジュールそれぞれから前記管理情報を収集し、収集した該管理情報に基づいて、格納要求を受けたデータの、複数のモジュールのスライス領域に亘る、論理ボリュームに関する情報を再構築するボリューム情報モジュールを備え、
前記ボリューム情報モジュールは、前記複数のモジュールそれぞれに対して、前記管理情報の更新完了要求を行う更新完了要求部および該管理情報の更新中止要求を行う更新中止要求部を備えたことを特徴とするストレージシステム。
【請求項４】
複数のストレージデバイスに分散してデータを格納するストレージシステムにおいて、
データを格納するスライスされた複数のスライス領域を有するデータ格納部および該複数のスライス領域の管理情報を格納する管理情報格納部を有するストレージデバイスと、
前記データ格納部に格納するデータおよび前記管理情報格納部に格納する管理情報を含む情報の通信機能を有する通信機能部と、を各々が具備する複数のモジュールを備え、
前記複数のモジュールの各々が具備するストレージデバイスの前記管理情報格納部は、当該ストレージデバイスの前記データ格納部が有するスライス領域の管理情報を格納し、
前記複数のモジュールそれぞれから前記管理情報を収集し、収集した該管理情報に基づいて、格納要求を受けたデータの、複数のモジュールのスライス領域に亘る、論理ボリュームに関する情報を再構築するボリューム情報モジュールを備え、
前記複数のモジュールのうちの第１のモジュールは、該第１のモジュールの前記スライス領域に格納されたデータを、第２のモジュールの所定のスライス領域に複写する機能を有するものであって、
前記ボリューム情報モジュールは、該第１のモジュールの前記スライス領域に格納されたデータを、第２のモジュールに複写する前記所定のスライス領域を指定することを特徴とするストレージシステム。
【請求項５】
複数のストレージデバイスに分散してデータを格納するストレージシステムにおいて、
データを格納するスライスされた複数のスライス領域を有するデータ格納部および該複数のスライス領域の管理情報を格納する管理情報格納部を有するストレージデバイスと、
前記データ格納部に格納するデータおよび前記管理情報格納部に格納する管理情報を含む情報の通信機能を有する通信機能部と、を各々が具備する複数のモジュールを備え、
前記複数のモジュールの各々が具備するストレージデバイスの前記管理情報格納部は、当該ストレージデバイスの前記データ格納部が有するスライス領域の管理情報を格納し、
前記複数のモジュールそれぞれから前記管理情報を収集し、収集した該管理情報に基づいて、格納要求を受けたデータの、複数のモジュールのスライス領域に亘る、論理ボリュームに関する情報を再構築するボリューム情報モジュールを備え、
前記ボリューム情報モジュールは、前記複数のモジュールそれぞれの動作を強制終了させる強制終了命令送出部を備えたことを特徴とするストレージシステム。
【請求項６】
複数のストレージデバイスに分散してデータを格納するストレージシステムにおいて、
データを格納するスライスされた複数のスライス領域を有するデータ格納部および該複数のスライス領域の管理情報を格納する管理情報格納部を有するストレージデバイスと、
前記データ格納部に格納するデータおよび前記管理情報格納部に格納する管理情報を含む情報の通信機能を有する通信機能部と、を各々が具備する複数のモジュールを備え、
前記複数のモジュールの各々が具備するストレージデバイスの前記管理情報格納部は、当該ストレージデバイスの前記データ格納部が有するスライス領域の管理情報を格納し、
前記複数のモジュールそれぞれから前記管理情報を収集し、収集した該管理情報に基づいて、格納要求を受けたデータの、複数のモジュールのスライス領域に亘る、論理ボリュームに関する情報を再構築するボリューム情報モジュールと、
前記複数のモジュールそれぞれの動作状態を知らせるハートビートを受信し、該複数のモジュールそれぞれの動作状態を管理するとともに、該ハートビートが停止したときは該複数のモジュールそれぞれの動作を強制終了させる機能を有する状態管理モジュールとを備え、
前記ボリューム情報モジュールは、前記状態管理モジュールから前記複数のモジュールそれぞれの動作状態の通知を受けるとともに、該状態管理モジュールに、該複数のモジュールのうちの所定のモジュールの強制終了を指令することを特徴とするストレージシステム。
【請求項７】
複数のストレージデバイスに分散してデータを格納するストレージシステムにおいて、
データを格納するスライスされた複数のスライス領域を有するデータ格納部および該複数のスライス領域の管理情報を格納する管理情報格納部を有するストレージデバイスと、
前記データ格納部に格納するデータおよび前記管理情報格納部に格納する管理情報を含む情報の通信機能を有する通信機能部と、を各々が具備する複数のモジュールを備え、
前記複数のモジュールの各々が具備するストレージデバイスの前記管理情報格納部は、当該ストレージデバイスの前記データ格納部が有するスライス領域の管理情報を格納し、
前記複数のモジュールそれぞれから前記管理情報を収集し、収集した該管理情報に基づいて、格納要求を受けたデータの、複数のモジュールのスライス領域に亘る、論理ボリュームに関する情報を再構築するボリューム情報モジュールと、
このストレージシステムへのアクセス要求を一元的に受け付けるとともに、対応するモジュールに該アクセス要求を取り次ぐアクセスモジュールとを備え、
前記アクセスモジュールは、前記アクセス要求を受けたときに、前記ボリューム情報モジュールから、該アクセス要求に係る情報を取得するとともに、取得した情報に基づいて該アクセス要求を取り次ぐことを特徴とするストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のストレージデバイスに分散してデータを格納するストレージシステムに関し、特に格納されるデータの冗長性が確保されるストレージシステムに関する。
【背景技術】
【０００２】
従来、大容量の情報を処理するシステムでは、複数配置されたハードディスクなどにデータを分散して格納する必要がある場合には、複数のハードディスクなどに並列にアクセスして、データの読み書きの高速化を図る一方、一つのハードディスクが故障してもデータが失われないように冗長性を持たせたストレージシステムが採用されている。このストレージシステムを構成する１つの方法として、ＲＡＩＤ（レイド）がある。
【０００３】
ＲＡＩＤは、データを複数のドライブに分散させて、同時に書き込むことによりアクセス速度の向上を図るストライピング、同一のデータを複数のドライブに書き込むことにより単体のドライブよりも信頼性を向上させるミラーリング、データエラーの検出によるデータ復元など耐故障性のレベルに応じて分類がなされている。今日においては、ストライピングによるアクセス速度を向上させたＲＡＩＤ０から、パリティを付加したうえ、分散させたディスクの何れかが故障してもデータの復元が可能なＲＡＩＤ５までが考案されている。これらのＲＡＩＤを用いて具体的なシステムを構成する場合には、システムに要求されるレベルに応じて、選択、または組み合わせを行う。
【０００４】
例えば、ＲＡＩＤ1は、外見は１つの仮想ディスクであるが、実際には２つの物理ディスクから構成されており、それぞれの物理ディスクが完全に同じ内容を持つ方式で、ミラーリングと呼ばれる。したがって、仮想ディスクにデータを書き込むときには、２つの物理ディスクに同時に書き込みを行うので、２つの物理ディスクの容量が異なる場合には、容量が小さい物理ディスクに合わせる必要がある。そして、両方のディスクから書き込みが正常に終了した旨の応答が返ってきた場合には、データの書き込み要求元に終了の応答を行い、少なくとも何れか一方から応答が返ってこない場合には、データの書き込み要求元に、エラーの応答を行う。また、物理ディスクの片方が故障した場合には、正常な物理ディスクからデータを読み出して、故障した物理ディスクの代りのディスクに書き込むことにより、データの冗長性が維持される。
【０００５】
また、例えばＲＡＩＤ０＋１は、ＲＡＩＤ０とＲＡＩＤ1とを組み合わせたものである。ＲＡＩＤ０は、同容量の、複数の物理ディスクを、同サイズのスライスに分けるとともに、予め複数の物理ディスクを順序付けし、順々にスライスを割り付けてゆく方式で、データストライピングと呼ばれる。この方式は、データの冗長性は確保されないが、複数の物理ディスクに同時にアクセスすることにより、アクセスタイムを減らし、データの読み書き性能の向上が図れるという特徴を持つ。一方、ＲＡＩＤ０＋１は、物理ディスクのスライス１つ１つをそれぞれミラーリングさせたものであり、ＲＡＩＤ０の特徴とＲＡＩＤ1の特徴とを併有する。
【０００６】
しかしながら、ＲＡＩＤ０＋１によりストレージシステムを構成する場合には、ＲＡＩＤ1による場合と同様に、各種の処理を実行するコントローラが必要であり、格納されたデータをより安全に取り扱うためには、コントローラを二重化するとともに、二重化したコントローラそれぞれから各物理ディスクにアクセスする通信路が必要となるため、ストレージシステムのコストが割高になる。また、物理ディスクの片方が故障した場合には、他の物理ディスクに未使用の領域がたくさんある場合であっても、ＲＡＩＤ1の方式上の制約から、その未使用領域を、故障した物理ディスクの代替として使用できないため、予備の物理ディスクが必要になる。
【０００７】
一方、ストレージシステムを管理制御する方式としては、データの読み書きと同じインタフェースによりホストコンピュータ側で行うものと、データの読み書きを行うインタフェースとは全く異なるインタフェースにより、ホストコンピュータに依存せずに行うものとがある。前者は、ホストコンピュータのアプリケーションとストレージ管理制御とを連携させて処理することが可能である反面、ホストコンピュータが起動していないときにはストレージ管理制御が実行できないという問題がある。これに対して、後者は、ホストコンピュータのプラットフォームに依存せずに、独立にストレージ管理制御を行うことができる反面、ホストコンピュータのアプリケーションとストレージ管理制御とを連携させて処理することができないという不便さがある。
【０００８】
そこで、ホストコンピュータとストレージシステム双方にインタフェースを有する、ストレージ管理制御用のサーバを設け、サーバからもストレージ管理制御ができるようにしたシステムが提案されている（特許文献１参照）。
【０００９】
また、ネットワークを介してストレージシステムに格納されたデータにアクセスするクライアントは、ストレージシステムがどの程度の信頼性を持ったものであるかを直接には知ることができない。このため、不測の事態に備えて自らデータのバックアップを行う必要があり、頻繁に更新が必要なデータについては、バックアップも更新周期に合わせて頻繁に行う必要が生じ、わずらわしいという問題がある。
【００１０】
そこで、データに信頼性レベル情報を付与しておくとともに、クライアントがデータを参照または更新する際に、信頼性レベルを変更した場合であっても、変更後の信頼性レベルに応じて、データを格納するストレージ装置を変更できるように、種々の信頼性レベルのストレージ装置を備え、クライアントがデータをバックアップする必要性をなくしたものが提案されている（特許文献２参照）。
【００１１】
しかしながら、特許文献1および特許文献２に開示された発明では、コントローラの二重化とそれに伴う通信路などによるコスト負担、さまざまな容量のストレージデバイスで構成されたストレージシステムにおける活用不能な未使用領域、あるいは予備の物理ディスクの必要性などの問題の解決には不充分である。
【特許文献１】特開２００２−２６８８２５号公報（段落番号００１２〜００２１、図１）
【特許文献２】特開２００２−２４４９２２号広報（段落番号００１２〜００２１、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
したがって、本発明は、ストレージデバイスの使用効率を高めるとともに、コントローラなどの二重化負担を軽減することが可能で、しかも格納されるデータの安全性が確保されるストレージシステムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明は、データを格納するスライスされた複数のスライス領域を有するデータ格納部およびそれら複数のスライス領域の管理情報を格納する管理情報格納部を有するストレージデバイスと、上記データ格納部に格納するデータおよび上記記管理情報格納部に格納する管理情報を含む情報の通信機能を有する通信機能部とを具備する複数のモジュールを備え、上記データ格納部にデータを分散して格納することにより格納されたデータの冗長性を確保し、ストレージデバイスの使用効率を高め、かつ格納されたデータの安全性を低コストで高めるものである。
【００１４】
また、複数のモジュールそれぞれに、それぞれの動作状態を知らせるハートビートを送出するハートビート送出部を設けるとともに、ハートビート送出部から送られたハートビートを受信して複数のモジュールそれぞれの動作状態を一元的に管理する状態管理モジュールを設けることにより、モジュールそれぞれが負担する負荷の軽減と何れかのモジュールに異常状態が発生したときの措置の迅速化を図ることもできる。
【００１５】
また、複数のモジュールそれぞれから管理情報を収集し、収集した管理情報に基づいて、格納要求を受けたデータを複数のモジュールのスライス領域に亘る、スライス領域を単位としてあらわした論理ボリュームの情報を再構築するボリューム情報モジュールを設けることにより、ストレージシステムの運用上重要な管理情報の一元化による動作の迅速化と、各モジュールの格納情報管理部が持っている管理情報の二重化による格納されたデータの安全性の一層の向上を図ることもできる。
【発明の効果】
【００１６】
本発明の上記の構成により、ストレージデバイスの使用効率が高く、低コストで、格納されたデータの安全性が確保されたストレージシステムを提供することができる。
【発明を実施するための最良の形態】
【００１７】
（第1の参考例）
図1は、本発明の第１の参考例のストレージシステムを含む情報処理システムの一構成例を示す図である。
【００１８】
図１において、ストレージシステム１は、ストレージデバイス２１を有するサーバ（「パーソナルコンピュータ又はワークステーション」。以下同じ。）からなるモジュールＡ１１、ストレージデバイス２２を有するサーバからなるモジュールＢ１２、ストレージデバイス２３を有するサーバからなるモジュールＣ１３、ストレージデバイス２４を有するサーバからなるモジュールＤ１４を備えており、これらの４つのモジュールそれぞれは、通信回線４を介してネットワーク２に接続されている。また、ネットワーク２には２つのコンピュータ３が接続されており、２つのコンピュータ３それぞれは、ネットワーク２を介してストレージシステム１にアクセスして、データの格納、追加、削除、変更等の要求を行うことができるように構成されている。なお、各ストレージデバイス２１〜２４は、ここではハードディスクにより構成されているが、これに限定されない。
【００１９】
ストレージシステム１を構成する４つのモジュール、すなわちモジュールＡ１１、モジュールＢ１２、モジュールＣ１３、モジュールＤ１４は、それぞれのサーバによって各種処理が制御されるとともに、サーバが有する通信機能により、ネットワーク２との間はもとより、通信回線を介して接続されたモジュール相互間でデータを含む情報の送受が可能な構成を有する。したがって、各モジュール１１〜１４それぞれのストレージデバイス２１〜２４に格納されているデータを複写することにより、モジュールを異にするストレージデバイスに同一データを重複させて格納することができるので、ストレージシステム１に格納されるデータの冗長性を確保することができる。
【００２０】
図２は、本参考例のストレージシステムにおける４つのストレージデバイスにデータを格納する基本概念を説明するための図である。
【００２１】
図２に示すように、本参考例の各モジュールを構成する４つのストレージデバイス２１〜２４それぞれは、容量が必ずしも同じではないが、各一定容量のデータを格納する複数の小領域Ｓ（番号Ｓ１１〜Ｓ１５、番号Ｓ２１〜Ｓ２６、番号Ｓ３１〜Ｓ３５、番号Ｓ４１〜Ｓ４５）に区分されており、この小領域Ｓをそれぞれスライス領域１５と称する。ストレージシステムに対してデータの格納要求が発生した場合には、そのデータは、スライス領域１５を単位として格納される。格納要求を受けたデータの、複数のモジュールのスライス領域に亘る１つのまとまりを、論理ボリュームと称する。
【００２２】
例えば、図2に示す構成では、右上からの斜め斜線で示すスライス領域Ｓ１１、Ｓ２１、およびＳ２３にて１つの論理ボリュームを構成している。
【００２３】
また、本参考例のストレージシステムにおいては、各スライス領域１５を単位として異なるモジュール、あるいは同一のモジュールに格納されたデータと同一のデータが、その格納されたスライス領域とは異なる、任意のモジュールの、未使用のスライス領域１５のうちの何れかのスライス領域にも格納される。
【００２４】
これにより、格納されるデータの冗長性を確保しつつ、各ストレージデバイスを効率的に使用することができる。
【００２５】
また、同一のデータが格納されたスライス領域１５の対を、セグメント１７と称する。このセグメント１７は、データの格納要求を受けたモジュールが、スライス領域１５に格納されたデータを、通信機能を用いて、別のモジュールの未使用のスライス領域１５に複写することによって構築することができる。
【００２６】
例えば、右上からの斜め斜線で示すスライス領域Ｓ１１は、左上からの斜め斜線で示すスライス領域Ｓ２２とセグメント１７を構成し、右上からの斜め斜線で示すスライス領域Ｓ２１は、左上からの斜め斜線で示すスライス領域Ｓ４２とセグメント１７を構成し、右上からの斜め斜線で示すスライス領域Ｓ２３は、左上からの斜め斜線で示すスライス領域Ｓ３２とセグメント１７を構成する。
【００２７】
ここで、本参考例では、モジュールの数が４つであるが、この数には限定されない。また、各モジュールは、通信回線４を介してネットワークに接続されるように構成されているが、直接ネットワークに接続してもよい。さらに、スライス領域を単位としてセグメントを形成し、データを二重化することにより、ストレージデバイスに格納されるデータの冗長性を確保しているが、パリティチェックによるデータエラーの検出や、データエラーの検出と訂正との併用などにより、格納されるデータの冗長性を確保することにしてもよい。
【００２８】
図３は、第１の参考例のストレージシステムを示す機能ブロック図である。
【００２９】
図３に示すストレージシステムは、モジュールＡ１１、モジュールＢ１２、モジュールＣ１３、モジュールＤ１４を有し、それぞれのモジュール１１〜１４は、サーバが有する通信機能部２５〜２８により、サーバに接続されたネットワーク２を介して、外部とデータの送受を行うことができる。また、サーバ相互間も１対１の通信回線４で結ばれており、通信機能部２５〜２８により、モジュール相互間で通信を行うこともできる。なお、ここでは、サーバ相互間を１対１の通信回線４で結んでいるが、必ずしも１対１の通信回線４で結ぶ必要はなく、モジュール相互間で通信ができれば、任意の接続形態を用いることができる。
【００３０】
モジュールＡ１１、モジュールＢ１２、モジュールＣ１３、モジュールＤ１４それぞれのストレージデバイス２１〜２４は、データを格納するスライスされた複数のスライス領域１５を有するデータ格納部８と、複数のスライス領域１５の管理情報を格納する管理情報格納部１８とを有する。各管理情報格納部１８に格納された管理情報は、例えば各スライス領域（Ｓ１１〜Ｓ１５、Ｓ２１〜Ｓ２６、Ｓ３１〜Ｓ３５、Ｓ４１〜Ｓ４５）、論理ボリュームの名称Ｌn、論理ボリューム上のデータの配置位置n、および同じセグメントに属する別のモジュールのスライス領域の順に配置されている。
【００３１】
本参考例のストレージシステムにおいては、Ｌ１とＬ２という名称の２つの論理ボリュームがある。論理ボリュームＬ１は、セグメント数が３であり、データの配置位置の順番に、スライス領域Ｓ１１、Ｓ２３、Ｓ４３にデータが格納され、またスライス領域Ｓ１１とＳ２２、Ｓ２３とＳ３２、Ｓ４３とＳ２４とによりセグメントが構成されている。また、論理ボリュームＬ２は、セグメント数が２であり、データの配置位置の順番に、スライス領域Ｓ１４、Ｓ４３に格納され、またスライス領域Ｓ１４とＳ３３、Ｓ４３とＳ２４とによりセグメントが構成されている。
【００３２】
ここで、スライス領域１５と管理情報格納部１８とはストレージデバイス上の異なる領域に配置されているが、配置される領域を混在させることもできる。
【００３３】
このように、スライスされることにより小容量に区分されたスライス領域１５毎にデータを分散させて格納するので、各モジュールのストレージデバイスそれぞれの容量が互いに異なる場合であっても、それぞれのストレージデバイスの使用効率を高めることができる。また、モジュール相互に通信する機能を有し、それぞれのモジュールに格納されたデータを他のモジュールに複写する機能を有するので、格納されるデータの二重化による冗長性が確保される。
【００３４】
以下には、ストレージシステムにおいて、データを格納する場合の作用について説明する。
【００３５】
図４は、ストレージシステムにおいて、スライス領域に格納されたデータの複写を行なう場合の処理手順の一例を示す図である。
【００３６】
図４において、各モジュール１１〜１４それぞれのストレージデバイス２１〜２４には、書き込み要求のあったデータを格納するスライス領域１５と、格納されたデータが属する論理ボリューム名Ｌn、論理ボリューム上のデータの配置位置n、および同じセグメントに属する別のモジュールのスライス領域１５を、各スライス領域（Ｓ１１〜Ｓ１５、Ｓ２１〜Ｓ２６、Ｓ３１〜Ｓ３５、Ｓ４１〜Ｓ４５）毎に記録した管理情報を格納する管理情報格納部１８を備えている。
【００３７】
今、何らかに理由により、モジュールＡ１１のスライス領域Ｓ１４に格納されたデータをモジュールＤ１４のスライス領域Ｓ４１に複写する必要が生じた場合には、モジュールＡ１１は、通信機能部２５を起動させて、モジュール１４の通信機能部とのチャンネルをつなぎ、Ｓ４１が未使用であるか否かを照会する。モジュールＤ１４から、Ｓ４１が未使用である旨の返信を受けると、モジュールＡ１１は、番号Ｓ１４に格納されたデータをモジュール１４に送信する。
【００３８】
図５〜図１０は、ストレージシステムに外部からデータの格納要求があった場合の処理手順の一例を示す図である。
【００３９】
図５〜図１０に示すストレージシステムは、モジュールＡ１１、モジュールＢ１２、モジュールＣ１３、モジュールＤ１４を備え、各モジュールそれぞれは、通信機能部２５〜２８を有し、ストレージデバイス２１〜２４には複数のスライス領域１５からなるデータ格納部８と、管理情報格納部１８とを備えているが、便宜上データ格納部８の表示は省略されている。
【００４０】
図５において、モジュールＡ１１は、スライス領域の番号Ｓ１１、Ｓ１４にデータが格納され、スライス領域Ｓ１２、Ｓ１３、Ｓ１５は未使用である。モジュールＢ１２は、スライス領域Ｓ２１、Ｓ２２、Ｓ２３、Ｓ２４にデータが格納され、スライス領域Ｓ２５、Ｓ２６は未使用である。また、モジュールＣ１３は、スライス領域Ｓ３２、Ｓ３３にデータが格納され、スライス領域Ｓ３１、Ｓ３４は未使用であり、モジュールＤ１４は、スライス領域Ｓ４１、Ｓ４２にデータが格納され、スライス領域Ｓ４１、Ｓ４４、Ｓ４５は未使用である。
【００４１】
ここで、モジュールＡ１１に、セグメント数が４の論理ボリュームの格納要求があった場合を例として説明する。
【００４２】
論理ボリュームの割り付けには、さまざまなルールが考えられるが、ここでは、なるべく自前のスライス領域に優先的に格納するというルールの下で論理ボリュームの割り付けを行うものとし、論理ボリュームの割り付を行なったモジュールは、その都度、他のモジュールに依頼して、空きのスライス領域を確保してデータを複写することによりセグメントを構成するものとする。
【００４３】
図６に示すように、モジュールＡ１１は、スライス領域Ｓ１２、Ｓ１３、Ｓ１５が未使用であることから、それらのスライス領域に論理ボリューム名Ｌ３のデータを割り付ける。次に、それらのスライス領域とセグメントを構成する他のモジュールのスライス領域を探すため、先ず、モジュールＢ１２に、未使用のスライス領域の照会と、未使用のスライス領域の確保要求を行なう。
【００４４】
図７に示すように、モジュールＢ１２は、スライス領域Ｓ２５、Ｓ２６という２つの未使用のスライス領域を有するので、それらを論理モジュール名Ｌ３のセグメント１およびセグメント２として割り付ける旨をモジュールＡ１１に返信する。モジュールＡ１１は、番号Ｓ１２に格納されたデータをスライス領域Ｓ２５に複写し、スライス領域Ｓ１３に格納されたデータをスライス領域Ｓ２６に複写する。そして、スライス領域Ｓ１２とＳ２５、およびスライス領域Ｓ１３とＳ２６とによりセグメントを構成する。
【００４５】
モジュールＡ１１は、これだけではセグメントを構成するスライス領域が不足するので、図８に示すように、モジュールＣ１３に対しても同様な照会と要求を行う。モジュールＣ１３は、スライス領域Ｓ３１、Ｓ３４が未使用であるが、モジュールＡ１１からスライス領域を１つだけ要求されていることから、スライス領域Ｓ３１のみを確保する。そして、図９に示すように、モジュールＣ１３は、スライス領域Ｓ３１にセグメント３を割り付けることをモジュールＡ１１に返信する。モジュールＡ１１は、スライス領域Ｓ１５に格納されたデータをスライス領域Ｓ３１に複写し、スライス領域Ｓ１５とＳ３１とがセグメントを構成する。
【００４６】
次に、モジュールＡ１１は、自前だけでは割り付け要求されたセグメント数のスライス領域を確保することができなかったので、モジュールＢ１２に対して、論理ボリュームの割り付けを依頼する。しかし、モジュールＢ１２にはすでに未使用のスライス領域がなくなっているので、論理ボリュームの割り付け要求はモジュールＣ１３に移動する。
【００４７】
モジュールＣ１３は、未使用のスライス領域Ｓ３４があるので、それを論理ボリューム名Ｌ３として割り付ける。そして、モジュールＤ１４に対して、セグメントを構築するための、未使用のスライス領域の照会と未使用のスライス領域の確保要求を行なう。モジュールＤ１４には、３つの未使用のスライス領域があるので、そのうちの１つであるスライス領域Ｓ４１をセグメント４とする旨をモジュールＣ１３に返信する。
【００４８】
モジュールＣ１３は、スライス領域Ｓ３４に格納されたデータをスライス領域Ｓ４１に複写し、図１０に示すように、スライス領域Ｓ３４とＳ４１とでセグメントを構成する。これにより、要求されたセグメント数の論理ボリュームが確保されたので、モジュールＤ１４は、割り付け完了を要求元に返信する。
【００４９】
ここで、この要求元への返信は、モジュールＤ１４が行なう必要は必ずしもなく、モジュールＡ１１がモジュールＤ１４から完了通知を受けた後に、要求元に返信するようにしてもよい。
【００５０】
このような手順をとることにより、各モジュールのストレージデバイス使用効率を高めつつ、格納されるデータの二重化による冗長性が確保される。
【００５１】
なお、ここでは、要求されたサイズの論理ボリュームを確保することができた場合について説明したが、割り付けるスライス領域が不足し、論理ボリュームの割り付けに失敗した場合には、その段階で、論理ボリュームの割り付け要求を受けたモジュール、あるいは照会を受けたモジュール等が要求元に割り付け中止要求を返信することもできる。それにより、途中まで確保されていたスライス領域を解放し、他の論理ボリュ−ムに対応することができる。また、ここでは格納要求について説明したが、追加、削除、変更要求についても同様に行うことができる。
【００５２】
次に、格納されたデータをモジュール単位で移動させる場合について説明する。
【００５３】
図１１〜図１３は、ストレージシステムが稼動中に解放要求があった場合の作用を示す図である。
【００５４】
図１１〜図１３に示すストレージシステムは、モジュールＡ１１、モジュールＢ１２、モジュールＣ１３、モジュールＤ１４を備え、各モジュール１１〜１４それぞれは、通信機能部２５〜２８を有し、ストレージデバイス２１〜２４には複数のスライス領域１５からなるデータ格納部８と、管理情報格納部１８とを備えているが、便宜上データ格納部の表示は省略されている。
【００５５】
図１１において、モジュールＢ１２は、論理ボリューム名Ｌ２の解放要求を受ける。すると、モジュールＢ１２は、図１２に示すように、他のモジュールＡ１１、モジュールＣ１３、モジュールＤ１４に対して、論理ボリューム名Ｌ２の解放命令を通知する。通知を受けた各モジュールは、自己のモジュール内の管理情報格納部１８に格納された情報から、論理ボリューム名Ｌ２が割り付けられたスライス領域の番号を調べる。そして、図１３に示すように、割り付けられているスライス領域Ｓ１４、Ｓ２４、Ｓ３３、４３からデータを削除するとともに、管理情報格納部１８の当該情報も削除し、モジュールＡ１１、モジュールＣ１３、モジュールＤ１４は解放完了をモジュールＢ１２に通知し、モジュールＢ１２は、要求元に、要求完了の応答を返す。
【００５６】
次に、図１４から図１６は、ストレージシステムの何れかのモジュールが故障した場合の処理手順の一例を示す図である。
【００５７】
図１４〜図１６に示すストレージシステムは、モジュールＡ１１、モジュールＢ１２、モジュールＣ１３、モジュールＤ１４を備え、各モジュール１１〜１４それぞれは、通信機能部２５〜２８を有し、ストレージデバイス２１〜２４には複数のスライス領域１５からなるデータ格納部８と、管理情報格納部１８とを備えているが、便宜上データ格納部８の表示は省略されている。
【００５８】
図１４において、モジュールＢ１２が故障すると、他のモジュールＡ１１、モジュールＣ１３、モジュールＤ１４は、何らかの手段でその故障を認識する。他のモジュールＡ１１、モジュールＣ１３、モジュールＤ１４は、それぞれの管理情報格納部１８に格納されている情報に基づいて、モジュールＢ１２に属するスライス領域とセグメントを構成しているスライス領域Ｓ１１、Ｓ３２、Ｓ４２、Ｓ４４を検知する。そして、それらのスライス領域それぞれと新たにセグメントを構成するスライス領域を確保する必要があるので、図１５に示すように、モジュールＡ１１は、モジュールＣ１３から、モジュール１３は、モジュールＤ１４から、モジュールＤ１４は、モジュールＡ１１からそれぞれ未使用のスライス領域を確保する。そして、スライス領域Ｓ１１はスライス領域Ｓ３１とセグメントを構成し、スライス領域Ｓ３２は、スライス領域Ｓ４４とセグメントを構成し、スライス領域番号Ｓ４２は、スライス領域Ｓ１２と、スライス領域番号Ｓ４３はスライス領域Ｓ１３とそれぞれセグメントを構成する。
【００５９】
次に、図１６に示すように、モジュールＡ１１、モジュールＣ１３、モジュールＤ１４は、セグメントを構成した相手のモジュールに対して、それぞれのスライス領域Ｓ１１、Ｓ３２、Ｓ４２、Ｓ４４に格納されたデータを複写する。それぞれのデータの複写が完了したら、それぞれの管理情報格納部に格納される管理情報を確定する。
【００６０】
このような手順をとることにより、各モジュールに格納されたデータの冗長性を失うことなく、所定のモジュールの解放要求に対応することができる。
【００６１】
次に、図１７から図１９は、ストレージシステムの何れかのモジュールを引抜く場合の処理手順の一例を示す図である。
【００６２】
図１７から図１９に示すストレージシステムは、モジュールＡ１１、モジュールＢ１２、モジュールＣ１３、モジュールＤ１４を備え、各モジュール１１〜１４それぞれは、通信機能部２５〜２８を有し、ストレージデバイス２１〜２４には複数のスライス領域１５からなるデータ格納部８と、管理情報格納部１８とを備えているが、便宜上データ格納部８の表示は省略されている。
【００６３】
図１７に示すように、モジュールD１４は、引抜き要求を受けると、モジュールD１４のスライス領域Ｓ４２、Ｓ４３に格納されているデータの移動先であって、スライス領域Ｓ４２、Ｓ４３とそれぞれセグメントを構成している、スライス領域Ｓ２１、Ｓ２４と新たにセグメントを構成するスライス領域を探す必要がある。したがって、モジュールD１４のスライス領域の番号Ｓ４２、Ｓ４３とそれぞれセグメントを構成している番号Ｓ２１、Ｓ２４が属するモジュールＢ１２は、データの移動先としては不向きである。
【００６４】
図１８に示すように、番号Ｓ４２、Ｓ４３に格納されたデータは、それぞれモジュールＡ１１とモジュールＣ３１に移動することとし、それぞれ空いている番号Ｓ３１とＳ１２に、および番号Ｓ４２、Ｓ４３とそれぞれセグメントを構成していたスライス領域Ｓ２１、Ｓ２４に、スライス領域Ｓ４２、Ｓ４３に格納されているデータを複写する。
【００６５】
複写が終了したら、図１９に示すように、モジュールＤ１４は、モジュールＡ１１、モジュールＣ１３、及びモジュールＢ１２にセグメントの構成が変更になったことを通知し、モジュールＤ１４は、引抜きが可能になる。なお、モジュールＡ１１、モジュールＢ１２およびモジュールＣ１３の管理情報格納部１８は、格納された管理情報を変更する。
【００６６】
このような手順をとることにより、モジュールに格納されたデータの冗長性を失うことなく、当該モジュールの開放要求に対応することができる。
【００６７】
次に、図２０〜図２２は、ストレージシステムの何れかのモジュールを新たなモジュールに交換する場合の処理手順の一例を示す図である。
【００６８】
ここでは、モジュールＤ１４を引き抜いた後に、新たにモジュールＥ５５を追加し、そのモジュールＥ５５に、モジュールＣ１３に格納されているデータを移動させることにより行うものとする。モジュールＤ１４を引き抜く作用については、すでに、図１７〜図１９に基づいて説明した作用と同じであることから、重複する説明は省略する。
【００６９】
図２０〜図２２に示すストレージシステムは、モジュールＡ１１、モジュールＢ１２、モジュールＣ１３、モジュールＤ１４のうちの、モジュールＤ１４が引き抜かれ、新たなモジュールＥ５５が追加されている。各モジュール１１〜１３、５５それぞれは、通信機能部２５〜２８を有し、ストレージデバイス２１〜２３、２４０には複数のスライス領域１５からなるデータ格納部８と、管理情報格納部１８とを備えているが、便宜上データ格納部８の表示は省略されている。
【００７０】
図２０に示すように、新たなモジュールＥ５５の追加作業が完了し、たとえばモジュールＣ１３が、モジュールＥ５５との交換命令を受けたものとする。
【００７１】
図２１に示すように、交換命令を受けたモジュールＣ１３は、モジュールＥ５５に、データを移動させるための、３つのスライス領域を確保可能か確認する。そして、スライス領域の確保可能が確認されると、図２２に示すように、スライス領域Ｓ３１、３３２、Ｓ３３に格納されたデータをスライス領域Ｓ５１、Ｓ５２、Ｓ５３にそれぞれ複写する。複写がすべて完了すると、スライス領域Ｓ３１、３３２、Ｓ３３とセグメントを構成しているスライス領域が属するモジュールＡ１１、モジュールＢ１２の管理情報格納部１８に格納された情報を更新する。これにより、モジュールＣ１３に格納されたデータはすべてモジュールＥ５５に移動したので、モジュールＣ１３を引き抜き、交換が完了する。
【００７２】
このような手順をとることにより、格納されたデータの冗長性を失うことなくモジュールの交換を行うことができる。
【００７３】
次に、管理情報格納部に格納される管理情報の更新について説明する。
【００７４】
図２３〜図２５は、モジュールに格納された管理情報を更新する場合の処理手順の一例を示す図である。
【００７５】
図２３〜図２５には、説明を簡略化するため、ストレージシステムのうちのモジュールＡ１１およびモジュールＢ１２が、代表として示されている。
【００７６】
各モジュールは、相互間が１対１の通信回線で結ばれており、通信機能部２５、２６を介して相互に通信を行うことができる。モジュールＡ１１、モジュールＢ１２それぞれのストレージデバイス２１、２２には、書き込み要求のあったデータを格納する複数のスライス領域１５からなるデータ格納部８と、管理情報格納部１８とを有し、管理情報格納部１８には、格納されたデータが属する論理ボリューム名Ｌn、論理ボリューム上のデータの配置位置n、および同じセグメントに属する別のモジュールのスライス領域１５を、各スライス領域（Ｓ１１〜Ｓ１５、Ｓ２１〜Ｓ２６）毎に記録した管理情報のほかに、格納された管理情報が更新処理中（△印）、更新済み（○印）、をあらわす更新処理情報が付加されている。また、管理情報を更新処理中に不測の事態ば発生した場合に対処するため、更新処理に入る前の管理情報を一時的に格納しておく処理前情報記憶領域１９が設けられている。
【００７７】
ここでは、モジュールＡ１１、およびモジュールＢ１２のスライス領域Ｓ１５、Ｓ２５が更新処理中のため、△印が付されている。
【００７８】
なお、処理前情報記憶領域１９は、各ストレージデバイス２１、２２のスライス領域１５、あるいは管理情報格納部１８と混在させてもよいし、独立の領域を設けてもよい。
【００７９】
モジュールＡ１１、およびモジュールＢ１２は、更新完了要求を受けると、図２４に示すように、管理情報を確定させるとともに、管理情報格納部１８の番号Ｓ１５、Ｓ２５の更新処理情報を更新済み（○印）に変更する。
【００８０】
一方、モジュールＡ１１、およびモジュールＢ１２が更新処理中に、更新中止要求を受けると、図２５に示すように、処理前情報記憶領域１９に一時的に格納しておいた管理情報を複写して、更新前の状態に復元し、管理情報格納部１８のスライス領域Ｓ１５、Ｓ２５の更新処理情報を更新済み（○印）に変更する。
【００８１】
ここでは、１つの更新処理を行う場合について示したが、○印や△印に代えて識別子を用いることにより、複数の更新処理を同時に並行してこともできる。
【００８２】
次に、各モジュールの状態情報の授受について説明する。
【００８３】
図２６および図２７は、モジュールＡ１１を代表例として示す図である。
【００８４】
図２６に示すモジュールＡ１１は、通信機能部２５とストレージデバイス２１とを備えるほか、モジュールを強制的に起動させるスイッチ３０を備えている。また、ストレージデバイス２１は、複数のスライス領域１５からなるデータ格納部８と、管理情報格納部１８とを有するほか、モジュールＡ１１が動作を終了したときの状態情報を格納する状態情報格納領域２０を有する。状態情報格納領域２０には、正常に動作が終了したときには「ｎｏｒｍａｌ情報」がストレージデバイスされ、たとえば運用中の電源断など不慮の事故によって動作を終了したときには「ａｂｎｏｒｍａｌ情報」がストレージデバイスされる。モジュールＡ１１は、状態情報格納領域２０に格納されている情報を参照して起動開始するか否かを判断するように構成されている。この場合は、スイッチ３０を操作することによりモジュールを起動させることができるので、不慮の事故が起こった場合であっても対応することができる。
【００８５】
図２７に示すモジュールＡ１１は、図２６に示したほか、ストレージデバイス２１に、モジュールＡ１１の状態情報を、通信機能部２５を介して他のモジュールに送信するハートビート送出部３１を有している。このハートビート送出部３１は、モジュールを起動させたときにモジュール内に問題がなければ正常な状態であることを知らせ、モジュール起動時および通常運用時に異常状態が発生したら異常であることを知らせる役割を果たす。したがって、モジュールＡ１１から通知を受けた他のモジュールは、格納されたデータや情報の早期復旧を図ることができる。
【００８６】
ここで、ハートビート送出部３１は、状態情報を定期的に送出することにしてもよい。そのように、状態情報を定期的に送出すれば、正常状態が継続していることを他のモジュールに通知することができる上、一定時間以上、状態情報が受信されないときは、そのモジュールに異常状態が発生したと考えることもできるので、迅速な対応ができる。また、自身の通信機能部２５の故障や通信回線４の障害により他のモジュールと通信が行えなくなった場合には、自身の終了処理を行うことにより、ストレージシステムに格納されたデータ全体の安全性を高めることもできる。
【００８７】
（第２の参考例）
本参考例のストレージシステムは、第１の参考例のストレージシステムに較べて、ストレージシステムへのアクセス要求を受けたときに、対応するスライス領域に直接アクセスするアクセスモジュールを備えている点は相違するが、それ以外の点は共通する。したがって、相違するアクセスモジュールを中心に以下に説明する。
【００８８】
図２８は、第2の参考例のストレージシステムを含む情報処理システムの一構成例を示す図である。
【００８９】
図２８に示すストレージシステム１は、ストレージデバイス２１を有するサーバ（パーソナルコンピュータ又はワークステーション。以下同じ。）からなるモジュールＡ１１、ストレージデバイス２２を有するサーバからなるモジュールＢ１２、ストレージデバイス２３を有するサーバからなるモジュールＣ１３、ストレージデバイス２４を有するサーバからなるモジュールＤ１４、およびストレージシステムへのアクセス要求を受けたときに、対応するモジュールのスライス領域に直接アクセスできるような情報を有するパーソナルコンピュータ（以下「ＰＣ」と略称する。）からなる２つのアクセスモジュールＡ４１、Ａ４２を備えている。
【００９０】
４つのモジュールそれぞれは、通信回線４を介してアクセスモジュールに接続され、アクセスモジュールは、ネットワーク２に接続されている。したがって、ネットワーク２に接続された２つのコンピュータ３それぞれは、先ず何れかのアクセスモジュールにアクセスし、そのアクセスモジュールを経由して、各モジュールにアクセスできるように構成されている。
【００９１】
図２９は、第２の参考例のストレージシステムを示す機能ブロック図である。
【００９２】
本参考例のストレージシステムは、ＰＣからなるアクセスモジュールＡ４１、Ａ４２を備える点を除けば、図３で説明した第１の参考例のストレージシステムと共通する。したがって、同一の構成要素には同一の符号を付し、重複する説明を省略する。
【００９３】
図２９に示すストレージシステムは、モジュールＡ１１、モジュールＢ１２、モジュールＣ１３、モジュールＤ１４を有し、それぞれのモジュール１１〜１４は、サーバが有する通信機能部２５〜２８により、ＰＣからなる２つのアクセスモジュールの双方に接続されている。また、各モジュール相互間は、１対１の通信回線４で結ばれており、通信機能部２５〜２８により、各モジュール１１〜１４相互間で通信を行うことができる。ネットワーク２に接続された外部のコンピュータは、２つのアクセスモジュールの何れか一方にアクセスすることにより、所定のモジュールに直接アクセスすることができる。
【００９４】
モジュールＡ１１、モジュールＢ１２、モジュールＣ１３、モジュールＤ１４それぞれのストレージデバイス２１〜２４には、書き込み要求のあったデータを格納する複数のスライス領域１５からなるデータ格納部８と、格納されたデータが属する論理ボリューム名Ｌn、論理ボリューム上のデータの配置位置n、および同じセグメントに属する別のモジュールのスライス領域１５を、各スライス領域（Ｓ１１〜Ｓ１５、Ｓ２１〜Ｓ２６、Ｓ３１〜Ｓ３５、Ｓ４１〜Ｓ４５）毎に記録した管理情報を格納する管理情報格納部１８とを備えている。
【００９５】
各アクセスモジュールは、論理ボリューム名、論理ボリューム各位置のデータが格納されているモジュールおよびスライス領域、そのスライス領域とセグメントを構成しているスライス領域、および各モジュールにおける未使用のスライス領域などの情報からなるテーブルを備えている。したがって、スライス領域に格納されたデータの追加、変更、削除要求や、未使用のスライス領域１５へのデータの格納要求などがあったときに、それらの要求に対応するモジュールを検索して、アクセス要求を直接対応するモジュールに取り次ぐことができる。この場合、アクセスモジュールは、ストレージシステムに格納された全ての情報からなるテーブルを持つようにしてもよいし、一部の情報を保持しておき、外部からの要求を満たす情報が保持されていない場合に、不要な情報を消去し、保持していない情報を各モジュールに照会し、テーブルとして保持する情報を書き換えることにより、新たなテーブルを構築することにしてもよい。
【００９６】
このように、テーブルを有するアクセスモジュールを備え、アクセスモジュールが外部からのアクセス要求を受け、テーブルを参照することによりアクセスモジュールが所定のモジュールに直接アクセスするので、外部から個別にアクセスする場合に較べてアクセス時間を短縮することができる。また、２つのアクセスモジュールは、ここではそれぞれが独立に運用されているが、たとえばデュープレックス構成にすることにより安全性を高めることができる。
【００９７】
（第１の実施の形態）
本発明の第１の実施の形態は、第１の参考例に較べて、ストレージシステムが、モジュールそれぞれの状態を管理する状態管理モジュールと、各モジュールに分散して格納されたデータの論理ボリューム毎の情報を再構築するボリューム情報モジュールとを備え、ストレージシステムの動作がボリューム情報モジュール主導で行われる点が相違する。しかし、それ以外の点は共通するので、相違点を中心に以下に説明する。
【００９８】
図３０は、第１の実施の形態のストレージシステムを含む情報処理システムの一構成例を示す図である。
【００９９】
図３０において、ストレージシステム１は、ストレージデバイスを有するＰＣからなる４つのモジュールＧ３１、モジュールＨ３２、モジュールＩ３３、モジュールＪ３４を備えており、４つのモジュールそれぞれは、通信回線４を介してネットワーク２に接続されている。また、各モジュールそれぞれの状態を管理するとともに、各モジュールに分散して格納されたデータの論理ボリューム毎の情報を再構築し、その情報に基づいて各モジュールに指令を発出する、ＰＣからなる２つの管理制御モジュール６１、６２を備え、２つの管理制御モジュール６１、６２は、それぞれネットワーク２に接続されている。
【０１００】
２つの管理制御モジュール６１、６２は、本発明の状態管理モジュールと、ボリューム情報モジュールとの双方の機能を有し、２つの管理制御モジュール６１、６２のうちの一方が他方の動作をチェックし、一方にトラブルが発生しても他方により処理を継続するデュアル方式を構成してもよく、同時に稼動させて、一方を主、他方を緊急時のバックアップとするデュープレックス方式を構成してもよい。管理制御モジュールがそのような構成をとることにより、ストレージシステムの管理制御機能の安全性を高めることができる。
【０１０１】
ここで、本実施形態では、状態管理モジュールおよびボリューム情報モジュール双方の機能を管理制御モジュールとして一体化しているが、必ずしもそのような構成をとる必要はなく、それぞれ独立のモジュールとして構成することもできる。
【０１０２】
以下では、説明の便宜上、状態管理モジュールＮとボリューム情報モジュールＭとを独立のモジュールとして構成された機能ブロックに基づいて説明する。
【０１０３】
図３１は、第１の実施の形態のストレージシステムを示す機能ブロック図である。
【０１０４】
図３１に示すストレージシステムは、モジュールＧ３１、モジュールＨ３２、モジュールＩ３３、モジュールＪ３４を有し、それぞれのモジュール３１〜３４は、ＰＣが有する通信機能部２５〜２８により、ＰＣに接続されたネットワーク２を介して、外部のコンピュータとデータの送受を行うことができる。また、ＰＣ相互間も１対１の通信回線４で結ばれており、ＰＣが有する通信機能部２５〜２８により、モジュール３１〜３４相互間も通信を行うこともできる。なお、ここでは、ＰＣ相互間を１対１の通信回線４で結んでいるが、必ずしも１対１の通信回線４で結ぶ必要はなく、モジュール相互間で通信ができれば、任意のトポロジを用いることができる。
【０１０５】
モジュールＧ３１、モジュールＨ３２、モジュールＩ３３、モジュールＪ３４それぞれのストレージデバイスには、格納要求があったデータを格納する複数のスライス領域１５からなるデータ格納部８と、格納されたデータが属する論理ボリューム名Ｌn、論理ボリューム上のデータの配置位置n、および同じセグメントに属する別のモジュールのスライス領域１５を、各スライス領域（Ｓ１１〜Ｓ１５、Ｓ２１〜Ｓ２６、Ｓ３１〜Ｓ３５、Ｓ４１〜Ｓ４５）毎に記録した管理情報を格納する管理情報格納部１８とを備えているが、ここではデータ格納部８の表示を省略してある。
【０１０６】
また、本実施形態のストレージシステムは、各モジュールの状態を監視し、強制的に処理を中止させるなどの機能を有する状態管理モジュールＮ６３と、各モジュールから管理情報を収集し、モジュールの状態を把握したり、論理ボリューム毎の情報を一元的に把握するボリューム情報モジュールＭ６４とを備えている。
【０１０７】
状態管理モジュールＮ６３およびボリューム情報モジュールＭ６４は、それぞれ通信機能部２９を有し、それぞれがネットワーク２に接続され、そのネットワーク２を介して各モジュール３１〜３４と通信することができるように構成されている。また、状態管理モジュールＮ６３およびボリューム情報モジュールＭ６４は、相互間においても通信が可能である。したがって、ボリューム情報モジュールＭ６４が状態管理モジュールＮ６３に、例えば特定のモジュールの処理を終了させるように依頼したり、状態管理モジュールＮ６３から受信した各モジュールの情報に応じて、ストレージシステム全体の動作を終了させることもできる。
【０１０８】
次に、状態管理モジュールＮ６３とボリューム情報モジュールＭ６４それぞれの機能の詳細と、それぞれの作用について説明する。
【０１０９】
図３２および図３３は、本実施形態の状態管理モジュールＮの機能と処理手順の一例を示す図である。
【０１１０】
図３２において、ストレージシステムは、モジュールＧ１１、モジュールＨ１２、モジュールＩ１３と、状態管理モジュールＮとを備えている。
【０１１１】
ここで、状態管理モジュールＮは、各モジュールとは独立に設置されているが、いずれかのモジュールのＰＣに、その機能を分担させることにしてもよい。
【０１１２】
各モジュールは、それぞれのストレージデバイスに、各モジュールの状態情報（例えば、一定間隔でパルス信号からなるハートビートを送出し、そのハートビートが受信されるときは正常状態をあらわし、受信されないときは異常状態をあらわすもの。）を、通信機能部を介して他のモジュール、および状態管理モジュールに送信するハートビート送出部２１ａ、２２ａ，２３ａ，２４ａを有している。このハートビート送出部２１ａ、２２ａ，２３ａ，２４ａは、モジュールを起動させたときにモジュール内に問題がなければ正常な状態であることを知らせ、モジュール起動時および通常運用時に異常状態が発生したら異常を知らせることができる。したがって、何れかのハートビート送出部から通知を受けた他のモジュールは、格納されたデータや情報の早期復旧を図ることができる。
【０１１３】
状態管理モジュールＮ６３は、各モジュール３１〜３４のハートビート送出部２１ａ、２２ａ，２３ａ，２４ａから送られた状態情報を受信するハートビート受信部６３ａと、受信した状態情報を管理するモジュール状態管理表とを備えている。モジュール状態管理表６３ｂには、各モジュールが正常であるか、異常であるかをそれぞれ、たとえば○印と×印とにより表示するようになっている。
【０１１４】
モジュールＧ３１、モジュールＨ３２、モジュールＩ３３は、それぞれの状態情報を状態管理モジュールＮ６３に送信する。状態管理モジュールＮ６３は、それぞれのモジュールから送られた状態情報を受信し、モジュール状態管理表６３ｂに表示する。
【０１１５】
ここで、モジュール状態管理表６３ｂに表示する情報は、消失しても、再び各モジュールから取得することができるので、必ずしもＰＣの２次ストレージデバイスに設定する必要はなく、１次ストレージデバイスに設定してもよい。
【０１１６】
次に、図３３に示すように、例えばモジュールＩ３３が、自己のモジュール内に異常状態を検出し、状態管理モジュールＮ６３にその異常状態を通知すると、状態管理モジュールＮ６３は、モジュールＩ３３に関するモジュール状態管理表６３ｂの表示を×印に変更する。
【０１１７】
図３４は、本実施形態の状態管理モジュールＮの機能と処理手順の他の例を示す図である。
【０１１８】
図３４に示すように、各モジュールは一定の時間間隔で状態情報（ハートビート）を送出するように構成されている。また、状態管理モジュールＮは、送られてきた状態情報の時刻を記録する時刻監視部６３ｃを備え、モジュール状態管理表６３ｂに最新の状態情報を受信した時刻が表示される。
【０１１９】
モジュールＩから一定時間、状態情報が送信されないので、状態管理モジュールＮ６３は、時刻監視部６３ｃによりモジュールＩ３３の状態を○印から？印に変更する。この？印は、状態情報が送られてこないため、異常が発生していると推定されることを表す。
【０１２０】
図３５は、図３４に示した本実施形態の状態管理モジュールＮが、異常の発生したモジュールの動作を強制終了させる機能を有する場合を示す図である。
【０１２１】
図３５に示すように、状態管理モジュールＮ６３は、該当するモジュールに強制終了命令を送出する強制終了命令送出部６３ｄを有し、各モジュール３１〜３４は、強制終了命令送出部６３ｄから送られてきた強制終了命令を受信し、実行中の処理を終了させる機能を備えた強制終了命令受信部２１ｂ，２２ｂ，２３ｂ，２４ｂを有する。
【０１２２】
ここで、状態管理モジュールＮ６３についても強制終了命令受信部を具備させることにしてもよい。
【０１２３】
このように、状態管理モジュールＮ６３に強制終了命令送出機能を持たせることにより、各モジュールの異常を認識したときには速やかにそのモジュールにおける処理を終了させ、ストレージシステムから一時的に排除することにより、正常なモジュールにより処理を継続させることができる。
【０１２４】
図３６は、図３５に示した本実施形態の状態管理モジュールＮが、各モジュールに状態情報を送信する機能を有する場合を示す図である。
【０１２５】
図３６に示すように、状態管理モジュールＮ６３は、状態管理モジュールＮ６３が把握している状態情報を各モジュール３１〜３４に送信するモジュール状態送信部６３ｅを有し、各モジュール３１〜３４は、モジュール状態送信部６３ｅから送信された状態情報を受信するモジュール状態受信部２１ｃ、２２ｃ、２３ｃ、２４ｃを有する。
【０１２６】
ここで、モジュール状態送信部６３ｅは、異常が発生したと認められるモジュールにのみ状態情報を送信することにしてもよいし、正常なものも含めて、すべてのモジュールに対して状態情報を送信することにしてもよい。その場合、各モジュールは該当する状態情報のみを受信する。
【０１２７】
各モジュール３１〜３４は、モジュール状態送信部６３ｅから送信された状態情報と、自身が保持する状態情報とを対比した結果、矛盾が生じているか、あるいは自身の処理を終了させたほうがよいと判断した場合には、処理を終了させる。
【０１２８】
このように、自身が保持する状態情報と、状態管理モジュールＮが保持する状態情報とを対比し、状態管理モジュールＮが管理する情報を優先させるようにすれば、矛盾のない情報に基づいてストレージシステム全体を安定的に運用することができる。
【０１２９】
図３７は、本実施形態のボリューム情報モジュールＭの一構成例を示す図である。
【０１３０】
図３７において、ストレージシステムは、モジュールＧ３１、モジュールＨ３２、モジュールＩ３３、モジュールＪ３４と、ボリューム情報モジュールＭ６４とを備え、それらのモジュール３１〜３４、６４は、それぞれ通信機能部２５〜２９を有する。
【０１３１】
ボリューム情報モジュールＭ６４は、ネットワーク２に対する通信路を有するとともに、モジュールＧ３１、モジュールＨ３２、モジュールＩ３３、モジュールＪ３４それぞれに対して通信路を有する。また、モジュールＧ３１、モジュールＨ３２、モジュールＩ３３、モジュールＪ３４は、相互に通信回線４で接続されている。
【０１３２】
モジュール３１〜３４それぞれは、ストレージデバイス２１〜２４に複数のスライス領域１５からなるデータ格納部８と、管理情報格納部１８とを備え、管理情報格納部１８に格納された管理情報をボリューム情報モジュールＭ６４に送信する機能を有するが、便宜上データ格納部８の表示は省略されている。
【０１３３】
ボリューム情報モジュールＭ６４は、通信機能部２９を介してモジュール３１〜３４それぞれから、管理情報格納部１８に格納された管理情報を収集する管理情報収集部６４ａと、収集した管理情報から、モジュールの状態を示すモジュール情報を構築するモジュール情報部６４ｂ、および論理ボリュームの各位置が格納されたスライス領域１５を示す論理ボリューム毎の情報を再構築する論理ボリューム部６４ｃを備えている。
【０１３４】
ここで、ボリューム情報モジュールＭ６４が再構築したモジュール情報と論理ボリューム情報は、各モジュール３１〜３４の管理情報に基づいて構築されたものであり、消失しても再構築が可能であることから、メインストレージデバイスに保持すればよく、必ずしも２次ストレージデバイスに保存する必要はない。
【０１３５】
図３８は、モジュール情報部におけるモジュール情報のデータ構造を示す図である。
【０１３６】
図３８に示すようにモジュール情報は、モジュールの状態を管理する第１のファイル１１０と未使用のスライス領域を管理する第２のファイル１２０とを有し、第１のファイルおよび第２のファイルはともに、各モジュールの管理情報ファイル１３０とリンクされている。管理情報ファイル１３０は、次の管理情報へのポインタ１３１と、スライス領域ごとの情報１３３とを持つ。第１のファイル１１０は、次の管理情報へのポインタ１１１と、モジュール名１１２と、モジュール状態１１３と、モジュールが有する管理情報のスライス領域へのポインタ１１４と、未使用のスライス領域へのポインタ１１５とを持ち、ボリューム情報モジュールＭ６４と通信可能なモジュール数分のエントリ１００を有する。また、第２のファイル１２０は、次の管理情報へのポインタ１２１と、次の未使用のスライス領域へのポインタ１２２と、スライス領域ごとの情報１２３とを持つ。
【０１３７】
図３９は、論理ボリューム部における論理ボリューム情報のデータ構造を示す図である。
【０１３８】
図３９に示すように論理ボリューム情報は、論理ボリューム名ごとの論理ボリューム（セグメント数）を管理する第３のファイル２１０と、セグメントを構成するスライス領域の番号を管理する第４のファイル２２０とを有する。
【０１３９】
第３のファイル２１０は、次の論理ボリュームへのポインタ２１１と、論理ボリューム名２１２と、セグメント数２１３と、セグメントへのポインタ２１４と、検索を容易にするためのツリーへのポインタ２１５とを持ち、ボリューム情報モジュールＭ６４と通信可能なモジュール数分のエントリ２００を有する。第４のファイル２２０は、次のセグメントへのポインタ２２１と、セグメント通番２２２と、セグメントを構成する２つのスライス領域２２３、２２４とを持つ。そして、ツリーは、第４のファイル２２０のセグメントのスライス領域２２３、２２４へのポインタを持っている。
【０１４０】
図４０および図４１は、ボリューム情報モジュールＭ６４が有する管理情報更新機能の一例を示す図である。
【０１４１】
図４０に示すように、ボリューム情報モジュールＭ６４は、各モジュールに対して管理情報の更新要求を送出する更新要求部６４ｄを備えている。
【０１４２】
更新要求部６４ｄは、通信機能部２９を介して、各モジュール３１〜３４に管理情報の更新要求を送出することができる。
【０１４３】
図４１は、図４０に示したボリューム情報モジュールＭ６４が有する機能に加えて、各モジュールに対して管理情報の更新完了情報の送信を要求する更新完了要求部６４ｅと、管理情報の更新中止を要求する更新中止要求部６４ｆとを備えている。
【０１４４】
ボリューム情報モジュールＭ６４のこのような機能は、複数のモジュールの管理情報の更新を同時に行おうとしたときに、対象モジュールから異常が検出された場合や、ボリューム情報モジュールＭ６４が、管理情報を更新中に、更新を中止しなければならない事態に陥ったときに有効である。
【０１４５】
図４２は、ボリューム情報モジュールＭ６４が有する、モジュールに格納されたデータの複写要求機能の一例を示す図である。
【０１４６】
図４２に示すように、ボリューム情報モジュールＭ６４は、図４０および図４１に示した更新要求部６４ｄ、更新完了要求部６４ｅ、および更新中止要求部６４ｆの加えて、モジュールのスライス領域に格納されたデータを、他のモジュールのスライス領域に複写するよう命ずる複写要求部６４ｇと、その複写を中止させる複写中止要求部６４ｈとを備えている。
【０１４７】
図４３は、ボリューム情報モジュールＭ６４が有する、各モジュールにおける処理を強制終了させる機能の一例を示す図である。
【０１４８】
図４３に示すように、ボリューム情報モジュールＭ６４は、図４２に示した各種の機能に加えて、特定のモジュール、または全モジュールにおける処理を強制的に終了させる強制終了命令部６４ｉを備えている。したがって、異常が検地されたモジュールにおける処理を強制終了させたり、あるいは複数のモジュールで異常が検知された場合などにストレージシステム全体の動作を停止させることができる。
【０１４９】
次に、ボリューム情報モジュールＭ６４によって行われる各種処理手順について説明する。
【０１５０】
図４４〜図４６は、ボリューム情報モジュールＭ６４がデータの格納要求を受けた場合の処理手順の一例を示す図である。
【０１５１】
図４４〜図４６において、ストレージシステムは、モジュールＧ３１、モジュールＨ３２、モジュールＩ３３、モジュールＪ３４と、ボリューム情報モジュールＭ６４とを備え、それらのモジュール３１〜３４、６４は、それぞれ通信機能部２５〜２９を有する。
【０１５２】
図４４に示すように、本実施形態のストレージシステムでは、ボリューム情報モジュールＭ６４が、外部からセグメント数が４の論理ボリュームからなるデータの割り当て要求を受ける。
【０１５３】
図４５に示すように、割り当て要求を受けたボリューム情報モジュールＭ６４は、異なるモジュールに属するスライス領域相互がセグメントを構成するように未使用のスライス領域を候補として割り当て、その割り当てたスライス領域の属するモジュールに、管理情報の更新要求を送る。
【０１５４】
図４６に示すように、各モジュール３１〜３４は、ボリューム情報モジュールＭ６４によって割り当てられたスライス領域１５にデータを割り付けるとともに、管理情報の更新要求に基づいて、管理情報格納部１８に格納された管理情報を更新する。その結果、モジュールＧ３１のスライス領域の番号Ｓ１２とＳ１３、モジュールＨ３２のスライス領域の番号Ｓ２５、モジュールＩ３３のスライス領域の番号Ｓ３１とＳ３４に、モジュールＪ３４のスライス領域の番号Ｓ４１、Ｓ４３、Ｓ４４、Ｓ４５に論理ボリュームＬ３が割り付けられる。また、論理ボリュームＬ３は、（Ｓ１２、Ｓ３１）、（Ｓ２５、Ｓ４１）、（Ｓ１３、Ｓ４４）、（Ｓ３４、Ｓ４５）というセグメントが構成される。
【０１５５】
このように、ボリューム情報モジュールＭ６４が、要求された論理ボリュームの割付を行うので、ボリューム情報モジュールＭ６４のプログラムを変更すれば割付ルールを比較的容易に変更できる。
【０１５６】
図４７〜図４９は、ボリューム情報モジュールＭ６４が論理ボリュームの解放要求を受けた場合の処理手順の一例を示す図である。
【０１５７】
図４７〜図４９において、ストレージシステムは、モジュールＧ３１、モジュールＨ３２、モジュールＩ３３、モジュールＪ３４と、ボリューム情報モジュールＭ６４とを備え、それらのモジュール３１〜３４、６４は、それぞれ通信機能部２５〜２９を有する。
【０１５８】
図４７において、ボリューム情報モジュールＭ６４が外部から論理ボリュームＬ３（セグメント数１）の解放要求を受ける。
【０１５９】
図４８に示すように、ボリューム情報モジュールＭ６４は、論理ボリューム部６４ｃが有する論理ボリューム情報に基づいて、論理ボリュームＬ３に属するスライス領域の番号を検索する。検索の結果、モジュールＧ３１のスライス領域の番号Ｓ１２と、モジュールＩ３３のスライス領域の番号Ｓ３１がＬ３に属しているので、モジュールＧ３１とモジュールＩ３３に対して管理情報の更新要求を送信する。
【０１６０】
図４９に示すように、管理情報の更新要求を受けたモジュールＧ３１とモジュールＩ３３は、番号Ｓ１２とＳ３１それぞれのデータを消去するとともに、管理情報を更新する。
【０１６１】
このように、ボリューム情報モジュールＭ６４の論理ボリューム部６４ｃが論理ボリューム情報を持っているので、必要なモジュールに対してのみ更新要求を送信すればよい。
【０１６２】
図５０〜図５３は、所定のモジュールが故障した場合の処理手順の一例を示す図である。
【０１６３】
図５０〜図５３において、ストレージシステムは、モジュールＧ３１、モジュールＨ３２、モジュールＩ３３、モジュールＪ３４と、ボリューム情報モジュールＭ６４とを備え、それらのモジュール３１〜３４、６４は、それぞれ通信機能部２５〜２９を有する。
【０１６４】
図５０において、モジュールＩ３３が故障し、ボリューム情報モジュールＭ６４がそれを認識したものとする。
【０１６５】
図５１において、ボリューム情報モジュールＭ６４は、モジュールＩ３３の管理情報から、スライス領域Ｓ３２、Ｓ３３にデータが格納されていることがわかるので、故障により失われた２つのスライス領域を他のモジュールから確保する。そのとき、ボリューム情報モジュールＭ６４は、異なるモジュールに属するスライス領域相互でセグメントが構成されるように、未使用のスライス領域から選別する。ここでは、スライス領域Ｓ３２の代わりにスライス領域Ｓ１２を、スライス領域Ｓ３３の代わりにスライス領域Ｓ４１をそれぞれ選んだ。そこで、ボリューム情報モジュールＭ６４は、モジュールＧ３１に対してスライス領域Ｓ１２の確保を、モジュールＪ３４に対して番号Ｓ４１の確保を要求する。
【０１６６】
図５２において、スライス領域Ｓ１２と、スライス領域Ｓ４１が確保されると、ボリューム情報モジュールＭ６４は、スライス領域Ｓ３２とセグメントを構成するスライス領域Ｓ２３に対し、スライス領域Ｓ２３に格納されたデータをスライス領域Ｓ１２に複写し、スライス領域Ｓ３３とセグメントを構成するスライス領域Ｓ１４に対して、スライス領域Ｓ１４に格納されたデータをスライス領域Ｓ４１に複写する命令を出す。
【０１６７】
図５３に示すように、データの複写が完了したら、ボリューム情報モジュールＭ６４は、モジュールＧ３１とモジュールＪ３４に管理情報の更新要求を行う。
【０１６８】
このように、ボリューム情報を一元的に保持するボリューム情報モジュールＭ６４が、故障したモジュールのデータの復元処理を一元的に行うことにより、データの冗長性を迅速に回復することが可能となる。
【０１６９】
図５４〜図５６は、所定のモジュールの引抜を行う場合の処理手順の一例を示す図である。
【０１７０】
図５４〜図５６において、ストレージシステムは、モジュールＧ３１、モジュールＨ３２、モジュールＩ３３、モジュールＪ３４と、ボリューム情報モジュールＭ６４とを備え、それらのモジュール３１〜３４、６４は、それぞれ通信機能部２５〜２９を有する。
【０１７１】
図５４において、ボリューム情報モジュールＭ６４は、外部からモジュールＩ３３の引き抜き要求を受ける。ここでは、スライス領域Ｓ１２とスライス領域Ｓ４１とを確保するためモジュールＧ３１とモジュールＪ３４に対して確保要求を行う。
【０１７２】
図５５に示すように、モジュールＩ３３に格納されたデータの退避先のスライス領域が確保できたら、ボリューム情報モジュールＭ６４は、モジュールＩ３３のスライス領域Ｓ３３に格納されたデータをモジュールＪ３４のＳ４１に複写し、モジュールＨ３２のスライス領域Ｓ２３に格納されたデータをモジュールＧ３１のスライス領域Ｓ１２に複写するよう命令する。
【０１７３】
ここで、モジュールＨ３２のＳ２３に格納されたデータをモジュールＧ３１のスライス領域Ｓ１２に複写するのは、ボリューム情報モジュールＭ６４は、セグメントを構成するスライス領域の番号情報を持っており、スライス領域Ｓ３２とスライス領域Ｓ２３がセグメントを構成し、同一データが格納されている事実を知っているからである。このような手順をとることにより、引き抜きデータ退避の負荷の偏りを少なくすることができる。
【０１７４】
図５６に示すように、データの複写が完了したら、ボリューム情報モジュールＭ６４は、管理情報の更新要求を行い、関係する管理情報を確定した後、モジュールＩ３３を引き抜く。
【０１７５】
図５７〜図６０は、モジュールの交換を行う場合の処理手順の一例を示す図である。
【０１７６】
図５７〜図６０に示す処理手順は、モジュールＩの引抜を行った後、モジュールＫを追加し、モジュールＪとモジュールＫとを交換する場合の処理手順の一例を示す図である。
【０１７７】
図５７〜図６０において、ストレージシステムは、モジュールＧ３１、モジュールＨ３２、モジュールＩ３３、モジュールＪ３４と、ボリューム情報モジュールＭ６４とを備え、それらのモジュール３１〜３４、６４は、それぞれ通信機能部２５〜２９を有する。
【０１７８】
図５７に示すように、ボリューム情報モジュールＭ６４は、モジュールＪ３４とモジュールＫ３５との交換要求を受けると、図５８に示すように、ボリューム情報モジュールＭ６４は、モジュールＫ３５にスライス領域の確保要求を行う。ここでは、モジュールＪ３４にデータが格納された３つのスライス領域が確保できればよい。３つのスライス領域が確保できたことが確認されたら、図５９に示すように、ボリューム情報モジュールＭ６４は、モジュールＪ３４に対して格納されたデータの複写要求を出す。
【０１７９】
ここでは、ストレージシステム全体の負荷の軽減を図るため、セグメントを構成するモジュールからも分担して複写を行う。
【０１８０】
図６０に示すように、データの複写が完了したら、ボリューム情報モジュールＭ６４は、モジュールＧ３１、モジュールＨ３２、モジュールＫ３５それぞれの管理情報の更新要求を出し、更新が完了したら、モジュールＪ３４を引き抜き、交換を終了する。
【０１８１】
（第２の実施の形態）
第２の実施の形態は、第１の実施の形態に較べて、ストレージシステムが、各モジュールに分散して格納されたデータのボリューム情報を再構築するボリューム情報モジュールと、第２の参考例の図２９の説明で述べたアクセスモジュールとを備える点が相違する。しかし、それ以外の点は共通するため、これらの相違点について以下に説明する。
【０１８２】
図６１は、第２の実施の形態のストレージシステムを含む情報処理システムの一構成例を示す図である。
【０１８３】
図６１において、ストレージシステム１は、ストレージデバイス２１〜２４を有するＰＣからなる４つのモジュールＧ３１、モジュールＨ３２、モジュールＩ３３、モジュールＪ３４と、ストレージシステム１へのアクセス要求を受けたときに、対応するスライス領域に直接アクセスするＰＣからなる２つのアクセスモジュールＡ４１、Ｂ４２とを備えており、４つのモジュール３１〜３４それぞれは、２つのアクセスモジュールＡ４１、Ｂ４２それぞれを介してネットワーク２に接続されている。また、各モジュール３１〜３４に分散して格納されたデータの論理ボリューム情報を再構築し、その情報に基づいて各モジュールに指令を発出するＰＣからなるボリューム情報モジュールＭ６４を備え、ボリューム情報モジュールＭ６４は、それぞれネットワーク２に接続されている。２つのアクセスモジュールＡ４１、Ｂ４２それぞれは、外部のコンピュータ３からのアクセスを受け、関係のモジュール３１〜３４に直接アクセスすることができるほか、ネットワーク２を介してボリューム情報モジュールＭ６４の論理ボリューム情報部６４ｃにアクセスすることにより、論理ボリューム情報を参照することができる。
【０１８４】
図６２は、第２の実施の形態のストレージシステムを示す機能ブロック図である。
【０１８５】
本実施形態のストレージシステムは、状態管理モジュールを有しない点、２つのアクセスモジュールを備える点を除外すれば、第１の実施の形態で説明したものと同じである。また、アクセスモジュールは、第２の参考例で説明したものと同じである。したがって、同一の構成要素には同一の符号を付し、重複する説明は省略する。
【０１８６】
図６２に示すストレージシステムは、モジュールＧ３１、モジュールＨ３２、モジュールＩ３３、モジュールＪ３４と、２つのアクセスモジュールＡ４１、Ｂ４２と、各モジュールから管理情報を収集し、モジュール情報や論理ボリューム情報を一元的に把握するボリューム情報モジュールＭ６４とを備えている。
【０１８７】
２つのアクセスモジュールＡ４１、Ｂ４２それぞれは、外部のコンピュータ３からのアクセス要求を受け、ネットワークを介してボリューム情報モジュールＭ６４から、モジュール情報や論理ボリューム情報を参照し、そのアクセス要求を対応するモジュールに直接取り次ぐことができる。したがって、アクセスモジュールは、個別のモジュールにアクセスして情報を収集する必要がない上、一部の情報を保持していれば足りるので、個別のモジュールにアクセスする通信回線の負荷を軽減することができる。また、本実施形態では、２つのアクセスモジュールＡ４１、Ｂ４２がデュープレックス構成をとっているので、外部からアクセスモジュールＡ４１、Ｂ４２にアクセスする際の負荷の偏りが生じてもその負荷の偏りを吸収したり、外部からのアクセスする際の安全性を高めることができる。
【産業上の利用可能性】
【０１８８】
以上のように、本発明のストレージシステムは、信頼性が要求される情報処理システムのストレージデバイスとして有用であり、特に、容量が異なるストレージデバイスを有するＰＣやサーバを組み合わせた場合であっても、それぞれのストレージデバイスの使用効率を高めることができるので、ストレージデバイスの増設や取替えの可能性が高い情報処理システムに用いるのに適している。
【図面の簡単な説明】
【０１８９】
【図１】第１の参考例のストレージシステムを含む情報処理システムの一構成例を示す図である。
【図２】本参考例のストレージシステムにおける４つのストレージデバイスにデータを格納する基本概念を説明する図である。
【図３】第１の参考例のストレージシステムを示す機能ブロック図である。
【図４】ストレージシステムにおいて、スライス領域に格納されたデータの複写を行なう場合の処理手順の一例を示す図である。
【図５】ストレージシステムに外部からデータの格納要求があった場合の処理手順の一例を示す図である。
【図６】ストレージシステムに外部からデータの格納要求があった場合の処理手順の一例を示す図である。
【図７】ストレージシステムに外部からデータの格納要求があった場合の処理手順の一例を示す図である。
【図８】ストレージシステムに外部からデータの格納要求があった場合の処理手順の一例を示す図である。
【図９】ストレージシステムに外部からデータの格納要求があった場合の処理手順の一例を示す図である。
【図１０】ストレージシステムに外部からデータの格納要求があった場合の処理手順の一例を示す図である。
【図１１】ストレージシステムが稼動中に解放要求があった場合の作用を示す図である。
【図１２】ストレージシステムが稼動中に解放要求があった場合の作用を示す図である。
【図１３】ストレージシステムが稼動中に解放要求があった場合の作用を示す図である。
【図１４】ストレージシステムの何れかのモジュールが故障した場合の処理手順の一例を示す図である。
【図１５】ストレージシステムの何れかのモジュールが故障した場合の処理手順の一例を示す図である。
【図１６】ストレージシステムの何れかのモジュールが故障した場合の処理手順の一例を示す図である。
【図１７】ストレージシステムの何れかのモジュールを引抜く場合の処理手順の一例を示す図である。
【図１８】ストレージシステムの何れかのモジュールを引抜く場合の処理手順の一例を示す図である。
【図１９】ストレージシステムの何れかのモジュールを引抜く場合の処理手順の一例を示す図である。
【図２０】ストレージシステムの何れかのモジュールを新たなモジュールと交換する場合の処理手順の一例を示す図である。
【図２１】ストレージシステムの何れかのモジュールを新たなモジュールと交換する場合の処理手順の一例を示す図である。
【図２２】ストレージシステムの何れかのモジュールを新たなモジュールと交換する場合の処理手順の一例を示す図である。
【図２３】モジュールに格納されたデータ、および管理情報を更新する場合の処理手順の一例を示す図である。
【図２４】モジュールに格納されたデータ、および管理情報を更新する場合の処理手順の一例を示す図である。
【図２５】モジュールに格納されたデータ、および管理情報を更新する場合の処理手順の一例を示す図である。
【図２６】モジュールＡ１１を代表例として示す図である。
【図２７】モジュールＡ１１を代表例として示す図である。
【図２８】第２の参考例のストレージシステムを含む情報処理システムの一構成例を示す図である。
【図２９】第２の参考例のストレージシステムを示す機能ブロック図である。
【図３０】第１の実施の形態のストレージシステムを含む情報処理システムの一構成例を示す図である。
【図３１】第１の実施の形態のストレージシステムを示す機能ブロック図である。
【図３２】本実施形態の状態管理モジュールＮの機能と処理手順の一例を示す図である。
【図３３】本実施形態の状態管理モジュールＮの機能と処理手順の一例を示す図である。
【図３４】本実施形態の状態管理モジュールＮの機能と処理手順の他の例を示す図である。
【図３５】図３４に示した本実施形態の状態管理モジュールＮが、異常の発生したモジュールの動作を強制終了させる機能を有する場合を示す図である。
【図３６】図３５に示した本実施形態の状態管理モジュールＮが、各モジュールに状態情報を送信する機能を有する場合を示す図である。
【図３７】本実施形態のボリューム情報モジュールＭの一構成例を示す図である。
【図３８】モジュール情報部におけるモジュール情報のデータ構造を示す図である。
【図３９】論理ボリューム部における論理ボリューム情報のデータ構造を示す図である。
【図４０】ボリューム情報モジュールＭが有する管理情報更新機能の一例を示す図である。
【図４１】ボリューム情報モジュールＭが有する管理情報更新機能の一例を示す図である。
【図４２】ボリューム情報モジュールＭが有する、モジュールに格納されたデータの複写要求機能の一例を示す図である。
【図４３】ボリューム情報モジュールＭが有する、各モジュールにおける処理を強制終了させる機能の一例を示す図である。
【図４４】ボリューム情報モジュールＭがデータの格納要求を受けた場合の処理手順の一例を示す図である。
【図４５】ボリューム情報モジュールＭがデータの格納要求を受けた場合の処理手順の一例を示す図である。
【図４６】ボリューム情報モジュールＭがデータの格納要求を受けた場合の処理手順の一例を示す図である。
【図４７】ボリューム情報モジュールＭが論理ボリュームの解放要求を受けた場合の処理手順の一例を示す図である。
【図４８】ボリューム情報モジュールＭが論理ボリュームの解放要求を受けた場合の処理手順の一例を示す図である。
【図４９】ボリューム情報モジュールＭが論理ボリュームの解放要求を受けた場合の処理手順の一例を示す図である。
【図５０】所定のモジュールが故障した場合の処理手順の一例を示す図である。
【図５１】所定のモジュールが故障した場合の処理手順の一例を示す図である。
【図５２】所定のモジュールが故障した場合の処理手順の一例を示す図である。
【図５３】所定のモジュールが故障した場合の処理手順の一例を示す図である。
【図５４】所定のモジュールの引抜を行う場合の処理手順の一例を示す図である。
【図５５】所定のモジュールの引抜を行う場合の処理手順の一例を示す図である。
【図５６】所定のモジュールの引抜を行う場合の処理手順の一例を示す図である。
【図５７】モジュールの交換を行う場合の処理手順の一例を示す図である。
【図５８】モジュールの交換を行う場合の処理手順の一例を示す図である。
【図５９】モジュールの交換を行う場合の処理手順の一例を示す図である。
【図６０】モジュールの交換を行う場合の処理手順の一例を示す図である。
【図６１】第２の実施の形態のストレージシステムを含む情報処理システムの一構成例を示す図である。
【図６２】第２の実施の形態のストレージシステムを示す機能ブロック図である。
【図１】
0004711688.tif 000002
【図２】
0004711688.tif 000003
【図３】
0004711688.tif 000004
【図４】
0004711688.tif 000005
【図５】
0004711688.tif 000006
【図６】
0004711688.tif 000007
【図７】
0004711688.tif 000008
【図８】
0004711688.tif 000009
【図９】
0004711688.tif 000010
【図１０】
0004711688.tif 000011
【図１１】
0004711688.tif 000012
【図１２】
0004711688.tif 000013
【図１３】
0004711688.tif 000014
【図１４】
0004711688.tif 000015
【図１５】
0004711688.tif 000016
【図１６】
0004711688.tif 000017
【図１７】
0004711688.tif 000018
【図１８】
0004711688.tif 000019
【図１９】
0004711688.tif 000020
【図２０】
0004711688.tif 000021
【図２１】
0004711688.tif 000022
【図２２】
0004711688.tif 000023
【図２３】
0004711688.tif 000024
【図２４】
0004711688.tif 000025
【図２５】
0004711688.tif 000026
【図２６】
0004711688.tif 000027
【図２７】
0004711688.tif 000028
【図２８】
0004711688.tif 000029
【図２９】
0004711688.tif 000030
【図３０】
0004711688.tif 000031
【図３１】
0004711688.tif 000032
【図３２】
0004711688.tif 000033
【図３３】
0004711688.tif 000034
【図３４】
0004711688.tif 000035
【図３５】
0004711688.tif 000036
【図３６】
0004711688.tif 000037
【図３７】
0004711688.tif 000038
【図３８】
0004711688.tif 000039
【図３９】
0004711688.tif 000040
【図４０】
0004711688.tif 000041
【図４１】
0004711688.tif 000042
【図４２】
0004711688.tif 000043
【図４３】
0004711688.tif 000044
【図４４】
0004711688.tif 000045
【図４５】
0004711688.tif 000046
【図４６】
0004711688.tif 000047
【図４７】
0004711688.tif 000048
【図４８】
0004711688.tif 000049
【図４９】
0004711688.tif 000050
【図５０】
0004711688.tif 000051
【図５１】
0004711688.tif 000052
【図５２】
0004711688.tif 000053
【図５３】
0004711688.tif 000054
【図５４】
0004711688.tif 000055
【図５５】
0004711688.tif 000056
【図５６】
0004711688.tif 000057
【図５７】
0004711688.tif 000058
【図５８】
0004711688.tif 000059
【図５９】
0004711688.tif 000060
【図６０】
0004711688.tif 000061
【図６１】
0004711688.tif 000062
【図６２】
0004711688.tif 000063