(57)【要約】【課題】印刷制御手段が書き込んだ第２の記憶手段の更新データを第１の記憶手段に正しく書き戻すことができ、しかも不要な書戻し処理を低減することで、書戻し処理の中断により第１の記憶手段に間違ったデータが保存される事態を低減できる印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法を提供する。【解決手段】書戻しタスク部は第２記憶部のデータＤを不揮発性メモリーに書き戻し、このとき、書戻したデータ量に応じた計数値ＣＴとすべくカウンターの計数処理を行う。不意な電源遮断時に起動された書戻しタスク部は、カウンターの計数値ＣＴが書戻し完了値Ｂであるか否かを判定し（S110）、ＣＴ≠Ｂであればデータの書戻し処理を行うが（S130,S140）、ＣＴ＝Ｂであればデータの書戻し処理を行わない。【選択図】図３
2012045873.tif 000002
【特許請求の範囲】
【請求項１】
印刷手段を駆動させるための処理を行うとともに前記印刷手段による動作によって更新される印刷関連情報を取得する印刷制御手段と、
前記印刷関連情報を含むデータが記憶される第１の記憶手段と、
前記第１の記憶手段のデータが書き込まれるとともに当該データの更新のために前記印刷制御手段による書込みアクセスが許可された第１記憶部と前記印刷制御手段による書込みアクセスが禁止された第２記憶部とを有する第２の記憶手段と、
計数手段と、
前記第１の記憶手段のデータを第１記憶部に書き込む書込み手段と、
前記第１記憶部の前記データを前記第２記憶部にコピーするとともに当該データのコピーを完了すると前記計数手段の計数値をコピー完了値とするコピー手段と、
前記第２記憶部のデータを前記第１の記憶手段に書き戻す書戻し処理を行うとともに、書戻したデータの量に応じた計数値となるように前記計数手段の計数処理を行う書戻し手段と、を備え、
前記書戻し手段は、前記計数値が前記データの書戻しを完了した書戻し完了値であるか否かを判定し、前記計数値が前記書戻し完了値であれば、前記書戻し処理を行わず、前記計数値が前記書戻し完了値でなければ、前記計数値と対応する箇所から前記データの前記書戻し処理を行うことを特徴とする印刷装置におけるデータ記憶処理装置。
【請求項２】
前記書戻し手段は、前記計数値が前記コピー完了値になったか否かを判定し、前記計数値が前記コピー完了値になったら前記書戻し処理を開始し、前記コピー完了値にならず前記書戻し完了値のままであれば前記書戻し処理を開始しないことを特徴とする請求項１に記載の印刷装置におけるデータ記憶処理装置。
【請求項３】
前記第１の記憶手段は不揮発性の記憶手段であり、
前記書戻し手段は、少なくとも印刷装置の電源遮断時に起動されることを特徴とする請求項１に記載の印刷装置におけるデータ記憶処理装置。
【請求項４】
前記書込み手段は、印刷装置の電源投入時に起動され、前記計数手段の計数値が書戻し完了値であるか否かを判定し、前記計数値が書戻し完了値であれば、前記第１の記憶手段のデータを第１記憶部に書き込む書込み処理を行い、前記計数値が書戻し完了値でなければ、前記書込み処理を行わないことを特徴とする請求項３に記載の印刷装置におけるデータ記憶処理装置。
【請求項５】
前記書込み手段により前記計数値が書戻し完了値ではないと判定された場合に、エラーを報知する報知手段を更に備えたことを特徴とする請求項４に記載の印刷装置におけるデータ記憶処理装置。
【請求項６】
前記書込み手段により前記計数値が書戻し完了値ではないと判定された場合、前記第１の記憶手段における前記計数手段の計数値に相当する分までの一部のデータを用いて前記データを修復する修復手段を更に備えたことを特徴とする請求項４又は５に記載の印刷装置におけるデータ記憶処理装置。
【請求項７】
前記書込み手段は、前記計数値が書戻し完了値ではないと判定した場合、前記第１の記憶手段における前記計数手段の計数値に相当する分までの少なくとも一部のデータを、印刷装置と通信可能に接続された上位装置に送り、当該上位装置で修復されて当該上位装置から受信した修復後のデータを前記第２の記憶手段の前記第１記憶部に書き込むことを特徴とする請求項４又は５に記載の印刷装置におけるデータ記憶処理装置。
【請求項８】
前記データは印刷装置が動作するのに必要な調整情報を含むことを特徴とする請求項１乃至７のいずれか一項に記載の印刷装置におけるデータ記憶処理装置。
【請求項９】
前記印刷手段と、前記印刷手段を制御する制御装置とを備えた印刷装置であって、
前記制御装置は、請求項１乃至８のいずれか一項に記載の前記データ記憶処理装置を備えたことを特徴とする印刷装置。
【請求項１０】
印刷装置におけるデータ記憶処理方法であって、
印刷装置には、印刷関連情報を含むデータが記憶される第１の記憶手段と、
前記第１の記憶手段のデータが書き込まれるとともに当該データの更新のために印刷制御手段による書込みアクセスが許可された第１記憶部と、前記印刷制御手段による書込みアクセスが禁止された第２記憶部とを有する第２の記憶手段とが備えられ、
前記第１の記憶手段のデータを前記第２の記憶手段の第１記憶部に書き込む書込み段階と、
印刷手段を駆動させるための処理を行うとともに前記印刷手段による動作によって更新される印刷関連情報を取得する印刷制御段階と、
前記印刷制御段階で取得した印刷関連情報を前記第１記憶部に書き込むデータ更新段階と、
前記第１記憶部の前記データを前記第２記憶部にコピーするとともに当該データのコピーを完了すると計数手段の計数値をコピー完了値とするコピー段階と、
前記第２記憶部のデータを前記第１の記憶手段に書き戻す書戻し処理を行うとともに、書戻したデータの量に応じた計数値となるように前記計数手段の計数処理を行う書戻し段階と、を備え、
前記書戻し段階では、前記計数値が前記データの書戻しを完了した書戻し完了値であるか否かを判定し、前記計数値が前記書戻し完了値であれば、前記第２記憶部のデータを前記第１の記憶手段に書き戻す書戻し処理を行わず、前記計数値が前記書戻し完了値でなければ、前記計数値と対応する箇所から前記データの前記書戻し処理を行うことを特徴とする印刷装置におけるデータ記憶処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置の稼働中に更新される印刷関連情報を含むデータを不揮発性記憶手段に記憶させて保存する印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法に関する。
【背景技術】
【０００２】
例えば特許文献１、２には、インク残量の情報などのデータを不揮発性メモリーに記憶して保存する印刷装置が開示されている。
例えば特許文献１に記載の記録装置では、記録ヘッドに搭載されている不揮発性メモリーと、インクタンクに搭載されている不揮発性メモリーとを備え、記録ヘッドに搭載されている不揮発性メモリーに、インクタンクに搭載された不揮発性メモリーの内容をコピーする技術が開示されている。印刷終了時、回復動作完了時など、インクを消費する動作を行った場合に、インクタンクの不揮発性メモリーと記録ヘッドの不揮発性メモリーの内容を同時に書き換える。このため、データ書込み中のインクタンクの着脱などの不意な行為によりインクタンクの不揮発性メモリーへのデータの書き換えが失敗しても、記録ヘッドの不揮発性メモリーの内容でインクタンクの不揮発性メモリーの内容を復元することができる。
【０００３】
また、特許文献２には、１ページの印刷が完了する度に、インク残量を演算し、これを不揮発性メモリー（ＥＥＰＲＯＭ）に書き戻す印刷装置が開示されている。そして、パワーダウン命令が出力された場合には、不揮発性メモリーのインク残量のデータを、インクカートリッジの不揮発性の記憶素子に書き込むようになっていた。
【０００４】
しかし、ＲＡＭ又は不揮発性メモリーから他の不揮発性メモリー（不揮発性の記憶素子）へのデータの書き戻しは、電源オフ時に行っていたので、停電の発生時や電源プラグが抜けたときには、電源が遮断されるまでの短時間（例えば二次電池機能をもつコンデンサーの放電時間）のうちに書き戻し処理を完了しなければならなかった。この場合、データの書き戻しを最後まで行うことができず、不揮発性メモリーに一部旧いデータが混在するなどの問題が発生する虞があった。
【０００５】
このようにＥＥＰＲＯＭのような不揮発性メモリーでは、書込み回数に制限があるため、データの書戻しは、パワーダウン命令が出力されたとき、インクカートリッジ交換時などに制限されていたので、上記の問題が発生する。近年、書込み回数に実質的に制限がない程度に耐久性のあるＦｅＲＡＭのような不揮発性メモリーも使用されるようになってきている。この場合、逐次更新されたインク残量などの更新データはＲＡＭに記憶しておき、ＲＡＭの書込み頻度よりも少ない書込み頻度で不揮発性メモリーに書き込むことができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１９３５９３号公報
【特許文献２】特開２００３−１９８１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、不意な電源遮断時に、ＲＡＭ又は不揮発性メモリーなどの一の記憶手段（第２の記憶手段）から不揮発性メモリーからなる他の記憶手段（第１の記憶手段）へデータを書き戻す場合、電力供給が早めに止まって、第２の記憶手段から第１の記憶手段へのデータの書戻しを行っている書戻し途中に中断された場合、書戻し中断までの新しいデータと、書戻しによる更新がなされなかった前回の旧いデータとを繋げた間違ったデータが、不揮発性メモリーに保存されてしまうという問題があった。例えば、この新旧のデータの境界が１つの情報の途中にあった場合、その情報は間違った情報になってしまう。
【０００８】
不揮発性メモリー（第１の記憶手段）に間違ったデータが保存されたまま電源が遮断されると、次回電源オン時に不揮発性メモリーから読み出された間違ったデータを基に取得される例えばインク残量の情報が実際のインク残量と異なっている場合が起こり得た。この場合、インク残量情報の上ではインクエンドになっていないにも拘らず、実際のインク残量が無くなって印刷途中でインク切れとなったり、実際にはインクが残っているにも拘らずインクエンドと判定されて印刷動作が強制的に停止されたりする不都合が発生するという問題がある。もちろん、不揮発性メモリー（第１の記憶手段）にはインク残量以外にも種々のデータが保存されるので、間違ったデータにより引き起こされる問題はデータ種ごとに異なる。
【０００９】
本発明は、上記課題に鑑みてなされたものであり、その目的の一つは、印刷制御手段が書き込んだ第２の記憶手段の更新データを第１の記憶手段に正しく書き戻すことができ、しかも不要な書戻し処理を低減することで、書戻し処理の中断により第１の記憶手段に間違ったデータが保存される事態を低減できる印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的の一つを達成するために、本発明の態様の一つは、印刷手段を駆動させるための処理を行うとともに前記印刷手段による動作によって更新される印刷関連情報を取得する印刷制御手段と、前記印刷関連情報を含むデータが記憶される第１の記憶手段と、前記第１の記憶手段のデータが書き込まれるとともに当該データの更新のために前記印刷制御手段による書込みアクセスが許可された第１記憶部と前記印刷制御手段による書込みアクセスが禁止された第２記憶部とを有する第２の記憶手段と、計数手段と、前記第１の記憶手段のデータを第１記憶部に書き込む書込み手段と、前記第１記憶部の前記データを前記第２記憶部にコピーするとともに当該データのコピーを完了すると前記計数手段の計数値をコピー完了値とするコピー手段と、前記第２記憶部のデータを前記第１の記憶手段に書き戻す書戻し処理を行うとともに、書戻したデータの量に応じた計数値となるように前記計数手段の計数処理を行う書戻し手段と、を備え、前記書戻し手段は、前記計数値が前記データの書戻しを完了した書戻し完了値であるか否かを判定し、前記計数値が前記書戻し完了値であれば、前記書戻し処理を行わず、前記計数値が前記書戻し完了値でなければ、前記計数値と対応する箇所から前記書戻し処理を行うことを要旨とする。
【００１１】
この発明の一態様によれば、コピー手段が、第１記憶部のデータを第２記憶部にコピーし終わると、計数手段の計数値をコピー完了値とする。また、書戻し手段は、第２記憶部のデータを第１の記憶手段に書き戻す書戻し処理を行うとともに、書戻したデータの量に応じた計数値となるように計数手段の計数処理を行う。例えば、書戻し手段による書戻し処理が中断された場合、計数値は書戻し完了値になっていない。その後、書戻し手段が起動された際、書戻し手段は、計数手段の計数値が書戻し完了値であるか否かを判定する。そして、書戻し手段は、その計数値が書戻し完了値でなければ、計数値と対応する箇所からデータの書戻し処理を行うが、その計数値が書戻し完了値であれば書戻し処理を行わない。よって、不要な書戻し処理を行わずに済む。例えば電源遮断時に不要に書戻し処理を行ったために、電源遮断により書戻し途中で中断され、第１の記憶手段に書戻し途中の間違ったデータが保存される事態を回避できる。
【００１２】
本発明の態様の一つであるデータ記憶処理装置では、前記書戻し手段は、前記計数値が前記コピー完了値になったか否かを判定し、前記計数値が前記コピー完了値になったら前記書戻し処理を開始し、前記コピー完了値にならず前記書戻し完了値のままであれば前記書戻し処理を開始しないことが好ましい。
【００１３】
この発明の一態様によれば、コピー手段が、第１記憶部のデータを第２記憶部にコピーし終わると、計数手段の計数値をコピー完了値とする。つまり、コピーが完了していなければ、計数値がコピー完了値になっていない（例えば計数値は書戻し完了値のままである）。書戻し手段は、計数値がコピー完了値になったら書戻しを開始するが、コピー完了値にならず書戻し完了値のままであれば、書戻し処理を開始しない。このため、コピーが完了していない前回のデータ又はコピー途中の間違ったデータを第１の記憶手段へ書き戻す事態を回避できる。
【００１４】
本発明の態様の一つであるデータ記憶処理装置では、前記第１の記憶手段は不揮発性の記憶手段であり、前記書戻し手段は、少なくとも印刷装置の電源遮断時に起動されることが好ましい。
【００１５】
この発明の一態様によれば、書戻し手段は、少なくとも印刷装置の電源遮断時に起動される。この電源遮断時に、書戻し手段は、計数手段の計数値が書戻し完了値であると判定すれば、書戻し処理を行わないので、不要な書戻し処理を回避できる。例えば電源遮断時の書戻し処理が電力供給停止により中断されたために、書戻し途中の間違ったデータが第１の記憶手段に保存される事態を回避できる。
【００１６】
本発明の態様の一つであるデータ記憶処理装置では、前記書込み手段は、印刷装置の電源投入時に起動され、前記計数手段の計数値が書戻し完了値であるか否かを判定し、前記計数値が書戻し完了値であれば、前記第１の記憶手段のデータを第１記憶部に書き込む書込み処理を行い、前記計数値が書戻し完了値でなければ、前記書込み処理を行わない。
【００１７】
この発明の一態様によれば、印刷装置の電源投入時に起動された書込み手段は、計数手段の計数値が書戻し完了値であるか否かを判定する。そして、書込み手段は、計数値が書戻し完了値であれば、第１の記憶手段のデータを第１記憶部に書き込む書込み処理を行う。一方、計数値が書戻し完了値でなければ、書込み手段は書込み処理を行わない。この結果、印刷装置の電源遮断時に書戻し処理を完了した場合の正しいデータを第２の記憶手段に書き込むことができるうえ、印刷装置の電源遮断時に書戻し処理が中断されたことによる間違ったデータを第２の記憶手段に書き込む不都合を回避できる。
【００１８】
本発明の態様の一つであるデータ記憶処理装置では、前記書込み手段により前記計数値が書戻し完了値ではないと判定された場合に、エラーを報知する報知手段を更に備えている。
【００１９】
この発明の一態様によれば、電源投入時に、書込み手段により計数手段の計数値が書戻し完了値ではないと判定された場合、報知手段によりエラーが報知される。この結果、ユーザーは、このエラーの報知によって、前回の電源遮断時に書戻し処理を失敗した虞がある旨（つまり第１の記憶手段のデータが間違っている虞がある旨）のエラーの発生を知ることができる。このため、ユーザーはデータの修復が必要であることを知ることができる。
【００２０】
本発明の態様の一つであるデータ記憶処理装置では、前記書込み手段により前記計数値が書戻し完了値ではないと判定された場合、前記第１の記憶手段における前記計数手段の計数値に相当する分までの一部のデータを用いて前記データを修復する修復手段を更に備えている。
【００２１】
この発明の一態様によれば、書込み手段により前記計数値が書戻し完了値ではないと判定された場合、計数手段の計数値は途中まで書戻し処理が行われた旨の値になっている。修復手段は、第１の記憶手段のそのときの計数値に相当する分までの一部のデータを用いて、データを修復する。よって、書戻しが行われた分までの一部のデータを利用してデータの修復が行われるので、少なくともその部分についてはなるべく新しいデータを採用できる。
【００２２】
本発明の態様の一つであるデータ記憶処理装置では、前記書込み手段は、前記計数値が書戻し完了値ではないと判定した場合、前記第１の記憶手段における前記計数手段の計数値に相当する分までの少なくとも一部のデータを、印刷装置と通信可能に接続された上位装置に送り、当該上位装置で修復されて当該上位装置から受信した修復後のデータを前記第２の記憶手段の前記第１記憶部に書き込むことが好ましい。
【００２３】
この発明の一態様によれば、書込み手段は計数値が書戻し完了値ではないと判定した場合は、第１の記憶手段のデータのうち計数手段の計数値に相当する分までの少なくとも一部のデータを上位装置に送る。そして、上位装置で修復されて上位装置から受信した修復後のデータを第２の記憶手段の第１記憶部に書き込むことが好ましい。
【００２４】
本発明の態様の一つであるデータ記憶処理装置では、前記データは印刷装置が動作するのに必要な調整情報を含むことが好ましい。この発明の一態様によれば、調整情報が正しく保存されることにより、印厚装置が次回起動されたときの動作を正しく行うことができる。
【００２５】
本発明の態様の一つは、前記印刷手段と、前記印刷手段を制御する制御装置とを備えた印刷装置であって、前記制御装置は、上記発明の一態様に係る前記データ記憶処理装置を備えたことを要旨とする。
【００２６】
この発明の一態様によれば、上記発明の幾つかの態様のいずれか一つに係る前記データ記憶処理装置を備えているので、前記データ記憶処理装置に係る発明の幾つかの態様のうちいずれか一つが有する効果を同様に得ることができる。
【００２７】
本発明の態様の一つは、印刷装置におけるデータ記憶処理方法であって、印刷装置には、印刷関連情報を含むデータが記憶される第１の記憶手段と、前記第１の記憶手段のデータが書き込まれるとともに当該データの更新のために印刷制御手段による書込みアクセスが許可された第１記憶部と、前記印刷制御手段による書込みアクセスが禁止された第２記憶部とを有する第２の記憶手段とが備えられ、前記第１の記憶手段のデータを前記第２の記憶手段の第１記憶部に書き込む書込み段階と、印刷手段を駆動させるための処理を行うとともに前記印刷手段による動作によって更新される印刷関連情報を取得する印刷制御段階と、前記印刷制御段階で取得した印刷関連情報を前記第１記憶部に書き込むデータ更新段階と、前記第１記憶部の前記データを前記第２記憶部にコピーするとともに当該データのコピーを完了すると前記計数手段の計数値をコピー完了値とするコピー段階と、前記第２記憶部のデータを前記第１の記憶手段に書き戻す書戻し処理を行うとともに、書戻したデータの量に応じた計数値となるように前記計数手段の計数処理を行う書戻し段階と、を備え、前記書戻し段階では、前記計数値が前記データの書戻しを完了した書戻し完了値であるか否かを判定し、前記計数値が前記書戻し完了値であれば、前記第２記憶部のデータを前記第１の記憶手段に書き戻す書戻し処理を行わず、前記計数値が前記書戻し完了値でなければ、前記計数値と対応する箇所から前記データの前記書戻し処理を行うことを要旨とする。この発明の一態様によれば、上記発明の態様の一つに係る前記データ記憶処理装置と同様の効果を得ることができる。
【図面の簡単な説明】
【００２８】
【図１】一実施形態における印刷システムの模式側面図。
【図２】印刷システムの電気的構成を示すブロック図。
【図３】コントローラーの機能構成を説明するブロック図。
【図４】コントローラーのハードウェア構成を示すブロック図。
【図５】（ａ）（ｂ）タスク優先順位管理テーブルを示す模式図。
【図６】データ記憶処理を説明するブロック図。
【図７】不揮発性メモリーの構成を示す模式図。
【図８】通常時におけるデータ記憶処理を説明するシーケンス図。
【図９】電源オフ時におけるデータ記憶処理を説明するシーケンス図。
【図１０】コピー処理を示すフローチャート。
【図１１】書戻し処理を示すフローチャート。
【図１２】書込み処理を示すフローチャート。
【発明を実施するための形態】
【００２９】
以下、本発明をラテラル方式のインクジェット式プリンターの印刷制御装置に具体化した一実施形態を図１〜図１２に従って説明する。
図１は、ラテラル方式のインクジェット式プリンターを備えた印刷システムの模式図である。図１に示すように、印刷システム１００は、画像データを生成する画像生成装置１１０と、画像生成装置１１０から受信した画像データを基に印刷データを生成する上位装置の一例としてのホスト装置１２０と、ホスト装置１２０から受信した印刷データに基づく画像を印刷する印刷装置の一例としてのラテラル方式のインクジェット式プリンター（以下、単に「プリンター１１」と称す）とを備えている。
【００３０】
画像生成装置１１０は、例えばパーソナルコンピューターにより構成され、その本体１１１内のＣＰＵが画像作成用ソフトウェアを実行することで構築される画像生成部１１２を備える。ユーザーは、画像生成部１１２を起動して入力装置１１３の操作でモニター１１４上で画像を作成し、入力装置１１３を操作して画像の印刷を指示する。すると、その画像に係る画像データが所定の通信インターフェイスを介してホスト装置１２０へ送信される。
【００３１】
ホスト装置１２０は、例えばパーソナルコンピューターにより構成され、その本体１２１内のＣＰＵがプリンタードライバー用ソフトウェアを実行することで構築されるプリンタードライバー１２２を備える。プリンタードライバー１２２は、画像生成装置１１０から受信した画像データを基に印刷データを生成し、プリンター１１に設けられた制御装置Ｃへ送信する。制御装置Ｃは、プリンタードライバー１２２から受信した印刷データに基づいてプリンター１１を制御し、プリンター１１に印刷データに基づく画像を印刷させる。なお、モニター１２３には、プリンター１１に制御用設定値を入力設定するためのメニュー画面や印刷対象の画像等が表示される。
【００３２】
次に、図１に示すプリンター１１の構成について説明する。なお、以下における明細書中の説明において、「左右方向」、「上下方向」をいう場合は、図１に矢印で示した方向を基準として示すものとする。また、図１において手前側を前側、奥側を後側とする。
【００３３】
図１に示すように、プリンター１１は、直方体状の本体ケース１２を備える。本体ケース１２内には、長尺状のシート１３を繰り出す繰出し部１４と、そのシート１３にインクの噴射により印刷を施す印刷室１５と、その印刷によりインクが付着したシート１３に乾燥処理を施す乾燥装置１６と、乾燥処理が施されたシート１３を巻き取る巻取り部１７とが設けられている。
【００３４】
すなわち、本体ケース１２内におけるやや上寄りの位置には、本体ケース１２内を上下に区画する平板状の基台１８が設けられており、この基台１８よりも上側の領域が矩形板状の支持部材１９を基台１８上に支持してなる印刷室１５となっている。そして、基台１８よりも下側の領域において、シート１３の搬送方向で上流側となる左側寄りの位置に、繰出し部１４が配設されると共に、下流側となる右側寄りの位置に、乾燥装置１６及び巻取り部１７が配設されている。
【００３５】
図１に示すように、繰出し部１４には、前後方向に延びる巻き軸２０が回転自在に設けられ、その巻き軸２０に対してシート１３が予めロール状に巻かれた状態で一体回転可能に支持されている。すなわち、シート１３は、巻き軸２０が回転することにより、繰出し部１４から繰り出されるようになっている。また、繰出し部１４から繰り出されたシート１３は、巻き軸２０の右側に位置する第１ローラー２１に巻き掛けられて上方へ案内される。
【００３６】
一方、支持部材１９の左側であって下側の第１ローラー２１と上下方向で対応する位置には、第２ローラー２２が下側の第１ローラー２１と平行な状態で設けられている。そして、第１ローラー２１によって搬送方向が鉛直上方向に変換されたシート１３は、この第２ローラー２２に左側下方から巻き掛けられることにより、その搬送方向が水平右方向に変換されて支持部材１９の上面に摺接するようになっている。
【００３７】
また、支持部材１９の右側には、左側の第２ローラー２２と支持部材１９を挟んで対向する第３ローラー２３が第２ローラー２２と平行な状態で設けられている。なお、第２ローラー２２及び第３ローラー２３は各々の周面の頂部が支持部材１９の上面と同一高さとなるように位置調整されている。
【００３８】
印刷室１５内で左側の第２ローラー２２により搬送方向が水平右方向に変換されたシート１３は、支持部材１９の上面に摺接しつつ下流側となる右側に搬送された後、第３ローラー２３に右側上方から巻き掛けられることにより搬送方向が鉛直下方向に変換されて基台１８よりも下側の乾燥装置１６に向けて搬送されるようになっている。そして、乾燥装置１６内を通過することにより乾燥処理が施されたシート１３は、更に鉛直下方向に搬送された後、第４ローラー２４に巻き掛けられて搬送方向を水平右方向に変換され、この第４ローラー２４の右側に配設された巻取り部１７の巻取り軸２５が搬送モーター６１（図２参照）の駆動力に基づいて回転することによりロール状に巻き取られる。
【００３９】
図１に示すように、印刷室１５内における支持部材１９の前後両側には、左右方向に延びるガイドレール２６（図１では２点鎖線で示す）が対をなすように設けられている。ガイドレール２６の上面は支持部材１９の上面よりも高くなっており、両ガイドレール２６の上面には、矩形状のキャリッジ２７が第１キャリッジモーター６２（図２参照）の駆動に基づき両ガイドレール２６に沿って図１に示す主走査方向Ｘ（図１では左右方向）への往復移動が可能な状態で支持されている。また、キャリッジ２７は第２キャリッジモーター６３（図２参照）の駆動に基づき副走査方向（図１では紙面と直交する前後方向）への移動も可能となっている。そして、このキャリッジ２７の下面側には支持板２８を介して記録手段の一例である複数の記録ヘッド２９が支持されている。
【００４０】
支持部材１９の左端から右端までの一定範囲が印刷領域とされており、この印刷領域単位でシート１３は間欠的に搬送されるようになっている。そして、支持部材１９上に停止したシート１３に対してキャリッジ２７の往復移動に伴い記録ヘッド２９からインクが噴射されることでシート１３に印刷が施される。
【００４１】
なお、印刷時には、支持部材１９の下側に設けられた吸引装置３０が駆動され、支持部材１９の上面に開口する多数の吸引孔に及ぶ負圧による吸引力により、シート１３は支持部材１９の上面に吸着される。そして、シート１３への１回分の印刷が終わると、吸引装置３０の負圧が解除され、シート１３の搬送が行われるようになっている。
【００４２】
また、印刷室１５内において、第３ローラー２３よりも右側となる非印刷領域には、非印刷時に記録ヘッド２９のメンテナンスを行うためのメンテナンス装置３２が設けられている。メンテナンス装置３２は、記録ヘッド２９毎にキャップ３３と昇降装置３４とを備える。各キャップ３３は昇降装置３４の駆動により、記録ヘッド２９のノズル形成面に当接するキャッピング位置と、ノズル形成面から離間する退避位置との間を移動する。
【００４３】
また、図１に示すように、本体ケース１２内には、異なる色のインクをそれぞれ収容した複数（例えば８個）のインクカートリッジＩＣ１〜ＩＣ８が着脱可能に装着されている。そして、各インクカートリッジＩＣ１〜ＩＣ８はインク供給路等（図示省略）を通じて記録ヘッド２９に接続され、各記録ヘッド２９は各インクカートリッジＩＣ１〜ＩＣ８から供給されたインクを噴射する。このため、本例のプリンター１１では、８色のインクを用いたカラー印刷が可能となっている。なお、本体ケース１２においてインクカートリッジＩＣ１〜ＩＣ８の配置位置と対応する箇所には開閉式のカバー３８が設けられている。インクカートリッジＩＣ１〜ＩＣ８の交換作業はカバー３８を開けて行われる。インクカートリッジ交換等を行う際のカバー３８の開操作は、制御装置Ｃにより検出されるようになっている。
【００４４】
８個のインクカートリッジＩＣ１〜ＩＣ８は、例えば黒（Ｋ）、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）等の各インクを収容する。なお、保湿液を収容する保湿液カートリッジが装填される構成も採用できる。もちろん、インクの種類（色数）は適宜設定でき、黒インクだけでモノクロ印刷する構成や、インクを２色としたり、８色以外で３色以上の任意の色数としたりした構成も採用できる。
【００４５】
各インクカートリッジＩＣ１〜ＩＣ８はカートリッジホルダー（図示省略）を介して制御装置Ｃと電気的に接続されており、各インクカートリッジＩＣ１〜ＩＣ８に実装された不揮発性の記憶素子４７（図２参照）には、対応する色のインク残量情報が書き込まれるようになっている。また、本実施形態では、制御装置Ｃには、無停電電源４８が接続されており、プリンター１１の各種駆動系及び表示系への電力供給は、無停電電源４８から制御装置Ｃを介して行われるようになっている。なお、無停電電源４８に替えて、無停電機能を備えない通常の電源を用いてもよい。
【００４６】
図２は、印刷システム１００の電気構成を示すブロック図である。図２に示すホスト装置１２０内のプリンタードライバー１２２は、モニター１２３に表示させるべきメニュー画面及び印刷条件設定画面などの各種画面の表示制御を行うと共に、各画面の表示状態において操作部１２４から入力した操作信号に応じた所定処理を行うホスト制御部１２５を備えている。ホスト制御部１２５は、プリンタードライバー１２２を統括的に制御する。また、プリンタードライバー１２２には、上位の画像生成装置１１０から受信した画像データに対して印刷データの生成に必要な画像処理を施す、解像度変換部１２６、色変換部１２７及びハーフトーン処理部１２８を備えている。解像度変換部１２６は、画像データを表示解像度から印刷解像度へ変換する解像度変換処理を行う。色変換部１２７は、表示用の表色系（例えばＲＧＢ表色系やＹＣｂＣｒ表色系）から印刷用の表色系（例えばＣＭＹＫ表色系）に色変換する色変換処理を行う。さらにハーフトーン処理部１２８は、表示用の高階調（例えば２５６階調）の画素データを印刷用の低階調（例えば２階調又は４階調）の画素データに階調変換するハーフトーン処理などを行う。そして、プリンタードライバー１２２は、これらの画像処理を施した結果生成された印刷画像データに、印刷制御コード（例えばＥＳＣ／Ｐ）で記述されたコマンドを付して印刷ジョブデータ（以下、単に「印刷データＰＤ」と称す）を生成する。
【００４７】
ホスト装置１２０はデータの転送制御を行う転送制御部１２９を備える。転送制御部１２９は、プリンタードライバー１２２が生成した印刷データＰＤを所定容量のパケットデータずつプリンター１１へ順次シリアル転送する。
【００４８】
一方、プリンター１１側の制御装置Ｃは、ホスト装置１２０から印刷データＰＤを受信して記録系の制御をはじめとする各種制御を行うコントローラー４０を備えている。コントローラー４０は、複数個（本例では１５個）の記録ヘッド２９を制御する。
【００４９】
図２に示すように、本実施形態のホスト装置１２０は、シリアル通信ポートＵ１を備えている。また、コントローラー４０もシリアル通信ポートＵ２を備えている。そして、転送制御部１２９は、シリアル通信ポートＵ１，Ｕ２間の通信を介してコントローラー４０へ対応する印刷データＰＤをシリアル転送するようになっている。
【００５０】
図２に示すように、コントローラー４０には、複数個（Ｎ個（本例では８個））のヘッド制御ユニット４５（以下、単に「ＨＣＵ４５」という）が接続され、各ＨＣＵ４５にはそれ一個につき記録ヘッド２９が複数個（Ｍ個（本例では２個））ずつ接続されている。
【００５１】
また、コントローラー４０に接続された各通信回路４６には、８個のインクカートリッジＩＣ１〜ＩＣ８に実装された８個の記憶素子４７がそれぞれ接続されている。コントローラー４０は８個のインクカートリッジＩＣ１〜ＩＣ４に実装された記憶素子４７と通信可能である。記憶素子４７は不揮発性の記憶素子により構成されている。記憶素子４７には、対応するインクカートリッジＩＣのインク残量情報、インク色、使用期限、メンテナンス情報、品番などの各種のインク関連情報が記憶される。なお、インクカートリッジＩＣ（図１参照）がカートリッジホルダーに装着された状態で、記憶素子４７とカートリッジホルダー側の端子部とが電気的に接続されることにより、通信回路４６は記憶素子４７に対して読み取り及び書き込みのための通信が可能となる。
【００５２】
コントローラー４０は、８個のインクカートリッジＩＣ１〜ＩＣ８のインク残量等を管理する。コントローラー４０は、通信回路４６を介してインクカートリッジＩＣ１〜ＩＣ８の各記憶素子４７と通信してインク関連情報の読出し及び書込みが可能となっている。
【００５３】
さらに、制御装置Ｃは、コントローラー４０の出力側（制御下流側）に通信線ＳＬ１を通じて接続されたメカコントローラー４３を備えている。メカコントローラー４３は主に搬送系及びキャリッジ駆動系を含むメカニカル機構４４の制御を司る。コントローラー４０は、自身が受け持つ複数個（例えば１５個）の記録ヘッド２９の印刷準備ができた段階（つまりインク滴噴射制御に使用する印刷画像データが準備された段階）でキャリッジ起動コマンドをメカコントローラー４３へ送信するようになっている。これにより、コントローラー４０のうち一方の印刷準備完了前にキャリッジ２７が起動されてしまうことに起因し、記録ヘッド２９が噴射位置に到達したにも拘わらずインク滴が噴射されない噴射ミスが防止される。
【００５４】
また、コントローラー４０は、自身が受け持つ複数個の記録ヘッド２９の印刷を完了した段階で、シート１３の搬送を指令する搬送コマンドをメカコントローラー４３へ送信する。これにより、印刷完了前の段階でシート１３が搬送開始（又は支持部材１９上のシートの吸着解除）されてしまうことに起因し、記録ヘッド２９から噴射されたインク滴のシート１３に対する着弾位置ずれ（印刷位置ずれ）が防止される。
【００５５】
図２に示すように、コントローラー４０にはリニアエンコーダー５０が接続されている。このリニアエンコーダー５０はキャリッジ２７の移動経路に沿って設けられ、コントローラー４０には、このリニアエンコーダー５０からキャリッジ２７の移動距離に比例する数のパルスをもつ検出信号（エンコーダーパルス信号）が入力される。コントローラー４０に入力されたエンコーダーパルス信号は、キャリッジ２７の主走査方向における位置（キャリッジ位置）及びキャリッジ移動方向の取得や、記録ヘッド２９へ出力される噴射タイミング信号の生成に用いられる。
【００５６】
図２に示すように、コントローラー４０は、ＣＰＵ５１（中央処理装置）、ＡＳＩＣ５２（Application Specific IC（特定用途向け集積回路））、ＲＯＭ５３、第２の記憶手段の一例としてのＲＡＭ５４、及び第１の記憶手段の一例としての不揮発性メモリー５５を備えている。ＣＰＵ５１は、ＲＯＭ５３に記憶されたプログラムを実行することにより、印刷制御に必要な各種タスクを実行する。また、ＡＳＩＣ５２は、印刷データＰＤの処理など記録系のデータ処理などを行う。もちろん、各タスクを含むプログラムは不揮発性メモリー５５に記憶されてもよい。
【００５７】
本実施形態では、ＲＡＭ５４にはＤＲＡＭ（Dynamic Random Access Memory）が用いられている。ＤＲＡＭとしては、SDRAM（Synchronous DRAM）、DDR SDRAM（Double-Data-Rate SDRAM）、DDR2 SDRAM、DDR3 SDRAMなどが用いられているが、その他、EDO DRAM（Extended Data Out DRAM）、バーストEDO DRAMなどを用いることもできる。もちろん、ＲＡＭ５４には、ＳＲＡＭ（Static Random Access Memory）を用いてもよい。
【００５８】
また、本実施形態では、不揮発性メモリー５５として、例えばＦｅＲＡＭ（強誘電体メモリー）が用いられているが、ＭＲＡＭ（Magnetoresistive ＲＡＭ）、ＰＲＡＭ（Phase change ＲＡＭ）、ＲｅＲＡＭ（Resistive ＲＡＭ）でもよい。もちろん、書込み可能回数が比較的多ければ、ＥＥＰＲＯＭやフラッシュメモリーでもよい。
【００５９】
一方、メカコントローラー４３には、モーター駆動回路６０を介してメカニカル機構４４を構成する搬送モーター６１、第１キャリッジモーター（以下、「第１ＣＲモーター６２」ともいう）及び第２キャリッジモーター（以下、「第２ＣＲモーター６３」ともいう）がそれぞれ接続されている。また、メカコントローラー４３には、吸引装置３０及びメンテナンス装置３２がそれぞれ接続されている。なお、本実施形態では、記録ヘッド２９及びメカニカル機構４４により印刷手段の一例が構成される。このため、第１ＣＲモーター６２及び第２ＣＲモーター６３も、印刷手段の構成要素の一例を構成している。また、メカニカル機構４４のうち搬送モーター６１と各ローラー２１〜２４と軸２０，２５等により、印刷手段のうちの搬送手段の一例が構成される。
【００６０】
また、メカコントローラー４３には、入力系として、電源スイッチ６５、エンコーダー６６及び温度センサー６７がそれぞれ接続されている。電源スイッチ６５がオン操作されたときのオン信号及びオフ操作されたときのオフ信号はメカコントローラー４３を介してコントローラー４０へ送信される。コントローラー４０及びメカコントローラー４３には、無停電電源４８が接続されており、コントローラー４０は電源スイッチ６５のオン信号の入力に基づき無停電電源４８の電力供給を指示し、電源スイッチ６５のオフ信号の入力に基づき無停電電源４８に電力供給の停止を指示する。
【００６１】
また、メカコントローラー４３は、コントローラー４０から通信線ＳＬ１を通じて受信した各種コマンドに従って、各モーター６１〜６３、吸引装置３０及びメンテナンス装置３２を駆動制御する。エンコーダー６６は、搬送モーター６１を動力源とする搬送駆動系の回転軸の回転を検出するものであり、メカコントローラー４３は、エンコーダー６６の検出信号（エンコーダーパルス信号）を用いてシート１３の搬送量及び搬送位置を検出する。
【００６２】
また、温度センサー６７は、シート１３の温度を検出するためのものであり、メカコントローラー４３には温度センサー６７からシート温度に応じた温度検出信号が入力される。このシート温度はプリンター１１が動作するのに必要な調整値を求めるために使用される。
【００６３】
制御装置Ｃは、印刷時に、搬送モーター６１を駆動してシート１３の次の被印刷領域を支持部材１９上に配置すべくシート１３を搬送する搬送動作と、シート搬送後に次の被印刷領域を支持部材１９に吸着させる吸着動作と、記録ヘッド２９によるシート１３への印刷動作と、１回分（１頁分）の印刷終了後にシート１３の吸着を解除する吸着解除動作とを行う。このとき、印刷動作（記録動作）は、キャリッジ２７の主走査方向Ｘへの移動中に記録ヘッド２９からインク滴を噴射することにより行われる。この印刷動作は、第１ＣＲモーター６２の駆動によるキャリッジ２７の主走査方向Ｘへの移動（１パス動作）と、１パス終了毎に行われる第２ＣＲモーター６３の駆動によるキャリッジ２７の副走査方向への移動とを、所定回数繰り返すことにより行われる。
【００６４】
図４は、コントローラー４０内のコンピューターに係る部分の電気的構成を示すブロック図である。図４に示すように、ＣＰＵ５１、ＡＳＩＣ５２、ＲＯＭ５３、ＲＡＭ５４、及び不揮発性メモリー５５は、バス５６に接続されており、ＣＰＵ５１及びＡＳＩＣ５２はバス５６を介してＲＯＭ５３、ＲＡＭ５４及び不揮発性メモリー５５にアクセスすることが可能になっている。また、バス５６にはメモリーコントローラー５７が接続されており、このメモリーコントローラー５７にはバス５８を介して他のＲＡＭ５９が接続されている。このＲＡＭ５９は、主に印刷データの画像処理の際に、処理前、処理途中、処理後の各種データを格納するためのバッファーとして用いられる。ＡＳＩＣ５２はメモリーコントローラー５７を介してＲＡＭ５９にアクセスすることで、印刷データ、その処理途中の印刷画像データの読み出し、及び読み出したデータに画像処理を施した後のデータ（プレーンデータ、ヘッド制御データ等）の書き込みを行う。また、画像処理のうち一部はＣＰＵ５１が行い、ＣＰＵ５１もメモリーコントローラー５７を介してＲＡＭ５９にアクセスして印刷画像データ等の読み出し及び画像処理後のデータの書き込みを行う。また、ＡＳＩＣ５２とＲＡＭ５９間のデータ転送（ＤＭＡ転送）はメモリーコントローラー５７が行う。このメモリーコントローラー５７へのデータ転送処理の指示及びその転送条件などの設定は、ＣＰＵ５１がメモリーコントローラー５７にアクセスして行う。
【００６５】
ＣＰＵ５１とＡＳＩＣ５２により、印刷データに各種の画像処理が施されることにより、プレーンデータ、ヘッド制御データが順番に生成される。すなわち、ＣＰＵ５１により、印刷データの解凍処理、印刷画像データの画素をノズルに割り付けるマイクロウィーブ処理などが施されることによりプレーンデータは生成され、ＡＳＩＣ５２により、プレーンデータに縦横変換処理などの画像処理が施されることによりヘッド制御データが生成される。なお、本実施形態では、プレーンデータ及びヘッド制御データが、画像処理により生成される記録データに相当する。
【００６６】
ＲＡＭ５９に格納されたヘッド制御データは図２に示すＨＣＵ４５を介して各記録ヘッド２９へ転送される。記録ヘッド２９には不図示のヘッド駆動回路が内蔵され、ヘッド駆動回路がノズル毎に設けられた不図示の噴射駆動素子をヘッド制御データに基づいて駆動制御することにより記録ヘッド２９のノズルからインク滴が噴射される。なお、噴射駆動素子としては、電圧を振動に変換する圧電素子（ピエゾ素子）や静電駆動素子の他、インクを加熱して沸騰した際の気泡の力を利用してインク滴を噴射させるヒーター素子を用いることもできる。
【００６７】
図３は、コントローラー４０の機能構成を説明するブロック図である。図３に示すコントローラー４０内の各種機能構成部分は、ＣＰＵ５１がプログラムを実行することにより構築されている。
【００６８】
図３に示すように、コントローラー４０は、ＯＳ（Operating System）として、制御手段の一例であるリアルタイムＯＳ７１を備えている。そして、コントローラー４０内には、このリアルタイムＯＳ７１の管理下で選択的に起動される複数のタスク部８１〜９２等が備えられている。複数のタスク部には、図３に示すように、主制御部８１、通信部８２、画像処理部８３、コマンド解析部８４、印刷タスク部８５、メカ制御部８６、メカ通信部８７、ヘッド制御部８８、インク管理部８９、緊急タスク部９０（エマージェンシータスク部）、書込み手段及びコピー手段の一例である書込みタスク部９１、及び書戻し手段の一例である書戻しタスク部９２などがある。主制御部８１は、各タスク部８２〜９２を統括的に制御する。なお、本実施形態では、リアルタイムＯＳ７１、各タスク部８１〜９２、ＲＡＭ５４及び不揮発性メモリー５５により、データ記憶処理装置の一例が構成される。
【００６９】
リアルタイムＯＳ７１は、スケジューラー７２及び優先順位変更手段の一例としての優先順位変更部７３を備える。スケジューラー７２は、タスク管理部７４及びディスパッチ部７５を備えている。
【００７０】
スケジューラー７２は、タスク部８１〜９２のスケジュール管理を行う。すなわち、タスク部８１〜９２の起動要求を受け付けると、空きがあればそのタスク部を起動するが、既に他のタスク部が実行中（Run状態）であれば、そのタスク部をReady状態とする。そして、実行中のタスク部から処理を終了した旨あるいは待ちが発生した旨の通知ＳＣ（サービスコール）を受け付けると、そのときReady状態のタスク部が存在すればそのうち優先順位の一番高いタスク部を起動させることで実行タスク（起動タスク）を切り換えるようになっている。タスク管理部７４は、タスクの状態（Wait，Ready，Run等）を管理する。ディスパッチ部７５は、スケジューラー７２がタスク切り換えイベントとなる通知ＳＣ（サービスコール）を受け付けると、タスク管理部７４が管理するタスクの状態を参照してReady状態のタスク部のうち優先順位の一番高いタスク部に起動指示を通知してこれを起動させる。
【００７１】
タスク管理部７４は、図５に示す優先順位管理テーブル９７を有している。この優先順位管理テーブル９７には、タスクが優先順位の順番に配列されている。図５の例では、複数のタスクが上側から優先順位の高い順番に配列されており、上側に位置するタスクほど優先順位が高く設定されている。
【００７２】
優先順位変更部７３は、優先順位管理テーブル９７の優先順位の順番を並び替え、スケジューラー７２が起動させるべきタスクの優先順位を変更する機能を有する。電源オン時には、リアルタイムＯＳ７１は図５（ａ）に示す通常時の優先順位管理テーブル９７を設定する。優先順位変更部７３は、電源スイッチ６５のオフ操作によるプリンター１１の電源オフ時（通常電源オフ時）と、電源プラグ抜けや電源故障などによる電源遮断時（異常電源オフ時）に、優先順位管理テーブル９７を、図５（ａ）に示す通常時の優先順位の順番から、図５（ｂ）に示す電源オフ時の優先順位の順番に変更する。ここで、各タスクのうちＣＰＵ５１が一のタスクを実行することにより、図３に示す各タスク部８１〜９２のうち一のタスク部が起動される。図３に示す各タスク部８１〜９２は、ＣＰＵ５１の実行対象である、主制御タスク、通信タスク、コマンド解析タスク、画像処理タスク、印刷タスク、メカ制御タスク、メカ通信タスク、ヘッド制御タスク、インク管理タスク、緊急タスク、書込みタスク及び書戻しタスクとそれぞれ対応している。なお、無停電機能を備えない通常の電源を用いた構成の場合は、停電も異常電源オフの原因となる。
【００７３】
図５（ａ）に示す通常時の優先順位管理テーブル９７には、緊急タスク、書込みタスク、ヘッド制御タスク、画像処理タスク、…、書戻しタスクの順番に優先順位が設定されている。つまり、印刷系タスク部８１〜８９よりも書込みタスク部９１の優先順位が高く設定されるとともに、書戻しタスク部９２が印刷系タスク部８１〜８９よりも低い優先順位に設定されている。ここで、印刷系タスク部８１〜８９とは、印刷データＰＤに基づく印刷処理を行ううえで必要な処理を担うタスク部を指す。本実施形態では、印刷系タスク部には、通信系タスク部に属する通信部８２及びメカ通信部８７と、記録系タスク部に属する主制御部８１、画像処理部８３及びヘッド制御部８８と、メカ駆動系タスク部（コマンド処理系タスク部）に属するコマンド解析部８４、印刷タスク部８５及びメカ制御部８６とが含まれる。なお、通信系タスク部８２，８７は、記録系及びメカ駆動系の両方に属する通信部８２と、メカ駆動系のみに属するメカ通信部８７とに分かれる。また、本実施形態では、印刷系タスク部８１〜８９により、印刷制御手段の一例が構成される。
【００７４】
本実施形態では、このように通常時には、書込みタスク部９１は緊急タスク部９０を除くタスクの中で一番高い優先順位に設定されており、書戻しタスク部９２は一番低い優先順位に設定されている。よって、書込みタスク部９１は印刷系タスク部８１〜８９よりも高い優先順位に設定され、書戻しタスク部９２は印刷系タスク部８１〜８９よりも低い一優先順位に設定されている。
【００７５】
また、図５（ｂ）に示す電源オフ時の優先順位管理テーブル９７には、緊急タスク、書込みタスク、書戻しタスク、ヘッド制御タスク、画像処理タスク、…の順番に優先順位が設定されている。つまり、書込みタスク部９１と書戻しタスク部９２との優先順位の関係を通常時と同じ関係に保持したまま、緊急タスク部９０以外のタスクの中で書込みタスク部９１と書戻しタスク部９２とをそれぞれ第１位と第２位の優先順位に設定されるようになっている。このように電源オフ時には、書込みタスク部９１と書戻しタスク部９２は、書込みタスク部９１の方が書戻しタスク部９２よりも高い優先順位になる関係を保持したまま、共に印刷系タスク部８１〜８９よりも高い優先順位に設定される。換言すれば、電源オフ時には、書戻しタスク部９２は、書込みタスク部９１との優先順位の関係を保持したまま、印刷系タスク部８１〜８９よりも低い優先順位から、印刷系タスク部８１〜８９よりも高い優先順位へ変更される。
【００７６】
図３に戻って、各タスク部８２〜９２の機能について説明する。
通信部８２は、シリアル通信ポートＵ２を制御する通信ドライバーソフトウェアを含み、シリアル通信ポートＵ２を介してホスト装置１２０との間で行われるシリアル通信を制御する。通信部８２が受信した印刷データＰＤは、画像バッファー５９Ａに格納される。この画像バッファー５９ＡはＲＡＭ５９の少なくとも一部の記憶領域により構成される。画像バッファー５９Ａは、詳しくは、受信バッファーと中間バッファー（プレーンバッファ）と印刷バッファー（イメージバッファー）とを含み、印刷データＰＤはまず受信バッファーに格納される。
【００７７】
画像処理部８３は、画像バッファー５９Ａから印刷データＰＤを読み出し、印刷データＰＤをまず解凍する。ここで、印刷データＰＤは印刷画像データと印刷言語記述コマンドとを含み、画像処理部８３は、解凍後の印刷画像データを画像バッファー５９Ａ（詳しくはプレーンバッファー）に一時格納するとともに、印刷言語記述コマンドをコマンド解析部８４に送る。
【００７８】
コマンド解析部８４は、解凍後の印刷データＰＤ中の印刷言語記述コマンドを解析して制御用のコマンドを取得し、その取得したコマンドを印刷タスク部８５へ送る。
画像処理部８３は、印刷データＰＤの解凍後の処理として、画像バッファー５９Ａから読み出した印刷画像データ（プレーンデータ）にマイクロウィーブ処理（ノズル割付処理）などの画像処理を順次施し、記録ヘッド２９の制御に用いられるヘッド制御データを生成して画像バッファー５９Ａ（詳しくはイメージバッファー）に格納する。なお、マイクロウィーブ処理とは、記録ヘッド２９のノズル形成面において副走査方向に隣接するノズルにより記録される主走査ライン（ドットライン）が隣接しないように印刷画像データ（プレーンデータ）の各ドットを各ノズルに割り付ける特定の割付処理を指す。なお、本実施形態では、縦横変換処理などの一部の画像処理は、ＡＳＩＣ５２内の縦横変換回路などの画像処理用回路（図示省略）により行われる。この縦横変換処理の際には、ＡＳＩＣ５２はＲＡＭ５９との間でメモリーコントローラー５７（図４参照）を介してデータ転送を行う。このメモリーコントローラー５７に対する転送開始指示や転送条件設定処理は、ＣＰＵ５１が行う。このため、本実施形態では、ＣＰＵ５１がデータ転送処理及び転送条件設定処理などを行うソフトウェア部分によって、主制御部８１の一部が構成されている。この点において、主制御部８１は、記録ヘッド２９の記録動作に用いられる噴射系データ生成のための画像処理を含む記録系処理を行う記録系タスク部８１〜８３，８８に属する。本実施形態では、記録系タスク部８１〜８３，８８により、記録系処理手段の一例が構成される。
【００７９】
ヘッド制御部８８は、画像バッファー５９Ａからヘッド制御データを読み出し、このヘッド制御データを記録ヘッド２９毎に分割して各ＨＣＵ４５へ割り振りつつ転送する。さらに、ＨＣＵ４５は受け付けたヘッド制御データを、対応する各記録ヘッド２９へ逐次送信する。記録ヘッド２９内の不図示のヘッド駆動回路は、ヘッド制御データに基づきノズル毎の噴射駆動素子を駆動制御することで、ノズルからインク滴を噴射させる。このとき、ヘッド駆動回路は、リニアエンコーダー５０のエンコーダーパルス信号を基に生成された噴射タイミング信号を入力し、この噴射タイミング信号に基づく噴射タイミング毎に噴射駆動素子を駆動させることにより、シート１３上に主走査方向Ｘに所定の印刷解像度でインク滴によるドットを形成する。
【００８０】
図３に示す印刷タスク部８５は、コマンド解析部８４から受け付けたコマンドを、メカコントローラー４３へ指示できる形態のコマンドに処理するコマンド処理を行い、処理後のコマンドをメカ制御部８６へ送る。
【００８１】
メカ制御部８６は、受け付けたコマンドを実行順に管理してジョブを制御するジョブ制御部９３と、ジョブ制御部９３から実行順に受け付けたコマンドの出力先及び出力タイミングを制御して、ヘッド駆動系・搬送系・キャリッジ駆動系等の各種デバイスを制御するデバイス制御部９４とを備えている。ジョブ制御部９３は、印刷ジョブで指示された印刷動作を行う過程でヘッド駆動系、搬送系、キャリッジ駆動系のシーケンス動作の完了通知コマンドをデバイス制御部９４を介して受け付けるため、ヘッド駆動系、搬送系、キャリッジ駆動系の駆動タイミングの把握が可能である。このため、ジョブ制御部９３は、印刷動作の切れ目となるタイミングを把握することが可能である。ここで、印刷動作の切れ目とは、１ページ分の印刷が終わった改ページのタイミング、あるいはキャリッジ２７が主走査方向Ｘに一回移動して１行分の印刷（１パス）を終了したタイミングなどを指す。
【００８２】
デバイス制御部９４は、メカ通信部８７、ヘッド制御部８８、インク管理部８９及び緊急タスク部９０などと接続され、これら各部宛毎のコマンドを出力したり、各部からの通知を受け付けたりして、これらのデバイスを制御等する一種のデバイスマネージャー機能を有している。デバイス制御部９４は、例えばヘッド制御部８８の処理の進捗を監視し、次パスの印刷に使用するヘッド制御データが準備できた段階で、メカシーケンス用のコマンドをメカ通信部８７へ送る。また、デバイス制御部９４は、メカコントローラー４３から通知された装置状態情報（ステータス情報）に基づいて、メカニカル機構４４における搬送系及びキャリッジ駆動系の状態を把握し、噴射開始に適切な状態になったタイミングでヘッド制御部８８に噴射開始の旨を指示する。
【００８３】
シーケンス制御用のコマンドには、例えば搬送コマンド、吸着コマンド、第１キャリッジ起動コマンド（キャリッジ主走査方向移動コマンド）、第２キャリッジ起動コマンド（キャリッジ副走査方向移動コマンド）、吸着解除コマンドなどがある。デバイス制御部９４は、これらのコマンドを、ヘッド制御部８８の進捗に合わせた適宜なタイミング、あるいはメカコントローラー４３側の進捗に合わせた適宜なタイミングで発行する。
【００８４】
メカ通信部８７は、メカ制御部８６からコマンドを受け付けると、そのコマンドをメカコントローラー４３へ送信する。また、メカ通信部８７は、メカコントローラー４３からコマンド受信成功の応答（ＡＣＫ信号）、コマンド受信失敗の応答であるリトライ要求（ＮＡＣＫ信号）、メカコントローラー４３が発行したコマンドや状態情報を受け付けると、上位のメカ制御部８６へ送る。
【００８５】
図３に示すインク管理部８９は、各インクカートリッジＩＣ１〜ＩＣ８のインク関連情報を管理する。インク管理部８９は演算部９５を備えている。演算部９５は、記録ヘッド２９及びメンテナンス装置３２で消費されたインク消費量及び各インクカートリッジＩＣ１〜ＩＣ８のインク残量を演算する。詳しくは、演算部９５は、各記録ヘッド２９が消費した８色分のインク消費量を演算する。ここで、ヘッド制御部８８は、ヘッド制御データに基づき記録ヘッド２９のインク滴噴射回数に相当するドット数を色別に計数するドットカウンター（図示せず）を内蔵している。演算部９５は、ヘッド制御部８８から各記録ヘッド２９の色別のドット数を取得し、その取得したドット数を色別に合計し、さらにその合計した色別のドット数を基に全記録ヘッド２９が消費したインク色別のインク消費量を演算する。
【００８６】
そして、インク管理部８９は、１回の印刷が終わったとき、インクカートリッジ交換が行われたとき、電源スイッチ６５がオフ操作された際の電源遮断時などの所定時期に、全ての記録ヘッド２９で消費された８色分のインク消費量を算出する。さらに演算部９５は、この８色分の各インク消費量を、この８色の前回のインク残量からそれぞれ減算することで、現在の８色のインク残量を算出する。本実施形態では、インク管理部８９は、インク残量情報とこれ以外のインクに係る情報などとを含む印刷関連情報（データの一部）を取得する。本実施形態では、印刷関連情報には、インク残量、インク消費量及びインクカートリッジ使用期限残り時間などのインク関連情報と、印刷ページ数、課金情報、メンテナンス情報（メンテナンス項目毎の実施回数）、印刷実施時刻情報などが含まれている。
【００８７】
さらにインク管理部８９は、印刷関連情報を管理する他、インクカートリッジＩＣの状態を監視し、インク関連のエラー検出も行う。インク管理部８９は、例えば演算部９５が算出したインク残量がインクエンド閾値未満になったか否かを判定し、インク残量がその閾値未満である場合にインクエンドと判定する。例えばインクエンドになってから、一定の許容印刷時間又は一定の許容インク量が消費されるまでの期間を過ぎると、強制的に印刷動作を停止させるためのエラーが、メカ制御部８６を介して緊急タスク部９０に通知される。また、インクカートリッジＩＣの外れや、色違いのインクカートリッジＩＣの装着を検出したときにも、メカ制御部８６を介して緊急タスク部９０にエラーが通知される。このエラー通知には、エラー内容を把握できる識別子（例えばエラーコマンド番号）やパラメーター値が付与される。
【００８８】
緊急タスク部９０は、インク管理部８９からエラー通知を受け付けると、そのエラーの内容を判断し、その判断したエラー内容に応じた種類のエラーコマンドを発行する。エラーコマンドはメカ制御部８６を介して適切な送信先へ送られる。例えばインクエンド通知用のエラーコマンドは、メカコントローラー４３及びホスト制御部１２５に送られ、メカニカル機構４４の動作の非常停止や、ホスト装置１２０のモニター１２３へのインクエンドの旨を報知する表示が行われる。また、緊急タスク部９０は、電源オフ機能及び電源遮断検出機能を備えている。緊急タスク部９０は、電源スイッチ６５がオフ操作された際のオフ信号を入力すると、電源オフ機能により、前述の優先順位変更要求をリアルタイムＯＳ７１へ出力し、その後、データバックアップ処理終了の旨の書戻し完了通知を受け付けると、プリンター１１の終了処理を行い、終了処理の後に電源を遮断させる。また、緊急タスク部９０は、電源遮断検出機能により、電源プラグ抜けや電源故障などの不意な電源遮断を検出したときにも、同様の優先順位変更要求をリアルタイムＯＳ７１へ出力する。なお、電源オフ時の書戻し完了通知は、書込みタスク部９１と書戻しタスク部９２によるデータバックアップ処理完了の旨を通知するものである。
【００８９】
書込みタスク部９１は、電源スイッチ６５がオン操作された際のプリンター１１の起動時に、ＣＰＵ５１とバス５６を介して接続された不揮発性メモリー５５からデータＤ（印刷関連情報を含む）を読み込み、その読み込んだデータＤをＲＡＭ５４に書き込む書込み処理を行う。なお、データＤには、印刷関連情報以外に、主制御部８１が記録ヘッド２９及びメカニカル機構４４を駆動させる調整処理を行わせた際に、調整処理の結果として取得された調整値データ（補正値データ）などが含まれる。調整処理としては、キャリッジ２７の往動時と復動時における記録ヘッド２９の噴射タイミングを、プリンター１１の個体差や、シート１３の厚み（媒体厚）に応じて調整する噴射タイミング調整処理などを挙げることができる。この噴射タイミング調整処理では、例えばテストパターンを印刷し、そのテストパターンの中からユーザーが最適と判断した番号又は数値を入力する方法、テストパターンをスキャナーに読み取らせて取得した画像データを画像解析してその画像解析結果から最適な調整値をプリンター１１が求める方法などが挙げられる。この場合、主制御部８１は、第１記憶部１３１のデータＤ中の噴射タイミング用の調整値（補正値）を更新する。この種の調整値（補正値）は、ユーザーが調整処理の実施を選択したときに限り更新されるものであり、通常、過去に一度設定されたほとんど固定値である。よって、この種の調整値は、プリンター１１の電源オン時に一度読み出されて設定されれば、その後、ほとんど読み出しも書き替えも行われることがない。
【００９０】
また、書戻しタスク部９２は、ＲＡＭ５４に記憶されているデータＤを読み出し、その読み出したデータＤを不揮発性メモリー５５に書き戻す書戻し処理を行う。
図３に示すように、ＲＡＭ５４は、プログラムデータ記憶部１３０と、第１記憶部１３１（ミラー記憶領域部）と、第２記憶部１３２（コピー記憶領域部）とを有する。プログラムデータ記憶部１３０は、ＲＯＭ５３（又は不揮発性メモリー５５）から読み出されたプログラムデータや各種の設定値の書込み先となる記憶領域である。
【００９１】
第１記憶部１３１（ミラー記憶領域部）は、不揮発性メモリー５５から読み出されたデータＤの書込み先となる記憶領域である。第１記憶部１３１は、印刷系タスク部８１〜８９、緊急タスク部９０がアクセスしてデータの読出し及び書込みが可能な記憶領域である。電源オン時に不揮発性メモリー５５から第１記憶部１３１に書き込まれたデータＤは、プリンター１１の稼働中（電源オン中）において各タスク部８１〜９０からの書込みアクセスにより逐次更新される。例えばインク管理部８９が第１記憶部１３１に書込みアクセスし、インク残量やインクカートリッジ使用期限残り時間などの印刷関連情報を、第１記憶部１３１に書き込むことにより、データＤのうちインク残量情報などの一部の情報が更新される。もちろん、他の印刷系タスク部の書込みアクセスによっても、第１記憶部１３１のデータＤは更新される。なお、各タスク部毎のデータ更新内容の詳細については後述する。
【００９２】
第２記憶部１３２（コピー記憶領域部）は、第１記憶部１３１から読み出されたデータＤのコピー先となる記憶領域である。この第２記憶部１３２は、書込みタスク部９１による書込みアクセスと書戻しタスク部９２による読み出しアクセスは許可されているものの、各タスク部８１〜９０の第２記憶部１３２への書込みアクセスが禁止されている。但し、各タスク部８１〜９０の第２記憶部１３２への読出しアクセスは許可しても構わない。
【００９３】
書戻しタスク部９２は、各タスク部８１〜９２の中で一番優先順位が低いので（図５（ａ）参照）、印刷動作やメンテナンス動作などが行われていないプリンター１１の待機中に起動されることになる。そして、プリンター１１が待機状態にあるときに起動された書戻しタスク部９２は、第２記憶部１３２に記憶されたデータＤを不揮発性メモリー５５へ書き戻す処理（書戻し処理）を行う。書戻しタスク部９２は、書戻し処理を完了すると、書込みタスク部９１に対して書戻し完了通知を行うようになっている。
【００９４】
書込みタスク部９１は、書戻しタスク部９２から書戻し完了通知を受け付けると、リアルタイムＯＳ７１に起動要求を出す。書込みタスク部９１は、緊急タスク部９０以外の各タスク部８１〜８９，９１，９２の中で一番優先順位が高いので、書戻しタスク部９２による書戻し処理の完了後直ぐに起動される。書込みタスク部９１は、書戻し完了通知を受け付けて起動されたときは、第１記憶部１３１のデータＤ（更新データ）を第２記憶部１３２に上書きすることでコピーする。もちろん、前回コピー時と今回コピー時との間に、第１記憶部１３１のデータＤの更新が行われていないときなどは、コピーしても第２記憶部１３２のデータＤが変らない場合もある。
【００９５】
また、電源オフ操作時、電源プラグ抜けや電源故障などの電源オフ時（電源遮断時）は、緊急タスク部９０が起動され、この緊急タスク部９０が優先順位変更部７３に優先順位変更処理を要求する。優先順位変更部７３は、優先順位管理テーブル９７を、図５（ｂ）に示す優先順、すなわち、書戻しタスク部９２を印刷系タスク部８１〜８９の優先順位より高い順位（本例では第３位の優先順位）に変更する優先順位変更処理を行う。このため、電源遮断時は、書戻しタスク部９２が直ぐ起動され、そのときの第２記憶部１３２の最新のデータＤが不揮発性メモリー５５へ書戻しされるようになっている。なお、コピー処理中の電源遮断時は、より優先順位の高い書込みタスク部９１が起動されて、その途中のコピー処理を終えてから、書戻しタスク部９２が起動される。
【００９６】
ここで、不揮発性メモリー５５をＦｅＲＡＭとしている本例では、不揮発性メモリー５５に保存できるデータ記憶容量が、例えばフラッシュメモリーに比べ比較的小さい。本実施形態では、これまで不揮発性メモリー（例えばフラッシュメモリー）に保存していたデータを、プリンター稼働中に全く更新されないか殆ど更新されないデータ（不変データ）と、印刷の実施や時間経過などに伴って更新されるデータ（可変データ）とに大きく分け、不変データのかなりの部分についてはホスト装置１２０のホスト記憶部１２０Ｍに保存することにしている。このため、不揮発性メモリー５５に保存しておくべきデータＤの容量が比較的小さくなり、不揮発性メモリー５５としてＦｅＲＡＭを使用することが可能になった。フラッシュメモリーは、書込み可能回数がＦｅＲＡＭに比べ非常に少なく、書戻し処理を電源オフ時などに制限する必要があったが、本実施形態では、不揮発性メモリー５５としてＦｅＲＡＭを使用するため、電源オフ時以外のプリンター１１の稼働中においても不揮発性メモリー５５へのデータＤの書戻しを行うことができる。なお、電源オフ時には、書戻しタスク部９１は、ＲＡＭ５４の第２記憶部１３２から読み出した最新のデータＤを記憶素子４７にも書き戻すようになっている。
【００９７】
図６は、書込み処理、コピー処理、書戻し処理を説明するブロック図である。図６に示すように、本実施形態の不揮発性メモリー５５には、計数手段の一例としてのカウンター６８が設けられている。電源オン時には、ＲＯＭ５３のプログラムデータ等がＲＡＭ５４のプログラムデータ記憶部１３０に書き込まれ、ＣＰＵ５１がそのうちブートプログラムを実行することによりリアルタイムＯＳ７１が起動される。このリアルタイムＯＳ７１が起動された最初に、書込みタスク部９１が起動される。図６に示すように、電源オン時に書込みタスク部９１により不揮発性メモリー５５からＲＡＭ５４の第１記憶部１３１へのデータＤの書込み処理が行われる（図６中の（１））（書込み段階）。すなわち、書込みタスク部９１は、電源オン時に、前回の電源オフ時（電源遮断時）に不揮発性メモリー５５に保存されたデータＤを、その不揮発性メモリー５５から読み出し、その読み出したデータＤをＲＡＭ５４の第１記憶部１３１に書き込む。
【００９８】
書込みタスク部９１は、この電源オン時の書込み処理のときに限り、書込み処理に続けてコピー処理も行い、第１記憶部１３１のデータＤを第２記憶部１３２にコピーする（図６中の（２））（コピー段階）。書込みタスク部９１は、コピー処理を完了すると、カウンター６８の計数値をコピー完了値Ａ（例えば「０」）に変更する。
【００９９】
その後、プリンター１１が待機状態になると、各タスク部８１〜９２の中で一番優先順位の低い書戻しタスク部９２が起動される。そして、書戻しタスク部９２は、カウンター６８の計数値を確認し、計数値がコピー完了値Ａであれば、第２記憶部１３２のデータＤを不揮発性メモリー５５に書き戻す（図６中の（３））（書戻し段階）。書戻しタスク部９２は、データＤの書戻し中は、Ｋバイトのデータを書き戻す度にカウンター６８の計数処理を行う。本実施形態では、書戻しタスク部９２は、Ｋバイトのデータを書き戻す度にカウンターをインクリメントする。
【０１００】
書戻しタスク部９２が、データＤを全て書戻し、書戻し処理を完了すると、書戻し完了通知を書込みタスク部９１へ送る。この書戻し完了通知の送信時は、カウンター６８の計数値ＣＴは書戻し完了値Ｂ（例えば最大値）となっている。書込みタスク部９１は、書戻し完了通知を受け付けると起動し、第１記憶部１３１から第２記憶部１３２へデータＤをコピーするコピー処理を行う（図６中の（２））。書込みタスク部９１は、印刷系タスク部より優先順位の高いタスクであるため書戻し完了通知を受け付ければ大抵の場合は直ぐに起動される。書込みタスク部９１は、まずカウンター６８の計数値ＣＴを確認し、計数値ＣＴが書戻し完了値Ｂであれば、第１記憶部１３１のデータＤを第２記憶部１３２にコピーするコピー処理を行う（図６中の（２））。そして、前述のようにコピー処理を完了すると、カウンター６８の計数値をコピー完了値Ａに変更する。こうしてプリンター１１が待機状態になる度に、書戻しタスク部９２が起動し、第２記憶部１３２のデータＤを不揮発性メモリー５５に書戻す（図６中の（３））。この書戻し完了の度に書戻しタスク部９１から送られてくる書戻し完了通知を受け付ける度に書込みタスク部９１は起動し、前回コピー時と今回コピー時の間の期間に更新された第１記憶部１３１のデータＤを、第２記憶部１３２へコピーする（図６中の（２））。
【０１０１】
図７は、不揮発性メモリー５５の構成を示す。図７に示すように、不揮発性メモリー５５は、カウンター６８として使用されるカウンター領域５５Ａと、読み出しのみされて変更されることのない固定データ（例えばバージョン情報等）を記憶するための固定データ記憶領域５５Ｂと、データＤ（バックアップデータ）を記憶させるためのデータ記憶領域５５Ｃとを備えている。カウンター領域５５Ａ及び固定データ記憶領域５５Ｂは、印刷系タスク部８１〜８９及び緊急タスク部９０による書込み禁止領域となっているが、そのうちカウンター領域５５Ａについては、書込みタスク部９１及び書戻しタスク部９２による書込みアクセスは許可されている。そのため、書込みタスク部９１及び書戻しタスク部９２によるカウンター６８の計数値を変更する処理（リセット、セット、計数処理など）が可能になっている。
【０１０２】
カウンター領域５５Ａには、一例として１バイト確保されており、８ビットのカウンター６８が構成されている。本実施形態では、データＤを２５５分割した値であるＫバイト（Ｋ＝データＤのデータ容量／２５５）を、カウンター６８を「１」だけ計数する計数処理の単位としている。本例では、コピー完了値Ａを最小値「00000000」（２進数）としており、書込みタスク部９１によるコピー処理完了後に開始したデータＤの書戻しを全て完了すると、カウンター６８の計数値が最大値「11111111」（２進数）になるようになっている。このように本実施形態では、カウンター６８のビット数をＧとすると、書戻しすべきデータＤの容量ＤＢ（バイト）を、「２のＧ乗−１」で除した値Ｋ（バイト）を、カウンター６８の計数処理を行う単位としている。なお、容量ＤＢはＫの倍数になるように設定している。
【０１０３】
以下、プリンター１１において不揮発性メモリー５５とＲＡＭ５４との間におけるデータＤの書込み、コピー、書戻しによって行われるデータ記憶処理を、図５〜図１２等を参照しつつ説明する。図８及び図９は、書込みタスク部９１、書戻しタスク部９２及び印刷系タスク部８１〜８９の処理の流れを示すシーケンス図である。ここで、図８は通常時のデータ記憶処理の流れを示すシーケンス図、図９は電源遮断時のデータ記憶処理の流れを示すシーケンス図である。まず電源オンから電源オフ前までの通常時のデータ記憶処理について図５（ａ）、図６〜図８、図１０及び図１１等を用いて説明する。
【０１０４】
図８に示すように、電源オン時には、ＲＯＭ５３のプログラムデータ等がＲＡＭ５４のプログラムデータ記憶部１３０に書き込まれ、ＣＰＵ５１がそのうちブートプログラム等を実行することによりリアルタイムＯＳ７１が起動される。このとき、リアルタイムＯＳ７１は、図５（ａ）に示す優先順位管理テーブル９７を設定する。通常時に、タスク管理部７４が参照する優先順位管理テーブル９７は、書込みタスクが印刷系タスクよりも高い優先順位であり、かつ書戻しタスクが印刷系タスクよりも低い優先順位に設定されている。このリアルタイムＯＳ７１の起動後、最初に書込みタスク部９１が起動され、書込みタスク部９１は、不揮発性メモリー５５のデータＤを、ＲＡＭ５４の第１記憶部１３１に書き込む書込み処理を行う（図６、図８中の（１））（書込み段階）。
【０１０５】
書込みタスク部９１は、この電源オン時に限り、書込み処理に続けてコピー処理も行う（図６中の（２）、図８中の最初の（２））（コピー段階）。すなわち、書込みタスク部９１は、第１記憶部１３１のデータＤを第２記憶部１３２にコピーする。この電源オン時には、プリンター１１はメカニカル機構４４の初期化処理を行う。この初期化処理の前又は後にプリンター１１が待機状態になると、各タスク部８１〜９２の中で一番優先順位の低い書戻しタスク部９２が起動される。そして、書戻しタスク部９２は、第２記憶部１３２のデータＤを不揮発性メモリー５５に書き戻す（図６、図８中の（３））（書戻し段階）。書戻しタスク部９２は、データＤを全て書戻すと、書戻し完了通知を書込みタスク部９１へ送る。書込みタスク部９１は、書戻し完了通知を受け付けると起動し、第１記憶部１３１のデータＤを第２記憶部１３２へコピーするコピー処理を行う（図６中の（２）、図８中の２回目以降の（２））。
【０１０６】
こうしてプリンター１１が待機状態にある間は、書込みタスク部９１による第１記憶部１３１のデータＤの第２記憶部１３２へのコピー（図８中の（２））と、書戻しタスク部９２による第２記憶部１３２のデータＤの不揮発性メモリー５５への書戻し（図８中の（３））とが繰り返し行われる。
【０１０７】
以下、書込みタスク部９１が起動して行われるコピー処理と、書戻しタスク部９２が起動して行われる書戻し処理とを、図１０及び図１１に示すフローチャートに従って説明する。図１０は、書込みタスクのうちコピー処理部分の内容をフローチャートで示すコピー処理ルーチンである。また、図１１は、書戻しタスクの内容をフローチャートで示す書戻し処理ルーチンである。
【０１０８】
書込みタスク部９１は書戻し完了通知を受け付けて起動すると、コピー処理を開始する。
まず図１０におけるステップＳ１０において、カウンター６８の計数値ＣＴが書戻し完了値Ｂであるか否かを判定する。計数値ＣＴ＝ＢであればステップＳ２０に進む。また、計数値ＣＴ＝Ｂでなければ当該ルーチンを終了する。つまり、書込みタスク部９１は起動を終了する。
【０１０９】
ステップＳ２０では、第１記憶部１３１のデータＤを第２記憶部１３２へコピーする。
次のステップＳ３０では、コピー処理完了であるか否かを判断する。コピー処理を完了していなければコピー処理を継続し、全てのデータＤのコピーを完了すると（Ｓ３０で肯定判定）、ステップＳ４０に進む。
【０１１０】
ステップＳ４０では、カウンター６８をコピー完了値Ａ（本例では「00000000」）に変更する。そして、書込みタスク部９１は起動を終了する。
その後、プリンター１１が待機状態になると、書戻しタスク部９２が起動する。まず図１１におけるステップＳ１１０において、カウンター６８の計数値ＣＴが書戻し完了値Ｂであるか否かを判定する。計数値ＣＴ＝ＢでなければステップＳ１２０に進む。また、計数値ＣＴ＝Ｂであれば当該ルーチンを終了する。つまり、書戻しタスク部９２は起動を終了する。
【０１１１】
ステップＳ１２０では、カウンター６８の計数値ＣＴがコピー完了値Ａであるか否かを判定する。計数値ＣＴ＝ＡであればステップＳ１３０に進み、計数値ＣＴ＝Ａでなければ（つまり計数値ＣＴがＡ，Ｂ以外の値であれば）ステップＳ１４０に進む。なお、ステップＳ１１０の否定判定とＳ１２０の肯定判定とによって、計数値ＣＴが書戻し完了値Ｂからコピー完了値Ａになったか否かを判定する。
【０１１２】
ステップＳ１３０では、書戻し処理を開始する。すなわち、前回の書戻し処理終了後、書込みタスク部９１による第１記憶部１３１から第２記憶部１３２へのデータＤのコピーが行われているので、そのコピーされたデータＤの最初から書戻し処理を開始する。なお、この書戻し処理は、コピー完了値Ａ（計数値ＣＴ＝Ａ）と対応する箇所からの書戻し処理に相当する。
【０１１３】
一方、ステップＳ１４０では、そのときの計数値ＣＴと対応する箇所からデータＤの書戻し処理を開始する。計数値ＣＴは、本例の場合、Ａ＜ＣＴ＜Ｂの範囲の値なので、書戻しタスク部９２が前回起動した際の書戻し処理が、他のタスク部の割り込みなどによって中断されたことを意味する。今回はその中断された続きの箇所からデータＤの書戻し処理を行うことになる。このとき、計数値ＣＴ≠Ｂなので、前回と今回の間でコピーが行われることはなく、同一のデータＤの続きを書戻しできることになる。
【０１１４】
ステップＳ１５０では、第２記憶部１３２のデータＤのうちＪバイト分のデータを不揮発性メモリー５５に書き戻す。新たに第２記憶部１３２にコピーされたデータＤを書き戻す場合は、データＤの最初からＪバイトずつ順番に書戻しを行う。また、前回中断した続きから同一のデータＤを書き戻す場合は、そのときの計数値ＣＴに対応する箇所からＪバイトずつ順番に書戻しを行う。ここで、Ｊバイトは書戻しの最小単位であり、本例では、カウンター６８の計数処理を行う単位であるＫバイトの自然数ｎ分の１の値（Ｊ＝Ｋ／ｎ）である。
【０１１５】
次のステップＳ１６０では、Ｋバイト分を書き戻したか否かを判断する。Ｋバイト分を書き戻していなければ次のＪバイト分のデータを不揮発性メモリー５５に書き戻す（Ｓ１５０）。そして、Ｊバイト分ずつの書戻しをｎ回繰り返してＫ（＝Ｊ×ｎ）バイト分を書き戻すと（ステップＳ１６０で肯定判定）、ステップＳ１７０に進む。
【０１１６】
ステップＳ１７０では、カウンター６８の計数処理を行う。本例では、計数処理として、カウンター６８の計数値ＣＴを「１」だけインクリメントする。
そして、ステップＳ１８０において、カウンター６８の計数値ＣＴが書戻し完了値Ｂに達したか否かを判断する。書戻し完了値Ｂに達していなければステップＳ１５０に戻り、以下同様に、Ｓ１５０〜Ｓ１８０の各処理を、計数値ＣＴが書戻し完了値Ｂに達するまで（Ｓ１８０で肯定判定）繰り返す。この結果、Ｋバイト分の書戻しを完了する度に、カウンター６８が計数処理でインクリメントされる。そして、データＤを全て不揮発性メモリー５５に書戻し終えると、カウンター６８の計数値ＣＴが書戻し完了値Ｂに達して（Ｓ１８０で肯定判定）当該ルーチンを終了する。つまり、書戻しタスク部９２は起動を終了する。なお、書戻しタスク部９２より優先順位の高い他のタスク部の割り込みがあれば、カウンター６８の計数値ＣＴが書戻し完了値Ｂに達していなくても、その時点で書戻しタスク部９２の起動が終了し、書戻し処理が中断される。
【０１１７】
例えばプリンター１１の電源オン後、ユーザーが画像生成装置１１０で印刷実行の指示操作を行うと、ホスト装置１２０からプリンター１１へ印刷データＰＤが送られてくる。プリンター１１へ送られてきた印刷データＰＤは、コントローラー４０内のリアルタイムＯＳ７１によって起動された通信部８２が受信する。以下、リアルタイムＯＳ７１は、印刷系タスク部８１〜８９のうち、記録処理系のデータの流れ、コマンド処理系のコマンドの流れに従って起動させるべき一つのタスク部を選択的に切り替えることにより、印刷系タスク部８１〜８９に、記録系処理及びコマンド処理（搬送系・キャリッジ駆動系処理）を含む印刷系処理をマルチタスク処理で実施させる。
【０１１８】
記録系処理では、通信部８２が受信した印刷データＰＤの画像処理部８３による解凍処理、印刷画像データ（プレーンデータ）からヘッド制御データを生成する画像処理、ヘッド制御データをヘッド制御部８８がＨＣＵ４５を介して記録ヘッド２９へ転送する転送処理などが行われる。搬送系・ＣＲ駆動系のコマンド処理では、コマンド解析部８４による印刷言語記述コマンドの解析（コマンド解析）、印刷タスク部８５によるコマンド処理、メカ制御部８６によるコマンドのキュー管理及びメカシーケンスに従ったコマンドの出力タイミング制御、メカ通信部８７によるコマンドのメカコントローラー４３への送信が行われる。このように搬送系及びキャリッジ駆動系のコマンドに従ったメカニカル機構４４のメカシーケンス制御と、記録ヘッド２９のインク噴射制御とが、適切なタイミングで行われることで、プリンター１１は印刷データＰＤに基づく画像をシート１３に印刷する印刷動作を行う。
【０１１９】
この印刷動作では、キャリッジ起動コマンドに基づき第１ＣＲモーター６２が駆動されてキャリッジ２７が主走査方向Ｘへ移動し、その移動途中で記録ヘッド２９内のヘッド駆動回路がヘッド制御データに基づいて噴射駆動素子を駆動してノズルからインク滴を噴射させることにより１パス分の印刷が行われる。そして、キャリッジ２７が１パス分の移動を終える度に第２ＣＲモーター６３が駆動されてキャリッジ２７が副走査方向に移動し、これを複数パス繰り返すことで１頁分の印刷が行われる。１頁分の印刷を終えると、メカコントローラー４３はコントローラー４０からの吸着解除コマンドに基づいて吸引装置３０の吸引を開放した後、搬送コマンドに基づいて搬送モーター６１を駆動してシート１３を所定の搬送ピッチだけ搬送させる。また、印刷中の所定時期には、キャリッジ２７をフラッシング位置に移動させ、記録ヘッド２９のノズルからキャップ３３（廃液受容器）に向けて、印刷とは関係のないインク滴を噴射することで、ノズルの目詰まりを予防又は解消するフラッシング（空吐出）が行われる。また、前回のクリーニング実施時期からの経過時間が一定時間を経過したとき、又は電源オン時にその経過時間が一定時間を超えていたときには、メンテナンス装置３２を駆動して、記録ヘッド２９のノズルからインクを強制的に排出させるクリーニングが行われる。このクリーニングは、昇降装置３４の駆動によってキャップ３３を記録ヘッド２９のノズル形成面に当接させたキャッピング状態下で、不図示の吸引ポンプを駆動させてキャップ３３内に負圧を導入することにより行われる。なお、フラッシング動作やクリーニング動作も、その一部は、印刷系タスク部８１〜８９の一部が起動されることにより行われる。
【０１２０】
インク管理部８９は、印刷動作、フラッシング動作、クリーニング動作などのインクの消費を伴う所定動作が行われるときには、例えばその動作の途中（例えば動作の切れ目）又は動作の直後など予め決められた所定時期に、演算部９５にインク消費量及びインク残量の演算を行わせる。例えばインク残量は、今回算出したインク消費量を前回のインク残量から減算して求められる。インク管理部８９は、ＲＡＭ５４の第１記憶部１３１のデータＤのうち前回のインク消費量及びインク残量等のデータを、今回のインク消費量及びインク残量等のデータに書き替える。
【０１２１】
また、インク管理部８９は、電源オン時やインクカートリッジ交換時などの所定時期に、記憶素子４７にアクセスし、インクカートリッジＩＣの装着状態（装着外れ、装着間違い（色間違い）の有無など）、使用期限、インクエンド（インク切れ）などを検出する。例えば記憶素子４７にアクセスできなければ装着外れであると検出される。また、記憶素子４７には、インク色、使用期限、インク残量等のインクに関する各種情報が記憶されている。インク管理部８９は、記憶素子４７から読み出したインク色とそのときアクセスした装着位置に装着されるべきインクカートリッジのインク色とが対応していなければ、装着間違い（色間違い）であると検出する。また、インク管理部８９は、記憶素子４７から読み出した使用日限情報とリアルタイムクロック（図示せず）の時刻情報とを基にインクカートリッジ使用期限残り時間を演算する。インク管理部８９は、このインクカートリッジ使用期限残り時間が「０」未満の値であると、使用日限エラーであると検出する。さらにインク管理部８９は、記憶素子４７から読み出したインク残量が、予め決められたインクエンド情報の値以下になっていると、インク切れ（インクエンド）であると検出する。なお、記憶素子４７のインク残量は、初期には満充填（フル）のインク残量が設定され、少なくとも電源オフの度に第１記憶部１３１のインク残量等が書き込まれることで更新される。
【０１２２】
インク管理部８９は、インク関連情報（インク消費量、インク残量、インク切れ情報、使用期限残り時間、装着外れ、装着間違い、使用日限エラー情報など）を、ＲＡＭ５４の第１記憶部１３１の所定記憶領域にアクセスして更新する。
【０１２３】
また、ジョブ制御部９３は、ホスト装置１２０から指示された印刷ジョブに関するジョブ情報を取得する。ジョブ制御部９３は、メカコントローラー４３から取得した搬送系の稼働情報を基にジョブ毎の印刷長又は印刷枚数を求める。さらにジョブ制御部９３は、その印刷長又は印刷枚数を基に課金情報を算出する。そして、ジョブ制御部９３は、課金情報を含むこれらのジョブ情報を、第１記憶部１３１の所定記憶領域にアクセスして更新する。
【０１２４】
また、メカコントローラー４３には、搬送系のエンコーダー６６の出力パルス数を計数してシート１３の搬送量に相当する計数値を取得する不図示のカウンターが設けられ、印刷中におけるそのカウンターの計数値の変化量を基に、印刷されたシート１３の長さである印刷長又は印刷枚数の情報が取得される。また、メカコントローラー４３は、搬送系、キャリッジ駆動系及びクリーニング系などに関する種々のメカパラメーター情報を取得する。メカパラメーター情報には、例えば搬送状態（位置・速度等）、キャリッジ駆動状態（位置・速度等）、クリーニング状態などのステータス情報の他、搬送系、キャリッジ駆動系、クリーニング系の各種モーター等の駆動時間や駆動回転数などの稼働履歴情報が含まれる。この種のメカパラメーター情報はメカコントローラー４３からコントローラー４０へ定期的に送信される。このメカパラメーター情報はコントローラー４０内のデバイス制御部９４が受信する。また、デバイス制御部９４は、リアルタイムクロックの時刻情報を基に、プリンター１１の稼働時間を取得する。そして、デバイス制御部９４は、メカコントローラー４３から取得した情報にこの稼働時間等を加えたメカパラメーター情報を、ＲＡＭ５４の第１記憶部１３１にアクセスして書き替える。
【０１２５】
ヘッド制御部８８は、記録ヘッド２９のインク滴噴射回数（ドット数）をインク色別に計数するドットカウンターを備え、その計数値からインク色毎のインク滴噴射回数（ドット数）を含むヘッド情報を取得する。そして、ヘッド制御部８８は、取得したヘッド情報をＲＡＭ５４の第１記憶部１３１にアクセスして更新する。
【０１２６】
また、プリンター１１は、種々の調整値（補正値）を取得するための調整機能を備える。例えば、ある調整機能はその測定部を動作させて実測値を計測し、初期設定値と実測値との差分を基に、初期設定値を調整（補正）するための調整値（補正値）を取得する。この種の調整値には、主走査方向Ｘにおけるフラッシング開始位置・終了位置、キャップ位置、印刷時の噴射開始位置を決める基準位置、搬送基準位置、シート温度に応じたシート１３の伸びを考慮して搬送量を補正するための調整値（補正値）などがある。ここで、シート温度は、温度センサー６７により検出され、メカコントローラー４３からコントローラー４０へ送信される。印刷タスク部８５は、検出されたシート温度に応じた搬送調整値を演算する。
【０１２７】
また、他の調整機能としては、テストパターンを印刷し、そのテストパターンの中から最適な印刷結果であるとユーザーが判断して入力した１つのテストパターンに対応する番号を基に、その番号に対応する噴射タイミング調整値を取得する機能がある。この種の調整値には、一方向印刷時における記録ヘッド２９の主走査方向Ｘの噴射タイミングを調整するUni-ｄ調整値、双方向印刷におけるキャリッジ２７の往動時と復動時の噴射タイミングを調整するBi-d調整値がある。このUni-ｄ調整値又はBi-d調整値を用いて、シート厚（例えば紙厚）に応じた噴射タイミングを演算できるようになっている。この種の調整情報は、ユーザーの操作によりプリンター１１の調整機能が動作したとき、又はユーザーの操作で最適なテストパターンなど最適な指標に対応する番号等が入力されたときに更新される。この更新された調整情報は、印刷タスク部８５がＲＡＭ５４の第１記憶部１３１にアクセスすることで更新される。これらの調整情報データは、プリンター１１の出荷検査段階、プリンター１１をユーザーが初めて使用する際の最初の起動時、ユーザーが調整機構を動作させて行う調整作業時、故障修理のメンテナンス時などに設定され、一度設定されると、しばらくは更新されることのない種類のデータである。
【０１２８】
緊急タスク部９０は、印刷動作上のエラーが発生すると、そのエラー内容の解析が可能な程度の情報を含むエラー情報を、ＲＡＭ５４の第１記憶部１３１に書き込む。本実施形態では、ホスト装置１２０はインターネットを介してユーザーサポート用のサーバー（図示せず）に接続されており、エラー情報はホスト装置１２０からサーバーに送信されるようになっている。このサーバーは、エラー情報を解析してエラーの原因をつきとめたり、プリンター１１をエラーから回復させる方法を探し出したりする処理を行う。
【０１２９】
このようにデータＤには、プリンター１１の稼働中に比較的頻繁に更新されるインク関連情報、ジョブ情報、メカパラメーター情報及びヘッド情報等を含む稼働情報データＤ１と、プリンター１１の稼働中もほとんど更新されることのない（更新頻度の低い）調整情報や解析用のエラー情報を含む固定情報データＤ２とがある。本実施形態では、データＤには、先頭側に稼働情報データＤ１が配置され、その後側に続けて固定情報データＤ２が配置されている。このため、書戻し処理では最初に稼働情報データＤ１が書戻しされ、これに続けて固定情報データＤ２が書戻しされることになる。但し、調整情報の中には、コントローラー４０が定期的に調整機能を動作させて最適な調整情報を比較的頻繁に更新する種類のものもあり、この種の調整情報は、稼働情報データＤ１の領域に配置されている。
【０１３０】
こうして印刷系タスク部８１〜８９が起動される印刷処理時には、適宜のタイミングで、第１記憶部１３１のデータＤが更新される（データ更新段階）。こうして更新された第１記憶部１３１のデータＤは、起動された書込みタスク部９１により図１０のフローチャートに従った処理により第２記憶部１３２にコピーされる。なお、本実施形態では、インク関連情報、ジョブ情報、メカパラメーター情報、ヘッド情報、調整情報及びエラー情報が、プリンター１１の動作によって更新される印刷関連情報に相当する。また、データＤの中には、プリンター１１の動作によって更新される訳ではないが、不揮発性メモリー５５（第１の記憶手段）に書き込まれる情報も存在する。
【０１３１】
本実施形態では、ホスト装置１２０のホスト制御部１２５は、定期的又は不定期にコントローラー４０へデータＤの送信を要求する。コントローラー４０はその要求に応答する形で、印刷動作やクリーニング動作等が行われていない空いた時期や電源オフ時の終了処理の際に、ＲＡＭ５４の第１記憶部１３１又は第２記憶部１３２のデータＤをホスト制御部１２５へ送信する。ホスト制御部１２５は、受信したデータＤをホスト記憶部１２０Ｍに保存する。よって、ホスト装置１２０のホスト記憶部１２０Ｍにも、書戻し頻度に比べ低い頻度ではあるものの定期又は不定期に更新されたデータＤが保存される。また、データＤの一部又は全部がホスト装置１２０からインターネットを経由してプリンターメーカーのサーバーに送られ、プリンター１１の稼働状況の解析などに用いられるようになっている。
【０１３２】
印刷処理や印刷動作が行われているときは、優先順位の一番低い書戻しタスク部９２が起動されることはない。このため、書込みタスク部９１が書戻し完了通知を受け付けることがないので、書込みタスク部９１によるデータＤのコピー処理は行われない。
【０１３３】
印刷動作もクリーニング動作も行われていない待機状態になると、書戻しタスク部９２が起動される。そして、書戻しタスク部９２は、第２記憶部１３２のデータＤを不揮発性メモリー５５へ書き戻す（図８中の（３））。このときのデータＤは、最後に書き戻しタスク部９２がコピーしたものなので、印刷動作前の旧いデータである。しかし、書込みタスク部９１から書戻し完了通知を受け付けると、書込みタスク部９１は、第１記憶部１３１の最新のデータＤを第２記憶部１３２へコピーする（図８中の（２））。このコピー処理後、再び起動された書戻しタスク部９２が第２記憶部１３２の最新のデータＤを不揮発性メモリー５５へ書き戻す。こうしてプリンター１１が待機状態になる度にデータＤの書戻しが行われる。
【０１３４】
そして、コピー処理を終えたときには、カウンター６８の計数値ＣＴがコピー完了値Ａになっている。書戻しタスク部９２が書戻し処理を開始すると、データの書戻しが進むに連れて、カウンター６８の計数値ＣＴはコピー完了値Ａ（本例では「0000000」）からインクリメントされる。そして、データＤの書戻しを完了すると、カウンター６８の計数値ＣＴが書戻し完了値Ｂとなる。
【０１３５】
ここで、書込みタスク部９１は、印刷系タスク部８１〜８９よりも優先順位が高いので、コピー処理の途中に印刷系タスク部８１〜８９の割込みが入りコピー元データが書き替えられる事態は発生しない。また、第２記憶部１３２が、印刷系タスク部８１〜８９及び緊急タスク部９０による書込みアクセスが禁止されているので、書戻しタスク部９２による書戻し途中で書戻し元データが印刷系タスク部８１〜８９により書き替えられる事態が回避される。さらに、書込みタスク部９１の起動条件は書戻しタスク部９２がデータＤを書戻し終わったときの書戻し完了通知を受け付けたときであるので、書戻しタスク部９２による書戻し途中で、コピー処理が割り込んで書戻し元データを書き替えてしまう事態を回避できる。この結果、書戻しタスク部９２により、ＲＡＭ５４から不揮発性メモリー５５へ正しいデータＤを書き戻すことができる。なお、印刷系タスク部が印刷のための処理を行って、印刷関連情報を取得する段階が、印刷制御段階に相当する。
【０１３６】
次に電源遮断（電源オフ）時におけるデータ記憶処理について、図５及び図９等を参照しつつ説明する。なお、電源遮断（電源オフ）には、ユーザーが電源スイッチ６５をオフ操作したときの正常電源遮断（正常電源オフ）と、電源プラグ抜けや電源故障などの不意に発生する異常電源遮断（異常電源オフ）とがある。電源遮断時のデータ記憶処理において、正常電源オフと異常電源オフとの違いは、図９に示す終了処理（図９中の（１５））の有無である。図９の例は、正常電源オフ時におけるデータ記憶処理を示すが、図９において終了処理を廃止したものが異常電源オフ時におけるデータ記憶処理になる。なお、本実施形態では、プリンター１１は二次電池を備えており、電源プラグ抜けや電源故障などの不意な電源遮断（異常電源オフ）発生時でも、二次電池が放電されるまでの例えば１０〜５００ミリ秒の範囲内の所定時間の間は二次電池から電力が供給されるようになっている。
【０１３７】
ユーザーが電源スイッチ６５を操作した際の正常電源オフ（正常電源遮断）は、オフ信号がコントローラー４０内に入力されることにより検出される。一方、電源プラグ抜けや電源故障などが原因で発生した異常電源オフ（異常電源遮断）は、コントローラー４０内の緊急タスク部９０の電源遮断検出機能により検出される。
【０１３８】
図９に示すように、正常又は異常の電源オフ（電源遮断）が検出されると、緊急タスク部９０が起動される。すなわち、リアルタイムＯＳ７１は、起動要求を受け付けているタスク部のうち一番優先順位の高い緊急タスク部９０を起動させる。例えば電源遮断が印刷動作中に発生する場合もあり得るが、印刷系タスク部８１〜８９より優先順位が高いため、緊急タスク部９０が起動される。起動された緊急タスク部９０は、まずリアルタイムＯＳ７１に優先順位変更要求を行う（図９中の（１１））。この優先順位変更要求はリアルタイムＯＳ７１内の優先順位変更部７３が受け付け、優先順位変更部７３は、タスク管理部７４によって参照される優先順位管理テーブル９７を、図５（ａ）に示す通常時のタスク優先順から図５（ｂ）に示す電源オフ時のタスク優先順に変更するタスク優先順位変更処理を行う（図９中の（１２））。優先順位変更部７３は、例えば優先順位管理テーブル９７のタスクの順番を並び替える処理を行う。もちろん、このタスク優先順位変更処理は、複数用意された優先順位管理テーブル９７のうち参照すべきテーブルを図５（ｂ）に示すものに切り替える処理としてもよい。
【０１３９】
このタスク優先順位変更処理の結果、書込みタスク部９１及び書戻しタスク部９２の優先順位の関係を保持したまま、両タスク部９１，９２の優先順位が、印刷系タスク部８１〜８９よりも高くなる。つまり、書戻しタスク部９２が、書込みタスク部９１よりも低く、かつ印刷系タスク部８１〜８９よりも高い優先順位に変更される。
【０１４０】
このため、電源遮断（電源オフ）時には、仮にそのとき印刷動作中であっても、書戻しタスク部９２が起動される。また、プリンター１１の待機中の電源遮断時は、書込みタスク部９１又は書戻しタスク部９２が起動されている。例えば印刷動作中の電源遮断時は、その印刷動作開始直前に書き戻されたデータＤが不揮発性メモリー５５に保存されている。また、印刷動作が行われていない待機中の電源遮断時は、それまでの待機中に最新のデータＤが繰り返し書き戻され、不揮発性メモリー５５には最新のデータＤが保存されている。
【０１４１】
図９の例のように、この電源オフ（電源遮断）の際に、仮に書込みタスク部９１がコピー処理中であった場合は、より優先順位の高い書込みタスク部９１のコピー処理を終えた後に、次に優先順位の高い書戻しタスク部９２が起動される。このとき、カウンター６８の計数値ＣＴが書戻し完了値Ｂではなくかつコピー完了値Ａなので（図１１のＳ１１０で否定判定かつＳ１２０で肯定判定）、そのコピーされたデータＤの書戻し処理を行う（図９中の（１３），（１４）、図１１のＳ１３０〜Ｓ１８０）。このような起動優先順位により、書込みタスク部９１によるコピー途中の電源遮断時に書戻しタスク部９２が割り込んで、コピー途中のデータＤを書き戻す事態が回避される。このため、電源遮断時において、書込みタスク部９１によるコピーが完了した正しい最新のデータＤを不揮発性メモリー５５に書き戻すことができる。
【０１４２】
また、電源遮断時に書戻し中であった場合は、緊急タスク部９０からＣＰＵ実行権が切り換わった際に書戻しタスク部９２が再起動される。このとき、カウンター６８の計数値ＣＴは書戻し完了値Ｂでもコピー完了値Ａでもないので（図１１のＳ１１０，Ｓ１２０で共に否定判定）、書戻しタスク部９２は、計数値ＣＴと対応する箇所からデータＤの書戻し処理を行う（図１１のＳ１４０、Ｓ１５０〜Ｓ１８０）。
【０１４３】
この電源遮断時に書戻し処理を正常に終えたときには、カウンター６８の計数値ＣＴは書戻し完了値Ｂとなっている（ＣＴ＝Ｂ）。一方、書戻し処理を正常に終えられなかったときには、カウンター６８の計数値ＣＴが書戻し完了値Ｂ以外の値（ＣＴ≠Ｂ）となる。
【０１４４】
一方、印刷動作中の電源遮断時は、まず書込みタスク部９１がコピー処理を行う。カウンター６８の計数値ＣＴが書戻し完了値Ｂではなくコピー完了値Ａなので（図１１のＳ１１０で否定判定かつＳ１２０で肯定判定）、起動した書戻しタスク部９２は最新のデータＤの書戻し処理を行う。この場合、不揮発性メモリー５５には、印刷動作中断時の最新のデータＤが保存されている。また、プリンター待機中の電源遮断時であって、カウンター６８の計数値ＣＴが書戻し完了値Ｂであった場合（図１１のＳ１１０で肯定判定）は、起動した書戻しタスク部９２は直ぐにその起動を終了する。この場合、不揮発性メモリー５５には最新のデータＤが保存されている。
【０１４５】
正常電源オフ時の場合、書戻し処理を終えた書戻しタスク部９２から書戻し完了通知を受け付けた緊急タスク部９０が起動し、プリンター１１の終了処理を行う。この終了処理は、電源オフ時にプリンター１１を終了時にあるべき状態にする処理であり、電源遮断前の準備処理に相当する。終了処理ではデータの退避処理など所定の処理が行われる。もちろん、終了処理は、例えばキャリッジ２７がホームポジションになければ、ホームポジションに移動させて記録ヘッド２９をキャッピングするなど、各種の動作部を初期位置に戻すなどの終了動作を含んでもよい。緊急タスク部９０は、終了処理を終わると、電源を遮断する。なお、正常電源オフ時は、電源遮断までの電力供給時間に余裕があるので、終了処理を先に行ってから、書戻しタスク部９２によるデータＤの書戻し処理を行ってもよい。
【０１４６】
電源オフ時は、インク関連情報もインクカートリッジＩＣの記憶素子４７にも書き込まれる。
電源オン時には、書込みタスク部９１が起動される。図１２のフローチャートに従って書込み処理を説明する。
【０１４７】
まずステップＳ２１０では、カウンター６８の計数値ＣＴが書戻し完了値Ｂであるか否かを判断する。計数値ＣＴが書戻し完了値ＢであればステップＳ２２０に進み、書戻し完了値ＢでなければステップＳ２３０に進む。
【０１４８】
ステップＳ２２０では、不揮発性メモリー５５のデータＤをＲＡＭ５４の第１記憶部１３１に書き込む（書込み処理）。この書込み処理を終えると、本ルーチンを終了する。すなわち、書込みタスク部９１は起動を終了する。
【０１４９】
一方、ステップＳ２３０では、書戻しエラーを報知する。つまり、計数値ＣＴが書戻し完了値Ｂに達していない場合は、データＤ全ての書戻しが完了していないことを意味するので、その旨をユーザーに知らせるために書戻しエラーを報知する。このとき、書込みタスク部９１は主制御部８１へ書戻しエラー通知を行い、さらに主制御部８１が通信部８２を介してホスト制御部１２５へその書戻しエラー通知を送ることにより、ホスト制御部１２５へ書戻しエラーの旨が通知される。
【０１５０】
ホスト制御部１２５は、書戻しエラー通知を受け付けると、モニター１２３に書戻しエラー発生の旨（例えばエラー画面）を表示する。この結果、書戻しエラー発生の旨がユーザーに報知される。
【０１５１】
ステップＳ２４０では、不揮発性メモリー５５のデータＤのうち計数値ＣＴに相当する分までの一部のデータをＲＡＭ５４の第１記憶部１３１に書き込む。つまり、不揮発性メモリー５５のデータＤのうち、前回の電源遮断時に書戻しができたところまでの一部のデータを第１記憶部１３１に書き込む。前回の電源遮断時に、データＤのうちそのときの計数値ＣＴの属する一つの情報の途中で電源が遮断された場合、当該１つの情報の１つ前までの情報は信頼できるが、当該１つの情報は途中までしか書き戻されていないので信頼できない情報となる。
【０１５２】
ステップＳ２５０では、ホスト装置１２０へ不揮発性メモリー５５のデータＤを送信する。このデータＤの送信は、そのときの計数値ＣＴに相当する前記１つの情報以降の信頼できないデータを修復するために行われる。このデータＤを受信したホスト装置１２０では、ホスト制御部１２５がデータＤの修復処理を行う。
【０１５３】
データＤの修復は、次の方法で行う。データＤのうちそのときの計数値ＣＴに相当する部分に位置する１つの情報で丁度書戻しが中断されており、この１つの情報よりも前のデータは電源遮断時に書き戻された信頼できるデータであり、これより後のデータは電源遮断時に書き戻されなかった１回分旧いデータとなっている。
【０１５４】
また、本実施形態では、プリンター１１は、定期的にデータＤをホスト制御部１２５へ送信しているため、ホスト装置１２０内のホスト記憶部１２０Ｍには前回の電源遮断前に最後に送信されたデータＤが保存されている。ホスト制御部１２５は、このホスト記憶部１２０Ｍに保存されている最後のデータＤと、ホスト制御部１２５へ送られてきた修復用のデータＤのうち前回の電源遮断時より１回前に不揮発性メモリー５５に書き戻された部分のデータとのうちどちらが新しいかを判断する。そして、ホスト制御部１２５は、その判断結果を基により新しい方のデータを修復用に採用し、最後のデータＤのうちそのときのカウンター６８の計数値ＣＴに相当する部分の１つの情報（つまり書戻しが途中で中断された情報）を修正用に採用し、これら修正用のデータを合体させて修正データを作成する。そして、ホスト制御部１２５は、修復データをプリンター１１へ送信する。
【０１５５】
ステップＳ２６０では、ホスト装置１２０からの修復データを第１記憶部１３１に書き込む。すなわち、ホスト装置１２０のホスト制御部１２５から送られてきて通信部８２が受信した修正データは主制御部８１を介して書込みタスク部９１が受け取る。そして、書込みタスク部９１は、修復データをそのときのカウンター６８の計数値ＣＴに相当する部分に位置する１つの情報を含むそれ以降の部分に書き込む。この結果、第１記憶部１３１のデータＤが修復される。この修復を終えると、書込みタスク部９１は本ルーチンを終了する。すなわち、書込みタスク部９１は起動を終了する。
【０１５６】
本実施形態では、データＤの修復処理のうち、電源オン時の計数値ＣＴに相当する１つの情報の修復は、ホスト制御部１２５へ定期的に送信したデータを利用して行う構成とした。これに対して、この部分の修復は、不揮発性メモリー５５に記憶された電源遮断時より１回旧いデータを使用し、計数値ＣＴに相当する部分のみホスト側のデータに置き換える構成としてもよい。
【０１５７】
以上詳述したように、本実施形態によれば、以下に示す効果を得ることができる。
（１）電源遮断時にカウンター６８の計数値ＣＴが書戻し完了値Ｂであるか否かを判断し、書戻し完了値Ｂでなければ書戻し処理を行うが、書戻し完了値Ｂであれば書戻し処理を行わない構成とした。よって、例えば電源プラグ抜けや電源４８の故障等による不意な電源遮断時に、書戻しタスク部９２が、そのとき計数値ＣＴが書戻し完了値Ｂであって最新のデータＤが保存されているにも拘らず、書戻し処理を開始したために電力不足で書戻し処理が中断されて書戻し途中の間違ったデータが不揮発性メモリー５５に保存される事態を極力回避できる。このため、電源オン時には不揮発性メモリー５５に最新の正しいデータＤを極力保存された状態にすることができる。
【０１５８】
（２）書込みタスク部９１は第１記憶部１３１から第２記憶部１３２へのデータＤのコピー処理を完了すると、カウンター６８の計数値ＣＴをコピー完了値Ａとする。書戻しタスク部９２は、計数値ＣＴがコピー完了値Ａになったら、第２記憶部１３２のデータＤを不揮発性メモリー５５に書き戻す書戻し処理を行い、計数値ＣＴがコピー完了値Ａにならず書戻し完了値Ｂのままであれば、書戻し処理を行わない。このため、コピーが完了していない前回のデータ又はコピー途中の間違ったデータを不揮発性メモリー５５へ書き戻す事態を回避できる。
【０１５９】
（３）書戻しタスク部９２はプリンター１１の電源遮断時に起動され、カウンター６８の計数値ＣＴが書戻し完了値Ｂであれば書戻し処理を行わないので、不要な書戻し処理を回避できる。例えば電源遮断時の書戻し処理が電力供給遮断のため中断され、その中断された間違ったデータが不揮発性メモリー５５に保存される事態を回避できる。
【０１６０】
（４）電源オン時（電源投入時）には、不揮発性メモリー５５のカウンター６８を確認し、その計数値ＣＴが書戻し完了値Ｂであるか否かを判断し、書戻し完了値Ｂであれば書込み処理を行うが、書戻し完了値Ｂでなければ書戻し処理を行わない。よって、前回の電源遮断時にデータＤが全て書戻されていた場合に限り、電源オン時にそのデータＤの書込み処理を行うので、不揮発性メモリー５５からＲＡＭ５４の第１記憶部１３１へ正しいデータＤを書き込むことができる。また、プリンター１１の電源遮断時に書戻し処理が中断されたことによる間違ったデータをＲＡＭ５４の第１記憶部１３１に書き込む不都合を回避できる。
【０１６１】
（５）電源オン時に、書込みタスク部９１はカウンター６８の計数値ＣＴが書戻し完了値Ｂではないと判定した場合、その旨をホスト制御部１２５へ通知し、モニター１２３（報知手段）に書戻しエラーの旨を表示させることによりエラー報知を行う。この結果、ユーザーは、このエラーの報知によって、前回の電源遮断時に書戻し処理を失敗した虞がある旨（つまり不揮発性メモリー５５のデータが間違っている虞がある旨）を知ることができる。このため、ユーザーはデータの修復が必要であることを知ることができる。
【０１６２】
（６）書込みタスク部９１によりカウンター６８の計数値ＣＴが書戻し完了値Ｂではないと判定された場合、カウンター６８の計数値ＣＴは途中まで書戻し処理が行われた旨の値になっている。書込みタスク部９１は、カウンター６８の計数値ＣＴが書戻し完了値Ｂではないと判定した場合は、不揮発性メモリー５５のデータＤのうちカウンター６８の計数値ＣＴに相当する分までの少なくとも一部のデータをホスト装置１２０（上位装置）に送る。そして、ホスト装置１２０においてホスト制御部１２５が少なくとも一部のデータを基にデータＤを修復する。コントローラー４０内の書込みタスク部９１は、ホスト装置１２０から受信した修復後のデータをＲＡＭ５４の第１記憶部１３１に書き込む。この結果、書戻しが行われた分までの一部のデータを利用して少なくともその部分については新しいデータが用いられた修復データを取得できる。
【０１６３】
（７）例えばカウンターに替えてフラグを採用した構成とすると、書戻し処理が中断された場合にデータＤ中のどの箇所で中断されたかを把握することができないが、カウンター６８であるので、その計数値ＣＴから、データＤにおいて書戻し処理が中断された箇所を特定することができる。この結果、例えば書戻しが中断された一部のデータを利用して適切な修復処理を行うことができ、修復データの信頼性を高めることができる。
【０１６４】
（８）印刷系タスク部より優先順位の高い書込みタスク部９１が、第１記憶部１３１のデータＤを、印刷系タスク部による書込みが禁止された第２記憶部１３２にコピーし、書戻しタスク部９２が第２記憶部１３２のデータＤを不揮発性メモリー５５に書き戻すので、不揮発性メモリー５５に正確なデータＤを書き戻すことができる。例えば書戻し途中に優先順位の高いタスクが起動されても、第２記憶部１３２のデータＤは書き替えられることはないので、その後、書戻しタスク部９２が起動し、中断した続きからデータの書戻し処理を再開した場合に、前回と今回で同一のデータを対象に書き戻しをすることができる。よって、印刷系タスク部の割り込みによる中断によって複数回に分けて断続的に書戻し処理を行っても、不揮発性メモリー５５に正しいデータＤを書き戻すことができる。
【０１６５】
（９）書込みタスク部９１の優先順位を印刷系タスク部よりも高くしているので、第１記憶部１３１から第２記憶部１３２へのデータＤのコピーを、印刷系タスク部に優先して行うことができる。このため、書込みタスク部９１によるコピーが印刷系タスク部の起動により中断され、コピー途中でコピー元のデータＤが書き替えられる事態を回避できる。よって、第１記憶部１３１のデータを第２記憶部１３２に正しくコピーすることができる。
【０１６６】
（１０）書込みタスク部９１は、書戻しタスク部９２から受け付けた書戻し完了通知をトリガーにして、データＤのコピーを開始する。このため、書戻し途中にその書戻し元データが書き替えられてしまう事態を回避できる。よって、正しいデータＤを不揮発性メモリー５５に書き戻すことができる。
【０１６７】
（１１）書戻しタスク部９２の優先順位を、印刷系タスク部８１〜８９よりも低く設定した。このため、印刷画像データ及びヘッド制御データなどの噴射系データ生成処理と、記録ヘッド２９への噴射系データの転送処理の最中に、書戻しタスク部の割り込みが発生せず、これらの記憶ヘッド系処理が書戻し処理に優先して行われる。このため、例えば噴射系データが間に合わず、ノズルからインクが噴射されない噴射不良（ドット抜け）の発生や、ヘッド制御データの準備が遅れキャリッジ２７の起動タイミングが遅延する頻度をなるべく低減することができる。よって、噴射不良に起因する印刷不良の発生を防止しつつ、キャリッジ２７の起動タイミングの遅延発生頻度を低減して印刷スループットの低下を抑制することができる。
【０１６８】
また、印刷動作（記録系動作及び搬送系動作）やクリーニング動作などの所定動作が行われていないプリンター１１の待機状態のときに、データＤの書戻し処理を行う。よって、印刷系処理が書戻し処理に優先して実施され、書戻し処理の割り込みによる印刷スループットの低下を抑制できる。
【０１６９】
（１２）緊急タスク部９０は、電源オフ時にタスク優先順位の変更をリアルタイムＯＳ７１に要求し、優先順位管理テーブル９７を電源オフ時のタスク優先順位（図５（ｂ））に更新する。この優先順位の変更によって、書込みタスクと書戻しタスクとの優先順位の関係を保ちつつ、両タスクの優先順位を印刷系タスクよりも高くする。このため、電源オフ時にも、書戻しタスク部９２の起動が可能となり、なるべく最新のデータＤを不揮発性メモリー５５に書き戻すことができる。また、書込みタスク部９１の優先順位を書戻しタスク部９２より高く設定したので、例えばコピー途中に電源遮断を検出しても、そのコピーを全て終えてからそのデータＤの書き戻しを開始できる。例えば、書戻しタスク部９２を書込みタスク部９１よりも高い優先順位とすると、電源遮断時にコピー途中であった場合、そのコピー途中のデータＤを書き戻すことになり、データＤの信頼性が損なわれる。これに対し、本実施形態では、コピー途中の電源遮断時にも、コピーをし終わった正しいデータＤを不揮発性メモリー５５に書き戻すことができる。
【０１７０】
なお、上記実施形態は以下のような形態に変更することもできる。
・データの修復は、ホスト装置が行う方法に限定されない。例えば書込みタスク部９１がデータの修復を行う修復手段とする構成も採用できる。書込みタスク部９１は不揮発性メモリー５５のそのときの計数値ＣＴに相当する分までの一部のデータ（但し計数値ＣＴに相当する位置の情報の１つ前の情報まで）と、不揮発性メモリー５５のデータＤのうち計数値ＣＴに相当する位置（但し計数値ＣＴに相当する位置の情報を含まない）から残りの部分のデータと、ホスト制御部１２５から取得した計数値ＣＴに相当する位置の情報とを合成して、修復されたデータを再現する。この構成によれば、計数値ＣＴに相当する位置よりも後側についても、ホスト装置１２０のホスト記憶部１２０Ｍに保存されたデータよりも新しい前回のデータを用いて修復できるので、より最新に近いデータに修復できる。よって、書戻しが行われた分までの一部のデータについてはなるべく新しいデータを採用した修復データを得ることができる。
【０１７１】
・データ修復のためホスト装置へ送るデータは、不揮発性メモリー５５のデータＤのうちカウンター６８の計数値ＣＴに相当する分までのデータでもよい。この場合、ホスト装置１２０は、不揮発性メモリー５５のデータＤのうちカウンター６８の計数値ＣＴに相当する分までのデータ（但し計数値ＣＴに相当する位置の情報の１つ前の情報まで）と、ホスト記憶部１２０ＭのデータＤのうち計数値ＣＴに相当する位置（但し計数値ＣＴに相当する位置の情報を含む）から残りの部分のデータとを合成して、正しいデータＤに修復する。
【０１７２】
・書込みタスク部９１（コピー手段）が起動したときにカウンター６８の計数値ＣＴが書戻し完了値Ｂに達する前の中間値（Ａ値でもＢ値でもない計数値）であり書戻し途中であった場合は、そのときの計数値ＣＴから把握できる書戻しが終わっている位置までのデータを第１記憶部１３１から第２記憶部１３２へコピーしてもよい。
【０１７３】
・図１１に示す書戻し処理は、電源遮断時にのみ行ってもよい。この場合、電源遮断時以外の書戻し処理は、例えばステップＳ１１０の判定処理を廃止し、計数値ＣＴが書戻し完了値Ｂであっても書戻し処理（Ｓ１３０〜Ｓ１８０）を行う構成としてもよい。
【０１７４】
・計数手段の一例であるカウンター６８は、ＲＡＭ５４又はＲＡＭ５９に設けてもよい。また、ＲＡＭと不揮発性メモリーの両方に設けてもよい。また、カウンター６８をＲＡＭ５４に設ける場合は、書き替えがなされないようにＲＡＭのアクセス禁止領域に設けることが望ましく、例えば第２記憶部に設ける場合は、さらにコピーによる書き替えがなされないようにコピー先領域以外の領域に設けることが望ましい。カウンター６８をＲＡＭに設けたこの構成によれば、書戻しタスク部９２がデータの書戻しを中断した場合、その後、再起動されたときに計数値ＣＴが書戻し完了値Ｂでないことから、その計数値ＣＴと対応する続きの箇所からデータの書戻しを行うことができる。また、計数値ＣＴが書戻し完了値Ｂであれば、不要に書戻し処理を行わないので、電源遮断時における書戻し処理の中断を低減できる。この場合、電源オン時は計数値に基づく判定ができなくなるが、電源遮断時に書戻し処理が中断されたことに起因して不揮発性メモリーに間違ったデータが保存される事態は低減できる。
【０１７５】
・計数手段は、不揮発性メモリー５５やＲＡＭなどのメモリーに設けることに限定されない。例えばＣＰＵ５１内に設けられたカウンター回路を用いてもよい。
・計数手段の一例としてのカウンターは適宜のビット数に変更してもよい。要するに、書戻し処理が中断された場合に、データＤのどの箇所まで書戻しが完了しているかを把握できるビット数であればよい。例えば２〜７ビットのうち任意のビット数のカウンターでもよい。さらに１バイトを超えてもよく、例えば９ビット、１０ビット、さらには２バイトのカウンターを採用することもできる。
【０１７６】
・計数手段の一例としてのカウンターの計数処理は、計数値のデクリメントでもよい。例えばコピー完了値Ａを最大値（例えば「２５５」）、書戻し完了値Ｂを最小値（例えば「０」）とし、最大値から書戻し処理を開始するとともに書戻し処理が進むに連れて計数値ＣＴをデクリメントする。
【０１７７】
・電源オン時の計数値ＣＴを用いた書込み判定処理を行わない構成でもよい。例えば電源オン時は、電源オフ時にホスト装置１２０のホスト記憶部１２０Ｍに保存したデータを読み込む構成としてもよい。また、電源オン時は、電源オフ時にインクカートリッジの記憶素子４７に保存したデータを読み込む構成としてもよい。
【０１７８】
・コピー完了値Ａは、最小値の「０」（Ａ＝０）に限定されない。例えば最大値としてもよい。さらに最小値と最大値の間の中間値としてもよい。要するにコピーが完了したことを判別できる値であって、書戻し完了値Ｂと異なる値であれば足りる。例えば中間値であっても、書戻し処理中にとりうる計数値と識別できる計数値であれば問題はない。
【０１７９】
・書戻し完了値Ｂは、最大値の「２５５」（Ｂ＝２５５）に限定されない。例えば最小値としてもよい。さらに最小値と最大値の間の中間値としてもよい。要するに書戻しが完了したことを判別できる値であって、コピー完了値Ａと異なる値であれば足りる。例えば中間値であっても、書戻し処理中にとりうる計数値と識別できる計数値であれば問題はない。
【０１８０】
・データの最大容量（ＲＡＭ又は不揮発性メモリーのデータ記憶領域容量）を２５５で分割したデータ量を１単位としてカウンターの計数処理を行ったが、これに限定されない。つまりＮビットのカウンターであれば、データの最大容量（データ記憶領域）の分割数は「２のＮ乗−１」に限定されず、「２のＮ乗−１」未満の値でもよい。例えば１バイトカウンターであれば、２００とし、２０１〜２５５を他の判定値又は計数値のために使用してもよい。
【０１８１】
・コピーされたデータ量に応じた計数値を取得できるように、コピー処理時にもカウンター６８の計数処理を行ってもよい。
・電源オン時に計数値ＣＴが書戻し完了値Ｂでなかった場合、データ修復のために書戻し完了箇所までの一部のデータの書込みは行わず、エラー報知のみ行う構成としてもよい。
【０１８２】
・通常時のタスク部の優先順位は、図５（ａ）に示す順序に限定されない。例えば、書戻しタスク部９２の優先順位は、印刷系タスク部８１〜８９のうち記録系タスク部８１〜８３，８８よりも低く、印刷系タスク部のうちその他のタスク部８４〜８７よりも高く設定されてもよい。つまり、書戻しタスク部９２を、印刷系タスク部のうちコマンド処理系のタスク部８４〜８７（搬送系・キャリッジ駆動系のタスク部を含む）よりも高い優先順位に設定する。この構成によれば、記録系処理中に書戻しタスク部９２による割り込みが発生せず、記録系処理の遅延が発生し難い。また、書戻しタスク部９２の優先順位が、タスク部８４〜８７よりも高いので、印刷動作中における記録系処理の合間に、搬送系やキャリッジ駆動系の処理動作に優先して、データＤの書戻し処理を行うことができる。よって、印刷スループットの低下の抑制を図りつつ、データＤの書戻し頻度を高めることができる。この結果、電源遮断時における不揮発性メモリー５５のデータＤの信頼性を高めることができ、またデータ修復時における修復データの信頼性も高めることができる。
【０１８３】
・第１記憶部１３１（ミラー記憶領域）のデータ更新の有無を監視する監視部（監視手段）を設け、監視部からデータ更新の旨の通知を受け付けたときに書戻しタスク部９２は起動し、そのときカウンター６８がコピー完了値Ａであれば、第２記憶部１３２のデータを不揮発性メモリー５５へ書き戻す書戻し処理を行う構成としてもよい。上記の監視部は、データ更新の旨を書込みタスク部９１（コピー手段）に通知し、書込みタスク部９１が更新の旨の通知を受け付けると、コピー処理を開始する構成も採用できる。さらにコピー処理を完了すると、書込みタスク部９１がコピー完了通知を書戻しタスク部９２へ送り、書戻しタスク部９２がコピー完了通知を受け付けると起動される構成としてもよい。
【０１８４】
・書込みタスク部９１が、データの書込み機能とコピー機能とを兼ねる構成に替え、不揮発性メモリー５５のデータＤを第１記憶部１３１に書き込む書込みタスク部（書込み手段）と、第１記憶部１３１のデータＤを第２記憶部１３２にコピーするコピータスク部（コピー手段）とを別々に設けてもよい。この場合、書込みタスク部とコピータスク部との優先順位を異ならせてもよい。
【０１８５】
・書戻しタスク部の優先順位は適宜変更してもよい。例えば書戻しタスクの優先順位を、記録系タスク部に属する一部のタスク部よりも低く、かつ記録系タスク部に属する他の一部のタスク部よりも高くしてもよい。このように書戻しタスク部は、記録系タスク部に属する全てのタスク部よりも優先順位が低いことには限定されず、記録系タスク部が複数のタスクから構成される場合は、記録系タスク部に属する少なくとも１つのタスク部よりも優先順位が低ければ足りる。この場合、その優先順位の高い１つのタスク部が書戻しタスク部より優先的に起動することで、記録系処理の遅延を回避し易くなる。また、書戻しタスクの優先順位を、キャリッジ駆動系と搬送駆動系タスクとの間に設定してもよい。
【０１８６】
・コピー手段は、印刷制御手段が複数のタスク部から構成される場合、その全てのタスク部よりも優先順位が高い必要はなく、そのうち第１記憶部に書込みを行う全てのタスク部よりも優先順位が高ければ足りる。この構成によっても、コピー手段によるコピー途中に第１記憶部のコピー元データが印刷制御手段を構成するタスク部によって書き替えられることは回避できる。例えば、書込みタスク部９１（コピー手段）の優先順位を、印刷系タスク部に属する複数のタスク部のうち、第１記憶部に書込みアクセスする一部のタスク部より高く設定とする。この構成であっても、コピー途中にコピー元データが書き替えられる事態を回避できる。
【０１８７】
・電源遮断時には、書戻しタスク部９２を書込みタスク部９１よりも高い優先順位としてもよい。この場合、コピー処理の中断もありうるが、計数値ＣＴが書戻し完了値Ｂになっているので、そのコピー中断のデータが書戻しされることがないので、何ら問題はない。印刷動作中の電源遮断の場合は、不揮発性メモリー５５には最新ではないが印刷動作開始直前の比較的新しいデータＤが保存される。
【０１８８】
・書込みタスク部９１及び書戻しタスク部９２の起動優先順位は適宜変更してよい。例えば書込みタスク部９１及び書戻しタスク部９２を共に、記録系タスク部よりも低い優先順位としたり、印刷系タスク部よりも低い優先順位としたりしてもよい。さらに例えば書込みタスク部９１及び書戻しタスク部９２を共に、記録系タスク部よりも高い優先順位としたり、印刷系タスク部よりも高い優先順位としたりしてもよい。
【０１８９】
・書込みタスク部９１（コピー手段）は、書戻し完了通知をトリガーとしてコピーを開始する構成に限定されない。例えば書戻し手段（書戻しタスク部９２）が起動されると、まず書込みタスク部９１（コピー手段）にコピー要求を送り、書込みタスク部９１はこのコピー要求を受け付けるとコピー処理を開始する。書込みタスク部９１がコピーを終えてプリンター１１が待機状態になると、書戻しタスク部９２が再び起動されてこの再起動のときに書戻しタスク部９２は第２記憶部１３２のデータＤを不揮発性メモリー５５に書戻す。この構成によれば、最新のデータをコピーした直後に書戻しを行うことができる。前記実施形態の方法では、印刷が終わって待機状態になった最初は第１記憶部１３１のデータＤが印刷開始前にコピーされた旧いデータになるので、最初の書戻しで旧いデータの書き戻しを行う。これに対してこの変形例の方法であれば、最初の書戻しで最新データを書き戻すことができる。
【０１９０】
・ＯＳはリアルタイムＯＳに限定されない。その他のＯＳを採用してもよい。要するに、複数のタスクのうち優先度の高いタスクにＣＰＵの実行権を割り当てる機能を有するＯＳであればよい。
【０１９１】
・電源オフ時にタスク優先順位を変更しない構成も採用できる。例えば電源オフ時に優先的に起動される緊急タスク部が書戻し処理を行ってもよい。
・データ記憶処理装置は、例えばＣＰＵによるソフトウェアではなく、ＡＳＩＣ等の集積回路によるハードウェアで構成してもよい。さらには、ソフトウェアとハードウェアとの協働により構成してもよい。また、ソフトウェアで構成する場合、マルチタスク処理に限定されない。
【０１９２】
・前記実施形態において、第２の記憶手段を不揮発性メモリーとしてもよい。例えばプリンター稼働中（電源オン中）には、プリンター本体側の不揮発性メモリー（第２の記録手段）に更新データを逐次書込み、この不揮発性メモリーのデータをインクカートリッジに実装された不揮発性の記憶素子４７（第１の記憶手段）に書き戻す構成も採用できる。例えば電源オン時には記憶素子４７からインク残量等のインク関連情報を含むデータＤを本体側の不揮発性メモリーに書き込む構成とする。
【０１９３】
・制御装置Ｃを、コントローラー４０とメカコントローラー４３とを一体とした構成としてもよい。この場合、コントローラーには、搬送制御タスク部やキャリッジ制御タスク部などのメカ駆動制御系のタスク部が追加される。この搬送制御タスク部は、搬送制御手段の一例を構成する。
【０１９４】
・印刷媒体は、紙又は樹脂などからなる長尺状のシートに限定されず、単票紙や単票状の樹脂フィルムでもよい。また、金属製フィルム、布、フィルム基板、樹脂基板、半導体ウェハなどでもよい。また、ＣＤ、ＤＶＤなどの光ディスクや磁気ディスクなどでもよい。さらに、印刷媒体はシート状に限定されず、所定の立体形状の表面に印刷できる機構を有する印刷装置の場合、そのような所定の立体形状を有する物体も含む。
【０１９５】
・印刷装置は、ラテラル式のプリンター１１に限定されず、シリアルプリンター、ラインプリンター、ページプリンターでもよい。さらにインクジェット式に限定されず、ドットインパクト式プリンター、レーザープリンターなどでもよい。
【０１９６】
・前記実施形態では、印刷装置として、インクジェット式のプリンター１１が採用されているが、インク以外の他の流体を噴射したり吐出したりする流体噴射装置を採用してもよい。また、微小量の液滴を吐出させる液体噴射ヘッド等を備える各種の液体噴射装置に流用可能である。この場合、液滴とは、上記液体噴射装置から吐出される液体の状態を言い、粒状、涙状、糸状に尾を引くものも含むものとする。また、ここでいう液体とは、液体噴射装置が噴射させることができるような材料であればよい。例えば、物質が液相であるときの状態のものであればよく、粘性の高い又は低い液状体、ゾル、ゲル水、その他の無機溶剤、有機溶剤、溶液、液状樹脂、液状金属（金属融液）のような流状体、また物質の一状態としての液体のみならず、顔料や金属粒子などの固形物からなる機能材料の粒子が溶媒に溶解、分散または混合されたものなどを含む。また、液体の代表的な例としては上記実施形態で説明したようなインクや液晶等が挙げられる。ここで、インクとは一般的な水性インクおよび油性インク並びにジェルインク、ホットメルトインク等の各種液体組成物を包含するものとする。液体噴射装置の具体例としては、例えば液晶ディスプレイ、ＥＬ（エレクトロルミネッセンス）ディスプレイ、面発光ディスプレイ、カラーフィルタの製造などに用いられる電極材や色材などの材料を分散または溶解のかたちで含む液体を噴射する液体噴射装置が挙げられる。さらに、バイオチップ製造に用いられる生体有機物を噴射する液体噴射装置、精密ピペットとして用いられ試料となる液体を噴射する液体噴射装置、捺染装置やマイクロディスペンサ等であってもよい。さらに、時計やカメラ等の精密機械にピンポイントで潤滑油を噴射する液体噴射装置、光通信素子等に用いられる微小半球レンズ（光学レンズ）などを形成するために紫外線硬化樹脂等の透明樹脂液を基板上に噴射する液体噴射装置、基板などをエッチングするために酸又はアルカリ等のエッチング液を噴射する液体噴射装置を採用してもよい。そして、これらのうちいずれか一種の液体噴射装置に本発明を適用することができる。また、流体は、トナーなどの粉粒体でもよい。なお、本明細書でいう流体には、気体のみからなるものは含まないものとする。
【０１９７】
前記実施形態及び変形例から把握できる技術的思想を以下に記載する。
（１）前記印刷制御手段、前記書込み手段、前記コピー手段及び前記書戻し手段を、設定された起動優先順位に従って選択的に起動させる制御手段（７１）を更に備え、前記印刷制御手段は、前記印刷手段に印刷媒体への記録動作を行わせる記録系処理を行う記録処理手段を有しており、前記コピー手段が前記印刷制御手段及び前記書戻し手段よりも起動優先順位が高く設定され、かつ前記書戻し手段が前記印刷制御手段のうち少なくとも記録系処理手段よりも起動優先順位が低く設定されていることを特徴とする請求項１乃至８のいずれか一項に記載の印刷装置におけるデータ記憶処理装置。この技術的思想の一態様によれば、コピー手段は、印刷制御手段及び書戻し手段よりも起動優先順位が高いので、コピーの途中でそのコピー元データが印刷制御手段によって書き替えられることがない。また、書戻し手段が第２の記憶部のデータを第１の記憶手段に書き戻すとき、印刷制御手段は第２記憶部への書込みアクセスが禁止されているので、この書戻し中に第２記憶部のデータが書き替えられることはない。この結果、第１の記憶手段へ正しいデータを書き戻しできる。
【符号の説明】
【０１９８】
１１…印刷装置の一例であるプリンター、１３…印刷媒体の一例であるシート、２７…キャリッジ、２９…印刷手段の構成要素の一例である記録ヘッド、４０…コントローラー、４３…メカコントローラー、４４…印刷手段の構成要素の一例である印刷用のメカニカル機構、４５…ヘッド制御ユニット（ＨＣＵ）、４６…通信回路、４７…記憶素子、５０…リニアエンコーダー、５１…ＣＰＵ、５２…ＡＳＩＣ、５３…ＲＯＭ、５４…第２の記憶手段の一例であるＲＡＭ、５５…第１の記憶手段の一例である不揮発性メモリー、５９Ａ…画像バッファー、６１…印刷手段及び搬送手段の構成要素の一例である搬送モーター、６２…印刷手段の構成要素の一例である第１ＣＲモーター、６３…印刷手段の構成要素の一例である第２ＣＲモーター、６５…電源スイッチ、６８…計数手段の一例であるカウンター、７１…制御手段の一例であるリアルタイムＯＳ、７２…制御手段の一例を構成するスケジューラー、７３…優先順位変更手段の一例である優先順位変更部、７４…タスク管理部、７５…ディスパッチ部、８１…主制御部、８２…通信部、８３…画像処理部、８４…コマンド解析部、８５…印刷タスク部、８６…メカ制御部、８７…メカ通信部、８８…ヘッド制御部、８９…インク管理部、９０…緊急タスク部、９１…書込みタスク部、９２…書戻しタスク部、９３…ジョブ制御部、９４…デバイス制御部、９５…演算部、９７…優先順位管理テーブル、１００…印刷システム、１１０…画像生成装置、１２０…上位装置の一例であるホスト装置、１２０Ｍ…ホスト記憶部、１２２…プリンタードライバー、１２５…上位装置の一例を構成するホスト制御部、１３１…第１記憶部、１３２…第２記憶部、Ｃ…制御装置、Ｕ２…シリアル通信ポート、ＩＣ１〜ＩＣ８…印刷材収容体の一例であるインクカートリッジ、ＰＤ…印刷データ、Ｄ…データ（印刷関連情報を含む）、ＣＴ…計数値、Ａ…コピー完了値、Ｂ…書戻し完了値。
【図１】
2012045873.tif 000003
【図２】
2012045873.tif 000004
【図３】
2012045873.tif 000005
【図４】
2012045873.tif 000006
【図５】
2012045873.tif 000007
【図６】
2012045873.tif 000008
【図７】
2012045873.tif 000009
【図８】
2012045873.tif 000010
【図９】
2012045873.tif 000011
【図１０】
2012045873.tif 000012
【図１１】
2012045873.tif 000013
【図１２】
2012045873.tif 000014