(57)【要約】    【課題】メインＣＰＵによる構成テーブルの書替え中に、サブＣＰＵの入出力制御に伴う参照を抑止して誤動作を防止する。    【解決手段】  ストレージシステムは、第１入出力制御部と構成管理部と実行対象として備えた第１処理部（メインＣＰＵ）と、第２入出力制御部とこれより実行優先度の高い高優先度制御部とを実行対象として備えた第２処理部（サブＣＰＵ）と、構成情報を格納した構成テーブルを配置した共用メモリとを備える。構成情報変更制御部は、構成情報の変更指示を受けた際に、第２処理部により高優先度制御部の処理を実行させて第２入出力制御部による構成テーブルの参照を抑止した状態で構成テーブルの構成情報を変更し、構成情報の変更完了で第２処理部に高優先度制御部の処理を終了させる。高優先度制御部は、システム制御部、コマンド中継制御部（保守エージェント）、又は排他専用タスク制御部である。    【選択図】      図１
2006344119.tif 000002
【特許請求の範囲】
【請求項１】
構成情報を参照してボリュームの入出力処理を実行する第１入出力制御部と、構成情報を管理する構成管理部とを実行対象として備えた第１処理部と、
前記構成情報を参照して別のボリュームの入出力処理を実行する第２入出力制御部と、前記第２入出力制御部より実行優先度の高い高優先度制御部を実行対象として備えた第２処理部と、
前記構成情報を格納した構成テーブルを配置した共用メモリと、
を備えたストレージ装置に於いて、
前記構成情報の変更指示を受けた際に、前記第２処理部に前記高優先度制御部の処理を実行させることにより前記第２入出力制御部による前記構成テーブルの参照を抑止した状態で前記構成テーブルの構成情報を変更し、前記構成情報の変更完了で前記第２処理部に前記高優先度制御部の処理を終了させる構成情報変更制御部を設けたことを特徴とするストレージ装置。
【請求項２】
請求項１記載のストレージ装置に於いて、前記高優先度制御部は、装置全体を管理するシステム制御部であり、
前記構成情報変更制御部は、構成情報の変更指示を受けた際に、前記構成テーブルの書替中フラグをオンすると共に第２処理部受信フラグをオフした後に前記第２処理部に構成情報の書替え開始を通知し、前記第２処理部による前記システム制御部の処理実行に伴う前記第２処理部受信フラグのオンを検出した際に前記構成テーブルの構成情報を変更し、前記構成情報の変更完了で前記書替中フラグをオフして前記第２処理部に前記システム制御部の処理を終了させることを特徴とするストレージ装置。
【請求項３】
請求項１記載のストレージ装置に於いて、前記高優先度制御部は、装置全体を管理するシステム制御部と前記第２入出力制御部との間でコマンドを中継するコマンド中継制御部であり、
前記構成情報変更制御部は、構成情報の変更指示を受けた際に、前記構成テーブルの書替中フラグをオンすると共に第２処理部受信フラグをオフした後に前記第２処理部に構成情報の書替え開始を通知し、前記第２処理部による前記コマンド中継制御部の処理実行に伴う前記第２処理部受信フラグのオンを検出した際に前記構成テーブルの構成情報を変更し、前記構成情報の変更完了で前記書替中フラグをオフして前記第２処理部に前記コマンド中継制御部の処理を終了させることを特徴とするストレージ装置。
【請求項４】
構成情報を参照してボリュームの入出力処理を実行する第１入出力制御部と、前記構成情報を管理する構成管理部とを実行対象として備えた第１処理部と、
前記構成情報を参照して別のボリュームの入出力処理を実行する第２入出力制御部と、
前記第２入出力制御部より実行優先度の高い高優先度制御部とを実行対象として備えた第２処理部と、
前記構成情報を格納した構成テーブルを配置した共用メモリと、
を備えたストレージ装置の構成情報管理方法に於いて、
構成情報の変更指示を受けた際に、前記第２処理部により前記高優先度制御部の処理を実行させて前記第２入出力制御部による前記構成テーブルの参照を抑止させる参照抑止ステップと、
前記構成テーブルの参照を抑止させた状態で前記構成テーブルの構成情報を変更する構成情報変更ステップと、
前記構成情報の変更完了で前記第２処理部に前記高優先度制御部の処理を終了させる参照抑止解除ステップと、
を備えたことを特徴とする構成情報管理方法。
【請求項５】
構成情報を参照してボリュームの入出力処理を実行する第１入出力制御部と、前記構成情報を管理する構成管理部とを実行対象として備えた第１処理部と、
前記構成情報を参照して別のボリュームの入出力処理を実行する第２入出力制御部と、前記第２入出力制御部より実行優先度の高い高優先度制御部を実行対象として備えた第２処理部と、
前記構成情報を格納した構成テーブルを配置した共用メモリと、
を備えたストレージ装置の前記第１処理部を構成するコンピュータに、
構成情報の変更指示を受けた際に、前記第２処理部により前記高優先度制御部の処理を実行させて前記第２入出力制御部による前記構成テーブルの参照を抑止させる参照抑止ステップと、
前記構成テーブルの参照を抑止させた状態で前記構成テーブルの構成情報を変更する構成情報変更ステップと、
前記構成情報の変更完了で前記第２処理部に前記高優先度制御部の処理を終了させる参照抑止解除ステップと、
を実行させることを特徴とする構成情報管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置からの入出力要求を処理するＲＡＩＤ構成のボリュームを備えたストレージ装置、構成情報管理方法及びプログラムに関し、特に共用メモリの構成情報をデュアル構成のＣＰＵで管理するストレージ装置、構成情報管理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、グローバルサーバやオープンサーバ等のストレージ装置として使用されるＲＡＩＤ装置にあっては、制御モジュール、チャネルアダプタ、デバイスアダプタ及びルータで構成されている。
【０００３】
制御モジュールには、ＣＰＵ及びキャッシュ等が搭載され、ストレージ装置全体の動作を制御する。チャネルアダプタは、ＲＡＩＤ装置と各種サーバとを接続するモジュールであり、ファイバチャネル、ｉＳＣＳＩ等のインタフェースを使用している。デバイスアダプタは、制御モジュールと複数の磁気ディスクドライブを搭載したドライブエンクロージャとを接続するモジュールであり、ファイバチャネルインタフェースを使用している。更に、ルータは制御モジュール、チャネルアダプタ及びデバイスアダプタの間を高速に接続するためのモジュールである。
【０００４】
このような従来のストレージ装置にあっては、制御モジュールに搭載しているＣＰＵが１台であり、ＣＰＵによるプログラムの実行により、システム全体の状態を管理するシステム制御、サーバからのユーザボリュームに対する入出力要求をキャッシュ制御を介して処理する入出力制御、更にサービスプロセッサからの指示で動作する保守制御等のファームウェア機能を実現している。
【０００５】
このうち、システム制御には構成制御が含まれており、システム起動時にメモリ上に構成テーブルを展開し、構成テーブルにはユーザ操作により部品構成やＲＡＩＤ構成などの装置設定情報を格納し、また装置の現在の状態を示す各部品のステータスなどの状態情報を格納している。
【０００６】
またシステムの運用中に装置の設定や設置状態に変化があった場合には、構成テーブルの構成情報を変更する構成変更処理が行われる。またサーバからの入出力処理を実行する入出力制御部にあっては、必要に応じて入出力処理を実行する際に構成テーブルを参照している。
【０００７】
ところで、近年にあっては、ＣＰＵの動作周波数が限界に近づき、大幅な処理性能の向上が期待できないことから、デュアル構成のプロセッサが使用されており、ストレージ装置の制御モジュールについても、デュアル構成のプロセッサを採用することでＣＰＵを２台搭載することが考えられている。
【０００８】
このように制御モジュールにＣＰＵを２台搭載した場合には、２台のＣＰＵによるプログラムの実行により、システム全体の状態を管理するシステム制御、サーバからのユーザボリュームに対する入出力要求をキャッシュ制御を介して処理する入出力制御、更にサービスプロセッサからの指示で動作する保守制御等のファームウェア機能を２つ実現することができ、従来の１ＣＰＵの制御モジュールを２台設置したと同等な処理性能の向上が期待できる。
【特許文献１】特開平５−３３４１６３号公報
【特許文献２】特開２００１−５７２０号公報
【特許文献３】特開２００４−３３４７２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、ストレージ装置の制御モジュールに２台のＣＰＵを搭載した場合、構成制御テーブルは両方のＣＰＵの共用メモリに展開されており、次の問題がある。
【００１０】
まず構成情報管理を含むシステム制御タスクと入出力制御タスクとの間では、タスク優先度はシステム制御タスクの方が高い。このため従来の１ＣＰＵにあっては，システム制御タスクが構成テーブルを書替中には、入出力制御タスクが動作することはなく、書替中の構成テーブルを参照することはなかった。
【００１１】
しかしながら、構成テーブルが両ＣＰＵの共用メモリに展開されている場合、メインＣＰＵで構成テーブルを書替えている間、メインＣＰＵの入出力制御タスクは動作できないが、サブＣＰＵの入出力制御タスクは動作できることになる。これは構成テーブルの書替ええ途中の情報を入出力制御部が参照できるということであり、書替え途中の矛盾した状態を参照することで、誤動作する可能性がある。
【００１２】
本発明は、メインＣＰＵによる構成テーブルの書替え中に、サブＣＰＵの入出力制御に伴う参照を抑止して誤動作を防止するストレージ装置、構成情報管理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
図１は本発明の原理説明図である。
【００１４】
（高優先制御部の実行による排他制御）
本発明は、構成情報を参照してボリュームの入出力処理を実行する第１入出力制御部（３８−１）と、システム制御部３８−１に含まれ構成情報を管理する構成管理部６０とを実行対象として備えた第１処理部（メインＣＰＵ２２）と、構成情報を参照して別のボリュームの入出力処理を実行する第２入出力制御部（３６−２）と、第２入出力制御部より実行優先度の高い高優先度制御部を実行対象として備えた第２処理部（サブＣＰＵ２４）と、構成情報を格納した構成テーブル４８を配置した共用メモリ２８とを備えたストレージ装置（ＲＡＩＤ装置１０）を対象とする。
【００１５】
このようなストレージ装置につき本発明は、構成情報の変更指示を受けた際に、第２処理部（サブＣＰＵ２４）により高優先度制御部の処理を実行させて第２入出力制御部による構成テーブル４８の参照を抑止した状態で構成テーブル４８の構成情報を変更し、構成情報の変更完了で第２処理部に高優先度制御部の処理を終了させる構成情報変更制御部７６を設けたことを特徴とする。
【００１６】
ここで、高優先度制御部は、装置全体を管理するシステム制御部であり、構成情報変更制御部は、構成情報の変更指示を受けた際に、構成テーブルの書替中フラグをオンすると共に第２処理部受信フラグをオフした後に第２処理部に構成情報の書替え開始を通知し、第２処理部によるシステム制御部の処理実行に伴う第２処理部受信フラグのオンを検出した際に構成テーブルの構成情報を変更し、構成情報の変更完了で前記書替中フラグをオフして第２処理部に前記システム制御部の処理を終了させる。
【００１７】
高優先度制御部は、システム制御部と第２入出力制御部との間でコマンドを中継するコマンド中継制御部であり、構成情報変更制御部は、構成情報の変更指示を受けた際に、構成テーブルの書替中フラグをオンすると共に第２処理部受信フラグをオフした後に第２処理部に構成情報の書替え開始を通知し、第２処理部による前記コマンド中継制御部の処理実行に伴う第２処理部受信フラグのオンを検出した際に構成テーブルの構成情報を変更し、構成情報の変更完了で書替中フラグをオフして第２処理部にコマンド中継制御部の処理を終了させる。
【００１８】
また高優先度制御部は、システム制御部と第２入出力制御部との間でコマンドを中継するコマンド中継制御部であり、構成情報変更制御部は、構成情報の変更指示を受けた際に、セマフォを獲得した後に第２処理部によりコマンド中継制御部にセマフォ獲得処理を実行させて第２入出力処理部による構成テーブルの参照を抑止した状態で構成テーブルの構成情報を変更し、構成情報の変更完了で前記セマフォを解放して第２処理部のコマンド中継制御部に獲得させた後にセマフォ獲得処理を終了させる。
【００１９】
また高優先度制御部は、システム制御部と第２入出力制御部との間でコマンドを中継するコマンド中継制御部であり、構成情報変更制御部は、構成情報の変更指示を受けた際に、第２処理部によりコマンド中継部に中継キューの読出処理を実行させて第２入出力制御部による構成テーブルの参照を抑止した状態で構成テーブルの構成情報を変更し、構成情報の変更完了を中継キューに書込んで第２処理部のコマンド中継制御部に中継キュー読出処理を終了させる。
【００２０】
更に、高優先度制御部は、排他専用のタスク処理のために設けた排他専用タスク制御部であり、構成情報変更制御部は、構成情報の変更指示を受けた際に、書替中フラグをオンすると共に第２処理部受信フラグをオフした後に第２処理部に構成情報の書替え開始を通知し、第２処理部による排他専用タスク制御部の処理実行に伴う第２処理部受信フラグのオンを検出した際に構成テーブルの構成情報を変更し、構成情報の変更完了で書替中フラグをオフして第２処理部に排他専用タスク制御部の処理を終了させる。
【００２１】
本発明は、第１入出力制御部と構成情報を管理する構成管理部と実行対象として備えた第１処理部と、第２入出力制御部と第２入出力制御部より実行優先度の高い高優先度制御部とを実行対象として備えた第２処理部と、構成テーブルを配置した共用メモリとを備えたストレージ装置の構成情報管理方法に於いて、
構成情報の変更指示を受けた際に、第２処理部により高優先度制御部の処理を実行させて第２入出力制御部による構成テーブルの参照を抑止させる参照抑止ステップと、
構成テーブルの参照を抑止させた状態で構成テーブルの構成情報を変更する構成情報変更ステップと、
構成情報の変更完了で第２処理部に高優先度制御部の処理を終了させる参照抑止解除ステップと、
を備えたことを特徴とする。
【００２２】
本発明は、第１入出力制御部と構成情報を管理する構成管理部と実行対象として備えた第１処理部と、第２入出力制御部と第２入出力制御部より実行優先度の高い高優先度制御部とを実行対象として備えた第２処理部と、構成テーブルを配置した共用メモリとを備えたストレージ装置の前記第１処理部を構成するコンピュータに、
構成情報の変更指示を受けた際に、第２処理部により高優先度制御部の処理を実行させて第２入出力制御部による構成テーブルの参照を抑止させる参照抑止ステップと、
構成テーブルの参照を抑止させた状態で構成テーブルの構成情報を変更する構成情報変更ステップと、
構成情報の変更完了で第２処理部に高優先度制御部の処理を終了させる参照抑止解除ステップと、
を実行させることを特徴とする。
【００２３】
（個別テーブル構成）
本発明は、第１入出力制御部と構成管理部とを実行対象として備えた第１処理部と、第２入出力制御部を備えた第２処理部を実行対象として備えたストレージ装置に於いて、
第１処理部が参照する構成情報を格納した第１構成テーブルと第２処理部が参照する構成情報を格納した第２構成テーブルを配置した共用メモリと、
構成情報変更指示を受けた際に、第１構成テーブルの構成情報を変更した後に、構成情報変更指示を第に処理部に配信して第２構成テーブルの構成情報を変更させる構成情報変更制御部と、
を備えたことを特徴とする。
【００２４】
本発明は、第１入出力制御部と構成管理部とを実行対象として備えた第１処理部と、第２入出力制御部を備えた第２処理部を実行対象として備えたストレージ装置の構成情報管理方法に於いて、
共用メモリに、第１処理部が参照する構成情報を格納した第１構成テーブルと第２処理部が参照する構成情報を格納した第２構成テーブルを配置するテーブル配置ステップと、
構成情報変更指示を受けた際に、第１構成テーブルの構成情報を変更した後に、構成情報変更指示を第２処理部に配信して第２構成テーブルの構成情報を変更させる構成変更ステップと、
を備えたことを特徴とする。
【００２５】
本発明は、第１入出力制御部と構成管理部とを実行対象として備えた第１処理部と、第２入出力制御部を備えた第２処理部を実行対象として備えたストレージ装置における第１処理部を構成するコンピュータに、
共用メモリに、第１処理部が参照する構成情報を格納した第１構成テーブルと第２処理部が参照する構成情報を格納した第２構成テーブルを配置するテーブル配置ステップと、
構成情報変更指示を受けた際に、第１構成テーブルの構成情報を変更した後に、構成情報変更指示を第２処理部に配信して第２構成テーブルの構成情報を変更させる構成変更ステップと、
を実行させることを特徴とする。
【００２６】
（二重化テーブル）
本発明は、第１入出力制御部と構成管理部を実行対象として備えた第１処理部と、第２入出力制御部を実行対象として備えた第２処理部とを有するストレージ装置に於いて、
構成情報を個別に格納したミラー構成の第１構成テーブルと第２構成テーブルを配置した共用メモリと、
構成情報変更指示を受けた際に、第２構成テーブルの変更位置に参照ポインタを設定して第１構成テーブルの同じ変更位置の構成情報を変更し、続いて第１構成テーブルの変更位置に参照ポインタを設定して第２構成テーブルの同じ変更位置の構成情報を変更する構成情報変更制御部と、
を備えたことを特徴とする。
【００２７】
本発明は、第１入出力制御部と構成管理部を実行対象として備えた第１処理部と、第２入出力制御部を実行対象として備えた第２処理部とを有するストレージ装置の構成情報管理方法に於いて、
共用メモリに、構成情報を個別に格納したミラー構成の第１構成テーブルと第２構成テーブルを配置するテーブル配置ステップと、
構成情報変更指示を受けた際に、第２構成テーブルの変更位置に参照ポインタを設定して第１構成テーブルの同じ変更位置の構成情報を変更し、続いて第１構成テーブルの変更位置に参照ポインタを設定して第２構成テーブルの同じ変更位置の構成情報を変更する構成変更ステップと、
を備えたことを特徴とする。
【００２８】
本発明は、第１入出力制御部と構成管理部を実行対象として備えた第１処理部と、第２入出力制御部を実行対象として備えた第２処理部を有するストレージ装置の前記第１処理部を構成するコンピュータに、
共用メモリに、構成情報を個別に格納したミラー構成の第１構成テーブルと第２構成テーブルを配置するテーブル配置ステップと、
構成情報の変更指示を受けた際に、第２構成テーブルの変更位置に参照ポインタを設定して第１構成テーブルの同じ変更位置の構成情報を変更し、続いて第１構成テーブルの変更位置に参照ポインタを設定して第２構成テーブルの同じ変更位置の構成情報を変更する構成変更ステップと、
を実行させることを特徴とする。
【００２９】
（中断通知による排他制御）
本発明は、第１入出力制御部と構成管理部を実行対象として備えた第１処理部と、第２入出力制御部を実行対象として備えた第２処理部と、構成テーブルを配置した共用メモリとを備えたストレージ装置に於いて、
構成情報の変更指示を受けた際に、第２処理部に対し受付け済みの入出力要求は完了させ新規の入出力は受付けなくする中断処理を指示した後に構成テーブルの構成情報を変更し、記構成情報の変更完了で第２処理部に処理の再開を指示する構成情報変更制御部を設けたことを特徴とする。
【００３０】
本発明は、第１入出力制御部と構成管理部を実行対象として備えた第１処理部と、第２入出力制御部を実行対象として備えた第２処理部と、構成テーブルを配置した共用メモリとを備えたストレージ装置の構成情報管理方法に於いて、
構成情報の変更指示を受けた際に、第２処理部に、受付け済みの入出力要求は完了させ、新規の入出力は受付けなくする中断処理を指示する中断指示ステップと、
中断処理を指示した後に構成テーブルの構成情報を変更する構成情報変更ステップと、
構成情報の変更完了で第２処理部に処理の再開を指示する再開指示ステップと、
を備えたことを特徴とする。
【００３１】
本発明は、第１入出力制御部と構成管理部を実行対象として備えた第１処理部と、第２入出力制御部を実行対象として備えた第２処理部と、構成テーブルを配置した共用メモリとを備えたストレージ装置の第１処理部を構成するコンピュータに、
構成情報の変更指示を受けた際に、第２処理部に、受付け済みの入出力要求は完了させ、新規の入出力は受付けなくする中断処理を指示する中断指示ステップと、
中断処理を指示した後に構成テーブルの構成情報を変更する構成情報変更ステップと、
構成情報の変更完了で前記第２処理部に処理の再開を指示する再開指示ステップと、
を実行させることを特徴とする。
【００３２】
（テーブル参照時の排他制御）
本発明は、第１入出力制御部と構成管理部を実行対象として備えた第１処理部と、第２入出力制御部を実行対象として備えた第２処理部と、構成テーブルを配置した共用メモリとを備えたストレージ装置に於いて、
構成情報の変更指示を受けた際に、構成テーブルに排他制御情報を設定して第２入出力制御部の参照を抑止（ロック）した後に構成テーブルの構成情報を変更し、構成情報の変更完了で排他制御情報の設定を解除する構成情報変更制御部を設けたことを特徴とする。
【００３３】
本発明は、第１入出力制御部と構成管理部を実行対象として備えた第１処理部と、第２入出力制御部を実行対象として備えた第２処理部と、構成テーブルを配置した共用メモリとを備えたストレージ装置の構成情報管理方法に於いて、
構成情報の変更指示を受けた際に、構成テーブルに排他制御情報を設定して第２入出力制御部の参照を抑止する排他制御設定ステップと、
排他制御情報を設定した状態で構成テーブルの構成情報を変更する構成情報変更ステップと、
構成情報の変更完了で排他制御情報の設定を解除する排他制御解除ステップと、
を備えたことを特徴とする。
【００３４】
本発明は、第１入出力制御部と構成管理部を実行対象として備えた第１処理部と、第２入出力制御部を実行対象として備えた第２処理部と、構成テーブルを配置した共用メモリとを備えたストレージ装置の第１処理部を構成するコンピュータに、
構成情報の変更指示を受けた際に、構成テーブルに排他制御情報を設定して第２入出力制御部の参照を抑止する排他制御設定ステップと、
排他制御情報を設定した状態で構成テーブルの構成情報を変更する構成情報変更ステップと、
構成情報の変更完了で排他制御情報の設定を解除する排他制御解除ステップと、
を実行させることを特徴とする。
【発明の効果】
【００３５】
本発明によれば、第１処理部となるメインＣＰＵから共用メモリに展開された構成テーブルを構成情報変更依頼に基づいた書替中に、第２処理部となるサブＣＰＵの入出力制御部の処理実行を、
（１）優先度の高い高優先度制御部（システム制御部の処理実行、コマンド中継制御部又は排他専用タスク制御部）の処理実行
（２）優先度の高いコマンド中継制御部（エージェント動作、セマフォ獲得又はメッセージキュー利用）の処理実行
（３）構成テーブルの個別配置
（４）構成テーブルのミラー化（２面化）
（５）入出力制御のサスペンド通知（中断通知）
（６）構成テーブル参照時のフラグ排他制御
のいずれかより抑止し、これによってメインＣＰＵによる構成テーブルの書替え途中の矛盾した状態をサブＣＰＵが参照することによる誤動作を確実に防止することができ、デュアルＣＰＵ構成により処理性能を向上した場合に信頼性の高いストレージ装置が実現できる。
【発明を実施するための最良の形態】
【００３６】
図２は本発明が適用されるＲＡＩＤ装置のハードウェア装置のブロック図である。図２において、ＲＡＩＤ装置１０はチャネルアダプタ１６−１１〜１６−２２、制御モジュール１８−１，１８−２、ドライブエンクロージャ２０−１，２０−２を備えている。ＲＡＩＤ装置１０には例えばチャネルアダプタ１６−１１によって上位装置としてグローバルサーバ１２が接続され、またチャネルアダプタ１６−２２によってオープンサーバ１４が接続されている。
【００３７】
制御モジュール１８−１，１８−２は同じ構成を有し、第１処理部としてのメインＣＰＵ２２−１，２２−２、第２処理部としてのサブＣＰＵ２４−１，２４−２、デバイスインターフェース２６−１１，２６−１２，２６−２１、２６−２２、共用メモリ２８−１、２８−２、ＤＭＡ処理部３０−１，３０−２を設けている。
【００３８】
更にドライブエンクロージャ２０−１，２０−２には例えばハードディスクドライブを用いたディスク装置３２−１１〜３２−１５，３２−２１〜３２−２５が設けられている。尚、ＲＡＩＤ装置１０は最小構成を例にとっており、最大構成としては２台の制御モジュール１８−１，１８−２を８台に増設することができ、またドライブエンクロージャについても拡張筐体を使用することで必要に応じて更に増設することができる。
【００３９】
制御モジュール１８−１，１８−２につき、制御モジュール１８−１を例にとって説明すると、本発明の制御モジュール１８−１にあっては２台のＣＰＵとして、メインＣＰＵ２２−１とサブＣＰＵ２４−１を設けており、１台の制御モジュール１８−１で実質的に２台の制御モジュールを設けたのと同等の処理機能を実現している。また制御モジュール１８−１に設けたメモリは、メインＣＰＵ２２−１とサブＣＰＵ２４−１に対し共用メモリ２８−１として使用されており、共用メモリ２８−１にはキャッシュメモリとしての使用領域及び本発明が対象とする構成管理の対象となる構成テーブルの割り当て領域が確保されている。
【００４０】
図３は本発明によるＲＡＩＤ装置の機能構成のブロック図であり、図２における制御モジュール１８−１，１８−２のそれぞれは同じ構成を持つことから、図３にあっては制御モジュール１８としてその機能構成を示している。
【００４１】
図３において、制御モジュール１８にはメインＣＰＵ２２とサブＣＰＵ２４が設けられており、それぞれプログラムの実行によりＲＡＩＤ装置としての機能が実現されている。まずメインＣＰＵ２２を見ると、通信処理部３４−１、入出力制御部３６−１、システム制御部３８−１及び保守制御部４０が設けられる。これに対しサブＣＰＵ２４については通信処理部３４−２、入出力制御部３６−２更にシステム制御部３８−２が設けられているが、保守制御部は設けられていない。
【００４２】
通信処理部３４−１，３４−２はチャネルアダプタ１６−１１，１６−１２を経由した制御モジュール間の通信、メインＣＰＵ２２とサブＣＰＵ２４との間のＣＰＵ間通信などを行う。
【００４３】
入出力制御部３６−１，３６−２は上位のサーバからの入出力要求を処理する。そのため入出力制御部３６−１に対してはユーザボリューム４４−１が設けられ、一方、入出力制御部３６−２に対してはユーザボリューム４４−２が設けられている。
【００４４】
入出力制御部３６−，３６−２にはチャネルアダプタ制御部５０−１，５０−２が設けられ、通信処理部３４−１，３４−２を介してチャネルアダプタ１６−１１，１６−１２に接続される図２に示したグローバルサーバ１２、オープンサーバ１４との間で通信を行うためのファイバーチャネルドライバもしくはｉＳＣＳＩドライバとして動作する。
【００４５】
また入出力制御部３６−１，３６−２には基本的な制御部としてレイヤー構成をとるリソース処理部５２−１，５２−２、コピー処理部５４−１，５４−２、キャッシュ処理部５６−１，５６−２及びＲＡＩＤ制御部５８−１，５８−２が設けられている。リソース処理部５２−１，５２−２は上位装置からの入出力要求の排他や監視を行う。
【００４６】
コピー処理部５４−１，５４−２はＲＡＩＤ装置内部及び外部の別のＲＡＩＤ装置との間でボリューム単位でのコピー処理を行う。キャッシュ処理部５６−１，５６−２は上位装置からのリード要求、ライト要求に対するキャッシュメモリを管理しており、リードまたはライト要求に対するヒットとミスヒットの判定及びステージングやライトバックなどのスケジュールなどを実行する。
【００４７】
ＲＡＩＤ制御部５８−１，５８−２は各ＲＡＩＤレベルでのディスクエンクロージャ側に対する入出力処理を制御する。この例では例えばＲＡＩＤ装置５８−１はユーザボリューム４４−１につきＲＡＩＤレベル４で入出力処理を実行し、一方、ＲＡＩＤ制御部５８−２はユーザボリューム４４−２に対しＲＡＩＤレベル５で入出力処理を実行する。
【００４８】
メインＣＰＵ２２に設けたシステム制御部３８−１は、ＲＡＩＤ装置全体の状態を管理する。ＲＡＩＤ装置におけるシステム制御は基本的にメインＣＰＵ２２のシステム制御部３８−１が実行しており、サブＣＰＵ２４にもシステム制御部３８−２が設けられているが、これはサブＣＰＵ２４に結合されているハードウェアを操作する必要がある場合にのみ、例外的に動作させるようにしている。
【００４９】
メインＣＰＵ２２のシステム制御部３８−１には本発明が対象とする構成テーブルの変更処理を行う構成管理部６０が設けられている。システム制御部３８−１には構成管理部６０の機能以外に、電源投入切断シーケンスと停電復電処理とを制御するパワー制御、装置内部でエラーが発生したときの障害部位の特定と障害部位の切り離しと再組み込みを行うＲＡＳ制御部、ディスクの障害時や発生補充時にホットスペアディスク（予備ディスク）の割当てやＲＡＩＤグループの状態制御を制御するＲＡＩＤリカバリー部、ディスク以外の部品の活性交換と物理的な活性増設または減設処理を制御する活性処理部及び電源や温度などのアラームや部品のマウント情報サービスプロセッサなどから通知されるイベントを装置内で同期させ必要な処理を起動するシステム管理部などが設けられている。
【００５０】
サブＣＰＵ２４側のシステム制御部３８−２にはメインＣＰＵ２２のシステム制御部３８−１に設けている各制御部の一部の機能が割り当てられる。
【００５１】
更にシステム制御部３８−１，３８−２には、保守エージェント６２−１，６２−２が設けられている。保守エージェント６２−１，６２−２は、システム制御部３８−１，３８−２と入出力制御部３６−１，３６−２の間に位置し、両者の間でコマンドの中継を行うコマンド中継処理部として機能する。
【００５２】
メインＣＰＵ２２側については、保守エージェント６２−１は保守制御部４０と入出力制御部３６−１との間のコマンド中継も行う。これは入出力制御部３６−１，３６−２に対しシステム制御部３８−１，３８−２と保守制御部４０側のコマンド形式が異なっていることに起因している。メインＣＰＵ２２の保守制御部４０はＲＡＩＤ装置の保守管理に必要な各種の保守タスクを実行する。
【００５３】
メインＣＰＵ２２とサブＣＰＵ２４の両方で使用される共用メモリ２８にはキャッシュメモリ４６と構成テーブル４８が展開されている。メインＣＰＵ２２のシステム制御部３８−１に設けた構成管理部６０は、共用メモリ２８の構成テーブル４８を使用して装置の構成情報を管理している。
【００５４】
構成管理部６０は例えば
（１）構成参照処理
（２）構成変更処理
（３）構成配信処理
の各処理機能を備えている。
【００５５】
ここで構成参照処理は依頼された構成参照コマンドの内容を解析し、装置の構成情報を構成テーブル４８から読み出して指定された形式に従って加工して取り出す機能である。構成変更処理は依頼された構成変更コマンドの内容を解析し、構成テーブル４８に格納している装置の構成情報変更する機能である。更に構成配信処理は、構成変更処理において変更された構成テーブル４８の装置の構成情報を同一装置内の他のレイヤーや別の制御モジュールに配信する機能である。
【００５６】
構成管理部６０に対する構成変更依頼は、装置の設定や装置状態の変化などにより構成テーブル４８を変更する必要がある場合に構成管理部６０にＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）プログラムから発行され、保守制御部４０における保守タスクを通じてシステム制御部３８−１の構成管理部６０に通知される。
【００５７】
構成管理部６０にあっては構成変更を要求するコマンドを受理すると、このコマンドに応じて構成テーブル４８を書き替える構成変更を行い、構成変更が済むと変更された構成情報を適切な相手に配信する。
【００５８】
図４は図３の共用メモリ２８に設けた構成テーブル４８の説明図である。図４において、構成テーブル４８は構成管理テーブル６４と基本マスタテーブル６６で構成される。構成管理テーブル６４は主に図３の保守制御部４０とシステム制御部３８−１，３８−２が使用するテーブルである。基本マスタテーブル６６は入出力制御部３６−１，３６−２が動作するために必要とする構成情報を集めたテーブルである。
【００５９】
構成管理テーブル６４の情報は設定情報６８と状態情報７０に分けられる。設定情報６８はユーザアプリケーションにより設定された部品構成やＲＡＩＤ構成などの情報であり、状態情報７０は装置の現在の情報を表す各部品のステータスなどを表す情報である。この点は基本マスタテーブル６６でも同様に設定情報７２と状態情報７４が格納されており、設定情報７２と状態情報７４は基本マスタテーブル６６の場合には入出力制御部３６−１，３６−２が動作するために必要な情報である。
【００６０】
再び図３を参照するに、メインＣＰＵ２２に設けたシステム制御部３８−１の構成管理部６０には構成テーブル４８の構成情報を書き替える構成変更処理の際にサブＣＰＵ２４の入出力制御部３６−２による書き替え途中の構成情報の参照による誤動作を防止するための排他制御を行う構成情報変更処理部としての機能が設けられている。この構成情報変更処理部としての機能として、本発明にあっては次の（１）〜（５）のいずれかの処理を実行するようにしている。
【００６１】
（１）メインＣＰＵ２２による構成テーブル４８の変更時にサブＣＰＵ２４において入出力制御部３６−２より優先度の高優先度制御部の処理を実行させる。この高優先度制御部による処理は、第２システム制御部３８−２を実行又は保守エージェント６２−２の実行で実現される。
（２）共用メモリ２８にメインＣＰＵが使用する構成テーブルと、サブＣＰＵ２４が使用する構成テーブルを個別に配置する。
（３）メインＣＰＵ２２が書き替える共用メモリ２８の構成テーブルをミラー化し、一方の構成テーブルの書き替え中、サブＣＰＵ２４は他方の構成テーブルを参照させることで書き替え途中の参照による誤動作を防ぐ。
（４）メインＣＰＵ２２は構成テーブル４８の変更に先立ちサブＣＰＵ２４に新たな入出力制御を辞めさせるサスペンド通知（中断通知）を行って参照を抑止する。
（５）共用メモリ２８の構成テーブル４８に排他フラグを設け、メインＣＰＵ２２は構成テーブル４８の変更時に排他フラグを獲得し、排他フラグを獲得できないサブＣＰＵ２４による参照を抑止する。
以下（１）〜（５）について各実施例を具体的に説明する。
【００６２】
図５は構成テーブルの書き替え時にサブＣＰＵにシステム制御タスクを実行させて入出力制御によるテーブル参照を抑止する本発明の第１実施形態の説明図である。
【００６３】
図５において、メインＣＰＵ２２に設けられたシステム制御部３８−１の構成管理部６０には構成情報変更処理部７６が設けられている。構成情報変更処理部７６は構成情報の変更指示を受けた際に、サブＣＰＵ２４に入出力制御部３６−２の入出力制御タスクより優先度の高い適宜の高優先度制御の処理を実行させることで、入出力制御部３６−２による構成テーブル４８の書き替え途中での参照を抑止する。
【００６４】
このサブＣＰＵ２４で入出力制御部３６−２より優先度の高い高優先度制御部の処理を実行させる例として、図５の第１実施形態にあってはサブＣＰＵ２４に設けたシステム制御部３８−２の処理を実行させる。本発明のＲＡＩＤ装置にあっては、各ＣＰＵにおける制御タスクの実行優先度は入出力制御タスクに対し、システム制御タスクが高く設定されている。
【００６５】
このためメインＣＰＵ２２で構成テーブル４８の書き替えに先立って、サブＣＰＵ２４でシステム制御部３８−２の処理を実行すれば、それより優先度の低い入出力制御部３６−２の処理は実行されず、構成テーブル４８を参照することを防止できる。
【００６６】
このサブＣＰＵ２４でシステム制御部３６−２の処理を実行させるための具体例として構成情報変更処理部７６にあっては、構成情報の変更指示を受けた際に共用メモリ２８上に設けている書替中フラグ７８をオンするともに、サブＣＰＵ２４が応答確認に使用するサブＣＰＵ受信フラグ８０をオフした後に、サブＣＰＵ２４に構成情報書替開始通知８２を行う。
【００６７】
この構成情報書替開始通知８２を受けてサブＣＰＵ２４でシステム制御部３６−２が実行８４の状態になると、共用メモリ２８のサブＣＰＵ受信フラグ８０をオンすることで受信した通知による確認応答をメインＣＰＵ２２に返す。続いてシステム制御部３８−２は共用メモリ２８の書替中フラグ７８を定期的に参照して確認するポーリング処理に入る。
【００６８】
メインＣＰＵ２２の構成情報変更制御部７６にあっては、構成書替開始通知８２を行った後、共用メモリ２８のサブＣＰＵ受信フラグ８０を監視しており、サブＣＰＵ受信フラグ８０がシステム制御部３６−２の動作によりオンされると、これを認識し構成変更８８を実行して構成テーブル４８を書替える。
【００６９】
構成テーブル４８の書替えが済むと構成情報変更制御部７６は共用メモリ２８の書替中フラグ７８をオンする。書替中フラグ７８をオンすると、これがサブＣＰＵ２４のシステム制御部３８−２で検出され、システム制御部３８−２は処理の実行を終了し、入出力制御部３６−２によるタスク実行可能状態に復旧する。
【００７０】
図６は図５の第１実施形態におけるメインＣＰＵとサブＣＰＵのフローチャートである。図６において、メインＣＰＵはステップＳ１で構成情報の変更コマンドの受領の有無をチェックしており、コマンドを受領するとステップＳ２に進み、共用メモリ２８の書替中フラグをオンし、またサブＣＰＵ受信フラグ８０をオフする。そしてステップＳ３で構成情報書替開始通知をサブＣＰＵに送る。
【００７１】
サブＣＰＵにあっては、ステップＳ１０１でメインＣＰＵからの構成情報書替開始通知の受信の有無をチェックしており、受信するとステップＳ１０２に進み、共用メモリ２８のサブＣＰＵ受信フラグ８０をオンする。このサブＣＰＵ受信フラグ８０のオンはメインＣＰＵのステップＳ４によるサブＣＰＵ受信フラグ８０のオンを検出したか否かの判別処理で認識され、ステップＳ５で構成テーブルの構成情報を書き替える変更処理が行われる。
【００７２】
構成情報の変更が済むとステップＳ６で共用メモリ２８の書替中フラグ７８をオフする。この書替中フラグ７８のオフはサブＣＰＵのステップＳ１０４で判別され、ステップＳ１０５でシステム制御部３８−２における書替中フラグ７８をポーリングする処理を終了し、これによってシステム制御部３８−２に対しタスク優先度の低い入出力制御部３６−２による入出力処理のタスクが実行可能となる。
【００７３】
一方、メインＣＰＵにあってはステップＳ６で書替中フラグ７８をオフしたあと、ステップＳ７でシステム内の各レイヤーに変更した構成情報を通知して一連の処理を終了する。尚、メインＣＰＵ及びサブＣＰＵのいずれにあっても、ステップＳ８，Ｓ１０６で停止指示があるまでステップＳ１，Ｓ１０１からの処理を繰り返すことになる。
【００７４】
このように図５の第１実施形態にあっては、サブＣＰＵ２４に設けている入出力制御部３６−２によりタスク優先度の高い高優先度制御部のタスクを構成テーブルの変更中に実行させることで、入出力制御部３６−２による書替え途中の構成テーブルの参照を防止し、書替え途中の構成情報の参照による誤動作を確実に防止することができる。
【００７５】
また入出力制御部３６−２による構成テーブル４８の参照を抑止させるためのシステム制御部３８−２の処理内容は、共用メモリ２８の書替中フラグ７８が構成情報の変更でオンになることを監視する簡単なポーリング処理の実行であり、このような書替中フラグ７８のポーリング処理機能のタスクをサブＣＰＵ２４のシステム制御部３８−２に設けることで、簡単にメインＣＰＵ２２による構成テーブル４８の書替に対するサブＣＰＵ２４の入出力制御部３６−２の排他をとることができる。
【００７６】
図７は本発明による第２実施形態の説明図であり、この第２実施形態にあってはメインＣＰＵによる構成テーブルの書替中にサブＣＰＵに保守エージェントの処理を実行させて入出力制御のテーブル参照を抑止するようにしたことを特徴とする。
【００７７】
図７において、メインＣＰＵのシステム制御部３８−１に設けた構成管理部６０には構成情報変更制御部７６が設けられており、共用メモリ２８の構成テーブル４８を書替える際には、サブＣＰＵ２４に対する構成情報書替開始通知９０により保守エージェント６２−２の処理を実行させる。
【００７８】
保守エージェント６２−２はシステム制御部３８−２と入出力制御部３６−２の間のコマンド中継機能が本来の機能であり、このため入出力制御部３６−２に対し、制御タスクの実行優先度が保守エージェント６２−２のほうが高くなっている。メインＣＰＵ２２で構成テーブル４８を書替える際にサブＣＰＵ２４で保守エージェント６２−２による適当な処理を実行させれば、それより実行タスクの優先度の低い入出力制御部３６−２による構成テーブル４８の書替え途中での参照を抑止することができる。
【００７９】
構成情報変更制御部７６による具体的な処理は、基本的には図５の第１実施形態と同様、共用メモリ２８に書替中フラグ７８とサブＣＰＵ受信フラグ８０を設けることで行っている。すなわち構成情報変更制御部７６は構成情報の変更指示を受けると共用メモリ２８の書替中フラグ７８をオンする共に、サブＣＰＵ受信フラグ８０をオフし、続いてサブＣＰＵ２４に対し、構成情報書替開始通知９０を発行する。
【００８０】
この構成情報書替開始通知９０を受けてサブＣＰＵ２４は保守エージェント６２−２を起動し、起動した保守エージェント６２−２はまずサブＣＰＵ受信フラグ８０をオンすることで、通知に対する確認応答をメインＣＰＵに返す。続いて保守エージェント６２−２は書替中フラグ７８がオンになることを監視するポーリング処理に入る。
【００８１】
構成情報変更制御部７６は共用メモリ２８のサブＣＰＵ受信フラグ８０のオンを検出するとサブＣＰＵ２４側で保守エージェント６２−２が動作状態となったことを検出し、構成変更９４により構成テーブル４８の書替を行う。このときサブＣＰＵ２４にあっては保守エージェント６２−２が動作しているため、それより実行タスクの優先度の低い入出力制御部３６−２は動作しておらず、参照抑止９２の状態となっている。
【００８２】
構成テーブル４８の書替えが完了すると、構成情報変更制御部７６は共用メモリ２８の書替中フラグをオフする。これを検出してサブＣＰＵ２４の保守エージェント６２−２はポーリング処理を終了し、入出力制御部３６−２の制御タスクが実行可能となる。
【００８３】
図８は図６の第２実施形態におけるメインＣＰＵとサブＣＰＵの制御処理のフローチャートである。図８において、メインＣＰＵはステップＳ１で構成情報変更コマンドを受領すると、ステップＳ２で書替中フラグ７８をオンし、サブＣＰＵ受信フラグ８０をオフする。続いてステップＳ３で構成情報書替開始をサブＣＰＵ２４に通知する。
【００８４】
サブＣＰＵにあってはステップＳ１０１でメインＣＰＵからの構成情報書替通知の受信の有無をチェックしており、通知を受信するとステップＳ１０２でサブＣＰＵ受信フラグ８０をオンする。サブＣＰＵ受信フラグのオンはメインＣＰＵのステップＳ４で検出され、ステップＳ５で構成テーブル４８の構成情報を変更する。
【００８５】
この間サブＣＰＵにあってはステップＳ１０３のように保守エージェントの処理として共用メモリ２８の書替中フラグ７８をポーリングする処理を実行している。このため構成テーブル４８の書替中、サブＣＰＵ２４の入出力制御部３６−２のタスクは実行されず、書替途中にある構成情報の参照を抑止できる。
【００８６】
メインＣＰＵで構成情報の変更が済むとステップＳ６で書替中フラグ７８をオフする。書替中フラグのオフはサブＣＰＵのステップＳ１０４で判別され、ステップＳ１０５で保守エージェントの処理を終了し、実行タスクの優先度の低い入出力制御部３６−２による処理を実行可能とする。
【００８７】
またメインＣＰＵにあってはステップＳ６で書替中フラグ７８をオフした後、ステップＳ７でシステム内の各レイヤーに変更した構成情報を通知する。更にメインＣＰＵ及びサブＣＰＵのいずれについてもステップＳ８，Ｓ１０６で停止指示があるまでステップＳ１，Ｓ１０１からの処理を繰り返す。
【００８８】
図９は本発明による第３実施形態の説明図であり、この第３実施形態にあっては、メインＣＰＵによる構成テーブルの書替え時に、保守エージェントの処理として、セマフォを獲得してサブＣＰＵの入出力制御によるテーブル参照を抑止するようにしたことを特徴とする。
【００８９】
図９において、メインＣＰＵ２２のシステム制御部３８−１は構成管理部６０を有し、構成管理部６０には構成情報変更制御部７６が設けられている。この第３実施形態の構成情報変更制御部７６は、構成情報の変更指示を受けた際に、メインＣＰＵ２２のＯＳが提供する共用メモリ２８のセマフォフラグ１０６を獲得するセマフォ獲得１０８を実行した後に、構成テーブル４８の構成変更１１４を実行する。具体的には、構成情報変更制御部７６は、構成情報の変更指示を受けた際に、セマフォフラグ１０６を獲得すると共に、サブＣＰＵ受信フラグをオフした状態で構成情報書替開始通知１１０をサブＣＰＵ２４に発行する。
【００９０】
サブＣＰＵ２４は、構成情報書替開始通知１１０に対し保守エージェント６２−２を起動し、確認応答のためサブＣＰＵ受信フラグ８０をオンした後、セマフォフラグ１０６の獲得処理を実行する。しかしながら、構成テーブル４８の書替え中にあっては、セマフォフラグ１０６はメインＣＰＵ２２が獲得しているため、サブＣＰＵ２４の保守エージェント６４−２はセマフォフラグ１０６を獲得することができず、保守エージェント６２−２がセマフォ獲得処理を実行している間、実行優先度の低い入出力制御部３６−２は動作することがなく、構成テーブルの参照をすることができない参照抑止１１２状態となっている。
【００９１】
図１０は図９の第３実施形態におけるメインＣＰＵとサブＣＰＵの制御処理のフローチャートである。図１０において、メインＣＰＵは、ステップＳ１で構成情報の変更依頼コマンドを受領すると、ステップＳ２でセマフォフラグ１０６を獲得し、またサブＣＰＵ受信フラグ８０をオフし、続いてステップＳ３で構成情報書替開始をサブＣＰＵ２４に通知する。
【００９２】
サブＣＰＵは、ステップＳ１０１でメインＣＰＵからの構成情報書替通知を受信すると保守エージェントを起動し、ステップＳ１０２でサブＣＰＵ受信フラグ８０をオンする。メインＣＰＵは、ステップＳ４でサブＣＰＵ受信フラグのオンを検出して、ステップＳ５に進み、構成テーブル４８の構成情報を変更する。この間、サブＣＰＵ側では保守エージェントがステップＳ１０３でセマフォ獲得処理を行うことになるが、このときセマフォフラグはメインＣＰＵ側で獲得されているため、セマフォ獲得はできず、ステップＳ１０４でセマフォが獲得されるまで、ステップＳ１０３の処理を繰り返している。このため、構成テーブルの書替え途中でサブＣＰＵ２４の入出力制御による参照を抑止できる。
【００９３】
メインＣＰＵで構成情報の変更が済むと、ステップＳ６でセマフォフラグ１０６が解放される。このためサブＣＰＵの保守エージェントは、メインＣＰＵのセマフォ解放に伴って直ちにセマフォフラグ１０６を獲得でき、ステップＳ１０４でセマフォ獲得が判別されると、ステップＳ１０５で直ちにセマフォフラグを解放して保守エージェントの実行処理を終了し、入出力制御部３６−２による構成テーブル参照抑止状態を解除し、通常の入出力制御部３６−２による実行状態に入る。
【００９４】
なおメインＣＰＵにあっては、ステップＳ６でセマフォを開放した後、ステップＳ７でシステム内の各レイヤーに変更した構成情報を通知することになる。またメインＣＰＵとサブＣＰＵは、ステップＳ８，Ｓ１０６で停止指示を判別するまで、ステップＳ１，Ｓ１０１からの処理を繰り返す。
【００９５】
このような図９のセマフォ獲得を利用した構成テーブル書替え時のサブＣＰＵの保守エージェントのセマフォ獲得処理に伴う入出力制御の実行禁止によるテーブル参照の抑止にあっては、ＯＳの提供するセマフォ機能を利用することで簡単に構成テーブル書替え中の参照を抑止する処理が実現できる。
【００９６】
図１１は本発明による第４実施形態の説明図であり、この第４実施形態にあっては、メインＣＰＵによる構成テーブルの変更時に保守エージョントによるメッセージキューのポーリング処理を利用してサブＣＰＵの入出力制御によるテーブル参照を抑止するようにしたことを特徴とする。
【００９７】
図１３において、メインＣＰＵ２４のシステム制御部３８−１には構成管理部６０が設けられ、その中に構成情報変更制御部７６が設けられている。この第５実施形態の構成情報変更制御部７６は、構成情報の変更指示を受けた際に、共用メモリ２８のサブＣＰＵ受信フラグ８０をオフして、構成情報書替開始通知１１８をサブＣＰＵ２４に発行する。
【００９８】
構成情報書替開始通知１１８を受けたサブＣＰＵ２４は、保守エージェント６２−２を起動する。保守エージェント６２−２は、共用メモリ２８のサブＣＰＵ受信フラグ８０をオンして、通知に対する応答をメインＣＰＵ２２に対し行った後、共用メモリ２８に設けたメッセージキュー１１６に対するメインＣＰＵ２２からの書替え完了メッセージの書込みを検出するポーリング処理に入る。
【００９９】
このため、メインＣＰＵ２２による構成テーブル４８の書替え中は、サブＣＰＵ２４にあっては実行タスクの優先度の高い保守エージェント６２−２が動作しており、それより優先度の低い入出力制御部３６−２のタスクは動作しないことからテーブル参照を抑止できる。
【０１００】
構成情報変更制御部７６は、構成テーブル４８の構成変更１２２による処理が終了すると、メッセージキュー１１６に対し書替完了書込１２４を行う。このメッセージキュー１１６に書き込まれた書替込了は保守エージェント６２−２で検出され、保守エージェント６２−２はメッセージキュー１１６の読出処理を終了し、入出力制御部３６−２によるタスク実行を可能とする。
【０１０１】
図１２は図１１の第４実施形態におけるメインＣＰＵとサブＣＰＵの制御処理のフローチャートである。図１２において、メインＣＰＵは、ステップＳ１で構成情報の変更依頼コマンドを受領すると、ステップＳ２でサブＣＰＵ受信フラグ８０をオフした後、ステップＳ３で構成情報書替開始をサブＣＰＵ２４に通知する。
【０１０２】
サブＣＰＵは、ステップＳ１０１でメインＣＰＵからの構成情報書替通知の受信を判別すると保守エージェント６２−２を起動し、ステップＳ１０２でサブＣＰＵ受信フラグ８０をオンし、通知に対する確認応答を返す。メインＣＰＵは、ステップＳ４でサブＣＰＵ受信フラグのオンの検出を判別すると、ステップＳ５で構成テーブルの構成情報の変更を実行する。
【０１０３】
このときサブＣＰＵにあっては、保守エージェント６２−２により、ステップＳ１０３でメッセージキュー１１６の読出処理をステップＳ１０４で書込完了を読出すまで繰り返し実行しており、保守エージェント６２−２の実行処理により、それより優先度の低い入出力制御部３６−２は動作せず、書替え中の構成テーブルの参照を抑止できる。
【０１０４】
メインＣＰＵが構成情報の変更を終了すると、ステップＳ６で書込完了をメッセージキュー１１６に書き込む。このメッセージキュー１１６に書き込まれた書込完了は、ステップＳ１０３で読み出された後、ステップＳ１０４で判別され、ステップＳ１０５で保守エージェント６２−２によるメッセージキュー１１６の読出処理を終了し、入出力制御部３６−２による処理を実行可能とする。
【０１０５】
一方、メインＣＰＵにあっては、ステップＳ６で書替完了をメッセージキュー１１６に書き込んだ後、ステップＳ７でシステム内の各レイヤーに構成変更を通知する。また、メインＣＰＵ，サブＣＰＵのいずれについても、ステップＳ８，Ｓ１０６で停止指示があるまで、ステップＳ１，Ｓ１０１からの処理を繰り返している。
【０１０６】
図１３は本発明による第５実施形態の説明図であり、この第５実施形態にあっては、メインＣＰＵ２２による構成テーブル４８の書替え時に、サブＣＰＵ２４に入出力制御より実行タスクの優先度の高い排他専用タスク制御を実行させて、入出力制御のテーブル参照を抑止するようにしたことを特徴とする。
【０１０７】
図１３において、メインＣＰＵ２２のシステム制御部３８−１の構成管理部６０には、構成情報変更制御部７６が設けられる。構成情報変更制御部７６は、構成情報の変更指示を受けた際に構成書替開始通知９８をサブＣＰＵ２４に発行し、排他専用タスク制御部９６を起動して実行１００の状態とする。
【０１０８】
排他専用タスク制御部９６は実行タスクの優先度が入出力制御部３６−２より高いタスクであり、排他専用タスク制御部９６の実行１００によって入出力制御部３６−２のタスクは実行されず、構成テーブル４８の参照抑止１０２の状態とすることができる。
【０１０９】
具体的には、構成情報変更制御部７６で構成情報の変更指示を受けると、共用メモリ２８の書込中フラグ７８をオンすると共に、サブＣＰＵ受信フラグ８０をオフとし、続いて構成書替開始通知９８をサブＣＰＵ２４に発行して、排他専用タスク制御部９６を起動する。起動した排他専用タスク制御部９６は、まず共用メモリ２８のサブＣＰＵ受信フラグ８０をオンして、通知に対する応答をメインＣＰＵ２２に通知した後、書込中フラグ７８がオンとなることを監視するポーリング処理に入る。
【０１１０】
構成情報変更制御部７６は、共用メモリ２８のサブＣＰＵ受信フラグ８０のオンにより、サブＣＰＵ２４側で排他専用タスク制御部９６が実行状態となって入出力制御部３６−２による参照抑止を確認した後、構成変更１０４を実行して構成テーブル４８の書替えを行う。構成テーブル４８の書替えが完了すると、書込中フラグ７８をオフし、これをサブＣＰＵ２４側で検出し、排他専用タスク制御部９６の処理を終了して入出力制御部３６−２のタスクを実行可能とする。
【０１１１】
図１４は図１３の第５実施形態におけるメインＣＰＵとサブＣＰＵの制御処理のフローチャートである。図１４において、メインＣＰＵは、ステップＳ１で構成情報の変更依頼コマンドを受領すると、ステップＳ２で書込中フラグ７８をオンし、サブＣＰＵフラグ８０をオフした後、ステップＳ３で構成情報書替開始をサブＣＰＵに通知する。
【０１１２】
サブＣＰＵは、ステップＳ１０１でメインＣＰＵからの構成情報書替通知を受信して、ステップＳ１０２でサブＣＰＵ受信フラグ８０をオンする。メインＣＰＵは、ステップＳ４でサブＣＰＵ受信フラグのオンを検出し、ステップＳ５で構成テーブルの構成情報を変更する。このときサブＣＰＵにあっては、ステップＳ１０３で排他専用タスク制御部９６の処理、具体的には共用メモリ２８の書込中フラグ７８のオンを監視するポーリング処理を実行しており、これより優先度の低い入出力制御部３６−２による書替え中の構成テーブルの参照は抑止される。
【０１１３】
メインＣＰＵは、ステップＳ５で構成情報の変更が済むと、ステップＳ６で書込中フラグ７８をオフする。そして、ステップＳ７でシステム内の各レイヤーに変更した構成情報を通知する。サブＣＰＵは、ステップＳ１０４で書込中フラグ７８のオフを検出し、ステップＳ１０５で排他専用タスク制御部９６の処理を終了し、それよりタスク実行優先度の低い入出力制御部３６−２を実行可能とする。
【０１１４】
図１５は本発明による第６実施形態の説明図であり、この第６実施形態にあってはメインＣＰＵとサブＣＰＵの各々につき専用の構成テーブルを共用メモリに配置するようにしたことを特徴とする。
【０１１５】
図１５において、共用メモリ２８には、メインＣＰＵ２２が使用する第１構成テーブル４８−１とサブＣＰＵ２４が使用する第２構成テーブル４８−２が個別に設けられている。メインＣＰＵ２２のシステム制御部３８−１には構成管理部６０が設けられており、その中に構成情報変更制御部７６が設けられている。
【０１１６】
構成情報変更制御部７６は、構成情報の変更指示を受けると、第１構成テーブル４８−１の構成情報の変更１２６を実行した後、変更済みの構成情報の配信１２８をサブＣＰＵ２４に対し行う。メインＣＰＵ２２から変更済み構成情報の配信を受けたサブＣＰＵ２４は、第２構成テーブル４８−２に変更済みの構成情報を書き込んで構成情報の書替えを行う。
【０１１７】
メインＣＰＵ２２による第１構成テーブル４８−１の書替え中、サブＣＰＵ２４の入出力制御部３６−２は別に設けた自分専用の第２構成テーブル４８−２を参照していることから、書替え中の構成情報の参照による誤動作を起こすことを防止できる。この点は、メインＣＰＵ２２から変更済み構成情報の配信を受けてサブＣＰＵ２４で第２構成テーブル４８−２の書替えを行う場合にも同様である。
【０１１８】
図１６は図１５の第６実施形態におけるメインＣＰＵ側の構成情報変更処理のフローチャートである。図１６において、メインＣＰＵ２２にあっては、ステップＳ１で構成情報の変更依頼コマンドの受領を判別すると、ステップＳ２でコマンドを解析して第１構成テーブルの構成情報を変更する。
【０１１９】
ステップＳ３で全コマンドの処理終了を判別すると、ステップＳ４で配信先にサブＣＰＵ２４を設定して変更済みの構成情報を配信し、サブＣＰＵ２４側で第２構成テーブル４８−２の構成情報の変更を行わせる。そしてステップＳ５で、配信先となるサブＣＰＵ２４からの正常終了応答を待って一連の処理を終了する。また、ステップＳ１〜ステップＳ５の処理を、ステップＳ６で停止指示を判別するまで繰り返す。
【０１２０】
この図１５の第６実施形態にあっては、共用メモリ２８メインＣＰＵ２２とサブＣＰＵ２４についてそれぞれ専用の構成テーブル４８−１，４８−２を設けることで、メモリ領域がその分、必要になるが、それぞれ独立に構成テーブルを持って構成情報の変更を行っているため、構成テーブルの共用による排他制御を考慮する必要がなく、その分、メインＣＰＵ２２とサブＣＰＵ２４の制御処理が簡単にできる。
【０１２１】
図１７は本発明による第７実施形態の説明図であり、この第７実施形態にあっては共用メモリに展開する構成テーブルを２面設けてミラー化することで、テーブル書替え中の参照を抑止するようにしたことを特徴とする。
【０１２２】
図１７において、共用メモリ２８には、メインＣＰＵ２２の構成情報変更制御部７６により構成情報の変更が行われる第１構成テーブル４８−１と第２構成テーブル４８−２が設けられている。第１構成テーブル４８−１と第２構成テーブル４８−２は同じ構成情報を格納することでミラー化されている。
【０１２３】
メインＣＰＵ２２の構成情報変更制御部７６は、構成情報の変更指示を受けると、まず第２構成テーブル４８−２に参照ポインタを設定してアクティブ状態とすることで入出力制御による参照を可能とし、参照ポインタを外している非アクティブ側となる第１構成テーブル４８−１について構成情報を書き替える構成変更１３０の処理を実行する。
【０１２４】
第１構成テーブル４８−１の書替えが済むと、参照ポインタを第２構成テーブル４８−２から第１構成テーブル４８−１に移してアクティブ状態とし、参照ポインタを外した非アクティブ側となる第２構成テーブル４８−２について構成情報を変更する構成変更１３０を実行する。
【０１２５】
このため、第１構成テーブル４８−１及び第２構成テーブル４８−２の書替え中にあっては、参照ポインタを外すことで非アクティブ状態となっており、参照ポインタを設定したもう一方の構成テーブルについてサブＣＰＵ２４からの入出力制御による参照１３２が行われることで、構成テーブル書替え中の参照による誤動作を確実に防止できる。
【０１２６】
図１８は図１７の第７実施形態における一方の構成テーブルの書替え中の他方の構成テーブルの参照処理の説明図である。図１８（Ａ）は、共用メモリ２８に設けた第２構成テーブル４８−２に参照ポインタ１３５を設定してアクティブ状態とし、これによってサブＣＰＵ２４の入出力制御部３６−２による参照１３２を可能としている。
【０１２７】
一方、構成情報変更対象となる第１構成テーブル４８−１については、参照ポインタ１３５を外していることで非アクティブ状態となり、入出力制御による参照は行われず、メインＣＰＵ２２の構成情報変更制御部７６による構成情報変更領域１３４−１の変更１３０が実行される。
【０１２８】
第１構成テーブル４８−１の書替えが済むと、図１８（Ｂ）のように参照ポインタ１３５が第１構成テーブル４８−１側に切り替えられてアクティブ状態となり、第２構成テーブル４８−２は参照ポインタが外されることで非アクティブ状態となり、この非アクティブ状態でメインＣＰＵ２２による構成情報変更制御部７６による構成情報変更領域１３４−２に対する変更１３０が実行される。
【０１２９】
図１９は図１７の第７実施形態における構成情報変更処理のフローチャートである。図１９において、ステップＳ１でメインＣＰＵ２２に設けている構成情報変更制御部７６で構成情報の受信コマンドの受領が判別されると、ステップＳ２でコマンドを解析して変更内容を認識し、ステップＳ３で第２構成テーブル４８−２に参照ポインタ１３５をセットしてアクティブ状態とすることで入出力制御による参照を可能とし、次にステップＳ４で参照ポインタを外して非アクティブ状態にある第１構成テーブル４８−１の構成情報を変更する。
【０１３０】
次にステップＳ５で第１構成テーブル４８−１に参照ポインタをセットしてアクティブ状態とすることで入出力制御による参照を可能とし、ステップＳ６で参照ポインタを外して非アクティブ状態とした第２構成テーブル４８−２の構成情報を変更する。このステップＳ２からの処理を、ステップＳ７で全コマンドが終了するまで繰り返す。またステップＳ８で停止指示が判別するまで、ステップＳ１からの処理を繰り返す。
【０１３１】
この図１７の第７実施形態にあっては、共用メモリ２８にミラー化した２面の構成テーブルを設け、参照ポインタを切り替えて、一方を参照に対するアクティブ状態、他方を非アクティブ状態とし、非アクティブ状態側について構成情報の変更を行うことで、構成情報書替え途中における参照による誤動作を確実に防止できる。
【０１３２】
また図１５のメインＣＰＵ２２とサブＣＰＵ２４のそれぞれに個別に専用の構成テーブルを設けた場合に比べ、ミラー化により２つのテーブルについての構成情報の変更はメインＣＰＵ２２側の処理のみで実現できる分だけ、処理が簡単になる。
【０１３３】
図２０は本発明による第８実施形態の説明図であり、この第８実施形態にあっては、メインＣＰＵにおける構成テーブルの変更時に、サブＣＰＵに対しサスペンド（中断）を通知して入出力要求の受付けを中断し、テーブル書替え中の参照を抑止するようにしたことを特徴とする。
【０１３４】
図２０において、メインＣＰＵ２２のシステム制御部３８−１には構成管理部６０が設けられ、その中に構成情報変更制御部７６が設けられている。構成情報変更制御部７６は構成情報の変更指示を受けた際に、サブＣＰＵ２４に対しサスペンド通知１３４を発行する。
【０１３５】
メインＣＰＵ２２からサスペンド通知１３４を受けたサブＣＰＵ２４は、入出力制御部３６−２において、上位装置としてのサーバから既に受け付けている入出力要求についてはそれを完了させ、新規の入出力要求を受け付けないようにする。具体的には、入出力制御部３６−２に対するサーバからの入出力ポートを受付禁止状態に設定する。これによって、入出力制御部３６−２は中断１３６の状態となる。
【０１３６】
続いて、メインＣＰＵ２２の構成情報変更制御部７６は、共用メモリ２８の構成テーブル４８の構成情報を書き替える構成変更１３８を実行する。構成テーブル４８の書替えが済むと、構成情報変更制御部７６はサブＣＰＵ２４に対しリジューム通知（再開通知）を行う。リジューム通知を受けたサブＣＰＵ２４は中断状態を開放し、ホストからの入出力要求を可能とする。
【０１３７】
図２１は図２０の第８実施形態におけるメインＣＰＵ処理のフローチャートである。図２１において、メインＣＰＵ２２は、ステップＳ１で構成情報の変更依頼コマンドの受領を判別すると、ステップＳ２でサブＣＰＵ２４に対しサスペンドを指示する。続いてステップＳ３でサスペンドの完了応答を判別すると、ステップＳ４で構成テーブルの構成情報を変更する。
【０１３８】
次にステップＳ５で全コマンドの処理終了を判別すると、ステップＳ６でサブＣＰＵに対するリジュームを通知して処理の再開を依頼する。続いてステップＳ７でサブＣＰＵからの再開完了応答を判別すると、一連の処理を終了する。このようなステップＳＳ１〜Ｓ７の処理は、ステップＳ８で停止指示があるまで繰り返される。
【０１３９】
図２２は図２０の第８実施形態におけるサブＣＰＵ処理のフローチャートである。図２２において、サブＣＰＵ２４にあっては、ステップＳ１でコマンド受領の有無をチェックし、ステップＳ２で受領したコマンドとして中断コマンドを判別すると、ステップＳ３で受付済みの入出力要求を実行した後、ステップＳ４で新規の入出力要求の受付けを禁止する。
【０１４０】
続いてステップＳ５でメインＣＰＵ２２に対し中断完了を応答する。続いてステップＳ６でコマンド受信を判別しており、コマンド受信を判別しステップＳ７で再開コマンドを判別すると、ステップＳ８で入出力要求の受付禁止を解除し、ステップＳ９で解除完了をメインＣＰＵに応答する。
【０１４１】
ステップＳ２またはステップＳ７でそれぞれ判断対象としているコマンドでなかった場合には、ステップＳ１０に進み、他のコマンド処理を実行している。またステップＳ１１で停止指示があるまで、ステップＳ１からの処理を繰り返す。
【０１４２】
この図２０の第８実施形態にあっては、メインＣＰＵ２２のシステム制御部３８−１が備えている入出力制御部３６−１，３６−２に対するサスペンド通知による中断とリジューム通知による再開のコマンド機能を利用して、構成テーブル書替え中の入出力制御部による参照を抑止することができる。
【０１４３】
なお、サスペンド通知によるサブＣＰＵ２４の中断は、そのとき受領している入出力要求の処理を完了した後に新たな入出力要求を受け付けないようにするため、サスペンド通知を発行してから実際に中断に入るまで、ある程度の処理時間がかかることになり、その分、構成テーブルの書替えは処理待ちとなる。
【０１４４】
これに対し、図５の第１実施形態、図７の第２実施形態、図９の第３実施形態、図１１の第４実施形態及び図１３の第５実施形態にあっては、タスクレベルの処理によりサブＣＰＵ２４側に構成テーブル書替え中の入出力制御による参照を抑止する動作を行わせることで、ほぼ割込み的に機能させることができ、その分、図２０の第８実施形態に比べると処理性能が高くなる。
【０１４５】
一方、第８実施形態にあっては、システム制御部が入出力制御部に対し予め持っているサスペンド及びリジュームという既存のコマンドを利用して構成情報書替え中の入出力制御による参照を抑止できるため、構成情報変更制御部７６の制御機能を簡略化することができる点でメリットがある。
【０１４６】
図２３は本発明による第９実施形態の説明図であり、この第９実施形態にあっては、メインＣＰＵによる構成テーブルの書替えに先立って構成テーブルの排他ロックを獲得し、サブＣＰＵの入出力制御によるテーブル参照を抑止するようにしたことを特徴とする。
【０１４７】
図２３において、メインＣＰＵ２２のシステム制御部３８−１は構成管理部６０を有し、構成管理部６０には構成情報変更制御部７６が設けられている。この第９実施形態の構成情報変更制御部７６は、構成情報の変更指示を受けた際に、構成テーブル４８に設けた排他フラグ１４０をオンして排他ロックを獲得する排他制御１４２を実行した後に、構成テーブル４８の構成変更１４４を実行する。
【０１４８】
サブＣＰＵ２４の入出力制御部３６−２は、メインＣＰＵ２２による構成テーブル４８の書替え中に構成テーブル４８を参照する場合、排他フラグ１４０を獲得しようとするが、このとき既にＣＰＵ２２により獲得されてロック状態にあるため獲得できずに参照抑止１４６の状態となり、構成テーブル４８の参照は構成変更完了により排他フラグ１４０がオフされてアンロックとなるまで待たされる。
【０１４９】
図２４は図２３の第９実施形態におけるメインＣＰＵによる構成情報変更処理のフローチャートである。図２４において、メインＣＰＵは、ステップＳ１で構成情報の変更依頼コマンドを受領すると、ステップＳ２で構成テーブル４８の排他フラグ１４０を獲得し、ステップＳ３で構成情報の変更を実行する。この処理をステップＳ４で全コマンド終了まで繰り返した後、ステップＳ５で構成テーブル４８の排他フラグ１４０をオフしてアンロックとし、サブＣＰＵ２２の入出力制御部による排他ロックの獲得を可能とし、構成テーブル４８の参照を許容する。この処理をステップＳ６で停止指示があるまで繰り返す。
【０１５０】
このような図２３の第９実施形態は、構成テーブル書替中の参照を抑止するため、参照時に排他フラグをオフによるアンロックを待つことで、確実に書替え途中でのサブＣＰＵの入出力制御による構成テーブルの参照を抑止し、誤動作を防止できる。
【０１５１】
また本発明は、ＲＡＩＤ装置を構成するコンピュータ、具体的にはメインＣＰＵで実行されるプログラムを提供するものであり、そのプログラムは図６，図８，図１０，図１２，図１４，図１６，図１９，図２１，図２４にメインＣＰＵ処理として示したフローチャートの内容を持つ。
【０１５２】
また本発明は、その目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
【０１５３】
ここで本発明の特徴を列挙すると次の付記のようになる。
（付記）
（付記１）
構成情報を参照してボリュームの入出力処理を実行する第１入出力制御部と、構成情報を管理する構成管理部とを実行対象として備えた第１処理部と、
前記構成情報を参照して別のボリュームの入出力処理を実行する第２入出力制御部と、前記第２入出力制御部より実行優先度の高い高優先度制御部を実行対象として備えた第２処理部と、
前記構成情報を格納した構成テーブルを配置した共用メモリと、
を備えたストレージ装置に於いて、
前記構成情報の変更指示を受けた際に、前記第２処理部に前記高優先度制御部の処理を実行させることにより前記第２入出力制御部による前記構成テーブルの参照を抑止した状態で前記構成テーブルの構成情報を変更し、前記構成情報の変更完了で前記第２処理部に前記高優先度制御部の処理を終了させる構成情報変更制御部を設けたことを特徴とするストレージ装置。（１）
【０１５４】
（付記２）
付記１記載のストレージ装置に於いて、前記高優先度制御部は、装置全体を管理するシステム制御部であり、
前記構成情報変更制御部は、構成情報の変更指示を受けた際に、前記構成テーブルの書替中フラグをオンすると共に第２処理部受信フラグをオフした後に前記第２処理部に構成情報の書替え開始を通知し、前記第２処理部による前記システム制御部の処理実行に伴う前記第２処理部受信フラグのオンを検出した際に前記構成テーブルの構成情報を変更し、前記構成情報の変更完了で前記書替中フラグをオフして前記第２処理部に前記システム制御部の処理を終了させることを特徴とするストレージ装置。（２）
【０１５５】
（付記３）
付記１記載のストレージ装置に於いて、前記高優先度制御部は、装置全体を管理するシステム制御部と前記第２入出力制御部との間でコマンドを中継するコマンド中継制御部であり、
前記構成情報変更制御部は、構成情報の変更指示を受けた際に、前記構成テーブルの書替中フラグをオンすると共に第２処理部受信フラグをオフした後に前記第２処理部に構成情報の書替え開始を通知し、前記第２処理部による前記コマンド中継制御部の処理実行に伴う前記第２処理部受信フラグのオンを検出した際に前記構成テーブルの構成情報を変更し、前記構成情報の変更完了で前記書替中フラグをオフして前記第２処理部に前記コマンド中継制御部の処理を終了させることを特徴とするストレージ装置。（３）
【０１５６】
（付記４）
付記１記載のストレージ装置に於いて、前記高優先度制御部は、装置全体を管理するシステム制御部と前記第２入出力制御部との間でコマンドを中継するコマンド中継制御部であり、
前記構成情報変更制御部は、構成情報の変更指示を受けた際に、セマフォを獲得した後に前記第２処理部により前記コマンド中継制御部にセマフォ獲得処理を実行させて前記第２入出力処理部による前記構成テーブルの参照を抑止した状態で前記構成テーブルの構成情報を変更し、前記構成情報の変更完了で前記セマフォを解放して前記第２処理部のコマンド中継制御部に獲得させた後に前記セマフォ獲得処理を終了させることを特徴とするストレージ装置。
【０１５７】
（付記５）
付記１記載のストレージ装置に於いて、前記高優先度制御部は、装置全体を管理するシステム制御部と前記第２入出力制御部との間でコマンドを中継するコマンド中継制御部であり、
前記構成情報変更制御部は、構成情報の変更指示を受けた際に、前記第２処理部により前記コマンド中継部に前記中継キューの読出処理を実行させて前記第２入出力制御部による前記構成テーブルの参照を抑止した状態で前記構成テーブルの構成情報を変更し、前記構成情報の変更完了を前記中継キューに書込んで前記第２処理部の前記コマンド中継制御部に中継キュー読出処理を終了させることを特徴とするストレージ装置。
【０１５８】
（付記６）
付記１記載のストレージ装置に於いて、前記高優先度制御部は、排他専用のタスク処理のために設けた排他専用タスク制御部であり、
前記構成情報変更制御部は、構成情報の変更指示を受けた際に、前記構成テーブルの書替中フラグをオンすると共に第２処理部受信フラグをオフした後に前記第２処理部に構成情報の書替え開始を通知し、前記第２処理部による前記排他専用タスク制御部の処理実行に伴う前記第２処理部受信フラグのオンを検出した際に前記構成テーブルの構成情報を変更し、前記構成情報の変更完了で前記書替中フラグをオフして前記第２処理部に前記排他専用タスク制御部の処理を終了させることを特徴とするストレージ装置。
【０１５９】
（付記７）
構成情報を参照してボリュームの入出力処理を実行する第１入出力制御部と、前記構成情報を管理する構成管理部とを実行対象として備えた第１処理部と、
前記構成情報を参照して別のボリュームの入出力処理を実行する第２入出力制御部と、
前記第２入出力制御部より実行優先度の高い高優先度制御部とを実行対象として備えた第２処理部と、
前記構成情報を格納した構成テーブルを配置した共用メモリと、
を備えたストレージ装置の構成情報管理方法に於いて、
構成情報の変更指示を受けた際に、前記第２処理部により前記高優先度制御部の処理を実行させて前記第２入出力制御部による前記構成テーブルの参照を抑止させる参照抑止ステップと、
前記構成テーブルの参照を抑止させた状態で前記構成テーブルの構成情報を変更する構成情報変更ステップと、
前記構成情報の変更完了で前記第２処理部に前記高優先度制御部の処理を終了させる参照抑止解除ステップと、
を備えたことを特徴とする構成情報管理方法。（４）
【０１６０】
（付記８）
付記７記載の構成情報管理方法に於いて、前記高優先度制御部は、装置全体を管理するシステム制御部であり、
前記参照抑止ステップは、構成情報の変更指示を受けた際に、前記構成テーブルの書替中フラグをオンすると共に第２処理部受信フラグをオフした後に前記第２処理部に構成情報の書替え開始を通知し、
前記構成情報変更ステップは、前記第２処理部による前記システム制御部の処理実行に伴う前記第２処理部受信フラグのオンを検出した際に前記構成テーブルの構成情報を変更し、
前記参照抑止解除ステップは、前記構成情報の変更完了で前記書替中フラグをオフして前記第２処理部に前記システム制御部の処理を終了させることを特徴とする構成情報管理方法。
【０１６１】
（付記９）
付記７記載の構成情報管理方法に於いて、前記高優先度制御部は、装置全体を管理するシステム制御部と前記第２入出力制御部との間でコマンドを中継するコマンド中継制御部であり、
前記参照抑止ステップは、構成情報の変更指示を受けた際に、前記構成テーブルの書替中フラグをオンすると共に第２処理部受信フラグをオフした後に前記第２処理部に構成情報の書替え開始を通知し、
前記構成情報変更ステップは、前記第２処理部による前記コマンド中継制御部の処理実行に伴う前記第２処理部受信フラグのオンを検出した際に前記構成テーブルの構成情報を変更し、
前記参照抑止解除ステップは、前記構成情報の変更完了で前記書替中フラグをオフして前記第２処理部に前記コマンド中継制御部の処理を終了させることを特徴とする構成情報管理方法。
【０１６２】
（付記１０）
付記７記載の構成情報管理方法に於いて、前記高優先度制御部は、装置全体を管理するシステム制御部と前記第２入出力制御部との間でコマンドを中継するコマンド中継制御部であり、
構成情報の変更指示を受けた際に、セマフォを獲得した後に前記第２処理部のコマンド中継制御部にセマフォ獲得処理を実行させて前記第２入出力制御部による前記構成テーブルの参照を抑止させる参照抑止ステップと、
前記構成テーブルの参照を抑止した状態で前記構成テーブルの構成情報を変更する構成情報変更ステップと、
前記構成情報の変更完了で前記セマフォを解放して前記第２処理部のコマンド中継制御部に獲得させた後に前記セマフォ獲得処理を終了させる参照抑止解除ステップと、
を備えたことを特徴とする構成情報管理方法。
【０１６３】
（付記１１）
付記７記載の構成情報管理方法に於いて、前記高優先度制御部は、装置全体を管理するシステム制御部と前記第２入出力制御部との間でコマンドを中継するコマンド中継制御部であり、
構成情報の変更指示を受けた際に、前記第２処理部のコマンド中継制御部に前記中継キューの読出処理を実行させて前記第２入出力制御理部による前記構成テーブルの参照を抑止させる参照抑止ステップと、
前記構成テーブルの参照を抑止した状態で前記構成テーブルの構成情報を変更する構成情報変更ステップと、
前記構成情報の変更完了を前記中継キューに書込んで前記第２処理部のコマンド中継制御部に中継キュー読出処理を終了させる参照抑止解除ステップと、
を備えたことを特徴とする構成情報管理方法。
【０１６４】
（付記１２）
構成情報を参照してボリュームの入出力処理を実行する第１入出力制御部と、前記構成情報を管理する構成管理部とを実行対象として備えた第１処理部と、
前記構成情報を参照して別のボリュームの入出力処理を実行する第２入出力制御部と、前記第２入出力制御部より実行優先度の高い高優先度制御部を実行対象として備えた第２処理部と、
前記構成情報を格納した構成テーブルを配置した共用メモリと、
を備えたストレージ装置の前記第１処理部を構成するコンピュータに、
構成情報の変更指示を受けた際に、前記第２処理部により前記高優先度制御部の処理を実行させて前記第２入出力処理部による前記構成テーブルの参照を抑止させる参照抑止ステップと、
前記構成テーブルの参照を抑止させた状態で前記構成テーブルの構成情報を変更する構成情報変更ステップと、
前記構成情報の変更完了で前記第２処理部に前記高優先度制御部の処理を終了させる参照抑止解除ステップと、
を実行させることを特徴とする構成情報管理プログラム。（５）
【０１６５】
（付記１３）
付記１２記載の構成情報管理プログラムに於いて、前記高優先度制御部は、装置全体を管理するシステム制御部であり、
前記参照抑止ステップは、構成情報の変更指示を受けた際に、前記構成テーブルの書替フラグをオンすると共に第２処理部受信フラグをオフした後に前記第２処理部に構成情報の書替え開始を通知し、
前記構成情報変更ステップは、前記第２処理部による前記システム制御部の処理実行に伴う前記第２処理部受信フラグのオンを検出した際に前記構成テーブルの構成情報を変更し、
前記参照抑止解除ステップは、前記構成情報の変更完了で前記書替中フラグをオフして前記第２処理部に前記システム制御部の処理を終了させることを特徴とする構成情報管理プログラム。
【０１６６】
（付記１４）
付記１２記載の構成情報管理プログラムに於いて、前記高優先度制御部は、装置全体を管理するシステム制御部と前記第２入出力制御部との間でコマンドを中継するコマンド中継制御部であり、
前記参照抑止ステップは、構成情報の変更指示を受けた際に、前記構成テーブルの書替中フラグをオンすると共に第２処理部受信フラグをオフした後に前記第２処理部に構成情報の書替え開始を通知し、
前記構成情報変更ステップは、前記第２処理部による前記コマンド中継制御部の処理実行に伴う前記第２処理部受信フラグのオンを検出した際に前記構成テーブルの構成情報を変更し、
前記参照抑止解除ステップは、前記構成情報の変更完了で前記書替中フラグをオフして前記第２処理部に前記コマンド中継制御部の処理を終了させることを特徴とする構成情報管理プログラム。
【０１６７】
（付記１５）
付記１２記載の構成情報管理プログラムに於いて、前記高優先度制御部は、装置全体を管理するシステム制御部と前記第２入出力制御部との間でコマンドを中継するコマンド中継制御部であり、
構成情報の変更指示を受けた際に、セマフォを獲得した後に前記第２処理部のコマンド中継制御部にセマフォ獲得処理を実行させて前記第２入出力制御部による前記構成テーブルの参照を抑止させる参照抑止ステップと、
前記構成テーブルの参照を抑止した状態で前記構成テーブルの構成情報を変更する構成情報変更ステップと、
前記構成情報の変更完了で前記セマフォを解放して前記第２処理部のコマンド中継制御部に獲得させた後に前記セマフォ獲得処理を終了させる参照抑止解除ステップと、
を実行させることを特徴とする構成情報管理プログラム。
【０１６８】
（付記１６）
付記１２記載の構成情報管理プログラムに於いて、前記高優先度制御部は、装置全体を管理するシステム制御部と前記第２入出力制御部との間でコマンドを中継するコマンド中継制御部であり、
構成情報の変更指示を受けた際に、前記第２処理部のコマンド中継制御部に前記中継キューの読出処理を実行させて前記第２入出力制御部による前記構成テーブルの参照を抑止させる参照抑止ステップと、
前記構成テーブルの参照を抑止した状態で前記構成テーブルの構成情報を変更する構成情報変更ステップと、
前記構成情報の変更完了を前記中継キューに書込んで前記第２処理部のコマンド中継制御部に中継キュー読出処理を終了させる参照抑止解除ステップと、
を備えたことを特徴とする構成情報管理プログラム。
【０１６９】
（付記１７）
構成情報を参照してボリュームの入出力処理を実行する第１入出力制御部と、前記構成情報を管理する構成管理部とを実行対象として備えた第１処理部と、
前記構成情報を参照して別のボリュームの入出力処理を実行する第２入出力制御部を実行対象として備えた第２処理部と、
を備えたストレージ装置に於いて、
前記第１処理部が参照する前記構成情報を格納した第１構成テーブルと前記第２処理部が参照する前記構成情報を格納した第２構成テーブルを配置した共用メモリと、
構成情報変更指示を受けた際に、前記第１構成テーブルの構成情報を変更した後に、構成情報変更指示を前記サブプロセッサに配信して前記第２構成テーブルの構成情報を変更させる構成情報変更制御部と、
を備えたことを特徴とするストレージ装置。
【０１７０】
（付記１８）
構成情報を参照してボリュームの入出力処理を実行する第１入出力制御部と、前記構成情報を管理する構成管理部とを実行対象として備えた第１処理部と、
前記構成情報を参照して別のボリュームの入出力処理を実行する第２入出力制御部を実行対象として備えた第２処理部と、
を備えたストレージ装置に於いて、
前記構成情報を個別に格納したミラー構成の第１構成テーブルと第２構成テーブルを配置した共用メモリと、
構成情報変更指示を受けた際に、前記第２構成テーブルに参照ポインタを設定して前記第１構成テーブルの構成情報を変更し、続いて前記第１構成テーブルに参照ポインタを設定して前記第２構成テーブルの構成情報を変更する構成情報変更制御部と、
を備えたことを特徴とするストレージ装置。
【０１７１】
（付記１９）
構成情報を参照してボリュームの入出力処理を実行する第１入出力制御部と、前記構成情報を管理する構成管理部とを実行対象として備えた第１処理部と、
前記構成情報を参照して別のボリュームの入出力処理を実行する第２入出力制御部を実行対象として備えた第２処理部と、
前記構成情報を格納した構成テーブルを配置した共用メモリと、
を備えたストレージ装置に於いて、
構成情報の変更指示を受けた際に、前記第２処理部に受付け済みの入出力要求は完了させ、新規の入出力は受付けなくする中断処理を指示した後に、前記構成テーブルの構成情報を変更し、前記構成情報の変更完了で前記第２処理部に処理の再開を指示する構成情報変更制御部を設けたことを特徴とするストレージ装置。
【０１７２】
（付記２０）
構成情報を参照してボリュームの入出力処理を実行する第１入出力制御部と、前記構成情報を管理する構成管理部とを実行対象として備えた第１処理部と、
前記構成情報を参照して別のボリュームの入出力処理を実行する第２入出力制御部を実行対象として備えた第２処理部と、
前記構成情報を格納した構成テーブルを配置した共用メモリと、
を備えたストレージ装置に於いて、
構成情報の変更指示を受けた際に、前記構成テーブルに排他制御情報を設定して前記第２入出力制御部の参照を抑止した後に前記構成テーブルの構成情報を変更し、前記構成情報の変更完了で前記排他制御情報の設定を解除する構成情報変更制御部を設けたことを特徴とするストレージ装置。
【図面の簡単な説明】
【０１７３】
【図１】本発明の原理説明図
【図２】本発明が適用されたＲＡＩＤ装置のハードウェア構成のブロック図
【図３】本発明によるＲＡＩＤ装置の機能構成のブロック図
【図４】図３の構成テーブルの説明図
【図５】構成テーブル書替え時にサブＣＰＵにシステム制御タスクを実行させて入出力制御のテーブル参照を抑止する本発明の第１実施形態の説明図
【図６】図５の第１実施形態におけるメインＣＰＵとサブＣＰＵの制御処理のフローチャート
【図７】構成テーブル書替え時にサブＣＰＵに保守エージェントの処理を実行させて入出力制御のテーブル参照を抑止する本発明の第２実施形態の説明図
【図８】図７の第２実施形態におけるメインＣＰＵとサブＣＰＵの制御処理のフローチャート
【図９】構成テーブル書替え時にセマフォを獲得してサブＣＰＵの入出力制御によるテーブル参照を抑止する本発明の第３実施形態の説明図
【図１０】図９の第３実施形態におけるメインＣＰＵとサブＣＰＵの制御処理のフローチャート
【図１１】メッセージキューを利用してサブＣＰＵの入出力制御によるテーブル参照を抑止する本発明の第４実施形態の説明図
【図１２】図１１の第４実施形態におけるメインＣＰＵとサブＣＰＵの制御処理のフローチャート
【図１３】構成テーブル書替え時にサブＣＰＵに排他専用タスク制御を実行させて入出力制御のテーブル参照を抑止する本発明の第５実施形態の説明図
【図１４】図１３の第５実施形態におけるメインＣＰＵとサブＣＰＵの制御処理のフローチャート
【図１５】メインＣＰＵとサブＣＰＵの各々につき構成テーブルを共用メモリに配置してテーブル書替中の参照を抑止する本発明の第６実施形態の説明図
【図１６】図１５の第６実施形態における構成情報変更処理のフローチャート
【図１７】共用メモリに構成テーブルをミラー化して２面設けてテーブル書替中の参照を抑止する本発明の第７実施形態の説明図
【図１８】図１７の第７実施形態における一方の構成テーブルの書替中に他方の構成テーブルを参照させた処理の説明図
【図１９】図１７の第７実施形態における構成情報変更処理のフローチャート
【図２０】構成テーブルの変更時にサブＣＰＵにサスペンドを通知して入出力要求の受付けを中断してテーブル書替中の参照を抑止する本発明の第８実施形態の説明図
【図２１】図２０の第８実施形態におけるメインＣＰＵ処理のフローチャート
【図２２】図２０の第８実施形態におけるサブＣＰＵ処理のフローチャート
【図２３】構成テーブルの変更時に排他フラグによりロックを獲得してテーブル書替中の参照を抑止する本発明の第９実施形態の説明図
【図２４】図２３の第９実施形態における構成情報変更処理のフローチャート
【符号の説明】
【０１７４】
１０：ＲＡＩＤ装置
１２：グローバルサーバ
１４：オープンサーバ
１６−１１，１６−１２，１６−２１，１６−２２：チャネルアダプタ 
１８，１８−１，１８−２：制御モジュール
２０−１，２０−２：ドライブエンクロージャ
２２，２２−１，２２−２：メインＣＰＵ
２４，２４−１，２４−２:サブＣＰＵ
２６−１１，２６−１２，２６−２１，２６−２２：デバイスインタフェース
２８，２８−１，２８−２：共用メモリ
３０−１，３０−２：ＤＭＡ処理部
３２−１１〜３２−１５，３２−２１〜３２−２５：ディスク装置
３４−１，３４−２：通信制御部
３６−１，３６−２：入出力制御部
３８−１，３８−２：システム制御部
４０:保守制御部
４２：システムボリューム
４４−１，４４−２：ユーザボリューム
４６：キャッシュメモリ
４８：構成テーブル
４８−１:第１構成テーブル
４８−２：第２構成テーブル
５０−１，５０−２：チャネルアダプタ制御部
５２−１，５２−２：リソース処理部
５４−１，５４−２：コピー処理部
５６−１，５６−２：キャッシュ制御部
５８−１，５８−２：ＲＡＩＤ制御部
６０：構成管理部
６２−１，６２−２：保守エージェント
６４：構成管理テーブル
６６：基本マスタテーブル
６８，７２：設定情報
７０，７４：状態情報
７６：構成情報変更制御部
７８：書替中フラグ
８０：サブＣＰＵ受信フラグ
９６：排他専用タスク制御部
１０６：セマフォフラグ
１１６：メッセージキュー
１４０：排他フラグ
【図１】
2006344119.tif 000003
【図２】
2006344119.tif 000004
【図３】
2006344119.tif 000005
【図４】
2006344119.tif 000006
【図５】
2006344119.tif 000007
【図６】
2006344119.tif 000008
【図７】
2006344119.tif 000009
【図８】
2006344119.tif 000010
【図９】
2006344119.tif 000011
【図１０】
2006344119.tif 000012
【図１１】
2006344119.tif 000013
【図１２】
2006344119.tif 000014
【図１３】
2006344119.tif 000015
【図１４】
2006344119.tif 000016
【図１５】
2006344119.tif 000017
【図１６】
2006344119.tif 000018
【図１７】
2006344119.tif 000019
【図１８】
2006344119.tif 000020
【図１９】
2006344119.tif 000021
【図２０】
2006344119.tif 000022
【図２１】
2006344119.tif 000023
【図２２】
2006344119.tif 000024
【図２３】
2006344119.tif 000025
【図２４】
2006344119.tif 000026