JP4222879B2 - メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 - Google Patents

メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 Download PDF

Info

Publication number
JP4222879B2
JP4222879B2 JP2003156054A JP2003156054A JP4222879B2 JP 4222879 B2 JP4222879 B2 JP 4222879B2 JP 2003156054 A JP2003156054 A JP 2003156054A JP 2003156054 A JP2003156054 A JP 2003156054A JP 4222879 B2 JP4222879 B2 JP 4222879B2
Authority
JP
Japan
Prior art keywords
block
data
candidate table
erased
page
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 - Lifetime
Application number
JP2003156054A
Other languages
English (en)
Other versions
JP2004362001A (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.)
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 JP2003156054A priority Critical patent/JP4222879B2/ja
Publication of JP2004362001A publication Critical patent/JP2004362001A/ja
Application granted granted Critical
Publication of JP4222879B2 publication Critical patent/JP4222879B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
本発明は、メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法に関する。
【0002】
【従来の技術】
近年、メモリカードやシリコンディスクなどのフラッシュメモリシステムに用いられる半導体メモリとして、フラッシュメモリが用いられることが多い。このフラッシュメモリは不揮発性メモリの一種であり、電源が投入されているか否かに関わらず、データが保持されるていることが要求される。
【0003】
ところで、上記のような装置に特に用いられることが多いNAND型フラッシュメモリは、メモリセルを消去状態(論理値の「1」)から書込状態(論理値の「0」)に変化させる場合には、メモリセル単位で行うことができるが、メモリセルを書込状態(論理値の「0」)から消去状態(論理値の「1」)に変化させる場合には、メモリセル単位で行うことができず、複数のメモリセルからなる所定の消去単位(ブロック)でしかこれを行うことができない。かかる一括消去動作は、一般的に「ブロック消去」と呼ばれている。
【0004】
上記のような特性により、NAND型フラッシュメモリ用いた装置では、デ―タを書き込む際に、ブロック消去された領域領域を検索し、検出された空き領域に対して新たなデータを書込んでいる。
【0005】
【発明が解決しようとする課題】
ところが、偶発的なエラーにより、又は不良ブロック化した為にブロック消去の際に消去されたブロックが正常な消去状態にならない場合ある。このような問題の対策として、特開2001−243122においては、実際にデータを書き込む前に消去済みブロックの状態を診断している。
【0006】
しかし、この対策では書込みデータの信頼性は向上するが、書込み前に消去済みブロックのメモリセルに書き込まれているデータを読み出す等の処理を行うため、書込みに伴う処理時間が長くなってしまうという問題があった。
【0007】
そこで、本発明はデータの書込み先となる書込み候補ブロックの消去状態のチェックを、ホスト側からのコマンド処理要求の無いときに行なうことにより、コマンド処理の効率低下を抑えつつ書込みデータの信頼性を向上させることができるメモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明に係る目的は、書込みコマンドを実行するときにデータの書込み先となる書込み候補ブロックを設定する候補ブロック設定機能と、前記書込み候補ブロックの消去状態が正常であるか否かを検査する検査機能と、ホストシステム側からのコマンド処理要求を検知する検知手段を備え、前記ホストシステム側からのコマンド処理要求に基づく処理の終了後に、前記書込み候補ブロックの消去状態が正常であるか否かの検査を開始し、前記検知手段により前記ホストシステム側からのコマンド処理要求を検知したときに前記書込み候補ブロックの消去状態が正常であるか否かの検査を中断するように構成されていることを特徴とするメモリコントローラによって達成される。
【0009】
又、本発明によれば、前記候補ブロック設定機能に消去状態の検査結果を示す部分を設けたことにより、より効果的にコマンド処理の効率低下を抑えることができる。
【0010】
又、本発明によれば、前記候補ブロック設定機能に消去状態の検査を開始するページ番号を示す部分を設けたことにより、より効果的にコマンド処理の効率低下を抑えることができる。
【0011】
又、本発明によれば、前記検査機能により消去状態が正常でないと判断された前記書込み候補ブロックについて、正常ブロックであるか又は不良ブロックであるかの診断を行なうように構成されていてもよい。
【0012】
本発明に係る目的は、上記メモリコントローラを備えるフラッシュメモリシステムによっても達成される。
【0013】
本発明に係る目的は、ホストシステム側からのコマンド処理要求に基づく処理の終了後に、書込みコマンドを実行するときにデータの書込み先となる書込み候補ブロックの消去状態が正常であるか否かの検査を開始し、ホストシステム側からのコマンド処理要求を検知したときに、前記書込み候補ブロックの消去状態が正常であるか否かの検査を中断することを特徴とするフラッシュメモリの制御方法によっても達成される。
【0014】
又、本発明によれば、前記書込み候補ブロックの消去状態が正常であるか否かの検査で、消去状態が正常でないと判断された前記書込み候補ブロックについて、正常ブロックであるか又は不良ブロックであるかの診断を行なうようにしてもよい。
【0015】
【発明の実施の形態】
以下、図面に基づき、本発明の実施の形態について詳細に説明する。
[フラッシュメモリシステム1の説明]
図1は、本発明にかかるフラッシュメモリシステム1を概略的に示すブロック図であり、このフラッシュメモリシステム1は一般的にはPCカードやコンパクトフラッシュ(サンディスク社の登録商標)等に収められている。又、同図に示したようにフラッシュメモリシステム1は、フラッシュメモリ2と、コントローラ3で構成されている。
【0016】
尚、上記PCカードはPCMCIA(Personal Computer Memory Card International Association)の規格に準拠しており、上記コンパクトフラッシュはCFA(CompactFlash Association)の規格に準拠している。又、本発明はSSFDC Forumの「SmartMedia((株)東芝の登録商標)」、MultiMedia Card Associationの提唱する「MMC(MultiMedia Card)」、ソニー株式会社が提唱する「メモリースティック(ソニー(株)の商標)」などに本発明を適用することも可能である。
【0017】
又、フラッシュメモリシステム1が収められたPCカードやコンパクトフラッシュは、通常ホストコンピュータ4に着脱可能に装着されて使用され、ホストコンピュータ4に対に対して一種の外部記憶装置として用いられる。ホストコンピュータ4としては、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置が挙げられる。
【0018】
図1に示したフラッシュメモリ2は、ページ単位で読出し又は書込みを、ブロック単位で消去を実行するデバイスであり、例えば、1ブロックは32ページで構成され、1ページは512バイトのユーザ領域と16バイトの冗長領域で構成され、ホストコンピュータ4側から見た場合1ページは512バイトで構成されている。
[コントローラ3の説明]
図1のコントローラ3は、ホストインターフェース制御ブロック5と、マイクロプロセッサ6と、ホストインターフェースブロック7と、ワークエリア8と、バッファ9と、フラッシュメモリインターフェースブロック10と、ECC(エラー・コレクション・コード)ブロック11と、フラッシュシーケンサブロック12とから構成される。これら機能ブロックによって構成されるコントローラ3は、一つの半導体チップ上に集積されている。以下に各ブロックの機能を説明する。
【0019】
マイクロプロセッサ6は、コントローラ3を構成する各機能ブロック全体の動作を制御する機能ブロックである。
【0020】
ホストインターフェース制御ブロック5は、ホストインターフェースブロック7の動作を制御する機能ブロックである。ここで、ホストインターフェース制御ブロック5は、ホストインターフェースブロック7の動作を設定する動作設定レジスタ(図示せず)を備えており、この動作設定レジスタに基づきホストインターフェースブロック7は動作する。
【0021】
ホストインターフェースブロック7は、マイクロプロセッサ6による制御のもと、ホストコンピュータ4とデータ、アドレス情報、ステータス情報及び外部コマンド情報の授受を行なう機能ブロックである。
【0022】
すなわち、フラッシュメモリシステム1がホストコンピュータ4に装着されると、フラッシュメモリシステム1とホストコンピュータ4とは、外部バス13を介して相互に接続され、かかる状態において、ホストコンピュータ4よりフラッシュメモリシステム1に供給されるデータ等は、ホストインタ―フェースブロック7を入口としてコントローラ3の内部に取り込まれ、フラッシュメモリシステム1からホストコンピュータ4に供給されるデータ等は、ホストインターフェースブロック7を出口としてホストコンピュータ4に供給される。
【0023】
さらに、ホストインターフェースブロック7は、ホストコンピュータ4より供給されるホストアドレス及び外部コマンドを一時的に格納するタスクファイルレジスタ(図示せず)及びエラーが発生した場合にセットされるエラーレジスタ(図示せず)等を有している。
【0024】
ワークエリア8は、フラッシュメモリ2の制御に必要なデータが一時的に格納される作業領域であり、複数のSRAMセルによって構成される機能ブロックである。
【0025】
バッファ9は、フラッシュメモリ2から読み出されたデータ及びフラッシュメモリ2に書き込むべきデータを一時的に蓄積する機能ブロックである。すなわち、フラッシュメモリ2から読み出された
データは、ホストコンピュータ4が受け取り可能な状態となるまでバッファ9に保持され、フラッシュメモリ2に書き込むべきデータは、フラッシュメモリ2が書き込み可能な状態となるまでバッファ9に保持される。
【0026】
フラッシュメモリインターフェースブロック10は、内部バス14を介して、フラッシュメモリ2とデータ、アドレス情報、ステータス情報及び内部コマンド情報の授受を行う機能ブロックである。ここで、「内部コマンド」とは、コントローラ3からフラッシュメモリ2に与えられるコマンドであり、ホストコンピュータ4からフラッシュメモリシステム1に与えられるコマンドである「外部コマンド」と区別される。
【0027】
ECCブロック11は、フラッシュメモリ2に書き込むデ―タに付加すべきエラーコレクションコードを生成するとともに、読み出しデータに付加されたエラーコレクションコードに基づいて、読み出したデータに含まれる誤りを検出・訂正する機能ブロックである。
【0028】
フラッシュシーケンサブロック12は、内部コマンドに基づくフラッシュメモリ2の動作を制御する機能ブロックである。フラッシュシーケンサブロック12は、複数のレジスタ(図示せず)を備え、この複数のレジスタに内部コマンドを実行する際に必要な情報が、マイクロプロセッサ6による制御のもとに設定される。この複数のレジスタに内部コマンドを実行する際に必要な情報が設定されると、フラッシュシーケンサブロック12は、その情報に基づいて内部コマンドを実行する。
[メモリセルの説明]
次に、図2及び3参照して図1に示したフラッシュメモリ2を構成するメモリセル16の具体的な構造について説明する。
【0029】
図2は、フラッシュメモリ2を構成するメモリセル16の構造を概略的に示す断面図である。同図に示したように、メモリセル16は、P型半導体基板17に形成されたN型のソース拡散領域18及びドレイン拡散領域19と、ソース拡散領域18とドレイン拡散領域19との間のP型半導体基板17を覆って形成されたトンネル酸化膜20と、トンネル酸化膜20上に形成されたフローティングゲ―ト電極21と、フローティングゲート電極21上に形成された絶縁膜22と、絶縁膜22上に形成されたコントロールゲ―ト電極23とから構成される。このような構成を有するメモリセル16が、メモリセルアレイ7内で複数個直列に接続されている。
【0030】
メモリセル16は、フローティングゲート電極21に電子が注入されているか否かによって、「消去状態(電子が蓄積されていない状態)」と「書込状態(電子が蓄積されている状態)」のいずれかの状態が示される。ここで、1つのメモリセル16は1ビットのデータに対応し、メモリセル16の「消去状態」が論理値の「1」のデータに対応し、メモリセル16の「書込状態」が論理値の「0」のデータに対応する。
【0031】
「消去状態」においては、フローティングゲート電極21に電子が蓄積されていないため、コントロールゲート電極23に読み出し電圧が印加されていないときには、ソース拡散領域18とドレイン拡散領域19との間のP型半導体基板17の表面にチャネルが形成されず、ソース拡散領域18とドレイン拡散領域19は電気的に絶縁される。一方、コントロールゲート電極23に読み出し電圧が印加されると、ソース拡散領域18とドレイン拡散領域19との間のP型半導体基板17の表面にチャネル(図示せず)が形成され、ソース拡散領域18とドレイン拡散領域19は、このチャネルによって電気的に接続される。
【0032】
すなわち、「消去状態」においてはコントロールゲート電極23に読み出し電圧が印加されていない状態では、ソース拡散領域18とドレイン拡散領域19とは電気的に絶縁され、コントロールゲート電極23に読み出し電圧が印加された状態では、ソース拡散領域18とドレイン拡散領域19とは電気的に接続される。
【0033】
図3は、「書込状態」であるメモリセル16を概略的に示す断面図である。同図に示したように、「書込状態」とは、フローティングゲート電極21に電子が蓄積されている状態を指す。フローティングゲート電極21はトンネル酸化膜20及び絶縁膜22に挟まれているため、一旦、フローティングゲート電極21に注入された電子は、きわめて長時間フローティングゲート電極21内にとどまる。この「書込状態」においては、フローティングゲート電極21に電子が蓄積されているので、コントロールゲート電極23に読み出し電圧が印加されているか否かに関わらず、ソース拡散領域18とドレイン拡散領域19との間のP型半導体基板17の表面にはチャネル24が形成される。したがって、「書込状態」においてはソース拡散領域18とドレイン拡散領域19とは、コントロ―ルゲート電極23に読み出し電圧が印加されているか否かに関わらず、チャネル24によって常に電気的に接続状態となる。
【0034】
又、上記メモリセル16が消去状態であるか書込状態であるかは、次のようにして読み出すことができる。メモリセル16はメモリセルアレイ7内で複数個直列に接続されている。この直列体の中で選択するメモリセル16に低レベル電圧を印加し、それ以外のメモリセル16のコントロールゲート電極23に高レベル電圧が印加する。この状態でメモリセル16の直列体が導通状態であるか否かの検出が行われる。その結果、この直列体が導通状態でれば、選択されたメモリセル16は書込状態であると判断され、絶縁状態であれば、選択されたフラッシュメモリセル16は消去状態であると判断される。このようにして、直列体に含まれる任意のメモリセル16に保持されたデータが「0」であるのか「1」であるのかを読み出すことができる。
【0035】
又、消去状態であるメモリセル16を書込状態に変化させる場合は、コントロールゲート電極23が高電位側となる高電圧が印加し、トンネル酸化膜20を介してフローティングゲート電極21へ電子を注入する。この際、FN(ファウラ―ノルトハイム)トンネル電流が流れフロ―ティングゲート電極21に電子が注入される。一方、書込状態であるフラッシュメモリセル16を消去状態に変化させる場合は、コントロールゲート電極23が低電位側となる高電圧が印加し、トンネル酸化膜20を介してフローティングゲート電極21に蓄積された電子を排出する。
[フラッシュメモリのメモリ構造の説明]
次に、フラッシュメモリ2のメモリ構造を説明する。図4は、フラッシュメモリ2のメモリ構造を概略的に示す図である。図4に示したように、フラッシュメモリ2はデータの読み出し及び書き込みにおける処理単位である「ページ」と、データの消去単位である「ブロック」で構成されている。
【0036】
上記「ページ」は512バイトのユーザ領域25と16バイトの冗長領域26によって構成される。ユーザ領域25は、ホストコンピュータ4より供給されるユーザデ―タが格納される領域であり、冗長領域26は、ECCブロック11によって生成されたエラーコレクションコード等の付加情報が格納される領域である。エラ―コレクションコードは、対応するユーザ領域25に格納されたデータに含まれる誤りを訂正するための付加情報であり、ユーザ領域25に格納されたデータに含まれる誤りが所定数以下であれば、これを訂正し、正しいデータとするために用いられる。
【0037】
上記冗長領域26には、エラーコレクションコードの他に、「消去フラグ」と「対応論理ブロックアドレス」が格納されている。「消去フラグ」は、そのブロックが消去済みブロックであるか否かを示すフラグであり、「対応論理ブロックアドレス」は、そのブロックにデータが格納されている場合に、そのブロックがどの論理ブロックアドレスに対応するかを示している。尚、「消去フラグ」を設けずに、「対応論理ブロックアドレス」が格納されているか否かで、そのブロックが消去済みブロックであるか否かを判断(「対応論理ブロックアドレス」が格納されていない場合は消去済みブロックであると判断する。)する場合もある。
【0038】
又、上記「ブロック」は32枚の「ページ」で構成されている。ここでフラッシュメモリはデータの上書きができないため、1枚の「ページ」のデータだけを書き変える場合であっても、その「ページ」が含まれる「ブロック」の32枚の「ページ」の全データを、全ての「ページ」のデータが消去されている「ブロック」に再度書込まなければならない。
【0039】
ここで、特定の「ページ」をアクセスする場合、ホストアドレスのうち、下位5ビット(「ブロック」が32枚の「ページ」で構成されている場合)をページアドレス、残りの上位ビットをブロックアドレスとすれば、ブロックアドレスは「ブロック」を特定するために用いられ、ページアドレスは特定された「ブロック」に含まれる「ページ」(ページ0〜ページ31)を特定するために用いられる。
[論理ブロックアドレスと物理ブロックアドレスの説明]
上述のとおり、フラッシュメモリはデータの上書きができないため、既にデータの書き込まれた「ページ」に対し、これと異なる新しいデータを書き込むためには、一旦、既に書き込まれているデータを消去した後に新しいデータを書き込むという処理が必要となる。この際、消去はブロック単位で処理されるため、新しいデータを書き込む「ページ」のデータを消去しようとすると、その「ページ」が含まれる「ブロック」の全ての「ページ」のデータが消去されてしまう。したがって、ある「ページ」に既に書き込まれているデータを書替える場合、書替える「ページ」が含まれる「ブロック」の他の全ページのデータについても、書替える「ページ」のデータを書込む他の消去済ブロックに移動させるという処理が必要となる。
【0040】
上記のようにデータを書替える場合、書替えの後のデータは書替え前の「ブロック」と異なる「ブロック」に書込まれるため、ホストアドレスに基づくブロックアドレス(以下、ホストアドレスに基づくブロックアドレスを論理ブロックアドレスと言う。)と、この論理ブロックアドレスに対応するフラッシュメモリ2内でのブロックアドレス(以下、フラッシュメモリ2内でのブロックアドレスを物理ブロックアドレスと言う。)との対応関係は、データを書替える毎に動的に変化する。このため、論理ブロックアドレスと物理ブロックアドレスの対応関係が書込まれたアドレス変換テーブルが必要となる。
【0041】
上記「アドレス変換テーブル」は、「論理ブロックアドレス」と「物理ブロックアドレス」の対応関係を示したテーブルであり、図1に示したワークエリア8に格納されている。そして、この「アドレス変換テーブル」は、上述のような理由により、フラッシュメモリ2に書込まれているデータが書替えられる毎に、その書替えに関わった部分の対応関係が更新される。
[本発明に係る処理の説明]
本発明に係るフラッシュメモリシステムでは、データの書込み先のとなる消去済ブロックを予め準備しておき、書込みを実行するときにはこの準備しておいた消去済ブロック(以下、データの書込み先として準備しておく消去済ブロックを書込み候補ブロックという。)にデータを書込んでいる。この書込み候補ブロックは、例えば、1024ブロック(以下、1024ブロックを1ゾーンと言う。)に対して1ブロック設定されている。
【0042】
次に、書込み候補ブロックの設定の手順について図5〜7を参照して説明する。図5は、フラッシュメモリのゾーン、ブロック及びページの関係を示す図である。図5に示したように読出し及び書込み処理の単位であるページと呼ばれる512バイトのデータ領域があり、消去処理の単位であるブロックは32ページのデータ領域で構成されている。更に、1024ブロックが1ゾーンを構成し、この1ゾーン毎に1ブロックの書込み候補ブロックが準備される。この書込み候補ブロックは、1ゾーンの中の消去済ブロックを検索することによって設定される。
【0043】
上記消去済ブロックの検索時間を短縮するために、ゾーン毎に1024ビットのメモリ領域が確保されている。図6は、消去済ブロックを検索するために設定したメモリ領域(以下、消去済ブロックを検索するために設定したメモリ領域を消去済ブロック検索用テーブルという。)を示す図である。図6(a)に示したように、1024ビットのメモリ領域の各ビットが1ゾーンの各ブロックに対応している。つまり、右上のビットが図5に示したB0000のブロックに、その隣がB0001のブロックに対応するように設定していき、左下がB1023のブロックに対応する。ここで、データが書込まれているブロックに対応するビットには「0」が書込まれ、データが書込まれていない消去済ブロックに対応するビットには「1」が書込まれる。例えば、消去済ブロックにデータを書込んだ場合は、そのブロックに対応するビットを「1」から「0」に書替え、データが書込まれているブロックをブロック消去した場合は、そのブロックに対応するビットを「0」から「1」に書替える。
【0044】
又、消去済ブロックを検索する場合には、図6(b)に示したように、右上から左下に向かって、つまりB0000からB1023のブロックに向かって順次検索する。例えば、B0000に対応するビットから順次検索していき、B0010に対応するビットが「1」であればここで検索が終了し、次回の検索は、B0011に対応するビットから開始される。尚、B1023に対応するビットまで行った場合にはB0000に対応するビットに戻って検索する。
【0045】
次に、上記検索で検出した消去済ブロックを、書込み候補ブロックとして設定する候補テーブルについて説明する。図7は候補テーブルのデータ項目を示す図である。図7に示した候補テーブルには、データ項目としてブロック番号、チェック要求フラグ、エラー検出フラグ及びチェックスタートページが設定されている。
【0046】
ここで、ブロック番号の設定部には、上記検索により検出した消去済ブロックのブロックアドレスを設定する。又、候補テーブルに設定されている書込み候補ブロックにデータを書込んだ場合は、このブロック番号の設定部に「エンプティ−フラグ(例えば、ブロック番号の設定部にブロックアドレスが有効か又は無効かを示すビットを設け、このビットが無効を示している場合をエンプティ−フラグとする。そして、ブロック番号の設定部にブロックアドレスを設定したときは、このビットが有効を示すようにする。)」を設定する。チェック要求フラグの設定部には、チェック要求の有無、つまり、チェックの完了前は「有りフラグ」を、チェックの完了後は「無しフラグ」を設定する。又、候補テーブルに設定されている書込み候補ブロックにデータを書込んだ場合は、このチェック要求フラグの設定部に「有りフラグ」を設定する。エラー検出フラグの設定部には、後述する消去状態のチェックでエラーを検出しなかったときは「OKフラグ」を、エラーを検出したときに「NGフラグ」を設定する。チェックスタートページの設定部には、後述する消去状態のチェックを中断した場合に、中断解除後に処理を続行するページを設定する。
【0047】
この候補テーブルに設定された書込み候補ブロックにいては、データを書込む前に、消去状態のチェックが行なわれる。この消去状態のチェックでは、候補テーブルのブロック番号の設定部に設定されているブロックの各ページのデータが全て消去状態(論理値の「1」)であるかがチェックされ、全てのビットが消去状態(論理値の「1」)であればエラー検出フラグの設定部に「OKフラグ」が、1ビットでも書込状態(論理値の「0」)のビットがあればエラー検出フラグの設定部に「NGフラグ」がセットされる。
【0048】
例えば、初期設定時に図7(a)に示したように、ブロック番号の設定部に「エンプティ−フラグ」を、チェック要求フラグの設定部に「有りフラグ」を、エラー検出フラグの設定部に「OKフラグ」を、チェックスタートページの設定部に「0」を設定する。その後、消去済ブロックを検索し、そのブロックアドレスがB0010であれば、ブロック番号の設定部にB0010を設定し、消去状態のチェックを実行する。その結果、32ページ全てが正常に消去されていた場合は、図7(b)に示したように、チェック要求フラグの設定部に「無しフラグ」を、エラー検出フラグの設定部に「OKフラグ」を設定する。一方、正常に消去されていないページが検出された場合には、図7(c)に示したように、チェック要求フラグの設定部に「無しフラグ」を、エラー検出フラグの設定部に「NGフラグ」を設定する。又、消去状態のチェックが14ページまで終了したところで処理を中断する場合は、チェックスタートページの設定部には、「15」を設定する。
【0049】
次に、図8及び図9参照をして本発明に係るフラッシュメモリシステムの候補テーブルに設定された書込み候補ブロックの消去状態をチェックする処理について説明する。図8は、書込み候補ブロックの消去状態をチェックする処理の流れを示すフロ―チャートである。
ステップ1:
初期設定では、候補テーブル、消去済ブロック検索用テーブル及びアドレス変換テーブル等が作成される。この初期設定は、フラッシュメモリシステム1がホストコンピュータ4に装着された時や、ホストコンピュータ4からリセットが指示された際に実行される。
【0050】
ここで、候補テーブルの初期設定では、各ゾーン毎に候補テーブルが作成され、ブロック番号の設定部に「エンプティ−フラグ」が、チェック要求フラグの設定部に「有りフラグ」が、エラー検出フラグの設定部に「OKフラグ」が、チェックスタートページの設定部に「0」が設定される。又、消去済ブロック検索用テーブルの初期設定では、各ブロックの冗長領域のデータ(「消去フラグ」又は「対応論理ブロックアドレスの有無」)に基づき、データが書込まれているブロックであるか又は消去済のブロックであるかが判断され、各ゾーン毎に消去済ブロック検索用テーブルが作成される。
ステップ2:
ホストコンピュータ4からフラッシュメモリシステム1に与えられるコマンドである「外部コマンド」に対応した「内部コマンド」が実行されている場合、その「内部コマンド」が終了するのを待って、終了後にステップ3に進む。例えば、「外部コマンド」に対応した「内部コマンド」がデータ書込みコマンドである場合、フラッシュシーケンサブロック12が有するレジスタ(図示せず)に対して書込み用シーケンサが設定され、その処理が終了するとフラッシュシーケンサブロック12が有するレジスタ(図示せず)に、処理が終了したことを示すフラグが設定される。従って、このフラグによりデータ書込み処理が終了したことを検知することができる。
ステップ3:
候補テーブルに設定される書込み候補ブロックの消去状態のチェックが行なわれる。この処理の流れを図9を参照して説明する。
ステップ3−1:
各ゾーン毎に作成された候補テーブルのチェック要求フラグの設定部に「有りフラグ」が設定されているテーブルを検索し、設定部に「有りフラグ」が設定されているテーブル検出した場合はステップ3−2に進む。一方、全ての候補テーブルのチェック要求フラグの設定部に「無しフラグ」が設定されている場合、つまり、全ての候補テーブルに設定される書込み候補ブロックの消去状態のチェックが終了している場合にはステップ4に進む。
ステップ3−2:
まず、候補テーブルのブロック番号の設定部に「エンプティ−フラグ」が設定されている場合は、消去済ブロック検索用テーブルにより消去済のブロックを検索し、検出した消去済ブロックのブロックアドレスをブロック番号の設定部に設定する。
【0051】
次に、ステップ3−1の検索で検出された候補テーブルのチェックスタートページの設定部に設定されているデータを読出し、そのデータをページカウンタ(図示せず)に設定する。続いて、マイクロプロセッサ6による制御のもと、フラッシュシーケンサブロック12が有するレジスタ(図示せず)に以下のような読出し用シーケンサが設定される。
1)内部コマンドとして内部読出しコマンドがフラッシュシーケンサブロック12内の所定のレジスタ(図示せず)に設定される。
2)ステップ3−1の検索で検出された候補テーブルのブロック番号の設定部に設定されているブロックアドレスとページカウンタに設定されているページ番号からページアドレスが生成され、このページアドレスがフラッシュシ―ケンサブロック12内の所定のレジスタ(図示せず)に設定される。
【0052】
次に、フラッシュシーケンサブロック12が、上記読出し用シーケンサの設定に基づいて内部コマンドを実行する。この内部コマンドを実行すると、フラッシュメモリインターフェースブロック10から、内部バス14を介してフラッシュメモリ2に内部コマンドを実行するための情報が供給される。その結果、上記読出し用シーケンサの設定で指定したページのデータがバッファ9に読み出される。
【0053】
その後、読み出したデータが全て消去状態(論理値の「1」)であるか否かを判断する。その結果、読み出したデータが全て消去状態(論理値の「1」)であった場合には、以下の処理を行ないその処理の終了後にステップ3−3に進む。
1)ページカウンタに設定されているページ番号が31でない場合(ページ番号が0〜30)は、ページカウンタに設定されているページ番号を1加算してステップ3−3に進む。
2)ページカウンタに設定されているページ番号が31の場合は、チェック要求フラグの設定部に「無しフラグ」を設定してステップ3−3に進む。
【0054】
一方、読み出したデータの中に1ビットでも書込状態(論理値の「0」)のビットがあった場合には、チェック要求フラグの設定部に「無しフラグ」を、エラー検出フラグの設定部に「NGフラグ」を設定してステップ3−3に進む。
【0055】
尚、上記読出し用シーケンサの設定で指定したページのデータをバッファ9に格納せずに、フラッシュメモリ2の出力を直接ハード(例えば、フラッシュメモリ2の出力信号をチェックするための検出回路)でチェックするようにしてもよい。
ステップ3−3:
ホストコンピュータ4からの外部コマンドに基づく割込み信号を受けたとき、又はホストコンピュータ4からの外部コマンドがタスクファイルレジスタに格納されたときにセットされる外部コマンドフラグに「コマンド有りフラグ」がセットされている場合は、ページカウンタに設定されているページ番号を候補テーブルのチェックスタートページの設定部に設定(複写)した後ステップ5に進む。一方、外部コマンドフラグに「コマンド有りフラグ」がセットされていない場合は、ステップ3−4に進む。
【0056】
又、一定時間ホストコンピュータ4からの外部コマンドが無かったときに、オートパワーダウンさせるような設定にした場合は、「オートパワーダウン要求フラグ(例えば、オートパワーダウンの割込み信号によってセットされるフラグ)」がセットされていか否かをチェックし、「オートパワーダウン要求フラグ」がセットされている場合には、ページカウンタに設定されているページ番号を候補テーブルのチェックスタートページの設定部に設定(複写)した後、オートパワーダウンするようにしてもよい。
ステップ3−4:
チェック要求フラグの設定部に「有りフラグ」が設定されている場合は、ステップ3−2に進む。一方、チェック要求フラグの設定部に「無しフラグ」が設定されている場合は、ステップ3−1に進む。
ステップ4
ホストコンピュータ4からの外部コマンドに基づく割込み信号を受けたとき、又はホストコンピュータ4からの外部コマンドがタスクファイルレジスタに格納されたときにセットされる外部コマンドフラグに「コマンド有りフラグ」がセットされている場合は、ステップ5に進む。一方、外部コマンドフラグに「コマンド有りフラグ」がセットされていない場合は、ステップ3に進む。
【0057】
以上の処理では、書込み候補ブロックの消去状態のチェックをホスト側からのコマンド処理要求の無いときに行なっている。又、この処理では、候補テーブルに設定されている書込み候補ブロックの消去状態のチェックが完了しているか否かを、チェック要求フラグの設定部に「無しフラグ」が設定されているか、又は「有りフラグ」が設定されているかにより判断している。従って、消去状態のチェックを行なう場合には、チェック要求フラグの設定部に「有りフラグ」が設定されている書込み候補ブロックの消去状態を順次チェックしている。ここで、チェックを開始するスタートページについては、チェックスタートページの設定部に設定されているページ番号が参照される。一方、ホスト側からデータの書込み要求があった場合には、チェック要求フラグの設定部に「無しフラグ」が、エラー検出フラグに「OKフラグ」が設定されている書込み候補ブロックにデータが書込まれる。ここで、書込み候補ブロックにデータを書込んだときは、ブロック番号の設定部に「エンプティ−フラグ」を、チェック要求フラグの設定部に「有りフラグ」を、チェックスタートページの設定部に「0」を設定する。
【0058】
又、エラー検出フラグの設定部に「NGフラグ」が設定されている書込み候補ブロックについては、図10に示した判定処理を行ない正常ブロックであるか、又は不良ブロックであるかを判断する。尚、この判定処理はいつ行なってもよく、例えば「内部コマンド」の処理前や処理後に行なってもよい。又、判定処理を行なったときは、ブロック番号の設定部に「エンプティ−フラグ」を、チェック要求フラグの設定部に「有りフラグ」を、エラー検出フラグの設定部に「OKフラグ」を、チェックスタートページの設定部に「0」を設定する。
[判定処理の説明]
図10に示した判定処理のフロ―チャートにしたがって、その処理を説明する。尚、以下の判定処理は、判定するブロックが正常ブロックであるか又は不良ブロックであるかを判断できれば、下記と異なる処理方法であっても構わない。
ステップT1:
マイクロプロセッサ6による制御のもと、フラッシュシーケンサブロック12が有するレジスタ(図示せず)に対して以下のようなブロック消去用シーケンサが設定なされる。
1)内部コマンドとして内部ブロック消去コマンドがフラッシュシーケンサブロック12内の所定のレジスタ(図示せず)に設定される。
2)エラー検出フラグの設定部に「NGフラグ」が設定されている書込み候補ブロックのブロックアドレスがフラッシュシ―ケンサブロック12内の所定のレジスタ(図示せず)に設定される。
【0059】
次に、フラッシュシーケンサブロック12が、上記ブロック消去用シーケンサの設定に基づいて内部コマンドを実行する。この内部コマンドを実行すると、フラッシュメモリインターフェースブロック10から、内部バス14を介してフラッシュメモリ2に内部コマンドを実行するための情報が供給される。その結果、上記ブロック消去用シーケンサの設定で指定したブロックに書込まれているデータが全て消去される。
ステップT2:
ブロック消去が完了後にフラッシュメモリ2が発行するステータス情報の消去ステータスを参照して、ブロック消去動作が正常に行われた否かを判断する。この判定で正常なブロック消去動作が行われたと判断された場合はステップT3に、正常なブロック消去動作が行われなかったと判断された場合はステップT7に進む。
ステップT3:
ステップT1でブロック消去を実行したブロックのページを順次読み出し、読み出されたデータが全て消去状態(論理値の「1」)であるか否かを判断する。その結果、読み出されたデータが全て消去状態(論理値の「1」)である場合はステップT4に、1ビットでも書込状態(論理値の「0」)のデータが存在する場合はステップT7に進む。
ステップT4:
全ビットに書込状態(論理値の「0」)のデータを書込み、その際にフラッシュメモリ2が発行するステータス情報の書込みステータスを参照して、正常な書込み動作が行われた否かを判断する。
【0060】
この判定で正常な書込み動作が行われたと判断された場合はステップ5に、正常な書き込み動作が行われなかったと判断された場合はステップT7に進む。
【0061】
尚、上記書込み処理は、マイクロプロセッサ6による制御のもと、フラッシュシーケンサブロック12が有するレジスタ(図示せず)に対して以下のような書込み用シーケンサが設定なされることにより実行される。
1)内部コマンドとして内部書込みコマンドがフラッシュシーケンサブロック12内の所定のレジスタ(図示せず)に設定される。
2)エラー検出フラグの設定部に「NGフラグ」が設定されている書込み候補ブロックのブロックアドレスにデータを書込むページの番号(ページ0〜31)を付加したアドレスがフラッシュシ―ケンサブロック12内の所定のレジスタ(図示せず)に設定される。
ステップT5:
ステップT4で書込状態(論理値の「0」)のデータを書込んだブロックのページを順次読出し、読み出されたデータが全て書込状態(論理値の「0」)であるか否かを判断する。その結果、読み出されたデータが全て書込状態(論理値の「0」)である場合はステップT6に、1ビットでも消去状態(論理値の「1」)のデータが存在する場合はステップT7に進む。
ステップT6:
書込状態から消去状態への正常遷移及び、消去状態から書込状態への正常遷移が確認されたので、正常な消去状態でなかったのは、偶発的に発生した可逆的なエラーであったと判断され、このブロックを正常ブロックとして取り扱う。従って、このブロックはブロック消去された後、通常の消去済みブロックと同様に取り扱われる。
ステップT7:
不可逆的な不良ブロックであると判断され、このブロックを使用禁止とするための、不良ブロック化処理が行われる。この不良ブロック化処理では、そのブロックの先頭ページ(ページ0)の冗長領域26に含まれるブロックステータスを、不良ブロックであることを示す状態とする。これにより、かかるブロックは、以後、使用禁止となる。
但し、不良ブロック化処理の方法については特に限定されず、そのブロックが使用禁止になれば、他の方法であっても良い。
【0062】
【発明の効果】
以上説明したように、本発明によれば、データの書込み先となる書込み候補ブロックの消去状態のチェックを、ホスト側からのコマンド処理要求の無いときに行なうことにより、コマンド処理の効率低下を抑えつつ書込みデータの信頼性を向上させることができる。
【図面の簡単な説明】
【図1】図1は、本発明に係るフラッシュメモリシステム1を概略的に示すブロック図である。
【図2】図2は、フラッシュメモリ2を構成するメモリセル16の構造を概略的に示す断面図である。
【図3】図3は、書込状態であるメモリセル16を概略的に示す断面図である。
【図4】図4は、フラッシュメモリ2のアドレス空間の構造を概略的に示す図である。
【図5】図5は、フラッシュメモリ2の構成を概略的に示す図である。
【図6】図6は、消去済ブロック検索用テーブルを概略的に示す図である。
【図7】図7は候補テーブルのデータ項目を示す図である。
【図8】図8は、書込み候補ブロックの消去状態をチェックする処理の流れを示すフロ―チャートである。
【図9】図9は、書込み候補ブロックの消去状態をチェックする処理の流れを示すフロ―チャートである。
【図10】図10は、判定処理の流れを示すフロ―チャートである。
【符号の説明】
1 フラッシュメモリシステム
2 フラッシュメモリ
3 コントローラ
4 ホストコンピュータ
5 ホストインターフェース制御ブロック
6 マイクロプロセッサ
7 ホストインターフェースブロック
8 ワークエリア
9 バッファ
10 フラッシュメモリインターフェースブロック
11 ECCブロック
12 フラッシュシーケンサブロック
13 外部バス
14 内部バス
16 メモリセル
17 P型半導体基板
18 ソース拡散領域
19 ドレイン拡散領域
20 トンネル酸化膜
21 フローティングゲート電極
22 絶縁膜
23 コントロールゲート電極
24 チャネル
25 ユーザ領域
26 冗長領域

Claims (3)

  1. ホストシステム側からのコマンド処理要求に基づいて、複数の物理ページが含まれる物理ブロック単位で記憶データの消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
    記憶データが消去されている物理ブロックを検索する検索手段と、
    前記検索手段により検出された記憶データが消去されている物理ブロックを、データの書込み先候補として候補テーブルに設定する候補ブロック設定手段と、
    前記候補テーブルに設定されている物理ブロック内の物理ページに対するデータの読み出しを先頭ページから末尾ページまで順次行い、読み出されたデータが消去状態に対応するデータであるか否かを判断する検査を行う検査手段と、
    全ての物理ページから読み出されたデータが消去状態に対応するデータであると前記検査手段により判断された場合に、前記候補テーブルに設定されている物理ブロックが正常に消去されていることを示す情報を前記候補テーブルに設定し、いずれかの物理ページから読み出されたデータが消去状態に対応するデータでないと前記検査手段により判断された場合に、前記候補テーブルに設定されている物理ブロックが正常に消去されていないことを示す情報を前記候補テーブルに設定する情報設定手段と、
    前記候補テーブルに設定されている物理ブロックが正常に消去されていないことを示す情報が前記情報設定手段により前記候補テーブルに設定された場合に、前記候補テーブルに設定されている物理ブロックが不良ブロックであるか否かを判定する判定手段と、
    前記候補テーブルに設定されている物理ブロックに対してデータを書き込む書込み処理が行われた場合、又は前記候補テーブルに設定されている物理ブロックが不良ブロックであるか否かを判定する判定処理が行われた場合に、前記書込み処理又は前記判定処理の対象になった物理ブロックが設定されていた前記候補テーブルを、前記候補ブロック設定手段による物理ブロックの設定が可能な状態にする候補テーブル管理手段と、
    ホストシステム側からのコマンド処理要求を検知する検知手段
    を備え、
    前記検査手段は、前記検知手段により前記ホストシステム側からの前記コマンド処理要求検知されたときに、前記検査を中断すると共に、前記検査が行われていない物理ページのうちの先頭ページを示す情報であるスタートページ情報を前記候補テーブルに設定し、前記コマンド処理要求に基づく処理が終了したときに、前記スタートページ情報が示す先頭ページから前記検査を再開する
    ことを特徴とするメモリコントローラ。
  2. 請求項1記載メモリコントローラ
    フラッシュメモリと
    を備えるフラッシュメモリシステム。
  3. ホストシステム側からのコマンド処理要求に基づいて、複数の物理ページが含まれる物理ブロック単位で記憶データの消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
    記憶データが消去されている物理ブロックを検索する検索ステップと、
    前記検索ステップにより検出された記憶データが消去されている物理ブロックを、データの書込み先の候補として候補テーブルに設定する候補ブロック設定ステップと、
    前記候補テーブルに設定されている物理ブロック内の物理ページに対するデータの読み出しを先頭ページから末尾ページまで順次行い、読み出されたデータが消去状態に対応するデータであるか否かを判断する検査を行う検査ステップと、
    全ての物理ページから読み出されたデータが消去状態に対応するデータであると前記検査ステップにより判断された場合に、前記候補テーブルに設定されている物理ブロックが正常に消去されていることを示す情報を前記候補テーブルに設定し、いずれかの物理ペー ジから読み出されたデータが消去状態に対応するデータでないと前記検査ステップにより判断された場合に、前記候補テーブルに設定されている物理ブロックが正常に消去されていないことを示す情報を前記候補テーブルに設定する情報設定ステップと、
    前記候補テーブルに設定されている物理ブロックが正常に消去されていないことを示す情報が前記情報設定ステップにより前記候補テーブルに設定された場合に、前記候補テーブルに設定されている物理ブロックが不良ブロックであるか否かを判定する判定ステップと、
    前記候補テーブルに設定されている物理ブロックに対してデータを書き込む書込み処理が行われた場合、又は前記候補テーブルに設定されている物理ブロックが不良ブロックであるか否かを判定する判定処理が行われた場合に、前記書込み処理又は前記判定処理の対象になった物理ブロックが設定されていた前記候補テーブルを、前記候補ブロック設定ステップによる物理ブロックの設定が可能な状態にする候補テーブル管理ステップと、
    ホストシステム側からのコマンド処理要求を検知する検知ステップと
    を備え、
    前記検査ステップでは、前記検知ステップにより前記ホストシステム側からの前記コマンド処理要求が検知されたときに、前記検査を中断すると共に、前記検査が行われていない物理ページのうちの先頭ページを示す情報であるスタートページ情報を前記候補テーブルに設定し、前記コマンド処理要求に基づく処理が終了したときに、前記スタートページ情報が示す先頭ページから前記検査を再開する
    ことを特徴とするフラッシュメモリの制御方法。
JP2003156054A 2003-05-30 2003-05-30 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 Expired - Lifetime JP4222879B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003156054A JP4222879B2 (ja) 2003-05-30 2003-05-30 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003156054A JP4222879B2 (ja) 2003-05-30 2003-05-30 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法

Publications (2)

Publication Number Publication Date
JP2004362001A JP2004362001A (ja) 2004-12-24
JP4222879B2 true JP4222879B2 (ja) 2009-02-12

Family

ID=34050247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003156054A Expired - Lifetime JP4222879B2 (ja) 2003-05-30 2003-05-30 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法

Country Status (1)

Country Link
JP (1) JP4222879B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006013763A1 (de) * 2006-03-24 2007-09-27 Robert Bosch Gmbh Verfahren zum Betreiben einer Speichereinrichtung

Also Published As

Publication number Publication date
JP2004362001A (ja) 2004-12-24

Similar Documents

Publication Publication Date Title
US9075740B2 (en) Memory system
US6388919B2 (en) Memory controller for flash memory system and method for writing data to flash memory device
JP5069127B2 (ja) 再プログラム可能な不揮発性メモリにおいてデータをコピーする方法
US7330995B2 (en) Nonvolatile memory apparatus which prevents destruction of write data caused by power shutdown during a writing process
US7617352B2 (en) Memory controller, flash memory system having memory controller and method for controlling flash memory device
US20080022188A1 (en) Memory card and memory controller
JPH06111589A (ja) 一括消去型不揮発性半導体記憶装置
US7315870B2 (en) Memory controller, flash memory system, and method for recording data on flash memory
JP4236485B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
US7606993B2 (en) Flash memory controller, memory control circuit, flash memory system, and method for controlling data exchange between host computer and flash memory
JP4222879B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4433792B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2005018490A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム
JP4461754B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4419525B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4068594B2 (ja) フラッシュメモリコントローラ、フラッシュメモリシステム、及びフラッシュメモリの制御方法
JP4213053B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4251950B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2003337757A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4332108B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4561110B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4194473B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム
JP4282410B2 (ja) フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステム
JP4183550B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2004265447A (ja) 不揮発性半導体メモリ装置のデータ書き込み方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081029

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20081029

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4222879

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131128

Year of fee payment: 5

EXPY Cancellation because of completion of term