(57)【特許請求の範囲】
【請求項１】
最上位に任意の値を書き込み、
中間位置に必要な情報を書き込み、
最下位に、最上位に書き込んだ前記任意の値のミラー値を書き込むことを繰り返すことによるメモリへのデータの保持方法であって、前記任意の値は、繰り返し回数より１多い値までを使ってカウントアップ又はカウントダウンして得ることを特徴とする、メモリへのデータの保持方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータのメモリへデータを書き込む際のデータ保存方法に関する。
【背景技術】
【０００２】
マイクロコンピュータのＲＡＭやＥＥＰＲＯＭ用の、任意に書き込みを行うメモリは、供給される電源電圧の変動、ノイズなどの影響によりデータが壊れる可能性がある。それに対応し、ＲＡＭ、ＥＥＰＲＯＰＭ等に大切なデータを保存する場合、ＲＡＭに書き込む値に対し、ミラー値（逆数）をセットして書き込みを行う。ＲＡＭ読み込みを行う場合、データ地と逆数の関係が合っているか同かを確認し、ＲＡＭが壊れていないことを確認しながら値を使用する方法が一般的に知られている。
【特許文献１】特開２００３−３４３３４２号公報（［００２３］参照）
【特許文献２】特開２００２−３１７６８７号公報（［００５４］，［００５５］参照）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
書き込みたいデータ容量に対しミラー値を持つため、本来の２倍のメモリを必要とする。例えば、図６に示すように、１６ビットのデータ「１２３４」を保存する場合、「１２３４」のミラー値「ＥＤＣＢ」を追加して書き込む。このとき、書き込むデータは「１２３４ＥＤＣＢ」となり、３２ビットが必要となる。書き込むデータの総量が大きいと必要なメモリも増え、マイクロコンピュータ、メモリのコストアップにつながる。
【０００４】
本発明は、メモリの信頼性を確保しながら、必要なメモリの容量を下げることを課題とする。
【課題を解決するための手段】
【０００５】
上記した課題を解決するために講じた技術的手段は、最上位に任意の値を書き込み、
中間位置に必要な情報を書き込み、
最下位に、最上位に書き込んだ前記任意の値のミラー値を書き込むことを繰り返すことによるメモリへのデータの保持方法であって、前記任意の値は、繰り返し回数より１多い値までを使ってカウントアップ又はカウントダウンして得るようにした。これによれば、必要な情報に加え、最上位４ビット、最下位４ビットの８ビットの追加で済む。
【０００６】
而して、最下位のデータは、最上位の値のミラー値とすることで、簡単に作成できる。
【０００７】
更に、任意の値は、繰り返し回数より１多い値までを使ってカウントアップ又はカウントダウンして得るので、最上位もしくは最下位に書き込んだデータのつながりを見ることで、どこが最新のデータかがわかる。
【発明の効果】
【０００８】
本発明によれば、メモリの信頼性を確保しながら、必要なメモリの容量を下げることができる。
【発明を実施するための最良の形態】
【０００９】
本発明に従った実施の形態を図面に基づいて説明する。
【００１０】
図１においては、連続する６つの４ビットデータ＝２４ビットを書き込む場合の例である。マイクロコンピュータのメモリとしては、ＲＡＭ又はＥＥＰＲＯＭを想定している。ここでは、最上位の任意の値（ここでは「１」）を書き込む。次に、記憶したいデータ（ここでは「ＦＦＦＦＦＦ」）を書き込む。最後に、最下位に、最上位に書き込んだ任意の値のミラー値（ここでは「Ｅ」）を書き込む。この一連の書き込みによって、３２ビットの情報が保持されるが、本来、必要なデータは２４ビットである。書き込んで保持されらメモリ値の信頼性を確認するには、最上位の値（ここでは「１」）と最下位の値（ここでは「Ｅ」）がミラー値の関係になっているかどうかを確認すればよい。
【００１１】
この方法によれば、図６の従来の技術と同じ３２ビットのメモリによって、保管できる必要な情報が、従来技術では１６ビットであったのに対し、２４ビットまで格納できるようになる。
【００１２】
次に、複数の情報を格納する実施態様を図２〜５に沿って説明する。
【００１３】
マイクロコンピュータのＲＡＭとして、３２ビット×６テーブル（＝１９２ビット）の領域を用意する（図２参照）。最初の情報を書き込むとき、第１テーブルの最上位に値「１」を書き込み、次に、２４ビットの情報を書き込み、最後に最下位に値「１」のミラー値である「Ｅ」を書き込む（図３参照）。次の情報を書き込むときは、第２テーブルの最上位に値「２」を書き込み、次に、２４ビットの情報を書き込み、最後に最下位に値「２」のミラー値である「Ｄ」を書き込む。このように最上位の値を１づつカウントアップし次のテーブルにデータを書き込んでいく。最後の第６テーブルでは、最上位に値「６」を書き込み、次に、２４ビットの情報を書き込み、最後に最下位に値「６」のミラー値である「９」を書き込むようになる（図４参照）。
【００１４】
最後のテーブルを書き込んだ後は、最初に第１テーブルに戻り、新たな情報を上書きする。ここで、最上位に書き込む値の最大値はテーブル数より１多い値に設定する。したがって、ここでは６テーブルあるので、最大値は７となる。最大値の次は１に戻し、続けてカウントアップする。
【００１５】
この条件に従うと、７回目の書き込みは第１テーブルとなり、最上位に値「７」を書き込み、次に、２４ビットの情報を書き込み、最後に最下位に値「２」のミラー値である「８」を書き込む。８回目の書き込みは第２テーブルとなり、最上位に値「１」を書き込み、次に、２４ビットの情報を書き込み、最後に最下位に値「１」のミラー値である「Ｅ」を書き込む（図５参照）。以後、この条件で続けてデータを格納していく。
【００１６】
図５のように、８回目の書き込みを行った段階で、最上位の値は第１テーブルから順に「７」→「１」→「３」→「４」→「５」→「６」となっている。最上位の値が、１〜７までカウントアップされると言う条件の下で、第２テーブルと第３テーブルの間のみ規則性がないため、第２テーブルに格納されたデータが最新のデータであることがすぐにわかる。
【００１７】
上記実施態様において、記憶したいデータの長さは適宜変更してもかまわない。
【００１８】
上記実施態様においては、１６進数のデータ（０〜Ｆ）を使用し、最上位の値のミラー値を最下位に書き込んだが、他の計数法を使用してもかまわない。
【００１９】
また、最下位に書き込む値は、ミラー値以外に、特定の数だけインクリメントした数にするなど、他の方法をとってもよい。
【００２０】
上記実施態様において、複数の情報を格納する場合に、最上位の値を１づつカウントアップするようにしたが、逆に１づつカウントダウンするように変更してもよい。この場合、最上位の値は順に「７」→「６」→「５」→「４」→「３」→「２」→「１」→「７」のように切り替えていく。また、一番最初に書き込む値は「１」や「７」ではなく任意の値としてもよい。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施態様のメモリ構成を示す構成図である。
【図２】本発明の別の実施態様のメモリ構成を示す構成図である。
【図３】図２において、１回目の書き込みを行った後のメモリ構成を示す構成図である。
【図４】図２において、６回目の書き込みを行った後のメモリ構成を示す構成図である。
【図５】図２において、８回目の書き込みを行った後のメモリ構成を示す構成図である。
【図６】従来技術におけるメモリ構成を示す構成図である。
【符号の説明】
【００２２】
１  第１テーブル
２  第２テーブル
３  第３テーブル
４  第４テーブル
５  第５テーブル
６  第６テーブル
【図１】
0004788117.tif 000002
【図２】
0004788117.tif 000003
【図３】
0004788117.tif 000004
【図４】
0004788117.tif 000005
【図５】
0004788117.tif 000006
【図６】
0004788117.tif 000007