JP4182948B2 - フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法 - Google Patents

フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法 Download PDF

Info

Publication number
JP4182948B2
JP4182948B2 JP2004369875A JP2004369875A JP4182948B2 JP 4182948 B2 JP4182948 B2 JP 4182948B2 JP 2004369875 A JP2004369875 A JP 2004369875A JP 2004369875 A JP2004369875 A JP 2004369875A JP 4182948 B2 JP4182948 B2 JP 4182948B2
Authority
JP
Japan
Prior art keywords
control unit
cpu
ioapic
interrupt
master
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
JP2004369875A
Other languages
English (en)
Other versions
JP2006178659A (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 JP2004369875A priority Critical patent/JP4182948B2/ja
Priority to US11/311,404 priority patent/US7441150B2/en
Priority to CA002530913A priority patent/CA2530913A1/en
Priority to AU2005246990A priority patent/AU2005246990A1/en
Priority to EP05112572A priority patent/EP1675006A2/en
Priority to CN200510133818.1A priority patent/CN1821973A/zh
Publication of JP2006178659A publication Critical patent/JP2006178659A/ja
Application granted granted Critical
Publication of JP4182948B2 publication Critical patent/JP4182948B2/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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
    • 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
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1691Temporal synchronisation or re-synchronisation of redundant processing components using a quantum
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated

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)

Description

本発明は、コントローラの二重化方式に関し、特に割り込み制御も二重化されているフォールト・トレラント・コンピュータシステムに関する。
高度な信頼性を提供するコンピュータとして、フォールト・トレラント・コンピュータシステムが知られている。フォールト・トレラント・コンピュータでは、システムを構成する全てのハードウェア・モジュールが二重化され、または多重化されている。全てのハードウェア・モジュールは同期して動作し、たとえある部位で故障が発生したとしても、該ハードウェア・モジュールが切り離され、正常なハードウェア・モジュールで処理が続行される。これにより、耐故障性が向上している。
図1は、フォールト・トレラント・コンピュータシステムの構成の一例を示している。この例のフォールト・トレラント・コンピュータシステムはフォールト・トレラント制御部(以下、FT制御部と呼ぶ)を有し、CPU、メモリ、I/Oデバイスといったハードウェア・モジュールが二重化されている。FT制御部は、ハードウェア・モジュールと接続され、同期動作処理、故障時の切り替え制御などを行う。
図1に示されるフォールト・トレラント・コンピュータシステムでは、CPU(群)とメインメモリが一つのCPUサブシステムを構成し、これと全く同じ構成を有する他方のCPUサブシステムが存在する。これら2つのCPUサブシステムは二重化されている。同様に、同一構成のI/Oデバイス(群)も二重化され、I/Oサブシステムを構成する。FT制御部はそれらの中心に位置し、各々のモジュール(CPUサブシステム、I/Oデバイス群)を制御し、CPUサブシステムの両系の同期動作の維持、故障の検出と、故障モジュールの切り離し制御を行う。
図1では2個のCPUサブシステムが存在するが、故障サブシステムはFT制御部により論理的に切り離され、1個のCPUサブシステムとI/Oサブシステムで処理は継続される。一般的に、フォールト・トレラント・コンピュータは、ハードウェア的に二重化制御される部分と、ソフトウェア的に二重化制御される部分とに分かれる。例えば、CPUサブシステムは、ソフトウェアが実行される基盤であり、これらはハードウェア的に二重化制御される必要がある。このためCPUサブシステム内でエラーが発生した場合、FT制御部が該当CPU又はメモリをシステムから切り離し、正常動作しているCPU及びメモリに影響を及ぼさないように制御を行う。
一方、I/Oデバイスの故障の場合、それを検出したFT制御部は、I/Oデバイスを制御しているソフトウェア(以下I/Oデバイス・ドライバと呼ぶ)に対し、エラー通知を行うことで、I/Oデバイスの切り替えをソフトウェア的に行うことが可能である。この場合、I/Oデバイス・ドライバは、故障したI/Oデバイスの使用を中止し、代わって二重化されている別のI/Oデバイスを使用することになる。これらはI/Oサブシステム内での、使用I/Oデバイスの切り替えとなる。
しかし、数あるI/Oデバイスのうちソフトウェア的に二重化されることができないものもある。例えば、割込みコントローラもその一つである。割り込みコントローラは、各I/Oデバイスからの割り込み要求を受け付け、それをCPUへ知らせるのが主な役割である。I/Oデバイスからの割込みは、オペレーティング・システム(OS)によって、IRQと呼ばれる割込み番号に割り宛てられる。場合によっては、一つの割り込み番号に複数のI/Oデバイスが割り宛てられる場合もある。割り込みコントローラは、各デバイスからの割り込み要求を、設定された割込み番号に変換してCPUへ通知する。このとき、CPUがある割り込み番号の割り込み処理を処理中の場合には、割り込みコントローラは、同じ番号の割込み要求を知らせないか、または、複数のデバイスからの割込みが失われないように管理する。従って、割り込みコントローラは、処理中の割込みの状態の保持などを内部で行っており、割り込みコントローラで障害が発生した場合、それら情報が全て失われることになる。このため、ソフトウェアにより割り込みコントローラを元の状態に復帰させることは不可能である。
さらに、現在のウインドウズ(Windows (登録商標))やリナックスといったOSは、複数の割込みコントローラの存在を許しているが、動作中に割込みコントローラが増減することには対応していない。起動時に存在した割込みコントローラは、OSがシャットダウンされるまで存在し、正常動作しつづける必要がある。
32ビットプロセッサに代わって、64ビットプロセッサが市場に出回っている。64ビットプロセッサには、64ビットプロセッサとしてふるまう拡張モードと、旧環境と同じく32ビットプロセッサとしてふるまうレガシーモードとが用意されている。レガシーモードにおいては、64ビット命令が使用できないが、IA−32との互換性が確保されている。64ビットプロセッサにおいては、モードにより割込み制御が異なることになる。
一般的に、現状のPCサーバなどではオープン化が進んでおり、安価なサーバを製造する場合、おのずとインテル(Intel (登録商標))系CPUや、一般市場に安価に出回っている部材が選択されることになる。また、現在PCサーバで主流であるウインドウズやリナックスなどのOSも、これらインテル系アーキテクチャーに立脚している。しかしながら、オープン系PCサーバにおいて、安価にフォールト・トレラント・コンピュータを構成しようとする場合、以下のような多くの問題が存在する。
例えば、PCサーバで採用されるほとんどのI/Oデバイスや、ウインドウズといったOSは、フォールト・トレラント・コンピュータシステムを意識して設計されておらず、デバイスが二重化されても、故障時のフェイル・オーバ処理には全く対応していない。インテル系PCサーバは、サウス・ブリッジと呼ばれるレガシー(Legacy)機能が集約された特殊なI/Oデバイスに割込み制御が負わせている。特に、割込み制御はシステム動作の中核であるので、OSが直接サウス・ブリッジにアクセスを行い、その動作の制御を行っている。このため、一度サウス・ブリッジに障害が発生すると、OSは機能不全を起こし、結果的にシステム・ダウンを引き起こすことになる。また、オープン系で主に使用されるウインドウズといったOSに、フォールト・トレラント・コンピュータシステム用の改造を加えることは、現実的に不可能である。
上記と関連して、特開平9−251443号公報には、情報処理システムのプロセッサ障害回復処理方法が開示されている。この従来例では、情報処理システムは、複数のプロセッサを備え、少なくとも1個のプロセッサをシステム支援プロセッサとして動作させ、その他のプロセッサを命令プロセッサとして動作させるマルチプロセッサ構成の計算機システムである。プロセッサに固定障害が発生したとき、前記システム支援プロセッサの障害発生時、少なくとも1個の命令プロセッサ上で動作しているオペレーティングシステムに割り込みを発生し、前記オペレーティングシステムが、前記命令プロセッサにおいて障害が発生したことを認識し、前記命令プロセッサ上で前記割込み発生時に動作していたアプリケーションプログラムを異常終了させ、前記命令プロセッサをシステム支援プロセッサと交代させている。
特開平9−251443号公報
本発明の課題は、多重化、例えば二重化された2つのシステムが同期して動作可能なフォールト・トレラント・コンピュータシステムを提供することである。
本発明の他の課題は、システムの切替え時に割り込み要求が保持されることができるフォールト・トレラント・コンピュータシステムを提供することにある。
本発明の他の課題は、CPUからはサウス・ブリッジの故障を隠蔽することができるフォールト・トレラント・コンピュータシステムを提供することにある。
本発明の他の課題は、故障したFT制御部が交換されたときでも、完全に同期状態に復帰させることができるフォールト・トレラント・コンピュータシステムを提供することにある。
本発明の他の課題は、フォールト・トレラント・コンピュータシステムを意識せずに作成された既存のOS、既存のサウス・ブリッジを搭載したコンピュータシステム(サーバー)においても、割込みコントローラの二重化を実現することが可能となるフォールト・トレラント・コンピュータシステムを提供することにある。
以下に、[発明の実施の形態]で使用する番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と発明の実施の形態の記載との対応関係を明らかにするために付加されたものであるが、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明の観点では、フォールト・トレラント・コンピュータシステムは、1次系システムと2次系システムとを具備する。前記1次系システムは、第1CPU(2A)と、前記第1CPUに接続された第1FT制御部(10A)と、及び前記第1FT制御部に電気的かつ動作的に接続された第1サウス・ブリッジ(6A)とを具備する。前記2次系システムは、第2CPU(2B)と、前記第2CPUに接続された第2FT制御部(10B)と、及び前記第2FT制御部に電気的に接続され、かつ動作的に接続されていない第2サウス・ブリッジ(6B)とを具備する。前記第1FT制御部と前記第2FT制御部はリンク(8)により接続され、前記リンクを用いて前記1次系システムと前記2次系システムとは、前記第2サウス・ブリッジを除き同期して動作する。これにより、第2サウス・ブリッジはコンピュータシステムに影響を与えない。
このとき、前記第1CPUと第2CPUは同じオペレーティング・システム上で動作し、前記第2サウス・ブリッジは前記オペレーティング・システムから不可視である。これにより、第2サウス・ブリッジは、前記オペレーティング・システムの影響を受けない。
また、前記第1FT制御部は、第1マスターIOAPIC制御部(12A)を有し、前記第2FT制御部は、第2マスターIOAPIC制御部(12B)を有し、前記第1サウス・ブリッジは、PIC制御部(34)とIOAPIC制御部(36)を有してもよい。前記第1サウス・ブリッジの前記IOAPIC制御部のアドレス空間は、前記第1マスターIOAPIC制御部のアドレス空間の一部と同じであり、前記第2サウス・ブリッジの前記IOAPIC制御部のアドレス空間は、前記第2マスターIOAPIC制御部のアドレス空間の一部と同じである。この結果、各マスターIOAPICにデータが設定されれば、そのデータは前記各サウス・ブリッジの前記IOAPIC制御部に反映されることができる。
また、前記第1と第2のFT制御部は、前記1次系と2次系のシステムのステータスを示すステータスデータを格納する第1と第2のステータス格納部(22)をそれぞれ更に有してもよい。この場合、前記1次系システムがアクティブ・システムとして動作し、前記2次系システムがスタンバイ・システムとして前記1次系システムと同期的に動作している間に、前記第1サウス・ブリッジに障害が発生したとき、前記第1FT制御部の前記第1ステータス格納部に格納されたステータスデータは前記第2FT制御部の前記第2ステータス格納部に転送され、その後、前記2次系システムがアクティブ・システムとして動作する。これにより、CPU間で同期がはずれたとき、同期を再確立することができ、また両システムの一方に障害が発生したとき、障害発生部を交換したのち、他方からデータを転送することにより、再び同期動作を行うことが可能となる。
また、前記1次系システムは、前記第1FT制御部に接続された第1PCIブリッジ(7A)と、前記第1PCIブリッジに接続された第1I/Oデバイス群(5A)とを更に備え、前記2次系システムは、前記第2FT制御部に接続された第2PCIブリッジ(7B)と、前記第2PCIブリッジに接続された第2I/Oデバイス群(5B)とを更に備えていてもよい。この場合、前記1次系システムがアクティブ・システムとして設定され、前記2次系システムがスタンバイ・システムとして前記1次系システムと同期的に動作するように設定されているとき、オペレーティング・システムが動作していない起動時のレガシーモードにおいて、前記第1I/Oデバイス群のうちの1つからの第1割り込み要求は、前記第1マスターIOAPIC制御部と前記第1サウス・ブリッジのPIC制御部を介して前記第1CPUに転送される。こうして、両システムで割り込み処理を実行することができる。
また、前記第1割り込み要求は、前記リンクを介して前記第2FT制御部の前記第2マスターIOAPIC制御部を介して前記第2CPUに転送され、また、予め定められた遅延時間をもって前記第1FT制御部の前記第1マスターIOAPIC制御部に転送される。これにより、両システムで割り込み処理を同期して実行することができる。
また、前記レガシーモード後の、前記オペレーティング・システムが動作している拡張モードにおいて、前記第1サウス・ブリッジからの第2割り込み要求は、前記第1IOAPIC制御部から前記第1CPUに転送され、また前記リンク、前記第2FT制御部の前記第2IOAPIC制御部から前記第2CPUに転送される。
また、前記拡張モードにおいて、前記第1I/Oデバイス群のうちの1つからの第2割り込み要求は、前記第1マスターIOAPIC制御部を介して前記第1CPUに転送され、また前記リンクと前記第2マスターIOAPIC制御部を介して前記第2CPUに転送される。
また、前記拡張モードにおいて、前記第2I/Oデバイス群のうちの1つからの第3割り込み要求は、前記第2マスターIOAPIC制御部を介して前記第2CPUに転送され、また前記リンクと前記第1マスターIOAPIC制御部を介して前記第1CPUに転送される。
以上により、レガシーモードにおいても、拡張モードにおいて、割り込みが同期して処理されることができる。
また、前記第1と第2のFT制御部は、前記1次系と2次系のシステムのステータスを示すステータスデータを格納する第1と第2のステータス格納部(22)をそれぞれ更に有してもよい。前記第1IOAPIC制御部は、前記第1割り込み要求以外の受信した前記割り込み要求とそのときの前記システムのステータスを前記第1ステータス格納部に格納し、前記第2IOAPIC制御部は、前記第1割り込み要求以外の受信した前記割り込み要求とそのときの前記システムのステータスを前記第2ステータス格納部に格納する。これにより、両システムは、同一のステータスを保持することができる。
また、前記第1と第2のFT制御部は、前記1次系と2次系のシステムのステータスを示すステータスデータを格納する第1と第2のステータス格納部(22)をそれぞれ更に有してもよい。前記第1CPUと前記第2CPUが同期して動作している間に前記第1と第2のステータス格納部の格納データの不一致が検出されたとき、SMI(システム・マネージメント・インターラプト)ハンドラーは、前記第1CPUと前記第2CPUの動作を停止させ、前記第1と第2のステータス格納部の格納データが一致するように、前記第1と第2のFT制御部を制御する。これにより、同期はずれが発生したときにも、あるいは故障が発生したときにも、割り込み処理が正しく継承されることができる。
本発明の他の観点では、フォールト・トレラント・コンピュータシステムは、1次系システムと2次系システムとを具備する。前記1次系システムは、第1CPU(2A)と、前記第1CPUに接続された第1FT制御部(10A)と、及び前記第1FT制御部に電気的かつ動作的に接続された第1サウス・ブリッジ(6A)と、前記第1FT制御部に接続された第1PCIブリッジ(7A)と、前記第1PCIブリッジに接続された第1I/Oデバイス群(5A)とを具備する。前記2次系システムは、第2CPU(2B)と、前記第2CPUに接続された第2FT制御部(10B)と、及び前記第2FT制御部に電気的に接続され、かつ動作的に接続されていない第2サウス・ブリッジ(6B)と、前記第2FT制御部に接続された第2PCIブリッジ(7B)と、前記第2PCIブリッジに接続された第2I/Oデバイス群(5B)とを具備する。前記第1FT制御部と前記第2FT制御部はリンク(8)により接続され、前記第1FT制御部は、第1マスターIOAPIC制御部(12A)を有し、前記第2FT制御部は、第2マスターIOAPIC制御部(12B)を有する。前記第1CPUと前記第2CPUの各々は、第1割り込みパスと第2割り込みパスを有する。起動時に前記1次系システム内で生成された第1割り込みは、前記第1と第2のマスターIOAPICと前記第1割り込みパスを経由して前記第1と第2のCPUへ転送され、動作時に前記1次系システムまたは前記第2次系システム内で生成された第2割り込みは、前記第1と第2のマスターIOAPICと前記第2割り込みパスを経由して前記第1と第2のCPUへ転送される。これにより、レガシーモードと拡張モードにおいて、割り込み要求の転送パスを変更することができる。
また、本発明の他の観点では、割り込み制御方法が提供される。フォールト・トレラント・コンピュータシステムは、1次系システムと2次系システムとを具備し、前記1次系システムは、第1CPU(2A)と、前記第1CPUに接続された第1FT制御部(10A)と、及び前記第1FT制御部に電気的かつ動作的に接続された第1サウス・ブリッジ(6A)と、前記第1FT制御部に接続された第1PCIブリッジ(7A)と、前記第1PCIブリッジに接続された第1I/Oデバイス群(5A)とを具備し、前記2次系システムは、第2CPU(2B)と、前記第2CPUに接続された第2FT制御部(10B)と、及び前記第2FT制御部に電気的に接続され、かつ動作的に接続されていない第2サウス・ブリッジ(6B)と、前記第2FT制御部に接続された第2PCIブリッジ(7B)と、前記第2PCIブリッジに接続された第2I/Oデバイス群(5B)とを具備し、前記第1FT制御部は、第1マスターIOAPIC制御部(12A)を有し、前記第2FT制御部は、第2マスターIOAPIC制御部(12B)を有する。このフォールト・トレラント・コンピュータシステムにおいて、割り込み制御方法は、前記1次系システムがアクティブ・システムとして設定され、前記2次系システムがスタンバイ・システムとして前記1次系システムと同期的に動作するように設定されているとき、オペレーティング・システムが動作していない起動時のレガシーモードにおいて、第1I/Oデバイス群のうちの1つからの第1割り込み要求を、前記第1マスターIOAPIC制御部に転送することと、前記第1割り込み要求を前記リンクを介して前記第2FT制御部の前記第2マスターIOAPIC制御部に転送することと、前記第1割り込み要求を、前記第1マスターIOAPIC制御部から前記第1サウス・ブリッジのPIC制御部を介して、再び前記第1マスターIOAPIC制御部から前記第1CPUに転送することと、前記第1割り込み要求を、前記第2マスターIOAPIC制御部から前記第2サウス・ブリッジのPIC制御部を介して、再び前記第2マスターIOAPIC制御部から前記第2CPUに転送することにより達成される。
また、前記第1割り込み要求が前記第1マスターIOAPIC制御部に届くタイミングと前記第2マスターIOAPIC制御部に届くタイミングは同一であることが望ましい。
また、割り込み制御方法は、前記レガシーモード後の、前記オペレーティング・システムが動作している拡張モードにおいて、前記第1サウス・ブリッジからの第2割り込み要求を、前記第1IOAPIC制御部から前記第1CPUに転送するステップと、前記第2割り込み要求を前記リンク、前記第2FT制御部の前記第2IOAPIC制御部から前記第2CPUに転送するステップとを更に具備してもよい。
また、割り込み制御方法は、前記拡張モードにおいて、前記第2割り込み要求を、前記第1マスターIOAPIC制御部を介して前記第1CPUに転送するステップと、前記第2割り込み要求を、前記リンクと前記第2マスターIOAPIC制御部を介して前記第2CPUに転送するステップとを更に具備してもよい。
また、割り込み制御方法は、前記拡張モードにおいて、前記第2I/Oデバイス群のうちの1つからの第3割り込み要求を、前記第2マスターIOAPIC制御部を介して前記第2CPUに転送するステップと、前記第3割り込み要求を前記リンクと前記第1マスターIOAPIC制御部を介して前記第1CPUに転送するステップとを更に具備してもよい。
また、割り込み制御方法は、前記第1割り込み要求以外の受信された前記割り込み要求とそのときの前記システムのステータスを前記第1FT制御部内の第1ステータス格納部に格納するステップと、前記第1割り込み要求以外の受信した前記割り込み要求とそのときの前記システムのステータスを前記第2FT制御部内の第2ステータス格納部に格納するステップとを更に具備してもよい。
また、割り込み制御方法は、前記第1CPUと前記第2CPUが同期して動作している間に前記第1と第2のステータス格納部の格納データの不一致が検出されたとき、SMI(システム・マネージメント・インターラプト)ハンドラーにより、前記第1CPUと前記第2CPUの動作を停止させるステップと、前記第1と第2のステータス格納部の格納データが一致するように、前記第1と第2のFT制御部を制御するステップと、前記第1と第2のステータス格納部の格納データが一致したとき、前記第1CPUと前記第2CPUの動作を再開するステップとを更に具備することが好ましい。
以上に示す通り、IOAPICを使用する拡張モードでは、レガシーモードと同様、サウス・ブリッジ6が故障した場合、SMIハンドラーがマスターIOAPIC12Aと12Bのコンフィグレーション/ステータス格納部22を参照して、スタンバイ側のサウス・ブリッジ6のIOAPIC36に対し、全く同様の設定を行うことが可能となる。結果としてCPU2からみてサウス・ブリッジ6の故障を隠蔽することが可能である。
さらに、両モードにおいても、マスターIOAPIC12Aと12Bは常に同期して動作しているので、一方のFT制御部10自身が故障し、CPUサブシステムが論理的に切り離されたとしても、他方の正常動作しているFT制御部10のマスターIOAPIC12により正常動作を続けることが可能である。こうして、割り込みをロストすることもない。
さらに、故障したFT制御部10が交換された場合、交換後のモジュールのマスターIOAPIC12やサウス・ブリッジ6内のIOAPIC36の設定、状態は全て消えてしまっているが、システム・ソフトウェア(SMIハンドラー)により動作を続行しているシステム側のマスターIOAPIC12のコンフィグレーション/ステータス格納部22を参照し、コピーすることにより、完全に同期状態に復帰させることが可能である。
以上に示す通り、FT制御部内にコンフィグレーション/ステータスを保持する格納部を備えたマスターIOAPIC12を実装し、割り込みのルーティング制御を行うことで、割込みコントローラを二重化することが可能である。これにより、フォールト・トレラント・コンピュータシステムを意識せずに作成された既存のOS、既存のサウス・ブリッジ6を搭載したサーバにおいても、割込みコントローラの二重化を実現することが可能となる。
以下に、添付図面を参照して、本発明のフォールト・トレラント・コンピュータシステムについて詳細に説明する。本発明のフォールト・トレラント・コンピュータシステムは、例えば、サーバーシステムに適用可能である。
図2は、本発明の実施形態によるフォールト・トレラント・コンピュータシステムの基本構成を示すブロック図である。図2に示されるように、本発明のフォールト・トレラント・コンピュータシステムは、同じ構成を有する2つ系、即ち1次系システム#1と2次系システム#2とを有している。1次系システムと2次系システムの各々は、FT制御部10(10A、10B)、CPU2(2A、2B)、メインメモリ3(3A,3B)、サウス・ブリッジ6(6A,6B)、PCIブリッジ7(7A,7B)、I/Oデバイス5(5−1A,5−2A,または5−1B、5−2B)とを有している。尚、上記で添え字Aは1次系を示し、Bは2次系を示す。FT制御部10Aと10BはFTリンク8により接続されている。この実施形態では、コントローラが二重化されている。本発明の割込みコントローラは、フォールト・トレラント(F)制御部の中に内蔵されている。
故障個所の交換を可能とするため、1次系システムと2次系システムは別々のボードで構成されていることが好ましい。また、CPU2とメインメモリ3を有するCPUサブシステムとI/Oサブシステムも分離できるよう、4枚以上のボードで構成するのが理想的である。2つのCPUサブシステムの各々は、CPU群(この実施形態では1つのCPU2)、メインメモリ3、及び割込みコントローラを含むFT制御部10の上半分を有する。2つのCPUサブシステムはクロックも含め完全に同期して動作する。
I/Oサブシステムは、二重化されたI/Oデバイス群5と、PCIブリッジ7と、サウス・ブリッジ6とを備えている。I/Oサブシステムは、1次系/2次系とも全く同じハードウェア構成を有している。PCIブリッジ7は、各I/Oデバイス5とFT制御部10を接続している。
図4は、二重化されていない、一般的なPCサーバの割込みルーティングを図式的に示している。各I/Oデバイス群(ここではPCIデバイス)は最大4本(#A〜#D)の割込み線を持つことが可能であり、これらは一旦PCIブリッジ7に接続される。PCIブリッジ7は、複数の割込み線をワイアードオアに接続し、やはり4本の割込み線としてサウス・ブリッジ6のPICまたはIOAPICに接続される。サウス・ブリッジ6には通常、レガシー用のPICと拡張用のIOAPICが存在する。現状のPCサーバは、起動時にはレガシー状態で起動されることになっており、この際、割込みコントローラとしてPICが使用される。また、ウインドウズやリナックスなどのOSが動作する際は、PICの動作は停止され、より高機能のIOAPICが使用される。
図3は、図2に示されるシステムでのPCI階層構造を図式的に示す。全てのアクセス可能なデバイスは、PCIバス仕様に倣い、PCIバス番号と、PCIデバイス番号、PCI関数番号を持ち、CPUを頂点とした階層構造を有する。サウス・ブリッジ6だけは、全く同じデバイス番号を持つが、通常時は片方のみが使用される。以後、使用されるサウス・ブリッジ6はアクティブ・サウス・ブリッジ6と呼ばれる。他方のサウス・ブリッジ6は、スタンバイ・サウス・ブリッジ6と呼ばれる。スタンバイ・サウス・ブリッジ6は、FT制御部10から論理的に切り離されており、フェイル・オーバーが発生するまで、一切のアクセスは不可能である。
サウス・ブリッジ6は、一般にレガシーデバイスと呼ばれる、シリアルポート、パラレルポート、マウス、キーボード、タイマ、時計等(いずれも図示せず)のシステムで唯一存在するデバイスを備え、あるいは接続されている。これらレガシーデバイスは、システム上で固定のアドレスを有し、システム上に2個存在することは出来ない。また、OSからも直接アクセスされることが多い。サウス・ブリッジ6は、他のI/Oデバイス5とは異なる割り込み制御方法を採り、他のI/Oデバイス5とは異なり、ソフトウェアによる二重化は不可能である。従って、本発明のフォールト・トレラント・コンピュータシステムでも、動作しているのは、1次系と2次系の一方のみである。他方は、動作中のサウス・ブリッジ6が障害を起こすまで、スタンバイ状態として、OS側からは不可視状態にされる。
サウス・ブリッジ6は、レガシー割り込み制御部としてのPIC(プログラマブル・インターラプト・コントローラ)34、割込みコントローラ(IO アドバンスト・プログラマブル・インターラプト・コントローラ)36、およびルーティングロジック32とを備えている。PIC34は、起動時のレガシーモードにおいて、これらレガシーデバイスの割込み制御を行う。IOAPIC36は、一般的にインテル系PCサーバで使用されるサウス・ブリッジ6に組み込まれ、サウス/ブリッジに関連する割り込み要求を統括する。ルーティングロジック32は、内部で発生した割り込み要求あるいは外部からの割り込み要求をPIC34あるいはIOAPIC36に出力する。
FTリンク8は、1次系システムのFT制御部#1 10Aと2次系システムのFT制御部#2 10Bとを接続する。FTリンク8は、1次系システムから、2次系システムへの、及び2次系システムから1次系システムへのI/Oデバイスへのアクセスに使用される。これにより、1次系システムのFT制御部#1 10Aは、PCIブリッジ#1 7A及びその配下のI/Oデバイス5Aに対するアクセス・リクエストのみを2次系システムのFT制御部#2 10Bに転送する。同様に2次系システムのFT制御部#2 10Bは、PCIブリッジ#2 7B及びその配下のI/Oデバイス5Bに対するアクセスを受け持り、それらへのアクセス・リクエストのみを1次系システムのFT制御部#2 10Aに転送する。したがって、両系の同期チェック範囲も、上記範囲に限られる。即ち、本発明のコンピュータシステムでは、FT制御部10による同期チェックは分散的に行われることになる。
FT制御部10は、エラー検出部11、マスターIOAPIC12、メッセージコンバーター14、FTコンパレーター15、ゲートコントローラ16、ルーター18、タイマー19を備えている。加えて、FT制御部10は、図示しないが、1次系と2次系のCPUサブシステムの同期動作を保証するための同期動作保証制御部を有している。
エラー検出器11は、CPUあるいはI/Oデバイスからのリクエストを比較し、内部あるいはI/Oサブシステム等でのエラーを検出する。エラーが検出されたとき、SMI(システム・マネージメント・インターラプト)を生成する。マスターIOAPIC12は、CPU2がオペレーティング・システム上で動作している拡張モードにおいて割り込み要求を統括し、レガシーモードのとき、I/Oサブシステムからの割り込み要求をサウス・ブリッジ6へ転送する。また、レガシーモードにおいて、サウス・ブリッジ6からの割り込み要求をCPU2にスルーで転送する。メッセージコンバータ14は、I/Oサブシステムからの割り込み要求を割り込みメッセージに変換する。
ゲート・コントローラ16は、マスターIOAPIC12からの割り込み要求をサウス・ブリッジ6に接続し、サウス・ブリッジ6からの割り込み要求をマスターIOAPIC12に接続する。ルーター18は、CPUからのデータ/コマンドをメインメモリ3あるいはI/Oサブシステムに転送し、また、I/Oサブシステムからのデータ/コマンド及び割り込み要求をメインメモリあるいはCPUに転送する。また、1次系システムのFT制御部10Aのルーター18Aは、FTリンク8を介して2次系システムのFT制御部10BのIOAPIC12Bに割り込み要求を転送する。反対も同様である。なお、他系のマスターIOAPIC12への通知はFTリンク8を介すことになり、タイムラグが発生することになる。しかしながら、そのタイムラグを考慮して予め決められた時間の遅延後、上記割り込みメッセージは自系マスターIOAPIC12へ通知されるので、実質的に同一のタイミングで割り込みメッセージが通知されることができる。
FT制御部10は、更に、モジュールの物理的な位置、即ち当該FT制御部10が1次系システム内にあるのか2次系システム内にあるのかを示す外部ピン(図示せず)と、アクティブ・サウス・ブリッジ6のアドレス位置を示すアクティブ・サウス・ブリッジ・レジスタ(図示せず)を備えている。FTコンパレータ15は、両者の値を比較し、CPU2からの設定コマンドをルーター18を介してアクティブ・サウス・ブリッジ6に転送する。
図7は、本発明のコンピュータシステムのシステム・アドレス・マップの例を示している。マスターIOAPIC12は、例としてFEC0_0000h〜FEC7_FFFFhにマップされ、設定などもこの空間を介して行われる。サウス・ブリッジ6内のIOAPIC36のアドレス空間はマスターIOAPIC12のアドレス空間の一部と重なっている。こうして、本発明のコンピュータシステムでは、アクティブ・サウス・ブリッジ6内のIOAPIC36はCPU2あるいはOSから隠蔽されて不可視状態にある。しかしながら、アクティブ・サウス・ブリッジ6内のIOAPIC36の設定を行うことは必要であるので、サウス・ブリッジ6内のIOAPICのアドレス空間は、マスターIOAPIC12のアドレス空間により覆い被されている。
図8に示されるように、CPUから発行された設定コマンドは、ルーター18によりマスターIOAPIC12へ転送され、マスターIOAPIC12に設定される。また、設定コマンドののうち、サウス・ブリッジ6のIOAPIC36と重複する部分に関しては、ルーター18によりFTコンパレーター15に転送される。FTコンパレータ15は、設定コマンドとモジュールの物理的な位置データとアクティブ・サウス・ブリッジ・レジスタのデータの組とを比較することにより、アクティブ・サウス・ブリッジ6へ設定コマンドをフォワードする。これにより、サウス・ブリッジ6のIOAPIC36の設定、その状態が等価的にマスターIOAPIC12上に現れることになる。こうして、マスターIOAPIC12とサウス・ブリッジ6のIOAPIC36の重複する部分の設定は、マスターIOAPIC12だけでなくサウス・ブリッジIOAPIC36にも同様の設定が行われることになる。つまり、全く同じ設定のIOAPICのコピーを作り出していることになる。
マスターIOAPIC12は、マスター割り込みコントローラであり、システム全体の割り込みを統括する。マスターIOAPIC12は、拡張性をもった割込みコントローラで、割込み要因が発生した場合、CPU2に対し、メッセージの形で割込みの番号も一緒に通知する。両系のFT制御部10A、10B内の2個のマスター割り込みコントローラ12Aと12Bは、同期動作保証制御部により完全に同期して動作する。PCIブリッジ7Aと7B側からの割込み線#A〜#D上の割り込みは、メッセージコンバーター14によりINT#xアサート・メッセージ及びINT#xデアサート・メッセージに変換され、ルーター18により両系のIOAPIC12Aと12Bに同時に通知される。
PIC34とIOAPIC12と36は以下の点で相違する。即ち、PIC34は過去の資産を継承するためのレガシー割込みコントローラであり、割込み要因が発生した場合、CPU2へ一本の割込み線(INTR)を使用して、CPU2へ割込み要求を出力する。INTR信号を受け取ったCPU2は、インターラプト・アクノリッジ・コマンドをPCIに対して発行し、割り込みの番号を知る。一方、IOAPIC12と36は、さらに拡張性をもった割込みコントローラであり、割込み要因が発生した場合、CPU2に対し、メッセージの形で割込みの番号も一緒に通知する。以上の違いが存在するので、CPU2への割込み通知は各系で2系統存在することになる。
現在のシステムでは、上記のように、OSが起動されるまでのレガシーモードではPIC34が使用され、OSの起動後の拡張モードではIOAPIC12と36が使用される。こうして、割り込み要求パスは、切り替えが行われている。
図5は、本発明の割込みコントローラ二重化方式を採用したフォールト・トレラント・コンピュータシステムの割込みルーティングを図式的に示している。あくまでも既存のオープン系デバイス、OSを使用しているので、上述した動作と矛盾なく二重化してある。FT制御部10のマスターIOAPIC12は、OSから可視のシステムであり、唯一の割り込みコントローラである。両系のFT制御部10内の2個のマスター割り込みコントローラ12は完全に同期して動作する。
上記のように、FT制御部10にはアクティブ/スタンバイ・ゲート・コントローラ16が存在している。スタンバイ側では、サウス・ブリッジ6は電気的にFT制御部10に接続されているが、FT制御部10との接続が論理的に切り離されている。この結果、スタンバイ側のサウス・ブリッジ6への一切の割込み通知が遮断される。
図6は、FT制御部とサウス・ブリッジの割り込み要求転送構成を示す図である。サウス・ブリッジ6内は一般的な構成となっており、外部及び内部デバイスからの割込み要求を受け付け、モードによってPICまたIOAPICに通知先を変更する割り込みルーティングロジック32と、レガシーモード時の割込みコントローラであるPIC34、拡張時の割込みコントローラであるIOAPIC36とを備えている。
FT制御部10のIOAPIC12は、IOAPIC24と、マスターIOAPIC12の全ての設定、状態を知ることができるコンフィグレーション/ステータス格納部22(レジスタ群)と、PCIブリッジ7側からINT#xメッセージを受け付け、モードによりINT#xメッセージをIOAPIC24へ、あるいはゲート・コントローラ16を介してサウス・ブリッジ6へ転送するルーティングロジック20とを備えている。
ステータス格納部22は、故障したFTモジュールを交換し、新たなモジュールが接続されて二重化される際、その時点の割込みコントローラの状態を、他系に完全に再現可能な情報を持っており、フェイルオーバー時にシステム・ソフトウェアから参照される。格納部22は、
・IOAPICに対する設定情報
・FT制御部10内IOAPIC制御ロジックの内部ステータス(バイナリ状態であり、システム・ソフトウェアがこの値を見て何かを判断するわけではなく、純粋に内部状態をコピーするために使用される)
・PICに対する設定情報(FT制御部10はPIC機能は持っていないが、フェイルオーバー時のサウス・ブリッジ6への設定に使用)
・FT制御部内PIC制御ロジックの内部ステータス(バイナリー状態)
・その他、割込みコントローラに対する設定情報(FT制御部独自のレジスタ設定情報など)
・その他、割込みコントローラロジックの内部ステータス(バイナリー状態)
を保持している。格納部22の内容の全てを、交換された新モジュールの格納部22へコピーすることで、マスターIOAPIC12はコピー元と全く同じ設定、動作状況となり、完全に同期して動作することが可能となる。
尚、タイマー19により周期的にエラー検出部11がアクティブとされ、両系のステータス格納部22が比較されてもよい。この比較の結果、不一致が検出されたときには、SMIハンドラーに知らされる。SMIハンドラーは、CPU2の動作を停止し、両系のステータス格納部22の格納データが同じになるように、データの転送処理をする。その後、SMIハンドラーは、CPU2の動作を再開する。こうして、累積による誤差を所定時間ごとに除くことができる。また、所定時間ごとに、あるいはCPU2またはI/Oデバイス5からのリクエストに応答して、チェックしてサウス・ブリッジ6あるいはその他の個所に障害の発生を検出した場合、SMIハンドラーに知らされる。SMIハンドラーは、CPU2の動作を停止する。故障個所のボードが交換された後、SMIハンドラーは、両系のステータス格納部22の格納データが同じになるように、データの転送処理をする。その後、SMIハンドラーは、CPU2の動作を再開する。
レガシーモード時には、サウス・ブリッジ6内のPIC34がシステムで唯一の割込みコントローラとして利用されることができるように、PCIブリッジ7からのINT#xメッセージを割込み信号線#A〜#Dに戻してサウス・ブリッジ6に接続するための出力が存在する。CPU2への割り込みは、マスターIOAPICが行う。サウス・ブリッジ6のPIC34からの割り込み要求INTRと、IOAPIC36からの割込みメッセージはアクティブ/スタンバイ・ゲート・コントローラ16を介してマスターIOAPIC12に接続される。こうして、マスターIOAPIC12は、サウス・ブリッジ6の割り込み要求INTRをスルーによりCPU2に転送するINTR割り込み線と、マスターIOAPIC12で処理される割込みメッセージの出力が存在し、共にCPU2に接続されている。
レガシーモードの後の拡張モードでは
CPU2との割込みに関する授受は全てマスターIOAPIC12により行われる。マスターIOAPIC12は、拡張モード時にはアクティブ・サウス・ブリッジ6の割り込みと、PCIブリッジ7からの割り込みを統括して管理する。このため、マスターIOAPIC12の一部はアクティブ・サウス・ブリッジのIOAPIC36が、そのまま透過的に見える形となる。このため各サウス・ブリッジ6内のIOAPIC36は、システムからは不可視状態にされる。これは、サウス・ブリッジ6が故障するケースを考慮したものである。アクティブ・サウス・ブリッジ6が故障した場合、マスターIOAPIC12の割込み制御は、直ちにスタンバイ・サウス・ブリッジ6のIOAPIC36に置換される。このため、OS側からは特にIOAPICの増減は発生しない。
次に、図2に示される本発明のコンピュータシステムにおいて、1次系側のサウス・ブリッジ6をアクティブ・サウス・ブリッジと呼び、通常処理で使用されるサウス・ブリッジと仮定する。
まず、レガシーモードでの動作を説明する。レガシーモードでは、PIC34が割り込み制御の中心となる。PIC34を使用する場合、システムで唯一のPIC34が全てのデバイスの割り込みを制御することになる。FT制御部10は、PCIブリッジ7下のI/Oデバイス5−1,5−2からの割込み状態を監視することができるが、サウス・ブリッジ6内のデバイスの状態を把握することは不可能である。このため、結果として、PIC34はアクティブ・サウス・ブリッジ6内のPICを使うことになる。
図10において、PCIデバイス#1bから割込み信号がアサートされる。このとき、割り込み要求は、PCIブリッジ#1 7Aを介してFT制御部10Aのメッセージコンバーター14Aに通知される(ステップS1)。メッセージコンバーター14Aは、信号線の状態、即ち割り込み要求をINT#xアサート・メッセージに変換し、両方のマスターIOAPIC12Aと12Bに通知を行う(ステップS2)。FT制御部#2 10BへはFTリンク8を介して通知され、FT制御部#1 10Aは、前もって設定された遅延を経てからマスターIOAPIC12Aに通知される。これにより両系のマスターIOAPIC12Aと12Bは同時に割込み通知を受け取り、完全に同期して動作することが可能である。
両マスターIOAPIC12Aと12Bは、さらにゲート・コントローラ16Aと16Bに対し、INT#xアサート・メッセージを送る(ステップS3)。ゲート・コントローラ16Aは、ボード位置ピンとアクティブ・サウス・ブリッジ・レジスタの値に基づいて、自身がアクティブだと判断すると、INT#xアサート・メッセージを割込み信号線INT#xに戻し、サウス・ブリッジ6に通知する(ステップS4)。一般的に、サウス・ブリッジ6は、図6に示される構成を有しており、外部から入力された割込み要因はルーティングロジック32に供給される。なお、シリアルポート、パラレルポート、マウス、キーボード、タイマ、時計などの、もともとサウス・ブリッジ6内にある内部デバイスの割り込みも同様にルーティングロジック32に供給される。この場合、割込み通知はここからのスタートとなる。
サウス・ブリッジ6内のルーティングロジック32は、レガシーモードにあるので、割り込みをPIC34に通知する。PIC34は、INTR信号として割込み線をアサートする(ステップS5)。ゲート・コントローラ16Sは、INTR信号をINTRアサート・メッセージに変換して、双方のマスターIOAPIC12Aと12Bに通知を行う。この時、スタンバイ側のマスターIOAPIC12Bへの通知はFTリンク8を介して行われるが、実際には先のINT#xメッセージと同じパスを通過するため、INTRアサート・メッセージは両方のマスターIOAPIC12Aと12Bに同時に通知される(ステップS6)。両方のマスターIOAPIC12Aと12Bは、INTRアサート・メッセージを受け取ると、CPU2に対して同時にINTRをアサートする(ステップS7)。
レガシーモードでアクティブ・サウス・ブリッジ6が故障した場合、サウス・ブリッジ6の故障を示す割り込みが両CPU2に通知され、FT制御用のシステム・ソフトウェアがコールされる。このシステム・ソフトウェアの呼び出しのためには、最高レベルの割込みが使用され、例えば、インテル系CPUではシステム・マネージメント・インターラプト(SMI)が使用される。これにより、CPU2上で実行されている処理は全て一旦止められる。この停止の間に、SMIハンドラーは、アクティブ・サウス・ブリッジ6の設定を全てスタンバイ側にコピーし、アクティブ・サウス・ブリッジ・レジスタの値を入れ替える。SMIハンドラーの処理の終了後、一旦停止させられたCPU2の処理が再開される。このとき、サウス・ブリッジ6が入れ替わったことは完全に隠蔽されている。
次に拡張モード、つまりIOAPICが使用される場合を説明する。図9は、各種デバイスと割込み番号(IRQ)との対応を示すテーブルである。IOAPICは、割り込み要因を受け付けるとそのIRQを直接CPUへ通知するため、この様なテーブルがIOAPIC内に設けられている。サウス・ブリッジ6のIRQテーブルは一般的な設定で、特にインテル系CPUシステムではIRQ0〜IRQ15は固定的に決まっている。サウス・ブリッジ6のIRQテーブルの設定は実際にはマスターIOAPIC12に対してなされるが、図8に示されるように、ルーター18により同じ設定コマンドがアクティブ・サウス・ブリッジ6に送られるので、結果的に両者は同じ設定となる。アクティブ・サウス・ブリッジ6から発行された割込みメッセージは、そのままマスターIOAPIC12の割込み受け付けに置き換えられる。また、PCIブリッジ7からの割り込みは、例としてIRQ20〜27に割り付けられる。
図11は、IOAPICが使用される場合の動作を示している。I/Oデバイス#2b 5−2Aが、INTR信号をアサートしたと仮定する(ステップS1)。割り込みは、PCIブリッジ#2 7Bを経由してFT制御部#2 10Bに割込み信号、仮にINT#Cで通知されたとする。これを受け取ったメッセージコンバーター114Bは、両系のマスターIOAPIC12Aと12Bに対し、INT#cアサート・メッセージを通知する(ステップS2)。マスターIOAPIC12Aと12Bは、PCIブリッジ#2 7BからのINT#cをIRQ26と判断し、CPU2へ割込みメッセージを通知する(ステップS3)。詳細は略すが、サウス・ブリッジ6からの割り込みも同様の経路を通過する。
図1は、フォールト・トレラント・コンピュータシステムの構成の一例を示すブロック図である。 図2は、本発明の実施形態によるフォールト・トレラント・コンピュータシステムの基本構成を示すブロック図である。 図3は、図2に示されるシステムのPCI階層構造を図式的に示すブロック図である。 図4は、二重化されていないPCサーバの割込みルーティングを図式的に示すブロック図である。 図5は、本発明の割込みコントローラ二重化方式を採用したフォールト・トレラント・コンピュータシステムの割込みルーティングを図式的に示すブロック図である。 図6は、FT制御部のマスターIOAPICの構成を示すブロック図である。 図7は、本発明のシステムのシステム・アドレス・マップの例を示す図である。 図8は、ルーターにより同じ設定コマンドがアクティブ・サウス・ブリッジに送られる様子を示す図である。 図9は、各種デバイスと割込み番号(IRQ)との対応を示すテーブルである。 図10は、レガシーモードにおける割り込み制御を示す図である。 図11は、拡張モードにおける割り込み制御を示す図である。
符号の説明
10(10A、10B):FT制御部
2(2A、2B):CPU
3(3A,3B):メインメモリ
6(6A,6B):サウス・ブリッジ
7(7A,7B):PCIブリッジ
5(5−1(5−1A,5−1B)、5−2(5−2A,5−2B)):I/Oデバイス
8:FTリンク
12:マスターIOAPIC
14:メッセージコンバーター
15、FTコンパレーター
16:ゲートコントローラ
18:ルーター
20:ルーティングロジック
22:コンフィグレーション/ステータス格納部(レジスタ群)
32:割り込みルーティングロジック
34:PIC
36:IOAPIC

Claims (19)

  1. 1次系システムと2次系システムとを具備し、
    前記1次系システムは、第1CPUと、前記第1CPUに接続された第1FT制御部と、及び前記第1FT制御部に電気的かつ動作的に接続された第1サウス・ブリッジとを具備し、
    前記2次系システムは、第2CPUと、前記第2CPUに接続された第2FT制御部と、及び前記第2FT制御部に電気的に接続され、かつ動作的に接続されていない第2サウス・ブリッジとを具備し、
    前記第1FT制御部と前記第2FT制御部はリンクにより接続され、
    前記リンクを用いて前記1次系システムと前記2次系システムとは、前記第2サウス・ブリッジを除き同期して動作する
    フォールト・トレラント・コンピュータシステム。
  2. 請求項1に記載のフォールト・トレラント・コンピュータシステムにおいて、
    前記第1CPUと第2CPUは同じオペレーティング・システム上で動作し、
    前記第2サウス・ブリッジは前記オペレーティング・システムから不可視であるフォールト・トレラント・コンピュータシステム。
  3. 請求項1又は2に記載のフォールト・トレラント・コンピュータシステムにおいて、
    前記第1FT制御部は、第1マスターIOAPIC制御部を有し、
    前記第2FT制御部は、第2マスターIOAPIC制御部を有し、
    前記第1サウス・ブリッジは、PIC制御部とIOAPIC制御部を有し、
    前記第1サウス・ブリッジの前記IOAPIC制御部のアドレス空間は、前記第1マスターIOAPIC制御部のアドレス空間の一部と同じであり、前記第2サウス・ブリッジの前記IOAPIC制御部のアドレス空間は、前記第2マスターIOAPIC制御部のアドレス空間の一部と同じであるフォールト・トレラント・コンピュータシステム。
  4. 請求項1乃至3のいずれかに記載のフォールト・トレラント・コンピュータシステムにおいて、
    前記第1と第2のFT制御部は、前記1次系と2次系のシステムの設定データとステータスを示すステータスデータを格納する第1と第2のステータス格納部をそれぞれ更に有し、
    前記1次系システムがアクティブ・システムとして動作し、前記2次系システムがスタンバイ・システムとして前記1次系システムと同期的に動作している間に、前記第1サウス・ブリッジに障害が発生したとき、前記第1FT制御部の前記第1ステータス格納部に格納された前記設定データ・ステータスデータは前記第2FT制御部の前記第2ステータス格納部に転送され、
    その後、前記2次系システムがアクティブ・システムとして動作するフォールト・トレラント・コンピュータシステム。
  5. 請求項3に記載のフォールト・トレラント・コンピュータシステムにおいて、
    前記1次系システムは、前記第1FT制御部に接続された第1PCIブリッジと、前記第1PCIブリッジに接続された第1I/Oデバイス群とを更に備え、
    前記2次系システムは、前記第2FT制御部に接続された第2PCIブリッジと、前記第2PCIブリッジに接続された第2I/Oデバイス群とを更に備え、
    前記1次系システムがアクティブ・システムとして設定され、前記2次系システムがスタンバイ・システムとして前記1次系システムと同期的に動作するように設定されているとき、オペレーティング・システムが動作していない起動時のレガシーモードにおいて、前記第1I/Oデバイス群のうちの1つからの第1割り込み要求は、前記第1マスターIOAPIC制御部と前記第1サウス・ブリッジのPIC制御部を介して前記第1CPUに転送されるフォールト・トレラント・コンピュータシステム。
  6. 請求項5に記載のフォールト・トレラント・コンピュータシステムにおいて、
    前記第1割り込み要求は、前記リンクを介して前記第2FT制御部の前記第2マスターIOAPIC制御部を介して前記第2CPUに転送され、また、予め定められた遅延時間をもって前記第1FT制御部の前記第1マスターIOAPIC制御部に転送される
    フォールト・トレラント・コンピュータシステム。
  7. 請求項5または6に記載のフォールト・トレラント・コンピュータシステムにおいて、
    前記レガシーモード後の、前記オペレーティング・システムが動作している拡張モードにおいて、前記第1サウス・ブリッジからの第2割り込み要求は、前記第1IOAPIC制御部から前記第1CPUに転送され、また前記リンク、前記第2FT制御部の前記第2IOAPIC制御部から前記第2CPUに転送される
    フォールト・トレラント・コンピュータシステム。
  8. 請求項5乃至7のいずれかに記載のフォールト・トレラント・コンピュータシステムにおいて、
    前記拡張モードにおいて、前記第1I/Oデバイス群のうちの1つからの第2割り込み要求は、前記第1マスターIOAPIC制御部を介して前記第1CPUに転送され、また前記リンクと前記第2マスターIOAPIC制御部を介して前記第2CPUに転送される
    フォールト・トレラント・コンピュータシステム。
  9. 請求項5乃至8のいずれかに記載のフォールト・トレラント・コンピュータシステムにおいて、
    前記拡張モードにおいて、前記第2I/Oデバイス群のうちの1つからの第3割り込み要求は、前記第2マスターIOAPIC制御部を介して前記第2CPUに転送され、また前記リンクと前記第1マスターIOAPIC制御部を介して前記第1CPUに転送される
    フォールト・トレラント・コンピュータシステム。
  10. 請求項5乃至9のいずれかに記載のフォールト・トレラント・コンピュータシステムにおいて、
    前記第1と第2のFT制御部は、前記1次系と2次系の設定データとシステムのステー
    タスを示すステータスデータを格納する第1と第2のステータス格納部をそれぞれ更に有
    し、
    前記第1IOAPIC制御部は、前記第1割り込み要求以外の受信した前記割り込み要
    求とそのときの前記システムのステータスデータを前記第1ステータス格納部に格納し、
    前記第2IOAPIC制御部は、前記第1割り込み要求以外の受信した前記割り込み要
    求とそのときの前記システムのステータスデータを前記第2ステータス格納部に格納する
    フォールト・トレラント・コンピュータシステム。
  11. 請求項1乃至3と5乃至9のいずれかに記載のフォールト・トレラント・コンピュータシステムにおいて、
    前記第1と第2のFT制御部は、前記1次系と2次系のシステムの設定データとステータスを示すステータスデータを格納する第1と第2のステータス格納部をそれぞれ更に有し、
    前記第1CPUと前記第2CPUが同期して動作している間に前記第1と第2のステータス格納部の格納データの不一致が検出されたとき、SMI(システム・マネージメント・インターラプト)ハンドラーは、前記第1CPUと前記第2CPUの動作を停止させ、前記第1と第2のステータス格納部の前記設定データ/ステータスデータが一致するように、前記第1と第2のFT制御部を制御する
    フォールト・トレラント・コンピュータシステム。
  12. 1次系システムと2次系システムとを具備し、
    前記1次系システムは、第1CPUと、前記第1CPUに接続された第1FT制御部と、及び前記第1FT制御部に電気的かつ動作的に接続された第1サウス・ブリッジと、前記第1FT制御部に接続された第1PCIブリッジと、前記第1PCIブリッジに接続された第1I/Oデバイス群とを具備し、
    前記2次系システムは、第2CPUと、前記第2CPUに接続された第2FT制御部と、及び前記第2FT制御部に電気的に接続され、かつ動作的に接続されていない第2サウス・ブリッジと、前記第2FT制御部に接続された第2PCIブリッジと、前記第2PCIブリッジに接続された第2I/Oデバイス群とを具備し、
    前記第1FT制御部と前記第2FT制御部はリンクにより接続され、
    前記第1FT制御部は、第1マスターIOAPIC制御部を有し、前記第2FT制御部は、第2マスターIOAPIC制御部を有し、
    前記第1CPUと前記第2CPUの各々は、第1割り込みパスと第2割り込みパスを有し、
    起動時に前記1次系システム内で生成された第1割り込みは、前記第1と第2のマスターIOAPICと前記第1割り込みパスを経由して前記第1と第2のCPUへ転送され、動作時に前記1次系システムまたは前記2次系システム内で生成された第2割り込みは、前記第1と第2のマスターIOAPICと前記第2割り込みパスを経由して前記第1と第2のCPUへ転送されるフォールト・トレラント・コンピュータシステム。
  13. 1次系システムと2次系システムとを具備し、前記1次系システムは、第1CPUと、前記第1CPUに接続された第1FT制御部と、及び前記第1FT制御部に電気的かつ動作的に接続された第1サウス・ブリッジと、前記第1FT制御部に接続された第1PCIブリッジと、前記第1PCIブリッジに接続された第1I/Oデバイス群とを具備し、前記2次系システムは、第2CPUと、前記第2CPUに接続された第2FT制御部と、及び前記第2FT制御部に電気的に接続され、かつ動作的に接続されていない第2サウス・ブリッジと、前記第2FT制御部に接続された第2PCIブリッジと、前記第2PCIブリッジに接続された第2I/Oデバイス群とを具備し、前記第1FT制御部は、第1マスターIOAPIC制御部を有し、前記第2FT制御部は、第2マスターIOAPIC制御部を有するフォールト・トレラント・コンピュータシステムにおいて、
    前記1次系システムがアクティブ・システムとして設定され、前記2次系システムがスタンバイ・システムとして前記1次系システムと同期的に動作するように設定されているとき、オペレーティング・システムが動作していない起動時のレガシーモードにおいて、前記フォールト・トレラント・コンピュータシステムが、第1I/Oデバイス群のうちの1つからの第1割り込み要求を、前記第1I/Oデバイス群のうちの1つから前記第1マスターIOAPIC制御部に転送するステップと、
    前記フォールト・トレラント・コンピュータシステムが、前記第1割り込み要求を前記リンクを介して、前記1次系システムから前記第2FT制御部の前記第2マスターIOAPIC制御部に転送するステップと、
    前記フォールト・トレラント・コンピュータシステムが、前記第1割り込み要求を、前記第1マスターIOAPIC制御部から前記第1サウス・ブリッジのPIC制御部を介して、前記第2マスターIOAPIC制御部へ転送すると共に、再び前記第1マスターIOAPIC制御部から前記第1CPUに転送するステップと、
    前記フォールト・トレラント・コンピュータシステムが、前記第1サウス・ブリッジのPIC制御部を介して転送された前記第1割り込み要求を、前記第2マスターIOAPIC制御部から前記第2CPUに転送するステップとを具備する割り込み制御方法。
  14. 請求項13に記載の割り込み制御方法において、
    前記第1割り込み要求が前記第1マスターIOAPIC制御部に届くタイミングと前記第2マスターIOAPIC制御部に届くタイミングは同一である
    割り込み制御方法。
  15. 請求項13又は14に記載の割り込み制御方法において、
    前記レガシーモード後の、前記オペレーティング・システムが動作している拡張モードにおいて、前記第1サウス・ブリッジからの第2割り込み要求を、前記第1IOAPIC制御部から前記第1CPUに転送するステップと、
    前記第2割り込み要求を前記リンク、前記第2FT制御部の前記第2IOAPIC制御部から前記第2CPUに転送するステップと
    を更に具備する割り込み制御方法。
  16. 請求項15に記載の割り込み制御方法において、
    前記拡張モードにおいて、前記フォールト・トレラント・コンピュータシステムが、前記第2割り込み要求を、前記第1サウス・ブリッジから前記第1マスターIOAPIC制御部を介して前記第1CPUに転送するステップと、
    前記フォールト・トレラント・コンピュータシステムが、前記第2割り込み要求を、前記1次系システムから、前記リンクと前記第2マスターIOAPIC制御部を介して前記第2CPUに転送するステップとを更に具備する割り込み制御方法。
  17. 請求項13乃至16のいずれかに記載の割り込み制御方法において、
    前記拡張モードにおいて、前記フォールト・トレラント・コンピュータシステムが、前記第2I/Oデバイス群のうちの1つからの第3割り込み要求を、前記第2I/Oデバイス群のうちの1つから前記第2マスターIOAPIC制御部を介して前記第2CPUに転送するステップと、
    前記フォールト・トレラント・コンピュータシステムが、前記第3割り込み要求を、前記2次系システムから前記リンクと前記第1マスターIOAPIC制御部を介して前記第1CPUに転送するステップとを更に具備する割り込み制御方法。
  18. 請求項13乃至17のいずれかに記載の割り込み制御方法において、
    前記フォールト・トレラント・コンピュータシステムが、前記第1割り込み要求以外の受信された前記割り込み要求とそのときの前記システムのステータスデータを前記第1FT制御部内の第1ステータス格納部に格納するステップと、
    前記フォールト・トレラント・コンピュータシステムが、前記第1割り込み要求以外の受信した前記割り込み要求とそのときの前記システムのステータスデータを前記第2FT制御部内の第2ステータス格納部に格納するステップとを更に具備する割り込み制御方法。
  19. 請求項18に記載の割り込み制御方法において、
    前記フォールト・トレラント・コンピュータシステムが、前記第1CPUと前記第2CPUが同期して動作している間に前記第1と第2のステータス格納部の格納データの不一致が検出されたとき、SMI(システム・マネージメント・インターラプト)ハンドラーにより、前記第1CPUと前記第2CPUの動作を停止させるステップと、
    前記フォールト・トレラント・コンピュータシステムが、前記第1と第2のステータス格納部の設定データと前記ステータスデータが一致するように、前記第1と第2のFT制御部を制御するステップと、
    前記フォールト・トレラント・コンピュータシステムが、前記第1と第2のステータス格納部の前記設定データと前記ステータスデータが一致したとき、前記第1CPUと前記第2CPUの動作を再開するステップとを更に具備する割り込み制御方法。
JP2004369875A 2004-12-21 2004-12-21 フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法 Expired - Fee Related JP4182948B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004369875A JP4182948B2 (ja) 2004-12-21 2004-12-21 フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法
US11/311,404 US7441150B2 (en) 2004-12-21 2005-12-20 Fault tolerant computer system and interrupt control method for the same
CA002530913A CA2530913A1 (en) 2004-12-21 2005-12-20 Fault tolerant computer system and interrupt control method for the same
AU2005246990A AU2005246990A1 (en) 2004-12-21 2005-12-21 Fault tolerant computer system and interrupt control method for the same
EP05112572A EP1675006A2 (en) 2004-12-21 2005-12-21 Fault tolerant computer system and interrupt control method for the same
CN200510133818.1A CN1821973A (zh) 2004-12-21 2005-12-21 容错计算机系统及其中断控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004369875A JP4182948B2 (ja) 2004-12-21 2004-12-21 フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法

Publications (2)

Publication Number Publication Date
JP2006178659A JP2006178659A (ja) 2006-07-06
JP4182948B2 true JP4182948B2 (ja) 2008-11-19

Family

ID=36084265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004369875A Expired - Fee Related JP4182948B2 (ja) 2004-12-21 2004-12-21 フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法

Country Status (6)

Country Link
US (1) US7441150B2 (ja)
EP (1) EP1675006A2 (ja)
JP (1) JP4182948B2 (ja)
CN (1) CN1821973A (ja)
AU (1) AU2005246990A1 (ja)
CA (1) CA2530913A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100416484C (zh) * 2006-09-06 2008-09-03 威盛电子股份有限公司 具磁盘阵列控制功能的核心逻辑单元及磁盘阵列控制方法
CN100410866C (zh) * 2006-09-06 2008-08-13 威盛电子股份有限公司 具磁盘阵列控制功能的计算机系统及磁盘阵列控制方法
US7870417B2 (en) 2007-04-20 2011-01-11 International Business Machines Corporation Apparatus, system, and method for adapter card failover
EP2149089A2 (en) * 2007-04-20 2010-02-03 International Business Machines Corporation Apparatus, system, and method for adapter card failover
US8103816B2 (en) * 2008-10-28 2012-01-24 Intel Corporation Technique for communicating interrupts in a computer system
JP2012128697A (ja) * 2010-12-16 2012-07-05 Hitachi Ltd 情報処理装置
CN102455951A (zh) * 2011-07-21 2012-05-16 中标软件有限公司 一种虚拟机容错方法和系统
US8595546B2 (en) 2011-10-28 2013-11-26 Zettaset, Inc. Split brain resistant failover in high availability clusters
JP6098778B2 (ja) * 2012-03-29 2017-03-22 日本電気株式会社 冗長化システム、冗長化方法、冗長化システムの可用性向上方法、及びプログラム
JP6069951B2 (ja) * 2012-08-23 2017-02-01 日本電気株式会社 フォールトトレラントコンピュータシステム、フォールトトレラントコンピュータシステムの起動方法およびフォールトトレラントコンピュータシステムの起動プログラム
US9891917B2 (en) * 2013-03-06 2018-02-13 Infineon Technologies Ag System and method to increase lockstep core availability
JP6193910B2 (ja) * 2015-04-03 2017-09-06 ファナック株式会社 インタロックバスとスプリットバスを接続するブリッジ回路を備えたバスシステム
CN106844113B (zh) * 2017-03-10 2020-09-29 苏州浪潮智能科技有限公司 一种采用冗余pch的服务器故障恢复系统及方法
CN108563557B (zh) * 2018-02-08 2020-01-21 北京东土科技股份有限公司 一种多通道计算机的通道同步方法及装置
CN115167933B (zh) * 2022-09-08 2022-12-02 深圳市恒运昌真空技术有限公司 一种双处理器设备及其控制方法和处理器

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2407241A1 (de) * 1974-02-15 1975-08-21 Ibm Deutschland Verfahren und anordnung zur erhoehung der verfuegbarkeit eines digitalrechners
US4412281A (en) * 1980-07-11 1983-10-25 Raytheon Company Distributed signal processing system
GB8310003D0 (en) * 1983-04-13 1983-05-18 Gen Electric Co Plc Input signal handling apparatus
US4610013A (en) * 1983-11-08 1986-09-02 Avco Corporation Remote multiplexer terminal with redundant central processor units
US4979108A (en) * 1985-12-20 1990-12-18 Ag Communication Systems Corporation Task synchronization arrangement and method for remote duplex processors
EP0306211A3 (en) * 1987-09-04 1990-09-26 Digital Equipment Corporation Synchronized twin computer system
US5204952A (en) * 1988-07-18 1993-04-20 Northern Telecom Limited Duplex processor arrangement for a switching system
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
NL193573C (nl) * 1989-04-04 2000-02-02 Yokogawa Electric Corp Duplex-computerstelsel.
EP0394514B1 (de) * 1989-04-25 1994-07-13 Siemens Aktiengesellschaft Verfahren zur Synchronisation von Datenverarbeitungsanlagen
US5157663A (en) * 1990-09-24 1992-10-20 Novell, Inc. Fault tolerant computer system
US5914953A (en) * 1992-12-17 1999-06-22 Tandem Computers, Inc. Network message routing using routing table information and supplemental enable information for deadlock prevention
US5384769A (en) * 1993-03-19 1995-01-24 Apple Computer, Inc. Method and apparatus for a bus transceiver incorporating a high speed binary data transfer mode with a ternary control transfer mode having a full duplex, dominant logic transmission scheme
JP3047275B2 (ja) * 1993-06-11 2000-05-29 株式会社日立製作所 バックアップ切り換え制御方法
EP0731945B1 (en) * 1993-12-01 2000-05-17 Marathon Technologies Corporation Fault resilient/fault tolerant computing
JPH07262034A (ja) * 1994-03-18 1995-10-13 Fujitsu Ltd データ引き継ぎシステム
EP0690597A1 (en) * 1994-06-30 1996-01-03 Hughes Aircraft Company A system utilizing built-in redundancy switchover control
JP3132744B2 (ja) * 1995-05-24 2001-02-05 株式会社日立製作所 二重化cpu保守交換時の動作一致検証方式
JPH09251443A (ja) 1996-03-18 1997-09-22 Hitachi Ltd 情報処理システムのプロセッサ障害回復処理方法
US6141769A (en) * 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
JPH10150479A (ja) * 1996-11-19 1998-06-02 Fujitsu Ltd 二重化装置の障害時における誤動作防止装置
US5951669A (en) * 1996-12-27 1999-09-14 Apple Computer, Inc. Method and apparatus for serialized interrupt transmission
JPH10240557A (ja) * 1997-02-27 1998-09-11 Mitsubishi Electric Corp 待機冗長化システム
AU753120B2 (en) * 1997-11-14 2002-10-10 Marathon Technologies Corporation Fault resilient/fault tolerant computing
US6243829B1 (en) * 1998-05-27 2001-06-05 Hewlett-Packard Company Memory controller supporting redundant synchronous memories
DE19832060C2 (de) * 1998-07-16 2000-07-06 Siemens Ag Doppelbare Prozessoreinrichtung
DE19836347C2 (de) * 1998-08-11 2001-11-15 Ericsson Telefon Ab L M Fehlertolerantes Computersystem
US6948092B2 (en) * 1998-12-10 2005-09-20 Hewlett-Packard Development Company, L.P. System recovery from errors for processor and associated components
KR100279929B1 (ko) * 1998-12-24 2001-02-01 서평원 교환기에서의 이중화 프로세서_
US6327670B1 (en) * 1999-01-22 2001-12-04 Lucent Technologies Inc. Duplex processor with an update bus and method for operating the update bus
US6715099B1 (en) * 1999-06-02 2004-03-30 Nortel Networks Limited High-availability architecture using high-speed pipes
US6510529B1 (en) * 1999-09-15 2003-01-21 I-Bus Standby SBC backplate
US6578158B1 (en) * 1999-10-28 2003-06-10 International Business Machines Corporation Method and apparatus for providing a raid controller having transparent failover and failback
US6687851B1 (en) * 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
JP4054509B2 (ja) * 2000-04-19 2008-02-27 株式会社東芝 フィールド機器制御システムおよびコンピュータが読取り可能な記憶媒体
KR100709888B1 (ko) * 2000-08-04 2007-04-20 엘지노텔 주식회사 웜 스탠바이 이중화 장치의 구현방법
GB2366012B (en) * 2000-08-14 2002-08-14 Sun Microsystems Inc A computer system
US6708285B2 (en) * 2001-03-15 2004-03-16 Hewlett-Packard Development Company, L.P. Redundant controller data storage system having system and method for handling controller resets
US7065672B2 (en) * 2001-03-28 2006-06-20 Stratus Technologies Bermuda Ltd. Apparatus and methods for fault-tolerant computing using a switching fabric
US6978398B2 (en) * 2001-08-15 2005-12-20 International Business Machines Corporation Method and system for proactively reducing the outage time of a computer system
US7146448B2 (en) * 2001-09-28 2006-12-05 Dot Hill Systems Corporation Apparatus and method for adopting an orphan I/O port in a redundant storage controller
US6918062B2 (en) * 2001-09-28 2005-07-12 Intel Corporation System and method to implement a cost-effective remote system management mechanism using a serial communication controller and interrupts
US6874103B2 (en) * 2001-11-13 2005-03-29 Hewlett-Packard Development Company, L.P. Adapter-based recovery server option
GB0206604D0 (en) * 2002-03-20 2002-05-01 Global Continuity Plc Improvements relating to overcoming data processing failures
US7003692B1 (en) * 2002-05-24 2006-02-21 Cisco Technology, Inc. Dynamic configuration synchronization in support of a “hot” standby stateful switchover
JP2004046599A (ja) * 2002-07-12 2004-02-12 Nec Corp フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
US7178058B2 (en) * 2002-08-30 2007-02-13 Nec Corporation Fault tolerant computer and transaction synchronization control method
US7197664B2 (en) * 2002-10-28 2007-03-27 Intel Corporation Stateless redundancy in a network device
US7194652B2 (en) * 2002-10-29 2007-03-20 Brocade Communications Systems, Inc. High availability synchronization architecture
US7028218B2 (en) * 2002-12-02 2006-04-11 Emc Corporation Redundant multi-processor and logical processor configuration for a file server
US7181642B1 (en) * 2003-01-17 2007-02-20 Unisys Corporation Method for distributing the processing among multiple synchronization paths in a computer system utilizing separate servers for redundancy
US7206963B2 (en) * 2003-06-12 2007-04-17 Sun Microsystems, Inc. System and method for providing switch redundancy between two server systems
JP4490745B2 (ja) * 2004-06-29 2010-06-30 株式会社日立製作所 ホットスタンバイシステム
US7366948B2 (en) * 2004-10-25 2008-04-29 Hewlett-Packard Development Company, L.P. System and method for maintaining in a multi-processor system a spare processor that is in lockstep for use in recovering from loss of lockstep for another processor
JP4289293B2 (ja) * 2004-12-20 2009-07-01 日本電気株式会社 起動制御方法、二重化プラットフォームシステム及び情報処理装置
JP2006178636A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントコンピュータ、およびその制御方法
US7669073B2 (en) * 2005-08-19 2010-02-23 Stratus Technologies Bermuda Ltd. Systems and methods for split mode operation of fault-tolerant computer systems

Also Published As

Publication number Publication date
AU2005246990A1 (en) 2006-07-06
CA2530913A1 (en) 2006-06-21
EP1675006A2 (en) 2006-06-28
US7441150B2 (en) 2008-10-21
JP2006178659A (ja) 2006-07-06
CN1821973A (zh) 2006-08-23
US20060150005A1 (en) 2006-07-06

Similar Documents

Publication Publication Date Title
US7441150B2 (en) Fault tolerant computer system and interrupt control method for the same
CN106776159B (zh) 具有故障转移的快速外围元件互连网络系统与操作方法
EP0986008B1 (en) Computer system comprising controllers and computing elements
JP5585332B2 (ja) 耐故障システム、マスタft制御lsi、スレーブft制御lsiおよび耐故障制御方法
US7493517B2 (en) Fault tolerant computer system and a synchronization method for the same
US9195553B2 (en) Redundant system control method
JP2005293315A (ja) データミラー型クラスタシステム及びデータミラー型クラスタシステムの同期制御方法
US20040193735A1 (en) Method and circuit arrangement for synchronization of synchronously or asynchronously clocked processor units
JP5287974B2 (ja) 演算処理システム、再同期方法、およびファームプログラム
JP3774826B2 (ja) 情報処理装置
JP4165499B2 (ja) コンピュータシステム及びそれを用いたフォールトトレラントシステム並びにその動作制御方法
JP3365282B2 (ja) クラスタ接続マルチcpuシステムのcpuデグレード方式
US20240176739A1 (en) Fault tolerant systems and methods using shared memory configurations
JP4117685B2 (ja) フォルトトレラント・コンピュータとそのバス選択制御方法
JP6449671B2 (ja) コアi/oフェールオーバー制御システムおよびコアi/oフェールオーバー制御方法
JP3679412B6 (ja) 故障から立直りが速い/故障に対する耐性がある計算処理
JPH06124242A (ja) 二重化共有メモリ等価性保証方式
KR20030068663A (ko) 이중화 보드간의 비휘발성 메모리 정보 동기화 장치 및 방법
JP2000047948A (ja) 共有メモリモジュールを備えた情報処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080718

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

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

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

Free format text: PAYMENT UNTIL: 20110912

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130912

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees