(57)【要約】      （修正有）【課題】電源瞬断で消える可能性のあるデータのサイズの増大を防止しつつ、書込まれるデータの合計のサイズを低減する情報処理装置、情報処理方法を提供する。【解決手段】画像形成装置における処理方法であって、第１の記憶部へのデータの書込の処理を含む予め定められた処理の開始前に、第１の記憶部へ実際に書込まれるデータの容量を低減させるように、第１の記憶部へのデータの書込に関する条件である書込条件を調整し、予め定められた処理の終了後に、書込条件を、調整される前の条件に復元する。【選択図】図５
2019145027.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶部へのデータの書込の処理を含む予め定められた処理の開始前に、前記第１の記憶部へ実際に書込まれるデータの容量を低減させるように、前記第１の記憶部へのデータの書込に関する条件である書込条件を調整する調整手段と、
前記予め定められた処理の終了後に、前記書込条件を、前記調整手段により調整される前の条件に復元する復元手段と、
を有する情報処理装置。
【請求項２】
前記調整手段は、前記予め定められた処理の開始前に、データの書込の処理の指示１回ごとに前記指示に対応する書込対象のデータを含む予め定められたサイズのデータを前記記憶部に書込むことで前記記憶部に書込対象のデータの書込を行う第１の方式を用いた前記記憶部へのデータの書込を禁止することで、前記第１の記憶部へ実際に書込まれるデータの総容量を低減させるように前記書込条件を調整する請求項１記載の情報処理装置。
【請求項３】
前記調整手段は、前記予め定められた処理の開始前に、データの一時的な記憶に用いられる第２の記憶部の記憶領域に書込対象のデータの記憶を定められた期間だけ継続した後に前記記憶領域に記憶された書込対象のデータを含む予め定められたサイズのデータを前記第１の記憶部に書込む処理を繰り返すことで前記第１の記憶部への書込対象のデータの書込を行う第２の方式での書込に用いられる前記定められた期間を、長くするように更新することで、前記第１の記憶部へ実際に書込まれるデータの総容量を低減させるように前記書込条件を調整する請求項１又は２記載の情報処理装置。
【請求項４】
前記調整手段は、前記予め定められた処理の開始前に、前記第１の記憶部に対する書込単位となるデータのサイズを調整することで、前記第１の記憶部へ実際に書込まれるデータの総容量を低減させるように前記書込条件を調整する請求項１乃至３何れか１項記載の情報処理装置。
【請求項５】
前記予め定められた処理は、予め定められたサイズ以下のサイズの予め定められた数以上の個数の複数のデータそれぞれを、前記第１の記憶部に書込む処理を含む請求項１乃至４何れか１項記載の情報処理装置。
【請求項６】
前記予め定められた処理は、予め定められた数以上の個数の複数のデータそれぞれを、前記第１の記憶部に書込む処理を含む請求項１乃至４何れか１項記載の情報処理装置。
【請求項７】
前記情報処理装置は、画像形成装置である請求項１乃至６何れか１項記載の情報処理装置。
【請求項８】
前記第１の記憶部は、ＦＬＡＳＨメモリを用いられた記憶部である請求項１乃至７何れか１項記載の情報処理装置。
【請求項９】
情報処理装置が実行する情報処理方法であって、
第１の記憶部へのデータの書込の処理を含む予め定められた処理の開始前に、前記第１の記憶部へ実際に書込まれるデータの容量を低減させるように、前記第１の記憶部へのデータの書込に関する条件である書込条件を調整する調整ステップと、
前記予め定められた処理の終了後に、前記書込条件を、前記調整ステップで調整される前の条件に復元する復元ステップと、
を含む情報処理方法。
【請求項１０】
コンピュータを、請求項１乃至８何れか１項記載の情報処理装置の各手段として、機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ストレージに用いられる不揮発記憶装置は、駆動機構を持つハードディスクドライブ（ＨＤＤ）から、半導体素子によって構成されたＦＬＡＳＨメモリを用いたソリッドステートドライブ（ＳＳＤ）やｅＭＭＣ等へ、置き換わってきている。以下では、ＳＳＤやｅＭＭＣ等の半導体素子によって構成されたＦＬＡＳＨメモリを用いた記憶装置を、単にＳＳＤとする。ＨＤＤは、ヘッドやスピンドルモータ等の機構部の動作回数に寿命があるが、書込の回数やサイズに上限はない。それに対してＳＳＤは、機構部が無いので動作回数に寿命は無いが、書込単位がブロックという所定のサイズのデータ単位で行われ、総書込データサイズに上限がある。つまり、ＨＤＤとＳＳＤとは、デバイスの動作特性が異なっている。そのため、情報機器は、搭載された記憶装置の動作特定に応じた制御を行う必要がある。ＳＳＤを搭載した情報機器は、ＳＳＤの動作特性に応じた制御を行う必要がある。
例えば、特許文献１には、ＳＳＤに搭載されたファームウェアにおいて、ＳＳＤキャッシュに所定のサイズ以上にデータがたまるまで、ＦＬＡＳＨメモリのセルへの書込を遅延する技術が開示されている。即ち、ＳＳＤファームウェアは、キャッシュにたまったデータを含むブロックをＦＬＡＳＨメモリに書込むこととなる。これにより、１回の書込で実際に書込まれるブロック内に占める書込対象のデータの割合を向上させ、ＦＬＡＳＨメモリへの書込回数を減らすことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１９７８３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の技術では、ファームウェアが、所定のサイズ以上にデータがキャッシュ等にたまるまで書込を遅延すると、ＳＳＤへ到達したデータを一定時間以内に書込ことができないこととなる。これにより、電源瞬断が起こった際に、所定のサイズ未満のデータが消える可能性がある。
電源瞬断で消える可能性のあるデータサイズを小さくするには、アプリケーションがＳＳＤへの書込を指示したタイミングに同期して、ＳＳＤ内のＦＬＡＳＨメモリのセルへデータを書込する方法がある。また、書込対象のデータがキャッシュ等に所定のサイズ以上たまる前であっても一定時間ごとにＦＬＡＳＨメモリのセルへ書込する方法がある。
しかし、書込の指示と同期しての書込等により、小さなデータを書込むと、ＦＬＡＳＨメモリへの書込単位がブロックごとなので、実際に書込むデータサイズが増えてしまう。即ち、書込対象のデータがブロックのサイズよりも小さくても、ブロックのサイズのデータが必ず書込まれることとなる。これにより、ＦＬＡＳＨメモリに書込まれるデータの合計のサイズが増大してしまい、ＳＳＤの寿命が短縮されてしまう。
そこで、ＳＳＤの動作特性に応じた制御を行うために、電源瞬断で消える可能性のあるデータのサイズの増大を防止しつつ、書込まれるデータの合計のサイズを低減したいという要望があった。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、第１の記憶部へのデータの書込の処理を含む予め定められた処理の開始前に、前記第１の記憶部へ実際に書込まれるデータの容量を低減させるように、前記第１の記憶部へのデータの書込に関する条件である書込条件を調整する調整手段と、前記予め定められた処理の終了後に、前記書込条件を、前記調整手段により調整される前の条件に復元する復元手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、電源瞬断で消える可能性のあるデータのサイズの増大を防止しつつ、書込まれるデータの合計のサイズを低減することができる。
【図面の簡単な説明】
【０００７】
【図１】情報処理システムのシステム構成等の一例を示す図である。
【図２】プリンタ装置の一例の詳細を説明する図である。
【図３】コントローラの一例の詳細を説明する図である。
【図４】画像形成装置の電源の一例の詳細を説明する図である。
【図５】画像形成装置の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下に、本発明の好ましい実施の形態を、図面に基づいて詳細に説明する。
【０００９】
＜実施形態１＞
（情報処理システムの詳細）
図１は、本実施形態の情報処理システムのシステム構成等の一例を示す図である。情報処理システムは、画像形成装置１０１、コンピュータ１０９、フィニッシャ装置１５０を含む。画像形成装置１０１、コンピュータ１０９は、ＬＡＮ１０８を介して、相互に通信可能に接続されている。本実施形態では、画像形成装置１０１は、プリント機能、スキャナ機能、データ通信機能を含む複合機であるとする。画像形成装置１０１は、情報処理装置の一例である。コンピュータ１０９は、ＬＡＮ１０８を介して、画像形成装置１０１に指示を行ったり、画像形成装置１０１から情報を取得したりするパーソナルコンピュータ、サーバ装置、タブレット装置等の情報処理装置である。フィニッシャ装置１５０は、画像形成装置１０１と接続され、画像形成装置１０１から出力された紙デバイスに対して、排紙、ソート、ステープル、パンチ、裁断等の加工を施す装置である。
画像形成装置１０１は、ＬＡＮ１０８を介して、コンピュータ１０９からジョブを受信することができる。画像形成装置１０１は、１以上の複数のコンピュータと接続されることとしてもよい。
【００１０】
画像形成装置１０１のハードウェア構成について説明する。画像形成装置１０１は、スキャナ装置１０２、コントローラ１０３、プリンタ装置１０４、操作部１０５、ＳＳＤ１０６、ＦＡＸ装置１０７、電源スイッチ１１０を含む。
スキャナ装置１０２は、原稿から光学的に画像を読み取りデジタル画像に変換するスキャナ装置である。プリンタ装置１０４は、デジタル画像を印刷媒体である紙デバイスやフィルム等に出力するプリンタ装置である。操作部１０５は、ユーザからの画像形成装置１０１に対する情報の入力や指示、処理状態を示す情報等の表示等に用いられるタッチパネルやハードキーを含む操作部である。
ＳＳＤ１０６は、ＦＬＡＳＨメモリを用いたＳＳＤ、ｅＭＭＣ等の不揮発記憶装置である。ＳＳＤ１０６は、各種プログラム、印刷対象のデジタル画像・スキャンされた画像等の各種画像、各種設定情報等を記憶する。ＳＳＤ１０６は、第１の記憶部の一例である。ＦＡＸ装置１０７は、電話回線等にデジタル画像を送受信するＦＡＸ装置である。コントローラ１０３は、スキャナ装置１０２、プリンタ装置１０４、操作部１０５、ＳＳＤ１０６、ＦＡＸ装置１０７と接続され、各要素に指示を出すことで、ジョブを実行する。コントローラ１０３の詳細については、図３で後述する。
【００１１】
画像形成装置１０１は、ＬＡＮ１０８を介して、コンピュータ１０９からデジタル画像の入出力、ジョブの発行や機器の指示等を受付けることができる。スキャナ装置１０２は、原稿束を自動的に逐次入れ替えることが可能な原稿給紙ユニット１２１、原稿給紙ユニット１２１から給紙された原稿を光学スキャンしデジタル画像に変換することが可能なスキャナユニット１２２を含む。また、スキャナユニット１２２は、デジタル画像に変換した画像データを、コントローラ１０３に送信する。
プリンタ装置１０４は、紙束から一枚ずつ逐次給紙可能な給紙ユニット１４２、給紙ユニット１４２から給紙された紙に画像データを印刷することが可能なマーキングユニット１４１を含む。また、プリンタ装置１０４は、マーキングユニット１４１により印刷された紙を排紙することが可能な排紙ユニット１４３を含む。フィニッシャ装置１５０は、画像形成装置１０１のプリンタ装置１０４の排紙ユニット１４３から出力された紙デバイスに対して、排紙、ソート、ステープル、パンチ、裁断等の加工を施す。
電源スイッチ１１０は、コントローラ１０３に接続された画像形成装置１０１の電源のオンオフの切り替えに用いられるスイッチである。電源スイッチ１１０がオンになると、少なくとも、図４で後述する電源制御部３０３、操作部１０５、コントローラ１０３のメインボードの一部に対して給電されることとなる。また、電源スイッチ１１０がオフになった場合、即時に画像形成装置１０１への給電が停止されるわけではない。この場合、ソフトウェアやハードウェアに係る所定の終了処理を待って、電源制御部３０３の一部等の電源スイッチ１１０がＯＮになった際に処理を行う必要がある部分以外の部分への給電が停止されることとなる。
【００１２】
（画像形成装置の機能）
ここで、画像形成装置１０１の実行可能なジョブ（機能）の一例を説明する。
画像形成装置１０１は、スキャナ装置１０２から読み込んだ画像をＳＳＤ１０６に記録し、プリンタ装置１０４を介して印刷を行なう複写機能を有する。
画像形成装置１０１は、スキャナ装置１０２から読み込んだ画像を、ＬＡＮ１０８を介して、コンピュータ１０９等の外部の装置に送信する画像送信機能を有する。
画像形成装置１０１は、スキャナ装置１０２から読み込んだ画像をＳＳＤ１０６に記録し、必要に応じて画像送信や画像印刷を行なう画像保存機能を有する。
画像形成装置１０１は、コンピュータ１０９から送信された、例えばページ記述言語等の情報を解析し、プリンタ装置１０４を介して、送信された情報に対応する画像を印刷する画像印刷機能を有する。
操作部１０５は、コントローラ１０３に接続され、ＬＣＤタッチパネルや、節電ボタン、コピーボタン、キャンセルボタン、リセットボタン、テンキー、ユーザモードキー等を含み、画像入出力システムを操作するためのユーザＩ／Ｆを提供する。
【００１３】
（プリンタ装置の詳細）
図２は、プリンタ装置１０４の一例の詳細を説明する図である。図２の画像は、プリンタ装置１０４の全体の断面図を示す。プリンタ装置１０４は、プロセスユニット１５１ｋ、プロセスユニット１５１ｙ、プロセスユニット１５１ｍ、プロセスユニット１５１ｃを含む。
プロセスユニット１５１ｋは、用紙等の印刷媒体へのブラックの着色に用いられるプロセスユニットである。プロセスユニット１５１ｙは、用紙等の印刷媒体へのイエローの着色に用いられるプロセスユニットである。プロセスユニット１５１ｍは、用紙等の印刷媒体へのマゼンタの着色に用いられるプロセスユニットである。プロセスユニット１５１ｃは、用紙等の印刷媒体へのシアンの着色に用いられるプロセスユニットである。以下では、プロセスユニット１５１ｋ、プロセスユニット１５１ｙ、プロセスユニット１５１ｍ、プロセスユニット１５１ｃを、プロセスユニット１５１と総称する。
【００１４】
プロセスユニット１５１ｋは、感光ドラム１５２ｋ、帯電ローラ１５３ｋ、現像器１５５ｋ、補助帯電ブラシ１５９ｋを含む。感光ドラム１５２ｋは、プロセスユニット１５１ｋの中央部に配置されており、ドラムモータによって回転駆動される。帯電ローラ１５３ｋは、高圧を印加して感光ドラム１５２ｋの表面を一様に帯電させる。現像器１５５ｋは、トナーとキャリアとからなる二成分現像剤によって、静電潜像に応じた可視トナー像を感光ドラム上に形成する。補助帯電ブラシ１５９ｋは、一次転写ローラで転写しきれなかった転写残トナーが一様な電荷を持つよう帯電させる。
レーザスキャナユニット１５４ｋは、レーザダイオードから変調出力されたレーザを、ポリゴンミラー回転体を使用して長手方向に走査するレーザスキャナユニットである。レーザスキャナユニット１５４ｋは、一様に帯電された感光ドラム１５２ｋ上に入力画像情報に従ってレーザ露光を行い、静電潜像を形成する。
【００１５】
トナーボトル１５６ｋは、トナーが充填されたボトルであり、現像器１５５ｋに対してトナーを供給する。一次転写ローラ１５７ｋは、イエロー、マゼンタ、シアン、ブラック各色を逐次重ね合わせる為に無端ベルト状部材である中間転写体１５８に対して感光ドラムから一次転写するためのローラである。
プロセスユニット１５１ｙ、１５１ｍ、１５１ｃそれぞれは、感光ドラム１５２ｋ、帯電ローラ１５３ｋ、現像器１５５ｋ、補助帯電ブラシ１５９ｋと同様の感光ドラム、帯電ローラ、現像器、補助帯電ブラシを含む。また、プロセスユニット１５１ｙ、１５１ｍ、１５１ｃそれぞれの周囲には、レーザスキャナユニット１５４ｋ、トナーボトル１５６ｋ、一次転写ローラ１５７ｋと同様のレーザスキャナユニット、トナーボトル、一次転写ローラが配置されている。
【００１６】
中間転写体１５８に一次転写されたトナー像は、二次転写ローラ１６０によって用紙上に二次転写される。二次転写ローラ１６０で転写しきれなかった残トナーや、用紙上に転写することを意図しない画質調整用のトナー像は、中間転写体クリーナ１６１によってクリーニングされる。パターン濃度検知センサ１６２は、中間転写体上に作像されたパターンの濃淡変化を検出するセンサである。印刷媒体に印刷される画像の画質の調整は、パターン濃度検知センサ１６２を介して検出された結果を、現像器１５５やレーザスキャナユニット１５４にフィードバックすることで実現される。
印刷媒体である用紙（シート）は、用紙カセット１６３に収納されており、プリンタ装置１０４によって用紙にトナー像が転写される際に、トナー像と用紙との先端が一致するようなタイミングで、給紙ローラ１６４によって給紙される。その後、用紙は、レジストローラ１６５によって斜行を補正された後、二次転写ローラ１６０に送られる。
【００１７】
二次転写ローラ１６０でトナー像が転写された後、定着フィルムユニット１８２及び加圧ローラ１８１からなる定着器１８０によって、用紙にトナーが熱定着される。その後、用紙は、排紙フラッパ１６９によって搬送方向が切り替えられる。
用紙の片面に画像形成を行う場合、用紙は、排紙部１７４に搬送される。
用紙の両面に画像形成が行われる場合、用紙は、両面反転パス１７０に搬送される。両面反転パス１７０に搬送された用紙は、反転ローラ１７１及び反転フラッパ１７２により、両面搬送パス１７３を経由し、レジストローラ１６５に搬送され、用紙裏面に画像形成された後、排紙部１７４に搬送される。
【００１８】
（コントローラの詳細）
図３は、コントローラ１０３の一例の詳細を説明する図である。図３を用いて、コントローラ１０３のハードウェア構成等を説明する。
コントローラ１０３は、メインボード２００、サブボード２２０を含む。メインボード２００は、ＣＰＵ３４０、ブートプログラムが含まれるブートＲＯＭ２０２、ＣＰＵ３４０のワークメモリとして機能するＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）等の記憶装置であるメモリ３４１を含む。メモリ３４１は、第２の記憶部の一例である。
【００１９】
また、メインボード２００は、外部バスとのブリッジ機能を持つバスコントローラ２０４、電源断された場合でも記憶されたデータが消えない不揮発性メモリ２０５、ストレージ装置を制御するディスクコントローラ２０６を含む。不揮発性メモリ２０５は、例えば、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）等の記憶装置である。
また、メインボード２００は、半導体デバイスで構成された記憶装置であるＳＳＤ等のフラッシュディスク２０７、ＵＳＢを制御することが可能なＵＳＢコントローラ２０８を含む。メインボード２００は、ＵＳＢコントローラ２０８を介して、ＵＳＢメモリ２０９と接続される。メインボード２００は、ディスクコントローラ２０６を介して、ＳＳＤ１０６と接続される。メインボード２００は、操作部１０５と接続され、操作部１０５を介して入力された情報や指示を受け付けることができる。
【００２０】
また、メインボード２００は、各要素からの割り込みや各要素に対する電力供給を制御する電源制御部３０３（例えば、ＣＰＬＤ、結合プログラマブル論理回路等）を含む。ＣＰＵ３４０は、電源制御部３０３と接続されている。
また、メインボード２００は、ネットワークコントローラ２１１、リアルタイムクロック（ＲＴＣ）２１２を含む。メインボード２００は、電源制御部３０３を介して、プリンタ装置１０４、フィニッシャ装置１５０、スキャナ装置１０２、ＦＡＸ装置１０７と接続されている。また、メインボード２００は、サブボード２２０を介しても、プリンタ装置１０４、フィニッシャ装置１５０、スキャナ装置１０２、ＦＡＸ装置１０７と接続されている。ＣＰＵ３４０は、ＵＳＢコントローラ２０８と接続されている。また、ＣＰＵ３４０は、ソフトスイッチを有する操作部１０５と接続されている。
【００２１】
サブボード２２０は、サブボード２２０全体を制御するＣＰＵ２２１、ＣＰＵ２２１のワークメモリとして機能するＲＡＭ等の記憶装置であるメモリ２２３、外部バスとのブリッジ機能を持つバスコントローラ２２４を含む。また、サブボード２２０は、電源断された場合でも、記憶されている情報が消えないＲＯＭ等の記憶装置である不揮発性メモリ２２５を含む。
また、サブボード２２０は、リアルタイムなデジタル画像処理に用いられる演算装置である画像処理プロセッサ２２７、接続されているデバイスの制御に用いられるデバイスコントローラ２２６を含む。ＣＰＵ２２１は、画像処理プロセッサ２２７、デバイスコントローラ２２６を介して、コントローラ１０３の外部のデバイスであるスキャナ装置１０２、プリンタ装置１０４の制御を行う。ＣＰＵ２２１は、例えば、画像処理プロセッサ２２７、デバイスコントローラ２２６を介して、スキャナ装置１０２、プリンタ装置１０４との間で、デジタル画像データの受け渡しを行なう。プリンタ装置１０４から排紙された用紙（紙デバイス）は、フィニッシャ装置１５０で加工される。ＣＰＵ２２１は、ＦＡＸ装置１０７に対して、直接的な制御を行なう。
コントローラ１０３のハードウェア構成は、図３の構成に限定されない。例えば、コントローラ１０３は、ＣＰＵ３４０、ＣＰＵ２２１用の、チップセット、バスブリッジ、クロックジェネレータ等のハードウェアを含むこととしてもよい。
【００２２】
コントローラ１０３の処理について、用紙への画像複写を例に説明する。
ユーザが、操作部１０５を介して、ＣＰＵ３４０に対して、用紙への画像複写を指示すると、ＣＰＵ３４０は、ＣＰＵ２２１を介して、スキャナ装置１０２に画像読み取り命令を送信する。スキャナ装置１０２は、紙原稿を光学スキャンし、デジタル画像データに変換してデバイスコントローラ２２６を介して、画像処理プロセッサ２２７に入力する。画像処理プロセッサ２２７は、ＣＰＵ２２１を介して、入力されたデジタル画像データを、メモリ２２３にＤＭＡ転送し、一時的に保存する。
ＣＰＵ３４０は、ＣＰＵ２２１を介して、デジタル画像データがメモリ２２３に一定量又は全て保存されたことを確認すると、ＣＰＵ２２１を介して、プリンタ装置１０４に画像出力指示を送信する。
【００２３】
ＣＰＵ２２１は、画像処理プロセッサ２２７に、メモリ２２３に一時的に保存されている画像データのアドレスを通知する。メモリ２２３上の画像データは、プリンタ装置１０４からの同期信号に従って、画像処理プロセッサ２２７とデバイスコントローラ２２６とを介してプリンタ装置１０４に送信される。
プリンタ装置１０４は、印刷媒体である用紙にデジタル画像データを印刷する。
複数部の印刷が行なわれる場合、ＣＰＵ３４０は、メモリ２２３に一時的に保存された画像データを、ＳＳＤ１０６に保存する。これにより、２部目以降は、コントローラ１０３は、スキャナ装置１０２から画像をもらわなくても、ＳＳＤ１０６やメモリ２２３から、プリンタ装置１０４に画像を送ることができる。
ＣＰＵ３４０が、不揮発性メモリ２０５、ＳＳＤ１０６等に記憶されたプログラムにしたがって処理を実行することで、（画像形成装置の機能）で説明した画像形成装置１０１の機能、図５のフローチャートの処理等が実現される。
【００２４】
（電源構成）
本実施形態の画像形成装置１０１の電源の詳細について説明する。
図４は、画像形成装置１０１の電源の一例の詳細を説明する図である。以下、画像形成装置１０１における、コントローラ１０３、プリンタ装置１０４、電源制御部３０３、電源３０１との関係について、図４を用いて説明する。電源３０１は、画像形成装置１０１に給電する商用電源等の電源である。
図４の例では、電源制御部３０３には、第１の電源ラインである電源ラインＪ３０２経由で、電源３０１から常時電源が供給されている。電源スイッチ１１０がオフに切り替えられた際でも、電源制御部３０３には、通電されており、電源制御部３０３による電力制御が行われる。
【００２５】
電源制御部３０３は、所望の処理を実行するためのプログラムにしたがって処理を実行する。電源制御部３０３の処理を説明する。電源制御部３０３は、第１の電源制御信号であるＩＯ信号Ｖ＿ＯＮ（電源制御信号３０７）を受信した際にリレースイッチ３０８を切替えることで、電源３０１から第２の電源ラインである電源ラインＶ３０９経由のコントローラ１０３への給電を制御する。また、電源制御部３０３は、ＣＰＵ３４０からタイマ起動の際の処理の指示を受付け、タイマ起動の際には、ＣＰＵ３４０によって指示された処理を実行する。
また、電源制御部３０３は、第２の電源制御信号であるＩＯ信号Ｐ＿ＯＮ（電源制御信号３１０）によって、リレースイッチ３１１を切替える。その結果、電源３０１から第３の電源ラインである電源ラインＰ３１２経由でプリンタ制御部３２７のプリンタ制御部３２７への給電が制御される。プリンタ制御部３２７は、プリンタ装置１０４のロジック系統回路であり、ＣＰＵ３２０とメモリ３２６を含む。
【００２６】
また、電源制御部３０３は、第２の電源制御信号のサブ信号であるＩＯ信号Ｑ＿ＯＮ（電源制御信号３１３）によって、リレースイッチ３１５を切り替える。その結果、電源３０１から第３の電源ラインのサブラインである電源ラインＱ３１６経由でプリンタ装置１０４の印刷部３２８への給電が制御される。印刷部３２８は、プリンタ装置１０４の高負荷系統装置であり、マーキングユニット１４１の定着ユニット３２１〜３２４、ＦＡＮ３２５を含む。また、印刷部３２８は、前述の機構部だけでなく、図２で説明したプリンタ装置１０４の各機構部を含む。
電源ラインＱ３１６は、電源ラインＰ３１２のサブラインである必要はなく、電源３０１から引かれることとしてもよい。また、リレースイッチ３１５は、電源制御部３０３により制御されるが、ＣＰＵ３４０等により制御されることとしてもよい。また、印刷部３２８は、給紙ユニット１４２やマーキングユニット１４１や排紙ユニット１４３を含むこととしてもよい。
【００２７】
また、電源制御部３０３は、ＣＰＵ３４０の指示に基づいて、所定のＩＯ信号を動作させる。電源制御部３０３によって動作させられうるＩＯ信号の１つは、プリンタ装置１０４のＣＰＵ３２０へ接続されたＤＣＯＮ＿ＬＩＶＥＷＡＫＥ信号３０５である。
この信号がアサート（有効に）された状態でプリンタ装置１０４の電源が投入されると、プリンタ装置１０４は、可動部を制御したり電力を使ったりする特定の処理を行わずに復帰する。この特定の処理は、例えば、モータ、ローラ、ポリゴン等の回転動作や、ドラムである定着ユニット３２１〜３２４の温調やＦＡＮ３２５による排熱処理等の処理である。スキャナ装置１０２は、プリンタ装置１０４と同様に、電源制御部３０３により電源の制御である。即ち、スキャナ装置１０２についても、電源制御部３０３によりプリンタ装置１０４と同様の電源制御が行われる。
【００２８】
また、図４のようなブロックごとの給電は、例えば、リレースイッチ３０８を２系統で構成し、スリープ状態では、電源をオフするブロックにつながるリレースイッチのみをオフとし、他方をオンとしたままとすること等で実現できる。スリープ状態とは、画像形成装置１０１がとりうる省電力状態の１つである。ＣＰＵ３４０は、例えば、メモリ３４１等に画像形成装置１０１の状態を示す情報を記憶しているとする。そのため、ＣＰＵ３４０は、例えば、メモリ３４１等に記憶されたその情報を更新し、各状態に対応する処理を行うことで、画像形成装置１０１の状態を切り替える。
シャットダウン状態では両方の系統のリレースイッチがオフになることとする。シャットダウン状態とは、画像形成装置１０１の取りうる状態の１つであり、電源がオフされていることを示す状態である。その場合には、電源制御信号は、二値ではなく、通電状態に応じた多値制御信号となる。スリープ状態やシャットダウン状態等を含む各電力状態は、このような制御により実現できる。
より具体的には、電源制御部３０３は、第３の電源制御信号であるＩＯ信号Ｎ＿ＯＮ（電源制御信号３６０）によって、リレースイッチ３６１を切り替えることで、電源３０１から第３の電源ラインである電源ラインＮ３６２経由でＮＩＣ３５０への給電を制御する。コントローラ１０３に含まれるＮＩＣ３５０は、電源３０１から個別に給電されている。電源ラインＮ３６２は、他の非常夜電源と異なり、通常時だけでなく、スリープ時にも給電され、ネットワーク起床を可能にする。また、シャットダウン時には、Ｗａｋｅ  Ｏｎ  ＬＡＮ等の設定が有効でない限りは、ＮＩＣ３５０には給電されない。リレースイッチ３６１を経由した電源ラインＮ３６２は、オフ状態以外は常に給電状態である。
【００２９】
（電源制御部による電源監視１：起動時の給電）
続いて、画像形成装置１０１の起動の際の電源制御処理について説明する。操作者が画像形成装置１０１を使用する場合は、電源スイッチ１１０をＯＮにする。すると電源制御部３０３は、電源ラインＪ３０２からの通電に基づいて、画像形成装置１０１の電源のＯＮを検知する。そして、電源制御部３０３は、電源スイッチ制御信号（３０７、３１０、３１３）を発することで、リレースイッチ３０８、３１１をそれぞれオンにして、電源３０１からの電源電力を装置全体に供給させる。電源制御部３０３は、システム全体に電源ＯＮ時に応じた電力供給、より具体的にはコントローラ１０３、プリンタ装置１０４、スキャナ装置１０２に各ＤＣ電源供給径路を介して通電を行う。そして、プリンタ装置１０４、スキャナ装置１０２それぞれのＣＰＵは、初期化動作を開始する。
電源スイッチがＯＮにされた際の処理が行われると、コントローラ１０３のＣＰＵ３４０は、画像形成装置１０１のハードウェアの初期化を行う。ハードウェアの初期化にかかる処理には、例えば、レジスタ初期化、割り込み初期化、カーネル起動時のデバイスドライバの登録、操作部１０５の初期化等の処理がある。次に、ＣＰＵ３４０は、画像形成装置１０１のソフトウェアの初期化を行う。画像形成装置１０１のソフトウェアの初期化にかかる処理には、例えば、各ライブラリの初期化ルーチンの呼び出し、プロセスやスレッドの起動、プリンタ装置１０４やスキャナ装置１０２と通信を行うソフトウェアサービスの起動、操作部１０５の描画等がある。そして、ＣＰＵ３４０は、画像形成装置１０１をスタンバイ状態に移行させる。スタンバイ状態とは、画像形成装置１０１における省電力状態の１つであり、指示の受付を待機している状態である。
【００３０】
（電源制御部による電源監視２：通常状態の給電）
続いて、画像形成装置１０１の、プリンタ装置１０４やスキャナ装置１０２が使われていない通常状態の給電について、説明する。通常状態とは、画像形成装置１０１の取りうる状態の１つである。通常状態は、画像形成装置１０１の全てのユニットに給電されている状態だけでない。通常状態であっても、例えば、印刷等が行われていない際にプリンタ装置１０４に給電されない場合もある。また、通常状態であっても、操作部１０５が点灯しておらず、ユーザが画像形成装置１０１の前にいない場合に、スキャナ装置１０２に対して、給電されない場合もある。
また、画像形成装置１０１の状態には、例えば、プリンタ装置１０４、スキャナ装置１０２に電源が供給されている場合に動作を待機する動作待ち状態がある。動作待ち状態では、印刷のためのモータやポリゴンを動作させなかったり、印刷のための転写ユニットを温調させなかったり、読取のためのホームポジション検知を動作させなかったりする。
【００３１】
（電源制御部の電源監視３：ＰＤＬ印刷時の給電）
続いて、画像形成装置１０１の、ＰＤＬ印刷状態でプリンタ装置１０４やスキャナ装置１０２を使う状態の給電について、説明する。画像印刷機能を用いて、プリンタ装置１０４の電源ＯＮと電源ＯＦＦについて説明する。
ＣＰＵ３４０は、コンピュータ１０９からＬＡＮ１０８を経由して、メモリ３４１にデータを受信する。ＣＰＵ３４０は、受信したデータを解析し、画像印刷機能を実行する場合は、印刷ジョブを生成する。
ＣＰＵ３４０は、電源制御部３０３に通知して、電源制御信号３１０を介してリレースイッチ３１１を切り替えて、電源３０１から電源ラインＰ３１２経由で、プリンタ装置１０４に給電させる。ＣＰＵ３４０は、プリンタ装置１０４に給電が開始され使用可能になると、プリンタ装置１０４を介して印刷ジョブを実行する。ＣＰＵ３４０は、メモリ３４１、ＣＰＵ２２１へ印刷ジョブにかかるデータを送信する。ＣＰＵ２２１は、プリンタ装置１０４へ受信したデータを送信する。プリンタ装置１０４は、受信したデータを印刷し、印刷が完了すると、結果をＣＰＵ３４０へ通知する。ＣＰＵ３４０は、印刷が完了すると、電源制御部３０３を介して、電源制御信号３１０によりリレースイッチ３１１をオフにし、プリンタ装置１０４の電源をＯＦＦする。
【００３２】
（電源制御部の電源監視４：スリープ状態に移行の際の給電）
コントローラ１０３のスリープ状態への移行処理について、説明する。スタンバイ状態が一定時間続くと、ＣＰＵ３４０は、画像形成装置１０１をスリープ状態に遷移させる。ＣＰＵ３４０は、電源制御部３０３にスリープ状態への移行を通知する。そして、電源制御部３０３は、コントローラ１０３への給電を変更する。ブロックごとの給電は、例えば、リレースイッチ３０８を２系統で構成し、スリープ状態では、電源をオフするブロックにつながるリレースイッチのみをオフとし、他方をオンとしたままとすること等により実現される。
【００３３】
（電源制御部の電源監視５：スリープ状態における時の給電）
画像形成装置１０１のスリープ状態における給電処理について、説明する。スリープ状態とは、電力消費量を抑えつつ、起動時間をシャットダウン状態からの起動の場合よりも早くすることができる状態である。ユーザが操作しない状態で一定時間が経過した場合や、操作部１０５上の節電キーを押下した場合や、設定した時刻に達した場合等に、ＣＰＵ３４０は、画像形成装置１０１をスリープ状態に遷移させる。スリープ状態においては、メモリ３４１、ディスクコントローラ２０６、ネットワークコントローラ２１１、ＲＴＣ２１２、ＵＳＢコントローラ２０８等に給電される。また、スリープ状態においては、操作部１０５の節電キー、ＦＡＸ装置１０７の一部、各種センサ等にも給電される。ただし、スリープ復帰要因はシステムによって異なるため、スリープ状態における、給電方法は、このような構成に限定されない。
スリープ復帰時のソフトウェアの動作について説明する。電源制御部３０３は、スリープ状態では、ネットワーク、タイマやアラームを検知するＲＴＣ２１２、着信やオフフックを検知するＦＡＸ装置１０７、ソフトスイッチ、各種センサ、挿抜や通信を検知するＵＳＢ等の１つ以上の割り込みを受けると、給電を開始する。電源制御部３０３は、ＣＰＵ３４０に割り込み原因を通知する。ＣＰＵ３４０は、その通知を受けてソフトウェアの状態を通常状態に戻す処理、すなわちスリープ復帰処理を行う。
【００３４】
（電源制御部の電源監視６：スリープ状態からの復帰の際の給電）
コントローラ１０３のスリープ状態からの復帰の際の処理について、説明する。ＣＰＵ３４０は、電源制御部３０３から、スリープ状態中に、スリープ復帰要因である節電キーの押下イベントを受信すると、スリープ状態から復帰する。ＣＰＵ３４０は、スリープ復帰を電源制御部３０３に通知する。その後、電源制御部３０３は、電源制御信号３０７、３１０を発することで、リレースイッチ３０８、３１１をオンにする。その結果、コントローラ１０３、プリンタ装置１０４、スキャナ装置１０２に対して、給電が開始される。
スキャナ装置１０２に対する電源制御信号は、プリンタ装置１０４に対する電源制御信号と同じ信号を併用してもよいし、他の信号を用いてもよい。
【００３５】
ＣＰＵ３４０は、例えば、指示された印刷ジョブが終了すると、再びスリープ状態に遷移する。ＣＰＵ３４０は、スリープ状態への移行を電源制御部３０３に通知する。そして、電源制御部３０３は、電源制御信号３１０を発することでリレースイッチ３１１をオフにし、画像形成装置１０１におけるコントローラ１０３以外の部分への給電を停止する。
スリープ状態において、スリープ状態からの復帰要因であるネットワーク受信イベントが発生した場合を考える。電源制御部３０３は、この復帰要因を受け、電源制御信号３０７を発することで、リレースイッチ３０８をオンにし、コントローラ１０３への給電を開始させる。そして、ＣＰＵ３４０は、画像形成装置１０１を、スリープ状態から復帰させる。プリンタ装置１０４、スキャナ装置１０２は、ジョブが生成されていない場合や、デバイス情報の取得が不要な場合は、給電されないこととしてもよい。
【００３６】
（コントローラとＳＳＤとのキャッシュ領域）
続いて、本実施形態のコントローラ１０３とＳＳＤ１０６とのキャッシュ領域について説明する。キャッシュ領域とは、メモリ３４１やＳＳＤ１０６内のＲＡＭ等の記憶装置内の記憶領域のような、データの一時的な記憶に用いられる記憶領域である。
ＣＰＵ３４０によるプログラムの実行を介して実現されるアプリケーションは、データをＳＳＤ１０６に記憶する際に、このデータをメモリ３４１に記憶し、ＯＳに対して、ＳＳＤ１０６への書込み命令を出す。ＯＳは、ＣＰＵ３４０によるプログラムの実行を介して実現される。ＯＳは、メモリ３４１にデータを記憶したまま、アプリケーションに応答（書込命令を受付けたことを示す応答）を返す。ＯＳは、任意のタイミングで書込イベントを発行し、キャッシュ領域に記憶されたデータを、ディスクコントローラ２０６を経由して、ＳＳＤ１０６に送る。
ＳＳＤ１０６内のＣＰＵによるプログラムの実行を介して実現されるＳＳＤ１０６のファームウェアは、ＣＰＵ３４０からデータを受けると、そのデータを、ＳＳＤ１０６内のＲＡＭに書込む。ＳＳＤ１０６のファームウェアは、任意のタイミングで書込イベントを発行し、ＳＳＤ１０６のＲＡＭ上のデータを、ＳＳＤ１０６のＦＬＡＳＨメモリへ書込む。本実施形態では、ＳＳＤ１０６は、ハードウェア構成要素として、ＣＰＵ、ＲＡＭ、ＦＬＡＳＨメモリを含むこととするが、他の要素を含むこととしてもよい。
【００３７】
（ＦＬＡＳＨメモリを用いた記憶装置の特性と問題）
ＳＳＤ１０６のように、ＦＬＡＳＨメモリをストレージとして用いた記憶装置の特性について説明する。
このような記憶装置の特性の一つは、ストレージへのデータの書込の際に、書込対象のデータをそのまま書込まずに、予め定められたサイズのブロックに書込対象のデータを含ませた上で、ブロックの書込が行われる場合があることである。このブロックのサイズは、例えば、ｄｅｆａｕｌｔが４ＫＢであり、１ＫＢ〜１０２４ＫＢの範囲で変更ができる。本実施形態では、メモリ３４１内には、ＳＳＤ１０６への書込対象となるデータが一時的に記憶される領域（キャッシュ領域）が用意されている。
また、このような記憶装置の特性の一つは、ストレージへの総書込容量に上限があることである。ＳＳＤの総書込容量の上限は、１２８ＧＢのＳＳＤで７４ＴＢ程度であり、ＳＳＤの容量が増えれば、総書込容量は比例して増えることとなる。
【００３８】
次に、ＣＰＵ３４０がＳＳＤ１０６へデータの書込を行う方式を説明する。
ＣＰＵ３４０がＳＳＤ１０６へデータの書込を行う方式には、同期書込方式がある。同期書込方式とは、書込対象のデータが記憶されたキャッシュ領域と、ＳＳＤ１０６と、を明示的に同期させて（書込対象のデータに関する部分について、同じ内容にして）することで、書込を行うデータ書込の方式がある。同期書込方式は、第１の方式の一例である。同期書込方式では、ＣＰＵ３４０によるプログラムの実行を介して実現されるアプリケーションが明示的に、キャッシュ領域とＳＳＤ１０６とを同期させる。このようにアプリケーションが、明示的にキャッシュ領域とＳＳＤ１０６とを同期させる命令を発することで、この命令に応じた１回の書込の処理で書込対象の全てのデータがＳＳＤ１０６に書込まれることとなる。
【００３９】
同期書込方式によるデータの書込は、例えば、以下のようにして実現される。例えば、ＣＰＵ３４０は、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ（登録商標）等のシステムを用いて、ＳＳＤ１０６の各パーティションのファイルシステムをｍｏｕｎｔする際に、−ｏ  ｓｙｎｃ  オプションを使い、同期型でｍｏｕｎｔする。これにより、ＣＰＵ３４０がメモリ３４１のキャッシュ領域内のデータを書込む際に、同期書込方式での書込が行われることとなる。メモリ３４１のキャッシュ領域は、第２の記憶装置内の記憶領域の一例である。
また、同期書込方式によるデータの書込は、例えば、以下のようにしても実現される。例えば、ＣＰＵ３４０は、ＵＮＩＸ、Ｌｉｎｕｘ等のシステムを用いて、ファイルをｏｐｅｎする際に、Ｏ＿ＳＹＮＣ状態フラグを用いて、同期型でｏｐｅｎする。これにより、ＣＰＵ３４０がメモリ３４１のキャッシュ領域内のデータを書込む際に、同期書込方式での書込が行われることとなる。
また、同期書込方式によるデータの書込は、例えば、以下のようにしても実現される。例えば、ＣＰＵ３４０は、ＵＮＩＸ、Ｌｉｎｕｘ等のシステムを用いて、ｓｙｎｃ、ｆｓｙｎｃ、ｆｄａｔａｓｙｎｃ等の同期型のＡＰＩをｃａｌｌすることでも、同期書込方式でのデータの書込を実現できる。
【００４０】
ＳＳＤ１０６にデータを、同期書込方式で書込む際の処理を説明する。ＣＰＵ３４０によるプログラムの実行により実現されるＯＳのデバイスドライバは、アプリケーションからデータのＳＳＤ１０６への同期書込の指示を受信する。そして、このデバイスドライバは、メモリ３４１のキャッシュ領域内のデータを、ディスクコントローラ２０６を経由して、ＳＳＤ１０６に送信する。ＳＳＤ１０６のファームウェアは、送信されたデータを、ＳＳＤ１０６内のＲＡＭ上のキャッシュ領域に書込む。ＳＳＤ１０６のファームウェアは、キャッシュ領域内に記憶された書込対象のデータを、ストレージであるＦＬＡＳＨメモリへ書込む際には、以下のような処理を行う。即ち、ＳＳＤ１０６のファームウェアは、たとえキャッシュ領域にブロックのサイズと同じ量の書込対象のデータが記憶されていなくても、このキャッシュ領域に記憶されているデータを含むブロックを、ＳＳＤ１０６に書込むこととなる。
ＣＰＵ３４０は、メモリ３４１のキャッシュ領域内のデータをＳＳＤ１０６に送信した直後に、ＳＳＤ１０６にＡＴＡコマンドの一つであるＦＬＡＳＨ  ｃａｃｈｅ  ｃｏｍｍａｎｄを発行する。ＳＳＤ１０６のファームウェアは、ＦＬＡＳＨ  ｃａｃｈｅ  ｃｏｍｍａｎｄを受けると、ＳＳＤ１０６内のＲＡＭ上のキャッシュ領域にあるデータを、ＳＳＤ１０６内のＦＬＡＳＨメモリのセルに書込む。そして、ＳＳＤ１０６のファームウェアは、ＦＬＡＳＨ  ｃａｃｈｅ  ｃｏｍｍａｎｄに対する応答をＣＰＵ３４０に送信する。ＣＰＵ３４０は、ＦＬＡＳＨ  ｃａｃｈｅ  ｃｏｍｍａｎｄの応答が返ると、データの書込を指示してきたアプリケーションに結果を返す。
【００４１】
また、ＣＰＵ３４０がＳＳＤ１０６へデータの書込を行う方式には、遅延書込方式がある。遅延書込方式とは、定められた期間、書込対象のデータをキャッシュ領域に記憶することを継続し、その期間経過後に、キャッシュ領域とＳＳＤ１０６とを同期させる処理を、その期間の間隔で繰り返すことで、書込を行う方式である。即ち、書込を指示されたデータは、定められた間隔の間、キャッシュ領域に蓄積されていくこととなる。そのため、定められた間隔の間に複数の書込の指示が行われた場合、キャッシュ領域内には、複数の書込の指示それぞれに対応する書込対象のデータが記憶される場合がある。そして、定められた間隔が経過した際に、キャッシュ領域内のデータがまとめてＳＳＤ１０６に書込まれることとなる。それにより、書込の指示１回ごとにＳＳＤ１０６への書込を１回行う同期書込方式の場合と比べて、ＳＳＤ１０６への書込みの頻度が低減される。
ＳＳＤ１０６に遅延書込方式でデータの書込を行う方法を説明する。ＣＰＵ３４０によるプログラムの実行を介して実現されるＯＳは、アプリケーションからＳＳＤ１０６へのデータの書込の指示を受信すると、メモリ３４１のキャッシュ領域にデータの記憶を開始し、アプリケーションに応答を返す。ＯＳは、一定間隔ごとに、メモリ３４１のキャッシュ領域のデータを、ＳＳＤ１０６に送信する。ＳＳＤ１０６は、送信されたデータを、ＳＳＤ１０６内のＦＬＡＳＨメモリに書込む。ＯＳがＳＳＤ１０６にデータを送信する間隔は、例えばＬｉｎｕｘなら、／ｐｒｏｃ／ｓｙｓ／ｖｍ／ｄｉｒｔｙ＿ｗｒｉｔｅｂａｃｋ＿ｃｅｎｔｉｓｅｃｓ  のｄｅｆａｕｌｔである、５秒間隔である。
【００４２】
ＣＰＵ３４０がＳＳＤ１０６に同期書込方式でデータの書込を行った場合に発生し得るデータの総書込容量が増大するという問題を説明する。
ＳＳＤ１０６に同期書込方式でのデータの書込が実行されると、１回の書込がブロックのサイズ（４ＫＢ）に満たなくても、ブロックのサイズ分（４ＫＢ）のデータの書込が発生してしまう。その結果、ブロックのサイズよりも小さな容量のファイルを膨大な数、書込むと、ＳＳＤ１０６へのデータの総書込容量が大幅に増大してしまう。
例えば、更新ファームウェア１．５ＧＢをＳＳＤ１０６へ書込む際に、１ファイル１ＫＢの１５０万ファイルが書込まれるとする。この際、１ファイルごとに、同期書込方式で、ＳＳＤ１０６にデータの書込が行われるとする。１ブロックのサイズがｄｅｆａｕｌｔの４ＫＢであるとすると、１ＫＢのファイルを１つ書込むために、４ＫＢのブロックの書込が実行される。その結果、ファームウェアのサイズ１．５ＧＢのデータに対して、実際にＳＳＤ１０６に書込まれるデータのサイズは、６ＧＢになる。
【００４３】
また、大容量の画像や動画等のファイルに併せて、ＳＳＤ１０６への書込単位であるブロックのサイズが１０２４ＫＢに設定されていると、１ＫＢのファイルを、同期書込方式で書込むと、実際には、１０２４ＫＢの書込が実行されることとなる。その結果、ファームウェアのサイズ１．５ＧＢのデータに対して、実際に書込まれるデータのサイズは、１５３６ＧＢ（約１．５ＴＢ）になる。
ＳＳＤ１０６のようにＦＬＡＳＨメモリをストレージとする記憶装置では、書込みを行えるデータの総量には、限界がある。そのため、ブロックのサイズよりも小さな容量のファイルを膨大な数、同期書込方式で書込むと、書込対象のデータの総容量よりも大きなサイズのデータが書込まれることとなり、記憶装置の寿命が短くなってしまう。
例えば、ファームウェア１．５ＧＢに対して、実際に書込まれるデータのサイズが１５３６ＧＢ（約１．５ＴＢ）となる場合、５０回ファームウェアを更新するだけで、約７５ＴＢの総書込容量となってしまう。これは、１２８ＧＢのＳＳＤに書込を行うことができるデータの容量を超えている。即ち、１２８ＧＢのＳＳＤを用いる場合、５０回ファームウェアを更新するだけで、ＳＳＤの寿命が尽きてしまう場合がある。
【００４４】
（画像形成装置の処理の説明）
図５は、画像形成装置１０１の処理の一例を示すフローチャートである。本実施形態では、画像形成装置１０１は、データの書込の処理である特定の処理を実行する前に、ＳＳＤ１０６へ書込まれるデータの量を低減するために、データの書込に関する条件を変更する処理を実行する。以下では、データの書込に関する条件を、書込条件とする。書込条件は、例えば、ある方式でのデータの書込が禁止されているか否か、ある方式でのデータの書込の際にどのような値のパラメータを用いるか、記憶部にどのサイズのブロック単位で書込が行われるか、等の条件である。また、画像形成装置１０１は、特定の処理の終了後には、書込条件をもとの条件に復元する処理を実行する。
図５の例では、この特定の処理は、ＳＳＤ１０６のファームウェアの更新処理、画像形成装置１０１のバージョン変更後の初回の起動処理、画像形成装置１０１の設定クリア・変更後の初回の起動処理の何れかの処理である。これらの処理は、ブロックのサイズよりも小さな膨大な数のファイルの書込が発生し得る処理である。画像形成装置１０１のバージョン変更後の初回起動の際には、バージョン変更に伴い、多くのファイルの書込が発生する場合がある。画像形成装置１０１の設定クリア（初期化）又は変更後の初回の起動処理では、ブロックのサイズよりも容量が小さい初期化に伴うファイルが膨大に生成される場合がある。
【００４５】
Ｓ５０１において、ＣＰＵ３４０は、ＳＳＤ１０６のファームウェアの更新処理が指示されているか否かを判定する。ＣＰＵ３４０は、ＳＳＤ１０６のファームウェアの更新処理が指示されていると判定した場合、Ｓ５０５の処理に進み、ＳＳＤ１０６のファームウェアの更新処理が指示されていないと判定した場合、Ｓ５０２の処理に進む。
Ｓ５０２において、ＣＰＵ３４０は、画像形成装置１０１のバージョンの変更後の初回の起動処理が指示されているか否かを判定する。ＣＰＵ３４０は、画像形成装置１０１のバージョンの変更後の初回の起動処理が指示されていると判定した場合、Ｓ５０５の処理に進む。また、ＣＰＵ３４０は、画像形成装置１０１のバージョンの変更後の初回の起動処理が指示されていないと判定した場合、Ｓ５０３の処理に進む。
【００４６】
Ｓ５０３において、ＣＰＵ３４０は、画像形成装置１０１の設定のクリア後の初回の起動処理が指示されているか否かを判定する。ＣＰＵ３４０は、画像形成装置１０１の設定のクリア後の初回の起動処理が指示されていると判定した場合、Ｓ５０５の処理に進む。また、ＣＰＵ３４０は、画像形成装置１０１の設定のクリア後の初回の起動処理が指示されていないと判定した場合、Ｓ５０４の処理に進む。
Ｓ５０４において、ＣＰＵ３４０は、画像形成装置１０１の設定の変更後の初回の起動処理が指示されているか否かを判定する。ＣＰＵ３４０は、画像形成装置１０１の設定の変更後の初回の起動処理が指示されていると判定した場合、Ｓ５０５の処理に進む。また、ＣＰＵ３４０は、画像形成装置１０１の設定の変更後の初回の起動処理が指示されていないと判定した場合、図５の処理を終了する。
【００４７】
Ｓ５０５において、ＣＰＵ３４０は、Ｓ５０１〜Ｓ５０４の何れかで指示されたと判定した処理の開始前に、同期書込方式でのデータのＳＳＤ１０６への書込を禁止する処理を実行する。これにより、ＣＰＵ３４０は、同期書込方式でＳＳＤ１０６へのデータの書込が禁止されることを示す条件として、書込条件を調整する。ＣＰＵ３４０は、例えば、以下のようにして、同期書込方式でのデータのＳＳＤ１０６への書込を禁止する。
ＣＰＵ３４０は、例えば、ＵＮＩＸ、Ｌｉｎｕｘシステムで、ＳＳＤ１０６の各パーティションのファイルシステムをｍｏｕｎｔする際に、−ｏ  ｓｙｎｃオプションを使用せずに、非同期型でｍｏｕｎｔする。
次に、ＣＰＵ３４０は、フラグ、環境変数、ｗｒａｐしたｏｐｅｎ関数を用いて、Ｏ＿ＳＹＮＣオプションを利用せずに、非同期型で書込対象のファイルをオープンして、ファイルのデータを、メモリ３４１のキャッシュ領域に記憶する。例えば、Ｓ５０５において、ＣＰＵ３４０は、メモリ３４１に記憶されているフラグ情報を、同期書込方式が禁止されていることを示す情報に更新する。そして、ＣＰＵ３４０は、このフラグ情報の値が、同期書込方式が禁止されていることを示す情報である場合、Ｏ＿ＳＹＮＣオプションを利用せずにファイルをオープンする。
【００４８】
そして、ＣＰＵ３４０は、フラグ情報、環境変数、ｗｒａｐしたｓｙｎｃ、ｆｓｙｎｃ、ｆｄａｔａｓｙｎｃ関数等を用いて、同期処理の実行を無効化する。例えば、ＣＰＵ３４０は、メモリ３４１に記憶されるフラグ情報が、同期書込方式が禁止されていることを示す情報である場合、ｓｙｎｃ、ｆｓｙｎｃ、ｆｄａｔａｓｙｎｃ関数を呼ばないようにする。ＣＰＵ３４０は、メモリ３４１に記憶されるフラグ情報が、同期書込方式が禁止されていることを示す情報である場合、何の処理も行わずにリターンするようにラップしたｓｙｎｃ、ｆｓｙｎｃ、ｆｄａｔａｓｙｎｃ関数を呼ぶこととしてもよい。そして、ＣＰＵ３４０は、ｓｙｎｃ、ｆｓｙｎｃ、ｆｄａｔａｓｙｎｃ関数を用いずに、例えば、遅延書込方式で、キャッシュ領域のデータを、ブロックに含めて、ＳＳＤ１０６のＦＬＡＳＨメモリに記憶する。
以上のようにすることで、ＣＰＵ３４０は、同期書込方式でのＳＳＤ１０６へのデータの書込を禁止することができる。
また、ＣＰＵ３４０は、以下のような処理を行うこととしてもよい。即ち、ＣＰＵ３４０は、通常時に、ｓｙｎｃ、ｆｓｙｎｃ、ｆｄａｔａｓｙｎｃを、ｗｅａｋｓｙｎｂｏｌとして定義したオブジェクトをロードしておく。そして、ＣＰＵ３４０は、Ｓ５０５の処理の際に、ｓｙｎｃ、ｆｓｙｎｃ、ｆｄａｔａｓｙｎｃの空関数の実体を持つオブジェクトをロードする。これにより、ＣＰＵ３４０は、ｓｙｎｃ、ｆｓｙｎｃ、ｆｄａｔａｓｙｎｃ等のＡＰＩが呼ばれたとしても、ＳＳＤ１０６との同期処理を行わないようにすることができる。
【００４９】
Ｓ５０６において、ＣＰＵ３４０は、遅延書込方式でのデータの書込の間隔を現在の値よりも伸ばす処理を行う。これにより、ＣＰＵ３４０は、遅延書込方式において、より長い間隔で周期的に書込が行われることを示す条件として、書込条件を調整する。
遅延書込方式でのデータの書込の際、データの書込が行われる間隔がより長い方が、メモリ３４１のキャッシュ領域により多くのデータが記憶されることになる。これにより、実際にＳＳＤ１０６に書込まれるブロック中の書込対象のデータの割合が増大することとなる。これにより、不要なデータの書込量が低減し、ＳＳＤ１０６に書込まれるデータの総容量を低減することができる。そこで、本実施形態では、ＣＰＵ３４０は、Ｓ５０６の処理を実行することとする。
ＣＰＵ３４０は、例えば、以下のようにして、遅延書込方式でのデータのＳＳＤ１０６への書込の間隔を伸ばす。例えば、遅延書込方式でのデータのＳＳＤ１０６への書込の間隔が５秒間隔であるとする。ＣＰＵ３４０は、例えば、Ｌｉｎｕｘにおいて、ｄｉｒｔｙ＿ｗｒｉｔｅｂａｃｋ＿ｃｅｎｔｉｓｅｃｓを、設定された値（例えば、１０、上限の３０等）に設定することで、遅延書込方式での書込の間隔を設定された値（１０秒、３０秒）にすることができる。
【００５０】
Ｓ５０７において、ＣＰＵ３４０は、Ｓ５０１〜Ｓ５０４の何れかで指示されたと判定した処理を実行する。この際に、ＣＰＵ３４０は、Ｓ５０５、Ｓ５０６で調整された書込条件のもとで、ＳＳＤ１０６へのデータの書込を行うこととなる。
ＣＰＵ３４０は、Ｓ５０７の処理（Ｓ５０１〜Ｓ５０４の何れかで指示されたと判定した処理）の終了後に、以下のＳ５０８、Ｓ５０９で、書込条件を、元の条件に復元する処理を行う。
Ｓ５０８において、ＣＰＵ３４０は、Ｓ５０７の処理（Ｓ５０１〜Ｓ５０４の何れかで指示されたと判定した処理）の終了後に、Ｓ５０６で変更された遅延書込方式での書込の間隔を変更前に戻す。
ＣＰＵ３４０は、例えば、Ｓ５０６の処理と逆の処理を行う。即ち、ＣＰＵ３４０は、例えば、Ｌｉｎｕｘなら、／ｐｒｏｃ／ｓｙｓ／ｖｍ／ｄｉｒｔｙ＿ｗｒｉｔｅｂａｃｋ＿ｃｅｎｔｉｓｅｃｓを、ｄｅｆａｕｌｔの５に設定する処理を行う。
【００５１】
Ｓ５０９において、ＣＰＵ３４０は、Ｓ５０５で禁止された同期書込方式でのデータの書込を許可する。例えば、ＣＰＵ３４０は、メモリ３４１に記憶されているフラグ情報を、同期書込方式でのデータの書込が許可されることを示す情報に更新する。
ＣＰＵ３４０は、Ｓ５０５の処理と逆の処理を行う。即ち、ＣＰＵ３４０は、まず、ｓｙｎｃオプション付きで、ＳＳＤ１０６の各パーティションのファイルシステムをｍｏｕｎｔする。次に、ＣＰＵ３４０は、フラグ情報が同期書込方式でのデータの書込が許可されることを示す情報とすることで、Ｏ＿ＳＹＮＣオプションを用いて、書込対象のファイルをオープンして、データをキャッシュ領域に記憶することを許可する。そして、ＣＰＵ３４０は、フラグ情報が同期書込方式でのデータの書込が許可されることを示す情報とすることで、ｓｙｎｃ、ｆｓｙｎｃ、ｆｄａｔａｓｙｎｃ関数の利用を許可する。
【００５２】
本実施形態では、ＣＰＵ３４０は、ＳＳＤ１０６へのデータの書込総容量を低減させるための処理として、Ｓ５０５とＳ５０６との処理を行うこととした。しかし、画像形成装置１０１において、元々、同期書込方式が無効であり、遅延書込方式での書込が行われているような場合がある。このような場合、Ｓ５０５の処理を実行する意味がない。そのため、そのような場合、ＣＰＵ３４０は、Ｓ５０６の処理のみを実行することとしてもよい。また、その場合、ＣＰＵ３４０は、Ｓ５０８の処理を行い、Ｓ５０９の処理を行わないこととしてもよい。
また、例えば、Ｓ５０１でファームウェアの更新処理が指示されたと判定され、更新用のファームウェアの内容が、サイズが１ＫＢの複数のファイルであるような場合、ＣＰＵ３４０は、Ｓ５０５、Ｓ５０６の処理の代わりに、以下のような処理を行ってもよい。即ち、ＣＰＵ３４０は、Ｓ５０７の処理の前に、ＳＳＤ１０６に対するデータの書込の単位であるブロックのサイズを、４ＫＢから、１ＫＢに変更する処理を行ってもよい。これにより、ＣＰＵ３４０は、同期書込方式で、データを書込んだとしても、ブロックのサイズと実際のファイルのサイズとの差を小さくすることで、書込むことが不要なデータを削減することができる。結果として、ＣＰＵ３４０は、ＳＳＤ１０６へ書込まれるデータの総容量を低減することができる。その場合、ＣＰＵ３４０は、Ｓ５０７の処理の後で、ブロックのサイズを元に戻す処理を行ってもよい。
【００５３】
また、本実施形態では、ＣＰＵ３４０は、ファームウェアの更新処理等の特定の処理が指示された際に、Ｓ５０５、Ｓ５０６（併せて、Ｓ５０８、Ｓ５０９）の処理を行うこととした。しかし、ＣＰＵ３４０は、指示された処理が、予め定められたサイズ以下のサイズのデータを、予め定められた数以上の個数、ＳＳＤ１０６に書込む処理であるか否かに応じて、Ｓ５０５、Ｓ５０６（併せて、Ｓ５０８、Ｓ５０９）の処理を行か否かを決定してもよい。
また、更新されるファームウェアが、プリンタ装置１０４、スキャナ装置１０２、フィニッシャ装置１５０、ＦＡＸ装置１０７等の外部装置のファームウェア更新のみの場合がある。このような場合、更新用のファームウェアに含まれる書込対象となるファイルの数は、他のファームウェア更新（例えば、ＳＳＤ１０６のファームウェア更新）の場合に比べて、少ない場合がある。このような場合、ＣＰＵ３４０は、同期書込方式で更新用のファームウェアをＳＳＤ１０６に書込んだとしても、ＳＳＤ１０６への書込データの総容量の増大の程度は、軽微となる。そこで、ＣＰＵ３４０は、指示されている処理に対応するＳＳＤ１０６への書込対象のデータの数に基づいて、Ｓ５０５、Ｓ５０６（併せて、Ｓ５０８、Ｓ５０９）の処理を実行するか否かを決定してもよい。ＣＰＵ３４０は、例えば、指示された処理に対応する書込対象のデータの数が、予め定められた閾値以上である場合に、Ｓ５０５、Ｓ５０６（併せて、Ｓ５０８、Ｓ５０９）の処理を実行することを決定してもよい。その場合、ＣＰＵ３４０は、指示された処理に対応する書込対象のデータの数が、予め定められた閾値未満である場合、Ｓ５０５、Ｓ５０６（併せて、Ｓ５０８、Ｓ５０９）の処理を実行しないこととなる。
【００５４】
また、本実施形態では、ＣＰＵ３４０は、ファームウェアの更新処理が指示された場合、Ｓ５０５、Ｓ５０６（併せて、Ｓ５０８、Ｓ５０９）の処理を実行することとした。ファームウェアの更新処理には、ファームウェアの受信処理、ファームウェアのデータの更新処理、更新後の初回起動の際の初期化処理等の一連の処理が含まれる。この場合、ＣＰＵ３４０は、ファームウェアの更新処理に含まれる各処理の開始と終了とに併せて、Ｓ５０５〜Ｓ５０９の処理を実行してもよい。また、ＣＰＵ３４０は、ファームウェアの更新処理に含まれる一連の複数の処理の開始と終了とに併せて、Ｓ５０５〜Ｓ５０９の処理を実行してもよい。
また、ファームウェアの受信の際、ＳＳＤ１０６へ保存するデータ数が、ファームウェア更新の際よりも少ない場合がある。そこで、ＣＰＵ３４０は、例えば、ファームウェア受信の際には、Ｓ５０５、Ｓ５０６（併せて、Ｓ５０８、Ｓ５０９）の処理を実行しないこととしてもよい。そして、ＣＰＵ３４０は、ファームウェア更新の際に、Ｓ５０５、Ｓ５０６（併せて、Ｓ５０８、Ｓ５０９）の処理を実行することとしてもよい。
【００５５】
また、本実施形態では、ＣＰＵ３４０は、特定の処理の開始の直前にＳ５０５、Ｓ５０６の処理を行うこととしてもよいし、特定の処理の開始と、特定の処理の前に実行された他の処理の終了との間に行ってもよい。また、ＣＰＵ３４０は、特定の処理の終了の直後にＳ５０８、Ｓ５０９の処理を行うこととしてもよいし、特定の処理の終了と、特定の処理の後に実行される他の処理の開始との間に行ってもよい。
また、ＣＰＵ３４０は、例えば、ファームウェア受信処理、ファームウェア更新処理、初回起動時の展開や更新処理、の各々の処理の前後や間に、画像形成装置１０１を再起動する場合がある。そのような場合、ファームウェア更新前／後の、再起動やＳＳＤパーティションのマウントを、トリガにして、Ｓ５０５、Ｓ５０６の処理を実行することとしてもよい。
【００５６】
以上、本実施形態では、情報処理システムは、ＳＳＤ１０６へのデータの書込の処理を含む特定の処理の開始前に、ＳＳＤ１０６へ実際に書込まれるデータの容量を低減させるように、書込条件を調整した。これにより、情報処理システムは、特定の処理により、実際にＳＳＤ１０６に書込まれるデータの総容量を低減できる。しかし、例えば、調整された書込条件で、データの書込の速度が遅くなり、メモリ３４１に記憶されるデータの量も増大し、電源瞬断により消滅しうるデータのサイズが増大する場合が生じうる。そこで、情報処理システムは、特定の処理の終了後に、書込条件を元の条件に復元した。これにより、特定の処理の終了後において、電源瞬断により消滅しうるデータのサイズが増大することを防止することができる。
【００５７】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５８】
例えば、上述した情報処理システムの機能構成の一部又は全てをハードウェアとして画像形成装置１０１に実装してもよい。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。上述した各実施形態を任意に組み合わせてもよい。
【符号の説明】
【００５９】
１０１  画像形成装置
１０６  ＳＳＤ
３４０  ＣＰＵ
【図１】
2019145027.tif 000003
【図２】
2019145027.tif 000004
【図３】
2019145027.tif 000005
【図４】
2019145027.tif 000006
【図５】
2019145027.tif 000007