(57)【要約】【課題】  PCI_Expressスイッチに接続された個々の情報処理装置における制御ソフトウェアを複雑化することなく、PCI_Expressスイッチにおけるupstreamポートの縮退を実現する。【解決手段】  PCI_Expressスイッチからなるスイッチモジュール１０を介して複数のセントラルモジュール２０のＤＭＡコントローラ２４を接続した構成の情報処理システムにおいて、サービスモジュール３０と個々のＤＭＡコントローラ２４との間に、スイッチモジュール１０の設定変更の前後に、個々のＤＭＡコントローラ２４におけるＤＭＡデータ転送の一時停止／再開を制御するためのＤＭＡ制御通信線４２を設け、個々のセントラルモジュール２０の制御プログラム２２ａにＤＭＡデータ転送の一時停止／再開のための同期制御等を意識させることなく、無停止状態でスイッチモジュール１０の設定変更を可能にした。【選択図】図１
2006195821.tif 000002
【特許請求の範囲】
【請求項１】
経路制御装置に備えられた第１または第２属性を有する複数の入出力ポートの各々に情報処理装置を接続し、前記経路制御装置を介して前記情報処理装置の間におけるデータ転送を行う情報処理システムの制御方法であって、
すべての前記情報処理装置にデータ転送を中止させるステップと、
前記経路制御装置において、使用不能の前記第１属性の前記入出力ポート以外の前記第２属性の前記入出力ポートの属性および識別情報を再設定するステップと、
前記識別情報の再設定後に前記情報処理装置にデータ転送を再開させるステップと、
を含むことを特徴とする情報処理システムの制御方法。
【請求項２】
各々が第１または第２属性を有する複数の入出力ポートを備えた経路制御装置と、
個々の前記入出力ポートに接続される第１情報処理装置と、
前記経路制御装置および前記第１情報処理装置の保守管理を行う第２情報処理装置と、
を含む情報処理システムであって、
前記第２情報処理装置は、前記第１属性を有する前記入出力ポートに接続された前記情報処理装置の障害を検出する障害検出手段と、
前記経路制御装置における前記入出力ポートの識別情報の変更開始および変更終了を前記第１情報処理装置に通知する変更通知手段と、
前記経路制御装置における前記第２属性の前記入出力ポートの前記属性および識別情報を変更する識別情報変更手段と、
を含むことを情報処理システム。
【請求項３】
経路制御装置に備えられた複数の入出力ポートの一つに接続されるダイレクトメモリアクセス制御装置であって、
前記経路制御装置における前記入出力ポートの識別情報の再設定の予告通知および前記再設定の完了通知を受け付け、前記再設定の前記予告通知の受信を契機として接続先の入出力ポートに対するデータ転送を中止し、前記完了通知の受信を契機として前記データ転送を再開する制御論理を含むことを特徴とするダイレクトメモリアクセス制御装置。
【請求項４】
経路制御装置および前記経路制御装置の複数の入出力ポートに接続されたダイレクトメモリアクセス制御装置を保守管理するコンピュータを制御するプログラムであって、
前記コンピュータに、
すべての前記ダイレクトメモリアクセス制御装置にデータ転送を中止させる第１ステップと、
前記経路制御装置において、使用不能の前記第１属性の前記入出力ポート以外の前記入出力ポートの属性および識別情報を再設定する第２ステップと、
前記属性および識別情報の再設定後に前記ダイレクトメモリアクセス制御装置にデータ転送を再開させる第３ステップと、
を実行させることを特徴とするプログラム。
【請求項５】
ＰＣＩエクスプレスアーキテクチャのスイッチモジュールに設けられた複数の入出力ポートの各々に、ダイレクトメモリアクセス制御装置を介して情報処理装置を接続した構成の情報処理システムの制御方法であって、
アップストリームポートとして機能する前記入出力ポートが閉塞されたときに、全ての前記ダイレクトメモリアクセス制御装置におけるデータ転送処理を中止させた後、前記スイッチモジュールにおいて前記入出力ポートを識別するためのポート番号の再設定を実行し、前記再設定の完了後に前記ダイレクトメモリアクセス制御装置に対して前記データ転送処理を再開させることを特徴とする情報処理システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理技術に関し、特に、たとえば、ＰＣＩエキスプレス（PCI_Express）アーキテクチャにて複数のモジュール間での情報転送を行う情報処理システムおよびその制御技術等に適用して有効な技術に関する。
【背景技術】
【０００２】
たとえば、上位装置に対して入出力装置を接続するＩ／Ｏ接続インターフェイスとして、PCI_Expressアーキテクチャが注目されている。このPCI_Expressでは、一般的には、図６の参考技術に示すように、ＣＰＵ５０１およびメモリ５０２を接続するメモリブリッジ等のルートコンプレックス５０３（RootComplex）をPCI_Expressスイッチ５０４に設けられたupstreamポート５０５に接続し、その他の入出力機器５０７（EndPoint）をdownstreamポート５０６に接続し、upstreamポート５０５とdownstreamポート５０６の間、およびdownstreamポート５０６の間におけるパケットルーティングによるデータ転送を行わせるものである。
【０００３】
このPCI_Expressスイッチ５０４を用いた接続形態では一つのupstreamポート５０５を基準として他のdownstreamポート５０６のポート番号が設定され、このポート番号をアドレスとして、ポート間でのパケットルーティングが行われる。
【０００４】
上述の図６の接続構成は、パーソナルコンピュータ等の比較的小規模の情報処理システムを想定した場合であるが、PCI_Expressスイッチ５０４のupstreamポート５０５およびdownstreamポート５０６の各々に互いに等価な順位の情報処理装置を接続して稼働させることも可能である。
【０００５】
その場合、PCI_Expressスイッチ５０４の全てのポート、すなわち、upstreamポートおよびdownstreamポートには同じ情報処理装置が接続される。
ここでupstreamポートに接続された情報処理装置がハードウェア故障等によりデグレード（閉塞、縮退）されたケースが問題となる。
【０００６】
すなわち、PCI_Expressスイッチ５０４は、上位のRootComplexからupstreamポート経由でしかdownstreamポートのコンフィギュレーション（ポート番号の設定等）が出来ないため、常にupstreamポートには健全な情報処理装置が接続されている必要がある。
【０００７】
このためupstreamポートに接続された情報処理装置がデグレードされた時点でPCI_Expressスイッチ５０４の他のどれかのdownstreamポート５０６をupstreamポート５０５に設定変更し、全体のポート番号を再設定する必要がある。
【０００８】
しかし、前述の通りパケットルーティングの基準となるポート番号はupstreamポート５０５を基点として割り振られるので、任意のポートの属性をdownstreamからupstreamに変更した時点で、個々のポート番号を設定しなおす必要がある。これらの設定変更はPCI_Expressスイッチ５０４に接続されたＩ２Ｃ等の保守インターフェイス等から行われる。
【０００９】
ところが、PCI_Expressスイッチ５０４を介した複数の情報処理装置を冗長に接続して信頼性を確保し、原則として２４時間稼動させるような情報処理システムでは、上述のupstreamポートのデグレード発生時におけるPCI_Expressスイッチ５０４の設定変更処理は、システム全体が電源オンの状態で行われなければならない。
【００１０】
したがってPCI_Expressスイッチ５０４の設定変更を行う間、デグレードされたポート以外のポート同士で行われる通信を一旦ストップする必要がある。
このような、PCI_Expressスイッチ５０４を経由した情報処理装置間の通信の一旦停止を各情報処理装置のファームウェア（ソフトウェア）の制御下で行う場合、当該処理を各情報処理装置のファームウェアが同期を取って行う必要があり、ファームウェアのアルゴリズムが非常に複雑になるという技術的課題がある。
【００１１】
なお、情報処理システムにおける接続インターフェイスに関しては、たとえば、特許文献１には、ＵＳＢインターフェイスの上位インターフェイス側を、マルチプレクサを介して複数のホストに接続することで、ＵＳＢインターフェイスに接続された入出力機器を複数のホストで共有する技術が開示されている。
【００１２】
また、特許文献２には、中央処理装置側のシステムデータバスと、下位装置側のローカルデータバスとの間に介在してダイレクトメモリアクセスのバス調停を行うバス制御装置において、ダイレクトメモリアクセス動作中の障害を監視し、障害発生時には下位装置側からダイレクトメモリアクセス要求をマスクし、障害復旧後に、中央処理装置側からのみマスク解除が可能なマスクレジスタを設けることで、ダイレクトメモリアクセス中の生じた障害が複数の下位装置に波及することを防止する技術が開示されている。
【００１３】
さらに、特許文献３には、本来、ホストとＵＳＢデバイスとの間で、１対多の接続構成を前提とするＵＳＢインターフェイスにおいて、複数のＵＳＢデバイスが接続される疑似ＵＳＢホスト部と、複数のＵＳＢホストが接続される疑似ＵＳＢデバイス部とを備えたＵＳＢデータ変換装置を設け、複数のＵＳＢホストと複数のＵＳＢデバイスとの間におけるデータ転送を可能にした技術が開示されている。
【００１４】
しかながら、上記のいずれの従来技術の場合も、PCI_Expressアーキテクチャにおける上述の技術的課題は認識されていない。
【特許文献１】実用新案登録第３０９１４７５号公報
【特許文献２】特開昭６３−３０８６８５号公報
【特許文献３】特開２００２−３４２２５５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明の目的は、経路制御装置の複数の入出力ポートの各々に情報処理装置を接続した構成の情報処理システムにおいて、個々の情報処理装置における制御ソフトウェアを複雑化することなく、かつシステムの稼働を停止させることなく、入出力ポートの縮退を実現することにある。
【００１６】
本発明の他の目的は、PCI_Expressスイッチを介して複数の情報処理装置を接続したPCI_Expressアーキテクチャにおいて、個々の情報処理装置における制御ソフトウェアを複雑化することなく、PCI_Expressスイッチにおけるupstreamポートの縮退を実現することにある。
【課題を解決するための手段】
【００１７】
本発明の第１の観点は、経路制御装置に備えられた第１または第２属性を有する複数の入出力ポートの各々に情報処理装置を接続し、前記経路制御装置を介して前記情報処理装置の間におけるデータ転送を行う情報処理システムの制御方法であって、
すべての前記情報処理装置にデータ転送を中止させるステップと、
前記経路制御装置において、使用不能の前記第１属性の前記入出力ポート以外の前記第２属性の前記入出力ポートの属性および識別情報を再設定するステップと、
前記識別情報の再設定後に前記情報処理装置にデータ転送を再開させるステップと、
を含む情報処理システムの制御方法を提供する。
【００１８】
本発明の第２の観点は、各々が第１または第２属性を有する複数の入出力ポートを備えた経路制御装置と、
個々の前記入出力ポートに接続される第１情報処理装置と、
前記経路制御装置および前記第１情報処理装置の保守管理を行う第２情報処理装置と、
を含む情報処理システムであって、
前記第２情報処理装置は、前記第１属性を有する前記入出力ポートに接続された前記情報処理装置の障害を検出する障害検出手段と、
前記経路制御装置における前記入出力ポートの識別情報の変更開始および変更終了を前記第１情報処理装置に通知する変更通知手段と、
前記経路制御装置における前記第２属性の前記入出力ポートの前記属性および識別情報を変更する識別情報変更手段と、
を含むことを情報処理システムを提供する。
【００１９】
本発明の第３の観点は、経路制御装置に備えられた複数の入出力ポートの一つに接続されるダイレクトメモリアクセス制御装置であって、
前記経路制御装置における前記入出力ポートの識別情報の再設定の予告通知および前記再設定の完了通知を受け付け、前記再設定の前記予告通知の受信を契機として接続先の入出力ポートに対するデータ転送を中止し、前記完了通知の受信を契機として前記データ転送を再開する制御論理と、
を含むダイレクトメモリアクセス制御装置を提供する。
【００２０】
本発明の第４の観点は、経路制御装置および前記経路制御装置の複数の入出力ポートに接続されたダイレクトメモリアクセス制御装置を保守管理するコンピュータを制御するプログラムであって、
前記コンピュータに、
すべての前記ダイレクトメモリアクセス制御装置にデータ転送を中止させる第１ステップと、
前記経路制御装置において、使用不能の前記第１属性の前記入出力ポート以外の前記入出力ポートの属性および識別情報を再設定する第２ステップと、
前記属性および識別情報の再設定後に前記ダイレクトメモリアクセス制御装置にデータ転送を再開させる第３ステップと、
を実行させるプログラムを提供する。
【００２１】
本発明の第５の観点は、ＰＣＩエクスプレスアーキテクチャのスイッチモジュールに設けられた複数の入出力ポートの各々に、ダイレクトメモリアクセス制御装置を介して情報処理装置を接続した構成の情報処理システムの制御方法であって、
アップストリームポートとして機能する前記入出力ポートが閉塞されたときに、全ての前記ダイレクトメモリアクセス制御装置におけるデータ転送処理を中止させた後、前記スイッチモジュールにおいて前記入出力ポートを識別するためのポート番号の再設定を実行し、前記再設定の完了後に前記ダイレクトメモリアクセス制御装置に対して前記データ転送処理を再開させる情報処理システムの制御方法を提供する。
【００２２】
上記した本発明によれば、たとえば、PCI_Expressスイッチのように、入出力ポートの属性に基づいて、特定の属性の入出力ポート（upstreamポート）を基準として個々の入出力ポートの識別情報の設定を行うアーキテクチャにおいて、個々の入出力ポートに対して、ダイレクトメモリアクセス制御装置を介して情報処理装置を接続する場合、個々のダイレクトメモリアクセス制御装置は、upstreamポートの閉塞や縮退によるPCI_Expressスイッチの再構成の開始および完了を認識し、この再構成の間、ダイレクトメモリアクセス制御装置は、PCI_Expressスイッチに対するデータ転送を抑止し、PCI_Expressスイッチの再構成の完了後にデータ転送を再開する。
【００２３】
このため、PCI_Expressスイッチに接続された複数の情報処理装置の各々の制御ソフトウェアでは、PCI_Expressスイッチにおけるupstreamポートの閉塞等に起因する再構成の実行を意識することなくPCI_Expressスイッチを介した相互間通信を行う事が可能となる。
【発明の効果】
【００２４】
本発明によれば、経路制御装置の複数の入出力ポートの各々に情報処理装置を接続した構成の情報処理システムにおいて、個々の情報処理装置における制御ソフトウェアを複雑化することなく、かつシステムの稼働を停止させることなく、入出力ポートの縮退を実現することができる。
【００２５】
また、PCI_Expressスイッチを介して複数の情報処理装置を接続したPCI_Expressアーキテクチャにおいて、個々の情報処理装置における制御ソフトウェアを複雑化することなく、PCI_Expressスイッチにおけるupstreamポートの縮退を実現することにある。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照しながら、本発明の実施の形態について詳細に説明する。
図１は、本発明の一実施の形態である情報処理システムの構成の一例を示す概念図、図２は、本発明の一実施の形態である情報処理システムの作用の一例を示すシーケンス図、図３は、本実施の形態の情報処理システムを構成する情報処理装置であるセントラルモジュールの一部に設けられたＤＭＡコントローラの構成をより詳細に例示したブロック図、図４は、本実施の形態の情報処理システムを構成するサービスモジュールの構成の一例を示すブロック図、図５は、個々のセントラルモジュールに設けられたＤＭＡコントローラの作用の一例を示すフローチャートである。
【００２７】
図１に例示されるように、本実施の形態の情報処理システムは、スイッチモジュール１０と、このスイッチモジュール１０に設けられた複数の入出力ポート１１にインターフェイスケーブル１１ａを介して個別に接続された複数のセントラルモジュール２０と、スイッチモジュール１０およびセントラルモジュール２０の保守管理を行うサービスモジュール３０を含んでいる。
【００２８】
スイッチモジュール１０は、たとえば、PCI_Expressアーキテクチャに基づいて、たとえば、パケットルーティングにより、複数の入出力ポート１１の各々に接続された複数のセントラルモジュール２０の間におけるデータ転送を行う。
【００２９】
スイッチモジュール１０には、保守用ポート１２が設けられており、この保守用ポート１２は、保守通信線４１を介してサービスモジュール３０に接続されている。サービスモジュール３０は、この保守用ポート１２を通じて、スイッチモジュール１０における複数の入出力ポート１１の各々にユニークに付与されるポート番号の設定等の保守管理を行う。
【００３０】
このPCI_Expressアーキテクチャのスイッチモジュール１０では、複数の入出力ポート１１の一つは、upstreamポートの属性を持ち、その他の入出力ポート１１は、downstreamポートの属性を持つ。そして、個々の入出力ポート１１を識別するために付与されるポート番号は、upstreamポートの入出力ポート１１を基準にして、異なるポート番号が付与される。
【００３１】
本実施の形態の場合、このポート番号の初期設定および再設定は、保守用ポート１２を介して、外部のサービスモジュール３０によって行われる。
初期設定状態では、一つの入出力ポート１１がupstreamポートの属性を備えており、当該upstreamポート自体の障害または当該upstreamポートに接続されるセントラルモジュール２０の障害によって、当該upstreamポートを閉塞して縮退させる（切り離す）場合には、他のdownstreamポート属性を持つ入出力ポート１１の中から新たに一つのupstreamポートが決定され、このupstreamポートを基準として、全ての入出力ポート１１に対するポート番号の再設定が行われる。
【００３２】
スイッチモジュール１０に接続される個々のセントラルモジュール２０は、ＣＰＵ（中央処理装置）２１、メモリ２２、メモリハブ２３、およびＤＭＡコントローラ２４を含んでいる。
【００３３】
ＣＰＵ２１、メモリ２２およびＤＭＡコントローラ２４は、メモリハブ２３を介して情報のやりとりを行う。
メモリハブ２３には、ＣＰＵ２１の制御下で動作するデバイスコントローラ２５が接続されている。このデバイスコントローラ２５の配下には、冗長構成の複数の記憶装置で構成されるディスクアレイ２６が接続されており、これらのディスクアレイ２６は、デバイスコントローラ２５の制御の下で、ＲＡＩＤ０〜５等の冗長記憶システムを構成している。
【００３４】
すなわち、個々のセントラルモジュール２０は、配下のデバイスコントローラ２５およびディスクアレイ２６とともにディスクアレイシステムを構成している。この場合、セントラルモジュール２０は、後述のように、ディスクアレイシステムにおけるキャッシュコントローラとして機能する。
【００３５】
さらに、メモリハブ２３には、外部のホストコンピュータ５０が接続されており、セントラルモジュール２０は、自装置の配下のディスクアレイ２６と、外部のホストコンピュータ５０および他のセントラルモジュール２０との間におけるデータ転送処理を制御する。
【００３６】
この場合、セントラルモジュール２０に備えられたメモリ２２は、キャッシュメモリとしても機能し、ディスクアレイ２６から読み出されたデータ、またはディスクアレイ２６に書き込まれるデータを一時的に保持する。このキャッシュメモリとしてのメモリ２２の制御は、ＣＰＵ２１が行う。
【００３７】
すなわち、メモリ２２の一部には、メモリハブ２３に接続された図示しない不揮発性メモリからロードされた制御プログラム２２ａが格納されており、この制御プログラム２２ａをＣＰＵ２１が実行することによって、ホストコンピュータ５０とディスクアレイ２６との間におけるキャッシュメモリ（メモリ２２）を介したデータ入出力、および他のセントラルモジュール２０との間におけるキャッシュメモリ（メモリ２２）を介したデータ転送制御を行う。これにより、セントラルモジュール２０はキャッシュコントローラとして機能する。
【００３８】
セントラルモジュール２０の各々は、ＤＭＡコントローラ２４を介してスイッチモジュール１０の入出力ポート１１に接続されている。
図３に例示されるように、このＤＭＡコントローラ２４は、メモリハブ２３に接続されるメモリインタフェース２４ａ、およびスイッチモジュール１０の入出力ポート１１に接続されるスイッチインタフェース２４ｂ、ディスクリプタフェッチ回路２４ｃ、ディスクリプタバッファ２４ｄ、ステートマシン回路２４ｅ（制御論理）、データ転送制御ブロック２４ｇ、およびＤＭＡ開始制御レジスタ２４ｆを備えている。
【００３９】
ＣＰＵ２１は、メモリハブ２３からメモリインタフェース２４ａを通じてＤＭＡ開始制御レジスタ２４ｆに起動指示（ディスクリプタ）を書き込むことで、ディスクリプタフェッチ回路２４ｃおよびステートマシン回路２４ｅを起動する。
【００４０】
ディスクリプタフェッチ回路２４ｃは、メモリハブ２３およびメモリインタフェース２４ａを通じてディスクリプタをメモリ２２から読み出し、ディスクリプタバッファ２４ｄに格納する。ステートマシン回路２４ｅは、ディスクリプタバッファ２４ｄに格納されたディスクリプタを解析して、データ転送制御ブロック２４ｇにデータ転送を指示し、データ転送制御ブロック２４ｇは、ステートマシン回路２４ｅからの指示を受けて、メモリインタフェース２４ａとスイッチインタフェース２４ｂとの間におけるデータ転送を行う。
【００４１】
データ転送制御ブロック２４ｇは、メモリ転送制御回路２４ｈ、データバッファ２４ｉ、およびスイッチ転送制御回路２４ｊを備える。
メモリ転送制御回路２４ｈは、ステートマシン回路２４ｅから起動され、メモリインタフェース２４ａを通じてメモリ２２とデータバッファ２４ｉの間でデータ転送を行い、スイッチ転送制御回路２４ｊは、ステートマシン回路２４ｅから起動され、スイッチインタフェース２４ｂを通じてデータバッファ２４ｉとスイッチモジュール１０（すなわち、他のセントラルモジュール２０）の間で、PCI_Expressアーキテクチャに準拠したプロトコルでのデータ転送を行う。
【００４２】
この場合、ＤＭＡコントローラ２４のステートマシン回路２４ｅは、ＤＭＡ制御通信線４２を介してサービスモジュール３０に接続されている。
そして、ＤＭＡ制御通信線４２を介して、サービスモジュール３０からステートマシン回路２４ｅに対しては、スイッチ設定変更開始予告信号４２ａおよびスイッチ設定変更完了通知信号４２ｂが伝達される。
【００４３】
ステートマシン回路２４ｅは、スイッチ設定変更開始予告信号４２ａを認識してデータ転送制御ブロック２４ｇにおけるデータ転送動作を一時的に停止させるとともに、スイッチ設定変更予告確認信号４２ｃをサービスモジュール３０に応答する機能を備えている。また、サービスモジュール３０からのスイッチ設定変更完了通知信号４２ｂを認識して、データ転送制御ブロック２４ｇにおけるデータ転送を再開させる機能を備えている。
【００４４】
また、ＤＭＡ制御通信線４２を介して、ステートマシン回路２４ｅからサービスモジュール３０に対してはスイッチ設定変更予告確認信号４２ｃが伝達される。
スイッチ設定変更開始予告信号４２ａは、後述の保守プログラム３９が、後述のスイッチモジュール１０における設定変更の開始をステートマシン回路２４ｅに予告するために用いられる。
【００４５】
また、スイッチ設定変更完了通知信号４２ｂは、保守プログラム３９が、後述のスイッチモジュール１０における設定変更の完了をステートマシン回路２４ｅに通知するために用いられる。
【００４６】
また、スイッチ設定変更予告確認信号４２ｃは、ステートマシン回路２４ｅが、スイッチ設定変更開始予告信号４２ａの受信確認を保守プログラム３９（サービスモジュール３０）に応答するために用いられる。
【００４７】
図４に例示されるように、本実施の形態のサービスモジュール３０は、ＭＰＵ（マイクロプロセッサ）３１、主記憶３２、ディスプレイ３３、キーボード３４、外部記憶装置３５、ＤＭＡ通信インターフェイス３６、保守インターフェイス３７、バス３８を備えている。
【００４８】
ＭＰＵ３１は、主記憶３２に格納されたプログラム（この場合、保守プログラム３９）を実行することで、たとえば、個々のセントラルモジュール２０の動作状態の監視、スイッチモジュール１０におけるポート番号の設定／変更およびＤＭＡコントローラ２４の一部の動作制御、等を行う。
【００４９】
保守プログラム３９は、個々のセントラルモジュール２０の動作状態を監視して障害を検出する障害検出論理３９ａと、ステートマシン回路２４ｅとの間におけるスイッチ設定変更開始予告信号４２ａ、スイッチ設定変更完了通知信号４２ｂおよびスイッチ設定変更予告確認信号４２ｃの授受を行う設定変更通知論理３９ｂと、スイッチモジュール１０における設定変更を行う識別情報変更論理３９ｃを備えている。
【００５０】
主記憶３２には、ＭＰＵ３１が実行する保守プログラム３９や図示しないデータ等の情報が格納される。ディスプレイ３３およびキーボード３４は、システム管理者がサービスモジュール３０を操作する際の情報の可視化表示、データやコマンドの入力操作等に必要なユーザインターフェイスを提供する。
【００５１】
外部記憶装置３５には、保守プログラム３９等のソフトウェアやデータが不揮発に格納され、必要に応じて、主記憶３２にロードされる。また、セントラルモジュール２０やスイッチモジュール１０の監視データ等の情報も格納される。
【００５２】
保守インターフェイス３７には、保守通信線４１が接続され、サービスモジュール３０が保守通信線４１に接続されたスイッチモジュール１０、セントラルモジュール２０等の情報処理機器との間における保守管理情報の授受のための接続インターフェイスを提供する。
【００５３】
ＤＭＡ通信インターフェイス３６には、上述のＤＭＡ制御通信線４２が接続されており、複数のセントラルモジュール２０の各々に設けられた上述のＤＭＡコントローラ２４とサービスモジュール３０との間における後述のスイッチ設定変更開始予告信号４２ａ、スイッチ設定変更完了通知信号４２ｂおよびスイッチ設定変更予告確認信号４２ｃ等の情報の授受を実現する。
【００５４】
以下、図２のシーケンス図等を参照して、本実施の形態の情報処理システムの作用の一例について説明する。
上述のように、スイッチモジュール１０の複数の入出力ポート１１の一つはupstreamポートの属性を持ち、他はdownstreamポートの属性を持つ。いま、一つのセントラルモジュール２０(図１のセントラルモジュール＃３)が接続される入出力ポート１１がupstreamポートであり、それ以外の入出力ポート１１がdownstreamポートであるとする。
【００５５】
そして、以下では、一つのupstreamポートに接続されたセントラルモジュール２０（たとえば、セントラルモジュール＃３）をupstreamCMと記述し、それ以外のdownstreamポートに接続されたセントラルモジュール２０をdownstreamCMと記述する。
【００５６】
また、個々のセントラルモジュール２０においてＤＭＡコントローラ２４がメモリ２２と入出力ポート１１との間でデータ転送を行う処理をＤＭＡ＃ｎ（ダイレクトメモリアクセス）と記す。ただし、ｎは個々のＤＭＡを区別するための整数番号である。
【００５７】
まず、個々のセントラルモジュール２０は、自装置に接続されたホストコンピュータ５０からの配下のディスクアレイ２６に対するＩ／Ｏ要求に応答して、データの入出力を行う。
【００５８】
また、たとえば、データを複数のセントラルモジュール２０の配下のディスクアレイ２６に多重化して格納する場合には、一つのセントラルモジュール２０は、ホストコンピュータ５０から受け取ったデータを自装置の配下のディスクアレイ２６に格納させるとともに、当該書き込みデータをＤＭＡコントローラ２４から、スイッチモジュール１０を介して他のセントラルモジュール２０にも転送する。
【００５９】
すなわち、たとえばセントラルモジュール＃０とセントラルモジュール＃１の間におけるスイッチモジュール１０を介したデータ転送では、たとえば、セントラルモジュール＃０の制御プログラム２２ａは、配下のＤＭＡコントローラ２４に対してデータ転送処理（ＤＭＡ＃１）を起動し（ステップ１１１）、これを受けた配下のＤＭＡコントローラ２４は、データ転送処理（ＤＭＡ＃１）を開始し（ステップ１２１）、完了したら（ＤＭＡ＃１）の完了通知を制御プログラム２２ａに対して行う（ステップ１２２）。
【００６０】
このデータ転送処理（ＤＭＡ＃１）を受ける側の、たとえばセントラルモジュール＃１では、ＤＭＡコントローラ２４が当該データ転送処理（ＤＭＡ＃１）の受信処理を実行する（ステップ１４１）。
【００６１】
また、セントラルモジュール＃１からセントラルモジュール＃０へのデータ転送処理（ＤＭＡ＃２）では、セントラルモジュール＃１の制御プログラム２２ａが配下のＤＭＡコントローラ２４に対してＤＭＡ＃２の起動を行い（ステップ１５１）、これを受けたＤＭＡコントローラ２４は、相手側のセントラルモジュール＃０に対してＤＭＡ＃２の送信を開始する（ステップ１４２）。
【００６２】
これを受けた相手側のセントラルモジュール＃１のＤＭＡコントローラ２４は、ＤＭＡ＃２の受信を行う（ステップ１２３）。
このようなデータ転送動作の間、サービスモジュール３０の保守プログラム３９は、スイッチモジュール１０および複数のセントラルモジュール２０の動作を監視している。
【００６３】
そして、保守プログラム３９（サービスモジュール３０）は、upstreamCMの異常を検出すると（ステップ１０１）、upstreamCMの切離しとともに（ステップ１０２）、他の全てのdownstreamCMのＤＭＡコントローラ２４にスイッチ設定変更開始予告信号４２ａを送信して（ステップ１０３）、各downstreamCMのＤＭＡコントローラ２４からの応答を待つ（ステップ１０４）。
【００６４】
個々のdownstreamCMのＤＭＡコントローラ２４はサービスモジュール３０からのスイッチ設定変更開始予告信号４２ａを受信したとき、起動中のダイレクトメモリアクセス処理がない場合は、直ちにサービスモジュール３０にスイッチ設定変更予告確認信号４２ｃを応答する（ステップ１２４）。
【００６５】
起動中のＤＭＡがある場合は（たとえば、図２の例では、セントラルモジュール＃１のＤＭＡ＃２）、当該ＤＭＡが終了した後、サービスモジュール３０にスイッチ設定変更予告確認信号４２ｃを応答し（ステップ１４３）、保守プログラム３９からのスイッチ設定変更完了通知信号４２ｂの受信待ちになる（ステップ１４４）。
【００６６】
ＤＭＡコントローラ２４はスイッチ設定変更予告確認信号４２ｃの応答をサービスモジュール３０に実行した後、自装置の制御プログラム２２ａからＤＭＡ＃３を起動された場合は（ステップ１１２）、サービスモジュール３０からのスイッチ設定変更完了通知信号４２ｂの受信を待ちつつ（ステップ１２５）、この「ＤＭＡ＃３」をキューイングする（ステップ１２６）。
【００６７】
サービスモジュール３０の保守プログラム３９は、全てのdownstreamCMのＤＭＡコントローラ２４からスイッチ設定変更開始予告信号４２ａに対するスイッチ設定変更予告確認信号４２ｃの応答を受け取った後（ステップ１０５）、スイッチモジュール１０に接続された保守通信線４１を起動して、スイッチモジュール１０のポート番号の設定変更を行う（ステップ１０６）。このポート番号の設定変更では、閉塞された以前のupstreamポート（すなわち、この場合、セントラルモジュール＃３）の代わりに、downstreamポートの中から新たな一つのupstreamポート（たとえば、セントラルモジュール＃２に接続された入出力ポート１１）を決定するとともに、当該upstreamポートを基準として新たなポート番号を個々の入出力ポート１１に付与する再設定処理を実行する。
【００６８】
サービスモジュール３０の保守プログラム３９は、はスイッチモジュール１０の設定変更が終了した後、全てのセントラルモジュール２０のＤＭＡコントローラ２４にスイッチ設定変更完了通知信号４２ｂを送信する（ステップ１０７）。
【００６９】
個々のＤＭＡコントローラ２４は、サービスモジュール３０からのスイッチ設定変更完了通知信号４２ｂの受信後、キューイングされていたＤＭＡ＃３をスタートさせ（ステップ１２７）、相手側のセントラルモジュール＃１のＤＭＡコントローラ２４は、このＤＭＡ＃３を受信する（ステップ１４５）。
【００７０】
図５のフローチャートにて、個々のセントラルモジュール２０に備えられたＤＭＡコントローラ２４におけるステートマシン回路２４ｅの動作の一例をより詳細に説明する。
ステートマシン回路２４ｅは、ＣＰＵ２１の制御プログラム２２ａからＤＭＡ開始制御レジスタ２４ｆへのディスクリプタの書き込みを監視しつつ待機し（ステップ２０１）、ＤＭＡ開始制御レジスタ２４ｆへのディスクリプタの書き込みを契機として当該ディスクリプタをＤＭＡ開始制御レジスタ２４ｆから読み出して（ステップ２０２）、解析する（ステップ２０３）。
【００７１】
そして、まず、サービスモジュール３０の保守プログラム３９からのスイッチ設定変更開始予告信号４２ａの受信の有無を判別し（ステップ２０８）、受信有りの場合には、保守プログラム３９に対してスイッチ設定変更予告確認信号４２ｃを応答するとともに、当該ディスクリプタにて指示されたデータ転送処理を保留し、保守プログラム３９からのスイッチ設定変更完了通知信号４２ｂの受信を待って（ステップ２０９）、ステップ２０４のデータ転送を開始する。
【００７２】
一方、ステップ２０８でスイッチ設定変更開始予告信号４２ａの受信なしの場合には、直ちに、ディスクリプタの内容にしたがってデータ転送制御ブロック２４ｇを制御することで、メモリ２２からのデータの読み出し、およびスイッチモジュール１０（を経由した相手側）へのデータライト転送を実行し（ステップ２０５）、転送済の累積データサイズＭが、ディスクリプタで指定された全転送データサイズＮと等しくなったか否か、すなわち、データ転送完了か否かを判別し（ステップ２０６）、Ｍ＜Ｎ（すなわちデータ転送が未完）の場合は、ステップ２０８のスイッチ設定変更開始予告信号４２ａの受信の有無を判別して、受信なしの場合にはステップ２０４以降を反復する。
【００７３】
また、ステップ２０８でスイッチ設定変更開始予告信号４２ａの受信有りの場合には、データ転送を中断して上述のステップ２０９の動作を行う。
ステップ２０６で、Ｍ＝Ｎ、すなわちデータ転送完了の場合には、ＣＰＵ２１の制御プログラム２２ａに対してデータ転送終了を通知して、ステップ２０１の待機状態に戻る（ステップ２０７）。
【００７４】
以上説明したように、本実施の形態によれば、たとえばPCI_Expressアーキテクチャのスイッチモジュール１０を介して、複数のセントラルモジュール２０を接続して、これらのセントラルモジュール２０の間におけるデータ転送を行わせる構成の情報処理システムにおいて、upstreamポートの属性を持つ入出力ポート１１に接続されたセントラルモジュール２０の障害等により、当該upstreamポートを閉塞して、スイッチモジュール１０におけるポート番号の再付与等の再設定を行う場合に、システム全体の稼働させたままで当該再設定を行うことができる。
【００７５】
また、サービスモジュール３０の保守プログラム３９からＤＭＡ制御通信線４２を介してすべてのセントラルモジュール２０のＤＭＡコントローラ２４に対して、データ転送の中止を指示した後にスイッチモジュール１０の再設定を実行し、当該再設定の完了後、ＤＭＡコントローラ２４にデータ転送の再開を指示することで、スイッチモジュール１０の設定変更が行われるので、個々のセントラルモジュール２０におけるＣＰＵ２１の制御プログラム２２ａは、スイッチモジュール１０の設定変更のためのデータ転送処理の中止を他のセントラルモジュール２０と同期させるための煩雑な処理は全く不要である。
【００７６】
したがって、スイッチモジュール１０の複数の入出力ポート１１の各々にセントラルモジュール２０を接続した構成の情報処理システムにおいて、個々のセントラルモジュール２０における制御プログラム２２ａを複雑化することなく、しかもシステム全体の稼働を停止させることなく、スイッチモジュール１０の設定変更による入出力ポート１１の縮退を実現することができる。
【００７７】
したがって、PCI_Expressスイッチとしてのスイッチモジュール１０を介して複数のセントラルモジュール２０を接続したPCI_Expressアーキテクチャにおいて、個々のセントラルモジュール２０における制御プログラム２２ａを複雑化することなく、スイッチモジュール１０におけるupstreamポートの縮退を実現することができる。
【００７８】
また、PCI_Expressアーキテクチャは広く普及することが予想されるため、当該PCI_Expressアーキテクチャに準拠したスイッチモジュール１０は、比較的安価に構築することができる。
【００７９】
したがって、各々が、セントラルモジュール２０、デバイスコントローラ２５およびディスクアレイ２６からなる複数のディスクアレイシステムを、比較的安価なスイッチモジュール１０を介して相互に結合して冗長化することで、信頼性の高い無停止稼働を行うディスクアレイシステムを低価格にて構築することが可能になる。
なお、本発明は、上述の実施の形態に例示した構成に限らず、その趣旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【００８０】
（付記１）
経路制御装置に備えられた第１または第２属性を有する複数の入出力ポートの各々に情報処理装置を接続し、前記経路制御装置を介して前記情報処理装置の間におけるデータ転送を行う情報処理システムの制御方法であって、
すべての前記情報処理装置にデータ転送を中止させるステップと、
前記経路制御装置において、使用不能の前記第１属性の前記入出力ポート以外の前記第２属性の前記入出力ポートの属性および識別情報を再設定するステップと、
前記識別情報の再設定後に前記情報処理装置にデータ転送を再開させるステップと、
を含むことを特徴とする情報処理システムの制御方法。
【００８１】
（付記２）
付記１記載の情報処理システムの制御方法において、
個々の前記情報処理装置は、中央処理装置と、メモリと、前記入出力ポートに接続されるダイレクトメモリアクセス制御装置と、を備え、前記ダイレクトメモリアクセス制御装置は、前記識別情報の再設定の開始に先立って前記メモリに対するダイレクトメモリアクセス処理を中止するとともに、前記中央処理装置から指示された複数のダイレクトメモリアクセス処理を時系列に保留し、前記識別情報の前記再設定の完了後に、前記ダイレクトメモリアクセス処理を再開することを特徴とする情報処理システムの制御方法。
【００８２】
（付記３）
付記１記載の情報処理システムの制御方法において、
前記経路制御装置は、ＰＣＩエキスプレスアーキテクチャにおけるスイッチモジュールであり、個々の前記入出力ポートは、前記第１属性を持つアップストリームポートまたは前記第２属性を持つダウンストリームポートとして機能し、前記アップストリームポートに接続された前記情報処理装置に障害が発生したとき、前記ダウンストリームポートの一つを前記アップストリームポートに選出し、このアップストリームポートを基準として前記識別情報としての新たなポート番号が付与されることを特徴とする情報処理システムの制御方法。
【００８３】
（付記４）
付記１記載の情報処理システムの制御方法において、
前記情報処理装置の少なくとも一つは、冗長構成の記憶装置にデータを分散して格納するディスクアレイ装置であることを特徴とする情報処理システムの制御方法。
【００８４】
（付記５）
各々が第１または第２属性を有する複数の入出力ポートを備えた経路制御装置と、
個々の前記入出力ポートに接続される第１情報処理装置と、
前記経路制御装置および前記第１情報処理装置の保守管理を行う第２情報処理装置と、
を含む情報処理システムであって、
前記第２情報処理装置は、前記第１属性を有する前記入出力ポートに接続された前記情報処理装置の障害を検出する障害検出手段と、
前記経路制御装置における前記入出力ポートの識別情報の変更開始および変更終了を前記第１情報処理装置に通知する変更通知手段と、
前記経路制御装置における前記第２属性の前記入出力ポートの前記属性および識別情報を変更する識別情報変更手段と、
を含むことを情報処理システム。
【００８５】
（付記６）
付記５記載の情報処理システムにおいて、
個々の前記第１情報処理装置は、前記入出力ポートに接続されるダイレクトメモリアクセス制御装置を備え、
前記ダイレクトメモリアクセス制御装置は、前記第２情報処理装置からの前記変更開始の通知を契機として、前記入出力ポートに対するデータ転送処理を中止し、前記変更終了の通知を契機として前記入出力ポートに対する前記データ転送処理を再開する制御論理を備えたことを特徴とする情報処理システム。
【００８６】
（付記７）
付記５記載の情報処理システムにおいて、
前記経路制御装置は、ＰＣＩエキスプレスアーキテクチャにおけるスイッチモジュールであり、個々の前記入出力ポートは、前記第１属性を持つアップストリームポートまたは前記第２属性を持つダウンストリームポートとして機能し、
前記アップストリームポートに接続された前記情報処理装置に障害が発生したとき、前記第２情報処理装置の識別情報変更手段は当該アップストリームポートを切り離すとともに、前記スイッチモジュールの前記ダウンストリームポートの一つを前記アップストリームポートに選出し、このアップストリームポートを基準として前記識別情報としての新たなポート番号を付与することを特徴とする情報処理システム。
【００８７】
（付記８）
付記５記載の情報処理システムにおいて、
前記情報処理装置の少なくとも一つは、冗長構成の記憶装置にデータを分散して格納するディスクアレイシステムであることを特徴とする情報処理システム。
【００８８】
（付記９）
経路制御装置に備えられた複数の入出力ポートの一つに接続されるダイレクトメモリアクセス制御装置であって、
前記経路制御装置における前記入出力ポートの識別情報の再設定の予告通知および前記再設定の完了通知を受け付け、前記再設定の前記予告通知の受信を契機として接続先の入出力ポートに対するデータ転送を中止し、前記完了通知の受信を契機として前記データ転送を再開する制御論理を含むことを特徴とするダイレクトメモリアクセス制御装置。
【００８９】
（付記１０）
付記９記載のダイレクトメモリアクセス制御装置において、
前記経路制御装置は、ＰＣＩエキスプレスアーキテクチャにおけるスイッチモジュールであることを特徴とするダイレクトメモリアクセス制御装置。
【００９０】
（付記１１）
経路制御装置および前記経路制御装置の複数の入出力ポートに接続されたダイレクトメモリアクセス制御装置を保守管理するコンピュータを制御するプログラムであって、
前記コンピュータに、
すべての前記ダイレクトメモリアクセス制御装置にデータ転送を中止させる第１ステップと、
前記経路制御装置において、使用不能の前記第１属性の前記入出力ポート以外の前記入出力ポートの属性および識別情報を再設定する第２ステップと、
前記属性および識別情報の再設定後に前記ダイレクトメモリアクセス制御装置にデータ転送を再開させる第３ステップと、
を実行させることを特徴とするプログラム。
【００９１】
（付記１２）
付記１１記載のプログラムにおいて、
前記経路制御装置は、ＰＣＩエキスプレスアーキテクチャにおけるスイッチモジュールであり、個々の前記入出力ポートは、一つのアップストリームポートと、それ以外のダウンストリームポートとして機能し、
前記第２ステップでは、前記アップストリームポートが縮退されたとき、前記スイッチモジュールの前記ダウンストリームポートの一つを前記アップストリームポートに選出し、このアップストリームポートを基準として前記識別情報としての新たなポート番号を付与することを特徴とするプログラム。
【００９２】
（付記１３）
ＰＣＩエクスプレスアーキテクチャのスイッチモジュールに設けられた複数の入出力ポートの各々に、ダイレクトメモリアクセス制御装置を介して情報処理装置を接続した構成の情報処理システムの制御方法であって、
アップストリームポートとして機能する前記入出力ポートが閉塞されたときに、全ての前記ダイレクトメモリアクセス制御装置におけるデータ転送処理を中止させた後、前記スイッチモジュールにおいて前記入出力ポートを識別するためのポート番号の再設定を実行し、前記再設定の完了後に前記ダイレクトメモリアクセス制御装置に対して前記データ転送処理を再開させることを特徴とする情報処理システムの制御方法。
【００９３】
（付記１４）
付記１３記載の情報処理システムの制御方法において、
前記情報処理装置の少なくとも一つは、冗長構成の記憶装置にデータを分散して格納するディスクアレイ装置であることを特徴とする情報処理システムの制御方法。
【００９４】
（付記１５）
冗長構成の記憶装置を制御するデバイスコントローラと上位装置との間に介在する複数のキャッシュコントローラの各々をダイレクトメモリアクセス制御装置を介して経路制御装置の第１および第２属性の入出力ポートに接続し、前記経路制御装置を介して前記キャッシュコントローラが情報の授受を行う構成の情報処理システムであって、
前記第１属性を有する前記入出力ポートに接続された前記キャッシュコントローラの障害を検出する障害検出手段と、
前記経路制御装置における前記入出力ポートの識別情報の変更開始および変更終了を前記キャッシュコントローラに通知する変更通知手段と、
前記経路制御装置における前記第２属性の前記入出力ポートの属性および識別情報を変更する識別情報変更手段と、
を含む保守管理装置を備えたことを特徴とする情報処理システム。
【００９５】
（付記１６）
付記１５記載の情報処理システムにおいて、
前記経路制御装置は、ＰＣＩエキスプレスアーキテクチャにおけるスイッチモジュールであり、個々の前記入出力ポートは、前記第１属性を持つ一つのアップストリームポートと、それ以外の前記第２属性を持つダウンストリームポートとして機能し、
前記保守管理装置の識別情報変更手段は、前記アップストリームポートに接続された前記キャッシュコントローラの障害が検出されたとき、前記スイッチモジュールの前記ダウンストリームポートの一つを前記アップストリームポートに選出し、このアップストリームポートを基準として前記識別情報としての新たなポート番号を付与することを特徴とする情報処理システム。
【００９６】
（付記１７）
付記１５記載の情報処理システムにおいて、
個々の前記キャッシュコントローラに備えられた前記ダイレクトメモリアクセス制御装置は、
前記経路制御装置における前記入出力ポートの識別情報の再設定の予告通知および前記再設定の完了通知を受け付け、前記再設定の前記予告通知の受信を契機として接続先の入出力ポートに対するデータ転送を中止し、前記完了通知の受信を契機として前記データ転送を再開する制御論理を含むことを特徴とする情報処理システム。
【図面の簡単な説明】
【００９７】
【図１】本発明の一実施の形態である情報処理システムの構成の一例を示す概念図である。
【図２】本発明の一実施の形態である情報処理システムの作用の一例を示すシーケンス図である。
【図３】本発明の一実施の形態である情報処理システムを構成するセントラルモジュールの一部に設けられたＤＭＡコントローラの構成をより詳細に例示したブロック図である。
【図４】本発明の一実施の形態である情報処理システムを構成するサービスモジュールの構成の一例を示すブロック図である。
【図５】個々のセントラルモジュールに設けられたＤＭＡコントローラの作用の一例を示すフローチャートである。
【図６】本発明の参考技術であるPCI_Expressアーキテクチャの構成例を示す概念図である。
【符号の説明】
【００９８】
１０  スイッチモジュール
１１  入出力ポート
１１ａ  インターフェイスケーブル
１２  保守用ポート
２０  セントラルモジュール
２１  ＣＰＵ
２２  メモリ
２２ａ  制御プログラム
２３  メモリハブ
２４  ＤＭＡコントローラ
２４ａ  メモリインタフェース
２４ｂ  スイッチインタフェース
２４ｃ  ディスクリプタフェッチ回路
２４ｄ  ディスクリプタバッファ
２４ｅ  ステートマシン回路
２４ｆ  ＤＭＡ開始制御レジスタ
２４ｇ  データ転送制御ブロック
２４ｈ  メモリ転送制御回路
２４ｉ  データバッファ
２４ｊ  スイッチ転送制御回路
２５  デバイスコントローラ
２６  ディスクアレイ
３０  サービスモジュール
３１  ＭＰＵ
３２  主記憶
３３  ディスプレイ
３４  キーボード
３５  外部記憶装置
３６  ＤＭＡ通信インターフェイス
３７  保守インターフェイス
３８  バス
３９  保守プログラム
３９ａ  障害検出論理
３９ｂ  設定変更通知論理
３９ｃ  識別情報変更論理
４１  保守通信線
４２  ＤＭＡ制御通信線
４２ａ  スイッチ設定変更開始予告信号
４２ｂ  スイッチ設定変更完了通知信号
４２ｃ  スイッチ設定変更予告確認信号
５０  ホストコンピュータ
５０１  ＣＰＵ
５０２  メモリ
５０３  ルートコンプレックス
５０４  PCI_Expressスイッチ
５０５  upstreamポート
５０６  downstreamポート
５０７  入出力機器
Ｍ  累積データサイズ
Ｎ  全転送データサイズ
【図３】
2006195821.tif 000003
【図４】
2006195821.tif 000004
【図５】
2006195821.tif 000005
【図６】
2006195821.tif 000006
【図１】
2006195821.tif 000007
【図２】
2006195821.tif 000008