(57)【要約】【課題】メモリーに記憶されているデータに対する制御が停電等によって実行されなかった場合に、当該制御が実行されなかったことを適切に検出させる。【解決手段】記憶制御装置は、不揮発性メモリーに記憶されたデータに対する制御が指示された場合に、当該制御が指示されたことを示す情報を不揮発性メモリーに記憶させ、記憶制御装置の電源がオン状態からオフ状態に移行するときに情報が記憶されている場合、指示された制御を実行し、制御の実行に応じて、記憶された情報を無効にし、記憶制御装置の電源がオフ状態からオン状態に移行したときに記憶された情報が有効である場合に、制御が行われていないことを検出する。【選択図】図３
2015036861.tif 000002
【特許請求の範囲】
【請求項１】
メモリーによるデータの記憶を制御する記憶制御装置であって、
不揮発性メモリーに記憶されたデータに対する制御が指示された場合に、当該制御が指示されたことを示す情報を前記不揮発性メモリーに記憶させる記憶制御手段と、
前記記憶制御装置の電源がオン状態からオフ状態に移行するときに前記記憶制御手段により前記情報が記憶されている場合、前記指示された制御を実行する実行手段と、
前記実行手段による前記制御の実行に応じて、前記記憶制御手段により記憶された前記情報を無効にする無効化手段と、
前記記憶制御装置の電源がオフ状態からオン状態に移行したときに前記記憶制御手段により記憶された前記情報が有効である場合に、前記実行手段により前記制御が行われていないことを検出する検出手段とを備えることを特徴とする記憶制御装置。
【請求項２】
前記不揮発性メモリーに記憶されているデータを、前記記憶制御装置が備える揮発性のバッファーに読み出す読み出し手段を更に有し、
前記実行手段は、前記制御として、前記読み出し手段により前記バッファーに読み出され且つ前記更新が実行されたデータを当該読み出しが行われた前記不揮発性メモリーに記憶させることを特徴とする請求項１に記載の記憶制御装置。
【請求項３】
前記記憶制御装置の電源がオフ状態からオン状態になってから、前記バッファーへの最初の書き込みが行われた場合に、前記記憶制御手段は、前記情報を記憶させることを特徴とする請求項２に記載の記憶制御装置。
【請求項４】
前記実行手段により前記制御が行われていないことが前記検出手段により検出されたことをユーザに通知する通知手段を更に有することを特徴とする請求項１乃至３のいずれか１項に記載の記憶制御装置。
【請求項５】
前記通知手段により前記通知が行われたことに応じて、前記無効化手段は前記情報を無効にすることを特徴とする請求項４に記載の記憶制御装置。
【請求項６】
前記実行手段は、前記制御として、前記不揮発性メモリーに記憶されている前記データの初期化を実行することを特徴とする請求項１乃至５のいずれか１項に記載の記憶制御装置。
【請求項７】
前記実行手段は、前記初期化が行われていないことが、前記記憶制御装置の電源がオフ状態からオン状態に移行したときに前記検出手段により検出された場合に、当該初期化を実行することを特徴とする請求項６に記載の記憶制御装置。
【請求項８】
前記記憶制御装置の電源がオフ状態からオン状態に移行したときに前記事項手段により前記初期化が実行された場合に、前記無効化手段は前記情報を無効化することを特徴とする請求項７に記載の記憶制御装置。
【請求項９】
前記記憶制御手段は、ユーザの操作によって前記制御が指示された場合に、当該制御が指示されたことを示す前記情報を記憶させることを特徴とする請求項１乃至８のいずれか１項に記載の記憶制御装置。
【請求項１０】
前記記憶制御手段は、前記データが記憶されている不揮発性メモリーに前記情報を記憶させることを特徴とする請求項１乃至９のいずれか１項に記載の記憶制御装置。
【請求項１１】
ユーザによる指示に応じて、前記電源がオン状態からオフ状態、またオフ状態からオン状態に移行することを特徴とする請求項１乃至１０のいずれか１項に記載の記憶制御装置。
【請求項１２】
メモリーによるデータの記憶を制御する記憶制御装置の制御方法であって、
不揮発性メモリーに記憶されたデータに対する制御が指示された場合に、当該制御が指示されたことを示す情報を不揮発性メモリーに記憶させる記憶制御工程と、
前記記憶制御装置の電源がオン状態からオフ状態に移行するときに前記記憶制御工程において前記情報が記憶されている場合、前記指示された制御を実行する実行工程と、
前記実行工程における前記制御の実行に応じて、前記第１の記憶制御工程において記憶された前記情報を無効にする無効化工程と、
前記記憶制御装置の電源がオフ状態からオン状態に移行したときに前記記憶制御工程において記憶された前記情報が有効である場合に、前記実行工程において前記制御が行われていないことを検出する検出工程とを備えることを特徴とする制御方法。
【請求項１３】
請求項１乃至請求項１１のいずれか１項に記載の記憶制御装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリーによるデータの記憶を制御する記憶制御装置、その制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年の不揮発性メモリーの代表的なものにはＥＥＰＲＯＭとフラッシュＲＯＭがある。ＥＥＰＲＯＭに対してフラッシュＲＯＭは、構造が単純化されてブロック化されているため大容量に向いている反面、ブロック単位での書き込みと書き込む前の記憶内容の削除が必要である。また、不揮発性メモリーは、一般的なＲＡＭに比べて書き込みスピードが遅いという特徴がある。不揮発性メモリーの書き込みスピードが遅いため、書き込み領域の大きさに比例した処理時間が必要となり、書き込み完了までの待ち時間が長くなるという問題が知られている。
【０００３】
特許文献１では、不揮発性メモリー内の編集対象のデータを、ブロック単位でバッファーに読み出してまとめて編集を行い、編集完了後にブロック単位で不揮発性メモリーに書き戻しを行っている。個々の編集毎に不揮発性メモリーへの書き込みを行わず、バッファー単位で一括書き込みを行うことで、書き込み完了までの待ち時間の短縮を図っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３４８３４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術では、例えば不揮発性メモリー内の情報に対して編集を行う場合、複数の編集項目が一括で実行される。そのため、例えば停電等により、編集が行われる前で処理が中断された場合、不揮発性メモリーに記憶された情報に対する編集は行われず、また当該情報が編集前の状態であることを検出することができないという課題がある。
【０００６】
本発明は、上記課題に鑑みてなされたものであり、メモリーに記憶されているデータに対する制御が停電等によって実行されなかった場合に、当該制御が実行されなかったことを適切に検出させることを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するための一手段として、本発明の記録制御装置は以下の構成を備える。すなわち、メモリーによるデータの記憶を制御する記憶制御装置であって、不揮発性メモリーに記憶されたデータに対する制御が指示された場合に、当該制御が指示されたことを示す情報を不揮発性メモリーに記憶させる記憶制御手段と、前記記憶制御装置の電源がオン状態からオフ状態に移行するときに前記記憶制御手段により前記情報が記憶されている場合、前記指示された制御を実行する実行手段と、前記実行手段による前記制御の実行に応じて、前記第１の記憶制御手段により記憶された前記情報を無効にする無効化手段と、前記記憶制御装置の電源がオフ状態からオン状態に移行したときに前記記憶制御手段により記憶された前記情報が有効である場合に、前記実行手段により前記制御が行われていないことを検出する検出手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、メモリーに記憶されているデータに対する制御が停電等によって実行されなかった場合に、当該制御が実行されなかったことを適切に検出させることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】インクジェット記録装置の説明図。
【図２】第１実施形態による記録装置の制御構成図。
【図３】不揮発性記憶ユニットの内部構成を示すブロック図。
【図４】不揮発性記憶ユニットデータ書き込み処理を示すフローチャート。
【図５】不揮発性記憶ユニット初期化操作処理を示すフローチャート。
【図６】不揮発性記憶ユニットの電源オフ時の処理を示すフローチャート。
【図７】不揮発性記憶ユニットの電源オン時の処理を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明の好適な実施例について、さらに具体的かつ詳細に説明する。なお、既に説明した部分には同一符号を付し重複説明を省略する。なお、この明細書において、「記録」（「印刷」という場合もある）とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わない。さらに人間が視覚で知覚し得るように顕在化したものであるか否かも問わず、広く記録媒体上に画像、模様、パターン等を形成する、または媒体の加工を行う場合も表すものとする。また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも表すものとする。
【００１１】
さらに、「インク」（「液体」と言う場合もある）とは、上記「記録（印刷）」の定義と同様広く解釈されるべきものである。従って、記録媒体上に付与されることによって、画像、模様、パターン等の形成または記録媒体の加工、或いはインクの処理（例えば記録媒体に付与されるインク中の色剤の凝固または不溶化）に供され得る液体を表すものとする。またさらに、「記録要素」とは、特にことわらない限り吐出口ないしこれに連通する液路およびインク吐出に利用されるエネルギーを発生する素子を総括して言うものとする。またさらに、「記録素子」（「ノズル」という場合もある）とは、特にことわらない限りインク吐出口乃至これに連通する液路及びインク吐出に利用されるエネルギーを発生する素子を総括して言うものとする。なお、この実施の形態に記載されている構成要素の相対配置、表示画面等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１２】
［第１実施形態］
＜インクジェット記録装置の説明（図１）＞
図１は本発明の第１実施形態であるインクジェット記録装置１の構成の概要を示す外観斜視図である。図１に示すように、インクジェット記録装置（以下、記録装置）はインクジェット方式に従ってインクを吐出して記録を行なうインクジェット記録ヘッド（以下、記録ヘッド）３をキャリッジ２に搭載し、キャリッジ２を矢印Ａ方向に往復移動させて記録を行う。記録紙等の記録媒体Ｐを給紙機構５を介して給紙し、記録位置まで搬送し、その記録位置において記録ヘッド３から記録媒体Ｐにインクを吐出することで記録を行なう。
【００１３】
記録装置１のキャリッジ２には記録ヘッド３を搭載するのみならず、記録ヘッド３に供給するインクを貯留するインクカートリッジ６を装着する。インクカートリッジ６はキャリッジ２に対して着脱自在になっている。図１に示した記録装置１はカラー記録が可能であり、そのためにキャリッジ２にはマゼンタ（Ｍ）、シアン（Ｃ）、イエロ（Ｙ）、ブラック（Ｋ）のインクを夫々、収容した４つのインクカートリッジを搭載している。これら４つのインクカートリッジは夫々独立に着脱可能である。
【００１４】
本実施形態の記録ヘッド３は、熱エネルギーを利用してインクを吐出するインクジェット方式を採用している。このため、電気熱変換体を備えている。この電気熱変換体は各吐出口のそれぞれに対応して設けられ、記録信号に応じて対応する電気熱変換体にパルス電圧を印加することによって対応する吐出口からインクを吐出する。
【００１５】
＜インクジェット記録装置の制御構成（図２）＞
図２は図１に示した記録装置の制御構成を示すブロック図である。図２に示すように、コントローラ２００は、ＣＰＵ２０１、ＲＯＭ２０２、特殊用途集積回路（ＡＳＩＣ）２０３、ＲＡＭ２０４、システムバス２０５、Ａ／Ｄ変換器２０６、不揮発性記憶ユニット２０７等で構成される。
【００１６】
ここで、ＲＯＭ２０２は後述する制御シーケンスに対応したプログラム、所要のテーブル、その他の固定データを格納する。ＡＳＩＣ２０３は、キャリッジモータＭ１の制御、搬送モータＭ２の制御、及び、記録ヘッド３の制御のための制御信号を生成する。ＲＡＭ２０４は、画像データの展開領域やプログラム実行のための作業用領域等として用いられる。システムバス２０５は、ＣＰＵ２０１、ＡＳＩＣ２０３、ＲＡＭ２０４を相互に接続してデータの授受を行う。Ａ／Ｄ変換器２０６は以下に説明するセンサ群からのアナログ信号を入力してＡ／Ｄ変換し、デジタル信号をＣＰＵ２０１に供給する。
【００１７】
ＣＰＵ２０１は、上記ＲＯＭ２０２に記憶されている各種のプログラムをＲＡＭ２０４上で実行することにより、記録装置における各種の制御を行うことができる。また上記プログラムとして、Ｗｅｂブラウザーが含まれている。ＣＰＵ２０１は、Ｗｅｂブラウザーを用いて、不図示のネットワークインターフェースを介し、ネットワーク上のサーバにアクセスすることができる。そして、各種のＷｅｂページを表示部２１２に表示させ、またユーザが不図示の操作部を操作することで、記録装置は、ユーザに各種のＷｅｂサービスを提供することができる。
【００１８】
また、図２において、２１０は画像データの供給源となるコンピュータ（或いは、画像読取り用のリーダやデジタルカメラ等）でありホスト装置と総称される。ホスト装置２１０と図１に示した記録装置１との間ではインタフェース（Ｉ／Ｆ）２１１を介して画像データ、コマンド、ステータス信号等を送受信する。この画像データは、例えば、ラスタ形式で入力される。また、２１２は表示部であり、エラー等の表示を行う。さらに、２２０はスイッチ群であり、電源スイッチ２２１、プリントスイッチ２２２、回復スイッチ２２３、初期化スイッチ２２４等から構成される。
【００１９】
２３０は装置状態を検出するためのセンサ群であり、位置センサ２３１、温度センサ２３２等から構成される。さらに、２４０はキャリッジ２を矢印Ａ方向に往復走査させるためのキャリッジモータＭ１を駆動させるキャリッジモータドライバ、２４２は記録媒体Ｐを搬送するための搬送モータＭ２を駆動させる搬送モータドライバである。ＡＳＩＣ２０３は、記録ヘッド３による記録走査の際に、ＲＡＭ２０４の記憶領域に直接アクセスしながら記録ヘッドに対して記録素子（吐出用のヒータ）を駆動するためのデータを転送する。
【００２０】
次に、本実施形態の不揮発性記憶ユニット２０７の説明を行う。本実施形態の不揮発性記憶ユニットは不揮発性メモリーを有し、この不揮発性メモリー内の不揮発性の記憶領域に対するデータの読み書きは、不揮発性記憶ユニット内の揮発性のバッファーを介して行われる。具体的には、電源オン時に、記憶領域の内容がバッファーに書き込まれ、以降のデータの更新はバッファーにおいて行われる。そして、電源オフに移行する時に、バッファー内のデータが記憶領域に書き込まれることにより、データの更新が記憶領域に反映される。なお、電源オフ時以外の時点、例えば、バッファー内のデータが所定量を超えた時点で、バッファー内のデータが記憶領域に書き込まれるようにしてもよい。なお、上記のバッファーへのデータの読み書き、また不揮発性メモリーへのデータの読み書きは、ＣＰＵ２０１が実行してもよいし、不揮発性記憶ユニット２０７にＣＰＵ２０１とは別個のコントローラを設け、当該コントローラが上記読み書きを実行してもよい。
【００２１】
本実施形態では、バッファーに書き込まれたデータが、停電等により不揮発性の記憶領域への書き込みが行われなかった場合でも、起動時に所定の更新フラグを参照することで記憶領域に記憶された情報は更新前の状態であることを検出可能としたものである。また、本実施形態では、データ全消去を行う初期化操作をバッファーに対して行い、停電等で不揮発性の記憶領域への書き込みが行われなかった場合でも、起動時に所定の初期化フラグを参照してバッファーの内容を初期化することを可能にしたものである。
【００２２】
電源オフ時に不揮発性の記憶領域に情報記憶が行われる処理の例として、ブラウザー等において情報の記憶に使用されるＣｏｏｋｉｅファイルの保存処理がある。Ｃｏｏｋｉｅファイルには、例えばユーザがＷｅｂサービスを利用する際に入力した認証情報やパスワード等が記憶される。また本実施形態では、記録装置の電源ＯＮ時に、不揮発性メモリーのデータが上記バッファーに読み出される。そして、ユーザによる指示に応じて不揮発性メモリーへの書き込みや情報の更新が指示された場合に、書き込み対象のデータや更新されたデータがバッファーに記憶され、ユーザが電源スイッチ２２１を押下して記録装置の電源をＯＦＦするときに、それらのデータが不揮発性メモリーに書き込まれる。またユーザの指示に応じて不揮発性メモリーの初期化を行う場合、電源ＯＦＦ時に初期化が行われる。すると、ブラウザー上でのユーザによる操作後に、電源オフ時の保存処理が行われず停電すると、操作によって変更された情報は揮発性のバッファー内のＣｏｏｋｉｅファイルに反映されずに失われてしまう。
【００２３】
本実施形態では、バッファー内のデータに対する更新が指示されたことを示すフラグや、不揮発性のメモリーの情報に対する初期化処理が指示されたことを示すフラグが不揮発性メモリーに記憶される。そして、電源ＯＮ時に、これらのフラグが参照されることで、上記更新や初期化が行われずに電源がＯＦＦしてしまったことを記憶装置が認識することができる。よって、本実施形態を適用することで、電源オン時に、記憶されているＣｏｏｋｉｅファイルが古いことをユーザに表示し、動作を継続させることにより、情報が失われたことによるユーザの混乱を防ぐことができる。
【００２４】
また、ユーザが不揮発性の記憶領域に対して初期化操作を行った後に、電源オフ処理が行われず停電すると、初期化操作は反映されず、記憶領域内の情報は初期化されないまま残る。この状態で第三者へ不揮発性メモリーが譲渡されると、個人情報漏洩の危険性がある。これに対し、本実施形態では、初期化処理が指示されたことを示す上記フラグを電源オン時に参照するので、確実にＣｏｏｋｉｅファイルが初期化されることにより、情報漏洩の防止ができる。以下にこれらの処理の説明を行う。
【００２５】
不揮発性記憶ユニット２０７では、電源オフ後もデータの記憶が維持される。このため、不揮発性記憶ユニット２０７には、ＲＡＭ２０４に記憶されていた内容等が、ＣＰＵ２０１によって書き込みが行われる。ＣＰＵ２０１から不揮発性記憶ユニット２０７は、システムバス２０５によって接続されている。書込みフラグ２０８は、ＲＡＭ２０４に記憶され、電源オンの処理時にクリアされ、最初の書き込みでセットされるフラグで、更新フラグ３０４のセットを繰り返し行うことを防止する目的のフラグである。なお、書込みフラグ２０８は、電源オフの処理時にクリアされてもよい。
【００２６】
図３に、不揮発性記憶ユニット２０７の構成を示す。不揮発性メモリー３０１は、フラッシュＲＯＭで構成される不揮発性メモリーである。バッファー３０２は、記憶領域３０５に記憶されている内容の読み出し・書出し用バッファーである。不揮発性メモリー３０１は、初期化フラグ３０３、更新フラグ３０４、記憶領域３０５によって構成される不揮発性メモリーである。初期化フラグ３０３は、初期化操作の有無を、それぞれセット状態とクリア状態で記憶する初期化フラグである。更新フラグ３０４は、バッファー３０２の内容が更新されているか否かを、それぞれセット状態とクリア状態で記憶する更新フラグである。記憶領域３０５は、バッファー３０２の内容を不揮発記憶するための領域である。
【００２７】
バッファー３０２、初期化フラグ３０３、更新フラグ３０４、および記憶領域３０５は、内部バス４０６によって接続されている。初期化フラグ３０３は、初期化処理が行われた時にセット状態にされ、バッファー３０２の内容が記憶領域３０５に書き込まれた時にクリア状態にされる。更新フラグ３０４は、バッファー３０２に書き込みが行われた時にセット状態にされ、バッファー３０２の内容が記憶領域３０５に書き込まれた時にクリア状態にされる。記憶領域３０５はデータ記憶領域であり、バッファー３０２の内容が書き込まれ、バッファー３０２に記憶内容の読み出しが行われる。
【００２８】
バッファー３０２は、起動状態でデータの読み出し、書き込みが行われるバッファーであり、記憶領域３０５への読み出し、書き込みバッファーとして動作を行う。記憶領域３０５の内容がバッファー３０２に読みだされる処理は、電源オン時に行われる。バッファー３０２の内容は、電源オフ時の処理で記憶領域３０５に書き込まれる。不揮発性メモリー３０１の領域である初期化フラグ３０３、更新フラグ３０４、及び記憶領域３０５は、不揮発性記憶が行われるため、電源オフの間も記憶内容は保持される。
【００２９】
印刷装置１０１は、ユーザによる操作部からの入力によって電源オンまたは電源オフが行われ、電源オン時の処理または電源オフ時の処理を行う。初期状態として、電源オン前の印刷装置１０１は、初期化フラグ３０３及び更新フラグ３０４の両フラグともクリアされた状態とする。初期化フラグ３０３及び更新フラグ３０４が両方クリアされている場合、記憶領域３０５の内容がバッファー３０２に読み出された状態で電源オン時の処理が終了し、待機状態となる。なお、電源オン時の処理は図７のフローチャートで説明されるが、図７の詳細な説明は、初期化フラグ３０３及び更新フラグ３０４の両フラグがセットされる処理の説明の後で行う。
【００３０】
各フローチャートを使って処理の説明を図４乃至図７を用いて行う。なお、図４乃至図７におけるフローチャートにおける処理に対応するプログラムがＲＯＭ２０２に記憶されており、ＣＰＵ２０１がこれらのプログラムをＲＡＭ２０４上で実行することにより、図４乃至図７に示す処理が実現できる。更新フラグ３０４及び初期化フラグ３０３のセットの処理と、電源オフ時の処理及び電源オン時の処理の順で説明を行う。
【００３１】
図４は、電源オン時の処理終了後の待機状態での書き込み処理を示すフローチャートである。ＣＰＵ２０１が、ＲＡＭ２０４内の記憶データを不揮発性記憶ユニット２０７に対して書き込みを行う場合、ステップＳ４０１において、ＣＰＵ２０１は、まず、書き込むデータをバッファー３０２に書き込み更新を行う。ステップＳ４０２において、ＣＰＵ２０１は、書込みフラグ２０８の内容を参照して、電源オン後の最初の書き込みであるか否かの判断を行う。
【００３２】
書込みフラグ２０８がクリア状態の場合、ＣＰＵ２０１は、電源オン後最初の書き込み処理であると判断し（Ｓ４０２のＹｅｓ）、ステップＳ４０３で更新フラグ３０４をセット状態に変更する。その後、ステップＳ４０４において、ＣＰＵ２０１は、書込みフラグ２０８をセット状態にし、処理を終了する。一方、ステップＳ４０２において書込みフラグ２０８が既にセット状態である場合は（Ｓ４０２のＮｏ）、ＣＰＵ２０１は、既に更新フラグ３０４がセットされていると判断し、何もせずに処理を終了する。
【００３３】
このように、待機状態での書き込み処理において、ＣＰＵ２０１は記憶領域３０５への書き込みを行わず、バッファー３０２の内容の変更のみを行う。これにより、不揮発性メモリー３０１への書き込み時間に関係なく、ＣＰＵ２０１は書き込み処理を進めることが可能となる。また、更新フラグ３０４と書込みフラグ２０８を使って最初の書き込み処理時に両フラグをセット状態にすることにより、繰り返し書き込み処理が行われた場合でも不揮発性メモリーの書き込み時間に関係なく書き込み処理を進めることが可能となる。
【００３４】
図５は、待機状態での初期化操作の処理を示すフローチャートである。ユーザによる操作部の操作によって記憶領域３０５の初期化操作が指示された場合、ステップＳ５０１でバッファー３０２の初期化が行われる。ステップＳ５０２で、ＣＰＵ２０１は初期化フラグ３０３をセットし、記憶領域３０５に対する初期化処理を指示するための初期化操作が行われたことが記憶され、処理は終了する。このように、初期化処理において記憶領域３０５において初期化は行われず、バッファー３０２の初期化処理のみが行われる。これにより、不揮発性メモリーの書き込み時間に関係なく、ＣＰＵ２０１は書き込み処理を進めることが可能となる。
【００３５】
図６は、電源オフ時の処理のフローチャートである。図６のフローチャートに示す処理は電源オン状態においてユーザが電源スイッチを押下したときに実行される。ステップＳ６０１において、ＣＰＵ２０１は、更新フラグ３０４の内容の判断を行う。更新フラグ３０４がセット状態である場合は（Ｓ６０１のＹｅｓ）、ステップＳ６０２に移り、バッファー３０２に記憶されている内容を記憶領域３０５へ書き込みを行う。ステップＳ６０３において、ＣＰＵ２０１は、更新フラグ３０４をクリア状態に変更する。ステップＳ６０４で、ＣＰＵ２０１は、初期化フラグ３０３の内容の判断を行う。初期化フラグ３０３がクリア状態である場合は（Ｓ６０４のＮｏ）処理を終了する。初期化フラグ３０３がセット状態である場合は（Ｓ６０４のＹｅｓ）、ステップＳ６０７に移り、ＣＰＵ２０１は、初期化フラグ３０３をクリア状態に変更して処理を終了する。
【００３６】
一方、ステップＳ６０１において更新フラグ３０４がクリア状態である場合は（Ｓ６０１のＮｏ）、処理はステップＳ６０５に移る。ステップＳ６０５において、ＣＰＵ２０１は、初期化フラグ３０３の内容の判断を行う。初期化フラグ３０３がクリア状態である場合は（Ｓ６０５のＮｏ）、処理を終了する。ステップＳ６０５で初期化フラグ３０３がセット状態である場合は（Ｓ６０５のＹｅｓ）、処理はステップＳ７０６に移る。ステップＳ６０６において、ＣＰＵ２０１は、ステップＳ６０２と同様の処理を行い、処理はステップＳ６０７に移る。ステップＳ６０７において、ＣＰＵ２０１は、初期化フラグ３０３をクリア状態に変更して処理を終了する。図６に示すように、電源オン状態においてユーザが電源スイッチを押下して電源オフ状態に移行する場合、記憶領域３０５へのデータ更新や、初期化処理が実行されるとともに、Ｓ６０３、Ｓ６０７において更新フラグ、初期化フラグはクリアされる。
【００３７】
図７は、電源オン時の処理のフローチャートである。図７のフローチャートに示す処理は電源オフ状態においてユーザが電源スイッチを押下したときに実行される。ステップＳ７０１で、ＣＰＵ２０１は、初期化フラグ３０３の内容の判断を行う。上記のように、電源オン状態において初期化操作が行われ、ユーザが電源スイッチを押下して電源オフ状態に移行した場合、初期化フラグはクリアされる。従って電源オン時に初期化フラグがセットされている場合、前回の電源オン時に初期化処理が指示されたにも関わらず、初期化処理が実行されずに電源がオフになってしまったと判断することができる。
【００３８】
初期化フラグ３０３がセット状態である場合には（Ｓ７０１のＹｅｓ）、処理はステップＳ７０２に移る。ステップＳ７０２において、ＣＰＵ２０１は、バッファー３０２の内容の初期化を行い、処理はステップＳ７０３に移る。初期化フラグがクリア状態である場合は（Ｓ７０１のＮｏ）、処理はステップＳ７０６に移る。ステップＳ７０６において、ＣＰＵ２０１は、記憶領域３０５の内容をバッファー３０２に読み出しを行い、処理はステップＳ７０３に移る。
【００３９】
ステップＳ７０３で、ＣＰＵ２０１は、更新フラグ３０４の内容の判断を行う。上記のように、電源オン状態において不揮発性メモリーに記憶されている情報の更新が指示され、ユーザが電源スイッチを押下して電源オフ状態に移行した場合、更新フラグ３０４はクリアされる。従って電源オン時に更新フラグ３０４がセットされている場合、前回の電源オン時にデータ更新が指示されたにも関わらず、データ更新が実行されずに電源がオフになってしまったと判断することができる。
【００４０】
更新フラグ３０４がクリア状態である場合は（Ｓ７０３のＮｏ）、処理はステップＳ７０５に移る。更新フラグ３０４がセット状態である場合は（Ｓ７０３のＮｏ）、処理はステップＳ７０４に移る。ステップＳ７０４において、ＣＰＵ２０１は、更新エラーの表示を表示部２１２に対して行い、処理はステップＳ７０５に移る。ステップＳ７０５では、ＣＰＵ２０１は、更新フラグ３０４の内容のクリアを行い、処理を終了する。なお、図７において、ステップＳ７０１、Ｓ７０２、Ｓ７０６の処理と、ステップＳ７０３〜Ｓ７０５の処理の順を逆にしても構わない。
【００４１】
ところで、図５のフローに従って書き込み処理が行われた後、図７のフローの電源オフ時の処理の前に、停電等電源供給の中断が発生すると、データが記憶領域３０５へ書き込まれず、書き込み前のままの状態になる。この時、本実施形態では、更新フラグ３０４がセット状態であるため、図７のフローに従って電源オン時の処理を行うことによってデータの更新が失敗したことを印刷装置１０１のユーザに表示部２１２で表示することが可能になる。
【００４２】
また、図５のフローに従って初期化操作が行われた後、図７のフローの電源オフ時の処理の前に停電等電源供給の中断が発生すると、データが記憶領域３０５へ書き込まれず、書き込み前のままの状態になる。この時、初期化フラグ３０３がセットされているため図７のフローに従って電源オン時の処理を行うことによってバッファー３０２の内容を初期化することが可能になる。
【００４３】
本実施形態によれば、電源オン時の処理において、ＣＰＵ２０１が初期化フラグ３０３を参照することで、初期化操作後にバッファー３０２の内容が記憶領域３０５への書き込みが行われたか否かが判断可能になる。書き込みが行われていない場合は、ＣＰＵ２０１は、バッファー３０２の内容を初期化し、電源オフ時にバッファー３０２を記憶領域３０５へ書き込みを行うまで初期化フラグ３０３のクリアを行わない。これにより、不揮発性記憶ユニット２０７への初期化操作を確実に行うことができる。
【００４４】
また、電源オン時の処理において、ＣＰＵ２０１が更新フラグ３０４の内容を参照することで、バッファー３０２の内容が更新された後でバッファー３０２から記憶領域３０５への書き込みが行われずに電源が落とされたかが判断可能になる。ＣＰＵ２０１が、書き込みが行われずに電源が落とされたことを検知した場合、不揮発性記憶ユニット２０７に記憶された内容は更新されなかった古い内容であることをユーザに通知するための表示を行う制御を行う。なお、ユーザへの通知の方法は表示に限らず、例えば不図示のスピーカーによる警告音の出力など、各種の通知方法を用いることができる。
【００４５】
すなわち、停電等による編集の中断が行われた場合でも、その後の電源オン時に初期化フラグを参照して初期化処理が行われることで、初期化操作によるデータの削除等が確実に実行することが可能となる。また、編集中に停電等による編集の中断が行われた場合にも、電源オン時に更新フラグを参照することで、編集中の内容が失われてしまったことの検知を可能にし、記憶されている内容が編集前の状態であることを確実に表示することが可能となる。
【００４６】
なお、以上の実施形態で説明した処理は、Ｃｏｏｋｉｅファイルの保存だけでなくメールアドレス情報やＦＡＸ送信先情報等のデータ保存等への適用も考えられる。記憶領域３０５と初期化フラグ３０３、更新フラグ３０４が同一の不揮発性メモリーに設けられても良い。記憶領域３０５と初期化フラグ３０３、更新フラグ３０４が異なる不揮発性メモリーに設けられても良い。
【００４７】
また、以上の実施形態では、不揮発性メモリーへの記憶制御を行う装置の例として、印刷を行う印刷装置を例に説明したが、これに限らず、ＰＣやスキャナ等、種々の装置に本実施形態を適用してもよい。
【００４８】
また、以上の実施形態では、更新や初期化の指示が行われたことを示す情報としてフラグを例に説明したが、それらの情報の形式はフラグに限らず、各種の形式を用いることができる。各種の形式を用いる場合、更新や初期化が指示されると、その各種の情報が有効になる。そして、電源がオン状態からオフ状態に移行するときには上記フラグがクリアされるのと同様に、更新や初期化の指示が行われたことを示す上記情報が無効化される。なお、情報の有効化／無効化の処理は、例えば当該情報の記憶／削除により行われてもよい。
【００４９】
なお、以上の実施形態では、不揮発性メモリーに既に記憶されているデータへの制御（更新、初期化）について説明したが、当該不揮発性メモリーに新たなデータを書き込む場合にも、本実施形態を適用することができる。
【００５０】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００５１】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【図１】
2015036861.tif 000003
【図２】
2015036861.tif 000004
【図３】
2015036861.tif 000005
【図４】
2015036861.tif 000006
【図５】
2015036861.tif 000007
【図６】
2015036861.tif 000008
【図７】
2015036861.tif 000009