(57)【要約】【課題】複数の情報処理装置内の同期が必要な制御信号の状態同期制御を実現する。【解決手段】情報処理システムは複数の情報処理装置がＳＭＰ接続機構により相互に接続される。各情報処理装置が、その情報処理装置の制御信号の状態を示す同期レジスタと同期レジスタの内容を反映した第１の同期パケットを所定の時間間隔で、他の情報処理装置へ送信し、他の情報処理装置からの第２の同期パケットを受信し、受信した第２の同期パケットの内容を同期レジスタに反映するノード間通信アクセス制御部を含む制御装置（ＦＰＧＡ）を有する。【選択図】図３
2014235702.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置がＳＭＰ接続機構により相互に接続された情報処理システムであって、
前記複数の情報処理装置の各情報処理装置が、前記各情報処理装置の制御信号の状態を示す同期レジスタと前記同期レジスタの内容を反映した第１の同期パケットを所定の時間間隔で、前記複数の情報処理装置の中の他の情報処理装置へ送信し、前記他の情報処理装置からの第２の同期パケットを受信し、受信した前記第２の同期パケットの内容を前記同期レジスタに反映するノード間通信アクセス制御部を含む制御装置（ＦＰＧＡ）を有することを特徴とする情報処理システム。
【請求項２】
請求項１記載の情報処理システムにおいて、前記ＦＰＧＡは、前記他の情報処理装置の数に対応して、前記同期レジスタ及び前記ノード間通信アクセス制御部を含むことを特徴とする情報処理システム。
【請求項３】
請求項２記載の情報処理システムにおいて、前記同期レジスタの内容は、前記制御信号に接続する物理信号制御部が示す前記制御信号の状態を示すローカルレジスタの状態であることを特徴とする情報処理システム。
【請求項４】
請求項３記載の情報処理システムにおいて、前記制御信号は前記各情報処理装置の省電力制御用の信号であることを特徴とする情報処理システム。
【請求項５】
請求項３記載の情報処理システムにおいて、前記各情報処理装置はＬＥＤを備え、前記制御信号は前記ＬＥＤの点滅を制御する信号であることを特徴とする情報処理システム。
【請求項６】
請求項３記載の情報処理システムにおいて、前記各情報処理装置は電源装置を備え、前記制御信号は前記電源装置の制御用の信号であることを特徴とする情報処理システム。
【請求項７】
請求項３記載の情報処理システムにおいて、前記各情報処理装置は
温度センサ及び電源センサの少なくとも一つのセンサを備え、前記制御信号は前記センサによる異常の検知に応答して出力される障害報告の信号であることを特徴とする情報処理システム。
【請求項８】
請求項３記載の情報処理システムにおいて、前記各情報処理装置はＲＡＩＤコントローラと前記ＲＡＩＤコントローラにより制御される記憶装置を備え、前記制御信号は、前記他の情報処理装置が備える前記記憶装置を制御する前記ＲＡＩＤコントローラによる制御信号であることを特徴とする情報処理システム。
【請求項９】
請求項３記載の情報処理システムにおいて、前記各情報処理装置は電源投入信号を出力するＬＡＮコントローラを備え、前記制御信号は、前記電源投入信号であることを特徴とする情報処理システム。
【請求項１０】
複数の情報処理装置がＳＭＰ接続機構により相互に接続された情報処理システムにおける前記複数の情報処理装置間の同期制御方法であって、
前記複数の情報処理装置の各情報処理装置が、前記各情報処理装置の制御信号の状態を同期レジスタに反映し、
前記同期レジスタの内容を第１の同期パケットに反映し、
前記第１の同期パケットを所定の時間間隔で、前記複数の情報処理装置の中の他の情報処理装置へ送信し、
前記他の情報処理装置からの第２の同期パケットを受信し、
受信した前記第２の同期パケットの内容を前記同期レジスタに反映することを特徴とする同期制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の情報処理装置間の同期制御機構を備えた情報処理システムに関する。
【背景技術】
【０００２】
近年、情報化社会の発展に伴い、大量の電子データを取り扱う機会が増えてきている。また、企業の成長には大量の電子データが取り扱えるサーバ装置およびストレージ装置が必要不可欠となってきており、特にサーバ装置では処理能力の拡張を迫られる場面が多く見受けられる。従来のサーバ装置における演算能力の拡張手段として、「スケールアウト」および「スケールアップ」と呼ばれる２つの方式が存在する。
【０００３】
スケールアウト方式は、サーバ装置の種類の中でもブレードサーバと呼ばれる情報処理装置に代表されるように、例えばプロセッサ、メモリ、チップセット、Ｉ／Ｏコントローラや記憶装置（ＨＤＤやＳＳＤ）を１つの情報処理装置モジュールとしたシステムにおいて、情報処理装置モジュールを新規に追加することでシステム全体の処理能力を拡張する。この方式は、情報処理装置モジュール毎に処理するデータの依存関係が弱い場合に特に有効であるが、データの依存関係が強い場合は、スケールアウト方式では対応が困難である。
【０００４】
一方、スケールアップ方式は、大規模ＳＭＰ（Ｓｙｍｍｅｔｒｉｃ  Ｍｕｌｔｉ  Ｐｒｏｃｅｓｓｉｎｇ：対称型マルチプロセッシング）構成に代表されるように、既存の情報処理装置のプロセッサやメモリの性能を、増設や入れ替えによって向上させることで、システム全体の処理能力を拡張する。この方式は、相互に依存関係が強いデータを大量に処理する場合にも有効である。但し、情報処理装置の導入時に、将来必要となる処理能力をあらかじめ詳細に見積る必要があることに加え、導入時の過剰コストや導入後のシステム拡張時のコスト等、コスト面でスケールアウト方式に劣る点がある。
【０００５】
これらの問題に対し、特許文献１では、ブレードサーバ装置において情報処理装置モジュールである２つ以上のサーバモジュールを、ＳＭＰ結合するための技術について述べられており、従来のブレードサーバ装置の拡張方式であるスケールアウト方式に加え、スケールアップ方式も実現可能となっている。
【０００６】
また、特許文献２では、バックプレーンと呼ばれるサーバモジュールを集約する基板を介するＳＭＰ結合方式に代わり、サーバモジュールに直接脱着可能なＳＭＰ結合装置を介するＳＭＰ結合方式にすることで、バックブレーン配線の簡略化およびサーバ装置導入時の低コスト化を実現している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−００９６２８号公報
【特許文献２】特開２０１０−０７９４６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１および特許文献２は、複数のサーバモジュールのプロセッサを相互に接続する技術およびプロセッサのクロック信号のタイミング同期化について言及している。ブレードサーバにおいて、複数のサーバモジュールをＳＭＰ結合する場合、プロセッサ間の信号およびクロック信号とは別に、状態を同期しなければならない制御用信号が多く存在する。制御用信号は、情報処理装置のプラットフォームや搭載しているＩ／Ｏコントローラの種別によって必要な本数や配線トポロジが異なるため、既存のＳＭＰ結合装置の配線が複雑になってしまう問題がある。また、制御信号をＢＭＣに接続し、ＢＭＣ  Ｆ／Ｗ（firmware）がＬＡＮ経由で複数の情報処理装置の状態を同期化させる手法も存在するが、Ｆ／ＷおよびＬＡＮを用いた状態同期処理ではデータの伝送時間を保証できないため、厳しくはないものの、時間制約が存在する信号には適用できないという欠点が存在する。
【０００９】
本発明は、複数の情報処理装置をＳＭＰ接続機構により相互に接続された情報処理システムにおいて、複数の情報処理装置内の制御信号の状態を同期させることを目的とする。
【課題を解決するための手段】
【００１０】
開示する情報処理システムは複数の情報処理装置がＳＭＰ接続機構により相互に接続される。各情報処理装置が、その情報処理装置の制御信号の状態を示す同期レジスタと同期レジスタの内容を反映した第１の同期パケットを所定の時間間隔で、他の情報処理装置へ送信し、他の情報処理装置からの第２の同期パケットを受信し、受信した第２の同期パケットの内容を同期レジスタに反映するノード間通信アクセス制御部を含む制御装置（ＦＰＧＡ）を有する。
【発明の効果】
【００１１】
本発明によれば、複数の情報処理装置内の同期が必要な制御信号の状態同期制御を実現できる。
【図面の簡単な説明】
【００１２】
【図１】ＦＰＧＡを介した同期制御を用いた情報処理システムの構成図の例である。
【図２】同期制御機構を有するＦＰＧＡの構成の一例である。
【図３】同期制御機構の構成の一例である。
【図４】同期パケットによるＦＰＧＡの同期レジスタの同期時間保証するための制御方式の一例を示す図である。
【図５】同期制御機構を備えたＦＰＧＡによる、複数の情報処理装置で、省電力制御を同期する方式の一例を示す図である。
【図６】同期制御機構を備えたＦＰＧＡによる、複数の情報処理装置で、ＬＥＤ制御を同期する方式の一例を示す図である。
【図７】同期制御機構を備えたＦＰＧＡによる、複数の情報処理装置で、障害処理制御を同期する方式の一例を示す図である。
【図８】本発明における同期制御機構を備えたＦＰＧＡによる、複数の情報処理装置で、記憶装置（ＨＤＤやＳＳＤ）の状態を制御する制御方式の一例を示す図である。
【発明を実施するための形態】
【００１３】
ＳＭＰ接続機構により相互に接続された複数の情報処理装置内の制御信号の状態を同期させる実施形態を、制御信号が、省電力制御信号、ＬＥＤの点滅制御信号、障害処理制御（報告）信号や電源制御信号、および記憶装置の制御信号である場合を例に、実施例１〜４として説明する。
【実施例１】
【００１４】
本実施例では、複数の情報処理装置間で省電力制御を同期化する例を説明する。図１は、情報処理装置内のＦＰＧＡ（制御装置:field-programmable gate arrayによる制御装置）を介した同期制御を用いた情報処理システムの構成図の例である。
【００１５】
情報処理装置１００ａは、プロセッサ（ＣＰＵ）１０１ａ、メモリ１０２ａ、チップセット１０３ａ、ＲＡＩＤコントローラ１０４ａ、ＬＡＮコントローラ１０５ａ、ＦＰＧＡ１０６ａ、電源（ＶＲｓ）１０７ａ、ＢＭＣ（Base Management Controller）１０８ａ、記憶装置切り替えスイッチ１０９ａ、記憶装置（ＨＤＤ）１１０ａ、ＬＥＤ１１１ａ、および温度センサ１１２ａを有する。
【００１６】
ＢＭＣ１０８ａは、バックプレーン１１８内に配線されたＬＡＮにより、システム装置管理モジュール１１９に接続される。ＢＭＣ１０８ａは、汎用Ｉ／Ｆ（Ｉ２Ｃ：Inter-Integrated Circuit)やＳＰＩ(System Packet Interface）の伝送路１１６aにてＦＰＧＡ１０６ａに接続されており、ＦＰＧＡ１０６ａを介して、ＦＰＧＡ１０６ａに接続されている各種デバイスを間接的に制御可能である。
【００１７】
ＲＡＩＤコントローラ１０４ａは、記憶装置切り替えスイッチ１０９ａを介して、記憶装置１１０ａと接続される。また、ＲＡＩＤコントローラ１０４ａは、記憶装置１１０ａの状態を管理するための制御信号を有しており、伝送路１１３ａにて、ＦＰＧＡ１０６ａに接続される。また、記憶装置１１０ａは、ＲＡＩＤコントローラ１０４ａが記憶装置１１０ａの状態を管理するための制御信号を有しており、伝送路１１４ａにて、ＦＰＧＡ１０６ａに接続される。
【００１８】
ＬＡＮコントローラ１０５ａは、バックプレーン１１８に配線されたＬＡＮにより、ＬＡＮスイッチモジュール１２０に接続される。また、ＬＡＮコントローラ１０５ａは、ＬＡＮコントローラ１０５ａから情報処理装置１００ａの電源を投入する為の制御信号を有しており、伝送路１１５ａを介して、ＦＰＧＡ１０６ａに接続される。
【００１９】
ＦＰＧＡ１０６ａは、汎用入出力ピン（ＧＰＩＯ）にてプロセッサ１０１ａ、チップセット１０２ａ、ＶＲｓ１０７ａ、ＬＥＤ１１１ａ、温度センサ１１２ａに接続される。また、ＦＰＧＡ１０６ａは、フロントプレーン１１７を介して、情報処理装置１００ａと同一構成の他の情報処理装置１００ｂのＦＰＧＡ１０６ｂに、全二重シリアルＩ／Ｆの伝送路１２３にて相互に接続される。
【００２０】
プロセッサ１０１ａは、フロントプレーン１１７を介して、伝送路１２１にて情報処理装置１００ｂのプロセッサ１０１ｂと相互に接続される。但し、伝送路１２１上の信号は、情報処理装置間の実効データを転送する信号のみで構成されており、情報処理装置のプロセッサ間で必要な制御用信号は含まない。各情報処理装置内の各プロセッサの制御用信号は、各情報処理装置内で各ＦＰＧＡに接続される。
【００２１】
ＲＡＩＤコントローラ１０４ａは、フロントプレーン１１７を介して、伝送路１２２にて情報処理装置１００ｂの記憶装置切り替えスイッチ１０９ｂを経由して、記憶装置１１０ｂに接続される。但し、伝送路１２２の信号は、情報処理装置１００ａ内のＲＡＩＤコントローラ１０４ａと、情報処理装置１００ｂ内の記憶装置１１０ｂの間で、実効データを転送する信号のみで構成されており、ＲＡＩＤコントローラ１０４ａと記憶装置１１０ｂの間で必要な制御用信号は含まない。
【００２２】
ＦＰＧＡ１０６ａは、汎用Ｉ／Ｆまたは汎用入出力ピンから入力された状態をデータ化した同期パケットを、伝送路１２３を用いて、情報処理装置１００ｂのＦＰＧＡ１０６ｂに、ある所定時間間隔で送信する。また、同期パケットを受信したＦＰＧＡ１０６ｂは、受信データを復号し、汎用入出力ピンの状態に反映する。また、ＦＰＧＡ間は、全二重Ｉ／Ｆで接続されている為、ＦＰＧＡは同期パケットの送信と受信を同時に実施できる。以後、異なる情報処理装置間のＦＰＧＡの状態を、同期パケットにより同期する機構を、ＦＰＧＡの同期制御機構と称する。
【００２３】
従来技術では、複数の情報処理装置間で、プロセッサ、チップセット、ＲＡＩＤコントローラ、記憶装置の制御信号を、フロントプレーンまたはバックプレーン内に配線する必要があるが、本実施例は、制御用信号を情報処理装置内でＦＰＧＡに集約し、ＦＰＧＡの同期制御機構を用いることで、フロントプレーンまたはバックプレーン上での制御信号の配線が不要となる。
【００２４】
図２は、同期制御機構を有するＦＰＧＡの構成の例である。ＦＰＧＡ１０６ａは、ＢＭＣアクセス制御部３００ａ、ローカルレジスタ３０１ａ、物理信号制御部３０２ａ、同期レジスタ３０３ａ〜３０５ａとノード間通信アクセス制御部３０６ａ〜３０８ａを有する。物理信号制御部３０２ａは、汎用入出力ピン（ＧＰＩＯ）を複数本有しており、伝送路３０９ａにて、プロセッサ１０１ａ、チップセット１０３ａ、ＲＡＩＤコントローラ１０４ａ、記憶装置（ＨＤＤやＳＳＤ）１１０ａ、ＬＡＮコントローラ１０５ａ、電源（ＶＲｓ）１０７ａ、ＬＥＤ１１１ａ、温度センサ１１２ａ等、情報処理装置１００ａ内で様々なデバイスと接続される。
【００２５】
ＢＭＣ１０８ａは、汎用Ｉ／Ｆ（Ｉ２ＣやＳＰＩ）の伝送路１１６ａを介して、ＦＰＧＡ１０６ａのＢＭＣアクセス制御部３００ａに接続される。ＢＭＣ１０８ａは、汎用Ｉ／Ｆを使用して、ＦＰＧＡ１０６ａのローカルレジスタ３０１ａにアクセス可能である。
【００２６】
ＦＰＧＡ１０６ａのローカルレジスタ３０１ａの一部の状態は、物理信号制御部３０２ａを経由して、汎用入出力ピンの一部に反映される。また反対に、ＦＰＧＡ１０６ａの物理信号制御部３０２ａが有する汎用入出力ピンの他の一部の状態は、ローカルレジスタ３０１ａの他の一部に反映される。
【００２７】
ＦＰＧＡ１０６ａは、ＦＰＧＡ１０６ａと同一構成の他のＦＰＧＡ１０６ｂ、１０６ｃ、１０６ｄと、ノード間通信アクセス制御部３０６ａ〜３０８ａを介して、全二重シリアルＩ／Ｆで相互に接続される。
【００２８】
ＦＰＧＡ１０６ａの同期レジスタ３０３ａ〜３０５ａとノード間通信アクセス制御部３０６ａ〜３０８ａは、情報処理システム内で相互に接続されているＦＰＧＡ１０６の数と同数存在する。各ＦＰＧＡ１０６の同期レジスタ３０３〜３０５には、各々のＦＰＧＡ１０６の同期データが別々に格納され、各々のノード間通信アクセス制御部３０６〜３０８によって、ノード間通信の優先度制御が実施される。例えば、情報処理装置１００ａ内のＦＰＧＡ１０６ａが他の３台の情報処理装置のＦＰＧＡ１０６と相互接続される場合、ＦＰＧＡ１０６ａは３つの同期レジスタ３０３ａ〜３０５ａを有する。また、同期レジスタ３０３ａには、情報処理装置１００ｂ内のＦＰＧＡ１０６ｂとの同期データが、同期レジスタ３０４ａには、情報処理装置１００ｄのＦＰＧＡ１０６ｄとの同期データが、同期レジスタ３０５ａには、情報処理装置１００ｃのＦＰＧＡ１０６ｃとの同期データが格納される。同期レジスタ３０３ａ〜３０５ａ内の同期データは、ローカルレジスタ３０１ａ等を経由して、物理信号制御部３０２ａが有する汎用入出力ピンの状態に反映される。
【００２９】
ＦＰＧＡ１０６ａのＢＭＣアクセス制御部３００ａは、ＢＭＣ１０８ａより汎用Ｉ／Ｆを介してアクセスがあった場合、情報処理装置１００ａ内のＦＰＧＡ１０６ａに対するアクセスか否かを判定する。判定結果が真である場合（ＦＰＧＡ１０６ａに対するアクセスの場合）は、ＢＭＣアクセス制御部３００ａは、ＦＰＧＡ１０６ａ内のローカルレジスタ３０１ａに対してデータの読み書きを実施し、ＢＭＣ１０８ａにアクセス結果を返す。判定結果が偽である場合は、ＢＭＣアクセス制御部３００ａは、適切なノード間通信アクセス制御部３０６ａ〜３０８ａにトランザクションを転送する。
【００３０】
ノード間通信アクセス制御部３０６〜３０８は、各情報処理装置１００のＦＰＧＡ１０６間で同期レジスタ３０３〜３０５を同期させるための同期パケットと、ＢＭＣ１０８が異なる情報処理装置１００のＦＰＧＡ１０６のローカルレジスタ３０１を読み書きするためのノード間通信パケットの２種のパケットを生成し送信する。同期パケットとノード間通信パケットは、同一のＩ／Ｆ上に混在するため、ノード間通信アクセス制御部３０６〜３０８は、送信パケットの優先度制御を実施する。また、ノード間通信アクセス制御部３０６〜３０８は、パケットの送信と受信を同時に実施できる。図２に図示している同期レジスタ（３０３ａ〜ｄ、３０４ａ〜ｄ、３０５ａ〜ｄ）とノード間通信アクセス制御部（３０６ａ〜ｄ、３０７ａ〜ｄ、３０８ａ〜ｄ）はそれぞれで同一構成である。
【００３１】
図３は、同期制御機構の構成の一例である。ノード間通信アクセス制御部３０６は、ＢＭＣアクセス制御部３００、ローカルレジスタ３０１、同期レジスタ３０３と接続される。同期レジスタ３０３は、送信データ部４００と受信データ部４０１から構成される。また、ノード間通信アクセス制御部３０６は、ノード間通信パケット生成回路４０２、同期パケット生成回路４０３、同期パケット生成カウンタ４０４、送信パケットセレクタ４０５、ノード間通信物理Ｉ／Ｆ４０６、受信パケットセレクタ４０７、ノード間通信パケット解析回路４０８、同期パケット解析回路４０９を有する。
【００３２】
ノード間通信アクセス制御部３０６の同期パケット生成回路４０３は、同期パケット生成カウンタ４０４が満了した（所定時間経過した）タイミングで、同期レジスタ（送信データ）４００に格納された同期データから同期パケットを生成する。生成された同期パケットは、送信パケットセレクタ４０５を経由して、他の情報処理装置１００のＦＰＧＡ１０６へ送信される。同期パケット生成カウンタ４０４は、システム動作開始時からカウントを開始し、カウンタが満了したらカウンタの値がクリアされる。同期パケット生成カウンタ４０４が満了するまでの所定時間は一定である。
【００３３】
ノード間通信アクセス制御部３０６のノード間通信パケット生成回路４０２は、ＢＭＣ１０８からＢＭＣアクセス制御部３００経由で、ノード間通信のリクエストが発生したタイミングで、ノード間通信パケットを生成する。生成されたノード間通信パケットは、送信パケットセレクタ４０５を経由して、他の情報処理装置１００のＦＰＧＡ１０６へ送信される。
【００３４】
送信パケットセレクタ４０５は、同期パケットとノード間通信パケットの優先度制御とパケットの送信遅延制御を実施する。同期パケット及びノード間通信パケットの一方が送信中に他方のパケットが生成された場合、送信パケットセレクタ４０５は現在送信中の一方のパケットの送信が完了するまで、新しく生成された他方のパケットの送信を遅延させる。また、同期パケットとノード間通信パケットが同時に生成された場合は、送信パケットセレクタ４０５は同期パケットを優先して送信し、ノード間通信パケットは、同期パケットの送信が完了した後に送信される。
【００３５】
受信パケットセレクタ４０７は、他の情報処理装置１００のＦＰＧＡ１０６から同期パケットまたはノード間通信パケットを受信した場合、受信したパケットの種別を判別し、判別結果に応じて、ノード間通信パケット解析回路４０８または同期パケット解析回路４０９のいずれかに適切に転送する。
【００３６】
ノード間通信パケット解析回路４０８は、受信したノード間通信パケットのリクエストを解析し、ローカルレジスタ３０１に対して読み書きを実施する。または、ノード間通信の結果をＢＭＣアクセス制御部３００経由でＢＭＣ１０８に転送する。
【００３７】
同期パケット解析回路４０９は、受信した同期パケットから同期データを解析し、同期レジスタ（受信データ）４０１に格納する。
【００３８】
図４に、同期パケットによるＦＰＧＡ１０６の同期レジスタ３０３の同期時間保証するための制御方式の一例を示す。同期パケット５００は、ヘッダ部５０１、データ部５０２、エラー検出または訂正部５０３を有する。同期パケット５００のデータ部５０２には、ＦＰＧＡ１０６内の同期レジスタ３０３に格納されている同期データが格納される。
【００３９】
ノード間通信パケット５０４は、ヘッダ部５０５、データ部５０６、エラー検出または訂正部５０７を有する。ノード間通信パケット５０４のデータ部５０６には、ＢＭＣ１０８からのアクセストランザクションの転送情報や応答データ等が格納される。
【００４０】
ＦＰＧＡ１０６（具体的には、送信パケットセレクタ４０５及び受信パケットセレクタ４０７）は、同期パケット５００とノード間通信パケット５０４のそれぞれのヘッダ部５０１、５０５を参照して、パケットの種別を判別する。また、ＦＰＧＡ１０６は、同期パケット５００とノード間通信パケット５０４のそれぞれのエラー検出または訂正部５０３、５０７を用いて、パケットの整合性の確認を実施する。
【００４１】
図４のケース１は、同期パケット５００の送信間隔時間の例を示す。ＦＰＧＡ１０６は、同期パケット５００を送信した場合、ある一定時間５０８後に、次の同期パケット５００を送信する。同期パケット５００の送信間隔は、同期パケット５００とノード間通信パケット５０４の送信が競合しない限り、一定の所定時間５０８である。
【００４２】
図４のケース２は、ノード間通信パケット５０４が送信される場合であり、かつ同期パケット５００とノード間通信パケット５０４の送信が競合しない場合の例を示す。通常、ノード間通信パケット５０４は、同期パケット５００の送信の合間に送信される。ノード間通信パケット５０４の送信時間５１０は、同期パケット送信間隔時間５０８の半分より短くする。
【００４３】
図４のケース３は、ノード間通信パケット５０４が送信される場合であり、かつ同期パケット５００とノード間通信パケット５０４の送信が競合する場合の例を示す。ＦＰＧＡ１０６は、ノード間通信パケット５０４の送信途中に、同期パケット送信間隔時間５０８が満了した場合は、即座に同期パケット５００を送信せず、ノード間通信パケット５０４の送信完了を待つ。ＦＰＧＡ１０６は、ノード間通信パケット５０４の送信完了後に、同期パケット５００を送信する。ＦＰＧＡ１０６は、この際に生じた同期パケット５００の送信遅延時間５１１を、同期パケット送信間隔時間５０８から差し引いた時間５１２後に、次の同期パケット５００を送信する。以上の制御により、ＦＰＧＡ１０６の同期レジスタ３０３の同期時間は、同期パケット送信間隔時間（５０８）×２が保証される。
【００４４】
また、ＦＰＧＡ１０６は、同期パケット５００とノード間通信パケット５０４の送信の開始タイミングが同一であった場合、同期パケット５００を優先して発行する。
【００４５】
以上の制御を実施することで、異なる情報処理装置間のＦＰＧＡ１０６を全二重シリアルＩ／Ｆで相互に接続することで、ＦＰＧＡ１０６の同期レジスタ３０３に格納されたデータを、一定の時間内に同期することを保証できる。
【００４６】
図５は、同期制御機構を備えたＦＰＧＡ１０６による、複数の情報処理装置１００で、省電力制御を同期する方式の一例を示す図である。情報処理装置１００ａは、ＦＰＧＡ１０６ａ、ＢＭＣ１０８ａ、プロセッサ（ＣＰＵ）１０１ａを有する。
【００４７】
プロセッサ１０１ａは、プロセッサ１０１ａの動作周波数を抑制することでプロセッサ１０１ａの消費電力を低減する機能と、プロセッサ１０１ａ以外のデバイスから消費電力を低減する機能を使用するための外部入力ピンを有する。この外部入力ピンは、伝送路３０９ａを介して、ＦＰＧＡ１０６ａに接続する。
【００４８】
ＦＰＧＡ１０６ａは、図２を用いて説明したように、ＢＭＣアクセス制御部３００ａ、物理信号制御部３０２ａ、ローカルレジスタ３０１ａ、同期レジスタ３０３ａ、ノード間通信アクセス制御部３０６ａを有する。図５は、図２に示した構成の中で、複数の情報処理装置１００で省電力制御を同期する方式の説明に必要な構成を示している。
【００４９】
ＢＭＣ１０８ａは、ＦＰＧＡ１０６ａのＢＭＣアクセス制御部３００ａを介して、ＦＰＧＡ１０６ａのローカルレジスタ３０１ａにアクセス可能である。
【００５０】
ＦＰＧＡ１０６ａは、情報処理装置１００ａと同一構成の他の情報処理装置１００ｂ内のＦＰＧＡ１０６ｂと、全二重シリアルＩ／Ｆの伝送路１２３を介して接続する。複数の情報処理装置１００のＦＰＧＡ１０６ａ、１０６ｂの同期レジスタ３０３ａ、３０３ｂに格納されているデータは、前述した同期制御機構により、ある一定時間内で同期する。
【００５１】
例えば、情報処理装置１００ａをノード１、情報処理装置１００ｂをノード２とし、ノード１の省電力制御をノード２に同期させる場合、図５に示すデータの流れとなる。ノード１のＢＭＣ１０８ａは、情報処理装置１００ａの消費電力を抑制する場合、汎用Ｉ／Ｆを介して、ＦＰＧＡ１０６ａのローカルレジスタ３０３ａに格納された、消費電力抑制を制御するためのデータを操作する。ローカルレジスタ３０１ａのデータは、同期レジスタ３０３ａに反映される。また、ノード２のＦＰＧＡ１０６ｂの同期レジスタ３０３ｂは、同期制御機構によりノード間通信アクセス制御部３０６ａ、３０６ｂを介して、ノード１の同期レジスタ３０３ａと同期する。より具体的には、同期レジスタ３０３ａの同期レジスタ（送信データ）４００の内容が同期レジスタ３０３ｂの同期レジスタ（受信データ）４０１に反映される。各ノードのＦＰＧＡ１０６ａ、１０６ｂの同期レジスタ３０３ａ、３０３ｂに格納された同期データは、ローカルレジスタ３０１ａとローカルレジスタ３０１ｂの内容を一致させる。ローカルレジスタ３０１ａ、３０１ｂの内容は、物理信号制御部３０２ａ、３０２ｂが有する汎用入出力ピン（ＧＰＩＯ）の状態に反映される。このようにして。ノード１のＢＭＣ１０８ａによる省電力制御のためのデータの操作がプロセッサ１０１ａ、１０１ｂに物理信号となって入力される。
【００５２】
この場合、伝送路３０９ａ上の物理信号の電圧遷移６００ａと、伝送路３０９ｂ上の物理信号の電圧遷移６００ｂの間には、差分時間６０１が存在する。一般的なケースでは、同期パケットによりＦＰＧＡ１０６が同期する時間は、０．１ｍｓ〜１ｍｓであり、ＦＰＧＡ１０６内のデータの処理時間は高々１μｓ程度である。そのため、この差分時間６０１は、複数の情報処理装置１００のＦＰＧＡ１０６の同期レジスタ３０３が同期するためにかかる時間とほぼ等しい。
【００５３】
マルチプロセッサシステムにおいて、プロセッサの省電力機能によりプロセッサの動作周波数を抑制する場合、全てのプロセッサの周波数を同時に制御することが望ましい。例えば、同一のトランザクションを複数個並列に実行するアプリケーションでは、トランザクション毎の実行時間に大きな差異があると、アプリケーション全体の実行性能に大きな影響を与えてしまう場合がある。同期制御機構を備えたＦＰＧＡを用いて、情報処理装置間の省電力制御を同期化することで、従来ではＢＭＣ  Ｆ／Ｗで同期化していた手法に比べ、省電力制御の同期時間を最小限かつ最大遅延時間を保証できる為、マルチプロセッサシステム上のアプリケーションへの影響を最小限にすることが可能である。
【実施例２】
【００５４】
本実施例では、複数の情報処理装置でＬＥＤ制御を同期化する例を説明する。図６は、同期制御機構を備えたＦＰＧＡによる、複数の情報処理装置で、ＬＥＤ制御を同期する方式の一例を示す図である。
【００５５】
情報処理装置１００ａは、ＦＰＧＡ１０６ａ、クロック生成回路７００ａ、ＬＥＤ１１１ａを有する。クロック生成回路７００ａは、ある一定の周波数で発振した波形の物理信号をＦＰＧＡ１０６ａに供給する。
【００５６】
ＦＰＧＡ１０６ａは、ＰＬＬ７０１ａ、クロックカウンタ回路７０２ａ、カウンタリセット回路７０３ａ、同期レジスタ３０３ａ、ノード間通信アクセス制御部３０６ａ、物理信号制御部３０２ａを有する。
【００５７】
ＰＬＬ７０１ａは、クロック生成回路７００ａより供給されたクロック波形の位相を一定にする。クロックカウンタ回路７０２ａは、ＰＬＬ７０１ａにより整形されたクロック波形の振幅数（所定の振幅以上の波形をカウントする意味であり、周波数に等しい）をカウントする。クロックカウンタ回路７０２ａのカウンタ数は有限である。  カウンタリセット回路７０３ａは、クロックカウンタ回路７０２ａのカウント数を監視し、カウンタ数が所定値に達すると、クロックカウンタ回路７０２ａのカウント数をリセットする。
【００５８】
物理信号制御部３０２ａは、クロックカウンタ回路７０２ａのカウント数を監視し、所定のカウント数毎に、ＬＥＤ１１１ａの状態である点灯と消灯を切り替える。
【００５９】
ＦＰＧＡ１０６ａは、情報処理装置１００ａと同一構成の他の情報処理装置１００ｂ内のＦＰＧＡ１０６ｂと、全二重シリアルＩ／Ｆの伝送路１２３を介して接続する。複数の情報処理装置１００ａ、１００ｂのＦＰＧＡ１０６ａ、１０６ｂの同期レジスタ３０３ａ、３０３ｂに格納されているデータは、前述した同期制御機構により、ある一定時間内で同期する。
【００６０】
例えば、情報処理装置１００ａをノード１、情報処理装置１００ｂをノード２とし、ノード１のＬＥＤ制御をノード２に同期させる場合、図６に示すデータの流れとなる。ノード１およびノード２のＦＰＧＡ１０６ａ、１０６ｂは、各々のクロック生成回路７００ａ、７００ｂから供給されたクロック信号を用いて、クロックカウンタ回路７０２ａ、７０２ｂを動作させ、ＬＥＤ１１１ａ、１１１ｂの状態を切り替える。但し、ノード１のカウンタリセット回路７０３ａは、ノード１のクロックカウンタ回路７０２ａのカウンタ値を監視し、カウンタ値が所定値に達した場合、ノード１のカウンタ回路７０２ａのカウンタの値をリセットし、ノード１の同期レジスタ３０３ａにデータを格納する。また、ノード２の同期レジスタ３０３ｂは、同期制御機構によりノード間通信アクセス制御部３０６ａ、３０６ｂを介して、ノード１の同期レジスタ３０３ａと同期する。ノード２のカウンタリセット回路７０３ｂは、ノード２の同期レジスタ３０３ｂを監視し、同期レジスタ３０３ｂに格納されている値に変化があった場合、ノード２のクロックカウンタ回路７０２ｂのカウンタの値をリセットし、複数の情報処理装置１００ａ、１００ｂのＬＥＤ１１１ａ、１１１ｂの点滅タイミングを同期することができる。
【００６１】
通常、情報処理装置のクロック生成回路が生成するクロック信号は、製造ばらつきにより、同一構成の情報処理装置であっても周波数のばらつきが発生する。同期制御機構を備えたＦＰＧＡを用いて、情報処理装置間のＬＥＤ制御を同期化することで、複数の情報処理装置の間で、ＬＥＤ制御等に使用する低速なクロック信号の同期を実施し、ＬＥＤの点滅タイミングを、同期することが可能である。
【実施例３】
【００６２】
本実施例では、複数の情報処理装置で、障害処理制御を同期化する例を説明する。図７は、同期制御機構を備えたＦＰＧＡによる、複数の情報処理装置で、障害処理制御を同期する方式の一例を示す図である。
【００６３】
情報処理装置１００ａは、ＦＰＧＡ１０６ａ、プロセッサ１０１ａ、電源センサ８０２a、温度センサ１１２ａ、チップセット１０３ａ、ＢＭＣ１０８ａ、電源（ＶＲｓ）１０７ａを有する。
【００６４】
プロセッサ１０１ａは、電源センサ８００ａ、温度センサ８０１ａを有する。プロセッサ１０１ａの電源センサ８００ａは、プロセッサ１０１ａ内の電源に異常が発生した場合に、電源異常を情報処理装置１００ａ内の他のデバイスに通知するための外部ピンを有し、伝送路３０９ａにてＦＰＧＡ１０６ａに接続する。同様に、プロセッサ１０１ａの温度センサ８０１ａは、プロセッサ１０１ａの内部温度に異常が発生した場合に、温度異常を情報処理装置１００ａ内の他のデバイスに通知するための外部ピンを有し、伝送路３０９ａにてＦＰＧＡ１０６ａに接続する。
【００６５】
電源センサ８０２aは、情報処理装置１００ａ内の電源に異常が発生した場合に、電源異常を情報処理装置１００ａ内のデバイスに通知するための外部ピンを有し、伝送路３０９ａにてＦＰＧＡ１０６ａに接続する。また同様に、温度センサ１１２ａは、記情報処理装置１００ａの内部温度に異常が発生した場合に、温度異常を情報処理装置１００ａ内のデバイスに通知するための外部ピンを有し、伝送路３０９ａにてＦＰＧＡ１０６ａに接続する。
【００６６】
ＦＰＧＡ１０６ａは、物理信号制御部３０２ａ、ローカルレジスタ３０１ａ、同期レジスタ３０３ａ、ノード間通信アクセス制御部３０６ａを有する。ＦＰＧＡ１０６ａは、電源センサ８００ａ、８０２aおよび温度センサ８０１ａ、１１２ａから環境異常を示す信号を受信した場合、ローカルレジスタ３０１ａに環境異常が発生したことを格納し、物理信号制御部３０２ａが有する汎用入出力ピン（ＧＰＩＯ）を介して、チップセット１０３ａ、ＢＭＣ１０８ａに情報を通知する。また、ＦＰＧＡ１０６ａは、必要ならば電源（ＶＲｓ）１０７ａを制御し、情報処理装置１００ａの電源を停止させる。
【００６７】
ＦＰＧＡ１０６ａは、情報処理装置１００ａと同一構成の他の情報処理装置１００ｂ内のＦＰＧＡ１０６ｂと、全二重シリアルＩ／Ｆの伝送路１２３を介して接続する。複数の情報処理装置１００ａ、１００ｂのＦＰＧＡ１０６ａ、１０６ｂの同期レジスタ３０３ａ、３０３ｂに格納されているデータは、前述した同期制御機構により、ある一定時間内で同期する。
【００６８】
例えば、情報処理装置１００ａをノード１、情報処理装置１００ｂをノード２とし、ノード１の障害処理制御をノード２に同期させる場合、図７に示すデータの流れ（実線）となる。ノード１の各種センサ（１１２ａ、８００ａ、８０１ａ、８０２ａ）は、環境異常を検出した場合、物理信号を介して、ＦＰＧＡ１０６ａに障害を報告する。ノード１のＦＰＧＡ１０６ａは、各種センサからの障害報告を受信した場合、障害部位と要因をローカルレジスタ３０１ａと同期レジスタ３０３ａに格納する。ノード１のＦＰＧＡ１０６ａは、物理信号制御部３０２ａが有する汎用入出力ピンを介して、ノード１のチップセット１０３ａおよびＢＭＣ１０８ａに対して通知し、必要ならば電源（ＶＲｓ）１０７ａの制御を実施する。
【００６９】
ノード２のＦＰＧＡ１０６ｂの同期レジスタ３０３ｂは、同期制御機構によりノード間通信アクセス制御部３０６ａ、３０６ｂを介して、ノード１の同期レジスタ３０３ａと同期する。ノード１のＦＰＧＡ１０６ａは、ノード１の同期レジスタ３０３ｂの状態を用いて、物理信号制御部３０２ｂが有する汎用入出力ピンを介して、ノード２のチップセット１０３ｂおよびＢＭＣ１０８ｂに対して通知し、必要ならば電源（ＶＲｓ）１０７ｂの制御を実施する。この場合、複数の情報処理装置の間で障害処理を同期することができる。ノード２の障害処理制御をノード１に同期させる場合、上記の流れとは反対になり、図７に示すデータの流れ（破線）となる。
【００７０】
通常、情報処理装置に電源や温度等の環境異常が発生した場合、システムの全体の整合性や安全性を確保するために、ＳＭＰ接続装置にて接続されている他の情報処理装置と連動して、障害処理を実施することが望ましい。同期制御機構を備えたＦＰＧＡを用いて、情報処理装置間の障害処理制御を同期化することで、従来ではＢＭＣ  Ｆ／Ｗで同期化していた手法に比べ、障害処理制御の同期時間を最小限かつ最大遅延時間を保証できる為、システム全体の整合性と安全性を向上させることが可能である。
【実施例４】
【００７１】
本実施例では、複数の情報処理装置で、ＲＡＩＤコントローラと記憶装置（ＨＤＤやＳＳＤ）が異なる情報処理装置に搭載されている場合に、ＲＡＩＤコントローラから記憶装置の状態を制御する方式の例を説明する。
【００７２】
図８は、同期制御機構を備えたＦＰＧＡによる、複数の情報処理装置で、ＲＡＩＤコントローラと記憶装置（ＨＤＤやＳＳＤ）が異なる情報処理装置に搭載されている場合に、ＲＡＩＤコントローラから記憶装置の状態を制御する方式の一例を示す図である。
【００７３】
情報処理装置１００ａは、ＦＰＧＡ１０６ａ、ＲＡＩＤコントローラ１０４ａ、１つ以上の記憶装置（ＨＤＤ）１１０ａ、１１０ｃを有する。
【００７４】
ＲＡＩＤコントローラ１０４ａは、汎用Ｉ／Ｆ（ＳＩＯ等）９０１ａを有し、伝送路９０２ａを介して、ＦＰＧＡ１０６ａに接続される。ＲＡＩＤコントローラ１０４ａは、記憶装置１１０ａ、１１０ｃの状態管理コマンドを汎用Ｉ／Ｆを介して、ＦＰＧＡ１０６ａに発行することで、記憶装置１１０ａ、１１０ｃに直接接続していない構成でも、記憶装置１１０ａ、１１０ｃの制御（プレゼンス情報読み取り、ＬＥＤ制御等）が可能である。
【００７５】
ＦＰＧＡ１０６ａは、汎用Ｉ／Ｆ制御部９００ａ、ローカルレジスタ３０１ａ、同期レジスタ３０３ａ、ノード間通信アクセス制御部３０６ａ、物理信号制御部３０２ａを有する。汎用Ｉ／Ｆ制御部９００ａは、ＲＡＩＤコントローラ１０４ａから発行された記憶装置１１０ａ、１１０ｃの状態管理コマンドをデコードし、ローカルレジスタ３０１ａおよび同期レジスタ３０３ａに反映する、またはローカルレジスタ３０１ａの値を用いて、応答コマンドを生成する。
【００７６】
ＦＰＧＡ１０６ａは、物理信号制御部３０２ａが有する汎用入出力ピン（ＧＰＩＯ）を介して、記憶装置１１０ａ、１１０ｃに接続する。ＦＰＧＡ１０６ａは、記憶装置１１０ａ、１１０ｃのプレゼンス情報とＬＥＤ状態を、伝送路３０９ａを介して管理する。
【００７７】
ＦＰＧＡ１０６ａは、情報処理装置１００ａと同一構成の他の情報処理装置１００ｂ内のＦＰＧＡ１０６ｂと、全二重シリアルＩ／Ｆの伝送路１２３を介して接続する。複数の情報処理装置１００ａ、１００ｂのＦＰＧＡ１０６ａ、１０６ｂの同期レジスタ３０３ａ、３０３ｂに格納されているデータは、前述した同期制御機構により、ある一定時間内で同期する。
【００７８】
例えば、情報処理装置１００ａをノード１、情報処理装置１００ｂをノード２とし、ノード１のＲＡＩＤコントローラ１０４ａから、ノード２の記憶装置１１０ｂ、１１０ｄの状態制御を実施する場合、図８に示すデータの流れとなる。ノード１のＲＡＩＤコントローラ１０４ａは、汎用Ｉ／Ｆを介して、ノード１のＦＰＧＡ１０６ａに、記憶装置１１０ａ、１１０ｃの状態管理コマンドを発行する。ノード１のＦＰＧＡ１０６ａは、ノード２のＦＰＧＡ１０６ｂの同期レジスタ３０３ｂと同期した、ノード１のＦＰＧＡ１０６ａの同期レジスタ３０３ａの状態を用いて、応答コマンドをノード１のＲＡＩＤコントローラ１０４ａに送信する。ノード２のＲＡＩＤコントローラ１０４ｂは、無効にする。この場合、ノード１のＲＡＩＤコントローラ１０４ａから、ノード１の記憶装置１１０ａ、１１０ｃとノード２の記憶装置１１０ｂ、１１０ｄの状態を制御することが可能である。
【００７９】
従来は、ある情報処理装置のＲＡＩＤコントローラから、他の情報処理装置の記憶装置を使用する場合、実行データを送受信するメインパスと、記憶装置の状態を制御する制御信号を、ＳＭＰ接続装置上に配線する必要がある。そこで、同期制御機構を備えたＦＰＧＡを用いて、情報処理装置間の、記憶装置の状態制御を同期化することで、記憶装置の制御信号をＦＰＧＡが動的に切り替えられるため、ＳＭＰ接続装置上に配線する物理信号の本数を削減することが可能である。
【００８０】
説明した実施形態によれば、複数の情報処理装置内の同期が必要な制御信号をＦＰＧＡに集約し、ＦＰＧＡを介した状態同期処理を実現することができる。
【００８１】
付随的に、フロントプレーンやバックプレーンに個別に配線していた制御信号を削減することができ、ＳＭＰ結合装置のコストを低減することが可能となる。また、ＢＭＣ  Ｆ／Ｗで実施していた状態同期制御をＦＰＧＡに置き換えることで、ＢＭＣ  Ｆ／Ｗの開発コストの低減も可能となる。
【符号の説明】
【００８２】
１００：情報処理装置、１０１：プロセッサ（ＣＰＵ）、１０２：メモリ、１０３：チップセット、１０４：ＲＡＩＤコントローラ、１０５：ＬＡＮコントローラ、１０６：制御装置（ＦＰＧＡ）、１０７：電源（ＶＲｓ）、１０８：ＢＭＣ、１０９：記憶装置切り替えスイッチ、１１０：記憶装置（ＨＤＤ）、１１１：ＬＥＤ、１１２：温度センサ、１１７：フロントプレーン、１１８：バックプレーン、１１９：システム装置制御モジュール、１２０：ＬＡＮスイッチモジュール、２００：情報処理装置、３００：ＢＭＣアクセス制御部、３０１：ローカルレジスタ、３０２：物理信号制御部、３０３、３０４、３０５：同期レジスタ、３０６、３０７、３０８：ノード間通信アクセス制御部、４０２：ノード間通信パケット生成回路、４０３：同期パケット生成回路、４０４：カウンタ、４０５：送信パケットセレクタ、４０６：ノード間通信物理Ｉ／Ｆ部、４０７：受信パケットセレクタ、４０８：ノード間通信パケット解析回路、４０９：同期パケット解析回路。
【図１】
2014235702.tif 000003
【図２】
2014235702.tif 000004
【図３】
2014235702.tif 000005
【図４】
2014235702.tif 000006
【図５】
2014235702.tif 000007
【図６】
2014235702.tif 000008
【図７】
2014235702.tif 000009
【図８】
2014235702.tif 000010