JP3821806B2 - Fault tolerant computer, transaction synchronization control method and program thereof - Google Patents

Fault tolerant computer, transaction synchronization control method and program thereof Download PDF

Info

Publication number
JP3821806B2
JP3821806B2 JP2003297389A JP2003297389A JP3821806B2 JP 3821806 B2 JP3821806 B2 JP 3821806B2 JP 2003297389 A JP2003297389 A JP 2003297389A JP 2003297389 A JP2003297389 A JP 2003297389A JP 3821806 B2 JP3821806 B2 JP 3821806B2
Authority
JP
Japan
Prior art keywords
transaction
tolerant computer
input
match
transactions
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.)
Expired - Fee Related
Application number
JP2003297389A
Other languages
Japanese (ja)
Other versions
JP2004110803A (en
Inventor
克美 塚原
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2003297389A priority Critical patent/JP3821806B2/en
Publication of JP2004110803A publication Critical patent/JP2004110803A/en
Application granted granted Critical
Publication of JP3821806B2 publication Critical patent/JP3821806B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、複数のCPUモジュールで、同じ命令列をクロック同期させて全く同じに処理するロックステップ方式のフォールトトレラントコンピュータ(fault tolerant computer)に関し、特に、複数のCPUモジュールからIOモジュールに対して発行されるIOトランザクションの時間的なずれを許容するフォールトトレラントコンピュータ、そのトランザクション同期制御方法及びトランザクション同期制御プログラムに関する。   The present invention relates to a lock-step fault tolerant computer that processes the same instruction sequence in a plurality of CPU modules in synchronism with each other, and in particular, is issued from a plurality of CPU modules to an IO module. The present invention relates to a fault tolerant computer that allows a time lag of an IO transaction to be performed, a transaction synchronization control method thereof, and a transaction synchronization control program.

従来のハードウェアを多重化し同一クロックで同期するフォールトトレラントコンピュータは、複数のCPUモジュールと複数のIOモジュールを有し、各IOモジュールは複数のCPUモジュールの動作が同期しているかどうかをチェックする比較装置をそれぞれ有しており、同時にIOトランザクションを入力した場合にCPUモジュールが同期していると判断してIO処理を行い、各CPUモジュールが故障しない限り同期していることを保証していた。   A fault-tolerant computer that multiplexes conventional hardware and synchronizes with the same clock has a plurality of CPU modules and a plurality of IO modules, and each IO module checks whether the operations of the plurality of CPU modules are synchronized. Each device has a device, and when an IO transaction is input at the same time, it is determined that the CPU module is synchronized, and the IO processing is performed to ensure that the CPU modules are synchronized unless a failure occurs.

しかし、近年のプロセッサの高速化に伴い、各CPUモジュールに搭載されるプロセッサは、同一のクロックを入力しても完全に同期しない同期外れが発生し、これにより各IOモジュールで複数のCPUモジュールから発行されるIOトランザクション相互に時間的な差分が発生する場合がある。   However, with the recent increase in the speed of processors, the processors mounted on the CPU modules are out of synchronization even when the same clock is input. As a result, each IO module has more than one CPU module. There may be a time difference between issued IO transactions.

このようなCPUモジュールの障害に起因しない同期外れの現象に関しては、CPUモジュールでのハードウェア動作に差異があるものの、プログラム上は同じ動作がなされていることが分かっている。しかし、従来のフォールトトレラントコンピュータでは、障害が原因の同期外れでないにも関わらず、CPUモジュールの縮退状態や再組み込みの動作が発生してしまうことがある。   Regarding the out-of-synchronization phenomenon caused by the failure of the CPU module, it is known that the same operation is performed on the program although there is a difference in hardware operation in the CPU module. However, in a conventional fault-tolerant computer, a degenerate state of the CPU module or a re-installation operation may occur even though the synchronization is not out of order due to a failure.

上述したように、従来のフォールトトレラントコンピュータでは、各CPUモジュールの同期外れにより、各IOモジュールで複数のCPUモジュールから発行されるIOトランザクション相互に時間的な差分が発生した場合、障害が原因の同期外れでないにも関わらず、CPUモジュールの縮退状態や再組み込みの動作が発生してしまうという問題があった。このことは、またフォールトトレラントコンピュータのMTBF(Mean Time Between Failure:コンピュータシステムが故障してから次に故障するまでの平均時間)を小さくする原因となり、フォールトトレラントコンピュータ本来の利点が損なわれてしまう結果ともなる。   As described above, in a conventional fault-tolerant computer, when a time difference occurs between IO transactions issued from a plurality of CPU modules in each IO module due to loss of synchronization of each CPU module, synchronization caused by a failure is caused. In spite of not being detached, there is a problem that the degenerate state of the CPU module and the re-installation operation occur. This also causes the MTBF (Mean Time Between Failure) of fault-tolerant computers to be reduced, resulting in the loss of the original advantages of fault-tolerant computers. It also becomes.

なお、運用系プロセッサと待機系プロセッサ間で、プロセッサ間のバスのデータ転送開始及び終了の信号を用いて、待機系プロセッサの処理の遅れを待つことにより、短時間で両者の同期をとるといった(例えば、特許文献1参照)、複数のプロセッサ間の同期外れを解決するための従来技術については種々提案されているが、何れもIOコントローラ毎のIOトランザクションの時間的なずれを許容することを特徴とする本発明とは相違する。   It should be noted that between the active processor and the standby processor, it is possible to synchronize the both in a short time by waiting for a delay in processing of the standby processor by using the data transfer start and end signals of the bus between the processors ( For example, refer to Patent Document 1), and various prior arts for solving a loss of synchronization between a plurality of processors have been proposed, all of which allow a time shift of IO transactions for each IO controller. This is different from the present invention.

特開平11−338832号公報Japanese Patent Laid-Open No. 11-338832

本発明の課題は、時間的にずれてIOトランザクションが発行されても、論理的なシーケンスの一致が得られれば障害が原因の同期外れではないとみなすことにより、障害が原因の同期外れでないにも関わらずCPUモジュールの縮退や再組み込み動作が発生してしまうのを極力抑え、一定範囲のプロセッサの同期外れを許容することができるフォールトトレラントコンピュータ及びトランザクション同期制御方法を提案することにある。   The problem of the present invention is that even if an IO transaction is issued with a time lag, if a logical sequence match is obtained, it is considered that the synchronization is not out of synchronization due to the failure, so that it is not out of synchronization due to the failure. Nevertheless, it is an object of the present invention to propose a fault tolerant computer and a transaction synchronization control method capable of minimizing the occurrence of CPU module degeneration and re-installation operation and allowing a certain range of processor synchronization loss.

本発明のフォールトトレラントコンピュータは、同じ命令列をクロック同期して処理する複数のCPUモジュールと、デバイスに対し入出力制御処理を実行する複数のデバイスコントローラを備えた複数のIOモジュールと、前記デバイスコントローラ毎に、前記複数のCPUモジュールの各々から発行されるIOトランザクションのシーケンスの一致をチェックし、一致が得られた場合は同期外れではないとみなすトランザクション同期制御部と、を有することを特徴とする。   A fault tolerant computer according to the present invention includes a plurality of CPU modules that process the same instruction sequence in clock synchronization, a plurality of IO modules that include a plurality of device controllers that execute input / output control processing on devices, and the device controller A transaction synchronization control unit that checks a match of a sequence of IO transactions issued from each of the plurality of CPU modules, and considers that it is not out of synchronization when a match is obtained. .

請求項2の本発明のフォールトトレラントコンピュータは、前記トランザクション同期制御部が、一定時間を計るタイマ手段と、前記デバイスコントローラ毎に、複数のCPUモジュールから発行される前記IOトランザクションのシーケンスの一致を、前記一定時間待ち合せて判別する比較手段と、を有することを特徴とする。   In the fault tolerant computer of the present invention according to claim 2, the transaction synchronization control unit is configured to match the timer means for measuring a predetermined time and the sequence of the IO transactions issued from a plurality of CPU modules for each device controller. And comparing means for making a determination after waiting for the predetermined time.

請求項3の本発明のフォールトトレラントコンピュータは、前記トランザクション同期制御部が、前記シーケンスの一致が得られたタイミングで、前記IOトランザクションを前記デバイスコントローラに出力する出力制御部を有することを特徴とする。   The fault tolerant computer according to claim 3 of the present invention is characterized in that the transaction synchronization control unit includes an output control unit that outputs the IO transaction to the device controller at a timing when the sequence match is obtained. .

請求項4の本発明のフォールトトレラントコンピュータは、前記出力制御部が、各CPUモジュールからのIOトランザクションの一致が得られたタイミングで、一致が得られたIOトランザクションを1つづつ、前記デバイスコントローラに出力することを特徴とする。   According to a fault tolerant computer of the present invention of claim 4, the output control unit sends one IO transaction with a match to each of the device controllers at a timing when a match of the IO transaction from each CPU module is obtained. It is characterized by outputting.

請求項5の本発明のフォールトトレラントコンピュータは、前記トランザクション同期制御部は、前記複数のCPUモジュールから発行される前記IOトランザクションを格納する複数の格納手段と、該格納手段に格納された前記IOトランザクションのシーケンスを互いに比較する比較手段と、前記一定時間を計るタイマ手段とを備えることを特徴とする。   6. The fault tolerant computer according to claim 5, wherein the transaction synchronization control unit stores a plurality of storage means for storing the IO transactions issued from the plurality of CPU modules, and the IO transaction stored in the storage means. Comparing means for comparing these sequences with each other and timer means for measuring the predetermined time.

請求項6の本発明によるフォールトトレラントコンピュータは、前記トランザクション同期制御部が、前記複数のCPUモジュールから発行される前記IOトランザクションを格納する複数の格納手段を備えることを特徴とする。   The fault tolerant computer according to the present invention of claim 6 is characterized in that the transaction synchronization control unit includes a plurality of storage means for storing the IO transactions issued from the plurality of CPU modules.

請求項7の本発明によるフォールトトレラントコンピュータは、前記トランザクション同期制御部が、前記比較手段に入力するIOトランザクションを前記複数の格納手段から入力するか、前記CPUモジュールから入力するかを選択する選択回路を備えることを特徴とする。   8. A fault tolerant computer according to the present invention of claim 7, wherein the transaction synchronization control unit selects whether an IO transaction to be input to the comparison means is input from the plurality of storage means or from the CPU module. It is characterized by providing.

本発明によれば、複数のCPUモジュールのプロセッサに同期外れが発生しIOモジュールのIOコントローラに対して同じタイミングでIOトランザクションが発行されなくても、IOコントローラ毎にIOトランザクションのシーケンス一致をチェックし、一定時間内にシーケンスの一致が得られれば障害が原因の同期外れではないとみなして、IOトランザクションをIOコントローラに出力するようにしたので、障害が原因の同期外れでないにも関わらずCPUモジュールの縮退や再組み込み動作が発生してしまうのを極力抑え一定範囲のプロセッサの同期外れを許容することができる。   According to the present invention, even if an out-of-synchronization occurs in the processors of a plurality of CPU modules and an IO transaction is not issued to the IO controller of the IO module at the same timing, the IO transaction sequence match is checked for each IO controller. If a sequence match is obtained within a certain period of time, it is considered that the synchronization is not out of synchronization due to the failure, and the IO transaction is output to the IO controller. It is possible to suppress the occurrence of degeneration and re-installation operation as much as possible, and to allow the processor to be out of synchronization within a certain range.

以下、本発明の実施の形態について図面を参照して詳細に説明する。図1は、本発明の実施の形態によるフォールトトレラントコンピュータの構成を示すブロック図である。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a fault tolerant computer according to an embodiment of the present invention.

図1を参照すると、本実施の形態によるフォールトトレラントコンピュータ10は、複数のCPUモジュール20、30を備えている。各CPUモジュール20、30はそれぞれクロック同期して同じ命令列を処理する。本実施の形態によるフォールトトレラントコンピュータ10は、各CPUモジュールの処理結果を比較し、1個のCPUモジュールで故障が発生しても、残りのCPUモジュールにより処理を継続することができるようになっている。このCPUモジュール20、30は、それぞれ1以上のプロセッサと、プロセッサ外部バスと、メモリを有している。なお、図1には、本実施の形態の特徴的な構成のみを記載し、他の一般的な構成については記載を省略してある。   Referring to FIG. 1, the fault tolerant computer 10 according to the present embodiment includes a plurality of CPU modules 20 and 30. Each CPU module 20, 30 processes the same instruction sequence in clock synchronization. The fault tolerant computer 10 according to the present embodiment compares the processing results of the CPU modules, and even if a failure occurs in one CPU module, the processing can be continued by the remaining CPU modules. Yes. The CPU modules 20 and 30 each have one or more processors, a processor external bus, and a memory. In FIG. 1, only the characteristic configuration of the present embodiment is described, and the description of other general configurations is omitted.

また、フォールトトレラントコンピュータ10は、第1のIOモジュール50と第2のIOモジュール60を備えている。第1のIOモジュール50と第2のIOモジュール60がそれぞれ上記CPUモジュール20、30の双方に接続されている。   Further, the fault tolerant computer 10 includes a first IO module 50 and a second IO module 60. A first IO module 50 and a second IO module 60 are connected to both the CPU modules 20 and 30, respectively.

この第1及び第2のCPUモジュール20、30は、互いに同じクロックで動作し、第1及び第2のIOモジュール50、60に対してそれぞれIOトランザクションの発行を行なう。   The first and second CPU modules 20 and 30 operate with the same clock, and issue IO transactions to the first and second IO modules 50 and 60, respectively.

第1及び第2のIOモジュール50、60は、それぞれ2つのIOコントローラ52A、52Bと62A、62Bを備えている。また本実施形態の第1及び第2のIOモジュール50、60は、IOコントローラ毎にトランザクション同期制御部51A、51Bと61A、61Bを備えて構成される。   The first and second IO modules 50 and 60 include two IO controllers 52A and 52B and 62A and 62B, respectively. Further, the first and second IO modules 50 and 60 of the present embodiment are configured to include transaction synchronization control units 51A and 51B and 61A and 61B for each IO controller.

IOコントローラ52A、52Bと62A、62Bには、例えばネットワークコントローラやディスクコントローラ等を含むデバイスが接続される。IOコントローラ52A、52Bと62A、62Bは、これらのデバイスに対してIOトランザクションに従って入出力制御処理を実行する。   Devices including a network controller, a disk controller, and the like are connected to the IO controllers 52A, 52B and 62A, 62B, for example. The IO controllers 52A, 52B and 62A, 62B execute input / output control processing for these devices according to the IO transaction.

トランザクション同期制御部51A、51B、61A、61Bは、第1及び第2のCPUモジュール20、30からのIOトランザクションについて、そのシーケンスが一致しているかどうかを、対応するIOコントローラ毎にチェックする。ここでシーケンスとは、IOトランザクションの複数まとまった一連の動作を意味している。本実施形態のトランザクション同期制御部51A、51B、61A、61Bは、時間的にずれが発生しても同じIOトランザクションが異なるタイミングで入力される場合を許容する。すなわち、IOトランザクションが異なるタイミングで入力されても予め設定した一定時間だけ待ち合わせ、一定時間内に入力されたIOトランザクションが一致すればシーケンスが一致したものとみなす。なお、一定時間内に一方のCPUモジュールからしかIOトランザクションが入力されなければ、一致しないとみなす。また、同じIOトランザクションが入力されているが、入力された順序が異なる場合も一致しないとみなす。トランザクション同期制御部51A、51B、61A、61Bは、シーケンスが一致したタイミングでIOトランザクションをデバイスに対応したIOコントローラ52A、52B、62A、62Bに対して出力する。   The transaction synchronization control units 51A, 51B, 61A, 61B check whether the sequences of the IO transactions from the first and second CPU modules 20, 30 match each other for each corresponding IO controller. Here, the sequence means a series of operations of a plurality of IO transactions. The transaction synchronization control units 51A, 51B, 61A, and 61B of this embodiment allow a case where the same IO transaction is input at a different timing even if a time lag occurs. That is, even if IO transactions are input at different timings, they wait for a predetermined time, and if the IO transactions input within the predetermined time match, the sequences are considered to match. Note that if an IO transaction is input only from one CPU module within a certain period of time, it is considered that they do not match. Further, even if the same IO transaction is input but the input order is different, it is considered that they do not match. The transaction synchronization control units 51A, 51B, 61A, and 61B output IO transactions to the IO controllers 52A, 52B, 62A, and 62B corresponding to the devices when the sequences match.

図4に、トランザクション同期制御部51Aの構成例を示す。ここでは、便宜上トランザクション同期制御部51Aについて示しているが、その他のトランザクション同期制御部についても全く同じ構成である。   FIG. 4 shows a configuration example of the transaction synchronization control unit 51A. Here, the transaction synchronization control unit 51A is shown for convenience, but the other transaction synchronization control units have the same configuration.

図示のように、トランザクション同期制御部51Aは、第1のCPUモジュール20と第2のCPUモジュール30からIOコントローラ52Aに対して発行されたIOトランザクションをそれぞれ格納する第1のトランザクション格納手段81−1及び第2のトランザクション格納手段81−2と、第1及び第2のトランザクション格納手段81−1、81−2双方のIOトランザクションのシーケンスの一致を比較して判別する比較手段82と、一定時間の経過を計るタイマ手段83と、比較手段82によるIOトランザクションのシーケンスの一致が得られたタイミングでIOトランザクションをIOコントローラに対して出力する出力制御手段84を有する。出力制御手段84は、タイマ手段83による一定時間経過してもIOトランザクションのシーケンスの一致が得られない場合には、障害監視部等に障害を通知する。なお、タイマ手段83により待ち合わせのために設定される時間は、例えば、PCI−BUSのIOのハードウェアシーケンスの10回分程度、長くて100〜1000回分程度に設定される。例えば1回分が約1μ秒程度であれば、10μ秒程度、長くて100μ秒から1m秒程度である。   As illustrated, the transaction synchronization control unit 51A includes first transaction storage means 81-1 for storing IO transactions issued from the first CPU module 20 and the second CPU module 30 to the IO controller 52A. The second transaction storage means 81-2 and the comparison means 82 for comparing and determining the coincidence of the IO transaction sequences of both the first and second transaction storage means 81-1 and 81-2; The timer means 83 for measuring the progress and the output control means 84 for outputting the IO transaction to the IO controller at the timing when the coincidence of the IO transaction sequence by the comparing means 82 is obtained. The output control unit 84 notifies the failure monitoring unit or the like of a failure when the IO transaction sequence does not match even after a predetermined time has elapsed by the timer unit 83. The time set for waiting by the timer means 83 is set to, for example, about 10 times of the hardware sequence of the PCI-BUS IO and about 100 to 1000 times at the longest. For example, if a single dose is about 1 μsec, it is about 10 μsec, and is about 100 μsec to 1 msec at the longest.

なお、図4に示したトランザクション同期制御部の構成例については、あくまでその一構成例を示すものであり、図示の構成に限定されるものではない。   Note that the configuration example of the transaction synchronization control unit illustrated in FIG. 4 is merely an example of the configuration, and is not limited to the illustrated configuration.

図5は、トランザクション同期制御部の動作内容を説明するフローチャートである。まず、第1のCPUモジュール20と第2のCPUモジュール30からデバイスの宛先を示すコマンドを含むIOトランザクションを入力しこのコマンドを見て自分のIOトランザクションかどうか判断し必要なものだけそれぞれ対応するトランザクション格納手段に格納し(ステップ501)、第1及び第2のCPUモジュールのIOトランザクションのシーケンスが互いに一致するかどうかを判別する(ステップ502)。ここで、トランザクション格納手段からそれぞれ格納された順に1つずつIOトランザクションが比較手段82に入力され比較され、対応するIOトランザクションが一致すると、トランザクション格納手段に格納された次の対応するIOトランザクション同士が比較手段82に入力され比較されるという処理が繰り返される。   FIG. 5 is a flowchart for explaining the operation content of the transaction synchronization control unit. First, an IO transaction including a command indicating a device destination is input from the first CPU module 20 and the second CPU module 30, and it is determined whether or not it is an own IO transaction by looking at this command. It is stored in the storage means (step 501), and it is determined whether or not the IO transaction sequences of the first and second CPU modules match each other (step 502). Here, one IO transaction is input to the comparison means 82 in the order stored from the transaction storage means and compared. When the corresponding IO transactions match, the next corresponding IO transactions stored in the transaction storage means The process of being input to the comparison means 82 and being compared is repeated.

すべてのIOトランザクションが一致すればシーケンスが一致しているとみなし、入力したIOトランザクションをIOコントローラへ出力する(ステップ503)。   If all the IO transactions match, it is considered that the sequences match, and the input IO transaction is output to the IO controller (step 503).

ステップ502において一方のCPUモジュールからしかIOトランザクションが届いておらずIOトランザクションのシーケンスが一致していない場合には、一方のCPUモジュールからIOトランザクションが届いてから一定時間が経過しているかを判別する(ステップ504)。一定時間が経過していなければIOトランザクションの入力を待ち合せる。すなわちステップ501にもどり入力されたIOトランザクションのシーケンスを再度比較する処理を一定時間が経過するまで繰り返す。一定時間が経過していれば、フォールトトレラントコンピュータ内に備えられている障害監視部等に障害の発生を通知する。一定時間が経過する前に他方のCPUモジュールからIOトランザクションが届き、シーケンスが一致すればステップ503で入力したIOトランザクションをIOコントローラへ出力する。なお、ステップ502において両方のCPUモジュールからIOトランザクションが届いているが届いたシーケンスが一致していない場合、ステップ504,501,502を繰り返し、一定時間経過後に障害監視部等に障害の発生を通知することになる。   If the IO transaction has arrived only from one CPU module in step 502 and the IO transaction sequence does not match, it is determined whether a certain time has passed since the IO transaction arrived from one CPU module. (Step 504). If the fixed time has not elapsed, the input of the IO transaction is waited. That is, the process of returning to step 501 and comparing the input IO transaction sequences again is repeated until a predetermined time elapses. If a certain time has elapsed, the occurrence of a failure is notified to a failure monitoring unit provided in the fault tolerant computer. If an IO transaction arrives from the other CPU module before the fixed time elapses and the sequences match, the IO transaction input in step 503 is output to the IO controller. If an IO transaction has arrived from both CPU modules in step 502 but the received sequences do not match, steps 504, 501, and 502 are repeated, and a failure occurrence is notified to the failure monitoring unit after a certain period of time. Will do.

次いで、図1、図2、図3を参照して、第1及び第2のCPUモジュール20、30からどのようにIOトランザクションが発行され、第1及び第2のIOモジュール50、60でどのように一致チェックが行なわれ、IOトランザクションが処理されるかについて具体例をあげて説明する。   Next, referring to FIGS. 1, 2, and 3, how IO transactions are issued from the first and second CPU modules 20, 30 and how are the first and second IO modules 50, 60 Whether a match check is performed and an IO transaction is processed will be described with a specific example.

ここで、プロセッサ同期外れの場合、第1のCPUモジュール20から第1のIOモジュール50へのIOトランザクションが、IOトランザクション(IO−A1)、IOトランザクション(IO−B1)、IOトランザクション(IO−A2)、IOトランザクション(IO−B2)の順で発行されたとする。   Here, if the processor is out of synchronization, an IO transaction from the first CPU module 20 to the first IO module 50 is an IO transaction (IO-A1), an IO transaction (IO-B1), or an IO transaction (IO-A2). ) And IO transactions (IO-B2) in this order.

なお、IOトランザクション(IO−A1)、(IO−A2)はIOコントローラ52Aに対して発行され、IOトランザクション(IO−B1)、(IO−B2)はIOコントローラ52Bに対して発行されるIOトランザクションであるとする。   The IO transactions (IO-A1) and (IO-A2) are issued to the IO controller 52A, and the IO transactions (IO-B1) and (IO-B2) are issued to the IO controller 52B. Suppose that

一方、第2のCPUモジュール30から第1のIOモジュール50へのIOトランザクションについては、IOトランザクション(IO−A1)、IOトランザクション(IO−A2)、IOトランザクション(IO−B1)、IOトランザクション(IO−B2)の順番で発行されたとする。   On the other hand, for the IO transaction from the second CPU module 30 to the first IO module 50, an IO transaction (IO-A1), an IO transaction (IO-A2), an IO transaction (IO-B1), an IO transaction (IO Suppose that they are issued in the order of -B2).

このIOトランザクションの順番を比較すると、図2に示すように、第1及び第2のCPUモジュール20、30から第1及び第2のIOモジュール50、60に対して発行されるIOトランザクションの中で、IOトランザクション(IO−B1)と(IO−A2)の順番が互いに逆となり、2つのIOトランザクションが不一致となっていることが分かる。   Comparing the order of the IO transactions, as shown in FIG. 2, the IO transactions issued from the first and second CPU modules 20 and 30 to the first and second IO modules 50 and 60 are as follows. It can be seen that the IO transactions (IO-B1) and (IO-A2) are in reverse order and the two IO transactions are inconsistent.

第1のIOモジュール50は、通常は同じタイミングでIOトランザクションに差分があるため、通常であればどちらかのCPUモジュールを縮退もしくは再組み込みする動作が行われる状況であっても、IOコントローラ毎にIOトランザクションのシーケンス(順序)をチェックするためのトランザクション同期制御部51A、51Bを備えることで、タイミングがずれても同じIOトランザクションと認識して処理を継続する。   Since the first IO module 50 usually has a difference in IO transaction at the same timing, even if the operation of degrading or re-installing one of the CPU modules is normally performed for each IO controller, By providing the transaction synchronization control units 51A and 51B for checking the sequence (order) of the IO transaction, even if the timing is shifted, the same IO transaction is recognized and the processing is continued.

例えば、IOコントローラ52Aに対するIOトランザクションをIO−Axとし、IOコントローラ52Bに対するIOトランザクションをIO−Bxとすると、図3に示すように、トランザクション同期制御部51Aで見ると、第1及び第2のCPUモジュールから発行されるIOトランザクションは(IO−A1)−(IO−A2)となって共に一致し、トランザクション同期制御部51Bで見ても第1及び第2のCPUモジュールから発行されるIOトランザクションは(IO−B1)−(IO−B2)で一致する。   For example, assuming that the IO transaction for the IO controller 52A is IO-Ax and the IO transaction for the IO controller 52B is IO-Bx, as shown in FIG. 3, the first and second CPUs are seen by the transaction synchronization control unit 51A. The IO transactions issued from the modules coincide with each other as (IO-A1)-(IO-A2), and the IO transactions issued from the first and second CPU modules are the same even when viewed by the transaction synchronization control unit 51B. (IO-B1)-(IO-B2) matches.

このときトランザクション同期制御部51A、51Bは、第1のCPUモジュール20と第2のCPUモジュール30とのIOトランザクションの時間的差分が発生する可能性が高いため、IOコントローラ毎にシーケンスの一致をチェックするのみでIOトランザクションの時間的な一致については判断していない。すなわち、トランザクション同期制御部51A、51Bは、それぞれ第1のCPUモジュール20と第2のCPUモジュール30からの同じIOトランザクションが到着するまで一定時間待ち合わせした後にIOコントローラ52A及び52Bに対してIOトランザクションを出力する。   At this time, the transaction synchronization control units 51A and 51B are likely to cause a time difference in IO transactions between the first CPU module 20 and the second CPU module 30, and therefore check the sequence match for each IO controller. It does not judge the temporal coincidence of IO transactions. That is, the transaction synchronization control units 51A and 51B wait for a certain period of time until the same IO transaction from the first CPU module 20 and the second CPU module 30 arrives, and then send an IO transaction to the IO controllers 52A and 52B. Output.

IOコントローラ52Aに着目すれば、まず最初のタイミングで第1のCPUモジュール20と第2のCPUモジュール30からの同じIOトランザクション(IO−A1)が発行され、次のタイミングでは第2のCPUモジュール30からの(IO−A2)は届くが、第1のCPUモジュール20からのIOトランザクション(IO−A2)が届かない。IOコントローラ52Aに対応するトランザクション同期制御部51Aは、第1のCPUモジュール20からのIOトランザクション(IO−A2)が受け取るまで一定時間待合せ(IOトランザクション(IO−A1)、(IO−A2)を出力せずに保持し)、さらに次のタイミングで第1のCPUモジュール20からのIOトランザクション(IO−A2)が届くと、IOトランザクションのシーケンスが一致したことを判別し、それらのIOトランザクション(IO−A1)、(IO−A2)を、IOコントローラ52Aに対して出力する。   Focusing on the IO controller 52A, first, the same IO transaction (IO-A1) is issued from the first CPU module 20 and the second CPU module 30 at the first timing, and at the next timing, the second CPU module 30 is issued. However, the IO transaction (IO-A2) from the first CPU module 20 does not arrive. The transaction synchronization control unit 51A corresponding to the IO controller 52A outputs waiting for a certain period of time (IO transactions (IO-A1) and (IO-A2)) until the IO transaction (IO-A2) from the first CPU module 20 is received. If the IO transaction (IO-A2) from the first CPU module 20 arrives at the next timing, it is determined that the IO transaction sequence matches, and those IO transactions (IO- A1) and (IO-A2) are output to the IO controller 52A.

なお、トランザクション同期制御部51A、51B、61A、61Bによる比較の結果、IOコントローラに対する第1、第2のCPUモジュール20、30からのIOトランザクションのシーケンスが互いに相違している場合には、フォールトトレラントコンピュータ内に備えられている障害監視部等に障害の発生を通知するようにしてもよい。   If the transaction synchronization control units 51A, 51B, 61A, and 61B compare with each other and the IO transaction sequences from the first and second CPU modules 20 and 30 to the IO controller are different from each other, fault tolerant The occurrence of a failure may be notified to a failure monitoring unit or the like provided in the computer.

本発明のフォールトトレラントコンピュータでは、トランザクション同期制御部が実行する各手段の機能をハードウェア的に実現することは勿論として、上記した各手段の機能を実行するトランザクション制御プログラム100をIOコントローラ等のプロセッサ(CPU)にロードして実行することにより、ソフトウェア的に実現することができる。このトランザクション制御プログラム100は、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からCPUのメモリにロードされ、CPUで実行されることにより、上述した各機能を実現する。   In the fault tolerant computer of the present invention, the function of each unit executed by the transaction synchronization control unit is realized by hardware, and the transaction control program 100 that executes the function of each unit is executed by a processor such as an IO controller. It can be realized by software by loading it on the (CPU) and executing it. The transaction control program 100 is stored in a magnetic disk, a semiconductor memory, or other recording medium, loaded from the recording medium into a CPU memory, and executed by the CPU, thereby realizing the above-described functions.

次に、本発明のトランザクション同期制御部の変形例について説明する。上述の例では第1のCPUモジュール20と第2のCPUモジュール30からの同じIOトランザクション(IO−A1)が発行されても、第2のCPUモジュール30からの(IO−A2)は届いて第1のCPUモジュール20からのIOトランザクション(IO−A2)が届かない状態ではIOトランザクション(IO−A1)、(IO−A2)を出力せずに保持するものであったが、本変形例においては、1つのIOトランザクションについて2つのCPUモジュール間で一致した場合は即座にそのIOトランザクションをIOコントローラに対して出力する点で図5の例と異なる。   Next, a modification of the transaction synchronization control unit of the present invention will be described. In the above example, even if the same IO transaction (IO-A1) is issued from the first CPU module 20 and the second CPU module 30, (IO-A2) from the second CPU module 30 arrives and When the IO transaction (IO-A2) from one CPU module 20 does not reach, the IO transactions (IO-A1) and (IO-A2) are held without being output. When one CPU transaction matches between two CPU modules, the IO transaction is immediately output to the IO controller, which is different from the example of FIG.

図6は、本変形例のトランザクション同期制御部の動作例を説明するフローチャートである。まず、第1のCPUモジュール20と第2のCPUモジュール30からのIOトランザクションを入力しそれぞれ対応するトランザクション格納手段に格納し(ステップ601)、各トランザクション格納手段に最も早く格納されたIOトランザクションが比較手段82に入力される(ステップ602)。このとき有効なIOトランザクションが格納されていなければ、そのトランザクション格納手段から比較手段にIOトランザクションは入力されない。
各トランザクション格納手段から多くて1つ入力されたIOトランザクションは、比較手段82にて比較される(ステップ603)。比較の結果IOトランザクションが一致していれば、即座に一致したIOトランザクションをIOコントローラへ出力する(ステップ604)。このとき、出力したIOトランザクションは両方のトランザクション格納手段から消去される。最後のIOトランザクションか判断し(ステップ605)、最後でなければステップ602にもどり、次のIOトランザクションが比較手段82に入力されて比較される。
FIG. 6 is a flowchart for explaining an operation example of the transaction synchronization control unit of this modification. First, IO transactions from the first CPU module 20 and the second CPU module 30 are input and stored in the corresponding transaction storage means (step 601), and the earliest IO transaction stored in each transaction storage means is compared. Input is made to the means 82 (step 602). If a valid IO transaction is not stored at this time, no IO transaction is input from the transaction storage means to the comparison means.
At most one IO transaction input from each transaction storage means is compared by the comparison means 82 (step 603). If the IO transactions match as a result of the comparison, the matched IO transaction is immediately output to the IO controller (step 604). At this time, the output IO transaction is erased from both transaction storage means. It is determined whether it is the last IO transaction (step 605). If it is not the last, the process returns to step 602, and the next IO transaction is input to the comparison means 82 and compared.

ステップ603において一致しない場合、例えば、一方のCPUモジュールからしかIOトランザクションが届いておらずIOトランザクションのシーケンスが一致していない場合には、一方のCPUモジュールからIOトランザクションが届いてから一定時間が経過しているかを判別する(ステップ606)。
一定時間が経過していなければステップ601にもどりCPUモジュールからIOトランザクションが新たに届いていれば対応するトランザクション格納手段に格納し、新たに各トランザクション格納手段に最も早く格納されたIOトランザクションを再度比較する処理を一定時間が経過するまで繰り返す。ステップ606において一定時間が経過していれば、フォールトトレラントコンピュータ内に備えられている障害監視部等に障害の発生を通知する。
If they do not match in step 603, for example, if an IO transaction arrives only from one CPU module and the IO transaction sequence does not match, a certain time has elapsed since the IO transaction arrived from one CPU module. It is discriminated whether or not (step 606).
If the fixed time has not elapsed, the process returns to step 601, and if a new IO transaction arrives from the CPU module, it is stored in the corresponding transaction storage means, and the newest IO transaction stored in each transaction storage means is compared again. This process is repeated until a certain time has elapsed. If the predetermined time has passed in step 606, the failure monitoring unit provided in the fault tolerant computer is notified of the occurrence of the failure.

一定時間が経過する前に他方のCPUモジュールからIOトランザクションが届き、一致すればステップ603で一致となり、ステップ604において、一致したIOトランザクションをIOコントローラへ出力する。なお、ステップ603において両方のCPUモジュールからIOトランザクションが届いているが届いたシーケンスが一致していない場合、ステップ606,601,602を繰り返し、一定時間経過後に障害監視部等に障害の発生を通知することになる。   An IO transaction arrives from the other CPU module before a certain time elapses, and if they match, a match is found in step 603, and in step 604, the matched IO transaction is output to the IO controller. If an IO transaction has arrived from both CPU modules in step 603 but the received sequences do not match, steps 606, 601, and 602 are repeated, and a failure occurrence is notified to the failure monitoring unit, etc. after a certain period of time. Will do.

なお、トランザクション同期制御部は、複数のタイマ手段を備え、第1及び第2のトランザクション格納手段は複数のIOトランザクションを格納可能な容量とし、他方のCPUモジュールから入力される前に続けて同じCPUモジュールからIOトランザクションが入力された場合その入力を受け付け、複数のIOトランザクションを待ち合わせることができるよう構成してもよい。   The transaction synchronization control unit includes a plurality of timer units, and the first and second transaction storage units have a capacity capable of storing a plurality of IO transactions, and the same CPU continues before being input from the other CPU module. When an IO transaction is input from the module, the input may be received and a plurality of IO transactions may be waited for.

他方のCPUモジュールからの入力を待ち合わせている間に続けて同じCPUモジュールからのIOトランザクション入力された場合には、すでにスタートしているタイマ手段とは別のタイマ手段をスタートし、今回入力されたIOトランザクションを、すでに以前に受信したIOトランザクションが格納されたアドレスとは別のアドレスに格納する。これにより複数のトランザクションを待ち合わせて各CPUモジュールからのIOトランザクションの一致を判断することができる。   When an IO transaction is input from the same CPU module while waiting for an input from the other CPU module, a timer means different from the already started timer means is started and this time input The IO transaction is stored at an address different from the address where the previously received IO transaction is stored. As a result, it is possible to wait for a plurality of transactions and determine the coincidence of IO transactions from each CPU module.

本変形例に図2,3に示すIOトランザクションのシーケンスが入力された場合の動作について説明する。まず第1のCPUモジュール20と第2のCPUモジュール30からの同じIOトランザクション(IO−A1)が発行されると、このタイミングでIOトランザクションを比較し、一致したことを判別すると、IOトランザクション(IO−A1)を、IOコントローラ52Aに対して出力する。次のタイミングでは第2のCPUモジュール30からの(IO−A2)は届くが、第1のCPUモジュール20からのIOトランザクション(IO−A2)が届かない。   The operation when the IO transaction sequence shown in FIGS. 2 and 3 is input to this modification will be described. First, when the same IO transaction (IO-A1) is issued from the first CPU module 20 and the second CPU module 30, the IO transactions are compared at this timing. -A1) is output to the IO controller 52A. At the next timing, (IO-A2) from the second CPU module 30 arrives, but the IO transaction (IO-A2) from the first CPU module 20 does not arrive.

IOコントローラ52Aに対応するトランザクション同期制御部51Aは、第2のCPUモジュール30からの(IO−A2)を第2のトランザクション格納手段81−2に格納し、第1のCPUモジュール20からのIOトランザクション(IO−A2)を受け取るまで一定時間待ち合せ、第1のCPUモジュール20からのIOトランザクション(IO−A2)が届くと、このタイミングで第1のCPUモジュール20からのIOトランザクションと、第2のトランザクション格納手段81−2に格納されていたIOトランザクションとを比較し、一致したことを判別すると、IOトランザクション(IO−A2)を、IOコントローラ52Aに対して出力する。   The transaction synchronization control unit 51A corresponding to the IO controller 52A stores (IO-A2) from the second CPU module 30 in the second transaction storage means 81-2, and IO transactions from the first CPU module 20 (IO-A2) waits for a certain period of time, and when an IO transaction (IO-A2) arrives from the first CPU module 20, the IO transaction from the first CPU module 20 and the second transaction at this timing When the IO transaction stored in the storage unit 81-2 is compared and it is determined that they match, the IO transaction (IO-A2) is output to the IO controller 52A.

次に、本発明のトランザクション同期制御部の他の変形例について説明する。図7は、本発明のトランザクション同期制御部の他の変形例の構成を示すブロック図である。本変形例では、比較手段182に第1及び第2のCPUモジュール20,30が直接接続されるとともに、第1及び第2のCPUモジュール20,30と、第1及び第2のトランザクション格納手段181−1,181−2のどちらからIOトランザクションを入力するか選択する第1及び第2の選択回路185−1,185−2を備えている。   Next, another modification of the transaction synchronization control unit of the present invention will be described. FIG. 7 is a block diagram showing a configuration of another modification of the transaction synchronization control unit of the present invention. In this modification, the first and second CPU modules 20 and 30 are directly connected to the comparison unit 182, and the first and second CPU modules 20 and 30 and the first and second transaction storage units 181 are used. -1 and 181-2 are provided with first and second selection circuits 185-1 and 185-2 for selecting which IO transaction is input.

図8は、図7の動作例を説明するフローチャートである。まず、新たなIOトランザクションを比較手段に入力するとき、各トランザクション格納手段に、有効なデータが格納されているか判断する(ステップ801)。有効なデータが格納されている場合、対応する選択回路をトランザクション格納手段側に切り替える(ステップ802)。有効なデータが格納されていない場合、選択回路をCPUモジュール側とする(ステップ802)。したがって、格納手段に未処理のIOトランザクションが格納されておらず、同時にCPUモジュールからIOトランザクションが入力されるような通常の状態ではIOトランザクションは格納手段に格納することなく、比較手段182に直接入力される。   FIG. 8 is a flowchart for explaining the operation example of FIG. First, when a new IO transaction is input to the comparison unit, it is determined whether valid data is stored in each transaction storage unit (step 801). If valid data is stored, the corresponding selection circuit is switched to the transaction storage means side (step 802). If valid data is not stored, the selection circuit is set to the CPU module side (step 802). Therefore, an unprocessed IO transaction is not stored in the storage means, and at the same time an IO transaction is input from the CPU module, the IO transaction is directly input to the comparison means 182 without being stored in the storage means. Is done.

そしてIOトランザクションのシーケンスが互いに一致するかどうかが判別される(ステップ804)。比較手段182に入力されたIOトランザクションが一致していれば、一致したIOトランザクションをIOコントローラへ出力する(ステップ805)。   It is then determined whether the IO transaction sequences match each other (step 804). If the IO transactions input to the comparison unit 182 match, the matched IO transaction is output to the IO controller (step 805).

ステップ804において一致しなかった場合、一方のCPUモジュールからしかIOトランザクションが届いておらず、そのIOトランザクションがトランザクション格納手段に格納されていない場合は格納する(ステップ806)。IOトランザクションのシーケンスが一致していない場合には、一方のCPUモジュールからIOトランザクションが届いてから一定時間が経過しているかを判別する(ステップ807)。   If they do not match in step 804, the IO transaction has arrived only from one CPU module, and if the IO transaction is not stored in the transaction storage means, it is stored (step 806). If the IO transaction sequences do not match, it is determined whether a certain time has elapsed since the IO transaction arrived from one of the CPU modules (step 807).

一定時間が経過していなければステップ801にもどりIOトランザクションノシーケンスを再度比較する処理を一定時間が経過するまで繰り返す。一定時間が経過していれば、フォールトトレラントコンピュータ内に備えられている障害監視部等に障害の発生を通知する。一定時間が経過する前に他方のCPUモジュールからIOトランザクションが届き、ステップ804において一致すれば、ステップ805において、入力したIOトランザクションをIOコントローラへ出力する。   If the predetermined time has not elapsed, the process returns to step 801 and the process of comparing the IO transaction sequence again is repeated until the predetermined time elapses. If a certain time has elapsed, the occurrence of a failure is notified to a failure monitoring unit provided in the fault tolerant computer. If an IO transaction arrives from the other CPU module before the fixed time elapses, and if they match in step 804, the input IO transaction is output to the IO controller in step 805.

なお、ステップ804において一致せず、両方のCPUモジュールからIOトランザクションが届いているが届いたシーケンスが一致していない場合、一定時間経過後に障害監視部等に障害の発生を通知することになる。   If no match is found in step 804 and IO transactions have arrived from both CPU modules but the received sequences do not match, the failure monitoring unit or the like is notified of the occurrence of the failure after a certain period of time.

以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも上記実施の形態に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。   Although the present invention has been described with reference to the preferred embodiments, the present invention is not necessarily limited to the above embodiments, and various modifications can be made within the scope of the technical idea.

本発明の実施の形態によるフォールトトレラントコンピュータの構成を示すブロック図である。It is a block diagram which shows the structure of the fault tolerant computer by embodiment of this invention. 本発明の実施の形態によるフォールトトレラントコンピュータの各CPUモジュールから発行されるIOトランザクションの具体例を説明する図である。It is a figure explaining the specific example of IO transaction issued from each CPU module of the fault tolerant computer by embodiment of this invention. 本発明の実施の形態によるフォールトトレラントコンピュータの具体的な動作例を説明する図である。It is a figure explaining the specific operation example of the fault tolerant computer by embodiment of this invention. 本発明の実施の形態によるフォールトトレラントコンピュータに備えられるトランザクション同期制御部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the transaction synchronous control part with which the fault tolerant computer by embodiment of this invention is provided. 本発明の実施の形態によるフォールトトレラントコンピュータに備えられるトランザクション同期制御部の動作例を説明するフローチャートである。It is a flowchart explaining the operation example of the transaction synchronous control part with which the fault tolerant computer by embodiment of this invention is provided. トランザクション同期制御部の変形例の動作例を説明するフローチャートである。It is a flowchart explaining the operation example of the modification of a transaction synchronous control part. トランザクション同期制御部の他の変形例の構成を示すブロック図である。It is a block diagram which shows the structure of the other modification of a transaction synchronous control part. 図7の動作例を説明するフローチャートである。It is a flowchart explaining the operation example of FIG.

符号の説明Explanation of symbols

10 フォールトトレラントコンピュータ
20 第1のCPUモジュール
30 第2のCPUモジュール
50 第1のIOモジュール
60 第2のIOモジュール
51A、51B、61A、61B トランザクション同期制御部
52A、52B、62A、62B IOコントローラ
81−1 第1のトランザクション格納手段
81−2 第2のトランザクション格納手段
82 比較手段
83 タイマ手段
84 出力制御手段
DESCRIPTION OF SYMBOLS 10 Fault tolerant computer 20 1st CPU module 30 2nd CPU module 50 1st IO module 60 2nd IO module 51A, 51B, 61A, 61B Transaction synchronous control part 52A, 52B, 62A, 62B IO controller 81- DESCRIPTION OF SYMBOLS 1 1st transaction storage means 81-2 2nd transaction storage means 82 Comparison means 83 Timer means 84 Output control means

Claims (20)

同じ命令列をクロック同期して処理する複数のCPUモジュールと、
デバイスに対し入出力制御処理を実行する複数のデバイスコントローラを備えた複数のIOモジュールと、
前記デバイスコントローラ毎に、前記複数のCPUモジュールの各々から発行されるIOトランザクションのシーケンスの一致をチェックし、一致が得られた場合は同期外れではないとみなすトランザクション同期制御部と、
を有することを特徴とするフォールトトレラントコンピュータ。
A plurality of CPU modules that process the same instruction sequence in clock synchronization;
A plurality of IO modules including a plurality of device controllers for executing input / output control processing on the device;
For each device controller, a transaction synchronization control unit that checks the match of the sequence of IO transactions issued from each of the plurality of CPU modules and considers that it is not out of sync if a match is obtained;
A fault tolerant computer comprising:
前記トランザクション同期制御部は、一定時間を計るタイマ手段と、
前記デバイスコントローラ毎に、複数のCPUモジュールから発行される前記IOトランザクションのシーケンスの一致を、前記一定時間待ち合せて判別する比較手段と、
を有することを特徴とする請求項1に記載のフォールトトレラントコンピュータ。
The transaction synchronization control unit includes timer means for measuring a certain time,
Comparing means for determining the match of the sequence of the IO transactions issued from a plurality of CPU modules for each device controller by waiting for the predetermined time;
The fault tolerant computer according to claim 1, comprising:
前記トランザクション同期制御部は、前記シーケンスの一致が得られたタイミングで、前記IOトランザクションを前記デバイスコントローラに出力する出力制御部を有することを特徴とする請求項2に記載のフォールトトレラントコンピュータ。 The fault tolerant computer according to claim 2, wherein the transaction synchronization control unit includes an output control unit that outputs the IO transaction to the device controller at a timing when the sequence match is obtained. 前記出力制御部は、各CPUモジュールからのIOトランザクションの一致が得られたタイミングで、一致が得られたIOトランザクションを1つづつ、前記デバイスコントローラに出力することを特徴とする請求項3に記載のフォールトトレラントコンピュータ。 4. The output control unit according to claim 3, wherein at the timing when the coincidence of IO transactions from each CPU module is obtained, the output control unit outputs the IO transactions obtained by coincidence one by one to the device controller. Fault tolerant computer. 前記出力制御部は、一定時間内にシーケンスの一致が得られない場合、あるいはIOトランザクションのシーケンスが互いに相違している場合に、障害の通知を出力することを特徴とする請求項2から請求項4の何れかに記載のフォールトトレラントコンピュータ。 3. The output control unit according to claim 2, wherein the output control unit outputs a failure notification when a sequence match is not obtained within a predetermined time, or when IO transaction sequences are different from each other. 5. The fault tolerant computer according to any one of 4 above. 前記トランザクション同期制御部は、
前記複数のCPUモジュールから発行される前記IOトランザクションを格納する複数の格納手段を備えることを特徴とする請求項2から請求項5の何れか1項に記載のフォールトトレラントコンピュータ。
The transaction synchronization control unit
The fault tolerant computer according to claim 2, further comprising a plurality of storage units that store the IO transactions issued from the plurality of CPU modules.
前記トランザクション同期制御部は、
前記比較手段に入力するIOトランザクションを前記複数の格納手段から入力するか、前記CPUモジュールから入力するかを選択する選択回路を備えることを特徴とする請求項2から請求項5の何れか1項に記載のフォールトトレラントコンピュータ。
The transaction synchronization control unit
The selection circuit according to any one of claims 2 to 5, further comprising: a selection circuit that selects whether an IO transaction to be input to the comparison unit is input from the plurality of storage units or from the CPU module. Fault tolerant computer as described in.
同じ命令列をクロック同期して処理する複数のCPUモジュールからIOモジュールへの複数かつ同一のIOトランザクションを入力する第1のステップと、
入力されたIOトランザクションについて、前記IOモジュールに備えられた複数のデバイスコントローラ毎にシーケンスの一致をチェックし、一致が得られた場合、同期外れではないとみなす第2のステップとを有することを特徴とするフォールトトレラントコンピュータのトランザクション同期制御方法。
A first step of inputting a plurality of identical IO transactions from a plurality of CPU modules that process the same instruction sequence in clock synchronization to the IO module;
The input IO transaction has a second step of checking a sequence match for each of a plurality of device controllers provided in the IO module, and assuming that a match is found, it is regarded as not out of synchronization. A transaction synchronization control method for fault tolerant computers.
前記第2のステップは、互いのIOトランザクションのシーケンスの一致を、一定時間待ち合せて判別することを特徴とする請求項8に記載のフォールトトレラントコンピュータのトランザクション同期制御方法。 9. The method according to claim 8, wherein in the second step, the coincidence of the sequences of the IO transactions with each other is determined by waiting for a predetermined time. シーケンスの一致が得られたタイミングで、前記IOトランザクションを前記デバイスコントローラに出力する第3のステップをさらに有することを特徴とする請求項9に記載のフォールトトレラントコンピュータのトランザクション同期制御方法。 The method according to claim 9, further comprising a third step of outputting the IO transaction to the device controller at a timing when a sequence match is obtained. 前記第1のステップは、前記複数のCPUモジュールから発行される前記IOトランザクションをデバイスコントローラ毎に複数の格納手段に格納し、
前記第2のステップは、各CPUモジュールから入力されたIOトランザクションを比較手段に入力してIOトランザクションを比較し、一致しなかった場合、一定時間経過しているか判定し一定時間経過していない場合は同期外れではないとみなす、
ことを特徴とする請求項9に記載のフォールトトレラントコンピュータのトランザクション同期制御方法。
The first step stores the IO transactions issued from the plurality of CPU modules in a plurality of storage units for each device controller,
In the second step, the IO transaction input from each CPU module is input to the comparison means and the IO transactions are compared. If they do not match, it is determined whether or not a certain time has elapsed, and the certain time has not elapsed. Is considered out of sync,
The method for controlling transaction synchronization of a fault tolerant computer according to claim 9.
入力されたIOトランザクションの一致が得られたタイミングで、一致が得られたIOトランザクションを1つづつ、前記デバイスコントローラに出力することを特徴とする請求項11に記載のフォールトトレラントコンピュータのトランザクション同期制御方法。 12. The transaction synchronization control of a fault tolerant computer according to claim 11, wherein at the timing when the input IO transaction is matched, the IO transactions with matching are output one by one to the device controller. Method. 一定時間内にシーケンスの一致が得られない場合、障害の通知を出力するステップをさらに有することを特徴とする請求項9から請求項12の何れかに記載のフォールトトレラントコンピュータのトランザクション同期制御方法。 The method for controlling transaction synchronization of a fault tolerant computer according to any one of claims 9 to 12, further comprising a step of outputting a failure notification when a sequence match is not obtained within a predetermined time. 新たなIOトランザクションを比較手段に入力するとき、前記複数の格納手段から入力するか、前記CPUモジュールから入力するかを選択するステップを有することを特徴とする請求項11から請求項13の何れか1項に記載のフォールトトレラントコンピュータのトランザクション同期制御方法。 14. The method according to claim 11, further comprising a step of selecting whether to input from a plurality of storage means or from the CPU module when a new IO transaction is input to the comparison means. The transaction synchronization control method for a fault-tolerant computer according to item 1. 前記複数の格納手段から入力するか、前記CPUモジュールから入力するかを選択するステップは、格納手段に有効なデータが格納されていない場合にはCPUモジュールからの入力に切り替えることを特徴とする請求項14に記載のフォールトトレラントコンピュータのトランザクション同期制御方法。 The step of selecting whether to input from the plurality of storage means or from the CPU module switches to input from the CPU module when valid data is not stored in the storage means. Item 15. A method for controlling transaction synchronization of a fault tolerant computer according to Item 14. 複数のCPUモジュールで、同じ命令列をクロック同期させて処理するフォールトトレラントコンピュータにおいて実行され、
複数のCPUモジュールからIOモジュールへの複数かつ同一のIOトランザクションを入力する第1の処理と、入力されたIOトランザクションについて、前記IOモジュールに備えられた複数のデバイスコントローラ毎にシーケンスの一致をチェックし、一致が得られた場合、同期外れではないとみなす第2の処理を行うことを特徴とするフォールトトレラントコンピュータのトランザクション同期制御プログラム。
It is executed in a fault tolerant computer that processes the same instruction sequence in a clock synchronous manner with a plurality of CPU modules.
The first process of inputting a plurality of identical IO transactions from the plurality of CPU modules to the IO module and the input IO transaction are checked for sequence matching for each of a plurality of device controllers provided in the IO module. A transaction synchronization control program for a fault-tolerant computer, characterized in that, when a match is obtained, a second process is performed in which it is assumed that the synchronization is not lost.
前記第2の処理は、互いのIOトランザクションのシーケンスの一致を、一定時間待ち合せて判別することを特徴とする請求項16に記載のフォールトトレラントコンピュータのトランザクション同期制御プログラム。 17. The transaction synchronization control program for a fault-tolerant computer according to claim 16, wherein the second processing determines whether the sequence of each other's IO transaction matches after waiting for a predetermined time. シーケンスの一致が得られたタイミングで、前記IOトランザクションを前記デバイスコントローラに出力する第3の処理を実行することを特徴とする請求項17に記載のフォールトトレラントコンピュータのトランザクション同期制御プログラム。 The transaction synchronization control program for a fault-tolerant computer according to claim 17, wherein a third process of outputting the IO transaction to the device controller is executed at a timing when a sequence match is obtained. 一定時間内にシーケンスの一致が得られない場合、あるいはIOトランザクションのシーケンスが互いに相違している場合に、障害の通知を出力する処理を実行することを特徴とする請求項16から請求項18の何れかに記載のフォールトトレラントコンピュータのトランザクション同期制御プログラム。 19. The process of outputting a failure notification is executed when a sequence match is not obtained within a predetermined time, or when IO transaction sequences are different from each other. A transaction synchronization control program for a fault-tolerant computer according to any one of the above. 前記第1の処理は、前記複数のCPUモジュールから発行される前記IOトランザクションをデバイスコントローラ毎に複数の格納手段に格納する処理を有し、前記第2の処理は、各CPUモジュールから入力された前記IOトランザクションを比較手段に入力してIOトランザクションを比較する処理と、一致しなかった場合、前記一定時間の経過を経過しているか判定し一定時間経過していない場合は同期外れではないとみなす処理とを実行することを特徴とする請求項17から請求項19の何れか1項に記載のフォールトトレラントコンピュータのトランザクション同期制御プログラム。
The first process includes a process of storing the IO transaction issued from the plurality of CPU modules in a plurality of storage units for each device controller, and the second process is input from each CPU module. When the IO transaction is not matched with the process of inputting the IO transaction to the comparison means and the IO transaction is compared, it is determined whether the predetermined time has passed, and if the fixed time has not passed, it is regarded as not out of synchronization. The transaction synchronization control program for a fault tolerant computer according to any one of claims 17 to 19, wherein the processing is executed.
JP2003297389A 2002-08-30 2003-08-21 Fault tolerant computer, transaction synchronization control method and program thereof Expired - Fee Related JP3821806B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003297389A JP3821806B2 (en) 2002-08-30 2003-08-21 Fault tolerant computer, transaction synchronization control method and program thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002255388 2002-08-30
JP2003297389A JP3821806B2 (en) 2002-08-30 2003-08-21 Fault tolerant computer, transaction synchronization control method and program thereof

Publications (2)

Publication Number Publication Date
JP2004110803A JP2004110803A (en) 2004-04-08
JP3821806B2 true JP3821806B2 (en) 2006-09-13

Family

ID=32301386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003297389A Expired - Fee Related JP3821806B2 (en) 2002-08-30 2003-08-21 Fault tolerant computer, transaction synchronization control method and program thereof

Country Status (1)

Country Link
JP (1) JP3821806B2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4154610B2 (en) 2004-12-21 2008-09-24 日本電気株式会社 Fault tolerant computer and control method thereof
JP2006178616A (en) 2004-12-21 2006-07-06 Nec Corp Fault tolerant system, controller used thereform, operation method and operation program
JP2006178636A (en) 2004-12-21 2006-07-06 Nec Corp Fault tolerant computer and its control method
JP4816911B2 (en) 2006-02-07 2011-11-16 日本電気株式会社 Memory synchronization method and refresh control circuit
JP5013309B2 (en) * 2006-08-18 2012-08-29 日本電気株式会社 Fault tolerant computer and its transaction synchronous control method
JP4640359B2 (en) * 2007-03-12 2011-03-02 日本電気株式会社 Fault tolerant computer and synchronization control method in fault tolerant computer
JP5061674B2 (en) * 2007-03-19 2012-10-31 日本電気株式会社 Fault tolerant computer system and data transmission control method
JP5071369B2 (en) * 2008-12-26 2012-11-14 日本電気株式会社 Server device
JP2011090553A (en) * 2009-10-23 2011-05-06 Nec System Technologies Ltd Information processing apparatus, synchronization control method and program
US9400722B2 (en) * 2011-11-15 2016-07-26 Ge Aviation Systems Llc Method of providing high integrity processing
JP2016212485A (en) * 2015-04-30 2016-12-15 日本電信電話株式会社 Virtual machine synchronous system, virtual machine synchronous method and virtual machine synchronous program
JP7224237B2 (en) * 2019-05-08 2023-02-17 三菱電機株式会社 I/O controller

Also Published As

Publication number Publication date
JP2004110803A (en) 2004-04-08

Similar Documents

Publication Publication Date Title
JP3982353B2 (en) Fault tolerant computer apparatus, resynchronization method and resynchronization program
JP3821806B2 (en) Fault tolerant computer, transaction synchronization control method and program thereof
US7493517B2 (en) Fault tolerant computer system and a synchronization method for the same
US20060149986A1 (en) Fault tolerant system and controller, access control method, and control program used in the fault tolerant system
JPH0773059A (en) Fault-tolerant computer system
JP2006178616A (en) Fault tolerant system, controller used thereform, operation method and operation program
EP1675006A2 (en) Fault tolerant computer system and interrupt control method for the same
US7178058B2 (en) Fault tolerant computer and transaction synchronization control method
EP1672504A2 (en) Method and system for resetting fault tolerant computer system
JP6083480B1 (en) Monitoring device, fault tolerant system and method
KR100583214B1 (en) Information processing apparatus
EP2615548B1 (en) Computing device
JP5537140B2 (en) SAFETY CONTROL DEVICE AND SAFETY CONTROL PROGRAM
US7120828B2 (en) System and method for in-order queue draining
JPWO2008120352A1 (en) Information processing apparatus and error processing method
JPH06242979A (en) Dual computer device
JP5061674B2 (en) Fault tolerant computer system and data transmission control method
JP3615219B2 (en) System controller, control system, and system control method
JP3415636B2 (en) Processor unit
JPH06324900A (en) Computer
JPH08212093A (en) Fault tolerant computer system
JP4640359B2 (en) Fault tolerant computer and synchronization control method in fault tolerant computer
CN117395263B (en) Data synchronization method, device, equipment and storage medium
JPH0736720A (en) Duplex computer equipment
JP2001175545A (en) Server system, fault diagnosing method, and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040915

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060524

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060620

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees