JP4664159B2 - 独立したエラー回復機能を有するスレーブ装置 - Google Patents

独立したエラー回復機能を有するスレーブ装置 Download PDF

Info

Publication number
JP4664159B2
JP4664159B2 JP2005256229A JP2005256229A JP4664159B2 JP 4664159 B2 JP4664159 B2 JP 4664159B2 JP 2005256229 A JP2005256229 A JP 2005256229A JP 2005256229 A JP2005256229 A JP 2005256229A JP 4664159 B2 JP4664159 B2 JP 4664159B2
Authority
JP
Japan
Prior art keywords
data
error
master
error recovery
slave device
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
JP2005256229A
Other languages
English (en)
Other versions
JP2006074797A (ja
Inventor
ノーマン・シー・チョウ
ホイットニー・リー
Original Assignee
アバゴ・テクノロジーズ・ジェネラル・アイピー(シンガポール)プライベート・リミテッド
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 アバゴ・テクノロジーズ・ジェネラル・アイピー(シンガポール)プライベート・リミテッド filed Critical アバゴ・テクノロジーズ・ジェネラル・アイピー(シンガポール)プライベート・リミテッド
Publication of JP2006074797A publication Critical patent/JP2006074797A/ja
Application granted granted Critical
Publication of JP4664159B2 publication Critical patent/JP4664159B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • 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
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Description

マスター/スレーブ関係とは、ある装置(マスター)が別の装置(スレーブ)に対して一方向の制御権を有する通信プロトコルのことを指す。そのような関係が確立されたときには、制御の方向は、一般にマスター装置からスレーブ装置へとなる。そのような関係の一般的な例は、パラレルバスによってマスター中央処理装置(CPU)に結合されているメモリ素子のようなスレーブ装置であり、このスレーブ装置は一般にマスターCPUの完全な制御下にある。バストランザクションの中断によって生じるバスの「ハンギング」などの悪影響を回避するために、一般に、スレーブ装置のエラー回復機能は、マスターCPUによって様々な程度の制御を受ける。
従来から、スレーブ装置は、エラーを検出しマスターCPUに通知している。システムに依存するが、マスターCPUは、次に、スレーブ装置にエラー回復をさせるか、特定のタイプのエラー回復操作を実行することをスレーブ装置に指示するか、回復操作自体を実行することがある。しかしながら、スレーブ装置がより複雑でより高機能になり続けているので、エラー回復も複雑になり、各装置が特定のエラー回復要件を有する。従って、スレーブ装置のエラー回復操作は、複雑になり過ぎてマスターCPUが介入できなくなる可能性があり、最低でも、他のタスクの実行に費やすことができるマスターCPU処理時間をより多く消費する可能性がある。
1つの実施形態において、本発明は、マスタープロセッサに結合するようになされかつエラーハンドラと通信コントローラとを含むスレーブ装置を提供する。エラーハンドラは、スレーブ装置内部のエラーを検出するように構成され、エラーを少なくとも1つ検出するのに応じて、マスタープロセッサから独立して、検出した少なくとも1つのエラーに基づきエラー回復操作を選択し、選択したエラー回復操作を開始し実行するように構成される。通信コントローラは、マスター/スレーブプロトコルに従ってマスタープロセッサと通信するように構成され、エラーハンドラによる選択したエラー回復操作の実行中にマスター/スレーブプロトコルを維持するように構成される。
本発明の実施形態は、添付図面を参照することにより、一層良く理解される。図面の要素は必ずしも互いに一律の縮尺ではない。同じ参照数字は対応する類似の部分を示す。
以下の詳細な説明では、詳細な説明の一部を構成し、本発明を実施することができる実例に固有の実施形態によって示した添付図面を参照する。この点において、「上」、「下」、「前」、「後ろ」、「先」、「後」などの方向を示す用語は、説明する図面の向きに関して使用される。本発明の実施形態の構成要素は多くの異なる向きで配置できるので、方向を示す用語は説明のために使用され、決して限定のためではない。本発明の範囲を逸脱することなく他の実施形態を利用することができ、構造的または論理的な変更を行うことができることを理解されたい。従って、以下の詳細な説明は、限定の意味で解釈されるべきではなく、本発明の範囲は添付の特許請求の範囲によって定義される。
図1は、ネットワークシステム10を示すブロック図である。ネットワーク10は、ネットワークまたはサブネットワーク(サブネットと呼ばれることもある)でよく、このサブネットは、ルータによって他のサブネットと相互接続されて、さらに大きいネットワークを構成する。ネットワーク10は、任意のタイプの交換網でよい。例えば、ネットワーク10は、複数の装置が、保護されリモートで管理された状況において広帯域でかつ短い待ち時間で同時に通信することを可能にする交換通信ファブリックを定義するInfiniBandアーキテクチャである。
ネットワーク10は、集合的にエンドノード12と呼ばれる、ネットワーク10内にある4つのエンドノード12a、12b、12c、および12dを示す。当業者に知られているように、エンドノード12は、エンドノード12dによって示したようなプロセッサ13のようないくつかの異なる装置を表すことがある。プロセッサ13は、中央処理装置18、ランダムアクセスメモリ(RAM)などのメモリ20、およびネットワークインタフェース22を含む。他のエンドノード装置の例には、ネットワークへのルータや、RAID(redundant array of independent disks)サブシステムなどの入出力装置がある。4つのエンドノード12を示したが、ネットワーク10内にさらに多い数または少ない数のエンドノードがあってもよい。
ネットワーク10は、さらに、スイッチ14a、14b、14cおよび14d、ならびにルータ16を含む。スイッチ14a、14b、14cおよび14dは、集合的にスイッチ14と呼ばれ、通信のためにエンドノード12と接続する。例えば、プロセッサ13は、ネットワークインタフェース32を介してスイッチ14cに接続されている。ルータ16は、データパケットを送受信するためにネットワーク10からリモートのサブネットまでの接続を提供する。スイッチ14とルータ16は共に通信ファブリック17を構成する。ネットワーク10内の任意の2つの装置間に1つまたは複数のリンクが存在することができる。
スイッチ14はそれぞれ、エンドノード12間と、エンドノード12およびルータ16間とにおいてデータパケットの流れを制御することができる。ネットワーク10による各宛先は、スイッチ14を通る経路を表す少なくとも2つの関連した固有のローカル識別子(LID)を有する。スイッチ14は、宛先アドレスに基づいてデータのパケットを送り、その宛先アドレスは、データパケットのローカルルートヘッダ部内にあり、宛先に達するためのLIDを含む。スイッチ14が個々のパケットを受け取るとき、宛先アドレス内のローカル識別子に基づいてデータパケットが転送される。ネットワーク10内をパケットが通過する際、スイッチ14は直接アドレス指定されない。従って、スイッチ14は、エンドノード12にとって透過的であり、パケットは実質的に変更されずにスイッチ14を通過する。
サブネット内のルーティングはスイッチ14によって提供され、ルータ16は、サブネット間ルーティングの基本的なルーティング構成要素である。従って、ルータは、サブネット間でパケットを中継することによってサブネットを相互接続し、パケットは宛先サブネットに到達する。ルータ16は、データパケットのグローバルルートヘッダ部に基づいてパケットを転送する。ルータ16は、パケットをあるサブネットから別のサブネットに渡すときにパケットのローカルルートヘッダ部を置き換える。
ネットワークシステム10などの任意のネットワークシステム内で、様々なシステム構成要素間および/または様々なシステム構成要素内にマスター/スレーブ関係が存在することがある。例えば、プロセッサ13とスイッチ14cの間あるいはCPU18とプロセッサ13のメモリ20の間にマスター/スレーブ関係が存在することがある。上記の例は、ネットワークアーキテクチャ内のマスター/スレーブ関係を示しているが、そのような関係は、装置がより大きなネットワークシステムの一部分かどうかに関係なく、その装置間に存在する可能性がある。
図2は、一般に、本発明によるマスターCPU32とスレーブ装置34を含むマスター/スレーブシステム30を示す。スレーブ装置34は、さらに、通信コントローラ36とエラーハンドラ38を含む。エラーハンドラ38は、スレーブ装置34の内部のエラーを検出するように構成されており、エラーを少なくとも1つ検出するのに応じて、マスターCPU32から独立して、少なくとも1つの検出エラーに基づいてエラー回復操作を選択し、選択したエラー回復操作を開始し実行するように構成されている。通信コントローラ36は、マスター/スレーブプロトコルに従ってマスターCPU32と通信するように構成され、選択したエラー回復操作をエラーハンドラ38が実行している間にマスター/スレーブプロトコルを維持するように構成される。
選択したエラー回復操作が完了したとき、通信コントローラ36は、マスターCPU32にリセット割込信号42を提供して、マスターCPU32に、エラー回復操作の実行が完了し、マスターCPU32とスレーブ装置34との間でリンク40を介して転送されたいくつかのデータが失われたか損なわれた可能性があることを通知するように構成される。1つの実施形態において、マスターCPU32は、リセット割込信号42に応じて、チェックポイントリトライ操作を開始するように構成される。1つの実施形態において、エラーハンドラ38は、複数タイプのエラーを検出し、検出したエラーのタイプまたはタイプの組み合わせに基づいて、複数のエラー回復操作から所望のエラー回復操作を選択するように構成される。
エラーを検出し、エラー回復操作を選択し、選択したエラー回復操作をマスターCPU32とは独立して開始し実行することによって、本発明によるスレーブ装置34は、普通ならマスターCPU32がスレーブ装置34のエラー回復操作に費やす時間を他のタスクに充てることを可能にする。さらに、エラーハンドラ38を含むスレーブ装置34のような、独立したエラー回復機能を有するスレーブ装置は、その装置自体の特定の設計に適応する複雑なエラー回復スキームを使用し、それにより、マスターCPU34などのマスターCPUが、接続される可能性のあるスレーブ装置ごとに個別のエラー回復機構を備える必要がなくなる。
図3は、本発明のある実施形態による独立したエラー回復を備えた例示のネットワークスイッチ134の一部分を概略的に示すブロック図である。ネットワークスイッチ134は、マスターCPU132と共にネットワークシステム130の一部分を構成し、ネットワークシステム130は、さらにネットワークファブリック135を含む。ネットワークスイッチ134は、さらに大きいネットワークファブリック135の一部分を構成し、ネットワークファブリック135は、図1のネットワークファブリック17のネットワークスイッチ14やルータ16などのさらに他のネットワークスイッチおよび/またはルータを含むことがある。同様に、マスターCPU132は、図1のエンドノード12などのネットワークファブリック135に結合されることがあるネットワークシステム130の複数のエンドノードのうちの1つのエンドノードを表す。エンドノード12と同様に、マスターCPU132は対応する固有のLIDを有する。
ネットワークスイッチ134は、ネットワークシステム130のマスターCPU132と他のエンドノードとの間でデータパケットの流れを導き制御するように構成される。ネットワークスイッチ134は、通信コントローラ136とエラーハンドラ138を含む。通信コントローラ136は、CPUバス142を介してマスターCPU132に接続されたCPUインタフェース(IF)140と、出力パケットバッファ144と、入力パケットバッファ146と、パケットディスパッチャ148とを含む。出力パケットバッファ144とパケットディスパッチャ148は、リンク152とリンク154を介してネットワークファブリック135にそれぞれ結合されている。
CPU IF140は、システムプロトコルに従ってマスターCPU132と共にデータトランザクションを実行するように構成されている。1つの実施形態において、各データトランザクションは、所定数のデータバイトを含む。所定数のデータバイトをマスターCPU132から受け取るかまたはマスターCPU132に送ったとき、CPU IF140は、トランザクションが完了したことを示す肯定応答(ACK)信号をマスターCPU132に提供する。従って、CPU IFは、データパケットをCPU132から受け取ったりCPU132に送ったりするために複数のトランザクションを必要とする。別の実施形態において、CPU IF140は、バーストモードプロトコルに従ってマスターCPU132と共にデータトランザクションを実行することができる。1つの実施形態において、CPU IF140はマイクロコントローラを含む。
ネットワークスイッチ134は、マスターCPU132だけに結合されているように示したが、図1のネットワークスイッチ14cによって示したような複数のリンクを介して複数のエンドノードに結合され、その複数のエンドノードとの間のデータの流れを導き制御するように構成されてもよいことに注意されたい。同様に、マスターCPU132は、ネットワークスイッチ134だけに結合されているように示されているが、他のスレーブ装置を含むその他の装置に結合されてもよい。
一般に、データパケットを送信するかまたは発生するエンドノードは、ソースエンドノードと呼ばれ、データパケットを受信するかまたは消費するエンドノードは、宛先エンドノードと呼ばれる。従って、マスターCPU132は、ソースエンドノードと宛先エンドノードの両方として動作することができる。以下に、マスターCPU132からネットワークファブリック135にデータを転送するとき(すなわち、マスターCPU132がソースエンドノードとして動作しているとき)のネットワークスイッチ134の動作を簡単に示す。
ネットワークファブリック135を介してデータパケットを宛先エンドノードに送るデータトランザクションを開始するために、マスターCPU132は、CPUバス142を介して、システムプロトコルに従って、データトランザクションを実行したいことを示す通知信号をCPU IF140に提供する。1つの実施形態において、マスターCPU132は、CPU IF140と関連したチップセレクト信号をアサートすることによって、データトランザクションを実行したいかどうかをCPU IF140に通知する。マスターCPU132は、チップセレクト信号をアサートした後に、実行したいトランザクションのタイプを示すトランザクション信号をCPU IF140に提供する。1つの実施形態において、トランザクション信号は、この図のようにマスターCPU132がソースエンドノードとして動作しているときの書き込みコマンドと、マスターCPU132が宛先エンドノードとして動作しているときの読み出しコマンドとを含む。
トランザクション信号に応じて、CPU IF140は、システムプロトコルに従って、CPUバス142を介してマスターCPU132からデータの受け取りを開始する。CPU IF140がマスターCPU132からデータを受け取ると、CPU IF140は、リンク150を介して出力パケットバッファ144にデータを転送し始める。1つの実施形態においては、入ってくるデータをマスターCPU132から出力パケットバッファ144に転送するときにデータの並列−直列変換を実行する。トランザクションが完了したとき、CPU IF140は、すべてのデータを受け取ったことを示すACK信号をマスターCPU132に提供する。これに応じて、マスターCPU132は、チップセレクト信号のアサートを解除する。以上のデータトランザクションプロセスは、所望のデータがすべてマスターCPU132からネットワークスイッチ134に転送されるまで連続的に繰り返される。
前述のような各データトランザクション中に、CPU IF140は、CPU IF140とマスターCPU132の間でデータトランザクションが続いているという指示を提供するためにトランザクションフラグ160をアサートする。1つの実施形態において、CPU IFは、チップセレクト信号をアサートしたときにトランザクションフラグ160をアサートし、肯定応答信号を提供した後でトランザクションフラグ160のアサートを解除する。より詳細に後で説明するように、トランザクションフラグ160は、ネットワークスイッチ134によるエラー回復操作の一部として使用される。
出力パケットバッファ144がCPU IF140からデータを受け取ると、出力コントローラ162は、ネットワークシステム130の適切な宛先エンドノードへの次の送信のために、リンク152を介したネットワークファブリック135へのデータの送信を制御する。1つの実施形態において、出力コントローラ162は、出力パケットバッファ144がデータを受け取ったときにすぐにネットワークファブリック135にデータを送信し始めるように構成される。別の実施形態において、出力コントローラ162は、出力パケットバッファ144が完全なデータパケットを受け取るのを待って、組み立てたデータパケットをネットワークファブリック135に送信する。これは一般に蓄積転送プロセスと呼ばれる。
次に、ネットワークファブリック135からマスターCPU132にデータを転送するとき(すなわち、マスターCPU132が宛先エンドノードとして動作するとき)のネットワークスイッチ134の動作を簡単に説明する。そのようなデータトランザクションは、パケットディスパッチャ148がリンク154を介してネットワークファブリック135からデータパケットを受け取ったときに開始する。前述のように、ネットワークスイッチ134は、マスターCPU132以外の他のスイッチまたはエンドノードにリンクされていることができ、各エンドノードは固有のLIDを有する。従って、パケットディスパッチャ148は、受け取ったデータパケットのローカルヘッダに含まれるLIDに基づいて、リンク156を介して、受け取ったデータパケットをネットワークスイッチ134内の適切な場所に送る。マスターCPU132に対応するLIDを有するローカルヘッダを有するデータパケットを受け取ったとき、パケットディスパッチャ148は、リンク156bを介して、そのデータパケットを入力パケットバッファ146に送る。
入力コントローラ164は、マスターCPU132に対応するLIDを有するパケットを受け取ると、新しいパケット割込信号166によってパケットの存在をマスターCPU132に通知する。マスターCPU132は、新しいパケット割込信号166に応じて、またソースエンドノードとして動作しているときの前の説明と同じように、入力パケットバッファ146からパケットを読み出すために一連のCPUバストランザクションを開始する。CPUバストランザクションはそれぞれ、チップセレクト信号のアサートなどの通知手順により、データトランザクションを実行したいことをCPU IF140に通知する。入力パケットバッファ146内のすべてのパケットを空にするために必要なCPUバストランザクションの数が、システムレベルプロトコルに従って決定される。
チップセレクト信号をアサートした後で、マスターCPU132は、CPU IF140に入力パケットバッファ146からデータを読み取るように指示するトランザクション信号をCPU IF140(すなわち、リードコマンド)に提供する。次に、CPU IF140は、CPUバスプロトコルに従って、リンク158とCPUバス142を介して入力パケットバッファ146からマスターCPU132にデータを転送し始める。1つの実施形態において、CPU IF140は、マスターCPU132にデータを転送する前に並列−直列変換を実行する。CPUバストランザクション内の最後のデータバイトを転送した後、CPU IF140は、すべてのデータを送信したという肯定応答信号をマスターCPU132に送り、マスターCPU132は、チップセレクト信号のアサートを解除する。前と同じように、このデータトランザクションプロセスは、受け取ったすべてのデータが入力パケットバッファ146からマスターCPU132に転送されるまで連続的に繰り返される。1つの実施形態において、CPU IF140は、バーストモードプロトコルに従ってマスターCPU132と共にデータトランザクションを実行することができる。1つの実施形態において、CPU IF140はマイクロコントローラを含む。
CPU IF140がマスターCPU132からデータを受け取っているときと同じように、前述の各データトランザクションの間に、CPU IF140は、CPU IF140とマスターCPU132との間でデータトランザクションが進行中であることを示すトランザクションフラグ160をアサートする。1つの実施形態において、CPU IFは、マスターCPU132からチップセレクト信号を受け取ったときにトランザクションフラグ160をアサートし、肯定応答信号を提供した後でトランザクションフラグ160のアサートを解除する。
場合によっては、マスターCPU132とネットワークファブリック135との間でデータを転送するときにネットワークスイッチ134内で致命的エラーが生じることがある。致命的エラーは、予期しない状態または曖昧な状態を有する制御ロジックやレジスタなどの状態を含むことがある。前述のように、従来のマスター/スレーブ関係において、ネットワークスイッチ134などのスレーブ装置は、単にエラーを検出しそれをマスターCPU132などのマスター装置に示し、そしてマスター装置がスレーブ装置のエラー回復を開始しある程度の制御を行う。しかしながら、後で説明するように、ネットワークスイッチ134は、マスターCPU132から独立して回復を検出し、選択し、開始し、実行するように構成される。
エラーハンドラ138は、致命的エラー170a〜170mとして示した、ネットワークスイッチ134内部の複数のエラーを検出するように構成されている。エラーハンドラ138は、検出した致命的エラー170あるいは検出した致命的エラー170の組み合わせに基づいて、リセットタイプ172a〜172nとして示した複数のエラーリセットまたはエラー回復操作のうちの1つを選択し開始するエラー回復プロトコルを含む。選択したリセットタイプ172により、バッファと作業レジスタ(図示せず)、出力パケットバッファ144、入力パケットバッファ146などのネットワークスイッチ134の様々な要素がリセットされてもよい。選択したエラー回復操作172が開始されたとき、エラーハンドラ138は、エラー回復フラグ174をアサートする。エラー回復フラグは、選択したエラー回復操作172が完了するまでアサートされたままである。
エラーハンドラ138が、選択したエラー回復操作172を独立に開始するので、CPU IF140は、マスターCPU132とともにシステムプロトコルを維持することによってCPUバス142のハンギングを回避するため、選択したエラー回復操作の実行中に、進行中および保留中のデータトランザクションをマスターCPU132によって完了するように構成される。1つの実施形態において、CPU IF140は、トランザクション保留フラグ160とエラー回復フラグ174の状態を監視する。(進行中のトランザクションを示す)トランザクション保留フラグ160がアサートされている間にエラーハンドラ138によってエラー回復フラグ174がアサートされたときは、CPU IF140は、セマフォ180をアサートしてネットワークファブリック135へのデータパケットの転送を遮断する。セマフォ180は、まだ良好な組のCRCチェックビットを有するが致命的エラー170によって潜在的に破壊されているデータパケットが、ネットワークファブリック135に送られるのを防ぐ働きをする。なお、このCRCチェックビットは、出力パケットバッファコントローラ162によって自動的に生成される。
CPU IF140がマスターCPU132からデータを受け取っている間(すなわち、進行中トランザクション保留フラグ160がセットされている間)にエラー回復フラグ174がアサートされた場合、CPU IF140は、セマファ160がアサートされかつ進行中データトランザクションの内容が破棄されることをCPU IF140が知っている場合でも進行中トランザクションを完了するように構成される。データトランザクションが完了した後、データトランザクションの内容がネットワークファブリック135に送信されないことをCPU IF140が知っている場合でも、CPU IF140はマスターCPU132にACK信号を提供し、トランザクションは適切に終了する。
1つの実施形態において、データパケットが処理されているかまたは出力パケットバッファ144からネットワークファブリック135に送られている間にセマフォ180がアサートされた場合、出力コントローラ162は、これから送られる残りのデータパケットに偽データを挿入し、その結果、ルートの宛先エンドノードまたは次のスイッチへのデータパケットに明らかなエラーが現われ、その結果確実に廃棄されるように構成される。1つの実施形態において、出力コントローラは、出てゆくデータパケットに偽CRCを挿入することによってこれを達成する。
1つの実施形態において、出力パケットバッファが、複数の出力データパケットを記憶するように構成されているとき(すなわち、蓄積転送スキーム)、出力コントローラ162は、セマフォ180がアサートされたときに、セマフォがアサートされる前に受け取ったパケットと、セマフォ180がアサートされている間またはアサートされた後で受け取ったデータパケットとの間を示すポインタをセットする。セマフォ180がアサートされる前に受け取ったデータパケットは、出力コントローラ162によってネットワークファブリック135に送出され、セマフォ180がアサートされている間またはアサートされた後で受け取ったデータパケットは、ネットワークファブリック135に入るのを阻止される。
選択したエラー回復操作が完了した後、エラーハンドラ138は、エラー回復フラグ174のアサートを解除し、続いてCPU IF140は、ネットワークスイッチ134が、エラー回復操作を実行したばかりで、一部のデータがネットワークファブリック135にまだ送信されていない可能性があることを示すリセット割込信号182をマスターCPU132に提供する。これに応じて、マスターCPU132は、当業者に一般にチェックポイントリトライ(check−point retry)として知られているものを開始し、前のチェックポイント状態または回復ラインから実行を再開するように構成される。マスターCPU132は、システムプロトコルの一部として、リセット割込182に応じてセマフォ180のアサートを解除し、それにより出力パケットバッファ144は、ネットワークファブリック135へのデータパケットの伝送を再開することができる。セマフォ180は、ネットワークスイッチ134によってリセットされることはなく、ネットワークスイッチ134はマスターCPU132がチェックポイントリトライをいつ実行したかに関与しないので、マスターCPU132によってリセットされなければならない。
エラー回復のタイプによって、出力パケットバッファ144は、選択したエラー回復操作172の一部としてリセットすなわちクリアされる場合もされない場合もある。出力パケットバッファ144が、1つまたは複数のデータパケットを記憶するように構成されている場合、これは、マスターCPU132がチェックポイントリトライを実行した後で冗長データパケットがネットワークファブリックに送られることがあることを意味する。しかしながら、宛先エンドノードに冗長データパケットを送ることは許容できるが、破損したデータパケットを正常なCRCチェックビットと共にネットワークファブリックに送ることは許容できない。
CPU IF140が入力パケットバッファ146からのデータトランザクションを実行している間(すなわち、トランザクション保留フラグ160とエラー回復174の両方がアサートされている間)に選択したエラー回復操作172を開始した場合、CPU IF140は、入力パケットバッファ146がリセットされまた入力コントローラ164が進行中トランザクションを適切に完了できないであろうことを知っている。CPU IF140は、システムプロトコルに基づいて、進行中トランザクションを完了するためにマスターCPU132に転送される残りのデータの量を知る。
このシナリオにおいて、CPU IF140は、トランザクションにおける残りの量のデータを作成することによって進行中のデータトランザクションを完了するように構成される。1つの実施形態において、CPU IF140は、データが無効である可能性が高いことをCPU IF140が知っている場合でも、単に進行中トランザクションを完了するのに必要な残りのデータ量と等しいデータ量を入力パケットバッファ146から転送することによって、残りのデータトランザクションを作成する。1つの実施形態において、CPU IF140は、進行中データトランザクションを完了するのに必要な残りのデータ量と等しい量のランダムデータを自己生成することによって残りのデータトランザクションを作成する。さらに別の実施形態において、CPU IF140は、進行中データトランザクションを完了するのに必要な残りのデータ量と等しい量のランダムデータをメモリ184から転送することによって残りのデータトランザクションを作成する。
進行中データトランザクションの作成を完了した後、CPU IF140は、すべてのデータが転送されたという指示をマスターCPU132に提供し、トランザクションが適切に終了する。1つの実施形態において、選択したエラー回復操作172は、データトランザクションを完了するのに必要な時間内に完了するように構成される。1つの実施形態において、エラー回復フラグ174がアサートされている間にマスターCPU132が入力パケットバッファ146からのデータを要求することによって開始される後のデータトランザクションは、全体がCPU IF140によって作成される。
前の説明と同じように、選択したエラー回復操作が完了した後で、エラーハンドラ138は、エラー回復フラグ174のアサートを解除し、CPU IF140は、ネットワークスイッチ134がエラー回復操作を実行したばかりで、CPU132が受け取ったいくつかのデータが無効である可能性があることを示すリセット割込信号182をマスターCPU132に送る。これに応じて、マスターCPUは、再び、自分自身を前のチェックポイントにリセットするチェックポイントリトライを開始する。この場合も、システムプロトコルの一部として、出力データトランザクションが行われなかった可能性がある場合でも、マスターCPU132は、リセット割込182を受け取った後で、出力パケットバッファ144がネットワークファブリック135にデータパケットを送ることができるようにセマフォ180のアサートを解除するかまたはリセットする。
セマフォ180とリセット割込信号182は、エラー回復フラグ174がアサートされ、進行中トランザクション保留フラグ160もアサートされている間だけ、CPU IF140によってセットされることに注意されたい。マスターCPU132とCPU IF140の間でトランザクションが進行していない間に、選択したエラー回復操作172が実行された場合は、データは影響を受けず、従って、セマフォ180は送られず、マスターCPU132はたチェックポイントリトライを実行する必要がない。
前述のように、マスターCPU132によるバストランザクションをエラーハンドラ138によって選択されたエラー回復操作172から切り離すことによって、ネットワークスイッチ134は、マスターCPU132による介入がなくても、それ自体の高度なエラー回復操作を実行することができる。これにより、接続される可能性のある他の装置へのデータトランザクションのような他の作業負荷を実行するためにマスターCPU132を開放することができ、ネットワークスイッチ134が、それ自体の必要性に合わせた高度なエラー回復機能を実行するができる。
図4は、本発明の1つの実施形態による独立したエラー回復を備えた例示のメモリ素子234の一部分を概略的に示すブロック図である。メモリ素子234は、マスターCPU232に結合してマスター/スレーブシステム230を構成するように適応される。メモリ素子234は、記憶媒体235と、エラーハンドラ238と、CPUバス242を介してマスターCPU232にマスターに結合するように適応されたメモリコントローラ240と、入力レジスタ244と、出力レジスタ246とを含む。
メモリ素子234は、ネットワークスイッチ134に関して前に説明したのと類似の態様で動作する。メモリコントローラ240は、システムプロトコルに従いマスターCPU232によってデータトランザクションを実行するように構成されている。マスターCPU232は、メモリ素子234にデータを書き込むために、メモリ素子234と関連したチップセレクト信号をアサートし、書き込みコマンドに従う。次に、マスターCPU232は、データを書き込みたいアドレスをメモリコントローラ240に提供する。メモリコントローラ240は、そのアドレスを記憶媒体235内の物理位置に変換し、CPUバス242を介してマスターCPU232からデータを受け取り始める。メモリコントローラ240は、データを入力レジスタ244に転送し、入力レジスタ244は、記憶媒体235内の物理位置にデータを書き込む。(システムプロトコルに従って)マスターCPU232から所定量のデータを受け取った後、メモリコントローラ240は、データトランザクションが完了したことを示すACK信号をマスターCPU232に提供する。
同様に、メモリ素子234からデータを読み取るために、マスターCPU232は、チップセレクト信号をアサートし、読み取りコマンドに従う。次にマスターCPU232は、要求データを記憶媒体235から読み出したいアドレスを提供する。メモリコントローラは、そのアドレスを記憶媒体235内の物理位置に変換し、次にシステムプロトコルに従ってデータを出力レジスタ246とCPUバス242を介してマスターCPU232に転送し始める。システムプロトコルに従って所定量のデータを転送した後、メモリコントローラ240は、データトランザクションが完了したことを示すACK信号をマスターCPU232に提供する。
読み出し操作または書き込み操作を実行したとき、メモリコントローラ240は、データトランザクションが進行していることを示すトランザクションフラグ260をアサートする。1つの実施形態において、トランザクションフラグ260は、マスターCPU232がチップセレクト信号をアサートしたときにアサートされ、メモリコントローラ240がACK信号を発行したときにアサートが解除される。
エラーハンドラ238は、致命的エラー270a〜270mとして示した、メモリ素子234内部の複数のエラーを検出するように構成される。エラーハンドラ238は、検出した致命的エラー270または検出した致命的エラー270の組み合わせに基づいて、リセットタイプ272a〜272nとして示したように複数のエラーリセット操作またはエラー回復操作のうちの1つを選択し開始するエラー回復プロトコルを含む。選択したリセットタイプ272により、様々なバッファと作業レジスタ(図示せず)や入力レジスタ244と出力レジスタ246など、メモリ素子234の様々な要素をリセットすることができる。エラーハンドラは、選択したエラー回復操作272が実行されている間、エラー回復フラグ274をアサートする。
エラーハンドラ238が、メモリコントローラ240が書き込み操作と関連したマスターCPU232によってデータトランザクションを実行している間に選択したエラー回復操作272を開始する場合、メモリコントローラ240は、記憶媒体235に書き込まれているデータが破壊されている可能性がある場合でも進行中データトランザクションを完了するように構成される。1つの実施形態において、記憶媒体235が、コンパクトディスクなどの追記型媒体を含むとき、入力レジスタ244は、記憶媒体235にデータを書き込む前に完全なデータトランザクションを受け取るように構成され、セマフォ280は、トランザクションフラグ260とエラー回復フラグ274が両方ともアサートされたときにメモリコントローラ240によってセットされる。セマフォ280は、記憶媒体235に潜在的な破損データが書き込まれるのを防ぐ。
進行中データトランザクションが完了した後で、メモリコントローラ240は、マスターCPU232にACK信号を提供し、トランザクションは適切に終了する。選択したエラー回収操作272が完了した後で、エラー回復フラグ274はアサートを解除され、メモリコントローラ240は、メモリ素子234がエラー回復操作を実行し終えたことを示すリセット割込信号をマスターCPU232に提供する。これに応じて、マスターCPU232は、チェックポイントリトライを実行する。メモリ素子234がセマフォ280を含む場合、マスターCPU232は、チェックポイントリトライを実行した後の再開操作によってセマフォ280をシステムプロトコルの一部としてリセットする。
エラーハンドラ238が、メモリコントローラ240が読み取り操作と関連したマスターCPU232によってデータトランザクションを実行している間に選択したエラー回復操作272を開始する場合、メモリコントローラ240は、出力レジスタ246からマスターCPU232に転送されているデータが破損している可能性がある場合でも、進行中のデータトランザクションを完了するように構成される。メモリコントローラ240は、システムプロトコルに基づいて、エラー回復操作を開始した(すなわち、エラー回復フラグ274がアサートされた)後で進行中データトランザクションを完了するために、マスターCPU232に転送される残りのデータ量を知る。1つの実施形態において、メモリコントローラ240は、出力レジスタ246からのデータが破損している可能性があることをメモリコントローラ240が知っている場合でも、単に出力レジスタ246からの進行中データトランザクションを完了するのに必要な残りの量のデータをマスターCPU232に転送し続けることによって進行中データトランザクションを完了する。
この場合も、進行中データトランザクションを完了した後で、メモリコントローラ240は、マスターCPU232にACK信号を提供し、トランザクションは適切に終了する。選択したエラー回復操作272が完了した後、エラー回復フラグ274はアサートを解除され、メモリコントローラ240は、メモリ素子234がエラー回復操作を実行したことを示すリセット割込信号282をマスターCPU232に提供する。これに応じて、マスターCPUは、チェックポイントリトライを実行する。メモリ素子がセマフォ280を含む場合、マスターCPU232は、チェックポイントリトライを実行した後で再開操作によりセマフォ280をリセットする。
本明細書において特定の実施形態を示し説明したが、当業者は、示し説明した特定の実施形態に、本発明の範囲から逸脱することなく様々な代替および/または等価な実施形態を代用できることを理解するであろう。この出願は、本明細書に述べた特定の実施形態の任意の適応または変形を対象として含むように意図されている。従って、本発明は特許請求の範囲とその等価物によってのみ限定されるように意図されている。
ネットワークシステムを概略的に示すブロック図である。 本発明によるマスター/スレーブシステムを概略的に示すブロック図である。 本発明によるネットワークスイッチの1つの実施形態を示すブロック図である。 本発明によるメモリ素子の1つの実施形態を示すブロック図である。
符号の説明
30 マスター/スレーブシステム
32 マスターCPU
34 スレーブ装置
36 通信コントローラ
38 エラーハンドラ

Claims (7)

  1. マスタープロセッサに結合するようにされたスレーブ装置であって、
    前記スレーブ装置内部のエラーを検出するように構成され、エラーを少なくとも1つ検出するのに応じて、前記マスタープロセッサから独立して、少なくとも1つの検出したエラーに基づきエラー回復操作を選択するように構成され、前記選択したエラー回復操作を開始して実行するように構成されたエラーハンドラと、
    マスター/スレーブプロトコルに従って前記マスタープロセッサと通信するように構成され、前記エラーハンドラが前記選択したエラー回復操作を実行している間に前記マスター/スレーブプロトコルに従った通信を維持するように構成され、前記マスタープロセッサにリセット割込信号を提供して、前記マスタープロセッサに、エラー回復操作の実行が完了し、前記スレーブ装置と前記マスタープロセッサとの間で転送されたデータの一部分が失われたか損なわれた可能性があることを通知するように構成された通信コントローラと
    を備えてなるスレーブ装置。
  2. 前記エラーハンドラは、複数のタイプのエラーを検出し、前記検出したエラーのタイプに基づいて、複数のエラー回復操作から所望のエラー回復操作を選択するように構成される、請求項1に記載のスレーブ装置。
  3. 前記リセット割込信号が前記マスタープロセッサにチェックポイントリトライ操作を開始する働きをし、それにより前記マスタープロセッサが前のチェックポイント状態から実行を開始する、請求項1に記載のスレーブ装置。
  4. 前記通信コントローラが、前記マスター/スレーブプロトコルに従って前記マスタープロセッサによってデータトランザクションを実行するように構成され、各トランザクションが所定のデータ量を含み、前記通信コントローラは、前記エラーハンドラが前記選択したエラー回復操作を開始したときに前記マスタープロセッサにより進行中のトランザクションを完了するように構成されている、請求項1に記載のスレーブ装置。
  5. 前記通信コントローラは、前記エラーハンドラが前記選択したエラー回復操作を開始した後で前記スレーブ装置から前記マスタープロセッサへの進行中のデータトランザクションを完了するのに必要な量のデータを作成するように構成され、前記作成された量のデータが、前記所定のデータ量と、前記選択したエラー回復操作の前記開始前に前記スレーブ装置から前記マスタープロセッサによって受け取ったデータの量との間の差の量のデータを含む、請求項に記載のスレーブ装置。
  6. マスタープロセッサに結合するようにされたスレーブ装置を操作する方法であって、
    マスター/スレーブプロトコルに従って前記マスタープロセッサと通信するステップと、
    前記スレーブ装置の内部エラーを少なくとも1つ検出するステップと、
    少なくとも1つの前記検出した内部エラーに基づきエラー回復操作を選択するステップと、
    前記選択したエラー回復操作を前記マスタープロセッサから独立して開始し実行するステップと、
    通信バス上で、前記通信バスのハンギングを回避するために、エラー回復操作が同時に発生するかに関係なく、少なくとも、前記スレーブ装置と前記マスタープロセッサの間で、a)保留中のデータトランザクション、又は、b)進行中のデータトランザクションのうち、少なくとも一つを完了するステップと
    を有することを特徴とする方法。
  7. 前記マスタープロセッサと通信するステップが、前記マスター/スレーブプロトコルに従って前記マスタープロセッサによってデータトランザクションを実行するステップをさらに含み、各トランザクションが所定量のデータを含んでおり、
    前記進行中のデータトランザクションを完了するステップが、前記選択したエラー回復操作の前記開始の前に、前記所定量のデータの量と転送されるデータの量の間の差の量のデータを含む、量のデータを作成するステップを含む、請求項に記載の方法。
JP2005256229A 2004-09-03 2005-09-05 独立したエラー回復機能を有するスレーブ装置 Expired - Fee Related JP4664159B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/933,750 US7526676B2 (en) 2004-09-03 2004-09-03 Slave device having independent error recovery

Publications (2)

Publication Number Publication Date
JP2006074797A JP2006074797A (ja) 2006-03-16
JP4664159B2 true JP4664159B2 (ja) 2011-04-06

Family

ID=34983659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005256229A Expired - Fee Related JP4664159B2 (ja) 2004-09-03 2005-09-05 独立したエラー回復機能を有するスレーブ装置

Country Status (3)

Country Link
US (1) US7526676B2 (ja)
JP (1) JP4664159B2 (ja)
GB (1) GB2417802B (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070174695A1 (en) * 2006-01-18 2007-07-26 Srinidhi Varadarajan Log-based rollback-recovery
US7953907B1 (en) * 2006-08-22 2011-05-31 Marvell International Ltd. Concurrent input/output control and integrated error management in FIFO
WO2009062280A1 (en) * 2007-11-15 2009-05-22 Mosaid Technologies Incorporated Methods and systems for failure isolation and data recovery in a configuration of series-connected semiconductor devices
JP2010134251A (ja) * 2008-12-05 2010-06-17 Sanyo Electric Co Ltd 映像表示装置およびその制御方法
US8386594B2 (en) * 2010-02-11 2013-02-26 Intel Corporation Network controller circuitry to initiate, at least in part, one or more checkpoints
US8495422B2 (en) * 2010-02-12 2013-07-23 Research In Motion Limited Method and system for resetting a subsystem of a communication device
US9191203B2 (en) 2013-08-06 2015-11-17 Bedrock Automation Platforms Inc. Secure industrial control system
US8971072B2 (en) 2011-12-30 2015-03-03 Bedrock Automation Platforms Inc. Electromagnetic connector for an industrial control system
US9600434B1 (en) 2011-12-30 2017-03-21 Bedrock Automation Platforms, Inc. Switch fabric having a serial communications interface and a parallel communications interface
US8868813B2 (en) 2011-12-30 2014-10-21 Bedrock Automation Platforms Inc. Communications control system with a serial communications interface and a parallel communications interface
US8862802B2 (en) * 2011-12-30 2014-10-14 Bedrock Automation Platforms Inc. Switch fabric having a serial communications interface and a parallel communications interface
US9727511B2 (en) 2011-12-30 2017-08-08 Bedrock Automation Platforms Inc. Input/output module with multi-channel switching capability
US9437967B2 (en) 2011-12-30 2016-09-06 Bedrock Automation Platforms, Inc. Electromagnetic connector for an industrial control system
US11144630B2 (en) 2011-12-30 2021-10-12 Bedrock Automation Platforms Inc. Image capture devices for a secure industrial control system
US11967839B2 (en) 2011-12-30 2024-04-23 Analog Devices, Inc. Electromagnetic connector for an industrial control system
US12061685B2 (en) 2011-12-30 2024-08-13 Analog Devices, Inc. Image capture devices for a secure industrial control system
US10834094B2 (en) 2013-08-06 2020-11-10 Bedrock Automation Platforms Inc. Operator action authentication in an industrial control system
US11314854B2 (en) 2011-12-30 2022-04-26 Bedrock Automation Platforms Inc. Image capture devices for a secure industrial control system
US9467297B2 (en) 2013-08-06 2016-10-11 Bedrock Automation Platforms Inc. Industrial control system redundant communications/control modules authentication
US10834820B2 (en) 2013-08-06 2020-11-10 Bedrock Automation Platforms Inc. Industrial control system cable
US9218236B2 (en) * 2012-10-29 2015-12-22 Infineon Technologies Ag Error signal handling unit, device and method for outputting an error condition signal
US10613567B2 (en) 2013-08-06 2020-04-07 Bedrock Automation Platforms Inc. Secure power supply for an industrial control system
CN105281061A (zh) 2014-07-07 2016-01-27 基岩自动化平台公司 工业控制系统电缆
US9858151B1 (en) 2016-10-03 2018-01-02 International Business Machines Corporation Replaying processing of a restarted application
US11656945B2 (en) * 2020-12-24 2023-05-23 Advanced Micro Devices, Inc. Method and apparatus to support instruction replay for executing idempotent code in dependent processing in memory devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06119303A (ja) * 1992-10-06 1994-04-28 Toshiba Corp 疎結合マルチプロセッサシステム
JP2003158541A (ja) * 2001-11-21 2003-05-30 Mitsubishi Electric Corp ルーティング制御装置、及び、ルーティング制御方法
JP2004129218A (ja) * 2002-08-05 2004-04-22 Canon Inc デジタルカメラおよびプリンタ

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57114954A (en) 1981-01-05 1982-07-17 Nec Corp Error recovery system for logical device
AU560352B2 (en) 1981-10-05 1987-04-02 Digital Equipment Corporation Secondary storage facility employing serial communications between drive and controller
IT1151351B (it) * 1982-01-19 1986-12-17 Italtel Spa Disposizione circuitale atta a realizzare lo scambio di dati tra una coppia di elaboratori operanti secondo il principio master-slave
US4553236A (en) * 1983-01-25 1985-11-12 Storage Technology Partners System for detecting and correcting errors in a CMOS computer system
US4665520A (en) * 1985-02-01 1987-05-12 International Business Machines Corporation Optimistic recovery in a distributed processing system
US5251227A (en) * 1989-08-01 1993-10-05 Digital Equipment Corporation Targeted resets in a data processor including a trace memory to store transactions
US5157780A (en) * 1990-06-12 1992-10-20 Advanced Micro Devices, Inc. Master-slave checking system
US5469542A (en) * 1991-07-22 1995-11-21 International Business Machines Corporation Serial diagnostic interface bus for multiprocessor systems
US5499336A (en) * 1991-08-16 1996-03-12 Robert Bosch Gmbh Monitoring a computer network
JPH05324544A (ja) * 1992-05-15 1993-12-07 Hitachi Ltd バス制御方法
US5408651A (en) * 1993-09-27 1995-04-18 Bull Hn Information Systems Inc. Store "undo" for cache store error recovery
US5790799A (en) * 1995-05-17 1998-08-04 Digital Equipment Corporation System for sampling network packets by only storing the network packet that its error check code matches with the reference error check code
US5630047A (en) * 1995-09-12 1997-05-13 Lucent Technologies Inc. Method for software error recovery using consistent global checkpoints
JP3253883B2 (ja) * 1997-01-31 2002-02-04 株式会社東芝 プロセスリスタート方法及びプロセス監視装置
US6151684A (en) * 1997-03-28 2000-11-21 Tandem Computers Incorporated High availability access to input/output devices in a distributed system
US5968182A (en) * 1997-05-12 1999-10-19 International Business Machines Corporation Method and means for utilizing device long busy response for resolving detected anomalies at the lowest level in a hierarchical, demand/response storage management subsystem
US6230282B1 (en) * 1998-07-03 2001-05-08 Hewlett-Packard Company Checkpoint computer system utilizing a FIFO buffer to re-synchronize the memory systems on the detection of an error
US6301670B1 (en) * 1998-10-06 2001-10-09 Ricoh Corporation Method and apparatus for erasing data when a problem is identified
US6408343B1 (en) * 1999-03-29 2002-06-18 Hewlett-Packard Company Apparatus and method for failover detection
US6542512B1 (en) * 1999-07-02 2003-04-01 Jenny Liu Fischer Architecture and method for flushing non-transmitted portions of a data frame from a transmitted FIFO buffer
US6487679B1 (en) * 1999-11-09 2002-11-26 International Business Machines Corporation Error recovery mechanism for a high-performance interconnect
JP2002033876A (ja) 2000-07-14 2002-01-31 Murata Mach Ltd ファクシミリサーバ
US7596139B2 (en) * 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
US6691184B2 (en) * 2001-04-30 2004-02-10 Lsi Logic Corporation System and method employing a dynamic logical identifier
US7093154B2 (en) * 2001-10-25 2006-08-15 International Business Machines Corporation Critical adapter local error handling
US6938188B1 (en) * 2002-01-29 2005-08-30 Advanced Digital Information Corporation Method for verifying functional integrity of computer hardware, particularly data storage devices
US7178050B2 (en) * 2002-02-22 2007-02-13 Bea Systems, Inc. System for highly available transaction recovery for transaction processing systems
US6889341B2 (en) * 2002-06-28 2005-05-03 Hewlett-Packard Development Company, L.P. Method and apparatus for maintaining data integrity using a system management processor
US7315542B2 (en) * 2002-09-30 2008-01-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Handling and discarding packets in a switching subnetwork
US20040153849A1 (en) * 2002-12-17 2004-08-05 Tucker S. Paul Data-packet error monitoring in an infiniband-architecture switch
GB0308262D0 (en) * 2003-04-10 2003-05-14 Ibm Recovery from failures within data processing systems
US20040255193A1 (en) * 2003-06-12 2004-12-16 Larson Thane M. Inter integrated circuit router error management system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06119303A (ja) * 1992-10-06 1994-04-28 Toshiba Corp 疎結合マルチプロセッサシステム
JP2003158541A (ja) * 2001-11-21 2003-05-30 Mitsubishi Electric Corp ルーティング制御装置、及び、ルーティング制御方法
JP2004129218A (ja) * 2002-08-05 2004-04-22 Canon Inc デジタルカメラおよびプリンタ

Also Published As

Publication number Publication date
JP2006074797A (ja) 2006-03-16
US20060053331A1 (en) 2006-03-09
GB2417802A (en) 2006-03-08
GB0515537D0 (en) 2005-09-07
GB2417802B (en) 2008-03-26
US7526676B2 (en) 2009-04-28

Similar Documents

Publication Publication Date Title
JP4664159B2 (ja) 独立したエラー回復機能を有するスレーブ装置
US10205653B2 (en) Fabric discovery for a cluster of nodes
US8305879B2 (en) Peripheral component switch having automatic link failover
US9030943B2 (en) Recovering from failures without impact on data traffic in a shared bus architecture
US9652426B2 (en) Method, device, system and storage medium for implementing packet transmission in PCIE switching network
JP4670676B2 (ja) スイッチ及びネットワークブリッジ装置
JP4012545B2 (ja) リモート・ダイレクト・メモリ・アクセス対応ネットワーク・インタフェース・コントローラのスイッチオーバーとスイッチバックのサポート
JP2006302250A (ja) PCI−Express通信システム
JP6536677B2 (ja) Cpuおよびマルチcpuシステム管理方法
JP2020035419A (ja) 第1のクロックドメインと第2のクロックドメインとの間で伝送される主信号のためのエラーチェック
WO2006114822A1 (ja) Dmaコントローラ、ノード、データ転送制御方法、及びプログラム
US7564860B2 (en) Apparatus and method for workflow-based routing in a distributed architecture router
JP2772367B2 (ja) データ・パケットを送信する方法およびデータ処理システム
US20240104035A1 (en) Peripheral component interconnect express device and operating method thereof
TW202248869A (zh) 快捷週邊組件互連介面裝置及其操作方法
JP4755050B2 (ja) データ処理装置、モード管理装置、及びモード管理方法
JPH07262151A (ja) 並列プロセッサシステムおよびそれに適したパケット廃棄方法
JP4918284B2 (ja) PCI−Express通信システム
US7336657B2 (en) Inter-nodal data transfer system and data transfer apparatus
JP6826300B1 (ja) 情報処理システム
JP6958102B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP2017187973A (ja) 並列処理装置及び通信制御方法
KR0176077B1 (ko) 전송 응답 처리 제어기 및 그 제어 방법
US20190121573A1 (en) Storage system and storage control apparatus
JP2017204771A (ja) 通信装置,その通信制御方法,及び通信システム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060808

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101105

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

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

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees