(57)【要約】【課題】装置の稼動情報を記憶する手段として、システムのシャットダウン時に、記憶させたい情報をＥＥＰＲＯＭの該当アドレスに書き込みする方法が一般的であった。しかし、予期せぬ停電やユーザーの操作ミスにより、正確な稼動情報が記憶できない懸念がある。  一方、この問題の回避策として、稼動情報に変化が生じる度にメモリに記憶する方法があるが、記憶メモリの書き込み保証回数（記憶メモリの寿命）が、装置寿命に対して十分でない為、この手法を用いることが出来ない場合が多かった。【課題を解決する為の手段】本発明の稼動情報記憶手段は、稼動情報記憶領域を複数ページ保持し、この複数ページの記憶領域を新旧管理する「稼動情報記憶ページ管理手段」を具備する。【選択図】    図１
2004341783.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する第１のメモリとデータを読み出すデータ読み出しステップと、前記第１のメモリに記憶されたデータと前記データ読み出し手段の読み出しデータを比較するデータ比較ステップとを備え、
前記データ比較ステップにより比較した結果不一致であった場合、前記データ読み出しステップの読み出しデータを第２のメモリに記憶するステップとを有することを特徴とするデータ記憶方法。
【請求項２】
前記第２のメモリに記憶されたデータが有効であることを示す識別データを前記第２のメモリに書き込む識別データ書き込みステップをさらに有することを特徴とする請求項１に記載のデータ記憶方法。
【請求項３】
前記識別データ書き込みステップは前記第１のメモリに記憶されたデータが無効になったことを示す識別データを前記第１のメモリに書き込むステップとを有することを特徴とする請求項２に記載のデータ記憶方法。
【請求項４】
前記データ比較ステップにより比較した結果、一致していた場合、前記第１のデータを有効にするステップとを有することを特徴とする請求項１に記載のデータ記憶方法。
【請求項５】
前記第２のメモリに前記データ読み出しステップの読み出しデータの記憶が完了したか否かを判定する判定ステップをさらに有することを特徴とする請求項１に記載のデータ記憶方法。
【請求項６】
前記判定ステップで判定した結果、前記データ読み出しステップの読み出しデータの記憶が完了しなかった場合、前記第１のメモリが有効であることを示す前記識別データを維持するステップとを有することを特徴とする請求項５に記載のデータ記憶方法。
【請求項７】
前記第１及び第２のメモリの各領域に書き込み回数に関連する情報を記憶する書き込み回数記憶ステップを有することを特徴とする請求項１から６に記載のデータ記憶方法。
【請求項８】
前記書き込み回数が所定の値に達した場合、前記第１又は第２のメモリ領域を第３、又は第４の領域にシフトするステップとを有することを特徴とする請求項７に記載のデータ記憶方法。
【請求項９】
前記書き込み回数が所定の値に達した場合、前記第１又は第２のメモリ領域の使用禁止を示す識別データを第５のメモリ領域に書き込むステップを有することを特徴とする請求項８に記載のデータ記憶方法。
【請求項１０】
データを記憶する第１のメモリとデータを読み出すデータ読み出し手段と、前記第１のメモリに記憶されたデータと前記データ読み出し手段の読み出しデータを比較するデータ比較手段と、
前記データ比較手段により比較した結果不一致であった場合、前記データ読み出し手段の読み出しデータを第２のメモリに記憶する手段とを備えたことを特徴とするデータ記憶装置。
【請求項１１】
前記第２のメモリに記憶されたデータが有効であることを示す識別データを前記第２のメモリに書き込む識別データ書き込み手段をさらに有することを特徴とする請求項１０に記載のデータ記憶装置。
【請求項１２】
前記識別データ書き込み手段は前記第１のメモリに記憶されたデータが無効になったことを示す識別データを前記第１のメモリに書き込む手段を有することを特徴とする請求項１０に記載のデータ記憶装置。
【請求項１３】
前記データ比較手段により比較した結果、一致していた場合、前記第１のデータを有効にする手段を有することを特徴とする請求項１０に記載のデータ記憶装置。
【請求項１４】
前記第２のメモリに前記データ読み出し手段の読み出しデータの記憶が完了したか否かを判定する判定手段をさらに有することを特徴とする請求項１０に記載のデータ記憶装置。
【請求項１５】
前記判定手段で判定した結果、前記データ読み出し手段の読み出しデータの記憶が完了しなかった場合、前記第１のメモリが有効であることを示す前記識別データを維持する手段を有することを特徴とする請求項１４に記載のデータ記憶装置。
【請求項１６】
前記第１及び第２のメモリの各領域に書き込み回数に関連する情報を記憶する書き込み回数記憶領域を制御する手段を有することを特徴とする請求項１０から１５に記載のデータ記憶装置。
【請求項１７】
前記書き込み回数が所定の値に達した場合、前記第１又は第２のメモリ領域を第３、又は第４の領域にシフトする手段を有することを特徴とする請求項１６に記載のデータ記憶装置。
【請求項１８】
前記書き込み回数が所定の値に達した場合、前記第１又は第２のメモリ領域の使用禁止を示す識別データを第５のメモリ領域に書き込む手段を有することを特徴とする請求項１７に記載のデータ記憶装置。
【請求項１９】
前記第１及び第２のメモリは不揮発性のメモリである
ことを特徴とする請求項１０から１８に記載のデータ記憶装置。
【請求項２０】
前記第１及び第２のメモリは電気的に消去可能なメモリであることを特徴とする請求項１０から１９に記載のデータ記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シリアルナンバーの他、エラーの発生情報や動作回数など、装置の稼動情報を記憶する機能を有する装置における、記憶データの信頼性（保持）向上させるデータ記憶方法及びデータ記憶装置に関する。
【０００２】
【従来の技術】
従来、装置の稼動情報を記憶する手段として、電気的に消去／書き込みが可能な不揮発性メモリであるＥＥＰＲＯＭが用いられ、記憶させたい情報をＥＥＰＲＯＭの同じアドレスに対して繰返し書き込みを行なう方法が一般的であった。
また、一般的な装置では、システムのシャットダウン時に、上記方法によって稼動情報を記憶する手法が用いられている。
【０００３】
（例えば、特許文献１参照）
【特許文献１】
特開平１０−６４２９０号
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来例のような記憶方法では、予期せぬ停電やユーザーの操作ミスにより、所定のシャットダウン処理が実行されずに電源がＯＦＦされると、稼動情報をメモリに記憶する機会を逸してしまい、正確な稼動情報を記憶できない問題があった。
【０００５】
一方、この問題の回避策として、稼動情報に変化が生じる度にメモリに記憶する方法があるが、記憶メモリの書き込み保証回数（記憶メモリの寿命）が、装置寿命に対して十分でない為、この手法を用いることが出来ない場合が多々あった。
【０００６】
例えば、プリンタの寿命は１日に８時間稼動することを前提として５年間保証することを基準としている。一方、記憶メモリの書き込み回数の保証値は、例えば１０万回である。これらから計算すると、
１０００００÷（８×３６５×５）≒６
となり、１時間に６回、つまり１０分毎の書き込みが可能である。しかし、様々なユーザーの実使用を想定することは極めて困難であり、先に述べた様に、「稼動情報に変化が生じる度にメモリに記憶する」には、書き込み回数が耐久マージンを超えてしまう懸念がある。
【０００７】
本発明は、上記従来例を鑑みて、これらの課題を解決するためのデータの記憶方法を提案するものである。
【０００８】
【課題を解決するための手段】
以上に鑑み、本発明は為された。
【０００９】
即ち、本発明によるデータ記憶方法は、
データを記憶する第１のメモリとデータを読み出すデータ読み出しステップと、前記第１のメモリに記憶されたデータと前記データ読み出し手段の読み出しデータを比較するデータ比較ステップとを備え、
前記データ比較ステップにより比較した結果不一致であった場合、前記データ読み出しステップの読み出しデータを第２のメモリに記憶するステップとを有することを特徴とする。
【００１０】
又、本発明によるデータ記憶方法は、
前記第２のメモリに記憶されたデータが有効であることを示す識別データを前記第２のメモリに書き込む識別データ書き込みステップをさらに有することを特徴とする。
【００１１】
又、本発明によるデータ記憶方法は、
前記識別データ書き込みステップは前記第１のメモリに記憶されたデータが無効になったことを示す識別データを前記第１のメモリに書き込むステップとを有することを特徴とする。
【００１２】
又、本発明によるデータ記憶方法は、
前記データ比較ステップにより比較した結果、一致していた場合、前記第１のデータを有効にするステップとを有することを特徴とする。
【００１３】
又、本発明によるデータ記憶方法は、
前記第２のメモリに前記データ読み出しステップの読み出しデータの記憶が完了したか否かを判定する判定ステップをさらに有することを特徴とする。
【００１４】
又、本発明によるデータ記憶方法は、
前記判定ステップで判定した結果、前記データ読み出しステップの読み出しデータの記憶が完了しなかった場合、前記第１のメモリが有効であることを示す前記識別データを維持するステップとを有することを特徴とする。
【００１５】
又、本発明によるデータ記憶方法は、
前記第１及び第２のメモリの各領域に書き込み回数に関連する情報を記憶する書き込み回数記憶ステップを有することを特徴とする。
【００１６】
又、本発明によるデータ記憶方法は、
前記書き込み回数が所定の値に達した場合、前記第１又は第２のメモリ領域を第３、又は第４の領域にシフトするステップとを有することを特徴とする。
【００１７】
又、本発明によるデータ記憶方法は、
前記書き込み回数が所定の値に達した場合、前記第１又は第２のメモリ領域の使用禁止を示す識別データを第５のメモリ領域に書き込むステップを有することを特徴とする。
【００１８】
本発明によるデータ記憶装置は、
データを記憶する第１のメモリとデータを読み出すデータ読み出し手段と、前記第１のメモリに記憶されたデータと前記データ読み出し手段の読み出しデータを比較するデータ比較手段と、
前記データ比較手段により比較した結果不一致であった場合、前記データ読み出し手段の読み出しデータを第２のメモリに記憶する手段とを備えたことを特徴とする。
【００１９】
又、本発明によるデータ記憶装置は、
前記第２のメモリに記憶されたデータが有効であることを示す識別データを前記第２のメモリに書き込む識別データ書き込み手段をさらに有することを特徴とする。
【００２０】
又、本発明によるデータ記憶装置は、
前記識別データ書き込み手段は前記第１のメモリに記憶されたデータが無効になったことを示す識別データを前記第１のメモリに書き込む手段を有することを特徴とする。
【００２１】
又、本発明によるデータ記憶装置は、
前記データ比較手段により比較した結果、一致していた場合、前記第１のデータを有効にする手段を有することを特徴とする。
【００２２】
又、本発明によるデータ記憶装置は、
前記第２のメモリに前記データ読み出し手段の読み出しデータの記憶が完了したか否かを判定する判定手段をさらに有することを特徴とする。
【００２３】
又、本発明によるデータ記憶装置は、
前記判定手段で判定した結果、前記データ読み出し手段の読み出しデータの記憶が完了しなかった場合、前記第１のメモリが有効であることを示す前記識別データを維持する手段を有することを特徴とする。
【００２４】
又、本発明によるデータ記憶装置は、
前記第１及び第２のメモリの各領域に書き込み回数に関連する情報を記憶する書き込み回数記憶領域を制御する手段を有することを特徴とする。
【００２５】
又、本発明によるデータ記憶装置は、
前記書き込み回数が所定の値に達した場合、前記第１又は第２のメモリ領域を第３、又は第４の領域にシフトする手段を有することを特徴とする。
【００２６】
又、本発明によるデータ記憶装置は、
前記書き込み回数が所定の値に達した場合、前記第１又は第２のメモリ領域の使用禁止を示す識別データを第５のメモリ領域に書き込む手段を有することを特徴とする。
【００２７】
又、本発明によるデータ記憶装置は、
前記第１及び第２のメモリは不揮発性のメモリであることを特徴とする。
【００２８】
又、本発明によるデータ記憶装置は、
前記第１及び第２のメモリは電気的に消去可能なメモリであることを特徴とする。
【００２９】
【作用】
前記構成によれば、記憶メモリの保証書き込み回数以上の書き込みが可能となることから、「稼動情報に変化が生じる度にメモリに記憶する」ことが現実的になり、予期せぬシステムダウンが生じても、正確な稼動情報が保持できる。
【００３０】
また、最新のデータだけでなく、少なくとも一つの旧データが記憶されているので、データの破損等によりＳＵＭチェックエラーが発生した場合でも、旧データを損なう懸念は回避できる。
【００３１】
【発明の実施の形態】
以下、図面を参照して本発明に係わる実施例について詳細に説明する。
【００３２】
（第１の実施例）
図１は、本実施例に使用したフラッシュメモリ（１００）の構成、及びデータ記憶領域のマップを示した図である。
【００３３】
フラッシュメモリ（１００）は、複数のセクタ（１０１，１０２等）で構成され、セクタ単位での消去とバイト及びワード書き込みが可能なメモリである。セクタＳＡ１（１０１）は、稼動情報記憶領域として使用し、その他のセクタは、制御プログラムが格納されている。
【００３４】
稼動情報記憶領域（１０１）は、さらにページ１（１０３）とページ２（１０４）に分けて使用し、また識別フラグ（１０５）（１０６）には、どちらのページが有効かを示す識別情報が書き込まれている。図１の例では、識別フラグ（１０５）の値として、「１」を有効値としているが、その他の数値や文字列でも良い。
【００３５】
情報処理装置の実行プログラムとして動作する本発明の実施形態を以下に図を用いて詳細に説明する。
【００３６】
本発明を実施した記録装置の電気的なブロック図を図９に示す。
【００３７】
ホストコンピュータ（ホストＰＣ）９００は、記録に使用する記録データを記録装置のインタフェースコントローラ９０２に転送して記録開始を指示する
また、記録する用紙の枚数、及び用紙の種類やサイズ等を指示するコマンドをインタフェースコントローラ９０２に転送して指示できる。
【００３８】
ＣＰＵ（中央演算処理装置）９０１は記録装置（プリンタ）の記録データの受信、記録動作、用紙のハンドリング等全般の制御を掌る演算処理装置で、後述する図２，５及び８に示されるフローに対応するＲＯＭ９０３に記憶された制御プログラムに基づいて制御を実行する。
ＣＰＵ９０１は受信したコマンドを解析後、記録データの各色成分のイメージデータをイメージＲＡＭ９０４にビットマップ展開して描画する。
【００３９】
記録前の動作処理としてＣＰＵ９０１は入出力ポート（Ｉ／Ｏ）９０７、モータ駆動部９０８を介してキャッピングモ−タ９０９、及びヘッドＵ／Ｄモータ９１０を相互に駆動、記録ヘッド９２１〜９２６をキャッピング位置から記録位置へ移動させる。
【００４０】
ほぼ同時に不図示の給紙部から用紙を給送するための給紙モータ９１２、そして記録位置に静止した記録ヘッド９２１〜９２６下部を通過しながら記録動作させるために、用紙を定速度で搬送する搬送モータ９１１を起動する。
【００４１】
定速度で搬送される用紙の記録タイミングを決定するために用紙先端検知センサ９１４で用紙の先端位置を検出する。用紙搬送に同期して、ＣＰＵ９０１はイメージＲＡＭ９０４から対応する色のイメージデータを順次読み出し、記録ヘッド制御回路９２０を介して、対応する色のインクを吐出する記録ヘッド９２１〜９２６にデータ転送し、カラー記録する。
【００４２】
操作パネル９１３は、使用する用紙サイズの設定の他、インク無しなどの表示、また、Ｏｎｌｉｎｅ／Ｏｆｆｌｉｎｅの切り換え操作等を行なう部分である。
【００４３】
ＣＰＵ９０１は作業用のメモリとしてワークＲＡＭ９０５を使用する。
【００４４】
不揮発性メモリ９０６は本発明により制御される電気的に書き換え可能なメモリで、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、或いはフラッシュＲＯＭ等が使用される。
【００４５】
不揮発性メモリ９０６には例えば現在設定されている用紙サイズ（幅、長さ）情報等、が記憶される。
【００４６】
又記録ヘッド相互の微小記録位置調整値等、装置特有のパラメータも該当する情報である。
【００４７】
記録装置の設定が変更される度、或いは記録装置の電源ＯＦＦシーケンスにて最新の設定内容が不揮発性メモリ９０６に書き込みされる。
【００４８】
図２は、本実施例に使用した稼動情報記憶のフローチャートを示す。
【００４９】
装置の電源投入時に、第１図で説明した稼動情報記憶領域（１０１）内の識別フラグ（１０５）（１０６）を検索し、有効となっているページを決定する（２０１）。
【００５０】
図１の例では、識別フラグ（１０５）が有効値「１」となっているので、ページ１（１０３）が有効ページである。
【００５１】
有効ページが決定したら、有効ページのデータをＲＡＭ９０５にコピーし（２０２）、サムチェック（２０３）を行なう。
【００５２】
サムチェックの結果が不一致の場合（２０３−Ｎｏ）には、初期値をＲＡＭに設定後（不図示）、セクタ消去（２０８）によって、ページ１（１０３）とページ２（１０４）を消去し、消去されたページ１（１０３）へ、ＲＡＭデータを保存（更新）する（２０９）。
【００５３】
サムチェックがＯＫの場合（２０３−Ｙｅｓ）には（通常はＯＫである）、次の稼動情報記憶領域を決定する。第１図の例では、ページ１（１０３）が有効ページであるので、保存領域アドレス決定（２０４）のステップで決定されるアドレスは、ページ２（１０４）である。
【００５４】
次に、データ更新フラグがセットされたら（２０５−Ｙｅｓ）、ステップ（２０４）で決定した保存領域アドレスがページ１（１０３）の場合には、セクタ消去（２０８）し、保存データをページ１（１０３）に書き込み、続いて識別フラグ（１０５）に有効値「１」を書き込む（２０９）。
【００５５】
また、図１のように、有効領域がページ１（１０３）で、次の保存領域アドレスがページ２（２０４）の場合には、セクタ消去（２０８）せずに、前ページ無効処理（２０７）を実行する。すなわち、前記憶領域であるページ１（１０３）の識別フラグ（１０５）に無効値「００」を、ページ２（１０４）に保存データを、さらに識別フラグ（１０６）に有効値「１」を書き込む。無効値の値は、「０」である必要は無いが、フラッシュロムは「１⇒０」に出来るが、「０⇒１」は書き込めないので、先の有効値との兼ね合いで制限が発生する。
【００５６】
図３は、稼動情報記憶領域の各フェーズにおける模式図を示す。
【００５７】
図３−１は、セクタ消去（２０８）後の稼動情報記憶領域を示しており、ページ１（１０３）及びページ２（１０４）が書き込み可能な状態である。
【００５８】
図３−２は、ページ１（１０３）に稼動情報が更新された状態を示しており、識別フラグ（１０５）に有効値「１」が書き込まれている。このとき、ページ２（１０４）及びページ２の識別フラグ（１０６）は、セクタ消去（２０８）後の図３−１と同じ状態であり、書き込みが可能な状態である。
【００５９】
すなわち、図３‐２の状態から、データ更新する場合には、そのままページ２（１０４）に更新データを書き込み、識別フラグ（１０５）には「０」を（全ページ無効処理２０７）、そして識別フラグ（１０６）に「１」を書き込めば良い（図３−３）。
【００６０】
図３−３は、ページ１（１０３）には旧データが、ページ２（１０４）には有効データが保存されている状態である。この状態から、データ更新する場合には、セクタ消去（２０８）によって、第３‐１図の状態にしてから、ページ１（１０３）に更新データを書き込む（図３−２）。
【００６１】
（第２の実施例）
図４は、本実施例に使用したフラッシュメモリ（４００）の構成、及びデータ記憶領域のマップを示した図である。
【００６２】
フラッシュメモリ（４００）は、複数のセクタ（４０１，４０２等）で構成され、セクタ単位での消去とバイト及びワード書き込みが可能なメモリである。セクタＳＡ１（４０１）及びセクタＳＡ２（４０２）は、稼動情報記憶領域として使用し、その他のセクタは、制御プログラムが格納されている。
【００６３】
稼動情報記憶領域（４０１）は、ページ１（４０３）とページ２（４０４）に、稼動情報記憶領域（４０２）は、ページ３（４０８）とページ４（４０９）に分けて使用し、また、識別フラグ（４０５）（４０６）、（４１０）（４１１）には、どのページが有効かを示す識別情報が書き込まれている。
【００６４】
さらに、書き込み回数カウンタ（４０７）（４１２）には、それぞれのセクタの書き込み回数が書き込まれており、メモリの書き込み保証回数との比較に使用される。
【００６５】
図５は、本実施例に使用した稼動情報記憶手段のフローチャートを示す。
【００６６】
装置の電源投入時に、図４で説明した稼動情報記憶領域（４０１）内の識別フラグ（４０５）（４０６）、（４１０）（４１１）を検索し、有効値「１」となっているページを識別する（５０１）。
【００６７】
有効ページが決定したら、有効ページのデータをＲＡＭ９０５にコピーし（５０２）、ＳＵＭ値がＯＫなら（５０３−Ｙｅｓ）、次の稼動情報記憶領域を決定する（５０４）。
【００６８】
次に、データ更新フラグがセットされたら（５０５−Ｙｅｓ）、ステップ（５０４）で決定した保存領域アドレスがページ１（５０３）の場合には、セクタ消去（５０８）し、書き込み回数カウンタの値を更新する（５１０）。
【００６９】
この時、書き込み回数カウンタ（４０７）と、メモリの書き込み耐久回数（１０万回）とを比較し、耐久回数を超えたら（５１１−Ｙｅｓ）、セクタ１（４０１）の使用は停止し、以降は、セクタ２（４０２）を稼動情報記憶領域として使用する（５１２）。
【００７０】
つまり、図４の場合、ページ１（４０３）とページ２（４０４）は使用せず、ページ３（４０８）とページ４（４０９）を新たな稼動情報記憶領域として使用する。
【００７１】
図６は、稼動情報記憶領域の各フェーズに置ける模式図を示す。
【００７２】
図６−１は、ページ１（４０３）に稼動情報が更新された状態を示しており、識別フラグ（４０５）が有効値「１」となっている。このとき、ページ２（４０４）及びページ２の識別フラグ（４０６）は、書き込みが可能な状態である。
【００７３】
すなわち、図６−１の状態からデータ更新する場合には、そのままページ２（４０４）に更新データを書き込み、識別フラグ（４０５）に「０」を（全ページ無効処理５０７）、識別フラグ（４０６）に「１」を書き込めば良い（図６−２）。
【００７４】
図６−２では、ページ１（４０３）に旧データが、ページ２（４０４）には有効データが保存されている状態を示す。この状態から、データ更新する場合には、セクタ１書き込み回数カウンタ（４０７）の値によって、矢印１（６０１）と矢印２（６０２）に制御が分かれる。
【００７５】
つまり、セクタ１書き込み回数カウンタ（４０７）がメモリの書き込み耐久回数（１０万回）未満であれば、制御は矢印１（６０１）であり、セクタ消去（５０８）してから、ページ１（４０３）に更新データを書き込み、識別フラグ（４０６）には「１」を書き込み、さらに、セクタ１書き込み回数カウンタ（４０７）をインクリメントする（図６−１）。
【００７６】
一方、セクタ１書き込み回数カウンタ（４０７）がメモリの書き込み耐久回数（１０万回）を超えた場合には、制御は矢印２（６０２）となり、ページ３（４０８）に更新データを書き込み、識別フラグ（４０６）を無効、識別フラグ（４１０）を有効にする（図６−３）。（以降、セクタ１は使用しない。）
図６−３は、ページ３（４０８）に稼動情報が更新された状態を示しており、識別フラグ（４１０）が有効値「１」となっている。このとき、ページ４（４０９）及びページ４の識別フラグ（４１１）は、書き込みが可能な状態である。すなわち、図６−３図の状態からデータ更新する場合には、そのままページ４（４０９）に更新データを書き込み、識別フラグ（４１０）を無効に、識別フラグ（４１１）を有効にすれば良い（図６−４）。
【００７７】
図６−４は、ページ３（４０８）には旧データが、ページ４（４０９）には有効データが保存されている状態である。この状態から、データ更新する場合には、セクタ２を消去（５０８）してから、ページ３（４０８）に更新データを書き込み、識別フラグ（４１０）に「１」を書き込み、さらに、セクタ２書き込み回数カウンタ（４１２）をインクリメントする（図６−３）。
【００７８】
（第３の実施例）
本実施例に使用するフラッシュメモリ（４００）の構成、及びデータ記憶領域のマップは図４と同じである。
フラッシュメモリ（４００）は、複数のセクタ（４０１，４０２等）で構成され、セクタ単位での消去とバイト及びワード書き込みが可能なメモリである。セクタＳＡ１（４０１）及びセクタＳＡ２（４０２）は、稼動情報記憶領域として使用し、その他のセクタは、制御プログラムが格納されている。
【００７９】
稼動情報記憶領域（４０１）は、ページ１（４０３）とページ２（４０４）に、稼動情報記憶領域（４０２）は、ページ３（４０８）とページ４（４０９）に分けて使用し、また、識別フラグ（４０５）（４０６）（４１０）（４１１）には、どのページが有効かを示す識別情報が書き込まれている。さらに、書き込み回数カウンタ（４０７）（４１２）には、それぞれのセクタの書き込み回数が書き込まれており、メモリの書き込み保証回数との比較に使用されている。
【００８０】
図７は、稼動情報記憶領域の各フェーズにおける模式図を示す。
【００８１】
図７−１は、ページ１（４０３）の稼動情報が有効な状態を示しており、ページ３（４０８）及びページ４（４０９）には旧情報が記憶されている（旧情報のページは、識別フラグが無効値「０」になっており、有効ページと判別できる）。このとき、ページ２（４０４）は、書き込みが可能な状態である。
【００８２】
図７−１の状態からデータを更新する場合には、まず、セクタ２（ページ３（４０８）及びページ４（４０９））を消去する。次に、ページ２（４０４）に記憶情報を書き込み、識別フラグ（４０６）を有効にする。最後に、ページ１の識別フラグ（４０５）を無効にする〈図７−２〉。
【００８３】
図７−２では、ページ１（４０３）に旧データが、ページ２（４０４）には有効データが保存されている状態である。この状態から、データを更新する場合には、ページ３（４０８）に更新データを書き込み、識別フラグ（４１０）を有効にし、ページ２（４０４）の識別フラグ（４０６）を無効にする（図７−３）。
【００８４】
図７−３では、ページ１（４０３）及びページ２（４０４）に旧データが、ページ３（４０８）には有効データが保存されている状態である。この状態から、データを更新する場合には、まず、セクタ１（ページ１（４０３）及びページ２（４０４））を消去し、次に、ページ４（４０９）に更新データを書き込み、識別フラグ（４１１）を有効にし、最後に、ページ３（４０８）の識別フラグ（４１０）を無効にする（図７−４）。
【００８５】
図７−４では、ページ３（４０８）に旧データが、ページ４（４０９）には有効データが保存されている状態である。この状態から、データを更新する場合には、ページ１（４０３）に更新データを書き込み、識別フラグ（４０５）を有効にし、ページ４（４０９）の識別フラグ（４１１）を無効にする（図７−１）。
【００８６】
図８は、記憶データが破損した際の動作フローチャートを示す。
図７で説明したように、本実施例では、更新した記憶データの他に、少なくとも一つの旧データを保持しているので、データが破損していた場合に、単純にリセットするのではなく、旧データから復旧させることが可能である。
【００８７】
図８にてまず、装置の電源投入時に、識別フラグ（４０５）（４０６）（４１０）（４１１）を検索し、有効ページを検索（８０１）し、有効ページのデータをＲＡＭ９０５にコピーする（８０２）。
【００８８】
次に、ＲＡＭにコピーした保存データをＳＵＭチェックし、結果がＮＧの場合には（８０３−ＮＧ）、識別フラグ（４０５）（４０６）（４１０）（４１１）が無効値「０」となっているページを検索し、そのページをＲＡＭにコピーする（８０４）。ここで、旧データが保存されているページの検索方法として、識別フラグから有効ページを検索し、有効ページの一つ前のページ、としても良い。
【００８９】
最後に、ＲＡＭにコピーした旧データを、図７にて説明した手順で、フラッシュメモリの適切なページに更新する（８０５）。
【００９０】
（その他の実施例）
実施例では、一つのセクタを２ページに分割した例を挙げたが、３ページ以上に分割すれば、より効果的であることは言うまでも無い。この分割ページ数は、セクタサイズと、記憶したいデータサイズ、及び想定される書きこみ回数との兼ね合いで決定すれば良い。
【００９１】
また、実施例２では、書き込み回数がフラッシュメモリの耐久回数になったら、別のセクタを使用するようにしているが、書き込み耐久回数を超過しても継続使用し、書き込みが出来なくなった時点で、別のセクタを使用するようにしても良い。
【００９２】
また、用意した最後のセクタが耐久回数を超過し、さらに書き込みが出来なくなった場合に、耐久回数超過エラーを発生させることもできる。
【００９３】
【発明の効果】
以上説明したように、本発明のデータ記憶方法を用いると、記憶メモリの保証書き込み回数を超えても結果的に書き込みが可能となり、「稼動情報の変化が生じる度にメモリに記憶する」処理が現実的になり、たとえ予期せぬシステムダウンが生じたとしても、正確な稼動情報を継続的に保持できる。
【００９４】
【図面の簡単な説明】
【図１】実施例１で使用した、フラッシュメモリの構成と稼動情報記憶領域のマップを示す図である。
【図２】実施例１で使用した、稼動情報記憶手段のフローチャートである。
【図３】実施例１で使用した、稼動情報記憶領域の各フェーズにおける
状態の模式図である。
【図４】実施例２で使用した、フラッシュメモリの構成と稼動情報記憶領域のマップを示す図である。
【図５】実施例２で使用した、稼動情報記憶手段のフローチャートである。
【図６】実施例２で使用した、稼動情報記憶領域の各フェーズにおける状態の模式図である。
【図７】実施例３で使用した、稼動情報記憶領域の各フェーズにおける状態の模式図である。
【図８】記憶データが破損した際の動作フローチャートである。
【図９】本発明を実施した記録装置のブロック図である。
【符号の説明】
１００  フラッシュメモリ
１０１  セクタ１（稼動情報記憶領域）
１０２  セクタ２
１０３  稼動情報記憶領域のページ１
１０４  稼動情報記憶領域のページ２
１０５  稼動情報記憶領域のページ１のデータ有効／無効識別フラグ
１０６  稼動情報記憶領域のページ２のデータ有効／無効識別フラグ
２０１  複数ページの稼動情報記憶領域から有効ページを検索
２０２  フラッシュメモリの稼動情報をＲＡＭにコピー
２０３  有効ページの稼動情報のＳＵＭチェック
２０４  次の記憶ページを決定
２０５  稼動情報記憶タイミング待ち
２０６  記憶ページによって、セクタ消去の必要性を判断
２０７  セクタ消去しない場合に、旧ページを無効にする
２０８  セクタ消去
２０９  稼動情報記憶実行
４００  フラッシュメモリ
４０１  セクタ１（稼動情報記憶領域）
４０２  セクタ２（稼動情報記憶領域）
４０３  稼動情報記憶領域のページ１
４０４  稼動情報記憶領域のページ２
４０５  稼動情報記憶領域のページ１のデータ有効／無効識別フラグ
４０６  稼動情報記憶領域のページ２のデータ有効／無効識別フラグ
４０７  セクタ１の書き込み回数記憶領域
４０８  稼動情報記憶領域のページ３
４０９  稼動情報記憶領域のページ４
４１０  稼動情報記憶領域のページ３のデータ有効／無効識別フラグ
４１１  稼動情報記憶領域のページ４のデータ有効／無効識別フラグ
４１２  セクタ２の書き込み回数記憶領域
９００  ホストコンピュータ（情報処理装置）
９０１  ＣＰＵ
９０２  インタフェースコントローラ
９０３  ＲＯＭ
９０６  不揮発性メモリ
【図１】
2004341783.tif 000003
【図２】
2004341783.tif 000004
【図３】
2004341783.tif 000005
【図４】
2004341783.tif 000006
【図５】
2004341783.tif 000007
【図６】
2004341783.tif 000008
【図７】
2004341783.tif 000009
【図８】
2004341783.tif 000010
【図９】
2004341783.tif 000011