(57)【要約】【課題】  ファームエアの書き換えによって、書換えが不可能な領域が発生したり、使用できない領域を含んでいる場合、以後のファームエア動作に支障をきたしてしまう。【解決手段】  外部ホストコンピュータから送信されたデータを元に画像を形成する印字装置であって、不揮発性メモリにアクセスするためのアドレスを変換するための情報を格納する変換テーブル格納手段と、不揮発性メモリにアクセスするときに、変換テーブル格納手段の情報を元に入力されたアドレスを実際のアクセスに用いるアドレスに変換するアドレス変換手段と、不揮発性メモリに対して消去や書き込みを行ったときにデバイスの不良を検出した場合に前記変換テーブル格納手段に格納されている変換テーブルの更新を行う更新手段と、上記いずれかの手段の初期化処理において、不揮発内に格納されている変換テーブルの検索を行う検索手段と、を備える。【選択図】  図１
2008012853.tif 000002
【特許請求の範囲】
【請求項１】
外部ホストコンピュータから送信されたデータを元に内部で画像データを形成し、画像を形成する印字装置であって、
不揮発性メモリにアクセスするためのアドレスを変換するための情報を格納する変換テーブル格納手段と、
不揮発性メモリにアクセスするときに、前記変換テーブル格納手段の情報を元に入力されたアドレスを実際のアクセスに用いるアドレスに変換するアドレス変換手段と、
不揮発性メモリに対して消去や書き込みを行ったときにデバイスの不良を検出した場合に前記変換テーブル格納手段に格納されている変換テーブルの更新を行う更新手段と、
上記いずれかの手段の初期化処理において、不揮発内に格納されている変換テーブルの検索を行う検索手段と、
を備えることを特徴とする印字装置。
【請求項２】
前記変換テーブル格納手段は不揮発メモリの消去単位のサイズを最小管理単位とすることを特徴とする前記請求項１記載の印字装置。
【請求項３】
前記変換テーブルは変換前の論理アドレスの最後尾に配置されていることを特徴とする前記請求項１もしくは前記請求項２記載の印字装置。
【請求項４】
前記変換テーブル格納手段は、前記検索手段が検索した結果を元に揮発性メモリ上にコピーし、書き換えが発生した場合のみ不揮発デバイスを参照することを特徴とする前記請求項１もしくは前記請求項２もしくは前記請求項３記載の印字装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は外部ホストインターフェースを介してホストコンピュータに接続され、ホストコンピュータから送信された印字データを解析して画像を形成し、それを用紙へ印字する印字装置およびその制御方法に関するものである。
【背景技術】
【０００２】
これまでの印字装置は、電気的に書き替え不可能な記憶素子（ＲＯＭ）にファームウエアを格納することが一般的であった。
【０００３】
近年の技術の進歩で電気的に書き替え可能な記憶素子（ＥＥＰＲＯＭ等）にファームウエアを格納し、物理的に部品を交換することなく容易にファームウエアの変更が可能になってきている（例えば、特許文献１参照）。
【０００４】
このためファームウエアの更新に対する敷居が低くなり、ファームウエア開発者のみならず、技術的なことを知らない一般のユーザーでもファームウエアの更新が可能になった。
【特許文献１】特開平７−４９９３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、これによりファームエアの書き換え頻度が上がり、デバイスの性能によっては書換えが不可能な領域が発生してしまったり、またはじめから使用できない領域を含んでいることを仕様とするデバイスがあったりしている。
【０００６】
このような領域が発生すると以後のファームエア動作に支障をきたしてしまう。
【０００７】
ユーザー先でそのような状態になると復旧作業が必要になり、ハードウエアの交換といった大掛かりなものになってしまう。
【課題を解決するための手段】
【０００８】
本発明は上記問題を鑑み、不揮発メモリのある領域が使用不可能な状態になっても上位ファームウエアはそれを意識することの無いように、アドレス変換テーブルを導入して論理アドレスと物理アドレスを分離する。
【０００９】
また不揮発メモリのある領域が使用不可になった場合に、該アドレス変換テーブルを更新することで異なる物理領域を同じ論理領域を割り当てるようにする。
【００１０】
またそのアドレス変換テーブルを、他のデータと同様に不揮発メモリへ格納し、さらに初期化処理においてそのアドレス変換テーブルを検索することで任意の場所に配置できるようにする。
【００１１】
（作用）
これら手順により、上位ファームウエアに対して、不揮発メモリのある領域が使用不可になったこと意識することなく、処理を継続することが可能になる。
【発明の効果】
【００１２】
本発明により、読み出し、消去、書き込み時にデバイス原因で異常が検出された場合に、論理的に代替領域を割り当てることができる。さらに変換テーブルの書き替えにより物理アドレスの変更を隠蔽することができ、上位層にはデバイス原因での異常を意識する必要がなく、これまでどおりの操作が可能になる。
【発明を実施するための最良の形態】
【００１３】
（実施例１）
図１は、従来からある一般的な画像形成装置としての電子写真式プリンタの構成例を示すブロック図である。
【００１４】
電子写真式プリンタ１０１は、コントローラーボード１１１とプリントエンジン１１２によって構成されている。電子写真式プリンタ１０１は図示しないホストコンピュータからの印字データをコントローラーボード１１１内にある外部インターフェース１２２から受信する。
【００１５】
受信データはＣＰＵ１２１がＲＯＭ１２４またはＲＡＭ１２３内のプログラム（ファームウェア）を実行することにより処理され、ＲＡＭ１２３内に画像データが形成される。
【００１６】
形成された画像データは、エンジンインターフェース１２５を介してプリントエンジン１１２へ送られる。プリントエンジン１１２は、図示しない熱定着器を備えており、これ以外にもトナーや感光ドラムなどを有し、ＲＡＭ１２３内に形成された画像データを元にレーザを感光体上に走査して静電潜像を形成し、この静電潜像をトナーによって現像し、記録紙上に転写、定着して印字物を出力する。２次記憶１２６は、上記処理の過程の中で外部インターフェース１２２から受信する受信データの保存、またＣＰＵ１２１が形成した画像データの保存などに補助的に用いられる。
【００１７】
図２は図１に示す電子写真式プリンタ搭載のファームウェア内部構成例を示すブロック図である。図２の２０１は図１の１１１へ、同様に２０２は１１２へそれぞれ対応する。
【００１８】
Ｉ／Ｆドライバ制御部２１１は図示しないホストコンピュータからの印字データを受信し、受信バッファ２１２へ格納する。ここに格納されるデータは画像展開前のＰＤＬ（ＰＡＧＥ  ＤＥＳＣＲＩＰＴＩＯＮ  ＬＡＮＧＵＡＧＥ）データである。
【００１９】
描画データ生成部２１３は受信バッファ２１２に格納されているＰＤＬデータをもとに描画データを生成し、画像バッファ２１４へ格納する。
【００２０】
プリントエンジン制御部２１５は画像バッファ２１４へ格納されているデータをプリントエンジン２０２へ送り、最終的に印字物が得られるようになっている。
【００２１】
図３は本実施例における不揮発性メモリの構造を図示したものである。デバイスの容量が１６ＭＢで、１回の消去命令によって消去される領域の単位（以下ブロック）が１６ＫＢであるようなデバイスを例としている。このようなデバイスの場合はデバイスの中に論理的なブロックが０から１０２４まで存在し、例えばアドレス０ｘ２０００のデータのみを消去しようとすると、０ｘ０から０ｘ３ＦＦＦまでの領域が削除対象となる。
【００２２】
図４は本実施例における、仮想アドレス空間を図示したものである。仮想アドレス空間は実デバイスの容量と同じサイズの領域を持つ。仮想アドレスの先頭からは使用可能領域４０１に割り当てられており、読み書き自由な領域である。その後ろには使用不可能領域４０２があり、何らかの理由により読み書きが不可能な領域が割り当てられる。仮想アドレスの最終アドレス付近には変換テーブル領域４０３が割り当てられる。この領域は本仮想アドレス空間と、物理デバイスのアドレス空間との関連付けを行う変換テーブルを格納する領域である。この変換テーブルの構造は後述する。
【００２３】
図５は本実施例における、仮想アドレス空間と物理デバイスのアドレス空間とを関連付ける変換テーブルの構造を図示したものである。変換テーブル５０１は、物理デバイスのブロックの個数と同じ数の配列であり、配列には物理デバイスのブロックの先頭アドレスが格納されている。物理デバイスの全領域が正常に読み書き可能な状態であれば、この図にあるように変換テーブルには物理デバイスのブロックの全先頭アドレスが順番に格納されている。
【００２４】
図６は物理デバイスの一部領域がはじめから読み書きできない領域を含んでいた場合の変換テーブルの様子を図示したものである。例として物理デバイスのブロック１（６０１）が使用不可であった場合を示しており、この場合は図４における使用不可能領域４０２に１ブロック割り当てられていることになる。そのため使用不可領域４０２に相当する変換テーブルの６０２には使用不可を示す０ｘｆｆｆｆｆｆｆｆが格納されている。これによりこのデバイスの容量は、すべて正常なブロックを含んでいるデバイスに比べて、見かけ上１ブロック分少ないことになる。
【００２５】
図７は本実施例における、不揮発メモリからのデータの読み出し処理をフローチャートにしたものである。上位処理層からは図４に示した仮想アドレスによって読み出しの要求が発生する。そのためはじめに７０１において仮想アドレスを物理アドレスに変換する。この変換処理には図５や図６に示した変換テーブルを使用する。７０２において変換後の物理アドレスを確認し、０ｘｆｆｆｆｆｆｆｆ以外であった場合には７０３において、その物理アドレスを用いて読み出し処理を行う。７０４において読み出し処理が正常に終了したかを確認し、正常終了した場合には７０５において正常終了通知を行い、読み出し処理を完了する。
【００２６】
７０２において変換後の物理アドレスが０ｘｆｆｆｆｆｆｆｆだった場合には、使用不可領域４０２から読み出し処理を行おうとしたとみなして、７０７において異常終了を通知し読み出し処理を完了する。
【００２７】
また７０３において物理デバイス原因で何らか異常が発生した場合は、当該領域は使用不可能領域になったとみなし、７０６において変換テーブルの書き換えを実施し、７０７において異常終了を通知し読み出し処理を完了する。
【００２８】
変換テーブルの書き替え処理については後述する。
【００２９】
図８は本実施例における、不揮発メモリに対するデータの書き込み処理をフローチャートにしたものである。上位処理層からは図４に示した仮想アドレスによって書き込みの要求が発生する。そのためはじめに８０１において仮想アドレスを物理アドレスに変換する。この変換処理には図５や図６に示した変換テーブルを使用する。８０２において変換後の物理アドレスを確認し、０ｘｆｆｆｆｆｆｆｆ以外であった場合には８０３において、その物理アドレスを用いて消去処理を行う。８０４において消去処理８０３が正常に終了したかを確認し、正常終了した場合には、続いて８０５において書き込み処理を行う。８０６において書き込み処理が正常終了したかを確認し、正常終了した場合には書き込み処理を完了する。
【００３０】
８０２において変換後の物理アドレスが０ｘｆｆｆｆｆｆｆｆだった場合には、使用不可領域４０２に対して書き込み処理を行おうとしたとみなして、書き込み処理を異常完了する。
【００３１】
また８０３において物理デバイス原因で何らか異常が発生し、８０４において異常を検出した場合は、当該領域は使用不可能領域になったとみなし、８０７において変換テーブルの書き換えを実施し、８０１へ戻って再度同様の処理を行う。
【００３２】
また８０５において物理デバイス原因で何らか異常が発生し、８０６において異常を検出した場合は、当該領域は使用不可能領域になったとみなし、８０７において変換テーブルの書き換えを実施し、８０１へ戻って再度同様の処理を行う。
【００３３】
変換テーブルの書き替え処理については後述する。
【００３４】
図９は本実施例における変換テーブルの書き換え処理をフローチャートにしたものである。なお本フローチャートは図３に示す物理デバイスについての処理例である。９０１において変換テーブルをアクセスするためのカウンタＩに対して初期値１０２３を代入する。９０２においてカウンタＩから１減算する。９０３において変換テーブルのＩ番目に格納されている内容を確認し、０ｘｆｆｆｆｆｆｆｆの場合は９０２へ戻りＩの減算からやり直す。初期値が１０２３でＩを減算してから内容を確認するのは、図４の仮想アドレス空間で説明したとおり、変換テーブルの最終ブロックが本変換テーブル格納領域であるためであり、この領域を避けて実データが格納されることを意味する。
【００３５】
もし０ｘｆｆｆｆｆｆｆｆ以外だった場合には９０４において、Ｉ番目に格納されていた値を物理アドレスとして、物理デバイスの該ブロックを走査する。９０５において操作を行った物理デバイスのブロックが未使用領域だったと判断された場合には、９０６においてＩ番目のテーブルの内容を０ｘｆｆｆｆｆｆｆｆに書き替える。次に９０７において異常が発生したブロックに対応する変換テーブルの位置に対して走査を行った物理デバイスのアドレスを書き込む。
【００３６】
図１０は変換テーブルの書き替えの様子を図示したものである。図１０（ａ）はブロック１（１００１）に対するアクセス時に、何らかデバイス原因により異常を検出した直後の、変換テーブルと物理デバイスの様子である。図１０（ｂ）は、図１０（ａ）の状態でページ変換テーブルの書き替え処理が発生した場合の処理後の様子を示した図である。図９のフローチャートに従い代替了以の検索を行うと図１０（ｂ）にある変換テーブルの１０２２番目（１００２）がその領域にあたる。
【００３７】
そこで、もともとそこに書かれていた０ｘ００ｆｆ８０００の物理アドレス領域が、変換テーブルの２番目に書き込まれ領域の代替が行われる。そして変換テーブルの１０２２番目の物理領域は他の仮想領域に代替されてしまったため、ここに相当する物理領域は存在しないため０ｘｆｆｆｆｆｆｆｆが格納される。
【００３８】
図１１には通常のデータ領域ではなく、変換テーブルを格納している領域が使用不能になった場合の、領域の代替が起こった後の変換テーブルと物理デバイスの様子である。例として物理デバイスの最終ブロックが不正になった場合を図示しているが、この場合でも図９による変換テーブルの書き替え処理により正常な領域を代替することで、通常のデータ領域と同じように処理することができる。
【００３９】
以上処理により、読み出し、消去、書き込み時にデバイス原因で異常が検出された場合に、代替領域を割り当てることができる。変換テーブルの書き替えにより物理アドレスの変更を隠蔽することができ、上位層にはデバイス原因での異常を意識する必要がなく、これまでどおりの操作が可能になる。
【００４０】
（実施例２）
図１２に本実施例における、変換テーブルの構造を図示する。
【００４１】
変換テーブル本体１２０２の前に、管理情報を格納したヘッダ領域１２０１を付加している。これにより、物理デバイス中に格納されている変換テーブルの検索が、より効率よく行える。
【００４２】
装置の電源投入直後の初期化処理時に変換テーブルの物理的な位置を特定する必要があるが、その検索にかかる速度や制度を向上させることができる。
【００４３】
（他の実施例）
本発明は電子写真式の印字装置だけでなく、インクジェット式等、他の印字方式の印字装置においても当てはまることは言うまでもない。
【００４４】
また、本発明は印字装置だけでなく、印字機能を持つ複写機やＦＡＸにおいても当てはまることは言うまでもない。
【図面の簡単な説明】
【００４５】
【図１】印字装置の物理的な構成例である。
【図２】印字装置の論理的な構成例である。
【図３】実施例１における、不揮発性メモリの様子を図示したものである。
【図４】実施例１における、仮想メモリ空間の様子を図示したものである。
【図５】実施例１における、物理デバイスが全領域において正常な場合の変換テーブルと物理デバイスとの関連付けの様子を図示したものである。
【図６】実施例１における、物理デバイスの一部が不正な場合の変換テーブルと物理デバイスとの関連付けの様子を図示したものである。
【図７】実施例１における、不揮発性メモリからのデータの読み出し処理をフローチャートにしたものである。
【図８】実施例１における、不揮発性メモリへのデータの書き込み処理をフローチャートにしたものである。
【図９】実施例１における、変換テーブルの書き替え処理をフローチャートにしたものである。
【図１０】実施例１における、物理デバイスに不正領域が発生した場合の変換テーブルの書き換え前と書き替え後の、変換テーブルと物理デバイスとの関連付けを図示したものである。
【図１１】実施例１における、変換テーブル格納領域が不正領域になった場合の変換テーブル書き替え後の、変換テーブルと物理デバイスとの関連付けを図示したものである。
【図１２】実施例２における、変換テーブル領域の構造を図示したものである。
【図１】
2008012853.tif 000003
【図２】
2008012853.tif 000004
【図３】
2008012853.tif 000005
【図４】
2008012853.tif 000006
【図５】
2008012853.tif 000007
【図６】
2008012853.tif 000008
【図７】
2008012853.tif 000009
【図８】
2008012853.tif 000010
【図９】
2008012853.tif 000011
【図１０】
2008012853.tif 000012
【図１１】
2008012853.tif 000013
【図１２】
2008012853.tif 000014