(57)【要約】【課題】不揮発性メモリ素子の特性に応じてセルしきい電圧に変動を生じることで発生する種々のエラー不良を防ぐためにセルしきい電圧を補償できるようにした不揮発性メモリ素子とその自己補償方法を提供する。【解決手段】  複数のメモリセルからなるブロックの少なくとも１つを有するメモリセルアレイを備えた不揮発性メモリ素子の自己補償方法において、予め設定された基準セルのしきい電圧の変化量を測定し（ステップ：Ｓ６０１）、測定された前記基準セルのしきい電圧の変化によってメモリセルのしきい電圧が変化する値を演算し（ステップ：Ｓ６０２）、算出された前記メモリセルのしきい電圧の変化量に基づいて自己補償する必要の可否（いいえ，はい）を判断する（ステップ：Ｓ６０３）。自己補償が必要と判断した場合（はい）、前記メモリセルのプログラム状態に応じて設定されるプログラム電圧でもって再プログラムを行う（ステップ：Ｓ６０４）。【選択図】図６Ａ
2008165955.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルからなるブロックの少なくとも１つを有し、前記ブロックに対応する基準セルを配置してなっているメモリセルアレイと、
入力アドレスに応じて動作のためのメモリセルを前記メモリセルアレイから選択するＸデコーダおよびＹデコーダと、
前記ＸデコーダおよびＹデコーダによって選択されたメモリセルにデータをプログラムし、またはそのプログラムされたデータを読み出すためのページバッファと、
前記基準セルのしきい電圧の変動によって前記メモリセルのしきい電圧が変化する値を演算し、前記メモリセルの変化したしきい電圧を補償するべく前記メモリセルアレイ、前記ＸデコーダおよびＹデコーダ、そして前記ページバッファを制御する制御部と、
含んでなっていることを特徴とする不揮発性メモリ素子。
【請求項２】
前記制御部は、前記メモリセルの変化したしきい電圧を補償するために各メモリセルのプログラム状態に応じて設定されたプログラム電圧でもって再プログラムを行うように制御することを特徴とする請求項１に記載の不揮発性メモリ素子。
【請求項３】
前記制御部は、前記メモリセルの変化したしきい電圧を補償するために各メモリセルのしきい電圧の変化量に応じて読み出し電圧レベルを調節することを特徴とする請求項１に記載の不揮発性メモリ素子。
【請求項４】
複数のメモリセルからなるブロックの少なくとも１つを有するメモリセルアレイと、
入力アドレスに応じて動作のためのメモリセルを前記メモリセルアレイから選択するＸデコーダおよびＹデコーダと、
前記ＸデコーダおよびＹデコーダによって選択されたメモリセルにデータをプログラムし、またはプログラムされたデータを読み出すためのページバッファと、
前記メモリセルアレイのブロックに備わるメモリセルに対して周期的な読み出し動作を行うように制御し、エラーの発生したメモリセルの数が設定数以上か否かを判断して、メモリセルの変化したしきい電圧を補償するように前記メモリセルアレイ、前記ＸデコーダおよびＹデコーダ、前記ページバッファを制御する制御部と、
含んでなっていることを特徴とする不揮発性メモリ素子。
【請求項５】
前記制御部は、前記メモリセルの変化したしきい電圧を補償するために各メモリセルのプログラム状態に応じて設定されたプログラム電圧でもって再プログラムを行うように制御することを特徴とする請求項４に記載の不揮発性メモリ素子。
【請求項６】
前記制御部は、前記メモリセルの変化したしきい電圧を補償するために各メモリセルのしきい電圧の変化量に応じて読み出し電圧レベルを調節することを特徴とする請求項４に記載の不揮発性メモリ素子。
【請求項７】
複数のメモリセルからなるブロックの少なくとも１つを有するメモリセルアレイを備えた不揮発性メモリ素子の自己補償方法において、
予め設定された基準セルのしきい電圧の変化量を測定する工程と、
測定された前記基準セルのしきい電圧の変化によってメモリセルのしきい電圧が変化する値を演算する工程と、
算出された前記メモリセルのしきい電圧の変化量に基づいて自己補償する必要の可否を判断する工程と、
自己補償が必要と判断した場合に前記メモリセルのプログラム状態に応じて設定されるプログラム電圧でもって再プログラムを行う工程と、
を含むことを特徴とする不揮発性メモリ素子の自己補償方法。
【請求項８】
前記メモリセルのしきい電圧の変化量は、前記基準セルのしきい電圧の変化量と線形的に変動するメモリセルの特性に基づいて演算されることを特徴とする請求項７に記載の不揮発性メモリ素子の自己補償方法。
【請求項９】
自己補償する必要の可否を判断するために予め設定されたしきい電圧の変化量と比較して、その比較結果から自己補償する必要の可否を判断することを特徴とする請求項７に記載の不揮発性メモリ素子の自己補償方法。
【請求項１０】
自己補償が必要と判断した場合、前記メモリセルのしきい電圧の変化量に応じて読み出し電圧を変更して設定する工程と含むことを特徴とする請求項７に記載の不揮発性メモリ素子の自己補償方法。
【請求項１１】
複数のメモリセルからなるブロックの少なくとも１つを有するメモリセルアレイを備えた不揮発性メモリ素子の自己補償方法において、
予め設定された基準セルのしきい電圧の変動量を測定する工程と、
測定された前記基準セルのしきい電圧の変動量によるメモリセルのしきい電圧の変動量を演算する工程と、
算出された前記メモリセルのしきい電圧の変動量に基づいて自己補償の必要の可否を判断する工程と、
自己補償が必要と判断した場合は前記メモリセルのしきい電圧の変動量に応じて読み出し電圧を変更して設定する工程と、
を含むことを特徴とする不揮発性メモリ素子の自己補償方法。
【請求項１２】
前記メモリセルのしきい電圧の変更量は、基準セルのしきい電圧の変更量と線形的に変更されるメモリセルの特性に基づいて計算されることを特徴とする、請求項１１に記載の不揮発性メモリ素子の自己補償方法。
【請求項１３】
前記自己補償が必要か否かを判断するために、予め設定されたしきい電圧の変更量との比較を行い、その比較結果に基づいて自己補償の必要の可否を判断することを特徴とする請求項１１に記載の不揮発性メモリ素子の自己補償方法。
【請求項１４】
自己補償が必要と判断した場合、メモリセルのプログラム状態に応じて設定されるプログラム電圧で再プログラムを行う工程を含むことを特徴とする請求項１１に記載の不揮発性メモリ素子の自己補償方法。
【請求項１５】
複数のメモリセルからなるブロックの少なくとも１つを有するメモリセルアレイを備えた不揮発性メモリ素子の自己補償方法において、
予め設定された周期に応じて前記複数のメモリセルのデータを読み出す工程と、
前記読み出し段階でエラーが発生するメモリセルの数を計数する工程と、
計数されたエラーの発生したメモリセルの数が設定数以上か否かを判断する工程と、
エラーの発生したメモリセルの数が設定数を超えた判断した場合、前記メモリセルのプログラム状態に応じて設定されるプログラム電圧で再プログラムする工程を含むことを特徴とする不揮発性メモリ素子の自己補償方法。
【請求項１６】
エラーの発生したメモリセルの数が設定数以上と判断した場合、前記メモリセルのしきい電圧の変動に応じて読み出し電圧を変更して設定する工程を含むことを特徴とする請求項１５に記載の不揮発性メモリ素子の自己補償方法。
【請求項１７】
前記エラーの発生したメモリセルに対して、最も近接したしきい電圧が該当するレベルで再プログラムすることを特徴とする請求項１５に記載の不揮発性メモリ素子の自己補償方法。
【請求項１８】
複数のメモリセルからなるブロックの少なくとも１つを有するメモリセルアレイを備えた不揮発性メモリ素子の自己補償方法において、
予め設定された周期に応じて前記複数のメモリセルのデータを読み出す工程と、
前記読み出し段階でエラーが発生するメモリセルの数を計数する工程と、
前記計数されたエラーが発生したメモリセルの数が設定数以上か否かを判断する工程と、
エラーの発生したメモリセルの数が設定数を超えたと判断した場合、前記メモリセルのしきい電圧の変動に応じて読み出し電圧を変更して設定する工程とを含むことを特徴とする不揮発性メモリ素子の自己補償方法。
【請求項１９】
エラーの発生したメモリセルの数が設定数以上と判断した場合、前記メモリセルのプログラム状態に応じて設定されるプログラム電圧で再プログラムする工程を含むことを特徴とする請求項１８に記載の不揮発性メモリ素子の自己補償方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリ素子とその自己補償方法に関するものである。
【背景技術】
【０００２】
一般に、不揮発性メモリの代表的なフラッシュメモリはＮＡＮＤ型フラッシュメモリとＮＯＲ型フラッシュメモリに大別される。ＮＯＲ型フラッシュメモリは、メモリセルがそれぞれ独立してビット線とワード線に接続される構造を有するので、ランダムアクセス時間特性に優れている。これに対し、ＮＡＮＤ型フラッシュメモリは、複数のメモリセルが直列に接続されてセルストリング当たり１つのコンタクトのみを必要とするので、集積度に優れている。そうした理由から高集積度が求められるフラッシュメモリには主にＮＡＮＤ型のものが用いられている。
【０００３】
周知のＮＡＮＤ型フラッシュメモリ装置の場合、メモリセルアレイと、行デコーダと、そしてページバッファなどによって構成されている。メモリセルアレイは、行方向に伸びる複数本のワード線と、列方向に伸びる複数本のビット線と、それらビット線に対応する複数本のセルストリングとから構成される。
【０００４】
近年、かかるフラッシュメモリの集積度をより高めるために、１つのメモリセルに複数のデータ格納が可能な多重ビットセルに関する研究が盛んに行われている。そうした方式によるメモリセルを通常マルチレベルセル（Multi Level Cell；ＭＬＣ）と呼んでいる。これと対比される単一ビットのメモリセルをシングルレベルセル（single LevelCell；ＳＬＣ）と呼んでいる。
【０００５】
ところで、ＮＡＮＤ型フラッシュメモリは、長期にわたって動作を行うと特性が変化してエラーが発生するといった問題がある。それについて、図１に示すＭＬＣのしきい電圧の変化によるセル分布図を参照して概略的に説明する。
【０００６】
図１において、２ビットのデータの格納が可能なＭＬＣメモリ装置は４つのセル状態を備えることができ、それぞれ［１１］、［１０］、［００］および［０１］のデータを示す。各セルはプログラム電圧に応じて分布するが、データ［１１］状態のセルはプログラムされていないセルであり、データ［１０］状態のセルは第１プログラム電圧ＰＶ１以上のしきい電圧を有するようにプログラムされたセルである。また、データ［００］状態のセルは、第２プログラム電圧ＰＶ２以上のしきい電圧を有するようにプログラムされたセルであり、データ［０１］状態のセルは第３プログラム電圧ＰＶ３以上のしきい電圧を有するようにプログラムされたセルである。また、各セルを読み出すためには、第１〜第３読み出し電圧Ｒ１〜Ｒ３を印加してセル状態を判断することでプログラムされたデータを確認する。
【０００７】
一方、ＮＡＮＤ型フラッシュメモリはセル保存特性を確保するために動作電圧を設定する必要がある。すなわち、長期にわたってメモリ装置が動作するような場合、データを保存する動作によってセルのしきい電圧が変動され得るが、かかる特性を利用して最初からセルの電圧を設定してプログラムして読み出しする。そうすることでエラーを抑える技術が提案されている。
【０００８】
ＭＬＣメモリ装置においてプログラムと消去の動作が繰り返し行われると、メモリセルのフローティングゲートと基板との間の酸化膜間に電子が閉じ込められることでトラップチャージ(Trap charge)が増加する。このようなトラップチャージは、時間と温度が増大するに伴ってさらにデトラップ(Detrap)され、プログラムされたセルのしきい電圧を減少させる。したがって、このようなしきい電圧の減少を考慮してプログラム電圧を読み出し電圧よりも高く設定する。図１では、プログラム電圧が読み出し電圧よりも高く設定されていることがわかる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、しきい電圧が低下してその減少幅が大きくなると、読み出し電圧よりもしきい電圧が低下することがあり、発生する現象を保存不良(Retention Fail)といっている。そうした保存不良を防止するにはそれを補うだけの高いしきい電圧に高めて、選択されていないセルをターンオンさせるためのパスバイアス(PassBias)を増大させる必要が生じる。
【００１０】
しかし、パスバイアスを増大させると、選択されていないセルのうち消去されたセルのしきい電圧が増大するといった現象を誘発し、選択されていないセルのしきい電圧が異常に増大する現象を生じる。そうした異常現象はそれ以後の読み出し動作に読み出し妨害エラー(Read Disturb Fail)を引き起こす。以上のような保存エラーや読み出しエラーを引き起こすしきい電圧の変動は図１中の破線で示す性能曲線のごとき変化に付き従うこととなる。
【００１１】
以上に鑑み、本発明の目的は、不揮発性メモリ素子の特性に応じてセルしきい電圧に変動を生じることで発生する種々のエラー不良を防ぐためにセルしきい電圧を補償できるようにした不揮発性メモリ素子とその自己補償方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するための本発明に係る不揮発性メモリ素子は、複数のメモリセルからなるブロックの少なくとも１つを有し、前記ブロックに対応する基準セルを配置してなっているメモリセルアレイと、入力アドレスに応じて動作のためのメモリセルを前記メモリセルアレイから選択するＸデコーダおよびＹデコーダと、前記ＸデコーダおよびＹデコーダによって選択されたメモリセルにデータをプログラムし、またはそのプログラムされたデータを読み出すためのページバッファと、前記基準セルのしきい電圧の変動によって前記メモリセルのしきい電圧が変化する値を演算し、前記メモリセルの変化したしきい電圧を補償するべく前記メモリセルアレイ、前記ＸデコーダおよびＹデコーダ、そして前記ページバッファを制御する制御部と、含んでなっていることを特徴とするものである。
【００１３】
また、本発明に係る代表的な不揮発性メモリ素子の自己補償方法は、複数のメモリセルからなるブロックの少なくとも１つを有するメモリセルアレイを備えた不揮発性メモリ素子の自己補償方法において、予め設定された基準セルのしきい電圧の変化量を測定する工程と、測定された前記基準セルのしきい電圧の変化によってメモリセルのしきい電圧が変化する値を演算する工程と、算出された前記メモリセルのしきい電圧の変化量に基づいて自己補償する必要の可否を判断する工程と、自己補償が必要と判断した場合に前記メモリセルのプログラム状態に応じて設定されるプログラム電圧でもって再プログラムを行う工程と、を含むことを特徴とする。
【発明の効果】
【００１４】
本発明の不揮発性メモリ素子とその自己補償方法によれば、メモリセルが特に長期にわたってプログラム動作と消去動作を繰り返し行うような場合、しきい電圧が変動して長期間保存されたデータに対するしきい電圧に変化があればそれを検出することで、全体的な補償を行うことで不揮発性メモリ素子の信頼性を高めることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明に係る不揮発性メモリ素子とその自己補償方法のそれぞれ好適な実施形態について図に基づいて詳細に説明する。
【００１６】
まず、はじめに本実施形態の目的とするところは、メモリセルのしきい電圧が変動したか否かという確認と、変動したしきい電圧値を補償することである。
【００１７】
≪第１実施形態≫
図２は、本発明による不揮発性メモリ素子の第１実施形態としてＮＡＮＤ型フラッシュメモリの構成の一部分を示す機能ブロック図であり、メモリセルのしきい電圧が変動したことを認識できるようにするものである。
【００１８】
本実施形態のＮＡＮＤ型フラッシュメモリ２００は以下の構成でなっている。データを格納するためのメモリセルを有してなっているメモリセルアレイ２１０を有する。また、入力アドレスに応じてメモリセルアレイ２１０のメモリセルを選択するためのＸデコーダ２３０およびＹデコーダ２４０を有する。また、メモリセルアレイ２１０にデータをプログラムしたり、または格納されたデータを読み出すページバッファを含むページバッファ部２２０を有する。また、以上のようなメモリセルアレイ２１０と、ページバッファ部２２０と、Ｘデコーダ２３０およびＹデコーダ２４０とを制御してプログラムおよび読み出し動作を制御する制御部２５０が備わっている。
【００１９】
メモリセルアレイ２１０は、それぞれ複数のメモリセルを有してなっている複数のブロックを備え、それら各ブロックのメモリセルのしきい電圧の変動を推定するための基準セルでなっている基準セル部２１１を備えて構成されている。すなわち、その基準セル部２１１を構成する基準セルは、複数の各ブロックに対するセルしきい電圧の変動を推測するために構成されたセルである。
【００２０】
制御部２５０は、周期的に基準セル部２１１の基準セルのしきい電圧の変化を検出し、基準セルのしきい電圧の変化量に基づいて当該ブロックのメモリセルのしきい電圧の変化量を類推する。メモリセルのしきい電圧が変動したことを確認する手段としては、周期的にメモリセルアレイ２１０のメモリセルのデータを読み出すことにより、一定水準以上のフェイル（fail）が発生したか否かを判断する方法がある。これについては後述する第２実施形態で説明する。
【００２１】
そこで、基準セルのしきい電圧が変動した量を確認することで、メモリセルのしきい電圧の変動を推定する方法は次の述べるセル特性のために可能である。
【００２２】
図３Ａは、ＮＡＮＤ型フラッシュメモリの動作サイクルによって変動するセル電圧特性を示すグラフであり、図３Ｂはマルチレベルセルの各セル状態で動作サイクリングによるセル電圧の変動特性を示すグラフである。それによると、図３Ａに示すように、各々第１しきい電圧を有するセルａ１と、第２しきい電圧を有するセルａ２のしきい電圧の変動は、相対的に高いしきい電圧を有するセルａ２が電界効果によってしきい電圧減少率が増加することが理解される。また、図３Ｂに示すように、２ビットのデータの格納が可能なマルチレベルセル（ＭＬＣ）の各状態に該当するセルｂ１〜ｂ４のしきい電圧が変動している。
【００２３】
ここで、セルｂ１はデータ［１１］の状態を有するセル、セルｂ２はデータ［１０］の状態を有するセル、セルｂ３はデータ［００］の状態を有するセル、セルｂ４はデータ［０１］の状態を有するセルである。それぞれのしきい電圧は、セルｂ１＜セルｂ２＜セルｂ３＜セルｂ４の大きさの関係を有している。したがって、図３Ｂに示すように、セルのしきい電圧が大きいほど、しきい電圧の減少幅が大きくなることが理解される。
【００２４】
図３Ａおよび図３Ｂに示す変化量に応じて、この第１実施形態による基準セルのしきい電圧の変化量を用い、線形に変化するメモリセルの変化量を推測し、これを用いて変動したしきい電圧値を補償する。
【００２５】
しきい電圧を変動量を補償するには２つの方法を適用することができる。
【００２６】
その１つは、セルのしきい電圧が変動したことを検出して確認すると、さらに元のプログラム電圧を用いて再プログラムすることにより、セルのしきい電圧を元の値に補償する方法である。
【００２７】
他の１つの方法は、セルのしきい電圧が変動したことを検出して確認すると、変化した電圧量を算定して、算出された電圧量を適用して読み出しレベルを変更することで補償効果を得る方法である。
【００２８】
そこで、上記したセルのしきい電圧を元の値に補償する第１実施形態では、つぎの図４に示すセル分布となる。
【００２９】
それぞれのセルの分布がセル特性などによって変化して符号４０１〜４０３で示す矢印方向に変化することで、破線で示す特性曲線によるセル分布に変動したとき、それぞれのセル状態に応じてプログラム電圧ＰＶ１〜ＰＶ３を適用して再プログラムする。それによって、元のセル分布を有するように（４１１〜４１３）しきい電圧を補償する。
【００３０】
したがって、定常的な正規セル分布を有するように補償されることで、元の読み出し電圧Ｒ１〜Ｒ３によってメモリセルを読み出す場合でも読み出し不良（フェイル）を発生しない。
【００３１】
≪第２実施形態≫
つぎに、上記したセルのしきい電圧を元の値に補償する第２実施形態では、図５に示すセル分布となる。
【００３２】
セルのしきい電圧が矢印５０１〜５０３の方向に変化したことが検出されて確認すると、読み出し電圧を以前のＲ１〜Ｒ３からＲ１’〜Ｒ３’に変更することにより、読み出し時の読み出し不良を防止する。
【００３３】
−しきい電圧補償−
ここで、上記第１，第２実施形態におけるセルのしきい電圧の変動を確認する方法と、変動したセルのしきい電圧を補償するために、メモリ素子のしきい電圧を補償する方法についてそれぞれ説明する。
【００３４】
図６Ａは、第１実施形態によるセル電圧の変動を検出してセル電圧の補償を行う動作順を示すフローチャート、図６Ｂは第２実施形態によるセル電圧の変動を検出してセル電圧の補償を行う動作順を示すフローチャートである。
【００３５】
まず、第１実施形態の図６Ａに示すように、図２で示した基準セルを用いたセル電圧の変動を検出して再プログラムを行い、変動したセル電圧を補償する。
【００３６】
任意のメモリセルアレイ２１０のブロックに含まれるメモリセルのしきい電圧が、補償を必要とするだけ変更されたかどうかを判断するステップとして、基準セルのしきい電圧ＶＴの変化を測定する（Ｓ６０１）。測定された基準セルのしきい電圧の変化量に基づいてメモリセルのしきい電圧の変化量を算出する（Ｓ６０２）。その際、メモリセルのしきい電圧の変化量を算出することは、図３Ａおよび図３Ｂで示した変動するセル特性に基づいて基準セルのしきい電圧の変化量に線形的にメモリセルのしきい電圧が変わることを利用することで可能となる。
【００３７】
上記ステップＳ６０２において、メモリセルのしきい電圧の変化量を算出すると、その算出変化量が補償を必要とする程度のものか否かを確認する（Ｓ６０３）。これは、小さい電圧変化については補償の必要なしとし、エラーが発生し得る電圧変化に対しては適切に補償を行えるようにするためである。
【００３８】
ステップＳ６０３での確認結果、補償が必要であれば、メモリセルの各状態に応じてプログラム電圧ＰＶ１〜ＰＶ３を適用して再プログラムを行うことにより、メモリセルのしきい電圧を補償し（Ｓ６０４）、セル分布を定常的な正規状態に構築する。
【００３９】
それに対して、メモリセルのしきい電圧に変動が生じたとき、これを補償する次の図６Ｂで示す第２実施形態を適用することができる。
【００４０】
この第２実施形態を図６Ｂのフローチャートで示すように、上記第１実施形態の図２にてセル電圧の変動の検出に基づき、セル電圧の補償を行う。
【００４１】
すなわち、この場合基準セルのしきい電圧の変動を測定し（Ｓ６１１）、測定された基準セルのしきい電圧の変化量に基づいてメモリセルのしきい電圧の変化量を算出する（Ｓ６１２）。
【００４２】
その算出されたメモリセルのしきい電圧の変化量が、補償を必要とする程度と判断されると（Ｓ６１３）、それぞれのメモリセルのしきい電圧変化量に応じて読み出し電圧を新しく設定する（Ｓ６１４）。
【００４３】
変更された読み出し電圧は制御部に蓄積され、以後の当該メモリセルに対して変更された読み出し電圧が適用されるようにすることにより、読み出し動作時の読み出しエラーを無くすことができる。
【００４４】
続いて、この第２実施形態において、メモリセルのしきい電圧の変更を検出してそれに対する補償を行う方法を以下に説明する。
【００４５】
図７Ａは、第２実施形態において、セル電圧の変更を検出し、上記第１実施形態で適用したセル電圧補償を行う方法の動作順を示すフローチャートである。
【００４６】
まず、周期的にメモリセルを読み出し、エラーが発生するメモリセルをカウントすることによって補償の有無を判断し、第１実施形態の手法を利用して再プログラムし、変動したセル電圧を補償する。フラッシュメモリ素子の制御部（またはコントローラ、図示せず）は周期的にメモリセルに格納されるデータを読み出し（Ｓ７０１）、読み出し動作においてエラーが発生するメモリセルが幾つなのかをカウントする（Ｓ７０２）。
【００４７】
そのカウントされた読み出しエラーの発生回数がメモリセルの設定された限界値以上か否かを判断し（Ｓ７０３）、判断結果、限界値を超えて上回っておれば、メモリセルのしきい電圧の補償を行う必要がある。それぞれのセルの状態を確認し（Ｓ７０４）、セル状態に応じて再プログラムを行う（Ｓ７０５）。
【００４８】
たとえば、全体メモリセルの１０％にエラーが発生すると、それぞれのメモリセルがいずれのデータでプログラムされたかを確認し、プログラム電圧ＰＶ１〜ＰＶ３による再プログラムを行うことにより、セル分布を最初の状態に戻して補償する。
【００４９】
その際、エラーが発生したセルの場合は、当該セルが有する最も有力なデータ状態を類推して再プログラムを行うことができる。すなわち、図４を参照すれば、エラーが発生したセルが［００］の状態または［０１］の状態を持つことができると判断し、しきい電圧が［００］状態よりは［０１］状態にさらに近ければ、当該セルを［０１］の状態で再プログラムすることができる。
【００５０】
それに対して、セルのしきい電圧の補償を再プログラム方法ではなく、第２実施形態に係る読み出し電圧の変更で行うこともできる。
【００５１】
図７Ｂは、第２実施形態においてセル電圧の変動を検出し、この第２実施形態を適用した場合のセル電圧補償を行う方法の動作順を示すフローチャートである。
【００５２】
すなわち、周期的にメモリセルを読み出し、エラーが発生するメモリセルをカウントすることにより補償の有無を判断し、第２実施形態によって読み出し電圧を変動することで補償効果を得る。
【００５３】
フラッシュメモリ素子の制御部（またはコントローラ；図示せず）は周期的にメモリセルに格納されるデータを読み出し（Ｓ７１１）、読み出し動作においてエラーが発生するメモリセルが幾つなのかをカウントする（Ｓ７１２）。
【００５４】
カウントされたエラーが発生したメモリセル数が限界値以上か否かを判断する（Ｓ７１３）。判断結果、限界値以上であれば、セルの補償が必要であると判断する。そして、メモリセルのプログラム状態を確認した後、セル状態に応じて読み出し電圧を変更する（Ｓ７１４）。
【００５５】
この際、読み出し電圧の変動は、平均的に限界値に該当するエラーセルが発生する場合、しきい電圧が変動する量を推定し、これに適用された読み出し電圧を設定することで可能である。
【００５６】
以上説明した各実施形態において、変動を確認して補償を行う必要があるか否かを判断するための第１実施形態の場合、メモリセルアレイの一部に基準セルを設定しなければならない。また、第２実施形態の場合は制御部（またはコントロール部）で一定の周期ごとにメモリセルを読み出すことにより、エラーセルをカウントするようにするアルゴリズムが設定されなければならない。
【００５７】
また、しきい電圧が変動した場合の補償について、第１実施形態の場合はそれぞれのメモリセルの最初状態を類推し、それによりプログラムを再び行えるようにするアルゴリズムがなければならない。また、第２実施形態の場合は、しきい電圧の変動に応じて読み出し電圧を変更設定することで以後の読み出し電圧としては変更された電圧を適用するようにするアルゴリズムが設定されなければならない。
【００５８】
以上、本発明について数例の実施形態を説明したが、本発明はそれら実施形態に限定されるものではなく、本発明の主旨を逸脱しない範囲内でその他の実施形態、応用例、変形例、そしてそれらの組み合わせも可能である。
【図面の簡単な説明】
【００５９】
【図１】マルチレベルセルのしきい電圧の変動を示すものとして従来例のセル分布図。
【図２】本発明の不揮発性メモリ素子の第１実施形態としてＮＡＮＤ型フラッシュメモリの構成を示す機能ブロック図。
【図３ａ】同第１実施形態においてＮＡＮＤ型フラッシュメモリの動作サイクルに応じて変動するセル電圧特性を示すグラフ。
【図３ｂ】同第１実施形態においてマルチレベルセルの各セル状態での動作サイクリングによるセル電圧の変動を示すグラフ。
【図４】セル電圧補償のために第１実施形態を適用した場合のセル分布図。
【図５】セル電圧補償のために第２実施形態を適用した場合のセル分布図。
【図６Ａ】第１実施形態においてセル電圧の変動を検出してセル電圧補償を行う動作順を示すフローチャート。
【図６Ｂ】第１実施形態においてセル電圧変動の検出に基づいて、第２実施形態を適用した場合のセル電圧補償を行う動作順を示すフローチャート。
【図７Ａ】第２実施形態においてセル電圧変動の検出に基づいて、第１実施形態を適用した場合のセル電圧補償を行う動作順を示すフローチャート。
【図７Ｂ】第２実施形態においてセル電圧変動の検出に基づいて第２実施形態を適用した場合のセル電圧補償を行う動作順を示すフローチャート。
【符号の説明】
【００６０】
２００    ＮＡＮＤ型フラッシュメモリ
２１０    メモリセルアレイ
２１１    基準セル部
２２０    ページバッファ部
２３０    Ｘデコーダ
２４０    Ｙデコーダ
２５０    制御部
【図１】
2008165955.tif 000003
【図２】
2008165955.tif 000004
【図３ａ】
2008165955.tif 000005
【図３ｂ】
2008165955.tif 000006
【図４】
2008165955.tif 000007
【図５】
2008165955.tif 000008
【図６Ａ】
2008165955.tif 000009
【図６Ｂ】
2008165955.tif 000010
【図７Ａ】
2008165955.tif 000011
【図７Ｂ】
2008165955.tif 000012