JP4177360B2 - Memory controller, flash memory system, and flash memory control method - Google Patents

Memory controller, flash memory system, and flash memory control method Download PDF

Info

Publication number
JP4177360B2
JP4177360B2 JP2005215659A JP2005215659A JP4177360B2 JP 4177360 B2 JP4177360 B2 JP 4177360B2 JP 2005215659 A JP2005215659 A JP 2005215659A JP 2005215659 A JP2005215659 A JP 2005215659A JP 4177360 B2 JP4177360 B2 JP 4177360B2
Authority
JP
Japan
Prior art keywords
command set
flash memory
read
stored
command
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
JP2005215659A
Other languages
Japanese (ja)
Other versions
JP2007034581A (en
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.)
TDK Corp
Original Assignee
TDK Corp
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 TDK Corp filed Critical TDK Corp
Priority to JP2005215659A priority Critical patent/JP4177360B2/en
Publication of JP2007034581A publication Critical patent/JP2007034581A/en
Application granted granted Critical
Publication of JP4177360B2 publication Critical patent/JP4177360B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、メモリコントローラ及び当該メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法に関する。 The present invention relates to a memory controller, a flash memory system including the memory controller, and a flash memory control method .

近年、不揮発性の記録媒体であるフラッシュメモリの開発が盛んに行われ、デジタルカメラ等の情報機器の記憶媒体として普及している。   In recent years, a flash memory, which is a non-volatile recording medium, has been actively developed and is widely used as a storage medium for information devices such as digital cameras.

このような機器によるフラッシュメモリへのアクセスを制御するために、メモリコントローラが用いられる。一般に、メモリコントローラは、読み出し、書き込み等の各種処理の手順を定義する一連のコマンドの配列であるコマンドセット(又はコマンドシーケンス)を、自己の有するROM(Read Only Memory)等に予め格納している。そして、各種処理を実行する際には、コマンドセットを解釈して実行することで、所望の処理を実現する(例えば特許文献1参照)。
特開平8−137763号公報
A memory controller is used to control access to the flash memory by such devices. In general, a memory controller stores a command set (or command sequence), which is an array of a series of commands that define various processing procedures such as reading and writing, in advance in its own ROM (Read Only Memory) or the like. . And when performing various processes, a desired process is implement | achieved by interpreting and executing a command set (for example, refer patent document 1).
JP-A-8-137763

しかしながら、フラッシュメモリは、品種によって構成や機能(例えば、キャッシュの有無、ページやブロックのサイズ、サポートするコマンドの種類等)に差異がある。   However, flash memories have different configurations and functions (for example, the presence or absence of a cache, the size of a page or block, the type of supported command, etc.) depending on the type.

これに対応して、フラッシュメモリの品種毎に、別々にメモリコントローラを開発するのでは、フラッシュメモリの多様化にメモリコントローラの開発が追いつかないという状況が生じる。   Corresponding to this, if a memory controller is developed separately for each type of flash memory, a situation occurs in which the development of the memory controller cannot catch up with the diversification of the flash memory.

本発明は上記の実情に鑑みてなされたもので、コマンドセットの仕様が異なる多品種のフラッシュメモリを制御できるメモリコントローラ、及び当該メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法を提供することを目的とする。 The present invention has been made in view of the above circumstances, and provides a memory controller that can control various types of flash memories having different command set specifications, a flash memory system including the memory controller, and a flash memory control method . For the purpose.

本発明の第1の観点に係るメモリコントローラは、
フラッシュメモリを制御するための処理の手順を定義する一連の命令であるコマンドセットを取得するコマンドセット取得手段と、
マンドセットを保持するコマンドセット保持手段と、
前記フラッシュメモリを記憶媒体として利用するホストシステムからの命令に応答して、前記フラッシュメモリに実行させるべき処理に対応するコマンドセットを前記コマンドセット保持手段から取得し、該コマンドセットに含まれる命令を実行する制御手段とを備え、
前記フラッシュメモリ内の特定のページには、少なくとも読出処理の手順を定義した読出処理のコマンドセットを含むコマンドセットが格納され、前記特定のページ以外のページには、前記読出処理のコマンドセット以外のコマンドセットが格納されており、
前記コマンドセット取得手段は、起動時に、前記フラッシュメモリの前記特定のページに格納されているコマンドセットを読み出し、
前記制御手段は、前記コマンドセット取得手段が読み出したコマンドセットに含まれる前記読出処理のコマンドセットを用いて、前記フラッシュメモリの前記特定のページ以外のページに格納されているコマンドセットを読み出して、前記コマンドセット保持手段に格納する、
ことを特徴とする。
A memory controller according to a first aspect of the present invention includes:
Command set acquisition means for acquiring a command set, which is a series of instructions that define a processing procedure for controlling the flash memory;
And command set holding means for holding a set of commands,
In response to an instruction from a host system that uses the flash memory as a storage medium, a command set corresponding to a process to be executed by the flash memory is acquired from the command set holding unit, and an instruction included in the command set is acquired. Control means to execute,
A specific page in the flash memory stores a command set including at least a read processing command set that defines a read processing procedure, and a page other than the specific page includes a command set other than the read processing command set. Command set is stored,
The command set acquisition means reads a command set stored in the specific page of the flash memory at startup,
The control unit reads a command set stored in a page other than the specific page of the flash memory using the command set of the read process included in the command set read by the command set acquisition unit, Storing in the command set holding means;
It is characterized by that.

本発明の第2の観点に係るメモリコントローラは、
フラッシュメモリを制御するための処理の手順を定義する一連の命令であるコマンドセットを取得するコマンドセット取得手段と、
コマンドセットを保持するコマンドセット保持手段と、
前記フラッシュメモリを記憶媒体として利用するホストシステムからの命令に応答して、前記フラッシュメモリに実行させるべき処理に対応するコマンドセットを前記コマンドセット保持手段から取得し、該コマンドセットに含まれる命令を実行する制御手段とを備え、
前記コマンドセット取得手段は、起動時に、外部の記憶装置から、当該外部の記憶装置に予め格納されている読出処理の手順を定義した読出処理のコマンドセットを取得し、
前記フラッシュメモリは、前記読出処理のコマンドセット以外コマンドセット格納され
前記制御手段は、前記コマンドセット取得手段が取得した前記読出処理のコマンドセットを用いて、前記フラッシュメモリに格納されているコマンドセットを読み出して、前記コマンドセット保持手段に格納する
A memory controller according to a second aspect of the present invention is:
Command set acquisition means for acquiring a command set, which is a series of instructions that define a processing procedure for controlling the flash memory;
Command set holding means for holding the command set;
In response to an instruction from a host system that uses the flash memory as a storage medium, a command set corresponding to a process to be executed by the flash memory is acquired from the command set holding unit, and an instruction included in the command set is acquired. Control means to execute,
The command set obtaining means, at start-up, an external storage device, acquires the command set of the read process that defines the procedure for read processing that is previously stored in the external storage device,
The flash memory, command set other than the command set of the reading process is stored,
Wherein said control means uses the command set of the read processing of the command set acquisition unit has acquired, and read out the command set stored in the flash memory is stored in the command set hold means.

本発明の第の観点に係るフラッシュメモリシステムは、上記の特徴のうち、少なくともいずれか一つを有するメモリコントローラと、フラッシュメモリとを備えることを特徴とする。 A flash memory system according to a third aspect of the present invention includes a memory controller having at least one of the above characteristics and a flash memory.

本発明の第の観点に係るフラッシュメモリの制御方法は、フラッシュメモリを制御するための処理の手順を定義する一連の命令であるコマンドセットを取得するコマンドセット取得ステップと、マンドセットを記憶装置に保持するコマンドセット保持ステップと、前記フラッシュメモリを記憶媒体として利用するホストシステムからの命令に応じて、前記記憶装置に保持されているコマンドセットを用いて前記フラッシュメモリを制御する制御ステップと、
を備え、
前記フラッシュメモリ内の特定のページには、少なくとも読出処理の手順を定義した読出処理のコマンドセットを含むコマンドセットが格納され、前記特定のページ以外のページには、前記読出処理のコマンドセット以外のコマンドセットが格納されており、
前記コマンドセット取得ステップは、起動時に、前記フラッシュメモリの前記特定のページに格納されているコマンドセットを読み出すステップを含み、
前記制御ステップは、前記コマンドセット取得ステップにより読み出されたコマンドセットに含まれる前記読出処理のコマンドセットを用いて、前記特定のページ以外のページに格納されているコマンドセットを読み出して、前記記憶装置に格納するステップを含む、
ことを特徴とする。
本発明の第5の観点に係るフラッシュメモリの制御方法は、
フラッシュメモリを制御するための処理の手順を定義する一連の命令であるコマンドセットを取得するコマンドセット取得ステップと、
コマンドセットを記憶装置に保持するコマンドセット保持ステップと、
前記フラッシュメモリを記憶媒体として利用するホストシステムからの命令に応じて、前記記憶装置に保持されているコマンドセットを用いて前記フラッシュメモリを制御する制御ステップとを備え、
前記コマンドセット取得ステップは、起動時に、外部の記憶装置から、当該外部の記憶装置に予め格納されている読出処理の手順を定義した読出処理のコマンドセットを取得するステップを含み、
前記フラッシュメモリには、前記読出処理のコマンドセット以外のコマンドセットが格納され、
前記制御ステップは、前記コマンドセット取得ステップにより取得された前記読出処理のコマンドセットを用いて、前記フラッシュメモリに格納されているコマンドセットを読み出して、前記記憶装置に格納するステップを含む、
ことを特徴とする。
Control method for a flash memory according to the fourth aspect of the present invention, a command set acquiring a command set is a series of instructions that define the steps of a process for controlling the flash memory, it stores a set of commands a command set holding step that holds the apparatus, the control step in response to a command from the host system utilizing the flash memory as a storage medium, for controlling the flash memory by using the command set held in the storage device When,
With
A specific page in the flash memory stores a command set including at least a read processing command set that defines a read processing procedure, and a page other than the specific page includes a command set other than the read processing command set. Command set is stored,
The command set acquisition step includes a step of reading a command set stored in the specific page of the flash memory at startup,
The control step reads a command set stored in a page other than the specific page using the command set of the read process included in the command set read by the command set acquisition step, and stores the memory Including storing in the device;
It is characterized by that.
A flash memory control method according to a fifth aspect of the present invention includes:
A command set acquisition step for acquiring a command set, which is a series of instructions that define a processing procedure for controlling the flash memory;
A command set holding step for holding the command set in a storage device;
A control step of controlling the flash memory using a command set held in the storage device in response to a command from a host system that uses the flash memory as a storage medium;
The command set acquisition step includes a step of acquiring a command set of read processing defining a procedure of read processing stored in advance in the external storage device from an external storage device at startup,
The flash memory stores a command set other than the command set for the reading process,
The control step includes a step of reading a command set stored in the flash memory using the command set of the reading process acquired by the command set acquisition step, and storing the command set in the storage device.
It is characterized by that.

本発明によれば、メモリコントローラは、制御対象となるフラッシュメモリに適したコマンドセットを、ROMやフラッシュメモリ自身から取得し、その取得したコマンドセットによってフラッシュメモリを制御するため、コマンドセットの仕様が異なる多品種のフラッシュメモリを制御できる。   According to the present invention, the memory controller acquires a command set suitable for the flash memory to be controlled from the ROM or the flash memory itself, and controls the flash memory with the acquired command set. Different types of flash memory can be controlled.

以下、図面に基づき、本発明の実施の形態について詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1は、本発明に係るフラッシュメモリシステム1を概略的に示すブロック図である。図1に示すように、フラッシュメモリシステム1は、フラッシュメモリ2と、それを制御するコントローラ3で構成されている。   FIG. 1 is a block diagram schematically showing a flash memory system 1 according to the present invention. As shown in FIG. 1, the flash memory system 1 includes a flash memory 2 and a controller 3 that controls the flash memory 2.

なお、フラッシュメモリシステム1は、外部バス13を介してホストシステム4と接続される。ホストシステム4は、ホストシステム4の全体の動作を制御するためのCPU(Central Processing Unit)、フラッシュメモリシステム1との情報の授受を担うコンパニオンチップ等から構成される。ホストシステム4は、例えば、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置であってもよい。   The flash memory system 1 is connected to the host system 4 via the external bus 13. The host system 4 includes a CPU (Central Processing Unit) for controlling the entire operation of the host system 4, a companion chip for transferring information to and from the flash memory system 1, and the like. The host system 4 may be various information processing apparatuses such as a personal computer and a digital still camera that process various types of information such as characters, sounds, and image information.

フラッシュメモリ2は、不揮発性メモリであり、レジスタと、メモリセルアレイと、から構成される。フラッシュメモリ2は、レジスタとメモリセルとの間でデータの複写を行って、データの書き込み又は読み出しを行う。   The flash memory 2 is a non-volatile memory and includes a register and a memory cell array. The flash memory 2 writes or reads data by copying data between a register and a memory cell.

メモリセルアレイは、複数のメモリセル群と、ワード線と、を備える。各メモリセル群は、複数のメモリセルが直列に接続されたものである。ワード線は、メモリセル群の特定のメモリセルを選択するためのものである。このワード線を介して選択されたメモリセルとレジスタとの間で、データの複写、即ち、レジスタから選択されたメモリセルへの複写又は選択されたメモリセルからレジスタへのデータの複写が行われる。   The memory cell array includes a plurality of memory cell groups and word lines. Each memory cell group includes a plurality of memory cells connected in series. The word line is for selecting a specific memory cell in the memory cell group. Data is copied between the selected memory cell and the register via the word line, that is, data is copied from the register to the selected memory cell, or data is copied from the selected memory cell to the register. .

メモリセルアレイを構成するメモリセルは、2つのゲートを備えたMOSトランジスタによって構成される。ここで、上側のゲート、下側のゲートは、それぞれ、コントロールゲート、フローティングゲートと呼ばれており、フローティングゲートに電荷(電子)を注入若しくはフローティングゲートから電荷(電子)を排出することによって、データの書き込み若しくはデータの消去が行われる。   A memory cell constituting the memory cell array is constituted by a MOS transistor having two gates. Here, the upper gate and the lower gate are referred to as a control gate and a floating gate, respectively. By injecting charges (electrons) into the floating gate or discharging charges (electrons) from the floating gate, data can be obtained. Is written or data is erased.

このフローティングゲートは、周囲を絶縁体で囲まれているので、注入された電子は長期間にわたって保持される。なお、フローティングゲートに電子を注入するときは、コントロールゲートが高電位側となる高電圧を印加して電子が注入される。また、フローティングゲートから電子を排出するときは、コントロールゲートが低電位側となる高電圧を印加して電子が排出される。   Since the floating gate is surrounded by an insulator, the injected electrons are held for a long period of time. When electrons are injected into the floating gate, electrons are injected by applying a high voltage at which the control gate is at the high potential side. Further, when electrons are discharged from the floating gate, electrons are discharged by applying a high voltage at which the control gate is on the low potential side.

ここで、フローティングゲートに電子が注入されている状態が書き込み状態であり、論理値「0」に対応する。また、フローティングゲートから電子が排出されている状態が消去状態であり、論理値「1」に対応する。   Here, a state where electrons are injected into the floating gate is a write state, which corresponds to a logical value “0”. The state in which electrons are discharged from the floating gate is an erased state, which corresponds to a logical value “1”.

このようなフラッシュメモリ2のアドレス空間を図2に示す。フラッシュメモリ2のアドレス空間は、“ページ”と“ブロック”に基づいて分割されている。   Such an address space of the flash memory 2 is shown in FIG. The address space of the flash memory 2 is divided based on “page” and “block”.

ページは、フラッシュメモリ2にて行われるデータ読出動作及びデータ書込動作における処理単位である。ブロックは、フラッシュメモリ2にて行われるデータ消去動作における処理単位である。   A page is a processing unit in a data read operation and a data write operation performed in the flash memory 2. A block is a processing unit in a data erasing operation performed in the flash memory 2.

1つのページは、512バイトのユーザ領域25と、16バイトの冗長領域26とを含んでいる。ユーザ領域25は、ホストシステム4から供給されるユーザデータを格納する。   One page includes a 512-byte user area 25 and a 16-byte redundant area 26. The user area 25 stores user data supplied from the host system 4.

冗長領域26は、エラーコレクションコード、対応論理ブロックアドレス、ブロックステータス(フラグ)等の付加データを記録するための領域である。   The redundant area 26 is an area for recording additional data such as an error correction code, a corresponding logical block address, and a block status (flag).

エラーコレクションコードは、ユーザ領域25に記憶されているデータに含まれる誤りを検出し、訂正するためのデータである。   The error collection code is data for detecting and correcting an error included in the data stored in the user area 25.

対応論理ブロックアドレスは、1つのブロックに含まれている少なくとも1つのユーザ領域25に有効なデータが格納されているとき、そのブロックが対応付けられている論理ブロックのアドレスを示す。   The corresponding logical block address indicates the address of the logical block with which the block is associated when valid data is stored in at least one user area 25 included in one block.

論理ブロックアドレスは、ホストシステム4から与えられるホストアドレスに基づいて決定されるブロックのアドレスである。一方、フラッシュメモリ2内における実際のブロックのアドレスは、物理ブロックアドレスと称される。   The logical block address is a block address determined based on the host address given from the host system 4. On the other hand, an actual block address in the flash memory 2 is referred to as a physical block address.

1つのブロックに含まれている全てのユーザ領域25に有効なデータが格納されていないときには、そのブロックに含まれている冗長領域26に、対応論理ブロックアドレスは格納されていない。   When valid data is not stored in all user areas 25 included in one block, the corresponding logical block address is not stored in the redundant area 26 included in the block.

従って、冗長領域26に対応論理ブロックアドレスが格納されているか否かを判定することにより、その冗長領域26が含まれているブロックにてデータが消去されたか否かを判定することができる。冗長領域26に対応論理ブロックアドレスが格納されていないとき、そのブロックは、データが消去された状態となっている。   Therefore, by determining whether or not the corresponding logical block address is stored in the redundant area 26, it is possible to determine whether or not the data has been erased in the block including the redundant area 26. When the corresponding logical block address is not stored in the redundant area 26, the block is in a state where data is erased.

