JP2004280732A - フォルトトレラントシステム及びそれに用いる同期化方法 - Google Patents
フォルトトレラントシステム及びそれに用いる同期化方法 Download PDFInfo
- Publication number
- JP2004280732A JP2004280732A JP2003074693A JP2003074693A JP2004280732A JP 2004280732 A JP2004280732 A JP 2004280732A JP 2003074693 A JP2003074693 A JP 2003074693A JP 2003074693 A JP2003074693 A JP 2003074693A JP 2004280732 A JP2004280732 A JP 2004280732A
- Authority
- JP
- Japan
- Prior art keywords
- synchronization
- pci
- control unit
- express
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus 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)
Abstract
【解決手段】PCI−Expressインタフェース103〜106の非同期インタフェースはノースブリッジ13,23とI/Oバスブリッジ31,41との間のインタフェースとして用いられている。同期制御部15,16,25,26はノースブリッジ13,23内に分周クロックに同期して動作する同期Ack信号を基に、PCI−Express制御部17,18,27,28へのパケットの送受信を両方のノースブリッジ13,23で同期させる。
【選択図】 図1
Description
【発明の属する技術分野】
本発明はフォルトトレラントシステム及びそれに用いる同期化方法に関し、特に各ユニットを二重化して構成したフォルトトレラントシステムにおける同期化方法に関する。
【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】
【課題を解決するための手段】
本発明によるフォルトトレラントシステムは、第1及び第2のノースブリッジと第1及び第2の入出力バスブリッジとによって二重化して構成し、非同期インタフェースを前記第1及び第2のノースブリッジと前記第1及び第2の入出力バスブリッジとの間のインタフェースとして用いるフォルトトレラントシステムであって、前記非同期インターフェースへのデータ送受信を前記第1及び第2のノースブリッジの両方で同期させる手段を前記第1及び第2のノースブリッジ各々に備えている。
【0011】
本発明による同期化方法は、第1及び第2のノースブリッジと第1及び第2の入出力バスブリッジとによって二重化して構成し、非同期インタフェースを前記第1及び第2のノースブリッジと前記第1及び第2の入出力バスブリッジとの間のインタフェースとして用いるフォルトトレラントシステムの同期化方法であって、前記非同期インターフェースへのデータ送受信を前記第1及び第2のノースブリッジの両方で同期させている。
【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 セレクタ
Claims (6)
- 第1及び第2のノースブリッジと第1及び第2の入出力バスブリッジとによって二重化して構成し、非同期インタフェースを前記第1及び第2のノースブリッジと前記第1及び第2の入出力バスブリッジとの間のインタフェースとして用いるフォルトトレラントシステムであって、前記非同期インターフェースへのデータ送受信を前記第1及び第2のノースブリッジの両方で同期させる手段を前記第1及び第2のノースブリッジ各々に有することを特徴とするフォルトトレラントシステム。
- 少なくとも前記非同期インターフェースへのデータ送受信を制御する制御手段を前記第1及び第2のノースブリッジ各々に含み、
前記非同期インターフェースへのデータ送受信を同期させる手段は、前記制御手段へのデータ送受信を前記第1及び第2のノースブリッジ間で同期させる同期制御手段を含むことを特徴とする請求項1記載のフォルトトレラントシステム。 - 前記同期制御手段は、分周クロックに同期して動作する同期応答信号を基に前記制御手段へのデータ送受信を前記第1及び第2のノースブリッジ間で同期させることを特徴とする請求項2記載のフォルトトレラントシステム。
- 第1及び第2のノースブリッジと第1及び第2の入出力バスブリッジとによって二重化して構成し、非同期インタフェースを前記第1及び第2のノースブリッジと前記第1及び第2の入出力バスブリッジとの間のインタフェースとして用いるフォルトトレラントシステムの同期化方法であって、前記非同期インターフェースへのデータ送受信を前記第1及び第2のノースブリッジの両方で同期させることを特徴とする同期化方法。
- 前記第1及び第2のノースブリッジ各々に設けられかつ少なくとも前記非同期インターフェースへのデータ送受信を制御する制御手段へのデータ送受信を前記第1及び第2のノースブリッジ間で同期させることを特徴とする請求項4記載の同期化方法。
- 前記第1及び第2のノースブリッジ間で同期させる際に、分周クロックに同期して動作する同期応答信号を基に前記制御手段へのデータ送受信を前記第1及び第2のノースブリッジ間で同期させることを特徴とする請求項5記載の同期化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003074693A JP4048988B2 (ja) | 2003-03-19 | 2003-03-19 | フォルトトレラントシステム及びそれに用いる同期化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003074693A JP4048988B2 (ja) | 2003-03-19 | 2003-03-19 | フォルトトレラントシステム及びそれに用いる同期化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004280732A true JP2004280732A (ja) | 2004-10-07 |
JP4048988B2 JP4048988B2 (ja) | 2008-02-20 |
Family
ID=33290212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003074693A Expired - Fee Related JP4048988B2 (ja) | 2003-03-19 | 2003-03-19 | フォルトトレラントシステム及びそれに用いる同期化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4048988B2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006195871A (ja) * | 2005-01-17 | 2006-07-27 | Ricoh Co Ltd | 通信装置、電子機器、及び画像形成装置 |
JP2007299315A (ja) * | 2006-05-02 | 2007-11-15 | Ricoh Co Ltd | データ転送装置 |
US7610509B2 (en) | 2004-12-16 | 2009-10-27 | Nec Corporation | Fault tolerant computer system |
US7725761B2 (en) | 2004-12-13 | 2010-05-25 | Nec Corporation | Computer system, fault tolerant system using the same and operation control method and program thereof |
JP2010211635A (ja) * | 2009-03-11 | 2010-09-24 | Nec Corp | フォールトトレラントコンピュータ、その同期制御方法及びコンピュータプログラム |
WO2016151674A1 (ja) * | 2015-03-20 | 2016-09-29 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
-
2003
- 2003-03-19 JP JP2003074693A patent/JP4048988B2/ja not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7725761B2 (en) | 2004-12-13 | 2010-05-25 | Nec Corporation | Computer system, fault tolerant system using the same and operation control method and program thereof |
US7610509B2 (en) | 2004-12-16 | 2009-10-27 | Nec Corporation | Fault tolerant computer system |
JP2006195871A (ja) * | 2005-01-17 | 2006-07-27 | Ricoh Co Ltd | 通信装置、電子機器、及び画像形成装置 |
JP2007299315A (ja) * | 2006-05-02 | 2007-11-15 | Ricoh Co Ltd | データ転送装置 |
JP2010211635A (ja) * | 2009-03-11 | 2010-09-24 | Nec Corp | フォールトトレラントコンピュータ、その同期制御方法及びコンピュータプログラム |
WO2016151674A1 (ja) * | 2015-03-20 | 2016-09-29 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
JPWO2016151674A1 (ja) * | 2015-03-20 | 2017-06-15 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
US10248156B2 (en) | 2015-03-20 | 2019-04-02 | Renesas Electronics Corporation | Data processing device |
Also Published As
Publication number | Publication date |
---|---|
JP4048988B2 (ja) | 2008-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6108738A (en) | Multi-master PCI bus system within a single integrated circuit | |
US7821919B2 (en) | Data processing apparatus and data processing method | |
US7386768B2 (en) | Memory channel with bit lane fail-over | |
KR100289443B1 (ko) | 소스 동기화 준안정성 프리버스 | |
US7127629B2 (en) | Redriving a data signal responsive to either a sampling clock signal or stable clock signal dependent on a mode signal | |
US7454540B2 (en) | Data transferring system and electronic apparatus | |
US20040246767A1 (en) | Memory channel with unidirectional links | |
JP5585332B2 (ja) | 耐故障システム、マスタft制御lsi、スレーブft制御lsiおよび耐故障制御方法 | |
US20080005402A1 (en) | Gals-based network-on-chip and data transfer method thereof | |
TW200830108A (en) | Two-cycle return path clocking | |
US7516349B2 (en) | Synchronized memory channels with unidirectional links | |
US5802333A (en) | Network inter-product stacking mechanism in which stacked products appear to the network as a single device | |
JP5544896B2 (ja) | 受信回路、情報処理装置、およびバッファ制御方法 | |
US7653764B2 (en) | Fault-tolerant computer and method of controlling data transmission | |
JPH076130A (ja) | Fifoのデータ速度適合のための方法ならびにその装置 | |
US20130009695A1 (en) | Asynchronous power disconnect | |
JP2000082038A (ja) | 情報処理装置 | |
JP4048988B2 (ja) | フォルトトレラントシステム及びそれに用いる同期化方法 | |
JP2008204245A (ja) | データ通信装置、画像処理システムおよびデータ通信方法 | |
US20100315134A1 (en) | Systems and methods for multi-lane communication busses | |
US6640277B1 (en) | Input staging logic for latching source synchronous data | |
US20040064660A1 (en) | Multiplexed bus with multiple timing signals | |
JP3328246B2 (ja) | Dma転送方法およびそのシステム | |
US6557064B1 (en) | Set up time adjust | |
US20140365629A1 (en) | Information processing system |
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 |