(57)【要約】【課題】記憶容量を減らさず、データの誤りを検出可能なデータ記憶装置を提供する。【解決手段】データ記憶装置１は、仮想的なキュービック状で複数のデータが記憶されている第１記憶部１０と、当該第１記憶部１０の複数のデータを読み出して、仮想的なキュービック状でデータを記憶する第２記憶部２０と、仮想的なキュービック状で記憶されたデータを用いて、Ｘ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向用チェック用データの夫々を演算するＸ方向データ演算部３０、Ｙ方向データ演算部４０、及びＺ方向データ演算部５０と、第１記憶部１０及び第２記憶部２０に記憶されている夫々のデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データに基づいて、第２記憶部２０に記憶されているデータが正しいか否かを判定する判定部６０と、を備える。【選択図】図１
2015103159.tif 000002
【特許請求の範囲】
【請求項１】
Ｘ座標、Ｙ座標、Ｚ座標で規定された仮想的なキュービック状で複数のデータが記憶されている不揮発性記憶部からなる第１記憶部と、
前記第１記憶部の複数のデータを読み出して、前記仮想的なキュービック状でデータを記憶する揮発性記憶部からなる第２記憶部と、
前記仮想的なキュービック状で記憶されたデータのうち、同一のＺ座標からなるＸＹ平面上に記憶されたデータを用いて、前記仮想的なキュービック状におけるＸ座標を規定するＸ方向に沿ったＸ方向チェック用データを演算するＸ方向データ演算部と、
前記仮想的なキュービック状で記憶されたデータのうち、同一のＺ座標からなるＸＹ平面上に記憶されたデータを用いて、前記仮想的なキュービック状におけるＹ座標を規定するＹ方向に沿ったＹ方向チェック用データを演算するＹ方向データ演算部と、
前記仮想的なキュービック状で記憶されたデータを用いて、前記仮想的なキュービック状におけるＺ座標を規定するＺ方向に沿ったＺ方向チェック用データを演算するＺ方向データ演算部と、
前記第１記憶部に記憶されているデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データと、前記第２記憶部に記憶されているデータを用いて演算された前記Ｘ方向チェック用データ、前記Ｙ方向チェック用データ、及び前記Ｚ方向チェック用データとに基づいて、前記第２記憶部に記憶されているデータが正しいか否かを判定する判定部と、
を備えるデータ記憶装置。
【請求項２】
前記Ｘ方向データ演算部、前記Ｙ方向データ演算部、及び前記Ｚ方向データ演算部の夫々が、前記第２記憶部に記憶されているデータを用いて、前記Ｘ方向チェック用データ、前記Ｙ方向チェック用データ、及び前記Ｚ方向チェック用データを演算する請求項１に記載のデータ記憶装置。
【請求項３】
前記複数のデータがビット単位で前記第１記憶部及び前記第２記憶部に記憶され、
前記Ｘ方向チェック用データと前記Ｙ方向チェック用データと前記Ｚ方向チェック用データとが、前記ビット単位のデータの排他的論理和である請求項１又は２に記載のデータ記憶装置。
【請求項４】
前記判定部は、前記第２記憶部に記憶されているデータを用いて演算された前記Ｘ方向チェック用データ、前記Ｙ方向チェック用データ、及び前記Ｚ方向チェック用データと、前記第１記憶部に記憶されているデータを用いて演算された前記Ｘ方向チェック用データ、前記Ｙ方向チェック用データ、及び前記Ｚ方向チェック用データとを比較し、前記Ｘ方向チェック用データ、前記Ｙ方向チェック用データ、及び前記Ｚ方向チェック用データのうち、少なくとも２つが一致する場合に前記第２記憶部に記憶されているデータが正しいと判定する請求項１から３のいずれか一項に記載のデータ記憶装置。
【請求項５】
前記判定部により前記第２記憶部に記憶されているデータが正しくないと判定された場合に、前記第１記憶部に記憶されているデータを用いて演算された前記Ｘ方向チェック用データと前記Ｙ方向チェック用データと前記Ｚ方向チェック用データとを用いて正しくないと判定されたデータを、前記第１記憶部に記憶されているデータに復元する復元部を備える請求項１から４のいずれか一項に記載のデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶されたデータが正しいか否かを判定するデータ記憶装置に関する。
【背景技術】
【０００２】
制御装置には、所定の制御を行うために、不揮発性のメモリ等のデータ記憶装置に記憶されたデータを読み出して使用するものがある。このとき、読み出したデータに誤りがあると、制御装置は正しい制御を行うことができない可能性がある。そこで、データ記憶装置のデータを記憶する場合に、そのデータの信頼性を向上させる技術がある。
【０００３】
下記に出展を示す特許文献１に記載のデータ記憶装置は、メインデータに加え、当該メインデータの誤りを訂正可能な誤り訂正データと、メインデータ及び誤り訂正データの少なくとも１つに誤りがあるか否かを検出可能な行誤り検出データと、からなる行データセットを複数行備え、行データセットのデータの複数行に亘る列データセットに対して誤りがあるか否を検出可能な列誤り検出データを、列データセットに備えて構成される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−８４１１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術は、メインデータに種々のデータを加えて扱われる。このため、データ記憶装置で扱われるデータの容量が増大するので、メインデータを記憶できる容量が減ってしまう。また、訂正データや行誤り検出データや列誤りデータが破壊された場合には、メインデータの修復を行うことができない。
【０００６】
本発明の目的は、上記問題に鑑み、データを記憶できる容量が減ることなく、誤りが検出することができるデータ記憶装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するための本発明に係るデータ記憶装置の特徴構成は、Ｘ座標、Ｙ座標、Ｚ座標で規定された仮想的なキュービック状で複数のデータが記憶されている不揮発性記憶部からなる第１記憶部と、前記第１記憶部の複数のデータを読み出して、前記仮想的なキュービック状でデータを記憶する揮発性記憶部からなる第２記憶部と、前記仮想的なキュービック状で記憶されたデータのうち、同一のＺ座標からなるＸＹ平面上に記憶されたデータを用いて、前記仮想的なキュービック状におけるＸ座標を規定するＸ方向に沿ったＸ方向チェック用データを演算するＸ方向データ演算部と、前記仮想的なキュービック状で記憶されたデータのうち、同一のＺ座標からなるＸＹ平面上に記憶されたデータを用いて、前記仮想的なキュービック状におけるＹ座標を規定するＹ方向に沿ったＹ方向チェック用データを演算するＹ方向データ演算部と、前記仮想的なキュービック状で記憶されたデータを用いて、前記仮想的なキュービック状におけるＺ座標を規定するＺ方向に沿ったＺ方向チェック用データを演算するＺ方向データ演算部と、前記第１記憶部に記憶されているデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データと、前記第２記憶部に記憶されているデータを用いて演算された前記Ｘ方向チェック用データ、前記Ｙ方向チェック用データ、及び前記Ｚ方向チェック用データとに基づいて、前記第２記憶部に記憶されているデータが正しいか否かを判定する判定部と、を備えている点にある。
【０００８】
このような特徴構成とすれば、第２記憶部に記憶されているデータが正しいか否かを、判定部が第１記憶部及び第２記憶部に記憶されているデータを用いて演算したＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データに基づいて判定するので、第１記憶部及び第２記憶部に記憶されたデータに判定用のデータを含ませる必要がない。このため、データのサイズが増加することがないので、第２記憶部におけるデータの記憶容量が減ることが無い。また、不揮発性記憶部からなる第１記憶部に記憶されているデータを用いて演算したＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データと、第２記憶部に記憶されたデータを用いて演算したＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データとを比較して第２記憶部に記憶されているデータが正しいか否かを判定するので、第２記憶部に記憶されているデータに誤りがある場合には、当該誤りを確実に検出することができる。
【０００９】
また、前記Ｘ方向データ演算部、前記Ｙ方向データ演算部、及び前記Ｚ方向データ演算部の夫々が、前記第２記憶部に記憶されているデータを用いて、前記Ｘ方向チェック用データ、前記Ｙ方向チェック用データ、及び前記Ｚ方向チェック用データを演算すると好適である。
【００１０】
このような構成とすれば、Ｘ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データを予め記憶しておく必要がないので、第２記憶部の記憶容量が減ることが無い。
【００１１】
また、前記複数のデータがビット単位で前記第１記憶部及び前記第２記憶部に記憶され、前記Ｘ方向チェック用データと前記Ｙ方向チェック用データと前記Ｚ方向チェック用データとが、前記ビット単位のデータの排他的論理和であると好適である。
【００１２】
ビット単位からなる複数のデータの排他的論理和は、どのような順序で演算しても同一の結果を得ることができる。このため、本構成とすれば、複数のデータを用いた論理演算を途中で中断することがあっても同一の結果を得ることができる。したがって、演算処理装置の負荷に応じてバッチ処理で論理演算を行うことができるので、高性能な演算処理装置を用いる必要がない。このため、データ記憶装置を安価に構成することができる。
【００１３】
また、前記判定部は、前記第２記憶部に記憶されているデータを用いて演算された前記Ｘ方向チェック用データ、前記Ｙ方向チェック用データ、及び前記Ｚ方向チェック用データと、前記第１記憶部に記憶されているデータを用いて演算された前記Ｘ方向チェック用データ、前記Ｙ方向チェック用データ、及び前記Ｚ方向チェック用データとを比較し、前記Ｘ方向チェック用データ、前記Ｙ方向チェック用データ、及び前記Ｚ方向チェック用データのうち、少なくとも２つが一致する場合に前記第２記憶部に記憶されているデータが正しいと判定すると好適である。
【００１４】
本来、揮発性記憶部からなる第２記憶部に記憶されたデータは、ほとんど誤ることがない。このため、第１記憶部及び第２記憶部に記憶されているデータを用いて演算された夫々のＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データのうち、少なくとも２つが合致すれば３つとも合致する可能性が高い。したがって、Ｘ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データのうち、少なくとも２つの整合性を判定するだけで良いので、第２記憶部に記憶されているデータが正しいか否かの判定に係る演算負荷を軽減することができる。
【００１５】
また、前記判定部により前記第２記憶部に記憶されているデータが正しくないと判定された場合に、前記第１記憶部に記憶されているデータを用いて演算された前記Ｘ方向チェック用データと前記Ｙ方向チェック用データと前記Ｚ方向チェック用データとを用いて正しくないと判定されたデータを、前記第１記憶部に記憶されているデータに復元する復元部を備えると好適である。
【００１６】
このような構成とすれば、第２記憶部に記憶されたデータが正しいか否かの判定に用いられた第１記憶部に記憶されているデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データを利用することができる。このため、第２記憶部に記憶されているデータの復元にあたり、改めて第１記憶部からデータを読み込む必要がないので、データのトラフィックを最小限にすることができる。したがって、第２記憶部に記憶されているデータの復元に係る演算処理装置の負荷を最小限に留めることが可能となる。
【図面の簡単な説明】
【００１７】
【図１】データ記憶装置の構成を模式的に示すブロック図である。
【図２】仮想的なキュービック状で記憶されたデータを模式的に示す図である。
【図３】Ｘ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データの演算方法を示す図である。
【図４】Ｘ方向チェック用データ及びＹ方向チェック用データの一例を示す図である。
【図５】Ｚ方向チェック用データの一例を示す図である。
【図６】データ記憶装置によるデータの判定処理を示すフローチャートである。
【発明を実施するための形態】
【００１８】
本発明に係るデータ記憶装置は、データの容量を増大することなく、当該データの正誤を判定し、データの誤りが検出された場合に正しいデータを復元する機能を備えて構成される。以下、本実施形態のデータ記憶装置１について詳細に説明する。
【００１９】
図１は、本実施形態のデータ記憶装置１の構成を模式的に示すブロック図である。図１に示されるように、データ記憶装置１は、第１記憶部１０、第２記憶部２０、Ｘ方向データ演算部３０、Ｙ方向データ演算部４０、Ｚ方向データ演算部５０、判定部６０、復元部７０の各機能部を備えて構成される。第２記憶部２０、Ｘ方向データ演算部３０、Ｙ方向データ演算部４０、Ｚ方向データ演算部５０、判定部６０、復元部７０は、マイクロコンピュータ２に内蔵される。上述した各機能部はＣＰＵを中核部材として、データの誤り検出及び復元に係る種々の処理を行うための上述の機能部がハードウェア又はソフトウェア或いはその両方で構築されている。
【００２０】
第１記憶部１０は、Ｘ座標、Ｙ座標、Ｚ座標で規定された仮想的なキュービック状で複数のデータが記憶されている不揮発性記憶部から構成される。Ｘ座標、Ｙ座標、Ｚ座標で規定された仮想的なキュービック状とは、Ｘ座標、Ｙ座標、及びＺ座標で規定された立体形状で仮想的に配置されていることをいう。第１記憶部１０は、当該第１記憶部１０を構成する記憶領域がＸ座標及びＹ座標で規定されるＸＹ平面上において複数に区分けされ、この区分けされた記憶領域がＺ座標を規定するＺ方向に積層されているように構成される。このような記憶領域の構成は仮想的なものであり、実際には公知の３次元配列を用いて記憶領域を表現することにより実現される。不揮発性記憶部とは、Ｅ2ＰＲＯＭ等のＲＯＭや、フラッシュメモリ等のようにバックアップ電源無しでデータを保持することができる記憶部である。本実施形態では、第１記憶部１０はＥ2ＰＲＯＭから構成される。
【００２１】
このようなキュービック状で記憶されたデータの一例が図２の（ａ）に示される。図２の（ａ）では、Ｘ座標を規定するＸ方向、Ｙ座標を規定するＹ方向、及びＺ座標を規定するＺ方向の夫々が、８個ずつに区分けしてキュービック状に配置された記憶領域が示される。夫々の記憶領域にはアドレスが付与され、当該記憶領域に記憶されるデータに紐付けされる。例えばアドレスは公知の配列を規定する表示のように、（Ｘ座標のアドレス，Ｙ座標のアドレス，Ｚ座標のアドレス）で示すことができる。例えば、アドレスが８ビットで示される場合、最下層の記憶領域（Ｚ方向における下から１層目の記憶領域）の四隅のアドレスは、図２の（ｂ）に示されるように、（１，１，１）、（１，８，１）、（８，１，１）、（８，８，１）として規定される。同様に、Ｚ方向における下から２層目の記憶領域の四隅のアドレスは、図２の（ｃ）に示されるように、（１，１，２）、（１，８，２）、（８，１，２）、（８，８，２）として規定される。以下、同様に、Ｚ方向における下から８層目の記憶領域の四隅のアドレスは、図２の（ｄ）に示されるように、（１，１，８）、（１，８，８）、（８，１，８）、（８，８，８）として規定される。このようにアドレスが規定された記憶領域にデータが記憶される。
【００２２】
第２記憶部２０は、第１記憶部１０の複数のデータを読み出して、仮想的なキュービック状でデータを記憶する揮発性記憶部から構成される。第１記憶部１０の複数のデータとは、上述のように第１記憶部１０に仮想的なキュービック状で記憶されているデータである。第２記憶部２０は、このような仮想的なキュービック状で記憶されているデータを、第１記憶部１０から読み出して仮想的なキュービック状で記憶する。揮発性記憶部とは、ＲＡＭやＤＲＡＭ等のように、バックアップ電源無しではデータを保持することができない記憶部である。
【００２３】
ここで、第２記憶部２０はＳＲＡＭから構成され、種々の演算のワークエリアとして用いられる。このような第２記憶部２０には、演算途中の結果の他、一時的にプログラムや、プログラムに用いる各種パラメータ等に関するデータが記憶される。
【００２４】
このような第２記憶部２０に記憶されるデータは、上述したように第１記憶部１０から伝達される。このため、第１記憶部１０にはプログラムや、プログラムに用いるパラメータ等のデータが記憶されている。一般的に、第２記憶部２０のような揮発性記憶部は、高速にアクセスすることができるが、バックアップ電源無しではデータを保持することができない。一方、第１記憶部１０のような不揮発性記憶部は、揮発性記憶部よりもアクセス速度が落ちるが、バックアップ電源無しでデータを保持することができる。
【００２５】
データ記憶装置１は、プログラムを格納するための図示しない不揮発性メモリを内蔵するが、その容量には限りがある。また、プログラムは共通でも、用いるパラメータが被制御対象物によって異なる場合もある。したがって、多品種展開が容易等の理由からマイクロコンピュータ２に内蔵されない第１記憶部１０に一部のプログラムや、パラメータ等が記憶される。
【００２６】
第１記憶部１０に記憶されたデータを都度マイクロコンピュータ２が読み出すと、マイクロコンピュータ２は頻繁に外部読出しプロセスを実行する必要がある。これにより、プログラムの実行速度が低下する可能性がある。そこで、マイクロコンピュータ２は、電源投入後の初期化時等に、第１記憶部１０に記憶されたデータを内蔵する第２記憶部２０に転記する。
【００２７】
このようなシステムが利用される例としては、自動車のセンサ制御システム、ブレーキ制御システム、エンジン制御システム、安全装置制御システム等がある。また、エレベータ、工場用工作機械などに利用される場合もある。
【００２８】
Ｘ方向データ演算部３０は、仮想的なキュービック状で記憶されたデータのうち、同一のＺ座標からなるＸＹ平面上に記憶されたデータを用いて、仮想的なキュービック状におけるＸ座標を規定するＸ方向に沿ったＸ方向チェック用データを演算する。仮想的なキュービック状で記憶されたデータとは、上述のように立体的に区分けされた第２記憶部２０の記憶領域に記憶されたデータである。同一のＺ座標からなるＸＹ平面上に記憶されたデータとは、図２の（ｂ）や（ｃ）や（ｄ）のように、Ｚ方向に沿って積層されたＸＹ平面における同一の層に記憶されたデータを意味する。すなわち、記憶領域のアドレスを（Ｘ座標のアドレス，Ｙ座標のアドレス，Ｚ座標のアドレス）で示した場合に、Ｚ座標のアドレスが同じ記憶領域をいう。仮想的なキュービック状におけるＸ座標を規定するＸ方向とは、立体的に区分けされた記憶領域のＸ座標を示す際に用いるＸ軸に沿った方向である。
【００２９】
ここで、本実施形態では、第１記憶部１０及び第２記憶部２０には複数のデータがビット単位で記憶される。ビット単位で記憶されるとは、第１記憶部１０及び第２記憶部２０の夫々の記憶領域に、１ビットずつのデータが記憶されることをいう。本実施形態ではＸ方向チェック用データは、このようなビット単位のデータの排他的論理和で構成される。排他的論理和とは、「０」及び「１」のいずれかからなる２つの入力が互いに一致しない場合に限り出力を「１」とする論理演算である。本実施形態では、第１記憶部１０及び第２記憶部２０に記憶されるデータは、Ｘ方向に沿って８個記憶されている。この場合、所定の２つのデータの論理和を演算し、その結果と次のデータとの論理和を演算する。これを全てのデータに対して繰り返して演算すると良い。
【００３０】
Ｘ方向データ演算部３０は、立体的に区分けされた第２記憶部２０の記憶領域に記憶されたデータを用いて、図３に示されるように、Ｘ方向に沿って排他的論理和を演算する。このＸ方向に沿って演算された排他的論理和がＸ方向チェック用データに相当する。このようなＸ方向チェック用データは、異なるＺ方向のＸＹ平面におけるデータに対しても演算される。したがって、Ｘ座標、Ｙ座標、及びＺ座標に対して８個ずつに区分けされた本実施形態の第２記憶部２０においては、６４個のＸ方向チェック用データが求められる。このように求められたＸ方向チェック用データは、第２記憶部２０に記憶される。
【００３１】
同様に、Ｙ方向データ演算部４０は、仮想的なキュービック状で記憶されたデータのうち、同一のＺ座標からなるＸＹ平面上に記憶されたデータを用いて、仮想的なキュービック状におけるＹ座標を規定するＹ方向に沿ったＹ方向チェック用データを演算する。すなわち、Ｙ方向データ演算部４０は、立体的に区分けされた第２記憶部２０の記憶領域に記憶されたデータを用いて、図３に示されるように、Ｙ方向に沿って排他的論理和を演算する。このＹ方向に沿って演算された排他的論理和がＹ方向チェック用データに相当する。このようなＹ方向チェック用データは、異なるＺ方向のＸＹ平面におけるデータに対しても演算され、第２記憶部２０に記憶される。本実施形態では、Ｙ方向チェック用データは、Ｘ方向チェック用データと同様に６４個求められる。
【００３２】
また、Ｚ方向データ演算部５０は、仮想的なキュービック状で記憶されたデータを用いて、仮想的なキュービック状におけるＺ座標を規定するＺ方向に沿ったＺ方向チェック用データを演算する。すなわち、Ｚ方向データ演算部５０は、立体的に区分けされた第２記憶部２０の記憶領域に記憶されたデータを用いて、図３に示されるように、Ｚ方向に沿って排他的論理和を演算する。このＺ方向に沿って演算された排他的論理和がＺ方向チェック用データに相当する。このようなＺ方向チェック用データは、異なるＺ方向のＸＹ平面に亘って演算され、第２記憶部２０に記憶される。本実施形態では、Ｚ方向チェック用データは、６４個求められる。
【００３３】
図４には、Ｘ方向データ演算部３０及びＹ方向データ演算部４０により求められたＸ方向チェック用データ及びＹ方向チェック用データの一例が示される。また、図５には、Ｚ方向データ演算部５０により求められたＺ方向チェック用データの一例が示される。なお、本実施形態では、Ｚ方向データ演算部５０により求められたＺ方向チェック用データを用いて、更にＸ方向データ演算部３０及びＹ方向データ演算部４０が夫々、Ｚ方向チェック用データのＸ方向チェック用データ及びＹ方向チェック用データが求められる。これにより、更にデータの正誤判定に係る信頼性を高めることができる。
【００３４】
判定部６０は、第１記憶部１０に記憶されているデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データと、第２記憶部２０に記憶されているデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データとに基づいて、第２記憶部２０に記憶されているデータが正しいか否かを判定する。第１記憶部１０に記憶されているデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データとは、第１記憶部１０に仮想的なキュービック状で記憶されているデータを用いて演算したＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データである。このような第１記憶部１０に記憶されているデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データは、第１記憶部１０に予めデータと共に記憶しておいても良いし、上述したＸ方向データ演算部３０、Ｙ方向データ演算部４０、及びＺ方向データ演算部５０により、判定を行う都度、演算しても良い。
【００３５】
第２記憶部２０に記憶されているデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データとは、上述したようにＸ方向データ演算部３０、Ｙ方向データ演算部４０、及びＺ方向データ演算部５０により求められ、第２記憶部２０に記憶されているＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データである。
【００３６】
本実施形態では、判定部６０は、第２記憶部２０に記憶されているデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データと、第１記憶部１０に記憶されているデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データとを比較し、Ｘ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データのうち、少なくとも２つが一致する場合に第２記憶部２０に記憶されているデータが正しいと判定する。すなわち、本実施形態では第１記憶部１０及び第２記憶部２０の夫々に記憶されているデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データは、夫々６４個ずつある。判定部６０は、第１記憶部１０及び第２記憶部２０の夫々に記憶されているデータを用いて演算されたＸ方向チェック用データ同士を比較し、Ｙ方向チェック用データ同士を比較し、Ｚ方向チェック用データ同士を比較する。その結果、Ｘ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データの夫々に対して、６４個全てが一致しているものが２以上あれば、判定部６０は第２記憶部２０に記憶されているデータが正しいと判定する。判定部６０により第２記憶部２０に記憶されているデータが正しいと判定されると、マイクロコンピュータ２は、第２記憶部２０に記憶されているデータを種々の演算処理に利用する。
【００３７】
一方、Ｘ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データの夫々に対して、６４個全てが一致しているものが１つ以下であれば、判定部６０は第２記憶部２０に記憶されているデータが正しくないと判定する。この場合、復元部７０が、第１記憶部１０に記憶されているデータを用いて演算されたＸ方向チェック用データとＹ方向チェック用データとＺ方向チェック用データとを用いて正しくないと判定されたデータを、第１記憶部１０に記憶されているデータに復元する。すなわち、復元部７０は、第２記憶部２０に記憶されているデータを、当該データを用いて求められたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データが、第１記憶部１０に記憶されているデータを用いて求められたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データに一致するように復元する。この場合、上述したようにＺ方向チェック用データを用いて求めたＸ方向チェック用データ、及びＹ方向チェック用データを用いると、精度良くデータを復元することができる。復元部７０により復元されたデータは、第２記憶部２０に記憶され、マイクロコンピュータ２により種々の演算処理に利用される。
【００３８】
次に、データ記憶装置１により行われる処理について、図６のフローチャートを用いて説明する。まず、第１記憶部１０に記憶されているデータが読み出され、第２記憶部２０に記憶される（ステップ＃１）。この記憶は、第２記憶部２０においてデータが仮想的なキュービック状で記憶されているように行われる。
【００３９】
このような仮想的なキュービック状で記憶されているデータを用いて、Ｘ方向データ演算部３０が各ＸＹ平面に対してＸ方向チェック用データを演算する（ステップ＃２）。演算により求められたＸ方向チェック用データは第２記憶部２０に記憶される。同様に、仮想的なキュービック状で記憶されているデータを用いて、Ｙ方向データ演算部４０が各ＸＹ平面に対してＹ方向チェック用データを演算する（ステップ＃３）。演算により求められたＹ方向チェック用データは第２記憶部２０に記憶される。また、仮想的なキュービック状で記憶されているデータを用いて、Ｚ方向データ演算部５０がＺ方向チェック用データを演算する（ステップ＃４）。演算により求められたＺ方向チェック用データは第２記憶部２０に記憶される。
【００４０】
次に、判定部６０が、ステップ＃２−＃４により求められたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データと、第１記憶部１０に記憶されているデータを用いて求められたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データとを用いて第２記憶部２０に記憶されているデータが正しいか否かの判定（異常判定）を実施する（ステップ＃５）。
【００４１】
判定部６０により、第２記憶部２０に記憶されているデータを用いて求められたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データのうち、２つ以上のチェック用データが正しい（正常である）と判定されると（ステップ＃６：Ｙｅｓ）、第２記憶部２０に記憶されているデータが正しいものと扱われ、マイクロコンピュータ２により行われる種々の処理において採用される（ステップ＃７）。
【００４２】
一方、判定部６０により、第２記憶部２０に記憶されているデータを用いて求められたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データのうち、正しい（正常である）チェック用データが１以下であると判定されると（ステップ＃６：Ｎｏ）、第２記憶部２０に記憶されているデータに誤りがあると扱われ、復元部７０により第２記憶部２０に記憶されているデータが正しいものに復元される（ステップ＃８）。復元されたデータは第２記憶部２０に記憶され、マイクロコンピュータ２により行われる種々の処理において使用される。このようにして、データ記憶装置１は第２記憶部２０に記憶されているデータが正しいか否かを判定し、正しくない場合に正しいデータに復元する。
【００４３】
〔その他の実施形態〕
上記実施形態では、第１記憶部１０及び第２記憶部２０に、ビット単位でデータが記憶されているとして説明したが、数バイト単位でデータを記憶する構成とすることも可能である。
【００４４】
上記実施形態では、Ｘ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データが排他的論理和であるとして説明したが、他の論理演算を用いて演算した演算値とすることも可能である。
【００４５】
上記実施形態では、判定部６０は第２記憶部２０に記憶されているデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データのうち、少なくとも２つが、第１記憶部１０に記憶されているデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データと一致する場合に第２記憶部２０に記憶されているデータが正しいと判定するとして説明した。しかしながら、第２記憶部２０に記憶されているデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データと、第１記憶部１０に記憶されているデータを用いて演算されたＸ方向チェック用データ、Ｙ方向チェック用データ、及びＺ方向チェック用データとが、全て一致する場合に、判定部６０が第２記憶部２０に記憶されているデータが正しいと判定するように構成することも可能である。
【００４６】
上記実施形態では、復元部７０が、第１記憶部１０に記憶されているデータを用いて演算されたＸ方向チェック用データとＹ方向チェック用データとＺ方向チェック用データとを用いて正しくないと判定されたデータを、第１記憶部１０に記憶されているデータに復元するとして説明した。例えば、復元部７０は、第１記憶部１０に記憶されているデータそのものを複写して第２記憶部２０に記憶されているデータを復元するように構成することも可能である。
【００４７】
本発明は、記憶されたデータが正しいか否かを判定するデータ記憶装置に用いることが可能である。
【符号の説明】
【００４８】
１：データ記憶装置
１０：第１記憶部
２０：第２記憶部
３０：Ｘ方向データ演算部
４０：Ｙ方向データ演算部
５０：Ｚ方向データ演算部
６０：判定部
７０：復元部
【図１】
2015103159.tif 000003
【図２】
2015103159.tif 000004
【図３】
2015103159.tif 000005
【図４】
2015103159.tif 000006
【図５】
2015103159.tif 000007
【図６】
2015103159.tif 000008