(57)【要約】【課題】複数のディスク記憶デバイスを制御する複数の制御モジュールを有するストレージシステムに関し、複数のディスクデバイスとの経路が不具合となっても、システム情報の読み出し／書き込みを実現し、且つ制御モジュールの異常時も、ログデータの出力を実現する。【解決手段】複数のディスク記憶デバイス（２−０〜２−１５）を、制御する複数の制御モジュール（４−０〜４−３）に、ログデータを格納する一対のシステムディスクデバイスユニット（４５３，４５４）を内蔵する。１の制御モジュールの異常時に、１の制御モジュールのシステムディスクユニットを抜き出し、他の制御モジュールにマウントして、他の制御モジュールで、マウントしたシステムディスクユニットのログデータを出力する。【選択図】図１２
2006268402.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する複数のディスク記憶デバイスと、
前記複数のディスク記憶デバイスに接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する複数の制御モジュールとを有し、
前記各制御モジュールは、
前記ディスク記憶デバイスに記憶されたデータの一部を格納するキャッシュ領域を有するメモリと、
前記アクセス制御を行う制御ユニットと、
前記上位とのインターフェース制御を行う第１のインターフェース部と、
前記複数のディスク記憶デバイスとのインターフェース制御を行う第２のインターフェース部と、
前記制御ユニットに接続され、前記制御ユニットの少なくともログデータを格納する一対のシステムディスクユニットとを有し、
１の制御モジュールは、前記他の制御モジュールの異常時に、前記他の制御モジュールの１のシステムディスクユニットが、前記１の制御モジュールのシステムディスクスロットに差込まれたことを検出し、前記他の制御モジュールの１のシステムディスクユニットを組み込み、前記他の制御モジュールの１のシステムディスクユニットのログデータを出力する
ことを特徴とするデータストレージシステム。
【請求項２】
前記１の制御モジュールは、前記他の制御モジュールの１のシステムディスクユニットを組み込んだ後、前記１の制御モジュールのシステムディスクユニットのログデータを、前記他の制御モジュールのシステムディスクユニットの他の制御モジュールのログデータを破壊することなく、前記組み込まれたシステムディスクユニットに、コピーする
ことを特徴とする請求項１のデータストレージシステム。
【請求項３】
前記１の制御ユニットは、前記差し込まれたシステムディスクユニットの識別子を読み込み、前記他の制御モジュールの１のシステムディスクユニットが組み込みこまれたかを判定する
ことを特徴とする請求項１のデータストレージシステム。
【請求項４】
データを記憶する複数のディスク記憶デバイスに接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する複数の制御モジュールを有し、
前記各制御モジュールは、前記ディスク記憶デバイスに記憶されたデータの一部を格納するキャッシュ領域を有するメモリと、前記アクセス制御を行う制御ユニットと、前記上位とのインターフェース制御を行う第１のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第２のインターフェース部と、前記制御ユニットに接続され、前記制御ユニットの少なくともログデータを格納する一対のシステムディスクユニットとを有するストレージ制御装置の異常時のログデータ出力方法であって、
他の制御モジュールの異常時に、前記他の制御モジュールから抜き出された１のシステムディスクユニットが、１の制御モジュールのシステムディスクスロットに差込まれたことを検出するステップと、
前記他の制御モジュールの１のシステムディスクユニットを前記１の制御モジュールに組み込むステップと、
前記組み込まれた他の制御モジュールの１のシステムディスクユニットのログデータを前記１の制御モジュールで出力するステップとを有する
ことを特徴とするストレージ制御装置の異常時のログデータ出力方法。
【請求項５】
前記他の制御モジュールの１のシステムディスクユニットを組み込んだ後、前記１の制御モジュールのシステムディスクユニットのログデータを、前記他の制御モジュールのシステムディスクユニットの他の制御モジュールのログデータを破壊することなく、前記組み込まれたシステムディスクユニットに、コピーするステップを更に有する
ことを特徴とする請求項４のストレージ制御装置の異常時のログデータ出力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータの外部記憶装置として用いられるデータストレージシステム及びデータストレージ制御装置の異常時のログデータ出力方法に関し、特に、多数のディスクデバイスの内、ユーザーが使用するディスクデバイスと装置が使用するシステムディスクデバイスとを有するデータストレージシステム及びデータストレージ制御装置の異常時の出力方法に関する。
【背景技術】
【０００２】
近年、様々なデータが電子化され、コンピュータ上で扱われるのに従い、データの処理を実行するホストコンピュータとは独立して、大量のデータを効率よく、高い信頼性で格納することのできるデータストレージ装置（外部記憶装置）の重要性が増加している。
【０００３】
このデータストレージ装置として、大量のディスクデバイス（例えば、磁気ディスクや光ディスク）と、これら大量のディスクデバイスを制御するディスクコントローラとから構成されるディスクアレイ装置が提供されている。このようなディスクアレイ装置は、ディスクのキャッシュの役割を果たすメモリを内蔵する。これにより、ホストコンピュータからリード要求及びライト要求を受信した際の、データへのアクセス時間を短縮し、高性能化を実現できる。
【０００４】
一般に、ディスクアレイ装置は、複数の主要ユニット、即ち、ホストコンピュータとの接続部分であるチャネルアダプタ，ディスクドライブとの接続部分であるディスクアダプタ，キャッシュメモリ領域を有するメモリ，キャッシュメモリの制御等を担当する制御部及び大量のディスクドライブから構成される。
【０００５】
図２０は、従来技術の説明図である。図２０に示すディスクアレイ装置１０２は、コントロールマネージャ（キャッシュメモリを含むメモリと制御部）１０が２つそなえられ、且つ各コントロールマネージャ１０には、チャネルアダプタ１１及びディスクアダプタ１３が接続される。
【０００６】
また、２つのキャッシュマネージャ１０，１０は、バス１０ｃによって、互いに通信可能に直接接続されている。チャネルアダプタ１１は、例えば、ファイバチャネルもしくはEthernet（登録商標）によって、ホストコンピュータ（図示略）に接続される。ディスクアダプタ１３は、例えば、ファイバチャネルのケーブルによってディスクエンクロージャ１２の各ディスクドライブに接続される。
【０００７】
また、ディスクエンクロージャ１２は、２つのポート（例えば、ファイバチャネルポート）を有し、これら２つのポートが、異なるディスクアダプタ１３に接続されている。これにより、冗長性を持たせ、耐故障性を高めている。（例えば、特許文献１参照）
このような大容量のデータストレージシステムでは、コントローラ（制御部、チャネルアダプタ、ディスクアダプタ等）の制御のための大量の情報（システム情報という）を必要とする。例えば、コントローラを動作するためのファームウェアや、装置構成のバックアップデータや、各タスクやスレッドのログデータ等である。
【０００８】
ファームウェアは、コントローラの制御プログラムであり、特に、ディスクアレイ（ＲＡＩＤ構成）では、多数の制御プログラムを必要とする。又、装置構成のバックアップデータは、ホスト論理アドレスから物理ディスクのアドレスに変換するためのデータであり、ディスクデバイスの数や、ホストの数に応じて、多数のデータを必要とする。ログデータは、障害復旧又は予防障害のため、各タスクやスレッド毎の状態データであり、これも大量のデータとなる。
【０００９】
このようなシステムデータは、一般に不揮発性の大容量記憶装置に格納され、従来は、図２０に示すように、ディスクアダプタ１３にケーブル接続されたディスクエンクロージャ１２の一部のディスクドライブ１２０を、このデータの格納に使用していた。このシステムデータを格納するディスクドライブを、システムディスクと言われている。
【００１０】
即ち、コントローラに接続された多数のディスクドライブの一部を、システムディスクとして、使用し、他のディスクドライブをユーザーディスクとして使用する。この従来技術は、図２０に示すように、いずれのコントローラ１０もシステムディスク１２０をアクセスできる。
【特許文献１】特開２００１−２５６００３号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、近年のストレージシステムには、冗長性の他に、いかなる部分で障害が生じても、動作を継続することが要求されている。この従来技術では、コントローラと、ディスクエンクロージャ間の経路に、例えば、ディスクアダプタとディスクエンクロージャ間の経路に、不具合が発生すると、システムディスク１２０にデータのリード／ライトが実行できない。
【００１２】
このため、コントローラや他の経路が正常であっても、コントローラは、システムディスクから、ファームウェアや装置構成のバックアップデータを読み出すことができず、他の経路を利用した動作が困難となる。又、コントローラは、システムディスクに、ログデータの読み出し、書き込みができず、障害時の解析や、予防障害の診断等に支障をきたす。
【００１３】
更に、停電発生時には、バッテリに切り替え、キャッシュメモリのデータをシステムディスクにバックアップする必要がある。従来技術では、この場合に、ディスクエンクロージャにも電力供給する必要があり、多大なバッテリ容量を必要とする。しかも、ディスクアダプタ、ケーブルを介しシステムディスクに、バックアップデータを書き込むため、比較的時間がかかり、キャッシュメモリの容量が大きい場合には、多大なバッテリ容量を要する。
【００１４】
従って、本発明の目的は、コントローラとディスクドライブ群との経路に不具合が生じても、システムディスクへのリード／ライトを実行し、且つコントローラに異常が生じても、システムディスクのログデータを出力するためのデータストレージシステム及びデータストレージ制御装置の異常時のログデータ出力方法を提供することにある。
【００１５】
又、本発明の他の目的は、停電発生時のバックアップのためのバッテリ容量を小さくして、安価な構成を実現し、且つコントローラに異常が生じても、システムディスクのログデータを出力するためのデータストレージシステム及びデータストレージ制御装置の異常時のログデータ出力方法を提供することにある。
【００１６】
更に、本発明の更に他の目的は、停電発生時に、小さいバッテリ容量で、キャッシュメモリのデータをバックアップし、且つコントローラに異常が生じても、システムディスクのログデータを出力するためのデータストレージシステム及びデータストレージ制御装置の異常時のログデータ出力方法を提供することにある。
【課題を解決するための手段】
【００１７】
この目的の達成のため、本発明のデータストレージシステムは、データを記憶する複数のディスク記憶デバイスと、前記複数のディスク記憶デバイスに接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する複数の制御モジュールとを有し、前記各制御モジュールは、前記ディスク記憶デバイスに記憶されたデータの一部を格納するキャッシュ領域を有するメモリと、前記アクセス制御を行う制御ユニットと、前記上位とのインターフェース制御を行う第１のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第２のインターフェース部と、前記制御ユニットに接続され、前記制御ユニットの少なくともログデータを格納する一対のシステムディスクユニットとを有し、１の制御モジュールは、前記他の制御モジュールの異常時に、前記他の制御モジュールの１のシステムディスクユニットが、前記１の制御モジュールのシステムディスクスロットに差込まれたことを検出し、前記他の制御モジュールの１のシステムディスクユニットを組み込み、前記他の制御モジュールの１のシステムディスクユニットのログデータを出力する。
【００１８】
又、本発明のストレージ制御装置の異常時のログデータ出力方法は、データを記憶する複数のディスク記憶デバイスに接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する複数の制御モジュールを有し、前記各制御モジュールは、前記ディスク記憶デバイスに記憶されたデータの一部を格納するキャッシュ領域を有するメモリと、前記アクセス制御を行う制御ユニットと、前記上位とのインターフェース制御を行う第１のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第２のインターフェース部と、前記制御ユニットに接続され、前記制御ユニットの少なくともログデータを格納する一対のシステムディスクユニットとを有するストレージ制御装置の異常時のログデータ出力方法である。そして、その出力方法は、他の制御モジュールの異常時に、前記他の制御モジュールから抜き出された１のシステムディスクユニットが、１の制御モジュールのシステムディスクスロットに差込まれたことを検出するステップと、前記他の制御モジュールの１のシステムディスクユニットを前記１の制御モジュールに組み込むステップと、前記組み込まれた他の制御モジュールの１のシステムディスクユニットのログデータを前記１の制御モジュールで出力するステップとを有する。
【００１９】
更に、本発明では、好ましくは、前記１の制御モジュールは、前記他の制御モジュールの１のシステムディスクユニットを組み込んだ後、前記１の制御モジュールのシステムディスクユニットのログデータを、前記他の制御モジュールのシステムディスクユニットの他の制御モジュールのログデータを破壊することなく、前記組み込まれたシステムディスクユニットに、コピーする。
【００２０】
更に、本発明では、好ましくは、前記１の制御ユニットは、前記差し込まれたシステムディスクユニットの識別子を読み込み、前記他の制御モジュールの１のシステムディスクユニットが組み込みこまれたかを判定する。
【００２１】
更に、本発明では、好ましくは、前記１の制御ユニットは、前記識別子により、前記差し込まれたシステムディスクユニットが、前記他の制御モジュールの１のシステムディスクユニットでないと判定した時は、前記１の制御モジュールのシステムディスクユニットのログデータを、前記組み込まれたシステムディスクユニットに、コピーする。
【００２２】
更に、本発明では、好ましくは、前記１の制御モジュールは、前記組み込まれた他の制御モジュールのシステムディスクユニットのログデータの領域を読み出し、前記ログデータの領域以外の前記他の制御モジュールのシステムディスクユニットの領域に、前記１の制御モジュールのシステムディスクユニットのログデータを、コピーする。
【００２３】
更に、本発明では、好ましくは、前記１の制御モジュールは、外部装置の指示に応じて、前記１の制御モジュールの他のシステムディスクユニットを切り離し、前記他の制御モジュールのシステムディスクユニットの挿入のためのシステムディスクスロットを開放する。
【００２４】
更に、本発明では、好ましくは、前記１の制御モジュールは、外部装置のログデータ取得指示に応じて、前記組み込まれたシステムディスクユニットの前記他の制御モジュールのログデータを出力する。
【００２５】
更に、本発明では、好ましくは、前記１の制御モジュールは、前記他の制御モジュールのログデータを、前記外部装置に出力する。
【発明の効果】
【００２６】
制御モジュールにシステムディスクを内蔵したので、制御モジュールと、ディスク記憶デバイスとの経路が不具合となっても、制御モジュールや他の経路が正常であれば、制御モジュールは、システムディスクから、ファームウェアや装置構成のバックアップデータを読み出すことができ、他の経路を利用した動作が可能となり、且つログデータの読み出し、書き込みができ、障害時の解析や、予防障害の診断等が可能となる。
【００２７】
更に、停電発生時には、バッテリに切り替え、キャッシュメモリ領域のデータをシステムディスクにバックアップする際も、接続されたディスク記憶デバイスに、電力供給する必要がないため、バッテリ容量を小さくできる。
【００２８】
しかも、１の制御モジュールが異常でも、他の制御モジュールに、１の制御モジュールのシステムディスクドライブを差し込み、１の制御モジュールで読み出すため、制御モジュールにシステムディスクドライブを内蔵しても、異常制御モジュールのシステムディスクのログデータを出力できる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施の形態を、データストレージシステム、リード／ライト処理、実装構造、異常時のログデータ出力方法、異常時のログデータ出力処理、他の実施の形態の順で説明する。
【００３０】
［データストレージシステム］
図１は、本発明の一実施の形態のデータストレージシステムの構成図、図２は、図１のコントロールモジュールの構成図、図３は、図１のバックエンドルータとディスクエンクロージャの構成図、図４は、図１及び図３のディスクエンクロージャの構成図である。
【００３１】
図１は、データストレージシステムとして、４台のコントロールモジュールを持つ中規模なディスクアレイ装置を例に示す。図１に示すように、ディスクアレイ装置１は、データを保持する複数のディスクエンクロージャ２−０〜２−１５と、図示しないホストコンピュータ（データ処理装置）と、複数のディスクエンクロージャ２−０〜２−１５との間に、配置された複数（ここでは４つ）の制御モジュール４−０〜４−３と、これら複数の制御モジュール４−０〜４−３と複数のディスクエンクロージャ２−０〜２−１５との間に設けられた複数（ここでは４つ）のバックエンドルータ（第１スイッチユニット；以下、ＢＲＴという）５−０〜５−３と、複数（ここでは２つ）のフロントエンドルータ（第２スイッチユニット；以下、ＦＲＴという）６−０，６−１とを有する。
【００３２】
制御モジュール４−０〜４−３のそれぞれは、コントローラ４０と、チャネルアダプタ（第１インターフェース部；以下、ＣＡという）４１と、ディスクアダプタ（第２インターフェース部；以下、ＤＡという）４２ａ，４２ｂと、ＤＭＡ（Direct Memory Access）エンジン（通信部；以下、ＤＭＡという）４３とを有する。
【００３３】
なお、図１では、図の簡略化のため、これらコントローラの符号“４０”、ディスクアダプタの符号“４２ａ”，“４２ｂ”、ＤＭＡの符号“４３”を、制御モジュール４−０に対してのみ付しており、他の制御モジュール４−１〜４−３におけるこれら構成要素の符号は省略している。
【００３４】
図２により、制御モジュール４−０〜４−３を説明する。コントローラ４０は、ホストコンピュータからの処理要求（リード要求もしくはライト要求）に基づいて、リード／ライト処理を行なうものであり、メモリ４０ｂと制御部４０ａと、システムディスクドライブ部４０ｃとを備える。
【００３５】
メモリ４０ｂは、ディスクエンクロージャ２−０〜２−１５の複数のディスクに保持されたデータの一部を保持する、所謂、複数のディスクに対するキャッシュの役割を果たすキャッシュ領域と、構成定義格納領域４７０と、その他のワーク領域とを有する。
【００３６】
制御部４０ａは、メモリ４０ｂ，チャネルアダプタ４１、デバイスアダプタ４２、ＤＭＡ４３の制御を行う。このため、１つ又は複数（図では、２つ）のＣＰＵ４００，４１０と、メモリコントローラ４２０とを有する。メモリコントローラ４２０は、メモリのリード／ライトを制御し、且つパスの切り替えを行う。
【００３７】
メモリコントローラ４２０は、メモリバス４３４を介しメモリ４０ｂと接続し、ＣＰＵバス４３０，４３２を介しＣＰＵ４００，４１０と接続し、更に、メモリコントローラ４２０は、４レーンの高速シリアルバス（例えば、ＰＣＩ−Ｅｘｐｒｅｓｓ）４４０，４４２を介しディスクアダプタ４２ａ，４２ｂに接続する。
【００３８】
同様に、メモリコントローラ４２０は、４レーンの高速シリアルバス（例えば、ＰＣＩ−Ｅｘｐｒｅｓｓ）４４３，４４４，４４５，４４６を介しチャネルアダプタ４１（ここでは、４つのチャネルアダプタ４１ａ，４１ｂ、４１ｃ，４１ｄ）に接続し、４レーンの高速シリアルバス（例えば、ＰＣＩ−Ｅｘｐｒｅｓｓ）４４７，４４８を介しＤＭＡ４３（ここでは、２つのＤＭＡ４３−ａ，４３−ｂ）に接続する。
【００３９】
このＰＣＩ−Ｅｘｐｅｓｓ等の高速シリアルバスは、パケットで通信し、且つシリアルバスを複数レーン設けることにより、信号線本線を減らしても、遅延の少ない、速い応答速度で、所謂、低レンテンシで通信することができる。
【００４０】
更に、メモリコントローラ４２０は、シリアルバス４３６を介しシステムディスクドライブ部４０ｃと接続する。システムディスクドライブ部４０ｃは、ブリッジ回路４５０と、ファイバチャネル回路４５２と、一対のシステムディスクドライブ４５３，４５４とを有する。
【００４１】
ブリッジ回路４５０は、メモリコントローラ４２０を、ファイバチャネル回路４５２と、制御モジュール４−０の外部に設けられたサービスプロセッサ４４とに接続する。サービスプロセッサ４４は、例えば、パーソナルコンピュータで構成され、システムの状態確認、診断、保守に利用される。
【００４２】
このファイバチャネル回路４５２に、少なくとも２台のシステムディスクドライブ４５３，４５４（ここでは、２台のＨＤＤ）が接続される。従って、ＣＰＵ４００，４１０等は、メモリコントローラ４２０を介しシステムディスクドライブ４５３，４５４に直接アクセスできる。又、サービスプロセッサ４４も、ブリッジ回路４５０を介しシステムディスクドライブ４５３，４５４にアクセスできる。
【００４３】
２台のシステムディスクドライブ４５３，４５４は、ログデータ等をミラーリングする。即ち、一方のシステムディスクドライブ４５３のデータのコピーを、他方のシステムディスクドライブ４５４が格納する。即ち、システムディスクドライブ４５３，４５４が、制御モジュール４−０に内蔵されており、ＣＰＵ４００，４１０は、システムディスクドライブ４５３，４５４を、ＤＡ４２ａ，４２ｂ，ＢＲＴ５−０を介することなく、アクセスできる。
【００４４】
チャネルアダプタ４１ａ〜４１ｄは、ホストコンピュータに対するインターフェースであり、チャネルアダプタ４１ａ〜４１ｄは、それぞれ異なるホストコンピュータと接続される。また、チャネルアダプタ４１ａ〜４１ｄは、それぞれ対応するホストコンピュータのインターフェース部に、バス、例えば、ファイバチャネル（Fiber Channel）やEthernet（登録商標）によって接続されることが好ましく、この場合、バスとしては、光ファイバや同軸ケーブルが用いられる。
【００４５】
さらに、これらチャネルアダプタ４１ａ〜４１ｄそれぞれは、各制御モジュール４−０〜４−３の一部として構成されている。このチャネルアダプタ４１ａ〜４１ｄが、対応するホストコンピュータと制御モジュール４−０〜４−３とのインターフェース部として、複数のプロトコルをサポートする。
【００４６】
又、対応するホストコンピュータによって実装すべきプロトコルが同一ではないため、各チャネルアダプタ４１ａ〜４１ｄを必要に応じて容易に交換できるように、制御モジュール４−０〜４−３の主要ユニットであるコントローラ４０とは、別のプリント基板に実装されている。
【００４７】
例えば、チャネルアダプタ４１ａ〜４１ｄがサポートすべきホストコンピュータとの間のプロトコルとしては、上述のように、ファイバチャネルや、Ethernet（登録商標）に対応するｉＳＣＳＩ（Internet Small Computer System Interface）等がある。
【００４８】
更に、各チャネルアダプタ４１ａ〜４１ｄは、前述のように、ＰＣＩ−Ｅｘｐｒｅｓｓバスのように，ＬＳＩ（Large Scale Integration）やプリント基板の間を接続するために設計されたバス４４３〜４４６によって、コントローラ４０と直接結合される。これにより、各チャネルアダプタ４１ａ〜４１ｄとコントローラ４０と間に要求される高いスループットを実現することができる。
【００４９】
次に、ディスクアダプタ４２ａ，４２ｂは、ディスクエンクロージャ２−０〜２−１５の各ディスクドライブに対するインターフェースであり、ディスクエンクロージャ２−０〜２−１５に接続されたＢＲＴ５−０〜５−３に接続され，ここでは、４つのＦＣ(Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ)ポートを有する。
【００５０】
又、各ディスクアダプタ４２ａ、４２ｂは、前述のように、ＰＣＩ−Ｅｘｐｒｅｓｓバスのように，ＬＳＩ（Large Scale Integration）やプリント基板の間を接続するために設計されたバスによって、コントローラ４０と直接結合されている。これにより、各ディスクアダプタ４２ａ、４２ｂとコントローラ４０と間に要求される高いスループットを実現することができる。
【００５１】
図１及び図３に示すように、ＢＲＴ５−０〜５−３は、各制御モジュール４−０〜４−３のディスクアダプタ４２ａ，４２ｂと各ディスクエンクロージャ２−０〜２−１５とを選択的に切り替えて、通信可能に接続する多ポートスイッチである。
【００５２】
図３に示すように、各ディスクディスクエンクロージャ２−０〜２−７は、複数（ここでは２つ）のＢＲＴ５−０，５−１に接続される。図４に示すように、各ディスクエンクロージャ２−０は、各々２つのポートを有する複数台（例えば、１５台）のディスクドライブ２００を搭載する。このディスクエンクロージャ２−０の構成は、４つの接続ポート２１０，２１２，２１４，２１６を有する単位ディスクエンクロージャ２０−０〜２３−０を、必要数分直列接続して、容量の増大を実現する。ここでは、最大４台の単位ディスクエンクロージャ２０−０〜２０−３を接続できる。
【００５３】
そして、単位ディスクエンクロージャ２０−０〜２３−０内では、２つのポート２１０，２１２からの一対のＦＣケーブルにより、各ディスクドライブ２００の各ポートが、２つのポート２１０，２１２に接続される。この２つのポート２１０，２１２は、図３で説明したように、異なるＢＲＴ５−０，５−１に接続される。
【００５４】
図１に示すように、各制御モジュール４−０〜４−３のディスクアダプタ４２ａ，４２ｂそれぞれを、すべてのディスクエンクロージャ２−０〜２−１５に接続する。即ち、各制御モジュール４−０〜４−３のディスクアダプタ４２ａは、ディスクエンクロージャ２−０〜２−７に接続されたＢＲＴ５−０（図３参照）と、ディスクエンクロージャ２−０〜２−７に接続されたＢＲＴ５−０と、ディスクエンクロージャ２−８〜２−１５に接続されたＢＲＴ５−２と、ディスクエンクロージャ２−８〜２−１５に接続されたＢＲＴ５−２とにそれぞれ接続される。
【００５５】
又、同様に、各制御モジュール４−０〜４−３のディスクアダプタ４２ｂは、ディスクエンクロージャ２−０〜２−７に接続されたＢＲＴ５−１（図３参照）と、ディスクエンクロージャ２−０〜２−７に接続されたＢＲＴ５−１と、ディスクエンクロージャ２−８〜２−１５に接続されたＢＲＴ５−３と、ディスクエンクロージャ２−８〜２−１５に接続されたＢＲＴ５−３とに、それぞれ接続される。
【００５６】
このように、各ディスクエンクロージャ２−０〜２−１５は、複数（ここでは２つ）のＢＲＴに接続されるとともに、同一のディスクエンクロージャ２−０〜２−１５に接続された２つのＢＲＴのそれぞれに、同一の制御モジュール４−０〜４−３における異なるディスクアダプタ４２ａ，４２ｂが接続される。
【００５７】
このような構成により、各制御モジュール４−０〜４−３が、いずれのディスクアダプタ４２ａ，４２ｂを通じて、且ついずれのパスを通じても、すべてのディスクエンクロージャ（ディスクドライブ）２−０〜２−１５にアクセスできる。
【００５８】
又、図２に示すごとく、各ディスクアダプタ４２ａ，４２ｂは、対応するＢＲＴ５−０〜５−３に、バス、例えば、ファイバチャネル（Fiber Channel）やEthernet（登録商標）、によって接続される。この場合、バスは、後述するように、バックパネルのプリント基板に電気的配線で設けられる。
【００５９】
各制御モジュール４−０〜４−３のディスクアダプタ４２ａ，４２ｂとＢＲＴ５−０〜５−３との間は、前述のように、全てのディスクエンクロージャと接続するため、１対１のメッシュ接続になるため、制御モジュール４−０〜４−３の数（つまり、ディスクアダプタ４２ａ，４２ｂの数）が増大するほど、接続数が増加して接続関係が複雑になり、物理的な実装が困難になる。しかし、ディスクアダプタ４２ａ，４２ｂとＢＲＴ５−０〜５−３との間の接続に、インターフェースを構成する信号数が少ないファイバチャネルを採用することにより、プリント基板での実装が可能となる。
【００６０】
なお、各ディスクアダプタ４２ａ，４２ｂと対応するＢＲＴ５−０〜５−３とがファイバチャネル接続される場合、ＢＲＴ５−０〜５−３は，ファイバチャネルのスイッチとなる。また、各ＢＲＴ５−０〜５−３と対応するディスクエンクロージャ２−０〜２−１５との間も、例えば、ファイバチャネルによって接続され、この場合には、モジュールが異なるため、光ケーブル５００，５１０で接続される。
【００６１】
図１に示すように、ＤＭＡエンジン４３は、各制御モジュール４−０〜４−３と相互に通信を行うものであり、他の制御モジュール間との通信とデータ転送処理を担当する。各制御モジュール４−０〜４−３のＤＭＡエンジン４３のそれぞれは、制御モジュール４−０〜４−３の一部として構成されており、制御モジュール４−０〜４−３の主要ユニットであるコントローラ４０の基板上に実装される。そして、前述の高速シリアルバスによって、コントローラ４０と直接結合されるとともに、ＦＲＴ６−０，６−１を介して他の制御モジュール４−０〜４−３のＤＭＡエンジン４３と互いに通信する。
【００６２】
ＦＲＴ６−０，６−１は、複数（特に３以上、ここでは４つ）の制御モジュール４−０〜４−３のＤＭＡエンジン４３に接続され、これら制御モジュール４−０〜４−３の相互間を選択的に切り替え，通信可能に接続するものである。
【００６３】
このような構成により、各制御モジュール４−０〜４−３のＤＭＡエンジン４３のそれぞれは、ＦＲＴ６−０，６−１を介して、自身に接続されたコントローラ４０と他の制御モジュール４−０〜４−３のコントローラ４０との間で、ホストコンピュータからのアクセス要求等に応じて生じる通信やデータ転送処理（例えば、ミラーリング処理）を実行する。
【００６４】
また、図２に示すように、各制御モジュール４−０〜４−７のＤＭＡエンジン４３が複数（ここでは２つ）のＤＭＡエンジン４３−ａ，４３−ｂで構成され、これら２つのＤＭＡエンジン４３−ａ，４３−ｂの各々が、各々２つのＦＲＴ６−０，６−１を使用する。
【００６５】
さらに、ＤＭＡエンジン４３−ａ，４３−ｂは、図２に示したように、例えば、PCI−Expressバスによって、コントローラ４０に接続されている。即ち、各制御モジュール４−０〜４−３間（つまり、各制御モジュール４−０〜４−３のコントローラ４０間）の通信やデータ転送（ＤＭＡ）処理では、データ転送量が多く、通信制御にかかる時間を短くすることが望ましく、高いスループットと同時に低いレイテンシ（速い応答速度）が要求される。このため、図１、図２に示すように、各制御モジュール４−０〜４−３のＤＭＡエンジン４３とＦＲＴ６−０，６−１とは、高いスループットと低いレイテンシとの両方の要求を満たすべく設計された、高速シリアル伝送を利用したバス（PCI-ExpressやRapid-IO）によって、接続される。
【００６６】
これらPCI-ExpressやRapid-IOは、２．５Gbpsの高速シリアル伝送を利用したものであり、これらのバスインターフェースには、LVDS（Low Voltage Differential Signaling）という小振幅差動インターフェースが採用される。
【００６７】
[リード/ライト処理]
次に、図１乃至図４のデータストレージシステムのリード処理を説明する。図５は、図１乃至図２の構成のリード動作の説明図である。
【００６８】
先ず、制御部（コントロールマネージャ）４０は、ホストコンピュータのいずれかから対応するチャネルアダプタ４１ａ〜４１ｄを介してリード要求を受け取った場合、当該リード要求の対象データをメモリ４０ｂのキャッシュ領域が保持していれば、そのキャッシュ領域に保持された当該対象データを、チャネルアダプタ４１ａ〜４１ｄを介してホストコンピュータに送る。
【００６９】
一方、当該対象データがメモリ４０ｂのキャッシュ領域に保持されていなければ、コントロールマネージャ（制御部）４０ａが、当該対象データを保持しているディスクドライブ２００から対象データを、メモリ４０ｂのキャッシュ領域上に読み出してから、対象データを、リード要求を発行したホストコンピュータに送信する。
【００７０】
このディスクドライブとのリード処理を、図５で説明する。
【００７１】
（１）コントロールマネージャ４０の制御部４０ａ（ＣＰＵ）は、メモリ４０ｂのディスクリプタ領域に、ＦＣヘッダとディスクリプタを作成する。ディスクリプタは、データ転送回路に対して、データ転送を要求する命令であり、ＦＣヘッダのキャッシュメモリ上のアドレス、転送したいデータのキャッシュメモリ上でのアドレスとデータバイト数、データ転送のディスクの論理アドレスを含む。
【００７２】
（２）ディスクアダプタ４２のデータ転送回路を起動する。
【００７３】
（３）ディスクアダプタ４２の起動されたデータ転送回路は、メモリ４０ｂからディスクリプタを読み出す。
【００７４】
（４）ディスクアダプタ４２の起動されたデータ転送回路は、メモリ４０ｂからＦＣヘッダを読み出す。
【００７５】
（５）ディスクアダプタ４２の起動されたデータ転送回路は、ディスクリプタを解読し、要求ディスク、先頭アドレス、バイト数を得て、ＦＣヘッダを、ファイバチャネル５００（５１０）より、対象ディスクドライブ２００に転送する。ディスクドライブ２００は、要求された対象データを読み出し、ファイバチャネル５００（５１０）を介しディスクアダプタ４２のデータ転送回路に送信する。
【００７６】
（６）ディスクドライブ２００は、要求された対象データを読み出し、送信を完了すると、完了通知を、ファイバチャネル５００（５１０）を介しディスクアダプタ４２のデータ転送回路に送信する。
【００７７】
（７）ディスクアダプタ４２の起動されたデータ転送回路は、完了通知を受けると、ディスクアダプタ４２のメモリからリードデータを読み出し、メモリ４０ｂのキャッシュ領域に格納する。
【００７８】
（８）ディスクアダプタ４２の起動されたデータ転送回路は、リード転送が完了すると、コントロールマネージャ４０に、割り込みによる完了通知を行う。
【００７９】
（９）コントロールマネージャ４０の制御部４０ａは、ディスクアダプタ４２の割り込み要因を得て、リード転送を確認する。
【００８０】
（１０）コントロールマネージャ４０の制御部４０ａは、ディスクアダプタ４２の終了ポインタを調べ、リード転送完了を確認する。
【００８１】
このように、十分な性能を得るためには、全ての接続が高いスループットを持つ必要があるが、制御部４０ａとディスクアダプタ４２との間には、信号のやり取りが多く（図では、７回）、特に、低いレイテンシのバスが必要となる。この実施例では、PCI-Express(4レーン)と、Fibre Channel(４Ｇ)を、どちらも高いスループットの接続として採用しているが、PCI-Expressが低いレイテンシの接続なのに対して、Fibre Channelは比較的レイテンシの大きな(データ転送に時間のかかる) 接続である。
【００８２】
この実施の形態では、図１の構成のため、ＢＲＴ５−０〜５−３に，Fibre Channelを採用することができる。又、低いレイテンシを実現するためには、バスの信号本数をある程度より減らすことができないが、この実施の形態では、ディスクアダプタ４２とＢＲＴ５−０間の接続には、信号線本数の少ないFibre Channelを採用することができ、バックパネル上の信号本数が少なくなり、実装上で有効である。
【００８３】
次に、ライト動作を説明する。ホストコンピュータのいずれかから対応するチャネルアダプタ４１ａ〜４１ｄを介してライト要求を受け取った場合、当該ライト要求のコマンドとライトデータとを受信したチャネルアダプタ４１ａ〜４１ｄは、コントロールマネージャ４０に対して、ライトデータを書き込むべきメモリ４０ｂのキャッシュ領域のアドレスを尋ねる。
【００８４】
そして、このチャネルアダプタ４１ａ〜４１ｄがコントロールマネージャ４０からの応答を受け取ると、コントロールマネージャ４０のメモリ４０ｂのキャッシュ領域にライトデータを書き込むとともに、当該コントロールマネージャ４０とは異なる少なくとも１つのコントロールマネージャ４０（つまり、異なる制御モジュール４−０〜４−３のコントロールマネージャ４０）内のメモリ４０ｂのキャッシュ領域にもライトデータを書き込む。このため、ＤＭＡエンジン４３を起動し、ＦＲＴ６−０，６−１を介し、他の制御モジュール４−０〜４−７のコントロールマネージャ４０内のメモリ４０ｂのキャッシュ領域にもライトデータを書き込む。
【００８５】
これにより、データを２重化（ミラーリング）することで、予期しない制御モジュール４−０〜４−３もしくはコントロールマネージャ４０のハード故障の場合にも、データの喪失を防ぐ。最後に、これら複数のメモリ４０ｂのキャッシュ領域へのライトデータの書き込みが正常に終了すると、チャネルアダプタ４１ａ〜４１ｄが、ホストコンピュータに対して完了通知を行ない、処理を終了する。
【００８６】
更に、このライトデータを、対象とするディスクドライブに、書き戻す（ライトバックという）必要がある。制御部４０ａは、内部スケジュールに従い、メモリ４０ｂのキャッシュ領域のライトデータを、当該対象データを保持しているディスクドライブ２００にライトバックする。このディスクドライブとのライト処理を、図６で説明する。
【００８７】
（１）コントロールマネージャ４０の制御部４０ａ（ＣＰＵ）は、メモリ４０ｂのディスクリプタ領域に、ＦＣヘッダとディスクリプタを作成する。ディスクリプタは、データ転送回路に対して、データ転送を要求する命令であり、ＦＣヘッダのキャッシュメモリ上のアドレス、転送したいデータのキャッシュメモリ上でのアドレスとデータバイト数、データ転送のディスクの論理アドレスを含む。
【００８８】
（２）ディスクアダプタ４２のデータ転送回路を起動する。
【００８９】
（３）ディスクアダプタ４２の起動されたデータ転送回路は、メモリ４０ｂからディスクリプタを読み出す。
【００９０】
（４）ディスクアダプタ４２の起動されたデータ転送回路は、メモリ４０ｂからＦＣヘッダを読み出す。
【００９１】
（５）ディスクアダプタ４２の起動されたデータ転送回路は、ディスクリプタを解読し、要求ディスク、先頭アドレス、バイト数を得て、メモリ４０ｂのキャッシュ領域からデータを読み出す。
【００９２】
（６）読み出し完了後、ディスクアダプタ４２のデータ転送回路は、ＦＣヘッダとデータを、ファイバチャネル５００（５１０）より、対象ディスクドライブ２００に転送する。ディスクドライブ２００は、転送されたデータを内蔵するディスクに書き込む。
【００９３】
（７）ディスクドライブ２００は、データの書き込みを完了すると、完了通知を、ファイバチャネル５００（５１０）を介しディスクアダプタ４２のデータ転送回路に送信する。
【００９４】
（８）ディスクアダプタ４２の起動されたデータ転送回路は、完了通知を受けると、コントロールマネージャ４０に、割り込みによる完了通知を行う。
【００９５】
（９）コントロールマネージャ４０の制御部４０ａは、ディスクアダプタ４２の割り込み要因を得て、ライト動作を確認する。
【００９６】
（１０）コントロールマネージャ４０の制御部４０ａは、ディスクアダプタ４２の終了ポインタを調べ、ライト動作完了を確認する。
【００９７】
この図６でも、図５でも、矢印は、データなどのパケットの転送を示し、コの字型の矢印は、データのリードを表しており、一方のデータ要求に対してデータが送り返されているのを示す。このように、ＤＡ内の制御回路の起動と終了状態の確認が必要となるため、一回のデータ転送を行うのにＣＭ４０とＤＡ４２の間では、７回のやり取りが行われている。ＤＡ４２とディスク２００の間は２回である。
【００９８】
これによって、キャッシュ制御部４０とディスクアダプタ４２との間の接続に、低いレイテンシが要求され、一方、ディスクアダプタ４２とディスクデバイス２００とは、信号本数の少ないインターフェースを利用できることが理解できる。
【００９９】
つぎに、前述のシステムディスクドライブ４５３，４５４へのリード／ライトアクセスを説明する。このＣＭ（ＣＰＵ）４０ａからのリード／ライトアクセスも、図５及び図６と同様であり、メモリ４０ｂとシステムディスクドライブ４５３，４５４との間のＤＭＡ転送を行う。即ち、図２のファイバチャネル回路４５２に、ＤＭＡ回路を設け、ＣＰＵ４００（４１０）が、ディスクリプタを用意して、ファイバチャネル回路４５２のＤＭＡ回路を起動する。
【０１００】
例えば、システムディスクドライブのファームウェア、ログデータ、バックアップデータ（キャッシュ領域からの退避データを含む）の読み出しは、図５と同様に、ＣＰＵ４００（４１０）が、ＦＣヘッダとディスクリプタを作成し、ファイバチャネル回路４５２のＤＭＡ回路を起動（リード起動）することにより、システムディスクドライブ４５３，４５４からメモリ４０ｂに、ファームウェア、ログデータ、バックアップデータが、ＤＭＡ転送される。
【０１０１】
同様に、ログデータ、バックアップデータの書き込みは、図６と同様に、ＣＰＵ４００（４１０）が、ＦＣヘッダとディスクリプタを作成し、ファイバチャネル回路４５２のＤＭＡ回路を起動（ライト起動）することにより、システムディスクドライブ４５３，４５４へメモリ４０ｂから、ログデータ、バックアップデータが、ＤＭＡ転送される。このログデータの書き込みは、定期的に、又は一定量のログデータがメモリ４０ｂに収集された時、パワーオフ時に実行される。
【０１０２】
このように、コントローラにシステムディスクを内蔵したので、コントローラとＢＲＴ、ディスクエンクロージャとの経路が不具合となっても、コントローラや他の経路が正常であれば、コントローラは、システムディスクから、ファームウェアや装置構成のバックアップデータを読み出すことができ、他の経路を利用した動作が可能となる。又、コントローラは、システムディスクに、ログデータの読み出し、書き込みができ、障害時の解析や、予防障害の診断等が可能となる。
【０１０３】
更に、停電発生時には、バッテリに切り替え、キャッシュメモリのデータをシステムディスクにバックアップする際も、ディスクエンクロージャに、電力供給する必要がないため、バッテリ容量を小さくできる。しかも、ディスクアダプタ、ケーブルを介しシステムディスクに、バックアップデータを書き込む必要がないため、書き込み時間も削減でき、キャッシュメモリの容量が大きくても、バッテリ容量を小さくできる。
【０１０４】
しかも、システムディスクドライブを一対設け、冗長化構成を採用しているので、一方のシステムディスクドライブに障害が発生しても、他のシステムディスクドライブでバックアップできる。即ち、ＲＡＩＤ−１の構成を採用できる。
【０１０５】
尚、図２のサービスプロセッサ４４も、システムディスクドライブ４５３，４５４を、ブリッジ回路４５０を介してアクセスできる。サービスプロセッサ４４からフィームウェア、装置構成データをシステムディスクドライブ４５３，４５４へダウンロードする。
【０１０６】
［実装構造］
図７は、本発明による制御モジュールの実装構成例を示す図、図８は、図７の制御モジュールとディスクエンクロージャとを含む実装構成例を示す図である。
【０１０７】
図８に示すように、ストレージ装置の筐体の上側には、４台のディスクエンクロージャ２−０，２−１，２−８，２−９が搭載される。ストレージ装置の下側半分は、制御回路を搭載する。この下側半分は、図７のように、バックパネル７によって前後に分割されている。バックパネル７の前方、後方には、それぞれスロットが設けられる。この例では、図１の４台のＣＭ４−０〜４−３より大規模な８台のＣＭを搭載したストレージシステムの構成の実装構造であるが、図１の構成のものも、ＣＭの数は、異なるが、同様である。
【０１０８】
即ち、図７に示すように、前方側（Ｆｒｏｎｔ）には、８枚（８個）のＣＭ４−０〜４−７が、後方には、２枚（２個）のＦＲＴ６−０，６−１、８枚（８個）のＢＲＴ５−０〜５−７及び、電源制御などを担当するサービスプロセッサＳＶＣ(図２の記号「４４」)が配置される。
【０１０９】
更に、ＣＭ４−０〜４−７には、各々２台のシステムディスクドライブ４５３，４５４が、設けられる。尚、図７では、ＣＭ４−０に、システムディスクドライブ（ＳＤ）の符号４５３，４５４を付しているが、他のＣＭ４−１〜４−７も同様であり、図７では、図面の煩雑を避けるため、省略してある。このシステムディスクドライブ４５３，４５４は、バックパネル７から抜き差しできる。
【０１１０】
図７では、８枚のＣＭ４−０〜４−７と２枚のＦＲＴ６−０，６−１が、バックパネル７を経由して、４レーンのPCI-Expressで接続される。ＰＣＩ−Ｅｘｐｅｓｓは、４本（差動、両方向のため）の信号線であり、４レーン分で、１６本の信号線となるから、この信号本数は１６×１６＝２５６本となる。また、８枚のＣＭ４−０〜４−７と８枚のＢＲＴ５−０〜５−７がバックパネル７を経由して、Fibre Channelで接続される。Fibre  Channelは、差動、両方向のため、１×２×２＝４の信号線であり、この信号本数は、８×８×４＝２５６本となる。
【０１１１】
このように、接続箇所毎にバスを使い分けることにより、大規模構成のストレージシステムでも、ＣＭ４−０〜４−７の８枚、ＦＲＴ６−０，６−１の２枚、ＢＲＴ５−０〜５−７の８枚の接続が、５１２本の信号線によって実現できる。この信号線数は、バックパネル基板７に十分に実装可能な信号数であり、また基板の信号層数も６層で十分であり、コスト的にも実現可能な範囲内にある。
【０１１２】
又、図８では、４台のディスクエンクロージャ２−０，２−１，２−８，２−９を搭載するが、他のディスクエンクロージャ２−３〜２−７、２−１０〜２−１５等は、別の筐体に設けられる。
【０１１３】
更に、各制御モジュール４−０〜４−７のディスクアダプタ４２ａ，４２ｂとＢＲＴ５−０〜５−７との間は、１対１のメッシュ接続になるため、システムがそなえる制御モジュール４−０〜４−７の数（つまり、ディスクアダプタ４２ａ，４２ｂの数）が増大しても、ディスクアダプタ４２ａ，４２ｂとＢＲＴ５−０〜５−７との間の接続に、インターフェースを構成する信号数が少ないファイバチャネルを採用することができ、実装の課題を解決することができる。
【０１１４】
このように、例えば、２．５インチ程度のシステムディスクドライブであれば、ＣＭ４−０等に、容易に実装（内蔵）でき、実装上も、問題はない。
【０１１５】
［コントローラ異常時のログデータ出力方法］
図２のように、システムディスクドライブ４５３，４５４をＣＭ４−０等に搭載することで、前述の利点が生じるが、図２０の従来のように、ディスクエンクロージャ内にシステムディスクドライブを搭載していた装置とは、異なる課題が発生する。
【０１１６】
ログデータは、ＣＭ４−０〜４−３の各々が動作しているタスク、スレッドのログデータを、そのＣＭのシステムディスクドライブ４５３，４５４に格納している。図２０の従来構成では、システム内の１つのＣＭが故障したとしても、別のＣＭから故障したＣＭのシステムディスクドライブに対してアクセスすることが出来、ログデータの出力が可能であった。
【０１１７】
しかし、図２のように、システムディスクドライブ４５３，４５４を、ＣＭ４−０に搭載する場合、ＣＭ４−０が何らかの不具合により故障すると、当該ＣＭ４−０のシステムディスクドライブ４５３、４５４にアクセスすることが出来ない場合もあり、この場合には、ログデータの出力も行うことが出来ない。
【０１１８】
以下、このＣＭ異常時におけるログデータ出力が出来ない状態を回避するため、ログデータ出力制御方法を説明する。
【０１１９】
図９乃至図１４は、本発明の一実施の形態のログデータ出力方法（ログデータ吸い出し方法）の説明図である。この方法は、異常ＣＭ４−０に実装されたシステムディスクドライブ４５４を、正常動作しているＣＭ４−１のシステムディスクスロットに実装して、異常ＣＭ４−０のログデータを出力する方法である。
【０１２０】
（１）図９に示すように、コントローラモジュール（ＣＭ）４−０に異常が発生した場合に、異常ＣＭ４−０に搭載されているシステムディスクドライブ４５４−０を、異常ＣＭ４−０から引き抜く。
【０１２１】
（２）次に、図１０に示すように、正常動作しているＣＭ４−１に、パーソナルコンピュータで構成された保守、診断装置８を接続し、ＣＭ４−１に内蔵されている一方のシステムディスクドライブ４５４−１を、データ吸い上げモードの切り離し指示で、装置４−１から切り離す。
【０１２２】
（３）次に、図１１に示すように、ＣＭ４−１の対象システムディスクドライブ４５４−１の切り離しが完了後、装置４−１からシステムディスクドライブ４５４−１を引き抜く。
【０１２３】
（４）図１２に示すように、正常ＣＭ４−１の装置から外されたシステムディスクスロットに、異常ＣＭ４−０に搭載され、引き抜かれたシステムディスクドライブ４５４−０を差し込む。
【０１２４】
（５）図１３に示すように、ＣＭ４−１は、システムディスクドライブ４５４−０のマウントを検出した後、システムディスクドライブ４５４−０の異常ＣＭ４−０のログデータ領域ＣＭ＃０は一切触らず、システムディスクドライブ４５３の正常ＣＭ４−１のログデータＣＭ＃１を、システムディスクドライブ４５４−０のログデータスペア領域に，Ｒｅｂｕｉｌｄ／Ｃｏｐｙ  Ｂａｃｋ処理を行う。これにより、正常ＣＭ４−１のログデータＣＭ＃１の二重化処理を行う。
【０１２５】
（６）図１４に示すように、保守・診断装置８から、正常ＣＭ４−１に、異常ＣＭ４−０のログデータＣＭ＃０の取得を指示する。正常ＣＭ４−１は、搭載された異常ＣＭのシステムディスクドライブ４５４−０内にあるログデータＣＭ＃０を、保守・診断装置８に出力する。
【０１２６】
これにより、保守・診断装置８で、異常ＣＭ４−０のログデータから異常ＣＭの障害解析を行うことができる。
【０１２７】
この方法は、各ＣＭのシステムディスクで、ログデータの等価処理（コピー処理）を行う必要がないため、より負荷を軽減することが可能である。又、通常、ディスクドライブを交換した場合、対象ディスクのRebuild/Copy Back処理が自動実行されるため、交換されたディスク内のデータは失われてしまうが、本実施の形態では、当該システムディスクドライブを、別のＣＭに実装した場合でも，スペア領域が指定されるため、ログデータの出力が可能となり、障害解析の効率化が図られる。
【０１２８】
［コントローラ異常時のログデータ出力処理］
図１５は、本発明の一実施の形態のコントローラ異常時のログデータ出力処理フロー図、図１６は、図１５の構成定義テーブルの説明図、図１７は、図１５の情報抽出処理フロー図、図１８及び図１９は、図１５の交換処理の説明図である。図１５は、正常ＣＭ４−１でのログデータ出力処理を示す。
【０１２９】
（Ｓ１０）図１０に示したように、正常動作しているＣＭ４−１は、接続された保守、診断装置８から、ＣＭ４−１に内蔵されている一方のシステムディスクドライブ４５４−１の切り離し指示で、システムディスクドライブ４５４−１を装置４−１から切り離す。そして、係員等により、図１１に示したように、装置４−１からシステムディスクドライブ４５４−１を引き抜き、ＣＭ４−１は、これを検出する。例えば、接続コネクタのピンの出力を検出する。
【０１３０】
（Ｓ１２）図１２に示したように、正常ＣＭ４−１の装置から外されたシステムディスクスロットに、異常ＣＭ４−０に搭載され、引き抜かれたシステムディスクドライブ４５４−０を差し込む。正常ＣＭ４−１は、ＦＣ経路内の状態を監視し、システムディスクドライブ４５４−０が差し込まれた、即ち、経路に接続されたことを検出する。そして、ＣＭ４−１は、そのシステムディスクドライブ４５４−０からＦＣマップ上のＷＷＮ（World Wide Name）を読み込む。
【０１３１】
（Ｓ１４）次に、ＣＭ４−１は、差し込まれたシステムディスクドライブが、異常ＣＭに搭載されていたものか、交換するものかを判定する。このため、ＣＭ４−１は、図１６に示す構成情報定義テーブル４７０（図２にも記載）を参照する。図１６に示すように、構成情報定義テーブル４７０は、全ＣＭのシステムディスクドライブと、ユーザディスクドライブとのＷＷＮ及び異常情報Ｆを格納する。例えば、システムディスクドライブでは、ＣＭ−０に搭載された２台のシステムディスクドライブ４５３，４５４に対しては、各々、ＷＷＮ−１，ＷＷＮ−２のWorld  Wide Nameと異常情報Ｆとが格納されている。例えば、ＣＭ４−０で異常が生じると、ＣＭ４−１に通知され、ＣＭ４−０に属するシステムディスクドライブの異常情報欄に、異常とセットされる。ＣＭ４−１は、前述の読み込んだＷＷＮで、構成情報定義テーブル４７０のシステムディスク欄を参照し、このＷＷＮが、異常ＣＭ４−０のＷＷＮと一致するかを判定する。
【０１３２】
（Ｓ１６）ＣＭ４−１は、読み込んだＷＷＮが、異常ＣＭのＷＷＮと一致する（ＩＤ一致）と判定すると、故障ＣＭのシステムディスクドライブ４５４−０が差し込まれたと判定し、読み出しモードフラグをオンし、ステップＳ１８に進む。一方、ＣＭ４−１は、読み込んだＷＷＮが、異常ＣＭのＷＷＮと一致しない（ＩＤ不一致）と判定すると、交換用システムディスクドライブが差し込まれたと判定し、ステップＳ１８に進む。
【０１３３】
（Ｓ１８）次に、ＣＭ４−１は、構成情報定義テーブル４７０の自己のシステムディスク欄に、読み込んだシステムディスクドライブのＷＷＮを書き込む。
【０１３４】
（Ｓ２０）ＣＭ４−１は、差し込まれたディスクドライブを起動し、ディスク情報（例えば、ベンダー名、製品名、ディスクのバージョン等）を読み込む。
【０１３５】
（Ｓ２２）ＣＭ４−１は、読み出しモードフラグを調べ、フラグがオンなら、図１７の情報抽出処理を行い、フラグがオンでなければ、図１８及び図１９の交換処理を行い、終了する。
【０１３６】
図１７により、情報抽出処理を説明する。この処理は、前述の図１３で説明したシステムディスクドライブ４５４−０の異常ＣＭ４−０のログデータ領域ＣＭ＃０は一切触らず、システムディスクドライブ４５３の正常ＣＭ４−１のログデータＣＭ＃１を、システムディスクドライブ４５４−０のログデータスペア領域に，Ｒｅｂｕｉｌｄ／Ｃｏｐｙ  Ｂａｃｋして、正常ＣＭ４−１のログデータＣＭ＃１の二重化を行う処理である。
【０１３７】
（Ｓ３０）ＣＭ４−１は、ペアとなる自己のシステムディスクドライブ４５３からデータ等価処理を開始する。先ず、ＣＭ４−１は、システムディスクドライブ４５４−０のディスク領域情報を取得して、異常ＣＭ４−０のログデータ領域ＣＭ＃０を検出する。
【０１３８】
（Ｓ３２）ＣＭ４−１は、このログデータ領域から、システムディスクドライブ４５３の正常ＣＭ４−１のログデータＣＭ＃１の書き込み開始位置（スペアログ領域）を設定する。
【０１３９】
（Ｓ３４）図１３で説明したように、ＣＭ４−１は、システムディスクドライブ４５３のログデータ＃１を読み出し、システムディスクドライブ４５４−０のログデータスペア領域に，コピーし、正常ＣＭ４−１のログデータＣＭ＃１の二重化処理を行う。
【０１４０】
次に、図１５の保守・交換処理を、図１８及び図１９で説明する。保守・交換処理は、通常のシステムディスクドライブの二重化処理であり、基本的に保守ケースで行われる。即ち、正常ＣＭのシステムディスクと同一のレイアウトで、交換システムディスクに、コピーバックする動作となる。
【０１４１】
図１８に示すように、対象システムディスクドライブ４５４を、ＣＭ４−１から引き抜き、引き抜いたシステムディスクスロットに、交換ディスクドライブ４５４−Ｎを差し込む。次に、図１９に示すように、交換システムディスクドライブ４５４−Ｎのマウント検出後、正常システムディスクドライブ４５３からCopy Back処理によりログデータ二重化処理を行う。ログデータの二重化処理が完了後、通常運用を開始する。
【０１４２】
このようにして、コントローラにシステムディスクドライブを内蔵しても、異常コントローラのシステムディスクのログデータを出力できる。又、正常コントローラで、ログデータの二重化処理しているため、正常コントローラが、ペアのシステムディスクドライブを使用したログデータの二重化処理が可能となる。
【０１４３】
更に、各コントローラのシステムディスクでログデータの等価処理を行う必要がないため、ログデータ等価処理における負荷を軽減することが可能である。しかも、システムディスクドライブを別のコントローラに実装した場合でも、異常コントローラのログデータの消失を防止できる。
【０１４４】
［他の実施の形態］
前述の実施の形態では、制御モジュールが２つの例で、ログデータ出力処理を説明したが、同様に、制御モジュールが３つ以上の場合も、適用できる。制御モジュール内のチャネルアダプタやディスクアダプタの数は、必要に応じて、増減できる。
【０１４５】
又、ディスクドライブとしては、ハードディスクドライブ、光ディスクドライブ、光磁気ディスクドライブ等の記憶デバイスを適用できる。更に、ストレージシステムやコントローラ（制御モジュール）の構成は、図１の構成のみならず、他の構成（例えば、図２０）にも適用できる。
【０１４６】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【０１４７】
（付記１）データを記憶する複数のディスク記憶デバイスと、前記複数のディスク記憶デバイスに接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する複数の制御モジュールとを有し、前記各制御モジュールは、前記ディスク記憶デバイスに記憶されたデータの一部を格納するキャッシュ領域を有するメモリと、前記アクセス制御を行う制御ユニットと、前記上位とのインターフェース制御を行う第１のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第２のインターフェース部と、前記制御ユニットに接続され、前記制御ユニットの少なくともログデータを格納する一対のシステムディスクユニットとを有し、１の制御モジュールは、前記他の制御モジュールの異常時に、前記他の制御モジュールの１のシステムディスクユニットが、前記１の制御モジュールのシステムディスクスロットに差込まれたことを検出し、前記他の制御モジュールの１のシステムディスクユニットを組み込み、前記他の制御モジュールの１のシステムディスクユニットのログデータを出力することを特徴とするデータストレージシステム。
【０１４８】
（付記２）前記１の制御モジュールは、前記他の制御モジュールの１のシステムディスクユニットを組み込んだ後、前記１の制御モジュールのシステムディスクユニットのログデータを、前記他の制御モジュールのシステムディスクユニットの他の制御モジュールのログデータを破壊することなく、前記組み込まれたシステムディスクユニットに、コピーすることを特徴とする付記１のデータストレージシステム。
【０１４９】
（付記３）前記１の制御ユニットは、前記差し込まれたシステムディスクユニットの識別子を読み込み、前記他の制御モジュールの１のシステムディスクユニットが組み込みこまれたかを判定することを特徴とする付記１のデータストレージシステム。
【０１５０】
（付記４）前記１の制御ユニットは、前記識別子により、前記差し込まれたシステムディスクユニットが、前記他の制御モジュールの１のシステムディスクユニットでないと判定した時は、前記１の制御モジュールのシステムディスクユニットのログデータを、前記組み込まれたシステムディスクユニットに、コピーすることを特徴とする付記３のデータストレージシステム。
【０１５１】
（付記５）前記１の制御モジュールは、前記組み込まれた他の制御モジュールのシステムディスクユニットのログデータの領域を読み出し、前記ログデータの領域以外の前記他の制御モジュールのシステムディスクユニットの領域に、前記１の制御モジュールのシステムディスクユニットのログデータを、コピーすることを特徴とする付記２のデータストレージシステム。
【０１５２】
（付記６）前記１の制御モジュールは、外部装置の指示に応じて、前記１の制御モジュールの他のシステムディスクユニットを切り離し、前記他の制御モジュールのシステムディスクユニットの挿入のためのシステムディスクスロットを開放することを特徴とする付記１のデータストレージシステム。
【０１５３】
（付記７）前記１の制御モジュールは、外部装置のログデータ取得指示に応じて、前記組み込まれたシステムディスクユニットの前記他の制御モジュールのログデータを出力することを特徴とする付記１のデータストレージシステム。
【０１５４】
（付記８）前記１の制御モジュールは、前記他の制御モジュールのログデータを、前記外部装置に出力することを特徴とする付記７のデータストレージシステム。
【０１５５】
（付記９）データを記憶する複数のディスク記憶デバイスに接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する複数の制御モジュールを有し、前記各制御モジュールは、前記ディスク記憶デバイスに記憶されたデータの一部を格納するキャッシュ領域を有するメモリと、前記アクセス制御を行う制御ユニットと、前記上位とのインターフェース制御を行う第１のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第２のインターフェース部と、前記制御ユニットに接続され、前記制御ユニットの少なくともログデータを格納する一対のシステムディスクユニットとを有するストレージ制御装置の異常時のログデータ出力方法であって、他の制御モジュールの異常時に、前記他の制御モジュールから抜き出された１のシステムディスクユニットが、１の制御モジュールのシステムディスクスロットに差込まれたことを検出するステップと、前記他の制御モジュールの１のシステムディスクユニットを前記１の制御モジュールに組み込むステップと、前記組み込まれた他の制御モジュールの１のシステムディスクユニットのログデータを前記１の制御モジュールで出力するステップとを有することを特徴とするストレージ制御装置の異常時のログデータ出力方法。
【０１５６】
（付記１０）前記他の制御モジュールの１のシステムディスクユニットを組み込んだ後、前記１の制御モジュールのシステムディスクユニットのログデータを、前記他の制御モジュールのシステムディスクユニットの他の制御モジュールのログデータを破壊することなく、前記組み込まれたシステムディスクユニットに、コピーするステップを更に有することを特徴とする付記９のストレージ制御装置の異常時のログデータ出力方法。
【０１５７】
（付記１１）前記検出ステップは、前記差し込まれたシステムディスクユニットの識別子を読み込み、前記他の制御モジュールの１のシステムディスクユニットが組み込みこまれたかを判定するステップからなることを特徴とする付記９のストレージ制御装置の異常時のログデータ出力方法。
【０１５８】
（付記１２）前記識別子により、前記差し込まれたシステムディスクユニットが、前記他の制御モジュールの１のシステムディスクユニットでないと判定した時は、前記１の制御モジュールのシステムディスクユニットのログデータを、前記組み込まれたシステムディスクユニットに、コピーするステップを更に有することを特徴とする付記１１のストレージ制御装置の異常時のログデータ出力方法。
【０１５９】
（付記１３）コピーするステップは、前記組み込まれた他の制御モジュールのシステムディスクユニットのログデータの領域を読み出し、前記ログデータの領域以外の前記他の制御モジュールのシステムディスクユニットの領域に、前記１の制御モジュールのシステムディスクユニットのログデータを、コピーするステップからなることを特徴とする付記１０のストレージ制御装置の異常時のログデータ出力方法。
【０１６０】
（付記１４）外部装置の指示に応じて、前記１の制御モジュールの他のシステムディスクユニットを切り離し、前記他の制御モジュールのシステムディスクユニットの挿入のためのシステムディスクスロットを開放するステップを更に有することを特徴とする付記９のストレージ制御装置の異常時のログデータ出力方法。
【０１６１】
（付記１５）出力ステップは、外部装置のログデータ取得指示に応じて、前記組み込まれたシステムディスクユニットの前記他の制御モジュールのログデータを出力するステップからなることを特徴とする付記９のストレージ制御装置の異常時のログデータ出力方法。
【０１６２】
（付記１６）出力ステップは、前記他の制御モジュールのログデータを、前記外部装置に出力するステップからなることを特徴とする付記１５のストレージ制御装置の異常時のログデータ出力方法。
【産業上の利用可能性】
【０１６３】
制御モジュールにシステムディスクを内蔵したので、制御モジュールと、ディスク記憶デバイスとの経路が不具合となっても、制御モジュールや他の経路により、システムディスクから、ファームウェアや装置構成のバックアップデータを読み出すことができ、他の経路を利用した動作が可能となり、且つログデータの読み出し、書き込みができ、障害時の解析や、予防障害の診断等が可能となる。
【０１６４】
しかも、１の制御モジュールが異常でも、他の制御モジュールに、１の制御モジュールのシステムディスクドライブを差し込み、１の制御モジュールで読み出すため、制御モジュールにシステムディスクドライブを内蔵しても、異常制御モジュールのシステムディスクのログデータを出力できる。このため、信頼性の高いストレージシステムを提供できる。
【図面の簡単な説明】
【０１６５】
【図１】本発明の一実施の形態のデータストレージシステムの構成図である。
【図２】図１の制御モジュールの構成図である。
【図３】図１及び図２のバックエンドルータとディスクエンクロージャの構成図である。
【図４】図１及び図３のディスクエンクロージャの構成図である。
【図５】図１及び図２の構成のリード処理の説明図である。
【図６】図１及び図２の構成のライト処理の説明図である。
【図７】本発明の一実施の形態の制御モジュールの実装構成を示す図である。
【図８】本発明の一実施の形態のデータストレージシステムの実装構成例を示す図である。
【図９】本発明の一実施の形態のログデータ出力方法の異常コントローラのディスク引き抜き動作の説明図である。
【図１０】本発明の一実施の形態のログデータ出力方法のディスク切り離し動作の説明図である。
【図１１】本発明の一実施の形態のログデータ出力方法の正常コントローラのディスク引き抜き動作の説明図である。
【図１２】本発明の一実施の形態のログデータ出力方法のディスク差込み動作の説明図である。
【図１３】本発明の一実施の形態のログデータ出力方法のログデータ二重化動作の説明図である。
【図１４】本発明の一実施の形態のログデータ出力方法のログデータ出力動作の説明図である。
【図１５】本発明の一実施の形態のログデータ出力処理フロー図である。
【図１６】本発明の一実施の形態の構成情報定義テーブルの説明図である。
【図１７】図１５の情報抽出処理フロー図である。
【図１８】図１５の保守・交換処理のディスク交換動作の説明図である。
【図１９】図１５の保守・交換処理のログデータ二重化動作の説明図である。
【図２０】従来のストレージシステムの構成図である。
【符号の説明】
【０１６６】
１  ストレージシステム
２−０〜２−１５  ディスクエンクロージャ
４−０〜４−３  制御ユニット
５−０〜５−３  バックエンドルータ
６−０〜６−１  フロントエンドルータ
７  バックパネル
４０  制御モジュール
４０ａ 制御ユニット
４０ｂ  メモリ
４１  チャネルアダプタ
４２  デバイスアダプタ
４３  通信ユニット（DMAエンジン）
４５３，４５４  システムディスクユニット
【図１】
2006268402.tif 000003
【図２】
2006268402.tif 000004
【図３】
2006268402.tif 000005
【図４】
2006268402.tif 000006
【図５】
2006268402.tif 000007
【図６】
2006268402.tif 000008
【図７】
2006268402.tif 000009
【図８】
2006268402.tif 000010
【図９】
2006268402.tif 000011
【図１０】
2006268402.tif 000012
【図１１】
2006268402.tif 000013
【図１２】
2006268402.tif 000014
【図１３】
2006268402.tif 000015
【図１４】
2006268402.tif 000016
【図１５】
2006268402.tif 000017
【図１６】
2006268402.tif 000018
【図１７】
2006268402.tif 000019
【図１８】
2006268402.tif 000020
【図１９】
2006268402.tif 000021
【図２０】
2006268402.tif 000022