(57)【特許請求の範囲】
【請求項１】
メモリ上にデータを書き込むデータ書込装置であって、
書込対象データの各ビットを加算した結果の下位ｎ（ｎは２以上）ビットを抽出してパリティビット列として出力する第１演算部と、
前記第１演算部により出力されたパリティビット列の各ビットを反転演算する第２演算部と、
書込対象データとともに、反転演算された前記パリティビット列を前記メモリ上に書込む書込部と、
を含むことを特徴とするデータ書込装置。
【請求項２】
メモリ上のデータの破壊を、前記データとともに前記メモリ上に格納されたパリティビット列を用いて検出するデータ破壊検出装置であって、
前記パリティビット列は、データの書込時に破壊検出対象データの各ビットを加算した結果の下位ｎ（ｎは２以上）ビットを抽出して反転演算した結果であり、
反転演算結果である前記パリティビット列の各ビットを反転した後出力する反転演算部と、
前記メモリ上の現在のデータの各ビットを加算した結果の下位ｎビットを抽出してパリティビット列として出力するパリティ演算部と、
前記反転演算部と前記パリティ演算部との各出力結果の比較により、データの破壊を検出する検出部と、
を含むことを特徴とするデータ破壊検出装置。
【請求項３】
メモリ上のデータの破壊を、前記データとともに前記メモリ上に格納されたパリティビット列を用いて検出するデータ破壊検出装置であって、
前記パリティビット列は、データの書込時に破壊検出対象データの各ビットを加算した結果の下位ｎ（ｎは２以上）を抽出して反転演算した結果であり、
前記メモリ上の現在のデータの各ビットを加算した結果の下位ｎビットを抽出してパリティビット列として出力するパリティ演算部と、
前記パリティ演算部により出力されたパリティビット列の各ビットを反転する反転演算部と、
前記メモリ上のパリティビット列と前記反転演算部による反転結果との比較により、データの破壊を検出する検出部と、
を含むことを特徴とするデータ破壊検出装置。
【請求項４】
フローティングゲートへの電子の蓄積状態によって各ビットの値が決まるメモリ上にデータを書き込むデータ書込装置であって、
書込対象データの各ビットを加算した結果の下位ｎ（ｎは２以上）ビットを抽出してパリティビット列として出力する第１演算部と、
前記第１演算部により出力されたパリティビット列の各ビットを反転演算する第２演算部と、
書込対象データとともに、反転演算された前記パリティビット列を前記メモリ上に書込む書込部と、
を含むことを特徴とするデータ書込装置。
【請求項５】
請求項４記載のデータ書込装置において、
前記メモリのフローティングゲートに電子が蓄積されている状態のビット値を１として処理することを特徴とするデータ書込装置。
【請求項６】
フローティングゲートへの電子の蓄積状態によって各ビットの値が決まるメモリ上のデータの破壊を、前記データとともに前記メモリ上に格納されたパリティビット列を用いて検出するデータ破壊検出装置であって、
前記パリティビット列は、データの書込時に破壊検出対象データの各ビットを加算した結果の下位ｎ（ｎは２以上）ビットを抽出して反転演算した結果であり、
反転演算結果である前記パリティビット列の各ビットを反転した後出力する反転演算部と、
前記メモリ上の現在のデータの各ビットを加算した結果の下位ｎビットを抽出してパリティビット列として出力するパリティ演算部と、
前記反転演算部と前記パリティ演算部との各出力結果の比較により、データの破壊を検出する検出部と、
を含むことを特徴とするデータ破壊検出装置。
【請求項７】
フローティングゲートへの電子の蓄積状態によって各ビットの値が決まるメモリ上のデータの破壊を、前記データとともに前記メモリ上に格納されたパリティビット列を用いて検出するデータ破壊検出装置であって、
前記パリティビット列は、データの書込時に破壊検出対象データの各ビットを加算した結果の下位ｎ（ｎは２以上）ビットを抽出して反転演算した結果であり、
反転演算結果である前記パリティビット列を格納するフローティングゲートのうち電子が蓄積されている状態の各ビットを反転した後出力する反転演算部と、
前記メモリ上の現在のデータを格納するフローティングゲートのうち電子が蓄積されている状態のビットを加算した結果の下位ｎビットを抽出してパリティビット列として出力するパリティ演算部と、
前記反転演算部と前記パリティ演算部との各出力結果の比較により、データの破壊を検出する検出部と、
を含むことを特徴とするデータ破壊検出装置。
【請求項８】
フローティングゲートへの電子の蓄積状態によって各ビットの値が決まるメモリ上のデータの破壊を、前記データとともに前記メモリ上に格納されたパリティビット列を用いて検出するデータ破壊検出装置であって、
前記パリティビット列は、データの書込時に破壊検出対象データの各ビットを加算した結果の下位ｎ（ｎは２以上）を抽出して反転演算した結果であり、
前記メモリ上の現在のデータの各ビットを加算した結果の下位ｎビットを抽出してパリティビット列として出力するパリティ演算部と、
前記パリティ演算部により出力されたパリティビット列の各ビットを反転する反転演算部と、
前記メモリ上のパリティビット列と前記反転演算部による反転結果との比較により、データの破壊を検出する検出部と、
を含むことを特徴とするデータ破壊検出装置。
【請求項９】
フローティングゲートへの電子の蓄積状態によって各ビットの値が決まるメモリ上のデータの破壊を、前記データとともに前記メモリ上に格納されたパリティビット列を用いて検出するデータ破壊検出装置であって、
前記メモリ上のパリティビット列は、データの書込時に破壊検出対象データの各ビットを加算した結果の下位ｎ（ｎは２以上）を抽出して反転演算した結果であり、
前記メモリ上の現在のデータを格納するフローティングゲートのうち電子が蓄積されている状態のビットを加算した結果の下位ｎビットを抽出してパリティビット列として出力するパリティ演算部と、
前記パリティ演算部により出力されたパリティビット列の各ビットを反転する反転演算部と、
前記メモリ上のパリティビット列と前記反転演算部による反転結果との比較により、データの破壊を検出する検出部と、
を含むことを特徴とするデータ破壊検出装置。
【請求項１０】
請求項６乃至９のいずれか１項に記載のデータ破壊検出装置において、
前記メモリのフローティングゲートに電子が蓄積されている状態のビット値を１として処理することを特徴とするデータ破壊検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリ上のデータ破壊を検出するためのデータ書込装置及びデータ破壊検出装置に係り、特に検出精度の改良に関する。
【０００２】
【従来の技術】
近年、多くの埋込型のマイクロコンピュータでの処理に必要とされるソフトウエアやパラメータが電気的プログラム可能ＲＯＭ（ＥＰＲＯＭ）等の不揮発性メモリに記録されている。このＥＰＲＯＭは、トランジスタによりデータの各ビットを記録するもので、フローティングゲートに電子を注入してトランジスタのオン／オフを制御し、ビット記憶を行う。このＥＰＲＯＭ等不揮発性メモリの記憶保持の原理や動作については、１９８５年に岩波書店から発行された、菅野他著による「岩波講座マイクロエレクトロニクス１  マイクロエレクトロニクス素子Ｉ」の２５６ページから２５８ページに詳しく説明されているので、ここでの詳細な説明を省略する。
【０００３】
従来のデータ書込装置及びデータ破壊検出装置について図４及び図５を参照して説明する。従来のデータ書込装置１０は、図４に示すように、ＥＰＲＯＭ等のメモリ１に対して、データ及び当該データに基づいて演算されるパリティビットを格納するもので、バッファ１１と、パリティ演算部１２と、書込部１３とから基本的に構成されている。また、従来のデータ破壊検出装置２０は、図５に示すようにメモリ１からデータを読み出して、当該データと、破壊の有無を表す比較結果の情報を出力するもので、具体的には、読込部２１と、バッファ２２と、パリティ演算部２３と、比較部２４とから基本的に構成されている。
【０００４】
ここで、バッファ１１は、入力された書込対象となるデータを保持する。パリティ演算部１２は、バッファ１１に格納された書込対象の各ビットを加算して、その加算結果の下位ｎビット（ｎは１以上）を抽出してパリティビット列として出力する。書込部１３は、このパリティビット列の入力を受けて、バッファ１１から書込対象データを取得してパリティビット列とともに格納する。この格納した結果は、図６に示すようなものとなる。尚、図６において、図６（ａ）は、ｎ＝１の場合を、図６（ｂ）は、ｎ＝２の場合をそれぞれ表している。
【０００５】
一方、データ破壊検出装置２０の読込部２１は、メモリ１から読込対象データを読み出して、データ部分とパリティビット列部分を分離してそれぞれバッファ２２と比較部２４とに出力する。バッファ２２は、読込部２１からデータ部分の入力を受けて保持する。パリティ演算部２３は、バッファ２２に格納されたデータのｎビットのパリティビット列を演算する。比較部２４は、読込部２１から入力されたメモリ１から読み出されたパリティビット列と、パリティ演算部２３から入力された現在メモリ１に格納されているデータに基づくパリティビット列とを比較して、その比較結果を出力する。
【０００６】
従来のデータ書込装置１０は入力されたデータのパリティビット列を演算して、データとパリティビット列とをこのメモリ１に格納していた。ここで、ＥＰＲＯＭ等のメモリ１に格納するデータについて、データ「０」をフローティングゲートに電子が蓄積されていない状態、データ「１」を電子が蓄積されている状態とすると、フローティングゲートの電子が経年劣化により放出され（電荷抜けし）てデータのビットの一部が「１」から「０」に変わることがある（これをデータ破壊と称する）。これに比べて、フローティングゲートへ電子が注入され、「０」から「１」に変わることは確率的に非常に低い。
【０００７】
具体的に図６に示したデータ「００１００１０１１１」の下位側３ビット目のビットが「１」から「０」に変化し、「００１００１００１１」となったとする。
【０００８】
すると、従来のデータ破壊検出装置２０の読込部２１がこの「００１００１００１１」をデータ部分として出力し、パリティビット「１」（ｎ＝１のとき）又は「０１」（ｎ＝２のとき）を出力する。一方パリティ演算部２３が読込部２１で読み込まれたデータ部分に基づいて演算するパリティビットはｎ＝１の場合「０」であり、ｎ＝２の場合「００」である。従って、比較部２４がこれらの値が異なることを検知して、その比較結果として、データ破壊が発生したことを報知する。
【０００９】
【発明が解決しようとする課題】
しかしながら、上記従来のデータ書込装置及びデータ破壊検出装置では、ｎ＝１の場合、２つのビットのデータ破壊が発生したときには検出ができなくなる。またｎ＝２とした場合でも、例えば図６（ｂ）のときにデータが「００１００１００１１」に変化し、かつパリティビット列の下位ビットが「０」に変化して、「００」となると、読み出されたパリティビット列と、読み出されたデータに基づいて演算されたパリティビット列が一致してしまい、検出ができなくなるという問題点があった。
【００１０】
本発明は上記実情に鑑みて為されたもので、複数ビットのデータ破壊を確実に検出できるデータ書込装置及びデータ破壊検出装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記従来例の問題点を解決するための請求項１記載の発明は、メモリ上にデータを書き込むデータ書込装置であって、書込対象データに対し、パリティビット列を演算する第１演算部と、演算された前記パリティビット列の各ビットを反転演算する第２演算部と、書込対象データとともに、反転演算された前記パリティビット列を前記メモリ上に書込む書込部と、を含むことを特徴としている。
【００１２】
また、上記従来例の問題点を解決するための請求項２記載の発明は、メモリ上のデータの破壊を、前記データとともに前記メモリ上に格納されたパリティビット列を用いて検出するデータ破壊検出装置であって、前記パリティビット列は、データの書込時に破壊検出対象データに基づくパリティビット列を反転演算した結果であって、反転演算結果である前記パリティビット列の各ビットを反転演算する反転演算部と、前記メモリ上の現在のデータのパリティビット列を演算するパリティ演算部と、前記反転演算部と、パリティ演算部との演算結果の比較により、データの破壊を検出する検出部と、を含むことを特徴としている。
【００１３】
上記従来例の問題点を解決するための請求項３記載の発明は、メモリ上のデータの破壊を、前記データとともに前記メモリ上に格納されたパリティビット列を用いて検出するデータ破壊検出装置であって、前記パリティビット列は、データの書込時に破壊検出対象データに基づくパリティビット列を反転演算した結果であり、前記メモリ上の現在のデータに基づいてパリティビット列を演算するパリティ演算部と、現在のデータに基づく前記パリティビット列の各ビットを反転する反転演算部と、前記メモリ上のパリティビット列と、反転演算部の演算結果の比較により、データの破壊を検出する検出部と、を含むことを特徴としている。
更に、他の発明に係るデータ書込装置は、フローティングゲートへの電子の蓄積状態によって各ビットの値が決まるメモリ上にデータを書き込むデータ書込装置であって、書込対象データの各ビットを加算した結果の下位ｎ（ｎは２以上）ビットを抽出してパリティビット列として出力する第１演算部と、前記第１演算部により出力されたパリティビット列の各ビットを反転演算する第２演算部と、書込対象データとともに、反転演算された前記パリティビット列を前記メモリ上に書込む書込部と、を含むことを特徴とする。
また、前記メモリのフローティングゲートに電子が蓄積されている状態のビット値を１として処理することを特徴とする。
他の発明に係るデータ破壊検出装置は、フローティングゲートへの電子の蓄積状態によって各ビットの値が決まるメモリ上のデータの破壊を、前記データとともに前記メモリ上に格納されたパリティビット列を用いて検出するデータ破壊検出装置であって、前記パリティビット列は、データの書込時に破壊検出対象データの各ビットを加算した結果の下位ｎ（ｎは２以上）ビットを抽出して反転演算した結果であり、反転演算結果である前記パリティビット列の各ビットを反転した後出力する反転演算部と、前記メモリ上の現在のデータの各ビットを加算した結果の下位ｎビットを抽出してパリティビット列として出力するパリティ演算部と、前記反転演算部と前記パリティ演算部との各出力結果の比較により、データの破壊を検出する検出部と、を含むことを特徴とする。
更に、他の発明に係るデータ破壊検出装置は、フローティングゲートへの電子の蓄積状態によって各ビットの値が決まるメモリ上のデータの破壊を、前記データとともに前記メモリ上に格納されたパリティビット列を用いて検出するデータ破壊検出装置であって、前記パリティビット列は、データの書込時に破壊検出対象データの各ビットを加算した結果の下位ｎ（ｎは２以上）ビットを抽出して反転演算した結果であり、反転演算結果である前記パリティビット列を格納するフローティングゲートのうち電子が蓄積されている状態の各ビットを反転した後出力する反転演算部と、前記メモリ上の現在のデータを格納するフローティングゲートのうち電子が蓄積されている状態のビットを加算した結果の下位ｎビットを抽出してパリティビット列として出力するパリティ演算部と、前記反転演算部と前記パリティ演算部との各出力結果の比較により、データの破壊を検出する検出部と、を含むことを特徴とする。
更に、他の発明に係るデータ破壊検出装置は、フローティングゲートへの電子の蓄積状態によって各ビットの値が決まるメモリ上のデータの破壊を、前記データとともに前記メモリ上に格納されたパリティビット列を用いて検出するデータ破壊検出装置であって、前記パリティビット列は、データの書込時に破壊検出対象データの各ビットを加算した結果の下位ｎ（ｎは２以上）を抽出して反転演算した結果であり、前記メモリ上の現在のデータの各ビットを加算した結果の下位ｎビットを抽出してパリティビット列として出力するパリティ演算部と、前記パリティ演算部により出力されたパリティビット列の各ビットを反転する反転演算部と、前記メモリ上のパリティビット列と前記反転演算部による反転結果との比較により、データの破壊を検出する検出部と、を含むことを特徴とする。
更に、他の発明に係るデータ破壊検出装置は、フローティングゲートへの電子の蓄積状態によって各ビットの値が決まるメモリ上のデータの破壊を、前記データとともに前記メモリ上に格納されたパリティビット列を用いて検出するデータ破壊検出装置であって、前記メモリ上のパリティビット列は、データの書込時に破壊検出対象データの各ビットを加算した結果の下位ｎ（ｎは２以上）を抽出して反転演算した結果であり、前記メモリ上の現在のデータを格納するフローティングゲートのうち電子が蓄積されている状態のビットを加算した結果の下位ｎビットを抽出してパリティビット列として出力するパリティ演算部と、前記パリティ演算部により出力されたパリティビット列の各ビットを反転する反転演算部と、前記メモリ上のパリティビット列と前記反転演算部による反転結果との比較により、データの破壊を検出する検出部と、を含むことを特徴とする。
また、上記他の発明に係るデータ破壊検出装置において、前記メモリのフローティングゲートに電子が蓄積されている状態のビット値を１として処理することを特徴とする。
【００１４】
【発明の実施の形態】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係るデータ書込装置３０は、メモリ１に対しデータとパリティビット列とを書込むもので、図１に示すように、バッファ１１と、第１演算部としてのパリティ演算部１２と、書込部１３と、第２演算部としてのパリティ反転部１４とから基本的に構成されている。また、本実施の形態に係るデータ破壊検出装置４０は、メモリ１からデータを読み出して当該データと、破壊の有無を表す比較結果の情報を出力するもので、図２に示すように、読込部２１と、バッファ２２と、パリティ演算部２３と、比較部２４と、反転演算部としてのパリティ反転部２５とから基本的に構成されている。尚、従来のものと同様の構成をとるものについては、同一の符号を付して詳細な説明を省略する。
【００１５】
またここで、ｍビットの誤りを検出したいときには、パリティビット列をｍビットとする。具体的に以下ではｍ＝２の場合を例として説明する。
【００１６】
パリティ反転部１４は、パリティ演算部１２から入力されるパリティビット列の各ビットを反転して書込部１３に出力する。具体的にパリティ演算部１２から入力されるパリティビット列が「０１」である場合には、これらの各ビットを反転して「１０」とし、この反転したパリティビット列を出力する。
【００１７】
データ破壊検出装置４０のパリティ反転部２５も同様に、読込部２１から入力されるパリティビット列部分の各ビットを反転して、比較部２４に出力する。
【００１８】
次に、本発明の実施の形態に係るデータ書込装置３０とデータ破壊検出装置４０の動作について説明する。尚、以下の説明では、自動車車両で車両ごとの特性を考慮して設定される車両の操舵性に関係する調整用のパラメータ（ＶＳＣ（Vehicle Stability Control）パラメータ等）をＥＰＲＯＭに格納する場合を例として説明する。
【００１９】
車両の出荷時に車両ごとの特性に応じて演算されたパラメータは、本実施の形態のデータ書込装置３０にデータとして入力される。以下の説明では、このデータが「００１００１０１１１」であるとする。データ書込装置３０がこのデータの入力を受けて、バッファ１１に保持し、パリティ演算部１２がこのデータに基づく２ビットのパリティビット列「０１」を演算し、パリティ反転部１４がこれを反転して「１０」として書込部１３に出力する。そして、書込部１３がバッファ１１に保持されたデータとパリティ反転部１４が出力するパリティビット列とをメモリ１に書込む。このとき、メモリ１には、図３（ａ）に示すように、「００１００１０１１１」のデータと、「１０」のパリティビット列とが格納されている。
【００２０】
そして車両の走行中に、このデータが本実施の形態のデータ破壊検出装置４０によって読み出されてデータの破壊の有無が検証される。すなわち、データが破壊されていない状態では、メモリ１から読込部２１で読み込まれ、バッファ２２に保持されたデータは、「００１００１０１１１」であるので、パリティ演算部２３が出力するパリティビット列は「０１」となる。一方、読込部２１が出力するパリティビット列「１０」がパリティ反転部２５で反転された結果は「０１」であるので、これらが一致しデータは破壊されていないことが検出される。
【００２１】
一方図３（ｂ）に示すように、データ部分が１ビット抜けた場合（ビット抜けの場所を矢印で図示している）、例えば「００１００１０１０１」のように、下位から２ビット目が「１」から「０」に変化してしまった場合には、パリティ演算部２３の出力が「００」となり、パリティ反転部２５の出力が「０１」であるので、これらの値が一致せず、比較部２４は、データ破壊があったことを検出して、その結果を出力し、バッファ２２から出力されるデータは利用されないようになる。
【００２２】
さらに、図３（ｃ）に示すように、データ部分が１ビット抜けて「００１００１０１０１」となり、パリティビット列からも１ビット抜けて「１０」から「００」となった場合には、パリティ演算部２３が出力するパリティビット列が「００」であり、パリティ反転部２５が出力するパリティビット列は、「００」を反転した「１１」となるから、これらが一致せず、比較部２４がデータ破壊を検出して、その結果を出力し、バッファ２２から出力されるデータは利用されないようになる。
【００２３】
同様に図３（ｄ）に示すようにパリティ部分が１ビット抜けて「００」となったときも、これを反転した「１１」と、データ部分から演算されるパリティビット列「０１」とは一致しないので、データ破壊が検出される。
【００２４】
さらに、図３（ｅ）のようにデータ「１０１０１０１０００」の場合、パリティビット列は「００」であり、本実施の形態のデータ書込装置３０によれば、これを反転した「１１」が書き込まれる。ここでパリティビット列「１１」に２ビットの破壊が発生して図３（ｆ）に示すように、「００」に変化した場合、本実施の形態のデータ破壊検出装置４０のパリティ演算部２３が「００」を出力し、パリティ反転部２５が変化後のパリティビット列「００」を反転した「１１」を出力するので、比較部２４がこれらが一致していないことを検知し、データ破壊が検出される。
【００２５】
このように、本実施の形態のデータ書込装置及びデータ破壊検出装置によれば、ｍビットのパリティビットを書き込んでおくことで、ｍビットまでのデータ破壊が確実に検出できる。
【００２６】
尚、ここでは、パリティ反転部２５は、読込部２１が出力するパリティビット列（現在メモリ１に書き込まれているパリティビット列）を反転しているが、この代わりに読込部２１が現在メモリ１に書き込まれているパリティビット列を比較部２４にそのまま出力し、パリティ演算部２３が出力するパリティビット列（現在のデータに基づいて演算されるパリティビット列）の各ビットをパリティ反転部２５が反転して、比較部２４に出力することとしてもよい。
【００２７】
【発明の効果】
請求項１記載の発明によれば、パリティビット列を反転して書込むデータ書込装置としているので、後に、例えばこのパリティビット列を反転し、そのときのデータに基づいて演算されるパリティビット列と比較することで、当該パリティビット列のビット数分のデータ破壊を確実に検出させることができる。
【００２８】
請求項２又は３に記載の発明によれば、反転して書き込まれたパリティビット列と、データに基づいて演算されるパリティビット列とに基づいてデータ破壊を検出するデータ破壊検出装置としているので、当該パリティビット列のビット数分のデータ破壊が確実に検出できる。
【図面の簡単な説明】
【図１】  本発明の実施の形態に係るデータ書込装置の構成ブロック図である。
【図２】  本発明の実施の形態に係るデータ破壊検出装置の構成ブロック図である。
【図３】  メモリに格納されたデータ及びパリティビット列の例を表す説明図である。
【図４】  従来のデータ書込装置の構成ブロック図である。
【図５】  従来のデータ破壊検出装置の構成ブロック図である。
【図６】  メモリに格納されたデータ及びパリティビット列の例を表す説明図である。
【符号の説明】
１  メモリ、１０，３０  データ書込装置、１１，２２  バッファ、１２，２３  パリティ演算部、１３  書込部、１４，２５  パリティ反転部、２０，４０データ破壊検出装置、２１  読込部、２４  比較部。
【図１】
0003750477.tif 000002
【図２】
0003750477.tif 000003
【図３】
0003750477.tif 000004
【図４】
0003750477.tif 000005
【図５】
0003750477.tif 000006
【図６】
0003750477.tif 000007