JP5793379B2 - Information processing system, data error detection method, program, and storage medium - Google Patents

Information processing system, data error detection method, program, and storage medium Download PDF

Info

Publication number
JP5793379B2
JP5793379B2 JP2011200337A JP2011200337A JP5793379B2 JP 5793379 B2 JP5793379 B2 JP 5793379B2 JP 2011200337 A JP2011200337 A JP 2011200337A JP 2011200337 A JP2011200337 A JP 2011200337A JP 5793379 B2 JP5793379 B2 JP 5793379B2
Authority
JP
Japan
Prior art keywords
check value
data
monitoring target
target area
information
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.)
Expired - Fee Related
Application number
JP2011200337A
Other languages
Japanese (ja)
Other versions
JP2013061842A (en
Inventor
裕正 小原
裕正 小原
孝一 竹ノ内
孝一 竹ノ内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2011200337A priority Critical patent/JP5793379B2/en
Publication of JP2013061842A publication Critical patent/JP2013061842A/en
Application granted granted Critical
Publication of JP5793379B2 publication Critical patent/JP5793379B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)

Description

本発明の実施形態は、データを冗長化せずに情報記憶装置におけるビットエラーを検出する情報処理システム、データエラー検出方法、プログラム及び記憶媒体に関する。   Embodiments described herein relate generally to an information processing system, a data error detection method, a program, and a storage medium that detect a bit error in an information storage device without making data redundant.

コンピュータの主記憶装置や補助記憶装置等の情報記憶装置には、ビット化け等のデータエラーが発生する場合がある。データエラーを検出する方法としては、データに対するチェック値を算出する方法と、データを冗長化して整合性チェックを行う方法との大きく二つの方法がある。   A data error such as bit corruption may occur in an information storage device such as a main storage device or an auxiliary storage device of a computer. There are two main methods for detecting a data error: a method for calculating a check value for data and a method for performing consistency check by making data redundant.

前者はデータに対するチェックサムやCRCコード等のチェック値を算出してデータに付加し、その後に再びデータからチェック値を算出して両者を比較することによりデータの整合性をチェックする方法である。また、後者の例としては、エラー検出訂正システムを搭載したメモリ装置として、読み出しデータから求められたシンドロームに基づいて有限体要素間の積や和を計算する計算回路を備えてエラー位置探索を行うようにしたものがある(例えば、特許文献1参照)。   The former is a method of checking data consistency by calculating a check value such as a checksum or CRC code for data and adding it to the data, and then calculating a check value from the data again and comparing them. As an example of the latter, a memory device equipped with an error detection and correction system is equipped with a calculation circuit that calculates a product or sum between finite field elements based on a syndrome obtained from read data, and performs an error position search. There is something like that (see, for example, Patent Document 1).

(例えば、特許文献1参照)。 (For example, refer to Patent Document 1).

特開2010-108569号広報JP 2010-108569 A

しかし、データに対するチェック値を算出する方法の場合、チェック値算出中にデータを書き換えることができない。また、データを冗長化して整合性チェックを行う方法の場合は、データを書き換えながらデータの整合性のチェックができるが、データの冗長化が必要であるため、情報記憶装置の本来の記憶容量よりも少ない情報量しか記憶できず、単位情報を保存するのに要するハードウェアコストが冗長化しない場合に比べて高くなる。このように、従来はデータを冗長化せずにデータを書き換えながらデータエラーを検出することができなかった。   However, in the method of calculating the check value for data, the data cannot be rewritten during the check value calculation. In addition, in the case of the method of performing the consistency check by making the data redundant, it is possible to check the consistency of the data while rewriting the data. However, since the redundancy of the data is necessary, it is more than the original storage capacity of the information storage device. However, only a small amount of information can be stored, and the hardware cost required to store the unit information is higher than when no redundancy is provided. As described above, conventionally, a data error cannot be detected while rewriting data without making the data redundant.

本発明の実施形態では、データの冗長化を行わずにデータを書き換えながらデータエラーの検出を行うことができる情報処理システム、データエラー検出方法、プログラム及び記憶媒体を得ることである。   An embodiment of the present invention is to obtain an information processing system, a data error detection method, a program, and a storage medium that can detect a data error while rewriting data without making data redundant.

本発明の実施形態の情報処理システムは、エラー検出プログラム及びデータを格納した情報記憶装置と、エラー検出プログラムを演算実行する中央処理装置とを備える。中央処理装置は、情報記憶装置の中の監視対象領域にあるデータの整合性を確認するための第一チェック値を算出する第一チェック値算出手段と、第一チェック値を算出している途中で監視対象領域にあるデータを書き換える場合にその書き換えによる第一チェック値の変化を表す情報を作成する変化情報作成手段と、第一チェック値の算出が完了したときに第一チェック値及び変化情報作成手段により得られる第一チェック値の変化を表す情報から第二チェック値を繰り返し算出する第二チェック値算出手段と、第二チェック値算出手段で得られた第二チェック値とそれ以前に得られた第二チェック値とを比較することによりデータエラーを判定するデータエラー判定手段とを備える。   An information processing system according to an embodiment of the present invention includes an information storage device that stores an error detection program and data, and a central processing unit that calculates and executes the error detection program. The central processing unit calculates a first check value for calculating the first check value for confirming the consistency of data in the monitoring target area in the information storage device, and is calculating the first check value When the data in the monitoring target area is rewritten, the change information creating means for creating information indicating the change of the first check value due to the rewrite, and the first check value and the change information when the calculation of the first check value is completed Second check value calculation means for repeatedly calculating the second check value from the information representing the change in the first check value obtained by the creation means, the second check value obtained by the second check value calculation means, and the previous check value Data error determination means for determining a data error by comparing the second check value.

本発明の実施形態1に係る情報処理システムの構成図。1 is a configuration diagram of an information processing system according to a first embodiment of the present invention. 本発明の実施形態1のエラー検出プログラムを実行処理して実現されるデータエラー検出処理内容を示すフローチャート。5 is a flowchart showing the contents of data error detection processing realized by executing the error detection program according to the first embodiment of the present invention. 図2のデータエラー検出処理を実行した場合のデータの変化の一例の説明図。FIG. 3 is an explanatory diagram of an example of a change in data when the data error detection process of FIG. 2 is executed. 本発明の実施形態2に係る情報処理システムの構成図。The block diagram of the information processing system which concerns on Embodiment 2 of this invention. 図2に示したフローチャートにおいてチェック値算出のために使用した演算を一般化したデータエラー検出処理内容を示すフローチャート。The flowchart which shows the data error detection processing content which generalized the calculation used for the check value calculation in the flowchart shown in FIG. 本発明の実施形態3に係る情報処理システムの構成図。The block diagram of the information processing system which concerns on Embodiment 3 of this invention. 本発明の実施形態4に係る情報処理システムの構成図。The block diagram of the information processing system which concerns on Embodiment 4 of this invention. 本発明の実施形態4に係る情報処理システムの記憶媒体に格納されたエラー検出プログラムの構成図。The block diagram of the error detection program stored in the storage medium of the information processing system which concerns on Embodiment 4 of this invention.

(実施形態1)
本発明の実施形態1を説明する。図1は本発明の実施形態1に係る情報処理システムの構成図であり、図1(a)はハードウエア構成図、図1(b)は機能構成図である。本発明の実施形態1の情報処理システムは、中央処理装置1、主記憶装置2、情報伝送路3より構成される。主記憶装置2には監視対象領域21、エラー検出プログラム22が含まれる。そして、中央処理装置1においてエラー検出プログラムが演算実行されることにより、図1(b)に示す第一チェック値算出手段11、変化情報作成手段12、第二チェック値算出手段13、データエラー判定手段14の各種機能が実現される。
(Embodiment 1)
Embodiment 1 of the present invention will be described. FIG. 1 is a configuration diagram of an information processing system according to the first embodiment of the present invention. FIG. 1 (a) is a hardware configuration diagram, and FIG. 1 (b) is a functional configuration diagram. The information processing system according to the first embodiment of the present invention includes a central processing unit 1, a main storage device 2, and an information transmission path 3. The main storage device 2 includes a monitoring target area 21 and an error detection program 22. Then, when the error detection program is calculated and executed in the central processing unit 1, the first check value calculation means 11, the change information creation means 12, the second check value calculation means 13, and the data error determination shown in FIG. Various functions of the means 14 are realized.

第一チェック値算出手段11は、主記憶装置2の中の監視対象領域21にあるデータの整合性を確認するための第一チェック値を算出するものである。変化情報作成手段12は、第一チェック値を算出している途中で主記憶装置2の中の監視対象領域21にあるデータを書き換える場合に、その書き換えによる第一チェック値の変化を表す情報を作成するものである。   The first check value calculation unit 11 calculates a first check value for confirming the consistency of data in the monitoring target area 21 in the main storage device 2. When the change information creation means 12 rewrites the data in the monitoring target area 21 in the main storage device 2 while the first check value is being calculated, the change information creation means 12 displays information indicating a change in the first check value due to the rewrite. To create.

また、第二チェック値算出手段13は、第一チェック値の算出が完了したときに第一チェック値及び変化情報作成手段12により得られる第一チェック値の変化を表す情報から第二チェック値を繰り返し算出するものである。データエラー判定手段14は、第二チェック値算出手段13で得られた第二チェック値と、それ以前に得られた第二チェック値とを比較することにより、データエラーを判定するものである。   Further, the second check value calculation means 13 obtains the second check value from the first check value and the information indicating the change in the first check value obtained by the change information creation means 12 when the calculation of the first check value is completed. It is calculated repeatedly. The data error determination unit 14 determines a data error by comparing the second check value obtained by the second check value calculation unit 13 with the second check value obtained before that.

すなわち、中央処理装置1は、エラー検出プログラム22によってデータエラー検出処理を行い、監視対象領域21で発生するデータエラーを検出する。中央処理装置1と主記憶装置2との間の情報のやり取りは情報伝送路3を介して行われる。図2は実施形態1のエラー検出プログラム22を実行処理して実現されるデータエラー検出処理内容を示すフローチャートである。   That is, the central processing unit 1 performs a data error detection process by the error detection program 22 and detects a data error that occurs in the monitoring target area 21. Information is exchanged between the central processing unit 1 and the main storage device 2 via the information transmission path 3. FIG. 2 is a flowchart showing the contents of the data error detection process realized by executing the error detection program 22 of the first embodiment.

第一チェック値算出手段11は、図2のステップS101、ステップS102、ステップS106、ステップS107の処理を行う。変化情報作成手段12、図2のステップS103、ステップS104、ステップS105の処理を行う。第二チェック値算出手段13は、図2のステップS108、ステップS109、ステップS110の処理を行う。   The first check value calculation means 11 performs the processes of Step S101, Step S102, Step S106, and Step S107 in FIG. The change information creation unit 12 performs the processes of steps S103, S104, and S105 in FIG. The second check value calculation means 13 performs the processing of step S108, step S109, and step S110 in FIG.

ただし、ステップS110ではv−fの算出のみを行う。データエラー判定手段14は、図2のステップS110、ステップS111の処理を行う。ただし、ステップS110についてはステップS110により算出されたv−fの計算結果と第二チェック値cとの比較処理を行う。 However, in step S110, only v−f is calculated. The data error determination unit 14 performs the processing of step S110 and step S111 in FIG. However, in step S110, a comparison process between the v−f calculation result calculated in step S110 and the second check value c is performed.

まず、ステップS101では、第一チェック値v、前方変化値f、後方変化値rを0で初期化し、チェック値計算済みアドレスkをk0−1で初期化する。ここで、v、f、rは情報処理システム上ではビット列を保持する変数である。初期化に使用する0という値は、状態が0のビット列を表す。v、f、rの各変数のビット長は等しいものとする。また、チェック値計算済みアドレスkは初期値として監視対象領域21の先頭アドレスk0の一つ前のアドレスk0−1をとる。   First, in step S101, the first check value v, the forward change value f, and the backward change value r are initialized with 0, and the check value calculated address k is initialized with k0-1. Here, v, f, and r are variables that hold bit strings on the information processing system. A value of 0 used for initialization represents a bit string whose state is 0. Assume that the bit lengths of the variables v, f, and r are equal. The check value calculated address k takes the address k0-1 immediately before the head address k0 of the monitoring target area 21 as an initial value.

ステップS102では、監視対象領域21にデータを書き込むか否かを判定する。書き込む場合はステップS103に進み、そうでない場合はステップS106に進む。書き込む場合、書き込み先アドレスをa、書込む値をiとする。   In step S102, it is determined whether or not data is written to the monitoring target area 21. If it is written, the process proceeds to step S103. If not, the process proceeds to step S106. In the case of writing, a write destination address is a and a write value is i.

ステップS103では、書き込み先アドレスaがチェック値計算済みアドレスkよりも大きいか否かを判定する。aがkよりも大きい場合はステップS104に進み、そうでない場合はステップS105に進む。   In step S103, it is determined whether the write destination address a is larger than the check value calculated address k. If a is larger than k, the process proceeds to step S104, and if not, the process proceeds to step S105.

ステップS104では、前方変化値fにf+i−maの計算結果を格納する。ここで、maは主記憶装置2のアドレスaに格納されているデータを表す。また、演算子+は加算を、演算子−は減算を意味し、fが表現できる範囲を超えた場合は次に示す例を用いて丸め込むものとする。例えば、fが4bitの場合は10進数で0〜15までの値を表現できるが、f+i−maの計算結果が16以上になった場合は16割った余りをその計算結果とし、負数になった場合は正数になるまで16を加算して得られる値を計算結果とする。fに値を格納した後、maにiを書き込む。   In step S104, the calculation result of f + i−ma is stored in the forward change value f. Here, ma represents data stored at address a of the main storage device 2. The operator + means addition, the operator-means subtraction, and when f exceeds the range that can be expressed, it is rounded using the following example. For example, when f is 4 bits, a value from 0 to 15 can be expressed in decimal. However, when the calculation result of f + i-ma is 16 or more, the remainder is divided by 16 and the result is negative. In this case, a value obtained by adding 16 until a positive number is obtained is used as a calculation result. After storing the value in f, i is written in ma.

ステップS105では、rにr+i−maの計算結果を格納する。演算子+及び−の意味はステップS104の場合と同じである。rに値を格納した後、maにiを書込む。   In step S105, the calculation result of r + i−ma is stored in r. The meanings of the operators + and − are the same as those in step S104. After storing a value in r, i is written in ma.

ステップS106ではチェック値計算済みアドレスkにk+1を格納する。k+1はkが指しているアドレスの次のアドレスを意味する。そして、第一チェック値vにv+mkの計算結果を格納する。ここで、演算子+の意味はステップS104の場合と同じである。   In step S106, k + 1 is stored in the check value calculated address k. k + 1 means the next address after the address indicated by k. Then, the calculation result of v + mk is stored in the first check value v. Here, the meaning of the operator + is the same as that in step S104.

ステップS107ではチェック値計算済みアドレスkが終端アドレスlと等しいか否かを判定する。lは監視対象領域21の終端のアドレスを表す。kとlが等しい場合はステップS108に進み、そうでない場合はステップS102に進む。ステップS108では、第二チェック値cに有効な値が格納されているか否かを判定する。   In step S107, it is determined whether the check value calculated address k is equal to the end address l. l represents the end address of the monitoring target area 21. If k and l are equal, the process proceeds to step S108, and if not, the process proceeds to step S102. In step S108, it is determined whether a valid value is stored in the second check value c.

図2に示したフローチャートの処理を実行してから初めてステップS108を実行する場合は、第二チェック値cに有効な値が格納されていないと判定し、ステップS109に進む。そうでない場合はステップS110に進む。ただし、ステップS101を実行する時点で監視対象領域21の第二チェック値がわかっている場合、つまり、監視対象領域21の各アドレスに格納されているデータを演算子+により結び付けて演算した結果がわかっている場合は、その時点でcに第二チェック値を格納しておき、S108が実行される場合には初回か否かに関わらずcに有効な値が格納されていると判定し、ステップS110に進む。ステップS109では、cにv−fを、fにf+rを、vに0を、rに0を、kにk0−1を格納する処理を順に行う。演算子+及び−の意味はステップS104の場合と同じである。   When step S108 is executed for the first time after executing the processing of the flowchart shown in FIG. 2, it is determined that a valid value is not stored in the second check value c, and the process proceeds to step S109. Otherwise, the process proceeds to step S110. However, when the second check value of the monitoring target area 21 is known at the time of executing step S101, that is, the result obtained by connecting the data stored in each address of the monitoring target area 21 with the operator + is calculated. If it is known, the second check value is stored in c at that time, and if S108 is executed, it is determined that a valid value is stored in c regardless of whether it is the first time, Proceed to step S110. In step S109, the process of storing v−f in c, f + r in f, 0 in v, 0 in r, and k0−1 in k is sequentially performed. The meanings of the operators + and − are the same as those in step S104.

ステップS110ではv−fとcが等しいか否かを判定する。等しい場合はステップS111に進み、そうでない場合はデータエラー発生と判定する。演算子−の意味はステップS104の場合と同じである。ステップS111では、fにf+rを、vに0を、rに0を、kにk0−1を格納する処理を順に行う。演算子+の意味はステップS104の場合と同じである。   In step S110, it is determined whether v−f and c are equal. If equal, the process proceeds to step S111. Otherwise, it is determined that a data error has occurred. The meaning of the operator − is the same as that in step S104. In step S111, f + r is stored in f, 0 is stored in v, 0 is stored in r, and k0-1 is stored in k. The meaning of the operator + is the same as in step S104.

次に、図3は図2のデータエラー検出処理を実行した場合のデータの変化の一例の説明図である。図3に示した一例は、監視対象領域21が12bit、1アドレスあたりのビット数が4bitでv、f、r、k、cのビット長が4bitの例であり、それぞれの値は0〜Fの16進数で表されている。   Next, FIG. 3 is an explanatory diagram of an example of data change when the data error detection process of FIG. 2 is executed. The example shown in FIG. 3 is an example in which the monitoring target area 21 is 12 bits, the number of bits per address is 4 bits, and the bit lengths of v, f, r, k, and c are 4 bits. It is expressed by the hexadecimal number.

監視対象領域21の先頭アドレスk0は1であり、終端アドレスlは3である。監視対象領域21に格納されているデータの初期値は任意でよいが、ここでは、図3の(1)に示したとおりとする。処理は(1)から(16)まで順に行われ、処理内容と監視対象領域21の内容、及びv、f、r、k、cの演算結果をその右側に示している。また、L1はチェック値計算済みラインである。   The start address k0 of the monitoring target area 21 is 1, and the end address l is 3. The initial value of the data stored in the monitoring target area 21 may be arbitrary, but here it is as shown in (1) of FIG. The processing is performed in order from (1) to (16), and the processing content, the content of the monitoring target area 21, and the calculation results of v, f, r, k, c are shown on the right side. L1 is a check value calculated line.

(1)は処理開始時であり、図2のステップS101を実行する。その結果、v、f、r、kそれぞれに0が格納される。その後、処理はステップS102に進む。   (1) is at the start of processing, and step S101 in FIG. 2 is executed. As a result, 0 is stored in each of v, f, r, and k. Thereafter, the process proceeds to step S102.

(2)は監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOと判定した場合の処理であり、S106を実行する。その結果、kには1が格納され、vには4が格納される。その後、S107を実行する。kが1、lが3であるからS107の次はS102に進む。なお、チェック値計算済みラインL1は、チェック値算出の進捗を表すもので、チェック値計算済みアドレスkが指し示すアドレスとその次のアドレスの間に引かれるラインである。   (2) is a process when data in the monitoring target area 21 is not rewritten, that is, when it is determined NO in step S102, and S106 is executed. As a result, 1 is stored in k, and 4 is stored in v. Thereafter, S107 is executed. Since k is 1 and l is 3, the process proceeds to S102 after S107. The check value calculated line L1 indicates the progress of the check value calculation, and is a line drawn between the address indicated by the check value calculated address k and the next address.

(3)は監視対象領域21のデータを書き換える場合、つまり、ステップS102においてYESと判定した場合の処理であり、ステップS103を実行する。書込み先アドレスaが1、チェック値計算済みアドレスkが1であるからステップS103の次はステップS105に進む。ステップS105を実行すると、rには0+5−4=1が格納され、アドレス1の内容は5に書き換えられる。その後、ステップS102に進む。   (3) is processing when data in the monitoring target area 21 is rewritten, that is, when YES is determined in step S102, and step S103 is executed. Since the write destination address a is 1 and the check value calculated address k is 1, the process proceeds to step S105 after step S103. When step S105 is executed, 0 + 5-4 = 1 is stored in r, and the contents of address 1 are rewritten to 5. Thereafter, the process proceeds to step S102.

(4)は監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOに進んだ場合の処理であり、(2)の場合と同様の処理を行う。その結果、kには2が格納され、vには0が格納される。その後、ステップS102に進む。   (4) is a process when the data in the monitoring target area 21 is not rewritten, that is, when the process proceeds to NO in step S102, and the same process as in (2) is performed. As a result, 2 is stored in k, and 0 is stored in v. Thereafter, the process proceeds to step S102.

(5)は監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOと判定した場合の処理であり、ステップS107までは(2)と同様の処理を行う。その結果、kには3が格納され、vには3が格納される。ステップS107では、kとlとが共に3であるため等しいと判定し、ステップS108に進む。ステップS108では、第二チェック値cに有効な第二チェック値が格納されているか否かを判定する。図3の(1)の処理を開始してからcには何も格納していないため、cに有効な第二チェック値が格納されていないと判定し、ステップS109に進む。   (5) is a process when the data of the monitoring target area 21 is not rewritten, that is, when it is determined NO in step S102, and the same process as (2) is performed until step S107. As a result, 3 is stored in k, and 3 is stored in v. In step S107, since k and l are both 3, they are determined to be equal, and the process proceeds to step S108. In step S108, it is determined whether or not a valid second check value is stored in the second check value c. Since nothing has been stored in c since the processing of (1) in FIG. 3 is started, it is determined that a valid second check value is not stored in c, and the process proceeds to step S109.

(6)は、ステップS109を実行した結果であり、cには3−0=3が、fには0+1=1がv、r、kには0が順に格納される。その後、ステップS102に進む。   (6) is a result of executing step S109, in which 3-0 = 3 is stored in c, 0 + 1 = 1 is stored in f, 0 is stored in order in r, and k. Thereafter, the process proceeds to step S102.

(7)は、監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOと判定した場合の処理であり、(2)の場合と同じ処理を行う。その結果、kには1が格納され、vには5が格納される。   (7) is a process when the data in the monitoring target area 21 is not rewritten, that is, when it is determined NO in step S102, and the same process as in (2) is performed. As a result, 1 is stored in k and 5 is stored in v.

(8)は、監視対象領域21のデータを書き換える場合、つまり、ステップS102においてYESと判定した場合の処理であり、ステップS103を実行する。書込み先アドレスaが3、チェック値計算済みアドレスkが1であるからステップS103の次はステップS104に進む。ステップS104を実行すると、fには1+B−3=9が格納され、アドレス3の内容はBに書き換えられる。その後、ステップS102に進む。   (8) is a process when data in the monitoring target area 21 is rewritten, that is, when YES is determined in step S102, and step S103 is executed. Since the write destination address a is 3 and the check value calculated address k is 1, the process proceeds to step S104 after step S103. When step S104 is executed, 1 + B−3 = 9 is stored in f, and the contents of address 3 are rewritten to B. Thereafter, the process proceeds to step S102.

(9)は、監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOと判定した場合の処理であり、(2)の場合と同様の処理を行う。その結果、kには2が格納され、vには1が格納される。   (9) is a process when the data of the monitoring target area 21 is not rewritten, that is, when it is determined NO in step S102, and the same process as in the case of (2) is performed. As a result, 2 is stored in k, and 1 is stored in v.

(10)は、監視対象領域21のデータを書き換える場合、つまり、ステップS102においてYESと判定した場合の処理であり、(3)の場合と同様の処理を行う。その結果、rには8が格納され、アドレス2の内容は4に書き換えられる。   (10) is a process when data in the monitoring target area 21 is rewritten, that is, when it is determined YES in step S102, and the same process as in the case of (3) is performed. As a result, 8 is stored in r, and the contents of address 2 are rewritten to 4.

(11)は、監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOと判定した場合の処理であり、ステップS108までは(5)と同様の処理を行う。その結果、kには3が格納され、vにはCが格納される。ステップS108では、(6)においてcに有効な第二チェック値を格納したため、有効な第二チェック値が格納されていると判定し、ステップS110に進む。ステップS110では、cとv−fを比較する。cが3、v−fが3で等しいため、ステップS111に進む。   (11) is a process when the data in the monitoring target area 21 is not rewritten, that is, when it is determined NO in step S102, and the same process as (5) is performed until step S108. As a result, 3 is stored in k, and C is stored in v. In step S108, since a valid second check value is stored in c in (6), it is determined that a valid second check value is stored, and the process proceeds to step S110. In step S110, c and v−f are compared. Since c is equal to 3 and v−f is equal to 3, the process proceeds to step S111.

(12)は、ステップS111を実行した結果であり、fには9+8=1が、v、r、kには0が順に格納される。その後、ステップS102に進む。   (12) is the result of executing step S111, where 9 + 8 = 1 is stored in f, and 0 is stored in order in v, r, and k. Thereafter, the process proceeds to step S102.

(13)は、監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOと判定した場合の処理であり、(2)の場合と同様の処理を行う。その結果、kには1が格納され、vには5が格納される。   (13) is a process when the data of the monitoring target area 21 is not rewritten, that is, when it is determined NO in step S102, and the same process as in the case of (2) is performed. As a result, 1 is stored in k and 5 is stored in v.

(14)は、監視対象領域21のデータにデータエラーが発生し、アドレス2の内容が0に変化したことを表す。   (14) indicates that a data error has occurred in the data in the monitoring target area 21 and the content of the address 2 has changed to 0.

(15)は、監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOと判定した場合の処理であり、(2)の場合と同様の処理を行う。その結果、kには2が格納され、vには5が格納される。   (15) is a process when the data in the monitoring target area 21 is not rewritten, that is, when it is determined NO in step S102, and the same process as in the case of (2) is performed. As a result, 2 is stored in k, and 5 is stored in v.

(16)は、監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOと判定した場合の処理であり、ステップS110までは(11)と同様の処理を行う。その結果、kには3が格納され、vには0が格納される。ステップ110ではcとv−fとを比較する。cが3、v−fがFであり、値が一致しないため、ステップ110のNOに進む。つまり、データエラーが発生したと判定する。(14)においてデータエラーが発生しているため、この判定は正しいものである。   (16) is a process when the data in the monitoring target area 21 is not rewritten, that is, when it is determined NO in step S102, and the same process as (11) is performed until step S110. As a result, 3 is stored in k, and 0 is stored in v. In step 110, c and vf are compared. Since c is 3 and v−f is F and the values do not match, the process proceeds to NO in step 110. That is, it is determined that a data error has occurred. Since a data error has occurred in (14), this determination is correct.

本発明の実施形態1によれば、監視対象領域21に格納されたデータを書き換えながら、データエラー検出を行うことができる。データの冗長化を行う必要がないため、監視対象領域21全体に任意の情報を格納することができる。また、特別なハードウェアは不要であり、主記憶装置2と中央演算装置1とを備える情報処理システムにおいて、ソフトウェアによる主記憶装置2のデータエラー検出が可能である。   According to the first embodiment of the present invention, data error detection can be performed while rewriting data stored in the monitoring target area 21. Since it is not necessary to make data redundant, arbitrary information can be stored in the entire monitoring target area 21. In addition, no special hardware is required, and in an information processing system including the main storage device 2 and the central processing unit 1, data errors in the main storage device 2 can be detected by software.

(実施形態2)
本発明の実施形態2を説明する。図4は本発明の実施形態2に係る情報処理システムの構成図である。この実施形態2は、図1に示した実施形態1に対し、主記憶装置2には、監視対象領域21−1、21−2、エラー検出プログラム22−1、22−2を設けたものである。
(Embodiment 2)
A second embodiment of the present invention will be described. FIG. 4 is a configuration diagram of an information processing system according to the second embodiment of the present invention. The second embodiment is different from the first embodiment shown in FIG. 1 in that the main storage device 2 is provided with monitoring target areas 21-1, 21-2 and error detection programs 22-1, 22-2. is there.

中央処理装置1は、エラー検出プログラム22−1、22−2によって監視対象領域21−1、21−2で発生するデータエラーを検出する。中央処理装置1と主記憶装置2との間の情報のやり取りは情報伝送路3を介して行われる。エラー検出プログラム22−1は監視対象領域21−1のデータエラー検出処理を行う。また、エラー検出プログラム22−2は監視対象領域21−2のデータエラー検出処理を行う。この場合、エラー検出プログラム22−1、22−2は、それぞれ独立してデータエラー検出処理を行う。   The central processing unit 1 detects data errors that occur in the monitoring target areas 21-1 and 21-2 using the error detection programs 22-1 and 22-2. Information is exchanged between the central processing unit 1 and the main storage device 2 via the information transmission path 3. The error detection program 22-1 performs data error detection processing for the monitoring target area 21-1. The error detection program 22-2 performs data error detection processing for the monitoring target area 21-2. In this case, the error detection programs 22-1 and 22-2 perform data error detection processing independently of each other.

図5は、図2に示したフローチャートにおいてチェック値算出のために使用した演算を一般化したものである。実施形態2において、データエラー検出処理において行う処理は図2に示したものでも良いし、図5に示したものでも良い。以下の説明では、図2に示したフローチャートにおいてチェック値算出のために使用した演算を一般化した図5のフローチャートについて説明する。   FIG. 5 is a generalization of the calculation used for calculating the check value in the flowchart shown in FIG. In the second embodiment, the process performed in the data error detection process may be the one shown in FIG. 2 or the one shown in FIG. In the following description, the flowchart of FIG. 5 will be described in which the calculation used for calculating the check value in the flowchart shown in FIG. 2 is generalized.

図5において、ステップS201では、第一チェック値v、前方変化値f、後方変化値r、チェック値計算済みアドレスkをそれぞれv0、f0、e、k0−1で初期化する。ここで、v0、f0は、v、fが保持可能な任意のビット列を表す。v、f、rが保持可能なビット列のビット長は等しいものとする。また、図5では演算子「・」を用いているが、これはv、f、rが保持可能な任意のビット列x1、x2、x3に対して以下の(1)〜(5)の関係を満たす二項演算を表す。   In FIG. 5, in step S201, the first check value v, the forward change value f, the backward change value r, and the check value calculated address k are initialized with v0, f0, e, and k0-1, respectively. Here, v0 and f0 represent arbitrary bit strings that v and f can hold. The bit lengths of the bit strings that can be held by v, f, and r are assumed to be equal. In FIG. 5, the operator “·” is used, which has the following relationships (1) to (5) with respect to arbitrary bit strings x1, x2, and x3 that can hold v, f, and r. Represents a binary operation that satisfies.

(1)x1・x2の演算結果はv、f、rが保持可能なビット列になる。
(2)x1・(x2・x3)=(x1・x2)・x3が成り立つ。
(3)x1・e=x1となるビット列eが存在する(以降、これを単位元と呼ぶ)。
(4)x1に対してx1・x1−1=eとなるビット列x1−1が存在する(以降、これをx1に対する逆元と呼ぶ)。
(5)x1・x2=x2・x1が成り立つ。
(1) The operation result of x1 · x2 is a bit string that can hold v, f, and r.
(2) x1 · (x2 · x3) = (x1 · x2) · x3 holds.
(3) There is a bit string e that satisfies x1 · e = x1 (hereinafter referred to as a unit element).
(4) There is a bit string x1 −1 such that x1 · x1 −1 = e with respect to x1 (hereinafter referred to as an inverse element for x1).
(5) x1 · x2 = x2 · x1 holds.

例えば、前述した加算「+」を演算子「・」に対応させれば上記条件を満たす。この場合、単位元eは状態が0のビット列であり、減算x1−x2は、x1・x2−1が対応する。このほか、排他的論理和や、減算(一定の範囲を超えた場合は加算「+」の場合と同じように丸め込む)といった演算を演算子「・」に対応させることができる。rに格納するビット列eは上記(3)のeである。監視対象領域21の先頭アドレスはk0とし、k0−1はk0の一つ前のアドレスを指すものとする。 For example, the above condition is satisfied if the above-described addition “+” corresponds to the operator “•”. In this case, the identity e is a bit sequence of states is 0, subtraction x1-x2 is, x1 · x2 -1 correspond. In addition, operations such as exclusive OR and subtraction (when exceeding a certain range, rounding as in the case of addition “+”) can be made to correspond to the operator “·”. The bit string e stored in r is e in (3) above. The start address of the monitoring target area 21 is k0, and k0-1 indicates the address immediately before k0.

ステップS202では、監視対象領域21にデータを書込むか否かを判定する。書き込む場合はステップS203に進み、そうでない場合はステップS206に進む。書き込む場合、書き込み先アドレスをa、書込む値をiとする。なお、a、iはビット列で表される情報である。   In step S202, it is determined whether or not data is written to the monitoring target area 21. If it is written, the process proceeds to step S203; otherwise, the process proceeds to step S206. In the case of writing, a write destination address is a and a write value is i. Note that a and i are information represented by bit strings.

ステップS203では、書き込み先アドレスaがチェック値計算済みアドレスkよりも大きいか否かを判定する。aがkよりも大きい場合はステップS204に進み、そうでない場合はステップS205に進む。   In step S203, it is determined whether the write destination address a is larger than the check value calculated address k. If a is larger than k, the process proceeds to step S204, and if not, the process proceeds to step S205.

ステップS204では、前方変化値fにf・i・ma−1の計算結果を格納する。ここで、maはアドレスaに格納されているデータを表し、ma−1はmaの逆元を表す。fに値を格納した後、maにiを書込む。 In step S204, the calculation result of f · i · ma −1 is stored in the forward change value f. Here, ma represents the data stored at address a, and ma −1 represents the inverse element of ma. After storing a value in f, i is written in ma.

ステップS205では、rにr・i・ma−1の計算結果を格納する。rに値を格納した後、maにiを書込む。 In step S205, the calculation result of r · i · ma −1 is stored in r. After storing a value in r, i is written in ma.

ステップS206ではチェック値計算済みアドレスkにk+1の計算結果を格納する。ここで、k+1はkの次のアドレスを表す。そして、第一チェック値vにv・mkの計算結果を格納する。   In step S206, the calculation result of k + 1 is stored in the check value calculated address k. Here, k + 1 represents the next address of k. Then, the calculation result of v · mk is stored in the first check value v.

ステップS207ではチェック値計算済みアドレスkが終端アドレスlと等しいか否かを判定する。等しい場合はステップS208に進み、そうでない場合はステップS202に進む。ここで、lは監視対象領域21の終端のアドレスを表す。   In step S207, it is determined whether the check value calculated address k is equal to the end address l. If they are equal, the process proceeds to step S208; otherwise, the process proceeds to step S202. Here, l represents the end address of the monitoring target area 21.

ステップS208では、第二チェック値cに有効な値が格納されているか否かを判定する。図5に示したフローチャートの処理を実行してから初めてステップS208を実行する場合は、cに有効な値が格納されていないと判定し、ステップS209に進む。そうでない場合はステップS210に進む。ただし、ステップS201を実行する時点で監視対象領域21の第二チェック値がわかっている場合、つまり、監視対象領域21の各アドレスに格納されているデータを演算子「・」により結び付けて演算した結果がわかっている場合は、その時点でcに第二チェック値を格納しておき、S208が実行される場合には初回か否かに関わらずcに有効な値が格納されていると判定し、ステップS210に進む。   In step S208, it is determined whether a valid value is stored in the second check value c. When step S208 is executed for the first time after the processing of the flowchart shown in FIG. 5 is executed, it is determined that a valid value is not stored in c, and the process proceeds to step S209. Otherwise, the process proceeds to step S210. However, when the second check value of the monitoring target area 21 is known at the time of executing step S201, that is, the data stored in each address of the monitoring target area 21 is calculated by connecting with the operator “·”. If the result is known, the second check value is stored in c at that time, and if S208 is executed, it is determined that a valid value is stored in c regardless of whether it is the first time or not. Then, the process proceeds to step S210.

ステップS209では、cにv・f−1を、fにf・rを、vにv0を、rにeを、kにk0−1を格納する処理を順に行う。ここで、f−1はfの逆元を表す。 In step S209, v · f −1 is stored in c, f · r is stored in f, v0 is stored in v, e is stored in r, and k0-1 is stored in k. Here, f −1 represents the inverse element of f.

ステップS210ではv・f−1とcが等しいか否かを判定する。等しい場合はステップS211に進み、そうでない場合はデータエラー発生と判定する。 In step S210, it is determined whether v · f −1 and c are equal. If they are equal, the process proceeds to step S211, and if not, it is determined that a data error has occurred.

ステップS211では、fにf・rを、vにv0を、rにeを、kにk0−1を格納する処理を順に行う。   In step S211, processing is sequentially performed in which f · r is stored in f, v0 is stored in v, e is stored in r, and k0-1 is stored in k.

データエラー検出プログラム22−1、22−2がそれぞれ独立して図5の処理を行うことにより、データエラー検出プログラム22−1、22−2はそれぞれ監視対象領域21−1、21−2のデータエラー検出処理を行うことができる。   When the data error detection programs 22-1 and 22-2 perform the processing of FIG. 5 independently, the data error detection programs 22-1 and 22-2 are respectively the data in the monitoring target areas 21-1 and 21-2. Error detection processing can be performed.

本発明の実施形態2では、主記憶装置2内に複数の監視対象領域21を設け、それぞれに対してデータエラー検出プログラム22を動作させることにより、各監視対象領域21に対するデータエラーチェックを行うことができる。この場合、データエラー検出は監視対象領域21単位に行われる。そのため、例えば一つの監視対象領域21に一つのアプリケーションを格納している場合で、かつ、データエラーが発生した場合にアプリケーションを再起動するようにしている場合、データエラー発生時に停止させるアプリケーションは、データエラーが発生した監視対象領域21で動作しているアプリケーションのみで済ませることができる。また、図5において示したチェック値算出方法以外にも様々なビット演算を用いてチェック値を算出することができる。   In Embodiment 2 of the present invention, a plurality of monitoring target areas 21 are provided in the main storage device 2, and a data error check is performed on each monitoring target area 21 by operating the data error detection program 22 for each. Can do. In this case, data error detection is performed for each monitoring target area 21. Therefore, for example, when one application is stored in one monitoring target area 21 and the application is restarted when a data error occurs, the application to be stopped when the data error occurs is Only the application operating in the monitoring target area 21 in which the data error has occurred can be used. In addition to the check value calculation method shown in FIG. 5, the check value can be calculated using various bit operations.

(実施形態3)
本発明の実施形態3を説明する。図6は本発明の実施形態3に係る情報処理システムの構成図である。この実施形態3は、図1に示した実施形態1に対し、主記憶装置2にエラー検出プログラム22を格納し、補助記憶装置4の監視対象領域41を監視対象領域としたものである。
(Embodiment 3)
Embodiment 3 of the present invention will be described. FIG. 6 is a configuration diagram of an information processing system according to the third embodiment of the present invention. In the third embodiment, the error detection program 22 is stored in the main storage device 2 and the monitoring target area 41 of the auxiliary storage device 4 is set as the monitoring target area in the first embodiment shown in FIG.

図6において、中央処理装置1、主記憶装置2、情報伝送路3、補助記憶装置4より構成される。主記憶装置2にはエラー検出プログラム22が含まれる。補助記憶装置4には監視対象領域41が含まれる。主記憶装置2及び補助記憶装置4は、ともに情報記憶装置である。   In FIG. 6, a central processing unit 1, a main storage device 2, an information transmission path 3, and an auxiliary storage device 4 are configured. The main storage device 2 includes an error detection program 22. The auxiliary storage device 4 includes a monitoring target area 41. Both the main storage device 2 and the auxiliary storage device 4 are information storage devices.

中央処理装置1は、エラー検出プログラム22によって補助記憶装置4のデータエラー検出処理を行い、監視対象領域41で発生するデータエラーを検出する。中央処理装置1、主記憶装置2、補助記憶装置4の間の情報のやり取りは情報伝送路3を介して行われる。エラー検出プログラム22は、図5に示したフローチャートに従って処理を行うものとする。   The central processing unit 1 performs data error detection processing of the auxiliary storage device 4 by the error detection program 22 and detects data errors that occur in the monitoring target area 41. Information is exchanged among the central processing unit 1, the main storage device 2, and the auxiliary storage device 4 through the information transmission path 3. The error detection program 22 performs processing according to the flowchart shown in FIG.

図5において、ステップS201では、第一チェック値v、前方変化値f、後方変化値r、チェック値計算済みアドレスkをそれぞれv0、f0、e、k0−1で初期化する。ここで、v0、f0は、それぞれf、rが保持可能な任意のビット列を表す。また、eは演算子「・」に対する単位元である。演算子「・」の意味は実施形態2の場合と同じである。また、ステップS201では監視対象領域41のデータを主記憶装置2に格納する。ここで、主記憶装置2に格納した監視対象領域41のデータの主記憶装置2上での先頭アドレスをk0とする。k0−1はk0の一つ前のアドレスを指すものとする。   In FIG. 5, in step S201, the first check value v, the forward change value f, the backward change value r, and the check value calculated address k are initialized with v0, f0, e, and k0-1, respectively. Here, v0 and f0 represent arbitrary bit strings that can hold f and r, respectively. Further, e is a unit element for the operator “·”. The meaning of the operator “·” is the same as in the second embodiment. In step S201, the data of the monitoring target area 41 is stored in the main storage device 2. Here, the head address of the data in the monitoring target area 41 stored in the main storage device 2 on the main storage device 2 is k0. k0-1 indicates the address immediately preceding k0.

ステップS202では、監視対象領域41にデータを書き込むか否かを判定する。書き込む場合はステップS203に進み、そうでない場合はステップS206に進む。書き込む場合、監視対象領域41のデータと主記憶装置2に格納した監視対象領域41のデータのアドレスを対応させ、監視対象領域41の書き込み先に対応する主記憶装置2上でのアドレスをaとする。また、書込む値をiとする。   In step S202, it is determined whether or not data is written to the monitoring target area 41. If it is written, the process proceeds to step S203; otherwise, the process proceeds to step S206. When writing, the data of the monitoring target area 41 is associated with the address of the data of the monitoring target area 41 stored in the main storage device 2, and the address on the main storage device 2 corresponding to the writing destination of the monitoring target area 41 is a. To do. The value to be written is i.

ステップS203では、書き込み先アドレスaがチェック値計算済みアドレスkよりも大きいか否かを判定する。aがkよりも大きい場合はステップS204に進み、そうでない場合はステップS205に進む。   In step S203, it is determined whether the write destination address a is larger than the check value calculated address k. If a is larger than k, the process proceeds to step S204, and if not, the process proceeds to step S205.

ステップS204では、前方変化値fにf・i・ma−1の計算結果を格納する。ここで、maは主記憶装置2のアドレスaに格納されているデータを表し、ma−1はmaの逆元を表す。fに値を格納した後、maにiを書込む。その後、監視対象領域41のアドレスaに対応する場所にiを書込む。 In step S204, the calculation result of f · i · ma −1 is stored in the forward change value f. Here, ma represents data stored at address a of the main storage device 2, and ma -1 represents the inverse element of ma. After storing a value in f, i is written in ma. Thereafter, i is written in a location corresponding to the address a in the monitoring target area 41.

ステップS205では、rにr・i・ma−1の計算結果を格納する。rに値を格納した後、maにiを書込む。その後、監視対象領域41のアドレスaに対応する場所にiを書込む。 In step S205, the calculation result of r · i · ma −1 is stored in r. After storing a value in r, i is written in ma. Thereafter, i is written in a location corresponding to the address a in the monitoring target area 41.

ステップS206ではチェック値計算済みアドレスkにk+1を格納する。ここで、k+1はkの次のアドレスを表す。そして、第一チェック値vにv・mkの計算結果を格納する。   In step S206, k + 1 is stored in the check value calculated address k. Here, k + 1 represents the next address of k. Then, the calculation result of v · mk is stored in the first check value v.

ステップS207ではチェック値計算済みアドレスkが終端アドレスlと等しいか否かを判定する。ここで、lは主記憶装置2に格納した監視対象領域41のデータの終端のアドレスを表す。等しい場合はステップS208に進み、そうでない場合はステップS202に進む。   In step S207, it is determined whether the check value calculated address k is equal to the end address l. Here, l represents the end address of the data in the monitoring target area 41 stored in the main storage device 2. If they are equal, the process proceeds to step S208; otherwise, the process proceeds to step S202.

ステップS208では、第二チェック値cに有効な値が格納されているか否かを判定する。図5に示したフローチャートの処理を実行してから初めてステップS208を実行する場合は、cに有効な値が格納されていないと判定し、ステップS209に進む。そうでない場合はステップS210に進む。ただし、ステップS201を実行する時点で監視対象領域41の第二チェック値がわかっている場合、つまり、監視対象領域41のデータを主記憶装置2に格納した場合の各アドレスに格納されているデータを演算子・により結び付けて演算した結果がわかっている場合は、その時点でcに第二チェック値を格納しておき、S208が実行される場合には初回か否かに関わらずcに有効な値が格納されていると判定し、ステップS210に進む。   In step S208, it is determined whether a valid value is stored in the second check value c. When step S208 is executed for the first time after the processing of the flowchart shown in FIG. 5 is executed, it is determined that a valid value is not stored in c, and the process proceeds to step S209. Otherwise, the process proceeds to step S210. However, when the second check value of the monitoring target area 41 is known at the time of executing step S201, that is, the data stored at each address when the data of the monitoring target area 41 is stored in the main storage device 2. If the result obtained by connecting the two by the operator is known, the second check value is stored in c at that time, and if S208 is executed, it is valid for c regardless of whether it is the first time or not. It is determined that a correct value is stored, and the process proceeds to step S210.

ステップS209では、cにv・f−1を、fにf・rを、vにv0を、rにeを、kにk0−1を格納する処理を順に行う。ここで、f−1はfの逆元を表す。 In step S209, v · f −1 is stored in c, f · r is stored in f, v0 is stored in v, e is stored in r, and k0-1 is stored in k. Here, f −1 represents the inverse element of f.

ステップS210ではv・f−1とcが等しいか否かを判定する。等しい場合はステップS211に進み、そうでない場合はデータエラー発生と判定する。 In step S210, it is determined whether v · f −1 and c are equal. If they are equal, the process proceeds to step S211, and if not, it is determined that a data error has occurred.

ステップS211では、fにf・rを、vにv0を、rにeを、kにk0−1を格納する処理を順に行う。   In step S211, processing is sequentially performed in which f · r is stored in f, v0 is stored in v, e is stored in r, and k0-1 is stored in k.

なお、補助記憶装置4の中に複数の監視対象領域41を設けても良い。その場合、監視対象領域41のそれぞれに対してエラー検出プログラム22を主記憶装置2の中に格納し、各エラー検出プログラム22はそれぞれ図5に示した処理を独立して行うようにする。これにより、各監視対象領域41に対するデータエラーチェックを行うことができる。   A plurality of monitoring target areas 41 may be provided in the auxiliary storage device 4. In that case, the error detection program 22 is stored in the main storage device 2 for each of the monitoring target areas 41, and each error detection program 22 performs the processing shown in FIG. 5 independently. Thereby, it is possible to perform a data error check for each monitoring target area 41.

本発明の実施形態3では、主記憶装置2だけでなく、補助記憶装置4に対しても、データを書き換えながらデータエラー検出を行うことができる。この場合もデータの冗長化及び特別なハードウェアは不要である。   In Embodiment 3 of the present invention, data error detection can be performed not only on the main storage device 2 but also on the auxiliary storage device 4 while rewriting data. In this case, data redundancy and special hardware are not required.

(実施形態4)
本発明の実施形態4を説明する。図7は本発明の実施形態4に係る情報処理システムの構成図である。この実施形態4は、図1に示した実施形態1に対し、記憶媒体6にエラー検出プログラム62を格納し、主記憶装置2の監視対象領域21、補助記憶装置4の監視対象領域41、記憶媒体6の監視対象領域61を監視対象領域としたものである。主記憶装置2、補助記憶装置4、記録媒体6は、ともに情報記憶装置である。
(Embodiment 4)
Embodiment 4 of the present invention will be described. FIG. 7 is a configuration diagram of an information processing system according to the fourth embodiment of the present invention. In the fourth embodiment, an error detection program 62 is stored in the storage medium 6 with respect to the first embodiment shown in FIG. 1, and the monitoring target area 21 of the main storage device 2, the monitoring target area 41 of the auxiliary storage device 4, and the storage The monitoring target area 61 of the medium 6 is the monitoring target area. The main storage device 2, the auxiliary storage device 4, and the recording medium 6 are all information storage devices.

図7において、中央処理装置1、主記憶装置2、情報伝送路3、補助記憶装置4、I/O装置5、記憶媒体6より構成される。記憶媒体6はI/O装置5を介して中央処理装置1に接続されている。主記憶装置2には監視対象領域21が含まれる。補助記憶装置4には監視対象領域41が含まれる。記憶媒体6には監視対象領域61、エラー検出プログラム62が含まれる。   In FIG. 7, a central processing unit 1, a main storage device 2, an information transmission path 3, an auxiliary storage device 4, an I / O device 5, and a storage medium 6 are configured. The storage medium 6 is connected to the central processing unit 1 via the I / O device 5. The main storage device 2 includes a monitoring target area 21. The auxiliary storage device 4 includes a monitoring target area 41. The storage medium 6 includes a monitoring target area 61 and an error detection program 62.

図8は記憶媒体6に含まれるエラー検出プログラム62の構成図である。エラー検出プログラム62は、第一チェック値算出プログラムコードP1、変化情報作成プログラムコードP2、第二チェック値算出プログラムコードP3、データエラー判定プログラムコードP4より構成される。   FIG. 8 is a configuration diagram of the error detection program 62 included in the storage medium 6. The error detection program 62 includes a first check value calculation program code P1, a change information creation program code P2, a second check value calculation program code P3, and a data error determination program code P4.

中央処理装置1、主記憶装置2、補助記憶装置4、I/O装置5は、情報伝送路3を介して情報をやり取りする。I/O装置5は記憶媒体6と情報のやり取りを行い、記憶媒体6に格納された情報の読み込み/書き込みを行う。   The central processing unit 1, the main storage device 2, the auxiliary storage device 4, and the I / O device 5 exchange information via the information transmission path 3. The I / O device 5 exchanges information with the storage medium 6 and reads / writes information stored in the storage medium 6.

主記憶装置2は記憶媒体6に格納されたエラー検出プログラム62を読み込み、エラー検出プログラム62を動作させる。このエラー検出プログラム62がデータエラー検出の対象とするデータは、主記憶装置2の監視対象領域21に格納されたデータでも良いし、補助記憶装置4の監視対象領域41に格納されたデータでも良いし、記憶媒体6の監視対象領域61に格納されたデータでも良い。なお、図7に示した監視対象領域21、41、61はいずれか一つ以上あればよく、例えば、主記憶装置2に読み込まれたエラー検出プログラム62が監視対象領域41に格納されたデータを対象としてデータエラー検出処理を行う場合、監視対象領域21及び監視対象領域61は設けなくて良い。   The main storage device 2 reads the error detection program 62 stored in the storage medium 6 and operates the error detection program 62. The data targeted for data error detection by the error detection program 62 may be data stored in the monitoring target area 21 of the main storage device 2 or data stored in the monitoring target area 41 of the auxiliary storage device 4. Alternatively, data stored in the monitoring target area 61 of the storage medium 6 may be used. In addition, any one or more of the monitoring target areas 21, 41, and 61 shown in FIG. 7 may be used. For example, the error detection program 62 read into the main storage device 2 stores the data stored in the monitoring target area 41. When the data error detection process is performed as a target, the monitoring target area 21 and the monitoring target area 61 need not be provided.

エラー検出プログラム62が主記憶装置2の監視対象領域21に格納されたデータを対象としてデータエラー検出処理を行う場合は実施形態2で述べた処理を行う。   When the error detection program 62 performs the data error detection process on the data stored in the monitoring target area 21 of the main storage device 2, the process described in the second embodiment is performed.

エラー検出プログラム62が補助記憶装置4の監視対象領域41に格納されたデータを対象としてデータエラー検出処理を行う場合は実施形態3で述べた処理を行う。   When the error detection program 62 performs data error detection processing on data stored in the monitoring target area 41 of the auxiliary storage device 4, the processing described in the third embodiment is performed.

エラー検出プログラム62が記憶媒体6の監視対象領域61に格納されたデータを対象としてデータエラー検出処理を行う場合は、図5に示した処理を行う。具体的には、実施形態3で述べた図5の処理において、補助記憶装置4を記録媒体6に、監視対象領域41を監視対象領域61に置き換えた処理を行う。   When the error detection program 62 performs the data error detection process on the data stored in the monitoring target area 61 of the storage medium 6, the process shown in FIG. 5 is performed. Specifically, in the processing of FIG. 5 described in the third embodiment, processing is performed in which the auxiliary storage device 4 is replaced with the recording medium 6 and the monitoring target area 41 is replaced with the monitoring target area 61.

エラー検出プログラム62は、図8に示したプログラム構成となっている。第一チェック値算出プログラムコードP1は、図5のステップS201、ステップS202、ステップS206、ステップS207の処理を行う。変化情報作成プログラムコードP2は、図5のステップS203、ステップS204、ステップS205の処理を行う。第二チェック値算出プログラムコードP3は、図5のステップS208、ステップS209、ステップS210の処理を行う。ただし、ステップS210についてはv・f−1の算出のみ行う。 The error detection program 62 has the program configuration shown in FIG. The first check value calculation program code P1 performs the processing of step S201, step S202, step S206, and step S207 in FIG. The change information creation program code P2 performs the processing of step S203, step S204, and step S205 in FIG. The second check value calculation program code P3 performs the processing of step S208, step S209, and step S210 in FIG. However, for step S210, only v · f −1 is calculated.

データエラー判定プログラムコードP4は、図5のステップS210、ステップS211の処理を行う。ただし、ステップS210については第二チェック値算出プログラムコードP3により算出されたv・f−1の計算結果と第二チェック値cとの比較処理を行う。 The data error determination program code P4 performs the processing of step S210 and step S211 in FIG. However, in step S210, a comparison process between the calculation result of v · f −1 calculated by the second check value calculation program code P3 and the second check value c is performed.

こうしてエラー検出プログラム62は、監視対象領域21、41、61のいずれかに格納されたデータのデータエラー検出処理を行う。   In this way, the error detection program 62 performs data error detection processing of data stored in any of the monitoring target areas 21, 41, 61.

本発明の実施形態4では、記憶媒体6に格納されたエラー検出プログラム62を用いて、図7に示した情報処理システム上でデータエラー検出処理を実行することができる。また、主記憶装置2や補助記憶装置4だけでなく、記憶媒体6に対しても、データを書き換えながらデータエラー検出を行うことができる。この場合もデータの冗長化や特別なハードウェアは不要である。   In the fourth embodiment of the present invention, the data error detection process can be executed on the information processing system shown in FIG. 7 using the error detection program 62 stored in the storage medium 6. Further, not only the main storage device 2 and the auxiliary storage device 4 but also the storage medium 6 can be subjected to data error detection while rewriting data. In this case, data redundancy and special hardware are not required.

従って、データの冗長化を行わず、かつ、データの整合性をチェックしている間にデータを書き換えることを許容するようなデータの整合性チェック方法が存在すれば、単位情報を保存するのに要するハードウェアコストを高めることなくデータの整合性をチェックすることができることになる。   Therefore, if there is a data consistency check method that does not perform data redundancy and allows data to be rewritten while checking data consistency, unit information can be stored. Data consistency can be checked without increasing the required hardware cost.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。   Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

1:中央処理装置、2:主記憶装置、3:情報伝送路、4:補助記憶装置、5:I/O装置、6:記憶媒体、11:第一チェック値算出手段、12:変化情報作成手段、13:第二チェック値算出手段、14:データエラー判定手段、21:監視対象領域、22:エラー検出プログラム、41:監視対象領域、61:監視対象領域、62:エラー検出プログラム、L1:チェック値計算済みライン、P1:第一チェック値算出プログラムコード、P2:変化情報作成プログラムコード、P3:第二チェック値算出プログラムコード、P4:データエラー判定プログラムコード 1: central processing unit, 2: main storage unit, 3: information transmission path, 4: auxiliary storage unit, 5: I / O unit, 6: storage medium, 11: first check value calculation means, 12: change information creation Means: 13: second check value calculation means, 14: data error determination means, 21: monitoring target area, 22: error detection program, 41: monitoring target area, 61: monitoring target area, 62: error detection program, L1: Check value calculated line, P1: first check value calculation program code, P2: change information creation program code, P3: second check value calculation program code, P4: data error determination program code

Claims (7)

エラー検出プログラム及びデータを格納した情報記憶装置と、
前記エラー検出プログラムを演算実行する中央処理装置とを備えた情報処理システムにおいて、
前記情報記憶装置の中の監視対象領域にあるデータの整合性を確認するための第一チェック値を算出する第一チェック値算出手段と、
第一チェック値を算出している途中で監視対象領域にあるデータを書き換える場合にその書き換えによる第一チェック値の変化を表す情報を作成する変化情報作成手段と、
第一チェック値の算出が完了したときに第一チェック値及び前記変化情報作成手段により得られる第一チェック値の変化を表す情報から第二チェック値を繰り返し算出する第二チェック値算出手段と、
前記第二チェック値算出手段で得られた第二チェック値とそれ以前に得られた第二チェック値とを比較することによりデータエラーを判定するデータエラー判定手段とを備えることを特徴とする情報処理システム。
An information storage device storing an error detection program and data;
In an information processing system comprising a central processing unit that performs calculation and execution of the error detection program,
First check value calculation means for calculating a first check value for confirming the consistency of data in the monitoring target area in the information storage device;
A change information creating means for creating information indicating a change in the first check value due to the rewriting when rewriting the data in the monitoring target area in the middle of calculating the first check value;
Second check value calculation means for repeatedly calculating the second check value from the first check value and information representing the change in the first check value obtained by the change information creation means when the calculation of the first check value is completed;
Data error determination means for determining a data error by comparing the second check value obtained by the second check value calculation means and the second check value obtained before that Processing system.
データエラー判定を開始する時点で監視対象領域に格納されているデータの前記第二チェック値が予めわかっている場合、前記データエラー判定手段において比較する情報は、予め分かっている前記第二チェック値と、前記第二チェック値算出手段により得られる第二チェック値であることを特徴とする請求項1記載の情報処理システム   When the second check value of the data stored in the monitoring target area is known in advance at the time of starting the data error determination, the information to be compared in the data error determination means is the second check value known in advance. The information processing system according to claim 1, wherein the second check value is obtained by the second check value calculation means. エラー検出プログラム及びデータを格納した情報記憶装置と、前記エラー検出プログラムを演算実行する中央処理装置とを備えた情報処理システムのデータエラーを検出するデータエラー検出方法において、
前記情報記憶装置の中の監視対象領域にあるデータの整合性を確認するための第一チェック値を算出する第一チェック値算出ステップと、
第一チェック値を算出している途中で監視対象領域にあるデータを書き換える場合にその書き換えによる第一チェック値の変化を表す情報を作成する変化情報作成ステップと、
第一チェック値の算出が完了したときに第一チェック値及び前記変化情報作成ステップにより得られる第一チェック値の変化を表す情報から第二チェック値を繰り返し算出する第二チェック値算出ステップと、
前記第二チェック値算出ステップで得られた第二チェック値とそれ以前に得られた第二チェック値とを比較することによりデータエラーを判定するデータエラー判定ステップとを備えることを特徴とするデータエラー検出方法。
In a data error detection method for detecting a data error of an information processing system comprising an information storage device storing an error detection program and data, and a central processing unit for calculating and executing the error detection program,
A first check value calculating step for calculating a first check value for confirming the consistency of data in the monitoring target area in the information storage device;
A change information creation step for creating information indicating a change in the first check value due to the rewriting when rewriting the data in the monitoring target area in the middle of calculating the first check value;
A second check value calculation step for repeatedly calculating a second check value from information representing a change in the first check value obtained by the first check value and the change information creation step when the calculation of the first check value is completed;
A data error determination step of determining a data error by comparing the second check value obtained in the second check value calculation step with the second check value obtained before that Error detection method.
データエラー判定を開始する時点で監視対象領域に格納されているデータの前記第二チェック値が予めわかっている場合、前記データエラー判定ステップにおいて比較する情報は、あらかじめ分かっている前記第二チェック値と、前記第二チェック値算出ステップにより得られる第二チェック値であることを特徴とする請求項3記載のデータエラー検出方法。   When the second check value of the data stored in the monitoring target area is known in advance at the time of starting the data error determination, the information to be compared in the data error determination step is the second check value that is known in advance. 4. The data error detection method according to claim 3, wherein the second check value is obtained by the second check value calculation step. エラー検出プログラム及びデータを格納した情報記憶装置と、前記エラー検出プログラムを演算実行する中央処理装置とを備え、情報処理システムとして機能させるためのコンピュータにおいて、
前記情報記憶装置の中の監視対象領域にあるデータの整合性を確認するための第一チェック値を算出する第一チェック値算出手段と、
第一チェック値を算出している途中で監視対象領域にあるデータを書き換える場合にその書き換えによる第一チェック値の変化を表す情報を作成する変化情報作成手段と、
第一チェック値の算出が完了したときに第一チェック値及び前記変化情報作成手段により得られる第一チェック値の変化を表す情報から第二チェック値を繰り返し算出する第二チェック値算出手段と、
前記第二チェック値算出手段で得られた第二チェック値とそれ以前に得られた第二チェック値とを比較することによりデータエラーを判定するデータエラー判定手段として機能させるためのプログラム。
In a computer for functioning as an information processing system, comprising an information storage device storing an error detection program and data, and a central processing unit for calculating and executing the error detection program
First check value calculation means for calculating a first check value for confirming the consistency of data in the monitoring target area in the information storage device;
A change information creating means for creating information indicating a change in the first check value due to the rewriting when rewriting the data in the monitoring target area in the middle of calculating the first check value;
Second check value calculation means for repeatedly calculating the second check value from the first check value and information representing the change in the first check value obtained by the change information creation means when the calculation of the first check value is completed;
A program for functioning as a data error determination unit that determines a data error by comparing a second check value obtained by the second check value calculation unit with a second check value obtained before that.
データエラー判定を開始する時点で監視対象領域に格納されているデータの前記第二チェック値が予めわかっている場合、前記データエラー判定手段において比較する情報は、予め分かっている前記第二チェック値と、前記第二チェック値算出手段により得られる第二チェック値であることを特徴とする請求項5記載のプログラム。   When the second check value of the data stored in the monitoring target area is known in advance at the time of starting the data error determination, the information to be compared in the data error determination means is the second check value known in advance. 6. The program according to claim 5, wherein the second check value is obtained by the second check value calculation means. 請求項5または請求項6記載のプログラムを格納することを特徴とするコンピュータ読み取り可能な記憶媒体。   A computer-readable storage medium storing the program according to claim 5 or 6.
JP2011200337A 2011-09-14 2011-09-14 Information processing system, data error detection method, program, and storage medium Expired - Fee Related JP5793379B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011200337A JP5793379B2 (en) 2011-09-14 2011-09-14 Information processing system, data error detection method, program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011200337A JP5793379B2 (en) 2011-09-14 2011-09-14 Information processing system, data error detection method, program, and storage medium

Publications (2)

Publication Number Publication Date
JP2013061842A JP2013061842A (en) 2013-04-04
JP5793379B2 true JP5793379B2 (en) 2015-10-14

Family

ID=48186455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011200337A Expired - Fee Related JP5793379B2 (en) 2011-09-14 2011-09-14 Information processing system, data error detection method, program, and storage medium

Country Status (1)

Country Link
JP (1) JP5793379B2 (en)

Also Published As

Publication number Publication date
JP2013061842A (en) 2013-04-04

Similar Documents

Publication Publication Date Title
JP5658128B2 (en) System, method, and computer program for probabilistic multilayer error correction in NAND flash memory
JP5780174B2 (en) System and method for handling bad bit errors
US11093331B2 (en) Method, device and computer program product for detecting incomplete write of data
CN110442473B (en) Nonvolatile data storage method and device, electronic equipment and medium
US9575692B2 (en) Cache control device having fault-tolerant function and method of operating the same
US9766975B2 (en) Partial ECC handling for a byte-write capable register
US20180157428A1 (en) Data protection of flash storage devices during power loss
US10831401B2 (en) Method, device and computer program product for writing data
US20170063401A1 (en) Partial ecc mechanism for a byte-write capable register
KR20100104454A (en) Error correcting device, method for error correction thereof and memory device and data processing system including of the same
US20170060677A1 (en) Generating ecc values for byte-write capable registers
CN106802837B (en) Method and device for updating error detection and correcting ECC code
JP5695112B2 (en) Data storage device, data storage method, and in-vehicle control device
JP6009290B2 (en) Electronic control device for vehicle
US8533560B2 (en) Controller, data storage device and program product
US9182943B2 (en) Methods and devices for prime number generation
JP5793379B2 (en) Information processing system, data error detection method, program, and storage medium
JP6304007B2 (en) Microcontroller
US10120614B2 (en) Storage device, storage system, and method of controlling storage device
CN111131051A (en) Route issuing method and device
JP6054753B2 (en) Semiconductor device and data access method
JP2007257628A (en) Method for error correction and error detection for reading out stored information data and storage control unit therefor
JP2011054221A (en) Storage device and electronic device
JP6092673B2 (en) Memory control device and memory control method
US9519539B2 (en) Monitoring data error status in a memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150605

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150714

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150810

LAPS Cancellation because of no payment of annual fees