JP4492035B2 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP4492035B2
JP4492035B2 JP2003115621A JP2003115621A JP4492035B2 JP 4492035 B2 JP4492035 B2 JP 4492035B2 JP 2003115621 A JP2003115621 A JP 2003115621A JP 2003115621 A JP2003115621 A JP 2003115621A JP 4492035 B2 JP4492035 B2 JP 4492035B2
Authority
JP
Japan
Prior art keywords
data
communication error
packet
bridges
synchronization signal
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 - Lifetime
Application number
JP2003115621A
Other languages
English (en)
Other versions
JP2004326151A (ja
Inventor
文俊 水谷
眞也 尾田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2003115621A priority Critical patent/JP4492035B2/ja
Priority to CA002464779A priority patent/CA2464779A1/en
Priority to EP04009315A priority patent/EP1477899B1/en
Priority to DE602004024266T priority patent/DE602004024266D1/de
Priority to US10/827,433 priority patent/US7821919B2/en
Priority to CNB2004100451731A priority patent/CN1287284C/zh
Priority to AU2004201674A priority patent/AU2004201674A1/en
Publication of JP2004326151A publication Critical patent/JP2004326151A/ja
Application granted granted Critical
Publication of JP4492035B2 publication Critical patent/JP4492035B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • G06F11/1645Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components and the comparison itself uses redundant hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Communication Control (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、同一のデータを並列して処理するデータ処理装置に関する。
【0002】
【従来の技術】
データ処理を実行するコンピュータシステムとして、既存のコンポーネントを流用して、冗長化された構成のフォールトトレラントコンピュータシステムがある(例えば、特許文献1参照)。このコンピュータシステムでは、ロックステップ方式が採用されている。
【0003】
このロックステップ方式とは、冗長化構成の複数のプロセッサを備え、複数のプロセッサが同一のデータを同期して並列処理し、複数のプロセッサからの出力を比較してエラーを検出すると、そのエラーを修復するようにした方式である。
【0004】
また、近年のコンピュータシステムにおいては、プロセッサとI/Oシステムとの間の接続には、PCI-Express、Hyper-Transport(登録商標)、InfiniBand(登録商標)等のような高速でデータの送受信を行える高速シリアルリンク方式が採用されつつある。
【0005】
【特許文献1】
特開平9−128349号公報(第5−7頁、図1)
【0006】
【発明が解決しようとする課題】
しかし、従来の冗長構成のコンピュータシステムにおいて、このような高速のデータ送受信方式を採用することにより、データの送受信速度が速くなると、複数のプロセッサが処理するデータの同一性を保証することが難しくなり、通信エラーも生じやすくなる。
【0007】
プロセッサとI/Oシステムとの間でデータを送受信するインタフェース部は、通信エラーを検出すると、それぞれ、異なるタイミングでデータの再送信を要求してしまう。各インタフェース部が、データの再送信を要求すると、各プロセッサでの処理のタイミングや順序にずれが生じ、ロックステップ方式を維持できなくなり、複数のプロセッサが同一のデータ処理を同期して行うことが難しくなる。
【0008】
また、このようなコンピュータシステムにおいては、通信線の配線長によってデータ遅延が生じやすい。データ遅延が生じて複数のプロセッサの処理タイミングがずれると、同じように複数のプロセッサが同一のデータ処理を同期して行うことが難しくなる。このため、等長配線を厳密に行わなければならず、システムの筐体構造やボード設計、ボード構成の自由度にも大きな制約が生じることになる。
【0009】
本発明は、このような従来の問題点に鑑みてなされたもので、同一のデータ処理を同期して行うことが可能なデータ処理装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
この目的を達成するため、本発明の第1の観点に係るデータ処理装置は、
クロック信号を分周して同期信号を生成する分周器と、
データ長が、前記分周器が生成した前記同期信号の1周期以内で送信可能なデータよりも短い同一のデータを前記同期信号の周期毎に同一のデータ送信元から受信する複数の受信インタフェース部と、
前記各受信インタフェース部が前記同期信号の周期毎に受信した同一のデータの処理を、前記クロック信号に同期してそれぞれ実行する複数の演算部と、を備えたものである。
【0017】
【発明の実施の形態】
以下、本発明の実施の形態に係るデータ処理装置を図面を参照して説明する。尚、本実施の形態に係るデータ処理装置を、冗長構成を有するコンピュータシステムとして説明する。
本実施の形態に係るコンピュータシステムの構成を図1に示す。
本実施の形態に係るコンピュータシステムは、冗長化構成の複数のプロセッサを備え、複数のプロセッサが同一のデータを同期して並列処理するロックステップ方式に従って動作するフォールトトレラントコンピュータシステムであり、サブシステム1、2を備えて構成される。
【0018】
サブシステム1は、演算システム11と、I/Oシステム12と、を備えて構成される。サブシステム2は、演算システム21と、I/Oシステム22と、を備えて構成される。
【0019】
演算システム11,21には、同期した周波数166MHzのクロック信号CLKが供給される。このように、演算システム11,21に、同期したクロック信号CLKが供給されることにより、サブシステム1,2は、ロックステップ方式に従って、同一の処理を同期して同時に実行する。
【0020】
サブシステム1,2の間には、分周器31が接続される。分周器31は、FSBのクロック信号CLKが供給されて、このクロック信号CLKを分周するものであり、クロック信号CLKを分周して同期信号S1を生成する。
【0021】
分周器31は、生成した同期信号S1を演算システム11のメモリブリッジ16、演算システム21のメモリブリッジ26、I/Oシステム12のI/Oブリッジ18、I/Oシステム22のI/Oブリッジ28に、それぞれ、供給する。
【0022】
尚、本実施の形態では、データの送受信に、PCI-Expressインタフェースを用いるものとする。PCI-Expressインタフェースでは、パラレルバスで生ずる信号線と信号線との間でのデータのずれ(スキュー)を防止するため、シリアルリンクが採用されている。演算システム11,21とI/Oシステム12,22との間もPCI-Expressインタフェースに従って接続される。
【0023】
分周器31は、同期信号S1の1周期が、2.5Gbps/laneのPCI-Expressインタフェースの24シンボルタイムに相当するように、クロック信号CLKの周波数166MHzを1/16の周波数10.4MHzに分周する。
【0024】
PCI-Expressインタフェースでは、演算システム11,21、I/Oシステム12,22といったデバイスは、1対1で接続される。差動信号を用いてデータを伝送する場合、リンクには、片方向に2本、双方向で合計4本の信号線が用いられる。この4本の信号線の組は、レーンと呼ばれるものである。
【0025】
また、1シンボルタイムとは、PCI-Expressに従って、1レーンのデータを8B/10Bエンコーディング処理した後の1バイトの有効データを送信するために必要な時間をいう。
【0026】
同期信号S1の周波数が10.4MHzになることにより、I/Oブリッジ18,28、メモリブリッジ16,26は、互いに、同期信号S1の1周期で、1レーンあたり24バイトの有効データを送信することができる。
【0027】
演算システム11は、プロセッサ13、14と、主記憶装置15と、メモリブリッジ16と、を備えて構成される。また、演算システム21は、プロセッサ23、24と、主記憶装置25と、メモリブリッジ26と、を備えて構成される。
【0028】
プロセッサ13,14,23,24は、演算処理を実行するものである。主記憶装置15,25は、データ等を記憶するものである。メモリブリッジ16とプロセッサ13,14、メモリブリッジ26とプロセッサ23,24とは、それぞれ、フロントサイドバス(FSB)を介して接続され、クロック信号CLKに同期して動作する。
【0029】
メモリブリッジ16,26は、I/Oブリッジ18,28とデータの送受信を行うものである。また、メモリブリッジ16,26は、通信エラー信号S2を相互に送受信する。この通信エラー信号S2は、メモリブリッジ16,26との間で、通信エラーの情報を共有して、連携してエラー処理を行うための信号であり、オープン・ドレイン信号として送受信される。尚、メモリブリッジ16,26の詳細な構成については、後述する。
【0030】
I/Oシステム12は、I/Oデバイス17と、I/Oブリッジ18と、コンフィギュレーションレジスタ19と、を備えて構成される。I/Oシステム22は、I/Oデバイス27と、I/Oブリッジ28と、コンフィギュレーションレジスタ29と、を備えて構成される。
【0031】
I/Oデバイス17,27は、それぞれ、I/Oブリッジ18,28との間でデータの送受信を行うものである。
【0032】
I/Oブリッジ18、28は、それぞれ、I/Oデバイス17,27との間、又はメモリブリッジ16,26との間で、シリアル伝送を行うものである。
I/Oブリッジ18、28とメモリブリッジ16,26とは、PCI-Expressインタフェースのx8のリンクL1によって接続される。
【0033】
即ち、演算システム11,21のそれぞれのメモリブリッジ16,26と、I/Oシステム12,22のそれぞれのI/Oブリッジ18,28とは、リンクL1を介してクロスリンク接続されている。即ち、メモリブリッジ16は、I/Oシステム12,22に接続され、演算システム21のメモリブリッジ26は、I/Oシステム12,22に接続されている。
【0034】
このようにクロスリンク接続されることにより、演算システム11,21は、それぞれ、I/Oシステム12,22に対して通信可能であり、I/Oシステム12,22は、それぞれ、演算システム11,21に対しても通信可能になる。
【0035】
尚、PCI-Expressインタフェースでは、層単位のアップグレードを可能とするため、機能が階層化されている。そして、プロトコルが各階層毎に定義されている。
【0036】
PCI-Expressインタフェースでは、図2(a)に示すように、トランザクション層において、データにヘッダが付与されてトランザクション層パケットが生成される。
【0037】
また、図2(b)に示すように、データリンク層において、トランザクション層パケットにシーケンス番号とCRC(Cyclic Redundancy Check)とのステータス情報が付加されてデータリンク層パケット(DLLP:Data Link Layer Packet)が生成される。
【0038】
そして、図2(c)に示すように、物理層において、データリンク層パケットにフレームデータが付加される。そして、このパケットが送受信される。
【0039】
I/Oブリッジ18、28は、このようなPCI-Expressインタフェースに従ってデータを送受信するためのインタフェース回路部(図示せず)を備える。
【0040】
コンフィギュレーションレジスタ19,29は、分周器31から供給された同期信号S1の1周期中において、I/Oブリッジ18,28が送信するアップストリームのパケットのパケット長、データ数を制限するためのデータを保持するものである。
【0041】
このようにパケット長、データ数に制限を設けたのは、送信されるパケットが、送信経路長、クロックのドリフトの影響を受けないようにするためである。具体的には、送信する各パケットの最大パケット長は、192バイトとされる。
【0042】
I/Oブリッジ18、28は、この制限に従い、同期信号S1の立ち上がりタイミングで、それぞれ、メモリブリッジ16、26に、同一のパケットを同時に送信する。
【0043】
I/Oブリッジ18,28は、複数の小さなパケットを送信する場合、同期信号S1の1周期において送信可能な最大データ数を越えないように、送信制御を行い、1つのパケットが、周波数10.4MHzの同期信号S1の1周期を越えないようにする。
【0044】
尚、このコンフィギュレーションレジスタ19の値をBIOS(Basic Input/Output System)を用いて変更することができる。サブシステム1は、このようなBIOSを記憶する不揮発性メモリ(図示せず)を備える。
【0045】
このように構成されたコンピュータシステムは、システム間の通信内容の比較により障害診断を行う。また、このコンピュータシステムは、特定のシステムでの故障が判断されると該当するシステムをマスクして、残りのシステムによって実行中の処理を継続する。
【0046】
次に、メモリブリッジ16,26の構成について説明する。尚、メモリブリッジ26はメモリブリッジ16と同様に構成されたものであり、ここでは、メモリブリッジ16の構成についてのみ説明する。
【0047】
メモリブリッジ16は、図3に示すように、インタフェース回路部40と、同期化用バッファ50と、内部回路部60と、からなる。
【0048】
インタフェース回路部40は、PCI-Expressインタフェースに対応して設けられたものであり、データリンク/物理層41と、トランザクション層42と、に区分される。
【0049】
また、データリンク/物理層41は、物理層43−1〜43−nと、データリンク層(RX)44と、データリンク層(TX)45と、に区分され、トランザクション層42は、通信エラー処理部46と、トランザクション層47と、に区分される。
【0050】
このデータリンク/物理層41、トランザクション層42、内部回路部60は、互いに異なるクロック信号に同期して動作する。
【0051】
物理層43−1〜43−nは、同期信号S2の1周期中において、図2(c)に示すようなパケットを送受信するための層である。インタフェース回路部40は、送受信するパケットを保持するためのエラスティックバッファ(EB)を備える。尚、インタフェース回路部40は、物理層43−1〜43−nにおいて、通信エラーを検出するとエラー情報を出力する。
【0052】
データリンク層(RX)44は、図2(c)に示すパケットからデータリンク層パケットを取り出すための層である。
【0053】
データリンク層(TX)45は、通信エラー処理部46が出力したACK/NACK/flow制御信号を受け取るための層である。
【0054】
通信エラー処理部46は、通信エラーの処理を行うものである。
従来のPCI-Expressでは、データリンク層(RX)44が、ステータス情報のうち、いくつかのエラー信号を、トランザクション層47に、また、ACK/NACK/flow制御信号をデータリンク層(TX)45に直接供給する。
【0055】
しかし、本実施の形態では、通信エラー処理部46が備えられ、通信エラー処理部46がこれらのステータス情報を、データリンク層(RX)44において取得する。そして、通信エラー処理部46が取得したステータス情報をトランザクション層47、データリンク層(TX)45に供給するように構成されている。
【0056】
通信エラー処理部46は、データリンク層パケットに付加されたCRCをチェックして、通信エラーを検出し、エラー情報を出力する。
【0057】
通信エラー処理部46は、物理層43−1〜43−nまたはデータリンク層(RX)44において、通信エラーが検出されなければ、トランザクション層47とデータリンク層(TX)45とに、データ、ステータス情報をそのまま出力する。インタフェース回路部40は、受信したデータに通信エラーがなければ、ステータス情報に従って、データを送信したI/Oブリッジ18,28に定期的にACK信号を返送する。
【0058】
一方、通信エラー処理部46は、物理層43−1〜43−nまたはデータリンク層(RX)44において、通信エラーが検出されると、同期信号S1の1周期の間に受信した全パケットをロストパケットとしてキャンセルし、受信データのトランザクション層47への出力を停止する。
【0059】
通信エラー処理部46は、パケットをキャンセルすると、データリンク層(RX)44に対して、次に受信する予定のパケットのシーケンス番号を、通信エラーパケット受信前のシーケンス番号に設定するように指示する。
【0060】
また、通信エラー処理部46は、通信エラーを検出すると、同期信号S1の1周期の間、通信エラー信号S2をアサート(assert)、即ち、有効とする。通信エラー処理部46は、アサートした通信エラー信号S2を、信号線を介してメモリブリッジ26に送信する。
【0061】
トランザクション層47は、上位のソフトウェア層からの読み出しと書き込み要求を受け付けるとともにデータリンク層(RX)44、データリンク層(TX)45に対してパケットの転送を要求するための層である。
【0062】
同期化用バッファ50は、トランザクション層47と内部回路部60との間で、データの受け渡しをするためのバッファであり、トランザクション層47から出力されたデータを保持する。
【0063】
内部回路部60は、同期化用バッファ50が保持しているデータを同期信号S1に同期したタイミングで取得し、取得したデータをプロセッサ13,14、主記憶装置15に送出するための回路である。
【0064】
尚、I/Oブリッジ18,28がメモリブリッジ16,26にシリアルデータを送信する場合、I/Oブリッジ18,28が送信インタフェースとなり、メモリブリッジ16,26のインタフェース回路部が受信インタフェース部となる。
【0065】
また、前述のようにメモリブリッジ16,26がI/Oブリッジ18,28にシリアルデータを送信することも可能であり、この場合、メモリブリッジ16,26が送信インタフェースとなり、I/Oブリッジ18,28のインタフェース回路部が受信インタフェース部となる。
【0066】
次に本実施の形態に係るコンピュータシステムの動作を説明する。
尚、ここでは、I/Oブリッジ18が、メモリブリッジ16,26にシリアルデータを送信する場合について説明する。
【0067】
I/Oブリッジ18は、I/Oデバイス17からデータが供給されると、I/Oブリッジ18は、図2(a)に示すように、トランザクション層において、シリアルデータにヘッダを付与し、トランザクション層パケットを生成する。
【0068】
I/Oブリッジ18は、図2(b)に示すように、データリンク層において、生成したトランザクション層パケットに、シーケンス番号とCRCとのステータス情報を付加し、データリンク層パケットを生成する。
【0069】
そして、I/Oブリッジ18は、図2(c)に示すように、物理層において、生成したデータリンク層パケットに、フレームデータを付加する。そして、I/Oブリッジ18は、図2(c)に示すパケットを、リンクL1を介してメモリブリッジ16,26に送信する。
【0070】
メモリブリッジ16のインタフェース回路部40は、物理層43−1〜43−nにおいて、このデータを受信する。
インタフェース回路部40は、図4(a)に示すように、物理層43−1〜43−nにおいて、同期信号S1の1周期中において受信した全パケットを、エラスティックバッファに、一旦、格納してから、データリンク層(RX)44に出力する。
【0071】
インタフェース回路部40は、データリンク層(RX)44において、図2(c)に示すパケットからデータリンク層パケットを取り出す。また、インタフェース回路部40は、図2(b)に示すデータリンク層パケットに含まれているCRCに基づいてエラーの検出を行う。
【0072】
通信エラー処理部46は、図4(c)に示すように、同期信号S1の各周期中において受信したパケットを、それぞれ、次の同期信号S1の立ち上がりに同期して、取得する。
【0073】
受信したパケットにエラーが検出されなければ、通信エラー処理部46は、図4(d)に示すように、通信エラー信号S2をハイ(H)レベルにしてディアサート、即ち、無効とする。従って、受信されたパケットは有効となる。
【0074】
そして、通信エラー処理部46は、図4(e)に示すように、各パケットを、次の同期信号S1の立ち上がりに同期してトランザクション層に送出する。
【0075】
インタフェース回路部40は、トランザクション層において、データリンク層パケットから、トランザクション層パケットを取り出し、さらに、データ取り出して、図4(f)に示すように同期化用バッファ50に出力する。
【0076】
内部回路部60は、同期信号S1の立ち上がりに同期して、同期化用バッファ50からデータを取得し、取得したデータをプロセッサ13,14、主記憶装置15に出力する。
【0077】
I/Oブリッジ18からメモリブリッジ16,26にデータを送信する場合、I/Oブリッジ18とメモリブリッジ16との間と、I/Oブリッジ18とメモリブリッジ26との間で、リンクL1の配線長に差異がほぼなければ、図5(b),(c)に示すように、メモリブリッジ16,26は、ほぼ同時にデータを受信する。
【0078】
しかし、I/Oブリッジ28とメモリブリッジ26との間のリンクL1が、I/Oブリッジ18とメモリブリッジ16との間のリンクL1よりも長いと、図5(d),(e)に示すように、メモリブリッジ16,26がデータを受信するタイミングに差異が生じる。
【0079】
但し、差異が生じても、同じ同期信号S1の周期内であれば、演算システム11,21は、クロック信号CLKに同期して同じ処理を実行する。
もし、メモリブリッジ26が、同期信号S1の1周期目と2周期目とでデータを受信するようになるのであれば、I/Oブリッジ18は、1パケットにおけるデータの長さを短くするように、BIOSを用いてコンフィギュレーションレジスタ19が格納しているデータを変更する。
【0080】
次に、図6(a)、(b)に示すように、メモリブリッジ16のインタフェース回路部40が、同期信号S1の第2クロックサイクルにおいて、受信したパケットの通信エラーを検出するものとする。
【0081】
この場合、通信エラー処理部46は、図6(c)、(e)に示すように、第3クロックサイクルにおいて、データリンク層パケット(DLLP)をその一部に含んでいたとしても、すべてのパケットをキャンセル扱いとする。
【0082】
そして、通信エラー処理部46は、第3クロックサイクル以降のパケットもキャンセルする。通信エラー処理部46は、第2クロックサイクルでキャンセルしたパケットが再送されるまで、すべてのパケットの受信をキャンセルする。
【0083】
通信エラー処理部46は、通信エラーが検出されると、データリンク層(RX)44において、管理されているパケットのシーケンス番号をエラー発生前の番号に設定し直す。
【0084】
また、通信エラーが検出されると、通信エラー処理部46は、図6(d)に示すように、通信エラー信号S2をロー(L)レベルとしてアサート、即ち、有効とする。同期信号S1の第4クロックサイクルになると、パケットは受信されないため、通信エラー処理部46を、ディアサートする。
【0085】
通信エラー処理部46は、データの送信元であるI/Oブリッジ18に、データの再送を要求する。I/Oブリッジ18は、メモリブリッジ16から再送要求を受信した場合、再送要求のあったパケットを再送する。また、メモリブリッジ16からのACK信号が返送されずに、所定期間が経過した場合にも、送信が確認されていないパケットの再送信を行う。
【0086】
続いて、図7(b)に示すように、メモリブリッジ16が、同期信号S1の第6クロックサイクルにおいて、再送要求に応答してシーケンス番号2のパケットを受信し、通信エラーがなければ、インタフェース回路部40は、図6(c)〜(e)に示すように、キャンセルされた第3クロックサイクル以降のパケットを、そのまま、受信する。
【0087】
次に、図8(a)〜(c)に示すように、メモリブリッジ16が受信したデータに通信エラーは検出されなくても、メモリブリッジ26が通信エラーを検出すると、メモリブリッジ26は、図8(d)に示すように、メモリブリッジ16にローレベルの通信エラー信号S2を出力する。
【0088】
メモリブリッジ26は、同期信号S1の第3クロックサイクルにおいて、通信エラー信号S2がアサートされると、通信エラー処理部46は、図8(e)に示すように、同期信号S1の第3クロックサイクルにおいて保持しているシーケンス番号2のパケットをキャンセルする。
【0089】
通信エラー処理部46は、同期信号S1の第4クロックサイクル以降、トランザクション層47へのパケットの引き渡しを停止する。
そして、通信エラー処理部46は、データリンク層(RX)44において、管理する次回受信予定パケットのシーケンス番号を、パケットキャンセル前の値に再設定させる。
【0090】
図9(a),(b)に示すように、メモリブリッジ16が、通信エラーを有するパケットに続いて、データリンク層パケットのみで構成されるパケットを受信した場合、通信エラー処理部46は、図(c),(e)に示すように、まず、通信エラーを有するパケットをキャンセルする。
【0091】
通信エラー処理部46は、通信エラーを有するパケットをキャンセルすると、図9(d)に示すように、通信エラー信号S2をアサートして、シーケンス2以降のパケット列の再送信を要求する。しかし、通信エラー処理部46は、通信エラーを有するパケットをキャンセルしても、図(c),(e)に示すように、同期信号S1の第3クロックサイクルにおいて受信されたデータリンク層パケットをキャンセルしない。これは、データリンク層パケットには、シーケンス番号がないため、シーケンス番号エラーが発生しないためである。
【0092】
エラー処理部46は、データリンク層パケットをキャンセルしなくても、再送されたパケットのシーケンス番号から、順序を特定することができ、メモリブリッジ16は、問題なく再送信されたパケットを受信することができる。
【0093】
以上説明したように、本実施の形態によれば、メモリブリッジ16のインタフェース回路部40が通信エラーを検出した場合、通信エラー処理部46が受信したパケットをキャンセルする。そして、通信エラー処理部46は、アサートした通信エラー信号S2をメモリブリッジ26に出力し、キャンセルしたパケットの再送をパケット送信元に要求するようにした。
【0094】
従って、通信エラーが生じた場合でも、メモリブリッジ16,26の通信エラー処理部が連携してパケット送信元に、パケットの再送信をするようになるため、受信データの同期ずれを回避することができる。そして、演算システム11,21は、同一のデータ処理を同期して行うことができる。
【0095】
また、I/Oブリッジ18が、リンクL1の配線長に差異が生じても、影響を受けないように、送信するパケットのパケット長、データ数に制限が設けるようにした。
【0096】
従って、フォールトトレラントコンピュータシステムを構成するための回路基盤設計および筐体設計が容易になる。
【0097】
尚、本発明を実施するにあたっては、種々の形態が考えられ、上記実施の形態に限られるものではない。
例えば、上記実施の形態では、メモリブリッジ16,26、I/Oブリッジ18,28に、インタフェース回路部を備えるようにした。しかし、図10に示すように、演算システム11,21において、メモリブリッジ16,26とは別に、それぞれ、送受信ブリッジ71,72を備え、また、I/Oシステム12,22とは別に、それぞれ、送受信ブリッジ81,82を備えることができる。
【0098】
この場合、送受信ブリッジ71,72,81,82は、それぞれ、通信エラー処理部を備える。送受信ブリッジ71,72は、それぞれ、メモリブリッジ16,26に接続され、送受信ブリッジ81,82は、それぞれ、I/Oブリッジ18,28に接続される。
【0099】
そして、送受信ブリッジ71,72と、送受信ブリッジ81,82とは、互いにロックステップ方式に従って同期化されてデータの送受信を行う。尚、送受信ブリッジ71,72は、既存のメモリブリッジ16,26とは、1セットの通信リンクで接続される。接続は、既存のメモリブリッジのサポートする高速シリアルリンクによって行われる。この場合、メモリブリッジ16と送受信ブリッジ71、メモリブリッジ26と送受信ブリッジ72との間のリンクの配線長は、受信タイミングの差異による通信エラーの発生を避けるため、できるだけ、短くされる。
【0100】
このように構成されることにより、既存のシステムチップセットコンポーネントをそのまま利用して、フォールトトレラントコンピュータシステムを構成することができる。
【0101】
本実施の形態では、コンピュータシステムに2つのサブシステム1,2を備え、また、サブシステム1,2に、それぞれ、2つのプロセッサ13,14,23,24を備えて、コンピュータシステムを二重化冗長構成とした。しかし、コンピュータシステムの構成は、これに限られるものではなく、三重化冗長構成、あるいはそれ以上の冗長構成とすることができる。
【0102】
また、本実施の形態では、高速シリアルリンクとしてPCI-Expressを例として説明した。しかし、リンクとしては、これに限られるものではなく、InfiniBand、HyperTransport等の他の高速シリアルリンクを用いることもできる。
【0103】
また、本実施の形態では、メモリブリッジ16,26と、I/Oブリッジ18,28との間で送受信するデータをシリアルデータとして説明したが、パラレルデータであっても、本実施の形態を適用することができる。
【0104】
【発明の効果】
以上説明したように、本発明によれば、通信エラーが生じた場合でも同一のデータ処理を同期して行うことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るコンピュータシステムの構成を示すブロック図である。
【図2】送受信されるパケットデータの構成を示す説明図である。
【図3】図1に示すメモリブリッジの詳細な構成を示すブロック図である。
【図4】図1に示すメモリブリッジの動作を示すタイミングチャートである。
【図5】図1に示すメモリブリッジの動作を示すタイミングチャートである。
【図6】図1に示すメモリブリッジの動作を示すタイミングチャートである。
【図7】図1に示すメモリブリッジの動作を示すタイミングチャートである。
【図8】図1に示すメモリブリッジの動作を示すタイミングチャートである。
【図9】図1に示すメモリブリッジの動作を示すタイミングチャートである。
【図10】本発明の実施の形態に係るコンピュータシステムの応用例を示すブロック図である。
【符号の説明】
1,2 サブシステム
13、14,23,24 プロセッサ
16,26 メモリブリッジ
18,28 I/Oブリッジ
46 通信エラー処理部
31 分周器

Claims (2)

  1. クロック信号を分周して同期信号を生成する分周器と、
    データ長が、前記分周器が生成した前記同期信号の1周期以内で送信可能なデータよりも短い同一のデータを前記同期信号の周期毎に同一のデータ送信元から受信する複数の受信インタフェース部と、
    前記各受信インタフェース部が前記同期信号の周期毎に受信した同一のデータの処理を、前記クロック信号に同期してそれぞれ実行する複数の演算部と、を備えた、
    ことを特徴とするデータ処理装置。
  2. 前記各受信インタフェース部は、前記分周器が生成した前記同期信号の1周期内において、受信したデータのエラーを検出すると、前記同期信号の次の周期からデータの受信を停止し、異なる受信インタフェース部に、前記データ送信元からのデータ受信を停止させる通信エラー信号を出力して、前記データ送信元にデータの再送を要求する通信エラー処理部を備えた、
    ことを特徴とする請求項1に記載のデータ処理装置。
JP2003115621A 2003-04-21 2003-04-21 データ処理装置 Expired - Lifetime JP4492035B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2003115621A JP4492035B2 (ja) 2003-04-21 2003-04-21 データ処理装置
CA002464779A CA2464779A1 (en) 2003-04-21 2004-04-16 Data processing apparatus and data processing method
DE602004024266T DE602004024266D1 (de) 2003-04-21 2004-04-20 Datenverarbeitungsgerät und -verfahren
US10/827,433 US7821919B2 (en) 2003-04-21 2004-04-20 Data processing apparatus and data processing method
EP04009315A EP1477899B1 (en) 2003-04-21 2004-04-20 Data processing apparatus and method
CNB2004100451731A CN1287284C (zh) 2003-04-21 2004-04-21 数据处理设备和数据处理方法
AU2004201674A AU2004201674A1 (en) 2003-04-21 2004-04-21 Data Processing Apparatus and Data Processing Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003115621A JP4492035B2 (ja) 2003-04-21 2003-04-21 データ処理装置

Publications (2)

Publication Number Publication Date
JP2004326151A JP2004326151A (ja) 2004-11-18
JP4492035B2 true JP4492035B2 (ja) 2010-06-30

Family

ID=33028288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003115621A Expired - Lifetime JP4492035B2 (ja) 2003-04-21 2003-04-21 データ処理装置

Country Status (7)

Country Link
US (1) US7821919B2 (ja)
EP (1) EP1477899B1 (ja)
JP (1) JP4492035B2 (ja)
CN (1) CN1287284C (ja)
AU (1) AU2004201674A1 (ja)
CA (1) CA2464779A1 (ja)
DE (1) DE602004024266D1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4165499B2 (ja) 2004-12-13 2008-10-15 日本電気株式会社 コンピュータシステム及びそれを用いたフォールトトレラントシステム並びにその動作制御方法
KR100853290B1 (ko) 2004-12-14 2008-08-21 엘지전자 주식회사 휴대용 기기의 버스제어방법 및 장치
JP4168403B2 (ja) 2004-12-21 2008-10-22 日本電気株式会社 フォールトトレラントシステム、これで用いる制御装置、アクセス制御方法、及び制御プログラム
JP2006178616A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム
JP2006178618A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントコンピュータ及びデータ送信制御方法
JP4154610B2 (ja) 2004-12-21 2008-09-24 日本電気株式会社 フォールトトレラントコンピュータ及びその制御方法
CN100351734C (zh) * 2004-12-31 2007-11-28 华硕电脑股份有限公司 主机板
JP4558519B2 (ja) 2005-01-18 2010-10-06 富士通株式会社 情報処理装置およびシステムバス制御方法
JP4410190B2 (ja) 2005-03-24 2010-02-03 富士通株式会社 PCI−Express通信システム
US7765357B2 (en) 2005-03-24 2010-07-27 Fujitsu Limited PCI-express communications system
CN100456273C (zh) * 2005-03-24 2009-01-28 富士通株式会社 PCI-Express通信系统及其通信方法
US20070009267A1 (en) * 2005-06-22 2007-01-11 Crews Darren S Driving a laser using an electrical link driver
US20070028152A1 (en) * 2005-08-01 2007-02-01 Mishra Kishore K System and Method of Processing Received Line Traffic for PCI Express that Provides Line-Speed Processing, and Provides Substantial Gate-Count Savings
US7487274B2 (en) 2005-08-01 2009-02-03 Asic Architect, Inc. Method and apparatus for generating unique identification numbers for PCI express transactions with substantially increased performance
US7669073B2 (en) * 2005-08-19 2010-02-23 Stratus Technologies Bermuda Ltd. Systems and methods for split mode operation of fault-tolerant computer systems
US7536489B2 (en) * 2005-08-30 2009-05-19 Ricoh Company Limited Information processing system for determining payload size based on packet-to-payload size ratio
CN100517257C (zh) * 2005-10-28 2009-07-22 鸿富锦精密工业(深圳)有限公司 高速外围部件互连总线接口测试装置
US8050290B2 (en) 2007-05-16 2011-11-01 Wilocity, Ltd. Wireless peripheral interconnect bus
US9075926B2 (en) * 2007-07-19 2015-07-07 Qualcomm Incorporated Distributed interconnect bus apparatus
US8010838B2 (en) * 2008-11-20 2011-08-30 International Business Machines Corporation Hardware recovery responsive to concurrent maintenance
US8570860B2 (en) * 2008-12-03 2013-10-29 Micron Technology, Inc. Redundant signal transmission
US9400722B2 (en) * 2011-11-15 2016-07-26 Ge Aviation Systems Llc Method of providing high integrity processing
WO2014092968A1 (en) * 2012-12-13 2014-06-19 Coherent Logix, Incorporated Multiprocessor system with improved secondary interconnection network
JP6221498B2 (ja) * 2013-08-15 2017-11-01 富士通株式会社 情報処理システム及び情報処理システムの制御方法
CN103684689A (zh) * 2013-11-29 2014-03-26 重庆西信天元数据资讯有限公司 自检式数据传输方法
WO2016151674A1 (ja) * 2015-03-20 2016-09-29 ルネサスエレクトロニクス株式会社 データ処理装置
KR102471531B1 (ko) * 2017-12-21 2022-11-28 에스케이하이닉스 주식회사 저속 동작 환경에서 고속 테스트를 수행할 수 있는 반도체 장치 및 시스템
US11200312B1 (en) * 2018-07-02 2021-12-14 Rockwell Collins, Inc. Dual lock step processor system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01154242A (ja) * 1987-09-04 1989-06-16 Digital Equip Corp <Dec> 二重ゾーンの耐欠陥コンピュータシステム
JPH02264337A (ja) * 1989-04-04 1990-10-29 Nec Corp データ転送制御方式
JPH0471037A (ja) * 1990-07-12 1992-03-05 Toshiba Corp 電子計算機の二重化方式
JPH08278950A (ja) * 1995-04-04 1996-10-22 Hitachi Ltd 多重化コンピュータシステムおよび障害回復方法
JPH10154085A (ja) * 1996-11-21 1998-06-09 Fujitsu Ltd 二重化された監視/制御プロセッサによるシステム監視・制御方法および二重化監視/制御プロセッサ・システム
JPH11296394A (ja) * 1998-04-15 1999-10-29 Nec Corp 二重化情報処理装置
JP2001290668A (ja) * 2000-04-04 2001-10-19 Koken:Kk フォールトトレラント計算機及びこれを用いた通信システム
JP2001526422A (ja) * 1997-12-10 2001-12-18 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) プロセッサに関連する方法と、その方法に基づく機能に適合したプロセッサ

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63296952A (ja) * 1987-05-29 1988-12-05 Ricoh Co Ltd プリンタ
JPH02218022A (ja) 1989-02-17 1990-08-30 Ricoh Co Ltd 分離型光ピックアップ装置
DE69220262T2 (de) * 1991-03-08 1997-09-18 Matsushita Electric Ind Co Ltd Einrichtung zur Datenübertragung
JPH05241095A (ja) 1992-03-02 1993-09-21 Matsushita Electric Ind Co Ltd 光ディスクの球面収差の補正方法とそれを用いた光ヘッド
US6233702B1 (en) 1992-12-17 2001-05-15 Compaq Computer Corporation Self-checked, lock step processor pairs
JPH06324281A (ja) 1993-05-10 1994-11-25 Ricoh Co Ltd 光ピックアップ装置
US5422893A (en) * 1994-08-04 1995-06-06 International Busines Machines Corporation Maintaining information from a damaged frame by the receiver in a communication link
US5630056A (en) * 1994-09-20 1997-05-13 Stratus Computer, Inc. Digital data processing methods and apparatus for fault detection and fault tolerance
JPH0963108A (ja) 1995-08-28 1997-03-07 Sony Corp 光学ピックアップ装置
JPH11144294A (ja) 1997-11-07 1999-05-28 Sony Corp 光ピックアップ装置
DE69804489T2 (de) * 1997-11-14 2002-11-14 Marathon Technologies Corp., Boxboro Verfahren zur erhaltung von synchronisierter ausführung bei fehler-betriebssicheren/ fehlertoleranten rechnersystemen
JP3868119B2 (ja) 1998-07-17 2007-01-17 パイオニア株式会社 収差補正装置、非点収差測定方法及び光ピックアップ
US6151154A (en) * 1998-03-12 2000-11-21 Pioneer Electronic Corporation Optical pickup, aberration correction unit and astigmatism measurement method
JP2002133697A (ja) 2000-10-26 2002-05-10 Asahi Glass Co Ltd 光ヘッド装置
JP2002342975A (ja) 2000-12-28 2002-11-29 Sony Corp 光ディスク記録及び/又は再生装置及び収差調整方法
MY130955A (en) * 2000-12-28 2007-07-31 Sony Corp Optical disc recording and/or reproducing apparatus and aberration adjustment method.
JP3835526B2 (ja) 2001-06-13 2006-10-18 日本電気株式会社 光ヘッド装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01154242A (ja) * 1987-09-04 1989-06-16 Digital Equip Corp <Dec> 二重ゾーンの耐欠陥コンピュータシステム
JPH02264337A (ja) * 1989-04-04 1990-10-29 Nec Corp データ転送制御方式
JPH0471037A (ja) * 1990-07-12 1992-03-05 Toshiba Corp 電子計算機の二重化方式
JPH08278950A (ja) * 1995-04-04 1996-10-22 Hitachi Ltd 多重化コンピュータシステムおよび障害回復方法
JPH10154085A (ja) * 1996-11-21 1998-06-09 Fujitsu Ltd 二重化された監視/制御プロセッサによるシステム監視・制御方法および二重化監視/制御プロセッサ・システム
JP2001526422A (ja) * 1997-12-10 2001-12-18 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) プロセッサに関連する方法と、その方法に基づく機能に適合したプロセッサ
JPH11296394A (ja) * 1998-04-15 1999-10-29 Nec Corp 二重化情報処理装置
JP2001290668A (ja) * 2000-04-04 2001-10-19 Koken:Kk フォールトトレラント計算機及びこれを用いた通信システム

Also Published As

Publication number Publication date
DE602004024266D1 (de) 2010-01-07
CN1287284C (zh) 2006-11-29
EP1477899A2 (en) 2004-11-17
JP2004326151A (ja) 2004-11-18
CN1540514A (zh) 2004-10-27
US7821919B2 (en) 2010-10-26
CA2464779A1 (en) 2004-10-21
EP1477899A3 (en) 2008-06-11
US20040208130A1 (en) 2004-10-21
EP1477899B1 (en) 2009-11-25
AU2004201674A1 (en) 2004-11-04

Similar Documents

Publication Publication Date Title
JP4492035B2 (ja) データ処理装置
US6425033B1 (en) System and method for connecting peripheral buses through a serial bus
EP3035563B1 (en) High performance optical repeater
US7395485B2 (en) Check codes mapped across multiple frames
US7447953B2 (en) Lane testing with variable mapping
US7219294B2 (en) Early CRC delivery for partial frame
US7386768B2 (en) Memory channel with bit lane fail-over
US7383399B2 (en) Method and apparatus for memory compression
US9335373B2 (en) Memory channel having deskew separate from redrive
US7797575B2 (en) Triple voting cell processors for single event upset protection
WO2018125436A1 (en) High speed interconnect with channel extension
US7106742B1 (en) Method and system for link fabric error detection and message flow control
US20140281042A1 (en) First-in-first-out queue-based command spreading
US20040246767A1 (en) Memory channel with unidirectional links
US20040250024A1 (en) Memory channel with hot add/remove
US20040250153A1 (en) Data signal redrive with dynamic sampling adjustment
US7212423B2 (en) Memory agent core clock aligned to lane
US7200787B2 (en) Memory channel utilizing permuting status patterns
US7031258B1 (en) Digital data system with link level message flow control
WO2017014875A1 (en) High performance repeater
GB2399913A (en) A fault tolerant multiple processing set computer system
US20160255008A1 (en) Separable transport layer in cache coherent multiple component microelectronic systems
US20040246785A1 (en) Memory channel with redundant presence detect
US6829670B1 (en) Using consecutive block IDs to keep track of data transferred across a serially linked bridge
US20050268061A1 (en) Memory channel with frame misalignment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060313

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070126

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100218

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100329

R150 Certificate of patent or registration of utility model

Ref document number: 4492035

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140416

Year of fee payment: 4