JP2019179292A - 記録装置、その制御方法、及びプログラム - Google Patents

記録装置、その制御方法、及びプログラム Download PDF

Info

Publication number
JP2019179292A
JP2019179292A JP2018066479A JP2018066479A JP2019179292A JP 2019179292 A JP2019179292 A JP 2019179292A JP 2018066479 A JP2018066479 A JP 2018066479A JP 2018066479 A JP2018066479 A JP 2018066479A JP 2019179292 A JP2019179292 A JP 2019179292A
Authority
JP
Japan
Prior art keywords
nonvolatile memory
volatile memory
recording apparatus
data
spool
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
JP2018066479A
Other languages
English (en)
Other versions
JP7039361B2 (ja
Inventor
辰則 佐々木
Tatsunori Sasaki
辰則 佐々木
宏典 中村
Hironori Nakamura
宏典 中村
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 JP2018066479A priority Critical patent/JP7039361B2/ja
Priority to US16/362,372 priority patent/US10705773B2/en
Publication of JP2019179292A publication Critical patent/JP2019179292A/ja
Application granted granted Critical
Publication of JP7039361B2 publication Critical patent/JP7039361B2/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/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/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/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/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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation

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)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Memory System (AREA)
  • Storing Facsimile Image Data (AREA)

Abstract

【課題】不揮発メモリの寿命がなくなることが原因で記録装置が使用できなくなってしまうことを抑制すること。【解決手段】 本発明は、揮発メモリと、ブロック単位でデータの書換えが行われ、書換え回数に上限がある不揮発メモリと、前記揮発メモリ及び前記不揮発メモリの、印刷データを一時的に格納するスプールバッファとしての使用を管理する管理手段と、を有する記録装置であって、前記管理手段は、前記不揮発メモリの不良ブロックの状態を示す状態情報とは異なる前記不揮発メモリの推定寿命に基づき、前記不揮発メモリの使用を制限することを特徴とする記録装置である。【選択図】図8

Description

本発明は、記録装置、その制御方法、及びプログラムに関し、具体的には、印刷データを記録装置にスプールする技術に関する。
オフィスで共用するプリンタにおいて、ユーザが印刷データを送信した後、実際にプリンタの所に行くまで印刷物を出力せず、ユーザがプリンタの前で印刷出力を指示したタイミングで印刷物の出力を開始する方式が採用されることがある。このような印刷方式を情報セキュリティの観点から「セキュア印刷」と呼称する。これに対し、前述したような印刷データがプリンタに送られたタイミングで印刷物の出力を開始する方式を「非セキュア印刷」と呼称する。
セキュア印刷可能な環境を提供するためには、プリンタが、印刷データをすぐに印刷出力せずに一時的に格納する手段を備える必要がある。
なお、一般に印刷データを一時的に格納しておくことをスプールと呼び、スプールデータ格納用のメモリ領域をスプールバッファと呼び、プリンタがスプールバッファとしてNANDフラッシュを使用することも考えられる。
ここでNANDフラッシュのように書換え回数に制限がある不揮発メモリを制御する方法が特許文献1に開示されている。特許文献1では、書換え回数に制限がある不揮発メモリのブロックのうちの不良ブロックを検出し、該検出した不良ブロックの数が所定数に達した場合、該不揮発メモリへの書込みを規制する方法が提案されている。
特開2009−55457号公報
しかしながら、特許文献1では、不揮発メモリ内の不良ブロック数を正確に把握できることが前提となっているが、昨今普及しているNAND応用製品では不良ブロック数を把握できない物も存在している。例えばNAND応用製品には、Embedded Multi Media Card(以下eMMC)と呼ばれる物が存在する。eMMCは、NANDフラッシュコントローラとNANDフラッシュメモリとが1チップで構成され、メモリ部の管理、制御を内部で独立して行うことを可能としている。eMMCを使用することで、プリンタ制御部ではウェアレベリング等の煩雑な処理を気にすること無く、書込み、読出し、消去等をコマンドとして発行することで容易に行うことが可能となるという利点がある。但し、このようなNAND応用製品では、NANDフラッシュコントローラが行っている管理、制御の内容をプリンタ制御部が知るために利用可能な手段が限定的となっており、正確な不良ブロック数を知る手段が用意されていない。eMMCの場合、プリンタ制御部は、eMMC内で発生した不良ブロックへの代替ブロック置き換えに依り代替ブロックの80%が使用された時点か、ほぼ枯渇状態となり緊急の対処が必要になった時点で、プリンタ制御部は、かかる不良ブロックの情報を検出する。つまり検出した時点では不良ブロックが既に多数発生した状態であり、ウェアレベリングにより各ブロックが均一に使用されることを考慮すると、他のブロックも近々に不良ブロック化する可能性が高くなっている。そのため、不良ブロックの情報を検出した時点で不揮発メモリへの書込み制限を行ったとしても、プリンタ自体が近く動作できなくなるという問題を回避できないおそれがあった。
そこで本発明は、上記の課題に鑑み、不揮発メモリの寿命を延ばし、記録装置の仕様で規定される製品寿命に達する前に、不揮発メモリの寿命がなくなることが原因で記録装置が使用できなくなってしまうことを抑制することを目的とする。
本発明は、揮発メモリと、ブロック単位でデータの書換えが行われ、書換え回数に上限がある不揮発メモリと、前記揮発メモリ及び前記不揮発メモリの、印刷データを一時的に格納するスプールバッファとしての使用を管理する管理手段と、を有する記録装置であって、前記管理手段は、前記不揮発メモリの不良ブロックの状態を示す状態情報とは異なる前記不揮発メモリの推定寿命に基づき、前記不揮発メモリの使用を制限することを特徴とする記録装置である。
本発明により、不揮発メモリの寿命がなくなることが原因で記録装置が使用できなくなってしまうことを抑制することが可能になる。
記録装置が待機状態にあるときの図 記録装置の制御構成を示すブロック図 コントローラユニットの詳細な構成を示すブロック図 メモリ領域の管理手法の説明図 eMMCとメインコントローラとの接続形態を示すブロック図 Pre EOL Informationの説明図 Device life time estimationの説明図 不揮発メモリに対するスプールデータ書込み処理のフローチャート
以下、本発明の実施形態について図面を参照して説明する。
[第1実施形態]
<記録装置の構成について>
図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を介して、画像処理を施した画像データをプリントエンジンユニット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に、保存した画像データを記録データへ変換させる。記録データが生成されると、プリントコントローラ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の使用を想定している。eMMC上のスプール領域は、CPUから直接メモリマップ上に見ることが可能な非ファイルシステム領域でも良いし、ファイルシステムを介したファイルシステム領域でも構わない。尚、本実施形態では、eMMC上のスプール領域は、非ファイルシステム領域であるものとする。
前述の通り、ROMには書換え回数の制限がある。従って、スプールデータは通常、書換え回数制限の無いRAMに格納し、RAM内に確保しているスプールバッファの容量を超えた場合のみROMに格納するといったように、ROMを補助的に使用することが望ましい。また、印刷データにはユーザの機密情報が含まれる場合があるため、特別な事情が無い限り、印刷出力された印刷データはプリンタ内から消去する事が望ましい。従って、RAMにスプールデータを格納する場合、万一印刷データを消去し損ねる事態が発生したとしても、記録装置1の電源が抜かれればRAM内の印刷データは自動的に消去されるため、都合が良い。一方、ROMにスプールデータを格納する場合、記録装置1の電源が抜かれてもROM内の印刷データは自動的に消去されないため、セキュリティの観点からRAMより不利である。また、印刷データの記録と消去という二回の書込みが発生することから、書換え回数制限の観点からも、RAMより不利である。以上のことから、図3では、セキュア印刷と非セキュア印刷との両方の方式で使用する優先度の高いバッファとして、RAM3003をスプールバッファ1と記載している。これに対し、セキュア印刷のみで使用する優先度の低いバッファとして、ROM3004をスプールバッファ2と記載している。尚、本実施形態では、セキュア印刷時のみROM3004をスプールバッファ2として使用し、印刷後、格納してから一定時間経過後、及び記録装置1の電源オフ時には必ず、ROM3004からのスプールデータの消去を実行する。また、本実施形態のスプールデータの一例は、印刷データである。
<メモリ領域の管理について>
以下、前述のROM、RAMにおけるメモリ領域の管理について、図4を用いて説明する。図4は、揮発メモリと不揮発メモリとの夫々における、内部の領域管理の概要を示す図である。尚、図4では、図3に示したRAM3003を揮発メモリ4010と記載し、ROM3004を不揮発メモリ4020と記載している。
揮発メモリ4010は、プログラム領域4011と、ワーク領域4012と、非セキュア印刷用スプール領域4013と、セキュア印刷用スプール領域4014と、その他領域4015とを含む。プログラム領域4011は不揮発メモリ4020からコピーされた実行プログラムが置かれる領域であり、ブート後のCPUは、この領域からプログラムをフェッチし動作する。但し、実行プログラムは不揮発メモリから直接フェッチされる場合もあるため、揮発メモリにおけるプログラム領域は必ずしも必須ではない。ワーク領域4012は、処理中の中間データ等が置かれる。非セキュア印刷用スプール領域4013には、非セキュア印刷でのみ用いられるスプールデータが格納される。セキュア印刷用スプール領域4014には、セキュア印刷でのみ用いられるスプールデータが格納される。尚、非セキュア印刷用スプール領域4013とセキュア印刷用スプール領域4014とは、広い意味ではワーク領域の一部ととらえることが出来るが、ここではメモリ領域の管理手法について言及しているため、便宜上ワーク領域と分けて表記している。その他領域4015は、揮発メモリ4010内での管理に用いるブロック、具体的には、不良ブロックに代替するブロック等で構成されている。
不揮発メモリ4020は、プログラム格納領域4021と、ユーザデータ格納領域4022と、ジョブ履歴格納領域4023と、セキュア印刷用スプール領域4024と、その他領域4025とを含む。プログラム格納領域4021は実行プログラムの実体が格納されている。前述の通りCPUは、プログラム格納領域4021に格納されているプログラムを揮発メモリ4010にコピーしてフェッチするか、不揮発メモリ4020から直接フェッチすることで実行する。尚、本実施形態では、プログラム格納領域4021に格納される実行プログラムには、記録ヘッドに対するメンテナンス動作の際に用いられる情報(メンテナンス情報とする)が含まれる。メンテナンス情報とは例えば、既定のタイミングでのメンテナンス動作を実行するためのスケジュールに関するデータである。
ユーザデータ格納領域4022には、ユーザデータが格納される。ユーザデータとは具体的には、ユーザの電話帳やアドレス帳、及び、液晶ディスプレイ(LCD)の輝度やUIの音量といった記録装置1における各種設定に関する情報等である。尚、本実施形態で用いる、スプールバッファの分割、使用するスプールバッファの切り替え等に関する情報も、ユーザデータ格納領域4022に格納される。ここで、スプールバッファの分割に関する情報とは例えば、揮発メモリ4010内のスプール領域と不揮発メモリ4020内のスプール領域とのサイズである。また、スプールバッファの切り替えに関する情報とは例えば、スプールデータのサイズである。格納するスプールデータのサイズに応じて、セキュア印刷用スプール領域4014と、セキュア印刷用スプール領域4024との何れに格納するかが決まる。
ジョブ履歴格納領域4023には、1日や1週間といった一定期間に受信した印刷ジョブの数、印刷データのサイズ等の情報が格納される。セキュア印刷用スプール領域4024には、セキュア印刷でのみ用いられるスプールデータが格納され、揮発メモリ4010内のセキュア印刷用スプール領域4014の空き容量よりサイズの大きいスプールデータが発生した場合に用いられる。その他領域4025は、不揮発メモリ4020内での管理に用いるブロック、具体的には、不良ブロックに代替するブロック等で構成されている。
<eMMCの機能について>
以下、不揮発メモリ4020としての使用を想定しているeMMCの機能について、図5を用いて説明する。図5は、eMMC5001とメインコントローラ3001との接続形態を示すブロック図である。
図5では、図4に示した不揮発メモリ4020を、eMMC5001と記載している。eMMC5001は前述の通り、NANDフラッシュコントローラ5002とNANDフラッシュメモリ5003とが1チップで構成された物である。NANDフラッシュコントローラ5002は、外部IF5004と、管理部5005と、NAND‐IF5006とで構成される。外部IF5004は、コマンドに基づき、ホストとなるメインコントローラ3001との通信を行う。管理部5005は、ウェアレベリング、不良ブロック管理等を行う。NAND‐IF5006は、eMMC5001内のNANDフラッシュメモリ5003との通信を行う。
管理部5005は各種レジスタを有する。このレジスタには、eMMC5001自身の動作条件を保持する動作条件レジスタ(OCR)や、eMMC5001の特性を示すデータ(Device Specific Data)を保持するレジスタが含まれる。尚、Device Specific Dataは従来、MMCカード互換によりCard Specific Dataとも呼ばれるため、本明細書ではこれをCSDと略記し、CSDを保持するレジスタをCSDレジスタと呼ぶ。
CSDレジスタの中でも、半導体技術協会(JEDEC)で規定され規格の更新毎に機能追加されることが多い拡張CSDレジスタは、対応機能やその設定、内部の状態情報を示す物が準備されている。特にVersion5.0以降では、不良ブロックに対応する代替ブロックの状態を示すPre EOL INFORMATION(以下PRE_EOL_INFO)の項目が追加されている。
また、eMMCの寿命推定を可能とするDevice life time estimationの項目も追加されている。つまり、本実施形態の不揮発メモリ4020は、不揮発メモリ4020の不良ブロックの状態を示す状態情報(図6)と、図6とは異なる不揮発メモリ4020の推定寿命(図7)とを保持している。この項目では、各ブロックの平均書換え回数のブロック数分の総和を、全ブロック合計の書換え耐用回数で除算した値に対応する値として0x00〜0x0Aが規定されている。Device life time estimationを使用することで、eMMCの寿命が尽きる前に、メインコントローラ3001が、その内部状態を検出することが可能となっている。
しかし、このようなレジスタを使用した場合でも、使用形態次第では不十分である。例えばPRE_EOL_INFOで検出できる状態は、図6に示すように3段階のみのため、準備された代替ブロックの内80%が置換え消費された時点で、当該状態が検出されても遅い場合がある。これはNANDフラッシュの特性として書換えの耐用回数を超えたブロックが不良ブロックとなり易く、不良ブロック多発の状態では、ウェアレベリングで書換え回数が均一化されている。よって、他の正常ブロックも近く不良ブロック化する可能性が高いためである。従って、この時点で書換え頻度の高いセキュア印刷用のスプールバッファとして使用することを停止しても遅い可能性、つまり、その後の他の正常ブロックへの書換えによって正常ブロックの不良ブロック化がすぐに進行する可能性があった。このような場合、eMMCの寿命がほぼ製品の寿命となってしまう。
一方、セキュア印刷用スプールバッファの主な役割としては、前述のデータ滞留によるユーザによる印刷データ投入完了までの待ち時間短縮であり、仮に待ち時間が延長されても製品として使用できなくなるよりは良いという考えが多い。そのため、製品として妥当性のあるタイミングとして、不良ブロックが発生する前、又は、各ブロックへの書換え回数が耐用回数に対して十分に余裕がある段階で、スプールバッファとしての使用を停止することが望ましい。そこで本発明では、eMMC5001へのデータ書込み前に、メインコントローラ3001は、前述のDevice life time estimationの値を参照する。そして、参照した値が所定値以上の場合、eMMCの寿命が近づいているとみなして、スプールバッファとしての使用を停止した上でユーザに警告を行い、製品寿命を延ばすために必要な修理対応等の準備を促す。
Device life time estimationでは、図7に示すように0x00〜0x0Aの値を用いることで、デバイスの状態を10段階で表現することが可能である。尚、ここで示す寿命が推定となる理由は、ウェアレベリング処理により各ブロックの書換え回数は均一化されるものの、内部状態により少なからずバラつきが発生することから、該書換え回数を全ブロックの平均値として算出するためである。
また、Device life time estimationは詳細には、TypeAとTypeBとの2種類があり、各値が示す内容は前述の通り共通にJEDECで規定されているが、TypeAとTypeBとの使い分けについては規定されていない。そのため、デバイスベンダ毎にそれぞれの使用方法が異なる。但し一般的には、eMMCを構成するNANDフラッシュメモリにおける記憶方式に合わせた形でTypeAとTypeBとを使い分ける。ここでの記憶方式とは、各メモリセルに記憶する記憶密度である。昨今、大容量化対応のため1セルに格納するデータが多ビット化している。
通常1セルに格納されるデータは、対象のセルに電荷が有るか無いかの2値、1bitで判定するSingle−Level Cell(以下SLC)方式で記憶される。これに対し、多ビット品である、例えばMulti−Level Cell(以下MLC)方式で記憶されるデバイスでは、1セル内の電圧状態として4段階(つまり2bit)の何れかの状態を取り得る。そのため、MLCはSLCと比較して、2倍のデータを格納できるため大容量化が容易であるというメリットがあるが、同一容量のSLCと比較すると書込み時間が長くなる、ブロック単位での書換え耐用回数が低下する等のデメリットもある。尚、本実施形態では、MLC方式のNANDフラッシュメモリを内蔵したeMMCを使用することを想定している。
前述のメリット、デメリットは搭載製品都合により優先される点が異なるため、回避策の一つとして、MLC方式のセルに対してSLCと同様に2段階での電圧状態を用いてのデータ格納を可能とする疑似SLCと呼ばれる記憶方式が用意されている。そのためDevice life time estimationのTypeAとTypeBとの内の一方は、eMMC内のNANDフラッシュメモリにおけるデフォルトの記憶方式(ここではMLC方式)で記憶した場合の寿命推定を示す。また、他方は、疑似SLC方式で記憶した場合の寿命推定を示す。
尚、多ビット品には8段階の電圧状態を用いることで、1セルあたり3bitで記憶可能なTriple−Level Cell(以下TLC)と呼ばれる方式等もある。この場合であっても前述の場合と同様、Device life time estimationのTypeAとTypeBとの内の一方は、デフォルトの記憶方式(ここではTLC方式)で記憶した場合の寿命推定を示す。また、他方は、疑似SLC方式に対する寿命推定を示す。
尚、本実施形態は前述のように、TypeAとTypeBとのどちらが、デフォルトと疑似SLCとの何れの記憶方式で記憶した場合の寿命推定を示すか明確にしていない。何れの記憶方式を採用した場合であっても、書換え回数に上限がある不揮発メモリのスプールバッファとしての使用を、適切なタイミングで停止することを目的としている。
<不揮発メモリに対するスプールデータ書込み処理について>
ここで本実施形態における課題の一例について詳細に説明する。スプールバッファとして、揮発メモリであるDRAM、又は、不揮発メモリであるHDD等を利用して実現されることが多い。スプールバッファは、ユーザが印刷指示を入力して印刷物を出力するまでの間、印刷データを一時的に格納する領域であり、特別な事情が無い限り、印刷出力後に印刷データを保持しておく必要は無い。特にセキュア印刷では、セキュリティの観点から印刷出力完了後は直ちにスプールバッファから印刷データを消去することが望ましいため、スプールバッファとして、揮発メモリであるDRAMが適する。
しかし、DRAMはメモリ容量単価が比較的高額のため、使用容量を必要最低限に抑えることが望ましく、その限られた容量の一部をスプールバッファとして用いた場合、複数ユーザが送信してきた印刷データを格納すると不足する可能性がある。そのため、メモリ容量単価が比較的安価なHDDをスプールバッファとして使用することが多いが、HDDはディスクの回転機構の経年劣化等の機械的な故障の虞があり、また、比較的大きな動作電力を必要とする等の問題がある。これらの問題を解決する手段として、NANDフラッシュ等の不揮発性の半導体メモリを使用することが考えられる。NANDフラッシュは近年、低価格化、大容量化が進んでおり、HDDに代わりプログラムデータやユーザデータの格納等に利用され、用途が拡大されている。
しかし、NANDフラッシュは書換え回数に制限があり、書換えを繰り返すことで許容書換え回数を超えたブロックは使用できなくなるという問題がある。尚、ここでの書換えとは、消去と書込みとをセットで行うことを指す。使用できなくなったブロックは不良ブロックとして扱われ、NANDフラッシュ内の未使用ブロックを代替のブロックとして割り当てることで、この問題に対処している。但し、代替ブロックを割り当てられないほど不良ブロックが増加すると、NANDフラッシュは謳われている容量のメモリとして使用できない状態になる。このため、ウェアレベリングと呼ばれる平準化処理が行われる。この平準化処理によって、各ブロックの書換えが均一化される様にNANDフラッシュコントローラはNANDフラッシュ内の各ブロックへの書換えの管理及び制御、並びに、代替ブロック割り当てを行う事で寿命が延びる。
NANDフラッシュコントローラは一般的にNANDフラッシュメモリと接続され、CPUを内蔵するASIC内に構成されるか、又は、CPUと直接通信可能な別デバイスとしてCPUと接続するように構成される。このような構成のもと、NANDフラッシュコントローラは、CPUからの制御に基づきNANDフラッシュメモリの制御を行う。尚、一般的にNANDフラッシュにおける書込み、読出しはメモリセルの集合であるページと呼ばれる単位で、消去はページの集合となるブロックと呼ばれる単位で実施することが可能である。さらに内部構造上、保存済みのデータを直接書換えることができず、書換え対象となるデータを対象ページからDRAM等に読出し、必要箇所の書換え後に消去済みの別ページに改めて書込む必要がある。この際、書換え前のデータを格納していた元の対象ページを消去する場合には、同一ブロック内の消去対象外のデータも合わせて読出しと他のブロックへの書込みを行う必要がある。そのため、前述のようにNANDフラッシュをスプールバッファの一部として使用した場合、基本的にスプールデータは印刷の度に変化するため消去頻度が高くなる。つまり、使われ方次第では、プリンタの製品としての寿命(耐用出力枚数等)の前に、NANDフラッシュが仕様上の既定容量を格納することができなくなるおそれがあった。結果、NANDフラッシュをプリンタの制御プログラムやログデータ等の格納にも用いる場合には、プリンタ自体が動作できなくなるおそれがあった。このような課題を図8の処理を実行することで解決することが可能となる。
以下、本実施形態における、不揮発メモリ内のセキュア印刷用のスプールバッファを継続して使用するか、或いは、該スプールバッファの使用を制限するかの判定を伴う、不揮発メモリに対するスプールデータ書込み処理について、図8を用いて説明する。なお、図8は、セキュア印刷データを受信した場合に開始される。
S801において、メインコントローラ3001は、eMMCであるROM3004への書込み要求を受け取り、又は、ROM3004への書込みが必要と判定する。例えば、メインコントローラ3001は、受信したセキュア印刷データの全てをRAM3003に保存できないと判定した場合、ROM3004への書込みが必要と判定する。
S802において、メインコントローラ3001は、拡張CSDレジスタで保持される、Device life time estimationのTypeAとTypeBとの2項目の値を読み出す。
S803において、メインコントローラ3001は、S802で読み出した値を用いて、ROM3004の寿命が充分残っているか判定する。具体的に本実施形態では、S802で読み出した2項目の値が何れも所定値を超えていないか判定する。本ステップの判定結果が真の場合、ROM3004の寿命が充分残っているとみなしてS804に進む一方、該判定結果が偽の場合、S807に進む。尚、ここでは、Device life time estimationのTypeAとTypeBとの2項目の値の夫々が、所定値を超えていないか判定しているが、本発明はこの形態に限定されない。例えば、TypeAの値とTypeBの値とを比較し、これらの2値のうち何れか大きい方の値が所定値を超えていないか判定しても良い。例えば、メインコントローラ3001が、ROM3004への問い合わせ結果として9を受信したか否かを判定しても良い。つまり、この処理は、メインコントローラ3001が90〜100%デバイス寿命が使用されたことを示す値を受信したか否かの判定に相当する。
S804において、メインコントローラ3001は、拡張CSDレジスタで保持されるPRE_EOL_INFOの値を読み出す。
S805において、メインコントローラ3001は、S804で読み出した値を用いて、代替ブロックの消費率が所定値未満か判定する。具体的には、S804で読み出したPRE_EOL_INFOの値が“0x01”であるか、つまり代替ブロックの消費率が80%未満か判定する。本ステップの判定結果が真の場合、S806に進む一方、該判定結果が偽の場合、S807に進む。尚、本ステップは、省略することも可能である。
S806において、メインコントローラ3001は、S801で受け取った書込み要求に応じたROM3004への書込みを実行する。例えば、メインコントローラ3001は、セキュア印刷用の印刷データをROM3004へ格納する。
S807において、メインコントローラ3001は、ROM3004のセキュア印刷用スプールバッファとしての利用を制限する。本ステップにより、以降のROM3004へのスプールデータの書込みが禁止される。尚、既に、ROM3004内のセキュア印刷用スプール領域4024に格納済みの印刷データに関しては、該印刷データに基づく印刷完了後、又は、所定時間経過後の消去が実行されるまで、保持し続ける。印刷データが消去された空きブロックは、ウェアレベリング処理用領域として利用される。
S808において、メインコントローラ3001は、操作パネル104を介して、ROM3004の寿命が近づいているためスプールバッファの容量が減少する旨の警告をユーザに通知し、修理等の製品が使用不能になる前の対応を促す。尚、操作パネル104を介する他、メインコントローラは、ホストIF3002経由で接続されているホスト機器におけるドライバ等を通じて、ユーザに警告を通知しても良い。以上が、本実施形態における不揮発メモリに対するスプールデータ書込み処理の内容である。
<本実施形態の効果、変形例について>
本実施形態では前述の通り、不揮発メモリの寿命が尽きる前に、不揮発メモリのスプールバッファとしての使用を制限する。これにより、不揮発メモリの寿命を延ばし、仕様上規定される記録装置の製品寿命に達する前に、不揮発メモリの寿命がなくなることが原因で記録装置が使用できなくなってしまうことを抑制することが可能になる。また、不揮発メモリの寿命が近くなっており、修理等を必要としていることをユーザに事前に通知することで、ユーザは、余裕をもって対応することが可能になる。
さらにセキュア印刷の性質上、保存したデータを確実に消去することが求められるが、eMMCは代替ブロックが枯渇すると読出し専用となってしまい、寿命限界まで使用すると最後に保存したデータを消去できなくなる可能性があった。本実施形態ではこのようなデータを消去できなくなる可能性についても、書込み前に推定寿命の導出を実行するため抑制可能である。
尚、製品としては想定される使用条件に対応したシナリオに合わせてセキュア印刷用のスプールバッファ領域も十分なサイズを準備する必要があることは言うまでもない。つまり本実施形態は、揮発メモリ4010内のセキュア印刷用スプール領域4014にタイムアウトまで消去されないデータが常時保存され、不揮発メモリ4020内のセキュア印刷用スプール領域4024が頻繁に使用される場合等の例外的な場合に適用される。
また、前述の説明では、Device life time estimationのTypeAとTypeB、及び、PRE_EOL_INFOの各項目の値をそれぞれ必要なタイミングで読み出し参照している。しかし、これらの値は同一の拡張CSDレジスタで保持されているから、不揮発メモリへの書込み要求を受け取った直後に、一括で読み出しておき使用しても良い。
さらに、前述の説明では、eMMCを用いる場合を説明したが、eMMCを用いない場合、例えば、メインコントローラ内にNAND−IFとNANDコントローラとを設け、NANDフラッシュメモリと直接接続する場合にも本実施形態を適用できる。この場合、NANDコントローラが、不良ブロックの管理、ウェアレベリング処理、及び、各ブロックの書換え回数と推定寿命との導出を実行する機能を有する。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
1 記録装置
3001 メインコントローラ
3003 RAM
3004 ROM
5005 管理部

Claims (13)

  1. 揮発メモリと、
    ブロック単位でデータの書換えが行われ、書換え回数に上限がある不揮発メモリと、
    前記揮発メモリ及び前記不揮発メモリの、印刷データを一時的に格納するスプールバッファとしての使用を管理する管理手段と、
    を有する記録装置であって、
    前記管理手段は、前記不揮発メモリの不良ブロックの状態を示す状態情報とは異なる前記不揮発メモリの推定寿命に基づき、前記不揮発メモリの使用を制限することを特徴とする記録装置。
  2. 前記推定寿命を導出する導出手段を更に有することを特徴とする請求項1に記載の記録装置。
  3. 前記不揮発メモリは、第1の記憶方式と第2の記憶方式との何れかでデータを記憶することが可能であり、
    前記導出手段は、前記不揮発メモリで採用される記憶方式に応じた前記推定寿命を導出することを特徴とする請求項2に記載の記録装置。
  4. 前記導出手段は、前記不揮発メモリの各ブロックの平均書換え回数のブロック数分の総和を、該不揮発メモリの全ブロック合計の書換え耐用回数で除算することで、前記推定寿命を導出することを特徴とする請求項2又は3に記載の記録装置。
  5. 前記管理手段は、前記導出した推定寿命が所定値以上の場合、前記不揮発メモリの使用を制限し、該導出した推定寿命が該所定値未満の場合、前記不揮発メモリの使用を制限しないことを特徴とする請求項4に記載の記録装置。
  6. 前記推定寿命は、Device life time estimationの値であることを特徴とする請求項1乃至5のいずれか1項に記載の記録装置。
  7. 前記不揮発メモリと前記導出手段とは、1チップのeMMCに含まれることを特徴とする請求項2乃至5の何れかに記載の記録装置。
  8. 前記揮発メモリにおける前記スプールバッファには、セキュア印刷の印刷データと非セキュア印刷の印刷データとが格納され、
    前記不揮発メモリにおける前記スプールバッファには、前記セキュア印刷の印刷データが格納されることを特徴とする請求項1乃至7の何れかに記載の記録装置。
  9. 前記管理手段は、前記不揮発メモリへの書込み要求を受け取った場合、又は、該不揮発メモリへの書込みが必要と判定した場合、前記不揮発メモリへの書込み処理を実行する前に、前記不揮発メモリの使用を制限するか判定する判定手段を更に有することを特徴とする請求項1乃至8の何れかに記載の記録装置。
  10. 前記不揮発メモリの使用の制限とは、該不揮発メモリの前記スプールバッファとしての使用の禁止を指すことを特徴とする請求項1乃至9の何れかに記載の記録装置。
  11. 前記前記不揮発メモリの不良ブロックの状態を示す状態情報と、前記推定寿命を示す情報は、前記不揮発メモリに保持されることを特徴とする請求項1乃至10の何れかに記載の記録装置。
  12. 揮発メモリと、
    ブロック単位でデータの書換えが行われ、書換え回数に上限がある不揮発メモリと、
    前記揮発メモリ及び前記不揮発メモリの、印刷データを一時的に格納するスプールバッファとしての使用を管理する管理手段と、
    を有する記録装置の制御方法であって、
    前記管理手段が、前記不揮発メモリの不良ブロックの状態を示す状態情報とは異なる前記不揮発メモリの推定寿命に基づき、前記不揮発メモリの使用を制限するステップを有することを特徴とする制御方法。
  13. コンピュータに、請求項12に記載の方法を実行させるための、プログラム。
JP2018066479A 2018-03-30 2018-03-30 記録装置 Active JP7039361B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018066479A JP7039361B2 (ja) 2018-03-30 2018-03-30 記録装置
US16/362,372 US10705773B2 (en) 2018-03-30 2019-03-22 Printing apparatus, control method thereof and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018066479A JP7039361B2 (ja) 2018-03-30 2018-03-30 記録装置

Publications (2)

Publication Number Publication Date
JP2019179292A true JP2019179292A (ja) 2019-10-17
JP7039361B2 JP7039361B2 (ja) 2022-03-22

Family

ID=68056183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018066479A Active JP7039361B2 (ja) 2018-03-30 2018-03-30 記録装置

Country Status (2)

Country Link
US (1) US10705773B2 (ja)
JP (1) JP7039361B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021053932A (ja) 2019-09-30 2021-04-08 キヤノン株式会社 印刷装置、その制御方法、及びプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131842A (ja) * 2001-10-23 2003-05-09 Canon Inc 画像形成システム
JP2009140409A (ja) * 2007-12-10 2009-06-25 Canon Inc 機密文書ジョブ制御処理装置
JP2010505193A (ja) * 2006-09-28 2010-02-18 サンディスク コーポレイション メモリカードの寿命末期の回復およびサイズ変更
JP2011215339A (ja) * 2010-03-31 2011-10-27 Brother Industries Ltd 印刷装置及び印刷プログラム
JP2014203467A (ja) * 2013-04-01 2014-10-27 株式会社東芝 メモリシステム、制御システムおよび寿命予測方法
JP2015219853A (ja) * 2014-05-21 2015-12-07 コニカミノルタ株式会社 画像形成装置及び制御方法並びに制御プログラム
JP2017040978A (ja) * 2015-08-17 2017-02-23 京セラドキュメントソリューションズ株式会社 画像形成装置及び画像形成システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007083449A1 (ja) * 2006-01-20 2007-07-26 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置、不揮発性記憶システム、及び不揮発性記憶装置の不良管理方法
JP4848330B2 (ja) 2007-08-28 2011-12-28 株式会社リコー 画像形成装置、画像形成方法、およびプログラム
JP6146675B2 (ja) * 2014-06-03 2017-06-14 コニカミノルタ株式会社 画像形成装置及びフラッシュメモリの制御方法並びに制御プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131842A (ja) * 2001-10-23 2003-05-09 Canon Inc 画像形成システム
JP2010505193A (ja) * 2006-09-28 2010-02-18 サンディスク コーポレイション メモリカードの寿命末期の回復およびサイズ変更
JP2009140409A (ja) * 2007-12-10 2009-06-25 Canon Inc 機密文書ジョブ制御処理装置
JP2011215339A (ja) * 2010-03-31 2011-10-27 Brother Industries Ltd 印刷装置及び印刷プログラム
JP2014203467A (ja) * 2013-04-01 2014-10-27 株式会社東芝 メモリシステム、制御システムおよび寿命予測方法
JP2015219853A (ja) * 2014-05-21 2015-12-07 コニカミノルタ株式会社 画像形成装置及び制御方法並びに制御プログラム
JP2017040978A (ja) * 2015-08-17 2017-02-23 京セラドキュメントソリューションズ株式会社 画像形成装置及び画像形成システム

Also Published As

Publication number Publication date
US20190303049A1 (en) 2019-10-03
US10705773B2 (en) 2020-07-07
JP7039361B2 (ja) 2022-03-22

Similar Documents

Publication Publication Date Title
JP5917163B2 (ja) 情報処理装置、その制御方法及びプログラム並びに記憶媒体
WO2021135740A1 (zh) 耗材芯片及其控制方法、耗材、图像形成装置
US20120300260A1 (en) Printing apparatus with semiconductor nonvolatile storage device, and control method therefor
JP7381676B2 (ja) 印刷装置及びその制御方法
US11770481B2 (en) Information processing apparatus, control method, and information processing system
US11416182B2 (en) Information processing apparatus, control method, and information processing system
JP7039361B2 (ja) 記録装置
JP7222728B2 (ja) 記録装置、制御方法およびプログラム
US11301191B2 (en) Printing apparatus, controlling method therefor, and storage medium
JP2017091323A (ja) 通信装置及び画像形成装置
JP6938418B2 (ja) 記録装置、記録方法、およびプログラム
JP2024084906A (ja) 記録装置、その制御方法、及びプログラム
JP5625888B2 (ja) 半導体記憶媒体制御装置、半導体記憶媒体の制御方法及び画像形成装置。
CN109814813B (zh) 具有多个存储器的装置、控制方法和存储介质
US20120268789A1 (en) Image forming apparatus and method for controlling image forming apparatus
US20170160964A1 (en) Electronic device and non-transitory computer readable storage medium
JP7016725B2 (ja) 情報処理装置、制御方法及びプログラム
JP2018063499A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2017027203A (ja) 記憶媒体制御装置、記憶媒体制御プログラム及び記憶媒体制御方法
US20120105885A1 (en) Image forming apparatus performing network communication
JP2022143497A (ja) 情報処理装置、給電制御方法
JP2012173909A (ja) 情報処理装置におけるデータ記憶処理方法及び情報処理装置
JP2005205803A (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: 20211026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220309

R151 Written notification of patent or utility model registration

Ref document number: 7039361

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151