(57)【要約】【課題】電源が供給された際に復元すべきデータを保存する際の負担を軽減することができる、電気機器を提供することを、目的とする。【解決手段】不揮発性メモリ３４に記憶されている復元すべきデータと、揮発性メモリ１８に記憶されている復元すべきデータとを直接比較せずに、不揮発性メモリ３４に記憶されている復元すべきデータについての現状チェックデータと、揮発性メモリ１８に記憶されている復元すべきデータについての確認チェックデータとを比較して、不揮発性メモリ３４に記憶されている復元すべきデータと、揮発性メモリ１８に記憶されている復元すべきデータとが一致するか否かを判定する。【選択図】図１
2012137881.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する揮発性メモリと、
前記揮発性メモリに記憶されている前記データのうち、電源が供給された際に復元すべきデータを記憶する不揮発性メモリと、
前記不揮発性メモリに記憶され、物理的又は仮想的に２次元状に配列されている前記復元すべきデータの各行及び各列のデータに基づいて生成された現状チェックデータを前記揮発性メモリに保存する保存手段と、
前記揮発性メモリに記憶されている前記復元すべきデータの各行及び各列のデータに基づいて生成された確認チェックデータが、前記揮発性メモリに保存されている前記現状チェックデータと一致するか否かを判定する判定手段と、
前記判定手段による判定結果が不一致であった場合に、前記揮発性メモリに記憶されている前記復元すべきデータのうち、前記不揮発性メモリに記憶されている前記復元すべきデータと異なるデータを特定する特定手段と、
前記不揮発性メモリに記憶されている前記復元すべきデータのうち、前記特定手段によって特定されたデータに対応するデータを、前記特定手段によって特定されたデータに書き換える書換手段とを備える、電気機器。
【請求項２】
請求項１に記載の電気機器であってさらに、
ユーザが操作する操作手段と、
前記操作手段が操作されたか否かを判断する判断手段とを備え、
前記判断手段によってユーザが前記操作手段を操作したと判断された場合に、前記判定手段による判定が行われる、電気機器。
【請求項３】
請求項１に記載の電気機器であって、
所定時間が経過する毎に、前記判定手段による判定が行われる、電気機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、復元すべきデータが記憶される不揮発性メモリを備えた電気機器に関する。
【背景技術】
【０００２】
ＡＶ（Audio Visual）機器等の電気機器においては、電源の供給が遮断されても、次に電源が供給された際に、電気機器の状態を電源の供給が遮断される前の状態に戻すことが要求されている。例えば、特開２００４−１５１７５６号公報（特許文献１）には、電源が供給された際に、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）に保存されているバックアップデータを読み出して、マルチソースオーディオの状態を電源が遮断される前の状態に戻すマルチソースオーディオ装置用バックアップシステムが開示されている。
【０００３】
ところで、ＥＥＰＲＯＭ等の不揮発性メモリにおいては、データの書き込みに時間がかかってしまう。そのため、電源の供給が遮断された際に、大量のデータを不揮発性メモリに書き込むことが難しいという問題がある。
【０００４】
そこで、特許文献１においては、バックアップすべきデータに影響がある操作が行われた場合に、実際の操作内容毎に必要な分量だけを不揮発性メモリに書き込むことが提案されている。
【０００５】
そこにおいて、バックアップすべきデータが変化したか否かを判断する方法としては、例えば、ＥＥＰＲＯＭに保存されているバックアップデータを読み出して、オペレーションコントローラ内のワーキングＲＡＭに記憶されているバックアップすべきデータと、ＥＥＰＲＯＭから読み出したバックアップデータとを比較する方法が考えられる。
【０００６】
しかしながら、データが一致するか否かを判断する度に、シリアルインターフェイスで接続されるＥＥＰＲＯＭからバックアップデータを読み出すのは、オペレーションコントローラにとって負担が大きくなる。
【０００７】
なお、バックアップすべきデータが変化したか否かを判断する方法としては、その他にも、例えば、ＥＥＰＲＯＭに保存されているバックアップデータのコピーをワーキングＲＡＭに記憶しておき、ＥＥＰＲＯＭに保存されているバックアップデータのコピーと、ワーキングＲＡＭに記憶されているバックアップすべきデータとを比較する方法が考えられる。
【０００８】
しかしながら、ＥＥＰＲＯＭに保存されているバックアップデータのコピーをワーキングＲＡＭに記憶しておくには、ワーキングＲＡＭの容量を大きくしなければならないという問題がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−１５１７５６号公報
【特許文献２】特開２００８−５４１７８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、電源が供給された際に復元すべきデータを保存する際の負担を軽減することができる、電気機器を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の電気機器は、データを記憶する揮発性メモリと、前記揮発性メモリに記憶されている前記データのうち、電源が供給された際に復元すべきデータを記憶する不揮発性メモリと、前記不揮発性メモリに記憶され、物理的又は仮想的に２次元状に配列されている前記復元すべきデータの各行及び各列のデータに基づいて生成された現状チェックデータを前記揮発性メモリに保存する保存手段と、前記揮発性メモリに記憶されている前記復元すべきデータの各行及び各列のデータに基づいて生成された確認チェックデータが、前記揮発性メモリに保存されている前記現状チェックデータと一致するか否かを判定する判定手段と、前記判定手段による判定結果が不一致であった場合に、前記揮発性メモリに記憶されている前記復元すべきデータのうち、前記不揮発性メモリに記憶されている前記復元すべきデータと異なるデータを特定する特定手段と、前記不揮発性メモリに記憶されている前記復元すべきデータのうち、前記特定手段によって特定されたデータに対応するデータを、前記特定手段によって特定されたデータに書き換える書換手段とを備える。
【発明の効果】
【００１２】
本発明の電気機器によれば、電源が供給された際に復元すべきデータを保存する際の負担を軽減することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態によるＡＶアンプの構成を示す機能ブロック図である。
【図２】図１に示すＡＶアンプにおいて電源が供給された際に復元すべきデータ及び当該復元すべきデータから計算されるチェックサムについて説明するための説明図である。
【図３】図１に示すＡＶアンプの制御部によって実行されるバックアップデータ読み出し処理を示すフローチャートである。
【図４】図１に示すＡＶアンプの制御部によって実行されるＹ行のチェックサム計算処理を示すフローチャートである。
【図５】図１に示すＡＶアンプの制御部によって実行されるＸ列のチェックサム計算処理を示すフローチャートである。
【図６】図１に示すＡＶアンプの制御部によって実行される、キー操作があった場合のバックアップ処理を示すフローチャートである。
【図７】図１に示すＡＶアンプの制御部によって実行される、Ｙ行のデータのうち変化したデータを保存する処理を示すフローチャートである。
【図８】図１に示すＡＶアンプの制御部によって実行される、Ｘ列のデータのうち変化したデータを保存する処理を示すフローチャートである。
【図９】本発明の第２の実施の形態としてのＡＶアンプが備える制御部によって実行される、定期的なバックアップ処理のフローチャートである。
【発明を実施するための形態】
【００１４】
本発明の一実施形態に係る電気機器は、データを記憶する揮発性メモリと、前記揮発性メモリに記憶されている前記データのうち、電源が供給された際に復元すべきデータを記憶する不揮発性メモリと、前記不揮発性メモリに記憶され、物理的又は仮想的に２次元状に配列されている前記復元すべきデータの各行及び各列のデータに基づいて生成された現状チェックデータを前記揮発性メモリに保存する保存手段と、前記揮発性メモリに記憶されている前記復元すべきデータの各行及び各列のデータに基づいて生成された確認チェックデータが、前記揮発性メモリに保存されている前記現状チェックデータと一致するか否かを判定する判定手段と、前記判定手段による判定結果が不一致であった場合に、前記揮発性メモリに記憶されている前記復元すべきデータのうち、前記不揮発性メモリに記憶されている前記復元すべきデータと異なるデータを特定する特定手段と、前記不揮発性メモリに記憶されている前記復元すべきデータのうち、前記特定手段によって特定されたデータに対応するデータを、前記特定手段によって特定されたデータに書き換える書換手段とを備える（第１の構成）。
【００１５】
第１の構成においては、不揮発性メモリに記憶されている復元すべきデータと、揮発性メモリに記憶されている復元すべきデータとを直接比較せずに、不揮発性メモリに記憶されている復元すべきデータについての現状チェックデータと、揮発性メモリに記憶されている復元すべきデータについての確認チェックデータとを比較して、不揮発性メモリに記憶されている復元すべきデータと、揮発性メモリに記憶されている復元すべきデータとが一致するか否か、即ち、揮発性メモリに記憶されている復元すべきデータが変化したか否かを判定している。これにより、揮発性メモリに記憶されている復元すべきデータが変化したか否かを判定する度に、不揮発性メモリから復元すべきデータを読み出す必要がなくなる。その結果、揮発性メモリに記憶されている復元すべきデータが変化したか否かを判定する際の負担を軽減することができる。
【００１６】
特に、第１の構成においては、各行の現状チェックデータと確認チェックデータを比較するだけでなく、各列の現状チェックデータと確認チェックデータも比較する。これにより、各行又は各列の現状チェックデータと確認チェックデータだけを比較する場合に比して、揮発性メモリに記憶されている復元すべきデータが変化したか否かの判定の精度を向上させることができる。
【００１７】
また、第１の構成においては、不揮発性メモリに記憶されている復元すべきデータのコピーを揮発性メモリに保存しておき、当該コピーと、揮発性メモリに記憶されている復元すべきデータとを比較しなくても良い。その結果、揮発性メモリの容量を必要以上に大きくする必要がなくなる。
【００１８】
第２の構成は、前記第１の構成において、ユーザが操作する操作手段と、前記操作手段が操作されたか否かを判断する判断手段とを備え、前記判断手段によってユーザが前記操作手段を操作したと判断された場合に、前記判定手段による判定が行われる構成である。このような構成においては、揮発性メモリに記憶されている復元すべきデータが変化した可能性が高くなっている状態で、揮発性メモリに記憶されている復元すべきデータが変化したか否かを判定することになる。その結果、揮発性メモリに記憶されている復元すべきデータが変化したか否かを定期的に判定する場合に比して、揮発性メモリに記憶されている復元すべきデータが変化したか否かを効率良く判定することができる。
【００１９】
第３の構成は、前記第１の構成において、所定時間が経過する毎に、前記判定手段による判定が行われる構成である。このような構成においては、揮発性メモリに記憶されている復元すべきデータが変化したか否かを定期的に判定することになる。
【００２０】
以下、本発明のより具体的な実施形態について、図面を参照しながら説明する。図中同一又は相当部分には、同一符号を付して、その説明は繰り返さない。
【００２１】
［第１の実施形態］
図１には、電気機器に係る本発明の第１の実施形態としてのＡＶアンプ１０が示されている。ＡＶアンプ１０は、外部に接続された再生装置としてのＢＤ（Blu-ray Disc）プレイヤ１２からの音声信号及び映像信号を処理して出力するものである。
【００２２】
ＡＶアンプ１０は、制御部１４を備える。制御部１４は、ＡＶアンプ１０の動作全体を制御する。制御部１４としては、例えば、マイクロコンピュータ（マイコン）等を採用することができる。
【００２３】
ＡＶアンプ１０は、ＲＯＭ（Read-Only Memory）１６を更に備える。ＲＯＭ１６は、制御部１４が実行する各種制御処理のプログラムを記憶する。
【００２４】
ＡＶアンプ１０は、揮発性メモリとしてのＲＡＭ（Random-Access Memory）１８を更に備える。ＲＡＭ１８は、制御部１４が各種制御処理を実行する際にＲＯＭ１６から読み出したプログラムと、制御部１４が各種制御処理を実行する際に必要なデータとを一時的に記憶する。
【００２５】
ＡＶアンプ１０は、音声処理部２０を更に備える。音声処理部２０は、ＢＤプレイヤ１２に接続されている。音声処理部２０は、ＢＤプレイヤ１２からの音声信号を処理する。音声処理部２０が行う音声処理としては、例えば、イコライザ処理、遅延処理、音声信号の合成処理、音声信号の生成処理等がある。
【００２６】
ＡＶアンプ１０は、増幅部２２を更に備える。増幅部２２は、スピーカ２４に接続されている。増幅部２２は、音声処理部２０からの音声信号を増幅して、スピーカ２４に出力する。これにより、ユーザは音声を聴くことができる。
【００２７】
ＡＶアンプ１０は、画像処理部２６を更に備える。画像処理部２６は、ＢＤプレイヤ１２に接続されている。画像処理部２６は、ＢＤプレイヤ１２からの映像信号を処理する。画像処理部２６が行う画像処理としては、例えば、解像度変換、アスペクト変換、明るさの変換等がある。
【００２８】
また、画像処理部２６は、ディスプレイ装置２８に接続されている。画像処理部２６は、ディスプレイ装置２８に映像信号を出力する。これにより、ユーザは画像を見ることができる。
【００２９】
ＡＶアンプ１０は、通信部３０を更に備える。通信部３０は、インターネットに接続されている。通信部３０は、例えばインターネット上の放送局サーバ等との間で、データのやり取りをする。
【００３０】
ＡＶアンプ１０は、操作部３２を更に備える。操作部３２は、ユーザによって操作される。ユーザが操作部３２を操作することにより、ＡＶアンプ１０の設定等を変更することができる。操作部３２としては、例えば、操作キー、タッチパネル等を採用することができる。
【００３１】
なお、操作部３２は、ＡＶアンプ１０に内蔵されているものに限定されない。例えば、リモコン等も操作部３２に含まれる。
【００３２】
ＡＶアンプ１０は、不揮発性メモリとしてのＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）３４を備える。ＥＥＰＲＯＭ３４は、ＡＶアンプ１０に電源が供給された際に復元すべきデータ（以下、単に、復元すべきデータ、若しくは、データと称することがある）を記憶する。復元すべきデータとしては、例えば、音声処理部２０が行う音声処理についての情報、画像処理部が行う画像処理についての情報等がある。
【００３３】
ＥＥＰＲＯＭ３４に記憶されている復元すべきデータは、図２に示すように、ｎ列×ｎ行の２次元状に配列される。例えば、復元すべきデータが２５６バイトである場合、復元すべきデータは１６列×１６行の２次元状に配列される。以下、２次元状に配列された復元すべきデータのうち、Ｘ列とＹ行の両方に属するデータを、Ｘ列Ｙ行の復元すべきデータといい、Ｄ（Ｘ，Ｙ）と表記する。列番号を示す変数Ｘ及び行番号を示す変数Ｙの採り得る値は、それぞれ、０〜ｎ−１（ｎ：自然数）である。
【００３４】
なお、ＥＥＰＲＯＭ３４に記憶されている復元すべきデータは、物理的に２次元状に配列されている必要はなく、仮想的に２次元状に配列されていても良い。ＥＥＰＲＯＭ３４に記憶されている復元すべきデータが物理的に２次元状に配列されているとは、例えば、ＥＥＰＲＯＭ３４における復元すべきデータの記憶エリアがｎ列×ｎ行のマトリクス状に形成されていることをいう。一方、ＥＥＰＲＯＭ３４に記憶されている復元すべきデータが仮想的に２次元状に配列されているとは、例えば、ＥＥＰＲＯＭ３４における復元すべきデータの記憶エリアそのものはばらばらであるが、ｎ列×ｎ行のマトリクス状に仮想的に形成された記憶領域のそれぞれのアドレスが、ＥＥＰＲＯＭ３４における復元すべきデータの記憶エリアのアドレスと対応していることをいう。以下の説明において、２次元状に配列されているとは、物理的に２次元状に配列されている場合と、仮想的に２次元状に配列されている場合のどちらであっても良いものとする。
【００３５】
ＥＥＰＲＯＭ３４に記憶されている復元すべきデータは、ＲＡＭ１８にも記憶される。ＲＡＭ１８においても、復元すべきデータはｎ列×ｎ行の２次元状に配列される。ＥＥＰＲＯＭ３４におけるＸ列Ｙ行の復元すべきデータと、ＲＡＭ１８におけるＸ列Ｙ行の復元すべきデータとは、同じである。そこで、以下の説明においては、ＲＡＭ１８に記憶されているＸ列Ｙ行の復元すべきデータの表記を、ＥＥＰＲＯＭ３４に記憶されているＸ列Ｙ行の復元すべきデータの表記と同じにする。
【００３６】
また、ＲＡＭ１８には、ＥＥＰＲＯＭ３４に記憶されている復元すべきデータの現状チェックサム（現状チェックデータ）が記憶される。
【００３７】
現状チェックサムとしては、図２に示すように、列の現状チェックサムと、行の現状チェックサムとがある。以下、Ｘ列の現状チェックサムをＣ（Ｘ）と表記し、Ｙ行の現状チェックサムをＲ（Ｙ）と表記する。
【００３８】
列の現状チェックサムは、ＥＥＰＲＯＭ３４において２次元状に配列された復元すべきデータの各列毎に計算される。各列の現状チェックサムは、各列に含まれる復元すべきデータの和である。例えば、Ｘ列の現状チェックサムＣ（Ｘ）は、下式（１）によって計算される。
Ｃ（Ｘ）＝Ｄ（Ｘ，０）＋Ｄ（Ｘ，１）＋・・・＋Ｄ（Ｘ，ｎ−１）・・・（１）
【００３９】
行の現状チェックサムは、ＥＥＰＲＯＭ３４において２次元状に配列された復元すべきデータの各行毎に計算される。各行の現状チェックサムは、各行に含まれる復元すべきデータの和である。例えば、Ｙ行の現状チェックサムＲ（Ｙ）は、下式（２）によって計算される。
Ｒ（Ｙ）＝Ｄ（０，Ｙ）＋Ｄ（１，Ｙ）＋・・・＋Ｄ（ｎ−１，Ｙ）・・・（２）
【００４０】
また、ＲＡＭ１８には、ＲＡＭ１８に記憶されている復元すべきデータの確認チェックサムが記憶される。この確認チェックサムとしては、行の確認チェックサムと、列の確認チェックサムとがある。確認チェックサムは、現状チェックサムと同じ計算方法によって計算される。そこで、以下の説明においては、確認チェックサムの表記を、現状チェックサムの表記と同じにする。
【００４１】
続いて、このようなＡＶアンプ１０の制御部１４によって実行される各種制御処理のうち、復元すべきデータのバックアップ処理に関する制御処理について説明する。
【００４２】
最初に、図３に示すフローチャートを参照して、制御部１４が実行するバックアップデータ読み出し処理について説明する。バックアップデータ読み出し処理は、ＡＶアンプ１０に電源が供給された際に実行される。
【００４３】
先ず、制御部１４は、ステップ（以下、Ｓとする）１において、変数Ｙに０を代入する。次に、制御部１４は、Ｓ２において、変数Ｘに０を代入する。
【００４４】
続いて、制御部１４は、Ｓ３において、ＥＥＰＲＯＭ３４に記憶されている復元すべきデータのうち、Ｘ列Ｙ行のデータＤ（Ｘ、Ｙ）をＥＥＰＲＯＭ３４から読み出して、読み出したデータを、ＲＡＭ１８におけるＸ列Ｙ行のデータＤ（Ｘ，Ｙ）として、ＲＡＭ１８に保存する。
【００４５】
次に、制御部１４は、Ｓ４において、変数Ｘに代入されている数値をインクリメントする。続いて、制御部１４は、Ｓ５において、変数Ｘがｎであるか否かを判定する。
【００４６】
変数Ｘがｎでない場合（Ｓ５：ＮＯ）、制御部１４は、Ｓ３以降の処理を実行する。変数Ｘがｎである場合（Ｓ５：ＹＥＳ）、制御部１４は、Ｓ６において、変数Ｙに代入されている数値をインクリメントする。
【００４７】
次に、制御部１４は、Ｓ７において、変数Ｙがｎであるか否かを判定する。変数Ｙがｎでない場合（Ｓ７：ＮＯ）、制御部１４は、Ｓ２以降の処理を実行する。変数Ｙがｎである場合（Ｓ７：ＹＥＳ）、制御部１４は、Ｓ８において、変数Ｙに０を代入する。
【００４８】
続いて、制御部１４は、Ｓ９において、Ｙ行の現状チェックサムを計算する。Ｙ行の現状チェックサムを計算する処理（図４のフローチャートを参照）については、後述する。
【００４９】
次に、制御部１４は、Ｓ１０において、変数Ｙに代入されている数値をインクリメントする。続いて、制御部１４は、Ｓ１１において、変数Ｙがｎであるか否かを判定する。
【００５０】
変数Ｙがｎでない場合（Ｓ１１：ＮＯ）、制御部１４は、Ｓ９以降の処理を実行する。変数Ｙがｎである場合（Ｓ１１：ＹＥＳ）、制御部１４は、Ｓ１２において、変数Ｘに０を代入する。
【００５１】
次に、制御部１４は、Ｓ１３において、Ｘ列の現状チェックサムを計算する。Ｘ列の現状チェックサムを計算する処理（図５のフローチャート参照）については、後述する。
【００５２】
続いて、制御部１４は、Ｓ１４において、変数Ｘに代入されている数値をインクリメントする。次に、制御部１４は、Ｓ１５において、変数Ｘがｎであるか否かを判定する。
【００５３】
変数Ｘがｎでない場合（Ｓ１５：ＮＯ）、制御部１４は、Ｓ１３以降の処理を実行する。変数Ｘがｎである場合（Ｓ１５：ＹＥＳ）、制御部１４は、バックアップデータ読み出し処理を終了する。
【００５４】
次に、図４に示すフローチャートを参照して、Ｙ行の現状チェックサムを計算する処理について説明する。
【００５５】
先ず、制御部１４は、Ｓ２１において、変数Ｒに０を格納する。次に、制御部１４は、Ｓ２２において、変数Ｘに０を代入する。
【００５６】
続いて、制御部１４は、Ｓ２３において、変数Ｒに格納されている値にＸ列Ｙ行のデータＤ（Ｘ，Ｙ）を加算する。次に、制御部１４は、Ｓ２４において、変数Ｘに代入されている数値をインクリメントする。
【００５７】
続いて、制御部１４は、Ｓ２５において、変数Ｘがｎであるか否かを判定する。変数Ｘがｎでない場合（Ｓ２５：ＮＯ）、制御部１４は、Ｓ２３以降の処理を実行する。
【００５８】
一方、変数Ｘがｎである場合（Ｓ２５：ＹＥＳ）、制御部１４は、Ｓ２６において、計算した値（変数Ｒに格納されている値）を、ＥＥＰＲＯＭ３４に記憶されている復元すべきデータのＹ行の現状チェックサムＲ（Ｙ）として、ＲＡＭ１８に保存する。その後、制御部１４は、Ｙ行の現状チェックサムを計算する処理を終了する。
【００５９】
次に、図５に示すフローチャートを参照して、Ｘ列の現状チェックサムを計算する処理について説明する。
【００６０】
先ず、制御部１４は、Ｓ３１において、変数Ｃに０を格納する。次に、制御部１４は、Ｓ３２において、変数Ｙに０を代入する。
【００６１】
続いて、制御部１４は、Ｓ３３において、変数Ｃに格納されている値にＸ列Ｙ行のデータＤ（Ｘ，Ｙ）を加算する。次に、制御部１４は、Ｓ３４において、変数Ｙに代入されている数値をインクリメントする。
【００６２】
続いて、制御部１４は、Ｓ３５において、変数Ｙがｎであるか否かを判定する。変数Ｙがｎでない場合（Ｓ３５：ＮＯ）、制御部１４は、Ｓ３３以降の処理を実行する。
【００６３】
一方、変数Ｙがｎである場合（Ｓ３５：ＮＯ）、制御部１４は、Ｓ３６において、計算した値（変数Ｃに格納されている値）を、ＥＥＰＲＯＭ３４に記憶されている復元すべきデータのＸ列の現状チェックサムＣ（Ｘ）として、ＲＡＭ１８に保存する。その後、制御部１４は、Ｘ列の現状チェックサムを計算する処理を終了する。
【００６４】
次に、図６に示すフローチャートを参照して、ユーザによる操作があった場合のバックアップ処理について説明する。
【００６５】
先ず、制御部１４は、Ｓ４１において、ユーザによる操作があったか否かを判定する。ユーザによる操作がなかった場合（Ｓ４１：ＮＯ）、制御部１４は、ユーザによる操作があるまで待つ。ユーザによる操作があった場合（Ｓ４１：ＹＥＳ）、制御部１４は、Ｓ４２において、変数Ｙに０を代入する。
【００６６】
次に、制御部１４は、Ｓ４３において、ＲＡＭ１８に記憶されている復元すべきデータのＹ行の確認チェックサム（確認チェックデータ）を計算して、計算した値を変数ｒに格納する。Ｙ行の確認チェックサムを計算する処理は、図４のフローチャートを参照して説明した、Ｙ行の現状チェックサムを計算する処理と同じであるから、その説明は省略する。
【００６７】
続いて、制御部１４は、Ｓ４４において、Ｓ４３で計算したＹ行の確認チェックサム（変数ｒに格納されている値）が、ＥＥＰＲＯＭ３４に保存されているＹ行の現状チェックサムＲ（Ｙ）と一致するか否かを判定する。一致する場合（Ｓ４４：ＹＥＳ）、制御部１４は、後述するＳ４６以降の処理を実行する。
【００６８】
一致しない場合（Ｓ４４：ＮＯ）、制御部１４は、Ｓ４５において、Ｙ行のデータを保存する。Ｙ行のデータを保存する処理（図７のフローチャートを参照）については、後述する。
【００６９】
次に、制御部１４は、Ｓ４６において、変数Ｙに代入されている値をインクリメントする。続いて、制御部１４は、Ｓ４７において、変数Ｙがｎであるか否かを判定する。
【００７０】
変数Ｙがｎでない場合（Ｓ４７：ＮＯ）、制御部１４は、Ｓ４３以降の処理を実行する。変数Ｙがｎである場合（Ｓ４７：ＹＥＳ）、制御部１４は、Ｓ４８において、変数Ｘに０を代入する。
【００７１】
次に、制御部１４は、Ｓ４９において、ＲＡＭ１８に記憶されている復元すべきデータのＸ列の確認チェックサムを計算して、計算した値を変数ｃに格納する。なお、Ｘ列の確認チェックサムを計算する処理は、図５のフローチャートを参照して説明した、Ｘ列の現状チェックサムを計算する処理と同じであるから、その説明は省略する。
【００７２】
続いて、制御部１４は、Ｓ５０において、Ｓ４９で計算したＸ列の確認チェックサム（変数ｃに格納されている値）が、ＥＥＰＲＯＭ３４に保存されているＸ列の現状チェックサムＣ（Ｘ）と一致するか否かを判定する。一致する場合（Ｓ５０：ＹＥＳ）、制御部１４は、後述するＳ５２以降の処理を実行する。
【００７３】
一致しない場合（Ｓ５０：ＮＯ）、制御部１４は、Ｓ５１において、Ｘ列のデータを保存する。Ｘ列のデータを保存する処理については、後述する。
【００７４】
次に、制御部１４は、Ｓ５２において、変数Ｘに代入されている数値をインクリメントする。続いて、制御部１４は、Ｓ５３において、変数Ｘがｎであるか否かを判定する。
【００７５】
変数Ｘがｎでない場合（Ｓ５３：ＮＯ）、制御部１４は、Ｓ４９以降の処理を実行する。変数Ｘがｎである場合（Ｓ５３：ＹＥＳ）、制御部１４は、ユーザによる操作があった場合のバックアップ処理を終了する。
【００７６】
続いて、図７に示すフローチャートを参照して、Ｙ行のデータのうち変化したデータを保存する処理について説明する。
【００７７】
先ず、制御部１４は、Ｓ７１において、変数Ｘに０を代入する。続いて、制御部１４は、Ｓ７２において、Ｘ列Ｙ行に該当する復元すべきデータをＥＥＰＲＯＭ３４から読み出して、読み出した復元すべきデータを変数ｍに格納する。
【００７８】
次に、制御部１４は、Ｓ７３において、ＲＡＭ１８に記憶されている復元すべきデータのうち、Ｘ列Ｙ行に該当する復元すべきデータを変数ｄに格納する。続いて、制御部１４は、Ｓ７４において、変数ｍと変数ｄが一致するか否かを判定する。
【００７９】
一致する場合（Ｓ７４：ＹＥＳ）、制御部１４は、後述するＳ７８以降の処理を実行する。一致しない場合（Ｓ７４：ＮＯ）、制御部１４は、Ｓ７５において、変数ｄに格納されているデータをＥＥＰＲＯＭ３４に保存する。
【００８０】
続いて、制御部１４は、Ｓ７６において、Ｘ列の現状チェックサムＣ（Ｘ）を計算する。具体的には、ＲＡＭ１８に保存されているＸ列の現状チェックサムＣ（Ｘ）から変数ｍに格納されているデータを減算した後、変数ｄに格納されているデータを加算する。
【００８１】
次に、制御部１４は、Ｓ７７において、Ｙ行の現状チェックサムＲ（Ｙ）を計算する。具体的には、ＲＡＭ１８に保存されているＹ行の現状チェックサムＲ（Ｙ）から変数ｍに格納されているデータを減算した後、変数ｄに格納されているデータを加算する。
【００８２】
続いて、制御部１４は、Ｓ７８において、変数Ｘに代入されている数値をインクリメントする。次に、制御部１４は、Ｓ７９において、変数Ｘがｎであるか否かを判定する。
【００８３】
変数Ｘがｎでない場合（Ｓ７９：ＮＯ）、制御部１４は、Ｓ７２以降の処理を実行する。変数Ｘがｎである場合（Ｓ７９：ＹＥＳ）、制御部１４は、Ｙ行のデータのうち変化したデータを保存する処理を終了する。
【００８４】
続いて、図８に示すフローチャートを参照して、Ｘ列のデータのうち変化したデータを保存する処理について説明する。
【００８５】
先ず、制御部１４は、Ｓ８１において、変数Ｙに０を代入する。続いて、制御部１４は、Ｓ８２において、Ｘ列Ｙ行に該当する復元すべきデータをＥＥＰＲＯＭ３４から読み出して、読み出した復元すべきデータを変数ｍに格納する。
【００８６】
次に、制御部１４は、Ｓ８３において、ＲＡＭ１８に記憶されている復元すべきデータのうち、Ｘ列Ｙ行に該当する復元すべきデータを変数ｄに格納する。続いて、制御部１４は、Ｓ８４において、変数ｍと変数ｄが一致するか否かを判定する。
【００８７】
一致する場合（Ｓ８４：ＹＥＳ）、制御部１４は、後述するＳ８８以降の処理を実行する。一致しない場合（Ｓ８４：ＮＯ）、制御部１４は、Ｓ８５において、変数ｄに格納されているデータをＥＥＰＲＯＭ３４に保存する。
【００８８】
続いて、制御部１４は、Ｓ８６において、Ｙ行の現状チェックサムＲ（Ｙ）を計算する。具体的には、ＲＡＭ１８に保存されているＹ行の現状チェックサムＲ（Ｙ）から変数ｍに格納されているデータを減算した後、変数ｄに格納されているデータを加算する。
【００８９】
次に、制御部１４は、Ｓ８７において、Ｘ列の現状チェックサムＣ（Ｘ）を計算する。具体的には、ＲＡＭ１８に保存されているＸ列の現状チェックサムＣ（Ｘ）から変数ｍに格納されているデータを減算した後、変数ｄに格納されているデータを加算する。
【００９０】
続いて、制御部１４は、Ｓ８８において、変数Ｙに代入されている数値をインクリメントする。次に、制御部１４は、Ｓ８９において、変数Ｙがｎであるか否かを判定する。
【００９１】
変数Ｙがｎでない場合（Ｓ８９：ＮＯ）、制御部１４は、Ｓ８２以降の処理を実行する。変数Ｙがｎである場合（Ｓ８９：ＹＥＳ）、制御部１４は、Ｘ列のデータのうち変化したデータを保存する処理を終了する。
【００９２】
このようなＡＶアンプ１０においては、電源がＯＮになると、先ず、ＥＥＰＲＯＭ３４に保存されている復元すべきデータが順次読み出されて、ＲＡＭ１８に書き込まれる（Ｓ２〜Ｓ６）。ＥＥＰＲＯＭ３４に保存されている復元すべきデータの全てがＲＡＭ１４に書き込まれたら（Ｓ７：ＹＥＳ）、ＥＥＰＲＯＭ３４に保存されている復元すべきデータについての行の現状チェックサムが順次計算されて、ＲＡＭ１８に保存される（Ｓ８〜Ｓ１１）。行の現状チェックサムの全てがＲＡＭ１８に保存されたら（Ｓ１１：ＹＥＳ）、ＥＥＰＲＯＭ３４に保存されている復元すべきデータについての列の現状チェックサムが順次計算されて、ＲＡＭ１８に保存される（Ｓ１２〜Ｓ１５）。
【００９３】
そこにおいて、ＡＶアンプ１０では、ユーザによって何等かの操作が行われた場合（Ｓ４１：ＹＥＳ）、ＲＡＭ１８に記憶されている復元すべきデータのバックアップ処理が行われる。具体的には、先ず、ＲＡＭ１８に記憶されている復元すべきデータについての行の確認チェックサムが計算される度に、確認チェックサムと、ＲＡＭ１８に保存されている現状チェックサムとが一致するか否かが確認される（Ｓ４３、Ｓ４４）。そして、確認チェックサムと現状チェックサムとが一致しなければ（Ｓ４４：ＮＯ）、確認チェックサムと現状チェックサムとが一致しなかった行に含まれるデータが１つずつ確認される（Ｓ７１〜Ｓ７４、Ｓ７８、Ｓ７９）。変化したデータが見つかったら（Ｓ７４：ＮＯ）、変化したデータはＥＥＰＲＯＭ３４に書き込まれる（Ｓ７５）。その後、列のチェックサムが計算されて、変化したデータが見つかった列の現状チェックサムとして、ＲＡＭ１８に保存される（Ｓ７６）。行のチェックサムも計算されて、変化したデータが見つかった行の現状チェックサムとして、ＲＡＭ１８に保存される（Ｓ７７）。
【００９４】
ＲＡＭ１８に記憶されている復元すべきデータについての行の確認チェックサムが全て計算されているのであれば（Ｓ４７：ＹＥＳ）、今度は、ＲＡＭ１８に記憶されている復元すべきデータについての列の確認チェックサムが計算される度に、確認チェックサムと、ＲＡＭ１８に保存されている現状チェックサムとが一致するか否かが確認される（Ｓ４９、Ｓ５０）。そして、確認チェックサムと現状チェックサムとが一致しなければ（Ｓ５０：ＮＯ）、確認チェックサムと現状チェックサムとが一致しなかった列に含まれるデータが１つずつ確認される（Ｓ８１〜Ｓ８４、Ｓ８８、Ｓ８９）。変化したデータが見つかったら（Ｓ８４：ＮＯ）、変化したデータはＥＥＰＲＯＭ３４に書き込まれる（Ｓ８５）。その後、行のチェックサムが計算されて、変化したデータが見つかった行の現状チェックサムとして、ＲＡＭ１８に保存される（Ｓ８６）。列のチェックサムも計算されて、変化したデータが見つかった列の現状チェックサムとして、ＲＡＭ１８に保存される（Ｓ８７）。
【００９５】
上述の説明から明らかなように、本実施形態では、制御部１４がＳ９、Ｓ１３、Ｓ７６、Ｓ７７、Ｓ８６，Ｓ８７のうち何れかの処理を実行することによって、保存手段が実現されている。また、本実施形態では、制御部１４がＳ４４、Ｓ５０の何れかの処理を実行することによって、判定手段が実現されている。また、本実施形態では、制御部１４が、Ｓ７４、Ｓ８４の何れかにおいて、変数ｍと変数ｄとが一致しないと判定することによって、特定手段が実現されている。また、本実施形態では、制御部１４がＳ７５、Ｓ８５の何れかの処理を実行することによって、書換手段が実現されている。
【００９６】
このようなＡＶアンプ１０においては、ＥＥＰＲＯＭ３４に記憶されている復元すべきデータについての現状チェックサムと、ＲＡＭ１８に記憶されている復元すべきデータについての確認チェックサムとを比較して、ＲＡＭ１８に記憶されている復元すべきデータが変化したか否かを判定している。これにより、ＲＡＭ１８に記憶されている復元すべきデータが変化したか否かを判定する度に、ＥＥＰＲＯＭ３４から復元すべきデータを読み出す必要がなくなる。その結果、ＲＡＭ１８に記憶されている復元すべきデータが変化したか否かを判定する際の制御部１４の負担を軽減することができる。
【００９７】
従って、ＡＶアンプ１０においては、処理能力が低い制御部１４であっても、ＲＡＭ１８に記憶されている復元すべきデータが変化したか否かの判定を効率良く行わせることができる。
【００９８】
特に、ＡＶアンプ１０においては、各行の現状チェックサムと確認チェックサムを比較するだけでなく、各列の現状チェックサムと確認チェックサムも比較する。これにより、各行の現状チェックサムと確認チェックサムを比較するだけでは見つけることができないようなデータの変化も見つけることができる。その結果、ＲＡＭ１８に記憶されている復元すべきデータが変化したか否かの判定精度を向上させることが可能となる。
【００９９】
また、ＡＶアンプ１０においては、ＥＥＰＲＯＭ３４に記憶されている復元すべきデータのコピーをＲＡＭ１８に保存しておき、ＥＥＰＲＯＭ３４に記憶されている復元すべきデータのコピーと、ＲＡＭ１８に記憶されている復元すべきデータとを比較して、ＲＡＭ１８に記憶されている復元すべきデータが変化したか否かを判定する必要がなくなる。その結果、ＲＡＭ１８の容量を必要以上に大きくしなくても良い。
【０１００】
また、ＡＶアンプ１０においては、ユーザによって何等かの処理が行われた場合に、ＲＡＭ１８に記憶されている復元すべきデータが変化したか否かが判定される。即ち、ＲＡＭ１８に記憶されている復元すべきデータが変化した可能性が高い状態で、ＲＡＭ１８に記憶されている復元すべきデータが変化したか否かが判定される。その結果、ＲＡＭ１８に記憶されている復元すべきデータが変化したか否かの判定を効率良く行うことができる。
【０１０１】
また、ＡＶアンプ１０においては、現状チェックサムがＲＡＭ１８に記憶されている。これにより、現状チェックサムがＥＥＰＲＯＭ３４に記憶されている場合に比して、現状チェックサムと確認チェックサムが一致するか否かを判定する度に、現状チェックサムをＥＥＰＲＯＭ３４からわざわざ読み出す必要がなくなる。その結果、現状チェックサムがＥＥＰＲＯＭ３４に記憶されている場合よりも、現状チェックサムと確認チェックサムが一致するか否かの判定に要する時間を短くすることができる。
【０１０２】
また、ＡＶアンプ１０においては、ＲＡＭ１８に記憶されている復元すべきデータのうち、変化したデータをＥＥＰＲＯＭ３４に保存した後、当該変化したデータを含む行及び列の現状チェックサムを計算する際に、古い現状チェックサムから古いデータ（変化前のデータ）を減算した後、新しいデータ（変化後のデータ）を加算する。これにより、ある行又は列において複数のデータが変化した場合であっても、これら複数の変化したデータを見つけることができる。
【０１０３】
すなわち、例えば、ある行又は列において二つのデータが変化した場合、これら二つの変化したデータのうち一つ目の変化したデータを見つけた後に、その行又は列に含まれるデータの全てを加算して、現状チェックサムを計算し直すと、二つ目の変化したデータを見つけることが出来なくなってしまう。しかしながら、本実施形態のＡＶアンプ１０のように、古い現状チェックサムから古いデータ（変化前のデータ）を減算した後に、新しいデータ（変化後のデータ）を加算して、新しい現状チェックサムを計算すれば、ある行又は列において複数のデータが変化した場合であっても、これら複数の変化したデータの全てを見つけることができるようになる。
【０１０４】
［第２の実施形態］
続いて、本発明の第２の実施形態としてのＡＶアンプについて説明する。なお、以下の説明において、第１の実施形態と同様な構造とされた部材及び部位については、第１の実施形態と同一の符号を付すことにより、それらの詳細な説明を省略する。
【０１０５】
本実施形態のＡＶアンプは、第１の実施形態のＡＶアンプ（１０）に比して、ユーザによる操作があった場合のバックアップ処理が行われない。その代わりに、本実施形態のＡＶアンプにおいては、定期的なバックアップ処理が行われる。
【０１０６】
以下、図９に示すフローチャートを参照して、制御部１４が実行する定期的なバックアップ処理について説明する。
【０１０７】
先ず、制御部１４は、Ｓ９１において、定期的なバックアップ処理を、ＡＶアンプ１０に電源が供給されてから初めて実行するか否かを判定する。初めての実行である場合（Ｓ９１：ＹＥＳ）、制御部１４は、Ｓ９２において、変数Ｘ及び変数Ｙのそれぞれに０を代入する。
【０１０８】
初めての実行ではない場合（Ｓ９１：ＹＥＳ）、制御部１４は、Ｓ９３において、変数Ｙがｎであるか否かを判定する。変数Ｙがｎでない場合（Ｓ９３：ＮＯ）、制御部１４は、Ｓ９４において、Ｙ行の確認チェックサムを計算して、計算した値を変数ｒに格納する。Ｙ行の確認チェックサムを計算する処理は、図４に示すフローチャートを参照して説明した、Ｙ行の現状チェックサムを計算する処理と同じであるから、その詳細な説明は省略する。
【０１０９】
次に、制御部１４は、Ｓ９５において、Ｓ９４で計算したＹ行の確認チェックサム（変数ｒに格納されている値）と、ＲＡＭ１８に保存されているＹ行の現状チェックサムＲ（Ｙ）とが一致するか否かを判定する。一致する場合（Ｓ９５：ＹＥＳ）、制御部１４は、Ｓ９７以降の処理を実行する。
【０１１０】
一致しない場合（Ｓ９５：ＮＯ）、制御部１４は、Ｓ９６において、Ｙ行のデータを保存する。Ｙ行のデータを保存する処理は、図７に示すフローチャートを参照して説明した処理と同じであるから、その詳細な説明は省略する。
【０１１１】
次に、制御部１４は、Ｓ９７において、変数Ｙに代入されている数値をインクリメントする。その後、制御部１４は、定期的なバックアップ処理を終了する。
【０１１２】
また、変数Ｙがｎである場合（Ｓ９３：ＹＥＳ）、制御部１４は、Ｓ９８において、Ｘ列の確認チェックサムを計算して、計算した値を変数ｃに格納する。Ｘ列の確認チェックサムを計算する処理は、図５に示すフローチャートを参照して説明した、Ｘ列の現状チェックサムを計算する処理と同じであるから、その詳細な説明は省略する。
【０１１３】
次に、制御部１４は、Ｓ９９において、Ｓ９８で計算したＸ列の確認チェックサム（変数ｒに格納されている値）と、ＲＡＭ１８に記憶されているＸ列の現状チェックサムＣ（Ｘ）とが一致するか否かを判定する。一致する場合（Ｓ９９：ＹＥＳ）、制御部１４は、Ｓ１０１以降の処理を実行する。
【０１１４】
一致しない場合（Ｓ９９：ＮＯ）、制御部１４は、Ｓ１００において、Ｘ列のデータを保存する。Ｘ列のデータを保存する処理は、図８に示すフローチャートを参照して説明した処理と同じであるから、その詳細な説明は省略する。
【０１１５】
次に、制御部１４は、Ｓ１０２において、変数Ｘがｎであるか否かを判定する。変数Ｘがｎである場合（Ｓ１０２：ＹＥＳ）、制御部１４は、Ｓ９２以降の処理を実行する。一方、変数Ｘがｎでない場合（Ｓ１０２：ＮＯ）、制御部１４は、定期的なバックアップ処理を終了する。
【０１１６】
本実施形態のＡＶアンプにおいては、定期的なバックアップ処理が行われる。具体的には、先ず、ＲＡＭ１８に記憶されている復元すべきデータについての行の確認チェックサムが計算されたら（Ｓ９４）、確認チェックサムと、ＲＡＭ１８に保存されている現状チェックサムとが一致するか否かが確認される（Ｓ９５）。そして、確認チェックサムと現状チェックサムとが一致しなければ（Ｓ９５：ＮＯ）、確認チェックサムと現状チェックサムとが一致しなかった行に含まれるデータが１つずつ確認される（Ｓ７１〜Ｓ７４、Ｓ７８、Ｓ７９）。変化したデータが見つかったら（Ｓ７４：ＮＯ）、変化したデータはＥＥＰＲＯＭ３４に書き込まれる（Ｓ７５）。その後、列のチェックサムが計算されて、変化したデータが見つかった列の現状チェックサムとして、ＲＡＭ１８に保存される（Ｓ７６）。行のチェックサムも計算されて、変化したデータが見つかった行の現状チェックサムとして、ＲＡＭ１８に保存される（Ｓ７７）。
【０１１７】
ＲＡＭ１８に記憶されている復元すべきデータについての行の確認チェックサムが全て計算されているのであれば（Ｓ９３：ＹＥＳ）、ＲＡＭ１８に記憶されている復元すべきデータについての列の確認チェックサムが計算される（Ｓ９８）。その後、確認チェックサムと、ＲＡＭ１８に保存されている現状チェックサムとが一致するか否かが確認される（Ｓ９９）。そして、確認チェックサムと現状チェックサムとが一致しなければ（Ｓ９９：ＮＯ）、確認チェックサムと現状チェックサムとが一致しなかった列に含まれるデータが１つずつ確認される（Ｓ８１〜Ｓ８４、Ｓ８８、Ｓ８９）。変化したデータが見つかったら（Ｓ８４：ＮＯ）、変化したデータはＥＥＰＲＯＭ３４に書き込まれる（Ｓ８５）。その後、行のチェックサムが計算されて、変化したデータが見つかった行の現状チェックサムとして、ＲＡＭ１８に保存される（Ｓ８６）。列のチェックサムも計算されて、変化したデータが見つかった列の現状チェックサムとして、ＲＡＭ１８に保存される（Ｓ８７）。
【０１１８】
上述の説明から明らかなように、本実施形態では、制御部１４がＳ９５、Ｓ９９の何れかの処理を実行することによって、判定手段が実現されている。
【０１１９】
このようなＡＶアンプにおいては、ＲＡＭ１８に記憶されている復元すべきデータが変化したか否かの判定が定期的に行われる。これにより、ユーザによって何等かの操作があったときだけ、ＲＡＭ１８に記憶されている復元すべきデータが変化したか否かを判定する場合に比して、制御部１４の負担を軽減することができる。
【０１２０】
すなわち、ユーザによって何等かの操作があったときだけ、ＲＡＭ１８に記憶されている復元すべきデータが変化したか否かを判定する場合には、ＲＡＭ１８に記憶されている復元すべきデータの何れが変化したのかを確認する必要があるため、ＲＡＭ１８に保存されている現状チェックサムの全てにおいて、対応する確認チェックサムと一致するか否かを判定する必要がなる。しかしながら、本実施形態のように、ＲＡＭ１８に記憶されている復元すべきデータが変化したか否かを定期的に判定する場合には、ＲＡＭ１８に保存されている現状チェックサムの何れか１つを、所定時間毎に、対応する確認チェックサムと一致するか判定すれば良い。従って、本実施形態のＡＶアンプにおいては、ユーザによって何等かの操作があったときだけ、ＲＡＭ１８に記憶されている復元すべきデータが変化したか否かを判定する場合に比して、制御部１４の負担を軽減することが可能となる。
【０１２１】
以上、本発明の実施形態について、詳述してきたが、これらはあくまでも例示であって、本発明は、上述の実施形態によって、何等、限定されない。
【０１２２】
例えば、前記第１及び第２の実施形態において、制御部１４が実行する制御処理を専用のハードウェアで行うようにしても良い。
【０１２３】
また、前記第１及び第２の実施形態では、ＡＶ機器としてのＡＶアンプ１０に対して、本発明を適用したものの一具体例について説明したが、本発明は、その他の各種電気機器に対しても、勿論、適用可能である。
【符号の説明】
【０１２４】
１０：ＡＶアンプ、１４：制御部、１８：ＲＡＭ、３４：ＥＥＰＲＯＭ
【図１】
2012137881.tif 000003
【図２】
2012137881.tif 000004
【図３】
2012137881.tif 000005
【図４】
2012137881.tif 000006
【図５】
2012137881.tif 000007
【図６】
2012137881.tif 000008
【図７】
2012137881.tif 000009
【図８】
2012137881.tif 000010
【図９】
2012137881.tif 000011