JP4161276B2 - フォルトトレラントコンピュータ装置およびその同期化方法 - Google Patents

フォルトトレラントコンピュータ装置およびその同期化方法 Download PDF

Info

Publication number
JP4161276B2
JP4161276B2 JP2004365345A JP2004365345A JP4161276B2 JP 4161276 B2 JP4161276 B2 JP 4161276B2 JP 2004365345 A JP2004365345 A JP 2004365345A JP 2004365345 A JP2004365345 A JP 2004365345A JP 4161276 B2 JP4161276 B2 JP 4161276B2
Authority
JP
Japan
Prior art keywords
computer system
data
control unit
address
write
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
JP2004365345A
Other languages
English (en)
Other versions
JP2006172243A (ja
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2004365345A priority Critical patent/JP4161276B2/ja
Priority to CA002530013A priority patent/CA2530013A1/en
Priority to EP05112092A priority patent/EP1672506A3/en
Priority to US11/304,180 priority patent/US7493517B2/en
Priority to AU2005244590A priority patent/AU2005244590A1/en
Priority to CN200510133924.XA priority patent/CN1790285A/zh
Publication of JP2006172243A publication Critical patent/JP2006172243A/ja
Application granted granted Critical
Publication of JP4161276B2 publication Critical patent/JP4161276B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Memory System (AREA)

Description

本発明は、複数のコンピュータシステムが、同じ命令列をクロック同期して同時に処理するロックステップ方式のフォルトトレラントコンピュータ (fault tolerant computer)装置とその同期化方法に関し、特に、コンピュータシステム間の同一動作性が崩れた場合(ロックステップが外れた場合)の再同期化処理(組み込み処理)を、フォルトトレラントコンピュータ装置から切り離されたコンピュータシステム以外のコンピュータシステムによる通常運用を停止させることなく実行できるようにしたフォルトトレラントコンピュータ装置およびその同期化方法に関するものである。
従来のロックステップ方式のフォルトトレラントコンピュータ装置では、同じ命令列を同期して実行している複数のコンピュータシステムの中で、故障あるいはその他の外的あるいは内的要因により、他のコンピュータシステムと異なる出力を行うコンピュータシステム、すなわち障害が発生したコンピュータシステムを検出した場合は、その障害が発生したコンピュータシステムを一旦運用状態から切り離し、ロックステップが外れる要因に応じて必要によりコンピュータシステムを交換し、あるいは交換を必要としない場合は必要に応じた再初期化処理等を行うことにより、運用状態に組み込む操作が行われている。
この運用状態への組み込みは、従来のロックステップ方式のフォルトトレラントコンピュータ装置では、障害により交換されたコンピュータもしくは初期の立ち上げ時のスタンバイ側のコンピュータのメモリをアクティブ側のコンピュータのメモリの内容と一致させるために、運用状態のコンピュータシステムのもつメインメモリのデータを全て、再組み込みするコンピュータシステムのもつメインメモリへコピーする必要がある。
従来のロックステップ方式のフォルトトレラントコンピュータ装置は、障害の発生したコンピュータシステムの交換や障害の発生原因の部位に応じた再初期化処理などを実施した後、再度運用状態に組み込む場合に、運用状態にあったコンピュータシステムを停止させている(例えば、特許文献1参照)。
すなわち、この従来のロックステップ方式のフォルトトレラントコンピュータ装置では、障害の発生したコンピュータシステムの再組み込み処理の間、フォルトトレラントコンピュータ装置全体が長期間(一般に3〜5秒間、乃至分オーダの時間)、業務を停止させなければならなかった。
その理由は、障害により外されたコンピュータシステムを運用状態に組み込むために、運用を継続していたコンピュータシステムのメインメモリの内容を、再度組み込もうとしているコンピュータシステムのメインメモリにコピーする際に、運用を継続しているとメインメモリの内容が更新されてしまう恐れがあるためである。コピー作業が行われている際にコピー元コンピュータシステム側が運用を継続していると、コピー済みアドレスのデータが更新されると、運用を継続しているコンピュータシステムのメインメモリの内容が組み込みの行われるコンピュータシステムのメインメモリに正確にコピーされないことになる。
そこで、転送の完了した領域のアドレスを保持するレジスタを用意し、ライト命令がが発生した場合にはそのライトアドレスが既に転送の完了した領域のアドレスに対するライト命令であるか否かを調べ、転送の完了した領域のアドレスに対する要求である場合には、そのアドレスを記憶して置き、メモリコピーが完了した後に、そのアドレスに対して読み出しを行いそのデータを転送先コンピュータへ転送することが提案されている(例えば、特許文献2参照)。
特開2004−046455号公報 特開2001−265750号公報
従来のロックステップのフォルトトレラントコンピュータ装置では、何らかの要因による障害により切り離されたコンピュータシステムを、運用状態に再組み込みする際に動作中のコンピュータシステムも一旦停止させてメインメモリのコピーを行っている。而して、現在のコンピュータシステム内のメモリの容量は、数ギガバイトに及んでいることから、メモリの全領域をコピーするには長時間を要することになり、長時間の運用停止が問題となってきている。この問題に対処して、正常に動作している側のコンピュータシステム(アクティブ側)においてメモリアクセスを制限しつつメインメモリの内容を再組み込みが行われる側のコンピュータシステム(スタンバイ側)へコピーする方法も提案されているが、ソフトウェアに特別の処理が要求される上に運用を継続しているコンピュータシステムの性能が大幅に低下するなどの問題があった。
また、特許文献2により提案された方式では、メモリコピーのためにメモリリードを実行しようとしている際にそのメモリリードのアドレスに対するメモリライト命令が発生するとライト命令が先行してしまう可能性があり、転送元メモリの内容を完全に転送先メモリに転送できない可能性がある。また、特許文献2に記載されたような、メモリライトの実行されたアドレスのデータを読み出して転送する方式では、ライトデータの転送のために長い時間がかかるという問題点があった。
本発明の課題は、上述した従来技術の問題点を解決することであって、その目的は、第1に、アクティブ側のコンピュータシステムの運用を停止することなくスタンバイ側コンピュータシステムの再組み込み処理を実現できるようにすることであり、第2に、ソフトウェアに特別の処理を要求しなくても済むようにすることであり、第3に、再組み込み処理時にアクティブ側のコンピュータシステムの性能低下を招くことのないようにすることであり、第4に、極力すくないプロセスにてデータ転送を完了できるようにして同期化を短時間で実現できるようにすることである。
上記の目的を達成するため、本発明によれば、1ないし複数個のプロセッサと、メインメモリと、ルーティング制御部と同期化制御部とを含み各部間の接続を制御するブリッジ回路と、を含むコンピュータシステムを複数備え、各コンピュータシステムがクロック同期して同じ命令列を処理するフォルトトレラントコンピュータ装置において、一方のコンピュータシステムがそのメインメモリのデータを他のコンピュータシステムのメインメモリにコピーする際にはコピー元のコンピュータシステムの同期化制御部メインメモリのデータを読み出してこれを他のコンピュータシステムの同期化制御部へ転送するように構成されており、前記ルーティング制御部には、メインメモリのデータを同期化制御部読み出す際にその読み出しの進行状態を把握するための、読み出しが開始されたデータのアドレスを記憶するリードリクエストカウンタと、その読み出しが完了したデータのアドレスを記憶するリード終了カウンタと、が備えられているカウンタ機構と、そのカウンタ機構のカウント値とプロセッサからライト命令が発行された際にその書き込みの行われるアドレス(以下、ライトアドレスと記す)とを比較するアドレス比較器と、を含むメモリアクセス監視機構が備えられており、非動作中のコンピュータシステム(以下、スタンバイコンピュータシステムと記す)を動作中のコンピュータシステム(以下、アクティブコンピュータシステムと記す)へ同期化させるために、アクティブコンピュータシステムのメインメモリのデータをスタンバイコンピュータシステムへ順次転送している際にプロセッサよりメインメモリに対するライト命令が発行された場合に、前記メモリアクセス監視機構は、前記アドレス比較の比較結果に応じて既にデータ読み出しの完了しているアドレスのライトデータおよび現にデータ読み出し作業の行われているアドレスのライトデータのみをアクティブコンピュータシステム側の前記同期化制御部へ転送し、前記アドレス比較器が、ライトアドレスが未だリードリクエストの行われていないアドレスであると判断した場合は、単にメモリライトを許可し、ライトアドレスが既にデータ読み出しの終了しているアドレスであると判断した場合は、メモリライトを許可すると共にライトデータを同期化制御部へ転送し、それ以外の場合には、現に行われている読み出しが終了した後にメモリライトを許可すると共にライトデータを同期化制御部へ転送することを特徴とするフォルトトレラントコンピュータ装置、が提供される。
また、上記の目的を達成するため、本発明によれば、1ないし複数個のプロセッサと、メインメモリと、ルーティング制御部と同期化制御部とを含み各部間の接続を制御するブリッジ回路と、を含むコンピュータシステムを複数備え、各コンピュータシステムがクロック同期して同じ命令列を処理するフォルトトレラントコンピュータ装置において、一方のコンピュータシステムがそのメインメモリのデータを他のコンピュータシステムのメインメモリにコピーする際にはコピー元のコンピュータシステムの同期化制御部メインメモリのデータを読み出してこれを他のコンピュータシステムの同期化制御部へ転送するように構成されており、前記ルーティング制御部には、メインメモリのデータを同期化制御部読み出す際にその読み出しの進行状態を把握するためのカウンタ機構と、そのカウンタ機構のカウント値とプロセッサからライト命令が発行された際にそのライトアドレスとを比較するアドレス比較器と、を含むメモリアクセス監視機構が備えられており、スタンバイコンピュータシステムをアクティブコンピュータシステムへ同期化させるために、アクティブコンピュータシステムのメインメモリのデータをスタンバイコンピュータシステムへ順次転送している際にプロセッサよりメインメモリに対するライト命令が発行された場合に、前記メモリアクセス監視機構は、前記アドレス比較の比較結果に応じて既にデータ読み出しの完了しているアドレスおよび現にデータ読み出し作業の行われているアドレスに対してのライト命令である場合に、ライト命令を実行すると共に割込みを提起し、前記同期化制御部はその提起された割込み処理を行う際にライトデータを取得し、ライトアドレスが既にリードリクエストが行なわれているアドレスであるが、データ読み出しが終了していないアドレスである場合に、現に行なわれている読み出しが終了した後にメモリライトを許可すると共にライトデータを同期化制御部へ転送することを特徴とするフォルトトレラントコンピュータ装置、が提供される。
また、上記の目的を達成するため、本発明によれば、1ないし複数個のプロセッサと、メインメモリと、ルーティング制御部と同期化制御部とを含み各部間の接続を制御するブリッジ回路と、を含むコンピュータシステムを複数備え、各コンピュータシステムがクロック同期して同じ命令列を処理するフォルトトレラントコンピュータ装置について、アクティブコンピュータシステムへスタンバイコンピュータシステムを同期化させるフォルトトレラントコンピュータ装置の同期化方法において、アクティブコンピュータシステムのメインメモリのデータをスタンバイコンピュータシステムへアクティブコンピュータシステムの同期化制御部が転送する際に、既にデータ転送の完了したアドレスに対するライト命令が発行された場合、ルーティング制御部はそのライト命令のデータをスタンバイ側のコンピュータシステムへ同期化制御部を介して転送、スタンバイコンピュータシステムへのデータ転送のためにリードが開始されたアドレスに対するライト命令が発行された場合には、現に行なわれている読み出しが終了した後にルーティング制御部はメモリライトを許可すると共にそのライト命令のデータをスタンバイ側のコンピュータシステムへ同期化制御部を介して転送することにより、アクティブコンピュータ停止ることなく同期化を行うことを特徴とするフォルトトレラントコンピュータ装置の同期化方法、が提供される。

本発明の第1の効果は、スタンバイ側コンピュータシステムの同期化を、アクティブ側のコンピュータシステムの運用を停止することなく、すなわち通常運用の状態を維持したまま実現できることである。
第2の効果は、アクティブ側のコンピュータシステムのメインメモリへのライトアクセスをソフトウェアに対して制限してないためにソフトウェアのメモリアクセスについて特に意識する必要がなくなり、通常運用時と同様にコンピュータを使用することが可能となり、ソフトウェアの制御が複雑化することを回避することができることである。
第3の効果は、ソフトウェア、ファームウェアに対してメモリへのアクセスを制限してないために、コンピュータシステムの性能低下が同期化処理のためのメモリアクセスに限られ、システムのメモリアクセスを止めた場合に比べはるかに高速に同期化処理を終了することが可能となることである。
第4の効果は、同期化処理中にメインメモリに対するライト命令が発行されてもこのライトデータのスタンバイ側コンピュータシステムへの2重転送を最低限にとどめることができ、システムの性能低下を最小限に抑えることができることである。
次に、本発明の実施の形態について図面を参照して詳細に説明する。
[第1の実施の形態]
図1は、本発明の第1の実施の形態の概略の構成を示すブロック図である。なお、図1において、各部を結ぶ線はバスないし配線を意味しており、また矢印は信号の伝達方向を示している(図2、図6においても同様である)。図1に示すように、本実施の形態のフォルトトレラントコンピュータ装置100は、コンピュータシステム101と、これと同一構成のコンピュータシステム102とによって構成されている。本実施の形態では、接続されるコンピュータシステムは2つのみであるが3個以上のコンピュータシステムによってフォルトトレラントコンピュータ装置が構成されていてもよい。コンピュータシステム101と102には、それぞれCPU(Central Processing Uit)10、10;20、20が装備されている。本実施の形態では、各コンピュータシステムにはCPUは2個ずつ備えられているが、CPUは1個のみであっても3個以上であってもよい。CPU10、10(20、20)はバスを介してブリッジ回路11(21)に接続されている。ブリッジ回路11(21)には、ルーティング制御部12(22)、同期制御部13(23)、IO制御部14(24)が備えられており、ルーティング制御部12(22)はメインメモリ15(25)に、IO制御部14(24)はIO機器16、17(26、27)にそれぞれ接続されている。
フォルトトレラントコンピュータ装置100の通常運用時には、コンピュータシステム101とコンピュータシステム102とは同期して同一の動作を行っている。すなわち、コンピュータシステム101とコンピュータシステム102とは同一のクロックにより動作しており、CPU10、10とCPU20、20とは、同時に同一の命令を発行する。その命令はそれぞれブリッジ回路11、21へ伝達され、これを介してメインメモリ15、25へのアクセスが行われ、またIO機器16、17;26、27に対する制御が行われる。
コンピュータシステム101のCPU10、10から発行された命令の一部は、ルーティング制御部12を介してコンピュータシステム102の同期制御部23へ伝達され、一方、同一の命令はCPU20、20からも発行され、その命令はルーティング制御部22を介して同期制御部23へ伝達され、両方のCPUから発行された命令のタイミングのずれが同期制御部23において検証される。同様に、同期制御部13においても両方のCPUから発行された命令のタイミングのずれが検証される。
図2は、図1のブリッジ回路11のより詳細な構成を示すブロック図である(但し、図2ではIO制御部の図示は省略されている)。図2に示すように、ルーティング制御部12には、メインメモリ15へのアクセスを制御するメモリコントローラ121と、メモリアクセス監視機構122とが備えられている(ルーティング制御部12にはバスコントローラなどの他の制御回路も備えられているがそれらの図示は省略されている)。メモリアクセス監視機構122は、メインメモリ15のデータがメモリコントローラ121、同期制御部13を介してコンピュータシステム102へ転送されているプロセス中にCPUよりメモリライトの命令が発行された場合のそのライトデータの同期制御部13への転送を制御する。
メモリアクセス監視機構122には、同期制御部13がメモリコントローラ121に対してリードリクエストを行う度にカウントアップされるリードリクエストカウンタ1223と、リードが完了する度にカウントアップされるリード終了カウンタ1224と、メモリライト命令が発行された際にそのライトアドレスとカウンタ1223、1224のカウント値とを比較する比較器1221と、ライトデータの同期制御部13への転送を行うライトデータ送受信部1222とが備えられている。なお、メインメモリ15のコンピュータシステム102への転送は昇順で行うことも降順で行うこともできるが本明細書では便宜上昇順にて転送が行われるものとする。
図3は、コンピュータシステム102を再組み込みするためにメインメモリ15のデータをコンピュータシステム102へ転送する際の手順を示す流れ図であり、図4は、メモリコピーの行われているプロセス中にメモリライト命令が発行された場合のブリッジ回路11での処理の手順を示す流れ図であり、図5は、メインメモリ15のデータをコンピュータシステム102へ転送する際の命令およびデータの動きを示す流れ図である。図は、リードリクエストカウンタ1223とリード終了カウンタ1224のカウント値が“5”であって、6番地のデータが転送される場合の状態が示されている、次に、図3〜図5を参照して、図1、図2に示される本実施の形態の装置における同期化の手順について、説明する。なお、本実施の形態の説明では、コンピュータシステム101がアクティブ側で、コンピュータシステム102がスタンバイ側であるものとしているが、当然逆の場合も起こりうる。
図3のフローにおいて、ステップS101にてコンピュータシステム101のCPUより同期化開始命令が同期制御部13宛に発行されると、ステップS102にてカウンタ1223、1224がリセットされる。その後、同期制御部13からメモリリクエストが発行されそのリードリプライが同期制御部13に戻されそのデータがコンピュータシステム102宛に転送され、カウンタが順次カウントアップされるが、今リードリクエストカウンタ1223とリード終了カウンタ1224のカウント値が“5”であって、5番地までメモリデータの転送が完了した状態にあるものとする。ステップS103にて同期制御部13よりルーティング制御部12宛6番地のリードリクエストが発行されると、ルーティング制御部12は、CPUにそのキャッシュに6番地のデータを持っていないかどうかを問い合わせる(図5のa)。CPUからの回答の如何によらずルーティング制御部12はそのメモリコントローラ121宛にリードリクエストが発行され(図5のb)、ステップS104にてリードリクエストカウンタ1223が更新され、メインメモリに対してリードが開始される(図5のc)。ステップS105にてリードデータリプライが行われる(図5のd)とそのリードデータ(そのデータをAとする)はステップS106にて同期制御部13へ転送される。すると、ステップS107にてリード終了カウンタ1224の更新が行われ、更にそのリードデータはステップS108にてコンピュータシステム102の同期制御部へ転送される(図5のe)。次いで、ステップS109にてメインメモリ15の全領域のデータの転送が完了したか否かがチェックされ、完了していない場合にはステップS103に戻って上記のフローが繰り返される。ステップS109にてデータの転送が完了したと判断された場合には、同期化が終了したことになるのでメモリのコピー作業は終了する。そして、コンピュータシステム101と102によるフォルトトレラントコンピュータ装置100の通常運用が開始される。
なお、図3のフローにおいて、ステップS106とS107とはいずれか先であってもよくまた同時であってもよい。
図5に示す流れ図において、リードリクエストカウンタが更新される前の時点およびリード終了カウンタが更新された後の時点でCPUよりメモリライト命令が発行された場合(すなわち、両カウンタのカウント値が一致している場合)、同期制御部13からのメモリリードよりもCPUからのメモリライト命令が優先されて処理されるため、メモリライト命令によってメモリリードの行われているアドレスのデータが書き換えられてしまうという問題は考える必要がない。これに対して、リードリクエストカウンタが更新された後でリード終了カウンタが更新される前の期間では、リードリクエスト対象のアドレスに対してメモリライト命令が実行されるとリードリプライの行われたアドレスのデータが書き換えられる可能性が発生する。そこで、本発明においては、この期間内においてはリードリクエストのあったアドレスに対するライト命令は一時停止される。
図4に示すように、待機中(メモリコピーの行われているプロセス中にメモリライト命令を待つ状態)にステップS201にてCPUよりメモリコントローラ121に対してメモリライト命令が発行されると、そのライトアドレスはアドレス比較器1221に伝達され、ステップS202にてそのライトアドレスが同期制御部13によってリードリクエストされたアドレスであるか否か、リードリクエストされてリプライされているか否かがチェックされる。アドレス比較器1221は、ライトアドレスとリードリクエストカウンタ1223のカウント値およびリード終了カウンタ1224のカウント値との比較を行い、ライトアドレスがリードリクエストカウンタ1223のカウント値より大きい場合には、未だリードリクエストが発行されていないアドレスに対するライト命令であると判断して、ステップS203にてメモリコントローラ121に対しメモリライトの許可を与え待機状態に戻る。ステップS202にてアドレス比較器1221が、ライトアドレスがリード終了カウンタ1224のカウント値と同じかこれより小さいことを検出した場合には、既にメモリコピーの終了したアドレスに対するライト命令であると判断してステップS204にてライトデータ送受信部1222を介してライトデータを同期制御部13へ転送する。同期制御部13はステップS205にてこのライトデータをコンピュータシステム102の同期制御部へ転送する。そして、ステップS203にてメモリコントローラ121に対しメモリライトの許可を与え待機状態に戻る。
ステップS202にてアドレス比較器1221が、ライトアドレスがリードリクエストカウンタ1223のカウント値と同じで且つリード終了カウンタ1224のカウント値より大きいことを検出した場合には、ライト命令が現在メモリリードの行われているアドレスに対するものであると判断してステップS206にてリード終了カウンタ1224のカウント値が更新されるのを待ってステップS204へ進む。今、リードリクエストカウンタ1223のカウント値が“5”でリード終了カウンタ1224のカウント値が“6”であるものとすると、図5のfに示されるようにライト命令(そのデータをBとする)が発行されると、リード終了カウンタが更新されるのを待って、図5のgに示すように、ライトデータをライトデータ送受信部1222、同期制御部13を介してコンピュータシステム102の同期制御部へ転送する(ステップS204、S205)。そして、ステップS203にてメモリコントローラ121に対しメモリライトの許可を与え(図5のhに示すように、メモリライトが実行され)、待機状態に戻る。
なお、図4のフローにおいて、ステップS204とS203とはいずれか先であってもよくまた同時であってもよい。
[第2の実施の形態]
図6は、本発明の第2の実施の形態のブリッジ回路11の構成を示すブロック図である(第2の実施の形態の全体の構成図は図1に示される第1の実施の形態のものと同じである)。図6において、図2に示される第1の実施の形態のブロック図と同等の部分には同一の参照符号が付せられているので、ブリッジ回路11に関する重複する説明は省略する。本実施の形態においては、リード終了カウンタは削除され、リードリクエストカウンタ1223のみが用いられる。
図7は、第2の実施の形態においてメインメモリ15のデータをスタンバイ側であるコンピュータシステム102へ転送する際の手順を示す流れ図である。
ステップS301において、コンピュータシステム101のCPUより同期化開始命令が同期制御部13宛に発行されると、ステップS302にてリードリクエストカウンタ1223がリセットされる。ステップS303にて同期制御部13よりメモリコントローラ121宛リードリクエストが発行され、ステップS304にてリードリクエストカウンタ1223が更新され、メモリリードが開始される。ステップS305にてリードデータリプライが行われるとそのリードデータはステップS306にて同期制御部13へ転送される。そのリードデータはステップS307にてコンピュータシステム102の同期制御部へ転送される。次いで、ステップS308にて割込みが提起されているか否かがチェックされ、提起されていない場合にはステップS310にてメインメモリ15の全領域のデータの転送が完了したか否かがチェックされ、完了していない場合にはステップS303に戻って上記のフローが繰り返される。
ステップS308にて割込みが提起されていることが判明した場合にはステップS309へ進み割込み処理が実行される。割込み処理では、ステップS3091にてライトデータ送受信部1222を介してライトデータが同期制御部13へ転送され、ステップS3092にてそのライトデータがコンピュータシステム102の同期制御部へ転送され、割込み処理は完了する。ステップS310にてメインメモリ15の全データの転送が完了したと判断された場合には、同期化が終了したことになりメモリのコピー作業は終了する。
図8は、メモリコピーの行われているプロセス中にメモリライト命令が発行された場合のブリッジ回路11において行われる処理の手順を示す流れ図である。待機中にステップS401にてCPUよりメモリコントローラ121に対してメモリライト命令が発行されると、そのライトアドレスはアドレス比較器1221に伝達され、ステップS402にてそのライトアドレスが同期制御部13によって既にリードリクエストされたアドレスであるか否かがチェックされる。アドレス比較器1221は、ライトアドレスとリードリクエストカウンタ1223のカウント値との比較を行い、ライトアドレスがリードリクエストカウンタ1223のカウント値より大きい場合には、未だリードリクエストが発行されていないアドレスに対するライトであると判断して、ステップS403にてメモリコントローラ121に対しメモリライトの許可を与え待機状態に戻る。ステップS402にてアドレス比較器1221が、ライトアドレスがリードリクエストカウンタ1223のカウント値と同じかこれより小さいことを検出した場合には、既にリードリクエストがなされたアドレスに対するライト命令であると判断してステップS404にてメモリコントローラ121に対しメモリライトの許可を与え、ステップS405にて割込みを提起した後、待機状態に戻る。
なお、図3のフローにおいて、ステップS404とS405とはいずれか先であってもよくまた同時であってもよい。
本実施の形態では、リードリクエストカウンタのみが用いられていたが、これを削除しリード終了カウンタのみを用いるようにしても良い。この場合には、リード終了カウンタのカウント値に1を加算して先の説明と同様の方法を実行すればよい。
本発明の第1の実施の形態の全体の構成を示すブロック図。 本発明の第1の実施の形態のブリッジ回路の構成を示すブロック図。 本発明の第1の実施の形態のメモリコピーの処理の手順を示す流れ図。 本発明の第1の実施の形態において、メモリコピーのプロセス中にメモリライト命令が発行された場合の処理の手順を示す流れ図。 本発明の第1の実施の形態における命令およびデータの動きを示す流れ図。 本発明の第2の実施の形態のブリッジ回路の構成を示すブロック図。 本発明の第2の実施の形態のメモリコピーの処理の手順を示す流れ図。 本発明の第2の実施の形態において、メモリコピーのプロセス中にメモリライト命令が発行された場合の処理の手順を示す流れ図。

Claims (10)

  1. 1ないし複数個のプロセッサと、メインメモリと、ルーティング制御部と同期化制御部とを含み各部間の接続を制御するブリッジ回路と、を含むコンピュータシステムを複数備え、各コンピュータシステムがクロック同期して同じ命令列を処理するフォルトトレラントコンピュータ装置において、一方のコンピュータシステムがそのメインメモリのデータを他のコンピュータシステムのメインメモリにコピーする際にはコピー元のコンピュータシステムの同期化制御部メインメモリのデータを読み出してこれを他のコンピュータシステムの同期化制御部へ転送するように構成されており、前記ルーティング制御部には、メインメモリのデータを同期化制御部読み出す際にその読み出しの進行状態を把握するための、読み出しが開始されたデータのアドレスを記憶するリードリクエストカウンタと、その読み出しが完了したデータのアドレスを記憶するリード終了カウンタと、が備えられているカウンタ機構と、そのカウンタ機構のカウント値とプロセッサからライト命令が発行された際にその書き込みの行われるアドレス(以下、ライトアドレスと記す)とを比較するアドレス比較器と、を含むメモリアクセス監視機構が備えられており、非動作中のコンピュータシステム(以下、スタンバイコンピュータシステムと記す)を動作中のコンピュータシステム(以下、アクティブコンピュータシステムと記す)へ同期化させるために、アクティブコンピュータシステムのメインメモリのデータをスタンバイコンピュータシステムへ順次転送している際にプロセッサよりメインメモリに対するライト命令が発行された場合に、前記メモリアクセス監視機構は、前記アドレス比較の比較結果に応じて既にデータ読み出しの完了しているアドレスのライトデータおよび現にデータ読み出し作業の行われているアドレスのライトデータのみをアクティブコンピュータシステム側の前記同期化制御部へ転送し、前記アドレス比較器が、ライトアドレスが未だリードリクエストの行われていないアドレスであると判断した場合は、単にメモリライトを許可し、ライトアドレスが既にデータ読み出しの終了しているアドレスであると判断した場合は、メモリライトを許可すると共にライトデータを同期化制御部へ転送し、それ以外の場合には、現に行われている読み出しが終了した後にメモリライトを許可すると共にライトデータを同期化制御部へ転送することを特徴とするフォルトトレラントコンピュータ装置。
  2. ライトデータの前記同期化制御部への転送のタイミングは、前記リード終了カウンタのカウント値が変化するタイミングによって決定されることを特徴とする請求項1に記載のフォルトトレラントコンピュータ装置。
  3. 1ないし複数個のプロセッサと、メインメモリと、ルーティング制御部と同期化制御部とを含み各部間の接続を制御するブリッジ回路と、を含むコンピュータシステムを複数備え、各コンピュータシステムがクロック同期して同じ命令列を処理するフォルトトレラントコンピュータ装置において、一方のコンピュータシステムがそのメインメモリのデータを他のコンピュータシステムのメインメモリにコピーする際にはコピー元のコンピュータシステムの同期化制御部メインメモリのデータを読み出してこれを他のコンピュータシステムの同期化制御部へ転送するように構成されており、前記ルーティング制御部には、メインメモリのデータを同期化制御部読み出す際にその読み出しの進行状態を把握するためのカウンタ機構と、そのカウンタ機構のカウント値とプロセッサからライト命令が発行された際にそのライトアドレスとを比較するアドレス比較器と、を含むメモリアクセス監視機構が備えられており、スタンバイコンピュータシステムをアクティブコンピュータシステムへ同期化させるために、アクティブコンピュータシステムのメインメモリのデータをスタンバイコンピュータシステムへ順次転送している際にプロセッサよりメインメモリに対するライト命令が発行された場合に、前記メモリアクセス監視機構は、前記アドレス比較の比較結果に応じて既にデータ読み出しの完了しているアドレスおよび現にデータ読み出し作業の行われているアドレスに対してのライト命令である場合に、ライト命令を実行すると共に割込みを提起し、前記同期化制御部はその提起された割込み処理を行う際にライトデータを取得し、ライトアドレスが既にリードリクエストが行なわれているアドレスであるが、データ読み出しが終了していないアドレスである場合に、現に行なわれている読み出しが終了した後にメモリライトを許可すると共にライトデータを同期化制御部へ転送することを特徴とするフォルトトレラントコンピュータ装置。
  4. 前記カウンタ機構には、読み出しが開始されたデータのアドレスを記憶するリードリクエストカウンタ、または、読み出しが終了したデータのアドレスを記憶するリード終了カウンタが備えられていることを特徴とする請求項に記載のフォルトトレラントコンピュータ装置。
  5. 前記アドレス比較器が、ライトアドレスが未だ同期化制御部によってリードリクエストの行われていないアドレスであると判断した場合は、割込みを提起することなく単にライト命令を許可することを特徴とする請求項またはに記載のフォルトトレラントコンピュータ装置。
  6. 前記メモリアクセス監視機構により提起された割込みは、現に行われているデータ読み出し作業の終了後次のデータ読み出しが開始される前に実行されることを特徴とする請求項からのいずれかに記載のフォルトトレラントコンピュータ装置。
  7. 1ないし複数個のプロセッサと、メインメモリと、ルーティング制御部と同期化制御部とを含み各部間の接続を制御するブリッジ回路と、を含むコンピュータシステムを複数備え、各コンピュータシステムがクロック同期して同じ命令列を処理するフォルトトレラントコンピュータ装置について、アクティブコンピュータシステムへスタンバイコンピュータシステムを同期化させるフォルトトレラントコンピュータ装置の同期化方法において、アクティブコンピュータシステムのメインメモリのデータをスタンバイコンピュータシステムへアクティブコンピュータシステムの同期化制御部が転送する際に、既にデータ転送の完了したアドレスに対するライト命令が発行された場合、ルーティング制御部はそのライト命令のデータをスタンバイ側のコンピュータシステムへ同期化制御部を介して転送、スタンバイコンピュータシステムへのデータ転送のためにリードが開始されたアドレスに対するライト命令が発行された場合には、現に行なわれている読み出しが終了した後にルーティング制御部はメモリライトを許可すると共にそのライト命令のデータをスタンバイ側のコンピュータシステムへ同期化制御部を介して転送することにより、アクティブコンピュータ停止ることなく同期化を行うことを特徴とするフォルトトレラントコンピュータ装置の同期化方法。
  8. ライト命令のデータのスタンバイコンピュータシステムへの転送はメインメモリを介在させることなく行われることを特徴とする請求項に記載のフォルトトレラントコンピュータ装置の同期化方法。
  9. フォルトトレラントコンピュータ装置は、メインメモリのデータを他のコンピュータシステムのメインメモリにコピーする際には同期化制御部を介してメインメモリのデータを読み出してこれを他のコンピュータシステムの同期化制御部へ転送するように構成されていることを特徴とする請求項またはに記載のフォルトトレラントコンピュータ装置の同期化方法。
  10. 前記ルーティング制御部には、メインメモリのデータを同期化制御部を介して読み出す際にその読み出しの進行状態を把握するためのカウンタ機構と、そのカウンタ機構のカウント値とプロセッサからライト命令が発行された際にその書き込みの行われるアドレスとを比較するアドレス比較器と、を含むメモリアクセス監視機構が備えられていることを特徴とする請求項からのいずれかに記載のフォルトトレラントコンピュータ装置の同期化方法。
JP2004365345A 2004-12-17 2004-12-17 フォルトトレラントコンピュータ装置およびその同期化方法 Expired - Fee Related JP4161276B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004365345A JP4161276B2 (ja) 2004-12-17 2004-12-17 フォルトトレラントコンピュータ装置およびその同期化方法
CA002530013A CA2530013A1 (en) 2004-12-17 2005-12-13 A fault tolerant computer system and a synchronization method for the same
EP05112092A EP1672506A3 (en) 2004-12-17 2005-12-14 A fault tolerant computer system and a synchronization method for the same
US11/304,180 US7493517B2 (en) 2004-12-17 2005-12-15 Fault tolerant computer system and a synchronization method for the same
AU2005244590A AU2005244590A1 (en) 2004-12-17 2005-12-16 A fault tolerant computer system and a synchronization method for the same
CN200510133924.XA CN1790285A (zh) 2004-12-17 2005-12-19 容错计算机系统及其同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004365345A JP4161276B2 (ja) 2004-12-17 2004-12-17 フォルトトレラントコンピュータ装置およびその同期化方法

Publications (2)

Publication Number Publication Date
JP2006172243A JP2006172243A (ja) 2006-06-29
JP4161276B2 true JP4161276B2 (ja) 2008-10-08

Family

ID=36018673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004365345A Expired - Fee Related JP4161276B2 (ja) 2004-12-17 2004-12-17 フォルトトレラントコンピュータ装置およびその同期化方法

Country Status (6)

Country Link
US (1) US7493517B2 (ja)
EP (1) EP1672506A3 (ja)
JP (1) JP4161276B2 (ja)
CN (1) CN1790285A (ja)
AU (1) AU2005244590A1 (ja)
CA (1) CA2530013A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004105278A1 (en) * 2003-05-20 2004-12-02 Philips Intellectual Property & Standards Gmbh Time-triggered communication system and method for the synchronization of a dual-channel network
DE102006056879A1 (de) * 2006-12-01 2008-06-05 Dürr Systems GmbH Fehlerprotokollierungsverfahren für eine Beschichtungsanlage
JP5153310B2 (ja) * 2007-12-10 2013-02-27 株式会社日立製作所 フォールトトレラントコンピュータシステム、並びに再同期稼働化処理方法、及びプログラム
JP5206009B2 (ja) * 2008-02-18 2013-06-12 日本電気株式会社 フォルトトレラントコンピュータ、同期制御方法、及びプログラム
JP5481889B2 (ja) * 2009-03-11 2014-04-23 日本電気株式会社 フォールトトレラントコンピュータ、その同期制御方法及びコンピュータプログラム
EP2849005B1 (en) * 2012-05-10 2019-08-07 Mitsubishi Electric Corporation Standby dual redundant system
CN104699550B (zh) * 2014-12-05 2017-09-12 中国航空工业集团公司第六三一研究所 一种基于lockstep架构的错误恢复方法
JP6083480B1 (ja) * 2016-02-18 2017-02-22 日本電気株式会社 監視装置、フォールトトレラントシステムおよび方法
JP6090492B1 (ja) 2016-03-18 2017-03-08 日本電気株式会社 メモリアクセス制御装置、情報処理システム、メモリアクセス制御方法、及び、プログラム
US10515671B2 (en) 2016-09-22 2019-12-24 Advanced Micro Devices, Inc. Method and apparatus for reducing memory access latency
CN109358812A (zh) * 2018-10-09 2019-02-19 郑州云海信息技术有限公司 一种集群系统中io请求的处理方法、装置及相关设备
US11119695B2 (en) * 2019-03-28 2021-09-14 Infineon Technologies Ag Memory dispatcher
JP2021086359A (ja) * 2019-11-27 2021-06-03 株式会社デンソーウェーブ 産業機器の制御装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE144058T1 (de) * 1989-08-01 1996-10-15 Digital Equipment Corp Massenspeicherübertragung während der neusynchronisierung
GB2268817B (en) * 1992-07-17 1996-05-01 Integrated Micro Products Ltd A fault-tolerant computer system
US5790776A (en) * 1992-12-17 1998-08-04 Tandem Computers Incorporated Apparatus for detecting divergence between a pair of duplexed, synchronized processor elements
US5841963A (en) * 1994-06-08 1998-11-24 Hitachi, Ltd. Dual information processing system having a plurality of data transfer channels
JP3123413B2 (ja) 1995-11-07 2001-01-09 株式会社日立製作所 コンピュータシステム
JP3696689B2 (ja) 1996-04-15 2005-09-21 富士通株式会社 情報処理システムのメモリコピー装置
DE19832060C2 (de) * 1998-07-16 2000-07-06 Siemens Ag Doppelbare Prozessoreinrichtung
JP3481485B2 (ja) 1999-01-28 2003-12-22 エヌイーシーコンピュータテクノ株式会社 マルチプロセッサシステム
JP2001265750A (ja) 2000-03-17 2001-09-28 Omron Corp メモリ制御装置
JP3822431B2 (ja) 2000-10-31 2006-09-20 株式会社東芝 データコピーシステム、データコピー方法及び記憶媒体
US7003692B1 (en) * 2002-05-24 2006-02-21 Cisco Technology, Inc. Dynamic configuration synchronization in support of a “hot” standby stateful switchover
JP2004046455A (ja) 2002-07-10 2004-02-12 Nec Corp 情報処理装置
US7178058B2 (en) * 2002-08-30 2007-02-13 Nec Corporation Fault tolerant computer and transaction synchronization control method

Also Published As

Publication number Publication date
US20060149903A1 (en) 2006-07-06
JP2006172243A (ja) 2006-06-29
US7493517B2 (en) 2009-02-17
CN1790285A (zh) 2006-06-21
AU2005244590A1 (en) 2006-07-06
EP1672506A2 (en) 2006-06-21
CA2530013A1 (en) 2006-06-17
EP1672506A3 (en) 2006-07-05

Similar Documents

Publication Publication Date Title
US7493517B2 (en) Fault tolerant computer system and a synchronization method for the same
CN1326042C (zh) 容错计算机系统及其再同步方法和再同步程序
US7370232B2 (en) Method and apparatus for recovery from loss of lock step
US7500139B2 (en) Securing time for identifying cause of asynchronism in fault-tolerant computer
JP3730907B2 (ja) ディスクアレイ装置間の遠隔データコピー方式
US7441150B2 (en) Fault tolerant computer system and interrupt control method for the same
US20010032301A1 (en) Multiplexed computer system
CN109446169B (zh) 一种双控磁盘阵列共享文件系统
JP2000181887A (ja) 情報処理装置における障害処理方法及び記憶制御装置
KR100258079B1 (ko) 밀결합 결함 허용 시스템에서 메모리 버스 확장에 의한 동시 쓰기 이중화 장치
JP2004046455A (ja) 情報処理装置
JP5287974B2 (ja) 演算処理システム、再同期方法、およびファームプログラム
JP3774826B2 (ja) 情報処理装置
JPH05298192A (ja) 情報処理装置
US7913028B2 (en) Data processing system having multiplexed data relaying devices, data processing aparatus having multiplexed data relaying devices, and a method of incorporating data relaying devices in data processing system having multiplexed data relaying devices
JP2007334668A (ja) メモリダンプ方法、クラスタシステム、それを構成するノードおよびプログラム
JP5748214B2 (ja) 二重化情報処理システム
JP3696689B2 (ja) 情報処理システムのメモリコピー装置
JP4117685B2 (ja) フォルトトレラント・コンピュータとそのバス選択制御方法
JP4193754B2 (ja) データ二重化方法とプログラム
JP2815730B2 (ja) アダプタ及びコンピュータシステム
JPH06124242A (ja) 二重化共有メモリ等価性保証方式
JPH04195646A (ja) 多重化システム
JPH08272696A (ja) 情報処理装置及びメモリ内容回復方法
JPH0934741A (ja) メモリコピーシステム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080512

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: 20080626

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080709

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130801

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees