JP6620728B2 - Information processing apparatus and image forming apparatus - Google Patents
Information processing apparatus and image forming apparatus Download PDFInfo
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Stored Programmes (AREA)
Description
本発明は、フラッシュメモリーを含む情報処理装置、画像形成装置に関する。 The present invention relates to an information processing apparatus including a flash memory and an image forming apparatus.
情報(データ)を処理、記憶する装置には、フラッシュデバイスが搭載されることがある。フラッシュデバイスの各ブロックの消去回数には制限がある。このようなフラッシュデバイスでは、読み書きしているうちに正しくデータを保持できないブロック(不良ブロック)が発生することがある。不良ブロックが増え、必要な記憶容量が確保できなくなる場合がある。 A device that processes and stores information (data) may be equipped with a flash device. There is a limit to the number of times each block of the flash device can be erased. In such a flash device, there may occur a block (bad block) in which data cannot be correctly held while reading and writing. There are cases where the number of defective blocks increases and the necessary storage capacity cannot be secured.
特許文献1には、フラッシュデバイスの寿命に関する技術が記載されている。具体的に、特許文献1には、揮発性の主記憶手段と、ブロック単位に書き込み回数の制限数がある不揮発性の補助記憶手段を含み、画像データを処理し、主記憶手段に画像データを書き込む領域があると判断した場合に当該画像データを主記憶手段に書き込み、主記憶手段に画像データを書き込む領域がないと判断した場合に画像データを補助記憶手段に書き込み、補助記憶手段のブロックのうち書き込み回数が制限数に達した不良ブロックを検出し、不良ブロックの数が所定の数に達した場合、補助記憶手段への書き込みを規制する画像形成装置が記載されている。この構成により、不揮発性の記憶手段の寿命を延ばそうとする(特許文献1:請求項1、段落[0007])。
複合機、プリンター、複写機、ファクシミリ装置のような画像形成装置にも、フラッシュメモリーが搭載される。フラッシュメモリーは、フラッシュデバイス、フラッシュROM、半導体不揮発性メモリーと称されることもある。フラッシュメモリーには、ブロック単位でデータを消去するものがある。言い換えると、ブロック内の一部のデータのみを消去することができない。例えば、NANDフラッシュメモリーが該当する。 A flash memory is also mounted in an image forming apparatus such as a multifunction machine, a printer, a copier, and a facsimile machine. The flash memory is sometimes called a flash device, a flash ROM, or a semiconductor nonvolatile memory. Some flash memories erase data in units of blocks. In other words, only a part of the data in the block cannot be erased. For example, a NAND flash memory is applicable.
フラッシュメモリーでは、先天的に(製造当初から)不良ブロックが含まれることがある。また、後天的に(使用中に)不良ブロックが発生することもある。不良ブロックは読み書きに使用できない。不良ブロックの数だけ容量が減る。そこで、スペアブロックを用意しておくことがある。不良ブロックの代わりにスペアブロックが使用される。これにより、不良ブロックによる容量不足が生じにくくなる。また、不良ブロックが発生したフラッシュメモリーを直ちに交換せずにすむ。フラッシュメモリーを継続使用することができる。 In a flash memory, a defective block may be inherently included (from the beginning of manufacture). In addition, a bad block may occur after use (during use). Bad blocks cannot be used for reading and writing. The capacity is reduced by the number of bad blocks. Therefore, a spare block may be prepared. Spare blocks are used instead of bad blocks. As a result, a shortage of capacity due to defective blocks is less likely to occur. Also, it is not necessary to immediately replace the flash memory in which the defective block has occurred. The flash memory can be used continuously.
不良ブロックのワースト数(フラッシュメモリーに含まれる不良ブロックの最大数)は、フラッシュメモリーの仕様として定義される場合がある。ここで、フラッシュメモリーの記憶領域は、複数のパーティションに分けられることがある。各パーティションにワースト数分のスペアブロックを用意すると、スペアブロックの全容量が大きくなりすぎる。そこで、ワースト数程度のスペアブロックをそれぞれのパーティションに配分することが考えられる。通常、不良ブロックの位置に大きな偏りはない。そのため、スペアブロック数を、パーティションのサイズ(ブロック数)に応じた数にすることが考えられる。例えば、パーティションのサイズが大きいほど、スペアブロック数を多くする。 The worst number of bad blocks (the maximum number of bad blocks included in the flash memory) may be defined as the specification of the flash memory. Here, the storage area of the flash memory may be divided into a plurality of partitions. If the worst number of spare blocks are prepared for each partition, the total capacity of the spare blocks becomes too large. Therefore, it is conceivable to allocate spare blocks of the worst number to each partition. Usually, there is no big bias in the position of the defective block. For this reason, it is conceivable to set the number of spare blocks according to the partition size (number of blocks). For example, the larger the partition size, the greater the number of spare blocks.
パーティションのスペアブロック数は、起動時のカーネルコンフィグレーションで設定される場合がある。カーネルの起動用ファイルにスペアブロック数が定義される。カーネルコンフィグレーションで起動用ファイルが参照される。その結果、パーティションのスペアブロック数が設定される。ここで、パーティションのサイズ変更がなされることがある。変更後のパーティションのサイズに応じた値にスペアブロック数を変更する必要がある。パーティションのサイズを変更した場合、起動用ファイル内のスペアブロック数の変更作業が必要である。しかし、パーティションのサイズ変更作業と起動用ファイルの変更作業は別作業である。そのため、起動用ファイルの変更作業が忘れられる場合がある。 The number of spare blocks in a partition may be set in the kernel configuration at startup. The number of spare blocks is defined in the kernel boot file. The boot file is referenced in the kernel configuration. As a result, the number of spare blocks in the partition is set. Here, the partition size may be changed. It is necessary to change the number of spare blocks to a value according to the changed partition size. When the partition size is changed, it is necessary to change the number of spare blocks in the startup file. However, changing the partition size and changing the startup file are separate tasks. For this reason, the work for changing the startup file may be forgotten.
その結果、サイズが大きくなったパーティションでは、スペアブロック数が少な過ぎる状態になることがある。不良ブロック数がスペアブロック数よりも多くなり得る。つまり、データ格納不可の発生リスクが高くなる。反対に、サイズが小さくなったパーティションでは、スペアブロック数が多すぎる状態になることもある。必要以上に多いスペアブロックの確保は無駄である。このように、パーティションのサイズ変更後、スペアブロック数が不適切となる場合があるという問題がある。 As a result, the number of spare blocks may be too small in a partition whose size has increased. The number of defective blocks can be larger than the number of spare blocks. That is, the risk that data cannot be stored increases. On the other hand, in a partition whose size has been reduced, the number of spare blocks may be too large. Ensuring more spare blocks than necessary is useless. Thus, there is a problem that the number of spare blocks may become inappropriate after the partition size is changed.
なお、特許文献1記載の技術は、パーティションのサイズ変更に関する記載はない。従って、上記の問題を解決することはできない。
Note that the technique described in
上記問題点を鑑み、本発明は、パーティションのサイズ(ブロック数)にあわせ、自動的かつ常に、パーティションのスペアブロック数を適切な数に設定する。 In view of the above problems, the present invention automatically and always sets the number of spare blocks in a partition to an appropriate number in accordance with the partition size (number of blocks).
上記目的を達成するために請求項1に係る情報処理装置は、フラッシュメモリーと制御回路を含む。前記フラッシュメモリーは、決められたサイズのブロック単位でデータを消去し、記憶領域に複数のパーティションが設けられる。前記制御回路は、前記フラッシュメモリーの読み書きを制御する。前記制御回路は、データ消去を制御し、発生した不良ブロックをスペアブロックに置き換える。前記制御回路は、前記パーティションのスペアブロック数を設定する。各前記パーティションには、前記スペアブロックが配分され、更新頻度が高いと定められたデータである特定データを記憶させる特定パーティションと、ファームウェア、起動用プログラムが記憶される前記特定パーティション以外の前記パーティションがある。前記フラッシュメモリーの起動処理のときに前記特定パーティションについては、前記制御回路は、前記特定パーティションの前記スペアブロック数が定義された起動用ファイルに基づき、前記特定パーティションの前記スペアブロック数を設定する。前記スペアブロック数の設定後、前記フラッシュメモリーの各ブロックの消去回数を管理してウェアレベリングを行うサブシステムのアタッチ前に、前記制御回路は、前記特定パーティションのブロック数を認識する。前記制御回路は、認識した前記ブロック数に予め定められた基準割合を乗じた値に基づき前記特定パーティションの前記スペアブロック数を再設定する。前記スペアブロック数の再設定後、前記制御回路は、前記サブシステムをアタッチして、前記サブシステム上で前記特定パーティションを動作させる。
In order to achieve the above object, an information processing apparatus according to
また、上記目的を達成するために請求項6に係る画像形成装置は、印刷部、フラッシュメモリー、制御回路を含む。前記印刷部は印刷を行う。前記フラッシュメモリーは、決められたサイズのブロック単位でデータを消去し、記憶領域に複数のパーティションが設けられる。前記制御回路は、前記フラッシュメモリーの読み書きを制御し、ブロック単位でのデータ消去を制御し、発生した不良ブロックをスペアブロックに置き換える。前記制御回路は、前記パーティションのスペアブロック数を設定する。各前記パーティションには、前記スペアブロックが配分され、更新頻度が高いと定められたデータである特定データを記憶させる特定パーティションと、ファームウェア、起動用プログラムが記憶される前記特定パーティション以外の前記パーティションがある。前記フラッシュメモリーの起動処理のときに前記特定パーティションについては、前記制御回路は、前記特定パーティションの前記スペアブロック数が定義された起動用ファイルに基づき、前記特定パーティションの前記スペアブロック数を設定する。前記スペアブロック数の設定後、前記フラッシュメモリーの各ブロックの消去回数を管理してウェアレベリングを行うサブシステムのアタッチ前に、前記制御回路は、前記特定パーティションのブロック数を認識する。前記制御回路は、認識した前記ブロック数に予め定められた基準割合を乗じた値に基づき前記特定パーティションの前記スペアブロック数を再設定する。前記スペアブロック数の再設定後、前記制御回路は、前記サブシステムをアタッチして、前記サブシステム上で前記特定パーティションを動作させる。
In order to achieve the above object, an image forming apparatus according to a sixth aspect includes a printing unit, a flash memory, and a control circuit. The printing unit performs printing. The flash memory erases data in block units of a predetermined size, and a plurality of partitions are provided in the storage area. The control circuit controls reading and writing of the flash memory, controls data erasure in units of blocks, and replaces the generated defective blocks with spare blocks. The control circuit sets the number of spare blocks of the partition. In each of the partitions, the spare block is allocated, a specific partition that stores specific data that is determined to have a high update frequency, and a partition other than the specific partition in which firmware and a boot program are stored are stored. is there. For the specific partition during the boot process of the flash memory, the control circuit sets the number of spare blocks of the specific partition based on a boot file in which the number of spare blocks of the specific partition is defined. After setting the number of spare blocks, the control circuit recognizes the number of blocks in the specific partition before attaching a subsystem that manages the number of erases of each block of the flash memory and performs wear leveling. The control circuit resets the number of spare blocks of the specific partition based on a value obtained by multiplying the recognized number of blocks by a predetermined reference ratio. After resetting the number of spare blocks, the control circuit attaches the subsystem and operates the specific partition on the subsystem.
本発明によれば、パーティションのスペアブロック数をパーティションのブロック数にあわせた数(適切な数)に自動的に設定することができる。パーティションのサイズ変更があっても、パーティションのスペアブロック数を適切な数で保つことができる。 According to the present invention, the number of spare blocks in a partition can be automatically set to a number (appropriate number) that matches the number of blocks in the partition. Even if the size of the partition changes, the number of spare blocks in the partition can be kept at an appropriate number.
以下、本発明の実施形態を図1〜図6を用いて説明する。制御回路1、フラッシュメモリー2を含む情報処理装置10を説明する。情報処理装置10として複合機100(画像形成装置に相当)を例に挙げて説明する。但し、以下に記載する構成、配置等の各要素は、発明の範囲を限定するものではなく単なる説明例にすぎない。
Hereinafter, embodiments of the present invention will be described with reference to FIGS. The
(画像形成装置の概要)
まず、図1を用いて、実施形態に係る複合機100の概要を説明する。図1は、実施形態に係る複合機100の一例を示す図である。
(Outline of image forming apparatus)
First, an outline of the multifunction peripheral 100 according to the embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of a multifunction peripheral 100 according to the embodiment.
複合機100は、制御部3を含む。制御部3は基板である。制御部3は複合機100の各部を制御する。制御部3は、制御回路1、フラッシュメモリー2(フラッシュデバイス)、RAM31(Random Access Memory)、画像処理部32を含む。制御回路1はCPUである。制御回路1は、処理、制御、演算を行う。制御回路1は複合機100の各部の制御を行う。
The
例えば、フラッシュメモリー2には、NAND型を用いることができる。他のタイプのフラッシュメモリー2でもよい。フラッシュメモリー2は、ブロック単位でデータの消去が可能である。1ブロックの容量は決まっている。フラッシュメモリー2に含まれるブロック数も決まっている。情報処理装置10のフラッシュメモリー2は、1ブロックのサイズが128KByte、全ブロック数が1024である。ブロックのサイズが128KByteでないフラッシュメモリー2を用いてもよい。また、全ブロック数が1024でないフラッシュメモリー2を用いてもよい。
For example, the
フラッシュメモリー2はデータを上書きできない。既にデータが書き込まれている部分にデータを新たに書き込む場合、制御回路1は上書きしようとする場所を含むブロックのデータを全ていったん消去させる。消去後、制御回路1は、データをフラッシュメモリー2に書き込ませる。
The
制御回路1は各種演算や処理を行う。フラッシュメモリー2、RAM31は制御に関するデータ、プログラムを記憶する。制御回路1は、プログラム、データに基づき、フラッシュメモリー2の読み書きや消去を制御する。画像処理部32は画像データに対し画像処理を行って印刷や送信に用いる画像データを生成する。
The
複合機100はHDD33(Hard Disk Drive)を含む。HDD33は大容量の記憶装置である。HDD33は制御部3と通信可能に接続される。制御回路1は、フラッシュメモリー2やHDD33に記憶されたプログラムや制御用データに基づき、演算や処理を行う。
The
複合機100は、原稿搬送部4aと画像読取部4bを含む。制御部3は、セットされた原稿を原稿搬送部4aに搬送させる。原稿搬送部4aは、原稿を1枚ずつ読み取り位置(送り読取用コンタクトガラス、不図示)に向けて搬送する。制御部3は原稿を画像読取部4bに読み取らせる。画像読取部4bは搬送原稿や、載置読取用コンタクトガラス(不図示)にセットされた原稿を読み取る。画像読取部4bは画像データを生成する。
The
複合機100は、操作パネル5を含む。操作パネル5は、表示パネル51、タッチパネル52、ハードキー53を含む。表示パネル51は、印刷やスキャンに関する設定画面や各種メッセージを表示する。タッチパネル52は表示パネル51に対して設けられる。ハードキー53はスタートキーのような操作用のキーである。操作パネル5は、使用者による設定を受け付ける。制御部3は、操作パネル5で設定された内容を認識する。
The
複合機100は印刷部6を含む。印刷部6は、給紙部6a、用紙搬送部6b、画像形成部6c、定着部6dを含む。印刷時、制御部3は、給紙部6aに用紙を供給させる。制御部3は用紙を用紙搬送部6bに搬送させる。制御部3は、画像データに基づきトナー像を画像形成部6cに形成させる。制御部3は搬送される用紙へのトナー像の転写を画像形成部6cに行わせる。制御部3は、トナー像が転写された用紙を定着部6dに加熱・加圧させる。これにより、用紙にトナー像が定着する。定着後の用紙は機外に排出される。
The
制御部3は通信部34と接続される。通信部34は、通信用のコネクターや通信制御用のチップを含む。通信部34は、ネットワーク400を介し、コンピューター200やFAX装置300と通信を行う。コンピューター200は、PCやサーバーである。通信部34は印刷用データ(画像データや印刷設定)を受信する。制御部3は、印刷用データに基づく印刷を印刷部6に行わせる(プリンター機能)。又、通信部34は、画像データをコンピューター200やFAX装置300に送信できる(送信機能)。
The
(フラッシュメモリー2)
次に、図2に基づき、本発明の実施形態に係るフラッシュメモリー2の一例を説明する。図2は、実施形態に係るフラッシュメモリー2の一例を示す図である。
(Flash memory 2)
Next, an example of the
情報処理装置10(複合機100)は、制御回路1(CPU)、フラッシュメモリー2、RAM31を含む。制御回路1は、フラッシュメモリー2からのデータ読み出しを制御する。制御回路1は、フラッシュメモリー2へのデータ書き込みを制御する。
The information processing apparatus 10 (multifunction device 100) includes a control circuit 1 (CPU), a
フラッシュメモリー2の記憶領域は、複数のパーティション7に予め分割される。言い換えると、フラッシュメモリー2の記憶領域に、複数のパーティション7が設けられる。各パーティション7のサイズ(ブロック数、容量)は予め定められる。例えば、あるパーティション7には起動用プログラム21、起動用ファイル22が記憶される。また、他のパーティション7には、ファームウェア23が記憶される。例えば、印刷用、スキャン用、送信用のファームウェア23がそれぞれ記憶される。このように、フラッシュメモリー2に記憶させるデータは、何れかのパーティション7に格納される。
The storage area of the
パーティション7のサイズは変更されることがある(図5参照)。開発段階において、あるプログラムのサイズが想定よりも大きくなった場合、そのプログラムを格納するパーティション7のサイズを大きくすることがある。また、他のパーティション7のサイズを大きくしたために、容量に余裕があるパーティション7のサイズを小さくすることがある。また、複合機100の設置後でもパーティション7のサイズを変更する可能性がある。例えば、新機能を追加するためにパーティション7のサイズを大きくする場合がある。入力されたサイズの変更命令に基づき、制御回路1はフラッシュメモリー2の各パーティション7のサイズを変更する。
The size of the
フラッシュメモリー2のパーティション7のうち、1又は複数は、更新頻度が高い特定データD1(プログラムを含む)を記憶させる特定パーティション70とされる(図2参照)。言い換えると、特定パーティション70は、更新頻度が高いと定められたデータ(特定データD1)を記憶させるパーティション7である。制御回路1は、特定データD1D1を特定パーティション70に記憶させる。どのデータを特定データD1とするかは、予め定められる。なお、更新頻度が低い、あるいは、全く更新されないデータを特定パーティション70に記憶させてもよい。
One or more of the
例えば、特定データD1は、ジョブを実行するたびに書き換えられるデータである。累計印刷枚数や、印刷部6の各部分の累計稼働時間のようなデータが特定データD1とされる。これらのデータは、メンテナンスや寿命解析に必須である。また、ジョブに関する設定値のうち、頻繁に変更される設定値も特定データD1としてもよい。また、周期的に上書きされるバックアップデータを特定データD1としてもよい。
For example, the specific data D1 is data that is rewritten every time a job is executed. Data such as the total number of printed sheets and the total operating time of each part of the
更新頻度が高いことを考慮し、情報処理装置10(複合機100)では、特定パーティション70には、UBIファイルシステム8が用いられる(詳細は後述)。
In consideration of the high update frequency, the UBI file system 8 is used for the
特定パーティション70以外のパーティション7には、例えば、ファームウェア23や起動用プログラム21を記憶させることができる。ファームウェア23は、アップデートのときのみ更新される。ファームウェア23は一切更新されない場合もあり得る。そのため、ファームウェア23や起動用プログラム21は、特定パーティション70以外のパーティション7に記憶させてもよい。
For example, the
(特定パーティション70)
次に、図3、図4に基づき、実施形態に係る特定パーティション70を説明する。図3は、特定パーティション70に係るソフトウェアの階層構造の一例を示す図である。図4は、実施形態に係るUBIサブシステム9の動作の一例を示す図である。
(Specific partition 70)
Next, the
特定パーティション70は他のパーティション7よりも頻繁に書き換えられる。特定パーティション70は、情報処理装置10を使用しているうちに、各ブロックの消去回数が増加してゆくパーティション7である。ブロックの消去回数は、不良ブロック24の発生と関係がある。特定パーティション70では、ウェアレベリングや不良ブロック24の発生に注意する必要がある。そこで、特定パーティション70のファイルシステムには、UBIファイルシステム8が用いられる。
The
制御回路1は、UBIファイルシステム8に基づき、特定パーティション70の読み書きを行う。UBIファイルシステム8を利用するには、UBIサブシステム9(UBIレイヤー)とMTDサブシステム20(MTDレイヤー)が必要である。UBIはUnsorted Block Imagesの省略語である。MTDは、Memory Technology Deviceの省略語である。UBIサブシステム9はMTDサブシステム20を介して、各ブロックの読み書き、消去を行う。
The
図3に示すように、MTDサブシステム20は、フラッシュメモリー2にアクセスするためのサブシステムである。MTDサブシステム20は、フラッシュメモリー2の各ブロックの読み出し、書き込み、全体消去をサポートする。
As shown in FIG. 3, the
図3に示すように、UBIサブシステム9は、MTDサブシステム20とファイルシステム間に位置する管理レイヤーである。UBIサブシステム9はMTD用のサブシステムである。UBIファイルシステム8はUBIサブシステム9の上で動作する。なお、UBIサブシステム9の上で動作するファイルシステムは、UBIファイルシステム8に限られない。他のファイルシステムもUBIサブシステム9の上で動作させることができる。そのため、特定パーティション70のファイルシステムは、UBIファイルシステム8以外のファイルシステムでもよい。
As shown in FIG. 3, the
UBIサブシステム9を用いる場合、制御回路1は、UBIサブシステム9とMTDサブシステム20を関連付けする処理を行う。この処理は、UBIサブシステム9のアタッチと呼ばれる。アタッチは情報処理装置10(複合機100)の起動時に行われる。言い換えると、UBIサブシステム9のアタッチは、UBIサブシステム9を使えるようにするための処理である。
When the
このように、MTDサブシステム20とUBIサブシステム9は、読み出し、書き込みを制御回路1とフラッシュメモリー2に行わせる。ここで、UBIサブシステム9は、フラッシュメモリー2の各ブロックの消去回数を管理する。この回数管理に基づき、UBIサブシステム9は、ウェアレベリングを提供する。UBIサブシステム9より上位のファイルシステムは、ウェアレベリングを気にしなくてよくなる。
As described above, the
図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に実現させる。
The control of the
また、UBIサブシステム9に基づき、制御回路1は不良ブロック24(図4参照)を認識する。製造当初から不良なブロックがある。また、使用しているうちに不良ブロック24となることがある。書き込みや消去のとき、電荷が各メモリーセルの絶縁膜(絶縁層)を通過する。電荷の通過により絶縁膜が劣化していく。制御回路1は、劣化が進むことにより異常が出たメモリーセルを含むブロックを不良ブロック24と認識する。
Further, based on the
例えば、制御回路1は、消去が失敗したブロックを不良ブロック24と認識する。また、制御回路1は、書き込み無効が生じたブロックを不良ブロック24と認識する。また、制御回路1は、誤り訂正符号を用いても訂正できないエラーが生じたブロックを不良ブロック24と認識する。制御回路1は、不良ブロック24と認識したブロックを示すデータをフラッシュメモリー2内に設けられた不良ブロック用テーブルに書き込ませる。不良ブロック用テーブルに基づき、制御回路1は、不良ブロック24を管理する。制御回路1は、不良ブロック24のスペアブロック25(図4参照)への置き換えをフラッシュメモリー2に行わせる。以後、不良ブロック24は使用されなくなる。スペアブロック25が不良ブロック24の代わりに用いられる。
For example, the
(スペアブロック数の設定の流れ)
次に、図5、図6を用いて、実施形態に係る情報処理装置10での特定パーティション70のスペアブロック数の設定の流れの一例を説明する。図5は、実施形態に係るフラッシュメモリー2でのパーティション7のサイズ変更の一例を示す図である。図6は、実施形態に係る情報処理装置10での特定パーティション70のスペアブロック数の設定の流れの一例を示すフローチャートである。
(Flow of setting the number of spare blocks)
Next, an example of the flow of setting the number of spare blocks of the
不良ブロック24は使用できない。不良ブロック24を置き換えるためのスペアブロック25が無い場合、不良ブロック24を含むパーティション7の記憶容量は、不良ブロック24分だけ少なくなる。スペアブロック25が無い場合、不良ブロック24を含むパーティション7において、パーティション7に格納すべきデータを全て格納できなくなる場合がある。その結果、何らかの不具合が生じ得る。そこで、情報処理装置10では、各パーティション7にスペアブロック25が設けられる。
The
使用できるブロックの最小数や最大数は、フラッシュメモリー2の仕様で定められる場合がある。例えば、全ブロック数から使用できるブロックの最小数を減じた値が、発生し得る不良ブロック24の最大数(ワースト数)となる。例えば、1024ブロックのNANDのフラッシュメモリーの場合、ワースト数は、20ブロック程度とされることが多い。全ブロックの2%程度が不良ブロック24となり得る。情報処理装置10のフラッシュメモリー2は、1ブロックのサイズが128KByte、全ブロック数が1024である。そのため、フラッシュメモリー2の容量は、128MByteである。
The minimum and maximum number of blocks that can be used may be determined by the specifications of the
ワースト数の不良ブロック24が1つのパーティション7内に集中する可能性はゼロではない。そのため、各パーティション7にワースト数のスペアブロック25を確保することが考えられる。しかし、パーティション数が多いほど、スペアブロック数は多くなる。パーティション数が10、ワースト数が20の場合、200ものスペアブロック25が必要となる。各パーティション7のスペアブロック数をワースト数とすることは現実的ではない。また、通常、不良ブロック24の位置に極端な偏りはない。
The possibility that the worst number of
そこで、情報処理装置10(複合機100)では、ワースト数+αのスペアブロック25を、各パーティション7に配分する。過不足なく各パーティション7にスペアブロック25が配分される。各パーティション7で不良ブロック率が同じと仮定すると、パーティション7のサイズが大きいほど、そのパーティション7のスペアブロック数は多くすべきである。反対に、パーティション7のサイズが小さいほど、そのパーティション7のスペアブロック数は少なくすべきである。情報処理装置10では、パーティション7のブロック数に応じたスペアブロック数を設定する。
Therefore, in the information processing apparatus 10 (multifunction device 100), the worst number + α spare block 25 is distributed to each
特定パーティション70(UBIファイルシステム8、UBIサブシステム9)のスペアブロック数は、カーネルコンフィグレーションで設定する必要がある。フラッシュメモリー2の起動用のパーティション7には、起動用ファイル22(カーネルのファイルや、カーネル構築に用いるファイル)が記憶される。起動時、制御回路1は、起動用ファイル22を読み出す。そして、制御回路1はカーネルを構築する(カーネルコンフィグレーション)。いずれかの起動用ファイル22に特定パーティション70のスペアブロック数が定義される。カーネルの構築過程で、制御回路1は、特定パーティション70のスペアブロック数を確認する。そして、制御回路1は、起動用ファイル22に基づき、特定パーティション70のスペアブロック数を設定する。
The number of spare blocks of the specific partition 70 (UBI file system 8, UBI subsystem 9) needs to be set by the kernel configuration. The
ここで、上述したように、各パーティション7のサイズ(ブロック数)が変更される場合がある(図5参照)。これにより、パーティション7のブロック数が変化する。特に、データの書き換えが頻繁になされる特定パーティション70は、他のパーティション7よりも後天的に不良ブロック24が発生しやすい。特定パーティション70のスペアブロック数は不足がないようにする必要がある。
Here, as described above, the size (number of blocks) of each
特定パーティション70のサイズ変更があったとき、起動用ファイル22内の特定パーティション70のスペアブロック数の定義を変更する必要がある。例えば、特定パーティション70のサイズが大きくなった場合、スペアブロック数を増やすべきである。特定パーティション70のサイズが小さくなった場合、スペアブロック数を減らすべきである。
When the size of the
パーティション7のサイズ変更作業と、起動用ファイル22のスペアブロック数の変更作業は別の手続である。そのため、スペアブロック数の変更作業を忘れることがある。変更作業を忘れることにより、特定パーティション70のスペアブロック数が不足する可能性がある。スペアブロック数が足りないとき、特定パーティション70に格納できないデータが出てくるリスクが高くなる。
The
そこで、情報処理装置10では、特定パーティション70のスペアブロック数を自動的に適切な値に設定する。これにより、特定パーティション70のサイズ変更があっても、スペアブロック数は適切な値で維持される。そこで、以下、図6を用いて、特定パーティション70のスペアブロック数の設定の流れを説明する。
Therefore, the
図6のスタートは、情報処理装置10(複合機100)の制御部3の起動開始時である。複合機100の主電源が投入されたとき、制御部3の起動が開始される。また、省電力モードが解除されたとき、制御部3の起動が開始されることがある。
The start of FIG. 6 is when the
制御回路1は、カーネルコンフィグレーションで特定パーティション70のスペアブロック数を設定する。ここで設定されるスペアブロック数は、何れかの起動用ファイル22に定義された値である(ステップ♯1)。
The
UBIサブシステムのアタッチの前に、制御回路1は、特定パーティション70のブロック数を認識する(ステップ♯2)。そして、制御回路1は、ブロック数に予め定められた基準割合を乗じた値を得る(ステップ♯3)。この値に基づき、制御回路1は、特定パーティション70のスペアブロック数を求める。
Before attaching the UBI subsystem, the
基準割合は適宜定められる。基準割合の値は、フラッシュメモリー2の何れかのパーティション7に記憶される。ワースト数のスペアブロック25を各パーティション7に配分する。そこで、基準割合は、フラッシュメモリー2の仕様上のブロック不良率と対応させてもよい。例えば、基準割合は、フラッシュメモリー2の仕様上の不良ブロック24のワースト数をフラッシュメモリー2の全ブロック数で除した値に基づき定めてもよい。
The reference ratio is determined as appropriate. The reference ratio value is stored in any
情報処理装置10のフラッシュメモリー2では、仕様上のワースト数が20、全ブロック数が1024である。20/1024≒0.01953である。そこで、情報処理装置10では、0.02(2%)を基準割合とする。つまり、ワースト数÷全ブロック数で求めた値のうち、百分率で小数点以下第1位の値を四捨五入して基準割合を定める。
In the
そして、制御回路1は、特定パーティション70のブロック数に基準割合を乗じて得た値よりも大きい最小の整数を求める(ステップ♯4)。言い換えると、制御回路1は、得た値の小数点以下を切り上げた値を求める。ブロック数は正の整数であり、基準割合も正の整数である。そのため、求められる値は常に正の整数となる。制御回路1は、求めた整数をスペアブロック数に設定する(ステップ♯5)。
Then, the
ステップ♯2〜ステップ♯5を実行するプログラムが特定パーティション70に関する起動用プログラムとして予め用意される。特定パーティション70に関する起動用プログラムは、フラッシュメモリー2(特定パーティション70以外のパーティション7)に記憶される。特定パーティション70に関する起動用のプログラムは、UBIサブシステム9のアタッチ前に実行される。
A program for executing
カーネルコンフィグレーションで設定したスペアブロック数に変えて、制御回路1は求めた最小の整数を特定パーティション70のスペアブロック数として再設定する。その結果、起動時、常に適切なスペアブロック数が求められる。ステップ♯5で求めたスペアブロック数は、カーネルコンフィグレーションによるスペアブロック数よりも優先される。
Instead of the number of spare blocks set in the kernel configuration, the
図5を用いて特定パーティション70のスペアブロック数の設定を説明する。図5のうち、上側の表はサイズ変更前の各パーティション7のサイズ、ブロック数、スペアブロック数の一例を示す。図5のうち、下側の表はサイズ変更後の各パーティション7のサイズ、ブロック数、スペアブロック数の一例を示す。
The setting of the number of spare blocks in the
特定パーティション70は2番のパーティション7である(網掛けで図示)。図5において、変更前の特定パーティション70のサイズは、16MByte、ブロック数は、128である。基準割合は2%とする。128×2%=2.56である。2.56の小数点以下を切り上げた値は3である。そこで、制御回路1は、特定パーティション70のスペアブロック数を3に設定する。
The
図5において、変更後の特定パーティション70のサイズは、64MByte、ブロック数は、512である。基準割合は2%とする。512×2%=10.24である。10.24の小数点以下を切り上げた値は11である。そこで、制御回路1は、特定パーティション70のスペアブロック数を11に設定する。このように、起動用ファイル22に含まれるスペアブロック数の変更が忘れられても、特定パーティション70のスペアブロック数は常に適切な値とされる。
In FIG. 5, the size of the
次に、制御回路1は、UBIサブシステム9のアタッチを開始する(ステップ♯6)。UBIサブシステム9のアタッチにより、UBIファイルシステム8も使用できるようになる。制御回路1は、特定パーティション70のスペアブロック数をステップ♯5で設定した数としている。なお、少なくともステップ♯6の前に、制御回路1は、MTDサブシステム20を利用可能としている。
Next, the
特定パーティション70のUBIサブシステム9のアタッチの後、制御回路1は、特定パーティション70において、UBIファイルシステム8をマウントする(ステップ♯7)。これにより、特定パーティション70(フラッシュメモリー2)において、UBIファイルシステム8が利用可能となる。そして、本フローは終了する(エンド)。
After attaching the
このようにして、実施形態に係る情報処理装置10は、フラッシュメモリー2と制御回路1を含む。フラッシュメモリー2は、ブロック単位でデータの消去が可能であり、記憶領域に複数のパーティション7が設けられる。制御回路1は、フラッシュメモリー2の読み書きを制御する。制御回路1は、データ消去を制御し、発生した不良ブロック24をスペアブロック25に置き換える。制御回路1は、パーティション7のスペアブロック数を設定する。フラッシュメモリー2の起動処理のとき、制御回路1は、パーティション7のブロック数を認識する。制御回路1は、ブロック数に予め定められた基準割合を乗じて得た値よりも大きい数をパーティション7のスペアブロック数に設定する。
As described above, the
これにより、パーティション7のサイズが大きいほど、そのパーティション7のスペアブロック数を多くすることができる。パーティション7のサイズが小さいほど、そのパーティション7のスペアブロック数を小さくすることができる。適切な(パーティション7のブロック数に応じた)スペアブロック数を自動的に設定することができる。また、常に適切なスペアブロック数とすることができる。パーティション7のサイズ変更の前後を問わず、スペアブロック数は、常にパーティション7のブロック数に応じた数になる。パーティション7のサイズ変更後、起動用ファイル22(カーネルコンフィグレーションに用いるファイル)の変更を忘れても問題はない。言い換えると、スペアブロック数の変更作業を忘れても問題はない。むしろ、スペアブロック数の変更作業をしなくてすむ。
As a result, the larger the size of the
従って、パーティション7のサイズが大きくなっても、スペアブロック25の不足は生じない。不良ブロック24数がスペアブロック数を超えた場合、データ格納不可の発生リスクは高くなる。スペアブロック数は適切なので、このリスクを下げることができる。また、パーティション7のサイズが小さくなっても、必要以上に多いスペアブロック25は設定されない。スペアブロック数は、適切な値で保たれる。
Therefore, even if the size of the
また、制御回路1は、ブロック数に予め定められた基準割合を乗じて得た値よりも大きい最小の整数をスペアブロック数に設定する。これにより、パーティション7に配するスペアブロック数を過不足のない数に設定することができる。また、パーティション7のブロック数に仕様上の不良ブロック24発生率を乗じた個数の不良ブロック24が生じても、データ格納不可は生じない。
Further, the
サブシステムを用いるパーティション7では、スペアブロック数の設定が必要な場合がある。そこで、フラッシュメモリー2の起動処理のとき、制御回路1は、サブシステム(UBIサブシステム9)をアタッチする。制御回路1は、サブシステムにより、フラッシュメモリー2の各ブロックの消去回数を管理してウェアレベリングを行う。制御回路1は、サブシステムのアタッチの前に、パーティション7のうち、サブシステム上で動作させる特定パーティション70のブロック数を認識し、特定パーティション70のブロック数に基準割合を乗じて得た値に基づき特定パーティション70のスペアブロック数を設定する。これにより、サブシステムを用いる特定パーティション70でのスペアブロック数を適切な数にすることができる。特定パーティション70のサイズ変更があっても、特定パーティション70のサイズ(ブロック数)に応じたスペアブロック数を自動的に設定することができる。
In the
カーネルコンフィグレーションに用いる起動用ファイル22でスペアブロック数を設定することがある。しかし、特定パーティション70のサイズ変更時、起動用ファイル22のスペアブロック数の変更作業を忘れることがある。そこで、制御回路1は、カーネルコンフィグレーションで設定された特定パーティション70のスペアブロック数を、アタッチ時に求めたスペアブロック数に書き換える。これにより、カーネルコンフィグレーション時に設定されたスペアブロック数よりも、アタッチ時に求めたスペアブロック数を優先的に適用することができる。スペアブロック数の変更作業がなされなくても、特定パーティション70のスペアブロック数を適切な数に設定することができる。
The number of spare blocks may be set in the
また、サブシステムはUBIサブシステム9である。特定パーティション70のファイルシステムは、UBIサブシステム9上で動作させるファイルシステムである。例えば、ファイルシステムには、UBIファイルシステム8を用いることができる。これにより、UBIサブシステム9を用いる特定パーティション70のスペアブロック数を常時、適切な値に設定することができる。
The subsystem is a
また、画像形成装置は、印刷部6、フラッシュメモリー2、制御回路1を含む。印刷部6は印刷を行う。フラッシュメモリー2は、ブロック単位でデータの消去が可能であり、記憶領域に複数のパーティション7が設けられる。制御回路1は、フラッシュメモリー2の読み書きを制御する。制御回路1は、データ消去を制御し、発生した不良ブロック24をスペアブロック25に置き換える。制御回路1は、パーティション7のスペアブロック数を設定する。フラッシュメモリー2の起動処理のとき、制御回路1は、パーティション7のブロック数を認識する。制御回路1は、ブロック数に予め定められた基準割合を乗じて得た値よりも大きい数をパーティション7のスペアブロック数に設定する。パーティション7のブロック数に応じたスペアブロック数を自動的に設定できる画像形成装置を提供することができる。画像形成装置では、パーティション7のサイズ変更があっても、スペアブロック数は常に変更後のパーティション7のブロック数に応じた数になる。
The image forming apparatus includes a
以上、本発明の実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。そこで、以下、変形例を説明する。 The embodiment of the present invention has been described above, but the scope of the present invention is not limited to this, and various modifications can be made without departing from the spirit of the invention. Therefore, a modified example will be described below.
上記の説明では、特定パーティション70のスペアブロック数を起動時のアタッチ時に設定する例を説明した。しかし、特定パーティション70以外のパーティション7について、制御回路1は、サイズに基づきスペアブロック数を設定してもよい。
In the above description, an example has been described in which the number of spare blocks of the
本発明は、制御回路、フラッシュメモリーを含む情報処理装置に利用可能である。 The present invention is applicable to an information processing apparatus including a control circuit and a flash memory.
複合機100(画像形成装置) 10 情報処理装置
1 制御回路 2 フラッシュメモリー
24 不良ブロック 25 スペアブロック
6 印刷部 7 パーティション
70 特定パーティション 9 UBIサブシステム
8 UBIファイルシステム
MFP 100 (image forming apparatus) 10
Claims (4)
前記フラッシュメモリーの読み書きを制御し、データ消去を制御し、発生した不良ブロックをスペアブロックに置き換え、前記パーティションのスペアブロック数を設定する制御回路と、を含み、
各前記パーティションには、前記スペアブロックが配分され、更新頻度が高いと定められたデータである特定データを記憶させる特定パーティションと、ファームウェア、起動用プログラムが記憶される前記特定パーティション以外の前記パーティションがあり、
前記フラッシュメモリーの起動処理のときに前記特定パーティションについては、
前記制御回路は、
前記特定パーティションの前記スペアブロック数が定義された起動用ファイルに基づき、前記特定パーティションの前記スペアブロック数を設定し、
前記スペアブロック数の設定後、前記フラッシュメモリーの各ブロックの消去回数を管理してウェアレベリングを行うサブシステムのアタッチ前に、前記特定パーティションのブロック数を認識し、
認識した前記ブロック数に予め定められた基準割合を乗じた値に基づき前記特定パーティションの前記スペアブロック数を再設定し、
前記スペアブロック数の再設定後、前記サブシステムをアタッチして、前記サブシステム上で前記特定パーティションを動作させることを特徴とする情報処理装置。 Erasing data in blocks of a determined size, flash memory with multiple partitions in the storage area,
A control circuit that controls reading and writing of the flash memory, controls data erasure, replaces a generated defective block with a spare block, and sets the number of spare blocks of the partition;
In each of the partitions, the spare block is allocated, a specific partition that stores specific data that is determined to have a high update frequency, and a partition other than the specific partition in which firmware and a boot program are stored are stored. Yes,
For the specific partition during the boot process of the flash memory ,
The control circuit includes:
Based on the boot file in which the number of spare blocks of the specific partition is defined, the number of spare blocks of the specific partition is set,
After setting the number of spare blocks, recognize the number of blocks of the specific partition before attaching a subsystem that manages the number of erases of each block of the flash memory and performs wear leveling,
Resetting the number of spare blocks of the specific partition based on a value obtained by multiplying the recognized number of blocks by a predetermined reference ratio;
After resetting the number of spare blocks , the information processing apparatus is configured to attach the subsystem and operate the specific partition on the subsystem .
決められたサイズのブロック単位でデータを消去し、記憶領域に複数のパーティションが設けられたフラッシュメモリーと、
前記フラッシュメモリーの読み書きを制御し、ブロック単位でのデータ消去を制御し、発生した不良ブロックをスペアブロックに置き換え、前記パーティションのスペアブロック数を設定する制御回路と、を含み、
各前記パーティションには、前記スペアブロックが配分され、更新頻度が高いと定められたデータである特定データを記憶させる特定パーティションと、ファームウェア、起動用プログラムが記憶される前記特定パーティション以外の前記パーティションがあり、
前記フラッシュメモリーの起動処理のときに前記特定パーティションについては、
前記制御回路は、
前記特定パーティションの前記スペアブロック数が定義された起動用ファイルに基づき、前記特定パーティションの前記スペアブロック数を設定し、
前記スペアブロック数の設定後、前記フラッシュメモリーの各ブロックの消去回数を管理してウェアレベリングを行うサブシステムのアタッチ前に、前記特定パーティションのブロック数を認識し、
認識した前記ブロック数に予め定められた基準割合を乗じた値に基づき前記特定パーティションの前記スペアブロック数を再設定し、
前記スペアブロック数の再設定後、前記サブシステムをアタッチして、前記サブシステム上で前記特定パーティションを動作させることを特徴とする画像形成装置。 A printing section for printing;
Erasing data in blocks of a determined size, flash memory with multiple partitions in the storage area,
A control circuit that controls reading and writing of the flash memory, controls data erasing in units of blocks, replaces a generated defective block with a spare block, and sets the number of spare blocks in the partition;
In each of the partitions, the spare block is allocated, a specific partition that stores specific data that is determined to have a high update frequency, and a partition other than the specific partition in which firmware and a boot program are stored are stored. Yes,
For the specific partition during the boot process of the flash memory ,
The control circuit includes:
Based on the boot file in which the number of spare blocks of the specific partition is defined, the number of spare blocks of the specific partition is set,
After setting the number of spare blocks, recognize the number of blocks of the specific partition before attaching a subsystem that manages the number of erases of each block of the flash memory and performs wear leveling,
Resetting the number of spare blocks of the specific partition based on a value obtained by multiplying the recognized number of blocks by a predetermined reference ratio;
After resetting the number of spare blocks, the subsystem is attached, and the specific partition is operated on the subsystem .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016225138A JP6620728B2 (en) | 2016-11-18 | 2016-11-18 | Information processing apparatus and image forming apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016225138A JP6620728B2 (en) | 2016-11-18 | 2016-11-18 | Information processing apparatus and image forming apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018081626A JP2018081626A (en) | 2018-05-24 |
JP6620728B2 true JP6620728B2 (en) | 2019-12-18 |
Family
ID=62197758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016225138A Expired - Fee Related JP6620728B2 (en) | 2016-11-18 | 2016-11-18 | Information processing apparatus and image forming apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6620728B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4347707B2 (en) * | 2004-01-09 | 2009-10-21 | パナソニック株式会社 | Information recording medium formatting method and information recording medium |
WO2007083449A1 (en) * | 2006-01-20 | 2007-07-26 | Matsushita Electric Industrial Co., Ltd. | Nonvolatile storage, nonvolatile storage system, and method of managing nonvolatile storage failure |
US20070174549A1 (en) * | 2006-01-24 | 2007-07-26 | Yevgen Gyl | Method for utilizing a memory interface to control partitioning of a memory module |
JP5380557B2 (en) * | 2012-01-31 | 2014-01-08 | 京セラドキュメントソリューションズ株式会社 | Electronic apparatus, image forming apparatus, and mounting method |
-
2016
- 2016-11-18 JP JP2016225138A patent/JP6620728B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2018081626A (en) | 2018-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5096847B2 (en) | ACCESS CONTROL DEVICE, ACCESS CONTROL METHOD, ACCESS CONTROL PROGRAM, RECORDING MEDIUM, STORAGE DEVICE, AND IMAGE PROCESSING DEVICE | |
JP5917163B2 (en) | Information processing apparatus, control method and program thereof, and storage medium | |
JP2016162022A (en) | Information processing device and memory management program | |
JP2017111716A (en) | Electronic apparatus and memory life warning program | |
JP6405736B2 (en) | Image processing apparatus, writing control program, and writing control method | |
JP2008225576A (en) | Control device of nand flash memory | |
JP6493355B2 (en) | Memory system and image forming apparatus | |
JP6620728B2 (en) | Information processing apparatus and image forming apparatus | |
JP6004923B2 (en) | Information processing apparatus, control method therefor, and program | |
JP4134895B2 (en) | Image processing apparatus and image processing method | |
US10956090B2 (en) | Memory system and electronic apparatus | |
JP6696414B2 (en) | Image processing device | |
JP5625888B2 (en) | Semiconductor storage medium control apparatus, semiconductor storage medium control method, and image forming apparatus. | |
JP6409762B2 (en) | Electronic device and memory life warning program | |
JP4562433B2 (en) | Image processing device | |
JP2020116848A (en) | Recording device, control method and program | |
JP2014138265A (en) | Image forming apparatus | |
JP2017027203A (en) | Storage medium control device, storage medium control program, and storage medium control method | |
JP2015046088A (en) | Semiconductor device | |
JP2012088937A (en) | Image processor, memory management method of image processor, memory management program of image processor, and recording medium | |
JP6288560B2 (en) | Information processing apparatus, flash memory replacement support method, and replacement support program | |
JP2019034455A (en) | Image formation apparatus, management method for consumable supply, and program | |
JP2019096959A (en) | Image processing system | |
JP2017040978A (en) | Image forming apparatus and image forming system | |
JP2018063499A (en) | Information processing device, control method thereof, and program |
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 |