JP5337022B2 - フォールト・トレランス・コンピューティング・システムにおけるエラー・フィルタリング - Google Patents

フォールト・トレランス・コンピューティング・システムにおけるエラー・フィルタリング Download PDF

Info

Publication number
JP5337022B2
JP5337022B2 JP2009506481A JP2009506481A JP5337022B2 JP 5337022 B2 JP5337022 B2 JP 5337022B2 JP 2009506481 A JP2009506481 A JP 2009506481A JP 2009506481 A JP2009506481 A JP 2009506481A JP 5337022 B2 JP5337022 B2 JP 5337022B2
Authority
JP
Japan
Prior art keywords
logic
logical
devices
voter
programmable
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
JP2009506481A
Other languages
English (en)
Other versions
JP2009534738A (ja
JP2009534738A5 (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.)
Honeywell International Inc
Original Assignee
Honeywell International Inc
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 Honeywell International Inc filed Critical Honeywell International Inc
Publication of JP2009534738A publication Critical patent/JP2009534738A/ja
Publication of JP2009534738A5 publication Critical patent/JP2009534738A5/ja
Application granted granted Critical
Publication of JP5337022B2 publication Critical patent/JP5337022B2/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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • 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/0736Error 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 functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error 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 functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

政府利権の記述
米国政府は、制限された政府契約の条件により規定される本発明における幾つかの権利を有し得る。
関連出願
本願は、2006年2月6日に出願された、「FAULT TOLERANT COMPUTING SYSTEM(フォールト・トレランス・コンピューティング・システム)」という名称の譲渡された同時係属の米国特許出願11/348290(代理人ドケット番号H0011503−5802)に関連するものであり、この出願を本明細書では’290出願と呼ぶ。この’290出願は、参照により本明細書に組み込まれる。
現在および将来の高信頼性の任務(即ち、宇宙任務)は、オンボードの信号処理の著しい増大を必要とする。現在、生成されたデータは、ダウンリンク・チャネルを介して妥当な時間では送信されない。生成されたデータのユーザが、より高速のアクセスを要求するのに伴い、ますます多くのデータ削減や特徴抽出の処理が、使用される高信頼性の乗り物(例えば宇宙機)で直接に実施される。高信頼性の乗り物での処理力を増大させることは、生成されたデータのための帯域幅を狭める機会、および/または独立したユーザ・チャネルの数を増加させる機会をもたらす。
信号処理の応用において、従来の命令ベースのプロセッサの手法は、ミリオンゲート・フィールドプログラマブル・ゲート・アレイ(FPGA)をベースとする処理解決法に匹敵することができない。宇宙ベース・レーダ(SBR、Space Based Radar)、次世代適応型ビーム・フォーミング、および適応型変調宇宙ベース通信プログラムのための計算についての需要を満たすには、複数のFPGAベースのプロセッサを備えるシステムが必要とされる。FPGAベースのシステムは、その名前が示すとおり、新しい要件を満たすように容易に再コンフィギュレーション(再構成)される。FPGAベースの再コンフィギュレーション可能な処理アーキテクチャはまた、再使用可能であり、複数の宇宙プログラムを、それらの固有のデータ・インタフェースに比較的簡単な変更を加えることによりサ、ポートすることができる。
再コンフィギュレーション可能な処理による解決法は、経済的なコストを払うことで手に入る。例えば、既存の商用オフザシェルフ(COTS)のSRAM(synchronous read−only memory)ベースのFPGAは、放射線誘発性のアプセットに対して敏感な反応を示す。従って、従来のCOTSベースの再コンフィギュレーション可能システムによる手法は、高放射線環境で動作させる場合には信頼性がない。典型的には、複数のFPGAがタンデムに使用され、それらの出力が外部の三重モジュール式冗長(TMR、triple modular redundant)ボータ(voter)回路を介して比較される。TMRボータ回路(TMR多数決回路)は、FPGAがシングル・イベント・アプセット(SEU)・エラーを起こしたかどうか識別する。SEUエラー・イベントが検出される度に、FPGAは、通常、オフラインにされて再コンフィギュレーションされる。
典型的には、オンボード信号処理を著しくアプセットさせる(例えば、FPGAをラッチまたは状態変化させて結果的にハードな障害を起こさせる)には、複数のSEUエラーを必要とする。シングル・イベント・トランジェント(SET)・エラーは、ラッチさせないSEUイベントであり、過渡効果を引き起こす。単一の過渡の影響は、FPGAの通常動作を短時間妨げることになるだけであり、FPGAの自動再コンフィギュレーションは必要でないことが多い。不要な再コンフィギュレーションは、信号処理の遅延の増大につながる。
本発明の実施形態は、電子回路のシングル・イベント・フォールト・トレランス(故障許容性)を監視することに伴う問題に対処するものであり、以下の明細書を読み検討することにより理解されるであろう。具体的には、一実施形態では、電子回路でのシングル・イベント障害を許容するためのシステムが提供される。このシステムは、メイン・プロセッサと、メイン・プロセッサに応答するものであり、ボータ論理回路を更に備える故障検出プロセッサと、故障検出プロセッサに応答する3つ以上の論理デバイスであって、それらの各出力がボータ論理回路を通るものである3つ以上の論理デバイスと、プログラマブル・エラー・フィルタとを備える。ボータ論理回路の出力は、プログラマブル・エラー・フィルタに結合される。
様々な図面中の同じ参照番号および名称は同じ要素を示す。
以下の詳細な説明では添付図面を参照するが、図面は本明細書の一部をなし、また図面には、本発明を実施することのできる特定の例示的な実施形態が例として示されている。これらの実施形態は、当業者が本発明を実施できるようにするために十分に詳細に述べるものであり、他の実施形態を用いてもよいこと、ならびに本発明の趣旨および範囲を逸脱することなく論理的、機械的、および電気的な変更を加えてもよいことを理解されたい。従って、以下の詳細な説明は、限定的な意味と取るべきではない。
本発明の実施形態は、電子回路におけるシングル・イベント故障許容性を監視することに伴う問題に対処するものであり、以下の明細書を読み検討することにより理解されるであろう。具体的には、一実施形態では、電子回路におけるシングル・イベント故障を許容するためのシステムが提供される。このシステムは、メイン・プロセッサと、メイン・プロセッサに応答する故障検出プロセッサであって、ボータ論理回路(多数決論理回路)を更に備える故障検出プロセッサと、故障検出プロセッサに応答する3つ以上の論理デバイスであって、それらの各出力がボータ論理回路を通るものである3つ以上の論理デバイスと、プログラマブル・エラー・フィルタとを備える。ボータ論理回路の出力は、プログラマブル・エラー・フィルタに結合される。
本明細書における実施形態の例は、高信頼性の応用例でのシングル・イベント故障許容性の決定に関して述べるが、本発明の実施形態は、高信頼性の応用例でのシングル・イベント故障許容性の決定に限定されない。本発明の実施形態は、高レベルの信頼性を必要とする電子回路の何れの故障許容性決定活動にも適用可能である。本発明の代替の実施形態は、相互に同期して操作される3つ以上の論理デバイスを伴う外部の三モジュール式コンポーネント冗長(TMR)を利用する。TMRボータ回路の出力は、プログラマブル・エラー・フィルタへ印加される。プログラマブル・エラー・フィルタは、エラー・カウントがプログラマブル・エラーしきい値を超えた場合にのみ、エラーのフラグを立て、周期的なシングル・イベント・トランジェント(SET)・エラーが通過できるようにする。
図1は、本発明の教示による、故障許容コンピューティング・システムの一実施形態のブロック図であり、その全体を100と示している。システム100の例示的な一実施形態は、’290出願に記載されている。システム100は、故障検出プロセッサ・アセンブリ102およびシステム・コントローラ110を備える。システム・コントローラ110は、マイクロコントローラ、プログラマブル論理デバイスなどである。故障検出プロセッサ・アセンブリ102は、論理デバイス104〜104、故障検出プロセッサ106、および論理デバイス・コンフィギュレーション・メモリ108も備え、これらのそれぞれについては後で論じる。説明を簡素にするために、図1には、合計3つの論理デバイス104〜104が示されていることに留意されたい。しかし、故障検出プロセッサ・アセンブリ102は、単一の故障検出プロセッサ・アセンブリ102で、任意の適切な数の論理デバイス104(例えば3つ以上の論理デバイス)をサポートすることを理解されたい。
故障検出プロセッサ106は、任意の論理デバイス(例えばASIC)であり、コンフィギュレーション・マネージャと、プログラマブル・エラー・フィルタとともにTMRボータ論理をホストする能力と、システム・コントローラ110と同様の分散型処理アプリケーション・システム・コントローラへの少なくとも1つの出力を提供するためのインタフェースとを備える。TMRでは、論理デバイス104〜104のそれぞれが相互に対して同期して動作する必要がある。それぞれの論理デバイス104〜104からの制御信号およびデータ信号は、故障検出プロセッサ106において相互に対してボーティング(投票)されて、制御信号およびデータ信号の正当性が決定される。それぞれの論理デバイス104〜104は、フィールドプログラマブル・ゲート・アレイ(FPGA)、コンプレックス・プログラマブル・ロジック・デバイス(CPLD)、フィールドプログラマブル・オブジェクト・アレイ(FPOA)などのような、プログラム可能な論理デバイスである。
システム100は、故障検出プロセッサ・アセンブリ102と同様の複数のプロセッサ・アセンブリを使用する、より大きい分散型の処理アプリケーション(図示せず)の一部を形成する。故障検出プロセッサ・アセンブリ102とシステム・コントローラ110とは、データ通信のために分散型処理アプリケーション・インタフェース112を介して結合される。分散型処理アプリケーション・インタフェース112は、低電圧差動シグナリング(LVDS)、高速シリアル・インタフェースなどのような、高速かつ低電力のデータ伝送インタフェースである。また、分散型処理アプリケーション・インタフェース112は、それぞれの論理デバイス104〜104に対する少なくとも1組のデフォルト・コンフィギュレーション・ソフトウェア機械コード化命令を、論理デバイス・コンフィギュレーション・メモリ108に記憶されるようにシステム・コントローラ110から故障検出プロセッサ106へ送る。論理デバイス・コンフィギュレーション・メモリ108は、DDR SDRAM(double−data rate synchronous dynamic read−only memory)などである。
動作時、初期設定中に、少なくとも1組のデフォルト・コンフィギュレーション・ソフトウェア機械コード化命令が、論理デバイス・コンフィギュレーション・メモリ108にロードされる。故障検出プロセッサ106は、1または複数のシングル・イベント故障状態があるかについて、それぞれの論理デバイス104〜104を絶えず監視する。1または複数のシングル・イベント故障状態の監視は、TMRボータ論理202により達成される。一実装形態では、TMRボータ論理202は、それぞれのシングル・イベント故障状態をフィルタリングする。1または複数のフィルタリングされたシングル・イベント故障状態が、プログラマブルSETエラーしきい値を超えたとき、システム・コントローラ110は自動的に、故障した論理デバイス中に現在ある状態情報のバックアップを調整して、再コンフィギュレーション・シーケンスを開始する。再コンフィギュレーション・シーケンスについては、後で図2および3に関連して更に詳細に述べる。障害のある論理デバイスが再コンフィギュレーションされると、あるいは3つの論理デバイス104〜104がすべて再コンフィギュレーションされると、システム・コントローラ110は、3つの論理デバイス104〜104すべての動作を中断して、それぞれの論理デバイス104〜104を同期動作へと戻す。
図2は、本発明の教示による、シングル・イベント故障状態を検出するための、回路の一実施形態のブロック図であり、その全体を200として示す。回路200の例示的な一実施形態は、’290出願に記載されている。回路200は、図1の故障検出プロセッサ106(例えば、放射線耐性強化ASIC)を備える。故障検出プロセッサ106は、TMRボータ論理202、コンフィギュレーション・マネージャ204、メモリ・コントローラ206、システムオンチップ(SOC)・バス・アービタ208、レジスタ・バス制御論理210、およびプロセッサ間ネットワーク・インタフェース212を備え、これらのそれぞれについては後で論じる。回路200は、論理デバイス104〜104も備え、それぞれの論理デバイスは、データ通信のためにデバイス・インタフェース・パス230〜230によりそれぞれ故障検出プロセッサ106に結合される。デバイス・インタフェース・パス230〜230のそれぞれは、論理デバイス104〜104のそれぞれをTMRボータ論理202とリンクするための高速フル・デュープレックス通信インタフェースからなる。論理デバイス104〜104のそれぞれは、更に、コンフィギュレーション・インタフェース・パス232〜232により故障検出プロセッサ106に結合される。コンフィギュレーション・インタフェース・パス232〜232のそれぞれは、コンフィギュレーション・マネージャ204によりそれぞれの論理デバイス104〜104をコンフィギュレーションするために使用されるフル・デュープレックス通信インタフェースからなる。説明を簡素にするために、図2には、合計3つの論理デバイス104〜104、3つのデバイス・インタフェース・パス230〜230、および3つのコンフィギュレーション・インタフェース・パス232〜232が示されていることに留意されたい。しかし、回路200は、単一の回路200で、任意の適切な数の論理デバイス104(例えば3つ以上の論理デバイス)、デバイス・インタフェース・パス(例えば3つ以上のデバイス・インタフェース・パス)、およびコンフィギュレーション・インタフェース・パス(例えば3つ以上のコンフィギュレーション・インタフェース・パス)をサポートすることを理解されたい。
TMRボータ論理202およびコンフィギュレーション・マネージャ204は、データ通信のために、ボータ論理インタフェース220およびコンフィギュレーション・マネージャ・インタフェース224によりレジスタ・バス制御論理210に結合される。ボータ論理インタフェース220およびコンフィギュレーション・マネージャ・インタフェース224は、TMRボータ論理202およびコンフィギュレーション・マネージャ204の内の制御レジスタ間でコマンドを転送するために故障検出プロセッサ106により使用される、双方向通信リンクである。レジスタ・バス制御論理210は、コンフィギュレーション・マネージャ204内の1または複数の制御レジスタおよび状態レジスタへのアクセスを、図1のシステム・コントローラ110に提供する。レジスタ・バス226は、レジスタ・バス制御論理210とプロセッサ間ネットワーク・インタフェース212との間の双方向プロセッサ間通信インタフェースを提供する。プロセッサ間ネットワーク・インタフェース212は、分散型処理アプリケーション・インタフェース112を介して故障検出プロセッサ106をシステム・コントローラ110に接続する。プロセッサ間ネットワーク・インタフェース212は、分散型処理アプリケーション・インタフェース112にエラー信号を提供する。エラー信号は、1または複数のフィルタリングされたシングル・イベント故障がプログラマブル・エラーしきい値を超えたことを、システム・コントローラ110に示す。この例示的な実施形態では、エラー信号は、後で図3に関して詳細に論じるように、エラーしきい値比較器309により提供される。図1に関して論じたように、分散型処理アプリケーション・インタフェース112は、少なくとも1組のデフォルト・コンフィギュレーション・ソフトウェア機械コード化命令を、論理デバイス・コンフィギュレーション・メモリ108へ記憶されるように、故障検出プロセッサ106へ送る。論理デバイス・コンフィギュレーション・メモリ108は、デバイス・メモリ・インタフェース214を介してメモリ・コントローラ206によりアクセスされる。デバイス・メモリ・インタフェース214は、メモリ・コントローラ206と論理デバイス・コンフィギュレーション・メモリ108との間の高速双方向通信リンクを提供する。
メモリ・コントローラ206は、バス・アービタ・インタフェース228、SOCバス・アービタ208、およびメモリ・コントローラ・インタフェース216を介して、論理デバイス・コンフィギュレーション・メモリ108に記憶するために少なくとも1組のデフォルトのプログラマブル論理を受け取る。バス・アービタ・インタフェース228は、SOCバス・アービタ208とプロセッサ間ネットワーク・インタフェース212との間の双方向プロセッサ間通信インタフェースを提供する。SOCバス・アービタ208は、メモリ・コントローラ・インタフェース216を介してメモリ・コントローラ206との間でメモリ・データの転送を行う。メモリ・コントローラ・インタフェース216は、メモリ・コントローラ206とSOCバス・アービタ208との間の双方向プロセッサ間通信インタフェースを提供する。論理デバイス・コンフィギュレーション・メモリ108に関して前に論じた1組のデフォルト・コンフィギュレーション・ソフトウェア機械コード化命令を使用して、論理デバイス104〜104のそれぞれを再コンフィギュレーションする。SOCバス・アービタ208は、ボータ論理インタフェース218でTMRボータ論理202から受け取った命令に基づいて、メモリ・コントローラ206へのアクセスを提供する。ボータ論理インタフェース218は、TMRボータ論理202とSOCバス・アービタ208との間の双方向プロセッサ間通信インタフェースを提供する。SOCバス・アービタ208は更に、コンフィギュレーション・インタフェース222を介してコンフィギュレーション・マネージャ204と通信可能に結合される。コンフィギュレーション・インタフェース222は、コンフィギュレーション・マネージャ204とSOCバス・アービタ208との間の双方向プロセッサ間通信インタフェースを提供する。SOCバス・アービタ208の主要な機能は、TMRボータ論理202とコンフィギュレーション・マネージャ204との間で、メモリ・コントローラ206および論理デバイス・コンフィギュレーション・メモリ108への等しいアクセスを提供することである。
動作時、コンフィギュレーション・マネージャ204は、初期設定期間後に図1のシステム・コントローラ110からの最小限の対話を行って幾つかの機能を実施する。システム・コントローラ110はまた、前に論じた1組のデフォルト・コンフィギュレーション・ソフトウェア機械コード化命令の位置およびサイズを用いて、コンフィギュレーション・マネージャ204中の1または複数のレジスタをプログラムする。初期設定に続いて、コンフィギュレーション・マネージャ204は、TMRボータ論理202により提供される結果に基づいて、同時に3つの論理デバイス104〜104すべてを並行して構成するよう指示されるか、あるいは論理デバイス104〜104のうちの1つから単一の論理デバイスを個別に構成するよう指示される。1または複数のシングル・イベント故障がプログラマブル・エラーしきい値を超えたことをTMRボータ論理202が検出したとき、TMRボータ論理202はTMR故障パルスを生成する。TMR故障パルスがコンフィギュレーション・マネージャ204により検出されると、コンフィギュレーション・マネージャ204は自動的に、論理デバイス104〜104のうちのTMRボータ論理202により障害があると決定された1つへの、一連のコマンドを開始する。例えば、論理デバイス104が疑わしいと識別された場合、コンフィギュレーション・マネージャ204は、論理デバイス104にアボートするよう命令する。アボート命令は、SEUやSEFIなどのような1または複数のシングル・イベント故障により引き起こされたエラーをクリアする。コンフィギュレーション・マネージャ204は論理デバイス104にリセット・コマンドを発行し、これにより論理デバイス104の動作が停止する。次に、コンフィギュレーション・マネージャ204は論理デバイス104に消去コマンドを発行し、これにより論理デバイス104中にあるすべてのメモリ・レジスタがクリアされる。論理デバイス104がすべてのメモリ・レジスタをクリアすると、論理デバイス104は、コンフィギュレーション・マネージャ204に返答する。コンフィギュレーション・マネージャ204は、論理デバイス104に対する1組のデフォルト・コンフィギュレーション・ソフトウェア機械コード化命令を、論理デバイス・コンフィギュレーション・メモリ108のプログラマブル開始アドレスから論理デバイス104へ送る。転送が完了すると、コンフィギュレーション・マネージャ204は、同期サイクルを実施して論理デバイス104〜104のそれぞれを再び同期させなければならないことを、システム・コントローラ110に通知する。論理デバイス104〜104のうちの障害(故障)があると決定された1つのみが、再コンフィギュレーションを必要とするものであり、それによりシステムの再起動時間を最小限に抑える。
図3は、本発明の教示による、シングル・イベント故障状態を検出するための、プログラマブル論理インタフェースの一実施形態のブロック図であり、その全体を300で示す。論理インタフェース300は、ワード・シンクロナイザ304〜304、三重/二重モジュール式冗長(Triple/Double Modular Redundancy)(TMR/DMR)ワード・ボータ308、SOCマルチプレクサ312、および故障カウンタ314を備え、これらのそれぞれについては後で論じる。論理インタフェース300は、図2と関連して上述したTMRボータ論理202の入力セクションからなる。説明を簡素にするために、図3には、合計3つのワード・シンクロナイザ304〜304が示されていることに留意されたい。しかし、論理インタフェース300は、単一の論理インタフェース300で任意の適切な数のワード・シンクロナイザ304(例えば3つ以上のワード・シンクロナイザ)をサポートすることを理解されたい。
ワード・シンクロナイザ304〜304のそれぞれは、図2に関して説明したように、デバイス・インタフェース・パス230〜230のそれぞれから1または複数の元(オリジナル)の入力信号をそれぞれ受け取る。1または複数のオリジナル入力信号のそれぞれは、図2の論理デバイス104〜104のそれぞれからの入力データ信号および制御信号に加えて、クロック信号を含む。クロック信号を送信することにより、デバイス・インタフェース・パス230〜230のものと同様の高速インタフェースに典型的に見られるルーティング制約および信号スキュー問題が緩和される。ワード・シンクロナイザ304〜304のそれぞれは、クロック信号を提供されて、入力データ信号および制御信号をサンプリングする。データ信号および制御信号は、各ワード・シンクロナイザ304〜304のフロント・エンドにある循環バッファの中を通され、循環バッファは、入力データ信号および制御信号をワード境界でフレーム信号と整合させる。ワード境界は、20ビット幅(例えば、16ビットのデータに3つの制御信号および1つのクロック信号を加えたもの)、および各シンクロナイザ出力線306〜306において19ビット幅である。デバイス・インタフェース・パス230〜230のそれぞれは、等しい長さでルーティングされて、クロック・サイクル・ベースのボーティングをサポートする。ワード整合の後、整合された入力データ信号および制御信号は、クロック境界302をまたいでシンクロナイザ出力線306〜306のそれぞれ上を送られる。シンクロナイザ出力線306〜306のそれぞれは、同期された出力を、図1の故障検出プロセッサ106のクロック・ドメインに出力する。シンクロナイザ出力線306〜306のそれぞれは、データ通信のためにTMR/DMRワード・ボータ308に結合される。説明を簡素にするために、図3には、合計3つのシンクロナイザ出力線306〜306が示されていることに留意されたい。しかし、論理インタフェース300は、単一の論理インタフェース300で、任意の適切な数のシンクロナイザ出力線306(例えば3つ以上のシンクロナイザ出力線)をサポートすることを理解されたい。
論理デバイス104〜104からの同期した出力は、TMR/DMRワード・ボータ308中へ送られる。TMR/DMRワード・ボータ308は更に、エラーしきい値比較器309および故障検出ブロック310を備える。TMR/DMRワード・ボータ308は、組合せ論理を取り入れて、クロック・サイクルごとに1度、論理デバイス104〜104のうちの1つからの同期された出力を、論理デバイス104〜104の残りの2つからの対応する同期した出力と比較する。エラーしきい値比較器309には、プログラマブル・エラーしきい値がプログラムされる。故障検出ブロック310は、論理デバイス104〜104のうちの何れのものが不一致であるか(即ち、一致しないか)を決定する。一致しない論理デバイス104は、疑わしいデバイスであると考えられる。論理デバイス104〜104のそれぞれが一致する場合、故障検出ブロック310からの出力パターンは、すべて1であるの3つの信号を含む。論理デバイス104〜104のうちの1つが不一致である場合、出力パターン中の2つの信号は論理0となる。一致する(即ち、それぞれ0である)2つの信号は、残りの信号が論理1に留まるようにする。この残りの信号は、論理デバイス104〜104のうちの何れのものが疑わしいデバイスかを示す。
疑わしいデバイスが検出されると、故障カウンタ314が故障カウンタ・インタフェース320により更新される。この例示的な実施形態では、故障カウンタ314は、エラー・フィルタ・カウンタ316および累積エラー・カウンタ318を含む。TMR/DMRワード・ボータ308は、不一致ごとにエラー・フィルタ・カウンタ316を1だけインクリメントし、また、TMR/DMRワード・ボータ308が一致すると決定した論理デバイス104〜104からの同期した出力の組ごとに、エラー・フィルタ・カウンタ316を1だけデクリメントする。この例示的な実施形態では、エラー・フィルタ・カウンタ316およびエラーしきい値比較器309は、プログラマブル・エラー・フィルタを表す。エラー・フィルタ・カウンタ316が更新されると、故障カウンタ314は、更新したエラー・フィルタ・カウンタ値をエラーしきい値比較器309へ発行する。エラーしきい値比較器309が、エラー・フィルタ・カウンタ316の更新されたエラー・フィルタ・カウンタ値がプログラマブル・エラーしきい値に違反する(即ち、それを超える)と判定すると、疑わしいデバイスが自動的に再コンフィギュレーションされる。論理デバイス104〜104のうちの残りの2つの論理デバイスは、セルフチェッキング・ペア(SCP、self−checking pair)またはDMRモードで引き続いて動作する。前述の’290出願に記載されているように、SCPモードで論理デバイス104〜104の残りの2つの論理デバイス間に最初の不一致があれば、致命的なエラーをシステム・コントローラ110へ信号伝達し、システム・コントローラ110は、3つの論理デバイス104〜104のすべてに対する完全な復旧シーケンスを開始する。
影響を受けた論理デバイス104〜104の再コンフィギュレーションは、図2と関連して述べたように、コンフィギュレーション・マネージャ204により自動的に対処される。TMR/DMRワード・ボータ308は、論理デバイス104〜104のうちの何れのものが1または複数のシングル・イベント故障により本質的に変更されたかを、TMR/DMRボータ出力インタフェース322を介してSOCマルチプレクサ312に示す。再コンフィギュレーション要求がSOCバス・アービタ208に出される。SOCマルチプレクサ312は、SOCバス・アービタ208がボータ論理インタフェース218からアクセスするように、影響を受けた論理デバイス(1または複数)を選択する。
エラー・フィルタ・カウンタ316は、検出された各シングル・イベント故障エラーを追跡し、最大(最小)カウンタ値に達したときにインクリメント(デクリメント)を停止する。エラー・フィルタ・カウンタ316が、エラーしきい値比較器309のプログラマブル・エラーしきい値を超えると、かなりの数のシングル・イベント故障状態が連続して発生したこと(即ち、一連の連続したクロック・サイクルにわたってプログラマブル・エラーしきい値を超えたこと)が、システム・コントローラ110に通知される。その時までは、論理デバイス104〜104の通常動作に影響しない周期的なSETエラーは、エラーしきい値比較器309を通過することになる。エラー・フィルタ・カウンタ316により、エラーしきい値比較器309は、SETと論理デバイス104〜104のうちの少なくとも1つのハードな障害とを区別することができる。累積エラー・カウンタ318は、インタフェースのSEUまたはSEFIのレートに関する統計(例えば、宇宙任務の期間にわたってのもの)を提供する。累積エラー・カウンタ318は、障害のある論理デバイス104を決定しない。
図4は、本発明の好ましい一実施形態による、電子回路におけるシングル・イベント故障を許容する方法400を示す流れ図である。図4の方法はステップ402で開始する。この例示的な実施形態では、プログラマブル・エラーしきい値が、エラー・フィルタ・カウンタ316に対して確立(または更新)される(ステップ404)。次いで、方法400は、シングル・イベント故障の発生による破損の可能性について、論理デバイス104〜104からの1または複数の論理読取値(logic reading、論理示度)を監視するプロセスを開始する。方法400の主要な機能の1つは、論理デバイス104〜104からのそれぞれの論理示度の現在の状態に基づいて、エラー・フィルタ・カウンタ316をクロック・サイクルごとに更新することである。方法400は、周期的なSETエラーが、システム100の通常動作に影響することなくエラーしきい値比較器309を通過できるようにする。論理デバイス104〜104のそれぞれは最小限のダウンタイムで本質的に機能状態を維持し、故障検出プロセッサ・アセンブリ102は所望される故障許容性レベルを維持する。
ステップ406で、システム・コントローラ110は、エラー・フィルタ・カウンタ316のプログラマブル・エラーしきい値が前のレベルまたはデフォルト・レベルから変化したかを判定する。しきい値が変化した場合、現在のプログラマブル・エラーしきい値レベルがシステム・コントローラ110から送られる(ステップ407)。プログラマブル・エラーしきい値レベルが変化していない場合、またはプログラマブル・エラーしきい値レベルが所定レベルに固定されている場合、TMRボータ論理202は論理デバイス104〜104のそれぞれから論理示度を受け取る(ステップ408)。ステップ410で、受け取られた3つ以上の論理示度のそれぞれが、少なくとも2つの他の論理示度と比較される。ステップ412で、TMR/DMRワード・ボータ308は、3つ以上の論理示度のすべてが一致するかどうかを判定する。3つ以上の論理示度のすべてが一致するかどうかを判定することは、論理デバイス104〜104のうちの何れのものがかを判定することを含む。論理デバイス104〜104のうちの状態を変化させた何れかのものが、疑わしいデバイスであると考えられる。
3つ以上の論理示度のすべてが一致するとき、ステップ415でエラー・フィルタ・カウンタ316が1だけデクリメント(減分)され、方法400はステップ404に戻る。3つの論理示度のうちの1つが残りの少なくとも2つと一致しないとき、シングル・イベント故障が検出されている。ステップ414でエラー・フィルタ・カウンタ316が1だけインクリメント(増分)されて、少なくとも1つの更なるシングル・イベント故障が発生したことが示される。エラーしきい値比較器309は、エラー・フィルタ・カウンタ316がしきい値レベルを超えたときにそれをシステム・コントローラ110に示す(ステップ416)。しきい値レベルを超えない場合は、方法400はステップ404に戻る。
この時点で、残りの論理デバイス104〜104の組合せが、3つ以上の論理示度のうちの1つの一致しない論理示度を補償する。ステップ418で、TMR/DMRワード・ボータ308は、残りの少なくとも2つの論理デバイス104〜104のそれぞれの論理示度を相互に比較する。TMR/DMRワード・ボータ308が、残りの少なくとも2つの論理示度が相互に一致すると判定した場合(ステップ420)、ステップ422で、論理デバイス104〜104の残りの少なくとも2つのものと一致しないと判定された疑わしいデバイスが、自動的に再コンフィギュレーションされる。そうでない場合は、ステップ424で、論理デバイス104〜104のそれぞれが自動的に再コンフィギュレーションされる。ステップ424へ到達すると、致命的またはSCPエラーが発生したことをシステム100に示す。ステップ422で疑わしいデバイスが自動的に再コンフィギュレーションされると、またはステップ424で論理デバイス104〜104のそれぞれが自動的に再コンフィギュレーションされると、方法400はステップ404に戻る。
本発明の説明を、例証および説明の目的で提示した。この説明は、網羅的であるとや、発明を開示した形に限定することを、意図していない。変形および変更を行うこともでき、それらも特許請求の範囲に述べる本発明の範囲に含まれる。
図1は、本発明の教示による故障許容コンピューティング・システムの一実施形態のブロック図である。 図2は、本発明の教示による、シングル・イベント故障状態を検出するための回路の一実施形態のブロック図である。 図3は、本発明の教示による、プログラマブル・エラー・フィルタを備えた、シングル・イベント故障状態を検出するためのプログラマブル論理インタフェースの一実施形態のブロック図である。 図4は、本発明の教示による、電子回路でのシングル・イベント故障を許容する方法の一実施形態を示す流れ図である。

Claims (4)

  1. 電子回路におけるシングル・イベント故障を許容するためのシステムであって、
    メイン・プロセッサと、
    前記メイン・プロセッサに応答する故障検出プロセッサであって、ボータ論理回路を更に備える故障検出プロセッサと、
    前記故障検出プロセッサに応答する3つ以上の論理デバイスであって、それらの各出力が前記ボータ論理回路の中を通る、3つ以上の論理デバイスと、
    エラー・フィルタ・カウンタを含むプログラマブル・エラー・フィルタであって、前記ボータ論理回路の出力が結合される、プログラマブル・エラー・フィルタと
    を備え、
    前記3つ以上の論理デバイスが一致した場合に前記エラー・フィルタ・カウンタがデクリメントされ、前記3つ以上の論理デバイスが不一致の場合に前記エラー・フィルタ・カウンタがインクリメントされる、
    システム。
  2. 請求項1に記載のシステムであって、前記プログラマブル・エラー・フィルタは、前記3つ以上の論理デバイスの不一致の回数に対応するエラー・カウントが、前記プログラマブル・エラー・フィルタのエラーしきい値比較器にプログラムされたプログラマブル・エラーしきい値を超えたかどうかを判定し、前記エラー・カウントが前記プログラマブル・エラーしきい値を超えた場合、前記プログラマブル・エラー・フィルタは、一連のシングル・イベント故障状態の所定しきい値の発生を前記メイン・プロセッサに示し、前記故障検出プロセッサが前記3つ以上の論理デバイスのうちの1または全ての論理デバイスの再コンフィギュレーションを開始するようにさせる、システム。
  3. 請求項2に記載のシステムであって、
    前記3つ以上の論理デバイスのうちの前記1または全ての論理デバイスの前記再コンフィギュレーションは更に、前記故障検出プロセッサから、前記3つ以上の論理デバイスのうちの前記1または全ての論理デバイスへの、少なくとも1組のデフォルト・コンフィギュレーション・ソフトウェア機械コード化命令の転送を含む、
    システム。
  4. 電子回路におけるシングル・イベント故障を許容するシステムにより前記シングル・イベント故障を許容するための方法であって、
    前記システムの処理装置に含まれるボータ論理回路により、3つ以上の論理デバイスのそれぞれから、論理読取値を周期的に受信するステップと、
    ボータ論理回路が、前記3つ以上の論理デバイスのうちの、1つの論理デバイスからの論理読取値が、他の少なくとも2つの論理デバイスに対応する少なくとも2つの論理読取値と一致しない場合に、前記1つの論理デバイスを疑わしい論理デバイスとして識別するステップと、
    前記3つ以上の論理デバイスのそれぞれからの前記論理読取値の現在の状態に基づいて、前記ボータ論理回路の出力が結合されるプログラマブル・エラー・フィルタに含まれるエラー・フィルタ・カウンタを更新するステップであって、前記3つ以上の論理デバイスのそれぞれからの前記論理読取値の現在の状態に基づいて前記疑わしい論理デバイスが検出されるたびに前記ボータ論理回路により前記エラー・フィルタ・カウンタをインクリメントし、前記3つ以上の論理デバイスのそれぞれからの前記論理読取値が一致すると前記ボータ論理回路により前記エラー・フィルタ・カウンタをデクリメントする、更新するステップと、
    前記プログラマブル・エラー・フィルタにより、プログラマブル・エラーしきい値と、前記3つ以上の論理デバイスが不一致となった回数とを比較するステップと、
    前記回数が前記プログラマブル・エラーしきい値を超えた場合、前記処理装置が、前記疑わしい論理デバイスを自動的に再コンフィギュレーションするステップと、
    前記他の少なくとも2つの論理デバイスが一致しなくなった場合、前記処理装置が、前記他の少なくとも2つの論理デバイスを前記疑わしい論理デバイスとともに自動的に再コンフィギュレーションするステップと
    を備える方法。
JP2009506481A 2006-04-21 2007-01-19 フォールト・トレランス・コンピューティング・システムにおけるエラー・フィルタリング Expired - Fee Related JP5337022B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/379,633 2006-04-21
US11/379,633 US20070260939A1 (en) 2006-04-21 2006-04-21 Error filtering in fault tolerant computing systems
PCT/US2007/001351 WO2007133300A2 (en) 2006-04-21 2007-01-19 Error filtering in fault tolerant computing systems

Publications (3)

Publication Number Publication Date
JP2009534738A JP2009534738A (ja) 2009-09-24
JP2009534738A5 JP2009534738A5 (ja) 2010-02-25
JP5337022B2 true JP5337022B2 (ja) 2013-11-06

Family

ID=38662533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009506481A Expired - Fee Related JP5337022B2 (ja) 2006-04-21 2007-01-19 フォールト・トレランス・コンピューティング・システムにおけるエラー・フィルタリング

Country Status (4)

Country Link
US (1) US20070260939A1 (ja)
EP (1) EP2013733B1 (ja)
JP (1) JP5337022B2 (ja)
WO (1) WO2007133300A2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080195789A1 (en) * 2006-08-14 2008-08-14 Paul Douglas Stoner Method And Apparatus For Handling Data And Aircraft Employing Same
US20080089087A1 (en) * 2006-10-16 2008-04-17 Paul Douglas Stoner Apparatus and Method Pertaining to Light-Based Power Distribution in a Vehicle
US7743285B1 (en) * 2007-04-17 2010-06-22 Hewlett-Packard Development Company, L.P. Chip multiprocessor with configurable fault isolation
JP2009187199A (ja) * 2008-02-05 2009-08-20 Panasonic Corp 情報処理システム及び情報処理方法
US8200947B1 (en) * 2008-03-24 2012-06-12 Nvidia Corporation Systems and methods for voting among parallel threads
IT1391785B1 (it) * 2008-11-21 2012-01-27 St Microelectronics Srl Sistema elettronico per il rilevamento di un guasto
US8489919B2 (en) * 2008-11-26 2013-07-16 Arizona Board Of Regents Circuits and methods for processors with multiple redundancy techniques for mitigating radiation errors
JP5446229B2 (ja) * 2008-12-04 2014-03-19 日本電気株式会社 電子デバイス、電子デバイスの故障検出方法および電子デバイスの故障回復方法
CN101562543B (zh) * 2009-05-25 2013-07-31 阿里巴巴集团控股有限公司 一种缓存数据的处理方法、处理系统和装置
US8564616B1 (en) 2009-07-17 2013-10-22 Nvidia Corporation Cull before vertex attribute fetch and vertex lighting
US8542247B1 (en) 2009-07-17 2013-09-24 Nvidia Corporation Cull before vertex attribute fetch and vertex lighting
US8976195B1 (en) 2009-10-14 2015-03-10 Nvidia Corporation Generating clip state for a batch of vertices
US8384736B1 (en) 2009-10-14 2013-02-26 Nvidia Corporation Generating clip state for a batch of vertices
JP5660798B2 (ja) * 2010-04-01 2015-01-28 三菱電機株式会社 情報処理装置
JP5618792B2 (ja) * 2010-11-30 2014-11-05 三菱電機株式会社 エラー検出修復装置
JP5699057B2 (ja) * 2011-08-24 2015-04-08 株式会社日立製作所 プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス
JP5569752B2 (ja) * 2011-12-08 2014-08-13 株式会社デンソー 電子制御装置、および、これを用いた電動パワーステアリング装置
US9026864B2 (en) * 2012-02-29 2015-05-05 Red Hat, Inc. Offloading health-checking policy
JP2014052781A (ja) * 2012-09-06 2014-03-20 Fujitsu Telecom Networks Ltd Fpga監視制御回路
US9116531B2 (en) * 2013-02-27 2015-08-25 General Electric Company Methods and systems for current output mode configuration of universal input-output modules
US9612900B2 (en) * 2013-03-15 2017-04-04 SEAKR Engineering, Inc. Centralized configuration control of reconfigurable computing devices
JP6182924B2 (ja) * 2013-03-25 2017-08-23 オムロン株式会社 同期シリアルインタフェース回路およびモーション制御機能モジュール
JPWO2015068207A1 (ja) * 2013-11-05 2017-03-09 株式会社日立製作所 プログラマブルデバイス
US9294263B2 (en) * 2014-01-02 2016-03-22 Advanced Micro Devices, Inc. Methods and systems of synchronizer selection
US8922242B1 (en) * 2014-02-20 2014-12-30 Xilinx, Inc. Single event upset mitigation
WO2017091399A1 (en) * 2015-11-23 2017-06-01 Armor Defense Inc. Extracting malicious instructions on a virtual machine in a network environment
US10157276B2 (en) 2015-11-23 2018-12-18 Armor Defense Inc. Extracting malicious instructions on a virtual machine in a network environment
GB2555627B (en) * 2016-11-04 2019-02-20 Advanced Risc Mach Ltd Error detection
US10185635B2 (en) * 2017-03-20 2019-01-22 Arm Limited Targeted recovery process
US10423504B2 (en) * 2017-08-04 2019-09-24 The Boeing Company Computer architecture for mitigating transistor faults due to radiation
CN111506448B (zh) * 2020-04-16 2023-03-24 广西师范大学 一种二维处理器阵列的快速重构方法
WO2021101643A2 (en) * 2020-10-16 2021-05-27 Futurewei Technologies, Inc. Cpu-gpu lockstep system

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4644498A (en) * 1983-04-04 1987-02-17 General Electric Company Fault-tolerant real time clock
JPH0619641B2 (ja) * 1983-07-15 1994-03-16 株式会社日立製作所 多重系制御システムのデータ管理方式
CA1341310C (en) * 1988-07-15 2001-10-23 Robert Filepp Interactive computer network and method of operation
JPH04195639A (ja) * 1990-11-28 1992-07-15 Teijin Seiki Co Ltd 多重プロセッサシステム及びその出力管理方法
JP3246751B2 (ja) * 1991-01-25 2002-01-15 株式会社日立製作所 高信頼化コンピュータシステム及びその復旧方法並びにプロセッサボード及びその交換方法
JP2821307B2 (ja) * 1992-03-23 1998-11-05 株式会社日立製作所 高信頼化コンピュータシステムの割込み制御方法
JPH07175765A (ja) * 1993-10-25 1995-07-14 Mitsubishi Electric Corp 計算機の障害回復方法
JP3365581B2 (ja) * 1994-07-29 2003-01-14 富士通株式会社 自己修復機能付き情報処理装置
JPH08235015A (ja) * 1995-02-27 1996-09-13 Mitsubishi Electric Corp プロセッサ装置並びにプロセッサ故障診断方法
JP3438490B2 (ja) * 1996-10-29 2003-08-18 株式会社日立製作所 冗長システム
US6178522B1 (en) * 1998-06-02 2001-01-23 Alliedsignal Inc. Method and apparatus for managing redundant computer-based systems for fault tolerant computing
US6104211A (en) * 1998-09-11 2000-08-15 Xilinx, Inc. System for preventing radiation failures in programmable logic devices
US6856600B1 (en) * 2000-01-04 2005-02-15 Cisco Technology, Inc. Method and apparatus for isolating faults in a switching matrix
US6715116B2 (en) * 2000-01-26 2004-03-30 Hewlett-Packard Company, L.P. Memory data verify operation
US6910173B2 (en) * 2000-08-08 2005-06-21 The Board Of Trustees Of The Leland Stanford Junior University Word voter for redundant systems
EP1246033A1 (de) * 2001-08-23 2002-10-02 Siemens Aktiengesellschaft Verfahren zur Überwachung konsistenter Speicherinhalte in redundanten Systemen
US20040078508A1 (en) * 2002-10-02 2004-04-22 Rivard William G. System and method for high performance data storage and retrieval
JP2004133496A (ja) * 2002-10-08 2004-04-30 Hitachi Ltd コンピュータシステム
US7089484B2 (en) * 2002-10-21 2006-08-08 International Business Machines Corporation Dynamic sparing during normal computer system operation
US20060020852A1 (en) * 2004-03-30 2006-01-26 Bernick David L Method and system of servicing asynchronous interrupts in multiple processors executing a user program
US20050268061A1 (en) * 2004-05-31 2005-12-01 Vogt Pete D Memory channel with frame misalignment
US7392426B2 (en) * 2004-06-15 2008-06-24 Honeywell International Inc. Redundant processing architecture for single fault tolerance
US7320064B2 (en) * 2004-07-23 2008-01-15 Honeywell International Inc. Reconfigurable computing architecture for space applications

Also Published As

Publication number Publication date
JP2009534738A (ja) 2009-09-24
EP2013733B1 (en) 2012-02-22
EP2013733A2 (en) 2009-01-14
WO2007133300A3 (en) 2008-03-13
WO2007133300A2 (en) 2007-11-22
US20070260939A1 (en) 2007-11-08

Similar Documents

Publication Publication Date Title
JP5337022B2 (ja) フォールト・トレランス・コンピューティング・システムにおけるエラー・フィルタリング
US20070220367A1 (en) Fault tolerant computing system
KR102213762B1 (ko) 양방향 아키텍처를 구비한 리던던트 ccdl들
JP6484330B2 (ja) 2路アーキテクチャ
US7848232B2 (en) Time division multiplexed communication bus and related methods
US8140893B2 (en) Fault-tolerant system
US10042812B2 (en) Method and system of synchronizing processors to the same computational point
US9367375B2 (en) Direct connect algorithm
US9477559B2 (en) Control device, control method and recording medium storing program thereof
EP3979527A1 (en) System and method of network synchronized time in safety applications
US5533188A (en) Fault-tolerant processing system
US9665447B2 (en) Fault-tolerant failsafe computer system using COTS components
US10621024B2 (en) Signal pairing for module expansion of a failsafe computing system
US9311212B2 (en) Task based voting for fault-tolerant fail safe computer systems
JP5604799B2 (ja) フォールトトレラントコンピュータ
KR102596572B1 (ko) 무인항공기 네트워크 구조 및 네트워크 구조에서의 동기화 방법
Pimentel et al. A fault management protocol for TTP/C
Fan et al. Formal analysis of a fault tolerant GNC system architecture
JPS5838808B2 (ja) マルチプロセツサシステムにおけるデ−タ転送方式

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130618

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130802

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees