(57)【要約】【課題】  ＢＭＣのＦＷが、Ｓｌａｖｅ  ａｄｄｒｅｓｓ設定用デバイスで、Ａｒｂｉｔｒａｔｉｏｎ必勝データフォーマットでコマンドを発行し優先権を取得するので、セレクタースイッチの使用や、ＢＩＯＳを改造することなく、大きなコストアップにつながらない、Ｉ２Ｃバスの調停システムを提供する。【解決手段】  ＢＭＣとＣＰＵとＩ２Ｃバスとを備えるＩ２Ｃバスの調停システムにおいて、Ｉ２Ｃバスに接続され、所定のアドレスを設定するアドレス設定部と、ＢＭＣに備えられ、Ｉ２Ｃバスを制御する制御部とを有し、制御部は、アドレス設定部を制御して所定のコマンドを出力させる。【選択図】      図１
2015184935.tif 000002
【特許請求の範囲】
【請求項１】
ＢＭＣとＣＰＵとＩ２Ｃバスとを備えるＩ２Ｃバスの調停システムにおいて、
前記Ｉ２Ｃバスに接続され、所定のアドレスを設定するアドレス設定部と、
前記ＢＭＣに備えられ、前記Ｉ２Ｃバスを制御する制御部と、
を有し、
前記制御部は、前記アドレス設定部を制御して所定のコマンドを出力させることを特徴とするＩ２Ｃバスの調停システム。
【請求項２】
前記所定のコマンドはＩ２Ｃバスへ出力する請求項１に記載のＩ２Ｃバスの調停システム。
【請求項３】
前記所定のコマンドは、前記Ｉ２Ｃバスにおいて、最優先で処理されることを特徴とする請求項１または２に記載のＩ２Ｃバスの調停システム。
【請求項４】
前記制御部は、前記Ｉ２Ｃバスが通信開始の信号を検出した場合に、前記アドレス設定部を制御して前記所定のコマンドを出力させることを特徴とする請求項１から３のうち１に記載のＩ２Ｃバスの調停システム。
【請求項５】
前記制御部は、外部からの信号を検出した場合に、前記アドレス設定部を制御して前記所定のコマンドを出力させることを特徴とする請求項１から４のうち１に記載のＩ２Ｃバスの調停システム。
【請求項６】
前記所定のコマンドは、調停対象の装置内に存在するデバイスのアドレスよりも若いアドレスを指定するものである請求項１から５のうち１に記載のＩ２Ｃバスの調停システム。
【請求項７】
調停対象の装置内に存在するデバイスと前記制御部を接続するプレゼンス専用信号線を備えたことを特徴とする請求項６に記載のＩ２Ｃバスの調停システム。
【請求項８】
前記制御部は、前記調停対象の装置内に存在する前記ＢＭＣ以外のデバイスが通信していない状態になるまで妨害コマンドを送信し続けること特徴とする請求項１から７のうち１に記載のＩ２Ｃバスの調停システム。
【請求項９】
前記妨害コマンドは前記調停対象の装置内に存在するデバイスのアドレスよりも若いアドレスを指定するものである請求項１から８のうち１に記載のＩ２Ｃバスの調停システム。
【請求項１０】
ＢＭＣとＣＰＵとＩ２Ｃバスとを備えるＩ２Ｃバスの調停方法において、
前記Ｉ２Ｃバスに接続され、所定のアドレスを設定するステップと、
前記ＢＭＣに備えられ、前記Ｉ２Ｃバスを制御するステップと、
を有し、
前記Ｉ２Ｃバスを制御し、所定のコマンドを出力させるステップを有することを特徴とするＩ２Ｃバスの調停方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｉ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）バスの順序制御を可能とする調停システムに関し、特に、Ｉ２Ｃバスの優先権を必ず得られる調停システムに関する。
【背景技術】
【０００２】
サーバは、ＣＰＵ以外にＢＭＣ（Ｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）と呼ばれるコントローラを搭載し、サーバを構成するメモリやチップ、ファンなどの各モジュールの初期化や状態監視をすることにより、高度な品質や信頼性を実現している。
【０００３】
ＢＭＣ上で動作するＢＭＣのＦＷ（ｆｉｒｍｗａｒｅ）とＣＰＵ上で動作するＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）は、各モジュールへアクセスするために、標準仕様であるＩ２Ｃバスを使用している。Ｉ２Ｃバスは、シリアルデータ（ＳＤＡ）とシリアルクロック（ＳＣＬ）の２本の信号線を用いて通信を行う。このバスはＢＩＯＳとＢＭＣのＦＷで共有されているが、バスの使用権はＩ２Ｃバスのプロトコルにより調停される。
【０００４】
この調停方法は、先にアクセスを開始したものが優先される方法であるが、同じタイミングでアクセスを開始すると、ＳＤＡにより長くＬｏｗを出し続けたデバイスに優先権が与えられる。この調停方法によって、コマンド単位での調停が可能である。
【０００５】
Ｉ２Ｃバスは、コマンド単位の調停機能を有するものの、これだけでは、まとまったコマンドの順序制御はできない。例えば、メモリライザーボードのオンライン組み込みを想定した場合、まず、ＢＭＣＦＷは、組み込まれたボードの初期化処理を行い、それが完了してからＢＩＯＳの処理を開始しようとする。しかし、Ｉ２Ｃバスの調停は、コマンド単位の調停のため、ＢＭＣＦＷの初期化が完了しないうちに、ＢＩＯＳから処理を開始される可能性があった。
【０００６】
このような事態を避けるためには、Ｉ２ＣのＢＭＣＦＷからのパスとＢＩＯＳからのパスの間にセレクタースイッチを介して、ＢＭＣＦＷの処理が完了するまで、ＢＩＯＳのパスを遮断するような順序制御を行うことがあった。また、ＢＩＯＳを改造して、ＢＩＯＳとＢＭＣＦＷの通信パスからＢＭＣＦＷの処理化処理が完了したことを示すメッセージを受け取るまで、ＢＩＯＳの情報収集を待たせるという方法等があった。
【０００７】
しかし、セレクタースイッチの使用や、ＢＩＯＳを改造することは、装置のコストアップにつながることになり、課題となっていた。
【０００８】
上記に関連する技術として、特許文献１には、容易な構成で調停を行うことを目的とし、属性情報を格納するメモリとマスタに対応して設けられ、マスタのメモリへのアクセス要求を受け付ける複数のチャネルと、ハードウエアで構成され、各チャネルが受け付けたアクセス要求を調停し、選択した１つのアクセス要求のメモリへのアクセスを許可し、確定する調停制御部とを有する技術が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第５２６１９９３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１は、シーケンス制御部、チャネル調停制御部、メモリアクセス制御部およびメモリ等が必要である、という課題があった。
【００１１】
本発明の目的は、この点を鑑みたものであり、セレクタースイッチの使用や、ＢＩＯＳを改造することなく、大きなコストアップにつながらない、Ｉ２Ｃバスの調停システムを提供することである。
【課題を解決するための手段】
【００１２】
本発明では、上記課題を解決するために、ＢＭＣとＣＰＵとＩ２Ｃバスとを備えるＩ２Ｃバスの調停システムにおいて、Ｉ２Ｃバスに接続され、所定のアドレスを設定するアドレス設定部と、ＢＭＣに備えられ、Ｉ２Ｃバスを制御する制御部とを有し、制御部は、アドレス設定部を制御して所定のコマンドを出力させることを特徴としている。
【００１３】
また、本発明では、上記課題を解決するために、ＢＭＣとＣＰＵとＩ２Ｃバスとを備えるＩ２Ｃバスの調停方法において、Ｉ２Ｃバスに接続され、所定のアドレスを設定するステップと、ＢＭＣに備えられ、Ｉ２Ｃバスを制御するステップとを有し、Ｉ２Ｃバスを制御し、所定のコマンドを出力させるステップを有することを特徴としている。
【発明の効果】
【００１４】
本発明によれば、セレクタースイッチの使用や、ＢＩＯＳを改造することなく、大きなコストアップにつながらない、Ｉ２Ｃバスの調停システムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態におけるＩ２Ｃバスの調停システムの構成を示すブロック図である。
【図２】本発明の実施の形態におけるデータフォーマットの例を示す図である。
【図３】本発明の実施の形態におけるＢＭＣＦＷの動作を示すフローチャートである。
【図４】本発明の実施の形態におけるＡｒｂｉｔｒａｔｉｏｎ必勝フォーマットを使用して、Ｉ２Ｃバスの優先権を取得する状況を説明する図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００１７】
図１を用いて、本実施形態におけるＩ２Ｃバスの調停システムの構成を説明する。
【００１８】
図１は、本実施形態のＩ２Ｃバスの調停システムの構成を示すブロック図である。
【００１９】
図１において、サーバ装置１は、ＣＰＵ、メモリ、チップセット、ディスク、拡張カードなど、一般的なコンピュータとして必要なモジュールを含む装置を想定している。図１では、Ｉ２Ｃバス２を中心としたモジュールを示す。
【００２０】
サーバ装置１には、管理機能を強化するためにＢＭＣ３を搭載しており、ＣＰＵ４とＢＭＣ３、およびサーバを構成するモジュール、ここでは例としてメモリライザーボード６とをＩ２Ｃバス２で接続している。また、メモリライザーボード６がオンライン保守された時のプレゼンスを、ＢＭＣ３へ通知するためのプレゼンス専用信号線８で、メモリライザーボード６とＢＭＣ３が接続されている。メモリライザーボード６には、複数のＤＩＭＭ（Ｄｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）７が搭載されている。ＣＰＵ４には、ＢＩＯＳ１０が搭載され、ＢＭＣ３には、制御部としてＢＭＣＦＷ９が搭載されている。
【００２１】
また、優先権取得用の最若番Ｓｌａｖｅ  ａｄｄｒｅｓｓ設定用デバイス５が、アドレス設定部としてＩ２Ｃバスに接続されている。この、最若番Ｓｌａｖｅ  ａｄｄｒｅｓｓ設定用デバイス５において、ＢＭＣＦＷ９からの命令により、Ａｒｂｉｔｒａｔｉｏｎ必勝データフォーマットが作成される。本実施形態では、ＢＭＣの外に優先権取得用の最若番Ｓｌａｖｅ  ａｄｄｒｅｓｓ設定用デバイス５が配置されているが、ＢＭＣ３とは、必ずしも独立している必要はなく、ＢＭＣ３の一部として実装することもできる。
【００２２】
図２、図３、図４を用いて、本実施形態におけるＩ２Ｃバスの調停システムの動作について説明する。図２は、本実施形態のデータフォーマットの例である。図３は、本実施形態におけるＢＭＣＦＷの動作を示すフローチャートである。図４は、本実施形態のデータの信号波形の例である。
【００２３】
まず、図２を用いて通常のＩ２Ｃバスのデータフォーマット１００について説明すると、通常データフォーマットでは、冒頭の“Ｓ”つまりＳｔａｒｔ  Ｃｏｎｄｉｔｉｏｎ（通信開始）の後のｓｌａｖｅ  ａｄｄｒｅｓｓ１０１とその次のｓｌａｖｅ  ａｄｄｒｅｓｓ１０２の両方へ、アクセス対象であるデバイスのアドレスを設定する。
【００２４】
このデータフォーマット同士でＩ２Ｃバスの調停が行われる場合、調停規則からＳＤＡにより長く０を発行したほうが優先権を得られることから、ｓｌａｖｅ  ａｄｄｒｅｓｓ１０１が若い（ｂｉｔ列の先頭から数えて０がより多く続く）方がＩ２Ｃバスの優先権を得る。
【００２５】
そこで、本実施形態ではＡｒｂｉｔｒａｔｉｏｎ必勝データフォーマット１１０でコマンドをＩ２Ｃバス２へ出力する。Ｓｔａｒｔ  Ｃｏｎｄｉｔｉｏｎの後のｓｌａｖｅ  ａｄｄｒｅｓｓ１１１には、調停システムが対象とする装置内つまりサーバ装置１内に存在するデバイスのアドレスよりも若い番号を指定する。これにより、必ず優先権を得ることができる。アクセス対象となるデバイスのアドレスは、ｓｌａｖｅ  ａｄｄｒｅｓｓ１１２に設定する。ｓｌａｖｅ  ａｄｄｒｅｓｓ１１１に上記の若い番号を設定するために、優先権取得用の最若番Ｓｌａｖｅ  ａｄｄｒｅｓｓ設定用デバイス５を用意し、サーバ装置１内に存在するデバイスのアドレスよりも若い番号を割り当てておく。
【００２６】
また、ＢＭＣＦＷ９は、ＢＩＯＳ１０などの通信をＡｒｂｉｔｒａｔｉｏｎ必勝データフォーマットコマンドで妨害するが、Ｓｔａｒｔ  Ｃｏｎｄｉｔｉｏｎを監視して妨害するために、ＢＩＯＳよりも先に各モジュールの実装を知る必要がある。ＢＭＣ３と各ＤＩＭＭ７はプレゼンス専用信号線８で接続されており、Ｉ２Ｃバス２の１クロック以内の時間でプレゼンスがＢＭＣへ到着するものとする。
【００２７】
これに対して、ＢＩＯＳ１０は、新しく実装されるモジュールのプレゼンスをＩ２Ｃバス２経由のポーリングで検知するため、ＢＭＣＦＷ９が、新しく実装されたモジュールの存在を知るのは、ＢＩＯＳ１０よりも必ず早くなる。１回目は、この関係が成立するが、次からは、ＢＭＣＦＷ９は、他の処理も行うので、ＢＩＯＳ１０からのコマンドが、ＢＭＣＦＷ９が初期化中のデバイスに到着する可能性がある。
【００２８】
そこで、メモリライザーボード６が実装された場合を例に、ＢＭＣＦＷ９による順序制御の動作を、図３を用いて説明する。
【００２９】
メモリライザーボード６が実装（Ｓ２０１）されると、プレゼンス専用信号線８を介して、ＢＭＣ３へメモリライザーボードが実装されたことが通知される（Ｓ２０２）。
【００３０】
ＢＭＣＦＷ９は、新しいデバイスのプレゼンスを検知（Ｓ２０２）すると、Ｉ２Ｃバス２のＳＤＡを観測し、ＢＩＯＳ１０を含む他のデバイスからのＳｔａｒｔ  ｃｏｎｄｉｔｉｏｎが、発生（Ｓ２０３）したら（Ｉ２Ｃにおける通信開始）、Ａｒｂｉｔｒａｔｉｏｎ必勝フォーマットで妨害コマンドをＩ２Ｃバス２へ送信（Ｓ２０４)して、他のデバイスのコマンド送信を抑止する。
すなわち、Ｉ２Ｃバス２上で他のデバイスが通信していない状態になるまで妨害コマンドを送信し続ける。ここで妨害コマンドとは、他のデバイスのコマンド送信を抑止するためのコマンドである。
【００３１】
そして、他のデバイスが通信していない場合は、他のデバイスに邪魔されないために、Ａｒｂｉｔｒａｔｉｏｎ必勝フォーマットで、ＢＭＣＦＷ９の処理を行うコマンドを送信（Ｓ２０５）する。
【００３２】
ＢＭＣＦＷ９によるメモリライザーボード６の初期化処理が完了したら（Ｓ２０６）、他のデバイスからの通信を妨害するコマンドの送信（Ｓ２０４）を停止し（Ｓ２０７）、新しいデバイスの実装によるプレゼンス通知の到着待ち状態（Ｓ２０８）へ戻る。
【００３３】
次にＡｒｂｉｔｒａｔｉｏｎ必勝フォーマットを使用して、Ｉ２Ｃバスの優先権を取得する状況について、図４を用いて説明する。
【００３４】
装置内の通常デバイスの最も若いアドレスを００１００００とすると、優先権取得用デバイスのアドレスには、これよりも若いアドレスの設定が必要であり、０００１１１１を設定したとする。
【００３５】
ＢＩＯＳの最若番アドレスを持つデバイスへのアクセスを、ＢＭＣＦＷ９がＡｒｂｉｔｒａｔｉｏｎ必勝フォーマットを用いたコマンドで妨害する場合、ＢＭＣＦＷ９は、ＳＤＡにＳｔａｒｔ  Ｃｏｎｄｉｔｉｏｎを見つけると、Ａｒｂｉｔｒａｔｉｏｎ必勝フォーマットでコマンドを発行する。
【００３６】
図４の例では、ＢＩＯＳが発行するデータフォーマットはＳｔａｒｔ  Ｃｏｎｄｉｔｉｏｎ直後のｓｌａｖｅ  ａｄｄｒｅｓｓが００１００００であり、ＢＭＣＦＷ９が発行するＡｒｂｉｔｒａｔｉｏｎ必勝フォーマットは、ｓｌａｖｅ  ａｄｄｒｅｓｓが０００１１１１なので、クロック番号４では、ＢＩＯＳのアクセスがＳＤＡに１を発行しようとするのに対し、ＢＭＣＦＷ９は、０を発行しようとする。
このとき０を出し続けた方が優先権を得るＩ２Ｃバスの調停ルールにより、ＢＭＣＦＷ９が優先権を取得することができる。
【００３７】
上述のように、ＢＭＣＦＷは、ＳＤＡにＳｔａｒｔ  Ｃｏｎｄｉｔｉｏｎを見つけると、最若番Ｓｌａｖｅ  ａｄｄｒｅｓｓ設定用デバイスに命令して、Ａｒｂｉｔｒａｔｉｏｎ必勝データフォーマットでコマンドを発行し、優先権を取得する。
【００３８】
以上説明してきたように、本実施形態によれば、ＢＭＣのＦＷが、Ｓｌａｖｅ  ａｄｄｒｅｓｓ設定用デバイスで、Ａｒｂｉｔｒａｔｉｏｎ必勝データフォーマットでコマンドを発行し優先権を取得するので、セレクタースイッチの使用や、ＢＩＯＳを改造することなく、大きなコストアップにつながらない、Ｉ２Ｃバスの調停システムを提供することができる。
つまりｓｌａｖｅ  ａｄｄｒｅｓｓ１０１を優先権取得用デバイスの最若番アドレス１１１に変更すればよいので、大きなコストアップにならない。
【００３９】
尚、本願発明は、上述の実施の形態に限定されるものではなく、本願発明の要旨を逸脱しない範囲で種々変更、変形して実施することが出来る。
【産業上の利用可能性】
【００４０】
本発明は、Ｉ２Ｃバスを用いてＢＭＣが制御を行うサーバに利用可能である。
【符号の説明】
【００４１】
１    サーバ装置
２    Ｉ２Ｃバス
３    ＢＭＣ
４    ＣＰＵ
５    最若番Ｓｌａｖｅ  ａｄｄｒｅｓｓ設定用デバイス
６    メモリライザーボード
７    ＤＩＭＭ
８    プレゼンス専用信号線
９    ＢＭＣＦＷ
１０    ＢＩＯＳ
１０１    ｓｌａｖｅ  ａｄｄｒｅｓｓ
１１１    優先権取得用デバイスの最若番アドレス
【図１】
2015184935.tif 000003
【図２】
2015184935.tif 000004
【図３】
2015184935.tif 000005
【図４】
2015184935.tif 000006