JP7364263B2 - Multiplexing circuit device and error recovery method - Google Patents

Multiplexing circuit device and error recovery method Download PDF

Info

Publication number
JP7364263B2
JP7364263B2 JP2022017129A JP2022017129A JP7364263B2 JP 7364263 B2 JP7364263 B2 JP 7364263B2 JP 2022017129 A JP2022017129 A JP 2022017129A JP 2022017129 A JP2022017129 A JP 2022017129A JP 7364263 B2 JP7364263 B2 JP 7364263B2
Authority
JP
Japan
Prior art keywords
circuit
error
check
circuits
partial
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
JP2022017129A
Other languages
Japanese (ja)
Other versions
JP2023114680A (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.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2022017129A priority Critical patent/JP7364263B2/en
Publication of JP2023114680A publication Critical patent/JP2023114680A/en
Application granted granted Critical
Publication of JP7364263B2 publication Critical patent/JP7364263B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、多重化回路装置及びエラー修復方法に関する。 The present invention relates to a multiplexing circuit device and an error recovery method.

FPGA(Field Programmable Gate Array)デバイスにおけるSEU(Signal Event Upset:ソフトエラー)の発生を抑えるためには、物理的に中性子線を遮る設備や環境を整える必要がある。しかしながら、そのような設備や環境が整っていない場所でデバイスが使用される場合もある。そこで、FPGAデバイスのメーカーは、SEUへ対応するために、SEUの発生を検出し、修復する回路を提供している。FPGAの信頼性は、メーカーにより提供されるこのような回路の使用や、ユーザ回路又は装置自体の多重化により確保されている。 In order to suppress the occurrence of SEU (Signal Event Upset: Soft Error) in FPGA (Field Programmable Gate Array) devices, it is necessary to prepare equipment and environments that physically block neutron beams. However, devices may be used in places where such facilities and environments are not available. Therefore, in order to deal with SEU, manufacturers of FPGA devices provide circuits that detect and repair the occurrence of SEU. The reliability of FPGAs is ensured through the use of such circuitry provided by the manufacturer and through the multiplexing of user circuits or the device itself.

一方で、SEU耐性を向上させたプログラマブルデバイスがある(例えば、特許文献1参照)。このプログラマブルデバイスは、冗長された回路からの出力を比較してエラーの発生を検出すると、エラーが発生した回路をリコンフィグする。さらに、プログラマブルデバイスは、エラーが発生しなかった回路の内部状態を、リコンフィグされた回路に入力する。 On the other hand, there is a programmable device with improved SEU resistance (for example, see Patent Document 1). When this programmable device compares outputs from redundant circuits and detects the occurrence of an error, it reconfigures the circuit in which the error has occurred. Further, the programmable device inputs the internal state of the circuit in which no error occurred to the reconfigured circuit.

国際公開第2013/027482号International Publication No. 2013/027482

SEUの検出には一定の時間がかかる。近年は、FPGAデバイスの容量の増加に伴って、SEUの検出にかかる時間も増加傾向にある。検出にかかる時間が長いと、SEUが頻発した場合にエラーの検出及び修復が難しくなる。これは、装置の信頼性低下につながる。 Detection of SEU takes a certain amount of time. In recent years, as the capacity of FPGA devices has increased, the time required to detect SEUs has also tended to increase. If the time required for detection is long, it becomes difficult to detect and repair errors when SEUs occur frequently. This leads to reduced reliability of the device.

そこでこの発明は、上述の課題を解決することができる多重化回路装置及びエラー修復方法を提供することを目的としている。 SUMMARY OF THE INVENTION An object of the present invention is to provide a multiplexing circuit device and an error recovery method that can solve the above-mentioned problems.

本発明の第1の態様によれば、多重化回路装置は、多重化された複数の回路それぞれにおける演算結果のうち一部の演算結果をチェック範囲とし、前記チェック範囲におけるエラーの発生をチェックする複数の中間チェック回路と、複数の前記中間チェック回路から複数の前記回路それぞれの複数の異なる前記チェック範囲についてのチェック結果を取得し、取得した前記チェック結果に基づいて前記回路におけるエラーの有無を判定する判定手段と、前記判定手段においてエラー有と判定された前記回路であるエラー発生回路のデータを修復する修復手段と、を備える。 According to the first aspect of the present invention, the multiplexing circuit device sets a part of the calculation results in each of the plurality of multiplexed circuits as a check range, and checks the occurrence of an error in the check range. Obtain check results for a plurality of intermediate check circuits and a plurality of different check ranges of each of the plurality of circuits from the plurality of intermediate check circuits, and determine whether or not there is an error in the circuit based on the obtained check results. and a restoring means for restoring data of the error generating circuit, which is the circuit determined to have an error by the determining means.

本発明の第2の態様によれば、エラー修復方法は、多重化された複数の回路それぞれにおける演算結果のうち一部の演算結果をチェック範囲とし、前記チェック範囲におけるエラーの発生をチェックする中間チェックステップと、複数の前記回路それぞれの複数の異なる前記チェック範囲についての前記中間チェックステップによるチェック結果を取得し、取得した前記チェック結果に基づいて前記回路におけるエラーの有無を判定する判定ステップと、前記判定ステップにおいてエラー有と判定された前記回路のデータを修復する修復ステップと、を有する。 According to the second aspect of the present invention, the error repair method uses a part of the calculation results in each of a plurality of multiplexed circuits as a check range, and an intermediate step for checking the occurrence of an error in the check range. a checking step; a determining step of acquiring check results from the intermediate checking step for a plurality of different check ranges of each of the plurality of circuits, and determining whether or not there is an error in the circuit based on the acquired check results; and a repair step of repairing the data of the circuit determined to have an error in the determination step.

本発明によれば、回路におけるSEU発生から回復までの時間を短縮することが可能であるという効果が得られる。 According to the present invention, it is possible to shorten the time from occurrence of SEU to recovery in a circuit.

本発明の一実施形態によるFPGAの構成を示す図である。1 is a diagram showing the configuration of an FPGA according to an embodiment of the present invention. 同実施形態によるFPGAの動作を示すフロー図である。FIG. 3 is a flow diagram showing the operation of the FPGA according to the embodiment. 同実施形態による効果を説明する図である。It is a figure explaining the effect by the same embodiment. 同実施形態による多重化回路装置の最小構成を示す図である。FIG. 2 is a diagram showing the minimum configuration of a multiplexing circuit device according to the same embodiment.

以下、図面を参照して本発明の実施の形態を詳細に説明する。 Embodiments of the present invention will be described in detail below with reference to the drawings.

本実施形態は、プログラマブルデバイスにおけるソフトエラー(SEU)の発生から、SEUの検出チェック、データの修復、正常なデータへの置換、データ復旧までの一連の復旧時間を短縮する。これにより、プログラマブルデバイスを実装したシステムの信頼性を向上させる。本実施形態では、プログラマブルデバイスにおけるSEUの発生から復旧までの短時間化を図るために、SEUの検出にかかる時間及びデータ復旧の時間に着目する。以下では、プログラマブルデバイスがFPGAである場合を例に説明する。 This embodiment shortens a series of recovery times from the occurrence of a soft error (SEU) in a programmable device to SEU detection check, data recovery, replacement with normal data, and data recovery. This improves the reliability of a system equipped with programmable devices. In this embodiment, in order to shorten the time from the occurrence of SEU to recovery in a programmable device, attention is paid to the time required to detect SEU and the time to recover data. In the following, a case where the programmable device is an FPGA will be described as an example.

本実施形態のFPGAのユーザ回路は、多重化回路を実装する。多重化回路は、多重化された機能回路を有する。機能回路は、各種演算や制御などの任意の機能を実現する回路である。本実施形態のFPGAは、デバイス全体のSEU検出と、各機能回路全体のSEU検出を行う。これらのSEU検出には、任意の技術を用いることができる。例えば、任意の既存のSEU検出技術を用いてもよい。 The user circuit of the FPGA of this embodiment implements a multiplexing circuit. The multiplex circuit has multiple functional circuits. A functional circuit is a circuit that implements arbitrary functions such as various calculations and control. The FPGA of this embodiment performs SEU detection for the entire device and SEU detection for each functional circuit as a whole. Any technique can be used for these SEU detections. For example, any existing SEU detection technique may be used.

本実施形態のFPGAは、多重化された各機能回路に、複数の中間チェック回路を設ける。FPGAは、上記のSEU検出に加え、中間チェック回路を用いて中間チェックを随時行う。中間チェックとは、機能回路内の演算結果データのうち、限定された範囲のデータについてのチェックである。一つの機能回路内の複数の中間チェック回路は、それぞれ異なる範囲のデータをチェック対象とする。 In the FPGA of this embodiment, each multiplexed functional circuit is provided with a plurality of intermediate check circuits. In addition to the above SEU detection, the FPGA uses an intermediate check circuit to perform intermediate checks as needed. The intermediate check is a check on a limited range of data among the calculation result data in the functional circuit. A plurality of intermediate check circuits within one functional circuit each check different ranges of data.

FPGAは、各機能回路の各中間チェック回路におけるチェック結果を用いて、エラーの有無、エラーが発生した機能回路、及び、およそのエラー発生箇所を調べる。FPGAは、調べた結果に基づいて機能回路の部分チェックを行う。部分チェックとは、機能回路全体よりもチェック範囲を限定して行うエラーチェックである。エラーチェックには、CRC(Cyclic Redundancy Check:巡回冗長検査)、ECC(Error-Correcting Code:誤り訂正符号)などを用いることができる。チェック範囲を限定することにより、エラーを検出するためにかかる検出時間を短縮可能である。FPGAは、エラーを検出した場合、エラーが発生した機能回路のデータを修復する。具体的には、FPGAは、機能回路のCRAM(Configuration Random Access Memory)に記憶されているコンフィグレーションデータを修復する。この修復には、任意の技術を用いることができる。例えば、任意の既存のSEU対策回路を用いてもよい。 The FPGA uses the check results in each intermediate check circuit of each functional circuit to check the presence or absence of an error, the functional circuit in which the error has occurred, and the approximate location where the error has occurred. The FPGA performs a partial check of the functional circuit based on the results of the investigation. Partial checking is error checking performed by limiting the checking range rather than checking the entire functional circuit. For error checking, CRC (Cyclic Redundancy Check), ECC (Error-Correcting Code), etc. can be used. By limiting the check range, it is possible to shorten the detection time required to detect errors. When the FPGA detects an error, it repairs the data of the functional circuit in which the error has occurred. Specifically, the FPGA repairs configuration data stored in CRAM (Configuration Random Access Memory) of the functional circuit. Any technique can be used for this repair. For example, any existing SEU countermeasure circuit may be used.

本実施形態のFPGAは、機能回路の修復後、正常動作中の機能回路から演算結果のデータを部分的にコピーする。FPGAは、この部分的なコピーをエラーが発生しなくなるまで複数回行う。これにより、FPGAは、エラーが発生した機能回路の演算結果のデータを復旧する。よって、本実施形態のFPGAは、CRAM修復後に回路全体のリセットを行ってデータ復旧する必要がない。 After the functional circuit is repaired, the FPGA of this embodiment partially copies the data of the calculation result from the normally operating functional circuit. The FPGA performs this partial copy multiple times until no errors occur. As a result, the FPGA recovers the data of the calculation result of the functional circuit in which the error occurred. Therefore, in the FPGA of this embodiment, there is no need to reset the entire circuit to recover data after CRAM repair.

FPGAデバイスメーカにより提供されるSEU対策回路は、FPGAのコンフィグレーションメモリのエラー検出や修復が可能である。しかしながら、運用しながらユーザ回路のデータを復旧することは難しかった。従って、SEUが発生した場合には、回路のリセットを行っていた。このリセットのため、一時的に回路又は回路を搭載した装置そのものを停止させる必要があった。例えば、特許文献1の技術においても、エラーが発生した回路をリコンフィグした後、リコンフィグした回路にエラーが発生しなかった回路の内部状態を入力するまでは動作せずに停止する。 The SEU countermeasure circuit provided by the FPGA device manufacturer is capable of detecting and repairing errors in the configuration memory of the FPGA. However, it was difficult to restore user circuit data while operating the system. Therefore, when an SEU occurs, the circuit is reset. For this reset, it was necessary to temporarily stop the circuit or the device itself equipped with the circuit. For example, in the technique disclosed in Patent Document 1, after reconfiguring a circuit in which an error has occurred, the reconfigured circuit does not operate and stops until the internal state of the circuit in which no error has occurred is input to the reconfigured circuit.

本実施形態のFPGAは、運用中に回路全体及び多重化された各機能回路全体のチェックを行いながら中間チェックを複数回行う。そして、本実施形態のFPGAは、SEUが発生した場合でも、正常動作している機能回路を停止することなく、エラーが発生した機能回路へ正常な機能回路のデータをコピーする。よって、本実施形態のFPGAは、動作を停止させることなく、SEUの復旧が可能である。 The FPGA of this embodiment performs intermediate checks multiple times while checking the entire circuit and each multiplexed functional circuit during operation. Even when an SEU occurs, the FPGA of this embodiment copies the data of the normal functional circuit to the functional circuit in which the error has occurred, without stopping the normally operating functional circuit. Therefore, the FPGA of this embodiment can recover from SEU without stopping its operation.

図1は、本発明の一実施形態によるFPGA1の構成を示す図である。同図では、本実施形態と関係する構成のみを抽出して示してある。FPGA1は、多重化回路装置の一例である。FPGA1は、ユーザ回路2と、エラー判定回路6と、部分チェック回路7-1~7-N(Nは3以上の整数)と、ソフトエラー対策回路8と、データコピー回路9とを有する。部分チェック回路7-1~7-Nを総称する場合、又は、いずれかを特定しない場合、部分チェック回路7と記載する。 FIG. 1 is a diagram showing the configuration of an FPGA 1 according to an embodiment of the present invention. In the figure, only the configurations related to this embodiment are extracted and shown. FPGA1 is an example of a multiplexing circuit device. The FPGA 1 includes a user circuit 2, an error determination circuit 6, partial check circuits 7-1 to 7-N (N is an integer of 3 or more), a soft error countermeasure circuit 8, and a data copy circuit 9. When partial check circuits 7-1 to 7-N are collectively referred to, or when any one of them is not specified, they are referred to as partial check circuit 7.

ユーザ回路2は、機能回路3-1~3-Nと、多数決回路5とを有する。機能回路3-1~3-Nを総称する場合、又は、いずれかを特定しない場合、機能回路3と記載する。機能回路3-1~3-Nは、同じ回路である。機能回路3-1~3-Nと、多数決回路5とにより多重化回路が構成される。 The user circuit 2 includes functional circuits 3-1 to 3-N and a majority circuit 5. When the functional circuits 3-1 to 3-N are collectively referred to, or when any one of them is not specified, they are referred to as the functional circuit 3. Functional circuits 3-1 to 3-N are the same circuit. The functional circuits 3-1 to 3-N and the majority circuit 5 constitute a multiplexing circuit.

機能回路3は、各種演算や制御などの任意の機能を実現する回路である。機能回路3の機能を実現するためのコンフィグレーションデータは、CRAMに記憶される。CRAMに発生したSEUを早く検出するため、機能回路3は、K個(Kは2以上の整数)の中間チェック回路4を有する。中間チェック回路4は、機能回路3内の任意の回路ブロック毎又はステージ毎に設けられる。機能回路3-n(nは1以上N以下の整数)におけるk番目(kは1以上K以下の整数)の回路ブロック又はステージに対応した中間チェック回路4を、中間チェック回路4-n-kと記載する。中間チェック回路4-n-kは、機能回路3-nが行う一連の演算における中間の演算結果をチェックする中間チェックを行う。具体的には、中間チェック回路4-n-kは、中間の演算結果のパリティを行う。あるいは、中間チェック回路4-n-kは、機能回路3-nの中間の演算結果と、他の機能回路3-n’(n’≠n、n’は1以上N以下の整数)の対応する中間の演算結果との比較によりエラーを検出する。 The functional circuit 3 is a circuit that implements arbitrary functions such as various calculations and control. Configuration data for realizing the functions of the functional circuit 3 is stored in the CRAM. In order to quickly detect an SEU occurring in the CRAM, the functional circuit 3 includes K (K is an integer of 2 or more) intermediate check circuits 4. The intermediate check circuit 4 is provided for each arbitrary circuit block or stage within the functional circuit 3. The intermediate check circuit 4 corresponding to the kth (k is an integer from 1 to K) circuit block or stage in the functional circuit 3-n (n is an integer from 1 to N) is converted into an intermediate check circuit 4-n-k. It is written as The intermediate check circuit 4-nk performs an intermediate check to check intermediate calculation results in a series of calculations performed by the functional circuit 3-n. Specifically, the intermediate check circuit 4-nk performs parity on the intermediate calculation results. Alternatively, the intermediate check circuit 4-nk corresponds to the intermediate calculation result of the functional circuit 3-n and another functional circuit 3-n' (n'≠n, n' is an integer between 1 and N). Errors are detected by comparison with intermediate calculation results.

多数決回路5は、機能回路3-1~3-Nそれぞれの演算結果の中から正しい演算結果を多数決で決定し、決定した演算結果を出力する。 The majority circuit 5 determines the correct operation result from among the operation results of each of the functional circuits 3-1 to 3-N by majority vote, and outputs the determined operation result.

エラー判定回路6は、各機能回路3の各中間チェック回路4における中間チェック結果に基づいて、エラーの有無、エラーが発生した機能回路3、及び、エラー推定箇所を判定する。エラー推定箇所は、およそのエラー発生箇所である。例えば、エラー推定箇所は、エラーが発生した箇所を含むと推定される範囲である。エラー判定回路6は、例えば、中間チェック回路4-n-kがエラーを検出した場合、k番目の回路ブロック又はステージの演算にエラーが発生したと判定する。つまり、エラー推定箇所は、中間チェック回路4-n-kが中間チェックの対象とした演算結果を得るための演算を行った箇所である。エラー判定回路6は、中間チェック回路4-n-kの中間チェック結果がエラーである場合、部分チェック回路7-nに、エラー有と、機能回路3-nのエラーと、機能回路3-nにおけるエラー推定箇所とを報告し、他の部分チェック回路7-n’にエラー無を報告する。さらに、エラー判定回路6は、データコピー回路9に、エラー有と、機能回路3-nのエラーと、機能回路3-nにおけるエラー推定箇所とを報告する。エラー判定回路6は、いずれの中間チェック回路4においてもエラーが検出されなかった場合、部分チェック回路7-1~7-N及びデータコピー回路9にエラー無を報告する。 The error determination circuit 6 determines the presence or absence of an error, the functional circuit 3 in which the error has occurred, and the estimated error location based on the intermediate check results in each intermediate check circuit 4 of each functional circuit 3. The estimated error location is the approximate location where the error occurs. For example, the estimated error location is a range that is estimated to include the location where an error has occurred. For example, when the intermediate check circuit 4-nk detects an error, the error determination circuit 6 determines that an error has occurred in the calculation of the k-th circuit block or stage. In other words, the error estimation location is the location where the intermediate check circuit 4-nk performs the calculation to obtain the calculation result targeted for the intermediate check. If the intermediate check result of the intermediate check circuit 4-nk is an error, the error determination circuit 6 informs the partial check circuit 7-n that there is an error, that there is an error in the functional circuit 3-n, and that the functional circuit 3-n The estimated error location is reported to the other partial check circuits 7-n', and the absence of errors is reported to the other partial check circuits 7-n'. Furthermore, the error determination circuit 6 reports to the data copy circuit 9 the presence of an error, the error in the functional circuit 3-n, and the estimated error location in the functional circuit 3-n. If no error is detected in any of the intermediate check circuits 4, the error determination circuit 6 reports no error to the partial check circuits 7-1 to 7-N and the data copy circuit 9.

部分チェック回路7は、各機能回路3に対して1つずつ実装される。部分チェック回路7-nは、機能回路3-nに対応する。各部分チェック回路7-nは、通常時は機能回路3-nのCRC又はECC(以下、CRC/ECCと記載)を常に巡回してチェックする。部分チェック回路7-nは、エラー判定回路6から中間チェックにおいてエラー有の報告を受けた場合、通常時の巡回を中止し、機能回路3-nのCRC/ECC部分チェックを開始する。CRC/ECC部分チェックの対象は、機能回路3-nにおけるエラー推定箇所の部分である。中間チェック回路4-nは、CRC/ECCエラーを検出すると、ソフトエラー対策回路8にエラーが発生したビット位置を報告する。 One partial check circuit 7 is implemented for each functional circuit 3. Partial check circuit 7-n corresponds to functional circuit 3-n. Each partial check circuit 7-n normally cycles through and checks the CRC or ECC (hereinafter referred to as CRC/ECC) of the functional circuit 3-n. When the partial check circuit 7-n receives a report from the error determination circuit 6 that there is an error in the intermediate check, the partial check circuit 7-n stops the normal circuit and starts a partial CRC/ECC check of the functional circuit 3-n. The target of the CRC/ECC partial check is the portion of the functional circuit 3-n where the error is estimated. When the intermediate check circuit 4-n detects a CRC/ECC error, it reports the bit position where the error has occurred to the soft error countermeasure circuit 8.

ソフトエラー対策回路8は、通常時はデバイス全体のCRC/ECCチェックを実施し、エラー検出時には、エラーが検出されたビット位置のビットの修復を行う。ソフトエラー対策回路8は、部分チェック回路7からエラーが発生した機能回路3のビット位置の報告を受けた場合も同様に、報告されたビット位置のビットの修復を行う。ソフトエラー対策回路8は、置換又は訂正により、CRAMに記憶されているコンフィギュレーションデータの修復を行う。置換の場合、ソフトエラー対策回路8は、外部のメモリ10に記憶されているビットストリームを読み出し、エラーが検出された位置のビットに設定する。訂正の場合、ソフトエラー対策回路8は、ECCによりエラーが発生したビットを修復する。ソフトエラー対策回路8は、修復が完了すると、復旧完了をデータコピー回路9に報告する。なお、ソフトエラー対策回路8には、CRAMに記憶されているコンフィギュレーションデータを修復する任意のSEU対策回路を利用可能である。 The soft error countermeasure circuit 8 normally performs a CRC/ECC check on the entire device, and when an error is detected, repairs the bit at the bit position where the error is detected. Similarly, when the soft error countermeasure circuit 8 receives a report from the partial check circuit 7 of the bit position of the functional circuit 3 where an error has occurred, it repairs the bit at the reported bit position. The soft error countermeasure circuit 8 restores the configuration data stored in the CRAM by replacement or correction. In the case of replacement, the soft error countermeasure circuit 8 reads the bit stream stored in the external memory 10 and sets the bit at the position where the error is detected. In the case of correction, the soft error countermeasure circuit 8 repairs the bit in which an error has occurred using ECC. When the recovery is completed, the soft error countermeasure circuit 8 reports the completion of the recovery to the data copy circuit 9. Note that as the soft error countermeasure circuit 8, any SEU countermeasure circuit that restores the configuration data stored in the CRAM can be used.

データコピー回路9は、エラー判定回路6から機能回路3のエラーの有無、エラーが発生した機能回路3、及び、エラー推定箇所の報告を受ける。さらに、データコピー回路9は、ソフトエラー対策回路8から復旧完了の報告を受けると、演算結果の部分コピーを行う。すなわち、データコピー回路9は、エラーが発生していない機能回路3-n’からエラー推定箇所に対応するレジスタに記憶されている演算結果のデータをコピーし、エラーが発生した機能回路3-nの対応するレジスタに設定する。データコピー回路9は、この部分コピーを、ユーザ回路2の動作クロックの立下り、又は、2倍のクロックで行う。データコピー回路9は、エラー判定回路6からのエラー報告が無くなるまで、複数回部分コピーを繰返す。データコピー回路9は、エラー判定回路6からのエラー報告が無くなったところで、修復した機能回路3のデータの切り戻しが完了し、復旧したとみなして部分コピーを停止する。なお、データコピー回路9は、各機能回路3から多数決回路5へ出力された演算結果すべてが一致した場合に、エラー報告が無くなったと判定してもよい。 The data copy circuit 9 receives a report from the error determination circuit 6 about the presence or absence of an error in the functional circuit 3, the functional circuit 3 in which the error has occurred, and the estimated error location. Furthermore, upon receiving a report of completion of recovery from the soft error countermeasure circuit 8, the data copy circuit 9 performs a partial copy of the calculation result. That is, the data copy circuit 9 copies the data of the operation result stored in the register corresponding to the estimated error location from the functional circuit 3-n' where no error has occurred, and copies the data of the operation result stored in the register corresponding to the estimated error location from the functional circuit 3-n' where the error has occurred. Set to the corresponding register. The data copy circuit 9 performs this partial copy at the falling edge of the operating clock of the user circuit 2 or at twice the clock. The data copy circuit 9 repeats partial copying multiple times until there are no more error reports from the error determination circuit 6. When there are no more error reports from the error determination circuit 6, the data copy circuit 9 assumes that the data of the repaired functional circuit 3 has been restored and has been restored, and stops partial copying. Note that the data copy circuit 9 may determine that there are no more error reports when all the calculation results output from each functional circuit 3 to the majority circuit 5 match.

図2は、図1のFPGA1の動作を示すフロー図である。FPGA1は、ユーザ回路2の動作中に、図2に示す動作を行う。なお、機能回路3-nを機能回路#nとも記載する。 FIG. 2 is a flow diagram showing the operation of the FPGA 1 in FIG. 1. The FPGA 1 performs the operation shown in FIG. 2 while the user circuit 2 is operating. Note that the functional circuit 3-n is also referred to as a functional circuit #n.

ソフトエラー対策回路8は、FPGA1のデバイス全体のCRC/ECCチェックを繰り返し実施する(ステップS101)。一方で、ユーザ回路2は、各機能回路3の各中間チェック回路4によって、ブロック又はステージごとに演算結果の中間チェックを行う。全て又は一部の複数の中間チェック回路4は、並行して中間チェックを行う。エラー判定回路6は、各中間チェック回路4における中間チェックの演算結果を監視し、エラーの発生有無を判定する(ステップS102)。 The soft error countermeasure circuit 8 repeatedly performs a CRC/ECC check on the entire device of the FPGA 1 (step S101). On the other hand, in the user circuit 2, each intermediate check circuit 4 of each functional circuit 3 performs an intermediate check on the calculation result for each block or stage. All or some of the plurality of intermediate check circuits 4 perform intermediate checks in parallel. The error determination circuit 6 monitors the calculation results of intermediate checks in each intermediate check circuit 4 and determines whether an error has occurred (step S102).

エラー判定回路6が、中間チェックにおいてエラー無と判定した場合(ステップS102;NO)、部分チェック回路7-1~7-N及びデータコピー回路9にエラー無を報告する。部分チェック回路7-1~7-Nはそれぞれ、機能回路3-1~3-NのCRC/ECCチェックを繰返し実施する(ステップS103-1~S103-N)。すなわち、各部分チェック回路7-nは、機能回路3-n内を巡回してCRC/ECCチェックを行う。 When the error determination circuit 6 determines that there is no error in the intermediate check (step S102; NO), it reports the absence of an error to the partial check circuits 7-1 to 7-N and the data copy circuit 9. The partial check circuits 7-1 to 7-N repeatedly perform CRC/ECC checks on the functional circuits 3-1 to 3-N (steps S103-1 to S103-N). That is, each partial check circuit 7-n performs a CRC/ECC check by circulating within the functional circuit 3-n.

一方、エラー判定回路6は、いずれかの機能回路3の中間チェック回路4においてソフトエラーの発生有と判定した場合(ステップS102;YES)、ステップS104の処理を行う。すなわち、エラー判定回路6は、中間チェックの結果がエラーであった中間チェック回路4-n-kに基づいて、機能回路3-nにおいてエラーが発生したおおよその箇所を特定する(ステップS104)。エラー判定回路6は、部分チェック回路7-n及びデータコピー回路9に、エラー発生報告を出力する(ステップS105)。エラー判定回路6は、エラー発生報告により、エラーの発生と、エラーが検出された機能回路3-n又は中間チェック回路4-n-kと、エラーが発生したおおよその箇所を示すエラー推定箇所とを通知する。また、エラー判定回路6は、部分チェック回路7-n以外の部分チェック回路7-n’にエラー無を報告する。部分チェック回路7-n’は、エラー無しの報告を受けると、通常時の巡回によるCRC/ECCのエラーチェックを継続する。 On the other hand, when the error determination circuit 6 determines that a soft error has occurred in the intermediate check circuit 4 of any of the functional circuits 3 (step S102; YES), it performs the process of step S104. That is, the error determination circuit 6 identifies the approximate location where the error occurred in the functional circuit 3-n based on the intermediate check circuit 4-nk whose intermediate check result was an error (step S104). The error determination circuit 6 outputs an error occurrence report to the partial check circuit 7-n and the data copy circuit 9 (step S105). The error determination circuit 6 determines, based on the error occurrence report, the occurrence of an error, the functional circuit 3-n or intermediate check circuit 4-nk where the error was detected, and the estimated error location indicating the approximate location where the error occurred. Notify. Further, the error determination circuit 6 reports no error to the partial check circuits 7-n' other than the partial check circuits 7-n. When the partial check circuit 7-n' receives a report of no error, it continues the CRC/ECC error check by regular circulation.

部分チェック回路7-nは、エラー発生報告を受けると、通常時の巡回によるCRC/ECCのエラーチェックを中止し、機能回路3-nのエラー推定箇所に対応した一部を対象としてCRC/ECC部分チェックを実施する(ステップS106-1~S106-N)。部分チェック回路7-nは、CRC/ECCエラーを検出すると、ソフトエラー対策回路8にエラーが検出されたビット位置を報告する。 When the partial check circuit 7-n receives the error occurrence report, it stops the normal CRC/ECC error check and performs CRC/ECC on a part of the functional circuit 3-n corresponding to the estimated error location. A partial check is performed (steps S106-1 to S106-N). When the partial check circuit 7-n detects a CRC/ECC error, it reports the bit position where the error was detected to the soft error countermeasure circuit 8.

ソフトエラー対策回路8は、ステップS101におけるCRC/ECCチェック、ステップS103-1~ステップS103-NにおけるCRC/ECCチェック、又は、ステップS106-1~ステップS106-NにおけるCRC/ECC部分チェックにおいてソフトエラーが検出されたか否かを判断する(ステップS107)。ソフトエラー対策回路8は、いずれにもエラーが検出されていないと判断した場合(ステップS107:NO)、最初の処理に戻る。 The soft error countermeasure circuit 8 detects soft errors in the CRC/ECC check in step S101, the CRC/ECC check in steps S103-1 to S103-N, or the CRC/ECC partial check in steps S106-1 to S106-N. is detected (step S107). If the soft error countermeasure circuit 8 determines that no error has been detected in any of the processes (step S107: NO), the process returns to the first process.

一方、ソフトエラー対策回路8は、いずれかにおいてソフトエラーが検出されたと判断した場合(ステップS107:YES)、ユーザが指示した修復方法を判断する(ステップS108)。ユーザの指示は、予めFPGA1に設定される。ソフトエラー対策回路8は、ユーザの指示がCRAM置換である場合、エラーが発生した機能回路3-nのCRAMのコンフィグレーションデータを、メモリ10に記憶されているビットストリームの対応するデータにより置換する(ステップS109)。ソフトエラー対策回路8は、置換後、置換完了報告をデータコピー回路9に出力する。ソフトエラー対策回路8は、ユーザの指示がエラービットの訂正である場合、機能回路3-nのCRAMのエラーが発生したビット位置のデータを、機能回路3-n内のデータを用いてECCなどにより訂正する(ステップS110)。訂正後、ソフトエラー対策回路8は、修復完了報告をデータコピー回路9に出力する。 On the other hand, if the soft error countermeasure circuit 8 determines that a soft error has been detected in any one (step S107: YES), it determines the repair method instructed by the user (step S108). The user's instructions are set in the FPGA 1 in advance. When the user's instruction is to replace the CRAM, the soft error countermeasure circuit 8 replaces the configuration data of the CRAM of the functional circuit 3-n in which the error has occurred with the corresponding data of the bit stream stored in the memory 10. (Step S109). After the replacement, the soft error countermeasure circuit 8 outputs a replacement completion report to the data copy circuit 9. When the user's instruction is to correct an error bit, the soft error countermeasure circuit 8 performs ECC, etc. on the data at the bit position where the error occurred in the CRAM of the functional circuit 3-n using the data in the functional circuit 3-n. (Step S110). After the correction, the soft error countermeasure circuit 8 outputs a repair completion report to the data copy circuit 9.

データコピー回路9は、エラー判定回路6からエラーの有無と、エラー有の場合は、エラーが検出された機能回路3-n又は中間チェック回路4-n-k、及び、エラー推定箇所の報告を受ける。さらに、データコピー回路9は、ソフトエラー対策回路8から、置換完了報告又は修復完了報告を受けると、エラーが発生していない動作中の機能回路3-n’から一部の演算結果のデータを機能回路3-nにコピーする部分コピーを行う(ステップS111)。このとき、データコピー回路9は、エラー判定回路6から報告を受けたエラー推定箇所に対応する範囲のデータを、エラーが発生していない稼働中の機能回路3-n’からコピーする。データコピー回路9は、エラーが解消するまで、ユーザ回路2の動作クロックの立下り、もしくは2倍以上のクロックで、この部分コピーを複数回繰り返す(ステップS112)。データコピー回路9は、多数決回路5から各機能回路3の演算結果が全て一致した旨の報告を受けた場合にエラー解消と判定する。あるいは、データコピー回路9は、エラー判定回路6においてエラー無と判定された場合に、エラー解消と判定する。このように、データコピー回路9は、ステップS111における部分コピーを複数回繰返し、エラーの報告が無くなったかどうかに基づいて復旧が終了したか否かを判定する。データコピー回路9は、復旧終了と判定すると、エラーが発生した機能回路3-nへのデータのコピーを終了する。 The data copy circuit 9 receives from the error determination circuit 6 whether or not there is an error, and if there is an error, reports the functional circuit 3-n or intermediate check circuit 4-nk where the error was detected and the estimated error location. receive. Further, upon receiving a replacement completion report or a repair completion report from the soft error countermeasure circuit 8, the data copy circuit 9 transfers some calculation result data from the functional circuit 3-n' in operation where no error has occurred. A partial copy is made to the functional circuit 3-n (step S111). At this time, the data copy circuit 9 copies the data in the range corresponding to the estimated error location reported from the error determination circuit 6 from the functional circuit 3-n' in operation where no error has occurred. The data copy circuit 9 repeats this partial copy multiple times at the falling edge of the operating clock of the user circuit 2 or at a clock that is twice or more faster until the error is resolved (step S112). The data copy circuit 9 determines that the error has been resolved when it receives a report from the majority circuit 5 that all the calculation results of the functional circuits 3 match. Alternatively, the data copy circuit 9 determines that the error has been resolved when the error determination circuit 6 determines that there is no error. In this way, the data copy circuit 9 repeats the partial copy in step S111 a plurality of times, and determines whether the recovery is completed based on whether or not there are no more error reports. When the data copy circuit 9 determines that the recovery is complete, it finishes copying the data to the functional circuit 3-n where the error occurred.

図3は、本実施形態の効果を説明するための図である。図3は、ソフトエラー発生から検出、復旧までの一連動作に係る時間の比較を示す。図3では、FPGAの機能回路が3重化されており、エラー訂正方法が修復である場合を例に示す。本実施形態を適用していないFPGA(以下、関連FPGAと記載)は、3重化された回路全体を巡回してエラーチェックを行う。関連FPGAは、エラーを検出すると、エラーを修復し、修復箇所のデータを他の機能回路のデータと一致させるために論理全体をリセットする。関連FPGAは、論理全体のリセット前までは3重化された回路のうち一つがエラーのために2重化で動作している。そしてリセットの間、関連FPGAの多重化回路の論理又は関連FPGAを用いたシステムは停止し、リセット後に3重化が復活する。 FIG. 3 is a diagram for explaining the effects of this embodiment. FIG. 3 shows a comparison of times related to a series of operations from soft error occurrence to detection and recovery. FIG. 3 shows an example in which the functional circuits of the FPGA are tripled and the error correction method is restoration. The FPGA to which this embodiment is not applied (hereinafter referred to as related FPGA) performs error checking by circulating the entire triplexed circuit. When the associated FPGA detects an error, it repairs the error and resets the entire logic to match the data at the repaired location with the data in other functional circuits. Before the entire logic is reset, the related FPGA is operating as a duplex circuit due to an error in one of the triplex circuits. Then, during the reset, the logic of the multiplexing circuit of the associated FPGA or the system using the associated FPGA is stopped, and the triplexing is restored after the reset.

一方、本実施形態のFPGA1は、回路全体や各機能回路3の巡回チェックを行い、さらに、中間チェック回路4がCRC/ECCの部分チェックを行う。そのため、FPGA1は、例えば、一つ目の機能回路3-1を巡回してチェックしている途中で、中間チェック回路4-1-4においてエラーを検出することがある。本実施形態のFPGA1は、機能回路3-1のコンフィグレーションデータを修復し、修復後に、2重化で動作を継続している機能回路3-2及び3-3の演算結果の一部である部分データをコピーする。部分データコピーを行っている間も、機能回路3-2及び3-3は動作を継続するため、FPGA1は、部分コピーが終了するまで2重化で動作し、部分コピーの完了後に3重化が復活する。よって、本実施形態のFPGA1は、関連FPGAと比較して、2重化運用時間及び停止時間を削減することができる。 On the other hand, the FPGA 1 of this embodiment performs a cyclic check of the entire circuit and each functional circuit 3, and furthermore, the intermediate check circuit 4 performs a partial check of CRC/ECC. Therefore, the FPGA 1 may detect an error in the intermediate check circuit 4-1-4 while, for example, cycling through and checking the first functional circuit 3-1. The FPGA 1 of this embodiment repairs the configuration data of the functional circuit 3-1, and after the restoration, is part of the calculation results of the functional circuits 3-2 and 3-3 that continue to operate in a duplex manner. Copy partial data. Since the functional circuits 3-2 and 3-3 continue to operate while partial data copying is being performed, the FPGA 1 operates in duplex mode until the partial copy is completed, and then operates in triple mode after the partial copy is completed. will be revived. Therefore, the FPGA 1 of this embodiment can reduce duplex operation time and downtime compared to related FPGAs.

本実施形態によれば、コンフィグレーションデバイスは、多重化された回路のエラー検出時間を短縮し、さらに、演算結果のデータ復旧を部分コピーにより行う。よって、従来のコンフィグレーションデバイスよりも復旧までの時間が大幅に短縮される。さらには、回路やシステムのリセットも不要であるため、システムの信頼性向上に貢献する。 According to the present embodiment, the configuration device shortens the error detection time of multiplexed circuits, and further performs data recovery of calculation results by partial copying. Therefore, the time required for recovery is significantly shorter than with conventional configuration devices. Furthermore, since there is no need to reset the circuit or system, it contributes to improved system reliability.

CRAMのソフトエラー発生率はテクノロジーの微細化やFinFFT(Fin Field-Effect Transistor)を採用することで低下がみられる。その一方で、FPGAデバイスのCRAM容量が増加しているため、結果的にソフトエラー発生率が上昇する傾向にある。様々なSEU対策があるものの、中性子線が当たる確率が多い環境の装置、中性子線が当たる確率が低い環境でも偶然多発するケースを考慮した装置、あるいは、無停止系のミッションクリティカルな装置では、対策が必要である。本実施形態のFPGAは、このような信頼性や無停止を要求されるコンピュータ、サーバ、IoT機器、車載機器類等の情報機器や、中性子線の多い環境での動作を要求される情報機器に特に有用である。なお、これらは例示に過ぎず、本実施形態のFPGAの適用はこれらに制限されない。 The soft error rate of CRAM is decreasing with the miniaturization of technology and the adoption of FinFFT (Fin Field-Effect Transistor). On the other hand, since the CRAM capacity of FPGA devices is increasing, the soft error occurrence rate tends to increase as a result. Although there are various SEU countermeasures, there are some countermeasures for equipment that is used in environments where there is a high probability of being hit by neutron beams, equipment that takes into account cases in which it occurs frequently even in environments where the probability of being hit by neutron beams is low, or non-stop, mission-critical equipment. is necessary. The FPGA of this embodiment is suitable for information devices such as computers, servers, IoT devices, and in-vehicle devices that require reliability and non-stop operation, as well as information devices that are required to operate in environments with many neutron beams. Particularly useful. Note that these are merely examples, and the application of the FPGA of this embodiment is not limited to these.

図4は、本発明の実施形態による多重化回路装置100の最小構成を示す図である。多重化回路装置100は、N個(Nは3以上の整数)の多重化された複数の回路110と、判定回路130と、修復回路140とを有する。N個の回路110をそれぞれ、回路110-1~110-Nと記載する。各回路110は、K個(Kは2以上の整数)の中間チェック回路120を有する。回路110-n(nは1以上N以下の整数)が有するK個の中間チェック回路120を、中間チェック回路120-n-1~120-n-Kと記載する。中間チェック回路120-n-k(kは1以上N以下の整数)は、回路110-nにおける演算結果のうち一部の演算結果をチェック範囲とし、チェック範囲におけるエラーの発生をチェックする。判定回路130は、複数の中間チェック回路120から複数の回路110それぞれの複数の異なるチェック範囲についてのチェック結果を取得する。判定回路130は、取得したチェック結果に基づいて回路110におけるエラーの有無を判定する。修復回路140は、判定回路130においてエラー有と判定された回路110のデータを修復する。 FIG. 4 is a diagram showing the minimum configuration of the multiplexing circuit device 100 according to the embodiment of the present invention. The multiplexing circuit device 100 includes a plurality of N multiplexed circuits 110 (N is an integer of 3 or more), a determination circuit 130, and a repair circuit 140. The N circuits 110 are respectively written as circuits 110-1 to 110-N. Each circuit 110 has K intermediate check circuits 120 (K is an integer of 2 or more). The K intermediate check circuits 120 included in the circuit 110-n (n is an integer from 1 to N) are referred to as intermediate check circuits 120-n-1 to 120-nk. The intermediate check circuit 120-nk (k is an integer of 1 or more and N or less) uses a part of the calculation results in the circuit 110-n as a check range, and checks the occurrence of an error in the check range. The determination circuit 130 obtains check results for a plurality of different check ranges of each of the plurality of circuits 110 from the plurality of intermediate check circuits 120. The determination circuit 130 determines whether there is an error in the circuit 110 based on the obtained check result. The restoration circuit 140 restores the data of the circuit 110 determined by the determination circuit 130 to have an error.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。 Part or all of the above embodiments may be described as in the following additional notes, but are not limited to the following.

(付記1)多重化された複数の回路それぞれにおける演算結果のうち一部の演算結果をチェック範囲とし、前記チェック範囲におけるエラーの発生をチェックする複数の中間チェック回路と、
複数の前記中間チェック回路から複数の前記回路それぞれの複数の異なる前記チェック範囲についてのチェック結果を取得し、取得した前記チェック結果に基づいて前記回路におけるエラーの有無を判定する判定手段と、
前記判定手段においてエラー有と判定された前記回路であるエラー発生回路のデータを修復する修復手段と、
を備える多重化回路装置。
(Additional Note 1) A plurality of intermediate check circuits that set a part of the operation results in each of the plurality of multiplexed circuits as a check range, and check the occurrence of an error in the check range;
determining means for acquiring check results for a plurality of different check ranges of each of the plurality of circuits from the plurality of intermediate check circuits, and determining the presence or absence of an error in the circuit based on the acquired check results;
Restoring means for restoring data of the error generating circuit, which is the circuit determined to have an error by the determining means;
A multiplexing circuit device comprising:

(付記2)
前記修復手段は、前記エラー発生回路のコンフィグレーションデータを復旧するエラー復旧手段を有する、
付記1に記載の多重化回路装置。
(Additional note 2)
The restoration means includes an error restoration means for restoring configuration data of the error generating circuit.
The multiplexing circuit device according to supplementary note 1.

(付記3)エラー復旧手段は、外部のメモリに設定されているデータを用いて、又は、誤り訂正符号により、前記エラー発生回路のコンフィグレーションデータを修復する、
付記2に記載の多重化回路装置。
(Additional Note 3) The error recovery means recovers the configuration data of the error generating circuit using data set in an external memory or by an error correction code.
The multiplexing circuit device according to appendix 2.

(付記4)前記判定手段は、取得した前記チェック結果に基づいて、複数の前記回路のうち前記エラー発生回路と、前記エラー発生回路においてエラーが発生した箇所を含むと推定されるエラー推定箇所とを判定し、
前記多重化回路装置は、前記エラー発生回路における前記エラー推定箇所をチェックしてエラー発生箇所を特定する部分チェック手段をさらに備え、
前記修復手段は、前記部分チェック手段が特定したエラー発生箇所に対応した演算結果に、エラー無と判定された前記回路における演算結果をコピーするコピー処理を、前記エラー復旧手段による復旧後に行うコピー手段をさらに有する、
付記2又は付記3に記載の多重化回路装置。
(Supplementary note 4) The determining means determines, based on the acquired check results, the error occurrence circuit among the plurality of circuits and the estimated error location that is estimated to include the location where an error has occurred in the error occurrence circuit. Determine,
The multiplexing circuit device further includes partial checking means for checking the estimated error location in the error generation circuit to identify the error occurrence location,
The repairing means is a copying means that performs a copying process of copying the calculation result in the circuit determined to be error-free to the calculation result corresponding to the error occurrence point identified by the partial check means after recovery by the error restoration means. further having,
The multiplexing circuit device according to appendix 2 or appendix 3.

(付記5)前記コピー手段は、前記コピー処理を、前記回路の動作クロックの立下り、又は、前記回路の動作クロックの2倍以上のクロックで複数回行う、
付記4に記載の多重化回路装置。
(Supplementary Note 5) The copying means performs the copying process multiple times at the falling edge of the operating clock of the circuit or at a clock that is twice or more the operating clock of the circuit.
The multiplexing circuit device according to appendix 4.

(付記6)前記コピー手段は、前記判定手段においてエラーが判定されなくなるまで前記コピー処理を繰り返す、
付記4又は付記5に記載の多重化回路装置。
(Additional Note 6) The copying means repeats the copying process until the determining means no longer determines that an error has occurred.
The multiplexing circuit device according to appendix 4 or appendix 5.

(付記7)前記部分チェック手段は、エラー無と判定された前記回路を巡回チェックする、
付記4から付記6のいずれかに記載の多重化回路装置。
(Additional Note 7) The partial checking means performs a cyclical check on the circuit that is determined to be error-free.
The multiplexing circuit device according to any one of appendices 4 to 6.

(付記8)前記部分チェック手段は、複数の前記回路それぞれに対応した部分チェック回路を有し、
エラー無しの前記回路に対応した前記部分チェック回路は、対応する前記回路を巡回チェックし、
前記エラー発生回路に対応した前記部分チェック回路は、前記エラー発生回路における前記エラー推定箇所をチェックしてエラー発生箇所を特定する、
付記7に記載の多重化回路装置。
(Additional Note 8) The partial check means has a partial check circuit corresponding to each of the plurality of circuits,
The partial check circuit corresponding to the error-free circuit performs a cyclic check on the corresponding circuit,
The partial check circuit corresponding to the error occurrence circuit checks the estimated error location in the error occurrence circuit to identify the error occurrence location.
The multiplexing circuit device according to appendix 7.

(付記9)前記回路における複数の前記チェック範囲は、前記回路における任意の回路ブロック又はステージに応じて決められる、
付記1から付記8のいずれかに記載の多重化回路装置。
(Additional Note 9) The plurality of check ranges in the circuit are determined according to any circuit block or stage in the circuit,
The multiplexing circuit device according to any one of Supplementary Notes 1 to 8.

(付記10)前記中間チェック回路は、前記チェック範囲のチェックを、前記チェック範囲の巡回冗長検査、前記チェック範囲の誤り訂正符号、又は、前記チェック範囲の演算結果と他の前記回路における前記チェック範囲の演算結果との比較により行う、
付記1から付記9のいずれかに記載の多重化回路装置。
(Supplementary note 10) The intermediate check circuit may check the check range using a cyclic redundancy check of the check range, an error correction code of the check range, or a calculation result of the check range and the check range in another circuit. Performed by comparing with the calculation result of
The multiplexing circuit device according to any one of Supplementary Notes 1 to 9.

(付記11)複数の前記回路それぞれの演算結果から多数決により選択した前記演算結果を出力する多数決回路をさらに備える、
付記1から付記10のいずれかに記載の多重化回路装置。
(Additional Note 11) Further comprising a majority circuit that outputs the calculation result selected by majority vote from the calculation results of each of the plurality of circuits,
The multiplexing circuit device according to any one of Supplementary Notes 1 to 10.

(付記12)複数の前記回路及び前記多数決回路は、ユーザ回路に実装される、
付記11のいずれかに記載の多重化回路装置。
(Additional Note 12) The plurality of circuits and the majority circuit are implemented in a user circuit,
The multiplexing circuit device according to any one of appendix 11.

(付記13)前記多重化回路装置は、FPGA(Field Programmable Gate Array)である、
付記1から付記12のいずれかに記載の多重化回路装置。
(Additional Note 13) The multiplexing circuit device is an FPGA (Field Programmable Gate Array),
The multiplexing circuit device according to any one of Supplementary Notes 1 to 12.

(付記14)多重化された複数の回路それぞれにおける演算結果のうち一部の演算結果をチェック範囲とし、前記チェック範囲におけるエラーの発生をチェックする中間チェックステップと、
複数の前記回路それぞれの複数の異なる前記チェック範囲についての前記中間チェックステップによるチェック結果を取得し、取得した前記チェック結果に基づいて前記回路におけるエラーの有無を判定する判定ステップと、
前記判定ステップにおいてエラー有と判定された前記回路のデータを修復する修復ステップと、
を有するエラー修復方法。
(Additional Note 14) An intermediate check step of setting a part of the calculation results in each of the plurality of multiplexed circuits as a check range, and checking the occurrence of an error in the check range;
a determination step of acquiring check results from the intermediate check step for a plurality of different check ranges of each of the plurality of circuits, and determining whether or not there is an error in the circuit based on the acquired check results;
a repair step of repairing data of the circuit determined to have an error in the determination step;
Error repair method with.

以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。 Although the embodiments of the present invention have been described above with reference to the drawings, it is clear that the above embodiments are merely illustrative of the present invention and that the present invention is not limited to the above embodiments. be. Therefore, additions, omissions, substitutions, and other changes to components may be made without departing from the technical spirit and scope of the present invention.

1…FPGA、2…ユーザ回路、3-1~3-N…機能回路、4-1-1~4-N-K…中間チェック回路、5…多数決回路、6…エラー判定回路、7-1~7-N…部分チェック回路、8…ソフトエラー対策回路、9…データコピー回路、10…メモリ、100…多重化回路装置、110-1~110-N…回路、120-1-1~120-N-K…中間チェック回路、130…判定回路、140…修復回路 1...FPGA, 2...User circuit, 3-1 to 3-N...Functional circuit, 4-1-1 to 4-N-K...Intermediate check circuit, 5...Majority decision circuit, 6...Error determination circuit, 7-1 ~7-N... Partial check circuit, 8... Soft error countermeasure circuit, 9... Data copy circuit, 10... Memory, 100... Multiplexing circuit device, 110-1 to 110-N... Circuit, 120-1-1 to 120 -N-K...Intermediate check circuit, 130...Judgment circuit, 140...Repair circuit

Claims (8)

多重化された複数の回路それぞれにおける演算結果のうち一部の演算結果をチェック範囲とし、前記チェック範囲におけるエラーの発生をチェックする複数の中間チェック回路と、
複数の前記中間チェック回路から複数の前記回路それぞれの複数の異なる前記チェック範囲についてのチェック結果を取得し、取得した前記チェック結果に基づいて前記回路におけるエラーの有無と、エラー有と判定された前記回路であるエラー発生回路においてエラーが発生した箇所を含むと推定されるエラー推定箇所とを判定する判定手段と、
前記エラー発生回路における前記エラー推定箇所をチェックしてエラー発生箇所を特定する部分チェック手段と、
前記エラー発生回路のデータを修復する修復手段と、
を備え
前記修復手段は、
前記エラー発生回路のコンフィグレーションデータを復旧するエラー復旧手段と、
前記部分チェック手段が特定したエラー発生箇所に対応した演算結果に、エラー無と判定された前記回路における演算結果をコピーするコピー処理を、前記エラー復旧手段による復旧後に行うコピー手段とを有する、
多重化回路装置。
a plurality of intermediate check circuits that set a part of the operation results in each of the plurality of multiplexed circuits as a check range and check for occurrence of an error in the check range;
Check results for a plurality of different check ranges of each of a plurality of circuits are acquired from a plurality of intermediate check circuits, and based on the acquired check results , it is determined whether or not there is an error in the circuit, and whether the circuit is determined to have an error. a determination means for determining an estimated error location including a location where an error has occurred in an error generation circuit that is a circuit ;
partial checking means for checking the estimated error location in the error occurrence circuit to identify the error occurrence location;
Restoration means for restoring data in the error generating circuit;
Equipped with
The repair means includes:
error recovery means for recovering configuration data of the error generating circuit;
and a copying means that performs a copy process of copying the calculation result in the circuit determined to be error-free to the calculation result corresponding to the error occurrence location identified by the partial check means, after recovery by the error recovery means.
Multiplexing circuit device.
前記コピー手段は、前記コピー処理を、前記回路の動作クロックの立下り、又は、前記回路の動作クロックの2倍以上のクロックで複数回行う、
請求項に記載の多重化回路装置。
The copying means performs the copying process a plurality of times at the falling edge of the operating clock of the circuit or at a clock that is twice or more the operating clock of the circuit.
The multiplexing circuit device according to claim 1 .
前記コピー手段は、前記判定手段においてエラーが判定されなくなるまで前記コピー処理を繰り返す、
請求項又は請求項に記載の多重化回路装置。
The copying means repeats the copying process until the determining means no longer determines that there is an error.
A multiplexing circuit device according to claim 1 or claim 2 .
前記部分チェック手段は、エラー無と判定された前記回路の全体を巡回してエラーチェックする、
請求項から請求項のいずれか一項に記載の多重化回路装置。
The partial checking means cycles through the entire circuit that has been determined to be error-free and performs an error check.
The multiplexing circuit device according to any one of claims 1 to 3 .
前記部分チェック手段は、複数の前記回路それぞれに対応した部分チェック回路を有し、
エラー無しの前記回路に対応した前記部分チェック回路は、対応する前記回路の全体を巡回してエラーチェックし、
前記エラー発生回路に対応した前記部分チェック回路は、前記エラー発生回路における前記エラー推定箇所をチェックしてエラー発生箇所を特定する、
請求項に記載の多重化回路装置。
The partial check means has a partial check circuit corresponding to each of the plurality of circuits,
The partial check circuit corresponding to the error-free circuit cycles through the entire corresponding circuit to check for errors;
The partial check circuit corresponding to the error occurrence circuit checks the estimated error location in the error occurrence circuit to identify the error occurrence location.
The multiplexing circuit device according to claim 4 .
前記回路における複数の前記チェック範囲は、前記回路における任意の回路ブロック又はステージに応じて決められる、
請求項1から請求項のいずれか一項に記載の多重化回路装置。
The plurality of check ranges in the circuit are determined according to any circuit block or stage in the circuit,
A multiplexing circuit device according to any one of claims 1 to 5 .
前記中間チェック回路は、前記チェック範囲のチェックを、前記チェック範囲の巡回冗長検査、前記チェック範囲の誤り訂正符号、又は、前記チェック範囲の演算結果と他の前記回路における前記チェック範囲の演算結果との比較により行う、
請求項1から請求項のいずれか一項に記載の多重化回路装置。
The intermediate check circuit checks the check range using a cyclic redundancy check of the check range, an error correction code of the check range, or a calculation result of the check range and a calculation result of the check range in another circuit. This is done by comparing
A multiplexing circuit device according to any one of claims 1 to 6 .
多重化回路装置が実行するエラー修復方法であって、
多重化された複数の回路それぞれにおける演算結果のうち一部の演算結果をチェック範囲とし、前記チェック範囲におけるエラーの発生をチェックする中間チェックステップと、
複数の前記回路それぞれの複数の異なる前記チェック範囲についての前記中間チェックステップによるチェック結果を取得し、取得した前記チェック結果に基づいて前記回路におけるエラーの有無と、エラー有と判定された前記回路であるエラー発生回路においてエラーが発生した箇所を含むと推定されるエラー推定箇所とを判定する判定ステップと、
前記エラー発生回路における前記エラー推定箇所をチェックしてエラー発生箇所を特定する部分チェックステップと、
前記エラー発生回路のコンフィグレーションデータを復旧するエラー復旧ステップと、
前記部分チェックステップにおいて特定されたエラー発生箇所に対応した演算結果に、エラー無と判定された前記回路における演算結果をコピーするコピー処理を、前記エラー復旧ステップによる復旧後に行うコピーステップと、
を有するエラー修復方法。
An error recovery method performed by a multiplexing circuit device, the method comprising:
an intermediate check step of setting a part of the calculation results in each of the plurality of multiplexed circuits as a check range, and checking the occurrence of an error in the check range;
Obtain check results from the intermediate check step for a plurality of different check ranges of each of the plurality of circuits, and determine whether or not there is an error in the circuit based on the obtained check results , and in the circuit determined to have an error. a determination step of determining an estimated error location that is estimated to include a location where an error has occurred in a certain error occurrence circuit ;
a partial check step of checking the estimated error location in the error occurrence circuit to identify the error occurrence location;
an error recovery step of recovering configuration data of the error generating circuit;
a copying step of performing a copy process of copying the calculation result in the circuit determined to be error-free to the calculation result corresponding to the error occurrence location identified in the partial check step after recovery by the error recovery step;
Error repair method with.
JP2022017129A 2022-02-07 2022-02-07 Multiplexing circuit device and error recovery method Active JP7364263B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022017129A JP7364263B2 (en) 2022-02-07 2022-02-07 Multiplexing circuit device and error recovery method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022017129A JP7364263B2 (en) 2022-02-07 2022-02-07 Multiplexing circuit device and error recovery method

Publications (2)

Publication Number Publication Date
JP2023114680A JP2023114680A (en) 2023-08-18
JP7364263B2 true JP7364263B2 (en) 2023-10-18

Family

ID=87569774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022017129A Active JP7364263B2 (en) 2022-02-07 2022-02-07 Multiplexing circuit device and error recovery method

Country Status (1)

Country Link
JP (1) JP7364263B2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014229130A (en) 2013-05-23 2014-12-08 株式会社日立製作所 Highly reliable processor and highly reliable control device using the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6011210B2 (en) * 2012-09-28 2016-10-19 富士通株式会社 Storage control device, programmable logic circuit restoration processing method, and control program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014229130A (en) 2013-05-23 2014-12-08 株式会社日立製作所 Highly reliable processor and highly reliable control device using the same

Also Published As

Publication number Publication date
JP2023114680A (en) 2023-08-18

Similar Documents

Publication Publication Date Title
US7747932B2 (en) Reducing the uncorrectable error rate in a lockstepped dual-modular redundancy system
US6397357B1 (en) Method of testing detection and correction capabilities of ECC memory controller
US8996953B2 (en) Self monitoring and self repairing ECC
US20080065933A1 (en) Memory correction system and method
US10657010B2 (en) Error detection triggering a recovery process that determines whether the error is resolvable
US6519730B1 (en) Computer and error recovery method for the same
JP2008503002A (en) Redundant processing architecture for single fault tolerance
JP5785477B2 (en) Method, computer program and system for detecting errors in mirrored data storage systems
CN103140841A (en) Methods and apparatus to protect segments of memory
JPH06342381A (en) Majority decision circuit, control unit, and semiconductor integrated circuit for majority decision
JP7418397B2 (en) Memory scan operation in response to common mode fault signals
Johnson Fault tolerance
JP5486139B2 (en) Soft error criticality classification and soft error mitigation based on criticality
US20090249174A1 (en) Fault Tolerant Self-Correcting Non-Glitching Low Power Circuit for Static and Dynamic Data Storage
JP7364263B2 (en) Multiplexing circuit device and error recovery method
US9043655B2 (en) Apparatus and control method
CN114442953B (en) Data verification method, system, chip and electronic equipment
US11416332B2 (en) Protection for ethernet physical layer
US9542266B2 (en) Semiconductor integrated circuit and method of processing in semiconductor integrated circuit
JP6193112B2 (en) Memory access control device, memory access control system, memory access control method, and memory access control program
JP6710142B2 (en) Control system
JP6777330B2 (en) Disk array control device, disk array device, control method and program of disk array device
US20230064905A1 (en) Semiconductor device
Saha A single-version algorithmic approach to fault tolerant computing using static redundancy
JP3913221B2 (en) Information processing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230530

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230928

R151 Written notification of patent or utility model registration

Ref document number: 7364263

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151