JP6620728B2 - 情報処理装置及び画像形成装置 - Google Patents

情報処理装置及び画像形成装置 Download PDF

Info

Publication number
JP6620728B2
JP6620728B2 JP2016225138A JP2016225138A JP6620728B2 JP 6620728 B2 JP6620728 B2 JP 6620728B2 JP 2016225138 A JP2016225138 A JP 2016225138A JP 2016225138 A JP2016225138 A JP 2016225138A JP 6620728 B2 JP6620728 B2 JP 6620728B2
Authority
JP
Japan
Prior art keywords
blocks
partition
spare
flash memory
specific partition
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.)
Expired - Fee Related
Application number
JP2016225138A
Other languages
English (en)
Other versions
JP2018081626A (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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions 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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2016225138A priority Critical patent/JP6620728B2/ja
Publication of JP2018081626A publication Critical patent/JP2018081626A/ja
Application granted granted Critical
Publication of JP6620728B2 publication Critical patent/JP6620728B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Description

本発明は、フラッシュメモリーを含む情報処理装置、画像形成装置に関する。
情報(データ)を処理、記憶する装置には、フラッシュデバイスが搭載されることがある。フラッシュデバイスの各ブロックの消去回数には制限がある。このようなフラッシュデバイスでは、読み書きしているうちに正しくデータを保持できないブロック(不良ブロック)が発生することがある。不良ブロックが増え、必要な記憶容量が確保できなくなる場合がある。
特許文献1には、フラッシュデバイスの寿命に関する技術が記載されている。具体的に、特許文献1には、揮発性の主記憶手段と、ブロック単位に書き込み回数の制限数がある不揮発性の補助記憶手段を含み、画像データを処理し、主記憶手段に画像データを書き込む領域があると判断した場合に当該画像データを主記憶手段に書き込み、主記憶手段に画像データを書き込む領域がないと判断した場合に画像データを補助記憶手段に書き込み、補助記憶手段のブロックのうち書き込み回数が制限数に達した不良ブロックを検出し、不良ブロックの数が所定の数に達した場合、補助記憶手段への書き込みを規制する画像形成装置が記載されている。この構成により、不揮発性の記憶手段の寿命を延ばそうとする(特許文献1:請求項1、段落[0007])。
特開2009−055457号公報
複合機、プリンター、複写機、ファクシミリ装置のような画像形成装置にも、フラッシュメモリーが搭載される。フラッシュメモリーは、フラッシュデバイス、フラッシュROM、半導体不揮発性メモリーと称されることもある。フラッシュメモリーには、ブロック単位でデータを消去するものがある。言い換えると、ブロック内の一部のデータのみを消去することができない。例えば、NANDフラッシュメモリーが該当する。
フラッシュメモリーでは、先天的に(製造当初から)不良ブロックが含まれることがある。また、後天的に(使用中に)不良ブロックが発生することもある。不良ブロックは読み書きに使用できない。不良ブロックの数だけ容量が減る。そこで、スペアブロックを用意しておくことがある。不良ブロックの代わりにスペアブロックが使用される。これにより、不良ブロックによる容量不足が生じにくくなる。また、不良ブロックが発生したフラッシュメモリーを直ちに交換せずにすむ。フラッシュメモリーを継続使用することができる。
不良ブロックのワースト数(フラッシュメモリーに含まれる不良ブロックの最大数)は、フラッシュメモリーの仕様として定義される場合がある。ここで、フラッシュメモリーの記憶領域は、複数のパーティションに分けられることがある。各パーティションにワースト数分のスペアブロックを用意すると、スペアブロックの全容量が大きくなりすぎる。そこで、ワースト数程度のスペアブロックをそれぞれのパーティションに配分することが考えられる。通常、不良ブロックの位置に大きな偏りはない。そのため、スペアブロック数を、パーティションのサイズ(ブロック数)に応じた数にすることが考えられる。例えば、パーティションのサイズが大きいほど、スペアブロック数を多くする。
パーティションのスペアブロック数は、起動時のカーネルコンフィグレーションで設定される場合がある。カーネルの起動用ファイルにスペアブロック数が定義される。カーネルコンフィグレーションで起動用ファイルが参照される。その結果、パーティションのスペアブロック数が設定される。ここで、パーティションのサイズ変更がなされることがある。変更後のパーティションのサイズに応じた値にスペアブロック数を変更する必要がある。パーティションのサイズを変更した場合、起動用ファイル内のスペアブロック数の変更作業が必要である。しかし、パーティションのサイズ変更作業と起動用ファイルの変更作業は別作業である。そのため、起動用ファイルの変更作業が忘れられる場合がある。
その結果、サイズが大きくなったパーティションでは、スペアブロック数が少な過ぎる状態になることがある。不良ブロック数がスペアブロック数よりも多くなり得る。つまり、データ格納不可の発生リスクが高くなる。反対に、サイズが小さくなったパーティションでは、スペアブロック数が多すぎる状態になることもある。必要以上に多いスペアブロックの確保は無駄である。このように、パーティションのサイズ変更後、スペアブロック数が不適切となる場合があるという問題がある。
なお、特許文献1記載の技術は、パーティションのサイズ変更に関する記載はない。従って、上記の問題を解決することはできない。
上記問題点を鑑み、本発明は、パーティションのサイズ(ブロック数)にあわせ、自動的かつ常に、パーティションのスペアブロック数を適切な数に設定する。
上記目的を達成するために請求項1に係る情報処理装置は、フラッシュメモリーと制御回路を含む。前記フラッシュメモリーは、決められたサイズのブロック単位でデータを消去し、記憶領域に複数のパーティションが設けられる。前記制御回路は、前記フラッシュメモリーの読み書きを制御する。前記制御回路は、データ消去を制御し、発生した不良ブロックをスペアブロックに置き換える。前記制御回路は、前記パーティションのスペアブロック数を設定する。各前記パーティションには、前記スペアブロックが配分され、更新頻度が高いと定められたデータである特定データを記憶させる特定パーティションと、ファームウェア、起動用プログラムが記憶される前記特定パーティション以外の前記パーティションがある。前記フラッシュメモリーの起動処理のときに前記特定パーティションについては、前記制御回路は、前記特定パーティションの前記スペアブロック数が定義された起動用ファイルに基づき、前記特定パーティションの前記スペアブロック数を設定する。前記スペアブロック数の設定後、前記フラッシュメモリーの各ブロックの消去回数を管理してウェアレベリングを行うサブシステムのアタッチ前に、前記制御回路は、前記特定パーティションのブロック数を認識する。前記制御回路は、認識した前記ブロック数に予め定められた基準割合を乗じた値に基づき前記特定パーティションの前記スペアブロック数を再設定する。前記スペアブロック数の再設定後、前記制御回路は、前記サブシステムをアタッチして、前記サブシステム上で前記特定パーティションを動作させる。
また、上記目的を達成するために請求項6に係る画像形成装置は、印刷部、フラッシュメモリー、制御回路を含む。前記印刷部は印刷を行う。前記フラッシュメモリーは、決められたサイズのブロック単位でデータを消去し、記憶領域に複数のパーティションが設けられる。前記制御回路は、前記フラッシュメモリーの読み書きを制御し、ブロック単位でのデータ消去を制御し、発生した不良ブロックをスペアブロックに置き換える。前記制御回路は、前記パーティションのスペアブロック数を設定する。各前記パーティションには、前記スペアブロックが配分され、更新頻度が高いと定められたデータである特定データを記憶させる特定パーティションと、ファームウェア、起動用プログラムが記憶される前記特定パーティション以外の前記パーティションがある。前記フラッシュメモリーの起動処理のときに前記特定パーティションについては、前記制御回路は、前記特定パーティションの前記スペアブロック数が定義された起動用ファイルに基づき、前記特定パーティションの前記スペアブロック数を設定する。前記スペアブロック数の設定後、前記フラッシュメモリーの各ブロックの消去回数を管理してウェアレベリングを行うサブシステムのアタッチ前に、前記制御回路は、前記特定パーティションのブロック数を認識する。前記制御回路は、認識した前記ブロック数に予め定められた基準割合を乗じた値に基づき前記特定パーティションの前記スペアブロック数を再設定する。前記スペアブロック数の再設定後、前記制御回路は、前記サブシステムをアタッチして、前記サブシステム上で前記特定パーティションを動作させる。
本発明によれば、パーティションのスペアブロック数をパーティションのブロック数にあわせた数(適切な数)に自動的に設定することができる。パーティションのサイズ変更があっても、パーティションのスペアブロック数を適切な数で保つことができる。
実施形態に係る複合機の一例を示す図である。 実施形態に係るフラッシュメモリーの一例を示す図である。 実施形態に係る特定パーティションでの階層構造の一例を示す図である。 実施形態に係るUBIサブシステムの動作の一例を示す図である。 実施形態に係るフラッシュメモリーでのパーティションのサイズ変更の一例を示す図である。 実施形態に係る情報処理装置での特定パーティションのスペアブロック数の設定の流れの一例を示すフローチャートである。
以下、本発明の実施形態を図1〜図6を用いて説明する。制御回路1、フラッシュメモリー2を含む情報処理装置10を説明する。情報処理装置10として複合機100(画像形成装置に相当)を例に挙げて説明する。但し、以下に記載する構成、配置等の各要素は、発明の範囲を限定するものではなく単なる説明例にすぎない。
(画像形成装置の概要)
まず、図1を用いて、実施形態に係る複合機100の概要を説明する。図1は、実施形態に係る複合機100の一例を示す図である。
複合機100は、制御部3を含む。制御部3は基板である。制御部3は複合機100の各部を制御する。制御部3は、制御回路1、フラッシュメモリー2(フラッシュデバイス)、RAM31(Random Access Memory)、画像処理部32を含む。制御回路1はCPUである。制御回路1は、処理、制御、演算を行う。制御回路1は複合機100の各部の制御を行う。
例えば、フラッシュメモリー2には、NAND型を用いることができる。他のタイプのフラッシュメモリー2でもよい。フラッシュメモリー2は、ブロック単位でデータの消去が可能である。1ブロックの容量は決まっている。フラッシュメモリー2に含まれるブロック数も決まっている。情報処理装置10のフラッシュメモリー2は、1ブロックのサイズが128KByte、全ブロック数が1024である。ブロックのサイズが128KByteでないフラッシュメモリー2を用いてもよい。また、全ブロック数が1024でないフラッシュメモリー2を用いてもよい。
フラッシュメモリー2はデータを上書きできない。既にデータが書き込まれている部分にデータを新たに書き込む場合、制御回路1は上書きしようとする場所を含むブロックのデータを全ていったん消去させる。消去後、制御回路1は、データをフラッシュメモリー2に書き込ませる。
制御回路1は各種演算や処理を行う。フラッシュメモリー2、RAM31は制御に関するデータ、プログラムを記憶する。制御回路1は、プログラム、データに基づき、フラッシュメモリー2の読み書きや消去を制御する。画像処理部32は画像データに対し画像処理を行って印刷や送信に用いる画像データを生成する。
複合機100はHDD33(Hard Disk Drive)を含む。HDD33は大容量の記憶装置である。HDD33は制御部3と通信可能に接続される。制御回路1は、フラッシュメモリー2やHDD33に記憶されたプログラムや制御用データに基づき、演算や処理を行う。
複合機100は、原稿搬送部4aと画像読取部4bを含む。制御部3は、セットされた原稿を原稿搬送部4aに搬送させる。原稿搬送部4aは、原稿を1枚ずつ読み取り位置(送り読取用コンタクトガラス、不図示)に向けて搬送する。制御部3は原稿を画像読取部4bに読み取らせる。画像読取部4bは搬送原稿や、載置読取用コンタクトガラス(不図示)にセットされた原稿を読み取る。画像読取部4bは画像データを生成する。
複合機100は、操作パネル5を含む。操作パネル5は、表示パネル51、タッチパネル52、ハードキー53を含む。表示パネル51は、印刷やスキャンに関する設定画面や各種メッセージを表示する。タッチパネル52は表示パネル51に対して設けられる。ハードキー53はスタートキーのような操作用のキーである。操作パネル5は、使用者による設定を受け付ける。制御部3は、操作パネル5で設定された内容を認識する。
複合機100は印刷部6を含む。印刷部6は、給紙部6a、用紙搬送部6b、画像形成部6c、定着部6dを含む。印刷時、制御部3は、給紙部6aに用紙を供給させる。制御部3は用紙を用紙搬送部6bに搬送させる。制御部3は、画像データに基づきトナー像を画像形成部6cに形成させる。制御部3は搬送される用紙へのトナー像の転写を画像形成部6cに行わせる。制御部3は、トナー像が転写された用紙を定着部6dに加熱・加圧させる。これにより、用紙にトナー像が定着する。定着後の用紙は機外に排出される。
制御部3は通信部34と接続される。通信部34は、通信用のコネクターや通信制御用のチップを含む。通信部34は、ネットワーク400を介し、コンピューター200やFAX装置300と通信を行う。コンピューター200は、PCやサーバーである。通信部34は印刷用データ(画像データや印刷設定)を受信する。制御部3は、印刷用データに基づく印刷を印刷部6に行わせる(プリンター機能)。又、通信部34は、画像データをコンピューター200やFAX装置300に送信できる(送信機能)。
(フラッシュメモリー2)
次に、図2に基づき、本発明の実施形態に係るフラッシュメモリー2の一例を説明する。図2は、実施形態に係るフラッシュメモリー2の一例を示す図である。
情報処理装置10(複合機100)は、制御回路1(CPU)、フラッシュメモリー2、RAM31を含む。制御回路1は、フラッシュメモリー2からのデータ読み出しを制御する。制御回路1は、フラッシュメモリー2へのデータ書き込みを制御する。
フラッシュメモリー2の記憶領域は、複数のパーティション7に予め分割される。言い換えると、フラッシュメモリー2の記憶領域に、複数のパーティション7が設けられる。各パーティション7のサイズ(ブロック数、容量)は予め定められる。例えば、あるパーティション7には起動用プログラム21、起動用ファイル22が記憶される。また、他のパーティション7には、ファームウェア23が記憶される。例えば、印刷用、スキャン用、送信用のファームウェア23がそれぞれ記憶される。このように、フラッシュメモリー2に記憶させるデータは、何れかのパーティション7に格納される。
パーティション7のサイズは変更されることがある(図5参照)。開発段階において、あるプログラムのサイズが想定よりも大きくなった場合、そのプログラムを格納するパーティション7のサイズを大きくすることがある。また、他のパーティション7のサイズを大きくしたために、容量に余裕があるパーティション7のサイズを小さくすることがある。また、複合機100の設置後でもパーティション7のサイズを変更する可能性がある。例えば、新機能を追加するためにパーティション7のサイズを大きくする場合がある。入力されたサイズの変更命令に基づき、制御回路1はフラッシュメモリー2の各パーティション7のサイズを変更する。
フラッシュメモリー2のパーティション7のうち、1又は複数は、更新頻度が高い特定データD1(プログラムを含む)を記憶させる特定パーティション70とされる(図2参照)。言い換えると、特定パーティション70は、更新頻度が高いと定められたデータ(特定データD1)を記憶させるパーティション7である。制御回路1は、特定データD1D1を特定パーティション70に記憶させる。どのデータを特定データD1とするかは、予め定められる。なお、更新頻度が低い、あるいは、全く更新されないデータを特定パーティション70に記憶させてもよい。
例えば、特定データD1は、ジョブを実行するたびに書き換えられるデータである。累計印刷枚数や、印刷部6の各部分の累計稼働時間のようなデータが特定データD1とされる。これらのデータは、メンテナンスや寿命解析に必須である。また、ジョブに関する設定値のうち、頻繁に変更される設定値も特定データD1としてもよい。また、周期的に上書きされるバックアップデータを特定データD1としてもよい。
更新頻度が高いことを考慮し、情報処理装置10(複合機100)では、特定パーティション70には、UBIファイルシステム8が用いられる(詳細は後述)。
特定パーティション70以外のパーティション7には、例えば、ファームウェア23や起動用プログラム21を記憶させることができる。ファームウェア23は、アップデートのときのみ更新される。ファームウェア23は一切更新されない場合もあり得る。そのため、ファームウェア23や起動用プログラム21は、特定パーティション70以外のパーティション7に記憶させてもよい。
(特定パーティション70)
次に、図3、図4に基づき、実施形態に係る特定パーティション70を説明する。図3は、特定パーティション70に係るソフトウェアの階層構造の一例を示す図である。図4は、実施形態に係るUBIサブシステム9の動作の一例を示す図である。
特定パーティション70は他のパーティション7よりも頻繁に書き換えられる。特定パーティション70は、情報処理装置10を使用しているうちに、各ブロックの消去回数が増加してゆくパーティション7である。ブロックの消去回数は、不良ブロック24の発生と関係がある。特定パーティション70では、ウェアレベリングや不良ブロック24の発生に注意する必要がある。そこで、特定パーティション70のファイルシステムには、UBIファイルシステム8が用いられる。
制御回路1は、UBIファイルシステム8に基づき、特定パーティション70の読み書きを行う。UBIファイルシステム8を利用するには、UBIサブシステム9(UBIレイヤー)とMTDサブシステム20(MTDレイヤー)が必要である。UBIはUnsorted Block Imagesの省略語である。MTDは、Memory Technology Deviceの省略語である。UBIサブシステム9はMTDサブシステム20を介して、各ブロックの読み書き、消去を行う。
図3に示すように、MTDサブシステム20は、フラッシュメモリー2にアクセスするためのサブシステムである。MTDサブシステム20は、フラッシュメモリー2の各ブロックの読み出し、書き込み、全体消去をサポートする。
図3に示すように、UBIサブシステム9は、MTDサブシステム20とファイルシステム間に位置する管理レイヤーである。UBIサブシステム9はMTD用のサブシステムである。UBIファイルシステム8はUBIサブシステム9の上で動作する。なお、UBIサブシステム9の上で動作するファイルシステムは、UBIファイルシステム8に限られない。他のファイルシステムもUBIサブシステム9の上で動作させることができる。そのため、特定パーティション70のファイルシステムは、UBIファイルシステム8以外のファイルシステムでもよい。
UBIサブシステム9を用いる場合、制御回路1は、UBIサブシステム9とMTDサブシステム20を関連付けする処理を行う。この処理は、UBIサブシステム9のアタッチと呼ばれる。アタッチは情報処理装置10(複合機100)の起動時に行われる。言い換えると、UBIサブシステム9のアタッチは、UBIサブシステム9を使えるようにするための処理である。
このように、MTDサブシステム20とUBIサブシステム9は、読み出し、書き込みを制御回路1とフラッシュメモリー2に行わせる。ここで、UBIサブシステム9は、フラッシュメモリー2の各ブロックの消去回数を管理する。この回数管理に基づき、UBIサブシステム9は、ウェアレベリングを提供する。UBIサブシステム9より上位のファイルシステムは、ウェアレベリングを気にしなくてよくなる。
図4を用いて、UBIサブシステム9に基づく制御回路1によるフラッシュメモリー2の制御を説明する。UBIサブシステム9は、論理消去ブロック(LEB=Logical Eraseblock)を管理する。MTDサブシステム20は、フラッシュメモリー2上の物理消去ブロック(Physical Eraseblock)を管理する。UBIサブシステム9は、LEBとPEBの変換マッピングを制御回路1に行わせる(対応付けさせる)。UBIサブシステム9は、各ブロックの消去回数が均等になるように、LEBとPEBの対応付けを随時変化させる。制御回路1は、変換マッピングに応じ、ブロック単位で消去をフラッシュメモリー2に行わせる。UBIサブシステム9は、フラッシュメモリー2の各ブロックのウェアレベリングを制御回路1に実現させる。
また、UBIサブシステム9に基づき、制御回路1は不良ブロック24(図4参照)を認識する。製造当初から不良なブロックがある。また、使用しているうちに不良ブロック24となることがある。書き込みや消去のとき、電荷が各メモリーセルの絶縁膜(絶縁層)を通過する。電荷の通過により絶縁膜が劣化していく。制御回路1は、劣化が進むことにより異常が出たメモリーセルを含むブロックを不良ブロック24と認識する。
例えば、制御回路1は、消去が失敗したブロックを不良ブロック24と認識する。また、制御回路1は、書き込み無効が生じたブロックを不良ブロック24と認識する。また、制御回路1は、誤り訂正符号を用いても訂正できないエラーが生じたブロックを不良ブロック24と認識する。制御回路1は、不良ブロック24と認識したブロックを示すデータをフラッシュメモリー2内に設けられた不良ブロック用テーブルに書き込ませる。不良ブロック用テーブルに基づき、制御回路1は、不良ブロック24を管理する。制御回路1は、不良ブロック24のスペアブロック25(図4参照)への置き換えをフラッシュメモリー2に行わせる。以後、不良ブロック24は使用されなくなる。スペアブロック25が不良ブロック24の代わりに用いられる。
(スペアブロック数の設定の流れ)
次に、図5、図6を用いて、実施形態に係る情報処理装置10での特定パーティション70のスペアブロック数の設定の流れの一例を説明する。図5は、実施形態に係るフラッシュメモリー2でのパーティション7のサイズ変更の一例を示す図である。図6は、実施形態に係る情報処理装置10での特定パーティション70のスペアブロック数の設定の流れの一例を示すフローチャートである。
不良ブロック24は使用できない。不良ブロック24置き換えるためのスペアブロック25が無い場合、不良ブロック24を含むパーティション7の記憶容量は、不良ブロック24分だけ少なくなる。スペアブロック25が無い場合、不良ブロック24を含むパーティション7において、パーティション7に格納すべきデータを全て格納できなくなる場合がある。その結果、何らかの不具合が生じ得る。そこで、情報処理装置10では、各パーティション7にスペアブロック25が設けられる。
使用できるブロックの最小数や最大数は、フラッシュメモリー2の仕様で定められる場合がある。例えば、全ブロック数から使用できるブロックの最小数を減じた値が、発生し得る不良ブロック24の最大数(ワースト数)となる。例えば、1024ブロックのNANDのフラッシュメモリーの場合、ワースト数は、20ブロック程度とされることが多い。全ブロックの2%程度が不良ブロック24となり得る。情報処理装置10のフラッシュメモリー2は、1ブロックのサイズが128KByte、全ブロック数が1024である。そのため、フラッシュメモリー2の容量は、128MByteである。
ワースト数の不良ブロック24が1つのパーティション7内に集中する可能性はゼロではない。そのため、各パーティション7にワースト数のスペアブロック25を確保することが考えられる。しかし、パーティション数が多いほど、スペアブロック数は多くなる。パーティション数が10、ワースト数が20の場合、200ものスペアブロック25が必要となる。各パーティション7のスペアブロック数をワースト数とすることは現実的ではない。また、通常、不良ブロック24の位置に極端な偏りはない。
そこで、情報処理装置10(複合機100)では、ワースト数+αのスペアブロック25を、各パーティション7に配分する。過不足なく各パーティション7にスペアブロック25が配分される。各パーティション7で不良ブロック率が同じと仮定すると、パーティション7のサイズが大きいほど、そのパーティション7のスペアブロック数は多くすべきである。反対に、パーティション7のサイズが小さいほど、そのパーティション7のスペアブロック数は少なくすべきである。情報処理装置10では、パーティション7のブロック数に応じたスペアブロック数を設定する。
特定パーティション70(UBIファイルシステム8、UBIサブシステム9)のスペアブロック数は、カーネルコンフィグレーションで設定する必要がある。フラッシュメモリー2の起動用のパーティション7には、起動用ファイル22(カーネルのファイルや、カーネル構築に用いるファイル)が記憶される。起動時、制御回路1は、起動用ファイル22を読み出す。そして、制御回路1はカーネルを構築する(カーネルコンフィグレーション)。いずれかの起動用ファイル22に特定パーティション70のスペアブロック数が定義される。カーネルの構築過程で、制御回路1は、特定パーティション70のスペアブロック数を確認する。そして、制御回路1は、起動用ファイル22に基づき、特定パーティション70のスペアブロック数を設定する。
ここで、上述したように、各パーティション7のサイズ(ブロック数)が変更される場合がある(図5参照)。これにより、パーティション7のブロック数が変化する。特に、データの書き換えが頻繁になされる特定パーティション70は、他のパーティション7よりも後天的に不良ブロック24が発生しやすい。特定パーティション70のスペアブロック数は不足がないようにする必要がある。
特定パーティション70のサイズ変更があったとき、起動用ファイル22内の特定パーティション70のスペアブロック数の定義を変更する必要がある。例えば、特定パーティション70のサイズが大きくなった場合、スペアブロック数を増やすべきである。特定パーティション70のサイズが小さくなった場合、スペアブロック数を減らすべきである。
パーティション7のサイズ変更作業と、起動用ファイル22のスペアブロック数の変更作業は別の手続である。そのため、スペアブロック数の変更作業を忘れることがある。変更作業を忘れることにより、特定パーティション70のスペアブロック数が不足する可能性がある。スペアブロック数が足りないとき、特定パーティション70に格納できないデータが出てくるリスクが高くなる。
そこで、情報処理装置10では、特定パーティション70のスペアブロック数を自動的に適切な値に設定する。これにより、特定パーティション70のサイズ変更があっても、スペアブロック数は適切な値で維持される。そこで、以下、図6を用いて、特定パーティション70のスペアブロック数の設定の流れを説明する。
図6のスタートは、情報処理装置10(複合機100)の制御部3の起動開始時である。複合機100の主電源が投入されたとき、制御部3の起動が開始される。また、省電力モードが解除されたとき、制御部3の起動が開始されることがある。
制御回路1は、カーネルコンフィグレーションで特定パーティション70のスペアブロック数を設定する。ここで設定されるスペアブロック数は、何れかの起動用ファイル22に定義された値である(ステップ♯1)。
UBIサブシステムのアタッチの前に、制御回路1は、特定パーティション70のブロック数を認識する(ステップ♯2)。そして、制御回路1は、ブロック数に予め定められた基準割合を乗じた値を得る(ステップ♯3)。この値に基づき、制御回路1は、特定パーティション70のスペアブロック数を求める。
基準割合は適宜定められる。基準割合の値は、フラッシュメモリー2の何れかのパーティション7に記憶される。ワースト数のスペアブロック25を各パーティション7に配分する。そこで、基準割合は、フラッシュメモリー2の仕様上のブロック不良率と対応させてもよい。例えば、基準割合は、フラッシュメモリー2の仕様上の不良ブロック24のワースト数をフラッシュメモリー2の全ブロック数で除した値に基づき定めてもよい。
情報処理装置10のフラッシュメモリー2では、仕様上のワースト数が20、全ブロック数が1024である。20/1024≒0.01953である。そこで、情報処理装置10では、0.02(2%)を基準割合とする。つまり、ワースト数÷全ブロック数で求めた値のうち、百分率で小数点以下第1位の値を四捨五入して基準割合を定める。
そして、制御回路1は、特定パーティション70のブロック数に基準割合を乗じて得た値よりも大きい最小の整数を求める(ステップ♯4)。言い換えると、制御回路1は、得た値の小数点以下を切り上げた値を求める。ブロック数は正の整数であり、基準割合も正の整数である。そのため、求められる値は常に正の整数となる。制御回路1は、求めた整数をスペアブロック数に設定する(ステップ♯5)。
ステップ♯2〜ステップ♯5を実行するプログラムが特定パーティション70に関する起動用プログラムとして予め用意される。特定パーティション70に関する起動用プログラムは、フラッシュメモリー2(特定パーティション70以外のパーティション7)に記憶される。特定パーティション70に関する起動用のプログラムは、UBIサブシステム9のアタッチ前に実行される。
カーネルコンフィグレーションで設定したスペアブロック数に変えて、制御回路1は求めた最小の整数を特定パーティション70のスペアブロック数として再設定する。その結果、起動時、常に適切なスペアブロック数が求められる。ステップ♯5で求めたスペアブロック数は、カーネルコンフィグレーションによるスペアブロック数よりも優先される。
図5を用いて特定パーティション70のスペアブロック数の設定を説明する。図5のうち、上側の表はサイズ変更前の各パーティション7のサイズ、ブロック数、スペアブロック数の一例を示す。図5のうち、下側の表はサイズ変更後の各パーティション7のサイズ、ブロック数、スペアブロック数の一例を示す。
特定パーティション70は2番のパーティション7である(網掛けで図示)。図5において、変更前の特定パーティション70のサイズは、16MByte、ブロック数は、128である。基準割合は2%とする。128×2%=2.56である。2.56の小数点以下を切り上げた値は3である。そこで、制御回路1は、特定パーティション70のスペアブロック数を3に設定する。
図5において、変更後の特定パーティション70のサイズは、64MByte、ブロック数は、512である。基準割合は2%とする。512×2%=10.24である。10.24の小数点以下を切り上げた値は11である。そこで、制御回路1は、特定パーティション70のスペアブロック数を11に設定する。このように、起動用ファイル22に含まれるスペアブロック数の変更が忘れられても、特定パーティション70のスペアブロック数は常に適切な値とされる。
次に、制御回路1は、UBIサブシステム9のアタッチを開始する(ステップ♯6)。UBIサブシステム9のアタッチにより、UBIファイルシステム8も使用できるようになる。制御回路1は、特定パーティション70のスペアブロック数をステップ♯5で設定した数としている。なお、少なくともステップ♯6の前に、制御回路1は、MTDサブシステム20を利用可能としている。
特定パーティション70のUBIサブシステム9のアタッチの後、制御回路1は、特定パーティション70において、UBIファイルシステム8をマウントする(ステップ♯7)。これにより、特定パーティション70(フラッシュメモリー2)において、UBIファイルシステム8が利用可能となる。そして、本フローは終了する(エンド)。
このようにして、実施形態に係る情報処理装置10は、フラッシュメモリー2と制御回路1を含む。フラッシュメモリー2は、ブロック単位でデータの消去が可能であり、記憶領域に複数のパーティション7が設けられる。制御回路1は、フラッシュメモリー2の読み書きを制御する。制御回路1は、データ消去を制御し、発生した不良ブロック24をスペアブロック25に置き換える。制御回路1は、パーティション7のスペアブロック数を設定する。フラッシュメモリー2の起動処理のとき、制御回路1は、パーティション7のブロック数を認識する。制御回路1は、ブロック数に予め定められた基準割合を乗じて得た値よりも大きい数をパーティション7のスペアブロック数に設定する。
これにより、パーティション7のサイズが大きいほど、そのパーティション7のスペアブロック数を多くすることができる。パーティション7のサイズが小さいほど、そのパーティション7のスペアブロック数を小さくすることができる。適切な(パーティション7のブロック数に応じた)スペアブロック数を自動的に設定することができる。また、常に適切なスペアブロック数とすることができる。パーティション7のサイズ変更の前後を問わず、スペアブロック数は、常にパーティション7のブロック数に応じた数になる。パーティション7のサイズ変更後、起動用ファイル22(カーネルコンフィグレーションに用いるファイル)の変更を忘れても問題はない。言い換えると、スペアブロック数の変更作業を忘れても問題はない。むしろ、スペアブロック数の変更作業をしなくてすむ。
従って、パーティション7のサイズが大きくなっても、スペアブロック25の不足は生じない。不良ブロック24数がスペアブロック数を超えた場合、データ格納不可の発生リスクは高くなる。スペアブロック数は適切なので、このリスクを下げることができる。また、パーティション7のサイズが小さくなっても、必要以上に多いスペアブロック25は設定されない。スペアブロック数は、適切な値で保たれる。
また、制御回路1は、ブロック数に予め定められた基準割合を乗じて得た値よりも大きい最小の整数をスペアブロック数に設定する。これにより、パーティション7に配するスペアブロック数を過不足のない数に設定することができる。また、パーティション7のブロック数に仕様上の不良ブロック24発生率を乗じた個数の不良ブロック24が生じても、データ格納不可は生じない。
サブシステムを用いるパーティション7では、スペアブロック数の設定が必要な場合がある。そこで、フラッシュメモリー2の起動処理のとき、制御回路1は、サブシステム(UBIサブシステム9)をアタッチする。制御回路1は、サブシステムにより、フラッシュメモリー2の各ブロックの消去回数を管理してウェアレベリングを行う。制御回路1は、サブシステムのアタッチの前に、パーティション7のうち、サブシステム上で動作させる特定パーティション70のブロック数を認識し、特定パーティション70のブロック数に基準割合を乗じて得た値に基づき特定パーティション70のスペアブロック数を設定する。これにより、サブシステムを用いる特定パーティション70でのスペアブロック数を適切な数にすることができる。特定パーティション70のサイズ変更があっても、特定パーティション70のサイズ(ブロック数)に応じたスペアブロック数を自動的に設定することができる。
カーネルコンフィグレーションに用いる起動用ファイル22でスペアブロック数を設定することがある。しかし、特定パーティション70のサイズ変更時、起動用ファイル22のスペアブロック数の変更作業を忘れることがある。そこで、制御回路1は、カーネルコンフィグレーションで設定された特定パーティション70のスペアブロック数を、アタッチ時に求めたスペアブロック数に書き換える。これにより、カーネルコンフィグレーション時に設定されたスペアブロック数よりも、アタッチ時に求めたスペアブロック数を優先的に適用することができる。スペアブロック数の変更作業がなされなくても、特定パーティション70のスペアブロック数を適切な数に設定することができる。
また、サブシステムはUBIサブシステム9である。特定パーティション70のファイルシステムは、UBIサブシステム9上で動作させるファイルシステムである。例えば、ファイルシステムには、UBIファイルシステム8を用いることができる。これにより、UBIサブシステム9を用いる特定パーティション70のスペアブロック数を常時、適切な値に設定することができる。
また、画像形成装置は、印刷部6、フラッシュメモリー2、制御回路1を含む。印刷部6は印刷を行う。フラッシュメモリー2は、ブロック単位でデータの消去が可能であり、記憶領域に複数のパーティション7が設けられる。制御回路1は、フラッシュメモリー2の読み書きを制御する。制御回路1は、データ消去を制御し、発生した不良ブロック24をスペアブロック25に置き換える。制御回路1は、パーティション7のスペアブロック数を設定する。フラッシュメモリー2の起動処理のとき、制御回路1は、パーティション7のブロック数を認識する。制御回路1は、ブロック数に予め定められた基準割合を乗じて得た値よりも大きい数をパーティション7のスペアブロック数に設定する。パーティション7のブロック数に応じたスペアブロック数を自動的に設定できる画像形成装置を提供することができる。画像形成装置では、パーティション7のサイズ変更があっても、スペアブロック数は常に変更後のパーティション7のブロック数に応じた数になる。
以上、本発明の実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。そこで、以下、変形例を説明する。
上記の説明では、特定パーティション70のスペアブロック数を起動時のアタッチ時に設定する例を説明した。しかし、特定パーティション70以外のパーティション7について、制御回路1は、サイズに基づきスペアブロック数を設定してもよい。
本発明は、制御回路、フラッシュメモリーを含む情報処理装置に利用可能である。
複合機100(画像形成装置) 10 情報処理装置
1 制御回路 2 フラッシュメモリー
24 不良ブロック 25 スペアブロック
6 印刷部 7 パーティション
70 特定パーティション 9 UBIサブシステム
8 UBIファイルシステム

Claims (4)

  1. 決められたサイズのブロック単位でデータを消去し、記憶領域に複数のパーティションが設けられたフラッシュメモリーと、
    前記フラッシュメモリーの読み書きを制御し、データ消去を制御し、発生した不良ブロックをスペアブロックに置き換え、前記パーティションのスペアブロック数を設定する制御回路と、を含み、
    各前記パーティションには、前記スペアブロックが配分され、更新頻度が高いと定められたデータである特定データを記憶させる特定パーティションと、ファームウェア、起動用プログラムが記憶される前記特定パーティション以外の前記パーティションがあり、
    前記フラッシュメモリーの起動処理のときに前記特定パーティションについては、
    前記制御回路は、
    前記特定パーティションの前記スペアブロック数が定義された起動用ファイルに基づき、前記特定パーティションの前記スペアブロック数を設定し、
    前記スペアブロック数の設定後、前記フラッシュメモリーの各ブロックの消去回数を管理してウェアレベリングを行うサブシステムのアタッチ前に、前記特定パーティションのブロック数を認識し、
    認識した前記ブロック数に予め定められた基準割合を乗じた値に基づき前記特定パーティションの前記スペアブロック数を再設定し、
    前記スペアブロック数の再設定後、前記サブシステムをアタッチして、前記サブシステム上で前記特定パーティションを動作させることを特徴とする情報処理装置。
  2. 前記制御回路は、前記特定パーティションの前記ブロック数に予め定められた基準割合を乗じて得た値よりも大きい最小の整数を前記特定パーティションの前記スペアブロック数に設定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記サブシステムはUBIサブシステムであることを特徴とする請求項1又は2に記載の情報処理装置。
  4. 印刷を行う印刷部と、
    決められたサイズのブロック単位でデータを消去し、記憶領域に複数のパーティションが設けられたフラッシュメモリーと、
    前記フラッシュメモリーの読み書きを制御し、ブロック単位でのデータ消去を制御し、発生した不良ブロックをスペアブロックに置き換え、前記パーティションのスペアブロック数を設定する制御回路と、を含み、
    各前記パーティションには、前記スペアブロックが配分され、更新頻度が高いと定められたデータである特定データを記憶させる特定パーティションと、ファームウェア、起動用プログラムが記憶される前記特定パーティション以外の前記パーティションがあり、
    前記フラッシュメモリーの起動処理のときに前記特定パーティションについては、
    前記制御回路は、
    前記特定パーティションの前記スペアブロック数が定義された起動用ファイルに基づき、前記特定パーティションの前記スペアブロック数を設定し、
    前記スペアブロック数の設定後、前記フラッシュメモリーの各ブロックの消去回数を管理してウェアレベリングを行うサブシステムのアタッチ前に、前記特定パーティションのブロック数を認識し、
    認識した前記ブロック数に予め定められた基準割合を乗じた値に基づき前記特定パーティションの前記スペアブロック数を再設定し、
    前記スペアブロック数の再設定後、前記サブシステムをアタッチして、前記サブシステム上で前記特定パーティションを動作させることを特徴とする画像形成装置。
JP2016225138A 2016-11-18 2016-11-18 情報処理装置及び画像形成装置 Expired - Fee Related JP6620728B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016225138A JP6620728B2 (ja) 2016-11-18 2016-11-18 情報処理装置及び画像形成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016225138A JP6620728B2 (ja) 2016-11-18 2016-11-18 情報処理装置及び画像形成装置

Publications (2)

Publication Number Publication Date
JP2018081626A JP2018081626A (ja) 2018-05-24
JP6620728B2 true JP6620728B2 (ja) 2019-12-18

Family

ID=62197758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016225138A Expired - Fee Related JP6620728B2 (ja) 2016-11-18 2016-11-18 情報処理装置及び画像形成装置

Country Status (1)

Country Link
JP (1) JP6620728B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4347707B2 (ja) * 2004-01-09 2009-10-21 パナソニック株式会社 情報記録媒体のフォーマット方法および情報記録媒体
WO2007083449A1 (ja) * 2006-01-20 2007-07-26 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置、不揮発性記憶システム、及び不揮発性記憶装置の不良管理方法
US20070174549A1 (en) * 2006-01-24 2007-07-26 Yevgen Gyl Method for utilizing a memory interface to control partitioning of a memory module
JP5380557B2 (ja) * 2012-01-31 2014-01-08 京セラドキュメントソリューションズ株式会社 電子機器、画像形成装置、およびマウント方法

Also Published As

Publication number Publication date
JP2018081626A (ja) 2018-05-24

Similar Documents

Publication Publication Date Title
JP5096847B2 (ja) アクセス制御装置、アクセス制御方法、アクセス制御プログラム、記録媒体、記憶装置および画像処理装置
JP5917163B2 (ja) 情報処理装置、その制御方法及びプログラム並びに記憶媒体
JP2016162022A (ja) 情報処理装置およびメモリー管理プログラム
JP6405736B2 (ja) 画像処理装置及び書き込み制御プログラム並びに書き込み制御方法
JP2008225576A (ja) Nand型フラッシュメモリの制御装置
JP6493355B2 (ja) メモリーシステム及び画像形成装置
JP6620728B2 (ja) 情報処理装置及び画像形成装置
JP6004923B2 (ja) 情報処理装置及びその制御方法とプログラム
JP2017111716A (ja) 電子機器及びメモリー寿命警告プログラム
JP4134895B2 (ja) 画像処理装置及び画像処理方法
JP2016141037A (ja) 画像形成装置及び動作制御方法並びに動作制御プログラム
US10956090B2 (en) Memory system and electronic apparatus
JP6696414B2 (ja) 画像処理装置
JP5625888B2 (ja) 半導体記憶媒体制御装置、半導体記憶媒体の制御方法及び画像形成装置。
JP6409762B2 (ja) 電子機器及びメモリー寿命警告プログラム
JP4562433B2 (ja) 画像処理装置
JP2014138265A (ja) 画像形成装置
JP2017027203A (ja) 記憶媒体制御装置、記憶媒体制御プログラム及び記憶媒体制御方法
JP2015046088A (ja) 半導体装置
JP2012088937A (ja) 画像処理装置、画像処理装置のメモリ管理方法、画像処理装置のメモリ管理プログラム及び記録媒体
US20170160964A1 (en) Electronic device and non-transitory computer readable storage medium
JP2019034455A (ja) 画像形成装置、消耗品の管理方法、及びプログラム
JP2019096959A (ja) 画像処理装置
JP2017040978A (ja) 画像形成装置及び画像形成システム
JP2018063499A (ja) 情報処理装置及びその制御方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180926

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190524

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191105

R150 Certificate of patent or registration of utility model

Ref document number: 6620728

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees