JP4048988B2 - Fault tolerant system and synchronization method used therefor - Google Patents

Fault tolerant system and synchronization method used therefor Download PDF

Info

Publication number
JP4048988B2
JP4048988B2 JP2003074693A JP2003074693A JP4048988B2 JP 4048988 B2 JP4048988 B2 JP 4048988B2 JP 2003074693 A JP2003074693 A JP 2003074693A JP 2003074693 A JP2003074693 A JP 2003074693A JP 4048988 B2 JP4048988 B2 JP 4048988B2
Authority
JP
Japan
Prior art keywords
synchronization
data
control means
control circuit
buffer
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
JP2003074693A
Other languages
Japanese (ja)
Other versions
JP2004280732A (en
Inventor
隆行 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC 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 JP2003074693A priority Critical patent/JP4048988B2/en
Publication of JP2004280732A publication Critical patent/JP2004280732A/en
Application granted granted Critical
Publication of JP4048988B2 publication Critical patent/JP4048988B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はフォルトトレラントシステム及びそれに用いる同期化方法に関し、特に各ユニットを二重化して構成したフォルトトレラントシステムにおける同期化方法に関する。
【0002】
【従来の技術】
従来、この種のフォルトトレラントシステムにおいては、チップセット内のインタフェースとして、PCI(Peripheral Component Interconnect)バス等の同期インタフェースを使用し、それによってプロセッサユニットがまったく同じように動作している(例えば、特許文献1参照)。
【0003】
一般のコンピュータシステムに使用されるチップセットにも、同期インタフェースを使用するものが多く、それらを流用してフォルトトレラントシステムを構成することが可能である。
【0004】
【特許文献1】
特開平7−073059号公報(第12〜16頁、図1)
【0005】
【発明が解決しようとする課題】
しかしながら、従来のフォルトトレラントシステムでは、周辺装置やネットワークの高速化によって、I/O(入出力)バスとして高速なものが要求されるようになり、それにともなってチップセット内のインタフェースも高速化が必要になってきている。
【0006】
従来、使われてきたPCIバス等の同期インタフェースでは、クロックスキュー等の問題によって高速化に限界があるため、PCI−Express等の非同期インタフェースが今後使われるようになる見込みである。
【0007】
しかしながら、非同期インタフェースでは複数の相手へのデータ転送において、例えば送信側が同時に転送を開始しても、受信側が受信するタイミングが別々となる。また、PCI−Expressインタフェースでは、インタフェース上でエラーが発生した場合、受信側が送信側へエラーとなった部分の再送を要求するため、受信側が有効なデータを受信するタイミングが別々になる可能性がある。
【0008】
これはフォルトトレラントシステムにおいて、非同期インタフェースをチップセット内のインタフェースとして使用すると、二重化されたプロセッサユニットの動きが異なってしまうことを意味する。フォルトトレラントシステムでは最低限、二重化されたプロセッサがまったく同じように動くことが必要であるため、そのままでは非同期インタフェースをチップセット内のインタフェースとして用いたチップセットを使用してフォルトトレラントシステムを構成することはできない。
【0009】
そこで、本発明の目的は上記の問題点を解消し、PCI−Expressインタフェースやその他の非同期インタフェースをノースブリッジとI/Oバスブリッジとの間の接続として使用したシステムを構成することができるフォルトトレラントシステム及びそれに用いる同期化方法を提供することにある。
【0010】
【課題を解決するための手段】
本発明によるフォルトトレラントシステムは、複数の制御回路複数の入出力装置とによって重化して構成し、非同期インタフェースを前記制御回路と前記入出力装置との間のインタフェースとして用いるフォルトトレラントシステムであって、
前記制御回路は、それぞれ、同期制御手段を備え、
前記同期制御手段の各々は、前記非同期インタフェースを介して前記制御回路と前記入出力装置との間を非同期で送受信されるデータが当該同期制御手段を備える前記制御回路において送受信可能となったことを、それぞれ相互に通知している。
【0011】
本発明による同期化方法は、複数の制御回路と複数の入出力装置とによって多重化して構成し、それぞれの前記制御回路が同期制御手段を備え、非同期インタフェースを前記制御回路と前記入出力装置との間のインタフェースとして用いるフォルトトレラントシステムの同期化方法であって、
前記同期制御手段の各々が、前記非同期インタフェースを介して前記制御回路と前記入出力装置との間を非同期で送受信されるデータが当該同期制御手段を備える前記制御回路において送受信可能となったことを、それぞれ相互に通知している。
【0012】
すなわち、本発明の同期化方法は、非同期インタフェースを使用するフォルトトレラントシステムにおける同期化方法であり、PCI(PeripheralComponent Interconnect)−Expressインタフェース等の非同期インタフェースをノースブリッジとI/O(入出力)バスブリッジとの間のインタフェースとして用いたフォルトトレラントシステムにおいて、ノースブリッジ内に分周クロックに同期して動作する同期Ack(Acknowledgement)信号を基にPCI−Express制御部へのパケットの送受信を両ノースブリッジで同期させる同期制御部を備えることによって、両プロセッサがまったく同じように動作可能としている。
【0013】
より具体的に説明すると、本発明のフォルトトレラントシステムでは、I/Oバスブリッジ(0)内の同期制御部が送信バッファ(0)に有効なパケットが存在し、かつ送信バッファ(1)と送信バッファ(2)との両方にパケットの書込みが可能な状態であるなら、送信バッファ(1)と送信バッファ(2)とに対して同時に同じパケットを転送する。
【0014】
その後、本発明のフォルトトレラントシステムでは、PCI−Express制御部(0)とPCI−Express制御部(1)とが各々別々のタイミングで送信バッファ(1)と送信バッファ(2)とからパケットを読出し、PCI−Expressインタフェースに送信する。これによって、ノースブリッジ(0)とノースブリッジ(1)とには同じパケットが送信される。
【0015】
ノースブリッジ(0)内のPCI−Express制御部(0)とノースブリッジ(1)内のPCI−Express制御部(0)とは、I/Oバスブリッジ(0)からPCI−Expressインタフェース経由で送られてきたパケットを受信し、そのパケットがノースブリッジ(0)内の同期制御部(0)の同期バッファ(0)及びノースブリッジ(1)内の同期制御部(0)の同期バッファ(0)に書込まれる。PCI−Expressインタフェースは非同期インタフェースなので、パケットを受信し、同期バッファ(0)に書込むタイミングは両方のノースブリッジ(0),(1)で異なっている。
【0016】
ノースブリッジ(0)内の同期制御部(0)は同期バッファ(0)に有効なパケットが存在し、同期バッファ(1)が空いている場合、分周Clockの立上りのタイミングでInbound同期Ack信号(1)をアサートする。同様に、ノースブリッジ(1)内の同期制御部(0)は同期バッファ(0)に有効なパケットが存在し、同期バッファ(1)が空いている場合、分周Clockの立上りのタイミングでInbound同期Ack信号(0)をアサートする。
【0017】
分周Clockの立上りのタイミングで両方のInbound同期Ack信号(0),(1)がアサートされていた場合、同期制御部(0),(1)は各々同期バッファ(0)から同期バッファ(1)へのパケットの転送を開始する。
【0018】
これによって、I/Oバスブリッジ(0)が送信したパケットはノースブリッジ(0)内の同期バッファ(1)とノースブリッジ(1)内の同期バッファ(1)とにまったく同じタイミングで書込まれるようになり、ノースブリッジ(0)内のその他の制御部とノースブリッジ(1)内のその他の制御部とは同期制御部から同時にパケットを読出すことが可能になる。
【0019】
ノースブリッジ(0)内のその他の制御部はI/Oバスブリッジ(0)方向に送るパケットがある場合、同期制御部(0)の同期バッファ(2)が空いているならばパケットを書込む。同様に、ノースブリッジ(1)内のその他の制御部はI/Oバスブリッジ(1)方向に送るパケットがある場合、同期制御部(0)の同期バッファ(2)が空いているならばパケットを書込む。
【0020】
ノースブリッジ(0)内の同期制御部(0)は同期バッファ(3)が空いている場合、分周Clockの立上りのタイミングでOutbound同期Ack信号(1)をアサートする。同様に、ノースブリッジ(1)内の同期制御部(0)は同期バッファ(3)が空いている場合、分周Clockの立上りのタイミングでOutbound同期Ack信号(0)をアサートする。
【0021】
分周Clockの立上りのタイミングで、両方のOutbound同期Ack信号(0),(1)がアサートされていた場合、ノースブリッジ(0)内の同期制御部(0)とノースブリッジ(1)内の同期制御部(0)とは各々同期バッファ(2)から同期バッファ(3)へのパケットの転送を開始する。
【0022】
これによって、ノースブリッジ(0)内の同期バッファ(2)と、ノースブリッジ(1)内の同期バッファ(2)とからは、まったく同じタイミングでパケットが読出される、すなわち、同期バッファ(2)の空き状況は両方のノースブリッジ(0),(1)で同期することになり、ノースブリッジ(0)内のその他の制御部とノースブリッジ(1)内のその他の制御部とは同期制御部に同時にパケットを書込むことが可能になる。
【0023】
その後、ノースブリッジ(0)内のPCI−Express制御部(0)とノースブリッジ(1)内のPCI−Express制御部(0)とは、各々別々のタイミングで同期バッファ(3)からパケットを読出し、PCI−Expressインタフェースに送信する。
【0024】
I/Oバスブリッジ(0)内のPCI−Express制御部(0),(1)は、ノースブリッジ(0),(1)からPCI−Expressインタフェース経由で送られてきたパケットを受信し、同期制御部の受信バッファ(0)及び受信バッファ(1)に書込む。
【0025】
PCI−Expressインタフェースは非同期インタフェースであり、両方のノースブリッジ(0),(1)がパケットを発行するタイミングも別々なので、パケットを受信し、受信バッファに書込むタイミングが異なっている。I/Oバスブリッジ(0)内の同期制御部は、受信バッファ(0)と受信バッファ(1)との両方に有効なパケットがある場合、受信バッファ(0)と受信バッファ(1)とからのパケット読出しを同時に実施し、片方からのパケットのみを受信バッファに書込む。
【0026】
これらによって、本発明のフォルトトレラントシステムでは、PCI−Express制御部が同期して動作しなくても、ノースブリッジ(0)内のその他の制御部とノースブリッジ(1)内のその他の制御部とが、まったく同じ動作をすることが可能となる。その結果、プロセッサ(0)とプロセッサ(1)とは、まったく同じ動作をすることが可能となる。
【0027】
【発明の実施の形態】
次に、本発明の実施例について図面を参照して説明する。図1は本発明の一実施例によるフォルトトレラントシステムの構成を示すブロック図である。図1において、本発明の一実施例によるフォルトトレラントシステムはPCI(Peripheral Component Interconnect)−Expressインタフェース(0〜3)103〜106を、ノースブリッジ(0,1)13,23とI/O(入出力)バスブリッジ(0,1)31,41との間のインタフェースとして用い、各構成要素を二重化している。
【0028】
本発明の一実施例によるフォルトトレラントシステムはプロセッサユニット(0,1)1,2と、I/Oユニット(0,1)3,4と、プロセッサユニット(0,1)1,2とI/Oユニット(0,1)3,4との間を結ぶ4本のPCI−Expressインタフェース(0〜3)103〜106とから構成されている。
【0029】
プロセッサユニット(0)1はプロセッサ(0)11と、プロセッサバス(0)101と、メインメモリ(0)12と、ノースブリッジ(0)13とから構成されている。同様に、プロセッサユニット(1)2はプロセッサ(1)21と、プロセッサバス(1)102と、メインメモリ(1)22と、ノースブリッジ(0)23とから構成されている。
【0030】
I/Oユニット(0)3はI/Oバスブリッジ(0)31と、PCI−Xバス(0)107と、PCI−Xデバイス(0)36とから構成されている。同様に、I/Oユニット(1)4はI/Oバスブリッジ(1)41とPCI−Xバス(2)108と、PCI−Xデバイス(2)46とから構成されている。
【0031】
これら両方のI/Oユニット(0,1)3,4には同じPCI−Xデバイスが搭載されている。PCI−Xデバイス(0)36は周辺装置(0)5と、PCI−Xデバイス(2)46は周辺装置(2)6とにそれぞれ接続されている。
【0032】
2つのプロセッサ(0,1)11,21は、通常、まったく同じ動作をしている。片方のプロセッサユニットで障害等発生した場合にはそのプロセッサユニットを切離し、もう片方のプロセッサユニットのみを使用してシステム全体が動作し続ける。
【0033】
周辺装置へのデータのライトは、まず周辺装置(0)5にライトした後、同じデータを周辺装置(2)6にもライトする。リードは、通常、周辺装置(0)5からのみリードするが、障害によるI/Oユニット(0)3の切離し等によって周辺装置(0)5にアクセスすることができない場合には、周辺装置(2)6からリードする。2つのプロセッサ(0,1)11,21はまったく同じ動作をしているので、周辺装置へのデータのライト/リードを両プロセッサが同時に要求する。
【0034】
ノースブリッジ(0)13はPCI−Expressインタフェース(0.1)103,104に対するパケット送受信等を各々制御するPCI−Express制御部(0,1)17,18と、ノースブリッジ(0)13内の他の部分から来るPCI−Expressインタフェースを経由するパケットの読み書きをノースブリッジ(1)23側と同期させる同期制御部(0,1)15,16と、それ以外の動作(プロセッサバス制御等)を行うその他の制御部14とから構成されている。
【0035】
同様に、ノースブリッジ(1)23はPCI−Expressインタフェース(2,3)105,106に対するパケット送受信等を各々制御するPCI−Express制御部(0,1)27,28と、ノースブリッジ(1)23内の他の部分から来るPCI−Expressインタフェースを経由するパケットの読み書きをノースブリッジ(0)13側と同期させる同期制御部(0,1)25,26と、それ以外の動作を行うその他の制御部24とから構成されている。
【0036】
I/Oバスブリッジ(0)31はPCI−Expressインタフェース(0,2)103,105に対するパケット送受信等を各々制御するPCI−Express制御部(0,1)32,33と、2つのPCI−Express制御部(0,1)32,33に対して同時にパケットを読み書きする同期制御部34と、それ以外の動作(PCI−Xバス制御等)を行うその他の制御部35とから構成されている。
【0037】
同様に、I/Oバスブリッジ(1)41はPCI−Expressインタフェース(1,3)104,106に対するパケット送受信等を各々制御するPCI−Express制御部(0,1)42,43と、2つのPCI−Express制御部(0,1)42,43に対して同時にパケットを読み書きする同期制御部44と、それ以外の動作を行うその他の制御部45とから構成されている。
【0038】
図2は図1の同期制御部の詳細な構成を示すブロック図である。図2において、ノースブリッジ(0)13内の同期制御部(0)15とノースブリッジ(1)23内の同期制御部(0)25とは、Inbound同期Ack信号(0〜1)113,114及びOutbound同期Ack信号(0〜1)115,116で接続されている。
【0039】
図2には記載していないが、ノースブリッジ(0)13内の同期制御部(1)16及びノースブリッジ(1)23内の同期制御部(1)26も、上記と同様の信号線で接続されている。また、ノースブリッジ(0)13内の同期制御部(0,1)15,16と、ノースブリッジ(1)23内の同期制御部(0,1)25,26とには、分周器7で分周された同一の分周Clock112が供給されている。
【0040】
ノースブリッジ(0)13内の同期制御部(0)15は同期バッファ(0〜3)151,152,154,155と、制御回路153とから構成されている。PCI−Expressインタフェース(0)103から受信したパケットは、PCI−Express制御部(0)19から同期バッファ(0)152に書込まれ、その後、制御回路153の制御によって同期バッファ(1)151に転送され、その他の制御部13に送られる。
【0041】
PCI−Expressインタフェース(0)103に送信するパケットは、その他の制御部13から同期バッファ(2)154に書込まれ、その後、制御回路153の制御によって同期バッファ(3)155に転送され、PCI−Express制御部(0)17に送られる。
【0042】
ノースブリッジ(0)13内の同期制御部(1)16と、ノースブリッジ(1)23内の同期制御部(0)25及び同期制御部(1)26とにおいても、上記の同期制御部(0)15と同様の動作が行われる。
【0043】
I/Oバスブリッジ(0)31内の同期制御部34は受信バッファ(0〜2)341〜343と、送信バッファ(0〜2)344〜346と、セレクタ347と、制御回路348とから構成されている。
【0044】
両方のPCI−Expressインタフェース(0,2)103,105から受信したパケットは、PCI−Express制御部(0,1)32,33から受信バッファ(0,1)341,342に書込まれ、その後、セレクタ347によって選択された方のみ受信バッファ(2)343に書込まれ、もう片方は破棄される。その後、そのパケットはその他の制御部35に送られる。
【0045】
PCI−Expressインタフェース1に送信するパケットは、その他の制御部35から送信バッファ(0)344に書込まれ、その後、制御回路348の制御によって送信バッファ(1,2)345,346に同時に転送され、PCI−Express制御部(0,1)32,33に送られる。
【0046】
この図2を参照して本発明の一実施例によるフォールトトレラントシステムの動作について説明する。
【0047】
I/Oバスブリッジ(0)31内の同期制御部34は送信バッファ(0)344に有効なパケットが存在し、かつ送信バッファ(1,2)345,346の両方共、パケットの書込みが可能な状態であるならば、送信バッファ(1,2)345,346に対して、同時に同じパケットを転送する。その後、PCI−Express制御部(0,1)32,33は各々別々のタイミングで送信バッファ(1,2)345,346からパケットを読出し、PCI−Expressインタフェース(0,2)103,105に送信する。これによって、ノースブリッジ(0,1)13,23には同じパケットが送信される。
【0048】
ノースブリッジ(0)13内のPCI−Express制御部(0)17とノースブリッジ(1)23内のPCI−Express制御部(0)27とは、I/Oバスブリッジ(0)31からPCI−Expressインタフェース(0,2)103,105経由で送られてきたパケットを受信し、同期制御部(0)15の同期バッファ(0)152及び同期制御部(0)25の同期バッファ(0)252に書込む。PCI−Expressインタフェース(0,2)103,105は非同期インタフェースなので、パケットを受信し、同期バッファ(0)152,252に書込むタイミングは両ノースブリッジ(0,1)13,23で異なっている。
【0049】
ノースブリッジ(0)13内の同期制御部(0)15は同期バッファ(0)152に有効なパケットが存在し、同期バッファ(1)151が空いている場合、分周Clock112の立上りのタイミングでInbound同期Ack信号(1)114をアサートする。
【0050】
同様に、ノースブリッジ(1)23内の同期制御部(0)25は同期バッファ(0)252に有効なパケットが存在し、同期バッファ(1)251が空いている場合、分周Clock112の立上りのタイミングでInbound同期Ack信号(0)113をアサートする。
【0051】
分周Clock112の立上りのタイミングで、両方のInbound同期Ack信号(0,1)113,114がアサートされていた場合、同期制御部(0)15,25は各々同期バッファ(0)152,252から同期バッファ(1)151,251へのパケットの転送を開始する。
【0052】
これによって、I/Oバスブリッジ(0)31が送信したパケットはノースブリッジ(0)13内の同期バッファ(1)151とノースブリッジ(1)23内の同期バッファ(1)251とにまったく同じタイミングで書込まれるようになり、ノースブリッジ(0)13内のその他の制御部14とノースブリッジ(1)23内のその他の制御部24とは同期制御部(0)15,25から同時にパケットを読出すことが可能になる。
【0053】
ノースブリッジ(0)13内のその他の制御部14はI/Oバスブリッジ(0)31方向に送るパケットがある場合、同期制御部(0)15の同期バッファ(2)154が空いているならば、パケットを書込む。同様に、ノースブリッジ(1)23内のその他の制御部24はI/Oバスブリッジ(1)41方向に送るパケットがある場合、同期制御部(0)25の同期バッファ(2)251が空いているならば、パケットを書込む。
【0054】
同期制御部(0)15は同期バッファ(3)155が空いている場合、分周Clock112の立上りのタイミングでOutbound同期Ack信号(1)116をアサートする。同様に、ノースブリッジ(1)23内の同期制御部(0)25は同期バッファ(3)255が空いている場合、分周Clock112の立上りのタイミングでOutbound同期Ack信号(0)115をアサートする。
【0055】
分周Clock112の立上りのタイミングで、両方のOutbound同期Ack信号(0,1)115,116がアサートされていた場合、同期制御部(0)15,25は各々同期バッファ(2)154,254から同期バッファ(3)155,255へのパケットの転送を開始する。
【0056】
これによって、ノースブリッジ(0)13内の同期バッファ(2)154と、ノースブリッジ(1)23内の同期バッファ(2)254とからはまったく同じタイミングで、パケットが読出される。すなわち、同期バッファ(2)154,254の空き状況は両方のノースブリッジ(0,1)13,23で同期することになり、ノースブリッジ(0)13内のその他の制御部14とノースブリッジ(1)23内のその他の制御部24とは同期制御部(0)15,25に同時にパケットを書込むことが可能になる。
【0057】
その後、PCI−Express制御部(0)17,27は各々別々のタイミングで同期バッファ(3)155,255からパケットを読出し、PCI−Expressインタフェース(0,2)103,105に送信する。
【0058】
I/Oバスブリッジ(0)31内のPCI−Express制御部(0,1)32,33は、ノースブリッジ(0,1)13,23からPCI−Expressインタフェース(0,2)103,105経由で送られてきたパケットを受信し、同期制御部34の受信バッファ(0,1)341,342に書込む。
【0059】
PCI−Expressインタフェース(0,2)103,105は非同期インタフェースであり、両方のノースブリッジ(0,1)13,23がパケットを発行するタイミングも別々なので、パケットを受信し、受信バッファ(0,1)341,342に書込むタイミングは異なっている。
【0060】
I/Oバスブリッジ(0)31内の同期制御部34は受信バッファ(0,1)341,342の両方に有効なパケットがある場合、受信バッファ(0,1)341,342からのパケット読出しを同時に実施し、片方からのパケットのみを受信バッファ(2)343に書込む。
【0061】
これらによって、本実施例では、PCI−Express制御部が同期して動作しなくても、ノースブリッジ(0)13内のその他の制御部14とノースブリッジ(1)23内のその他の制御部24とは、まったく同じ動作をすることが可能となる。その結果、プロセッサ(0,1)11,21はまったく同じ動作をすることが可能となる。
【0062】
図3は図2の同期バッファ(2)154,254から同期バッファ(3)155,255へのパケットの転送動作を示すタイムチャートであり、図4は図2の同期バッファ(0)152,252から同期バッファ(1)151,251へのパケットの転送動作を示すタイムチャートである。これら図1〜図4を参照して周辺装置(0,2)5,6へのアクセスにともなうPCI−Xデバイス(0,2)36,46へのリード動作について説明する。
【0063】
プロセッサ(0)11がプロセッサバス(0)101に発行したPCI−Xデバイス(0)36へのリードリクエストは、ノースブリッジ(0)13内のその他の制御部14が受取り、PCI−Expressインタフェース(0〜3)103〜106での送受信に合った形(パケットと呼ぶ)に変更される。その後、このパケットは同期制御部(0)15の同期バッファ(2)154が空ならば、同期バッファ(2)154に書込まれる。
【0064】
プロセッサ(0)11とプロセッサ(1)21とはまったく同じように動作しているため、プロセッサ(1)21はプロセッサ(0)11と同じタイミングでPCI−Xデバイス(0)36へのリードリクエストをプロセッサバス(1)102に発行する。このリードリクエストはノースブリッジ(1)23内のその他の制御部24が受取り、パケットに変更された後、同期制御部(0)25の同期バッファ(2)254が空ならば、同期バッファ(2)254に書込まれる。書込まれるパケットの中身及び書込みのタイミングは同期バッファ(2)154と同期バッファ(2)254とでまったく同じである。
【0065】
制御回路153,253はOutbound同期Ack信号(0,1)115,116を使用してタイミングを合わせ、同時に同期バッファ(2)154,254から同期バッファ(3)155,255にパケットを転送する。同期バッファ(3)155,255に書込まれたパケットは両方のノースブリッジ(0,1)13,23で別々のタイミングで、PCI−Express制御部(0)17,27によって読出され、PCI−Expressインタフェース(0,2)103,105に送信される。
【0066】
この場合、タイミングが別々なのは、PCI−Expressインタフェース(0,2)103,105が非同期インタフェースであり、かつ再送等の動作があるため、PCI−Expressインターフェース(0,2)103,105の動きが異なるためである。
【0067】
次に、同期バッファ(2)154,254から同期バッファ(3)155,255へのパケットの転送について図3を参照して説明する。
【0068】
制御回路153は同期バッファ(3)155が空(すなわち、ライトアドレスとリードアドレスとが同じ値)ならば、分周Clock112の立上りのタイミングで、Outbound同期Ack信号(1)116をアサートする(図3の“0”のタイミング)。
【0069】
同様に、制御回路253は同期バッファ(3)255が空ならば、分周Clock112の立上りのタイミングで、Outbound同期Ack信号(0)115をアサートする(図3の“6”のタイミング)。本実施例ではPCI−Express制御部(0)27のパケット送信がPCI−Express制御部(0)17より遅れているものとする。そのため、制御回路253は制御回路153と同じタイミングではOutbound同期Ack信号(0)115をアサートすることができない。
【0070】
制御回路153は自分がアサートするOutbound同期Ack信号(1)116と、制御回路253がアサートするOutbound同期Ack信号(0)115との両信号がアサートされていて、かつ同期バッファ(2)154にパケットが存在する場合、分周Clock112の立上りのタイミングで、同期バッファ(3)155へのパケットの転送を開始する(図3の“12”のタイミング)。
【0071】
同様に、制御回路253は自分がアサートするOutbound同期Ack信号(0)115と、制御回路153がアサートするOutbound同期Ack信号(1)116との両信号がアサートされていて、かつ同期バッファ(2)254にパケットが存在する場合、分周Clock112の立上りのタイミングで、同期バッファ(3)255へのパケットの転送を開始する(図3の“12”のタイミング)。
【0072】
このタイミングは制御回路153と制御回路253とでまったく同じであり、その結果、同期バッファ(2)154が空になるタイミングと、同期バッファ(2)254が空になるタイミング(図3の“17”のタイミング)もまったく同じになる。すなわち、次のパケットを、その他の制御部14が同期バッファ(2)154に書込めるようになるタイミングと、その他の制御部24が同期バッファ(2)254に書込めるようになるタイミングとがまったく同じになる。
【0073】
PCI−Express制御部(0)17によってPCI−Expressインタフェース(0)103に送信されたパケットは、I/Oバスブリッジ(0)31内のPCI−Express制御部(0)32によって受信され、受信バッファ(0)341が空ならば、受信バッファ(0)341に書込まれる。
【0074】
同様に、PCI−Express制御部(0)27によってPCI−Expressインタフェース(2)105に送信されたパケットは、I/Oバスブリッジ(0)31内のPCI−Express制御部(1)33によって受信され、受信バッファ(1)342が空ならば、受信バッファ(1)342に書込まれる。書込まれるパケットの中身は、受信バッファ(0,1)341,342で同じであるが、PCI−Expressインタフェース(0,1)103,105が非同期インタフェースであり、かつ再送等の動作があるため、書込みのタイミングはまったく異なっている。
【0075】
制御回路348は受信バッファ(0,1)341,342にパケットがある時に、受信バッファ(2)343へのパケットの転送を実施する。その際、受信バッファ(0,1)341,342を同時に読出すが、セレクタ347によってどちらかのみが選択され、もう片方のパケットは破棄される。その後、その他の制御部35が受信バッファ(2)343からパケットを読出し、PCI−Xバス(0)107にリードリクエストとして発行する。
【0076】
PCI−Xバス(0)107に発行されたリードリクエストは、PCI−Xデバイス(0)36によって受信され、PCI−Xデバイス(0)36はリードリクエストに対するリードレスポンスをPCI−Xバス(0)107に発行する。
【0077】
PCI−Xバス(0)36に発行されたリードレスポンスは、I/Oバスブリッジ(0)31内のその他の制御部35が受取り、パケットに変更された後、同期制御部34の送信バッファ(0)344が空ならば、送信バッファ(0)344に書込まれる。制御回路348は送信バッファ(1,2)345,346の両方が空の時に、送信バッファ(0)344から送信バッファ(1,2)345,346への転送を実施する。
【0078】
送信バッファ(1,2)345,346に書込まれたパケットの中身及び書込みのタイミングはまったく同じである。送信バッファ(1,2)345,346に書込まれたパケットは、別々のタイミングでPCI−Express制御部(0,1)32,33によって読出され、PCI−Expressインタフェース(0,2)103,105に送信される。
【0079】
PCI−Express制御部(0)32によってPCI−Expressインタフェース(0)103に送信されたパケットは、ノースブリッジ(0)13内のPCI−Express制御部(0)17によって受信され、同期バッファ(0)152が空ならば、同期バッファ(0)152に書込まれる。
【0080】
同様に、PCI−Express制御部(1)33によってPCI−Expressインタフェース(2)105に送信されたパケットは、ノースブリッジ(1)23内のPCI−Express制御部(0)27によって受信され、同期バッファ(0)252が空ならば、同期バッファ(0)252に書込まれる。
【0081】
同期バッファ(0,1)152,252に書込まれたパケットの中身はまったく同じであるが、書込まれるタイミングはまったく別々である。制御回路153,253はInbound同期Ack信号(0,1)113,114を使用してタイミングを合わせ、同時に同期バッファ(0)152,252から同期バッファ(1)151,251にパケットを転送する。
【0082】
同期バッファ(1)151,251に書込まれたパケットは、両方のノースブリッジ(0,1)13,23で同じタイミングで、その他の制御部14,24によって読出され、プロセッサバス(0,1)101,102に送信される。
【0083】
続いて、同期バッファ(0)152,252から同期バッファ(1)151,251へのパケットの転送について図4を参照して説明する。
【0084】
制御回路153は同期バッファ(0)152にパケットがありかつ同期バッファ(1)151が空ならば、分周Clock112の立上りのタイミングでInbound同期Ack信号(1)114をアサートする(図4の“2”のタイミング)。
【0085】
同様に、制御回路253は同期バッファ(0)252にパケットがありかつ同期バッファ(1)251が空ならば、分周Clock112の立上りのタイミングでInbound同期Ack信号(0)115をアサートする(図4の“8”のタイミング)。
【0086】
本実施例ではPCI−Express制御部(0)27のパケット受信がPCI−Express制御部(0)17より遅れているものとする。そのため、制御回路253は制御回路153と同じタイミングではInbound同期Ack信号(0)115をアサートすることができない。
【0087】
制御回路153は自分がアサートするInbound同期Ack信号(1)116と、制御回路253がアサートするInbound同期Ack信号(0)115との両信号がアサートされている場合、分周Clock112の立上りのタイミングで、同期バッファ(1)151へのパケットの転送を開始する(図4の“14”のタイミング)。
【0088】
同様に、制御回路253は自分がアサートするInbound同期Ack信号(0)115と、制御回路153がアサートするInbound同期Ack信号(1)116との両信号がアサートされてる場合、分周Clock112の立上りのタイミングで、同期バッファ(1)251へのパケットの転送を開始する(図4の“14”のタイミング)。
【0089】
このタイミングは制御回路153,253でまったく同じであり、その結果、その他の制御部14が同期バッファ(1)151から読出せるようになるタイミングと、その他の制御部24が同期バッファ(1)251から読出せるようになるタイミングもまったく同じになる。
【0090】
その後、その他の制御部14,24は、まったく同じタイミングで同期バッファ(1)151,251からパケットを読出し、まったく同じタイミングでプロセッサバス(0,1)101,102にリードレスポンスとして発行する。その結果、プロセッサ(0)11がリードレスポンスを受取るタイミングと、プロセッサ(1)21がリードレスポンスを受取るタイミングも、まったく同じとなる。
【0091】
このように、本実施例では、汎用の次世代I/Oインタフェースを用いてフォルトトレラントシステムを実現することができるようになるので、デファクトとなりうる次世代I/OインタフェースであるPCI−Expressインタフェースやその他の非同期インタフェースを、ノースブリッジ(0,1)13,23とI/Oバスブリッジ(0,1)31,41との間の接続として使用したフォルトトレラントシステムを構成することができるため、フォルトトレラントシステム開発のコストが低減する。
【0092】
本実施例では、各プロセッサユニット(0,1)1,2に1つのプロセッサ(0,1)11,21、各I/Oユニット(0,1)3,4に1つのPCI−Xバス(0,1)107,108を持つシステムについて説明しているが、ユニット内のプロセッサ数及びPCI−Xバス数について制限はない。
【0093】
また、I/Oユニット(0,1)3,4内のI/Oバスは、PCI−Xバス(0,1)107,108ではなく、PCIバスやAGP(Accelerated Graphics Port)インタフェース、PCI−Expressインタフェース等の他のインタフェースでも良い。
【0094】
さらに、本実施例では、各ユニットが二重化されたフォルトトレラントシステムについて説明しているが、三重化等のより多重度の高いフォルトトレラントシステムにも拡張することができる。
【0095】
【発明の効果】
以上説明したように本発明は、上記のような構成及び動作とすることで、PCI−Expressインタフェースやその他の非同期インタフェースをノースブリッジとI/Oバスブリッジとの間の接続として使用したシステムを構成することができるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の一実施例によるフォルトトレラントシステムの構成を示すブロック図である。
【図2】図1の同期制御部の詳細な構成を示すブロック図である。
【図3】図2の同期バッファ(2)から同期バッファ(3)へのパケットの転送動作を示すタイムチャートである。
【図4】図2の同期バッファ(0)から同期バッファ(1)へのパケットの転送動作を示すタイムチャートである。
【符号の説明】
1,2 プロセッサユニット
3,4 I/Oユニット
5,6 周辺装置
7 分周器
11,21 プロセッサ
12,22 メインメモリ
13,23 ノースブリッジ
14,24,34,44 その他の制御部
15,16,25,26,
34,44 同期制御部
17,18,27,28,
32,33,42,43 PCI−Express制御部
31,41 I/O(入出力)バスブリッジ
36,46 PCI−Xデバイス
101,102 プロセッサバス
103〜106 PCI−Expressインタフェース
107,108 PCI−Xバス
112 分周Clock
113,114 Inbound同期Ack信号
115,116 Outbound同期Ack信号
151,152,154,
155,251,252,
254,255 同期バッファ
153,253,348 制御回路
341〜343 受信バッファ
344〜346 送信バッファ
347 セレクタ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a fault tolerant system and a synchronization method used therefor, and more particularly to a synchronization method in a fault tolerant system configured by duplicating each unit.
[0002]
[Prior art]
Conventionally, in this type of fault-tolerant system, a synchronous interface such as a PCI (Peripheral Component Interconnect) bus is used as an interface in a chipset, whereby the processor unit operates in exactly the same way (for example, patents) Reference 1).
[0003]
Many chip sets used in general computer systems use a synchronous interface, and it is possible to configure a fault-tolerant system by using them.
[0004]
[Patent Document 1]
Japanese Unexamined Patent Publication No. 7-073059 (pages 12-16, FIG. 1)
[0005]
[Problems to be solved by the invention]
However, in conventional fault-tolerant systems, high-speed peripheral devices and networks require high-speed I / O (input / output) buses. It is becoming necessary.
[0006]
Conventionally, a synchronous interface such as a PCI bus has a limitation in speeding up due to a problem such as a clock skew. Therefore, an asynchronous interface such as PCI-Express is expected to be used in the future.
[0007]
However, in the asynchronous interface, in the data transfer to a plurality of counterparts, for example, even when the transmission side starts the transfer at the same time, the receiving side receives different timings. In addition, in the PCI-Express interface, when an error occurs on the interface, the receiving side requests the transmitting side to retransmit the part in which the error has occurred, and therefore the receiving side may have different timings for receiving valid data. is there.
[0008]
This means that in a fault-tolerant system, if an asynchronous interface is used as an interface in a chipset, the operation of the duplicated processor unit will be different. Since fault-tolerant systems require, at a minimum, redundant processors to behave in exactly the same way, configure a fault-tolerant system using a chipset that uses an asynchronous interface as the interface within the chipset. I can't.
[0009]
Accordingly, an object of the present invention is to solve the above-mentioned problems and to make a fault tolerant capable of configuring a system using a PCI-Express interface or other asynchronous interface as a connection between a north bridge and an I / O bus bridge. It is to provide a system and a synchronization method used therefor.
[0010]
[Means for Solving the Problems]
  The fault tolerant system according to the present invention comprises:Multiple control circuitsWhenMultipleInput and outputapparatusAnd byManyA fault-tolerant system configured by overlapping and using an asynchronous interface as an interface between the control circuit and the input / output device,
  Each of the control circuits includes synchronization control means,
  Each of the synchronization control means is configured such that data transmitted and received asynchronously between the control circuit and the input / output device via the asynchronous interface can be transmitted and received in the control circuit including the synchronization control means. , Notify each otheris doing.
