JP2019145027A - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2019145027A
JP2019145027A JP2018031106A JP2018031106A JP2019145027A JP 2019145027 A JP2019145027 A JP 2019145027A JP 2018031106 A JP2018031106 A JP 2018031106A JP 2018031106 A JP2018031106 A JP 2018031106A JP 2019145027 A JP2019145027 A JP 2019145027A
Authority
JP
Japan
Prior art keywords
data
writing
storage unit
written
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018031106A
Other languages
English (en)
Other versions
JP2019145027A5 (ja
JP7102166B2 (ja
Inventor
篤志 挽地
Atsushi Hikichi
篤志 挽地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018031106A priority Critical patent/JP7102166B2/ja
Priority to US16/275,158 priority patent/US11392294B2/en
Priority to CN201910143748.XA priority patent/CN110191247B/zh
Publication of JP2019145027A publication Critical patent/JP2019145027A/ja
Publication of JP2019145027A5 publication Critical patent/JP2019145027A5/ja
Application granted granted Critical
Publication of JP7102166B2 publication Critical patent/JP7102166B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J29/00Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
    • B41J29/38Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J3/00Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed
    • B41J3/44Typewriters or selective printing mechanisms having dual functions or combined with, or coupled to, apparatus performing other functions
    • B41J3/445Printers integrated in other types of apparatus, e.g. printers integrated in cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Retry When Errors Occur (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】電源瞬断で消える可能性のあるデータのサイズの増大を防止しつつ、書込まれるデータの合計のサイズを低減する情報処理装置、情報処理方法を提供する。【解決手段】画像形成装置における処理方法であって、第1の記憶部へのデータの書込の処理を含む予め定められた処理の開始前に、第1の記憶部へ実際に書込まれるデータの容量を低減させるように、第1の記憶部へのデータの書込に関する条件である書込条件を調整し、予め定められた処理の終了後に、書込条件を、調整される前の条件に復元する。【選択図】図5

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。
近年、ストレージに用いられる不揮発記憶装置は、駆動機構を持つハードディスクドライブ(HDD)から、半導体素子によって構成されたFLASHメモリを用いたソリッドステートドライブ(SSD)やeMMC等へ、置き換わってきている。以下では、SSDやeMMC等の半導体素子によって構成されたFLASHメモリを用いた記憶装置を、単にSSDとする。HDDは、ヘッドやスピンドルモータ等の機構部の動作回数に寿命があるが、書込の回数やサイズに上限はない。それに対してSSDは、機構部が無いので動作回数に寿命は無いが、書込単位がブロックという所定のサイズのデータ単位で行われ、総書込データサイズに上限がある。つまり、HDDとSSDとは、デバイスの動作特性が異なっている。そのため、情報機器は、搭載された記憶装置の動作特定に応じた制御を行う必要がある。SSDを搭載した情報機器は、SSDの動作特性に応じた制御を行う必要がある。
例えば、特許文献1には、SSDに搭載されたファームウェアにおいて、SSDキャッシュに所定のサイズ以上にデータがたまるまで、FLASHメモリのセルへの書込を遅延する技術が開示されている。即ち、SSDファームウェアは、キャッシュにたまったデータを含むブロックをFLASHメモリに書込むこととなる。これにより、1回の書込で実際に書込まれるブロック内に占める書込対象のデータの割合を向上させ、FLASHメモリへの書込回数を減らすことができる。
特開2015−197832号公報
しかし、特許文献1の技術では、ファームウェアが、所定のサイズ以上にデータがキャッシュ等にたまるまで書込を遅延すると、SSDへ到達したデータを一定時間以内に書込ことができないこととなる。これにより、電源瞬断が起こった際に、所定のサイズ未満のデータが消える可能性がある。
電源瞬断で消える可能性のあるデータサイズを小さくするには、アプリケーションがSSDへの書込を指示したタイミングに同期して、SSD内のFLASHメモリのセルへデータを書込する方法がある。また、書込対象のデータがキャッシュ等に所定のサイズ以上たまる前であっても一定時間ごとにFLASHメモリのセルへ書込する方法がある。
しかし、書込の指示と同期しての書込等により、小さなデータを書込むと、FLASHメモリへの書込単位がブロックごとなので、実際に書込むデータサイズが増えてしまう。即ち、書込対象のデータがブロックのサイズよりも小さくても、ブロックのサイズのデータが必ず書込まれることとなる。これにより、FLASHメモリに書込まれるデータの合計のサイズが増大してしまい、SSDの寿命が短縮されてしまう。
そこで、SSDの動作特性に応じた制御を行うために、電源瞬断で消える可能性のあるデータのサイズの増大を防止しつつ、書込まれるデータの合計のサイズを低減したいという要望があった。
本発明の情報処理装置は、第1の記憶部へのデータの書込の処理を含む予め定められた処理の開始前に、前記第1の記憶部へ実際に書込まれるデータの容量を低減させるように、前記第1の記憶部へのデータの書込に関する条件である書込条件を調整する調整手段と、前記予め定められた処理の終了後に、前記書込条件を、前記調整手段により調整される前の条件に復元する復元手段と、を有する。
本発明によれば、電源瞬断で消える可能性のあるデータのサイズの増大を防止しつつ、書込まれるデータの合計のサイズを低減することができる。
情報処理システムのシステム構成等の一例を示す図である。 プリンタ装置の一例の詳細を説明する図である。 コントローラの一例の詳細を説明する図である。 画像形成装置の電源の一例の詳細を説明する図である。 画像形成装置の処理の一例を示すフローチャートである。
以下に、本発明の好ましい実施の形態を、図面に基づいて詳細に説明する。
<実施形態1>
(情報処理システムの詳細)
図1は、本実施形態の情報処理システムのシステム構成等の一例を示す図である。情報処理システムは、画像形成装置101、コンピュータ109、フィニッシャ装置150を含む。画像形成装置101、コンピュータ109は、LAN108を介して、相互に通信可能に接続されている。本実施形態では、画像形成装置101は、プリント機能、スキャナ機能、データ通信機能を含む複合機であるとする。画像形成装置101は、情報処理装置の一例である。コンピュータ109は、LAN108を介して、画像形成装置101に指示を行ったり、画像形成装置101から情報を取得したりするパーソナルコンピュータ、サーバ装置、タブレット装置等の情報処理装置である。フィニッシャ装置150は、画像形成装置101と接続され、画像形成装置101から出力された紙デバイスに対して、排紙、ソート、ステープル、パンチ、裁断等の加工を施す装置である。
画像形成装置101は、LAN108を介して、コンピュータ109からジョブを受信することができる。画像形成装置101は、1以上の複数のコンピュータと接続されることとしてもよい。
画像形成装置101のハードウェア構成について説明する。画像形成装置101は、スキャナ装置102、コントローラ103、プリンタ装置104、操作部105、SSD106、FAX装置107、電源スイッチ110を含む。
スキャナ装置102は、原稿から光学的に画像を読み取りデジタル画像に変換するスキャナ装置である。プリンタ装置104は、デジタル画像を印刷媒体である紙デバイスやフィルム等に出力するプリンタ装置である。操作部105は、ユーザからの画像形成装置101に対する情報の入力や指示、処理状態を示す情報等の表示等に用いられるタッチパネルやハードキーを含む操作部である。
SSD106は、FLASHメモリを用いたSSD、eMMC等の不揮発記憶装置である。SSD106は、各種プログラム、印刷対象のデジタル画像・スキャンされた画像等の各種画像、各種設定情報等を記憶する。SSD106は、第1の記憶部の一例である。FAX装置107は、電話回線等にデジタル画像を送受信するFAX装置である。コントローラ103は、スキャナ装置102、プリンタ装置104、操作部105、SSD106、FAX装置107と接続され、各要素に指示を出すことで、ジョブを実行する。コントローラ103の詳細については、図3で後述する。
画像形成装置101は、LAN108を介して、コンピュータ109からデジタル画像の入出力、ジョブの発行や機器の指示等を受付けることができる。スキャナ装置102は、原稿束を自動的に逐次入れ替えることが可能な原稿給紙ユニット121、原稿給紙ユニット121から給紙された原稿を光学スキャンしデジタル画像に変換することが可能なスキャナユニット122を含む。また、スキャナユニット122は、デジタル画像に変換した画像データを、コントローラ103に送信する。
プリンタ装置104は、紙束から一枚ずつ逐次給紙可能な給紙ユニット142、給紙ユニット142から給紙された紙に画像データを印刷することが可能なマーキングユニット141を含む。また、プリンタ装置104は、マーキングユニット141により印刷された紙を排紙することが可能な排紙ユニット143を含む。フィニッシャ装置150は、画像形成装置101のプリンタ装置104の排紙ユニット143から出力された紙デバイスに対して、排紙、ソート、ステープル、パンチ、裁断等の加工を施す。
電源スイッチ110は、コントローラ103に接続された画像形成装置101の電源のオンオフの切り替えに用いられるスイッチである。電源スイッチ110がオンになると、少なくとも、図4で後述する電源制御部303、操作部105、コントローラ103のメインボードの一部に対して給電されることとなる。また、電源スイッチ110がオフになった場合、即時に画像形成装置101への給電が停止されるわけではない。この場合、ソフトウェアやハードウェアに係る所定の終了処理を待って、電源制御部303の一部等の電源スイッチ110がONになった際に処理を行う必要がある部分以外の部分への給電が停止されることとなる。
(画像形成装置の機能)
ここで、画像形成装置101の実行可能なジョブ(機能)の一例を説明する。
画像形成装置101は、スキャナ装置102から読み込んだ画像をSSD106に記録し、プリンタ装置104を介して印刷を行なう複写機能を有する。
画像形成装置101は、スキャナ装置102から読み込んだ画像を、LAN108を介して、コンピュータ109等の外部の装置に送信する画像送信機能を有する。
画像形成装置101は、スキャナ装置102から読み込んだ画像をSSD106に記録し、必要に応じて画像送信や画像印刷を行なう画像保存機能を有する。
画像形成装置101は、コンピュータ109から送信された、例えばページ記述言語等の情報を解析し、プリンタ装置104を介して、送信された情報に対応する画像を印刷する画像印刷機能を有する。
操作部105は、コントローラ103に接続され、LCDタッチパネルや、節電ボタン、コピーボタン、キャンセルボタン、リセットボタン、テンキー、ユーザモードキー等を含み、画像入出力システムを操作するためのユーザI/Fを提供する。
(プリンタ装置の詳細)
図2は、プリンタ装置104の一例の詳細を説明する図である。図2の画像は、プリンタ装置104の全体の断面図を示す。プリンタ装置104は、プロセスユニット151k、プロセスユニット151y、プロセスユニット151m、プロセスユニット151cを含む。
プロセスユニット151kは、用紙等の印刷媒体へのブラックの着色に用いられるプロセスユニットである。プロセスユニット151yは、用紙等の印刷媒体へのイエローの着色に用いられるプロセスユニットである。プロセスユニット151mは、用紙等の印刷媒体へのマゼンタの着色に用いられるプロセスユニットである。プロセスユニット151cは、用紙等の印刷媒体へのシアンの着色に用いられるプロセスユニットである。以下では、プロセスユニット151k、プロセスユニット151y、プロセスユニット151m、プロセスユニット151cを、プロセスユニット151と総称する。
プロセスユニット151kは、感光ドラム152k、帯電ローラ153k、現像器155k、補助帯電ブラシ159kを含む。感光ドラム152kは、プロセスユニット151kの中央部に配置されており、ドラムモータによって回転駆動される。帯電ローラ153kは、高圧を印加して感光ドラム152kの表面を一様に帯電させる。現像器155kは、トナーとキャリアとからなる二成分現像剤によって、静電潜像に応じた可視トナー像を感光ドラム上に形成する。補助帯電ブラシ159kは、一次転写ローラで転写しきれなかった転写残トナーが一様な電荷を持つよう帯電させる。
レーザスキャナユニット154kは、レーザダイオードから変調出力されたレーザを、ポリゴンミラー回転体を使用して長手方向に走査するレーザスキャナユニットである。レーザスキャナユニット154kは、一様に帯電された感光ドラム152k上に入力画像情報に従ってレーザ露光を行い、静電潜像を形成する。
トナーボトル156kは、トナーが充填されたボトルであり、現像器155kに対してトナーを供給する。一次転写ローラ157kは、イエロー、マゼンタ、シアン、ブラック各色を逐次重ね合わせる為に無端ベルト状部材である中間転写体158に対して感光ドラムから一次転写するためのローラである。
プロセスユニット151y、151m、151cそれぞれは、感光ドラム152k、帯電ローラ153k、現像器155k、補助帯電ブラシ159kと同様の感光ドラム、帯電ローラ、現像器、補助帯電ブラシを含む。また、プロセスユニット151y、151m、151cそれぞれの周囲には、レーザスキャナユニット154k、トナーボトル156k、一次転写ローラ157kと同様のレーザスキャナユニット、トナーボトル、一次転写ローラが配置されている。
中間転写体158に一次転写されたトナー像は、二次転写ローラ160によって用紙上に二次転写される。二次転写ローラ160で転写しきれなかった残トナーや、用紙上に転写することを意図しない画質調整用のトナー像は、中間転写体クリーナ161によってクリーニングされる。パターン濃度検知センサ162は、中間転写体上に作像されたパターンの濃淡変化を検出するセンサである。印刷媒体に印刷される画像の画質の調整は、パターン濃度検知センサ162を介して検出された結果を、現像器155やレーザスキャナユニット154にフィードバックすることで実現される。
印刷媒体である用紙(シート)は、用紙カセット163に収納されており、プリンタ装置104によって用紙にトナー像が転写される際に、トナー像と用紙との先端が一致するようなタイミングで、給紙ローラ164によって給紙される。その後、用紙は、レジストローラ165によって斜行を補正された後、二次転写ローラ160に送られる。
二次転写ローラ160でトナー像が転写された後、定着フィルムユニット182及び加圧ローラ181からなる定着器180によって、用紙にトナーが熱定着される。その後、用紙は、排紙フラッパ169によって搬送方向が切り替えられる。
用紙の片面に画像形成を行う場合、用紙は、排紙部174に搬送される。
用紙の両面に画像形成が行われる場合、用紙は、両面反転パス170に搬送される。両面反転パス170に搬送された用紙は、反転ローラ171及び反転フラッパ172により、両面搬送パス173を経由し、レジストローラ165に搬送され、用紙裏面に画像形成された後、排紙部174に搬送される。
(コントローラの詳細)
図3は、コントローラ103の一例の詳細を説明する図である。図3を用いて、コントローラ103のハードウェア構成等を説明する。
コントローラ103は、メインボード200、サブボード220を含む。メインボード200は、CPU340、ブートプログラムが含まれるブートROM202、CPU340のワークメモリとして機能するRandom Access Memory(RAM)等の記憶装置であるメモリ341を含む。メモリ341は、第2の記憶部の一例である。
また、メインボード200は、外部バスとのブリッジ機能を持つバスコントローラ204、電源断された場合でも記憶されたデータが消えない不揮発性メモリ205、ストレージ装置を制御するディスクコントローラ206を含む。不揮発性メモリ205は、例えば、Read Only Memory(ROM)等の記憶装置である。
また、メインボード200は、半導体デバイスで構成された記憶装置であるSSD等のフラッシュディスク207、USBを制御することが可能なUSBコントローラ208を含む。メインボード200は、USBコントローラ208を介して、USBメモリ209と接続される。メインボード200は、ディスクコントローラ206を介して、SSD106と接続される。メインボード200は、操作部105と接続され、操作部105を介して入力された情報や指示を受け付けることができる。
また、メインボード200は、各要素からの割り込みや各要素に対する電力供給を制御する電源制御部303(例えば、CPLD、結合プログラマブル論理回路等)を含む。CPU340は、電源制御部303と接続されている。
また、メインボード200は、ネットワークコントローラ211、リアルタイムクロック(RTC)212を含む。メインボード200は、電源制御部303を介して、プリンタ装置104、フィニッシャ装置150、スキャナ装置102、FAX装置107と接続されている。また、メインボード200は、サブボード220を介しても、プリンタ装置104、フィニッシャ装置150、スキャナ装置102、FAX装置107と接続されている。CPU340は、USBコントローラ208と接続されている。また、CPU340は、ソフトスイッチを有する操作部105と接続されている。
サブボード220は、サブボード220全体を制御するCPU221、CPU221のワークメモリとして機能するRAM等の記憶装置であるメモリ223、外部バスとのブリッジ機能を持つバスコントローラ224を含む。また、サブボード220は、電源断された場合でも、記憶されている情報が消えないROM等の記憶装置である不揮発性メモリ225を含む。
また、サブボード220は、リアルタイムなデジタル画像処理に用いられる演算装置である画像処理プロセッサ227、接続されているデバイスの制御に用いられるデバイスコントローラ226を含む。CPU221は、画像処理プロセッサ227、デバイスコントローラ226を介して、コントローラ103の外部のデバイスであるスキャナ装置102、プリンタ装置104の制御を行う。CPU221は、例えば、画像処理プロセッサ227、デバイスコントローラ226を介して、スキャナ装置102、プリンタ装置104との間で、デジタル画像データの受け渡しを行なう。プリンタ装置104から排紙された用紙(紙デバイス)は、フィニッシャ装置150で加工される。CPU221は、FAX装置107に対して、直接的な制御を行なう。
コントローラ103のハードウェア構成は、図3の構成に限定されない。例えば、コントローラ103は、CPU340、CPU221用の、チップセット、バスブリッジ、クロックジェネレータ等のハードウェアを含むこととしてもよい。
コントローラ103の処理について、用紙への画像複写を例に説明する。
ユーザが、操作部105を介して、CPU340に対して、用紙への画像複写を指示すると、CPU340は、CPU221を介して、スキャナ装置102に画像読み取り命令を送信する。スキャナ装置102は、紙原稿を光学スキャンし、デジタル画像データに変換してデバイスコントローラ226を介して、画像処理プロセッサ227に入力する。画像処理プロセッサ227は、CPU221を介して、入力されたデジタル画像データを、メモリ223にDMA転送し、一時的に保存する。
CPU340は、CPU221を介して、デジタル画像データがメモリ223に一定量又は全て保存されたことを確認すると、CPU221を介して、プリンタ装置104に画像出力指示を送信する。
CPU221は、画像処理プロセッサ227に、メモリ223に一時的に保存されている画像データのアドレスを通知する。メモリ223上の画像データは、プリンタ装置104からの同期信号に従って、画像処理プロセッサ227とデバイスコントローラ226とを介してプリンタ装置104に送信される。
プリンタ装置104は、印刷媒体である用紙にデジタル画像データを印刷する。
複数部の印刷が行なわれる場合、CPU340は、メモリ223に一時的に保存された画像データを、SSD106に保存する。これにより、2部目以降は、コントローラ103は、スキャナ装置102から画像をもらわなくても、SSD106やメモリ223から、プリンタ装置104に画像を送ることができる。
CPU340が、不揮発性メモリ205、SSD106等に記憶されたプログラムにしたがって処理を実行することで、(画像形成装置の機能)で説明した画像形成装置101の機能、図5のフローチャートの処理等が実現される。
(電源構成)
本実施形態の画像形成装置101の電源の詳細について説明する。
図4は、画像形成装置101の電源の一例の詳細を説明する図である。以下、画像形成装置101における、コントローラ103、プリンタ装置104、電源制御部303、電源301との関係について、図4を用いて説明する。電源301は、画像形成装置101に給電する商用電源等の電源である。
図4の例では、電源制御部303には、第1の電源ラインである電源ラインJ302経由で、電源301から常時電源が供給されている。電源スイッチ110がオフに切り替えられた際でも、電源制御部303には、通電されており、電源制御部303による電力制御が行われる。
電源制御部303は、所望の処理を実行するためのプログラムにしたがって処理を実行する。電源制御部303の処理を説明する。電源制御部303は、第1の電源制御信号であるIO信号V_ON(電源制御信号307)を受信した際にリレースイッチ308を切替えることで、電源301から第2の電源ラインである電源ラインV309経由のコントローラ103への給電を制御する。また、電源制御部303は、CPU340からタイマ起動の際の処理の指示を受付け、タイマ起動の際には、CPU340によって指示された処理を実行する。
また、電源制御部303は、第2の電源制御信号であるIO信号P_ON(電源制御信号310)によって、リレースイッチ311を切替える。その結果、電源301から第3の電源ラインである電源ラインP312経由でプリンタ制御部327のプリンタ制御部327への給電が制御される。プリンタ制御部327は、プリンタ装置104のロジック系統回路であり、CPU320とメモリ326を含む。
また、電源制御部303は、第2の電源制御信号のサブ信号であるIO信号Q_ON(電源制御信号313)によって、リレースイッチ315を切り替える。その結果、電源301から第3の電源ラインのサブラインである電源ラインQ316経由でプリンタ装置104の印刷部328への給電が制御される。印刷部328は、プリンタ装置104の高負荷系統装置であり、マーキングユニット141の定着ユニット321〜324、FAN325を含む。また、印刷部328は、前述の機構部だけでなく、図2で説明したプリンタ装置104の各機構部を含む。
電源ラインQ316は、電源ラインP312のサブラインである必要はなく、電源301から引かれることとしてもよい。また、リレースイッチ315は、電源制御部303により制御されるが、CPU340等により制御されることとしてもよい。また、印刷部328は、給紙ユニット142やマーキングユニット141や排紙ユニット143を含むこととしてもよい。
また、電源制御部303は、CPU340の指示に基づいて、所定のIO信号を動作させる。電源制御部303によって動作させられうるIO信号の1つは、プリンタ装置104のCPU320へ接続されたDCON_LIVEWAKE信号305である。
この信号がアサート(有効に)された状態でプリンタ装置104の電源が投入されると、プリンタ装置104は、可動部を制御したり電力を使ったりする特定の処理を行わずに復帰する。この特定の処理は、例えば、モータ、ローラ、ポリゴン等の回転動作や、ドラムである定着ユニット321〜324の温調やFAN325による排熱処理等の処理である。スキャナ装置102は、プリンタ装置104と同様に、電源制御部303により電源の制御である。即ち、スキャナ装置102についても、電源制御部303によりプリンタ装置104と同様の電源制御が行われる。
また、図4のようなブロックごとの給電は、例えば、リレースイッチ308を2系統で構成し、スリープ状態では、電源をオフするブロックにつながるリレースイッチのみをオフとし、他方をオンとしたままとすること等で実現できる。スリープ状態とは、画像形成装置101がとりうる省電力状態の1つである。CPU340は、例えば、メモリ341等に画像形成装置101の状態を示す情報を記憶しているとする。そのため、CPU340は、例えば、メモリ341等に記憶されたその情報を更新し、各状態に対応する処理を行うことで、画像形成装置101の状態を切り替える。
シャットダウン状態では両方の系統のリレースイッチがオフになることとする。シャットダウン状態とは、画像形成装置101の取りうる状態の1つであり、電源がオフされていることを示す状態である。その場合には、電源制御信号は、二値ではなく、通電状態に応じた多値制御信号となる。スリープ状態やシャットダウン状態等を含む各電力状態は、このような制御により実現できる。
より具体的には、電源制御部303は、第3の電源制御信号であるIO信号N_ON(電源制御信号360)によって、リレースイッチ361を切り替えることで、電源301から第3の電源ラインである電源ラインN362経由でNIC350への給電を制御する。コントローラ103に含まれるNIC350は、電源301から個別に給電されている。電源ラインN362は、他の非常夜電源と異なり、通常時だけでなく、スリープ時にも給電され、ネットワーク起床を可能にする。また、シャットダウン時には、Wake On LAN等の設定が有効でない限りは、NIC350には給電されない。リレースイッチ361を経由した電源ラインN362は、オフ状態以外は常に給電状態である。
(電源制御部による電源監視1:起動時の給電)
続いて、画像形成装置101の起動の際の電源制御処理について説明する。操作者が画像形成装置101を使用する場合は、電源スイッチ110をONにする。すると電源制御部303は、電源ラインJ302からの通電に基づいて、画像形成装置101の電源のONを検知する。そして、電源制御部303は、電源スイッチ制御信号(307、310、313)を発することで、リレースイッチ308、311をそれぞれオンにして、電源301からの電源電力を装置全体に供給させる。電源制御部303は、システム全体に電源ON時に応じた電力供給、より具体的にはコントローラ103、プリンタ装置104、スキャナ装置102に各DC電源供給径路を介して通電を行う。そして、プリンタ装置104、スキャナ装置102それぞれのCPUは、初期化動作を開始する。
電源スイッチがONにされた際の処理が行われると、コントローラ103のCPU340は、画像形成装置101のハードウェアの初期化を行う。ハードウェアの初期化にかかる処理には、例えば、レジスタ初期化、割り込み初期化、カーネル起動時のデバイスドライバの登録、操作部105の初期化等の処理がある。次に、CPU340は、画像形成装置101のソフトウェアの初期化を行う。画像形成装置101のソフトウェアの初期化にかかる処理には、例えば、各ライブラリの初期化ルーチンの呼び出し、プロセスやスレッドの起動、プリンタ装置104やスキャナ装置102と通信を行うソフトウェアサービスの起動、操作部105の描画等がある。そして、CPU340は、画像形成装置101をスタンバイ状態に移行させる。スタンバイ状態とは、画像形成装置101における省電力状態の1つであり、指示の受付を待機している状態である。
(電源制御部による電源監視2:通常状態の給電)
続いて、画像形成装置101の、プリンタ装置104やスキャナ装置102が使われていない通常状態の給電について、説明する。通常状態とは、画像形成装置101の取りうる状態の1つである。通常状態は、画像形成装置101の全てのユニットに給電されている状態だけでない。通常状態であっても、例えば、印刷等が行われていない際にプリンタ装置104に給電されない場合もある。また、通常状態であっても、操作部105が点灯しておらず、ユーザが画像形成装置101の前にいない場合に、スキャナ装置102に対して、給電されない場合もある。
また、画像形成装置101の状態には、例えば、プリンタ装置104、スキャナ装置102に電源が供給されている場合に動作を待機する動作待ち状態がある。動作待ち状態では、印刷のためのモータやポリゴンを動作させなかったり、印刷のための転写ユニットを温調させなかったり、読取のためのホームポジション検知を動作させなかったりする。
(電源制御部の電源監視3:PDL印刷時の給電)
続いて、画像形成装置101の、PDL印刷状態でプリンタ装置104やスキャナ装置102を使う状態の給電について、説明する。画像印刷機能を用いて、プリンタ装置104の電源ONと電源OFFについて説明する。
CPU340は、コンピュータ109からLAN108を経由して、メモリ341にデータを受信する。CPU340は、受信したデータを解析し、画像印刷機能を実行する場合は、印刷ジョブを生成する。
CPU340は、電源制御部303に通知して、電源制御信号310を介してリレースイッチ311を切り替えて、電源301から電源ラインP312経由で、プリンタ装置104に給電させる。CPU340は、プリンタ装置104に給電が開始され使用可能になると、プリンタ装置104を介して印刷ジョブを実行する。CPU340は、メモリ341、CPU221へ印刷ジョブにかかるデータを送信する。CPU221は、プリンタ装置104へ受信したデータを送信する。プリンタ装置104は、受信したデータを印刷し、印刷が完了すると、結果をCPU340へ通知する。CPU340は、印刷が完了すると、電源制御部303を介して、電源制御信号310によりリレースイッチ311をオフにし、プリンタ装置104の電源をOFFする。
(電源制御部の電源監視4:スリープ状態に移行の際の給電)
コントローラ103のスリープ状態への移行処理について、説明する。スタンバイ状態が一定時間続くと、CPU340は、画像形成装置101をスリープ状態に遷移させる。CPU340は、電源制御部303にスリープ状態への移行を通知する。そして、電源制御部303は、コントローラ103への給電を変更する。ブロックごとの給電は、例えば、リレースイッチ308を2系統で構成し、スリープ状態では、電源をオフするブロックにつながるリレースイッチのみをオフとし、他方をオンとしたままとすること等により実現される。
(電源制御部の電源監視5:スリープ状態における時の給電)
画像形成装置101のスリープ状態における給電処理について、説明する。スリープ状態とは、電力消費量を抑えつつ、起動時間をシャットダウン状態からの起動の場合よりも早くすることができる状態である。ユーザが操作しない状態で一定時間が経過した場合や、操作部105上の節電キーを押下した場合や、設定した時刻に達した場合等に、CPU340は、画像形成装置101をスリープ状態に遷移させる。スリープ状態においては、メモリ341、ディスクコントローラ206、ネットワークコントローラ211、RTC212、USBコントローラ208等に給電される。また、スリープ状態においては、操作部105の節電キー、FAX装置107の一部、各種センサ等にも給電される。ただし、スリープ復帰要因はシステムによって異なるため、スリープ状態における、給電方法は、このような構成に限定されない。
スリープ復帰時のソフトウェアの動作について説明する。電源制御部303は、スリープ状態では、ネットワーク、タイマやアラームを検知するRTC212、着信やオフフックを検知するFAX装置107、ソフトスイッチ、各種センサ、挿抜や通信を検知するUSB等の1つ以上の割り込みを受けると、給電を開始する。電源制御部303は、CPU340に割り込み原因を通知する。CPU340は、その通知を受けてソフトウェアの状態を通常状態に戻す処理、すなわちスリープ復帰処理を行う。
(電源制御部の電源監視6:スリープ状態からの復帰の際の給電)
コントローラ103のスリープ状態からの復帰の際の処理について、説明する。CPU340は、電源制御部303から、スリープ状態中に、スリープ復帰要因である節電キーの押下イベントを受信すると、スリープ状態から復帰する。CPU340は、スリープ復帰を電源制御部303に通知する。その後、電源制御部303は、電源制御信号307、310を発することで、リレースイッチ308、311をオンにする。その結果、コントローラ103、プリンタ装置104、スキャナ装置102に対して、給電が開始される。
スキャナ装置102に対する電源制御信号は、プリンタ装置104に対する電源制御信号と同じ信号を併用してもよいし、他の信号を用いてもよい。
CPU340は、例えば、指示された印刷ジョブが終了すると、再びスリープ状態に遷移する。CPU340は、スリープ状態への移行を電源制御部303に通知する。そして、電源制御部303は、電源制御信号310を発することでリレースイッチ311をオフにし、画像形成装置101におけるコントローラ103以外の部分への給電を停止する。
スリープ状態において、スリープ状態からの復帰要因であるネットワーク受信イベントが発生した場合を考える。電源制御部303は、この復帰要因を受け、電源制御信号307を発することで、リレースイッチ308をオンにし、コントローラ103への給電を開始させる。そして、CPU340は、画像形成装置101を、スリープ状態から復帰させる。プリンタ装置104、スキャナ装置102は、ジョブが生成されていない場合や、デバイス情報の取得が不要な場合は、給電されないこととしてもよい。
(コントローラとSSDとのキャッシュ領域)
続いて、本実施形態のコントローラ103とSSD106とのキャッシュ領域について説明する。キャッシュ領域とは、メモリ341やSSD106内のRAM等の記憶装置内の記憶領域のような、データの一時的な記憶に用いられる記憶領域である。
CPU340によるプログラムの実行を介して実現されるアプリケーションは、データをSSD106に記憶する際に、このデータをメモリ341に記憶し、OSに対して、SSD106への書込み命令を出す。OSは、CPU340によるプログラムの実行を介して実現される。OSは、メモリ341にデータを記憶したまま、アプリケーションに応答(書込命令を受付けたことを示す応答)を返す。OSは、任意のタイミングで書込イベントを発行し、キャッシュ領域に記憶されたデータを、ディスクコントローラ206を経由して、SSD106に送る。
SSD106内のCPUによるプログラムの実行を介して実現されるSSD106のファームウェアは、CPU340からデータを受けると、そのデータを、SSD106内のRAMに書込む。SSD106のファームウェアは、任意のタイミングで書込イベントを発行し、SSD106のRAM上のデータを、SSD106のFLASHメモリへ書込む。本実施形態では、SSD106は、ハードウェア構成要素として、CPU、RAM、FLASHメモリを含むこととするが、他の要素を含むこととしてもよい。
(FLASHメモリを用いた記憶装置の特性と問題)
SSD106のように、FLASHメモリをストレージとして用いた記憶装置の特性について説明する。
このような記憶装置の特性の一つは、ストレージへのデータの書込の際に、書込対象のデータをそのまま書込まずに、予め定められたサイズのブロックに書込対象のデータを含ませた上で、ブロックの書込が行われる場合があることである。このブロックのサイズは、例えば、defaultが4KBであり、1KB〜1024KBの範囲で変更ができる。本実施形態では、メモリ341内には、SSD106への書込対象となるデータが一時的に記憶される領域(キャッシュ領域)が用意されている。
また、このような記憶装置の特性の一つは、ストレージへの総書込容量に上限があることである。SSDの総書込容量の上限は、128GBのSSDで74TB程度であり、SSDの容量が増えれば、総書込容量は比例して増えることとなる。
次に、CPU340がSSD106へデータの書込を行う方式を説明する。
CPU340がSSD106へデータの書込を行う方式には、同期書込方式がある。同期書込方式とは、書込対象のデータが記憶されたキャッシュ領域と、SSD106と、を明示的に同期させて(書込対象のデータに関する部分について、同じ内容にして)することで、書込を行うデータ書込の方式がある。同期書込方式は、第1の方式の一例である。同期書込方式では、CPU340によるプログラムの実行を介して実現されるアプリケーションが明示的に、キャッシュ領域とSSD106とを同期させる。このようにアプリケーションが、明示的にキャッシュ領域とSSD106とを同期させる命令を発することで、この命令に応じた1回の書込の処理で書込対象の全てのデータがSSD106に書込まれることとなる。
同期書込方式によるデータの書込は、例えば、以下のようにして実現される。例えば、CPU340は、UNIX(登録商標)、Linux(登録商標)等のシステムを用いて、SSD106の各パーティションのファイルシステムをmountする際に、−o sync オプションを使い、同期型でmountする。これにより、CPU340がメモリ341のキャッシュ領域内のデータを書込む際に、同期書込方式での書込が行われることとなる。メモリ341のキャッシュ領域は、第2の記憶装置内の記憶領域の一例である。
また、同期書込方式によるデータの書込は、例えば、以下のようにしても実現される。例えば、CPU340は、UNIX、Linux等のシステムを用いて、ファイルをopenする際に、O_SYNC状態フラグを用いて、同期型でopenする。これにより、CPU340がメモリ341のキャッシュ領域内のデータを書込む際に、同期書込方式での書込が行われることとなる。
また、同期書込方式によるデータの書込は、例えば、以下のようにしても実現される。例えば、CPU340は、UNIX、Linux等のシステムを用いて、sync、fsync、fdatasync等の同期型のAPIをcallすることでも、同期書込方式でのデータの書込を実現できる。
SSD106にデータを、同期書込方式で書込む際の処理を説明する。CPU340によるプログラムの実行により実現されるOSのデバイスドライバは、アプリケーションからデータのSSD106への同期書込の指示を受信する。そして、このデバイスドライバは、メモリ341のキャッシュ領域内のデータを、ディスクコントローラ206を経由して、SSD106に送信する。SSD106のファームウェアは、送信されたデータを、SSD106内のRAM上のキャッシュ領域に書込む。SSD106のファームウェアは、キャッシュ領域内に記憶された書込対象のデータを、ストレージであるFLASHメモリへ書込む際には、以下のような処理を行う。即ち、SSD106のファームウェアは、たとえキャッシュ領域にブロックのサイズと同じ量の書込対象のデータが記憶されていなくても、このキャッシュ領域に記憶されているデータを含むブロックを、SSD106に書込むこととなる。
CPU340は、メモリ341のキャッシュ領域内のデータをSSD106に送信した直後に、SSD106にATAコマンドの一つであるFLASH cache commandを発行する。SSD106のファームウェアは、FLASH cache commandを受けると、SSD106内のRAM上のキャッシュ領域にあるデータを、SSD106内のFLASHメモリのセルに書込む。そして、SSD106のファームウェアは、FLASH cache commandに対する応答をCPU340に送信する。CPU340は、FLASH cache commandの応答が返ると、データの書込を指示してきたアプリケーションに結果を返す。
また、CPU340がSSD106へデータの書込を行う方式には、遅延書込方式がある。遅延書込方式とは、定められた期間、書込対象のデータをキャッシュ領域に記憶することを継続し、その期間経過後に、キャッシュ領域とSSD106とを同期させる処理を、その期間の間隔で繰り返すことで、書込を行う方式である。即ち、書込を指示されたデータは、定められた間隔の間、キャッシュ領域に蓄積されていくこととなる。そのため、定められた間隔の間に複数の書込の指示が行われた場合、キャッシュ領域内には、複数の書込の指示それぞれに対応する書込対象のデータが記憶される場合がある。そして、定められた間隔が経過した際に、キャッシュ領域内のデータがまとめてSSD106に書込まれることとなる。それにより、書込の指示1回ごとにSSD106への書込を1回行う同期書込方式の場合と比べて、SSD106への書込みの頻度が低減される。
SSD106に遅延書込方式でデータの書込を行う方法を説明する。CPU340によるプログラムの実行を介して実現されるOSは、アプリケーションからSSD106へのデータの書込の指示を受信すると、メモリ341のキャッシュ領域にデータの記憶を開始し、アプリケーションに応答を返す。OSは、一定間隔ごとに、メモリ341のキャッシュ領域のデータを、SSD106に送信する。SSD106は、送信されたデータを、SSD106内のFLASHメモリに書込む。OSがSSD106にデータを送信する間隔は、例えばLinuxなら、/proc/sys/vm/dirty_writeback_centisecs のdefaultである、5秒間隔である。
CPU340がSSD106に同期書込方式でデータの書込を行った場合に発生し得るデータの総書込容量が増大するという問題を説明する。
SSD106に同期書込方式でのデータの書込が実行されると、1回の書込がブロックのサイズ(4KB)に満たなくても、ブロックのサイズ分(4KB)のデータの書込が発生してしまう。その結果、ブロックのサイズよりも小さな容量のファイルを膨大な数、書込むと、SSD106へのデータの総書込容量が大幅に増大してしまう。
例えば、更新ファームウェア1.5GBをSSD106へ書込む際に、1ファイル1KBの150万ファイルが書込まれるとする。この際、1ファイルごとに、同期書込方式で、SSD106にデータの書込が行われるとする。1ブロックのサイズがdefaultの4KBであるとすると、1KBのファイルを1つ書込むために、4KBのブロックの書込が実行される。その結果、ファームウェアのサイズ1.5GBのデータに対して、実際にSSD106に書込まれるデータのサイズは、6GBになる。
また、大容量の画像や動画等のファイルに併せて、SSD106への書込単位であるブロックのサイズが1024KBに設定されていると、1KBのファイルを、同期書込方式で書込むと、実際には、1024KBの書込が実行されることとなる。その結果、ファームウェアのサイズ1.5GBのデータに対して、実際に書込まれるデータのサイズは、1536GB(約1.5TB)になる。
SSD106のようにFLASHメモリをストレージとする記憶装置では、書込みを行えるデータの総量には、限界がある。そのため、ブロックのサイズよりも小さな容量のファイルを膨大な数、同期書込方式で書込むと、書込対象のデータの総容量よりも大きなサイズのデータが書込まれることとなり、記憶装置の寿命が短くなってしまう。
例えば、ファームウェア1.5GBに対して、実際に書込まれるデータのサイズが1536GB(約1.5TB)となる場合、50回ファームウェアを更新するだけで、約75TBの総書込容量となってしまう。これは、128GBのSSDに書込を行うことができるデータの容量を超えている。即ち、128GBのSSDを用いる場合、50回ファームウェアを更新するだけで、SSDの寿命が尽きてしまう場合がある。
(画像形成装置の処理の説明)
図5は、画像形成装置101の処理の一例を示すフローチャートである。本実施形態では、画像形成装置101は、データの書込の処理である特定の処理を実行する前に、SSD106へ書込まれるデータの量を低減するために、データの書込に関する条件を変更する処理を実行する。以下では、データの書込に関する条件を、書込条件とする。書込条件は、例えば、ある方式でのデータの書込が禁止されているか否か、ある方式でのデータの書込の際にどのような値のパラメータを用いるか、記憶部にどのサイズのブロック単位で書込が行われるか、等の条件である。また、画像形成装置101は、特定の処理の終了後には、書込条件をもとの条件に復元する処理を実行する。
図5の例では、この特定の処理は、SSD106のファームウェアの更新処理、画像形成装置101のバージョン変更後の初回の起動処理、画像形成装置101の設定クリア・変更後の初回の起動処理の何れかの処理である。これらの処理は、ブロックのサイズよりも小さな膨大な数のファイルの書込が発生し得る処理である。画像形成装置101のバージョン変更後の初回起動の際には、バージョン変更に伴い、多くのファイルの書込が発生する場合がある。画像形成装置101の設定クリア(初期化)又は変更後の初回の起動処理では、ブロックのサイズよりも容量が小さい初期化に伴うファイルが膨大に生成される場合がある。
S501において、CPU340は、SSD106のファームウェアの更新処理が指示されているか否かを判定する。CPU340は、SSD106のファームウェアの更新処理が指示されていると判定した場合、S505の処理に進み、SSD106のファームウェアの更新処理が指示されていないと判定した場合、S502の処理に進む。
S502において、CPU340は、画像形成装置101のバージョンの変更後の初回の起動処理が指示されているか否かを判定する。CPU340は、画像形成装置101のバージョンの変更後の初回の起動処理が指示されていると判定した場合、S505の処理に進む。また、CPU340は、画像形成装置101のバージョンの変更後の初回の起動処理が指示されていないと判定した場合、S503の処理に進む。
S503において、CPU340は、画像形成装置101の設定のクリア後の初回の起動処理が指示されているか否かを判定する。CPU340は、画像形成装置101の設定のクリア後の初回の起動処理が指示されていると判定した場合、S505の処理に進む。また、CPU340は、画像形成装置101の設定のクリア後の初回の起動処理が指示されていないと判定した場合、S504の処理に進む。
S504において、CPU340は、画像形成装置101の設定の変更後の初回の起動処理が指示されているか否かを判定する。CPU340は、画像形成装置101の設定の変更後の初回の起動処理が指示されていると判定した場合、S505の処理に進む。また、CPU340は、画像形成装置101の設定の変更後の初回の起動処理が指示されていないと判定した場合、図5の処理を終了する。
S505において、CPU340は、S501〜S504の何れかで指示されたと判定した処理の開始前に、同期書込方式でのデータのSSD106への書込を禁止する処理を実行する。これにより、CPU340は、同期書込方式でSSD106へのデータの書込が禁止されることを示す条件として、書込条件を調整する。CPU340は、例えば、以下のようにして、同期書込方式でのデータのSSD106への書込を禁止する。
CPU340は、例えば、UNIX、Linuxシステムで、SSD106の各パーティションのファイルシステムをmountする際に、−o syncオプションを使用せずに、非同期型でmountする。
次に、CPU340は、フラグ、環境変数、wrapしたopen関数を用いて、O_SYNCオプションを利用せずに、非同期型で書込対象のファイルをオープンして、ファイルのデータを、メモリ341のキャッシュ領域に記憶する。例えば、S505において、CPU340は、メモリ341に記憶されているフラグ情報を、同期書込方式が禁止されていることを示す情報に更新する。そして、CPU340は、このフラグ情報の値が、同期書込方式が禁止されていることを示す情報である場合、O_SYNCオプションを利用せずにファイルをオープンする。
そして、CPU340は、フラグ情報、環境変数、wrapしたsync、fsync、fdatasync関数等を用いて、同期処理の実行を無効化する。例えば、CPU340は、メモリ341に記憶されるフラグ情報が、同期書込方式が禁止されていることを示す情報である場合、sync、fsync、fdatasync関数を呼ばないようにする。CPU340は、メモリ341に記憶されるフラグ情報が、同期書込方式が禁止されていることを示す情報である場合、何の処理も行わずにリターンするようにラップしたsync、fsync、fdatasync関数を呼ぶこととしてもよい。そして、CPU340は、sync、fsync、fdatasync関数を用いずに、例えば、遅延書込方式で、キャッシュ領域のデータを、ブロックに含めて、SSD106のFLASHメモリに記憶する。
以上のようにすることで、CPU340は、同期書込方式でのSSD106へのデータの書込を禁止することができる。
また、CPU340は、以下のような処理を行うこととしてもよい。即ち、CPU340は、通常時に、sync、fsync、fdatasyncを、weaksynbolとして定義したオブジェクトをロードしておく。そして、CPU340は、S505の処理の際に、sync、fsync、fdatasyncの空関数の実体を持つオブジェクトをロードする。これにより、CPU340は、sync、fsync、fdatasync等のAPIが呼ばれたとしても、SSD106との同期処理を行わないようにすることができる。
S506において、CPU340は、遅延書込方式でのデータの書込の間隔を現在の値よりも伸ばす処理を行う。これにより、CPU340は、遅延書込方式において、より長い間隔で周期的に書込が行われることを示す条件として、書込条件を調整する。
遅延書込方式でのデータの書込の際、データの書込が行われる間隔がより長い方が、メモリ341のキャッシュ領域により多くのデータが記憶されることになる。これにより、実際にSSD106に書込まれるブロック中の書込対象のデータの割合が増大することとなる。これにより、不要なデータの書込量が低減し、SSD106に書込まれるデータの総容量を低減することができる。そこで、本実施形態では、CPU340は、S506の処理を実行することとする。
CPU340は、例えば、以下のようにして、遅延書込方式でのデータのSSD106への書込の間隔を伸ばす。例えば、遅延書込方式でのデータのSSD106への書込の間隔が5秒間隔であるとする。CPU340は、例えば、Linuxにおいて、dirty_writeback_centisecsを、設定された値(例えば、10、上限の30等)に設定することで、遅延書込方式での書込の間隔を設定された値(10秒、30秒)にすることができる。
S507において、CPU340は、S501〜S504の何れかで指示されたと判定した処理を実行する。この際に、CPU340は、S505、S506で調整された書込条件のもとで、SSD106へのデータの書込を行うこととなる。
CPU340は、S507の処理(S501〜S504の何れかで指示されたと判定した処理)の終了後に、以下のS508、S509で、書込条件を、元の条件に復元する処理を行う。
S508において、CPU340は、S507の処理(S501〜S504の何れかで指示されたと判定した処理)の終了後に、S506で変更された遅延書込方式での書込の間隔を変更前に戻す。
CPU340は、例えば、S506の処理と逆の処理を行う。即ち、CPU340は、例えば、Linuxなら、/proc/sys/vm/dirty_writeback_centisecsを、defaultの5に設定する処理を行う。
S509において、CPU340は、S505で禁止された同期書込方式でのデータの書込を許可する。例えば、CPU340は、メモリ341に記憶されているフラグ情報を、同期書込方式でのデータの書込が許可されることを示す情報に更新する。
CPU340は、S505の処理と逆の処理を行う。即ち、CPU340は、まず、syncオプション付きで、SSD106の各パーティションのファイルシステムをmountする。次に、CPU340は、フラグ情報が同期書込方式でのデータの書込が許可されることを示す情報とすることで、O_SYNCオプションを用いて、書込対象のファイルをオープンして、データをキャッシュ領域に記憶することを許可する。そして、CPU340は、フラグ情報が同期書込方式でのデータの書込が許可されることを示す情報とすることで、sync、fsync、fdatasync関数の利用を許可する。
本実施形態では、CPU340は、SSD106へのデータの書込総容量を低減させるための処理として、S505とS506との処理を行うこととした。しかし、画像形成装置101において、元々、同期書込方式が無効であり、遅延書込方式での書込が行われているような場合がある。このような場合、S505の処理を実行する意味がない。そのため、そのような場合、CPU340は、S506の処理のみを実行することとしてもよい。また、その場合、CPU340は、S508の処理を行い、S509の処理を行わないこととしてもよい。
また、例えば、S501でファームウェアの更新処理が指示されたと判定され、更新用のファームウェアの内容が、サイズが1KBの複数のファイルであるような場合、CPU340は、S505、S506の処理の代わりに、以下のような処理を行ってもよい。即ち、CPU340は、S507の処理の前に、SSD106に対するデータの書込の単位であるブロックのサイズを、4KBから、1KBに変更する処理を行ってもよい。これにより、CPU340は、同期書込方式で、データを書込んだとしても、ブロックのサイズと実際のファイルのサイズとの差を小さくすることで、書込むことが不要なデータを削減することができる。結果として、CPU340は、SSD106へ書込まれるデータの総容量を低減することができる。その場合、CPU340は、S507の処理の後で、ブロックのサイズを元に戻す処理を行ってもよい。
また、本実施形態では、CPU340は、ファームウェアの更新処理等の特定の処理が指示された際に、S505、S506(併せて、S508、S509)の処理を行うこととした。しかし、CPU340は、指示された処理が、予め定められたサイズ以下のサイズのデータを、予め定められた数以上の個数、SSD106に書込む処理であるか否かに応じて、S505、S506(併せて、S508、S509)の処理を行か否かを決定してもよい。
また、更新されるファームウェアが、プリンタ装置104、スキャナ装置102、フィニッシャ装置150、FAX装置107等の外部装置のファームウェア更新のみの場合がある。このような場合、更新用のファームウェアに含まれる書込対象となるファイルの数は、他のファームウェア更新(例えば、SSD106のファームウェア更新)の場合に比べて、少ない場合がある。このような場合、CPU340は、同期書込方式で更新用のファームウェアをSSD106に書込んだとしても、SSD106への書込データの総容量の増大の程度は、軽微となる。そこで、CPU340は、指示されている処理に対応するSSD106への書込対象のデータの数に基づいて、S505、S506(併せて、S508、S509)の処理を実行するか否かを決定してもよい。CPU340は、例えば、指示された処理に対応する書込対象のデータの数が、予め定められた閾値以上である場合に、S505、S506(併せて、S508、S509)の処理を実行することを決定してもよい。その場合、CPU340は、指示された処理に対応する書込対象のデータの数が、予め定められた閾値未満である場合、S505、S506(併せて、S508、S509)の処理を実行しないこととなる。
また、本実施形態では、CPU340は、ファームウェアの更新処理が指示された場合、S505、S506(併せて、S508、S509)の処理を実行することとした。ファームウェアの更新処理には、ファームウェアの受信処理、ファームウェアのデータの更新処理、更新後の初回起動の際の初期化処理等の一連の処理が含まれる。この場合、CPU340は、ファームウェアの更新処理に含まれる各処理の開始と終了とに併せて、S505〜S509の処理を実行してもよい。また、CPU340は、ファームウェアの更新処理に含まれる一連の複数の処理の開始と終了とに併せて、S505〜S509の処理を実行してもよい。
また、ファームウェアの受信の際、SSD106へ保存するデータ数が、ファームウェア更新の際よりも少ない場合がある。そこで、CPU340は、例えば、ファームウェア受信の際には、S505、S506(併せて、S508、S509)の処理を実行しないこととしてもよい。そして、CPU340は、ファームウェア更新の際に、S505、S506(併せて、S508、S509)の処理を実行することとしてもよい。
また、本実施形態では、CPU340は、特定の処理の開始の直前にS505、S506の処理を行うこととしてもよいし、特定の処理の開始と、特定の処理の前に実行された他の処理の終了との間に行ってもよい。また、CPU340は、特定の処理の終了の直後にS508、S509の処理を行うこととしてもよいし、特定の処理の終了と、特定の処理の後に実行される他の処理の開始との間に行ってもよい。
また、CPU340は、例えば、ファームウェア受信処理、ファームウェア更新処理、初回起動時の展開や更新処理、の各々の処理の前後や間に、画像形成装置101を再起動する場合がある。そのような場合、ファームウェア更新前/後の、再起動やSSDパーティションのマウントを、トリガにして、S505、S506の処理を実行することとしてもよい。
以上、本実施形態では、情報処理システムは、SSD106へのデータの書込の処理を含む特定の処理の開始前に、SSD106へ実際に書込まれるデータの容量を低減させるように、書込条件を調整した。これにより、情報処理システムは、特定の処理により、実際にSSD106に書込まれるデータの総容量を低減できる。しかし、例えば、調整された書込条件で、データの書込の速度が遅くなり、メモリ341に記憶されるデータの量も増大し、電源瞬断により消滅しうるデータのサイズが増大する場合が生じうる。そこで、情報処理システムは、特定の処理の終了後に、書込条件を元の条件に復元した。これにより、特定の処理の終了後において、電源瞬断により消滅しうるデータのサイズが増大することを防止することができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
例えば、上述した情報処理システムの機能構成の一部又は全てをハードウェアとして画像形成装置101に実装してもよい。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。上述した各実施形態を任意に組み合わせてもよい。
101 画像形成装置
106 SSD
340 CPU

Claims (10)

  1. 第1の記憶部へのデータの書込の処理を含む予め定められた処理の開始前に、前記第1の記憶部へ実際に書込まれるデータの容量を低減させるように、前記第1の記憶部へのデータの書込に関する条件である書込条件を調整する調整手段と、
    前記予め定められた処理の終了後に、前記書込条件を、前記調整手段により調整される前の条件に復元する復元手段と、
    を有する情報処理装置。
  2. 前記調整手段は、前記予め定められた処理の開始前に、データの書込の処理の指示1回ごとに前記指示に対応する書込対象のデータを含む予め定められたサイズのデータを前記記憶部に書込むことで前記記憶部に書込対象のデータの書込を行う第1の方式を用いた前記記憶部へのデータの書込を禁止することで、前記第1の記憶部へ実際に書込まれるデータの総容量を低減させるように前記書込条件を調整する請求項1記載の情報処理装置。
  3. 前記調整手段は、前記予め定められた処理の開始前に、データの一時的な記憶に用いられる第2の記憶部の記憶領域に書込対象のデータの記憶を定められた期間だけ継続した後に前記記憶領域に記憶された書込対象のデータを含む予め定められたサイズのデータを前記第1の記憶部に書込む処理を繰り返すことで前記第1の記憶部への書込対象のデータの書込を行う第2の方式での書込に用いられる前記定められた期間を、長くするように更新することで、前記第1の記憶部へ実際に書込まれるデータの総容量を低減させるように前記書込条件を調整する請求項1又は2記載の情報処理装置。
  4. 前記調整手段は、前記予め定められた処理の開始前に、前記第1の記憶部に対する書込単位となるデータのサイズを調整することで、前記第1の記憶部へ実際に書込まれるデータの総容量を低減させるように前記書込条件を調整する請求項1乃至3何れか1項記載の情報処理装置。
  5. 前記予め定められた処理は、予め定められたサイズ以下のサイズの予め定められた数以上の個数の複数のデータそれぞれを、前記第1の記憶部に書込む処理を含む請求項1乃至4何れか1項記載の情報処理装置。
  6. 前記予め定められた処理は、予め定められた数以上の個数の複数のデータそれぞれを、前記第1の記憶部に書込む処理を含む請求項1乃至4何れか1項記載の情報処理装置。
  7. 前記情報処理装置は、画像形成装置である請求項1乃至6何れか1項記載の情報処理装置。
  8. 前記第1の記憶部は、FLASHメモリを用いられた記憶部である請求項1乃至7何れか1項記載の情報処理装置。
  9. 情報処理装置が実行する情報処理方法であって、
    第1の記憶部へのデータの書込の処理を含む予め定められた処理の開始前に、前記第1の記憶部へ実際に書込まれるデータの容量を低減させるように、前記第1の記憶部へのデータの書込に関する条件である書込条件を調整する調整ステップと、
    前記予め定められた処理の終了後に、前記書込条件を、前記調整ステップで調整される前の条件に復元する復元ステップと、
    を含む情報処理方法。
  10. コンピュータを、請求項1乃至8何れか1項記載の情報処理装置の各手段として、機能させるためのプログラム。
JP2018031106A 2018-02-23 2018-02-23 情報処理装置、情報処理装置の制御方法及びプログラム Active JP7102166B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018031106A JP7102166B2 (ja) 2018-02-23 2018-02-23 情報処理装置、情報処理装置の制御方法及びプログラム
US16/275,158 US11392294B2 (en) 2018-02-23 2019-02-13 Information processing apparatus that controls storage unit and information processing method for transmitting an instruction to write data to a storage a number of times
CN201910143748.XA CN110191247B (zh) 2018-02-23 2019-02-25 控制存储单元的信息处理装置及信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018031106A JP7102166B2 (ja) 2018-02-23 2018-02-23 情報処理装置、情報処理装置の制御方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2019145027A true JP2019145027A (ja) 2019-08-29
JP2019145027A5 JP2019145027A5 (ja) 2021-04-15
JP7102166B2 JP7102166B2 (ja) 2022-07-19

Family

ID=67685829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018031106A Active JP7102166B2 (ja) 2018-02-23 2018-02-23 情報処理装置、情報処理装置の制御方法及びプログラム

Country Status (3)

Country Link
US (1) US11392294B2 (ja)
JP (1) JP7102166B2 (ja)
CN (1) CN110191247B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11386942B2 (en) * 2020-08-27 2022-07-12 Taiwan Semiconductor Manufacturing Company, Ltd. Systems and methods for controlling power assertion in a memory device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080244035A1 (en) * 2007-03-30 2008-10-02 Nec Corporation Remote copy system and remote copy method
JP2015207208A (ja) * 2014-04-22 2015-11-19 キヤノン株式会社 画像処理装置、情報処理方法及びプログラム
JP2017135562A (ja) * 2016-01-27 2017-08-03 京セラドキュメントソリューションズ株式会社 画像形成装置およびデータ処理プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100867124B1 (ko) 2007-02-15 2008-11-06 삼성전자주식회사 광디스크의 데이터 기록 및 재생 장치 및 방법
CN102750224B (zh) 2011-04-19 2015-01-14 苏州捷泰科信息技术有限公司 减小固态硬盘写入放大的写入方法和数据写入系统
EP2652587B1 (en) 2011-06-07 2017-11-15 Hitachi, Ltd. Storage system comprising flash memory, and storage control method
US9423978B2 (en) 2013-05-08 2016-08-23 Nexgen Storage, Inc. Journal management
US9658888B2 (en) * 2013-08-05 2017-05-23 International Business Machines Corporation Thresholding task control blocks for staging and destaging
JP6245041B2 (ja) 2014-04-02 2017-12-13 コニカミノルタ株式会社 情報処理装置及びフラッシュメモリの制御方法
JP6482322B2 (ja) 2014-12-29 2019-03-13 東芝メモリ株式会社 メモリ装置及びプログラム
US10592122B2 (en) * 2015-03-31 2020-03-17 Sandisk Technologies Llc Inherent adaptive trimming
CN105760467A (zh) 2016-02-05 2016-07-13 浪潮(北京)电子信息产业有限公司 一种数据实时读写方法、装置、系统及nfs服务器
US10019404B2 (en) 2016-04-20 2018-07-10 Allone Solution Co., Ltd. Accessing method for accessing hybrid hard-disk drive
US10209914B2 (en) * 2017-01-31 2019-02-19 Sandisk Technologies Llc System and method for dynamic folding or direct write based on block health in a non-volatile memory system
CN106919675B (zh) 2017-02-24 2019-12-20 浙江大华技术股份有限公司 一种数据存储方法及装置
JP6812900B2 (ja) * 2017-05-17 2021-01-13 富士通株式会社 ストレージ装置、ストレージ制御装置、およびストレージ制御プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080244035A1 (en) * 2007-03-30 2008-10-02 Nec Corporation Remote copy system and remote copy method
JP2015207208A (ja) * 2014-04-22 2015-11-19 キヤノン株式会社 画像処理装置、情報処理方法及びプログラム
JP2017135562A (ja) * 2016-01-27 2017-08-03 京セラドキュメントソリューションズ株式会社 画像形成装置およびデータ処理プログラム

Also Published As

Publication number Publication date
US11392294B2 (en) 2022-07-19
JP7102166B2 (ja) 2022-07-19
US20190265892A1 (en) 2019-08-29
CN110191247B (zh) 2022-04-05
CN110191247A (zh) 2019-08-30

Similar Documents

Publication Publication Date Title
US11067932B2 (en) Information processing apparatus capable of appropriately executing shutdown processing, method of controlling the information processing apparatus, and storage medium
JP5064995B2 (ja) データ処理装置、データ処理方法及びプログラム
JP6041522B2 (ja) 情報処理装置、情報処理装置の制御方法、プログラム及び記憶媒体
JP6039362B2 (ja) 画像形成装置及びその制御方法、並びにプログラム
JP5896769B2 (ja) 画像形成装置、画像形成装置の制御方法、プログラム、およびコンピュータ読取可能な記録媒体
JP2008087353A (ja) 省電力機能を備えた電子機器
JP2008065242A (ja) 画像形成装置
JP2018093422A (ja) 画像形成装置および画像形成装置の制御プログラム
US10455103B2 (en) Power control method of printing apparatus
JP7102166B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2017130071A (ja) 画像処理装置及びメモリ制御プログラム並びにメモリ制御方法
JP2006095739A (ja) 画像処理装置
US20190068819A1 (en) Information processing apparatus, power control method in information processing apparatus, and storage medium
JP5318266B2 (ja) データ処理装置、データ処理方法及びプログラム
JP6459543B2 (ja) 画像形成装置及びジョブ処理制御方法並びにジョブ処理制御プログラム
US8411314B2 (en) Image forming apparatus for forming an image by transferring an image onto an intermediate transfer member, image forming method, and storage medium
JP7370743B2 (ja) 情報処理装置および情報処理装置の制御方法
US11330132B2 (en) Information processing apparatus capable of resetting system, method of controlling same, and storage medium
JP7387308B2 (ja) 情報処理装置および情報処理装置の制御方法
US20240103782A1 (en) Image forming apparatus and control method for image forming apparatus
JP4893538B2 (ja) 情報処理装置およびプログラム
JP2023160058A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP2020187711A (ja) 情報処理装置及びその制御方法
JP6459570B2 (ja) 画像形成装置及び起動制御方法並びに起動制御プログラム
JP2023156014A (ja) 電子機器、画像形成装置および電子機器の制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220706

R151 Written notification of patent or utility model registration

Ref document number: 7102166

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151