JP2010218370A - フォールトトレラントシステム - Google Patents

フォールトトレラントシステム Download PDF

Info

Publication number
JP2010218370A
JP2010218370A JP2009065988A JP2009065988A JP2010218370A JP 2010218370 A JP2010218370 A JP 2010218370A JP 2009065988 A JP2009065988 A JP 2009065988A JP 2009065988 A JP2009065988 A JP 2009065988A JP 2010218370 A JP2010218370 A JP 2010218370A
Authority
JP
Japan
Prior art keywords
cpu
bridge
tolerant system
error detection
data
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.)
Granted
Application number
JP2009065988A
Other languages
English (en)
Other versions
JP5509637B2 (ja
Inventor
Ryuta Shinno
竜太 新野
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 JP2009065988A priority Critical patent/JP5509637B2/ja
Priority to US12/725,147 priority patent/US8140893B2/en
Publication of JP2010218370A publication Critical patent/JP2010218370A/ja
Application granted granted Critical
Publication of JP5509637B2 publication Critical patent/JP5509637B2/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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • G06F11/1645Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components and the comparison itself uses redundant hardware
    • 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/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level

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)

Abstract

【課題】比較的簡易な構成で、各コンポーネント間で生じる障害を検出する。
【解決手段】ロックステップ方式のフォールトトレラントシステム10において、各サブシステム1、2は、CPU21−メモリ11間、CPU22−メモリ12間、CPU21−ノースブリッジ31間、CPU22−ノースブリッジ31間、および、CPU21−CPU22間に配置され、中継するデータからチェックサムを作成するブリッジ71〜75と、作成したチェックサムをFTコントローラ41に送信するためのFTバス81とを有する。そして、FTコントローラ41は、ブリッジ71〜75から送信されたチェックサムと、クロスリンクを介して受信した他サブシステムから送信されたチェックサムとを比較して不一致を検出することで、サブシステム1、2間の処理の不一致を検知する。
【選択図】図1

Description

本発明は、ロックステップ方式のフォールトトレラントシステムに関する。
データ処理を実行するコンピュータシステムにおいて、CPU(Central Processing Unit)、メモリ、PCI(Peripheral Component Interconnect)等のコンポーネントをサブシステム間で多重化して、コンポーネントの一部に障害が発生しても、停止することなく、連続稼働することを可能にしたフォールトトレラントシステムが知られている。このフォールトトレラントシステムでは、例えば、ロックステップ方式が採用されている。
ロックステップ方式のフォールトトレラントシステムでは、多重化されたサブシステムのコンポーネント同士で、互いに同期をとりながら、同じ処理を実行する必要がある。従って、このようなフォールトレラントシステムでは、コンポーネント間の同期をとるために、FTコントローラが実装され、多重化されたコンポーネントの処理内容を比較し、処理内容の不一致を検出することで、システムの障害(多重化されたコンポーネント間の処理の不一致)が検知される。
例えば、図9に示すような2つのサブシステムから構成される従来のフォールトトレラントシステムでは、FTコントローラがIOブリッジとノースブリッジとの間に配置される。また、FTコントローラは、クロスリンクを介して、他方のサブシステムと接続される。FTコントローラは、IOデバイス側とノースブリッジとの間で処理されるデータを両サブシステム間で比較し、不一致を検知することでシステムの障害を検知する。
また、特許文献1に開示されているフォールトトレラントシステムでは、CPUとIOデバイス、および、CPUとメモリとを接続するノースブリッジ(ボードコントローラ)内に、FTコントローラが配置される。特許文献1のフォールトトレラントシステムでは、CPU及びメモリの入出力バスがノースブリッジを経由するため、ノースブリッジ内のFTコントローラ内でCPU−メモリ間の処理内容を両サブシステム間で比較して、システムの障害を検知することができる。
特開2006−178616号公報
図9に示す従来のフォールトトレラントシステムでは、IOデバイス側とノースブリッジとの間で処理されるデータを比較しているだけであるため、それ以外の各コンポーネント(CPU、メモリ、および、ノースブリッジ等)間で生じる処理の障害(同期の不一致)を検出することができない。
また、特許文献1に記載のフォールトトレラントシステムでは、FTコントローラがノースブリッジ内にあるため、従来よりも複雑で高機能なノースブリッジを開発する必要がある。従って、システムの開発期間が長期化し、開発費用が増大してしまう虞がある。
また、近年では、CPU−メモリ間の高バンド幅化に伴い、CPUとメモリとを直結するアーキテクチャが増えている。特許文献1に記載のフォールトトレラントシステムでは、ノースブリッジを経由してメモリとCPUとを接続する必要があるため、このようなアーキテクチャでは、特許文献1に記載のフォールトトレラントシステムを構成することができない。
本発明は、上記実情に鑑みてなされたものであり、比較的簡易な構成で、且つ、CPUとメモリとを直結するアーキテクチャであっても、各コンポーネント間で生じる障害を検出することを可能とする、フォールトトレラントシステムを提供することを目的とする。
上記目的を達成するため、本発明の第1の観点に係るフォールトトレラントシステムは、
互いに同一のハードウェア及びソフトウェアで構成された複数のサブシステムを備え、ロックステップ方式により、各サブシステム間で同一の処理が実行されるフォールトトレラントシステムにおいて、
前記複数のサブシステムは、それぞれ、
ノースブリッジとIOブリッジ間の通信を中継するとともに他サブシステムに接続される制御部と、
少なくとも、CPU(中央演算処理装置)間、CPUとメモリ間、および、CPUとノースブリッジ間の何れかに配置され、配置された両者間で送受信されるデータからエラー検出用のデータを作成するエラー検出用データ作成部と、
前記エラー検出用データ作成部と前記制御部とを接続する信号伝送路と、を備え、
前記制御部は、
前記信号伝送路を介して受信した前記エラー検出用データ作成部が作成したエラー検出用のデータと他サブシステムから受信したエラー検出用のデータとを比較して不一致を検出することで、サブシステム間での処理の不一致を検出する、
ことを特徴とする。
本発明によれば、比較的簡易な構成で、且つ、CPUとメモリとを直結するアーキテクチャであっても、各コンポーネント間で生じる障害を検出することが可能となる。
本発明の第1の実施形態に係るフォールトトレラントシステムの構成を示すブロック図である。 ブリッジの構成を示すブロック図である。 ブリッジでなされる処理を説明するためのフローチャートである。 シリアルデータをCPU間で転送する処理のタイミングチャートである。 本発明の第2の実施形態に係るフォールトトレラントシステムの構成を示すブロック図である。 スヌーパの構成を示すブロック図である。 フォールトトレラントシステムの変形例を示すブロック図である。 フォールトトレラントシステムの変形例を示すブロック図である。 従来のフォールトトレラントシステムの構成を示すブロック図である。
以下、この発明の第1の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付す。
(第1の実施形態)
図1は、本発明の第1の実施形態に係るフォールトトレラントシステム10の構成例を示すブロック図である。フォールトトレラントシステム10は、同一のハードウェア、ソフトウェアから構成され、且つ、同一クロックで動作するサブシステム1、2を備える。
サブシステム1、2は、それぞれ、2つのメモリ11、12と、2つのCPU21、22と、ノースブリッジ31と、FTコントローラ41と、IOブリッジ51と、各種のIOデバイス61と、5つのブリッジ71〜75と、を備えて構成される。
CPU21、22は、それぞれ、演算処理を実行するものである。また、CPU21とCPU22とは、ブリッジ75を介して接続されており、両者間でデータを送受信可能である。
メモリ11、12は、それぞれ、各ブリッジ71、72を介して各CPU21、22と接続され、データ等を記憶したり、各CPU21、22の作業領域となる。
ノースブリッジ31は、各CPU21、22とFTコントローラ41とを接続するLSI(Large Scale Integration)チップである。具体的には、ノーズブリッジ31は、ブリッジ73、74のそれぞれを介して、各CPU21、22と接続する。また、ノーズブリッジ31は、FTコントローラ41と接続される。
FTコントローラ41は、ノースブリッジ31とIOブリッジ51との間の通信を中継するとともに、ロックステップ方式によるフォールトトレラントを実現するための各種の機能を有する。
具体的には、例えば、FTコントローラ41は、FTバス81を介して、自システム内の各ブリッジ71〜75から出力されるエラー検出用のデータ(チェックサム)を受信する。また、FTコントローラ41は、クロスリンクを介して、他方のサブシステムからも同様にチェックサムを受信する。そして、FTコントローラ41は、この2つのチェックサムを比較して不一致がある場合にエラー(サブシステム1、2間の同期外れ)が発生したものと判別し、サブシステム1、2の一方をシステムから切り離す処理等を行う。
IOブリッジ51は、PCI(Peripheral Component Interconnect)バス、USB(Universal Serial Bus)、IEEE1394等のインターフェースブリッジであり、各種のIOデバイス61とFTコントローラ41との間で、シリアル伝送を行う。
IOデバイス61は、ハードディスクドライブや、LAN(Local Area Network)ポートなどの各種のデバイスであり、IOブリッジ51に接続される。
ブリッジ71〜75は、それぞれ、CPU21−メモリ11間、CPU22−メモリ12間、CPU21−ノースブリッジ31間、CPU22−ノースブリッジ31間、および、CPU21−CPU22間に配置され、両者間で送受信されるデータ(パケット)を中継する。また、ブリッジ71〜75は、この送受信されるデータからチェックサムを作成して、FTバス80を介して、FTコントローラ41に送信する。
ブリッジ71〜75の構成を図2に示す。ブリッジ71〜75は、それぞれ、受信部B1、B2と、送信部B3、B4と、内部バスB5、B6と、クロックバスB7、B8と、計算部B9、B10と、出力ポートB11とを備えて構成される。
受信部B1、B2は、それぞれ、SerDes(SERializer/DESerializer)等の回路を備え、当該ブリッジ71〜75が間に配置される両者間(CPU21−メモリ11間、CPU22−メモリ12間、CPU21−ノースブリッジ31間、CPU22−ノースブリッジ31間、CPU21−CPU22間の何れか)で送受信されるデータ(パケット)を並列化して、内部バスB5、B6のそれぞれに出力する。また、受信部B1、B2は、それぞれ、パケットを受信するタイミングで、クロックバスB7、B8を介して、計算部B9、B10のそれぞれにクロック信号(動作クロック)を送信する。
送信部B3、B4は、それぞれ、SerDes(SERializer/DESerializer)等の回路を備え、内部バスB5、B6から受信した並列化されたパケットをシリアル化して、出力先に送信する。
内部バスB5、B6は、それぞれ、受信部B1と送信部B3、又は、受信部B2と送信部B4とを接続するバスである。また、内部バスB5、B6は、それぞれ、計算部B9、B10にも接続されており、各計算部B9、B10は、受信部B1から送信部B3、又は、受信部B2から送信部B4へと転送される並列化されたパケットの分析が可能である。
計算部B9、B10は、それぞれ、受信部B1、B2から入力される動作クロックに同期して動作し、内部バスB5、B6を流れるパケットからエラー検出用のデータ(チェックサム)を作成し、出力ポートB11に送信する。なお、計算部B9、B10は、1パケット分のデータから作成したチェックサムを出力ポートB11に送信するのではなく、内部バスB5、B6を連続して流れる複数のパケット分のデータから1つのチェックサムを作成して、出力ポートB11に送信する。
出力ポートB11は、計算部B9、B10から送信されたチェックサムを、FTバス81を介して、FTコントローラ41に送信する。
次に、本実施の形態に係るフォールトトレラントシステム10の動作について、説明する。
尚、ここでは、サブシステム1において、CPU21がCPU22に、ブリッジ75を介して、複数パケットからなるシリアルデータを送信する処理について説明する。なお、サブシステム2側においても、同一クロックで、同一のデータ送信処理が実行されている。
サブシステム1において、CPU21は、複数パケットからなるシリアルデータを1パケットずつブリッジ75に送信する。ブリッジ75は、CPU21から1パケットを受信すると、図3に示すフローチャートの処理を実行する。
まず、ブリッジ75の受信部B1は、1パケットを受信すると、動作周波数を低減するために、受信したパケットを8倍又は16倍等に並列化する(ステップS11)。そして、受信部B1は、並列化したパケットを内部バスB5に出力するとともに、クロックバスB7を介して、計算部B9に動作クロックを送信する(ステップS12)。以上で、送信部B1の処理は終了する。
内部バスB5を流れる並列化されたパケットは、送信部B3に送信される。送信部B3は、内部バスB5から並列化されたパケットを受信すると、シリアル化して(ステップS21)、送信先であるCPU22に送信する(ステップS22)。以上で、送信部B3の処理は終了する。
一方、計算部B9は、送信部B1からの動作クロックを受信すると、内部バスB5に流れているパケットを解析して、当該パケットからヘッダ部分を除いたデータを取得する(ステップS31)。
続いて、計算部B9は、ステップS31で取得したデータに、CRC(Cyclic Redundancy Check)やMD5(Message Digest Algorithm 5)等の関数を作用させて、チェックサムを作成し保持する(ステップS32)。なお、計算部B9は、ステップS31で取得したデータ以外に、以前に作成したチェックサムを保持している場合には、取得したデータと保持しているチェックサムとを連結したデータに対して、CRC等の関数を作用させて、新たなチェックサムを作成する。
続いて、計算部B9は、内部バスB5に流れているパケットのヘッダ部分に含まれる情報等を参照して、当該パケットがCPU21から送信されるデータのうち、最後(最後尾)のパケットであるか否かを判別する(ステップS33)。
最後のパケットでないと判別した場合(ステップS33;No)、計算部B9の処理は終了する。
最後のパケットであると判別した場合(ステップS33;Yes)、計算部B9は、ステップS32で作成したチェックサムを出力ポートB11に送信し、出力ポートB11は、FTバス81を介して、FTコントローラ41にチェックサムを送信する(ステップS34)。そして、計算部B9は、送信したチェックサムをリセット(消去)する(ステップS35)。以上で、計算部B9による処理は終了する。
続いて、サブシステム1のFTコントローラ41は、FTバス81を介して、ブリッジ75から受信したチェックサムをコピ−して、クロスリンクを介して、サブシステム2のFTコントローラ41に送信する。
サブシステム2においても、同様に、FTコントローラ41は、ブリッジ75から受信したチェックサムをクロスリンクを介して、サブシステム1のFTコントローラ41に送信する。そして、サブシステム1のFTコントローラ41は、サブシステム2から受信したチェックサムと、FTバス81を介して受信したチェックサムとを比較する。比較の結果、両チェックサムに不一致が発生している場合、FTコントローラ41は、図示せぬ表示装置等にエラーメッセージを表示するとともに、両サブシステム1、2のいずれか一方を切り離し、切り離されていない一方のサブシステム1又はサブシステム2で処理を継続する。
なお、サブシステム2のFTコントローラ41においても、FTバス81を介して受信したチェックサムと、サブシステム1から受信したチェックサムとを比較して、同様のエラーを検出する処理を実行してもよい。以上で、サブシステム1において、CPU21からCPU22にデータが送信された場合の処理は終了する。
続いて、具体例として、3パケット分のシリアルデータをCPU21からCPU22に送信する場合の処理について、図4に示すタイミングチャートを用いて説明する。
まず、時刻t11において、サブシステム1のCPU21が、ブリッジ75にシリアルデータの最初のパケットP1を送信する。ブリッジ75は、時刻t12にパケットP1を受信すると、CPU22にパケットP1を送信し、CPU22はパケットP1を受信する(時刻t13)。また、ブリッジ75は、パケットP1からチェックサムを作成して保持する(時刻t14)。
続いて、時刻t21において、CPU21が、ブリッジ75にシリアルデータの次のパケットP2を送信する。ブリッジ75は、時刻t22にパケットP1を受信すると、CPU22にパケットP2を送信し、CPU22はパケットP2を受信する(時刻t23)。また、ブリッジ75は、パケットP2と保持しているパケットP1から作成したチェックサムとを連結したデータからチェックサムを作成して保持する(時刻t24)。
続いて、時刻t31において、CPU21が、ブリッジ75にシリアルデータの最後のパケットP3を送信する。ブリッジ75は、時刻t32にパケットP3を受信すると、CPU22にパケットP3を送信し、CPU32はパケットP3を受信する(時刻t33)。また、ブリッジ75は、パケットP3と保持しているパケットP1、P2から作成したチェックサムとを連結したデータからチェックサムを作成する。そして、受信したパケットP3がデータの最後であるため、ブリッジ75は、作成したチェックサムをFTバス81を介してFTコントローラ41に送信する(時刻t34)。
FTコントローラ41は、時刻t41に、ブリッジ75からチェックサムを受信すると、クロスリンクを介して、サブシステム2のFTコントローラ41にコピーしたチェックサムを送信する(時刻t42)。そして、時刻t43に、同様の一連の処理により、サブシステム2のFTコントローラ41から送信されたチェックサムを受信すると、時刻t41で受信したチェックサムと一致する否かを比較することで、エラーの有無(処理の不一致)を判別する(時刻t43)。そして、エラーを検出した場合には、両サブシステム1、2のいずれか一方を切り離し、切り離されていない一方のサブシステム1又はサブシステム2で、処理を継続する。以上で、3パケット分のシリアルデータがCPU21からCPU22に送信された場合の一連の処理は終了する。
このように、本実施形態では、CPUと各種のコンポーネント(メモリ、ノースブリッジ、CPU)との間に、チェックサムを作成する比較的単純な機能のみを有するブリッジが配置される簡易な構成を採用することにより、各種のコンポーネント間で生じる障害(処理の不一致)を検出することができる。また、本実施形態では、ノースブリッジ31はFTコントローラ41と独立しており、フォールトトレラントを実現するに当たり、従来のノースブリッジを流用可能である。従って、本実施形態では、システムの開発期間、および、開発費用を低減することができる。また、本実施形態では、ノースブリッジを経由してメモリとCPUとを接続する必要もないため、CPUとメモリとを直結するアーキテクチャにも適用することが可能である。
(第2の実施形態)
第1の実施形態に係るフォールトトレラントシステム10では、CPU−メモリ間、CPU−CPU間、および、CPU−ノースブリッジ間のそれぞれにブリッジが配置され、両者間でやりとりされるデータ(パケット)からチェックサムを作成した。第2の実施形態では、このようなブリッジによる処理をスヌーパが代行することを特徴とする。
図5は、本発明の第2の実施形態に係るフォールトトレラントシステム100の構成例を示すブロック図である。
第2の実施形態に係るフォールトトレラントシステム100は、CPU21−メモリ11間、CPU22−メモリ12間、CPU21−ノースブリッジ31間、CPU22−ノースブリッジ31間、および、CPU21−CPU22間に、ブリッジ71〜75の代わりにスヌーパ91〜95がそれぞれ配置される。
各スヌーパ91〜95は、自身が配置される両者間で送受信されるデータ(パケット)を監視(スヌーピング)する。また、各スヌーパ91〜95は、第1の実施形態のブリッジ71〜75と同様に、両者間で送受信されるデータからチェックサムを作成して、FTバス81を介して、FTコントローラ41に送信する。
スヌーパ91〜95の構成を図6に示す。スヌーパ91〜95は、それぞれ、
受信部N1、N2と、内部バスN3、N4と、クロックバスN5、N6と、計算部N7、N8と、出力ポートN9とを備えて構成される。
受信部N1、N2は、それぞれ、SerDes(SERializer/DESerializer)等の回路を備え、当該スヌーパ91〜95が間に配置される両者間(CPU21−メモリ11間、CPU22−メモリ12間、CPU21−ノースブリッジ31間、CPU22−ノースブリッジ31間、CPU21−CPU22間の何れか)で送受信されるパケットをパラレルに変換して、内部バスに出力する。また、受信部N1、N2は、それぞれ、パケットを受信するタイミングで、クロックバスN3、N4を介して、計算部N7、N8のそれぞれにクロック信号(動作クロック)を送信する。
内部バスN3、N4は、それぞれ、受信部N1と計算部N7、および、受信部N2と計算部N8を接続するバスである。
計算部N7、N8は、それぞれ、ブリッジ71〜75の計算部B9、B10と同様に、送信部N1、N2から入力される動作信号に同期して動作し、内部バスN3、N4を流れるパケットのデータ部分にCRC等やMD5等の関数を作用させてチェックサムを作成し、出力ポートN9に送信する。なお、計算部N7、N8は、1パケット分のデータから作成したチェックサムを出力ポートN9に送信するのではなく、内部バスN3、N4を連続して流れる複数のパケット分のデータから1つのチェックサムを作成して、出力ポートN9に送信する。
出力ポートN9は、ブリッジ71〜75の出力ポートB11と同様に、計算部N7、N8から送信されたチェックサムを、FTバス81を介して、FTコントローラ41に送信する。
このような構成のフォールトトレラントシステム100では、第1の実施形態と同様に、コンポーネント間でデータ(パケット)が送受信されると、間に位置するスヌーパ91〜95が、当該データを監視(スヌープ)してチェックサムを作成し、FTコントローラ41に送信する。そして、FTコントローラ41は、第1の実施形態と同様に、FTバス81を介して受信したチェックサムと、サブシステム1から受信したチェックサムとを比較して、不一致が検出された場合、障害(同期外れ)が発生したものとして、両サブシステム1、2のいずれか一方を切り離す処理等を行う。
従って、ブリッジ71〜75のかわりにスヌーパ91〜95が配置された第2の実施形態の構成でも、同様にエラー(処理の不一致)を検出することができる。さらに、第2の実施形態のスヌーパ91〜95は、ブリッジ71〜75と比較して送信部が必要ないため、よりシンプルな構成となりコストを低減することができる。
以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。
例えば、必ずしも全てのコンポーネント間にブリッジやスヌーパを配置する必要はない。具体的には、図7に示すように、CPU21−メモリ11間、および、CPU22−メモリ12間にブリッジを配置しないフォールトトレラントシステム200を構成してもよい。この場合、CPU21−メモリ11間、および、CPU22−メモリ12間でなされる処理の、両サブシステム1、2間における処理の不一致を検出することはできなくなるが、ブリッジの数が減るために、システムの開発期間、コストを削減することが可能となる。同様に、CPU21−CPU22間、CPU21−ノースブリッジ31間、および、CPU22−ノースブリッジ31間の何れかにブリッジ、スヌーパを配置しない構成も可能である。
また、ブリッジとスヌーパとを混在させた構成にしてもよい。図8は、CPU21−メモリ11間、CPU22−メモリ12間、CPU21−ノースブリッジ31間、および、CPU22−ノースブリッジ31間に第1の実施形態で採用したブリッジ71〜74を配置し、CPU21−CPU22間に第2の実施形態で採用したスヌーパ95を配置したフォールトレラントシステム300を示した図である。この場合でも、ブリッジ71〜74、および、スヌーパ95で同様に中継したパケットからチェックサムを作成してFTコントローラ41に送信することにより、サブシステム1、2間の処理の不一致を検出可能である。
また、本実施形態では、各コンポーネント間で送受信されるシリアルデータを並列化し、並列化したデータからチェックサムを作成したが、並列化しないでシリアルデータから直接チェックサムを作成してもよい。
また、本実施形態では、各コンポーネント間で送受信されるデータをシリアルデータとして説明したが、パラレルデータであっても、本実施形態を適用することができる。
また、本実施形態では、ブリッジ71〜75、および、スヌーパ91〜95は、送受信される複数パケット分のデータから1つのチェックサムを作成、送信したが、このような処理をせず、1パケット分のデータが送受信される毎に、チェックサムを作成、送信するようにしてもよい。
1,2 サブシステム
11,12 メモリ
21,22 CPU
31 ノーズブリッジ
41 FTコントローラ
51 IOブリッジ
61 IOデバイス
71,72,73,74,75 ブリッジ
81 FTバス
91,92,93,94,95 スヌーパ
10,100 フォールトトレラントシステム

Claims (5)

  1. 互いに同一のハードウェア及びソフトウェアで構成された複数のサブシステムを備え、ロックステップ方式により、各サブシステム間で同一の処理が実行されるフォールトトレラントシステムにおいて、
    前記複数のサブシステムは、それぞれ、
    ノースブリッジとIOブリッジ間の通信を中継するとともに他サブシステムに接続される制御部と、
    少なくとも、CPU(中央演算処理装置)間、CPUとメモリ間、および、CPUとノースブリッジ間の何れかに配置され、配置された両者間で送受信されるデータからエラー検出用のデータを作成するエラー検出用データ作成部と、
    前記エラー検出用データ作成部と前記制御部とを接続する信号伝送路と、を備え、
    前記制御部は、
    前記信号伝送路を介して受信した前記エラー検出用データ作成部が作成したエラー検出用のデータと他サブシステムから受信したエラー検出用のデータとを比較して不一致を検出することで、サブシステム間での処理の不一致を検出する、
    ことを特徴とするフォールトトレラントシステム。
  2. 前記エラー検出用データ作成部は、配置された両者間で送受信されるデータを中継するブリッジである、
    ことを特徴とする請求項1に記載のフォールトトレラントシステム。
  3. 前記エラー検出用データ作成部は、配置された両者間で送受信されるデータを監視するスヌーパである、
    ことを特徴とする請求項1又は2に記載のフォールトトレラントシステム。
  4. 前記エラー検出用データ作成部は、配置された両者間で送受信される複数パケット分のデータから1つのエラー検出用のデータを作成する、
    ことを特徴とする請求項1乃至3の何れか1項に記載のフォールトトレラントシステム。
  5. 前記エラー検出用データ作成部は、配置された両者間で送受信されるデータを並列化し、並列化したデータからエラー検出用のデータを作成する、
    ことを特徴とする請求項1乃至4の何れか1項に記載のフォールトトレラントシステム。
JP2009065988A 2009-03-18 2009-03-18 フォールトトレラントシステム Expired - Fee Related JP5509637B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009065988A JP5509637B2 (ja) 2009-03-18 2009-03-18 フォールトトレラントシステム
US12/725,147 US8140893B2 (en) 2009-03-18 2010-03-16 Fault-tolerant system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009065988A JP5509637B2 (ja) 2009-03-18 2009-03-18 フォールトトレラントシステム

Publications (2)

Publication Number Publication Date
JP2010218370A true JP2010218370A (ja) 2010-09-30
JP5509637B2 JP5509637B2 (ja) 2014-06-04

Family

ID=42738676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009065988A Expired - Fee Related JP5509637B2 (ja) 2009-03-18 2009-03-18 フォールトトレラントシステム

Country Status (2)

Country Link
US (1) US8140893B2 (ja)
JP (1) JP5509637B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013088826A (ja) * 2011-10-13 2013-05-13 Hitachi Ltd 冗長系システムにおけるデータ入力方式
JP2014106862A (ja) * 2012-11-29 2014-06-09 Taiyo Nippon Sanso Corp 冗長化システムおよび冗長化方法
JP2015069270A (ja) * 2013-09-27 2015-04-13 日本電気株式会社 フォールトトレラントシステム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032889B2 (en) 2006-04-05 2011-10-04 Maxwell Technologies, Inc. Methods and apparatus for managing and controlling power consumption and heat generation in computer systems
US8930753B2 (en) * 2010-10-28 2015-01-06 Maxwell Technologies, Inc. System, method and apparatus for error correction in multi-processor systems
US8516355B2 (en) 2011-02-16 2013-08-20 Invensys Systems, Inc. System and method for fault tolerant computing using generic hardware
US8745467B2 (en) 2011-02-16 2014-06-03 Invensys Systems, Inc. System and method for fault tolerant computing using generic hardware
JP5760847B2 (ja) * 2011-08-22 2015-08-12 日本電気株式会社 情報処理装置、情報処理システム、情報処理装置の異常兆候検出方法、及び異常兆候検出プログラム
WO2015016843A1 (en) * 2013-07-30 2015-02-05 Hewlett-Packard Development Company, L.P. Connector for a computing assembly
US10185633B2 (en) * 2015-12-15 2019-01-22 Intel Corporation Processor state integrity protection using hash verification
JP6083480B1 (ja) * 2016-02-18 2017-02-22 日本電気株式会社 監視装置、フォールトトレラントシステムおよび方法
JP6554048B2 (ja) * 2016-02-29 2019-07-31 株式会社日立製作所 表示装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02114337A (ja) * 1988-10-25 1990-04-26 Mitsubishi Electric Corp 2重化計算機システム
JPH09245008A (ja) * 1996-03-05 1997-09-19 Hitachi Ltd 二重化データ一致化方法および二重化制御装置
JP2002049501A (ja) * 2000-08-04 2002-02-15 Nippon Telegr & Teleph Corp <Ntt> 耐故障性システム及びその故障切り分け方法
JP2006172391A (ja) * 2004-12-20 2006-06-29 Nec Corp フォールト・トレラント・コンピュータ・リセット方法及びそのシステム
JP2006172220A (ja) * 2004-12-16 2006-06-29 Nec Corp フォールトトレラント・コンピュータシステム
JP2006178616A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6948092B2 (en) * 1998-12-10 2005-09-20 Hewlett-Packard Development Company, L.P. System recovery from errors for processor and associated components
US6633996B1 (en) * 2000-04-13 2003-10-14 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus architecture
US6874052B1 (en) * 2000-09-29 2005-03-29 Lucent Technologies Inc. Expansion bridge apparatus and method for an I2C bus
US6751749B2 (en) * 2001-02-22 2004-06-15 International Business Machines Corporation Method and apparatus for computer system reliability
US6862693B2 (en) * 2001-04-13 2005-03-01 Sun Microsystems, Inc. Providing fault-tolerance by comparing addresses and data from redundant processors running in lock-step
US6938183B2 (en) * 2001-09-21 2005-08-30 The Boeing Company Fault tolerant processing architecture
GB2399913B (en) * 2002-03-19 2004-12-15 Sun Microsystems Inc Fault tolerant computer system
US20060236168A1 (en) * 2005-04-01 2006-10-19 Honeywell International Inc. System and method for dynamically optimizing performance and reliability of redundant processing systems
US7272681B2 (en) * 2005-08-05 2007-09-18 Raytheon Company System having parallel data processors which generate redundant effector date to detect errors
US7797575B2 (en) * 2007-04-04 2010-09-14 International Business Machines Corporation Triple voting cell processors for single event upset protection

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02114337A (ja) * 1988-10-25 1990-04-26 Mitsubishi Electric Corp 2重化計算機システム
JPH09245008A (ja) * 1996-03-05 1997-09-19 Hitachi Ltd 二重化データ一致化方法および二重化制御装置
JP2002049501A (ja) * 2000-08-04 2002-02-15 Nippon Telegr & Teleph Corp <Ntt> 耐故障性システム及びその故障切り分け方法
JP2006172220A (ja) * 2004-12-16 2006-06-29 Nec Corp フォールトトレラント・コンピュータシステム
JP2006172391A (ja) * 2004-12-20 2006-06-29 Nec Corp フォールト・トレラント・コンピュータ・リセット方法及びそのシステム
JP2006178616A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013088826A (ja) * 2011-10-13 2013-05-13 Hitachi Ltd 冗長系システムにおけるデータ入力方式
JP2014106862A (ja) * 2012-11-29 2014-06-09 Taiyo Nippon Sanso Corp 冗長化システムおよび冗長化方法
JP2015069270A (ja) * 2013-09-27 2015-04-13 日本電気株式会社 フォールトトレラントシステム
US9477559B2 (en) 2013-09-27 2016-10-25 Nec Corporation Control device, control method and recording medium storing program thereof

Also Published As

Publication number Publication date
JP5509637B2 (ja) 2014-06-04
US8140893B2 (en) 2012-03-20
US20100241909A1 (en) 2010-09-23

Similar Documents

Publication Publication Date Title
JP5509637B2 (ja) フォールトトレラントシステム
US7237144B2 (en) Off-chip lockstep checking
US7065672B2 (en) Apparatus and methods for fault-tolerant computing using a switching fabric
CN110532117B (zh) 针对在第一和第二时钟域之间传输的主信号的错误检查
US7539897B2 (en) Fault tolerant system and controller, access control method, and control program used in the fault tolerant system
US7821919B2 (en) Data processing apparatus and data processing method
JP5772911B2 (ja) フォールトトレラントシステム
JP6368034B2 (ja) データ処理装置
US20090307549A1 (en) Processor test system utilizing functional redundancy
JP2006178730A (ja) 安全信号i/f装置およびその二重化信号入力処理方法
JP2013200616A (ja) 情報処理装置及び情報処理装置の復旧回路
JP3261014B2 (ja) データ処理システムにおけるモジュール交換方法および自己診断方法
JP5604799B2 (ja) フォールトトレラントコンピュータ
US20230229131A1 (en) Redundant Automation System and Method for Operating the Redundant Automation System
Proerzza et al. A low-cost fail-safe circuit for fault-tolerant control systems
JP2018050172A (ja) 情報処理装置、演算処理装置、及び情報処理装置の制御方法
JP6653250B2 (ja) 計算機システム
Cluster Sergio Pertuz İD Cornelia Wulf, Najdet Charaf®, Lester Kalms, and Diana Göhringer İD Adaptive Dynamic Systems, TU Dresden, Dresden, Germany sergio. pertuz@ tu-dresden. de
JPH08190494A (ja) 二重化処理装置を有する高信頼化コンピュータ
JPH09244909A (ja) 情報処理システム
JPH1145189A (ja) データ設定方法及びデータ処理装置
JPWO2008050456A1 (ja) コンピュータシステム、データ中継装置およびコンピュータシステム制御方法
JPH04155535A (ja) 情報処理装置の障害検出方式
Jelemenska et al. Progress in Transputer and Occam Research 155 R. Miles and A. Chalmers (Eds.) IOS Press, 1994
JP2001102457A (ja) 複数コントローラ内蔵のlsi及び同lsiを備えたlsi組み合わせシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140310

R150 Certificate of patent or registration of utility model

Ref document number: 5509637

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees