JP2008176477A - Computer system - Google Patents

Computer system Download PDF

Info

Publication number
JP2008176477A
JP2008176477A JP2007008185A JP2007008185A JP2008176477A JP 2008176477 A JP2008176477 A JP 2008176477A JP 2007008185 A JP2007008185 A JP 2007008185A JP 2007008185 A JP2007008185 A JP 2007008185A JP 2008176477 A JP2008176477 A JP 2008176477A
Authority
JP
Japan
Prior art keywords
transaction
computer system
controller
failure
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007008185A
Other languages
Japanese (ja)
Inventor
Shiyouki Murakami
祥基 村上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007008185A priority Critical patent/JP2008176477A/en
Publication of JP2008176477A publication Critical patent/JP2008176477A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a computer system enabling a computer system administrator to easily specify a defective portion when a hardware failure occurs due to an operation of the computer system not intended by a designer, such as a timeout failure. <P>SOLUTION: In the computer system, a chip set 110 as a circuit to manage data transfer between a processor 101 and a memory 107, and an expansion card 106 comprises a circuit 203 to record memory accesses issued by the processor 101 or the expansion card 106 or access history to the expansion card 106 in the chip set. The computer system is equipped with a means in which the recorded history information is sent to the computer system administrator together with a failure notice in case of failure or the computer system administrator read the information from the outside. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、計算機システムに係り、特に計算機で障害が発生した時に、障害解析のための情報を外部から取り出す手段を備えた計算機システムに関する。   The present invention relates to a computer system, and more particularly to a computer system provided with means for extracting information for failure analysis from the outside when a failure occurs in the computer.

稼動中の計算機システムでハードウェア障害を検出した時は、障害部位を特定して切り離し又は切り替えを行い、計算機システムを止めずに実行中の処理を継続する事が、計算機システムに求められる。また、計算機システムがハードウェア障害により止まってしまった場合には、障害部位を特定してから交換し、素早く計算機システムを復旧して処理を再開する事が計算機システムに求められる。そのため、高い信頼性と可用性を保証する計算機システムは、計算機システムの各構成要素に、ハードウェア障害を検出し障害部位を特定する事ができるエラー検出機構を一般的に備える。具体的には、計算機システムの構成要素の1つであるプロセッサのキャッシュメモリ、システム・バス、メインメモリ等においては、パリティビット、もしくはECC(Error Correcting Code)をデータに付加し、データを各構成要素から読み出した際に、パリティエラーもしくはECCエラーの形で不正データの検出を行う機構を備える。それにより、キャッシュメモリ等の各構成要素からデータを読み出した時に、パリティエラーもしくはECCエラーを検出した際には、エラーが発生した構成要素を障害部位として特定する事ができる。パリティビットやECC以外の障害部位の特定を可能とするエラー検出機構としては、例えばPCIバスのトランザクション処理における、マスタアボート検出機構及びSERR信号アサートによるエラー報告機構が挙げられる。マスタアボート検出は、PCIバスのイニシエータのリクエストに対し、ターゲットデバイスが応答を返さなかったことを検出する。したがって、マスタアボート検出機構を用いると、ターゲットデバイスが障害部位であると特定する事ができる。また、SERR信号のアサートは、ブリッジ又はPCIデバイスなどのPCIバスのエージェントで致命的な障害が発生した事を示す。したがって、PCIバスでのSERR信号のアサートにより、PCIバスのエージェントが障害部位であると推定する事ができる。   When a hardware failure is detected in an operating computer system, the computer system is required to identify the faulty part, isolate or switch, and continue the processing being executed without stopping the computer system. Further, when the computer system stops due to a hardware failure, the computer system is required to identify and replace the failed part, quickly restore the computer system, and restart the processing. Therefore, a computer system that guarantees high reliability and availability generally includes an error detection mechanism that can detect a hardware fault and identify a faulty part in each component of the computer system. Specifically, in the processor cache memory, system bus, main memory, etc., which is one of the components of the computer system, a parity bit or ECC (Error Collecting Code) is added to the data, and the data is configured in each component. A mechanism is provided for detecting illegal data in the form of a parity error or ECC error when read from an element. As a result, when a parity error or an ECC error is detected when data is read from each component such as a cache memory, the component in which the error has occurred can be specified as a failure part. Examples of an error detection mechanism that enables identification of a failure site other than a parity bit and ECC include a master abort detection mechanism and an error report mechanism by asserting a SERR signal in a transaction processing of a PCI bus. The master abort detection detects that the target device has not returned a response to the request from the PCI bus initiator. Therefore, when the master abort detection mechanism is used, it is possible to specify that the target device is a failure part. The assertion of the SERR signal indicates that a fatal failure has occurred in the PCI bus agent such as a bridge or a PCI device. Therefore, by asserting the SERR signal on the PCI bus, it can be estimated that the agent on the PCI bus is the fault site.

しかし、計算機システムでハードウェア障害が発生した時に、先に説明したエラー検出機構を備えていても障害部位の特定ができない場合がある。先に説明したエラー検出機構は、設計者が計算システムを設計する際に予測し得るエラーを検出するものである。そのため、計算機システムが設計者の意図しない動作を行なって発生したか、もしくは故障により応答を返せないがために発生するハードウェア障害等では、先に説明したパリティエラーやECCエラー等のエラーが検出されず、障害部位を特定する事ができない。このようなハードウェア障害が発生した時、一般的な計算機システムでは、タイムアウト障害となる。計算機システムに任意のリクエストに対するハードウェアの応答時間を測定する機構を備え、一定時間リクエストに対し無応答であった時に、タイムアウトエラーを検出して、計算機システムの管理者にハードウェア障害発生を報告する。   However, when a hardware failure occurs in the computer system, the failure part may not be identified even if the error detection mechanism described above is provided. The error detection mechanism described above detects an error that can be predicted when a designer designs a calculation system. For this reason, errors such as parity errors and ECC errors described above are detected in the case of hardware failures that occur because the computer system performs an operation that is not intended by the designer, or because a failure cannot return a response. It is not possible to identify the site of failure. When such a hardware failure occurs, it becomes a timeout failure in a general computer system. The computer system is equipped with a mechanism to measure the hardware response time for any request. When there is no response to a request for a certain period of time, a timeout error is detected and a hardware failure is reported to the computer system administrator. To do.

タイムアウト障害が発生した時、計算機システムの管理者は、障害部位を推定するために、市販されているロジックアナライザ等のデジタル信号の観測装置を使用して計算機システム上のバス等でデジタル信号を観測し、障害部位を推定する必要がある。もしくは、特許文献1や特許文献2に記載されている技術のように、プロセッサバスのトレースを採取する機構を計算機システムに備えていれば、タイムアウト障害発生時に採取したプロセッサバスのトレースを見て障害部位を推定する。   When a time-out failure occurs, the computer system administrator uses a commercially available digital signal observation device such as a logic analyzer to observe the digital signal on a bus on the computer system in order to estimate the failure location. Therefore, it is necessary to estimate the site of failure. Alternatively, if the computer system is equipped with a mechanism for collecting processor bus traces as in the techniques described in Patent Document 1 and Patent Document 2, it is possible to check the processor bus traces collected when a timeout failure occurs. Estimate the site.

特開平5−324396公報JP-A-5-324396 特開平10−293702公報JP-A-10-293702

しかし、上記前者の手段では、まず観測装置を計算機システムに接続し、その後タイムアウト障害を再現させて障害発生時のデジタル信号を採取し、採取した結果を元に障害部位を特定する必要がある。そのため、計算機システムの管理者は、調査に多大な時間と労力を要する事になる。また、タイムアウト障害の再現率が非常に低いものであれば、調査そのものが不可能となる場合もある。一方、後者の手段では、計算機システムの管理者は、プロセッサバスなど計算機システムの1構成要素の信号履歴を追って障害部位を推定する必要がある。そのため、タイムアウト障害がトレースを採取した箇所に関連して発生したものでないと、障害部位を特定することは困難となる。   However, with the former means, it is necessary to first connect the observation apparatus to the computer system, then reproduce the time-out failure, collect a digital signal when the failure occurs, and specify the failure site based on the collected result. For this reason, the administrator of the computer system requires a great deal of time and labor for the investigation. In addition, if the reproduction rate of timeout failure is very low, the investigation itself may not be possible. On the other hand, in the latter means, the administrator of the computer system needs to estimate the faulty part by following the signal history of one component of the computer system such as the processor bus. For this reason, it is difficult to specify the faulty part unless the time-out fault has occurred in relation to the location where the trace is collected.

以上説明した通り、従来技術では、タイムアウト障害のように、計算機システムが設計者の意図しない動作を行ったか、もしくは故障してしまって発生するハードウェア障害が発生した時に、計算機システムの迅速な復旧を保証することができないため、高い信頼性と可用性を保証する計算機システムでは重大な問題となる。   As described above, in the prior art, when a computer system performs an operation not intended by the designer or a hardware failure occurs due to a failure, such as a timeout failure, the computer system can be quickly recovered. This is a serious problem in a computer system that guarantees high reliability and availability.

本発明の目的は、タイムアウト障害のように、計算機システムが設計者の意図しない動作を行ったか、もしくは故障してしまって発生するハードウェア障害が発生した時に、計算機システムの管理者が障害部位の推定を容易にすることができる計算機システムを提供することである。   The object of the present invention is that when a computer system performs an operation unintended by the designer, such as a timeout failure, or a hardware failure occurs due to a failure, the administrator of the computer system To provide a computer system capable of facilitating estimation.

本発明が提案する計算機システムは、計算機システムの内部でプロセッサ及びメモリ、拡張カード間のデータの受け渡しを管理する回路であるチップセットにおいて、プロセッサまたは拡張カードが発行したメモリアクセスもしくは拡張カードへのアクセスの履歴をチップセット内に記録する回路を備える。以降の説明では、計算機システム内でプロセッサまたは拡張カードが発行したメモリアクセス(メモリリード・ライト)もしくは拡張カードへのアクセス(I/Oリード・ライト)をトランザクションと称する。   The computer system proposed by the present invention is a memory access issued by a processor or an expansion card or an access to an expansion card in a chip set which is a circuit for managing the exchange of data between the processor, memory and expansion card in the computer system. Is provided with a circuit for recording the history in the chipset. In the following description, a memory access (memory read / write) issued by a processor or an expansion card in a computer system or an access to an expansion card (I / O read / write) is referred to as a transaction.

履歴情報を記録する回路は、トランザクションの宛先であるメモリアドレス・I/Oアドレス、メモリリード・ライト及びI/Oリード・ライトといったトランザクションの種別を記録し、障害発生時に計算機システムでどのようなトランザクション処理を実行していたのか、履歴情報を見る事で推測できるようにする。また、履歴情報を記録する回路は、チップセット内のトランザクション処理状態も履歴情報として記録し、障害発生時に、チップセット内でトランザクション処理がどのような状態で止まっているのか履歴情報を見ることで分かるようにする。トランザクション処理状態の一例としては、宛先であるメモリまたは拡張カードに対してトランザクションを発行したか、宛先のメモリまたは拡張カードはリードデータを返したか、チップセットはトランザクション発行元のプロセッサまたは拡張カードに対しリードデータを返したか等が挙げられる。そして履歴情報を記録する回路は、上記トランザクション処理状態を記録する際に、計算機システムで一意に定めた時刻を記録する。具体的には、履歴情報を採取する各回路に、計算機システム内で同期して同じ値をカウントするカウンタを用意し、トランザクション処理状態を記録する際に該カウンタの値を同時に記録する。それにより、計算機システムの管理者は、計算機システムで複数の履歴情報を採取した場合にも、同じ時間軸で各履歴情報を見る事ができる。   The circuit that records history information records the transaction type such as memory address / I / O address, memory read / write, and I / O read / write, which is the destination of the transaction, and what kind of transaction in the computer system when a failure occurs It is possible to guess whether the process was executed by looking at the history information. In addition, the circuit that records history information records the transaction processing status in the chipset as history information, and by looking at the history information on the transaction processing status in the chipset when a failure occurs. Make it understandable. As an example of the transaction processing state, a transaction is issued to the destination memory or expansion card, the destination memory or expansion card returns read data, or the chipset is to the transaction issuing processor or expansion card. For example, the read data is returned. The circuit for recording history information records the time uniquely determined by the computer system when recording the transaction processing state. Specifically, a counter that counts the same value synchronously in the computer system is prepared for each circuit that collects history information, and the value of the counter is recorded simultaneously when the transaction processing state is recorded. Thereby, the administrator of the computer system can view each history information on the same time axis even when a plurality of history information is collected by the computer system.

また、本発明が提案する計算機システムは、記録した全チップセットのトランザクション処理状態の履歴情報を、障害発生時に障害通報と共に計算機システムの管理者に送るか、もしくは計算機システムの管理者が外部から任意のタイミングで読み出す手段を備える。   In addition, the computer system proposed by the present invention sends the recorded transaction processing state history information for all chipsets to the administrator of the computer system together with a failure notification when a failure occurs, or the administrator of the computer system arbitrarily selects from the outside. Means for reading out at the timing.

本発明によれば、タイムアウト障害のように、計算機システムが設計者の意図しない動作を行ったか、もしくは故障してしまって発生するハードウェア障害が発生した場合にも、計算機システムの管理者が障害発生時の全チップセット内でのトランザクション処理状態を知ることができるので、計算機システムの障害部位を特定することが容易となり、計算機システムの迅速な復旧を可能とする。   According to the present invention, even if a hardware failure occurs because the computer system has performed an operation not intended by the designer or a failure occurs, such as a timeout failure, the administrator of the computer system can Since it is possible to know the transaction processing state in all the chip sets at the time of occurrence, it becomes easy to identify the faulty part of the computer system, and it is possible to quickly restore the computer system.

以下、図面を用いて本発明の実施形態を詳細に説明する。図1は本発明で想定する計算機システムの一例である。本計算機システムは、ノードA 100とノードB 130、そしてノードA 100とノードB 130を接続するノード間リンク140、計算機システムの各構成要素を管理する管理モジュール150を備える。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is an example of a computer system assumed in the present invention. The computer system includes a node A 100 and a node B 130, an inter-node link 140 that connects the node A 100 and the node B 130, and a management module 150 that manages each component of the computer system.

ノード間リンク140は、ノードA 100とノードB 130間でトランザクション情報の送信・受信を可能とするものであり、クロスバーや完全結合網など、構築する計算機システムに適した接続手段で実現することができる。本説明におけるトランザクション情報とは、計算機システム内でトランザクションを処理するために必要な情報を指す。具体的には、アクセス対象のメモリアドレスとI/Oアドレス、メモリリード・ライト及びI/Oリード・ライトといったトランザクションの種別、そして計算機システム内でトランザクションを一意に管理するためのトランザクション識別子、リードしたまたはライトするデータ、ライト処理を実施したことを報告するためのACKとリードまたはライト処理を実施出来なかった事を報告するためのNACKのことである。トランザクション情報は、トランザクションパス171を介して、計算機システム内の各構成要素間で発行・受信される。   The inter-node link 140 enables transmission / reception of transaction information between the node A 100 and the node B 130, and is realized by a connection means suitable for the computer system to be constructed, such as a crossbar or a fully connected network. Can do. The transaction information in this description refers to information necessary for processing a transaction in the computer system. Specifically, the memory address and I / O address to be accessed, the transaction type such as memory read / write and I / O read / write, and the transaction identifier for uniquely managing the transaction in the computer system are read. Or, it is data to be written, ACK for reporting that the write process has been performed, and NACK for reporting that the read or write process could not be performed. Transaction information is issued / received between each component in the computer system via the transaction path 171.

管理モジュール150の機能は、計算機システムの各構成要素の電源管理(投入/切断)、構成要素情報の管理、障害発生時の計算機システム内トランザクション情報・処理状態履歴の採取・障害通報、システム内環境(温度・電源)監視である。本実施例では、管理用コンソール160と管理モジュール150は、LAN I/F170を介して通信が可能である。ただし、管理用コンソール160と管理モジュール150間の通信手段は特に制限するものではなく、例えばシリアルケーブルを使用して通信しても良い。計算機システムの使用者は、管理用コンソール160を使用して、管理モジュール150を介し計算機システムの管理/操作を行なうことができる。管理モジュール150は、計算機システム内の障害が発生したノードから障害通報を受けた時、計算機システムを構成する各ノードに対しトランザクション情報・処理状態履歴の採取要求を出す。そして、採取要求に対し各ノードからトランザクション情報・処理状態履歴の情報が返ってきたら、管理用コンソール160に対し障害通報と共に採取した各ノードのトランザクション情報・処理状態履歴を送信する。その結果、計算機システムの管理者は、管理用コンソール160に示された障害通報により障害が発生した事を知ることができ、障害通報と共に送られた各ノードのトランザクション情報・処理状態履歴を見る事で、エラー内容が障害部位を特定できるものではなくても、障害部位を特定する事が可能となる。また、管理モジュール150は、計算機システムの管理者が管理用コンソール160を介してトランザクション情報・処理状態履歴の採取要求を出した場合にも、計算機システムを構成する各ノードに対しトランザクション情報・処理状態履歴の採取要求を出す。そして、採取要求に対し各ノードからトランザクション情報・処理状態履歴の情報が返ってきたら、管理用コンソール160に対し各ノードのトランザクション情報・処理状態履歴を送信する。   The functions of the management module 150 are: power management (turn on / off) of each component of the computer system, management of component information, collection of transaction information in the computer system / processing state history at the time of failure, failure notification, system environment (Temperature / Power) monitoring. In this embodiment, the management console 160 and the management module 150 can communicate via the LAN I / F 170. However, the communication means between the management console 160 and the management module 150 is not particularly limited, and communication may be performed using, for example, a serial cable. A user of the computer system can manage / operate the computer system via the management module 150 using the management console 160. When the management module 150 receives a failure report from a node in the computer system where a failure has occurred, the management module 150 issues a transaction information / processing state history collection request to each node constituting the computer system. When the transaction information / processing state history information is returned from each node in response to the collection request, the transaction information / processing state history of each node collected together with the failure notification is transmitted to the management console 160. As a result, the administrator of the computer system can know that a failure has occurred by the failure notification shown on the management console 160, and can view the transaction information / processing state history of each node sent together with the failure notification. Thus, even if the error content does not identify the faulty part, the faulty part can be specified. The management module 150 also sends the transaction information / processing status to each node constituting the computer system even when a computer system administrator issues a transaction information / processing status history collection request via the management console 160. Issue a history collection request. When the transaction information / processing state history information is returned from each node in response to the collection request, the transaction information / processing state history of each node is transmitted to the management console 160.

ノードA 100は、プロセッサ101及び102、プロセッサバス(第1のパス)103、ノード内管理回路104、I/Oブリッジ105、PCIデバイス106、メモリ107、PCIバス108、チップセット110を備える。本実施例では、拡張カードとして一般的なPCIデバイスを採用したが、もちろんこれに制限するものではなく、例えば最新のPCI−Expressデバイスでも良い。また、ノードB 130はノードA 100と全く同じ構成要素を持つものとする。また、本実施例では2ノード構成としたが、ノード数も特に規定するものではない。   The node A 100 includes processors 101 and 102, a processor bus (first path) 103, an intra-node management circuit 104, an I / O bridge 105, a PCI device 106, a memory 107, a PCI bus 108, and a chipset 110. In this embodiment, a general PCI device is used as an expansion card. However, the present invention is not limited to this, and for example, the latest PCI-Express device may be used. Node B 130 has exactly the same components as node A 100. In this embodiment, a two-node configuration is used, but the number of nodes is not particularly specified.

プロセッサバス103は、プロセッサ101及び102と、チップセット110を接続し、プロセッサ101及び102とチップセット110間のトランザクション情報の発行・受信を行う。   The processor bus 103 connects the processors 101 and 102 and the chipset 110, and issues and receives transaction information between the processors 101 and 102 and the chipset 110.

ノード内管理回路104は、障害情報通知パス172を介したチップセット110の各構成要素からの障害通報の受信と、障害情報採取パス173を介したプロセッサバスコントローラ111及びI/Oコントローラ112からのトランザクション情報・処理状態履歴の入手、そして管理モジュール150への障害通報を行う。ノード内管理回路104はLAN I/F(第2のパス)170を介して管理モジュール150と通信可能であり、障害通報を受けた管理モジュール150は、計算機システムを構成する各ノードのノード内管理回路104を介して、各ノードのプロセッサバスコントローラ111及びI/Oコントローラ112からトランザクション情報・処理状態履歴を採取する。   The intra-node management circuit 104 receives a failure notification from each component of the chipset 110 via the failure information notification path 172 and receives information from the processor bus controller 111 and the I / O controller 112 via the failure information collection path 173. Acquisition of transaction information and processing state history, and failure notification to the management module 150 are performed. The intra-node management circuit 104 can communicate with the management module 150 via the LAN I / F (second path) 170, and the management module 150 that has received the fault report manages the intra-node of each node constituting the computer system. Transaction information / processing state history is collected from the processor bus controller 111 and the I / O controller 112 of each node via the circuit 104.

I/Oブリッジ105は、PCIバス108を介してチップセット110とPCIデバイス106を接続し、チップセット110とPCIデバイス106間のデータの発行・受信を行う。   The I / O bridge 105 connects the chip set 110 and the PCI device 106 via the PCI bus 108, and issues / receives data between the chip set 110 and the PCI device 106.

チップセット110は、プロセッサバスコントローラ111、I/Oコントローラ112、メモリコントローラ113、ノード間リンクコントローラ114を備える。   The chip set 110 includes a processor bus controller 111, an I / O controller 112, a memory controller 113, and an inter-node link controller 114.

プロセッサバスコントローラ111は、プロセッサ101またはプロセッサ102が発行したトランザクション及びライトデータを、プロセッサバス103を介して受信し、トランザクション情報を見て、リード・ライト対象となるチップセット110の構成要素に対し、トランザクション及びライトデータを発行する。例えば、ノードA 100にあるプロセッサコントローラ111においては、トランザクションのアクセス対象のアドレスがノードAのメモリ107宛てであればメモリコントローラ113に、もしくはノードAのPCIデバイス106宛てであればI/Oコントローラ112に、そしてノードBのメモリ107またはPCIデバイス106宛てであればノード間リンクコントローラ114にトランザクション及びライトデータを発行する。また、プロセッサバスコントローラ111は、チップセット110の各構成要素から送信されたリードデータを、プロセッサバス103を介してプロセッサ101または102に送信する。プロセッサバスコントローラ111は、本発明の特徴であるトランザクション情報・処理状態の履歴を記録する回路を備えているので、内部構成及び処理内容について後で詳細に説明する。   The processor bus controller 111 receives the transaction and write data issued by the processor 101 or the processor 102 via the processor bus 103, looks at the transaction information, and reads the component information of the chipset 110 to be read / written. Issue transaction and write data. For example, in the processor controller 111 in the node A 100, if the transaction access address is addressed to the memory 107 of the node A, the I / O controller 112 is addressed to the memory controller 113. If the address is addressed to the memory B of the node B or the PCI device 106, the transaction and write data are issued to the inter-node link controller 114. The processor bus controller 111 transmits the read data transmitted from each component of the chipset 110 to the processor 101 or 102 via the processor bus 103. Since the processor bus controller 111 includes a circuit for recording transaction information / processing state history, which is a feature of the present invention, the internal configuration and processing contents will be described in detail later.

I/Oコントローラ112は、計算機システム内の各プロセッサまたは他ノードにあるPCIデバイスが発行したI/Oリード・ライト及びライトデータを、I/Oブリッジ105を介してPCIデバイス106に発行する。また、PCIデバイス106からリードしたデータを、トランザクション発行元であるプロセッサまたはPCIデバイスに対して発行する。I/Oライトの場合は、I/OライトとライトデータをI/Oブリッジ105を介してPCIデバイス106に発行した時点で、I/Oコントローラ112は、トランザクション発行元のプロセッサまたはPCIデバイスに対してACKを発行する。もしI/Oブリッジ105及びPCIバス108、そしてPCIデバイス106において障害が発生し、PCIデバイス106に対してI/OリードもしくはI/Oライトとライトデータを発行できない場合、I/Oコントローラ112は、トランザクション発行元のプロセッサまたはPCIデバイスに対してNACKを発行する。障害の具体例としては、PCIデバイス106の故障が発生し、PCIデバイス106がトランザクションに対し無応答、もしくはPCIバス108でSERR信号がアサートされている等が挙げられる。PCIデバイス106は、プロセッサと同様にメモリ107または他ノードのPCIデバイス106に対しリード・ライトトランザクション及びライトデータを発行する。そのため、I/Oコントローラ112は、PCIデバイス106が発行したトランザクション及びライトデータを、I/Oブリッジ105を介して受け取り、トランザクション情報を見て、リード・ライト対象となる構成要素に対しトランザクション及びライトデータを発行する。また、プロセッサバスコントローラ110は、チップセット110の各構成要素から送信されたリードデータを、I/Oブリッジ105を介してPCIデバイス106に送信する。I/Oコントローラ112も、プロセッサバスコントローラ111と同様に、本発明の特徴であるトランザクション情報・処理状態の履歴を記録する回路を備えているので、内部構成及び処理内容について後で詳細に説明する。   The I / O controller 112 issues I / O read / write and write data issued by the PCI device in each processor or other node in the computer system to the PCI device 106 via the I / O bridge 105. Also, the data read from the PCI device 106 is issued to the processor or PCI device that is the transaction issuing source. In the case of I / O write, when the I / O write and the write data are issued to the PCI device 106 via the I / O bridge 105, the I / O controller 112 sends the transaction issuing processor or PCI device. Issue an ACK. If a failure occurs in the I / O bridge 105, the PCI bus 108, and the PCI device 106, and the I / O read or I / O write and write data cannot be issued to the PCI device 106, the I / O controller 112 , NACK is issued to the transaction issuing processor or PCI device. Specific examples of the failure include a failure of the PCI device 106, the PCI device 106 not responding to the transaction, or the SERR signal being asserted on the PCI bus 108. The PCI device 106 issues a read / write transaction and write data to the memory 107 or the PCI device 106 of another node in the same manner as the processor. For this reason, the I / O controller 112 receives the transaction and write data issued by the PCI device 106 via the I / O bridge 105, sees the transaction information, and reads and writes the transaction and write to the component to be read / written. Publish data. Further, the processor bus controller 110 transmits read data transmitted from each component of the chipset 110 to the PCI device 106 via the I / O bridge 105. Similar to the processor bus controller 111, the I / O controller 112 also includes a circuit that records the transaction information / processing state history, which is a feature of the present invention, so the internal configuration and processing contents will be described in detail later. .

メモリコントローラ112は、計算機システム内の各プロセッサまたは各PCIデバイスが発行したメモリリード・ライト及びライトデータを、メモリ107に発行する。また、メモリ107からリードしたデータを、トランザクション発行元であるプロセッサまたはPCIデバイスに対して発行する。メモリライトの場合は、メモリライトとライトデータをメモリ107に発行した時点で、メモリコントローラ113は、トランザクション発行元のプロセッサまたはPCIデバイスに対してACKを発行する。また、I/Oコントローラ112と同様、メモリが故障したなどの障害が発生しメモリ107にメモリリードもしくはメモリライトとライトデータを発行できない場合、トランザクション発行元のプロセッサまたはPCIデバイスに対してNACKを発行する。   The memory controller 112 issues memory read / write and write data issued by each processor or each PCI device in the computer system to the memory 107. Also, the data read from the memory 107 is issued to the processor or PCI device that is the transaction issuer. In the case of memory write, when the memory write and write data are issued to the memory 107, the memory controller 113 issues an ACK to the transaction issuing processor or PCI device. Similarly to the I / O controller 112, when a failure such as a memory failure occurs and a memory read or memory write and write data cannot be issued to the memory 107, a NACK is issued to the transaction issuing processor or PCI device. To do.

ノード間リンクコントローラ114は、自ノード内のプロセッサまたはPCIデバイスが発行したトランザクション情報を、ノード間リンク140を介し、他ノードに対して発行、もしくは他ノードのプロセッサまたはPCIデバイスが発行したトランザクション情報を受信する。そして、ノード間リンクコントローラ114は、リード・ライト対象となる自ノード内の構成要素に対し、受信したトランザクション情報を発行する。   The inter-node link controller 114 issues transaction information issued by the processor or PCI device in the own node to other nodes via the inter-node link 140, or transaction information issued by the processor or PCI device of other nodes. Receive. Then, the inter-node link controller 114 issues the received transaction information to the components in the own node to be read / written.

以下、本発明の特徴であるトランザクション情報・処理状態の履歴を記録する回路を持つ、プロセッサバスコントローラ111の内部構成及び処理内容について、図2を用いて詳細に説明する。プロセッサバスコントローラ111は、プロセッサバスI/Fコントローラ200、トランザクションコントローラ201、管理回路I/Fコントローラ202、アドレスキュー203、データインキュー204、データアウトキュー205、他ユニットI/Fコントローラ206、障害報告回路207、カウンタ208を備える。   The internal configuration and processing contents of the processor bus controller 111 having a circuit for recording transaction information / processing state history, which is a feature of the present invention, will be described in detail with reference to FIG. The processor bus controller 111 includes a processor bus I / F controller 200, a transaction controller 201, a management circuit I / F controller 202, an address queue 203, a data in queue 204, a data out queue 205, another unit I / F controller 206, a failure report A circuit 207 and a counter 208 are provided.

プロセッサバスI/Fコントローラ200は、プロセッサバス103からプロセッサ101または102が発行したトランザクションまたはライトデータを受信、もしくはプロセッサバス103にリードデータを送信する。そしてトランザクション情報を受信した場合、プロセッサバスI/Fコントローラ200は、アドレスキュー203のトランザクション情報が無効なエントリに、トランザクション情報を格納する。無効なエントリが複数存在した時は、LRU方式でトランザクション情報を格納するようにすると、トランザクション情報を時系列で見ることができるので望ましい。もし無効なエントリがアドレスキュー203に無い場合、プロセッサバスI/Fコントローラ200はプロセッサがトランザクションまたはライトデータを発行できないように、プロセッサバス103の処理を止める。ライトデータをプロセッサバス103から受信した場合は、データインキュー204にライトデータを格納する。データアウトキュー205が発行したリードデータ及びACK、NACKを受けた場合は、プロセッサバス103にリードデータ及びACK、NACKを発行する。また、プロセッサバスI/Fコントローラ200は、プロセッサバス103の状態を監視し、プロセッサバス103で発生した障害を検知した場合は、障害報告回路207に障害通報を行なう。プロセッサバス103で検出する障害の具体例としては、トランザクションの対象アドレスのパリティエラー、リード・ライトデータのECCエラー等が挙げられる。   The processor bus I / F controller 200 receives a transaction or write data issued by the processor 101 or 102 from the processor bus 103, or transmits read data to the processor bus 103. When the transaction information is received, the processor bus I / F controller 200 stores the transaction information in an entry in which the transaction information in the address queue 203 is invalid. When there are a plurality of invalid entries, it is desirable to store the transaction information by the LRU method because the transaction information can be viewed in time series. If there is no invalid entry in the address queue 203, the processor bus I / F controller 200 stops processing of the processor bus 103 so that the processor cannot issue a transaction or write data. When write data is received from the processor bus 103, the write data is stored in the data in queue 204. When the read data and ACK and NACK issued by the data out queue 205 are received, the read data, ACK and NACK are issued to the processor bus 103. Further, the processor bus I / F controller 200 monitors the state of the processor bus 103 and, when detecting a failure occurring in the processor bus 103, notifies the failure report circuit 207 of a failure. Specific examples of the failure detected by the processor bus 103 include a parity error of a transaction target address, an ECC error of read / write data, and the like.

アドレスキュー203は、トランザクション処理がチップセット110内で完了するまで、トランザクション情報を格納する回路である。アドレスキュー203は、トランザクションを格納した事をトランザクションコントローラ201に通知するのみで、アドレスキュー203からのトランザクション発行及びトランザクション処理が完了した時のトランザクション情報の無効化制御は、トランザクションコントローラ201が行なう。図3にアドレスキュー203の構成例を示す。図3のアドレスキューは、エントリ数をnとした時の例である。nの数は、実現する計算機システムに適した値に設定すればよい。例えば、プロセッサがチップセットに同時に発行できるトランザクションの数か、もしくはトランザクション情報・処理状態の履歴を採取したい数等にすればよい。エントリ番号300は、エントリ番号を格納する。バリッドビット301は、“1”の場合エントリに格納しているトランザクション情報が有効であることを示し、“0”の場合無効であることを示す。対象アドレス302は、トランザクションが対象とするメモリアドレスもしくはI/Oアドレスを格納する。種別303は、メモリリード・ライト、I/Oリード・ライトといったトランザクション種別を格納する。識別子304は、計算機システム内でトランザクションを一意に識別できる番号を格納する。   The address queue 203 is a circuit that stores transaction information until transaction processing is completed in the chipset 110. The address queue 203 only notifies the transaction controller 201 that the transaction has been stored, and the transaction controller 201 controls the invalidation of the transaction information when the transaction issuance from the address queue 203 and the transaction processing is completed. FIG. 3 shows a configuration example of the address queue 203. The address queue in FIG. 3 is an example when the number of entries is n. The number of n may be set to a value suitable for the computer system to be realized. For example, the number of transactions that the processor can issue to the chipset at the same time, or the number of transaction information / processing state history to be collected may be set. The entry number 300 stores an entry number. The valid bit 301 indicates that the transaction information stored in the entry is valid when “1” and is invalid when “0”. The target address 302 stores a memory address or I / O address targeted by the transaction. The type 303 stores transaction types such as memory read / write and I / O read / write. The identifier 304 stores a number that can uniquely identify a transaction in the computer system.

以下に説明するアドレスキュー203の構成要素は、チップセット110内でのトランザクション処理状態を示すものである。発行ステータス305は、トランザクションを宛先の構成要素に発行したことを示すフラグと、発行した時間を格納するカウンタ値を持つ。“フラグ”は、“1”の時にトランザクションを発行したことを示し、“0”の時に未発行であることを示す。また、“カウンタ値”は、トランザクションを発行した時のカウンタ208の値が入る。受信ステータス306は、プロセッサバス103からライトデータを受信したか、もしくはチップセット110の構成要素からリードデータ及びACK、NACKを受信した事を示す“状態”と、受信した時間を格納するカウンタ値を持つ。“状態”は、“data”の時にリード・ライトデータを受信したことを、“ack”または“nack”の時にACKまたはNACKを受信したことを、そして“0”の時に未受信であることを示す。また、カウンタ値は、リード・ライトデータ及びACK、NACKを受信した時のカウンタ208の値が入る。完了ステータス307は、リードデータ及びACK、NACKをプロセッサバス103に対して発行し、チップセット110内でのトランザクション処理が完了したことを示す“フラグ”と、トランザクション処理が完了した時間を格納するカウンタ値を持つ。フラグは、“1”の時にトランザクション処理が完了したことを示し、“0”の時にトランザクション処理が完了していないことを示す。また、カウンタ値は、トランザクション処理が完了した時のカウンタ208の値が入る。   The constituent elements of the address queue 203 described below indicate the transaction processing status in the chipset 110. The issue status 305 has a flag indicating that the transaction has been issued to the destination component, and a counter value for storing the issued time. “Flag” indicates that a transaction has been issued when “1”, and indicates that it has not been issued when “0”. Further, the “counter value” contains the value of the counter 208 when the transaction is issued. The reception status 306 includes a “status” indicating that write data has been received from the processor bus 103 or read data and ACK and NACK have been received from the components of the chipset 110, and a counter value for storing the received time. Have. “Status” indicates that read / write data has been received at “data”, ACK or NACK has been received at “ack” or “nack”, and not received at “0”. Show. The counter value is the value of the counter 208 when the read / write data, ACK and NACK are received. The completion status 307 is a counter that issues read data, ACK, and NACK to the processor bus 103 and stores a “flag” indicating that the transaction processing in the chipset 110 is completed, and the time when the transaction processing is completed. Has a value. The flag indicates that the transaction process is completed when “1”, and indicates that the transaction process is not completed when “0”. The counter value is the value of the counter 208 when the transaction processing is completed.

本実施例では、チップセット110内でのトランザクション処理状態を示す情報として3種類のステータス305〜307を示しているが、必要であれば別のステータスを追加してもよい。追加するステータスの一例としては、メモリのccNUMA構成を提供する計算機システムにおける、キャッシュ一致制御処理の完了/未完了のステータスを挙げる事ができる。また、チップセット内でのトランザクション処理状態がカウンタ値と共に記録されれば良いので、“フラグ”や“状態”等の処理状態の表現手段も特に規定するものではなく、実現する計算機システムに適した表現手段を用いれば良い。   In this embodiment, three types of statuses 305 to 307 are shown as information indicating the transaction processing state in the chipset 110, but other statuses may be added if necessary. As an example of the status to be added, the completion / non-completion status of the cache matching control processing in the computer system that provides the ccNUMA configuration of the memory can be mentioned. In addition, since the transaction processing state in the chipset only needs to be recorded together with the counter value, the processing state expression means such as “flag” and “state” are not particularly specified, and is suitable for the computer system to be realized. An expression means may be used.

データインキュー204は、ライトデータを格納するキューである。また、データアウトキュー205は、リードデータ及びACK、NACKを格納するキューである。データインキュー204及びデータアウトキュー205とも、格納したデータの発行指示は、トランザクションコントローラ201が行なう。また、本実施例では、データインキュー204及びデータアウトキュー205ともデータ及びACK、NACKを格納するエントリは、対応するトランザクション情報をアドレスキュー203に格納した時と同じエントリ番号であるエントリに格納するものとする。これにより、アドレスキュー203のバリッドビット301で、データインキュー204及びデータアウトキュー205に格納した情報の有効・無効判定を実現する。   The data-in queue 204 is a queue that stores write data. The data out queue 205 is a queue that stores read data, ACK, and NACK. In both the data-in queue 204 and the data-out queue 205, the transaction controller 201 issues an instruction to issue stored data. In this embodiment, both the data-in queue 204 and the data-out queue 205 store data, ACK, and NACK in the entry having the same entry number as when the corresponding transaction information is stored in the address queue 203. Shall. Accordingly, the validity / invalidity determination of the information stored in the data-in queue 204 and the data-out queue 205 is realized by the valid bit 301 of the address queue 203.

カウンタ208は、各ノードで共通のカウンタ値を示すものである。例えば、計算機システムを電源投入した際に各ノードで同期してカウンタのインクリメントを開始し、カウンタを同じ周波数で動作させれば、各ノードで共通なカウンタ値を実現できる。   The counter 208 indicates a counter value common to each node. For example, when the computer system is powered on, the counter is incremented synchronously at each node and the counter is operated at the same frequency, so that a common counter value can be realized at each node.

他ユニットI/Fコントローラ206は、トランザクションの宛先であるチップセット110の各構成要素に対し、アドレスキュー203から受信したトランザクション及びデータインキュー204から受信したライトデータを発行、もしくはトランザクションの宛先であるチップセット110の各構成要素からリードデータ及びACK、NACKを受信する。そしてリードデータ及びACK、NACKを受信した場合、他ユニットI/Fコントローラ206は、データアウトキュー205にリードデータ及びACK、NACKを格納する。また、他ユニットI/Fコントローラ206は、チップセット110の構成要素112〜113のI/Fを監視し、リードデータ及びACK、NACK受信時に障害を検知した場合は、障害報告回路207に障害通報を行なう。プロセッサバス103で検出する障害と同様に、トランザクションの対象アドレスのパリティエラー、リード・ライトデータのECCエラー等が挙げられる。   The other unit I / F controller 206 issues the transaction received from the address queue 203 and the write data received from the data-in queue 204 to each component of the chipset 110 that is the transaction destination, or is the transaction destination. Read data, ACK, and NACK are received from each component of the chipset 110. When the read data, ACK, and NACK are received, the other unit I / F controller 206 stores the read data, ACK, and NACK in the data out queue 205. In addition, the other unit I / F controller 206 monitors the I / F of the components 112 to 113 of the chipset 110, and if a failure is detected when receiving read data, ACK, or NACK, the failure reporting circuit 207 is notified of the failure. To do. Similar to the failure detected by the processor bus 103, a parity error of a transaction target address, an ECC error of read / write data, and the like can be given.

トランザクションコントローラ201は、トランザクションとリード・ライトデータ、そしてACKとNACKの制御を行なう。他ユニットI/Fコントローラ206から、宛先のチップセット110の構成要素がトランザクションもしくはライトデータを受信可能かどうかの情報を入手し、受信可能であればアドレスキュー203に対してトランザクション発行指示を、もしくはデータインキュー205に対してライトデータの発行指示を出す。また、プロセッサバスI/Fコントローラ200から、プロセッサバス103にリードデータ及びACK、NACKを発行出来るか否かの情報を入手し、発行可能であればデータアウトキュー205に対してリードデータ及びACK、NACKの発行指示を出す。データアウトキュー205に対してリードデータ及びACK、NACKの発行指示を出した際にトランザクションコントローラ201は、チップセット110内でのトランザクション処理が完了したと判断し、アドレスキュー203のバリッドビット301を“0”に更新し、アドレスキュー203及びデータインキュー204、データアウトキュー205に格納したトランザクション情報の無効化を行なう。エントリの無効化に際してバリッドビットのみ更新する理由は、トランザクション処理が完了したトランザクションの情報を見ることができるようにするためである。   The transaction controller 201 controls transactions, read / write data, and ACK and NACK. Information on whether or not the component of the destination chipset 110 can receive the transaction or write data is obtained from the other unit I / F controller 206, and if it can be received, a transaction issuance instruction is sent to the address queue 203, or An instruction to issue write data is issued to the data in queue 205. Further, information on whether or not read data and ACK and NACK can be issued to the processor bus 103 is obtained from the processor bus I / F controller 200, and if it can be issued, the read data and ACK, Issue a NACK issue instruction. When issuing an instruction to issue read data, ACK, and NACK to the data out queue 205, the transaction controller 201 determines that the transaction processing in the chipset 110 has been completed, and sets the valid bit 301 of the address queue 203 to “ The transaction information stored in the address queue 203, the data in queue 204, and the data out queue 205 is invalidated. The reason why only the valid bit is updated when the entry is invalidated is to enable viewing of information on a transaction for which transaction processing has been completed.

もう1つのトランザクションコントローラ201の機能は、アドレスキュー203のトランザクション処理状態を示すステータス305〜307を更新する事である。アドレスキュー203に対してトランザクション発行指示を出した際は、トランザクションコントローラ201は、発行ステータス305を更新する。また、リードデータ及びACK、NACKをデータアウトキュー205に格納した際は、格納したとの通知をデータアウトキュー205から受信し、受信ステータス306を更新する。もしくは、ライトデータをデータインキュー204に格納した際は、格納したとの通知をデータインキュー204から受信し、受信ステータス306を更新する。そして、データアウトキュー205に対してリードデータ及びACK、NACKの発行指示を出した際は、完了ステータス307を更新する。   Another function of the transaction controller 201 is to update the statuses 305 to 307 indicating the transaction processing state of the address queue 203. When a transaction issuance instruction is issued to the address queue 203, the transaction controller 201 updates the issuance status 305. When the read data, ACK, and NACK are stored in the data out queue 205, a notification that the read data, ACK, and NACK are stored is received from the data out queue 205, and the reception status 306 is updated. Alternatively, when the write data is stored in the data-in queue 204, a notification that it has been stored is received from the data-in queue 204, and the reception status 306 is updated. When a read data, ACK, or NACK issuance instruction is issued to the data out queue 205, the completion status 307 is updated.

トランザクションコントローラ201が検出する障害は、トランザクション処理のタイムアウトである。トランザクションコントローラ201は、アドレスキュー203にトランザクション情報を格納してから無効化するまでの時間を監視し、規定時間を越えてアドレスキュー203にトランザクション情報が有効であり続けた場合、トランザクション処理のタイムアウトが発生したと判断し、トランザクションコントローラ201は、障害通報を障害報告回路207に送信する。本実施例ではトランザクションコントローラ201が検出する障害をタイムアウト障害のみとしたが、実現する計算機システムの仕様に応じて、検出する障害の種類を増やしても良い。   The failure detected by the transaction controller 201 is a transaction processing timeout. The transaction controller 201 monitors the time from when the transaction information is stored in the address queue 203 until it is invalidated, and if the transaction information continues to be valid in the address queue 203 beyond the specified time, a transaction processing timeout may occur. The transaction controller 201 transmits a failure report to the failure report circuit 207 by determining that it has occurred. In this embodiment, the failure detected by the transaction controller 201 is only a timeout failure. However, the types of failures to be detected may be increased according to the specifications of the computer system to be realized.

障害報告回路207は、プロセッサバスI/Fコントローラ200及びトランザクションコントローラ201、そして他ユニットI/Fコントローラ206からの障害通報を、障害情報通知パス172を介してノード内管理回路104に発行する。   The failure report circuit 207 issues a failure report from the processor bus I / F controller 200, the transaction controller 201, and the other unit I / F controller 206 to the intra-node management circuit 104 via the failure information notification path 172.

管理回路I/Fコントローラ202は、ノード内管理回路104から障害情報採取パス173を介して送られてきたトランザクション情報・処理状態履歴の採取要求を処理する回路である。トランザクション情報・処理状態履歴の採取要求を受けた管理回路I/Fコントローラ202は、アドレスキュー203の全エントリのトランザクション情報・処理状態を読み出し、障害情報採取パス(第2のパス)173を介してノード管理回路104に読み出したトランザクション情報・処理状態を送信する。トランザクション情報・処理状態の採取に使用するパスはトランザクション情報を送るパスとは全く別のパスで実現し、障害が発生しチップセット110のトランザクション処理が止まったとしても、トランザクション情報・処理状態の履歴を管理モジュール150が採取できる事を保証する。   The management circuit I / F controller 202 is a circuit that processes a transaction information / processing state history collection request sent from the intra-node management circuit 104 via the failure information collection path 173. The management circuit I / F controller 202 that has received the transaction information / processing state history collection request reads the transaction information / processing state of all entries in the address queue 203, and passes the failure information collection path (second path) 173. The read transaction information / processing state is transmitted to the node management circuit 104. The path used for collecting the transaction information / processing state is realized by a completely different path from the path for sending the transaction information, and even if a failure occurs and the transaction processing of the chipset 110 stops, the transaction information / processing state history It is guaranteed that the management module 150 can collect data.

次に、プロセッサバスコントローラ111と同様に、本発明の特徴であるトランザクション情報・処理状態の履歴を記録する回路を持つI/Oコントローラ112の内部構成及び処理内容を、図4を用いて説明する。I/Oコントローラ112は、I/O I/Fコントローラ400、トランザクションコントローラ401、管理回路I/Fコントローラ402、アドレスキュー403、データインキュー404、データアウトキュー405、他ユニットI/Fコントローラ406、障害報告回路407、カウンタ408、他ユニット発I/O要求コントローラ409を備える。   Next, similar to the processor bus controller 111, the internal configuration and processing contents of the I / O controller 112 having a circuit for recording the history of transaction information and processing state, which is a feature of the present invention, will be described with reference to FIG. . The I / O controller 112 includes an I / O I / F controller 400, a transaction controller 401, a management circuit I / F controller 402, an address queue 403, a data in queue 404, a data out queue 405, another unit I / F controller 406, A failure report circuit 407, a counter 408, and an I / O request controller 409 originating from another unit are provided.

他ユニット発I/O要求コントローラ409は、計算機システム内の各プロセッサまたは他ノードにあるPCIデバイスが発行したI/Oリード・ライトを処理する回路である。I/O I/Fコントローラ400からI/Oブリッジ105にI/Oリード・ライト及びライトデータを発行可能との情報を得たら、他ユニット発I/O要求コントローラ409は、I/O I/Fコントローラ400を介して、I/Oブリッジ105にI/Oリード・ライト及びライトデータを発行する。また、他ユニット発I/O要求コントローラ409は、他ユニットI/Fコントローラ406から、宛先のチップセット110の構成要素がリードデータを受信可能かどうかの情報を入手し、受信可能であれば、PCIデバイス106からリードしたリードデータを、他ユニットI/Fコントローラ406を介して、トランザクション発行元であるプロセッサまたはPCIデバイスに対して発行する。I/Oライトの場合は、I/Oライト及びライトデータをI/Oブリッジ105を介してPCIデバイス106に発行した時点で、他ユニット発I/O要求コントローラ409は、トランザクション発行元のプロセッサまたはPCIデバイスに対してACKを発行する。もしI/Oブリッジ105及びPCIバス108、そしてPCIデバイス106において障害が発生し、PCIデバイス106に対してトランザクションまたはライトデータを発行できない場合、I/Oコントローラ112は、トランザクション発行元のプロセッサまたはPCIデバイスに対してNACKを発行する。   The other unit originating I / O request controller 409 is a circuit that processes an I / O read / write issued by a PCI device in each processor or other node in the computer system. When information indicating that I / O read / write and write data can be issued from the I / O I / F controller 400 to the I / O bridge 105 is obtained, the other unit originating I / O request controller 409 reads the I / O I / O I / O read / write and write data are issued to the I / O bridge 105 via the F controller 400. Further, the other unit originating I / O request controller 409 obtains information from the other unit I / F controller 406 as to whether or not the component of the destination chipset 110 can receive the read data. The read data read from the PCI device 106 is issued to the processor or PCI device that is the transaction issuing source via the other unit I / F controller 406. In the case of I / O write, when the I / O write and write data are issued to the PCI device 106 via the I / O bridge 105, the other unit originating I / O request controller 409 determines whether the transaction issuing processor or An ACK is issued to the PCI device. If a failure occurs in the I / O bridge 105, the PCI bus 108, and the PCI device 106 and a transaction or write data cannot be issued to the PCI device 106, the I / O controller 112 determines whether the transaction issuing processor or the PCI is issued. Issue a NACK to the device.

I/O I/Fコントローラ400は、I/Oブリッジ105からトランザクション及びライトデータ、計算機システム内の各プロセッサまたは他ノードにあるPCIデバイスが発行したI/Oリードに対するPCIデバイス106からのリードデータを受信、もしくはI/Oブリッジ105にリードデータ及びACK、NACK、そして計算機システム内の各プロセッサまたは他ノードにあるPCIデバイスが発行したI/Oリード・ライト及びライトデータを発行する。そしてトランザクションを受信した場合、I/O I/Fコントローラ400は、アドレスキュー403のトランザクション情報が無効なエントリに、トランザクション情報を格納する。無効なエントリが複数存在した時は、LRU方式でトランザクション情報を格納するようにすると、トランザクション情報を時系列で見ることができるので望ましい。そして、ライトデータをI/Oブリッジ105から受信した場合、I/O I/Fコントローラ400は、データインキュー404にライトデータを格納する。もし無効なエントリがアドレスキュー403に無い場合、I/O I/Fコントローラ400はPCIデバイスがトランザクションまたはライトデータを発行できないように、I/Oブリッジ105の処理を止める。リードデータ及びACK、NACKをデータアウトキュー405から受信した場合は、I/Oブリッジ105にリードデータ及びACK、NACKを発行する。計算機システム内の各プロセッサまたは他ノードにあるPCIデバイスが発行したI/Oリードに対するPCIデバイス106からのリードデータを受信した場合、I/O I/Fコントローラ400は、他ユニット発I/O要求コントローラ409にリードデータを発行する。また、I/O I/Fコントローラ400は、I/Oブリッジ105の状態を監視し、I/Oブリッジ105で発生した障害を検知した場合に、障害報告回路407に障害通報を行なう。I/Oブリッジ105で検出する障害の具体例としては、本実施例はPCIバス108を使用しているので、SERRアサート検出、マスタアボート等が挙げられる。   The I / O I / F controller 400 receives the transaction and write data from the I / O bridge 105, the read data from the PCI device 106 for the I / O read issued by the PCI device in each processor or other node in the computer system. Receive or issue read data and ACK and NACK to the I / O bridge 105, and I / O read / write and write data issued by each processor in the computer system or a PCI device in another node. When a transaction is received, the I / O I / F controller 400 stores the transaction information in an entry in which the transaction information in the address queue 403 is invalid. When there are a plurality of invalid entries, it is desirable to store the transaction information by the LRU method because the transaction information can be viewed in time series. When the write data is received from the I / O bridge 105, the I / O I / F controller 400 stores the write data in the data in queue 404. If there is no invalid entry in the address queue 403, the I / O I / F controller 400 stops the processing of the I / O bridge 105 so that the PCI device cannot issue a transaction or write data. When read data, ACK, and NACK are received from the data out queue 405, the read data, ACK, and NACK are issued to the I / O bridge 105. When the I / O I / F controller 400 receives the read data from the PCI device 106 for the I / O read issued by the PCI device in each processor or other node in the computer system, the I / O I / F controller 400 issues an I / O request originating from another unit. Read data is issued to the controller 409. Further, the I / O I / F controller 400 monitors the state of the I / O bridge 105 and, when detecting a failure occurring in the I / O bridge 105, notifies the failure report circuit 407 of a failure. Specific examples of the failure detected by the I / O bridge 105 include SERR assert detection, master abort, and the like because the present embodiment uses the PCI bus 108.

他ユニットI/Fコントローラ406は、トランザクションの宛先であるチップセット110の各構成要素に対し、アドレスキュー403から受信したトランザクション及びデータインキュー404から受信したライトデータ、計算機システム内の各プロセッサまたは他ノードにあるPCIデバイスが発行したI/Oリードに対するPCIデバイス106からのリードデータを発行する。また、他ユニットI/Fコントローラ406は、トランザクションの宛先であるチップセット110の各構成要素からリードデータ及びACK、NACKを受信した場合、他ユニットI/Fコントローラ406は、データアウトキュー405にリードデータ及びACK、NACKを格納する。そして計算機システム内の各プロセッサまたは他ノードにあるPCIデバイスが発行したI/Oリード・ライト及びライトデータを受信した場合、他ユニット発I/O要求コントローラ409にI/Oリード・ライト及びライトデータを送信する。また、他ユニットI/Fコントローラ406は、チップセット110の構成要素111及び113、114のI/Fを監視し、リードデータ及びACK、NACK受信時に障害を検知した場合は、障害報告回路407に障害通報を行なう。検知する障害の具体例としては、トランザクションの対象アドレスのパリティエラー、リード・ライトデータのECCエラー等が挙げられる。   The other unit I / F controller 406 sends the transaction received from the address queue 403 and the write data received from the data in queue 404 to each component of the chipset 110 that is the destination of the transaction, each processor in the computer system, and others. The read data from the PCI device 106 is issued for the I / O read issued by the PCI device in the node. When the other unit I / F controller 406 receives read data and ACK and NACK from each component of the chipset 110 that is the destination of the transaction, the other unit I / F controller 406 reads the data out queue 405. Data, ACK and NACK are stored. When I / O read / write and write data issued by a PCI device in each processor or other node in the computer system are received, the I / O read / write and write data is sent to the I / O request controller 409 from other units. Send. Also, the other unit I / F controller 406 monitors the I / F of the components 111, 113, and 114 of the chipset 110, and if a failure is detected when receiving read data, ACK, or NACK, the other unit I / F controller 406 sends a failure report circuit 407. Report a failure. Specific examples of the failure to be detected include a parity error of a target address of a transaction, an ECC error of read / write data, and the like.

I/Oコントローラ112の構成要素401〜405、407、408は、プロセッサバスコントローラ111の構成要素201〜205、207、208と全く機能が同じなので説明を省略する。   The components 401 to 405, 407, and 408 of the I / O controller 112 have the same functions as those of the components 201 to 205, 207, and 208 of the processor bus controller 111, and thus description thereof is omitted.

以下に、本実施例において障害を検出した時の障害通報及びトランザクション情報・処理状態履歴採取の流れを説明する。説明のために、ノードA 100のプロセッサバスコントローラ111にあるトランザクションコントローラ201でタイムアウト障害が発生したと仮定する。
トランザクションコントローラ201でタイムアウト障害を検出した時、トランザクションコントローラ201は、障害報告回路207にタイムアウト障害発生を通報する。障害通報を受信した障害報告回路207は、ノード内管理回路104を介して、管理モジュール150に、“ノードA 100のプロセッサバスコントローラ111にあるトランザクションコントローラ201でタイムアウト障害が発生した”と報告する。障害通報を受信した管理モジュール150は、各ノードのノード内管理回路104に、トランザクション情報・処理状態履歴の採取要求を発行する。トランザクション情報・処理状態履歴の採取要求を受信したノード内管理回路104は、管理回路I/Fコントローラ202及び402を介して、アドレスキュー203及び403にある全エントリのトランザクション情報・処理状態を読み出す。そして、読み出したアドレスキュー203及び403のトランザクション情報・処理状態履歴を、ノード内管理回路104は、管理モジュール150に送信する。各ノードのノード内管理回路104から、各ノードのアドレスキュー203及び403のトランザクション情報・処理状態履歴を受信した管理モジュール150は、該トランザクション情報・処理状態履歴を、“ノードA 100のプロセッサバスコントローラ111にあるトランザクションコントローラ201でタイムアウト障害が発生した”ことを示す障害通報と共に、管理用コンソール160に送信する。
The flow of failure notification and transaction information / processing state history collection when a failure is detected in this embodiment will be described below. For the sake of explanation, assume that a timeout failure has occurred in the transaction controller 201 in the processor bus controller 111 of the node A 100.
When the transaction controller 201 detects a timeout failure, the transaction controller 201 notifies the failure reporting circuit 207 that a timeout failure has occurred. The failure report circuit 207 that has received the failure report reports to the management module 150 via the intra-node management circuit 104 that “the timeout failure has occurred in the transaction controller 201 in the processor bus controller 111 of the node A 100”. The management module 150 that has received the failure report issues a transaction information / processing state history collection request to the intra-node management circuit 104 of each node. Upon receiving the transaction information / processing state history collection request, the intra-node management circuit 104 reads the transaction information / processing state of all entries in the address queues 203 and 403 via the management circuit I / F controllers 202 and 402. Then, the intra-node management circuit 104 transmits the read transaction information / processing state history of the address queues 203 and 403 to the management module 150. Upon receiving the transaction information / processing state history of the address queues 203 and 403 of each node from the intra-node management circuit 104 of each node, the management module 150 stores the transaction information / processing state history as “the processor bus controller of the node A 100”. A failure notification indicating that a timeout failure has occurred in the transaction controller 201 at 111 is transmitted to the management console 160.

計算機システムの管理者は、タイムアウト障害通報と共に送られたトランザクション情報・処理状態履歴を見て、例えば次のように障害部位を特定する。ノードA 100のアドレスキュー203から採取したトランザクション情報・処理状態履歴を見ると、障害発生時に、ノードB 130のPCIデバイス106宛てのI/Oリードに対してのみリードデータ及びNACKが返っていないことが分かったとする。NACKが返っていないので、ノードB 130のI/Oコントローラ112は、PCIデバイスにI/Oリクエストを発行したものと考えられる。この場合は、ノードB 130のPCIデバイス106がリードデータを返さないのがタイムアウト障害の原因であると推測できるので、故障部位としてノードB 130のPCIデバイス106を挙げる事ができる。ただし、ノードB 130のPCIデバイス106がリードデータを発行した後、例えばチップセットの論理不良が原因で、リターンデータがノードB 130のチップセット110内で送信が止まってしまっている場合が考えられる。この場合は、先の推測は誤りとなり、障害部位はノードB 130のチップセット110が正解となる。もし、このような障害部位推測ミスを極力防ぎたいのであれば、記録するトランザクション処理状態の粒度を細かくすればよい。本実施例では、トランザクション発行、リード・ライトデータまたはACK及びNACKの受信、トランザクション処理完了の3つのタイミングでしかトランザクション処理状態を記録していない。そこで、例えばメモリコントローラやI/Oコントローラでトランザクション情報を発行・受信をするタイミングでもトランザクション処理状態を記録するようにすれば、リターンデータの送信状況も詳細に分かるので、障害部位推測ミスを極力防ぐ事が可能である。   The administrator of the computer system refers to the transaction information / processing state history sent together with the timeout failure notification, and specifies the failure site as follows, for example. Looking at the transaction information / processing state history collected from the address queue 203 of the node A 100, it is confirmed that read data and NACK are not returned only for the I / O read addressed to the PCI device 106 of the node B 130 when a failure occurs. Suppose that. Since no NACK is returned, it is considered that the I / O controller 112 of the Node B 130 has issued an I / O request to the PCI device. In this case, it can be presumed that the failure of the PCI device 106 of the Node B 130 does not return read data is the cause of the timeout failure, and therefore, the PCI device 106 of the Node B 130 can be cited as a failure part. However, after the PCI device 106 of the Node B 130 issues read data, there is a case where transmission of return data is stopped in the chip set 110 of the Node B 130 due to, for example, a logic failure of the chip set. . In this case, the previous guess is wrong, and the chipset 110 of the Node B 130 is correct for the faulty part. If it is desired to prevent such a failure site estimation error as much as possible, the granularity of the transaction processing state to be recorded may be made fine. In this embodiment, the transaction processing state is recorded only at three timings: transaction issuance, reception of read / write data or ACK and NACK, and completion of transaction processing. Therefore, for example, if the transaction processing status is recorded even when the transaction information is issued / received by the memory controller or the I / O controller, the transmission status of the return data can be known in detail, so that a fault location estimation error is prevented as much as possible. Things are possible.

以上に説明した通り、上記実施例によれば、計算機システムの管理者は、障害通報と共に、計算機システムにある全チップセット内のトランザクション処理状態履歴を知ることができる。したがって、以下の効果を得ることができる。
(1)計算機システムにある全チップセット内のトランザクション処理状態履歴を知ることができるので、タイムアウト障害発生時にも障害発生時のトランザクション処理状態が分かり、障害部位の特定が可能になる。
(2)タイムアウト障害発生時の障害部位指摘に、市販されているロジックアナライザ等のデジタル信号の観測装置を使用する必要は無く、現象再現の必要がないので、調査に要する時間と労力を抑える事ができる。
(3)プロセッサバスのトレース等、計算機システムの1構成要素を見るのではなく、計算機システムの全チップセット内のトランザクション処理状態を見るので、タイムアウト障害に関係する情報を必ず得る事ができ、障害部位の解析が容易になる。
As described above, according to the above embodiment, the administrator of the computer system can know the transaction processing state history in all the chip sets in the computer system together with the failure notification. Therefore, the following effects can be obtained.
(1) Since the transaction processing state history in all the chip sets in the computer system can be known, the transaction processing state at the time of failure occurrence can be known even when a timeout failure occurs, and the failure part can be specified.
(2) It is not necessary to use a commercially available digital signal observation device such as a logic analyzer to indicate the failure location when a timeout failure occurs, and it is not necessary to reproduce the phenomenon. Can do.
(3) Instead of looking at one component of the computer system, such as tracing the processor bus, the transaction processing status in all chip sets of the computer system is seen, so information related to timeout failures can be obtained without fail. The analysis of the part becomes easy.

本発明が想定する計算機システムのブロック構成図である。It is a block diagram of a computer system assumed by the present invention. 本発明の実施例におけるプロセッサバスコントローラのブロック構成図である。It is a block block diagram of the processor bus controller in the Example of this invention. 本発明の実施例におけるアドレスキューの構成を示す図である。It is a figure which shows the structure of the address queue in the Example of this invention. 本発明の実施例におけるI/Oコントローラのブロック構成図である。It is a block block diagram of the I / O controller in the Example of this invention.

符号の説明Explanation of symbols

100、130…ノードA及びノードB、
101、102…プロセッサ、
103…プロセッサバス、
104…ノード内管理回路、
105…I/Oブリッジ、
106…PCIデバイス、
107…メモリ、
108…PCIバス、
110…チップセット、
111…プロセッサバスコントローラ、
112…I/Oコントローラ、
113…メモリコントローラ、
114…ノード間リンクコントローラ、
140…ノード間リンク、
150…管理モジュール、
160…管理用コンソール、
170…LAN I/F、
171…トランザクションパス、
172…障害情報通知パス、
173…障害情報採取パス、
200…プロセッサバスI/Fコントローラ、
201、401…トランザクションコントローラ、
202、402…管理回路I/Fコントローラ、
203、403…アドレスキュー、
204、404…データインキュー、
205、405…データアウトキュー、
206、406…他ユニットI/Fコントローラ、
207、407…障害報告回路、
208、408…カウンタ、
300…エントリ番号、
301…エントリのバリッドビット、
302…トランザクションの対象アドレス、
303…トランザクションの種別、
304…トランザクションの識別子、
305…トランザクションの発行ステータス、
306…トランザクションの受信ステータス、
307…トランザクションの完了ステータス、
400…I/O I/Fコントローラ、
409…他ユニット発I/O要求コントローラ。
100, 130 ... Node A and Node B,
101, 102 ... processor,
103 ... processor bus,
104: In-node management circuit,
105 ... I / O bridge,
106: PCI device,
107: Memory,
108 ... PCI bus,
110 ... chipset,
111 ... Processor bus controller,
112 ... I / O controller,
113 ... Memory controller,
114: Inter-node link controller,
140 ... inter-node link,
150 ... management module,
160 ... management console,
170 ... LAN I / F,
171 ... Transaction path,
172 ... failure information notification path,
173 ... Fault information collection path,
200: Processor bus I / F controller,
201, 401 ... transaction controller,
202, 402 ... management circuit I / F controller,
203, 403 ... address queue,
204, 404 ... data in queue,
205, 405 ... Data out queue,
206, 406 ... Other unit I / F controller,
207, 407 ... fault reporting circuit,
208, 408 ... counter,
300 ... Entry number,
301 ... Valid bit of entry,
302 ... Target address of transaction,
303 ... Transaction type,
304 ... transaction identifier,
305 ... Transaction issue status,
306 ... Transaction reception status,
307 ... transaction completion status,
400 ... I / O I / F controller,
409 ... I / O request controller originating from another unit.

Claims (3)

第1のパスと、該第1のパスに接続されたプロセッサ及びチップセットと、前記チップセットに接続されたメモリ及び拡張カードとを有し、前記チップセットにより前記プロセッサとメモリ間及びプロセッサと拡張カード間の情報授受の制御を行うノードを有する計算機システムにおいて、
前記チップセットは、前記プロセッサもしくは拡張カードが発行した前記メモリに対するアクセスと、前記プロセッサが発行した前記拡張カードに対するアクセスの、当該チップセット内での処理状態を時間情報と共に記録する記録手段を有し、
前記ノードはさらに、他装置からの要求により、前記記録手段に記録されているチップセット内での処理状態と時間情報を第2のパスを介して読み出して、他装置に送信する手段を有することを特徴とする計算機システム。
A first path; a processor and a chipset connected to the first path; a memory and an expansion card connected to the chipset; and the expansion between the processor and the memory and the processor and the expansion by the chipset. In a computer system having a node for controlling information exchange between cards,
The chip set includes a recording unit that records, together with time information, processing status in the chip set of access to the memory issued by the processor or an expansion card and access to the expansion card issued by the processor. ,
The node further includes means for reading out the processing state and time information in the chip set recorded in the recording means via the second path and transmitting to the other apparatus in response to a request from the other apparatus. A computer system characterized by
前記時間情報は、前記チップセット内で一意に定めた時刻であることを特徴とする請求項1記載の計算機システム。   The computer system according to claim 1, wherein the time information is a time uniquely determined in the chipset. 前記ノードを複数個有し、各ノードのプロセッサもしくは拡張カードから他ノードのメモリもしくは拡張カードへのアクセスの、各チップセット内での処理状態を前記複数のノードで一意に定めた時刻と共に各チップセットの記録手段に記録することを特徴とする請求項1記載の計算機システム。   Each of the chips has a plurality of nodes, and the processing state in each chip set of access from the processor or expansion card of each node to the memory or expansion card of another node is uniquely determined by the plurality of nodes. 2. The computer system according to claim 1, wherein the computer system records the information in a set recording means.
JP2007008185A 2007-01-17 2007-01-17 Computer system Pending JP2008176477A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007008185A JP2008176477A (en) 2007-01-17 2007-01-17 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007008185A JP2008176477A (en) 2007-01-17 2007-01-17 Computer system

Publications (1)

Publication Number Publication Date
JP2008176477A true JP2008176477A (en) 2008-07-31

Family

ID=39703463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007008185A Pending JP2008176477A (en) 2007-01-17 2007-01-17 Computer system

Country Status (1)

Country Link
JP (1) JP2008176477A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011197952A (en) * 2010-03-18 2011-10-06 Ricoh Co Ltd Information processing apparatus, image forming apparatus, and information processing program
JP2011248759A (en) * 2010-05-28 2011-12-08 Nec Computertechno Ltd Information processing device and execution control method of information processing device
JP2013186524A (en) * 2012-03-06 2013-09-19 Nec Computertechno Ltd Data processing system, data processing method, data processing program, and transaction measuring circuit
JP2014021908A (en) * 2012-07-23 2014-02-03 Nec Commun Syst Ltd Processor access history monitor circuit and processor access history monitoring method
JP2017058974A (en) * 2015-09-16 2017-03-23 株式会社イシダ Information processing terminal management system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011197952A (en) * 2010-03-18 2011-10-06 Ricoh Co Ltd Information processing apparatus, image forming apparatus, and information processing program
US8874959B2 (en) 2010-03-18 2014-10-28 Ricoh Company, Limited Information processing apparatus, image forming apparatus, and information processing program
JP2011248759A (en) * 2010-05-28 2011-12-08 Nec Computertechno Ltd Information processing device and execution control method of information processing device
JP2013186524A (en) * 2012-03-06 2013-09-19 Nec Computertechno Ltd Data processing system, data processing method, data processing program, and transaction measuring circuit
JP2014021908A (en) * 2012-07-23 2014-02-03 Nec Commun Syst Ltd Processor access history monitor circuit and processor access history monitoring method
JP2017058974A (en) * 2015-09-16 2017-03-23 株式会社イシダ Information processing terminal management system

Similar Documents

Publication Publication Date Title
US6311296B1 (en) Bus management card for use in a system for bus monitoring
CN102246155B (en) Error detection in a multi-processor data processing system
US6829729B2 (en) Method and system for fault isolation methodology for I/O unrecoverable, uncorrectable error
US20040210800A1 (en) Error management
US20080082866A1 (en) Method and apparatus for isolating bus failure
US7917664B2 (en) Storage apparatus, storage apparatus control method, and recording medium of storage apparatus control program
JPH10334043A (en) Separation of pci and eisa by control and masking of interruption line
JP2003162447A (en) Error recovery
JP2007128437A (en) Disk array device and path fault detection method thereof
CN106815119A (en) The hardware monitoring device of server
US7406632B2 (en) Error reporting network in multiprocessor computer
KR101498452B1 (en) Debugging complex multi-core and multi-socket systems
JP2008176477A (en) Computer system
JPH086910A (en) Cluster type computer system
TW201502771A (en) System and method for managing mainboard based on baseboard management controller
US7363531B2 (en) Data synchronization for system controllers
CN112650612A (en) Memory fault positioning method and device
CN114579392A (en) AXI bus monitor for write transactions
JP4644720B2 (en) Control method, information processing apparatus, and storage system
US10581555B2 (en) Information processing device and burst error reproducing method
JP4299634B2 (en) Information processing apparatus and clock abnormality detection program for information processing apparatus
TWI756007B (en) Method and apparatus for performing high availability management of all flash array server
JP3838992B2 (en) Fault detection method and information processing system
US6581121B1 (en) Maintenance link system and method
US20140173365A1 (en) Semiconductor apparatus, management apparatus, and data processing apparatus