(57)【要約】【課題】  本来バックアップすべきデータが正常に保存されたかどうかを確認することができ、また、使用頻度の高い重要なデータを優先的に保存できるようにすることができ、これらによって、バックアップデータの信頼性を高めること。【解決手段】  ＲＯＭ１２に、バックアップ対象のデータを制御部１０での使用頻度に応じて分類してブロック化したデータと、使用頻度が高いほどに短周期で該当ブロックデータをバックアップ保存する指示を行う情報とを記憶する。制御部１０は、電源断時にその情報に従いブロックデータをＥＥＰＲＯＭ１６に保存し、そのブロック毎にサムチェック計算したサム値を記憶し、電源オン時にその保存ブロックデータを読込み、これから計算したサム値と、ＥＥＰＲＯＭ１６に記憶された該当サム値とが一致の際にブロックデータをＳＲＡＭ１４に展開し、不一致の際はＲＯＭ１２から該当ブロックデータを読出して展開する。【選択図】      図１
2007102566.tif 000002
【特許請求の範囲】
【請求項１】
アクセス制御及び演算処理を行う制御手段と、この制御手段で使用されるデータが記憶された第１の不揮発性メモリと、制御手段の演算処理で使用されるデータが第１の不揮発性メモリから読み出されて展開される揮発性メモリと、電源断時に制御手段で使用中のデータがバックアップ保存される第２の不揮発性メモリとを有するメモリバックアップシステムにおいて、
前記第１の不揮発性メモリに、前記バックアップ保存の対象となるデータを複数にブロック化したブロックデータを記憶し、
前記制御手段は、前記電源断時に前記制御手段で使用中のデータをブロック毎に前記第２の不揮発性メモリにバックアップ保存すると共に、この保存時にブロック毎にサムチェック計算してサム値を求めて同メモリに記憶し、電源オン時に前記第２の不揮発性メモリに保存されたブロックデータを読込み、このブロックデータをサムチェック計算したサム値と、前記第２の不揮発性メモリに記憶されたその読込みブロックデータに対応するサム値とが一致の際に当該ブロックデータを前記不揮発性メモリに展開し、不一致の際に前記第１の不揮発性メモリから当該ブロックデータに対応するブロックデータを読出して前記不揮発性メモリに展開する制御を行う
ことを特徴とするメモリバックアップシステム。
【請求項２】
前記第１の不揮発性メモリは、前記ブロックデータとして、前記バックアップ保存の対象となるデータを前記制御手段での使用頻度に応じて分類してブロック化したデータを記憶し、また、前記使用頻度が高いほどに短周期で該当ブロックデータをバックアップ保存する指示を行う指示情報を記憶し、
前記制御手段は、前記電源断時に前記指示情報に従い前記制御手段で使用中のデータを前記第２の不揮発性メモリにバックアップ保存すると共に、この保存時にブロック毎にサムチェック計算してサム値を求めて同メモリに記憶し、前記電源オン時の第２の不揮発性メモリからのブロックデータの読込み時に、前記サム値の一致又は不一致の判定に応じた前記不揮発性メモリへの展開の制御を行う
ことを特徴とする請求項１に記載のメモリバックアップシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムを搭載した電子機器一般に搭載され、電源断となった際に必要なデータをバックアップメモリに保存するメモリバックアップシステムに関する。
【背景技術】
【０００２】
一般に、各種システムのメモリ（記憶装置）として、半導体メモリが広く用いられている。この半導体メモリは、電源断（オフ）により記憶されたデータが消滅してしまう揮発性メモリと、電源断でも記憶されたデータが消滅しない不揮発性メモリとに大別される。揮発性メモリは、ＤＲＡＭ(Dynamic Random Access Memory)と、ＳＲＡＭ(Static Random Access Memory)とに分類される。これらのメモリは、集積度の点で優れているＭＯＳ(Metal Oxide Semiconductor)トランジスタによって構成することによって、安価で大容量のものが実現できるので、好んで採用されている。
【０００３】
ところで、上述したようなＤＲＡＭ、ＳＲＡＭ等の揮発性メモリは、その性質上、電源断により記憶データが消滅してしまうので、従来から、予め電源断に備えてバックアップ用電源を用意することで、電源断時にはバックアップ用電源に切り替えてメモリをバックアップして記憶データを保護するようにしたメモリバックアップシステムが構築されている。従って、上述のようなメモリを用いる場合は、メモリバックアップシステムを備えることにより、演算処理中の重要なデータを必要に応じてそのメモリに退避させて保存することで、いつでもデータをメモリから復帰させて活用することができる。
【０００４】
バックアップ電源として容量の少ない電池やコンデンサを使用するので、上記の揮発性メモリに電源を供給可能な時間、つまりデータを保持可能な時間は有限である。この揮発性メモリの欠点を解決する為に、データの書き換えが可能な不揮発性メモリを採用することが考えられる。
不揮発性メモリとしては、データを電気的に消去及び書き込みが数百回から数万回可能なＥＥＰＲＯＭ(Electrically Erasable Read Only Memory)などがある。不揮発性メモリは、電源供給することなく内容データを保持することが可能であり、バックアップ電源が不要となる利点がある。また、不揮発性メモリ内のデータは、電気的に消去、書き込みが可能であり、システムに実装したまま内容の変更が可能である。
【０００５】
しかし、ＥＥＰＲＯＭなどの不揮発性メモリに蓄えられるデータの内容を書き換える為には、ＤＲＡＭやＳＲＡＭに比べ、非常に時間が掛かる欠点がある。特に高速なデータの更新が要求されたり、頻繁なデータ更新が行われたりするシステムでは、上述のような記憶装置として不揮発性メモリをＤＲＡＭやＳＲＡＭに置き換えとして実装するのは不向きであった。
【０００６】
そこで、揮発性メモリと不揮発性メモリの両方を実装し、互いの欠点を補完したバックアップ記憶装置がある。これは、システムが外部から電源電圧が供給されている状態では、ＥＥＰＲＯＭなどの不揮発性メモリに蓄えられたデータの内容を、ＤＲＡＭやＳＲＡＭなどの揮発性メモリ上の対応アドレスに展開し、システムによりデータの読み込み要求や書き込み要求がきた場合には揮発性メモリが対応する。
【０００７】
また、システムから揮発性メモリのデータのバックアップ要求が来た場合や、システムから外部供給されている電源電圧の遮断要求が来た場合、揮発性メモリに展開されたデータを不揮発性メモリに書き込む処理を行うようになっている。
しかしながら、データ書き込み中に電源供給が断たれた場合、正しくデータが不揮発性メモリに対して保存されたかどうか分からない。そのため、正しくデータが保存されていないデータを揮発性メモリに展開した場合、不定な値となりシステムが暴走してしまう可能性がある。
【０００８】
このため、特許文献１に記載されているように、バックアップ時に、揮発性メモリのデータを不揮発性メモリヘ予め決められたブロック単位で順次書き込み、１つのブロックヘの書き込みに先立って当該ブロックに対するＩＤを無効とし、当該ブロック書き込み完了後にＩＤを有効とする。そして、電源回復後にブロック毎の不揮発性メモリのＩＤをチェックして、ＩＤ値が正しいブロックを対応揮発性メモリに展開すると共に、ＩＤ値が不正なブロックについて当該ブロックに代えて初期値を格納した不揮発メモリのデータを対応揮発性メモリに展開することで、利用データが不定な値となることを防止している。
【特許文献１】特開２００２−４１３７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、上記特許文献１においては、揮発性メモリに対してデータが書き込めたかどうかを確認するだけなので、本来バックアップすべきデータが正常に保存されたかどうかを確認することはできない。更には、一般的にデータは個々に使用頻度に差異があるが、単純にデータを書込んで電源回復後にそれを読み出して展開するだけなので、使用頻度の高い重要なデータの書き込み順位が後にある場合、そのデータ書き込みに至らない時点でバックアップ電源がなくなると重要なデータがバックアップ出来なくなる。これらの理由からバックアップデータの信頼性に欠けるという問題がある。
【００１０】
本発明は、このような課題に鑑みてなされたものであり、本来バックアップすべきデータが正常に保存されたかどうかを確認することができ、また、使用頻度の高い重要なデータを優先的に保存できるようにすることができ、これらによって、バックアップデータの信頼性を高めることができるメモリバックアップシステムを提供することを目的としている。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明の請求項１によるメモリバックアップシステムは、アクセス制御及び演算処理を行う制御手段と、この制御手段で使用されるデータが記憶された第１の不揮発性メモリと、制御手段の演算処理で使用されるデータが第１の不揮発性メモリから読み出されて展開される揮発性メモリと、電源断時に制御手段で使用中のデータがバックアップ保存される第２の不揮発性メモリとを有するメモリバックアップシステムにおいて、前記第１の不揮発性メモリに、前記バックアップ保存の対象となるデータを複数にブロック化したブロックデータを記憶し、前記制御手段は、前記電源断時に前記制御手段で使用中のデータをブロック毎に前記第２の不揮発性メモリにバックアップ保存すると共に、この保存時にブロック毎にサムチェック計算してサム値を求めて同メモリに記憶し、電源オン時に前記第２の不揮発性メモリに保存されたブロックデータを読込み、このブロックデータをサムチェック計算したサム値と、前記第２の不揮発性メモリに記憶されたその読込みブロックデータに対応するサム値とが一致の際に当該ブロックデータを前記不揮発性メモリに展開し、不一致の際に前記第１の不揮発性メモリから当該ブロックデータに対応するブロックデータを読出して前記不揮発性メモリに展開する制御を行うことを特徴とする。
この構成によれば、バックアップ保存されたデータが、サムチェック計算によって正しいか否かを確認することができるので、本来バックアップすべきデータが正常に保存されたかどうかを確認することができる。これによって、バックアップデータの信頼性を高めることができる。
【００１２】
また、本発明の請求項２によるメモリバックアップシステムは、請求項１において、前記第１の不揮発性メモリは、前記ブロックデータとして、前記バックアップ保存の対象となるデータを前記制御手段での使用頻度に応じて分類してブロック化したデータを記憶し、また、前記使用頻度が高いほどに短周期で該当ブロックデータをバックアップ保存する指示を行う指示情報を記憶し、前記制御手段は、前記電源断時に前記指示情報に従い前記制御手段で使用中のデータを前記第２の不揮発性メモリにバックアップ保存すると共に、この保存時にブロック毎にサムチェック計算してサム値を求めて同メモリに記憶し、前記電源オン時の第２の不揮発性メモリからのブロックデータの読込み時に、前記サム値の一致又は不一致の判定に応じた前記不揮発性メモリへの展開の制御を行うことを特徴とする。
この構成によれば、使用頻度の高いデータ（重要なデータ）ほど短周期で優先的にバックアップ保存されるので、バックアップ電源の供給が短時間しかもたない場合でも、重要なデータをバックアップ保存することが出来る。これによって、バックアップデータの信頼性を高めることができる。
【発明の効果】
【００１３】
以上説明したように本発明によれば、本来バックアップすべきデータが正常に保存されたかどうかを確認することができ、また、使用頻度の高い重要なデータを優先的に保存できるようにすることができ、これらによって、バックアップデータの信頼性を高めることができるという効果がある。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を、図面を参照して説明する。
図１は、本発明の実施の形態に係るメモリバックアップシステムの構成を示すブロック図である。
図１に示すメモリバックアップシステムは、コンピュータシステムを内蔵する電子機器に用いられており、図示せぬバックアップ電源の他に、所定の演算処理を行う制御部１０と、この制御部１０にて使用されるデータが記憶された固定記憶メモリ（不揮発性メモリ）のＲＯＭ１２と、制御部１０の演算処理に使用されるデータがＲＯＭ１２から読み出されて展開される揮発性メモリのＳＲＡＭ１４と、電源断時に制御部１０の演算処理で使用されるデータをバックアップ保存する不揮発性メモリのＥＥＰＲＯＭ１６とを備えて構成されている。また、ＥＥＰＲＯＭ１６の保存データは、電源復旧時などに読み出されてＳＲＡＭ１４に展開されるようになっている。
【００１５】
ＲＯＭ１２は、第１〜第ｎの記憶領域１２−１，…，１２−ｎと、スケジュールテーブル１２ＳＴとを備え、各記憶領域１２−１，…，１２−ｎには、予め制御部１０での使用頻度に応じて分類され、ブロック化されたデータが記憶されている。以降、ブロック化されたデータ群をブロックとも称す。また、本実施の形態では、第１の記憶領域１２−１に最も使用頻度の高い第１のブロックが記憶され、２番目に使用頻度の高い第２のブロックが第２の記憶領域に、３番目に使用頻度の高い第３のブロックが第３の記憶領域に、…、ｎ番目に使用頻度の高い第ｎのブロックが第ｎの記憶領域１２−ｎに記憶されているとする。
【００１６】
これら記憶されたブロックのデータは、制御部１０の制御によってＳＲＡＭ１４の予め対応付けられた第１〜第ｎの記憶領域１４−１，…，１４−ｎにコピーされて展開されるようになっている。従って、制御部１０は、ＳＲＡＭ１４に展開されたブロックデータをもとに演算処理を行ってデータを更新していくようになっている。また、制御部１０にて読込み要求や、書込み要求するデータは、全てＳＲＡＭ１４に展開されているデータを用いるようになっている。
【００１７】
スケジュールテーブル１２ＳＴには、各ブロックをＥＥＰＲＯＭ１６の第１〜第ｎの記憶領域１６−１，…，１６−ｎにバックアップ保存する際のスケジュール情報が、図２に示すようにテーブル化されて記憶されている。
スケジュール情報は、各ブロックのデータをバックアップ保存する際のスケジューリング間隔を定めた情報であり、使用頻度の高いデータを短い周期で所定の記憶領域にバックアップ保存し、使用頻度の低いデータを長い周期で所定の記憶領域にバックアップ保存する指示を行う。
【００１８】
図２に示す例では、最も使用頻度が高い第１のブロックのデータを周期「１」の間隔で第１の記憶領域１６−１にバックアップ保存し、第２のブロックのデータを周期「２」の間隔で第２の記憶領域１６−２にバックアップ保存し、第３のブロックのデータを周期「３」の間隔で第３の記憶領域１６−３にバックアップ保存し、…、第ｎのブロックのデータを周期「ｎ」の間隔で第ｎの記憶領域１６−ｎにバックアップ保存する指示を行うようになっている。
【００１９】
これを更に図３を参照して説明する。第１のブロックのデータを第１の記憶領域１６−１に２回バックアップ保存する周期で第２のブロックのデータを第２の記憶領域１６−２に１回保存し、第１のブロックのデータを第１の記憶領域１６−１に３回バックアップ保存する周期で第３のブロックのデータを第３の記憶領域１６−３に１回保存し、…、第１のブロックのデータを第１の記憶領域１６−１にｎ回バックアップ保存する周期で第ｎのブロックのデータを第ｎの記憶領域１６−ｎに１回保存するようになっている。
【００２０】
また、ＥＥＰＲＯＭ１６は、上記の各記憶領域１６−１，…，１６−ｎの他に、サム値記憶領域１６ＳＵＭを備える。このサム値記憶領域１６ＳＵＭは、各ブロックのデータがバックアップ保存される際に、制御部１０によってサムチェック計算されたサム値を記憶する。即ち、サムチェック計算によってブロック単位でブロック内の全データを加算し、その加算結果をサム値として記憶する。
従って、各ブロックのデータがバックアップ保存される際に、制御部１０によって保存対象のブロックに対するサムチェック計算が実行され、このサム値がサム値記憶領域１６ＳＵＭに保存されるようになっている。
【００２１】
また、制御部１０は、電源がオンした後、ＥＥＰＲＯＭ１６の各記憶領域１６−１，…，１６−ｎから最も使用頻度の高いブロックを読込み、このブロックをサムチェック計算したサム値と、サム値記憶領域１６ＳＵＭに記憶されたその読込みブロックに対応するサム値とを比較し、この結果が一致した場合は、データが正しくバックアップ保存されたと判定してそのブロックをＳＲＡＭ１４に展開する。不一致の場合は、データが正しくバックアップ保存されていないと判定してＲＯＭ１２から、そのブロックに対応するブロックの初期データを読み出してＳＲＡＭ１４に展開する制御を行うようになっている。
【００２２】
このような構成のメモリバックアップシステムによるバックアップ保存の動作を、図４に示すフローチャートを参照して説明する。
但し、ＲＯＭ１２の各記憶領域１２−１，…，１２−ｎには、上述したようにブロックが記憶され、スケジュールテーブル１２ＳＴには、図２に示すようにテーブル化されたスケジュール情報が記憶されているものとする。
【００２３】
現在、本メモリバックアップシステムが搭載された電子機器の電源はオンで、制御部１０がＳＲＡＭ１４に展開されたデータをもとに演算処理を行っているとする。ここで、ステップＳ１において、電源断によってバックアップ電源が起動したとする。
その電源断を認識した制御部１０は、ステップＳ２において、スケジュールテーブル１２ＳＴからスケジュール情報を読出し、この情報に従ってバックアップ制御を開始する。
【００２４】
即ち、ステップＳ３において、制御部１０は、ＳＲＡＭ１４から使用頻度の高い順に各ブロックのデータを読込み、このブロック単位でサムチェック計算を行ってサム値を求める。そして、ステップＳ４において、サム値をＥＥＰＲＯＭ１６のサム値記憶領域１６ＳＵＭに記憶する。更に、ステップＳ５において、制御部１０は、サム値計算済みのブロックのデータを、ＥＥＰＲＯＭ１６の所定の記憶領域１６−１，…，１６−ｎにバックアップ保存する。これよって、ステップＳ６において、全てのブロックのデータがバックアップ保存されたとする。
【００２５】
次に、ステップＳ７において、電源がオンとなると、ステップＳ８において、制御部１０は、ＥＥＰＲＯＭ１６の各記憶領域１６−１，…，１６−ｎから最も使用頻度の高い順にブロックを読込み、このブロック単位でサムチェック計算してサム値を得る。
ステップＳ９において、制御部１０は、その計算したサム値と、サム値記憶領域１６ＳＵＭに記憶された先の読込みブロックに対応するサム値とを比較する。ステップＳ１０において、その比較結果、サム値が一致した場合は、ステップＳ１１において、制御部１０は、データが正しくバックアップ保存されたと判定してそのブロックをＳＲＡＭ１４に展開する。
サム値が不一致の場合は、ステップＳ１２において、制御部１０は、データが正しくバックアップ保存されていないと判定してＲＯＭ１２から、そのブロックに対応するブロックの初期データを読み出してＳＲＡＭ１４に展開する。
【００２６】
以上説明したように本実施の形態のメモリバックアップシステムによれば、ＲＯＭ１２に、バックアップ保存の対象となるデータを複数にブロック化したブロックデータを記憶する。そして、制御部１０が、電源断時に制御部１０で使用中のデータをブロック毎にＥＥＰＲＯＭ１６にバックアップ保存すると共に、この保存時にブロック毎にサムチェック計算してサム値を求めて同メモリに記憶し、電源オン時にＥＥＰＲＯＭ１６に保存されたブロックデータを読込み、このブロックデータをサムチェック計算したサム値と、ＥＥＰＲＯＭ１６に記憶されたその読込みブロックデータに対応するサム値とが一致の際に当該ブロックデータをＳＲＡＭ１４に展開し、不一致の際にＲＯＭ１２から当該ブロックデータに対応するブロックデータを読出してＳＲＡＭ１４に展開する制御を行うようにした。
これによって、バックアップ保存されたデータが、サムチェック計算によって正しいか否かを確認することができるので、本来バックアップすべきデータが正常に保存されたかどうかを確認することができる。これによって、バックアップデータの信頼性を高めることができる。
【００２７】
また、ＲＯＭ１２に、ブロックデータとして、バックアップ保存の対象となるデータを制御部１０での使用頻度に応じて分類してブロック化したデータを記憶し、また、使用頻度が高いほどに短周期で該当ブロックデータをバックアップ保存する指示を行うスケジュール情報を記憶する。そして、制御部１０が、電源断時にスケジュール情報に従い制御部１０で使用中のデータをＥＥＰＲＯＭ１６にバックアップ保存すると共に、この保存時にブロック毎にサムチェック計算してサム値を求めて同メモリに記憶し、電源オン時のＥＥＰＲＯＭ１６からのブロックデータの読込み時に、サム値の一致又は不一致の判定に応じたＳＲＡＭ１４への展開の制御を行うようにした。
これによって、使用頻度の高いデータ（重要なデータ）ほど短周期で優先的にバックアップ保存されるので、バックアップ電源の供給が短時間しかもたない場合でも、重要なデータをバックアップ保存ことが出来る。これによって、バックアップデータの信頼性を高めることができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施の形態に係るメモリバックアップシステムの構成を示すブロック図である。
【図２】上記メモリバックアップシステムにおけるＲＯＭのスケジュールテーブルにテーブル化記憶されたスケジュール情報を示す図である。
【図３】各ブロックのデータをバックアップ保存する際のスケジューリング間隔の説明図である。
【図４】上記メモリバックアップシステムによるバックアップ保存の動作を説明するためのフローチャートである。
【符号の説明】
【００２９】
１０  制御部
１２  ＲＯＭ
１２−１，…，１２−ｎ  ＲＯＭの第１〜第ｎの記憶領域
１２ＳＴ  スケジュールテーブル
１４  ＳＲＡＭ
１４−１，…，１４−ｎ  ＳＲＡＭの第１〜第ｎの記憶領域
１６  ＥＥＰＲＯＭ
１６−１，…，１６−ｎ  ＥＥＰＲＯＭの第１〜第ｎの記憶領域
１６ＳＵＭ  サム値記憶領域
【図１】
2007102566.tif 000003
【図２】
2007102566.tif 000004
【図３】
2007102566.tif 000005
【図４】
2007102566.tif 000006