Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7613245B2 - Information processing device and error recovery method - Google Patents
[go: Go Back, main page]

JP7613245B2 - Information processing device and error recovery method - Google Patents

Information processing device and error recovery method Download PDF

Info

Publication number
JP7613245B2
JP7613245B2 JP2021076101A JP2021076101A JP7613245B2 JP 7613245 B2 JP7613245 B2 JP 7613245B2 JP 2021076101 A JP2021076101 A JP 2021076101A JP 2021076101 A JP2021076101 A JP 2021076101A JP 7613245 B2 JP7613245 B2 JP 7613245B2
Authority
JP
Japan
Prior art keywords
circuit
state
processing
state machine
circuits
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.)
Active
Application number
JP2021076101A
Other languages
Japanese (ja)
Other versions
JP2022170168A (en
Inventor
祐介 集
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2021076101A priority Critical patent/JP7613245B2/en
Publication of JP2022170168A publication Critical patent/JP2022170168A/en
Application granted granted Critical
Publication of JP7613245B2 publication Critical patent/JP7613245B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置およびエラー修復方法に関する。 The present invention relates to an information processing device and an error recovery method.

近年、プラントにおいて、DCS(Distributed Control System:分散型制御システム)およびSIS(Safety Instrumented System:安全計装システム)は、より重要性を増している。プラントで使用されるDCS、SIS、その他FA(Factory Automation)機器の内部には、集積回路であるFPGA(Field Programmable Gate Array)が搭載されていることが多い。 In recent years, DCS (Distributed Control Systems) and SIS (Safety Instrumented Systems) have become increasingly important in plants. DCS, SIS, and other FA (Factory Automation) equipment used in plants often contain FPGAs (Field Programmable Gate Arrays), which are integrated circuits.

FPGAはソフトエラーと呼ばれる宇宙線起因による中性子線等の影響で、内部のコンフィギュレーションメモリであるCRAM(Configuration Random Access Memory)や、論理回路であるFF(Flip-Flop:フリップフロップ)のデータが反転してしまうリスクが存在する。そのため、信頼性を必要とするロジックを構成する場合については、その対策が必要となる。 FPGAs have a risk of data inversion in the internal configuration memory CRAM (Configuration Random Access Memory) and logic circuits FF (Flip-Flop) due to the effects of neutron rays caused by cosmic rays, known as soft errors. Therefore, when configuring logic that requires reliability, measures to prevent this are necessary.

特開2014-052781号公報JP 2014-052781 A

しかしながら、FPGAのソフトエラーが発生しても、効果的に出力信号の正常状態を維持することは難しい。なぜならば、上記技術では、CRAMのデータ反転に起因する回路破壊を修復し、かつ、FFのデータ反転を即座に修復することが難しいためである。 However, even if a soft error occurs in an FPGA, it is difficult to effectively maintain the normal state of the output signal. This is because, with the above technology, it is difficult to repair the circuit damage caused by the data inversion in the CRAM and to immediately repair the data inversion in the FF.

上述した課題を解決し、目的を達成するために、本発明に係る情報処理装置は、フレームごとに設定された各処理回路であって、前記各処理回路の出力結果を取得して多数決により選択して出力する前記各処理回路と、前記各処理回路に関する情報を記憶するコンフィギュレーションメモリおよび前記コンフィギュレーションメモリのソフトエラーを検出して修復する修復部を含む集積回路と、を備えることを特徴とする。 In order to solve the above-mentioned problems and achieve the object, the information processing device according to the present invention is characterized in that it comprises processing circuits set for each frame, each of which acquires the output results of each processing circuit and selects and outputs them by majority vote, and an integrated circuit including a configuration memory that stores information about each processing circuit and a repair unit that detects and repairs soft errors in the configuration memory.

また、本発明に係るエラー修復方法は、フレームごとに設定された各処理回路と、集積回路とを有する情報処理装置において、前記各処理回路が、前記フレームごとに処理を実行した前記各処理回路の出力結果を取得して多数決により選択して出力し、前記集積回路が、前記各処理回路に関する情報を記憶するコンフィギュレーションメモリのソフトエラーを検出して修復する、処理を実行することを特徴とする。 The error repair method according to the present invention is characterized in that, in an information processing device having each processing circuit set for each frame and an integrated circuit, the processing circuits acquire the output results of the processing circuits that have executed processing for each frame, select and output the selected result by majority vote, and the integrated circuit executes a process to detect and repair soft errors in a configuration memory that stores information about each processing circuit.

本発明では、FPGAのソフトエラーが発生しても、効果的に出力信号の正常状態を維持することができる。 The present invention effectively maintains the normal state of the output signal even if a soft error occurs in the FPGA.

実施形態に係るFPGAの構成例を示す図である。FIG. 2 is a diagram illustrating an example of the configuration of an FPGA according to an embodiment. FPGA上のCRAM、FFにおけるソフトエラー発生イメージを示す図である。FIG. 1 is a diagram showing an example of soft error occurrence in a CRAM and a FF on an FPGA. 従来のソフトエラー対策1の概要を示す図である。FIG. 1 is a diagram showing an overview of a conventional soft error countermeasure 1. 従来のソフトエラー対策1の回路の出力状態を示すタイムチャートである。1 is a time chart showing an output state of a circuit of a conventional soft error countermeasure 1. 従来のソフトエラー対策2の概要を示す図である。FIG. 1 is a diagram showing an overview of a conventional soft error countermeasure 2. 従来のソフトエラー対策2の回路の出力状態を示すタイムチャートである。1 is a time chart showing an output state of a circuit for a conventional soft error countermeasure 2. 実施形態に係るFPGAの出力状態の一例を示すタイムチャートである。4 is a time chart showing an example of an output state of an FPGA according to an embodiment. 実施形態に係る修復処理全体の流れの一例を示すフローチャートである。11 is a flowchart showing an example of the overall flow of a repair process according to the embodiment. 実施形態に係るCRAM修復処理の流れの一例を示すフローチャートである。11 is a flowchart showing an example of the flow of a CRAM repair process according to the embodiment. 実施形態に係るFF修復処理の流れの一例を示すフローチャートである。11 is a flowchart showing an example of the flow of an FF repair process according to the embodiment. 実施形態の変形例に係るフレームの構成例を示す図である。FIG. 13 is a diagram illustrating an example of a frame configuration according to a modified example of the embodiment. 実施形態の変形例に係るFF修復処理の流れの一例を示すフローチャートである。13 is a flowchart showing an example of the flow of an FF repair process according to a modified example of the embodiment. 実施形態に係る情報処理装置のハードウェア構成例を説明する図である。FIG. 2 is a diagram illustrating an example of a hardware configuration of an information processing device according to an embodiment.

以下に、本発明に係る情報処理装置およびエラー修復方法の発明を実施するための形態(適宜、実施形態)を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。 Below, a detailed description is given of an embodiment (or, as appropriate, a specific embodiment) of an information processing device and an error recovery method according to the present invention, with reference to the accompanying drawings. Note that the present invention is not limited to the embodiment described below.

〔実施形態〕
以下に、本実施形態に係る情報処理装置のFPGAの構成、従来のソフトエラー対策、CRAM等の構成、FPGAの出力状態、各処理の流れを順に説明し、最後に本実施形態の効果を説明する。
[Embodiment]
The FPGA configuration of the information processing device according to this embodiment, conventional soft error countermeasures, the configuration of the CRAM, etc., the output state of the FPGA, and the flow of each process will be described below in order, and finally the effects of this embodiment will be described.

[FPGAの構成]
図1を用いて、本実施形態に係る情報処理装置100等に搭載されるFPGA10の構成を詳細に説明する。図1は、実施形態に係るFPGAの構成例を示す図である。以下に、FPGA10全体の構成例を示した上で、FPGA10におけるCRAM修復処理、FF修復処理の順に説明する。
[FPGA configuration]
The configuration of an FPGA 10 mounted on an information processing device 100 according to the present embodiment will be described in detail with reference to Fig. 1. Fig. 1 is a diagram showing an example of the configuration of an FPGA according to the embodiment. Below, an example of the overall configuration of the FPGA 10 will be shown, and then the CRAM repair process and FF repair process in the FPGA 10 will be described in that order.

(FPGA10全体の構成例)
FPGA10は、プラントで使用される情報処理装置の一例であるDCS、SIS、その他FA機器等に搭載される集積回路である。例えば、FPGA10は、コンフィギュレーションメモリであるCRAM11、およびソフトエラーの監視、修復を実行する修復部12を有する。このCRAM11は、回路情報を記憶したコンフィギュレーションメモリの一例である。例えば、CRAM11は、フレームと呼ばれる単位ごとにメモリ領域が割り当てられており、各メモリ領域には入力データに対してエラー処理や訂正処理などの各処理を実行する処理回路の回路情報が格納されている。
(Example of the overall configuration of FPGA 10)
The FPGA 10 is an integrated circuit mounted on a DCS, SIS, or other FA equipment, which are examples of information processing devices used in a plant. For example, the FPGA 10 has a CRAM 11, which is a configuration memory, and a repair unit 12, which monitors and repairs soft errors. The CRAM 11 is an example of a configuration memory that stores circuit information. For example, the CRAM 11 is assigned a memory area for each unit called a frame, and each memory area stores circuit information of a processing circuit that performs various processes, such as error processing and correction processing, on input data.

一例として、本実施形態では、CRAM11が、「フレームA」110A、「フレームB」110Bおよび「フレームC」110Cの3つのフレームそれぞれに対して構成すべき回路情報を記憶する例で説明する。すなわち、本実施形態に係るFPGA10は、3重化された処理回路を有する。なお、多重化の数や処理回路の構成等は、あくまで一例であり、図示したものに限定するものではない。 As an example, in this embodiment, an example will be described in which the CRAM 11 stores circuit information to be configured for each of three frames, "Frame A" 110A, "Frame B" 110B, and "Frame C" 110C. In other words, the FPGA 10 according to this embodiment has a triplexed processing circuit. Note that the number of multiplexes and the configuration of the processing circuit are merely examples and are not limited to those shown in the figure.

図1に示すように、FPGA10は、「フレームA」110A、「フレームB」110Bおよび「フレームC」110Cの3つのフレームそれぞれに対応する処理回路を有している。また、各フレームに対応する処理回路は、それぞれ{フレームA-1,A-2,・・・,A-n}、{フレームB-1,B-2,・・・,B-n}、{フレームC-1,C-2,・・・,C-n}のように、複数の一連の処理回路が実装されていてもよい。また、図1に示したFPGA10には、複数のCRAM11、複数の修復部12が含まれてもよい。 As shown in FIG. 1, the FPGA 10 has processing circuits corresponding to three frames, "Frame A" 110A, "Frame B" 110B, and "Frame C" 110C. Furthermore, the processing circuits corresponding to each frame may be implemented with a series of multiple processing circuits, such as {Frames A-1, A-2, ..., A-n}, {Frames B-1, B-2, ..., B-n}, and {Frames C-1, C-2, ..., C-n}. Furthermore, the FPGA 10 shown in FIG. 1 may include multiple CRAMs 11 and multiple repair units 12.

(CRAM修復処理)
まず、中性子線等の影響により、CRAM11上でソフトエラーによるデータ反転が発生する(図1(1-1)参照)。このとき、CRAM11上のメモリ領域に記憶される回路情報に対応する処理回路であってFPGA10上に構成された処理回路が破壊され、出力が不定状態となる(図1(1-2)参照)。次に、修復部12の定周期監視により、ソフトエラーが検出され(図1(1-3)参照)、CRAM11のデータ反転が修復される(図1(1-4)参照)。そして、CRAM11のデータ反転が修復されることにより、処理回路が修復され、出力が正常状態に戻る(図1(1-5)参照)。なお、詳細なCRAM修復処理については、[CRAM修復処理の流れ]にて後述する。
(CRAM Repair Process)
First, due to the influence of neutron radiation, etc., data inversion occurs on the CRAM 11 due to a soft error (see FIG. 1 (1-1)). At this time, the processing circuit corresponding to the circuit information stored in the memory area on the CRAM 11 and configured on the FPGA 10 is destroyed, and the output becomes unstable (see FIG. 1 (1-2)). Next, the soft error is detected by the fixed-period monitoring of the repair unit 12 (see FIG. 1 (1-3)), and the data inversion of the CRAM 11 is repaired (see FIG. 1 (1-4)). Then, by repairing the data inversion of the CRAM 11, the processing circuit is repaired, and the output returns to a normal state (see FIG. 1 (1-5)). Details of the CRAM repair process will be described later in [Flow of CRAM Repair Process].

(FF修復処理)
まず、中性子線等の影響により、FFのデータ反転が発生する(図1(2-1)参照)。このとき、いずれのFFのデータが反転しても、回路の3重化により出力は正常状態を維持される。また、3系統のFFの出力の多数決結果を、FFの入力に常時書き戻すパスがあることから、反転したデータは即座に修復される。なお、詳細なFF修復処理については、[FF修復処理の流れ]にて後述する。
(FF repair process)
First, data inversion occurs in FFs due to the influence of neutron rays, etc. (See Fig. 1 (2-1)). In this case, even if the data of any FF is inverted, the output is maintained in a normal state due to the triplicate circuit. In addition, since there is a path that constantly writes back the majority vote result of the outputs of the three FFs to the input of the FFs, the inverted data is immediately repaired. Details of the FF repair process will be described later in [Flow of FF repair process].

上述したように、本実施形態に係るFPGA10は、CRAM修復機能を有し、3重化された処理回路を実装する。さらに、FPGA10は、CRAM11での1ビットのソフトエラーにおいて、回路の複数箇所の故障により、3重化のうちの2系統以上の故障を防ぐため、各系統は別フレームに設定する。このため、FPGA10は、FPGA10のソフトエラーが発生しても、効果的に出力信号の正常状態を維持することができ、ソフトエラー耐性の向上に貢献する。 As described above, the FPGA 10 according to this embodiment has a CRAM repair function and is equipped with a triplexed processing circuit. Furthermore, in the event of a one-bit soft error in the CRAM 11, the FPGA 10 sets each system in a separate frame to prevent failure of two or more of the triplexed systems due to failures in multiple locations in the circuit. Therefore, even if a soft error occurs in the FPGA 10, the FPGA 10 can effectively maintain the normal state of the output signal, contributing to improved soft error resistance.

[従来のソフトエラー対策]
ここで、図2~図6を用いて、参考技術として、一般的に行われる従来のソフトエラー対策について説明する。図2は、FPGA上のCRAM、FFにおけるソフトエラー発生イメージを示す図である。図3、図5は、従来のソフトエラー対策の概要を示す図である。図4、図6は、従来のソフトエラー対策の回路の出力状態を示すタイムチャートである。以下に、ソフトエラー発生のイメージを示した上で、従来のソフトエラー対策1、従来のソフトエラー対策2の順に説明する。
[Conventional soft error countermeasures]
Here, conventional soft error countermeasures that are generally taken are explained as reference technology using Figures 2 to 6. Figure 2 is a diagram showing an image of soft error occurrence in CRAM and FF on FPGA. Figures 3 and 5 are diagrams showing an overview of conventional soft error countermeasures. Figures 4 and 6 are time charts showing the output state of a circuit for conventional soft error countermeasures. Below, an image of soft error occurrence is shown, and then conventional soft error countermeasures 1 and 2 are explained in that order.

(ソフトエラー発生のイメージ)
図2を用いて、FPGA上のCRAM、FFにおけるソフトエラー発生のイメージを説明する。まず、ソフトエラーの原因となる宇宙線に起因する中性子線等が発生する(図2(1)参照)。次に、発生した中性子線の照射により、FPGA内部のCRAMやFFのデータ反転が起こる(図2(2)参照)。上記のようにCRAMやFFのデータ反転が発生した場合、以下のような影響が生じる。
(Illustration of soft error occurrence)
An image of soft error occurrence in CRAM and FF on FPGA will be explained using Figure 2. First, neutron rays caused by cosmic rays, which are the cause of soft errors, are generated (see Figure 2 (1)). Next, data inversion occurs in the CRAM and FF inside the FPGA due to the irradiation of the generated neutron rays (see Figure 2 (2)). When data inversion occurs in the CRAM or FF as described above, the following effects occur.

第1に、CRAMのデータが反転した場合、FPGA内に構成されている回路が破壊される。これは、FPGAに構成されている回路はFPGA内のCRAM上のデータより生成されるためである。 First, if the data in the CRAM is inverted, the circuitry configured in the FPGA will be destroyed. This is because the circuitry configured in the FPGA is generated from the data on the CRAM in the FPGA.

第2に、FFのデータが反転した場合、そのFFより後段の回路が一時的に正常動作しなくなる。特に、FFへの書き込みが常時行われないFFについては、書き込みが行われるまで異常出力が継続する。 Secondly, if the data in a FF is inverted, the circuit downstream of that FF will temporarily stop working normally. In particular, for FFs that are not constantly written to, the abnormal output will continue until data is written to.

(従来のソフトエラー対策1)
図3、図4を用いて、参考技術として、一般的に行われる従来のソフトエラー対策1について説明する。ソフトエラー対策1は、修復部12-1を用いたソフトエラー対策である。以下では、CRAMのデータ反転、FFのデータ反転の順に説明する。なお、図4中の「CLK」は、クロック信号を示す。
(Conventional soft error countermeasures 1)
3 and 4, a conventional soft error countermeasure 1 that is generally performed will be described as a reference technology. Soft error countermeasure 1 is a soft error countermeasure using a repair unit 12-1. The following describes data inversion of CRAM and data inversion of FF in that order. Note that "CLK" in FIG. 4 indicates a clock signal.

第1に、CRAMのデータ反転が起こった場合を考える。まず、FPGA10-1において中性子線の影響によりCRAM11-1上でソフトエラーのデータ反転が生じると、フレーム110-1上に構成された回路が破壊される(図3(1-1)参照)。このとき、出力は不定状態となる(図4(1-1)参照)。その後、修復部12-1によりソフトエラーが検出され、CRAM11-1のデータ反転が修復される(図3(1-2)参照)。ここで、修復部12-1によるCRAM修復機能は定周期監視であり、リアルタイムでの修正は実施できない。そのため、ソフトエラーによるデータ反転が生じてから、実際にCRAM11-1のデータが修復されるには、しばらく時間を要する。したがって、出力は正常状態に戻るものの、一定期間、不定出力をしてしまう(図4(1-2)参照)。 First, consider the case where data inversion occurs in the CRAM. First, when data inversion due to a soft error occurs in the CRAM 11-1 due to the influence of neutron radiation in the FPGA 10-1, the circuit configured on the frame 110-1 is destroyed (see FIG. 3 (1-1)). At this time, the output becomes undefined (see FIG. 4 (1-1)). After that, the repair unit 12-1 detects the soft error and repairs the data inversion in the CRAM 11-1 (see FIG. 3 (1-2)). Here, the CRAM repair function by the repair unit 12-1 is a fixed-cycle monitoring function, and real-time correction cannot be performed. Therefore, it takes some time for the data in the CRAM 11-1 to actually be repaired after data inversion due to a soft error occurs. Therefore, although the output returns to a normal state, it remains undefined for a certain period of time (see FIG. 4 (1-2)).

第2に、FFのデータ反転が起こった場合を考える。まず、FPGA10-1において中性子線の影響によりFFのデータ反転が生じ(図3(2-1)参照)、そのFFより後段の回路が一時的に正常動作しなくなる(図4(2-1)参照)。ここで、修復部12-1は、CRAMに対するソフトエラーの対策機能であり、FFのデータ反転への対策効果はない。したがって、このとき出力は正常なデータがFFへ書き込まれるまでの間で不定状態となる(図3(2-2)、図4(2-2)参照)。 Secondly, consider the case where data inversion occurs in a FF. First, data inversion occurs in a FF in FPGA 10-1 due to the effects of neutron radiation (see FIG. 3 (2-1)), and the circuit downstream of that FF temporarily does not operate normally (see FIG. 4 (2-1)). Here, the repair unit 12-1 is a countermeasure function for soft errors in CRAM, and has no countermeasure effect against data inversion in the FF. Therefore, at this time, the output is in an undefined state until normal data is written to the FF (see FIG. 3 (2-2), FIG. 4 (2-2)).

(従来のソフトエラー対策2)
図5、図6を用いて、参考技術として、一般的に行われる従来のソフトエラー対策2について説明する。ソフトエラー対策2は、回路の3重化を図り、各FFの出力については、3系統の出力を用いて多数決することにより、回路において1故障が生じても、正常出力を維持する対策である。以下では、CRAMのデータ反転、FFのデータ反転の順に説明する。なお、図6中の「CLK」は、クロック信号を示す。
(Conventional soft error countermeasures 2)
A conventional soft error countermeasure 2 that is generally taken will be described as a reference technology with reference to Figures 5 and 6. Soft error countermeasure 2 is a countermeasure that maintains normal output even if one fault occurs in the circuit by tripling the circuit and using the output of three systems to determine the output of each FF by majority vote. The following describes data inversion of CRAM and data inversion of FF in that order. Note that "CLK" in Figure 6 indicates a clock signal.

第1に、CRAMのデータ反転が起こった場合を考える。まず、FPGA10-2において中性子線の影響によりCRAM11-2上でソフトエラーのデータ反転が生じると、フレーム110-2上に構成された回路が破壊される。このとき、故障する回路が1箇所のみである場合(図5(1a-1)、図6(1a-1)参照)、修復部12-2がCRAM11-2の修復を行わなくても、出力は正常状態を維持できる(図5(1a-2)、図6(1a-2)参照)。しかしながら、同一フレーム内のデータで構成される回路については、ソフトエラーによりCRAM11-2のデータが1ビット反転するだけで、複数箇所の回路の故障が発生する場合がある。このため、ソフトエラーのデータ反転により、3重化回路のうち2系統が故障する場合(図5(1b-1)、図6(1b-1)参照)、修復部12-2がCRAMの修復を行わなければ、出力は不定状態となる(図5(1b-2)、図6(1b-2)参照)。 First, consider the case where data inversion occurs in the CRAM. First, when a soft error data inversion occurs in CRAM 11-2 due to the influence of neutron radiation in FPGA 10-2, the circuit configured on frame 110-2 is destroyed. In this case, if only one circuit is faulty (see Figures 5 (1a-1) and 6 (1a-1)), the output can be maintained normal even if repair unit 12-2 does not repair CRAM 11-2 (see Figures 5 (1a-2) and 6 (1a-2)). However, for circuits configured with data within the same frame, a single bit of data inversion in CRAM 11-2 due to a soft error can cause circuit failures in multiple places. Therefore, if two of the triplex circuits fail due to data inversion caused by a soft error (see Figures 5 (1b-1) and 6 (1b-1)), the output will be in an undefined state unless the repair unit 12-2 repairs the CRAM (see Figures 5 (1b-2) and 6 (1b-2)).

第2に、FFのデータ反転が起こった場合を考える。まず、FPGA10-2において中性子線の影響によりFFのデータ反転が生じる(図5(2-1)、図6(2-1)参照)。ここで、いずれのFFのデータが反転してもソフトエラーの影響を受けず、回路の3重化により出力は正常状態を維持できる(図5(2-2)、図6(2-2)参照)。 Secondly, consider the case where data inversion occurs in a FF. First, data inversion occurs in a FF in FPGA 10-2 due to the effects of neutron radiation (see Figures 5 (2-1) and 6 (2-1)). Here, even if the data in any FF is inverted, it is not affected by a soft error, and the output can be maintained in a normal state due to the triplicate circuit (see Figures 5 (2-2) and 6 (2-2)).

上述の2つのソフトエラー対策は、以下の理由により、FPGAのソフトエラーが発生時に、効果的に出力信号の正常状態を維持することは難しい。第1に、上述のソフトエラー対策1では、CRAMのデータ反転においては、出力が不定値になる期間があり、信頼性が必要な回路では対策が不十分である。第2に、上述のソフトエラー対策2では、CRAMでソフトエラーが発生した場合、1ビット反転で回路が2故障となったときに出力が不定値になる。また、CRAMのソフトエラーを修復できない場合には、故障状態が継続し、1ビット反転で回路が1故障となっているときにも、さらなるソフトエラーでビット反転を引き起こし、2故障へ至る可能性がある。 The above two soft error countermeasures have difficulty in effectively maintaining the normal state of the output signal when a soft error occurs in an FPGA for the following reasons. First, in the above soft error countermeasure 1, when data is inverted in the CRAM, there is a period during which the output becomes an undefined value, and the countermeasure is insufficient for circuits that require reliability. Second, in the above soft error countermeasure 2, when a soft error occurs in the CRAM, the output becomes an undefined value when one bit inversion causes two faults in the circuit. Furthermore, if the soft error in the CRAM cannot be repaired, the faulty state continues, and even when one bit inversion causes one fault in the circuit, a further soft error may cause a bit inversion, leading to two faults.

これに対して、上述したように、本実施形態に係る図1に示したFPGA10は、入力データに対して処理を実行して出力するCRAM11と、CRAM11のソフトエラーを検出して修復する修復部12と、を備え、CRAM11は、フレーム110ごとに設定された各処理回路であって、各処理回路の出力結果を取得して多数決により選択して出力する各処理回路、を備える。 In contrast, as described above, the FPGA 10 shown in FIG. 1 according to this embodiment includes a CRAM 11 that processes input data and outputs the data, and a repair unit 12 that detects and repairs soft errors in the CRAM 11. The CRAM 11 includes processing circuits that are set for each frame 110 and that acquire the output results of each processing circuit and select and output the result by majority vote.

すなわち、FPGA10は、CRAM11におけるソフトエラー(1ビット反転)において、回路故障(複数箇所故障を含む)が生じても出力信号の正常状態を維持でき、かつ回路故障を修復し故障状態のままとならない。また、FPGA10は、FFにおけるソフトエラーにおいて、出力信号の正常状態を維持できる。さらに、本実施形態に係る修復処理は、コマーシャル品、インダストリアル品、オートモーティブ品といった安価で容易に入手可能なFPGAでも実施可能である。 In other words, the FPGA 10 can maintain the normal state of the output signal even if a circuit failure (including multiple failures) occurs in a soft error (1-bit inversion) in the CRAM 11, and repairs the circuit failure so that the failure does not remain. Also, the FPGA 10 can maintain the normal state of the output signal in the case of a soft error in the FF. Furthermore, the repair process according to this embodiment can be implemented in inexpensive and easily available FPGAs such as commercial, industrial, and automotive products.

[FPGA10の構成]
本実施形態に係る情報処理装置100のFPGA10の構成を詳細に説明する。FPGA10は、フレーム110、CRAM11および修復部12を有する。以下では、フレーム110、CRAM11、修復部12の順に説明する(図1参照)。
[Configuration of FPGA 10]
The configuration of the FPGA 10 of the information processing device 100 according to this embodiment will be described in detail. The FPGA 10 has a frame 110, a CRAM 11, and a repair unit 12. The frame 110, the CRAM 11, and the repair unit 12 will be described below in that order (see FIG. 1).

(フレーム110)
フレーム110は、フレーム110ごとに設定された各処理回路であって、各処理回路の出力結果を取得して多数決により選択して出力する各処理回路を実装する。例えば、フレーム110は、FPGA10上であって、CRAM11外のフレーム110(110A、110B、110C)ごとに設定された各処理回路を有する。各処理回路は、フリップフロップ回路111(111a、111b、111c)、多数決回路112(112a、112b、112c)、書き戻し回路113(113a、113b、113c)、およびマルチプレクサ(multiplexer:MUX)114(114a、114b、114c)を備える。また、フレーム110は、各処理に対応した、フリップフロップ回路111、多数決回路112、書き戻し回路113およびマルチプレクサ114により構成された一群の回路を複数有する。
(Frame 110)
The frame 110 is implemented with each processing circuit set for each frame 110, which acquires the output result of each processing circuit, selects and outputs it by majority vote. For example, the frame 110 has each processing circuit set for each frame 110 (110A, 110B, 110C) on the FPGA 10 outside the CRAM 11. Each processing circuit includes flip-flop circuits 111 (111a, 111b, 111c), majority vote circuits 112 (112a, 112b, 112c), write-back circuits 113 (113a, 113b, 113c), and multiplexers (MUX) 114 (114a, 114b, 114c). The frame 110 also has a group of circuits, each of which is made up of a flip-flop circuit 111, a majority circuit 112, a write-back circuit 113, and a multiplexer 114, corresponding to each process.

各処理回路は、入力データに対して処理を実行して出力する。また、各処理回路は、FPGA10上であって、CRAM11外のフレーム110ごとに設定された各処理回路であって、各処理回路の出力結果を取得して多数決により選択して出力する各処理回路を備える。 Each processing circuit processes input data and outputs the data. Each processing circuit is on the FPGA 10 and is set for each frame 110 outside the CRAM 11, and each processing circuit acquires the output results of each processing circuit, selects them by majority vote, and outputs them.

なお、本実施形態に係るFPGA10において、FPGA10上の特定のロジック領域のみ動的に再構成し、別のロジックに切り替えるパーシャルリコンフィグ機能を用いて、フレーム110ごとに各処理回路が設定されるが、処理回路の設定方式は特に限定されない。 In the FPGA 10 according to this embodiment, each processing circuit is configured for each frame 110 using a partial reconfiguration function that dynamically reconfigures only a specific logic area on the FPGA 10 and switches to a different logic, but the method for configuring the processing circuits is not particularly limited.

フリップフロップ回路111は、フレーム110に対して行われた処理結果に基づく値を保持する。また、フリップフロップ回路111は、クロック信号(CLK)を取得する。 The flip-flop circuit 111 holds a value based on the result of processing performed on the frame 110. The flip-flop circuit 111 also acquires a clock signal (CLK).

多数決回路112は、各処理回路のフリップフロップ回路111の出力を取得し、多数決により選択された値を出力する。例えば、多数決回路112は、3重化された処理回路のフリップフロップ回路111a~111cの出力を取得し、多数決により選択された値を出力する。 The majority circuit 112 obtains the output of the flip-flop circuit 111 of each processing circuit, and outputs a value selected by majority vote. For example, the majority circuit 112 obtains the output of the flip-flop circuits 111a to 111c of a triplexed processing circuit, and outputs a value selected by majority vote.

書き戻し回路113は、多数決回路の出力をフリップフロップ回路111に入力してフリップフロップ回路111で保持される値を書き戻す。例えば、書き戻し回路113は、フリップフロップ回路111a~111cの出力のうち、多数決により選択された値を、フリップフロップ回路111aに入力してフリップフロップ回路111aで保持される値を書き戻す。 The write-back circuit 113 inputs the output of the majority circuit to the flip-flop circuit 111 and writes back the value held in the flip-flop circuit 111. For example, the write-back circuit 113 inputs a value selected by majority vote from the outputs of the flip-flop circuits 111a to 111c to the flip-flop circuit 111a and writes back the value held in the flip-flop circuit 111a.

マルチプレクサ114は、複数の入力から1つを選んで出力する。また、マルチプレクサ114は、書き込みデータ、書き込みイネーブルを取得する。さらに、マルチプレクサ114は、書き戻し回路113によって書き戻された値を取得する。 The multiplexer 114 selects one of the multiple inputs and outputs it. The multiplexer 114 also acquires the write data and the write enable. Furthermore, the multiplexer 114 acquires the value written back by the write-back circuit 113.

(CRAM11)
CRAM11は、各処理回路に関する情報(回路情報)を記憶する。例えば、CRAM11は、各処理回路の回路情報を記憶したコンフィギュレーションメモリであって、フレーム単位ごとにメモリ領域が割り当てられており、各メモリ領域には入力データに対してエラー処理や訂正処理などの各処理を実行する処理回路の回路情報が格納されている。
(CRAM11)
The CRAM 11 stores information (circuit information) about each processing circuit. For example, the CRAM 11 is a configuration memory that stores the circuit information about each processing circuit, and memory areas are allocated for each frame, and each memory area stores the circuit information about a processing circuit that executes various processes such as error processing and correction processing on input data.

(修復部12)
修復部12は、CRAM11のソフトエラーを検出して修復する。例えば、修復部12は、フレーム単位ごとに設定された各処理回路を周期的に監視し、各処理回路のいずれかの処理回路でソフトエラーによるデータ反転を検出した場合に、データ反転が発生した処理回路に対してデータ反転を修復する。
(Repair Unit 12)
The repair unit 12 detects and repairs soft errors in the CRAM 11. For example, the repair unit 12 periodically monitors each processing circuit set for each frame, and when the repair unit 12 detects data inversion due to a soft error in any of the processing circuits, the repair unit 12 repairs the data inversion for the processing circuit in which the data inversion occurred.

[FPGA10の出力状態]
図7を用いて、本実施形態に係るFPGA10の出力状態について詳細に説明する。図7は、実施形態に係るFPGAの出力状態の一例を示すタイムチャートである。以下では、CRAMのデータ反転、FFのデータ反転の順に説明する。なお、図7中の「CLK」は、クロック信号を示す。
[FPGA 10 Output State]
The output state of the FPGA 10 according to this embodiment will be described in detail with reference to Fig. 7. Fig. 7 is a time chart showing an example of the output state of the FPGA according to this embodiment. Below, the data inversion of the CRAM and the data inversion of the FF will be described in that order. Note that "CLK" in Fig. 7 indicates a clock signal.

第1に、CRAMのデータ反転が起こった場合を考える。まず、中性子線の影響によりCRAM11上でソフトエラーによりデータ反転が生じると、構成された回路が破壊される(図7(1-1)参照)。このとき、3重化回路はそれぞれの系統を別々のフレームに実装していることから、ソフトエラーによる1ビット反転による回路の破壊の影響は2故障以上となった場合でも1系統内に収まる。また、各FFの出力は3重化により多数決されているので、出力は正常状態を維持できる。さらに、修復部12によって、定周期監視をもとにCRAM11でのソフトエラーが検出され、データ反転を修復されることで、故障した回路も修復される(図7(1-2)参照)。 First, consider the case where data inversion occurs in the CRAM. First, if data inversion occurs in the CRAM 11 due to a soft error caused by neutron radiation, the configured circuit will be destroyed (see FIG. 7 (1-1)). In this case, since the triplex circuit is implemented with each system in a separate frame, the impact of circuit destruction due to a one-bit inversion caused by a soft error is contained within one system even if two or more failures occur. In addition, since the output of each FF is decided by majority decision through the triplicate configuration, the output can be maintained in a normal state. Furthermore, the repair unit 12 detects soft errors in the CRAM 11 based on periodic monitoring, and repairs the data inversion, thereby repairing the failed circuit (see FIG. 7 (1-2)).

第2に、FFのデータ反転が起こった場合を考える。まず、FPGA10において中性子線の影響によりFFのデータ反転が生じる(図7(2-1)参照)。ここで、いずれのFFのデータが反転してもソフトエラーの影響を受けず、回路の3重化により出力は正常状態を維持できる(図7(2-2)参照)。また、3系統のFFの出力の多数決結果をFFの入力に常時書き戻すパス(書き戻し回路)113があるため、反転したデータは即座に修復される。 Secondly, consider the case where data inversion occurs in a FF. First, data inversion occurs in a FF in FPGA 10 due to the effects of neutron radiation (see Figure 7 (2-1)). Here, even if the data in any FF is inverted, it is not affected by a soft error, and the output can be maintained in a normal state due to the triplicate circuit (see Figure 7 (2-2)). In addition, since there is a path (write-back circuit) 113 that constantly writes back the majority vote result of the outputs of the three FFs to the input of the FF, the inverted data is immediately restored.

[修復処理全体の流れ]
図8を用いて、本実施形態に係る修復処理全体の流れを説明する。図8は、実施形態に係る修復処理全体の流れの一例を示すフローチャートである。本実施形態に係る修復処理では、CRAM修復処理(ステップS101)、FF修復処理(ステップS102)が実行される。なお、ステップS101の処理およびステップS102の処理の順序や実行のタイミングは、動的に、または静的に変更することができる。また、ステップS101の処理またはステップS102の処理のうち、省略される処理があってもよい。
[Overall repair process flow]
The overall flow of the repair process according to this embodiment will be described with reference to Fig. 8. Fig. 8 is a flowchart showing an example of the overall flow of the repair process according to this embodiment. In the repair process according to this embodiment, a CRAM repair process (step S101) and an FF repair process (step S102) are executed. Note that the order and execution timing of the process of step S101 and the process of step S102 can be changed dynamically or statically. Also, some of the processes of step S101 and step S102 may be omitted.

(CRAM修復処理)
CRAMのデータ反転が起こった場合には、FPGA10は、CRAM修復処理を実行する(ステップS101)。このとき、多数決回路112は、各フリップフロップ回路111の出力を多数決により選択して出力する。また、修復部12は、定周期監視をもとにCRAM11でのソフトエラーが検出し、データ反転を修復する。なお、CRAM修復処理の詳細な説明については、[CRAM修復処理の流れ]にて後述する。
(CRAM Repair Process)
When data inversion occurs in the CRAM, the FPGA 10 executes a CRAM repair process (step S101). At this time, the majority circuit 112 selects and outputs the output of each flip-flop circuit 111 by majority decision. The repair unit 12 detects a soft error in the CRAM 11 based on periodic monitoring and repairs the data inversion. A detailed description of the CRAM repair process will be given later in [Flow of CRAM Repair Process].

(FF修復処理)
FFのデータ反転が起こった場合には、FPGA10は、FF修復処理を実行する(ステップS102)。このとき、多数決回路112は、各フリップフロップ回路111の出力を多数決により選択して出力する。また、書き戻し回路113は、多数決回路の出力をフリップフロップ回路111に入力してフリップフロップ回路111で保持される値を書き戻す。なお、FF修復処理の詳細な説明については、[FF修復処理の流れ]にて後述する。
(FF repair process)
When data inversion of the FF occurs, the FPGA 10 executes an FF repair process (step S102). At this time, the majority circuit 112 selects and outputs the output of each flip-flop circuit 111 by majority decision. The write-back circuit 113 inputs the output of the majority circuit to the flip-flop circuit 111 and writes back the value held in the flip-flop circuit 111. The FF repair process will be described in detail later in [Flow of FF Repair Process].

[CRAM修復処理の流れ]
図9を用いて、本実施形態に係るCRAM修復処理の流れを詳細に説明する。図9は、実施形態に係るCRAM修復処理の流れの一例を示すフローチャートである。
[Flow of CRAM repair process]
The flow of the CRAM repair process according to this embodiment will be described in detail with reference to Fig. 9. Fig. 9 is a flowchart showing an example of the flow of the CRAM repair process according to this embodiment.

まず、FPGA10の修復部12は、CRAM11の定周期監視によりソフトエラーを検出する(ステップS201)。このとき、修復部12は、CRAM11の状態を定周期で監視し、CRC(Cyclic Redundancy Code:巡回冗長符号)等を用いてソフトエラー発生の有無を検出するが、修復部12のソフトエラー検知方式は特に限定されない。 First, the repair unit 12 of the FPGA 10 detects a soft error by periodically monitoring the CRAM 11 (step S201). At this time, the repair unit 12 periodically monitors the state of the CRAM 11 and detects the occurrence of a soft error using a CRC (Cyclic Redundancy Code) or the like, but the method of detecting a soft error by the repair unit 12 is not particularly limited.

次に、修復部12は、CRAM11のデータ反転を修復し(ステップS202)、処理を終了する。このとき、修復部12は、ECC(Error-Correcting Code:誤り訂正符号)による修復や、CRAM11へ正常なデータを再度書き込むことによる修復を行うが、修復部12の修復方式は特に限定されない。 Next, the repair unit 12 repairs the data inversion in the CRAM 11 (step S202) and ends the process. At this time, the repair unit 12 performs repair using an ECC (Error-Correcting Code) or by rewriting normal data to the CRAM 11, but the repair method used by the repair unit 12 is not particularly limited.

[FF修復処理の流れ]
図10を用いて、本実施形態に係るFF修復処理の流れを詳細に説明する。図10は、実施形態に係るFF修復処理の流れの一例を示すフローチャートである。
[FF repair process flow]
The flow of the FF repair process according to this embodiment will be described in detail with reference to Fig. 10. Fig. 10 is a flowchart showing an example of the flow of the FF repair process according to this embodiment.

まず、FPGA10の書き戻し回路113は、多数決回路112から、3系統のフリップフロップ回路111の出力の多数決結果を取得する(ステップS301)。このとき、書き戻し回路113は、フリップフロップ回路111のデータ反転の発生に関わらず、多数決結果を取得する。 First, the write-back circuit 113 of the FPGA 10 obtains the majority result of the outputs of the three flip-flop circuits 111 from the majority circuit 112 (step S301). At this time, the write-back circuit 113 obtains the majority result regardless of the occurrence of data inversion in the flip-flop circuits 111.

次に、書き戻し回路113は、多数決回路112から取得した多数決結果をフリップフロップ回路111の入力に書き戻し、データ反転を修復する(ステップS302)。このとき、書き戻し回路113は、フリップフロップ回路111のデータ反転の発生に関わらず、多数決結果を書き戻す。 Next, the write-back circuit 113 writes back the majority result obtained from the majority circuit 112 to the input of the flip-flop circuit 111, and repairs the data inversion (step S302). At this time, the write-back circuit 113 writes back the majority result regardless of the occurrence of data inversion in the flip-flop circuit 111.

[実施形態の効果]
第1に、上述した本実施形態に係る情報処理装置100では、フレームごとに設定された各処理回路の出力結果を取得して多数決により選択して出力する各処理回路と、回路情報を記憶するCRAM11およびCRAM11のソフトエラーを検出して修復する修復部12を含むFPGA10と、を備える。このため、情報処理装置100では、FPGA10のソフトエラーが発生しても、効果的に出力信号の正常状態を維持することができる。
[Effects of the embodiment]
First, the information processing device 100 according to the present embodiment described above includes each processing circuit that acquires the output result of each processing circuit set for each frame and selects and outputs it by majority vote, and an FPGA 10 that includes a CRAM 11 that stores circuit information and a repair unit 12 that detects and repairs soft errors in the CRAM 11. Therefore, in the information processing device 100, even if a soft error occurs in the FPGA 10, the normal state of the output signal can be effectively maintained.

第2に、上述した本実施形態に係る情報処理装置100では、修復部12は、各処理回路を周期的に監視し、各処理回路のいずれかの処理回路でソフトエラーによるデータ反転を検出した場合に、データ反転が発生した処理回路に対してデータ反転を修復する。このため、情報処理装置100では、FPGA10のソフトエラーが発生しても、データ反転を修復することにより、効果的に出力信号の正常状態を維持することができる。 Secondly, in the information processing device 100 according to the present embodiment described above, the repair unit 12 periodically monitors each processing circuit, and when it detects data inversion due to a soft error in any of the processing circuits, it repairs the data inversion in the processing circuit in which the data inversion occurred. Therefore, in the information processing device 100, even if a soft error occurs in the FPGA 10, the data inversion can be repaired, thereby effectively maintaining the normal state of the output signal.

第3に、上述した本実施形態に係る情報処理装置100では、各処理回路は、入力データに対して行われた処理結果に基づく値を保持するフリップフロップ回路111と、各処理回路のフリップフロップ回路111の出力を取得し、多数決により選択された値を出力する多数決回路112と、多数決回路112の出力をフリップフロップ回路111に入力してフリップフロップ回路111で保持される値を書き戻す書き戻し回路113とを備える。このため、情報処理装置100では、FPGA10のソフトエラーが発生しても、多数決結果を出力し、書き戻すことにより、効果的に出力信号の正常状態を維持することができる。 Thirdly, in the information processing device 100 according to the present embodiment described above, each processing circuit includes a flip-flop circuit 111 that holds a value based on the processing result performed on the input data, a majority circuit 112 that acquires the output of the flip-flop circuit 111 of each processing circuit and outputs a value selected by majority vote, and a write-back circuit 113 that inputs the output of the majority circuit 112 to the flip-flop circuit 111 and writes back the value held in the flip-flop circuit 111. Therefore, in the information processing device 100, even if a soft error occurs in the FPGA 10, the normal state of the output signal can be effectively maintained by outputting and writing back the majority vote result.

〔実施形態の変形例〕
図11、図12を用いて、実施形態の変形例について説明する。図11は、実施形態の変形例に係るフレームの構成例を示す図である。図12は、実施形態の変形例に係るFF修復処理の流れの一例を示すフローチャートである。以下に、本変形例に係るFPGAの構成、各処理の流れを順に説明し、最後に本変形例の効果を説明する。
[Modifications of the embodiment]
A modified example of the embodiment will be described with reference to Fig. 11 and Fig. 12. Fig. 11 is a diagram showing an example of a frame configuration according to the modified example of the embodiment. Fig. 12 is a flowchart showing an example of the flow of an FF repair process according to the modified example of the embodiment. Below, the configuration of the FPGA according to this modified example and the flow of each process will be described in order, and finally, the effect of this modified example will be described.

[FPGA10-Sの構成]
図11を用いて、本変形例に係るFPGA10-Sの構成を詳細に説明する。なお、上述した実施形態に係るFPGA10と共通する構成や機能については、適宜、説明を省略する。以下では、FPGA10と比較した上で、FPGA10-Sの構成を説明する。
[Configuration of FPGA10-S]
The configuration of the FPGA 10-S according to this modification will be described in detail with reference to Fig. 11. Note that descriptions of configurations and functions common to the FPGA 10 according to the above-described embodiment will be omitted as appropriate. Below, the configuration of the FPGA 10-S will be described in comparison with the FPGA 10.

上述した実施形態に係るFPGA10では、回路の3重化を図る際、FFの出力について3系統を多数決することで、出力の正常状態を維持しており、またその正常な出力をループバックでFFに再入力することで、FFのデータの書き戻しを行う。しかしながら、FFの単純な3重化ではFPGA10のタイミング設計が厳しくなる場合がある。特に、ステートマシン制御用のFFは回路が複雑なため、タイミング設計に最も厳しいFFとなる。 In the FPGA 10 according to the embodiment described above, when the circuit is tripled, the output of the FF is maintained in a normal state by a majority vote among the three systems, and the normal output is re-input to the FF via loopback to write back the FF data. However, a simple triplexing of FFs can make the timing design of the FPGA 10 strict. In particular, the FF for state machine control has a complex circuit, and is therefore the FF with the strictest timing design.

そこで、本変形例に係るFPGA10-Sでは、図11に示すステートマシン115、比較器(比較回路)116等を有する構成とすることで、ロジックを3重化しているにも関わらず、タイミング設計に余裕を持たせることができる。このとき、FPGA10-Sでは、ステート制御用FF111-Sについては、3系統の出力を多数決するのではなく、比較器116により他2系統と一致しているかの確認を行う。 In this modified example, the FPGA 10-S has a configuration including a state machine 115 and a comparator (comparison circuit) 116 as shown in FIG. 11, allowing for some leeway in the timing design despite the tripled logic. In this case, the FPGA 10-S does not use a majority vote on the output of the state control FF 111-S from the three systems, but instead checks whether the output matches the other two systems using the comparator 116.

FPGA10-Sは、フレーム110-Sごとに設定された各処理回路を有する。上記の各処理回路は、ステートマシン回路(適宜、「ステートマシン」)115、および比較回路(適宜、「比較器」)116を備える。また、上記の各処理回路は、ステートマシン管理用フリップフロップ回路(適宜、「ステート制御用FF」)111-Sを有する。 The FPGA 10-S has processing circuits configured for each frame 110-S. Each of the above processing circuits includes a state machine circuit (sometimes called a "state machine") 115 and a comparison circuit (sometimes called a "comparator") 116. Each of the above processing circuits also includes a state machine management flip-flop circuit (sometimes called a "state control FF") 111-S.

ステートマシン回路115は、処理回路の状態を切り替える。 The state machine circuit 115 switches the state of the processing circuit.

比較回路116は、ステートマシン回路115から出力される自ステートと、他の処理回路のステートマシン回路とから取得される各他ステートを比較する。また、比較回路116は、自ステートが各他ステートと異なる場合、ステートマシン回路115をアイドル状態に遷移させてステートマシン回路115の動作を抑制する。さらに、比較回路116は、アイドル状態である自ステートが、他の処理回路のステートマシン回路とから取得される各他ステートと一致した場合に、ステートマシン回路115の動作を再開する。 The comparison circuit 116 compares the own state output from the state machine circuit 115 with each other state acquired from the state machine circuits of the other processing circuits. Furthermore, when the own state differs from each other state, the comparison circuit 116 transitions the state machine circuit 115 to an idle state to suppress the operation of the state machine circuit 115. Furthermore, when the own state in the idle state matches each other state acquired from the state machine circuits of the other processing circuits, the comparison circuit 116 resumes the operation of the state machine circuit 115.

[実施形態の変形例に係るFF修復処理の流れ]
図12を用いて、本変形例に係るFF修復処理の流れを説明する。図12は、実施形態の変形例に係るFF修復処理の流れの一例を示すフローチャートである。なお、本変形例に係る修復処理全体の流れ、CRAM修復処理の流れについては、上述した[修復処理全体の流れ]、[CRAM修復処理の流れ]と共通の処理の流れであるので説明を省略する。
[Flow of FF repair process according to the modified embodiment]
The flow of the FF repair process according to this modification will be described with reference to Fig. 12. Fig. 12 is a flowchart showing an example of the flow of the FF repair process according to the modification of the embodiment. Note that the flow of the entire repair process and the flow of the CRAM repair process according to this modification are common to the above-mentioned [flow of the entire repair process] and [flow of the CRAM repair process], and therefore description thereof will be omitted.

まず、FPGA10-Sの比較回路116は、3系統のステートマシン管理用フリップフロップ回路111-Sの出力からステートマシン回路115のステートを比較する(ステップS401)。例えば、図11に示すフレームA110A-Sにおいて、比較回路116aは、ステート管理用FF111a-Sのステートと図示しない他の2系統のステート管理用FFのステートとを比較する。 First, the comparison circuit 116 of the FPGA 10-S compares the state of the state machine circuit 115 from the outputs of the three systems of state machine management flip-flop circuits 111-S (step S401). For example, in frame A110A-S shown in FIG. 11, the comparison circuit 116a compares the state of the state management FF 111a-S with the states of the other two systems of state management FFs (not shown).

このとき、比較回路116は、一致しない出力が存在する場合(ステップS402:Yes)、ステップS403の処理に移行し、一致しない出力が存在しない場合(ステップS402:No)、処理を終了する。 At this time, if there is a mismatched output (step S402: Yes), the comparison circuit 116 proceeds to the process of step S403, and if there is no mismatched output (step S402: No), the comparison circuit 116 ends the process.

次に、比較回路116は、一致しない出力が存在するステートマシン回路115のFF111-Sをリセットする(ステップS403)。例えば、図11に示すフレームA110A-Sにおいて、比較回路116aは、ステート管理用FF111a-Sの出力のみ不一致となっている場合、ステート管理用FF111a-Sをリセットする。なお、ステートマシン115から出力される各種出力は、別途多数決により正常出力状態を維持できるので、後段回路への影響はない。 Next, the comparison circuit 116 resets FF111-S of the state machine circuit 115 where there is a mismatched output (step S403). For example, in frame A110A-S shown in FIG. 11, the comparison circuit 116a resets the state management FF111a-S when only the output of the state management FF111a-S is mismatched. Note that the various outputs output from the state machine 115 can be maintained in a normal output state by a separate majority vote, so there is no effect on downstream circuits.

そして、比較回路116は、ステート管理用FFがリセットされた場合に、初期値をステートマシンのアイドル状態(適宜、「IDLEステート」)に設定し(ステップS404)、処理を終了する。 Then, when the state management FF is reset, the comparison circuit 116 sets the initial value to the idle state of the state machine (appropriately, "IDLE state") (step S404) and ends the process.

また、比較回路116は、その他2系統のステートマシンがIDLEステートに戻った時に、ステートマシンの動作を再開する。例えば、図11に示すフレームA110A-Sにおいて、比較回路116aは、ステート管理用FF111a-Sをリセットし、ステートマシン115aをIDLEステートとした場合には、その他2系統のステートマシンがIDLEステートに戻った時に、ステートマシン115aの動作を再開する。このため、フレームA110A-S上のステートマシン115aは、自動的にそれ以外2系統のステートマシンの動作と同期することができる。 The comparison circuit 116 also resumes the operation of the state machines when the other two systems of state machines return to the IDLE state. For example, in frame A110A-S shown in FIG. 11, the comparison circuit 116a resets the state management FF 111a-S and sets the state machine 115a to the IDLE state. When the other two systems of state machines return to the IDLE state, the comparison circuit 116a resumes the operation of the state machine 115a. Therefore, the state machine 115a on frame A110A-S can automatically synchronize with the operation of the other two systems of state machines.

[実施形態の変形例の効果]
第1に、上述した本変形例に係る情報処理装置100では、各処理回路は、当該処理回路の状態を切り替えるステートマシン回路115と、ステートマシン115の回路から出力される自ステートと、他の処理回路のステートマシン回路とから取得される各他ステートを比較する比較回路116とを備え、比較回路116は、自ステートが各他ステートと異なる場合、ステートマシン回路115をアイドル状態に遷移させてステートマシン回路115の動作を抑制する。このため、情報処理装置100では、ステートマシン回路のステートを比較し、ステートマシン回路の動作を抑制することにより、FPGA10-Sのソフトエラーが発生しても、効果的に出力信号の正常状態を維持することができる。
[Effects of the Modification of the Embodiment]
First, in the information processing device 100 according to the above-described present modified example, each processing circuit includes a state machine circuit 115 that switches the state of the processing circuit, and a comparison circuit 116 that compares its own state output from the state machine 115 with each other state acquired from the state machine circuits of the other processing circuits, and when its own state differs from each other state, the comparison circuit 116 transitions the state machine circuit 115 to an idle state to suppress the operation of the state machine circuit 115. Therefore, in the information processing device 100, by comparing the states of the state machine circuits and suppressing the operation of the state machine circuits, it is possible to effectively maintain the normal state of the output signal even if a soft error occurs in the FPGA 10-S.

第2に、上述した本変形例に係る情報処理装置100では、比較回路116は、アイドル状態である自ステートが、他の処理回路のステートマシン回路とから取得される各他ステートと一致した場合に、ステートマシン回路115の動作を再開する。このため、情報処理装置100では、動作を抑制したステートマシン回路115の動作を再開することにより、FPGA10-Sのソフトエラーが発生しても、効果的に出力信号の正常状態を維持することができる。 Secondly, in the information processing device 100 according to the above-described modified example, the comparison circuit 116 resumes the operation of the state machine circuit 115 when its own state, which is an idle state, matches each of the other states acquired from the state machine circuits of the other processing circuits. Therefore, in the information processing device 100, by resuming the operation of the state machine circuit 115 whose operation has been suppressed, the normal state of the output signal can be effectively maintained even if a soft error occurs in the FPGA 10-S.

〔システム〕
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
〔system〕
The information including the processing procedures, control procedures, specific names, various data and parameters shown in the above documents and drawings can be changed arbitrarily unless otherwise specified.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 In addition, each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. In other words, the specific form of distribution and integration of each device is not limited to that shown in the figure. In other words, all or part of them can be functionally or physically distributed and integrated in any unit depending on various loads, usage conditions, etc.

さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)および当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。 Furthermore, each processing function performed by each device can be realized, in whole or in part, by a CPU (Central Processing Unit) and a program analyzed and executed by the CPU, or can be realized as hardware using wired logic.

〔ハードウェア〕
次に、情報処理装置100のハードウェア構成例を説明する。図13は、情報処理装置のハードウェア構成例を説明する図である。図13に示すように、情報処理装置100は、上述した機能を有するFPGA10、MPU(Micro Processing Unit)20、メインメモリ30およびネットワークインターフェースコントローラ40を有する。また、図13に示した各部は、相互に接続される。なお、図13に示す情報処理装置100は、プラント制御用の専用装置内、あるいはサーバや端末などの各種コンピュータに搭載される。例えば、石油、石油化学、化学、ガスなどを用いた各種プラントの運転制御に使用される、DCS、SIS等の各種制御装置、APC(Advanced Process Control)サーバ、APCクライアント、OPC(Open Platform Communications)サーバ、OPCクライアントなどに搭載することができる。
[Hardware]
Next, a hardware configuration example of the information processing device 100 will be described. FIG. 13 is a diagram for explaining a hardware configuration example of the information processing device. As shown in FIG. 13, the information processing device 100 has an FPGA 10 having the above-mentioned functions, an MPU (Micro Processing Unit) 20, a main memory 30, and a network interface controller 40. In addition, each part shown in FIG. 13 is connected to each other. Note that the information processing device 100 shown in FIG. 13 is mounted in a dedicated device for plant control, or in various computers such as a server or a terminal. For example, it can be mounted in various control devices such as DCS and SIS, APC (Advanced Process Control) servers, APC clients, OPC (Open Platform Communications) servers, OPC clients, etc., used for operation control of various plants using petroleum, petrochemical, chemical, gas, etc.

10、10-S 集積回路(FPGA)
11、11-S コンフィギュレーションメモリ(CRAM)
110、110-S フレーム
111、111-S フリップフロップ回路(FF)
112 多数決回路
113 書き戻し回路
114 マルチプレクサ(MUX)
115 ステートマシン回路
116 比較回路(比較器)
20 MPU
30 メインメモリ
40 ネットワークインターフェースコントローラ
100 情報処理装置
10, 10-S Integrated Circuit (FPGA)
11, 11-S Configuration Memory (CRAM)
110, 110-S Frame 111, 111-S Flip-flop circuit (FF)
112 majority circuit 113 write back circuit 114 multiplexer (MUX)
115 State machine circuit 116 Comparison circuit (comparator)
20 MPU
30 Main memory 40 Network interface controller 100 Information processing device

Claims (5)

フレームごとに設定された各処理回路であって、前記各処理回路の出力結果を取得して多数決により選択して出力する前記各処理回路と、
前記各処理回路に関する情報を記憶するコンフィギュレーションメモリ、および、前記コンフィギュレーションメモリのソフトエラーを検出して修復する修復部を含む集積回路と、
を備え、
前記各処理回路は、
当該処理回路の状態を切り替えるステートマシン回路と、
前記ステートマシン回路から出力される自ステートと、他の処理回路のステートマシン回路とから取得される各他ステートを比較する比較回路と、を備え、
前記比較回路は、
前記自ステートが前記各他ステートと異なる場合、前記ステートマシン回路をアイドル状態に遷移させて前記ステートマシン回路の動作を抑制する、
ことを特徴とする情報処理装置。
Each processing circuit is set for each frame, and each processing circuit acquires an output result of each processing circuit, selects and outputs the selected result by majority vote;
an integrated circuit including a configuration memory that stores information about each of the processing circuits, and a repair unit that detects and repairs soft errors in the configuration memory;
Equipped with
Each of the processing circuits includes:
a state machine circuit that switches the state of the processing circuit;
a comparison circuit that compares the state output from the state machine circuit with other states obtained from state machine circuits of other processing circuits;
The comparison circuit includes:
If the own state is different from each of the other states, the state machine circuit is transitioned to an idle state to suppress operation of the state machine circuit.
23. An information processing apparatus comprising:
前記修復部は、
前記各処理回路を周期的に監視し、
前記各処理回路のいずれかの処理回路でソフトエラーによるデータ反転を検出した場合に、前記データ反転が発生した処理回路に対して前記データ反転を修復する、
ことを特徴とする請求項1に記載の情報処理装置。
The repair unit is
periodically monitoring each of said processing circuits;
when detecting a data inversion due to a soft error in any one of the processing circuits, repairing the data inversion in the processing circuit in which the data inversion occurred;
2. The information processing apparatus according to claim 1,
前記各処理回路は、
入力データに対して行われた処理結果に基づく値を保持するフリップフロップ回路と、
前記各処理回路のフリップフロップ回路の出力を取得し、多数決により選択された値を出力する多数決回路と、
前記多数決回路の出力を前記フリップフロップ回路に入力して前記フリップフロップ回路で保持される値を書き戻す書き戻し回路と、
を備えることを特徴とする請求項1または2に記載の情報処理装置。
Each of the processing circuits includes:
a flip-flop circuit that holds a value based on a result of processing performed on input data;
a majority circuit that acquires outputs of the flip-flop circuits of the respective processing circuits and outputs a value selected by majority vote;
a write-back circuit that inputs an output of the majority circuit to the flip-flop circuit and writes back the value held in the flip-flop circuit;
3. The information processing apparatus according to claim 1, further comprising:
前記比較回路は、
前記アイドル状態である前記自ステートが、前記他の処理回路のステートマシン回路とから取得される各他ステートと一致した場合に、前記ステートマシン回路の動作を再開する、
ことを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。
The comparison circuit includes:
restarting an operation of the state machine circuit when the own state, which is the idle state, matches each other state acquired from the state machine circuit of the other processing circuit;
4. The information processing apparatus according to claim 1, wherein the information processing apparatus is a computer .
フレームごとに設定された各処理回路と、集積回路とを備える情報処理装置において、
前記各処理回路が、前記フレームごとに処理を実行した前記各処理回路の出力結果を取得して多数決により選択して出力し、
前記集積回路が、前記各処理回路に関する情報を記憶するコンフィギュレーションメモリのソフトエラーを検出して修復する、
処理を実行し、
前記各処理回路は、
当該処理回路の状態を切り替えるステートマシン回路と、
前記ステートマシン回路から出力される自ステートと、他の処理回路のステートマシン回路とから取得される各他ステートを比較する比較回路と、を備え、
前記比較回路は、
前記自ステートが前記各他ステートと異なる場合、前記ステートマシン回路をアイドル状態に遷移させて前記ステートマシン回路の動作を抑制する、
ことを特徴とするエラー修復方法。
In an information processing device including processing circuits set for each frame and an integrated circuit,
each of the processing circuits acquires an output result of each of the processing circuits that has executed processing for each of the frames, selects and outputs the selected output result by majority vote;
The integrated circuit detects and repairs soft errors in a configuration memory that stores information about each of the processing circuits.
Execute the process ,
Each of the processing circuits includes:
a state machine circuit that switches the state of the processing circuit;
a comparison circuit that compares the state output from the state machine circuit with other states obtained from state machine circuits of other processing circuits;
The comparison circuit includes:
If the own state is different from each of the other states, the state machine circuit is transitioned to an idle state to suppress operation of the state machine circuit.
13. An error recovery method comprising:
JP2021076101A 2021-04-28 2021-04-28 Information processing device and error recovery method Active JP7613245B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021076101A JP7613245B2 (en) 2021-04-28 2021-04-28 Information processing device and error recovery method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021076101A JP7613245B2 (en) 2021-04-28 2021-04-28 Information processing device and error recovery method

Publications (2)

Publication Number Publication Date
JP2022170168A JP2022170168A (en) 2022-11-10
JP7613245B2 true JP7613245B2 (en) 2025-01-15

Family

ID=83944441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021076101A Active JP7613245B2 (en) 2021-04-28 2021-04-28 Information processing device and error recovery method

Country Status (1)

Country Link
JP (1) JP7613245B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015068207A1 (en) 2013-11-05 2015-05-14 株式会社日立製作所 Programmable device
JP2015154417A (en) 2014-02-18 2015-08-24 株式会社日立製作所 Programmable circuit device and configuration information restoration method
JP2016167669A (en) 2015-03-09 2016-09-15 富士通株式会社 Programmable logic circuit device and error detection method
JP2020064382A (en) 2018-10-16 2020-04-23 Necプラットフォームズ株式会社 Storage device and storage method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015068207A1 (en) 2013-11-05 2015-05-14 株式会社日立製作所 Programmable device
JP2015154417A (en) 2014-02-18 2015-08-24 株式会社日立製作所 Programmable circuit device and configuration information restoration method
JP2016167669A (en) 2015-03-09 2016-09-15 富士通株式会社 Programmable logic circuit device and error detection method
JP2020064382A (en) 2018-10-16 2020-04-23 Necプラットフォームズ株式会社 Storage device and storage method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jorge Tonfat et al.,Energy Efficient Frame-level Redundancy Scrubbing Technique for SRAM-based FPGAs,2015 NASA/ESA Conference on Adaptive Hardware and Systems(AHS),米国,IEEE,2015年06月15日,pp.1-8,[online],インターネット<URL:http://ieeexplore.ieee.org/document/7231160> [令和6年6月21日検索]
堀口 辰也,耐故障FPGAアーキテクチャ,情報処理学会研究報告 2012(平成24)年度(3) [CD-ROM] ,日本,一般社団法人情報処理学会,2012年10月15日,計算機アーキテクチャ(ARC) No.201,pp.1-8,CSNG201200679004、ISSN:1884-0930

Also Published As

Publication number Publication date
JP2022170168A (en) 2022-11-10

Similar Documents

Publication Publication Date Title
US7877627B1 (en) Multiple redundant computer system combining fault diagnostics and majority voting with dissimilar redundancy technology
CN100375044C (en) Information processing system and its control method, control program and redundant control device
Dubrova Fault tolerant design: An introduction
US7793147B2 (en) Methods and systems for providing reconfigurable and recoverable computing resources
CN102968363B (en) For protection and the apparatus and method nondestructively checking security-related register
US10114356B2 (en) Method and apparatus for controlling a physical unit in an automation system
CN102841828A (en) Fault detection and reduction in logic circuit
Nedeljković et al. A survey of hardware fault tolerance techniques
Jain et al. Redundancy issues in software and hardware systems: an overview
Chen et al. Reliability and availability analysis for the JPL remote exploration and experimentation system
JP7613245B2 (en) Information processing device and error recovery method
Koal et al. On the feasibility of combining on-line-test and self repair for logic circuits
Shernta et al. Using triple modular redundant (tmr) technique in critical systems operation
Farias et al. Active redundant hardware architecture for increased reliability in FPGA-based nuclear reactors critical systems
KR20120137841A (en) Failure detection and mitigation in logic circuits
Nørvåg An introduction to fault-tolerant systems
Gericota et al. A self-healing real-time system based on run-time self-reconfiguration
Bolchini et al. A reliable reconfiguration controller for fault-tolerant embedded systems on multi-FPGA platforms
Szurman et al. Coarse-grained TMR soft-core processor fault tolerance methods and state synchronization for run-time fault recovery
Serafini et al. A tunable add-on diagnostic protocol for time-triggered systems
CN101048741A (en) Data treating system with changeable clock rates
JP6194496B2 (en) Information processing apparatus, information processing method, and program
Pham et al. Evaluation of fault-mitigation schemes for fault-tolerant dynamic MPSoC
WO2018179739A1 (en) Information processing device, information processing method, and program
Hébert et al. A cost-effective solution to increase system reliability and maintain global performance under unreliable silicon in MPSoC

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240820

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241209

R150 Certificate of patent or registration of utility model

Ref document number: 7613245

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150