JP3743271B2 - データ修復装置 - Google Patents
データ修復装置 Download PDFInfo
- Publication number
- JP3743271B2 JP3743271B2 JP2000244492A JP2000244492A JP3743271B2 JP 3743271 B2 JP3743271 B2 JP 3743271B2 JP 2000244492 A JP2000244492 A JP 2000244492A JP 2000244492 A JP2000244492 A JP 2000244492A JP 3743271 B2 JP3743271 B2 JP 3743271B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- normal
- stored
- area
- determined
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の属する技術分野】
本発明は、記憶媒体のデータ修復装置に関し、特に一つのデータを複数の記憶領域に夫々記憶させる記憶媒体において、記憶された各データを修復するデータ修復装置に関する。
【0002】
【従来の技術】
従来より、各種データを記憶し、電源の有無に拘わらずその内容を保持するための記憶媒体として、例えばEPROM(Erasable Programmable Read Only Memory)やEEPROM(Electrically Erasable Programmable ROM)等の各種不揮発性記憶媒体が知られている。
【0003】
特に、EEPROMは、電源が遮断されても記憶内容が保持されるのに加え、その記憶内容を電気的に容易に書き換え可能であることから、様々な分野で多用されており、例えば自動車においては、キーレスエントリシステムにおいて携帯型送信機から送信されるデータ(固有の暗証コードなど)と照合するための照合用データを記憶したり、或いは自動車の各部の機能を自己診断する所謂ダイアグノーシス機能において故障内容等を記憶するなどの種々の用途で使用されている。
【0004】
一般に、EEPROMにおいては、各メモリセル(EEPROMセル)のデータ保持時間のばらつきやノイズの影響等により、使用中において、あるメモリセルの記憶内容が消去されてしまったり、誤ったデータが書き込まれてしまったりする(データ化け)おそれがある。また、メモリセル自体の劣化によって、記憶内容が変わってしまったり、或いはデータの読み出し・書き込みが共に不可能になってしまうおそれもある。
【0005】
このため、従来より、任意のビット数のデータをEEPROMの所定の記憶領域(データのビット数に応じたメモリセルの集合体)に記憶する際、例えば、同一データを複数の記憶領域に記憶させ、データ読み出しの際はその複数の記憶領域に記憶されたデータを全て読み出して多数決判定を行い、最も多いデータを正規のデータとして判定する、所謂多数決方式が用いられている。
【0006】
このような多数決方式によれば、例えば同一データを三つの記憶領域に記憶させ、そのうち一つの記憶領域においてデータ消去やデータ化けが生じてしまったとしても、残り二つの記憶領域のデータが正常である限り、常に正規のデータを読み出すことができる。
【0007】
また例えば、正規のデータと所定のチェックコード、及びその両者の加算値に更に加算することによりその総和が零となるようなチェックサムを、まとめて一つの記憶領域に記憶すると共に、正規のデータの各ビット値を論理反転させたデータ(ミラーデータ)とチェックコードの各ビット値を論理反転させたミラーチェックコード、及びその両者の加算値に更に加算することによりその総和が零となるようなミラーチェックサムを、まとめて別の記憶領域に記憶しておき、データ読み出しの際に、各記憶領域において各データと各コードと各チェックサムとを加算した結果が零となるか否かを判断し、零となる場合にその記憶領域のデータが正常であると判断する、所謂チェックサム方式も用いられている。
【0008】
このようなチェックサム方式によっても、いずれか一方の記憶領域においてデータ消去やデータ化けが生じてしまったとしても、他方の記憶領域のデータが正常である限り、常に正規のデータを読み出すことができる。
【0009】
【発明が解決しようとする課題】
しかしながら、上記のような多数決方式やチェックサム方式などの方法では、いずれか一つの記憶領域のデータがデータ化け等で異常状態にあっても他の記憶領域に記憶されている正常なデータに基づいて常に正規のデータを読み出すことができるものの、更に他の記憶領域のデータまで異常になってしまうと、その後は正規のデータを読み出すことができなくなってしまうという問題がある。
【0010】
即ち、上記の多数決方式(例えば同一データを三つの記憶領域に記憶させる場合)において、三つの記憶領域のうち二つの記憶領域に記憶されたデータがいずれも消去・データ化け等により異常となった場合、多数決判断ができなくなって、正規のデータが取得できないことになる。また、上記のチェックサム方式において二つの記憶領域の記憶内容が共に異常になってしまった場合も同様であり、やはり正規のデータが取得できなくなってしまう。
【0011】
本発明は上記課題に鑑みなされたものであり、一つのデータを複数の記憶領域に記憶させる記憶媒体において、各記憶領域に記憶されたデータに基づいて常に正規のデータを取得できるようにすることを目的とする。
【0012】
【課題を解決するための手段及び発明の効果】
上記課題を解決するためになされた請求項1記載のデータ修復装置は、一つのデータが夫々二つの記憶領域にそのまま若しくは加工されて記憶された記憶媒体において、記憶された各データを修復するためのものである。
二つの記憶領域のうち、一方の記憶領域には、一つのデータの正論理値と共に、所定の正チェックコードと、正論理値と正チェックコードとの加算値に更に加算した結果が零になるような正チェックサムとが記憶される。また、他方の記憶領域には、一つのデータの負論理値と共に、正チェックコードの論理を反転させたミラーチェックコードと、負論理値とミラーチェックコードとの加算値に更に加算した結果が零になるようなミラーチェックサムとが記憶される。
即ち、従来技術で述べたチェックサム方式と同様の同一データ記憶方法であり、通常のデータ取得の際は、そのチェックサム方式により正規データを取得できる。尚、ここでいう正論理値とは、記憶領域に記憶すべき一つのデータそのものであり、負論理値はその正論理値の論理を反転させたものである。具体的には、例えば一つのデータが2進データの(1011)であるとき、負論理値は(0100)である。また、「加算した結果が零」とは、必ずしも加算結果の全ビット値が零になることをいうのではなく、例えば加算により桁上がりが生じた場合はその桁上がり分のビット値(例えば最上位ビット)を除いたビット値が全て零になれば加算結果が零であるとみなすなど、加算値と被加算値の各々のビット数などに応じて、加算結果の全ビット値のうちどこまでを、零であるか否か判断するための有効ビット値にするか決めればよい。
【0013】
そして、本発明のデータ修復装置では、まずデータ監視手段が、二つの記憶領域に記憶されている各論理値、各チェックコード、及び各チェックサムが全て正常であるか否かを判断する。
【0014】
データ監視手段によって全て正常ではないと判断された場合は、データ修復手段が、正常と判断されなかった記憶領域に記憶されているいずれかの論理値、いずれかのチェックコード、及びいずれかのチェックサムのうち、正常ではないもののみを、他の正常な記憶内容に基づいて書き換える。
【0015】
つまり、従来のチェックサム方式では2つの記憶領域のうち正常な方(加算結果が零となる記憶領域)から正規のデータを取得するのみで、正常ではない記憶領域があってもそのまま放置されていたのに対し、本発明のデータ修復装置では、記憶領域に記憶された内容(各論理値、各チェックコード、及び各チェックサム)が全て正常か否かをデータ監視手段にて判断すると共に、正常と判断されなかった記憶領域があった場合は、その記憶内容のうち正常ではないもののみを、他の正常な記憶内容(例えば、正常と判断されなかった記憶領域の記憶内容のうち正常なもの、或いは、正常と判断された記憶領域の記憶内容など)に基づいて修復(書き換え)するのである。
【0016】
このため、本発明のデータ修復装置によれば、ある記憶領域においてデータ化け等の異常が生じても、他の正常な記憶内容に基づいてその異常が修復されるため、正常ではない記憶内容がそのまま放置されてしかも正常ではない記憶領域が増えることにより正規のデータが取得できなくなってしまうおそれはなく、各記憶領域に記憶されたデータに基づいて常に正規のデータを取得することができる。
【0017】
ここで、データ監視手段およびデータ修復手段は、より具体的には、例えば請求項2に記載したように構成することができる。
【0020】
即ち、請求項2記載のデータ修復装置は、データ監視手段がコード判定手段、論理値判定手段、及びサム判定手段を備えており、コード判定手段は、正チェックコード及びミラーチェックコードが夫々正常であるか否かの判定を、外部の記憶装置に予め格納されている正チェックコード及びミラーチェックコードと夫々一致するか否かを判定することにより行い、論理値判定手段は、正論理値及び負論理値が共に正常であるか否かの判定を、負論理値の論理を反転した負論理反転データと正論理値が一致するか否かを判定することにより行い、サム判定手段は、正論理値と正チェックコードと正チェックサムとを加算した総和が零になるか否かの判定及び負論理値とミラーチェックコードとミラーチェックサムとを加算した総和が零になるか否かの判定を行う。
【0021】
また、データ監視手段では、二つの記憶領域のうちいずれかにおいて、サム判定手段にて零であると判定されてしかもコード判定手段にて正常であると判定されたときは、当該記憶領域は正常であるものと判断する。
そして、データ修復手段は、チェックサム修復手段と記憶領域修復手段とを備えている。チェックサム修復手段は、コード判定手段により各チェックコードがいずれも正常であると判定され、且つ論理値判定手段により各論理値が共に正常であると判定された場合であって、サム判定手段にて各総和のいずれか一方又は両方が零にならないと異常判定されたときに、該異常判定された記憶領域に記憶されたいずれかのチェックサムを、当該記憶領域に記憶されたいずれかのチェックコード及びいずれかの論理値に基づいて書き換える。
【0022】
また、記憶領域修復手段は、データ監視手段にていずれか一方の記憶領域に記憶された内容が正常と判断されて他方の記憶領域に記憶された内容が正常と判断されなかった際における、該正常と判断されなかった記憶領域について、コード判定手段の判定結果が正常ではなかった場合は、当該記憶領域におけるいずれかのチェックコードを外部の記憶装置に格納されている内容(予め格納されている各チェックコード)に基づいて書き換え、論理値判定手段の判定結果が正常ではなかった場合は、当該記憶領域におけるいずれかの論理値を、データ監視手段にて正常と判断された記憶領域に記憶されている内容に基づいて書き換え、サム判定手段の判定結果が正常ではなかった場合は、当該記憶領域におけるいずれかのチェックサムを、当該記憶領域に記憶されたいずれかのチェックコード及びいずれかの論理値に基づいて書き換える。
【0023】
つまり、例えば正論理値と正チェックコードとがいずれも正常であるときは、これらの正論理値及び正チェックコードに基づいて正チェックサムを修復でき、また例えば二つの記憶領域のうち正論理値が記憶された記憶領域(正領域)が正常であると判定され、負論理値が記憶された記憶領域(負領域)が正常と判定されなかった場合は、その正領域に記憶された正論理値や外部の記憶装置に予め記憶されている正チェックコードに基づいて、負領域の内容を修復することができる。負論理値とミラーチェックコードとがいずれも正常である場合も同様に、これらの負論理値及びミラーチェックコードに基づいてミラーチェックサムを修復できるし、負領域が正常であって正領域が正常ではないと判定された場合についても同様であり、負領域に記憶された内容や外部の記憶装置に記憶されているミラーチェックコードに基づいて正領域の内容を修復することができる。
【0024】
従って、請求項2記載のデータ修復装置によれば、チェックサム方式によりデータの取得を行うようにされている場合において、いずれか一方の記憶領域のデータが異常になっても、その異常なデータを他方の記憶領域に記憶された正常なデータに基づいて修復できるため、二つの記憶領域のいずれか一方が正常である限り、異常データが記憶されている記憶領域のデータを確実に修復でき、常に正規のデータを取得することができる。また、二つの記憶領域がいずれも正常と判定されない場合でも、各論理値及び各チェックコードが正常(即ち正チェックサム及びミラーチェックサムのみが異常)であれば、その正常な各論理値及び各チェックコードに基づいて、二つの記憶領域を共に正常に修復することができる。
【0025】
一方、一つのデータが少なくとも3つ以上の記憶領域に記憶され、従来技術で述べた多数決方式によって正規データを取得できるようにされた記憶媒体に対して、各記憶領域の記憶内容を修復するためには、例えば請求項3記載のデータ修復装置を用いることができる。
【0026】
即ち、請求項3記載のデータ修復装置は、一つのデータが夫々少なくとも3つ以上の記憶領域にそのまま若しくは加工されて記憶された記憶媒体において、記憶された前記各データを修復するためのものであり、データ監視手段とデータ修復手段とを備えている。
データ監視手段は、各記憶領域に記憶された各データの多数決を採って、最も多いデータを正常なデータと判定すると共にそれ以外のデータを誤データと判定することにより、各記憶領域に記憶された各データが全て正常であるか否かを判断する
【0027】
そして、データ修復手段が、データ監視手段による多数決判定の結果、各データが全て正常と判断されなかった場合に、誤データが記憶されていると判定された誤データ記憶領域に対し、その誤データ記憶領域に記憶されている誤データを、多数決の結果最も多いデータであった正常なデータに基づいて書き換える。
そのため、例えば一つのデータを5つの記憶領域に記憶させた場合に、そのうち2つの記憶領域が誤データ記憶領域になったとしても、残り3つの記憶領域のデータが正常である限り、データ監視手段による多数決判定によって、その残った3つの記憶領域のデータが正常なデータであると判定されることになる。そして、データ修復手段が、この正常なデータに基づき、2つの誤データ記憶領域に記憶された各誤データを正常なデータに修復する。
【0028】
従って、請求項3記載のデータ修復装置によれば、多数決方式によりデータの取得を行うようにされている場合において、ある記憶領域のデータがデータ化け等で誤データになったとしても、データ監視手段による多数決判定により、その誤データが記憶された誤データ記憶領域及び正常なデータが記憶された記憶領域を共に特定でき、しかも誤データ記憶領域の誤データは、多数決の結果最も多いデータである正常なデータに基づいて修復されるため、データ監視手段による多数決判定が可能である限り確実に誤データを修復できる。これにより、各記憶領域に記憶されたデータに基づいて、常に正規のデータを取得することができる。
【0029】
尚、ここでいう多数決では、記憶されている各データの値をそのままみて判定するのではなく、各データが実質的に同じデータであれば、同じであるものとみなす。つまり、例えば、2進データ(1011)を複数の記憶領域に記憶する場合において、全ての記憶領域にそのまま(1011)と記憶せずにいくつかの記憶領域にはその論理を反転したデータ(0100)を記憶するように予め設定されている場合、多数決の際は、データそのままの値である(1011)とその反転データである(0100)とは、互いに論理が反転しているだけであって実質的に同じデータであるとみなすのである。
【0030】
ところで、データを記憶する記憶媒体としては、周知のROMやRAMなど、その種類は多種多様であるが、従来技術で述べたように、EEPROMは、電源が遮断されても記憶状態を保持し続けると共に電気的に書き換えが可能なことから、書換可能な不揮発性記憶媒体として広く使用されている。しかしその反面、EEPROMは劣化等によって記憶したデータが変化或いは消去されるおそれや、ノイズ等の影響によってもデータが変化するおそれがある。
【0031】
そこで、請求項1〜3いずれかのデータ修復装置は、請求項4に記載したように、記憶媒体がEEPROMである場合に適用するとよい。このようにすれば、ノイズなどの各種要因によって複数の記憶領域のうちのある記憶領域のデータが誤データになったとしても、データ修復装置によって誤データを正常なデータに確実に修復することができ、EEPROMの信頼性をより向上させることが可能となる。
【0032】
【発明の実施の形態】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
[第1実施形態]
図1は、本発明が適用された第1実施形態のキーレスエントリシステムの概略構成を示すブロック図である。
【0033】
本発明のキーレスエントリシステムは、遠隔操作によって自動車のドアロックを開閉するためのものであり、図1に示すように、主として携帯型送信機10と、自動車のリヤウインドウ等に設置されたアンテナ11と、受信機12と、運転席のイグニションキーシリンダに設けられたキー抜き検出スイッチ13と、ドアロック制御装置14と、EEPROM15と、車載のバッテリ16と、バッテリ16のバッテリ電圧VB を所定の電圧に変換してドアロック制御装置14やEEPROM15に供給するための定電圧回路17と、ドアロック開閉アクチュエータ18とから構成されている。
【0034】
受信機12は、携帯型送信機10から送信される送信データをアンテナ11を介して受信・復調し、復調した送信データをドアロック制御装置14へ出力する。尚、携帯型送信機10は、遠隔地から自動車のドアロックを開閉するために、例えば図示しないイグニションスイッチをユーザが操作するためのマスターキーに内蔵されているものである。また、携帯型送信機10からの送信データには、ドアのロック又はアンロックいずれかを選択するための機能選択データはもちろん、その自動車固有の暗証コードに加え、送信するごとに所定の規則に従って変化(例えば送信ごとに一つずつインクリメント)するデータ(更新データ)も送信される。
【0035】
EEPROM15は、各種データを記憶するために多数の半導体メモリセルにて構成されたメモリ部20と、データを読み書きする際にメモリ部20におけるアドレスの指定等を行うための入出力制御部15aとを備えている。メモリ部20には、携帯型送信機10から送信される固有の暗証コードと同様の暗証コードが予め格納されていると共に、最新の更新データ(つまり携帯型送信機10を最後に操作したときに送信された更新データ)も格納されている。そして、これらの暗証コード及び更新データは、いずれもメモリ部20の中に一つだけ記憶されているのではなく、同一のデータが三つのエリアに記憶されている。即ち、図1に示すように、メモリ部20内において、データ化け等の影響を防止するために、一つのデータを三つのエリア(エリア1,エリア2,エリア3)に記憶することにより、各同一データ記憶エリア20a,20b,20c・・・ が構成されている。そして、各同一データ記憶エリア20a,20b,20c・・・ からのデータ読み込み時には、それぞれ三つのエリアのデータについて多数決方式による判定を行い、最も多いデータを正常なデータであると判定して、そのデータを読み込むようにしている。
【0036】
尚、本実施形態のキーレスエントリシステムでは、同一データ記憶エリア20aに更新データを、同一データ記憶エリア20bに暗証コードを記憶している。また、他の同一データ記憶エリア20c・・・ にも、必要に応じて各種データを記憶できるのはもちろん、EEPROM15をキーレスエントリシステム以外の他のシステムでも共用する場合は、そのシステムにおける必要なデータが記憶される。
【0037】
そして、携帯型送信機10を操作するごとに、同一データ記憶エリア20aに既に記憶されている前回送信時の更新データが、新たに送信されてきた更新データに書き換えられる。暗証コードについても、同一データ記憶エリア20bのエリア1,エリア2,エリア3に同一の暗証コードが記憶されているが、暗証コードは自動車固有のものであって通常は変更されることがないため、そのまま保持され続ける。尚、上記のようなメモリ部20内のデータの書き換えは、ドアロック制御装置14内のCPU14aにより制御され入出力制御部15aを介して実行される。
【0038】
ドアロック制御装置14は、CPU14a、ROM14b、RAM14c等を備えたマイクロコンピュータを主体として構成されたものであり、受信機12からの送信データに含まれる機能選択データに基づいてドアロック開閉アクチュエータを駆動すると共に、EEPROM15との間でデータの読み出し及び書き込みを行うものである。そして、後述するように、ユーザがイグニションキーシリンダからマスターキーを抜くごとに、EEPROM15のメモリ部20に記憶された各種データの修復処理も実行する。これらの各処理は、CPU14aにて実行され、その処理プログラムはいずれもROM14bに格納されている。
【0039】
本実施形態では、メモリ部20の各同一データ記憶エリア20a,20bに記憶されたデータ(暗証コード、更新データ)が、ドアロック制御装置14内のRAM14cに書き込まれており、CPU14aは、上記各種処理の実行の際にメモリ部20内の各種データを読み込む必要があるときは、メモリ部20から直接読み込むのではなく、このRAM14cから読み込むようにしている。
【0040】
メモリ部20からRAM14cへのデータ書き込みタイミングは、ドアロック制御装置14及びEEPROM15に初めて電源が投入されたときにメモリ部20に記憶されているデータをとりあえずRAM14cに書き込み、その後は、メモリ部20に記憶されているデータが変更されたとき(例えば携帯型送信機10から送信データが送信されて同一データ記憶エリア20a内の更新データが変わったとき)に、既述の通り、その変更(更新データ)に応じてRAM14cの内容も書き換える。
【0041】
また、メモリ部20内のデータが長時間変更されなくても、例えばデータ化け等によってRAM14cのデータが変わってしまうおそれもあるため、RAM14cをリフレッシュする目的で、所定時間経過するごとにメモリ部20内のデータをRAM14cに書き込むようにしている。更に、バッテリ電圧VB の遮断等によってドアロック制御装置14の動作が停止し、RAM14cの記憶内容が全て消去されてしまった場合も、再度電源を投入してその動作を開始したときに、メモリ部20内のデータをRAM14cに書き込むようにしている。尚、本実施形態では、後述する多数決データ修復処理の実行時にもメモリ部20からRAM14cへのデータ書き込みが行われ、後述する第2実施形態におけるチェックサムデータ修復処理の実行時も同様である。
【0042】
そして、EEPROM15のメモリ部20からRAM14cへのデータ書き込みの際、各同一データ記憶エリア20a,20b,20c・・・ における三つのエリアのうちどのエリアのデータに基づいてRAM14cへ書き込むかは、既述の通り多数決方式により決定する。この多数決方式によるデータ判定もCPU14aにて実行される。
【0043】
つまり、ドアロック制御装置14が動作している限り、RAM14cには常にメモリ部20内にある最新のデータが記憶されるようにするのである。そして、ドアロック制御装置14では、このRAM14cに記憶されているデータに基づいてドアロック開閉等の各種制御を行う。具体的には、ユーザが携帯型送信機10から送信データを送信したとき、送信データ中の暗証コードがRAM14c内の暗証コード(ひいては同一データ記憶エリア20bに格納されている暗証コード)と一致するか否かを判断すると共に、送信データ中の更新データとRAM14c内に記憶された前回送信時の更新データ(ひいては同一データ記憶エリア20aに格納されている更新データ)とを比較して両者が予め定められた所定の規則を満たしているか否かを判断し、各判断の結果、正規の携帯型送信機10から送信されたデータであると判断された場合に、送信データ中の機能選択データに基づいてドアロック開閉アクチュエータ18へ駆動信号を出力する。
【0044】
ドアロック開閉アクチュエータ18は、図示しないドアロックモータやその駆動回路等を備えたもので、自動車の各ドアに設置され、ドアロック制御装置14から出力されるロック又はアンロックの各駆動信号に基づいて駆動制御される。ところで、ドアロック制御装置14においては、上記のように、CPU14aはRAM14c内の各種データを必要に応じて取り込み、RAM14c内のデータそのものも、メモリ部20の内容に合わせて変更或いは定期的にリフレッシュするようにしているため、メモリ部20内のデータが正常である限り(つまり多数決方式による判定が正常になされる限り)、RAM14cのデータ化け等による影響を防止することができる。
【0045】
しかしながら、RAM14cのデータの元になっているメモリ部20内の各同一データ記憶エリア20a,20b,20c・・・ において、例えばエリア1のデータがノイズの影響やメモリセルの劣化等によって変化してそのまま放置され続けてしまい、その後さらにエリア2のデータまで変化してしまうと、多数決方式による判定ができなくなってしまう。そうなると、メモリ部20のデータをRAM14cに書き込む際に、データ書き込みができなくなったり、或いは誤ったデータが書き込まれてしまい、結果としてドアロック制御装置14が正常な動作をしなくなるおそれがある。
【0046】
そこで、本実施形態では、ユーザがイグニションキーシリンダからマスターキーを抜くごとに、EEPROM15におけるメモリ部20内の各同一データ記憶エリア20a,20b,20c・・・ に記憶された各種データの、多数決によるデータの修復処理が実行される。ドアロック制御装置14のCPU14aは、マスターキーを抜くごとに、ROM14bから多数決データ修復プログラムを読み出し、このプログラムに従って処理を実行する。図2は、ドアロック制御装置14のCPU14aが実行する多数決データ修復処理を示すフローチャートである。
【0047】
尚、マスターキーを抜いたか否かの検出は、キー抜き検出スイッチ13により行う。即ち、マスターキーをイグニションキーシリンダに差し込んでいる間はキー抜き検出スイッチ13がオンとなり、ドアロック制御装置14にはこのキー抜き検出スイッチ13を介してローレベル(グランド電位)の信号が入力される。これにより、マスターキーが差し込まれたことが検出される。一方、マスターキーをイグニションキーシリンダから抜くと、キー抜き検出スイッチ13がオフとなり、ドアロック制御装置14には抵抗Rを介してハイレベルの信号(バッテリ電圧VB )が入力される。これにより、マスターキーが抜かれたことが検出される。
【0048】
この多数決データ修復処理が開始されると、まずステップ(以下「S」と略す)110にて、同一データ記憶エリア20a内の三つのエリア(エリア1,エリア2,エリア3)からそれぞれ記憶されているデータを読み出す。そして、S120にて、読み出した三つのエリアの各データについて多数決判定を行い、全て一致(つまり同一)したか否かを判定する。この判定において肯定判定、つまり三つのエリアのデータが全て一致したと判定された場合には、いずれのデータも正常であるものとしてS130に進む。S130では、三つのエリアのうちエリア1に記憶されているデータを多数決判定結果として、RAM14cへ書き込む。尚、S130においては、エリア2又はエリア3に記憶されているデータを多数決判定結果としてRAM14cに書き込むようにしてもよい。
【0049】
一方、S120にて否定判定、つまり三つのエリアのデータが全て一致しなかったと判定された場合は、S140に進んで、まずエリア1のデータのみが不一致なのかどうか(換言すればエリア2とエリア3のデータは一致しているのかどうか)を判定する。ここで肯定判定、つまりエリア2及びエリア3のデータは一致(正常)してエリア1のデータのみが不一致(異常)であると判定された場合は、S150に進んで、正常と判定されたエリア2のデータをエリア1に書き込む。これにより、エリア1のデータが修復されたことになる。尚、このS150においては、エリア3のデータをエリア1に書き込んでもよい。
【0050】
そして、S160に進み、S130の処理と同様に、エリア2のデータを多数決判定結果としてRAM14cへ書き込む。尚、このとき、エリア3のデータをRAM14cへ書き込んでもよいことは言うまでもなく、エリア1のデータも既に修復されているため、修復されたエリア1のデータをRAM14cに書き込んでも通常は問題ない。しかし、修復はしたもののエリア1のデータが異常であったことは事実であり、特にその異常となった原因がメモリセルそのものの劣化によるものであると、たとえエリア1に正常なデータを書き込んでも完全に修復できないおそれがある。つまり、エリア1が修復不可能な状態になっている可能性があるわけである。そのため、本実施形態では、異常と判定されたエリアのデータは、たとえ修復を行ったとしても、修復したばかりのデータに基づいてRAM14cを書き換えないようにしている。
【0051】
S140にて否定判定、つまりエリア1のデータのみが不一致(異常)ではないと判定された場合は、S170に進み、エリア2のデータのみが不一致なのかどうか(換言すればエリア1とエリア3のデータは一致しているのかどうか)を判定する。ここで肯定判定、つまりエリア1及びエリア3のデータは一致(正常)してエリア2のデータのみが不一致(異常)であると判定された場合は、S180に進んで、正常と判定されたエリア1のデータをエリア2に書き込む。尚、このS180においては、エリア3のデータをエリア2に書き込んでもよい。これにより、エリア2のデータが修復されたことになる。
【0052】
そして、S190に進み、エリア1のデータを多数決判定結果としてRAM14cへ書き込む。このときも、エリア3のデータをRAM14cへ書き込んでもよいことは言うまでもなく、念のため、修復されたエリア2のデータをRAM14cに書き込まないようにするのが望ましい。
【0053】
同様にして、S170にて否定判定された場合は、S200に進み、エリア3のデータのみが不一致なのかどうかを判定する。ここで肯定判定、つまりエリア1及びエリア2のデータは一致(正常)してエリア3のデータのみが不一致(異常)であると判定された場合は、S210に進んで、正常と判定されたエリア1のデータをエリア3に書き込み、エリア3のデータを修復する。そして、S220に進み、エリア1のデータを多数決判定結果としてRAM14cへ書き込む。このときも、エリア2のデータをRAM14cへ書き込んでもよいことは言うまでもなく、念のため修復されたエリア3のデータをRAM14cに書き込まないようにするのが望ましい。
【0054】
S200で否定判定された場合は、三つのエリアに記憶されているデータがいずれも一致しないことになるため、S230に進んで、多数決判定結果は得られなかったものとしてRAM14cの内容も現状通りとする。
尚、多数決データ修復処理は、そもそもEEPROM15内のメモリ部20の各データを修復するのが主な目的であるため、S130,S160,S190,S220,S230の処理(即ち多数決結果をRAM14cに書き込む処理)は必ずしも行う必要はないが、RAM14cがデータ化け或いは劣化しているおそれがあることを想定して、多数決データ修復処理の実行ごとに、その結果を念のためRAM14cにも書き込むようにしているのである。そして、上記の多数決データ修復処理(同一データ記憶エリア20aのデータ修復処理)が終わったら、引き続き同様にしてメモリ部20内の他の同一データ記憶エリア20b,20c・・・ に対しても実行する。
【0055】
以上詳述したように、本実施形態では、EEPROM15のメモリ部20における、同一データが記憶された三つのエリアにおいて、ある一つのエリアでデータ化け等の異常が生じても、ユーザがマスターキーを抜くごとに多数決データ修復処理が実行され、他の二つのエリアのデータがいずれも正常であれば、異常が生じたエリアのデータがその正常なエリアのデータに基づいて修復される。
【0056】
そのため、本実施形態によれば、多数決判定による正常なデータの特定が可能である限り、異常エリアのデータを確実に修復できるため、異常エリアのデータ(誤データ)がそのまま放置されてしかも異常エリアがさらに増えることにより正規のデータが取得できなくなってしまう(つまり多数決判定により正常なデータが判定できなくなる)おそれはなく、常に正規のデータを取得することができ、EEPROM15の信頼性をより向上させることが可能となる。
【0057】
[第2実施形態]
次に、本発明が適用された第2実施形態のキーレスエントリシステムについて説明する。尚、本実施形態のキーレスエントリシステムの構成は、EEPROM15内部のメモリ部20におけるデータ記憶状態を除き、図1に示したキーレスエントリシステムと同様の構成であるため、本実施形態においても図1に基づいて説明する。そして、図3は、本実施形態のEEPROM15内部のメモリ部20におけるデータ記憶状態を示す説明図である。
【0058】
図3に示すように、本実施形態のメモリ部20は、一つのデータを記憶するための同一データ記憶エリア31,32・・・ がいずれも二つのエリア(エリア1、エリア2)にて構成されている。そして、携帯型送信機10からの送信データのうち暗証コードは同一データ記憶エリア31に、更新データは同一データ記憶エリア32に、それぞれ記憶される。尚、本実施形態では、同一データ記憶エリア31に暗証コードとして例えば(1011)が記憶されているものとして、以下説明を続けることにする。
【0059】
この(1011)の暗証コードは、同一データ記憶エリア31において、エリア1に、(1011)の暗証コードがそのまま正規データとして記憶される。またエリア1には、正規データと共に所定のチェックコードも記憶される。本実施形態ではチェックコードを例えば(1010)とする。さらにエリア1には、正規データ(1011)とチェックコード(1010)との加算値に更に加算した結果が零になるようなデータ(本実施形態では1011)がチェックサムとして記憶される。
【0060】
一方、エリア2には、正規データの論理を反転させたデータ、つまり(0100)がミラーデータとして記憶されると共に、エリア1に記憶されているチェックコードの論理を反転させたデータ、つまり(0101)がミラーチェックコードとして記憶され、さらに、ミラーデータとミラーチェックコードとの加算値に更に加算した結果が零になるようなデータ(本実施形態では0111)がミラーチェックサムとして記憶される。
【0061】
尚、エリア1において、上記の正規データとチェックコードとチェックサムとを加算すると(100000)となり、厳密には零ではないが、本実施形態では最上位ビットの「1」を無視して零であるものとみなしている。エリア2についても同様である。
【0062】
また、本実施形態の場合、チェックコードはドアロック制御装置14のROM14bに予め格納されているものであり、EEPROM15へのデータ書き込みが行われる毎に、このROM14bに格納されたチェックコードもEEPROM15へ転送されて同一データ記憶エリア31のエリア1に記憶されると共にその論理反転データもミラーチェックコードとしてエリア2に記憶される。
【0063】
そして、各同一データ記憶エリア31,32,33・・・ からRAM14cへのデータ書き込みの際、2つのエリアのうちどのエリアのデータに基づいてRAM14cへ書き込むかは、既述のチェックサム方式により決定する。このチェックサム方式によるデータ判定もCPU14aにて実行される。即ち、エリア1において正規データとチェックコードとチェックサムとの総和を演算し、その結果が零になるか否かによってエリア1のデータが正常であるか否かを判定し、エリア2についても同様の方法で判定を行う。そして、両エリアとも正常であればどちらかのエリアのデータに基づいてRAM14cへの書き込みを行えばよいし、例えばエリア1が異常と判定された場合は、正常であるエリア2に記憶されたミラーデータに基づき、そのミラーデータを反転させたものを正規のデータとしてRAM14cへ書き込む。
【0064】
ところで、本実施形態において、二つのエリアのうち、ある一つのエリアのデータがデータ化け等によって異常データ(誤データ)となっても、上記のように他のエリアのデータが正常であればそれに基づいて正規のデータを取得することができるが、異常が生じたエリアがそのまま放置された状態でさらにもう一方のエリアまで異常になってしまうと、チェックサム方式による判定ができなくなってしまう。
【0065】
そこで、本実施形態では、ユーザがイグニションキーシリンダからマスターキーを抜くごとに、各同一データ記憶エリア31,32,33・・・ に記憶された各種データの、チェックサムによるデータ修復処理が実行される。CPU14aは、マスターキーを抜くごとに、ROM14bからチェックサムデータ修復プログラムを読み出し、各同一データ記憶エリア31,32,33・・・ についてこのプログラムに従って処理を実行する。図4は、本実施形態のドアロック制御装置14のCPU14aが実行するチェックサムデータ修復処理を示すフローチャートである。
【0066】
このチェックサムデータ修復処理が開始されると、まずS410にて、エリア1に記憶されているチェックコードが正常であるか否かが判断される。この判断は、ROM14bに格納されているチェックコードと一致するか否かによって行われ、一致した場合は正常であるものとしてS420へ進む。S420では、エリア2に記憶されているミラーチェックコードが正常であるか否かが判断される。この判断は、ROM14bに格納されているチェックコードの論理反転データと一致するか否かによって行い、一致した場合は正常であるものとしてS430へ進む。S430では、正規データとミラーデータが同一(互いに論理が反転しているだけであって実質的に同一)か否か、即ちエリア1に記憶されている正規データと、エリア2に記憶されているミラーデータの論理を反転したデータとが一致するか否かを判断する。この判断で一致した場合は、正規データとミラーデータが同一であるものとしてS440に進む。このようにS440に進んだということは、同一データ記憶エリア31に記憶されている各データのうち、正規データ、ミラーデータ、チェックコード、及びミラーチェックコードはいずれも正常と判断されたことになる。
【0067】
そして、S440に進み、エリア1において正規データとチェックコードとチェックサムとの総和を演算してその結果が零になるか否かを判断することにより、チェックサムが正常であるか否かを判断する。ここで正常と判断されたならば、エリア1に記憶されているデータは全て正常であることが確認されたことになり、更にS460に進むが、正常と判断されなかった場合は、チェックサムが異常であると考えられるため、S450に進んで正規データとチェックコードとの和に基づいてチェックサムを書き換えることにより、チェックサムの修復を行ってからS460に進む。
【0068】
S460では、エリア2におけるミラーデータとミラーチェックコードとミラーチェックサムとの総和を演算してその結果が零になるか否かを判断することにより、ミラーチェックサムが正常であるか否かを判断する。ここで正常と判断されたならば、エリア2に記憶されているデータは全て正常であることが確認されたことになり、S480に進むが、正常と判断されなかった場合は、ミラーチェックサムが異常であると考えられるため、S470に進んでミラーデータとミラーチェックコードとの和に基づいてミラーチェックサムを書き換えることにより、ミラーチェックサムの修復を行ってからS480に進む。
【0069】
ここまでの処理により、エリア1、エリア2はいずれも正常な状態となっている。そこで、S480にてエリア1に記憶されている正規データをRAM14cに書き込み、この処理を終了する。尚、S480(後述するS570,S660も)のように、データ修復を行った後にRAM14cへ正規データを書き込むのは、第1実施形態でも述べたように、RAM14cがデータ化け或いは劣化しているおそれがあるためであり、本実施形態においても、チェックサムデータ修復処理の実行ごとにその結果を念のためRAM14cに書き込むようにしているのである。
【0070】
一方、S410,S420,S430のいずれかの判断において否定判定された場合、即ち正規データ、ミラーデータ、チェックコード、又はミラーチェックコードのいずれかが正常でない場合は、S490に進む。S490では、S440と同様、エリア1において正規データとチェックコードとチェックサムとの総和を演算してその結果が零になるか否かを判断することにより、チェックサムが正常であるか否かを判断する。ここで正常と判断した場合はS500に進み、エリア1に記憶されているチェックコードが正常であるか否かの判断をS410と同様に行う。S500で正常と判断された場合は、とりあえずエリア1に記憶されているデータは全て正常であることが確認できたことになり、次にS510に進む。
【0071】
S510では、エリア2に記憶されているミラーチェックコードが正常であるか否かの判断をS420と同様に行う。ここで正常と判断された場合はそのままS530に進むが、正常でないと判断された場合はS520に進み、ROM14bに格納されているチェックコードに基づいてミラーチェックコードの修復を行った上で、S530に進む。
【0072】
S530では、S430と同様、エリア1に記憶されている正規データと、エリア2に記憶されているミラーデータの論理を反転したデータとが一致するか否かを判断する。この判断で一致した場合は、S550に進むが、一致しなかった場合はS540に進み、ミラーデータの修復を行った上でS550に進む。S540の修復処理は、エリア1の正規データを論理反転したものをミラーデータとして新たにエリア2に書き込むことにより行う。
【0073】
S550では、S460の処理と同様、エリア2におけるミラーデータとミラーチェックコードとミラーチェックサムとの総和を演算してその結果が零になるか否かを判断することにより、ミラーチェックサムが正常であるか否かを判断する。ここで正常と判断した場合はそのままS570に進むが、正常と判断されなかった場合はS560に進んで、ミラーデータとミラーチェックコードとの和に基づいてミラーチェックサムを書き換えることにより、ミラーチェックサムの修復を行ってからS570に進む。
【0074】
S570に進んだ段階で、既にエリア1、エリア2いずれのデータも全て正常な状態になっているため、S480と同様にエリア1に記憶されている正規データをRAM14cに書き込んで、この処理を終了する。
また一方、S490又はS500にて否定判定された場合、即ちエリア1のデータのいずれかが正常ではないと判断された場合は、S580以降に進む。S580ではS460と同様、エリア2におけるミラーデータとミラーチェックコードとミラーチェックサムとの総和を演算してその結果が零になるか否かを判断することにより、ミラーチェックサムが正常であるか否かの判断が行われ、正常と判断した場合はS590に進むが、正常と判断されなかった場合はS670に進み、エリア1、エリア2いずれのデータも異常であると判断してこの処理を終了する。
【0075】
S590では、S420と同様、ミラーチェックコードが正常か否かを判断し、正常であればS600に進むが、正常でない場合はS670に進み、エリア1、エリア2いずれのデータも異常であると判断してこの処理を終了する。つまり、S580で肯定判定されたにもかかわらずS590で否定判定されたということは、ミラーデータとミラーチェックサムが共に異常であると考えられるわけである。
【0076】
そして、S600以降ではエリア1の各データの修復を行うわけだが、まずS600では、S410と同様チェックコードが正常か否かを判断し、正常であればそのままS620に進み、正常でない場合はS610に進んでチェックコードの修復を行った上でS620に進む。このチェックコードの修復は、ROM14bに格納されているチェックコードを新たなチェックコードとしてエリア1に書き込むことにより行われる。
【0077】
S620では、S430と同様、エリア1に記憶されている正規データと、エリア2に記憶されているミラーデータの論理を反転したデータとが一致するか否かを判断する。この判断で一致した場合はS640に進むが、一致しなかった場合はS630に進み、正規データの修復を行った上でS640に進む。S630の修復処理は、エリア2のミラーデータを論理反転したものを新たな正規データとしてエリア1に書き込むことにより行う。
【0078】
S640では、S440と同様、エリア1において正規データとチェックコードとチェックサムとの総和を演算してその結果が零になるか否かを判断することにより、チェックサムが正常であるか否かを判断する。ここで正常と判断したならばS660に進むが、正常と判断されなかった場合は、S650に進んでS450と同様にチェックサムの修復を行ってからS660に進む。そして、S660で、エリア2に記憶されているミラーデータの論理を反転したデータを正規データとしてRAM14cに書き込み、この処理を終了する。
【0079】
尚、S660で上記のようにエリア2に記憶されているミラーデータに基づいてRAM14cのデータを書き換えるようにしたのは、以下の理由による。即ち、S660に進んだということは、エリア2のデータは正常であってエリア1のデータにおいて何らかの異常があったわけであり、その異常の原因が仮にエリア1のメモリセルそのものの劣化であった場合は、データ修復処理をしても完全に修復されないおそれがあるからである。そのため、特に異常のなかったエリア2のデータ(ミラーデータ)に基づいてRAM14cを書き換えるようにしているのである。
【0080】
また、S570の処理についても同様で、特に異常のなかったエリア1のデータ(正規データ)に基づいてRAM14cを書き換えるようにしている。但し、S480の処理では、エリア1の正規データをRAM14cに書き込むようにしたが、エリア2のミラーデータを論理反転させたデータをRAM14cに書き込むようにしてもよい。
【0081】
以上詳述したように、上記第2実施形態においては、メモリ部20の各同一データ記憶エリア31,32,33・・・ における同一データが記憶された二つのエリアにおいて、ある一つのエリアでデータ化け等の異常が生じても、ユーザがマスターキーを抜くごとにチェックサムデータ修復処理が実行され、いずれか一方のエリアのデータが正常であれば、異常が生じたエリアのデータがその正常なエリアのデータに基づいて修復される。
【0082】
そのため、第2実施形態によれば、二つのエリアのいずれか一方が正常である限り、異常データが記憶されているエリアのデータを確実に修復でき、常に正常なデータを取得することができる。また、二つのエリアがいずれも正常でない場合でも、各データ及び各チェックコードが正常(即ちチェックサム及びミラーチェックサムのみが異常)であるならば、その正常な各データ及び各チェックコードに基づいて、二つのエリアを共に正常に修復することができる。これにより、上記第1実施形態と同様、EEPROM15の信頼性をより向上させることが可能となる。
【0083】
ここで、上記各実施形態の構成要素と本発明の構成要素の対応関係を明らかにする。上記実施形態において、エリア1,エリア2,エリア3は本発明の記憶領域に相当し、CPU14aは本発明のデータ監視手段及びデータ修復手段に相当し、ROM14bは本発明の外部の記憶装置に相当する。また、第2実施形態のエリア1に記憶されるデータ(図3参照)のうち正規データは本発明における一つのデータの正論理値に相当し、チェックコードは本発明の正チェックコードに相当し、チェックサムは本発明の正チェックサムに相当する。更に、第2実施形態のエリア2に記憶されるデータ(図3参照)のうち、ミラーデータは本発明における一つのデータの負論理値に相当する。
【0084】
また、図2の多数決データ修復処理において、S120,S140,S170,S200の処理はいずれも本発明のデータ監視手段が実行する処理に相当し、S150,S180,S210の処理はいずれも本発明のデータ修復手段が実行する処理に相当する。更に、図4のチェックサムデータ修復処理において、S410,S420,S500,S510,S590,S600の処理はいずれも本発明のコード判定手段が実行する処理に相当し、S430,S530,S620の処理はいずれも本発明の論理値判定手段が実行する処理に相当し、S440,S460,S490,S550,S580,S640の処理はいずれも本発明のサム判定手段が実行する処理に相当し、S450,S470の処理はいずれも本発明のチェックサム修復手段が実行する処理に相当し、S520,S540,S560,S610,S630,S650の処理はいずれも本発明の記憶領域修復手段が実行する処理に相当する。
【0085】
尚、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
例えば、上記実施形態では、CPU14aによるデータ修復処理の実行をイグニションキーシリンダからマスターキーを抜くごとに行うものとしたが、データ修復処理の実行タイミングはこれに限定されることなく、例えばエンジンを停止する毎に実行したり、一日に数回所定の間隔で実行するなど、適宜設定することができる。
【0086】
また、上記第1実施形態では、一つのデータを三つのエリアに記憶するようにしたが、例えば5つのエリアに同一データをそのまま或いは加工(例えば論理反転)して記憶するようにしてもよく、多数決方式による正規データの取得及び多数決データ修復処理が実行できる限り、記憶するエリアの数は特に限定されない。
【0087】
上記第2実施形態についても、一つのデータを記憶するエリアの数は特に限定されない。また、上記第2実施形態では、各エリア1,2に記憶されるデータがいずれも4ビットの場合について説明したが、4ビットに限らないことはもちろん、正規データとチェックコードとのビット数が異なる(例えば正規データが4バイトでチェックコードが1バイト)場合であっても本発明を適用することができることはいうまでもない。その場合は、例えば正規データを任意のビット数の単位で区切って、その単位毎にチェックサムを設定するなど、チェックサムの設定は正規データとチェックコードのビット数に応じて適宜決めればよい。
【0088】
さらに、データの修復方法として、上記各実施形態では多数決データ修復処理やチェックサムデータ修復処理を示したが、この二つの方法に限定されることはなく、一つのデータを複数のエリアにそのまま或いは加工して記憶する記憶媒体において、その複数のエリアに記憶された各データが正常であるか否かが判断でき、その判断結果に基づいて異常なデータを修復できるような方法であれば何でもよい。
【0089】
更にまた、上記実施形態では、記憶媒体がEEPROMである場合について説明したがEEPROMに限定されることはなく、例えばフラッシュメモリ等のあらゆる不揮発性メモリ(但しデータ書換可能なもの)はもちろん、RAMなどの揮発性メモリにも適用することができる。
【0090】
また、本発明は、上記実施形態のようなキーレスエントリシステムにおける各種データを記憶する場合に本発明を適用するのに限らず、各種メモリに種々の情報を記憶してその記憶内容に基づいて各種処理を行うマイクロコンピュータ等のあらゆる情報処理装置に対して適用することができる。
【図面の簡単な説明】
【図1】 本発明が適用された第1実施形態のキーレスエントリシステムの概略構成を示すブロック図である。
【図2】 第1実施形態のドアロック制御装置のCPUが実行する多数決データ修復処理を示すフローチャートである。
【図3】 第2実施形態のEEPROM内部のメモリ部におけるデータ記憶状態を示す説明図である。
【図4】 第2実施形態のドアロック制御装置のCPUが実行するチェックサムデータ修復処理を示すフローチャートである。
【符号の説明】
10…携帯型送信機、11…アンテナ、12…受信機、13…キー抜き検出スイッチ、14…ドアロック制御装置、14a…CPU、14b…ROM、14c…RAM、15…EEPROM、15a…入出力制御部、16…バッテリ、17…定電圧回路、18…ドアロック開閉アクチュエータ、20…メモリ部、20a,20b、20c、31,32,33…同一データ記憶エリア、R…抵抗
Claims (4)
- 一つのデータが夫々二つの記憶領域にそのまま若しくは加工されて記憶された記憶媒体において、記憶された前記各データを修復する装置であって、
一方の前記記憶領域には、前記一つのデータの正論理値と共に、所定の正チェックコードと、前記正論理値と前記正チェックコードとの加算値に更に加算した結果が零になるような正チェックサムとが記憶され、
他方の前記記憶領域には、前記一つのデータの負論理値と共に、前記正チェックコードの論理を反転させたミラーチェックコードと、前記負論理値と前記ミラーチェックコードとの加算値に更に加算した結果が零になるようなミラーチェックサムとが記憶されており、
前記二つの記憶領域に記憶されている前記各論理値、前記各チェックコード、及び前記各チェックサムが全て正常であるか否かを判断するデータ監視手段と、
前記データ監視手段にて全て正常ではないと判断された場合に、正常と判断されなかった記憶領域に記憶されている前記いずれかの論理値、前記いずれかのチェックコード、及び前記いずれかのチェックサムのうち、正常ではないもののみを、他の正常な記憶内容に基づいて書き換えるデータ修復手段と
を備えていることを特徴とするデータ修復装置。 - 前記データ監視手段は、
前記正チェックコード及び前記ミラーチェックコードが夫々正常であるか否かの判定を外部の記憶装置に予め格納されている前記正チェックコード及び前記ミラーチェックコードと夫々一致するか否かを判定することにより行うコード判定手段と、
前記正論理値及び前記負論理値が共に正常であるか否かの判定を前記負論理値の論理を反転した負論理反転データと前記正論理値が一致するか否かを判定することにより行う論理値判定手段と、
前記正論理値と前記正チェックコードと前記正チェックサムとを加算した総和が零になるか否かの判定及び前記負論理値と前記ミラーチェックコードと前記ミラーチェックサムとを加算した総和が零になるか否かの判定を行うサム判定手段と
を備えると共に、前記いずれかの記憶領域において、前記サム判定手段にて零であると判定されてしかも前記コード判定手段にて正常であると判定されたときは、当該記憶領域は正常であるものと判定し、
前記データ修復手段は、
前記コード判定手段により前記各チェックコードがいずれも正常であると判定され、且つ前記論理値判定手段により前記各論理値が共に正常であると判定された場合であって、前記サム判定手段にて前記各総和のいずれか一方又は両方が零にならないと異常判定されたときに、該異常判定された記憶領域に記憶された前記いずれかのチェックサムを、当該記憶領域に記憶された前記いずれかのチェックコード及び前記いずれかの論理値に基づいて書き換えるチェックサム修復手段と、
前記データ監視手段にていずれか一方の前記記憶領域に記憶された内容が正常と判断されて他方の前記記憶領域に記憶された内容が正常と判断されなかった際における、該正常と判断されなかった記憶領域について、前記コード判定手段の判定結果が正常ではなかった場合は、当該記憶領域における前記いずれかのチェックコードを前記外部の記憶装置に格納されている内容に基づいて書き換え、前記論理値判定手段の判定結果が正常ではなかった場合は、当該記憶領域における前記いずれかの論理値を、前記データ監視手段にて正常と判断された記憶領域に記憶されている内容に基づいて書き換え、前記サム判定手段の判定結果が正常ではなかった場合は、当該記憶領域における前記いずれかのチェックサムを、当該記憶領域に記憶された前記いずれかのチェックコード及び前記いずれかの論理値に基づいて書き換える記憶領域修復手段と
を備えたことを特徴とする請求項1記載のデータ修復装置。 - 一つのデータが夫々少なくとも3つ以上の記憶領域にそのまま若しくは加工されて記憶された記憶媒体において、記憶された前記各データを修復する装置であっ て、
前記各記憶領域に記憶された前記各データの多数決を採って、最も多いデータを正常なデータと判定すると共にそれ以外のデータを誤データと判定することにより、前記各記憶領域に記憶された前記各データが全て正常であるか否かを判断するデータ監視手段と、
前記データ監視手段による前記判断の結果、前記各データが全て正常と判断されなかった場合に、前記誤データが記憶されていると判定された誤データ記憶領域に対し、該誤データ記憶領域に記憶されている前記誤データを、前記多数決の結果最も多いデータであった前記正常なデータに基づいて書き換えるデータ修復手段と、
を備えていることを特徴とするデータ修復装置。 - 前記記憶媒体は、EEPROMであることを特徴とする請求項1〜3いずれかに記載のデータ修復装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000244492A JP3743271B2 (ja) | 2000-08-11 | 2000-08-11 | データ修復装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000244492A JP3743271B2 (ja) | 2000-08-11 | 2000-08-11 | データ修復装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002055885A JP2002055885A (ja) | 2002-02-20 |
JP3743271B2 true JP3743271B2 (ja) | 2006-02-08 |
Family
ID=18735175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000244492A Expired - Fee Related JP3743271B2 (ja) | 2000-08-11 | 2000-08-11 | データ修復装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3743271B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4543317B2 (ja) * | 2004-12-07 | 2010-09-15 | 株式会社デンソー | 不揮発性メモリのデータ制御方法 |
JP4525816B2 (ja) | 2007-09-28 | 2010-08-18 | 株式会社デンソー | 電子機器及びプログラム |
JP4475320B2 (ja) | 2007-11-15 | 2010-06-09 | 株式会社デンソー | 車両用記憶管理装置 |
JP2010008881A (ja) * | 2008-06-30 | 2010-01-14 | Casio Comput Co Ltd | データ処理装置及びデータ処理方法 |
JP5557602B2 (ja) * | 2010-05-27 | 2014-07-23 | 株式会社ミツトヨ | 情報処理方法 |
JP5465164B2 (ja) * | 2010-12-16 | 2014-04-09 | 三菱電機株式会社 | 列車情報管理装置および多数決処理方法 |
JP6790395B2 (ja) | 2016-03-16 | 2020-11-25 | 株式会社リコー | 電子機器及びその状態情報管理方法 |
JP6586607B2 (ja) * | 2017-03-09 | 2019-10-09 | 株式会社サンセイアールアンドディ | 遊技機 |
CN110348244B (zh) * | 2018-04-02 | 2023-03-17 | 深信服科技股份有限公司 | 基于仲裁的多校验和验证方法、系统、装置及存储介质 |
-
2000
- 2000-08-11 JP JP2000244492A patent/JP3743271B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002055885A (ja) | 2002-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2040166B1 (en) | Memory management apparatus | |
JP4475320B2 (ja) | 車両用記憶管理装置 | |
JP3427572B2 (ja) | 車両等の盗難防止装置 | |
US6285948B1 (en) | Control apparatus and method having program rewriting function | |
JP5176728B2 (ja) | 車両用電子制御装置 | |
US7584333B2 (en) | Data processing device in vehicle control system | |
JP3743271B2 (ja) | データ修復装置 | |
US8095263B2 (en) | Electronic control unit and vehicle control system | |
JP4706778B2 (ja) | 電子制御装置、及び車両制御システム | |
JP2003002132A (ja) | 車両用制御装置 | |
JP4345119B2 (ja) | 車載電子制御ユニットと同電子制御ユニットの交換方法 | |
JP4001088B2 (ja) | 電子制御装置 | |
JP4449854B2 (ja) | 内燃機関の始動異常診断装置 | |
JP2002041367A (ja) | 車両制御装置 | |
JP4066499B2 (ja) | 電子制御装置,電子制御システムおよび適合判断方法 | |
WO2018079537A1 (ja) | 電子制御装置及びそのデータ保護方法 | |
JP4041216B2 (ja) | 異常検出方法および異常検出装置 | |
JPH08153397A (ja) | Eepromのデータ再書込制御装置 | |
JPH09161493A (ja) | 書換え可能な不揮発性メモリの管理方法 | |
JP2004021520A (ja) | 車両用電子制御装置 | |
JP7172748B2 (ja) | 電子制御装置及び検査システム | |
JP2004005152A (ja) | 不揮発性メモリの書き換え装置 | |
JPH0793006A (ja) | 車両用電子制御装置 | |
JP2007138726A (ja) | 車両用電子制御装置及び表示装置 | |
JP6162011B2 (ja) | 自動車用電子制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050322 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050523 |
|
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: 20051025 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051107 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091125 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101125 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111125 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111125 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121125 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131125 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |