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