(57)【要約】【課題】揮発性メモリの容量を多く使用することなく、簡易な処理で復元データを不揮発性メモリに書き込むことを可能とする。【解決手段】ＳＲＡＭ書込部１１は、復元データを書き込んだ遅延なし領域Ｄ０１〜Ｄ０Ｎに対応する遅延なし更新要求フラグ領域Ｆ０１〜Ｆ０Ｎに更新要求フラグをセットする。ＥＥＰＲＯＭ書込部１２は、遅延なし更新要求フラグ領域Ｆ０１〜Ｆ０Ｎに更新要求フラグがセットされている場合に、遅延なし更新要求フラグ領域Ｆ０１〜Ｆ０Ｎに対応する遅延なし領域Ｄ０１〜Ｄ０Ｎに記憶されている復元データをＥＥＰＲＯＭ３に書き込む。【選択図】図２
2015121839.tif 000002
【特許請求の範囲】
【請求項１】
第１領域と、自機器への電源の供給が遮断されても記憶しておくべき復元データが記憶される第２領域と、前記第２領域に対応して第１フラグがセットされる第１フラグ領域と、を有する揮発性メモリと、
不揮発性メモリと、
前記揮発性メモリに前記復元データを含むデータを書き込む第１書込部と、
前記第２領域に記憶されている前記復元データを前記不揮発性メモリに書き込む第２書込部と、を備え、
前記第１書込部は、前記復元データを書き込んだ前記第２領域に対応する前記第１フラグ領域に前記第１フラグをセットし、
前記第２書込部は、前記第１フラグ領域に前記第１フラグがセットされている場合に、前記第１フラグ領域に対応する前記第２領域に記憶されている前記復元データを前記不揮発性メモリに書き込むこと
を特徴とする電子機器。
【請求項２】
前記揮発性メモリは、
遅延して前記不揮発性メモリに書き込まれる前記復元データが記憶される第３領域と、
前記第３領域に対応して第２フラグがセットされる第２フラグ領域と、
時間を計測するためのタイマー領域と、
をさらに有し、
前記第１書込部は、前記復元データを書き込んだ前記第３領域に対応する前記第２フラグ領域に前記第２フラグをセットし、且つ、前記タイマー領域による時間計測をスタートさせ、
前記第２書込部は、前記第２フラグ領域に前記第２フラグがセットされた後、前記タイマー領域による計測時間が所定時間を経過した場合に、前記第２フラグ領域に対応する前記第３領域に記憶されている前記復元データを前記不揮発性メモリに書き込むことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記揮発性メモリは、
遅延して前記不揮発性メモリに書き込まれる前記復元データが記憶される第３領域と、
前記第３領域に対応して第２フラグがセットされる第２フラグ領域と、
前記第２書込部による前記不揮発性メモリへの前記復元データの書き込みを禁止するための第３フラグがセットされる第３フラグ領域と、
時間を計測するためのタイマー領域と、
をさらに有し、
前記第１書込部は、
前記復元データを書き込んだ前記第３領域に対応する前記第２フラグ領域に前記第２フラグをセットし、前記第３フラグ領域に前記第３フラグをセットし、且つ、前記タイマー領域による時間計測をスタートさせ、
前記タイマー領域による計測時間が所定時間を経過した場合に、前記第３フラグ領域の前記第３フラグを消去し、
前記第２書込部は、前記第２フラグ領域に前記第２フラグがセットされ、且つ、第３フラグ領域の前記第３フラグが消去された場合に、前記第２フラグ領域に対応する前記第３領域に記憶されている前記復元データを前記不揮発性メモリに書き込むことを特徴とする請求項１に記載の電子機器。
【請求項４】
前記第１書込部は、
前記揮発性メモリのアドレスに基づいて、どの領域に前記データを書き込んだかを判断し、
前記第２領域に前記復元データを書き込んだと判断した場合に、前記復元データを書き込んだ前記第２領域に対応する前記第１フラグ領域に前記第１フラグをセットし、
前記第３領域に前記復元データを書き込んだと判断した場合に、前記復元データを書き込んだ前記第３領域に対応する前記第２フラグ領域に前記フラグをセットし、前記第３フラグ領域に前記第３フラグをセットし、且つ、前記タイマー領域による時間計測をスタートさせることを特徴とする請求項３に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、復元すべきデータが記憶される不揮発性メモリを備えた電子機器に関する。
【背景技術】
【０００２】
音声信号を増幅してスピーカーに出力するＡＶアンプやパーソナルコンピュータ等の電子機器においては、自機器への電源の供給が遮断されても、次に自機器へ電源が供給された場合に、自機器の状態を電源の供給が遮断される前の状態に戻すことが要求される。このため、電子機器のＣＰＵは、マイクロコンピュータ（以下、「マイコン」という。）内部に設けられた揮発性メモリ（例えば、ＳＲＡＭ）に記憶されている復元すべきデータ（以下、「復元データ」という。）を、電源の供給が遮断される前に、不揮発性メモリであるＥＥＰＲＯＭ等に書き込む。そして、電子機器のＣＰＵは、再度電源が供給されると、不揮発性メモリに記憶されている復元データを揮発性メモリに再度書き込み（コピー）して、自機器を電源の供給が遮断される前の状態に戻している。
【０００３】
ここで、電子機器への電源の供給が遮断された瞬間に、揮発性メモリに記憶されている復元データを不揮発性メモリに書き込むことが考えられる。しかし、不揮発性メモリは、データの書き込みに時間を要するため、電源供給遮断時に、大きな容量の復元データを不揮発性メモリに書き込むことができない。そのため、従来、揮発性メモリに記憶されている復元データが変化する毎に、その復元データを不揮発性メモリに書き込むことが行われている。
【０００４】
また、ＣＰＵによる揮発性メモリへのデータの書き込みは、アプリケーションプログラムに従って行われる。揮発性メモリに書き込まれるデータには、復元データと、復元しなくてもよいデータ（以下、「復元不要データ」という。）と、が混在している場合がある。このような場合に、揮発性メモリに書き込まれるデータが、復元データか復元不要データかをアプリケーションプログラムに従ってＣＰＵが判断するようにすると、アプリケーションプログラムの構造が複雑になる。また、仕様変更でアプリケーションプログラムを修正する場合に、変更箇所が多くなったり、修正ミスが発生する可能性が高くなったりしてしまう。これを回避するため、アプリケーションプログラムには、ＣＰＵが、揮発性メモリに書き込まれるデータが復元データか復元不要データかを判断させる構成を含めず、アプリケーションプログラムは、ＣＰＵに、揮発性メモリへのデータの書き込みのみを行わせる。そして、別プログラムで、ＣＰＵに、復元データが揮発性メモリに書き込まれたか、すなわち、揮発性メモリに記憶されている復元データが変化した否かを監視させ、復元データが変化した場合のみ、不揮発性メモリへ復元データを書き込ませる処理を実行させる。
【０００５】
復元データが変化したか否かを検出する方法として、ＣＰＵが不揮発性メモリに記憶されている復元データを読み出し、読み出した復元データと揮発性メモリに記憶されている復元データとを比較する方法がある。ＣＰＵは、読み出した復元データと揮発性メモリに記憶されている復元データとが不一致であると判断した場合に、復元データの変化を検出する。しかしながら、不揮発性メモリは、シリアルインターフェースで接続されるものが多く（特にＥＥＰＲＯＭ)、常時、不揮発性メモリから復元データを読み出すことはＣＰＵの負担となる。
【０００６】
そこで、不揮発性メモリへのアクセスを少なくするため、不揮発性メモリに書き込まれている復元データのコピーを揮発性メモリに書き込んでおくことが行われている。図９は、従来の揮発性メモリ（ＳＲＡＭ）へのデータの書き込み、及び、不揮発性メモリ（ＥＥＰＲＯＭ）へのデータの書き込み処理を示した図である。なお、図１１では、ＥＥＰＲＯＭ１０２へのデータの書き込みをハードウェアで示しているが、実際には、プログラム（ソフトウェアモジュール）により、ＣＰＵ１０１によりＥＥＰＲＯＭ１０３へのデータの書き込みが行われる（ソフトウェア処理）。ＳＲＡＭ１０２の領域Ｄ０１〜Ｄ０Ｎは、復元データが書き込まれる復元データ領域である。ＳＲＡＭ１０２の領域Ｃ０１〜Ｃ０Ｎは、復元データのコピーが書き込まれる復元データコピー領域である。ＣＰＵ１０１は、復元データ領域Ｄ０１〜Ｄ０Ｎに書き込まれている復元データと、復元データコピー領域Ｃ０１〜Ｃ０Ｎに書き込まれている復元データのコピーと、を比較する（図１１の（１））。そして、ＣＰＵ１０１は、復元データと復元データのコピーとが不一致であると判断した場合、復元データをＥＥＰＲＯＭ１０３に書き込む（図１１の（２））。同時に、ＣＰＵ１０１は、復元データコピー領域Ｃ０１〜Ｃ０Ｎに復元データのコピーを書き込む（図１１の（３））。しかしながら、ＳＲＡＭ１０２に復元データのコピーを書き込むため、ＳＲＡＭ１０２（揮発性メモリ）の容量が余計に必要になる。特に、復元データの容量が大きい場合、ＳＲＡＭ１０２（揮発性メモリ）の書き込み可能な領域が小さくなってしまい、問題である。
【０００７】
復元データのコピーを書き込む揮発性メモリの容量を削減する方法として、特許文献１には、チェックサムのみを揮発性メモリに書き込む発明が開示されている。特許文献１に記載の発明によれば、必要な揮発性メモリの容量は大幅に削減されるが、チェックサムを書き込むための容量は必要である。また、ＣＰＵがチェックサムを計算するという負担が発生する。
【０００８】
また、ＥＥＰＲＯＭ等の不揮発性メモリは、書き換え回数に制限があるため、頻繁に変化する復元データを、変化がある毎に、不揮発性メモリに書き込むと、不揮発性メモリの寿命が早まるという問題もある。このため、頻繁に変化する復元データは、変化があってからしばらく（数秒）経過した後、不揮発性メモリに書き込まれる（遅延書き込み）ようになっている場合がある。図１１に示すＳＲＡＭ１０２の領域Ｄ１１〜Ｄ１ｎは、遅延書き込みを行う復元データが書き込まれる遅延復元データ領域である。ＳＲＡＭ１０２の領域Ｃ１１〜Ｃ１ｎは、遅延書き込みを行う復元データのコピーが書き込まれる遅延復元データコピー領域である。ＣＰＵ１０１は、遅延復元データ領域Ｄ１１〜Ｄ１ｎに書き込まれている復元データと、遅延復元データコピー領域Ｃ０１〜Ｃ０Ｎに書き込まれている復元データのコピーと、を比較する（図１１の（４））。ＣＰＵ１０１は、復元データと復元データのコピーとが不一致であると判断した場合、タイマーをスタートさせる（図１１の（５））。ＣＰＵ１０１は、タイマーがオーバーフローすると（図１１の（６））、復元データをＥＥＰＲＯＭ１０３に書き込む（図１１の（７））。同時に、ＣＰＵ１０１は、遅延復元データコピー領域Ｃ１１〜Ｃ１ｎに復元データのコピーを書き込む（図１１の（８））。図１１に示すように、従来の不揮発性メモリへの復元データの書き込み処理は、非常に複雑な処理となっている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１２−１３７８８１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述したように、復元データの不揮発性メモリへの書き込みのために、揮発性メモリの容量を多く使用しているという問題がある。また、従来の不揮発性メモリへの復元データの書き込み処理は、非常に複雑であるという問題がる。
【００１１】
本発明の目的は、揮発性メモリの容量を多く使用することなく、簡易な処理で復元データを不揮発性メモリに書き込むことを可能とすることである。
【課題を解決するための手段】
【００１２】
第１の発明の電子機器は、第１領域と、自機器への電源の供給が遮断されても記憶しておくべき復元データが記憶される第２領域と、前記第２領域に対応して第１フラグがセットされる第１フラグ領域と、を有する揮発性メモリと、不揮発性メモリと、前記揮発性メモリに前記復元データを含むデータを書き込む第１書込部と、前記第２領域に記憶されている前記復元データを前記不揮発性メモリに書き込む第２書込部と、を備え、前記第１書込部は、前記復元データを書き込んだ前記第２領域に対応する前記第１フラグ領域に前記第１フラグをセットし、前記第２書込部は、前記第１フラグ領域に前記第１フラグがセットされている場合に、前記第１フラグ領域に対応する前記第２領域に記憶されている前記復元データを前記不揮発性メモリに書き込むことを特徴とする。
【００１３】
本発明では、第２領域に復元データが書き込まれた場合に、フラグがセットされるフラグ領域が揮発性メモリに設けられている。また、フラグ領域にフラグがセットされている場合に、第２書込部は、フラグ領域に対応する第２領域に記憶されている復元データを不揮発性メモリに書き込む。従って、従来のように、チェックサムを計算すること等がないため、簡易な処理で復元データを不揮発性メモリに書き込むことが可能である。また、例えば、フラグ領域には、フラグがセットされる場合に、「１」というデータ量の少ない情報が記憶されるため、従来のように、復元データのコピー、チェックサムが揮発性メモリに記憶されない。これにより、揮発性メモリの容量を多く使用することなく、復元データを不揮発性メモリに書き込むことが可能である。
【００１４】
第２の発明の電子機器は、第１の発明の電子機器において、前記揮発性メモリは、遅延して前記不揮発性メモリに書き込まれる前記復元データが記憶される第３領域と、前記第３領域に対応して第２フラグがセットされる第２フラグ領域と、時間を計測するためのタイマー領域と、をさらに有し、前記第１書込部は、前記復元データを書き込んだ前記第３領域に対応する前記第２フラグ領域に前記第２フラグをセットし、且つ、前記タイマー領域による時間計測をスタートさせ、前記第２書込部は、前記第２フラグ領域に前記第２フラグがセットされた後、前記タイマー領域による計測時間が所定時間を経過した場合に、前記第２フラグ領域に対応する前記第３領域に記憶されている前記復元データを前記不揮発性メモリに書き込むことを特徴とする。
【００１５】
本発明では、第２書込部は、第２フラグ領域に第２フラグがセットされた後、タイマー領域による計測時間が所定時間を経過した場合に、第２フラグ領域に対応する第３領域に記憶されている復元データを不揮発性メモリに書き込む。すなわち、第２書込部により遅延書き込みが行われる。このため、不揮発性メモリの書き込み回数が抑制され、不揮発性メモリの寿命を長くすることが可能となる。
【００１６】
第３の発明の電子機器は、第１の発明の電子機器において、前記揮発性メモリは、遅延して前記不揮発性メモリに書き込まれる前記復元データが記憶される第３領域と、前記第３領域に対応して第２フラグがセットされる第２フラグ領域と、前記第２書込部による前記不揮発性メモリへの前記復元データの書き込みを禁止するための第３フラグがセットされる第３フラグ領域と、時間を計測するためのタイマー領域と、をさらに有し、前記第１書込部は、前記復元データを書き込んだ前記第３領域に対応する前記第２フラグ領域に前記第２フラグをセットし、前記第３フラグ領域に前記第３フラグをセットし、且つ、前記タイマー領域による時間計測をスタートさせ、前記タイマー領域による計測時間が所定時間を経過した場合に、前記第３フラグ領域の前記第３フラグを消去し、前記第２書込部は、前記第２フラグ領域に前記第２フラグがセットされ、且つ、第３フラグ領域の前記第３フラグが消去された場合に、前記第２フラグ領域に対応する前記第３領域に記憶されている前記復元データを前記不揮発性メモリに書き込むことを特徴とする。
【００１７】
本発明では、第２書込部は、第２フラグ領域に前記第２フラグがセットされ、且つ、第３フラグ領域の第３フラグが消去された場合、すなわち、タイマー領域による計測時間が所定時間を経過した場合に、第２フラグ領域に対応する第３領域に記憶されている復元データを不揮発性メモリに書き込む。すなわち、第２書込部により遅延書き込みが行われる。このため、不揮発性メモリの書き込み回数が抑制され、不揮発性メモリの寿命を長くすることが可能となる。
【００１８】
第４の発明の電子機器は、第３の発明の電子機器において、前記第１書込部は、前記揮発性メモリのアドレスに基づいて、どの領域に前記データを書き込んだかを判断し、前記第２領域に前記復元データを書き込んだと判断した場合に、前記復元データを書き込んだ前記第２領域に対応する前記第１フラグ領域に前記第１フラグをセットし、前記第３領域に前記復元データを書き込んだと判断した場合に、前記復元データを書き込んだ前記第３領域に対応する前記第２フラグ領域に前記フラグをセットし、前記第３フラグ領域に前記第３フラグをセットし、且つ、前記タイマー領域による時間計測をスタートさせることを特徴とする。
【００１９】
本発明では、揮発性メモリのアドレスに基づいて、どの領域にデータを書き込んだかを判断し、データを書き込んだ領域に対応するフラグ領域にフラグをセットすることができる。
【発明の効果】
【００２０】
本発明によれば、揮発性メモリの容量を多く使用することなく、簡易な処理で復元データを不揮発性メモリに書き込むことが可能である。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係るＡＶアンプの構成を示すブロック図である。
【図２】ＳＲＡＭへのデータの書き込み、及び、ＥＥＰＲＯＭへのデータの書き込み処理を示した図である。
【図３】第１遅延あり更新抑制フラグ領域の更新抑制フラグを消去する処理を示すフローチャートである。
【図４】第２遅延あり更新抑制フラグ領域の更新抑制フラグを消去する処理を示すフローチャートである。
【図５】ＳＲＡＭへのデータの書き込み処理を示すフローチャートである。
【図６】ページ番号の計算処理を示すフローチャートである。
【図７】ＥＥＰＲＯＭへの復元データの書き込み処理を示すフローチャートである。
【図８】遅延なし更新要求フラグ領域のチェック処理を示すフローチャートである。
【図９】第１遅延あり更新要求フラグ領域のチェック処理を示すフローチャートである。
【図１０】第２遅延あり更新要求フラグ領域のチェック処理を示すフローチャートである。
【図１１】従来の揮発性メモリへのデータの書き込み、及び、不揮発性メモリへのデータの書き込み処理を示した図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態について説明する。図１は、本実施形態に係るＡＶアンプの構成を示すブロック図である。ＡＶアンプ１（電子機器）は、例えば、外部に接続された再生装置としてのＢＤ（Blu-ray（登録商標） Disc）プレーヤー１００から入力される音声信号及び映像信号を、それぞれ、スピーカー２００及びディスプレイ３００に出力するものである。図１に示すように、ＡＶアンプ１は、マイクロコンピュータ（以下、「マイコン」という。）２、ＥＥＰＲＯＭ（Electrically Erasable Programmable
Read-Only Memory）３、音声処理部４、増幅部５、映像処理部６、表示部７、操作部８等を備えている。
【００２３】
マイコン２は、ＣＰＵ（Central
Processing Unit）２１、ＲＯＭ（Read
Only Memory）２２、ＳＲＡＭ（Static
Random Access Memory）２３等のハードウェアから構成されている。ＣＰＵ２１は、ＲＯＭ２２に格納されたプログラムに従って、ＡＶアンプ１を構成する各部を制御する。また、ＣＰＵ２１は、後述するＳＲＡＭ書込部１１等として機能する。ＳＲＡＭ２３は、ＣＰＵ２１が各種制御処理を実行する際にＲＯＭ２２から読み出したプログラム、ＣＰＵ２１が各種制御処理を実行する際に必要なデータ等を一時的に記憶する。ＳＲＡＭ２３は、電源の供給が遮断されると、記憶しているデータが消失する揮発性メモリである。ＥＥＰＲＯＭ３は、ＡＶアンプ１への電源の供給が遮断されても記憶しておくべき復元データを記憶するためのものである。ＥＥＰＲＯＭ３は、電源の供給がなくとも、記憶しているデータを保持する不揮発性メモリである。
【００２４】
音声処理部４は、ＢＤプレーヤー１００から出力される音声信号に対して、イコライザ処理、Ｄ／Ａ変換処理、音量調整処理等の音声処理を行うものである。音声処理部４は、音声処理を行った音声信号を増幅部５に出力する。増幅部５は、音声処理部４から出力される音声信号を増幅するものである。増幅部５は、増幅した音声信号をスピーカー２００に出力する。スピーカー２００は、ＡＶアンプ１から出力される音声信号に基づいて音声を再生する。
【００２５】
映像処理部６は、ＢＤプレーヤー１００から出力される映像信号に対して、画質調整処理、解像度変換処理、アスペクト比変換処理等の映像処理を行う。映像処理部６は、映像処理を行った映像信号をディスプレイ３００に出力する。ディスプレイ３００は、ＡＶアンプ１から出力される映像信号に基づいて映像を再生する。
【００２６】
表示部７は、設定画面、音量レベルなどを表示するものであり、ＬＣＤ（液晶ディスプレイ）や蛍光表示管等である。操作部８は、ユーザー操作を受け付けるためのものであり、ＡＶアンプ１の筐体に設けられた操作ボタンやリモートコントローラである。
【００２７】
上述した復元データとしては、例えば、音声処理部４が行う音声処理についての情報、映像処理部６が行う映像処理についての情報等がある。図２は、ＳＲＡＭ２３へのデータの書き込み、及び、ＥＥＰＲＯＭ３へのデータの書き込み処理を示した図である。図２に示すように、ＳＲＡＭ２３は、領域Ｂ、領域Ｄ０１〜Ｄ０Ｎ、領域Ｄ１１〜Ｄ１ｎ、領域Ｄ２１〜２ｍ、領域Ｆ０１〜Ｆ０Ｎ、領域Ｆ１１〜Ｆ１ｎ、領域Ｆ２１〜Ｆ２ｍ、領域Ｆ１ｓ，Ｆ２ｓ、領域ＴＩＭＥＲＤ１，ＴＩＭＥＲＤ２を有する。領域Ｂ（第１領域）は、復元しなくてもよいデータ（以下、「復元不要データ」ともいう。）が記憶される領域である（以下、「復元不要領域」ともいう。）。また、復元不要領域Ｂは、ＳＲＡＭ２３のアドレスＡＳ０よりも小さい領域と、アドレスＡＳｆよりも大きい領域と、を含む。
【００２８】
領域Ｄ０１〜Ｄ０Ｎ（第２領域）は、復元データが記憶される領域である。具体的には、領域Ｄ０１〜Ｄ０Ｎは、復元データが書き込まれる、すなわち、領域Ｄ０１〜Ｄ０Ｎに記憶されているデータが変化する毎に、書き込まれた復元データがＥＥＰＲＯＭ３にも書き込まれる、遅延書き込みなしの領域である（以下、「遅延なし領域」ともいう。）。また、遅延なし領域Ｄ０１〜Ｄ０Ｎは、ＳＲＡＭ２３のアドレスＡＳ０〜ＡＳ１の領域である。
【００２９】
領域Ｄ１１〜Ｄ１ｎ（第３領域）は、復元データが記憶される領域である。具体的には、領域Ｄ１１〜Ｄ１ｎは、復元データが書き込まれてから、すなわち、領域Ｄ１１〜Ｄ１ｎに記憶されているデータが変化してから所定時間経過後にＥＥＰＲＯＭ３に復元データが書き込まれる遅延書き込みが行われる領域である（以下、「第１遅延あり領域」ともいう。）。また、第１遅延あり領域Ｄ１１〜Ｄ１ｎは、ＳＲＡＭ２３のアドレスＡＳ１〜ＡＳ２の領域である。領域Ｄ２１〜Ｄ２ｍ（第３領域）は、復元データが記憶される領域である。具体的には、領域Ｄ２１〜Ｄ２ｍは、遅延書き込みが行われる領域である（以下、「第２遅延あり領域」ともいう。）。また、第２遅延あり領域Ｄ２１〜Ｄ２ｍは、ＳＲＡＭ２３のアドレスＡＳ２〜ＡＳｆの領域である。第１遅延あり領域Ｄ１１〜Ｄ１ｎ、第２遅延あり領域Ｄ２１〜Ｄ２ｍにおいては、復元データが頻繁に変化するため、変化があってからしばらく（数秒）経過した後、ＥＥＰＲＯＭ３に復元データが書き込まれるようになっている。これにより、ＥＥＲＰＯＭ３への復元データの書き込み回数が減少するため、ＥＥＰＲＯＭ３の寿命が長くなるという利点がある。第１遅延あり領域Ｄ１１〜Ｄ１ｎと第２遅延あり領域２１〜Ｄ２ｍとは、ＳＲＡＭ２３に復元データが書き込まれてからＥＥＰＲＯＭ３に復元データが書き込まれるまでの時間（遅延書き込み時間）が異なる。
【００３０】
なお、ＥＥＰＲＯＭ３は、８〜３２バイトで１ページを構成するというページ単位がある。１ページ分の書き込みは、１バイトの書き込みと同じ時間で書き込むことができるので、１ページを単位として管理するのが一般的である。従って、領域Ｄ０１〜Ｄ２ｍは、ＥＥＰＲＯＭ３のページ単位に対応した構成となっている。
【００３１】
領域Ｆ０１〜Ｆ０Ｎ（第１フラグ領域）は、遅延なし領域Ｄ０１〜Ｄ０Ｎに対応して遅延なし領域の更新要求フラグ（第１フラグ）がセットされる遅延なし更新要求フラグ領域である。ここで、「フラグをセットする」とは、フラグ領域の値を「０」から「１」にすることをいう。反対に、「フラグを消去する」とは、フラグ領域の値を「１」から「０」にすることをいう。従って、フラグがセットされると、フラグ領域には、「１」が記憶される。領域Ｆ１１〜Ｆ１ｎ（第２フラグ領域）は、第１遅延あり領域Ｄ１１〜Ｄ１ｎに対応して第１遅延あり領域の更新要求フラグ（第２フラグ）がセットされる第１遅延あり更新要求フラグ領域である。領域Ｆ２１〜Ｆ２ｍ（第２フラグ領域）は、第２遅延あり領域Ｄ２１〜Ｄ２ｍに対応して第２遅延あり領域の更新要求フラグ（第２フラグ）がセットされる第２遅延あり更新要求フラグ領域である。
【００３２】
領域Ｆ１Ｓ，Ｆ２Ｓ（第３フラグ領域）は、後述するＥＥＰＲＯＭ書込部１２によるＥＥＰＲＯＭ３への復元データの書き込みを禁止するための更新抑制フラグ（第３フラグ）がセットされる更新抑制フラグ領域である。領域Ｆ１Ｓは、第１遅延あり領域Ｄ１１〜Ｄ１ｎに対応している第１遅延あり更新抑制フラグ領域である。領域Ｆ２Ｓは、第２遅延あり領域Ｄ２１〜Ｄ２ｍに対応している第２遅延あり更新抑制フラグ領域である。領域ＴＩＭＥＲＤ１、ＴＩＭＥＲＤ２は、時間を計測するためのタイマー領域である。具体的には、領域ＴＩＭＥＲＤ１、ＴＩＭＥＲＤ２は、後述するＳＲＡＭ書込部１１によってカウントアップされるタイマー値が記憶される領域である。また、領域ＴＩＭＥＲＤ１、ＴＩＭＥＲＤ２は、カウントアップ可能な最大タイマー値が所定の時間に設定されており、最大タイマー値に達すると、オーバーフローする。領域ＴＩＭＥＲＤ１は、第１遅延あり領域Ｄ１１〜Ｄ１ｎに対応している第１タイマー領域である。第１タイマー領域ＴＩＭＥＲＤ１の最大タイマー値は、第１遅延あり領域Ｄ１１〜Ｄ１ｎの遅延書き込み時間に設定されている。領域ＴＩＭＥＲＤ２は、第２遅延あり領域Ｄ２１〜Ｄ２ｍに対応している第２タイマー領域である。第２タイマー領域ＴＩＭＥＲＤ２の最大タイマー値は、第２遅延あり領域Ｄ２１〜Ｄ２ｍの遅延書き込み時間に設定されている。
【００３３】
次に、ＣＰＵ２１が行う処理について説明する。ＣＰＵ２１は、ＳＲＡＭ書込部１１、ＥＥＰＲＯＭ書込部１２として機能する。ＳＲＡＭ書込部１１（第１書込部）は、ＳＲＡＭ２３にデータを書き込む。具体的には、ＳＲＡＭ書込部１１は、書き込み先のＳＲＡＭ２３のアドレスに基づいて、復元不要データを復元不要領域Ｂに書き込む。また、ＳＲＡＭ書込部１１は、復元データを領域Ｄ０１〜Ｄ２ｍに書き込む。
【００３４】
また、ＳＲＡＭ書込部１１は、ＳＲＡＭ２３のアドレスに基づいて、どの領域にデータが書き込んだかを判断する。具体的には、ＳＲＡＭ書込部１１は、ＳＲＡＭ２３のアドレスＡＳ０よりも小さい領域、アドレスＡＳｆよりも大きい領域にデータを書き込んだ場合、復元不要領域Ｂに復元不要データを書き込んだと判断する。また、ＳＲＡＭ書込部１１は、ＳＲＡＭ２３のアドレスＡＳ０〜ＡＳ１の領域にデータを書き込んだ場合、遅延なし領域Ｄ０１〜Ｄ０Ｎに復元データを書き込んだと判断する。また、ＳＲＡＭ書込部１１は、ＳＲＡＭ２３のアドレスＡＳ１〜ＡＳ２の領域にデータを書き込んだ場合、第１遅延あり領域Ｄ１１〜Ｄ１ｎに復元データを書き込んだと判断する。また、ＳＲＡＭ書込部１１は、ＳＲＡＭ２３のアドレスＡＳ２〜ＡＳｆの領域にデータを書き込んだ場合、第２遅延あり領域Ｄ２１〜Ｄ２ｍに復元データを書き込んだと判断する。
【００３５】
また、ＳＲＡＭ書込部１１は、フラグ領域Ｆ０１〜Ｆ２ｍ，Ｆ１Ｓ，Ｆ２Ｓにフラグをセットし、また、フラグを消去する。すなわち、ＳＲＡＭ書込部１１は、フラグ領域Ｆ０１〜Ｆ２ｍ，Ｆ１Ｓ，Ｆ２Ｓの値を「０」から「１」とすることでフラグをセットし、また、フラグ領域Ｆ０１〜Ｆ２ｍ，Ｆ１Ｓ，Ｆ２Ｓの値を「１」から「０」とすることでフラグを消去する。具体的には、ＳＲＡＭ書込部１１は、遅延なし領域Ｄ０１〜Ｄ０Ｎに復元データを書き込んだと判断した場合に、復元データを書き込んだ遅延なし領域Ｄ０１〜Ｄ０Ｎに対応する遅延なし更新要求フラグ領域Ｆ０１〜Ｆ０Ｎに更新要求フラグをセットする。
【００３６】
また、ＳＲＡＭ書込部１１は、第１遅延あり領域Ｄ１１〜Ｄ１ｎに復元データを書き込んだと判断した場合に、復元データを書き込んだ第１遅延あり領域Ｄ１１〜Ｄ１ｎに対応する第１遅延あり更新要求フラグ領域Ｆ１１〜Ｆ１ｎに更新要求フラグをセットする。このとき、ＳＲＡＭ書込部１１は、第１遅延あり更新抑制フラグ領域Ｆ１ｓに更新抑制フラグをセットする。さらに、ＳＲＡＭ書込部１１は、第１タイマー領域ＴＩＭＥＲＤ１による時間計測をスタートさせる。ここで、ＳＲＡＭ書込部１１は、第１タイマー領域ＴＩＭＥＲＤ１による計測時間が所定時間を経過し、オーバーフローした場合に、第１遅延あり更新抑制フラグ領域Ｆ１Ｓの更新抑制フラグを消去する。図３に示すように、ＳＲＡＭ書込部１１は、第１遅延あり更新抑制フラグ領域Ｆ１Ｓの値を０とする（Ｓ１０１）。
【００３７】
また、ＳＲＡＭ書込部１１は、第２遅延あり領域Ｄ２１〜Ｄ２ｍに復元データを書き込んだと判断した場合に、復元データを書き込んだ第２遅延あり領域Ｄ２１〜Ｄ２ｍに対応する第２遅延あり更新要求フラグ領域Ｆ２１〜Ｆ２ｍに更新要求フラグをセットする。このとき、ＳＲＡＭ書込部１１は、第２遅延あり更新抑制フラグ領域Ｆ２Ｓに更新抑制フラグをセットする。さらに、ＳＲＡＭ書込部１１は、第２タイマー領域ＴＩＭＥＲＤ２による時間計測をスタートさせる。ここで、ＳＲＡＭ書込部１１は、第２タイマー領域ＴＩＭＥＲＤ２による計測時間が所定時間を経過し、オーバーフローした場合に、第２遅延あり更新抑制フラグ領域Ｆ２Ｓの更新抑制フラグを消去する。図４に示すように、ＳＲＡＭ書込部１１は、第２遅延あり更新抑制フラグ領域Ｆ２Ｓの値を０とする（Ｓ１０２）。
【００３８】
なお、ＳＲＡＭ書込部１１によるＳＲＡＭ２３へのフラグのセット、ＳＲＡＭ２３を用いた時間計測（カウントアップしたタイマー値の記憶）も、ＳＲＡＭ２３へのデータの書込みにより行われる処理である。
【００３９】
ＥＥＰＲＯＭ書込部１２（第２書込部）は、復元データをＥＥＰＲＯＭ３に書き込む。具体的には、ＥＥＰＲＯＭ書込部１２は、遅延なし更新要求フラグ領域Ｆ０１〜Ｆ０Ｎに更新要求フラグがセットされている場合に、遅延なし更新要求フラグ領域Ｆ０１〜Ｆ０Ｎに対応する遅延なし領域Ｄ０１〜Ｄ０Ｎに記憶されている復元データをＥＥＰＲＯＭ３に書き込む。また、ＥＥＰＲＯＭ書込部１２は、第１遅延あり更新要求フラグ領域Ｆ１１〜Ｆ１ｎに更新要求フラグがセットされ、且つ、第１遅延あり更新抑制フラグ領域Ｆ１Ｓの更新抑制フラグが消去された場合に、第１遅延あり更新要求フラグ領域Ｆ１１〜Ｆ１ｎに対応する第１遅延あり領域Ｄ１１〜Ｄ１ｎに記憶されている復元データをＥＥＰＲＯＭ３に書き込む。また、ＥＥＰＲＯＭ書込部１２は、第２遅延あり更新要求フラグ領域Ｆ２１〜Ｆ２ｍに更新要求フラグがセットされ、且つ、第２遅延あり更新抑制フラグ領域Ｆ２Ｓの更新抑制フラグが消去された場合に、第２遅延あり更新要求フラグ領域Ｆ２１〜Ｆ２ｍに対応する第２遅延あり領域Ｄ２１〜Ｄ２ｍに記憶されている復元データをＥＥＰＲＯＭ３に書き込む。
【００４０】
ここで、ＳＲＡＭ２３のアドレスＡＳ０〜ＡＳ１の遅延なし領域Ｄ０１〜Ｄ０Ｎと、ＥＥＰＲＯＭ３のアドレスＡＥ０〜ＡＥ１の領域と、が対応しており、ＥＥＰＲＯＭ書込部１２は、遅延なし領域Ｄ０１〜Ｄ０Ｎに記憶されている復元データをＥＥＰＲＯＭ３のアドレスＡＥ０〜ＡＥ１の領域に書き込む。また、ＳＲＡＭ２３のアドレスＡＳ１〜ＡＳ２の第１遅延あり領域Ｄ１１〜Ｄ１ｎと、ＥＥＰＲＯＭ３のアドレスＡＥ１〜ＡＥ２の領域と、が対応しており、ＥＥＰＲＯＭ書込部１２は、第１遅延あり領域Ｄ１１〜Ｄ１ｎに記憶されている復元データをＥＥＰＲＯＭ３のアドレスＡＥ１〜ＡＥ２の領域に書き込む。また、ＳＲＡＭ２３のアドレスＡＳ２〜ＡＳｆの第２遅延あり領域Ｄ２１〜Ｄ２ｍと、ＥＥＰＲＯＭ３のアドレスＡＥ２〜ＡＥｆの領域と、が対応しており、ＥＥＰＲＯＭ書込部１２は、第２遅延あり領域Ｄ２１〜Ｄ２ｍに記憶されている復元データをＥＥＰＲＯＭ３のアドレスＡＥ１〜ＡＥ２の領域に書き込む。
【００４１】
次に、ＳＲＡＭ２３へのデータの書き込み処理について、図５に示すフローチャートに基づいて説明する。ＣＰＵ２１（ＳＲＡＭ書込部１１）は、例えば、アプリケーションプログラムに従ったＳＲＡＭ２３への書き込み処理が発生した場合に、以下の処理を行う。なお、本実施形態では、ＣＰＵ２１によるソフトウェア処理で、ＳＲＡＭ２３へのデータの書き込み行うため、ＯＳ、ライブラリ、ミドルウェアのＡＰＩとして以下の処理を組み込んでおくこととなる。
【００４２】
まず、ＳＲＡＭ書込部１１は、ＳＲＡＭ２３のアドレスに対応する変数Ａを書き込み先のアドレスとする（Ｓ１）。次に、ＳＲＡＭ書込部１１は、アドレス（変数）ＡのＳＲＡＭ２３の値と、ＳＲＡＭ２３に書き込むデータと、が等しいか否かを判断する（Ｓ２）。すなわち、ＳＲＡＭ書込部１１は、ＳＲＡＭ２３のアドレスＡに記憶されているデータと、ＳＲＡＭ２３に書き込むデータと、が同じであるか否かを判断する。ＳＲＡＭ書込部１１は、アドレスＡのＳＲＡＭ２３の値とＳＲＡＭ２３に書き込むデータとが等しいと判断した場合（Ｓ２：Ｙｅｓ）、処理を終了する。ＳＲＡＭ２３のアドレスＡに記憶されているデータと、ＳＲＡＭ２３に書き込むデータと、が同じ、すなわち、ＳＲＡＭ２３のアドレスＡに記憶されているデータが変化しないため、データを書き込む必要がないからである。
【００４３】
ＳＲＡＭ書込部１１は、アドレスＡのＳＲＡＭ２３の値とＳＲＡＭ２３に書き込むデータとが等しくないと判断した場合（Ｓ２：Ｎｏ）、アドレスＡのＳＲＡＭ２３の値を書き込みデータとする（Ｓ３）。すなわち、ＳＲＡＭ書込部１１は、ＳＲＡＭ２３のアドレスＡに対応する領域にデータを書き込む。
【００４４】
次に、ＳＲＡＭ書込部１１は、データを書き込んだＳＲＡＭ２３のアドレスに対応する変数ＡがアドレスＡＳ０以上であるか否かを判断する（Ｓ４）。ＳＲＡＭ書込部１１は、変数ＡがアドレスＡＳ０以上でない（Ａ＜ＡＳ０）、すなわち、復元不要データを復元不要領域Ｂに書き込んだと判断した場合（Ｓ４：Ｎｏ）、処理を終了する。ＳＲＡＭ書込部１１は、復元不要領域Ｂに復元不要データを書き込んだため、ＥＥＰＲＯＭ３にデータを書き込むための処理を行う必要がないからである。
【００４５】
ＳＲＡＭ書込部１１は、変数ＡがアドレスＡＳ０以上であると判断した場合（Ｓ４：Ｙｅｓ）、変数ＡがアドレスＡＳ１以上であるか否かを判断する（Ｓ５）。ＳＲＡＭ書込部１１は、変数ＡがアドレスＡＳ１以上でない（ＡＳ０≦Ａ＜ＡＳ１）、すなわち、復元データを遅延なし領域Ｄ０１〜Ｄ０Ｎに書き込んだと判断した場合（Ｓ５：Ｎｏ）、変数（アドレス）Ａに対応するページ番号を計算し、ページ番号に対応する変数Ｐを計算したページ番号とする（Ｓ６）。そして、ＳＲＡＭ書込部１１は、遅延なし更新要求フラグ領域Ｆ０Ｐの値を１とする（Ｓ７）。すなわち、ＳＲＡＭ書込部１１は、遅延なし更新要求フラグ領域Ｆ０Ｐにフラグをセットする。例えば、計算されたページ番号が２であれば、遅延なし領域のページＤ０２（Ｐ＝２）に復元データが書き込まれており、遅延なし更新要求フラグ領域Ｆ０２（Ｐ＝２）にフラグがセットされる。このようにして、ＳＲＡＭ書込部１１は、復元データを書き込んだ遅延なし領域Ｄ０１〜Ｄ０Ｎに対応する遅延なし更新要求フラグ領域Ｆ０１〜Ｆ０Ｎに更新要求フラグをセットする。
【００４６】
ＳＲＡＭ書込部１１は、変数ＡがアドレスＡＳ１以上であると判断した場合（Ｓ５：Ｙｅｓ）、変数ＡがアドレスＡＳ２以上であるか否かを判断する（Ｓ８）。ＳＲＡＭ書込部１１は、変数ＡがアドレスＡＳ２以上でない（ＡＳ１≦Ａ＜ＡＳ２）、すなわち、復元データが第１遅延あり領域Ｄ１１〜Ｄ１ｎに書き込まれたと判断した場合（Ｓ８：Ｎｏ）、変数（アドレス）Ａに対応するページ番号を計算し、ページ番号に対応する変数Ｐを計算したページ番号とする（Ｓ９）。次に、ＳＲＡＭ書込部１１は、第１遅延あり更新要求フラグ領域Ｆ１Ｐの値を１とする（Ｓ１０）。すなわち、ＳＲＡＭ書込部１１は、第１遅延あり更新要求フラグ領域Ｆ１Ｐにフラグをセットする。次に、ＳＲＡＭ書込部１１は、第１遅延あり更新抑制フラグ領域Ｆ１Ｓの値を１とする（Ｓ１１）。すなわち、ＳＲＡＭ書込部１１は、第１遅延あり更新抑制フラグ領域Ｆ１Ｓにフラグをセットする。そして、ＳＲＡＭ書込部１１は、第１タイマー領域ＴＩＭＥＲＤ１による時間計測をスタートさせる（Ｓ１２）。
【００４７】
ＳＲＡＭ書込部１１は、変数ＡがアドレスＡＳ２以上であると判断した場合（Ｓ８：Ｙｅｓ）、変数ＡがアドレスＡＳｆ以上であるか否かを判断する（Ｓ１３）。ＳＲＡＭ書込部１１は、変数ＡがアドレスＡＳｆ以上でない、すなわち、復元データを第２遅延あり領域Ｄ２１〜Ｄ２ｍに書き込んだと判断した場合（Ｓ１３：Ｎｏ）、変数（アドレス）Ａに対応するページ番号を計算し、ページ番号に対応する変数Ｐを計算したページ番号とする（Ｓ１４）。次に、ＳＲＡＭ書込部１１は、第２遅延あり更新要求フラグ領域Ｆ２Ｐの値を１とする（Ｓ１５）。すなわち、ＳＲＡＭ書込部１１は、第２遅延あり更新要求フラグ領域Ｆ２Ｐにフラグをセットする。次に、ＳＲＡＭ書込部１１は、第２遅延あり更新抑制フラグ領域Ｆ２Ｓの値を１とする（Ｓ１６）。すなわち、ＳＲＡＭ書込部１１は、第２遅延あり更新抑制フラグ領域Ｆ２Ｓにフラグをセットする。そして、ＳＲＡＭ書込部１１は、第２タイマー領域ＴＩＭＥＲＤ１による時間計測をスタートさせる。ＳＲＡＭ書込部１１は、変数ＡがアドレスＡＳｆ以上である、すなわち、復元不要データを復元不要領域Ｂに書き込んだと判断した場合（Ｓ１３：Ｙｅｓ）、処理を終了する。
【００４８】
次に、ページ番号の計算処理（図５のＳ６、Ｓ９、Ｓ１４）について、図６に示すフローチャートに基づいて説明する。まず、ＳＲＡＭ書込部１１は、オフセットを計算する（Ｓ２１）。復元データが遅延なし領域Ｄ０１〜Ｄ０Ｎに書き込まれている場合（Ｓ６）、ＳＲＡＭ書込部１１は、Ａ−ＡＳ０を計算する。また、復元データが第１遅延あり領域Ｄ１１〜Ｄ１ｎに書き込まれている場合（Ｓ９）、ＳＲＡＭ書込部１１は、Ａ−ＡＳ１を計算する。また、復元データが第２遅延あり領域Ｄ２１〜Ｄ２ｍに書き込まれている場合（Ｓ１４）、ＳＲＡＭ書込部１１は、Ａ−ＡＳ２を計算する。次に、ＳＲＡＭ書込部１１は、計算したオフセットを１ページのページサイズで割り、割った値を変数ｐとする（Ｓ２２）。例えば、オフセットが５０バイトであり、ページサイズが３２であれば、５０／３２（＝１．５６２５）を計算する。次に、変数ｐの整数部に１を足した数をページ番号Ｐとする（Ｓ２３）。例えば、変数ｐ＝５０／３２（＝１．５６２５）であれば、１＋１＝２をページ番号Ｐとする。この例では、ページ２（例えば、遅延なし領域のページＤ０２）に復元データが書き込まれている。なお、図６に示す関数Ｉｎｔ（ｐ）は、ｐの整数部を返す算術関数である。
【００４９】
次に、ＥＥＰＲＯＭ３への復元データの書き込み処理について、図７に示すフローチャートに基づいて説明する。以下の処理は、ＣＰＵ２１（ＥＥＰＲＯＭ書込部１２）により、図５及び図６に示す処理とは別のタスクとして定期的に（１〜数秒程度）で実行される。まず、ＥＥＰＲＯＭ書込部１２は、ページ番号に対応する変数ｉを１とする（Ｓ３１）。次に、ＥＥＰＲＯＭ書込部１２は、ページ番号に対応する変数ｉが遅延なし領域Ｄ０１〜Ｄ０Ｎのページ数Ｎ以下であるか否かを判断する（Ｓ３２）。ＥＥＰＲＯＭ書込部１２は、変数ｉが遅延なし領域Ｄ０１〜Ｄ０Ｎのページ数Ｎ以下であると判断した場合（Ｓ３２：Ｙｅｓ）、遅延なし更新要求フラグ領域Ｆ０ｉをチェックする（Ｓ３３）。次に、ＥＥＰＲＯＭ書込部１２は、変数ｉをｉ＋１とする（Ｓ３４）。次のＳ３２の処理で、次のページ番号がＤ０１〜Ｄ０Ｎのページ数Ｎ以下であるかを判断するためである。また、次のＳ３３の処理で、次のページ番号に対応する遅延なし更新要求フラグ領域Ｆ０ｉをチェックするためである。
【００５０】
ＥＥＰＲＯＭ書込部１２は、変数ｉがページ数Ｎ以下であると判断している間（Ｓ３２：Ｙｅｓ）、Ｓ３３、Ｓ３４の処理を繰り返し実行する。ＥＥＰＲＯＭ書込部１２は、変数ｉが遅延なし領域Ｄ０１〜Ｄ０Ｎのページ数Ｎ以下でないと判断した場合（Ｓ３２：Ｎｏ）、すべての遅延なし更新要求フラグ領域Ｆ０１〜Ｆ０Ｎをチェックしたため、第１遅延あり更新抑制フラグ領域Ｆ１Ｓの値が０であるか否かを判断する（Ｓ３５）。すなわち、ＥＥＰＲＯＭ書込部１２は、第１遅延あり更新抑制フラグ領域Ｆ１Ｓにフラグがセットされているか否かを判断する。ＥＥＰＲＯＭ書込部１２は、第１遅延あり領域更新抑制フラグ領域Ｆ１Ｓの値が０である、すなわち、第１遅延あり更新抑制フラグ領域Ｆ１Ｓにフラグがセットされていないと判断した場合（Ｓ３５：Ｙｅｓ）、ページ番号に対応する変数ｉを１とする（Ｓ３６）。次に、ＥＥＰＲＯＭ書込部１２は、ページ番号に対応する変数ｉが第１遅延あり領域Ｄ１１〜Ｄ１ｎのページ数ｎ以下であるか否かを判断する（Ｓ３７）。ＥＥＰＲＯＭ書込部１２は、変数ｉが第１遅延あり領域Ｄ１１〜Ｄ１ｎのページ数ｎ以下であると判断した場合（Ｓ３７：Ｙｅｓ）、第１遅延あり更新要求フラグ領域Ｆ１ｉをチェックする（Ｓ３８）。次に、ＥＥＰＲＯＭ書込部１２は、変数ｉをｉ＋１とする（Ｓ３９）。
【００５１】
ＥＥＰＲＯＭ書込部１２は、変数ｉがページ数ｎ以下であると判断している間（Ｓ３７：Ｙｅｓ）、Ｓ３８、Ｓ３９の処理を繰り返し実行する。ＥＥＰＲＯＭ書込部１２は、変数ｉが第１遅延あり領域Ｄ１１〜Ｄ１ｎのページ数ｎ以下でないと判断した場合（Ｓ３７：Ｎｏ）、すべての第１遅延あり更新要求フラグ領域Ｆ１１〜Ｆ１ｎをチェックしたため、第２遅延あり更新抑制フラグ領域Ｆ２Ｓの値が０であるか否かを判断する（Ｓ４０）。すなわち、ＥＥＰＲＯＭ書込部１２は、第２遅延あり更新抑制フラグ領域Ｆ２Ｓにフラグがセットされているか否かを判断する。また、ＥＥＰＲＯＭ書込部１２は、第１遅延あり領域更新抑制フラグ領域Ｆ１Ｓの値が０でない、すなわち、第１遅延あり更新抑制フラグ領域Ｆ１Ｓにフラグがセットされていると判断した場合（Ｓ３５：Ｎｏ）、Ｓ３７〜Ｓ３９の処理を行わず、Ｓ４０の処理を実行する。すなわち、第１遅延あり更新抑制フラグ領域Ｆ１Ｓにフラグがセットされているため、ＥＥＰＲＯＭ書込部１２は、第１遅延あり更新要求フラグ領域Ｆ１１〜Ｆ１ｎのチェックを行わない。
【００５２】
ＥＥＰＲＯＭ書込部１２は、第２遅延あり領域更新抑制フラグ領域Ｆ１Ｓの値が０である、すなわち、第２遅延あり更新抑制フラグ領域Ｆ１Ｓにフラグがセットされていないと判断した場合（Ｓ４０：Ｙｅｓ）、ページ番号に対応する変数ｉを１とする（Ｓ４１）。次に、ＥＥＰＲＯＭ書込部１２は、ページ番号に対応する変数ｉが第２遅延あり領域Ｄ２１〜Ｄ２ｍのページ数ｍ以下であるか否かを判断する（Ｓ４２）。ＥＥＰＲＯＭ書込部１２は、変数ｉが第２遅延あり領域Ｄ２１〜Ｄ２ｍのページ数ｍ以下であると判断した場合（Ｓ４２：Ｙｅｓ）、第２遅延あり更新要求フラグ領域Ｆ２ｉをチェックする（Ｓ４３）。次に、ＥＥＰＲＯＭ書込部１２は、変数ｉをｉ＋１とする（Ｓ４４）。
【００５３】
ＥＥＰＲＯＭ書込部１２は、変数ｉがページ数ｍ以下であると判断している間（Ｓ４２：Ｙｅｓ）、Ｓ４３、Ｓ４４の処理を繰り返し実行する。ＥＥＰＲＯＭ書込部１２は、変数ｉが第１遅延あり領域Ｄ２１〜Ｄ２ｍのページ数ｍ以下でないと判断した場合（Ｓ４２：Ｎｏ）、すべての第２遅延あり更新要求フラグ領域Ｆ２１〜Ｆ２ｍをチェックしたため、処理を終了する。また、ＥＥＰＲＯＭ書込部１２は、第２遅延あり領域更新抑制フラグ領域Ｆ２Ｓの値が０でない、すなわち、第２遅延あり更新抑制フラグ領域Ｆ２Ｓにフラグがセットされていると判断した場合（Ｓ４０：Ｎｏ）、Ｓ４２〜Ｓ４４の処理を行わず、Ｓ４０の処理を実行する。すなわち、第２遅延あり更新抑制フラグ領域Ｆ２Ｓにフラグがセットされているため、ＥＥＰＲＯＭ書込部１２は、第２遅延あり更新要求フラグ領域Ｆ２１〜Ｆ２ｍのチェックを行わない。
【００５４】
次に、遅延なし更新要求フラグ領域Ｆ０１〜Ｆ０Ｎのチェック処理（図７のＳ３３）について、図８に示すフローチャートに基づいて説明する。まず、ＥＥＰＲＯＭ書込部１２は、変数ｐをページ番号（図７のＳ３３におけるｉ）とする（Ｓ５１）。次に、ＥＥＰＲＯＭ書込部１２は、遅延なし更新要求フラグ領域Ｆ０ｐの値が１であるか否かを判断する（Ｓ５２）。すなわち、ＥＥＰＲＯＭ書込部１２は、遅延なし更新要求フラグ領域Ｆ０ｐにフラグがセットされているか否かを判断する。ＥＥＰＲＯＭ書込部１２は、遅延なし更新要求フラグ領域Ｆ０ｐの値が１でない、すなわち、遅延なし更新要求フラグ領域Ｆ０ｐにフラグがセットされていないと判断した場合（Ｓ５２：Ｎｏ）、遅延なし領域Ｄ０ｐに記憶されている復元データをＥＥＰＲＯＭ３に書き込む必要がないため、処理を終了する。
【００５５】
ＥＥＰＲＯＭ書込部１２は、遅延なし更新要求フラグ領域Ｆ０ｐの値が１である、すなわち、遅延なし更新要求フラグ領域Ｆ０ｐにフラグがセットされていると判断した場合（Ｓ５２：Ｙｅｓ）、ページ番号に対応する変数ｐから１を引いた数にページサイズを乗じた数を変数ａとする（Ｓ５３）。変数ａは、ＳＲＡＭ２３のアドレスＡＳ０からページ番号（ｐ−１）までのバイト数に対応している。例えば、ページ番号３であり、ページサイズが３２バイトであれば、ページ番号２までのバイト数は、６４バイトとなる。次に、ＥＥＰＲＯＭ書込部１２は、バイト数に対応する変数ｉを０とする（Ｓ５４）。次に、ＥＥＰＲＯＭ書込部１２は、バイト数に対応する変数ｉがページサイズよりも小さいか否かを判断する（Ｓ５５）。ＥＥＰＲＯＭ書込部１２は、変数ｉがページサイズよりも小さいと判断した場合（Ｓ５５：Ｙｅｓ）、アドレスＡＥ０＋ａ＋ｉのＥＥＰＲＯＭ３の値を、アドレスＡＳ０＋ａ＋ｉのＳＲＡＭ２３の値とする（Ｓ５６）。すなわち、ＥＥＰＲＯＭ書込部１２は、ＳＲＡＭ２３のアドレスＡＳ０＋ａ＋ｉの領域に記憶されている復元データを、ＥＥＰＲＯＭ３のアドレスＡＥ０＋ａ＋ｉの領域に書き込む。例えば、１回目の処理では、ページ番号３であり、ページサイズが３２バイトであれば、アドレスＡＥ０＋６４＋０のＥＥＰＲＯＭ３の値が、アドレスＡＳ０＋６４＋０のＳＲＡＭ２３の値となる。次に、ＥＥＰＲＯＭ書込部１２は、変数ｉをｉ＋１とする（Ｓ５７）。
【００５６】
ＥＥＰＲＯＭ書込部１２は、変数ｉがページサイズよりも小さいと判断している間は（Ｓ５５：Ｙｅｓ）、Ｓ５５〜Ｓ５７の処理を繰り返し実行する。変数ｉが１ずつ増加するため、例えば、ページ番号３であり、ページサイズが３２バイトであれば、アドレスＡＥ０＋６４＋（０〜３２）のＥＥＰＲＯＭ３の値が、アドレスＡＳ０＋６４＋（０〜３２）のＳＲＡＭ２３の値となる。すなわち、ページ番号３の１ページ分の遅延なし領域Ｄ０３に記憶されている復元データが、ＥＥＰＲＯＭ３に書き込まれる。
【００５７】
ＥＥＰＲＯＭ書込部１２は、変数ｉがページサイズよりも小さくないと判断した場合（Ｓ５５：Ｎｏ）、処理を終了する。このようにして、ＥＥＰＲＯＭ書込部１２は、遅延なし領域Ｄ０ｐに記憶されている１ページ分の復元データをＥＥＰＲＯＭ３に書き込む。
【００５８】
次に、第１遅延あり更新要求フラグ領域Ｆ１１〜Ｆ１ｎのチェック処理（図７のＳ３８）について、図９に示すフローチャートに基づいて説明する。まず、ＥＥＰＲＯＭ書込部１２は、変数ｐをページ番号（図７のＳ３８におけるｉ）とする（Ｓ６１）。次に、ＥＥＰＲＯＭ書込部１２は、第１遅延あり更新要求フラグ領域Ｆ１ｐの値が１であるか否かを判断する（Ｓ６２）。すなわち、ＥＥＰＲＯＭ書込部１２は、第１遅延あり更新要求フラグ領域Ｆ１ｐにフラグがセットされているか否かを判断する。ＥＥＰＲＯＭ書込部１２は、第１遅延あり更新要求フラグ領域Ｆ１ｐの値が１でない、すなわち、第１遅延あり更新要求フラグ領域Ｆ１ｐにフラグがセットされていないと判断した場合（Ｓ６２：Ｎｏ）、第１遅延あり領域Ｄ１ｐに記憶されている復元データをＥＥＰＲＯＭ３に書き込む必要がないため、処理を終了する。
【００５９】
ＥＥＰＲＯＭ書込部１２は、第１遅延あり更新要求フラグ領域Ｆ１ｐの値が１である、すなわち、第１遅延あり更新要求フラグ領域Ｆ１ｐにフラグがセットされていると判断した場合（Ｓ６２：Ｙｅｓ）、ページ番号に対応する変数ｐから１を引いた数にページサイズを乗じた数を変数ａとする（Ｓ６３）。次に、ＥＥＰＲＯＭ書込部１２は、バイト数に対応する変数ｉを０とする（Ｓ６４）。次に、ＥＥＰＲＯＭ書込部１２は、バイト数に対応する変数ｉがページサイズよりも小さいか否かを判断する（Ｓ６５）。ＥＥＰＲＯＭ書込部１２は、変数ｉがページサイズよりも小さいと判断した場合（Ｓ６５：Ｙｅｓ）、アドレスＡＥ１＋ａ＋ｉのＥＥＰＲＯＭ３の値を、アドレスＡＳ１＋ａ＋ｉのＳＲＡＭ２３の値とする（Ｓ６６）。すなわち、ＥＥＰＲＯＭ書込部１２は、ＳＲＡＭ２３のアドレスＡＳ１＋ａ＋ｉの領域に記憶されている復元データを、ＥＥＰＲＯＭ３のアドレスＡＥ１＋ａ＋ｉの領域に書き込む。次に、ＥＥＰＲＯＭ書込部１２は、変数ｉをｉ＋１とする（Ｓ６７）。ＥＥＰＲＯＭ書込部は、変数ｉがページサイズよりも小さいと判断している間は（Ｓ６５：Ｙｅｓ）、Ｓ６５〜Ｓ６７の処理を繰り返し実行する。ＥＥＰＲＯＭ書込部１２は、変数ｉがページサイズよりも小さくないと判断した場合（Ｓ６５：Ｎｏ）、処理を終了する。このようにして、ＥＥＰＲＯＭ書込部１２は、第１遅延あり領域Ｄ１ｐに記憶されている１ページ分の復元データをＥＥＰＲＯＭ３に書き込む。
【００６０】
次に、第２遅延あり更新要求フラグ領域Ｆ２１〜Ｆ２ｍのチェック処理（図７のＳ４３）について、図１０に示すフローチャートに基づいて説明する。まず、ＥＥＰＲＯＭ書込部１２は、変数ｐをページ番号（図７のＳ４３におけるｉ）とする（Ｓ７１）。次に、ＥＥＰＲＯＭ書込部１２は、第２遅延あり更新要求フラグ領域Ｆ２ｐの値が１であるか否かを判断する（Ｓ７２）。すなわち、ＥＥＰＲＯＭ書込部１２は、第２遅延あり更新要求フラグ領域Ｆ２ｐにフラグがセットされているか否かを判断する。ＥＥＰＲＯＭ書込部１２は、第２遅延あり更新要求フラグ領域Ｆ２ｐの値が１でない、すなわち、第２遅延あり更新要求フラグ領域Ｆ２ｐにフラグがセットされていないと判断した場合（Ｓ７２：Ｎｏ）、第２遅延あり領域Ｄ２ｐに記憶されている復元データをＥＥＰＲＯＭ３に書き込む必要がないため、処理を終了する。
【００６１】
ＥＥＰＲＯＭ書込部１２は、第２遅延あり更新要求フラグ領域Ｆ２ｐの値が１である、すなわち、第２遅延あり更新要求フラグ領域Ｆ２ｐにフラグがセットされていると判断した場合（Ｓ７２：Ｙｅｓ）、ページ番号に対応する変数ｐから１を引いた数にページサイズを乗じた数を変数ａとする（Ｓ７３）。次に、ＥＥＰＲＯＭ書込部１２は、バイト数に対応する変数ｉを０とする（Ｓ７４）。次に、ＥＥＰＲＯＭ書込部１２は、バイト数に対応する変数ｉがページサイズよりも小さいか否かを判断する（Ｓ７５）。ＥＥＰＲＯＭ書込部１２は、変数ｉがページサイズよりも小さいと判断した場合（Ｓ７５：Ｙｅｓ）、アドレスＡＥ２＋ａ＋ｉのＥＥＰＲＯＭ３の値を、アドレスＡＳ２＋ａ＋ｉのＳＲＡＭ２３の値とする（Ｓ７６）。すなわち、ＥＥＰＲＯＭ書込部１２は、ＳＲＡＭ２３のアドレスＡＳ２＋ａ＋ｉの領域に記憶されている復元データを、ＥＥＰＲＯＭ３のアドレスＡＥ２＋ａ＋ｉの領域に書き込む。次に、ＥＥＰＲＯＭ書込部１２は、変数ｉをｉ＋１とする（Ｓ７７）。ＥＥＰＲＯＭ書込部１２は、変数ｉがページサイズよりも小さいと判断している間は（Ｓ７５：Ｙｅｓ）、Ｓ７５〜Ｓ７７の処理を繰り返し実行する。ＥＥＰＲＯＭ書込部１２は、変数ｉがページサイズよりも小さくないと判断した場合（Ｓ７６：Ｎｏ）、処理を終了する。このようにして、ＥＥＰＲＯＭ書込部１２は、第２遅延あり領域Ｄ２ｐに記憶されている１ページ分の復元データをＥＥＰＲＯＭ３に書き込む。
【００６２】
ここで、本実施形態と従来技術とを比較する。例えば、ＥＥＰＲＯＭが以下のとおりであるとする。
容量  ８１９２バイト
ページサイズ（１ページのバイト数）  ３２バイト
ページ数  ２５６ページ（＝８１９２／３２）
ＳＲＡＭは、遅延なし領域、第１遅延あり領域、第２遅延あり領域、第１タイマー領域、第２タイマー領域を有する。タイマー領域は、１つで４バイトを必要とする。
【００６３】
図１１に示す従来技術の場合、復元データをコピーするための領域が、８１９２バイト必要である。また、タイマー領域が２つで８バイト（＝４×２）必要である。従って、遅延なし領域、第１遅延あり領域、第２遅延あり領域以外に、合計８２００バイト（＝８１９２＋８）必要となる。
【００６４】
また、チェックサムをＳＲＡＭに記憶する従来技術の場合、１ページ単位でチェックサムを計算し、２次元の他方の次元のチェックサムは、各ページ内の同一オフセットアドレスの値の全ページでのチェックサムを計算するとする。この場合、チェックサムを記憶するために、２８８バイト（＝２５６＋３２）必要となる。また、タイマー領域が２つで８バイト（＝４×２）必要である。従って、遅延なし領域、第１遅延あり領域、第２遅延あり領域以外に、合計２９６バイト（＝２８８＋８）必要となる。
【００６５】
本実施形態の場合、ＥＥＰＲＯＭが２５６ページであれば、遅延なし更新要求フラグ領域、第１遅延あり更新要求フラグ領域、第２遅延あり更新要求フラグ領域が、２５６ビット＝３２バイト必要である。また、タイマー領域が２つで８バイト（＝４×２）必要である。従って、遅延なし領域、第１遅延あり領域、第２遅延あり領域以外に、合計４０バイト（＝３２＋８）必要となる。このように、従来技術と比べて、本実施形態は、ＥＥＰＲＯＭに復元データを書き込むために必要なＳＲＡＭの容量が最も少ない。
【００６６】
以上説明したように、本実施形態では、遅延なし領域Ｄ０１〜Ｄ０Ｎに復元データが書き込まれた場合に、更新要求フラグがセットされる遅延なし更新要求フラグ領域Ｆ０１〜Ｆ０ＮがＳＲＡＭ２３に設けられている。また、遅延なし更新要求フラグ領域Ｆ０１〜Ｆ０Ｎにフラグがセットされている場合に、ＥＥＰＲＯＭ書込部１２は、遅延なし更新要求フラグ領域Ｆ０１〜Ｆ０Ｎに対応する遅延なし領域Ｄ０１〜Ｄ０Ｎに記憶されている復元データをＥＥＰＲＯＭ３に書き込む。従って、従来のように、チェックサムを計算すること等がないため、簡易な処理で復元データをＥＥＰＲＯＭ３に書き込むことが可能である。従来と比べて処理が簡易であることは、本実施形態の処理を示す図２と、従来の処理を示す図１１と、を見比べることで、把握することも可能である。
【００６７】
また、遅延なしフラグ領域Ｆ０１〜Ｆ０Ｎには、フラグがセットされる場合に、「１」というデータ量の少ない情報（１ビット）が記憶されるため、従来のように、復元データのコピー、チェックサムがＳＲＡＭ２３に記憶されない。これにより、ＳＲＡＭ２３の容量を多く使用することなく、復元データをＳＲＡＭ２３に書き込むことが可能である。
【００６８】
また、本実施形態では、ＥＥＰＲＯＭ書込部１２は、遅延あり更新要求フラグ領域Ｆ１１〜Ｆ２ｍに更新要求フラグがセットされ、且つ、遅延あり更新抑制フラグ領域Ｆ１Ｓ，Ｆ２Ｓの更新抑制フラグが消去された場合、すなわち、タイマー領域ＴＩＭＥＲＤ１，ＴＩＭＥＲＤ２による計測時間が所定時間を経過した場合に、遅延あり更新要求フラグ領域Ｆ１１〜Ｆ２ｍに対応する遅延あり領域Ｄ１１〜Ｄ２ｍに記憶されている復元データをＥＥＰＲＯＭ３に書き込む。すなわち、ＥＥＰＲＯＭ書込部１２により遅延書き込みが行われる。このため、ＥＥＰＲＯＭ３の書き込み回数が抑制され、ＥＥＰＲＯＭ３の寿命を長くすることが可能となる。
【００６９】
以上、本発明の実施形態について説明したが、本発明を適用可能な形態は、上述の実施形態には限られるものではなく、以下に例示するように、本発明の趣旨を逸脱しない範囲で適宜変更を加えることが可能である。
【００７０】
上述の実施形態では、揮発性メモリとしてＳＲＡＭを例示した。これに限らず、揮発性メモリは、ＤＲＡＭ（Dynamic Random Access Memory）等であってもよい。また、不揮発性メモリとして、ＥＥＰＲＯＭを例示した。これに限らず、不揮発性メモリは、フラッシュメモリ等であってもよい。
【００７１】
上述の実施形態では、ＳＲＡＭ２３、ＥＥＰＲＯＭ１０２へのデータの書き込みは、ＣＰＵ２１によりプログラムに従って行われる（ソフトウェア処理）。これに限らず、ＳＲＡＭ２３、ＥＥＰＲＯＭ１０２へのデータの書き込みは、ＣＰＵ以外のハードウェアで行われるようになっていてもよい。
【００７２】
上述の実施形態では、遅延あり更新抑制フラグ領域Ｆ１Ｓ，Ｆ２Ｓにフラグがセットされている場合、ＥＥＰＲＯＭ書込部１２は、遅延あり領域Ｄ１１〜Ｄ２ｍに記憶されている復元データをＥＥＰＲＯＭ３に書き込まない。これに限らず、ＳＲＡＭ２３に、遅延あり更新抑制フラグ領域Ｆ１Ｓ，Ｆ２Ｓを設けなくてもよい。この場合、ＥＥＰＲＯＭ書込部１２は、タイマー領域ＴＩＭＥＲＤ１，ＴＩＭＥＲＤ２がオーバーフローするまで、遅延あり領域Ｄ１１〜Ｄ２ｍに記憶されている復元データをＥＥＰＲＯＭ３に書き込まず、タイマー領域ＴＩＭＥＲＤ１，ＴＩＭＥＲＤ２がオーバーフローした場合、すなわち、タイマー領域ＴＩＭＥＲＤ１，ＴＩＭＥＲＤ２による計測時間が所定時間を経過した場合に、遅延あり領域Ｄ１１〜Ｄ２ｍに記憶されている復元データをＥＥＰＲＯＭ３に書き込むようにすればよい。
【００７３】
上述の実施形態では、本発明を適用する電子機器としてＡＶアンプ１を例示した。揮発性メモリに自機器への電源の供給が遮断されても記憶しておくべき復元データが記憶され、復元データを不揮発性メモリに書き込む電子機器であれば、ＡＶアンプに限られず、パーソナルコンピュータ等であってもよい。
【産業上の利用可能性】
【００７４】
本発明は、例えば、ＡＶアンプやパーソナルコンピュータなどの電子機器に好適に採用され得る。
【符号の説明】
【００７５】
１  ＡＶアンプ（電子機器）
２  マイクロコンピュータ
３  ＥＥＰＲＯＭ（不揮発性メモリ）
１１  ＳＲＡＭ書込部（第１書込部）
１２  ＥＥＰＲＯＭ書込部（第２書込部）
２１  ＣＰＵ
２３  ＳＲＡＭ（揮発性メモリ）
Ｂ  復元不要領域（第１領域）
Ｄ０１〜Ｄ０Ｎ  遅延なし領域（第２領域）
Ｄ１１〜Ｄ１ｎ  第１遅延あり領域（第３領域）
Ｄ２１〜Ｄ２ｍ  第２遅延あり領域（第３領域）
Ｆ０１〜Ｆ０Ｎ  遅延なし更新要求フラグ領域（第１フラグ領域）
Ｆ１１〜Ｆ１ｎ  第１遅延あり更新要求フラグ領域（第２フラグ領域）
Ｆ２１〜Ｆ２ｍ  第２遅延あり更新要求フラグ領域（第２フラグ領域）
Ｆ１Ｓ  第１遅延あり更新抑制フラグ領域（第３フラグ領域）
Ｆ２Ｓ  第２遅延あり更新要求フラグ領域（第３フラグ領域）
【図１】
2015121839.tif 000003
【図２】
2015121839.tif 000004
【図３】
2015121839.tif 000005
【図４】
2015121839.tif 000006
【図５】
2015121839.tif 000007
【図６】
2015121839.tif 000008
【図７】
2015121839.tif 000009
【図８】
2015121839.tif 000010
【図９】
2015121839.tif 000011
【図１０】
2015121839.tif 000012
【図１１】
2015121839.tif 000013
【手続補正書】
【提出日】平成26年12月19日(2014.12.19)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
そこで、不揮発性メモリへのアクセスを少なくするため、不揮発性メモリに書き込まれている復元データのコピーを揮発性メモリに書き込んでおくことが行われている。図１１は、従来の揮発性メモリ（ＳＲＡＭ）へのデータの書き込み、及び、不揮発性メモリ（ＥＥＰＲＯＭ）へのデータの書き込み処理を示した図である。なお、図１１では、ＥＥＰＲＯＭ１０３へのデータの書き込みをハードウェアで示しているが、実際には、プログラム（ソフトウェアモジュール）により、ＣＰＵ１０１によりＥＥＰＲＯＭ１０３へのデータの書き込みが行われる（ソフトウェア処理）。ＳＲＡＭ１０２の領域Ｄ０１〜Ｄ０Ｎは、復元データが書き込まれる復元データ領域である。ＳＲＡＭ１０２の領域Ｃ０１〜Ｃ０Ｎは、復元データのコピーが書き込まれる復元データコピー領域である。ＣＰＵ１０１は、復元データ領域Ｄ０１〜Ｄ０Ｎに書き込まれている復元データと、復元データコピー領域Ｃ０１〜Ｃ０Ｎに書き込まれている復元データのコピーと、を比較する（図１１の（１））。そして、ＣＰＵ１０１は、復元データと復元データのコピーとが不一致であると判断した場合、復元データをＥＥＰＲＯＭ１０３に書き込む（図１１の（２））。同時に、ＣＰＵ１０１は、復元データコピー領域Ｃ０１〜Ｃ０Ｎに復元データのコピーを書き込む（図１１の（３））。しかしながら、ＳＲＡＭ１０２に復元データのコピーを書き込むため、ＳＲＡＭ１０２（揮発性メモリ）の容量が余計に必要になる。特に、復元データの容量が大きい場合、ＳＲＡＭ１０２（揮発性メモリ）の書き込み可能な領域が小さくなってしまい、問題である。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
上述したように、復元データの不揮発性メモリへの書き込みのために、揮発性メモリの容量を多く使用しているという問題がある。また、従来の不揮発性メモリへの復元データの書き込み処理は、非常に複雑であるという問題がある。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
上述した復元データとしては、例えば、音声処理部４が行う音声処理についての情報、映像処理部６が行う映像処理についての情報等がある。図２は、ＳＲＡＭ２３へのデータの書き込み、及び、ＥＥＰＲＯＭ３へのデータの書き込み処理を示した図である。図２に示すように、ＳＲＡＭ２３は、領域Ｂ、領域Ｄ０１〜Ｄ０Ｎ、領域Ｄ１１〜Ｄ１ｎ、領域Ｄ２１〜Ｄ２ｍ、領域Ｆ０１〜Ｆ０Ｎ、領域Ｆ１１〜Ｆ１ｎ、領域Ｆ２１〜Ｆ２ｍ、領域Ｆ１ｓ，Ｆ２ｓ、領域ＴＩＭＥＲＤ１，ＴＩＭＥＲＤ２を有する。領域Ｂ（第１領域）は、復元しなくてもよいデータ（以下、「復元不要データ」ともいう。）が記憶される領域である（以下、「復元不要領域」ともいう。）。また、復元不要領域Ｂは、ＳＲＡＭ２３のアドレスＡＳ０よりも小さい領域と、アドレスＡＳｆよりも大きい領域と、を含む。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
領域Ｄ１１〜Ｄ１ｎ（第３領域）は、復元データが記憶される領域である。具体的には、領域Ｄ１１〜Ｄ１ｎは、復元データが書き込まれてから、すなわち、領域Ｄ１１〜Ｄ１ｎに記憶されているデータが変化してから所定時間経過後にＥＥＰＲＯＭ３に復元データが書き込まれる遅延書き込みが行われる領域である（以下、「第１遅延あり領域」ともいう。）。また、第１遅延あり領域Ｄ１１〜Ｄ１ｎは、ＳＲＡＭ２３のアドレスＡＳ１〜ＡＳ２の領域である。領域Ｄ２１〜Ｄ２ｍ（第３領域）は、復元データが記憶される領域である。具体的には、領域Ｄ２１〜Ｄ２ｍは、遅延書き込みが行われる領域である（以下、「第２遅延あり領域」ともいう。）。また、第２遅延あり領域Ｄ２１〜Ｄ２ｍは、ＳＲＡＭ２３のアドレスＡＳ２〜ＡＳｆの領域である。第１遅延あり領域Ｄ１１〜Ｄ１ｎ、第２遅延あり領域Ｄ２１〜Ｄ２ｍにおいては、復元データが頻繁に変化するため、変化があってからしばらく（数秒）経過した後、ＥＥＰＲＯＭ３に復元データが書き込まれるようになっている。これにより、ＥＥＲＰＯＭ３への復元データの書き込み回数が減少するため、ＥＥＰＲＯＭ３の寿命が長くなるという利点がある。第１遅延あり領域Ｄ１１〜Ｄ１ｎと第２遅延あり領域Ｄ２１〜Ｄ２ｍとは、ＳＲＡＭ２３に復元データが書き込まれてからＥＥＰＲＯＭ３に復元データが書き込まれるまでの時間（遅延書き込み時間）が異なる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００４７
【補正方法】変更
【補正の内容】
【００４７】
ＳＲＡＭ書込部１１は、変数ＡがアドレスＡＳ２以上であると判断した場合（Ｓ８：Ｙｅｓ）、変数ＡがアドレスＡＳｆ以上であるか否かを判断する（Ｓ１３）。ＳＲＡＭ書込部１１は、変数ＡがアドレスＡＳｆ以上でない、すなわち、復元データを第２遅延あり領域Ｄ２１〜Ｄ２ｍに書き込んだと判断した場合（Ｓ１３：Ｎｏ）、変数（アドレス）Ａに対応するページ番号を計算し、ページ番号に対応する変数Ｐを計算したページ番号とする（Ｓ１４）。次に、ＳＲＡＭ書込部１１は、第２遅延あり更新要求フラグ領域Ｆ２Ｐの値を１とする（Ｓ１５）。すなわち、ＳＲＡＭ書込部１１は、第２遅延あり更新要求フラグ領域Ｆ２Ｐにフラグをセットする。次に、ＳＲＡＭ書込部１１は、第２遅延あり更新抑制フラグ領域Ｆ２Ｓの値を１とする（Ｓ１６）。すなわち、ＳＲＡＭ書込部１１は、第２遅延あり更新抑制フラグ領域Ｆ２Ｓにフラグをセットする。そして、ＳＲＡＭ書込部１１は、第２タイマー領域ＴＩＭＥＲＤ２による時間計測をスタートさせる。ＳＲＡＭ書込部１１は、変数ＡがアドレスＡＳｆ以上である、すなわち、復元不要データを復元不要領域Ｂに書き込んだと判断した場合（Ｓ１３：Ｙｅｓ）、処理を終了する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
ＥＥＰＲＯＭ書込部１２は、第２遅延あり更新抑制フラグ領域Ｆ１Ｓの値が０である、すなわち、第２遅延あり更新抑制フラグ領域Ｆ１Ｓにフラグがセットされていないと判断した場合（Ｓ４０：Ｙｅｓ）、ページ番号に対応する変数ｉを１とする（Ｓ４１）。次に、ＥＥＰＲＯＭ書込部１２は、ページ番号に対応する変数ｉが第２遅延あり領域Ｄ２１〜Ｄ２ｍのページ数ｍ以下であるか否かを判断する（Ｓ４２）。ＥＥＰＲＯＭ書込部１２は、変数ｉが第２遅延あり領域Ｄ２１〜Ｄ２ｍのページ数ｍ以下であると判断した場合（Ｓ４２：Ｙｅｓ）、第２遅延あり更新要求フラグ領域Ｆ２ｉをチェックする（Ｓ４３）。次に、ＥＥＰＲＯＭ書込部１２は、変数ｉをｉ＋１とする（Ｓ４４）。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００５３
【補正方法】変更
【補正の内容】
【００５３】
ＥＥＰＲＯＭ書込部１２は、変数ｉがページ数ｍ以下であると判断している間（Ｓ４２：Ｙｅｓ）、Ｓ４３、Ｓ４４の処理を繰り返し実行する。ＥＥＰＲＯＭ書込部１２は、変数ｉが第１遅延あり領域Ｄ２１〜Ｄ２ｍのページ数ｍ以下でないと判断した場合（Ｓ４２：Ｎｏ）、すべての第２遅延あり更新要求フラグ領域Ｆ２１〜Ｆ２ｍをチェックしたため、処理を終了する。また、ＥＥＰＲＯＭ書込部１２は、第２遅延あり更新抑制フラグ領域Ｆ２Ｓの値が０でない、すなわち、第２遅延あり更新抑制フラグ領域Ｆ２Ｓにフラグがセットされていると判断した場合（Ｓ４０：Ｎｏ）、Ｓ４２〜Ｓ４４の処理を行わず、Ｓ４０の処理を実行する。すなわち、第２遅延あり更新抑制フラグ領域Ｆ２Ｓにフラグがセットされているため、ＥＥＰＲＯＭ書込部１２は、第２遅延あり更新要求フラグ領域Ｆ２１〜Ｆ２ｍのチェックを行わない。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
ＥＥＰＲＯＭ書込部１２は、第１遅延あり更新要求フラグ領域Ｆ１ｐの値が１である、すなわち、第１遅延あり更新要求フラグ領域Ｆ１ｐにフラグがセットされていると判断した場合（Ｓ６２：Ｙｅｓ）、ページ番号に対応する変数ｐから１を引いた数にページサイズを乗じた数を変数ａとする（Ｓ６３）。次に、ＥＥＰＲＯＭ書込部１２は、バイト数に対応する変数ｉを０とする（Ｓ６４）。次に、ＥＥＰＲＯＭ書込部１２は、バイト数に対応する変数ｉがページサイズよりも小さいか否かを判断する（Ｓ６５）。ＥＥＰＲＯＭ書込部１２は、変数ｉがページサイズよりも小さいと判断した場合（Ｓ６５：Ｙｅｓ）、アドレスＡＥ１＋ａ＋ｉのＥＥＰＲＯＭ３の値を、アドレスＡＳ１＋ａ＋ｉのＳＲＡＭ２３の値とする（Ｓ６６）。すなわち、ＥＥＰＲＯＭ書込部１２は、ＳＲＡＭ２３のアドレスＡＳ１＋ａ＋ｉの領域に記憶されている復元データを、ＥＥＰＲＯＭ３のアドレスＡＥ１＋ａ＋ｉの領域に書き込む。次に、ＥＥＰＲＯＭ書込部１２は、変数ｉをｉ＋１とする（Ｓ６７）。ＥＥＰＲＯＭ書込部１２は、変数ｉがページサイズよりも小さいと判断している間は（Ｓ６５：Ｙｅｓ）、Ｓ６５〜Ｓ６７の処理を繰り返し実行する。ＥＥＰＲＯＭ書込部１２は、変数ｉがページサイズよりも小さくないと判断した場合（Ｓ６５：Ｎｏ）、処理を終了する。このようにして、ＥＥＰＲＯＭ書込部１２は、第１遅延あり領域Ｄ１ｐに記憶されている１ページ分の復元データをＥＥＰＲＯＭ３に書き込む。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
また、遅延なし更新要求フラグ領域Ｆ０１〜Ｆ０Ｎには、フラグがセットされる場合に、「１」というデータ量の少ない情報（１ビット）が記憶されるため、従来のように、復元データのコピー、チェックサムがＳＲＡＭ２３に記憶されない。これにより、ＳＲＡＭ２３の容量を多く使用することなく、復元データをＳＲＡＭ２３に書き込むことが可能である。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００７１
【補正方法】変更
【補正の内容】
【００７１】
上述の実施形態では、ＳＲＡＭ２３、ＥＥＰＲＯＭ３へのデータの書き込みは、ＣＰＵ２１によりプログラムに従って行われる（ソフトウェア処理）。これに限らず、ＳＲＡＭ２３、ＥＥＰＲＯＭ３へのデータの書き込みは、ＣＰＵ以外のハードウェアで行われるようになっていてもよい。
【手続補正書】
【提出日】平成27年4月28日(2015.4.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１領域と、自機器への電源の供給が遮断されても記憶しておくべき復元データが記憶される第２領域と、前記第２領域に対応して第１フラグがセットされる第１フラグ領域と、を有する揮発性メモリと、
不揮発性メモリと、
前記揮発性メモリに前記復元データを含むデータを書き込む第１書込部と、
前記第２領域に記憶されている前記復元データを前記不揮発性メモリに書き込む第２書込部と、を備え、
前記第１書込部は、前記復元データを書き込んだ前記第２領域に対応する前記第１フラグ領域に前記第１フラグをセットし、
前記第２書込部は、前記第１フラグ領域に前記第１フラグがセットされている場合に、前記第１フラグ領域に対応する前記第２領域に記憶されている前記復元データを前記不揮発性メモリに書き込むこと
を特徴とする電子機器。
【請求項２】
前記揮発性メモリは、
遅延して前記不揮発性メモリに書き込まれる前記復元データが記憶される第３領域と、
前記第３領域に対応して第２フラグがセットされる第２フラグ領域と、
時間を計測するためのタイマー領域と、
をさらに有し、
前記第１書込部は、前記復元データを書き込んだ前記第３領域に対応する前記第２フラグ領域に前記第２フラグをセットし、且つ、前記タイマー領域による時間計測をスタートさせ、
前記第２書込部は、前記第２フラグ領域に前記第２フラグがセットされた後、前記タイマー領域による計測時間が所定時間を経過した場合に、前記第２フラグ領域に対応する前記第３領域に記憶されている前記復元データを前記不揮発性メモリに書き込むことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記揮発性メモリは、
遅延して前記不揮発性メモリに書き込まれる前記復元データが記憶される第３領域と、
前記第３領域に対応して第２フラグがセットされる第２フラグ領域と、
前記第２書込部による前記不揮発性メモリへの前記復元データの書き込みを禁止するための第３フラグがセットされる第３フラグ領域と、
時間を計測するためのタイマー領域と、
をさらに有し、
前記第１書込部は、
前記復元データを書き込んだ前記第３領域に対応する前記第２フラグ領域に前記第２フラグをセットし、前記第３フラグ領域に前記第３フラグをセットし、且つ、前記タイマー領域による時間計測をスタートさせ、
前記タイマー領域による計測時間が所定時間を経過した場合に、前記第３フラグ領域の前記第３フラグを消去し、
前記第２書込部は、前記第２フラグ領域に前記第２フラグがセットされ、且つ、第３フラグ領域の前記第３フラグが消去された場合に、前記第２フラグ領域に対応する前記第３領域に記憶されている前記復元データを前記不揮発性メモリに書き込むことを特徴とする請求項１に記載の電子機器。
【請求項４】
前記第１書込部は、
前記揮発性メモリのアドレスに基づいて、どの領域に前記データを書き込んだかを判断し、
前記第２領域に前記復元データを書き込んだと判断した場合に、前記復元データを書き込んだ前記第２領域に対応する前記第１フラグ領域に前記第１フラグをセットし、
前記第３領域に前記復元データを書き込んだと判断した場合に、前記復元データを書き込んだ前記第３領域に対応する前記第２フラグ領域に前記第２フラグをセットし、前記第３フラグ領域に前記第３フラグをセットし、且つ、前記タイマー領域による時間計測をスタートさせることを特徴とする請求項３に記載の電子機器。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
第４の発明の電子機器は、第３の発明の電子機器において、前記第１書込部は、前記揮発性メモリのアドレスに基づいて、どの領域に前記データを書き込んだかを判断し、前記第２領域に前記復元データを書き込んだと判断した場合に、前記復元データを書き込んだ前記第２領域に対応する前記第１フラグ領域に前記第１フラグをセットし、前記第３領域に前記復元データを書き込んだと判断した場合に、前記復元データを書き込んだ前記第３領域に対応する前記第２フラグ領域に前記第２フラグをセットし、前記第３フラグ領域に前記第３フラグをセットし、且つ、前記タイマー領域による時間計測をスタートさせることを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
ここで、ＳＲＡＭ２３のアドレスＡＳ０〜ＡＳ１の遅延なし領域Ｄ０１〜Ｄ０Ｎと、ＥＥＰＲＯＭ３のアドレスＡＥ０〜ＡＥ１の領域と、が対応しており、ＥＥＰＲＯＭ書込部１２は、遅延なし領域Ｄ０１〜Ｄ０Ｎに記憶されている復元データをＥＥＰＲＯＭ３のアドレスＡＥ０〜ＡＥ１の領域に書き込む。また、ＳＲＡＭ２３のアドレスＡＳ１〜ＡＳ２の第１遅延あり領域Ｄ１１〜Ｄ１ｎと、ＥＥＰＲＯＭ３のアドレスＡＥ１〜ＡＥ２の領域と、が対応しており、ＥＥＰＲＯＭ書込部１２は、第１遅延あり領域Ｄ１１〜Ｄ１ｎに記憶されている復元データをＥＥＰＲＯＭ３のアドレスＡＥ１〜ＡＥ２の領域に書き込む。また、ＳＲＡＭ２３のアドレスＡＳ２〜ＡＳｆの第２遅延あり領域Ｄ２１〜Ｄ２ｍと、ＥＥＰＲＯＭ３のアドレスＡＥ２〜ＡＥｆの領域と、が対応しており、ＥＥＰＲＯＭ書込部１２は、第２遅延あり領域Ｄ２１〜Ｄ２ｍに記憶されている復元データをＥＥＰＲＯＭ３のアドレスＡＥ２〜ＡＥｆの領域に書き込む。