[0011]
  The synchronization method according to the present invention comprises:A fault tolerant configured by multiplexing with a plurality of control circuits and a plurality of input / output devices, each of the control circuits having a synchronous control means, and using an asynchronous interface as an interface between the control circuit and the input / output devices A system synchronization method comprising:
Each of the synchronization control means can transmit / receive data that is asynchronously transmitted / received between the control circuit and the input / output device via the asynchronous interface in the control circuit including the synchronization control means. , Notify each otheris doing.
[0012]
That is, the synchronization method of the present invention is a synchronization method in a fault tolerant system using an asynchronous interface, and an asynchronous interface such as a PCI (Peripheral Component Interconnect) -Express interface is connected to a north bridge and an I / O (input / output) bus bridge. In the fault-tolerant system used as the interface between the two, the north bridge transmits and receives packets to and from the PCI-Express control unit based on a synchronous Ack (Acknowledgement) signal that operates in synchronization with the divided clock in the north bridge. By providing a synchronization control unit for synchronization, both processors can operate in exactly the same way.
[0013]
More specifically, in the fault-tolerant system of the present invention, the synchronization control unit in the I / O bus bridge (0) has a valid packet in the transmission buffer (0), and is transmitted to the transmission buffer (1). If the packet can be written to both the buffer (2), the same packet is simultaneously transferred to the transmission buffer (1) and the transmission buffer (2).
[0014]
Thereafter, in the fault-tolerant system of the present invention, the PCI-Express control unit (0) and the PCI-Express control unit (1) read packets from the transmission buffer (1) and the transmission buffer (2) at different timings, respectively. , To the PCI-Express interface. As a result, the same packet is transmitted to the north bridge (0) and the north bridge (1).
[0015]
The PCI-Express control unit (0) in the north bridge (0) and the PCI-Express control unit (0) in the north bridge (1) are transmitted from the I / O bus bridge (0) via the PCI-Express interface. The received packet is received, and the packet is synchronized with the synchronization buffer (0) of the synchronization control unit (0) in the north bridge (0) and the synchronization buffer (0) of the synchronization control unit (0) in the north bridge (1). Written in. Since the PCI-Express interface is an asynchronous interface, the timing for receiving a packet and writing to the synchronous buffer (0) is different between both north bridges (0) and (1).
[0016]
When the synchronization control unit (0) in the north bridge (0) has a valid packet in the synchronization buffer (0) and the synchronization buffer (1) is free, the Inbound synchronization Ack signal is generated at the rising timing of the frequency division clock. Assert (1). Similarly, the synchronization control unit (0) in the north bridge (1) has an effective packet in the synchronization buffer (0), and when the synchronization buffer (1) is free, the Inbound at the rising timing of the divided clock. Assert the synchronous Ack signal (0).
[0017]
When both Inbound synchronization Ack signals (0) and (1) are asserted at the rising timing of the frequency-divided clock, the synchronization control units (0) and (1) are respectively synchronized from the synchronization buffer (0) to the synchronization buffer (1 Start forwarding packets to).
[0018]
As a result, the packet transmitted by the I / O bus bridge (0) is written to the synchronization buffer (1) in the north bridge (0) and the synchronization buffer (1) in the north bridge (1) at exactly the same timing. Thus, the other control units in the north bridge (0) and the other control units in the north bridge (1) can simultaneously read packets from the synchronization control unit.
[0019]
When there is a packet to be sent in the direction of the I / O bus bridge (0), the other control unit in the north bridge (0) writes the packet if the synchronization buffer (2) of the synchronization control unit (0) is free. . Similarly, when there is a packet to be sent to the other control unit in the north bridge (1) in the direction of the I / O bus bridge (1), the packet is transmitted if the synchronization buffer (2) of the synchronization control unit (0) is free. Write.
[0020]
When the synchronization buffer (3) is free, the synchronization control unit (0) in the north bridge (0) asserts the Outbound synchronization Ack signal (1) at the rising timing of the divided clock. Similarly, the synchronization control unit (0) in the north bridge (1) asserts the Outbound synchronization Ack signal (0) at the rising timing of the divided clock when the synchronization buffer (3) is free.
[0021]
If both Outbound synchronization Ack signals (0) and (1) are asserted at the rising timing of the frequency division clock, the synchronization control unit (0) in the north bridge (0) and the north bridge (1) Each of the synchronization control units (0) starts packet transfer from the synchronization buffer (2) to the synchronization buffer (3).
[0022]
Thus, packets are read out from the synchronization buffer (2) in the north bridge (0) and the synchronization buffer (2) in the north bridge (1) at exactly the same timing, that is, the synchronization buffer (2). The vacant state of both the north bridges (0) and (1) is synchronized, and the other control units in the north bridge (0) and the other control units in the north bridge (1) are synchronized control units. It is possible to simultaneously write packets to
[0023]
Thereafter, the PCI-Express control unit (0) in the North Bridge (0) and the PCI-Express control unit (0) in the North Bridge (1) read packets from the synchronization buffer (3) at different timings. , To the PCI-Express interface.
[0024]
The PCI-Express control units (0), (1) in the I / O bus bridge (0) receive the packets sent from the north bridges (0), (1) via the PCI-Express interface, and synchronize them. Write to the reception buffer (0) and the reception buffer (1) of the control unit.
[0025]
The PCI-Express interface is an asynchronous interface, and the timing at which both north bridges (0) and (1) issue packets is different, so the timing at which packets are received and written into the reception buffer is different. When there is a valid packet in both the reception buffer (0) and the reception buffer (1), the synchronization control unit in the I / O bus bridge (0) starts from the reception buffer (0) and the reception buffer (1). Are simultaneously read, and only packets from one side are written to the reception buffer.
[0026]
Thus, in the fault-tolerant system of the present invention, even if the PCI-Express control unit does not operate synchronously, the other control units in the north bridge (0) and the other control units in the north bridge (1) However, it is possible to perform exactly the same operation. As a result, the processor (0) and the processor (1) can perform exactly the same operation.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the configuration of a fault tolerant system according to an embodiment of the present invention. In FIG. 1, a fault tolerant system according to an embodiment of the present invention includes a peripheral component interconnect (PCI) -express interface (0-3) 103-106, a north bridge (0,1) 13, 23 and an I / O (input). Output) Used as an interface between the bus bridges (0, 1) 31, 41, and each component is duplicated.
[0028]
A fault tolerant system according to an embodiment of the present invention includes processor units (0, 1) 1 and 2, I / O units (0, 1) 3 and 4, processor units (0, 1) 1 and 2, and I / O. It consists of four PCI-Express interfaces (0 to 3) 103 to 106 connecting the O units (0, 1) 3 and 4.
[0029]
The processor unit (0) 1 includes a processor (0) 11, a processor bus (0) 101, a main memory (0) 12, and a north bridge (0) 13. Similarly, the processor unit (1) 2 includes a processor (1) 21, a processor bus (1) 102, a main memory (1) 22, and a north bridge (0) 23.
[0030]
The I / O unit (0) 3 includes an I / O bus bridge (0) 31, a PCI-X bus (0) 107, and a PCI-X device (0) 36. Similarly, the I / O unit (1) 4 includes an I / O bus bridge (1) 41, a PCI-X bus (2) 108, and a PCI-X device (2) 46.
[0031]
Both of these I / O units (0, 1) 3 and 4 are equipped with the same PCI-X device. The PCI-X device (0) 36 is connected to the peripheral device (0) 5, and the PCI-X device (2) 46 is connected to the peripheral device (2) 6.
[0032]
The two processors (0, 1) 11 and 21 normally perform exactly the same operation. When a failure or the like occurs in one processor unit, the processor unit is disconnected and the entire system continues to operate using only the other processor unit.
[0033]
In writing data to the peripheral device, first the peripheral device (0) 5 is written, and then the same data is also written to the peripheral device (2) 6. The read is normally read only from the peripheral device (0) 5, but if the peripheral device (0) 5 cannot be accessed due to disconnection of the I / O unit (0) 3 due to a failure, the peripheral device (0) 2) Lead from 6. Since the two processors (0, 1) 11 and 21 are operating in exactly the same manner, both processors request data writing / reading to the peripheral device at the same time.
[0034]
The north bridge (0) 13 includes PCI-Express control units (0, 1) 17, 18 for controlling packet transmission / reception to the PCI-Express interfaces (0.1) 103, 104, and the north bridge (0) 13 Synchronous control units (0, 1) 15 and 16 that synchronize reading / writing of packets coming from other parts via the PCI-Express interface with the north bridge (1) 23 side, and other operations (processor bus control, etc.) It is comprised from the other control part 14 to perform.
[0035]
Similarly, the north bridge (1) 23 includes PCI-Express control units (0, 1) 27 and 28 that respectively control packet transmission / reception with respect to the PCI-Express interfaces (2, 3) 105 and 106, and the north bridge (1). 23. Synchronous control units (0, 1) 25 and 26 that synchronize reading and writing of packets coming from other parts within the network 23 via the PCI-Express interface with the north bridge (0) 13 side, and other operations that perform other operations It is comprised from the control part 24. FIG.
[0036]
The I / O bus bridge (0) 31 includes PCI-Express control units (0, 1) 32 and 33 that respectively control packet transmission / reception to the PCI-Express interfaces (0, 2) 103 and 105, and two PCI-Express. It is composed of a synchronous control unit 34 that reads and writes packets simultaneously with respect to the control units (0, 1) 32 and 33, and another control unit 35 that performs other operations (PCI-X bus control and the like).
[0037]
Similarly, the I / O bus bridge (1) 41 includes PCI-Express control units (0, 1) 42, 43 for controlling packet transmission / reception to the PCI-Express interfaces (1, 3) 104, 106, and the like. It comprises a synchronous control unit 44 that simultaneously reads and writes packets to and from the PCI-Express control units (0, 1) 42 and 43, and another control unit 45 that performs other operations.
[0038]
FIG. 2 is a block diagram showing a detailed configuration of the synchronization control unit of FIG. In FIG. 2, the synchronization control unit (0) 15 in the north bridge (0) 13 and the synchronization control unit (0) 25 in the north bridge (1) 23 are Inbound synchronization Ack signals (0 to 1) 113, 114. And the Outbound synchronization Ack signals (0 to 1) 115 and 116.
[0039]
Although not shown in FIG. 2, the synchronization control unit (1) 16 in the north bridge (0) 13 and the synchronization control unit (1) 26 in the north bridge (1) 23 are also signal lines similar to the above. It is connected. The frequency divider 7 is connected to the synchronization control units (0, 1) 15 and 16 in the north bridge (0) 13 and the synchronization control units (0, 1) 25 and 26 in the north bridge (1) 23. The same frequency-divided clock 112 that has been frequency-divided at is supplied.
[0040]
The synchronization controller (0) 15 in the north bridge (0) 13 includes synchronization buffers (0 to 3) 151, 152, 154, 155 and a control circuit 153. The packet received from the PCI-Express interface (0) 103 is written from the PCI-Express control unit (0) 19 to the synchronization buffer (0) 152, and then to the synchronization buffer (1) 151 under the control of the control circuit 153. It is transferred and sent to the other control unit 13.
[0041]
The packet to be transmitted to the PCI-Express interface (0) 103 is written to the synchronization buffer (2) 154 from the other control unit 13, and then transferred to the synchronization buffer (3) 155 under the control of the control circuit 153. -It is sent to the Express control unit (0) 17.
[0042]
The synchronization control unit (1) 16 in the north bridge (0) 13 and the synchronization control unit (0) 25 and the synchronization control unit (1) 26 in the north bridge (1) 23 are also described above. 0) The same operation as 15 is performed.
[0043]
The synchronization control unit 34 in the I / O bus bridge (0) 31 includes reception buffers (0 to 2) 341 to 343, transmission buffers (0 to 2) 344 to 346, a selector 347, and a control circuit 348. Has been.
[0044]
Packets received from both PCI-Express interfaces (0, 2) 103, 105 are written from the PCI-Express control units (0, 1) 32, 33 to the reception buffers (0, 1) 341, 342, and thereafter. Only the one selected by the selector 347 is written into the reception buffer (2) 343, and the other is discarded. Thereafter, the packet is sent to the other control unit 35.
[0045]
Packets to be transmitted to the PCI-Express interface 1 are written to the transmission buffer (0) 344 from the other control unit 35, and then simultaneously transferred to the transmission buffers (1, 2) 345 and 346 under the control of the control circuit 348. Are sent to the PCI-Express control units (0, 1) 32, 33.
[0046]
The operation of the fault tolerant system according to the embodiment of the present invention will be described with reference to FIG.
[0047]
The synchronization control unit 34 in the I / O bus bridge (0) 31 has a valid packet in the transmission buffer (0) 344, and both the transmission buffers (1, 2) 345 and 346 can write packets. If this is the case, the same packet is simultaneously transferred to the transmission buffers (1, 2) 345, 346. Thereafter, the PCI-Express control units (0, 1) 32, 33 read the packets from the transmission buffers (1, 2) 345, 346 at different timings and transmit them to the PCI-Express interfaces (0, 2) 103, 105. To do. As a result, the same packet is transmitted to the north bridges (0, 1) 13 and 23.
[0048]
The PCI-Express control unit (0) 17 in the north bridge (0) 13 and the PCI-Express control unit (0) 27 in the north bridge (1) 23 are connected from the I / O bus bridge (0) 31 to the PCI- A packet sent via the Express interface (0, 2) 103, 105 is received, and the synchronization buffer (0) 152 of the synchronization control unit (0) 15 and the synchronization buffer (0) 252 of the synchronization control unit (0) 25 are received. Write to. Since the PCI-Express interfaces (0, 2) 103 and 105 are asynchronous interfaces, the timing of receiving packets and writing them into the synchronous buffers (0) 152 and 252 is different between both north bridges (0, 1) 13 and 23. .
[0049]
The synchronization control unit (0) 15 in the north bridge (0) 13 has a valid packet in the synchronization buffer (0) 152, and the synchronization buffer (1) 151 is free. Inbound synchronous Ack signal (1) 114 is asserted.
[0050]
Similarly, the synchronization control unit (0) 25 in the north bridge (1) 23 has a valid packet in the synchronization buffer (0) 252, and when the synchronization buffer (1) 251 is free, the rising edge of the frequency division clock 112 The Inbound synchronous Ack signal (0) 113 is asserted at this timing.
[0051]
When both Inbound synchronization Ack signals (0, 1) 113 and 114 are asserted at the rising timing of the frequency division clock 112, the synchronization control units (0) 15 and 25 are synchronized with the synchronization buffers (0) 152 and 252, respectively. The packet transfer to the synchronization buffer (1) 151, 251 is started.
[0052]
As a result, the packet transmitted by the I / O bus bridge (0) 31 is exactly the same as the synchronization buffer (1) 151 in the north bridge (0) 13 and the synchronization buffer (1) 251 in the north bridge (1) 23. The other control unit 14 in the north bridge (0) 13 and the other control unit 24 in the north bridge (1) 23 simultaneously receive packets from the synchronization control units (0) 15 and 25. Can be read out.
[0053]
If there is a packet sent to the other control unit 14 in the north bridge (0) 13 in the direction of the I / O bus bridge (0) 31, the synchronization buffer (2) 154 of the synchronization control unit (0) 15 is free. Write the packet. Similarly, when there is a packet sent to the other control unit 24 in the north bridge (1) 23 in the direction of the I / O bus bridge (1) 41, the synchronization buffer (2) 251 of the synchronization control unit (0) 25 is empty. If so, write the packet.
[0054]
When the synchronization buffer (3) 155 is empty, the synchronization control unit (0) 15 asserts the Outbound synchronization Ack signal (1) 116 at the rising timing of the frequency division clock 112. Similarly, the synchronization control unit (0) 25 in the north bridge (1) 23 asserts the Outbound synchronization Ack signal (0) 115 at the rising timing of the frequency division clock 112 when the synchronization buffer (3) 255 is free. .
[0055]
When both Outbound synchronization Ack signals (0, 1) 115 and 116 are asserted at the rising timing of the frequency division clock 112, the synchronization control units (0) 15 and 25 are respectively synchronized with the synchronization buffers (2) 154 and 254. The packet transfer to the synchronization buffer (3) 155, 255 is started.
[0056]
As a result, packets are read from the synchronization buffer (2) 154 in the north bridge (0) 13 and the synchronization buffer (2) 254 in the north bridge (1) 23 at exactly the same timing. That is, the availability of the synchronization buffers (2) 154 and 254 is synchronized with both the north bridges (0, 1) 13 and 23, and the other control units 14 in the north bridge (0) 13 and the north bridge ( 1) With other control units 24 in 23, packets can be simultaneously written into the synchronization control units (0) 15, 25.
[0057]
Thereafter, the PCI-Express control units (0) 17, 27 read the packets from the synchronization buffers (3) 155, 255 at different timings, and transmit them to the PCI-Express interfaces (0, 2) 103, 105.
[0058]
The PCI-Express control units (0, 1) 32, 33 in the I / O bus bridge (0) 31 are routed from the north bridge (0, 1) 13, 23 via the PCI-Express interfaces (0, 2) 103, 105. Is received and written into the reception buffers (0, 1) 341, 342 of the synchronization control unit 34.
[0059]
The PCI-Express interfaces (0, 2) 103 and 105 are asynchronous interfaces, and the timings at which both north bridges (0, 1) 13 and 23 issue packets are also different. 1) The timing for writing to 341 and 342 is different.
[0060]
The synchronization control unit 34 in the I / O bus bridge (0) 31 reads packets from the reception buffers (0, 1) 341, 342 when there are valid packets in both the reception buffers (0, 1) 341, 342. At the same time, only the packet from one side is written into the reception buffer (2) 343.
[0061]
Accordingly, in the present embodiment, even if the PCI-Express control unit does not operate in synchronization, the other control unit 14 in the north bridge (0) 13 and the other control unit 24 in the north bridge (1) 23. It is possible to perform exactly the same operation. As a result, the processors (0, 1) 11 and 21 can perform exactly the same operation.
[0062]
FIG. 3 is a time chart showing the packet transfer operation from the synchronization buffer (2) 154, 254 of FIG. 2 to the synchronization buffer (3) 155, 255, and FIG. 4 is a synchronization buffer (0) 152, 252 of FIG. 6 is a time chart showing the transfer operation of packets from the computer to the synchronization buffers (1) 151 and 251. The read operation to the PCI-X devices (0, 2) 36, 46 accompanying the access to the peripheral devices (0, 2) 5, 6 will be described with reference to FIGS.
[0063]
The read request to the PCI-X device (0) 36 issued by the processor (0) 11 to the processor bus (0) 101 is received by the other control unit 14 in the north bridge (0) 13, and the PCI-Express interface ( 0-3) Change to a form (called a packet) suitable for transmission / reception in 103-106. Thereafter, this packet is written into the synchronization buffer (2) 154 if the synchronization buffer (2) 154 of the synchronization control unit (0) 15 is empty.
[0064]
Since the processor (0) 11 and the processor (1) 21 operate in exactly the same way, the processor (1) 21 reads the read request to the PCI-X device (0) 36 at the same timing as the processor (0) 11. Is issued to the processor bus (1) 102. This read request is received by the other control unit 24 in the north bridge (1) 23 and changed to a packet. If the synchronization buffer (2) 254 of the synchronization control unit (0) 25 is empty, the synchronization buffer (2 ) Is written to 254. The contents of the packet to be written and the timing of writing are exactly the same in the synchronization buffer (2) 154 and the synchronization buffer (2) 254.
[0065]
The control circuits 153 and 253 use the Outbound synchronization Ack signals (0, 1) 115 and 116 to adjust the timing, and simultaneously transfer the packets from the synchronization buffers (2) 154 and 254 to the synchronization buffers (3) 155 and 255. Packets written to the synchronization buffers (3) 155 and 255 are read out by the PCI-Express control units (0) 17 and 27 at different timings in both north bridges (0, 1) 13 and 23, and the PCI− It is transmitted to the Express interface (0, 2) 103, 105.
[0066]
In this case, the timing is different because the PCI-Express interface (0, 2) 103, 105 is an asynchronous interface, and there is an operation such as retransmission, so that the PCI-Express interface (0, 2) 103, 105 operates. Because it is different.
[0067]
Next, packet transfer from the synchronization buffer (2) 154, 254 to the synchronization buffer (3) 155, 255 will be described with reference to FIG.
[0068]
If the synchronization buffer (3) 155 is empty (that is, the write address and the read address have the same value), the control circuit 153 asserts the Outbound synchronization Ack signal (1) 116 at the rising timing of the frequency division clock 112 (FIG. 3 “0” timing).
[0069]
Similarly, if the synchronization buffer (3) 255 is empty, the control circuit 253 asserts the Outbound synchronization Ack signal (0) 115 at the rising timing of the divided clock 112 (timing “6” in FIG. 3). In this embodiment, it is assumed that the packet transmission of the PCI-Express control unit (0) 27 is delayed from the PCI-Express control unit (0) 17. Therefore, the control circuit 253 cannot assert the Outbound synchronization Ack signal (0) 115 at the same timing as the control circuit 153.
[0070]
The control circuit 153 asserts both the Outbound synchronization Ack signal (1) 116 asserted by itself and the Outbound synchronization Ack signal (0) 115 asserted by the control circuit 253, and the synchronization circuit (2) 154 When there is a packet, transfer of the packet to the synchronization buffer (3) 155 is started at the rising timing of the frequency-divided clock 112 (timing “12” in FIG. 3).
[0071]
Similarly, the control circuit 253 asserts both the Outbound synchronization Ack signal (0) 115 asserted by itself and the Outbound synchronization Ack signal (1) 116 asserted by the control circuit 153, and the synchronization buffer (2 ) When there is a packet at 254, transfer of the packet to the synchronization buffer (3) 255 is started at the rising timing of the divided clock 112 (timing "12" in FIG. 3).
[0072]
This timing is exactly the same between the control circuit 153 and the control circuit 253. As a result, the timing when the synchronization buffer (2) 154 becomes empty and the timing when the synchronization buffer (2) 254 becomes empty (see “17 in FIG. 3). "Timing" is exactly the same. That is, the timing at which the other control unit 14 can write the next packet to the synchronization buffer (2) 154 and the timing at which the other control unit 24 can write to the synchronization buffer (2) 254 are completely different. Be the same.
[0073]
The packet transmitted to the PCI-Express interface (0) 103 by the PCI-Express control unit (0) 17 is received and received by the PCI-Express control unit (0) 32 in the I / O bus bridge (0) 31. If buffer (0) 341 is empty, it is written to receive buffer (0) 341.
[0074]
Similarly, a packet transmitted to the PCI-Express interface (2) 105 by the PCI-Express control unit (0) 27 is received by the PCI-Express control unit (1) 33 in the I / O bus bridge (0) 31. If the reception buffer (1) 342 is empty, it is written to the reception buffer (1) 342. The contents of the packet to be written are the same in the reception buffers (0, 1) 341 and 342, but the PCI-Express interfaces (0, 1) 103 and 105 are asynchronous interfaces and have operations such as retransmission. The timing of writing is completely different.
[0075]
When there is a packet in the reception buffer (0, 1) 341, 342, the control circuit 348 transfers the packet to the reception buffer (2) 343. At this time, the reception buffers (0, 1) 341 and 342 are simultaneously read, but only one of them is selected by the selector 347, and the other packet is discarded. Thereafter, the other control unit 35 reads the packet from the reception buffer (2) 343 and issues it to the PCI-X bus (0) 107 as a read request.
[0076]
The read request issued to the PCI-X bus (0) 107 is received by the PCI-X device (0) 36, and the PCI-X device (0) 36 sends a read response to the read request to the PCI-X bus (0). Issued to 107.
[0077]
The read response issued to the PCI-X bus (0) 36 is received by the other control unit 35 in the I / O bus bridge (0) 31 and changed to a packet, and then the transmission buffer ( If 0) 344 is empty, it is written to transmit buffer (0) 344. The control circuit 348 performs transfer from the transmission buffer (0) 344 to the transmission buffer (1, 2) 345, 346 when both the transmission buffers (1, 2) 345, 346 are empty.
[0078]
The contents of the packets written in the transmission buffers (1, 2) 345 and 346 and the timing of writing are exactly the same. Packets written in the transmission buffers (1, 2) 345, 346 are read out by the PCI-Express control units (0, 1) 32, 33 at different timings, and the PCI-Express interfaces (0, 2) 103, 105.
[0079]
The packet transmitted to the PCI-Express interface (0) 103 by the PCI-Express control unit (0) 32 is received by the PCI-Express control unit (0) 17 in the north bridge (0) 13, and the synchronization buffer (0 ) 152 is empty, it is written to sync buffer (0) 152.
[0080]
Similarly, a packet transmitted to the PCI-Express interface (2) 105 by the PCI-Express control unit (1) 33 is received by the PCI-Express control unit (0) 27 in the north bridge (1) 23 and synchronized. If buffer (0) 252 is empty, it is written to synchronization buffer (0) 252.
[0081]
The contents of the packets written in the synchronization buffers (0, 1) 152 and 252 are exactly the same, but the timing of writing is completely different. The control circuits 153 and 253 use the Inbound synchronization Ack signals (0, 1) 113 and 114 to adjust the timing, and simultaneously transfer the packets from the synchronization buffers (0) 152 and 252 to the synchronization buffers (1) 151 and 251.
[0082]
The packets written in the synchronization buffers (1) 151 and 251 are read by the other control units 14 and 24 at the same timing in both the north bridges (0, 1) 13 and 23, and the processor bus (0, 1 ) 101, 102.
[0083]
Next, packet transfer from the synchronization buffer (0) 152, 252 to the synchronization buffer (1) 151, 251 will be described with reference to FIG.
[0084]
If there is a packet in the synchronization buffer (0) 152 and the synchronization buffer (1) 151 is empty, the control circuit 153 asserts the Inbound synchronization Ack signal (1) 114 at the rising timing of the frequency division clock 112 (see “ 2 "timing).
[0085]
Similarly, if there is a packet in the synchronization buffer (0) 252 and the synchronization buffer (1) 251 is empty, the control circuit 253 asserts the Inbound synchronization Ack signal (0) 115 at the rising timing of the divided clock 112 (FIG. 4 timing “8”).
[0086]
In this embodiment, it is assumed that the packet reception of the PCI-Express control unit (0) 27 is delayed from the PCI-Express control unit (0) 17. Therefore, the control circuit 253 cannot assert the Inbound synchronization Ack signal (0) 115 at the same timing as the control circuit 153.
[0087]
When both the Inbound synchronous Ack signal (1) 116 asserted by the control circuit 153 and the Inbound synchronous Ack signal (0) 115 asserted by the control circuit 253 are asserted, the rising timing of the divided clock 112 The packet transfer to the synchronous buffer (1) 151 is started (timing “14” in FIG. 4).
[0088]
Similarly, when both the Inbound synchronous Ack signal (0) 115 asserted by the control circuit 253 and the Inbound synchronous Ack signal (1) 116 asserted by the control circuit 153 are asserted, the rising edge of the divided clock clock 112 The packet transfer to the synchronous buffer (1) 251 is started at the timing (time “14” in FIG. 4).
[0089]
This timing is exactly the same in the control circuits 153 and 253. As a result, the timing at which the other control unit 14 can read from the synchronization buffer (1) 151 and the other control unit 24 in the synchronization buffer (1) 251. The timing at which data can be read from is exactly the same.
[0090]
Thereafter, the other control units 14 and 24 read the packets from the synchronization buffers (1) 151 and 251 at exactly the same timing, and issue them as read responses to the processor buses (0 and 1) 101 and 102 at exactly the same timing. As a result, the timing at which the processor (0) 11 receives the read response and the timing at which the processor (1) 21 receives the read response are exactly the same.
[0091]
As described above, in this embodiment, since a fault tolerant system can be realized using a general-purpose next-generation I / O interface, a PCI-Express interface that is a next-generation I / O interface that can be a de facto A fault tolerant system using other asynchronous interfaces as connections between the North Bridge (0,1) 13,23 and the I / O Bus Bridge (0,1) 31,41 can be configured. The cost of developing a tolerant system is reduced.
[0092]
In this embodiment, each processor unit (0,1) 1,2 has one processor (0,1) 11,21, and each I / O unit (0,1) 3,4 has one PCI-X bus ( Although the system having 0, 1) 107, 108 is described, there is no limitation on the number of processors and the number of PCI-X buses in the unit.
[0093]
The I / O buses in the I / O units (0, 1) 3 and 4 are not PCI-X buses (0, 1) 107 and 108, but a PCI bus, an AGP (Accelerated Graphics Port) interface, PCI- Other interfaces such as an Express interface may be used.
[0094]
Furthermore, in the present embodiment, a fault tolerant system in which each unit is duplicated is described, but the present invention can be extended to a fault tolerant system with higher multiplicity such as triple.
[0095]
【The invention's effect】
As described above, the present invention has a configuration and operation as described above, thereby configuring a system using a PCI-Express interface or other asynchronous interface as a connection between the north bridge and the I / O bus bridge. The effect that it can do is acquired.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a fault tolerant system according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a detailed configuration of a synchronization control unit in FIG. 1;
FIG. 3 is a time chart showing a packet transfer operation from the synchronization buffer (2) to the synchronization buffer (3) in FIG. 2;
4 is a time chart showing a packet transfer operation from the synchronization buffer (0) to the synchronization buffer (1) in FIG. 2; FIG.
[Explanation of symbols]
1, 2 processor units
3, 4 I / O unit
5,6 Peripheral device
7 divider
11, 21 processor
12,22 Main memory
13,23 North Bridge
14, 24, 34, 44 Other control units
15, 16, 25, 26,
34, 44 Synchronization control unit
17, 18, 27, 28,
32, 33, 42, 43 PCI-Express control unit
31, 41 I / O (input / output) bus bridge
36, 46 PCI-X devices
101, 102 processor bus
103-106 PCI-Express interface
107,108 PCI-X bus
112 Divided Clock
113, 114 Inbound synchronous Ack signal
115, 116 Outbound synchronous Ack signal
151, 152, 154
155, 251, 252,
254, 255 Sync buffer
153,253,348 control circuit
341 to 343 receive buffer
344 to 346 transmission buffer
347 selector

Claims (20)

複数の制御回路複数の入出力装置とによって重化して構成し、非同期インタフェースを前記制御回路と前記入出力装置との間のインタフェースとして用いるフォルトトレラントシステムであって、
前記制御回路は、それぞれ、同期制御手段を備え、
前記同期制御手段の各々は、前記非同期インタフェースを介して前記制御回路と前記入出力装置との間を非同期で送受信されるデータが当該同期制御手段を備える前記制御回路において送受信可能となったことを、それぞれ相互に通知することを特徴とするフォルトトレラントシステム。
And configure multi-duplex by a plurality of control circuits and a plurality of input and output devices, a fault tolerant system using an asynchronous interface as an interface between the input device and the control circuit,
Each of the control circuits includes synchronization control means,
Each of the synchronization control means is configured such that data transmitted and received asynchronously between the control circuit and the input / output device via the asynchronous interface can be transmitted and received in the control circuit including the synchronization control means. A fault-tolerant system characterized by notifying each other .
前記同期制御手段の各々は、前記通知により、全ての前記制御回路において前記データの送受信が可能となったことを認識した場合に、当該データの送受信を開始することを特徴とする請求項1に記載のフォルトトレラントシステム。2. Each of the synchronization control units starts transmission / reception of data when it is recognized by the notification that transmission / reception of the data is possible in all the control circuits. The fault-tolerant system described. 前記同期制御手段は、当該同期制御手段を備える前記制御回路において前記データの送受信が可能となった場合に、他の同期制御手段のそれぞれに対して同期応答信号を送信することを特徴とする請求項1または請求項2に記載のフォルトトレラントシステム。The synchronization control unit transmits a synchronization response signal to each of the other synchronization control units when the data can be transmitted and received in the control circuit including the synchronization control unit. The fault tolerant system of Claim 1 or Claim 2. 前記同期制御手段は、The synchronization control means includes
前記入出力装置から受信した前記データを格納する第1の受信バッファと、A first receive buffer for storing the data received from the input / output device;
前記第1の受信バッファから、前記第1の受信バッファに格納された前記データを受け取る第2の受信バッファとを備え、A second reception buffer for receiving the data stored in the first reception buffer from the first reception buffer;
前記同期制御手段は、前記第1の受信バッファに前記データが存在し、かつ、前記第2の受信バッファが空いている場合、当該同期制御手段を備える前記制御回路において前記データの受信が可能となったと判断することを特徴とする請求項1または請求項2に記載のフォルトトレラントシステム。The synchronization control means can receive the data in the control circuit including the synchronization control means when the data is present in the first reception buffer and the second reception buffer is empty. The fault tolerant system according to claim 1, wherein the fault tolerant system is determined.
前記同期制御手段は、当該同期制御手段を備える前記制御回路において前記データの受信が可能となったと判断した場合、他の同期制御手段のそれぞれに対して受信同期応答信号を送信することを特徴とする請求項4に記載のフォルトトレラントシステム。When the synchronization control unit determines that the data can be received in the control circuit including the synchronization control unit, the synchronization control unit transmits a reception synchronization response signal to each of the other synchronization control units. The fault tolerant system according to claim 4. 前記同期制御手段の各々は、他の全ての同期制御手段から前記受信同期応答信号を受信し、自らが他の同期制御手段のそれぞれに対して前記受信同期応答信号を送信した場合に、前記データの受信を開始することを特徴とする請求項5に記載のフォルトトレラントシステム。Each of the synchronization control means receives the reception synchronization response signal from all the other synchronization control means, and when it has transmitted the reception synchronization response signal to each of the other synchronization control means, the data The fault tolerant system according to claim 5, wherein the fault tolerant system is started. 前記同期制御手段は、The synchronization control means includes
前記制御回路から送信される前記データを格納する第1の送信バッファと、A first transmission buffer for storing the data transmitted from the control circuit;
前記第1の送信バッファから、前記第1の送信バッファに格納された前記データを受け取る第2の送信バッファとを備え、A second transmission buffer for receiving the data stored in the first transmission buffer from the first transmission buffer;
前記同期制御手段は、前記第1の送信バッファに前記データが存在し、かつ、前記第2の送信バッファが空いている場合、当該同期制御手段を備える前記制御回路から前記データの送信が可能となったと判断することを特徴とする請求項1または請求項2に記載のフォルトトレラントシステム。The synchronization control means can transmit the data from the control circuit including the synchronization control means when the data exists in the first transmission buffer and the second transmission buffer is empty. The fault tolerant system according to claim 1, wherein the fault tolerant system is determined.
前記同期制御手段は、当該同期制御手段を備える前記制御回路において前記データの送信が可能となったと判断した場合、他の同期制御手段のそれぞれに対して送信同期応答信号を送信することを特徴とする請求項7に記載のフォルトトレラントシステム。The synchronization control unit transmits a transmission synchronization response signal to each of the other synchronization control units when the control circuit including the synchronization control unit determines that the data transmission is possible. The fault tolerant system according to claim 7. 前記同期制御手段の各々は、他の全ての同期制御手段から前記送信同期応答信号を受信し、自らが他の同期制御手段のそれぞれに対して前記送信同期応答信号を送信した場合に、前記データの送信を開始することを特徴とする請求項8に記載のフォルトトレラントシステム。Each of the synchronization control means receives the transmission synchronization response signal from all the other synchronization control means, and when it transmits the transmission synchronization response signal to each of the other synchronization control means, the data The fault-tolerant system according to claim 8, wherein transmission of a message is started. 複数の入出力装置と非同期インタフェースを介して接続する制御回路であって、
他の制御回路との間の同期を制御する同期制御手段を備え、
前記同期制御手段は、前記非同期インタフェースを介して前記制御回路と前記入出力装置との間を非同期で送受信されるデータが当該制御回路において送受信可能となったことを、他の制御回路の同期制御手段に対して通知することを特徴とする制御回路。
A control circuit connected to a plurality of input / output devices via an asynchronous interface,
Comprising synchronization control means for controlling synchronization with other control circuits;
The synchronization control means indicates that data transmitted / received asynchronously between the control circuit and the input / output device via the asynchronous interface can be transmitted / received by the control circuit. A control circuit that notifies the means.
前記同期制御手段は、他の制御回路の同期制御手段から前記通知を受信し、他の制御回路において前記データの送受信が可能となったことを認識した場合に、当該データの送受信を開始することを特徴とする請求項10に記載の制御回路。The synchronization control means receives the notification from the synchronization control means of another control circuit, and starts transmission / reception of the data when the other control circuit recognizes that the data transmission / reception is possible. The control circuit according to claim 10. 前記同期制御手段は、当該同期制御手段を備える前記制御回路において前記データの送受信が可能となった場合に、他の同期制御手段に対して同期応答信号を送信することを特徴とする請求項10または請求項11に記載の制御回路。The synchronization control means transmits a synchronization response signal to another synchronization control means when the data transmission / reception becomes possible in the control circuit including the synchronization control means. Or the control circuit of Claim 11. 前記同期制御手段は、The synchronization control means includes
前記入出力装置から受信した前記データを格納する第1の受信バッファと、A first receive buffer for storing the data received from the input / output device;
前記第1の受信バッファから、前記第1の受信バッファに格納された前記データを受け取る第2の受信バッファとを備え、A second reception buffer for receiving the data stored in the first reception buffer from the first reception buffer;
前記同期制御手段は、前記第1の受信バッファに前記データが存在し、かつ、前記第2の受信バッファが空いている場合、前記制御回路において前記データの受信が可能となったと判断することを特徴とする請求項10または請求項11に記載の制御回路。The synchronization control means determines that the control circuit can receive the data when the data is present in the first reception buffer and the second reception buffer is empty. The control circuit according to claim 10 or 11, wherein the control circuit is characterized in that:
前記同期制御手段は、前記制御回路において前記データの受信が可能となったと判断した場合、他の同期制御手段に対して受信同期応答信号を送信することを特徴とする請求項13に記載の制御回路。14. The control according to claim 13, wherein the synchronization control unit transmits a reception synchronization response signal to another synchronization control unit when the control circuit determines that the data can be received. circuit. 前記同期制御手段は、他の同期制御手段から前記受信同期応答信号を受信し、自らが他の同期制御手段に対して前記受信同期応答信号を送信した場合に、前記データの受信を開始することを特徴とする請求項14に記載の制御回路。The synchronization control means receives the reception synchronization response signal from another synchronization control means, and starts receiving the data when the synchronization control means itself transmits the reception synchronization response signal to the other synchronization control means. The control circuit according to claim 14. 前記同期制御手段は、The synchronization control means includes
前記制御回路から送信される前記データを格納する第1の送信バッファと、A first transmission buffer for storing the data transmitted from the control circuit;
前記第1の送信バッファから、前記第1の送信バッファに格納された前記データを受け取る第2の送信バッファとを備え、A second transmission buffer for receiving the data stored in the first transmission buffer from the first transmission buffer;
前記同期制御手段は、前記第1の送信バッファに前記データが存在し、かつ、前記第2の送信バッファが空いている場合、前記制御回路から前記データの送信が可能となったと判断することを特徴とする請求項10または請求項11に記載の制御回路。The synchronization control means determines that the data can be transmitted from the control circuit when the data exists in the first transmission buffer and the second transmission buffer is empty. The control circuit according to claim 10 or 11, wherein the control circuit is characterized in that:
前記同期制御手段は、前記制御回路において前記データの送信が可能となったと判断した場合、他の同期制御手段に対して送信同期応答信号を送信することを特徴とする請求項16に記載の制御回路。The control according to claim 16, wherein the synchronization control means transmits a transmission synchronization response signal to another synchronization control means when it is determined that the data can be transmitted in the control circuit. circuit. 前記同期制御手段は、他の同期制御手段から前記送信同期応答信号を受信し、自らが他の同期制御手段に対して前記送信同期応答信号を送信した場合に、前記データの送信を開始することを特徴とする請求項17に記載の制御回路。The synchronization control unit receives the transmission synchronization response signal from another synchronization control unit, and starts transmission of the data when the transmission control response signal is transmitted to the other synchronization control unit by itself. The control circuit according to claim 17. 複数の制御回路と複数の入出力装置とによって多重化して構成し、それぞれの前記制御回路が同期制御手段を備え、非同期インタフェースを前記制御回路と前記入出力装置との間のインタフェースとして用いるフォルトトレラントシステムの同期化方法であって、A fault tolerant configured by multiplexing with a plurality of control circuits and a plurality of input / output devices, each of the control circuits having a synchronous control means, and using an asynchronous interface as an interface between the control circuit and the input / output devices A system synchronization method comprising:
前記同期制御手段の各々が、前記非同期インタフェースを介して前記制御回路と前記入出力装置との間を非同期で送受信されるデータが当該同期制御手段を備える前記制御回路において送受信可能となったことを、それぞれ相互に通知することを特徴とする同期化方法。  Each of the synchronization control means can transmit / receive data that is asynchronously transmitted / received between the control circuit and the input / output device via the asynchronous interface in the control circuit including the synchronization control means. , A synchronization method characterized by notifying each other.
前記同期制御手段の各々が、前記通知により、全ての前記制御回路において前記データの送受信が可能となったことを認識した場合に、当該データの送受信を開始することを特徴とする請求項19に記載の同期化方法。20. Each of the synchronization control means starts transmission / reception of data when it is recognized by the notification that transmission / reception of the data is possible in all the control circuits. The synchronization method described.
JP2003074693A 2003-03-19 2003-03-19 Fault tolerant system and synchronization method used therefor Expired - Fee Related JP4048988B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003074693A JP4048988B2 (en) 2003-03-19 2003-03-19 Fault tolerant system and synchronization method used therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003074693A JP4048988B2 (en) 2003-03-19 2003-03-19 Fault tolerant system and synchronization method used therefor

Publications (2)

Publication Number Publication Date
JP2004280732A JP2004280732A (en) 2004-10-07
JP4048988B2 true JP4048988B2 (en) 2008-02-20

Family

ID=33290212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003074693A Expired - Fee Related JP4048988B2 (en) 2003-03-19 2003-03-19 Fault tolerant system and synchronization method used therefor

Country Status (1)

Country Link
JP (1) JP4048988B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4165499B2 (en) 2004-12-13 2008-10-15 日本電気株式会社 Computer system, fault tolerant system using the same, and operation control method thereof
JP4411602B2 (en) 2004-12-16 2010-02-10 日本電気株式会社 Fault tolerant computer system
JP2006195871A (en) * 2005-01-17 2006-07-27 Ricoh Co Ltd Communication device, electronic equipment and image forming device
JP5057548B2 (en) * 2006-05-02 2012-10-24 株式会社リコー Image data transfer apparatus and image data transfer method
JP5481889B2 (en) * 2009-03-11 2014-04-23 日本電気株式会社 Fault tolerant computer, synchronous control method thereof and computer program
CN106796541B (en) * 2015-03-20 2021-03-09 瑞萨电子株式会社 Data processing apparatus

Also Published As

Publication number Publication date
JP2004280732A (en) 2004-10-07

Similar Documents

Publication Publication Date Title
US7143227B2 (en) Broadcast bridge apparatus for transferring data to redundant memory subsystems in a storage controller
US7821919B2 (en) Data processing apparatus and data processing method
US6643752B1 (en) Transceiver with latency alignment circuitry
JP5585332B2 (en) Fault tolerant system, master FT control LSI, slave FT control LSI and fault tolerant control method
US20080005402A1 (en) Gals-based network-on-chip and data transfer method thereof
US5802333A (en) Network inter-product stacking mechanism in which stacked products appear to the network as a single device
US7516349B2 (en) Synchronized memory channels with unidirectional links
US7653764B2 (en) Fault-tolerant computer and method of controlling data transmission
JP5544896B2 (en) Reception circuit, information processing apparatus, and buffer control method
JPH076130A (en) Method and apparatus for adaptation of data speed of fifo
JP5151176B2 (en) Data communication apparatus, image processing system, and data communication method
JP4048988B2 (en) Fault tolerant system and synchronization method used therefor
JP4755050B2 (en) Data processing apparatus, mode management apparatus, and mode management method
JP3578075B2 (en) Disk array control device and disk array control method
JP2991023B2 (en) Data transmission device, data transmission / reception device and system
US6640277B1 (en) Input staging logic for latching source synchronous data
JPH0232656B2 (en)
US20040064660A1 (en) Multiplexed bus with multiple timing signals
US20020089940A1 (en) Duplexing apparatus and method in large scale system
US20200133634A1 (en) Arithmetic processing apparatus and control method of arithmetic processing apparatus
JP3328246B2 (en) DMA transfer method and system
JP3123844B2 (en) Redundant device
US6453373B1 (en) Method and apparatus for differential strobing
JP2000184003A (en) Data transmitting system and data transmission controller used for the same
WO2024086639A1 (en) Pcie retimer providing failover to redundant endpoint and multiple endpoint switching using synchronized multi-tile data interface

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070402

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071119

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101207

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees