(57)【要約】      （修正有）【課題】データの転送を行う際に最小限のデータ領域をチェック用に使用することで配線の短絡や断線によるデータの転送異常を確実に検出する。【解決手段】ＣＰＵ１と不揮発性メモリ２の端子間に複数の配線を接続しており、端子間の配線はアドレス指定する０又は１の信号を通す複数のアドレス用配線３と、データを送る０又は１の信号を通す複数のデータ用配線４からなっており、アドレスとデータをセットにして転送を行うようにしているデータ保存装置において、アドレスを２進数で表現した場合にアドレス内に信号１が１個以下である各アドレスにはパスワードを入力しておき、ＣＰＵから不揮発メモリへのデータ転送時に前記パスワードの転送を行い、データの転送後、不揮発メモリの指定アドレスに格納したパスワードを抽出し、抽出したパスワードと設定しておいたパスワードの比較を行うことによってデータ転送時の異常を検出する。【選択図】図２
2015153192.tif 000002
【特許請求の範囲】
【請求項１】
電源消失後もデータの保存を行える不揮発性メモリと、不揮発性メモリにデータを書き込むＣＰＵを持ち、ＣＰＵと不揮発性メモリの端子間には複数の配線を接続しており、端子間の配線はアドレス指定するために０又は１の信号を通す複数のアドレス用配線と、データを送るために０又は１の信号を通す複数のデータ用配線からなっており、アドレスとデータをセットにしてＣＰＵから不揮発性メモリへのデータ転送を行うようにしているデータ保存装置において、
転送データのうち、アドレスを２進数で表現した場合にアドレス内に信号１が１個以下である各アドレスには、データではなくそれぞれ異なる値に定めたパスワードを入力しておき、ＣＰＵから不揮発メモリへのデータ転送時、データとともに前記パスワードの転送を行い、データの転送後、不揮発メモリの指定アドレスに格納したパスワードを抽出し、抽出したパスワードと設定しておいたパスワードの比較を行うことによってデータ転送時の異常を検出することを特徴とするデータ保存装置。
【請求項２】
請求項１に記載のデータ保存装置において、パスワードとして設定しておくデータも、データ内に信号１が１個以下となる値をパスワードとして設定するようにしているものであることを特徴とするデータ保存装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵのデータを不揮発性メモリに転送する場合において、転送データに異常が発生していないかのチェックを行うようにしているデータ保存装置に関するものである。
【背景技術】
【０００２】
揮発性メモリは高速で読み書きが可能であるために一時的な記憶装置として広く普及しており、ＣＰＵ内のメモリには揮発性メモリを使用している。しかし揮発性メモリは、電源が切れるとデータが消えるため保存の必要なデータは、揮発性メモリから不揮発性メモリに転送し、不揮発性メモリで保存するようにしている。データの転送は、ＣＰＵと不揮発性メモリの端子間を複数の配線で接続しておき、各線に０又は１の信号を送ることによって行う。端子間の配線は複数本のアドレス用配線と複数本のデータ用配線としており、０と１からなるアドレスと、０と１からなるデータ値をセットにして送る。ＣＰＵ１からアドレスとデータを読み出し、不揮発性メモリ２の指定アドレスに対応するデータ値を書き込むことでデータの転送を行う。
【０００３】
ここでアドレス用配線やデータ用配線に短絡や断線が発生すると、正しいデータを送ることはできなくなる。このデータ転送時における異常を検出するためには、サムチェックによる検査がよく行われている。サムチェックは、データ転送前にデータを値として合計しておき、合計値をデータと共に転送する。データの受信後にも同様にデータ値の合計を行い、データの転送前後で合計値を比較するものである。この場合、送信側と受信側で合計した値が同じであれば、データは正しく送信されたと判定するが、値を単純に加算するだけであるためにデータが異なっていても偶然同じ数値になる可能性があり、精度の点で問題がある。また、特開平3-255555では、転送データにチェック用のＩＤコードを付加しておき、転送後のチェックで異なっていれば異常と判定することを行っている。しかしこの場合、異常判定の信頼性を高めるにはチェックのためのＩＤコードをより多く設定することが必要となるためにデータを保存できる領域が少なくなり、偶然による誤判定の可能性が残ることになっていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平３−２５５５５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、データの転送を行う際に最小限のデータ領域をチェック用に使用することで配線の短絡や断線によるデータの転送異常を確実に検出することのできるデータ保存装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、電源消失後もデータの保存を行える不揮発性メモリと、不揮発性メモリにデータを書き込むＣＰＵを持ち、ＣＰＵと不揮発性メモリの端子間には複数の配線を接続しており、端子間の配線はアドレス指定するために０又は１の信号を通す複数のアドレス用配線と、データを送るために０又は１の信号を通す複数のデータ用配線からなっており、アドレスとデータをセットにしてＣＰＵから不揮発性メモリへのデータ転送を行うようにしているデータ保存装置において、転送データのうち、アドレスを２進数で表現した場合にアドレス内に信号１が１個以下である各アドレスには、データではなくそれぞれ異なる値に定めたパスワードを入力しておき、ＣＰＵから不揮発性メモリへのデータ転送時、データとともに前記パスワードの転送を行い、データの転送後、不揮発性メモリの指定アドレスに格納したパスワードを抽出し、抽出したパスワードと設定しておいたパスワードの比較を行うことによってデータ転送時の異常を検出する
ことを特徴とする。
【０００７】
請求項２に記載の発明は、前記のデータ保存装置において、パスワードとして設定しておくデータも、データ内に信号１が１個以下となる値をパスワードとして設定するようにしているものであることを特徴とする。
【発明の効果】
【０００８】
最小限のデータ領域を使用することで、配線の短絡や断線によるデータの転送異常を確実に検出することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施例でのパスワード設定状態を説明する転送データ説明図
【図２】本発明の第一の実施例でのＣＰＵと不揮発性メモリ間の結線説明図
【図３】本発明の第一の実施例での転送データ説明図
【図４】本発明の第一の実施例での転送データチェック手順説明図
【図５】本発明の第二の実施例でのＣＰＵと不揮発性メモリ間の結線説明図
【図６】本発明の第二の実施例での転送データ説明図
【図７】本発明の第二の実施例での転送データチェック手順説明図
【図８】本発明の第三の実施例でのＣＰＵと不揮発性メモリ間の結線説明図
【図９】本発明の第三の実施例での転送データ説明図
【図１０】本発明の第三の実施例での転送データチェック手順説明図
【発明を実施するための形態】
【００１０】
本発明の一実施例を図面を用いて説明する。図１は本発明の一実施例でのパスワード設定状態を説明する転送データ説明図であって、ＣＰＵ側で読み込む正常なデータを示している。図２、図５、図８は、ＣＰＵと不揮発性メモリの間での配線状態を説明するブロック図である。ＣＰＵ１は一時的なデータ保存しか行えず、電源が切れるとデータは消失するため、保存の必要なデータは電源が切れても保存が可能な不揮発性メモリ２に転送する。ＣＰＵ１と不揮発性メモリ２の間は、アドレス用配線３とデータ用配線４でつないでいる。アドレス用配線３は第０bitから第７bitまでの８本、データ用配線４も第０bitから第７bitまでの８本で接続している。ＣＰＵ１から不揮発性メモリ２へデータの転送を行う場合、各アドレス用配線３及びデータ用配線４内に０又は１のデータを流すことによってデータの転送を行う。この場合、アドレス用配線３やデータ用配線４に断線や短絡が発生していた場合、異常が発生している配線では、ＣＰＵ１から送信した信号と不揮発性メモリ２側で受信した信号が異なることがあり、正しいデータの転送が行えなくなる。
【００１１】
そのため、ＣＰＵ１から不揮発性メモリ２へのデータの転送を行う場合に、データとともにパスワードを送るようにしておき、データの転送後にパスワードとの照合を行うようにしている。パスワードは、アドレスを２進数で表現した場合にアドレス内に信号１が１個以下である各アドレスで設定し、それ以外のアドレスには保存すべきデータ値を収納するようにしておく。アドレス内の信号１が１以下となるアドレスとは、具体的には２進数で「００００００００」「０００００００１」「００００００１０」「０００００１００」「００００１０００」「０００１００００」「００１０００００」「０１００００００」「１０００００００」といったものである。図１はＣＰＵ１から不揮発性メモリ２へ送るデータをアドレスとともに記載したものであり、８bitのデータであってアドレスとデータはNo.１からNo.２５６の２５６組ある。そのうち、パスワードを設定しているデータNo.およびその付近を抜粋している。ここでパスワードを設定しているのは、１０進数で表している転送データNo.の、１、２、３、５、９、１７、３３、６５、１２９であり、この部分のデータにはパスワードを設定しておく。この各アドレスに設定するパスワードは、それぞれ異なるものを設定し、パスワードの方もデータ内に信号１が１個以下となる値を設定しておく。つまり、パスワードもアドレスと同じの「００００００００」「０００００００１」「００００００１０」・・・「１０００００００」で設定しておく。アドレスとパスワードは同じ値で組み合わせなくてもよいが、同じにした方がわかりやすいため実施例ではアドレスの値とパスワードの値を同じものにしている。
【００１２】
ＣＰＵ１から不揮発性メモリ２へのデータ転送は、転送データのNo.順に行い、アドレス用配線３にて送る０又は１を組み合わせによるアドレスの指定と、指定したアドレスにデータ用配線４を通じて送る０又は１の組み合わせによるデータを格納していく。データが正常に転送された場合、各パスワードを設定しているアドレスには、正しいパスワードが入力される。そのためデータの転送後、不揮発性メモリ２の指定アドレスに格納されているパスワードを読み出し、該当アドレスのパスワードと比較することでパスワードの確認を行い、パスワードが一致する場合には正常と判定する。そしてこの場合において、パスワードが一致しなかった場合には転送データに異常が発生していると判定する。
【００１３】
具体例に基づいて説明を行う。図１において、データはNo.１からNo.２５６まで順に書き込んでいく。データのNo.１はパスワード１を設定しており、アドレス「００００００００」にはパスワード１のデータ「００００００００」を設定している。同様にデータNo.２にはアドレス「０００００００１」にパスワード２のデータ「０００００００１」、データNo.３にはアドレス「００００００１０」にパスワード３のデータ「００００００１０」というように、パスワード９まで設定している。パスワード９はデータNo.１２９に設定しており、この場合のアドレスは「１０００００００」でパスワードも「１０００００００」としている。パスワードを設定するアドレスは、全て０のアドレスとアドレス中の一つのbitにのみ１が入る各アドレスであるため、後側に進むほどパスワードを入力しているデータはまばらになっている。２５６個のアドレスを持つデータ領域では、パスワードを定めておくアドレスは９箇所となり、残り２４７個のアドレスには保存するデータが入る。このデータ部分は毎回変化する値であるため、データの部分は「＊」で表している。
【００１４】
図２以降は、データの転送時に異常が発生した場合のものである。図２から図４は、ＣＰＵ１と不揮発性メモリ２を結ぶ８本のアドレス用配線３のうち、第１bit部分のラインと第２bit部分のラインとの間で短絡が発生した場合におけるデータの転送状況を示したものである。この場合、ＣＰＵよりアドレス部分の第１bitのラインで信号１の出力を行うと、信号１のデータは第１bitのラインに加えて第２bitのラインにも送られる。そのため、ＣＰＵからのデータ読み出した際には、アドレス部分の第１bitのラインには信号１、第２bitのラインには信号０を出力していても、不揮発性メモリ２に書き込む際には、第１bitのラインと第２bitのラインの両方に信号１を書き込む。逆に、ＣＰＵではアドレス部分の第２bitのラインにのみ信号１の出力を行い、第１bitのラインには信号０の出力を行っていた場合も、不揮発性メモリ２では第１bitのラインと第２bitのラインの両方が信号１であると認識する。この状態を示したのが図３であり、太枠で囲んでいる部分で誤ったデータが送られている。この部分はデータの転送を正常に行えた図１では信号０となっていたが、短絡の影響によって不揮発性メモリ２には信号１が書き込まれることになっている。
【００１５】
この場合、一部のデータは本来とは異なるアドレスに入力されることになる。データNo.２は、本来であればアドレス「００００００１０」にデータを送るはずであったが、第２bitでの信号が０から１に変化しているため、アドレス「０００００１１０」に送ることになっている。そしてデータNo.５も、本来のアドレス「０００００１００」ではなく、アドレス「０００００１１０」に送っている。またアドレス「０００００１１０」はデータNo.７が入るアドレスであるため、データNo.７のデータもアドレス「０００００１１０」に送っている。データはNo.１から順に書き込んでいるとすれば、図４に記載しているように、アドレス「０００００１１０」にはまずNo.３のデータ「０００００１０」を書き込む。その後、No.５のデータも同じアドレスに書き込むことになっているため、このアドレスには先に書き込んでいたNo.３の「００００００１０」を消してNo.５のデータ「０００００１００」を書き込む。更にその後、No.７のデータも同じアドレスに書き込むため、このアドレスにはNo.７のデータ「＊＊＊＊＊＊＊＊」（＊は０又は１）を書き込み、最終的にはアドレス「０００００１１０」にはNo.７のデータが入っている。
【００１６】
この場合、データの転送後に行う異常のチェック時、パスワード３とパスワード４で不一致が発生することになる。パスワード３のチェックでは、指定アドレスの「０００００１１０」に入っているデータとパスワード３として設定していた「００００００１０」とを比較し、異なっている場合にはデータ異常の判定を行う。アドレス「０００００１１０」は、データ書き込み時、最初はパスワード３の「００００００１０」を書き込んでいるが、その後にNo.５のデータを上書きし、さらにNo.７のデータを上書きしているため、最終的にはNo.７のデータが入っている。パスワード３とNo.７のデータを比較することで両者が異なっていることが確認できるとデータ異常と判定する。
【００１７】
同様に、パスワード４でもチェックを行う。パスワード４も指定アドレスである「０００００１１０」に入っているNo.７のデータと、パスワード４として設定していた「０００００１００」とを比較する。パスワード４とNo.７のデータを比較し、両者が異なっていることが確認できるとデータ異常と判定する。異常有無の判定は、複数個設定しているパスワードのうち、一つでも相違するものがあれば異常と判定し、全てのパスワードが一致した場合には正常と判定する。
【００１８】
なお、No.７のデータは毎回変化するものであり、偶然パスワードと同じになる可能性がある。例えばNo.７のデータが「００００００１０」であった場合、これはパスワード３と同じ値であるため、パスワード３との比較を行った際には異常の検出を行うことができない。しかしその場合でも、パスワード４との比較を行った際にはこの値はパスワード４と同じになることはないため、異常の検出を行うことができる。パスワード３とパスワード４は別の値を設定しているため、パスワード３とパスワード４の両方で同じになることはあり得ず、データ異常の判定は確実に検出することができる。
【００１９】
図５から図７は、ＣＰＵ１と不揮発性メモリ２を結ぶ８本のアドレス用配線３のうち、第３bit部分のラインで断線が発生した場合におけるデータの転送状況を示したものである。この場合、アドレス用配線の第３bitのラインではＣＰＵより信号１の出力を行っても、不揮発性メモリ２の第３bitのラインに信号１は送られず、不揮発性メモリ２の第３bitのラインは常に信号０であると認識する。この状態を示したのが図６であり、太枠で囲んでいる部分で誤ったデータが送られている。この部分は図１に記載している正常なデータでは信号１となっていたが、断線の影響によって不揮発性メモリ２には信号０が送られている。
【００２０】
この場合も、一部のデータは本来とは異なるアドレスに入力されることになる。データNo.９は、本来であればアドレス「００００１０００」にデータを送るはずであったが、アドレス「００００００００」に送ることになっている。アドレス「００００００００」はデータNo.１でパスワード１の「００００００００」を入力していたが、データNo.９を上書きすることで「００００１０００」に書き換えられている。
【００２１】
この場合、データの転送後に行う異常のチェック時、パスワード１で不一致が発生することになる。パスワード１のチェックは、アドレス「００００００００」に入っているデータとパスワード１として設定していた「００００００００」とを比較し、異なっている場合にはデータ異常の判定を行う。アドレス「００００００００」は、データ書き込み時、最初はパスワード１の「００００００００」を書き込んでいるが、その後にNo.９のデータを上書きしているため、最終的にはNo.９のパスワードである「００００１０００」が入っている。パスワード１の「００００００００」と、指定アドレスに入っている「００００１０００」を比較すると、両者は異なっているためにデータ異常との判定を行う。
【００２２】
図８から図１０は、ＣＰＵ１と不揮発性メモリ２を結ぶ８本のデータ用配線４のうち、第２bit部分のラインと第３bit部分のラインとの間で短絡が発生した場合におけるデータの転送状況を示したものである。この場合、ＣＰＵよりデータ用配線の第２bitのラインで信号１の出力を行うと、信号１のデータは第２bitのラインに加えて第３bitのラインにも送られる。そのため、ＣＰＵではデータ部分の第２bitのラインに信号１、第３bitのラインには信号０を出力していても、不揮発性メモリ２には第２bitのラインと第３bitのラインの両方に信号１が送られる。そしてＣＰＵではデータ部分の第３bitのラインに信号１の出力を行い、第２bitのラインには信号０の出力を行っていた場合も、不揮発性メモリ２では第２bitのラインと第３bitのラインの両方が信号１であると認識する。この状態を示したのが図７であり、太枠で囲んでいる部分で誤ったデータが送られている。この部分は図１での転送データは信号０となっていたが、短絡の影響によって不揮発性メモリ２には信号１が送られている。
【００２３】
この場合、一部のアドレスでは本来とは異なるデータが入力されることになる。No.５のデータを書き込む場合、アドレス「０００００１００」には、本来であれば「０００００１００」を送るはずであったが、データの第３bitが０から１に変わっているため、データ「００００１１００」が送られることになっている。そしてデータNo.９も、本来のデータ「００００１０００」ではなく、データ「００００１１００」を送っている。
【００２４】
この場合、データの転送後に行う異常のチェック時、パスワード４とパスワード５で不一致が発生することになる。パスワード４のチェックは、アドレス「０００００１００」に入っているデータとパスワード４として設定していた「０００００１００」とを比較し、異なっている場合にはデータ異常の判定を行う。アドレス「０００００１００」は、データ書き込み時に「００００１１００」を書き込んでため、パスワード４とは異なっている。パスワード４とデータを比較することで両者が異なっていることが確認できるとデータ異常と判定する。
【００２５】
また、パスワード５でも同様にチェックを行う。パスワード５もアドレス「００００１０００」に入っているデータ「００００１１００」とパスワード５として設定していた「００００１０００」とを比較する。パスワード５とそのアドレスでのデータを比較し、両者が異なっていることが確認できるとデータ異常と判定する。
【００２６】
本発明では転送時に異常が発生した場合に、偶然設定パスワードと同じ値になることで、異常の発生が見逃されるということはないため、データの信頼性を向上させることができる。また、パスワードを設定している部分では保存すべきデータを入力することができないが、パスワード用に使用するアドレスはデータ全体から比べると僅かな量となる。実施例では８bitのデータであって２５６個のアドレスがあるが、必要なパスワード数は９個となる。そしてbit数が一つ増えると、パスワードを一つ増やすことになるが、データ領域数は倍になっていくため、bit数が増加してデータのアドレス桁が増加するほどパスワードに使用するデータ領域の割合は小さくなっていく。
【００２７】
なお、本発明は以上説明した実施例に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。
【符号の説明】
【００２８】
１  ＣＰＵ    
２  不揮発性メモリ    
３  アドレス用配線
４  データ用配線  
【図１】
2015153192.tif 000003
【図２】
2015153192.tif 000004
【図３】
2015153192.tif 000005
【図４】
2015153192.tif 000006
【図５】
2015153192.tif 000007
【図６】
2015153192.tif 000008
【図７】
2015153192.tif 000009
【図８】
2015153192.tif 000010
【図９】
2015153192.tif 000011
【図１０】
2015153192.tif 000012