複数のメモリセルに対してセンス動作を同時に行うための技術を提供する。このセンス動作は、異なるメモリセルに共通の制御ゲート電圧を印加している間に、それらのメモリセルに対する異なる閾値電圧を検知する。
メモリセルの集合に対するプログラム動作は、通常、メモリセルが消去状態で提供された後、メモリセルに一連のプログラム電圧を印加することを必要とする。各プログラム電圧は、プログラム−ベリファイ反復とも呼ばれるプログラムループにおいて提供される。例えば、プログラム電圧は、メモリセルの制御ゲートに接続されたワード線に印加されてもよい。1つの手法では、漸増的ステップパルスプログラミングが行われ、そこでプログラム電圧は各プログラムループにおいてステップサイズだけ増加する。各プログラム電圧後、メモリセルのプログラミングが完了したか否かを判断するためにベリファイ動作が実行されてもよい。あるメモリセルに対するプログラミングが完了すると、そのセルを更なるプログラミングからロックアウトすることができ、一方、後に続くプログラムループにおいて他のメモリセルに対するプログラミングは継続する。
プログラムコマンド内の書込みデータに従って、各メモリセルがデータ状態に関連付けられてもよい。そのデータ状態に基づいて、メモリセルは、消去状態を維持するか、又は消去状態とは異なるデータ状態(プログラムされたデータ状態)にプログラムされることになる。例えば、1セルあたり2ビットのメモリデバイスでは、消去状態と、A、B及びCデータ状態と呼ばれる3つのより高いデータ状態と、を含む4つのデータ状態が存在する(図5A参照)。1セルあたり3ビットのメモリデバイスでは、消去状態と、A、B、C、D、E、F及びGデータ状態と呼ばれる7つのより高いデータ状態と、を含む8つのデータ状態が存在する(図5B参照)。1セルあたり4ビットのメモリデバイスでは、消去状態と、A、B、C、D、E、F、G、H、I、J、K、L、M、N及びOデータ状態と呼ばれる15のより高いデータ状態と、を含む16のデータ状態が存在する(図5C参照)。
プログラムコマンドが発せられると、書込みデータはメモリセルに関連付けられたラッチ内に格納される。プログラミング中、メモリセルのラッチを読み出して、セルがプログラムされるべきデータ状態を決定することができる。各プログラムされたデータ状態はベリファイ電圧と関連付けられ、これにより、所与のデータ状態のメモリセルは、その閾値電圧(Vth)が関連付けられたベリファイ電圧を上回っているとセンス動作が判断したときに、プログラミングが完了したものとみなされる。センス動作は、関連付けられたベリファイ電圧を制御ゲートに印加し、メモリセルを流れる電流を検知することにより、メモリセルが、関連付けられたベリファイ電圧を上回るVthを有しているか否かを判断することができる。電流が比較的高い場合、これは、メモリセルが導電状態にあり、Vthが制御ゲート電圧よりも小さいことを示す。電流が比較的低い場合、これは、メモリセルが非導電状態にあり、Vthが制御ゲート電圧よりも大きいことを示す。
メモリセルのプログラミングが完了したことを判断するために使用されるベリファイ電圧は、最終ベリファイ電圧又はロックアウトベリファイ電圧と呼ばれることもある。場合により、メモリセルのプログラミングが完了間近であることを判断するために、追加のベリファイ電圧を使用してもよい。この追加のベリファイ電圧は、オフセットベリファイ電圧と呼ばれることがあり、最終ベリファイ電圧よりも低くすることができる。メモリセルのプログラミングが完了間近であるとき、1又は複数の後続するプログラム電圧中、それぞれのビット線の電圧を上げることなどにより、メモリセルのプログラミング速度を低減することができる。例えば、図5Aでは、Aデータ状態にプログラムされるべきメモリセルは、Aデータ状態のオフセットベリファイ電圧であるVvAO、及び、Aデータ状態の最終ベリファイ電圧であるVvAでベリファイ試験にかけることができる。
メモリセルのプログラミングが完了する直前にプログラミング速度を遅くすることにより、より狭いVth分布を達成することができる。しかしながら、ベリファイ動作を行うのに時間が費やされる。例えば、通常、図5AのVvAOに対するベリファイ試験は、選択されたワード線を介して選択されたメモリセルの制御ゲートにVvAOを印加すること、それぞれのビット線を介して選択されたメモリセルに接続されたセンス回路をプリチャージすること、及び、指定された放電期間中のセンス回路での放電量を監視すること、を含む。放電量は、センス回路の電圧がトリップ電圧を下回るか否かに基づいて決定される。センス回路の電圧がトリップ電圧を下回る場合、これはメモリセルが導電状態であることを示す。換言すると、メモリセルのVthが制御ゲートの電圧よりも小さくなっている。センス回路の電圧がトリップ電圧を下回らない場合、これはメモリセルが非導電状態であることを示す。換言すると、メモリセルのVthが制御ゲートの電圧よりも大きくなっている。
図5AにおけるVvAに対するベリファイ試験も、同様に、選択されたメモリセルにVvAを印加すること、センス回路をプリチャージすること、及び、センス回路での放電量を監視すること、を含む。従って、2度のベリファイ試験が連続的に行われると、ベリファイ動作の時間は2倍になる。
本明細書で提供される技術は、各ベリファイ試験のためにセンス回路を異なる電圧にプリチャージして、次いでセンス回路での放電量を監視することにより、複数のベリファイ試験を同時に実行することを可能にする。複数のベリファイ試験において共通の放電期間及びトリップ電圧が使用されるように、異なるプリチャージ電圧を設定することができる。放電期間は同時であるため、ベリファイ動作の時間は短縮される。特に、オフセットベリファイ電圧で検証されているメモリセルのセンス回路では、最終ベリファイ電圧で検証されているメモリセルのセンス回路よりも高いプリチャージ電圧を設定することができる。
更に、この技術は、様々なセンス回路設計と両立できる。1つの手法では、検知されるメモリセルのVthがデータ状態のオフセットベリファイ電圧(例えば、Aデータ状態に対するVvAO)を超えているか否かを示すビットを格納するために、オフセットベリファイラッチと呼ばれるラッチを使用する。1つの手法では、このビットはオフセットベリファイラッチからローカルバスに転送され、ビットの電圧は第1のプリチャージ時間に第1の電圧へのプリチャージが発生するか否かを判断する。この手法により、コントローラがオフセットベリファイラッチを読み出し、バスの電圧を設定するために時間を費やすことが回避される。他の手法では、コントローラがオフセットベリファイラッチを読み出し、プリチャージが発生するか否かを決定するバスの電圧を設定する。コントローラがセンス回路に共通のプリチャージ電圧を供給すると、各センス回路は、バスの電圧に応じた第1の電圧にプリチャージされてもよい。
第2のプリチャージ時間において、メモリセルのVthがオフセットベリファイ電圧と最終ベリファイ電圧との間の範囲内にあるか否かを判断するために、コントローラはセンス回路のデータ状態ラッチを読み出す。セルがこの範囲内にある場合、ベリファイ試験がデータ状態の最終ベリファイ電圧(例えば、Aデータ状態に対するVvA)で行われる。コントローラは、各センス回路のバスの電圧を設定して、プリチャージを有効にしたり無効にしたりすることができる。コントローラがセンス回路に第2の共通のプリチャージ電圧を供給すると、各センス回路は、バスの電圧に応じた第2の電圧にプリチャージされてもよい。
この技術は、一般的に、異なるVthレベルでメモリセルを検証するために使用することができる。一実装形態では、異なるVthレベルが異なるデータ状態に関連付けられる。この技術は、ベリファイ動作及び他のセンス動作において使用することができる。
図1は、不揮発性メモリデバイスの例示的なブロック図である。メモリデバイス100は、1又は複数のメモリダイ108を含んでもよい。メモリダイ108は、メモリセルのアレイなどのメモリセルのメモリ構造126、制御回路110及び読出し/書込み回路128を含む。メモリ構造126は、行デコーダ124を介してワード線によりアドレス指定可能であり、列デコーダ132を介してビット線によりアドレス指定可能である。読出し/書込み回路128は、複数のセンスブロックSB1、SB2、...、SBpを含み、メモリセルのページが並列に読み出されるか又はプログラムされることを可能にする。通常、コントローラ122は、1又は複数のメモリダイ108と同じメモリデバイス100(例えば、着脱可能なストレージカード)に含まれる。コマンド及びデータは、データバス120を介してホスト140とコントローラ122との間で転送され、ライン118を介してコントローラと1又は複数のメモリダイ108との間で転送される。
メモリ構造は2D又は3Dであってもよい。メモリ構造は、3Dアレイを含む、メモリセルの1又は複数のアレイを含んでもよい。メモリ構造は、ウェハなどの単一の基板の(中にではなく)上に、介在する基板なしに複数のメモリレベルが形成されるモノリシックな3次元メモリ構造を含んでもよい。メモリ構造は、シリコン基板上に配置された活性領域を有するメモリセルのアレイの1又は複数の物理レベルでモノリシックに形成される、任意の種類の不揮発性メモリを含んでもよい。メモリ構造は、関連する回路が基板の上にあるか又は内部にあるかに関わらず、メモリセルの動作に関連付けられた回路を有する不揮発性メモリデバイス内にあってもよい。
制御回路110は、読出し/書込み回路128と協働してメモリ構造126上でメモリ動作を実行し、ステートマシン112、オンチップアドレスデコーダ114、電力制御モジュール116を含む。ステートマシン112は、メモリ動作のチップレベル制御を提供する。記憶領域113には、プログラミングパラメータ及びセンシングパラメータ(例えば、ビット線電圧及びベリファイ電圧)などのメモリデバイスを動作させるためのパラメータが供給されてもよい。
オンチップアドレスデコーダ114は、ホスト又はメモリコントローラによって使用されるアドレスと、デコーダ124及び132によって使用されるハードウェアアドレスとの間のアドレスインターフェースを提供する。電力制御モジュール116は、メモリ動作中にワード線及びビット線に供給される電力及び電圧を制御する。電力制御モジュール116は、3D構成でのワード線層(WLL)、SGS及びSGDトランジスタ、並びにソース線用のドライバを含んでもよい。1つの手法では、センスブロックがビット線ドライバを含んでもよい。SGSトランジスタはNANDストリングのソース端における選択ゲートトランジスタであり、SGDトランジスタはNANDストリングのドレイン端における選択ゲートトランジスタである。
実装形態によっては、構成要素のうちの幾つかを結合してもよい。様々な設計では、メモリ構造126を除く1又は複数の構成要素(単体又は組み合わせ)は、本明細書に記載する動作を実行するように構成された少なくとも1つの制御回路とみなしてもよい。例えば、制御回路は、制御回路110、ステートマシン112、デコーダ114/132、電力制御モジュール116、センスブロックSB1、SB2、...、SBp、読出し/書込み回路128、コントローラ122等のうちの任意の1つ又は組み合わせを含んでもよい。
オフチップコントローラ122は、プロセッサ122cと、ROM122a及びRAM122bなどの記憶デバイス(メモリ)とを含んでもよい。記憶デバイスは、命令の集合などのコードを含み、プロセッサはこの命令の集合を実行して本明細書に記載する機能を提供するように動作可能である。代替的に又は追加的に、プロセッサは、1又は複数のワード線内のメモリセルの予約領域など、メモリ構造の記憶デバイス126aからのコードにアクセスしてもよい。
例えば、図2は、図1のプロセッサ122c又は図8Aのセンスブロック内のプロセッサ863によって実行され得るコードを示す。コード150は、プログラミング動作、読出し動作及び消去動作などのためにメモリ構造にアクセスするために、コントローラによって使用される。このコードは、ブートコード151及び制御コード(例えば、命令の集合)160を含んでもよい。ブートコードとは、起動中又はスタートアップ処理中にコントローラを初期化し、コントローラがメモリ構造にアクセスできるようにするソフトウェアである。このコードは、1又は複数のメモリ構造を制御するためにコントローラによって使用されてもよい。起動時、プロセッサ122cは実行のためにROM122a又は記憶デバイス126aからブートコードを取り出し、ブートコードは、システムコンポーネントを初期化し、制御コードをRAM122bにロードする。又は、プロセッサ863が実行のためにメモリ862からブートコードを取り出す。制御コードは、ロードされるとプロセッサによって実行される。制御コードは、メモリの制御及び割り当て、命令の処理の優先順位付け、入力ポート及び出力ポートの制御などの基本的なタスクを実行するためのドライバを含んでもよい。
命令の集合は、メモリセルの集合に対するプログラム動作を実行するための命令を含んでもよい。これらの命令は、ラッチに信号を供給して、センス回路内の第1のトランジスタの制御ゲートに接続されたバスに当該ラッチによって格納されるビットを供給するための命令(161)と、このビットがバスに供給されている間に、センス回路内の第2のトランジスタに第1のより高い制御ゲート電圧を供給して、第2のトランジスタに、このビットが第1のビット電圧によって表わされる場合にはセンス回路のセンスノードを第1のセンスノード電圧にプリチャージさせ、このビットが第2のビット電圧によって表わされる場合にはセンスノードを第1のセンスノード電圧にプリチャージさせないようにするための命令(162)と、センス回路に関連付けられた追加のラッチからビットを読み出すための命令(163)と、追加のラッチからのビットから、メモリセルの閾値電圧がデータ状態の最終ベリファイ電圧を超えていないことを判断するための命令(164)と、メモリセルの閾値電圧が最終ベリファイ電圧を超えていないという判断に応じて、第1のトランジスタを導電状態にする電圧をバスに供給し、より高い制御ゲート電圧よりも低い、第2のより低い制御ゲート電圧をセンス回路内の第2のトランジスタに供給するための命令(165)と、を含んでもよい。一般的に、制御コードは、図6A、図6B、図11A〜図11Dの処理のステップを含む、本明細書に記載する機能を実行するための命令を含んでもよい。
NANDフラッシュメモリに加えて、他の種類の不揮発性メモリを使用してもよい。
半導体メモリデバイスには、ダイナミックランダムアクセスメモリ(DRAM)又はスタティックランダムアクセスメモリ(SRAM)などの揮発性メモリデバイス、抵抗変化型メモリ(ReRAM)、電気的消去可能ROM(EEPROM)、フラッシュメモリ(EEPROMの部分集合とみなしてもよい)、強誘電体ランダムアクセスメモリ(FRAM(登録商標))及び磁気抵抗ランダムアクセスメモリ(MRAM)などの不揮発性メモリデバイス、並びに情報を記憶することができる他の半導体素子が含まれる。各種類のメモリデバイスは、異なる構成を有してもよい。例えば、フラッシュメモリデバイスは、NAND又はNOR構成で構成されてもよい。
一実施形態では、ホストは、1又は複数のプロセッサと、本明細書に記載する方法を実行するように当該1又は複数のプロセッサをプログラミングするためのプロセッサ可読コード(例えば、ソフトウェア)を記憶する1又は複数のプロセッサ可読記憶デバイス(RAM、ROM、フラッシュメモリ、ハードディスクドライブ、固体メモリ)をと、含む、コンピューティング機器(例えば、ラップトップ、デスクトップ、スマートフォン、タブレット、デジタルカメラ)である。ホストは、追加のシステムメモリ、1又は複数の入力/出力インターフェース、及び/又は、1又は複数のプロセッサと通信する1又は複数の入力/出力デバイスを含んでもよい。
ステートマシンは、完全にハードウェアで実装されてもよいし、ハードウェアとソフトウェアとの組み合わせであってもよい。例えば、ステートマシンは、1又は複数のプロセッサと、本明細書に記載する方法を実行するように当該1又は複数のプロセッサをプログラミングするためのプロセッサ可読コード(例えば、ソフトウェア)を記憶する1又は複数のプロセッサ可読記憶デバイスと、を含んでもよい。
コントローラは、完全にハードウェアで実装されてもよいし、ハードウェアとソフトウェアとの組み合わせであってもよい。例えば、コントローラは、1又は複数のプロセッサと、本明細書に記載する方法を実行するように当該1又は複数のプロセッサをプログラミングするためのプロセッサ可読コード(例えば、ソフトウェア)を記憶する1又は複数のプロセッサ可読記憶デバイスと、を含んでもよい。
図3は、図1のメモリ構造126の一例として、NANDフラッシュメモリセルのブロック300を示す。このブロックは、例えばNS0、NS1、NS2、NS3、NS4、NS5、NS6、NS7、NS8、NS9、NS10、NS11、NS12及びNS13などの多数のNANDストリングと、例えばBL0、BL1、BL2、BL3、BL4、BL5、BL6、BL7、BL8、BL9、BL10、BL11、BL12及びBL13などのそれぞれのビット線と、を含む。各NANDストリングは、一端がドレイン選択ゲート(SGD)トランジスタに接続され、またこのドレイン選択ゲートトランジスタの制御ゲート同士は、共通のSGDラインを介して接続される。NANDストリングは、他端がソース選択ゲートトランジスタに接続され、このソース選択ゲートトランジスタも共通のソース線に接続される。64本のワード線、例えば、WL0〜WL63がソース選択ゲートトランジスタとドレイン選択ゲートとの間に延びている。例示的なワード線WL3は、NANDストリングから1つのメモリセル、例えば、NS0、NS1及びNS2において、それぞれメモリセル310、311及び312を含む。1つの手法では、センス動作中、選択されたワード線に接続された各メモリセルを検知してもよい。
図4は、図1のメモリ構造126の他の例として、NANDセルのアレイ400の一例を示す。各列に沿って、ビット線406が、NANDストリング450のドレイン選択ゲートのドレイン端子426に結合される。NANDストリングの各行に沿って、ソース線404が、NANDストリングのソース選択ゲートトランジスタの全てのソース端子428を接続してもよい。
記憶素子のアレイは、図3のブロック300などのような記憶素子の多数のブロックに分割される。フラッシュEEPROMシステムに共通するように、ブロックは消去の単位である。即ち、各ブロックは、まとめて消去される最小の数の記憶素子を包含する。各ブロックは、通常、幾つかのページに分割される。ページは、プログラミングの最小単位である。データの1又は複数のページは、通常、記憶素子の1つの行内に記憶される。例えば、行は、通常、幾つかのインターリーブされたページを含むか、又は1つのページを構成することがある。ページの全ての記憶素子は、一緒に読み出されるか又はプログラムされることになる。更に、ページは、1又は複数のセクタからのユーザデータを記憶してもよい。セクタは、ユーザデータの便利な単位として、ホストによって用いられる論理的概念である。セクタは、通常、オーバーヘッドデータを含まず、オーバーヘッドデータはコントローラに制限される。オーバーヘッドデータは、セクタのユーザデータから算出されたエラー訂正コード(ECC)を含んでもよい。コントローラ(以下で説明する)の一部は、データがアレイにプログラムされているときにECCを算出し、データがアレイから読み出されているときにそれをチェックする。或いは、ECC及び/又は他のオーバーヘッドデータは、それらが関係するユーザデータとは異なるページ又はさらには異なるブロックに記憶される。
ユーザデータのセクタは、磁気ディスクドライブのセクタのサイズに対応する512バイトであってもよい。オーバーヘッドデータは、追加の16〜20バイトを含んでもよい。およそ8ページから、例えば32、64、又はそれを超えるページまでの多数のページがブロックを形成する。実施形態によっては、NANDストリングの行がブロックを含む。
更に、センスアンプなどのセンス回路を各ビット線に接続するか、又は複数のビット線間で共有してもよい。例としては、センス回路410、412、...、414が挙げられる。センス回路コントローラ860(図8Bも参照されたい)は制御回路であり、この制御回路は、関連するビット線及び1又は複数の選択された記憶素子を含めて、センス動作中に各センス回路内のセンスノードの電圧を設定するのに使用するための電圧を各センス回路に供給する。例示的なセンス回路の詳細は、以下で更に考察する。
図5Aは、読出し電圧及びベリファイ電圧に加えてメモリセルの集合の閾値電圧(Vth)の分布を示し、ここでは4つのデータ状態が存在する。横軸はVthを表し、縦軸は対数尺度でメモリセルの数を表す。Vthの分布は、明確性のため簡略化した形態で示される。
1つの手法では、フルシーケンスプログラミングとも呼ばれる1プログラミングパス動作が、複数のプログラム−ベリファイ動作(又はプログラムループ)の1つのシーケンス(のみ)を含み、この複数のプログラム−ベリファイ動作は、選択されたメモリセルの集合の閾値電圧が、それぞれのデータ状態の1又は複数のそれぞれの最終ベリファイ電圧に達するまで、初期Vpgmレベルから開始して、最終Vpgmレベルへと進みながら実行される。プログラミングパスの開始時、全てのメモリセルは、最初に消去状態であってもよい。
各メモリセルが、4つの可能なVth範囲のうちの1つに2ビットのデータを格納するケースについて、メモリセルアレイに対する例示的なVth分布が提供される。一方のビットが下位ページデータを表し、他方のビットが上位ページデータを表す。
消去(Er)状態のメモリセルに対して第1のVth分布500が提供される。Vth分布501、502及び503はそれぞれデータ状態A、B及びCを表し、Vthが最終ベリファイ電圧VvA、VvB又はVvCをそれぞれ超えたときにメモリセルによってこれらのデータ状態に達する。VvErは、消去ベリファイ電圧である。更に、データ状態A、B及びCは、それぞれオフセットベリファイ電圧VvAO、VvBO及びVvCOを有する。
プログラミングパスが完了した後、Vth分布間にある読出し基準電圧VrEr/A、VrA/B及びVrB/Cを用いてメモリセルからデータを読み出すことができる。所与のメモリセルのVthが読出し基準電圧のうちの1又は複数よりも高いか又は低いかを試験することにより、システムは、メモリセルによって表わされるデータ状態を判断することができる。
オフセットベリファイ電圧は、最終ベリファイ電圧から共通の増分だけ又は異なる増分だけオフセットされていてもよい。あるデータ状態に対して、1又は複数のオフセットベリファイ電圧が設けられることがある。プログラミング時間の犠牲を最小限にしながら狭いVth分布を得るために、Vthがオフセットベリファイ電圧を超えるが、データ状態の最終ベリファイ電圧よりは依然として低いときに、メモリセルに対して低速プログラミングモードを実施してもよい。低速プログラミングモードは、プログラム電圧中、関連するビット線電圧を正の値に上げることにより、メモリセルに対して実施してもよい。低速プログラミングモードに先立って、メモリセルは高速プログラミングモードであってもよく、この高速プログラミングモードでは、プログラミング速度を最大にするためにVbl=0Vである。従って、メモリセルのVthは、Vthが最終ベリファイ電圧に近づくまで、プログラム動作において、最初のうちは各プログラム電圧と共に比較的高速で増加することができる。このとき、メモリセルのVthは、最終ベリファイ電圧を過度に超えないように、各プログラム電圧と共に比較的低速で増加する。メモリセルは、Vthが最終ベリファイ電圧を超えたときに、例えば、後続するプログラム動作のプログラム電圧中にVblを2〜3Vなどの高いレベルに設定することなどにより、更なるプログラミングからロックアウトされる。
複数のオフセットベリファイ電圧が用いられる場合、メモリセルのVthが第1のオフセットベリファイ電圧を超えたときにVblを1つのレベルに設定し、Vthが、第1のオフセットベリファイ電圧よりも高い第2のオフセットベリファイ電圧を超えたときに、Vblを他のより高いレベルに設定することができる。
図5Bは、読出し電圧及びベリファイ電圧に加えてメモリセルの集合の閾値電圧(Vth)の分布を示し、ここでは8つのデータ状態が存在する。消去(Er)状態のメモリセルに対して第1のVth分布510が提供される。Vth分布511、512、513、514、515、516及び517は、それぞれデータ状態A、B、C、D、E、F及びGを表し、Vthが最終ベリファイ電圧VvA、VvB、VvC、VvD、VvE、VvF及びVvGをそれぞれ超えたときにメモリセルによってこれらのデータ状態に到達する。更に、データ状態A、B、C、D、E、F及びGは、それぞれオフセットベリファイ電圧VvAO、VvBO、VvCO、VvDO、VvEO、VvFO及びVvGOを有する。括弧520〜526は、共通の/単一のセンス動作で同時に試験されるベリファイレベルを特定している。例えば、括弧520、521、522、523、524、525及び526は、それぞれVvAOとVvA、VvBとVvBO、VvCとVvCO、VvDとVvDO、VvEとVvEO、VvFとVvFO及びVvGとVvGOが同時に試験されることを示す。
図5Cは、ベリファイ電圧に加えてメモリセルの集合の閾値電圧(Vth)の分布を示し、ここでは16のデータ状態が存在する。消去(Er)状態のメモリセルに対して第1のVth分布530が提供される。Vth分布531、532、533、534、535、536、537、538、539、540、541、542、543、544及び545は、それぞれデータ状態A、B、C、D、E、F、G、H、I、J、K、L、M、N及びOを表し、Vthが最終ベリファイ電圧VvA、VvB、VvC、VvD、VvE、VvF、VvG、VvH、VvI、VvJ、VvK、VvL、VvM、VvN及びVvOをそれぞれ超えたときにメモリセルによってこれらのデータ状態に到達する。この例では、データ状態はオフセットベリファイ電圧を有していない。しかしながら、そのようなオフセットベリファイ電圧を図5A及び図5Bと類似の態様で設けることも可能である。括弧550〜556は、共通のセンス動作で同時に試験されるベリファイレベルを特定している。例えば、括弧550、551、552、553、554、555及び556は、それぞれVvAとVvB、VvCとVvD、VvEとVvF、VvGとVvH、VvIとVvJ、VvKとVvL及びVvMとVvNが同時に試験されることを示す。この例では、VvOは単独で試験される。
従って、このシナリオは、複数のデータ状態、例えば、1つのデータ状態(例えば、B、D、F、H、J、L、N)と当該1つのデータ状態より低い他のデータ状態(例えば、それぞれA、C、E、G、I、K、M)と、を含む、2つの隣接するデータ状態に対して、ベリファイ電圧の同時検知を可能にする。一般的に、センスノードにおけるプリチャージレベル間の差に対する限界に基づいて、同時検知で試験されるベリファイ電圧間の差には幾らかの限界が存在する。
図5Dは、誤ってプログラミングされた消去状態のメモリセルの閾値電圧(Vth)の分布を示す。場合により、プログラムされることが意図されていないメモリセルが誤ってプログラムされ得る。これは、消去状態メモリセルに対してよくあることである。例えば、選択されたワード線WLnのメモリセルをプログラミングするときに、隣接するワード線WLn+1上のメモリセルが誤ってプログラミングされることがある。WL0で開始して一度に1つのワード線を進むワード線プログラミング順序のために、WLn+1のメモリセルは、通常、WLnのプログラミング中に消去状態にある。従って、誤ったプログラミングの範囲を判断するために、消去状態のセルを定期的に読み出すことが望ましいことがある。場合により、誤ったプログラミングがあまりに大きい場合、ブロックのプログラミングを停止したり、WLn上のプログラミングを遅くして誤ったプログラミングの量を減らしたりするなどの修正措置を取ってもよい。或いは、メモリデバイスの健全さの目安として、誤ったプログラミングの量をコントローラによって経時的に追跡してもよい。
Vth分布560は、誤ってプログラミングされる前の消去状態メモリセルを表す。Vth分布561は、誤ってプログラミングされた後の消去状態のメモリセルを表し、この分布では、Vth分布の上側部分に増加が見られる。例えば、V1及びV2の電圧での読出し動作を用いて、それぞれV1又はV2より高いVthを有するメモリセルの数を測定することができる。例えば、Vth>V1であるメモリセルの数が閾値を超えるか否か、又はVth>V2であるメモリセルの数が閾値を超えるか否かに応じて修正措置を取ってもよい。V2をVrEr/Aに設定してもよく、これにより、Vth>V2であるメモリセルの数は、Aデータ状態にあるものと誤って読み取られる可能性がある消去状態メモリセルの数を表す。Vth>V1であるメモリセルの数は、誤ったプログラミングの早期警告を提供することができる。
ワード線上のメモリセルが依然としてプログラムされていない例では、それらのメモリセルは消去状態にあることが知られている。従って、消去状態のVth分布を評価するには、メモリセルをサンプリングすれば十分である。例えば、メモリセルの第1の半分をV1で読み出すことができ、第2の半分をV2で読み出すことができる。1つの選択肢は、第1及び第2の半分のセルがワード線に沿って互いに交互になることである。他の選択肢は、第1の半分のセルがセルの第1の連続的な集合を形成し、第2の半分のセルがセルの第2の連続的な集合を形成することである。センス回路コントローラは、ワード線に沿ったメモリセルのそれぞれの位置に基づいて、いずれのセルがV1で読み出されるべきか、またいずれのセルがV2で読み出されるべきかを識別するように構成することができる。一例として、V1での読出し動作により、V1で読み出されるメモリセルの10%がVth>V1であることが判断され、V2での読出し動作により、V2で読み出されるメモリセルの5%がVth>V2であることが判断されると仮定する。
図6Aは、単一のベリファイ動作でデータ状態のオフセットベリファイ電圧及び最終ベリファイ電圧についての検知が行われる、例示的なプログラム動作のフローチャートを示す。この例は、図5A及び図5Bに整合する。図7A〜図7C、並びに図8Bのラッチ826〜828及び846〜848も参照されたい。ステップ600でプログラム動作が開始される。ステップ601では、全てのセンス回路に対して、オフセットベリファイラッチ(例えば、ラッチ827及び847)=偽を設定すること、及び、トリップラッチ(例えば、ラッチ826及び846)=偽を設定すること、が含まれる。オフセットベリファイラッチ=偽である場合、メモリセルは、データ状態のオフセットベリファイ電圧などの境界電圧よりも低い閾値電圧を有していると判断することができる。オフセットベリファイラッチ=真である場合、メモリセルは、オフセットベリファイ電圧などの境界電圧よりも高い閾値電圧を有していると判断することができる。
消去状態に維持されるべきメモリセルのセンス回路に対して、データ状態ラッチにロックアウト状態が設定される。特定のデータ状態にプログラムされるべきメモリセルのセンス回路に対して、データ状態ラッチは当該特定のデータ状態を識別するように設定される。ステップ602では、オフセットベリファイラッチ及びデータ状態ラッチに基づいてビット線電圧を設定することが含まれる。上述したように、VO<Vth<VFであるメモリセルに対して、プログラム電圧中に上昇させたVblを設定して、プログラミングの速度を遅くすることができる。オフセットベリファイラッチ=真であり、メモリセルがロックアウト状態ではないことをデータ状態ラッチが示す場合、メモリセルはVO<Vth<VFである。Vth<VOであるメモリセルに対して、プログラム電圧中にVbl=0Vを設定して、高速のプログラミングを可能にすることができる。ロックアウト状態にあるメモリセルに対して、プログラム電圧中、Vblを比較的高いロックアウト電圧に設定することができる。
ステップ603では、選択されたワード線にプログラム電圧を印加することが含まれる。例えば、図7Aのプログラム電圧を参照されたい。ステップ604では、データ状態の検知のために、選択されたワード線にベリファイ電圧を印加することが含まれる。例えば、図7Cのベリファイ電圧を参照されたい。ステップ605では、センス回路のセンスノードをオフセットベリファイ試験のためにより高電圧にプリチャージし、最終ベリファイ試験のためにより低電圧にプリチャージすることが含まれる。例えば、図8B〜図13に関連して、更なる詳細を提供する。例えば、オフセットベリファイ電圧で検証されるべきメモリセルに関連付けられたセンスノードを比較的高い電圧(例えば、第1のセンスノード電圧)にプリチャージしてもよく、一方、ベリファイ高電圧で検証されるべきメモリセルに関連付けられたセンスノードを比較的低い電圧(例えば、第2のセンスノード電圧)にプリチャージしてもよい。ロックアウト状態にあるメモリセルに関連付けられたセンスノードは、より高電圧、若しくはより低電圧にプリチャージされるか、又はプリチャージされないことがある。センスノードにおいてプリチャージ電圧が設定された後、ステップ606では、センスノードをビット線に接続して、センスノード電圧を減衰/放電させることが含まれる。例えば、第1のメモリセル及び第2のメモリセルに制御ゲート電圧が印加されている間、第1のセンスノード電圧及び第2のセンスノード電圧は放電期間中に放電されてもよい。
この接続は、トランジスタを非導電状態から導電状態に遷移させることを含んでもよく、このトランジスタはセンスノードとビット線との間にある。ステップ607では、トリップ条件が満たされたか否か、例えば、センスノード電圧が検知時にトリップ電圧よりも低く減衰したか否かに基づいて、トリップラッチを設定することが含まれる。トリップ条件が満たされている場合、例えば、センスノード電圧が検知時にトリップ電圧よりも低く減衰していない場合、トリップラッチは真に設定される。トリップ条件が満たされていない場合、例えば、センスノード電圧が検知時にトリップ電圧よりも低く減衰している場合、トリップラッチは偽に設定されたままである。ステップ608では、トリップラッチが真に設定されている場合、オフセットベリファイ試験にかけられるメモリセルに対してオフセットベリファイラッチ=真を設定し、Vthがオフセットベリファイ電圧を超えていることを示す。1つの手法では、コントローラがセンス回路のトリップラッチを読み出し、当該センス回路にコマンドを供給してオフセットベリファイラッチを設定する。ステップ609では、トリップラッチが真に設定されている場合、最終ベリファイ試験にかけられるメモリセルに対してデータ状態ラッチ=ロックアウトを設定し、Vthが最終ベリファイ電圧を超えていることを示すことが含まれる。1つの手法では、コントローラがセンス回路のトリップラッチを読み出し、そのセンス回路にコマンドを供給してデータ状態ラッチを設定する。
判断ステップ610では、ベリファイ試験にかけられる次のデータ状態が存在するか否かを判断する。判断ステップ610が真である場合、処理はステップ604へ続き、選択されたワード線に次のベリファイ電圧が印加される。図7Cの例では、VvAはプログラムループ1及び2での唯一のベリファイ電圧であり、VvA及びVvBはプログラムループ3〜5でのベリファイ電圧であり、VvB及びVvCはプログラムループ6〜9でのベリファイ電圧である。判断ステップ610が偽である場合、判断ステップ611は、プログラム動作において印加すべき次のプログラム電圧が存在するか否かを判定する。通常、次のプログラム電圧は、プログラムされているメモリセルの全て又はほぼ全てが最終ベリファイ電圧でベリファイ試験に合格するまで印加される。しかしながら、プログラムされているメモリセルの全て又はほぼ全てが最終ベリファイ電圧でベリファイ試験に合格する前に最大許容可能数のプログラム電圧が印加された場合、そのプログラム動作に対して不合格状態が設定されてもよい。
判断ステップ611が真である場合、処理はステップ602へ続き、ビット線電圧が設定され、他のプログラム電圧が印加される。判断ステップ611が偽である場合、このプログラム動作はステップ612で終了する。
図6Bは、単一のベリファイ動作で複数のデータ状態のベリファイ電圧についての検知が行われる、例示的なプログラム動作のフローチャートを示す。この例は、図5Cに整合する。図7E及び図7F、並びに図8Bのラッチ826〜828及び846〜848も参照されたい。ステップ620でプログラム動作が開始される。ステップ621では、全てのセンス回路に対してトリップラッチ=偽を設定することが含まれる。消去状態に維持されるべきメモリセルのセンス回路に対して、データ状態ラッチにロックアウト状態が設定される。特定のデータ状態にプログラムされるべきメモリセルのセンス回路に対して、データ状態ラッチは当該特定のデータ状態を識別するように設定される。ステップ622では、データ状態ラッチに基づいてビット線電圧を設定することが含まれる。
ステップ623では、選択されたワード線にプログラム電圧を印加することが含まれる。例えば、図7Eのプログラム電圧を参照されたい。ステップ624では、2つの隣接したデータ状態などの複数のデータ状態を検知するために、選択されたワード線に電圧を印加することを含む。例えば、図7Fのベリファイ電圧を参照されたい。ステップ625では、センス回路のセンスノードを、1つの(より低い)データ状態に対する1つのベリファイ試験のためにより高電圧にプリチャージし、他の(より高い)データ状態に対する他のベリファイ試験のためにより低電圧にプリチャージすることが含まれる。例えば、Aデータ状態のベリファイ電圧で検証されるべきメモリセルのセンスノードを比較的高い電圧にプリチャージしてもよく、一方、Bデータ状態のベリファイ電圧で検証されるべきメモリセルのセンスノードを比較的低い電圧にプリチャージしてもよい。
センスノードにおいてプリチャージ電圧が設定された後、ステップ626では、センスノードをビット線に接続して、センスノード電圧を減衰させることが含まれる。ステップ627では、トリップ条件が満たされているか否かに基づいてトリップラッチを設定することが含まれる。ステップ628では、トリップラッチが真に設定されている場合、1つのベリファイ試験にかけられるメモリセル及び他のベリファイ試験にかけられるメモリセルに対して、データ状態ラッチ=ロックアウトを設定し、Vthが関連するベリファイ電圧を超えていることを示す。
判断ステップ629では、ベリファイ試験にかけられる次のデータ状態が存在するか否かを判断する。判断ステップ629が真である場合、処理はステップ624へ続き、選択されたワード線に次のベリファイ電圧が印加される。判断ステップ629が偽である場合、判断ステップ630は、プログラム動作において印加すべき次のプログラム電圧が存在するか否かを判断する。判断ステップ630が真である場合、処理はステップ622へ続き、ビット線電圧が設定され、他のプログラム電圧が印加される。判断ステップ630が偽である場合、このプログラム動作はステップ631で終了する。
図7Aは、図6Aのステップ603に整合する、プログラム動作におけるプログラム電圧の集合を示す。縦軸は制御ゲート電圧又はワード線電圧Vpgmを示し、横軸は時間又はプログラムループ数(例えば、プログラム−ベリファイ反復数)を示す。4つのデータ状態を有する1パスプログラム動作を、図7A〜図7Dに示す。他の選択肢も可能である。このプログラム動作は、一連のプログラム電圧701〜709を含む。漸増的ステップパルスプログラミングが行われ、これにより、Vpgmは初期レベルVpgm_initで開始し、各プログラムループにおいて段階的に増加する。この例では、プログラムループに基づいてベリファイ試験も実施される(図7C及び図7Dを参照されたい)。例えば、Aデータ状態のセルはループ1及び2で検証され、A及びBデータ状態のセルはループ3〜5で検証され、B及びCデータ状態のセルはループ6〜8で検証され、Cデータ状態のセルはループ9で検証される。図7A〜図7Dの横軸は、時間的に整列されている。
図7Bは、図6Aのステップ602に整合する、図7Aのプログラム電圧中に使用することができるビット線電圧を示す。短い水平線のそれぞれは、所与のメモリセルに対して対応するプログラム電圧中に印加することができるビット線電圧を表す。例えば、ロックアウト状態であるメモリセル(例えば、消去状態のセル、又はデータ状態へのプログラミングが完了したメモリセル)に対して、Vbl_inhibitをビット線に印加してもよい。VO<Vth<VFであるため、低プログラム速度にかけられるメモリセルにVbl_slow(正電圧)を印加してもよい。Vth<VOであるセルに対してVbl=0Vを設定してもよい。
図7Cは、図6Aのステップ604に整合する、図7Aのプログラム電圧間で使用することができるベリファイ電圧を示し、各データ状態に対してオフセットベリファイ電圧及び最終ベリファイ電圧でベリファイ試験を行うために、各データ状態に対して単一のベリファイ電圧が使用される。プログラムループ1及び2におけるそれぞれの波形711及び712は、大きさがVvAである。プログラムループ3、4及び5におけるそれぞれの波形713、714及び715は、大きさがVvA及びVvBである。プログラムループ6、7及び8におけるそれぞれの波形716、717及び718は、大きさがVvB及びVvCである。プログラムループ9における波形719は、大きさがVvCである。有利には、選択されたワード線に1つの制御ゲート電圧を印加している間に、そのワード線のメモリセルに対して2つの(又はそれより多くの)ベリファイ試験を行うことができる。例えば、プログラムループ1及び2では、VvAの制御ゲート電圧を用いて、Aデータ状態のセルに対してVvAO及びVvAでのベリファイ試験を行ってもよい。プログラムループ3、4及び5では、VvAの制御ゲート電圧を用いて、Aデータ状態のセルに対してVvAO及びVvAでのベリファイ試験を行ってもよく、VvBの制御ゲート電圧を用いて、Bデータ状態のセルに対してVvBO及びVvBでのベリファイ試験を行ってもよい。或いは、制御ゲート電圧は、VvA又はVvAO以外の電圧であってもよい。
プログラムループ6、7及び8では、VvBの制御ゲート電圧を用いて、Bデータ状態のセルに対してVvBO及びVvBでのベリファイ試験を行ってもよく、VvCの制御ゲート電圧を用いて、Cデータ状態のセルに対してVvCO及びVvCでのベリファイ試験を行ってもよい。プログラムループ9では、VvCの制御ゲート電圧を用いて、Cデータ状態のセルに対してVvCO及びVvCでのベリファイ試験を行ってもよい。
図7Cにおける期間tpを図10Aでより詳細に示す。
図7Dは、図7Aのプログラム電圧間で使用することができるベリファイ電圧を示し、各データ状態に対してオフセットベリファイ電圧及び最終ベリファイ電圧でベリファイ試験を行うために、各データ状態に対して複数のベリファイ電圧が使用される。これは、図7Cに対する比較例を提供する。この手法は、ベリファイ試験毎に選択されたワード線に別個の制御ゲート電圧を印加するのに必要な時間のために、プログラム時間の増加につながる。プログラムループ1及び2におけるそれぞれの波形721及び722は、大きさがVvAO及びVvAである。プログラムループ3、4及び5におけるそれぞれの波形723、724及び725は、大きさがVvAO、VvA、VvBO及びVvBである。プログラムループ6、7及び8におけるそれぞれの波形726、727及び728は、大きさがVvBO、VvB、VvCO及びVvCである。
図7Eは、図6Bのステップ623に整合する、プログラム動作におけるプログラム電圧の集合を示す。縦軸は制御ゲート電圧又はワード線電圧Vpgmを示し、横軸は時間又はプログラムループ数(例えば、プログラム−ベリファイ反復数)を示す。16のデータ状態を有する1パスプログラム動作を、図7E及び図7Fに示す。このプログラム動作は、一連のプログラム電圧731〜737を含む。この例では、プログラムループに基づいてベリファイ試験も実施される(図7Fを参照されたい)。図7E及び図7Fの横軸は、時間的に整列されている。
図7Fは、図6Bのステップ624に整合する、図7Eのプログラム電圧間で使用することができるベリファイ電圧を示し、隣接するデータ状態に対して単一のベリファイ電圧が使用される。詳細を示すために、縦軸は図7Eに対して拡大されている。
プログラムループ1、2、3及び4におけるそれぞれの波形741、742、743及び744は、大きさがVvB、VvD及びVvFである。プログラムループ5及び6におけるそれぞれの波形745及び746は、大きさがVvB、VvD、VvF、VvH及びVvJである。プログラムループ7における波形747は、大きさがVvF、VvH、VvJ、VvL、VvN及びVvOである。
有利には、上述したように、選択されたワード線に1つの制御ゲート電圧を印加している間に、そのワード線のメモリセルに対して2つの(又はそれより多くの)データ状態に対するベリファイ試験を行うことができる。例えば、プログラムループ1〜6では、VvBの制御ゲート電圧を用いて、A及びBデータ状態のセルに対してそれぞれVvA及びVvBでのベリファイ試験を行ってもよく、VvDの制御ゲート電圧を用いて、C及びDデータ状態のセルに対してそれぞれVvC及びVvDでのベリファイ試験を行ってもよく、VvFの制御ゲート電圧を用いて、E及びFデータ状態のセルに対してそれぞれVvE及びVvFでのベリファイ試験を行ってもよい。
プログラムループ5及び6では、VvHの制御ゲート電圧を用いて、G及びHデータ状態のセルに対してそれぞれVvG及びVvHでの追加のベリファイ試験を行ってもよく、VvJの制御ゲート電圧を用いて、I及びJデータ状態のセルに対してそれぞれVvI及びVvJでのベリファイ試験を行ってもよい。
プログラムループ7では、A、B、C及びD状態に対してプログラミングが既に完了したと仮定して、VvB及びVvDでのベリファイ試験をもはや実行しなくてもよい。VvFの制御ゲート電圧を用いて、E及びFデータ状態のセルに対してそれぞれVvE及びVvFでのベリファイ試験を行ってもよい。VvHの制御ゲート電圧を用いて、G及びHデータ状態のセルに対してそれぞれVvG及びVvHでのベリファイ試験を行ってもよい。VvJの制御ゲート電圧を用いて、I及びJデータ状態のセルに対してそれぞれVvI及びVvJでのベリファイ試験を行ってもよい。VvLの制御ゲート電圧を用いて、K及びLデータ状態のセルに対してそれぞれVvK及びVvLでのベリファイ試験を行ってもよい。VvNの制御ゲート電圧を用いて、M及びNデータ状態のセルに対してそれぞれVvM及びVvNでのベリファイ試験を行ってもよい。また、VvOの制御ゲート電圧を用いて、Oデータ状態のセルに対してVvOでのベリファイ試験を行ってもよい。
図8Aは、図1のセンスブロックSB1の例示的なブロック図を示す。1つの手法では、1つのセンスブロックが複数のセンス回路を含む。各センス回路は、データラッチに関連付けられている。例えば、例示的なセンス回路850a、851a、852a及び853aは、それぞれデータラッチ850b、851b、852b及び853bに関連付けられている。1つの手法では、異なるそれぞれのセンスブロックを用いて、ビット線の異なる部分集合を検知することができる。これにより、センス回路に関連付けられた処理負荷を分割し、各センスブロック内のそれぞれのプロセッサによって処理することが可能になる。例えば、SB1内のセンス回路コントローラ860は、センス回路及びラッチの集合と通信することができる。センス回路コントローラは、プリチャージ電圧を設定するために各センス回路に電圧を供給するプリチャージ回路861を含んでもよい。1つの可能な手法では、この電圧は、例えば図8Bのデータバス803及びLBUS1又はLBUS2などのローカルバスを介して各センス回路に個別に供給される。他の可能な手法では、例えば、図8Bのライン805を介して共通の電圧が各センス回路に同時に供給される。センス回路コントローラはまた、メモリ862及びプロセッサ863を含んでもよい。図2にも関連して上述したように、メモリ862は、本明細書に記載する機能を実行するためにプロセッサによって実行可能であるコードを記憶してもよい。これらの機能は、センス回路に関連付けられたラッチを読み出すこと、ラッチ内のビットの値を設定すること、及び、センス回路のセンスノードでのプリチャージレベルを設定するための電圧を供給すること、を含んでもよい。センス回路コントローラ並びにセンス回路850a及び851aの更なる例示的な詳細を以下に示す。
図8Bは、図1のセンスブロックSB1の他の例示的なブロック図を示す。センス回路コントローラ860は、図8Aにも示す、例示的なセンス回路850a及び851aを含む複数のセンス回路と通信する。センス回路850aは、トリップラッチ826、オフセットベリファイラッチ827及びデータ状態ラッチ828を含むラッチ850bを含む。センス回路は、センスノード822でのプリチャージ電圧を設定するトランジスタなどの電圧クランプ821を更に含む。センスノードからビット線(BL)へのスイッチ823は、センスノードがビット線825と通信するのを選択的に可能にし、例えば、センスノードは、センスノード電圧が減衰できるように、ビット線に電気的に接続される。ビット線825は、メモリセルMC1などの1又は複数のメモリセルに接続される。電圧クランプ824は、センス動作中又はプログラム電圧中などのビット線の電圧を設定してもよい。ローカルバスLBUS1は、センス回路コントローラが、ラッチ850b及び場合により電圧クランプなどのセンス回路内の構成要素と通信するのを可能にする。センス回路850aと通信するために、センス回路コントローラは、ライン802を介してトランジスタ804に電圧を供給して、LBUS1をデータバスDBUS803に接続する。この通信は、センス回路へデータを送信すること、及び/又は、センス回路からデータを受信することを含んでもよい。
センス回路コントローラは、例えば、時間多重化された態様で異なるセンス回路と通信してもよい。1つの手法では、ライン805を各センス回路内の電圧クランプに接続してもよい。
センス回路851aは、トリップラッチ846、オフセットベリファイラッチ847及びデータ状態ラッチ848を含むラッチ851bを含む。電圧クランプ841を使用して、センスノード842でのプリチャージ電圧を設定してもよい。センスノードからビット線(BL)へのスイッチ843は、センスノードがビット線845と通信するのを選択的に可能にし、電圧クランプ844は、ビット線の電圧を設定することができる。ビット線845は、メモリセルMC2などの1又は複数のメモリセルに接続される。ローカルバスLBUS2は、センス回路コントローラが、ラッチ851b及び場合により電圧クランプなどのセンス回路内の構成要素と通信するのを可能にする。センス回路851aと通信するために、センス回路コントローラは、ライン801を介してトランジスタ806に電圧を供給して、LBUS2をDBUSに接続する。
センス回路850aは、第1のトリップラッチ826を含む第1のセンス回路であってもよく、センス回路851aは、第2のトリップラッチ846を含む第2のセンス回路であってもよい。
センス回路850aは、第1のセンスノード822を含む第1のセンス回路の一例であり、第1のセンス回路は、第1のメモリセルMC1及び第1のビット線825と関連付けられている。センス回路851aは、第2のセンスノード842を含む第2のセンス回路の一例であり、第2のセンス回路は、第2のメモリセルMC2及び第2のビット線845と関連付けられている。
図8Cは、図8Bのトリップラッチの例示的な実装における電圧変化に基づく電流検知を示す。各トリップラッチは、関連するメモリセルが導電状態にあるか又は非導電状態にあるかを、セルを流れる電流のレベルによって判定する電流検知モジュールを含んでもよい。一般的に、メモリセルが導電状態にある場合には比較的大きい電流が流れ、メモリセルが非導電状態にある場合には比較的小さい電流が流れる。メモリセルの閾値電圧は、それぞれ、メモリセルが非導電状態にある場合、ベリファイ電圧又は読出し電圧などの比較レベルよりも高くなり、メモリセルが導電状態にある場合、比較レベルよりも低くなる。1つの可能な手法では、電流検知モジュールは、ΔV=i・t/Cの関係によって固定電流に関連付けられた電圧降下を決定する。この式において、ΔVは電圧降下であり、iは固定電流であり、tは所定の放電期間(例えば、ts1−td1)であり、Cは電流検知モジュール内のプリチャージされたコンデンサの静電容量である。図8Cは、固定電流の異なるラインに対する経時的な電圧降下を示す。電圧降下が大きいほど、電流が大きいことを表す。1つの可能な手法では、所与の放電期間の終了時、p−mosトランジスタを使用して、基準電圧に対するセンスノード電圧を決定する。他の可能な手法では、セル電流弁別器が、伝導電流が所与の基準電流よりも大きいか又は小さいかを判断することにより、電流レベルの弁別器又は比較器として機能する。トリップラッチは、電圧レベル又は電流レベルに基づいて論理出力値を設定する。トリップラッチは、センスノード電圧>基準電圧であるか若しくはi<基準電流である場合、出力を真にしてトリップ条件が満たされたことを示し、又はセンスノード電圧<基準電圧であるか若しくはi>基準電流である場合、出力を偽にしてトリップ条件が満たされなかったことを示してもよい。
トリップラッチの他の例示的な実装形態では、電圧検知が用いられる。電圧検知は、固定電流に関連付けられた電圧降下を検知することを必要としない。その代わり、電圧検知は、電圧検知モジュール内のコンデンサとビット線の静電容量との間に電荷共有が生じるかどうかを判断することを必要とする。検知中、電流は固定又は一定ではない。選択されたメモリセルが導電している場合、電荷共有は殆ど又は全く生じず、この場合、電圧検知モジュール内のコンデンサの電圧は著しくは降下せず、トリップ条件が満たされない。選択されたメモリセルが導電していない場合には電荷共有が生じ、この場合、電圧検知モジュール内のコンデンサの電圧は著しく降下し、トリップ条件が満たされる。
図9Aは、プログラム動作中の図8Bのセンス回路のラッチの値を示す表である。Vth<VOであるメモリセルの場合、オフセットベリファイラッチ=偽であり、データ状態ラッチ=データ状態である。例えば、データ状態がAデータ状態であるメモリセルの場合、Vth<VvAOであれば、オフセットベリファイラッチ=偽であり、データ状態ラッチ=Aデータ状態である。単一ビットのデータを使用して、真又は偽の状態を示してもよい。ビットのある値又は電圧は「真」(例えば、ビット=1)を示してもよく、ビットの他の値又は電圧は「偽」(例えば、ビット=0)を示してもよい。更に、データ状態を1又は複数のビットによって示してもよい。2ビットにより、4つのデータ状態のうちの1つを識別してもよく、3ビットにより、8つのデータ状態のうちの1つを識別してもよい等である。例えば、4つのデータ状態の場合、11というビットシーケンス(2つの異なるデータ状態ラッチのそれぞれにおいて1ビット)は、消去状態及びロックアウト状態を示すことができる。01、00及び10というビットシーケンスは、それぞれA、B及びCデータ状態を示すことができる。ビットシーケンスは、上位ページのビット後に下位ページのビットが続くものとして書き込まれてもよい。8つのデータ状態の場合、111というビットシーケンスは、消去状態及びロックアウト状態を示すことができる。011、001、101、100、000、010及び110というビットシーケンスは、それぞれA、B、C、D、E、F及びGデータ状態を示すことができる。ビットシーケンスは、上位ページのビット後に中間ページのビットが続き、その後に下位ページのビットが続くものとして書き込まれてもよい。
VO<Vth<VFであるメモリセルの場合、オフセットベリファイラッチ=真であり、データ状態ラッチ=データ状態である。例えば、データ状態がAデータ状態であるメモリセルの場合、VvAO<Vth<VvAであれば、オフセットベリファイラッチ=真であり、データ状態ラッチ=Aデータ状態である。Vth>VFであるメモリセルの場合、オフセットベリファイラッチ=真であり、データ状態ラッチ=ロックアウトである。例えば、データ状態がAデータ状態であるメモリセルの場合、Vth>VvAであれば、オフセットベリファイラッチ=真であり、データ状態ラッチ=ロックアウトである。この場合、オフセットベリファイラッチの値は「無関係」である。
図9Bは、図6Aのステップ605に整合する、プログラム動作中の図8Bのセンス回路内のセンスノードに対するプリチャージ動作の4つの例示的なケースを示す表である。時刻t7、t9、及びt12は、図10A〜図10C4で提供されるものと一致しており、特に、図10C1、図10C2、図10C3及び図10C4は、それぞれケース1、2、3及び4を表す。図9Bにおいて、VsenVOは、オフセットベリファイ電圧(VO)でベリファイ試験を行うためのセンスノードでのプリチャージ電圧を表し、VsenVFは、最終ベリファイ電圧(VF)でベリファイ試験を行うためのセンスノードでのプリチャージ電圧を表す。1つの手法では、VsenVO>VsenVFであり、その結果、異なるセンスノードで同時に発生するVOベリファイ試験及びVFベリファイ試験に対して、共通のセンス時間及びトリップ電圧を使用してもよい。
ケース1では、VOでのベリファイ試験の場合、センスノードは、t7でVsenVOにプリチャージされ、t9ではセンスノード電圧に変化はなく、その結果、センスノード電圧はVsenVOを維持する。VFでのベリファイ試験の場合、センスノードはt7でプリチャージされず、その結果、センスノードは0Vを維持し、t9でVsenVFにプリチャージされる。
ケース2では、VOでのベリファイ試験の場合、センスノードはt7でプリチャージされず、その結果、センスノードは0Vを維持し、t9でVsenVOにプリチャージされる。VFでのベリファイ試験の場合、センスノードは、t7でVsenVFにプリチャージされ、t9ではセンスノード電圧に変化はなく、その結果、センスノード電圧はVsenVFを維持する。
ケース3では、VOでのベリファイ試験の場合、センスノードはt7でVsenVFにプリチャージされ、更に、t9でVsenVFからVsenVOにプリチャージされる。VFでのベリファイ試験の場合、センスノードは、t7でVsenVFにプリチャージされ、t9ではセンスノード電圧に変化はなく、その結果、センスノード電圧はVsenVFを維持する。
ケース4では、VOでのベリファイ試験の場合、センスノードは、t7でVsenVOにプリチャージされ、t9及びt12ではセンスノード電圧に変化はなく、その結果、センスノード電圧はVsenVOを維持する。VFでのベリファイ試験の場合、センスノードはt7でVsenVOにプリチャージされ、t9でおよそ0Vまで放電され、次いでt12でVsenVFに改めてプリチャージされる。
プリチャージの最適なケースは、センス回路の構成に基づいて変化してもよい。
図9Cは、図9Aに整合する、プログラム動作中のデータラッチにおける例示的な値を示す。データラッチは、オフセットベリファイラッチ900、上位ページラッチ901及び下位ページラッチ902を含み、選択されたワード線に沿って1つのメモリセルと関連付けられる。ラッチの集合内のビットの組み合わせは、下位ページビット後に上位ページビットが続き、その後にオフセットベリファイビットが続いて書き込まれてもよい。Erは消去状態であり、これは、禁止状態/ロックアウト状態Ainh、Binh、Cinhと同じビットの組み合わせ(111)を有する。A、B及びCの下のビットは、それぞれA、B又はCデータ状態にプログラムされるべき、ロックアウトされておらず、低速プログラミングモードではないセルに対するものである。Aslow、Bslow及びCslowの下のビットは、それぞれA、B又はCデータ状態にプログラムされるべき、低速プログラミングモードの(従って、ロックアウトされていない)セルに対するものである。
例えば、プログラミング中、Aデータ状態のセルのラッチは、100から101に、次いで111に遷移し、Bデータ状態のセルのラッチは、000から001に、次いで111に遷移し、Cデータ状態のセルのラッチは、010から011に、次いで111に遷移する。
図10A〜図10C4では、縦軸は電圧を示し、横軸は時間を示す。更に、これらの横軸は、時間的に整列されている。期間t0〜t15は、図7Cの期間tpに相当し、1つのプログラム−ベリファイ反復を表す。プログラム−ベリファイ反復は、選択されたワード線にプログラム電圧が印加される期間tp1(t1〜t6)と、ベリファイ動作が行われる期間tp2(t7〜t15)と、を含む。この例では、ベリファイ動作は、VvAOのオフセットベリファイ電圧でのベリファイ試験と、VvAの最終ベリファイ電圧でのベリファイ試験と、を含む。
図10Aは、図7A〜図7Cに整合する、期間tpにおける例示的なビット線電圧を示す。縦軸は、ビット線電圧Vblを示す。t1からt6まで、Vblは、低速プログラミングモードにある(例えば、VvAO<Vth<VvAである)セルに対して、プロット1000aで表わされるように、Vbl_slowという高くなったレベルに設定されるか、又は高速プログラミングモードにある(例えば、Vth<VvAOである)セルに対して、プロット1000bで表わされるように、0Vに設定される。Vblは、ロックアウトモードにあるセルに対して、Vbl_inhibitというロックアウトレベル(プロット1000c)に設定される。
t7からt15まで、ビット線は所望のレベルにプリチャージされて、センスノードを過度に速く放電することなしに、電流が、選択されたメモリセル及び関連するNANDストリング内を流れることを可能にする。ビット線のプリチャージは、センスノードのプリチャージとは異なる。プロット1001によって示すように、ビット線をレベルVbl_pcにプリチャージしてもよい。
図10Bは、図7A〜図7Cに整合する、期間tpにおける例示的な選択されたワード線の電圧を示す。プログラム電圧は、t2からt3において、初めの0VからレベルVpassに増加してもよく、このVpassは、選択されていないワード線に印加される電圧である。次いで、プログラム電圧はt3からt4において更にVpgmまで増加する。次いで、プログラム電圧はt5においてVpgmから0Vに低下する。最終ベリファイ電圧が、選択されたワード線にt7からt15において印加され、これは図7Cに整合する。この例ではVvAが印加される。
図10C1は、図7A〜図7C及び図9Bのプリチャージのケース1に整合する、期間tpにおける例示的なセンスノード電圧を示す。第1のプリチャージ処理がt7において開始する。特に、センスノードは、t7からt8において0VからVsenVOにプリチャージされ(プロット1010)、t8からtd1までVsenVOを維持する。td1において、センスノードはビット線に電気的に接続され、その結果、センスノード電圧は減衰することができる。プロット1010aは、センス時間ts1においてトリップ電圧Vtripよりも高い電圧への比較的少量の減衰を示す。これは、Vth>VvAOであることを示す。プロット1010bは、ts1においてVtripよりも低い電圧への比較的多量の減衰を示す。これは、Vth<VvAOであることを示す。
第2のプリチャージ処理がt9において開始する。特に、センスノードは、t9からt10において0VからVsenVFにプリチャージされ(プロット1012)、t10からtd1までVsenVFを維持する。td1において、センスノードはビット線に電気的に接続され、その結果、センスノード電圧は減衰することができる。プロット1012aは、ts1においてVtripよりも高い電圧への比較的少量の減衰を示す。これは、Vth>VvAであることを示す。プロット1012bは、ts1においてVtripよりも低い電圧への比較的多量の減衰を示す。これは、Vth<VvAであることを示す。
4つのケースのそれぞれにおいて、td1における減衰期間の開始時、幾つかのセンスノードはVsenVOのプリチャージ電圧を有し、一方、他のセンスノードはVsenVFのプリチャージ電圧を有する。
上述したように、VsenVO及びVsenVFの大きさは、これらの異なる電圧にプリチャージされるセンス回路で共通の放電期間及びトリップ電圧が使用されるように設定されてもよい。メモリセルの電流−電圧(I−V)曲線を使用して電圧を設定してもよい。
図10C2は、図7A〜図7C及び図9Dのプリチャージのケース2に整合する、期間tpにおける例示的なセンスノード電圧を示す。第1のプリチャージ処理がt7において開始する。特に、センスノードは、t7からt8において0VからVsenVFにプリチャージされ(プロット1020)、t8からtd1までVsenVFを維持する。td1において、センスノードはビット線に電気的に接続され、その結果、センスノード電圧は減衰することができる。プロット1020aは、ts1においてVtripよりも高い電圧への比較的少量の減衰を示す。これは、Vth>VvAであることを示す。プロット1020bは、ts1においてVtripよりも低い電圧への比較的多量の減衰を示す。これは、Vth<VvAであることを示す。
第2のプリチャージ処理がt9において開始する。特に、センスノードは、t9からt11において0VからVsenVOにプリチャージされ(プロット1022)、t11からtd1までVsenVOを維持する。td1において、センスノードはビット線に電気的に接続され、その結果、センスノード電圧は減衰することができる。プロット1022aは、ts1においてVtripよりも高い電圧への比較的少量の減衰を示す。これは、Vth>VvAOであることを示す。プロット1022bは、ts1においてVtripよりも低い電圧への比較的多量の減衰を示す。これは、Vth<VvAOであることを示す。
図10C3は、図7A〜図7C及び図9Dのプリチャージのケース3に整合する、期間tpにおける例示的なセンスノード電圧を示す。第1のプリチャージ処理がt7において開始する。特に、センスノードは、t7からt8において0VからVsenVFにプリチャージされ(プロット1030)、t8からtd1までVsenVFを維持する(プロット1030c)。td1において、センスノードはビット線に電気的に接続され、その結果、センスノード電圧は減衰することができる。プロット1030aは、ts1においてVtripよりも高い電圧への比較的少量の減衰を示す。これは、Vth>VvAであることを示す。プロット1030bは、ts1においてVtripよりも低い電圧への比較的多量の減衰を示す。これは、Vth<VvAであることを示す。
第2のプリチャージ処理がt9において開始する。特に、センスノードは、t9においてVsenVFからVsenVOにプリチャージされ(プロット1032)、td1までVsenVOを維持する。td1において、センスノードはビット線に電気的に接続され、その結果、センスノード電圧は減衰することができる。プロット1032aは、ts1においてVtripよりも高い電圧への比較的少量の減衰を示す。これは、Vth>VvAOであることを示す。プロット1032bは、ts1においてVtripよりも低い電圧への比較的多量の減衰を示す。これは、Vth<VvAOであることを示す。
図10C4は、図7A〜図7C及び図9Dのプリチャージのケース4に整合する、期間tpにおける例示的なセンスノード電圧を示す。第1のプリチャージ処理がt7において開始する。特に、センスノードは、t7からt8において0VからVsenVOにプリチャージされ(プロット1040)、t8からtd2までVsenVOを維持する(プロット1040c)。td2において、センスノードはビット線に電気的に接続され、その結果、センスノード電圧は減衰することができる。プロット1040aは、ts2においてVtripよりも高い電圧への比較的少量の減衰を示す。Vtripは、長い破線で示されている。これは、Vth>VvAOであることを示す。プロット1040bは、ts2においてVtripよりも低い電圧への比較的多量の減衰を示す。これは、Vth<VvAであることを示す。
第2のプリチャージ処理もt7において開始する。特に、センスノードは、t7からt8において0VからVsenVOにプリチャージされる(プロット1040)。しかしながら、この処理では、センスノードはt9においてVsenVOから0Vに戻るように放電され(プロット1042c)、t12まで0Vを維持する。次いで、センスノードは、t12において0VからVsenVFにプリチャージされ(プロット1042d)、td2までVsenVFを維持する。td2において、センスノードはビット線に電気的に接続され、その結果、センスノード電圧は減衰することができる。プロット1042aは、センス時間ts2においてVtripよりも高い電圧への比較的少量の減衰を示す。これは、Vth>VvAOであることを示す。プロット1042bは、ts2においてVtripよりも低い電圧への比較的多量の減衰を示す。これは、Vth<VvAであることを示す。
図11Aは、図9Dのプリチャージのケース1を実装するための例示的な処理のフローチャートを示す。図8B、図10C1及び図12Aも参照されたい。ステップ1100では、各センス回路について、センス回路コントローラが、オフセットベリファイラッチからLBUSにビット電圧を転送する。LBUSは、第1のトランジスタの制御ゲートに接続されている。例えば、コントローラは、図12Aのトランジスタ1202又は1206に電圧を供給してもよく、このトランジスタはビット電圧をLBUSに供給する。これに続いて、センス回路によって検知されているメモリセルが、VOセル(オフセットベリファイ試験にかけられるVth<VOであるセル)であるか、VFセル(ベリファイ高試験にかけられるVO<Vth<VFであるセル)であるか、又はロックアウトセル(ベリファイ試験にかける必要がないVth>VFであるセル)であるかに応じて3つの処理のうちの1つが続く。各処理は、図11A〜図11Dにおいて、垂直の破線で分離されている垂直列内のステップによって表わされる。
VOセルの場合、ビット電圧がオフセットベリファイラッチ=偽であることを示す(ステップ1101)。VFセル及びロックアウトセルの場合、ビット電圧がオフセットベリファイラッチ=真であることを示す(ステップ1102)。VOセルの場合、第1のトランジスタ(例えば、図12Aのトランジスタ1236)が、第2のトランジスタ1238のドレイン1237に電源電圧(Vdd)を供給する(ステップ1103)。即ち、第1のトランジスタの制御ゲートのビット電圧が第1のトランジスタを導電状態にし、その結果、第1のトランジスタのドレインのVddが第2のトランジスタのドレイン1237へ流れることができる。VFセル及びロックアウトセルの場合、第1のトランジスタが、第2のトランジスタのドレインから電源電圧を遮断する(ステップ1104)。即ち、第1のトランジスタの制御ゲートのビット電圧が第1のトランジスタを非導電状態にし、その結果、第1のトランジスタのドレインのVddは、第2のトランジスタのドレインへ流れることができない。ステップ1105では、コントローラが、各センス回路内の第2のトランジスタの制御ゲートにVsenVO+Vthを供給する。
ステップ1106では、VOセルの場合、センスノードはVsenVOにプリチャージされる。ステップ1107では、VFセル及びロックアウトセルの場合、センスノードはプリチャージされず、0Vを維持する。ステップ1108では、VOセル、VFセル、及びロックアウトセルに対して、コントローラがデータ状態ラッチを読み出す。ステップ1109では、VOセル及びVFセルについて、データ状態ラッチはセルがロックアウトされていないことを示す。ステップ1110では、ロックアウトセルについて、データ状態ラッチはセルがロックアウトされていることを示す。ステップ1111では、VOセル及びVFセルについて、コントローラがLBUSの電圧を設定して第1のトランジスタを導電状態にする。ステップ1112では、ロックアウトセルについて、コントローラがLBUSの電圧を設定して第1のトランジスタを非導電状態にする。ステップ1113では、コントローラが、各センス回路内の第2のトランジスタの制御ゲートにVsenVF+Vthを供給する。ステップ1114では、VOセルについてVsenVO>VsenHLであるため、センスノードはVsenVOを維持する。ステップ1115では、VFセルについてセンスノードはVsenVFにプリチャージされる。ステップ1116では、センスノードはプリチャージされず、0Vを維持する。任意選択的に、ロックアウトセルのセンス回路をプリチャージすることも可能であり、なぜなら、これらのセルについていかなる検知結果も使用されないからである。しかしながら、ロックアウトセルのセンス回路のプリチャージを回避することにより、電力消費を低減することができる。
図11Bは、図9Dのプリチャージのケース2を実装するための例示的な処理のフローチャートを示す。図8B、図10C2及び図12Aも参照されたい。ステップ1120では、各センス回路について、センス回路コントローラが、オフセットベリファイラッチからLBUSにビット電圧を転送する。LBUSは、第1のトランジスタの制御ゲートに接続されている。これに続いて、センス回路によって検知されているメモリセルがVOセルであるか、VFセルであるか、又はロックアウトセルであるかに応じて3つの処理のうちの1つが続く。
VOセルの場合、ビット電圧がオフセットベリファイラッチ=偽であることを示す(ステップ1121)。VFセル及びロックアウトセルの場合、ビット電圧がオフセットベリファイラッチ=真であることを示す(ステップ1122)。VOセルの場合、第1のトランジスタ(例えば、図12Aのトランジスタ1236)が、第2のトランジスタのドレインから電源電圧を遮断する(ステップ1123)。VFセル及びロックアウトセルの場合、第1のトランジスタが、第2のトランジスタ1238のドレイン1237に電源電圧(Vdd)を供給する(ステップ1124)。ステップ1125では、コントローラが、各センス回路内の第2のトランジスタの制御ゲートにVsenVF+Vthを供給する。
ステップ1126では、VOセルの場合、センスノードはプリチャージされず、0Vを維持する。ステップ1127では、VFセル及びロックアウトセルの場合、センスノードはVsenVFにプリチャージされる。ステップ1128では、VOセル、VFセル、及びロックアウトセルに対して、コントローラがデータ状態ラッチを読み出す。ステップ1129では、VOセル及びVFセルについて、データ状態ラッチはセルがロックアウトされていないことを示す。ステップ1130では、ロックアウトセルについて、データ状態ラッチはセルがロックアウトされていることを示す。ステップ1131では、VOセルについて、コントローラがLBUSの電圧を設定して第1のトランジスタを導電状態にする。ステップ1132では、VFセル及びロックアウトセルについて、コントローラがLBUSの電圧を設定して第1のトランジスタを非導電状態にする。
ステップ1133では、コントローラが、各センス回路内の第2のトランジスタの制御ゲートにVsenVO+Vthを供給する。ステップ1134では、VOセルについて、センスノードはVsenVOにプリチャージされる。ステップ1135では、VFセル及びロックアウトセルについて、センスノードはVsenVFのままである。
図11Cは、図9Dのプリチャージのケース3を実装するための例示的な処理のフローチャートを示す。図8B、図10C3及び図13も参照されたい。ステップ1140では、各センス回路について、コントローラがオフセットベリファイラッチ及びデータ状態ラッチを読み出して、VO、VF、及びロックアウトセルを識別する。これに続いて、センス回路によって検知されているメモリセルがVOセルであるか、VFセルであるか、又はロックアウトセルであるかに応じて3つの処理のうちの1つが続く。VOセル及びVFセルの場合、コントローラが、第1のトランジスタのドレインに接続されたLBUSに電源電圧を設定する(ステップ1141)。例えば、図13でドレインDRを有するトランジスタ1330を参照されたい。ロックアウトセルの場合、コントローラがLBUSに0Vを設定する(ステップ1142)。ステップ1143では、コントローラが、各センス回路内の第1のトランジスタの制御ゲートにVsenVF+Vthを供給する。
ステップ1144では、VOセル及びVFセルの場合、センスノードはVsenVFにプリチャージされる。ステップ1145では、ロックアウトセルの場合、センスノードはプリチャージされず、0Vを維持する。ステップ1146では、コントローラが、LBUS/第1のトランジスタのドレインに0Vを設定する。これは、VFセルの更なるプリチャージを防止する。ステップ1147では、コントローラが、各センス回路内の第1のトランジスタの制御ゲートにVsenVO+Vthを供給する。ステップ1148では、VOセルの場合、センスノードはVsenVFからVsenVOにプリチャージされる。ステップ1149では、VFセルの場合、センスノードはVsenVFを維持する。ステップ1150では、ロックアウトセルの場合、センスノードはプリチャージされず、0Vを維持する。
図11Dは、図9Dのプリチャージのケース4を実装するための例示的な処理のフローチャートを示す。図8B、図10C4及び図13も参照されたい。ステップ1160では、各センス回路について、コントローラがオフセットベリファイラッチ及びデータ状態ラッチを読み出して、VO、VF、及びロックアウトセルを識別する。これに続いて、センス回路によって検知されているメモリセルがVOセルであるか、VFセルであるか、又はロックアウトセルであるかに応じて3つの処理のうちの1つが続く。VOセル及びVFセルの場合、コントローラが、第1のトランジスタのドレインに接続されたLBUSに電源電圧を設定する(ステップ1161)。例えば、図13でドレインDRを有するトランジスタ1330を参照されたい。ロックアウトセルの場合、コントローラがLBUSに0Vを設定する(ステップ1162)。ステップ1163では、コントローラが、各センス回路内の第1のトランジスタの制御ゲートにVsenVO+Vthを供給する。
ステップ1164では、VOセル及びVFセルの場合、センスノードはVsenVOにプリチャージされる。ステップ1165では、ロックアウトセルの場合、センスノードはプリチャージされず、0Vを維持する。ステップ1166では、VFセルの場合、コントローラがLBUSを放電する。ステップ1167では、コントローラが、LBUS/第1のトランジスタのドレインに0Vを設定する。これは、VOセルの更なるプリチャージを防止する。ステップ1168では、VFセルの場合、コントローラがLBUSに電源電圧を設定する。ステップ1169では、コントローラが、各センス回路内の第1のトランジスタの制御ゲートにVsenVF+Vthを供給する。ステップ1170では、VOセルの場合、センスノードはVsenVOを維持する。ステップ1171では、VFセルの場合、センスノードは0VからVsenVFにプリチャージされる。ステップ1172では、ロックアウトセルの場合、センスノードはプリチャージされず、0Vを維持する。
図12Aは、図8A及び図8Bに整合する、例示的なセンス回路1200の回路図の第1の部分を示す。図12A、図12B及び図13では様々な回路記号を使用してトランジスタを示す。例えば、トランジスタ1202はnMOS、例えば、n型金属酸化膜半導体電界効果トランジスタ(MOSFET)である。トランジスタ1223はpMOS、例えばp型MOSFETである。トランジスタ1210は、部分絶縁化電界効果トランジスタ(PiFET)である。接地電位は、逆三角形で表わされている。センス回路コントローラから様々な制御電圧を供給することができる。これらには、TRI、TRL、TPIn、TPI、SDI、SDO、BLC、XXL、NLO、STBn、LSLHn、BLQ、STB、LSL、LPC、NR及びL2Ln、並びにクロック信号CLKなどの多数の制御ゲート電圧が含まれる。1つの手法では、制御電圧は各センス回路で共通である。
オフセットベリファイラッチ1201は、直列に接続されたトランジスタ1203、1204及び1205の第1の集合と、直列に接続されたトランジスタ1207、1208及び1209の第2の集合と、を含む。トランジスタ1208及び1209の制御ゲートは、互いに接続され、トランジスタ1204及び1205間の点1204aに接続されている。トランジスタ1204及び1205の制御ゲートは、互いに接続され、トランジスタ1208及び1209間の点1208aに接続されている。トランジスタ1202は、制御電圧TRIによって導電状態にされて、点1204aから二重線で表わされるローカルバスLBUSに電圧を供給することができる。同様に、トランジスタ1206は、制御電圧TRLによって導電状態にされて、点1208aからLBUSに電圧を供給することができる。このようにして、低ベリファイラッチによって格納されるビット電圧をLBUSに直接的に転送し、供給することができる。例えば、点1208aは、このラッチのビット電圧を格納してもよい。
センス回路の領域1220は、VDDをLBUS又はデータ線1224に接続することができるトランジスタ1221、1222及び1223を含む。トランジスタ1225により、データ線をデータバスDBUSに接続することができる。点1210aを、トランジスタ1212を介してグランドに接続することができる。
トランジスタ1213及び1215が導電状態にされる場合、センスノードSENをビット線1214に接続することができる。実際には、トランジスタ1213は、ビット線の電圧を設定する電圧クランプ(図8Bの電圧クランプ824又は844を表す)であり、トランジスタ1215(図8Bのセンスノードからビット線(BL)へのスイッチ823又は843を表す)は、検知中の放電期間の開始時に導電状態に切り替えられて、センスノードをビット線に電気的に接続する。ビット線の電圧は、トランジスタ1213のVblc−Vthに等しい。例えば制御ゲート電圧がトランジスタ1213に印加されている間にトランジスタ1213に十分に高いドレイン電圧を供給することによってビット線をプリチャージするために、トランジスタ1210及び1211を用いて、点1211aに電圧VFSAを供給することができる。点1211aにはトランジスタ1216も接続されている。
トリップラッチ1230は、直列に接続されたトランジスタ1231、1232、1233及び1234の第1の集合と、直列に接続されたトランジスタ1236、1238、1242及び1243の第2の集合と、を含む。トランジスタ1236は、VDDに接続されたドレイン1235と、トランジスタ1238のドレイン1237に接続されたソースと、を含む。点1241は、トランジスタ1238のソースである。ライン1231aは、トランジスタ1231の制御ゲート、センスノード及び(トランジスタ1245を介して)LBUSに接続されている。LBUSは、トランジスタ1236の制御ゲート1239、トランジスタ1243の制御ゲート、トランジスタ1244のドレイン及びトランジスタ1252に接続されている。また、トランジスタ1238のドレイン1237は、トランジスタ1251に接続されている。
トリップラッチでは、LBUSの電圧はトランジスタ1236の制御ゲート電圧であり、この電圧はトランジスタ1236を導電状態又は非導電状態にする。導電状態では、VDDがトランジスタ1238(図8Bの電圧クランプ821又は841を表す)に供給され、それにより、このトランジスタは点1241に、トランジスタ1238の制御ゲート電圧からトランジスタ1238の閾値電圧を引いた電圧に等しい電圧を供給することができる。点1241は、ライン1241aを介してセンスノードに直接的に接続されている。電圧Vlslhnは、トランジスタ1238の制御ゲート1240の電圧であり、このトランジスタ1238は、トランジスタ1236が導電状態にあり、トランジスタ1238に電源電圧を供給したと仮定して、センスノードのプリチャージ電圧を設定する。トランジスタ1236が非導電状態であり、トランジスタ1238に電源電圧を供給していなかった場合、トランジスタ1238はプリチャージ電圧を設定することができない。
図12Bは、図12Aの回路図の第2の部分を示す。3つのラッチ1260、1270及び1280、例えばそれぞれ第1、第2及び第3のデータ状態ラッチが例として設けられている。1つの手法では、ロックアウト状態と同じビットの組み合わせを使用可能な消去状態を含む8つの可能なデータ状態のうちの1つを特定するために、各ラッチに1ビットずつ合計3ビットが格納される。各ラッチは、類似の構成を有しており、LBUSに接続されてビット電圧をLBUSに転送し、次いでDBUSを介してビット電圧をセンス回路コントローラに転送することができる。センス回路コントローラから様々な制御電圧を供給することができる。これらは、ARI、ARL、APIn、APLn、BRI、BRL、BPIn、BPLn、CRI、CRL、CPIa及びCPLnなどの多数の制御ゲート電圧を含む。1つの手法では、制御電圧は各センス回路で共通である。
データ状態ラッチ1260は、直列に接続されたトランジスタ1262、1263及び1264の第1の集合と、直列に接続されたトランジスタ1266、1267及び1268の第2の集合と、を含む。トランジスタ1263及び1264の制御ゲートは、互いに接続され、トランジスタ1267及び1268間の点1266aに接続されている。トランジスタ1267及び1268の制御ゲートは、互いに接続され、トランジスタ1263及び1264間の点1263aに接続されている。トランジスタ1261は、制御電圧ARIによって導電状態にされて、点1263aからLBUSに電圧を供給することができる。点1263aは、そのラッチのビット電圧を格納することができる。同様に、トランジスタ1265は、制御電圧ARLによって導電状態にされて、点1266aからLBUSに電圧を供給することができる。このようにして、データ状態ラッチによって格納されるビット電圧をLBUSに直接的に転送し、供給することができる。
データ状態ラッチ1270は、直列に接続されたトランジスタ1272、1273及び1274の第1の集合と、直列に接続されたトランジスタ1276、1277及び1278の第2の集合と、を含む。トランジスタ1273及び1274の制御ゲートは、互いに接続され、トランジスタ1277及び1278間の点1276aに接続されている。トランジスタ1277及び1278の制御ゲートは、互いに接続され、トランジスタ1273及び1274間の点1273aに接続されている。点1273aは、そのラッチのビット電圧を格納することができる。トランジスタ1271は、制御電圧BRIによって導電状態にされて、点1273aからLBUSに電圧を供給することができる。同様に、トランジスタ1275は、制御電圧BRLによって導電状態にされて、点1276aからLBUSに電圧を供給することができる。このようにして、データ状態ラッチによって格納されるビット電圧をLBUSに直接的に転送し、供給することができる。
データ状態ラッチ1280は、直列に接続されたトランジスタ1282、1283及び1284の第1の集合と、直列に接続されたトランジスタ1286、1287及び1288の第2の集合と、を含む。トランジスタ1283及び1284の制御ゲートは、互いに接続され、トランジスタ1287及び1288間の点1286aに接続されている。トランジスタ1287及び1288の制御ゲートは、互いに接続され、トランジスタ1283及び1284間の点1283aに接続されている。点1283aは、そのラッチのビット電圧を格納することができる。トランジスタ1281は、制御電圧CRIによって導電状態にされて、点1283aからLBUSに電圧を供給することができる。同様に、トランジスタ1285は、制御電圧CRLによって導電状態にされて、点1286aからLBUSに電圧を供給することができる。このようにして、データ状態ラッチによって格納されるビット電圧をLBUSに直接的に転送し、供給することができる。
検知中、点1208aにおいてオフセットベリファイラッチ1201内のビットの値に基づくLBUSのプリチャージがトランジスタ1206を介して行われる。トランジスタ1236及び1238を介してセンスノードのプリチャージが行われる。データ状態ラッチに基づくLBUSの条件付きのプリチャージがラッチ1260内の点1263a及びトランジスタ1261、ラッチ1270内の点1273a及びトランジスタ1271、並びにラッチ1280内の点1283a及びトランジスタ1281を介して行われる。
図13は、図8A及び図8Bに整合する、他の例示的なセンス回路1300の回路図を示す。センス回路コントローラから様々な制御電圧を供給することができる。これらは、SRIn、SRLn、DSW、BLC、BLV、BLS、LAT_S、INV_S、BLV、SSL、HLL、STRB、CLK、LPC、INV_T、LAT_T、ARI、ARL、ARW、AOL、BRI、BRL、BRW及びBOL、並びにクロック信号CLKなどの多数の制御ゲート電圧を含む。1つの手法では、制御電圧は各センス回路で共通である。
トリップラッチ1310は、直列に接続されたトランジスタ1312、1313及び1314の第1の集合と、直列に接続されたトランジスタ1315、1316及び1317の第2の集合と、を含む。トランジスタ1313及び1314の制御ゲートは、互いに接続され、トランジスタ1316及び1317間の点LAT_Stに接続されている。トランジスタ1316及び1317の制御ゲートは、互いに接続され、トランジスタ1313及び1314間の点INV_Stに接続されている。トランジスタ1311は、制御電圧SRInによって導電状態にされて、点INV_StからLBUSに電圧を供給することができる。同様に、トランジスタ1318は、制御電圧SRLnによって導電状態にされて、点LAT_StからLBUSに電圧を供給することができる。このようにして、トリップラッチによって格納されるビット電圧をLBUSに直接的に転送し、供給することができる。同様に、センスノードSENの減衰に基づいて、トリップラッチにおいてビット値を設定することができる。
幾つかのデータ状態ラッチを設けることができる。一例として、第1のデータ状態ラッチ1340及び第2のデータ状態ラッチ1360を示す。第1のデータ状態ラッチ1340は、直列に接続されたトランジスタ1341、1342及び1344の第1の集合と、直列に接続されたトランジスタ1346、1347及び1348の第2の集合と、を含む。トランジスタ1342及び1344の制御ゲートは、互いに接続され、トランジスタ1347及び1350間の点LAT_Taに接続されている。トランジスタ1347及び1350の制御ゲートは、互いに接続され、トランジスタ1342及び1344間の点INV_Taに接続されている。トランジスタ1343は、制御電圧ARIによって導電状態にされて、トランジスタ1345を介して点INV_TaからLBUSに電圧を供給することができる。同様に、トランジスタ1348は、制御電圧ARLによって導電状態にされて、点LAT_TaからLBUSに電圧を供給することができる。このようにして、データ状態ラッチによって格納されるビット電圧をLBUSに供給することができ、又はLBUSによって設定することができる。LAT_Taは、トランジスタ1348及び1349を介してグランドに接続することもできる。LBUSは、トランジスタ1351及び1349を介してグランドに接続することができる。トランジスタ1370はLBUSに応じて、データ状態ラッチ1340がグランドに接続されているか否かを制御する。
第2のデータ状態ラッチ1360は、直列に接続されたトランジスタ1361、1362及び1364の第1の集合と、直列に接続されたトランジスタ1366、1367及び1368の第2の集合と、を含む。トランジスタ1362及び1364の制御ゲートは、互いに接続され、トランジスタ1367及び1370間の点LAT_Tbに接続されている。トランジスタ1367及び1370の制御ゲートは、互いに接続され、トランジスタ1362及び1364間の点INV_Tbに接続されている。トランジスタ1363は、制御電圧BRIによって導電状態にされて、トランジスタ1365を介して点INV_TbからLBUSに電圧を供給することができる。同様に、トランジスタ1368は、制御電圧BRLによって導電状態にされて、点LAT_TbからLBUSに電圧を供給することができる。このようにして、データ状態ラッチによって格納されるビット電圧をLBUSに供給することができ、又はLBUSによって設定することができる。LAT_Tbは、トランジスタ1368及び1369を介してグランドに接続することもできる。LBUSは、トランジスタ1371及び1369を介してグランドに接続することができる。トランジスタ1372はLBUSに応じて、データ状態ラッチ1360がグランドに接続されているか否かを制御する。
LBUSは、トランジスタ1330(図8Bの電圧クランプ824又は844を表す)のドレインに接続されて、このトランジスタが、センスノードのプリチャージ電圧を制御ゲート電圧VhllからトランジスタのVthを引いた電圧に設定できるようにする電圧を供給する。従って、各センス回路は、共通のVhllがセンス回路に供給されている間、プリチャージを行うか又はプリチャージを行わないように構成されてもよい。即ち、LBUSが0Vであるか又は他の低い値である場合、プリチャージは行われない。LBUSが(トランジスタ1371によって供給される電源電圧に基づいた)十分に高い電圧である場合、トランジスタ1330はそのソースにおいてVhll−Vthをセンスノードに供給する。トランジスタ1371は、そのトランジスタのVlpc−Vthに等しい電圧をLBUSに供給する。
(図8Aのセンスノードからビット線(BL)へのスイッチ823又は843を表す)トランジスタ1329は、検知処理の放電期間の開始時、センスノードがビット線1323と通信するのを可能にする。トランジスタ1320はビット線のプリチャージ電圧を設定し、トランジスタ1322はビット線をトランジスタ1320に接続する。
トランジスタ1321は点1320aを電圧VOSAに接続する。トランジスタ1325及び1326は、電源とグランドとの間に設けられる。トランジスタ1324及び1328は、点1329aとグランドとの間に設けられる。コンデンサCは、センスノード及びクロック信号によってチャージされる。センスノードはトランジスタ1330のソース側にあり、これにより、このトランジスタによってプリチャージされてもよい。センスノードの電圧は、電圧検知トランジスタであるトランジスタ1332の制御ゲートに供給される。従って、検知時、トランジスタ1332は、放電量が少ない場合には導電状態になり、放電量が多い場合には非導電状態になる。トランジスタ1332が導電状態にあるか又は非導電状態にあるかに従って、ラッチの値は0又は1に設定されてバスを介してセンス回路コントローラに出力され、選択されたメモリセルが、それぞれ非導電状態にあるか又は導電状態にあるかを示す。例えば、トランジスタ1331を導電状態にしてラッチ1310をフリップするように試みることができる。1つの手法では、ラッチは、トランジスタ1332が導電状態である場合にはフリップされ、又はトランジスタ1332が導電状態ではない場合にはフリップされない。
トランジスタ1327及び1333は、センスノードをグランドに接続することができる。
検知中、トランジスタ1371及び1330を介してLBUSのプリチャージが行われ、トランジスタ1330を介してセンスノードのプリチャージが行われる。トランジスタ1330及び1351を介してセンスノードの放電を行うことができる。
従って、一実施形態では、装置は、第1のセンスノードを有する第1のセンス回路であって、第1のメモリセルと関連付けられている、第1のセンス回路と、第2のセンスノードを有する第2のセンス回路であって、第2のメモリセルと関連付けられている、第2のセンス回路と、制御回路と、を備えることが分かる。制御回路は、第1のセンス回路及び第2のセンス回路に関連付けられており、センス動作において、第1のセンスノードをそれぞれの電圧にプリチャージすることと、第2のセンスノードを第1のセンスノード電圧よりも低いそれぞれの電圧にプリチャージすることと、制御ゲート電圧が第1のメモリセル及び第2のメモリセルに印加されている間に、第1のセンスノード電圧及び第2のセンスノード電圧を放電期間において放電させることと、を行うように構成される。
他の実施形態では、方法は、プログラム動作のプログラム−ベリファイ反復のベリファイ動作において、1又は複数のラッチが、メモリセルの閾値電圧がデータ状態のオフセットベリファイ電圧に依然として達していないことを示す場合に、センス回路内のセンスノードを高センスノード電圧にプリチャージするステップであって、センス回路は、メモリセル及びビット線に関連付けられている、ステップと、1又は複数のラッチが、閾値電圧がオフセットベリファイ電圧に達していることを示す場合に、センスノードを第1のセンスノード電圧よりも低い低センスノード電圧にプリチャージするステップと、制御ゲート電圧がメモリセルに印加されている間に、ある期間にわたりセンスノードをビット線に接続するステップと、この期間の終了時において、センスノードの電圧がトリップ電圧よりも低く減衰したか否かを判断するステップであって、その期間及びトリップ電圧は、センスノードが第1のセンスノード電圧にプリチャージされるか又は第2のセンスノード電圧にプリチャージプリチャージされるかとは無関係である、ステップとを含む。
この方法は、更に、センスノードの電圧がトリップ電圧よりも低く減衰していない場合、プログラム動作の次のプログラム−ベリファイ反復におけるプログラム電圧中にビット線に正電圧を供給するステップであって、この正電圧は、メモリセルのプログラミング速度を遅くするステップと、センスノードの電圧がトリップ電圧よりも低く減衰している場合に、プログラム動作の次のプログラム−ベリファイ反復におけるプログラム電圧中にビット線に0Vを供給して、メモリセルのプログラミング速度が遅くなることを回避するステップと、を含む。
他の実施形態では、装置は、プログラム動作のプログラム−ベリファイ反復のベリファイ動作において、1又は複数のラッチが、メモリセルの閾値電圧がデータ状態のオフセットベリファイ電圧に依然として達していないことを示す場合に、センス回路内のセンスノードを高センスノード電圧にプリチャージするための手段であって、センス回路は、メモリセル及びビット線に関連付けられている、手段と、1又は複数のラッチが、閾値電圧がオフセットベリファイ電圧に達していることを示す場合に、センスノードを第1のセンスノード電圧よりも低い低センスノード電圧にプリチャージするための手段と、制御ゲート電圧がメモリセルに印加されている間に、ある期間にわたりセンスノードをビット線に接続するための手段と、この期間の終了時において、センスノードの電圧がトリップ電圧よりも低く減衰したか否かを判断するための手段であって、その期間及びトリップ電圧は、センスノードが第1のセンスノード電圧にプリチャージされるか又は第2のセンスノード電圧にプリチャージプリチャージされるかとは無関係である、手段と、を含む。
この装置は、更に、センスノードの電圧がトリップ電圧よりも低く減衰していない場合に、プログラム動作の次のプログラム−ベリファイ反復におけるプログラム電圧中にビット線に正電圧を供給するための手段であって、この正電圧は、メモリセルのプログラミング速度を遅くする、手段と、センスノードの電圧がトリップ電圧よりも低く減衰している場合に、プログラム動作の次のプログラム−ベリファイ反復におけるプログラム電圧中にビット線に0Vを供給して、メモリセルのプログラミング速度が遅くなることを回避するための手段と、を含む。
他の実施形態では、方法は、ラッチに信号を供給するステップであって、この信号はラッチによって格納されているビットをバスに供給し、このラッチ及びバスは、メモリセル及びビット線に関連付けられたセンス回路内にあり、このビットは、メモリセルの閾値電圧がデータ状態のオフセットベリファイ電圧に依然として達していない場合に第1のビット電圧によって表わされ、メモリセルの閾値電圧がデータ状態のオフセットベリファイ電圧に達している場合に第2のビット電圧によって表わされ、オフセットベリファイ電圧はデータ状態の最終ベリファイ電圧よりも低く、バスはセンス回路内の第1のトランジスタの制御ゲートに接続されている、ステップと、ビットがバスに供給されている間に、センス回路内の第2のトランジスタに第1の電圧を供給するステップであって、第1のトランジスタは第2のトランジスタと電源との間にあり、第1の電圧が第2のトランジスタに供給されると、ビットが第1のビット電圧によって表わされる場合に第2のトランジスタがセンス回路のセンスノードを第1のセンスノード電圧にプリチャージし、ビットが第2のビット電圧によって表わされる場合に第2のトランジスタがセンスノードを第1のセンスノード電圧にプリチャージしない、ステップと、センス回路に関連付けられた追加のラッチからビットを読み出すステップと、追加のラッチからのビットから、メモリセルの閾値電圧がデータ状態の最終ベリファイ電圧を超えていないことを判断するステップと、メモリセルの閾値電圧が最終ベリファイ電圧を超えていないという判断に応じて、第1のトランジスタを導電状態にする電圧をバスに供給するステップと、第1の電圧よりも低い第2の電圧をセンス回路内の第2のトランジスタに供給するステップと、を含む。
他の実施形態では、メモリコントローラは、命令の集合を含む記憶デバイスと、この命令の集合を実行するように動作可能であるプロセッサと、を含む。この命令の集合は、上述した方法の各ステップを実行するための命令を含む。
他の実施形態では、システムは、バス、ラッチ、センスノード、第1のトランジスタ及び第2のトランジスタを有するセンス回路であって、バスは第1のトランジスタの制御ゲートに接続され、第1のトランジスタは第2のトランジスタと電源との間にあり、センス回路はメモリセルに関連付けられている、センス回路と、センス回路に関連付けられた追加のラッチと、センス回路コントローラと、を備える。センス回路コントローラは、ラッチに信号を供給することであって、この信号は、ラッチによって格納されているビットをバスに供給し、このビットは、メモリセルの閾値電圧がデータ状態のオフセットベリファイ電圧に依然として達していない場合に、第1のビット電圧(1)によって表わされ、メモリセルの閾値電圧がデータ状態のオフセットベリファイ電圧に達している場合に、第2のビット電圧(0)によって表わされ、オフセットベリファイ電圧はデータ状態の最終ベリファイ電圧よりも低い、供給することと、ビットがバスに供給されている間に、第2のトランジスタ(1238)に第1の電圧(LSLH=高)を供給することであって、第1の電圧が第2のトランジスタに供給されると、ビットが第1のビット電圧によって表わされる場合に、第2のトランジスタは、センスノードを第1のセンスノード電圧(高)にプリチャージし、ビットが第2のビット電圧によって表わされる場合に、センスノードを第1のセンスノード電圧にプリチャージしない、供給することと、追加のラッチからビットを読み出すことと、追加のラッチからのビットから、メモリセルの閾値電圧がデータ状態の最終ベリファイ電圧を超えていないことを判断することと、メモリセルの閾値電圧が最終ベリファイ電圧を超えていないという判断に応じて、第1のトランジスタを導電状態にする電圧をバスに供給することと、第1の電圧よりも低い第2の電圧を第2のトランジスタに供給することと、を行うように構成される。
本発明の前述の詳細な説明は、例示及び説明のために提示した。前述の説明は、網羅的であること、又は開示された正確な形態に本発明を限定することを意図するものではない。上記の教示に照らして、多くの修正形態及び変形形態が可能である。記載された実施形態は、本発明の原理及びその実用的な応用を最もよく説明するために選択されたものであり、それにより、当業者が、様々な実施形態で、企図される特定の用途に適した様々な修正を伴って、本発明を最も効果的に利用できるようにする。本発明の範囲は、添付の特許請求の範囲によって規定されることが意図されている。
以下の項目は、国際出願時の特許請求の範囲に記載の要素である。
[項目1]
第1のセンスノード(822)を有する第1のセンス回路(850a)であって、第1のメモリセル(MC1)と関連付けられている、前記第1のセンス回路(850a)と、
第2のセンスノード(842)を有する第2のセンス回路(851a)であって、第2のメモリセル(MC2)と関連付けられている、第2のセンス回路(851a)と、
前記第1のセンス回路及び前記第2のセンス回路に関連付けられている制御回路(110、112、114、116、122、128、132)と、を備えており、
前記制御回路は、センス動作において、
前記第1のセンスノードを第1のセンスノード電圧(VsenVO)にプリチャージすることと、
前記第2のセンスノードを、前記第1のセンスノード電圧よりも低い第2のセンスノード電圧(VsenVF)にプリチャージすることと、
制御ゲート電圧(VvA、VvB、VvC)が前記第1のメモリセル及び前記第2のメモリセルに印加されている間に、前記第1のセンスノード電圧及び前記第2のセンスノード電圧を放電期間(ts1−td1、ts2−td2)において放電させることと、
を行うように構成される、
装置。
[項目2]
前記第1のセンス回路は第1のトリップラッチ(826)を有し、
前記第2のセンス回路は第2のトリップラッチ(846)を有し、
前記制御回路は、前記放電期間の終了時において、基準電圧に対する前記第1のセンスノード電圧の値に基づいて前記第1のトリップラッチを設定し、前記基準電圧に対する前記第2のセンスノード電圧の値に基づいて前記第2のトリップラッチを設定するように構成される、項目1に記載の装置。
[項目3]
前記制御回路は、前記第1のメモリセルが境界電圧よりも低い閾値電圧を有するという判断に応じて、前記第1のセンスノードの前記プリチャージを行うように構成され、
前記制御回路は、前記第2のメモリセルが前記境界電圧よりも高い閾値電圧を有するという判断に応じて、前記第2のセンスノードの前記プリチャージを行うように構成され、
前記センス動作は、ベリファイ動作を含み、
前記境界電圧は、データ状態のオフセットベリファイ電圧(VvAO、VvBO、VvCO)であり、
前記オフセットベリファイ電圧は、前記データ状態の最終ベリファイ電圧(VvA、VvB、VvC)よりも低い、項目1又は2に記載の装置。
[項目4]
前記制御回路は、前記第1のメモリセルが1つのデータ状態にプログラムされるべきであるという判断に応じて、前記第1のセンスノードの前記プリチャージを行うように構成され、
前記制御回路は、前記第2のメモリセルが前記1つのデータ状態よりも低い他のデータ状態にプログラムされるべきであるという判断に応じて、前記第2のセンスノードの前記プリチャージを行うように構成され、
前記センス動作は、ベリファイ動作を含む、項目1〜3のいずれか一項に記載の装置。
[項目5]
前記制御回路は、前記センス動作における第1の時間において、前記第1のセンスノードの前記プリチャージを行うように構成され、
前記制御回路は、前記第1の時間とは異なる前記センス動作における第2の時間において、前記第2のセンスノードの前記プリチャージを行うように構成される、項目1〜4のいずれか一項に記載の装置。
[項目6]
前記制御回路は、第1の時間において、
前記第1のセンス回路内のトランジスタ(1238)及び前記第2のセンス回路内のトランジスタに第1の電圧(VsenVO+Vth)を印加することであって、前記第1の電圧は、前記第1のセンスノード電圧と前記第1のセンス回路内の前記トランジスタの閾値電圧との合計に少なくとも等しいことと、
前記第1のセンス回路内の前記トランジスタのドレイン(1237)に電源電圧(VDD)を印加することであって、前記第1のセンス回路内の前記トランジスタは、前記第1のセンスノードの前記プリチャージを行うことと、
前記第2のセンス回路内の前記トランジスタのドレインからの前記電源電圧を遮断することであって、前記第2のセンス回路内の前記トランジスタは、前記第1の時間に、前記第2のセンスノードの前記第2のセンスノード電圧への前記プリチャージを行わないことと、
を行うように構成され、
前記制御回路は、前記第1の時間の後の第2の時間において、
前記第1のセンス回路内の前記トランジスタ及び前記第2のセンス回路内の前記トランジスタに第2の電圧(VsenVF+Vth)を印加することであって、前記第2の電圧は、前記第2のセンスノード電圧と前記第1のセンス回路内の前記トランジスタの前記閾値電圧との合計に少なくとも等しく、前記第1の電圧よりも低いことと、
前記第1のセンス回路内の前記トランジスタの前記ドレインに前記電源電圧を印加することであって、前記第1のセンスノード電圧は、前記第1のセンスノードにおいて維持されることと、
前記第2のセンス回路内の前記トランジスタの前記ドレインに前記電源電圧を印加することであって、前記第2のセンス回路内の前記トランジスタは、前記第2のセンスノードの前記プリチャージを行うことと、
を行うように構成される、項目1〜4のいずれか一項に記載の装置。
[項目7]
前記制御回路は、第1の時間において、
前記第2のセンス回路内のトランジスタ(1238)及び前記第1のセンス回路内のトランジスタに電圧(VsenVF+Vth)を印加することであって、前記第2のセンス回路内の前記トランジスタに印加される前記電圧は、前記第2のセンスノード電圧と前記第2のセンス回路内の前記トランジスタの閾値電圧との合計に少なくとも等しいことと、
前記第2のセンス回路内の前記トランジスタのドレインに電源電圧(VDD)を印加することであって、前記第2のセンス回路内の前記トランジスタは、前記第2のセンスノードの前記第2のセンスノード電圧へのプリチャージを行うことと、
前記第1のセンス回路内の前記トランジスタのドレインからの前記電源電圧を遮断することであって、前記第1のセンス回路内の前記トランジスタは、前記第1のセンスノードの前記第2のセンスノード電圧へのプリチャージを行わないことと、
を行うように構成され、
前記制御回路は、前記第1の時間の後の第2の時間において、
前記第2のセンス回路内の前記トランジスタ及び前記第1のセンス回路内の前記トランジスタに第1の電圧(VsenVO+Vth)を印加することであって、前記第1の電圧は、前記第1のセンスノード電圧と前記第2のセンス回路内の前記トランジスタの前記閾値電圧との合計に少なくとも等しいことと、
前記第2のセンス回路内の前記トランジスタの前記ドレインからの前記電源電圧を遮断することであって、前記第2のセンス回路内の前記トランジスタは、前記第2のセンスノードの前記第1のセンスノード電圧へのプリチャージを行わないことと、
前記第1のセンス回路内の前記トランジスタの前記ドレインに前記電源電圧を印加することであって、前記第1のセンス回路内の前記トランジスタは、前記第1のセンスノードの前記プリチャージを行うことと、
を行うように構成される、項目1〜4のいずれか一項に記載の装置。
[項目8]
前記制御回路は、第1の時間において、
前記第1のセンス回路内のトランジスタ(1238)及び前記第2のセンス回路内のトランジスタに電圧(VsenVF+Vth)を印加することであって、前記第2のセンス回路内の前記トランジスタに印加される前記電圧は、前記第2のセンスノード電圧と前記第1のセンス回路内の前記トランジスタの閾値電圧との合計に少なくとも等しいことと、
前記第1のセンス回路内の前記トランジスタのドレインに電源電圧(VDD)を印加することであって、前記第1のセンス回路内の前記トランジスタは、前記第1のセンスノードの前記第2のセンスノード電圧へのプリチャージを行い、前記第2のセンス回路内の前記トランジスタは、第2のセンスのプリチャージを行うことと、
を行うように構成され、
前記制御回路は、前記第1の時間の後の第2の時間において、
前記第1のセンス回路内の前記トランジスタ及び前記第2のセンス回路内の前記トランジスタに第1の電圧(VsenVO+Vth)を印加することであって、前記第1の電圧は、前記第1のセンスノード電圧と前記第1のセンス回路内の前記トランジスタの前記閾値電圧との合計に少なくとも等しいことと、
前記第1のセンス回路内の前記トランジスタの前記ドレインに前記電源電圧を印加することであって、前記第1のセンス回路内の前記トランジスタは、前記第1のセンスノードの前記プリチャージを行うことと、
前記第2のセンス回路内の前記トランジスタの前記ドレインからの前記電源電圧を遮断することであって、前記第2のセンス回路内の前記トランジスタは、前記第2のセンスノードの前記第1のセンスノード電圧へのプリチャージを行わないことと、
を行うように構成される、項目1〜4のいずれか一項に記載の装置。
[項目9]
前記制御回路は、第1の時間において、
前記第1のセンス回路内のトランジスタ(1330)及び前記第2のセンス回路内のトランジスタに第1の電圧(VsenVO+Vth)を印加することであって、前記第1の電圧は、前記第1のセンスノード電圧と前記第1のセンス回路内の前記トランジスタの閾値電圧との合計に少なくとも等しいことと、
前記第1のセンス回路内の前記トランジスタのドレイン(DR)及び前記第2のセンス回路内の前記トランジスタのドレインに電源電圧(VDD)を印加することであって、前記第1のセンス回路内の前記トランジスタは、前記第1のセンスノードの前記第1のセンスノード電圧へのプリチャージを行い、前記第2のセンス回路内の前記トランジスタは、前記第2のセンスノードの前記プリチャージを行うことと、
続いて、前記第2のセンスノードを放電させることと、
を行うように構成され、
前記制御回路は、前記第1の時間の後の第2の時間において、
前記第1のセンス回路内の前記トランジスタ及び前記第2のセンス回路内の前記トランジスタに電圧(VsenVF+Vth)を印加することであって、前記電圧は、前記第2のセンスノード電圧と前記第1のセンス回路内の前記トランジスタの前記閾値電圧との合計に少なくとも等しいことと、
前記第2のセンス回路内の前記トランジスタの前記ドレインに前記電源電圧を印加することであって、前記第2のセンス回路内の前記トランジスタは、前記第2のセンスノードの前記プリチャージを行うことと、
前記第1のセンスノードにおいて前記第1のセンスノード電圧を維持することと、
を行うように構成される、項目1〜4のいずれか一項に記載の装置。
[項目10]
前記制御回路は、前記第1のセンスノード電圧を維持するために、前記第1のセンス回路内の前記トランジスタの前記ドレインに前記電源電圧を印加するように構成される、項目9に記載の装置。
[項目11]
前記制御回路は、前記第1のセンスノード電圧を維持するために、前記第1のセンス回路内の前記トランジスタの前記ドレインからの前記電源電圧を遮断するように構成される、項目9に記載の装置。
[項目12]
プログラム動作のプログラム−ベリファイ反復のベリファイ動作において、
1又は複数のラッチ(1201、1310)が、メモリセルの閾値電圧がデータ状態のオフセットベリファイ電圧(VvAO、VvBO、VvCO)に依然として達していないことを示す場合に、センス回路(850a、851a)内のセンスノード(822、842)を高センスノード電圧(VsenVO)にプリチャージするステップと、
ここで、前記センス回路は、メモリセル(MC1、MC2)及びビット線(825、845)に関連付けられており、
前記1又は複数のラッチが、前記閾値電圧が前記オフセットベリファイ電圧に達していることを示す場合に、前記センスノードを前記高センスノード電圧よりも低い低センスノード電圧(VsenVF)にプリチャージするステップと、
制御ゲート(VvA、VvB、VvC)電圧が前記メモリセルに印加されている間に、ある期間(ts1−td1、ts2−td2)にわたり前記センスノードを前記ビット線に接続するステップと、
前記期間の終了時において、前記センスノードの電圧がトリップ電圧(Vtrip)よりも低く減衰したか否かを判断するステップと、
ここで、前記期間及び前記トリップ電圧は、前記センスノードが前記高センスノード電圧にプリチャージされるか又は前記低センスノード電圧にプリチャージされるかとは無関係であり、
前記センスノードの前記電圧が前記トリップ電圧よりも低く減衰していない場合に、前記プログラム動作の次のプログラム−ベリファイ反復におけるプログラム電圧中に前記ビット線に正電圧(Vbl_slow)を供給するステップと、
ここで、前記正電圧は、前記メモリセルのプログラミング速度を遅くし、
前記センスノードの前記電圧が前記トリップ電圧よりも低く減衰している場合に、前記プログラム動作の前記次のプログラム−ベリファイ反復における前記プログラム電圧中に前記ビット線に0Vを供給して、前記メモリセルの前記プログラミング速度が遅くなることを回避するステップと、
を含む方法。
[項目13]
前記1又は複数のラッチは、前記1又は複数のラッチが第1のビット電圧を格納している場合に、前記メモリセルの前記閾値電圧が前記データ状態の前記オフセットベリファイ電圧に依然として達していないことを示し、
前記センスノードを前記高センスノード電圧にプリチャージする前記ステップは、前記1又は複数のラッチから前記センス回路のバス(LBUS)に前記第1のビット電圧を供給するステップを含み、前記バスは、第1のトランジスタ(1236)の制御ゲート(1239)に接続されており、前記第1のトランジスタは、前記第1のビット電圧が前記バスに供給されると、電源電圧(VDD)を第2のトランジスタ(1238)のドレイン(1237)に供給し、制御ゲート電圧(Vlslhn)は、前記センスノードを前記高センスノード電圧にプリチャージする前記第2のトランジスタに供給される、項目12に記載の方法。
[項目14]
前記1又は複数のラッチは、前記メモリセルのデータ状態を識別するビットを含み、前記メモリセルの前記閾値電圧が前記データ状態の前記オフセットベリファイ電圧に達したがロックアウト状態に達していないことを示し、
前記方法は、更に、
前記ビットから制御ゲート電圧を得るステップと、
前記センスノードを前記低センスノード電圧にプリチャージする前記センス回路内のトランジスタに前記制御ゲート電圧を設定するステップと、
を含む、項目12又は13に記載の方法。
[項目15]
前記センスノードを前記高センスノード電圧にプリチャージする前記ステップは、
前記センスノードを前記低センスノード電圧にプリチャージするステップと、
それに続いて、前記センスノードを前記低センスノード電圧から前記高センスノード電圧にプリチャージするステップと、を含む、項目12〜14のいずれか一項に記載の方法。