(57)【要約】【課題】ＰＣＩデバイスを増設する時期と、増設したＰＣＩデバイスをＯＳに認識させる時期を制御可能な計算機の制御方法を提供する。【解決手段】プロセッサとメモリとＰＣＩデバイスを接続するポートを備えて、前記ＰＣＩデバイスのホットプラグを制御するシステム制御部を備えた計算機であって、システム制御部は、ホットプラグのモードを設定するホットプラグモード記憶領域と、ＰＣＩデバイスがポートに追加されたことを検出するデバイス検出部と、を備え、システム制御部は、デバイス検出部がＰＣＩデバイスの追加を検出したときにホットプラグモード記憶領域の値が所定値であれば、ＰＣＩデバイスへ一時的に通電した後に、通電を遮断する。【選択図】図１
2013117930.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリとＰＣＩデバイスを接続するポートを備えて、前記ＰＣＩデバイスのホットプラグを制御するシステム制御部を備えた計算機であって、
前記システム制御部は、
前記ホットプラグのモードを設定するホットプラグモード記憶領域と、
前記ＰＣＩデバイスが前記ポートに追加されたことを検出するデバイス検出部と、を備え、
前記システム制御部は、前記デバイス検出部が前記ＰＣＩデバイスの追加を検出したときに前記ホットプラグモード記憶領域の値が所定値であれば、前記ＰＣＩデバイスへ一時的に通電した後に、通電を遮断することを特徴とする計算機。
【請求項２】
請求項１に記載の計算機であって、
前記計算機は、前記ＰＣＩデバイスが有効または無効の何れであるかを設定するデバイス管理部をさらに有し、
前記システム制御部は、
前記デバイス検出部が前記ＰＣＩデバイスの追加を検出したときに前記ホットプラグモード記憶領域の値が所定値であれば、前記デバイス管理部に当該ＰＣＩデバイスを無効に設定することを特徴とする計算機。
【請求項３】
請求項１に記載の計算機であって、
前記システム制御部は、
入力された値を受け付けて、前記ホットプラグモード記憶領域に格納することを特徴とする計算機。
【請求項４】
請求項１に記載の計算機であって、
前記プロセッサは、ＯＳを実行し、
前記システム制御部は、
前記デバイス検出部が前記ＰＣＩデバイスの追加を検出したときに前記ホットプラグモード記憶領域の値が所定値であれば、前記ＯＳに対して前記ＰＣＩデバイスの追加の通知を禁止することを特徴とする計算機。
【請求項５】
請求項２に記載の計算機であって、
前記プロセッサは、ＯＳを実行し、
前記システム制御部は、
入力された値を受け付けて、前記デバイス管理部で無効に設定されたＰＣＩデバイスを有効に更新したときには、前記追加されたＰＣＩデバイスに通電し、前記ＯＳに当該ＰＣＩデバイスを通知することを特徴とする計算機。
【請求項６】
請求項１に記載の計算機であって、
前記システム制御部は、
前記ホットプラグモード記憶領域の値が所定値であれば、前記追加したＰＣＩデバイスへ一時的に通電した後に、通電を遮断する第１のホットプラグモードに設定し、前記ホットプラグモード記憶領域の値が所定値以外であれば、前記ＰＣＩデバイスの追加と取り外しを行う第２のホットプラグモードに設定することを特徴とする計算機。
【請求項７】
プロセッサとメモリとＰＣＩデバイスを接続するポートと、システム制御部を備えた計算機で、前記システム制御部が前記ＰＣＩデバイスのホットプラグを制御する計算機の制御方法であって、
前記システム制御部が、前記ホットプラグのモードをホットプラグモード記憶領域に設定する第１のステップと、
前記システム制御部が、前記ＰＣＩデバイスが前記ポートに追加されたことを検出する第２のステップと、
前記システム制御部は、前記ＰＣＩデバイスの追加を検出したときに前記ホットプラグモード記憶領域の値が所定値であれば、前記ＰＣＩデバイスへ一時的に通電した後に、通電を遮断する第３のステップと、
を含むことを特徴とする計算機の制御方法。
【請求項８】
請求項７に記載の計算機の制御方法であって、
前記計算機は、前記ＰＣＩデバイスの有効または無効の何れかを設定するデバイス管理部をさらに有し、
前記第３のステップは、
前記ＰＣＩデバイスの追加を検出したときに前記ホットプラグモード記憶領域の値が所定値であれば、前記デバイス管理部に当該ＰＣＩデバイスを無効に設定することを特徴とする計算機の制御方法。
【請求項９】
請求項７に記載の計算機の制御方法であって、
前記第１のステップは、
前記システム制御部は、入力された値を受け付けて、前記ホットプラグモード記憶領域に格納することを特徴とする計算機の制御方法。
【請求項１０】
請求項７に記載の計算機の制御方法であって、
前記プロセッサは、ＯＳを実行し、
前記第３のステップは、
システム制御部は、前記ＰＣＩデバイスの追加を検出したときに前記ホットプラグモード記憶領域の値が所定値であれば、前記ＯＳに対して前記ＰＣＩデバイスの追加の通知を禁止することを特徴とする計算機の制御方法。
【請求項１１】
請求項８に記載の計算機の制御方法であって、
前記プロセッサは、ＯＳを実行し、
前記システム制御部が、入力された値を受け付けて、前記デバイス管理部で無効に設定されたＰＣＩデバイスを有効に更新する第４のステップをさらに含み、
前記第３のステップは、
前記追加されたＰＣＩデバイスが前記デバイス管理部で有効に設定されたときには、当該ＰＣＩデバイスに通電し、前記ＯＳに当該ＰＣＩデバイスを通知することを特徴とする計算機の制御方法。
【請求項１２】
請求項７に記載の計算機の制御方法であって、
前記システム制御部は、前記ホットプラグモード記憶領域の値が所定値であれば、前記追加したＰＣＩデバイスへ一時的に通電した後に、通電を遮断する第１のホットプラグモードに設定し、前記ホットプラグモード記憶領域の値が所定値以外であれば、前記ＰＣＩデバイスの追加と取り外しを行う第２のホットプラグモードに設定する第５のステップをさらに含むことを特徴とする計算機の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機に搭載されるＰＣＩデバイスの増設に関し、特に、計算機を稼働させた状態でＰＣＩデバイスを増設する方法に関する。
【背景技術】
【０００２】
近年、計算機におけるＩ／Ｏデバイスの拡張技術として、高速伝送のインターフェース規格であるＰＣＩ  Ｅｘｐｒｅｓｓを用いる計算機が主流となっている。ＰＣＩ  Ｅｘｐｒｅｓｓでは、従来のＰＣＩ規格と異なるシリアル信号伝送やＰｏｉｎｔ−Ｔｏ−Ｐｏｉｎｔの接続を実現している（例えば、非特許文献１）。ＰＣＩ  Ｅｘｐｒｅｓｓによる通信は、ボード間の通信やケーブルによる短距離の筐体間の通信が可能である。なお、以下では、ＰＣＩ  Ｅｘｐｒｅｓｓに準拠したＩ／ＯデバイスをＰＣＩデバイスとし、Ｉ／ＯカードをＰＣＩカードとし、Ｉ／ＯモジュールをＰＣＩモジュールとする。
【０００３】
計算機にＰＣＩデバイスを増設する場合において、ＰＣＩデバイスの増設方法は、計算機が停止時のＰＣＩデバイス増設方法と、計算機を稼働させたままのＰＣＩデバイス増設方法の二通りがある。計算機の停止時のＰＣＩデバイス増設方法では、稼働している計算機を停止させ、ＰＣＩデバイス増設後に計算機を稼働させる必要がある。
【０００４】
計算機の稼働中にＰＣＩデバイスを増設する方法では、ＰＣＩ  Ｈｏｔ  Ｐｌｕｇを用いた方法がある（例えば、非特許文献２、非特許文献３）。ＰＣＩ  Ｈｏｔ  Ｐｌｕｇを用いることで、計算機のＯｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ（以下、ＯＳ）が稼働している状態でＰＣＩデバイスを増設し、増設したＰＣＩデバイスをＯＳに認識させることが可能であり、計算機を停止することなく増設したＰＣＩデバイスの利用を実現している。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】PCI Express Base Specification Rev.2.1、第３５頁、第３７，３８頁、第９０，９１頁、第４８０頁、第４９５，４９６頁、第５２５〜５２７頁、[online]、PCISIG、[平成２３年１１月２日検索]、インターネット＜http://www.pcisig.com/specifications/pciexpress/base2/＞
【非特許文献２】PCI Hot Plug Specification Rev.1.1、第７頁、第１２頁、[online]、PCISIG、[平成２３年１１月２日検索]、インターネット＜http://www.pcisig.com/specifications/conventional/pci_hot_plug＞
【非特許文献３】PCI Standard Hot Plug Controller and Subsystem Specification Rev.1.0、第２６頁、[online]、PCISIG、[平成２３年１１月２日検索]、インターネット＜http://www.pcisig.com/specifications/conventional/pci_hot_plug/SHPC_10＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
常時稼働を求められる業務システムに使用する計算機の場合、計算機の停止時にＰＣＩデバイスを増設する方法では、計算機を停止してから、ＰＣＩデバイスの増設作業中は、計算機を起動できないため、業務システムを長期間稼働できない、という問題があった。
【０００７】
一方、前記従来例に示したＰＣＩ  Ｈｏｔ  Ｐｌｕｇを利用して、計算機の稼働中にＰＣＩデバイスを増設する方法では、ユーザ、もしくは保守員が稼働中の計算機にＰＣＩデバイスを増設すると、ＯＳは増設されたＰＣＩデバイスを認識してしまう。増設したＰＣＩデバイスの初期不良などでＰＣＩ  Ｅｘｐｒｅｓｓのリンクが不安定であった場合、増設したＰＣＩデバイスで間歇的なリンクの切断などの障害が発生する。ＯＳは前記障害を認識すると、稼働中の計算機を停止、もしくは再起動し、予期しない業務システムの停止を引き起こす可能性があった。
【０００８】
そこで本発明は、上記問題点に鑑みてなされたもので、ＰＣＩデバイスを増設する時期と、増設したＰＣＩデバイスをＯＳに認識させる時期を制御可能な計算機を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、プロセッサとメモリとＰＣＩデバイスを接続するポートを備えて、前記ＰＣＩデバイスのホットプラグを制御するシステム制御部を備えた計算機であって、前記システム制御部は、前記ホットプラグのモードを設定するホットプラグモード記憶領域と、前記ＰＣＩデバイスが前記ポートに追加されたことを検出するデバイス検出部と、を備え、前記システム制御部は、前記デバイス検出部が前記ＰＣＩデバイスの追加を検出したときに前記ホットプラグモード記憶領域の値が所定値であれば、前記ＰＣＩデバイスへ一時的に通電した後に、通電を遮断する。
【発明の効果】
【００１０】
したがって、本発明は、ＰＣＩデバイスの増設作業を計算機が稼動した状態で実施できるため、計算機の停止期間を短縮することができる。増設したＰＣＩデバイスに対して一時的に通電して電源が入るか否かをチェックする。その後、ＰＣＩデバイスの通電を遮断する。このため、計算機のＯＳには追加したＰＣＩデバイスを通知しない。従って、ＯＳは増設したＰＣＩデバイスを認識せず、増設したＰＣＩデバイスで間歇的な障害が発生することがないため、計算機の停止、もしくは再起動による予期しない業務システムの停止を回避することができる。そして、ＰＣＩデバイスを増設する時期と、増設したＰＣＩデバイスをＯＳに認識させる時期を制御することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態を示し、計算機の一例を示すブロック図である。
【図２】本発明の実施形態を示し、ＢＭＣが備えるＨｏｔ  Ｐｌｕｇモード記憶領域の設定値と、Ｈｏｔ  Ｐｌｕｇの動作モードの関係を示す図である。
【図３】本発明の実施形態を示し、ＢＭＣが備えるＰＣＩデバイス管理表の一例を示す図である。
【図４】本発明の実施形態を示し、ＵＥＦＩが備えるＰＣＩリンク期待値表の一例を示す図である。
【図５】本発明の実施形態を示し、Ｈｏｔ  Ｉｎｓｅｒｔモードを利用したＰＣＩデバイスの計算機稼働中の増設におけるタイムチャートの前半部である。
【図６】本発明の実施形態を示し、Ｈｏｔ  Ｉｎｓｅｒｔモードを利用したＰＣＩデバイスの計算機稼働中の増設におけるタイムチャートの中盤部である。
【図７】本発明の実施形態を示し、Ｈｏｔ  Ｉｎｓｅｒｔモードを利用したＰＣＩデバイスの計算機稼働中の増設におけるタイムチャートの後半部である。
【図８】本発明の実施形態を示し、計算機の稼働中にＰＣＩデバイスを増設する処理の一例を示すフローチャートの第１部である。
【図９】本発明の実施形態を示し、計算機の稼働中にＰＣＩデバイスを増設する処理の一例を示すフローチャートの第２部である。
【図１０】本発明の実施形態を示し、計算機の稼働中にＰＣＩデバイスを増設する処理の一例を示すフローチャートの第３部である。
【図１１】本発明の実施形態を示し、計算機の稼働中にＰＣＩデバイスを増設する処理の一例を示すフローチャートの第４部である。
【図１２】本発明の実施形態を示し、Ｈｏｔ  Ｉｎｓｅｒｔモードを利用したＰＣＩデバイスの増設後に計算機の再起動後に行われるＯＳの起動までの処理の一例を示すフローチャートの第１部である。
【図１３】本発明の実施形態を示し、Ｈｏｔ  Ｉｎｓｅｒｔモードを利用したＰＣＩデバイスの増設後に計算機の再起動後に行われるＯＳの起動までの処理の一例を示すフローチャートの第２部である。
【図１４】本発明の実施形態を示し、Ｈｏｔ  Ｉｎｓｅｒｔモードを利用したＰＣＩデバイスの増設後に計算機の再起動後に行われるＯＳの起動までの処理の一例を示すフローチャートの第３部である。
【図１５】本発明の実施形態を示し、Ｈｏｔ  Ｉｎｓｅｒｔモードを利用したＰＣＩデバイスの増設後に計算機の再起動後に行われるＯＳの起動までの処理の一例を示すフローチャートの第４部である。
【図１６】本発明の実施形態を示し、Ｈｏｔ  Ｓｗａｐモードを利用したＰＣＩデバイスの交換処理の一例を示すフローチャートの前半部である。
【図１７】本発明の実施形態を示し、Ｈｏｔ  Ｓｗａｐモードを利用したＰＣＩデバイスの交換処理の一例を示すフローチャートの中盤部である。
【図１８】本発明の実施形態を示し、Ｈｏｔ  Ｓｗａｐモードを利用したＰＣＩデバイスの交換処理の一例を示すフローチャートの後半部である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態を添付図面に基づいて説明する。
【００１３】
図１は、本発明の実施形態を示し、計算機を収容した計算機管理装置１００１の一例を示すブロック図である。
【００１４】
計算機管理装置１００１はＳｅｒｖｉｃｅ  Ｐｒｏｃｅｓｓｏｒ（以下、ＳＶＰ）１００３と計算機１００４を備えている。ＳＶＰ１００３は計算機１００４の電源状態や電圧、温度を監視して、計算機１００４を制御する機能を有する。ＳＶＰ１００３には、入出力装置を含むユーザコンソール１００２が接続され、計算機１００４への情報の入力と出力を行うことができる。
【００１５】
ユーザ、もしくは保守員がユーザコンソール１００２を操作して計算機１００４の電源をＯｎにすると、ＳＶＰ１００３がＢＭＣ（Baseboard Management Controller）１００５を経由してＵＥＦＩ（Unified Extensible Firmware Interface）１００８へ計算機１００４の電源Ｏｎを通知する。ＵＥＦＩ１００８は、不揮発性の記憶装置（フラッシュメモリやＲＯＭ等）に格納されておりＣＰＵ１０１０によって実行される。
【００１６】
計算機１００４は演算処理装置であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１０を備え、ＣＰＵ１０１０は計算機１００４の外部、もしくは内部に備える記憶装置１０１２のデータをメモリ１０１３に読み出して演算処理を実行し、演算処理結果を記憶装置１０１２に格納する。ＣＰＵ１０１０にはＩ／Ｏ  Ｈｕｂ１０１４が接続され、Ｉ／Ｏ  Ｈｕｂ１０１４はＰＣＩ  Ｅｘｐｒｅｓｓに準拠したＰｏｒｔ１０１７、１０１８を備える。また、Ｉ／Ｏ  Ｈｕｂ１０１４は、各Ｐｏｒｔ１０１７、１０１８に対してＬｉｎｋ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ１０１５、１０１６をそれぞれ備える。
【００１７】
Ｉ／Ｏ  Ｈｕｂ１０１４のＰｏｒｔ１０１７、１０１８にはそれぞれＰＣＩデバイス（＃０１）１０１９と、（＃０２）１０２０と、ＰＣＩデバイス（＃０１）１０１９、（＃０２）１０２０への通電を制御するＡｔｔｅｎｔｉｏｎボタン１０２３、１０２４が接続される。
【００１８】
また、ＰＣＩデバイス（＃０１）１０１９とＰＣＩデバイス（＃０２）１０２０は、それぞれＰＣＩ  Ｃｏｎｆｉｇ  Ｒｅｇｉｓｔｅｒ１０２１、１０２２を備える。Ｉ／Ｏ  Ｈｕｂ１０１４が備えるＬｉｎｋ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ１０１５、１０１６は、Ｐｏｒｔ１０１７、１０１８に対応するＰＣＩデバイス（＃０１）１０１９、（＃０２）１０２０の電源状態や、各Ｐｏｒｔ１０１７、１０１８とＰＣＩデバイス（＃０１）１０１９、（＃０２）１０２０間のリンク速度とリンク幅の状態を記録する。ＰＣＩデバイス（＃０１）１０１９、（＃０２）１０２０が備えるＰＣＩ  Ｃｏｎｆｉｇ  Ｒｅｇｉｓｔｅｒ１０２１、１０２２は、各ＰＣＩデバイス（＃０１）１０１９、＃０２  １０２０の固有情報であるベンダＩＤやデバイスＩＤの値を記憶している。
【００１９】
ＢＭＣ１００５は図示しない制御部と記憶部を含み、計算機１００４の障害情報をＳＶＰ１００３へ転送する機能や、計算機１００４の構成情報を管理する機能を有する。さらに、ＢＭＣ１００５はＨｏｔ  Ｐｌｕｇモード記憶領域１００６とＰＣＩデバイス管理表１００７の二つの記憶領域を前記記憶部に備えている。
【００２０】
ＢＭＣ１００５によって管理される計算機１００４のＨｏｔ  Ｐｌｕｇのモードは、計算機１００４の稼働中にＰＣＩデバイスを脱着するＨｏｔ  Ｓｗａｐモードと、計算機１００４の稼働中にＰＣＩデバイスを追加して動作を制御するＨｏｔ  Ｉｎｓｅｒｔモードの２つを含む。
【００２１】
このため、ＢＭＣ１００５のＨｏｔ  Ｐｌｕｇモード記憶領域１００６は、図２に示すように、Ｈｏｔ  ＳｗａｐモードとＨｏｔ  Ｉｎｓｅｒｔモードの二つのモードを記録する領域を備え、Ｈｏｔ  Ｐｌｕｇモード記憶領域１００６の設定値（１００６１）により前記二つのモード（１００６２）を切り替えることができる。
【００２２】
例えば、ＢＭＣ１００５が設定値０をＨｏｔ  Ｐｌｕｇモード記憶領域１００６に書き込んだ場合は、計算機１００４のＨｏｔ  Ｐｌｕｇモードは、Ｈｏｔ  Ｓｗａｐモードに設定される。一方、ＢＭＣ１００５が設定値１をＨｏｔ  Ｐｌｕｇモード記憶領域１００６に書き込んだ場合は、計算機１００４のＨｏｔ  Ｐｌｕｇモードは、Ｈｏｔ  Ｉｎｓｅｒｔモードとなる。なお、ＢＭＣ１００５のＨｏｔ  Ｐｌｕｇモード記憶領域１００６は、Ｐｏｒｔ毎（ＰＣＩデバイス毎）に設定するようにしてもよい。
【００２３】
ＢＭＣ１００５が管理するＰＣＩデバイス管理表１００７は、図３に示すように各ＰＣＩデバイス（＃０１）１０１９、（＃０２）１０２０に対して「有効」または「無効」の設定を記録する。ＰＣＩデバイス管理表１００７は、ＰＣＩデバイスの識別子を格納する管理対象ＰＣＩデバイス１００７１と、ＰＣＩデバイスの「有効」または「無効」を設定するＰＣＩデバイス設定１００７２からひとつのエントリが構成される。
【００２４】
例えば、図示のように、ＰＣＩデバイス（＃０１）１０１８を有効に設定し、ＰＣＩデバイス（＃０２）１０２０を無効に設定することができる。ユーザ、もしくは保守員がユーザコンソール１００２を操作して計算機１００４を電源Ｏｎにすると、ＵＥＦＩ１００８が実行されてＢＭＣ１００５へＰＣＩデバイス（＃０１）１０１９、ＰＣＩデバイス（＃０２）１０２０の設定情報（１００７２）が有効または無効の何れであるかを問い合わせる。
【００２５】
ＢＭＣ１００５はＰＣＩデバイス管理表１００７を参照し、ＵＥＦＩ１００８へＰＣＩデバイス（＃０１）１０１９は有効の設定で、ＰＣＩデバイス（＃０２）１０２０は無効の設定であることを通知する。
【００２６】
ＵＥＦＩ１００８はＰＣＩデバイス（＃０１）１０１９の電源をＯｎにして、ＰＣＩデバイス（＃０１）１０１９のリンクが確立しているか否かと、ＵＥＦＩ１００８のＰＣＩリンク期待値表１００９に予め設定されたリンク速度とリンク幅であるか否かをチェックする。このチェックは、後述するようにＵＥＦＩ１００８がＩ／Ｏ  Ｈｕｂ１０１４からＰｏｒｔ１０１７のリンク速度とリンク幅を読み込んで、ＰＣＩリンク期待値表１００９と比較すればよい。
【００２７】
ＰＣＩデバイス（＃０１）１０１９とＩ／Ｏ  Ｈｕｂ１０１４のリンクが確立し、ＵＥＦＩ１００８のＰＣＩリンク期待値表１００９に設定されたリンク速度とリンク幅である場合は、ＰＣＩデバイス（＃０１）１０１９の初期化を完了する。
【００２８】
ＵＥＦＩ１００８がＰＣＩデバイス（＃０１）１０１９の電源をＯｎにした後、リンクが確立していない、もしくはリンク速度、リンク幅が、ＵＥＦＩ１００８の設定値でなければ、ＵＥＦＩ１００８がＰＣＩデバイス（＃０１）１０１９をリカバリ処理する。リカバリ処理としては、ＵＥＦＩ１００８はリンク速度、もしくはリンク幅がＰＣＩリンク期待値表１００９の設定値と異なるＰＣＩデバイス（＃０１）１０１９に接続されるＰｏｒｔ１０１７のリセット、またはリンク速度、もしくはリンク幅がＰＣＩリンク期待値表１００９の値と異なるＰＣＩデバイス（＃０１）１０１９の電源をＯｆｆ（通電遮断）、Ｏｎ（通電）を行う。
【００２９】
ＰＣＩデバイス（＃０１）１０１９のリカバリ処理後、再度ＰＣＩデバイス（＃０１）１０１９のリンクが確立しているか否かと、ＰＣＩリンク期待値表１００９に設定されたリンク速度とリンク幅であるか否かをＵＥＦＩ１００８がチェックする。
【００３０】
一方、ＰＣＩデバイス管理表１００７において、ＰＣＩデバイス（＃０２）１０２０は無効の設定であるため、電源はＯｆｆのままＰＣＩデバイス（＃０２）１０２０の初期化を完了する。
【００３１】
ＰＣＩデバイス（＃０１）１０１９の電源をＯｎにし、ＰＣＩデバイス（＃０２）１０２０の電源はＯｆｆとなるため、電源を投入した計算機１００４で起動するＯＳ１０１１は、ＰＣＩデバイス（＃０１）１０１９を認識し、ＰＣＩデバイス（＃０２）１０２０を認識しない状態となる。
【００３２】
ＵＥＦＩ１００８は計算機１００４を制御するシステムファームウェア（またはＢＩＯＳ）としての機能を有し、ＵＥＦＩ１００８がＢＭＣ１００５を経由して計算機１００４の電源Ｏｎを検出すると、ＵＥＦＩ１００８が計算機１００４の初期化を開始する。なお、システムファームウェアは計算機１００４のハードウェアとＯＳ１０１１との間でＩ／Ｏを制御するシステム制御部またはシステム制御機能である。ＣＰＵ１０１０は、各機能部のプログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、ＣＰＵ１０１０は、ＵＥＦＩ１００８に従って動作することでシステム制御部として機能する。他のプログラムについても同様である。さらに、ＣＰＵ１０１０は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００３３】
ＵＥＦＩ１００８は、各ＰＣＩデバイス（＃０１）１０１９、（＃０２）１０２０の初期化時において、電源がＯｎとなっている各ＰＣＩデバイス（＃０１）１０１９、（＃０２）１０２０が備えるＰＣＩ  Ｃｏｎｆｉｇ  Ｒｅｇｉｓｔｅｒ１０２１、１０２２からベンダＩＤとデバイスＩＤを読み込み、図４に示すＰＣＩリンク期待値表１００９を参照し、各ＰＣＩデバイス（＃０１）１０１９、（＃０２）１０２０に設定されたリンク速度とリンク幅を読み取る。
【００３４】
図４において、ＰＣＩリンク期待値表１００９は、ベンダＩＤとデバイスＩＤを格納するベンダＩＤ／デバイスＩＤ１００９１と、リンク速度の期待値を格納するＰＣＩリンク速度の期待値１００９２と、リンク幅（レーン数）を格納するＰＣＩリンク幅の期待値１００９３とからひとつのエントリが構成される。
【００３５】
例えば、ＰＣＩデバイス（＃０１）１０１９のＰＣＩ  Ｃｏｎｆｉｇ  Ｒｅｇｉｓｔｅｒ１０２１のベンダＩＤがａａａａ、デバイスＩＤがｂｂｂｂである場合は、ＵＥＦＩ１００８がＰＣＩデバイス（＃０１）１０１９に設定されたリンク速度は、図４で示すように２．５Ｇｉｇａｂｉｔｓ／ｓｅｃｏｎｄ、リンク幅はｘ４Ｌａｎｅとなる。
【００３６】
また、ＰＣＩデバイス（＃０２）１０２０のＰＣＩ  Ｃｏｎｆｉｇ  Ｒｅｇｉｓｔｅｒ１０２２のベンダＩＤがｇｇｇｇ、デバイスＩＤがｈｈｈｈである場合は、ＵＥＦＩ１００８がＰＣＩデバイス（＃０２）１０２０に設定されたリンク速度は５．０Ｇｉｇａｂｉｔｓ／ｓｅｃｏｎｄ、リンク幅はｘ８Ｌａｎｅとなる。
【００３７】
ＵＥＦＩ１００８は各ＰＣＩデバイス（＃０１）１０１９、（＃０２）１０２０に接続されるＰｏｒｔ１０１７、１０１８に対応するＬｉｎｋ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ１０２１、１０２２を参照し、実際に各ＰＣＩデバイス（＃０１）１０１９、（＃０２）１０２０がリンクしているリンク速度とリンク幅を読み取り、実際に各ＰＣＩデバイス（＃０１）１０１９、（＃０２）１０２０がリンクしているリンク速度とリンク幅が、各ＰＣＩデバイス（＃０１）１０１９、（＃０２）１０２０に設定されたリンク速度とリンク幅と一致しているか否かを判定する。
【００３８】
ＢＭＣ１００５のＨｏｔ  Ｐｌｕｇモード記憶領域１００６とＰＣＩデバイス管理表１００７は、ＰＣＩデバイスのＨｏｔ  Ｐｌｕｇの動作モードやＰＣＩデバイスの有効または無効などの状態を管理するデバイス管理部として機能する。また、ＵＥＦＩ１００８のＰＣＩリンク期待値表１００９は、ＰＣＩデバイスの性能（リンク速度、リンク幅）を管理する性能管理部として機能する。なお、これらのデバイス管理部と性能管理部は、ＵＥＦＩ１００８またはＢＭＣ１００５の何れか一方に保持される構成であっても良い。
【００３９】
＜処理の概要＞
図５、図６、図７は、本発明に係るＨｏｔ  Ｉｎｓｅｒｔモードを利用してＰＣＩデバイスを計算機１００４の稼働中に増設する処理の概要を示すタイムチャートである。図５のＳ１０１から図６のＳ１１４までは、計算機１００４の稼働中におけるＨｏｔ  ＩｎｓｅｒｔモードによるＰＣＩデバイスの増設処理のタイムチャートを示し、図５のＳ１０１から図６のＳ１１４に該当する詳細な処理のフローチャートについては、図８、図９、図１０、図１１に示す。
【００４０】
図６のＯＳシャットダウン（Ｓ１１５）以降のＳ１１６から図７のＳ１２８までは、計算機１００４の停止後におけるＨｏｔ  Ｉｎｓｅｒｔモードにより、増設したＰＣＩデバイスをＯＳが認識するまでのタイムチャートを示し、Ｓ１１６から図７のＳ１２８に該当する詳細な処理のフローチャートについては、図１２、図１３、図１４、図１５に示す。
【００４１】
以下の説明では、計算機１００４の稼働中にＰｏｒｔ１０１７へＰＣＩデバイス（＃０１）１０１９を増設する例を示し、単にＰＣＩデバイスと表記する。
【００４２】
まず、ＳＶＰ１００３は、ユーザコンソール１００２から計算機１００４のＨｏｔ  Ｐｌｕｇの動作モードをＨｏｔ  Ｉｎｓｅｒｔモードに設定する入力を受け付けると、ＢＭＣ１００５にＨｏｔ  Ｉｎｓｅｒｔモードに設定されたことを通知する（Ｓ１０１）。ＢＭＣ１００５は、Ｈｏｔ  Ｐｌｕｇモード記憶領域１００６に「１」を設定する（Ｓ１０２）。
【００４３】
次に、図５の時刻Ｔ１〜Ｔ２の間で、保守員等が計算機１００４のＰｏｒｔ１０１７にＰＣＩデバイスを増設する（Ｓ１０３）。
【００４４】
ＵＥＦＩ１００８は、所定の周期などでＰｏｒｔ１０１７を監視しており、時刻Ｔ２以降でＰＣＩデバイスの増設を検出する（Ｓ１０４、デバイス検出部）。そして、保守員等が計算機１００４のＰｏｒｔ１０１７に対応するＡｔｔｅｎｔｉｏｎボタン１０２３を押したことをＵＥＦＩ１００８が検出すると（Ｓ１０５）、ＰＣＩデバイスの電源をＯｎにする（Ｓ１０６）。通電を開始したＰＣＩデバイスは、初期化を行ってＩ／Ｏ  Ｈｕｂ１０１４のＰｏｒｔ１０１７に接続（リンクアップ）する（Ｓ１０７）。
【００４５】
ＵＥＦＩ１００８は、ＰＣＩデバイスがリンクアップするとＩ／Ｏ  Ｈｕｂ１０１４のＰｏｒｔ１０１７のＬｉｎｋ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ１０１５を読み込んで、増設したＰＣＩデバイスとＰｏｒｔ１０１７のリンクが確立していることを判定する（Ｓ１０８）。次に、ＵＥＦＩ１００８は、ＢＭＣ１００５にＨｏｔ  Ｐｌｕｇモードを問い合わせる（Ｓ１０９）。ＢＭＣ１００５はＨｏｔ  Ｐｌｕｇモード記憶領域１００６の値を読み込んで、ＵＥＦＩ１００８に通知する（Ｓ１１０）。この場合、Ｈｏｔ  Ｐｌｕｇモード記憶領域１００６は「１」であるので、ＢＭＣ１００５は、Ｈｏｔ  ＩｎｓｅｒｔモードであることをＵＥＦＩ１００８に通知する。
【００４６】
図６において、ＵＥＦＩ１００８は、Ｈｏｔ  Ｉｎｓｅｒｔモードの通知を受信すると、増設されたＰＣＩデバイスを無効にする通知をＢＭＣ１００５に送信する（Ｓ１１１）。ＢＭＣ１００５は、増設されたＰＣＩデバイスの識別子と無効の情報を受け付けて、ＰＣＩデバイス管理表１００７に新たなエントリを追加して、識別子と無効の情報を格納する。この場合、図面３に示したＰＣＩデバイス管理表１００７の第１のエントリのＰＣＩデバイス設定１００７２は図示とは異なる「無効」に設定される。
【００４７】
次に、ＵＥＦＩ１００８は、無効に設定されたＰＣＩデバイスの電源をＯｆｆにする（Ｓ１１３）。これにより、増設されたＰＣＩデバイスは初期化とリンクアップを確認する一時的な通電状態の後に、通電の遮断によって停止する（Ｓ１１４）。なお、計算機１００４では、ＵＥＦＩ１００８がＰｏｒｔ１０１７、１０１８毎にＰＣＩデバイスへの電力供給を制御することができる。
【００４８】
以上のように、Ｈｏｔ  Ｉｎｓｅｒｔモードで増設されたＰＣＩデバイスは、ＵＥＦＩ１００８がリンクアップを検出した後に電源を遮断するため、計算機１００４で稼働中のＯＳ１０１１に検出されることがない。そして、ＢＭＣ１００５は、増設されたＰＣＩデバイスをＰＣＩデバイス管理表１００７に加えて無効の状態を保持する。
【００４９】
この後、時刻Ｔ３以降で、ユーザが計算機１００４のＯＳ１０１１をシャットダウンする（Ｓ１１５）。そして、ＯＳ１０１１及びＣＰＵ１０１０がシャットダウンした時刻Ｔ４以降に、ＳＶＰ１００３は、ユーザコンソール１００２から無効となっているＰＣＩデバイスを有効に変更する指令を受け付ける。ＳＶＰ１００３はＢＭＣ１００５に無効となっているＰＣＩデバイスを有効に変更するように通知する（Ｓ１１６）。ＢＭＣ１００５は、ＰＣＩデバイス管理表１００７のＰＣＩデバイス設定１００７２が無効のエントリを有効に変更する。なお、ＣＰＵ１０１０が停止している状態で、ＢＭＣ１００５は電源の供給を受けて所定の機能を提供している。
【００５０】
ＰＣＩデバイス管理表１００７が更新されると、時刻Ｔ５以降でＳＶＰ１００３はユーザコンソール１００２から計算機１００４の電源Ｏｎ（起動）を受け付ける（Ｓ１１８）。ＳＶＰ１００３は、ＢＭＣ１００５とＵＥＦＩ１００８に計算機１００４の電源Ｏｎを通知し、計算機１００４を起動させる（Ｓ１１９）。ＵＥＦＩ１００８は、所定の初期化処理を開始する（Ｓ１２０）。
【００５１】
ＵＥＦＩ１００８は、初期化が完了するとＢＭＣ１００５へＰＣＩデバイスの設定を問い合わせる（Ｓ１２１）。ＢＭＣ１００５は、ＰＣＩデバイス管理表１００７を参照して、ＰＣＩデバイス設定１００７２が有効のＰＣＩデバイス１００７１をＵＥＦＩ１００８へ通知する（Ｓ１２２）。この例では、増設されたＰＣＩデバイスが有効であることがＵＥＦＩ１００８に通知される。
【００５２】
ＵＥＦＩ１００８は、有効の通知を受け付けたＰＣＩデバイスの電源をＯｎにする（Ｓ１２３）。通電が開始されたＰＣＩデバイスでは上記ステップＳ１０７と同様に初期化とリンクアップが行われる（Ｓ１２４）。ＵＥＦＩ１００８は、リンクアップが完了すると、Ｉ／Ｏ  Ｈｕｂ１０１４のＰｏｒｔ１０１７のＬｉｎｋ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ１０１５を参照してリンク速度とリンク幅が、ＰＣＩリンク期待値表１００９の設定となっていることを判定する（Ｓ１２５）。リンク速度とリンク幅が、ＰＣＩリンク期待値表１００９の設定を満たしていれば、ＵＥＦＩ１００８は計算機１００４の初期化を完了して、ＯＳ１０１１を起動させる（Ｓ１２６）。
【００５３】
ＵＥＦＩ１００８はＰＣＩデバイス管理表１００７で有効となっているＰＣＩデバイスをＯＳ１０１１に通知し、ＯＳ１０１１は、通知されたＰＣＩデバイスを認識し（Ｓ１２７）、所定のドライバを読み込んで起動する（Ｓ１２８）。
【００５４】
このように、本発明のＨｏｔ  Ｉｎｓｅｒｔモードでは、稼働中の計算機１００４に増設したＰＣＩデバイスをＯＳ１０１１に認識させることを禁止する。このため、前記従来例のように、増設されたＰＣＩデバイスに初期不良などが存在する場合であっても、ＯＳ１０１１が不安定になることを防いで、業務の継続を保証できる。本発明のＨｏｔ  Ｉｎｓｅｒｔモードでは、増設されたＰＣＩデバイスに通電してリンクアップを確認した後に電源を遮断するので、新たなＰＣＩデバイスの通電、リンクアップといった基本的な機能が正常であるか否かを判定しながら、ＯＳ１０１１が新たなＰＣＩデバイスを認識するのを防ぐことができる。
【００５５】
＜処理の詳細＞
次に、計算機１００４及びＳＶＰ１００３で行われるＨｏｔ  Ｉｎｓｅｒｔモードの処理の詳細について、図８〜図１５のフローチャートに基づいて説明する。
【００５６】
まず、図８〜図１０は、図５のステップＳ１０１〜Ｓ１１４に対応するＨｏｔ  Ｉｎｓｅｒｔモードで行われる処理の詳細を示す。また、図１１は、Ｈｏｔ  Ｓｗａｐモードで行われるＰＣＩデバイスの増設処理の一例を示すフローチャートである。
【００５７】
まず、ステップＳ１０１では、ユーザ、もしくは保守員がユーザコンソール１００２を用いて計算機のＨｏｔ  Ｐｌｕｇの動作モードをＨｏｔ  Ｉｎｓｅｒｔモードに設定すると、計算機管理装置１００１内のＳＶＰ１００３は計算機１００４のＨｏｔ  Ｉｎｓｅｒｔ設定を受け付ける（図５のＳ１０１）。
【００５８】
ＳＶＰ１００３は計算機１００４のＨｏｔ  Ｉｎｓｅｒｔモードの設定を受け付けると、ＢＭＣ１００５へＨｏｔ  Ｉｎｓｅｒｔモードが有効になったことを通知する（Ｓ２０２）。
【００５９】
ステップＳ２０３では、ＢＭＣ１００５はＳＶＰ１００３からＨｏｔ  Ｉｎｓｅｒｔが有効になった通知を受けると、Ｈｏｔ  Ｐｌｕｇモード記憶領域１００６に設定値「１」を書き込み、Ｈｏｔ  Ｉｎｓｅｒｔモードを記録する（図５のＳ１０２）。
【００６０】
ステップＳ２０４で、ユーザ、もしくは保守員が計算機１００４にＰＣＩデバイスを増設すると、ＵＥＦＩ１００８はＰＣＩデバイスが計算機１００４に搭載されたことを検出する（図５のＳ１０４）。
【００６１】
ユーザ、もしくは保守員が、増設したＰＣＩデバイスに接続されるＰｏｒｔ１０１７に対応するＡｔｔｅｎｔｉｏｎボタン１０２３を押下すると、Ｐｏｒｔ１０１７のＩ／Ｏ  Ｈｕｂ１０１４はＡｔｔｅｎｔｉｏｎボタン１０２３の押下を検出し、ＡｔｔｅｎｔｉｏｎメッセージをＵＥＦＩ１００８へ通知する。ステップＳ２０５では、ＵＥＦＩ１００８がＡｔｔｅｎｔｉｏｎメッセージを受け付けて、ＰＣＩデバイスを接続したＰｏｒｔ１０１７に対応するＡｔｔｅｎｔｉｏｎボタン１０２３の押下を検出する（図５のＳ１０５）。
【００６２】
ステップＳ２０６でＵＥＦＩ１００８は、増設したＰＣＩデバイスの電源をＯｎにする（図５のＳ１０６）。
【００６３】
図９のステップＳ２０７では、増設したＰＣＩデバイスが初期化、リンクアップし、増設したＰＣＩデバイスと増設したＰＣＩデバイスに対応するＰｏｒｔ１０１７間のリンクが確立する（図５のＳ１０７）。
【００６４】
ステップＳ２０８でＵＥＦＩ１００８は、増設したＰＣＩデバイスのリンクの確立を確認するため、増設したＰＣＩデバイスに接続されたＰｏｒｔ１０１７に対応するＩ／Ｏ  Ｈｕｂ１０１４のＬｉｎｋ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ１０１５を参照し、増設したＰＣＩデバイスのリンクが確立していることをチェックする（図５の１０８、Ｓ２０８）。
【００６５】
ステップＳ２０９において、ＵＥＦＩ１００８は、増設したＰＣＩデバイスのリンクが確立しているか否かを判定する。リンクが確立していない場合は、ステップＳ２１０に進んで、ＵＥＦＩ１００８がリンクチェック対象のＰＣＩデバイスをリカバリ処理する。ステップＳ２１０では、リカバリ処理として、ＵＥＦＩ１００８はリンクチェック対象のＰＣＩデバイスに接続されるＰｏｒｔ１０１７のリセット、またはリンクチェック対象のＰＣＩデバイスの電源をＯｆｆにしてからＯｎに切り替える。その後、ステップＳ２０８の処理を繰り返す。
【００６６】
一方、リンクが確立している場合は、ステップＳ２１１に進んで、ＵＥＦＩ１００８がＢＭＣ１００５へＨｏｔ  Ｐｌｕｇ動作モードの設定を問い合わせる。ＢＭＣ１００５はＨｏｔ  Ｐｌｕｇモード記憶領域１００６を参照し、ＵＥＦＩ１００８へＨｏｔ  Ｉｎｓｅｒｔモードであることを通知する（図５のＳ１０９）。
【００６７】
ステップＳ２１２では、Ｈｏｔ  Ｐｌｕｇ動作モードがＨｏｔ  Ｉｎｓｅｒｔモードであるか否かをＵＥＦＩ１００８が判定する。Ｈｏｔ  Ｉｎｓｅｒｔモードであれば、図１０ステップＳ２１３へ進み、Ｈｏｔ  Ｓｗａｐモードであれば図１１のステップＳ２１６へ進む。
【００６８】
Ｈｏｔ  Ｐｌｕｇの動作モードがＨｏｔ  Ｉｎｓｅｒｔモードである場合は、図１０のステップＳ２１３で、増設したＰＣＩデバイスが無効であることをＵＥＦＩ１００８がＢＭＣ１００５に通知する（図５のＳ１１１）。
【００６９】
ＢＭＣ１００５は、ステップＳ２１４で、ＰＣＩデバイス管理表１００７に増設したＰＣＩデバイスのエントリを追加し、増設したＰＣＩデバイスの設定１００７２を無効として記録する（図５のＳ１１２）。
【００７０】
ステップＳ２１５ではＵＥＦＩ１００８が、増設したＰＣＩデバイスの電源をＯｆｆにする（図５のＳ１１４）。
【００７１】
図１０のＨｏｔ  Ｉｎｓｅｒｔモードでは、ＢＭＣ１００５がＰＣＩデバイス管理表１００７に増設したＰＣＩデバイスの設定を無効として記録する。そして、ＵＥＦＩ１００８は、増設したＰＣＩデバイスの電源をＯｆｆにして、ＯＳ１０１１へＰＣＩデバイスの追加を通知しないため、ＯＳ１０１１は増設したＰＣＩデバイスを認識しない。従って、前記従来例のように、増設したＰＣＩデバイスの初期不良などにより間歇的な障害が発生することがないため、計算機１００４の停止、もしくは再起動による予期しない業務システムの停止を回避することができる。また、ＰＣＩデバイスの増設時に計算機１００４を停止する必要がないため、前記従来例の計算機を停止させるＰＣＩデバイス増設方法よりも計算機の停止期間を短縮することができる。
【００７２】
次に、図９のステップＳ２１２でＨｏｔ  Ｐｌｕｇの動作モードがＨｏｔ  Ｓｗａｐの場合は、図１１の処理が計算機１００４で行われる。
【００７３】
まず、ステップＳ２１６で、ＵＥＦＩ１００８は、増設されたＰＣＩデバイスのＰＣＩ  Ｃｏｎｆｉｇ  Ｒｅｇｉｓｔｅｒ１０１５を参照してベンダＩＤとデバイスＩＤを取得する。ステップＳ２１７で、ＵＥＦＩ１００８は、増設されたＰＣＩデバイスのリンク速度とリンク幅がＰＣＩリンク期待値表１００９の値を満たすか否かを判定する。この判定は、ＵＥＦＩ１００８がベンダＩＤとデバイスＩＤでＰＣＩリンク期待値表１００９を検索し、リンク速度の期待値１００９２とリンク幅の期待値１００９３を取得する。そして、ＵＥＦＩ１００８はＩ／Ｏ  Ｈｕｂ１０１４のＬｉｎｋ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ１０１５からリンク速度とリンク幅を取得して、ＰＣＩリンク期待値表１００９の値を満たすか否かを判定する。増設されたＰＣＩデバイスのリンク速度とリンク幅が、ＰＣＩリンク期待値表１００９の値を満たしていない場合には、ステップＳ２１８へ進んで、ＵＥＦＩ１００８は、Ｐｏｒｔ１０１７のリセットやＰＣＩデバイスの電源のＯＮ／ＯＦＦ等によるリカバリを実施して、ステップＳ２１６に戻る。
【００７４】
増設されたＰＣＩデバイスのリンク速度とリンク幅が、ＰＣＩリンク期待値表１００９の値を満たす場合は、ステップＳ２１９へ進む。ステップＳ２１９ではＵＥＦＩ１００８が、ＯＳ１０１１にＰＣＩデバイスの追加を通知する。
【００７５】
ステップＳ２２０では、ＯＳ１０１１が増設されたＰＣＩデバイスを認識し、所定のドライバを読み込んでＰＣＩデバイスを機能させる。
【００７６】
このように、Ｈｏｔ  Ｐｌｕｇの動作モードがＨｏｔ  Ｓｗａｐの場合、増設されたＰＣＩデバイスは前記従来例のＨｏｔ  Ａｄｄと同様に計算機１００４で認識される。
【００７７】
図１２〜図１５はＨｏｔ  Ｉｎｓｅｒｔモードにおいて、計算機の稼働中にＰＣＩデバイスを増設した後に、計算機１００４のＯＳ１０１１が増設したＰＣＩデバイスを認識するまでの詳細なフローチャートを示す。
【００７８】
まず、図１２のステップＳ３０１では、ユーザが任意の時期に計算機１００４のＯＳ１０１１をシャットダウンし、ユーザ等がユーザコンソール１００２を用いて図６のＳ１１２で無効設定となっている増設されたＰＣＩデバイスを有効に設定する。図１２のステップＳ３０１で、ＳＶＰ１００３は、ＰＣＩデバイスの有効設定を受け付ける（図６のＳ１１６）。ＳＶＰ１００３は、増設されたＰＣＩデバイスの識別子と有効の設定をＢＭＣ１００５に通知する。
【００７９】
ステップＳ３０２では、ＢＭＣ１００５が有効に設定されたＰＣＩデバイスに対して、ＰＣＩデバイス管理表１００７のエントリを無効から有効に変更する（図６のＳ１１７）。
【００８０】
ステップＳ３０３では、ユーザがユーザコンソール１００２を用いて計算機１００４の電源Ｏｎを入力すると、ＳＶＰ１００３が計算機１００４の電源Ｏｎを受け付ける（図６のＳ１１８）。ステップＳ３０４では、ＳＶＰ１００３がＵＥＦＩ１００８へＢＭＣ１００５を経由して計算機１００４の電源Ｏｎを通知する（図６のＳ１１９）。ステップＳ３０５では、ＵＥＦＩ１００８が計算機１００４の電源ＯｎをＢＭＣ１００５から受け付ける。そして、ＵＥＦＩ１００８が計算機１００４の初期化を開始する（図６のＳ１２０）。
【００８１】
図１３のステップＳ３０６では、計算機１００４のＰＣＩデバイスの初期化時において、ＵＥＦＩ１００８がＢＭＣ１００５へＰＣＩデバイスの有効または無効の設定情報を問い合わせる（図７のＳ１２１）。ＢＭＣ１００５は、ＰＣＩデバイス管理表１００７を参照して、識別子１００７１とＰＣＩデバイス設定１００７２をＵＥＦＩ１００８へ通知する。
【００８２】
そして、ステップＳ３０７では、現在操作対象のＰＣＩデバイスが有効であるか否かを判定する。有効であればステップＳ３０８ヘ進み、無効であれば図１５のステップＳ３１５に進む。ステップＳ３１５で、ＰＣＩデバイスが無効設定である場合は、ＵＥＦＩ１００８が無効設定のＰＣＩデバイスの電源をＯｆｆのままにし、無効設定のＰＣＩデバイスの初期化を完了する。なお、操作対象のＰＣＩデバイスは、＃０１から順次実施するものとする。
【００８３】
Ｓ３０７において、ＰＣＩデバイスが有効設定である場合は、ステップＳ３０８でＵＥＦＩ１００８がＰＣＩデバイスの電源をＯｎにする（図７のＳ１２３）。次に、ステップＳ３０９では、ＵＥＦＩ１００８がＰＣＩデバイスの電源をＯｎにすると、給電されたＰＣＩデバイスが初期化、リンクアップし、給電されたＰＣＩデバイスと給電されたＰＣＩデバイスが接続されたＰｏｒｔ間のリンクが確立する（図７のＳ１２４）。
【００８４】
次に、図１４のステップＳ３１０では、ＵＥＦＩ１００８が給電されたＰＣＩデバイスのリンクが確立しているかを確認するため、給電されたＰＣＩデバイスに接続されるＰｏｒｔに対応するＩ／Ｏ  Ｈｕｂ１０１４のＬｉｎｋ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ（１０１５８、１０１６）を参照し、ＵＥＦＩ１００８が給電されたＰＣＩデバイスのリンクが確立されたことをチェックする（図７のＳ１２５）。
【００８５】
ステップＳ３１１において、ＵＥＦＩ１００８は現在操作対象のＰＣＩデバイスがＰｏｒｔとの間のリンクを確立したか否かを判定する。ＰＣＩデバイスのリンクが確立していない場合は、ステップＳ３１２でＵＥＦＩ１００８がチェック対象のＰＣＩデバイスをリカバリ処理する。リカバリ処理として、ＵＥＦＩ１００８はリンクチェック対象のＰＣＩデバイスに接続されるＰｏｒｔのリセット、またはリンクチェック対象のＰＣＩデバイスの電源Ｏｆｆ、Ｏｎを行う（図７のＳ３１２）。
【００８６】
Ｓ３１１において、給電されたＰＣＩデバイスのリンクが確立している場合は、ステップＳ３１３でＵＥＦＩ１００８が給電されたＰＣＩデバイスのＰＣＩ  Ｃｏｎｆｉｇ  Ｒｅｇｉｓｔｅｒ１０１５、１０１６のベンダＩＤとデバイスＩＤを読み、ＵＥＦＩ１００８がＰＣＩリンク期待値表１００９を参照し、給電されたＰＣＩデバイスのリンク速度とリンク幅の設定値を読み取る。
【００８７】
ステップＳ３１４では、ＵＥＦＩ１００８は給電されたＰＣＩデバイスに接続されるＰｏｒｔ１０１７、１０１８に対応するＩ／Ｏ  Ｈｕｂ１０１４のＬｉｎｋ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ１０１５、１０１６を参照し、実際に給電されたＰＣＩデバイスがリンクしているリンク速度とリンク幅を読み取り、実際にＰＣＩデバイスがリンクしているリンク速度とリンク幅が、ＰＣＩリンク期待値表１００９の値を満たしているか否かを判定する。なお、実際のリンク速度とリンク幅が、ＰＣＩリンク期待値表１００９の設定値以上であれば、ＰＣＩリンク期待値表１００９の値を満たすとする。
【００８８】
ステップＳ３１４において、給電されたＰＣＩデバイスのリンク速度、もしくはリンク幅がＵＥＦＩ１００８のＰＣＩリンク期待値表１００９の設定値を満たさない場合は、ステップＳ３１２でＵＥＦＩ１００８がチェック対象のＰＣＩデバイスをリカバリ処理する。リカバリ処理として、ＵＥＦＩ１００８はリンクチェック対象のＰＣＩデバイスに接続されるＰｏｒｔのリセット、またはリンクチェック対象のＰＣＩデバイスの電源Ｏｆｆ、Ｏｎを行う。
【００８９】
ステップＳ３１４において、給電されたＰＣＩデバイスのリンク速度とリンク幅がＵＥＦＩ１００８のＰＣＩリンク期待値表１００９の値を満たす場合は、図１５のステップＳ３１５に進んで当該ＰＣＩデバイスの初期化を完了し、ＵＥＦＩ１００８は未初期化のＰＣＩデバイスがあるか否かを判定する。
【００９０】
ステップＳ３１５において、未初期化のＰＣＩデバイスがある場合は、図１３のステップＳ３０６に戻って、ＵＥＦＩ１００８がＢＭＣ１００５へ未初期化のＰＣＩデバイスの有効／無効の設定情報を問い合わせる（Ｓ３０６）。
【００９１】
図１５のステップＳ３１５において、未初期化のＰＣＩデバイスがない場合は、ＵステップＳ３１６に進んで、ＵＥＦＩ１００８が計算機１００４の初期化を完了する（図７のＳ１２６）。
【００９２】
計算機１００４の初期化完了後は、ステップＳ３１７でＵＥＦＩ１００８がＯＳ１０１１をブートして、ＰＣＩデバイス管理表１００７で有効となっているＰＣＩデバイスをＯＳ１０１１に通知し、ＯＳ１０１１はこの通知に応じてリンクアップしているＰＣＩデバイスを全て認識する（図７のＳ１２７）。
【００９３】
ステップＳ３１８ではＯＳ１０１１がリンクアップしているＰＣＩデバイスを全て認識した後、ＯＳ１０１１の起動が完了する（図７のＳ１２８）。
【００９４】
以上の処理により、図１２のステップＳ３０２において、ＢＭＣ１００５がＰＣＩデバイス管理表１００７のエントリを無効から有効に変更してＰＣＩデバイス管理表１００７を更新し、ＵＥＦＩ１００８が計算機１００４の電源Ｏｎを受け付けて計算機１００４の初期化を行う。この初期化の期間で、ＵＥＦＩ１００８がＰＣＩデバイス管理表１００７のエントリを無効から有効に変更したＰＣＩデバイスの電源をＯｎにする。そして、ＵＥＦＩ１００８は有効に変更されたＰＣＩデバイスをＯＳ１０１１に通知する。従って、計算機１００４のＯＳ１０１１は、ＰＣＩデバイス管理表１００７のエントリで有効設定となっているＰＣＩデバイスを認識できる。
【００９５】
以上の処理によって、Ｈｏｔ  Ｉｎｓｅｒｔモードを利用して計算機１００４の稼働中にＰＣＩデバイスを増設しておき、ユーザまたは保守員の都合の良いときにＰＣＩデバイス管理表１００７のＰＣＩデバイス設定１００７２を無効から有効に変更することで、ＯＳ１０１１に増設したＰＣＩデバイスを認識させることができる。そして、Ｈｏｔ  ＩｎｓｅｒｔモードでＰＣＩデバイスを増設すると、ＵＥＦＩ１００８は当該ＰＣＩデバイスを無効に設定してＢＭＣ１００５のＰＣＩデバイス管理表１００７を更新し、ＰＣＩデバイスの電源を遮断することで、ＯＳ１０１１が当該デバイスを認識するのを禁止する。したがって、増設したＰＣＩデバイスに初期不良が存在したとしても、計算機１００４で稼働しているＯＳ１０１１は不安定になることはなく、業務を安定して継続できるのである。
【００９６】
また、Ｈｏｔ  Ｉｎｓｅｒｔモードで計算機１００４の稼働中にＰＣＩデバイスを増設する際には、一時的にＰＣＩデバイスに通電してリンクアップを確認できる。これにより、ユーザや保守員は増設したＰＣＩデバイスに重大な不良がないことを確認できる。
【００９７】
なお、上記実施形態では、図９のステップＳ２０９，Ｓ２１０のループ処理を制限しない例を示したが、リカバリの回数が所定値を超えると、ＵＥＦＩ１００８がＰＣＩデバイスの電源をＯｆｆにしてＳＶＰ１００３を介してユーザコンソール１００２へリンクアップできない旨の通知を行うようにしても良い。
【００９８】
次に、図１６〜図１８は従来例と同様のＨｏｔ  Ｐｌｕｇの動作モードであるＨｏｔ  Ｓｗａｐモードで、計算機に搭載しているＰＣＩデバイスに障害が発生した場合における、計算機１００４の稼働中ＰＣＩデバイスを交換する処理のフローチャートを示す。
【００９９】
計算機１００４の稼働中において、Ｈｏｔ  Ｓｗａｐモードを利用したＰＣＩデバイスの交換／増設によりＰＣＩデバイスの電源をＯｎにする場合は、計算機１００４へＰＣＩデバイスを増設した後に、Ａｔｔｅｎｔｉｏｎボタン１０２３、１０２４を押下する。Ａｔｔｅｎｔｉｏｎボタン１０２３、１０２４の押下を契機にＡｔｔｅｎｔｉｏｎボタンに接続されるＰｏｒｔ１０１７、１０１８がＡｔｔｅｎｔｉｏｎメッセージをＵＥＦＩ１００８へ通知する。ＵＥＦＩ１００８は通知を受け付けてＡｔｔｅｎｔｉｏｎボタンの押下を検出し、増設したＰＣＩデバイスの電源をＯｎにする。
【０１００】
なお、ＰＣＩデバイスの電源は各Ｐｏｒｔ毎に制御される。例えば、図１、図３に示すように、Ｐｏｒｔ１０１７に接続されるＰＣＩデバイス（＃０１）１０１９が有効設定である場合において、ＰＣＩデバイス（＃０１）１０１９を計算機１００４に増設し、Ａｔｔｅｎｔｉｏｎボタン１０２３を押下すると、ＰＣＩデバイス（＃０１）１０１９の電源をＯｎにできる。
【０１０１】
以下、図１６〜図１８を参照して説明する。
【０１０２】
まず、ユーザ、もしくは保守員がユーザコンソール１００２を操作して計算機のＨｏｔ  Ｐｌｕｇの動作モードをＨｏｔ  Ｓｗａｐモードに設定する。
【０１０３】
図１６のステップＳ４０１では、計算機管理装置１００１内のＳＶＰ１００３がＨｏｔ  Ｓｗａｐモードの設定をユーザコンソール１００２から受け付ける。
【０１０４】
ＳＶＰ１００３がＨｏｔ  Ｓｗａｐモードの設定を受けて、ＢＭＣ１００５へＨｏｔ  Ｉｎｓｅｒｔモードが無効であることを通知する（Ｓ４０２）。
【０１０５】
ＢＭＣ１００５はＳＶＰ１００３からＨｏｔ  Ｉｎｓｅｒｔモード無効の通知を受けて、Ｈｏｔ  Ｐｌｕｇモード記憶領域に設定値０を書き込み、Ｈｏｔ  Ｓｗａｐモードを記録する（Ｓ４０３）。
【０１０６】
ユーザ、もしくは保守員が計算機１００４のＯＳ１０１１を操作し、障害が発生したＰＣＩデバイスの取り外しを実行すると、ＯＳ１０１１は障害が発生したＰＣＩデバイスの取り外し契機を検出する（Ｓ４０４）。なお、ＰＣＩデバイスの障害の検知は、周知又は公知の技術を利用すればよい。
【０１０７】
ＯＳ１０１１は障害が発生したＰＣＩデバイスの取り外しの契機を検出後、ＯＳ１０１１がＵＥＦＩ１００８へ障害が発生したＰＣＩデバイスの取り外し（Ｈｏｔ  Ｒｅｍｏｖｅ）を通知する（Ｓ４０５）。
【０１０８】
ＵＥＦＩ１００８は障害が発生したＰＣＩデバイスの取り外し契機を受けて、障害が発生したＰＣＩデバイスへの電源をＯｆｆにする（Ｓ４０６）。
【０１０９】
ユーザ、もしくは保守員が、障害が発生したＰＣＩデバイスを取り外すと、ＵＥＦＩ１００８は障害が発生したＰＣＩデバイスの抜去を検出する（図１７のＳ４０７）。
【０１１０】
ユーザ、もしくは保守員は障害が発生したＰＣＩデバイスとは別のＰＣＩデバイスに交換して、新たなＰＣＩデバイスをＰｏｒｔ１０１７、１０１８に接続すると、ＵＥＦＩ１００８がＰＣＩデバイスの搭載を検出する（Ｓ４０８）。
【０１１１】
ユーザ、もしくは保守員が搭載したＰＣＩデバイスに接続されるＰｏｒｔ１０１７、１０１８に対応するＡｔｔｅｎｔｉｏｎボタン１０２３、１０２４を押下すると、Ａｔｔｅｎｔｉｏｎボタン１０２３、１０２４に接続されたＰｏｒｔ１０１７、１０１８がＡｔｔｅｎｔｉｏｎボタンの押下を検出する。Ｐｏｒｔ１０１７、１０１８がＵＥＦＩ１００８へＡｔｔｅｎｔｉｏｎメッセージを通知し、ＵＥＦＩ１００８がＡｔｔｅｎｔｉｏｎボタンの押下を検出する（Ｓ４０９）。
【０１１２】
ＵＥＦＩ１００８がＡｔｔｅｎｔｉｏｎボタン押下を検出すると、ＵＥＦＩ１００８は、搭載したＰＣＩデバイスの電源をＯｎにする（Ｓ４１０）。搭載したＰＣＩデバイスの電源をＯｎにした後、ＰＣＩデバイスは初期化、リンクアップする（Ｓ４１１）。
【０１１３】
ＵＥＦＩ１００８は、搭載したＰＣＩデバイスのリンクの確立をチェックするため、搭載したＰＣＩデバイスに接続されるＰｏｒｔ１０１７、１０１８に対応するＩ／Ｏ  Ｈｕｂ１０１４のＬｉｎｋ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ１０１５、１０１６を参照し、搭載したＰＣＩデバイスのリンクが確立しているか否かを判定する（Ｓ４１２）。
【０１１４】
ステップＳ４１３において、搭載したＰＣＩデバイスのリンクが確立していない場合は、ステップＳ４１４でＵＥＦＩ１００８がリンクチェック対象のＰＣＩデバイスをリカバリ処理する。リカバリ処理として、ＵＥＦＩ１００８はリンクチェック対象のＰＣＩデバイスに接続されるＰｏｒｔのリセット、またはリンクチェック対象のＰＣＩデバイスの電源のＯｆｆ、Ｏｎを行う。
【０１１５】
ステップＳ４１３において、搭載したＰＣＩデバイスのリンクが確立している場合は、ＵＥＦＩ１００８が搭載したＰＣＩデバイスのＰＣＩ  Ｃｏｎｆｉｇ  Ｒｅｇｉｓｔｅｒ１０２１、１０２２のベンダＩＤとデバイスＩＤを読み込む。また、ＵＥＦＩ１００８は、ＰＣＩリンク期待値表１００９を参照し、搭載したＰＣＩデバイスのリンク速度とリンク幅の設定値を読み込む（Ｓ４１５）。
【０１１６】
ＵＥＦＩ１００８は、搭載したＰＣＩデバイスに対応するＩ／Ｏ  Ｈｕｂ１０１４のＬｉｎｋ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ１０１５、１０１６を参照し、搭載したＰＣＩデバイスが実際にリンクしているリンク速度とリンク幅を読み込む。ＵＥＦＩ１００８は搭載したＰＣＩデバイスが実際にリンクしているリンク速度とリンク幅が、搭載したＰＣＩデバイスに対してＰＣＩリンク期待値表１００９で設定されたリンク速度とリンク幅を満たしているか否かを判定する（Ｓ４１６）。
【０１１７】
ステップＳ４１６において、搭載したＰＣＩデバイスのリンク速度、もしくはリンク幅がＵＥＦＩ１００８の設定値を満たしていない場合は、ＵＥＦＩ１００８がリンクチェック対象のＰＣＩデバイスをリカバリ処理する。リカバリ処理として、ＵＥＦＩ１００８はリンクチェック対象のＰＣＩデバイスに接続されるＰｏｒｔのリセット、またはリンクチェック対象のＰＣＩデバイスの電源のＯｆｆ、Ｏｎを行う（Ｓ４１４）。
【０１１８】
ステップＳ４１６において、ＰＣＩデバイスのリンク速度とリンク幅が設定値を満たしている場合は、ＵＥＦＩ１００８がＯＳ１０１１へＰＣＩデバイスの追加を通知する（Ｓ４１７）。
【０１１９】
ステップＳ４１７において、ＵＥＦＩ１００８がＯＳ１０１１へ搭載したＰＣＩデバイスの追加を通知すると、ＯＳ１０１１が搭載したＰＣＩデバイスを認識し、搭載したＰＣＩデバイスが使用可能となる（Ｓ４１８）。
【０１２０】
ステップＳ４１８により、交換／増設したＰＣＩデバイスをＯＳ１０１１が認識し、交換／増設したＰＣＩデバイスを使用することができる。
【０１２１】
以上のように、Ｈｏｔ  Ｓｗａｐモードでは、障害の発生したＰＣＩデバイスの電源をＯｆｆにしてからＰｏｒｔから取り外し、新たなＰＣＩデバイスをＰｏｒｔに接続した後に電源をＯｎにする。ＵＥＦＩ１００８は、取り外し時と新たなＰＣＩデバイスの接続時にそれぞれＯＳ１０１１へ通知を行うことで、ＯＳ１０１１は交換するＰＣＩデバイスを円滑に認識することができる。
【０１２２】
本発明の計算機１００４では、Ｈｏｔ  Ｐｌｕｇのモードとして、Ｈｏｔ  ＩｎｓｅｒｔモードとＨｏｔ  Ｓｗａｐモードの２つを備えることにより、至急ＯＳ１０１１に認識させる必要のないＰＣＩデバイスの増設をＨｏｔ  Ｉｎｓｅｒｔモードで実施し、障害などで至急ＯＳ１０１１に認識させる必要のあるＰＣＩデバイスの交換をＨｏｔ  Ｓｗａｐモードで実施することが可能となる。
【０１２３】
そして、Ｈｏｔ  Ｉｎｓｅｒｔモードでは、ＰＣＩデバイスを増設した後、所望のタイミングでＯＳ１０１１に増設したＰＣＩデバイスを認識させることができる。これにより、Ｈｏｔ  Ｉｎｓｅｒｔモードでは、増設したＰＣＩデバイスを無効化してＯＳ１０１１への通知を禁止するため、計算機１００４が提供する業務に影響を与えることなく新たなＰＣＩデバイスを追加し、所望の時期にＯＳ１０１１に認識させることが可能となる。例えば、保守員が昼間にＨｏｔ  ＩｎｓｅｒｔモードでＰＣＩデバイスを計算機１００４に増設しておき、夜間にユーザが業務を停止してから増設したＰＣＩデバイスをＯＳ１０１１に認識させることができる。
【０１２４】
なお、上記実施形態では、Ｈｏｔ  Ｉｎｓｅｒｔモードで増設したＰＣＩデバイスを、計算機１００４のＯＳ１０１１を再起動させた後に認識させる例を示したが、ＯＳ１０１１を再起動することなく、ＳＶＰ１００３から増設したＰＣＩデバイスを有効に設定することで、ＯＳ１０１１を稼働させたまま、所望のタイミングで増設したＰＣＩデバイスを認識させても良い。
【０１２５】
また、上記実施形態では、ＳＶＰ１００３がＢＭＣ１００５と通信する例を示したが、ＳＶＰ１００３に代わって外部の計算機がＢＭＣ１００５と通信し、Ｈｏｔ  Ｐｌｕｇのモードと、ＰＣＩデバイスの有効または無効を設定するようにしても良い。
【０１２６】
また、上記実施形態では、ＵＥＦＩ１００８がＨｏｔ  Ｐｌｕｇの機能を提供する例を示したが、計算機１００４のハードウェアを制御するＢＩＯＳ等のシステム制御部またはシステム制御機能がＨｏｔ  Ｐｌｕｇの機能を提供する場合も本発明を適用することができる。なお、システム制御部は、計算機１００４のハードウェアとＯＳ１０１１との間でＩ／Ｏを制御する機能部であればよい。また、システム制御部には、ＢＭＣ１００５を含めるようにしても良い。
【０１２７】
また、上記実施形態では、ＢＭＣ１００５がＨｏｔ  ＰｌｕｇのモードとＰＣＩデバイスの有効または無効を管理する例を示したが、上記システム制御部または外部の計算機がＨｏｔ  ＰｌｕｇのモードとＰＣＩデバイスの有効または無効を管理するデバイス管理部を備えていても良い。
【０１２８】
また、上記実施形態では、ＵＥＦＩ１００８がＰＣＩデバイスのリンク速度とリンク幅の設定値または基準値を保持する例を示したが、上記システム制御部またはシステム制御機能が保持しても良い。
【符号の説明】
【０１２９】
１００３  ＳＶＰ
１００４  計算機
１００５  ＢＭＣ
１００８  ＵＥＦＩ
１０１０  ＣＰＵ
１０１１  ＯＳ
１０１３  メモリ
１０１４  Ｉ／Ｏ  Ｈｕｂ
１０１７、１０１８  Ｐｏｒｔ
１０１９、１０２０  ＰＣＩデバイス
【図１】
2013117930.tif 000003
【図２】
2013117930.tif 000004
【図３】
2013117930.tif 000005
【図４】
2013117930.tif 000006
【図５】
2013117930.tif 000007
【図６】
2013117930.tif 000008
【図７】
2013117930.tif 000009
【図８】
2013117930.tif 000010
【図９】
2013117930.tif 000011
【図１０】
2013117930.tif 000012
【図１１】
2013117930.tif 000013
【図１２】
2013117930.tif 000014
【図１３】
2013117930.tif 000015
【図１４】
2013117930.tif 000016
【図１５】
2013117930.tif 000017
【図１６】
2013117930.tif 000018
【図１７】
2013117930.tif 000019
【図１８】
2013117930.tif 000020