(57)【要約】  不揮発性メモリシステムにおいてソフト入力ソフト出力（ＳＩＳＯ）復号器はメモリから読み出されたデータの中のエラーを訂正し、ＳＩＳＯ復号器に接続された統計ユニットは訂正に関するデータを集める。統計ユニットは、集めたデータに基づいて少なくとも１つの出力を生成し、メモリの少なくとも１つの操作用パラメータがその出力に応じて変更される。
2010505200.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリアレイを管理する方法であって、
不揮発性メモリアレイから格納されているデータを読み出すステップと、
復号器を用いて前記データを復号するステップであって、格納されているデータビットに対応する確度値を前記復号器の出力が含み、訂正済みデータを導出するために前記出力が使用されるステップと、
前記復号器による前記格納されているデータの復号に関する統計情報を収集するステップと、
前記不揮発性メモリアレイの少なくとも１つの操作用パラメータを前記統計情報に応じて変更するステップと、
を含む方法。
【請求項２】
請求項１記載の方法において、
前記少なくとも１つの操作用パラメータは、前記不揮発性メモリアレイにおける読み出し操作に使用される分解能を含む方法。
【請求項３】
請求項１記載の方法において、
前記少なくとも１つのパラメータは、前記不揮発性メモリアレイにおけるプログラミング操作に用いられる連続する電圧パルス間の電圧の差を含む方法。
【請求項４】
不揮発性メモリアレイにおいてデータを管理する方法であって、
不揮発性メモリアレイから格納されているデータを読み出すステップと、
前記格納されているデータから生の確率情報を導出するステップと、
前記生の確率情報と前記格納されているデータ内の符号化されたパターンとから出力確率情報を計算する復号器に前記生の確率情報を提供するステップと、
前記格納されているデータについて、前記復号器により実行された訂正の量を反映する品質情報を計算するステップと、
前記不揮発性メモリアレイの少なくとも１つの操作用パラメータを前記品質情報に応じて変更するステップと、
を含む方法。
【請求項５】
請求項４記載の方法において、
前記品質情報は、格納され、かつ他の格納されているデータについての品質情報とともに統計的に分析され、前記少なくとも１つの操作用パラメータは前記統計的分析に応じて変更される方法。
【請求項６】
請求項４記載の方法において、
前記復号器が前記格納されているデータについて出力確率情報の計算の少なくとも２つの反復を実行するように前記出力確率情報が入力として前記復号器に提供される方法。
【請求項７】
請求項６記載の方法において、
出力確率情報の計算の繰り返される反復は、所定の条件が満たされるまで実行される方法。
【請求項８】
請求項７記載の方法において、
前記品質情報は、前記所定の条件が満たされる前に実行された反復の数から導出される方法。
【請求項９】
請求項７記載の方法において、
前記品質情報は、前記所定の条件が満たされる前に実行された訂正の数から導出される方法。
【請求項１０】
請求項７記載の方法において、
前記品質情報は、前記復号器により実行された訂正のタイプから導出される方法。
【請求項１１】
請求項４記載の方法において、
前記少なくとも１つの操作用パラメータは、前記メモリアレイのメモリセルをプログラムするために使用される電圧パルスのシーケンスに影響する方法。
【請求項１２】
請求項４記載の方法において、
前記少なくとも１つの操作用パラメータは、前記メモリアレイのメモリセルに格納されているデータを読み出すために使用される分解能を含む方法。
【請求項１３】
不揮発性メモリシステムであって、
複数のデータビットを記憶する不揮発性メモリアレイと、
前記メモリアレイに格納されているデータを、特定のデータビットの確度を示す確度値を出力するべく復号する復号器と、
前記復号器により実行された復号に関する情報を集め、その集められた情報に基づいて出力を提供する統計ユニットであって、前記出力が、前記不揮発性メモリアレイの動作を制御する少なくとも１つの回路に提供される統計ユニットと、
を備える不揮発性メモリシステム。
【請求項１４】
請求項１３記載の不揮発性メモリシステムにおいて、
前記不揮発性メモリアレイに接続された読み出し回路をさらに備え、前記出力は前記読み出し回路に提供され、前記読み出し回路は前記出力に応じて読み出し分解能を変更する不揮発性メモリシステム。
【請求項１５】
請求項１４記載の不揮発性メモリシステムにおいて、
前記不揮発性メモリアレイに接続されたプログラミング回路をさらに備え、前記出力は前記プログラミング回路に提供され、前記プログラミング回路は前記出力に応じてプログラミング電圧を変更する不揮発性メモリシステム。
【請求項１６】
請求項１５記載の不揮発性メモリシステムにおいて、
前記プログラミング電圧は、前記不揮発性メモリをプログラムするために使用される連続する電圧パルス間の電圧差を減少させるように変更される不揮発性メモリシステム。
【請求項１７】
不揮発性メモリシステムであって、
符号化方式に従ってデータを符号化する符号化器と、
前記符号化されたデータを記憶する不揮発性メモリアレイと、
前記不揮発性メモリアレイからの前記符号化されたデータを、２つ以上の復号反復を実行することによって復号する復号器であって、特定の反復の出力データがその次の反復に入力データとして提供される復号器と、
前記復号されたデータのデータ品質の少なくとも１つの尺度を前記復号から導出して、前記メモリアレイの動作を制御する少なくとも１つの回路に出力を提供する統計ユニットと、
を備える不揮発性メモリシステム。
【請求項１８】
請求項１７記載の不揮発性メモリシステムにおいて、
前記符号化されたデータを前記メモリアレイに書き込む書き込み回路をさらに備え、前記出力は前記書き込み回路に提供される不揮発性メモリシステム。
【請求項１９】
請求項１７記載の不揮発性メモリシステムにおいて、
前記メモリアレイから前記符号化されたデータを読み出す読み出し回路をさらに備え、前記出力は前記読み出し回路に提供される不揮発性メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリシステムと、不揮発性メモリシステムを操作する方法とに関する。
【背景技術】
【０００２】
不揮発性メモリシステムは種々の用途に用いられている。幾つかの不揮発性メモリシステムは、パーソナルコンピュータのようなより大きなシステムに埋め込まれる。他の不揮発性メモリシステムは、ホストシステムに取り外し可能に接続され、異なるホストシステム間で交換され得る。そのような取り外し可能なメモリシステムの例には、メモリカードおよびＵＳＢフラッシュドライブが含まれる。不揮発性メモリカードを含む電子回路カードは、数個の良く知られている標準規格に従って商業的に実現されている。メモリカードは、大量のデータの格納のためにパーソナルコンピュータ、携帯電話機、個人用携帯情報端末（ＰＤＡ）、デジタル静止画カメラ、デジタル動画カメラ、携帯用オーディオプレーヤおよび他のホスト電子装置に用いられる。そのようなカードは、普通、再プログラム可能な不揮発性半導体メモリセルアレイと、メモリセルアレイの動作を制御しサポートし、かつカードが接続されているホストとインターフェイスするコントローラとを含む。同じタイプの数個のカードが、そのタイプのカードを受け入れるように設計されたホストカードスロットにおいて交換され得る。しかし、多くの電子カードの標準規格の発展は、互いにいろいろな程度に互換性のない種々のタイプのカードを作り出した。１つの標準規格に従って作られたカードは、普通、他の標準規格のカードと共同して動作するように設計されたホストには使用できない。メモリカード標準規格は、ＰＣカード標準規格、コンパクトフラッシュ（登録商標）カード（ＣＦ（登録商標）カード）標準規格、スマートメディア（登録商標）カード標準規格、マルチメディアカード（ＭＭＣ（登録商標））標準規格、セキュアデジタル（ＳＤ）カード標準規格、ｍｉｎｉＳＤ（登録商標）カード標準規格、Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ（ＳＩＭ）標準規格、メモリスティック（登録商標）標準規格、メモリスティックＤｕｏカード標準規格、およびｍｉｃｒｏＳＤ／ＴｒａｎｓＦｌａｓｈ（登録商標）メモリモジュール標準規格を含む。サンディスク  コーポレイションから「Ｃｒｕｚｅｒ（登録商標）」という商標のもとで市販されている幾つかのＵＳＢフラッシュドライブ製品がある。ＵＳＢフラッシュドライブは、通常、前述したメモリカードより大きくて、それらとは異なる形状を有する。
【０００３】
不揮発性メモリシステムに格納されているデータは、データが読み出されるとき、誤ったビットを含んでいることがある。破損したデータを再構築する伝統的な方法は、誤り訂正符号（ＥＣＣ）の適用を含む。簡単な誤り訂正符号は、データがメモリシステムに書き込まれるときに、ビットのグループのパリティを所要の論理値にセットする付加的なパリティビットを格納することによってデータを符号化する。格納中にデータが誤っていれば、ビットのグループのパリティは変化するかもしれない。データをメモリシステムから読み出すとき、ビットのグループのパリティはＥＣＣにより再び計算される。データ破損の故に、計算されたパリティは所要のパリティ条件と一致しないかもしれず、ＥＣＣはその破損を検出することができる。
【０００４】
ＥＣＣは、少なくとも２つの機能、すなわちエラー検出およびエラー訂正を有することができる。これらの機能の各々についての能力は、通常、誤っていると検出され、その後に訂正されることのできるビットの数で測られる。検出能力は、訂正能力と同じであるかあるいはそれを上回ることができる。代表的なＥＣＣは、訂正できるビット数より多い数のエラービットを検出することができる。データビットとパリティビットとの集合はときにはワードと称される。初期の例は（７，４）ハミングコードであり、これはワード（この例では７ビット）あたりに２つまでのエラーを検出する能力を有するとともに７ビットのワード中の１つのエラーを訂正する能力を有する。
【０００５】
より精巧なＥＣＣはワードあたりに２つ以上のエラーを訂正することができるけれども、データを再構築するために計算的にますます複雑になる。或る許容可能な程度に小さな誤った回復の確度を伴ってデータを回復するのが習慣である。しかし、エラーの数が多くなるに連れて、信頼できるデータ回復の確率も急速に減少するか、あるいは付加的なハードウェアおよび／または性能に関わる関連するコストはひどく高くなる。
【０００６】
ＥＥＰＲＯＭシステムを含む半導体記憶装置では、データはトランジスタのしきい値電圧により表され得る。通常、異なるデジタルデータ記憶値は異なる電圧範囲に対応する。何らかの理由で、読み出し操作中に電圧レベルがその好ましい範囲から変化すれば、エラーが生じる。エラーはＥＣＣにより検出され、そして或る場合にはこれらのエラーは訂正され得る。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許出願第１１／３８３，４０１号
【特許文献２】米国特許出願第１１／３８３，４０５号
【特許文献３】米国特許出願第１１／５３６，２８６号
【特許文献４】米国特許出願第１１／５３６，３２７号
【特許文献５】米国特許第７，８８８，６２１号
【特許文献６】米国特許第７，０９２，２９０号
【特許文献７】米国特許第６，９８３，４２８号
【発明の概要】
【０００８】
不揮発性メモリシステムにおいて、統計ユニットは、その出力として確度値を提供する復号器による不揮発性メモリアレイからのデータの復号に関する統計情報を収集する。その統計情報に応じて、メモリアレイの少なくとも１つの操作用パラメータが変更される。
【０００９】
１つの例では、変更されるパラメータは、メモリアレイへのデータの書き込みと関連付けられる。特に、メモリアレイにデータをプログラムするために使われる連続する電圧パルス間の差が統計情報に応じて変更され得る。
【００１０】
他の１つの例では、変更されるパラメータは、メモリアレイからのデータの読み出しに関連付けられる。特に、不揮発性メモリアレイからデータを読み出すために使われる分解能が統計情報に応じて変更され得る。
【図面の簡単な説明】
【００１１】
【図１】論理１状態および論理０状態を区別するために使われる電圧ＶD を含む、不揮発性メモリにおいて論理１状態および論理０状態にプログラムされるセルのしきい値電圧の確度関数を示す。
【図２】メモリアレイ、変調器／復調器回路および符号化器／復号器回路を含むメモリシステムの構成要素を示す。
【図３】論理１状態および論理０状態にプログラムされるセルの読み出ししきい値電圧の確度関数を示し、しきい値電圧値を示す。
【図４】メモリアレイ、変調器／復調器回路および符号化器／復号器回路を含むメモリシステムの構成要素を示し、復調器は確度値を復号器に提供する。
【図５】ソフト入力ソフト出力（ＳＩＳＯ）復号器を有するＥＣＣユニットを示す。
【図６】信号を変調器および復調器に提供する統計ユニットを伴うＳＩＳＯ復号器を含むメモリシステムを示す。
【図７】不揮発性メモリにおいてセルをプログラムするために使われる、電圧が増大する一連のパルスを示し、パルス間の電圧の差は統計ユニットからの信号に応じて変更される。
【図８】４つの論理状態にプログラムされるセルの読み出ししきい値電圧の確度分布を示し、また連続する読み出し操作でセルが読み出されるしきい値電圧を示し、読み出し操作の数は統計ユニットからの信号に応じて変更される。
【発明を実施するための形態】
【００１２】
多くの不揮発性メモリにおいて、メモリアレイから読み出されるデータはエラーを有し得る。すなわち、メモリアレイにプログラムされる入力データの個々のビットは、後に異なる論理値にあるものとして読み出されるかもしれない。図１は、メモリセル状態を示す１つの物理的パラメータ（しきい値電圧ＶT ）と、メモリセルがプログラムされ得る論理値との関係を示す。この例では、２つの状態だけがセルに記憶される。従って、セルは１ビットのデータを記憶する。論理０状態にプログラムされたセルは、一般的に、論理１（プログラムされていない）状態のセルより高いしきい値電圧を有する。代わりの方式では、論理１状態はメモリセルのプログラムされていない状態である。図１の縦軸は、期待されるしきい値電圧分布に基づく、特定のしきい値電圧でセルを読み出す確度を示す。論理１にプログラムされたセルについての第１の確度関数と、論理０にプログラムされたセルについての第２の確度関数とが示されている。しかし、これらの関数は、或る程度重なり合っている。そのようなセルを読み出すときに判別電圧ＶD が用いられる。ＶD より低いしきい値電圧を有するセルは状態１にあると見なされ、ＶD より高いしきい値電圧を有するセルは状態０にあると見なされる。図１に示されているように、これは常に正しいとは限らない。関数同士が重なり合うので、論理１状態にプログラムされたメモリセルがＶD より高いしきい値電圧を有すると読み出され、従って論理０状態にあると読み出されるゼロでない確度が存在する。同様に、論理０状態にプログラムされたメモリセルが論理１状態を有すると読み出されるゼロでない確度が存在する。
【００１３】
関数同士の重なり合いは、メモリアレイ内の物理的欠陥と、メモリアレイにおける後のプログラム操作または読み出し操作によってプログラム済みセルに対して引き起こされた外乱とを含む幾つかの理由から生じる。重なり合いは、多数のセルを非常に窮屈な電圧範囲の中に保つ能力の一般的欠如に起因しても生じ得る。或るプログラミング技術は、しきい値電圧の関数を狭める（より小さな標準偏差を有する）ことを可能にすることができる。しかし、そのようなプログラミングは、より長い時間を必要とし得る。或るメモリシステムでは、１ビットより多くが１つのメモリセルに格納される。一般的に、１つのメモリセルになるべく多くのビットを格納することが望ましい。利用可能なしきい値電圧範囲を効率よく使用するために、隣接し合う状態のための関数は、著しく重なり合うような関数であり得る。
【００１４】
不揮発性メモリシステムは、メモリアレイから読み出されるデータに生じるエラーを克服するために一般的にＥＣＣ方法を採用する。そのような方法は、一般的に、符号化システムに従って、メモリアレイに格納されるべき入力データから幾つかの付加的なＥＣＣビットを計算する。他のＥＣＣ方式は、もっと複雑な仕方で入力データを出力データにマッピングすることができる。ＥＣＣビットは、一般的には入力データとともに格納されるけれども、別々に格納されてもよい。入力データおよびＥＣＣビットは不揮発性メモリアレイから後に一緒に読み出され、復号器が、エラーが存在するかどうかを調べるためにデータビットおよびＥＣＣビットの両方を使用する。或る場合には、そのようなＥＣＣビットは、誤っているビットを特定するためにも使用され得る。誤っているビットはその後、その状態を変更することにより（「０」から「１」へ、あるいは「１」から「０」へ変更される）訂正される。ＥＣＣビットをデータビットに添えることは、データを不揮発性メモリに格納する前にデータを符号化する唯一の方法ではない。例えば、データビットは、次の変換、すなわち、００から１１１１へ、０１から１１００へ、１０から００１１へ、そして１１から００００への変換を提供する方式に従っても符号化され得る。
【００１５】
図２は、メモリシステム２００に格納される入力データの例を示す。入力データは、始めに、符号化器２０３を含むＥＣＣユニット２０１により受け取られる。入力データは、メモリシステム２００に格納されるべきホストデータであり得るか、あるいはメモリコントローラにより生成されたデータであり得る。図２の例は４つの入力データビット１００１を示す。符号化器２０３は、符号化方式を用いて入力データビットからＥＣＣビット（１１１１）を計算する。符号化方式の一例は、データビットの選択されたグループについてのパリティビットであるＥＣＣビットを生成することである。
【００１６】
入力データビットとＥＣＣビットとの両方が、その後、変調器２０７を含む変調／復調ユニット２０５に送られる。変調器２０７は、ＥＣＣユニット２０１により送られたデジタルデータを、メモリアレイ２０９に書き込まれる形に変換する。１つの方式では、デジタルデータは、複数のメモリセルにおける複数のしきい値電圧値に変換される。従って、デジタルデータをメモリセルに格納されたしきい値電圧に変換するために使用される種々の回路は変調器を形成すると考えられてよい。図２の例では、各メモリセルは１ビットのデータを保持することができる。従って、各メモリセルは、図１に示されているように、一方が論理「１」状態を意味し、他方が論理「０」状態を意味する２つの範囲のうちの一方の中のしきい値電圧を有することができる。論理「１」状態を記憶しているメモリセルはＶD より小さい（＜ＶD ）しきい値電圧を有し、論理「０」状態を記憶しているメモリセルはＶD より大きい（＞ＶD ）しきい値電圧を有する。少なくとも当初は２つの論理状態にプログラムされたセルの間に何らかの好ましい離隔距離が存在することを保証するために、セルはＶD より高い公称しきい値電圧にプログラムされベリファイされる。
【００１７】
データは或る期間にわたってメモリアレイ２０９に格納され得る。その間に、メモリセルのしきい値電圧を変化させる種々のイベントが発生し得る。特に、プログラミングおよび読み出しに関係する操作は、他の前にプログラムされたセルに影響を及ぼす仕方でワード線およびビット線に電圧を印加することを必要とすることがある。そのような外乱は、装置の寸法が低減されて近隣のセル間の相互作用が顕著である場合には特にありふれている。長い期間の間に電荷が失われることもある。そのようなデータ保持障害も、読み出し時にデータを変化させる可能性がある。そのような変化の結果として、データビットは、当初プログラムされたデータビットとは異なる状態を持って読み出されることがある。図２の例では、１つの入力データビット２１１は、当初はＶD より大きい（＞ＶD ）しきい値を持って書き込まれたのに、ＶD より小さい（＜ＶD ）しきい値を持つものとして読み出される。
【００１８】
メモリセルのしきい値電圧は、変調／復調ユニット２０５内の復調器２１３によりデータのビットに変換される。これは、変調器により実行されるプロセスの逆である。復調器２１３は、メモリアレイ２０９内のメモリセルから電圧または電流を読み出すセンス増幅器を含むことができ、その読みからそのセルの状態を導出することができる。図２の例では、ＶD より小さい（＜ＶD ）しきい値電圧を有するメモリセルは「１」という復調済み出力を与え、ＶD より大きい（＞ＶD ）しきい値電圧を有するメモリセルは「０」という復調済み出力を与える。これは、図に示されている出力シーケンス１１０１１１１１を与える。このシーケンスの第２のビット２０８は、メモリアレイ２０９に格納されたことの結果として誤っている。
【００１９】
復調器２１３の出力は、ＥＣＣユニット２０１内の復号器２１５に送られる。復号器２１５は、データビットおよびＥＣＣビットから、エラーがあるかないかを判定する。コードの訂正能力の範囲内の少数のエラーが存在すれば、それらのエラーは訂正される。多数のエラーが存在すれば、それらがコードの検出能力の範囲内にあるとすると、それらは特定され得るけれども訂正されない。エラーの数がコードの検出能力を超えていれば、エラーは検出され得ないか、あるいは誤った訂正という結果をもたらし得る。図２の例では、第２のビットのエラーは検出されて訂正される。これは、入力シーケンスと同一である出力（１００１）を復号器２１５から提供する。復号器２１５は入力データビットを表すデータビットおよびＥＣＣビットだけを受け取り、復号器２１５は入力データビットに対応するデータビットの訂正済みシーケンスを出力する（あるいはエラーの数が多すぎれば出力を与えることができない）ので、メモリシステム２００の復号はハード入力ハード出力復号であると考えられる。
【００２０】
メモリシステム２００に代わるメモリシステムが図３および４に示されている。図３は、ＶD ＝０であり、ＶD より下のしきい値電圧が論理０を表し、ＶD より上の電圧が論理１を表す、図１のものと類似する関数を示す。しきい値電圧を２つの異なる範囲に分割する単一の電圧ＶD を示す代わりに、ここではしきい値電圧は実際の電圧数によって示されている。論理「１」に対応する関数は０ボルトより高いところに中心を有し、論理「０」に対応する関数は０ボルトより低いところに中心を有する。
【００２１】
図４は、異なるデータ読み出しプロセスとともに、（同じ入力データビットおよびＥＣＣビットを使用する）メモリシステム２００のものと類似するデータ格納プロセスを使用するメモリシステム４２１を示す。特に、しきい値電圧が特定の値より上か下かを単純に判定する代わりに、メモリシステム４２１は図３に示されているようにしきい値電圧を読む。実際のしきい値電圧は必ずしも読まれないということが理解できる。データを格納し取り出すために他のセル操作手段が使用され得る（例えば、電流感知）。電圧感知は単に例として用いられているに過ぎない。一般的に、しきい値電圧は、トランジスタがオンに転換するゲート電圧を指す。図４は、前の例より詳しい情報を提供する読み出しの発生を示す。これは図２のものより高い分解能（また、プログラミングに使われる状態より多い状態を分解する分解能）を有する読み出しと考えられ得る。前の例の場合と同じく、読み出されるデータにエラーが発生する。ここでは、第２のビットおよび第３のビットに対応する読みが誤っている。第２のビットおよび第３のビットは論理「０」で、ＶD より低いしきい値電圧を持つようにセルをプログラムすることにより格納されたけれども、それらのセルはＶD （ＶD ＝０ボルト）より高い０．０５ボルトおよび０．１０ボルトのしきい値電圧を持つものとして読み出されている。
【００２２】
一連の読み出し操作によって図４のメモリアレイ４２３から読み出された生の電圧は、変調／復調ユニット４２７内の復調器４２５に送られる。生の電圧は、アナログ−デジタル変換の分解能により規定される有限の分解能を有する。ここでは、生のデータは確度データに変換される。特に、各セルの読みは、対応するビットが１またはゼロである確度に変換される。メモリアレイからの読みの系列（０．７５，０．０５，０．１０，０．１５，１．２５，１．０，３．０，および０．５ボルト）は、セルの状態を示し得るだけではなくて、その状態に関する確からしさの程度を提供するためにも使用され得る。これは、１つのメモリセルが特定のビットでプログラムされた確度として表現され得る。従って、０ボルトに近い読みは低い確度値を与えることができ、０ボルトからより遠い読みはより高い確度値を与える。図に示されている確度値は対数確度比（以下で詳しく説明される）である。これは、論理０状態のセルのためには負の数を提供し、論理１状態のセルのためには正の数を提供し、数の絶対値は、その状態が正しく特定されている確度を示す。第２および第３の確度値（０．１，０．２）は論理「１」を示す。第２および第３の値は、極めて低い確度を示す。
【００２３】
確度値はＥＣＣユニット４３１内の復号器４２９に送られる（或る場合には、生の値から確度値を得る動作は復号器で実行されると考えられ得る）。ＥＣＣユニット４３１は符号化器４３２も含む。復号器４２９は、確度値に対して復号操作を実行する。そのような復号器は、ソフト入力復号器であると考えられ得る。一般的に、ソフト入力は、復号されるべきデータに関連する何らかの品質情報を含む入力を指す。ソフト入力として提供される付加的な情報は、一般に、復号器がより良い結果を得ることを可能にする。復号器は、ソフト入力を用いて復号計算を実行して、計算された確度値を出力として提供することができる。これはソフト出力であると考えられ、そのような復号器はソフト入力ソフト出力（ＳＩＳＯ：Soft-Input Soft-Output）復号器であると考えられる。この出力は、復号を反復して結果を改良するためにＳＩＳＯ復号器への入力として再び使用され得る。ＳＩＳＯ復号器は、ハード出力を他のユニットに提供するより大きな復号器の一部を形成することができる。ＳＩＳＯ復号器は、一般的に良好な性能を提供し、或る場合にはハード入力ハード出力復号で可能であるよりも良好な性能を提供することができる。特に、同じ量のオーバーヘッド（ＥＣＣビットの数）に関して、ＳＩＳＯ復号器は、より大きなエラー訂正能力を提供することができる。ＳＩＳＯ復号器を効率よく使用するために、適切な符号化／復号方式が実行され、また、復調は、過度の複雑さを伴わずにかつメモリアレイからデータを読み出すために過度の時間を必要とすることなくソフト入力を効率よく得るように改変される。
【００２４】
一実施形態では、ＳＩＳＯ復号器のためのソフト入力は、不揮発性メモリアレイ内のデータを、メモリをプログラムするのに使われたものよりも多い数の状態を分解する分解能で読み出すことにより提供される。すなわち、データは、メモリセルを２つのしきい値電圧範囲のうちの一方にプログラムすることにより書き込まれることができ、その後に３つ以上のしきい値電圧範囲を分解することによって読み出されることができる。通常、読み出しに使われるしきい値電圧範囲の数は、プログラミングに使われるしきい値電圧範囲の数の倍数である（例えば、２倍）。しかし、常にそうであるとは限らない。
【００２５】
ＥＣＣユニットは専用回路として形成されるか、あるいはこの機能をコントローラ内のファームウェアによって実行してもよい。通常、コントローラは、ＥＣＣのような特定の機能のために設計された回路を有するとともにコントローラ動作を管理するファームウェアも有する特定用途向け集積回路（ＡＳＩＣ）である。従って、符号化器／復号器は、メモリコントローラにおいてハードウェアおよびファームウェアの組み合わせにより形成され得る。代わりに、符号化器／復号器（ＥＣＣユニット）はメモリチップに置かれ得る。変調／復調ユニットは、メモリチップ上に、コントローラチップ上に、別のチップあるいは何らかの組み合わせの上に存在し得る。一般的に、変調／復調ユニットは、（メモリアレイに接続された周辺回路のような）メモリチップ上の少なくとも幾つかの構成要素を含む。図４は、しきい値電圧が高い分解能で読み出される（アナログ読み出し）ことを示しているけれども、選択される分解能の程度は、使用される不揮発性メモリのタイプを含む幾つかの因子に依存し得る。
【００２６】
図５は、ＥＣＣユニット４３１、特に復号器４２９のより詳しい図を示す。復号器４２９は、ＳＩＳＯ復号器５３２およびソフト−ハード変換器５３４を含む。ＳＩＳＯ復号器は、一般的に、生の確度データを受け入れて、その生の確度データに対してＥＣＣ計算を実行して、計算された確度データを提供する。その計算された確度データは、ソフト出力であると考えられ得る。多くの場合に、そのようなソフト出力は、第２の復号反復が実行されるように入力としてＳＩＳＯ復号器に提供される。ＳＩＳＯ復号器は、少なくとも１つの所定の条件が達成されるまで、連続する反復を実行することができる。例えば、所定の条件は、一定の最小値より大きな確度を全てのビットが持つという条件であり得る。また、所定の条件は、平均確度値のような、確度値の集合体でもあり得る。所定の条件は、一反復から次の反復への収斂であり得る（すなわち、それ以上の反復からは殆ど改善がなくなるまで反復し続ける）。所定の条件は、所定数の反復が完了したという条件であり得る。これらの条件の組み合わせも使用され得る。復号は、格納される前のデータに対して符号化器４３２により行われた符号化の結果であるデータ内の符号化されたパターンを用いて、行われる。符号化器４３２および復号器４２９は、両方とも、ＥＣＣユニット４３１の部分であると考えられる。
【００２７】
効率の良い復号は、適切な符号化／復号方式を持つことに依存する。ＳＩＳＯ復号器５３２のようなＳＩＳＯ復号器での後の復号に適する仕方でデータを符号化するための種々の方式が知られている。符号化／復号方式は、ターボ符号、積符号、ＢＣＨ符号、リード−ソロモン符号、畳み込み符号（米国特許出願第１１／３８３，４０１号（特許文献１）および第１１／３８３，４０５号（特許文献２）を参照）、ハミング符号、および低密度パリティ検査（ＬＤＰＣ：Low Density Parity Check）符号を含むが、これらに限定されるものではない。ＬＤＰＣ符号およびターボ符号、並びにそれらがＳＩＳＯ復号でどのように使用され得るかについての詳しい記述が、本願と同日あるいはほぼ同じ日に出願された「Soft-input soft-output decoder for nonvolatile memory 」および「Methods of soft-input soft-output decoding for nonvolatile memory 」という米国特許出願第１１／５３６，２８６号（特許文献３）および第１１／５３６，３２７号（特許文献４）において提供されている。
【００２８】
図６は、ＳＩＳＯ復号器６５７に接続された統計ユニット６５５を有する復号器６５３を含む本発明の実施形態に従うメモリシステム６５１を示す。統計ユニット６５５は、ＳＩＳＯ復号器６５７により実行される復号操作に関するＳＩＳＯ復号器６５７からのデータを受け取る。特に、復調器６５９からＳＩＳＯ復号器６５７により受け取られるデータの品質の１つ以上の統計指標を得るために、統計ユニット６５５は、ＳＩＳＯ復号器６５７により実行された操作に関する統計データを集めることができる。データの品質の１つの尺度は、データの信号対雑音比（ＳＮＲ）である。ＳＮＲまたは他の品質尺度は、ＳＩＳＯ復号器により復号された全てのデータについて或る期間にわたって得られる。あるいは、メモリアレイのいろいろな部分について別々の品質指標が計算され得る。品質指標は、統計的に充分な母集団が使用されるように、大量のデータについて得ることができる。品質指標は、反復復号方式において所定の条件を達成するために必要な反復の平均数から得ることができる。品質指標は、訂正が必要とされる割合、訂正の平均ハミング距離、実行される訂正の種類、あるいはＳＩＳＯ復号器による復号に関する他の何らかの統計量から得ることができる。
【００２９】
一般的に、特定の復号器は、或る最高ＳＮＲまでのＳＮＲの範囲を有するデータを復号することができる。或るメモリシステムでは、ソフト入力のＳＮＲに影響を及ぼす仕方で操作用パラメータを変更することが可能である。しかし、より良い（より高い）ＳＮＲを提供するためには、より大きな複雑さまたはより長い時間あるいは複雑さおよび時間の両方が必要であるかもしれない。従って、一般的に、メモリシステムを動作させる上で、良好なＳＮＲを得ることと付加的な時間および複雑さを招くこととの間にはトレードオフがある。復号器が或る最低ＳＮＲより上のデータを確実に訂正できる場合には、その最低に近いＳＮＲを与える仕方でメモリシステムを動作させるのが効率的である。復号器への入力のために特定のＳＮＲ（またはＳＮＲ範囲）が目標ＳＮＲ（目標範囲）として選択され得る。通常、メモリからのデータのＳＮＲは、使用に連れて劣化する。従って、メモリは、当初は高いＳＮＲでデータを提供できるが、後には低いＳＮＲでデータを提供できる。一例では、ＳＮＲを目標値あるいは目標範囲内に保つために操作用パラメータが調整される。メモリシステムが新しくて高いＳＮＲを有する傾向があるときには、操作用パラメータは、目標ＳＮＲまたはＳＮＲ範囲を保つために適切なレベルにセットされ得る。その後、或る程度使用された後、メモリはより低いＳＮＲを有するデータを出力しがちであり、操作用パラメータは、使用により生じたＳＮＲ低下を補償するために適切なレベルにセットされ得る。このように、ＳＮＲは目標ＳＮＲまたは目標ＳＮＲ範囲内に保たれる。あるいは、復号器の性能に影響する操作用パラメータを変更することによって復号器への入力データのＳＮＲ低下を補償するのが便利かもしれない。メモリアレイの操作用パラメータのそのような調整は、ＳＮＲ値またはＳＩＳＯ復号から得られる他の品質指標に基づくことができる。図６は、統計ユニット６５５がフィードバック信号を変調器６６１および復調器６５９に提供することを示す。他の信号も統計ユニット６５５により提供され得る。特定の例では、プログラミング操作および読み出し操作が統計ユニットからの信号に応じて変更される。他の例では、他の操作用パラメータが変更され得る。
【００３０】
変更され得るメモリアレイの操作用パラメータの一例は、メモリセルをプログラムするために使用される電圧パルスのパルス高である。１つのプログラミング方式では、メモリセルは、メモリセルが或る目標しきい値電圧に達しているとベリファイされるまでメモリセルのコントロールゲートに増大する電圧パルスの列を加えることによって、プログラムされる。図７は、メモリセルをプログラムするために使用されるプログラミング電圧パルスの列の例を示す。各電圧パルスの間に、メモリセルが所定のしきい値電圧に達しているか否かをベリファイするためにベリファイ操作が実行される。連続するプログラミング電圧パルスは、増分ΔＶ増大する。この増分のサイズは、メモリアレイから読み出されるデータの品質に影響し得る。一般的に、ΔＶが小さければ、個々の論理状態についてのしきい値電圧分布は狭いであろうから（小さな標準偏差）、データの誤読は減少する。しかし、ΔＶが小さければ、メモリセルを特定のしきい値電圧にプログラムするために必要なパルスの数、従って時間は増大する。一実施形態では、増分ΔＶのサイズは、統計ユニットからの品質表示に応じて選択される。特に、ＳＮＲが目標より高いことを統計ユニットが表示すれば、ΔＶのサイズを大きくすることができ、従ってメモリアレイから読み出されるデータのＳＮＲを低下させることができる。ＳＮＲが目標より低いことを統計ユニットが表示すれば、ΔＶのサイズを減少させ、従ってメモリアレイから読み出されるデータのＳＮＲを高めることができる。
【００３１】
メモリシステムのＳＮＲは当初は高い傾向があるので、ΔＶのサイズは当初は比較的に大きい所定値にセットされ得る。メモリが使用されるに連れて、アレイから読み出されるデータのＳＮＲは低下しがちである。この低下は統計ユニット６５５により検出され、それに応じてΔＶのサイズが小さくされる。従って、統計ユニット６５５は、メモリアレイ６６３に対して操作を実行する変調器６６１内のプログラミング回路にフィードバック信号を提供し、プログラミング回路はフィードバック信号に応じてメモリアレイ６６３の少なくとも１つの操作用パラメータを変更する。プログラミングに関連する他の操作用パラメータは、統計ユニット６５５からの信号に応じて変更され得る。
【００３２】
変更され得る操作用パラメータの他の１つの例は、読み出し操作の分解能である。図８は、メモリセルが４つの状態のうちの１つにプログラムされる例を示す。３つの連続する読み出しが実行され、第１の読み出しは４つのプログラムされた状態に対応する４つのしきい値電圧範囲を分解し、第２の読み出しは第１の読み出しのしきい値電圧範囲を３つの範囲にさらに分解し、第３の読み出しはこれらの範囲をさらに分解する。これらの読み出しの各々は、メモリシステムからデータを出力するために必要とされる時間を増大させる。より多くの読み出しは、一般的に、より高い分解能を提供し、それはＳＩＳＯ復号器により多くの情報を与え、ＳＩＳＯ復号器がより良好にデータを訂正することを可能にする。しかし、高分解能読み出しはより多くの時間を必要とする。例えば、２つの状態を識別する単一読み出しを完了させるには２５マイクロ秒を必要とし、４つの状態を識別する３つの読み出しは７５マイクロ秒を必要とし得る。一例では、実行される読み出しの数は、統計ユニット６５５からの信号により決定される。従って、統計ユニット６５５が高いＳＮＲを表示したならば、読み出しの数が減らされ得て、時間を節約することができる。統計ユニット６５５が低いＳＮＲを表示したならば、読み出しの数が増大され得て、ＳＩＳＯ復号器が利用できる情報が増やされ、従って低いＳＮＲを補うことができる。他のメモリでは、図８のもののような読み出しパターンを示さない他の読み出し方式が使用される。一般的に、そのようなメモリでは、より高い分解能はより長い時間またはより大きな複雑さを必要とする。それ故、分解能を低下させることは、一般的に、より速い、またはより簡単な、あるいはより速くてかつより簡単な読み出しを可能にする。
【００３３】
一例では、読み出し分解能は、当初、所定のレベルにセットされる。統計ユニットによって統計情報が集められると、この数は変更され得る。例えば、メモリアレイから出力されるデータのＳＮＲは、メモリが使用されるに連れて低下し、そして補償するために、読み出し分解能が高められ得る。従って、統計ユニットはフィードバック信号を提供し、フィードバック信号に応じてメモリアレイの操作用パラメータが変更される。読み出しまたは書き込みに関連するメモリアレイ６６３の他の操作用パラメータも、統計ユニット６５５からの信号に応じて変更され得る。
【００３４】
図８の読み出し方式は、ＮＡＮＤフラッシュメモリに使用され得る。これは、直列にともに接続されたメモリセルのストリングを使用するタイプのメモリである。種々のＮＡＮＤフラッシュメモリのデザインとＮＡＮＤフラッシュメモリを操作する方法とが、米国特許第７，８８８，６２１号（特許文献５）、第７，０９２，２９０号（特許文献６）および第６，９８３，４２８号（特許文献７）に記載されている。
【００３５】
或る場合には、連結された符号化および復号を提供するために、ＥＣＣユニットは２つ以上の符号化器と２つ以上の復号器とを使用することができる。そのような構成において１つ以上の復号器から統計情報を集める統計ユニットが提供され得る。あるいは、いろいろな復号器のために、１つまたはより多くの別々の出力を各々提供する別々の統計ユニットが提供され得る。
【００３６】
統計ユニットからの信号は、メモリアレイの操作用パラメータに影響するメモリシステム内の任意の回路に提供され得る。これは、変調器、復調器、メモリアレイ、ＥＣＣユニットの中の回路、またはメモリコントローラ内の任意の回路を含む。２つ以上の操作用パラメータを制御するために２つ以上の信号が統計ユニットにより生成され得る。例えば、統計ユニットにより提供される１つの信号に応じてプログラミングパルス電圧および読み出し分解能の両方を変更するか、あるいは同じまたは異なる統計情報に基づくことのできる別々の信号に応じて変更され得る。
【００３７】
或る場合には、統計ユニットはコントローラＡＳＩＣの一部分として形成される。統計ユニットは、専用回路により、コントローラ内のファームウェアにより、あるいは専用回路およびファームウェアの組み合わせにより、形成され得る。あるいは、統計ユニットはコントローラとは別に、専用チップ上に、あるいは他の態様で、形成され得る。
【００３８】
前の種々の例はフラッシュメモリに関連している。しかし、他の種々の不揮発性メモリが現在使用され、ここに記載された技術は任意の適切な不揮発性メモリシステムに適用され得る。そのようなメモリシステムは、強誘電性記憶に基づくメモリシステム（ＦＲＡＭまたはＦｅＲＡＭ）、磁気抵抗記憶に基づくメモリシステム（ＭＲＡＭ）、および相変化に基づくメモリ（ＰＲＡＭまたは「オボニック・ユニファイド・メモリ (Ovonic Unified Memory)」を表す「ＯＵＭ」）を含むことができるが、これらに限定されるものではない。
【００３９】
本願明細書において引用された全ての特許、特許出願、論文、本、仕様書、他の刊行物、書類および事物は、あらゆる目的のためにその全体が本願明細書において参照により援用されている。援用されている刊行物、書類または事物のいずれかと本願明細書の本文との間での用語の定義または使用法における不一致あるいは矛盾の範囲に対しては、本願明細書における用語の定義または使用法が優越するものとする。
【００４０】
本発明の種々の態様は或る好ましい実施形態に関して記述されたけれども、本発明は、添付されている特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できよう。
【図１】
2010505200.tif 000003
【図２】
2010505200.tif 000004
【図３】
2010505200.tif 000005
【図４】
2010505200.tif 000006
【図５】
2010505200.tif 000007
【図６】
2010505200.tif 000008
【図７】
2010505200.tif 000009
【図８】
2010505200.tif 000010
【国際調査報告】
2010505200.tif 000011
2010505200.tif 000012