(57)【要約】【課題】フラッシュＲＯＭが故障する前に、その状態を通知する。【解決手段】フラッシュＲＯＭを備えるプリンタにおいて、メモリアクセス処理部１０２は、主制御部１００から指定されたデータをフラッシュＲＯＭに書き込む際、フラッシュＲＯＭに対する書き込みコマンドごとに処理時間を時間計測部１０４から取得して、メモリ特性管理部１０６に予め定めたタイムアウト時間と比較する。そして、当該タイムアウト時間を超えた回数を記録する。指定されたデータの書き込みが終了すると、メモリアクセス処理部１０２は、記録した回数をユーザＩ／Ｆ制御部１０８を介してディスプレイに表示する。【選択図】図２
2009151414.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュＲＯＭを備えるプリンタコントローラであって、
前記フラッシュＲＯＭに対する、データ書き込みおよびデータ消去を含むアクセス処理を行うメモリアクセス処理手段と、
前記アクセス処理を構成する所定単位の処理ごとの処理時間を計測する処理時間計測手段と、
前記処理時間が所定のタイムアウト時間を超えたか否かを判定する判定手段と、
前記処理時間が前記タイムアウト時間を超えたと判定された回数を累計する超過回数累計手段と、
前記超過回数に応じてプリンタの出力装置の表示を変更する表示制御手段と、を備えること、
を特徴とするプリンタコントローラ。
【請求項２】
請求項１に記載のプリンタコントローラであって、
前記タイムアウト時間は、
前記フラッシュＲＯＭについて予め定められた、前記アクセス処理を構成する所定単位の処理に要する標準タイムアウト時間と最大タイムアウト時間との間の、予め定められた時間であること、
を特徴とするプリンタコントローラ。
【請求項３】
請求項２に記載のプリンタコントローラであって、
前記出力装置としてＬＣＤを備えたプリンタに搭載され、
前記表示制御手段は、
前記アクセス処理の終了後、前記超過回数を前記ＬＣＤに表示すること、
を特徴とするプリンタコントローラ。
【請求項４】
請求項３に記載のプリンタコントローラであって、
前記表示制御手段は、
前記超過回数が所定の回数を超えたか否かを判定し、所定の回数を超えた場合に、前記フラッシュＲＯＭの信頼性が低くなっていることを示すメッセージを、前記ＬＣＤに表示すること、
を特徴とするプリンタコントローラ。
【請求項５】
請求項２に記載のプリンタコントローラであって、
前記出力装置としてＬＥＤを備えたプリンタに搭載され、
前記表示制御手段は、
前記処理時間が前記タイムアウト時間を超えた場合、前記ＬＥＤを所定時間点灯させること、
を特徴とするプリンタコントローラ。
【請求項６】
請求項５に記載のプリンタコントローラであって、
前記表示制御手段は、
前記アクセス処理が終了するまでの間、前記超過回数の増加に応じて、前記ＬＥＤの輝度を増加させること、
を特徴とするプリンタコントローラ。
【請求項７】
請求項１〜６いずれか一項に記載のプリンタコントローラを搭載したプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュＲＯＭ（フラッシュメモリ）を搭載したプリンタコントローラ、プリンタに関し、特に、フラッシュＲＯＭの状態を管理する技術に関する。
【背景技術】
【０００２】
フラッシュＲＯＭは、データの書き換え回数が増加するにつれて、劣化することが知られている。そして、劣化が生じると、データの書き込みに失敗するなどのエラーが生じる。そのため、フラッシュＲＯＭには、書き換え回数を管理することにより、予め定めた回数（例えば、１０万回）以上の書き換えを実行できないように制限しているものがある。
【０００３】
このようなフラッシュＲＯＭの劣化を低減して寿命を延ばす技術として、例えば、セクタの空き領域を有効に使用してセクタの書き換え回数を削減するシステムがある（特許文献1）。
【０００４】
【特許文献１】特開２００７−１２２４２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のように、書き換え回数を用いてフラッシュＲＯＭの寿命管理をする場合、次のような問題がある。すなわち、フラッシュＲＯＭは、実際には個体差があり、デバイスよって正常に書き換え可能な回数にばらつきがある。そのため、デバイスによっては、設定された書き換え回数に到達する前にエラーが生じることがある。一方で、設定された書き換え回数を超えても正常な書き換えが可能なデバイスであっても、従来の技術では、設定された書き換え回数に、書き換え回数が制限される。また、従来は、例えば、フラッシュＲＯＭの使いまわしがされる場合など、システム上の理由により書き換え回数の管理が困難な場合がある。
【０００６】
そこで、書き換え回数に代えて、または、書き換え回数の管理と併用して、書き込みや消去の処理にかかる最大時間を用いて、フラッシュＲＯＭの寿命を管理する方法が考えられる。書き込みや消去の最大時間は、例えば、ＣＦＩ（Common Flash Memory Interface）を用いて、取得することができる。そして、書き込みや消去の時間が、最大時間を超えた場合に、フラッシュＲＯＭの書き換えを制限するようにすることができる。
【０００７】
しかしながら、書き換え回数を管理できない場合や、最大時間を用いた寿命の管理では、フラッシュＲＯＭが正常に動作しない状態になった後にしか、ユーザはその状態を知ることができない。
【０００８】
本発明は、フラッシュＲＯＭが故障する前に、その状態を通知する技術を提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明の一態様は、フラッシュＲＯＭを備えるプリンタコントローラであって、前記フラッシュＲＯＭに対する、データ書き込みおよびデータ消去を含むアクセス処理を行うメモリアクセス処理手段と、前記アクセス処理を構成する所定単位の処理ごとの処理時間を計測する処理時間計測手段と、前記処理時間が所定のタイムアウト時間を超えたか否かを判定する判定手段と、前記処理時間が前記タイムアウト時間を超えたと判定された回数を累計する超過回数累計手段と、前記超過回数に応じてプリンタの出力装置の表示を変更する表示制御手段と、を備えることを特徴とする。
【００１０】
また、上記のプリンタコントローラにおいて、前記タイムアウト時間は、前記フラッシュＲＯＭについて予め定められた、前記アクセス処理を構成する所定単位の処理に要する標準タイムアウト時間と最大タイムアウト時間との間の、予め定められた時間であることを特徴としていてもよい。
【００１１】
また、上記のプリンタコントローラであって、前記出力装置としてＬＣＤを備えたプリンタに搭載され、前記表示制御手段は、前記アクセス処理の終了後、前記超過回数を前記ＬＣＤに表示すること、を特徴としていてもよい。
【００１２】
また、上記のプリンタコントローラであって、前記表示制御手段は、前記超過回数が所定の回数を超えたか否かを判定し、所定の回数を超えた場合に、前記フラッシュＲＯＭの信頼性が低くなっていることを示すメッセージを、前記ＬＣＤに表示すること、を特徴としていてもよい。
【００１３】
また、上記のプリンタコントローラであって、前記出力装置としてＬＥＤを備えたプリンタに搭載され、前記表示制御手段は、前記処理時間が前記タイムアウト時間を超えた場合、前記ＬＥＤを所定時間点灯させること、を特徴としていてもよい。
【００１４】
また、上記のプリンタコントローラにおいて、前記表示制御手段は、前記アクセス処理が終了するまでの間、前記超過回数の増加に応じて、前記ＬＥＤの輝度を増加させること、を特徴としていてもよい。
【００１５】
上記の課題を解決するため、本発明の一態様は、上記のいずれかのプリンタコントローラを搭載したプリンタである。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の一実施形態について、図面を参照して説明する。
【００１７】
図１は、本発明が適用されたプリンタコントローラのハードウェア構成およびシステム構成を示すブロック図である。
【００１８】
本図に示すように、プリンタコントローラ１は、印刷エンジン１４と、ユーザインタフェース（Ｉ／Ｆ）装置１７とに接続される。これらは、同一のプリンタ上に備えられる。また、プリンタコントローラ１は、ホストコンピュータ２に接続される。
【００１９】
プリンタコントローラ１は、プリンタ全体の制御を行うための装置である。プリンタコントローラ１は、例えば、ホストコンピュータ２から印刷データを受け付け、印刷エンジン１４が印刷用紙に印字可能なイメージデータを生成し、当該データの印刷を行うように印刷エンジン１４を制御する。また、ユーザＩ／Ｆ装置１７上のユーザ操作を受け付けて、印刷処理の設定を変更したり、指定されたデータの印刷処理を実行したりする。また、ユーザの操作を促すためのメニュー画面などをユーザＩ／Ｆ装置１７に表示したり、各種装置の状態や処理状況をユーザＩ／Ｆ装置１７に表示したりする。
【００２０】
ホストコンピュータ２は、印刷データを生成するプログラムが動作する一般的なパーソナルコンピュータなどである。ホストコンピュータ２は、生成した印刷データを、プリンタコントローラ１に送る。
【００２１】
印刷エンジン１４は、プリンタコントローラ１の制御に従って印刷用紙に印刷を行う印刷機構、例えば、レーザ方式やインクジェット方式の印刷機構である。
【００２２】
ユーザＩ／Ｆ装置１７は、ユーザの指示をユーザの操作により受け付ける入力装置や、操作画面などを表示する表示装置などである。ユーザＩ／Ｆ装置１７は、例えば、ＬＣＤ（Liquid Crystal Display）などのディスプレイと、ディスプレイの表示面側に搭載され表示画面を透過するいわゆるタッチパネルから構成される（図示しない）。タッチパネルは、例えば、感圧式または静電式の入力検出素子などにより構成される。ユーザＩ／Ｆ装置１７は、タッチパネル上のユーザのタッチ操作を検出し、タッチ位置とともにプリンタコントローラ１に出力する。もちろん、ユーザＩ／Ｆ装置１７は、各種機能を実行するためのボタン（例えば、コピースタートボタン）や、キーボードなどのハードスイッチであってもよい。また、ユーザＩ／Ｆ装置１７は、ＬＥＤ（Light Emitting Diode）などの表示装置であってもよい。
【００２３】
プリンタコントローラ１は、ＣＰＵ１０と、メモリコントローラ１１と、ＲＡＭ１２と、フラッシュＲＯＭ１３と、入出力コントローラ１５と、通信インタフェース（Ｉ／Ｆ）１６とを備える。
【００２４】
ＣＰＵ１０は、フラッシュＲＯＭ１３に予め格納されたプログラムやデータをＲＡＭ１２上に読み出して実行することで、印刷エンジン１４やユーザＩ／Ｆ装置１７を含むプリンタ全体の制御や、画像処理、印刷処理などのための各種演算を行う。ＣＰＵ１０は、メモリコントローラ１１を介して、ＲＡＭ１２、フラッシュＲＯＭ１３、入出力コントローラ１５にアクセスし、データの読み書きや消去を行う。また、ＣＰＵ１０は、メモリコントローラ１１を介して印刷エンジン１４を、入出力コントローラ１５を介して、通信Ｉ／Ｆ１６、ユーザＩ／Ｆ装置１７を制御する。
【００２５】
メモリコントローラ１１は、ＲＡＭ１２やフラッシュＲＯＭ１３へのアクセス制御を行うための装置である。メモリコントローラ１１は、印刷エンジン１４へ出力されるイメージデータの生成や加工を行うための画像処理回路を備えていてもよい。
【００２６】
ＲＡＭ１２は、実行中のプログラムや、印刷対象の画像データなどを一時的に格納するための揮発性のメモリである。
【００２７】
フラッシュＲＯＭ１３は、データの書き込みや読み込みを行うことのできる不揮発性メモリである。フラッシュＲＯＭ１３には、プリンタ全体の制御を実行するために必要なプログラムやデータなどが格納されている。
【００２８】
フラッシュＲＯＭ１３へのアクセス（書き込み、読み込み、消去など）は、ＣＰＵ１０がメモリコントローラ１１を介して、コマンド、アドレス、データなどを送ることにより制御される。ここで、データの消去は、セクタと呼ばれる所定の単位、または、チップ単位で行われる。データの書き込みは、先ず、チップもしくはセクタ単位でデータを消去し、次に、データの消去を行った領域に、１ワードもしくは１バイト単位でデータを書き込むことで行われる。従って、例えば、ＣＰＵ１０が、プログラムなどのデータをフラッシュＲＯＭ１３に書き込む場合、１ワードもしくは１バイト単位の書き込み処理が繰り返し実行されることとなる。
【００２９】
また、フラッシュＲＯＭ１３には、ワードもしくはバイト単位の書き込み、セクタ消去、チップ消去などのコマンドごとに、それらの処理の標準タイムアウト時間（typical timeout）や最高タイムアウト時間（maximum timeout）などのデータが予め格納されている。これらのデータは、ＣＰＵ１０が、ＣＦＩ（Common Flash Memory Interface）と呼ばれる標準インタフェースを使用することで読み出される。
【００３０】
入出力コントローラ１５は、通信Ｉ／Ｆ１６やユーザＩ／Ｆ装置１７の制御を行うための装置である。
【００３１】
通信Ｉ／Ｆ１６は、ＬＡＮなどのネットワーク上の外部装置と通信を制御するための装置である。
【００３２】
図２は、本発明が適用されたプリンタコントローラの機能構成を示すブロック図である。
【００３３】
本図に示すように、プリンタコントローラ１は、主制御部１００と、メモリアクセス処理部１０２と、時間計測部１０４と、メモリ特性管理部１０６と、ユーザＩ／Ｆ制御部１０８とを備える。これらの各機能部は、ＣＰＵ１０がフラッシュＲＯＭ１３上に予め記憶されている所定のプログラムをＲＡＭ１２上にロードして実行することにより構築される。
【００３４】
主制御部１００は、プリンタコントローラ１、印刷エンジン１４、ユーザＩ／Ｆ装置１７を含むプリンタ全体の動作を制御する。例えば、主制御部１００は、通信Ｉ／Ｆ１６を介して印刷データを受け付け、各種画像処理を行ってイメージデータを生成し、印刷エンジン１４を制御して印刷を実行させる。また、メモリアクセス処理部１０２に指示して、フラッシュＲＯＭ１３上のデータを読み出したり、フラッシュＲＯＭ１３上のデータの書き換えを行ったりする。
【００３５】
メモリアクセス処理部１０２は、メモリコントローラ１１を介してフラッシュＲＯＭ１３にアクセスし、主制御部１００から指定されたデータの読み出し、消去、書き込みなどを行う。例えば、チップ消去やセクタ消去を指示された場合、チップ消去やセクタ消去を示すコマンドをフラッシュＲＯＭ１３に送る。また、所定のデータの書き込みを指示された場合、当該データを１ワードもしくは１バイトごとに書き込むようにコマンドをフラッシュＲＯＭ１３に送る。
【００３６】
また、メモリアクセス処理部１０２は、コマンド単位のアクセス処理の時間が、後述する所定のタイムアウト時間を超えたか否かを判定する。タイムアウトした場合、ユーザに対してメッセージなどの表示を行う。また、コマンド単位のアクセス処理が終了したか否かを判定する。処理が終了したか否かは、例えば、フラッシュＲＯＭ１３のポーリング信号やトグル信号をモニタすることで判定することができる。また、例えば、一定時間ごとに、フラッシュＲＯＭ１３からデータを読み込み、書き込み対象のデータが書き込まれているかを判定することで、処理の終了を知ることができる。
【００３７】
時間計測部１０４は、メモリアクセス処理部１０２によるフラッシュＲＯＭ１３へのアクセス処理の時間を計測する。例えば、チップ消去もしくはセクタ消去が開始されてから終了するまでの時間や、１ワードもしくは１バイトごとの書き込みが開始されてから終了するまでの時間を計測する。
【００３８】
メモリ特性管理部１０６は、フラッシュＲＯＭ１３の特性を管理する。具体的には、メモリ特性管理部１０６は、図３に示すような管理テーブル１０６０を用いて管理を行う。
【００３９】
図３に示すように、管理テーブル１０６０は、コマンド種別１０６１（書き込み、セクタ消去、チップ消去）ごとに、コマンドの処理のタイムアウト時間を示す基準タイムアウト時間１０６２が対応付けられている。基準タイムアウト時間１０６２には、標準タイムアウト時間１０６３と、設定タイムアウト時間１０６４と、最大タイムアウト時間１０６５とが含まれる。また、管理テーブル１０６０は、コマンド種別１０６１ごとに、設定タイムアウト時間超過回数１０６６と、基準回数１０６７とが対応付けられている。設定タイムアウト時間超過回数１０６６には、コマンドの処理時間が設定タイムアウト時間１０６４を超えた回数（初期値＝０）が格納される。基準回数１０６７には、フラッシュＲＯＭ１３の寿命を判定する目安となる回数を示す予め定めた値が格納される。基準回数１０６７は、設定タイムアウト時間超過回数１０６６と比較されて用いられる。なお、基準回数１０６７は、設定されていなくてもよい。
【００４０】
ここで、基準タイムアウト時間１０６２について説明する。標準タイムアウト時間１０６３と、最大タイムアウト時間１０６５には、フラッシュＲＯＭ１３の標準タイムアウト時間（typical timeout）と、最高タイムアウト時間（maximum timeout）がそれぞれ設定される。これらの値は、プリンタの起動時にＣＦＩにより取得して設定するようにしてもよいし、プリンタの製造時に予め値を設定するようにしてもよい。設定タイムアウト時間１０６４には、標準タイムアウト時間１０６３と最大タイムアウト時間１０６５との間の任意の値が設定される。この値は、プリンタの起動時にＣＦＩで標準タイムアウト時間１０６３と最大タイムアウト時間１０６５とを取得したときに、予め定めた式で算出して設定するようにしてもよいし、プリンタの製造時に予め値を設定するようにしてもよい。
【００４１】
設定タイムアウト時間１０６４は、例えば、以下のような（１）〜（３）いずれかの値を設定することができる。
（１）標準タイムアウト時間１０６３に予め定めたマージンを加えた固定値。
（２）フラッシュＲＯＭ１３の最初のコマンド処理にかかった時間を計測し、当該時間に予め定めたマージンを加えた固定値。
（３）書き込みコマンドの設定タイムアウト時間１０６４については、書き込み回数の増加に従って、予め定めた式で増加させた値。もちろん、この値は、消去や読み出しコマンドにも適用できる。
【００４２】
図２に戻って、ユーザＩ／Ｆ制御部１０８は、他の機能部の指示を受け付け、ユーザインタフェースＩ／Ｆ装置１７を制御する。例えば、ディスプレイにメニュー画面やメッセージを表示したり、ＬＥＤを点灯・点滅させたりする。また、ユーザＩ／Ｆ制御部１０８は、ユーザＩ／Ｆ装置１７を介して入力されたユーザの操作を受け付け、その操作内容を解析して、その操作内容に対応する処理が実行されるように他の機能部を制御する。
【００４３】
図４は、フラッシュＲＯＭの状態を表示する処理の流れを示すフロー図である。このフローは、プリンタコントローラ１の起動後に開始される。
【００４４】
フローが開始されると、主制御部１００は、フラッシュＲＯＭ１３へのアクセスが発生したか否かを監視する（Ｓ１００）。具体的には、主制御部１００は、例えば、フラッシュＲＯＭ１３に格納されたデータを書き換える処理、データを消去する処理、データを読み出す処理などが発生したか否かを定期的に判定する。そして、アクセスが発生したと判定した場合（Ｓ１００でＹＥＳ）、主制御部１００は、指定されたデータの書き換え、消去、読み出しなどを実行するように、メモリアクセス処理部１０２に指示する。一方、アクセスが発生していないと判定した場合（Ｓ１００でＮＯ）、継続して監視を行う。以下、データの書き込みを例に説明する。
【００４５】
アクセスが発生したと判定された場合（Ｓ１００でＹＥＳ）、メモリアクセス処理部１０２は、主制御部１００が指定したデータを、１ワードもしくは１バイトごとの書き込みコマンドにより、フラッシュＲＯＭへ書き込む処理を行う（Ｓ１１０〜Ｓ１６０）。
【００４６】
Ｓ１１０では、メモリアクセス処理部１０２は、時間計測部１０４に、実行するコマンドの処理時間の計測を開始させる。また、メモリアクセス処理部１０２は、超過判定フラグ＝０に設定する。超過判定フラグは、コマンドの処理時間が設定タイムアウト時間を超えたか否かを判定するために使用される。超過判定フラグは、コマンドの処理時間が設定タイムアウト時間を超えた場合、１が設定される。
【００４７】
時間計測部１０４による時間計測の開始（Ｓ１１０）と同時に、メモリアクセス処理部１０２は、１ワードもしくは１バイトのデータを書き込むコマンドをフラッシュＲＯＭ１３に送り、コマンド処理を実行する（Ｓ１２０）。
【００４８】
そして、メモリアクセス処理部１０２は、コマンドによる書き込み処理が終了したか否かを監視する（Ｓ１３０）。ここでは、所定の時間間隔で書き込みが終了したか否かを判定するものとする。処理が終了したと判定した場合（Ｓ１３０でＹＥＳ）、Ｓ１９０へ進む。一方、処理が終了していないと判定した場合（Ｓ１３０でＮＯ）、Ｓ１４０に進む。
【００４９】
コマンド処理が終了していないと判定した場合（Ｓ１３０でＮＯ）、メモリアクセス処理部１０２は、超過判定フラグ＝０、かつ、処理時間が設定タイムアウト時間を超えているか判定する（Ｓ１４０）。具体的には、メモリアクセス処理部１０２は、時間計測部１０４から処理時間を、メモリ特性管理部１０６から実行中のコマンドに対応するコマンド種別１０６１の設定タイムアウト時間１０６４を取得する。そして、超過判定フラグ＝０か否か、および、処理時間が設定タイムアウト時間を超えているか否かを判定する。超過判定フラグ＝０、かつ、処理時間が設定タイムアウト時間を超えていると判定した場合（Ｓ１４０でＹＥＳ）、Ｓ１５０に進む。一方、上記以外の場合（Ｓ１４０でＮＯ）、Ｓ１６０に進む。
【００５０】
超過判定フラグ＝０、かつ、処理時間が設定タイムアウト時間を超えていると判定された場合（Ｓ１４０でＹＥＳ）、メモリ特性管理部１０６は、設定タイムアウト時間超過回数をカウントするとともに、超過判定フラグ＝１に設定する（Ｓ１５０）。具体的には、メモリ特性管理部１０６は、実行中のコマンドに対応するコマンド種別１０６１の設定タイムアウト時間超過回数１０６６を１インクリメントする。そして、Ｓ１６０に進む。
【００５１】
Ｓ１４０でＮＯと判定された場合、もしくは、Ｓ１５０の後、メモリアクセス処理部１０２は、コマンドの処理時間が最大タイムアウト時間を超えたか否かを判定する（Ｓ１６０）。具体的には、メモリアクセス処理部１０２は、時間計測部１０４から処理時間を、メモリ特性管理部１０６から実行中のコマンドに対応するコマンド種別１０６１の最大タイムアウト時間１０６５を取得する。そして、処理時間が最大タイムアウト時間を超えているか否かを判定する。最大タイムアウト時間を超えていると判定した場合（Ｓ１６０でＹＥＳ）、Ｓ１７０に進む。一方、最大タイムアウト時間を超えていないと判定した場合（Ｓ１６０でＮＯ）、Ｓ１３０に戻る。
【００５２】
コマンドの処理時間が最大タイムアウト時間を超えていると判定した場合（Ｓ１６０でＹＥＳ）、メモリアクセス処理部１０２は、当該コマンド処理を中止し（Ｓ１７０）、Ｓ１８０に進む。
【００５３】
Ｓ１８０において、メモリアクセス処理部１０２は、フラッシュＲＯＭ１３へのアクセスに失敗したことをユーザＩ／Ｆ装置１７に表示する。具体的には、メモリアクセス処理部１０２は、ユーザＩ／Ｆ制御部１０８を介して、書き込みの最大タイムアウト時間を超えて処理に失敗したことを示すメッセージをディスプレイに表示する。ユーザＩ／Ｆ装置１７としてＬＥＤが備えられている場合、例えば、ＬＥＤを点滅させてもよい。上記の表示を行った後、本フローを終了する。なお、Ｓ１７０においてアクセス処理を中止せずに、最大タイムアウト時間を超えたことを示すメッセージを表示して、アクセス処理を継続するか否かを示すユーザの指示を受け付けるようにしてもよい。
【００５４】
一方、コマンド処理が終了したと判定した場合（Ｓ１３０でＹＥＳ）、メモリアクセス処理部１０２は、主制御部１００が指定したデータについて、全ての書き込みコマンドの実行を終了したか否かを判定する（Ｓ１９０）。全てのコマンドの実行を終了したと判定した場合（Ｓ１９０でＹＥＳ）、Ｓ２００に進む。一方、全てのコマンドの実行を終了していないと判定した場合（Ｓ１９０でＮＯ）、Ｓ１１０に戻る。
【００５５】
全てのコマンドの実行を終了したと判定した場合（Ｓ１９０でＹＥＳ）、メモリアクセス処理部１０２は、フラッシュＲＯＭ１３へのアクセス結果をユーザＩ／Ｆ装置１７に表示する（Ｓ２００）。具体的には、メモリアクセス処理部１０２は、メモリ特性管理部１０６から、実行されたコマンドに対応するコマンド種別１０６１の設定タイムアウト時間超過回数１０６６を取得し、ユーザＩ／Ｆ制御部１０８を介して、コマンドの種別とともにディスプレイに表示する。また、設定タイムアウト時間超過回数１０６６が０回でない場合は、フラッシュＲＯＭのアクセス処理に時間がかかっている旨のメッセージを表示する。また、基準回数１０６７が設定されている場合、メモリアクセス処理部１０２は、取得した設定タイムアウト時間超過回数１０６６と、基準回数１０６７とを比較する。そして、設定タイムアウト時間超過回数１０６６が基準回数１０６７を超えている場合、ユーザＩ／Ｆ制御部１０８を介して、フラッシュＲＯＭ１３の寿命が近いことを示すメッセージを表示する。フラッシュＲＯＭの交換を促すメッセージを表示してもよい。ユーザＩ／Ｆ装置１７としてＬＥＤが備えられている場合、例えば、ＬＥＤを点滅させてもよい。
【００５６】
なお、ユーザＩ／Ｆ装置１７としてＬＥＤが備えられている場合、設定タイムアウト時間超過回数１０６６に応じて、ＬＥＤの点灯の態様を変化させるようにしてもよい。すなわち、Ｓ１５０の次に、ＬＥＤを点灯させる処理（Ｓ１５５）を実行する（図示しない）。具体的には、設定タイムアウト時間超過回数１０６６が１インクリメントされた（Ｓ１５０）後、メモリアクセス処理部１０２は、ユーザＩ／Ｆ制御部１０８を介して、ＬＥＤを所定時間（例えば、一瞬）点灯する。このとき、点灯の輝度は、例えば、設定タイムアウト時間超過回数１０６６が増加するに従って高くなるようにすることができる。
【００５７】
以上のようにして、本フローは終了する。
【００５８】
以上、本発明の一実施形態について説明した。本実施形態によれば、フラッシュＲＯＭが故障する前に、フラッシュＲＯＭの状態を、ユーザに通知することができる。すなわち、標準タイムアウト時間と最高タイムアウト時間との間の、任意の時間（設定タイムアウト時間）が設定可能であり、その時間を超えたアクセス処理の回数が記録されて表示される。そのため、ユーザは、フラッシュＲＯＭの故障前に、その状態を知ることができる。また、フラッシュＲＯＭの寿命を予測し、修理や交換の時期を計画することができる。また、アクセス処理の種別も表示されるため、調査に役立てることができる。
【００５９】
さらに、フラッシュＲＯＭごとに、個別の設定タイムアウト時間を設定できるので、精度の高い寿命の管理をすることができ、信頼性が高まる。また、新品でないフラッシュＲＯＭが搭載された場合であっても、個別の設定タイムアウト時間を設定できるので、適切に寿命を管理できる。
【００６０】
また、設定タイムアウト時間を超えたアクセス処理の回数に応じて、ＬＥＤの表示態様を変更するため、ＬＣＤなどのディスプレイがないプリンタであっても、フラッシュＲＯＭの状態を、ユーザに適切に通知することができる。
【００６１】
以上、本発明について、例示的な実施形態と関連させて記載した。多くの代替物、修正および変形例が当業者にとって明らかであることは明白である。したがって、上に記載の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。
【図面の簡単な説明】
【００６２】
【図１】本発明が適用されたプリンタコントローラのハードウェア構成およびシステム構成を示すブロック図。
【図２】本発明が適用されたプリンタコントローラの機能構成を示すブロック図。
【図３】管理テーブルの構成を説明するための図。
【図４】フラッシュＲＯＭの状態を表示する処理の流れを示すフロー図。
【符号の説明】
【００６３】
１・・・プリンタコントローラ、２・・・ホストコンピュータ、１０・・・ＣＰＵ、１１・・・メモリコントローラ、１２・・・ＲＡＭ、１３・・・フラッシュＲＯＭ、１４・・・印刷エンジン、１５・・・入出力コントローラ、１６・・・通信Ｉ／Ｆ、１７・・・ユーザＩ／Ｆ装置、
１００・・・主制御部、１０２・・・メモリアクセス処理部、１０４・・・時間計測部、１０６・・・メモリ特性管理部、１０８・・・ユーザＩ／Ｆ制御部、
１０６０・・・管理テーブル、１０６１・・・コマンド種別、１０６２・・・基準タイムアウト時間、１０６３・・・標準タイムアウト時間、１０６４・・・設定タイムアウト時間、１０６５・・・最大タイムアウト時間、１０６６・・・設定タイムアウト時間超過回数、１０６７・・・基準回数
【図１】
2009151414.tif 000003
【図２】
2009151414.tif 000004
【図３】
2009151414.tif 000005
【図４】
2009151414.tif 000006