1つのブロックは、32個のページを含んでいる。フラッシュメモリ2では、データの上書きができない。このため、1つのページに格納されたデータのみを書き換えるときであっても、そのページが含まれたブロック内の全ページに格納されたデータが、書き換えられなければならない。   One block includes 32 pages. In the flash memory 2, data cannot be overwritten. For this reason, even when only the data stored in one page is rewritten, the data stored in all the pages in the block including the page must be rewritten.

1つのブロック内の全ページから読み出されたデータの少なくとも一部が変更された後、そのデータは、消去されているブロックの1つに、ブロック単位で書き込まれなければならない。   After at least a portion of the data read from all pages in a block has been changed, the data must be written on a block basis to one of the erased blocks.

上記のようにデータを書き換えるにあたっては、書き換えられたデータは、以前に格納されていたブロックとは異なるブロックに書き込まれる。このため、論理ブロックアドレスと物理ブロックアドレスの間の対応関係は、フラッシュメモリ2にてデータが書き換えられる毎に、動的に変化する。   In rewriting data as described above, the rewritten data is written in a block different from the previously stored block. For this reason, the correspondence relationship between the logical block address and the physical block address dynamically changes every time data is rewritten in the flash memory 2.

従って、論理ブロックアドレスと物理ブロックアドレスとの対応関係を管理する必要があり、通常、この対応関係は、アドレス変換テーブルによって管理される。このアドレス変換テーブルは、各ページの冗長領域26に記憶されている対応論理ブロックアドレスに基づいて作成される。なお、このような動的なアドレス管理手法は、フラッシュメモリを用いたメモリシステムでは一般的に行われている手法である。   Therefore, it is necessary to manage the correspondence between the logical block address and the physical block address, and this correspondence is usually managed by the address conversion table. This address conversion table is created based on the corresponding logical block address stored in the redundant area 26 of each page. Such a dynamic address management method is a method generally used in a memory system using a flash memory.

ブロックステータスは、ブロックの良否を示すフラグである。正常にデータの書き込み等を行うことができないブロックは、不良ブロックと判別され、冗長領域26には、不良ブロックであることを示すブロックステータスが書き込まれる。   The block status is a flag indicating whether the block is good or bad. A block in which data cannot be normally written is determined as a defective block, and a block status indicating a defective block is written in the redundant area 26.

このようなフラッシュメモリ2は、コントローラ3から、データ、アドレス情報、ステータス情報、内部コマンド等を受信して、データの読出処理、書込処理、ブロック消去処理、転送処理等の各処理を行う。   The flash memory 2 receives data, address information, status information, internal commands, and the like from the controller 3 and performs various processes such as a data read process, a write process, a block erase process, and a transfer process.

ここで、内部コマンドとは、コントローラ3がフラッシュメモリ2に処理の実行を指示するためのコマンドであり、フラッシュメモリ2は、コントローラ3からの内部コマンドに従って動作する。これに対して、外部コマンドとは、ホストシステム4がフラッシュメモリシステム1に対して処理の実行を指示するためのコマンドである。   Here, the internal command is a command for the controller 3 to instruct the flash memory 2 to execute processing, and the flash memory 2 operates according to the internal command from the controller 3. In contrast, the external command is a command for the host system 4 to instruct the flash memory system 1 to execute processing.

コマンドセットは、フラッシュメモリ2に対する処理を実行するための、一連の内部コマンドの実行手順を定義するものである。コマンドセットにより定義される処理には、例えば、読出処理、書込処理、消去処理等がある。このコマンドセットに従って、コントローラ3は、フラッシュメモリ2に対して内部コマンド、アドレス情報、データ等を供給する。   The command set defines a sequence of execution of a series of internal commands for executing processing for the flash memory 2. The process defined by the command set includes, for example, a read process, a write process, and an erase process. In accordance with this command set, the controller 3 supplies internal commands, address information, data, and the like to the flash memory 2.

本実施の形態に係るフラッシュメモリ2は、後述するオートリード処理によって読み出される特定のページに、読出処理の手順を定義するコマンドセット、フラッシュメモリ2のメーカや各種仕様を示すデバイス情報、他の処理(読出処理以外の処理)を定義するコマンドセットが格納されたアドレス等を予め格納する。このコマンドセットは、例えば、フラッシュメモリ2の製造検査時に予め当該ページに書き込まれるものとする。   The flash memory 2 according to the present embodiment has a command set that defines the procedure of the read process, device information indicating the manufacturer and various specifications of the flash memory 2, and other processes on a specific page read by an auto read process to be described later An address or the like in which a command set defining (a process other than the read process) is stored is stored in advance. This command set is assumed to be written in advance on the page at the time of manufacturing inspection of the flash memory 2, for example.

コントローラ3は、図1に示すように、マイクロプロセッサ6と、ホストインターフェースブロック7と、ワークエリア8と、バッファ9と、フラッシュメモリインターフェースブロック10と、ECC(エラー・コレクション・コード)ブロック11と、ROM(Read Only Memory)12と、から構成される。これら機能ブロックによって構成されるコントローラ3は、一つの半導体チップ上に集積される。以下に各機能ブロックについて説明する。   As shown in FIG. 1, the controller 3 includes a microprocessor 6, a host interface block 7, a work area 8, a buffer 9, a flash memory interface block 10, an ECC (error collection code) block 11, ROM (Read Only Memory) 12. The controller 3 constituted by these functional blocks is integrated on one semiconductor chip. Each functional block will be described below.

マイクロプロセッサ6は、ROM12やワークエリア8に記録されたプログラムに従って、コントローラ3の全体の動作を制御する。例えば、マイクロプロセッサ6は、各種処理等を定義したコマンドセットをワークエリア8から読み出してフラッシュメモリインターフェースブロック10に供給し、フラッシュメモリインターフェースブロック10に処理を実行させる。また、マイクロプロセッサ6は、ROM12に予め格納されたプログラムに従い、オートリード機能を実現する。なお、オートリード機能とは、コマンド及びアドレスを与えることなくフラッシュメモリの特定のページに格納されているデータを読み出す機能である。   The microprocessor 6 controls the overall operation of the controller 3 in accordance with a program recorded in the ROM 12 or the work area 8. For example, the microprocessor 6 reads a command set defining various processes from the work area 8, supplies the command set to the flash memory interface block 10, and causes the flash memory interface block 10 to execute the process. In addition, the microprocessor 6 realizes an auto read function according to a program stored in the ROM 12 in advance. The auto-read function is a function for reading data stored in a specific page of the flash memory without giving a command and an address.

ホストインターフェースブロック7は、ホストシステム4との間の、データ、アドレス情報、ステータス情報、外部コマンド等の授受を行なう。すなわち、フラッシュメモリシステム1とホストシステム4は、外部バス13を介して相互に接続される。かかる状態において、ホストシステム4よりフラッシュメモリシステム1に供給されるデータ等は、ホストインターフェースブロック7を入口としてコントローラ3の内部に取り込まれ、フラッシュメモリシステム1からホストシステム4に供給されるデータ等は、ホストインターフェースブロック7を出口としてホストシステム4に供給される。   The host interface block 7 exchanges data, address information, status information, external commands, and the like with the host system 4. That is, the flash memory system 1 and the host system 4 are connected to each other via the external bus 13. In such a state, the data supplied from the host system 4 to the flash memory system 1 is taken into the controller 3 through the host interface block 7 and the data supplied from the flash memory system 1 to the host system 4 is The host interface block 7 is supplied to the host system 4 as an exit.

より詳細には、ホストインターフェースブロック7は、ホストシステム4より供給されるホストアドレス及び外部コマンドを一時的に格納するコマンドレジスタ、書き込み又は読み出しを行うデータのサイズを格納するセクタ数レジスタ、書き込み又は読み出しを行うデータの論理アドレスを格納するLBA(Logical Block Addressing)レジスタ、等を有する。そして、これらのレジスタを介してホストシステム4との情報の授受を行う。   More specifically, the host interface block 7 is a command register that temporarily stores a host address and an external command supplied from the host system 4, a sector number register that stores the size of data to be written or read, and a write or read command. An LBA (Logical Block Addressing) register for storing a logical address of data to be performed. Information is exchanged with the host system 4 via these registers.

ワークエリア8は、フラッシュメモリ2の制御に必要なデータが一時的に格納される作業領域であり、複数のSRAM(Static Random Access Memory)セルによって構成される。   The work area 8 is a work area in which data necessary for controlling the flash memory 2 is temporarily stored, and is composed of a plurality of SRAM (Static Random Access Memory) cells.

バッファ9は、フラッシュメモリ2から読み出したデータ及びフラッシュメモリ2に書き込むデータを一時的に保持する。   The buffer 9 temporarily holds data read from the flash memory 2 and data to be written to the flash memory 2.

フラッシュメモリインターフェースブロック10は、内部バス14を介して、フラッシュメモリ2とデータ、アドレス情報、ステータス情報、内部コマンド等の授受を行う。より詳細には、フラッシュメモリインターフェースブロック10は、アドレスレジスタ、コマンドレジスタ、命令処理ブロック等から構成される。   The flash memory interface block 10 exchanges data, address information, status information, internal commands, and the like with the flash memory 2 via the internal bus 14. More specifically, the flash memory interface block 10 includes an address register, a command register, an instruction processing block, and the like.

アドレスレジスタは、アクセス先の物理ブロックアドレスを格納するためのレジスタである。物理ブロックアドレスは、フラッシュメモリインターフェースブロック10が実行する一連の制御処理でアクセスするフラッシュメモリ2内のブロックを指定するためのアドレス情報である。   The address register is a register for storing the physical block address of the access destination. The physical block address is address information for designating a block in the flash memory 2 to be accessed by a series of control processes executed by the flash memory interface block 10.

コマンドレジスタは、コマンドセットを構成する一連の内部コマンドを格納するためのレジスタである。このコマンドセットには、コントローラ3内での処理を指示するコマンドや、フラッシュメモリ2への内部コマンド、アドレス情報等の供給を指示するコマンドが含まれている。   The command register is a register for storing a series of internal commands constituting the command set. This command set includes a command for instructing processing in the controller 3, an internal command to the flash memory 2, and a command for instructing supply of address information and the like.

命令処理ブロックは、コマンドレジスタに格納されている一連の内部コマンドに従って、フラッシュメモリ2を制御するための内部コマンド、アドレス情報等を出力する。   The instruction processing block outputs an internal command for controlling the flash memory 2, address information, and the like according to a series of internal commands stored in the command register.

フラッシュメモリインターフェースブロック10は、命令処理ブロックによって出力される内部コマンド、アドレス情報等をフラッシュメモリ2に供給することにより、フラッシュメモリ2に読み出し、書き込み等を実行させる。   The flash memory interface block 10 supplies the flash memory 2 with internal commands, address information, and the like output from the instruction processing block, thereby causing the flash memory 2 to execute reading and writing.

ECCブロック11は、フラッシュメモリ2に書き込むデータに付加されるエラーコレクションコードを生成するとともに、読み出しデータに付加されたエラーコレクションコードに基づいて、読み出したデータに含まれる誤りを検出・訂正する。   The ECC block 11 generates an error correction code added to data to be written to the flash memory 2 and detects and corrects an error included in the read data based on the error correction code added to the read data.

ROM12は、マイクロプロセッサ6による処理の手順を定義するプログラムを格納する不揮発性の記憶素子である。具体的には、ROM12は、例えば、オートリード機能、アドレス変換テーブルの作成等の処理手順を定義するプログラムを格納する。   The ROM 12 is a non-volatile storage element that stores a program that defines a processing procedure performed by the microprocessor 6. Specifically, the ROM 12 stores a program that defines processing procedures such as an auto read function and an address conversion table.

次に、このように構成されるフラッシュメモリシステム1の起動時に実行されるコマンドセット取得処理の手順について、図3に示すフローチャートを参照して説明する。   Next, the procedure of command set acquisition processing executed when the flash memory system 1 configured as described above is started will be described with reference to the flowchart shown in FIG.

コマンドセット取得処理は、フラッシュメモリシステム1の起動時に、マイクロプロセッサ6により実行される。   The command set acquisition process is executed by the microprocessor 6 when the flash memory system 1 is activated.

コマンドセット取得処理が開始されると、マイクロプロセッサ6は、オートリード機能を用いて、フラッシュメモリ2の特定のページから、読出処理の手順を定義するコマンドセットと、他の処理(読出処理以外の処理)を定義するコマンドセットが格納されたアドレスとを取得する(ステップS100)。   When the command set acquisition process is started, the microprocessor 6 uses the auto-read function to start a command set that defines the procedure of the read process from a specific page of the flash memory 2 and other processes (other than the read process). An address storing a command set defining (processing) is acquired (step S100).

次に、マイクロプロセッサ6は、取得した読出処理のコマンドセットをワークエリア8に格納する(ステップS110)。   Next, the microprocessor 6 stores the acquired read processing command set in the work area 8 (step S110).

そして、マイクロプロセッサ6は、取得した読出処理のコマンドセットとアドレスとを用いて、フラッシュメモリ2から他の処理(読出処理以外の処理)の手順を定義するコマンドセットを取得する(ステップS120)。   Then, the microprocessor 6 uses the acquired read process command set and address to acquire a command set that defines the procedure of other processes (processes other than the read process) from the flash memory 2 (step S120).

マイクロプロセッサ6は、取得した他の処理の手順を定義するコマンドセットをワークエリア8に格納し(ステップS130)、コマンドセット取得処理を終了する。   The microprocessor 6 stores in the work area 8 a command set that defines the acquired procedure of other processing (step S130), and ends the command set acquisition processing.

コントローラ3は、上記のコマンドセット取得処理を実行することにより、制御対象となるフラッシュメモリ2に適したコマンドセットを得ることができる。そして、コントローラ3の有するマイクロプロセッサ6は、以後、ホストシステム4からの要求に応じて、処理に必要なコマンドセットをワークエリア8から読み出し、コマンドセットに含まれる一連のコマンドを順次実行することにより、読出処理、書込処理等の所望の処理を実行させる。   The controller 3 can obtain a command set suitable for the flash memory 2 to be controlled by executing the command set acquisition process described above. Then, in response to a request from the host system 4, the microprocessor 6 included in the controller 3 reads a command set necessary for processing from the work area 8, and sequentially executes a series of commands included in the command set. Then, desired processing such as reading processing and writing processing is executed.

以上で説明したように、本実施の形態のフラッシュメモリシステム1におけるコントローラ3は、起動時に、フラッシュメモリ2に予め書き込まれた当該フラッシュメモリ2に適したコマンドセットを取得する。そして取得したコマンドセットを用いて以後の処理を実行する。このため、コントローラ3は、汎用性が高く、様々な品種のフラッシュメモリ2を制御することが可能である。   As described above, the controller 3 in the flash memory system 1 of the present embodiment acquires a command set suitable for the flash memory 2 written in advance in the flash memory 2 at the time of startup. Then, the subsequent processing is executed using the acquired command set. For this reason, the controller 3 is highly versatile and can control various types of flash memories 2.

また、本実施の形態のフラッシュメモリシステム1におけるフラッシュメモリ2は、オートリード機能によって読み出される特定のページに、読出処理のコマンドセットと、他の処理のコマンドセットが格納されているアドレスとを格納し、他のコマンドセットはオートリード機能では読み出せないページに格納する。そして、コントローラ3はオートリード機能で取得した読出処理のコマンドセットを利用して、他の処理のコマンドセットを取得する。
このような手法により、オートリード機能によって読み出せるページに全ての処理のコマンドセットを格納できない場合(コマンドセットの種類が多い場合等)であっても、全ての処理のコマンドセットを取得して、以後の処理を実行することができる。
Further, the flash memory 2 in the flash memory system 1 of the present embodiment stores a command set for read processing and an address at which a command set for other processing is stored in a specific page read by the auto read function. However, other command sets are stored in pages that cannot be read by the auto read function. Then, the controller 3 acquires a command set for other processing using the command set for read processing acquired by the auto read function.
Even if the command set for all processes cannot be stored in a page that can be read by the auto-read function, the command set for all processes is acquired. Subsequent processing can be executed.

上記実施の形態では、フラッシュメモリ2のオートリード機能によって読み出せるページに格納されているコマンドセットは、読出処理のもののみであったが、当該ページの容量が許す限り、他の処理のコマンドセットも格納してもよい。可能であれば、全てのコマンドセットを当該ページに格納してもよい。   In the above embodiment, the command set stored in the page that can be read by the auto-read function of the flash memory 2 is only for the read process. However, as long as the capacity of the page allows, the command set for other processes is stored. May also be stored. If possible, all command sets may be stored on the page.

また、上記実施の形態では、起動時に、オートリード機能によって、フラッシュメモリ2の特定のページから読出処理のコマンドセットを読み出すようにした。しかし、フラッシュメモリシステム1は、図4に示すように、フラッシュメモリ2及びコントローラ3の他に、外部ROM30を備え、コントローラ3の内部に外部ROMインターフェースブロック15を備えるように構成し、コントローラ3は、起動時に、外部ROM30に予め格納された読出処理のコマンドセットを読み込んで、そのコマンドセットを用いてフラッシュメモリ2が格納している他の処理のコマンドセットを取得するようにしてもよい。   In the above embodiment, the command set for the reading process is read from a specific page of the flash memory 2 by the auto read function at the time of activation. However, as shown in FIG. 4, the flash memory system 1 includes an external ROM 30 in addition to the flash memory 2 and the controller 3, and includes an external ROM interface block 15 inside the controller 3. At startup, a command set for read processing stored in advance in the external ROM 30 may be read, and a command set for other processing stored in the flash memory 2 may be acquired using the command set.

本発明に係るフラッシュメモリシステムを概略的に示すブロック図である。1 is a block diagram schematically showing a flash memory system according to the present invention. フラッシュメモリのアドレス空間の構造を概略的に示す図である。It is a figure which shows roughly the structure of the address space of flash memory. コマンドセット取得処理の手順を説明するフローチャートである。It is a flowchart explaining the procedure of a command set acquisition process. 本発明に係るフラッシュメモリシステムの変形例を示すブロック図である。It is a block diagram which shows the modification of the flash memory system which concerns on this invention.

符号の説明Explanation of symbols

1 フラッシュメモリシステム
2 フラッシュメモリ
3 コントローラ
4 ホストシステム
6 マイクロプロセッサ
7 ホストインターフェースブロック
8 ワークエリア
9 バッファ
10 フラッシュメモリインターフェースブロック
11 ECCブロック
12 ROM
13 外部バス
14 内部バス
15 外部ROMインターフェースブロック
25 ユーザ領域
26 冗長領域
30 外部ROM
1 Flash memory system 2 Flash memory 3 Controller 4 Host system 6 Microprocessor 7 Host interface block 8 Work area 9 Buffer 10 Flash memory interface block 11 ECC block 12 ROM
13 External bus 14 Internal bus 15 External ROM interface block 25 User area 26 Redundant area 30 External ROM

Claims (5)

フラッシュメモリを制御するための処理の手順を定義する一連の命令であるコマンドセットを取得するコマンドセット取得手段と、
マンドセットを保持するコマンドセット保持手段と、
前記フラッシュメモリを記憶媒体として利用するホストシステムからの命令に応答して、前記フラッシュメモリに実行させるべき処理に対応するコマンドセットを前記コマンドセット保持手段から取得し、該コマンドセットに含まれる命令を実行する制御手段とを備え
前記フラッシュメモリ内の特定のページには、少なくとも読出処理の手順を定義した読出処理のコマンドセットを含むコマンドセットが格納され、前記特定のページ以外のページには、前記読出処理のコマンドセット以外のコマンドセットが格納されており、
前記コマンドセット取得手段は、起動時に、前記フラッシュメモリの前記特定のページに格納されているコマンドセットを読み出し、
前記制御手段は、前記コマンドセット取得手段が読み出したコマンドセットに含まれる前記読出処理のコマンドセットを用いて、前記フラッシュメモリの前記特定のページ以外のページに格納されているコマンドセットを読み出して、前記コマンドセット保持手段に格納する、
ことを特徴とするメモリコントローラ。
Command set acquisition means for acquiring a command set, which is a series of instructions that define a processing procedure for controlling the flash memory;
And command set holding means for holding a set of commands,
In response to an instruction from a host system that uses the flash memory as a storage medium, a command set corresponding to a process to be executed by the flash memory is acquired from the command set holding unit, and an instruction included in the command set is acquired. and control means for executing,
A specific page in the flash memory stores a command set including at least a read processing command set that defines a read processing procedure, and a page other than the specific page includes a command set other than the read processing command set. Command set is stored,
The command set acquisition means reads a command set stored in the specific page of the flash memory at startup,
The control unit reads a command set stored in a page other than the specific page of the flash memory using the command set of the read process included in the command set read by the command set acquisition unit, Storing in the command set holding means;
A memory controller characterized by that.
フラッシュメモリを制御するための処理の手順を定義する一連の命令であるコマンドセットを取得するコマンドセット取得手段と、
コマンドセットを保持するコマンドセット保持手段と、
前記フラッシュメモリを記憶媒体として利用するホストシステムからの命令に応答して、前記フラッシュメモリに実行させるべき処理に対応するコマンドセットを前記コマンドセット保持手段から取得し、該コマンドセットに含まれる命令を実行する制御手段とを備え、
前記コマンドセット取得手段は起動時に、外部の記憶装置から、当該外部の記憶装置に予め格納されている読出処理の手順を定義した読出処理のコマンドセットを取得し、
前記フラッシュメモリは、前記読出処理のコマンドセット以外コマンドセット格納され
前記制御手段は、前記コマンドセット取得手段が取得した前記読出処理のコマンドセットを用いて、前記フラッシュメモリに格納されているコマンドセットを読み出して、前記コマンドセット保持手段に格納する、
ことを特徴とすメモリコントローラ。
Command set acquisition means for acquiring a command set, which is a series of instructions that define a processing procedure for controlling the flash memory;
Command set holding means for holding the command set;
In response to an instruction from a host system that uses the flash memory as a storage medium, a command set corresponding to a process to be executed by the flash memory is acquired from the command set holding unit, and an instruction included in the command set is acquired. Control means to execute,
The command set acquisition unit, when starting, an external storage device, acquires the command set of the read process that defines the procedure for read processing that is previously stored in the external storage device,
The flash memory, command set other than the command set of the reading process is stored,
Wherein said control means uses the command set of the read processing of the command set acquisition unit has acquired, and read out the command set stored in the flash memory is stored in the command set hold means,
Memory controller you, characterized in that.
請求項1又は2に記載のメモリコントローラと、フラッシュメモリとを備えることを特徴とするフラッシュメモリシステム。 Flash memory system comprising: the memory controller; and a flash memory to claim 1 or 2. フラッシュメモリを制御するための処理の手順を定義する一連の命令であるコマンドセットを取得するコマンドセット取得ステップと、
マンドセットを記憶装置に保持するコマンドセット保持ステップと、
前記フラッシュメモリを記憶媒体として利用するホストシステムからの命令に応じて、前記記憶装置に保持されているコマンドセットを用いて前記フラッシュメモリを制御する制御ステップとを備え、
前記フラッシュメモリ内の特定のページには、少なくとも読出処理の手順を定義した読出処理のコマンドセットを含むコマンドセットが格納され、前記特定のページ以外のページには、前記読出処理のコマンドセット以外のコマンドセットが格納されており、
前記コマンドセット取得ステップは、起動時に、前記フラッシュメモリの前記特定のページに格納されているコマンドセットを読み出すステップを含み、
前記制御ステップは、前記コマンドセット取得ステップにより読み出されたコマンドセットに含まれる前記読出処理のコマンドセットを用いて、前記特定のページ以外のページに格納されているコマンドセットを読み出して、前記記憶装置に格納するステップを含む、
ことを特徴とするフラッシュメモリの制御方法。
A command set acquisition step for acquiring a command set, which is a series of instructions for defining a processing procedure for controlling the flash memory;
A command set holding step that holds the storage device the command set,
A control step of controlling the flash memory using a command set held in the storage device in response to a command from a host system that uses the flash memory as a storage medium ;
A specific page in the flash memory stores a command set including at least a read processing command set that defines a read processing procedure, and a page other than the specific page includes a command set other than the read processing command set. Command set is stored,
The command set acquisition step includes a step of reading a command set stored in the specific page of the flash memory at startup,
The control step reads a command set stored in a page other than the specific page using the command set of the read process included in the command set read by the command set acquisition step, and stores the memory Including storing in the device;
A method for controlling a flash memory.
フラッシュメモリを制御するための処理の手順を定義する一連の命令であるコマンドセットを取得するコマンドセット取得ステップと、  A command set acquisition step for acquiring a command set, which is a series of instructions for defining a processing procedure for controlling the flash memory;
コマンドセットを記憶装置に保持するコマンドセット保持ステップと、  A command set holding step for holding the command set in a storage device;
前記フラッシュメモリを記憶媒体として利用するホストシステムからの命令に応じて、前記記憶装置に保持されているコマンドセットを用いて前記フラッシュメモリを制御する制御ステップとを備え、  A control step of controlling the flash memory using a command set held in the storage device in response to a command from a host system that uses the flash memory as a storage medium,
前記コマンドセット取得ステップは、起動時に、外部の記憶装置から、当該外部の記憶装置に予め格納されている読出処理の手順を定義した読出処理のコマンドセットを取得するステップを含み、  The command set acquisition step includes a step of acquiring a command set of read processing defining a procedure of read processing stored in advance in the external storage device from an external storage device at startup,
前記フラッシュメモリには、前記読出処理のコマンドセット以外のコマンドセットが格納され、  The flash memory stores a command set other than the command set for the reading process,
前記制御ステップは、前記コマンドセット取得ステップにより取得された前記読出処理のコマンドセットを用いて、前記フラッシュメモリに格納されているコマンドセットを読み出して、前記記憶装置に格納するステップを含む、  The control step includes a step of reading a command set stored in the flash memory using the command set of the reading process acquired by the command set acquisition step, and storing the command set in the storage device.
ことを特徴とするフラッシュメモリの制御方法。  A method for controlling a flash memory.
JP2005215659A 2005-07-26 2005-07-26 Memory controller, flash memory system, and flash memory control method Expired - Fee Related JP4177360B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005215659A JP4177360B2 (en) 2005-07-26 2005-07-26 Memory controller, flash memory system, and flash memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005215659A JP4177360B2 (en) 2005-07-26 2005-07-26 Memory controller, flash memory system, and flash memory control method

Publications (2)

Publication Number Publication Date
JP2007034581A JP2007034581A (en) 2007-02-08
JP4177360B2 true JP4177360B2 (en) 2008-11-05

Family

ID=37793785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005215659A Expired - Fee Related JP4177360B2 (en) 2005-07-26 2005-07-26 Memory controller, flash memory system, and flash memory control method

Country Status (1)

Country Link
JP (1) JP4177360B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5229855B2 (en) 2007-03-29 2013-07-03 株式会社メガチップス Memory system and computer system
US8694750B2 (en) 2008-12-19 2014-04-08 Nvidia Corporation Method and system for data structure management
US9208108B2 (en) 2008-12-19 2015-12-08 Nvidia Corporation Method and system for improved flash controller commands selection
US8732350B2 (en) 2008-12-19 2014-05-20 Nvidia Corporation Method and system for improving direct memory access offload
US8683293B2 (en) 2009-12-16 2014-03-25 Nvidia Corporation Method and system for fast two bit error correction
US9594675B2 (en) 2009-12-31 2017-03-14 Nvidia Corporation Virtualization of chip enables
US9465728B2 (en) 2010-11-03 2016-10-11 Nvidia Corporation Memory controller adaptable to multiple memory devices

Also Published As

Publication number Publication date
JP2007034581A (en) 2007-02-08

Similar Documents

Publication Publication Date Title
JP4245585B2 (en) Memory controller, flash memory system, and flash memory control method
JP5021220B2 (en) Nonvolatile memory device and multipage copyback method thereof
US7773420B2 (en) Memory card system including NAND flash memory and SRAM/NOR flash memory, and data storage method thereof
JP4373943B2 (en) Memory controller, flash memory system, and flash memory control method
JP4177360B2 (en) Memory controller, flash memory system, and flash memory control method
JP4843222B2 (en) Semiconductor memory device control method, memory card, and host device
JP2007094639A (en) Memory controller and flash memory system
JP4661369B2 (en) Memory controller
JP4544167B2 (en) Memory controller and flash memory system
JP4213140B2 (en) Memory controller, flash memory system, and flash memory control method
JP4177292B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM, AND FLASH MEMORY CONTROL METHOD
JP4235624B2 (en) Memory controller, flash memory system, and flash memory control method
JP4177301B2 (en) Memory controller, flash memory system, and flash memory control method
JP2005316793A (en) Flash memory system and control method of flash memory
JP4304167B2 (en) Memory controller, flash memory system, and flash memory control method
JP4194518B2 (en) Memory controller, flash memory system, and flash memory control method
JP3934659B1 (en) Memory controller and flash memory system
JP2005292925A (en) Memory controller, flash memory system, and control method for flash memory
JP4697146B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP2008097339A (en) Memory controller, flash memory system having memory controller, and control method of flash memory
JP2006178909A (en) Memory controller, flash memory system and method for controlling flash memory
JP2005293177A (en) Memory controller and flash memory system
JP4245594B2 (en) Memory controller and flash memory system
JP2008077468A (en) Memory controller, flash memory system with memory controller, and control method of flash memory
JP4273038B2 (en) Memory controller, flash memory system, and flash memory data transfer method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080728

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080821

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees