(57)【要約】【課題】売上データ処理装置において、システム動作状態や設定データの復元を容易に行えるようにする。【解決手段】本発明に係るＥＣＲによれば、ＣＰＵは、ＡＣ電源が遮断された際に、メインメモリ１３のハイバネーション禁止設定領域１３４ａにハイバネーション禁止設定情報が記憶されているか否かに基づいてハイバネーション処理の実行可否を判断し、判断結果に基づいてハイバネーション処理を実行又は禁止させる。ＡＣ電源が供給された際には、ハイバネーション用メモリ１４に記憶されているデータに基づいてシステムを復帰させる。【選択図】図５
2010026791.tif 000002
【特許請求の範囲】
【請求項１】
主電源が遮断された際に、システムの動作状態を示すデータを揮発性記憶手段に退避させる第１の退避処理手段と、
前記第１の退避処理手段による処理後に、前記揮発性記憶手段に記憶されている前記システムの動作状態を含むデータを不揮発性記憶手段に退避させる第２の退避処理手段と、
予め定められた判断基準に基づいて前記第２の退避処理手段による退避処理の実行可否を判断し、この判断結果に基づいて前記第２の退避処理手段による退避処理を実行又は禁止させる制御手段と、
前記主電源が供給された際に、前記不揮発性記憶手段に退避されている前記システムの動作状態を含むデータを前記揮発性記憶手段に読み出し、当該読み出したデータに基づいてシステムを復帰させる復帰手段と、
を備える売上データ処理装置。
【請求項２】
前記復帰手段は、電源キーのＯＮ操作により前記主電源が供給状態となった場合に前記システムの復帰動作を行う請求項１に記載の売上データ処理装置。
【請求項３】
外部記憶手段を接続するための接続手段と、
前記不揮発性記憶手段に退避された前記システムの動作状態を含むデータを前記接続手段に接続された外部記憶手段にダンプするダンプ手段を備える請求項１に記載の売上データ処理装置。
【請求項４】
前記外部記憶手段に記憶されている前記システムの動作状態を含むデータを前記不揮発性記憶手段にロードするロード手段を備える請求項３に記載の売上データ処理装置。
【請求項５】
前記制御手段は、前記外部記憶手段の接続有無に応じて前記第２の退避処理手段による退避処理の実行可否を判断する請求項３又は４に記載の売上データ処理装置。
【請求項６】
前記ロード手段は、前記外部記憶手段に記憶されているデータの前記不揮発性記憶手段へのロード終了後、前記不揮発性記憶手段に設けられた属性情報領域に前記第２の退避処理手段による退避処理の実行を禁止する情報を書込み、
前記制御手段は、前記不揮発性記憶手段の属性情報領域の内容に基づいて、前記第２の退避処理手段による退避処理の実行可否を判断する請求項４に記載の売上データ処理装置。
【請求項７】
前記第２の退避処理の禁止設定を行うための操作手段を備え、
前記制御手段は、前記操作手段により前記第２の退避処理の禁止設定が行われたか否かに基づいて、前記第２の退避処理手段による退避処理の実行可否を判断する請求項１〜４の何れか一項に記載の売上データ処理装置。
【請求項８】
売上データ処理装置に用いられるコンピュータを、
主電源が遮断された際に、システムの動作状態を示すデータを揮発性記憶手段に退避させる第１の退避処理手段、
前記第１の退避処理手段による処理後に、前記揮発性記憶手段に記憶されている前記システムの動作状態を含むデータを不揮発性記憶手段に退避させる第２の退避処理手段、
予め定められた判断基準に基づいて前記第２の退避処理手段による退避処理の実行可否を判断し、この判断結果に基づいて前記第２の退避処理手段による退避処理を実行又は禁止させる制御手段、
前記主電源が供給された際に、前記不揮発性記憶手段に退避されている前記システムの動作状態を含むデータを前記揮発性記憶手段に読み出し、当該読み出したデータに基づいてシステムを復帰させる復帰手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、売上データ処理装置及びプログラムに関する。
【背景技術】
【０００２】
従来、ＥＣＲ（電子レジスタ）等の売上データ処理装置では、主電源が遮断された際のシステムの動作状態を示すデータや各種設定データを電池でバックアップされたメモリに保存しておくことで、停電時や誤操作による主電源の遮断時でもすぐに電源遮断直前の動作状態で起動できるようにしている。
【０００３】
一方、パーソナルコンピュータにおいては、主電源が遮断された際のシステムの動作状態を示すデータや各種設定データをハードディスク等の不揮発性記憶手段に退避するハイバネーション機能が知られている。
【０００４】
ハイバネーション機能についての技術として、例えば、特許文献１には、登録したユーザに対しハイバネーション用の保存エリアを確保し、登録したユーザについてハイバネーション機能を利用可能とする技術が記載されている。
【特許文献１】特開２００１−１３４３３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ＥＣＲには、設定データを含むメモリ上のデータを初期化して起動を行うことを指示するためのＩＮＩＴキー、設定データを残して他のメモリ上のデータを初期化して起動を行うことを指示するためのＦＣキーが備えられている。誤ってこれらのＩＮＩＴキーやＦＣキーを操作して立ち上げを行うと、メモリ上の設定データ等が消去されてしまうため、設定のやり直しや取引の登録処理のやり直しが必要となる。このような状況は、上述の特許文献１のようなハイバネーション機能を備えたＥＣＲであっても同様である。即ち、一旦メモリが初期化された後、主電源を遮断すると、ハイバネーション処理により初期化後のメモリの内容が不揮発性記憶手段に退避されてしまうため、次に主電源が投入された場合には初期化されたメモリの内容で立ち上げが行われてしまう。
【０００６】
特許文献１においても、ハイバネーション機能を利用可能なユーザがＩＮＩＴキーやＦＣキーを誤って操作した場合、設定のやり直し等が生じる問題は解決できない。また、ハイバネーション機能を利用不可能なユーザについては、そもそもハイバネーション機能によりデータを退避するための保存エリアが割り当てられないのでデータを退避しておくことも不可能である。
【０００７】
また、修理に際して部品交換後に検査プログラムを起動する場合、メモリ上のデータが検査プログラムにより書き換わってしまうため、検査後にユーザが使用していたときのシステム動作状態に戻すためには一度バックアップデータをとり、修理後、バックアップデータを戻す作業が必要であった。
【０００８】
更に、一のＥＣＲのシステム動作状態をそのまま他のＥＣＲに移行したい場合、システム動作状態を示すデータや設定データの移行作業が煩雑であった。
【０００９】
本発明の課題は、売上データ処理装置において、システム動作状態や設定データの復元を容易に行えるようにすることである。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、請求項１に記載の発明の売上データ処理装置は、
主電源が遮断された際に、システムの動作状態を示すデータを揮発性記憶手段に退避させる第１の退避処理手段と、
前記第１の退避処理手段による処理後に、前記揮発性記憶手段に記憶されている前記システムの動作状態を含むデータを不揮発性記憶手段に退避させる第２の退避処理手段と、
予め定められた判断基準に基づいて前記第２の退避処理手段による退避処理の実行可否を判断し、この判断結果に基づいて前記第２の退避処理手段による退避処理を実行又は禁止させる制御手段と、
前記主電源が供給された際に、前記不揮発性記憶手段に退避されている前記システムの動作状態を含むデータを前記揮発性記憶手段に読み出し、当該読み出したデータに基づいてシステムを復帰させる復帰手段と、
を備える。
【００１１】
請求項２に記載の発明は、請求項１に記載の発明において、
前記復帰手段は、電源キーのＯＮ操作により前記主電源が供給状態となった場合に前記システムの復帰動作を行う。
【００１２】
請求項３に記載の発明は、請求項１に記載の発明において、
外部記憶手段を接続するための接続手段と、
前記不揮発性記憶手段に退避された前記システムの動作状態を含むデータを前記接続手段に接続された外部記憶手段にダンプするダンプ手段を備える。
【００１３】
請求項４に記載の発明は、請求項３に記載の発明において、
前記外部記憶手段に記憶されている前記システムの動作状態を含むデータを前記不揮発性記憶手段にロードするロード手段を備える。
【００１４】
請求項５に記載の発明は、請求項３又は４に記載の発明において、
前記制御手段は、前記外部記憶手段の接続有無に応じて前記第２の退避処理手段による退避処理の実行可否を判断する。
【００１５】
請求項６に記載の発明は、請求項４に記載の発明において、
前記ロード手段は、前記外部記憶手段に記憶されているデータの前記不揮発性記憶手段へのロード終了後、前記不揮発性記憶手段に設けられた属性情報領域に前記第２の退避処理手段による退避処理の実行を禁止する情報を書込み、
前記制御手段は、前記不揮発性記憶手段の属性情報領域の内容に基づいて、前記第２の退避処理手段による退避処理の実行可否を判断する。
【００１６】
請求項７に記載の発明は、請求項１〜４の何れか一項に記載の発明において、
前記第２の退避処理の禁止設定を行うための操作手段を備え、
前記制御手段は、前記操作手段により前記第２の退避処理の禁止設定が行われたか否かに基づいて、前記第２の退避処理手段による退避処理の実行可否を判断する。
【００１７】
請求項８に記載の発明のプログラムは、
売上データ処理装置に用いられるコンピュータを、
主電源が遮断された際に、システムの動作状態を示すデータを揮発性記憶手段に退避させる第１の退避処理手段、
前記第１の退避処理手段による処理後に、前記揮発性記憶手段に記憶されている前記システムの動作状態を含むデータを不揮発性記憶手段に退避させる第２の退避処理手段、
予め定められた判断基準に基づいて前記第２の退避処理手段による退避処理の実行可否を判断し、この判断結果に基づいて前記第２の退避処理手段による退避処理を実行又は禁止させる制御手段、
前記主電源が供給された際に、前記不揮発性記憶手段に退避されている前記システムの動作状態を含むデータを前記揮発性記憶手段に読み出し、当該読み出したデータに基づいてシステムを復帰させる復帰手段、
として機能させる。
【発明の効果】
【００１８】
本発明によれば、売上データ処理装置において、システム動作状態や設定データの復元を容易に行うことが可能となる。
【発明を実施するための最良の形態】
【００１９】
（実施形態１）
まず、本発明の実施形態１について説明する。
図１に、実施形態１におけるＥＣＲ１の機能構成例を示す。
ＥＣＲ１は、店舗に設けられ、オペレータの操作に基づいて商品取引の登録処理（取引された日時、商品名、商品の売上個数、売上金額のデータ、担当者等の登録処理）、点検処理、精算処理、店舗内の売上集計等を行う売上データ処理装置である。ＥＣＲ１としては、例えば、電子レジスタ等が適用可能である。
【００２０】
図１に示すように、ＥＣＲ１は、ＣＰＵ１０と、プログラム格納メモリ１２と、メインメモリ１３と、ハイバネーション用メモリ１４と、メイン表示装置１５１と、サブ表示装置１５２と、ＬＥＤ１６と、印字装置１７と、入力装置１８と、ストレージＩ／Ｆ１９と、通信部２０と、を備えて構成され、各部は２１を介して接続されて構成されている。
【００２１】
ＣＰＵ（Central Processing Unit）１０は、ＥＣＲ１の各部を集中制御する。例えば、ＣＰＵ１０は、プログラム格納メモリ１２に記憶されている各種プログラムをメインメモリ１３に展開し、メインメモリ１３に展開されたプログラムとの協働で、各種処理を実行する。
【００２２】
例えば、ＣＰＵ１０は、ＡＣ電源状態監視回路３４（図３参照）からＡＣ電源供給を通知する信号が入力されると、プログラム格納メモリ１２に記憶されている起動処理プログラム及び終了処理プログラムをメインメモリ１３の起動処理・終了処理用ワークエリア１３１（図２参照）に読み出して、読み出した起動処理プログラムとの協働により起動処理を実行する。また、ＣＰＵ１０は、動作中にＡＣ電源状態監視回路３４からＡＣ電源遮断を通知する信号が入力されると、メインメモリ１３に記憶されている終了処理プログラムとの協働により、サスペンド処理（第１の退避処理）、ハイバネーション処理（第２の退避処理）を含む終了処理を実行し、制御手段としての機能を実現する。
【００２３】
ここで、本実施形態において、サスペンド処理とは、ＡＣ電源３１の遮断時にＣＰＵ１０のシステム動作状態を示すデータ（プログラムカウンタ（ＰＣ）、スタックポインタ（ＳＰ）、レジスタ、システムデータ等）を揮発性のメインメモリ１３に退避する処理をいう。ハイバネーション処理とは、メインメモリ１３に退避されているデータを更に不揮発性のハイバネーション用メモリ１４に退避する処理をいう。
【００２４】
また、ＣＰＵ１０は、オペレータによる入力装置１８の操作に応じたプログラムを起動させ、商品取引の登録処理、点検処理、精算処理、店舗内の売上集計処理等を行う。
【００２５】
ＲＴＣ（Real Time Clock）１１は、計時回路を内蔵し、現在時刻及び現在日付を計時してＣＰＵ１０に出力する。ＲＴＣ１１は、ＲＴＣバックアップ電源１１１が備えられており、ＡＣ電源３１及びバックアップ用電源３２が遮断状態でも動作可能となっている。
【００２６】
プログラム格納メモリ１２は、不揮発性のＲＯＭ（Read Only Memory）等により構成され、図２に示すように、ＥＣＲ１で実行可能な各種プログラムやＥＣＲ１の固有データ（例えば、ＥＣＲ１の機種を特定するための機種別データ、ＭＡＣアドレス、タッチパネルキャリブレーションデータ等）を記憶する。
【００２７】
メインメモリ１３は、ＣＰＵ１０によって実行される各種プログラム及びこれらプログラムに係る各種データ等を記憶する揮発性記憶手段である。
メインメモリ１３は、図２に示すように、起動処理・終了処理用ワークエリア１３１、サスペンド用エリア１３２、コピー領域１３３、システムデータ領域１３４、設定データ領域１３５、ユーザデータ領域１３６を有している。
起動処理・終了処理用ワークエリア１３１は、ＡＣ電源投入時にＣＰＵ１０によりプログラム格納メモリ１２から読み出された起動処理プログラム、終了処理プログラム（サブルーチンの処理を含む）を記憶するとともに、これらのプログラムが動作するためのワークエリアである。
サスペンド用エリア１３２は、サスペンド処理において、ＣＰＵ１０のシステム動作状態（プログラムカウンタ（ＰＣ）、スタックポインタ（ＳＰ）、レジスタ、システムデータ等）を退避するための領域である。
コピー領域１３３は、プログラム格納メモリ１２に記憶されているプログラムのコピーを書込むための領域である。
システムデータ領域１３４は、スタック、変数やＯＳのシステムデータを記憶する領域である。
設定データ領域１３５は、入力装置１８を介して設定された周辺機器（メイン表示装置１５１、サブ表示装置１５２、印字装置１７、入力装置１８等）に関する各種設定データを記憶する領域である。設定データは、例えば、メイン表示装置１５１やサブ表示装置１５２の表示輝度設定情報、コントラスト情報、印字装置１７の通信設定等が挙げられる。
ユーザデータ領域１３６は、入力装置１８を介して入力された売上データや、周辺機器の動作用データ（例えば、メイン表示装置１５１で表示中の表示データ、印字装置１７に印字させる印字データ等、周辺機器の動作時に使用されるデータ）含むユーザデータを記憶する領域である。
【００２８】
ハイバネーション用メモリ１４は、フラッシュメモリ等の不揮発性メモリにより構成され、ＡＣ電源遮断時にメインメモリ１３に記憶されているデータを退避するための不揮発性記憶手段である。本実施の形態において、ハイバネーション用メモリ１４は、ＣＰＵ１０から書込み指示されたデータの上位Ｂｉｔを格納するためのハイバネーション用メモリ１４ａ、ＣＰＵ１０から書込み指示されたデータの下位Ｂｉｔを格納するためのハイバネーション用メモリ１４ｂを備えて構成されている。ハイバネーション処理におけるデータの書込み速度を向上させるためである。
【００２９】
ハイバネーション用メモリ１４（ハイバネーション用メモリ１４ａ、１４ｂ）は、図２に示すように、ヘッダ領域１４１、バックアップ領域１４２、チェックサム格納領域１４３を有している。ヘッダ領域１４１は、ハイバネーション処理が完了したことを示すハイバネーション完了フラグを設定するためのハイバネーション完了フラグ領域１４１ａを有する領域である。バックアップ領域１４２は、ハイバネーション処理において、メインメモリ１３の起動処理・終了処理用ワークエリア１３１以外の領域のデータを退避するための領域である。チェックサム格納領域１４３は、ハイバネーション処理において算出されたチェックサムを書込むための領域である。
【００３０】
メイン表示装置１５１、サブ表示装置１５２は、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ(Electro-Luminescence)ディスプレイ等により構成され、ＣＰＵ１０から入力される表示信号の指示に従って、各種画面を表示する。メイン表示装置１５１は、オペレータ側に向けて設けられた表示装置であり、サブ表示装置１５２は、顧客側に向けて設けられた表示装置である。
【００３１】
ＬＥＤ（Light Emitting Diode）１６は、ＣＰＵ１０から入力される指示信号に応じて駆動され、点灯、点滅する。
【００３２】
印字装置１７は、例えば、サーマルプリンタ(感熱式プリンタ)であり、レシート用、ジャーナル用のロール紙(感熱紙)を有し、ＣＰＵ１０から入力される指示信号に従って、各ロール紙に対して金額等のデータをプリントアウトする。  
【００３３】
入力装置１８は、ＡＣ電源３１を遮断（ＯＦＦ）／供給（ＯＮ）を切り替えるための電源キー、カーソルキー、文字、数字入力キー、ハイバネーション禁止キー及び各種機能キーなどを備えたレジ用のキーボードを含む構成とし、オペレータによる各キーの操作信号をＣＰＵ１０に出力する。ハイバネーション禁止キーは、ハイバネーション処理の禁止設定を行うための操作手段である。入力装置１８は、メイン表示装置１５１の画面上に設けられたタッチパネルにより構成することとしてもよい。また、入力装置１８は、商品に設けられたバーコードを読み取るバーコードリーダやバーコードスキャナ等を備えることとしてもよい。
【００３４】
ストレージＩ／Ｆ１９は、ＣＦ（CompactFlash）カード、ＳＤカード（Secure Digital Card）等の外部ストレージ１９ａを接続可能であり、外部ストレージ１９ａとのデータの入出力を行うための接続手段である。
【００３５】
通信部２０は、ＬＡＮアダプタやルータ等により構成され、ＬＡＮやインターネット等の通信ネットワークを介して外部サーバ１００等の外部機器とデータ送受信を行う。
【００３６】
図３に、ＥＣＲ１における電源系の構成例を示す。
図３に示す電源生成回路３３は、ＡＣ電源３１と、スイッチ３５を介してバックアップ用電源（充電池）３２に接続されている。電源生成回路３３は、ＡＣ電源３１から入力されたＡＣ（交流）電源電力をＤＣ（直流）電源電力に変換し、図１に示す各部にそれぞれ供給する。また、電源生成回路３３は、スイッチ３５を介してバックアップ用電源３２から入力された電源電力をＣＰＵ１０、ＲＴＣ１１、プログラム格納メモリ１２、メインメモリ１３及びハイバネーション用メモリ１４ａ、１４ｂ、ＬＥＤ１６に供給する。
ＡＣ電源状態監視回路３４は、ＡＣ電源３１の状態を監視し、ＡＣ電源３１から電源が供給されている間は、ＡＣ電源供給を通知する信号（ＨＩＧＨ信号）をＣＰＵ１０に出力し、ＡＣ電源３１から電源が遮断されている間は、ＡＣ電源遮断を通知する信号（ＬＯＷ信号）をＣＰＵ１０に出力する。
スイッチ３５は、ＣＰＵ１０からのバックアップ用電源ＯＮ／ＯＦＦスイッチ切り替え制御信号に基づいて、バックアップ電源３２のＯＮ／ＯＦＦを切り替える。
【００３７】
このように、ＡＣ電源３１が供給状態の場合、ＥＣＲ１の各部にＡＣ電源３１からの電源が供給される。ＡＣ電源３１が遮断されると、ＣＰＵ１０からの制御に基づいて、ＣＰＵ１０、ＲＴＣ１１、プログラム格納メモリ１２、メインメモリ１３及びハイバネーション用メモリ１４ａ、１４ｂ、ＬＥＤ１６にバックアップ用電源３２からの電源が供給される。なお、ＡＣ電源３１遮断後一定時間内は回路的に電源が保持されている。この一定時間内にＣＰＵ１０はバックアップ用電源３２をＯＮに切り替え、ＣＰＵ動作電源、メモリ動作電源を維持する。
【００３８】
次に、実施形態１におけるＥＣＲ１の主要な動作についてフローチャートを参照して詳細に説明する。
【００３９】
〔ハイバネーション禁止設定処理〕
まず、ハイバネーション禁止設定処理について説明する。
図４に、ＣＰＵ１０により実行されるハイバネーション禁止設定処理のフローを示す。当該処理は、ＣＰＵ１０とハイバネーション禁止設定処理プログラムとの協働によるソフトウエア処理により実現される。
【００４０】
ハイバネーション禁止キーが操作されると（ステップＳ１；ＹＥＳ）、メインメモリ１３のハイバネーション禁止設定領域１３４ａにハイバネーション処理を禁止することを示すハイバネーション設定情報が記憶され（ステップＳ２）、本処理は終了する。
【００４１】
〔終了処理〕
次に、ＡＣ電源監視回路３４によりＡＣ電源遮断を通知する信号が入力された際に、ＣＰＵ１０により実行される終了処理について説明する。
図５に、終了処理のフローを示す。当該処理は、ＣＰＵ１０と終了処理プログラムとの協働によるソフトウエア処理により実現される。
【００４２】
まず、サスペンド処理が実行され、ＣＰＵ１０に記憶されているプログラムカウンタ、スタックポインタ、レジスタ、システムデータ等がメインメモリ１３のサスペンド用エリア１３２に退避（記憶）される（ステップＳ１１）。
【００４３】
次いで、ハイバネーション禁止設定領域１３４ａにハイバネーション禁止設定情報が設定されているか否かが判断され、ハイバネーション禁止設定情報が設定されていると判断されると（ステップＳ１２；ＹＥＳ）、本処理は終了する。
【００４４】
一方、ハイバネーション禁止設定情報が設定されていないと判断されると（ステップＳ１２；ＮＯ）、スイッチ３５がＯＮに切り替えられることにより、バックアップ用電源３２がＯＮに切り替えられる（ステップＳ１３）。そして、ハイバネーション処理が実行され、メインメモリ１３における起動処理・終了処理用ワークエリア１３１以外の領域のデータがハイバネーション用メモリ１４に退避される（ステップＳ１４）。なお、ハイバネーション処理実行中にＡＣ電源監視回路３４によりＡＣ電源供給状態を通知する信号が入力されると、本処理は中断され、図１０ａ〜図１０ｂに示す起動処理が実行される。
【００４５】
図６に、図５のステップＳ１４においてＣＰＵ１０により実行されるハイバネーション処理のフローを示す。当該処理は、ＣＰＵ１０と終了処理プログラムとの協働によるソフトウエア処理により実現される。
【００４６】
ハイバネーション処理においては、まず、ＬＥＤ１６の点滅が開始され（ステップＳ２０１）、書込みエリア消去処理が実行される（ステップＳ２０２）。
図７に、書込みエリアの消去処理のフローを示す。
図７に示すように、書込みエリアの消去処理においては、まず、ハイバネーション用メモリ１４ａ、１４ｂの全領域が消去済みであるか否かが判断される（ステップＳ１００１１）。全領域が消去済みであると判断されると（ステップＳ１００１；ＹＥＳ）、処理は図６のステップＳ２０３に移行する。
【００４７】
ハイバネーション用メモリ１４ａ、１４ｂの全領域が消去済みではないと判断されると（ステップＳ１００１；ＮＯ）、１ブロック分のデータ消去がハイバネーション用メモリ１４ａ、１４ｂに指示される（ステップＳ１００２）。ここで、１ブロックとは、一度に消去可能なデータサイズを示す。
【００４８】
次いで、ＡＣ電源状態監視回路３４から入力されるＡＣ電源状態を示す信号が監視され、ＡＣ電源３１が供給状態であるか否かが判断される（ステップＳ１００３）。ＡＣ電源３１が遮断状態であると判断されると（ステップＳ１００３；ＡＣ電源遮断状態）、  ハイバネーション用メモリ１４ａ、１４ｂにおいて、１ブロックの消去が完了したか否かが判断される。ここで、ハイバネーション用メモリ１４ａ、１４ｂにおいては、１ブロック分のデータ消去が終了すると、ＣＰＵ１０にブロック消去完了が通知される。１ブロックの消去が完了していないと判断されると（ステップＳ１００４；ＮＯ）、処理はステップＳ１００３に戻る。
【００４９】
１ブロックの消去が完了したと判断されると（ステップＳ１００４；ＹＥＳ）、ハイバネーション用メモリ１４ａ、１４ｂの全領域の消去が完了したか否かが判断され、完了していないと判断されると（ステップＳ１００５；ＮＯ）、処理はステップＳ１００２に戻り、次のブロックについての消去が実行される。ハイバネーション用メモリ１４ａ、１４ｂの全領域の消去が完了したと判断されると（ステップＳ１００５；ＹＥＳ）、処理は図６のステップＳ２０３に移行する。
【００５０】
一方、ステップＳ１００３において、ＡＣ電源３１が供給状態であると判断されると（ステップＳ１００３；ＡＣ電源供給状態）、スイッチ３５によりバックアップ用電源３２がＯＦＦに切り替えられ（ステップＳ１００６）、本処理は中断され、図１０ａ〜図１０ｂに示す起動処理（ハイバネーション中断リスタート）に移行する。
【００５１】
図６のステップＳ２０３においては、書込み処理が実行される。
図８に、書込み処理のフローを示す。
図８に示すように、書込み処理においては、まず、メインメモリ１３の起動処理・終了処理用ワークエリア１３１以外の領域に記憶されているデータがハイバネーション用メモリ１４ａ、１４ｂに１ブロック分ずつ転送され、１ブロック分のデータ書込みが指示される。ここで、１ブロックとは、ハイバネーション用メモリ１４ａ、１４ｂにおいて一度に書込み可能なデータサイズを示す。また、ハイバネーション用メモリ１４ａには、データの上位Ｂｉｔ（例えば、８Ｂｉｔデータであれば上位４Ｂｉｔ）が１ブロック分転送され、ハイバネーション用メモリ１４ｂには、データの下位Ｂｉｔ（例えば、８Ｂｉｔデータであれば下位４Ｂｉｔ）が１ブロック分転送される。
【００５２】
次いで、ＡＣ電源状態監視回路３４から入力されるＡＣ電源状態を示す信号が監視され、ＡＣ電源３１が供給状態であるか否かが判断される（ステップＳ２００２）。ＡＣ電源３１が遮断状態であると判断されると（ステップＳ２００２；ＡＣ電源遮断状態）、  ハイバネーション用メモリ１４ａ、１４ｂにおいて、１ブロックの書込みが完了したか否かが判断される（ステップＳ２００３）。ここで、ハイバネーション用メモリ１４ａ、１４ｂにおいては、１ブロック分のデータ書込みが終了すると、ＣＰＵ１０にブロック書込み完了が通知される。１ブロックの書込みが完了していないと判断されると（ステップＳ２００３；ＮＯ）、処理はステップＳ２００２に戻る。
【００５３】
１ブロックの書込みが完了したと判断されると（ステップＳ２００３；ＹＥＳ）、メインメモリ１３の起動処理・終了処理用ワークエリア１３１以外の全領域のデータの書込みが完了したか否かが判断され、完了していないと判断されると（ステップＳ２００４；ＮＯ）、処理はステップＳ２００１に戻り、次のブロックについての書込みが実行される。メインメモリ１３の起動処理・終了処理用ワークエリア１３１以外の全領域のデータの書込みが完了したと判断されると（ステップＳ２００４；ＹＥＳ）、処理は図６のステップＳ２０４に移行する。
【００５４】
一方、ステップＳ２００２において、ＡＣ電源３１が供給状態であると判断されると（ステップＳ２００２；ＡＣ電源供給状態）、スイッチ３５によりバックアップ用電源３２がＯＦＦに切り替えられ（ステップＳ２００５）、本処理は中断され、図１０ａ〜図１０ｂに示す起動処理（ハイバネーション中断リスタート）に移行する。
【００５５】
図６のステップＳ２０４においては、書込み内容保証処理が実行される。
図９に、書込み内容保証処理のフローを示す。
図９に示すように、書込み内容保証処理においては、まず、メインメモリ１３に記憶されているハイバネーション用メモリ１４ａ、１４ｂへの書込み対象となったデータ、具体的には、起動処理・終了処理用ワークエリア１３１以外の領域に書込まれたデータと、ハイバネーション用メモリ１４ａ、１４ｂに書込まれたデータのベリファイ処理（誤り検査）が実行される（ステップＳ３００１）。なお、ベリファイ処理により誤りがあった場合は、ハイバネーション処理を再実行することが好ましい。
【００５６】
次いで、メインメモリ１３上における書込み対象となったデータのチェックサム（合計値）が算出され（ステップＳ３００２）、算出されたチェックサムがハイバネーション用メモリ１４ａ、１４ｂのチェックサム格納領域１４３に書込まれる（ステップＳ３００３）。そして、ハイバネーション用メモリ１４ａ、１４ｂのヘッダ領域１４１にハイバネーション完了を示すハイバネーション完了フラグ１４１ａがＯＮに設定され（ステップＳ３００４）、処理は図６のステップＳ２０５に移行する。
【００５７】
図６のステップＳ２０５においては、ＬＥＤ１６の点滅が停止され（ステップＳ２０５）、ハイバネーション処理は終了し、図５のステップＳ１５に移行する。
【００５８】
図５のステップＳ１５においては、スイッチ３５によりバックアップ用電源３２がＯＦＦに切替られ、終了処理は終了する。
【００５９】
上述の終了処理においては、ハイバネーション禁止設定情報が設定されている場合はハイバネーション処理が実行されないので、ハイバネーション用メモリ１４のデータが書き換えられることがない。従って、今回のＡＣ電源遮断直前のシステム状態でなく、その前のＡＣ電源遮断直前のシステム動作状態でＡＣ電源供給時にシステムを復帰させたい場合に有効である。
【００６０】
〔起動処理〕
バックアップ用電源３２がＯＦＦに切り替えられた後、電源キーがＯＮ操作される等によりＡＣ電源３１が遮断状態から供給状態となると、ＣＰＵ１０により、プログラム格納メモリ１２の起動処理プログラム及び終了処理プログラムがメインメモリ１３の起動処理・終了処理用ワークエリア１３１に読み出される。そして、図１０ａ〜図１０ｂに示す起動処理が実行される。
【００６１】
図１０ａ〜図１０ｂに、起動処理のフローを示す。当該処理は、ＣＰＵ１０と起動処理プログラムとの協働によるソフトウエア処理により実現される。ここで、起動処理は図１０ａに示す「リセットスタート」の位置から開始されるが、ハイバネーション処理中断時においては、ハイバネーション処理プログラムによって図１０ａに示す「ハイバネーション中断リスタート」の位置への移行が指示されているため、「ハイバネーション中断リスタート」の位置から処理が開始される。
【００６２】
「リセットスタート」から処理が開始された場合、まず、システム初期化処理が実行される（ステップＳ２０）。システム初期化処理とは、ＣＰＵ１０がこれから使用するシステム環境を認識し、システムを確立させるための処理である。例えば、どのようなメモリが接続されているかをＣＰＵ１０が認識する処理等が挙げられる。
次いで、リセットスタートであることを示すスタート情報がメインメモリ１３の起動処理・終了処理用ワークエリア１３１に設定され（ステップＳ２１）、処理はステップＳ２４に移行する。
【００６３】
「ハイバネーション中断リスタート」から処理が開始された場合、まず、ハイバネーション用システム初期化処理が実行される（ステップＳ２２）。ハイバネーション処理を中断して起動処理が開始された場合にはＣＰＵ１０は動作中であるので、システム初期化処理の全てを行う必要はない。そこで、ステップＳ２２においては、例えば、ＣＰＵ１０内のキャッシュ情報の初期化等、一部の初期化処理が行われる。
次いで、ハイバネーション中断リスタートであることを示すスタート情報がメインメモリ１３の起動処理・終了処理用ワークエリア１３１に設定され（ステップＳ２３）、処理はステップＳ２４に移行する。
【００６４】
ステップＳ２４においては、メイン表示装置１５１、サブ表示装置１５２、印字装置１７、入力装置１８等の周辺機器のドライバが初期化される（ステップＳ２４）。
【００６５】
次いで、入力装置１８のＩＮＩＴキーが押下されたか否かが判断される（ステップＳ２５）。ここで、ＩＮＩＴキー(イニシャルキー)は、ＥＣＲ１の設置の際にディーラーが使用するキーであり、メインメモリ１３上の起動処理・終了処理用ワークエリア１３１以外の領域のデータ、即ち、設定データやユーザデータを含む全てのデータを初期化することを指示するためのキーである。入力装置１８の電源キーがＯＦＦされた後、ＩＮＩＴキーを押しながら電源キーがＯＮに切り替えられると、ＩＮＩＴキーが有効となる。即ち、ＩＮＩＴキーが押下されるタイミングでは、ほとんどの場合、ハイバネーション処理中断後のリスタートとなる。
【００６６】
ＩＮＩＴキーが押下された場合（ステップＳ２５；ＹＥＳ）、処理は図１０ｂのステップＳ４５に移行し、プログラム格納メモリ１２のデータに誤りがないかチェックが行われる。チェック結果がＯＫである場合（ステップＳ４５；ＯＫ）、プログラム格納メモリ１２のプログラムがメインメモリ１３のコピー領域１３３にコピーされ（ステップＳ４６）、ＥＣＲ１がＩＮＩＴ状態にて起動され（ステップＳ４７）、本処理は終了する。ＩＮＩＴ状態にて起動とは、メインメモリ１３のサスペンド用エリア１３２、システムデータ領域１３４、設定データ領域１３５、ユーザデータ領域１３６のデータが消去された後、起動されることを意味する。チェック結果がＮＧである場合（ステップＳ４５；ＮＧ）、システムエラーが発生したことを示すシステムエラーメッセージ、例えば「システムエラー」という文字列がメイン表示装置１５１に表示され（ステップＳ４８）、本処理は終了する。
【００６７】
ＩＮＩＴキーが押下されていない場合（ステップＳ２５；ＮＯ）、ＦＣキーが押下されたか否かが判断される（ステップＳ２６）。ここで、ＦＣキー（フラグクリアキー）は、メインメモリ１３上において設定データを残してデータを初期化することを指示するためのキーである。入力装置１８の電源キーがＯＦＦされた後、ＦＣキーを押しながら電源キーがＯＮに切り替えられると、ＦＣキーが有効となる。即ち、ＦＣキーが押下されるタイミングでは、ほとんどの場合、ハイバネーション処理中断後のリスタートとなる。ＦＣキーが押下されていない場合（ステップＳ２６；ＮＯ）、処理は図１０ｂのステップＳ２８に移行する。ＦＣキーが押下されている場合（ステップＳ２６；ＹＥＳ）、ＦＣキー検知済みを示すフラグがメインメモリ１３上の起動処理・終了処理用ワークエリア１３１に設定され（ステップＳ２７）、処理はステップＳ２８に移行する。
【００６８】
ステップＳ２８においては、ハイバネーション処理中断後のリスタートであるか否かが判断される。具体的に、起動処理・終了処理用ワークエリア１３１に設定されているスタート情報が参照され、設定されているスタート情報がハイバネーション中断リスタートであることを示す情報である場合は、ハイバネーション処理中断後のリスタートであると判断される。設定されているスタート情報がリセットスタートであることを示す情報である場合は、ハイバネーション処理中断後のリスタートではないと判断される。ハイバネーション処理中断後のリスタートであると判断されると（ステップＳ２８；ＹＥＳ）、処理はステップＳ３３に移行する。即ち、ステップＳ２９〜Ｓ３２の処理がスキップされる。ハイバネーション処理中断後のリスタートである場合、メインメモリ１３にＡＣ電源遮断時のメインメモリ１３上のデータがそのまま残されているので、ハイバネーション用メモリ１４からデータを復帰する必要はない。
【００６９】
ハイバネーション処理中断後のリスタートではないと判断されると（ステップＳ２８；ＮＯ）、ハイバネーション用メモリ１４のハイバネーション完了フラグ１４１ａがチェックされる。ハイバネーション完了フラグ１４１ａがＯＮに設定されている場合（ステップＳ２９；ＹＥＳ）、チェックサムの検証が行われる（ステップＳ３０）。即ち、チェックサム格納領域１４３に記憶されているチェックサムとバックアップ領域１４２に記憶されているデータの合計値とが一致するか否かの検証が行われる。チェックサムの検証結果がＯＫである場合（ステップＳ３０；ＯＫ）、ハイバネーション用メモリ１４のバックアップ領域１４２に記憶されているデータがメインメモリ１３に書き戻される（ステップＳ３１）。
【００７０】
次いで、メインメモリ１３に書き戻されたプログラムに誤りがないかチェックが行われる（ステップＳ３２）。チェック結果がＯＫである場合（ステップＳ３２；ＯＫ）、ＦＣキーが検知済みであるか否かが判断される（図１０ｂのステップＳ３３）。ＦＣキーが検知済みではないと判断されると（ステップＳ３３；ＮＯ）、復帰手段としてシステムを復帰させる処理が行われる。即ち、サスペンド用エリア１３２上のプログラムカウンタ、スタックポインタ、レジスタ、システムデータがＣＰＵ１０に書き戻される（ステップＳ３４）。また、周辺機器に設定データや動作用データ等が送信される（ステップＳ３５）。例えば、メイン表示装置１５１にメインメモリ１３の設定データ領域１３５に記憶されているコントラスト情報やユーザデータ領域１３６に記憶されている表示データが送信される。また、例えば、印字装置１７にメインメモリ１３の設定データ領域１３５に記憶されている印字データ等が送信される。そして、システムの動作が復帰され（ステップＳ３６）、本処理は終了する。
【００７１】
一方、ＦＣキーが検知済みであると判断されると（ステップＳ３３；ＹＥＳ）、処理は図１０ｂのステップＳ３７に移行し、プログラム格納メモリ１２のデータに誤りがないかチェックが行われる。チェック結果がＯＫである場合（ステップＳ３７；ＯＫ）、プログラム格納メモリ１２のプログラムがメインメモリ１３のコピー領域１３３にコピーされ（ステップＳ３８）、ＥＣＲ１がＦＣ状態にて起動され（ステップＳ３９）、本処理は終了する。ＦＣ状態にて起動とは、メインメモリ１３のサスペンド用エリア１３２、システムデータ領域１３４、ユーザデータ領域１３６のデータが消去された後、起動されることを意味する。チェック結果がＮＧである場合（ステップＳ３７；ＮＯ）、システムエラーが発生したことを示すシステムエラーメッセージ、例えば「システムエラー」という文字列がメイン表示装置１５１に表示され（ステップＳ４０）、本処理は終了する。
【００７２】
一方、ステップＳ２９でハイバネーション完了フラグがＯＮでないと判断された場合（ステップＳ２９；ＮＯ）、ステップＳ３０でチェックサムの検証がＮＧであると判断された場合（ステップＳ３０；ＮＧ）、又は、ステップＳ３２でメインメモリ１３のプログラムチェック結果がＮＧである場合（ステップＳ３２；ＮＧ）、処理は図１０ｂのステップＳ４１に移行し、プログラム格納メモリ１２のデータに誤りがないかチェックが行われる。チェック結果がＯＫである場合（ステップＳ４１；ＯＫ）、プログラム格納メモリ１２のプログラムがメインメモリ１３のコピー領域１３３にコピーされ（ステップＳ４２）、ＥＣＲ１がバックアップエラー状態にて起動され（ステップＳ４３）、本処理は終了する。バックアップエラー状態にて起動とは、メイン表示装置１５１に「バックアップエラーが発生しました」等のメッセージが表示され、メインメモリ１３のサスペンド用エリア１３２、システムデータ領域１３４、設定データ領域１３５、ユーザデータ領域１３６のデータが消去された後、起動されることを意味する。プログラムのチェック結果がＮＧである場合（ステップＳ４１；ＮＧ）、システムエラーが発生したことを示すシステムエラーメッセージ、例えば「システムエラー」という文字列がメイン表示装置１５１に表示され（ステップＳ４４）、本処理は終了する。
【００７３】
図１１に、ハイバネーション禁止設定がなされていない場合のＡＣ電源３１の電源遮断直前のメイン表示装置１５及びＡＣ電源３１の電源供給後のメイン表示装置１５１の画面表示例を示す。図１１では、売上データの登録処理中に停電等によりＡＣ電源３１が遮断された場合を示している。上述のように、終了処理では、ハイバネーション禁止設定がなされていない場合、ＣＰＵ１０のプログラムカウンタ、スタックポインタ、レジスタ等のシステムデータがメインメモリ１３に退避され、バックアップ電源３２のＯＦＦ前に更に不揮発性メモリであるハイバネーション用メモリ１４に退避される。再度ＡＣ電源３１が供給された場合には、メインメモリ１３上（又はハイバネーション用メモリ１４）からプログラムカウンタ、スタックポインタ、レジスタ等のシステムデータがＣＰＵ１０に読み出される。そのため、再度ＡＣ電源３１が供給された場合、中断された登録処理プログラムの処理の実行位置をＡＣ電源遮断直前の状態に戻すことができ、図１１に示すように、ＡＣ電源遮断時と同じ画面がメイン表示装置１５１に表示される。ユーザは、ＡＣ電源遮断前に行った登録をやり直すことなく、登録処理を継続して実行することが可能となる。
【００７４】
図１２に、ハイバネーション禁止設定がなされている場合に、ユーザが電源キーのＯＦＦ操作（Ａ１）→ＩＮＩＴ起動操作（Ａ３）→電源キーのＯＦＦ操作（Ａ４）→電源キーのＯＮ操作（Ａ５）を行った場合のメインメモリ１３とハイバネーション用メモリ１４の状態を示す。
図１２に示すように、ＡＣ電源３１がＯＦＦ（遮断）されると（Ａ１）、上記終了処理におけるハイバネーション処理によってメインメモリ１３のデータがハイバネーション用メモリ１４に退避（バックアップ）される（Ａ２）。その後、誤ってユーザがＩＮＩＴキーを押下しながら起動してしまうと（Ａ３）、メインメモリ１３が初期化され、メインメモリ１３内のデータが消えてしまう。例えば、あるお店の営業終了後、電源キーをＯＦＦし、次の日に誤ってＩＮＩＴ起動してしまうと、メインメモリ１３上に記憶されていた取引データや設定データ等が全て初期化されて消失してしまう。
しかし、ハイバネーション用メモリ１４上には、メインメモリ１３上から消失したデータがバックアップされている。そこで、ハイバネーション禁止設定を行って一度電源キーをＯＦＦ操作する（Ａ４）。ハイバネーション禁止設定がなされていれば終了処理においてハイバネーション用メモリ１４の書き換えが省略されるので、ハイバネーション用メモリ１４に記憶されているデータをそのまま残すことができる。電源キーをＯＮ操作すると（Ａ５）、起動処理によってメインメモリ１３から消失したデータが元通りに復元される（Ａ６）。
【００７５】
なお、上記説明では、ハイバネーション禁止設定を事前に行っておくこととしたが、図１３に示す終了処理Ｂのフローように、ハイバネーション禁止キーの押下をＡＣ電源遮断時に検知した場合に、ハイバネーションを禁止することとしてもよい。
終了処理Ｂにおいては、まず、サスペンド処理が実行され、ＣＰＵ１０に記憶されているプログラムカウンタ、レジスタ、システムデータ等がメインメモリ１３のサスペンド用エリア１３２に退避される（ステップＳ５１）。
【００７６】
次いで、ハイバネーション禁止キーが検知されたか否かが判断され、ハイバネーション禁止キーが検知されたと判断されると（ステップＳ５２；ＹＥＳ）、本処理は終了する。
【００７７】
一方、ハイバネーション禁止キーが検知されていないと判断されると（ステップＳ５２；ＮＯ）、スイッチ３５がＯＮに切り替えられることにより、バックアップ用電源３２がＯＮに切り替えられる（ステップＳ５３）。そして、ハイバネーション処理が実行され（ステップＳ５４）、スイッチ３５によりバックアップ用電源３２がＯＦＦに切替られ（ステップＳ５５）、終了処理Ｂは終了する。なお、ハイバネーション処理中にＡＣ電源３１が供給状態となった場合は、図１０ａ〜図１０ｂに示す起動処理（ハイバネーション中断リスタート）へ移行する。
【００７８】
以上説明したように、ＥＣＲ１においては、ハイバネーション禁止キーの操作によりハイバネーション処理を禁止させることができるので、誤操作によりメインメモリ１３に記憶されているシステム動作状態や設定データが消失してしまっても、誤操作前にハイバネーション用メモリ１４に書込まれていたデータに基づいて、システム動作状態や消失したデータの復元を容易に行い復帰動作を行うことが可能となる。具体的に、予めハイバネーション禁止キーの操作によりハイバネーション処理の禁止設定を行い、電源キーをＯＦＦ操作して更にＯＮ操作するだけでデータの復元及びシステムの復帰を行うことができる。
また、修理に際して部品交換後に検査プログラムを起動した場合においても、予めハイバネーション禁止キーの操作によりハイバネーション処理の禁止設定を行っておくことで、検査プログラム終了後に電源キーをＯＦＦ操作し、次いでＯＮ操作するだけでユーザが検査前に使用していたときのシステム動作状態に復帰させることが可能となる。
また、ハイバネーション禁止キーの操作によってハイバネーション禁止設定をするか否かをユーザが自由に切り替えることができるので、ユーザが必要なときにのみハイバネーション処理を禁止することが可能となる。
【００７９】
（実施形態２）
次に、本発明の実施形態２について説明する。
実施形態２においては、ＥＣＲ１においてハイバネーション用メモリ１４をダンプする機能とロードする機能を備えることにより、一のＥＣＲ１（ＥＣＲ１ａとする）のメインメモリ１３と同じデータ（システム動作状態を示すデータ、設定データを含む）をもつ他のＥＣＲ１（ＥＣＲ１ｂとする）を作成する。なお、一のＥＣＲ１ａのメインメモリ１３と同じデータをもつ他のＥＣＲ１ｂをクローンとよぶ。
【００８０】
実施形態２において、ＥＣＲ１ａ、１ｂのメインメモリ１３のシステムデータ領域１３４は、図１４に示すように停電保証フラグを格納するための停電保証フラグ領域１３４ｂを有している。また、プログラム格納メモリ１２は、上述の終了処理を実行する終了処理プログラムの他、後述する起動処理Ｂを実行するための起動処理Ｂプログラム、メモリダンプ処理を実行するためのメモリダンプ処理プログラム、メモリロード処理を実行するためのメモリロード処理プログラムを記憶している。その他のＥＣＲ１ａ、１ｂの構成は実施形態１で説明したものと同様であるので説明を援用し、以下、ＥＣＲ１ａ、ＥＣＲ１ｂの動作について説明する。なお、ＥＣＲ１ａにおいて、ハイバネーション禁止設定はなされていないものとする。
【００８１】
〔クローン作成手順〕  
図１５に、ＥＣＲ１ａのクローンであるＥＣＲ１ｂを作成する手順の流れを示す。図２２に、当該クローン作成手順の各ステップにおけるＥＣＲ１ａ及びＥＣＲ１ｂのデータの流れを示す。
ＥＣＲ１ａにおいて、電源キーのＯＦＦ操作によりＡＣ電源３１が遮断されると（ステップＴ１）、終了処理が実行される（ステップＴ２）。終了処理は、実施形態１において図５を用いて説明したものと同様である。終了処理によってメインメモリ１３の起動処理・終了処理用ワークエリア１３１以外のデータがハイバネーション用メモリ１４にバックアップされる。
【００８２】
ＥＣＲ１ａにおいて、電源キーのＯＮ操作によりＡＣ電源３１が電源供給状態となると（ステップＴ３）、起動処理が実行される（ステップＴ４）。図１６ａ〜図１６ｂに、実施形態２における起動処理（起動処理Ｂとする）のフローを示す。起動処理Ｂは、実施形態１において図１０ａ〜図１０ｂを用いて説明した処理にステップＳ４９が追加されている点が異なる。起動処理ＢのステップＳ４９においては、停電保証フラグがＯＦＦに設定される。即ち、ＡＣ電源３１が遮断から供給状態となってシステムが復帰した場合、停電保証フラグがＯＦＦに設定されるようになっている。
【００８３】
起動処理Ｂの実行後、ストレージＩ／Ｆ１９に外部ストレージ１９ａが挿入され（ステップＴ５）、入力装置１８の操作によりダンプ設定画面の表示が指示されると、メモリダンプ処理が実行される（ステップＴ６）。
【００８４】
図１７に、メモリダンプ処理のフローを示す。当該処理は、ＣＰＵ１０とメモリダンプ処理プログラムの協働によるソフトウエア処理により実現されるものであり、ダンプ手段として機能する。
まず、電源保証フラグがＯＮに設定される（ステップＳ６１）。次いで、メイン表示装置１５１にダンプ設定画面Ｇ１が表示され、入力装置１８によるダンプ操作が受け付けられる（ステップＳ６２）。
【００８５】
図１８に、ダンプ設定画面Ｇ１の一例を示す。図１８に示すように、ダンプ設定画面Ｇ１には、「１．メモリダンプ実行」「２.メモリ暗号化」等のメニュー項目が表示されている。「２．メモリ暗号化」が押下されて選択されると、ＹＥＳ／ＮＯの選択画面（図示せず）が表示される。当該選択画面から「ＹＥＳ」を押下することによりダンプするデータの暗号化を実行することを選択することができる。「１．メモリダンプ実行」が押下されると、次のステップへ移行する。
【００８６】
次いで、ストレージＩ／Ｆ１９を介して外部ストレージ１９ａが接続されているか否かが判断され、接続されていると判断されると（ステップＳ６３；ＹＥＳ）、ダンプ操作で暗号化が選択されたか否かが判断される（ステップＳ６４）。ダンプ操作で暗号化が選択された場合（ステップＳ６４；ＹＥＳ）、ハイバネーション用メモリ１４に記憶されているデータが暗号化され、この暗号化されたデータを実データとするファイルが作成され、このファイルのヘッダエリアにファイル属性＝“暗号化”が設定されるとともに自己の機種別コードが設定される（ステップＳ６５）。ダンプ操作で暗号化が選択されなかった場合（ステップＳ６４；ＮＯ）、ハイバネーション用メモリ１４に記憶されているデータを実データとするファイルが作成され、このファイルのヘッダエリアにファイル属性＝“通常”に設定されるとともに自己の機種別コードが設定される（ステップＳ６６）。
【００８７】
図１９に、ステップＳ６５、Ｓ６６において作成されるファイル（ハイバネーションファイルという）のデータフォーマットを示す。図１９に示すように、ハイバネーションファイルは、ヘッダエリア２０１と、実データエリア２０２により構成されている。ヘッダエリア２０１には、ヘッダエリアのサイズ、ファイル属性、機種別コード等が書込まれる。
【００８８】
ハイバネーションファイルは、ストレージＩ／Ｆ１９を介して外部ストレージ１９ａに出力され（ステップＳ６７）、停電保証フラグがＯＮであるか否かが判断される（ステップＳ６８）。
ここで、メモリダンプ処理の途中で停電が発生し、ＡＣ電源３１が遮断された場合、メモリダンプ処理は中断するが、ＡＣ電源供給が再開されると、図１６ａ〜図１６ｂに示す起動処理Ｂが実行されることによりメモリダンプ処理は中断した時点から再開される。このとき、起動処理ＢのステップＳ４９において停電保証フラグがＯＦＦに設定される。即ち、停電保証フラグがＯＦＦである場合、メモリダンプ処理中に停電等のＡＣ電源遮断が発生したことを示す。電源保証フラグがＯＮである場合、メモリダンプ処理中にＡＣ電源遮断が発生することなく処理が実行されたことを示す。
【００８９】
停電保証フラグがＯＦＦに設定されている場合（ステップＳ６８；ＮＯ）、処理はステップＳ６３に戻り、メモリダンプのやり直しが行われる。停電保証フラグがＯＮに設定されている場合（ステップＳ６８；ＹＥＳ）、本処理は終了する。
【００９０】
メモリダンプ処理によって、ハイバネーション用メモリ１４のデータが外部ストレージ１９ａに書込まれる。即ち、現在のＥＣＲ１ａのシステム動作状態を示すデータや設定データを外部ストレージ１９ａを介して他のＥＣＲ１に移行できるようにすることが可能となる。
【００９１】
図１５において、メモリダンプ処理が終了すると、外部ストレージ１９ａがストレージＩ／Ｆ１９から取り出され（ステップＴ７）、ＥＣＲ１ｂのストレージＩ／Ｆ１９に挿入される（ステップＴ８）。そして、ＥＣＲ１ｂにおいて、メモリロード処理が実行される（ステップＴ９）。
【００９２】
図２０に、メモリロード処理のフローを示す。当該処理は、ＣＰＵ１０とメモリロード処理プログラムの協働によるソフトウエア処理により実現され、ロード手段として機能する。
外部ストレージ１９ａの接続が検知されると（ステップＳ７１；ＹＥＳ）、外部ストレージ１９ａ内にハイバネーションファイルが存在するか否かが判断される（ステップＳ７２）。ここで、ハイバネーションファイルは、ハイバネーションファイルであることを示す識別子とメモリダンプされた日付及び時刻のファイル名を有することとする。
【００９３】
ハイバネーションファイルが存在すると判断されると（ステップＳ７２；ＹＥＳ）、ハイバネーションファイルのヘッダエリア２０１のファイル属性に基づいて、データが暗号化されているか否かが判断される（ステップＳ７３）。データが暗号化されていると判断されると（ステップＳ７３；ＹＥＳ）、ハイバネーションファイルの実データが復号され（ステップＳ７４；ＮＯ）、処理はステップＳ７５に移行する。データが暗号化されていないと判断されると（ステップＳ７３；ＮＯ）、処理はステップＳ７５に移行する。
【００９４】
次いで、ハイバネーションファイルのヘッダエリア２０１の機種別コードが参照され、自己の機種別コードと一致するか否かが判断される（ステップＳ７５）。ハイバネーションファイルと自己の機種別コードが一致しないと判断されると（ステップＳ７５；ＮＯ）、本処理は終了する。
【００９５】
ハイバネーションファイルと自己の機種別コードが一致していると判断されると（ステップＳ７５；ＹＥＳ）、電源保証フラグがＯＮに設定され（ステップＳ７６）、メイン表示装置１５１にファイルリスト画面Ｇ２が表示され、入力装置１８によるロード操作が受け付けられる（ステップＳ７７）。
【００９６】
図２１に、ファイルリスト画面Ｇ２の一例を示す。図２１に示すように、ファイルリスト画面Ｇ２には、外部ストレージ１９ａに記憶されているハイバネーションファイルのファイル名が一覧表示されている。当該画面からファイル名が押下されると、メモリロードが実行される。「スキップ」ボタンＢ１が押下されると、メモリロード処理が終了する。
【００９７】
入力装置１８によりファイルリスト画面Ｇ２上からファイルが選択されず、スキップボタンＢ１が押下されると（ステップＳ７８；ＮＯ）、本処理は終了する。入力装置１８によりファイルリスト画面Ｇ２上からファイルが選択されると（ステップＳ７８；ＹＥＳ）、外部ストレージ１９ａに記憶されている選択されたファイルのデータがハイバネーション用メモリ１４にロードされる（ステップＳ７９）。そして、停電保証フラグがＯＮであるか否かが判断される（ステップＳ８０）。
【００９８】
停電保証フラグがＯＦＦに設定されている場合（ステップＳ８０；ＮＯ）、処理はステップＳ７７に戻り、メモリロードのやり直しが行われる。停電保証フラグがＯＮに設定されている場合（ステップＳ８０；ＹＥＳ）、メモリロード処理は終了する。
【００９９】
メモリロード処理によって、外部ストレージ１９ａを介してＥＣＲ１ａのハイバネーション用メモリ１４のデータがＥＣＲ１ｂのハイバネーション用メモリ１４にロードされる。即ち、メモリロード処理によって、外部ストレージ１９ａに記憶されている他のＥＣＲ１のシステム動作状態を示すデータや設定データをハイバネーション用メモリ１４に取り込むことが可能となる。
【０１００】
図１５に戻り、メモリロード処理が終了すると、ユーザの操作に応じてハイバネーション禁止設定処理が実行される（ステップＴ１０）。ハイバネーション禁止設定処理は、実施形態１において図４を用いて説明したものと同様である。
【０１０１】
ハイバネーション禁止設定後、電源キーがＯＦＦ操作されると（ステップＴ１１）、終了処理が実行される（ステップＴ１２）。ここで、ステップＴ１０によってハイバネーション禁止設定がなされているので、終了処理においてハイバネーション処理はスキップされる。即ち、ハイバネーション用メモリ１４にメモリロード処理でロードされたデータはそのまま保持される。
【０１０２】
電源キーがＯＮ操作され、ＡＣ電源３１が供給状態になると（ステップＴ１３）、起動処理Ｂが実行される（ステップＴ１４）。この起動処理Ｂの実行によって、ＥＣＲ１ｂのハイバネーション用メモリ１４にロードされたデータは、メインメモリ１３に書込まれ、クローン作成は終了する。
【０１０３】
図２２に示すように、上述のクローン作成手順によりＥＣＲ１ａのメインメモリ１３上のデータとＥＣＲ１ｂのメインメモリ１３上のデータが同一となる。従って、ＥＣＲ１ｂでＥＣＲ１ａのＡＣ電源遮断直前のシステム動作状態を引き継ぐことが可能となる。ＥＣＲ１ａにおける周辺機器の設定データやＡＣ電源遮断直前の表示データや印字データもＥＣＲ１ｂでそのまま引き継ぐことができる。なお、自己の機種別データやＭＡＣアドレス、メイン表示装置１５１やサブ表示装置１５２のキャリブレーションデータ等の各ＥＣＲ１固有のデータは、プログラム格納メモリ１２に格納されているので、ＥＣＲ１ａのデータをロードしてもＥＣＲ１ｂは、自己の固有データをそのまま利用可能である。
【０１０４】
以上説明したように、ＥＣＲ１においては、ハイバネーション用メモリ１４に記憶されているデータを外部ストレージ１９ａにダンプする機能と、外部ストレージ１９ａに記憶されているデータをハイバネーション用メモリ１４にロードする機能を有する。そして、外部ストレージ１９ａに記憶されているデータをハイバネーション用メモリ１４にロードした後、ＡＣ電源遮断時にハイバネーション処理を禁止し、ＡＣ電源供給時にハイバネーション用メモリ１４にロードされたデータをメインメモリ１３に書込むことで、他のＥＣＲ１のシステム動作状態を示すデータや設定データを容易に復元して他のＥＣＲ１と同じシステム状態で動作させることが可能となる。
【０１０５】
（実施形態２の変形例１）
実施形態２においては、ハイバネーション禁止設定を手動により行うこととしたが、ＡＣ電源遮断時の終了処理において外部ストレージ１９ａの接続状態を検知することで、自動的にハイバネーション処理を禁止するようにしてもよい。
【０１０６】
図２３に、変形例１における終了処理（終了処理Ｃとする）のフローを示す。
終了処理Ｃにおいては、まず、サスペンド処理が実行され、ＣＰＵ１０に記憶されているプログラムカウンタ、レジスタ、システムデータ等がメインメモリ１３のサスペンド用エリア１３２に退避される（ステップＳ９１）。
【０１０７】
次いで、ストレージＩ／Ｆ１９に外部ストレージ１９ａが接続されているか否かが判断され、接続されていないと判断されると（ステップＳ９２；ＮＯ）、本処理は終了する。
【０１０８】
一方、外部ストレージ１９ａが接続されていると判断されると（ステップＳ９２；ＹＥＳ）、スイッチ３５がＯＮに切り替えられることにより、バックアップ用電源３２がＯＮに切り替えられる（ステップＳ９３）。そして、ハイバネーション処理が実行され（ステップＳ９４）、スイッチ３５によりバックアップ用電源３２がＯＦＦに切替られ（ステップＳ９５）、終了処理Ｃは終了する。なお、ハイバネーション処理中にＡＣ電源３１が供給状態となった場合は、図１６ａ〜図１６ｂに示す起動処理Ｂ（ハイバネーション中断リスタート）へ移行する。
【０１０９】
このように、ＡＣ電源遮断時の終了処理Ｃにおいて外部ストレージ１９ａの接続状態によって自動的にハイバネーション処理の実行可否を判断することで、ハイバネーション禁止設定操作をユーザが行う必要がなくなる。
なお、ＥＣＲ１ａ、ＥＣＲ１ｂの終了処理のプログラムとして、終了処理Ｃプログラムを適用した場合、図１５に示すクローン作成手順のＴ１０において、ユーザは外部ストレージ１９ａをストレージＩ／Ｆ１９から取り出すことで、ステップＴ１２においてハイバネーション処理をスキップすることが可能となる。
【０１１０】
（実施形態２の変形例２）
実施形態２においては、ハイバネーション禁止設定を手動により行うこととしたが、ハイバネーション用メモリ１４のヘッダ領域１４１に属性情報領域（図示せず）を設け、メモリロード処理において、属性情報領域にハイバネーションメモリ属性がクローンであることを示す属性情報を設定し、ＡＣ電源遮断時の終了処理において属性情報領域の情報に基づいて自動的にハイバネーション処理を禁止するか否かを判断するようにしてもよい。
【０１１１】
図２４に、変形例２におけるメモリロード処理（メモリロード処理Ｂとする）のフローを示す。
図２４に示すように、メモリロード処理Ｂは、図２０に示したメモリロード処理にステップＳ８１が追加されたものである。即ち、メモリロード処理のステップＳ７１〜Ｓ８０の実行後、ハイバネーション用メモリ１４のヘッダ領域１４１に設けられた属性情報領域にハイバネーションメモリ属性がクローンであることを示す属性情報が設定される（ステップＳ８１）。
【０１１２】
図２５に、変形例２における終了処理（終了処理Ｄとする）のフローを示す。
終了処理Ｄにおいては、まず、サスペンド処理が実行され、ＣＰＵ１０に記憶されているプログラムカウンタ、レジスタ、システムデータ等がメインメモリ１３のサスペンド用エリア１３２に退避される（ステップＳ１０１）。
【０１１３】
次いで、属性情報領域にハイバネーションメモリ属性がクローンであることを示す属性情報が設定されているか否かが判断され、設定されていると判断されると（ステップＳ１０２；ＹＥＳ）、本処理は終了する。
【０１１４】
一方、属性情報領域にハイバネーションメモリ属性がクローンであることを示す属性情報が設定されていないと判断されると（ステップＳ１０２；ＹＥＳ）、スイッチ３５がＯＮに切り替えられることにより、バックアップ用電源３２がＯＮに切り替えられる（ステップＳ１０３）。そして、ハイバネーション処理が実行され（ステップＳ１０４）、スイッチ３５によりバックアップ用電源３２がＯＦＦに切替られ（ステップＳ１０５）、終了処理Ｄは終了する。なお、ハイバネーション処理中にＡＣ電源３１が供給状態となった場合は、図１６ａ〜図１６ｂに示す起動処理Ｂ（ハイバネーション中断リスタート）へ移行する。
【０１１５】
このように、ＡＣ電源遮断時の終了処理Ｄにおいて、属性情報領域に記憶されているメモリ属性情報に応じて自動的にハイバネーション処理の実行可否を判断することで、ハイバネーション禁止設定操作をユーザが行う必要がなくなる。
なお、ＥＣＲ１ａ、ＥＣＲ１ｂの終了処理のプログラムとして、終了処理Ｄプログラムを適用した場合、図１５に示すクローン作成手順のＴ１０は省略することが可能となる。
このように、ＡＣ電源遮断時の終了処理Ｄにおいて自動的にハイバネーション処理を禁止することで、ハイバネーション禁止設定操作をユーザが行う必要がなくなる。
【０１１６】
以上本発明に係る実施形態１〜２及び変形例を説明してきたが、上記実施形態における記述は、本発明に係るＥＣＲ１の好適な一例であり、これに限定されるものではない。
例えば、  例えば、メインメモリ１３やハイバネーション用メモリ１４に記憶されるデータは一例であり、これに限定されない。また、ハイバネーション処理を禁止するか否かの判断基準も、上記説明したものに限定されない。
【０１１７】
その他、ＥＣＲ１を構成する各装置の細部構成及び細部動作に関しても、発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【図面の簡単な説明】
【０１１８】
【図１】本発明の実施形態におけるＥＣＲの機能構成例を示すブロック図である。
【図２】図１のＣＰＵ、プログラム格納メモリ、メインメモリ、ハイバネーション用メモリのデータ格納例及びデータの流れを示す図である。
【図３】図１のＥＣＲの電源系の要部構成例を示す図である。
【図４】図１のＣＰＵにより実行されるハイバネーション禁止設定処理を示すフローチャートである。
【図５】図１のＣＰＵにより実行される終了処理を示すフローチャートである。
【図６】図１のＣＰＵにより実行されるハイバネーション処理を示すフローチャートである。
【図７】図１のＣＰＵにより実行される書込みエリア消去処理を示すフローチャートである。
【図８】図１のＣＰＵにより実行される書込み処理を示すフローチャートである。
【図９】図１のＣＰＵにより実行される書込み内容保証処理を示すフローチャートである。
【図１０ａ】図１のＣＰＵにより実行される起動処理を示すフローチャートである。
【図１０ｂ】図１のＣＰＵにより実行される起動処理を示すフローチャートである。
【図１１】ハイバネーショ禁止設定がされていない場合の図１のメイン表示装置の電源遮断前後における表示例を示す図である。
【図１２】ハイバネーション禁止設定がなされている場合のメインメモリとハイバネーション用メモリの状態を示す図である。
【図１３】図１のＣＰＵにより実行される終了処理Ｂを示すフローチャートである。
【図１４】実施形態２における図１のＣＰＵ、プログラム格納メモリ、メインメモリ、ハイバネーション用メモリのデータ格納例及びデータの流れを示す図である。
【図１５】ＥＣＲのクローン作成手順の流れを示す図である。
【図１６ａ】図１のＣＰＵにより実行される起動処理Ｂを示すフローチャートである。
【図１６ｂ】図１のＣＰＵにより実行される起動処理Ｂを示すフローチャートである。
【図１７】図１のＣＰＵにより実行されるメモリダンプ処理を示すフローチャートである。
【図１８】図１のメイン表示装置に表示されるダンプ設定画面の一例を示す図である。
【図１９】図１７のステップＳ６５、Ｓ６６において作成されるファイル（ハイバネーションファイル）のデータフォーマットを示す図である。
【図２０】図１のＣＰＵにより実行されるメモリロード処理を示すフローチャートである。
【図２１】図１のメイン表示装置に表示されるファイルリスト画面の一例を示す図である。
【図２２】図１５に示すクローン作成手順の各ステップにおけるＥＣＲ１ａ及びＥＣＲ１ｂのデータの流れを示す図である。
【図２３】図１のＣＰＵにより実行される終了処理Ｃを示すフローチャートである。
【図２４】図１のＣＰＵにより実行されるメモリロード処理Ｂを示すフローチャートである。
【図２５】図１のＣＰＵにより実行される終了処理Ｄを示すフローチャートである。
【符号の説明】
【０１１９】
１  ＥＣＲ
１０  ＣＰＵ
１１  ＲＴＣ
１２  プログラム格納メモリ
１３  メインメモリ
１３１  起動処理・終了処理用ワークエリア
１３２  サスペンド用エリア
１３３  コピー領域
１３４  システムデータ領域
１３５  設定データ領域
１３６  ユーザデータ領域
１４  ハイバネーション用メモリ
１４１  ヘッダ領域
１４２  バックアップ領域
１４３  チェックサム格納領域
１５１  メイン表示装置
１５２  サブ表示装置
１６  ＬＥＤ
１７  印字装置
１８  入力装置
１９  ストレージＩ／Ｆ
１９ａ  外部ストレージ
２０  通信部
【図１】
2010026791.tif 000003
【図２】
2010026791.tif 000004
【図３】
2010026791.tif 000005
【図４】
2010026791.tif 000006
【図５】
2010026791.tif 000007
【図６】
2010026791.tif 000008
【図７】
2010026791.tif 000009
【図８】
2010026791.tif 000010
【図９】
2010026791.tif 000011
【図１０ａ】
2010026791.tif 000012
【図１０ｂ】
2010026791.tif 000013
【図１１】
2010026791.tif 000014
【図１２】
2010026791.tif 000015
【図１３】
2010026791.tif 000016
【図１４】
2010026791.tif 000017
【図１５】
2010026791.tif 000018
【図１６ａ】
2010026791.tif 000019
【図１６ｂ】
2010026791.tif 000020
【図１７】
2010026791.tif 000021
【図１８】
2010026791.tif 000022
【図１９】
2010026791.tif 000023
【図２０】
2010026791.tif 000024
【図２１】
2010026791.tif 000025
【図２２】
2010026791.tif 000026
【図２３】
2010026791.tif 000027
【図２４】
2010026791.tif 000028
【図２５】
2010026791.tif 000029