(57)【要約】本発明は、所与のプログラム状態にプログラムされたセルを読み取る際に使用される基準電圧を決定するための方法、回路、及びシステムである。本発明の幾つかの実施形態は、ＮＶＭブロック又はアレイでセルを動作する（例えば読み取る）際に使用される動作基準セルのセットを設定するためのシステム、方法、及び回路に関する。本発明の一部として、ＮＶＭブロック又はアレイのセルの少なくとも１つのサブセットを読み取ることができ、アレイに関連する所与の状態で見つけられたセルの数は、セルの少なくとも１つのサブセットのプログラム中に取得された１つ又はそれ以上のチェックサム値と比較することができる。所与のプログラム状態或いは隣接する状態に関連した読み取り検証スレショルド基準電圧は、この比較の結果に基づいて調整することができる。【特許請求の範囲】
【請求項１】
ＮＶＭセルのセットで読み取り誤りを検出する方法であって、
セルの前記セットのプログラム中又はプログラム前に、前記ＮＶＭセルに関連する論理状態のセットの１つ又はそれ以上の論理状態にまで及び／又はそれより上にプログラムされるセルの数をカウントする段階と、
所与の状態で読み取られたセルの数を、プログラム中又はプログラム前に行われた前記カウント段階に基づいて前記所与の状態にあるはずのセルの数に対応する値と比較する段階と、
を含む方法。
【請求項２】
前記カウント段階は、前記セルのセットに関連する各論理状態以上にプログラムされるセルの数をカウントする段階を含む請求項１に記載の方法。
【請求項３】
前記比較段階は、所与の状態で読み取られたセルの数と、前記所与の状態以上にプログラムされた前記セットのセルの数及び前記所与の状態に隣接し且つそれよりも高い論理状態以上にプログラムされた前記セットのセルの数とを比較する段階を含む請求項１に記載の方法。
【請求項４】
前記所与の状態以上にプログラムされた前記セットのセルの数から、前記所与の状態に対し高い隣接状態以上にプログラムされた前記セットのセルの数だけ差し引くことによって前記所与の状態にあるはずのセルの数を求める段階を更に含む請求項３に記載の方法。
【請求項５】
セルのセットの１つ又はそれ以上の読み取り検証基準レベルを調整する方法であって、
前記セルのセットのプログラム中又はプログラム前に、前記ＮＶＭセルに関連する論理状態のセットの１つ又はそれ以上の論理状態にまで及び／又はそれより上にプログラムされるセルの数をカウントする段階と、
所与の状態で読み取られたセルの数を、プログラム中又はプログラム前に行われた前記カウント段階に基づいて前記所与の状態にあるはずのセルの数に対応する値と比較する段階と、
前記比較に基づいて前記所与の状態或いは隣接する状態に関連する読み取り検証レベルを引き上げる段階又は引き下げる段階のいずれかと、
を含む方法。
【請求項６】
前記カウント段階は、
前記セルのセットに関連する各論理状態以上にプログラムされるセルの数をカウントする段階と、
所与の状態で読み取られたセルの数を、前記所与の状態以上にプログラムされた前記セルのセットの数及び前記所与の状態に隣接し且つそれよりも高い論理状態以上にプログラムされた前記セットのセルの数と比較する段階と、
を含む請求項５に記載の方法。
【請求項７】
所与の論理状態で読み取られたセルの数が前記所与の状態で予想されるセルの数より少ない場合、その所与の状態に関連する読み取り検証レベルを引き下げることができるか、或いは前記隣接するより高い状態の読み取り検証レベルを引き上げることができることを特徴とする請求項６に記載の方法。
【請求項８】
所与の論理状態で読み取られたセルの数が前記所与の状態で予想されるセルの数より多い場合、その所与の状態に関連する読み取り検証レベルを引き上げることができるか、或いは前記隣接するより高い状態の読み取り検証レベルを引き下げることができることを特徴とする請求項６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に不揮発性メモリ（「ＮＶＭ」）セルの分野に関する。更に具体的には、本発明は、メモリセルアレイ内の１つ又はそれ以上のメモリセルを読み取るために１つ又はそれ以上の基準セルの基準電圧を選択するための方法及びシステムに関する。
【背景技術】
【０００２】
ＮＶＭセルは一般に、１つ又はそれ以上の基準構造体又はセルを使用して動作（例えばプログラム、読み取り、及び消去）される。１つ又はそれ以上の基準構造体又はセルの各々は、動作されるメモリセルの条件又は状態を決定するために動作されるメモリセルに対して比較することができる。よく知られているように、ＮＶＭセルの状態は、そのスレショルド電圧、つまりセルが電流を通し始める電圧によって定義し決定することができる。ＮＶＭセルのスレショルド電圧レベルは通常、セルの電荷蓄積領域内に蓄積された電荷量に相関付けられる。種々のスレショルド電圧範囲が、ＮＶＭセルの種々の状態に関連付けられる。図１Ａは、バイナリＮＶＭセルの２つの状態、すなわち消去とプログラム状態の間の境界と、２つの状態間のバッファ領域とを描いたグラフである。
【０００３】
一般的に、ＮＶＭセルが特定の状態、例えば消去され、プログラムされ、或いはマルチレベルセル（「ＭＬＣ」）内の複数の可能なプログラム状態の１つにプログラムされた状態にあるかどうかを決定するために、セルのスレショルドレベルは、スレショルドレベルが設定された基準構造体又はセルのスレショルドレベルと比較され、或いは他の場合では、試験される特定の状態に関連した電圧レベルであることが知られている。ＮＶＭセルのスレショルド電圧を基準セルのスレショルド電圧と比較することは、センス増幅器又は類似の回路を使用して行われることが多い。ＮＶＭセルの状態を決定するために、１つ又はそれ以上の基準セル又は構造体のスレショルド電圧に対してＮＶＭのスレショルド電圧を比較するための種々の技術はよく知られており、本発明に適用可能である。基準セル又は構造体のスレショルド電圧レベルをＮＶＭセルに対して比較するための現在知られている、又は将来考案される何らかの方法又は回路は、本発明に適用可能である。
【０００４】
ＮＶＭセルを所望の状態にプログラムする場合、各プログラムパルスの後、ＮＶＭセルのスレショルド値は、「プログラム検証」レベルとして定義される電圧レベルに基準スレショルド値を設定している基準セルに対して比較することができる。所与の状態について「プログラム検証」レベルとして定義される電圧レベルに設定されたスレショルド電圧を有する基準セルは、プログラム（すなわち帯電）されるセルのスレショルド電圧と比較して、プログラムされているセルの電荷蓄積エリア又は領域が、所望の状態に「プログラムされた」とみなし得る条件でセルを配置するように十分帯電されたかどうかを決定することができる。
【０００５】
ＮＶＭセルを読み取る場合、該セルが特定の状態にあるかどうか決定するために、セルのスレショルド電圧は、特定の状態について「読み取り」レベルとして定義される基準スレショルド電圧を有する基準セルのスレショルド電圧に対して比較することができる。「読み取り」レベルは通常、動作中に起こる可能性のある電圧ドリフトを補償するために、「プログラム検証」レベルよりも低く且つ消去検証レベルよりも高く設定される。セルの論理状態は、セルのＶｔが読み取り基準のＶｔよりも高い場合には「０」に定められ、低い場合には「１」に定められる。
【０００６】
ＭＬＣでは、２つ又はそれ以上のプログラムレベルは、図１Ｂに示されるように同じセル上に共存することができる。セルが属する複数の論理状態の１つを決定するためにＭＬＣセルが読み取られる場合には、少なくとも２つの読み取り基準セルを使用しなければならない。読み取り動作中、ＭＬＣセルのスレショルドが読み取り基準セルによって定められる２つ又はそれ以上のスレショルド電圧によって境界付けられる３つ又はそれ以上の領域の１つであることが決定されるはずである。図１Ｂに示される通りである。ＭＬＣの所与の状態を定義する電圧スレショルド境界は通常、バイナリＮＶＭセルの電圧スレショルド境界よりもかなり小さい。ここで図１Ｂを参照すると、ＭＬＣの４つの異なるスレショルド電圧領域が示されており、各領域は、ＭＬＣのプログラム状態の１つか、又はＭＬＣの消去状態に関連付けられる。ＭＬＣではポテンシャルスレショルド電圧のほぼ固定された範囲（例えば３ボルトから９ボルト）を幾つかのサブ範囲又は領域に分割する必要があるので、ＭＬＣの各サブ範囲又は領域のサイズは通常、図１Ａに示されるように、バイナリセルだけが２つの電圧スレショルド領域を必要とするバイナリＮＶＭセルの領域よりも小さい。
【０００７】
ＮＶＭセルの電圧スレショルドが固定されたままであることは希である。スレショルド電圧ドリフトは、メモリセルのスレショルド電圧の大きな変動を生じる可能性のある現象である。これらの変動は、セルの電荷蓄積領域からの電荷のリーク、温度変化、及び近傍にあるＮＶＭセルの動作からの干渉に起因して生じる可能性がある。ここで図２を参照すると、１０サイクルと１０００サイクルにおいての、例示的なＭＬＣの２つのプログラム状態に関連したスレショルド電圧（Ｖｔ）のドリフトに起因する変化を時間の関数として示したグラフが示されている。グラフに見られるように、電圧ドリフトは、多数のセルにわたり生じる可能性があり、これらのセル全体に相関のあるパターンで生じる可能性がある。ドリフトの大きさ及び方向は、ＮＶＭがプログラム及び消去サイクルを受けた回数及びＭＬＣのプログラムのレベルに依存することが知られている。セル（Ｖｔ）の偏移は、上方向又は下方向のいずれかとすることができることも知られている。
【０００８】
メモリセルのスレショルド電圧の変動は、状態の誤った読み取りを生じる可能性があり、更にメモリアレイ内のデータの破損を生じる可能性がある。電圧ドリフトは、ＭＬＣセルにおいて、各プログラム状態に関連したＶｔ領域又はサブ範囲が一般的なバイナリセルのＶｔ領域又はサブ範囲に比べて小さい場合に特に問題となる。
【０００９】
ＮＶＭアレイのセルのスレショルド電圧のドリフトに起因するデータ損失及びデータ破損を低減するために、ＮＶＭアレイ内のセルのスレショルド電圧ドリフトを補償する必要がある。所与のＮＶＭアレイでは、基準スレショルド電圧が、読み取られるＮＶＭセルが受ける実際の電圧ドリフトに関係する幾らかの値だけ定められた検証スレショルドレベルからオフセットされている基準セルの１つ又はセットを提供することが望ましい。ＮＶＭアレイのセルのスレショルド電圧の変動に対応できる基準電圧レベルのセット、及び決定された基準電圧を有する設定基準セルのセットを決定する効率的で信頼性のある方法に対する必要性が存在することが十分に理解されている。
【発明の開示】
【課題を解決するための手段】
【００１０】
本発明は、基準電圧を決定するための方法、回路、及びシステムである。本発明の幾つかの実施形態は、ＮＶＭブロック又はアレイでセルを動作する（例えば読み取る）際に使用される動作基準セルのセットを設定するためのシステム、方法、及び回路に関する。本発明の一部として、ＮＶＭブロック又はアレイのセルの少なくとも１つのサブセットは、試験基準セルの２つ又はそれ以上のセットの各々を使用して読み取ることができ、ここで試験基準セルの各セットは、試験基準セルの互いのセットから少なくとも僅かにオフセットされた基準電圧を生成又は供給することができる。ＮＶＭブロックの少なくとも１つのサブセットを読み取るのに使用される試験基準セルの各セットについて、読み取り誤り率を計算又は決定することができる。比較的低い読み取り誤り率に関連した試験基準セルのセットは、ＮＶＭブロック又はアレイ内のセルのサブセットの外側にある他のセルを動作（例えば読み取る）する際に使用される動作基準セルのセットとして選択することができる。別の実施形態では、試験基準セルの選択されたセットを用いて、選択された試験セットとほぼ同じ基準電圧を有する基準セルの動作セットを設定することができる。
【００１１】
本発明の幾つかの実施形態によれば、ＮＶＭアレイ内のセルのセットのプログラム前又はプログラム中に、セルのセットに関連した１つ又はそれ以上の論理状態又はプログラム状態の各々にプログラムされるセルの数をカウントすることができ、更に、例えばチェックサムテーブルに記憶することができる。本発明の幾つかの実施形態の一部として、各論理状態又はプログラム状態以上に、及び／又は以下にプログラムされるセルの数をカウントでき、及び／又はＮＶＭセルのセットと同じアレイ上に或いはＮＶＭアレイと同じチップ上のメモリ内のいずれかにあるテーブルに記憶することができる。
【００１２】
プログラムされたセルのセットを読み取ると、本発明の幾つかの実施形態によれば、所与の論理状態又はプログラム状態にあることが判明したセルの数は、プログラム中に記憶された対応する値（例えば所与の状態にプログラムされたセルの数）に対して、又はプログラム中に記憶された値から得られた値（例えば所与の状態以上にプログラムされたセルの数から隣接するより高い論理状態以上にプログラムされたセルの数を引いた数）に対して比較することができる。所与の状態で読み取られたセルの数とプログラム中に決定／カウント／記憶された値に基づいた予測される数との間に差異がある場合、所与のプログラム状態に関連する読み取り検証基準スレショルド値を上方又は下方に調整して、検出された誤りを補償することができる。本発明の幾つかの実施形態によれば、隣接する論理状態の読み取り検証レベルはまた、所与の状態で検出された読み取り誤りを補償するために上方又は下方に移動させることができる。
【００１３】
例えば、本発明の幾つかの実施形態によれば、所与のプログラム状態で見つけられた（例えば読み取られた）セルの数が予想される値を下回る場合には、その所与の状態に関連する読み取り検証基準電圧を下げることができ、或いは所与の状態より上で読み取られたセルの数が予想される数を上回ることが分かった場合には、所与の状態より高く且つ隣接する論理状態に関連する読み取り検証基準を引き上げることができる。逆に、所与のプログラム状態で見つけられた（例えば読み取られた）セルの数が予想を上回る場合には、その所与の状態に関連する読み取り検証基準電圧を上げることができ、或いは所与の状態より上で読み取られたセルの数が予想される数を下回ることが分かった場合には、所与の状態より高く且つ隣接する論理状態に関連する読み取り検証基準を引き下げることができる。従って、セルのセットの読み取り検証基準電圧は、該セットに関連する状態の各々で見つけられ／読み取られたセルの数がセルのセットのプログラム中にカウントされた値から読み取られ或いは得られた数にほぼ等しくなるように選択することができ、この値はチェックサムテーブルに記憶しておくことができる。
【００１４】
本発明の幾つかの実施形態によれば、チェックサムテーブルは、ＮＶＭセルのセットと同じチップ上に存在することができ、本発明の別の実施形態によれば、コントローラは、上述の誤り検出及び読み取り検証基準値調整を行うように適合させることができる。チェックサムテーブルは、ＮＶＭセルのセットと同じＮＶＭアレイ内に記憶するか、或いは、例えばプログラム及び／又は読み取り中にコントローラによって使用されるレジスタ又はバッファ内のＮＶＭアレイと同じチップ上に存在する幾つかの他のメモリセル上に記憶することができる。本発明の他の実施形態によれば、専用の誤りコーディング及び検出回路を同じチップ上のコントローラ及び動作されるＮＶＭアレイと共に含めることができる。
【発明を実施するための最良の形態】
【００１５】
本発明に関する主題は、添付の請求項において具体的に示され、明確に請求される。しかしながら、本発明は、動作の構成及び方法の両方、並びに目的、特徴、及び利点に関して添付図面と共に読めば以下の非限定的な詳細な説明を参照することによって最もよく理解することができる。
【００１６】
各図に示される要素は、これらの非限定的な例証を簡単且つ明瞭にするために、必ずしも縮尺通りに描かれていない点は理解されるであろう。例えば、要素の一部の寸法は、明瞭にするために他の要素に対して誇張されている場合がある。更に、適切と見なされる場合には、対応する要素又は類似の要素を示すために同じ参照符号を各図で重複している場合がある。
【００１７】
以下の詳細な説明では、本発明を完全に理解できるように多数の特定の詳細が記載される。しかしながら、当業者であれば、本発明がこれらの特定の詳細なしで実施できることを理解するであろう。他の場合では、公知の方法及び手順は、本発明を曖昧にしないために詳細には説明されていない。
【００１８】
本発明は、基準電圧を決定するための方法、回路、及びシステムである。本発明の幾つかの実施形態は、ＮＶＭブロック又はアレイ内でセルを動作する（例えば読み取る）のに使用される動作基準セルのセットを設定するためのシステム、方法、及び回路に関する。本発明の一部として、ＮＶＭブロック又はアレイのセルの少なくとも１つのサブセットは、試験基準セルの２つ又はそれ以上のセットの各々を使用して読み取ることができ、ここで試験基準セルの各セットは、試験基準セルの互いのセットから少なくとも僅かにオフセットされた基準電圧を生成することができ、或いは供給することができる。ＮＶＭブロックの少なくとも１つのサブセットを読み取るのに使用される試験基準セルの各セットについて、読み取り誤り率を計算することができ、或いは決定することができる。比較的低読み取り誤り率に関連する試験基準セルのセットは、ＮＶＭブロック又はアレイ内でセルのサブセットの外側にある他のセルを動作する（例えば読み取る）のに使用される動作基準セルのセットとして選択することができる。別の実施形態では、試験基準セルの選択されたセットを用いて、選択された試験セットとほぼ同じ基準電圧を有する基準セルの動作セットを設定（例えばプログラム）することができる。
【００１９】
ここで図３を参照すると、本発明の幾つかの実施形態によるＮＶＭブロック又はアレイを動作するのに使用される基準セルのセットを選択する方法の各ステップのフローチャートが示されている。本発明の幾つかの実施形態の一部として、関連する誤り検出機能を有し、試験基準セルのＮ個のセットに関連付けられる所与のＮＶＭブロック又はアレイにおいて、設定カウンタ「ｎ」が最初に１に設定することができる（ブロック３１０）。次いで、試験基準セルのｎ番目のセット（最初は１番目のセット）を用いて、ＮＶＭブロックの少なくとも１つのサブセットを読み取ることができる（ブロック３２０）。
【００２０】
ブロック３２０で読み取られたデータを用いて、試験基準セルのｎ番目のセットに関連した読み取り誤り率を決定することができる（ブロック３３０）。本発明の幾つかの実施形態によれば、ＮＶＭブロックの少なくとも１つのサブセットは、プログラム中に得られた追加の誤り検出データ／コードと共に、ソースデータがＮＶＭセルに格納されるＮＶＭブロックの予め定められた部分又はセグメントとすることができる。読み取り誤り率は、例えばパリティビット、チェックサム、ＣＲＣ、及び種々の他の技術の種々の誤り率サンプリング技術及び／又は誤り検出技術を使用して決定することができる。現在知られている、又は将来考案される何らかの誤り検出コーディング及び／又は評価技術は、本発明に適用可能である。
【００２１】
誤り率が試験基準セルのｎ番目のセットを使用してＮＶＭブロックの少なくとも１つのサブセットについて計算又は決定されると、試験基準セルのｎ番目のセットに関連する誤り率を記録することができる（ブロック３４０）。次いで、カウンタ「ｎ」は１つだけインクリメントすることができ（ブロック３５０）、該カウンタをチェックして、新しい「ｎ」がＮ＋１に等しいかどうか、すなわち試験基準セルセットの総数よりも大きな値であるかどうかを調べることができる（ブロック３６０）。新しい「ｎ」がＮ＋１よりも小さい（等しくない）場合には、ブロック３２０?３６０を繰り返すことができ、従って、ＮＶＭブロックの少なくとも１つのサブセットを読み取るための試験基準セルセットの各々の使用に関連する誤り率を決定し記録することができる。
【００２２】
カウンタ「ｎ」がＮ＋１に等しく、試験セットの各々に関連した誤り率が決定されると、比較的低い（例えば最も低い）読み取り誤り率に関連する基準試験セルのセットを選択することができる（ブロック３７０）。基準セルの選択されたセットを用いて、ＮＶＭブロック又はアレイ上でセルを動作させる（ブロック３８０）か、或いは選択されたセットの基準スレショルド電圧に基準スレショルド電圧がほぼ対応する基準セルの動作セットを設定することができ（ブロック３９０）、これにより設定された動作セットを用いてＮＶＭアレイ内でセルを動作させることができるようになる。
【００２３】
上記の説明は、セル又はアレイのＮＶＭブロックを動作する場合に使用される動作基準セルのセットを設定する方法の１つの実施形態を例示している。本発明の他の実施形態は、上記の説明から逸脱したものであってもよい点に留意されたい。選択された試験は、動作基準セットとして使用することができ、該試験を用いて、動作セットを選択又はプログラムすることができ、或いは調整可能な基準構造体のセットに関し基準レベルを調整することができる。更に本発明の方法は、現在公知とすることができるか、或いは将来考案される可能性のあるハードウェア及び／又はソフトウェアモジュールを含む種々のインプリメンテーションにおいて実施することができる。本発明の幾つかの実施形態によるＮＶＭブロック又はアレイのセルを動作するのに使用される動作基準セルのセットを設定する方法の可能な実施の一例を図４を参照して本明細書で以下に説明する。
【００２４】
ここで図４を参照すると、ＮＶＭアレイ４００と共に１つの可能な実施を示すブロック図が図示されている。本発明の幾つかの実施形態の一部として、ＮＶＭブロック又はアレイ４００を動作するための回路４０１は、コントローラ４１０、制御可能な電圧源４１２、センス増幅器４１４、及び試験基準セルの２つ又はそれ以上のセット４３２、４３４、及び４３６を含むことができる。試験基準セルの各セット４３２、４３４、及び４３６は、２つ又はそれ以上の試験基準セルを含むことができる。試験基準セルの各セット４３２、４３４、及び４３６は、試験基準セルの互いのセットから少なくとも僅かにオフセットされた基準電圧を有することができる。例えば、試験基準セルの各セット（例えば４３２）は、増分的にオフセットでき、これにより、各セットを、試験基準セルの前のセット（第１セットを除く）に関連する対応する一連のスレショルド電圧よりも僅かに高い一連のスレッショルド電圧に関連付けることができるようになる。別の実施例として、試験基準セルの第１セットが基準電圧を有するセル；すなわち、セル１＝４．２Ｖ、セル２＝５．２Ｖ、セル３＝６．２Ｖを含む場合、第２セットは、セル１＝４．３Ｖ、セル２＝５．３Ｖ、セル３＝６．３Ｖであるような基準電圧をオフセットしたセルを含むことができる。
【００２５】
図示された実施形態では、コントローラ４１０は、カウンタ「ｎ」を実装することができる（図示せず）。しかしながら、限定ではないが特徴的なカウンタモジュールを含む他のどのような構成も使用することができる。コントローラ４１０は、制御可能な電圧源４１２及びセンス増幅器４１４の動作を制御するように構成することができる。図３に示されるような本発明の幾つかの実施形態によれば、コントローラ４１０は、最初に基準試験設定カウンタ「ｎ」を１に設定することができる。次に、コントローラ４１０は、制御可能な電圧源４１２を動作し、試験基準セルのｎ番目のセット（最初は第１セット４３２）を使用して、ＮＶＭブロック又はアレイのセルの少なくとも１つのサブセット４０２を読み取ることができる。本発明の幾つかの実施形態の一部として、コントローラ４１０は、電圧源４１２に指令して、サブセットエリア４０２内のメモリセルの各々及び試験基準セルのｎ番目のセット（例えば４３２）からの１つ又はそれ以上の試験基準セルに段階的に増加する電圧パルスを印加することができる。サブセットエリア４０２内のメモリセルの各々のスレショルド電圧は、例えばセンス増幅器４１４を使用して、試験基準セルのｎ番目のセット（例えば４３２）内の試験基準セルの１つ又はそれ以上のスレショルド電圧に対して比較することができる。セルのスレショルド電圧を試験基準セルのｎ番目のセットからの基準セルのスレショルド電圧に対して比較することによって、セルのサブセット４０２内のセルの各々の状態を読み取り、又は決定することができる。メモリセルの状態を決定するために、メモリセルのスレショルド電圧を１つ又はそれ以上の基準セル及び／又は構造体のスレショルド電圧に対して比較する他の種々の技術はよく知られており、本発明の別の実施形態に従って実施することができる。
【００２６】
コントローラ４１０は、サブセットエリア４０２内のＮＶＭセルから読み取られたデータを受信することができる。コントローラ４１０は、データを処理することができ、サブセットエリア４０２内のメモリセルを読み取るのに使用される試験基準セルのｎ番目のセットに関連する読み取り誤り率を決定することができる。読み取り誤り率は、例えばパリティビット、チェックサム、ＣＲＣ、及び種々の他の技術のような種々の誤り率サンプリング及び／又は誤り検出技術を使用して決定することができる。必要とされる可能性のある何らかの付加的な要素を含む、サブセットエリア４０２及び／又はＮＶＭブロック４００の他の要素のいずれか及び／又は補助回路４０１は、誤り率サンプリング及び／又は一般的な誤り検出技術をサポートするように構成することができる。図示された実施形態では、サブセットエリア４０２は、パリティチェック誤り検出をサポートする１つ又はそれ以上のパリティビット（Ｐｎの記号がある）を含むことができる。コントローラ４１０は、サブセットエリア４０２から読み取られたデータを処理し、パリティチェック誤り検出に従って読み取り誤り率を決定するように構成することができる。本発明の別の実施形態では、別個の誤りコーディング及び検出回路（図示せず）を含むことができる。
【００２７】
計算されると、コントローラ４１０は、試験基準セル又は構造体の各セットについての読み取り誤り率を内部的に、又は指定された誤り率テーブル４１６のいずれかに記録することができ、この誤り率テーブルは、ＮＶＭブロック又はアレイの一部とすることができる。読み取り誤り率は、記録される読み取り誤り率の各々と該誤り率を作成するのに使用された試験基準セルのセットとの関連性を維持するような方法で記録することができる。
【００２８】
試験基準セルのｎ番目のセットに対し読み取り誤り率が設定された後、１つだけ「ｎ」をインクリメントするようにカウンタに指令することができる。「ｎ」の新しい値が試験基準セルセットの総数を超えていないかどうかチェックするために、コントローラ４１０に照会することができる。超えている場合、試験基準セルのセットの各々に関連する読み取り誤り率を決定及び記録するプロセスは、コントローラ４１０が中断させることができる。言い換えると、読み取り誤り率を決定及び記録するプロセスは、試験基準セルのＮ個のセット（例えば４３２、４３４、及び４３６）の各々について繰り返すことができる。
【００２９】
次に、コントローラ４１０は、記録された読み取り誤り率の中から比較的低い（例えば最も低い）読み取り誤り率を選択することができる。選択された比較的低い読み取り誤り率に関連する試験基準セルのセットは、ＮＶＭブロック又はアレイ４００のセルを動作するのに使用される動作基準セルのセットとして選択することができる。本発明の１つの任意選択的な実施形態によれば、コントローラ４１０はまた、選択された比較的低い読み取り誤り率に関連する選択された試験セットに用いられる基準電圧のセットを決定することができる。基準電圧のセットは、例えば、誤り率テーブル４１６に記録することができる。基準電圧のセットは記憶しておくことができ、これによりの基準電圧の記憶されたセットと試験基準セルの選択されたセット（例えば４３２）との関連性が維持されるようになる。
【００３０】
本発明の幾つかの実施形態によれば、各々が試験基準セルの異なるセットに関連している生成された読み取り誤り率の最も低いものが１つより多いことをコントローラ４１０が判断した場合（例えば２つ又はそれ以上の同等の読み取り誤り率が一様に最も低い誤り率であるとき）には、セットのうちのいずれがより低い読み取り誤り率を提供する可能性が高いかを決定するために、追加の処理を必要と場合がある。例えば、試験基準セルの２つ又はそれ以上のセットの各々について読み取り誤り率を生成及び記録するプロセスは、異なる判定条件に従って、或いはＮＶＭブロックの追加のサブセットに関して繰り返すことができる。或いは、最も低い読み取り誤り率の１つを任意に選択してもよい。
【００３１】
本発明の別の実施形態の一部として、試験基準セルのセット（例えば４３２、４３４、及び４３６）の中から比較的低い読み取り誤り率を提供することが予測されるセットを十分に選択することができる。この場合、例えば上述のように試験基準セルのセットの各々を使用してＮＶＭブロックの少なくとも１つのサブセットを読み取り、使用されたセットに関連する読み取り誤り率を生成した後で、読み取り誤り率をチェックすることができる。読み取り誤り率が所定のスレショルドを下回る場合、その読み取り誤り率に関連する試験基準セルのセットを選択して記録することができ、このようにすると試験セット全部をチェックする前に、読み取り誤り率の作成及び記録のプロセスを中断することができる。本発明の更に別の実施形態によれば、生成された読み取り誤り率のどれもが所定のスレショルドを下回らない場合には、最も低い誤り率は上述の検討に従って選択することができる。
【００３２】
本発明の別の実施形態では、試験基準セルの選択されたセットを用いて、選択された試験セットとほぼ同じ基準電圧を有する基準セルの動作セットを設定することができる。
【００３３】
ここで図５を参照すると、選択された試験セットとほぼ同じ基準電圧を有する動作基準セルのセットを設定し使用するためのＮＶＭアレイの１つの利用可能な構成が示されている。図５に示される補助回路４０１は、図４に示された補助回路とほぼ類似したものとすることができ、汎用基準セルのセット５２０及びオフセット回路５１０を加えて同様の方式で動作することができる。
【００３４】
最初に、補助回路４０１及びＮＶＭブロック４００は、試験基準セルの２つ又はそれ以上のセット４３２、４３４、及び４３６の各々と関連する読み取り誤り率を決定し、比較的低い（例えば最も低い）読み取り誤り率と関連する試験基準セルの２つ又はそれ以上のセット４３２、４３４、及び４３６の１つを選択するよう動作することができる。次に、試験基準セルの選択されたセットを用いて、汎用基準セルのセット５２０からの１つ又はそれ以上の汎用基準セルのオフセット値を決定することができる。オフセット値は、直接又はコントローラ４１０を介してオフセット回路５１０に入力することができる。オフセット回路５１０は、単独或いは制御可能な電圧源４１２と組み合わせて汎用基準セル５１０のセットから汎用基準セルの１つ又はそれ以上の基準電圧をオフセットするように適合させることができる。１つの実施形態では、オフセット回路５１０は汎用基準セルの基準電圧をオフセットするように構成することができ、これにより汎用基準セット５２０内の基準セルの基準電圧が選択された試験セット内の対応する基準セルにほぼ等しくすることができるようになる。
【００３５】
本発明の別の実施形態では、選択された試験セットに関連する基準電圧のセットは、コントローラ４１０によって取得することができる。上述のように、基準電圧のセットは、例えば誤り率テーブル４１６に記録することができる。この場合、基準電圧データのセットは、単純にテーブル４１６から関連したデータを検索することによって取得することができる。コントローラ４１０は、オフセット回路５１０に、基準電圧のセットに従って汎用基準セル５２０のセット内の基準セルの１つ又はそれ以上のスレショルド電圧をオフセットするよう指令することができる。本発明の更に別の実施形態では、コントローラ４１０は、オフセット回路５１０に、汎用基準セル５１０のセット内の汎用基準セルの１つ又はそれ以上の基準電圧をオフセットするよう指令することができ、その結果、汎用基準セル５１０のセットのスレショルド電圧が選択された試験セットのスレショルド電圧にほぼ等しくすることができるようになる。
【００３６】
本発明の別の実施形態によれば、オフセット回路５１０及び汎用基準セルのセット５２０は、基準セルのバンク（図示せず）に置き換えることができる。基準セルのバンクは、各々がバンク内の他の基準セルから増分的にオフセットされるバンク内の２つ又はそれ以上の基準セルを含むことができる。例えば、バンク内の各基準セルは、前の基準セル（第１基準セルを除く）のスレショルド電圧よりも僅かに高いスレショルド電圧を有することができる。
【００３７】
本発明の幾つかの実施形態によれば、選択されると、試験基準セルの選択されたセットを用いて、基準セルのバンク内の基準セルのどれが基準セルの動作セットを設定するのに使用されることになるかを判定することができる。基準セルのバンクからの基準セルの選択されたセットは、バンクからの選択されたセットが選択された試験セットとほぼ同じ基準電圧を有することができるように選択することができる。従って、バンクからの基準セルの選択されたセットは、選択された試験セットとほぼ同じ基準電圧を有する動作基準セルのセットを提供することができる。動作基準セルのセットは、ＮＶＭアレイを動作するのに使用することができる。
【００３８】
本発明の幾つかの実施形態によれば、ＮＶＭアレイ内のセルのセットのプログラムの前又はプログラム中に、セルのセットに関連した１つ又はそれ以上の論理状態又はプログラム状態の各々にプログラムされるセルの数をカウントすることができ、更に、例えばチェックサムテーブルに記憶することができる。本発明の幾つかの実施形態の一部として、各論理状態又はプログラム状態以上及び／又は以下にプログラムされるセルの数をカウントすることができ、及び／又はＮＶＭセルのセットと同じアレイ上或いはＮＶＭアレイと同じチップ上のメモリ内のいずれかにあるテーブルに記憶することができる。
【００３９】
プログラムされたセルのセットが読み取られると、本発明の幾つかの実施形態によれば、所与の論理状態又はプログラム状態にあることが判明したセルの数は、プログラム中に記憶された対応する値（例えば所与の状態にプログラムされたセルの数）に対して、又はプログラム中に記憶された値から得られた値（例えば所与の状態以上にプログラムされたセルの数から隣接するより高い論理状態以上にプログラムされたセルの数を引いた数）に対して比較することができる。所与の状態で読み取られたセルの数とプログラム中に決定／カウント／記憶された値に基づいた予想される数との間に差異がある場合、所与のプログラム状態に関連する読み取り検証基準スレショルド値を上方又は下方に調整して、検出された誤りを補償することができる。本発明の幾つかの実施形態によれば、隣接する論理状態の読み取り検証レベルは、所与の状態で検出された読み取り誤りを補償するために上方又は下方に移動させることができる。
【００４０】
例えば、本発明の幾つかの実施形態によれば、所与のプログラム状態で見つけられた（例えば読み取られた）セルの数が予想される値を下回る場合には、その所与の状態に関連する読み取り検証基準電圧を下げることができ、或いは、所与の状態より上で読み取られたセルの数が予想される数を上回ることが分かった場合には、所与の状態より高く且つ隣接する論理状態に関連する読み取り検証基準を引き上げることができる。逆に、所与のプログラム状態で見つけられた（例えば読み取られた）セルの数が予想を上回る場合には、その所与の状態に関連する読み取り検証基準電圧を上げることができ、或いは、所与の状態より上で読み取られたセルの数が予想される数を下回ることが分かった場合には、所与の状態より高く且つ隣接する論理状態に関連する読み取り検証基準を引き下げることができる。従って、セルのセットの読み取り検証基準電圧は、該セットに関連する状態の各々で見つけられ／読み取られたセルの数がセルのセットのプログラム中にカウントされた値から読み取られ或いは得られた数にほぼ等しくなるように選択することができ、この値はチェックサムテーブルに記憶しておくことができる。
【００４１】
本発明の幾つかの実施形態によれば、チェックサムテーブルは、ＮＶＭセルのセットと同じチップ上に存在することができ、本発明の別の実施形態によれば、コントローラは、上述の誤り検出及び読み取り検証基準値調整を行うように適合させることができる。チェックサムテーブルは、ＮＶＭセルのセットと同じＮＶＭアレイ内に記憶するか、或いは、例えばプログラム及び／又は読み取り中にコントローラによって使用されるレジスタ又はバッファ内のＮＶＭアレイと同じチップ上に存在する幾つかの他のメモリセル上に記憶することができる。本発明の他の実施形態によれば、専用の誤りコーディング及び検出回路を同じチップ上のコントローラ及び動作されるＮＶＭアレイと共に含めることができる。
【００４２】
次に図６を参照すると、誤り検出アルゴリズムに基づいてチェックサムを行い、チェックサムアルゴリズムの結果に基づいて基準セルのセットを選択するための、ＮＶＭアレイに関連した１つの可能な回路構成を示すブロック図が示されている。本発明の幾つかの実施形態によるチェックサムアルゴリズムの基本ステップを列挙したフローチャートを示す図７と共に図６を見ると、ＮＶＭセルのある数（例えば１０００セル）のプログラム前又はプログラム中のいずれかで、セルのセットに関連する各プログラム状態、それより上、又はそれより下のいずれかにプログラムされるセルの数をカウントする（ブロック６００）ことができることが示されている。カウント処理は、場合によってはコントローラ４１０で実行することができ、その結果をチェックサムテーブル４１８に記憶することができる。本発明の幾つかの他の実施形態によれば、チェックサム４１８テーブルは、ＮＶＭアレイと同じチップ上に記憶することができ、又は、ＮＶＭアレイ上に直接、或いは例えばＮＶＭアレイのプログラム及び又は読み取り中にコントローラ４１０によっても使用される記憶レジスタ又はバッファの別のメモリ上に記憶することができる。
【００４３】
次に図８Ａ及び図８Ｂを参照すると、本発明の幾つかの実施形態によるチェックサムアルゴリズムの一部としてチェックサム値をカウント、記憶、及び使用することができる方法の２つの実施例が示されている。図８Ａは、セルのセット用のチェックサム値が各論理状態又はプログラム状態より下にあるセルの数に基づくようにするセルのカウント処理を示しており、図８Ｂは、セルのセット用のチェックサム値が各論理プログラム状態より上にあるセルの数に基づくようにするセルのカウント処理を示している。この説明の目的のために、プログラム状態は消去状態以外のどのような論理状態としても定義することができる。図８Ａ及び図８Ｂに示されたものの他に、当業者であれば、ＮＶＭセルのセットに関連するプログラム状態の各々にプログラムされたセルの数を決定するのに使用されるチェックサム値を生成するための種々の方法及び装置があることを認識しているはずである。
【００４４】
セルのプログラムされたセットからセルを読み取っている間、コントローラ４１０又は他のある誤り検出回路（図示せず）は、読み取り中に各プログラム状態でカウントされたセルの数をプログラム中又はプログラム前に記憶されている対応するチェックサム値と比較することができる。例えば、セット内のセルの総数が１０００であり、第３プログラム状態で読み取られたセルの数は２３５で、更に、記憶されたチェックサム値の１つは、第３プログラム状態より下にプログラムされたセルの数が７５０であることを示している場合、第３プログラム状態にプログラムされたセルは２５０存在するはずであり、従って、第３プログラム状態にプログラムされたものとして読み取られているはずの１５セルがセットの読み取りに失敗したことを導き出すことができる（ブロック６１０）。
【００４５】
各プログラム状態に関連する読み取り検証基準スレショルド電圧は、ステップ６１０中の読み取りの際に検出された誤りに応答して調整することができる（ブロック６２０）。図７Ｂは、本発明の幾つかの実施形態による、チェックサムアルゴリズムを用いて１つ又はそれ以上のプログラム状態でのセルの読み取りに関連する基準電圧（例えば読み取り検証）を調整することができるステップを列挙したフローチャートを示している。図７Ｂを全体的に説明すると、所与のプログラム状態で見つけられたセルの数がチェックサム値から得られた値を上回る場合、その所与のプログラム状態に関連する読み取り検証スレショルド値を引き上げることができ、或いは、隣接するより高い状態に関連する読み取り検証基準レベルを引き下げることができることを示している。逆に、所与のプログラム状態で見つけられたセルの数が予想される数を下回る場合、所与のプログラム状態に関連する読み取り検証スレショルド値を引き下げることができ、或いは隣接する次に高い状態に関連する読み取り検証スレショルド値を引き上げることができる。
【００４６】
図７Ｂに関して、本発明の幾つかの実施形態によれば、所与のプログラム状態で見つけられた（例えば読み取られた）セルの数が予想される値を下回る場合、その所与の状態に関連する読み取り検証基準電圧を引き下げることができ、或いは、所与の状態より上で読み取られたセルの数が予想される数を上回ることが分かった場合、所与の状態より高く且つ隣接する論理状態に関連する読み取り検証基準を引き上げることができる。逆に、所与のプログラム状態で見つけられた（例えば読み取られた）セルの数が予想を上回る場合、その所与の状態に関連する読み取り検証基準電圧を引き上げることができ、或いは所与の状態より上で読み取られたセルの数が予想される数を下回ることが分かった場合、所与の状態より高く且つ隣接する論理状態に関連する読み取り検証基準を引き下げることができる。従って、セルのセット用の読み取り検証基準電圧は、セットに関連する状態の各々で見つけられた／読み取られたセルの数が、セルのセットのプログラム中にカウントされた値から読み取られ又は得られた数にほぼ等しくすることができるように選択でき、その値は、チェックサムテーブルに記憶しておくことができる。図７Ｂのステップは、各プログラム状態で読み取られたセルの数が他の実施形態で予想されるセルの数にほぼ相当するまで反復プロセスの一部として繰り返すことができ、幾つかの異なる状態にプログラムされたセルを並行してチェックすることができる。
【００４７】
本発明の幾つかの特徴を本明細書で例示し説明してきたが、多くの修正、置換、変更、及び均等物が当業者には想起されるであろう。従って、添付の請求項は、本発明の真の精神の範囲内にあるこのような修正及び変更の全てを保護するものとする点を理解されたい。
【図面の簡単な説明】
【００４８】
【図１Ａ】プログラム検証スレショルドレベルと読み取り検証スレショルドレベルの両方を見ることができる、バイナリＮＶＭセルの異なる状態に関連した異なるスレショルド電圧のグラフ図である。
【図１Ｂ】各々がマルチレベルセル（ＭＬＣ）の異なるプログラム状態の境界に関連する種々のスレショルド電圧のグラフ図である。
【図２】１０サイクル及び１０００サイクルにおいての、例示的なマルチレベルセル（ＭＬＣ）の各プログラム状態に関連したスレショルド電圧（Ｖｔ）のＶｔドリフトに起因する測定された変化を時間の関数として示すグラフである。
【図３】本発明の幾つかの実施形態によるＮＶＭブロック又はアレイを動作する際に使用される基準セルのセットを選択する方法のフローチャート図である。
【図４】本発明の幾つかの実施形態による図３の方法の１つの実施をサポートするＮＶＭアレイに関連した１つの可能な回路構成を示すブロック図である。
【図５】選択された試験セットとほぼ同じ基準電圧を有する動作基準セルのセットを設定し使用するためのＮＶＭアレイに関連した１つの可能な回路構成を示すブロック図である。
【図６】本発明の幾つかの実施形態による誤り検出アルゴリズムに基づいてチェックサムを行い、チェックサムアルゴリズムの結果に基づいて基準セルのセットを選択するためのＮＶＭアレイに関連した１つの可能な回路構成を示すブロック図である。
【図７Ａ】本発明の幾つかの実施形態によるチェックサムアルゴリズムの基本ステップを列挙したフローチャートを示す図である。
【図７Ｂ】本発明の幾つかの実施形態による、チェックサムアルゴリズムを使用して所与のプログラム状態でのセルの読み取りに関連した基準電圧（例えば読み取り検証）を調整することのできるステップを列挙したフローチャートを示す図である。
【図８Ａ】本発明の幾つかの実施形態によるチェックサムアルゴリズムの一部として記憶及び使用することができるチェックサム値のセットの実施例を示す図である。
【図８Ｂ】本発明の幾つかの実施形態によるチェックサムアルゴリズムの一部として記憶及び使用することができるチェックサム値のセットの実施例を示す図である。
【図１Ａ】
2007510253.tif 000002
【図１Ｂ】
2007510253.tif 000003
【図２】
2007510253.tif 000004
【図３】
2007510253.tif 000005
【図４】
2007510253.tif 000006
【図５】
2007510253.tif 000007
【図６】
2007510253.tif 000008
【図７Ａ】
2007510253.tif 000009
【図７Ｂ】
2007510253.tif 000010
【図８Ａ】
2007510253.tif 000011
【図８Ｂ】
2007510253.tif 000012
【国際調査報告】
2007510253.tif 000013
2007510253.tif 000014