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