(57)【要約】【課題】軟判定情報を入力とする誤り訂正回路を用いた場合においても、誤り訂正回路の訂正限界より多い誤りが発生する前に、リフレッシュ動作を実行することができ、誤り訂正限界より多い誤りの発生の頻度を実用上問題ない程度に抑える。【解決手段】ＮＡＮＤセル型フラッシュメモリを構成するメモリセルアレイは、ワード線制御回路２を有する。このワード線制御回路２は、複数の閾値分布の間の読み出し電圧に加え、各閾値分布の上限と下限の間の軟値読み出し電圧をワード線電圧として前記ワード線に印加し、軟値データを生成する。この軟値に基づいて複数ビットのデータの尤度を尤度計算回路１０にて計算する。誤り訂正回路１１は、尤度に基づいて誤り訂正を行う。誤り訂正の繰り返し回数が所定回数を超えた場合、そのブロックに対しリフレッシュ動作を実行する。【選択図】図４
2008059679.tif 000002
【特許請求の範囲】
【請求項１】
閾値電圧の差によりデータを記憶することが可能なメモリセルが複数のビット線及び複数のワード線に沿ってマトリクス状に配置されて構成されたメモリセルアレイと、
前記ビット線の各々に接続されるセンスアンプ回路と、
前記データを表現する複数の閾値分布のうちの１つの上限より大きくその閾値分布より上の閾値電圧を有する他の閾値分布の下限より小さい大きさを有する読み出し電圧をワード線電圧として前記ワード線に印加する制御を行うと共に、前記複数の閾値分布の各々の上限より小さく下限より大きい閾値電圧を有し複数通りの軟値を生成する軟値読み出し電圧をワード線電圧として前記ワード線に印加する制御を行うワード線制御回路と、
前記軟値に基づいて前記メモリセルに格納されたデータの尤度を計算する尤度計算回路と、
前記尤度に基づいて前記メモリセルから読み出されたデータの誤り訂正を行う誤り訂正回路と、
前記軟値又は前記尤度に基づいて前記メモリセルのリフレッシュ動作のタイミングを制御するリフレッシュ制御回路と
を備えたことを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記リフレッシュ制御回路は、前記誤り訂正回路の反復復号時の反復回数に基づいて、前記メモリセルのリフレッシュ動作のタイミングを制御することを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項３】
前記リフレッシュ制御回路は、あるメモリ領域内の各ビットの尤度の絶対値の合計値に基づいて前記メモリセルのリフレッシュ動作のタイミングを制御することを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項４】
前記リフレッシュ制御回路は、尤度の絶対値があらかじめ設定された基準値より小さい尤度を持つビット数に基づいて前記メモリセルのリフレッシュ動作のタイミングを制御することを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項５】
前記リフレッシュ制御回路は、前記軟値を基準値と比較した比較結果に基づいて前記メモリセルのリフレッシュ動作のタイミングを制御することを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項６】
閾値電圧の差によりデータを記憶することが可能なメモリセルが複数のビット
線及び複数のワード線に沿ってマトリクス状に配置されて構成されたメモリセルアレイより読み出される軟値に基づいて前記メモリセルに格納されたデータの尤度を計算する尤度計算回路と、
前記尤度に基づいて前記メモリセルから読み出されたデータの誤り訂正を行う誤り訂正回路と、
前記軟値又は前記尤度に基づいて前記メモリセルのリフレッシュ動作のタイミングを制御するリフレッシュ制御回路と
を備えたことを特徴とする不揮発性記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体記憶装置及び不揮発性記憶システムに関し、特に、メモリセルのリフレッシュ機能を備えることによって保持するデータの信頼性を向上させた不揮発性半導体記憶装置及び不揮発性記憶システムに関する。
【背景技術】
【０００２】
不揮発性半導体記憶装置の一つとして、ＮＡＮＤセル型フラッシュメモリが知られている。このＮＡＮＤセル型フラッシュメモリは、複数のＮＡＮＤセルユニットから構成されるメモリセルアレイを有する。各ＮＡＮＤセルユニットは、直列接続される複数のメモリセルと、その両端に接続される２つの選択トランジスタとから構成される。メモリセルは、消去状態においては、閾値電圧が負の“１”データを保持している。データ書き込み時には、フローティングゲートに電子が注入され閾値電圧が正である“０”データに書き換えられる。ＮＡＮＤセル型フラッシュメモリは、書き込み時には閾値電圧を低い方から高い方へ移動させることのみが可能であり、逆の移動（閾値電圧の高い方から低い方）はブロック単位での消去動作によってのみ行うことができる。
【０００３】
しかし、メモリセルの微細化の進展と共に、メモリセルアレイにおける不良ビットの発生率が飛躍的に増加しており、不揮発性メモリチップの歩留まりを低下させる原因となっている。こうした状況に鑑み、メモリセルのデータの信頼性を保証するため、誤り訂正符号（ＥＣＣ）を用いた誤り訂正回路を組み込んだメモリも提案されている（例えば、特許文献１参照）。
【０００４】
また、不良ビットの発生率の低下のため、定期的なデータの再書き込み、他の領域への書き換え、或いは追加的な書き込みベリファイ動作を実行するなどして、記憶データのリフレッシュをするというリフレッシュ動作を行う技術も知られている（例えば、特許文献２参照）。
【０００５】
このリフレッシュ動作に関しては、全領域に対してリフレッシュ動作をすると、リフレッシュ動作に必要な時間が長くなる、または、まだ不良ビットがあまり発生していない領域に対して余計なストレスをかけてしまうといった問題が発生する。このため、特許文献２の技術では、誤り訂正回路から誤り訂正数をフィードバックし、誤り訂正符号の訂正限界数に近づいた領域に対してのみリフレッシュ動作をするという方法が知られている。しかし、軟判定情報を入力とする反復復号法を用いた誤り訂正回路(ＬＤＰＣ符号の復号回路など)は、強力な誤り訂正能力を有する一方で、訂正した誤り数をカウントする処理は行わない。また、軟判定情報を元にする反復復号法による誤り訂正処理においては、誤り訂正数だけでは、誤り訂正限界に近いかどうかを判断することが難しい。
【特許文献１】特開２００２−２５１８８４号公報（段落００２６〜００３０他）
【特許文献２】特許第３１７６０１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、軟判定情報を入力とする誤り訂正回路を用いた場合においても、誤り訂正回路の訂正限界より多い誤りが発生する前に、リフレッシュ動作を実行することができ、誤り訂正限界より多い誤りの発生の頻度を実用上問題ない程度に抑えることができる不揮発性半導体記憶装置及び不揮発性記憶システムを提供するものである。
【課題を解決するための手段】
【０００７】
本発明の一の態様に係る不揮発性半導体記憶装置は、閾値電圧の差によりデータを記憶することが可能なメモリセルが複数のビット線及び複数のワード線に沿ってマトリクス状に配置されて構成されたメモリセルアレイと、前記ビット線の各々に接続されるセンスアンプ回路と、前記データを表現する複数の閾値分布のうちの１つの上限より大きくその閾値分布より上の閾値電圧を有する他の閾値分布の下限より小さい大きさを有する読み出し電圧をワード線電圧として前記ワード線に印加する制御を行うと共に、前記複数の閾値分布の各々の上限より小さく下限より大きい閾値電圧を有し複数通りの軟値を生成する軟値読み出し電圧をワード線電圧として前記ワード線に印加する制御を行うワード線制御回路と、前記軟値に基づいて前記メモリセルに格納されたデータの尤度を計算する尤度計算回路と、前記尤度に基づいて前記メモリセルから読み出されたデータの誤り訂正を行う誤り訂正回路と、前記軟値又は前記尤度に基づいて前記メモリセルのリフレッシュ動作のタイミングを制御するリフレッシュ制御回路とを備えたことを特徴とする。
【０００８】
本発明の一の態様に係る不揮発性半導体記憶装置は、閾値電圧の差によりデータを記憶することが可能なメモリセルが複数のビット線及び複数のワード線に沿ってマトリクス状に配置されて構成されたメモリセルアレイより読み出される軟値に基づいて前記メモリセルに格納されたデータの尤度を計算する尤度計算回路と、前記尤度に基づいて前記メモリセルから読み出されたデータの誤り訂正を行う誤り訂正回路と、前記軟値又は前記尤度に基づいて前記メモリセルのリフレッシュ動作のタイミングを制御するリフレッシュ制御回路とを備えたことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、軟判定情報を入力とする誤り訂正回路を用いた場合においても、誤り訂正回路の訂正限界より多い誤りが発生する前に、リフレッシュ動作を実行することができ、誤り訂正限界より多い誤りの発生の頻度を実用上問題ない程度に抑えることができる不揮発性半導体記憶装置及び不揮発性記憶システムを提供することが可能になる。
【発明を実施するための最良の形態】
【００１０】
次に、本発明の実施の形態を、４値ＮＡＮＤセル型フラッシュメモリを備えたシステムを例として、図面を参照して詳細に説明する。
【００１１】
［基本原理］
４値ＮＡＮＤセル型フラッシュメモリは、１つのメモリセルにおける閾値電圧が、４通りの分布を持ち得るように構成されている。図１は、４値ＮＡＮＤセル型フラッシュメモリのメモリセルに記憶される２ビットの４値データ（データ“１１”、“１０”、“０１”、“００”）とメモリセルの閾値電圧（Ｖｔｈ）の分布を示している。なお、図１において、ＶＡ、ＶＢ、ＶＣは４つのデータを読み出す場合に選択ワード線に印加される電圧（複数ビットデータ読み出し電圧）であり、ＶＡｖ、ＶＢｖ、ＶＣｖは書き込み動作の完了を確認するためのベリファイ電圧を示している。
【００１２】
ブロック消去後のメモリセルは、データ“１１”とされており、負の閾値電圧Ｖｔｈを有する。また、書き込み状態のデータ“０１”、“１０”、“００”のメモリセルは、正の閾値電圧Ｖｔｈを有する。また、書き込み状態のうち、データ“０１”が最も閾値電圧が低く、データ“００”が最も閾値電圧が高く、データ“１０”は、データ“０１”とデータ“００”の中間の閾値電圧を有する。
【００１３】
１つのメモリセルの２ビットデータは、下位（Lower）ページデータと上位（upper）ページデータからなり、下位ページデータと上位ページデータは別々の書き込み動作、つまり、２回の書き込み動作により、メモリセルに書き込まれる。データ“＊＠”と標記するとき、＊は上位ページデータを、＠は下位ページデータを表している。
【００１４】
まず、下位ページデータの書き込みを、図２を参照して説明する。全てのメモリセルは、消去状態、即ち、データ“１１”であるものとする。図２に示すように、下位ページデータの書き込みを行うと、メモリセルの閾値電圧Ｖｔｈの分布は、下位ページデータの値（“１”、或いは“０”）に応じて、２つの閾値電圧分布に分けられる。すなわち、下位ページデータの値が“１”の場合には、メモリセルのトンネル酸化膜に高電界がかからないようにし、メモリセルの閾値電圧Ｖｔｈの上昇を防止する。その結果、メモリセルは、消去状態のデータ（データ“１１”）を維持する。
【００１５】
一方、下位ページデータの値が“０”の場合には、メモリセルのトンネル酸化膜に高電界を印加し、フローティングゲート電極に電子を注入して、メモリセルの閾値電圧Ｖｔｈを所定量だけ上昇させる。具体的には、ベリファイ電位ＶＢｖ´を設定し、このベリファイ電位ＶＢｖ´以上の閾値電圧となるまで書き込み動作が繰り返される。その結果、メモリセルは、書き込み状態（データ“１０”）に変化する。なお、データ“１０”の閾値電圧分布は、隣接セルへの書き込み動作の影響のため、データ“１１”に比べ広い分布となっている。
【００１６】
次に、上位ページデータの書き込みを、図３を参照して説明する。上位ページデータの書き込みは、チップの外部から入力される書き込みデータ（上位ページデータ）と、メモリセルに既に書き込まれている下位ページデータとに基づいて行われる。
【００１７】
即ち、図３に示すように、上位ページデータの値が“１”の場合には、メモリセルのトンネル酸化膜に高電界がかからないようにし、メモリセルの閾値電圧Ｖｔｈの上昇を防止する。その結果、データ“１１”（消去状態）のメモリセルは、データ“１１”をそのまま維持し、データ“０１”のメモリセルは、データ“０１”をそのまま維持する。
【００１８】
一方、上位ページデータの値が“０”の場合には、メモリセルのトンネル酸化膜に高電界を印加し、フローティングゲート電極に電子を注入して、メモリセルの閾値電圧Ｖｔｈを所定量だけ上昇させる。その結果、データ“１１”（消去状態）のメモリセルは、データ“０１”に変化し、データ“０１”のメモリセルは、データ“００”に変化する。
【００１９】
以上の動作を要約すると、次のようになる。
（１）下位ページデータが“１”、上位ページデータが“１”のときには、消去状態のセルのデータは“１１”に維持される。
（２）下位ページデータが“０”、上位ページデータが“１”のときには、データ“１０”がメモリセルに書き込まれる。
（３）下位ページデータが“１”、上位ページデータが“０”のときには、データ“０１”がメモリセルに書き込まれる。
（４）下位ページデータが“０”、上位ページデータが“０”のときには、データ“００”がメモリセルに書き込まれる。
（５）上記（１）〜（４）の書き込みは、下位ページデータの書き込み動作をまず行い、続いて上位データの書き込み動作を行うという、計２回の書き込み動作により実行される。
【００２０】
なお、メモリセルが、下位ページデータの書き込みのみが終了し上位ページデータの書き込みが未了である段階であるのか、それとも上位ページデータの書き込みも終了した段階であるのかを、データとしていずれかの記憶手段に記憶しておく必要がある。このため、これを示すためのフラグデータＦＬＡＧが、データを記憶するメモリセルと同様のメモリセル（フラグセル）に記憶される。図２〜図３に示すように、前者の段階である場合にはフラグデータＦＬＡＧは“１”（負の閾値電圧）であり、後者の段階である場合にはフラグデータＦＬＡＧは“０”（閾値電圧ＶＢ以上）である。
【００２１】
［第一の実施の形態］
図４は、不揮発性半導体記憶システムの一例として、本発明の第一の実施の形態の、４値（２ビット）を記憶するＮＡＮＤセル型フラッシュメモリの構成を示している。
【００２２】
このＮＡＮＤセル型フラッシュメモリは、メモリ部１００と、これをコントロールするコントローラ２００とからなる。
【００２３】
メモリ部１００は、データを記憶するメモリセルをマトリクス状に配置してなるメモリセルアレイ１を備えている。
【００２４】
メモリセルアレイ１は複数のビット線と複数のワード線と共通ソース線を含み、ビット線とワード線の交点に電気的にデータを書き換え可能なメモリセルがマトリクス状に配置されている。メモリセルには、情報ビットとしての多値データに加え、情報ビットに誤り訂正のために付加される冗長データ、又は上述のフラグデータＦＬＡＧが格納され得る。
【００２５】
このメモリセルアレイ１には、ワード線電圧を制御するためのワード線制御回路２、及びセンスアンプ回路３が接続されている。ワード線制御回路２は、アドレスデコーダ８でデコードされたアドレス信号に従いワード線を選択しワード線電圧を制御する。センスアンプ回路３は、ビット線を介してメモリセルアレイ１中のメモリセルのデータに基づく信号を検知・増幅する機能に加え、読み出しデータや書き込みデータを保持するデータラッチ機能を有するセンスアンプ兼データラッチ回路である。
【００２６】
センスアンプ回路３には、カラムデコーダ４、データ入出力バッファ５及び入出力制御回路６が接続されている。カラムデコーダ４は、アドレスデコーダ８でデコードされたアドレス信号に従い、ビット線を選択する機能を有する。データ入出力バッファ５は、センスアンプ回路３に対する入出力データを一時保持する機能を有する。入出力制御回路６は、これらデータの入出力制御を司っている。メモリセルアレイ１から読み出されたメモリセルのデータは、センスアンプ回路３、データ入出力バッファ５及び入出力制御回路６を介して外部へ出力される。
【００２７】
また、外部からデータ入出力端子５に入力された書き込みデータは、データ入出力バッファ５を介してセンスアンプ回路３にラッチされ、指定されたメモリセルへの書き込みが行われる。
【００２８】
また、メモリセルアレイ１、ワード線制御回路２、センスアンプ回路３、カラムデコーダ４、及びアドレスデコーダ８は、制御信号発生回路７に接続されている。制御信号発生回路７は、図示しない制御信号入力端子に入力される制御信号（チップイネーブル信号／ＣＥ、書き込みイネーブル信号／ＷＥ、読み出しイネーブル信号／ＲＥ、アドレスラッチイネーブル信号ＡＬＥ、コマンドラッチイネーブル信号ＣＬＥ等）に従い、メモリセルアレイ１、ワード線制御回路２、センスアンプ回路３、カラムデコーダ４、及びアドレスデコーダ８を制御するための制御信号及び制御電圧を発生させる。
【００２９】
この実施の形態でのワード線制御回路２は、読み出し動作において、４値データの４つの閾値分布（図１）のうちの１つの上限と、より値の大きい他の閾値分布の下限との間の複数ビットデータ読み出し電圧（図１ではＶＡ、ＶＢ、ＶＣ）やベリファイ電圧（（図１ではＶＡＶ、ＶＢＶ、ＶＣＶ））をワード線電圧としてワード線ＷＬに印加する制御を行う。
【００３０】
これに加え、ワード線制御回路２は、後述する軟値の生成のため、４つの閾値分布の各々の上限と下限との間の大きさを有する複数通りの電圧（軟値読み出し電圧）をワード線電圧としてワード線ＷＬに印加する制御を行う。詳しくは後述する。なお、ここでいう「上限」、「下限」は、メモリセルにデータを書き込んだ直後の閾値分布の上限及び下限を意味し、上限と下限は他の閾値分布と重ならないものとする。
【００３１】
また、コントローラ２００は、リードバッファ９、尤度計算回路１０、誤り訂正回路１１及び反復回数比較回路１２を備えている。リードバッファ９は、入出力制御回路６を介しメモリ部１００から出力されたメモリセル毎の軟値データを一時保持する。なお、ビットデータ読み出し電圧を印加することにより得られた通常のビットデータは、図示しない入出力パッドから外部に出力される。
【００３２】
尤度計算回路１０は、リードバッファ９に保持された各メモリセルの軟値データに基づき、各メモリセル内のビット数(４値の場合は各セル２ビット)分の尤度を計算するものである。尤度とは各ビットの情報の確からしさを表す値であり、この実施の形態では、データが“１”である確率Ｐｒ（１）と、“０”である確率Ｐｒ（０）との比の対数（ｌｏｇ（Ｐｒ（０）／Ｐｒ（１）））として尤度を計算するものとする。尤度計算回路１０は一例として、軟値データと尤度とを関連付けて記憶する尤度テーブル（図示せず）を有しており、これを参照することにより尤度を判定し出力することができる。
【００３３】
誤り訂正回路１１は、復号処理を繰り返し実行し誤り訂正結果を得る反復復号処理(例えば、ＬＤＰＣ符号の復号処理など)を実行する機能を有する。誤り訂正回路１１では、入力されたビット毎の尤度をもとに反復復号処理を行い、誤り訂正を行う。
【００３４】
反復回数比較回路１１は、メモリセルのリフレッシュ動作を制御するリフレッシュ制御回路の一例である。この誤り訂正回路１１で反復復号処理が完了したとき、誤り訂正回路１１から出力された反復回数データを、基準値と比較する機能を有する。この基準値よりも反復回数が多い場合には、誤り訂正の限界に近いものと判定し、誤り訂正を実行した(直前にリードした)メモリ領域に対しリフレッシュコマンドを出力する。
【００３５】
図５は、図１に示すメモリセルアレイ１及びセンスアンプ回路３の構成を示している。メモリセルアレイ１はＮＡＮＤセル型メモリセルアレイであり、複数のＮＡＮＤセルを含んで構成されている。１つのＮＡＮＤセルは、直列接続された例えば１６個のＥＥＰＲＯＭからなるメモリセルＭＣと、その両端に接続される選択ゲートＳ１、Ｓ２とにより構成されている。選択ゲートＳ１はビット線ＢＬ０に接続され、選択ゲートＳ２は共通ソース線ＳＲＣに接続されている。
【００３６】
同一のロウに配置されたメモリセルＭＣの制御ゲートはワード線ＷＬ１、ＷＬ２、ＷＬ３・・・ＷＬ１６に共通接続されている。また、第１の選択ゲートＳ１はセレクト線ＳＧ１に共通接続され、第２の選択ゲートＳ２はセレクト線ＳＧ２に共通接続されている。
【００３７】
メモリセルアレイ１は、破線で示すように、複数のブロックを含んでいる。各ブロックは、複数のＮＡＮＤセルにより構成され、このブロック単位でデータが消去される。また、消去動作は、データ記憶回路３Ａ、フラグ用データ記憶回路３Ｂに接続されている２本のビット線について同時に行なわれる。
【００３８】
センスアンプ回路３は、複数のデータ記憶回路３Ａ及びフラグ用データ記憶回路３Ｂを有している。各データ記憶回路３Ａ及びフラグ用データ記憶回路３Ｂには、一対のビット線（ＢＬ０、ＢＬ１）、（ＢＬ２、ＢＬ３）…（ＢＬｉ、ＢＬｉ＋１）、（ＢＬ、ＢＬ）が接続されている。各データ記憶回路３Ａは、メモリセルＭＣから読み出されるデータを保持する機能を有すると共に、メモリセルＭＣに書き込まれるデータを保持する機能を有する。また、後述するように、複数ビットデータ記憶及び複数ビットデータ読み出しを行う際、また後述するように軟値データの生成を行う際、内部データを操作する役割を有する。
【００３９】
また、ビット線ＢＬｉの１つおきに配置され、１つのワード線ＷＬｉに接続された複数のメモリセル（破線で囲まれた範囲のメモリセル）は、１セクタを構成する。このセクタ毎にデータが書き込まれ、読み出される。１セクタには例えば２ページ分のデータが記憶される。また、各ワード線ＷＬには、フラグデータＦＬＡＧを記憶するためのフラグセルＦＣが接続されている。前述したように、このフラグセルＦＣに記憶されるフラグデータＦＬＡＧは、メモリセルＭＣに対する下位ページデータの書き込み動作が終了した段階では“１”とされ、上位ページデータの書き込みが終了した段階では“０”とされる。
【００４０】
リード動作、プログラムベリファイ動作及びプログラム動作時において、データ記憶回路３Ａに接続されている２本のビット線（ＢＬｉ、ＢＬｉ＋１）のうち外部より指定されたアドレス信号（ＹＡ１、ＹＡ２…ＹＡｉ、ＹＡｆｌａｇ）に応じて１本のビット線が選択される。さらに、外部アドレスに応じて、１本のワード線が選択され、１セクタ（２ページ分）が選択される。この２ページの切り替えはアドレスによって行われる。
【００４１】
図６及び図７は、メモリセルＭＣ、ならびに選択ゲートＳ１及びＳ２の断面構造を示している。図６はメモリセルＭＣの断面構造を示している。基板４１にはメモリセルＭＣを構成するＭＯＳＦＥＴのソース、ドレインとして機能するｎ型拡散層４２が形成されている。また基板４１の上にはゲート絶縁膜４３を介して浮遊ゲート（ＦＧ）４４が形成され、この浮遊ゲート４４の上には絶縁膜４５を介して制御ゲート（ＣＧ）４６が形成されている。
【００４２】
選択ゲートＳ１、Ｓ２は、基板４１と、この基板４１に形成されたソース、ドレインとしてのｎ型拡散層４７を備えている。基板４１の上にはゲート絶縁膜４８を介して制御ゲート４９が形成されている。
【００４３】
図８は、メモリセルアレイの１つのＮＡＮＤセルの断面を示している。この例において、１つのＮＡＮＤセルは、図６に示す構成の１６個のメモリセルＭＣが直列接続されて構成されている。ＮＡＮＤセルのドレイン側、ソース側には、図７に示す構成の第１の選択ゲートＳ１、第２の選択ゲートＳ２が設けられている。
【００４４】
データ記憶回路３Ａの構成例を図９を参照して説明する。なお、データ記憶回路３Ｂの構成も略同様であるので説明を省略する。このデータ記憶回路３Ａは、プライマリデータキャッシュ（ＰＤＣ）、セコンダリデータキャッシュ（ＳＤＣ）、ダイナミックデータキャッシュ（ＤＤＣ）、テンポラリデータキャッシュ（ＴＤＣ）を有している。
【００４５】
ＳＤＣ、ＰＤＣ、ＤＤＣは、書き込み時に入力データを保持し、読み出し時に読み出しデータを保持し、ベリファイ時に一時的にデータを保持し、複数ビットデータを記憶する際に内部データの操作のためのデータ記憶を司る。ＴＤＣは、データの読み出し時にビット線のデータを増幅し、一時的に保持するとともに、複数ビットデータを記憶する際に内部データの操作に使用される。
【００４６】
ＳＤＣは、ラッチ回路を構成するクロックドインバータ回路６１ａ、６１ｂと、トランジスタ６１ｃ、６１ｄとにより構成されている。トランジスタ６１ｃはクロックドインバータ回路６１ａの入力端と、クロックドインバータ回路６１ｂの入力端の間に接続され、そのゲートに信号ＥＱ２を供給されている。
【００４７】
トランジスタ６１ｄはクロックドインバータ回路６１ｂの出力端と接地間に接続され、そのゲートには信号ＰＲＳＴが供給されている。
【００４８】
また、ＳＤＣのノードＮ２ａ（クロックドインバータ回路６１ａの出力端）は、カラム選択トランジスタ６１ｅを介して入出力データ線ＩＯｎに接続されている。また、ノードＮ２ｂ（クロックドインバータ回路６１ｂの出力端）は、カラム選択トランジスタ６１ｆを介して入出力データ線ＩＯに接続される。これらカラム選択トランジスタ６１ｅ、６１ｆのゲートにはカラム選択信号ＣＳＬｉが供給されている。
【００４９】
ＰＤＣは、ラッチ回路を構成するクロックドインバータ回路６１ｉ、６１ｊと、トランジスタ６１ｋとにより構成されている。トランジスタ６１ｋは、クロックドインバータ回路６１ｉの入力端とクロックドインバータ回路６１ｊの入力端の相互間に接続されている。このトランジスタ６１ｋのゲートには信号ＥＱ１が供給されている。このＰＤＣのノードＮ１ａとＳＤＣのノードＮ２ａとは、トランジスタ６１ｇ、６１ｈにより接続されている。トランジスタ６１ｇのゲートには信号ＢＬＣ２が供給され、トランジスタ６１ｈのゲートには信号ＢＬＣ１が供給されている。
【００５０】
また、ＰＤＣのノードＮ１ｂ（クロックドインバータ回路６１ｊの入力端）はトランジスタ６１ｌのゲートに接続されている。このトランジスタ６１ｌの電流通路の一端はトランジスタ６１ｍを介して接地されている。このトランジスタ６１ｍのゲートには信号ＣＨＫ１が供給されている。また、トランジスタ６１ｌの電流通路の他端はトランスファーゲートを構成するトランジスタ６１ｎ、６１ｏの電流通路の一端に接続されている。このトランジスタ６１ｎのゲートには信号ＣＨＫ２ｎが供給されている。また、トランジスタ６１ｏのゲートはトランジスタ６１ｇと６１ｈの接続ノードＮ３に接続されている。
【００５１】
トランジスタ６１ｎ、６１ｏの電流通路の他端には、信号ＣＯＭｉが供給されている。この信号ＣＯＭｉは全データ記憶回路３Ａに共通の信号であり、全データ記憶回路３Ａのベリファイが完了したかどうかを示す信号である。すなわち、後述するように、ベリファイが完了すると、ＰＤＣのノードＮ１ｂが”Ｌ”となる。この状態において、信号ＣＨＫ１、ＣＨＫ２ｎを”Ｈ”とすると、ベリファイが完了している場合、信号ＣＯＭｉが”Ｈ”となる。
【００５２】
ＴＤＣは、例えば電荷保持用ＭＯＳキャパシタ６１ｐとブースト用ＭＯＳキャパシタ６１ｐｂにより構成されている。このＭＯＳキャパシタ６１ｐは、前記トランジスタ６１ｇ、６１ｈの接続ノードＮ３と接地間に接続されている。また、接続ノードＮ３には、トランジスタ６１ｑＡ、６１ｑＢを介してＤＤＣが接続されている。トランジスタ６１ｑＡ、６１ｑＢのゲートには、それぞれ信号ＲＥＧＡ、ＲＥＧＢが供給されている。また、ＭＯＳキャパシタ６１ｐｂは、一端をノードＮ３に接続され、他端はブースト電圧ＢＯＯＳＴを与えられる。
【００５３】
ＤＤＣは、トランジスタ６１ｒＡ、６１ｓＡ、６１ｒＢ、６１ｓＢにより構成されている。トランジスタ６１ｒＡ及び６１ｓＡにより１つのデータキャッシュＤＤＣＡが構成され、トランジスタ６１ｒＢ及び６１ｓＢによりもう１つのデータキャッシュが構成されている。
【００５４】
トランジスタ６１ｒＡ、６１ｒＢの電流通路の一端には信号ＶＰＲＥが供給され、他端はそれぞれトランジスタ６１ｑＡ、６１ｑＢの電流通路に接続されている。このトランジスタ６１ｒＡ、６１ｒＢのゲートはそれぞれトランジスタ６１ｓＡ、６１ｓＢを介してＰＤＣのノードＮ１ａに接続されている。このトランジスタ６１ｓＡ、６１ｓＢのゲートにはそれぞれ信号ＤＴＧＡ、ＤＴＧＢが供給されている。さらに、接続ノードＮ３にはトランジスタ６１ｔ、６１ｕの電流通路の一端が接続されている。トランジスタ６１ｕの電流通路の他端には信号ＶＰＲＥが供給され、ゲートには信号ＢＬＰＲＥが供給されている。
【００５５】
トランジスタ６１ｔのゲートには信号ＢＬＣＬＡＮＰが供給されている。このトランジスタ６１ｔの電流通路の他端はトランジスタ６１ｖを介してビット線ＢＬｉに接続され、またトランジスタ６１ｗを介してビット線ＢＬｉ＋１に接続されている。
【００５６】
ビット線ＢＬｉの他端はトランジスタ６１ｘの電流通路の一端に接続されている。このトランジスタ６１ｘのゲートには信号ＢＩＡＳｏが供給されている。ビット線ＢＬｉ＋１の他端はトランジスタ６１ｙの電流通路の一端に接続されている。このトランジスタ６１ｙのゲートには信号ＢｌＡＳｅが供給されている。これらトランジスタ６１ｘ、６１ｙの電流通路の他端には、信号ＢＬＣＲＬが供給されている。トランジスタ６１ｘ、６１ｙは、信号ＢＩＡＳｏ、ＢＩＡＳｅに応じてトランジスタ６１ｖ、６１ｗと相補的にオンとされ、非選択のビット線に所定のバイアスＢＬＣＲＬを供給して、非選択ビット線を選択ビット線のシールド線とする。
【００５７】
［書き込み動作及びベリファイ動作］
次に、このＮＡＮＤセル型フラッシュメモリにおける複数ビット書き込み動作及び書き込みベリファイ動作を、図１０及び図１１を参照して説明する。上述したように、書き込み動作は、下位ページデータの書き込み、上位ページデータの書き込みという２段階で行なわれる。
【００５８】
図１０に示すように、まず図５の１セクタの下位ページを選択するため、アドレスを指定し、続いて、書き込みデータを外部より入力し全てのデータ記憶回路３Ａ内のＳＤＣに記憶する（Ｓ１１）。
【００５９】
書き込みコマンドが入力されると、トランジスタ６１ｈ、６１ｇがオンとされ、これにより全てのデータ記憶回路３Ａ内のＳＤＣのデータがＰＤＣに転送される（Ｓ１２）。外部より下位ページデータとしてデータ“１”が入力された場合、ＰＤＣのノードＮ１ａは、”Ｈ”になり、データ“０”が入力された場合、ＰＤＣのノードＮ１ａは、”Ｌ”となる。なお、この下位ページデータの書き込み動作においては、フラグセルＦＣにはデータが書き込まれない。このため、フラグ用データ記憶回路３Ｂ内のＰＤＣはデータ“１”となる。
【００６０】
続いて、メモリセルＭＣへの書き込み（プログラム）動作に移行する（Ｓ１３）。具体的には、トランジスタ６１ｈ、６１ｔ及び６１ｖ又は６１ｗがオンとなり、ＰＤＣに保持されたデータがビット線ＢＬｉ又はＢＬｉ＋１に供給される。ＰＤＣにデータ“１”が保持されている時、ビット線がＶｄｄになり、データ“０”が保持されている時、ビット線がＶｓｓ（接地電位）になる。また、非選択ページのセルには書き込みが行なわれないようにするため、非選択ページのビット線にもＶｄｄを供給する。
【００６１】
ここで、選択されているブロックのセレクト線ＳＧ１にＶｄｄ、選択されたセルのワード線に電位ＶＰＧＭ（２０Ｖ）、非選択のセルのワード線に電位ＶＰＡＳＳ（１０Ｖ）を印加する。これにより、選択セルに書き込みを行うと共に、非選択セルに対する書き込みを防止する。
【００６２】
続いて、書き込みベリファイ動作に移行する（Ｓ１４）。まず、非選択ワード線及びセレクト線ＳＧ１に読み出し時の電位Ｖｒｅａｄを与えると共に、ビット線を１Ｖにプリチャージする。また、選択ワード線にベリファイ電位ＶＢｖ´を与える。続いて、メモリセルのソース側のセレクト線ＳＧ２を”Ｈ”にする。
選択したメモリセルＭＣの閾値電圧がベリファイ電位ＶＢｖ´より高ければ、そのメモリセルＭＣはオフを維持し、従ってビット線は”Ｈ”のままである。
一方、選択したメモリセルＭＣの閾値電圧がベリファイ電位ＶＢｖ´より低ければ、そのメモリセルＭＣはオンとなり、ビット線は”Ｌ”となる。ＴＤＣのノードＮ３は、ビット線が”Ｌ”の場合、”Ｌ”となり、ビット線が”Ｈ”の場合、”Ｈ”となる。
【００６３】
ここで、ＤＤＣには“０”書き込みを行う場合”Ｌ”が記憶され、“０”書き込みを行わない場合”Ｈ”が記憶されている。信号ＶＰＲＥをＶｄｄとし、信号ＲＥＧＡを”Ｈ”にすると、“０”書き込みを行わない場合のみＴＤＣのノードＮ３が強制的に”Ｈ”となる。この動作の後、ＰＤＣのデータをＤＤＣに移し、ＴＤＣの電位をＰＤＣに転送する。
【００６４】
以上の動作の下、ＰＤＣが”Ｌ”の場合、再び書き込み動作を行い全てのデータ記憶回路３Ａのデータが”Ｈ”になるまでこのプログラム動作とベリファイ動作を繰り返す（Ｓ１５−Ｓ１３）。その後、隣接するメモリセルにも書き込みが順次行なわれると、書き込みデータによっては、ＦＧ−ＦＧ間容量によって、メモリセルの閾値電圧が上がり、データ“１０”の閾値電圧分布が高いほうに広がる。
【００６５】
次に、上位ページデータの書き込み（プログラム）動作を図１１を参照して説明する。上位ページデータの書き込み動作でも、まずアドレスを指定し、続いて、書き込みデータを外部より入力し全てのデータ記憶回路３Ａ内のＳＤＣに記憶する（Ｓ２１）。
【００６６】
この後、書き込みコマンドが入力されると、フラグセルＦＣにフラグデータＦＬＡＧとして“０”を書き込むため、フラグセル用データ記憶回路３Ｂ内のＳＤＣにデータ“０”が入力される（Ｓ２２）。
【００６７】
続いて、上位ページ書き込み後のデータが“１１”（下位ページデータが“１”）であるのか“１０”（下位ページデータが“０”）であるのかを判断するため、内部リード動作が行なわれる（Ｓ２３）。選択ワード線には、電位ＶＡ（図１）を供給する。非選択ワード線及びセレクト線ＳＧ１には電位Ｖｒｅａｄを供給する。
【００６８】
メモリセルのデータが“１０”である場合、ＰＤＣに”Ｈ”がラッチされ、メモリセルのデータが“１１”である場合、ＰＤＣに”Ｌ”がラッチされる。
【００６９】
その後、書き込みたいデータが“１１”、“０１”、“１０”、“００”のいずれであるのかに従い、各データキャッシュＳＤＣ、ＰＤＣ、ＴＤＣ、ＤＤＣに記憶されるデータが設定される（Ｓ２４）。
【００７０】
続いて、書き込み動作に先立ってデータ“１０”のベリファイを行う（Ｓ２５）。その後、下位ページデータの書き込み動作と同様にして書き込み動作を実行する（Ｓ２６）。
【００７１】
更に、データ“０１”、“１０”、“００”についても、それぞれ電位をＶＡｖ、ＶＢｖ、ＶＣｖに設定してベリファイ動作を行い（Ｓ２７〜Ｓ２９）、全てのデータ記憶回路３ＡのＰＤＣのデータが“Ｈ”になるまでこの書き込み動作とベリファイ動作を繰り返す（Ｓ３０）。
【００７２】
［読出し動作］
続いて、通常の４値データの読出し動作を、下位ページデータの読出しと上位ページデータの読出しに分けて説明する。
【００７３】
図１２は、下位ページデータの読出しの手順をフローチャートで示している。まず、アドレスを指定し、図５に示す１セクタを選択する。続いて選択ワード線の電位をＶＡとして読み出し動作を行い（Ｓ３１）、フラグセルＦＣのフラグデータＦＬＡＧが“０”か“１”であるかを判別する（Ｓ３２）。
【００７４】
フラグセルＦＣから読み出されたフラグデータＦＬＡＧが“１”の場合、上位ページデータの書き込みは完了しておらず、このため、メモリセルＭＣの閾値電圧の分布は、図２のようになっている。このデータは、ワード線の電位をＶＡにして読み出し動作をすればよく、従って既にデータ記憶回路３Ａに読み出されている。このため、データ記憶回路３Ａに記憶されているデータを外部に出力して読み出しを行う（Ｓ３３）。
【００７５】
一方、フラグセルＦＣから読み出されたフラグデータＦＬＡＧが“０”（メモリセルのデータが“１”）の場合、上位ページデータの書き込みが行われており、したがってメモリセルＭＣの閾値電圧分布は、図３に示すようになっている。従って、ワード線の電位をＶＢに設定して読み出し動作を行い（Ｓ３４）、この後、データ記憶回路３Ａに読み出されたデータを外部に出力する（Ｓ３３）。このときのデータ記憶回路３Ａ中の各データキャッシュの動作は、書き込みベリファイ動作のときと同様である。
【００７６】
続いて、上位ページデータの読出し動作の手順を図１３のフローチャートを参照して説明する。上位ページデータの読み出しでは、まず、アドレスを指定し、図５に示す１セクタを選択する。続いて、ワード線の電位をＶＣとして読み出しを行う（Ｓ３５）。これにより、閾値電圧がＶＣより低いメモリセルからは“１”が読み出され、閾値電圧がＶＣより高いメモリセルからは“０”が読み出され、このデータは、仮の上位ページデータＵｐｐｅｒ（ｐｒｅ１）としてＴＤＣに保持される。ＴＤＣに保持されたデータＵｐｐｅｒ（ｐｒｅ１）は、一端トランジスタ６１ｈがオンとされてＰＤＣに転送された後、トランジスタ６１ｓＡをオンとすることによりＤＤＣＡに保持される。
【００７７】
この後、ワード線電位をＶＡとして読み出し動作を行って（Ｓ３６）、フラグセルＦＣのフラグデータＦＬＡＧが“０”か“１”であるかを判別する（Ｓ３７）。
【００７８】
この結果、フラグセルＦＣのフラグデータＦＬＡＧが“１”で、上位ページの書き込みが行なわれていない場合、出力データを“１”に固定する（Ｓ３８）。出力を“１”にするには、データ記憶回路３Ａの信号ＰＲＳＴを”Ｈ”とし、ＳＤＣを“１”に設定する。あるいは、データ入出力バッファ５よりデータ“１”しか出力させないようにする。
【００７９】
また、フラグセルのフラグデータＦＬＡＧが“０”の場合、ＤＤＣＡに保持されているデータＵｐｐｅｒ（ｐｒｅ１）と、新たに読み出されるデータＵｐｐｅｒ（ｐｒｅ２）とに基づいて、上位ページデータＵｐｐｅｒを読み出す（Ｓ３９）。この読み出しにおけるデータ記憶回路３Ａの具体的な動作を以下に説明する。
新たに読み出されたデータＵｐｐｅｒ（ｐｒｅ２）はＴＤＣに保持される。このとき、ＶＰＲＥを接地電位とした状態において、トランジスタ６１ｑＡのゲートの信号ＲＥＧＡを“Ｈ”とする。このとき、ＤＤＣＡに保持されているデータＵｐｐｅｒ（ｐｒｅ１）が“０”すなわちトランジスタ６１ｒＡのゲートの電位が“Ｈ”である場合には、ノードＮ３の電圧は放電される。一方、ＤＤＣＡに保持されているデータＵｐｐｅｒ（ｐｒｅ１）が“１”すなわちトランジスタ６１ｒＡのゲートの電位が“Ｌ”である場合には、ノードＮ３の電圧は変化しない。すなわち、ＤＤＣＡに保持されているデータＵｐｐｅｒ（ｐｒｅ１）が“０”である場合において、新たなデータＵｐｐｅｒ（ｐｒｅ２）は強制的に“１”に反転させられる。
以上のような動作が行なわれた後におけるＴＤＣの保持データをＳＤＣに転送後外部へ上位ページデータＵｐｐｅｒとして出力する。データＵｐｐｅｒ（ｐｒｅ１）と、出力される上位ページデータＵｐｐｅｒとの関係は、図１４に示すようになっている。以上のような手順で下位ページデータＬｏｗｅｒと、上位ページデータＵｐｐｅｒとが読み出され、４値データの読み出しが完了する。
【００８０】
このメモリ部１００では、上述した手法により軟値データを読み出して、この軟値データに基づき、複数ビットデータの確かさを示す尤度を尤度計算回路１０により計算する。そして、この尤度を用いて誤り訂正回路１１により誤り訂正を実行する。
【００８１】
軟値データは、例えば図１５に示すように、データ“１１”、“０１”、“１０”、“００”の各々の閾値分布の上限と下限の間の大きさを有する、複数の軟値読み出し電圧（４）〜（１５）をワード線電圧としてワード線制御回路２により生成して読み出しを行うことにより生成される。このような軟値データにより、読み出し対象とされたメモリセルが、４値データ（“１１”、“０１”、“１０”、“００”）のうちのいずれであるのかということのみならず、１つの閾値分布の中の中心（頂点）付近の閾値電圧を有するのか、それとも閾値分布の上限又は下限に近い閾値電圧を有するのかを判定することができる。
【００８２】
閾値電圧が閾値分布の上限又は下限に近い場合には、閾値分布の中心付近である場合に比べ、データ誤りが生じている可能性が高い。換言すれば、前者は後者に比べ、複数ビットデータの「確かさ」の程度（尤度）が低い。誤り訂正回路１１は、。得られた軟値データに基づいて、読み出したメモリ領域のうち誤り訂正の対象となるすべての４値データが正しい値（メモリセルに書き込んだ値）に訂正されるか、予め決められた繰り返し回数に達するまで訂正処理を繰り返し実行する。このときの繰り返し回数は、誤り訂正回路１１においてカウントされる。
【００８３】
この図１５では、軟値読み出し電圧（４）〜（７）は、それぞれデータ“１１”、“０１”、“１０”、“００”それぞれの閾値分布の中点付近（上限と下限の略中間）の電圧である。また、その他の軟値読み出し電圧（８）〜（１５）は、軟値読み出し電圧（４）〜（７）と共に、各閾値分布を等間隔に分割するように設定している。すなわち、
（ｉ）軟値読み出し電圧（４）、（８）、（９）は、データ“００”の閾値分布を略等間隔に分割するように設定されており、
（ｉｉ）軟値読み出し電圧（５）、（１０）、（１１）は、データ“１０”の閾値分布を略等間隔に分割するように設定されており、
（ｉｉｉ）軟値読み出し電圧（６）、（１２）、（１３）は、データ“００”の閾値分布を略等間隔に分割するように設定されており、
（ｉｖ）軟値読み出し電圧（７）、（１４）、（１５）は、データ“１１”の閾値分布を略等間隔に分割するように設定されている。
【００８４】
これは、あくまでも閾値分布がガウス分布形状とされている場合の一例でありこの例に限定されるものではない。分布の形状によっては、各閾値分布においてやや偏った間隔で分割してもよい。また、各閾値分布の分割数すなわち各閾値分布に含まれる軟値読み出し電圧の数も、３つに限らず４つ又はそれ以上にしてもよい。
【００８５】
次に、この軟値データの具体的な生成手順を図１５を参照して説明する。まず、図１２、図１３で説明したように、ワード線電圧を順に（１）複数ビットデータ読み出し電圧ＶＢ、（２）複数ビットデータ読み出し電圧ＶＣ、（３）複数ビットデータ読み出し電圧ＶＡに設定して、下位ページデータＬｏｗｅｒ、仮の上位ページデータＵｐｐｅｒ（ｐｒｅ１）、上位ページデータＵｐｐｅｒを読み出す。
【００８６】
図１５の下半分に記載された“１”、“０”のマトリクス表示は、ワード線電圧が（１）、（２）、・・・、（１５）と変化された場合における、当該メモリセルの閾値電圧の大きさと、得られるページデータ、及び軟値（軟値１（ｐｒｅｉ）、軟値２（ｐｒｅｉ）、軟値１、軟値２）を示している。
【００８７】
次に、ワード線電圧は、各閾値分布の上限と下限の中間付近の軟値読み出し電圧（４）〜（７）に、その順で（すなわち段階的に高い方から低い方へ下げられて）設定される。まず軟値読み出し電圧（４）が設定された場合に読み出される軟値データ軟値１（ｐｒｅ１）は、データ“００”の閾値分布の右半分より大きい閾値電圧を有するメモリセルについてのみデータ”０“として読み出され、それ以外では”１“として読み出される。この読み出された軟値１（ｐｒｅ１）は、一旦ＴＤＣに保持され、ＰＤＣを経てＤＤＣＡに保持される。
【００８８】
次に、軟値読み出し電圧（５）を設定して軟値データ軟値１（ｐｒｅ２）を読み出す。この軟値１（ｐｒｅ２）は、データ“１０”の閾値分布の右半分より大きい閾値電圧を有するメモリセルについてのみがデータ”０“として読み出され、それ以外は”１“として読み出されて、ＴＤＣに保持される。ただし、軟値１（ｐｒｅ１）はＤＤＣＡに保持されており、もし、ＤＤＣＡに保持されている軟値１（ｐｒｅ１）が”０“であった場合には、ＴＤＣに保持されたデータは強制的に”１“に反転させられる（図１５の矢印参照）。すなわち、軟値読み出し電圧を段階的に小さくしていった場合に、第１の軟値読み出し電圧と、これより一段階小さい第２の軟値読み出し電圧とがいずれもメモリセルを導通させなかった場合に、第２の軟値読み出し電圧で得られたデータを反転させて軟値とするものである。
【００８９】
以下同様に、軟値読み出し電圧（６）、（７）がワード線電圧として印加され、１つ前の軟値１（ｐｒｅｉ）が“０”であった場合にはデータ反転がなされる。軟値読み出し電圧（７）により生成されるデータが軟値１であり、これが後述する軟値２と共に、尤度計算回路１０における尤度計算に用いられる。
【００９０】
続いて、ワード線電圧は、軟値読み出し電圧（８）〜（１５）に、その順で（すなわち段階的に高い方から低い方へ下げられて）設定される。ＤＤＣＡに保持されている１つ前の軟値が“０”であった場合にデータ反転がなされる点は（４）〜（７）の場合と同様である。軟値読み出し電圧（１５）がワード線電圧として印加されて生成される軟値２が、軟値１とともに尤度計算回路１０において尤度計算のために用いられる。
【００９１】
誤り訂正回路１１は、これ上位ページデータｕｐｐｅｒ、下位ページデータｌｏｗｅｒ、軟値１及び軟値２を用いて尤度計算回路１０において計算された尤度に基づいてトライアンドエラーで訂正を繰り返すと共に、その繰り返し回数をカウントしその繰り返し回数データを出力する。繰り返し回数が所定のしきい値よりも大きいと反復回数比較回路１２において判定された場合には、誤り訂正の限界に近づいたものと判断して、メモリセルのリフレッシュ動作のためのリフレッシュコマンドを出力する。入出力制御回路６は、このリフレッシュコマンドをデータ入出力バッファ５を介して制御信号発生回路７に出力し、これにより、メモリセルアレイ１において、誤り訂正限界に近づいたと判断されたブロックに対するリフレッシュ動作が実行される。
【００９２】
このように、本実施の形態によれば、誤り訂正数のカウントをすることなく、反復回数という誤り訂正数より信頼性の高い情報をもとに誤り訂正の限界に近いメモリ領域（ブロック）に対するリフレッシュ動作のタイミングを制御することができる。この結果、誤り訂正回路の訂正限界より多い誤りが発生する前に、リフレッシュ動作を実行することができ、誤り訂正限界より多い誤りの発生の頻度を実用上問題ない程度に抑えることができる。
【００９３】
［第２の実施の形態］
次に、本発明の第２の実施の形態を、図１６を参照して説明する。第１の実施の形態と同一の構成要素については図面中で同一の符号を付し、その詳細な説明は省略する。この実施の形態では、反復回数比較回路１２に代えて、尤度加算回路１３を設けている点で、第１の実施の形態と異なっている。尤度加算回路１３は、メモリセルのリフレッシュ動作を制御するリフレッシュ制御回路の一例である。
【００９４】
この尤度加算回路１３は、尤度計算回路１０において計算された尤度の絶対値を加算して、その総和を誤り訂正の単位であるブロック毎に計算するものである。この総和が予め設定された基準値よりも小さい場合には、信頼度の低いビットが多い、つまり、誤り訂正の限界に近いものとして、誤り訂正を実行した(直前にリードした)ブロックに対するリフレッシュコマンドを発行する。
【００９５】
この実施の形態においても、誤り訂正数のカウントをすることなく、尤度の絶対値の総和という誤り訂正数より信頼性の高い情報をもとに誤り訂正の限界に近いメモリ領域に対するリフレッシュのタイミングを制御することができる。また、本実施の形態によれば、誤り訂正回路１１による誤り訂正処理を実行せずに、リフレッシュのタイミングを制御することができ、第１の実施の形態に比べリフレッシュ動作のサイクルを早くすることが可能になる。この結果、誤り訂正回路の訂正限界より多い誤りが発生する前に、リフレッシュを実行することができ、誤り訂正限界より多い誤りの発生の頻度を実用上問題ない程度に抑えることができる。
【００９６】
［第３の実施の形態］  
次に、本発明の第３の実施の形態を、図１７を参照して説明する。第１の実施の形態と同一の構成要素については図面中で同一の符号を付し、その詳細な説明は省略する。この実施の形態では、反復回数比較回路１２に代えて、尤度比較・カウント回路１４を設けている点で、第１の実施の形態と異なっている。尤度比較・カウント回路１４は、メモリセルのリフレッシュ動作を制御するリフレッシュ制御回路の一例である。
【００９７】
尤度比較・カウント回路１４は、入力されたビット毎の尤度の絶対値とあらかじめ設定された基準値と比較し、基準値より小さい尤度の数をカウントする機能を有する。そして、そのカウント値があらかじめ設定された基準値よりも多い場合には、信頼度の低いビットが多い、つまり、誤り訂正の限界に近いものとして、誤り訂正を実行した(直前にリードした)メモリ領域に対するリフレッシュコマンドを発行する。
この実施の形態によれば誤り訂正数のカウントをすることなく、絶対値の小さい尤度の数という誤り訂正数より信頼性の高い情報をもとに誤り訂正の限界に近いメモリ領域に対するリフレッシュのタイミングを制御することができる。また、本実施例によれば、誤り訂正回路１１による誤り訂正処理を実行せずに、リフレッシュのタイミングを制御することもできる。この結果、誤り訂正回路の訂正限界より多い誤りが発生する前に、リフレッシュを実行することができ、誤り訂正限界より多い誤りの発生の頻度を実用上問題ない程度に抑えることができる。
【００９８】
［第４の実施の形態］  
次に、本発明の第４の実施の形態を、図１８を参照して説明する。第１の実施の形態と同一の構成要素については図面中で同一の符号を付し、その詳細な説明は省略する。この実施の形態では、反復回数比較回路１２に代えて、軟値比較・カウント回路１５を設けている点で、第１の実施の形態と異なっている。は、軟値比較・カウント回路１５メモリセルのリフレッシュ動作を制御するリフレッシュ制御回路の一例である。
【００９９】
軟値比較・カウント回路１５は、リードバッファ９から入力されたセル毎の軟値データと予め設定された基準値とを比較し、絶対値の小さい尤度に該当する軟値データの数をカウントし、その数があらかじめ設定された基準値よりも多い場合には、信頼度の低いビットが多い、つまり、誤り訂正の限界に近いものとして、誤り訂正を実行した(直前にリードした)メモリ領域に対するリフレッシュコマンドを発行する。
【０１００】
本実施の形態によれば誤り訂正数のカウントをすることなく、絶対値の小さい尤度を含む軟値データの数という誤り訂正数より信頼性の高い情報をもとに誤り訂正の限界に近いメモリ領域に対するリフレッシュのタイミングを制御することができる。また、本実施の形態によれば、誤り訂正回路１１による誤り訂正処理を実行せずに、リフレッシュのタイミングを制御することもできる。この結果、誤り訂正回路の訂正限界より多い誤りが発生する前に、リフレッシュを実行することができ、誤り訂正限界より多い誤りの発生の頻度を実用上問題ない程度に抑えることができる。
【０１０１】
以上、発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、発明の趣旨を逸脱しない範囲内において、種々の変更、追加等が可能である。例えば、上記実施の形態では、複数ビットデータとして４値データを例にとって説明したが、本発明はこれに限定されるものでないことはいうまでもなく、８値、１６値のようなＮ値(Ｎ は１以上の整数)においても適用可能であることはいうまでもない。
【０１０２】
また、図１９〜図２２に示すように、上記実施の形態において説明した反復回数比較回路１２、尤度加算回路１３、尤度比較・カウント回路１４の出力を、ＣＰＵ１６に入力させ、ＣＰＵ１６からの命令に従ってリフレッシュ動作を制御するようにしてもよい。
【０１０３】
また、図２３に示すように、誤り訂正回路１１から出力される繰り返し回数をＣＰＵ１６に入力させ、ＣＰＵ１６でこの繰り返し回数を判定することにより、リフレッシュ動作を制御することも可能である。また、上記の実施の形態では、反復回数比較回路１２、尤度加算回路１３、尤度比較・カウント回路１４のいずれかを用いる例を説明したが、これらを複合的に設けてリフレッシュ動作を制御するようにすることも可能である。
【図面の簡単な説明】
【０１０４】
【図１】４値記憶のフラッシュメモリにおける書き込みデータの例を示す。
【図２】４値記憶のフラッシュメモリにおけるデータ書き込み手順を示す概念図である。
【図３】４値記憶のフラッシュメモリにおけるデータ書き込み手順を示す概念図である。
【図４】本発明の第１の実施の形態によるＮＡＮＤセル型フラッシュメモリを含む不揮発性半導体記憶装置の概略構成を示す構成図である。
【図５】図４に示すメモリセルアレイ１及びセンスアンプ回路３の構成を示す回路図である。
【図６】図５のメモリセルＭＣの断面図である。
【図７】図５の選択ゲートＳ１、Ｓ２の断面図である。
【図８】メモリセルアレイの１つのＮＡＮＤセルを示す断面図である。
【図９】図５に示すに示すデータ記憶回路３Ａの一構成例を示す回路図である。
【図１０】４値データを構成する下位ページデータの書き込みの手順を示すフローチャートである。
【図１１】４値データを構成する上位ページデータの書き込みの手順を示すフローチャートである。
【図１２】４値データの下位ページデータの読出しの手順を示すフローチャートである。
【図１３】４値データの上位ページデータの読出しの手順を示すフローチャートである。
【図１４】下位ページデータＬｏｗｅｒ、上位ページデータＵｐｐｅｒの関係を示す概念図である。
【図１５】軟値データの具体的な生成手順を説明する。
【図１６】本発明の第２の実施の形態によるＮＡＮＤセル型フラッシュメモリを含む不揮発性半導体記憶装置の概略構成を示す構成図である。
【図１７】本発明の第３の実施の形態によるＮＡＮＤセル型フラッシュメモリを含む不揮発性半導体記憶装置の概略構成を示す構成図である。
【図１８】本発明の第４の実施の形態によるＮＡＮＤセル型フラッシュメモリを含む不揮発性半導体記憶装置の概略構成を示す構成図である。
【図１９】本発明の実施の形態の変形例に係る、ＮＡＮＤセル型フラッシュメモリを含む不揮発性半導体記憶装置の概略構成を示す構成図である。
【図２０】本発明の実施の形態の変形例に係る、ＮＡＮＤセル型フラッシュメモリを含む不揮発性半導体記憶装置の概略構成を示す構成図である。
【図２１】本発明の実施の形態の変形例に係る、ＮＡＮＤセル型フラッシュメモリを含む不揮発性半導体記憶装置の概略構成を示す構成図である。
【図２２】本発明の実施の形態の変形例に係る、ＮＡＮＤセル型フラッシュメモリを含む不揮発性半導体記憶装置の概略構成を示す構成図である。
【図２３】本発明の実施の形態の変形例に係る、ＮＡＮＤセル型フラッシュメモリを含む不揮発性半導体記憶装置の概略構成を示す構成図である。
【符号の説明】
【０１０５】
１・・・メモリセルアレイ、  ２・・・ワード線制御回路、  ３・・・センスアンプ回路、  ４・・・カラムデコーダ、  ５・・・データ入出力バッファ、  ６・・・入出力制御回路、  ７・・・制御信号発生回路、  ８・・・アドレスデコーダ、  ９・・・リードバッファ、  ３Ａ、３Ｂ・・・データ記憶回路、  １０・・・尤度計算回路、  １１・・・誤り訂正回路、  １２・・・反復回数比較回路、  １３・・・       尤度加算回路、  １４・・・尤度比較・カウント回路、  １５・・・軟値比較・カウント回路、  １６・・・ＣＰＵ。
【図１】
2008059679.tif 000003
【図２】
2008059679.tif 000004
【図３】
2008059679.tif 000005
【図４】
2008059679.tif 000006
【図５】
2008059679.tif 000007
【図６】
2008059679.tif 000008
【図７】
2008059679.tif 000009
【図８】
2008059679.tif 000010
【図９】
2008059679.tif 000011
【図１０】
2008059679.tif 000012
【図１１】
2008059679.tif 000013
【図１２】
2008059679.tif 000014
【図１３】
2008059679.tif 000015
【図１４】
2008059679.tif 000016
【図１５】
2008059679.tif 000017
【図１６】
2008059679.tif 000018
【図１７】
2008059679.tif 000019
【図１８】
2008059679.tif 000020
【図１９】
2008059679.tif 000021
【図２０】
2008059679.tif 000022
【図２１】
2008059679.tif 000023
【図２２】
2008059679.tif 000024
【図２３】
2008059679.tif 000025