エラー検出プログラム及びデータを格納した情報記憶装置と、前記エラー検出プログラムを演算実行する中央処理装置とを備えた情報処理システムにおいて、前記情報記憶装置の中の監視対象領域にあるデータの整合性を確認するための第一チェック値を算出する第一チェック値算出手段と、第一チェック値を算出している途中で監視対象領域にあるデータを書き換える場合にその書き換えによる第一チェック値の変化を表す情報を作成する変化情報作成手段と、第一チェック値の算出が完了したときに第一チェック値及び前記変化情報作成手段により得られる第一チェック値の変化を表す情報から第二チェック値を繰り返し算出する第二チェック値算出手段と、前記第二チェック値算出手段で得られた第二チェック値とそれ以前に得られた第二チェック値とを比較することによりデータエラーを判定するデータエラー判定手段とを備えることを特徴とする情報処理システム。データエラー判定を開始する時点で監視対象領域に格納されているデータの前記第二チェック値が予めわかっている場合、前記データエラー判定手段において比較する情報は、予め分かっている前記第二チェック値と、前記第二チェック値算出手段により得られる第二チェック値であることを特徴とする請求項1記載の情報処理システムエラー検出プログラム及びデータを格納した情報記憶装置と、前記エラー検出プログラムを演算実行する中央処理装置とを備えた情報処理システムのデータエラーを検出するデータエラー検出方法において、前記情報記憶装置の中の監視対象領域にあるデータの整合性を確認するための第一チェック値を算出する第一チェック値算出ステップと、第一チェック値を算出している途中で監視対象領域にあるデータを書き換える場合にその書き換えによる第一チェック値の変化を表す情報を作成する変化情報作成ステップと、第一チェック値の算出が完了したときに第一チェック値及び前記変化情報作成ステップにより得られる第一チェック値の変化を表す情報から第二チェック値を繰り返し算出する第二チェック値算出ステップと、前記第二チェック値算出ステップで得られた第二チェック値とそれ以前に得られた第二チェック値とを比較することによりデータエラーを判定するデータエラー判定ステップとを備えることを特徴とするデータエラー検出方法。データエラー判定を開始する時点で監視対象領域に格納されているデータの前記第二チェック値が予めわかっている場合、前記データエラー判定ステップにおいて比較する情報は、あらかじめ分かっている前記第二チェック値と、前記第二チェック値算出ステップにより得られる第二チェック値であることを特徴とする請求項3記載のデータエラー検出方法。エラー検出プログラム及びデータを格納した情報記憶装置と、前記エラー検出プログラムを演算実行する中央処理装置とを備え、情報処理システムとして機能させるためのコンピュータにおいて、前記情報記憶装置の中の監視対象領域にあるデータの整合性を確認するための第一チェック値を算出する第一チェック値算出手段と、第一チェック値を算出している途中で監視対象領域にあるデータを書き換える場合にその書き換えによる第一チェック値の変化を表す情報を作成する変化情報作成手段と、第一チェック値の算出が完了したときに第一チェック値及び前記変化情報作成手段により得られる第一チェック値の変化を表す情報から第二チェック値を繰り返し算出する第二チェック値算出手段と、前記第二チェック値算出手段で得られた第二チェック値とそれ以前に得られた第二チェック値とを比較することによりデータエラーを判定するデータエラー判定手段として機能させるためのプログラム。データエラー判定を開始する時点で監視対象領域に格納されているデータの前記第二チェック値が予めわかっている場合、前記データエラー判定手段において比較する情報は、予め分かっている前記第二チェック値と、前記第二チェック値算出手段により得られる第二チェック値であることを特徴とする請求項5記載のプログラム。請求項5または請求項6記載のプログラムを格納することを特徴とするコンピュータ読み取り可能な記憶媒体。しかし、データに対するチェック値を算出する方法の場合、チェック値算出中にデータを書き換えることができない。また、データを冗長化して整合性チェックを行う方法の場合は、データを書き換えながらデータの整合性のチェックができるが、データの冗長化が必要であるため、情報記憶装置の本来の記憶容量よりも少ない情報量しか記憶できず、単位情報を保存するのに要するハードウェアコストが冗長化しない場合に比べて高くなる。このように、従来はデータを冗長化せずにデータを書き換えながらデータエラーを検出することができなかった。本発明の実施形態では、データの冗長化を行わずにデータを書き換えながらデータエラーの検出を行うことができる情報処理システム、データエラー検出方法、プログラム及び記憶媒体を得ることである。本発明の実施形態の情報処理システムは、エラー検出プログラム及びデータを格納した情報記憶装置と、エラー検出プログラムを演算実行する中央処理装置とを備える。中央処理装置は、情報記憶装置の中の監視対象領域にあるデータの整合性を確認するための第一チェック値を算出する第一チェック値算出手段と、第一チェック値を算出している途中で監視対象領域にあるデータを書き換える場合にその書き換えによる第一チェック値の変化を表す情報を作成する変化情報作成手段と、第一チェック値の算出が完了したときに第一チェック値及び変化情報作成手段により得られる第一チェック値の変化を表す情報から第二チェック値を繰り返し算出する第二チェック値算出手段と、第二チェック値算出手段で得られた第二チェック値とそれ以前に得られた第二チェック値とを比較することによりデータエラーを判定するデータエラー判定手段とを備える。実施形態1本発明の実施形態1を説明する。図1は本発明の実施形態1に係る情報処理システムの構成図であり、図1aはハードウエア構成図、図1bは機能構成図である。本発明の実施形態1の情報処理システムは、中央処理装置1、主記憶装置2、情報伝送路3より構成される。主記憶装置2には監視対象領域21、エラー検出プログラム22が含まれる。そして、中央処理装置1においてエラー検出プログラムが演算実行されることにより、図1bに示す第一チェック値算出手段11、変化情報作成手段12、第二チェック値算出手段13、データエラー判定手段14の各種機能が実現される。第一チェック値算出手段11は、主記憶装置2の中の監視対象領域21にあるデータの整合性を確認するための第一チェック値を算出するものである。変化情報作成手段12は、第一チェック値を算出している途中で主記憶装置2の中の監視対象領域21にあるデータを書き換える場合に、その書き換えによる第一チェック値の変化を表す情報を作成するものである。また、第二チェック値算出手段13は、第一チェック値の算出が完了したときに第一チェック値及び変化情報作成手段12により得られる第一チェック値の変化を表す情報から第二チェック値を繰り返し算出するものである。データエラー判定手段14は、第二チェック値算出手段13で得られた第二チェック値と、それ以前に得られた第二チェック値とを比較することにより、データエラーを判定するものである。すなわち、中央処理装置1は、エラー検出プログラム22によってデータエラー検出処理を行い、監視対象領域21で発生するデータエラーを検出する。中央処理装置1と主記憶装置2との間の情報のやり取りは情報伝送路3を介して行われる。図2は実施形態1のエラー検出プログラム22を実行処理して実現されるデータエラー検出処理内容を示すフローチャートである。第一チェック値算出手段11は、図2のステップS101、ステップS102、ステップS106、ステップS107の処理を行う。変化情報作成手段12、図2のステップS103、ステップS104、ステップS105の処理を行う。第二チェック値算出手段13は、図2のステップS108、ステップS109、ステップS110の処理を行う。ただし、ステップS110ではv-fの算出のみを行う。データエラー判定手段14は、図2のステップS110、ステップS111の処理を行う。ただし、ステップS110についてはステップS110により算出されたv-fの計算結果と第二チェック値cとの比較処理を行う。まず、ステップS101では、第一チェック値v、前方変化値f、後方変化値rを0で初期化し、チェック値計算済みアドレスkをk0-1で初期化する。ここで、v、f、rは情報処理システム上ではビット列を保持する変数である。初期化に使用する0という値は、状態が0のビット列を表す。v、f、rの各変数のビット長は等しいものとする。また、チェック値計算済みアドレスkは初期値として監視対象領域21の先頭アドレスk0の一つ前のアドレスk0-1をとる。ステップS102では、監視対象領域21にデータを書き込むか否かを判定する。書き込む場合はステップS103に進み、そうでない場合はステップS106に進む。書き込む場合、書き込み先アドレスをa、書込む値をiとする。ステップS103では、書き込み先アドレスaがチェック値計算済みアドレスkよりも大きいか否かを判定する。aがkよりも大きい場合はステップS104に進み、そうでない場合はステップS105に進む。ステップS104では、前方変化値fにfi-maの計算結果を格納する。ここで、maは主記憶装置2のアドレスaに格納されているデータを表す。また、演算子は加算を、演算子-は減算を意味し、fが表現できる範囲を超えた場合は次に示す例を用いて丸め込むものとする。例えば、fが4bitの場合は10進数で0~15までの値を表現できるが、fi-maの計算結果が16以上になった場合は16割った余りをその計算結果とし、負数になった場合は正数になるまで16を加算して得られる値を計算結果とする。fに値を格納した後、maにiを書き込む。ステップS105では、rにri-maの計算結果を格納する。演算子及び-の意味はステップS104の場合と同じである。rに値を格納した後、maにiを書込む。ステップS106ではチェック値計算済みアドレスkにk1を格納する。k1はkが指しているアドレスの次のアドレスを意味する。そして、第一チェック値vにvmkの計算結果を格納する。ここで、演算子の意味はステップS104の場合と同じである。ステップS107ではチェック値計算済みアドレスkが終端アドレスlと等しいか否かを判定する。lは監視対象領域21の終端のアドレスを表す。kとlが等しい場合はステップS108に進み、そうでない場合はステップS102に進む。ステップS108では、第二チェック値cに有効な値が格納されているか否かを判定する。図2に示したフローチャートの処理を実行してから初めてステップS108を実行する場合は、第二チェック値cに有効な値が格納されていないと判定し、ステップS109に進む。そうでない場合はステップS110に進む。ただし、ステップS101を実行する時点で監視対象領域21の第二チェック値がわかっている場合、つまり、監視対象領域21の各アドレスに格納されているデータを演算子により結び付けて演算した結果がわかっている場合は、その時点でcに第二チェック値を格納しておき、S108が実行される場合には初回か否かに関わらずcに有効な値が格納されていると判定し、ステップS110に進む。ステップS109では、cにv-fを、fにfrを、vに0を、rに0を、kにk0-1を格納する処理を順に行う。演算子及び-の意味はステップS104の場合と同じである。ステップS110ではv-fとcが等しいか否かを判定する。等しい場合はステップS111に進み、そうでない場合はデータエラー発生と判定する。演算子-の意味はステップS104の場合と同じである。ステップS111では、fにfrを、vに0を、rに0を、kにk0-1を格納する処理を順に行う。演算子の意味はステップS104の場合と同じである。次に、図3は図2のデータエラー検出処理を実行した場合のデータの変化の一例の説明図である。図3に示した一例は、監視対象領域21が12bit、1アドレスあたりのビット数が4bitでv、f、r、k、cのビット長が4bitの例であり、それぞれの値は0~Fの16進数で表されている。監視対象領域21の先頭アドレスk0は1であり、終端アドレスlは3である。監視対象領域21に格納されているデータの初期値は任意でよいが、ここでは、図3の1に示したとおりとする。処理は1から16まで順に行われ、処理内容と監視対象領域21の内容、及びv、f、r、k、cの演算結果をその右側に示している。また、L1はチェック値計算済みラインである。1は処理開始時であり、図2のステップS101を実行する。その結果、v、f、r、kそれぞれに0が格納される。その後、処理はステップS102に進む。2は監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOと判定した場合の処理であり、S106を実行する。その結果、kには1が格納され、vには4が格納される。その後、S107を実行する。kが1、lが3であるからS107の次はS102に進む。なお、チェック値計算済みラインL1は、チェック値算出の進捗を表すもので、チェック値計算済みアドレスkが指し示すアドレスとその次のアドレスの間に引かれるラインである。3は監視対象領域21のデータを書き換える場合、つまり、ステップS102においてYESと判定した場合の処理であり、ステップS103を実行する。書込み先アドレスaが1、チェック値計算済みアドレスkが1であるからステップS103の次はステップS105に進む。ステップS105を実行すると、rには05-4=1が格納され、アドレス1の内容は5に書き換えられる。その後、ステップS102に進む。4は監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOに進んだ場合の処理であり、2の場合と同様の処理を行う。その結果、kには2が格納され、vには0が格納される。その後、ステップS102に進む。5は監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOと判定した場合の処理であり、ステップS107までは2と同様の処理を行う。その結果、kには3が格納され、vには3が格納される。ステップS107では、kとlとが共に3であるため等しいと判定し、ステップS108に進む。ステップS108では、第二チェック値cに有効な第二チェック値が格納されているか否かを判定する。図3の1の処理を開始してからcには何も格納していないため、cに有効な第二チェック値が格納されていないと判定し、ステップS109に進む。6は、ステップS109を実行した結果であり、cには3-0=3が、fには01=1がv、r、kには0が順に格納される。その後、ステップS102に進む。7は、監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOと判定した場合の処理であり、2の場合と同じ処理を行う。その結果、kには1が格納され、vには5が格納される。8は、監視対象領域21のデータを書き換える場合、つまり、ステップS102においてYESと判定した場合の処理であり、ステップS103を実行する。書込み先アドレスaが3、チェック値計算済みアドレスkが1であるからステップS103の次はステップS104に進む。ステップS104を実行すると、fには1B-3=9が格納され、アドレス3の内容はBに書き換えられる。その後、ステップS102に進む。9は、監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOと判定した場合の処理であり、2の場合と同様の処理を行う。その結果、kには2が格納され、vには1が格納される。10は、監視対象領域21のデータを書き換える場合、つまり、ステップS102においてYESと判定した場合の処理であり、3の場合と同様の処理を行う。その結果、rには8が格納され、アドレス2の内容は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に進む。12は、ステップS111を実行した結果であり、fには98=1が、v、r、kには0が順に格納される。その後、ステップS102に進む。13は、監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOと判定した場合の処理であり、2の場合と同様の処理を行う。その結果、kには1が格納され、vには5が格納される。14は、監視対象領域21のデータにデータエラーが発生し、アドレス2の内容が0に変化したことを表す。15は、監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOと判定した場合の処理であり、2の場合と同様の処理を行う。その結果、kには2が格納され、vには5が格納される。16は、監視対象領域21のデータを書き換えない場合、つまり、ステップS102においてNOと判定した場合の処理であり、ステップS110までは11と同様の処理を行う。その結果、kには3が格納され、vには0が格納される。ステップ110ではcとv-fとを比較する。cが3、v-fがFであり、値が一致しないため、ステップ110のNOに進む。つまり、データエラーが発生したと判定する。14においてデータエラーが発生しているため、この判定は正しいものである。本発明の実施形態1によれば、監視対象領域21に格納されたデータを書き換えながら、データエラー検出を行うことができる。データの冗長化を行う必要がないため、監視対象領域21全体に任意の情報を格納することができる。また、特別なハードウェアは不要であり、主記憶装置2と中央演算装置1とを備える情報処理システムにおいて、ソフトウェアによる主記憶装置2のデータエラー検出が可能である。実施形態2本発明の実施形態2を説明する。図4は本発明の実施形態2に係る情報処理システムの構成図である。この実施形態2は、図1に示した実施形態1に対し、主記憶装置2には、監視対象領域21-1、21-2、エラー検出プログラム22-1、22-2を設けたものである。中央処理装置1は、エラー検出プログラム22-1、22-2によって監視対象領域21-1、21-2で発生するデータエラーを検出する。中央処理装置1と主記憶装置2との間の情報のやり取りは情報伝送路3を介して行われる。エラー検出プログラム22-1は監視対象領域21-1のデータエラー検出処理を行う。また、エラー検出プログラム22-2は監視対象領域21-2のデータエラー検出処理を行う。この場合、エラー検出プログラム22-1、22-2は、それぞれ独立してデータエラー検出処理を行う。図5は、図2に示したフローチャートにおいてチェック値算出のために使用した演算を一般化したものである。実施形態2において、データエラー検出処理において行う処理は図2に示したものでも良いし、図5に示したものでも良い。以下の説明では、図2に示したフローチャートにおいてチェック値算出のために使用した演算を一般化した図5のフローチャートについて説明する。図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の関係を満たす二項演算を表す。1x1x2の演算結果はv、f、rが保持可能なビット列になる。2x1x2x3=x1x2x3が成り立つ。3x1e=x1となるビット列eが存在する以降、これを単位元と呼ぶ。4x1に対してx1x1-1=eとなるビット列x1-1が存在する以降、これをx1に対する逆元と呼ぶ。5x1x2=x2x1が成り立つ。例えば、前述した加算を演算子に対応させれば上記条件を満たす。この場合、単位元eは状態が0のビット列であり、減算x1-x2は、x1x2-1が対応する。このほか、排他的論理和や、減算一定の範囲を超えた場合は加算の場合と同じように丸め込むといった演算を演算子に対応させることができる。rに格納するビット列eは上記3のeである。監視対象領域21の先頭アドレスはk0とし、k0-1はk0の一つ前のアドレスを指すものとする。ステップS202では、監視対象領域21にデータを書込むか否かを判定する。書き込む場合はステップS203に進み、そうでない場合はステップS206に進む。書き込む場合、書き込み先アドレスをa、書込む値をiとする。なお、a、iはビット列で表される情報である。ステップS203では、書き込み先アドレスaがチェック値計算済みアドレスkよりも大きいか否かを判定する。aがkよりも大きい場合はステップS204に進み、そうでない場合はステップS205に進む。ステップS204では、前方変化値fにfima-1の計算結果を格納する。ここで、maはアドレスaに格納されているデータを表し、ma-1はmaの逆元を表す。fに値を格納した後、maにiを書込む。ステップS205では、rにrima-1の計算結果を格納する。rに値を格納した後、maにiを書込む。ステップS206ではチェック値計算済みアドレスkにk1の計算結果を格納する。ここで、k1はkの次のアドレスを表す。そして、第一チェック値vにvmkの計算結果を格納する。ステップS207ではチェック値計算済みアドレスkが終端アドレスlと等しいか否かを判定する。等しい場合はステップS208に進み、そうでない場合はステップS202に進む。ここで、lは監視対象領域21の終端のアドレスを表す。ステップS208では、第二チェック値cに有効な値が格納されているか否かを判定する。図5に示したフローチャートの処理を実行してから初めてステップS208を実行する場合は、cに有効な値が格納されていないと判定し、ステップS209に進む。そうでない場合はステップS210に進む。ただし、ステップS201を実行する時点で監視対象領域21の第二チェック値がわかっている場合、つまり、監視対象領域21の各アドレスに格納されているデータを演算子により結び付けて演算した結果がわかっている場合は、その時点でcに第二チェック値を格納しておき、S208が実行される場合には初回か否かに関わらずcに有効な値が格納されていると判定し、ステップS210に進む。ステップS209では、cにvf-1を、fにfrを、vにv0を、rにeを、kにk0-1を格納する処理を順に行う。ここで、f-1はfの逆元を表す。ステップS210ではvf-1とcが等しいか否かを判定する。等しい場合はステップS211に進み、そうでない場合はデータエラー発生と判定する。ステップS211では、fにfrを、vにv0を、rにeを、kにk0-1を格納する処理を順に行う。データエラー検出プログラム22-1、22-2がそれぞれ独立して図5の処理を行うことにより、データエラー検出プログラム22-1、22-2はそれぞれ監視対象領域21-1、21-2のデータエラー検出処理を行うことができる。本発明の実施形態2では、主記憶装置2内に複数の監視対象領域21を設け、それぞれに対してデータエラー検出プログラム22を動作させることにより、各監視対象領域21に対するデータエラーチェックを行うことができる。この場合、データエラー検出は監視対象領域21単位に行われる。そのため、例えば一つの監視対象領域21に一つのアプリケーションを格納している場合で、かつ、データエラーが発生した場合にアプリケーションを再起動するようにしている場合、データエラー発生時に停止させるアプリケーションは、データエラーが発生した監視対象領域21で動作しているアプリケーションのみで済ませることができる。また、図5において示したチェック値算出方法以外にも様々なビット演算を用いてチェック値を算出することができる。実施形態3本発明の実施形態3を説明する。図6は本発明の実施形態3に係る情報処理システムの構成図である。この実施形態3は、図1に示した実施形態1に対し、主記憶装置2にエラー検出プログラム22を格納し、補助記憶装置4の監視対象領域41を監視対象領域としたものである。図6において、中央処理装置1、主記憶装置2、情報伝送路3、補助記憶装置4より構成される。主記憶装置2にはエラー検出プログラム22が含まれる。補助記憶装置4には監視対象領域41が含まれる。主記憶装置2及び補助記憶装置4は、ともに情報記憶装置である。中央処理装置1は、エラー検出プログラム22によって補助記憶装置4のデータエラー検出処理を行い、監視対象領域41で発生するデータエラーを検出する。中央処理装置1、主記憶装置2、補助記憶装置4の間の情報のやり取りは情報伝送路3を介して行われる。エラー検出プログラム22は、図5に示したフローチャートに従って処理を行うものとする。図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の一つ前のアドレスを指すものとする。ステップS202では、監視対象領域41にデータを書き込むか否かを判定する。書き込む場合はステップS203に進み、そうでない場合はステップS206に進む。書き込む場合、監視対象領域41のデータと主記憶装置2に格納した監視対象領域41のデータのアドレスを対応させ、監視対象領域41の書き込み先に対応する主記憶装置2上でのアドレスをaとする。また、書込む値をiとする。ステップS203では、書き込み先アドレスaがチェック値計算済みアドレスkよりも大きいか否かを判定する。aがkよりも大きい場合はステップS204に進み、そうでない場合はステップS205に進む。ステップS204では、前方変化値fにfima-1の計算結果を格納する。ここで、maは主記憶装置2のアドレスaに格納されているデータを表し、ma-1はmaの逆元を表す。fに値を格納した後、maにiを書込む。その後、監視対象領域41のアドレスaに対応する場所にiを書込む。ステップS205では、rにrima-1の計算結果を格納する。rに値を格納した後、maにiを書込む。その後、監視対象領域41のアドレスaに対応する場所にiを書込む。ステップS206ではチェック値計算済みアドレスkにk1を格納する。ここで、k1はkの次のアドレスを表す。そして、第一チェック値vにvmkの計算結果を格納する。ステップS207ではチェック値計算済みアドレスkが終端アドレスlと等しいか否かを判定する。ここで、lは主記憶装置2に格納した監視対象領域41のデータの終端のアドレスを表す。等しい場合はステップS208に進み、そうでない場合はステップS202に進む。ステップS208では、第二チェック値cに有効な値が格納されているか否かを判定する。図5に示したフローチャートの処理を実行してから初めてステップS208を実行する場合は、cに有効な値が格納されていないと判定し、ステップS209に進む。そうでない場合はステップS210に進む。ただし、ステップS201を実行する時点で監視対象領域41の第二チェック値がわかっている場合、つまり、監視対象領域41のデータを主記憶装置2に格納した場合の各アドレスに格納されているデータを演算子により結び付けて演算した結果がわかっている場合は、その時点でcに第二チェック値を格納しておき、S208が実行される場合には初回か否かに関わらずcに有効な値が格納されていると判定し、ステップS210に進む。ステップS209では、cにvf-1を、fにfrを、vにv0を、rにeを、kにk0-1を格納する処理を順に行う。ここで、f-1はfの逆元を表す。ステップS210ではvf-1とcが等しいか否かを判定する。等しい場合はステップS211に進み、そうでない場合はデータエラー発生と判定する。ステップS211では、fにfrを、vにv0を、rにeを、kにk0-1を格納する処理を順に行う。なお、補助記憶装置4の中に複数の監視対象領域41を設けても良い。その場合、監視対象領域41のそれぞれに対してエラー検出プログラム22を主記憶装置2の中に格納し、各エラー検出プログラム22はそれぞれ図5に示した処理を独立して行うようにする。これにより、各監視対象領域41に対するデータエラーチェックを行うことができる。本発明の実施形態3では、主記憶装置2だけでなく、補助記憶装置4に対しても、データを書き換えながらデータエラー検出を行うことができる。この場合もデータの冗長化及び特別なハードウェアは不要である。実施形態4本発明の実施形態4を説明する。図7は本発明の実施形態4に係る情報処理システムの構成図である。この実施形態4は、図1に示した実施形態1に対し、記憶媒体6にエラー検出プログラム62を格納し、主記憶装置2の監視対象領域21、補助記憶装置4の監視対象領域41、記憶媒体6の監視対象領域61を監視対象領域としたものである。主記憶装置2、補助記憶装置4、記録媒体6は、ともに情報記憶装置である。図7において、中央処理装置1、主記憶装置2、情報伝送路3、補助記憶装置4、I/O装置5、記憶媒体6より構成される。記憶媒体6はI/O装置5を介して中央処理装置1に接続されている。主記憶装置2には監視対象領域21が含まれる。補助記憶装置4には監視対象領域41が含まれる。記憶媒体6には監視対象領域61、エラー検出プログラム62が含まれる。図8は記憶媒体6に含まれるエラー検出プログラム62の構成図である。エラー検出プログラム62は、第一チェック値算出プログラムコードP1、変化情報作成プログラムコードP2、第二チェック値算出プログラムコードP3、データエラー判定プログラムコードP4より構成される。中央処理装置1、主記憶装置2、補助記憶装置4、I/O装置5は、情報伝送路3を介して情報をやり取りする。I/O装置5は記憶媒体6と情報のやり取りを行い、記憶媒体6に格納された情報の読み込み/書き込みを行う。主記憶装置2は記憶媒体6に格納されたエラー検出プログラム62を読み込み、エラー検出プログラム62を動作させる。このエラー検出プログラム62がデータエラー検出の対象とするデータは、主記憶装置2の監視対象領域21に格納されたデータでも良いし、補助記憶装置4の監視対象領域41に格納されたデータでも良いし、記憶媒体6の監視対象領域61に格納されたデータでも良い。なお、図7に示した監視対象領域21、41、61はいずれか一つ以上あればよく、例えば、主記憶装置2に読み込まれたエラー検出プログラム62が監視対象領域41に格納されたデータを対象としてデータエラー検出処理を行う場合、監視対象領域21及び監視対象領域61は設けなくて良い。エラー検出プログラム62が主記憶装置2の監視対象領域21に格納されたデータを対象としてデータエラー検出処理を行う場合は実施形態2で述べた処理を行う。エラー検出プログラム62が補助記憶装置4の監視対象領域41に格納されたデータを対象としてデータエラー検出処理を行う場合は実施形態3で述べた処理を行う。エラー検出プログラム62が記憶媒体6の監視対象領域61に格納されたデータを対象としてデータエラー検出処理を行う場合は、図5に示した処理を行う。具体的には、実施形態3で述べた図5の処理において、補助記憶装置4を記録媒体6に、監視対象領域41を監視対象領域61に置き換えた処理を行う。エラー検出プログラム62は、図8に示したプログラム構成となっている。第一チェック値算出プログラムコードP1は、図5のステップS201、ステップS202、ステップS206、ステップS207の処理を行う。変化情報作成プログラムコードP2は、図5のステップS203、ステップS204、ステップS205の処理を行う。第二チェック値算出プログラムコードP3は、図5のステップS208、ステップS209、ステップS210の処理を行う。ただし、ステップS210についてはvf-1の算出のみ行う。データエラー判定プログラムコードP4は、図5のステップS210、ステップS211の処理を行う。ただし、ステップS210については第二チェック値算出プログラムコードP3により算出されたvf-1の計算結果と第二チェック値cとの比較処理を行う。こうしてエラー検出プログラム62は、監視対象領域21、41、61のいずれかに格納されたデータのデータエラー検出処理を行う。本発明の実施形態4では、記憶媒体6に格納されたエラー検出プログラム62を用いて、図7に示した情報処理システム上でデータエラー検出処理を実行することができる。また、主記憶装置2や補助記憶装置4だけでなく、記憶媒体6に対しても、データを書き換えながらデータエラー検出を行うことができる。この場合もデータの冗長化や特別なハードウェアは不要である。従って、データの冗長化を行わず、かつ、データの整合性をチェックしている間にデータを書き換えることを許容するようなデータの整合性チェック方法が存在すれば、単位情報を保存するのに要するハードウェアコストを高めることなくデータの整合性をチェックすることができることになる。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。