説明

コンピュータシステムおよびコンピュータシステムの活線抜差方法

【課題】拡張カードの装着時に、拡張カードに不具合があった場合、OSおよびホット・プラグ管理ソフトウェアの介入なしで拡張カードの抜き取りが行えるできるコンピュータシステムおよび活線抜差方法を提供することを目的としている。
【解決手段】コンピュータシステム10は、スロット1と、ホット・プラグ制御部2と、受信制御部3と、送信制御部4と、接続診断部5と、ホスト・ブリッジ6と、CPU7と、表示部8と、挿入検出部9から構成されている。また、コンピュータシステム10は、拡張カード20との接続を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータシステムおよびコンピュータシステムの活線抜差方法に関する。
【背景技術】
【0002】
コンピュータシステムに周辺機器を接続する場合、PCI(Peripheral Component Interconnect)規格に基づく拡張カードが広く利用されている。このPCI規格には、コンピュータシステムの電源を入れたまま、拡張カードの抜き差しが行えるPCIホット・プラグ規格1.0(1997年10月6日改定)およびPCI Express規格等がある。コンピュータシステムで、このようなホット・プラグに基づく拡張カードの抜き差しを行う場合、新たに挿入された拡張カードに不具合があると、データの損失、あるいはPCIバスを占有したり、バス・プロトコルがハングアップすることもある。
【0003】
このため従来のコンピュータシステムにおいては、特許文献1の図3のように、拡張カードを挿入する場合、コンピュータシステムのOSの制御により、ホット・プラグ管理ソフトウェアが組み込まれ、さらに拡張カードの組み込み処理が行われる。組み込みに際して、ホット・プラグ・コントローラが、隔離部を制御して、拡張カードを診断用のローカルPCIバスに接続し、拡張カードの診断を行う。拡張カードの診断結果が合格だった場合は、ホット・プラグ・コントローラが隔離部を制御して拡張カードを診断用のローカルPCIバスから通常送受信用のPCIバスに接続を切り替える。一方、拡張カードの診断結果が不合格だった場合は、ホット・プラグ・コントローラが隔離部を制御して拡張カードを隔離する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−305678号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、CPUがホスト・ブリッジ経由でホット・プラグ・コントローラを制御して、拡張カードの診断を診断用のローカルPCIバスに接続して行い、診断結果が合格の場合に拡張カードをPCIバスに接続していた。このため、拡張カードがスロットに挿入された時点で、スロットに設けられている機械的検出部により拡張カードが挿入されたことが検出され、拡張カードが挿入されたことを示す通知信号がホット・プラグ・コントローラに送信される。ホット・プラグ・コントローラは通知信号を受信し、受信した通知信号をホスト・ブリッジ経由でCPUに送る。CPUは通知信号を受信し、ホット・プラグ管理ソフトウェアの組み込み、拡張カードの組み込み処理を開始する。このため、拡張カードの診断結果が不合格の場合、拡張カードを抜き取るために、隔離部により電気的に拡張カードが隔離されていてもOSおよびホット・プラグ管理ソフトウェア上で拡張カードの隔離手続きを行う必要があるという課題があった。
【0006】
本発明は、上記の問題点に鑑みてなされたものであって、拡張カードの装着時に、拡張カードに不具合があった場合、OSおよびホット・プラグ管理ソフトウェアの介入なしで、拡張カードの抜き取りが行えるコンピュータシステムおよびコンピュータシステムの活線抜差方法を提供することを目的としている。
【課題を解決するための手段】
【0007】
本発明は、主制御装置が、スロットに挿入され第1のバスに接続された拡張機器を利用して動作するコンピュータシステムにおいて、
前記拡張機器の診断を行う診断部と、
前記拡張機器を前記第1のバスに接続する制御を行う接続制御部と、
を備え、
前記接続制御部は、
前記拡張機器が前記スロットに挿入されたことを通知する通知信号を受信した後、前記拡張機器を、前記診断部が接続されかつ前記主制御装置が接続されていない第2のバスに接続し、前記診断部に前記拡張機器の診断を行わせ、
前記診断部による診断の結果、前記拡張機器が正常の場合は、前記拡張機器が前記スロットに挿入されたことを通知する通知信号を前記主制御装置へ送信し、前記通知信号への応答である前記主制御装置からのスロット電源投入信号に基づいて前記拡張機器に電源を供給して、前記拡張機器を前記第1のバスに接続し、
前記診断部による診断の結果、前記拡張機器が異常の場合は、前記拡張機器が前記スロットに挿入されたことを通知する通知信号を前記主制御装置へ送信しないように制御する
ことを特徴とする。
【0008】
また、本発明は、スロットに挿入される拡張機器の診断を行う診断部と前記拡張機器を第1のバスに接続する制御を行う接続制御部とを備え、主制御装置が前記拡張機器を前期第1のバスに接続して利用するコンピュータシステムの活線抜差方法において、
前記スロットが、前記拡張機器が前記スロットに挿入されたことを通知する通知信号を送信する通知信号送信工程と、
前記接続制御部が、前記通知信号の前記主制御装置への送信を、前記診断部で前記拡張機器が正常と診断されるまで待機させる通知信号待機工程と、
前記通知信号を受信した後、前記接続制御部が、前記拡張機器を、前記診断部が接続されかつ前記主制御装置が接続されていない第2のバスに接続する接続工程と、
前記第2のバスを介して前記診断部が前記拡張機器の診断を行う診断工程と、
前記診断工程での診断の結果、前記拡張機器が正常の場合は、前記接続制御部が、前記通知信号待機工程で待機させていた前記通知信号を前記主制御装置へ送信する通知信号待機解除工程と、
前記通知信号待機解除工程により前記主制御装置へ前記通知信号が送信された後、前記接続制御部が、前記通知信号への応答である前記主制御装置からのスロット電源投入信号に基づいて前記拡張機器に電源を供給する電源供給工程と、
前記診断工程での診断の結果、前記拡張機器が異常の場合は、前記接続制御部が、前記通知信号待機工程で待機させていた前記通知信号を前記主制御装置へ送信しないように制御する通知信号制御工程と、
を備えることを特徴とする。
【発明の効果】
【0009】
本発明によれば、拡張カードがコンピュータシステムに挿入された場合、ホット・プラグ・コントローラが、ホスト・ブリッジには接続せず診断用のバスに接続するように制御する。さらに、拡張カードが挿入された時、拡張カードがスロットを介してホット・プラグ・コントローラに送信した通知信号をホスト・ブリッジおよびCPUに送信せずに待機させる。診断部での拡張カードの診断結果が合格の場合のみ、ホスト・ブリッジおよびCPUに待機させていた通知信号を送信するようにした。これにより、診断結果が不合格の場合には、ホット・プラグ管理ソフトウェアの処理が開始されていないので、ホット・プラグ管理ソフトウェアによる隔離手続きを行わずに拡張カードの隔離が可能になる。
【図面の簡単な説明】
【0010】
【図1】本発明の実施形態に係るコンピュータシステムのブロック図である。
【図2】同実施形態に係る拡張カードが挿入されたときの診断手順を示す図である。
【図3】同実施形態に係る拡張カードが挿入されたときの診断手順を示す図である。
【発明を実施するための形態】
【0011】
以下、図1〜3を用いて本発明の実施形態について詳細に説明する。なお、本発明は係る実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【0012】
図1は、本実施形態におけるコンピュータシステムのブロック図である。コンピュータシステム10は、スロット1と、ホット・プラグ制御部2と、受信制御部3と、送信制御部4と、接続診断部5と、ホスト・ブリッジ6と、CPU7と、表示部8と、挿入検出部9から構成されている。また、コンピュータシステム10は、PCI Express規格の拡張カード(以下、拡張カード)20との接続を行う。
【0013】
スロット1は、拡張カード20との電気的な接続を行う。また、スロット1の端子は、ホット・プラグ制御部2と、受信制御部3と、送信制御部4とに接続されている。また、スロット1には、拡張カード20の挿入を機械的に検出する挿入検出部9が設けられている。
【0014】
ホット・プラグ制御部(接続制御部)2は、拡張カード20をスロット1へ接続診断部5の診断結果に基づき、もしくはホスト・ブリッジ6を介したCPU7からの指示に基づき電気的に接続または解除する。すなわち、ホット・プラグ制御部2は、接続診断部5の診断結果が合格の場合に拡張カード20をスロット1へ電気的に接続し、接続診断部5の診断結果が不合格の場合に拡張カード20をスロット1へ電気的に接続を解除する。また、ホット・プラグ制御部2は、拡張カードがスロット1に挿入されることにより、スロット1に設けられている挿入検出部9が送信するスロット・イベント信号(通知信号)を受け取る。また、ホット・プラグ制御部2は、受け取ったスロット・イベント信号のホスト・ブリッジ6への送信を、接続診断部5による診断結果のリンクアップ信号を受信するまで待機させる。
また、ホット・プラグ制御部2は、スロット・イベント信号を受け取った後、拡張カードの診断を行うために、診断中にスロット1に電源を供給する。また、ホット・プラグ制御部2は、拡張カードの診断を行うために、受信制御部3の出力を切り替える診断処理中フラグを送る。また、ホット・プラグ制御部2は、拡張カードの診断を行うために、送信制御部4の入力を切り替える診断処理中フラグを送る。また、ホット・プラグ制御部2は、診断処理中フラグを受信制御部4および送信制御部4に送った後、接続診断部5に診断開始指示を送り、診断終了後に接続診断部5から診断終了信号と診断結果信号を受け取る。
診断結果信号が合格の場合、ホット・プラグ制御部2は、診断結果信号としてリンクアップ信号を受け取る。
また、ホット・プラグ制御部2は、リンクアップ信号を受け取った後、スロット1にスロット・リセット信号を送り、診断用に供給していた電源をOFFにする。また、ホット・プラグ制御部2は、電源をOFFにした後、待機させていたスロット・イベント信号(通知信号)をホスト・ブリッジ6に送る。また、ホット・プラグ制御部2は、ホスト・ブリッジ6からスロット・イベント信号の応答としてスロット電源ON信号を受け取った後、スロット1に送信していたスロット・リセット信号を解除し、さらにスロット1にスロット電源を供給する(電源制御)。また、ホット・プラグ制御部2は、スロット1に電源を供給した後、スロット1を介して拡張カード20とリンク確立処理を行い、コンピュータシステム10への拡張カード20の組み込みを行う。
また、診断結果信号が不合格の場合、ホット・プラグ制御部2は、診断結果信号としてリンクフェイル信号を受け取り、受け取ったリンクフェイル信号に基づき表示部8にエラー表示を行う。
【0015】
受信制御部3は、スロット1を介して拡張カード20からの出力データを受け取る。また、受信制御部3は、拡張カード20から受け取った出力データをホット・プラグ制御部2の制御信号により出力先を切り替えて、通常受信データの経路11であるホスト・ブリッジ6、または、診断受信データの経路12である接続診断部5に出力する。
【0016】
送信制御部4は、ホット・プラグ制御部2の制御信号により入力先を切り換えて、診断受信データの経路14である接続診断部5、または、通常送信データの経路13であるホスト・ブリッジ6からの出力を受け取る。また、送信制御部4は、受け取った接続診断部5またはホスト・ブリッジ6からの出力をスロット1に送る。
【0017】
接続診断部5は、ホット・プラグ制御部2からの診断開始指示を受け取り、診断開始指示受け取り後に受信制御部3と送信制御部4を介してスロット1に接続されている拡張カード20の診断を行う。また、接続診断部5は、拡張カード20の診断結果の診断結果信号をホット・プラグ制御部2に送る。
【0018】
診断は、接続診断部5により、スロット1を介して接続されている拡張カード20の図示しない送受信ポートと接続診断部5の送受信ポートとの間で、PCI Express規格で定められている特定パケット(トレーニングやエレクトリカル・アイドル等)の交換を行うことで行われる。
【0019】
ホスト・ブリッジ6は、CPU7とコンピュータシステム10のバスを接続して、CPU7とバスとの間でデータの制御を行う。また、ホスト・ブリッジ6は、接続診断部5による診断終了後、診断結果が合格の場合に、ホット・プラグ制御部2から待機させられていたスロット・イベント信号を受け取る。また、ホスト・ブリッジ6は、スロット・イベント信号を受け取った後、CPU7に拡張カードが挿入されたことを知らせる割り込み信号を送り、また、ホット・プラグ制御部2にスロット電源ON信号を送る。
【0020】
CPU7は、診断接続5による診断終了後にホスト・ブリッジ6から出力される割り込み信号を受け取る。また、CPU7は、スロット1に拡張カード20が挿入された場合、CPU7に接続された図示しないROM(Read Only Memory)またはHDD(Hard Disk Drive)等の記憶部に記憶されているOS(Operating System)により、挿入された拡張カード20をホット・プラグ制御部2と受信制御部3と送信制御部4とホスト・ブリッジ6を介してリンク確立処理を行い、拡張カード10をコンピュータシステム10に組み込む。
【0021】
リンク確立処理は、スロット1を介して接続されている拡張カード20の図示しない送受信ポートとホスト・ブリッジ6の送受信ポートとの間で、PCI Express規格で定められている特定パケット(トレーニングやエレクトリカル・アイドル等)の交換を行うことで行われる。
【0022】
表示部8は、例えばLED(Light Emitting Diode)であり、接続診断部5による診断結果が不合格の場合、ホット・プラグ制御部2の制御によりエラー表示を行う。この場合、例えば、不合格の場合のみ点灯もしくは消灯させる。
【0023】
次に、本実施形態において、拡張カードが挿入されたときの診断手順を、図2〜3のフローチャートを用いて説明する。まず、スロット1に拡張カード10が挿入されると、スロット1の挿入検出部9が拡張カードの挿入を検出し、スロット1の挿入検出部9が拡張カードを検出したことを示すスロット・イベント信号をホット・プラグ制御部2へ送る(S1)。
【0024】
ホット・プラグ制御部2は、スロット1の挿入検出部9からスロット・イベント信号を受け取り、また、ホスト・ブリッジ6へのスロット・イベント信号の送信は行わずに待機させる(S2)。
【0025】
次に、ホット・プラグ制御部2は、拡張カード20の診断を行うためにスロット1の電源をONにする(S3)。
【0026】
また、ホット・プラグ制御部2は、受信制御部3と送信制御部4に診断処理中フラグを送る(S4、5)。
【0027】
受信制御部3は、ホット・プラグ制御部2から出力された診断処理中フラグを受け取り、接続診断部5と接続する経路を診断受信データ経路12に切り替える(S6)。
【0028】
送信制御部4は、ホット・プラグ制御部2から出力された診断処理中フラグを受け取り、接続診断部5と接続する経路を診断送信データ経路1に切り替える(S7)。
【0029】
次に、ホット・プラグ制御部2は、診断接続部5に診断開始指示を送る(S8)。
【0030】
診断接続部5は、ホット・プラグ制御部2から出力された診断開始指示を受け取り、スロット1を介して拡張カード20の診断を行う(S9)。診断は、接続診断部5により、スロット1を介して接続されている拡張カード20の図示しない送受信ポートと接続診断部5の送受信ポートとの間で、PCI Express規格で定められている特定パケット(トレーニングやエレクトリカル・アイドル等)の交換をすることにより行われる。
【0031】
診断終了後、接続診断部5は、ホット・プラグ制御部2に診断終了信号を送る(S10)。また、接続診断部5は、診断結果が合格の場合はリンクアップ信号を診断結果信号としてホット・プラグ制御部2に送り、診断結果が不合格の場合はリンクフェイル信号を診断結果信号としてホット・プラグ制御部2に送る(S11)。
【0032】
ホット・プラグ制御部2は、接続診断部5から診断終了信号と診断結果信号とを受け取り、診断結果が合格の場合、診断処理中フラグのクリアー指示を受信制御部3と送信制御部4に送る(S12、13)。
【0033】
受信制御部3は、ホット・プラグ制御部2から出力された診断処理中フラグのクリアー指示を受け取り、ホスト・ブリッジ6と接続する経路を通常受信データ経路11に切り替える(S14)。
【0034】
送信制御部4は、ホット・プラグ制御部2から出力された診断処理中フラグのクリアー指示を受け取り、ホスト・ブリッジ6と接続する経路を通常送信データ経路13に切り替える(S15)。
【0035】
診断結果が合格の場合、ホット・プラグ制御部2は、スロット1にスロット・リセット信号を送り(S16)、ホスト・ブリッジ6にステップS2で待機させていたスロット・イベント信号を送る(S17)。また、ステップS16のスロット・リセットにより、ホット・プラグ制御部2がスロット1の電源をOFFにする。
【0036】
ホスト・ブリッジ6は、ホット・プラグ制御部2から出力されたスロット・イベント信号を受け取り、CPU7に拡張カードが挿入されたことを知らせる割り込み信号を送る(S18)。
【0037】
次に、ホスト・ブリッジ6は、ホット・プラグ制御部2に、スロット電源をONにする指示を送る(S19)。
【0038】
また、ホット・プラグ制御部2は、ホスト・ブリッジ6から出力されたスロット電源をONにする指示を受け取り、スロット1の電源をONにする(S20)。
【0039】
さらに、ホット・プラグ制御部2は、スロット1に送信し続けていたスロット・リセット信号を解除する(S21)。
これにより、スロット1に挿入されている拡張カード20は、ホット・プラグ制御部2と、受信制御部3と送信制御部4を介してホスト・ブリッジ6に接続され、さらにホスト・ブリッジ6を介して接続されているCPU7からの制御によりリンク確立処理による初期化が行われる(S22)。リンク確立処理は、スロット1を介して接続されている拡張カード20の図示しない送受信ポートとホスト・ブリッジ6の送受信ポートとの間で、PCI Express規格で定められている特定パケット(トレーニングやエレクトリカル・アイドル等)の交換を行うことで行われる。
以上の手順による処理により、スロット1を解して挿入されている拡張カード20が
コンピュータシステム10への組み込み処理が完了する。
【0040】
以上、本発明によれば、拡張カードがコンピュータシステムに挿入された場合、ホット・プラグ・コントローラ(ホット・プラグ制御部)が、ホスト・ブリッジには接続せず診断用のバスに接続するように制御する。さらに、拡張カードが挿入された時、スロットの挿入検出部が拡張カードを検出して、ホット・プラグ・コントローラに通知信号を送信する。また、ホット・プラグ・コントローラは、受け取った通知信号をホスト・ブリッジおよびCPUに送信せずに待機させる。そして、診断部での拡張カードの診断結果が合格の場合のみ、ホスト・ブリッジおよびCPUに待機させていた通知信号を送信するようにした。これにより、診断結果が不合格の場合には、ホット・プラグ管理ソフトウェアの組み込み処理が開始されていないので、ホット・プラグ管理ソフトウェアによる隔離手続きを行わずに拡張カードの隔離を行うことが可能になった。
【0041】
また、本実施形態では、スロット1が1つの場合について説明したが、複数のスロットを備える場合にも同様の効果が得られる。複数のスロットを備える場合は、例えば、スロット毎に受信制御部3と送信制御部4を備える構成により実現できる。また、複数のスロットを備え、複数のスロットに同時に拡張カードが挿入された場合は、例えば接続診断部5とホスト・ブリッジ6およびホット・プラグ制御部2は、時分割処理により複数の拡張カードの診断と組み込みもしくは解除を行うようにしても良い。
【0042】
さらにまた、本実施形態では、接続診断部の診断結果が不合格の場合にLED等による表示部8に表示する例について説明したが、例えば二色LEDを用いて、合格と不合格の場合に異なる色に切り替えて表示するようにしても良い。
【0043】
さらにまた、本実施形態では、接続診断部の診断結果が不合格の場合にLED等による表示部8に表示する例について説明したが、例えばブザーによりエラーを知らせるようにしても良い。
【0044】
さらにまた、本実施形態では、拡張機器として拡張カードについて説明したが、拡張ボードの場合であっても同様の効果が得られる。
【0045】
なお、実施形態の図1の機能の全て、もしくは一部を、コンピュータシステムの図示しないCPUに接続されたROM、HDDもしくはUSB(Universal Serial Bus) I/Fを介して接続されるUSBメモリー等に保存されているプログラムにより実行することも可能である。
【符号の説明】
【0046】
1・・・スロット
2・・・ホット・プラグ制御部
3・・・受信制御部
4・・・送信制御部
5・・・接続診断部
6・・・ホスト・ブリッジ
7・・・CPU
8・・・表示部
9・・・挿入検出部
10・・・コンピュータシステム
20・・・拡張カード

【特許請求の範囲】
【請求項1】
主制御装置が、スロットに挿入され第1のバスに接続された拡張機器を利用して動作するコンピュータシステムにおいて、
前記拡張機器の診断を行う診断部と、
前記拡張機器を前記第1のバスに接続する制御を行う接続制御部と、
を備え、
前記接続制御部は、
前記拡張機器が前記スロットに挿入されたことを通知する通知信号を受信した後、前記拡張機器を、前記診断部が接続されかつ前記主制御装置が接続されていない第2のバスに接続し、前記診断部に前記拡張機器の診断を行わせ、
前記診断部による診断の結果、前記拡張機器が正常の場合は、前記拡張機器が前記スロットに挿入されたことを通知する通知信号を前記主制御装置へ送信し、前記通知信号への応答である前記主制御装置からのスロット電源投入信号に基づいて前記拡張機器に電源を供給して、前記拡張機器を前記第1のバスに接続し、
前記診断部による診断の結果、前記拡張機器が異常の場合は、前記拡張機器が前記スロットに挿入されたことを通知する通知信号を前記主制御装置へ送信しないように制御する
ことを特徴とするコンピュータシステム。
【請求項2】
前記拡張機器が前記スロットに挿入されたことを通知する通知信号を受信した後、前記主制御装置への前記通知信号の送信を、前記診断部で前記拡張機器が正常と診断されるまで待機させる
ことを特徴とする請求項1に記載のコンピュータシステム。
【請求項3】
前記拡張機器はPCIエクスプレス規格に準拠した機器である
ことを特徴とする請求項1または2のいずれか1項に記載のコンピュータシステム。
【請求項4】
スロットに挿入される拡張機器の診断を行う診断部と前記拡張機器を第1のバスに接続する制御を行う接続制御部とを備え、主制御装置が前記拡張機器を前期第1のバスに接続して利用するコンピュータシステムの活線抜差方法において、
前記スロットが、前記拡張機器が前記スロットに挿入されたことを通知する通知信号を送信する通知信号送信工程と、
前記接続制御部が、前記通知信号の前記主制御装置への送信を、前記診断部で前記拡張機器が正常と診断されるまで待機させる通知信号待機工程と、
前記通知信号を受信した後、前記接続制御部が、前記拡張機器を、前記診断部が接続されかつ前記主制御装置が接続されていない第2のバスに接続する接続工程と、
前記第2のバスを介して前記診断部が前記拡張機器の診断を行う診断工程と、
前記診断工程での診断の結果、前記拡張機器が正常の場合は、前記接続制御部が、前記通知信号待機工程で待機させていた前記通知信号を前記主制御装置へ送信する通知信号待機解除工程と、
前記通知信号待機解除工程により前記主制御装置へ前記通知信号が送信された後、前記接続制御部が、前記通知信号への応答である前記主制御装置からのスロット電源投入信号に基づいて前記拡張機器に電源を供給する電源供給工程と、
前記診断工程での診断の結果、前記拡張機器が異常の場合は、前記接続制御部が、前記通知信号待機工程で待機させていた前記通知信号を前記主制御装置へ送信しないように制御する通知信号制御工程と、
を備えることを特徴とするコンピュータシステムの活線抜差方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate