(57)【特許請求の範囲】
【請求項１】
データを蓄積しかつ読み出す方法であって、
（ａ）複数のセル（１５１〜１５９）を含むメモリ（１；１１；６２）を提供するステップであって、データを表すセル（１５１〜１５９）の物理的特性の各値を設定することにより前記セル（１５１〜１５９）にデータを蓄積し、その後、各値の測定値を得るために各値を測定することにより前記セル（１５１〜１５９）を読み出すステップと、
（ｂ）前記セルのいずれか１セル（１５１）と、前記１セル（１５１）の少なくとも１つの近傍セル（１５２〜１５９）とを読み出し、これにより前記１セル（１５１）と前記近傍セル（１５２〜１５９）の各測定値を得るステップと、
（ｃ）各近傍セル（１５２〜１５９）が前記１セル（１５１）の読み出しを妨害するそれぞれの程度を算出するステップであって、前記算出するステップは前記妨害の線形または非線形モデルに基づくステップと、
（ｄ）各測定値と、各近傍セル（１５２〜１５９）が前記１セル（１５１）の読み出しを妨害する前記算出されたそれぞれの程度とに基づき、データが前記１セル（１５１）に蓄積された時に設定された前記データの物理的特性の各値を推定するステップであって、前記推定するステップは各測定値の再設定を含まない計算であるステップと、
を含む方法。
【請求項２】
請求項１記載の方法において、
前記セル（１５１〜１５９）は、フラッシュセル（１５１〜１５９）であり、
前記物理的特性は、前記フラッシュセル（１５１〜１５９）のしきい値電圧である方法。
【請求項３】
請求項１記載の方法において、
前記算出するステップは、
前記推定するステップとは別に遂行されるか、あるいは
前記推定するステップとともに繰り返し遂行される方法。
【請求項４】
請求項１記載の方法において、
（ｅ）前記１セルと少なくとも１つの近傍セルとは別の少なくとも１つのさらなるセル（１５２〜１５９）を読み出し、これにより少なくとも１つのさらなる測定値を得るステップをさらに含み、
前記算出するステップは、前記少なくとも１つのさらなる測定値にも基づく方法。
【請求項５】
請求項４記載の方法において、
前記メモリ（１；１１；６２）は、フラッシュメモリであり、
前記１セル（１５１）と少なくとも１つのさらなるセル（１５２〜１５９）は、前記メモリ（１；１１；６２）の同じ消去ブロックにある方法。
【請求項６】
請求項５記載の方法において、
前記１セル（１５１）と少なくとも１つのさらなるセル（１５２〜１５９）は、前記メモリ（１；１１；６２）の同じワード線にある方法。
【請求項７】
請求項１記載の方法において、
（ｅ）前記１セル（１５１）と少なくとも１つの各近傍セル（１５２〜１５９）とにデータを蓄積するステップをさらに含む方法。
【請求項８】
請求項７記載の方法において、
前記算出するステップは、
前記蓄積するステップの前に遂行されるか、
前記蓄積するステップの後に遂行されるか、あるいは
前記１セル（１５１）が読み出されるたびに遂行される方法。
【請求項９】
請求項１記載の方法において、
前記推定するステップは、
少なくとも１つの近傍セル（１５２〜１５９）による妨害のために前記１セル（１５１）の各測定値を補正することと、
前記１セル（１５１）の各値の分布のパラメータの少なくとも１つの期待値を推定することと、
を含む方法。
【請求項１０】
メモリデバイスであって、
（ａ）複数のセル（１５１〜１５９）を含むメモリ（１；１１；６２）と、
（ｂ）回路（２〜８，２０〜２２；１３，１５，１７，１９，２３，２５，２６ａ〜２６ｃ，２７，２９，３１，３３，３５，４１，４３，４４）であって、
（ｉ）データを表すセル（１５１〜１５９）の物理的特性の各値を設定することにより前記セル（１５１〜１５９）にデータを蓄積し、かつ
（ｉｉ）その後、各値の測定値を得るために各値を測定することにより前記セル（１５１〜１５９）を読み出す回路と、
（ｃ）前記セルのいずれか１セル（１５１）の各測定値と、前記１セル（１５１）の少なくとも１つの近傍セル（１５２〜１５９）の各測定値とに基づき、かつ各近傍セル（１５２〜１５９）が前記１セル（１５１）の読み出しを妨害するそれぞれの程度に基づき、データが前記１セル（１５１）に蓄積された時に設定された前記データの物理的特性の各値を、各測定値を再設定することなく、推定する機構であって、各近傍セル（１５２〜１５９）が前記１セル（１５１）の読み出しを妨害するそれぞれの程度を、前記妨害の線形または非線形モデルに基づき算出するように構成される機構と、
を備えるメモリデバイス。
【請求項１１】
請求項１０記載のメモリデバイスにおいて、
前記推定する機構は、
前記セルのいずれか１セル（１５１）の各測定値と、前記１セルの少なくとも１つの近傍セル（１５２〜１５９）の各測定値とに基づき、かつ各近傍セル（１５２〜１５９）が前記１セル（１５１）の読み出しを妨害するそれぞれの程度に基づき、前記１セル（１５１）に蓄積されたデータを推定するコードを含む、前記メモリデバイスのためのドライバコードを蓄積する不揮発性メモリと、
前記コードを実行するプロセッサと、
を備えるメモリデバイス。
【請求項１２】
請求項１〜９のいずれか記載の方法によって規定されたプログラム命令を組み入れたコンピュータ可読蓄積媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリ、より具体的にはフラッシュメモリに関し、特に１セル当たり数ビットを蓄積するフラッシュメモリに関する。
【背景技術】
【０００２】
フラッシュメモリデバイスは長年にわたり知られている。通常、フラッシュメモリの各セルには１ビットの情報が蓄積される。従来は２通りのセル状態によりビットを蓄積してきた。ひとつは論理「０」を表す状態であり、もうひとつは論理「１」を表す状態である。フラッシュメモリセルでは、セルのチャネル上にフローティングゲート（セルのトランジスタのソース素子とドレイン素子とを結ぶ部分）を設け、さらにこのフローティングゲート内に蓄積される電荷量に対して２つの有効状態を設けることにより、２つの状態を実現する。通常、一方の状態ではフローティングゲートの電荷はゼロで、消去後の書き込みがなされていない当初のセル状態であり（通常は「１」状態と定義される）、他方の状態ではある程度の負電荷がフローティングゲートにある（通常は「０」状態と定義される）。ゲートに負電荷があるとセルのトランジスタのしきい値電圧（トランジスタを導通させるためにトランジスタのコントロールゲートに印加すべき電圧）が増加する。セルのしきい値電圧をチェックすることにより、蓄積されたビットを読み出すことができる。しきい値電圧が高い状態にあるならビット値は「０」であり、しきい値電圧が低い状態にあるならビット値は「１」である。実際にはセルのしきい値電圧を正確に読み出す必要はなく、セルが２つの状態のどちらにあるかを正確に識別すればよい。そのためには、２つの状態の中間にあたる基準電圧値に照らして比較を行い、セルのしきい値電圧がこの基準値より低いか高いかを判断するだけでよい。
【０００３】
図１Ａは、これがどう機能するかを示すものである。具体的には、多数のセルのしきい値電圧分布が図１Ａに見られる。フラッシュデバイスの中にあるセルの特性や挙動は全く同じというわけではないため（例えば、不純物濃度の僅かなばらつきやシリコン構造の欠陥のため）、全てのセルに対して同じプログラミング操作を行っても、全てのセルでしきい値電圧が全く同じになることはない。（歴史的理由により、フラッシュメモリにデータを書き込むことを一般的にはフラッシュメモリを「プログラムする」と言うことに留意するべきである。本願明細書では用語「書き込み」と「プログラミング」を互換的に使用する。）むしろしきい値電圧は図１Ａに示されるのと同様に分布する。値「１」を蓄積するセルは負のしきい値電圧を通常有し、ほとんどのセルは図１Ａの左側のピークに見られる値に近いしきい値電圧になるが、少数のセルではこれよりも低いか高いしきい値電圧になる。同様に、値「０」を蓄積するセルは正のしきい値電圧を通常有し、ほとんどのセルは図１Ａの右側のピークに見られる値に近いしきい値電圧になるが、少数のセルではこれよりも低いか高いしきい値電圧になる。
【０００４】
近年、慣例上「マルチレベルセル」、略して「ＭＬＣ」と呼ばれる手法を用いた新しいタイプのフラッシュデバイスが市場に登場している。（前述したように、旧式のフラッシュセルでも２レベル以上になるため、この呼び方は誤解を招く。そこで本願明細書では２種類のフラッシュセルを「シングルビットセル」（ＳＢＣ）と「マルチビットセル」（ＭＢＣ）と呼ぶことにする。）ＭＢＣフラッシュによる進歩として、各々のセルには２つのビットが蓄積される。（原則として１セル当たり３ビット以上の蓄積もＭＢＣに含まれる。ここでは説明を簡潔にするために２ビットの場合を強調するが、１セル当たり３ビット以上をサポートするフラッシュメモリデバイスにも本発明が等しく当てはまることを理解するべきである。）１つのセルで２ビットの情報を蓄積するには、セルを４通りの状態のいずれか１つに置かなければならない。セルの「状態」はセルのしきい値電圧によって表されるため、ＭＢＣセルでは当然、４通りの有効しきい値電圧範囲をサポートしなければならない。図１Ｂは、典型的ＭＢＣセルのしきい値電圧分布を示す。図１Ｂには予定通り４つのピークがあり、各ピークはいずれか１つの状態にそれぞれ相当する。ＳＢＣの場合、各状態は実際にはしきい値電圧の範囲であって、単一のしきい値電圧ではない。セルの内容を読み出すときには、セルのしきい値電圧がどの範囲にあるかを正確に識別できさえすればよい。ＭＢＣフラッシュデバイスの先行技術例については、Harariの米国特許第５，４３４，８２５号（特許文献１）を参照されたい。
【０００５】
ＭＢＣセルで２つのビットを４状態のいずれか１つとして符号化する場合は普通、両ビットが値「１」を持つ場合を図１Ｂの左端の状態（通常は負のしきい値電圧）とする。（以降の説明では次のような表記を用いる。セルの２つのビットは「下位ビット」と「上位ビット」と呼ぶ。これらのビットの明示値は［「上位ビット」「下位ビット」］の形式で記述し、右側を下位ビット値とする。したがって、下位ビットが「０」で上位ビットが「１」の場合は「１０」と記述する。この用語・表記の選択は恣意的であって、これとは別の名称・符号化も可能であることを理解するべきである。）この表記により、左端の状態は「１１」の場合に相当する。残りの３状態は左から右の順に「１０」、「００」、「０１」と割り当てられているように示される。あらゆる目的のためにあたかもその全体が本願明細書において参照により援用されているChenの米国特許第６，５２２，５８０号（特許文献２）では、このような符号化を用いたＭＢＣ  ＮＡＮＤフラッシュデバイスの実施例を見ることができる。特にChenの図８を参照されたい。しかし、本発明がこの状態割り当てに依拠しているわけではなく、これとは別の順序も使用可能であることに留意するべきである。ＭＢＣセルの内容を読み出すときには、セルのしきい値電圧がどの範囲にあるかを正確に識別しなければならない。この場合に限っては、１つの基準電圧に対する比較ですまないことがある。数回の比較が必要となることがある。例えば、図１Ｂの場合に下位ビットを読み出すにはまず、セルのしきい値電圧を比較基準電圧Ｖ1 と比較し、その比較の結果に応じてゼロの比較基準電圧または比較基準電圧Ｖ2 にセルのしきい値電圧を比較する。下位ビットの読み出しにあたってセルのしきい値電圧をゼロ基準電圧とＶ2 の両方に無条件に比較する方法もある。いずれにせよ２回の比較が必要となる。
【０００６】
サイズが同様のセルに１ビットではなく２ビットを蓄積するＭＢＣデバイスは、コスト面で大変有利である。しかし、ＭＢＣフラッシュを使用するにはいくつか欠点もある。ＭＢＣメモリの平均読み出し・書き込み時間はＳＢＣメモリより長く、これが性能低下を招く。また、ＭＢＣの信頼性はＳＢＣより低い。これは容易に理解できる。ＭＢＣではしきい値電圧範囲の格差がＳＢＣより格段に小さくなるからである。しきい値電圧に動揺が生じても（例えば、蓄積電荷の漏れによるしきい値電圧のドリフト、近傍セルにおける操作から生じる干渉等）２状態の格差が大きいＳＢＣでは見過ごされることもあるが、ＭＢＣではセルの状態が変わってしまってビットに誤りが生じることがある。その結果、データ保持時間や多数の書き込み／消去サイクルに対するデバイス耐久性の点でＭＢＣセルの品質水準が低下する。したがって、ＭＢＣセルとＳＢＣセルの両方を使用すると有利な点もあり、その選択は応用要求によって異なり得る。
【０００７】
前の説明はフローティングゲート式のフラッシュメモリセルに関するものだが、これとはタイプの異なるフラッシュメモリ技術もある。例えば、ＮＲＯＭフラッシュメモリ技術には導電性フローティングゲートがなく、代わりに電荷をトラップする絶縁層がある。ここではフローティングゲート技術において説明するが、本発明はあらゆるタイプのフラッシュメモリに等しく応用できる。
【０００８】
図２Ａは、先行技術による典型的なフラッシュメモリデバイスのブロック図であり、Chenの図１と同じである。メモリセルアレイ１には複数のメモリセル（Ｍ）が行列状に配置され、列制御回路２、行制御回路３、ｃソース制御回路４、およびｃ−ｐウェル制御回路５によって制御されている。メモリセル（Ｍ）に蓄積されたデータを読み出し、プログラミング操作中にメモリセル（Ｍ）の状態を確認し、ビット線（ＢＬ）の電圧レベルを制御してプログラミングを助長もしくは禁止するため、列制御回路２はメモリセルアレイ１のビット線（ＢＬ）へ接続される。ワード線（ＷＬ）のいずれか１つを選択し、読み出し電圧を印加し、列制御回路２により制御されるビット線電圧レベルに組み合わされたプログラミング電圧を印加し、メモリセル（Ｍ）のｐ形領域の電圧に結合される消去電圧を印加するため、行制御回路３はワード線（ＷＬ）へ接続される。ｃ−ソース制御回路４は、メモリセル（Ｍ）に接続される共通ソース線を制御する。ｃ−ｐウェル制御回路５はｃ−ｐウェル電圧を制御する。ＮＡＮＤフラッシュデバイスでは通常、１本のワード線によって制御されるセルがデバイスの１ページか２ページに相当し、ワード線はブロックに編成され、それぞれのブロックは通常いくつかのワード線を含み、その数は適度な２の累乗であり、例えば２5＝３２である。ページは、ＮＡＮＤフラッシュデバイスでまとめてプログラムできるセルの最小単位である。ブロックは、ＮＡＮＤフラッシュデバイスでまとめて消去できるセルの最小単位である。
【０００９】
メモリセル（Ｍ）に蓄積されたデータは列制御回路２によって読み出され、データ入出力回路６内のバッファとＩ／Ｏ線を通じて外部Ｉ／Ｏ線へ出力される。メモリセルに蓄積されるプログラムデータは外部Ｉ／Ｏ線を通じてデータ入出力回路６内のバッファへ入力され、列制御回路２へ転送される。外部Ｉ／Ｏ線はコントローラ２０へ接続される。
フラッシュメモリデバイスを制御するコマンドデータは、外部制御線へ接続されたコマンドインターフェイスへ入力される。外部制御線はコントローラ２０に接続される。コマンドデータは要求された操作が何かをフラッシュメモリに伝える。入力コマンドは状態マシン８へ転送され、状態マシン８は、列制御回路２、行制御回路３、ｃソース制御回路４、ｃ−ｐウェル制御回路５、およびデータ入出力回路６を制御する。ＲＥＡＤＹ／ＢＵＳＹ、ＰＡＳＳ／ＦＡＩＬ等、状態マシン８はフラッシュメモリのステータスデータを出力できる。
【００１０】
コントローラ２０は、パーソナルコンピュータ、デジタルカメラ、個人用携帯情報端末（ＰＤＡ）等のホストシステムに接続されるかあるいは接続可能である。メモリアレイ１におけるデータの蓄積、読み出し、送受信といったコマンドはホストから始まる。コントローラ２０はコマンドをコマンド信号に変換し、コマンド回路７で解釈し実行できるようにする。コントローラ２０はまた、メモリアレイ１で読み書きするユーザデータのためのバッファメモリを通常内蔵する。典型的なメモリシステムには、コントローラ２０を含む１つの集積回路チップ２１と、メモリアレイおよび関連する制御回路、入出力回路、ならびに状態マシン回路をそれぞれ含む１つ以上の集積回路チップ２２とが含まれる。当然のことながら、トレンドは、システムのメモリアレイとコントローラ回路を１つ以上の集積回路チップにまとめて集積する方向にある。メモリシステムはホストシステムの一部として組み込まれることもあれば、ホストシステムのソケットに取り外し可能な状態で挿入できるメモリカードに含まれることもある。このようなメモリカードにメモリシステム全体が含まれることもあれば、コントローラ、メモリアレイ、関連する周辺回路を別々のカードに設けることもある。
【００１１】
図２Ｂは先行技術によるもうひとつの典型的フラッシュメモリデバイスのブロック図であり、Gutermanらの米国特許第６，７５１，７６６号（特許文献３）の図１と同じである。個別にアドレスできる多数のメモリセルが規則的な行列からなるアレイ１１に配置されている。ビット線と、ワード線に配置された選択ゲートと、ステアリングゲートとにより個々のメモリセルを制御できる。ここでビット線はアレイ１１の列沿いに延在し、ワード線はアレイ１１の行沿いに延在するように指定される。ビット線ユニット１３は、ビット線デコーダ、蓄積素子、ドライバ回路、およびセンスアンプを含む。ビット線ユニット１３は、線１５によりセルアレイ１１へ結合でき、ビット制御線２９と読み出し線４１とによりコントローラ２７へ結合できる。ワード線ユニット１９は、選択ゲートデコーダおよびドライバ回路を含み得る。ワード線ユニット１９は、線１７によりセルアレイ１１へ結合でき、ワード制御線３１によりコントローラ２７へ結合できる。ステアリング線ユニット４３は、ステアリングゲートデコーダおよびドライバ回路を含み得る。ステアリングユニット４３は、線２３によりセルアレイ１１へ結合でき、ステアリング制御線３３によりコントローラ２７へ結合でき、線４４によりビット線ユニット１３へ結合できる。ビット線ユニット１３、ワード線ユニット１９、およびステアリングユニット４３はバス２５へ結合でき、バス２５はコントローラ２７へ結合される。コントローラ２７は線３５によりホストへ結合できる。
【００１２】
予め選択されたメモリセルをプログラムするときには、これをプログラムするにあたって十分な所定レベルの電圧を該当するビット線、ワード線、およびステアリングゲートに印加可能である。コントローラ２７は、予め選択されたメモリセルのアドレスを、バス２５から線２６ａ、２６ｂ、および２６ｃを通じてビット線ユニット１３、ワード線ユニット１９、およびステアリングゲートユニット４３にあるそれぞれのデコーダへ送信する。ビット線ユニット１３、ワード線ユニット１９、ステアリングゲートユニット４３、およびコントローラ２７では、ビット制御線２９、ワード制御線３１、およびステアリング制御線３３を通じてステータスと制御コマンドがやり取りされる。
【００１３】
予め選択されたメモリセルを読み出すときには、この読み出しにあたって十分な所定レベルの電圧を該当するビット線、ワード線、およびステアリングゲートに印加可能である。コントローラ２７は、ビット制御線２９を通じてビット線の電圧を印加でき、ワード制御線３１を通じてワード線の電圧を印加でき、ステアリング制御線３３を通じてステアリングゲートの電圧を印加できる。これらの電圧により予め選択されたメモリセルの中に電流を発生させることができる。この電流は、予め選択されたメモリセルがプログラム済みか否かを表す。ビット線ユニット１３のセンスアンプでは電流の値を増幅し基準に比較できる。比較の結果はラッチまたはレジスタに一時的に蓄積できる。予め選択されたメモリセルから読み出されたデータは、読み出し線４１を通じてコントローラ２７へ送信できる。
【００１４】
フローティングゲートに蓄積された見かけの電荷は、隣接するフローティングゲートの蓄積電荷に基づく電界結合のためにずれることがある。あらゆる目的のためにあたかもその全体が本願明細書において参照により援用されている米国特許第５，８６７，４２９号（特許文献４）では、ここで「セル間クロスカップリング」とも呼ぶフローティングゲート間結合現象がChenとFongにより説明されている。目標ゲートに隣接するフローティングゲートとは、同一ビット線上の近傍フローティングゲートか、同一ワード線上の近傍フローティングゲートか、目標フローティングゲートから斜めに近傍ビット線と近傍ワード線上に位置するフローティングゲートのことである。
【００１５】
フローティングゲート間結合現象は隣接するメモリセルが別々のときにプログラムされる場合に最も顕著となる。例えば、第１のデータに相当する一定レベルの電荷をフローティングゲートに加えて第１のメモリセルをプログラムすると仮定する。その後、第２のデータに相当する一定レベルの電荷をフローティングゲートに加えて隣接する１つ以上のメモリセルをプログラムすると仮定する。第１のメモリセルには隣接メモリセルの電荷が結合されるため、１つ以上の隣接メモリセルがプログラムされた後に第１のメモリセルから電荷レベルを読み出すと、プログラムされたレベルと異なることになる。隣接メモリセルからの結合によって読み出される充分な量の見かけの電荷レベルがずれると、蓄積されたデータの読み出しに誤りが生じる。
【００１６】
ＭＢＣデバイスではセルの状態を定めるしきい値電圧範囲がＳＢＣデバイスより狭いため、ＭＢＣデバイスにとってフローティングゲート間結合効果はＳＢＣデバイスより大きな問題となる。
フローティングゲート間結合の補償にあたっては数通りのアプローチが知られている。ChenとFongによるフラッシュメモリでは、フローティングゲートが結合しないようにセルが互いに物理的に隔離される。ChenとFongはまた、フローティングゲート間結合を補償するように比較基準電圧（例えば、図１ＢのＶ1、Ｖ2 ）を調整する。あらゆる目的のためにあたかもその全体が本願明細書において参照により援用されている、Chen、Cernea、およびHemnikは米国特許第７，１９６，９４６号（特許文献５）で類似する方法を教示している。フラッシュメモリからのデータ読み出しにあたっては、蓄積されるデータのエラー補正符号化とその後に続く、読み出されたデータのエラー補正復号化によって不正確さを補償するのが一般的だが、これはフローティングゲート間結合の補償にもなる。
【００１７】
フラッシュメモリセルアレイを概略的に示す図３はChenとFongの図８Ａと同じであり、９つのセルには参照符号１５１から１５９が付されている。図３で破線の矢印沿いの数字は矢印で結ばれたセル間の結合比である。ChenとFongによると、例えばセル１５１を読み出す場合は、近傍セル１５２から１５９（あるいは少なくともセル１５１への結合が最も強いセル１５２および１５６）を読み出し、セル１５１に対する各々の結合比をこれらの読み出し値に組み合わせ、セル１５１の比較基準電圧をデフォルト値からどの程度ずらせばよいかを判断する。
【００１８】
前述した説明では、セルの状態を決定するしきい値電圧範囲の幅程度の分解能によりしきい値電圧を読み出すことになっている。Ban が米国公開特許出願第２００５／００１３１６５号（特許文献６）で教示するように、しきい値電圧の読み出しにあたっては分解能を精細にするとしばしば有利である。それぞれ３ビットを蓄積するＭＢＣセルのしきい値電圧分布を示す図４は、Ｂａｎの図２を修正したものである。しきい値電圧がＶmin とＶ1 との間のしきい値電圧分布１１０内にあるセルは、ビットパターン「１１１」に相当する状態にあると解釈される。しきい値電圧がＶ1 とＶ2 との間のしきい値電圧分布１１２内にあるセルは、ビットパターン「１１０」に相当する状態にあると解釈される。しきい値電圧がＶ2 とＶ3 との間のしきい値電圧分布１１４内にあるセルは、ビットパターン「１０１」に相当する状態にあると解釈される。しきい値電圧がＶ3 とＶ4 との間のしきい値電圧分布１１６内にあるセルは、ビットパターン「１００」に相当する状態にあると解釈される。しきい値電圧がＶ4 とＶ5 との間のしきい値電圧分布１１８内にあるセルは、ビットパターン「０１１」に相当する状態にあると解釈される。しきい値電圧がＶ5 とＶ6 との間のしきい値電圧分布１２０内にあるセルは、ビットパターン「０１０」に相当する状態にあると解釈される。しきい値電圧がＶ6 とＶ7 との間のしきい値電圧分布１２２内にあるセルは、ビットパターン「００１」に相当する状態にあると解釈される。しきい値電圧がＶ7 とＶmax との間のしきい値電圧分布１２４内にあるセルは、ビットパターン「０００」に相当する状態にあると解釈される。Ban によると、ＭＢＣセルの読み出しにあたっては、セルの状態を決定するしきい値電圧範囲の境界となる、Banが「整数」比較基準電圧と呼ぶ、比較基準電圧Ｖ1 、Ｖ2 、Ｖ3 、Ｖ4 、Ｖ5 、Ｖ6 、およびＶ7 にセルのしきい値電圧を比較するばかりでなく、Ban が「分数」比較基準電圧（Ｖ0.5 、Ｖ1.5 、Ｖ2.5 、Ｖ3.5 、Ｖ4.5 、Ｖ6.5 、およびＶ7.5 ）と呼ぶものにも比較する。セルの状態を決定するしきい値電圧範囲の幅程度の分解能によるフラッシュセルの読み出しの結果は、しばしば「ハードビット」と呼ばれ、より細かい分解能によるフラッシュセルの読み出しの結果は、しばしば「ソフトビット」と呼ばれる。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】米国特許第５，４３４，８２５号
【特許文献２】米国特許第６，５２２，５８０号
【特許文献３】米国特許第６，７５１，７６６号
【特許文献４】米国特許第５，８６７，４２９号
【特許文献５】米国特許第７，１９６，９４６号
【特許文献６】米国公開特許出願第２００５／００１３１６５号
【特許文献７】米国特許第６，２９５，３２６号
【非特許文献】
【００２０】
【非特許文献１】John G. Proakis, Digital Communications (McGraw-Hill, 2000), Chapter 11
【非特許文献２】Dai Qingyuan and E. Shwedyk, Detection of bandlimited signals over frequency selective Rayleigh fading channels, IEEE Transactions on Communication vol. 42 no. 2 (1994) pp. 941-950
【非特許文献３】Simon Haykin, Adaptive Filter Theory, Third Edition, Prentice Hall,1996; R. D. Gitlin et al., An algorithm for the stable operation of a digitally implemented fractionally spaced adaptive equalizer, Proc. IEEE Int. Conf. Acoust. Speech Signal Process., May 1982, pp. 1379-1382
【非特許文献４】R. Johnson, Jr., et al., Blind equalization using the constant modulus criterion: a review, Proc. IEEE vol. 86 no. 10 (1998) pp. 1927-1950
【非特許文献５】Y. Sato, A method for self-recovering equalization for multilevel amplitude modulation system, IEEE Trans. Commun. vol. COM-23 (June 1975) pp. 679-682
【非特許文献６】D. N. Godard, Self-recovering equalization and carrier tracking in two-dimensional data communication system, IEEE Trans. Commun. vol. COM-28 (Nov. 1980) pp. 1867-1875
【非特許文献７】Ching-Hsiang Tseng and Cheng-bin Lin, A stop-and-go dual-mode algorithm for blind equalization, GLOBECOM '96 (18-22 November 1996) vol. 2 pp. 1427-1431
【非特許文献８】V. Weerackody and S. A. Kassam, Dual-mode type algorithms for blind equalization, IEEE Trans. Commun. vol. 42 no. 1 (1994) pp. 22-28
【非特許文献９】M. J. Lopez et al., Reduced-complexity MAP equalizer for dispersive channels, IEEE Vehicular Technology Conference 2000 vol. 3 pp. 1371-1375
【非特許文献１０】Nigel C. McGinty and Rodney A. Kennedy, Reduced-state sequence estimator with reverse-time structure, IEEE Trans. Commun. vol. 45 no. 3 (1997) pp. 265-268
【非特許文献１１】Alexanra Duel-Hallen and Chris Heegard, Delayed decision-feedback sequence estimation, IEEE Trans. Commun. vol. 37 no. 5 (1989) pp. 428-436
【非特許文献１２】Mikael Sternad et al., Robust decision feedback equalizers, IEEE Int. Conf. Acoustics, Speech and Signal Processing (April 27-30, 1993) vol. 3 pp. 555-558
【発明の概要】
【００２１】
本発明は、セル間クロスカップリングの場合にデフォルト比較基準電圧を使って読み出されるしきい値電圧の補正に図３に示されるような結合比を役立てることができるという考えに基づき、比較基準電圧は変更しない。この考えは、セル間クロスカップリングと、通信工学分野において起こる同様の問題、すなわちシンボル間干渉（ＩＳＩ）とが形式上類似していることに基づく。
【００２２】
0005475665.tif 000002
【００２３】
本発明は、セル間クロスカップリングが形式上ＩＳＩと同じであるという考えに基づいている。したがって、セル間クロスカップリングの測定にはチャネル推定法を役立てることができ、セル間クロスカップリングの補正には等化法を役立てることができる。下の表は、ＩＳＩとセル間クロスカップリングの線形モデルの場合に、ＩＳＩパラメータとフラッシュメモリパラメータとの対応を示すものである。
0005475665.tif 000003
【００２４】
ここに表示されたＩＳＩとセル間クロスカップリングとの対応は、ＩＳＩとセル間クロスカップリングの線形モデルに基づくものである。ＩＳＩとセル間クロスカップリングを同等の非線形モデルで表現することもでき、非線形チャネル推定・等化のパラメータと、セル間クロスカップリングの非線形推定・補正のパラメータとを同様に対応付けることもできる。セル間クロスカップリングの非線形推定・補正も本発明の範囲に含まれるが、線形補正が本発明の好適な実施形態にあたるため、ここではセル間クロスカップリングの線形推定・補正に重点を置く。
【００２５】
本発明によると、データを蓄積しかつ読み出す方法が提供され、この方法は、（ａ）複数のセルを含むメモリを提供するステップであって、セルには、データを表すセルの物理的特性の各値を設定することによりデータが蓄積され、その後、各値の測定値を得るために各値を測定することによりセルが読み出されるステップと、（ｂ）セルのいずれか１セルと、１セルの少なくとも１つの近傍セルとを読み出し、これにより１セルと各近傍セルの測定値を得るステップと、（ｃ）各測定値と、各近傍セルが１セルの読み出しを妨害するそれぞれの程度とに基づき、１セルに蓄積された各データを推定するステップと、を含む。
【００２６】
さらに、本発明によると、メモリデバイスが提供され、このメモリデバイスは、（ａ）複数のセルを含むメモリと、（ｂ）回路であって、（ｉ）データを表すセルの物理的特性の各値を設定することによりセルにデータを蓄積し、かつ（ｉｉ）その後、各値の測定値を得るために各値を測定することによりセルを読み出す回路と、（ｃ）１セルの各測定値と、１セルの少なくとも１つの近傍セルの各測定値とに基づき、かつ各近傍セルが１セルの読み出しを妨害するそれぞれの程度に基づき、セルのいずれか１セルに蓄積された各データを推定する機構と、を備える。
【００２７】
さらに、本発明によると、システムが提供され、このシステムは、（ａ）メモリデバイスであって、（ｉ）複数のセルと、（ｉｉ）回路であって、（Ａ）データを表すセルの物理的特性の各値を設定することによりセルにデータを蓄積し、かつ（Ｂ）その後、各値の測定値を得るために各値を測定することによりセルを読み出す回路と、を備えるメモリデバイスと、（ｂ）１セルの各測定値と、１セルの少なくとも１つの近傍セルの測定値とに基づき、かつ各近傍セルが１セルの読み出しを妨害するそれぞれの程度に基づき、セルのいずれか１セルに蓄積された各データを推定するコードを含む、メモリデバイスのためのドライバコードが蓄積された、不揮発性メモリと、（ｃ）コードを実行するプロセッサと、を備える。
【００２８】
さらに、本発明によると、コンピュータ可読コードが組み込まれたコンピュータ可読蓄積媒体が提供され、このコンピュータ可読コードは、複数のセルを含むメモリデバイスのためのドライバコードであり、データを表すセルの物理的特性の各値を設定することによりセルにデータが蓄積され、その後、各値の測定値を得るために各値を測定することによりセルは読み出され、コンピュータ可読コードは、１セルの各測定値と、１セルの少なくとも１つの近傍セルの各測定値とに基づき、かつ各近傍セルが１セルの読み出しを妨害するそれぞれの程度に基づき、セルのいずれか１セルに蓄積された各データを推定するプログラムコードを含む。
【００２９】
本発明の基礎的な方法は、複数のセルを含むメモリを使用して、データを蓄積しかつ読み出す方法である。セルには、データを表すセルの物理的特性の各値を設定することによりデータが蓄積される。例えばセルがフラッシュセルなら、好適な物理的特性はフラッシュセルのしきい値電圧である。セルにデータが蓄積された後には、各値の測定値を得るために物理的特性の各値を測定することによりセルが読み出される。いずれか１セル（「目標セル」）と、この１つ以上の近傍セルとを読み出すことにより、目標セルと近傍セルの測定値を得る。図２Ａおよび２Ｂのデバイス等、フラッシュメモリデバイスの場合の測定値は、ハードビット（例えば、図１Ｂの「０＜しきい値電圧＜Ｖ1 」）かソフトビット（例えば、図４の「Ｖ1.5 ＜しきい値電圧＜Ｖ2 」）である。測定値は、データの蓄積時に設定された物理的特性の各値に一致しないことがある。例えば図４で、状態「１１０」までプログラムされたフラッシュセルでも、読み出しのときにはしきい値電圧がＶ2 を上回り状態「１０１」になることがある。本発明の要点は、そのようなセル間クロスカップリングに起因する読み出しの誤りを補正することである。最後に、各測定値と、各近傍セルが目標セルの読み出しを妨害するそれぞれの程度とに基づき、目標セルに実際に蓄積されたデータを推定する。ここで「推定」は専ら計算であって、ChenとFongのように、セルの読み出しに用いる比較基準電圧の再設定やセルの再読み出し等は含まないものと理解する。後述する好適な実施形態では通信工学分野のＩＳＩ等化アルゴリズムを応用してこの推定を行うため、ここではこの推定を「等化」と呼ぶ。
【００３０】
この方法は好ましくは、目標セルの各近傍セルが目標セルの読み出しを妨害する程度を算出することも含む。典型的には通信工学分野のＩＳＩチャネル推定アルゴリズムを応用して算出を行う。したがって、ここではこの算出を「クロスカップリング推定」と呼ぶこともある。算出は、セル間クロスカップリングの非線形モデル、あるいはセル間クロスカップリングの線形モデルに基づいてもよい。算出は、後述するバッチクロスカップリング推定のように等化とは別に（等化に先立ち）行うことができる。あるいは後述する適応型クロスカップリング推定・等化のように等化とともに繰り返し行うこともできる。算出は、最小平均二乗誤差（ＭＭＳＥ）、帰納的最大確率（ＭＡＰ）、最大尤度（ＭＬ）等の基準に基づいてもよい。
【００３１】
より好ましくは、各近傍セルが目標セルの読み出しを妨害するそれぞれの程度は、目標セルと近傍セルを読み出すことによって得られる各測定値に基づいて算出する。この方法は、最も好ましくは目標セルと近傍セルとは別の１つ以上のさらなるセルを読み出すことで１つ以上のさらなる測定値を得ることを含む。この場合は、１つ以上のさらなる測定値に基づいて各近傍セルが目標セルを妨害するそれぞれの程度を算出する。例えば後述するＬＭＭＳＥアルゴリズムでは、目標セルと同じ状態ｓにあるとされるＭ個のセルの測定から統計μ0|s を得る。例えば、目標セルとさらなるセルはフラッシュメモリの共通の消去ブロック、あるいはフラッシュメモリの共通のワード線に位置することがある。
【００３２】
より好ましくは、この方法は目標セルとその近傍セルにデータを蓄積することを含む。この方法の好ましい態様では、目標セルと近傍セルにデータが蓄積される前に、各近傍セルが目標セルの読み出しを妨害するそれぞれの程度を算出する。例えば、メモリのユーザがデータを蓄積し読み出す前のメモリ設計時あるいはメモリ製造時に、各近傍セルが目標セルの読み出しを妨害するそれぞれの程度を算出し得る。この方法のもうひとつの好ましい態様で、目標セルと近傍セルにデータが蓄積された後に、各近傍セルが目標セルの読み出しを妨害するそれぞれの程度を算出する。例えば後述するバックグラウンド算出オプションでは、目標セルとその近傍セルにデータが書き込まれ、目標セルと近傍セルは専ら算出のためにバックグラウンドで読み出され、読み出しの結果から各近傍セルが目標セルの読み出しを妨害するそれぞれの程度を算出し、その後メモリのユーザによって目標セルから同じデータが読み出されるときには、算出したそれぞれの程度をデータの推定に用いる。後述するオンザフライ算出・等化オプションはこの態様の重要で特別なケースである。この場合は目標セルに最後に蓄積されたデータを推定するため、目標セルが読み出されるたびに算出を行う。
【００３３】
もうひとつの好ましい代替案では、目標セルとその近傍セルに別のデータを蓄積し、目標セルと近傍セルを読み出すことで、目標セルと近傍セルから別の測定値を得ることができる。別の測定値に基づき、各近傍セルが目標セルの読み出しを妨害するそれぞれの程度を算出する。例えば後述するバックグラウンド算出オプションでは、目標セルとその近傍セルにデータが書き込まれ、目標セルと近傍セルは専ら算出のためにバックグラウンドで読み出され、読み出しの結果から各近傍セルが目標セルの読み出しを妨害するそれぞれの程度を算出し、算出に用いるデータを別のデータに差し替えた後、メモリのユーザによって目標セルから新たなデータが読み出されるときには、算出したそれぞれの程度を新たなデータの推定に用いる。もうひとつの例として、メモリの製造時に各近傍セルが目標セルを妨害するそれぞれの程度を算出する場合は、目標セルと近傍セルをプログラムして既知データ（すなわち、他所にも蓄積されているデータ）を蓄積し、プログラムされた目標セルと近傍セルの測定値とメモリから別個に蓄積されるデータに基づき、算出を行う。
【００３４】
推定は、好ましくは近傍セルによる妨害のための目標セルの各測定値を補正することを含む。あるいは、目標セルの各測定値は補正されない。代わりに、セルの各値の分布のパラメータの１つ以上の期待値を推定し、以降の処理に用いる。後述するＬＭＭＳＥ例でμ0|s,N およびσ20|s,N は期待値である。
算出と同様、推定はＭＭＳＥ、ＭＡＰ、ＭＬ等の基準に基づく。
【００３５】
本発明のメモリデバイスはメモリと等化機構を含む。メモリは複数のセルを含む。セルには、データを表すセルの物理的特性の各値を設定することによりデータが蓄積される。その後、各値の測定値を得るために各値を測定することによりセルが読み出される。こうして得た測定値は、データが蓄積されたときに設定される物理的特性の各値に一致しないことがあるため、本発明の１つ以上の方法を等化機構に用いてデータを推定する。等化機構はハードウェアで実装できるほか（例えば、セルを読み出す回路）、ファームウェアまたはソフトウェアで実装できる（例えば、メモリのコントローラ）。
【００３６】
本発明のシステムは、メモリデバイス、不揮発性メモリ、およびプロセッサを含む。メモリデバイスは、複数のセルからなるメモリを含む。セルには、データを表すセルの物理的特性の各値を設定することによりデータが蓄積される。その後、各値の測定値を得るために各値を測定することによりセルが読み出される。不揮発性メモリには、メモリデバイスのためのドライバコードが蓄積される。ドライバコードに含まれるコードはプロセッサによって実行され、本発明の１つ以上の方法によりメモリデバイスに蓄積されたデータを推定する。このようなドライバコードが組み込まれたコンピュータ可読蓄積媒体は本発明の範囲に含まれる。
ここでは例証のみを目的として添付の図面を参照しながら本発明を説明する。
【図面の簡単な説明】
【００３７】
【図１Ａ】１ビット方式でプログラムされるフラッシュセルのしきい値電圧分布を示す。
【図１Ｂ】２ビット方式でプログラムされるフラッシュセルのしきい値電圧分布を示す。
【図２Ａ】フラッシュメモリデバイスのブロック図である。
【図２Ｂ】フラッシュメモリデバイスのブロック図である。
【図３】フラッシュメモリセルアレイのクロスカップリング状態を示す。
【図４】３ビット方式でプログラムされソフトビットとして読み出されるフラッシュセルのしきい値電圧分布を示す。
【図５】本発明のシステムの高水準ブロック図である。
【発明を実施するための形態】
【００３８】
0005475665.tif 000004
【００３９】
線形最小平均二乗誤差（ＬＭＭＳＥ）クロスカップリング推定・等化は、クロスカップリングの推定・等化に用いる好適な一手法である。この手法は目標セルと近傍セルの二次統計に基づく。具体的には、近傍セルの読み出ししきい値電圧の共分散行列と、目標セルおよび近傍セルの相互相関ベクトルとに基づく。
【００４０】
次の例は、一度に１ワード線がプログラムされ、偶数ビット線沿いのセルがプログラムされた後に奇数ビット線沿いのセルがプログラムされるフラッシュメモリの例である。セル間クロスカップリングは主に偶数ビット線沿いのセルに影響をおよぼす。この各セルに影響をおよぼす近傍セルは、同一ワード線に沿って次のビット線上に位置するセルおよび同一ビット線に沿って次のワード線上に位置するセルである。これは特定の状態ｓまでプログラム済みとするＭ個の目標セルｘ0,i の、読み出し時のしきい値電圧ｘ0,i 、ｉ＝１・・・Ｍと、２つの重要な近傍セルの読み出し時のしきい値電圧ｘ1,i およびｘ2,i のセル間クロスカップリング推定とセル間クロスカップリング補正の例である。ｘ1,i は、同一ワード線に沿って次のビット線上に位置するセルの読み出し時のしきい値電圧である。ｘ2,i は、同一ビット線に沿って次のワード線上に位置するセルの読み出し時のしきい値電圧である。
【００４１】
0005475665.tif 000005
【００４２】
0005475665.tif 000006
【００４３】
0005475665.tif 000007
【００４４】
目標セルに蓄積される各ビットｉにつき、これらの二次統計を用いて対数尤度比（ビットが「１」としてプログラムされた確率に対するビットが「０」としてプログラムされた確率の比の対数）を次のとおりに計算する。
0005475665.tif 000008
ｓ0iの和は、ビットｉが「０」ビットになっている状態ｓの和である。ｓ1iの和は、残りの状態の和、すなわちビットｉが「１」ビットになっている状態ｓの和である。例えば、図４のように状態がしきい値電圧に対応付けられる１セル当たり３ビットのフラッシュメモリで、左端のビットの場合、分子の和は右端の４つの状態の和であり、分母の和は左端の４つの状態の和であり、中間のビットの場合、分子の和は左から３番目と４番目の状態と右から１番目と２番目の状態の和であり、分母の和は左から１番目と２番目の状態と右から３番目と４番目の状態の和であり、右端のビットの場合、分子の和は左から２番目と４番目の状態と右から１番目と３番目の状態の和であり、分母の和は左から１番目と３番目の状態と右から２番目と４番目の状態の和である。
【００４５】
和がｉ番目のビットが「０」になる最も近いｘ0 の状態ｓ0iとｉ番目のビットが「１」になる最も近いｘ0 の状態ｓ1iのみに制限されるなら、Ｌi の式は格段に単純になる。
0005475665.tif 000009
式１１または式１２を使って計算されるＬi は、ビットｉを含む符号語の推定にあたってＥＣＣデコーダへの入力として使用できる。
本発明のこの態様では、式（３）から（７）、（９）、および（１０）の二次統計計算がＬＭＭＳＥクロスカップリング推定であり、式（１１）または式（１２）におけるＬiの計算がＬＭＭＳＥ等化である。
【００４６】
0005475665.tif 000010
【００４７】
このほかに、より正確ではあるが多量の計算を要する適応クロスカップリング推定・等化ではカルマンフィルタを使って補正係数ａj を推定する。これは米国特許第６，２９５，３２６号（特許文献７）に見られるTonissenらによる通信工学分野でのチャネル推定・等化のためのカルマンフィルタの使用に似ている。Dai Qingyuan and E. Shwedyk, Detection of bandlimited signals over frequency selective Rayleigh fading channels, IEEE Transactions on Communication vol. 42 no. 2 (1994) pp. 941-950（非特許文献２）も併せて参照されたい。
【００４８】
このほかに、ＩＳＩ方面で周知であり、当業者であればセル間クロスカップリングの推定・補正に容易に応用できる適応型チャネル推定・等化アルゴリズムには次のものがある。
符号付きＬＭＳ (Simon Haykin, Adaptive Filter Theory, Third Edition, Prentice Hall,1996; R. D. Gitlin et al., An algorithm for the stable operation of a digitally implemented fractionally spaced adaptive equalizer, Proc. IEEE Int. Conf. Acoust. Speech Signal Process., May 1982, pp. 1379-1382（非特許文献３））
ＣＭＡアルゴリズム (R. Johnson, Jr., et al., Blind equalization using the constant modulus criterion: a review, Proc. IEEE vol. 86 no. 10 (1998) pp. 1927-1950（非特許文献４））
ＳＡＴＯアルゴリズム (Y. Sato, A method for self-recovering equalization for multilevel amplitude modulation system, IEEE Trans. Commun. vol. COM-23 (June 1975) pp.679-682 （非特許文献５））
Ｇｏｄａｒｄアルゴリズム (D. N. Godard, Self-recovering equalization and carrier tracking in two-dimensional data communication system, IEEE Trans. Commun. vol. COM-28 (Nov. 1980) pp. 1867-1875 （非特許文献６））
ＳＵＮＵＡアルゴリズム (Ching-Hsiang Tseng and Cheng-bin Lin, A stop-and-go dual-mode algorithm for blind equalization, GLOBECOM '96 (18-22 November 1996) vol. 2 pp. 1427-1431 （非特許文献７））
ＤＭＧＳＡアルゴリズム (V. Weerackody and S. A. Kassam, Dual-mode type algorithms for blind equalization, IEEE Trans. Commun. vol. 42 no. 1 (1994) pp. 22-28（非特許文献８））
【００４９】
バッチクロスカップリング推定でも複合適応型クロスカップリング推定・等化でも、データの等化にあたってデータを再度読み出す必要はない。読み出されたたしきい値電圧はバッファに蓄積され、必要に応じてバッファから引き出される。例えばセル間クロスカップリングの線形モデルの係数をクロスカップリング推定段階に算出するＬＭＭＳＥの最初の例では、バッファ内のデータを２度使用する。まずは係数を推定するクロスカップリング推定段階で使用し、次に推定した係数をデータに適用する等化段階で使用する。
【００５０】
クロスカップリング推定・等化法は推定基準で分類することもできる。推定の平均二乗誤差（ＭＭＳＥ）が極小化されるＭＭＳＥは好適な基準である。観察に基づく未知のパラメータの事後確率が極大化されるＭＡＰも好適な基準である。未知パラメータに基づく観察の条件付き確率が極大化されるＭＬも好適な基準である。ＭＡＰ推定は未知パラメータと観察の複合確率分布の知識を必要とする。ＭＬ推定は観察に基づく未知パラメータの条件付き確率分布の知識を必要とする。条件によっては異なる推定基準が一致することがあることに留意するべきである。例えばガウスノイズモデルではＭＭＳＥ基準とＭＡＰ基準が一致する。（しかるべき基準のもとで）最適シンボル推定を求めるか、それともシンボル列全体の最適推定を求めるかで、種々の推定アルゴリズムを区別することもできる。通信工学におけるＭＡＰチャネル推定・等化の使用については、M. J. Lopez et al., Reduced-complexity MAP equalizer for dispersive channels, IEEE Vehicular Technology Conference 2000 vol. 3 pp. 1371-1375（非特許文献９）を参照されたい。ＩＳＩ方面で周知であり、当業者であればセル間クロスカップリングの推定・補正に容易に応用できるＭＬアルゴリズムには次のものがある。
ＲＲＳＥアルゴリズム (Nigel C. McGinty and Rodney A. Kennedy, Reduced-state sequence estimator with reverse-time structure, IEEE Trans. Commun. vol. 45 no. 3 (1997) pp. 265-268（非特許文献１０））
ＤＤＦＳＥアルゴリズム (Alexanra Duel-Hallen and Chris Heegard, Delayed decision-feedback sequence estimation, IEEE Trans. Commun. vol. 37 no. 5 (1989) pp. 428-436 （非特許文献１１））
ＤＦＥアルゴリズム (Mikael Sternad et al., Robust decision feedback equalizers, IEEE Int. Conf. Acoustics, Speech and Signal Processing (April 27-30, 1993) vol. 3 pp. 555-558（非特許文献１２））
なお、これらのＭＬアルゴリズムは非線形アルゴリズムである。
【００５１】
フラッシュメモリデバイスの次のライフサイクル段階のうちのいずれか１つにおいて、前述した方法をクロスカップリング推定に適用し得る時期は、クロスカップリング係数がデバイスにより、時間により、取り扱いにより変化するか否かに応じて、あるいはどれくらい早く変化するかに応じて異なる。
１．設計
２．製造
３．バックグラウンド
４．オンザフライ
【００５２】
共通設計の全デバイスでクロスカップリング係数（より一般的には非線形クロスカップリングモデルのパラメータ）が同じなら、実験用のデバイスにランダムなデータをプログラムし、前述した方法のいずれか１つを用いて実験用デバイスのクロスカップリング係数を算出する。さらに算出したクロスカップリング係数を全生産デバイスに蓄積し、使用する。
【００５３】
共通設計の全デバイスでクロスカップリング係数が同じではないが、各デバイスの寿命にわたってごく僅かしか変化しない場合は、製造時に各デバイスにランダムなデータをプログラムし、前述した方法のいずれか１つを用いてデバイスのクロスカップリング係数を算出する。さらに算出したクロスカップリング係数をデバイスに蓄積し、デバイスの寿命全体にわたって使用する。
【００５４】
デバイス寿命（製造時に算出）とデバイス機種（設計時に算出）に対するクロスカップリング係数算出では、セルに蓄積されるデータについて仮説を立てないことに留意するべきである。例えば、しきい値電圧ｘ0 を持つセルが対応するしきい値電圧範囲のデータを蓄積するようにプログラムされたとは仮定しない。寿命算出に用いるランダムデータは事前に分かっている。
【００５５】
クロスカップリング係数がデバイスの寿命にわたってゆっくりと変化し、かつデバイスのプログラム−消去サイクル数に対してゆっくりと変化する場合、前述した方法のいずれか１つをバッチモードで使用し、デバイスのブロックごとにクロスカップリング係数をバックグラウンドで算出する。
クロスカップリング係数がかなり速やかに変化するためにバックグラウンドクロスカップリング推定では頼りにならない場合は、ワード線が読み出されるときに等化とともにクロスカップリング推定を行う。目標ワード線が読み出されるときには、近傍セルを含む全てのワード線（通常はもう１つのワード線のみ）も読み出されなければならないことに留意するべきである。
【００５６】
図２Ａは先行技術によるフラッシュメモリデバイスであると同時に、ハードウェアで等化を行う本発明のフラッシュメモリデバイスでもある。クロスカップリング推定のタイミングに関する最初の３つの選択肢（設計、製造、バックグラウンド）の場合は、コントローラ２０にクロスカップリング係数の表がある。データ入出力回路６は、列制御回路２によって読み出されるしきい値電圧にクロスカップリング係数を適用する。クロスカップリング推定のタイミングに関する４番目の選択肢（オンザフライ）の場合、データ入出力回路６は、読み出された選択されたしきい値電圧をコントローラ２０へ送信するように構成される。コントローラ２０は前述した方法のいずれか１つを用いてクロスカップリング係数を計算する。計算したクロスカップリング係数はデータ入出力回路６へ送り返され、読み出されるしきい値電圧に適用される。クロスカップリング係数の表をよりコンパクトにするため、１ワード線の全目標セルに、あるいは１ブロックの全目標セルに、あるいは１ブロックの全偶数ワード線の全目標セルか１ブロックの全奇数ワード線の全目標セルに（偶数ワード線の係数は奇数ワード線の係数と異なることがある）、あるいは１ブロックの全偶数ビット線の全目標セルか１ブロックの全奇数ビット線の全目標セルに（偶数ビット線の係数は奇数ビット線の係数と異なることがある）、あるいはこれらの目標セルの各近傍セルに対して数個のワード線または数個のブロック内の該当する位置にある全目標セルに、同じクロスカップリング係数を使用することができる。
【００５７】
図２Ｂは先行技術によるフラッシュメモリデバイスであると同時に、コントローラ２７のファームウェアかソフトウェアで等化が行われる本発明のフラッシュメモリデバイスでもある。コントローラ２７にはクロスカップリング係数の表がある。コントローラ２７は、ビット線ユニット１３から受信するしきい値電圧の測定値にクロスカップリング係数を適用する。クロスカップリング推定のタイミングに関する最初の２つの選択肢（設計、製造）の場合、この表はデバイスの寿命にわたって固定される。クロスカップリング推定のタイミングに関する残りの２つの選択肢（バックグラウンド、オンザフライ）の場合、コントローラ２７は前述した方法のいずれか１つを使用し、ビット線ユニット１３から受信するしきい値電圧の測定値からクロスカップリング係数を計算する。図２Ａのデバイスの場合のように、クロスカップリング係数の表をよりコンパクトにするため、１ワード線の全目標セルに、あるいは１ブロックの全目標セルに、あるいは１ブロックの全偶数ワード線の全目標セルか１ブロックの全奇数ワード線の全目標セルに（偶数ワード線の係数は奇数ワード線の係数と異なることがある）、あるいは１ブロックの全偶数ビット線の全目標セルか１ブロックの全奇数ビット線の全目標セルに（偶数ビット線の係数は奇数ビット線の係数と異なることがある）、あるいはこれらの目標セルの各近傍セルに対して数個のワード線または数個のブロック内の該当する位置にある全目標セルに、同じクロスカップリング係数を使用することができる。
【００５８】
図５は、本発明のシステム５０の高水準ブロック図である。システム５０は、プロセッサ５２と、４つのメモリデバイス、すなわちＲＡＭ５４、ブートＲＯＭ５６、マスストレージデバイス（ハードディスク）５８、およびフラッシュメモリデバイス６２としての図２Ｂのフラッシュメモリデバイスを含み、これらはいずれも共通のバス６４を介して通信する。フラッシュメモリデバイス６２のコントローラ２７は、システム５０ではバス６４に至るインターフェイスとして機能するに過ぎない。前述した図２Ｂのフラッシュコントローラ２７の残りの機能は、マスストレージデバイス５８に蓄積されプロセッサ５２によって実行されるフラッシュメモリドライバコード６０によってエミュレートされる。このドライバコードは、プロセッサ５２によって実行されるユーザアプリケーションとフラッシュメモリデバイス６２とを連係させ、フラッシュメモリデバイス６２のフラッシュメモリを管理する。ドライバコード６０は従来のフラッシュ管理ドライバコードの機能のほかに、本発明の方法の実施にあたって図２Ｂのコントローラ２７の機能をエミュレートする。具体的に、クロスカップリング推定のタイミングに関する最初の３つの選択肢（設計、製造、バックグラウンド）の場合は、フラッシュメモリデバイス６２のためのクロスカップリング係数表６６がマスストレージデバイス５８に蓄積される。クロスカップリング推定のタイミングに関する最初の２つの選択肢（設計、製造）の場合は、フラッシュメモリデバイス６２とともにこの表が提供され、ドライバコード６０の実行時にプロセッサ５２によって使用され、セル間クロスカップリングのためにフラッシュメモリデバイス６２から受信するしきい値電圧測定値を補正する。クロスカップリング推定のタイミングに関する３番目の選択肢の場合は、プロセッサ５２がしかるべきドライバコード６０を実行し、フラッシュメモリデバイス６２から受信するしきい値電圧の測定値に基づきクロスカップリング係数をバックグラウンドで計算し、計算したクロスカップリング係数を表６６に蓄積し、セル間クロスカップリングのためにフラッシュメモリデバイス６２から読み出されるしきい値電圧測定値の補正に使用する。クロスカップリング推定のタイミングに関する４番目の選択肢の場合、プロセッサ５２がフラッシュメモリ６２からしきい値電圧測定値を受信し、しかるべきドライバコード６０を実行し、クロスカップリング係数を計算し、計算したクロスカップリング係数をＲＡＭ５４の表６８に蓄積し、セル間クロスカップリングのためにしきい値電圧測定値の補正に使用する。ドライバコード６０は、典型的にはシステム５０のオペレーティングシステムコードに含まれるが、単独のコードでもよい。
【００５９】
フラッシュメモリデバイス６２を除くシステム５０のコンポーネントはフラッシュメモリデバイス６２のホスト７０に相当する。マスストレージデバイス５８は、本発明を実現するコンピュータ可読ドライバコードを保持するコンピュータ可読蓄積媒体の一例である。このようなコードを保持するＣＤ等、読み出し専用メモリもこのようなコンピュータ可読蓄積媒体である。
【００６０】
これまで限られた数の実施形態に関して本発明を説明してきたが、本発明の変形、修正、および応用が数多く可能であることは理解されよう。
【図１Ａ】
0005475665.tif 000011
【図１Ｂ】
0005475665.tif 000012
【図２Ａ】
0005475665.tif 000013
【図２Ｂ】
0005475665.tif 000014
【図３】
0005475665.tif 000015
【図４】
0005475665.tif 000016
【図５】
0005475665.tif 000017