(57)【要約】【課題】ライブロックを回避することができ、システム停止を防止することを課題とする。【解決手段】アドレスクロスバスイッチは、受信したアドレスリクエストを一時的にバッファリングするとともに監視して、所定の種別のアドレスリクエスト（例えば、ロングパケットのアドレスリクエスト）を計数する。そして、アドレスクロスバスイッチは、所定の種別のアドレスリクエストの計数値が所定の閾値を超えた場合には（例えば、ロングパケットカウンタが１００を超えた場合には）、リトライされたアドレスリクエストのブロードキャストを一定時間停止する。そして、アドレスクロスバスイッチは、ブロードキャスト停止期間が終了すると、受信していた順番にアドレスリクエストのブロードキャストを再開する。【選択図】        図２
2008046980.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステム内に搭載された各種装置、あるいは当該コンピュータシステムに外部接続される各種外部装置から受信したアドレスリクエストを調停して、当該各種装置および当該各種外部装置の全てに対して送信するとともに、当該各種装置および当該各種外部装置から受信した当該アドレスリクエストに対するリクエスト応答を集約して、当該各種装置および当該各種外部装置の全てに対して送信するリクエスト送信制御装置であって、
前記アドレスリクエストを一時的に記憶するアドレスリクエスト記憶手段と、
前記アドレスリクエスト記憶手段に記憶されている前記アドレスリクエストの送信を所定のタイミングで一定時間停止するように制御する送信停止制御手段と、
を備えたことを特徴とするリクエスト送信制御装置。
【請求項２】
前記各種装置あるいは前記各種外部装置から受信した前記アドレスリクエストを監視して、所定の種別のアドレスリクエストを計数するリクエスト計数手段をさらに備え、
前記送信停止制御手段は、前記リクエスト計数手段による計数値が所定の閾値に到達するごとに、前記アドレスリクエストの送信を一定時間停止するように制御することを特徴とする請求項１に記載のリクエスト送信制御装置。
【請求項３】
コンピュータシステム内に搭載された各種装置、あるいは当該コンピュータシステムに外部接続される各種外部装置から受信したアドレスリクエストを調停して、当該各種装置および当該各種外部装置の全てに対して送信するとともに、当該各種装置および当該各種外部装置から受信した当該アドレスリクエストに対するリクエスト応答を集約して、当該各種装置および当該各種外部装置の全てに対して送信するリクエスト送信制御方法であって、
前記アドレスリクエストを一時的に記憶するアドレスリクエスト記憶工程と、
前記アドレスリクエスト記憶工程に記憶されている前記アドレスリクエストの送信を所定のタイミングで一定時間停止するように制御する送信停止制御工程と、
を含んだことを特徴とするリクエスト送信制御方法。
【請求項４】
前記各種装置あるいは前記各種外部装置から受信した前記アドレスリクエストを監視して、所定の種別のアドレスリクエストを計数するリクエスト計数工程をさらに含み、
前記送信停止制御工程は、前記リクエスト計数工程による計数値が所定の閾値に到達するごとに、前記アドレスリクエストの送信を一定時間停止するように制御することを特徴とする請求項３に記載のリクエスト送信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンピュータシステム内に搭載された各種装置、あるいは当該コンピュータシステムに外部接続される各種外部装置から受信したアドレスリクエストを調停して、当該各種装置および当該各種外部装置の全てに対して送信するとともに、当該各種装置および当該各種外部装置から受信した当該アドレスリクエストに対するリクエスト応答を集約して、当該各種装置および当該各種外部装置の全てに対して送信するリクエスト送信制御装置およびリクエスト送信制御方法に関する。
【背景技術】
【０００２】
従来より、各種システムに用いられる計算処理機（例えば、既知のパーソナルコンピュータやワークステーション、サーバなど）において、データ処理の高速化などの性能向上を図る技術が開示されている（例えば、特許文献１参照）。このような技術の中には、図５に例示するように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｃｅｓｓｉｎｇ  Ｕｎｉｔ）や主記憶部などを搭載したシステムボード、およびＰＣＩカードなどの外部装置との接続を制御するＩＯユニットなどからなるマルチプロセッサ構成を採用して、データ処理の高速化などの性能向上を図る技術が存在する。
【０００３】
そして、このようなマルチプロセッサ構成には、システムボード間やＩＯユニット間、システムボード／ＩＯユニット間のデータ転送速度の高速化を図ることを目的として、ＣＰＵやＩＯデバイスから発行されたアドレスリクエスト（例えば、データ書込みやデータ読出しに関するアドレスリクエスト）をマージするとともにアービトレーションして、全てのシステムボードおよびＩＯユニットに対してブロードキャストするアドレスクロスバスイッチが備えられている。
【０００４】
【特許文献１】特開平１０−２５４８４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記した従来の技術は、ライブロックを引き起こし、システム停止に陥るという問題点があった。
【０００６】
すなわち、アドレスクロスバスイッチは、ＣＰＵやＩＯデバイスから発行されたアドレスリクエストを複数受信している場合には、アービトレーションしたリクエストをラウンドロビン方式により転送するのみで特別な制御を行わない。そのため、例えば、同一アドレスへのアクセスが競合している場合や資源不足である場合などには、ブロードキャストされたアドレスリクエストは処理されずに、受信先からリトライ要求されて追い返され、アドレスクロスバスイッチはリトライされたアドレスリクエストを再ブロードキャストする。そして、この一連の動作が一定のタイミングで行われると、アドレスリクエストがいつまでも処理されず、資源開放をビジー状態で待ち合う現象であるライブロックを引き起こし、ライブロックが復旧されなければ最終的にシステム停止に陥るという問題点があった。
【０００７】
また、アドレスリクエストのリトライレベルを管理することにより、ライブロックを回避する技術も存在するが、リトライレベルを管理するための複雑な回路構成を要するという問題点がある。
【０００８】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、ライブロックを回避することができ、システム停止を防止することが可能なリクエスト送信制御装置およびリクエスト送信制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、コンピュータシステム内に搭載された各種装置、あるいは当該コンピュータシステムに外部接続される各種外部装置から受信したアドレスリクエストを調停して、当該各種装置および当該各種外部装置の全てに対して送信するとともに、当該各種装置および当該各種外部装置から受信した当該アドレスリクエストに対するリクエスト応答を集約して、当該各種装置および当該各種外部装置の全てに対して送信するリクエスト送信制御装置であって、前記アドレスリクエストを一時的に記憶するアドレスリクエスト記憶手段と、前記アドレスリクエスト記憶手段に記憶されている前記アドレスリクエストの送信を所定のタイミングで一定時間停止するように制御する送信停止制御手段と、を備えたことを特徴とする。
【００１０】
また、請求項２に係る発明は、上記の発明において、前記各種装置あるいは前記各種外部装置から受信した前記アドレスリクエストを監視して、所定の種別のアドレスリクエストを計数するリクエスト計数手段をさらに備え、前記送信停止制御手段は、前記リクエスト計数手段による計数値が所定の閾値に到達するごとに、前記アドレスリクエストの送信を一定時間停止するように制御することを特徴とする。
【００１１】
また、請求項３に係る発明は、コンピュータシステム内に搭載された各種装置、あるいは当該コンピュータシステムに外部接続される各種外部装置から受信したアドレスリクエストを調停して、当該各種装置および当該各種外部装置の全てに対して送信するとともに、当該各種装置および当該各種外部装置から受信した当該アドレスリクエストに対するリクエスト応答を集約して、当該各種装置および当該各種外部装置の全てに対して送信するリクエスト送信制御方法であって、前記アドレスリクエストを一時的に記憶するアドレスリクエスト記憶工程と、前記アドレスリクエスト記憶工程に記憶されている前記アドレスリクエストの送信を所定のタイミングで一定時間停止するように制御する送信停止制御工程と、を含んだことを特徴とする。
【００１２】
また、請求項４に係る発明は、上記の発明において、前記各種装置あるいは前記各種外部装置から受信した前記アドレスリクエストを監視して、所定の種別のアドレスリクエストを計数するリクエスト計数工程をさらに含み、前記送信停止制御工程は、前記リクエスト計数工程による計数値が所定の閾値に到達するごとに、前記アドレスリクエストの送信を一定時間停止するように制御することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、コンピュータシステム内の各種装置（例えば、システムボード上に搭載されたＣＰＵ）やコンピュータシステムに外部接続される各種外部装置（例えば、ＩＯユニットを介して接続されるＰＣＩカード）から受信したアドレスリクエストを一時的に記憶して（バッファリングして）、記憶されているアドレスリクエストの送信を所定のタイミング（例えば、一定ではない不定期なタイミング）で一定時間停止するように制御するので、例えば、リクエスト応答（例えば、同一のアドレスに関するリクエストに対してリトライを要求する応答など）に対するアドレスリクエストを送信するタイミングについて擾乱させてライブロックを回避することができ、システム停止を防止することが可能である。
【００１４】
また、本発明によれば、コンピュータシステム内の各種装置あるいはコンピュータシステムに外部接続される各種外部装置から受信したアドレスリクエストを監視して、所定の種別のアドレスリクエスト（例えば、ロングパケットのアドレスリクエスト）を計数するとともに、その計数値が所定の閾値に到達するごとに、アドレスリクエストの送信を一定時間停止するように制御するので、所定の種別のアドレスリクエストを計数した計数値が所定の閾値に到達するタイミングによってアドレスリクエストを送信するタイミングを擾乱させることができ、複雑な回路構成を要することなく、ライブロックを回避することが可能である。
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照して、本発明に係るリクエスト送信制御装置およびリクエスト送信制御方法の実施例を詳細に説明する。なお、以下では、本発明に係るリクエスト送信制御装置として機能するアドレスクロスバスイッチを実施例１で説明した後に、本発明に含まれる他の実施例を説明する。
【実施例１】
【００１６】
以下の実施例１では、実施例１に係るアドレスクロスバスイッチの概要および特徴、アドレスクロスバスイッチの構成および処理を順に説明し、最後に実施例１による効果を説明する。
【００１７】
［アドレスクロスバスイッチの概要および特徴（実施例１）］
まず最初に、図１および図２を用いて、実施例１に係るアドレスクロスバスイッチの概要および特徴を説明する。図１および図２は、実施例１に係るアドレスクロスバスイッチの概要および特徴を説明するための図である。
【００１８】
図１に示すように、実施例１に係るアドレスクロスバスイッチは、計算処理機などのコンピュータシステム内に搭載されたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｓｓｅｃｃｉｎｇ  Ｕｎｉｔ）などの各種装置、あるいはコンピュータシステムに外部接続されるＰＣＩカードなどの各種外部装置から受信したアドレスリクエストを調停（アービトレーション）して、各種装置および各種外部装置の全てに対して送信（ブロードキャスト）するとともに、各種装置および各種外部装置から受信したアドレスリクエストに対するリクエスト応答を集約（マージ）して、各種装置および各種外部装置の全てに送信（ブロードキャスト）することを概要とするが、ライブロックを回避することができ、システム停止を防止することが可能である点に主たる特徴がある。
【００１９】
この主たる特徴について具体的に説明すると、図１に示すように、アドレスクロスバスイッチは、ＣＰＵなどの主制御部やメモリなどの主記憶部を搭載したシステムボード（例えば、ＳＢ＃０〜ＳＢ＃４）やコンピュータシステムと外部装置との接続を制御するＩＯユニット（例えば、ＩＯＵ＃０〜ＩＯＵ＃４）から、例えば、リトライされたアドレスリクエストを受信すると、リトライされたアドレスリクエストのブロードキャストを一定時間停止する。
【００２０】
具体的には、図２に示すように、アドレスクロスバスイッチは、受信したアドレスリクエストを一時的にバッファリングするとともに監視して、所定の種別のアドレスリクエスト（例えば、ロングパケットのアドレスリクエスト）を計数する。そして、アドレスクロスバスイッチは、所定の種別のアドレスリクエストの計数値が所定の閾値を超えた場合には（例えば、ロングパケットカウンタが１００を超えた場合には）、リトライされたアドレスリクエストのブロードキャストを一定時間停止する。そして、アドレスクロスバスイッチは、ブロードキャスト停止期間が終了すると、受信していた順番にアドレスリクエストのブロードキャストを再開する。
【００２１】
例えば、図２に示すように、ＳＢ＃０から送信され、アドレスクロスバスイッチからブロードキャストされたアドレスリクエストＡは、既に同一のアドレスを指定するアドレスリクエストＢを送信しているＳＢ＃１からリトライするように追い返される。そこで、ＳＢ＃０は、アドレスリクエストＡをリトライ（再送信）するが、アドレスリクエストＡのリトライを受信したアドレスクロスバスイッチは、ロングパケットカウンタが閾値を超えている場合には、アドレスリクエストＡのリトライを一定時間停止する。
【００２２】
同様に、ＳＢ＃１から送信され、アドレスクロスバスイッチからブロードキャストされたアドレスリクエストＢは、既に同一のアドレスを指定するアドレスリクエストＡを送信しているＳＢ＃０からリトライするように追い返される。そこで、ＳＢ＃１は、アドレスリクエストＢをリトライ（再送信）するが、アドレスリクエストＢのリトライを受信したアドレスクロスバスイッチは、ブロードキャスト停止期間である場合には、アドレスリクエストＢのリトライを一定時間停止する。
【００２３】
そして、ブロードキャスト停止期間が終了すると、アドレスクロスバスイッチは、最初に受信したアドレスリクエストＡをブロードキャストするとともに、処理されたアドレスリクエストＡに対するリクエスト応答（例えば、リクエストに対するアドレスを通知する応答）をブロードキャストする。ＳＢ＃０は、アドレスクロスバスイッチから受信したリクエスト応答に基づいて、データ要求などの次処理を行う。
【００２４】
同様に、アドレスクロスバスイッチは、アドレスリクエストＡの次に受信したアドレスリクエストＢをブロードキャストするとともに、処理されたアドレスリクエストＢに対するリクエスト応答をブロードキャストする。ＳＢ＃１は、アドレスクロスバスイッチから受信したリクエスト応答に基づいて、データ要求などの次処理を行う。
【００２５】
このようなことから、実施例１に係るアドレスクロスバスイッチは、上述した主たる特徴の如く、例えば、リクエスト応答（例えば、同一のアドレスに関するリクエストに対してリトライを要求する応答など）に対するアドレスリクエストを送信するタイミングについて擾乱させてライブロックを回避することができ、システム停止を防止することが可能である点に主たる特徴がある。
【００２６】
［アドレスクロスバスイッチの構成（実施例１）］
次に、図３を用いて、実施例１に係るアドレスクロスバスイッチの構成を説明する。図３は、実施例１に係るアドレスクロスバスイッチの構成を示すブロック図である。
【００２７】
同図に示すように、実施例１に係るアドレスクロスバスイッチ３０は、通信制御Ｉ／Ｆ部３１と、記憶部３２と、制御部３３とから構成される。通信制御ＩＦ部３１は、システムボード１０やＩＯユニット２０との間でやり取りする各種情報に関する通信を制御する。
【００２８】
記憶部３２は、制御部３３による各種処理に必要なデータおよびプログラムを記憶する記憶部であり、特に本発明に密接に関連するものとしては、バッファ部３２ａを備える。バッファ部３２ａは、後述するリクエスト受信部３３ａにより受信されたアドレスリクエストを一時的に記憶する。
【００２９】
制御部３３は、所定の制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、リクエスト受信部３３ａおよびリクエスト送信制御部３３ｂを備える。
【００３０】
リクエスト受信部３３ａは、アドレスリクエストを受信する処理部であり、通信制御ＩＦ部３１を介してシステムボード１０やＩＯユニット２０から受信したアドレスリクエストをバッファ部３２ａへ格納する。
【００３１】
リクエスト送信制御部３３ｂは、アドレスリクエストの送信（ブロードキャスト）を制御する処理部である。具体的には、リクエスト受信部３３ａにより受信されたアドレスリクエストを監視して、所定の種別のアドレスリクエスト（例えば、ロングパケットのアドレスリクエスト）を計数する。そして、リクエスト送信制御部３３ｂは、所定の種別のアドレスリクエストの計数値が所定の閾値を超えた場合には（例えば、ロングパケットカウンタが１００を超えた場合には）、アドレスリクエストのブロードキャストを一定時間停止する。そして、リクエスト送信制御部３３ｂは、ブロードキャスト停止期間が終了すると、受信していた順番にバッファ部３２ａに記憶されているアドレスリクエストのブロードキャストを再開する。
【００３２】
［アドレスクロスバスイッチによる処理（実施例１）］
続いて、図４を用いて、実施例１に係るアドレスクロスバスイッチによる処理を説明する。図４は、実施例１に係るアドレスクロスバスイッチの処理の流れを示すフローチャートである。
【００３３】
同図に示すように、リクエスト受信部３３ａによりアドレスリクエストが受信されると（ステップＳ４０１）、リクエスト送信制御部３３ｂは、所定の種別のアドレスリクエスト（例えば、ロングパケットのアドレスリクエスト）を計数する（ステップＳ４０２）。
【００３４】
そして、リクエスト送信制御部３３ｂは、アドレスリクエストの計数値が所定の閾値を越えているか否か確認する（ステップＳ４０３）。その結果、アドレスリクエストの計数値が所定の閾値を越えている場合には（ステップＳ４０３肯定）、リクエスト送信制御部３３ｂは、アドレスリクエストのブロードキャストを一定時間停止する（ステップＳ４０４）。一方、アドレスリクエストの計数値が所定の閾値を越えていない場合には（ステップＳ４０３否定）、リクエスト送信制御部３３ｂは、アドレスリクエストをブロードキャストする（ステップＳ４０５）。
【００３５】
［実施例１による効果］
上述してきたように、実施例１によれば、計算処理機などのコンピュータシステム内の各種装置（例えば、システムボード上に搭載されたＣＰＵ）やコンピュータシステムに外部接続される各種外部装置（例えば、ＩＯユニットを介して接続されるＰＣＩカード）から受信したアドレスリクエストを一時的に記憶して（バッファリングして）、記憶されているアドレスリクエストの送信を所定のタイミング（例えば、一定ではない不定期なタイミング）で一定時間停止するように制御するので、例えば、リクエスト応答（例えば、同一のアドレスに関するリクエストに対してリトライを要求する応答など）に対するアドレスリクエストを送信するタイミングについて擾乱させて、ライブロックを回避することができ、システム停止を防止することが可能である。
【００３６】
また、実施例１によれば、計算処理機などのコンピュータシステム内の各種装置あるいはコンピュータシステムに外部接続される各種外部装置から受信したアドレスリクエストを監視して、所定の種別のアドレスリクエスト（例えば、ロングパケットのアドレスリクエスト）を計数するとともに、その計数値が所定の閾値に到達するごとに、アドレスリクエストの送信を一定時間停止するように制御するので、所定の種別のアドレスリクエストを計数した計数値が所定の閾値に到達するタイミングによってアドレスリクエストを送信するタイミングを擾乱させることができ、複雑な回路構成を要することなく、ライブロックを回避することが可能である。
【実施例２】
【００３７】
さて、これまで本発明の実施例１について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００３８】
［装置構成等］
図３に示したアドレスクロスバスイッチ３０の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、アドレスクロスバスイッチ３０の分散・統合の具体的形態は図示のものに限られず、例えば、リクエスト受信部３３ａとリクエスト送信制御部３３ｂとを統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００３９】
さらに、アドレスクロスバスイッチ３０にて行なわれる処理機能（リクエスト送信制御機能）は、その全部または任意の一部が、予め用意され所定のメモリなどに記憶されているプログラムをＭＭＢが読み出して実行することにより実現され得る。また、上記文書中や図面中で示した処理手順、制御手順、具体的名称を含む情報については、特記する場合を除いて任意に変更することができる。
【産業上の利用可能性】
【００４０】
以上のように、本発明に係るリクエスト送信制御装置およびリクエスト送信制御方法は、コンピュータシステム内に搭載された各種装置、あるいは当該コンピュータシステムに外部接続される各種外部装置から受信したアドレスリクエストを調停して、当該各種装置および当該各種外部装置の全てに対して送信するとともに、当該各種装置および当該各種外部装置から受信した当該アドレスリクエストに対するリクエスト応答を集約して、当該各種装置および当該各種外部装置の全てに対して送信する場合に有用であり、特に、ライブロックを回避することができ、システム停止を防止することに適する。
【図面の簡単な説明】
【００４１】
【図１】実施例１に係るアドレスクロスバスイッチの概要および特徴を説明するための図である。
【図２】実施例１に係るアドレスクロスバスイッチの概要および特徴を説明するための図である。
【図３】実施例１に係るアドレスクロスバスイッチの構成を示すブロック図である。
【図４】実施例１に係るアドレスクロスバスイッチの処理の流れを示すフローチャートである。
【図５】計算処理機の従来構成を示す図である。
【符号の説明】
【００４２】
１０  システムボード
２０  ＩＯユニット
３０  アドレスクロスバスイッチ
３１  通信制御Ｉ／Ｆ部
３２  記憶部
３２ａ  バッファ部
３３  制御部
３３ａ  リクエスト受信部
３３ｂ  リクエスト送信制御部
【図１】
2008046980.tif 000003
【図２】
2008046980.tif 000004
【図３】
2008046980.tif 000005
【図４】
2008046980.tif 000006
【図５】
2008046980.tif 000007