(57)【特許請求の範囲】
【請求項１】
フラッシュメモリアレイを管理する方法であって、
第１の時点において、メモリセルの複数のメモリ状態を第１のしきい値ウィンドウにマッピングするステップであって、複数のメモリ状態のうちの個々のメモリ状態が前記第１のしきい値ウィンドウのサブレンジにマッピングされ、複数のメモリ状態が第１のメモリ状態数を含むステップと、
第２の時点において、メモリセルの第１のメモリ状態数を前記第１のしきい値ウィンドウより広い第２のしきい値ウィンドウにマッピングするステップであって、複数のメモリ状態のうちの個々のメモリ状態が前記第２のしきい値ウィンドウのサブレンジにマッピングされるステップと、
前記第１または第２のしきい値ウィンドウのサブレンジを分解し、さらに前記サブレンジ内で分解することによりメモリセルを読み出すステップと、
前記読み出すステップで読み出された結果を、符号化方式に従ってソフト出力を計算するためにその読み出された結果をソフト入力として使用するソフト入力ソフト出力復号器に提供するステップと、を含み、
前記第１のしきい値ウィンドウへのマッピングから前記第２のしきい値ウィンドウへのマッピングへの変更は、前記ソフト入力ソフト出力復号器により得られた情報に応じて行われる方法。
【請求項２】
フラッシュメモリアレイを管理する方法であって、
第１の時点において、メモリセルの複数のメモリ状態を第１のしきい値ウィンドウにマッピングするステップであって、複数のメモリ状態のうちの個々のメモリ状態が前記第１のしきい値ウィンドウのサブレンジにマッピングされ、複数のメモリ状態が第１のメモリ状態数を含むステップと、
第２の時点において、メモリセルの第１のメモリ状態数を前記第１のしきい値ウィンドウより広い第２のしきい値ウィンドウにマッピングするステップであって、複数のメモリ状態のうちの個々のメモリ状態が前記第２のしきい値ウィンドウのサブレンジにマッピングされるステップと、を含み、
前記第１のしきい値ウィンドウへのマッピングから前記第２のしきい値ウィンドウへのマッピングへの変更は、メモリセルを含むフラッシュメモリアレイの部分が所定回数より多く消去されたことに応じて行われる方法。
【請求項３】
フラッシュメモリアレイを管理する方法であって、
第１の時点において、メモリセルの複数のメモリ状態を第１のしきい値ウィンドウにマッピングするステップであって、複数のメモリ状態のうちの個々のメモリ状態が前記第１のしきい値ウィンドウのサブレンジにマッピングされ、複数のメモリ状態が第１のメモリ状態数を含むステップと、
第２の時点において、メモリセルの第１のメモリ状態数を前記第１のしきい値ウィンドウより広い第２のしきい値ウィンドウにマッピングするステップであって、複数のメモリ状態のうちの個々のメモリ状態が前記第２のしきい値ウィンドウのサブレンジにマッピングされるステップと、を含み、
前記第１のしきい値ウィンドウのサブレンジは、第１のプログラム済みメモリ状態と第２のプログラム済みメモリ状態とを判別する第１の判別電圧を含む複数の第１の所定電圧に対応し、
前記第２のしきい値ウィンドウのサブレンジは、第１のプログラム済みメモリ状態と第２のプログラム済みメモリ状態とを判別する第２の判別電圧を含む複数の第２の所定電圧に対応し、
前記第２の判別電圧は、前記第１および第２のプログラム済みメモリ状態のデータのＥＣＣ訂正から決定される方法。
【請求項４】
請求項３記載の方法において、
前記第２の判別電圧は、前記第１のプログラム済みメモリ状態から前記第２のプログラム済みメモリ状態へのＥＣＣ復号器による訂正の数を、前記第２のプログラム済みメモリ状態から前記第１のプログラム済みメモリ状態へのＥＣＣ復号器による訂正の数と平均化させるために選択される方法。
【請求項５】
フラッシュメモリアレイを管理する方法であって、
第１の時点において、メモリセルの複数のメモリ状態を第１のしきい値ウィンドウにマッピングするステップであって、複数のメモリ状態のうちの個々のメモリ状態が前記第１のしきい値ウィンドウのサブレンジにマッピングされ、複数のメモリ状態が第１のメモリ状態数を含むステップと、
第２の時点において、メモリセルの第１のメモリ状態数を前記第１のしきい値ウィンドウより広い第２のしきい値ウィンドウにマッピングするステップであって、複数のメモリ状態のうちの個々のメモリ状態が前記第２のしきい値ウィンドウのサブレンジにマッピングされるステップと、
メモリ状態にそれぞれ対応する前記第１のしきい値ウィンドウのサブレンジのうちの１つの中にあるものとしてメモリセルのしきい値電圧を特定し、かつ出力を提供するために前記第１のしきい値ウィンドウのサブレンジのうちの一つひとつの中でさらに分解することによって、メモリセルを読み出すステップと、
ソフト入力ソフト出力復号器を使用して前記メモリセルの出力に対してＥＣＣ訂正を実行するステップと、
その後に、メモリセルを消去し、またプログラムするステップと、
その後に、前記メモリ状態にそれぞれ対応する前記第２のしきい値ウィンドウのサブレンジのうちの１つの中にあるものとして前記メモリセルのしきい値電圧を特定することによって、メモリセルを読み出すステップであって、複数のサブレンジのうちの１つは前記ソフト入力ソフト出力復号器により実行されるＥＣＣ訂正に従って確定される限界値を有するステップと、
を含む方法。
【請求項６】
メモリ状態数がモード間で同じであるフラッシュメモリシステムであって、
複数のプログラム済み状態にプログラム可能な複数のメモリセルを含むフラッシュメモリアレイと、
前記フラッシュメモリアレイに接続された読み出し回路であって、前記読み出し回路は、第１のモードにおいて複数のプログラム済み状態を識別するためにメモリセルのしきい値電圧を第１の複数の所定電圧と比較し、また第２のモードにおいて複数のプログラム済み状態を識別するためにメモリセルのしきい値電圧を第２の複数の所定電圧と比較するように構成され、前記第２の複数の所定電圧のうちの最も高い所定電圧は前記第１の複数の所定電圧のうちの最も高い所定電圧よりも高い所定電圧である読み出し回路と、
ソフト入力ソフト出力復号器と、を備え、
前記フラッシュメモリシステムは、前記ソフト入力ソフト出力復号器により生成された信号に応答して前記第１のモードから前記第２のモードに変わるようにさらに動作可能であるフラッシュメモリシステム。
【請求項７】
メモリ状態数がモード間で同じであるフラッシュメモリシステムであって、
複数のプログラム済み状態にプログラム可能な複数のメモリセルを含むフラッシュメモリアレイと、
前記フラッシュメモリアレイに接続された読み出し回路であって、前記読み出し回路は、第１のモードにおいて複数のプログラム済み状態を識別するためにメモリセルのしきい値電圧を第１の複数の所定電圧と比較し、また第２のモードにおいて複数のプログラム済み状態を識別するためにメモリセルのしきい値電圧を第２の複数の所定電圧と比較するように構成され、前記第２の複数の所定電圧のうちの最も高い所定電圧は前記第１の複数の所定電圧のうちの最も高い所定電圧よりも高い所定電圧である読み出し回路と、
消去総数インジケータと、を備え、
前記フラッシュメモリシステムは、前記消去総数インジケータにより維持されている消去総数が所定値を超えたときに前記第１のモードから前記第２のモードに変わるようにさらに動作可能であるフラッシュメモリシステム。
【請求項８】
メモリ状態数がモード間で同じであるフラッシュメモリシステムであって、
複数のプログラム済み状態にプログラム可能な複数のメモリセルを含むフラッシュメモリアレイと、
前記フラッシュメモリアレイに接続された読み出し回路であって、前記読み出し回路は、第１のモードにおいて複数のプログラム済み状態を識別するためにメモリセルのしきい値電圧を第１の複数の所定電圧と比較し、また第２のモードにおいて複数のプログラム済み状態を識別するためにメモリセルのしきい値電圧を第２の複数の所定電圧と比較するように構成され、前記第２の複数の所定電圧のうちの最も高い所定電圧は前記第１の複数の所定電圧のうちの最も高い所定電圧よりも高い所定電圧である読み出し回路と、
前記メモリアレイからのデータを復号するためのＥＣＣ復号器と、
前記ＥＣＣ復号器からの情報に応じて前記第２の複数の所定電圧のうちの少なくとも１つの所定電圧を高めるかまたは低めるための調整回路と、
を備えるフラッシュメモリシステム。
【請求項９】
請求項８記載のフラッシュメモリシステムにおいて、
前記ＥＣＣ復号器は、ソフト入力ソフト出力復号器であるフラッシュメモリシステム。
【請求項１０】
請求項９記載のフラッシュメモリシステムにおいて、
前記読み出し回路は、ソフト入力を前記ソフト入力ソフト出力復号器に提供するフラッシュメモリシステム。
【請求項１１】
請求項１０記載のフラッシュメモリシステムにおいて、
前記フラッシュメモリシステムは、前記ソフト入力ソフト出力復号器により実行される訂正に応じて前記第１のモードから前記第２のモードに変わるように構成されたフラッシュメモリシステム。
【請求項１２】
請求項１，２，３または５記載の方法において、
複数のメモリ状態は、２，４または８というメモリ状態の中から選択されるメモリ状態数を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリシステムと、不揮発性メモリシステムを操作する方法とに関する。
【背景技術】
【０００２】
不揮発性メモリシステムは種々の用途に用いられている。幾つかの不揮発性メモリシステムは、パーソナルコンピュータのようなより大きなシステムに埋め込まれる。他の不揮発性メモリシステムは、ホストシステムに取り外し可能に接続され、異なるホストシステム間で交換され得る。そのような取り外し可能なメモリシステムの例には、メモリカードおよびＵＳＢフラッシュドライブが含まれる。不揮発性メモリカードを含む電子回路カードは、数個の良く知られている標準規格に従って商業的に実現されている。メモリカードは、大量のデータの格納のためにパーソナルコンピュータ、携帯電話機、個人用携帯情報端末（ＰＤＡ）、デジタル静止画カメラ、デジタル動画カメラ、携帯用オーディオプレーヤおよび他のホスト電子装置に用いられる。そのようなカードは、普通、再プログラム可能な不揮発性半導体メモリセルアレイと、メモリセルアレイの動作を制御しサポートし、かつカードが接続されているホストとインターフェイスするコントローラとを含む。同じタイプの数個のカードが、そのタイプのカードを受け入れるように設計されたホストカードスロットにおいて交換され得る。しかし、多くの電子カードの標準規格の発展は、互いにいろいろな程度に互換性のない種々のタイプのカードを作り出した。１つの標準規格に従って作られたカードは、普通、他の標準規格のカードと共同して動作するように設計されたホストには使用できない。メモリカード標準規格は、ＰＣカード標準規格、コンパクトフラッシュ（登録商標）カード（ＣＦ（登録商標）カード）標準規格、スマートメディア（登録商標）カード標準規格、マルチメディアカード（ＭＭＣ（登録商標））標準規格、セキュアデジタル（ＳＤ）カード標準規格、ｍｉｎｉＳＤ（登録商標）カード標準規格、Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ（ＳＩＭ）標準規格、メモリスティック（登録商標）標準規格、メモリスティックＤｕｏカード標準規格、およびｍｉｃｒｏＳＤ／ＴｒａｎｓＦｌａｓｈ（登録商標）メモリモジュール標準規格を含む。サンディスク  コーポレイションから「Ｃｒｕｚｅｒ（登録商標）」という商標のもとで市販されている幾つかのＵＳＢフラッシュドライブ製品がある。ＵＳＢフラッシュドライブは、通常、前述したメモリカードより大きくて、それらとは異なる形状を有する。
【０００３】
不揮発性メモリシステムに格納されているデータは、データが読み出されるとき、誤ったビットを含んでいることがある。破損したデータを再構築する伝統的な方法は、誤り訂正符号（ＥＣＣ）の適用を含む。簡単な誤り訂正符号は、データがメモリシステムに書き込まれるときに、ビットのグループのパリティを所要の論理値にセットする付加的なパリティビットを格納することによってデータを符号化する。格納中にデータが誤っていれば、ビットのグループのパリティは変化するかもしれない。データをメモリシステムから読み出すとき、ビットのグループのパリティはＥＣＣにより再び計算される。データ破損の故に、計算されたパリティは所要のパリティ条件と一致しないかもしれず、ＥＣＣはその破損を検出することができる。
【０００４】
ＥＣＣは、少なくとも２つの機能、すなわちエラー検出およびエラー訂正を有することができる。これらの機能の各々についての能力は、通常、誤っていると検出され、その後に訂正されることのできるビットの数で測られる。検出能力は、訂正能力と同じであるかあるいはそれを上回ることができる。代表的なＥＣＣは、訂正できるビット数より多い数のエラービットを検出することができる。データビットとパリティビットとの集合はときにはワードと称される。初期の例は（７，４）ハミングコードであり、これはワード（この例では７ビット）あたりに２つまでのエラーを検出する能力を有するとともに７ビットのワード中の１つのエラーを訂正する能力を有する。
【０００５】
より精巧なＥＣＣはワードあたりに２つ以上のエラーを訂正することができるけれども、データを再構築するために計算的にますます複雑になる。或る許容可能な程度に小さな誤った回復の尤度を伴ってデータを回復するのが習慣である。しかし、エラーの数が多くなるに連れて、信頼できるデータ回復の確率も急速に減少するか、あるいは付加的なハードウェアおよび／または性能に関わる関連するコストはひどく高くなる。
【０００６】
ＥＥＰＲＯＭシステムを含む半導体記憶装置では、データはトランジスタのしきい値電圧により表され得る。通常、異なるデジタルデータ記憶値は異なる電圧範囲に対応する。何らかの理由で、読み出し操作中に電圧レベルがその好ましい範囲から変化すれば、エラーが生じる。エラーはＥＣＣにより検出され、そして或る場合にはこれらのエラーは訂正され得る。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許出願第１１／３８３，４０１号
【特許文献２】米国特許出願第１１／３８３，４０５号
【特許文献３】米国特許出願第１１／５３６，２８６号
【特許文献４】米国特許出願第１１／５３６，３２７号
【特許文献５】米国特許出願第１１／５３６，３４７号
【特許文献６】米国特許出願第１１／５３６，３７２号
【特許文献７】米国特許第５，６５７，３３２号
【特許文献８】米国特許第６，７５１，７６６号
【発明の概要】
【０００８】
フラッシュメモリアレイにおいて、第１の時点において、複数のメモリ状態は第１のしきい値ウィンドウにマッピングされ、複数のメモリセルのうちの個々のメモリセルが第１のしきい値ウィンドウのサブレンジにマッピングされ、後の第２の時点において、複数のメモリ状態は第２のしきい値ウィンドウにマッピングされ、複数のメモリ状態のうちの個々のメモリ状態は第２のしきい値ウィンドウのサブレンジにマッピングされ、第２のしきい値ウィンドウは第１のしきい値ウィンドウより広い。
【０００９】
フラッシュメモリアレイからデータを読み出す方法は、複数のメモリセルのしきい値電圧を第１の所定電圧と比較することによってメモリから第１のデータビットを読み出すステップと、第１のデータビットをＥＣＣ復号器において復号するステップと、その後にメモリセルのしきい値電圧を第２の所定電圧と比較することによって複数のメモリセルから第２のデータビットを読み出すステップとを含み、第２の所定電圧はＥＣＣ復号器における第１のデータビットの復号から決定される。
【００１０】
フラッシュメモリシステムは、複数のプログラム済み状態にプログラムされる複数のセルを含むフラッシュメモリアレイと、メモリアレイに接続された読み出し回路とを含み、読み出し回路は、第１のモードにおいて複数のプログラム済み状態を識別するためにメモリセルのしきい値電圧を第１の複数の所定電圧と比較し、また第２のモードにおいて複数のプログラム済み状態を識別するためにメモリセルのしきい値電圧を第２の複数の所定電圧と比較し、第２の複数の所定電圧のうちの最高の１つは第１の複数の所定電圧のうちの最高の１つより高い。
【００１１】
フラッシュメモリシステムは、複数の不揮発性メモリセルを含むメモリアレイと、メモリアレイからのデータを復号するＥＣＣ復号器と、メモリアレイに接続されて、メモリセルのプログラム済み状態を判定するためにメモリセルのしきい値電圧を少なくとも１つの所定電圧と比較する読み出し回路と、ＥＣＣ復号器からの情報に応じて少なくとも１つの所定電圧を高めるかまたは低める調整回路とを含む。
【図面の簡単な説明】
【００１２】
【図１】論理１状態および論理０状態を区別するために使われる電圧Ｖ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 」という米国特許出願第１１／５３６，３２７号（特許文献４）において提供されている。
【００２９】
或る場合には、統計量は、ＥＣＣ復号器により実行される訂正に関して集められ得る。そのような統計量は、メモリアレイの動作パラメータにおいて調整を行うために使用され得る。２００６年９月２８日に出願された米国特許出願第１１／５３６，３４７号（特許文献５）および第１１／５３６，３７２号（特許文献６）は、調整される動作パラメータを有する不揮発性メモリシステムと、そのようなパラメータを調整する方法とを記述している。
【００３０】
調整され得る不揮発性メモリの動作パラメータの一例は、プログラム済みメモリ状態間の判別電圧である。図６は、論理１にプログラムされたセル、また論理０にプログラムされたセルの読み出ししきい値電圧についての尤度関数６３５ａ，６３５ｂを示す。第１の判別電圧ＶD は多数のエラーを提供する位置に示されている。ＶD より高いしきい値電圧を有するどのセルも、図６が示すようにそのようなセルが実際には論理１にプログラムされた顕著な尤度が存在するのに、論理０にプログラムされていると見なされるからである。判別電圧としてＶD を使用することは、かなりの数のセルが、論理１にプログラムされたのに論理０であるものとして読み出されるということを意味する。そのようなデータビットは一般にＥＣＣにより訂正される。論理０にプログラムされたセルが論理１を有するものとして読み出される尤度は非常に低いので、そのようなビットのＥＣＣ訂正は稀である。従って、この場合にはＥＣＣ復号器は１から０への訂正より多くの０から１への訂正を実行する。
【００３１】
第２の判別電圧ＶD ’は、論理１関数と論理０関数とが交差するしきい値電圧のところに示されている。従って、１つのセルがＶD ’のしきい値電圧を有する場合、そのセルが論理１にプログラムされた尤度と論理０にプログラムされた尤度とは等しい。これは、判別電圧のために最適の位置である。ＶD ’に存在する判別電圧でも、セルのしきい値電圧が誤った論理状態を表す尤度が或る程度存在する。しかし、その尤度は低く、論理０にプログラムされて後に論理１を有するものとして読み出されるセルの数は、論理１にプログラムされて後に論理０を有するものとして読み出されるセルの数に等しい。判別電圧がその最適値に存在しないとき（例えば、ＶD に）、その判別電圧を、その最適値（例えば、ＶD ’）に移すか、あるいは少なくともそれをその最適値の近くに移すべく、調整することが望ましい。判別電圧がその最適値に存在しないことを検出する１つの方法は、判別電圧の両側のメモリ状態に対応するビットに対してＥＣＣ復号器により行われる訂正から検出するという方法である。
【００３２】
ＥＣＣ復号は、一般的に、判別の両側の論理状態の間で行われる訂正の数から、判別電圧が最適位置にあるかどうかを示すことができる。判別電圧がその最適位置に存在しなければ、ＥＣＣ復号は（判別電圧の両側の状態からの訂正の数から）判別電圧が移動させられるべき方向を示すことができる。ＥＣＣ復号は、低い方の状態から高い方の状態への訂正の数と比較される高い方の状態（この例では論理０）から低い方の状態（この例では論理１）への訂正の数から、判別電圧がどれだけ移動させられるべきかをも示すことができる。初期判別電圧を用いて読み出されたデータのＥＣＣ訂正から、判別電圧が調整されるべきか否かを判定するために適切な回路が使用され得る。そのような調整が行われるべきであるならば、回路は、それらがどの方向に調整されるべきであるかを示すことができ、また、それらがどれだけ調整されるべきであるかをも示すことができる。
【００３３】
図６は１ビットの記憶されているデータを表す２つのプログラム済み状態を示しているに過ぎないけれども、或る構成では、セルは、１ビットより多くの記憶されているデータを表す３つ以上の状態にプログラムされ得る。図７Ａは、メモリセルのしきい値電圧範囲（しきい値ウィンドウ）が、プログラム済み状態をそれぞれ表す８個のサブレンジに分割されている例を示す。そのようなセルに３ビットのデータが格納される。セルは、セルのしきい値電圧を７個の判別電圧Ｖａ〜Ｖｇと比較する第１の読み出しパス（Ｒ１）の間に、８個のサブレンジ７３７ａ〜ｈのうちの１つに存在するものとして読み出される。判別電圧Ｖａ〜Ｖｇは、隣接する状態についての尤度関数が交差すると期待される位置にある。セルのしきい値電圧を判別電圧Ｖａ〜Ｖｇと比較するのに加えて、しきい値電圧は第２の読み出しパス（Ｒ２）において中間電圧Ｖｈ〜Ｖｏとも比較される。中間電圧Ｖｈ〜Ｖｏは判別電圧Ｖａ〜Ｖｇの間に存在し、第１の読み出しパスＲ１の各サブレンジ７３７ａ〜７３７ｈの中でさらなる分解を提供する。サブレンジ７３７ａ〜ｈ内でさらに分解する付加的な中間電圧Ｖｐ−Ｖｅｅを用いて第３の読み出しパス（Ｒ３）が実行される。或る場合には、高い分解能を達成するために、もっと多くの読み出しパスが実行され得る。２つ以上の読み出しパスの結果は、メモリセルのしきい値電圧を高い分解能で提供するために使用され得る。これは、アナログ・デジタル変換の１つの形であると考えられ得る。各々の読み出しの結果は、メモリアレイのための周辺回路として形成されたレジスタにラッチされ得る。全ての必要な読み出しが実行されたとき、レジスタの内容はしきい値電圧値（あるいは同等のもの）を提供するために使用され、それは、ＥＣＣ復号器のような他の回路に送られる。代わりに、各読み出しからの出力はメモリチップから他の場所の（例えば、コントローラＡＳＩＣ内の）回路に送られてよく、そこでアナログ・デジタル変換が実行される。そのようなデータを送る動作は、効率のためにさらなる読み出しと並行して行われ得る。
【００３４】
或るメモリシステムでは、ＥＣＣ訂正に応じて他の調整が行われ得る。例えば、しきい値電圧を特定のビットに関連付けられた確率値と相関させるためにルックアップテーブルが使用される場合、そのルックアップテーブルは、１つの状態から他の状態への訂正の数を平均させるために調整され得る。このように、しきい値電圧と確率との相関は、ＥＣＣ訂正の観察結果に応じて動的に更新される。
【００３５】
図６の２状態メモリセルの場合と同じく、図７Ａの例において判別電圧は訂正を隣接する状態間で平均させるために、調整され得る。例えば、判別電圧Ｖｃは、１００状態から１０１状態への訂正の数と１０１状態から１００状態への訂正の数とがより同等となるように、調整され得る。一般に、判別電圧が調整される場合には、第２の読み出しパスＲ２および第３の読み出しパスＲ３の中間電圧も調整される。一般に、そのような中間電圧は、セルのしきい値電圧に関する有益な情報を得るためのパターンに配列される。そのような情報は、メモリセルの状態に関する確率値を提供するために使用され得る。Ｒ１，Ｒ２およびＲ３のような別々の読み出しパスを実行することが常に必要というわけではなくて、或る場合には、判別電圧および中間電圧を含む単一の読み出しとして単一シーケンスの電圧比較が実行される。他の１つの例では、二等分探索が実行され得る。
【００３６】
図７Ａの例では２つより多いメモリ状態があるので、ＥＣＣによる訂正およびそのような訂正の分析はより複雑であり得る。一般に、１から０への訂正および０から１への訂正の数を単に監視することは充分ではない。セルあたりに３ビットでは、１から０への訂正が０から１への訂正より多いということは、ビットのメモリ状態へのマッピングに依存して判別電圧が高められるべき場合もあり、低められるべき場合もあるということを意味する。例えば、１００状態と１０１状態との間の判別電圧を調整するには、最下位ビットの訂正を考慮するだけでよい。他のビットが、これらの両状態について同じだからである。０から１への訂正の数が１から０への訂正の数より多いということは（高い方のビットとして１および０を有するセルにおける最下位ビットについて）、しきい値電圧Ｖｃが高すぎて、低められるべきであるということを示す。統計ユニットは、適切な調整が行われ得るように、訂正されたビットおよび訂正されなかったビットを表すために使用されるメモリ状態に関して訂正を追跡することができる。
【００３７】
図７Ｂは、判別電圧Ｖｒｅａｄｎの周りに配置された中間読み出し電圧Ｖ１〜Ｖ６のパターンの一例を示す。特に、図７Ｂは、Ｖｒｅａｄｎの両側の電圧差δの位置にある中間電圧Ｖ１およびＶ２と、Ｖｒｅａｄｎの両側の電圧差２δの位置にある中間電圧Ｖ３およびＶ４と、Ｖｒｅａｄｎの両側の電圧差３δの位置にある中間電圧Ｖ５およびＶ６とを示す。セルのしきい値電圧を、図７Ａの場合のように分解能が高まってゆく複数の読み出しでＶｒｅａｄｎおよびＶ１〜Ｖ６と比較することができ、あるいは電圧が上昇または低下してゆく順序で、あるいは他の任意の便利な順序で、比較することができる。一般に、隣接する状態間でのＥＣＣ訂正を平均させるためにＶｒｅａｄｎが調整される場合、中間電圧Ｖ１〜Ｖ６は、Ｖｒｅａｄｎからの同じオフセットを保つために、それに応じて調整される。
【００３８】
判別電圧の調整は、ＥＣＣ復号器により行われる訂正に応じてどちらの方向にも行われ得る。従って、特定のプログラム済み状態に関連付けられたしきい値電圧範囲を広げるかまたは狭めることができ、また電圧に関して上または下へ移すことができる。一般に、フラッシュメモリでは、特定のプログラム済み状態についての尤度関数は、メモリ使用に連れて広くなる。図８は同じセルについての２つの尤度関数８３９ａ〜８３９ｂを示し、関数８３９ａは寿命初期の尤度分布をしきい値電圧ＶT の関数として示し、関数８３９ｂは寿命末期の尤度分布をしきい値電圧ＶT の関数として示す。図に示されているように、寿命初期の分布８３９ａは寿命末期の分布８３９ｂより狭い。メモリセルからの現実のデータは、ｙ軸がいろいろなしきい値電圧で読み出されたセルの数を示す図８のものと類似する分布を示すということが理解される。本願明細書において、ｙ軸の代わりに尤度が使用される。
【００３９】
メモリが使用されるときの、プログラム済みメモリ状態に関連付けられた尤度分布の広がりに対処する１つの方法が、図９Ａおよび９Ｂに示されている。図９Ａはメモリの寿命の初期における４つのプログラム済み状態に関連付けられた４つの尤度分布９４１ａ〜ｄを示す。判別電圧Ｖ７，Ｖ８およびＶ９は分布９４１ａ〜ｄの間に位置する。図９Ａは、隣接する分布９４１ａ〜ｄの間に著しいオーバーラップがないことを示し、この場合には大きなマージンが使用されていてセルを誤読する見込みが低いことを表す。
【００４０】
図９Ｂは、同じセルの同じ４つのプログラム済み状態に関連付けられた、セルが読み出し、プログラミングおよび消去のようなメモリ操作を幾度か受けた後の、メモリの寿命の後の段階における、尤度分布９４３ａ〜ｄを示す。分布９４３ａ〜ｄは、分布９４１ａ〜ｄに比べて広がっていて或る程度のオーバーラップを示すので、記憶されているデータを誤読する顕著な尤度が存在し得る。前と同様にメモリ状態を判別するために判別電圧Ｖ７〜Ｖ９が使用される。従って、メモリ状態は同じしきい値ウィンドウ（Ｖ１０〜Ｖ１１）にマッピングされたままであり、個々のメモリ状態はしきい値ウィンドウＶ１０〜Ｖ１１の中の同じサブレンジにマッピングされたままである。分布が広がり続ける場合、或る時点で、メモリから読み出されたデータの中のエラーの数がＥＣＣ復号器の能力を超えてメモリは最早使用不能となる。この例では、判別電圧Ｖ７〜Ｖ９は、当初、必要以上に大きなマージンを提供するレベルにセットされる。これは、メモリの寿命の全体にわたってしきい値ウィンドウＶ１０からＶ１１までを使用する。しかし、メモリセルをＶ９とＶ１１との間のような高いしきい値ウィンドウにプログラムするには高い電圧が必要とされるので、この広いしきい値ウィンドウを使用することはメモリに不必要にストレスをかけるかもしれない。
【００４１】
図１０Ａおよび１０Ｂは、メモリの寿命の初期には比較的に小さなしきい値ウィンドウＶ１５〜Ｖ１６を、後により大きなしきい値ウィンドウＶ１５’〜Ｖ１６’を使用する代わりの構成を示す。初めは、メモリセル状態は比較的に狭いしきい値ウィンドウ（総しきい値電圧範囲）Ｖ１５〜Ｖ１６にマッピングされ、その後、それらはより広いしきい値ウィンドウ（総しきい値電圧範囲）Ｖ１５’〜Ｖ１６’にマッピングされる。図１０Ａは、図９Ａの類似するメモリ状態９４１ａ〜ｄよりも互いに接近している４つのメモリ状態についての尤度関数１０４５ａ〜ｄを示す。これは、互いにより接近して配置されているターゲット電圧へのプログラミングの結果である。プログラミングターゲット電圧は、プログラミング操作中にメモリセルが達成したと確認されるメモリセルのしきい値電圧である（通常、ひとたびメモリセルがターゲット電圧を達成したと確認されれば、そのセルのそれ以上のプログラミングは禁止されるが、他のセルはさらにプログラムされる）。プログラミングターゲット電圧（特に、最高プログラミングターゲット電圧）は図９Ａの場合より低いので、プログラミング電圧（例えば、ＮＡＮＤメモリにおいて選択されたワード線および選択されなかったワード線にそれぞれ供給されるＶｐｒｏｇおよびＶｐａｓｓ）は低減され得る。判別電圧Ｖ１２〜Ｖ１４は、読み出し中、各メモリ状態のためのより狭いしきい値電圧サブレンジを確定する。従って、メモリ状態がマッピングされるしきい値ウィンドウＶ１５〜Ｖ１６は、この例では、しきい値ウィンドウＶ１０〜Ｖ１１より狭い。
【００４２】
メモリがしばらく使用された後、尤度関数は広がり、その結果として図１０Ｂの尤度関数１０４７ａ〜ｄになる。従って、プログラミングターゲット電圧および判別電圧が同じままであれば、尤度関数間の高度のオーバーラップが発生して多数のエラーが生じる。この問題を克服するために、図１０Ｂは、判別電圧Ｖ１２〜Ｖ１４より広く離隔された調整済み判別電圧Ｖ１２’〜Ｖ１４’を示す。メモリ状態は、図１０Ｂでは、同じメモリ状態が以前マッピングされたしきい値ウィンドウ（Ｖ１５〜Ｖ１６）より広いしきい値ウィンドウ（Ｖ１５’〜Ｖ１６’）にマッピングされる。従って、図１０Ａおよび１０Ｂのメモリは、メモリ状態がマッピングされる総しきい値電圧範囲を広げることによって、個々のメモリ状態についての広がる尤度関数を補償する。この方式の１つの利点は、メモリ寿命の初期に、比較的に低い電圧がプログラミングおよび読み出しのために使用され、これらの比較的に低い電圧が、読み出され、またプログラムされるメモリセルに比較的に少ないストレスを与えるということである。そのような低減されたストレスは、メモリセルの損耗を遅らせて製品寿命を長くすることができる。メモリ状態をしきい値ウィンドウに再マッピングすることは、プログラミングターゲット電圧も、また読み出し電圧も調整することを含み得る。プログラミングターゲット電圧間の間隔は、メモリシステムがその寿命を生きてゆくに連れて、より広くされる。
【００４３】
図１０Ａおよび１０Ｂは読み出し操作中に使用される判別電圧Ｖ１２〜Ｖ１４およびＶ１２’〜Ｖ１４’を示しているが、前述したようにメモリ状態に関連付けられたしきい値電圧サブレンジ内で分解する高分解能読み出しを与えるために他の読み出し電圧も使用され得る。一般に、プログラミングターゲット電圧および読み出し電圧を所定の方式に従って全て一緒に調整することができ、あるいは、例えばＥＣＣ復号器からの情報に応答して、応答的に個別に調整することができる。調整は、メモリの寿命全体にわたって小さな増分で行われることができ、あるいはメモリ寿命の間限られた回数だけ行われることができる。一例では、読み出し電圧およびプログラミングターゲット電圧は、データ品質がしきい値レベルにあるという判定に応答して所定量だけ高められる。例えば、しきい値レベルは、必要とされる訂正の数、反復復号器による反復の数、または高分解能読み出しが実行されるときのメモリ状態についての確率値に依存することができる。
【００４４】
他の１つの例では、調整は、実行される消去操作のしきい値数に応答して行われることができる。各ブロックについて消去カウントが維持される場合、そのブロックについてのプログラミング電圧および読み出し電圧は、一定の消去カウントに達したときに、変化することができる。そのようなシステムでは、異なるブロックは異なるプログラミング電圧および読み出し電圧を使用し、メモリシステムは、ブロック内のオーバーヘッドビットまたはコントローラにより維持されるテーブルを使用するか、あるいは専用回路、コントローラの一部分または他の適切な構造を使用して他の何らかの適切な仕方で、どのブロックが電圧を調整したかを追跡する。そのようなシステムは、データの品質を判定するＥＣＣ復号器を必ずしも持たない。
【００４５】
読み出し電圧およびプログラミングターゲット電圧は、メモリの寿命の間、一緒に変更され得る。しかし、読み出し電圧に対する或る変更は、ターゲット電圧を変更することなく行われ得る。例えば、全体としての訂正の割合が容認可能である場合に隣接する状態間のエラー訂正を平均させるために判別電圧に対する変更が行われ得る。
【００４６】
一般に、読み出し電圧が調整されるときには、その後に調整が行われるまではその調整済み電圧のままである。しかし、場合によっては、読み出し電圧に一時的調整を行うことが望ましいかもしれない。例えば、データがメモリから読み出されて、低品質のデータである（例えば、確率値が低い、またはＥＣＣにより指摘されたエラーの数が多い）と分かった場合、その低品質データのＥＣＣ訂正により決定される仕方で１つ以上の読み出し電圧を調整することができ、データを再び読み出すことができる。これは、データが復号され得るように、より良好な品質のデータを得ることを可能にすることができる。しかし、そのような読み出し電圧をそれらの調整済みレベルに保つことは必要でないかもしれない。この方式は、他の方法では取り出せないデータをメモリから取り出すために使用され得る。一般に、そのようなデータは、それ以上劣化しないように、他の位置に再書き込みされる。その後、オリジナルブロックは消去され得る。これは、メモリコントローラにより実行されるスクラブ操作の一部であることができ、あるいは（例えば、ホスト読み出しコマンドに応じての）正規の読み出し操作の一部分として行うことができる。プログラミングターゲット電圧は、一般に、この種の調整の間は変更されない。エラー処理の例は、米国特許第５，６５７，３３２号（特許文献７）および第６，７５１，７６６号（特許文献８）において与えられている。
【００４７】
図１１は、本発明の一実施形態に従うメモリシステム１１４９を示し、ＥＣＣ符号化器１１５３と、ＥＣＣ復号器１１５５と、統計ユニット１１５７とを有するＥＣＣモジュール１１５１を含む。統計ユニット１１５７は、ＥＣＣ復号器１１５５により実行された訂正に関する統計情報を集める。ＥＣＣ復号器１１５５は、ＳＩＳＯ復号器またはハード入力ハード出力復号器、あるいはその両方を含むことができる。一例では、ＳＩＳＯ復号器がハード入力ハード出力復号器と連結される（統計ユニットは、両方の復号器による復号に関する統計量を集めることができる）。ＳＩＳＯ復号のためのＬＤＰＣ符号およびハード入力ハード出力復号のためのＢＣＨ符号のような、２つの符号化方式が使用され得る。統計ユニットは、データの全体としての品質を示す統計量を集めることができ、また、ＥＣＣ復号システムにより実行された訂正の数を示すこともでき、あるいは異なるメモリ状態間の訂正の比を示すことができる。統計ユニットの出力は、変調／復調回路１１６１内の調整ユニット１１５９に提供される。調整ユニット１１５９は、メモリアレイ１１６７にデータをプログラムするために変調器１１６３により使用される動作パラメータ（例えば、特定のメモリ状態のためのターゲット電圧）、およびメモリアレイ１１６７からデータを読み出すために復調器１１６５により使用される動作パラメータ（例えば、読み出し電圧）に対する適切な変更を行う。
【００４８】
前の種々の例はフラッシュメモリに関連している。しかし、他の種々の不揮発性メモリが現在使用され、ここに記載された技術は任意の適切な不揮発性メモリシステムに適用され得る。そのようなメモリシステムは、強誘電性記憶に基づくメモリシステム（ＦＲＡＭまたはＦｅＲＡＭ）、磁気抵抗記憶に基づくメモリシステム（ＭＲＡＭ）、および相変化に基づくメモリ（ＰＲＡＭまたは「オボニック・ユニファイド・メモリ (Ovonic Unified Memory)」を表す「ＯＵＭ」）を含むことができるが、これらに限定されるものではない。
【００４９】
本願明細書において引用された全ての特許、特許出願、論文、本、仕様書、他の刊行物、書類および事物は、あらゆる目的のためにその全体が本願明細書において参照により援用されている。援用されている刊行物、書類または事物のいずれかと本願明細書の本文との間での用語の定義または使用法における不一致あるいは矛盾の範囲に対しては、本願明細書における用語の定義または使用法が優越するものとする。
【００５０】
本発明の種々の態様は或る好ましい実施形態に関して記述されたけれども、本発明は、添付されている特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できよう。
【図１】
0005409371.tif 000002
【図２】
0005409371.tif 000003
【図３】
0005409371.tif 000004
【図４】
0005409371.tif 000005
【図５】
0005409371.tif 000006
【図６】
0005409371.tif 000007
【図７Ａ】
0005409371.tif 000008
【図７Ｂ】
0005409371.tif 000009
【図８】
0005409371.tif 000010
【図９Ａ】
0005409371.tif 000011
【図９Ｂ】
0005409371.tif 000012
【図１０Ａ】
0005409371.tif 000013
【図１０Ｂ】
0005409371.tif 000014
【図１１】
0005409371.tif 000015