JP2013109532A - Device, method and program for diagnosis and restoration - Google Patents

Device, method and program for diagnosis and restoration Download PDF

Info

Publication number
JP2013109532A
JP2013109532A JP2011253301A JP2011253301A JP2013109532A JP 2013109532 A JP2013109532 A JP 2013109532A JP 2011253301 A JP2011253301 A JP 2011253301A JP 2011253301 A JP2011253301 A JP 2011253301A JP 2013109532 A JP2013109532 A JP 2013109532A
Authority
JP
Japan
Prior art keywords
data
processing
collation
application
repair
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.)
Pending
Application number
JP2011253301A
Other languages
Japanese (ja)
Inventor
Koji Nishida
廣治 西田
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 JP2011253301A priority Critical patent/JP2013109532A/en
Publication of JP2013109532A publication Critical patent/JP2013109532A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve the safety and continuity of data processing using memory.SOLUTION: A diagnosis and restoration device for executing prescribed processing by an application, and diagnosing and restoring data by comparing the executed processing result comprises: storage means to store prescribed data in three or more data areas; processing program execution means to write the prescribed data in the three or more data areas in different formats, to import and collate each of the written data in the three or more data areas when the application is executed, to perform prescribed restoration when collated results are mismatched and to execute the application with the restored data; and collation processing means to collate the result after execution of the application with a result after execution of the application by at least one of other diagnosis and restoration devices.

Description

本発明は、診断修復装置、診断修復方法、及び診断修復プログラムに係り、特に、メモリを用いたデータ処理の安全性及び継続性を向上させるための診断修復装置、診断修復方法、及び診断修復プログラムに関する。   The present invention relates to a diagnostic repair device, a diagnostic repair method, and a diagnostic repair program, and in particular, a diagnostic repair device, a diagnostic repair method, and a diagnostic repair program for improving the safety and continuity of data processing using a memory. About.

従来では、例えば放射線等により生じるデータ処理後の一過性のソフトエラー現象を減少させるため、メモリ(以下、必要に応じて「メモリ装置」という)に格納された処理後のデータに対して診断を行う技術が存在する。ここで、ソフトエラーとは、例えばメモリである半導体チップの一部が壊れる等の不良(ハードエラー)ではなく、記憶しておいたデータの一部だけが反転してしまう等の不良を意味する。このようなソフトエラーは、例えばアルファ線や中性子線、陽子線、重イオン線等の粒子線が半導体チップに突入することで引き起こされ、また粒子線が半導体チップを通過する時間は極めて短く、ほんの一瞬である等の特徴が知られている。また、ソフトエラーは、プリント板の細密化により発生しやすくなる。   Conventionally, in order to reduce a transient soft error phenomenon after data processing caused by, for example, radiation, diagnosis is performed on data after processing stored in a memory (hereinafter referred to as “memory device” if necessary). There are technologies to do this. Here, the soft error means not a defect (hard error) such as a part of a semiconductor chip that is a memory being broken, but a defect such that only a part of stored data is inverted. . Such soft errors are caused by particle beams such as alpha rays, neutron beams, proton beams, heavy ion beams entering the semiconductor chip, and the time for the particle beam to pass through the semiconductor chip is extremely short. Features such as being instantaneous are known. Also, soft errors are likely to occur due to the densification of the printed board.

ここで、従来では、例えばリアルタイムに読み書きするメモリにおけるソフトエラーの修復に関して、メモリ素子をリセットしたり、リライト(再書き込み)したりすることによって正常な動作に戻すことができることが知られている(例えば、非特許文献1参照)。また、非特許文献1では、ソフトエラー対策として、誤り訂正符号(以下、「ECC」(Error Correction Code)という)の検出において、チェック情報である単一ビット或いは2ビット以上が変化したのを調べたり、単一ビットだけが変化したかを決定し、そのビットを補数値に反転させることによってデータを訂正したりすることが示されている。また、既存のインターリーブ方式とECCとの併用も示されている。   Here, conventionally, it is known that, for example, soft error recovery in a memory that reads and writes in real time can be returned to a normal operation by resetting or rewriting (rewriting) the memory element ( For example, refer nonpatent literature 1). Further, in Non-Patent Document 1, as a countermeasure against soft errors, it is examined that a single bit or 2 bits or more as check information has changed in detection of an error correction code (hereinafter referred to as “ECC” (Error Correction Code)). Or determining whether only a single bit has changed and correcting the data by inverting that bit to a complementary value. Also, the combined use of an existing interleave method and ECC is shown.

また、従来では、予め正データとその反転データを保存しておき、データアクセス時のパリティチェック等で異常を検出した場合に、その反転データを利用する手法が知られている(例えば、特許文献1参照)。また、従来では、予め正データとその反転データとチェックコードとを格納しておき、マスターキーを抜く時点等のデータを監視して修復する手法が知られている。更に、従来では、ソフトウェアエラーが生じた場合に、そのソフトウェアの実行時に使用したハードウェアであるCPU(Central Processing Unit)やメモリに対して診断を行う手法が知られている(例えば、非特許文献2参照)。   Conventionally, there is known a technique of storing positive data and its inverted data in advance and using the inverted data when an abnormality is detected by a parity check or the like at the time of data access (for example, Patent Documents). 1). Conventionally, a method is known in which positive data, its inverted data, and a check code are stored in advance, and data such as a point in time when the master key is removed is monitored and restored. Further, conventionally, when a software error occurs, a method for diagnosing a CPU (Central Processing Unit) or a memory that is hardware used when executing the software is known (for example, non-patent document). 2).

特開平5−216771号公報Japanese Patent Application Laid-Open No. 5-216671 特開2002−55885号公報JP 2002-55885 A

design feature、2005年2月、「http://ednjapan.cancom−j.com/content/issue/2005/02/feature/feature02.html」design feature, February 2005, “http://ednjapan.cancom-j.com/content/issue/2005/02/feature/feature02.html” IEC61508 Functional safety of electrical/electronic/programmable electronic safety−related systems(IEC61508−7;A.5.7(Double RAM with hardware or software comparison and read/write test))IEC61508 Functional safety of electrical / electrical / programmable electrical safety-related systems (IEC61508-7; A.5.7 (Double RAM with backward read)

しかしながら、リアルタイムに読み書きするメモリにおいて、非特許文献1に示されているような複雑なECCを搭載するには、ハードウェアコストが増大してしまう。また、非特許文献1に示されている手法では、インターリーブ等の特殊な方式と併用しないと2ビット以上のデータ修正ができない。また、ECCの検出では、エラーを発生したメモリへの再書き込みを行わないため、メモリのソフトエラー修復ができない。   However, mounting a complex ECC such as that shown in Non-Patent Document 1 in a memory that reads and writes in real time increases the hardware cost. In addition, in the method shown in Non-Patent Document 1, data correction of 2 bits or more cannot be performed unless combined with a special method such as interleaving. Further, in ECC detection, since rewriting to the memory in which an error has occurred is not performed, the soft error recovery of the memory cannot be performed.

また、従来のソフトエラーの診断は、特定のタイミング又は定期的に行われる。したがって、従来では、実際に所定の処理を行うためにメモリを読むタイミングと、診断するためにメモリを読むタイミングとが異なり、処理するデータを読み込んだタイミングでソフトエラーを検出・修復できない可能性がある。つまり、ソフトエラーの診断では、エラー検出修復タイミングと、処理に使用するためのメモリ読み込みタイミングとが同時であり、エラー検出・修復したデータを用いて処理をする必要がある。   Further, the conventional soft error diagnosis is performed at a specific timing or periodically. Therefore, conventionally, the timing of reading the memory to actually perform the predetermined processing is different from the timing of reading the memory for diagnosis, and there is a possibility that the soft error cannot be detected and repaired at the timing of reading the data to be processed. is there. That is, in the diagnosis of the soft error, the error detection / recovery timing and the memory read timing for use in the processing are simultaneous, and it is necessary to perform processing using the data detected and repaired.

また、特許文献1に示されているような方法は、メモリを取り出す時にエラーを検出するが、その検出方法が不明確である。例えば、特許文献1には、パリティチェックの記載があるが、パリティチェックではエラー検出能力が低い。また、特許文献1の手法では、エラーが発生したメモリへの再書き込みを行わないため、メモリのソフトエラーの修復ができない。   Further, the method as disclosed in Patent Document 1 detects an error when the memory is taken out, but the detection method is unclear. For example, Patent Document 1 describes a parity check, but the parity check has a low error detection capability. Further, the technique disclosed in Patent Document 1 does not perform rewriting to a memory in which an error has occurred, and therefore cannot repair a memory soft error.

また、特許文献2に示されているような手法は、監視する時期が指定されておらず、所定の処理を行う場合に使用するタイミングでメモリのソフトエラーを検出することができず、エラーデータで処理する可能性があり、データの信頼性を担保できない。   In addition, the method as disclosed in Patent Document 2 does not specify a monitoring time, and cannot detect a memory soft error at a timing used when performing a predetermined process. The data reliability cannot be guaranteed.

また、特許文献2に示されている手法では、対象がEPROM(Erasable Programmable Read Only Memory),EEPROM(Electrically Erasable Programmable Read−Only Memory)を想定しており、RAM(Random Access Memory)についてのソフトエラーの検知及び修復については示されておらず、またチェックコードが必要になる等の処理の負荷が増加するため、リアルタイムでのメモリ使用には適用できない。   In the method disclosed in Patent Document 2, the target is assumed to be an EPROM (Erasable Programmable Read Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), and a RAM (Random Memory error). This is not shown for detection and repair of data, and is not applicable to real-time memory use because it increases the processing load such as the need for a check code.

更に、非特許文献2に記載されている「IEC61508−7 A.5.7 Double RAM」は、メモリアクセス時にソフトエラーを検出できるが、データの修復及びソフトエラーの修復ができない。したがって、上述したような手法では、メモリ等を用いたシステム上のデータ処理の安全性及び継続性を向上させることができなかった。   Furthermore, “IEC61508-7 A.5.7 Double RAM” described in Non-Patent Document 2 can detect a soft error at the time of memory access, but cannot recover data and soft error. Therefore, the above-described method cannot improve the safety and continuity of data processing on a system using a memory or the like.

本発明は、上述した課題に鑑みてなされたものであって、メモリを用いたデータ処理の安全性及び継続性を向上させるための診断修復装置、診断修復方法、及び診断修復プログラムを提供することを目的とする。   The present invention has been made in view of the above-described problems, and provides a diagnostic repair device, a diagnostic repair method, and a diagnostic repair program for improving the safety and continuity of data processing using a memory. With the goal.

上述した課題を解決するために、本発明は、以下の特徴を有する課題を解決するための手段を採用している。   In order to solve the above-described problems, the present invention employs means for solving the problems having the following characteristics.

本発明は、予め設定されたアプリケーションによる処理を実行し、実行された処理結果を比較してデータの診断及び修復を行う診断修復装置において、所定のデータを3以上の複数のデータ領域に記憶する記憶手段と、前記所定のデータを前記3以上の複数のデータ領域に異なる形式で書き込み、前記アプリケーションの実行時に前記3以上の複数のデータ領域にそれぞれ書き込んだデータを読み込んで照合し、照合の結果が不一致であった場合に所定の修復を行い、修復後のデータを用いて前記アプリケーションを実行する処理プログラム実行手段と、前記アプリケーションを実行した結果と、少なくとも1つの他の診断修復装置で前記アプリケーションを実行した結果とを照合する照合処理手段とを有することを特徴とする診断修復装置。   The present invention stores a predetermined data in a plurality of three or more data areas in a diagnostic / repair device that executes a process by a preset application and compares and executes the result of the executed process to diagnose and repair data. The storage means and the predetermined data are written to the three or more data areas in different formats, the data written to the three or more data areas are read and collated when the application is executed, and the collation results If there is a mismatch, the processing program executing means for executing the predetermined repair using the repaired data, the execution result of the application, and the application in at least one other diagnostic repair device And a diagnostic processing device for collating with the result of executing

また本発明は、予め設定されたアプリケーションによる処理を実行し、実行された処理結果を比較してデータの診断及び修復を行う診断修復方法において、所定のデータを記憶手段の3以上の複数のデータ領域に記憶する記憶ステップと、前記所定のデータを前記3以上の複数のデータ領域に異なる形式で書き込み、前記アプリケーションの実行時に前記3以上の複数のデータ領域にそれぞれ書き込んだデータを読み込んで照合し、照合の結果が不一致であった場合に所定の修復を行い、修復後のデータを用いて前記アプリケーションを実行する処理プログラム実行ステップと、前記アプリケーションを実行した結果と、少なくとも1つの他の診断修復方法で前記アプリケーションを実行した結果とを照合する照合処理ステップとを有することを特徴とする。   According to another aspect of the present invention, there is provided a diagnostic and repair method for executing processing by a preset application, and comparing and executing the processing results, and diagnosing and repairing data. A storage step of storing in an area, and writing the predetermined data in the three or more data areas in different formats, and reading and collating the data written in the three or more data areas, respectively, when executing the application , A processing program execution step for performing a predetermined repair when the result of collation does not match and executing the application using the data after the repair, a result of executing the application, and at least one other diagnostic repair A verification processing step for verifying the result of executing the application by the method. The features.

また本発明は、コンピュータを、上述した診断修復装置が有する各手段として機能させるための診断修復プログラムである。   Further, the present invention is a diagnostic repair program for causing a computer to function as each unit included in the above-described diagnostic repair apparatus.

なお、本発明の構成要素、表現又は構成要素の任意の組み合わせを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造等に適用したものも本発明の態様として有効である。   In addition, what applied the component, expression, or arbitrary combination of the component of this invention to a method, an apparatus, a system, a computer program, a recording medium, a data structure, etc. is also effective as an aspect of this invention.

本発明によれば、メモリを用いたデータ処理の安全性及び継続性を向上させることができる。   According to the present invention, the safety and continuity of data processing using a memory can be improved.

本実施形態における診断修復装置のブロック構成の一例を示す図である。It is a figure which shows an example of the block configuration of the diagnostic repair apparatus in this embodiment. 本実施形態における診断修復の概要について説明するための図である。It is a figure for demonstrating the outline | summary of the diagnosis restoration in this embodiment. 本実施形態における診断修復処理が実現可能なハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions which can implement | achieve the diagnostic repair process in this embodiment. 診断修復処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of a diagnostic repair process sequence. データ書込関数の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a data write function. 図5のデータ書込関数処理手順に対応するデータの書き込みの一例を示す図である。FIG. 6 is a diagram showing an example of data writing corresponding to the data write function processing procedure of FIG. 5. データ管理テーブルの一例を示す図である。It is a figure which shows an example of a data management table. 構造体定義ファイルの一例を示す図である。It is a figure which shows an example of a structure definition file. データ読込関数の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a data reading function. 照合処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of a collation process procedure. 照合先の処理が先行している場合の照合処理を説明するための図である。It is a figure for demonstrating the collation process in case the process of a collation destination precedes. 照合先の処理が遅行している場合の照合処理を説明するための図である。It is a figure for demonstrating the collation process in case the process of a collation destination is late. 照合データファイルの一例を示す図である。It is a figure which shows an example of a collation data file.

<本発明について>
本発明は、例えばリアルタイムでデータを読み書きするメモリ等の記憶手段のソフトエラーを検知し、例えば多数決原理等を用いてメモリ等のソフトエラーの修復や検証等の診断を行うことで、リアルタイム性を保持しつつ、安全性、信頼性、可用性、及びコスト面等を改善する。
<About the present invention>
The present invention detects a soft error in a storage means such as a memory that reads and writes data in real time, and performs real-time performance by performing a diagnosis such as repair or verification of a soft error in the memory using a majority rule, for example. While maintaining, improve safety, reliability, availability, cost, etc.

また、本発明では、例えばダイバース(diverse)診断手法を用いて診断を実施することで、同一出力であっても処理方式を別にすることにより一過性エラー以外のCPUやメモリの異常等を、より適切に診断することができる。   Further, in the present invention, by performing diagnosis using, for example, a divers diagnosis method, even if the output is the same, by changing the processing method, abnormalities in the CPU and memory other than transient errors, etc. A more appropriate diagnosis can be made.

ここで、本発明における「ダイバース診断手法」を以下のように定義する。ダイバース診断手法とは、例えば、所定の入力データを読み込み、同一のデータを出力する場合に、その入力データの読み込む機器(装置等)や処理方式等を別にして得られる結果を診断するものである。   Here, the “diversity diagnosis method” in the present invention is defined as follows. The divers diagnosis method, for example, is for diagnosing the result obtained by separately reading the input data (device etc.) and processing method when reading the predetermined input data and outputting the same data. is there.

更に、具体的に説明すれば、ダイバース診断手法は、例えば取得したあるデータに対して何らかのデータ処理を行う場合には、そのプログラム言語の違いやアルゴリズムの違い、バージョンの違い、コンパイラの違い、コンパイラのパラメータの違い、また複数のタスクを実行する場合には、その実行順序の違い、装置の違い(ここで、装置の違いには、例えば同種類の2つの装置や他社製品による異なる装置といった概念も含む)等といった、それぞれ異なる条件において処理された結果を用いて診断する手法をいう。なお、ダイバース診断手法における異なる条件については、本発明においてはこれに限定されるものではない。また、ダイバース診断手法により設定される条件は、上記の違いのうち何れか1つでもよく、複数を組み合わせてもよい。   More specifically, for example, in the case of performing some data processing on acquired data, the diversity diagnosis method is different in programming language, algorithm, version, compiler, compiler, When executing multiple tasks, there are differences in the order of execution, differences in devices (here, differences in devices include, for example, the concept of two devices of the same type or different devices from other companies' products). A diagnosis method using results processed under different conditions such as Note that the different conditions in the diversity diagnosis method are not limited to this in the present invention. Further, the condition set by the diversity diagnosis method may be any one of the above differences, or a plurality of conditions may be combined.

また、本発明では、ダイバースにより得られるそれぞれの誤差範囲やデータの誤差範囲について、予め設定しておき、その設定された範囲において一致しているか否かを判断したり、適宜多数決により、その処理結果が正常か異常かを判断することによりソフトエラーの安全性を向上させる。   Further, in the present invention, each error range and data error range obtained by diverse is set in advance, and it is determined whether or not they match in the set range, or the process is performed by majority decision as appropriate. The software error safety is improved by judging whether the result is normal or abnormal.

以下に、本発明における診断修復装置、診断修復方法、及び診断修復プログラムを好適に実施した形態について、図面を用いて説明する。   DESCRIPTION OF EMBODIMENTS Embodiments of a diagnostic repair apparatus, a diagnostic repair method, and a diagnostic repair program according to the present invention will be described below with reference to the drawings.

<診断修復装置のブロック構成例>
図1は、本実施形態における診断修復装置のブロック構成の一例を示す図である。ここで、図1に示す診断修復装置10−1,10−2は、複数の診断修復装置が多重化されていることを示すものであり、各装置を区別するため10−1,10−2としているが、これらは同一の構成を有している。そこで、以下の説明では、便宜上、診断修復装置10−1のみを用いて各構成による機能を説明する。また、本実施形態における診断修復装置10−1,10−2は、各CPU(例えば、CPU1,CPU2等)で処理される機能として定義することもできる。
<Example of block configuration of diagnostic repair device>
FIG. 1 is a diagram illustrating an example of a block configuration of a diagnostic repair apparatus according to the present embodiment. Here, the diagnosis / repair devices 10-1 and 10-2 shown in FIG. 1 indicate that a plurality of diagnosis / repair devices are multiplexed, and 10-1 and 10-2 are used to distinguish each device. However, they have the same configuration. Therefore, in the following description, for the sake of convenience, functions of each configuration will be described using only the diagnostic / repair device 10-1. In addition, the diagnostic / repair devices 10-1 and 10-2 in the present embodiment can be defined as functions processed by each CPU (for example, CPU1, CPU2, etc.).

診断修復装置10−1は、記憶手段としてのメモリ11と、データ管理テーブル12と、構造体定義ファイル13と、処理プログラム実行手段14と、照合データファイル15と、照合処理手段16と、通信手段17と、時間管理手段18とを有するよう構成されている。   The diagnostic / repair device 10-1 includes a memory 11 as a storage unit, a data management table 12, a structure definition file 13, a processing program execution unit 14, a verification data file 15, a verification processing unit 16, and a communication unit. 17 and time management means 18.

メモリ11は、例えばリアルタイムに読み書き可能なメモリ(例えば、RAM等)である。また、メモリ11は、内部に複数のデータ領域を有する。図1の例では、メモリ11内の複数のデータ領域のうち、ソフトエラーを検出及び修復対象とする領域を、「データ領域1」、「データ領域2」、「データ領域3」に区分して管理する。なお、本実施形態において、データ領域の数はこれに限定されるものではないが、データ領域のデータを用いて多数決による判定を行う場合もあるため、データ領域の数は3以上の奇数であることが好ましい。   The memory 11 is, for example, a memory (for example, a RAM) that can be read and written in real time. The memory 11 has a plurality of data areas inside. In the example of FIG. 1, among the plurality of data areas in the memory 11, areas for detecting and repairing soft errors are divided into “data area 1”, “data area 2”, and “data area 3”. to manage. In the present embodiment, the number of data areas is not limited to this. However, since the determination by majority vote may be performed using data in the data areas, the number of data areas is an odd number of 3 or more. It is preferable.

また、本実施形態では、所定の処理内容にて処理されるデータを格納する領域としてレジスタ等を有していてもよく、その他にもアクセスするデータを一時的に保存するキャッシュメモリ等を有していてもよい。   In the present embodiment, a register or the like may be provided as an area for storing data processed according to predetermined processing contents, and a cache memory or the like for temporarily storing data to be accessed may be provided. It may be.

データ管理テーブル12は、処理プログラム14に含まれるデータ書込関数14a及びデータ読込関数14bの何れか、又は、両方の関数からアクセスできる共通領域に配置され、メモリ11のデータ領域の先頭アドレスを管理する。   The data management table 12 is arranged in a common area accessible from either or both of the data write function 14a and the data read function 14b included in the processing program 14, and manages the start address of the data area of the memory 11. To do.

構造体定義ファイル13は、データ書込関数14a及びデータ読込関数14bの何れか、又は、両方の関数からアクセスできる共通領域に配置され、例えば各データ名、当該データ名のバイト数、当該データ名の先頭の相対アドレス等を定義した情報を管理する。ここで、例えば上述した各関数がC言語の場合には、プロブラムのコンパイル時等のように診断修復装置10−1(CPU)が実際の処理を実行する前に、予め設定された構造体定義データ21から取得したデータを変換して構造体定義ファイル13として構築することもできる。   The structure definition file 13 is arranged in a common area accessible from either or both of the data write function 14a and the data read function 14b. For example, each data name, the number of bytes of the data name, the data name Manages information that defines the relative address of the beginning of. Here, for example, when each of the functions described above is in C language, a structure definition that is set in advance before the diagnostic / restoration apparatus 10-1 (CPU) executes actual processing, such as when compiling a program, is performed. Data acquired from the data 21 can be converted and constructed as the structure definition file 13.

処理プログラム実行手段14は、少なくともデータ書込関数14a及びデータ読込関数14bを有する。データ書込関数14aは、メモリ11内のデータ領域に所定のデータを所定の形式等で書き込むための関数である。また、データ読込関数14bは、メモリ11内のデータ領域からデータを読み込み、メモリの診断やデータ及びソフトエラーの修復等を行うための関数である。   The processing program execution means 14 has at least a data write function 14a and a data read function 14b. The data write function 14a is a function for writing predetermined data in a data area in the memory 11 in a predetermined format. The data read function 14b is a function for reading data from the data area in the memory 11 and performing memory diagnosis, data and soft error repair, and the like.

つまり、処理プログラム実行手段14は、ソフトエラー検出対象のデータの書き込みや読み込みを行うアプリケーション処理プロブラムとして、データ書込関数14a及びデータ読込関数14bを有する。   That is, the processing program execution means 14 has a data write function 14a and a data read function 14b as application processing programs for writing and reading data for which a soft error is to be detected.

更に、処理プログラム実行手段14は、各種アプリケーション14cを有する。各種アプリケーション14cには、異なる処理を行う複数のアプリケーションが含まれている。処理プログラム実行手段14は、予め設定された処理内容に応じて各種アプリケーション14cからアプリケーションを選択し、選択したアプリケーションに対応した処理プログラム(アプリケーション処理プログラム)を実行し、実行した結果を照合データファイル15に出力する。   Furthermore, the processing program execution means 14 has various applications 14c. The various applications 14c include a plurality of applications that perform different processes. The processing program execution means 14 selects an application from the various applications 14c according to the processing content set in advance, executes a processing program (application processing program) corresponding to the selected application, and compares the execution result with the collation data file 15 Output to.

ここで、各種アプリケーション14cによるアプリケーション処理プロブラムは、例えば診断修復装置10−1(CPU1)と診断修復装置10−2(CPU2)とで同じ入力に対し、所定の制御命令等により同じ出力をするプロブラムである。つまり、アプリケーション処理プロブラムは、例えば上述したCPU1とCPU2とで同じアルゴリズムで処理をするか、又は上述したダイバース診断手法を適用し、入力に対して別の処理アルゴリズム等を用いた処理を行い、同じ出力をするといったダイバース化による処理を行う。本実施形態では、ダイバース化を行うことで、例えばプログラムや設計のミス等による共通原因の故障を検出し回避することができる。   Here, the application processing program by the various applications 14c is, for example, a program that outputs the same output by a predetermined control command or the like to the same input in the diagnostic repair device 10-1 (CPU1) and the diagnostic repair device 10-2 (CPU2). It is. In other words, the application processing program, for example, processes the above-described CPU 1 and CPU 2 with the same algorithm, or applies the above-described divers diagnosis method and performs processing using another processing algorithm or the like on the input. Processing by diversification, such as output. In this embodiment, by performing diversification, it is possible to detect and avoid a common cause failure due to, for example, a program or design error.

照合データファイル15は、例えば診断修復装置10−1(CPU1)における処理プログラム実行手段14の処理結果と、診断修復装置10−2(CPU2)における処理プログラム実行手段14の処理結果とを照合することで、修復したデータを検証して診断するためのデータを格納する。なお、照合データファイル15は、今までの処理結果の履歴情報(例えば、前回データ、今回データ等)を格納することもできる。   The collation data file 15 collates, for example, the processing result of the processing program execution unit 14 in the diagnosis / repair device 10-1 (CPU1) and the processing result of the processing program execution unit 14 in the diagnosis / repair device 10-2 (CPU2). Then, data for verifying and diagnosing the repaired data is stored. The verification data file 15 can also store history information (eg, previous data, current data, etc.) of the processing results so far.

照合処理手段16は、照合処理として、例えば診断修復装置10−1における処理プログラム実行手段14の処理結果と、診断修復装置10−2における処理プログラム実行手段14の処理結果とを照合することで、所定結果が一致しているか否かを確認し、修復したデータを検証して診断するための処理を行う。なお、一致しているか否かの判断は、完全一致に限定されるものではなく、例えば所定の誤差範囲にあるか否かにより判断してもよい。   As the collation processing, the collation processing unit 16 collates, for example, the processing result of the processing program execution unit 14 in the diagnostic repair device 10-1 with the processing result of the processing program execution unit 14 in the diagnostic repair device 10-2. It is checked whether or not the predetermined results match, and processing for verifying and diagnosing the repaired data is performed. Note that the determination of whether or not they are coincident is not limited to complete coincidence, and may be determined, for example, based on whether or not they are within a predetermined error range.

また、照合処理手段16は、多重化された診断修復装置のそれぞれの今回分の処理結果データ(今回データ)を対象に照合を行ってもよく、各診断修復装置における処理のタイミング等に対応させて、例えば前回分の処理結果データ(前回データ)等を用いて照合を行ってもよい。   Further, the collation processing means 16 may collate the processing result data (current data) for each of the multiplexed diagnosis / repair devices, and correspond to the processing timing of each diagnosis / repair device. For example, collation may be performed using the processing result data (previous data) for the previous time.

通信手段17は、診断修復装置10−1と診断修復装置10−2とで、データの送受信を可能とする。具体的には、通信手段17により、例えば診断・修復結果の照合等を行う。   The communication means 17 enables data transmission / reception between the diagnostic / repair device 10-1 and the diagnostic / repair device 10-2. Specifically, for example, diagnosis / repair results are collated by the communication means 17.

時間管理手段18は、処理プログラム実行手段14において予め設定された少なくとも1つの処理(アプリケーション)を実行させるための時間を管理する。また、時間管理手段18は、多重化された他の診断修復装置との実行の同期を取るための時間を管理する。したがって、多重化された各診断修復装置10における各時間管理手段18は、通信ネットワーク等により同期が取れるように接続されていてもよい。   The time management means 18 manages the time for causing the processing program execution means 14 to execute at least one process (application) preset. Moreover, the time management means 18 manages the time for synchronizing execution with other multiplexed diagnostic repair apparatuses. Therefore, each time management means 18 in each multiplexed diagnostic repair apparatus 10 may be connected so as to be synchronized by a communication network or the like.

なお、本実施形態においては、これに限定されるものではなく、例えば各診断修復装置10の処理プログラム実行手段14で同期させて所定の処理が実行されるように制御する管理制御装置等を設け、その管理制御装置から多重化された各診断修復装置10に対して所定の処理を実行させる時間情報を出力するようにしてもよい。これにより、本実施形態では、時間管理によるリアルタイムな診断修復処理を実現することができる。   In the present embodiment, the present invention is not limited to this. For example, a management control device that performs control so that predetermined processing is executed in synchronization with the processing program execution means 14 of each diagnosis and repair device 10 is provided. The management control device may output time information for executing predetermined processing on each of the multiplexed diagnostic / repair devices 10. Thereby, in this embodiment, the real-time diagnostic repair process by time management is realizable.

構造体定義データ21は、外部から取得されるデータの構造体が定義されたデータである。本実施形態では、構造体定義データ21を変換して構造対定義ファイル13を取得しているが、本発明においてはこれに限定されるものではなく、例えば構造体定義ファイル13そのものを外部から直接取得してもよい。なお、外部からの取得は、他の装置からインターネットやLAN(Local Area Network)等の通信ネットワークを介して取得してもよく、ユーザ等からの入力により設定されてもよい。   The structure definition data 21 is data in which a structure of data acquired from the outside is defined. In this embodiment, the structure definition data 21 is converted to obtain the structure pair definition file 13, but the present invention is not limited to this. For example, the structure definition file 13 itself is directly input from the outside. You may get it. The acquisition from the outside may be acquired from other devices via a communication network such as the Internet or a LAN (Local Area Network), or may be set by an input from a user or the like.

ここで、診断修復装置10−2は、多重化した診断修復装置10−1と同等のブロック構成を有し、上述した各機能に対応する処理を行う。なお、診断修復装置10−2は、多重化した診断修復装置10−1と並行して処理を行ったり、異なるタイミングで処理を行うことができ、これらはユーザ等により予め設定することができる。また、図1の例において、診断修復装置10−2(CPU2)は、診断修復装置10−1(CPU1)と並列二重化システムを構成しているが、本発明においてはこれに限定されるものではなく、診断修復装置10を三重以上の構成にして多重化システムを構成してもよい。   Here, the diagnostic repair device 10-2 has a block configuration equivalent to the multiplexed diagnostic repair device 10-1, and performs processing corresponding to each function described above. The diagnosis / repair device 10-2 can perform processing in parallel with the multiplexed diagnosis / repair device 10-1, or can perform processing at different timings, and these can be set in advance by a user or the like. In the example of FIG. 1, the diagnostic / repair device 10-2 (CPU2) constitutes a parallel duplex system with the diagnostic / repair device 10-1 (CPU1). However, the present invention is not limited to this. Alternatively, the multiplexing system may be configured with the diagnostic / repair device 10 having a triple or more configuration.

<診断修復の概要について>
ここで、本実施形態における診断修復の概要について図を用いて説明する。図2は、本実施形態における診断修復の概要について説明するための図である。本実施形態では、図2に示すように、リアルタイムに読み書きするメモリ11について、以下の手順で、メモリの診断、読み込みデータの修復、及びメモリ11のソフトエラーの修復を行う。なお、図2では、上述したデータ領域1〜3をそれぞれメモリ11−1〜11−3とする。
<Overview of diagnostic repair>
Here, an outline of diagnosis and repair in the present embodiment will be described with reference to the drawings. FIG. 2 is a diagram for explaining an outline of diagnostic repair according to the present embodiment. In the present embodiment, as shown in FIG. 2, for the memory 11 that reads and writes in real time, memory diagnosis, read data repair, and soft error repair of the memory 11 are performed in the following procedure. In FIG. 2, the data areas 1 to 3 described above are memories 11-1 to 11-3, respectively.

まず、本実施形態では、図2の(1)に示すように、データ書き込み時に、所定のデータを例えば3つの異なる形式でデータ領域へ書き込む。書き込むデータ形式は、例えばそのままのデータ(正データ)や、正データを16進数ffff(ハイバリュー(オールf))でEOR(排他的論理和)演算したデータ(反転データ)、正データを予め設定された1又は複数の異なる所定のパターン(例えば、16進数aaaa、abcd、4321、0a0a等)でEOR演算したデータ(パターンデータ)とし、それらのデータを選択的に用いてソフトエラー以外のビットエラー等のエラー検出もできるようにする。更に、本実施形態では、後述する図2の(5)に示す照合処理を行うことで、データの信頼性を向上させ、チェックサム等の付加的データを不要とする。   First, in the present embodiment, as shown in (1) of FIG. 2, when data is written, predetermined data is written into the data area in, for example, three different formats. As the data format to be written, for example, data as it is (positive data), data obtained by performing EOR (exclusive OR) on positive data with a hexadecimal number ffff (high value (all f)), and positive data are preset. Bit error other than soft error by using EOR operation with one or a plurality of different predetermined patterns (for example, hexadecimal aaaa, abcd, 4321, 0a0a, etc.) and selectively using those data It is possible to detect errors such as. Furthermore, in the present embodiment, by performing a collation process shown in FIG. 2 (5) described later, the reliability of data is improved, and additional data such as a checksum is unnecessary.

なお、上述した所定のパターンは、16進数aaaaのように同一数字が連続するものでもよく、16進数1234,4321のように昇順、降順になったものでもよく、16進数0a0aのように所定の2以上の値を交互に配列されたものでもよい。また、上述したデータのパターンは、処理毎に変更してもよく、常に予め設定されたパターンに固定されていてもよい。更に、本実施形態における演算内容は、上述したEOR演算に限定されるものではなく、例えば論理積演算等の所定の演算を用いてもよく、各処理毎や処理データの内容に応じて演算手法を任意に設定してもよい。なお、上述した16進数ffffやaaaa等の付加データの桁数は、説明の便宜上4桁で示しているが、実際には、正データのバイト数に対応させた桁数が設定される。   The predetermined pattern described above may be a sequence of the same numbers such as the hexadecimal number aaaa, or may be an ascending order or a descending order such as the hexadecimal numbers 1334 and 4321, or may be a predetermined number such as the hexadecimal number 0a0a. Two or more values may be alternately arranged. The data pattern described above may be changed for each process, or may be always fixed to a preset pattern. Furthermore, the operation content in the present embodiment is not limited to the above-described EOR operation, and for example, a predetermined operation such as a logical product operation may be used, and an operation method may be used according to each process or the content of the processing data. May be set arbitrarily. The number of digits of the additional data such as the hexadecimal numbers ffff and aaa described above is shown as four digits for convenience of explanation, but actually, the number of digits corresponding to the number of bytes of the positive data is set.

次に、本実施形態では、処理に使用するタイミングで図2の(2)に示すデータの読み込みを行う。また読み込み時に図2の(1)の処理でメモリ11−1に書き込んだ正データと、メモリ11−2に書き込んだ16進数ffffでEOR演算した反転データとを照合して一致を確認する。ここで、照合時には、メモリ11−2から得られた反転データを、16進数ffffでEOR演算する前のデータに戻してから照合を行う。なお、一致しているか否かの判断は、完全一致に限定されるものではなく、例えば所定の誤差範囲にあるか否かにより判断してもよい。照合の結果が不一致の場合には、メモリエラーと判断する。   Next, in this embodiment, the data shown in (2) of FIG. 2 is read at the timing used for processing. Further, at the time of reading, the positive data written in the memory 11-1 by the processing of (1) in FIG. 2 and the inverted data which is EOR-calculated with the hexadecimal number ffff written in the memory 11-2 are collated to confirm a match. Here, at the time of collation, collation is performed after the inverted data obtained from the memory 11-2 is returned to the data before the EOR operation with the hexadecimal number ffff. Note that the determination of whether or not they are coincident is not limited to complete coincidence, and may be determined, for example, based on whether or not they are within a predetermined error range. If the collation results do not match, a memory error is determined.

更に、本実施形態では、メモリ11−3に書き込んだパターンデータを用い、上述した正データと照合して一致を確認する。なお、パターン処理と照合する場合には、例えばデータ3のパターンデータを16進数aaaaが付加される前に戻した後に、データ1と照合する。つまり、ここでの照合は、正データ、反転データ、パターンデータの3つのデータで照合して一致を確認する。   Furthermore, in the present embodiment, the pattern data written in the memory 11-3 is used to collate with the above-described positive data to confirm the match. In the case of collation with pattern processing, for example, the pattern data of data 3 is collated with data 1 after returning before the hexadecimal number aaaa is added. That is, the collation here is performed by collating the three data of the positive data, the inverted data, and the pattern data to confirm the coincidence.

次に、本実施形態では、図2の(3)の処理として、上述した図2の(2)の処理でメモリエラーが発生したと判断した場合に、メモリ11−1〜11−3で書き込んだ3つの領域のデータで多数決を行い、多数のものを正常データと判定する。つまり、上述の例では、3つのデータのうち、同じデータが2つあるデータを正常データとする。   Next, in the present embodiment, when it is determined that a memory error has occurred in the above-described process (2) in FIG. 2 as the process (3) in FIG. 2, data is written in the memories 11-1 to 11-3. A majority decision is made with the data in the three areas, and the majority is determined as normal data. That is, in the above example, data having two identical data among the three data is defined as normal data.

また、判定により得られた正常データを実際の所定の処理に使用すると共に、当該正常データをメモリエラーと判定されたメモリに所定の形式で書き込み、ソフトエラーを修復する。   The normal data obtained by the determination is used for actual predetermined processing, and the normal data is written in a predetermined format in the memory determined to be a memory error to repair the soft error.

次に、本実施形態では、図2の(4)の処理として、メモリエラーと判定したメモリ(図2の例では、メモリ11−1)に書き込んだデータを再読み込みし、書き込んだデータと再読み込みしたデータとが一致するか否かを判定し、一致しない場合には、ハードエラーとみなして、所定のハードエラー処理を行う。   Next, in the present embodiment, as the processing of (4) in FIG. 2, the data written in the memory determined to be a memory error (memory 11-1 in the example of FIG. 2) is re-read, and the written data and the data are re-read. It is determined whether or not the read data matches. If they do not match, it is regarded as a hard error and a predetermined hard error process is performed.

次に、本実施形態では、図2の(5)の処理として、二重系以上の多重化システムで、当該システム(例えば、CPU1)で修復したデータを使用した処理結果と、他システム(例えば、CPU2)における該当する処理結果との照合を行う。この照合において、一致した場合には、修復データが正しいことが検証される。また、一致しない場合には、エラーとして所定のエラー処理を行う。   Next, in the present embodiment, as the processing of (5) in FIG. 2, the processing result using the data restored by the system (for example, the CPU 1) and the other system (for example, the redundant system) , CPU 2) is compared with the corresponding processing result. In this collation, if there is a match, it is verified that the repair data is correct. If they do not match, predetermined error processing is performed as an error.

なお、図2の例では、本実施形態では、メモリ11−1に正データ、メモリ11−2に反転データ、メモリ11−3にパターンデータを書き込んだが、本発明においてはこれに限定されるものではなく、例えばメモリ11−2,11−3にそれぞれ異なるパターンを正データに付加したパターンデータを書き込んでもよい。更に、本実施形態では、例えばデータ領域を5つ用意し、そのうちの1つには正データを書き込み、残りの4つには、反転データを2つ、異なるパターンを用いて得られたパターンデータを2つ書き込んでもよく、また4つとも異なるパターンを用いて得られたパターンデータを書き込んでもよい。どのデータ領域にどのようなデータを書き込むかについては、データの内容等に応じて選択的に設定することができる。   In the example of FIG. 2, in this embodiment, positive data is written in the memory 11-1, inverted data is written in the memory 11-2, and pattern data is written in the memory 11-3. However, the present invention is not limited to this. Instead, for example, pattern data obtained by adding different patterns to the positive data may be written in the memories 11-2 and 11-3. Further, in the present embodiment, for example, five data areas are prepared, positive data is written in one of them, two inverted data are written in the remaining four, and pattern data obtained using different patterns. 2 may be written, and pattern data obtained using patterns different from the four patterns may be written. What data is written in which data area can be selectively set according to the contents of the data.

<ハードウェア構成例>
ここで、上述した診断修復装置10(10−1,10−2を含む)においては、各機能をコンピュータに実行させることができる実行プログラム(診断修復プログラム)を生成し、例えば汎用のパーソナルコンピュータ、サーバ等にその実行プログラムをインストールすることにより、本発明における診断修復処理等を実現することができる。
<Hardware configuration example>
Here, in the diagnostic repair apparatus 10 (including 10-1 and 10-2) described above, an execution program (diagnosis repair program) that can cause a computer to execute each function is generated. By installing the execution program on a server or the like, it is possible to realize the diagnosis and repair processing or the like in the present invention.

ここで、本実施形態における診断修復処理が実現可能なコンピュータのハードウェア構成例について図を用いて説明する。図3は、本実施形態における診断修復処理が実現可能なハードウェア構成の一例を示す図である。   Here, an example of a hardware configuration of a computer capable of realizing the diagnosis and repair process according to the present embodiment will be described with reference to the drawings. FIG. 3 is a diagram illustrating an example of a hardware configuration capable of realizing the diagnostic / repair processing according to the present embodiment.

図3におけるコンピュータ本体には、入力装置31と、出力装置32と、ドライブ装置33と、補助記憶装置34と、メモリ装置35と、各種制御を行うCPU36と、ネットワーク接続装置37とを有するよう構成されており、これらはシステムバスBで相互に接続されている。   3 includes an input device 31, an output device 32, a drive device 33, an auxiliary storage device 34, a memory device 35, a CPU 36 for performing various controls, and a network connection device 37. These are connected to each other by a system bus B.

入力装置31は、ユーザ等が操作するキーボード及びマウス等のポインティングデバイスを有しており、ユーザ等からの各種プログラムの実行指示等の各種操作信号を入力する。   The input device 31 has a pointing device such as a keyboard and a mouse operated by a user or the like, and inputs various operation signals such as execution instructions of various programs from the user or the like.

出力装置32は、本発明における処理を行うためのコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイを有し、CPU36が有する制御プログラムにより、上述したアプリケーション処理プロブラム等の各種プログラムの実行経過や結果等を表示することができる。   The output device 32 has a display for displaying various windows and data necessary for operating the computer main body for performing the processing in the present invention, and various kinds of applications such as the application processing program described above by the control program of the CPU 36. Program execution progress and results can be displayed.

ここで、本発明においてコンピュータ本体にインストールされる実行プログラムは、例えばUSB(Universal Serial Bus)メモリやCD−ROM等の可搬型の記録媒体38等により提供される。プログラムを記録した記録媒体38は、ドライブ装置33にセット可能であり、記録媒体38に含まれる実行プログラムが、記録媒体38からドライブ装置33を介して補助記憶装置34にインストールされる。   Here, the execution program installed in the computer main body in the present invention is provided by, for example, a portable recording medium 38 such as a USB (Universal Serial Bus) memory or a CD-ROM. The recording medium 38 on which the program is recorded can be set in the drive device 33, and the execution program included in the recording medium 38 is installed in the auxiliary storage device 34 from the recording medium 38 via the drive device 33.

補助記憶装置34は、ハードディスク等のストレージ手段であり、本発明における実行プログラムやコンピュータに設けられた制御プログラム、本発明における診断修復処理を実行するために必要な各種データ(例えば、データ管理テーブル12、構造体定義ファイル13、照合データファイル15等)等を蓄積し、必要に応じて入出力を行うことができる。   The auxiliary storage device 34 is a storage means such as a hard disk, and executes various kinds of data (for example, the data management table 12) necessary for executing the execution program according to the present invention, the control program provided in the computer, and the diagnostic repair processing according to the present invention. , Structure definition file 13, collation data file 15, etc.) can be stored and input / output can be performed as necessary.

メモリ装置35は、上述したメモリ11に相当する記憶手段である。また、メモリ手段35は、CPU36により補助記憶装置34から読み出された実行プログラム等を格納する。なお、メモリ装置35は、RAMやROM(Read Only Memory)等からなる。   The memory device 35 is a storage unit corresponding to the memory 11 described above. The memory means 35 stores an execution program read from the auxiliary storage device 34 by the CPU 36. The memory device 35 includes a RAM, a ROM (Read Only Memory), or the like.

CPU36は、例えばOS(Operating System)等の制御プログラム、及びメモリ装置35等に格納されている実行プログラム、処理プログラム実行手段14等が有するアプリケーション処理プログラム等に基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して、診断修復処理における各処理を実現することができる。なお、プログラムの実行中に必要な各種情報等は、補助記憶装置34から取得することができ、また実行結果等を格納することもできる。   The CPU 36 performs various operations and hardware configurations based on, for example, a control program such as an OS (Operating System), an execution program stored in the memory device 35, an application processing program included in the processing program execution unit 14, and the like. Each process in the diagnostic / repair process can be realized by controlling the process of the entire computer, such as data input / output with the unit. Various information necessary during the execution of the program can be acquired from the auxiliary storage device 34, and the execution result and the like can also be stored.

ネットワーク接続装置37は、通信ネットワーク等と接続することにより、実行プログラム等を通信ネットワークに接続されている外部装置等から取得(ダウンロード)したり、プログラムを実行することで得られた実行結果又は本発明における実行プログラム自体を外部装置等に提供することができる。また、ネットワーク接続手段37は、通信ネットワーク等を介して外部装置から、本発明における診断修復処理を実施するために必要な各種データ(例えば、構造体定義データ21等)を取得することができる。   The network connection device 37 obtains (downloads) an execution program or the like from an external device or the like connected to the communication network by connecting to a communication network or the like, or an execution result or book obtained by executing the program The execution program itself in the invention can be provided to an external device or the like. In addition, the network connection unit 37 can acquire various data (for example, the structure definition data 21 and the like) necessary for performing the diagnostic repair process according to the present invention from an external device via a communication network or the like.

上述したようなハードウェア構成により、本発明における診断修復処理を実行することができる。また、プログラムをインストールすることにより、汎用のパーソナルコンピュータ等で本発明における診断修復処理を容易に実現することができる。   With the hardware configuration as described above, the diagnostic repair process according to the present invention can be executed. In addition, by installing the program, the diagnosis and repair process according to the present invention can be easily realized by a general-purpose personal computer or the like.

<診断修復処理手順>
次に、本実施形態における診断修復処理手順の一例について、フローチャートを用いて説明する。図4は、診断修復処理手順の一例を示すフローチャートである。図4において、診断修復処理は、上述したアプリケーション処理プロブラム等を用いて処理が行われる。
<Diagnostic repair procedure>
Next, an example of a diagnostic / repair processing procedure in the present embodiment will be described using a flowchart. FIG. 4 is a flowchart illustrating an example of the diagnostic repair processing procedure. In FIG. 4, the diagnostic repair process is performed using the above-described application processing program or the like.

まず、診断修復処理は、データ書込関数14aを呼び出し、予め設定されたメモリ11内の複数のデータ領域に対して、所定のデータを所定の形式で書き込む処理を実行する(S01)。このとき、所定の形式とは、例えば上述したように、そのままのデータ(正データ)、正データの反転データ、正データに所定のパターンを付加したパターンデータ等から任意に選択される。   First, the diagnostic repair process calls the data write function 14a and executes a process of writing predetermined data in a predetermined format into a plurality of data areas in the memory 11 set in advance (S01). At this time, for example, as described above, the predetermined format is arbitrarily selected from as-is data (positive data), inverted data of positive data, pattern data obtained by adding a predetermined pattern to positive data, and the like.

次に、診断修復処理は、データ読込関数を呼び出して対応する処理を実行する(S02)。具体的には、各データ領域のデータを読み出して照合により一致を確認する。ここで、診断修復処理は、照合結果に基づくデータ読込関数の関数値が正常終了であるか否かを判断する(S03)。なお、S03の処理では、例えば「正常終了であるか」、「データ修復処理を行うか」、「異常終了であるか」が判断される。   Next, the diagnostic repair process calls the data read function and executes the corresponding process (S02). Specifically, the data in each data area is read and the match is confirmed by collation. Here, in the diagnostic repair process, it is determined whether or not the function value of the data reading function based on the collation result is normal termination (S03). In the process of S03, for example, “whether it is normal termination”, “whether to perform data restoration processing”, or “abnormal termination” is determined.

診断修復処理は、S03の処理において、「データ修復処理を行う」と判断された場合、所定のデータ修復を行い、修復したデータをメモリ11内の所定のデータ領域に記憶するデータ修復処理を行う(S04)。なお、所定のデータ領域とは、照合の結果が一致しなかったデータ領域のみであってもよく、全データ領域であってもよい。   In the diagnosis repair process, when it is determined in the process of S03 that “data repair process is performed”, the predetermined data repair is performed, and the repaired data is stored in a predetermined data area in the memory 11. (S04). It should be noted that the predetermined data area may be only a data area where the collation results do not match or may be the entire data area.

また、S03の処理において、「正常終了である」と判断された場合、又は、上述したS04の処理が終了した場合には、予め設定された少なくとも1つのアプリケーション処理プログラムを実行する所定のアプリケーション処理を行う(S05)。また、その処理結果を照合処理データとして、例えば実行した各処理を識別するための「処理番号」と、「照合処理データ」と、「データ修復の有無」とを含む情報を照合データファイル15に書き込む(S06)。   Further, when it is determined in the process of S03 that the operation is “normally completed” or when the process of S04 described above is completed, a predetermined application process that executes at least one preset application process program is executed. (S05). Further, using the processing result as collation processing data, for example, information including “processing number” for identifying each executed process, “collation processing data”, and “data restoration presence / absence” is stored in the collation data file 15. Write (S06).

その後、診断修復処理は、例えば多重化された他の診断修復装置における所定の処理の結果が書き込まれた照合処理データファイルとの照合処理を行う(S07)。なお、本実施形態では、S07の処理を行わなくてもよい。また、診断修復処理は、上述するS03の処理において、「異常終了である」と判断された場合、その旨をユーザ等に通知する所定の異常処理を行う(S08)。また、本実施形態では、メモリのハードエラーをデータ読込関数14bの実行時等に検知した場合、メモリハードエラーに対応する所定の異常処理等を行う。   Thereafter, in the diagnostic repair process, for example, a collation process is performed with a collation process data file in which a result of a predetermined process in another multiplexed diagnostic repair apparatus is written (S07). In the present embodiment, the process of S07 may not be performed. Further, in the diagnosis and repair process, when it is determined that “abnormal end” in the process of S03 described above, a predetermined abnormality process for notifying the user or the like is performed (S08). In the present embodiment, when a memory hard error is detected when the data reading function 14b is executed, a predetermined abnormality process corresponding to the memory hard error is performed.

ここで、上述した照合データファイル15に書き込まれる「処理番号」とは、例えば処理プロブラム毎に付与された診断修復装置(CPU)内で一意の番号であり、例えば多重化された2つの診断修復装置(CPU1とCPU2)において、同一の処理を行う処理プログラムに対しては、同一の処理番号が付与される。また、上述した「照合処理データ」は、所定のアプリケーション処理の結果として生成されたデータ等を示す。更に、上述したデータ修復処理における「データ修復の有無」の判断は、例えば実際にデータ修復を行った場合に、データ修復ありを示すフラグや文字、識別情報等をセットする。   Here, the “processing number” written in the collation data file 15 described above is a unique number in the diagnostic repair device (CPU) assigned to each processing program, for example, and two multiplexed diagnostic repairs, for example. In the devices (CPU1 and CPU2), the same processing number is assigned to processing programs that perform the same processing. The “collation processing data” described above indicates data generated as a result of predetermined application processing. Furthermore, in the above-described data restoration processing, the determination of “presence / absence of data restoration” is performed by setting a flag, character, identification information, or the like indicating that data restoration has been performed, for example, when data restoration is actually performed.

<データ書込関数14aの処理手順>
次に、上述したデータ書込関数の処理手順例について、フローチャートを用いて説明する。図5は、データ書込関数の処理手順の一例を示すフローチャートである。また、図6は、図5のデータ書込関数処理手順に対応するデータの書き込みの一例を示す図である。
<Processing Procedure of Data Write Function 14a>
Next, a processing procedure example of the above-described data writing function will be described using a flowchart. FIG. 5 is a flowchart showing an example of the processing procedure of the data write function. FIG. 6 is a diagram showing an example of data writing corresponding to the data write function processing procedure of FIG.

ここで、本実施形態におけるデータ書込関数14aのパラメータは、書込データ名と書込データである。以下の説明では、関数の記述例として、例えば「rinf=wsdat(a[3]=20)」の場合を示す。これは、書込データ名が、後述する図8(b)で定義したように整数型aの3番目(相対値)、書込データが20であることを示している。更に、rinfは関数値であるが、本実施形態におけるデータ書込関数14aでは使用しない。   Here, the parameters of the data write function 14a in the present embodiment are a write data name and write data. In the following description, as a function description example, for example, “rinf = wsdat (a [3] = 20)” is shown. This indicates that the write data name is the third (relative value) of the integer type a and the write data is 20, as defined in FIG. Further, rinf is a function value, but is not used in the data write function 14a in the present embodiment.

なお、本実施形態では、書込データ名と書込データとを指定する例を記載しているが、本発明においてはこれに限定されるものではなく、他の関数を用いて、例えば書込アドレスが連続したデータを書込先頭相対アドレスと、書込データバイト数と、書込データとをパラメータとして、各データを関連付けて一括で書き込むこともできる。   In this embodiment, an example in which the write data name and the write data are specified is described. However, the present invention is not limited to this, and other functions are used to write, for example, Data having consecutive addresses can be written in a lump by associating each data with the write head relative address, the number of write data bytes, and the write data as parameters.

図5の例において、データ書込関数14aは、データ管理テーブル12と構造体定義ファイル13とを読み込み、書込先頭アドレスを計算する(S11)。なお、S11の処理における計算例は、例えば「書込先頭アドレス=データ領域1先頭アドレス+書込データ名先頭アドレス+(相対値−1)×データ名バイト数」のような式を用いて算出することがきるが、本発明においてはこれに限定されるものではない。   In the example of FIG. 5, the data write function 14a reads the data management table 12 and the structure definition file 13 and calculates the write start address (S11). The calculation example in the process of S11 is calculated using an expression such as “write head address = data area 1 head address + write data name head address + (relative value−1) × number of data name bytes”. However, the present invention is not limited to this.

次に、データ書込関数14aは、パラメータのデータを構造体定義ファイル13のデータ名に対応するバイト数分書き込む(S12)。例えば、整数型の場合には、2バイト書き込まれる。   Next, the data write function 14a writes parameter data for the number of bytes corresponding to the data name of the structure definition file 13 (S12). For example, in the case of an integer type, 2 bytes are written.

次に、データ書込関数14aは、データ管理テーブル12から「データ領域2」の先頭アドレスを読み込み、構造体定義ファイル13から書込先頭アドレスを計算する(S13)。S13の処理における計算は、例えば上述したS11における処理の計算に対してデータ領域先頭アドレスが変わるのみであり、具体的には、「書込先頭アドレス=データ領域2先頭アドレス+書込データ名先頭アドレス+(相対値−1)×データ名バイト数」のような式を用いて算出することができるが、本発明においてはこれに限定されるものではない。   Next, the data write function 14a reads the start address of “data area 2” from the data management table 12, and calculates the write start address from the structure definition file 13 (S13). The calculation in the process of S13, for example, only changes the data area start address with respect to the calculation of the process in S11 described above. Specifically, “write start address = data area 2 start address + write data name start” Although it can be calculated using an expression such as “address + (relative value−1) × number of data name bytes”, the present invention is not limited to this.

次に、データ書込関数14aは、書込データに例えば16進数ffffのEOR演算を付加し(S14)、その付加したデータ(反転データ)を対応するデータ型のバイト数で書き込む(S15)。そのとき書き込むアドレスは、上述したS13の処理で計算したアドレスに書き込む。   Next, the data write function 14a adds, for example, an EOR operation of hexadecimal number ffff to the write data (S14), and writes the added data (inverted data) with the number of bytes of the corresponding data type (S15). The address to be written at that time is written to the address calculated in the process of S13 described above.

次に、データ書込関数14aは、データ管理テーブル12から「データ領域3」の先頭アドレスを読み込み、構造体定義ファイル13から書込先頭アドレスを計算する(S16)。なお、ここでの計算は、例えば上述したS01の処理での計算と同様にデータ領域先頭アドレスが変わるのみである。具体的には、「書込先頭アドレス=データ領域3先頭アドレス+書込データ名先頭アドレス+(相対値−1)×データ名バイト数」のような式を用いて算出することができるが、本発明においてはこれに限定されるものではない。   Next, the data write function 14a reads the start address of “data area 3” from the data management table 12, and calculates the write start address from the structure definition file 13 (S16). Note that the calculation here only changes the data area head address, for example, as in the above-described calculation in S01. Specifically, it can be calculated using an expression such as “write start address = data area 3 start address + write data name start address + (relative value−1) × number of data name bytes”. The present invention is not limited to this.

次に、データ書込関数14aは、書込データに例えば所定のパターンである16進数aaaaのEOR演算を付加し(S17)、その付加したデータ(パターンデータ)をS16の処理にて計算されたアドレスから対応するデータ型のバイト数で書き込む(S18)。上述した処理により、図6に示すように、先頭相対アドレスからa[3]の領域に整数型2バイト×40のデータが書き込まれる。   Next, the data write function 14a adds, for example, an EOR operation of hexadecimal number aaaa which is a predetermined pattern to the write data (S17), and the added data (pattern data) is calculated in the process of S16. Write in the number of bytes of the corresponding data type from the address (S18). As a result of the processing described above, as shown in FIG. 6, integer type 2 bytes × 40 data is written in the area a [3] from the head relative address.

<データ管理テーブル12について>
ここで、上述したデータ管理テーブル12の具体例について図を用いて説明する。図7は、データ管理テーブルの一例を示す図である。図7に示すデータ管理テーブルは、項目として、例えば「番号」、「名称」等を有しているが、本発明においてはこれに限定されるものではない。
<About the data management table 12>
Here, a specific example of the data management table 12 will be described with reference to the drawings. FIG. 7 is a diagram illustrating an example of the data management table. The data management table shown in FIG. 7 has, for example, “number”, “name” and the like as items, but the present invention is not limited to this.

データ管理テーブル12は、メモリ11内に設定された複数のデータ領域が「番号」で識別され、各番号毎に、データ書込関数14a及びデータ読込関数14b内で使用されるメモリ11内の各データ領域の先頭アドレスが格納される。なお、先頭アドレスが変わる場合には、対象のデータ領域のアドレスが更新される。   In the data management table 12, a plurality of data areas set in the memory 11 are identified by “numbers”, and each number in the memory 11 used in the data write function 14a and the data read function 14b is used for each number. Stores the start address of the data area. When the head address changes, the address of the target data area is updated.

<構造体定義ファイル13について>
次に、上述した構造体定義ファイル13の具体例について図を用いて説明する。図8は、構造体定義ファイルの一例を示す図である。なお、図8(a)は、構造体定義データ21を示し、図8(b)は、図8(a)の構造体定義データ21から得られる構造体定義ファイル13を示し、図8(c)は、メモリ割り付けの一例を示している。
<About structure definition file 13>
Next, a specific example of the structure definition file 13 will be described with reference to the drawings. FIG. 8 is a diagram illustrating an example of a structure definition file. 8A shows the structure definition data 21, FIG. 8B shows the structure definition file 13 obtained from the structure definition data 21 of FIG. 8A, and FIG. ) Shows an example of memory allocation.

図8(a)に示す構造体定義データ21は、例えばC言語を使用する場合の構造体定義データ21の例を示している。ここで、「char」は文字型であり1文字1バイトで構成されている。また、「int」は、整数型であり1データ2バイトで構成されている。また「long」は、倍長整数型であり1データ4バイトで構成されている。また、「double」は、倍精度実数型であり1データ8バイトで構成されている。   The structure definition data 21 shown in FIG. 8A shows an example of the structure definition data 21 when the C language is used, for example. Here, “char” is a character type and is composed of one character and one byte. “Int” is an integer type and is composed of 1 data and 2 bytes. “Long” is a long integer type and is composed of 4 bytes of 1 data. “Double” is a double-precision real number type and is composed of 8 bytes per data.

なお、各型(例えば、整数型等)のデータ名は、複数設定することもできる。また、[n]は、データ領域がnデータ分であることを示している。   A plurality of data names of each type (for example, integer type) can be set. [N] indicates that the data area is for n data.

図8(b)に示す構造体定義ファイル13は、図1に示すデータ書込関数14a及びデータ読込関数14bの何れか、又は、両方の関数からアクセスできる共通領域に配置され、例えば「データ名」、「当該データ名のバイト数」、「当該データ名の先頭の相対アドレス」等を管理する。なお、図8(b)に示す構造体定義ファイル13の項目としては、例えば「データ名」、「バイト数」、「先頭相対アドレス」等があるが、本発明においてはこれに限定されるものではない。   The structure definition file 13 shown in FIG. 8B is arranged in a common area that can be accessed from either or both of the data write function 14a and the data read function 14b shown in FIG. "," Number of bytes of the data name "," the relative address of the head of the data name ", and the like. The items in the structure definition file 13 shown in FIG. 8B include, for example, “data name”, “number of bytes”, “start relative address”, etc., but the present invention is not limited to this. is not.

本実施形態では、図8(a)に示す構造体定義データ21の入力し、各データをテーブルに変換して、図8(b)に示す構造体定義ファイル13が構築される。   In the present embodiment, the structure definition data 21 shown in FIG. 8A is input, each data is converted into a table, and the structure definition file 13 shown in FIG. 8B is constructed.

図8(c)では、構造体定義ファイル13をメモリ11へ割り付けした例を示している。ここで、上述した図1の例では、メモリ11内のデータ領域は3つあるため、同じ領域割り付けがメモリ11内の3か所に所定の形式(例えば、文字型、整数型、倍長整数型、倍精度実数型等のデータタイプやデータタイプに対応するバイト数等)で設定される。   FIG. 8C shows an example in which the structure definition file 13 is allocated to the memory 11. Here, in the example of FIG. 1 described above, since there are three data areas in the memory 11, the same area allocation is in a predetermined format (for example, character type, integer type, long integer) in three places in the memory 11. Data type such as type, double precision real number type, and the number of bytes corresponding to the data type).

<データ読込関数14bの処理手順>
次に、上述したデータ読込関数14bの処理手順例についてフローチャートを用いて説明する。図9は、データ読込関数の処理手順の一例を示すフローチャートである。
<Processing procedure of data read function 14b>
Next, an example of a processing procedure of the above-described data reading function 14b will be described using a flowchart. FIG. 9 is a flowchart illustrating an example of the processing procedure of the data reading function.

ここで、本実施形態におけるデータ読込関数14bのパラメータは、読込データ名と読込レジスタ名である。また、関数値は、例えば「正常」、「異常」、「データ修復」の3種類である。以下の説明では、関数の記述例として、「rinf=rsdat(b[5],x)」の場合を示す。これは、読込データ名が、上述した図8で定義したように倍長整数型bの5番目(相対値)、読込データ格納領域がxであることを示す。また、rinfは関数値であるが、本実施形態におけるデータ読込関数14bでは使用しない。   Here, the parameters of the data read function 14b in this embodiment are a read data name and a read register name. Further, there are three types of function values, for example, “normal”, “abnormal”, and “data repair”. In the following description, as a function description example, a case of “rinf = rsdat (b [5], x)” is shown. This indicates that the read data name is the fifth (relative value) of the long integer type b as defined in FIG. 8 and the read data storage area is x. Also, rinf is a function value, but is not used in the data read function 14b in the present embodiment.

なお、本実施形態では、読込データ名と読込レジスタ名とを指定する例を記載しているが、本発明においてはこれに限定されるものではなく、他の関数を用いて、例えば読込アドレスが連続したデータを読込先頭相対アドレスと、読込データバイト数と、読込データ領域とをパラメータとして、各データを関連付けて一括して読み込むこともできる。   In the present embodiment, an example of specifying a read data name and a read register name is described. However, the present invention is not limited to this. For example, a read address is set using another function. Consecutive data can also be read in a batch by associating each data with the read head relative address, the number of read data bytes, and the read data area as parameters.

図9の例において、データ読込関数14bは、データ管理テーブル12と構造体定義ファイル13とを読み込み、データ領域1、2、3の読込先頭アドレスを計算する(S21)。なお、S21の処理における計算例は、例えば「読込先頭アドレス1=データ領域1先頭アドレス+読込データ名先頭アドレス+(相対値−1)×データ名バイト数」、「読込先頭アドレス2=データ領域2先頭アドレス+読込データ名先頭アドレス+(相対値−1)×データ名バイト数」、「読込先頭アドレス3=データ領域3先頭アドレス+読込データ名先頭アドレス+(相対値−1)×データ名バイト数」のような式を用いて算出することができるが、本発明においてはこれに限定されるものではない。   In the example of FIG. 9, the data read function 14b reads the data management table 12 and the structure definition file 13, and calculates the read start addresses of the data areas 1, 2, and 3 (S21). The calculation example in the process of S21 is, for example, “read start address 1 = data area 1 start address + read data name start address + (relative value−1) × number of data name bytes”, “read start address 2 = data area” “2 start address + read data name start address + (relative value−1) × data name byte count”, “read start address 3 = data area 3 start address + read data name start address + (relative value−1) × data name Although it can be calculated using an expression such as “number of bytes”, the present invention is not limited to this.

次に、データ読込関数14bは、読込アドレス1,2,3から、各データ領域に書き込まれているデータを所定の読込データバイト数で読み込む(S22)。このときのそれぞれの読込データを、便宜上データ1,2,3とする。次に、データ読込関数14bは、データ2を16進数ffff、データ3を所定のパターンデータ(16進数aaaa)でEOR演算する(S23)。このときのそれぞれのデータを、便宜上データa,データbとする。具体的には、例えば「データa=“データ2” EOR “16進数ffff”」、「データb=“データ3” EOR “16進数aaaa”」の演算を行う。上述の処理は、データ書込関数14aにより、データ領域2(データ2)には正データに対して16進数ffffを付加した反転データが書き込まれ、データ領域3(データ3)には正データに対して16進数aaaaを付加したパターンデータが書き込まれているため、これらのデータを付加前のデータに戻すために、同一の付加データを用いてEOR演算を行う。   Next, the data read function 14b reads the data written in each data area from the read addresses 1, 2, and 3 with a predetermined number of read data bytes (S22). Each read data at this time is referred to as data 1, 2, 3 for convenience. Next, the data read function 14b performs an EOR operation on the data 2 with the hexadecimal number ffff and the data 3 with the predetermined pattern data (hexadecimal number aaa) (S23). Each data at this time is referred to as data a and data b for convenience. Specifically, for example, “data a =“ data 2 ”EOR“ hexadecimal number ffff ”” and “data b =“ data 3 ”EOR“ hexadecimal number aaa ”” are performed. In the above process, the data write function 14a writes the inverted data obtained by adding the hexadecimal number ffff to the positive data in the data area 2 (data 2), and converts the positive data into the data area 3 (data 3). On the other hand, since the pattern data to which the hexadecimal number aaaa is added is written, in order to return these data to the data before the addition, the EOR operation is performed using the same additional data.

なお、上述したデータ書込関数14aで付加データをEOR演算以外の演算手法で付加した場合、データ読込関数14bは、その付加データの内容や演算手法等に対応させて、データ2及びデータ3が付加前のデータに戻るような付加データや演算手法を用いて処理が行われる。   When the additional data is added by the above-described data writing function 14a by an arithmetic method other than the EOR operation, the data reading function 14b is configured so that the data 2 and the data 3 correspond to the contents of the additional data, the arithmetic method, and the like. Processing is performed using additional data or a calculation method that returns to the data before the addition.

次に、データ読込関数14bは、データ1と、データa,bとを照合し、データの一致を確認する(S24)。ここで、3つのデータが一致しているか否かを判断し(S25)、一致していない場合(S25において、NO)、次に、2つのデータが一致しているか否かを判断する(S26)。   Next, the data reading function 14b collates the data 1 with the data a and b, and confirms the coincidence of data (S24). Here, it is determined whether or not the three data match (S25). If they do not match (NO in S25), it is next determined whether or not the two data match (S26). ).

ここで、データ読込関数14bは、2つのデータが一致している場合(S26において、YES)、当該一致データを読込データの正常データとする(S27)。   Here, when the two data match (YES in S26), the data reading function 14b sets the matching data as normal data of the read data (S27).

次に、データ読込関数14bは、正常データを不一致データのアドレスに書き込む(S28)。ここで、例えばキャシュメモリを使用している場合には、キャッシュメモリのみが更新されるため、キャッシュメモリをスルーして、不一致データのアドレスに書き込むようにする。つまり、上述したキャッシュメモリをスルーするとは、例えばキャッシュメモリとメモリ11内の所定のデータ領域の両方に正常データを書き込むことを意味する。   Next, the data read function 14b writes the normal data to the address of the mismatch data (S28). Here, for example, when a cache memory is used, only the cache memory is updated, so that the cache memory is passed through and written to the address of the mismatched data. That is, to pass through the above-described cache memory means, for example, that normal data is written to both the cache memory and a predetermined data area in the memory 11.

次に、データ読込関数14bは、当該書込データのアドレスからデータを読み込む(S29)。なお、この場合にもキャシュメモリをスルーする。ここで、上述したキャッシュメモリをスルーするとは、例えばキャッシュメモリからではなく、メモリ11内の所定のデータ領域からデータを読み込むことを意味する。   Next, the data read function 14b reads data from the address of the write data (S29). In this case, the cache memory is also passed. Here, “through the cache memory” means that, for example, data is read from a predetermined data area in the memory 11 instead of from the cache memory.

次に、書込データと読込データとが一致しているか否かを判断し(S30)、一致している場合(S30において、YES)、メモリデータが修復されたと判断し、発生したエラーはソフトエラーと判断する。その後、データ読込関数14bは、関数値に「データ修復」を設定し(S31)、関数の処理を終了する。   Next, it is determined whether or not the write data and the read data match (S30). If they match (YES in S30), it is determined that the memory data has been repaired, and the error that has occurred is soft. Judged as an error. Thereafter, the data reading function 14b sets “data repair” as the function value (S31), and ends the function processing.

また、データ読込関数14bは、S30の処理において、書込データと読込データとが一致していない場合(S30において、NO)、S28におけるリライト処理でもデータが修復しないため、ハードエラーと判断し、関数値に「異常」を設定し(S32)、関数を終了する。なお、データ読込関数14bは、S26の処理において、2つのデータが一致していない場合(S26において、NO)、3つ全てのデータが一致していないことになるため、エラーと判断し、関数値に「異常」を設定する(S32)。   Further, if the write data and the read data do not match in the process of S30 (NO in S30), the data read function 14b determines that the data is not restored even in the rewrite process in S28, so that it is a hard error. “Abnormal” is set as the function value (S32), and the function is terminated. Note that the data read function 14b determines that an error occurs because all three pieces of data do not match if the two pieces of data do not match in the processing of S26 (NO in S26). The value “abnormal” is set (S32).

また、データ読込関数14bは、上述したS25の処理において、3つのデータが一致する場合(S25において、YES)、関数値に「正常終了」を設定し、データ1を正常データとし(S33)、関数の処理を終了する。   The data reading function 14b sets “normal end” to the function value when the three data match in the processing of S25 described above (YES in S25), and sets the data 1 as normal data (S33). Ends function processing.

<照合処理手順>
次に、上述した照合処理手順の一例についてフローチャートを用いて説明する。図10は、照合処理手順の一例を示すフローチャートである。図10に示す照合処理は、例えばある診断修復装置10(CPU)での一連の処理シーケンスが完了した時点で起動する。したがって、一定周期の起動で一連の処理シーケンスを行うシステムでは、同様に一定周期で照合処理が起動する。
<Verification processing procedure>
Next, an example of the above-described collation processing procedure will be described using a flowchart. FIG. 10 is a flowchart illustrating an example of the collation processing procedure. The collation processing shown in FIG. 10 is started when a series of processing sequences in a certain diagnostic / repair device 10 (CPU) is completed, for example. Therefore, in a system that performs a series of processing sequences with a fixed period of activation, the matching process is similarly activated with a constant period of time.

ここで、以下の説明では、照合先CPUをCPU1とし、照合元CPUをCPU2とし、各照合データファイルには、所定のアプリケーション処理を実施した今回分と前回分の処理結果(今回データ、前回データ)が存在するものとする。   Here, in the following description, the collation destination CPU is CPU1, the collation source CPU is CPU2, and each collation data file includes processing results (current data, previous data) for the current time and the previous time when predetermined application processing is performed. ) Exist.

また、本実施形態において、例えば照合元CPU(CPU2)でデータ修復をした場合には、照合先CPU(CPU1)へ当該処理番号と照合処理データとを送信し、照合を依頼する。また、本実施形態において、例えば照合先CPU(CPU1)が照合失敗と判断した場合には、照合元CPU(CPU2)で所定の異常処理を行う。   In the present embodiment, for example, when data is restored by the collation source CPU (CPU 2), the process number and the collation processing data are transmitted to the collation destination CPU (CPU 1) to request collation. In this embodiment, for example, when the collation destination CPU (CPU 1) determines that the collation has failed, the collation source CPU (CPU 2) performs a predetermined abnormality process.

また、本実施形態において、照合先CPU(CPU1)は、照合元CPU(CPU2)から照合データ(データ修復をした処理番号と照合処理データ)を受信し、その受信した照合データから所定の照合処理を行い、照合成功/照合失敗を照合元CPU(CPU2)に送信する。この場合、照合先CPU(CPU1)は、正常であるため、異常処理は行わない。   Further, in the present embodiment, the collation destination CPU (CPU 1) receives the collation data (process number and collation processing data after data restoration) from the collation source CPU (CPU 2), and performs a predetermined collation process from the received collation data. The verification success / failure is transmitted to the verification source CPU (CPU 2). In this case, since the collation destination CPU (CPU1) is normal, the abnormality process is not performed.

ここで、CPU1とCPU2とは、互いに照合先と照合元とになり得るため、照合元と照合先との両方のCPUにて照合処理が行われることになる。なお、本実施形態では、これに限定されるものではなく、例えば予め設定したCPUのみで照合処理を行ってもよい。以下の説明では、照合元と照合先との両方の機能を持つ照合処理手順について説明する。   Here, since the CPU 1 and the CPU 2 can be a collation destination and a collation source, the collation processing is performed by both the collation source and the collation destination CPU. In the present embodiment, the present invention is not limited to this. For example, the collation process may be performed only by a preset CPU. In the following description, a collation processing procedure having both functions of a collation source and a collation destination will be described.

まず、照合処理は、照合送信データを作成する(S41)。具体的には、例えば照合データファイル15のデータ修復ありのアプリケーション処理番号と当該アプリケーション処理番号の照合処理データとで照合先のCPUへ送信する伝文(照合データ)を作成する。   First, collation processing creates collation transmission data (S41). Specifically, for example, a message (collation data) to be transmitted to the collation destination CPU is created using the application process number with data restoration of the collation data file 15 and the collation process data of the application process number.

次に、照合処理は、照合先のCPUへ照合データを送信する(S42)。なお、メモリの修復がない場合には、アプリケーション処理番号を0とし、照合処理データを空欄として送信する。なお、本実施形態では、アプリケーション処理番号が0の場合に、照合処理データを送信しなくてもよい。   Next, the collation process transmits the collation data to the collation destination CPU (S42). If the memory is not restored, the application process number is set to 0 and the verification process data is transmitted as a blank. In this embodiment, when the application process number is 0, the collation process data need not be transmitted.

次に、照合処理は、照合元のCPUから照合データを受信する(S43)。なお、受信した伝文(照合データ)の構成は、送信した伝文と同じく、例えば照合データファイルのデータ修復ありのアプリケーション処理番号及び照合処理データであり、データ修復がない場合にはアプリケーション処理番号が0である。   Next, the collation process receives collation data from the CPU as a collation source (S43). The structure of the received message (collation data) is, for example, the application process number and collation process data with data restoration of the collation data file, and the application process number when there is no data restoration, as with the transmitted message. Is 0.

ここで、照合処理は、照合元での修復なし、すなわち処理番号が0(処理番号=0)であるか否かを判断する(S44)。照合処理は、処理番号が0でない場合(S44において、NO)、照合データファイル15の今回データの処理番号及び当該処理番号の照合処理データに、受信したアプリケーション処理番号及び照合処理データと一致するものがあるか否かを判断する(S45)。照合処理は、一致するものがない場合(S45において、NO)、照合データファイル15の前回データの処理番号及び当該処理番号の照合処理データに、受信したアプリケーション処理番号及び照合処理データが一致するものがあるか否かを判断する(S46)。   Here, the collation process determines whether there is no restoration at the collation source, that is, whether the process number is 0 (process number = 0) (S44). When the process number is not 0 (NO in S44), the collation process matches the received application process number and collation process data with the process number of the current data in the collation data file 15 and the collation process data of the process number. It is determined whether or not there is (S45). When there is no match in the collation process (NO in S45), the received application process number and collation process data match the process number of the previous data in the collation data file 15 and the collation process data of the process number. It is determined whether or not there is (S46).

ここで、照合処理は、一致するものがある場合(S46において、YES)、S44の処理において処理番号=0である場合(S44において、YES)、又はS45の処理において、照合処理データが一致する場合(S45において、YES)、照合成功を照合元CPUへ送信する(S47)。また、照合処理は、S46の処理において、一致しない場合(S46において、NO)、照合失敗を照合先CPUへ送信する(S48)。   Here, in the collation process, if there is a match (YES in S46), the process number = 0 in the process of S44 (YES in S44), or the collation process data matches in the process of S45. In the case (YES in S45), the verification success is transmitted to the verification source CPU (S47). Further, in the collation process, if they do not match in the process of S46 (NO in S46), a collation failure is transmitted to the collation destination CPU (S48).

次に、照合処理は、照合結果として照合成功又は照合失敗のデータを照合先から受信し(S49)、受信データとの照合が失敗であるか否かを判断する(S50)。ここで、照合失敗である場合(S50において、YES)、その旨をユーザ等に通知する所定の異常処理を行う(S51)。異常処理では、メモリ修復の検証が不成功となったため、当該状況に対応して予め設定された異常処理を行う。また、照合処理は、照合が成功した場合(S50において、NO)、照合処理を終了する。   Next, the collation processing receives collation success or collation data as a collation result from the collation destination (S49), and determines whether collation with the received data is unsuccessful (S50). Here, when collation is unsuccessful (YES in S50), predetermined abnormality processing for notifying the user or the like is performed (S51). In the abnormal process, since the verification of the memory repair is unsuccessful, the abnormal process set in advance corresponding to the situation is performed. Further, the collation process ends when the collation is successful (NO in S50).

<照合の具体例と照合データファイル15について>
次に、本実施形態における照合の具体例と照合データファイル15の具体例について図を用いて説明する。図11は、照合先の処理が先行している場合の照合処理を説明するための図である。また、図12は、照合先の処理が遅行している場合の照合処理を説明するための図である。また、図13は、照合データファイルの一例を示す図である。
<About specific examples of verification and verification data file 15>
Next, a specific example of collation and a specific example of the collation data file 15 in the present embodiment will be described with reference to the drawings. FIG. 11 is a diagram for explaining the collation process when the collation destination process precedes. FIG. 12 is a diagram for explaining the collation process when the collation destination process is delayed. FIG. 13 is a diagram illustrating an example of a collation data file.

ここで、図11及び図12は、時間軸における各処理の通信タイムチャートを示しており、例えば、「処理番号1→処理番号2→処理番号3→照合処理」を1つのサイクルとして、照合元CPU(CPU2)で2回(A1,A2)及び照合先CPU(CPU1)で2回(B1,B2)の処理が、同期と取りながら繰り返し処理を行っている。また、図11及び図12では、一例として「(a)処理番号2の入力に変化がない場合」と、「(b)処理番号2の入力に変化がある場合」とを示している。   Here, FIG. 11 and FIG. 12 show communication time charts of the respective processes on the time axis. For example, “processing number 1 → processing number 2 → processing number 3 → matching processing” is set as one cycle, and the matching source The processing twice (A1, A2) by the CPU (CPU2) and twice (B1, B2) by the collation destination CPU (CPU1) are repeatedly performed while taking synchronization. 11 and 12 show, as an example, “(a) when there is no change in the input of process number 2” and “(b) when there is a change in the input of process number 2”.

また、図13に示す照合データファイル15は、複数の照合データの履歴情報が蓄積されている。例えば、図13(a)では、今回データを示し、図13(b)は、前回データを示しているが、本発明においてはこれに限定されるものではなく、更に過去のデータを蓄積しておいてもよい。また、今回データと前回データとの違いは、単に処理回数の違いに限定されるものではなく、例えば上述したダイバース化による処理の違い等も含む。図11及び図12の例では、A1,B1が前回データ(図13(b))に対応し、A2,B2が今回データ(図13(a))に対応する。   Further, the collation data file 15 shown in FIG. 13 stores history information of a plurality of collation data. For example, FIG. 13 (a) shows the current data and FIG. 13 (b) shows the previous data. However, the present invention is not limited to this, and the past data is further accumulated. It may be left. Further, the difference between the current data and the previous data is not limited to the difference in the number of processings, but includes, for example, the difference in processing due to the above-described diversification. In the example of FIGS. 11 and 12, A1 and B1 correspond to the previous data (FIG. 13B), and A2 and B2 correspond to the current data (FIG. 13A).

図13に示す照合データファイル15の項目としては、例えば「処理番号」、「照合処理データ」、「データ修復」等があるが、本発明においてはこれに限定されるものではない。例えば、図13(a)に示す今回データは、照合先CPU(CPU1)の最新のデータを格納する。また、処理番号は、CPUのアプリケーション処理単位に一意に付加した番号である。同一処理番号では、CPU1とCPU2とが同じデータを入力し、処理結果となるようにアプリケーション処理として所定の処理を実行させる。このとき、上述したダイバース化によるアプリケーション処理を行ってもよい。   The items of the collation data file 15 shown in FIG. 13 include, for example, “processing number”, “collation processing data”, “data restoration”, but the present invention is not limited to this. For example, the latest data shown in FIG. 13A stores the latest data of the collation destination CPU (CPU1). The processing number is a number uniquely added to the CPU application processing unit. In the same process number, CPU 1 and CPU 2 input the same data, and a predetermined process is executed as an application process so that a process result is obtained. At this time, you may perform the application process by diversification mentioned above.

また、照合データファイル15には、各アプリケーション処理の時系列の順番に処理番号を格納する。照合処理データは、当該処理番号のアプリケーション処理の処理結果を格納する。したがって、例えば、処理番号2において「1+2=3」の演算処理(所定のアプリケーション処理プログラム)を行った場合には、処理番号2の照合処理データは3となる。また、照合データファイル15の「データ修復」の項目には、当該処理をするためのメモリデータでデータ修復が発生したか否かの有無を格納する。   In the collation data file 15, process numbers are stored in the time series order of each application process. The collation process data stores the process result of the application process with the process number. Therefore, for example, when the calculation process (predetermined application process program) of “1 + 2 = 3” is performed in process number 2, the collation process data of process number 2 is 3. Further, the item “data repair” of the verification data file 15 stores whether or not data repair has occurred in the memory data for the processing.

また、図13(b)に示す前回データは、照合先CPU(CPU1)で一連の処理シーケンスが完了し、上述した図10に示すような照合処理が完了した時点で図13(a)に示す今回データをコピーしたものである。この時点で図10(a)の今回データの領域は初期化される。ここで、処理番号は、照合先CPU(CPU1)と照合元CPU(CPU2)とで周期的に同一処理をしているため、両方のCPUとも同じ番号が周期的に繰り返される。   The previous data shown in FIG. 13 (b) is shown in FIG. 13 (a) when a series of processing sequences are completed at the collation destination CPU (CPU 1) and the collation processing as shown in FIG. 10 is completed. This is a copy of the data. At this point, the current data area in FIG. 10A is initialized. Here, since the same processing is periodically performed by the collation target CPU (CPU1) and the collation source CPU (CPU2), the same number is periodically repeated for both CPUs.

次に、照合の具体例について説明する。図11及び図12に示すCPU1及びCPU2は、上述した診断修復装置10の機能を有し、互いに照合先にも照合元にもなり得る。ここで、照合先CPU(CPU1)と照合元CPU(CPU2)とは、時間管理手段18を設けてお互いの処理タイミングを同期させていたとしても各CPUの負荷や処理性能等の影響により完全に同期を取ることは困難である。そのため、本実施形態では、例えば照合先CPU(CPU1)が照合元CPU(CPU2)より先行している場合と遅行している場合とでそれぞれの処理を行う。   Next, a specific example of collation will be described. The CPU 1 and the CPU 2 shown in FIG. 11 and FIG. 12 have the function of the diagnostic repair apparatus 10 described above, and can be both a collation destination and a collation source. Here, even if the collation target CPU (CPU1) and the collation source CPU (CPU2) are provided with the time management means 18 and synchronize their processing timings, they are completely affected by the influence of the load and processing performance of each CPU. It is difficult to synchronize. For this reason, in this embodiment, for example, the respective processing is performed when the collation destination CPU (CPU1) is ahead of the collation source CPU (CPU2) and when it is delayed.

まず、図11に示すように、照合先CPU(CPU1)が照合元CPU(CPU2)より先行し、A1で処理番号2のメモリ修復があったとしても、メモリ修復により処理番号2の内容に変化がない場合(図11の(a))、照合先CPU(CPU1)のB2における照合処理では、処理番号2についての入力の変化がないため、A1の照合受信データとB2の今回データとが一致する。   First, as shown in FIG. 11, even if the collation target CPU (CPU 1) precedes the collation source CPU (CPU 2) and the memory of process number 2 is restored in A1, the contents of process number 2 are changed by memory restoration. If there is no data ((a) in FIG. 11), in the collation processing in B2 of the collation destination CPU (CPU1), there is no change in the input for the processing number 2, so the collation reception data of A1 and the current data of B2 match. To do.

また、A1で処理番号2のメモリ修復があった後に処理番号2の入力変化がある場合(図11の(b))、照合先CPU(CPU1)のB2における照合処理では、処理番号2の入力データに変化があるため、A1の照合受信データと、CPU1の今回データ(B2)とは一致しない。この場合、本実施形態では、A1の照合受信データと、CPU1の前回データ(B1)とを比較する。そして、図11(b)の例では、その場合にお互いのデータが一致する。このように、本実施形態では、照合処理に対して前の履歴情報(例えば、前回データ等)を利用することで、今回データ同士(1回)の照合エラーで直ちにシステムを終了させることなく、拡張した照合処理を実現することができる。これにより、本実施形態では、データ処理の安全性及び継続性を向上させたリアルタイムな診断修復処理を実現することができる。   If there is an input change of process number 2 after the memory repair of process number 2 in A1 (FIG. 11 (b)), input of process number 2 is performed in the collation process at B2 of the collation destination CPU (CPU1). Since there is a change in data, the verification reception data of A1 and the current data (B2) of CPU1 do not match. In this case, in this embodiment, the collation reception data of A1 is compared with the previous data (B1) of CPU1. In the example of FIG. 11B, in this case, the data matches each other. Thus, in this embodiment, by using the previous history information (for example, previous data) for the collation process, the system is not immediately terminated with a collation error between the current data (one time), Extended verification processing can be realized. Thereby, in this embodiment, the real-time diagnostic repair process which improved the safety | security and continuity of data processing is realizable.

また、図12に示すように、照合先CPU(CPU1)が照合元CPU(CPU2)より遅行している場合において、A2の処理番号2のメモリ修復があったとしても、メモリ修復により処理番号2に変化がない場合(図12(a))でも、A2の照合受信データと、CPU1の今回データ(B2)とが一致する。   In addition, as shown in FIG. 12, when the collation destination CPU (CPU1) is behind the collation source CPU (CPU2), even if the memory restoration of process number 2 of A2 is performed, the process number 2 is performed by memory restoration. Even when there is no change (FIG. 12A), the collation reception data of A2 and the current data (B2) of the CPU 1 match.

また、A2で処理番号2のメモリ修復があった後に処理番号2の入力変化がある場合(図12(b))、A2の処理番号2では、入力後にメモリ修復が行われて、処理番号2の内容が修復されているため、A2の照合受信データと、CPU1の今回データ(B2)とが一致する。つまり、図12の例において、メモリ修復成功の場合には、処理番号2の照合処理データは、今回データと一致することになる。   Further, when there is an input change of process number 2 after the memory repair of process number 2 in A2 (FIG. 12B), in process number 2 of A2, memory repair is performed after the input and process number 2 Therefore, the collation received data of A2 and the current data (B2) of the CPU 1 match. That is, in the example of FIG. 12, when the memory repair is successful, the collation processing data with the process number 2 matches the current data.

なお、上述した本実施形態では、3つのデータ領域に対して照合処理を行い、二重化したCPU(診断修復装置10)を用いて処理を行っているが、本発明においてはこれに限定されるものではなく、CPUを三重以上に多重化し、多重化したものについてそれぞれ照合処理を行って、多数決処理等により異常の有無を診断するようにしてもよい。   In the above-described embodiment, the collation process is performed on the three data areas, and the process is performed using the duplicated CPU (diagnostic repair device 10). However, the present invention is not limited to this. Instead, the CPUs may be multiplexed more than three times, each of the multiplexed ones may be collated, and the presence / absence of abnormality may be diagnosed by majority processing or the like.

上述したように本発明によれば、メモリを用いたデータ処理の安全性及び継続性を向上させることができる。具体的には、本発明は、RAM等のメモリに対するソフトエラーを診断・検出し、読み込みデータの修復とメモリ内のデータを修復する。   As described above, according to the present invention, the safety and continuity of data processing using a memory can be improved. Specifically, the present invention diagnoses and detects a soft error in a memory such as a RAM, repairs read data, and repairs data in the memory.

また、本発明では、照合が一致しない場合に、当該タイミングで予め所定の形式で書き込んだデータを読み込み、それらを多数決で修復データを判定し、読み込みデータを修復すると共に、メモリに再書き込みをすることでソフトエラーを解消する。   Further, in the present invention, when the collation does not match, the data written in a predetermined format at the timing is read, the repair data is determined by majority decision, the read data is repaired, and the memory is rewritten. To eliminate soft errors.

したがって、本発明によれば、ECCハードウェアが必要なく、低コストでソフトエラーの検出及び修復をすることができる。また、本発明では、実際に所定の処理を行うタイミングでリアルタイムにソフトエラーの検出及び修復ができ、所定の処理に正しいデータを使用することができる。また、本発明では、ECCで対応できない複数ビットのエラー検出と修復を行うことができる。   Therefore, according to the present invention, ECC hardware is not required, and soft errors can be detected and repaired at low cost. Further, according to the present invention, soft errors can be detected and repaired in real time at the timing when the predetermined processing is actually performed, and correct data can be used for the predetermined processing. Further, according to the present invention, it is possible to perform error detection and repair of a plurality of bits that cannot be handled by ECC.

また、本発明では、修復後のアプリケーション処理結果を多重化システム間で照合することで、メモリデータに余分なチェックサム等の追加処理をすることなくソフトエラー修復の検証をすることができ、リアルタイムにデータ書込み、読込みが可能となる。また、本発明では、修復後のアプリケーション処理結果を多重化システム間で照合することで、メモリのソフトエラーと同時に発生したメモリ以外のCPUやレジスタ等のソフトエラーを検出することができる。   Further, in the present invention, the result of application processing after repair is collated between multiplexed systems, so that soft error repair can be verified without additional processing such as an extra checksum in the memory data. Data can be written and read. Further, according to the present invention, by comparing the application processing result after the repair between the multiplexing systems, it is possible to detect a soft error such as a CPU or a register other than the memory that occurs simultaneously with the memory soft error.

また、本発明では、二重系以上の多重化システムにより修復データの正確性を照合により検証することができる。更に、本発明では、照合処理に対して、履歴情報(例えば、前回データ等)を利用することで、今回データ同士の照合エラーで直ちにシステムを終了させることなく、拡張した照合処理を実現することができる。これにより、本発明では、データ処理の安全性及び継続性を向上させたリアルタイムな診断修復処理を実現することができる。   In the present invention, the accuracy of the repair data can be verified by collation using a duplex system or more multiplexing system. Furthermore, in the present invention, by using history information (for example, previous data) for the collation process, an extended collation process is realized without immediately terminating the system due to a collation error between the current data. Can do. Thereby, in this invention, the real-time diagnostic repair process which improved the safety | security and continuity of data processing is realizable.

また、本発明では、照合もアプリケーション処理単位で行うことにより、多重化システム間で同一のアプリケーション処理を行う必要がなく、多重化システム間のアプリケーション処理のダイバーシティを確保することができる。したがって、本発明では、ソフトエラーに対するロバスト性が向上し、システムの安全性と可用性とを向上させることができる。   Further, according to the present invention, since collation is also performed in units of application processing, it is not necessary to perform the same application processing between multiplexed systems, and diversity of application processing between multiplexed systems can be ensured. Therefore, in the present invention, robustness against soft errors is improved, and the safety and availability of the system can be improved.

以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。   The preferred embodiments of the present invention have been described in detail above, but the present invention is not limited to such specific embodiments, and various modifications, within the scope of the gist of the present invention described in the claims, It can be changed.

10 診断修復装置
11 メモリ(記憶手段)
12 データ管理テーブル
13 構造体定義ファイル
14 処理プログラム実行手段
15 照合データファイル
16 照合処理手段
17 通信手段
18 時間管理手段
21 構造体定義データ
31 入力装置
32 出力装置
33 ドライブ装置
34 補助記憶装置
35 メモリ装置
36 CPU(Central Processing Unit)
37 ネットワーク接続装置
38 記録媒体
10 Diagnosis Repair Device 11 Memory (Storage Unit)
DESCRIPTION OF SYMBOLS 12 Data management table 13 Structure definition file 14 Processing program execution means 15 Collation data file 16 Collation processing means 17 Communication means 18 Time management means 21 Structure definition data 31 Input device 32 Output device 33 Drive device 34 Auxiliary storage device 35 Memory device 36 CPU (Central Processing Unit)
37 Network connection device 38 Recording medium

Claims (11)

予め設定されたアプリケーションによる処理を実行し、実行された処理結果を比較してデータの診断及び修復を行う診断修復装置において、
所定のデータを3以上の複数のデータ領域に記憶する記憶手段と、
前記所定のデータを前記3以上の複数のデータ領域に異なる形式で書き込み、前記アプリケーションの実行時に前記3以上の複数のデータ領域にそれぞれ書き込んだデータを読み込んで照合し、照合の結果が不一致であった場合に所定の修復を行い、修復後のデータを用いて前記アプリケーションを実行する処理プログラム実行手段と、
前記アプリケーションを実行した結果と、少なくとも1つの他の診断修復装置で前記アプリケーションを実行した結果とを照合する照合処理手段とを有することを特徴とする診断修復装置。
In a diagnostic and repair device that executes processing by a preset application and compares the executed processing results to diagnose and repair data,
Storage means for storing predetermined data in three or more data areas;
The predetermined data is written in the three or more data areas in different formats, the data written in the three or more data areas is read and collated when the application is executed, and the collation result is inconsistent. Processing program execution means for performing a predetermined repair in the case of running and executing the application using the repaired data;
A diagnostic repair apparatus comprising: a collation processing unit configured to collate a result of executing the application with a result of executing the application by at least one other diagnostic repair apparatus.
前記記憶手段は、
前記異なる形式として、入力されたデータ、前記データの反転データ、及び前記データと所定のパターンとの論理演算により得られるパターンデータのうち、少なくとも2つの形式を前記3以上の複数のデータ領域に書き込むことを特徴とする請求項1に記載の診断修復装置。
The storage means
As the different formats, at least two formats among the input data, the inverted data of the data, and the pattern data obtained by a logical operation of the data and a predetermined pattern are written in the three or more data areas. The diagnostic repair device according to claim 1.
前記処理プログラム実行手段は、
前記所定の修復処理として、読み出した3以上の複数のデータの多数決判定により正常データを決定し、決定された正常データを前記データ領域に書き込むことを特徴とする請求項1又は2に記載の診断修復装置。
The processing program execution means includes
3. The diagnosis according to claim 1, wherein as the predetermined restoration process, normal data is determined by a majority decision of a plurality of three or more read data, and the determined normal data is written to the data area. Repair device.
前記照合処理手段は、
前記アプリケーションを実行した結果と、前記アプリケーションを実行するタイミングに同期させて前記他の診断修復装置で前記アプリケーションを実行した結果とを照合し、照合が不一致であった場合に、前記アプリケーションを前回実行して得られた結果を用いて照合を行うことを特徴とする請求項1乃至3の何れか1項に記載の診断修復装置。
The verification processing means includes
The result of executing the application is compared with the result of executing the application in the other diagnostic repair device in synchronization with the execution timing of the application, and if the verification does not match, the application is executed last time The diagnostic repair apparatus according to claim 1, wherein collation is performed using the result obtained in this manner.
前記プログラム実行手段は、所定のダイバース診断手法により設定された条件で前記アプリケーションを複数回実行し、
前記照合処理手段は、前記複数回実行された結果に基づいて照合を行うことを特徴とする請求項1乃至4の何れか1項に記載の診断修復装置。
The program execution means executes the application a plurality of times under conditions set by a predetermined diversity diagnosis technique,
The diagnostic repair apparatus according to any one of claims 1 to 4, wherein the verification processing unit performs verification based on the result of the plurality of executions.
予め設定されたアプリケーションによる処理を実行し、実行された処理結果を比較してデータの診断及び修復を行う診断修復方法において、
所定のデータを記憶手段の3以上の複数のデータ領域に記憶する記憶ステップと、
前記所定のデータを前記3以上の複数のデータ領域に異なる形式で書き込み、前記アプリケーションの実行時に前記3以上の複数のデータ領域にそれぞれ書き込んだデータを読み込んで照合し、照合の結果が不一致であった場合に所定の修復を行い、修復後のデータを用いて前記アプリケーションを実行する処理プログラム実行ステップと、
前記アプリケーションを実行した結果と、少なくとも1つの他の診断修復方法で前記アプリケーションを実行した結果とを照合する照合処理ステップとを有することを特徴とする診断修復方法。
In a diagnosis and repair method for executing processing by a preset application and comparing and executing data processing and performing data diagnosis and repair,
A storage step of storing predetermined data in three or more data areas of the storage means;
The predetermined data is written in the three or more data areas in different formats, the data written in the three or more data areas is read and collated when the application is executed, and the collation result is inconsistent. A processing program execution step for performing a predetermined repair in the case of performing the application using the repaired data;
A diagnostic repair method comprising: a collation processing step of collating a result of executing the application with a result of executing the application by at least one other diagnostic repair method.
前記記憶ステップは、
前記異なる形式として、入力されたデータ、前記データの反転データ、及び前記データと所定のパターンとの論理演算により得られるパターンデータのうち、少なくとも2つの形式を前記3以上の複数のデータ領域に書き込むことを特徴とする請求項6に記載の診断修復方法。
The storing step includes
As the different formats, at least two formats among the input data, the inverted data of the data, and the pattern data obtained by a logical operation of the data and a predetermined pattern are written in the three or more data areas. The diagnostic repair method according to claim 6.
前記処理プログラム実行ステップは、
前記所定の修復処理として、読み出した3以上の複数のデータの多数決判定により正常データを決定し、決定された正常データを前記データ領域に書き込むことを特徴とする請求項6又は7に記載の診断修復方法。
The processing program execution step includes:
8. The diagnosis according to claim 6, wherein normal data is determined by majority determination of a plurality of three or more read data as the predetermined restoration process, and the determined normal data is written in the data area. Repair method.
前記照合処理ステップは、
前記アプリケーションを実行した結果と、前記アプリケーションを実行するタイミングに同期させて前記他の診断修復方法で前記アプリケーションを実行した結果とを照合し、照合が不一致であった場合に、前記アプリケーションを前回実行して得られた結果を用いて照合を行うことを特徴とする請求項6乃至8の何れか1項に記載の診断修復方法。
The matching processing step includes
The result of executing the application is collated with the result of executing the application by the other diagnostic repair method in synchronization with the timing of executing the application, and when the collation does not match, the application is executed last time. The diagnostic repair method according to any one of claims 6 to 8, wherein collation is performed using a result obtained in this manner.
前記プログラム実行ステップは、所定のダイバース診断手法により設定された条件で前記アプリケーションを複数回実行し、
前記照合処理ステップは、前記複数回実行された結果に基づいて照合を行うことを特徴とする請求項6乃至9の何れか1項に記載の診断修復方法。
In the program execution step, the application is executed a plurality of times under conditions set by a predetermined diversity diagnosis technique,
10. The diagnosis and repair method according to claim 6, wherein the collation processing step performs collation based on the result executed a plurality of times.
コンピュータを、
請求項1乃至5の何れか1項に記載の診断修復装置が有する各手段として機能させるための診断修復プログラム。
Computer
A diagnostic / repair program for causing the diagnostic / repair apparatus according to any one of claims 1 to 5 to function as each unit.
JP2011253301A 2011-11-18 2011-11-18 Device, method and program for diagnosis and restoration Pending JP2013109532A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011253301A JP2013109532A (en) 2011-11-18 2011-11-18 Device, method and program for diagnosis and restoration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011253301A JP2013109532A (en) 2011-11-18 2011-11-18 Device, method and program for diagnosis and restoration

Publications (1)

Publication Number Publication Date
JP2013109532A true JP2013109532A (en) 2013-06-06

Family

ID=48706226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011253301A Pending JP2013109532A (en) 2011-11-18 2011-11-18 Device, method and program for diagnosis and restoration

Country Status (1)

Country Link
JP (1) JP2013109532A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015032860A (en) * 2013-07-31 2015-02-16 日本電気株式会社 Data correction circuit and data correction method
JP2017111463A (en) * 2015-12-14 2017-06-22 ルネサスエレクトロニクス株式会社 Semiconductor device, functional safety system, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015032860A (en) * 2013-07-31 2015-02-16 日本電気株式会社 Data correction circuit and data correction method
JP2017111463A (en) * 2015-12-14 2017-06-22 ルネサスエレクトロニクス株式会社 Semiconductor device, functional safety system, and program
US10303542B2 (en) 2015-12-14 2019-05-28 Renesas Electronics Corporation Semiconductor device, functional safety system and program

Similar Documents

Publication Publication Date Title
EP2722760B1 (en) Semiconductor device
US8856595B2 (en) Method for verifying an application program in a failsafe programmable logic controller, and programmable logic controller for performing the method
US20130262938A1 (en) Method for providing a value for determining whether an error has occurred in the execution of a program
CN1971536A (en) Correcting system and method of basic in-out system
JP5315748B2 (en) Microprocessor, signature generation method, multiplexed system, and multiplexed execution verification method
CN107193249B (en) Program development support device and program development support method
US20080052494A1 (en) Method And Device For Operand Processing In A Processing Unit
KR101425704B1 (en) Poison bit error checking code scheme
US10585772B2 (en) Power supply diagnostic strategy
JP2013109532A (en) Device, method and program for diagnosis and restoration
EP3955112A1 (en) Method and apparatus for memory error detection
JP2001290710A (en) Device for detecting data error
US8352817B2 (en) Method for testing a memory device, as well as a control device having means for testing a memory
JP5213061B2 (en) Mirroring control device, mirroring control circuit, mirroring control method and program thereof
US20210011717A1 (en) Verified Stack Trace Generation And Accelerated Stack-Based Analysis With Shadow Stacks
WO2021038923A1 (en) Control device, execution control method for user program, and system program
JP2005092695A (en) Duplication controller, and method for determining equalization mode thereof
US20230153231A1 (en) Method and computing environment for creating and applying a test algorithm for computational processes
US11880573B2 (en) Disk array device, disk array control device, and disk array control method
US8145953B2 (en) Programmable unit
CN105452985B (en) Power supply diagnostic strategy
JP6275098B2 (en) Control device and register failure recovery method
CN116931824A (en) Method for running memory unit and executing application program in computer-aided mode
US7661056B2 (en) Circuit arrangement for processing data
CN117687833A (en) Method, device and storage medium for testing data security