(57)【要約】【課題】  フラッシュメモリに記憶されているカード情報等の設定情報が劣化することを抑制することができるメモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステムを提供することを目的とする。【解決手段】  ホストシステム側からの要求に基づいて、フラッシュメモリに対するアクセスを制御するメモリコントローラであって、前記フラッシュメモリから読出した設定情報に含まれる誤りを検出し、訂正する機能と、前記フラッシュメモリから読出した設定情報に含まれる誤りを検出したときに、訂正した設定情報を再書込みする機能を備える。【選択図】図５
2005215919.tif 000002
【特許請求の範囲】
【請求項１】
ホストシステム側からの要求に基づいて、フラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記フラッシュメモリから読出した設定情報に含まれる誤りを検出し、訂正する機能と、前記フラッシュメモリから読出した設定情報に含まれる誤りを検出したときに、訂正した設定情報を再書込みする機能を備えることを特徴とするメモリコントローラ。
【請求項２】
前記設定情報を記憶する領域に割当てられているブロックに対して消去処理を行ない、消去処理された前記ブロックに訂正した設定情報を再書込みすることを特徴とする請求項１記載のメモリコントローラ。
【請求項３】
前記設定情報を記憶する領域に割当てられているブロックの、データが書込まれていないページに、訂正した設定情報を再書込み込みすることを特徴とする請求項１記載のメモリコントローラ。
【請求項４】
前記設定情報を記憶する領域に割当てられているブロックの冗長領域に書込まれている情報に基づいて、最新の設定情報を識別することを特徴とする請求項３記載のメモリコントローラ。
【請求項５】
請求項１乃至４記載のいずれか１項記載のメモリコントローラとフラッシュメモリを備えることを特徴とするフラッシュメモリシステム。
【請求項６】
フラッシュメモリから設定情報を読出す処理と、
前記フラッシュメモリから読出した設定情報に含まれる誤りを検出し、訂正する処理と、訂正した設定情報を、前記フラッシュメモリに再書込みする処理を含むことを特徴とするフラッシュメモリの制御方法。
【請求項７】
前記設定情報を記憶する領域に割当てられているブロックに対して消去処理を行ない、消去処理された前記ブロックに訂正した設定情報を再書込みすることを特徴とする請求項６記載のフラッシュメモリの制御方法。
【請求項８】
前記設定情報を記憶する領域に割当てられているブロックの、データが書込まれていないページに、訂正した設定情報を再書込みすると共に、前記ブロックの冗長領域に最新の設定情報を示す情報を書込むことを特徴とする請求項６記載のフラッシュメモリの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法に関する。
【背景技術】
【０００２】
近年、メモリカードやシリコンディスクなどのメモリシステムに用いられる半導体メモリとして、フラッシュメモリが用いられることが多い。このフラッシュメモリは不揮発性メモリの一種であり、電源が投入されているか否かに関わらず、データが保持されていることが要求される。
【０００３】
上記のような装置に用いられるＮＡＮＤ型フラッシュメモリは、メモリセルを消去状態（論理値の「１」）から書込状態（論理値の「０」）に変化させる場合には、メモリセル単位で行うことができるが、メモリセルを書込状態（論理値の「０」）から消去状態（論理値の「１」）に変化させる場合には、メモリセル単位で行うことができず、複数のメモリセルからなる所定の消去単位（ブロック）でしかこれを行うことができない。ここで、メモリセルを消去状態（論理値の「１」）から書込状態（論理値の「０」）に変化させる場合や、書込状態（論理値の「０」）から消去状態（論理値の「１」）に変化させる場合は、メモリセルに高電圧を印加して、電子の注入や排出を行なっている。又、このようにメモリセルに電子を注入してデータの書込みを行なっているので、データの書込み後、長期間が経過すると、メモリセルに注入されている電荷が放出されて、書込んだデータが劣化することがある。
【０００４】
又、フラッシュメモリを用いたメモリシステムでは、製品情報等を含むカード情報（ＣＩＳ：Card Information Structure）がフラッシュメモリ内に書込まれている。このカード情報は、メモリシステムが接続されるホストシステムが、メモリシステムから読出して使用する重要情報であり、このカード情報が正常に読出せなくなると、ホストシステムがメモリシステムを認識できない等の問題が生じる。
【０００５】
上記カード情報は不変情報なので、通常は書替えられることがない。従って、上記のようなフラッシュメモリの特性により、時間経過に伴いデータが劣化して、カード情報を正常に読出せなくなることがある。このような場合に、特許文献１（特開２０００−３２２５３３号公報）では、フラッシュメモリを制御しているＭＰＵ（Micro Processing Unit）に内蔵されているＲＯＭ（Read Only Memory）から簡易ＣＩＳを読込み、この簡易ＣＩＳに基づいてホストシステムがメモリシステムを認識している。
【特許文献１】特開２０００−３２２５３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１（特開２０００−３２２５３３）には、フラッシュメモリに記憶されているカード情報を正常に読出せなくなった場合に、ホストシステムにメモリシステムを認識させる手段は記載されているが、フラッシュメモリに記憶されているカード情報の劣化を抑制する手段については記載されていない。
【０００７】
そこで、本発明は、フラッシュメモリに記憶されているカード情報等の設定情報が劣化することを抑制することができるメモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法を提供することを目的と
する。
【課題を解決するための手段】
【０００８】
本発明に係る目的は、ホストシステム側からの要求に基づいて、フラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記フラッシュメモリから読出した設定情報に含まれる誤りを検出し、訂正する機能と、前記フラッシュメモリから読出した設定情報に含まれる誤りを検出したときに、訂正した設定情報を再書込みする機能を備えることを特徴とするメモリコントローラによって達成される。又、本発明に係る目的は、前記メモリコントローラとフラッシュメモリを備えることを特徴とするフラッシュメモリシステムによっても達成される。
【０００９】
又、本発明によれば、前記設定情報を記憶する領域に割当てられているブロックに対して消去処理を行ない、消去処理された前記ブロックに訂正した設定情報を再書込みすることが好ましい。
【００１０】
又、本発明によれば、前記設定情報を記憶する領域に割当てられているブロックの、データが書込まれていないページに、訂正した設定情報を再書込み込みすることが好ましい。
【００１１】
又、本発明によれば、前記設定情報を記憶する領域に割当てられているブロックの冗長領域に書込まれている情報に基づいて、最新の設定情報を識別することが好ましい。
【００１２】
又、本発明に係る目的は、フラッシュメモリから設定情報を読出す処理と、
前記フラッシュメモリから読出した設定情報に含まれる誤りを検出し、訂正する処理と、訂正した設定情報を、前記フラッシュメモリに再書込みする処理を含むことを特徴とするフラッシュメモリの制御方法によって達成される。
【００１３】
又、本発明によれば、前記設定情報を記憶する領域に割当てられているブロックに対して消去処理を行ない、消去処理された前記ブロックに訂正した設定情報を再書込みすることが好ましい。
【００１４】
又、本発明によれば、前記設定情報を記憶する領域に割当てられているブロックの、データが書込まれていないページに、訂正した設定情報を再書込みすると共に、前記ブロックの冗長領域に最新の設定情報を示す情報を書込むことが好ましい。
【００１５】
つまり、本発明においては、読出した設定情報（カード情報やシステム設定等の情報）に含まれる誤りを検出・訂正する機能が、読出した設定情報に含まれる誤りを検出したときに、訂正した設定情報を再書込みすることにより、フラッシュメモリに記憶されている設定情報を、劣化のない正常な設定情報に戻している。ここで、訂正した設定情報を再書込みするときに、劣化した設定情報を消去してもよいが、劣化した設定情報消去せずに訂正した設定情報を再書込みする場合は、設定情報が記憶されているページの冗長領域に、正常な設定情報を識別するための情報を設定することが好ましい。尚、上記のように訂正した設定情報を再書込みした場合、最新の設定情報（最も近い時期に書込まれた設定情報）が正常な設定情報になる。
【発明の効果】
【００１６】
本発明によれば、フラッシュメモリに記憶されている設定情報の劣化を、劣化の初期段階（エラー・コレクション・コードに基づいてデータに含まれる誤りを訂正できる段階）で検出し、正しい設定情報（訂正した設定情報）を再書込みしているので、フラッシュメモリに記憶されている設定情報の劣化を抑制することができる。
【００１７】
又、本発明は、カード情報（ＣＩＳ：Card Information Structure）やシステム設定等の各種設定情報（フラッシュメモリに記憶されている設定情報）に適用することができる。従って、正しい設定情報を読出すことができなくなった場合に生じる問題、例えば、カード情報を正しく読出せなくなった場合に、ホストシステムがメモリシステムを認識できない等の問題が発生することを抑制することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面に基づき、本発明の実施の形態について詳細に説明する。
[フラッシュメモリシステム１の説明]
図１は、本発明に係るフラッシュメモリシステム１を概略的に示すブロック図である。図１に示したようにフラッシュメモリシステム１は、フラッシュメモリ２と、それを制御するコントローラ３で構成されている。又、フラッシュメモリシステム１は、通常ホストシステム４に着脱可能に装着されて使用され、ホストシステム４に対して一種の外部記憶装置として用いられる。
【００１９】
尚、ホストシステム４としては、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置が挙げられる。
【００２０】
フラッシュメモリ２は、ページ単位で読出し又は書込みを、ブロック単位で消去を実行するデバイスであり、例えば、１ブロックは３２ページで構成され、１ページは５１２バイトのユーザ領域と１６バイトの冗長領域で構成されている。
【００２１】
コントローラ３は、ホストインターフェース制御ブロック５と、マイクロプロセッサ６と、ホストインターフェースブロック７と、ワークエリア８と、バッファ９と、フラッシュメモリインターフェースブロック１０と、ＥＣＣ（エラー・コレクション・コード）ブロック１１と、フラッシュメモリシーケンサブロック１２とから構成される。これら機能ブロックによって構成されるコントローラ３は、一つの半導体チップ上に集積されている。以下に各ブロックの機能を説明する。
【００２２】
マイクロプロセッサ６は、コントローラ３を構成する各機能ブロック全体の動作を制御する機能ブロックである。
【００２３】
ホストインターフェース制御ブロック５は、ホストインターフェースブロック７の動作を制御する機能ブロックである。ここで、ホストインターフェース制御ブロック５は、ホストインターフェースブロック７の動作を設定する動作設定レジスタ（図示せず）を備えており、この動作設定レジスタに基づきホストインターフェースブロック７は動作する。
【００２４】
ホストインターフェースブロック７は、ホストシステム４とデータ、アドレス情報、ステータス情報及び外部コマンド情報の授受を行なう機能ブロックである。すなわち、フラッシュメモリシステム１がホストシステム４に装着されると、フラッシュメモリシステム１とホストシステム４は、外部バス１３を介して相互に接続され、かかる状態において、ホストシステム４よりフラッシュメモリシステム１に供給されるデータ等は、ホストインタ―フェースブロック７を入口としてコントローラ３の内部に取り込まれ、フラッシュメモリシステム１からホストシステム４に供給されるデータ等は、ホストインターフェースブロック７を出口としてホストシステム４に供給される。
【００２５】
さらに、ホストインターフェースブロック７は、ホストシステム４より供給されるホストアドレス及び外部コマンドを一時的に格納するタスクファイルレジスタ（図示せず）及
びエラーが発生した場合にセットされるエラーレジスタ（図示せず）等を有している。
【００２６】
ワークエリア８は、フラッシュメモリ２の制御に必要なデータが一時的に記憶される作業領域であり、複数のＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）セルによって構成される機能ブロックである。
【００２７】
バッファ９は、フラッシュメモリ２から読出したデータ及びフラッシュメモリ２に書込むデータを一時的に保持する機能ブロックである。すなわち、フラッシュメモリ２から読出したデータは、ホストシステム４が受け取り可能な状態になるまでバッファ９に保持され、フラッシュメモリ２に書込むデータは、フラッシュメモリ２が書込み可能な状態となるまでバッファ９に保持される。
【００２８】
フラッシュメモリシーケンサブロック１２は、内部コマンドに基づきフラッシュメモリ２の動作を制御する機能ブロックである。フラッシュメモリシーケンサブロック１２は、複数のレジスタ（図示せず）を備え、この複数のレジスタに内部コマンドを実行する際に必要な情報が設定される。この複数のレジスタに内部コマンドを実行する際に必要な情報が設定されると、フラッシュメモリシーケンサブロック１２は、その情報に基づいて処理を実行する。ここで、「内部コマンド」とは、コントローラ３からフラッシュメモリ２に与えられるコマンドであり、ホストシステム４からフラッシュメモリシステム１に与えられるコマンドである「外部コマンド」と区別される。
【００２９】
フラッシュメモリインターフェースブロック１０は、内部バス１４を介して、フラッシュメモリ２とデータ、アドレス情報、ステータス情報及び内部コマンド情報の授受を行う機能ブロックである。
【００３０】
ＥＣＣブロック１１は、フラッシュメモリ２に書込むデ―タに付加するエラーコレクションコードを生成するとともに、読出しデータに付加されているエラーコレクションコードに基づいて、読出したデータに含まれる誤りを検出・訂正する機能ブロックである。
[メモリセルの説明]
次に、図２及び３参照して図１に示したフラッシュメモリ２を構成するメモリセル１６の具体的な構造について説明する。
【００３１】
図２は、フラッシュメモリを構成するメモリセル１６の構造を概略的に示す断面図である。同図に示したように、メモリセル１６は、Ｐ型半導体基板１７に形成されたＮ型のソース拡散領域１８及びドレイン拡散領域１９と、ソース拡散領域１８とドレイン拡散領域１９との間のＰ型半導体基板１７を覆って形成されたトンネル酸化膜２０と、トンネル酸化膜２０上に形成されたフローティングゲ―ト電極２１と、フローティングゲート電極２１上に形成された絶縁膜２２と、絶縁膜２２上に形成されたコントロールゲ―ト電極２３とから構成される。このような構成を有するメモリセル１６が、フラッシュメモリ内で複数個直列に接続されている。
【００３２】
メモリセル１６は、フローティングゲート電極２１に電子が注入されているか否かによって、「消去状態（電子が蓄積されていない状態）」と「書込状態（電子が蓄積されている状態）」のいずれかの状態が示される。ここで、１つのメモリセル１６は１ビットのデータに対応し、メモリセル１６の「消去状態」が論理値の「１」のデータに対応し、メモリセル１６の「書込状態」が論理値の「０」のデータに対応する。
【００３３】
「消去状態」においては、フローティングゲート電極２１に電子が蓄積されていないため、コントロールゲート電極２３に読出し電圧（高レベル電圧）が印加されていないときには、ソース拡散領域１８とドレイン拡散領域１９との間の、Ｐ型半導体基板１７の表面
にチャネルが形成されず、ソース拡散領域１８とドレイン拡散領域１９は電気的に絶縁される。一方、コントロールゲート電極２３に読出し電圧（高レベル電圧）が印加されると、ソース拡散領域１８とドレイン拡散領域１９との間の、Ｐ型半導体基板１７の表面にチャネル（図示せず）が形成され、ソース拡散領域１８とドレイン拡散領域１９は、このチャネルによって電気的に接続される。
【００３４】
すなわち、「消去状態」においてはコントロールゲート電極２３に読出し電圧（高レベル電圧）が印加されていない状態では、ソース拡散領域１８とドレイン拡散領域１９とは電気的に絶縁され、コントロールゲート電極２３に読出し電圧（高レベル電圧）が印加された状態では、ソース拡散領域１８とドレイン拡散領域１９とは電気的に接続される。
【００３５】
図３は、「書込状態」であるメモリセル１６を概略的に示す断面図である。同図に示したように、「書込状態」とは、フローティングゲート電極２１に電子が蓄積されている状態を指す。フローティングゲート電極２１はトンネル酸化膜２０及び絶縁膜２２に挟まれているため、一旦、フローティングゲート電極２１に注入された電子は、きわめて長時間フローティングゲート電極２１内にとどまる。この「書込状態」においては、フローティングゲート電極２１に電子が蓄積されているので、コントロールゲート電極２３に読出し電圧（高レベル電圧）が印加されているか否かに関わらず、ソース拡散領域１８とドレイン拡散領域１９との間の、Ｐ型半導体基板１７の表面にはチャネル２４が形成される。したがって、「書込状態」においてはソース拡散領域１８とドレイン拡散領域１９とは、コントロ―ルゲート電極２３に読出し電圧（高レベル電圧）が印加されているか否かに関わらず、チャネル２４によって常に電気的に接続状態となる。
【００３６】
又、上記メモリセル１６が消去状態であるか書込状態であるかは、次のようにして読み出すことができる。メモリセル１６はフラッシュメモリ内で複数個直列に接続されている。この直列体の中で選択するメモリセル１６に低レベル電圧を印加し、それ以外のメモリセル１６のコントロールゲート電極２３に高レベル電圧を印加する。この状態でメモリセル１６の直列体が導通状態であるか否かの検出が行われる。その結果、この直列体が導通状態であれば、選択されたメモリセル１６は書込状態であると判断され、絶縁状態であれば、選択されたフラッシュメモリセル１６は消去状態であると判断される。このようにして、直列体に含まれる任意のメモリセル１６に保持されたデータが「０」であるのか「１」であるのかを読み出すことができる。
【００３７】
又、消去状態であるメモリセル１６を書込状態に変化させる場合は、コントロールゲート電極２３が高電位側となる高電圧を印加し、トンネル酸化膜２０を介してフローティングゲート電極２１へ電子を注入する。この際、ＦＮ（ファウラ―ノルトハイム）トンネル電流が流れフロ―ティングゲート電極２１に電子が注入される。一方、書込状態であるフラッシュメモリセル１６を消去状態に変化させる場合は、コントロールゲート電極２３が低電位側となる高電圧を印加し、トンネル酸化膜２０を介してフローティングゲート電極２１に蓄積された電子を排出する。
[フラッシュメモリのメモリ構造の説明]
次に、フラッシュメモリのメモリ構造を説明する。図４は、フラッシュメモリのメモリ構造を概略的に示す図である。図４に示したように、フラッシュメモリはデータの読出し及び書込みにおける処理単位であるページと、データの消去単位であるブロックで構成されている。
【００３８】
上記ページは、例えば５１２バイトのユーザ領域２５と、１６バイトの冗長領域２６によって構成される。ユーザ領域２５は、主に、ホストシステム４から供給されるデ―タが記憶される領域であり、冗長領域２６は、エラーコレクションコード、対応論理ブロックアドレス及びブロックステータス等の付加情報が記憶される領域である。
【００３９】
エラ―コレクションコードは、ユーザ領域２５に記憶されたデータに含まれる誤りを訂正するための付加情報であり、ＥＣＣブロックによって生成される。このエラ―コレクションコードに基づき、ユーザ領域２５に記憶されたデータに含まれる誤りが所定数以下であれば、その誤りが訂正される。
【００４０】
対応論理ブロックアドレスは、そのブロックにデータが記憶されている場合に、そのブロックがどの論理ブロックアドレスに対応するかを示している。尚、そのブロックにデータが記憶されていない場合は、対応論理ブロックアドレスも記憶されていないので、対応論理ブロックアドレスが記憶されているか否かで、そのブロックが消去済ブロックであるか否かを判断することができる。つまり、対応論理ブロックアドレスが記憶されていない場合は消去済ブロックであると判断する。
【００４１】
ブロックステータスは、そのブロックが不良ブロック（正常にデータの書込み等を行なうことができないブロック）であるか否かを示すフラグであり、そのブロックが不良ブロックであると判断された場合には、不良ブロックであることを示すフラグが設定される。
【００４２】
又、フラッシュメモリはデータの上書きができないため、データの書替えを行なう場合には、ブロック消去されている消去済ブロックに新たなデータ（書替後のデータ）を書込み、古いデータ（書替前のデータ）が書込まれていたブロックを消去するという処理を行なわなければならない。この際、消去はブロック単位で処理されるため、古いデータ（書替前のデータ）が書込まれていたページが含まれるブロックの、全ページのデータが消去されてしまう。従って、データの書替えを行なう場合、書替えるページが含まれるブロックの、他のページのデータについても、消去済ブロックに移動させる処理が必要となる。
【００４３】
上記のようにデータを書替える場合、書替後のデータは書替前と異なるブロックに書込まれるため、ホストシステム側から与えられる論理ブロックアドレスと、フラッシュメモリ内でのブロックアドレスである物理ブロックアドレスとの対応関係は、データを書替える毎に動的に変化する。このため、論理ブロックアドレスと物理ブロックアドレスの対応関係を示したアドレス変換テーブルが必要となる。尚、このアドレス変換テーブルは、フラッシュメモリの冗長領域に書込まれている対応論理ブロックアドレスに基づいて作成され、データが書替えられる毎に、その書替えに関わった部分の対応関係が更新される。
[カード情報を更新する処理の説明]
カード情報（ＣＩＳ：Card Information Structure）は、フラッシュメモリの特定のブロックに記憶されている製品情報等を含む情報であり、ホストシステムはこのカード情報に基づいてフラッシュメモリシステムを認識している。このカード情報は、通常、フラッシュメモリの先頭ブロックの先頭ページに記憶されており、情報内容が変更されることがないので、書替の対象になることがなかった。従って、時間の経過と共に、メモリセルに注入されている電荷が放出されて、記憶されているカード情報が劣化することがあった。本発明に係るフラッシュメモリシステムでは、このような問題を解消するために、読出したカード情報に含まれる誤りを検出したときに、正しいカード情報を再度書込み、カード情報が劣化することを抑制している。
【００４４】
このカード情報を更新する処理では、まず、カード情報に含まれる誤りの検出が行なわれる。このカード情報に含まれる誤りの検出は、読出したカード情報に付加されているエラーコレクションコードに基づいて行なわれる。ここで、エラーコレクションコードは、図１に示したＥＣＣブロック１１によって生成され、付加されたものである。又、ＥＣＣブロック１１は、読出したカード情報に付加されているエラーコレクションコードに基づいて、読出したカード情報に含まれる誤りを検出するだけででなく、誤りの訂正も行う。従って、フラッシュメモリ２から読出されたカード情報は、誤りが訂正された状態でバッ
ファ９に保持される。尚、誤りが軽微なうちは、エラーコレクションコードに基づいて誤りを訂正できるが、誤りが重度になると誤りの訂正を行なうことができなくなる。従って、本発明に係るフラッシュメモリシステムでは、誤りが軽微な初期段階で誤りを訂正し、正しいカード情報を再度書込んでいる。
【００４５】
次に、上記のようにして訂正されたカード情報が、カード情報を記憶する領域に割当てられているブロックに、再度書込まれる。この再書込みを行なう場合には、カード情報を記憶する領域に割当てられているブロックをブロック消去してから書込んでも、又は、そのブロック内の未使用ページ（データが書込まれていないページ）に書込んでもよい。
【００４６】
例えば、フラッシュメモリの先頭ブロックがカード情報を記憶する領域に割当てられている場合、フラッシュメモリの先頭ブロックをブロック消去した後、先頭ブロックの先頭ページに誤りが訂正されたカード情報を書込まれる。
【００４７】
又、ブロック消去を行なわずに、データが書込まれていないページに誤りが訂正されたカード情報を書込む場合には、カード情報を記憶する領域に割当てられているブロック内のページに、訂正されたカード情報が順次書込まれる。つまり、ページ０（Ｐ０）に記憶されているカード情報を読出したときに、カード情報に含まれる誤りが検出されたときは、訂正されたカード情報をページ１（Ｐ１）に書込み、ページ１（Ｐ１）に記憶されているカード情報を読出したときに、カード情報に含まれる誤りが検出されたときは、訂正されたカード情報をページ２（Ｐ２）に書込み、以下同様にして、順次書込んでいき、ページ３０（Ｐ３０）に記憶されているカード情報を読出したときに、カード情報に含まれる誤りが検出されたときは、訂正されたカード情報をページ３１（Ｐ３１）に書込む。尚、ページ３１（Ｐ３１）に記憶されているカード情報を読出したときに、カード情報に含まれる誤りが検出されたときは、このブロックをブロック消去して、訂正されたカード情報をページ０（Ｐ０）に書込む。
【００４８】
又、ブロック消去を行なわずに、データが書込まれていないページに誤りが訂正されたカード情報を書込む場合には、そのブロックの複数のページにカード情報が書込まれるので、どのページに記憶されているカード情報が、最も近い時期に書込まれたカード情報であるかを示す情報を記憶させておくことが好ましい。例えば、図５に示した例では、最も近い時期にカード情報が書込まれたページを識別するため、各ページの冗長領域に、カード情報の有効無効を示す情報を設定している。ここで、ページ０〜７（Ｐ０〜７）にカード情報が記憶されており、ページ０〜６（Ｐ０〜６）の冗長領域には、カード情報が無効であることを示す情報が設定されている。従って、冗長領域に設定されている情報に基づいて、ページ７（Ｐ７）に記憶されているカード情報が、最も近い時期に書込まれたカード情報であることが分かる。
【００４９】
上記カード情報の有効無効を示す情報を設定する方法としては、例えば、冗長領域の特定のビットをカード情報の有効無効を示すビットに割当て、そのビットの論理値によってカード情報の有効無効を示す方法が挙げられる。又、上記カード情報の有効無効を示す情報を設定は、未使用ページに訂正されたカード情報を書込む際に行なうことが好ましい。例えば、訂正されたカード情報をページ１（Ｐ１）に書込んだときに、ページ０（Ｐ０）の冗長領域にカード情報が無効であることを示す情報を設定し、訂正されたカード情報をページ２（Ｐ２）に書込んだときに、ページ１（Ｐ１）の冗長領域にカード情報が無効であることを示す情報を設定し、以下同様にして、カード情報が無効であることを示す情報を設定していく。このようにカード情報が無効であることを示す情報を設定していくことにより、カード情報が記憶されているページのうち、最も近い時期にカード情報が書込まれたページを除いたページに、カード情報が無効であることを示す情報が設定される。
【００５０】
以上に説明したように、本発明によれば、読出したカード情報に含まれる誤りを検出したときに、正しいカード情報の再度書込みが行なわれるので、カード情報の劣化を抑制することができる。尚、上記説明では、本発明をカード情報に適用した場合について述べたが、本発明は、カード情報だけでなく、製品情報やシステム設定等を含む各種の設定情報（フラッシュメモリに記憶されている設定情報）に適用することができる。
【図面の簡単な説明】
【００５１】
【図１】図１は、本発明に係るフラッシュメモリシステムを概略的に示すブロック図である。
【図２】図２は、フラッシュメモリを構成するメモリセルの構造を概略的に示す断面図である。
【図３】図３は、書込状態であるメモリセルを概略的に示す断面図である。
【図４】図４は、フラッシュメモリのアドレス空間の構造を概略的に示す図である。
【図５】図５は、カード情報が記憶されているブロックを示す図である。
【符号の説明】
【００５２】
１  フラッシュメモリシステム
２  フラッシュメモリ
３  コントローラ
４  ホストコンピュータ
５  ホストインターフェース制御ブロック
６  マイクロプロセッサ
７  ホストインターフェースブロック
８  ワークエリア
９  バッファ
１０  フラッシュメモリインターフェースブロック
１１  ＥＣＣブロック
１２  フラッシュメモリシーケンサブロック
１３  外部バス
１４  内部バス
１６  メモリセル
１７  Ｐ型半導体基板
１８  ソース拡散領域
１９  ドレイン拡散領域
２０  トンネル酸化膜
２１  フローティングゲート電極
２２  絶縁膜
２３  コントロールゲート電極
２４  チャネル
２５  ユーザ領域
２６  冗長領域
【図１】
2005215919.tif 000003
【図２】
2005215919.tif 000004
【図３】
2005215919.tif 000005
【図４】
2005215919.tif 000006
【図５】
2005215919.tif 000007