説明

情報処理装置、情報処理装置におけるPCIカードへのアクセス方法

【課題】診断プロセッサからPCIカードへの書き込みを可能とする。
【解決手段】診断I/F制御部10は、診断プロセッサ3から指示されたリクエストの種別、書き込み場所または読み出し場所であるPCIカード4上のアドレス、さらに、リクエストの種別が書き込み処理である場合は書き込みデータを登録する。発行制御部11は、診断I/F制御部10の登録内容に基づき書き込み処理または読み出し処理を実行させるためのリクエストデータをPCIカード4に発行する。受信制御部12は、PCIカード4での書き込み処理または読み出し処理の結果を示すリプライデータをPCIカード4から受信し、処理中のエラーの有無を示す完了結果ステータス、さらに、PCIカード4で読み出し処理が行われた場合の読み出しデータを抽出する。診断I/F制御部10は、受信制御部12にて抽出された完了結果ステータスや読み出しデータを登録する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、PCI(Peripheral Component Interconnect)カード(詳細には、PCI IOカード)と、PCIカードにて発生した障害の診断を行う診断プロセッサとを有する情報処理装置、情報処理装置におけるPCIカードへのアクセス方法に関する。
【背景技術】
【0002】
PCIカードにはコンフィグ空間とメモリ空間という2つの空間が存在しており、これらの空間にはエラー情報やカードの設定情報などが格納されている。
【0003】
そのため、情報処理装置においては、PCIカードに障害が発生した場合、PCIカードの情報を用いれば、障害発生箇所がPCIカードであることや障害発生原因を特定して障害解析を行うことが可能である。
【0004】
しかし、従来の情報処理装置においては、CPU(Central Processing Unit)を介してのみPCIカードへのアクセスが可能であるため、CPUが動作不可能な状態になると、PCIカードへアクセスすることができなくなり、PCIカードの情報を読み出すことができない。従って、CPUが動作不可能な状態で、PCIカードに障害が発生した場合は、PCIカードの周辺回路の情報を基にして障害発生箇所を推測しなければならないため、障害発生箇所がPCIカードであることを特定するのが非常に困難である。
【0005】
また、PCIカードは、PCIバス上に複数実装される場合もある。このような場合に、PCIカードに障害が発生すると、複数のPCIカードのどのカードで障害が発生したかといったことまで特定する必要がある。しかし、CPUが動作不可能な状態で、PCIカードに障害が発生した場合は、PCIカードの周辺回路の情報だけでPCIカードを特定するのは非常に困難であり、障害解析を精度良く行うことができない。
【0006】
そこで最近、特許文献1には、CPUとは独立に動作し、PCIカードのコンフィグ情報を読み出す診断プロセッサを設けた情報処理装置が開示されている。詳細には、特許文献1に開示された情報処理装置によれば、上位バスとPCIバスとを接続するバスブリッジ内に、PCIカードからPCIバスを介して収集したコンフィグ情報を格納するコンフィグ情報収集メモリを設け、診断プロセッサは、このコンフィグ情報収集メモリからコンフィグ情報を読み出している。
【特許文献1】特開平10−254736号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、特許文献1に開示された情報処理装置においては、診断プロセッサは、PCIカードのデータを読み出すことのみが可能で、PCIカードにデータを書き込むことができないため、PCIカードのFW(Firmware)を更新することができない。
【0008】
PCIカードのFWの更新は、PCIカードが本格的に動作を始めた後に行うと、接続状態や転送速度などの設定が変更されてしまうことから、PCIカードが誤動作し、情報処理装置が停止してしまう可能性がある。
【0009】
そのため、従来は、CPUが、PCIカードが本格的に動作する前、より具体的には、BIOS(Basic Input/Output System)/EFI(Extensible Firmware Interface)という装置起動プログラムの実行中に、PCIカードのFWを更新していた。
【0010】
しかし、CPUが動作不可能な状態では上記のようにPCIカードのFWを更新することはできず、また、診断プロセッサがPCIカードのFWを更新することもできない。そのため、PCIカードのFWを更新するには、作業者が、FD(Floppy Disk)/CD(Compact Disc)などの媒体にFWデータを格納し、そのFWデータを用いてFW更新作業を実施する必要があった。このようなFW更新作業を数多くの情報処理装置が出荷された後に行うのは、非常に保守性が悪く問題となっていた。
【0011】
そこで、本発明の目的は、診断プロセッサがPCIカードからデータを読み出すだけでなく、PCIカードへデータを書き込むことも可能な情報処理装置、情報処理装置におけるPCIカードへのアクセス方法を提供することにある。
【課題を解決するための手段】
【0012】
上記目的を達成するために本発明は、
CPUと、PCIカードと、前記CPUとは独立に動作し、前記PCIカードにて発生した障害の診断を行う診断プロセッサとを有する情報処理装置において、
前記CPUとは独立に動作し、前記診断プロセッサからのリクエストの発行指示に基づいて書き込み処理または読み出し処理を実行させるためのリクエストデータを前記PCIカードに対して発行し、当該リクエストデータに応じて前記PCIカードにて行われた書き込み処理または読み出し処理の結果を示すリプライデータを前記PCIカードから受信する診断アクセス装置をさらに有することを特徴とする。
【0013】
詳細には、前記診断アクセス装置は、
前記診断プロセッサから指示されたリクエストの種別が書き込み処理または読み出し処理のいずれであるかを示すリクエスト種別情報と、前記診断プロセッサから書き込み場所または読み出し場所として指示された前記PCIカード上のアドレスとを登録し、さらに、前記リクエストの種別が書き込み処理である場合は前記診断プロセッサから指示された書き込みデータを登録する診断I/F制御部と、
前記診断I/F制御部に登録された前記リクエスト種別情報と前記PCIカード上のアドレスとを用い、さらに、前記リクエストの種別が書き込みである場合は前記診断I/F制御部に登録された書き込みデータを用いて、前記リクエストデータを生成して前記PCIカードに発行する発行制御部と、
前記発行制御部にて発行されたリクエストデータに応じた前記リプライデータを前記PCIカードから受信し、当該リプライデータから、前記PCIカードでの処理中のエラーの有無を示す完了結果ステータスを抽出し、さらに、前記PCIカードで読み出し処理が行われた場合は読み出しデータを抽出する受信制御部とをさらに有し、
前記診断I/F制御部は、前記受信制御部にて抽出された前記完了結果ステータスを登録し、さらに、前記PCIカードで読み出し処理が行われた場合は前記受信制御部にて抽出された読み出しデータを登録する。
【0014】
この構成によれば、診断プロセッサからアクセス制御装置を介してPCIカードに対し、書き込み処理または読み出し処理を実行させるためのリクエストデータを直接発行しているため、PCIカードからデータを読み出すだけでなく、PCIカードへデータを書き込むことも可能となる。それにより、PCIカードのFWを更新することも可能となる。
【0015】
また、前記発行制御部は、前記診断プロセッサからのリクエストの発行指示に基づいて前記リクエストデータを生成した際、前記CPUからのリクエストの発行指示を受けていないことを確認した上で、前記生成したリクエストデータを前記PCIカードに発行することとしても良い。
【0016】
この構成によれば、診断プロセッサからのリクエストの発行指示とCPUからのリクエストの発行指示とが競合した場合、CPUからの発行指示を優先し、診断プロセッサからの発行指示に基づき生成したリプライデータを、CPUからの発行指示が空いた時にのみ発行することが可能となる。
【0017】
また、前記診断プロセッサは、ネットワークI/Fを有し、前記情報処理装置の外部に設けられた端末とネットワークを介して接続可能に構成されていても良い。
【0018】
この構成によれば、外部の端末から診断プロセッサをリモートで操作することが可能となる。そのため、CPUが動作不可能な状態、つまりOSが起動されていない状態であっても、外部の端末からネットワークを介して診断プロセッサにデータを転送し、さらに、そのデータを診断プロセッサからアクセス制御装置を介してPCIカードに転送することによりPCIカードのデータを書き換えることが可能となる。よって、外部の端末からリモートでPCIカードのFWを更新することも可能となる。
【発明の効果】
【0019】
以上説明したように本発明においては、診断プロセッサからアクセス制御装置を介してPCIカードに対し、書き込み処理または読み出し処理を実行させるためのリクエストデータを直接発行する構成としたため、診断プロセッサがPCIカードのデータを読み出すだけでなく、PCIカードへデータを書き込むこともできるという効果が得られる。
【発明を実施するための最良の形態】
【0020】
以下に、本発明を実施するための最良の形態について図面を参照して説明する。
【0021】
図1を参照すると、本発明の一実施形態による情報処理装置6は、診断アクセス装置1、CPU2、診断プロセッサ3、およびPCIカード4から構成されている。
【0022】
診断アクセス装置1および診断プロセッサ3は、CPU2とは独立に動作を行うものであり、CPU2が動作不可能な状態であっても、動作可能である。
【0023】
診断プロセッサ3は、PCIカード4で発生した障害の診断を行うプロセッサである。
【0024】
また、診断プロセッサ3は、ネットワークインターフェース(不図示)を備えており、情報処理装置6の外部にあるPC(Personal Computer)などの端末5とLAN(Local Area Network)などのネットワークを介して接続されている。
【0025】
従って、端末5は、CPU2が動作不可能な状態であっても、診断プロセッサ3とのリンクは開通しているため、診断プロセッサ3に自由にアクセスし、診断プロセッサ3をリモートで操作することができる。
【0026】
診断アクセス装置1は、診断I/F制御部10、発行制御部11、受信制御部12、およびPCIバスI/F13から構成されている。
【0027】
診断I/F制御部10は、診断プロセッサ3からPCIカード4に対するリクエストの発行指示を受けると、まず、診断プロセッサ3から指示されたリクエストの種別がメモリもしくはコンフィグ空間への書き込みまたは読み出しのいずれであるかを示すリクエスト種別情報、診断プロセッサ3から書き込み場所または読み出し場所として指示されたPCIカード4上のアドレス、さらに、リクエストの種別が書き込みである場合は診断プロセッサ3から指示された書き込みデータを内部の該当するレジスタに登録する。続いて、診断I/F制御部10は、内部の発行指示レジスタ201(図2参照)に“1”を登録する。
【0028】
発行制御部11は、診断I/F制御部10の該当するレジスタに登録されているリクエスト種別情報とアドレスを用い、さらに、リクエストの種別が書き込みである場合は書き込みデータを用いて、PCIカード4に対するリクエストデータを生成する。そして、発行制御部11は、診断I/F制御部10の発行指示レジスタ201に“1”が登録されていること、すなわち診断プロセッサ3からリクエストの発行指示が出ていることを確認し、さらに、CPU2からリクエストの発行指示が出されていないことを確認した上で、上記で生成したリクエストデータをPCIバスI/F13を介してPCIカード4に発行する。また、発行制御部11は、実際にリクエストデータを発行した際には、リクエストデータを発行したことを示す発行報告を診断I/F制御部10に通知する。これを受けて、診断I/F制御部10は、発行指示レジスタ201を“1”から“0”に切り替える。それにより、その後に発行制御部11によりリクエストデータが発行されることが抑止される。
【0029】
受信制御部12は、発行制御部11から発行されたリクエストデータに応じた書き込み処理または読み出し処理がPCIカード4にて完了すると、PCIカード4からPCIバスI/F13を介して処理の結果を示すリプライデータを受信する。そして、受信制御部12は、PCIカード4から受信したリプライデータがCPU2または診断プロセッサ3のどちらの発行指示に応じたリプライデータであるかを判定する。ここで、診断プロセッサ3の発行指示に応じたリプライデータである場合、受信制御部12は、診断I/F制御部10に対し、リクエストデータの受信が完了したことを示す完了報告と、PCIカード4での処理中のエラーの有無を示す完了結果ステータスとを通知し、さらに、PCIカード4で読み出し処理が行われた場合は読み出しデータを通知する。一方、CPU2の発行指示に応じたリプライデータである場合、受信制御部12は、CPU2に対しそのリプライデータが有効であるか否かを示すリプライ報告を通知する。
【0030】
診断I/F制御部10は、受信制御部12から完了報告が通知されると、内部の完了報告レジスタ202(図2参照)に“1”を登録し、受信制御部12から通知された完了結果ステータスを内部の該当するレジスタに登録し、さらに、PCIカード4で読み出し処理が行われた場合は読み出しデータを内部の該当するレジスタに登録する。
【0031】
診断プロセッサ3は、リクエストの発行指示を出してから、定期的に、診断I/F制御部10の完了報告レジスタ202を参照している。完了報告レジスタ202に“1”が登録されると、診断プロセッサ3は、受信制御部12にてリプライデータの受信が完了したと判断し、診断I/F制御部10の該当するレジスタに登録された完了結果ステータスを読み出し、さらに、PCIカード4で読み出し処理が行われた場合は読み出しデータを読み出して、PCIカード4に対する一連のアクセス処理を完了する。
【0032】
以下に、診断I/F制御部10、発行制御部11、および受信制御部12の詳細な構成について説明する。
【0033】
最初に、診断I/F制御部10の詳細な構成について説明する。
【0034】
図2は、図1に示した診断I/F制御部10の一構成例を示すブロック図である。
【0035】
図2を参照すると、診断I/F制御部10は、制御用レジスタ20およびリクエスト生成用レジスタ21の記憶装置から構成されている。なお、図2からは省略されているが、診断I/F制御部10には、診断プロセッサ3および受信制御部12からの各種のデータを制御用レジスタ20およびリクエスト生成用レジスタ21に登録する不図示の登録制御手段も設けられており、制御用レジスタ20およびリクエスト生成用レジスタ21へのデータの登録は、全てこの登録制御手段で行われるものとする。
【0036】
制御用レジスタ20は、上述した発行指示レジスタ201、上述した完了報告レジスタ202、受信制御部12から通知される完了結果ステータスが登録される完了結果レジスタ203、および、診断プロセッサ3から指示されるリクエストの種別を示すリクエスト種別情報が登録されるリクエスト種別レジスタ204から構成されている。
【0037】
リクエスト生成用レジスタ21は、診断プロセッサ3から書き込み場所または読み出し場所として指示されるPCIカード4上のアドレスが登録されるアドレスレジスタ211、および、診断プロセッサ3からPCIカード4に書き込むべきデータとして指示される書き込みデータや、PCIカード4から実際に読み出されて受信制御部12から通知される読み出しデータが登録されるデータレジスタ212から構成されている。
【0038】
診断プロセッサ3は、PCIカード4へアクセスする際には、診断I/F制御部10に対し、まず、PCIカード4に対するリクエストの種別が書き込みまたは読み出しのいずれであるかを示すリクエスト種別情報と、書き込み場所または読み出し場所であるPCIカード4上のアドレスとを通知し、さらに、リクエストの種別が書き込みである場合は書き込みデータを通知する。これを受けて、診断I/F制御部10は、まず、リクエスト種別情報およびアドレスをそれぞれリクエスト種別レジスタ204およびアドレスレジスタ211に登録し、さらに、リクエストの種別が書き込みである場合は書き込みデータをデータレジスタ212に登録する。最後に、診断I/F制御部10は、発行指示レジスタ201に“1”を登録し、完了報告レジスタ202に“0”を登録する。なお、完了報告レジスタ202に“0”を登録するのは、前に行われていた処理により“1”のままになっている可能性があるためである。
【0039】
発行制御部11は、リクエスト種別レジスタ204に登録されたリクエスト種別情報と、アドレスレジスタ211に登録されたアドレスとを用い、さらに、リクエストの種別が書き込みである場合はデータレジスタ212に登録された書き込みデータを用いて、リクエストデータを生成する。そして、発行制御部11は、発行指示レジスタ201に“1”が登録されていることを確認し、さらに、CPU2からリクエストの発行指示が出されていないことを確認した上で、上記で生成したリクエストデータをPCIカード4に対して発行する。実際にPCIカード4に対してリクエストデータが発行されると、発行制御部11は、リクエストデータを発行したことを示す発行報告を診断I/F制御部10に通知する。これを受けて、診断I/F制御部10は、発行指示レジスタ201を“1”から“0”に切り替える。それにより、以降にリクエストデータが発行されるのが抑止される。
【0040】
受信制御部12は、発行制御部11から発行されたリクエストデータに応じた書き込み処理または読み出し処理がPCIカード4にて完了すると、PCIカード4から処理結果を示すリプライデータを受信する。そして、受信制御部12は、PCIカード4からのリプライデータが診断プロセッサ3の発行指示に応じたリプライデータであると判定すると、リプライデータを受信したことを示す完了報告と、PCIカード4でのエラーの有無を示す完了結果ステータスとを診断プロセッサ3に通知し、さらに、PCIカード4で読み出し処理が行われた場合は読み出しデータを診断プロセッサ3に通知する。これを受けて、診断プロセッサ3は、完了報告レジスタ202に“1”を登録し、完了結果レジスタ203に完了結果ステータスを登録し、さらに、PCIカード4で読み出し処理が行われた場合はデータレジスタ212に読み出しデータを登録する。
【0041】
診断プロセッサ3は、リクエストの発行指示を出してから定期的に完了報告レジスタ202を参照しており、完了報告レジスタ202が“1”になると、受信制御部12でリプライデータの受信が完了と判断し、まず、完了結果レジスタ203から完了結果ステータスを読み出し、さらに、PCIカード4で読み出し処理が行われた場合はデータレジスタ212から読み出しデータを読み出す。すなわち、データレジスタ212は、書き込み時および読み出し時に共用して使用される。
【0042】
次に、発行制御部11の詳細な構成について説明する。
【0043】
図3は、図1に示した発行制御部11の一構成例を示すブロック図である。
【0044】
図3を参照すると、発行制御部11は、データ生成回路30およびセレクタ回路31から構成されている。
【0045】
データ生成回路30は、診断I/F制御部10の該当するレジスタに登録された、リクエスト種別情報、PCIカード4上のメモリ空間もしくはコンフィグ空間のアドレス、さらに、リクエストの種別が書き込みである場合は書き込みデータに基づいて、PCIカード4に対するリクエストデータを生成する。リクエストデータは、リクエストの種別が書き込みである場合は、指定したPCIカード4上のアドレスに指定した書き込みデータを書き込む処理を実行させるためのデータとなり、リクエストの種別が読み出しである場合は、指定したPCIカード4上のアドレスからデータを読み出す処理を実行させるためのデータとなる。
【0046】
セレクタ回路31は、診断プロセッサ3からの発行指示を受けてデータ生成回路30で生成されたリクエストデータまたはCPU2から受信したリクエストデータのいずれかを選択し、選択したリクエストデータをPCIバスI/F13を介してPCIカード4に発行する回路であり、ANDゲート311およびセレクタ312から構成されている。
【0047】
ANDゲート311は、一方の入力端子に、診断プロセッサ3からリクエストの発行指示が出ているか否かを示す値、すなわち診断I/F制御部10の発行指示レジスタ201の値が入力され、他方の入力端子に、CPU2からリクエストの発行指示が出ているか否かを示す値が入力される。
【0048】
セレクタ312は、ANDゲート311の出力が“1”である場合、すなわちCPU2の発行指示がない状態で、診断プロセッサ3の発行指示があった場合には、データ生成回路30で生成されたリクエストデータを選択する。一方、ANDゲート311の出力が“0”である場合、すなわちCPU2の発行指示と診断プロセッサ3の発行指示が競合した場合には、CPU2からの発行指示を優先し、CPU2からのリクエストデータを選択する。
【0049】
このように、発行制御部11では、診断プロセッサ3の発行指示に基づき生成されたリクエストデータは、CPU2の発行指示が空いた場合にのみ発行するようにしている。ただし、その結果、診断プロセッサ3の発行指示に基づくリクエストデータの発行は、診断プロセッサ3が発行指示を出してから待機させられる可能性がある。そのため、発行制御部11は、実際にリクエストデータを発行したとき、すなわちANDゲート311の出力が“1”になったときに、診断I/F制御部10に発行報告を通知するようにし、この通知を受け取るまでは、診断I/F制御部10は、常に発行指示中の状態にしておく。
【0050】
次に、受信制御部12の詳細な構成について説明する。
【0051】
図4は、図1に示した受信制御部12の一構成例を示すブロック図である。
【0052】
図4を参照すると、受信制御部12は、データ判定回路40、宛先判定回路41、データ抽出回路42、および完了通知回路43から構成されている。
【0053】
データ判定回路40は、PCIカード4からPCIバスI/F13を介してデータを受信すると、受信したデータ内にあるコマンド情報を抽出し、抽出したコマンド情報に基づいてリクエストデータまたはリプライデータのいずれであるかを判定する。なお、データ判定回路40は、受信したデータがCPU2からのリクエストデータである場合は、そのリクエストデータをCPU2に返却する。
【0054】
宛先判定回路41は、データ判定回路40で判定されたリプライデータ内にある宛先情報を抽出し、抽出した宛先情報に基づいてリプライデータの宛先がCPU2または診断プロセッサ3のどちらであるか、すなわち、そのリプライデータがCPU2または診断プロセッサ3のどちらの発行指示に対するリプライデータであるかを判定する。
【0055】
データ抽出回路42は、データ判定回路40で判定されたリプライデータから、PCIカード4でのエラーの有無を示す完了結果ステータス、さらに、PCIカード4で読み出し処理が行われた場合は読み出しデータを抽出し、診断I/F制御部10に出力する。なお、データ抽出回路42は、リプライデータの宛先がCPU2または診断プロセッサ3のどちらであるかに関わらず、リプライデータから完了結果ステータス(読み出しの場合は、完了結果ステータスと読み出しデータ)を常時抽出して診断I/F制御部10に出力するようにしている。
【0056】
完了通知回路43は、診断I/F制御部10に対し、リプライデータの受信を完了したことを示す完了報告を通知するか、または、CPU2に対し、リプライデータが有効であることを示すリプライ報告を通知する回路であり、ANDゲート431,432から構成されている。
【0057】
ANDゲート431は、一方の入力端子に、リプライデータの送信元のPCIカード4からPCIバスI/F13を介して、そのリプライデータの有効性を示すデータValidが入力され、他方の入力端子に、宛先判定回路41の宛先判定結果が入力される。また、ANDゲート432は、一方の入力端子に、データValidが入力され、他方の入力端子に、宛先判定回路41の宛先判定結果が反転入力される。
【0058】
従って、宛先判定回路41がリプライデータの宛先をCPU2と判定して宛先判定結果“1”を出力し、データValidが有効であることを示す“1”である場合は、CPU2に対してはリプライデータが有効であることを示すリプライ報告“1”が出力されるが、診断I/F制御部10に出力される完了報告は“0”のままである。逆に、宛先判定回路41がリプライデータの宛先を診断プロセッサ3と判定して宛先判定結果“0”を出力し、データValidが“1”である場合は、診断I/F制御部10に対してはリプライデータの受信を完了したことを示す完了報告“1”が出力されるが、CPU2に出力されるリプライ報告は“0”のままである。
【0059】
このように、完了通知回路43は、CPU2へのリプライ報告と診断プロセッサ3への完了報告とが両方に重複して通知されないように排他制御にしてある。
【0060】
なお、診断I/F制御部10は、完了通知回路43からの完了報告が“1”になったことをトリガとして、データ抽出回路42から常時出力されている完了結果ステータス(読み出しの場合は、完了結果ステータスと読み出しデータ)を取り込み、該当するレジスタに登録するようにする。
【0061】
以下に、図1に示した情報処理装置6における診断プロセッサ3からPCIカード4へのアクセス方法について、図5のフローチャートを参照して説明する。
【0062】
図5を参照すると、まず、診断プロセッサ3は、PCIカード4に対するリクエストの発行指示を診断I/F制御部10へ通知すると同時に、ストール監視用の監視タイマーを起動する(ステップ501)。
【0063】
これを受けて、診断I/F制御部10は、リクエスト種別レジスタ204にリクエスト種別情報を、アドレスレジスタ211に書き込み場所または読み出し場所となるPCIカード4上のアドレスを、さらに、リクエストの種別が書き込みである場合はデータレジスタ212に書き込みデータをそれぞれ登録するとともに、発行指示レジスタ201に“1”を、完了報告レジスタ202に“0”をそれぞれ登録する(ステップ502)。
【0064】
次に、発行制御部11は、リクエスト種別レジスタ204に登録されたリクエスト種別情報、アドレスレジスタ211に登録されたPCIカード4上のアドレス、さらに、リクエストの種別が書き込みである場合はデータレジスタ212に登録された書き込みデータに基づき、PCIカード4に対するリクエストデータを生成する(ステップ503)。
【0065】
次に、発行制御部11は、発行指示レジスタ201を参照し、発行指示ステータスが“1”であるか否か、すなわち、診断プロセッサ3からのリクエストの発行指示があるか否かを判定する(ステップ504)。
【0066】
ところで、発行指示は、CPU2からのものと診断プロセッサ3からのものとの2種類があり、発行指示が競合した場合は、CPU2からのものを優先する。そこで、ステップ504で診断プロセッサ3からの発行指示があると判定した場合、続いて、発行制御部11は、CPU2からの発行指示があるか否かを判定する(ステップ505)。
【0067】
発行制御部11は、ステップ505でCPU2からの発行指示がないと判定した場合、ステップ503で診断プロセッサ3からの発行指示に基づき生成したリクエストデータをPCIカード4に対して発行する(ステップ506)。
【0068】
発行制御部11からPCIカード4に対してリクエストデータが発行されると、PCIカード4は、リクエストデータに応じて書き込み処理または読み出し処理を行う。受信制御部12は、PCIカード4での処理が完了するまで、PCIカード4からのリプライデータの受信待ち状態になる(ステップ507)。
【0069】
受信制御部12は、PCIカード4からリプライデータを受信すると、リプライデータ内の宛先情報に基づいて、リプライデータの宛先が診断プロセッサ3またはCPU2のどちらであるかを判定する(ステップ508)。リプライデータの宛先が診断プロセッサ3であった場合は、受信制御部12は、診断I/F制御部10に対し、完了報告を通知するとともに、PCIカード4でのエラーの有無を示す完了結果ステータスをリプライデータから抽出して通知し、さらに、PCIカード4で読み出し処理が行われた場合は読み出しデータをリプライデータから抽出して通知する(ステップ509)。
【0070】
診断I/F制御部10は、受信制御部12からの完了報告の通知を受けると、完了結果ステータスを完了結果レジスタ203に登録し、さらに、PCIカード4で読み出し処理が行われた場合は読み出しデータをデータレジスタ212に登録する。最後に、診断I/F制御部10は、完了報告レジスタ202を“0”から“1”に切り替える(ステップ510)。
【0071】
診断プロセッサ3は、ステップ501で発行指示を出してから、定期的に完了報告レジスタ202を参照しており、完了報告レジスタ202が“1”になると、受信制御部12でのリクエストデータの受信が完了した判断し、完了結果レジスタ203から完了結果ステータスを読み出し、さらに、PCIカード4で読み出し処理が行われた場合はデータレジスタ212から読み出しデータを読み出す(ステップ511)。
【0072】
以上の処理により、診断プロセッサ3からPCIカード4に対する一連のアクセス処理が完了する。
【0073】
上記の一連のアクセス処理中、診断プロセッサ3は、ストール監視を行っており、ステップ501で起動した監視タイマーの値がある規定値を超えても処理が終わらない場合はストールしたものと判断し、強制的に全ての処理を終了させる(ステップ512)。
【図面の簡単な説明】
【0074】
【図1】本発明の一実施形態による情報処理装置の構成を示すブロック図である。
【図2】図1に示した診断I/F制御部の構成を示すブロック図である。
【図3】図1に示した発行制御部の構成を示すブロック図である。
【図4】図1に示した受信制御部の構成を示すブロック図である。
【図5】図1に示した情報処理装置における診断プロセッサからPCIカードへのアクセス方法を説明するフローチャートである。
【符号の説明】
【0075】
1 診断アクセス装置
2 CPU
3 診断プロセッサ
4 PCIカード
5 端末
6 情報処理装置
10 診断I/F制御部
11 発行制御部
12 受信制御部
13 PCIバスI/F

【特許請求の範囲】
【請求項1】
CPUと、PCIカードと、前記CPUとは独立に動作し、前記PCIカードにて発生した障害の診断を行う診断プロセッサとを有する情報処理装置において、
前記CPUとは独立に動作し、前記診断プロセッサからのリクエストの発行指示に基づいて書き込み処理または読み出し処理を実行させるためのリクエストデータを前記PCIカードに対して発行し、当該リクエストデータに応じて前記PCIカードにて行われた書き込み処理または読み出し処理の結果を示すリプライデータを前記PCIカードから受信する診断アクセス装置をさらに有する情報処理装置。
【請求項2】
前記診断アクセス装置は、
前記診断プロセッサから指示されたリクエストの種別が書き込み処理または読み出し処理のいずれであるかを示すリクエスト種別情報と、前記診断プロセッサから書き込み場所または読み出し場所として指示された前記PCIカード上のアドレスとを登録し、さらに、前記リクエストの種別が書き込み処理である場合は前記診断プロセッサから指示された書き込みデータを登録する診断I/F制御部と、
前記診断I/F制御部に登録された前記リクエスト種別情報と前記PCIカード上のアドレスとを用い、さらに、前記リクエストの種別が書き込みである場合は前記診断I/F制御部に登録された書き込みデータを用いて、前記リクエストデータを生成して前記PCIカードに発行する発行制御部と、
前記発行制御部にて発行されたリクエストデータに応じた前記リプライデータを前記PCIカードから受信し、当該リプライデータから、前記PCIカードでの処理中のエラーの有無を示す完了結果ステータスを抽出し、さらに、前記PCIカードで読み出し処理が行われた場合は読み出しデータを抽出する受信制御部とをさらに有し、
前記診断I/F制御部は、前記受信制御部にて抽出された前記完了結果ステータスを登録し、さらに、前記PCIカードで読み出し処理が行われた場合は前記受信制御部にて抽出された読み出しデータを登録する、請求項1に記載の情報処理装置。
【請求項3】
前記発行制御部は、前記診断プロセッサからのリクエストの発行指示に基づいて前記リクエストデータを生成した際、前記CPUからのリクエストの発行指示を受けていないことを確認した上で、前記生成したリクエストデータを前記PCIカードに発行する、請求項2に記載の情報処理装置。
【請求項4】
前記診断プロセッサは、ネットワークI/Fを有し、前記情報処理装置の外部に設けられた端末とネットワークを介して接続可能に構成されている、請求項2または3に記載の情報処理装置。
【請求項5】
CPUと、PCIカードと、前記CPUとは独立に動作し、前記PCIカードにて発生した障害の診断を行う診断プロセッサと有する情報処理装置における前記診断プロセッサから前記PCIカードへのアクセス方法であって、
前記CPUとは独立に動作する診断アクセス装置を設け、
前記診断アクセス装置が、前記診断プロセッサからのリクエストの発行指示に基づいて書き込み処理または読み出し処理を実行させるためのリクエストデータを前記PCIカードに対して発行するステップと、
前記診断アクセス装置が、前記リクエストデータに応じて前記PCIカードにて行われた書き込み処理または読み出し処理の結果を示すリプライデータを前記PCIカードから受信するステップとを有する方法。
【請求項6】
CPUと、PCIカードと、前記CPUとは独立に動作し、前記PCIカードにて発生した障害の診断を行う診断プロセッサと有する情報処理装置における前記診断プロセッサから前記PCIカードへのアクセス方法であって、
前記CPUとは独立に動作する診断アクセス装置を設け、
前記診断アクセス装置が、前記診断プロセッサから指示されたリクエストの種別が書き込み処理または読み出し処理のいずれであるかを示すリクエスト種別情報と、前記診断プロセッサから書き込み場所または読み出し場所として指示された前記PCIカード上のアドレスとを記憶装置に登録し、さらに、前記リクエストの種別が書き込み処理である場合は前記診断プロセッサから指示された書き込みデータを記憶装置に登録する第1のステップと、
前記診断アクセス装置が、前記第1のステップで記憶装置に登録された前記リクエスト種別情報と前記PCIカード上のアドレスとを用い、さらに、前記リクエストの種別が書き込みである場合は前記第1のステップで記憶装置に登録された書き込みデータを用いて、書き込み処理または読み出し処理を実行させるためのリクエストデータを生成して前記PCIカードに発行する第2のステップと、
前記診断アクセス装置が、前記第2のステップで発行されたリクエストデータに応じて前記PCIカードにて行われた書き込み処理または読み出し処理の結果を示すリプライデータを前記PCIカードから受信し、当該リプライデータから、前記PCIカードでの処理中のエラーの有無を示す完了結果ステータスを抽出し、さらに、前記PCIカードで読み出し処理が行われた場合は読み出しデータを抽出する第3のステップと、
前記診断アクセス装置が、前記第3のステップで抽出された前記完了結果ステータスを記憶装置に登録し、さらに、前記PCIカードで読み出し処理が行われた場合は前記第3のステップで抽出された読み出しデータを記憶装置に登録する第4のステップとを有する方法。
【請求項7】
前記第2のステップでは、前記診断プロセッサからのリクエストの発行指示に基づいて前記リクエストデータを生成した際に、前記CPUから発行指示を受けていないことを確認した上で、前記生成したリクエストデータを前記PCIカードに発行する、請求項6に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2007−128435(P2007−128435A)
【公開日】平成19年5月24日(2007.5.24)
【国際特許分類】
【出願番号】特願2005−322411(P2005−322411)
【出願日】平成17年11月7日(2005.11.7)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FLOPPY
【出願人】(000168285)エヌイーシーコンピュータテクノ株式会社 (572)
【Fターム(参考)】