特許第6241323号(P6241323)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許6241323スイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
<>
  • 特許6241323-スイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム 図000002
  • 特許6241323-スイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム 図000003
  • 特許6241323-スイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム 図000004
  • 特許6241323-スイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム 図000005
  • 特許6241323-スイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム 図000006
  • 特許6241323-スイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム 図000007
  • 特許6241323-スイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム 図000008
  • 特許6241323-スイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム 図000009
  • 特許6241323-スイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム 図000010
  • 特許6241323-スイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム 図000011
  • 特許6241323-スイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム 図000012
  • 特許6241323-スイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6241323
(24)【登録日】2017年11月17日
(45)【発行日】2017年12月6日
(54)【発明の名称】スイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
(51)【国際特許分類】
   G06F 13/14 20060101AFI20171127BHJP
   G06F 13/00 20060101ALI20171127BHJP
   G06F 11/22 20060101ALI20171127BHJP
【FI】
   G06F13/14 310D
   G06F13/00 301T
   G06F11/22 621
【請求項の数】13
【全頁数】27
(21)【出願番号】特願2014-43584(P2014-43584)
(22)【出願日】2014年3月6日
(65)【公開番号】特開2015-170070(P2015-170070A)
(43)【公開日】2015年9月28日
【審査請求日】2016年11月2日
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100072718
【弁理士】
【氏名又は名称】古谷 史旺
(74)【代理人】
【識別番号】100151002
【弁理士】
【氏名又は名称】大橋 剛之
(74)【代理人】
【識別番号】100201673
【弁理士】
【氏名又は名称】河田 良夫
(72)【発明者】
【氏名】三吉 貴史
【審査官】 田中 啓介
(56)【参考文献】
【文献】 国際公開第2008/126471(WO,A1)
【文献】 特開昭52−048944(JP,A)
【文献】 特開2011−170691(JP,A)
【文献】 特開2011−192216(JP,A)
【文献】 特開2007−034864(JP,A)
【文献】 特開2009−175913(JP,A)
【文献】 特開平07−306813(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F11/22−11/277
G06F13/00−13/14
G06F13/38−13/42
(57)【特許請求の範囲】
【請求項1】
演算を実行する演算処理装置と前記演算処理装置を制御する制御装置とを、情報を入出力する入出力装置に接続するスイッチ装置において、
前記演算処理装置と前記制御装置とのいずれかを前記入出力装置に接続するスイッチ部と、
前記演算処理装置から受ける第1のコマンドを、前記スイッチ部を介して前記入出力装置に出力し、前記第1のコマンドに基づいて動作する前記入出力装置の応答を、前記スイッチ部を介して受け、受けた応答を前記演算処理装置に出力する第1の入出力制御部と、
前記制御装置から受ける第2のコマンドを、前記スイッチ部を介して前記入出力装置に出力し、前記第2のコマンドに基づいて試験される前記入出力装置の試験結果を、前記スイッチ部を介して受け、受けた試験結果を前記制御装置に出力する第2の入出力制御部を有し、
前記第1の入出力制御部は、前記第1のコマンドに含まれるデータの転送量を積算する積算部を有し、
前記第2の入出力制御部は、前記積算部で積算された前記転送量から求められる前記転送量の平均値を、前記制御装置からアクセス可能に保持する保持部を有し、前記制御装置が前記保持部に保持された前記転送量の平均値が所定の閾値以下であることに基づいて出力する前記第2のコマンドを受信することを特徴とするスイッチ装置。
【請求項2】
前記第2の入出力制御部は、前記第2のコマンドの出力から前記試験結果の受信までの期間、前記第1の入出力制御部にビジー信号を出力し、
前記第1の入出力制御部は、前記ビジー信号の受信中に前記第1のコマンドの前記スイッチ部への出力を禁止することを特徴とする請求項1記載のスイッチ装置。
【請求項3】
前記第1のコマンドが前記入出力装置の割り当てを指示する割り当てコマンドであることを判定する判定部と、
前記判定部が前記割り当てコマンドを判定した場合に、前記第1の入出力制御部と前記第2の入出力制御部とを接続し、前記演算処理装置から前記スイッチ部に出力される前記割り当てコマンドを前記第2の入出力制御部に転送する転送部を有することを特徴とする請求項1または請求項2記載のスイッチ装置。
【請求項4】
前記第2の入出力制御部の宛先を示す宛先情報を記憶する記憶部と、
前記入出力装置からの応答に含まれる宛先が前記記憶部に記憶した宛先情報であることを検出する検出部を有し、
前記スイッチ部は、前記入出力装置からの応答に前記記憶部に記憶した宛先情報を含むことが前記検出部により検出された場合、前記入出力装置と前記第2の入出力制御部とを接続し、前記入出力装置からの応答を前記第2の入出力制御部に伝達することを特徴とする請求項1ないし請求項3のいずれか1項記載のスイッチ装置。
【請求項5】
演算を実行する演算処理装置と、
前記演算処理装置を制御する制御装置と、
情報を入出力する入出力装置と、
前記演算処理装置と前記制御装置とを、前記入出力装置に接続するスイッチ装置を有する情報処理装置において、
前記スイッチ装置は、
前記演算処理装置と前記制御装置とのいずれかを前記入出力装置に接続するスイッチ部と、
前記演算処理装置から受ける第1のコマンドを、前記スイッチ部を介して前記入出力装置に出力し、前記第1のコマンドに基づいて動作する前記入出力装置の応答を、前記スイッチ部を介して受け、受けた応答を前記演算処理装置に出力する第1の入出力制御部と、
前記制御装置から受ける第2のコマンドを、前記スイッチ部を介して前記入出力装置に出力し、前記第2のコマンドに基づいて試験される前記入出力装置の試験結果を、前記スイッチ部を介して受け、受けた試験結果を前記制御装置に出力する第2の入出力制御部を有し、
前記制御装置は、
前記演算処理装置と前記入出力装置との間で転送されるデータの転送量を監視し、
前記転送量の平均値が所定の閾値以下の場合、前記スイッチ部を介して、前記入出力装置の試験を起動する試験コマンドを前記第2のコマンドとして前記入出力装置に出力することを特徴とする情報処理装置。
【請求項6】
前記第1の入出力制御部は、前記第1のコマンドに含まれるデータの転送量を積算する積算部を有し、
前記第2の入出力制御部は、前記積算部に積算された前記転送量から求められる前記転送量の平均値を、前記制御装置からアクセス可能に保持する保持部を有し、
前記制御装置は、前記保持部に保持された前記転送量の平均値が所定の閾値以下の場合、前記試験コマンドを前記第2の入出力制御部に出力することを特徴とする請求項5記載の情報処理装置。
【請求項7】
前記制御装置は、前記入出力装置が試験を実行中に、前記保持部に保持された前記転送量の平均値が前記閾値を超えた場合、試験を停止させる停止コマンドを前記第2のコマンドとして前記第2の入出力制御部に出力することを特徴とする請求項6記載の情報処理装置。
【請求項8】
前記制御装置は、
前記試験コマンドを出力する前に、前記入出力装置に設定された情報を読み出す読み出しコマンドを前記第2のコマンドとして前記第2の入出力制御部に出力し、
前記第2の入出力制御部を介して前記入出力装置からの情報を前記試験結果として読み出せた場合、前記試験コマンドを前記第2の入出力制御部に出力することを特徴とする請求項5ないし請求項7のいずれか1項記載の情報処理装置。
【請求項9】
前記制御装置は、前記入出力装置の種類毎に試験の条件が格納された試験表を有し、前記試験表に格納された条件にしたがって、前記第2のコマンドを出力することを特徴とする請求項5ないし請求項8のいずれか1項記載の情報処理装置。
【請求項10】
前記スイッチ装置は、
前記第1のコマンドが前記入出力装置の割り当てを指示する割り当てコマンドであることを判定する判定部と、
前記判定部が前記割り当てコマンドを判定した場合に、前記第1の入出力制御部と前記第2の入出力制御部とを接続し、前記演算処理装置から前記スイッチ部に出力される前記割り当てコマンドを前記第2の入出力制御部に転送する転送部を有し、
前記制御装置は、前記第1の入出力制御部から転送される前記割り当てコマンドに含まれる前記入出力装置の割り当てを示す情報を格納する構成表を有し、構成表に格納された前記入出力装置の割り当てを示す情報を用いて、前記第2のコマンドを生成することを特徴とする請求項5ないし請求項9のいずれか1項記載の情報処理装置。
【請求項11】
演算を実行する演算処理装置と、前記演算処理装置を制御する制御装置と、情報を入出力する入出力装置と、前記入出力装置を前記演算処理装置と前記制御装置とのいずれかに接続するスイッチ部を含むスイッチ装置を有する情報処理装置の制御方法において、
前記スイッチ装置が、
前記演算処理装置から受ける第1のコマンドを、前記スイッチ部を介して前記入出力装置に出力し、前記第1のコマンドに基づいて動作する前記入出力装置の応答を、前記スイッチ部を介して受け、受けた応答を前記演算処理装置に出力し、
前記制御装置から受ける第2のコマンドを、前記スイッチ部を介して前記入出力装置に出力し、前記第2のコマンドに基づいて試験される前記入出力装置の試験結果を、前記スイッチ部を介して受け、受けた試験結果を前記制御装置に出力し、
前記制御装置が、
前記演算処理装置と前記入出力装置との間で転送されるデータの転送量を監視し、
前記転送量の平均値が所定の閾値以下の場合、前記スイッチ部を介して前記第2のコマンドを前記入出力装置に出力することを特徴とする情報処理装置の制御方法。
【請求項12】
前記制御装置が
前記スイッチ部を介して前記第2のコマンドに基づいて試験される前記入出力装置の試験結果を受信し、
前記入出力装置の良否を判定することを特徴とする請求項11記載の情報処理装置の制御方法。
【請求項13】
演算を実行する演算処理装置と、前記演算処理装置を制御する制御装置と、情報を入出力する入出力装置と、前記入出力装置を前記演算処理装置と前記制御装置とのいずれかに接続するスイッチ部を含むスイッチ装置を有する情報処理装置を制御する制御プログラムにおいて、
前記制御装置に、
前記演算処理装置と前記入出力装置との間で転送されるデータの転送量を監視させ、
前記転送量の平均値が所定の閾値以下の場合、前記スイッチ部を介して前記入出力装置を試験する試験コマンドを前記入出力装置に出力させ、
前記スイッチ部を介して前記試験コマンドに基づいて試験される前記入出力装置の試験結果を受信させ、
前記入出力装置の良否を判定させることを特徴とする情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラムに関する。
【背景技術】
【0002】
演算処理装置、主記憶装置および入出力装置を含むシステムにおいて、演算処理装置の非動作中に動作する試験用のプロセッサを用いて、入出力装置の試験を実行する手法が提案されている(例えば、特許文献1参照)。
【0003】
また、中央処理装置とサービスプロセッサとが接続される主記憶制御装置を、チャネルプロセッサおよび入出力制御装置を介して複数の経路で入出力装置に接続する情報処理装置が提案されている。この種の情報処理装置では、サービスプロセッサが経路を指定して入出力装置の状態を確認することで、情報処理装置の運用中に経路の正常性が診断される(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開昭63−93048号公報
【特許文献2】特開平3−214341号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、演算処理装置の非動作中に動作する試験用のプロセッサが入出力装置の試験を実行する場合、演算処理装置による処理は、入出力装置の試験中に停止する。また、中央処理装置およびサービスプロセッサが、主記憶制御装置を介してチャネルプロセッサに接続される場合、サービスプロセッサが診断できる範囲は、接続経路のみに限定される。
【0006】
本件開示のスイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラムは、演算処理装置の処理性能に与える影響を最小限にして、演算処理装置に接続された入出力装置の試験を実行することを目的とする。
【課題を解決するための手段】
【0007】
一つの観点によれば、演算を実行する演算処理装置と演算処理装置を制御する制御装置とを、情報を入出力する入出力装置に接続するスイッチ装置において、スイッチ装置は、演算処理装置と制御装置とのいずれかを入出力装置に接続するスイッチ部と、演算処理装置から受ける第1のコマンドを、スイッチ部を介して入出力装置に出力し、第1のコマンドに基づいて動作する入出力装置の応答を、スイッチ部を介して受け、受けた応答を演算処理装置に出力する第1の入出力制御部と、制御装置から受ける第2のコマンドを、スイッチ部を介して入出力装置に出力し、第2のコマンドに基づいて試験される入出力装置の試験結果を、スイッチ部を介して受け、受けた試験結果を制御装置に出力する第2の入出力制御部を有する。
【0008】
別の観点によれば、演算を実行する演算処理装置と、演算処理装置を制御する制御装置と、情報を入出力する入出力装置と、演算処理装置と制御装置とを、入出力装置に接続するスイッチ装置を有する情報処理装置において、スイッチ装置は、演算処理装置と制御装置とのいずれかを入出力装置に接続するスイッチ部と、演算処理装置から受ける第1のコマンドを、スイッチ部を介して入出力装置に出力し、第1のコマンドに基づいて動作する入出力装置の応答を、スイッチ部を介して受け、受けた応答を演算処理装置に出力する第1の入出力制御部と、制御装置から受ける第2のコマンドを、スイッチ部を介して入出力装置に出力し、第2のコマンドに基づいて試験される入出力装置の試験結果を、スイッチ部を介して受け、受けた試験結果を制御装置に出力する第2の入出力制御部を有する。
【0009】
さらなる別の観点によれば、演算を実行する演算処理装置と、演算処理装置を制御する制御装置と、情報を入出力する入出力装置と、入出力装置を演算処理装置と制御装置とのいずれかに接続するスイッチ部を含むスイッチ装置を有する情報処理装置の制御方法では、スイッチ装置が、演算処理装置から受ける第1のコマンドを、スイッチ部を介して入出力装置に出力し、第1のコマンドに基づいて動作する入出力装置の応答を、スイッチ部を介して受け、受けた応答を演算処理装置に出力し、制御装置から受ける第2のコマンドを、スイッチ部を介して入出力装置に出力し、第2のコマンドに基づいて試験される入出力装置の試験結果を、スイッチ部を介して受け、受けた試験結果を制御装置に出力する。
【0010】
さらなる別の観点によれば、演算を実行する演算処理装置と、演算処理装置を制御する制御装置と、情報を入出力する入出力装置と、入出力装置を演算処理装置と制御装置とのいずれかに接続するスイッチ部を含むスイッチ装置を有する情報処理装置を制御する制御プログラムでは、制御装置に、演算処理装置と入出力装置との間で転送されるデータの転送量を監視させ、転送量の平均値が所定の閾値以下の場合、スイッチ部を介して入出力装置を試験する試験コマンドを入出力装置に出力させ、スイッチ部を介して試験コマンドに基づいて試験される入出力装置の試験結果を受信させ、入出力装置の良否を判定させる。
【発明の効果】
【0011】
本件開示のスイッチ装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラムは、演算処理装置の処理性能に与える影響を最小限にして、演算処理装置に接続された入出力装置の試験を実行することができる。
【図面の簡単な説明】
【0012】
図1】スイッチ装置および情報処理装置の一実施形態を示す図である。
図2】スイッチ装置および情報処理装置の別の実施形態を示す図である。
図3図2に示すスイッチ装置の例を示す図である。
図4図2に示す入出力装置の例を示す図である。
図5図2に示す情報処理装置がユーザにより使用される例を示す図である。
図6図2に示す構成表の例を示す図である。
図7図2に示す試験表の例を示す図である。
図8図2に示す情報処理装置が構成表を更新する動作の例を示す図である。
図9図2に示す情報処理装置が実行する入出力装置の試験の概要を示す
図10図9に示す各試験における処理の流れの例を示す図である。
図11図9に示す試験の動作フローの例を示す図である。
図12図9に示す試験の動作フローの別の例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面を用いて実施形態を説明する。
【0014】
図1は、スイッチ装置および情報処理装置の一実施形態を示す。図1において、情報処理装置IPE1は、プロセッサCPU(Central Processing Unit)と、コントローラCTLと、スイッチ装置SWDと、入出力装置IOとを有する。プロセッサCPUは、演算を実行する演算処理装置の一例であり、コントローラCTLは、プロセッサCPUを制御する制御装置の一例である。スイッチ装置SWDは、プロセッサCPUとコントローラCTLとのいずれかを入出力装置IOに接続するスイッチ部SWUと、入出力制御部IOCTL1、IOCTL2とを有する。なお、複数の入出力装置IOが、スイッチ部SWUに接続されてもよい。
【0015】
例えば、入出力装置IOは、ネットワークインタフェース、ホストバスアダプタ、ハードディスクドライブ装置、ソリッドステートドライブ装置等のいずれかである。例えば、入出力装置IOは、PCI(Peripheral Component Interconnect)express(登録商標)のインタフェースによりスイッチ装置SWDを介してプロセッサCPUおよびコントローラCTLに接続される。しかしながら、入出力装置IOは、他の規格のインタフェースによりプロセッサCPUおよびコントローラCTLに接続されてもよい。
【0016】
なお、スイッチ装置SWDは、判定部JDGおよび転送部BPSWを有してもよく、入出力制御部IOCTL1は、積算部SUMを有してもよく、入出力制御部IOCTL2は、保持部HOLDを有してもよい。また、入出力制御部IOCTL2は、入出力制御部IOCTL1にビジー信号BSYを出力する機能を有してもよい。ビジー信号BSYの出力タイミングおよびビジー信号BSYを受けた入出力制御部IOCTL1の動作は、後述する。以下で説明するコントローラCTLおよび入出力制御部IOCTL1、IOCTL2の動作は、情報処理装置の制御方法の一実施形態を示す。
【0017】
入出力制御部IOCTL1は、プロセッサCPUから受ける第1のコマンドを、スイッチ部SWUを介して入出力装置IOに出力する。また、入出力制御部IOCTL1は、第1のコマンドに基づいて動作する入出力装置IOの応答を、スイッチ部SWUを介して受け、受けた応答をプロセッサCPUに出力する。入出力制御部IOCTL2は、コントローラCTLから受ける第2のコマンドを、スイッチ部SWUを介して入出力装置IOに出力する。また、入出力制御部IOCTL2は、第2のコマンドに基づいて試験される入出力装置IOの試験結果を、スイッチ部SWUを介して受け、受けた試験結果をコントローラCTLに出力する。
【0018】
図1に示すスイッチ装置SWDでは、コントローラCTLからスイッチ部SWUに出力される第2のコマンドの経路は、プロセッサCPUからスイッチ部SWUに出力される第1のコマンドの経路とは別に独立に設けられる。このため、入出力装置IOを試験する第2のコマンドが、プロセッサCPUとスイッチ部SWUとの間の経路に伝達されることはない。したがって、コントローラCTLとプロセッサCPUとが、共通のバスでスイッチ装置SWDに接続される場合に比べて、コントローラCTLから出力される第2のコマンドが、プロセッサCPUから出力される第1のコマンドと競合する確率を下げることができる。すなわち、コントローラCTLによる入出力装置IOの試験が、プロセッサCPUの処理性能に与える影響を最小限にすることができる。
【0019】
入出力制御部IOCTL1の積算部SUMは、プロセッサCPUからの第1のコマンドに含まれるデータの転送量を積算する。すなわち、積算部SUMは、入出力装置IOに書き込まれるデータのサイズおよび入出力装置IOから読み出されるデータのサイズを積算する。
【0020】
入出力制御部IOCTL2の保持部HOLDは、積算部SUMに積算されたデータの転送量から求められる転送量の平均値を保持する。例えば、入出力制御部IOCTL2は、時間間隔をおいて積算部SUMから2回読み出した転送量の差を、転送量の平均値とする。コントローラCTLは、保持部HOLDにアクセスするコマンドを入出力制御部IOCTL2に出力することで、保持部HOLDに保持された平均値を読み出すことができる。これにより、コントローラCTLは、プロセッサCPUによりアクセスされる入出力装置IOのデータの転送量の平均値が所定の閾値以下になった場合、入出力制御部IOCTL2を介して、入出力装置IOの試験を実行できる。換言すれば、プロセッサCPUによる入出力装置IOのアクセスが所定の条件(閾値以下)を満たした場合、コントローラCTLは、入出力制御部IOCTL2に入出力装置IOの試験の開始を指示することができる。この結果、入出力装置IOの試験の頻度を、所定の周期毎に試験する場合に比べて下げることが可能になり、コントローラCTLから出力される第2のコマンドが、プロセッサCPUから出力される第1のコマンドと競合する確率を下げることができる。
【0021】
また、入出力制御部IOCTL2は、第2のコマンドの出力から試験結果の受信までの期間、入出力制御部IOCTL1にビジー信号BSYを出力する。入出力制御部IOCTL1は、ビジー信号BSYの受信中に第1のコマンドのスイッチ部SWUへの出力を禁止する。これにより、入出力装置IOが第2のコマンドに基づいてアクセスまたは試験される場合、コントローラCTLから入出力装置IOへのアクセスと、プロセッサCPUから入出力装置IOへのアクセスとが衝突することを回避することができる。この結果、プロセッサCPUの誤動作を回避することができる。なお、複数の入出力装置IOがスイッチ部SWUに接続される場合、ビジー信号BSYは、入出力装置IOに出力される第2のコマンド毎に出力され、第1のコマンドの出力の禁止は、入出力装置IO毎に設定される。
【0022】
判定部JDGは、第1のコマンドが入出力装置IOの割り当てを指示する割り当てコマンドであることを判定した場合、転送部BPSWに制御信号を出力する。転送部BPSWは、判定部JDGが出力する制御信号に基づいて、入出力制御部IOCTL1、IOCTL2を接続し、プロセッサCPUからスイッチ部SWUに出力される割り当てコマンドを入出力制御部IOCTL2に転送する。転送部BPSWは、例えば、判定部JDGからの割り当てコマンドであるとの判定に基づいて導通するバイパススイッチである。判定部JDGと転送部BPSWとにより、コントローラCTLは、入出力制御部IOCTL2を介して入出力装置IOに割り当てを問い合わせるコマンドを出力することなく、入出力装置IOの割り当てを示す情報を得ることができる。すなわち、コントローラCTLは、プロセッサCPUの動作に影響を与えることなく、入出力装置IOの割り当てを示す情報を得ることができる。
【0023】
以上、図1に示す実施形態では、プロセッサCPUからの第1のコマンドの経路と、コントローラCTLからの第2のコマンドの経路とが、互いに独立に設けられる。このため、第2のコマンドが、第1のコマンドと競合する確率を下げることができる。また、積算部SUMと保持部HOLDとにより、入出力装置IOの試験の頻度を、所定の周期毎に試験する場合に比べて下げることができる。さらに、判定部JDGと転送部BPSWにより、コントローラCTLは、プロセッサCPUの動作に影響を与えることなく、入出力装置IOの割り当てを示す情報を得ることができる。
【0024】
この結果、コントローラCTLによる入出力装置IOの試験が、プロセッサCPUの処理性能に与える影響を最小限にすることができる。
【0025】
また、ビジー信号BSYにより、コントローラCTLから入出力装置IOへのアクセスと、プロセッサCPUから入出力装置IOへのアクセスとが衝突することを回避することができ、プロセッサCPUの誤動作を回避することができる。
【0026】
図2は、スイッチ装置および情報処理装置の別の実施形態を示す。図1に示す実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。図2において、情報処理システムSYSは、サーバSVおよび入出力装置IO(IO0、IO1、IO2)を含む情報処理装置IPE2と、情報処理装置IPE2を管理する管理サーバSVmとを有する。例えば、各入出力装置IOは、ネットワークインタフェース、ホストバスアダプタ、ハードディスクドライブ装置、ソリッドステートドライブ装置等である。例えば、各入出力装置IOは、PCI expressのインタフェースによりサーバSVに接続されるが、他の規格のインタフェースによりサーバSVに接続されてもよい。
【0027】
サーバSVは、コントローラBMC、プロセッサCPU、メモリMEMおよびスイッチ装置SWDを有する。コントローラBMCは、プロセッサCPUm、メモリMEMm、監視制御部IOCTLおよびインタフェース部NICを有する。例えば、コントローラBMCは、サーバSVのマザーボード上に搭載されるプロセッサCPU等の各種デバイスを管理するベースボードマネージメントコントローラの機能を有する。
【0028】
プロセッサCPUmは、メモリMEMmに格納されるプログラムPSPRG、VLTPRG、CPUPRG、BRDPRGを実行することで、サーバSVの状態を監視し、サーバSVの状態を制御する。また、プロセッサCPUmは、メモリMEMmに格納されるプログラムIOPRGを実行することで、各入出力装置IOの状態を監視し、各入出力装置IOを試験する。
【0029】
監視制御部IOCTLは、インタフェース部NICを介して管理サーバSVmに接続され、プロセッサCPUmによる制御に基づいて、管理サーバSVmとの間の通信を制御する。また、監視制御部IOCTLは、管理バスMBUSを介してポートMPTに接続され、プロセッサCPUmによる制御に基づいて、ポートMPTとの間の通信を制御し、入出力装置IOの状態を監視する。すなわち、監視制御部IOCTLは、サーバSVの機能を実現するために動作するプロセッサCPUを介することなく、スイッチ装置SWDに接続され、入出力装置IOにアクセス可能である。これにより、コントローラBMCは、プロセッサCPUに負荷を掛けることなく、ポートMPTに入出力装置IOの試験等の実行を指示することができ、試験結果をポートMPTから取得することができる。例えば、管理バスMBUSは、PCI express規格のバスである。
【0030】
インタフェース部NICは、監視制御部IOCTLとサーバSVを管理する管理サーバSVmとを接続する。メモリMEMmは、プログラムPSPRG、VLTPRG、CPUPRG、BRDPRG、IOPRG、構成表CFGTBL、試験表TESTTBLおよびプログラムBISTPRGを格納する領域を有する。
【0031】
例えば、プログラムPSPRGは、サーバSVの起動時に、サーバSV内のプロセッサCPU等のデバイスに電源電圧を供給する順序を制御する機能と、サーバSVの停止時に、電源電圧の供給を停止する順序を制御する機能とを有する。例えば、プログラムVLTPRGは、サーバSV内のプロセッサCPU等のデバイスに供給する電源電圧等の値を、例えば、各デバイスの動作モードに応じて制御し、監視する機能を有する。
【0032】
プログラムCPUPRGは、プロセッサCPUの温度等の状態を監視する機能を有する。プログラムBRDPRGは、コントローラBMCおよびプロセッサCPU等が搭載されるプリント基板等のマザーボードの状態を監視する機能を有する。例えば、プログラムBRDPRGは、サーバSVに搭載される温度センサを用いてボードの温度を監視し、ボードの温度に応じてサーバSVに搭載される冷却ファンの回転数を制御する機能を有する。プロセッサCPUmは、制御バスCBUSを介してプロセッサCPUおよび温度センサ、冷却ファン等に接続される。
【0033】
プログラムIOPRGは、サーバSVに接続される入出力装置IO0、IO1、IO2の試験を実行し、入出力装置IO0、IO1、IO2の状態を監視する機能を有する。
【0034】
構成表CFGTBLおよび試験表TESTTBLは、プロセッサCPUmにより読み書きされる。構成表CFGTBLは、サーバSVに接続される入出力装置IO0、IO1、IO2の割り当てを示す情報、入出力装置IO0、IO1、IO2の種類および状態を格納する領域を有する。試験表TESTTBLは、入出力装置IO0、IO1、IO2を試験する場合の試験仕様を格納する領域を有する。構成表CFGTBLの例は、図6に示され、試験表TESTTBLの例は、図7に示される。
【0035】
プログラムBISTPRGは、各入出力装置IO0、IO1、IO2のBIST(Built-In Self Test)を実行する前(例えば、サーバSVの起動時)に、各入出力装置IO0、IO1、IO2から転送される。プログラムBISTPRGは、コントローラBMCのプロセッサCPUmにより実行され、各入出力装置IO0、IO1、IO2が実行するBISTを制御する機能を有する。なお、メモリMEMmは、複数の入出力装置IO0、IO1、IO2からのプログラムBISTPRGを格納する複数の領域を有してもよい。
【0036】
プロセッサCPUは、メモリMEMに格納されたシステムプログラムを実行することにより、サーバSVと、サーバSVに接続された入出力装置IO0、IO1、IO2とを情報処理装置IPE2として動作させる。プロセッサCPUは、スイッチ装置SWDのポートUPTを介して入出力装置IO0、IO1、IO2にアクセスする。なお、プロセッサCPUは、例えば、PCI express規格のインタフェースを有するホストブリッジを介してスイッチ装置SWDに接続される。
【0037】
スイッチ装置SWDは、ポートMPT、UPT、DPT(DPT0、DPT1、DPT2)およびクロスバースイッチ部CBSWを有する。例えば、ポートUPTは、サーバSVを情報処理装置IPE2として動作させるプロセッサCPUに接続された上流ポートである。ポートUPTは、ホストブリッジを介してプロセッサCPUから受けるパケットを、スイッチ装置SWDを介して入出力装置IO0、IO1、IO2のいずれかに転送する。また、ポートUPTは、スイッチ装置SWDを介して入出力装置IO0、IO1、IO2から受けるパケットをプロセッサCPUに転送する。
【0038】
ポートUPTがプロセッサCPUから受けるパケットは、第1のコマンドの一例である。すなわち、ポートUPTは、プロセッサCPUから受ける第1のコマンドを入出力装置IOに出力し、入出力装置IOからの応答をプロセッサCPUに出力する第1の入出力制御部の一例である。
【0039】
ポートUPTは、ポートMPTからのビジー情報BSYに基づいて、ビジー情報BSYが示す入出力装置IOへのパケットの転送を保留する機能を有する。すなわち、ポートUPTは、ビジー情報BSYの受信中にビジー情報BSYに含まれる入出力装置IOへのパケットのクロスバースイッチ部CBSWへの出力を禁止する機能を有する。ポートUPTは、転送を保留したパケットを保持し、保持したパケットを、ビジー情報BSYが転送の許可を示した後、クロスバースイッチ部CBSWを介して入出力装置IOに出力する。
【0040】
また、ポートUPTは、ポートUPTと各入出力装置IOとの間で転送されるデータの転送量を計測し、転送量を示す流量情報FLWをポートMPTに出力する。例えば、ポートUPTは、プロセッサCPUから出力されるパケット中のヘッダ等に格納されるデータ長をデータの転送量として、入出力装置IO毎に抽出する。
【0041】
ポートMPTは、サーバSVに接続された各入出力装置IOの情報を取得する機能と、各入出力装置IOの動作を確認する機能とを有する。ポートMPTがコントローラBMCから受けるパケットは、第2のコマンドの一例である。すなわち、ポートMPTは、コントローラBMCからの第2のコマンドを入出力装置IOに出力し、入出力装置IOの試験結果をコントローラBMCに出力する第2の入出力制御部の一例である。
【0042】
ポートMPTは、各入出力装置IOにパケットを出力する場合、ビジー情報BSYをポートUPTに出力する。例えば、ビジー情報BSYは、各入出力装置IOへのパケットの出力から各入出力装置IOから応答のパケットを受けるまでアサートされるビジー信号と、パケットを出力する入出力装置IOのID(IDentification)を示す識別信号とを含む。以下の説明では、符号BSYは、ビジー信号としても使用される。
【0043】
また、ポートMPTは、ポートUPTから出力される流量情報FLWに基づいて、プロセッサCPUと入出力装置IOとの間で転送されるデータの転送量の平均値を求める。コントローラBMCは、ポートMPTが求めた転送量の平均値に基づいて、各入出力装置IOの動作状況を判断する。例えば、コントローラBMCは、転送量の平均値が予め設定された閾値以下の場合、入出力装置IO0が故障した可能性があると判断し、入出力装置IO0にBISTを実行させる。
【0044】
なお、ビジー情報BSYを出力する機能は、ポートMPTの機能から省かれてもよく、ビジー信号BSYに基づいてパケットの出力を禁止する機能は、ポートUPTの機能から省かれてもよい。また、流量情報FLWに基づいて各入出力装置IOの動作状況を判断する機能は、ポートMPTの機能から省かれてもよく、データの量を計測する機能および流量情報FLWを出力する機能は、ポートUPTの機能から省かれてもよい。
【0045】
ポートDPT0、DPT1、DPT2は、例えば、入出力装置IO0、IO1、IO2のそれぞれに接続された下流ポートである。各ポートDPT0、DPT1、DPT2は、クロスバースイッチ部CBSWを介して転送されるパケットを、各ポートDPT0、DPT1、DPT2に接続された入出力装置IO0、IO1、IO2に出力する。また、各ポートDPT0、DPT1、DPT2は、各ポートDPT0、DPT1、DPT2に接続された入出力装置IO0、IO1、IO2から出力されるパケットをクロスバースイッチ部CBSWに出力する。
【0046】
クロスバースイッチ部CBSWは、転送部BPSW、スイッチSW、調停部ARBおよび記憶部MNGIDを有する。記憶部MNGIDは、ポートMPTを識別する宛先情報の1つであるID(例えば、Requester ID)を記憶する。
【0047】
調停部ARBは、各ポートUPT、MPTからスイッチSWに入力されるパケットに含まれる宛先アドレスまたは宛先IDを読み出し、読み出した宛先に応じてスイッチSWを切り替える。例えば、調停部ARBは、ポートUPTから出力されたパケットに入出力装置IO0を示す宛先IDが含まれる場合、スイッチSWにポートUPT、DPT0間を接続させる。
【0048】
また、調停部ARBは、各ポートDPT(DPT0、DPT1、DPT2)からスイッチSWに入力されるパケットが、記憶部MNGIDに記憶されたポートMPTのIDを含む場合、パケットを出力したポートDPTとポートMPTとを接続する。すなわち、調停部ARBは、入出力装置IO0、IO1、IO2からの応答に含まれる宛先情報が、記憶部MNGIDに記憶した宛先情報(ポートMPTを示す)であることを検出する検出部の一例である。調停部ARBは、各ポートDPT0、DPT1、DPT2からスイッチSWに入力されるパケットが、記憶部MNGIDに記憶されたポートMPTのIDを含まない場合、パケットを出力したポートDPTとポートUPTとを接続する。
【0049】
調停部ARBと記憶部MNGIDとにより、下流側(入出力装置IO)から上流側(プロセッサCPUまたはコントローラBMC)へのパケットの転送経路が複数ある場合にも、パケットをプロセッサCPUまたはコントローラBMCに転送することができる。
【0050】
さらに、調停部ARBは、ポートUPTから出力されるコマンドが、ポートDPT0、DPT1、DPT2に入出力装置IOを割り当てる割り当てコマンドであることを判定する判定部CFGJを有する。判定部CFGJは、割り当てコマンドを検出した場合、転送部BPSWのバイパススイッチを閉じさせる制御信号を出力する。
【0051】
例えば、割り当てコマンドは、入出力装置IOにアドレスやIDを割り当てるコマンドであり、例えば、PCI express規格のインタフェースでは、コンフィギュレーションアクセスコマンド(コンフィギュレーションライトコマンド)である。例えば、割り当てコマンドは、サーバSVの起動時および新たな入出力装置IOがサーバSVに接続された場合、プロセッサCPUにより発行される。
【0052】
転送部BPSWは、割り当てコマンドの発行を示す制御信号を判定部CFGJから受けた場合、ポートUPT、MPT間を互いに接続し、ポートUMTから各入出力装置IOに転送される割り当て用のアドレスまたは割り当て用のIDをポートMPTに転送する。これにより、ポートMPTは、各入出力装置IOに割り当ての情報を読み出すパケットを発行することなく、各入出力装置IOの割り当ての情報を取得することができる。この結果、ポートMPTが割り当ての情報を読み出すパケットを発行する場合に比べて、ポートUPTから出力されるパケットとポートMPTが出力するパケットとが競合する頻度を下げることができる。すなわち、プロセッサCPUによる入出力装置IOのアクセス効率の低下を抑止できる。
【0053】
なお、調停部ARBおよび記憶部MNGIDは、クロスバースイッチ部CBSWの外部に配置されてもよい。また、スイッチ装置SWDは、判定部CFGJおよび転送部BPSWを含まない構成でもよい。さらに、記憶部MNGIDに記憶されたポートMPTのIDに基づいて、パケットを出力したポートDPTとポートMPTとを接続する機能は、クロスバースイッチ部CBSWの機能から省かれてもよい。
【0054】
スイッチSWは、調停部ARBによる制御に基づいて、ポートUPTとポートDPT0、DPT1、DPT2のいずれかを接続し、あるいは、ポートMPTとポートDPT0、DPT1、DPT2のいずれかを接続する。なお、図2では、ポートDPT(DPT0、DPT1、DPT2)は、入出力装置IO0、IO1、IO2のそれぞれに対応して設けられるが、ポートDPTの数は、サーバSVに接続される入出力装置IO0、IO1、IO2の数より多くてもよい。これにより、3以上の入出力装置IOがスイッチ装置SWDに接続可能になる。
【0055】
図3は、図2に示すスイッチ装置SWDの例を示す。クロスバースイッチ部CBSWの構成および機能は、図2で説明したため、図3での説明は省略する。
【0056】
ポートUPTは、変換部SERDESu、プロトコル制御部PROCu、ルーティング部ROUTu、ホールド制御部HLDCNTおよび流量計測部FLWMESを有する。変換部SERDESuは、プロセッサCPUからのシリアル信号をパラレル信号に変換し、変換したパラレル信号をプロトコル制御部PROCuに出力する。また、変換部SERDESuは、プロトコル制御部PROCuからのパラレル信号をシリアル信号に変換し、変換したシリアル信号をプロセッサCPUに出力する。例えば、変換部SERDESuは、SerDes(SERializer/DESerializer)であり、プロセッサCPUに接続されるシリアルバスは、PCI express規格の信号を伝送する。なお、図2で説明したように、プロセッサCPUは、PCI express規格のインタフェースを有するホストブリッジを介してポートUPTに接続される。
【0057】
プロトコル制御部PROCuは、プロセッサCPUから出力されるパケットのヘッダを解読し、解読結果をパケットともにルーティング部ROUTuに渡す。ルーティング部ROUTuは、プロトコル制御部PROCuが解読したヘッダの情報に基づいて、パケットを転送する入出力装置IOへの経路を決定し、決定した経路を示す情報をパケットともにスイッチSWに渡す。
【0058】
ルーティング部ROUTuは、ホールド制御部HLDからの指示に基づいて、パケットの転送を中断し、あるいは、中断したパケットの転送を再開する。ルーティング部ROUTuは、プロセッサCPUからのパケットが入出力装置IOに対するリードアクセスまたはライトアクセスを示す場合、パケットに含まれるデータ長をデータの転送量として流量計測部FLWMESに出力する。例えば、ルーティング部ROUTuは、PCI規格で定められたPCI−to−PCIブリッジである。
【0059】
ホールド制御部HLDCNTは、ビジー情報BSYに基づいて、ルーティング部ROUTuにパケットの転送の中断を指示し、あるいは、パケットの転送の再開を指示する。流量計測部FLWMESは、ルーティング部ROUTuから受けるデータの転送量を積算するカウンタCOUNTを入出力装置IO毎に有する。流量計測部FLWMESは、プロセッサCPUからのパケットに含まれるデータの転送量を積算する積算部の一例である。
【0060】
ポートMPTは、変換部SERDESm、プロトコル制御部PROCm、ルーティング部ROUTm、ビジー制御部BSYCNTおよび流量管理部FLWMNGを有する。変換部SERDESmは、コントローラBMCの監視制御部IOCTLからのシリアル信号をパラレル信号に変換し、変換したパラレル信号をプロトコル制御部PROCmに出力する。また、変換部SERDESmは、プロトコル制御部PROCmからのパラレル信号をシリアル信号に変換し、変換したシリアル信号をコントローラBMCの監視制御部IOCTLに出力する。例えば、変換部SERDESmは、SerDesであり、コントローラBMCの監視制御部IOCTLに接続されるシリアルバスは、PCI express規格の信号を伝送する。
【0061】
プロトコル制御部PROCmは、コントローラBMCから出力されるパケットのヘッダを解読し、解読結果をパケットともにルーティング部ROUTmに渡す。ルーティング部ROUTmは、プロトコル制御部PROCmが解読したヘッダの情報に基づいて、パケットを転送する入出力装置IOへの経路を決定し、決定した経路を示す情報をパケットともにスイッチSWに渡す。例えば、ルーティング部ROUTmは、PCI−to−PCIブリッジである。ルーティング部ROUTmは、入出力装置IOにパケットを転送する場合、ビジー制御部BSYCNTにビジー情報BSYを出力させる指示を発行する。また、ルーティング部ROUTmは、コントローラBMCからの流量管理部FLWMNGのレジスタREGを読み出すパケットに基づいて、レジスタREGに保持される転送量の平均値を読み出し、読み出した平均値をコントローラBMCに向けて出力する。
【0062】
ビジー制御部BSYCNTは、ルーティング部ROUTmからの指示に基づいてビジー情報BSYを出力する。流量管理部FLWMNGは、流量計測部FLWMESのカウンタCOUNTのそれぞれに保持された流量を、所定の周期(例えば、数百ミリ秒間隔あるいは数秒間隔)で読み出す。流量管理部FLWMNGは、流量計測部FLWMESのカウンタCOUNTのそれぞれに対応する複数のレジスタREGを有する。流量管理部FLWMNGは、カウンタCOUNT毎(すなわち、入出力装置IO毎)に、今回読み出した転送量から前回読み出した転送量を差し引き、差し引いた値をカウンタCOUNTに対応するレジスタREGに格納する。すなわち、流量管理部FLWMNGは、ポートUPTと各入出力装置IOとの間で転送されるデータの転送量の平均値を、入出力装置IO毎にレジスタREGに格納する。レジスタREGは、流量計測部FLWMESで積算されたデータの転送量から求められる転送量の平均値を、コントローラBMCからアクセス可能に保持する保持部の一例である。
【0063】
ポートDPT0は、変換部SERDESd0、プロトコル制御部PROCd0およびルーティング部ROUTd0を有する。ポートDPT1は、変換部SERDESd1、プロトコル制御部PROCd1およびルーティング部ROUTd1を有する。ポートDPT2は、変換部SERDESd2、プロトコル制御部PROCd2およびルーティング部ROUTd2を有する。
【0064】
変換部SERDESd0、変換部SERDESd1、変換部SERDESd2は、互いに同一または同様の構成であるため、以下では変換部SERDESd0について説明する。プロトコル制御部PROCd0、プロトコル制御部PROCd1、プロトコル制御部PROCd2は、互いに同一または同様の構成であるため、以下ではプロトコル制御部PROCd0について説明する。ルーティング部ROUTd0、ROUTd1、ROUTd2は、互いに同一または同様の構成であるため、以下ではルーティング部ROUTd0について説明する。
【0065】
変換部SERDESd0は、入出力装置IO0からのシリアル信号をパラレル信号に変換し、変換したパラレル信号をプロトコル制御部PROCd0に出力する。また、変換部SERDESd0は、プロトコル制御部PROCd0からのパラレル信号をシリアル信号に変換し、変換したシリアル信号を入出力装置IO0に出力する。例えば、変換部SERDESuは、SerDesである。
【0066】
プロトコル制御部PROCd0は、入出力装置IO0から出力されるパケットのヘッダを解読し、解読結果をパケットともにルーティング部ROUTd0に渡す。ルーティング部ROUTd0は、プロトコル制御部PROCd0が解読したヘッダの情報に基づいて、パケットを転送するポートUPTまたはポートMPTへの経路を決定し、決定した経路を示す情報をパケットともにスイッチSWに渡す。例えば、ルーティング部ROUTd0は、PCI−to−PCIブリッジである。
【0067】
図4は、図2に示す入出力装置IOの例を示す。図4に示す入出力装置IOは、図2に示す入出力装置IO0、IO1、IO2のいずれかである。すなわち、入出力装置IOは、ネットワークインタフェース、ホストバスアダプタ、ハードディスクドライブ装置、ソリッドステートドライブ装置等である。
【0068】
入出力装置IOは、変換部SERDESIO、プロトコル制御部PROCIO、入出力デバイスIODEV、試験制御部BCNTおよびBISTの制御プログラム(図2のBISTPRG)を記憶する記憶部BPRGを有する。例えば、記憶部BPRGは、ROM(Read Only Memory)である。記憶部BPRGに格納されたBISTの制御プログラムは、入出力装置IOのサーバSVへの接続に基づいて、コントローラBMCからの指示により、コントローラBMCのメモリMEMmに転送される。換言すれば、コントローラBMCは、入出力装置IOがサーバSVに接続されたことに基づいて、記憶部BPRGに格納されたBISTの制御プログラムを読み出すパケットを出力する。
【0069】
変換部SERDESIOは、ポートDPT(DPT0、DPT1、DPT2のいずれか)からのシリアル信号をパラレル信号に変換し、変換したパラレル信号をプロトコル制御部PROCIOに出力する。また、変換部SERDESIOは、プロトコル制御部PROCIOからのパラレル信号をシリアル信号に変換し、変換したシリアル信号をポートDPTに出力する。例えば、変換部SERDESIOは、SerDesであり、ポートDPTに接続されるシリアルバスは、PCI express規格の信号を伝送する。
【0070】
プロトコル制御部PROCIOは、変換部SEDESIOから受けるパケットに基づいて、入出力装置IOへのデータの書き込み、および入出力装置IOからのデータの読み出しを実行する。また、プロトコル制御部PROCIOは、入出力装置IOから出力されるパケットのヘッダを解読し、解読結果をパケットともに変換部SEDESIOに渡す。
【0071】
また、プロトコル制御部PROCIOは、変換部SEDESIOを介してコントローラBMCから受けるパケットが入出力デバイスIODEVのBISTの起動、停止またはBISTの結果の問い合わせを示す場合、試験制御部BCNTにパケットの内容を通知する。例えば、プロトコル制御部PROCIOは、BISTの結果の問い合わせに対して、試験制御部BCNTから受けるBISTの結果を、変換部SEDESIOを介してコントローラBMCに出力する。
【0072】
試験制御部BCNTは、BISTの起動を示すパケットを、プロトコル制御部PROCIOを介してコントローラBMCから受けた場合、入出力デバイスIODEVのBISTを実行する。また、試験制御部BCNTは、BISTの結果の読み出しを示すパケットを、プロトコル制御部PROCIOを介してコントローラBMCから受けた場合、BISTの結果をプロトコル制御部PROCIOに出力する。なお、試験制御部BCNTは、BISTの実行中に、BISTの結果の読み出しを示すパケットを受けた場合、BISTの実行中を示す情報をプロトコル制御部PROCIOに出力する。さらに、試験制御部BCNTは、BISTの停止を示すパケットを、プロトコル制御部PROCIOを介してコントローラBMCから受けた場合、BISTを停止する。
【0073】
例えば、試験制御部BCNTによる入出力デバイスIODEVのBISTの制御は、図2に示すコントローラBMCがメモリMEMmに格納されたプログラムBISTPRGを実行することにより実現される。コントローラBMCは、入出力装置IOのBISTを実行する前に、入出力装置IOの記憶部BPRGに格納されたプログラムBISTPRGを読み出すパケットを発行する。そして、コントローラBMCは、読み出したプログラムBISTPRGをメモリMEMmに格納する。
【0074】
図5は、図2に示す情報処理装置IPE2がユーザにより使用される例を示す。図2に示す情報処理装置IPE2は、図5に示す情報処理装置IPEA、IPEB、IPECのいずれかである。管理サーバSVmは、管理用のネットワークMNWを介して、図2に示すサーバSVに対応するサーバSV0、SV1、SV2に接続され、情報処理装置IPEA、IPEB、IPECを管理する。
【0075】
図5に示す例では、情報処理装置IPEAは、入出力装置IO0としてGPU(Graphics Processing Unit)を有し、入出力装置IO1としてSSD(Solid State Drive)を有する。また、情報処理装置IPEAは、入出力装置IO2として業務ネットワークBNWに接続されるNIC(Network Interface Card)−Aを有する。
【0076】
例えば、情報処理装置IPEBは、入出力装置IO0としてHBA(Host Bus Adapter)−Aを有し、入出力装置IO1としてSSDを有し、入出力装置IO2として業務ネットワークBNWに接続されるNIC−Bを有する。また、情報処理装置IPEBは、HBA−Aを介してサーバSV1に接続されたハードディスクドライブ装置HDDを有する。
【0077】
例えば、情報処理装置IPECは、入出力装置IO0としてGPUを有し、入出力装置IO1としてHBA−Aを有し、入出力装置IO2として業務ネットワークBNWに接続されるNIC−Aを有する。また、情報処理装置IPECは、HBA−Aを介してサーバSV2に接続されたハードディスクドライブ装置HDDを有する。
【0078】
各情報処理装置IPEA、IPEB、IPECは、業務ネットワークBNWおよびルータROUTを介してインタネットまたはイントラネット等のネットワークNWに接続される。例えば、情報処理装置IPEAは、ユーザUSERAが管理する端末TMAにより、ネットワークNWを介してアクセスされ、情報処理装置IPEBは、ユーザUSERBが管理する端末TMBにより、ネットワークNWを介してアクセスされる。例えば、情報処理装置IPECは、ユーザUSERCが管理する端末TMCにより、ネットワークNWを介してアクセスされる。すなわち、図5は、IaaS(Infrastructure as a Service)によるコンピュータシステムの例を示す。
【0079】
図6は、図2に示す構成表CFGTBLの例を示す。図6に示す例は、図5に示す情報処理装置IPEAの構成表CFGTBLを示す。構成表CFGTBLは、入出力装置IOがサーバSVに接続される毎、あるいは接続が解除される毎に更新される。
【0080】
構成表CFGTBLは、デバイス名、宛先ID、デバイスタイプおよび状態を格納する領域を有する。デバイス名の領域は、サーバSVに接続される入出力装置IOの名称(例えば、DEV0、DEV1、DEV2)が格納される。
【0081】
宛先IDの領域は、入出力装置IOの接続先を示す情報が格納される。図6は、入出力装置IOがPCI express規格のインタフェースを用いてサーバSVに接続される場合、宛先IDとして、BDF(Bus number, Device number, Function number)を示す3つの数値が格納される例を示す。なお、宛先IDとして格納される情報は、BDFに限定されず、他の形式でもよく、宛先アドレスでもよい。
【0082】
デバイスタイプの領域は、入出力装置IO0の種類(この例では、GPU、SSD、NIC−A)を示す情報が格納される。状態の領域は、入出力装置IOの状態(リセット、ディセーブル、イネーブルのいずれか)が格納される。リセットは、入出力装置IOが起動されていない状態を示し、ディセーブルは、入出力装置IOの起動後に使用が禁止された状態を示し、イネーブルは、入出力装置IOが使用可能な状態にあることを示す。
【0083】
図7は、図2に示す試験表TESTTBLの例を示す。図7に示す例は、図5に示す情報処理装置IPEA、IPEB、IPECの各々の試験表TESTTBLを示す。例えば、試験表TESTTBLは、サーバSVに接続可能な入出力装置IOの種類(デバイスタイプ)毎に、試験の仕様を示す情報を保持する。
【0084】
試験表TESTTBLは、デバイスタイプ、読み出し空間、許可フラグ、閾値およびテストプログラム名を格納する領域を有する。デバイスタイプの領域には、構成表CFGTBL(図6)のデバイスタイプの領域と同様に、サーバSVに接続される入出力装置IOの種類(例えば、NIC−A、HBA−A、HCA(Host Channel Adapter)−A、SSD等)が格納される。
【0085】
読み出し空間の領域は、ベースアドレスBar(Bar0からBar6のいずれか)と、ベースアドレスBarに対する相対値(オフセット)で示されるアドレス領域addr(例えば、addr1からaddr2の範囲)とが格納される。ベースアドレスBarとアドレス領域addrで示される読み出し空間は、読み出しアクセスにより入出力装置IOの状態が変化しないことが確約された安全なアドレス空間である。
【0086】
許可フラグの領域は、BISTの実行の許可を示す情報またはBISTの実行の禁止を示す情報が格納される。閾値およびプログラム名の領域は、許可フラグが許可を示す場合に有効になる。閾値を示す領域は、BISTの起動を判断するデータの転送量が格納される。プログラム名を示す領域は、データの転送量(平均値)が閾値以下になった場合に起動されるBISTを制御するプログラムBISTPRG(例えば、BISTPRG1)の名称が格納される。なお、例えば、プログラムBISTPRGは、入出力装置IOのサーバSVへの接続に基づいて、入出力装置IOの記憶部BPRG(図4)からコントローラBMCのメモリMEMmに転送される。
【0087】
この例では、閾値を示す領域に、1KB/s(毎秒1キロバイト)を示す情報が格納される。コントローラBMCは、サーバSVに接続された入出力装置IO毎に、ポートMPTのレジスタREGに保持されるデータの転送量の平均値を所定の周期で監視する。コントローラBMCは、平均値が試験表TESTTBLに保持された閾値以下になった場合、プログラムBISTPRGを実行し、BISTの起動をスイッチ装置SWDのポートMPTに指示し、データの転送量が低下した入出力装置IOにBISTを実行させる。
【0088】
図7に示すように、デバイスタイプ毎に入出力装置IOの試験仕様が、試験表TESTTBLに予め格納されるため、新たな入出力装置IOがサーバSVに接続される場合にも、試験表TESTTBLを更新することなく、図11に示す試験を実行することができる。また、デバイスタイプに拘わらず共通のパラメータ(読み出し空間、許可フラグ、閾値、プログラム名)が試験表TESTTBLに格納されるため、図11に示す試験プログラムを、入出力装置IOの種類に拘わらず共通にすることができる。
【0089】
図8は、図2に示す情報処理装置IPE2が構成表CFGTBLを更新する動作の例を示す。図8の左側は、コントローラBMCの動作を示し、図8の右側は、ポートMPTの動作を示す。
【0090】
コントローラBMCの動作フローは、例えば、サーバSVが起動されたことに基づいて開始される。まず、ステップS10において、コントローラBMCは、ポートMPTにサーバSVに接続された入出力装置IOの仕様および状態を問い合わせるパケットを発行する。
【0091】
次に、ステップS12において、コントローラBMCは、ポートMPTから受けた入出力装置IOの仕様および状態を、入出力装置IO毎に読み出す。次に、ステップS14において、コントローラBMCは、読み出した入出力装置IOの仕様および状態を構成表CFGTBLに書き込むことで、構成表CFGTBLを更新する。ステップS12、S14は、サーバSVに接続された全ての入出力装置IOの仕様および状態が構成表CFGTBLに書き込まれるまで繰り返される。
【0092】
次に、ステップS16において、コントローラBMCは、所定時間スリープした後、処理をステップS10に戻す。そして、所定時間毎に構成表CFGTBLが更新される。
【0093】
一方、ポートMPTは、ステップS20において、サーバSVに接続された入出力装置IOの仕様および状態を問い合わせるコントローラBMCからのパケットに応答して、サーバSVに接続された入出力装置IOの仕様および状態を出力する。なお、ポートMPTは、プロセッサCPUにより発行される割り当てコマンドを、転送部BPSWを介して予め受け、受けた割り当てコマンドに含まれるデバイスタイプや宛先ID等の仕様と入出力装置IOの状態とを保持する。
【0094】
図9は、図2に示す情報処理装置IPE2が実行する入出力装置IOの試験の概要を示す。図9は、コントローラBMCがプログラムIOPRGおよびプログラムBISTPRGを実行することにより実現される。すなわち、図9は、情報処理装置の制御方法の別の実施形態および情報処理装置の制御プログラムの一実施形態を示す。図9に示す試験は、サーバSVに接続される入出力装置IO毎に実行される。図9に示す試験の具体的な例は、図11に示される。例えば、図9に示す試験は、所定の周期で実行される。
【0095】
まず、ステップS100において、コントローラBMCは、入出力装置IOのコンフィギュレーションレジスタを読み出す第1の読み出しコマンド(パケット)を、ポートMPTを介して入出力装置IOに出力する。そして、コントローラBMCは、コンフィギュレーションレジスタに設定された情報を読み出させるか否かを試験する。すなわち、コンフィギュレーションレジスタの読み出し試験が実行される。なお、コントローラBMCは、ステップS100において、入出力装置IOに設けられる他のレジスタの読み出し試験を実行してもよい。
【0096】
次に、ステップS200において、コントローラBMCは、図7に示す読み出し空間を読み出す第2の読み出しコマンド(パケット)を、ポートMPTを介して入出力装置IOに出力する。そして、コントローラBMCは、読み出し空間に記憶された情報を読み出させるか否かを試験する。すなわち、読み出し空間の読み出し試験が実行される。なお、図11に示すように、ステップS200は、ステップS100において、コンフィギュレーションレジスタから情報が正常に読み出させる場合に実行される。
【0097】
次に、ステップS300において、コントローラBMCは、ポートMPTを介して、図8に示す許可フラグが許可に設定された入出力装置IOにBISTを実行させる試験コマンド(パケット)を出力する。試験コマンドを受けた入出力装置IOの試験制御部BCNTは、入出力装置IODEVのBISTを実行し、ポートMPTを介してBISTの結果をコントローラBMCに出力する。すなわち、コントローラBMCは、入出力装置IOにBISTを実行させ、入出力装置IOが正常に動作するか否かを試験する。なお、図11に示すように、ステップS300は、ステップS200において、読み出し空間から情報が正常に読み出させる場合に実行される。
【0098】
ステップS300によるBISTは、ステップS100、S200の試験で正常な動作が判定された場合に実行される。すなわち、コントローラBMCは、入出力装置IOへの負荷が相対的に小さい簡易な試験の実行後、入出力装置IOへの負荷が相対的に大きい複雑な試験を実行する。これにより、ステップS100、S200を実行することなくステップS300を実行する場合に比べて、試験のために動作する入出力装置IOの動作時間(試験による拘束時間)を短くすることができる。この結果、コントローラBMCによる入出力装置IOのアクセスがプロセッサCPUによる入出力装置IOのアクセスと競合する確率を下げることができる。すなわち、コントローラBMCによる入出力装置IOの試験が、プロセッサCPUの処理性能に与える影響を最小限にすることができる。
【0099】
図10は、図9に示す各試験における処理の流れの例を示す。
【0100】
ステップS100では、コントローラBMCは、入出力装置IOのコンフィギュレーションレジスタを読み出す読み出しコマンドCfgRdをスイッチ装置SWDのポートMPTに出力する(図10(a))。ポートMPTは、読み出しコマンドCfgRdに応答して、ビジー信号BSYをアサートした後、試験する入出力装置IOに向けて読み出しコマンドCfgRdを出力する(図10(b)、(c))。
【0101】
読み出しコマンドCfgRdを受けた入出力装置IOは、コンフィギュレーションレジスタの内容を読み出し、読み出した内容を完了コマンドCplD(Completion with Data)としてポートMPTに向けて出力する(図10(d))。完了コマンドCplDを受けたポートMPTは、ビジー情報BSYをネゲートした後、完了コマンドCplDをコントローラBMCに出力する(図10(e)、(f))。コントローラBMCは、完了コマンドCplDに含まれるコンフィギュレーションレジスタの内容が正常な場合、入出力装置IOが正常であると判断する。また、コントローラBMCは、完了コマンドCplDに含まれるコンフィギュレーションレジスタの内容が正常値でない場合、または完了コマンドCplDを受ける前にタイムアウトになった場合、入出力装置IOが故障した可能性があると判断する。
【0102】
ステップS200では、コントローラBMCは、入出力装置IOのメモリ空間を読み出す読み出しコマンドMRdをスイッチ装置SWDのポートMPTに出力する(図10(g))。ポートMPTは、読み出しコマンドMRdに応答して、ビジー信号BSYをアサートした後、試験する入出力装置IOに向けて読み出しコマンドMRdを出力する(図10(h)、(i))。
【0103】
読み出しコマンドMRdを受けた入出力装置IOは、指定されたメモリ空間に保持された内容を読み出し、読み出した内容を完了コマンドCplDとしてポートMPTに向けて出力する(図10(j))。完了コマンドCplDを受けたポートMPTは、ビジー情報BSYをネゲートした後、完了コマンドCplDをコントローラBMCに出力する(図10(k)、(l))。コントローラBMCは、完了コマンドCplDに含まれるメモリ空間の内容が正常な場合、入出力装置IOが正常であると判断する。また、コントローラBMCは、完了コマンドCplDに含まれるメモリ空間の内容が正常値でない場合、または完了コマンドCplDを受ける前にタイムアウトになった場合、入出力装置IOが故障したと可能性があると判断する。
【0104】
ステップS300では、コントローラBMCは、入出力装置IOにBISTを起動させる書き込みコマンドCfgWrをスイッチ装置SWDのポートMPTに出力する(図10(m))。ポートMPTは、書き込みコマンドCfgWrに応答して、ビジー信号BSYをアサートした後、BISTを起動させる入出力装置IOに向けて書き込みコマンドCfgWrを出力する(図10(n)、(o))。
【0105】
書き込みコマンドCfgWrを受けた入出力装置IOは、BISTを起動し、BISTの起動を示す完了コマンドCpl(Completion without Data)をポートMPTに向けて出力する(図10(p))。完了コマンドCplを受けたポートMPTは、受けた完了コマンドCplをコントローラBMCに出力する(図10(q))。
【0106】
次に、コントローラBMCは、BISTの結果を読み出す読み出しコマンドCfgRdをスイッチ装置SWDのポートMPTに出力する(図10(r))。ポートMPTは、読み出しコマンドCfgRdに応答して、入出力装置IOに向けて読み出しコマンドCfgRdを出力する(図10(s))。
【0107】
読み出しコマンドCfgRdを受けた入出力装置IOは、BISTを実行中の場合、BISTの実行中(busy)を示す完了コマンドCplDをポートMPTに向けて出力する(図10(t))。完了コマンドCplDを受けたポートMPTは、受けた完了コマンドCplDをコントローラBMCに出力する(図10(u))。
【0108】
完了コマンドCplD(busy)を受けたコントローラBMCは、再び、BISTの結果を読み出す読み出しコマンドCfgRdをスイッチ装置SWDのポートMPTに出力する(図10(v))。この後、入出力装置IOによるBISTの実行が終了するまで、図10(s)、(t)、(u)と同じ動作が繰り返される。すなわち、コントローラBMCは、BISTの結果をポーリングにより問い合わせる。
【0109】
入出力装置IOは、BISTの結果を読み出す読み出しコマンドCfgRdを、BISTが終了した後に受信すると、BISTの結果を完了コマンドCplD(done)としてポートMPTに向けて出力する(図10(w))。完了コマンドCplD(done)を受けたポートMPTは、ビジー情報BSYをネゲートした後、完了コマンドCplD(done)をコントローラBMCに出力する(図10(x)、(y))。
【0110】
コントローラBMCは、完了コマンドCplD(done)に含まれるBISTの結果が正常を示す場合、入出力装置IOが正常であると判断する。また、コントローラBMCは、完了コマンドCplD(done)に含まれるBISTの結果が異常を示す場合、または完了コマンドCplD(done)を受ける前にタイムアウトになった場合、入出力装置IOが故障したと判断する。
【0111】
図11は、図9に示す試験の動作フローの例を示す。図11に示す処理は、コントローラBMCがプログラムIOPRGおよびプログラムBISTPRGを実行することにより実現される。すなわち、図11は、情報処理装置IPE2の制御方法を示し、情報処理装置IPE2の制御プログラムを示す。コントローラBMCは、図11に示す処理を入出力装置IO毎に実行する。
【0112】
ステップS102において、コントローラBMCは、図6に示す構成表CFGTBLを参照し、試験する入出力装置IOの状態がイネーブルであるか否かを判定する。試験する入出力装置IOの状態がイネーブルである場合、処理はステップS104に移行され、試験する入出力装置IOの状態がディセーブルまたはリセットである場合、次の入出力装置IOの試験に移行される。
【0113】
ステップS104において、コントローラBMCは、試験する入出力装置IOのコンフィギュレーションレジスタの内容を読み出す。次に、ステップS106において、コントローラBMCは、コンフィギュレーションレジスタの内容が正常に読み出せたか否かを判定する。コンフィギュレーションレジスタの内容が正常に読み出せた場合、処理はステップS202に移行され、コンフィギュレーションレジスタの内容が正常に読み出せない場合、処理はステップS314に移行される。ステップS102、S104、S106の処理は、図9に示すステップS100のコンフィギュレーションレジスタの読み出し試験に対応し、プログラムIOPRGによる処理である。
【0114】
ステップS202において、コントローラBMCは、図7に示す試験表TESTTBLを参照し、試験する入出力装置IOのデバイスタイプが試験表TESTTBLに登録中であるか否かを判定する。試験する入出力装置IOのデバイスタイプが試験表TESTTBLに登録中の場合、処理はステップS204に移行され、試験する入出力装置IOのデバイスタイプが未登録の場合、次の入出力装置IOの試験に移行される。
【0115】
ステップS204において、コントローラBMCは、試験表TESTTBLを参照し、試験する入出力装置IOのデバイスタイプに対応する読み出し空間の領域からデータを読み出すメモリ空間のアドレスを取得する。そして、コントローラBMCは、取得したアドレスの範囲を指定して、試験する入出力装置IOに読み出しコマンドを発行する。
【0116】
次に、ステップS206において、コントローラBMCは、入出力装置IOからデータが正常に読み出せたか否かを判定する。データが正常に読み出せた場合、処理はステップS302に移行され、データが正常に読み出せない場合、処理はステップS314に移行される。ステップS202、S204、S206の処理は、図9に示すステップS200の読み出し空間の読み出し試験に対応し、プログラムIOPRGによる処理である。
【0117】
ステップS302において、コントローラBMCは、図7に示す試験表TESTTBLを参照し、試験する入出力装置IOのデバイスタイプの許可フラグが許可状態であるか否かを判定する。許可フラグが許可状態の場合、処理はステップS304に移行され、許可フラグが禁止状態である場合、次の入出力装置IOの試験に移行される。
【0118】
ステップS304において、コントローラBMCは、図7に示す試験表TESTTBLを参照し、試験する入出力装置IOのデバイスタイプの閾値を取得する。そして、コントローラBMCは、ポートMPTのレジスタREGに保持された試験する入出力装置IOのデータの転送量の平均値が閾値以下であるか否かを判定する。データの転送量の平均値が閾値以下である場合、処理はステップS306に移行され、流量の平均値が閾値を超える場合、次の入出力装置IOの試験が実行される。
【0119】
ステップS306において、コントローラBMCは、ポートMPTを介して、試験する入出力装置IOにBISTの開始を指示する。入出力装置IOの試験制御部BCNTは、コントローラBMCからの指示に基づいて、BISTを開始する。なお、試験制御部BCNTは、例えば、BISTをバックグラウンドで実行するため、プロセッサCPUは、BISTの実行中に、入出力装置IOにアクセス可能である。
【0120】
次に、ステップS312において、コントローラBMCは、BISTでエラーが検出されたか否かを判定する。エラーが検出されない場合、すなわち、入出力装置IOが正常に動作する場合、次の入出力装置IOの試験が実行される。BISTでエラーが検出された場合、すなわち、入出力装置IOが正常に動作しない場合、処理はステップS314に移行される。
【0121】
ステップS314において、コントローラBMCは、試験した入出力装置IOに異常があることを管理サーバSVmに通知する。通知を受けた管理サーバSVmは、例えば、保守点検を促すメッセージを管理者用のディスプレイに表示する。この後、次の入出力装置IOの試験が実行される。ステップS302、S304、S306、S312、S314の処理は、図9に示すステップS300におけるBISTの実行の処理に対応し、プログラムBISTPRGによる処理である。
【0122】
図12は、図9に示す試験の動作フローの別の例を示す。図11と同一または同様の処理については、詳細な説明は省略する。図12に示す処理は、コントローラBMCがプログラムIOPRGおよびプログラムBISTPRGを実行することにより実現される。すなわち、図12は、情報処理装置IPE2の制御方法を示し、情報処理装置IPE2の制御プログラムを示す。
【0123】
図12に示す処理は、図11のステップS306とステップS312の間にステップS308が追加され、ステップS310が新たに追加されたことを除き、図11の処理と同様である。
【0124】
ステップS308において、コントローラBMCは、BISTの開始後に、ポートMPTのレジスタREGに保持された転送量の平均値であって、試験する入出力装置IOの平均値が閾値を超えたか否かを判定する。平均値が閾値を超えた場合、処理はステップS310に移行され、平均値が閾値以下の場合、処理はステップS312に移行される。
【0125】
ステップS310において、コントローラBMCは、ポートMPTを介してBISTを実行中の入出力装置IOにBISTの停止を指示する。例えば、コントローラBMCは、BISTを実行中の入出力装置IOにBISTを停止させる停止コマンド(停止パケット)を出力する。入出力装置IOの試験制御部BCNTは、コントローラBMCからの指示に基づいて、BISTの実行を停止する。ステップS302、S304、S306、S308、S310、S312、S314の処理は、図9に示すステップS300におけるBISTの実行の処理に対応し、プログラムBISTPRGによる処理である。
【0126】
図12では、BISTの開始後、例えば、プロセッサCPUから入出力装置IOにデータの書き込み要求またはデータの読み出し要求を示すパケットが出力され、データの転送量の平均値が閾値を超えた場合、BISTは停止される。データの転送量の平均値は、入出力装置IOが故障した場合に閾値以下になる他、例えば、入出力装置IOのスリープ、または、何らかの理由でプロセッサCPUと入出力装置IOとの間でデータの転送が一時的に停止する場合に閾値以下になる。この場合、プロセッサCPUと入出力装置IOとの間でデータ転送が再開された場合に、BISTを停止することで、プロセッサCPUによる入出力装置IOのアクセス効率を、バックグラウンドでBISTが実行される場合に比べて向上することができる。この結果、コントローラBMCによる入出力装置IOの試験が、プロセッサCPUの処理性能に与える影響を最小限にすることができる。
【0127】
以上、この実施形態においても、図1に示す実施形態と同様に、プロセッサCPUからスイッチSWへの経路と、コントローラBMCからスイッチSWへの経路とが、互いに独立に設けられる。また、流量計測部FLWMESと流量管理部FLWMNGとにより、入出力装置IOのBISTの頻度を、所定の周期でBISTを実行する場合の頻度に比べて下げることが可能になる。さらに、判定部CFGJと転送部BPSWにより、コントローラBMCは、プロセッサCPUの動作に影響を与えることなく、入出力装置IOの割り当てを示す情報を得ることができる。この結果、コントローラBMCからのパケットが、プロセッサCPUからのパケットと競合する確率を下げることができる。
【0128】
また、ビジー信号BSYにより、コントローラBMCから入出力装置IOへのアクセスと、プロセッサCPUから入出力装置IOへのアクセスとが衝突することを回避することができ、プロセッサCPUの誤動作を回避することができる。
【0129】
さらに、図2から図12に示す実施形態では、以下の効果を得ることができる。調停部ARBと記憶部MNGIDとにより、下流側(入出力装置IO)から上流側(プロセッサCPUまたはコントローラBMC)へのパケットの転送経路が複数ある場合にも、パケットをプロセッサCPUまたはコントローラBMCに転送することができる。
【0130】
図11および図12に示すように、コントローラBMCは、入出力装置IOの負荷が相対的に小さい試験(コンフィギュレーションレジスタの読み出しまたは読み出し空間の読み出し)を入出力装置IOに実行させる。そして、試験がパスした場合、入出力装置IOの負荷が相対的に大きいBISTを入出力装置IOに実行させる。これにより、コンフィギュレーションレジスタおよび読み出し空間の読み出し検査を実行することなくBISTを実行する場合に比べて、試験のために動作する入出力装置IOの動作時間(試験による拘束時間)を短くすることができる。
【0131】
この結果、コントローラBMCによるアクセスがプロセッサCPUによるアクセスと競合する確率を下げることができ、コントローラBMCによる入出力装置IOの試験が、プロセッサCPUの処理性能に与える影響を最小限にすることができる。
【0132】
また、BIST中にデータの転送量が増加した場合にBISTを停止することで、プロセッサCPUによる入出力装置IOのアクセス効率を、バックグラウンドでBISTが実行される場合に比べて向上することができる。
【0133】
さらに、新たな入出力装置IOがサーバSVに接続される場合にも、試験表TESTTBLを更新することなく図11および図12に示す試験を実行することができる。また、デバイスタイプに拘わらず共通のパラメータが、試験表TESTTBLに格納されるため、コントローラBMCが実行する試験プログラム(図11および図12)を、入出力装置IOの種類に拘わらず共通にすることができる。構成表CFGTBLおよび試験表TESTTBLを設けることにより、入出力装置IOの種類に応じた試験を実施することができる。
【0134】
なお、例えば、図5に示したサーバSV0が、図2示したコントローラBMCおよびスイッチ装置SWDの機能を持たない場合、入出力装置IOの故障は、サーバSV0を使用するユーザUSERAが気付くまで放置される。入出力装置IOの故障に気付いたユーザUSERAは、管理サーバSVm等を介してコンピュータシステムの運用者に故障を通知し、入出力装置IOの交換を依頼する。例えば、入出力装置IOの故障は、ユーザUSERAが使用するOS(Operating System)がエラーを検出し、またはアプリケーションがエラーを検出することで判明する。あるいは、入出力装置IOの故障は、ユーザUSERAに貸し出されたサーバSV0上にインストールされるエージェントと呼ばれる監視ソフトウェアにより検出される。監視ソフトウェアは、OSに合わせて作成されるため、ユーザUSERAが使用するOSに対応する監視ソフトウェアがない場合、ユーザUSERAが利用可能なOSは限られてしまう。
【0135】
これに対して上述した実施形態では、監視ソフトウェアをインストールすることなく、入出力装置IOの故障を自動的に検出することができる。また、ユーザが利用可能なOSおよびアプリケーションを制限することなく、入出力装置IOの故障を自動的に検出することができる。すなわち、IaaS等のコンピュータシステムを利用するユーザに負担を掛けることなく、かつ、ユーザシステムの性能を下げることなく、サーバにより実現されるユーザシステムの運用中に、入出力装置IOの故障を自動的に検出することができる。
【0136】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【0137】
ARB…調停部;BCNT…試験制御部;BMC…コントローラ;BNW…業務ネットワーク;BPRG…記憶部;BPSW…転送部;BSYCNT…ビジー制御部;CBSW…クロスバースイッチ部;CFGTBL…構成表;COUNT…カウンタ;CPU、CPUm…プロセッサ;CTL…コントローラ;DPT…ポート;FLWMES…流量計測部;FLWMNG…流量管理部;HLDCNT…ホールド制御部;HOLD…保持部;IO…入出力装置;IOCTL…監視制御部;IOCTL1、IOCTL2…入出力制御部;IODEV…入出力デバイス;IPE1、IPE2、IPEA、IPEB、IPEC…情報処理装置;JDG…判定部;MEM、MEMm…メモリ;MNGID…記憶部;MPT…ポート;NIC…インタフェース部;NW…ネットワーク;PROCd0、PROCd1、PROCd2、ROCIO、PROCm、PROCu…プロトコル制御部;REG…レジスタ;ROUTd0、ROUTd1、ROUTd2、ROUTm、ROUTu…ルーティング部;ROUT…ルータ;SERDESd0、SERDESd1、SERDESd2、SERDESIO、SERDESm、SERDESu…変換部;SUM…積算部;SV…サーバ;SVm…管理サーバ;SW…スイッチ;SWD…スイッチ装置;SWU…スイッチ部;SYS…情報処理システム;TESTTBL…試験表;TMA、TMB、TMC…端末;UPT…ポート
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12