(57)【要約】【課題】不揮発性半導体記憶装置の誤り訂正能力を高める。【解決手段】不揮発性半導体記憶装置は、閾値電圧の差により情報を記憶することが可能なメモリセルを複数配列させたメモリセルアレイと、メモリセルより読み出された閾値電圧の値より、記憶したデータビットの尤度値を求めるための複数の尤度計算アルゴリズムを有する尤度計算手段と、尤度計算手段により得られた尤度値を用いて反復処理により誤り訂正を行う誤り訂正手段と、誤り訂正手段より得られる反復処理による反復回数の所定の値を基準に、尤度計算手段における尤度計算アルゴリズムを変更するための尤度計算制御手段を備えている。【選択図】図５
2008108356.tif 000002
【特許請求の範囲】
【請求項１】
閾値電圧の差により情報を記憶することが可能なメモリセルを複数配列させたメモリセルアレイと、
前記メモリセルより読み出された閾値電圧の値より、記憶したデータビットの尤度値を求めるための複数の尤度計算アルゴリズムを有する尤度計算手段と、
前記尤度計算手段により得られた尤度値を用いて反復処理により誤り訂正を行う誤り訂正手段と、
前記誤り訂正手段より得られる前記反復処理による反復回数の所定の値を基準に、前記尤度計算手段における尤度計算アルゴリズムを変更するための尤度計算制御手段と、
を備えたことを特徴とする不揮発性半導体記憶装置。
【請求項２】
閾値電圧の差により情報を記憶することが可能なメモリセルを複数配列させたメモリセルアレイと、
前記メモリセルより読み出された閾値電圧の値より、記憶したデータビットの尤度値を求めるための複数の尤度計算アルゴリズムを有する尤度計算手段と、
前記尤度計算手段により得られた尤度値を用いて反復処理により誤り訂正を行う誤り訂正手段と、
前記誤り訂正手段おける誤り訂正数の所定の値を基準に、前記尤度計算手段における尤度計算アルゴリズムを変更するための尤度計算制御手段と、
を備えたことを特徴とする不揮発性半導体記憶装置。
【請求項３】
前記尤度計算制御手段において、前記誤り訂正手段より得られる前記反復処理による反復回数が所定の値以上となる場合、或いは、前記誤り訂正手段における誤り訂正数が所定の値以上となる場合には、前記メモリセルより読み出されたデータを、前記データを読み出されたアドレスとは異なるアドレスのメモリセルに書き込むことを特徴とする請求項１または２に記載の不揮発性半導体記憶装置。
【請求項４】
閾値電圧の差により情報を記憶することが可能なメモリセルを複数配列させたメモリセルアレイと、
前記メモリセルより読み出された閾値電圧の値より、記憶したデータビットの尤度値を求めるための複数の尤度計算アルゴリズムを有する尤度計算手段と、
前記尤度計算手段により得られた尤度値を用いて反復処理により誤り訂正を行う誤り訂正手段と、
前記メモリセルアレイにおけるアドレスごとの書換回数を計測し記憶をさせる書換制御手段と、
前記書換制御手段に記憶された書換回数の所定の値を基準に、前記尤度計算手段における尤度計算アルゴリズムを変更するための尤度計算制御手段と、
を備えたことを特徴とする不揮発性半導体記憶装置。
【請求項５】
閾値電圧の差により情報を記憶することが可能なメモリセルを複数配列させたメモリセルアレイと、
前記メモリセルより読み出された閾値電圧の値より、記憶したデータビットの尤度値を求めるための複数の尤度計算アルゴリズムを有する尤度計算手段と、
前記尤度計算手段により得られた尤度値を用いて反復処理により誤り訂正を行う誤り訂正手段と、
前記メモリセルアレイにおけるアドレスごとの尤度計算アルゴリズムが指定されているメモリセル情報記録手段と、
前記読み出されたメモリセルのアドレス情報に基づき、前記情報記録手段に記録された情報より、尤度計算アルゴリズムを設定するための尤度計算制御手段と、
を備えたことを特徴とする不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体記憶装置に関するものであり、特に、フラッシュメモリにおいて、記憶されている情報を読み出す際の誤りが低い不揮発性半導体記憶装置に関するものである。
【背景技術】
【０００２】
不揮発性半導体記憶装置の一つとして、ＮＡＮＤセル型フラッシュメモリが知られている。このＮＡＮＤセル型フラッシュメモリは、複数のＮＡＮＤセルユニットから構成されているメモリセルアレイを有している。このＮＡＮＤセルユニットは、直列接続される複数のメモリセルと、その両端に接続される２つの選択トランジスタにより構成されている。メモリセルは消去状態においては、閾値電圧が負となる「１」データを保持しており、データの書き込み時においては、フローティングゲートに電子が注入され、閾値電圧が正となる「０」データに書き換えられる。ＮＡＮＤセル型フラッシュメモリでは、データの書き込み時においては、閾値電圧を低い方から高い方へ移動させることのみ可能であり、逆の移動（閾値電圧の高い方から低い方）は、ブロック単位での消去動作によってのみ行うことができる。
【０００３】
一般にＮＡＮＤセル型フラッシュメモリは、メモリセルを構成する酸化膜などがメモリセルごとにばらつくため、書き込み時の閾値電圧に分布が生じている。このため、読み出しの際に誤った情報が読み出されないように、閾値分布が重ならないように、各々の閾値電圧のレベルが設定されている。しかしながら、ＮＡＮＤセル型フラッシュメモリでは、経時変化によるフローティングゲートからの電荷漏れや、メモリセルにおいて書き込みや消去を繰り返し行うことにより酸化膜の劣化により、閾値分布が変化し広がり、誤った情報の読み出しが生じてしまう。
【０００４】
特許文献１では、この問題に対処するため読み出しエラー、即ち、情報を誤って読み出した際には、読み出しの閾値電圧のレベルを変更して、再度読み出しを行う方法が開示されている。
【特許文献１】米国特許第５６５７３３２号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、メモリセルに記憶されているデータの状態により得られた情報等に基づき、適切な誤り訂正を行うことにより、情報の修復率を向上させ、正確な情報を得ることができる不揮発性半導体記憶装置を提供するものである。
【課題を解決するための手段】
【０００６】
本発明の一の態様に係る不揮発性半導体記憶装置は、閾値電圧の差により情報を記憶することが可能なメモリセルを複数配列させたメモリセルアレイと、前記メモリセルより読み出された閾値電圧の値より、記憶したデータビットの尤度値を求めるための複数の尤度計算アルゴリズムを有する尤度計算手段と、前記尤度計算手段により得られた尤度値を用いて反復処理により誤り訂正を行う誤り訂正手段と、前記誤り訂正手段より得られる前記反復処理による反復回数の所定の値を基準に、前記尤度計算手段における尤度計算アルゴリズムを変更するための尤度計算制御手段と、を備えたことを特徴とする。
【０００７】
また、本発明の一の態様に係る不揮発性半導体記憶装置は、閾値電圧の差により情報を記憶することが可能なメモリセルを複数配列させたメモリセルアレイと、前記メモリセルより読み出された閾値電圧の値より、記憶したデータビットの尤度値を求めるための複数の尤度計算アルゴリズムを有する尤度計算手段と、前記尤度計算手段により得られた尤度値を用いて反復処理により誤り訂正を行う誤り訂正手段と、前記誤り訂正手段おける誤り訂正数の所定の値を基準に、前記尤度計算手段における尤度計算アルゴリズムを変更するための尤度計算制御手段と、を備えたことを特徴とする。
【０００８】
また、本発明の一の態様に係る不揮発性半導体記憶装置は、閾値電圧の差により情報を記憶することが可能なメモリセルを複数配列させたメモリセルアレイと、前記メモリセルより読み出された閾値電圧の値より、記憶したデータビットの尤度値を求めるための複数の尤度計算アルゴリズムを有する尤度計算手段と、前記尤度計算手段により得られた尤度値を用いて反復処理により誤り訂正を行う誤り訂正手段と、前記メモリセルアレイにおけるアドレスごとの書換回数を計測し記憶をさせる書換制御手段と、前記書換制御手段に記憶された書換回数の所定の値を基準に、前記尤度計算手段における尤度計算アルゴリズムを変更するための尤度計算制御手段と、を備えたことを特徴とする。
【０００９】
また、本発明の一の態様に係る不揮発性半導体記憶装置は、閾値電圧の差により情報を記憶することが可能なメモリセルを複数配列させたメモリセルアレイと、前記メモリセルより読み出された閾値電圧の値より、記憶したデータビットの尤度値を求めるための複数の尤度計算アルゴリズムを有する尤度計算手段と、前記尤度計算手段により得られた尤度値を用いて反復処理により誤り訂正を行う誤り訂正手段と、前記メモリセルアレイにおけるアドレスごとの尤度計算アルゴリズムが指定されているメモリセル情報記録手段と、前記読み出されたメモリセルのアドレス情報に基づき、前記情報記録手段に記録された情報より、尤度計算アルゴリズムを設定するための尤度計算制御手段と、を備えたことを特徴とする。
【発明の効果】
【００１０】
本発明では、メモリセルに記憶されている情報について、誤り訂正を行った場合の反復復号回数、修復された誤り回数、メモリセルへの書き込み回数、メモリセルにおけるアドレスを基準として、尤度計算アルゴリズムを選択することにより、情報の修復率を向上させ、正確な情報を得ることができる不揮発性半導体記憶装置を得ることができる。
【発明を実施するための最良の形態】
【００１１】
〔本発明に至る経緯〕
本発明の実施の形態に係るＮＡＮＤセル型フラッシュメモリにおけるメモリセルＭＣ、ならびに選択ゲートＳ１及びＳ２の断面を図１及び図２に示す。基板４１にはメモリセルＭＣを構成するＭＯＳＦＥＴのソース、ドレインとなるｎ型拡散層４２が形成されている。また基板４１の上にはゲート絶縁膜４３を介して浮遊ゲート（ＦＧ）４４が形成され、この浮遊ゲート４４の上には絶縁膜４５を介して制御ゲート（ＣＧ）４６が形成されている。
【００１２】
選択ゲートＳ１、Ｓ２は、基板４１と、この基板４１に形成されたソース、ドレインとしてのｎ型拡散層４７を備えている。基板４１の上にはゲート絶縁膜４８を介して制御ゲート４９が形成されている。
【００１３】
図３に、本発明の実施の形態に係るメモリセルアレイの１つのＮＡＮＤセルの断面を示す。１つのＮＡＮＤセルは、図１に示す構成の１６個のメモリセルＭＣが直列接続されており、ＮＡＮＤセルのドレイン側、ソース側には、図２に示す構成の第１の選択ゲートＳ１、第２の選択ゲートＳ２が設けられた構造からなるものである。
【００１４】
このような、ＮＡＮＤセルからなるＮＡＮＤセル型フラッシュメモリについては、軟判定情報を用いた反復復号処理により強力な誤り訂正を行う方式として、ＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）符号やターボ符号が存在している。
【００１５】
これらの誤り訂正の方式をＮＡＮＤセル型フラッシュメモリへ適用する場合、硬判定時よりも細かい閾値レベルをメモリセルから取得して、記憶されているページデータ毎の尤度値を計算する必要がある。即ち、複数の異なる閾値電圧により読み出しを行い尤度値の計算する必要がある。尚、尤度値とは、各ビット情報の尤もらしさ表す値であり、本発明では対数尤度比とも呼ばれるデータ「０」の確率とデータ「１」の確率の比の対数をとった値をあらわす。
【００１６】
尤度値の計算はメモリセルから読み出された閾値電圧値からの確率計算になるため、閾値電圧の確率分布である閾値電圧分布に強く依存する。よって、ゲート酸化膜の劣化等による経時変化により閾値分布が変化した場合、読み出し閾値電圧レベルを変更しても正確に尤度値を計算することができず、誤り訂正は正しく行われない。
【００１７】
具体的には、図４（ａ）に示すように、データの閾値電圧分布が、「０」ではＡ０、「１」ではＡ１となっている場合においては、読み出し閾値電圧Ｖｔ１、Ｖｔ２により読み出しを行うことにより、データが「０」の確率が３０〔％〕、データが「１」の確率が０〔％〕の尤度値をもつメモリセルを判定することができる。
【００１８】
しかしながら、図４（ｂ）に示すように、酸化膜の劣化等の経時変化によりデータの閾値電圧分布が、「０」ではＢ０、「１」ではＢ１となった場合では、閾値電圧分布Ｂ０とＢ１とが重複している領域が存在しており、読み出し閾値電圧Ｖｔ３、Ｖｔ４により読み出しを行っても、データが「０」の確率が３０〔％〕、データが「１」の確率が３０〔％〕となり、正しく尤度値を得ることができないのである。
【００１９】
本発明は、このようにＮＡＮＤセル型フラッシュメモリにおける酸化膜の劣化等による経時変化により閾値電圧分布が変化すること、閾値電圧分布が変化することにより正確に尤度値を計算することができず、誤り訂正を十分行うことができなくなるという発明者の得た知見に基づくものである。
【００２０】
〔第１の実施の形態〕
本発明における一実施の形態を以下に記載する。
【００２１】
図５は、本実施の形態における不揮発性半導体記憶装置であるＮＡＮＤセル型フラッシュメモリの構成図である。
【００２２】
本実施の形態におけるＮＡＮＤセル型フラッシュメモリは、メモリ部１と、メモリ部１を制御するコントロール部２により構成されている。
【００２３】
メモリ部１は、データ入出力バッファ１６、コマンド入力バッファ１７、アドレスバッファ１８、ロウデコーダ１９、ワード線制御回路２０、カラムデコーダ２１、ビット線制御回路２２、メモリセルアレイ２３により構成されている。
【００２４】
メモリセルアレイ２３は、データを記憶するメモリセルをマトリックス状に配列させたものである。即ち、メモリセルアレイ２３は、複数のビット線と複数のワード線と共通ソース線を含んでおり、ビット線とワード線の交点に電気的にデータの書き換えが可能なメモリセルがマトリックス状に配列されている。メモリセルには、入力されたデータであるデータと、このデータについて一定のビット数のデータビットごとに付加される誤り訂正のためのパリティデータ（冗長データ）からなるフレームデータが記憶される。
【００２５】
このメモリセルアレイ２３には、ワード線電圧を制御するためのワード線制御回路２０、及びビット線制御回路２２が接続されている。ワード線制御回路２０は、ロウデコーダ１９によりデコードされたアドレス信号に従い、ワード線を選択しワード線電圧を制御する。ロウデコーダ１９には、アドレスバッファ１８を介しコントロール部２における制御回路１２より信号が入力する。
【００２６】
ビット線制御回路２２は、ビット線を介してメモリセルアレイ２３のメモリセルにおけるデータに基づく信号を検知・増幅する機能に加え、読み出しデータや書き込みデータを保持するデータラッチ機能を有するセンスアンプ兼データラッチ回路である。
【００２７】
ビット線制御回路２２は、カラムデコーダ２１、データ入出力バッファ１６及びコマンド入出力バッファ１７に接続されている。ビット線制御回路２２は、カラムデコーダ２１によりデコードされたアドレス信号に従い、ビット線を選択する機能を有している。
【００２８】
データ入出力バッファ１６は、ビット線制御回路２２に対する入出力データを一時的に保持する機能を有しており、データ入出力バッファ１６を介し、データがコントロール部２に出力される。また、データ入出力バッファ１６は、メモリセルアレイ２３に書き込まれるデータやメモリセルアレイ２３から読み出されるデータを一時的に保持する機能も有している。
【００２９】
コマンド入出力バッファ１７は、コントロール部２における制御回路１２からメモリ部１に伝達するコマンドを一時的に保持する機能を有している。また、アドレスバッファ１８は、コントロール部２の制御回路１２からのアドレス信号を一時的に保持する機能を有している。
【００３０】
コントロール部２は、入出力端子１１、制御回路１２、誤り訂正手段であるＥＣＣ回路１３、リードバッファ２４、尤度計算手段である尤度計算回路２５、尤度計算制御手段である尤度計算制御回路２６により構成されている。
【００３１】
入出力端子１１より外部からのデータシーケンスの入出力が行われる。また、制御回路１２は、入出力端子１１からの入力されたデータシーケンスに基づき、情報の書き込み及び読み取りの制御を行う。
【００３２】
本実施の形態においては、ＥＣＣ回路１３は、反復復号回数カウンタ２７が含まれ構成されている。反復復号回数カウンタ２７は、誤り訂正における反復復号の際における反復復号回数を計測する機能を有している。
【００３３】
本実施の形態では、誤り訂正における反復復号する際の反復復号回数の値を基準に、尤度計算アルゴリズムを変更するものである。即ち、信号を復号する際の反復復号回数の値が増加するに従い、その尤度計算アルゴリズムにより得られた尤度値では、誤りの生じる可能性が高くなることに基づくものであり、このような場合には尤度計算アルゴリズムの変更を行う。このため、ＥＣＣ回路１３内に、反復復号回数カウンタ２７を設け、反復復号の際の反復復号回数をカウントするのである。
【００３４】
リードバッファ２４は、データ入出力バッファ１６を介し、メモリ部１より出力されたデータを一時的に保持する機能を有している。
【００３５】
尤度計算回路２５は、リードバッファ２４に一時的に保持されたデータに基づき、多値記憶されたメモリセルのビット数分の尤度を計算する機能を有している。本実施の形態において、尤度計算回路２５には、複数の尤度計算アルゴリズムが設けられており、それぞれの尤度計算アルゴリズムは、尤度値計算の際に用いる閾値電圧分布が異なる。なお、読み出しの際には、この中の一つの尤度計算アルゴリズムが選択され使用されるが、メモリセルの閾値電圧分布に合致した閾値分布を基に尤度値を計算する尤度計算アルゴリズムを用いることにより、尤度値を正確に計算することができる。
【００３６】
また、ＥＣＣ回路１３は、選択された尤度計算アルゴリズムより求めた尤度値に基づき誤り訂正が行われる。ＥＣＣ回路１３のＥＣＣアルゴリズムは、例えば、ＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）符号、ターボ符号、ＲＡ（Ｒｅｐｅａｔ  Ａｃｃｕｍｕｌａｔｅ）符号等の反復復号信号処理により復号を行うＥＣＣアルゴリズムが用いられる。
【００３７】
本実施の形態においては、２値メモリについて説明したが、本実施の形態は、２値に限定されるものではなく、２のべき乗の値となる多値記憶に適用可能である。
【００３８】
〔書き込み方法〕
次に、本実施の形態における不揮発性半導体記憶装置のデータの書き込み方法について説明する。
【００３９】
データの書き込みは、入出力端子１１が外部から書き込みシーケンスを受け取り、制御回路１２に伝達する。書き込みシーケンスには、制御回路１２への命令、書き込みアドレス及び書き込む１ページ分のビットデータにより構成されている。制御回路１２において、書き込みシーケンスに基づき書き込みコマンド、書き込みアドレス、書き込みデータを生成し、それぞれコマンド入出力バッファ１７、アドレスバッファ１８、ＥＣＣ回路１３に出力する。書き込みデータは、ＥＣＣ回路１３のパリティデータ付加回路（不図示）において、一定のビット数のデータビットごとに対応して、誤り訂正のためのパリティデータが生成され付加され、フレームデータ（ＥＣＣフレーム）が形成される。この後、このフレームデータは、データ入出力バッファ１６へ伝達され、ビット線制御回路２２を介し、メモリセルアレイ２３における書き込みアドレスに対応する領域のメモリセルにデータが書き込まれる。
【００４０】
尚、コマンド入出力バッファ１７に伝達された書き込みコマンドは、アドレスバッファ１８、ワード線制御回路２０及びビット線制御回路２２に伝達され、アドレスバッファ１８に伝達された書き込みアドレスは、ロウデコーダ１９を介しワード線制御回路２０に伝達されるとともに、カラムデコーダ２１を介しビット線制御回路２２に伝達され、メモリセルアレイ２３におけるデータを書き込むための制御を行う。
【００４１】
〔読み出し方法〕
データの読み出しは、読み出しシーケンスが入出力端子１１を介し入力されることにより行われる。入出力端子１１より入力した読み出しシーケンスは、制御回路１２に伝達される。制御回路１２では、読み出しシーケンスより、読み出しコマンド及び読み出しアドレスを生成し、読み出しコマンドはコマンド入出力バッファ１７に伝達され、読み出しアドレスは、アドレスバッファ１８に伝達される。コマンド入出力バッファ１７及びアドレスバッファ１８より、ワード線制御回路２０及びビット線制御回路２２による制御により、メモリセルアレイ２３における読み出しアドレスが指定するアドレスのメモリセルからデータが読み出され、ビット線制御回路２２に伝達される。ビット線制御回路２２に伝達された読み出されたデータは、データ入出力バッファ１６を介し、リードバッファ２４に伝達される。リードバッファ２４に伝達され蓄積された閾値レベルデータは、メモリセル単位で尤度計算回路２５に伝達され、各々のサブページの尤度値が計算される。この後、誤り訂正の単位となるＥＣＣフレーム分の尤度値が順次ＥＣＣ回路１３に伝達され、誤り訂正がなされた後、制御回路１２を介し入出力端子１１より外部へと出力される。
【００４２】
尚、１つのメモリセルに２ビット以上のデータを記憶することが可能な多値メモリの場合では、読み出した閾値電圧レベルの分解能は、２ｎ以上（ｎはビット数）が必要である。具体的には、多値記憶において、１つのメモリセルで２ビットの情報を記憶することが可能な４値メモリの場合では、４つの状態の閾値電圧レベル以上の分解能が必要である。
【００４３】
次に、図６に基づき本実施の形態における読み出しの流れについて説明する。
【００４４】
図６に示す流れは、読み出されたフレームデータを尤度計算回路２５において尤度値の値を計算し、計算された尤度値をＥＣＣ回路１３に入力することにより開始する。尚、初期の段階の尤度計算回路２５においては、酸化膜等の劣化のない初期の状態のメモリセルの閾値電圧分布を基に尤度値を計算する尤度計算アルゴリズムが選択され用いられる。
【００４５】
最初に、ステップ１０２（Ｓ１０２）において誤り訂正が行われる。この際、併せて誤り訂正処理における反復復号回数ＨがＥＣＣ回路１３内に設けられた反復復号回数カウンタ２７によりカウントされる。
【００４６】
次に、ステップ１０４（Ｓ１０４）において、反復復号回数カウンタ２７によりカウントされた反復復号回数Ｈが基準回数Ｈ１よりも小さいか否かの判断がなされる。具体的には、反復復号回数カウンタ２７によりカウントされた反復復号回数Ｈの値は、尤度計算制御回路２６に伝達され、尤度計算制御回路２６において判断がなされる。
【００４７】
ステップ１０４において、伝達された反復復号回数Ｈの値が、基準回数Ｈ１よりも小さいと判断された場合には、この流れは終了し誤り訂正のなされたデータが制御回路２を介し、入出力端子１より出力される。
【００４８】
一方、ステップ１０４において、伝達された反復復号回数Ｈの値が、基準回数Ｈ１以上であると判断された場合には、ステップ１０６（Ｓ１０６）に移行する。尚、この基準回数Ｈ１は、事前に実験等を行うことにより設定された値である。ＬＤＰＣ符号等の軟判定復号を行うアルゴリズムでは、リードエラーの発生が多ければ多いほど、復号に用いる尤度値が不正確であればあるほど、反復復号回数が増加する傾向にあることは、発明者らの経験より得られている。従って、所定の尤度計算アルゴリズムにより求めた尤度値における反復復号回数を基準として、複数の尤度計算アルゴリズムの中から、使用する尤度計算アルゴリズムを選択することにより、誤り訂正における復号率を向上させることができるのである。この選択の基準として、誤りが発生する確率が高くなる反復復号回数である基準回数Ｈ１により判断するのである。
【００４９】
尚、前述したように、当初は初期状態のメモリセルに適した尤度計算アルゴリズムが選択され尤度値の計算が行われる。
【００５０】
ステップ１０６（Ｓ１０６）では、尤度計算アルゴリズムの変更が行われる。具体的には、尤度計算制御回路２６において、尤度計算に用いる閾値分布が異なる尤度計算アルゴリズムが選択され、尤度計算回路２５において、変更後の尤度計算アルゴリズムにより尤度計算を行うための命令が伝達される。
【００５１】
次に、ステップ１０８（Ｓ１０８）において、尤度計算回路２５において、変更された後の尤度計算アルゴリズムにより、再度ＥＣＣフレームについて尤度値の計算が行われ、計算された尤度値がＥＣＣ回路１３に入力される。
【００５２】
この後、変更後の尤度計算アルゴリズムにより計算された尤度値に基づき、ＥＣＣ回路１３内において誤り訂正が行われる。この際、誤り訂正処理における反復復号回数ＨがＥＣＣ回路１３内に設けられた反復復号回数カウンタ２７によりカウントされる。
【００５３】
次に、ステップ１１０（Ｓ１１０）において、反復復号回数カウンタ２７によりカウントされた反復復号回数Ｈが基準回数Ｈ１よりも小さいか否かの判断がなされる。具体的には、反復復号回数カウンタ２７によりカウントされた反復復号回数Ｈの値は、尤度計算制御回路２６に伝達される。
【００５４】
ステップ１１０において、伝達された反復復号回数Ｈの値が、基準回数Ｈ１よりも小さいと判断された場合には、ステップ１１２（Ｓ１１２）に移行する。
【００５５】
ステップ１１２（Ｓ１１２）では、尤度計算回路２５において、変更後のアルゴリズムをこの後用いるための情報が記憶され、この流れは終了する。
【００５６】
一方、ステップ１１０において、伝達された反復復号回数Ｈの値が、基準回数Ｈ１以上であると判断された場合には、ステップ１１４（Ｓ１１４）に移行する。
【００５７】
ステップ１１４（Ｓ１１４）では、尤度計算回路２５において、今まで使用したことのない未試行の他の尤度計算アルゴリズムが存在しているか否かが判断される。
【００５８】
ステップ１１４において、尤度計算回路２５には他の尤度計算アルゴリズムがあると判断された場合には、ステップ１０６に移行する。ステップ１０６では、再度異なる尤度計算アルゴリズムに変更される。
【００５９】
一方、ステップ１１４において、他の尤度計算アルゴリズムはないと判断された場合には、ステップ１１６（Ｓ１１６）に移行する。
【００６０】
ステップ１１６（Ｓ１１６）では、このフレームデータが読み出されたアドレスのページデータについて、リフレッシュ動作が行われる。リフレッシュ動作とは、メモリセルアレイ２３より読み出したアドレスに記憶されているページデータを他のアドレスにコピー等することにより、正しい閾値電圧レベルに書き込む動作を意味する。尚、消去単位であるメモリセルブロック内において、各ページデータの閾値電圧分布の相関性が高い場合にはブロック単位で行ってもよい。
【００６１】
ステップ１１６においてリフレッシュ動作が行われた後は、この流れは終了する。
【００６２】
以上のように、本実施の形態では誤り訂正における反復復号回数を基準に、メモリセルの閾値分布に合致した閾値分布を基に尤度値を計算する尤度計算アルゴリズムを選択し、尤度値の計算を行うことにより、最も信頼性の高い尤度値を得ることができ、誤り訂正能力を向上させることができる。
【００６３】
〔第２の実施の形態〕
第２の実施の形態は、尤度計算アルゴリズムの選択を行う場合において、誤り訂正を行う際の誤り訂正数を基準に選定するものである。このため、図７に示すように、第１の実施の形態においてＥＣＣ回路１３内に設けた反復復号カウンタ２７に代えて誤り訂正数カウンタ２８が設けられている。
【００６４】
図７は、本実施の形態における不揮発性半導体記憶装置であるＮＡＮＤセル型フラッシュメモリの構成図である。
【００６５】
本実施の形態におけるＮＡＮＤセル型フラッシュメモリは、メモリ部１と、メモリ部１を制御するコントロール部２により構成されている。
【００６６】
メモリ部１は、データ入出力バッファ１６、コマンド入力バッファ１７、アドレスバッファ１８、ロウデコーダ１９、ワード線制御回路２０、カラムデコーダ２１、ビット線制御回路２２、メモリセルアレイ２３により構成されている。
【００６７】
コントロール部２は、入出力端子１１、制御回路１２、誤り訂正手段であるＥＣＣ回路１３、リードバッファ２４、尤度計算手段である尤度計算回路２５、尤度計算制御手段である尤度計算制御回路２６により構成されている。各々の機能は、第１の実施の形態と同様である。
【００６８】
本実施の形態では、前述したようにＥＣＣ回路１３には、誤り訂正カウンタ２８が含まれ構成されている。誤り訂正カウンタ２８は、誤り訂正において訂正したビット数を計測する機能を有している。
【００６９】
本実施の形態では、ＥＣＣ回路１３における誤り訂正の行われたビット数（誤り訂正数）の値を基準に、尤度計算アルゴリズムを変更するものである。即ち、データの誤りが増加する原因は、メモリセルの閾値電圧分布が初期の状態の閾値分布から変化したためであり、誤り訂正数の値が増加するに従い、初期の状態の尤度計算アルゴリズムでは、正しい尤度値が求められなくなる。このため、このような場合には尤度計算アルゴリズムの変更を行う必要がある。よって、ＥＣＣ回路１３内に、誤り訂正数カウンタ２８を設け、ＥＣＣ回路１３において誤り訂正されたビット数をカウントするのである。
【００７０】
データの書き込み方法等は、第１の実施の形態と同様である。
【００７１】
次に、図８に基づき本実施の形態における読み出しの流れについて説明する。
【００７２】
図８に示す流れは、読み出されたフレームデータを尤度計算回路２５において尤度値の値を計算し、計算された尤度値をＥＣＣ回路１３に入力することにより開始する。尚、この場合の尤度計算回路２５においては、酸化膜等の劣化のない初期の状態のメモリセルから読み出された情報について誤り訂正を行うのに適した尤度計算アルゴリズムが選択され用いられる。
【００７３】
最初に、ステップ２０２（Ｓ２０２）において誤り訂正が行われる。この際、併せて誤り訂正処理により訂正されたビット数ＴがＥＣＣ回路１３内に設けられた誤り訂正数カウンタ２８によりカウントされる。
【００７４】
次に、ステップ２０４（Ｓ２０４）において、誤り訂正数カウンタ２８によりカウントされた誤り訂正数Ｔが基準値Ｔ１よりも小さいか否かの判断がなされる。具体的には、誤り訂正数カウンタ２８によりカウントされた誤り訂正数Ｔの値は、尤度計算制御回路２６に伝達され、尤度計算制御回路２６において判断がなされる。
【００７５】
ステップ２０４において、伝達された誤り訂正数Ｔの値が、基準値Ｔ１よりも小さいと判断された場合には、この流れは終了し誤り訂正のなされたデータが制御回路２を介し、入出力端子１より出力される。
【００７６】
一方、ステップ２０４において、伝達された誤り訂正数Ｔの値が、基準値Ｔ１以上であると判断された場合には、ステップ２０６（Ｓ２０６）に移行する。尚、この基準値Ｔ１は、事前に実験等を行うことにより設定された値である。閾値電圧分布が初期の状態のメモリセルの閾値電圧分布から変化すればするほど、誤り訂正を行うビットの数が増加する傾向にあることは、発明者らの経験より得られている。従って、所定の尤度計算アルゴリズムにより求めた尤度値における誤り訂正数を基準として、複数の尤度計算アルゴリズムの中から、使用する尤度計算アルゴリズムを選択することにより、変化後の閾値電圧分布に合致した正しい尤度を求めることができ、誤り訂正における復号率を向上させることができるのである。この選択の基準として、誤りが発生する確率が高くなる誤り訂正数である基準値Ｔ１により判断するのである。
【００７７】
尚、前述したように、当初は初期状態に適した尤度計算アルゴリズムが選択され尤度値の計算が行われる。
【００７８】
ステップ２０６（Ｓ２０６）では、尤度計算アルゴリズムの変更が行われる。具体的には、尤度計算制御回路２６において、先の尤度計算アルゴリズムとは異なる尤度計算アルゴリズムが選択され、尤度計算回路２５において、変更後の尤度計算アルゴリズムにより尤度計算を行うための命令が伝達される。
【００７９】
次に、ステップ２０８（Ｓ２０８）において、尤度計算回路２５において、変更された後の尤度計算アルゴリズムにより、再度ＥＣＣフレームについて尤度値の計算が行われ、計算された尤度値がＥＣＣ回路１３に入力される。
【００８０】
この後、変更後の尤度計算アルゴリズムにより計算された尤度値に基づき、ＥＣＣ回路１３内において誤り訂正が行われる。この際、誤り訂正により訂正されたビット数である誤り訂正数ＴがＥＣＣ回路１３内に設けられた誤り訂正数カウンタ２８によりカウントされる。
【００８１】
次に、ステップ２１０（Ｓ２１０）において、誤り訂正数カウンタ２８によりカウントされた誤り訂正数Ｔが基準値Ｔ１よりも小さいか否かの判断がなされる。具体的には、誤り訂正数カウンタ２８によりカウントされた誤り訂正数Ｔの値は、尤度計算制御回路２６に伝達される。
【００８２】
ステップ２１０において、伝達された誤り訂正数Ｔの値が、基準値Ｔ１よりも小さいと判断された場合には、ステップ２１２（Ｓ２１２）に移行する。
【００８３】
ステップ２１２（Ｓ２１２）では、尤度計算回路２５において、変更後のアルゴリズムをこの後用いるための情報が記憶され、この流れは終了する。
【００８４】
一方、ステップ２１０において、伝達された誤り訂正数Ｔの値が、基準値Ｔ１以上であると判断された場合には、ステップ２１４（Ｓ２１４）に移行する。
【００８５】
ステップ２１４（Ｓ２１４）では、尤度計算回路２５において、今まで使用したことのない未試行の他の尤度計算アルゴリズムが存在しているか否かが判断される。
【００８６】
ステップ２１４において、尤度計算回路２５には他の尤度計算アルゴリズムがあると判断された場合には、ステップ２０６に移行する。ステップ２０６では、再度異なる尤度計算アルゴリズムに変更される。
【００８７】
一方、ステップ２１４において、他の尤度計算アルゴリズムはないと判断された場合には、ステップ２１６（Ｓ２１６）に移行する。
【００８８】
ステップ２１６（Ｓ２１６）では、このフレームデータが読み出されたアドレスのページデータについて、リフレッシュ動作が行われる。リフレッシュ動作とは、メモリセルアレイ２３より読み出したアドレスに記憶されているページデータを他のアドレスにコピー等することにより、正しい閾値電圧レベルに書き込む動作を意味する。尚、消去単位であるメモリセルブロック内において、各ページデータの閾値電圧分布の相関性が高い場合にはブロック単位で行ってもよい。
【００８９】
ステップ２１６においてリフレッシュ動作が行われた後は、この流れは終了する。
【００９０】
以上のように、本実施の形態では誤り訂正における誤り訂正数を基準に、メモリセルの閾値分布に合致した閾値分布を基に尤度値を計算する尤度計算アルゴリズムを選択し、尤度値の計算を行うことにより、最も信頼性の高い尤度値を得ることができ、誤り訂正能力を向上させることができる。
【００９１】
〔第３の実施の形態〕
第３の実施の形態は、尤度計算アルゴリズムの選択を行う場合において、メモリセルにおける書換回数を基準に選定するものである。このため、図９に示すように、書換制御回路２９が設けられている。
【００９２】
図９は、本実施の形態における不揮発性半導体記憶装置であるＮＡＮＤセル型フラッシュメモリの構成図である。
【００９３】
本実施の形態におけるＮＡＮＤセル型フラッシュメモリは、メモリ部１と、メモリ部１を制御するコントロール部２により構成されている。
【００９４】
メモリ部１は、データ入出力バッファ１６、コマンド入力バッファ１７、アドレスバッファ１８、ロウデコーダ１９、ワード線制御回路２０、カラムデコーダ２１、ビット線制御回路２２、メモリセルアレイ２３により構成されている。
【００９５】
コントロール部２は、入出力端子１１、制御回路１２、誤り訂正手段であるＥＣＣ回路１３、リードバッファ２４、尤度計算手段である尤度計算回路２５、尤度計算制御手段である尤度計算制御回路２６、書換制御手段である書換制御回路２９により構成されている。
【００９６】
書換制御回路２９は、メモリセルアレイ２３の各々のアドレスにおけるメモリセルの書換回数をメモリセルアレイ２３に書き込み、又は読み出して、尤度計算制御回路２６に、読み出されたアドレスの書換回数を伝達する機能を有している。尚、メモリセルアレイ２３には、メモリセルにおける書換回数を記憶する書換回数記憶領域３１が形成されており、書換制御回路２９と接続されている。この書換回数記憶領域３１では、書換が行われる度に書き換えられたメモリセルのアドレスの書換回数が更新され記憶される。
【００９７】
他の各々の機能は、第１の実施の形態と同様である。
【００９８】
本実施の形態では、読み出されたメモリセルにおける書換回数を基準に、尤度計算アルゴリズムを変更するものである。即ち、メモリセルにおける書換回数が増加するに従い、その尤度計算アルゴリズムにより得られた尤度値では、誤りの生じる可能性が高くなるという発明者の知見に基づくものであり、このような場合には尤度計算アルゴリズムの変更を行う。このため、メモリセルアレイ２３における書換が行われるたびに、各々のアドレスにおけるメモリセルの書換回数が書換制御手段２９においてカウントされ、メモリセルアレイ２３の所定の領域に記憶される。
【００９９】
データの書き込み方法等は、第１の実施の形態と同様である。
【０１００】
次に、図１０に基づき本実施の形態における読み出しの流れについて説明する。
【０１０１】
図１０に示す流れは、メモリセルアレイ２３よりデータが読み出された直後から開始する。読み出されたフレームデータは、リードバッファ２５に一時的に蓄えられる。
【０１０２】
最初に、ステップ３０２（Ｓ３０２）において、メモリセルアレイ２３より読み出されたアドレスのメモリセルにおける書換回数Ｋが読み出される。
【０１０３】
具体的には、メモリセルアレイ２３に形成された書換回数記憶領域３１より、読み出されたアドレスのメモリセルにおける書換回数Ｋが、書換制御回路２９に伝達され、その後、尤度計算制御回路２６へと伝達される。
【０１０４】
次に、ステップ３０４（Ｓ３０４）において、読み出されたアドレスのメモリセルにおける書換回数Ｋが基準値Ｋ１よりも小さいか否かの判断が、尤度計算制御回路２６において行われる。
【０１０５】
ステップ３０４において、書換回数Ｋの値が、基準値Ｋ１よりも小さいと判断された場合には、ステップ３０６（Ｓ３０６）に移行する。
【０１０６】
ステップ３０６（Ｓ３０６）では、尤度計算回路２５おいて初期設定されている尤度計算アルゴリズムにより尤度値の計算が行われた後、ＥＣＣ回路１３において誤り訂正が行われ、制御回路１２を介し入出力端子１１より出力される。
【０１０７】
一方、ステップ３０４において、書換回数Ｋの値が、基準値Ｋ１以上であると判断された場合には、ステップ３０８（Ｓ３０８）に移行する。尚、この基準値Ｋ１は、事前に実験等を行うことにより設定された値である。ＮＡＮＤセル型フラッシュメモリでは、書換回数が多ければ多いほど、閾値電圧分布が変化してしまうため、リードエラーの発生が増加する傾向にあることは、発明者らの経験より得られている。従って、読み出されたメモリセルにおける書換回数を基準として、複数の尤度計算アルゴリズムの中から、使用する尤度計算アルゴリズムを選択することにより、誤り訂正における復号率を向上させることができるのである。これより、誤りが発生する確率が高くなる書換回数の基準値Ｋ１を基準として判断するのである。
【０１０８】
ステップ３０８（Ｓ３０８）では、尤度計算アルゴリズムの変更が行われる。具体的には、尤度計算制御回路２６において、先の尤度計算アルゴリズムとは異なる尤度計算アルゴリズムが選択され、尤度計算回路２５において、変更後の尤度計算アルゴリズムにより尤度計算を行うための命令が伝達される。
【０１０９】
次に、ステップ３１０（Ｓ３１０）において、尤度計算回路２５において、変更された後の尤度計算アルゴリズムにより、再度ＥＣＣフレームについて尤度値の計算が行われ、計算された尤度値がＥＣＣ回路１３に入力される。
【０１１０】
この後、変更後の尤度計算アルゴリズムにより計算された尤度値に基づき、ＥＣＣ回路１３内において誤り訂正が行われる。
【０１１１】
この後、ステップ３１２（Ｓ３１２）において、尤度計算回路２５において、変更後のアルゴリズムをこの後用いるための情報が記憶され、この流れは終了する。
【０１１２】
以上のように、本実施の形態では読み出されたメモリセルにおける書換回数を基準に、メモリセルの閾値分布に合致した閾値分布を基に尤度値を計算する尤度計算アルゴリズムを選択し、尤度値の計算を行うことにより、最も信頼性の高い尤度値を得ることができ、誤り訂正能力を向上させることができる。
【０１１３】
尚、本実施の形態では、書換回数を基準に尤度計算アルゴリズムの選定を行ったが、消去においても酸化膜の劣化は進行するため、書換回数と消去回数の合わせた値をカウントして、尤度計算アルゴリズムの選定を行ってもよい。また、書き込み後の経過時間によっても閾値電圧分布は変化するため、書換回数とともに書換後の経過時間をカウントして、尤度計算アルゴリズムの選定を行ってもよい。
【０１１４】
〔第４の実施の形態〕
第４の実施の形態は、尤度計算アルゴリズムの選択を行う場合において、メモリセルのアドレスを基準に選定するものである。
【０１１５】
図１１は、本実施の形態における不揮発性半導体記憶装置であるＮＡＮＤセル型フラッシュメモリの構成図である。
【０１１６】
本実施の形態におけるＮＡＮＤセル型フラッシュメモリは、メモリ部１と、メモリ部１を制御するコントロール部２により構成されている。
【０１１７】
メモリ部１は、データ入出力バッファ１６、コマンド入力バッファ１７、アドレスバッファ１８、ロウデコーダ１９、ワード線制御回路２０、カラムデコーダ２１、ビット線制御回路２２、メモリセルアレイ２３により構成されている。
【０１１８】
コントロール部２は、入出力端子１１、制御回路１２、誤り訂正手段であるＥＣＣ回路１３、リードバッファ２４、尤度計算手段である尤度計算回路２５、尤度計算制御手段である尤度計算制御回路２６、メモリセル情報記録手段である分布情報記憶手段３０により構成されている。
【０１１９】
分布情報記憶手段３０には、メモリセルアレイ２３におけるメモリセルのアドレスごとの特性があらかじめ記憶されている。ＮＡＮＤセル型フラッシュメモリ等においては、露光ムラや製造ムラ等により、同じメモリセルアレイ２３内であっても、メモリセルの特性が異なる場合が多い。このため、あらかじめメモリセルアレイ２３における各々のメモリセルの特性を計測し、この情報を分布情報記憶手段３０に記録させておき、この分布情報記憶手段３０における情報をもとに、尤度計算アルゴリズムを選択するものである。
【０１２０】
データの書き込み方法等は、第１の実施の形態と同様である。
【０１２１】
次に、図１２に基づき本実施の形態における読み出しの流れについて説明する。
【０１２２】
図１２に示す流れは、メモリセルアレイ２３よりデータが読み出された直後から開始する。読み出されたフレームデータは、リードバッファ２４に一時的に蓄えられる。
【０１２３】
最初に、ステップ４０２（Ｓ４０２）においてメモリセルアレイ２３より読み出されたアドレスのメモリセルにおける情報が読み出される。具体的には、読み出されたメモリセルのアドレスにおける情報を分布情報記憶手段３０より読み出し、尤度計算制御回路２６へと伝達する。
【０１２４】
次に、ステップ４０４（Ｓ４０４）において、読み出したアドレスにおける情報をもとに、当初に設定した尤度計算アルゴリズムを変更する必要があるか否かが、尤度計算制御回路２６において判断する。
【０１２５】
ステップ４０４において、当初に設定した尤度計算アルゴリズムを変更する必要がないと判断された場合には、ステップ４０６（Ｓ４０６）に移行する。
【０１２６】
ステップ４０６（Ｓ４０６）では、尤度計算回路２５おいて初期設定されている尤度計算アルゴリズムにより尤度値の計算が行われた後、ＥＣＣ回路１３において誤り訂正が行われ、制御回路１２を介し入出力端子１１より出力される。
【０１２７】
一方、ステップ４０４において、当初に設定した尤度計算アルゴリズムを変更する必要があると判断された場合には、ステップ４０８（Ｓ４０８）に移行する。
【０１２８】
ステップ４０８（Ｓ４０８）では、尤度計算アルゴリズムの変更が行われる。具体的には、尤度計算制御回路２６において、先の尤度計算アルゴリズムとは異なる尤度計算アルゴリズムが選択され、尤度計算回路２５において、変更後の尤度計算アルゴリズムにより尤度計算を行うための命令が伝達される。
【０１２９】
次に、ステップ４１０（Ｓ４１０）において、尤度計算回路２５において、変更された後の尤度計算アルゴリズムにより、再度ＥＣＣフレームについて尤度値の計算が行われ、計算された尤度値がＥＣＣ回路１３に入力される。
【０１３０】
この後、変更後の尤度計算アルゴリズムにより計算された尤度値に基づき、ＥＣＣ回路１３内において誤り訂正が行われ、この流れは終了する。
【０１３１】
以上のように、本実施の形態では読み出されたメモリセルにおける製造等のムラを基準に、メモリセルの閾値分布に合致した閾値分布を基に尤度値を計算する尤度計算アルゴリズムを選択し、尤度値の計算を行うことにより、最も信頼性の高い尤度値を得ることができ、誤り訂正能力を向上させることができる。
【０１３２】
なお、本発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要件を変形して具体化できる。また、上記実施の形態に開示されている複数の構成要件の適宜な組み合わせにより。種々の発明が形成可能である。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要件を適宜追加し組み合わせてもよい。
【図面の簡単な説明】
【０１３３】
【図１】本発明の一実施の形態におけるメモリセルＭＣの断面図
【図２】本実施の形態における選択ゲートＳ１、Ｓ２の断面図
【図３】本実施の形態におけるメモリセルアレイの１のＮＡＮＤセルの断面図
【図４】ＮＡＮＤセル型フラッシュメモリにおける閾値電圧分布の特性図
【図５】第１の実施の形態における不揮発性半導体記憶装置の構成図
【図６】第１の実施の形態の不揮発性半導体記憶装置の動作のフローチャート
【図７】第２の実施の形態における不揮発性半導体記憶装置の構成図
【図８】第２の実施の形態の不揮発性半導体記憶装置の動作のフローチャート
【図９】第３の実施の形態における不揮発性半導体記憶装置の構成図
【図１０】第３の実施の形態の不揮発性半導体記憶装置の動作のフローチャート
【図１１】第４の実施の形態における不揮発性半導体記憶装置の構成図
【図１２】第４の実施の形態の不揮発性半導体記憶装置の動作のフローチャート
【符号の説明】
【０１３４】
１・・・コントロール部、２・・・メモリ部、１１・・・入出力端子、１２・・・制御回路、１３・・・ＥＣＣ回路、１４・・・スイッチ、１５・・・フレーム変換回路、１６・・・データ入出力バッファ、１７・・・コマンド入力バッファ、１８・・・アドレスバッファ、１９・・・ロウデコーダ、２０・・・ワード線制御回路、２１・・・カラムデコーダ、２２・・・ビット線制御回路、２３・・・メモリセルアレイ、２４・・・リードバッファ、２５・・・尤度計算回路、２６・・・尤度計算制御回路、２７・・・反復復号回数カウンタ
【図１】
2008108356.tif 000003
【図２】
2008108356.tif 000004
【図３】
2008108356.tif 000005
【図４】
2008108356.tif 000006
【図５】
2008108356.tif 000007
【図６】
2008108356.tif 000008
【図７】
2008108356.tif 000009
【図８】
2008108356.tif 000010
【図９】
2008108356.tif 000011
【図１０】
2008108356.tif 000012
【図１１】
2008108356.tif 000013
【図１２】
2008108356.tif 000014