(57)【要約】  性能要因調整に基づくメモリ・デバイスの軟データ生成の方法および装置を提供する。少なくとも１つの軟データ値が、少なくとも１つの読取値を入手することと、入手された少なくとも１つの読取値とメモリ・デバイスの１つまたは複数の性能要因に基づく調整とに基づいて軟データ値を生成することとによって、メモリ・デバイスについて生成される。読取値は、たとえば、データ・ビット、電圧レベル、電流レベル、または抵抗レベルを含むことができる。読取値は、軟データまたは硬データである。可能な性能要因は、耐久性、読取サイクルの個数、保持時間、温度、プロセス・コーナー、セル間干渉影響、メモリ・アレイ内の位置、およびアグレッサ・セルのパターンを含む。１つまたは複数のパターン依存性能要因および／または位置固有性能要因を考慮することもできる。生成される軟データ値は、１つまたは複数の対数尤度比を生成するのに使用される軟読取値とすることができ、あるいは、対数尤度比自体とすることができる。
2012504820.tif 000002
【特許請求の範囲】
【請求項１】
メモリ・デバイスの少なくとも１つの軟データ値を生成する方法であって、
少なくとも１つの読取値を入手するステップと、
前記入手された少なくとも１つの読取値と前記メモリ・デバイスの１つまたは複数の性能要因に基づく調整とに基づいて前記軟データ値を生成するステップと
を含む方法。
【請求項２】
前記調整は、前記入手された少なくとも１つの読取値に基づく公称値を調整し、前記調整は、前記メモリ・デバイスの１つまたは複数の性能要因に基づくオフセット値を含む、請求項１に記載の方法。
【請求項３】
前記性能要因は、耐久性、プログラム／消去サイクルの個数、読取サイクルの個数、保持時間、温度、温度変化、プロセス・コーナー、セル間干渉影響、メモリ・アレイ内の位置、前記読取値がそこから入手されるワード線の位置、前記読取値がそこから入手されるページの位置、前記読取値がそこから読み取られるワード線内のページの位置、およびアグレッサ・セルのパターンのうちの１つまたは複数を含む、請求項２に記載の方法。
【請求項４】
前記調整は、セル内の異なるビット、ワード線内の異なるページ、異なるビット線、および異なる硬読取データ値のうちの１つまたは複数に関する別々の性能要因に基づく、請求項２に記載の方法。
【請求項５】
前記読取値は、データ・ビット、電圧レベル、電流レベル、および抵抗レベルのうちの１つまたは複数を含む、請求項１に記載の方法。
【請求項６】
前記読取値は、軟データおよび硬データのうちの１つまたは複数を含む、請求項１に記載の方法。
【請求項７】
前記軟データ値は、（ｉ）１つまたは複数の対数尤度比を生成するのに使用される軟読取値および（ｉｉ）１つまたは複数の対数尤度比のうちの１つまたは複数を含む、請求項１に記載の方法。
【請求項８】
前記軟データ値は、前記少なくとも１つの読取値の信頼性を示す、請求項１に記載の方法。
【請求項９】
前記ステップのうちの１つまたは複数は、コントローラ、読取チャネル、信号処理ユニット、およびデコーダのうちの１つまたは複数によって実施される、請求項１に記載の方法。
【請求項１０】
前記調整は、前もって入手され、メモリに格納される、請求項１に記載の方法。
【請求項１１】
前記調整を測定するステップをさらに含む、請求項１に記載の方法。
【請求項１２】
前記性能要因は、１つまたは複数のパターン依存性能要因を含む、請求項１に記載の方法。
【請求項１３】
前記性能要因は、１つまたは複数の位置固有性能要因を含む、請求項１に記載の方法。
【請求項１４】
前記メモリ・デバイスは、フラッシュ・メモリ・デバイスである、請求項１に記載の方法。
【請求項１５】
前記調整は、前記読取値の信頼性値を減らす、請求項１に記載の方法。
【請求項１６】
前記調整は、前記公称値の信頼性値を前記オフセット値と等しい量だけ減らす、請求項２に記載の方法。
【請求項１７】
メモリ・デバイスの少なくとも１つの軟データ値を生成するシステムであって、
メモリと、
前記メモリに結合され、
少なくとも１つの読取値を入手し、
前記入手された少なくとも１つの読取値と前記メモリ・デバイスの１つまたは複数の性能要因に基づく調整とに基づいて前記軟データ値を生成する
ように動作可能な少なくとも１つのプロセッサと
を含むシステム。
【請求項１８】
前記調整は、前記入手された少なくとも１つの読取値に基づく公称値を調整し、前記調整は、前記メモリ・デバイスの１つまたは複数の性能要因に基づくオフセット値を含む、請求項１７に記載のシステム。
【請求項１９】
前記性能要因は、耐久性、プログラム／消去サイクルの個数、読取サイクルの個数、保持時間、温度、温度変化、プロセス・コーナー、セル間干渉影響、メモリ・アレイ内の位置、前記読取値がそこから入手されるワード線の位置、前記読取値がそこから入手されるページの位置、前記読取値がそこから読み取られるワード線内のページの位置、およびアグレッサ・セルのパターンのうちの１つまたは複数を含む、請求項１８に記載のシステム。
【請求項２０】
前記軟データ値は、（ｉ）１つまたは複数の対数尤度比を生成するのに使用される軟読取値および（ｉｉ）１つまたは複数の対数尤度比のうちの１つまたは複数を含む、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、それぞれ参照によって本明細書に組み込まれている、２００８年９月３０日に出願した米国仮出願第６１／１９４，７５１号および２００９年６月３０日に出願した国際出願第ＰＣＴ／ＵＳ０９／４９３３３号、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｏｆｔ  Ｄｅｍａｐｐｉｎｇ  ａｎｄ  Ｉｎｔｅｒｃｅｌｌ  Ｉｎｔｅｒｆｅｒｅｎｃｅ  Ｍｉｔｉｇａｔｉｏｎ  ｉｎ  Ｆｌａｓｈ  Ｍｅｍｏｒｉｅｓ」の優先権を主張するものである。
【０００２】
本願は、それぞれ本願と同時に出願され、参照によって本明細書に組み込まれている、国際出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｏｆｔ  Ｄａｔａ  Ｇｅｎｅｒａｔｉｏｎ  ｆｏｒ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅｓ」、国際出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｏｆｔ  Ｄａｔａ  Ｇｅｎｅｒａｔｉｏｎ  ｆｏｒ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅｓ  Ｕｓｉｎｇ  Ｒｅｆｅｒｅｎｃｅ  Ｃｅｌｌｓ」、および国際出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｏｆｔ  Ｄａｔａ  Ｇｅｎｅｒａｔｉｏｎ  ｆｏｒ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅｓ  Ｕｓｉｎｇ  Ｄｅｃｏｄｅｒ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｆｅｅｄｂａｃｋ」に関連する。
【０００３】
本発明は、全般的にはフラッシュ・メモリ・デバイスに関し、より具体的には、検出および復号性能を改善する性能要因調整に基づく軟データ生成の改善された技法に関する。
【背景技術】
【０００４】
フラッシュ・メモリ・デバイスなどの複数のメモリ・デバイスは、データを格納するのにアナログ・メモリ・セルを使用する。各メモリ・セルは、電荷または電圧など、ストレージ・バリュー（ｓｔｏｒａｇｅ  ｖａｌｕｅ）とも称するアナログ値を格納する。ストレージ・バリューは、セルに格納された情報を表す。たとえば、フラッシュ・メモリ・デバイスでは、各アナログ・メモリ・セルは、通常はある電圧を格納する。各セルの可能なアナログ値の範囲は、通常はしきい領域に分割され、各領域は、１つまたは複数のデータ・ビット値に対応する。データは、所望の１つまたは複数のビットに対応する公称アナログ値を書き込むことによってアナログ・メモリ・セルに書き込まれる。
【０００５】
たとえば、シングルレベル・セル（ＳＬＣ）フラッシュ・メモリ・デバイスは、メモリ・セルあたり１ビット（すなわち、２つの可能なメモリ状態）を格納する。その一方で、マルチレベル・セル（ＭＬＣ）フラッシュ・メモリ・デバイスは、メモリ・セルあたり複数のビットを格納する（すなわち、各セルが、４つ以上のプログラム可能な状態を有する）。ＭＬＣフラッシュ・メモリ・デバイスのより詳細な議論については、たとえば、参照によって本明細書に組み込まれている、２００９年３月１１日に出願した国際出願第ＰＣＴ／ＵＳ０９／３６８１０号、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｔｏｒｉｎｇ  Ｄａｔａ  ｉｎ  ａ  Ｍｕｌｔｉ−Ｌｅｖｅｌ  Ｃｅｌｌ  Ｆｌａｓｈ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅ  ｗｉｔｈ  Ｃｒｏｓｓ−Ｐａｇｅ  Ｓｅｃｔｏｒｓ，  Ｍｕｌｔｉ−Ｐａｇｅ  Ｃｏｄｉｎｇ  Ａｎｄ  Ｐｅｒ−Ｐａｇｅ  Ｃｏｄｉｎｇ」を参照されたい。
【０００６】
メモリ・セルに格納されたアナログ値は、しばしば、ひずむ。ひずみは、通常、たとえばバック・パターン依存（ＢＰＤ）、雑音、およびセル間干渉（ＩＣＩ）に起因する。フラッシュ・メモリ・デバイスでのひずみのより詳細な議論については、たとえば、それぞれ参照によって本明細書に組み込まれている、Ｊ．Ｄ．Ｌｅｅ他、「Ｅｆｆｅｃｔｓ  ｏｆ  Ｆｌｏａｔｉｎｇ−Ｇａｔｅ  Ｉｎｔｅｒｆｅｒｅｎｃｅ  ｏｎ  ＮＡＮＤ  Ｆｌａｓｈ  Ｍｅｍｏｒｙ  Ｃｅｌｌ  Ｏｐｅｒａｔｉｏｎ」、ＩＥＥＥ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｌｅｔｔｅｒｓ、２６４〜２６６頁（２００２年５月）、またはＫｉ−Ｔａｅ  Ｐａｒｋ他、「Ａ  Ｚｅｒｏｉｎｇ  Ｃｅｌｌ−ｔｏ−Ｃｅｌｌ  Ｉｎｔｅｒｆｅｒｅｎｃｅ  Ｐａｇｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｗｉｔｈ  Ｔｅｍｐｏｒａｒｙ  ＬＳＢ  Ｓｔｏｒｉｎｇ  ａｎｄ  Ｐａｒａｌｌｅｌ  ＭＳＢ  Ｐｒｏｇｒａｍ  Ｓｃｈｅｍｅ  ｆｏｒ  ＭＬＣ  ＮＡＮＤ  Ｆｌａｓｈ  Ｍｅｍｏｒｉｅｓ」、ＩＥＥＥ  Ｊ．ｏｆ  Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ、Ｖｏｌ．４３、Ｎｏ．４、９１９〜９２８頁（２００８年４月）を参照されたい。
【０００７】
複数の技法が、ＩＣＩおよび他の外乱の影響を軽減するために提案されまたは提唱されてきた。たとえば、Ｋｉ−Ｔａｅ  Ｐａｒｋ他は、ＩＣＩを軽減する、偶数／奇数プログラミング（ｅｖｅｎ／ｏｄｄ  ｐｒｏｇｒａｍｍｉｎｇ）、ボトム・アップ・プログラミング（ｂｏｔｔｏｍ  ｕｐ  ｐｒｏｇｒａｍｍｉｎｇ）、およびマルチステージ・プログラミング（ｍｕｌｔｉ−ｓｔａｇｅ  ｐｒｏｇｒａｍｍｉｎｇ）などの既存のプログラミング技法を説明している。さらに、２００９年６月３０日に出願された国際出願第ＰＣＴ／ＵＳ０９／４９３３３号、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｏｆｔ  Ｄｅｍａｐｐｉｎｇ  ａｎｄ  Ｉｎｔｅｒｃｅｌｌ  Ｉｎｔｅｒｆｅｒｅｎｃｅ  Ｍｉｔｉｇａｔｉｏｎ  ｉｎ  Ｆｌａｓｈ  Ｍｅｍｏｒｉｅｓ」は、フラッシュ・メモリでの軟デマッピングおよび外乱軽減の方法および装置を開示している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国仮出願第６１／１９４，７５１号
【特許文献２】国際出願第ＰＣＴ／ＵＳ０９／４９３３３号
【特許文献３】国際出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｏｆｔ  Ｄａｔａ  Ｇｅｎｅｒａｔｉｏｎ  ｆｏｒ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅｓ  」
【特許文献４】国際出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｏｆｔ  Ｄａｔａ  Ｇｅｎｅｒａｔｉｏｎ  ｆｏｒ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅｓ  Ｕｓｉｎｇ  Ｒｅｆｅｒｅｎｃｅ  Ｃｅｌｌｓ」
【特許文献５】国際出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｏｆｔ  Ｄａｔａ  Ｇｅｎｅｒａｔｉｏｎ  ｆｏｒ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅｓ  Ｕｓｉｎｇ  Ｄｅｃｏｄｅｒ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｆｅｅｄｂａｃｋ」
【特許文献６】国際出願第ＰＣＴ／ＵＳ０９／３６８１０号
【特許文献７】米国特許第６，５２２，５８０号
【特許文献８】国際出願第ＰＣＴ／ＵＳ０９／４９３２６号
【特許文献９】国際出願第ＰＣＴ／ＵＳ０９／４９３２７号
【特許文献１０】国際出願第ＰＣＴ／ＵＳ０９／４９３２８号
【特許文献１１】国際出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｏｆｔ  Ｄａｔａ  Ｇｅｎｅｒａｔｉｏｎ  ｉｎ  Ｆｌａｓｈ  Ｍｅｍｏｒｉｅｓ」
【非特許文献】
【０００９】
【非特許文献１】Ｊ．Ｄ．Ｌｅｅ他、「Ｅｆｆｅｃｔｓ  ｏｆ  Ｆｌｏａｔｉｎｇ−Ｇａｔｅ  Ｉｎｔｅｒｆｅｒｅｎｃｅ  ｏｎ  ＮＡＮＤ  Ｆｌａｓｈ  Ｍｅｍｏｒｙ  Ｃｅｌｌ  Ｏｐｅｒａｔｉｏｎ」、ＩＥＥＥ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｌｅｔｔｅｒｓ、２６４〜２６６頁（２００２年５月）
【非特許文献２】Ｋｉ−Ｔａｅ  Ｐａｒｋ他、「Ａ  Ｚｅｒｏｉｎｇ  Ｃｅｌｌ−ｔｏ−Ｃｅｌｌ  Ｉｎｔｅｒｆｅｒｅｎｃｅ  Ｐａｇｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｗｉｔｈ  Ｔｅｍｐｏｒａｒｙ  ＬＳＢ  Ｓｔｏｒｉｎｇ  ａｎｄ  Ｐａｒａｌｌｅｌ  ＭＳＢ  Ｐｒｏｇｒａｍ  Ｓｃｈｅｍｅ  ｆｏｒ  ＭＬＣ  ＮＡＮＤ  Ｆｌａｓｈ  Ｍｅｍｏｒｉｅｓ」、ＩＥＥＥ  Ｊ．ｏｆ  Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ、Ｖｏｌ．４３、Ｎｏ．４、９１９〜９２８頁（２００８年４月）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
これらの既存の方法は、フラッシュ・メモリの復号性能を改善するのを助けたが、複数の制約をこうむり、この制約は、克服されたならば、フラッシュ・メモリの信頼性をさらに改善することができる。たとえば、現在のフラッシュ・メモリは、通常、復号のためにフラッシュ制御システムに硬データ（ｈａｒｄ  ｄａｔａ）のみを供給する。しかし、軟データが、復号プロセスの誤り率性能を改善できることが周知である。したがって、フラッシュ・メモリからの硬データを使用して軟データを推定するかその質を高め、これによって復号性能を改善する、軟データ生成技法の必要が存在する。
【課題を解決するための手段】
【００１１】
一般に、性能要因調整に基づくメモリ・デバイスの軟データ生成の方法および装置を提供する。本発明の一態様によれば、メモリ・デバイスの少なくとも１つの軟データ値が、少なくとも１つの読取値を入手することと、入手された少なくとも１つの読取値とメモリ・デバイスの１つまたは複数の性能要因に基づく調整とに基づいて軟データ値を生成することとによって生成される。読取値は、軟データおよび／または硬データとすることができ、データ・ビット、電圧レベル、電流レベル、または抵抗レベル（あるいはその組合せ）を含むことができる。生成される軟データ値は、たとえば、（ｉ）１つまたは複数の対数尤度比を生成するのに使用される軟読取値または（ｉｉ）１つまたは複数の対数尤度比を含むことができる。
【００１２】
１つの例示的実施形態では、調整は、入手された少なくとも１つの読取値に基づく公称値を調整し、調整は、メモリ・デバイスの１つまたは複数の性能要因に基づくオフセット値を含む。
【００１３】
性能要因は、たとえば、耐久性、プログラム／消去サイクルの個数、読取サイクルの個数、保持時間、温度、温度変化、プロセス・コーナー、セル間干渉影響、メモリ・アレイ内の位置、読取値がそこから入手されるワード線の位置、読取値がそこから入手されるページの位置、読取値がそこから読み取られるワード線内のページの位置、およびアグレッサ・セルのパターンのうちの１つまたは複数を含むことができる。１つまたは複数の性能要因を、セル内の１つまたは複数の異なるビット、ワード線内の異なるページ、異なるビット線、または異なる硬読取データ値について変更することができる。
【００１４】
本発明ならびに本発明のさらなる特徴および利益のより完全な理解は、次の詳細な説明および図面を参照することによって得られる。
【図面の簡単な説明】
【００１５】
【図１】従来のフラッシュ・メモリ・システムを示す概略ブロック図である。
【図２】図１の例示的なフラッシュ・メモリの例示的なしきい電圧分布を示す図である。
【図３】マルチレベル・セル（ＭＬＣ）フラッシュ・メモリ・デバイス内の例示的なフラッシュ・セル・アレイのアーキテクチャを示す図である。
【図４】図２の電圧割当て方式の例示的な２ステージＭＬＣプログラミング方式を示す図である。
【図５Ａ】隣接セルに加えられるＩＣＩを減らす代替ＭＬＣプログラミング方式を集合的に示す図である。
【図５Ｂ】隣接セルに加えられるＩＣＩを減らす代替ＭＬＣプログラミング方式を集合的に示す図である。
【図６】マルチレベル・セル（ＭＬＣ）フラッシュ・メモリ・デバイス内の例示的なフラッシュ・セル・アレイをさらに詳細に示す図である。
【図７】セル間干渉、バック・パターン依存、雑音、および他のひずみなどの複数の例示的なアグレッサ・セルに起因するターゲット・セルについて存在する外乱を示す図である。
【図８】本発明によるコントローラ・ベースの軟データ生成技法を組み込まれた例示的なフラッシュ・メモリ・システムを示す概略ブロック図である。
【図９】本発明の代替実施形態によるメモリ・ベースの軟データ生成技法を組み込まれた例示的なフラッシュ・メモリ・システムを示す概略ブロック図である。
【図１０】本発明による軟データ生成を用いる例示的なフラッシュ・メモリ・システムを示す図である。
【図１１】本発明の特徴を組み込まれた例示的な軟データ生成プロセスを説明する流れ図である。
【図１２】本発明の特徴を組み込まれた軟データ生成プロセスの例示的な代替実施態様を説明する流れ図である。
【図１３】本発明の特徴を組み込まれた例示的な硬データ−軟データ・マッピング・データベースからのサンプル・テーブルを示す図である。
【発明を実施するための形態】
【００１６】
本発明のさまざまな態様は、シングルレベル・セルまたはマルチレベル・セル（ＭＬＣ）ＮＡＮＤフラッシュ・メモリ・デバイスなどのメモリ・デバイスでの改善された復号のための軟データ生成技法を対象とする。本明細書で使用されるときに、マルチレベル・セル・フラッシュ・メモリは、各メモリ・セルが複数のビットを格納するメモリを含む。通常、１つのフラッシュ・セルに格納される複数のビットは、異なるページに属する。本発明は、本明細書ではアナログ値を電圧として格納するメモリ・セルを使用して例示されるが、当業者に明白であるように、本発明を、格納されたデータを表すのに電圧、電流または抵抗を使用することなど、メモリ・デバイスの任意のストレージ機構と共に使用することができる。
【００１７】
図１は、従来のフラッシュ・メモリ・システム１００の概略ブロック図である。図１に示されているように、例示的なフラッシュ・メモリ・システム１００は、フラッシュ制御システム１１０およびフラッシュ・メモリ・ブロック１６０を含む。例示的なフラッシュ制御システム１１０は、フラッシュ・コントローラ１２０、エンコーダ／デコーダ・ブロック１４０、および１つまたは複数のバッファ１４５を含む。代替実施形態では、エンコーダ／デコーダ・ブロック１４０およびいくつかのバッファ１４５を、フラッシュ・コントローラ１２０の内部で実施することができる。エンコーダ／デコーダ・ブロック１４０およびバッファ１４５を、たとえば、周知の市販の技法および／または製品を使用して実施することができる。
【００１８】
例示的なフラッシュ・メモリ・ブロック１６０は、それぞれ周知の市販の技法および／または製品を使用して実施できる、メモリ・アレイ１７０および１つまたは複数のバッファ１８０を含む。メモリ・アレイ１７０は、ＮＡＮＤフラッシュ・メモリ、相変化メモリ（ＰＣＭ）、ＭＲＡＭメモリ、ＮＯＲフラッシュ・メモリ、または別の不揮発性フラッシュ・メモリなど、シングルレベル・セルまたはマルチレベル・セルのフラッシュ・メモリとして実施することができる。本発明を、主にマルチレベル・セルＮＡＮＤフラッシュ・メモリの文脈で例示するが、当業者に明白であるように、本発明を、シングルレベル・セル・フラッシュ・メモリおよび他の不揮発性メモリに適用することができる。
【００１９】
マルチレベル・セル・フラッシュ・メモリ
マルチレベル・セルＮＡＮＤフラッシュ・メモリでは、しきい値検出器が、通常、特定のセルに関連する電圧値を事前定義のメモリ状態に変換するのに使用される。図２に、参照によって本明細書に組み込まれている米国特許第６，５２２，５８０号の教示に基づく、図１の例示的なマルチレベル・セル・フラッシュ・メモリ１７０の例示的なしきい電圧分布を示す。一般に、セルのしきい電圧は、そのセルがある量の電流を導通するようにするためにそのセルに印加される必要がある電圧である。しきい電圧は、セルに格納されるデータに関する測定値である。
【００２０】
図２に示された例示的な実施形態では、各記憶素子は、各メモリ・セル内に２ビットのデータを格納するために４つの可能なデータ状態を使用する。図２は、４つのピーク２１０〜２１３を示し、各ピークは１つの状態に対応する。マルチレベル・セル・フラッシュ・デバイスでは、しきい電圧分布グラフ２００の異なるピーク２１０〜２１３が、セルに２ビットを格納するのに使用される。
【００２１】
しきい電圧分布グラフ２００のピーク２１０〜２１３は、対応する２進値を用いてラベルを付けられている。したがって、あるセルが第１状態２１０であるときに、そのセルは、下側ビット（最下位ビット、ＬＳＢとも称する）について「１」を、上側ビット（最上位ビット、ＭＳＢとも称する）について「１」を表す。状態２１０は、一般に、セルの初期未プログラム状態または消去状態である。同様に、あるセルが、第２状態２１１であるときに、そのセルは、下側ビットについて「０」、上側ビットについて「１」を表す。あるセルが第３状態２１２であるときに、そのセルは、下側ビットについて「０」、上側ビットについて「０」を表す。最後に、あるセルが第４状態２１３であるときに、そのセルは、下側ビットについて「１」、上側ビットについて「０」を表す。
【００２２】
しきい電圧分布２１０は、０ボルト未満の負のしきい電圧レベルを有する、消去状態（「１１」データ状態）であるアレイ内のセルのしきい電圧Ｖｔの分布を表す。それぞれ「１０」および「００」のユーザ・データを格納するメモリ・セルのしきい電圧分布２１１および２１２が、それぞれ０ボルトと１ボルトとの間ならびに１ボルトと２ボルトとの間にあるものとして示されている。しきい電圧分布２１３は、読取経路電圧の２ボルトと４．５ボルトとの間にセットされたしきい電圧レベルを有する、「０１」データ状態になるようにプログラムされたセルの分布を示す。
【００２３】
したがって、図２の例示的実施形態では、０ボルト、１ボルト、および２ボルトを、各レベルまたは各状態の間の電圧レベルしきい値として使用することができる。これらの電圧レベルしきい値は、フラッシュ・メモリ１６０（たとえば、フラッシュ・メモリ１６０内のセンシング回路）によって、所与のセルの電圧レベルまたは状態を判定するのに使用される。フラッシュ・メモリ１６０は、電圧レベルしきい値に対する測定電圧の比較に基づいて各セルに１つまたは複数のビットを割り当て、この割当ては、その後、硬判定としてフラッシュ制御システム１１０に送られる。それに加えてまたはその代わりに、軟情報（ｓｏｆｔ  ｉｎｆｏｒｍａｔｉｏｎ）を使用する実施態様では、フラッシュ・メモリ１６０は、測定電圧または測定電圧の量子化版を軟情報としてフラッシュ制御システム１１０に送ることができ、ここでは、メモリ・セルに格納されたビット数より多数のビットが、測定電圧を表すのに使用される。
【００２４】
さらに、セルが、通常は周知のプログラム／検証技法を使用してプログラムされることに留意されたい。一般に、プログラム／検証サイクル中には、フラッシュ・メモリ１６０は、最小ターゲットしきい電圧を超えるまで、セル・トランジスタ内に電荷をたくわえるために増加する電圧を徐々に印加する。たとえば、図２の例で「１０」データ状態をプログラムする時に、フラッシュ・メモリ１６０は、０．４Ｖの最小ターゲットしきい電圧を超えるまで、セル・トランジスタ内に電荷をたくわえるために増加する電圧を徐々に印加することができる。
【００２５】
下でさらに述べるように、単一のメモリ・セルに格納された２ビットのそれぞれは、異なるページからのものである。言い換えると、各メモリ・セルに格納された２ビットの各ビットは、異なるページ・アドレスを担う。図２に示された右側ビットは、下側ページ・アドレスが入力される時にアクセスされる。左側ビットは、上側ページ・アドレスが入力される時にアクセスされる。
【００２６】
図３に、マルチレベル・セル（ＭＬＣ）フラッシュ・メモリ・ブロック１６０内の例示的なフラッシュ・セル・アレイ３００のアーキテクチャを示し、ここで、各例示的セルは、通常、２ビットを格納するフローティングゲート・トランジスタに対応する。図３では、各セルが、２ビットが属する２つのページの２つの番号に関連する。例示的なセル・アレイ・セクション３００は、ワード線ｎからｎ＋２および４つのビット線を示す。例示的なフラッシュ・セル・アレイ３００は、偶数ページおよび奇数ページに区分され、たとえば、偶数番号を有するセル（番号０および２を有するセルなど）は、偶数ページに対応し、奇数番号を有するセル（番号１および３を有するセルなど）は、奇数ページに対応する。ワード線ｎは、たとえば、偶数ビット線に偶数ページ０および２を格納し、奇数ビット線に奇数ページ１および３を格納する。
【００２７】
さらに、図３は、偶数ビット線セルまたは奇数ビット線セルのいずれかが選択され、示された順序で順次（ボトム・アップ）プログラムされる、例示的なプログラム・シーケンスを示す。番号は、ページがプログラムされる順序を示す。たとえば、ページ０は、ページ１の前にプログラムされる。偶数ページおよび奇数ページのプログラミングのさらなる議論については、参照によって本明細書に組み込まれている、Ｋ．−Ｔ．Ｐａｒｋ他、「Ａ  Ｚｅｒｏｉｎｇ  Ｃｅｌｌ−ｔｏ−Ｃｅｌｌ  Ｉｎｔｅｒｆｅｒｅｎｃｅ  Ｐａｇｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｗｉｔｈ  Ｔｅｍｐｏｒａｒｙ  ＬＳＢ  Ｓｔｏｒｉｎｇ  ａｎｄ  Ｐａｒａｌｌｅｌ  ＭＳＢ  Ｐｒｏｇｒａｍ  Ｓｃｈｅｍｅ  ｆｏｒ  ＭＬＣ  ＮＡＮＤ  Ｆｌａｓｈ  Ｍｅｍｏｒｉｅｓ」、ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｆ  Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ、Ｖｏｌ．４３、Ｎｏ．４、９１９〜９２８頁（２００８年４月）を参照されたい。
【００２８】
図４に、図２の電圧割当て方式の例示的な２ステージＭＬＣプログラミング方式４００を示す。図４に示されているように、ＬＳＢプログラミング・ステージ中には、消去状態４１０である選択されたセルの状態は、ＬＳＢが０である場合には最低のプログラム済み状態４１１に移動する。したがって、ＬＳＢプログラミング状態で、メモリ・セルは、消去状態「１１」から「１０」にプログラムされる。次に、ＭＳＢプログラム・ステージ中に、２つの状態すなわち状態「００」（４１２）および状態「０１」（４１３）が、以前のＬＳＢデータに応じて順次形成される。一般に、ＭＳＢプログラミング状態中には、「１０」状態が「００」にプログラムされ、状態「１１」が「０１」にプログラムされる。
【００２９】
図４のプログラミング方式４００が、状態４１０から状態４１３への状態の変化に関連する最大電圧シフトを示すことに留意されたい。複数のプログラミング方式が、状態の変化に関連する最大電圧シフトを減らし、これによって、電圧シフトによって引き起こされるＩＣＩを減らすために提案されまたは提唱されてきた。
【００３０】
図５Ａおよび５Ｂは、隣接セルに加えられるＩＣＩを減らす代替ＭＬＣプログラミング方式５００を集合的に示す。図５Ａに示されているように、ＬＳＢプログラミング・ステージ中に、メモリ・セルは、ＳＬＣプログラミングに似た形で、状態「１１」から一時的（または中間）状態として状態「ｘ０」にプログラムされる。同一ワード線内の隣接セルもＬＳＢプログラムされた後に、分布は、おそらくは、ＩＣＩに起因して図５Ａのピーク５１０によって示されるように広げられる。その後、図５Ｂに示されたＭＳＢプログラミング・ステージで、「ｘ０」状態が、入力データに対応する最終状態として「００」および「１０」のいずれかにプログラムされ、あるいは、「１１」状態が、最終的な「０１」状態にプログラムされる。一般に、「１１」セルを除くすべてのメモリ・セルは、ＭＳＢプログラミング・ステージで、ＬＳＢデータについて一時的にプログラムされた状態からその最終的な状態に再プログラムされ、その結果、隣接セルによって引き起こされるＩＣＩを大幅に減らせるようになる。最終的な状態のセルは、最終的な状態に再プログラムされたので、中間状態である間に経験したＩＣＩから損害を受けない。最終的な状態のセルは、最終的な状態になって以降に経験したＩＣＩからのみ損害を受ける。上で注記したように、中間プログラム状態を使用する、図５Ａおよび５Ｂのマルチステップ・プログラミング・シーケンスは、最大電圧変化を減らし、したがって、これらの電圧変化によって引き起こされるＩＣＩを減らす。図５Ｂで、たとえばＭＳＢプログラミング・ステージ中の最大電圧シフトが、それぞれ状態「１１」から「０１」へおよび状態「ｘ０」から状態「１０」への遷移に関連することがわかる。これらの電圧シフトは、図４の状態「１１」から「０１」への最大電圧シフトより大幅に小さい。
【００３１】
図６に、マルチレベル・セル（ＭＬＣ）フラッシュ・メモリ・ブロック１６０内の例示的なフラッシュ・セル・アレイ６００をさらに詳細に示す。図６に示されているように、フラッシュ・セル・アレイ６００は、フラッシュ・セルあたり３つのビットｃｉを格納する。図６は、１ブロックのフラッシュ・セル・アレイ・アーキテクチャを示し、ここで、各例示的なセルは、通常、３ビットを格納するフローティングゲート・トランジスタに対応する。例示的なセル・アレイ６００は、ｍ個のワード線およびｎ個のビット線からなる。通常、現在のマルチページ・セル・フラッシュ・メモリでは、単一のセル内のビットは、異なるページに属する。図６の例では、各セルの３つのビットは、３つの異なるページに対応し、各ワード線は、３つのページを格納する。以降の議論では、ページ０、１、および２を、ワード線内の下側ページ・レベル、中央ページ・レベル、および上側ページ・レベルと称する。
【００３２】
上で示したように、フラッシュ・セル・アレイを、偶数ページおよび奇数ページにさらに区分することができ、たとえば、偶数番号を有するセル（図６のセル２および４など）は、偶数ページに対応し、奇数番号を有するセル（図６のセル１および３など）は、奇数ページに対応する。この場合に、ページ（ページ０など）は、偶数セル内に偶数ページ（偶数ページ０）を含み、奇数セル内に奇数ページ（奇数ページ０）を含む。
【００３３】
セル間干渉および他の外乱
図７に、セル間干渉、バック・パターン依存、雑音、および他のひずみなどの複数の例示的なアグレッサ・セル７２０に起因するターゲット・セル７１０について存在する外乱を示す。次の表記が、図７で使用されている。
ＷＬ  ワード線、
ＢＬ  ビット線、
ＢＬｏ  奇数ビット線、
ＢＬｅ  偶数ビット線、および
Ｃ  キャパシタンス。
【００３４】
たとえば、ＩＣＩは、ターゲット・セル７１０がプログラムされた後にプログラムされるアグレッサ・セル７２０によって引き起こされる。ＩＣＩは、ターゲット・セル７１０の電圧Ｖｔを変更する。例示的実施形態では、「ボトム・アップ」プログラミング方式が仮定され、ワード線ｉおよびｉ＋１内の近接アグレッサ・セルが、ターゲット・セル７１０のＩＣＩを引き起こす。ブロックのそのようなボトム・アップ・プログラミングを用いると、図７に示されているように、下側ワード線ｉ−１からのＩＣＩが除去され、５つまでの隣接するセルが、アグレッサ・セル７２０としてＩＣＩに寄与する。しかし、当業者に明白であるように、本明細書で開示される技法を、ワード線ｉ−１などの他のワード線からのアグレッサ・セルもＩＣＩに寄与する場合に一般化できることに留意されたい。ワード線ｉ−１、ｉ、およびｉ＋１からのアグレッサ・セルがＩＣＩに寄与する場合には、８つまでの最も近い隣接セルを考慮する必要がある。ターゲット・セルからより遠い他のセルは、そのＩＣＩへの寄与を無視できる場合には、無視することができる。一般に、アグレッサ・セル７２０は、所与のターゲット・セル７１０の後にプログラムされるアグレッサ・セル７２０を識別するためにプログラミング・シーケンス方式（ボトム・アップまたは偶数／奇数技法など）を分析することによって識別される。
【００３５】
一般に、Ｖｔは、セルに格納されたデータを表す電圧であり、読取動作中に入手される。Ｖｔを、読取動作によって、たとえばセルあたりに格納されるビット数より高い精度を有する軟電圧値として、またはセルあたりに格納されるビット数と同一の分解能を有する硬電圧レベル（たとえば、３ビット／セル・フラッシュについて３ビット）に量子化された値として、入手することができる。
【００３６】
ＩＣＩ軽減技法のより詳細な議論については、たとえば、それぞれ参照によって本明細書に組み込まれている国際出願第ＰＣＴ／ＵＳ０９／４９３２６号、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｒｅａｄ−Ｓｉｄｅ  Ｉｎｔｅｒｃｅｌｌ  Ｉｎｔｅｒｆｅｒｅｎｃｅ  Ｍｉｔｉｇａｔｉｏｎ  ｉｎ  Ｆｌａｓｈ  Ｍｅｍｏｒｉｅｓ」または国際出願第ＰＣＴ／ＵＳ０９／４９３２７号、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｗｒｉｔｅ−Ｓｉｄｅ  Ｉｎｔｅｒｃｅｌｌ  Ｉｎｔｅｒｆｅｒｅｎｃｅ  Ｍｉｔｉｇａｔｉｏｎ  ｉｎ  Ｆｌａｓｈ  Ｍｅｍｏｒｉｅｓ」を参照されたい。
【００３７】
図８は、本発明によるコントローラ・ベースの軟データ生成技法を組み込まれた例示的なフラッシュ・メモリ・システム８００の概略ブロック図である。図８に示されているように、例示的なフラッシュ・メモリ・システム８００は、インターフェース８５０によって接続された、フラッシュ制御システム８１０およびフラッシュ・メモリ・ブロック８６０を含む。例示的なフラッシュ制御システム８１０は、通常は１つまたは複数の集積回路である、フラッシュ・コントローラ８２０および読取チャネル８２５を含む。
【００３８】
例示的な読取チャネル８２５は、信号処理ユニット８３０、エンコーダ／デコーダ・ブロック８４０、および１つまたは複数のバッファ８４５を含む。用語「読取チャネル」が、書込チャネルをも含むことができることに留意されたい。代替実施形態では、エンコーダ／デコーダ・ブロック８４０およびいくつかのバッファ８４５を、フラッシュ・コントローラ８２０の内部で実施することができる。エンコーダ／デコーダ・ブロック８４０およびバッファ８４５を、たとえば、本発明の特徴および機能を提供するために本明細書で変更される、周知の市販の技法および／または製品を使用して実施することができる。
【００３９】
例示的な信号処理ユニット８３０は、それぞれたとえば図１２Ａおよび１２Ｂに関連して下でさらに述べる１つまたは複数の軟デマッパおよび／または軟データ生成プロセス８３５を実施する１つまたは複数のプロセッサを含む。例示的なフラッシュ・メモリ・ブロック８６０は、それぞれ周知の市販の技法および／または製品を使用して実施できるメモリ・アレイ８７０および１つまたは複数のバッファ８８０を含む。
【００４０】
開示される軟データ生成技法のさまざまな実施形態では、例示的なインターフェース８５０は、アグレッサ・セルに関連する情報を表す値など、従来のフラッシュ・メモリ・システムに関連する追加情報を伝える必要がある場合がある。したがって、インターフェース８５０は、従来のフラッシュ・メモリ・システム内のインターフェースより大きい容量またはより高速のレートを有する必要がある場合がある。インターフェース８５０を、参照によって本明細書に組み込まれている、２００９年６月３０日に出願した国際出願第ＰＣＴ／ＵＳ０９／４９３２８号、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｉｎｔｅｒｆａｃｉｎｇ  Ｂｅｔｗｅｅｎ  ａ  Ｆｌａｓｈ  Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ  ａｎｄ  ａ  Ｆｌａｓｈ  Ｍｅｍｏｒｙ  Ａｒｒａｙ」（弁理士整理番号第０８−０７６９号）の教示に従って任意に実施することができ、この国際出願第ＰＣＴ／ＵＳ０９／４９３２８号の教示は、たとえばダブル・データ・レート（ＤＤＲ）技法を使用してインターフェース８５０の情報搬送容量を高める。書込動作中に、インターフェース８５０は、通常はページ・レベル・アクセス技法またはワード線レベル・アクセス技法を使用して、ターゲット・セルに格納されるプログラム値を転送する。例示的なページ・レベル・アクセス技法またはワード線レベル・アクセス技法のより詳細な議論については、たとえば、参照によって本明細書に組み込まれている、２００９年３月１１日に出願した国際出願第ＰＣＴ／ＵＳ０９／３６８１０号、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｔｏｒｉｎｇ  Ｄａｔａ  ｉｎ  ａ  Ｍｕｌｔｉ−Ｌｅｖｅｌ  Ｃｅｌｌ  Ｆｌａｓｈ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅ  ｗｉｔｈ  Ｃｒｏｓｓ−Ｐａｇｅ  Ｓｅｃｔｏｒｓ，  Ｍｕｌｔｉ−Ｐａｇｅ  Ｃｏｄｉｎｇ  ａｎｄ  Ｐｅｒ−Ｐａｇｅ  Ｃｏｄｉｎｇ」を参照されたい。
【００４１】
読取動作中に、インターフェース８５０は、ターゲット・セルおよびアグレッサ・セルについてメモリ・アレイ８７０から入手された硬読取値および／または軟読取値を転送する。たとえば、ターゲット・セルを有するページの読取値に加えて、上側／下側ワード線または隣接する偶数ビット線もしくは奇数ビット線内の１つまたは複数の近接ページの読取値が、インターフェース・バスを介して転送される。図８の実施形態では、開示される軟データ生成技法は、フラッシュ・メモリの外部で、通常は最小面積を達成するために論理回路用に最適化されたプロセス・テクノロジで実施される。しかし、これは、インターフェース８５０上で転送される可能性がある追加のアグレッサ・セル・データという犠牲を払うものである。
【００４２】
図９は、本発明の代替実施形態によるメモリ・ベースの軟データ生成技法を組み込まれた例示的なフラッシュ・メモリ・システム９００の概略ブロック図である。図９に示されているように、例示的なフラッシュ・メモリ・システム９００は、インターフェース９５０によって接続された、フラッシュ制御システム９１０およびフラッシュ・メモリ・ブロック９６０を含む。
【００４３】
例示的なフラッシュ制御システム９１０は、通常は１つまたは複数の集積回路である、フラッシュ・コントローラ９２０およびオプションの読取チャネル９２５を含む。代替実施形態では、エンコーダ／デコーダ・ブロック９４０およびいくつかのバッファ９４５を、フラッシュ・コントローラ９２０の内部で実施することができる。例示的なフラッシュ・コントローラ９２０を、たとえば、本発明の特徴および機能をサポートするために本明細書で変更される、周知の市販の技法および／または製品を使用して実施することができる。例示的な読取チャネル９２５は、エンコーダ／デコーダ・ブロック９４０および１つまたは複数のバッファ９４５を含む。エンコーダ／デコーダ・ブロック９４０およびバッファ９４５を、周知の市販の技法および／または製品を使用して実施することができる。
【００４４】
例示的なフラッシュ・メモリ・ブロック９６０は、それぞれ周知の市販の技法および／または製品を使用して実施することができる、メモリ・アレイ９７０および１つまたは複数のバッファ９８０を含む。さらに、例示的なフラッシュ・メモリ・ブロック９６０は、それぞれたとえば図１２Ａおよび１２Ｂに関連して下でさらに述べる１つまたは複数の軟デマッピングおよび／または軟データ生成プロセス９９０を実施する１つまたは複数のプロセッサを含む例示的な信号処理ユニット９８５を含む。
【００４５】
開示される軟データ生成技法のさまざまな実施形態では、例示的なインターフェース９５０は、アグレッサ・セルに関連する情報を表す値など、従来のフラッシュ・メモリ・システムに関連する追加情報を伝える必要がある場合がある。したがって、インターフェース９５０は、従来のフラッシュ・メモリ・システム内のインターフェースより大きい容量またはより高速のレートを有する必要がある場合がある。インターフェース９５０を、参照によって本明細書に組み込まれている、２００９年６月３０日に出願した国際出願第ＰＣＴ／ＵＳ０９／４９３２８号、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｉｎｔｅｒｆａｃｉｎｇ  Ｂｅｔｗｅｅｎ  ａ  Ｆｌａｓｈ  Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ  ａｎｄ  ａ  Ｆｌａｓｈ  Ｍｅｍｏｒｙ  Ａｒｒａｙ」（弁理士整理番号第０８−０７６９号）の教示に従って任意に実施することができ、この国際出願第ＰＣＴ／ＵＳ０９／４９３２８号の教示は、たとえばダブル・データ・レート（ＤＤＲ）技法を使用してインターフェース９５０の情報搬送容量を高める。
【００４６】
書込動作中に、インターフェース９５０は、ターゲット・セルおよびアグレッサ・セルに格納されるプログラム・データを転送する。読取動作中に、インターフェース９５０は、ターゲット・セル（１つまたは複数）および任意にアグレッサ・セルの新しい硬読取値、硬データ、軟読取値、または軟データを転送する。通常、単一の読取アクセスについて伝えられる情報は、１ページまたは１ワード線のデータである。ターゲット・セルのデータだけを送ることは、通常は論理回路用ではなくメモリ用に最適化された、フラッシュ・メモリの製造に使用されるメモリ・プロセス・テクノロジを使用してメモリの内部で軟データ生成プロセスを実施するという犠牲を払って、インターフェース９５０の帯域幅要件を減らすことに留意されたい。
【００４７】
性能調整に基づく軟データ生成
前に示したように、現在のフラッシュ・メモリ・ブロック８６０、９６０は、通常、復号のためにフラッシュ制御システム８１０、９１０に硬データだけを供給する。しかし、軟データが、復号プロセスの誤り率性能を改善できることが周知である。したがって、本発明は、軟データを推定するかその質を高め、これによって復号性能を改善するために、フラッシュ・メモリ・ブロック８６０、９６０からの硬データを使用する軟データ生成技法を提供する。
【００４８】
本発明の一態様によれば、軟データは、硬データと１つまたは複数の性能要因に基づく調整とに基づいて、フラッシュ・メモリ・ブロック８６０、９６０などのメモリ・デバイスについて生成される。本明細書で使用されるときに、軟データは、測定された電圧を表すのにフラッシュ・メモリ・ブロック８６０、９６０のメモリ・セルに格納されたビット数より多数のビットが使用される軟値またはメモリ・セルに格納されたビットの信頼性を示す対数尤度比を含む。硬データは、検出されたデータ・ビット（軟情報なしで）またはメモリ・セルに格納されたレベル（電圧レベルなど）を指し、このデータ・ビットまたはレベルは、メモリ・アレイ８７０、９７０から読み出され、従来のフラッシュ・メモリ・デバイス内のフラッシュ制御システムに供給される。
【００４９】
１つの例示的実施形態では、軟データ値は、フラッシュ・メモリ・ブロック８６０、９６０によって割り当てられた硬データ値に基づく公称値とフラッシュ・メモリ・ブロック８６０、９６０の性能に影響する１つまたは複数の要因を補償するオフセット値（またはデルタ値）との合計である。この軟データ値は、対数尤度比を計算するのに使用される軟読取値（軟電圧値など）または格納されたビットの信頼性を示す対数尤度比のいずれかである。対数尤度比の生成および使用のより詳細な議論については、たとえば、それぞれ参照によって本明細書に組み込まれている、２００９年６月３０日に出願した国際出願第ＰＣＴ／ＵＳ０９／４９３３３号、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｏｆｔ  Ｄｅｍａｐｐｉｎｇ  ａｎｄ  Ｉｎｔｅｒｃｅｌｌ  Ｉｎｔｅｒｆｅｒｅｎｃｅ  Ｍｉｔｉｇａｔｉｏｎ  ｉｎ  Ｆｌａｓｈ  Ｍｅｍｏｒｉｅｓ」、および本願と同時に出願された国際出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｏｆｔ  Ｄａｔａ  Ｇｅｎｅｒａｔｉｏｎ  ｉｎ  Ｆｌａｓｈ  Ｍｅｍｏｒｉｅｓ」を参照されたい。軟データ・ジェネレータ８３５、９９０によって生成された対数尤度比は、ＬＰＤＣ（Ｌｏｗ  Ｐａｒｉｔｙ  Ｄｅｎｓｉｔｙ  Ｃｈｅｃｋ）デコーダなどのデコーダに供給される。
【００５０】
図１０は、例示的なフラッシュ・メモリ・システム１０００の概略ブロック図である。図１０は、本発明の軟データ生成技法をさらに詳細に示す。図１０に示されているように、フラッシュ・メモリ・システム１０００は、インターフェース・バス１０５０によって接続された、フラッシュ・メモリ・ブロック１０１０およびフラッシュ制御システム１０２０を含む。
【００５１】
フラッシュ・メモリ・ブロック１０１０は、メモリ・アレイ１０１５を含む。フラッシュ・メモリ・ブロック１０１０は、メモリ・アレイ１０１５を読み取り、読み取られる各セルに格納された硬データ値（すなわち、硬電圧レベルなどの硬データ・ビットまたは硬レベル）を判定する。後で述べるように、硬データ値は、通常、フラッシュ・メモリ・ブロック１０１０によって割り当てられ、さらなる復号および処理のためにインターフェース１０５０を介してフラッシュ・コントローラ１０２０に転送される。
【００５２】
例示的なフラッシュ・コントローラ１０２０は、下で図１１および１２に関連してさらに述べる軟データ・ジェネレータ１１００、１２００と、デコーダ１０６０とを含む。一般に、軟データ・ジェネレータ１１００、１２００は、フラッシュ・メモリ・ブロック１０１０によって割り当てられた硬データ値と１つまたは複数の性能要因調整とを使用して軟データを生成する。デコーダ１０６０は、たとえば、確率伝搬、メッセージ・パッシング、Ｓｕｍ−Ｐｒｏｄｕｃｔ、またはＭｉｎ−Ｓｕｍアルゴリズムなど、ＬＤＰＣアルゴリズムを使用して実施することができる。本明細書で説明される軟データ・ジェネレータ１１００、１２００の機能を、フラッシュ・コントローラ８２０、読取チャネル８２５、信号処理ユニット８３０、およびデコーダ８４０（たとえば、図８を参照されたい）のうちの１つまたは複数で実施できることに留意されたい。
【００５３】
前に示したように、本発明の一態様は、硬データおよび追加の性能要因の関数として軟データを計算する。１つの例示的実施形態では、軟データ値は、フラッシュ・メモリ・ブロック１０１０によって割り当てられた硬データ・レベルに基づく公称値と、フラッシュ・メモリ・ブロック１０１０の性能に影響する１つまたは複数の性能要因を補償するオフセット値（またはデルタ値）との合計である。
【００５４】
１つの例示的実施形態では、フラッシュ・メモリ・ブロック１０１０の性能に影響する性能要因は、耐久性（たとえば、プログラム／消去サイクルの個数）、読取サイクルの個数、保持時間、フラッシュ・メモリの温度または温度変化、フラッシュ・メモリを製造するのに使用されるプロセス・コーナー、セル間干渉の影響または他の外乱機構に起因する影響、メモリ・アレイ内の位置（ワード線内のページ・レベル、偶数ビット線または奇数ビット線その他など）、およびアグレッサ・セルに格納されるデータ・パターンのうちの１つまたは複数を含む。下で図１３に関連してさらに述べるように、１つの例示的実施形態では、オフセット値を、プログラム・レベルごとの性能要因ごとに割り当てることができる。性能要因を、前もって、たとえば製造テスト中に測定することができ、あるいは、性能劣化を補償するオフセット値を入手するために、間欠的もしくは周期的な基礎で測定することができる。これらの性能要因を、フラッシュ制御システム８１０、９１０のレジスタ内またはフラッシュ・メモリ・ブロック８６０、９６０内にプログラムするか格納することができる。
【００５５】
たとえば、軟データ値を次のように計算することができる。
【００５６】
【数１】
2012504820.tif 000003
ここで、軟データ値は、たとえば、対数尤度比を示し、軟データ値の符号は、硬データ値を表し、軟データ値の大きさは、信頼性を表し、公称値０は、ビット０の最大の可能な信頼性を示す正の数であり、公称値１は、ビット１の最大の可能な信頼性を示す負の数であり、オフセットは、フラッシュ・メモリ・ブロック１０１０の性能に影響する考慮される性能要因を補償する集約オフセット値である。たとえば、公称値０は、０と等しい硬データ値について＋２と等しく、公称値１は、１と等しい硬データ値について−２と等しい。考慮される性能要因に基づいて、公称値の大きさは、オフセットが０より大きいときに減らされる。言い換えると、軟データ値に関連する信頼性は、硬データ値の信頼性を下げる性能要因に基づいて減らされる。
【００５７】
通常、軟データ値の大きさは、対応する硬データ値の信頼性を示し、軟データ値の符号は、対応する硬データ値が２進０または２進１のどちらであるのかを示す。例示的実施態様では、軟データ値は、−２と＋２との間で変化することができ、２は、最大の信頼性を有する２進０の値に対応し、−２は、最大の信頼性を有する２進１の値に対応する。上の式で使用されるオフセット値は、フラッシュ・メモリ・デバイスの信頼性に影響する外乱の特性を表す。一般に、オフセット値は、予想される外乱に比例して変化する（たとえば、外乱が大きければ大きいほど、オフセット値が大きくなる）。
【００５８】
１つの例示的実施形態では、オフセットを、事前定義の値に任意に飽和させることができる。たとえば、オフセットが、フラッシュ・メモリ・デバイスによって割り当てられたビットに対応する軟データ値の符号を変更しないことを保証するために、オフセットを飽和させることができる。
【００５９】
図１１は、本発明の特徴を組み込まれた例示的な軟データ生成プロセス１１００を説明する流れ図である。一般に、軟データ生成プロセス１１００は、たとえばさまざまな考慮される性能要因に対処する硬−軟データ・マッピング・データベース１３００を使用して、硬データ値を軟データ値に直接マッピングすることによって、軟データ値を生成する。
【００６０】
図１１に示されているように、軟データ生成プロセス１１００は、当初に、ステップ１１１０中にフラッシュ・メモリ１０１０から１つまたは複数の硬データ値を入手する。その後、軟データ生成プロセス１１００は、ステップ１１２０中に、１つまたは複数の硬データ値と、フラッシュ・メモリ１０１０の１つまたは複数の事前定義の性能要因に基づく１つまたは複数の調整とに基づいて１つまたは複数の軟データ値を入手する。たとえば、軟データ生成プロセス１１００は、硬−軟データ・マッピング・データベース１３００内でルック・アップを実行するのに硬データを使用することができる。軟データ値は、その後に対数尤度比を計算するのに使用される軟読取値（軟電圧値など）または格納されたビットの信頼性を示す対数尤度比のいずれかを表す。
【００６１】
図１２は、本発明の特徴を組み込まれた軟データ生成プロセス１２００の例示的な代替実施態様を説明する流れ図である。一般に、軟データ生成プロセス１２００は、フラッシュ・メモリ・ブロック１０１０によって割り当てられた硬データ値に基づく公称値と、フラッシュ・メモリ・ブロック１０１０の性能に影響する１つまたは複数の性能要因を補償するオフセット値とを合計することによって軟データ値を生成する。軟データ値は、その後に対数尤度比を計算するのに使用される軟読取値（軟電圧値など）または格納されたビットの信頼性を示す対数尤度比のいずれかを表す。
【００６２】
図１２に示されているように、軟データ生成プロセス１２００は、当初に、ステップ１２１０中にフラッシュ・メモリ１０１０から１つまたは複数の硬データ値を入手する。その後、軟データ生成プロセス１２００は、ステップ１２２０中に、１つまたは複数の硬データ値に基づいて、対応する１つまたは複数の公称値を入手し、ステップ１２３０中に、１つまたは複数の考慮される性能要因に基づいて、対応する１つまたは複数のオフセット値を入手する。最後に、軟データ生成プロセス１２００は、ステップ１２４０中に、入手された１つまたは複数の公称値およびオフセット値の集約に基づいて、１つまたは複数の所望の軟データ値を入手する。
【００６３】
図１３は、フラッシュ・メモリ・セル内に最下位ビット（ＬＳＢ）および最上位ビット（ＭＳＢ）を格納する例示的な２ビット／セルＭＬＣフラッシュ・メモリの、本発明の特徴を組み込まれた例示的な硬データ−軟データ・マッピング・データベース１３００からのサンプル・テーブルである。ＭＬＣフラッシュ・メモリ内の異なるページ・レベル（ＭＳＢページおよびＬＳＢページなど）は、さまざまな性能要因によって異なって影響を受けるので、フラッシュ・メモリ・システムの誤り率性能を、異なるページ・レベルについて別々のオフセットを使用することによって改善することができる。例示的な硬データ−軟データ・マッピング・データベース１３００は、レコード１３１０で示される硬データ値（たとえば、２進１または２進０）およびレコード１３２０で示されるプログラム／消去サイクルの個数に基づいて、ＬＳＢおよびＭＳＢの軟データをそれぞれレコード１３３０および１３４０に格納する。この例示的なデータベース１３００では、誤り率性能を改善するために、別々のオフセットが２進１および０について使用される。２進１および０について、ならびにＭＳＢページおよびＬＳＢページなどの異なるページ・レベルについても同一のオフセットを使用することによって、誤り率性能を犠牲にしてデータベースの複雑さを減らすことができる。
【００６４】
硬データ−軟データ・マッピング・データベース１３００は、メモリ・アレイ内の偶数／奇数ビット線および／または異なるワード線位置のオフセットなど、追加の位置固有性能要因オフセットを示すこともできる。
【００６５】
硬データ−軟データ・マッピング・データベース１３００が、上で述べた例示的実施態様をとり、ここで、２進０の値を＋２にマッピングすることができ、２進１の値を−２にマッピングすることができることに留意されたい。例示的なテーブル１３００を、パターン依存ならびに／または読取サイクルの個数、プロセス・コーナー、および温度変化などの追加の性能要因を考慮に入れるために多次元テーブルとして任意に実施できることに留意されたい。
【００６６】
パターン依存のおよび位置固有の性能要因のより詳細な議論については、たとえば、本願と同時に出願され、参照によって本明細書に組み込まれている国際出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｏｆｔ  Ｄａｔａ  Ｇｅｎｅｒａｔｉｏｎ  ｉｎ  Ｆｌａｓｈ  Ｍｅｍｏｒｉｅｓ」を参照されたい。
【００６７】
プログラム／消去サイクル数および耐久性を考慮に入れ、異なる電圧レベルについて異なるオフセットを使用する、図４に示された電圧分布に関する例示的実施態様を考慮されたい。また、この実施態様では、性能要因オフセットは、通常−通常（ＴＴ）、高速−高速（ＦＦ）、および低速−低速（ＳＳ）など、複数の異なるプロセス・コーナーについて指定される。この例示的実施態様の次の性能要因は、たとえば、対応する性能要因に関連する条件の下でフラッシュ・メモリのオフセットの特徴を表す測定または他の製造テストに基づくものとすることができる。
（１）耐久性要因：５００消去／プログラム・サイクルのすべてについて、オフセットは、ビット・ラベル「１１」を有するレベル０（４１０）について０．１２５、ビット・ラベル「１０」を有するレベル１（４１１）およびビット・ラベル「０１」を有するレベル３（４１３）について０．３７５、ビット・ラベル「００」を有するレベル２（４１２）について０．２５である。
（２）プロセス・コーナー要因：フラッシュ・メモリを製造するのに使用される異なるプロセス・コーナーについて、オフセットは、ＳＳ：０．２５；ＴＴ：０；ＦＦ：０．３７５である。
【００６８】
したがって、５００消去／プログラム・サイクルの後のレベル１およびＳＳプロセス・コーナーについて、軟データは、ＬＳＢ（硬データ・ビット＝０）について２−０．３７５−０．２５＝１．３７５である。ＭＳＢビット（硬データ・ビット＝１）の軟データは、−２＋０．３７５＋０．２５＝−１．３７５になる。この例示的実施形態では、同一の性能要因オフセットが、１つのセル内のＬＳＢとＭＳＢとの両方に使用される。上で説明したように、誤り率性能をさらに改善するために、異なる性能要因オフセットをＬＳＢとＭＳＢとの両方に使用することができる。
【００６９】
本発明のもう１つの態様によれば、質を高められた軟データ値が、フラッシュ・メモリ・デバイスによって当初に割り当てられる軟データ値から生成される。初期軟データ値は、質を高められた軟データ値を生成するために、１つまたは複数の考慮される性能要因に基づいて調整される。これらの質を高められた軟データ値は、対数尤度比または信頼性を計算するのに使用される軟読取値（軟読取電圧など）のいずれかを表し、あるいは、対数尤度比または信頼性を表す。
【００７０】
１つの例示的実施態様では、１つまたは複数の軟読取値が、フラッシュ・メモリから入手され、対数尤度比などの軟情報が、軟読取値に基づいて入手される。その後、軟情報（対数尤度比など）が、フラッシュ・メモリの１つまたは複数の性能要因に基づいて調整されて、質を高められた軟情報が入手され、この質を高められた軟情報は、質を高められた軟データ値であり、その後、誤り率性能を改善するためにデコーダに渡される。
【００７１】
もう１つの例示的実施態様では、１つまたは複数の軟読取値が、フラッシュ・メモリから入手される。その後、対応する公称値が、軟読取値に基づいて判定され、対応するオフセット値が、１つまたは複数の考慮される性能要因に基づいて入手される。その後、対数尤度比などの軟データ値である所望の軟情報が、公称値およびオフセット値に基づいて入手される。
【００７２】
プロセス、システム、および製品の詳細
本明細書の複数の流れ図は、ステップの例示的シーケンスを説明するが、そのシーケンスを変更されたものも、本発明の実施形態である。アルゴリズムのさまざまな置換が、本発明の代替実施形態として企図されている。本発明の例示的実施形態を、ソフトウェア・プログラム内の処理ステップに関して説明したが、当業者に明白であるように、さまざまな機能を、ディジタル領域でソフトウェア・プログラム内の処理ステップとして、ハードウェアで回路要素またはステート・マシンによって、あるいはソフトウェアとハードウェアとの両方の組合せで実施することができる。そのようなソフトウェアを、たとえば、ディジタル信号プロセッサ、特定用途向け集積回路、マイクロコントローラ、または汎用コンピュータで使用することができる。そのようなハードウェアおよびソフトウェアを、集積回路内で実施される回路内で実施することができる。
【００７３】
したがって、本発明の機能を、方法およびこれらの方法を実践する装置の形で実施することができる。本発明の１つまたは複数の態様を、たとえば、記憶媒体に格納されるか、機械にロードされかつ／または機械によって実行されるか、あるいはある伝送媒体を介して伝送されるかのいずれかであるプログラム・コードの形で実施することができ、ここで、そのプログラム・コードがコンピュータなどの機械にロードされ、その機械によって実行されるときに、その機械は、本発明を実践する装置になる。汎用プロセッサで実施される時に、プログラム・コード・セグメントは、特定の論理回路に類似して動作するデバイスを提供するためにプロセッサと組み合わされる。本発明を、集積回路、ディジタル信号プロセッサ、マイクロプロセッサ、およびマイクロコントローラのうちの１つまたは複数で実施することもできる。
【００７４】
当技術分野で既知のように、本明細書で述べられた方法および装置を、コンピュータ可読コード手段をその上で実施されたコンピュータ可読媒体をそれ自体が含む製品として配布することができる。コンピュータ可読プログラム・コード手段は、本明細書で述べられた方法を実行するステップのすべてまたは一部を実行しまたは本明細書で述べられた装置を作成するために、コンピュータ・システムに関連して動作可能である。コンピュータ可読媒体は、記録可能媒体（たとえば、フロッピ・ディスク、ハード・ドライブ、コンパクト・ディスク、メモリ・カード、半導体デバイス、チップ、特定用途向け集積回路（ＡＳＩＣ））とすることができ、あるいは、伝送媒体（たとえば、光ファイバを含むネットワーク、ワールド・ワイド・ウェブ、ケーブル、または時分割多元接続、符号分割多元接続、もしくは他の無線周波数チャネルを使用する無線チャネル）とすることができる。コンピュータ・システムと共に使用するのに適切な情報を格納できる既知のまたは開発されるすべての媒体を、使用することができる。コンピュータ可読コード手段は、磁気媒体上の磁気変動またはコンパクト・ディスクの表面上の高さ変動など、コンピュータが命令およびデータを読み取ることを可能にするすべての機構である。
【００７５】
本明細書で説明されるコンピュータ・システムおよびサーバは、それぞれ、本明細書で開示される方法、ステップ、および機能を実施するために関連プロセッサを構成するメモリを含む。メモリを、分散型またはローカルとすることができ、プロセッサを、分散型または単独とすることができる。メモリを、電子メモリ、磁気メモリ、または光メモリ、あるいは上記または他のタイプのストレージ・デバイスの任意の組合せとして実施することができる。さらに、用語「メモリ」は、関連するプロセッサによってアクセスされるアドレス空間内のアドレスから読み取られるかそのアドレスに書き込まれることが可能なすべての情報を包含するのに十分に広く解釈されなければならない。この定義を用いると、ネットワーク上の情報は、それでも、関連するプロセッサがネットワークからその情報を取り出すことができるので、メモリに含まれる。
【００７６】
本明細書で図示され、説明された実施形態および変形形態が、本発明の原理の単なる例示であり、さまざまな修正形態を、本発明の範囲および趣旨から逸脱せずに当業者が実施できることを理解されたい。
【図１】
2012504820.tif 000004
【図２】
2012504820.tif 000005
【図３】
2012504820.tif 000006
【図４】
2012504820.tif 000007
【図５Ａ】
2012504820.tif 000008
【図５Ｂ】
2012504820.tif 000009
【図６】
2012504820.tif 000010
【図７】
2012504820.tif 000011
【図８】
2012504820.tif 000012
【図９】
2012504820.tif 000013
【図１０】
2012504820.tif 000014
【図１１】
2012504820.tif 000015
【図１２】
2012504820.tif 000016
【図１３】
2012504820.tif 000017
【国際調査報告】
2012504820.tif 000018
2012504820.tif 000019