JP6938418B2 - 記録装置、記録方法、およびプログラム - Google Patents

記録装置、記録方法、およびプログラム Download PDF

Info

Publication number
JP6938418B2
JP6938418B2 JP2018067759A JP2018067759A JP6938418B2 JP 6938418 B2 JP6938418 B2 JP 6938418B2 JP 2018067759 A JP2018067759 A JP 2018067759A JP 2018067759 A JP2018067759 A JP 2018067759A JP 6938418 B2 JP6938418 B2 JP 6938418B2
Authority
JP
Japan
Prior art keywords
image data
volatile memory
spool
recording
recording device
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.)
Active
Application number
JP2018067759A
Other languages
English (en)
Other versions
JP2019180004A (ja
Inventor
寛之 塩入
寛之 塩入
佐藤 和也
和也 佐藤
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 JP2018067759A priority Critical patent/JP6938418B2/ja
Priority to US16/359,337 priority patent/US10678486B2/en
Publication of JP2019180004A publication Critical patent/JP2019180004A/ja
Application granted granted Critical
Publication of JP6938418B2 publication Critical patent/JP6938418B2/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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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]
    • 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/068Hybrid storage device
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1279Controller construction, e.g. aspects of the interface hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1817Buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4072Circuits for initialization, powering up or down, clearing memory or presetting
    • 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
    • G06F3/0656Data buffering arrangements
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Storing Facsimile Image Data (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Memory System (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、画像データを格納するために揮発性メモリと不揮発性メモリを併用する記録装置、記録方法、およびプログラムに関するものである。
オフィス等において共有される記録装置としては、ユーザが画像データを送信した後、実際にユーザが記録装置の位置に到着するまでは記録物を出力せず、ユーザが記録装置に対して記録を許可したときに記録を開始する方式のものがある。情報セキュリティの観点から、このような記録方式はセキュア記録と称され、一方、画像データが送られた時点で記録装置が記録を開始する方式は、非セキュア記録と称される。また、画像データを一時的に格納することはスプールと称され、そのスプールのためのメモリ領域はスプールバッファと称される。
セキュア記録においては、セキュリティの観点から、記録完了後は直ちにスプールバッファからデータを消去することが望ましいため、スプールバッファとして揮発性メモリのDRAMが適する。しかし、比較的高額であるDRAMは、その容量を必要最小とすることが求められるため、その限られた容量の一部をスプールバッファとして使用した場合には、複数のユーザから送信された画像データが格納できなくなる容量不足が生じるおそれがある。スプールバッファとして、不揮発性の半導体メモリを併用する場合には、HDDよりは、低価格化および大容量化が進んでいるNANDフラッシュメモリ等の不揮発性の半導体メモリの使用が考えられる。しかし、NANDフラッシュメモリにはデータの書換え回数に制限があり、その書換えの繰り返しにより許容書換え回数を超えたブロックは、使用できなくなる。
特許文献1に記載の技術においては、NANDフラッシュメモリの空き容量と、NANDフラッシュメモリの状態に基づいて設定される特定容量と、を比較し、その空き容量が特定容量以上の場合は、NANDフラッシュメモリにデータを書き込む。一方、その空き容量が特定容量よりも小さい場合には、NANDフラッシュメモリに記憶されている所定のデータを他の記憶手段に待避させて、特定容量を確保した後に、NANDフラッシュメモリにデータを書き込む。
特開2016−4403号公報
しかしながら、特許文献1のように、DRAMまたはNANDフラッシュメモリのうちの空き容量がある方にデータを保存した場合には、そのデータの保存過程においてメモリの空き容量が不足してデータを保存できなくなるおそれがある。この場合には、そのデータの保存先を変更する必要が生じ、結果的に、NANDフラッシュメモリに対するデータの書き込み回数が増えることになる。
本発明の目的は、揮発性メモリと不揮発性メモリを画像データのスプールバッファとして併用する場合に、不揮発性メモリに対する画像データの書き込み回数を減らして、その不揮発性メモリの長寿命化を図ることにある。
本発明の記録装置は、画像データに基づいて画像を記録する記録装置であって、揮発性メモリと、書換え回数に制限がある不揮発性メモリと、前記揮発性メモリおよび前記不揮発性メモリにスプールされた前記画像データを処理する処理手段と、前記揮発性メモリに対して前記画像データのスプールを試みて、前記揮発性メモリの空き容量の不足により前記揮発性メモリに前記画像データがスプールできなかった場合に、前記不揮発性メモリに対して前記画像データのスプールを試みる制御手段と、を有し、前記不揮発性メモリの空き容量の不足により前記不揮発性メモリに前記画像データがスプールできなかった場合に、前記制御手段は、前記揮発性メモリの空き容量が前記画像データのスプールが可能となるまで増加した後に前記揮発性メモリに対する前記画像データのスプールの試みを開始することを特徴とする。
本発明によれば、不揮発性メモリに対する画像データの書き込み回数を減らして、その不揮発性メモリの長寿命化を図ることができる。
待機状態における記録装置の説明図である。 記録装置の制御系のブロック図である。 記録装置の制御系の要部のブロック図である。 メモリ領域の管理を説明するためのメモリマップである。 画像データのスプール処理を説明するためのフローチャートである。 スプールバッファの切替処理を説明するためフローチャートである。 画像データのスプール処理の具体例の説明図である。 画像データのスプール処理の具体例の説明図である。 画像データのスプール処理の具体例の説明図である。 画像データのスプール処理の具体例の説明図である。 操作パネルの表示例の説明図である。
以下、本発明の実施形態について図面を参照して説明する。
<記録装置の構成について>
図1は、本実施形態で使用するインクジェット記録装置1(以下、記録装置1)の内部構成図である。図において、x方向は水平方向、y方向は後述する記録ヘッド8において吐出口が配列する方向、z方向は鉛直方向をそれぞれ示す。
記録装置1は、プリント部2とスキャナ部3を備える複合機であり、記録動作と読取動作に関する様々な処理を、プリント部2とスキャナ部3で個別にあるいは連動して実行することができる。スキャナ部3は、ADF(オートドキュメントフィーダ)とFBS(フラットベッドスキャナ)を備えており、ADFで自動給紙される原稿の読み取りと、ユーザによってFBSの原稿台に置かれた原稿の読み取り(スキャン)を行うことができる。なお、本実施形態はプリント部2とスキャナ部3を併せ持った複合機であるが、スキャナ部3を備えない形態であってもよい。図1は、記録装置1が記録動作も読取動作も行っていない待機状態にあるときを示す。
プリント部2において、筐体4の鉛直方向下方の底部には、記録媒体(カットシート)Sを収容するための第1カセット5Aと第2カセット5Bが着脱可能に設置されている。第1カセット5AにはA4サイズまでの比較的小さな記録媒体が、第2カセット5BにはA3サイズまでの比較的大きな記録媒体が、平積みに収容されている。第1カセット5A近傍には、収容されている記録媒体を1枚ずつ分離して給送するための第1給送ユニット6Aが設けられている。同様に、第2カセット5B近傍には、第2給送ユニット6Bが設けられている。記録動作が行われる際にはいずれか一方のカセットから選択的に記録媒体Sが給送される。
搬送ローラ7、排出ローラ12、ピンチローラ7a、拍車7b、ガイド18、インナーガイド19、及びフラッパ11は、記録媒体Sを所定の方向に導くための搬送機構である。搬送ローラ7は、記録ヘッド8の上流側および下流側に配され、不図示の搬送モータによって駆動される駆動ローラである。ピンチローラ7aは、搬送ローラ7と共に記録媒体Sをニップして回転する従動ローラである。排出ローラ12は、搬送ローラ7の下流側に配され、不図示の搬送モータによって駆動される駆動ローラである。拍車7bは、記録ヘッド8の下流側に配される搬送ローラ7および排出ローラ12と共に記録媒体Sを挟持して搬送する。
ガイド18は、記録媒体Sの搬送経路に設けられ、記録媒体Sを所定の方向に案内する。インナーガイド19は、y方向に延在する部材で湾曲した側面を有し、当該側面に沿って記録媒体Sを案内する。フラッパ11は、両面記録動作の際に、記録媒体Sが搬送される方向を切り替えるための部材である。排出トレイ13は、記録動作が完了し排出ローラ12によって排出された記録媒体Sを積載保持するためのトレイである。
本実施形態の記録ヘッド8は、フルラインタイプのカラーインクジェット記録ヘッドであり、記録データにしたがってインクを吐出する吐出口が、図1におけるy方向に沿って記録媒体Sの幅に相当する分だけ複数配列されている。記録ヘッド8が待機位置にあるとき、記録ヘッド8の吐出口面8aは、図1のようにキャップユニット10によってキャップされている。記録動作を行う際は、後述するプリントコントローラ202によって、吐出口面8aがプラテン9と対向するように記録ヘッド8の向きが変更される。プラテン9は、y方向に延在する平板によって構成され、記録ヘッド8によって記録動作が行われる記録媒体Sを背面から支持する。
インクタンクユニット14は、記録ヘッド8へ供給される4色のインクをそれぞれ貯留する。インク供給ユニット15は、インクタンクユニット14と記録ヘッド8を接続する流路の途中に設けられ、記録ヘッド8内のインクの圧力及び流量を適切な範囲に調整する。本実施形態では循環型のインク供給系を採用しており、インク供給ユニット15は記録ヘッド8へ供給されるインクの圧力と記録ヘッド8から回収されるインクの流量を適切な範囲に調整する。
メンテナンスユニット16は、キャップユニット10とワイピングユニット17を備え、所定のタイミングにこれらを作動させて、記録ヘッド8に対するメンテナンス動作を行う。
図2は、記録装置1における制御構成を示すブロック図である。制御構成は、主にプリント部2を統括するプリントエンジンユニット200と、スキャナ部3を統括するスキャナエンジンユニット300と、記録装置1全体を統括するコントローラユニット100とによって構成されている。プリントコントローラ202は、コントローラユニット100のメインコントローラ101の指示にしたがってプリントエンジンユニット200の各種機構を制御する。スキャナエンジンユニット300の各種機構は、コントローラユニット100のメインコントローラ101によって制御される。以下に制御構成の詳細について説明する。
コントローラユニット100において、CPUにより構成されるメインコントローラ101は、ROM107に記憶されているプログラムや各種パラメータにしたがって、RAM106をワークエリアとしながら記録装置1全体を制御する。例えば、ホストインターフェース(以下、インターフェースをIFと略記する)102またはワイヤレスIF103を介してホスト装置400から記録ジョブが入力されたとする。この場合、メインコントローラ101の指示にしたがって、画像処理部108が受信した画像データに対して所定の画像処理を施す。そして、メインコントローラ101はプリントエンジンIF105を介して、画像処理を施した画像データ(例えば、RGBデータ)をプリンタ用画像データとしてプリントエンジンユニット200へ送信する。
なお、記録装置1は無線通信や有線通信を介してホスト装置400から画像データを取得しても良いし、記録装置1に接続された外部記憶装置(USBメモリ等)から画像データを取得しても良い。無線通信や有線通信に利用される通信方式は限定されない。例えば、無線通信に利用される通信方式として、Wi−Fi(Wireless Fidelity)(登録商標)やBluetooth(登録商標)が適用可能である。また、有線通信に利用される通信方式としては、USB(Universal Serial Bus)等が適用可能である。また、例えばホスト装置400から読取コマンドが入力されると、メインコントローラ101は、スキャナエンジンIF109を介してこのコマンドをスキャナ部3に送信する。
操作パネル104は、ユーザが記録装置1に対して入出力を行うための機構である。ユーザは、操作パネル104を介してコピーやスキャン等の動作を指示したり、記録モードを設定したり、記録装置1の情報を認識したりすることができる。
プリントエンジンユニット200において、CPUにより構成されるプリントコントローラ202は、ROM203に記憶されているプログラムや各種パラメータに従って、RAM204をワークエリアとしながら、プリント部2が備える各種機構を制御する。コントローラIF201を介して各種コマンドやプリンタ用画像データが受信されると、プリントコントローラ202は、これを一旦RAM204に保存する。記録ヘッド8が記録動作に利用できるように、プリントコントローラ202は画像処理コントローラ205に、保存したプリンタ用画像データを記録データ(例えば、2値データ)へ変換させる。記録データが生成されると、プリントコントローラ202は、ヘッドIF206を介して記録ヘッド8に記録データに基づく記録動作を実行させる。この際、プリントコントローラ202は、搬送制御部207を介して図1に示す給送ユニット6A、6B、搬送ローラ7、排出ローラ12、フラッパ11を駆動して、記録媒体Sを搬送する。プリントコントローラ202の指示にしたがって、記録媒体Sの搬送動作に連動して記録ヘッド8による記録動作が実行され、記録処理が行われる。
ヘッドキャリッジ制御部208は、記録装置1のメンテナンス状態や記録状態といった動作状態に応じて記録ヘッド8の向きや位置を変更する。インク供給制御部209は、記録ヘッド8へ供給されるインクの圧力が適切な範囲に収まるように、インク供給ユニット15を制御する。メンテナンス制御部210は、記録ヘッド8に対するメンテナンス動作を行う際に、メンテナンスユニット16におけるキャップユニット10やワイピングユニット17の動作を制御する。
スキャナエンジンユニット300においては、メインコントローラ101が、ROM107に記憶されているプログラムや各種パラメータにしたがって、RAM106をワークエリアとしながら、スキャナコントローラ302のハードウェアリソースを制御する。これにより、スキャナ部3が備える各種機構は制御される。例えば、コントローラIF301を介してメインコントローラ101がスキャナコントローラ302内のハードウェアリソースを制御することにより、ユーザによってADFに搭載された原稿を、搬送制御部304を介して搬送し、センサ305によって読み取る。そして、スキャナコントローラ302は読み取った画像データをRAM303に保存する。なお、プリントコントローラ202は、前述したように取得された画像データをプリンタ用画像データに変換することで、記録ヘッド8に、スキャナコントローラ302で読み取った画像データに基づく記録動作を実行させることが可能である。
<コントローラユニットの構成について>
図3は、図2に示した構成要素のうち、特に本実施形態にとって重要な構成要素を抜粋したブロック図である。図3では、図2に示したメインコントローラ101、ホストIF102、RAM106、ROM107を夫々、メインコントローラ3001、ホストIF3002、RAM3003、ROM3004と記載する。
ホストIF3002から受信された画像データは、ビットマップに展開されてから、必要な圧縮処理等が施された後、一旦、記録装置1のスプールバッファに格納される。後述するように、記録方式にはセキュア記録と非セキュア記録があり、これらの方式のいずれも利用する場合には、セキュア記録用と非セキュア記録用との2種類のスプールバッファを準備する必要がある。非セキュア記録では、プリントエンジンユニット200が空き次第、順次出力が開始される。そのため、非セキュア記録用の画像データが記録装置1に滞留する時間は短く、複数ユーザが画像データを送信するような場合であっても、小容量のスプールバッファで処理可能である。したがって、非セキュア記録用のスプールバッファは、RAM3003の領域のみで実現可能である。一方、セキュア記録では、複数ユーザが画像データを送信したが、それらのユーザが記録装置の前で記録(出力)を指示しないような場合に、大量の画像データが記録装置1に滞留するため、大容量のスプールバッファが必要となる。したがって、セキュア記録用のスプールバッファは、RAM3003上およびROM3004の両者に確保される。
RAM3003として、記録装置1を制御するIC内のSRAMを用いて良いし、そのIC外のDRAMを用いても良い。なお、本実施形態では、スプールバッファは比較的大容量のメモリ領域を必要とすることから、DRAMの使用を想定している。また、ROM3004として、NOR型フラッシュメモリやNAND型フラッシュメモリを用いて良い。但し、大容量のメモリ領域の必要性という観点から、NAND型フラッシュメモリが望ましい。本実施形態では、ウェアレベリング等の制御を行うコントローラ部を、NAND型フラッシュメモリと共にチップ内に内蔵したeMMC(embedded Multi Media Card)の使用を想定している。eMMC上のスプール領域は、CPUから直接メモリマップ上に見ることが可能な非ファイルシステム領域でも良いし、ファイルシステムを介したファイルシステム領域でも構わない。本実施形態では、eMMC上のスプール領域は、非ファイルシステム領域であるものとする。
前述したように、ROMには書換え回数の制限がある。したがって、スプールデータは通常、書換え回数制限の無いRAMに格納し、RAM内に確保しているスプールバッファの容量を超えた場合のみROMに格納するように、ROMを補助的に使用することが望ましい。また、画像データにはユーザの機密情報が含まれる場合があるため、特別な事情が無い限り、記録済みの画像データは記録装置内から消去することが望ましい。RAMにスプールデータを格納する場合、万一、画像データを消去し損ねる事態が発生したとしても、記録装置1の電源の遮断によってRAM内の画像データが自動的に消去されるため、都合が良い。一方、ROMにスプールデータを格納する場合、記録装置1の電源が遮断されてもROM内の画像データは自動的に消去されないため、セキュリティの観点からはRAMよりは不利である。また、ROMに対しては、画像データの記録と消去という2回の書込みが発生することから、書換え回数制限の観点からもRAMより不利である。
以上の観点から、図3では、セキュア記録と非セキュア記録との両方の方式で使用する優先度の高いバッファとして、RAM3003をスプールバッファ1と記載している。これに対し、セキュア記録のみで使用する優先度の低いバッファとして、ROM3004をスプールバッファ2と記載している。本実施形態では、セキュア記録時のみROM3004をスプールバッファ2として使用し、画像データの記録後、格納してから一定時間経過後、および記録装置1の電源オフ時には、必ず、ROM3004からのスプールデータの消去を実行する。また、本実施形態のスプールデータの一例は、記録データである。
<セキュア記録と非セキュア記録について>
オフィス等において複数のユーザに共用される記録装置は、通常、オフィスのローカルネットワークに接続される。このような環境において、画像データは、個々のユーザの情報端末からネットワークを経由して共有の記録装置に送信され、各ユーザは、各自の記録物を共有の記録装置に取りに行くことになる。ユーザが記録装置から出力した記録物には、機密情報が含まれることがあり、ユーザが画像データを送信した直後に記録装置が記録物を出力した場合には、次のような事態が生じるおそれがある。すなわち、記録装置から出力された記録物をユーザ取りに行くまでに時間が掛かった場合に、その記録物に含まれる機密情報が他のユーザの目に触れるおそれ、および、その記録物が他のユーザによって持ち去られるおそがある。
セキュア記録においては、ユーザが記録装置に対して画像データを送信した後、実際にユーザが記録装置の位置に到着するまでは記録物を出力せず、ユーザが記録装置に対して記録を許可したときに記録を開始する。一方、非セキュア記録においては、画像データが送られた時点で記録装置が記録を開始する。
セキュア記録が可能な環境を提供するためには、画像データを保持する手段と、画像データを送信したユーザを記録装置が識別して、正規なユーザの許可に応じて実際に記録物を出力する手段と、が必要となる。ユーザを識別する手段としては、例えば、記録ジョブを生成する毎に識別用のID番号をユーザに通知し、そのID番号をユーザが記録装置に入力する方法がある。また他の例としては、ユーザの持つIDカードに、ユーザIDを識別番号として予め登録しておき、ユーザが情報端末から記録ジョブを送信する際に、そのユーザIDを記録ジョブに付与することにより、記録装置がユーザと記録ジョブとを関連付ける方法がある。
一方、画像データを保持する手段としては、画像データを集中管理するためのプリンタサーバを設置する方法がある。各ユーザの画像データは一旦プリンタサーバに蓄えられ、ユーザが記録装置に対して記録実行の許可を出したときに、その記録装置がユーザのID番号をプリンタサーバに送ることにより、プリンタサーバから記録装置に画像データが送られる。一般的に、プリンタサーバは、それが備わるオフィスにおいて想定される画像データの量よりも大容量のスプールバッファを確保するように設計される。また、スプールバッファをオーバーフローさせないように、画像データの発生から一定時間以上経過した場合は、その画像データを削除する方法が採られている。
しかしながら、小規模なオフィス環境においては、コストおよび設置場所等の関係から、プリンタサーバが設置できない場合もある。プリンタサーバを設置しない場合には、個々のユーザから記録装置に画像データが直接送信されるため、記録装置内部において画像データをスプールする必要がある。画像データは、PDL言語等で記述される場合があり、それをビットマップに展開してプリンタ用画像データを生成するためには時間が掛かる。そのため、記録装置のスプールバッファには、画像データをビットマップに展開した後、圧縮処理などが施されたプリンタ用画像データがスプールされる。
記録装置にスプールバッファを備える場合、スプール領域として、プリンタ制御部の揮発性メモリであるDRAM、あるいはHDD等の不揮発性メモリが利用されることが多い。スプールバッファは、ユーザが記録を許可するまでの一時的なデータ格納先であり、特別な事情が無い限り、記録後にはデータを保持する必要はない。セキュア記録においては、セキュリティの観点から、記録完了後は直ちにスプールバッファからデータを消去することが望ましく、スプールバッファとして揮発性メモリのDRAMが適する。しかしながら、DRAMはメモリ容量単価が比較的高額のため、そのメモリ容量を必要最小の容量とすることが求められる。そのDRAMの限られた容量の一部をスプールバッファとして使用した場合には、複数のユーザから送信された画像データが格納できなくなる容量不足が生じるおそれがある。そのため、比較的メモリ容量単価として安価なHDDをスプールバッファとして使用することが多い。しかしHDDには、ディスクの回転機構など機械的な故障の可能性があり、また比較的大きな動作電力を必要とする。そのため、スプールバッファとしてNANDフラッシュメモリ等の不揮発性の半導体メモリを使用することが考えられる。近年、NANDフラッシュメモリは、低価格化および大容量化が進んでおり、HDDに代わって、プログラムデータやユーザデータの格納等、その用途が拡大されている。
しかし、NANDフラッシュメモリにはデータの書換え回数に制限があり、その書換えの繰り返しにより許容書換え回数を超えたブロックは、使用できなくなる。ここでの書換えとは、データの書込みと消去とのセットである。使用できなくなったブロックは不良ブロックとして扱われるため、その代替として、NANDフラッシュメモリ内の未使用ブロックが割り当てられることになる。但し、代替ブロックを割り当てることができないほど、不良ブロックが増加した場合には、NANDフラッシュメモリが使用できなくなる。NANDフラッシュメモリの寿命を延ばすために、NANDフラッシュメモリのコントローラは、平準化処理によって各ブロックの書換えを均一化するように、各ブロックへの書換えの管理、制御、および代替ブロックの割り当てを行う。なお、このような平準化処理はウェアレベリングと称される。
一般に、NANDフラッシュメモリのコントローラは、CPUを内蔵するASIC内に構成され、あるいはCPUと直接通信可能な別デバイスとして構成されて、CPUからの制御によりNANDフラッシュメモリを制御する。また一般に、NANDフラッシュメモリへのデータの書込みおよび読出しは、メモリセルの集合であるページと称される単位で実施され、データの消去は、ページの集合となるブロックと称される単位で実施される。また、NANDフラッシュメモリは、その構造上、保存済みのデータを直接書換えることができず、書換え対象となるデータを対象ページからDRAM等に読出し、必要箇所の書換え後に、消去済みの別ページに改めてデータを書込む必要がある。その際、書換え前のデータを格納していた元の対象ページを消去する場合には、同一ブロック内の消去対象外のデータも合わせて、データの読出しと他のブロックへの書込みを行う必要がある。そのため、NANDフラッシュメモリをスプールバッファの一部として使用した場合には、スプールデータが基本的には記録の度に変化するため、データの消去頻度が高くなる。その結果、記録装置の寿命(耐用出力枚数等)前に、NANDフラッシュメモリの容量が仕様上の既定容量を満たさなくなるおそれがある。そのNANDフラッシュメモリが記録装置の制御プログラムやログデータ等の格納にも用いる場合には、記録装置自体が動作できなくなるおそれがある。
<メモリ領域の管理について>
図4(a)は、揮発メモリ内部の領域管理の説明図であり、図4(b)は、不揮発メモリの内部の領域管理の説明図である。図4では、図3に示したRAM3003を揮発メモリ4010と記載し、ROM3004を不揮発メモリ4020と記載している。
揮発メモリ4010は、プログラム領域4011と、ワーク領域4012と、非セキュア記録用スプール領域4013と、セキュア記録用スプール領域A4014と、その他の領域4015と、を含む。プログラム領域4011は、不揮発メモリ4020からコピーされた実行プログラムが格納される領域であり、ブート後のCPUは、この領域からプログラムをフェッチして動作する。但し、実行プログラムは不揮発メモリから直接フェッチされる場合もあるため、揮発メモリにおけるプログラム領域は必須ではない。ワーク領域4012は、処理中の中間データ等が格納される領域である。非セキュア記録用のスプール領域4013には、非セキュア記録のみにおいて用いられるスプールデータが格納される。セキュア記録用のスプール領域A4014には、セキュア記録のみにおいて用いられるスプールデータが格納される。これらのスプール領域4013,4014は、広い意味ではワーク領域の一部と捉えることができるが、ここではメモリ領域の管理手法について言及しているため、便宜上、ワーク領域と分けて表記している。その他の領域4015は、揮発メモリ4010内の管理に用いるブロック、具体的には、不良ブロックに代替するブロック等で構成される。
不揮発メモリ4020は、プログラム格納領域4021と、ユーザデータ格納領域4022と、ジョブ履歴格納領域4023と、セキュア記録用スプール領域B4024と、その他領域4025と、を含む。プログラム格納領域4021には、実行プログラムの実体が格納される。前述したように、CPUは、プログラム格納領域4021に格納されているプログラムを揮発メモリ4010にコピーしてフェッチすることにより動作、もしくは、不揮発メモリ4020からプログラムを直接フェッチすることにより動作する。本実施形態では、プログラム格納領域4021に格納される実行プログラムには、記録ヘッドに対するメンテナンス動作の際に用いられる情報(メンテナンス情報)が含まれる。メンテナンス情報とは、例えば、既定のタイミングでのメンテナンス動作を実行するためのスケジュールに関するデータである。
ユーザデータ格納領域4022には、ユーザデータが格納される。ユーザデータとは、具体的には、ユーザの電話帳やアドレス帳、及び、液晶ディスプレイ(LCD)の輝度やUIの音量等、記録装置1における各種設定に関する情報である。なお、本実施形態で用いる情報として、スプールバッファの分割、および使用するスプールバッファの切り替え等に関する情報も、ユーザデータ格納領域4022に格納される。スプールバッファの分割に関する情報とは、例えば、揮発メモリ4010内のスプール領域のサイズと、不揮発メモリ4020内のスプール領域のサイズに関する情報である。また、スプールバッファの切り替えに関する情報とは、例えば、スプールデータのサイズに関する情報である。格納するスプールデータのサイズに応じて、そのデータを、セキュア記録用スプール領域A4014と、セキュア記録用スプール領域B4024と、の何れにスプールするかが決定される。
ジョブ履歴格納領域4023には、1日や1週間などの一定期間に受信した記録ジョブの数、および画像データのサイズ等に関する情報が格納される。セキュア記録用スプール領域B4024には、セキュア記録のみおいて用いられるスプールデータが格納され、揮発メモリ4010内のセキュア記録用スプール領域A4014の空き容量よりもサイズの大きいスプールデータが発生した場合に用いられる。その他領域4025は、不揮発メモリ4020内での管理に用いるブロック、具体的には、不良ブロックに代替するブロック等で構成されている。
<画像データの保存について>
図5は、画像データからページ毎に生成されるプリンタ用画像データのスプール処理を説明するためのフローチャートである。図5に示される一連の処理は、コントローラユニット100のCPUがROM107に記憶されているプログラムコードをRAM106に展開して実行することにより行われる。もしくは、図5におけるステップの一部または全部の機能をASICまたは電子回路等のハードウェアによって実現してもよい。なお、各処理の説明における記号「S」は、ステップであることを意味する。
コントローラユニット100は、受信した記録ジョブがセキュア記録用のジョブであるか否を判定し(S1,S2)、その判定結果に応じた記録モードを設定する。記録モードとしては、DRAMとeMMCとを併用するモード(第1モード)と、DRAMのみを使用するモード(第2モード)と、が設定可能であり、第1モードの設定時にセキュア記録が実施され、第2モードの設定時に非セキュア記録が実施される。
すなわち、受信した記録ジョブがセキュア記録用のジョブでない場合には、スプールバッファとして、図3のRAM(スプールバッファ1)3003に対応するDRAM(揮発性メモリ)のみを使用するモードが選択される(S3)。その後、コントローラユニット100は、そのDRAMを画像データのスプール先として、1ページ分の画像(ページ画像)に対応するプリンタ用画像データ(1ページ分の画像データ)を生成する(S5)。1ページ分の画像データを生成した後、コントローラユニット100は、処理対象の次のページがあるか否かを判定し(S6)、次ページが存在している間は、S5の画像データの生成処理を繰り返す。一方、受信した記録ジョブがセキュア記録用のジョブであると判定された場合、コントローラユニット100は、図3のRAM3003に対応するDRAMと、図3のROM(スプールバッファ2)3004に対応するeMMC(不揮発性メモリ)と、を併用するモードを選択する(S4)。その後、コントローラユニット100は、そのDRAMとeMMCの使用状況に応じて画像データのスプール先を決定して、1ページ分の画像データを生成する(S5))。
このように、ホスト装置400からコントローラユニット100に対して画像データが所定単位(本例の場合は、1ページ単位)で順次入力される。コントローラユニット100は、その所定単位毎の画像データをビットマップに展開した後、圧縮処理などを施してプリンタ用画像データを生成して、スプールバッファにスプールする。プリントエンジンユニット200は、そのプリンタ用画像データに基づいて記録データを生成し、その記録データに基づいて記録ヘッド8を駆動する。
図6は、図5における1ページ分のプリンタ用画像データの生成処理(S5)におけるスプールバッファの切替処理を説明するためのフローチャートである。
まずコントローラユニット100は、DRAM(図3のRAM3003に対応)に対して1ページ分のプリンタ用画像データのスプールを試みる(S11)。そのスプールが完了した場合、図6のスプールバッファの切替え処理を終了する(S12)。一方、そのスプールの途中でDRAMの容量がフルにとなって、プリンタ用画像データが完全にスプールできなった場合、コントローラユニット100は、図5のS3またはS4において選択されたスプールモードを判定する(S13)。スプールモードとして、図5のS3においてDRAM使用のスプールモードが選択されている場合、コントローラユニット100は、そのDRAMに容量の空きができるまで待つ(S14)。その空きができるときとは、DRAMに保存されている画像データが消去されて、空き容量が増加するときである。具体的に、プリンタ用画像データが消去されるときは、DRAMに保存されたプリンタ用画像データが記録媒体に記録されて、その記録媒体が記録装置から排出されたとき、および画像の記録がキャンセルされたときなどである。DRAMの容量に空きができたとき(空き容量が増加したとき)は、S14からS11に戻って処理を継続する。
S4において、スプールモードとしてDRAM/eMMC使用のスプールモードが選択されていた場合、コントローラユニット100は、スプールバッファをeMMCに切り替える。すなわち、コントローラユニット100は、1ページ分のプリンタ用画像データを再度生成し(S15)、eMMC(図3のROM3004に対応)に対して、その再作成した1ページ分のプリンタ用画像データのスプールを試みる(S16)。このとき、先のS11においてDRAMに途中まで保存された同じページのプリンタ用画像データは削除される。その後、eMMCに対するスプールが完了した場合(S17−Yes)、図6の処理を終了する。一方、そのスプール途中でeMMCの容量がフルにとなって、画像データが完全にスプールできなった場合(S17−No)、コントローラユニット100は、DRAMまたはeMMCに容量の空きができるまで待つ(S18,S19)。eMMCに容量の空きができたとき(空き容量が増加したとき)、コントローラユニット100は、S18からS16に戻って処理を継続する。DRAMに容量の空きができたとき、コントローラユニット100は、DRAMの使用が可能か否かを判定する(S20)。具体的には、コントローラユニット100は、DRAMのスプールバッファ7001の空き容量が、生成されスプール対象の画像データのピクセル数から算出される想定最大値サイズ以上であるか否かを判定する。S20においてNoと判定された場合、コントローラユニット100の処理はS18に戻る。一方、S20においてYesと判定された場合、コントローラユニット100は、1ページ分の画像データを再度生成してから(S21)、S11に戻る。このとき、先のS16においてeMMCに途中まで保存された画像データは削除する。なお、S20においてYesと判定された状況でS11に戻った場合、コントローラユニット100は、S11においてYesと判定するため図6の処理が完了する。
図7から図10は、S20における判定処理の必要性についての説明図である。
図7(a)は、初期状態におけるDRAMのスプールバッファ7001とeMMCのスプールバッファ7002の空き容量を表しており、いずれも充分に空いている。図6のS11においては、図7(b)のように、スプールバッファ7001に1ページ目(P1)の画像データ7003がスプールされる。そのスプール中において、図7(b)のようにスプールバッファ7001がフルにならなかった場合には、1ページ目の画像データの生成が終了する。
その後、図8(a)のように、2ページ目(P2)の画像データ7004が生成されて、DRAMのスプールバッファ7001へのスプールが試みられる。図8(a)の場合は、そのスプール中においてスプールバッファ7001がフルとなる。そのため、画像データ7004のスプール先がeMMCのスプールバッファ7002へ切り替わる。図8(b)のように、画像データ7004がスプールバッファ7002にスプールされた場合は、2ページ目の画像データの生成が終了する。
その後、図8(c)のように、3ページ目(P3)の画像データ7005が生成されて、DRAMのスプールバッファ7001へのスプールが試みられる。図7(b)のように、そのスプール中においてスプールバッファ7001がフルにならなかった場合には、3ページ分の画像データの生成が終了する。
その後、図9(a)のように、4ページ目(P4)の画像データ7006が生成されて、DRAMのスプールバッファ7001へのスプールが試みられる。図9(a)の場合は、そのスプール中においてスプールバッファ7001がフルとなる。そのため、画像データ7006のスプール先が切り替わって、図9(b)のように、eMMCのスプールバッファ7002へのスプールが試みられる(S16)。図9(b)の場合は、そのスプール中においてスプールバッファ7002がフルとなる(S17−No)。そのため、図9(c)のように、コントローラユニット100は、スプールバッファ7001または7002の容量の空きを待つ(S18,S19)。
その後、記録動作が進行して、1ページ目(P1)の画像データ7003が記録されることにより、DRAM内(揮発性メモリ内)の画像データ7003が削除されて、DRAMのスプールバッファ7001に容量の空きができる。
ここで、図6のS20の判定処理がなかった場合を想定する。この場合には、DRAMのスプールバッファ7001に容量の空きができたことにより、S19から、そのスプールバッファ7001に対するスプール処理(S21,S11)に移行する。その結果、図10(a)のように、DRAMのスプールバッファ7001に対して、4ページ目(P4)の画像データ7006のスプールが試みられる。図10(a)の場合には、DRAMに容量の空きはできたものの、その容量は、画像データ7006のスプールには不充分である。そのため、eMMCの容量の空きができたか否かに拘わらず、再び、eMMCに対するスプール処理(S15,S16)に移行して、図10(b)のように、そのeMMCに対する4ページ目(P4)の画像データ7006のスプールが再度試みられる。図10(b)の場合は、図9(b)の場合と同様にeMMCの空き容量が不足しているため、その画像データ7006のスプール中においてeMMCのスプールバッファ7002がフルとなる。したがって、再び、スプールバッファ7001または7002の容量の空きを待つ(S18,S19)。この結果、eMMCに対しては、空き容量が依然として不足しているにも拘わらず、同じ画像データのスプールの試みが繰り返されることになる。その後、10(c)のように、2ページ目(P2)の画像データ7004が記録されることにより、その画像データ7004がeMMC内(不揮発性メモリ内)のスプールバッファ7002から削除される。10(c)の場合には、DRAMに容量の充分な空きができて、4ページ目(P4)の画像データ7006がスプールされる。
このように、図6のS20の判定処理がなかった場合には、eMMCのスプールバッファ7002の空き容量が依然として不足しているにも拘わらず、そのeMMCに対して、同じ画像データのスプールの試みが不要に繰り返されることになる。つまり、eMMCの寿命を短縮させる可能性が上がってしまう。
そこで本実施形態においては、DRAMのスプールバッファ7001に容量に空きができたと判定されたときに(S19)、直ちに、DRAMのスプールバッファ7001に対するスプールを試みることはせずに、事前にS20の判定処理をする。この判定処理においては、DRAMのスプールバッファ7001の空き容量と、スプール対象の画像データのサイズと、を比較して、その画像データがスプールバッファ7001にスプール可能か否かを判定する。つまり、現実的な観点から、DRAMを使用が可能か否かを判定する。結果的に、eMMCのスプールバッファ7002に対して、同じ画像データのスプールを必要以上に試みることがなくなり、eMMCに対する画像データの書き込み回数を減らすことができる。
具体的に、S20の判定処理においては、DRAMの使用が可能か否かを判定するための条件として、下記の条件(1)を設定することができる。
(1)DRAMのスプールバッファ7001の空き容量は、生成されスプール対象の画像データのピクセル数から算出される想定最大値サイズ以上であること。
つまり、S20を実行することで、コントローラユニット100は、DRAMが空き容量が対象ページのプリンタ用画像データを保存できる状態まで増加した場合(増加した後)に、DRAMに対する画像データのスプールの試みを開始する。その結果、DRAMに対象ページのプリンタ用画像データを保存できないと判定された後のeMMCへのスプールが実行されなくなるため、不揮発性メモリの長寿命化を図ることができる。
なお、S20の判定処理はDRAMに加えて、eMMCの使用が可能か否かを判定するための条件として下記の条件(2)を設定することもできる。
(2)eMMCのスプールバッファ7002の空き容量は、生成されスプール対象の画像データのピクセル数から算出される想定最大値サイズ以上であること。
S20に条件(2)が加わることで、eMMCが空いているにもかかわらずDRAMが空くまでスプールが待たされること、を防ぐことができる。
なお、条件(1)は、DRAMおよびeMMCに対する画像データのスプールの試みを繰り返す条件と呼ぶこともできる。
図11は、記録装置1における操作パネル104(図2参照)の表示例の説明図である。
セキュア記録を実施する場合には、あとどれくらいの画像データの受付が可能であるかを判断するための目安として、セキュア記録用メモリの総容量と使用量とを表示する。本実施形態のように、揮発性メモリと不揮発性メモリの2種類のメモリを併用する場合には、揮発性メモリであるDRAMと不揮発性メモリであるeMMCの容量の合計と、それらの使用量の合計と、を表示する。本実施形態においては、eMMCに対する画像データの書き込み回数を低減させるために、DRAMのスプールバッファ7001の容量に少しの空きができただけでは、DRAMは使用しない。図6のS14,S18,S19,S20の処理中は、画像データのスプール先のメモリを確保するための動作中であるため、全てのメモリは使用中であるとして表示して、画像データの受信が不可能であることをユーザに伝える。例えば、図10において1ページ目の画像データが記録されてDRAMから削除された場合、DRAMは、空き容量を備えるが画像データを保存することはできない。このような状況において、例えば図11の場合には、DRAMとeMMCとの合計の容量80MBが使用中であると表示される。
(他の実施形態)
上述した第1の実施形態においては、1ページ分の画像データを生成(再生を含む)してから、その画像データをDRAMのスプールバッファ7001またはeMMCのスプールバッファ7002にスプールする。しかし、1ページ分の画像データを生成(再生を含む)しつつ、その画像データをスプールバッファ7001または7002にスプールしてもよい。この場合には、1ページ分の画像データを生成(再生を含む)しつつスプールバッファ7001にスプールしているときに、そのスプール中の画像データのサイズと、その生成処理が未済みの画像データのライン数に比例する想定データサイズと、を合計する。そして、DRAMのスプールバッファ7001の空き容量がその合計以上であるときに、DRAMの使用を継続し、スプールバッファ7001の空き容量がその合計未満のときは、DRAMの使用を中止する。つまり、eMMCのスプールバッファ7002よりもDRAMのスプールバッファ7001を優先的に使用し、スプールバッファ7001がフルとなることが想定されたときに、スプールバッファ7001の使用を停止する。結果的に、eMMCのスプールバッファ7002の使用回数を抑制することができる。
また、前述した実施形態においては、画像データをビットマップに展開した後、圧縮処理などを施してプリンタ用画像データし、そのプリンタ用画像データをスプールバッファにスプールする。しかし、酢プルバッファにスプールする画像データは、ホスト装置からの画像データであってもよく、その画像データに対して少なくとも1つの処理を施した画像データであってもよい。
また、上述した実施形態においては、S20におけるDRAMのスプールバッファ7001の空き容量は、生成されスプール対象の画像データのピクセル数から算出される想定最大値サイズ以上であると記載した。しかし、空き容量のサイズは別のサイズでも構わない。例えば、コントローラユニット100が、DRAMのスプールバッファ7001の空き容量が予め決められた固定的な空き容量であるか否かを判定しても良い。なお、予め決められた空き容量として、ほとんどの画像データを保存できるだけの容量が設定された方が良い。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
1 記録装置
8 記録ヘッド
101,3001 メインコントローラ
106(3003,4012) RAM
107(3004,4020) ROM
7003 1ページ目の画像データ
7004 2ページ目の画像データ
7005 3ページ目の画像データ
7006 4ページ目の画像データ

Claims (12)

  1. 画像データに基づいて画像を記録する記録装置であって、
    揮発性メモリと、
    書換え回数に制限がある不揮発性メモリと、
    前記揮発性メモリおよび前記不揮発性メモリにスプールされた前記画像データを処理する処理手段と、
    前記揮発性メモリに対して前記画像データのスプールを試みて、前記揮発性メモリの空き容量の不足により前記揮発性メモリに前記画像データがスプールできなかった場合に、前記不揮発性メモリに対して前記画像データのスプールを試みる制御手段と、
    を有し、
    前記不揮発性メモリの空き容量の不足により前記不揮発性メモリに前記画像データがスプールできなかった場合に、前記制御手段は、前記揮発性メモリの空き容量が前記画像データのスプールが可能となるまで増加した後に前記揮発性メモリに対する前記画像データのスプールの試みを開始することを特徴とする記録装置。
  2. 前記記録装置は、前記画像データを所定単位で順次入力し、
    前記揮発性メモリの空き容量は、当該揮発性メモリ内の前記画像データが前記所定単位で消去されることにより増加し、
    前記不揮発性メモリの空き容量は、当該不揮発性メモリ内の前記画像データが前記所定単位で消去されることにより増加することを特徴とする請求項1に記載の記録装置。
  3. 前記記録装置は、前記所定単位毎の画像データに基づいて画像を記録し、
    前記揮発性メモリ内および前記不揮発性メモリ内の前記所定単位の画像データは、当該画像データに対応する画像が記録されることにより消去されることを特徴とする請求項2に記載の記録装置。
  4. 前記所定単位はページ単位であることを特徴とする請求項2または3に記載の記録装置。
  5. 前記制御手段は、前記不揮発性メモリの空き容量の不足により前記不揮発性メモリに前記画像データがスプールできなかった場合に、前記不揮発性メモリの空き容量が増加したことを条件として、前記不揮発性メモリに対する前記画像データのスプールを再度試みることを特徴とする請求項1から4のいずれか1項に記載の記録装置。
  6. 前記揮発性メモリおよび前記不揮発性メモリにスプールされる前記画像データは、ビットマップに展開された画像データであることを特徴とする請求項1から5のいずれか1項に記載の記録装置。
  7. 前記記録装置は、前記揮発性メモリおよび前記不揮発性メモリに対しての画像データのスプールを許容する第1モードと、前記揮発性メモリに対してのみの画像データのスプールを許容する第2モードと、が設定可能であることを特徴とする請求項1から6のいずれか1項に記載の記録装置。
  8. 前記第1モードの設定時に前記記録装置に入力される前記画像データは、セキュア記録される画像データであり、
    前記第2モードの設定時に前記記録装置に入力される前記画像データは、非セキュア記録される画像データであることを特徴とする請求項7に記載の記録装置。
  9. 前記不揮発性メモリはNANDフラッシュメモリであることを特徴とする請求項1から7のいずれか1項に記載の記録装置。
  10. 前記画像データのスプールが可能となる前記揮発性メモリの空き容量は、予め設定された所定の空き容量であることを特徴とする請求項1から9のいずれか1項に記載の記録装置。
  11. 画像データに基づいて画像を記録する記録方法であって、
    揮発性メモリおよび不揮発性メモリにスプールされた前記画像データを処理する処理工程と、
    前記揮発性メモリに対して前記画像データのスプールを試みて、前記揮発性メモリの空き容量の不足により前記揮発性メモリに前記画像データがスプールできなかった場合に、前記不揮発性メモリに対して前記画像データのスプールを試みる制御工程と、
    を含み、
    前記不揮発性メモリの空き容量の不足により前記不揮発性メモリに前記画像データがスプールできなかった場合に、前記制御工程において、前記揮発性メモリの空き容量が前記画像データのスプールが可能となるまで増加した後に前記揮発性メモリに対する前記画像データのスプールの試みを開始することを特徴とする記録方法。
  12. 請求項11に記載の記録方法をコンピュータに実行させるためのプログラム。
JP2018067759A 2018-03-30 2018-03-30 記録装置、記録方法、およびプログラム Active JP6938418B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018067759A JP6938418B2 (ja) 2018-03-30 2018-03-30 記録装置、記録方法、およびプログラム
US16/359,337 US10678486B2 (en) 2018-03-30 2019-03-20 Printing apparatus controlling spooling of image data in volatile and non-volatile memories based on memory capacity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018067759A JP6938418B2 (ja) 2018-03-30 2018-03-30 記録装置、記録方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2019180004A JP2019180004A (ja) 2019-10-17
JP6938418B2 true JP6938418B2 (ja) 2021-09-22

Family

ID=68056160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018067759A Active JP6938418B2 (ja) 2018-03-30 2018-03-30 記録装置、記録方法、およびプログラム

Country Status (2)

Country Link
US (1) US10678486B2 (ja)
JP (1) JP6938418B2 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000187567A (ja) * 1998-12-22 2000-07-04 Canon Inc 印刷制御方法及び装置
JP3734815B2 (ja) * 2003-12-10 2006-01-11 任天堂株式会社 携帯ゲーム装置及びゲームプログラム
US8149448B2 (en) * 2005-08-31 2012-04-03 Sharp Laboratories Of America, Inc. Systems and methods for rapidly creating an image from a document
JP4890220B2 (ja) * 2006-12-06 2012-03-07 株式会社リコー 画像形成装置及び画像形成装置におけるデータ記憶方法
JP5652134B2 (ja) * 2010-11-02 2015-01-14 ブラザー工業株式会社 印刷装置
JP2012106383A (ja) * 2010-11-16 2012-06-07 Ricoh Co Ltd 画像形成装置
JP6139830B2 (ja) 2011-11-07 2017-05-31 キヤノン株式会社 印刷装置及びその制御方法
JP2015136080A (ja) * 2014-01-20 2015-07-27 株式会社リコー 画像形成装置、画像形成装置の制御方法および画像形成装置の制御プログラム
JP6405736B2 (ja) 2014-06-17 2018-10-17 コニカミノルタ株式会社 画像処理装置及び書き込み制御プログラム並びに書き込み制御方法

Also Published As

Publication number Publication date
US20190303064A1 (en) 2019-10-03
JP2019180004A (ja) 2019-10-17
US10678486B2 (en) 2020-06-09

Similar Documents

Publication Publication Date Title
JP5917163B2 (ja) 情報処理装置、その制御方法及びプログラム並びに記憶媒体
JP2007001090A (ja) 画像形成装置のデータバックアップシステム、画像形成装置及びデータバックアップ方法
JP7222728B2 (ja) 記録装置、制御方法およびプログラム
JP6938418B2 (ja) 記録装置、記録方法、およびプログラム
JP7039361B2 (ja) 記録装置
JP2007223163A (ja) 画像形成装置、画像表示方法
US8780384B2 (en) Selection of job image data for storage on external memory and memory management techniques
US7548337B2 (en) Image forming device
JP4586734B2 (ja) 印刷装置、及び、印刷方法
JP5625888B2 (ja) 半導体記憶媒体制御装置、半導体記憶媒体の制御方法及び画像形成装置。
US11301191B2 (en) Printing apparatus, controlling method therefor, and storage medium
JP2006263966A (ja) 画像形成装置
JP2012191370A (ja) 画像形成装置
US20210329140A1 (en) Image forming apparatus
JP7016725B2 (ja) 情報処理装置、制御方法及びプログラム
US20200174876A1 (en) Electronic apparatus equipped with hdd, control method therefor, and storage medium
CN109814813B (zh) 具有多个存储器的装置、控制方法和存储介质
JP5003330B2 (ja) 画像データ処理装置および画像データ処理方法
JP4337540B2 (ja) 画像処理装置
JP2018063499A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2017027203A (ja) 記憶媒体制御装置、記憶媒体制御プログラム及び記憶媒体制御方法
JP5777333B2 (ja) 画像処理装置、その制御方法及びプログラム
JP2015136080A (ja) 画像形成装置、画像形成装置の制御方法および画像形成装置の制御プログラム
JP2012190196A (ja) 画像形成装置
JP5743531B2 (ja) 画像処理装置、その制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201014

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210630

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: 20210803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210901

R151 Written notification of patent or utility model registration

Ref document number: 6938418

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151