Nothing Special   »   [go: up one dir, main page]

JP5604799B2 - フォールトトレラントコンピュータ - Google Patents

フォールトトレラントコンピュータ Download PDF

Info

Publication number
JP5604799B2
JP5604799B2 JP2009053258A JP2009053258A JP5604799B2 JP 5604799 B2 JP5604799 B2 JP 5604799B2 JP 2009053258 A JP2009053258 A JP 2009053258A JP 2009053258 A JP2009053258 A JP 2009053258A JP 5604799 B2 JP5604799 B2 JP 5604799B2
Authority
JP
Japan
Prior art keywords
clock
delay
circuit
data
transmission
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
JP2009053258A
Other languages
English (en)
Other versions
JP2010211250A (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 JP2009053258A priority Critical patent/JP5604799B2/ja
Publication of JP2010211250A publication Critical patent/JP2010211250A/ja
Application granted granted Critical
Publication of JP5604799B2 publication Critical patent/JP5604799B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Information Transfer Systems (AREA)

Description

本発明はフォールトトレラントコンピュータ及びそのタイミング調整方法に関する。
高度な信頼性を提供するコンピュータとして、フォールトトレラントコンピュータがある。フォールトトレラントコンピュータは、システムを構成するハードウェアモジュールを二重化、または多重化し、それぞれのハードウェアモジュールを同期して動作させる。そのため、あるハードウェアモジュールを構成する回路の一部に故障が発生した場合でも、故障したモジュールを切り離し、正常なモジュールによって処理を続行することができる。つまり、フォールトトレラントコンピュータは、耐故障性を向上させたコンピュータである。
フォールトトレラントコンピュータは、CPU等を含む演算処理回路、メモリ、I/Oデバイス、及び、これらの回路間のデータの受け渡しを行うデータ中継回路(チップセット)等から構成されるハードウェアモジュールと、フォールトトレラント制御部(以下、FT制御部と称す)と、が多重化されて構成される。ここで、FT制御部は、多重化されたハードウェアモジュールの同期動作処理、故障時の切替制御等を行う機能を有する。
図7にハードウェアモジュールを二重化したフォールトトレラントコンピュータの一例を示す。図7に示すフォールトトレラントコンピュータは、第1のシステムとして、第1のCPUサブシステム305と、第1のI/Oサブシステム313と、FT制御部303と、を備える。また、第2のシステムとして、第2のCPUサブシステム306と、第2のI/Oサブシステム314と、FT制御部304と、を備える。
第1のCPUサブシステム305は、演算処理回路(CPU等)307と、データ中継回路308と、メモリ309と、を有する。第2のCPUサブシステム306は、演算処理回路310と、データ中継回路311と、メモリ312と、を有する。第1のI/Oサブシステム313は、I/Oデバイス315と、I/Oデバイス316と、を有する。第2のI/Oサブシステム314は、I/Oデバイス317と、I/Oデバイス318と、を有する。ここで、第1のシステムと第2のシステムとは、それぞれ回路構成及び動作が同様であるため、第1のシステムについてのみ説明する。
第1のCPUサブシステム305において、演算処理回路307とデータ中継回路308とが互いに接続される。データ中継回路308とメモリ309とが互いに接続される。ここで、データ中継回路308は、例えば、演算処理回路307及びメモリ309との間でデータの受け渡しを行う。データ中継回路308とFT制御部303とは互いに接続される。FT制御部303とI/Oデバイス315とは互いに接続される。FT制御部303とI/Oデバイス316とは互いに接続される。ここで、第1のシステムに備えられたFT制御部303と、第2のシステムに備えられたFT制御部304とは、互いに接続される。なお、FT制御部303とFT制御部304とは、クロスリンクと呼ばれる信号を通して通信される。
図7のフォールトトレラントコンピュータの例では、FT制御部303及びFT制御部304は、CPUサブシステム群(第1のCPUサブシステム305及び第2のCPUサブシステム306)と、I/Oサブシステム群(第1のI/Oサブシステム313及び第2のI/Oサブシステム314)との間に接続される。そして、FT制御部303及びFT制御部304は、クロスリンクを介して互いに情報通信する。それにより、CPUサブシステム305、306の同期動作の維持、故障の検出、及び故障モジュールの切り離し制御等が行われる。
一般的に、フォールトトレラントコンピュータは各モジュールをハードウェアで多重化制御する部分と、ソフトウェアで多重化制御する部分とに分かれる。例えば、CPUサブシステムは、それ自身がソフトウェアを動作させるための基盤である。したがって、これらはハードウェアによって多重化制御される必要がある。
つまり、CPUサブシステム内でエラーが発生した場合、ハードウェア(例えば、FT制御部)が、故障した回路(例えば、CPU、メモリ)をシステムから切り離す。それにより、正常動作しているCPU及びメモリに影響を及ぼさないようにする。
なお、図7のフォールトトレラントコンピュータの例では、例えば、第1のCPUサブシステム305が故障した場合、第1のCPUサブシステム305はFT制御部303により論理的に切り離される。その後、このフォールトトレラントコンピュータの動作は、第2のCPUサブシステム306と、第2のI/Oサブシステム314と、によって継続される。
一方、I/Oデバイス315に故障が発生した場合、その故障を検出したFT制御部303が、I/Oデバイス315を制御するソフトウェア(以下I/Oデバイスドライバと呼ぶ)に対してエラーを通知する。この場合、I/Oデバイスドライバは、故障したI/Oデバイス315の使用を中止するように制御する。そして、I/Oデバイスドライバは、正常動作している別のI/Oデバイス316を使用するように制御する。このように、I/Oサブシステム群では、ソフトウェアであるI/Oデバイスドライバによって使用するI/Oデバイスが切替制御される。
ここで、ハードウェア(FT制御部)によって多重化制御されるモジュール(CPUサブシステム等)は、ロックステップ方式の同期動作をする。図7に示すフォールトトレラントコンピュータでは、例えば、CPUサブシステム305、306にそれぞれ同一タイミングのクロック及びデータが供給された場合、CPUサブシステム305、306はそれぞれ同じ動作をする。このように、多重化されたモジュールがそれぞれ同じ動作をすることをデターミニズムと呼ぶ。そして、デターミニズムの特徴を有するCPUサブシステム305、306が互いに同じ動作をしている状態をロックステップ同期と呼ぶ。ここで、FT制御部303、304は、CPUサブシステム305、306から送信される信号を互いに比較することにより、第1のシステム及び第2のシステムが、ロックステップ同期していることを確認する。
従来、多重化されたCPUサブシステムがロックステップ同期状態を示すためには、CPUサブシステム内に含まれるCPUやデータ中継回路がデターミニズムの特徴を有するとともに、それらを結ぶバスが同期バスである必要があった。それにより、従来のフォールトトレラントコンピュータは、同一クロック源から供給されるクロックに基づいて多重化されたCPUサブシステムをロックステップ同期状態に維持することが可能であった。
このようなロックステップ同期に関する技術が特許文献1〜3に紹介されている。特許文献1には、ソフトウェアの不具合に対するフォールトトレラント性の高いコンピュータが提案されている。また、特許文献2には、各プロセッサ間の外部バスへのアクセス状態の不一致が検出された場合、多重化されたコンピューティングモジュール間の命令実行状況を遅延調整により一致させるフォールトトレラントコンピュータが提案されている。
しかし、例えば、CPUとデータ中継回路とを結ぶバスが、近年登場したQPI(Intel Quick Path Interconnect)のような非同期シリアルバスの場合、同一クロック源からクロックを供給しても、各モジュールにデータを送受信するタイミングが異なる。そのため、非同期シリアルバスが用いられた多重化されたCPUサブシステムはロックステップ状態を維持できないという問題があった。
また、特許文献3には、SMII規格が適用されるMACチップとPHYチップとのPCBパターン距離制限を克服し、データ転送遅延による転送エラーを防止するデータ転送中継装置が提案されている。ここで、特許文献3に示すデータ転送中継装置は、送受信データの転送遅延に基づいてクロックのタイミングを調整する。しかし、特許文献3に示すデータ転送中継装置は、送受信データの遅延に対してどのようにクロックのタイミングを調整するのかについて、具体的な方法が記載されていない。
特開2008−146447号公報 特開2004−46599号公報 特開2003−174491号公報
上述のように、従来のフォールトトレラントコンピュータは、非同期シリアルバスが用いられた多重化されたシステムにおいてロックステップ状態を維持できないという問題があった。
本発明は、このような問題を解決するためになされたものであり、多重化されたシステムにおいてロックステップ状態を維持することが可能なフォールトトレラントコンピュータ及びそのタイミング調整方法を提供することを目的とする。
本発明にかかるフォールトトレラントコンピュータは、第1及び第2のプロセッサ(例えば、本発明の実施の形態における演算処理回路101及び演算処理回路109)と、第1のクロックに基づいて前記第1のプロセッサとの第1の信号の送受信を行い、前記第1のクロックの遅延量を調整する第1のタイミング調整回路(例えば、本発明の実施の形態におけるタイミング調整回路104)と、第2のクロックに基づいて前記第2のプロセッサとの第2の信号の送受信を行い、前記第2のクロックの遅延量を調整する第2のタイミング調整回路(例えば、本発明の実施の形態におけるタイミング調整回路112)と、を備え、前記第1のタイミング調整回路は、前記第1のクロックに与える複数の遅延量に対応した前記第1の信号の送受信時間を記憶する第1のメモリ(例えば、本発明の実施の形態におけるメモリ107)と、前記第1の信号の送受信時間と前記第2の信号の送受信時間とに基づいて前記第1のクロックの遅延調整量を決定する第1の遅延調整量決定回路(例えば、本発明の実施の形態における遅延調整量決定部108)と、を備え、前記第2のタイミング調整回路は、前記第2のクロックに与える複数の遅延量に対応した前記第2の信号の送受信時間を記憶する第2のメモリ(例えば、本発明の実施の形態におけるメモリ114)と、前記第1の信号の送受信時間と前記第2の信号の送受信時間とに基づいて前記第2のクロックの遅延調整量を決定する第2の遅延調整量決定回路(例えば、本発明の実施の形態における遅延調整量決定部116)と、を備える。
また、本発明にかかるフォールトトレラントコンピュータのタイミング調整方法は、第1のクロックに基づいて第1のプロセッサ(例えば、本発明の実施の形態における演算処理回路101)と第1の信号の送受信を行い、前記第1のクロックに与える複数の遅延量に対応した前記第1の信号の送受信時間を記憶し、第2のクロックに基づいて第2のプロセッサ(例えば、本発明の実施の形態における演算処理回路109)と前記第2の信号の送受信を行い、前記第2のクロックに与える複数の遅延量に対応した前記第2の信号の送受信時間を記憶し、前記第1の信号の送受信時間と前記第2の信号の送受信時間とに基づいて前記第1及び前記第2のクロックの遅延調整量を決定する。
本発明により、多重化されたシステムにおいてロックステップ状態を維持することが可能なフォールトトレラントコンピュータ及びそのタイミング調整方法を提供することができる。
本発明の実施の形態にかかるフォールトトレラントコンピュータの構成を示すブロック図である。 本発明の実施の形態にかかるフォールトトレラントコンピュータのタイミング調整方法を示すフローチャートである。 本発明の実施の形態にかかるフォールトトレラントコンピュータの構成を示すブロック図である。 本発明の実施の形態にかかるフォールトトレラントコンピュータの構成を示すブロック図である。 本発明の実施の形態にかかるタイミング調整回路に格納されたクロック遅延量及びデータ送受信時間の一例を示す図である。 クロック遅延量がデータ送受信に与える影響を示す図である。 従来のフォールトトレラントコンピュータの構成を示すブロック図である。
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
本発明の実施の形態について図面を参照して説明する。図1は、システムを構成するハードウェアモジュールを二重化したロックステップ方式のフォールトトレラントコンピュータである。図1に示すフォールトトレラントコンピュータは、第1のシステムとして、CPU等を備えた演算処理回路(第1のプロセッサ)101と、データ中継回路(第1のデータ中継回路。チップセットとも言う)102と、を備える。また、第2のシステムとして、演算処理回路(第2のプロセッサ)109と、データ中継回路(第2のデータ中継回路)110と、を備える。
なお、図1に示すフォールトトレラントコンピュータは、簡単のためデータ中継回路102、110と演算回路101、109のみを図示している。しかし、実際には、メモリ(不図示)、I/Oデバイス(不図示)等が備えられる場合もある。
データ中継回路102は、タイミング調整回路(第1のタイミング調整回路)104を備える。また、タイミング調整回路104は、データ送受信部105と、クロックシフト部106と、メモリ(第1のメモリ)107と、遅延調整量決定部(第1の遅延調整量決定回路)108と、を有する。データ中継回路110は、タイミング調整回路(第2のタイミング調整回路)112を備える。タイミング調整回路112は、データ送受信部113と、メモリ(第2のメモリ)114と、クロックシフト部115と、遅延調整量決定部(第2の遅延調整量決定回路)116と、を有する。ここで、図1に示すフォールトトレラントコンピュータは、二重化されたハードウェアモジュールのロックステップ状態を維持するタイミング調整回路104、112を有することを特徴とする。なお、第1のシステムと第2のシステムとは、それぞれ回路構成及び動作が同様であるため、第1のシステムについてのみ説明する。
第1のシステムにおいて、データ送受信部105のデータ送受信用端子は、演算処理回路101のデータ送受信用端子に接続される。外部から供給されるクロックは、クロックシフト部106の一方の入力端子に入力される。クロックシフト部106の出力端子は、データ送受信部105のクロック入力端子に接続される。データ送受信部105の出力端子は、メモリ107の入力端子に接続される。メモリ107の一方の出力端子は、遅延調整量決定部108の一方の入力端子に接続される。メモリ107の他方の出力端子は、第2のシステムにおける遅延調整量決定部116の一方の入力端子に接続される。遅延調整量決定部108の他方の入力端子は、第2のシステムにおけるメモリ114の一方の出力端子に接続される。遅延調整量決定部108の出力端子は、クロックシフト部106の他方の入力端子に接続される。
次に、図1に示す回路の動作について説明する。データ送受信部105は、例えば、データ中継回路102に備えられた周辺回路(不図示)から送受信された送受信データを演算処理回路101へ送受信する。それに加え、データ送受信部105は、演算処理回路101に対してリクエスト信号を送信する機能を有する。また、データ送受信部105は、演算処理回路101からのレスポンス信号を受信する機能を有する。また、データ送受信部105は、リクエスト信号を送信してからレスポンス信号を受信するまでの時間(データ送受信時間)を測定する機能を有する。
外部から供給されたクロックは、クロックシフト部106を介してデータ送受信部105に入力される。ここで、クロックシフト部106は、遅延調整量決定部108から出力される制御信号(後述)に基づいて出力するクロックのタイミングを調整する。つまり、クロックシフト部106は、遅延調整量決定部108からの制御信号に基づいて入力クロックを指定された時間だけ遅延させて出力する機能を有する。それにより、データ送受信部105から演算処理回路101に送信されるデータの送信タイミングを調整することができる。
図6に、クロック遅延量がデータ送受信に与える影響を示す。図6に示すように、クロックシフト部106から出力されるクロックの遅延量を調整することにより、リクエスト信号の出力タイミングを制御することができる。それにより、演算処理回路101からの応答信号であるレスポンス信号の受信時間を制御することができる。
メモリ107は、データ送受信部105において測定されたデータ送受信時間を格納する。ここで、メモリ107は、例えば、データ送受信に要するクロックのサイクル数をデータ送受信時間として格納することもできる。なお、本発明の実施の形態では、メモリ107、114がクロックのサイクル数をデータ送受信時間として格納する場合を例に説明する。メモリ107に格納されたデータ送受信時間の情報は、第1のシステムにおける遅延調整量決定部108と、第2のシステムにおける遅延調整量決定部116と、に送信される。遅延調整量決定部108は、メモリ107及びメモリ114に格納されたデータ送受信時間の情報に基づいて、クロックシフト部106の出力クロックに与える遅延調整量を決定する。なお、遅延調整寮の決定方法については後述する。そして、遅延調整量決定部108から出力された遅延調整量の情報を含む制御信号は、クロックシフト部106の他方の入力端子に入力される。
図1と図2のフローチャートとを用いて、本発明の実施の形態にかかるフォールトトレラントコンピュータのタイミング調整方法を説明する。なお、第1のシステムと第2のシステムとは、それぞれ回路構成及び動作が同様であるため、第1のシステムについてのみ説明する。まず、演算処理回路101とデータ中継回路102との間を接続するバス(例えば、非同期シリアルバス)の初期化が行われる(図2のS100)。それにより、第1のシステムは、データの送受信が可能な状態に移行する。
初期化完了後、データ送受信部105は、通常動作によるデータ送受信を開始する前に、演算処理回路101に対してリクエスト信号を送信する。そして、データ送受信部105は、演算処理回路101からのレスポンス信号を受信する。データ送受信部105は、リクエスト信号を送信し、レスポンス信号を受信するまでの時間(データ送受信時間)を測定する(図2のS101)。データ送受信部105において測定されたデータ送受信時間は、そのときクロックに与えられていた遅延量と共にメモリ107に格納される(図2のS102)。なお、クロックに与えられる遅延量の初期値は"0"である。
メモリ107にクロック遅延量とデータ送受信時間(測定値)が格納された後、遅延調整量決定部108は、クロックシフト部106の出力クロックに所定の時間遅延させるための制御信号を出力する(図2のS103のNO)。具体的には、遅延調整量決定部108は、メモリ107に最後に格納されたクロック遅延量に対してさらに所定の時間遅延させるための制御信号を出力する(図2のS104)。その後、再度バスの初期化が行われる(図2のS100)。そして、データ送受信部105は、所定の遅延量が与えられたクロックに基づいてデータ送受信時間の測定を行う(図2のS101)。このときのクロック遅延量とデータ送受信時間はメモリ107に格納される(図2のS102)。このように所定の時間毎の遅延量を与えたクロックと、それに応じたデータ送受信時間の情報がメモリ107に格納される。この動作は、クロック遅延量が遅延調整量決定部108において設定された既定値に達するまで行われる。なお、第2のシステム(演算処理回路109、データ中継回路110)においても同様の動作が実行される。
図5に、メモリ107及びメモリ114に格納されたクロック遅延量及びデータ送受信時間のテーブルの一例を示す。なお、前述のようにメモリ107は、第1のシステム(演算処理回路101、データ中継回路102)におけるクロック遅延量及びそれに応じたデータ送受信時間を格納する。また、メモリ114は、第2のシステム(演算処理回路109、データ中継回路110)におけるクロック遅延量及びデータ送受信時間を格納する。図5の例では、クロック遅延量が0nsから15nsまで1ns間隔で与えられた場合のデータ送受信時間を示す。なお、図5の例では、メモリ107及びメモリ114は、データ送受信に要するクロックのサイクル数をデータ送受信時間として格納している。遅延調整量決定部108は、クロック遅延量が規定値に達すると(図2のS103のYES)、メモリ107、114に格納された情報に基づいて、第1のシステムにおけるクロックの遅延調整量を決定する(図2のS105)。同様に、遅延調整量決定部116は、クロック遅延量が規定値に達すると、メモリ107、114に格納された情報に基づいて、第2のシステムにおけるクロックの遅延調整量を決定する。
ここで、例えば、クロックに遅延を与えない(クロック遅延量が"0")場合、メモリ107は、データ送受信時間が100サイクルである。一方、メモリ114は、データ送受信時間が99サイクルである。つまり、クロック遅延量が"0"の場合、第1及び第2のシステムは、それぞれデータを受信するタイミングにずれが生じてしまう。そのため、第1及び第2のシステムはロックステップ同期して動作することができない。そこで、遅延調整量決定部108は、データ送受信部105、113のデータ受信タイミングにずれが生じないような遅延調整量をメモリ107、114に格納された情報から選択する。同様に遅延調整量決定部116は、データ送受信部105、113のデータ受信タイミングにずれが生じないような遅延調整量をメモリ107、114に格納された情報から選択する。
ここで、データ送受信部105、113のデータ送受信に要するクロックサイクル数は、互いに一致する値が複数存在する可能性がある。図5の例では、"100"、"101"、"102"の3つの値がこれに該当する。この場合、遅延調整量決定部108、116は、好ましくはクロック遅延量の変動に応じてクロックサイクル数が変化しない範囲が最も大きい値(クロックサイクル数)を選択する。図5の例では、"101"がこれに該当する。
次に、遅延調整量決定部108は、選択されたクロックサイクル数に基づいてクロックの遅延調整量を決定する。図5の例では、クロック遅延量が4ns〜10nsの場合に、データ送受信時間が"101"を示す。このとき、遅延調整量決定部108は、好ましくはクロックの遅延調整量として中間の値(図5の例では7ns)を選択する。これにより、クロックが何らかの要因でわずかに変動した場合でも、データ送受信部105のデータ送受信時間は変動しない。これは、第2のシステムにおける遅延調整量決定部116の場合も同様である。図5の例では、第1のシステムにおいて決定されたクロックの遅延調整量は7nsである。また、第2のシステムにおいて決定されたクロックの遅延調整量は9nsである。遅延調整量決定部108は、このような規則に基づいてクロックの遅延調整量を決定し、クロックシフト部106に制御信号を出力する。クロックシフト部106は、決定された遅延調整量に基づいて出力するクロックに遅延を与える。これは、第2のシステムにおける遅延調整量決定部116の場合も同様である。
クロックの遅延調整量が決定した後、再度、演算処理回路101とデータ中継回路102との間を接続するバスが初期化される。また、演算処理回路109とデータ中継回路110との間を接続するバスが初期化される。そして、今度は通常のデータ送受信が行われる(図2のS106)。このように本発明の実施の形態にかかるフォールトトレラントコンピュータは、各システムにおいて複数のクロック遅延量及びそれに対応するデータ送受信時間を記録する。そして、それらの情報に基づいてクロックに与える遅延調整量を決定する。それにより、多重化されたシステムは、ロックステップ同期状態を維持することができる。
以上のように、本発明の実施の形態にかかるフォールトトレラントコンピュータは、多重化されたシステムにおいて、例えば、演算処理回路とデータ中継回路とを結ぶバスが非同期シリアルバスであっても、ロックステップ同期状態を維持することが可能である。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、図1に示すフォールトトレラントコンピュータは、システムを構成するハードウェアモジュールを二重化した場合(第1及び第2のシステム)を例に説明したが、これに限られない。例えば、図3に示すようにシステムを構成するハードウェアモジュールを三重化した回路構成にも適宜変更可能である。図3に示すフォールトトレラントコンピュータは、図1のフォールトトレラントコンピュータに、第3のシステムを追加している。第3のシステムは、演算処理回路117と、データ中継回路118と、を備える。データ中継回路118は、タイミング調整回路120を備える。タイミング調整回路120は、データ送受信部121と、メモリ122と、クロックシフト部123と、遅延調整量決定部124と、を有する。第3のシステムの回路構成及び動作は、第1及び第2のシステムの場合と同様であるため説明を省略する。このように複数のシステムを備えた場合でも、それぞれのシステムに備えられたタイミング調整回路に基づいてそれぞれのシステムにおけるクロックの遅延調整量を決定することができる。
また、本発明の実施の形態では、タイミング調整回路104、112が、それぞれデータ中継回路102、110に備えられた場合を例に説明したが、これに限られない。例えば、図4に示すように、演算処理回路101とデータ中継装置102との間にタイミング調整回路104を設けた回路構成にも適宜変更可能である。同様に、演算処理回路109とデータ中継装置110との間にタイミング調整回路112を設けた回路構成にも適宜変更可能である。なお、図4には、タイミング調整回路104、112が、それぞれリピータ回路125、126に備えられた場合の例を示している。
101 演算処理回路
102 データ中継回路
104 タイミング調整回路
105 データ送受信部
106 クロックシフト部
107 メモリ
108 遅延調整量決定部
109 演算処理回路
110 データ中継回路
112 タイミング調整回路
113 データ送受信部
114 メモリ
115 クロックシフト部
116 遅延調整量決定部
117 演算処理回路
118 データ中継回路
120 タイミング調整回路
121 データ送受信部
122 メモリ
123 クロックシフト部
124 遅延調整量決定部
125 リピータ回路
126 リピータ回路

Claims (6)

  1. 第1及び第2プロセッサと、
    及び第2タイミング調整回路と、を備え、
    前記第1タイミング調整回路は、
    第1遅延量をクロックに付加して、データの送信タイミングを遅延させるための第1クロックとして出力する第1クロックシフト部と、
    前記第1クロックに基づいて前記第1プロセッサに第1リクエスト信号を送信し、前記第1リクエスト信号に対する前記第1プロセッサからの第1レスポンス信号を受信する、第1データ送受信部と、
    異なる値の複数の前記第1遅延量をそれぞれ前記クロックに付加した場合における、前記第1データ送受信部が前記第1リクエスト信号を送信してから前記第1レスポンス信号を受信するまでの複数の第1送受信時間、を記憶する第1メモリと、
    前記複数の第1送受信時間と、複数の第2送受信時間とに基づいて、前記第1クロックシフト部によって前記クロックに付加される前記第1遅延量の値を決定する第1遅延調整量決定回路と、を備え、
    前記第2タイミング調整回路は、
    第2遅延量を前記クロックに付加して、データ送信タイミングを遅延させるための第2クロックとして出力する第2クロックシフト部と、
    前記第2クロックに基づいて前記第2プロセッサに第2リクエスト信号を送信し、前記第2リクエスト信号に対する前記第2プロセッサからの第2レスポンス信号を受信する、第2データ送受信部と、
    異なる値の複数の前記第2遅延量をそれぞれ前記クロックに付加した場合における、前記第2データ送受信部が前記第2リクエスト信号を送信してから前記第2レスポンス信号を受信するまでの前記複数の第2送受信時間、を記憶する第2メモリと、
    前記複数の第1送受信時間と、前記複数の第2送受信時間とに基づいて、前記第2クロックシフト部によって前記クロックに付加される前記第2遅延量の値を決定する第2遅延調整量決定回路と、を備えたフォールトトレラントコンピュータ。
  2. 記第1送受信時間は、前記第1データ送受信部が前記第1リクエスト信号を送信してから前記第1レスポンス信号を受信するまでに要する前記第1クロックのサイクル数であり、
    前記第2送受信時間は、前記第2データ送受信部が前記第2リクエスト信号を送信してから前記第2レスポンス信号を受信するまでに要する前記第2クロックのサイクル数である請求項1に記載のフォールトトレラントコンピュータ。
  3. 前記第1遅延調整量決定回路は、前記複数の第1遅延量のうち、前記第1送受信時間が前記第2送受信時間と一致する第1遅延量を、前記第1クロックシフト部によって前記クロックに付加される前記第1遅延量として選択し、
    前記第2遅延調整量決定回路は、前記複数の第2遅延量のうち、前記第2送受信時間が前記第1送受信時間と一致する第2遅延量を、前記第2クロックシフト部によって前記クロックに付加される前記第2遅延量として選択する、請求項1又は2に記載のフォールトトレラントコンピュータ。
  4. 前記第1遅延調整量決定回路は、前記第1送受信時間が同じである複数の前記第1遅延量のうち中間の値を示す第1遅延量を、前記第1クロックシフト部によって前記クロックに付加される前記第1遅延量として選択し、
    前記第2遅延調整量決定回路は、前記第2送受信時間が同じである複数の前記第2遅延量のうち中間の値を示す第2遅延量を、前記第2クロックシフト部によって前記クロックに付加される前記第2遅延量として選択する、請求項1〜3のいずれか一項に記載のフォールトトレラントコンピュータ。
  5. 前記第1プロセッサとデータの送受信を行う第1データ中継回路と、
    前記第2プロセッサとデータの送受信を行う第2データ中継回路と、をさらに備え、
    前記第1タイミング調整回路は、前記第1データ中継回路に内蔵され、
    前記第2タイミング調整回路は、前記第2データ中継回路に内蔵されている、請求項1〜4のいずれか一項に記載のフォールトトレラントコンピュータ。
  6. 前記第1プロセッサとデータの送受信を行う第1データ中継回路と、
    前記第2プロセッサとデータの送受信を行う第2データ中継回路と、をさらに備え、
    前記第1タイミング調整回路は、前記第1プロセッサと前記第1データ中継回路との間に接続され、
    前記第2タイミング調整回路は、前記第2プロセッサと前記第2データ中継回路との間に接続されている、請求項1〜4のいずれか一項に記載のフォールトトレラントコンピュータ。
JP2009053258A 2009-03-06 2009-03-06 フォールトトレラントコンピュータ Expired - Fee Related JP5604799B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009053258A JP5604799B2 (ja) 2009-03-06 2009-03-06 フォールトトレラントコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009053258A JP5604799B2 (ja) 2009-03-06 2009-03-06 フォールトトレラントコンピュータ

Publications (2)

Publication Number Publication Date
JP2010211250A JP2010211250A (ja) 2010-09-24
JP5604799B2 true JP5604799B2 (ja) 2014-10-15

Family

ID=42971394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009053258A Expired - Fee Related JP5604799B2 (ja) 2009-03-06 2009-03-06 フォールトトレラントコンピュータ

Country Status (1)

Country Link
JP (1) JP5604799B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5757742B2 (ja) 2010-03-25 2015-07-29 セイコーインスツル株式会社 電子機器、歩数計、およびプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2507677B2 (ja) * 1990-06-28 1996-06-12 富士通株式会社 分散型デ―タ処理装置
JPH0773059A (ja) * 1993-03-02 1995-03-17 Tandem Comput Inc フォールトトレラント型コンピュータシステム
JPH11161601A (ja) * 1997-08-19 1999-06-18 Matsushita Electric Ind Co Ltd 複数伝送線路間の遅延時間の調整装置
KR100460149B1 (ko) * 2001-11-28 2004-12-08 주식회사 코어세스 에스엠아이아이 규격에 따른 장치 간의 데이터전송중재장치 및 그 방법
US7225286B2 (en) * 2002-06-24 2007-05-29 Koninklijke Philips Electronics N.V. Method to measure transmission delay between 1394 bridges
JP2004046599A (ja) * 2002-07-12 2004-02-12 Nec Corp フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
JP4752552B2 (ja) * 2006-03-15 2011-08-17 日本電気株式会社 データ処理装置とその同期方法
JP4822000B2 (ja) * 2006-12-12 2011-11-24 日本電気株式会社 フォールトトレラントコンピュータ

Also Published As

Publication number Publication date
JP2010211250A (ja) 2010-09-24

Similar Documents

Publication Publication Date Title
JP5337022B2 (ja) フォールト・トレランス・コンピューティング・システムにおけるエラー・フィルタリング
US8503484B2 (en) System and method for a cross channel data link
US8140893B2 (en) Fault-tolerant system
US9477559B2 (en) Control device, control method and recording medium storing program thereof
US11599090B2 (en) System and method of network synchronized time in safety applications
JP3965699B2 (ja) 情報処理装置および情報処理方法
KR101560497B1 (ko) 락스텝으로 이중화된 프로세서 코어들의 리셋 제어 방법 및 이를 이용하는 락스텝 시스템
JP5013309B2 (ja) フォールトトレラントコンピュータ、そのトランザクション同期制御方法
US10248156B2 (en) Data processing device
JP4061273B2 (ja) シームレス・クロック
US7694176B2 (en) Fault-tolerant computer and method of controlling same
JP5604799B2 (ja) フォールトトレラントコンピュータ
JP2009098988A (ja) フォルトトレラントコンピュータシステム
JP2000196571A (ja) 位相調整方式
JP2006178730A (ja) 安全信号i/f装置およびその二重化信号入力処理方法
JP6394727B1 (ja) 制御装置、制御方法、及び、フォールトトレラント装置
US20190171535A1 (en) Data Transmission Between Computation Units Having Safe Signaling Technology
JP2020123309A (ja) Ioモジュール二重化制御装置及び方法
JP5892083B2 (ja) パラメータ設定装置、パラメータ設定プログラム及びパラメータ設定方法
US11914338B2 (en) Redundant automation system and method for operating the redundant automation system
JP5380884B2 (ja) データ処理装置及び同期方法
JP2023175145A (ja) 半導体装置
JPWO2008050456A1 (ja) コンピュータシステム、データ中継装置およびコンピュータシステム制御方法
JPS6031669A (ja) 計算機制御装置の多重系制御方法
JP2645880B2 (ja) システムクロック二重化方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140811

R150 Certificate of patent or registration of utility model

Ref document number: 5604799

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees