JPH0340048A - Memory error processing system - Google Patents
Memory error processing systemInfo
- Publication number
- JPH0340048A JPH0340048A JP1056943A JP5694389A JPH0340048A JP H0340048 A JPH0340048 A JP H0340048A JP 1056943 A JP1056943 A JP 1056943A JP 5694389 A JP5694389 A JP 5694389A JP H0340048 A JPH0340048 A JP H0340048A
- Authority
- JP
- Japan
- Prior art keywords
- program
- checksum
- check sum
- memory
- stored
- 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
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
【発明の詳細な説明】
〔概 要コ
ECC回路を有さないテータプロセッサゾステムにkい
て、
プログラムの正当性を検査する手段を提供することを目
的とし、
同一内容のプログラムをメモリ上の複数箇所に記憶して
おき、且つ、各プログラムをメモリ上に記憶する際に各
プログラム毎にそのチェックサムを計算して記憶して3
くチェックサムテーブルを設け、あるプログラムを起動
するときに、その時点で当該プログラムのチェックサム
會計算し、前記チェックサムテーブルに記憶しておいた
当該プログラムのチェックサム値と比較し、一致してい
ることを確認した後に当該プログラムを起動するように
する。[Detailed Description of the Invention] [Summary] The purpose of this invention is to provide a means for checking the validity of a program in a data processor system that does not have a core ECC circuit, and to store multiple programs with the same content in memory. In addition, when each program is stored in memory, the checksum is calculated and stored for each program.
A checksum table is provided, and when a program is started, the checksum of the program is calculated at that time, and the checksum value of the program is compared with the checksum value of the program stored in the checksum table. After confirming that the program is running, start the program.
本発明は、ハードウェア的にメモリエラーを認識出来な
い型のプロセッサ応用システムにhける信頼性設計に関
する。The present invention relates to reliability design for a type of processor application system in which memory errors cannot be recognized by hardware.
近年の宇宙用マイクロプロセッザ応用ゾスナム等のシス
テムでは、低い消費電力でかつ軽量のシステムが要求さ
れている。このため、ECC回路を持たないシステムが
考えられるが、ECC回路に相当する信頼性設計を行う
必要がある。In recent years, space microprocessor application systems such as Zosnam require low power consumption and lightweight systems. For this reason, a system without an ECC circuit is conceivable, but it is necessary to perform a reliability design equivalent to an ECC circuit.
従来の主記憶回路に訟いては、1ビット反転エラーを自
動修復したり、2ビノトエラーを認識したりする為にE
CC回路を組み込んでいる。一方、宇宙用マイクロブa
セッサ応用システム等ノように低消費電力、軽量化を望
まれる分野では、低消費電力、軽量化のためECC回路
を付加しない方法が検討されてきた。In conventional main memory circuits, E is used to automatically repair 1-bit inversion errors and recognize 2-bit errors.
It incorporates a CC circuit. On the other hand, space microbe a
In fields where low power consumption and weight reduction are desired, such as processor application systems, methods without adding an ECC circuit have been studied in order to reduce power consumption and weight.
ところが、宇宙用マイクロプロセッサ応用システムの例
では、宇宙線の影響により、ビット反転が起こる為、ビ
ット反転等のメモリエラーを無視出来ず、主記憶回路に
ECC回路を付加する方法が選択されている。However, in the example of a space microprocessor application system, bit inversion occurs due to the influence of cosmic rays, so memory errors such as bit inversion cannot be ignored, and a method of adding an ECC circuit to the main memory circuit is selected. .
本発明は、ECC回路を付加しない場合IC1−いても
、ソフトウェアによってメモリエラー金認識し、システ
ムの信頼性を同上させる事を目的とする。The present invention aims to improve the reliability of the system by recognizing memory errors by software even if the IC1- is not added with an ECC circuit.
本発明では、第1図に示す如く、同一内容のプログラム
Pをメモリ1上の複数箇所に記憶しておき、且つ、各プ
ログラムをメモリ上に記憶する際に各プログラム毎にそ
のチェックサムC8f、計算して記憶してむくチェック
サムテーブル2を設け、あるプログラムPi起動すると
きに、その時点で当該プログラムのチェックサムを計算
し、前記チェックサムテーブル21C記憶しておいた当
該プログラムのチェックサム値と比較し、一致している
ことを確認した後に当該プログラムを起動するようにし
、一致しない場合には、他の箇所に記憶されている同一
プログラムについて同様にチェックサムの計算および比
較を行うようにしたこと金時徴とする。In the present invention, as shown in FIG. 1, programs P with the same content are stored in multiple locations on the memory 1, and when each program is stored on the memory, its checksum C8f, A checksum table 2 is provided to calculate and store the checksum table 2, and when a program Pi is started, the checksum of the program is calculated at that time, and the checksum value of the program stored in the checksum table 21C is calculated. After confirming that they match, the program is started, and if they do not match, the checksum of the same program stored elsewhere is calculated and compared in the same way. What he did was a credit to Kim Ji Chong.
上記のごとくにすることにより、メモリ上の各データや
命令にECC1付力口し、ECC回路で検査することを
しなくても、起動すべきプログラムの正当性を検査して
から起動することが可能となシ、処理時間はかかるもの
の実用上充分の信頼性をECC回路なしで保証できる。By doing the above, it is possible to check the validity of the program to be started before starting it, without applying ECC1 to each data and instruction on the memory and checking it with the ECC circuit. If possible, although it takes a long processing time, it is possible to guarantee sufficient reliability for practical use without an ECC circuit.
現在実行中のプログラムは、これから制御分わたそうと
するプログラムに、メモリエラーカ発生していないかを
チェックサムを用いて検査し、メモリエラーの発生して
いないプログラムに対して制御をわたす手法である。This method uses a checksum to check whether the currently running program has a memory error in the program to which it is about to transfer control, and then transfers control to the program with no memory errors. be.
主制御装置と主記憶装置のある仮想システムで、本発明
を説明する。The present invention will be described using a virtual system with a main controller and a main memory.
仮想するソフトウニアンステムは、第2図に示す様なモ
ジ−−ル構造をして訃り、重要なモジュ−ル1クメモリ
エラー時のりトライの為、同じものが重複して格納され
る。本仮想システムの場合、主フログラム、サブプログ
ラム人、及びBがそれぞれ3本づつ独立して個別の領域
に格納される。The virtual software system has a module structure as shown in FIG. 2, and the same module is stored redundantly due to a retry when an important module 1 block memory error occurs. In the case of this virtual system, three main programs, three subprograms, and three B programs are independently stored in separate areas.
(第3図参照)
又、メモリレイアウト決定時に、各プログラム対応して
チェックサムテーブル2を作成して卦く。(See FIG. 3) Also, when determining the memory layout, a checksum table 2 is created for each program.
(第4図参照)
ここでチェックサムというのは、あるメモリ領域にある
データ(命令の場合も含む)の1.0のパターンをすべ
て加算または排他的OR演算した結果のパターンをいう
。あるいはその結果に特定の値(例えばそのプログラム
の名称など)を加算したものでもよい。したがって、宇
宙線によりエラーヲ生じる前と後では、チェックサムの
値(パターン)が異なる筈である。(See FIG. 4) Here, the checksum refers to a pattern resulting from addition or exclusive OR operation of all 1.0 patterns of data (including instructions) in a certain memory area. Alternatively, a specific value (for example, the name of the program) may be added to the result. Therefore, the checksum value (pattern) should be different before and after the error occurs due to cosmic rays.
第4図のようなチェックサムテーブル2が谷プログラム
毎に設けられ、各テーブルにはプログラム名であるID
21と、プログラム長(ワード数又はバイト数)22と
、プログラムの先頭アドレス23と、その全ワード/バ
イトの排他的OR結果であるチェックサム24とを含ん
でいる。プログラムIDは同一のプログラムについては
同一の値であり、例えばプログラムA1.、A2 A
rcは全て同一のIDが付く。A checksum table 2 as shown in Figure 4 is provided for each valley program, and each table has an ID that is the program name.
21, a program length (number of words or number of bytes) 22, a start address 23 of the program, and a checksum 24 which is the exclusive OR result of all the words/bytes. The program ID has the same value for the same program, for example, program A1. , A2 A
All rcs have the same ID.
仮りに王プログラムからサブプログラムAiコールする
場合を考えて与たい(第5図の流れ図参照)。オす、チ
ェックサムテーブルよりザブプログラムkをサーチする
。むそらく、サブプログラムA1のチェックサムテーブ
ルが見付かるだろう。Let's consider a case where subprogram Ai is called from the king program (see the flowchart in Figure 5). Then, search for subprogram k from the checksum table. Most likely, the checksum table for subprogram A1 will be found.
この時、チェックサムが計算値と一致したならば、主プ
ログラムはサブプログラムA1に制御をわたせば良い。At this time, if the checksum matches the calculated value, the main program may transfer control to the subprogram A1.
もし、サブプログラムAIKメモリエラーカ発生し7て
いれば、チェックサムは計算値と一致しないだろう。こ
の場合は、再びチェックサムテーブルをサーチする。そ
してサブプログラムA2(i7発見するだろう。この様
に計算値と、チェックサムが一致するまで、この課程を
繰り返す。もし、チェックサムテーブル上に目的のモジ
ュールが見っからなければ、あきらめて、エラー処理を
行う。If a subprogram AIK memory error occurs, the checksum will not match the calculated value. In this case, the checksum table is searched again. Then, subprogram A2 (i7 will be found. In this way, repeat this process until the calculated value and the checksum match. If the target module is not found on the checksum table, give up and Perform error handling.
第5区の流れ図では、目的のモジ−−ルはサブルーチン
形式だが、場合によっては呼び出し元に復帰しない事も
ある。In the flowchart in Section 5, the target module is in the form of a subroutine, but in some cases it may not return to the caller.
本発明では上述の如く、モジュールの実行前にメモリエ
ラーのチエツクをするようにし、メモリエラーがあると
、モジュールの実行を行なわない様にしている。In the present invention, as described above, memory errors are checked before a module is executed, and if a memory error occurs, the module is not executed.
従って、メモリエラーが発生しても、プログラム上で認
識出来るため、暴走等重大な障害を未然に防止する事が
出来る。Therefore, even if a memory error occurs, it can be recognized on the program, making it possible to prevent serious problems such as runaway.
以上、説明した様に、本発明によれば、ECC回路を持
たないシステムにおいてもメモリエラーに耐久性のある
システムが構威し、連続稼動時間を長くし、そしてメモ
リエラーを局所化する事が出来、システムの信頼性同上
に寄与するところが大きい。As explained above, according to the present invention, even in a system without an ECC circuit, a system that is resistant to memory errors can be created, the continuous operation time can be extended, and memory errors can be localized. This greatly contributes to the reliability of the system.
第1図は本発明の原理図、
第2図は仮想システムのプログラムモジュール構造図、
第3図は仮想システムのメモリエラー、第4図は仮想シ
ステムのチェックサムテーブル上
仕様図である第四図は仮想システムにかける本発明の一
実施例70−チャートである。
図中、1はメモリ、2はチェックサムテーブルである。Figure 1 is a diagram of the principle of the present invention, Figure 2 is a diagram of the program module structure of the virtual system, Figure 3 is a memory error in the virtual system, and Figure 4 is a diagram of the specifications on the checksum table of the virtual system. 70 is a chart of an embodiment of the present invention applied to a virtual system. In the figure, 1 is a memory and 2 is a checksum table.
Claims (1)
おき、 且つ、各プログラムをメモリ上に記憶する際に各プログ
ラム毎にそのチェックサムを計算して記憶しておくチェ
ックサムテーブルを設け、 あるプログラムを起動するときに、その時点で当該プロ
グラムのチェックサムを計算し、前記チェックサムテー
ブルに記憶しておいた当該プログラムのチェックサム値
と比較し、一致していることを確認した後に当該プログ
ラムを起動するようにし、 一致しない場合には、他の箇所に記憶されている同一プ
ログラムについて同様にチェックサムの計算および比較
を行うようにしたことを特徴とするメモリエラーの処理
方式。[Claims] A check that stores programs with the same content in multiple locations on a memory, and calculates and stores a checksum for each program when storing each program on the memory. A sum table is provided, and when a program is started, the checksum of the program is calculated at that time, and the checksum value of the program is compared with the checksum value of the program stored in the checksum table. The program is started after checking the program, and if they do not match, the checksums of the same program stored in other locations are similarly calculated and compared. Processing method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1056943A JPH0340048A (en) | 1989-03-09 | 1989-03-09 | Memory error processing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1056943A JPH0340048A (en) | 1989-03-09 | 1989-03-09 | Memory error processing system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0340048A true JPH0340048A (en) | 1991-02-20 |
Family
ID=13041628
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1056943A Pending JPH0340048A (en) | 1989-03-09 | 1989-03-09 | Memory error processing system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0340048A (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04289940A (en) * | 1991-03-18 | 1992-10-14 | Fujitsu Ltd | Data management method |
| JPH05334196A (en) * | 1991-09-30 | 1993-12-17 | Oki Electric Ind Co Ltd | Memory management system for memory multiplexing system |
| JPH08305638A (en) * | 1995-05-01 | 1996-11-22 | Nec Corp | Rom data check method |
| WO2022102385A1 (en) * | 2020-11-12 | 2022-05-19 | 株式会社オートネットワーク技術研究所 | On-vehicle ecu, program, and information processing method |
-
1989
- 1989-03-09 JP JP1056943A patent/JPH0340048A/en active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04289940A (en) * | 1991-03-18 | 1992-10-14 | Fujitsu Ltd | Data management method |
| JPH05334196A (en) * | 1991-09-30 | 1993-12-17 | Oki Electric Ind Co Ltd | Memory management system for memory multiplexing system |
| JPH08305638A (en) * | 1995-05-01 | 1996-11-22 | Nec Corp | Rom data check method |
| WO2022102385A1 (en) * | 2020-11-12 | 2022-05-19 | 株式会社オートネットワーク技術研究所 | On-vehicle ecu, program, and information processing method |
| JP2022077803A (en) * | 2020-11-12 | 2022-05-24 | 株式会社オートネットワーク技術研究所 | On-vehicle ecu, program, and information processing method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2370899B1 (en) | Poison bit error checking code scheme | |
| US6971041B2 (en) | Cache entry error-correcting code (ECC) based at least on cache entry data and memory address | |
| CN103077095B (en) | Error correction method and device for stored data and computer system | |
| CN101114218A (en) | A Depth-First Exception Handling Method in Complex Instruction Set Architecture | |
| US11409608B2 (en) | Providing host-based error detection capabilities in a remote execution device | |
| JP4434548B2 (en) | Method for deallocating multiple processor cores for L2 correctable errors | |
| EP1241560A2 (en) | Using task description blocks to maintain information regarding operations | |
| US10241860B2 (en) | Method of executing data scrubbing inside a smart storage device | |
| JPH044616B2 (en) | ||
| CN117149507A (en) | Vehicle ECU data updating and checking method and device | |
| JPH0340048A (en) | Memory error processing system | |
| US7539851B2 (en) | Using register readiness to facilitate value prediction | |
| JPS5835295B2 (en) | Data transfer method in master-slave system | |
| CN1871582A (en) | Method and device for operand processing in a processor unit | |
| CN105117201A (en) | Method and apparatus for data processing | |
| KR20240093640A (en) | Data processing network for data processing | |
| US20020133745A1 (en) | Self-checking multi-threaded processor | |
| JP2001520415A (en) | Method and apparatus for optimizing instruction execution | |
| KR20220158639A (en) | Operation device of convolutional neural network, operation method of convolutional neural network and computer program stored in a recording medium to execute the method thereof | |
| US20100070951A1 (en) | Generic assembler | |
| CN115016993B (en) | Error cleaning method, device and computer equipment suitable for heterogeneous redundancy | |
| CN111061591A (en) | System and method for realizing data integrity check based on memory integrity check controller | |
| JPH06505820A (en) | How to create a program that is combined from multiple modules | |
| US10162728B2 (en) | Method and device for monitoring the execution of a program code | |
| TWI226997B (en) | System and method preventing exceptional execution of central processing unit and the computer readable storage medium |