JP5545067B2 - Information processing apparatus and self-diagnosis method of information processing apparatus - Google Patents

Information processing apparatus and self-diagnosis method of information processing apparatus Download PDF

Info

Publication number
JP5545067B2
JP5545067B2 JP2010144264A JP2010144264A JP5545067B2 JP 5545067 B2 JP5545067 B2 JP 5545067B2 JP 2010144264 A JP2010144264 A JP 2010144264A JP 2010144264 A JP2010144264 A JP 2010144264A JP 5545067 B2 JP5545067 B2 JP 5545067B2
Authority
JP
Japan
Prior art keywords
encoding
information processing
arithmetic processing
processing apparatus
encoded
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
JP2010144264A
Other languages
Japanese (ja)
Other versions
JP2012008812A (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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2010144264A priority Critical patent/JP5545067B2/en
Publication of JP2012008812A publication Critical patent/JP2012008812A/en
Application granted granted Critical
Publication of JP5545067B2 publication Critical patent/JP5545067B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、CPU(Central Processing Unit)等の演算処理手段を複数有し、この複数の演算処理手段によって同一の演算処理を冗長的に実行可能な情報処理装置、及びその自己診断方法に関する。   The present invention relates to an information processing apparatus having a plurality of arithmetic processing means such as a CPU (Central Processing Unit) and the like and capable of executing the same arithmetic processing redundantly by the plurality of arithmetic processing means, and a self-diagnosis method thereof.

近年、CPU等の演算処理手段を複数有する情報処理装置(コンピュータ)が広く用いられている。この種の情報処理装置では、異なる内容の処理を複数の演算処理手段によって並行して実行することも可能であるが、同一の処理を複数の演算処理手段が冗長的に実行し、その演算処理結果を比較することによりいずれかの演算処理手段が故障状態に陥ったことを検出し、演算処理結果の信頼性を高めることもできる。   In recent years, information processing apparatuses (computers) having a plurality of arithmetic processing means such as CPUs have been widely used. In this type of information processing apparatus, it is possible to execute different contents of processing in parallel by a plurality of arithmetic processing means, but the same processing is redundantly executed by a plurality of arithmetic processing means, and the arithmetic processing By comparing the results, it can be detected that any of the arithmetic processing means has fallen into a failure state, and the reliability of the arithmetic processing results can be improved.

特に、プラント等の施設や車両・船舶・航空機等の移動体を制御する制御装置として用いられる場合に、演算処理結果の信頼性に対する要求が高くなるため、このような冗長的処理の必要性が高いものとなっている。また、このような演算処理結果の信頼性に対する要求は、コンピュータの用途が拡大しつつある昨今では、一般的な家庭用のパーソナルコンピュータにおいても同様に生じるものである。   In particular, when used as a control device for controlling a moving body such as a facility such as a plant or a vehicle, a ship, or an aircraft, there is a high demand for the reliability of the arithmetic processing result. It is expensive. In addition, such a requirement for reliability of the calculation processing result is similarly generated in a general personal computer for home use in recent years when the use of computers is expanding.

複数の演算処理手段による演算処理結果を比較する技術として、以下のものが開示されている。   The following are disclosed as techniques for comparing the results of arithmetic processing by a plurality of arithmetic processing means.

特許文献1には、複数のマイクロプロセッサを同期運転させ、各マイクロプロセッサのバス出力を符号圧縮し、圧縮データ同士を比較することによって動作不一致の故障を検出する故障検出装置について記載されている。   Patent Document 1 describes a failure detection device that detects a failure in operation mismatch by causing a plurality of microprocessors to operate synchronously, code-compressing the bus output of each microprocessor, and comparing the compressed data.

特許文献2には、複数のCPUが同一の処理を行い、各CPUの出力データにチェックコードを付加してメモリに出力し、メモリに出力された複数の出力データのうちチェックコードが一致したものを抽出し、抽出した出力データ全体について比較照合を行ってCPU出力の誤りを検出する照合システムについて記載されている。   In Patent Document 2, a plurality of CPUs perform the same processing, a check code is added to the output data of each CPU, the result is output to a memory, and the check code is the same among the plurality of output data output to the memory And a collation system that detects an error in CPU output by comparing and collating the entire extracted output data.

これらの文献に記載された技術は、比較照合データの量、又は転送量を低減することを目的の一つとしている。   The techniques described in these documents are aimed at reducing the amount of comparison / collation data or the transfer amount.

特開平5−324391号公報JP-A-5-324391 特開2010−9327号公報JP 2010-9327 A

しかしながら、上記従来の特許文献1に記載の装置では、圧縮データ同士を比較することにより、比較照合を誤る可能性が生じる。   However, in the device described in the above-mentioned conventional patent document 1, there is a possibility that comparison / collation is erroneous by comparing compressed data.

符号化したデータにおいて比較照合を誤る可能性については、例えばインターネットにおける「フリー百科事典『ウィキペディア(Wikipedia):ハッシュ関数』」等で指摘されている。ハッシュ関数とは、データを符号化する手法の一つであるが、上記インターネットサイトでは、同じハッシュ値を与える二つの入力値を求めることが困難となる可能性について指摘している。   The possibility of erroneous comparison and collation in the encoded data has been pointed out, for example, in the “Free Encyclopedia“ Wikipedia: Hash Function ”” on the Internet. The hash function is one of methods for encoding data, but the Internet site points out the possibility that it is difficult to obtain two input values that give the same hash value.

このような現象は、符号化された後のデータのビット数(符号化ビット数)が小さい場合に生じ易いものとなる。圧縮データについても同様に、データを圧縮すればするほど元データの相違点が埋没してしまい、故障を見過ごす可能性が高くなってしまう。上記特許文献1では、このような課題が存在するにも拘わらず、どこまで圧縮を行うかについての考慮がなされていない。   Such a phenomenon is likely to occur when the number of encoded data bits (number of encoded bits) is small. Similarly, as the compressed data is compressed, the difference in the original data is buried and the possibility of overlooking the failure increases. In the above-mentioned patent document 1, although such a problem exists, no consideration is given to how far the compression is performed.

また、上記特許文献2に記載のシステムでは、CPUからメモリに出力するデータ量自体は低減されず、CPUからメモリへの伝送負荷や伝送時間を低減することはできない。更に、チェックコードが一致したものを抽出した後は、出力データ全体について比較照合を行うため、比較照合データの量を低減できる訳ではない。   Further, in the system described in Patent Document 2, the amount of data output from the CPU to the memory itself is not reduced, and the transmission load and transmission time from the CPU to the memory cannot be reduced. Furthermore, since the comparison of the entire output data is performed after extracting the check code that matches, the amount of comparison verification data cannot be reduced.

本発明はこのような課題を解決するためのものであり、自己診断のためのデータ伝送量やデータ比較量の低減と、信頼性の維持を両立させた情報処理装置、及びその自己診断方法を提供することを、主たる目的とする。   The present invention is for solving such problems, and provides an information processing apparatus and a self-diagnosis method for reducing the amount of data transmission and data comparison for self-diagnosis and maintaining reliability. The main purpose is to provide it.

上記目的を達成するための本発明の第1の態様は、
通信接続された複数の演算処理手段を備え、該複数の演算処理手段が同一の演算処理を同期して実行可能な情報処理装置であって、
複数の符号化手法から、エラー確率が設定値未満である一の符号化手法を選択する符号化手法選択手段と、
前記複数の演算処理手段が同一の演算処理を同期して実行する際に、前記複数の演算処理手段による演算処理結果を含む情報を、前記符号化手法選択手段によって選択された符号化手法によって符号化する符号化手段と、
前記複数の符号化手段によって符号化された情報を比較して、前記複数の演算処理手段が正常に作動しているかどうかを判定する判定手段と、
を備える情報処理装置である。
In order to achieve the above object, the first aspect of the present invention provides:
An information processing apparatus comprising a plurality of arithmetic processing means connected in communication, wherein the plurality of arithmetic processing means can execute the same arithmetic processing synchronously,
An encoding method selecting means for selecting one encoding method having an error probability less than a set value from a plurality of encoding methods;
When the plurality of arithmetic processing means synchronously execute the same arithmetic processing, the information including the arithmetic processing result by the plurality of arithmetic processing means is encoded by the encoding technique selected by the encoding technique selecting means. Encoding means for
A determination unit that compares information encoded by the plurality of encoding units and determines whether the plurality of arithmetic processing units are operating normally;
Is an information processing apparatus.

この本発明の第1の態様によれば、複数の符号化手法から、エラー確率が設定値未満である一の符号化手法を選択する符号化手法選択手段を備え、複数の演算処理手段が同一の演算処理を同期して実行する際に、複数の演算処理手段による演算処理結果を含む情報を符号化手法選択手段によって選択された符号化手法によって符号化するため、自己診断のためのデータ伝送量やデータ比較量の低減と、信頼性の維持を両立させることができる。   According to the first aspect of the present invention, the encoding method selecting unit that selects one encoding method having an error probability less than the set value from a plurality of encoding methods is provided, and the plurality of arithmetic processing units are the same. When performing the above-mentioned arithmetic processing synchronously, information including the results of arithmetic processing by a plurality of arithmetic processing means is encoded by the encoding method selected by the encoding method selection means, so that data transmission for self-diagnosis The amount of data and the amount of data comparison can be reduced and the reliability can be maintained.

本発明の第1の態様において、
前記符号化手法選択手段は、前記エラー確率が設定値未満である符号化手法のうち、最も符号化ビット数が小さい符号化手法を選択する手段であるものとしてよい。
In the first aspect of the present invention,
The encoding method selection means may be a means for selecting an encoding method having the smallest number of encoding bits from among the encoding methods having the error probability less than a set value.

こうすれば、自己診断のためのデータ伝送量やデータ比較量を、信頼性が維持される範囲内で、最低限に留めることができる。   In this way, the data transmission amount and data comparison amount for self-diagnosis can be kept to a minimum within a range in which reliability is maintained.

また、本発明の第1の態様において、
前記設定値は、例えば、パラメータとして設定されたCPU要求安全度に符号エラー比率を乗算し、更に前記判定手段による時間あたりの比較回数を除算した値として算出される。
In the first aspect of the present invention,
The set value is calculated, for example, as a value obtained by multiplying the CPU required safety level set as a parameter by a sign error ratio and further dividing the number of comparisons per time by the determination means.

また、本発明の第1の態様において、
前記符号化手法選択手段は、前記設定値の対数値に基づいて最小符号化ビット数を算出し、符号化ビット数が前記算出した最小符号化ビット数を超える符号化手法を選択することにより、エラー確率が設定値未満である符号化手法を選択する手段であるものとしてよい。
In the first aspect of the present invention,
The encoding method selection means calculates the minimum number of encoded bits based on the logarithmic value of the set value, and selects an encoding method in which the number of encoded bits exceeds the calculated minimum number of encoded bits, It may be a means for selecting an encoding method having an error probability less than a set value.

本発明の第2の態様は、
通信接続された複数の演算処理手段を備え、該複数の演算処理手段が同一の演算処理を同期して実行可能な情報処理装置の自己診断方法であって、
複数の符号化手法から、エラー確率が設定値未満である一の符号化手法を選択する符号化手法選択ステップと、
前記複数の演算処理手段が同一の演算処理を同期して実行する際に、前記複数の演算処理手段による演算処理結果を含む情報を、前記符号化手法選択手段によって選択された符号化手法によって符号化する符号化ステップと、
前記符号化ステップにおいて符号化された情報を比較して、前記複数の演算処理手段が正常に作動しているかどうかを判定する判定ステップと、
を備える情報処理装置の自己診断方法である。
The second aspect of the present invention is:
A self-diagnosis method for an information processing apparatus comprising a plurality of arithmetic processing means connected in communication, wherein the plurality of arithmetic processing means can execute the same arithmetic processing synchronously,
An encoding method selection step of selecting one encoding method having an error probability less than a set value from a plurality of encoding methods;
When the plurality of arithmetic processing means synchronously execute the same arithmetic processing, the information including the arithmetic processing result by the plurality of arithmetic processing means is encoded by the encoding technique selected by the encoding technique selecting means. An encoding step to
A determination step of comparing the information encoded in the encoding step to determine whether or not the plurality of arithmetic processing means are operating normally;
It is a self-diagnosis method of information processing apparatus provided with.

本発明の第2の態様によれば、複数の符号化手法から、エラー確率が設定値未満である一の符号化手法を選択する符号化手法選択ステップを備え、複数の演算処理手段が同一の演算処理を同期して実行する際に、複数の演算処理手段による演算処理結果を含む情報を、符号化手法選択ステップにおいて選択された符号化手法によって符号化するため、自己診断のためのデータ伝送量やデータ比較量の低減と、信頼性の維持を両立させることができる。   According to the second aspect of the present invention, there is provided an encoding method selection step of selecting one encoding method having an error probability less than a set value from a plurality of encoding methods, and the plurality of arithmetic processing means are the same. Data transmission for self-diagnosis to encode information including the results of arithmetic processing by a plurality of arithmetic processing means by the encoding method selected in the encoding method selection step when the arithmetic processing is executed synchronously. The amount of data and the amount of data comparison can be reduced and the reliability can be maintained.

本発明の第2の態様において、
前記符号化手法選択ステップにおいて、前記エラー確率が設定値未満である符号化手法のうち、最も符号化ビット数が小さい符号化手法を選択することを特徴とするものとしてよい。
In a second aspect of the invention,
In the encoding method selection step, an encoding method having the smallest number of encoded bits may be selected from among the encoding methods having the error probability less than a set value.

こうすれば、自己診断のためのデータ伝送量やデータ比較量を、信頼性が維持される範囲内で、最低限に留めることができる。   In this way, the data transmission amount and data comparison amount for self-diagnosis can be kept to a minimum within a range in which reliability is maintained.

また、本発明の第2の態様において、
前記設定値を、パラメータとして設定されたCPU要求安全度に符号エラー比率を乗算し、更に前記判定ステップによる時間あたりの比較回数を除算した値として算出する設定値算出ステップを更に備えるものとしてよい。
In the second aspect of the present invention,
There may be further provided a setting value calculating step of calculating the setting value as a value obtained by multiplying the CPU required safety level set as a parameter by a sign error ratio and dividing the number of comparisons per time in the determination step .

また、本発明の第2の態様において、
前記符号化手法選択ステップにおいて、前記設定値の対数値に基づいて最小符号化ビット数を算出し、該算出した最小符号化ビット数よりも符号化ビット数が大きい符号化手法を選択することにより、エラー確率が設定値未満である符号化手法を選択することを特徴とするものとしてよい。
In the second aspect of the present invention,
In the encoding method selection step, a minimum number of encoded bits is calculated based on a logarithmic value of the set value, and an encoding method having a larger number of encoded bits than the calculated minimum number of encoded bits is selected. The encoding method having an error probability less than a set value may be selected.

本発明によれば、自己診断のためのデータ伝送量やデータ比較量の低減と、信頼性の維持を両立させた情報処理装置、及びその自己診断方法を提供することができる。   According to the present invention, it is possible to provide an information processing apparatus and a self-diagnosis method thereof that can simultaneously reduce the amount of data transmission and data comparison for self-diagnosis and maintain reliability.

本発明の一実施例に係る情報処理装置1のシステム構成例である。1 is a system configuration example of an information processing apparatus 1 according to an embodiment of the present invention. 符号エラー確率テーブル20#A、20#Bを示す図である。It is a figure which shows code error probability table 20 # A, 20 # B. 管理テーブル30#A、30#Bを示す図である。It is a figure which shows management table 30 # A, 30 # B. 各機能ブロックによって繰り返し実行される処理の順序等を示すタイムチャートである。It is a time chart which shows the order of the process etc. which are repeatedly performed by each functional block. 符号化手法選択部25#A、25#Bにより実行される符号化手法選択処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the encoding method selection process performed by encoding method selection part 25 # A and 25 # B. CPU演算データ収集処理部35#A、35#Bにより実行されるCPU演算データ収集処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the CPU calculation data collection process performed by CPU calculation data collection process part 35 # A, 35 # B. CPU演算データ収集処理部35#A、35#Bにより演算データ格納部15#A、15#Bから読み込まれ、連続データとして管理されるデータを模式的に示す図である。It is a figure which shows typically the data read from calculation data storage part 15 # A and 15 # B by CPU calculation data collection process part 35 # A, 35 # B, and managed as continuous data. 符号化処理部40#A、40#Bにより実行される符号化処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the encoding process performed by encoding process part 40 # A and 40 # B. 伝送処理部45#A、45#Bにより実行される伝送処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the transmission process performed by transmission process part 45 # A, 45 # B. 比較・判定処理部55#A、55#Bにより実行される比較・判定処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the comparison / determination process performed by comparison / determination process part 55 # A, 55 # B.

以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。   DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention will be described with reference to the accompanying drawings.

以下、図面を参照し、本発明の一実施例に係る情報処理装置、及びその自己診断方法について説明する。本発明の情報処理装置は、例えばマルチ・プロセッサ装置やマルチコア・プロセッサ等、複数の演算処理手段を備えるコンピュータを基本構成とする。   Hereinafter, an information processing apparatus and a self-diagnosis method thereof according to an embodiment of the present invention will be described with reference to the drawings. The information processing apparatus of the present invention has a basic configuration of a computer including a plurality of arithmetic processing means such as a multi-processor device and a multi-core processor.

複数の演算処理手段は、同一の演算処理を同期して実行することが可能となっている。そして、本発明の情報処理装置では、演算結果を含むデータを符号化して送信し合い、符号化データを比較することによって演算処理手段の故障を検出可能となっている。以下、係る故障検出を「自己診断」と称する。   The plurality of arithmetic processing means can execute the same arithmetic processing synchronously. In the information processing apparatus of the present invention, it is possible to detect a failure in the arithmetic processing means by encoding and transmitting data including the calculation result and comparing the encoded data. Hereinafter, such failure detection is referred to as “self-diagnosis”.

[基本構成]
図1は、本発明の一実施例に係る情報処理装置1のシステム構成例である。情報処理装置1は、CPU#Aと、CPU#Bと、を備える。CPU#A及びCPU#Bには同一のクロック信号が供給されており、同一の演算処理を同期して実行可能となっている。クロック信号の発生装置はいずれかのCPUに属していてもよい。また、CPU#AとCPU#Bは通信接続されているが、有線・無線の別、シリアル通信・多重バスの別、周波数帯域、変調方式等の通信態様について特段の制限は存在しない。
[Basic configuration]
FIG. 1 is a system configuration example of an information processing apparatus 1 according to an embodiment of the present invention. The information processing apparatus 1 includes a CPU #A and a CPU #B. The same clock signal is supplied to CPU #A and CPU #B, and the same arithmetic processing can be executed synchronously. The clock signal generator may belong to any of the CPUs. Although CPU #A and CPU #B are connected for communication, there is no particular limitation on communication modes such as wired / wireless, serial communication / multiplex bus, frequency band, modulation method, and the like.

CPU#Aは、演算処理部10#Aと、演算データ格納部15#Aと、符号エラー確率テーブル20#Aと、符号化手法選択部25#Aと、管理テーブル30#Aと、CPU演算データ収集処理部35#Aと、符号化処理部40#Aと、伝送処理部45#Aと、符号化データ格納部50#Aと、比較・判定処理部55#Aと、を備える。   The CPU #A includes an arithmetic processing unit 10 # A, an arithmetic data storage unit 15 # A, a code error probability table 20 # A, an encoding technique selection unit 25 # A, a management table 30 # A, and a CPU calculation A data collection processing unit 35 # A, an encoding processing unit 40 # A, a transmission processing unit 45 # A, an encoded data storage unit 50 # A, and a comparison / determination processing unit 55 # A are provided.

同様に、CPU#Bは、演算処理部10#Bと、演算データ格納部15#Bと、符号エラー確率テーブル20#Bと、符号化手法選択部25#Bと、管理テーブル30#Bと、CPU演算データ収集処理部35#Bと、符号化処理部40#Bと、伝送処理部45#Bと、符号化データ格納部50#Bと、比較・判定処理部55#Bと、を備える。   Similarly, the CPU #B includes an arithmetic processing unit 10 # B, an arithmetic data storage unit 15 # B, a code error probability table 20 # B, an encoding technique selection unit 25 # B, and a management table 30 # B. CPU calculation data collection processing unit 35 # B, encoding processing unit 40 # B, transmission processing unit 45 # B, encoded data storage unit 50 # B, and comparison / determination processing unit 55 # B. Prepare.

なお、同一の数字が付された機能ブロックは、いずれのCPUに属するかを示す「#A」、「#B」の別に拘わらず、基本的に同じ機能を有している。   It should be noted that functional blocks to which the same numerals are attached have basically the same functions regardless of whether “#A” or “#B” indicating which CPU belongs to.

CPU#A、#Bが有する機能ブロックのうち、演算データ格納部15#A、15#B、符号化エラーテーブル20#A、20#B、管理テーブル30#A、30#B、及び符号化データ格納部50#A、50#Bは、図示しないRAM(Random Access Memory)やフラッシュメモリ、レジスタ等に構築された記憶領域である。   Among the functional blocks of the CPUs #A and #B, the operation data storage units 15 # A and 15 # B, the encoding error tables 20 # A and 20 # B, the management tables 30 # A and 30 # B, and the encoding The data storage units 50 # A and 50 # B are storage areas constructed in a RAM (Random Access Memory), a flash memory, a register, etc. (not shown).

演算処理部10#A、10#Bは、例えばALU(Arithmetic Logic Unit)やFPGA(Field Programmable Gate Array)等を含む。演算処理部10#A、10#Bは、図示しないOS(Operating System)の制御によってプログラムメモリからフェッチされる命令に従い、各種演算処理を実行する。この命令は、情報処理装置1が本来実行すべきタスクのための命令であり、自己診断に係る命令とは異なる。前述のように、演算処理部10#A、10#Bは、同一の演算処理を同期して実行する。   The arithmetic processing units 10 # A and 10 # B include, for example, an ALU (Arithmetic Logic Unit), an FPGA (Field Programmable Gate Array), and the like. Arithmetic processing units 10 # A and 10 # B execute various arithmetic processes according to instructions fetched from the program memory under the control of an OS (Operating System) (not shown). This command is a command for a task that should be executed by the information processing apparatus 1, and is different from a command related to self-diagnosis. As described above, the arithmetic processing units 10 # A and 10 # B synchronously execute the same arithmetic processing.

ここで、同一の演算処理とは、ダイバーシティ(多様化)を考慮し、入力と出力の関係は同じであるが、アルゴリズム、プログラム言語、コンパイラ、コンパイラのパラメータ等が異なる演算処理も含まれる。   Here, the same arithmetic processing includes diversity (diversification) and includes the same input / output relationship, but includes arithmetic processing with different algorithms, programming languages, compilers, compiler parameters, and the like.

演算処理部10#A、10#Bの演算対象値や演算パラメータ、演算結果(以下、これらを必要に応じて入力状態、ステータスデータ、出力状態と称する)は、演算データ格納部15#A、15#Bに格納される。   The calculation target values, calculation parameters, and calculation results (hereinafter referred to as input state, status data, and output state as necessary) of the calculation processing units 10 # A and 10 # B are stored in the calculation data storage unit 15 # A, 15 # B.

[符号化手法選択のためのパラメータ]
符号エラー確率テーブル20#A、20#Bは、要求符号エラー確率テーブルと、符号化演算関数エラー確率テーブルとを含む。図2は、符号エラー確率テーブル20#A、20#Bを示す図である。
[Parameters for selecting the encoding method]
The code error probability tables 20 # A and 20 # B include a request code error probability table and a coding operation function error probability table. FIG. 2 is a diagram illustrating the code error probability tables 20 # A and 20 # B.

要求符号エラー確率テーブルには、CPU要求安全度と、符号エラー比率と、一秒あたりの比較回数とが格納される。これらのパラメータは、要求符号エラー確率(元データが一致しないにも拘わらず、符号化によって同一データとなり、故障を見過ごす確率の要求値)を算出するためのパラメータ群である。なお、この要求符号エラー確率が、特許請求の範囲における「設定値」に相当する。   The request code error probability table stores the CPU request safety level, the code error ratio, and the number of comparisons per second. These parameters are a group of parameters for calculating a required code error probability (required value of the probability that the same data is obtained by encoding and the failure is overlooked even though the original data does not match). The request code error probability corresponds to a “set value” in the claims.

各パラメータは、例えば情報処理装置1の起動時にEEPROM(Electrically Erasable and Programmable Read Only Memory)やROM(Read Only Memory)等から読み込まれて要求符号エラー確率テーブルに格納される。なお、符号エラー確率テーブル20#A、20#B自体がEEPROMやROM上の記憶領域であっても構わない。   Each parameter is read from, for example, an EEPROM (Electrically Erasable and Programmable Read Only Memory) or a ROM (Read Only Memory) when the information processing apparatus 1 is activated, and stored in the request code error probability table. The code error probability tables 20 # A and 20 # B themselves may be storage areas on the EEPROM or the ROM.

また、要求符号エラー確率テーブルに格納されるパラメータは、ユーザーによって変更可能としてよい。   The parameters stored in the request code error probability table may be changeable by the user.

図2の例では、CPU要求安全度は10のマイナス8乗と例示しているが、係る数値はCPUシステムの安全度水準における「SIL(Safety Integrity Level)3」に対応している。この数値は要求される安全度水準が比較的高い例であり、要求される安全度水準が低い場合には、より大きい値(例えば10のマイナス6乗など)が設定されてもよい。要求される安全度水準が高い場合とは、例えばプラント等の施設や移動体等の制御装置として用いられる場合であり、要求される安全度水準が低い場合とは、例えば家庭用のパーソナルコンピュータやゲーム機として用いられる場合である。また、原子力プラント等を制御する制御装置として用いられる場合、更に要求される安全度水準を高くしてもよい(CPU要求安全度の値はより小さい値となる)。このように、本実施例の情報処理装置1では、用途に応じた値に要求される安全度水準を設定することができるため、後述する符号化処理の際に最適な符号化手法を選択することができる。   In the example of FIG. 2, the CPU required safety level is exemplified as 10 to the eighth power, but the numerical value corresponds to “SIL (Safety Integrity Level) 3” in the safety level of the CPU system. This numerical value is an example in which the required safety level is relatively high. If the required safety level is low, a larger value (for example, 10 to the sixth power) may be set. The case where the required safety level is high is, for example, a case where it is used as a control device for a facility such as a plant or a moving body, and the case where the required safety level is low is, for example, a personal computer for home use. This is a case where it is used as a game machine. Further, when used as a control device for controlling a nuclear power plant or the like, the required safety level may be further increased (the CPU required safety level is a smaller value). As described above, the information processing apparatus 1 according to the present embodiment can set the safety level required for the value according to the application, and therefore selects an optimal encoding method at the time of encoding processing to be described later. be able to.

なお、CPUシステムの安全度水準については、例えば「IEC61508 FUNCTIONAL SAFETY OF ELECTRICAL/ELECTRONIC/PROGRAMMABLE ELECTRONIC SAFETY-RELATED SYSTEMS」に記載されている。   The safety level of the CPU system is described in, for example, “IEC61508 FUNCTIONAL SAFETY OF ELECTRICAL / ELECTRONIC / PROGRAMMABLE ELECTRONIC SAFETY-RELATED SYSTEMS”.

符号エラー比率とは、符号化により照合エラーが発生する確率の、CPU要求安全度に示す割合である。また、一秒あたりの比較回数とは、符号化データを比較する一秒あたりの回数である。   The code error ratio is a ratio shown in the CPU required safety degree of the probability that a verification error occurs due to encoding. The number of comparisons per second is the number of times per second for comparing encoded data.

一方、符号化演算関数エラー確率テーブルは、本実施例の情報処理装置1が選択し得る符号化演算関数と、それぞれの符号化後のビット数(以下、「符号化ビット数」と称する)、想定されるエラー確率を規定している。図2に示すように、各符号化演算関数を選択した場合に想定されるエラー確率は、2の(マイナス符号化ビット数)乗となる。係る点については、例えば「Val Henson, Richard Henderson, ”Guidelines for Using Compare-by-hash”, Originally Appeared in HotOS 2003(2003)」に記載されている。   On the other hand, the encoding operation function error probability table includes an encoding operation function that can be selected by the information processing apparatus 1 according to the present embodiment, the number of bits after encoding (hereinafter referred to as “the number of encoding bits”), Specifies the expected error probability. As shown in FIG. 2, the error probability assumed when each encoding operation function is selected is a power of 2 (the number of minus encoded bits). This is described in, for example, “Val Henson, Richard Henderson,“ Guidelines for Using Compare-by-hash ”, Originally Appeared in HotOS 2003 (2003)”.

本実施例では、符号化演算関数として、HMAC(Keyed-Hashing for Message Authentication code)、MD4、SHA1(Secure Hash Algorithm1)を選択できるものとした。これらは、いずれもハッシュ関数を利用した演算関数である。このように符号化演算関数エラー確率テーブルに登録される符号化演算関数は、符号化ビット数や演算速度、使用メモリ量等を考慮して選択される。   In the present embodiment, HMAC (Keyed-Hashing for Message Authentication code), MD4, and SHA1 (Secure Hash Algorithm 1) can be selected as the encoding operation function. These are all arithmetic functions using a hash function. Thus, the encoding operation function registered in the encoding operation function error probability table is selected in consideration of the number of encoding bits, the operation speed, the amount of memory used, and the like.

なお、いずれかの符号化演算関数を選択することが、特許請求の範囲における「符号化手法を選択する」ことに相当する。   Note that selecting any one of the encoding operation functions corresponds to “selecting an encoding method” in the claims.

[符号化手法の選択]
符号化手法選択部25#A、25#Bは、それぞれ、符号エラー確率テーブル20#A、20#Bに格納されたパラメータに基づいて符号化演算関数エラー確率テーブルから最適な符号化演算関数を選択し、選択した符号化演算関数を管理テーブル30#A、30#Bの符号化演算関数テーブルに格納する。以下、その選択手法について説明する。
[Selection of encoding method]
The encoding method selection units 25 # A and 25 # B obtain the optimum encoding operation function from the encoding operation function error probability table based on the parameters stored in the code error probability tables 20 # A and 20 # B, respectively. The selected encoding operation function is stored in the encoding operation function tables of the management tables 30 # A and 30 # B. The selection method will be described below.

符号化手法選択部25#A、25#Bは、次式(1)に基づいて最小符号化ビット数を算出する。そして、最小符号化ビット数を超える符号化ビット数を有する符号化演算関数のうち、最も符号化ビット数が小さい符号化演算関数を選択する。なお、次式(1)において、「Log」は例えば常用対数である。   The encoding method selection units 25 # A and 25 # B calculate the minimum number of encoded bits based on the following equation (1). Then, an encoding operation function having the smallest number of encoded bits is selected from among the encoding operation functions having the number of encoded bits exceeding the minimum number of encoded bits. In the following formula (1), “Log” is, for example, a common logarithm.

(最小符号化ビット数)=−Log(要求符号エラー確率)÷Log2
=−Log{(CPU要求安全度)×(符号エラー比率)}÷{(一秒あたりの比較回数)×3600}÷Log2 …(1)
(Minimum encoding bit number) = − Log (Request code error probability) ÷ Log 2
= −Log {(CPU required safety level) × (sign error ratio)} ÷ {(number of comparisons per second) × 3600} ÷ Log2 (1)

これによって、想定されるエラー確率が要求符号エラー確率未満である符号化演算関数のうち、最も符号化ビット数が小さい符号化演算関数が選択されることになる(図2、及び次式(2)、(3)参照)。式(3)は上式(1)の変形である。図2や式(2)、(3)から判るように、符号化ビット数が最小符号化ビット数を超える場合、想定されるエラー確率は要求符号エラー確率よりも小さくなるからである。   As a result, an encoding operation function having the smallest number of encoded bits is selected from among the encoding operation functions whose expected error probability is less than the required code error probability (FIG. 2 and the following equation (2) ) And (3)). Expression (3) is a modification of the above expression (1). As can be seen from FIG. 2 and equations (2) and (3), when the number of encoded bits exceeds the minimum number of encoded bits, the assumed error probability is smaller than the required code error probability.

(想定されるエラー確率)=2^{−(符号化ビット数)} …(2)
(要求符号エラー確率)=2^{−(最小符号化ビット数)} …(3)
(Probable error probability) = 2 ^ {-(number of encoded bits)} (2)
(Requested code error probability) = 2 ^ {-(the minimum number of encoded bits)} (3)

このように、要求されるエラー確率を満たす(想定されるエラー確率が要求符号化エラー確率よりも小さい)符号化演算関数を選択することによって、演算処理の信頼性が確保される。更に、要求されるエラー確率を満たす符号化演算関数の中で、符号化ビット数が最小のものを選択することによって、後述するCPU間のデータ伝送量やデータ比較量を最小限に留めることができる。   Thus, the reliability of the arithmetic processing is ensured by selecting an encoding arithmetic function that satisfies the required error probability (the assumed error probability is smaller than the required encoding error probability). Further, by selecting a coding operation function that satisfies the required error probability and having the smallest number of coding bits, it is possible to minimize the amount of data transmission and data comparison between CPUs to be described later. it can.

なお、上式(1)に図2の値を当てはめると、最小符号化ビット数は次式(4)のように算出される。   When the value of FIG. 2 is applied to the above equation (1), the minimum number of encoded bits is calculated as the following equation (4).

(最小符号化ビット数)=−Log{(10^−8)×(10^−3)÷(10×3600)}÷Log2
≒16÷0.3
≒54 …(4)
(Minimum number of encoded bits) = − Log {(10 ^ −8) × (10 ^ −3) ÷ (10 × 3600)} ÷ Log2
≒ 16 ÷ 0.3
≒ 54 (4)

この場合、符号化ビット数が54ビットを超える符号化演算関数を選択すれば、想定されるエラー確率が要求符号化エラー確率よりも小さくなる。図2の例では、いずれの符号化演算関数も符号化ビット数が54ビットを超えているため、符号化ビット数が最小のHMACを選択することになる。   In this case, if an encoding operation function having an encoding bit number exceeding 54 bits is selected, the assumed error probability becomes smaller than the required encoding error probability. In the example of FIG. 2, since the number of encoded bits is greater than 54 for any of the encoding operation functions, the HMAC having the minimum number of encoded bits is selected.

[演算データ収集〜符号化〜比較・判定処理]
CPU演算データ収集処理部35#A、35#Bは、管理テーブル30#A、30#Bに従って、演算データ格納部15#A、15#Bに格納された演算処理部10#A、10#Bの入力状態、ステータスデータ、出力状態を収集し、符号化処理部40#A、40#Bに出力する(間に受け渡し用の記憶手段を挟んでよい)。
[Calculation data collection-encoding-comparison / judgment processing]
The CPU calculation data collection processing units 35 # A and 35 # B are operated by the calculation processing units 10 # A and 10 # stored in the calculation data storage units 15 # A and 15 # B according to the management tables 30 # A and 30 # B. The input state, status data, and output state of B are collected and output to the encoding processing units 40 # A and 40 # B (a storage unit for transfer may be sandwiched therebetween).

図3は、管理テーブル30#A、30#Bを示す図である。図示するように、管理テーブル30#A、30#Bには、演算処理部10#A、10#Bの入力状態、ステータスデータ、出力状態が格納される演算データ格納部15#A、15#Bのアドレス及びデータバイト数が規定されたCPU演算データ収集テーブルと、符号化手法選択部25#A、25#Bにより選択された符号化演算関数(又はその識別子)が格納される符号化演算関数テーブルとが含まれる。   FIG. 3 is a diagram showing the management tables 30 # A and 30 # B. As shown in the figure, in the management tables 30 # A and 30 # B, calculation data storage units 15 # A and 15 # in which the input states, status data, and output states of the calculation processing units 10 # A and 10 # B are stored. A CPU calculation data collection table in which the address of B and the number of data bytes are defined, and an encoding calculation in which an encoding calculation function (or an identifier thereof) selected by the encoding method selection units 25 # A and 25 # B is stored Function table.

符号化処理部40#A、40#Bは、管理テーブル30#A、30#Bの符号化演算関数テーブルに格納された符号化演算関数を用いて、演算処理部10#A、10#Bの入力状態、ステータスデータ、出力状態を符号化する。符号化されたデータ(以下、符号化データと称する)は、符号化データ格納部50#A、50#Bに格納される他、伝送処理部45#A、45#Bに出力される。符号化関数を用いた符号化処理の詳細については、種々の文献が公知となっているため、説明を省略する。   The encoding processing units 40 # A and 40 # B use the arithmetic operation units 10 # A and 10 # B by using the encoding arithmetic function stored in the encoding arithmetic function table of the management tables 30 # A and 30 # B. The input state, status data, and output state are encoded. The encoded data (hereinafter referred to as encoded data) is stored in the encoded data storage units 50 # A and 50 # B and is output to the transmission processing units 45 # A and 45 # B. Since details of the encoding process using the encoding function are known, various descriptions are omitted.

伝送処理部45#A、45#Bは、例えば安全通信規格であるIEC61784-3やIEC622
80等の要件に従って、他方のCPUに符号化データを送信する。また、伝送処理部45#A、45#Bは、他方のCPUから受信した符号化データを符号化データ格納部50#A、50#Bに格納する。なお、通信データの誤り率を考慮し、CRC等の安全コードを必要に応じて付加する。
The transmission processing units 45 # A and 45 # B are, for example, safety communication standards such as IEC61784-3 and IEC622.
According to the requirement such as 80, the encoded data is transmitted to the other CPU. The transmission processing units 45 # A and 45 # B store the encoded data received from the other CPU in the encoded data storage units 50 # A and 50 # B. Considering the error rate of communication data, a safety code such as CRC is added as necessary.

比較・判定処理部55#A、55#Bは、符号化データ格納部50#A、50#Bに格納された自CPUによる符号化データと、他方のCPUから受信した符号化データを比較し、いずれかのCPU或いはその周辺機器が故障状態にあるか否かを判定する。本実施例では二つのCPUによって処理を行っているため、故障CPUの特定は困難であり、故障を検出した場合は双方のCPUをリセット又は停止することとなるが、三つ以上のCPUを備える場合は多数決等の処理を行うことにより、故障CPUの特定まで行うことが可能となる。   The comparison / determination processing units 55 # A and 55 # B compare the encoded data by the own CPU stored in the encoded data storage units 50 # A and 50 # B with the encoded data received from the other CPU. Whether any CPU or its peripheral device is in a failure state is determined. In this embodiment, since processing is performed by two CPUs, it is difficult to specify a failed CPU. When a failure is detected, both CPUs are reset or stopped, but three or more CPUs are provided. In some cases, it is possible to identify the failed CPU by performing a process such as majority vote.

[タイムチャート]
図4は、上記説明した各機能ブロックによって繰り返し実行される処理の順序等を示すタイムチャートである。本図は、横軸に時間をとっている。図示するように、まず、CPU#A、#Bは、演算処理部10#A、10#Bによって入力、演算、出力処理を同期して実行する。係る処理は、情報処理装置1が本来のタスクとして実行するものである(制御装置として用いられる場合、制御演算等)。
[Time chart]
FIG. 4 is a time chart showing the order of processes repeatedly executed by each functional block described above. In this figure, time is plotted on the horizontal axis. As shown in the figure, first, the CPUs #A and #B execute input, calculation, and output processing synchronously by the calculation processing units 10 #A and 10 #B. Such processing is executed by the information processing apparatus 1 as an original task (when used as a control apparatus, a control calculation or the like).

次に、CPU演算データ収集処理部35#A、35#BがCPU演算データ収集処理を行い(図中、(a))、符号化処理部40#A、40#Bが符号化処理を行い(図中、(b))、伝送処理部45#A、45#Bが伝送処理を行い(図中、(c))、最後に比較・判定処理部55#A、55#Bが、比較・判定処理を行う(図中、(d))。   Next, CPU calculation data collection processing units 35 # A and 35 # B perform CPU calculation data collection processing ((a) in the figure), and encoding processing units 40 # A and 40 # B perform encoding processing. ((B) in the figure), the transmission processing units 45 # A and 45 # B perform transmission processing ((c) in the figure), and finally the comparison / determination processing units 55 # A and 55 # B perform comparison. A determination process is performed ((d) in the figure).

これらが終了すると、再度、演算処理部10#A、10#Bによる入力、演算、出力処理が開始され、一定の処理周期(例えば100[ms]程度)をもって繰り返し、入力、演算、出力処理〜比較・判定処理が実行される。この処理周期は、例えばカウントレジスタ70がクロック信号の立ち上がりをカウントすることによって制御される。   When these are completed, the input, calculation, and output processes by the calculation processing units 10 # A and 10 # B are started again, and repeated with a certain processing cycle (for example, about 100 [ms]), and the input, calculation, and output processes are started. Comparison / determination processing is executed. This processing cycle is controlled, for example, by the count register 70 counting the rising edge of the clock signal.

[自己診断に係る処理フロー]
以下、各機能ブロックにより実行される処理の流れについて説明する。
[Processing flow for self-diagnosis]
Hereinafter, the flow of processing executed by each functional block will be described.

図5は、符号化手法選択部25#A、25#Bにより実行される符号化手法選択処理の流れを示すフローチャートである。本フローは、情報処理装置1の起動時、又は符号エラー確率テーブル20#A、20#Bの要求符号エラー確率テーブルに格納されたパラメータが変更された時に開始される。なお、要求符号エラー確率テーブルに格納されたパラメータが変更されたことは、変更が行われた際にソフトウエア割り込みによって通知されるように設計されてもよいし、符号化手法選択部25#A、25#Bが適切な周期でポーリングを行って検知してもよい。   FIG. 5 is a flowchart showing the flow of the encoding method selection process executed by the encoding method selection units 25 # A and 25 # B. This flow is started when the information processing apparatus 1 is activated or when the parameters stored in the request code error probability tables of the code error probability tables 20 # A and 20 # B are changed. Note that the change of the parameter stored in the request code error probability table may be designed to be notified by a software interrupt when the change is made, or the coding method selection unit 25 # A. 25 # B may be detected by polling at an appropriate period.

まず、符号化手法選択部25#A、25#Bは、要求符号エラー確率テーブルに格納されたパラメータを読み込む(S100)。   First, the encoding method selection units 25 # A and 25 # B read parameters stored in the request code error probability table (S100).

次に、前述のように最小符号化ビット数を算出し(S102)、符号化ビット数が最小符号化ビット数を超える符号化演算関数のうち、最も符号化ビット数が小さい符号化演算関数を選択する(S104)。   Next, the minimum number of encoded bits is calculated as described above (S102), and the encoding operation function having the smallest number of encoded bits is selected from among the encoding operation functions in which the number of encoded bits exceeds the minimum number of encoded bits. Select (S104).

そして、選択した符号化演算関数を管理テーブル30#A、30#Bの符号化演算関数テーブルに格納する(S106)。   Then, the selected encoding operation function is stored in the encoding operation function tables of the management tables 30 # A and 30 # B (S106).

図6は、CPU演算データ収集処理部35#A、35#Bにより実行されるCPU演算データ収集処理の流れを示すフローチャートである。本フローは、前述したタイムチャートで説明したように、演算処理部10#A、10#Bによる入力、演算、出力処理が終了したタイミングで開始される。   FIG. 6 is a flowchart showing the flow of CPU calculation data collection processing executed by the CPU calculation data collection processing units 35 # A and 35 # B. This flow is started at the timing when the input, calculation, and output processes by the calculation processing units 10 # A and 10 # B are completed, as described in the above time chart.

まず、CPU演算データ収集処理部35#A、35#Bは、管理テーブル30#A、30#BのCPU演算データ収集テーブルから、演算データ格納部15#A、15#Bのアドレス及びデータバイト数を読み込む(S200)。   First, the CPU calculation data collection processing units 35 # A and 35 # B receive the addresses and data bytes of the calculation data storage units 15 # A and 15 # B from the CPU calculation data collection table of the management tables 30 # A and 30 # B. The number is read (S200).

そして、演算データ格納部15#A、15#Bに格納された演算処理部10#A、10#Bの入力状態、ステータスデータ、出力状態を読み込んで、連続データとして管理する(S202)。管理されたデータは、前述のように、符号化処理部40#A、40#Bに出力されることになる。   Then, the input state, status data, and output state of the arithmetic processing units 10 # A and 10 # B stored in the arithmetic data storage units 15 # A and 15 # B are read and managed as continuous data (S202). The managed data is output to the encoding processing units 40 # A and 40 # B as described above.

図7は、CPU演算データ収集処理部35#A、35#Bにより演算データ格納部15#A、15#Bから読み込まれ、連続データとして管理されるデータを模式的に示す図である。このような連続データに対して符号化処理を行うことにより、符号化処理に要する時間の短縮を図ることができる。   FIG. 7 is a diagram schematically illustrating data read from the calculation data storage units 15 # A and 15 # B by the CPU calculation data collection processing units 35 # A and 35 # B and managed as continuous data. By performing the encoding process on such continuous data, the time required for the encoding process can be shortened.

図8は、符号化処理部40#A、40#Bにより実行される符号化処理の流れを示すフローチャートである。本フローは、CPU演算データ収集処理部35#A、35#BによるCPU演算データ収集処理が終了したタイミングで開始される。   FIG. 8 is a flowchart showing the flow of encoding processing executed by the encoding processing units 40 # A and 40 # B. This flow is started at the timing when the CPU calculation data collection processing by the CPU calculation data collection processing units 35 # A and 35 # B is completed.

まず、符号化処理部40#A、40#Bは、管理テーブル30#A、30#Bの符号化演算関数テーブルから符号化演算関数を読み込む(S300)。   First, the encoding processing units 40 # A and 40 # B read encoding operation functions from the encoding operation function tables of the management tables 30 # A and 30 # B (S300).

次に、読み込んだ符号化演算関数を用いて、CPU演算データ収集処理部35#A、35#Bから入力された連続データを符号化する(S302)。   Next, continuous data input from the CPU calculation data collection processing units 35 # A and 35 # B is encoded using the read encoding calculation function (S302).

そして、符号化データを他のCPUに送信するように伝送処理部45#A、45#Bに指示し(S304)、符号化データ格納部50#A、50#Bに格納する(S306)。   Then, the transmission processing units 45 # A and 45 # B are instructed to transmit the encoded data to other CPUs (S304), and are stored in the encoded data storage units 50 # A and 50 # B (S306).

図9は、伝送処理部45#A、45#Bにより実行される伝送処理の流れを示すフローチャートである。本フローは、符号化処理部40#A、40#Bによる符号化処理が終了したタイミングで開始される。   FIG. 9 is a flowchart showing a flow of transmission processing executed by the transmission processing units 45 # A and 45 # B. This flow is started at the timing when the encoding processing by the encoding processing units 40 # A and 40 # B is completed.

まず、伝送処理部45#A、45#Bは、自CPUで符号化した符号化データから伝送仕様に合致する伝文を作成し、他のCPUに送信する(S400)。   First, the transmission processing units 45 # A and 45 # B create a message that matches the transmission specification from the encoded data encoded by its own CPU, and transmits it to another CPU (S400).

次に、他方のCPUから符号化データを受信する(S402)。そして、受信した符号化データを符号化データ格納部50#A、50#Bに格納する(S404)。この際に、伝文や伝送において異常が検知された場合には、異常データを符号化データ格納部50#A、50#Bに格納する。   Next, the encoded data is received from the other CPU (S402). Then, the received encoded data is stored in the encoded data storage units 50 # A and 50 # B (S404). At this time, if an abnormality is detected in the message or transmission, the abnormal data is stored in the encoded data storage units 50 # A and 50 # B.

なお、図9のフローでは一律、送信→受信の順としたが、実際には、一方のCPUでは送信→受信の順で、他方のCPUでは受信→送信の順で処理が行われることになる。   In the flow of FIG. 9, the order of transmission → reception is uniform, but in actuality, one CPU performs processing in the order of transmission → reception, and the other CPU performs processing in the order of reception → transmission. .

図10は、比較・判定処理部55#A、55#Bにより実行される比較・判定処理の流れを示すフローチャートである。本フローは、伝送処理部45#A、45#Bによる伝送処理が終了したタイミングで開始される。   FIG. 10 is a flowchart showing the flow of comparison / determination processing executed by the comparison / determination processing units 55 # A and 55 # B. This flow is started at the timing when the transmission processing by the transmission processing units 45 # A and 45 # B is completed.

まず、比較・判定処理部55#A、55#Bは、符号化データ格納部50#A、50#Bに格納された、自CPUによる符号化データと、他方のCPUから受信した符号化データを読み込む(S500)。   First, the comparison / determination processing units 55 # A and 55 # B are the encoded data stored in the encoded data storage units 50 # A and 50 # B and the encoded data received from the other CPU. Is read (S500).

次に、読み込んだ符号化データを比較し、これらが一致しているか否かを判定する(S502)。符号化データが一致している場合は、何も処理を行わずに本フローを終了する。   Next, the read encoded data is compared to determine whether or not they match (S502). If the encoded data matches, this flow ends without performing any processing.

一方、符号化データが一致していない場合は、前回から連続して不一致と判定されたか否かを判定する(S504)。   On the other hand, if the encoded data does not match, it is determined whether or not it has been determined that there is a mismatch from the previous time (S504).

前回から連続して不一致と判定されなかった場合は、CPU軽故障処理を行い、不一致発生を示すフラグ等を符号化データ格納部50#A、50#B等に書き込む(S506)。ここで、CPU軽故障処理とは、CPUのリセット等、各パラメータの再ダウンロード等を含む。係る処理は、ソフトエラー等の一過性の故障に対するものである。すなわち、単発的に符号化データが不一致と判定された場合には、ソフトウエア上のエラー処理に留め、情報処理装置1が行っているタスクを継続する。   If it is not determined that there is a mismatch from the previous time, CPU minor failure processing is performed, and a flag or the like indicating the occurrence of a mismatch is written in the encoded data storage units 50 # A, 50 # B, etc. (S506). Here, the CPU minor failure processing includes re-downloading of each parameter such as CPU reset. Such processing is for transient failures such as soft errors. That is, when it is determined that the encoded data does not coincide with each other, the error processing on the software is stopped and the task performed by the information processing apparatus 1 is continued.

前回から連続して不一致と判定された場合は、CPU重故障処理を行い、符号化データ格納部50#A、50#B等に書き込んだ不一致発生を示すフラグ等を消去する(S508)。ここで、CPU重故障処理とは、情報処理装置のシャットダウン、その後の管理者権限以外のアクセス禁止等を含む。係る処理は、伝送路の断線、ICの故障、ROMデータの破損、CPU自体の故障等、修復困難な故障に対するものである。すなわち、連続して符号化データが不一致と判定された場合には、安全面を考慮して、情報処理装置1が行っているタスクを停止する。このような段階的なエラー処理を行うことにより、故障の程度に応じた適切な処理を行うことができる。   If it is determined that there is a mismatch from the previous time, CPU serious failure processing is performed, and the flag indicating the occurrence of the mismatch written in the encoded data storage units 50 # A, 50 # B, etc. is deleted (S508). Here, the CPU serious failure processing includes shutting down the information processing apparatus and subsequent access prohibition other than administrator authority. Such processing is for failures that are difficult to repair, such as transmission line disconnection, IC failure, ROM data corruption, CPU failure, and the like. That is, when it is determined that the encoded data does not match continuously, the task performed by the information processing apparatus 1 is stopped in consideration of safety. By performing such stepwise error processing, it is possible to perform appropriate processing according to the degree of failure.

以上説明した本実施例の情報処理装置1によれば、想定されるエラー確率が要求符号化エラー確率よりも小さい符号化演算関数を選択することにより、演算処理の信頼性が確保され、要求されるエラー確率を満たす符号化演算関数の中で符号化ビット数が最小のものを選択することにより、CPU間のデータ伝送量やデータ比較量を最小限に留めることができる。   According to the information processing apparatus 1 of the present embodiment described above, the reliability of the arithmetic processing is ensured by selecting an encoding arithmetic function whose expected error probability is smaller than the required encoding error probability. By selecting a coding operation function that satisfies the error probability and having the smallest number of coding bits, the data transmission amount and data comparison amount between CPUs can be minimized.

この結果、自己診断のためのデータ伝送量やデータ比較量の低減と、信頼性の維持を両立させることができる。   As a result, it is possible to achieve both reduction in the amount of data transmission and data comparison for self-diagnosis and maintenance of reliability.

自己診断のためのデータ伝送量を低減すると、例えばCPU間の通信にRS232Cによるシリアル通信等、安価で低速度の通信路を採用した場合に、通信時間がネックとなるシステムの性能低下を防止することができる。   Reducing the amount of data transmitted for self-diagnosis prevents system performance degradation that becomes a bottleneck in communication time when low-speed and low-speed communication paths such as RS232C serial communication are used for communication between CPUs. be able to.

また、本実施例の情報処理装置1によれば、段階的なエラー処理を行うことにより、故障の程度に応じた適切な処理を行うことができる。   Further, according to the information processing apparatus 1 of the present embodiment, it is possible to perform appropriate processing according to the degree of failure by performing stepwise error processing.

以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。   The best mode for carrying out the present invention has been described above with reference to the embodiments. However, the present invention is not limited to these embodiments, and various modifications can be made without departing from the scope of the present invention. And substitutions can be added.

例えば、実施例では情報処理装置1が二個のCPUを備えるものとしたが、三個以上のCPUを備えるものとしてもよい。この場合、多数決によって故障CPUを特定することができる。   For example, in the embodiment, the information processing apparatus 1 includes two CPUs, but may include three or more CPUs. In this case, the failed CPU can be specified by majority vote.

また、自己診断に係る監視専用のCPU(情報処理装置1が三個以上のCPUを備える場合)や論理回路等を設けてもよい。   Further, a CPU dedicated to monitoring (when the information processing apparatus 1 includes three or more CPUs), a logic circuit, or the like may be provided.

本発明は、コンピュータ、及びその周辺機器の製造業等に利用可能である。   The present invention can be used in the manufacturing industry of computers and peripheral devices.

1 情報処理装置
10#A、10#B 演算処理部
15#A、15#B 演算データ格納部
20#A、20#B 符号エラー確率テーブル
25#A、25#B 符号化手法選択部
30#A、30#B 管理テーブル
35#A、35#B CPU演算データ収集処理部
40#A、40#B 符号化処理部
45#A、45#B 伝送処理部
50#A、50#B 符号化データ格納部
55#A、55#B 比較・判定処理部
70 カウントレジスタ
#A、#B CPU
1 Information processing apparatus 10 # A, 10 # B arithmetic processing unit 15 # A, 15 # B arithmetic data storage unit 20 # A, 20 # B Code error probability table 25 # A, 25 # B Coding method selection unit 30 # A, 30 # B management table 35 # A, 35 # B CPU calculation data collection processing unit 40 # A, 40 # B encoding processing unit 45 # A, 45 # B transmission processing unit 50 # A, 50 # B encoding Data storage unit 55 # A, 55 # B Comparison / determination processing unit 70 Count register #A, #B CPU

Claims (8)

通信接続された複数の演算処理手段を備え、該複数の演算処理手段が同一の演算処理を同期して実行可能な情報処理装置であって、
複数の符号化手法から、エラー確率が設定値未満である一の符号化手法を選択する符号化手法選択手段と、
前記複数の演算処理手段が同一の演算処理を同期して実行する際に、前記複数の演算処理手段による演算処理結果を含む情報を、前記符号化手法選択手段によって選択された符号化手法によって符号化する符号化手段と、
前記複数の符号化手段によって符号化された情報を比較して、前記複数の演算処理手段が正常に作動しているかどうかを判定する判定手段と、
を備える情報処理装置。
An information processing apparatus comprising a plurality of arithmetic processing means connected in communication, wherein the plurality of arithmetic processing means can execute the same arithmetic processing synchronously,
An encoding method selecting means for selecting one encoding method having an error probability less than a set value from a plurality of encoding methods;
When the plurality of arithmetic processing means synchronously execute the same arithmetic processing, the information including the arithmetic processing result by the plurality of arithmetic processing means is encoded by the encoding technique selected by the encoding technique selecting means. Encoding means for
A determination unit that compares information encoded by the plurality of encoding units and determines whether the plurality of arithmetic processing units are operating normally;
An information processing apparatus comprising:
請求項1に記載の情報処理装置であって、
前記符号化手法選択手段は、前記エラー確率が設定値未満である符号化手法のうち、最も符号化ビット数が小さい符号化手法を選択する手段である、
情報処理装置。
The information processing apparatus according to claim 1,
The encoding method selection means is means for selecting an encoding method having the smallest number of encoding bits among encoding methods in which the error probability is less than a set value.
Information processing device.
請求項1又は2に記載の情報処理装置であって、
前記設定値は、パラメータとして設定されたCPU要求安全度に符号エラー比率を乗算し、更に前記判定手段による時間あたりの比較回数を除算した値として算出される、
情報処理装置。
The information processing apparatus according to claim 1 or 2,
The set value is calculated as a value obtained by multiplying the CPU required safety level set as a parameter by a sign error ratio and further dividing the number of comparisons per time by the determination means.
Information processing device.
請求項1ないし3のいずれか1項に記載の情報処理装置であって、
前記符号化手法選択手段は、前記設定値の対数値に基づいて最小符号化ビット数を算出し、符号化ビット数が前記算出した最小符号化ビット数を超える符号化手法を選択することにより、エラー確率が設定値未満である符号化手法を選択する手段である、
情報処理装置。
The information processing apparatus according to any one of claims 1 to 3,
The encoding method selection means calculates the minimum number of encoded bits based on the logarithmic value of the set value, and selects an encoding method in which the number of encoded bits exceeds the calculated minimum number of encoded bits, A means for selecting an encoding method with an error probability less than a set value.
Information processing device.
通信接続された複数の演算処理手段を備え、該複数の演算処理手段が同一の演算処理を同期して実行可能な情報処理装置の自己診断方法であって、
複数の符号化手法から、エラー確率が設定値未満である一の符号化手法を選択する符号化手法選択ステップと、
前記複数の演算処理手段が同一の演算処理を同期して実行する際に、前記複数の演算処理手段による演算処理結果を含む情報を、前記符号化手法選択ステップにおいて選択された符号化手法によって符号化する符号化ステップと、
前記符号化ステップにおいて符号化された情報を比較して、前記複数の演算処理手段が正常に作動しているかどうかを判定する判定ステップと、
を備える情報処理装置の自己診断方法。
A self-diagnosis method for an information processing apparatus comprising a plurality of arithmetic processing means connected in communication, wherein the plurality of arithmetic processing means can execute the same arithmetic processing synchronously,
An encoding method selection step of selecting one encoding method having an error probability less than a set value from a plurality of encoding methods;
When the plurality of arithmetic processing means synchronously execute the same arithmetic processing, the information including the arithmetic processing result by the plurality of arithmetic processing means is encoded by the encoding technique selected in the encoding technique selecting step. An encoding step to
A determination step of comparing the information encoded in the encoding step to determine whether or not the plurality of arithmetic processing means are operating normally;
A self-diagnosis method for an information processing apparatus comprising:
請求項5に記載の情報処理装置の自己診断方法であって、
前記符号化手法選択ステップにおいて、前記エラー確率が設定値未満である符号化手法のうち、最も符号化ビット数が小さい符号化手法を選択することを特徴とする、
情報処理装置の自己診断方法。
A self-diagnosis method for an information processing apparatus according to claim 5,
In the encoding method selection step, among the encoding methods whose error probability is less than a set value, an encoding method having the smallest number of encoding bits is selected,
A self-diagnosis method for an information processing apparatus.
請求項5又は6に記載の情報処理装置の自己診断方法であって、
前記設定値を、パラメータとして設定されたCPU要求安全度に符号エラー比率を乗算し、更に前記判定ステップによる時間あたりの比較回数を除算した値として算出する設定値算出ステップを更に備える、
情報処理装置の自己診断方法。
A self-diagnosis method for an information processing device according to claim 5 or 6,
A setting value calculating step of calculating the setting value as a value obtained by multiplying the CPU required safety degree set as a parameter by a sign error ratio and dividing the number of comparisons per time by the determination step ;
A self-diagnosis method for an information processing apparatus.
請求項5ないし7のいずれか1項に記載の情報処理装置の自己診断方法であって、
前記符号化手法選択ステップにおいて、前記設定値の対数値に基づいて最小符号化ビット数を算出し、該算出した最小符号化ビット数よりも符号化ビット数が大きい符号化手法を選択することにより、エラー確率が設定値未満である符号化手法を選択することを特徴とする、
情報処理装置の自己診断方法。
A self-diagnosis method for an information processing apparatus according to any one of claims 5 to 7,
In the encoding method selection step, a minimum number of encoded bits is calculated based on a logarithmic value of the set value, and an encoding method having a larger number of encoded bits than the calculated minimum number of encoded bits is selected. , Characterized by selecting an encoding method with an error probability less than a set value,
A self-diagnosis method for an information processing apparatus.
JP2010144264A 2010-06-24 2010-06-24 Information processing apparatus and self-diagnosis method of information processing apparatus Active JP5545067B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010144264A JP5545067B2 (en) 2010-06-24 2010-06-24 Information processing apparatus and self-diagnosis method of information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010144264A JP5545067B2 (en) 2010-06-24 2010-06-24 Information processing apparatus and self-diagnosis method of information processing apparatus

Publications (2)

Publication Number Publication Date
JP2012008812A JP2012008812A (en) 2012-01-12
JP5545067B2 true JP5545067B2 (en) 2014-07-09

Family

ID=45539272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010144264A Active JP5545067B2 (en) 2010-06-24 2010-06-24 Information processing apparatus and self-diagnosis method of information processing apparatus

Country Status (1)

Country Link
JP (1) JP5545067B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6050083B2 (en) * 2012-10-18 2016-12-21 ルネサスエレクトロニクス株式会社 Semiconductor device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324391A (en) * 1991-12-16 1993-12-07 Kyosan Electric Mfg Co Ltd Fault detector, fault detecting method and bus comparator
JP5094591B2 (en) * 2008-06-27 2012-12-12 株式会社日立製作所 Verification system
JP5116609B2 (en) * 2008-08-21 2013-01-09 株式会社日立製作所 Multiple electronic interlocking device
JP4376960B1 (en) * 2009-01-19 2009-12-02 誠 後藤 File storage system and server device

Also Published As

Publication number Publication date
JP2012008812A (en) 2012-01-12

Similar Documents

Publication Publication Date Title
KR102034348B1 (en) Security supervision
EP2722760B1 (en) Semiconductor device
CN111880740A (en) Data processing method, device, computer system and readable storage medium
EP3022653B1 (en) Fault detection apparatus and method
WO2018093557A1 (en) Flow control in remote direct memory access data communications with mirroring of ring buffers
CN108038021B (en) Code memory checking method for computer program operation stage
CN108108262B (en) Integrated circuit with hardware check unit for checking selected memory accesses
US8793533B2 (en) Method and device for performing failsafe hardware-independent floating-point arithmetic
CN107193249B (en) Program development support device and program development support method
CN114327518A (en) Firmware storage method, firmware reading device, chip processor and storage medium
CN102971515A (en) Vehicle data abnormality determination device
CN109671466B (en) Threshold voltage debugging method and device and electronic equipment
JP5545067B2 (en) Information processing apparatus and self-diagnosis method of information processing apparatus
JP2017199052A (en) Register abnormality detection device
CN113178842A (en) Relay protection setting value monitoring method and device, relay protection equipment and storage medium
JP2013175118A (en) Control device, memory failure detection method thereof and self-diagnostic method thereof
CN109002317B (en) PCBA firmware upgrading method and system and PCBA
CN101398874A (en) Method for loading program to internal SRAM of MPU by utilizing hash function and operation method
CN116010158A (en) Verification device, verification system and chip device of configuration register
KR101925237B1 (en) Esd detection apparatus and method applied to digital integrated circuit, and integrated circuit
CN104052726A (en) Access control method and mobile terminal which employs access control method
US10114685B2 (en) System and method for error detection of executed program code employing compressed instruction signatures
CN113541865A (en) Configuration transmission method and device, electronic equipment and storage medium
EP1645930B1 (en) Method and system for detecting a security violation using an error correction code
CN111506330A (en) Program updating method and device, star affair computer and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140317

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140428

R150 Certificate of patent or registration of utility model

Ref document number: 5545067

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250