不揮発性メモリおよびキャッシュページコピー方法
不揮発性メモリおよび方法は、各メモリセルについて最小数のデータラッチを使用するキャッシュページコピーを含む。複数ビットデータは、第1のワード線に関連する群の各メモリセルから並列に読み出される。読み出されたデータは、データ処理のために所定の順序に従って群単位でメモリから送り出すための複数のデータ群に編成される。修正されたデータは、それぞれのデータ群を更新するために送り返される。所定の順序は、より多くのデータ群が処理されてプログラミングに使用可能であるほど、より多くの高くプログラムされた状態が復号可能であるようになっている。適応フルシーケンスプログラミングは、この処理と同時に実施される。このプログラミングによって、読み出されたデータは、一般に異なる消去ブロックの、好ましくは第1のワード線に隣接するワード線による摂動効果を補償されて、第2のワード線に関連する別のメモリセル群にコピーされる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)およびフラッシュEEPROMなどの不揮発性半導体メモリに関し、特に、1つの記憶場所から別の記憶場所にページをコピーすることなどのメモリ動作におけるラッチ構造の効果的な利用に基づくキャッシュ動作に関する。
【背景技術】
【0002】
電荷の不揮発性記憶が可能であって、特に、小形形状のファクタカードとしてパッケージ化されているEEPROMおよびフラッシュEEPROMの形態をとる固体メモリは、近年、様々なモバイルおよびハンドヘルド装置、特に、情報機器および家庭用電化製品において選択される記憶装置になった。固体メモリでもあるRAM(ランダムアクセスメモリ)とは異なって、フラッシュメモリは不揮発性であって、電源がオフに切り換えられてからも記憶されているデータを保存する。高いコストにもかかわらず、フラッシュメモリは、大容量記憶用途においてますます用いられてきている。ハードドライブおよびフロッピディスクなどの回転磁気媒体に基づく従来の大容量記憶装置は、モバイルおよびハンドヘルド環境には不適切である。その理由は、ディスクドライブが大型になりがちで機械的に故障しやすく、長い待ち時間および大きな電力を必要とするためである。このような好ましくない特性によって、大部分のモバイルおよび携帯用途において、ディスクに基づく記憶装置は非実用的なものになる。その一方で、埋め込み型および取り外し可能なカードの形態をとるフラッシュメモリはともに、その小形、低消費電力、高速および高信頼性の特徴のために、モバイルおよびハンドヘルド環境に理想的に適している。
【0003】
EEPROMおよび電気的にプログラム可能な読み出し専用メモリ(EPROM)は、消去することができ、新たなデータをメモリセルに書き込む、または「プログラムする」ことができる不揮発性メモリである。両方とも、電界効果トランジスタ構造においてソース領域とドレイン領域との間にある半導体基板内のチャネル領域上に配置される導電性フローティング(非結合)ゲートを用いる。次に、フローティングゲート上には、コントロールゲートが設けられている。トランジスタのしきい電圧特性は、フローティングゲート上に保存されている電荷の量によって制御される。すなわち、フローティングゲート上の所与の電荷レベルに対して、対応する電圧(しきい値)が存在し、トランジスタのソース領域とドレイン領域との間で導通を可能にするために、この電圧をコントロールゲートに印加してトランジスタを「オン」に切り換える必要がある。
【0004】
フローティングゲートは、電荷の範囲を保持することができ、したがって、フローティングゲートをしきい電圧ウィンドウ内の任意のしきい電圧レベルにプログラムすることができる。しきい電圧ウィンドウの大きさは、デバイスの最小および最大しきい値レベルによって定められ、すなわち、フローティングゲート上にプログラムできる電荷の範囲に対応している。一般に、しきい値ウィンドウは、メモリデバイスの特性、動作条件および履歴に依存している。原理上、ウィンドウ内のそれぞれ異なる分離可能なしきい電圧レベル範囲を使用して、明確に限定されるセルのメモリ状態を指定することができる。しきい電圧が2つの異なる領域に区分される場合、各メモリセルは、1ビットのデータを記憶することができる。同様に、しきい電圧ウィンドウが3つ以上の異なる領域に区分される場合には、各メモリセルは、2ビット以上のデータを記憶することができる。
【0005】
通常の2状態EEPROMのセルでは、少なくとも1つの電流区切り点レベルが、導通ウィンドウを2つの領域に区分するように確定される。所定の固定電圧を印加することによってセルが読み出される場合、セルのソース/ドレイン電流は、区切り点レベル(または、基準電流IREF)と比較することによってメモリ状態に分離される。電流読み出しが区切り点レベルの読み出しよりも高い場合、セルは一方の論理状態(例えば、「0」状態)にあると判断される、その一方で、電流が区切り点レベルの電流よりも少ない場合、セルは他方の論理状態(例えば、「1」状態)にあると判断される。したがって、このような2状態のセルは1ビットのデジタル情報を記憶する。外部からプログラム可能な基準電流源が、区切り点レベルの電流を発生させるためにメモリシステムの一部として設けられることが多い。
【0006】
メモリ容量を増大させるために、フラッシュEEPROMデバイスは、半導体技術の状況が進歩するに従って、ますます高密度で製造されてきている。記憶容量を増大させる別の方法は、各メモリセルに3つ以上の状態を記憶させることである。
【0007】
多状態またはマルチレベルEEPROMメモリセルでは、各セルが2ビット以上のデータを記憶することができるように、導通ウィンドウは2つ以上の区切り点によって3つ以上の領域に区分される。したがって、所与のEEPROMアレイが記憶できる情報は、各セルが記憶できる状態の数とともに増大する。多状態またはマルチレベルメモリセルを有するEEPROMまたはフラッシュEEPROMが、米国特許第5,172,338号(特許文献1)に記載されている。
【0008】
メモリセルとして作用するトランジスタは、一般に、2つの機構のうちの1つによって「プログラムされた」状態にプログラムされる。「ホットエレクトロン注入」では、ドレインに印加される高電圧は、基板のチャネル領域に亘って電子を加速する。同時に、コントロールゲートに印加される高電圧は、薄いゲート誘電体を介してホットエレクトロンをフローティングゲートに引き込む。「トンネル注入」では、基板に対して高電圧がコントロールゲートに印加される。このように、電子は基板から介在するフローティングゲートに引き込まれる。
【0009】
メモリデバイスは、幾つかの機構によって消去することができる。EPROMでは、フローティングゲートから紫外線放射によって電荷を取り除くことによって、メモリは一括消去することができる。EEPROMでは、コントロールゲートに対して高電圧を基板に印加し、フローティングゲート内の電子を誘導して薄い酸化物を通して基板のチャネル領域にトンネルさせるようにすること(すなわち、ファウラノルドハイムトンネル現象)によって、メモリセルは電気的に消去することができる。一般に、EEPROMは、バイト毎に消去可能である。フラッシュEEPROMでは、メモリは、一斉に全てのブロックを、または1回に1つ以上のブロックを電気的に消去可能であり、ブロックは、512バイト以上のメモリで構成することができる。
【0010】
一般に、メモリデバイスは、カード上に装着することができる1つ以上のメモリチップを含む。各メモリチップは、復号器、消去回路、書き込み回路および読み出し回路のような周辺回路によって支援されるメモリセルのアレイを含む。さらに精巧なメモリデバイスは、高い知能で高水準のメモリ動作およびインタフェースを実行する外部メモリコントローラによって動作する。
【0011】
今日使用されている不揮発性固定メモリデバイスが数多く商業的に成功している。これらのメモリデバイスは、フラッシュEEPROMであってもよく、あるいは、他の異なる種類の不揮発性メモリセルを使用することもできる。フラッシュメモリおよびシステムならびにそれらの製造方法の実施例は、米国特許第5,070,032号(特許文献2)、第5,095,344号(特許文献3)、第5,315,541号(特許文献4)、第5,343,063号(特許文献5)、および第5,661,053号(特許文献6)、第5,313,421号(特許文献7)、および第6,222,762号(特許文献8)に与えられている。特に、NANDストリング構造を有するフラッシュメモリデバイスは、米国特許第5,570,315号(特許文献9)、第5,903,495号(特許文献10)、第6,046,935号(特許文献11)に記載されている。さらに、不揮発性メモリデバイスは、電荷を記憶する誘電体層を有するメモリセルからも製造される。前述した導電性フローティングゲート要素の代わりに、誘電体層が使用される。導電体記憶要素を使用するこのようなメモリデバイスは、エイタンらによる「NROM:新規な局所的トラッピング、2ビット不揮発性メモリセル」,IEEEエレクトロンデバイスレターズ,第21巻,第11号,2000年11月,543〜545ページ(Eitan et al., “NROM:A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no.11. November 2000, pp. 543-545)(非特許文献1)に記載されている。ONO誘電体層は、ソース拡散領域とドレイン拡散領域との間のチャネルに亘って延在する。1つのデータビットに対する電荷は、ドレインに隣接する誘電体層内に局限され、他のデータビットに対する電荷は、ソースに隣接する誘電体層内に局限される。例えば、米国特許第5,768,192号(特許文献12)および第6,011,725号(特許文献13)には、2つのシリコン酸化物層の間に挟まれている捕捉誘電体を有する不揮発性メモリセルが開示されている。多状態データ記憶は、誘電体内の空間的に分離されている電荷記憶領域の2値状態を個別に読み出すことによって実施される。
【0012】
読み出しおよびプログラムの性能を改善するため、アレイ内の複数の電荷記憶要素またはメモリトランジスタは並列に読み出しまたはプログラムされる。したがって、メモリ要素の「ページ」は、同時に読み出しまたはプログラムされる。既存のメモリアーキテクチャでは、一般に、行は、インタリーブされる幾つかのページを含むか、あるいは1つのページを構成することができる。ページの全メモリ要素は、同時に読み出しまたはプログラムされる。
【0013】
したがって、大容量で高性能な不揮発性メモリが一般に必要とされる。特に、高性能でデバイス資源を効率的に利用しながら、大きなブロックでメモリ動作を行うことができる大容量の不揮発性メモリが必要とされる。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】米国特許第5,172,338号
【特許文献2】米国特許第5,070,032号
【特許文献3】米国特許第5,095,344号
【特許文献4】米国特許第5,315,541号
【特許文献5】米国特許第5,343,063号
【特許文献6】米国特許第5,661,053号
【特許文献7】米国特許第5,313,421号
【特許文献8】米国特許第6,222,762号
【特許文献9】米国特許第5,570,315号
【特許文献10】米国特許第5,903,495号
【特許文献11】米国特許第6,046,935号
【特許文献12】米国特許第5,768,192号
【特許文献13】米国特許第6,011,725号
【特許文献14】米国特許第5,595,924号
【特許文献15】米国公開特許出願第2004/0109357号
【特許文献16】米国公開特許出願第2006/0140007号
【特許文献17】米国特許第6,657,891号
【特許文献18】米国特許出願第11/323,596号
【特許文献19】米国公開特許出願第2006/0221714号
【特許文献20】米国公開特許出願第2006/0233026号
【特許文献21】米国公開特許出願第2006/0221704号
【特許文献22】米国公開特許出願第2005/0257120号
【特許文献23】米国公開特許出願第2006/0136687号
【特許文献24】米国特許第6,266,273号
【特許文献25】米国特許出願第11/384,057号
【特許文献26】米国特許出願第11/617,544号
【非特許文献】
【0015】
【非特許文献1】Eitan et al., “NROM:A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no.11. November 2000, pp. 543-545
【発明の概要】
【0016】
本発明の一般的形態によれば、各メモリセルについて最小数のn+1個のデータラッチの効率的な利用によって、nビットメモリは効率的なデータ再配置、すなわち「ページキャッシュコピー」を実施することができる。さらに、データラッチの同様な構成は、隣接するワード線に記憶されるデータを補償しながらの読み出しも可能にする。したがって、2ビットメモリは、隣接するワード線に記憶されるデータと効率的なデータ再配置とを補償しながら読み出しを実施するために、メモリセル当たり3つのデータラッチを必要とするだけである。同様に、3ビットメモリは、隣接するワード線に記憶されるデータと効率的なデータ再配置とを補償しながら読み出しを実施するために、メモリセル当たり4つのデータラッチを必要とするだけである。
【0017】
各セルが再配置されるnビットデータを記憶するページメモリセルでは、nビットデータのページを読み出し、各nビットデータからの1つのビットデータのn個の論理ページがラッチされるようにnビットラッチの対応するページ内にこれをラッチし、データ処理のためにn個の論理データページの各ページを所定の順序でページ毎に送り出し、いかなる修正ビットも元のラッチに送り返し、と同時に処理データをページ毎にプログラムすることによって達成される。このようにして、データをトグルアウトおよびバックする時間の少なくとも一部は、書き込み動作の裏側に隠すことができ、これによって、ページコピーの性能を改善することができる。
【0018】
特に、nビット符号の全てのビットが全てのメモリ状態を分離するのに使用できるわけではない場合でも、プログラミングに使用可能な第1のデータページにより、プログラミングが消去状態から開始して所与のプログラムされた状態に達することができるように、論理データページは、データ処置のために所定の順序で送り出される。同様に、追加で使用できるページによって、プログラミングはさらに高くプログラムされた状態まで継続することができる。全ての符号ビットが使用可能になると、ページのあらゆるメモリセルの目標状態が定義されるため、プログラミングを終了することができる。したがって、ビットが使用可能である限りプログラミングが開始可能であり最終的に全ての符号が使用可能になると完了する適応フルシーケンスモードでプログラミングが実施される。
本発明は、相互に関係のある少なくとも4つの形態において性能を改善するという利点を有する。
【0019】
第1に、適応フルシーケンスモードでのプログラミングは、ワード線に印加されるプログラミング電圧が単調増加関数であることを可能にする。プログラミングは、最も低いメモリ状態から最も高いメモリ状態までしきい値ウィンドウ全体に亘ってワンパスで行うことができる。このことは、プログラミング電圧が各パスの最初で最初のプログラミング電圧に戻って再開する必要があるマルチパスプログラミングとはかなり異なる。
【0020】
第2に、適応機能は、全ての符号ビットがメモリ状態を完全に分離するのに使用できるわけではない場合でも、プログラミングを開始させることが可能である。複数ビット符号のうちの1ビットでもページの各メモリセルに使用できると、プログラミングは開始することができる。
【0021】
第3に、各メモリセルのプログラミングは、1度に1ビットを連続的に付加しながら行うことができるため、第1ビットのデータ群を使用してメモリセル群をプログラムすると同時に、第2ビットのデータ群が同時にデータ処理されることによって用意される。したがって、データ処理時間は、プログラミング時間の裏側に隠すことができる。本発明のキャッシュページコピー方式は、nビット符号に対してn−1データ処理動作をプログラミング時間の裏側に隠すことができる。例えば、2ビット符号を使用して、1データ処理動作時間が節約される。3ビット符号では、2データ処理動作時間が節約される。
【0022】
最後に、後から隣接するワード線に対してプログラムされるデータによる摂動効果に対する先行訂正を使用しても、本発明のキャッシュページコピー方式は、最小数のデータラッチを用いて実施することができる。nビットメモリでは、データラッチの数は、メモリセル当たりn+1個である。
【0023】
本発明の追加の特徴および利点は、本発明の好適な実施形態の添付図面とともに用いられるべき以下の記載から理解されるであろう。
【図面の簡単な説明】
【0024】
【図1】本発明が実施される不揮発性メモリチップを示す概略機能ブロック図である。
【図2】不揮発性メモリセルを示す概略図である。
【図3】フローティングゲートがどの時点においても選択的に保存することができる4つの異なる電荷Q1〜Q4についてのソース−ドレイン電流IDとコントロールゲート電圧VCGとの間の関係を示す図である。
【図4】メモリセルのNORアレイの実施例を示す図である。
【図5A】NANDストリングに編成されるメモリセルのストリングを示す概略図である。
【図5B】図5Aに示されるような、NANDストリング50から構成されるメモリセルのNANDアレイ200の実施例を示す図である。
【図6】消去可能ブロックで構成されるメモリアレイの実施例を示す概略図である。
【図7】図1に示される読み出し/書き込み回路の好適な配置を示す概略図である。
【図8】図7に示される読み出し/書き込み回路の中の読み出し/書き込みスタックの配置を示す図である。
【図9】図8の読み出し/書き込みスタックを示す機能ブロック図である。
【図10】選択されるワード線に印加される階段波形の形態をとる一連のプログラミング電圧パルスを示す図である。
【図11】好適な2ビット論理符号(「LM」符号)で符号化される4状態メモリの論理ページ毎プログラミングを示す図である。
【図12】好適な2ビット論理符号(「LM」符号)で符号化される4状態メモリのフルシーケンスプログラミングを示す図である。
【図13A】2ビットのLM符号で符号化される4状態メモリの下位ビットを識別するのに必要とされる読み出し動作を示す図である。
【図13B】2ビットのLM符号で符号化される4状態メモリの上位ビットを識別するのに必要とされる読み出し動作を示す図である。
【図14】好適な3ビット論理符号(「LM」符号)で符号化される8状態メモリのプログラミングを示す図である。
【図15】2ビットのメモリセルを有し、そのページが隣接するワード線上のメモリセル間のユーピン効果を最小限に抑えるように最適なシーケンスでプログラムされるメモリの実施例を示す図である。
【図16】メモリアレイ内で第1の場所のメモリセルのページのデータが第2の場所のメモリセルのページにコピーされるページコピー動作を示す図である。
【図17】メモリ内の目的場所にコピーされる前に外部コントローラによって読み出されたデータの任意のエラーが訂正される好適なページコピー動作を示す図である。
【図18】本発明の一般的な実施形態によるキャッシュコピー方式についてのフローチャートである。
【図19】図18に示されるキャッシュコピー方式の符号化およびプログラミング部分について2ビットのLM符号を使用する実施例を示す図である。
【図20】図18に示されるキャッシュコピー方式の符号化およびプログラミング部分について3ビットのLM符号を使用する実施例を示す図である。
【図21A】3つのデータラッチを使用する例として示す2ビットメモリに対するLA読み出しの好適な実施方法について説明するフローチャートである。
【図21B】3つのデータラッチを使用する例として示す2ビットメモリに対するLA読み出しの好適な実施方法について説明するフローチャートである。
【発明を実施するための形態】
【0025】
メモリシステム
図1〜図9は、本発明が実施される様々な形態のメモリシステムの実施例を示す。
図10〜図17は、このメモリシステムのためのプログラミングおよび読み出し技術の実施例を示す。
図18〜図21は、本発明のキャッシュページコピーの実施形態を示す。
【0026】
図1は、本発明が実施される不揮発性メモリチップの機能ブロックを概略的に示す。メモリチップ100は、2次元アレイのメモリセル200と、制御回路210と、復号器、読み出し/書き込み回路およびマルチプレクサなどの周辺回路とを含む。
【0027】
メモリアレイ200は、行復号器230(230A,230Bに分割される)を介してワード線によってアドレス指定可能であり、さらに列復号器260(260A,260Bに分割される)を介してビット線によってアドレス指定可能である(図4および図5も参照)。読み出し/書き込み回路270(270A,270Bに分割される)は、メモリセルのページを並列に読み出しまたはプログラムできるようにする。データI/Oバス231は、読み出し/書き込み回路270に接続されている。
【0028】
好適な実施形態では、ページは、同一ワード線を共有するメモリセルの隣接する行から構成される。メモリセルの行が複数のページに区分されている別の実施形態では、読み出し/書き込み回路270を個々のページに多重化するために、ブロックマルチプレクサ250(250A,250Bに分割される)が設けられる。例えば、メモリセルの偶数および奇数の行でそれぞれ形成される2つのページは、読み出し/書き込み回路に対して多重化される。
【0029】
図1は、様々な周辺回路によるメモリアレイ200へのアクセスがアレイの両側で左右対称に実施され、両側のアクセス線および回路の密度が半分になるような好適な配置を示す。したがって、行復号器は、行復号器230Aおよび230Bに分割され、列復号器は、列復号器260Aおよび260Bに分割される。メモリセルの行が、複数のページに区分される実施形態では、ページマルチプレクサ250は、ページマルチプレクサ250Aおよび250Bに分割される。同様に、読み出し/書き込み回路270は、アレイ200の下部からビット線に接続する読み出し/書き込み回路270A、およびアレイ200の上部からビット線に接続する読み出し/書き込み回路270Bに分割される。このようにして、読み出し/書き込みモジュールの密度、したがってセンスモジュール380の密度は、本質的に半分になる。
【0030】
制御回路110は、メモリアレイ200のメモリ動作を実施するための、読み出し/書き込み回路270と共働するオンチップコントローラである。制御回路110は、一般に、状態マシン112と、オンチップアドレス復号器および電源制御モジュール(明確に図示されず)などの他の回路とを含む。状態マシン112は、メモリ動作のチップレベルの制御を行う。制御回路は、外部メモリコントローラを介してホストと通信している。
【0031】
メモリアレイ200は、一般に、行および列で構成されワード線およびビット線でアドレス指定可能なメモリセルの2次元アレイとして編成される。アレイは、NOR型またはNAND型アーキテクチャに従って形成することができる。
【0032】
図2は、不揮発性メモリセルを概略的に示す。メモリセル10は、フローティングゲートまたは誘電体層などの電荷蓄積単位20を有する電界効果トランジスタによって実施することができる。メモリセル10は、ソース14と、ドレイン16と、コントロールゲート30とをさらに含む。
【0033】
今日使用されている不揮発性固定メモリデバイスが数多く商業的に成功している。これらのメモリデバイスは、異なる種類のメモリセルを使用することができ、それぞれの種類は、1つ以上の電荷蓄積要素を有する。
【0034】
典型的な不揮発性メモリセルは、EEPROMと、フラッシュEEPROMとを含む。EEPROMセルおよびその製造方法の実施例は、米国特許第5,595,924号(特許文献14)に与えられている。フラッシュEEPROMセル、メモリシステム内でのその使用、およびその製造方法は、米国特許第5,070,032号(特許文献2)、第5,095,344号(特許文献3)、第5,315,541号(特許文献4)、第5,343,063号(特許文献5)、および第5,661,053号(特許文献6)、第5,313,421号(特許文献7)および第6,222,762号(特許文献8)に与えられている。特に、NANDセル構造を有するメモリデバイスの実施例が、米国特許第5,570,315号(特許文献9)、第5,903,495号(特許文献10)、第6,046,935号(特許文献11)に記載されている。さらに、誘電体記憶要素を使用するメモリデバイスの実施例は、エイタンらによる「NROM:新規な局所的トラッピング、2ビット不揮発性メモリセル」,IEEEエレクトロンデバイスレターズ,第21巻,第11号,2000年11月,543〜545ページ(Eitan et al., “NROM:A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no.11. November 2000, pp. 543-545)(非特許文献1)、ならびに米国特許第5,768,192号(特許文献12)および第6,011,725号(特許文献13)に記載されている。
【0035】
実際には、セルのメモリ状態は、通常、基準電圧がコントロールゲートに印加される場合のセルのソースおよびドレイン電極の間の導通電流を検知することによって読み出される。したがって、セルのフローティングゲート上の所与の各電荷について、固定基準コントロールゲート電圧に対する対応する導通電流を検出することができる。同様に、フローティングゲート上へのプログラム可能な電荷の範囲は、対応するしきい電圧ウィンドウまたは対応する導通電流ウィンドウを定義する。
【0036】
あるいは、区分される電流ウィンドウ中の導通電流を検出する代わりに、コントロールゲートの試験用の所与のメモリ状態に対してしきい電圧を設定して、導通電流がしきい電流より低いか高いかを検出することも可能である。一実施では、しきい電流に対する導通電流の検出は、導通電流がビット線のキャパシタンスを通って放電する速度を調べることによって達成される。
【0037】
図3は、フローティングゲートがどの時点においても選択的に保存することができる4つの異なる電荷Q1〜Q4についてのソース−ドレイン電流ID とコントロールゲート電圧VCGとの間の関係を示す。4本の実線のID 対VCG曲線は、4つの可能なメモリ状態にそれぞれ対応してメモリセルのフローティングゲート上にプログラムできる4つの可能な電荷レベルを表す。一例として、セルの母集団のしきい電圧ウィンドウは、0.5V〜3.5Vの範囲に及ぶことができる。しきい値ウィンドウを0.5V毎の間隔で5つの領域に区分することによって、1つの消去状態および6つのプログラムされた状態をそれぞれ表す7つの可能なメモリ状態「Gr」、「A」、「B」、「C」、「D」、「E」、「F」を画定することができる。例えば、図に示されるように2μAの基準電流TREFが使用される場合、その曲線は、VCG=0.5Vおよび1.0Vによって区画されるしきい値ウィンドウの領域内でTREFと交差するため、Q1でプログラムされたセルは、メモリ状態「A」にあると見なすことができる。同様に、Q4はメモリ状態「E」にある。
【0038】
前の説明から分かるように、メモリセルに記憶させる状態が多くなるほど、しきい値ウィンドウはより細かく分割される。したがって、必要とされる分解能を達成できるためには、プログラミングおよび読み出し動作により高い精度が必要とされる。
【0039】
図4は、メモリセルのNORアレイの実施例を示す。メモリアレイ200では、メモリセルの各行が、そのソース14およびドレイン16によってデイジーチェーン方式で接続されている。この設計は、仮想接地設計と称されることがある。行内のセル10は、ワード線42などのワード線に接続されるコントロールゲート30を有する。列内のセルは、ビット線34および36などの選択されるビット線にそれぞれ接続されるソースおよびドレインを有する。
【0040】
図5Aは、NANDストリングに編成されるメモリセルのストリングを概略的に示す。NANDストリング50は、そのソースおよびドレインによってデイジーチェーン接続される一連のメモリトランジスタM1,M2・・・Mn(例えば、n=4,8,16またはそれ以上)から成る。1対の選択トランジスタS1,S2は、NANDストリングのソース端子54およびドレイン端子56をそれぞれ介して外部とのメモリトランジスタチェーンの接続を制御する。メモリアレイでは、ソース選択トランジスタS1がオンに切り換わると、ソース端子はソース線に接続される(図5Bを参照)。同様に、ドレイン選択トランジスタS2がオンに切り換わると、NANDストリングのドレイン端子はメモリアレイのビット線に接続される。チェーン内の各メモリトランジスタ10は、メモリセルとして機能し、意図されるメモリ状態を表すように所与の量の電荷を保存する電荷蓄積要素20を有する。各メモリトランジスタのコントロールゲート30は、読み出しおよび書き込み動作に関する制御を行う。図5Bで分かるように、NANDストリングの行の対応するメモリトランジスタのコントロールゲート30は、全て同一ワード線に接続されている。同様に、選択トランジスタS1,S2は、それぞれそのソース端子54およびドレイン端子56を介してNANDストリングへのアクセスを制御する。同様に、NANDストリングの行の対応する選択トランジスタのコントロールゲート32は、全て同一選択線に接続されている。
【0041】
NANDストリング内のアドレス指定されているメモリトランジスタ10がプログラミング中に読み出しされ、またはベリファイされる場合、そのコントロールゲート30には、適切な電圧が供給される。同時に、NANDストリング50内の残りのアドレス指定されていないメモリトランジスタは、そのコントロールゲート上に充分な電圧が印加されることによって、完全にオンに切り換えられる。このように、導通経路は、個々のメモリトランジスタのソースからNANDストリングのソース端子54に効果的に生成され、同様に、個々のメモリトランジスタのドレインについても、セルのドレイン端子56へ効果的に生成される。このようなNANDストリング構造を有するメモリデバイスは、米国特許第5,570,315号(特許文献9)、第5,903,495号(特許文献10)、第6,046,935号(特許文献11)に記載されている。
【0042】
図5Bは、図5Aに示されるような、NANDストリング50から構成される、メモリセルのNANDアレイ200の実施例を示す図である。NANDストリングの各列に沿って、ビット線36などのビット線が各NANDストリングのドレイン端子56に接続されている。NANDストリングの各バンクに沿って、ソース線34などのソース線が各NANDストリングのソース端子54に接続されている。さらに、NANDストリングのバンク内のメモリセルの行に沿ったコントロールゲートは、ワード線42などのワード線に接続されている。NANDストリングのバンク内の選択トランジスタの行に沿ったコントロールゲートは、選択線44などの選択線に接続されている。NANDストリングのバンク内のメモリセルの全体の行は、NANDストリングのバンク内のワード線および選択線上に適切な電圧をかけることによってアドレス指定することができる。NANDストリング内のメモリトランジスタが読み出されると、ストリングを通って流れる電流が読み出されるセルに保存されている電荷のレベルに本質的に依存するように、ストリング内の残りのメモリトランジスタは、それらの関連するワード線を介して確実にオンに切り換えられる。
【0043】
図6は、消去可能ブロックで構成されるメモリアレイの実施例を概略的に示す。電荷蓄積メモリデバイスのプログラミングは、デバイスの電荷蓄積要素にさらに電荷を追加するだけである。したがって、プログラム動作に先立ち、メモリセルの電荷蓄積要素内に存在する電荷を取り除く(または消去する)必要がある。EEPROMなどの不揮発性メモリは、セルのアレイ200の全体、あるいはアレイのかなりの部分のセル群が同時に(すなわち、一瞬に)電気的に消去される場合には、「フラッシュ」EEPROMと称される。一旦消去されると、次にこのセル群を再プログラムすることができる。同時に消去可能なセル群は、1つ以上のアドレス指定可能な消去単位300から構成される。消去単位またはブロック300は、一般に、1つ以上のページのデータを記憶し、このページはプログラミングおよび読み出しの最小単位であるが、2つ以上のページを単一の動作でプログラムしたり読み出したりすることもできる。各ページは、一般に、1つ以上のセクタのデータを記憶し、このセクタの大きさは、ホストシステムによって定義される。一例として、磁気ディスクドライブに関して定めされた規格に従う512バイトのユーザデータと、ユーザデータおよび/またはそれが記憶されるブロックに関するあるバイト数のオーバヘッド情報とから成るセクタが挙げられる。
【0044】
図6に示される実施例では、メモリアレイ200内の個々のメモリセルは、WL0−WLyなどのワード線42、およびBL0−BLxなどのビット線36によってアクセス可能である。メモリは、消去ブロック0,1・・・mなどの消去ブロックに編成される。図5Aおよび図5Bも参照すると、NANDストリング50が16個のメモリセルを含む場合、アレイ内のNANDストリングの第1のバンクは、選択線44およびWL0〜WL15のようなワード線42によってアクセス可能である。消去ブロック0は、NANDストリングの第1のバンクの全てのメモリセルを同時に消去させるように構成される。別のメモリアークテクチャでは、NANDストリングの1つ以上のバンクを同時に消去することができる。
【0045】
図7は、図1に示される読み出し/書き込み回路の好適な配置を概略的に示す。読み出し/書き込み回路270は、区分される読み出し/書き込みスタック400のバンクとして実施され、メモリセルの群(「ページ」とも称される)を並列に読み出しまたはプログラムさせることができる。前述したように、メモリアーキテクチャは、一連の読み出し/書き込み回路が対応する一連のメモリセルに並列に作用するようになっている。図8で分かるように、各読み出し/書き込みスタック400は、ページのサブセットに作用する読み出し/書き込み回路の集まりである。1ページ内にp個のメモリセルがある場合、各スタックは、k個のメモリセルのサブセットに作用する。読み出し/書き込みスタックの動作は、スタックコントローラ410によって制御される。
【0046】
図8は、図7に示される読み出し/書き込み回路の中の読み出し/書き込みスタックの配置を示す。各読み出し/書き込みスタック400は、一群のkビット線に対して並列に動作する。1ページがp=r×k個のビット線を有する場合、r個の読み出し/書き込みスタック400−1・・・400−rが存在する。
【0047】
並列の動作する区分されている読み出し/書き込みスタック400のバンク全体は、行に沿っているp個のセルのブロック(またはページ)を並列に読み出すかプログラムすることができる。したがって、行全体のセルに対してp個の読み出し/書き込みモジュールが存在する。各スタックはk個のメモリセルに作用するので、バンク内の読み出し/書き込みスタックの総数は、r=p/kによって与えられる。例えば、rがバンク内のスタックの数である場合、p=r×kとなる。一例のメモリアレイは、p=512バイト(512×8ビット)、k=8なので、r=512を有することができる。好適な実施形態では、ブロックは、一続きの行全体のセルである。別の実施形態では、ブロックは、行内のセルのサブセットである。例えば、セルのサブセットは行全体の半分または行全体の4分の1であってもよい。セルのサブセットは、一続きの連続するセルまたは1つおきのセル、あるいは所定数毎のセルであってもよい。
【0048】
400−1のような各読み出し/書き込みスタックは、本質的に、k個のメモリセルのセグメントに並列に作用するセンス増幅器212−1〜212−kのスタックを含む。好適なセンス増幅器は、米国公開特許出願第2004/0109357号(特許文献15)に開示され、その全体が本願明細書において参照により援用されている。
【0049】
スタックバスコントローラ410は、線411を介して読み出し/書き込み回路370に制御およびタイミング信号を供給する。スタックバスコントローラはそれ自体、線311を介してメモリコントローラ310に依存している。各読み出し/書き込みスタック間の通信は、相互接続するスタックバス431によって達成され、スタックバスコントローラ410によって制御される。制御線411は、スタックバスコントローラ410から制御およびクロック信号を読み出し/書き込みスタック400−1の構成要素に供給する。
【0050】
好適な配置では、スタックバスは、共通プロセッサ500とセンス増幅器212のスタックとの間で通信するSABus422と、プロセッサとデータラッチ430のスタックとの間で通信するDBus423とに区分される。
【0051】
データラッチ430のスタックは、データラッチ430−1〜430−kから成り、データラッチはそのスタックと関連する各メモリセルに対応している。I/Oモジュール440は、データラッチにI/Oバス231を介して外部とデータを交換させることができる。
【0052】
共通プロセッサは、エラー状態などのメモリ動作の状態を示すステータス信号を出力する出力部507も含む。ステータス信号を使用して、ワイヤードOR構成のフラグバス(FLAG BUS)509に結合されるn型トランジスタ550のゲートを駆動させる。フラグバスは、制御回路110によってプリチャージされるのが好ましく、ステータス信号が読み出し/書き込みスタックのいずれかによってアサートされるとプルダウンされる。
【0053】
図9は、図8の読み出し/書き込みスタックを示す機能ブロック図である。本質的に、各読み出し/書き込みスタックは、並列にページのサブセットであるk個のメモリセルに作用する。読み出し/書き込みスタックは、センス増幅器212−1〜212−kのスタックと、データラッチ430−1〜430−kのスタックとを含む。センス増幅器のスタックおよびデータラッチのスタックは、その中でデータを処理することができる共通プロセッサ500を共有する。どの時点においても、共通プロセッサ500は、所与のメモリセルに関係するデータを処理する。例えば、ビット線1に接続されるメモリセルでは、対応するセンス増幅器212−1が、検知されたデータをメモリセルからセンス増幅器ラッチ、SAラッチ214−1内にラッチする。同様に、対応する一連のデータラッチ430−1は、ビット線1に接続されるメモリセルと関連する入力または出力データを保存する。好適な実施形態では、一連のデータラッチ430−1は、情報の(q+1)ビットを保存するための一連のデータラッチ434−0・・・434−q、またはそれぞれDL0,DL1・・・DLqを含む。
【0054】
メモリセルのページは、共通ワード線を共有し、ページの各メモリセルは、ビット線を介してセンス増幅器に接続されている。メモリセルのページが読み出されるあるいは書き込まれる場合、メモリセルのページと関連するワード線から読み出されるあるいはそのワード線に書き込まれるとも言われる。同様に、メモリセルのページと関連するデータは、ページデータと称される。
【0055】
このような読み出し/書き込み回路は、2006年6月29日公開の米国公開特許出願第2006/0140007号(特許文献16)に記載され、その全体が本願明細書において参照により援用されている。
【0056】
図10は、選択されるワード線に印加される階段波形の形態をとる一連のプログラミング電圧パルスを示す。セルが所与の状態にプログラムされる場合、セルはフローティングゲートに徐々に増加する電荷を加えようとする度に、連続するプログラミング電圧パルスを受ける。プログラミングパルス間に、セルは、再読み出しまたはベリファイされて、区切り点レベルに対するソース−ドレイン電流を決定する。所望の状態に達したことがベリファイされたら、セルに対するプログラミングは停止する。使用されるプログラミングパルス列は、メモリセルの電荷蓄積単位内にプログラムされた蓄積電子に対抗するために、時間または振幅を増加させることもできる。プログラミング回路は、一般に、一連のプログラミングパルスを選択されるワード線に印加する。このようにして、コントロールゲートがワード線に接続されるメモリセルのページは、同時にプログラムすることができる。ページのメモリセルがその目標状態にプログラムされたら、残りのセルがプログラミングされ続けてページの全てのセルがプログラム−ベリファイされるまでの間、そのメモリセルはプログラムを禁止される。
【0057】
セル対セル結合(「ユーピン効果」)
1つのメモリセルの電荷蓄積要素にプログラムされる電荷は、隣接するメモリセルの電界に摂動を与える電界を生成する。メモリセルは、最初の電界環境でプログラム−ベリファイされて、その後、異なる電荷で続いてプログラムされる隣接セルによる異なる電界環境で読み出される場合、読み出し精度は、「ユーピン効果」と称される効果によって影響を受けることがある。半導体メモリの集積度がさらに上がる中で、メモリセル間の蓄積電荷による電界の摂動(ユーピン効果)は、セルの相互間隔が縮小するに連れてますます目立ってきている。
【0058】
ユーピン効果は、プログラム−ベリファイの時点と隣接セルがプログラムされた後の読み出しの時点との間でセルの電界環境の非対称性を最小限に抑えることによって、緩和することができる。この問題は、メモリアレイのビット線をはさんだ行に沿っている隣接セル(BL−BLユーピン効果)、およびワード線をはさんだ列に沿っている隣接セル(WL−WLユーピン効果)に影響を及ぼす。
【0059】
BL−BLユーピン効果を低減する一方法は、2値プログラミングの各パスの間の電荷の大きな変動を防止する複数ビット符号化を採用することである。このような特性を有する好適な符号化は、「LM」符号化によって与えられる。
WL−WLユーピン効果を低減する一方法は、最適な順序でメモリアレイのページをプログラムすることである。
WL−WLユーピン効果を訂正する一方法は、「先行」または「LA」訂正を使用してプログラムされたページを読み出すことである。
【0060】
2ビットまたは4状態メモリの例示的な好適「LM」符号化
図11の(0)〜(3)は、好適な2ビット論理符号(「LM」符号)で符号化される4状態メモリの論理ページ毎プログラミングを示す。ページの各メモリセルからの2つの符号ビットは、2つの論理ページを形成し、各ページは、そのページのあらゆるメモリセルから与えられる1つの符号ビットから形成される。プログラミングは、下ページに続いて上ページに論理ページ毎に実施することができる。この符号は、耐故障性を提供し、BL−BLユーピン効果を軽減する。図11の(0)は、4状態メモリアレイのしきい電圧分布を示す。各メモリセルの可能なしきい電圧は、4つの領域に区分され4つの可能なメモリ状態「Gr」、「A」、「B」および「C」を画定するしきい値ウィンドウの範囲にわたる。「Gr」は、狭い分布内の消去状態である接地状態である。「A」、「B」および「C」は、次第にプログラムされた状態である。読み出しの間に、4つの状態は、3つの境界区切り点DA 、DB およびDC によって画定される。
【0061】
図11の(3)は、4つの可能なメモリ状態を表す、好適な2ビットのLM符号化を示す。各メモリ状態(すなわち、「Gr」、「A」、「B」および「C」)は、1対の「上位、下位」符号ビット、すなわち「11」、「01」、「00」および「10」をそれぞれ表す。LM符号化は、上位および下位ビットが状態「A」および「C」について逆になる点で従来のグレー符号とは異なる。「LM」符号は、米国特許第6,657,891号(特許文献17)に開示され、電荷の大きな変化が必要とされるプログラム動作を防ぐことによって、隣接するフローティングゲート間の電界効果結合を低減させる利点がある。図11の(2)および(3)で分かるように、各プログラミング動作は、しきい電圧VTの緩やかな変化から明らかなように、電荷蓄積単位の電荷の変化を緩やかにする。
【0062】
この符号化は、2つの符号ビット、「下位」および「上位」ビットを別々にプログラムおよび読み出しすることができるように設計される。下位ビットをプログラミングする場合、セルのしきい値レベルは、しきい値ウィンドウの「消去」領域のままであるか、あるいは「中間下位」領域に移動する。上位ビットをプログラミングする場合、このような2つの領域のいずれかにあるセルのしきい値レベルは、しきい値ウィンドウの「中間下位」領域のわずかに高いレベルにさらに上昇する。
【0063】
図11の(1)および(2)は、2ビットのLM符号を使用する下ページプログラミングを示す。耐故障性LM符号は、どんなその後の上ページプログラミングも避けてどんな中間状態も通過するように設計される。したがって、1回目の下ページプログラミングは、下位ビットが「1」の場合、または下位ビットが「0」の場合に「中間下位」状態にプログラムされる場合、セルを「消去」または「Gr」状態のままにさせる。基本的に、「Gr」または「接地」状態は、明確に定義される領域のしきい値内にプログラムされた深い消去状態を有することによる狭い分布を有する「消去」状態である。「中間下位」状態は、メモリ状態「A」と「B」との間をまたがる広い分布のしきい電圧を有することができる。プログラミングの間、「中間下位」状態は、DA のような粗い境界に対してベリファイされる。
【0064】
図11の(2)および(3)は、2ビットのLM符号を使用する上ページプログラミングを示す。上ページプログラミングは、1回目の下ページプログラミングに基づいて実施される。所与の上位ビットは、下位ビットの値に応じて異なるメモリ状態を表すことができる。2回目のプログラミングでは、セルが上位ビットが「1」のとき下位ビットが「1」、すなわち(1,1)であれば、そのセルに対してプログラミングは行わず「Gr」の状態のままである。上位ビットが「0」のとき下位ビットが「1」、すなわち(0,1)であれば、セルは、「Gr」状態から「A」状態にプログラムされる。「A」にプログラミングする間、ベリファイは境界DVA に対して行われる。その一方で、セルが上位ビットが「0」のとき下位ビットが「0」、すなわち(0,0)であれば、セルは、「中間下位」状態から「B」にプログラムされる。プログラムのベリファイは境界DVB に対して行われる。同様に、セルが上位ビットが「1」のとき下位ビットが「0」、すなわち(1,0)であれば、セルは、「中間下位」状態から「C」にプログラムされる。プログラムのベリファイは境界DVC に対して行われる。上ページプログラミングは、「Gr」状態または「中間下位」状態から次の隣接するメモリ状態へのプログラミングを含むだけであるため、プログラミングの度に電荷は少しも変化しない。さらに、「Gr」からおおよその「中間下位」状態への下ページプログラミングは、時間を節約するようになっている。各プログラミングのパスでは、プログラミングパルスが増大しながら再開され、最初のVpgm0から上昇している(図10参照)。
【0065】
別の好適な実施形態では、「高速パス書き込み」プログラミング技術が実施される。セルのプログラミングがベリファイ境界点付近に近づくと、プログラミングは、ビット線電圧の適切なバイアスまたはプログラミングパルスの修正によってより低速(すなわち、より精密な)モードに切り換えられる。このようにして、目標状態を通り過ぎる危険なしで急速に収束するように、最初により大きいプログラミング段階を使用することができる。「QPW」プログラミングのアルゴリズムは、「Methods for Improved Program-Verify Operations in Non-Volatile Memories 」という2005年12月29日出願の米国特許出願第11/323,596号(特許文献18)に開示され、その全体が本願明細書において参照により援用されている。
【0066】
図12の(0)〜(2)は、好適な2ビット論理符号(「LM」符号)で符号化される4状態メモリのフルシーケンスプログラミングを示す。図11の(0)と同様に、図12の(0)は、接地状態「Gr」としての消去状態および次第によりプログラムされたメモリ状態「A」、「B」および「C」を有する4状態メモリアレイのしきい電圧分布を示す。図12の(1)および(2)は、「Gr」状態から直接プログラムされる目標状態を識別するのに2ビット全てを使用することができるフルシーケンスプログラミング方式を示す。プログラミングパルスは、1つのプログラミングパスでVpgm0から単調に増加し、「11」を「A」状態にプログラミングするためにしきい値基準DVA を使用し、続いて「01」を「B」状態にプログラミングするためにDVB を使用し、最後に「10」を「C」状態にプログラミングするためにDVC を使用してベリファイする。メモリセルはプログラム−ベリファイされると、プログラムを禁止される。最後のセルがプログラム−ベリファイされると、そのページに対するプログラミングが終了する。
【0067】
図13Aは、2ビットのLM符号で符号化される4状態メモリの下位ビットを識別するのに必要とされる読み出し動作を示す。符号化は、上ページがプログラムされたか否かに依存している。上ページがプログラムされた場合、下ページの読み出しには、境界しきい電圧DB に対する読み出しBの1つの読み出しパスが必要である。その一方で、上ページがまだプログラムされていなかった場合には、下ページは「中間」状態にプログラムされ(図11の(2)参照)、読み出しBはエラーを発生させることになる。むしろ、下ページの読み出しには、境界しきい電圧DA に対する読み出しAの1つの読み出しパスが必要となる。2つの場合を識別するために、上ページがプログラムされるとき、フラグ(「LM」フラグ)が上ページに(通常オーバヘッドまたはシステム領域に)書き込まれる。読み出しの間、上ページがプログラムされたので読み出しB動作が実施されるとまず推定される。LMフラグが読み出される場合、その推定は正しいものであり、読み出し動作が行われる。その一方で、最初の読み出しがフラグを発生しない場合、上ページがプログラムされなかったので下ページは読み出しA動作によって読み出す必要があることを示している。
【0068】
図13は、2ビットのLM符号で符号化される4状態メモリの上位ビットを識別するのに必要とされる読み出し動作を示す。図から明らかなように、上ページの読み出しには、境界しきい電圧DA およびDC に対して、それぞれ読み出しAおよび読み出しCの2パス読み出しが必要となる。同様に、上ページの復号化は、上ページがまだプログラムされていない場合には、「中間」状態によって区別がつかなくなる可能性もある。LMフラグは、上ページがプログラムされたか否かを再び示す。上ページがプログラムされていない場合、読み出しデータは、上ページデータがプログラムされていないことを示す「1」にリセットされる。
【0069】
「フルシーケンス」読み出しまたは「全ビット」読み出しの場合のように、読み出しが画定される全ての一連の状態を通ってスキャンする場合、読み出しは、基準しきい電圧DA 、DB およびDC によってそれぞれ画定されるメモリ状態「Gr」、「A」、「B」および「C」に対して実施される。フルシーケンス読み出しによって全ての可能な状態が識別されるので、LMフラグについて何もチェックする必要がない。この読み出しモードでは、全ビットが同時に決定される。
【0070】
3ビットまたは8状態メモリの例示的な好適「LM」符号化
2ビットのLM符号の実施例は、同様に3ビットまたは多数ビットにまで拡張することができる。
図14の(0)〜(4)は、好適な3ビット論理符号(「LM」符号)で符号化される8状態メモリのプログラミングを示す。ページの各メモリセルからの3ビットは、3つの論理ページを形成し、プログラミングは、論理ページ毎に実施することができる。この符号は、前述した2ビットのLM符号化に類似し、8つの可能なメモリ状態を符号化するために3ビットへと拡張したものである。図14の(0)は、8状態のメモリ状態のしきい電圧分布を示す。各メモリセルの可能なしきい電圧は、8つの領域に区分されて8つの可能なメモリ状態「Gr」、「A」、「B」、「C」、「D」、「E」、「F」および「G」を画定するしきい値ウィンドウの範囲にわたる。「Gr」は、狭い分布内の消去状態である接地状態である。「A」〜「G」は、7つの次第にプログラムされた状態である。読み出しの間、8つの状態は、7つの境界区切り点DA 〜DG によって画定される。
【0071】
図14の(4)は、8つの可能なメモリ状態を表す、好適な3ビットのLM符号化を示す。8つの各メモリ状態は、3つの「上位、中位、下位」ビット、すなわち「111」、「011」、「001」、「101」、「100」、「000」、「010」および「110」によってそれぞれ表される。図14の(1)および(4)で分かるように、各プログラミング動作は、しきい電圧VT の緩やかな変化から明らかなように、電荷蓄積単位の電荷の変化を緩やかにする。
【0072】
この符号化は、3符号ビット、「下位」、「中位」および「上位」ビットを別々にプログラムおよび読み出しすることができるように設計される。したがって、1回目の下ページプログラミングは、下位ビットが「1」の場合、または下位ビットが「0」の場合に「中間下位」状態にプログラムされる場合、セルを「消去」または「Gr」状態のままにさせる。基本的に、「Gr」または「接地」状態は、狭い領域のしきい値内にプログラムされた深い消去状態を有することによる狭い分布を有する「消去」状態である。「中間下位」状態は、メモリ状態「B」と「D」との間をまたがる広い分布のしきい電圧を有することができる。プログラミングの間、「中間下位」状態は、DB のような粗い区切り点しきい値レベルに対してベリファイすることができる。中位ビットをプログラミングする場合は、セルのしきい値レベルは、下ページプログラミングで生じる2つの領域のうちの1つから開始し、4つの可能な領域のうちの1つに移動する。上位ビットをプログラミングする場合は、セルのしきい値レベルは、中ページのプログラミングで生じる4つの可能な領域のうちの1つから開始し、8つの可能なメモリ状態のうちの1つに移動する。
【0073】
一般に、メモリセルのページは並列にプログラムされ、各メモリセルは3ビットを有する。したがって、メモリセルのページは3つの論理データページを有し、各論理データページはページのあらゆるセルのうちの1つの符号ビットから与えられる。したがって、「下位ビット」ページは、ページのあらゆるメモリセルのうちの下位ビットから形成され、「中位ビット」ページは、あらゆるセルのうちの中位ビットから形成され、「上位ビット」ページは、ページのあらゆるセルのうちの上位ビットから形成される。
【0074】
図14の(1)および(2)は、3ビットのLM符号を使用する下ページプログラミングを示す。耐故障性LM符号は、その後のどんな上ページプログラミングも避けてどんな中間状態も通過するように設定される。したがって、1回目の下ページプログラミングは、下位ビットが「1」、すなわち(x,x,1)の場合、または下位ビットが「0」、すなわち(x,x,0)の場合に「中間下位」状態にプログラムされる場合、セルを「消去」または「Gr」状態のままにさせる。基本的に、「Gr」または「接地」状態は、明確に定義される領域のしきい値内にプログラムされた深い消去状態を有することによる狭い分布を有する「消去」状態である。「中間下位」状態は、メモリ状態「B」と「D」との間をまたがる広い分布のしきい電圧を有することができる。プログラミングの間、「中間下位」状態は、DB のような境界に対してベリファイされる。
【0075】
図14の(2)および(3)は、3ビットのLM符号を使用する中ページプログラミングを示す。中ページプログラミングは、1回目の下ページプログラミングに基づいて実施される。所与の中位ビットは、下位ビットの値に応じて異なるメモリ状態を表すことができる。2回目のプログラミングでは、セルが中位ビットが「1」のとき下位ビットが「1」、すなわち(x,1,1)であれば、そのセルに対してプログラミングは行わず「Gr」の状態のままである。中位ビットが「0」のとき下位ビットが「1」、すなわち(x,0,1)であれば、セルは、「Gr」状態から「A」と「B」との間をまたがる第1の「中間中位」状態にプログラムされる。第1の「中間中位」状態にプログラミングする間、ベリファイは境界DVA に対して行われる。その一方で、セルが中位ビットが「0」のとき下位ビットが「0」、すなわち(x,0,0)であれば、セルは、「中間下位」状態から「C」と「D」との間をまたがる第2の「中間中位」状態にプログラムされる。プログラムのベリファイは境界DVC に対して行われる。同様に、セルが中位ビットが「1」のとき下位ビットが「0」、すなわち(x,1,0)であれば、セルは、「中間下位」状態から「E」と「F」との間をまたがる第3の「中間中位」状態にプログラムされる。プログラムのベリファイは境界DVEに対して行われる。
【0076】
図14の(3)および(4)は、3ビットのLM符号を使用する上ページプログラミングを示す。上ページプログラミングは、1回目および2回目、すなわち、下ページおよび中ページプログラミングに基づいて実施される。所与の上位ビットは、下位および中位ビットに応じて異なるメモリ状態を表すことができる。3回目のプログラミングでは、セルが上位ビットが「1」のとき下位および中位ビットが「1」、すなわち(1,1,1)であれば、そのセルに対してプログラミングは行わず「Gr」の状態のままである。その一方で、上位ビットが「0」のとき下位および中位ビットが「1」、すなわち(0,1,1)であれば、セルは、「Gr」状態から「A」状態にプログラムされる。「A」状態にプログラミングする間、ベリファイは境界DVA に対して行われる。
【0077】
同様に、セルが上位ビットが「0」のとき下位および中位ビットがそれぞれ「0」および「1」、すなわち(0,0,1)であれば、セルは、第1の「中間中位」状態から「B」にプログラムされる。プログラムのベリファイは境界DVB に対して行われる。セルが上位ビットが「1」のとき下位および中位ビットがそれぞれ「1」および「0」、すなわち(1,0,1)であれば、セルは、第1の「中間中位」状態から「C」にプログラムされる。プログラムのベリファイは境界DVC に対して行われる。
【0078】
同様に、セルが上位ビットが「1」のとき下位および中位ビットがそれぞれ「0」および「0」、すなわち(1,0,0)であれば、セルは、第2の「中間中位」状態から「D」にプログラムされる。プログラムのベリファイは境界DVD に対して行われる。セルが上位ビットが「0」のとき下位および中位ビットがそれぞれ「0」および「0」、すなわち(0,0,0)であれば、セルは、第2の「中間中位」状態から「E」にプログラムされる。プログラムのベリファイは境界DVE に対して行われる。
【0079】
同様に、セルが上位ビットが「0」のとき下位および中位ビットがそれぞれ「1」および「0」、すなわち(0,1,0)であれば、セルは、第3の「中間中位」状態から「F」にプログラムされる。プログラムのベリファイは境界DVF に対して行われる。セルが上位ビットが「1」のとき下位および中位ビットがそれぞれ「0」および「1」、すなわち(1,1,0)であれば、セルは、第2の「中間中位」状態から「G」にプログラムされる。プログラムのベリファイは境界DVG に対して行われる。
【0080】
上ページプログラミングは、「Gr」状態または「中間中位」状態のうちの1つから次の隣接するメモリ状態へのプログラミングを含むだけであるため、プログラミングの度に電荷は少しも変化しない。これはBL−BLユーピン効果を軽減するのに役立つ。
【0081】
4ビット、5ビットおよびそれ以上のビットのLM符号化についても、同様な原理が適用され、nビット符号は、n個のデータページを有し、各ページは符号の所与のビットを与えるページ内のあらゆるセルから形成される。さらに重要なことは、下位ビットページから上位ビットページにプログラミングすることでセルの電荷の変化が緩やかになり、これによって、メモリセルのページ内のユーピン効果による摂動量を抑制することである。
【0082】
ワード線間のユーピン効果
摂動が隣接するワード線上のメモリセル間に存在するWL−WLユーピン効果については、好適なプログラミング方式を使用するプログラミングの間に軽減することができる。これによって摂動が効率的に半分に低減される。残りの半分は、好適な「先行」読み出し方式を使用することによって読み出し中に訂正することもできる。
【0083】
好適なプログラミング方式は、最適なシーケンスでプログラムされたワード線に関連するページを有する。例えば、あらゆる物理ページが2値データのページを保持する2値メモリの場合は、ページは、下から上のように一貫した方向に沿って順にプログラムされるのが好ましい。このようにして、特定ページがプログラムされる場合、その下側のページも既にプログラムされている。現在のページ上にどんな摂動効果が存在しても、現在のページはこのような摂動を考慮してプログラム−ベリファイされていると見なされる。本質的には、ページをプログラミングするシーケンスは、プログラムされている現在のページがプログラムされた後で受ける環境の変化を最小限にできるようにするべきである。したがって、各プログラムされたページは、その上側のページによって摂動を受けるだけであり、このプログラムシーケンスによって、WL−WLユーピン効果は効率的に半分に低減される。
【0084】
メモリセルの各物理ページが複数状態であり、その結果得られる複数の論理データページが異なるパスでプログラムされるメモリの場合には、シーケンスはそれほど単純ではない。例えば、2ビットメモリでは、ワード線に関連する各物理ページは、各セルからの2ビットデータの単一ページ、または各セルからそれぞれ1ビットデータの下位および上位ビットによる2つの別々の論理ページと見なすことができる。したがって、物理ページは、2ビットを用いる1パス、または最初に下位ビットページを用いて次に上位ビットページを用いる2つの別々のパスでプログラムすることができる。各物理ページが2つの別々のパスでプログラムされる場合、修正された最適なシーケンスが可能である。
【0085】
図15は、2ビットのメモリセルを有し、そのページが隣接するワード線上のメモリセル間のユーピン効果を最小限に抑えるように最適なシーケンスでプログラムされるメモリの実施例を示す。便宜上、表記は、物理ページP0,P1,P2・・・がそれぞれワード線W0,W1,W2・・・に存在するようにする。2ビットメモリでは、各物理ページは、それに関連する2つの論理ページ、すなわち、それぞれ2値データを有する下位ビットおよび上位ビット論理ページを有する。一般に、特定の論理ページは、LP(Wordline.logical_page)で与えられる。例えば、W0上のP0の下位ビットおよび上位ビットページは、それぞれLP(0.0)およびLP(0.1)と名付けられ、W2上の対応するページは、それぞれLP(2.0)およびLP(2.1)となる。
【0086】
本質的に、論理ページのプログラミングは、プログラムされている現在のページが、プログラムされた後で受ける環境の変化を最小限にできるように、シーケンスnに従う。この場合もやはり、下から上への1つの一貫した方向にだんだんと増加しながら移動することは、片側からの摂動を消すのに役立つ。さらに、各物理ページは、プログラミングが物理ページを上昇しながら2つのプログラミングパスを有することができるため、現在の上位ビットページをプログラムする場合に摂動効果が考慮されるように、隣接する下位ビットページが既にプログラムされた後で現在の上位ビットページをプログラムする方が良い。したがって、プログラミングがLP(0.0)から開始される場合、シーケンスは、0,1,2・・・n・・・のページプログラミング順序で割り当てられ、LP(0.0),LP(1.0),LP(2.0),LP(1,1),LP(3,0),LP(2.1)・・・となる。
【0087】
読み出し中のWL−WLユーピン効果の訂正(先行または「LA」読み出し)
LA読み出し方式は、「Read Operations for Non-Volatile Storage that Includes Compensation for Coupling」という2006年10月公開の米国公開特許出願第2006/0221714号(特許文献19)に開示され、その全体が本願明細書において参照により援用されている。基本的に、LA(先行)訂正を用いる読み出しは、隣接するワード線上のセルにプログラムされたメモリ状態を調査して、現在のワード線上で読み出されているメモリセルに影響するどんな摂動効果も訂正する。前述した好適なプログラミング方式に従ってページがプログラミングされた場合、隣接するワード線は、現在のワード線の真上にあるワード線からとなる。LA訂正方式には、現在のページの前に読み出される隣接するワード線上のデータが必要となる。
【0088】
例えば、図15を参照して、読み出される現在のページ(m)がWLm(例えば、WL1)上にある場合、LA読み出しは、次のワード線WLm+1(例えば、WL2)をまず読み出し、データ結果を1つのデータラッチに保存する。次に、現在のページは、WLm+1の結果を考慮して検知される。
【0089】
図15に関係して前述したように、好適なプログラミングシーケンスを用いる2ビットのLM符号では、下ページ(例えば、LP(1.0))は、DB またはDB 付近(中間状態)にプログラムされる。上ページ(例えば、LP(1.1))は、WLm+1の下ページ(例えば、LP(2.0))がプログラムされて始めてプログラムされる。したがって、下ページのWL−WLユーピン効果は完全になくなる。したがって、データ依存訂正は、「A」および「C」状態に対して実施されるだけであり、「Gr」または「B」状態に対しては実施されない。プログラミングがこのような最適化された順序に従わない場合、データ依存訂正は、4つの状態全てに対して実施される。
【0090】
LA読み出しの好適な実施では、ラッチを使用してLA読み出しが「A」または「C」状態もしくは「Gr」または「B」状態を検出したかどうかを示す。前者の場合、訂正は必要とされるが、後者の場合、訂正は必要とされない。現在の読み出しS1 (n)において対応するセルは、検知中にワード線の電圧を上げるなどのように、検知パラメータを適切に調整することによって訂正される。訂正は、調整をして1度検知し、調整なしで改めて検知することによって、現在のページ全体について行われる。したがって、ページの各セルのデータは、ラッチが訂正を示すか否かに応じてこのような2回の検知から選択される。
【0091】
LM符号を用いる論理ページ毎の読み出しは、(第2のパス読み出しまたは読み出しデータのリセットによって)読み出し結果が確定される前にLMフラグをチェックする必要がある(図13Aおよび図13Bに関連する記載を参照)。LA訂正は、現在のワード線を読み出す前にまず次のワード線の読み出しを行う必要がある。したがって、次のワード線の読み出しからのLMフラグと現在のワード線からのLMフラグとの両方が、状態マシンによってチェックされる必要がある。これら2つのLMフラグは、I/Oバスが読み出しデータをトグルするために使用中でないときに、I/Oバスを介して状態マシンに出力される必要がある。「全ビット」または「フルシーケンス」読み出しの場合には、LMフラグのチェックは必要ない。
【0092】
1つのワード線から別のワード線へのデータのコピー
図16は、メモリアレイ内で第1の場所のメモリセルのページのデータが第2の場所のメモリセルのページにコピーされるページコピー動作を示す。一般に、第1の場所は、1つの消去ブロック(例えば、ブロック1)内の第1のワード線WL−1を共有するメモリセルの第1のページ(ページ1)からであり、第2の場所は、別の消去ブロック(例えば、ブロック2)内の第2のワード線WL−2にある第2のページ(ページ2)からである。メモリセルの両方のページは、共通の一連のビット線、したがって、同様な一連の読み出し/書き込み回路を共有する(図6および図7を参照)。このような状況は、第1の消去ブロックが、有効データと不要データとが混ざったデータを含む統合またはガベージコレクション動作中に発生する。有効データは、第1の消去ブロックが消去され再利用される前に第2の消去ブロックにコピーされることによって救済される。
【0093】
図16は、データがメモリチップを離れることを必要としない従来の簡単なページコピーの実施を示す。この実施は、センス増幅器によって検知されデータラッチ430内にラッチされる、ワード線WL−1のページ1からのデータを有する(図9参照)。次に、ラッチされたデータはプログラムデータとして機能し、WL−2のページ2にプログラムし直される。ラッチされたデータは、I/O440を介してメモリチップから離れる必要がない。
【0094】
図17は、メモリ内の目的場所にコピーされる前に外部コントローラによって読み出されたデータの任意のエラーが訂正される好適なページコピー動作を示す。この配置は、図14に示される配置と類似しているが、読み出しデータがデータラッチ430内にラッチされた後、I/O440から外部メモリコントローラ150に転送されてデータがチェックされエラーが訂正される点が異なる。データが1つの場所から別の場所にコピーされると、データは、トグルアウトされてチェックされるか(例えば、エラーについて)、更新されるか(ヘッダの更新など)、その両方か(検知されたエラーの訂正など)、あるいは暗号化および復号または圧縮などの他の何らかの目的のためにデータ処理される場合が多い。
【0095】
一般に、ECC(誤り訂正符号)がデータページについて計算され、そのデータページとともに保存される。データページが読み出されると、関連するECCに対してチェックされ、所定数のビットエラーまでECCによって訂正することができる。通常、メモリアレイおよび周辺回路を含むメモリチップ100(図1参照)は、ECCエラーを評価して訂正するのに充分な計算能力を有していない。ECC処理は、外部メモリコントローラ150によって実施される。そのため、読み出しデータは、メモリチップからメモリコントローラにECC処理のために転送される必要がある。そうであれば、訂正後のデータは、メモリコントローラからデータラッチまで送り返される。データラッチ内のデータがECC処理されると、そのページを目的場所にプログラミングし直す用意ができる。
【0096】
キャッシュページコピー
データラッチと外部メモリコントローラとの間でデータを往復させるのに時間がかかる。前述したように、多数のページを含む消去ブロックでは、データを最後まで再利用する必要がある。最新版のデータが新しいブロックにコピーされてからそのブロックは消去され再利用される。メモリデバイスのさらに新しい世代では、ブロックの大きさおよびページの大きさが増大し、各メモリセルがより多くのビットを記憶できるようになるに従い、ブロックコピー時間は長くなる可能性がある。さらに、WL−WLユーピン効果を訂正するために隣接するワード線(「WL」)の読み出しを含むことがあるので、読み出しはさらに多くのパスを含む可能性がある。
【0097】
一般に、ブロックコピーの性能を改善するため、プログラム時間内にデータ往復時間の少なくとも一部を隠すことによって、動作を短縮することができる。キャッシュページコピーは、2つの時間のかかる動作、データI/Oおよびプログラミングが同時に行われるように実施される。読み出しおよびプログラム動作がともにメモリの主要動作を含みながらインタリーブすると同時に、データラッチI/Oおよびプログラム動作を同時に行うことができる。したがって、前のページをプログラムしながら読み出しデータの現在のページをトグルアウトして修正することができる。
【0098】
従来の読み出し動作では、単一の論理ページの読み出しに対してただ1つのデータラッチが必要とされる。したがって、各セルについて、1つのラッチを使用して現在の読み出しからの単一のビットを保存し、別のラッチを使用して前の読み出しからのビットをキャッシュする。このようにして、現在の読み出しからのビットをトグルアウトしてデータを処理した後でラッチに戻すことができると同時に、既にデータ処理された前のビットのプログラミングを行うことができる。
【0099】
データ再配置およびキャッシュ動作の様々な形態は、2006年10月19日公開の米国公開特許出願第2006/0233026号(特許文献20)、2006年10月5日公開の米国公開特許出願第2006/0221704号(特許文献21)、2005年11月17日公開の米国公開特許出願第2005/0257120号(特許文献22)、2006年6月22日公開の米国公開特許出願第2006/0136687号(特許文献23)、および米国特許第6,266,273号(特許文献24)に記載され、その全体が本願明細書において参照により援用されている。
【0100】
WL−WLフローティングゲート結合効果を補償するため、LA読み出し(先行)読み出しが実施され、隣接するWLm+1にプログラムされた状態による摂動に基づいてWLmの読み出しを訂正する。摂動効果を補償するために、補償後の読み出しは、WLm+1で生じる4つのメモリ状態の各例に対して複数回検知される現在のWLmを含む。したがって、隣接するWLm+1からの読み出しデータを保存してからそれに応じて現在のWLmを読み出して補償することができるように、ラッチを設ける必要がある。2ビットメモリシステム(「D2」)の場合、WLm+1の読み出しのために2つのデータラッチが追加で必要とされる。3ビットメモリシステム(「D3」)の場合、WLm+1の読み出しのために3つのデータラッチが追加で必要とされる。
【0101】
WLm+1およびWLmのデータをともに記憶してさらにキャッシュを行うのに充分なラッチを有するメモリデバイスを構築することが可能であるが、ページの各メモリセルに最小限のラッチを使用しながらLA読み出しおよびキャッシュページコピーも実施することができることが望まれる。
【0102】
本発明の一般的な形態によれば、各メモリセルについて最小限の数のn+1個のデータラッチを効率的に使用することにより、nビットメモリは、隣接するワード線に記憶されるデータおよび効率的なデータの再配置を補償しながら読み出しを実施することができる。したがって、2ビットメモリは、読み出しを実施するために、メモリセル当たり3つのデータラッチを必要とするだけである。同様に、3ビットメモリは、隣接するワード線に記憶されるデータおよび効率的なデータの再配置を補償しながら読み出しを実施するために、メモリセル当たり4つのデータラッチを必要とするだけである。
【0103】
各セルが再配置されるnビットデータを記憶するページメモリセルでは、nビットデータのページを読み出し、各nビットデータからの1つのビットデータのn個の論理ページがラッチされるようにnビットラッチの対応するページ内にこれをラッチし、データ処理のためにn個の論理データページの各ページを所定の順序でページ毎に送り出し、いかなる修正ビットも元のラッチに送り返し、と同時に処理データをページ毎にプログラムすることによって達成される。このようにして、データをトグルアウトおよびバックする時間の少なくとも一部は、書き込み動作の裏側に隠すことができ、これによって、ページコピーの性能を改善することができる。
【0104】
特に、nビット符号の全てのビットが全てのメモリ状態を分離するのに使用できるわけではない場合でも、プログラミングに使用可能な第1のデータページにより、プログラミングが消去状態から開始して所与のプログラムされた状態に達することができるように、論理データページは、データ処置のために所定の順序で送り出される。同様に、追加で使用できるページによって、プログラミングはさらに高くプログラムされた状態まで継続することができる。全ての符号ビットが使用可能になると、ページのあらゆるメモリセルの目標状態が定義されるため、プログラミングを終了することができる。
【0105】
図18は、本発明の一般的な実施形態によるキャッシュコピー方式についてのフローチャートである。前述したように、一般に、ページコピーは、ブロック統合またはガベージコレクション動作中のシステム動作としてメモリデバイスに導入されている。さらにホストによって要求されるホスト動作の場合もある。好適な実施形態では、この動作は、図1に示される状態マシン112によって駆動される制御回路110の制御のもとで実施される。
ステップ600:個別のメモリセルが、わずかにプログラムされた状態からほとんどプログラムされた状態までの範囲の複数のメモリ状態のうちの1つにそれぞれプログラム可能である、メモリセルのアレイを提供する。
ステップ602:複数のメモリ状態のそれぞれを符号化するために複数の符号ビットを有する複数ビット符号を提供する。
ステップ610:より多くの上位符号ビットが使用可能であるほどより多くの高くプログラムされた状態が復号可能であるような符号ビットのビット順序をあらかじめ決める。
ステップ620:第1のセル群のメモリセルから読み出してそのメモリ状態を決定する。
ステップ622:複数ビット符号を用いて各メモリ状態を複数ビットデータとして符号化する。
ステップ624:第1のセル群のあらゆるメモリセルの複数ビットデータをラッチする。
ステップ626:符号ビットの数と同数のデータ群にラッチされたデータをグループ分けする。ただし各データ群は、第1のセル群のあらゆるメモリセルから同じ符号ビットを集めたものである。
ステップ630:各データ群のビットをデータ処理のために外部ホストまたはコントローラに送り出し、各データ群を更新するためにいかなる修正ビットも送り返すことによって、所定のビット順序に従ってデータ群毎にデータ群を処理する。
ステップ632:ステップ630の何れかのデータ群が何れかのデータ群の処理と同時に処理された場合は、第2のメモリセル群の個々のメモリセルを、処理後のデータ群からの利用可能な符号ビットで復号化できる最も高いメモリ状態までプログラミングする。
ステップ634:ステップ630およびステップ632を、複数ビット符号の全ての符号ビットがプログラミングを完了させるために利用可能になるまで繰り返す。
【0106】
図19の(0)〜(3)は、図18に示されるキャッシュコピー方式の符号化およびプログラミング部分について2ビットのLM符号を使用する実施例を示す。図11の(0)と同様に、図19の(0)は、4状態メモリアレイのしきい電圧分布を示す。この場合、ステップ600でのメモリセルは、4つのメモリ状態のうちの1つにそれぞれプログラム可能である。図19の(3)は、ステップ602で提供されるような、4つの各メモリ状態についての例として示す2ビットのLM符号化を示す。
【0107】
図19の(3)で示されるように、2ビットのLM符号は、2つの符号ビット、すなわち、下位ビットおよび上位ビットを有する。ページキャッシュコピーの場合、コピー先は最初は消去メモリセルのページであり、その最初のしきい値分布は、図19の(1)に示される。
【0108】
図19の(1)〜(3)は、本発明の好適な実施形態による、2ビットのLM符号の適応フルシーケンスプログラミングを示す。このプログラミングモードは、図11の(1)〜(3)に示される下および上ページの2パスプログラミングとはかなり異なり、図12の(1)および(2)に示されるフルシーケンスプログラミングとも異なる。
【0109】
前述したフルシーケンスプログラミングでは、全ての可能なメモリ状態を分離するために、複数ビット符号の全てのビットが使用可能である。プログラミングは最も少なくプログラムされた「Gr」状態から開始され、全てのプログラム状態は並列にプログラムされる。目標状態として「A」状態を有するこれらのメモリセルは、「A」状態にプログラムされたらさらにプログラムされることを禁止され、同時に「B」および「C」を有する他のメモリセルはさらにプログラムされる。その結果、目標状態として「B」を有するメモリセルもさらにプログラムされることを封じられる。同様にして、最終的に目標状態として「C」を有するメモリセルがこれに続く。
【0110】
好適な実施形態の適応フルシーケンスプログラミングでは、複数ビット符号の全てのビットがすぐに利用できるわけではない。一般に、最初は1つのビットが使用可能であり、次いで、次のビットさらに次のビットが続いて、最後に複数ビット符号の全てのビットがそろう。全てのビットが使用可能になるまで待ってからプログラミングが開始できるのではなく、適応プログラミングモードでは、全ビットより少ないビットでもプログラミングが可能になる。最初に利用可能なビットが、最初の2つのメモリ状態、すなわち、「Gr」と「A」との間を分離することができる場合にこれが可能である。上位ビットは、最も低い2つのメモリ状態の間を分離することができることが、図19の(2)から分かる。上位ビットが「1」の場合、メモリ状態はプログラミングのない「Gr」の状態のままである。「0」の上位ビットを有するメモリセルでは、初期の段階で、せいぜい「A」にプログラムすることができるだけである。このようにして、2ビット符号の単に1ビットが利用できる場合でも、プログラミングは、オーバプログラミングの危険なしで開始することができる。その結果、2番目の下位ビットが利用可能になると、2ビットの符号は完成し、4つの可能なメモリ状態を全て分離することができる。その後、プログラミングは、図12の(1)および(2)に関連して説明されるフルシーケンスモードと同様に進行する。
【0111】
したがって、例として示す2ビットのLM符号では、図18のステップ610は、上位ビットが下位ビットの前にくるようにあらかじめ決めされた符号ビットのビット順序を有することになる。
ステップ620では、メモリセル群が読み出され、その群の各メモリセルのメモリ状態が決定される。
【0112】
ステップ622では、「上位ビット下位ビット」で表現される、例として示す2ビットのLM符号を使用して、メモリ状態「Gr」は「11」、「A」は「01」、「B」は「00」、「C」は「10」として符号化される。一実施形態では、各メモリセルの2ビットデータは、2つのパスで検知することができ、それぞれ、一方はページの各メモリセルからの下位ビットから成る下論理ページデータであり、他方は図13Aおよび図13Bに示される上論理ページデータである。下論理ページ読み出しパスは、DB で検知することを含み、これに対して、上論理ページのパスは2つのサブパスを含み、一方はDA で検知し他方はDC で検知する。別の実施形態では、2ビットデータは、「フルシーケンス」モードで検知することができ、2つのビットは、3つのサブパスで読み出し境界しきい値DA 、DB およびDC に対してそれぞれ検知することにより1パスで同時に検知される。
【0113】
ステップ624では、セル群の各メモリセルからの2ビットデータがラッチされる。例えば、図9に示されるデータラッチ434−1および434−2を使用して、各メモリセルの下位および上位ビットをラッチすることができる。
【0114】
ステップ626では、ラッチデータは、2ビット符号の符号ビットの数に対応する2つのデータ群にグループ分けされる。第1は、メモリセル群から全ての下位ビットを集めた下位ビットデータ群である。同様に第2は、メモリセル群から全ての上位ビットを集めた上位ビットデータ群である。
【0115】
ステップ630では、各データ群からのビットが、一度に1つの群でデータ処理される。各データ群からのビットは、データ処理のためにコントローラに出力され、データ群を更新するためにどんな修正も送り返される。この場合、2つのデータ群は、ステップ610で与えられた所定の順序、すなわち、上位ビットのデータ群に続いて下位ビットのデータ群という順序に従って処理される。したがって、まず上位ビットのデータ群が、データ処理のために上位ビットをコントローラに出力し、上位ビットのデータ群を更新するためにいかなる修正ビットも送り返すことによって処理される。その後、下位ビットのデータ群の処理がこれに続く。
【0116】
ステップ632では、ステップ630で最初のラッチ群を処理する最初の繰り返しの間、処理データは同時プログラミングにまだ使用することができない。
ステップ634では、2ビットの符号の全ての符号ビットを使用できるわけではないため、動作は、ステップ630に戻る。
ステップ630(2)では、下位ビットデータが次に処理される。「630」に付加される「(2)」は、ステップの2回目の繰り返しを示すのに使用される。
【0117】
ステップ632(2)では、上位ビットのデータ群は、前のステップ632で用意された更新データで処理された。プログラミングは、使用可能な上位ビットデータを使用して進めることができる。「1」を有するメモリセルはプログラムされず、「0」を有するメモリセルは、上位ビットだけを使用することによって復号可能な状態「A」である次のプログラムされた状態にプログラムされる。上位ビットのデータ群を使用するプログラミングは、ステップ630(2)の下位ビットのデータ群の処理と同時に行われる。
【0118】
ステップ634(2)では、2ビット符号の全ての符号ビットがプログラミングを完了させるのに使用できるわけではないため、動作は、ステップ630(3)に戻る。
ステップ630(3)では、上位および下位ビットのデータ群は全て処理されたので、処理する群はもうない。
ステップ632(3)では、上位ビットに加えて、下位ビットもここで使用可能である。したがって、プログラミングは、全ての符号ビット(「上位、下位」)を使用するフルシーケンスモードで継続することができる。図19の(3)は、「11」を有するセルは「Gr」のままであり、「10」を有するセルは「Gr」から「C」にプログラムされ、「01」を有するセルは「A」のままであり、「00」を有するセルは「A」から「B」にプログラムされることを示す。
ステップ634(3)で、プログラミングを完了させるために2ビット符号の2つの符号ビットが全て使用可能になると、動作は終了する。
【0119】
ステップ630で説明されるプログラミングモードは、「適応フルシーケンス」プログラミングと見なすことができる。これは図12で説明される「フルシーケンス」プログラミングといくらか類似している。違いは、フルシーケンスの場合、全てのビット(この場合は、下位ビットと上位ビットとの両方)を使用して、ページの各セルがプログラムされる目標状態は何かを識別することである。プログラミングは、消去状態から始まる全てのセルに適用され、プログラムされた各セルがその目標状態に達すると、さらにプログラムされるのを禁止される。その一方で、適応フルシーケンスの場合は、最初のあいまいなまたは完全ではないビット情報は、ページのあらゆるメモリセルの目標状態を特定するには充分でないが、所与のメモリ状態でそのまま保持されるべき状態と次の状態にプログラムされることになる状態との間を識別するには充分である。より多くのビット情報が使用可能になるほど、分解能はさらに向上しますます高いメモリ状態にプログラミングを進めることができる。その結果、全てのビットが使用可能になると、プログラミングはフルシーケンスプログラミングになる。したがって、適応フルシーケンスプログラミングでは、一部のセルのプログラミングは、全てのビットが使用可能になるのを待つことなく、「有利なスタート(head start)」を切ることができる。
【0120】
図20の(0)〜(4)は、図18に示されるキャッシュコピー方式の符号化およびプログラミング部分について3ビットのLM符号を使用する実施例を示す。図14の(0)と同様に、図20の(0)は、4状態メモリアレイのしきい電圧分布を示す。その場合、ステップ600でのメモリセルは、8つのメモリ状態のうちの1つにそれぞれプログラム可能である。図20の(4)は、ステップ602で提供されるような、8つの各メモリ状態についての例として示す3ビットのLM符号化を示す。
【0121】
図20の(4)で示されるように、3ビットのLM符号は、3つの符号ビット、すなわち、下位ビット、中位ビットおよび上位ビットを有する。ページキャッシュコピーの場合、コピー先は消去メモリセルのページであり、その最初のしきい値分布は、図20の(1)に示される。
図20の(1)〜(4)は、本発明の好適な実施形態による、3ビットのLM符号の適応フルシーケンスプログラミングを示す。
【0122】
3ビットのLM符号を図18に示されるキャッシュページコピー方式に適用することは、前述した2ビットのLM符号を適用することと類似している。本質的に、3つの符号ビット、すなわち、「下位、中位、上位」ビットによって符号化される8つの状態がある。
図14の(0)と同様に、図20の(0)は、8状態メモリアレイのしきい電圧分布を示す。ページキャッシュコピーの場合は、コピー先は、消去メモリセルのページであり、その最初のしきい値分布は、図20の(1)に示される。
【0123】
下位、中位および上位ビットの3つの符号ビットは、最も低くプログラムされた状態から分離する能力によって順位付けされる。3ビットのLM符号では、上位ビットは、「Gr」状態に保持されるべきセル(上位ビット=1)と、次のプログラムされた状態にプログラムしてもよいセル(上位ビット=0)との間を識別することができることが図20の(2)から分かる。同様に、図20の(3)から分かるのは、上位ビットと中位ビットとを組み合わせると、「Gr」に保持されるべきセルと、「A」に保持されるべきセルと、「B」にプログラムしてもよいセルとの間を識別することができることである。同様に、図20の(4)から分かるのは、3ビット符号を完成させる上位、中位および下位ビットを組み合わせると、全ての可能なメモリ状態を識別することができ、フルシーケンスモードでプログラムを進めることができることである。したがって、3ビットのLM符号は、上位ビット、中位ビット、そして下位ビットの順に順序付けされる。
【0124】
上位、中位および下位の3つの符号ビットは、各符号ビットについて1つの群の3つのデータ群となる。前述した2ビットの場合と同様に、上位ビットデータ群が最初に処理される。次いで中位ビットデータ群がこれに続く。中位ビットデータ群が処理されているとき、上位ビットデータ群を使用してプログラミングが行われる。後で、下位ビットデータ群が処理されているとき、上位および中位のデータ群を両方使用してプログラミングが行われる。最後に、下位ビットデータ群が処理された後で。プログラミングは、3ビットのLM符号の3つの符号ビット全てを使用するフルシーケンスモードである。
【0125】
図18に関連して説明されるキャッシュページコピー方式は、相互に関連する少なくとも3つの形態で性能を改善する。
第1に、適応フルシーケンスモードのプログラミングは、ワード線に印加されるプログラミング電圧が単調増加関数であることを可能にする。プログラミングは、最も低いメモリ状態から最も高いメモリ状態までしきい値ウィンドウ全体に亘ってワンパスで行うことができる。このことは、プログラミング電圧が各パスの最初で最初のプログラミング電圧から再開する必要があるマルチパスプログラミングとはかなり異なる。
【0126】
第2に、適応機能は、全ての符号ビットがメモリ状態を完全に分離するのに使用できるわけではない場合でも、プログラミングを開始させることが可能である。複数ビット符号のうちの1ビットでも使用できると、プログラミングは開始することができる。
【0127】
第3に、各メモリセルのプログラミングは、1度に1ビットを連続的に付加しながら行うことができるため、第1ビットのデータ群を使用してメモリセル群をプログラムすると同時に、第2ビットのデータ群が同時にデータ処理されることによって用意される。したがって、データ処理時間は、プログラミング時間の裏側に隠すことができる。本発明のキャッシュページコピー方式は、nビット符号に対してn−1データ処理動作をプログラミング時間の裏側に隠すことができる。例えば、2ビット符号を使用して、1データ処理動作時間が節約される。3ビット符号では、2データ処理動作時間が節約される。
【0128】
最後に、隣接するワード線上のデータによる摂動効果に対する先行訂正を使用しても、本発明のキャッシュページコピー方式は、最小数のデータラッチを用いて実施することができる。nビットメモリでは、データラッチの数は、メモリセル当たりn+1個である。
【0129】
隣接するワード線からの摂動に対する訂正(LA読み出し)を有するキャッシュページコピー
好適な実施形態では、LM符号化データのページは、隣接するワード線(「WL」)による摂動に対する補償をしながら読み出される。WL−WLフローティングゲート結合効果を補償するため、先行(「LA」)読み出しが実施され、隣接するWLm+1にプログラムされた状態による摂動に基づいてWLmの読み出しを訂正する。LA読み出し技術は、Nima Mokhlesi による「READ OPERATION FOR NON-VOLATILE STORAGE WITH COMPENSATION FOR COUPLING」という2006年5月17日出願の米国特許出願第11/384,057号(特許文献25)に開示され、その全体が本願明細書において参照により援用されている。
【0130】
複数ビット符号化および「LA」訂正には、両方とも読み出しデータの単なるトグリングに加えて、追加のラッチおよびバスの動きが必要となるように見える。それにもかかわらず、図18に関連して説明されるキャッシュページコピー方式は、各nビットメモリセルに対して最小数のn+1個のラッチを用いて実施される。
【0131】
不揮発性メモリの読み出し動作中のフローティングゲート結合の効果を補償するには、選択されたワード線WLmに対する読み出し動作中に、隣接するワード線WLm+1から読み出されたデータへのアクセスが必要となる。要するに、読み出し/書き込み回路(例えば、図1の270A,270B)は、WLmに保存されるデータ値を決定すると同時に、ワード線WLm+1にアクセスする必要がある。このことは、特に特定の補償技術を目的とするチップスペースを最小限に抑えようとする場合に、メモリ設計者にとって問題となる可能性がある。2ビットのデータを記憶するメモリセルを有するメモリデバイスを考える。隣接するワード線WLm+1からのデータが、選択されたワード線WLmに対する読み出し動作中に使用できる場合、設計者は、ワード線WLm+1およびワード線WLmからのデータを、選択されたワード線WLmでの読み出し動作中に同時に保存できるだけの充分なデータラッチを含むように選択することができる。各メモリセルが2ビットのデータを記憶する場合、各ビット線について4つのデータラッチが必要である。2つのデータラッチは、ワード線WLm+1からの2ビットのデータを記憶することができ、もう2つのデータラッチは、ワード線WLmからの2ビットのデータを記憶することができる。同様に、3ビットデバイスには追加で3つのラッチを使用することもでき、4ビットデバイスには追加で4つのラッチなどとなる。この技術は効果的であるが、セル当たりに記憶されるビットの数に応じて各ビット線でデータレジスタを追加するのは、スペースの制限から一部の実施では受け入れられない。
【0132】
最小数のデータラッチを使用する好適なLA読み出し方式は、Man Lung MuiおよびSeungpil Leeによる「COMPLETE WORD LINE LOOK AHEAD WITH EFFICIENT DATA LATCH ASSIGNMENT IN NON-VOLATILE MEMORY READ OPERATIONS 」という2006年12月28日出願の米国特許出願第11/617,544号(特許文献26)に記載され、その全体が本願明細書において参照により援用されている。
【0133】
好適なLA読み出し方式では、nビットメモリセルのLA読み出しを実施するのにn+1個のラッチが必要とされるだけである。本質的には、WLm+1の摂動を与えるデータがまず読み出される。これにより、nビットのWLm+1の読み出しに対しセル当たりn個のラッチが満たされる。セル当たり1つの追加ラッチを使用して、所与のセルのn個のラッチ内のデータがWLm+1に関連するかWLmに関連するかを示すフラグを保存する。その後、WLmの補償された一連の読み出しが実施される。
【0134】
補償は、摂動強度の関数としてワード線読み出し電圧をバイアスすることによって達成することができる。例えば、WLm+1上の隣接するセルが状態「Gr」である場合、摂動はなく、WLmでの読み出しは、バイアスなしで実施される。WLm+1上の隣接するセルが状態「A」である場合、第1の量のバイアスがある。WLm+1上の隣接するセルが状態「B」である場合、第2の量のバイアスがある、などのようになる。
【0135】
あるいは、補償は、必要とされる訂正の関数として所与のメモリ状態を読み出すための境界しきい電圧を変更することによって達成することができる。
【0136】
補償された各読み出しパスの後、それぞれのメモリセルのメモリ状態が決定され、それらのデータは対応するラッチ内の対応するWLm+1のデータと置き換えられ、フラグはWLmのデータを示すように設定される。一般に、nビットメモリでは、WLm+1上に2n個の可能なメモリ状態が存在し、したがって同じ数の補償値が存在する。WLmを読み出す場合、4つの可能なメモリ状態の間を識別する2n −1個の境界点が存在する。したがって、一般に、WLmの補償された読み出しを完了させるために2n (2n −1)個のLA読み出しパスが存在する。例えば、2ビットメモリは総数12個の読み出しパスを有し、3ビットメモリは総数56個の読み出しパスを有する。LA読み出しが完了した後、ラッチ内の全てのWLm+1のデータは、WLmのデータに置き換えられる。したがって、好適なLA読み出し技術には、読み出し中にメモリセル当たりn+1個のラッチ、読み出し完了後にn個のラッチが必要となる。
【0137】
図21Aおよび図21Bは、3つのデータラッチを使用する例として示す2ビットメモリに対するLA読み出しの好適な実施方法について説明するフローチャートである。この実施例は、図11の(0)に示される実施例と同様に、セル当たり2ビットを記憶する4状態デバイスについて示される。ワード線WLm上のメモリセル群は、WLm+1上の隣接するメモリセルによる結合効果を補償しながら読み出される。各メモリセルに対する検知は、(状態「Gr」と「A」との間の)状態「A」レベル、(状態「A」と「B」との間の)状態「B」レベル、(状態「B」と「C」との間の)状態「C」レベルで実施される。後からプログラムされたワード線WLm+1の隣接するメモリセルの4つの可能な状態をそれぞれ考慮するように各レベルで検知する場合に補償が設けられる。
【0138】
各メモリセルに対する適切な検知動作の結果を選択するために、ワード線WLm+1上の隣接するメモリセルに関する情報が、WLmの対応するセルを検知すると同時に各ビット線について記憶される。ビット線のプロセッサは、この情報を使用して適切な検知動作の結果を選択する。例えば、2ビットの場合、各ビット線の一連のデータラッチDL0およびDL1は、選択されたワード線のメモリセルから読み出されたデータを保存する責任を負う。各ビット線の同様な一連のデータラッチも、選択されたワード線に隣接するワード線のメモリセルに関する情報を保存する。各ビット線の追加のデータラッチDL2は、データラッチが選択されたワード線のデータを保存しているか隣接するワード線のデータを保存しているかについての表示を記憶するフラグとして動作する。
【0139】
したがって、図21Aおよび図21Bの技術は、各ビット線のデータラッチを効率的に使用し、隣接するワード線WLm+1からのデータを保存するのに余分な一連のラッチが必要にならないようにする。図21Aおよび図21Bの実施例では、メモリセルは2ビットのデータを記憶するので3つのデータラッチが使用される。開示される原理は、様々なセル当たりのビット数(例えば、3、4、またはそれ以上)を有する実施に拡大することができる。一般に、各ビット線について必要とされるデータラッチ数は、個々のメモリセルによってそれぞれ記憶されるビット数より1つ多くなる。追加の1個のラッチは、現在記憶されているデータの履歴を特定する目的に使用される。
【0140】
図21Aおよび図21Bでは、DL0およびDL1と名付けられる2つのデータラッチが各ビット線について使用され、対応するビット線のメモリセルから読み出されたデータを保存する。DL2と名付けられる3番目のデータラッチが使用され、データラッチDL0およびDL1に現在保存されているデータが選択されたワード線WLmからのデータと一致するかどうか、あるいはそのデータが選択されたワード線に隣接するワード線WLm+1からのデータと一致するかどうかを示すフラグを保存する。
【0141】
読み出し動作は、ステップ700で隣接するワード線WLm+1を読み出すことによって開始する。隣接するワード線は、図11の(0)に示される3つの通常の基準レベルDA 、DB およびDC で読み出すことができる。一実施形態では、WLm+1を読み出す場合に補償は適用されない。ステップ702で、隣接するワード線のメモリセルのデータ値が決定される。ステップ704で、ワード線WLm+1における各ビット線のメモリセルのデータ値は、そのビット線の対応する一連のデータラッチDL0およびDL1に保存される。ステップ706では、各ビット線の3番目のデータラッチDL2が論理0に設定されて、データラッチDL0およびDL1内のデータが、WLm+1のメモリセルからのデータと一致することを示す。
【0142】
WLm+1の4つの可能な隣接する状態のそれぞれに対する読み出しである一群のサブ読み出しが、WLm上においてWLmの2つの状態の間を識別する各境界しきい値レベルで実施される。
【0143】
したがって、ステップ708〜ステップ722で、(状態「Gr」と「A」との間の)状態「A」レベルでの一群のサブ読み出しが、選択されたワード線WLmについて実施される。ステップ708での最初のサブ読み出しは、フローティングゲート結合を考慮する補償を提供しない。
【0144】
ステップ710で、各ビット線のプロセッサは、ビット線についてのデータラッチを更新するかどうかを決定する。ステップ708で、選択されたワード線のメモリセルがサブ読み出し中に導通しなかったビット線について、プロセッサは、データラッチ内に保存されている値を何も変更しない。メモリセルが導通したビット線について、プロセッサは、データラッチDL0およびDL1が状態「Gr」に対応するデータを現在保存しているかどうかを判断する。例えば、図11の(3)のデータ配置が使用される場合、プロセッサは、ラッチが両方とも論理1を保存しているかどうかを判断する。ラッチが論理11を保存していない場合、プロセッサは、データラッチ内の値を変更しない。両方のラッチが11を保存している場合、プロセッサは、3番目のデータラッチDL2が論理0を保存しているかどうかを判断する。論理0は、ラッチDL0およびDL1がWLm+1からのデータを保存し、上書きされるべきであることを示す。一実施形態では、プロセッサはラッチDL2をまずチェックし、DL2が論理0を保存している場合にラッチDL0およびDL1をチェックするだけでもよい。両方の条件が導通のあるメモリセルに対して満たされる場合、DL0およびDL1は消去状態に対応する所与のデータ値に設定される。3番目のデータラッチDL2は1に設定され、DL0およびDL1がワード線WLmのデータを現在保存していることを示す。DL2内の論理1は、ラッチDL0およびDL1が後のサブ読み出しの間に上書きされるのを防ぐ。
【0145】
ステップ712では、別の状態「A」のサブ読み出しが実施される。このとき、状態「A」にプログラムされている、WLm+1における隣接するメモリセルに対応する補償が適用される。
【0146】
各ビット線のプロセッサは、導通のあるメモリセルを有するビット線のラッチを更新するかどうかを判断するために別の論理シーケンスを実施する。DL0およびDL1が状態「A」のデータを保存していない(例えば、10)場合は、何も実施されない。保存している場合は、プロセッサは、DL2がWLm+1のデータが現在保存されていることを示す0を保存しているかどうかを判断する。DL2が0に設定されている場合は、プロセッサはDL0およびDL1に状態「Gr」のデータを上書きする。プロセッサは、DL2を1に設定してラッチがWLmからのデータを現在保存していることを示す。
【0147】
ステップ716では、状態「A」のサブ読み出しがWLmで実施されると同時に、状態「B」にプログラムされているWLm+1のセルに基づいて補償を適用する。導通のあるメモリセルについて、対応するビット線のプロセッサは、DL0およびDL1が状態「B」に対応するデータ(例えば、00)を保存しているかどうかを判断する。保存していない場合は何も実施されない。保存している場合は、プロセッサはDL2が論理0を保存しているかどうかを判断する。保存していない場合は、さらに何も実施されない。DL2が0に設定されている場合は、DL0およびDL1は状態「Gr」の所定のデータで上書きされ、DL2は1に設定されラッチがWLmからのデータを現在保存していることを示す。
【0148】
ステップ720では、状態「A」レベルでの最後のサブ読み出しが実施される。状態「C」にあるWLm+1の隣接するセルに基づく補償が適用される。導通のあるメモリセルについて、対応するビット線のプロセッサは、ラッチが状態1のデータ(例えば、01)を保存しているかどうかを判断する。DL2が2に設定されている場合は、何も実施されない。DL2が0に設定されている場合は、プロセッサは、DL2が0を保存しているかどうかを判断する。保存していない場合は、さらに何も実施されない。保存している場合は、プロセッサは、状態「Gr」の所定のデータでDL0およびDL1を上書きし、DL2を1に設定する。
ステップ724〜ステップ744では、状態「B」レベルでのサブ読み出しのシーケンスがワード線WLmに対して実施される。
【0149】
ステップ724での最初のサブ読み出しは、フローティングゲート結合に対して補償を提供しない。このサブ読み出しの結果は、消去状態「Gr」にあるWLm+1の隣接するセルを有するセルに適用可能である。導通のあるメモリセルについて、対応するプロセッサは、ビット線のDL0およびDL1が状態「Gr」のデータを保存しているかどうかを判断する。このステップのチェックにより、WLmでの現在の検知はデータがセルに保存されるべきワード線からであると判断する。DL0およびDL1が状態「Gr」に一致しない場合は、何も実施されない。DL0およびDL1が状態「Gr」に適合する場合は、プロセッサは、DL2は論理0を保存し、DL0およびDL1内のデータがWLm+1に対するものであり選択されたワード線WLmではないことを示すかどうかを判断する。DL2が1に設定されている場合、プロセッサは、DL0およびDL1内のデータを上書きしない。論理1は、DL0およびDL1のデータがWLmからであり、したがって、上書きされるべきでないことを示す。ステップ726では、DL2が0に設定されている場合、プロセッサは、DL0およびDL1内のデータを現在の一連のサブ読み出しに対応するデータで上書きする。この場合、プロセッサは、DL0およびDL1を状態「A」のデータ(例えば、10)に設定する。さらに、プロセッサは、DL2を1に設定し、DL0およびDL1が選択されたワード線からのデータを現在保存し、その後のWLmでのサブ読み出し中に上書きされるべきではないことを示す。
【0150】
ステップ728では、状態「B」のサブ読み出しがWLmで実施されると同時に、状態「A」にあるWLm+1のセルに基づいて補償を適用する。導通のあるメモリセルについて、対応するビット線のプロセッサは、DL0およびDL1が状態「A」に対応するデータを保存しているかどうかを判断する。保存していない場合は何も実施されない。保存している場合は、プロセッサはDL2が論理0を保存しているかどうかを判断する。保存していない場合は、ビット線に対してさらに何も実施されない。DL2が0に設定されている場合は、プロセッサはDL0およびDL1内のデータを状態「A」に対応するデータで上書きする。さらに、プロセッサは、DL2を論理1に設定する。
【0151】
ステップ732では、WLmが読み出されると同時に、状態「B」にあるWLm+1の隣接するセルを用いてメモリセルに補償を適用する。メモリセルに導通がある場合、対応するビット線のプロセッサは、そのビット線についてのDL0およびDL1が状態「B」のデータ(例えば、00)を共有しているかどうかを判断する。共有している場合は、プロセッサは、DL0およびDL1内のデータがWLmからであるか(DL2=1)、WLm+1からであるか(DL2=0)を判断する。そのデータがWLm+1からである場合は、プロセッサはDL0およびDL1を状態「A」に対応する所定のデータで上書きする。さらに、プロセッサは、DL2を論理1に設定する。どちらの条件も満たされない場合は、プロセッサはDL0〜DL2の内容を変更しない。
【0152】
ステップ736では、状態「B」のサブ読み出しがWLmで実施されると同時に、状態「C」にあるWLm+1の隣接するセルに基づいて補償を適用する。導通があるメモリセルについて、プロセッサは、DL0およびDL1が状態「C」に対応するデータ(例えば、01)を保存しているかどうかを判断する。保存していない場合は、何も実施されない。保存している場合は、プロセッサはDL2が論理0を保存しているかどうかを判断する。保存していない場合は、何も実施されない。保存している場合は、プロセッサはDL0およびDL1内のデータを状態「A」に対応するデータで上書きし、DL2を論理1に設定する。
ステップ740〜ステップ756は、状態「C」の読み出し基準電圧レベルで一連のサブ読み出しを実施する。
【0153】
ステップ740では、フローティングゲート結合に対する補償を含まない最初のサブ読み出しが実施される。導通があるメモリセルについて、対応するビット線のプロセッサは、DL0およびDL1が状態「Gr」に対応するデータを保存しているかどうかを判断する。保存していない場合は、そのビット線で何も実施されない。保存している場合は、プロセッサはDL2が論理0を保存しているかどうかを判断する。保存していない場合は、データラッチが既にWLmに対応するデータを共有しているため、そのデータラッチは変更されない。DL2が0に設定されている場合は、対応するプロセッサはDL0およびDL1内のデータを状態「B」に対応する所定のデータ(例えば、00)で上書きする。さらに、プロセッサは、DL2を1に設定し、DL0およびDL1がWLmのデータを現在保存していることを示す。
【0154】
ステップ744では、状態「C」のサブ読み出しが実施されると同時に、状態「A」にある隣接するセルに基づいて補償を適用する。導通があるメモリセルについて、ビット線のプロセッサは、DL0およびDL1が状態「A」に対応するデータを保存しているかどうかを判断する。保存していない場合は、何も実施されない。保存している場合は、プロセッサはラッチDL0およびDL1を状態「B」に対応するデータで上書きし、DL2を論理1に設定する。
【0155】
ステップ748では、状態「C」のサブ読み出しが実施されると同時に、状態「B」にある隣接するセルに基づいて補償を適用する。導通があるメモリセルについて、ビット線のプロセッサは、DL0およびDL1が状態「B」に対応するデータを保存しているかどうかを判断する。保存していない場合は、何も実施されない。保存している場合は、プロセッサはラッチDL0およびDL1を状態「B」に対応するデータで上書きし、DL2を論理1に設定する。
【0156】
ステップ752では、最後の状態「C」のサブ読み出しが実施されると同時に、状態「C」にある隣接するセルに基づいて補償を適用する。導通があるメモリセルについて、ビット線のプロセッサは、DL0およびDL1が状態「C」に対応するデータを保存しているかどうかを判断する。保存していない場合は、何も実施されない。保存している場合は、プロセッサはラッチDL0およびDL1を状態「C」に対応するデータで上書きし、DL2を論理1に設定する。
【0157】
ステップ756では、最後の論理シーケンスが実施される。ビットのプロセッサは、いずれかのビット線の3番目のラッチDL2が0に設定されているかどうかを判断する。DL2にまだ0を保存しているどのビット線も、どんな状態レベルでどんなサブ読み出しの間にも導通しなかったWLmのメモリセルを有する。したがって、このようなメモリセルは、最も高くプログラムされた状態である状態「C」にある。これらのビット線のプロセッサは、DL0およびDL1を状態「C」に対応するデータ(例えば、LM符号の論理01)に設定し、次いでDL2を1に設定し、ラッチがWLnに対応するデータを現在保存していることを示す。
【0158】
nビットメモリのためのn+1個のラッチを使用するLA読み出しを実施する技術が、図21Aおよび図21Bに示される2ビットの例について説明された。同様な技術は、n=3またはそれ以上のような他のn値に対しても容易に適用できることは明らかである。ある実施形態では、幾つかのメモリ状態がそれらの状態の間でより広いマージンを有し、あるいは摂動に対してより頑強であるため、時間を節約するために全ての補償を適用する必要はない。
【0159】
本願明細書で参照される全ての特許、特許出願、論文、書籍、仕様書、他の刊行物、文書および記事は、その全体が本願明細書において参照により援用されているものとする。援用されている刊行物、文書または本願明細書の事柄および文章のいずれかの間で用語の定義または使用が矛盾または衝突する場合には、本願明細書中の用語の定義または使用が優先するものとする。
【0160】
本発明の様々な形態が、特定の実施形態に関連して説明されてきたが、本発明は、本明細書に添付された特許請求の範囲によってのみ限定されるべきであることは言うまでもない。
【技術分野】
【0001】
本発明は、一般に、電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)およびフラッシュEEPROMなどの不揮発性半導体メモリに関し、特に、1つの記憶場所から別の記憶場所にページをコピーすることなどのメモリ動作におけるラッチ構造の効果的な利用に基づくキャッシュ動作に関する。
【背景技術】
【0002】
電荷の不揮発性記憶が可能であって、特に、小形形状のファクタカードとしてパッケージ化されているEEPROMおよびフラッシュEEPROMの形態をとる固体メモリは、近年、様々なモバイルおよびハンドヘルド装置、特に、情報機器および家庭用電化製品において選択される記憶装置になった。固体メモリでもあるRAM(ランダムアクセスメモリ)とは異なって、フラッシュメモリは不揮発性であって、電源がオフに切り換えられてからも記憶されているデータを保存する。高いコストにもかかわらず、フラッシュメモリは、大容量記憶用途においてますます用いられてきている。ハードドライブおよびフロッピディスクなどの回転磁気媒体に基づく従来の大容量記憶装置は、モバイルおよびハンドヘルド環境には不適切である。その理由は、ディスクドライブが大型になりがちで機械的に故障しやすく、長い待ち時間および大きな電力を必要とするためである。このような好ましくない特性によって、大部分のモバイルおよび携帯用途において、ディスクに基づく記憶装置は非実用的なものになる。その一方で、埋め込み型および取り外し可能なカードの形態をとるフラッシュメモリはともに、その小形、低消費電力、高速および高信頼性の特徴のために、モバイルおよびハンドヘルド環境に理想的に適している。
【0003】
EEPROMおよび電気的にプログラム可能な読み出し専用メモリ(EPROM)は、消去することができ、新たなデータをメモリセルに書き込む、または「プログラムする」ことができる不揮発性メモリである。両方とも、電界効果トランジスタ構造においてソース領域とドレイン領域との間にある半導体基板内のチャネル領域上に配置される導電性フローティング(非結合)ゲートを用いる。次に、フローティングゲート上には、コントロールゲートが設けられている。トランジスタのしきい電圧特性は、フローティングゲート上に保存されている電荷の量によって制御される。すなわち、フローティングゲート上の所与の電荷レベルに対して、対応する電圧(しきい値)が存在し、トランジスタのソース領域とドレイン領域との間で導通を可能にするために、この電圧をコントロールゲートに印加してトランジスタを「オン」に切り換える必要がある。
【0004】
フローティングゲートは、電荷の範囲を保持することができ、したがって、フローティングゲートをしきい電圧ウィンドウ内の任意のしきい電圧レベルにプログラムすることができる。しきい電圧ウィンドウの大きさは、デバイスの最小および最大しきい値レベルによって定められ、すなわち、フローティングゲート上にプログラムできる電荷の範囲に対応している。一般に、しきい値ウィンドウは、メモリデバイスの特性、動作条件および履歴に依存している。原理上、ウィンドウ内のそれぞれ異なる分離可能なしきい電圧レベル範囲を使用して、明確に限定されるセルのメモリ状態を指定することができる。しきい電圧が2つの異なる領域に区分される場合、各メモリセルは、1ビットのデータを記憶することができる。同様に、しきい電圧ウィンドウが3つ以上の異なる領域に区分される場合には、各メモリセルは、2ビット以上のデータを記憶することができる。
【0005】
通常の2状態EEPROMのセルでは、少なくとも1つの電流区切り点レベルが、導通ウィンドウを2つの領域に区分するように確定される。所定の固定電圧を印加することによってセルが読み出される場合、セルのソース/ドレイン電流は、区切り点レベル(または、基準電流IREF)と比較することによってメモリ状態に分離される。電流読み出しが区切り点レベルの読み出しよりも高い場合、セルは一方の論理状態(例えば、「0」状態)にあると判断される、その一方で、電流が区切り点レベルの電流よりも少ない場合、セルは他方の論理状態(例えば、「1」状態)にあると判断される。したがって、このような2状態のセルは1ビットのデジタル情報を記憶する。外部からプログラム可能な基準電流源が、区切り点レベルの電流を発生させるためにメモリシステムの一部として設けられることが多い。
【0006】
メモリ容量を増大させるために、フラッシュEEPROMデバイスは、半導体技術の状況が進歩するに従って、ますます高密度で製造されてきている。記憶容量を増大させる別の方法は、各メモリセルに3つ以上の状態を記憶させることである。
【0007】
多状態またはマルチレベルEEPROMメモリセルでは、各セルが2ビット以上のデータを記憶することができるように、導通ウィンドウは2つ以上の区切り点によって3つ以上の領域に区分される。したがって、所与のEEPROMアレイが記憶できる情報は、各セルが記憶できる状態の数とともに増大する。多状態またはマルチレベルメモリセルを有するEEPROMまたはフラッシュEEPROMが、米国特許第5,172,338号(特許文献1)に記載されている。
【0008】
メモリセルとして作用するトランジスタは、一般に、2つの機構のうちの1つによって「プログラムされた」状態にプログラムされる。「ホットエレクトロン注入」では、ドレインに印加される高電圧は、基板のチャネル領域に亘って電子を加速する。同時に、コントロールゲートに印加される高電圧は、薄いゲート誘電体を介してホットエレクトロンをフローティングゲートに引き込む。「トンネル注入」では、基板に対して高電圧がコントロールゲートに印加される。このように、電子は基板から介在するフローティングゲートに引き込まれる。
【0009】
メモリデバイスは、幾つかの機構によって消去することができる。EPROMでは、フローティングゲートから紫外線放射によって電荷を取り除くことによって、メモリは一括消去することができる。EEPROMでは、コントロールゲートに対して高電圧を基板に印加し、フローティングゲート内の電子を誘導して薄い酸化物を通して基板のチャネル領域にトンネルさせるようにすること(すなわち、ファウラノルドハイムトンネル現象)によって、メモリセルは電気的に消去することができる。一般に、EEPROMは、バイト毎に消去可能である。フラッシュEEPROMでは、メモリは、一斉に全てのブロックを、または1回に1つ以上のブロックを電気的に消去可能であり、ブロックは、512バイト以上のメモリで構成することができる。
【0010】
一般に、メモリデバイスは、カード上に装着することができる1つ以上のメモリチップを含む。各メモリチップは、復号器、消去回路、書き込み回路および読み出し回路のような周辺回路によって支援されるメモリセルのアレイを含む。さらに精巧なメモリデバイスは、高い知能で高水準のメモリ動作およびインタフェースを実行する外部メモリコントローラによって動作する。
【0011】
今日使用されている不揮発性固定メモリデバイスが数多く商業的に成功している。これらのメモリデバイスは、フラッシュEEPROMであってもよく、あるいは、他の異なる種類の不揮発性メモリセルを使用することもできる。フラッシュメモリおよびシステムならびにそれらの製造方法の実施例は、米国特許第5,070,032号(特許文献2)、第5,095,344号(特許文献3)、第5,315,541号(特許文献4)、第5,343,063号(特許文献5)、および第5,661,053号(特許文献6)、第5,313,421号(特許文献7)、および第6,222,762号(特許文献8)に与えられている。特に、NANDストリング構造を有するフラッシュメモリデバイスは、米国特許第5,570,315号(特許文献9)、第5,903,495号(特許文献10)、第6,046,935号(特許文献11)に記載されている。さらに、不揮発性メモリデバイスは、電荷を記憶する誘電体層を有するメモリセルからも製造される。前述した導電性フローティングゲート要素の代わりに、誘電体層が使用される。導電体記憶要素を使用するこのようなメモリデバイスは、エイタンらによる「NROM:新規な局所的トラッピング、2ビット不揮発性メモリセル」,IEEEエレクトロンデバイスレターズ,第21巻,第11号,2000年11月,543〜545ページ(Eitan et al., “NROM:A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no.11. November 2000, pp. 543-545)(非特許文献1)に記載されている。ONO誘電体層は、ソース拡散領域とドレイン拡散領域との間のチャネルに亘って延在する。1つのデータビットに対する電荷は、ドレインに隣接する誘電体層内に局限され、他のデータビットに対する電荷は、ソースに隣接する誘電体層内に局限される。例えば、米国特許第5,768,192号(特許文献12)および第6,011,725号(特許文献13)には、2つのシリコン酸化物層の間に挟まれている捕捉誘電体を有する不揮発性メモリセルが開示されている。多状態データ記憶は、誘電体内の空間的に分離されている電荷記憶領域の2値状態を個別に読み出すことによって実施される。
【0012】
読み出しおよびプログラムの性能を改善するため、アレイ内の複数の電荷記憶要素またはメモリトランジスタは並列に読み出しまたはプログラムされる。したがって、メモリ要素の「ページ」は、同時に読み出しまたはプログラムされる。既存のメモリアーキテクチャでは、一般に、行は、インタリーブされる幾つかのページを含むか、あるいは1つのページを構成することができる。ページの全メモリ要素は、同時に読み出しまたはプログラムされる。
【0013】
したがって、大容量で高性能な不揮発性メモリが一般に必要とされる。特に、高性能でデバイス資源を効率的に利用しながら、大きなブロックでメモリ動作を行うことができる大容量の不揮発性メモリが必要とされる。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】米国特許第5,172,338号
【特許文献2】米国特許第5,070,032号
【特許文献3】米国特許第5,095,344号
【特許文献4】米国特許第5,315,541号
【特許文献5】米国特許第5,343,063号
【特許文献6】米国特許第5,661,053号
【特許文献7】米国特許第5,313,421号
【特許文献8】米国特許第6,222,762号
【特許文献9】米国特許第5,570,315号
【特許文献10】米国特許第5,903,495号
【特許文献11】米国特許第6,046,935号
【特許文献12】米国特許第5,768,192号
【特許文献13】米国特許第6,011,725号
【特許文献14】米国特許第5,595,924号
【特許文献15】米国公開特許出願第2004/0109357号
【特許文献16】米国公開特許出願第2006/0140007号
【特許文献17】米国特許第6,657,891号
【特許文献18】米国特許出願第11/323,596号
【特許文献19】米国公開特許出願第2006/0221714号
【特許文献20】米国公開特許出願第2006/0233026号
【特許文献21】米国公開特許出願第2006/0221704号
【特許文献22】米国公開特許出願第2005/0257120号
【特許文献23】米国公開特許出願第2006/0136687号
【特許文献24】米国特許第6,266,273号
【特許文献25】米国特許出願第11/384,057号
【特許文献26】米国特許出願第11/617,544号
【非特許文献】
【0015】
【非特許文献1】Eitan et al., “NROM:A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no.11. November 2000, pp. 543-545
【発明の概要】
【0016】
本発明の一般的形態によれば、各メモリセルについて最小数のn+1個のデータラッチの効率的な利用によって、nビットメモリは効率的なデータ再配置、すなわち「ページキャッシュコピー」を実施することができる。さらに、データラッチの同様な構成は、隣接するワード線に記憶されるデータを補償しながらの読み出しも可能にする。したがって、2ビットメモリは、隣接するワード線に記憶されるデータと効率的なデータ再配置とを補償しながら読み出しを実施するために、メモリセル当たり3つのデータラッチを必要とするだけである。同様に、3ビットメモリは、隣接するワード線に記憶されるデータと効率的なデータ再配置とを補償しながら読み出しを実施するために、メモリセル当たり4つのデータラッチを必要とするだけである。
【0017】
各セルが再配置されるnビットデータを記憶するページメモリセルでは、nビットデータのページを読み出し、各nビットデータからの1つのビットデータのn個の論理ページがラッチされるようにnビットラッチの対応するページ内にこれをラッチし、データ処理のためにn個の論理データページの各ページを所定の順序でページ毎に送り出し、いかなる修正ビットも元のラッチに送り返し、と同時に処理データをページ毎にプログラムすることによって達成される。このようにして、データをトグルアウトおよびバックする時間の少なくとも一部は、書き込み動作の裏側に隠すことができ、これによって、ページコピーの性能を改善することができる。
【0018】
特に、nビット符号の全てのビットが全てのメモリ状態を分離するのに使用できるわけではない場合でも、プログラミングに使用可能な第1のデータページにより、プログラミングが消去状態から開始して所与のプログラムされた状態に達することができるように、論理データページは、データ処置のために所定の順序で送り出される。同様に、追加で使用できるページによって、プログラミングはさらに高くプログラムされた状態まで継続することができる。全ての符号ビットが使用可能になると、ページのあらゆるメモリセルの目標状態が定義されるため、プログラミングを終了することができる。したがって、ビットが使用可能である限りプログラミングが開始可能であり最終的に全ての符号が使用可能になると完了する適応フルシーケンスモードでプログラミングが実施される。
本発明は、相互に関係のある少なくとも4つの形態において性能を改善するという利点を有する。
【0019】
第1に、適応フルシーケンスモードでのプログラミングは、ワード線に印加されるプログラミング電圧が単調増加関数であることを可能にする。プログラミングは、最も低いメモリ状態から最も高いメモリ状態までしきい値ウィンドウ全体に亘ってワンパスで行うことができる。このことは、プログラミング電圧が各パスの最初で最初のプログラミング電圧に戻って再開する必要があるマルチパスプログラミングとはかなり異なる。
【0020】
第2に、適応機能は、全ての符号ビットがメモリ状態を完全に分離するのに使用できるわけではない場合でも、プログラミングを開始させることが可能である。複数ビット符号のうちの1ビットでもページの各メモリセルに使用できると、プログラミングは開始することができる。
【0021】
第3に、各メモリセルのプログラミングは、1度に1ビットを連続的に付加しながら行うことができるため、第1ビットのデータ群を使用してメモリセル群をプログラムすると同時に、第2ビットのデータ群が同時にデータ処理されることによって用意される。したがって、データ処理時間は、プログラミング時間の裏側に隠すことができる。本発明のキャッシュページコピー方式は、nビット符号に対してn−1データ処理動作をプログラミング時間の裏側に隠すことができる。例えば、2ビット符号を使用して、1データ処理動作時間が節約される。3ビット符号では、2データ処理動作時間が節約される。
【0022】
最後に、後から隣接するワード線に対してプログラムされるデータによる摂動効果に対する先行訂正を使用しても、本発明のキャッシュページコピー方式は、最小数のデータラッチを用いて実施することができる。nビットメモリでは、データラッチの数は、メモリセル当たりn+1個である。
【0023】
本発明の追加の特徴および利点は、本発明の好適な実施形態の添付図面とともに用いられるべき以下の記載から理解されるであろう。
【図面の簡単な説明】
【0024】
【図1】本発明が実施される不揮発性メモリチップを示す概略機能ブロック図である。
【図2】不揮発性メモリセルを示す概略図である。
【図3】フローティングゲートがどの時点においても選択的に保存することができる4つの異なる電荷Q1〜Q4についてのソース−ドレイン電流IDとコントロールゲート電圧VCGとの間の関係を示す図である。
【図4】メモリセルのNORアレイの実施例を示す図である。
【図5A】NANDストリングに編成されるメモリセルのストリングを示す概略図である。
【図5B】図5Aに示されるような、NANDストリング50から構成されるメモリセルのNANDアレイ200の実施例を示す図である。
【図6】消去可能ブロックで構成されるメモリアレイの実施例を示す概略図である。
【図7】図1に示される読み出し/書き込み回路の好適な配置を示す概略図である。
【図8】図7に示される読み出し/書き込み回路の中の読み出し/書き込みスタックの配置を示す図である。
【図9】図8の読み出し/書き込みスタックを示す機能ブロック図である。
【図10】選択されるワード線に印加される階段波形の形態をとる一連のプログラミング電圧パルスを示す図である。
【図11】好適な2ビット論理符号(「LM」符号)で符号化される4状態メモリの論理ページ毎プログラミングを示す図である。
【図12】好適な2ビット論理符号(「LM」符号)で符号化される4状態メモリのフルシーケンスプログラミングを示す図である。
【図13A】2ビットのLM符号で符号化される4状態メモリの下位ビットを識別するのに必要とされる読み出し動作を示す図である。
【図13B】2ビットのLM符号で符号化される4状態メモリの上位ビットを識別するのに必要とされる読み出し動作を示す図である。
【図14】好適な3ビット論理符号(「LM」符号)で符号化される8状態メモリのプログラミングを示す図である。
【図15】2ビットのメモリセルを有し、そのページが隣接するワード線上のメモリセル間のユーピン効果を最小限に抑えるように最適なシーケンスでプログラムされるメモリの実施例を示す図である。
【図16】メモリアレイ内で第1の場所のメモリセルのページのデータが第2の場所のメモリセルのページにコピーされるページコピー動作を示す図である。
【図17】メモリ内の目的場所にコピーされる前に外部コントローラによって読み出されたデータの任意のエラーが訂正される好適なページコピー動作を示す図である。
【図18】本発明の一般的な実施形態によるキャッシュコピー方式についてのフローチャートである。
【図19】図18に示されるキャッシュコピー方式の符号化およびプログラミング部分について2ビットのLM符号を使用する実施例を示す図である。
【図20】図18に示されるキャッシュコピー方式の符号化およびプログラミング部分について3ビットのLM符号を使用する実施例を示す図である。
【図21A】3つのデータラッチを使用する例として示す2ビットメモリに対するLA読み出しの好適な実施方法について説明するフローチャートである。
【図21B】3つのデータラッチを使用する例として示す2ビットメモリに対するLA読み出しの好適な実施方法について説明するフローチャートである。
【発明を実施するための形態】
【0025】
メモリシステム
図1〜図9は、本発明が実施される様々な形態のメモリシステムの実施例を示す。
図10〜図17は、このメモリシステムのためのプログラミングおよび読み出し技術の実施例を示す。
図18〜図21は、本発明のキャッシュページコピーの実施形態を示す。
【0026】
図1は、本発明が実施される不揮発性メモリチップの機能ブロックを概略的に示す。メモリチップ100は、2次元アレイのメモリセル200と、制御回路210と、復号器、読み出し/書き込み回路およびマルチプレクサなどの周辺回路とを含む。
【0027】
メモリアレイ200は、行復号器230(230A,230Bに分割される)を介してワード線によってアドレス指定可能であり、さらに列復号器260(260A,260Bに分割される)を介してビット線によってアドレス指定可能である(図4および図5も参照)。読み出し/書き込み回路270(270A,270Bに分割される)は、メモリセルのページを並列に読み出しまたはプログラムできるようにする。データI/Oバス231は、読み出し/書き込み回路270に接続されている。
【0028】
好適な実施形態では、ページは、同一ワード線を共有するメモリセルの隣接する行から構成される。メモリセルの行が複数のページに区分されている別の実施形態では、読み出し/書き込み回路270を個々のページに多重化するために、ブロックマルチプレクサ250(250A,250Bに分割される)が設けられる。例えば、メモリセルの偶数および奇数の行でそれぞれ形成される2つのページは、読み出し/書き込み回路に対して多重化される。
【0029】
図1は、様々な周辺回路によるメモリアレイ200へのアクセスがアレイの両側で左右対称に実施され、両側のアクセス線および回路の密度が半分になるような好適な配置を示す。したがって、行復号器は、行復号器230Aおよび230Bに分割され、列復号器は、列復号器260Aおよび260Bに分割される。メモリセルの行が、複数のページに区分される実施形態では、ページマルチプレクサ250は、ページマルチプレクサ250Aおよび250Bに分割される。同様に、読み出し/書き込み回路270は、アレイ200の下部からビット線に接続する読み出し/書き込み回路270A、およびアレイ200の上部からビット線に接続する読み出し/書き込み回路270Bに分割される。このようにして、読み出し/書き込みモジュールの密度、したがってセンスモジュール380の密度は、本質的に半分になる。
【0030】
制御回路110は、メモリアレイ200のメモリ動作を実施するための、読み出し/書き込み回路270と共働するオンチップコントローラである。制御回路110は、一般に、状態マシン112と、オンチップアドレス復号器および電源制御モジュール(明確に図示されず)などの他の回路とを含む。状態マシン112は、メモリ動作のチップレベルの制御を行う。制御回路は、外部メモリコントローラを介してホストと通信している。
【0031】
メモリアレイ200は、一般に、行および列で構成されワード線およびビット線でアドレス指定可能なメモリセルの2次元アレイとして編成される。アレイは、NOR型またはNAND型アーキテクチャに従って形成することができる。
【0032】
図2は、不揮発性メモリセルを概略的に示す。メモリセル10は、フローティングゲートまたは誘電体層などの電荷蓄積単位20を有する電界効果トランジスタによって実施することができる。メモリセル10は、ソース14と、ドレイン16と、コントロールゲート30とをさらに含む。
【0033】
今日使用されている不揮発性固定メモリデバイスが数多く商業的に成功している。これらのメモリデバイスは、異なる種類のメモリセルを使用することができ、それぞれの種類は、1つ以上の電荷蓄積要素を有する。
【0034】
典型的な不揮発性メモリセルは、EEPROMと、フラッシュEEPROMとを含む。EEPROMセルおよびその製造方法の実施例は、米国特許第5,595,924号(特許文献14)に与えられている。フラッシュEEPROMセル、メモリシステム内でのその使用、およびその製造方法は、米国特許第5,070,032号(特許文献2)、第5,095,344号(特許文献3)、第5,315,541号(特許文献4)、第5,343,063号(特許文献5)、および第5,661,053号(特許文献6)、第5,313,421号(特許文献7)および第6,222,762号(特許文献8)に与えられている。特に、NANDセル構造を有するメモリデバイスの実施例が、米国特許第5,570,315号(特許文献9)、第5,903,495号(特許文献10)、第6,046,935号(特許文献11)に記載されている。さらに、誘電体記憶要素を使用するメモリデバイスの実施例は、エイタンらによる「NROM:新規な局所的トラッピング、2ビット不揮発性メモリセル」,IEEEエレクトロンデバイスレターズ,第21巻,第11号,2000年11月,543〜545ページ(Eitan et al., “NROM:A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no.11. November 2000, pp. 543-545)(非特許文献1)、ならびに米国特許第5,768,192号(特許文献12)および第6,011,725号(特許文献13)に記載されている。
【0035】
実際には、セルのメモリ状態は、通常、基準電圧がコントロールゲートに印加される場合のセルのソースおよびドレイン電極の間の導通電流を検知することによって読み出される。したがって、セルのフローティングゲート上の所与の各電荷について、固定基準コントロールゲート電圧に対する対応する導通電流を検出することができる。同様に、フローティングゲート上へのプログラム可能な電荷の範囲は、対応するしきい電圧ウィンドウまたは対応する導通電流ウィンドウを定義する。
【0036】
あるいは、区分される電流ウィンドウ中の導通電流を検出する代わりに、コントロールゲートの試験用の所与のメモリ状態に対してしきい電圧を設定して、導通電流がしきい電流より低いか高いかを検出することも可能である。一実施では、しきい電流に対する導通電流の検出は、導通電流がビット線のキャパシタンスを通って放電する速度を調べることによって達成される。
【0037】
図3は、フローティングゲートがどの時点においても選択的に保存することができる4つの異なる電荷Q1〜Q4についてのソース−ドレイン電流ID とコントロールゲート電圧VCGとの間の関係を示す。4本の実線のID 対VCG曲線は、4つの可能なメモリ状態にそれぞれ対応してメモリセルのフローティングゲート上にプログラムできる4つの可能な電荷レベルを表す。一例として、セルの母集団のしきい電圧ウィンドウは、0.5V〜3.5Vの範囲に及ぶことができる。しきい値ウィンドウを0.5V毎の間隔で5つの領域に区分することによって、1つの消去状態および6つのプログラムされた状態をそれぞれ表す7つの可能なメモリ状態「Gr」、「A」、「B」、「C」、「D」、「E」、「F」を画定することができる。例えば、図に示されるように2μAの基準電流TREFが使用される場合、その曲線は、VCG=0.5Vおよび1.0Vによって区画されるしきい値ウィンドウの領域内でTREFと交差するため、Q1でプログラムされたセルは、メモリ状態「A」にあると見なすことができる。同様に、Q4はメモリ状態「E」にある。
【0038】
前の説明から分かるように、メモリセルに記憶させる状態が多くなるほど、しきい値ウィンドウはより細かく分割される。したがって、必要とされる分解能を達成できるためには、プログラミングおよび読み出し動作により高い精度が必要とされる。
【0039】
図4は、メモリセルのNORアレイの実施例を示す。メモリアレイ200では、メモリセルの各行が、そのソース14およびドレイン16によってデイジーチェーン方式で接続されている。この設計は、仮想接地設計と称されることがある。行内のセル10は、ワード線42などのワード線に接続されるコントロールゲート30を有する。列内のセルは、ビット線34および36などの選択されるビット線にそれぞれ接続されるソースおよびドレインを有する。
【0040】
図5Aは、NANDストリングに編成されるメモリセルのストリングを概略的に示す。NANDストリング50は、そのソースおよびドレインによってデイジーチェーン接続される一連のメモリトランジスタM1,M2・・・Mn(例えば、n=4,8,16またはそれ以上)から成る。1対の選択トランジスタS1,S2は、NANDストリングのソース端子54およびドレイン端子56をそれぞれ介して外部とのメモリトランジスタチェーンの接続を制御する。メモリアレイでは、ソース選択トランジスタS1がオンに切り換わると、ソース端子はソース線に接続される(図5Bを参照)。同様に、ドレイン選択トランジスタS2がオンに切り換わると、NANDストリングのドレイン端子はメモリアレイのビット線に接続される。チェーン内の各メモリトランジスタ10は、メモリセルとして機能し、意図されるメモリ状態を表すように所与の量の電荷を保存する電荷蓄積要素20を有する。各メモリトランジスタのコントロールゲート30は、読み出しおよび書き込み動作に関する制御を行う。図5Bで分かるように、NANDストリングの行の対応するメモリトランジスタのコントロールゲート30は、全て同一ワード線に接続されている。同様に、選択トランジスタS1,S2は、それぞれそのソース端子54およびドレイン端子56を介してNANDストリングへのアクセスを制御する。同様に、NANDストリングの行の対応する選択トランジスタのコントロールゲート32は、全て同一選択線に接続されている。
【0041】
NANDストリング内のアドレス指定されているメモリトランジスタ10がプログラミング中に読み出しされ、またはベリファイされる場合、そのコントロールゲート30には、適切な電圧が供給される。同時に、NANDストリング50内の残りのアドレス指定されていないメモリトランジスタは、そのコントロールゲート上に充分な電圧が印加されることによって、完全にオンに切り換えられる。このように、導通経路は、個々のメモリトランジスタのソースからNANDストリングのソース端子54に効果的に生成され、同様に、個々のメモリトランジスタのドレインについても、セルのドレイン端子56へ効果的に生成される。このようなNANDストリング構造を有するメモリデバイスは、米国特許第5,570,315号(特許文献9)、第5,903,495号(特許文献10)、第6,046,935号(特許文献11)に記載されている。
【0042】
図5Bは、図5Aに示されるような、NANDストリング50から構成される、メモリセルのNANDアレイ200の実施例を示す図である。NANDストリングの各列に沿って、ビット線36などのビット線が各NANDストリングのドレイン端子56に接続されている。NANDストリングの各バンクに沿って、ソース線34などのソース線が各NANDストリングのソース端子54に接続されている。さらに、NANDストリングのバンク内のメモリセルの行に沿ったコントロールゲートは、ワード線42などのワード線に接続されている。NANDストリングのバンク内の選択トランジスタの行に沿ったコントロールゲートは、選択線44などの選択線に接続されている。NANDストリングのバンク内のメモリセルの全体の行は、NANDストリングのバンク内のワード線および選択線上に適切な電圧をかけることによってアドレス指定することができる。NANDストリング内のメモリトランジスタが読み出されると、ストリングを通って流れる電流が読み出されるセルに保存されている電荷のレベルに本質的に依存するように、ストリング内の残りのメモリトランジスタは、それらの関連するワード線を介して確実にオンに切り換えられる。
【0043】
図6は、消去可能ブロックで構成されるメモリアレイの実施例を概略的に示す。電荷蓄積メモリデバイスのプログラミングは、デバイスの電荷蓄積要素にさらに電荷を追加するだけである。したがって、プログラム動作に先立ち、メモリセルの電荷蓄積要素内に存在する電荷を取り除く(または消去する)必要がある。EEPROMなどの不揮発性メモリは、セルのアレイ200の全体、あるいはアレイのかなりの部分のセル群が同時に(すなわち、一瞬に)電気的に消去される場合には、「フラッシュ」EEPROMと称される。一旦消去されると、次にこのセル群を再プログラムすることができる。同時に消去可能なセル群は、1つ以上のアドレス指定可能な消去単位300から構成される。消去単位またはブロック300は、一般に、1つ以上のページのデータを記憶し、このページはプログラミングおよび読み出しの最小単位であるが、2つ以上のページを単一の動作でプログラムしたり読み出したりすることもできる。各ページは、一般に、1つ以上のセクタのデータを記憶し、このセクタの大きさは、ホストシステムによって定義される。一例として、磁気ディスクドライブに関して定めされた規格に従う512バイトのユーザデータと、ユーザデータおよび/またはそれが記憶されるブロックに関するあるバイト数のオーバヘッド情報とから成るセクタが挙げられる。
【0044】
図6に示される実施例では、メモリアレイ200内の個々のメモリセルは、WL0−WLyなどのワード線42、およびBL0−BLxなどのビット線36によってアクセス可能である。メモリは、消去ブロック0,1・・・mなどの消去ブロックに編成される。図5Aおよび図5Bも参照すると、NANDストリング50が16個のメモリセルを含む場合、アレイ内のNANDストリングの第1のバンクは、選択線44およびWL0〜WL15のようなワード線42によってアクセス可能である。消去ブロック0は、NANDストリングの第1のバンクの全てのメモリセルを同時に消去させるように構成される。別のメモリアークテクチャでは、NANDストリングの1つ以上のバンクを同時に消去することができる。
【0045】
図7は、図1に示される読み出し/書き込み回路の好適な配置を概略的に示す。読み出し/書き込み回路270は、区分される読み出し/書き込みスタック400のバンクとして実施され、メモリセルの群(「ページ」とも称される)を並列に読み出しまたはプログラムさせることができる。前述したように、メモリアーキテクチャは、一連の読み出し/書き込み回路が対応する一連のメモリセルに並列に作用するようになっている。図8で分かるように、各読み出し/書き込みスタック400は、ページのサブセットに作用する読み出し/書き込み回路の集まりである。1ページ内にp個のメモリセルがある場合、各スタックは、k個のメモリセルのサブセットに作用する。読み出し/書き込みスタックの動作は、スタックコントローラ410によって制御される。
【0046】
図8は、図7に示される読み出し/書き込み回路の中の読み出し/書き込みスタックの配置を示す。各読み出し/書き込みスタック400は、一群のkビット線に対して並列に動作する。1ページがp=r×k個のビット線を有する場合、r個の読み出し/書き込みスタック400−1・・・400−rが存在する。
【0047】
並列の動作する区分されている読み出し/書き込みスタック400のバンク全体は、行に沿っているp個のセルのブロック(またはページ)を並列に読み出すかプログラムすることができる。したがって、行全体のセルに対してp個の読み出し/書き込みモジュールが存在する。各スタックはk個のメモリセルに作用するので、バンク内の読み出し/書き込みスタックの総数は、r=p/kによって与えられる。例えば、rがバンク内のスタックの数である場合、p=r×kとなる。一例のメモリアレイは、p=512バイト(512×8ビット)、k=8なので、r=512を有することができる。好適な実施形態では、ブロックは、一続きの行全体のセルである。別の実施形態では、ブロックは、行内のセルのサブセットである。例えば、セルのサブセットは行全体の半分または行全体の4分の1であってもよい。セルのサブセットは、一続きの連続するセルまたは1つおきのセル、あるいは所定数毎のセルであってもよい。
【0048】
400−1のような各読み出し/書き込みスタックは、本質的に、k個のメモリセルのセグメントに並列に作用するセンス増幅器212−1〜212−kのスタックを含む。好適なセンス増幅器は、米国公開特許出願第2004/0109357号(特許文献15)に開示され、その全体が本願明細書において参照により援用されている。
【0049】
スタックバスコントローラ410は、線411を介して読み出し/書き込み回路370に制御およびタイミング信号を供給する。スタックバスコントローラはそれ自体、線311を介してメモリコントローラ310に依存している。各読み出し/書き込みスタック間の通信は、相互接続するスタックバス431によって達成され、スタックバスコントローラ410によって制御される。制御線411は、スタックバスコントローラ410から制御およびクロック信号を読み出し/書き込みスタック400−1の構成要素に供給する。
【0050】
好適な配置では、スタックバスは、共通プロセッサ500とセンス増幅器212のスタックとの間で通信するSABus422と、プロセッサとデータラッチ430のスタックとの間で通信するDBus423とに区分される。
【0051】
データラッチ430のスタックは、データラッチ430−1〜430−kから成り、データラッチはそのスタックと関連する各メモリセルに対応している。I/Oモジュール440は、データラッチにI/Oバス231を介して外部とデータを交換させることができる。
【0052】
共通プロセッサは、エラー状態などのメモリ動作の状態を示すステータス信号を出力する出力部507も含む。ステータス信号を使用して、ワイヤードOR構成のフラグバス(FLAG BUS)509に結合されるn型トランジスタ550のゲートを駆動させる。フラグバスは、制御回路110によってプリチャージされるのが好ましく、ステータス信号が読み出し/書き込みスタックのいずれかによってアサートされるとプルダウンされる。
【0053】
図9は、図8の読み出し/書き込みスタックを示す機能ブロック図である。本質的に、各読み出し/書き込みスタックは、並列にページのサブセットであるk個のメモリセルに作用する。読み出し/書き込みスタックは、センス増幅器212−1〜212−kのスタックと、データラッチ430−1〜430−kのスタックとを含む。センス増幅器のスタックおよびデータラッチのスタックは、その中でデータを処理することができる共通プロセッサ500を共有する。どの時点においても、共通プロセッサ500は、所与のメモリセルに関係するデータを処理する。例えば、ビット線1に接続されるメモリセルでは、対応するセンス増幅器212−1が、検知されたデータをメモリセルからセンス増幅器ラッチ、SAラッチ214−1内にラッチする。同様に、対応する一連のデータラッチ430−1は、ビット線1に接続されるメモリセルと関連する入力または出力データを保存する。好適な実施形態では、一連のデータラッチ430−1は、情報の(q+1)ビットを保存するための一連のデータラッチ434−0・・・434−q、またはそれぞれDL0,DL1・・・DLqを含む。
【0054】
メモリセルのページは、共通ワード線を共有し、ページの各メモリセルは、ビット線を介してセンス増幅器に接続されている。メモリセルのページが読み出されるあるいは書き込まれる場合、メモリセルのページと関連するワード線から読み出されるあるいはそのワード線に書き込まれるとも言われる。同様に、メモリセルのページと関連するデータは、ページデータと称される。
【0055】
このような読み出し/書き込み回路は、2006年6月29日公開の米国公開特許出願第2006/0140007号(特許文献16)に記載され、その全体が本願明細書において参照により援用されている。
【0056】
図10は、選択されるワード線に印加される階段波形の形態をとる一連のプログラミング電圧パルスを示す。セルが所与の状態にプログラムされる場合、セルはフローティングゲートに徐々に増加する電荷を加えようとする度に、連続するプログラミング電圧パルスを受ける。プログラミングパルス間に、セルは、再読み出しまたはベリファイされて、区切り点レベルに対するソース−ドレイン電流を決定する。所望の状態に達したことがベリファイされたら、セルに対するプログラミングは停止する。使用されるプログラミングパルス列は、メモリセルの電荷蓄積単位内にプログラムされた蓄積電子に対抗するために、時間または振幅を増加させることもできる。プログラミング回路は、一般に、一連のプログラミングパルスを選択されるワード線に印加する。このようにして、コントロールゲートがワード線に接続されるメモリセルのページは、同時にプログラムすることができる。ページのメモリセルがその目標状態にプログラムされたら、残りのセルがプログラミングされ続けてページの全てのセルがプログラム−ベリファイされるまでの間、そのメモリセルはプログラムを禁止される。
【0057】
セル対セル結合(「ユーピン効果」)
1つのメモリセルの電荷蓄積要素にプログラムされる電荷は、隣接するメモリセルの電界に摂動を与える電界を生成する。メモリセルは、最初の電界環境でプログラム−ベリファイされて、その後、異なる電荷で続いてプログラムされる隣接セルによる異なる電界環境で読み出される場合、読み出し精度は、「ユーピン効果」と称される効果によって影響を受けることがある。半導体メモリの集積度がさらに上がる中で、メモリセル間の蓄積電荷による電界の摂動(ユーピン効果)は、セルの相互間隔が縮小するに連れてますます目立ってきている。
【0058】
ユーピン効果は、プログラム−ベリファイの時点と隣接セルがプログラムされた後の読み出しの時点との間でセルの電界環境の非対称性を最小限に抑えることによって、緩和することができる。この問題は、メモリアレイのビット線をはさんだ行に沿っている隣接セル(BL−BLユーピン効果)、およびワード線をはさんだ列に沿っている隣接セル(WL−WLユーピン効果)に影響を及ぼす。
【0059】
BL−BLユーピン効果を低減する一方法は、2値プログラミングの各パスの間の電荷の大きな変動を防止する複数ビット符号化を採用することである。このような特性を有する好適な符号化は、「LM」符号化によって与えられる。
WL−WLユーピン効果を低減する一方法は、最適な順序でメモリアレイのページをプログラムすることである。
WL−WLユーピン効果を訂正する一方法は、「先行」または「LA」訂正を使用してプログラムされたページを読み出すことである。
【0060】
2ビットまたは4状態メモリの例示的な好適「LM」符号化
図11の(0)〜(3)は、好適な2ビット論理符号(「LM」符号)で符号化される4状態メモリの論理ページ毎プログラミングを示す。ページの各メモリセルからの2つの符号ビットは、2つの論理ページを形成し、各ページは、そのページのあらゆるメモリセルから与えられる1つの符号ビットから形成される。プログラミングは、下ページに続いて上ページに論理ページ毎に実施することができる。この符号は、耐故障性を提供し、BL−BLユーピン効果を軽減する。図11の(0)は、4状態メモリアレイのしきい電圧分布を示す。各メモリセルの可能なしきい電圧は、4つの領域に区分され4つの可能なメモリ状態「Gr」、「A」、「B」および「C」を画定するしきい値ウィンドウの範囲にわたる。「Gr」は、狭い分布内の消去状態である接地状態である。「A」、「B」および「C」は、次第にプログラムされた状態である。読み出しの間に、4つの状態は、3つの境界区切り点DA 、DB およびDC によって画定される。
【0061】
図11の(3)は、4つの可能なメモリ状態を表す、好適な2ビットのLM符号化を示す。各メモリ状態(すなわち、「Gr」、「A」、「B」および「C」)は、1対の「上位、下位」符号ビット、すなわち「11」、「01」、「00」および「10」をそれぞれ表す。LM符号化は、上位および下位ビットが状態「A」および「C」について逆になる点で従来のグレー符号とは異なる。「LM」符号は、米国特許第6,657,891号(特許文献17)に開示され、電荷の大きな変化が必要とされるプログラム動作を防ぐことによって、隣接するフローティングゲート間の電界効果結合を低減させる利点がある。図11の(2)および(3)で分かるように、各プログラミング動作は、しきい電圧VTの緩やかな変化から明らかなように、電荷蓄積単位の電荷の変化を緩やかにする。
【0062】
この符号化は、2つの符号ビット、「下位」および「上位」ビットを別々にプログラムおよび読み出しすることができるように設計される。下位ビットをプログラミングする場合、セルのしきい値レベルは、しきい値ウィンドウの「消去」領域のままであるか、あるいは「中間下位」領域に移動する。上位ビットをプログラミングする場合、このような2つの領域のいずれかにあるセルのしきい値レベルは、しきい値ウィンドウの「中間下位」領域のわずかに高いレベルにさらに上昇する。
【0063】
図11の(1)および(2)は、2ビットのLM符号を使用する下ページプログラミングを示す。耐故障性LM符号は、どんなその後の上ページプログラミングも避けてどんな中間状態も通過するように設計される。したがって、1回目の下ページプログラミングは、下位ビットが「1」の場合、または下位ビットが「0」の場合に「中間下位」状態にプログラムされる場合、セルを「消去」または「Gr」状態のままにさせる。基本的に、「Gr」または「接地」状態は、明確に定義される領域のしきい値内にプログラムされた深い消去状態を有することによる狭い分布を有する「消去」状態である。「中間下位」状態は、メモリ状態「A」と「B」との間をまたがる広い分布のしきい電圧を有することができる。プログラミングの間、「中間下位」状態は、DA のような粗い境界に対してベリファイされる。
【0064】
図11の(2)および(3)は、2ビットのLM符号を使用する上ページプログラミングを示す。上ページプログラミングは、1回目の下ページプログラミングに基づいて実施される。所与の上位ビットは、下位ビットの値に応じて異なるメモリ状態を表すことができる。2回目のプログラミングでは、セルが上位ビットが「1」のとき下位ビットが「1」、すなわち(1,1)であれば、そのセルに対してプログラミングは行わず「Gr」の状態のままである。上位ビットが「0」のとき下位ビットが「1」、すなわち(0,1)であれば、セルは、「Gr」状態から「A」状態にプログラムされる。「A」にプログラミングする間、ベリファイは境界DVA に対して行われる。その一方で、セルが上位ビットが「0」のとき下位ビットが「0」、すなわち(0,0)であれば、セルは、「中間下位」状態から「B」にプログラムされる。プログラムのベリファイは境界DVB に対して行われる。同様に、セルが上位ビットが「1」のとき下位ビットが「0」、すなわち(1,0)であれば、セルは、「中間下位」状態から「C」にプログラムされる。プログラムのベリファイは境界DVC に対して行われる。上ページプログラミングは、「Gr」状態または「中間下位」状態から次の隣接するメモリ状態へのプログラミングを含むだけであるため、プログラミングの度に電荷は少しも変化しない。さらに、「Gr」からおおよその「中間下位」状態への下ページプログラミングは、時間を節約するようになっている。各プログラミングのパスでは、プログラミングパルスが増大しながら再開され、最初のVpgm0から上昇している(図10参照)。
【0065】
別の好適な実施形態では、「高速パス書き込み」プログラミング技術が実施される。セルのプログラミングがベリファイ境界点付近に近づくと、プログラミングは、ビット線電圧の適切なバイアスまたはプログラミングパルスの修正によってより低速(すなわち、より精密な)モードに切り換えられる。このようにして、目標状態を通り過ぎる危険なしで急速に収束するように、最初により大きいプログラミング段階を使用することができる。「QPW」プログラミングのアルゴリズムは、「Methods for Improved Program-Verify Operations in Non-Volatile Memories 」という2005年12月29日出願の米国特許出願第11/323,596号(特許文献18)に開示され、その全体が本願明細書において参照により援用されている。
【0066】
図12の(0)〜(2)は、好適な2ビット論理符号(「LM」符号)で符号化される4状態メモリのフルシーケンスプログラミングを示す。図11の(0)と同様に、図12の(0)は、接地状態「Gr」としての消去状態および次第によりプログラムされたメモリ状態「A」、「B」および「C」を有する4状態メモリアレイのしきい電圧分布を示す。図12の(1)および(2)は、「Gr」状態から直接プログラムされる目標状態を識別するのに2ビット全てを使用することができるフルシーケンスプログラミング方式を示す。プログラミングパルスは、1つのプログラミングパスでVpgm0から単調に増加し、「11」を「A」状態にプログラミングするためにしきい値基準DVA を使用し、続いて「01」を「B」状態にプログラミングするためにDVB を使用し、最後に「10」を「C」状態にプログラミングするためにDVC を使用してベリファイする。メモリセルはプログラム−ベリファイされると、プログラムを禁止される。最後のセルがプログラム−ベリファイされると、そのページに対するプログラミングが終了する。
【0067】
図13Aは、2ビットのLM符号で符号化される4状態メモリの下位ビットを識別するのに必要とされる読み出し動作を示す。符号化は、上ページがプログラムされたか否かに依存している。上ページがプログラムされた場合、下ページの読み出しには、境界しきい電圧DB に対する読み出しBの1つの読み出しパスが必要である。その一方で、上ページがまだプログラムされていなかった場合には、下ページは「中間」状態にプログラムされ(図11の(2)参照)、読み出しBはエラーを発生させることになる。むしろ、下ページの読み出しには、境界しきい電圧DA に対する読み出しAの1つの読み出しパスが必要となる。2つの場合を識別するために、上ページがプログラムされるとき、フラグ(「LM」フラグ)が上ページに(通常オーバヘッドまたはシステム領域に)書き込まれる。読み出しの間、上ページがプログラムされたので読み出しB動作が実施されるとまず推定される。LMフラグが読み出される場合、その推定は正しいものであり、読み出し動作が行われる。その一方で、最初の読み出しがフラグを発生しない場合、上ページがプログラムされなかったので下ページは読み出しA動作によって読み出す必要があることを示している。
【0068】
図13は、2ビットのLM符号で符号化される4状態メモリの上位ビットを識別するのに必要とされる読み出し動作を示す。図から明らかなように、上ページの読み出しには、境界しきい電圧DA およびDC に対して、それぞれ読み出しAおよび読み出しCの2パス読み出しが必要となる。同様に、上ページの復号化は、上ページがまだプログラムされていない場合には、「中間」状態によって区別がつかなくなる可能性もある。LMフラグは、上ページがプログラムされたか否かを再び示す。上ページがプログラムされていない場合、読み出しデータは、上ページデータがプログラムされていないことを示す「1」にリセットされる。
【0069】
「フルシーケンス」読み出しまたは「全ビット」読み出しの場合のように、読み出しが画定される全ての一連の状態を通ってスキャンする場合、読み出しは、基準しきい電圧DA 、DB およびDC によってそれぞれ画定されるメモリ状態「Gr」、「A」、「B」および「C」に対して実施される。フルシーケンス読み出しによって全ての可能な状態が識別されるので、LMフラグについて何もチェックする必要がない。この読み出しモードでは、全ビットが同時に決定される。
【0070】
3ビットまたは8状態メモリの例示的な好適「LM」符号化
2ビットのLM符号の実施例は、同様に3ビットまたは多数ビットにまで拡張することができる。
図14の(0)〜(4)は、好適な3ビット論理符号(「LM」符号)で符号化される8状態メモリのプログラミングを示す。ページの各メモリセルからの3ビットは、3つの論理ページを形成し、プログラミングは、論理ページ毎に実施することができる。この符号は、前述した2ビットのLM符号化に類似し、8つの可能なメモリ状態を符号化するために3ビットへと拡張したものである。図14の(0)は、8状態のメモリ状態のしきい電圧分布を示す。各メモリセルの可能なしきい電圧は、8つの領域に区分されて8つの可能なメモリ状態「Gr」、「A」、「B」、「C」、「D」、「E」、「F」および「G」を画定するしきい値ウィンドウの範囲にわたる。「Gr」は、狭い分布内の消去状態である接地状態である。「A」〜「G」は、7つの次第にプログラムされた状態である。読み出しの間、8つの状態は、7つの境界区切り点DA 〜DG によって画定される。
【0071】
図14の(4)は、8つの可能なメモリ状態を表す、好適な3ビットのLM符号化を示す。8つの各メモリ状態は、3つの「上位、中位、下位」ビット、すなわち「111」、「011」、「001」、「101」、「100」、「000」、「010」および「110」によってそれぞれ表される。図14の(1)および(4)で分かるように、各プログラミング動作は、しきい電圧VT の緩やかな変化から明らかなように、電荷蓄積単位の電荷の変化を緩やかにする。
【0072】
この符号化は、3符号ビット、「下位」、「中位」および「上位」ビットを別々にプログラムおよび読み出しすることができるように設計される。したがって、1回目の下ページプログラミングは、下位ビットが「1」の場合、または下位ビットが「0」の場合に「中間下位」状態にプログラムされる場合、セルを「消去」または「Gr」状態のままにさせる。基本的に、「Gr」または「接地」状態は、狭い領域のしきい値内にプログラムされた深い消去状態を有することによる狭い分布を有する「消去」状態である。「中間下位」状態は、メモリ状態「B」と「D」との間をまたがる広い分布のしきい電圧を有することができる。プログラミングの間、「中間下位」状態は、DB のような粗い区切り点しきい値レベルに対してベリファイすることができる。中位ビットをプログラミングする場合は、セルのしきい値レベルは、下ページプログラミングで生じる2つの領域のうちの1つから開始し、4つの可能な領域のうちの1つに移動する。上位ビットをプログラミングする場合は、セルのしきい値レベルは、中ページのプログラミングで生じる4つの可能な領域のうちの1つから開始し、8つの可能なメモリ状態のうちの1つに移動する。
【0073】
一般に、メモリセルのページは並列にプログラムされ、各メモリセルは3ビットを有する。したがって、メモリセルのページは3つの論理データページを有し、各論理データページはページのあらゆるセルのうちの1つの符号ビットから与えられる。したがって、「下位ビット」ページは、ページのあらゆるメモリセルのうちの下位ビットから形成され、「中位ビット」ページは、あらゆるセルのうちの中位ビットから形成され、「上位ビット」ページは、ページのあらゆるセルのうちの上位ビットから形成される。
【0074】
図14の(1)および(2)は、3ビットのLM符号を使用する下ページプログラミングを示す。耐故障性LM符号は、その後のどんな上ページプログラミングも避けてどんな中間状態も通過するように設定される。したがって、1回目の下ページプログラミングは、下位ビットが「1」、すなわち(x,x,1)の場合、または下位ビットが「0」、すなわち(x,x,0)の場合に「中間下位」状態にプログラムされる場合、セルを「消去」または「Gr」状態のままにさせる。基本的に、「Gr」または「接地」状態は、明確に定義される領域のしきい値内にプログラムされた深い消去状態を有することによる狭い分布を有する「消去」状態である。「中間下位」状態は、メモリ状態「B」と「D」との間をまたがる広い分布のしきい電圧を有することができる。プログラミングの間、「中間下位」状態は、DB のような境界に対してベリファイされる。
【0075】
図14の(2)および(3)は、3ビットのLM符号を使用する中ページプログラミングを示す。中ページプログラミングは、1回目の下ページプログラミングに基づいて実施される。所与の中位ビットは、下位ビットの値に応じて異なるメモリ状態を表すことができる。2回目のプログラミングでは、セルが中位ビットが「1」のとき下位ビットが「1」、すなわち(x,1,1)であれば、そのセルに対してプログラミングは行わず「Gr」の状態のままである。中位ビットが「0」のとき下位ビットが「1」、すなわち(x,0,1)であれば、セルは、「Gr」状態から「A」と「B」との間をまたがる第1の「中間中位」状態にプログラムされる。第1の「中間中位」状態にプログラミングする間、ベリファイは境界DVA に対して行われる。その一方で、セルが中位ビットが「0」のとき下位ビットが「0」、すなわち(x,0,0)であれば、セルは、「中間下位」状態から「C」と「D」との間をまたがる第2の「中間中位」状態にプログラムされる。プログラムのベリファイは境界DVC に対して行われる。同様に、セルが中位ビットが「1」のとき下位ビットが「0」、すなわち(x,1,0)であれば、セルは、「中間下位」状態から「E」と「F」との間をまたがる第3の「中間中位」状態にプログラムされる。プログラムのベリファイは境界DVEに対して行われる。
【0076】
図14の(3)および(4)は、3ビットのLM符号を使用する上ページプログラミングを示す。上ページプログラミングは、1回目および2回目、すなわち、下ページおよび中ページプログラミングに基づいて実施される。所与の上位ビットは、下位および中位ビットに応じて異なるメモリ状態を表すことができる。3回目のプログラミングでは、セルが上位ビットが「1」のとき下位および中位ビットが「1」、すなわち(1,1,1)であれば、そのセルに対してプログラミングは行わず「Gr」の状態のままである。その一方で、上位ビットが「0」のとき下位および中位ビットが「1」、すなわち(0,1,1)であれば、セルは、「Gr」状態から「A」状態にプログラムされる。「A」状態にプログラミングする間、ベリファイは境界DVA に対して行われる。
【0077】
同様に、セルが上位ビットが「0」のとき下位および中位ビットがそれぞれ「0」および「1」、すなわち(0,0,1)であれば、セルは、第1の「中間中位」状態から「B」にプログラムされる。プログラムのベリファイは境界DVB に対して行われる。セルが上位ビットが「1」のとき下位および中位ビットがそれぞれ「1」および「0」、すなわち(1,0,1)であれば、セルは、第1の「中間中位」状態から「C」にプログラムされる。プログラムのベリファイは境界DVC に対して行われる。
【0078】
同様に、セルが上位ビットが「1」のとき下位および中位ビットがそれぞれ「0」および「0」、すなわち(1,0,0)であれば、セルは、第2の「中間中位」状態から「D」にプログラムされる。プログラムのベリファイは境界DVD に対して行われる。セルが上位ビットが「0」のとき下位および中位ビットがそれぞれ「0」および「0」、すなわち(0,0,0)であれば、セルは、第2の「中間中位」状態から「E」にプログラムされる。プログラムのベリファイは境界DVE に対して行われる。
【0079】
同様に、セルが上位ビットが「0」のとき下位および中位ビットがそれぞれ「1」および「0」、すなわち(0,1,0)であれば、セルは、第3の「中間中位」状態から「F」にプログラムされる。プログラムのベリファイは境界DVF に対して行われる。セルが上位ビットが「1」のとき下位および中位ビットがそれぞれ「0」および「1」、すなわち(1,1,0)であれば、セルは、第2の「中間中位」状態から「G」にプログラムされる。プログラムのベリファイは境界DVG に対して行われる。
【0080】
上ページプログラミングは、「Gr」状態または「中間中位」状態のうちの1つから次の隣接するメモリ状態へのプログラミングを含むだけであるため、プログラミングの度に電荷は少しも変化しない。これはBL−BLユーピン効果を軽減するのに役立つ。
【0081】
4ビット、5ビットおよびそれ以上のビットのLM符号化についても、同様な原理が適用され、nビット符号は、n個のデータページを有し、各ページは符号の所与のビットを与えるページ内のあらゆるセルから形成される。さらに重要なことは、下位ビットページから上位ビットページにプログラミングすることでセルの電荷の変化が緩やかになり、これによって、メモリセルのページ内のユーピン効果による摂動量を抑制することである。
【0082】
ワード線間のユーピン効果
摂動が隣接するワード線上のメモリセル間に存在するWL−WLユーピン効果については、好適なプログラミング方式を使用するプログラミングの間に軽減することができる。これによって摂動が効率的に半分に低減される。残りの半分は、好適な「先行」読み出し方式を使用することによって読み出し中に訂正することもできる。
【0083】
好適なプログラミング方式は、最適なシーケンスでプログラムされたワード線に関連するページを有する。例えば、あらゆる物理ページが2値データのページを保持する2値メモリの場合は、ページは、下から上のように一貫した方向に沿って順にプログラムされるのが好ましい。このようにして、特定ページがプログラムされる場合、その下側のページも既にプログラムされている。現在のページ上にどんな摂動効果が存在しても、現在のページはこのような摂動を考慮してプログラム−ベリファイされていると見なされる。本質的には、ページをプログラミングするシーケンスは、プログラムされている現在のページがプログラムされた後で受ける環境の変化を最小限にできるようにするべきである。したがって、各プログラムされたページは、その上側のページによって摂動を受けるだけであり、このプログラムシーケンスによって、WL−WLユーピン効果は効率的に半分に低減される。
【0084】
メモリセルの各物理ページが複数状態であり、その結果得られる複数の論理データページが異なるパスでプログラムされるメモリの場合には、シーケンスはそれほど単純ではない。例えば、2ビットメモリでは、ワード線に関連する各物理ページは、各セルからの2ビットデータの単一ページ、または各セルからそれぞれ1ビットデータの下位および上位ビットによる2つの別々の論理ページと見なすことができる。したがって、物理ページは、2ビットを用いる1パス、または最初に下位ビットページを用いて次に上位ビットページを用いる2つの別々のパスでプログラムすることができる。各物理ページが2つの別々のパスでプログラムされる場合、修正された最適なシーケンスが可能である。
【0085】
図15は、2ビットのメモリセルを有し、そのページが隣接するワード線上のメモリセル間のユーピン効果を最小限に抑えるように最適なシーケンスでプログラムされるメモリの実施例を示す。便宜上、表記は、物理ページP0,P1,P2・・・がそれぞれワード線W0,W1,W2・・・に存在するようにする。2ビットメモリでは、各物理ページは、それに関連する2つの論理ページ、すなわち、それぞれ2値データを有する下位ビットおよび上位ビット論理ページを有する。一般に、特定の論理ページは、LP(Wordline.logical_page)で与えられる。例えば、W0上のP0の下位ビットおよび上位ビットページは、それぞれLP(0.0)およびLP(0.1)と名付けられ、W2上の対応するページは、それぞれLP(2.0)およびLP(2.1)となる。
【0086】
本質的に、論理ページのプログラミングは、プログラムされている現在のページが、プログラムされた後で受ける環境の変化を最小限にできるように、シーケンスnに従う。この場合もやはり、下から上への1つの一貫した方向にだんだんと増加しながら移動することは、片側からの摂動を消すのに役立つ。さらに、各物理ページは、プログラミングが物理ページを上昇しながら2つのプログラミングパスを有することができるため、現在の上位ビットページをプログラムする場合に摂動効果が考慮されるように、隣接する下位ビットページが既にプログラムされた後で現在の上位ビットページをプログラムする方が良い。したがって、プログラミングがLP(0.0)から開始される場合、シーケンスは、0,1,2・・・n・・・のページプログラミング順序で割り当てられ、LP(0.0),LP(1.0),LP(2.0),LP(1,1),LP(3,0),LP(2.1)・・・となる。
【0087】
読み出し中のWL−WLユーピン効果の訂正(先行または「LA」読み出し)
LA読み出し方式は、「Read Operations for Non-Volatile Storage that Includes Compensation for Coupling」という2006年10月公開の米国公開特許出願第2006/0221714号(特許文献19)に開示され、その全体が本願明細書において参照により援用されている。基本的に、LA(先行)訂正を用いる読み出しは、隣接するワード線上のセルにプログラムされたメモリ状態を調査して、現在のワード線上で読み出されているメモリセルに影響するどんな摂動効果も訂正する。前述した好適なプログラミング方式に従ってページがプログラミングされた場合、隣接するワード線は、現在のワード線の真上にあるワード線からとなる。LA訂正方式には、現在のページの前に読み出される隣接するワード線上のデータが必要となる。
【0088】
例えば、図15を参照して、読み出される現在のページ(m)がWLm(例えば、WL1)上にある場合、LA読み出しは、次のワード線WLm+1(例えば、WL2)をまず読み出し、データ結果を1つのデータラッチに保存する。次に、現在のページは、WLm+1の結果を考慮して検知される。
【0089】
図15に関係して前述したように、好適なプログラミングシーケンスを用いる2ビットのLM符号では、下ページ(例えば、LP(1.0))は、DB またはDB 付近(中間状態)にプログラムされる。上ページ(例えば、LP(1.1))は、WLm+1の下ページ(例えば、LP(2.0))がプログラムされて始めてプログラムされる。したがって、下ページのWL−WLユーピン効果は完全になくなる。したがって、データ依存訂正は、「A」および「C」状態に対して実施されるだけであり、「Gr」または「B」状態に対しては実施されない。プログラミングがこのような最適化された順序に従わない場合、データ依存訂正は、4つの状態全てに対して実施される。
【0090】
LA読み出しの好適な実施では、ラッチを使用してLA読み出しが「A」または「C」状態もしくは「Gr」または「B」状態を検出したかどうかを示す。前者の場合、訂正は必要とされるが、後者の場合、訂正は必要とされない。現在の読み出しS1 (n)において対応するセルは、検知中にワード線の電圧を上げるなどのように、検知パラメータを適切に調整することによって訂正される。訂正は、調整をして1度検知し、調整なしで改めて検知することによって、現在のページ全体について行われる。したがって、ページの各セルのデータは、ラッチが訂正を示すか否かに応じてこのような2回の検知から選択される。
【0091】
LM符号を用いる論理ページ毎の読み出しは、(第2のパス読み出しまたは読み出しデータのリセットによって)読み出し結果が確定される前にLMフラグをチェックする必要がある(図13Aおよび図13Bに関連する記載を参照)。LA訂正は、現在のワード線を読み出す前にまず次のワード線の読み出しを行う必要がある。したがって、次のワード線の読み出しからのLMフラグと現在のワード線からのLMフラグとの両方が、状態マシンによってチェックされる必要がある。これら2つのLMフラグは、I/Oバスが読み出しデータをトグルするために使用中でないときに、I/Oバスを介して状態マシンに出力される必要がある。「全ビット」または「フルシーケンス」読み出しの場合には、LMフラグのチェックは必要ない。
【0092】
1つのワード線から別のワード線へのデータのコピー
図16は、メモリアレイ内で第1の場所のメモリセルのページのデータが第2の場所のメモリセルのページにコピーされるページコピー動作を示す。一般に、第1の場所は、1つの消去ブロック(例えば、ブロック1)内の第1のワード線WL−1を共有するメモリセルの第1のページ(ページ1)からであり、第2の場所は、別の消去ブロック(例えば、ブロック2)内の第2のワード線WL−2にある第2のページ(ページ2)からである。メモリセルの両方のページは、共通の一連のビット線、したがって、同様な一連の読み出し/書き込み回路を共有する(図6および図7を参照)。このような状況は、第1の消去ブロックが、有効データと不要データとが混ざったデータを含む統合またはガベージコレクション動作中に発生する。有効データは、第1の消去ブロックが消去され再利用される前に第2の消去ブロックにコピーされることによって救済される。
【0093】
図16は、データがメモリチップを離れることを必要としない従来の簡単なページコピーの実施を示す。この実施は、センス増幅器によって検知されデータラッチ430内にラッチされる、ワード線WL−1のページ1からのデータを有する(図9参照)。次に、ラッチされたデータはプログラムデータとして機能し、WL−2のページ2にプログラムし直される。ラッチされたデータは、I/O440を介してメモリチップから離れる必要がない。
【0094】
図17は、メモリ内の目的場所にコピーされる前に外部コントローラによって読み出されたデータの任意のエラーが訂正される好適なページコピー動作を示す。この配置は、図14に示される配置と類似しているが、読み出しデータがデータラッチ430内にラッチされた後、I/O440から外部メモリコントローラ150に転送されてデータがチェックされエラーが訂正される点が異なる。データが1つの場所から別の場所にコピーされると、データは、トグルアウトされてチェックされるか(例えば、エラーについて)、更新されるか(ヘッダの更新など)、その両方か(検知されたエラーの訂正など)、あるいは暗号化および復号または圧縮などの他の何らかの目的のためにデータ処理される場合が多い。
【0095】
一般に、ECC(誤り訂正符号)がデータページについて計算され、そのデータページとともに保存される。データページが読み出されると、関連するECCに対してチェックされ、所定数のビットエラーまでECCによって訂正することができる。通常、メモリアレイおよび周辺回路を含むメモリチップ100(図1参照)は、ECCエラーを評価して訂正するのに充分な計算能力を有していない。ECC処理は、外部メモリコントローラ150によって実施される。そのため、読み出しデータは、メモリチップからメモリコントローラにECC処理のために転送される必要がある。そうであれば、訂正後のデータは、メモリコントローラからデータラッチまで送り返される。データラッチ内のデータがECC処理されると、そのページを目的場所にプログラミングし直す用意ができる。
【0096】
キャッシュページコピー
データラッチと外部メモリコントローラとの間でデータを往復させるのに時間がかかる。前述したように、多数のページを含む消去ブロックでは、データを最後まで再利用する必要がある。最新版のデータが新しいブロックにコピーされてからそのブロックは消去され再利用される。メモリデバイスのさらに新しい世代では、ブロックの大きさおよびページの大きさが増大し、各メモリセルがより多くのビットを記憶できるようになるに従い、ブロックコピー時間は長くなる可能性がある。さらに、WL−WLユーピン効果を訂正するために隣接するワード線(「WL」)の読み出しを含むことがあるので、読み出しはさらに多くのパスを含む可能性がある。
【0097】
一般に、ブロックコピーの性能を改善するため、プログラム時間内にデータ往復時間の少なくとも一部を隠すことによって、動作を短縮することができる。キャッシュページコピーは、2つの時間のかかる動作、データI/Oおよびプログラミングが同時に行われるように実施される。読み出しおよびプログラム動作がともにメモリの主要動作を含みながらインタリーブすると同時に、データラッチI/Oおよびプログラム動作を同時に行うことができる。したがって、前のページをプログラムしながら読み出しデータの現在のページをトグルアウトして修正することができる。
【0098】
従来の読み出し動作では、単一の論理ページの読み出しに対してただ1つのデータラッチが必要とされる。したがって、各セルについて、1つのラッチを使用して現在の読み出しからの単一のビットを保存し、別のラッチを使用して前の読み出しからのビットをキャッシュする。このようにして、現在の読み出しからのビットをトグルアウトしてデータを処理した後でラッチに戻すことができると同時に、既にデータ処理された前のビットのプログラミングを行うことができる。
【0099】
データ再配置およびキャッシュ動作の様々な形態は、2006年10月19日公開の米国公開特許出願第2006/0233026号(特許文献20)、2006年10月5日公開の米国公開特許出願第2006/0221704号(特許文献21)、2005年11月17日公開の米国公開特許出願第2005/0257120号(特許文献22)、2006年6月22日公開の米国公開特許出願第2006/0136687号(特許文献23)、および米国特許第6,266,273号(特許文献24)に記載され、その全体が本願明細書において参照により援用されている。
【0100】
WL−WLフローティングゲート結合効果を補償するため、LA読み出し(先行)読み出しが実施され、隣接するWLm+1にプログラムされた状態による摂動に基づいてWLmの読み出しを訂正する。摂動効果を補償するために、補償後の読み出しは、WLm+1で生じる4つのメモリ状態の各例に対して複数回検知される現在のWLmを含む。したがって、隣接するWLm+1からの読み出しデータを保存してからそれに応じて現在のWLmを読み出して補償することができるように、ラッチを設ける必要がある。2ビットメモリシステム(「D2」)の場合、WLm+1の読み出しのために2つのデータラッチが追加で必要とされる。3ビットメモリシステム(「D3」)の場合、WLm+1の読み出しのために3つのデータラッチが追加で必要とされる。
【0101】
WLm+1およびWLmのデータをともに記憶してさらにキャッシュを行うのに充分なラッチを有するメモリデバイスを構築することが可能であるが、ページの各メモリセルに最小限のラッチを使用しながらLA読み出しおよびキャッシュページコピーも実施することができることが望まれる。
【0102】
本発明の一般的な形態によれば、各メモリセルについて最小限の数のn+1個のデータラッチを効率的に使用することにより、nビットメモリは、隣接するワード線に記憶されるデータおよび効率的なデータの再配置を補償しながら読み出しを実施することができる。したがって、2ビットメモリは、読み出しを実施するために、メモリセル当たり3つのデータラッチを必要とするだけである。同様に、3ビットメモリは、隣接するワード線に記憶されるデータおよび効率的なデータの再配置を補償しながら読み出しを実施するために、メモリセル当たり4つのデータラッチを必要とするだけである。
【0103】
各セルが再配置されるnビットデータを記憶するページメモリセルでは、nビットデータのページを読み出し、各nビットデータからの1つのビットデータのn個の論理ページがラッチされるようにnビットラッチの対応するページ内にこれをラッチし、データ処理のためにn個の論理データページの各ページを所定の順序でページ毎に送り出し、いかなる修正ビットも元のラッチに送り返し、と同時に処理データをページ毎にプログラムすることによって達成される。このようにして、データをトグルアウトおよびバックする時間の少なくとも一部は、書き込み動作の裏側に隠すことができ、これによって、ページコピーの性能を改善することができる。
【0104】
特に、nビット符号の全てのビットが全てのメモリ状態を分離するのに使用できるわけではない場合でも、プログラミングに使用可能な第1のデータページにより、プログラミングが消去状態から開始して所与のプログラムされた状態に達することができるように、論理データページは、データ処置のために所定の順序で送り出される。同様に、追加で使用できるページによって、プログラミングはさらに高くプログラムされた状態まで継続することができる。全ての符号ビットが使用可能になると、ページのあらゆるメモリセルの目標状態が定義されるため、プログラミングを終了することができる。
【0105】
図18は、本発明の一般的な実施形態によるキャッシュコピー方式についてのフローチャートである。前述したように、一般に、ページコピーは、ブロック統合またはガベージコレクション動作中のシステム動作としてメモリデバイスに導入されている。さらにホストによって要求されるホスト動作の場合もある。好適な実施形態では、この動作は、図1に示される状態マシン112によって駆動される制御回路110の制御のもとで実施される。
ステップ600:個別のメモリセルが、わずかにプログラムされた状態からほとんどプログラムされた状態までの範囲の複数のメモリ状態のうちの1つにそれぞれプログラム可能である、メモリセルのアレイを提供する。
ステップ602:複数のメモリ状態のそれぞれを符号化するために複数の符号ビットを有する複数ビット符号を提供する。
ステップ610:より多くの上位符号ビットが使用可能であるほどより多くの高くプログラムされた状態が復号可能であるような符号ビットのビット順序をあらかじめ決める。
ステップ620:第1のセル群のメモリセルから読み出してそのメモリ状態を決定する。
ステップ622:複数ビット符号を用いて各メモリ状態を複数ビットデータとして符号化する。
ステップ624:第1のセル群のあらゆるメモリセルの複数ビットデータをラッチする。
ステップ626:符号ビットの数と同数のデータ群にラッチされたデータをグループ分けする。ただし各データ群は、第1のセル群のあらゆるメモリセルから同じ符号ビットを集めたものである。
ステップ630:各データ群のビットをデータ処理のために外部ホストまたはコントローラに送り出し、各データ群を更新するためにいかなる修正ビットも送り返すことによって、所定のビット順序に従ってデータ群毎にデータ群を処理する。
ステップ632:ステップ630の何れかのデータ群が何れかのデータ群の処理と同時に処理された場合は、第2のメモリセル群の個々のメモリセルを、処理後のデータ群からの利用可能な符号ビットで復号化できる最も高いメモリ状態までプログラミングする。
ステップ634:ステップ630およびステップ632を、複数ビット符号の全ての符号ビットがプログラミングを完了させるために利用可能になるまで繰り返す。
【0106】
図19の(0)〜(3)は、図18に示されるキャッシュコピー方式の符号化およびプログラミング部分について2ビットのLM符号を使用する実施例を示す。図11の(0)と同様に、図19の(0)は、4状態メモリアレイのしきい電圧分布を示す。この場合、ステップ600でのメモリセルは、4つのメモリ状態のうちの1つにそれぞれプログラム可能である。図19の(3)は、ステップ602で提供されるような、4つの各メモリ状態についての例として示す2ビットのLM符号化を示す。
【0107】
図19の(3)で示されるように、2ビットのLM符号は、2つの符号ビット、すなわち、下位ビットおよび上位ビットを有する。ページキャッシュコピーの場合、コピー先は最初は消去メモリセルのページであり、その最初のしきい値分布は、図19の(1)に示される。
【0108】
図19の(1)〜(3)は、本発明の好適な実施形態による、2ビットのLM符号の適応フルシーケンスプログラミングを示す。このプログラミングモードは、図11の(1)〜(3)に示される下および上ページの2パスプログラミングとはかなり異なり、図12の(1)および(2)に示されるフルシーケンスプログラミングとも異なる。
【0109】
前述したフルシーケンスプログラミングでは、全ての可能なメモリ状態を分離するために、複数ビット符号の全てのビットが使用可能である。プログラミングは最も少なくプログラムされた「Gr」状態から開始され、全てのプログラム状態は並列にプログラムされる。目標状態として「A」状態を有するこれらのメモリセルは、「A」状態にプログラムされたらさらにプログラムされることを禁止され、同時に「B」および「C」を有する他のメモリセルはさらにプログラムされる。その結果、目標状態として「B」を有するメモリセルもさらにプログラムされることを封じられる。同様にして、最終的に目標状態として「C」を有するメモリセルがこれに続く。
【0110】
好適な実施形態の適応フルシーケンスプログラミングでは、複数ビット符号の全てのビットがすぐに利用できるわけではない。一般に、最初は1つのビットが使用可能であり、次いで、次のビットさらに次のビットが続いて、最後に複数ビット符号の全てのビットがそろう。全てのビットが使用可能になるまで待ってからプログラミングが開始できるのではなく、適応プログラミングモードでは、全ビットより少ないビットでもプログラミングが可能になる。最初に利用可能なビットが、最初の2つのメモリ状態、すなわち、「Gr」と「A」との間を分離することができる場合にこれが可能である。上位ビットは、最も低い2つのメモリ状態の間を分離することができることが、図19の(2)から分かる。上位ビットが「1」の場合、メモリ状態はプログラミングのない「Gr」の状態のままである。「0」の上位ビットを有するメモリセルでは、初期の段階で、せいぜい「A」にプログラムすることができるだけである。このようにして、2ビット符号の単に1ビットが利用できる場合でも、プログラミングは、オーバプログラミングの危険なしで開始することができる。その結果、2番目の下位ビットが利用可能になると、2ビットの符号は完成し、4つの可能なメモリ状態を全て分離することができる。その後、プログラミングは、図12の(1)および(2)に関連して説明されるフルシーケンスモードと同様に進行する。
【0111】
したがって、例として示す2ビットのLM符号では、図18のステップ610は、上位ビットが下位ビットの前にくるようにあらかじめ決めされた符号ビットのビット順序を有することになる。
ステップ620では、メモリセル群が読み出され、その群の各メモリセルのメモリ状態が決定される。
【0112】
ステップ622では、「上位ビット下位ビット」で表現される、例として示す2ビットのLM符号を使用して、メモリ状態「Gr」は「11」、「A」は「01」、「B」は「00」、「C」は「10」として符号化される。一実施形態では、各メモリセルの2ビットデータは、2つのパスで検知することができ、それぞれ、一方はページの各メモリセルからの下位ビットから成る下論理ページデータであり、他方は図13Aおよび図13Bに示される上論理ページデータである。下論理ページ読み出しパスは、DB で検知することを含み、これに対して、上論理ページのパスは2つのサブパスを含み、一方はDA で検知し他方はDC で検知する。別の実施形態では、2ビットデータは、「フルシーケンス」モードで検知することができ、2つのビットは、3つのサブパスで読み出し境界しきい値DA 、DB およびDC に対してそれぞれ検知することにより1パスで同時に検知される。
【0113】
ステップ624では、セル群の各メモリセルからの2ビットデータがラッチされる。例えば、図9に示されるデータラッチ434−1および434−2を使用して、各メモリセルの下位および上位ビットをラッチすることができる。
【0114】
ステップ626では、ラッチデータは、2ビット符号の符号ビットの数に対応する2つのデータ群にグループ分けされる。第1は、メモリセル群から全ての下位ビットを集めた下位ビットデータ群である。同様に第2は、メモリセル群から全ての上位ビットを集めた上位ビットデータ群である。
【0115】
ステップ630では、各データ群からのビットが、一度に1つの群でデータ処理される。各データ群からのビットは、データ処理のためにコントローラに出力され、データ群を更新するためにどんな修正も送り返される。この場合、2つのデータ群は、ステップ610で与えられた所定の順序、すなわち、上位ビットのデータ群に続いて下位ビットのデータ群という順序に従って処理される。したがって、まず上位ビットのデータ群が、データ処理のために上位ビットをコントローラに出力し、上位ビットのデータ群を更新するためにいかなる修正ビットも送り返すことによって処理される。その後、下位ビットのデータ群の処理がこれに続く。
【0116】
ステップ632では、ステップ630で最初のラッチ群を処理する最初の繰り返しの間、処理データは同時プログラミングにまだ使用することができない。
ステップ634では、2ビットの符号の全ての符号ビットを使用できるわけではないため、動作は、ステップ630に戻る。
ステップ630(2)では、下位ビットデータが次に処理される。「630」に付加される「(2)」は、ステップの2回目の繰り返しを示すのに使用される。
【0117】
ステップ632(2)では、上位ビットのデータ群は、前のステップ632で用意された更新データで処理された。プログラミングは、使用可能な上位ビットデータを使用して進めることができる。「1」を有するメモリセルはプログラムされず、「0」を有するメモリセルは、上位ビットだけを使用することによって復号可能な状態「A」である次のプログラムされた状態にプログラムされる。上位ビットのデータ群を使用するプログラミングは、ステップ630(2)の下位ビットのデータ群の処理と同時に行われる。
【0118】
ステップ634(2)では、2ビット符号の全ての符号ビットがプログラミングを完了させるのに使用できるわけではないため、動作は、ステップ630(3)に戻る。
ステップ630(3)では、上位および下位ビットのデータ群は全て処理されたので、処理する群はもうない。
ステップ632(3)では、上位ビットに加えて、下位ビットもここで使用可能である。したがって、プログラミングは、全ての符号ビット(「上位、下位」)を使用するフルシーケンスモードで継続することができる。図19の(3)は、「11」を有するセルは「Gr」のままであり、「10」を有するセルは「Gr」から「C」にプログラムされ、「01」を有するセルは「A」のままであり、「00」を有するセルは「A」から「B」にプログラムされることを示す。
ステップ634(3)で、プログラミングを完了させるために2ビット符号の2つの符号ビットが全て使用可能になると、動作は終了する。
【0119】
ステップ630で説明されるプログラミングモードは、「適応フルシーケンス」プログラミングと見なすことができる。これは図12で説明される「フルシーケンス」プログラミングといくらか類似している。違いは、フルシーケンスの場合、全てのビット(この場合は、下位ビットと上位ビットとの両方)を使用して、ページの各セルがプログラムされる目標状態は何かを識別することである。プログラミングは、消去状態から始まる全てのセルに適用され、プログラムされた各セルがその目標状態に達すると、さらにプログラムされるのを禁止される。その一方で、適応フルシーケンスの場合は、最初のあいまいなまたは完全ではないビット情報は、ページのあらゆるメモリセルの目標状態を特定するには充分でないが、所与のメモリ状態でそのまま保持されるべき状態と次の状態にプログラムされることになる状態との間を識別するには充分である。より多くのビット情報が使用可能になるほど、分解能はさらに向上しますます高いメモリ状態にプログラミングを進めることができる。その結果、全てのビットが使用可能になると、プログラミングはフルシーケンスプログラミングになる。したがって、適応フルシーケンスプログラミングでは、一部のセルのプログラミングは、全てのビットが使用可能になるのを待つことなく、「有利なスタート(head start)」を切ることができる。
【0120】
図20の(0)〜(4)は、図18に示されるキャッシュコピー方式の符号化およびプログラミング部分について3ビットのLM符号を使用する実施例を示す。図14の(0)と同様に、図20の(0)は、4状態メモリアレイのしきい電圧分布を示す。その場合、ステップ600でのメモリセルは、8つのメモリ状態のうちの1つにそれぞれプログラム可能である。図20の(4)は、ステップ602で提供されるような、8つの各メモリ状態についての例として示す3ビットのLM符号化を示す。
【0121】
図20の(4)で示されるように、3ビットのLM符号は、3つの符号ビット、すなわち、下位ビット、中位ビットおよび上位ビットを有する。ページキャッシュコピーの場合、コピー先は消去メモリセルのページであり、その最初のしきい値分布は、図20の(1)に示される。
図20の(1)〜(4)は、本発明の好適な実施形態による、3ビットのLM符号の適応フルシーケンスプログラミングを示す。
【0122】
3ビットのLM符号を図18に示されるキャッシュページコピー方式に適用することは、前述した2ビットのLM符号を適用することと類似している。本質的に、3つの符号ビット、すなわち、「下位、中位、上位」ビットによって符号化される8つの状態がある。
図14の(0)と同様に、図20の(0)は、8状態メモリアレイのしきい電圧分布を示す。ページキャッシュコピーの場合は、コピー先は、消去メモリセルのページであり、その最初のしきい値分布は、図20の(1)に示される。
【0123】
下位、中位および上位ビットの3つの符号ビットは、最も低くプログラムされた状態から分離する能力によって順位付けされる。3ビットのLM符号では、上位ビットは、「Gr」状態に保持されるべきセル(上位ビット=1)と、次のプログラムされた状態にプログラムしてもよいセル(上位ビット=0)との間を識別することができることが図20の(2)から分かる。同様に、図20の(3)から分かるのは、上位ビットと中位ビットとを組み合わせると、「Gr」に保持されるべきセルと、「A」に保持されるべきセルと、「B」にプログラムしてもよいセルとの間を識別することができることである。同様に、図20の(4)から分かるのは、3ビット符号を完成させる上位、中位および下位ビットを組み合わせると、全ての可能なメモリ状態を識別することができ、フルシーケンスモードでプログラムを進めることができることである。したがって、3ビットのLM符号は、上位ビット、中位ビット、そして下位ビットの順に順序付けされる。
【0124】
上位、中位および下位の3つの符号ビットは、各符号ビットについて1つの群の3つのデータ群となる。前述した2ビットの場合と同様に、上位ビットデータ群が最初に処理される。次いで中位ビットデータ群がこれに続く。中位ビットデータ群が処理されているとき、上位ビットデータ群を使用してプログラミングが行われる。後で、下位ビットデータ群が処理されているとき、上位および中位のデータ群を両方使用してプログラミングが行われる。最後に、下位ビットデータ群が処理された後で。プログラミングは、3ビットのLM符号の3つの符号ビット全てを使用するフルシーケンスモードである。
【0125】
図18に関連して説明されるキャッシュページコピー方式は、相互に関連する少なくとも3つの形態で性能を改善する。
第1に、適応フルシーケンスモードのプログラミングは、ワード線に印加されるプログラミング電圧が単調増加関数であることを可能にする。プログラミングは、最も低いメモリ状態から最も高いメモリ状態までしきい値ウィンドウ全体に亘ってワンパスで行うことができる。このことは、プログラミング電圧が各パスの最初で最初のプログラミング電圧から再開する必要があるマルチパスプログラミングとはかなり異なる。
【0126】
第2に、適応機能は、全ての符号ビットがメモリ状態を完全に分離するのに使用できるわけではない場合でも、プログラミングを開始させることが可能である。複数ビット符号のうちの1ビットでも使用できると、プログラミングは開始することができる。
【0127】
第3に、各メモリセルのプログラミングは、1度に1ビットを連続的に付加しながら行うことができるため、第1ビットのデータ群を使用してメモリセル群をプログラムすると同時に、第2ビットのデータ群が同時にデータ処理されることによって用意される。したがって、データ処理時間は、プログラミング時間の裏側に隠すことができる。本発明のキャッシュページコピー方式は、nビット符号に対してn−1データ処理動作をプログラミング時間の裏側に隠すことができる。例えば、2ビット符号を使用して、1データ処理動作時間が節約される。3ビット符号では、2データ処理動作時間が節約される。
【0128】
最後に、隣接するワード線上のデータによる摂動効果に対する先行訂正を使用しても、本発明のキャッシュページコピー方式は、最小数のデータラッチを用いて実施することができる。nビットメモリでは、データラッチの数は、メモリセル当たりn+1個である。
【0129】
隣接するワード線からの摂動に対する訂正(LA読み出し)を有するキャッシュページコピー
好適な実施形態では、LM符号化データのページは、隣接するワード線(「WL」)による摂動に対する補償をしながら読み出される。WL−WLフローティングゲート結合効果を補償するため、先行(「LA」)読み出しが実施され、隣接するWLm+1にプログラムされた状態による摂動に基づいてWLmの読み出しを訂正する。LA読み出し技術は、Nima Mokhlesi による「READ OPERATION FOR NON-VOLATILE STORAGE WITH COMPENSATION FOR COUPLING」という2006年5月17日出願の米国特許出願第11/384,057号(特許文献25)に開示され、その全体が本願明細書において参照により援用されている。
【0130】
複数ビット符号化および「LA」訂正には、両方とも読み出しデータの単なるトグリングに加えて、追加のラッチおよびバスの動きが必要となるように見える。それにもかかわらず、図18に関連して説明されるキャッシュページコピー方式は、各nビットメモリセルに対して最小数のn+1個のラッチを用いて実施される。
【0131】
不揮発性メモリの読み出し動作中のフローティングゲート結合の効果を補償するには、選択されたワード線WLmに対する読み出し動作中に、隣接するワード線WLm+1から読み出されたデータへのアクセスが必要となる。要するに、読み出し/書き込み回路(例えば、図1の270A,270B)は、WLmに保存されるデータ値を決定すると同時に、ワード線WLm+1にアクセスする必要がある。このことは、特に特定の補償技術を目的とするチップスペースを最小限に抑えようとする場合に、メモリ設計者にとって問題となる可能性がある。2ビットのデータを記憶するメモリセルを有するメモリデバイスを考える。隣接するワード線WLm+1からのデータが、選択されたワード線WLmに対する読み出し動作中に使用できる場合、設計者は、ワード線WLm+1およびワード線WLmからのデータを、選択されたワード線WLmでの読み出し動作中に同時に保存できるだけの充分なデータラッチを含むように選択することができる。各メモリセルが2ビットのデータを記憶する場合、各ビット線について4つのデータラッチが必要である。2つのデータラッチは、ワード線WLm+1からの2ビットのデータを記憶することができ、もう2つのデータラッチは、ワード線WLmからの2ビットのデータを記憶することができる。同様に、3ビットデバイスには追加で3つのラッチを使用することもでき、4ビットデバイスには追加で4つのラッチなどとなる。この技術は効果的であるが、セル当たりに記憶されるビットの数に応じて各ビット線でデータレジスタを追加するのは、スペースの制限から一部の実施では受け入れられない。
【0132】
最小数のデータラッチを使用する好適なLA読み出し方式は、Man Lung MuiおよびSeungpil Leeによる「COMPLETE WORD LINE LOOK AHEAD WITH EFFICIENT DATA LATCH ASSIGNMENT IN NON-VOLATILE MEMORY READ OPERATIONS 」という2006年12月28日出願の米国特許出願第11/617,544号(特許文献26)に記載され、その全体が本願明細書において参照により援用されている。
【0133】
好適なLA読み出し方式では、nビットメモリセルのLA読み出しを実施するのにn+1個のラッチが必要とされるだけである。本質的には、WLm+1の摂動を与えるデータがまず読み出される。これにより、nビットのWLm+1の読み出しに対しセル当たりn個のラッチが満たされる。セル当たり1つの追加ラッチを使用して、所与のセルのn個のラッチ内のデータがWLm+1に関連するかWLmに関連するかを示すフラグを保存する。その後、WLmの補償された一連の読み出しが実施される。
【0134】
補償は、摂動強度の関数としてワード線読み出し電圧をバイアスすることによって達成することができる。例えば、WLm+1上の隣接するセルが状態「Gr」である場合、摂動はなく、WLmでの読み出しは、バイアスなしで実施される。WLm+1上の隣接するセルが状態「A」である場合、第1の量のバイアスがある。WLm+1上の隣接するセルが状態「B」である場合、第2の量のバイアスがある、などのようになる。
【0135】
あるいは、補償は、必要とされる訂正の関数として所与のメモリ状態を読み出すための境界しきい電圧を変更することによって達成することができる。
【0136】
補償された各読み出しパスの後、それぞれのメモリセルのメモリ状態が決定され、それらのデータは対応するラッチ内の対応するWLm+1のデータと置き換えられ、フラグはWLmのデータを示すように設定される。一般に、nビットメモリでは、WLm+1上に2n個の可能なメモリ状態が存在し、したがって同じ数の補償値が存在する。WLmを読み出す場合、4つの可能なメモリ状態の間を識別する2n −1個の境界点が存在する。したがって、一般に、WLmの補償された読み出しを完了させるために2n (2n −1)個のLA読み出しパスが存在する。例えば、2ビットメモリは総数12個の読み出しパスを有し、3ビットメモリは総数56個の読み出しパスを有する。LA読み出しが完了した後、ラッチ内の全てのWLm+1のデータは、WLmのデータに置き換えられる。したがって、好適なLA読み出し技術には、読み出し中にメモリセル当たりn+1個のラッチ、読み出し完了後にn個のラッチが必要となる。
【0137】
図21Aおよび図21Bは、3つのデータラッチを使用する例として示す2ビットメモリに対するLA読み出しの好適な実施方法について説明するフローチャートである。この実施例は、図11の(0)に示される実施例と同様に、セル当たり2ビットを記憶する4状態デバイスについて示される。ワード線WLm上のメモリセル群は、WLm+1上の隣接するメモリセルによる結合効果を補償しながら読み出される。各メモリセルに対する検知は、(状態「Gr」と「A」との間の)状態「A」レベル、(状態「A」と「B」との間の)状態「B」レベル、(状態「B」と「C」との間の)状態「C」レベルで実施される。後からプログラムされたワード線WLm+1の隣接するメモリセルの4つの可能な状態をそれぞれ考慮するように各レベルで検知する場合に補償が設けられる。
【0138】
各メモリセルに対する適切な検知動作の結果を選択するために、ワード線WLm+1上の隣接するメモリセルに関する情報が、WLmの対応するセルを検知すると同時に各ビット線について記憶される。ビット線のプロセッサは、この情報を使用して適切な検知動作の結果を選択する。例えば、2ビットの場合、各ビット線の一連のデータラッチDL0およびDL1は、選択されたワード線のメモリセルから読み出されたデータを保存する責任を負う。各ビット線の同様な一連のデータラッチも、選択されたワード線に隣接するワード線のメモリセルに関する情報を保存する。各ビット線の追加のデータラッチDL2は、データラッチが選択されたワード線のデータを保存しているか隣接するワード線のデータを保存しているかについての表示を記憶するフラグとして動作する。
【0139】
したがって、図21Aおよび図21Bの技術は、各ビット線のデータラッチを効率的に使用し、隣接するワード線WLm+1からのデータを保存するのに余分な一連のラッチが必要にならないようにする。図21Aおよび図21Bの実施例では、メモリセルは2ビットのデータを記憶するので3つのデータラッチが使用される。開示される原理は、様々なセル当たりのビット数(例えば、3、4、またはそれ以上)を有する実施に拡大することができる。一般に、各ビット線について必要とされるデータラッチ数は、個々のメモリセルによってそれぞれ記憶されるビット数より1つ多くなる。追加の1個のラッチは、現在記憶されているデータの履歴を特定する目的に使用される。
【0140】
図21Aおよび図21Bでは、DL0およびDL1と名付けられる2つのデータラッチが各ビット線について使用され、対応するビット線のメモリセルから読み出されたデータを保存する。DL2と名付けられる3番目のデータラッチが使用され、データラッチDL0およびDL1に現在保存されているデータが選択されたワード線WLmからのデータと一致するかどうか、あるいはそのデータが選択されたワード線に隣接するワード線WLm+1からのデータと一致するかどうかを示すフラグを保存する。
【0141】
読み出し動作は、ステップ700で隣接するワード線WLm+1を読み出すことによって開始する。隣接するワード線は、図11の(0)に示される3つの通常の基準レベルDA 、DB およびDC で読み出すことができる。一実施形態では、WLm+1を読み出す場合に補償は適用されない。ステップ702で、隣接するワード線のメモリセルのデータ値が決定される。ステップ704で、ワード線WLm+1における各ビット線のメモリセルのデータ値は、そのビット線の対応する一連のデータラッチDL0およびDL1に保存される。ステップ706では、各ビット線の3番目のデータラッチDL2が論理0に設定されて、データラッチDL0およびDL1内のデータが、WLm+1のメモリセルからのデータと一致することを示す。
【0142】
WLm+1の4つの可能な隣接する状態のそれぞれに対する読み出しである一群のサブ読み出しが、WLm上においてWLmの2つの状態の間を識別する各境界しきい値レベルで実施される。
【0143】
したがって、ステップ708〜ステップ722で、(状態「Gr」と「A」との間の)状態「A」レベルでの一群のサブ読み出しが、選択されたワード線WLmについて実施される。ステップ708での最初のサブ読み出しは、フローティングゲート結合を考慮する補償を提供しない。
【0144】
ステップ710で、各ビット線のプロセッサは、ビット線についてのデータラッチを更新するかどうかを決定する。ステップ708で、選択されたワード線のメモリセルがサブ読み出し中に導通しなかったビット線について、プロセッサは、データラッチ内に保存されている値を何も変更しない。メモリセルが導通したビット線について、プロセッサは、データラッチDL0およびDL1が状態「Gr」に対応するデータを現在保存しているかどうかを判断する。例えば、図11の(3)のデータ配置が使用される場合、プロセッサは、ラッチが両方とも論理1を保存しているかどうかを判断する。ラッチが論理11を保存していない場合、プロセッサは、データラッチ内の値を変更しない。両方のラッチが11を保存している場合、プロセッサは、3番目のデータラッチDL2が論理0を保存しているかどうかを判断する。論理0は、ラッチDL0およびDL1がWLm+1からのデータを保存し、上書きされるべきであることを示す。一実施形態では、プロセッサはラッチDL2をまずチェックし、DL2が論理0を保存している場合にラッチDL0およびDL1をチェックするだけでもよい。両方の条件が導通のあるメモリセルに対して満たされる場合、DL0およびDL1は消去状態に対応する所与のデータ値に設定される。3番目のデータラッチDL2は1に設定され、DL0およびDL1がワード線WLmのデータを現在保存していることを示す。DL2内の論理1は、ラッチDL0およびDL1が後のサブ読み出しの間に上書きされるのを防ぐ。
【0145】
ステップ712では、別の状態「A」のサブ読み出しが実施される。このとき、状態「A」にプログラムされている、WLm+1における隣接するメモリセルに対応する補償が適用される。
【0146】
各ビット線のプロセッサは、導通のあるメモリセルを有するビット線のラッチを更新するかどうかを判断するために別の論理シーケンスを実施する。DL0およびDL1が状態「A」のデータを保存していない(例えば、10)場合は、何も実施されない。保存している場合は、プロセッサは、DL2がWLm+1のデータが現在保存されていることを示す0を保存しているかどうかを判断する。DL2が0に設定されている場合は、プロセッサはDL0およびDL1に状態「Gr」のデータを上書きする。プロセッサは、DL2を1に設定してラッチがWLmからのデータを現在保存していることを示す。
【0147】
ステップ716では、状態「A」のサブ読み出しがWLmで実施されると同時に、状態「B」にプログラムされているWLm+1のセルに基づいて補償を適用する。導通のあるメモリセルについて、対応するビット線のプロセッサは、DL0およびDL1が状態「B」に対応するデータ(例えば、00)を保存しているかどうかを判断する。保存していない場合は何も実施されない。保存している場合は、プロセッサはDL2が論理0を保存しているかどうかを判断する。保存していない場合は、さらに何も実施されない。DL2が0に設定されている場合は、DL0およびDL1は状態「Gr」の所定のデータで上書きされ、DL2は1に設定されラッチがWLmからのデータを現在保存していることを示す。
【0148】
ステップ720では、状態「A」レベルでの最後のサブ読み出しが実施される。状態「C」にあるWLm+1の隣接するセルに基づく補償が適用される。導通のあるメモリセルについて、対応するビット線のプロセッサは、ラッチが状態1のデータ(例えば、01)を保存しているかどうかを判断する。DL2が2に設定されている場合は、何も実施されない。DL2が0に設定されている場合は、プロセッサは、DL2が0を保存しているかどうかを判断する。保存していない場合は、さらに何も実施されない。保存している場合は、プロセッサは、状態「Gr」の所定のデータでDL0およびDL1を上書きし、DL2を1に設定する。
ステップ724〜ステップ744では、状態「B」レベルでのサブ読み出しのシーケンスがワード線WLmに対して実施される。
【0149】
ステップ724での最初のサブ読み出しは、フローティングゲート結合に対して補償を提供しない。このサブ読み出しの結果は、消去状態「Gr」にあるWLm+1の隣接するセルを有するセルに適用可能である。導通のあるメモリセルについて、対応するプロセッサは、ビット線のDL0およびDL1が状態「Gr」のデータを保存しているかどうかを判断する。このステップのチェックにより、WLmでの現在の検知はデータがセルに保存されるべきワード線からであると判断する。DL0およびDL1が状態「Gr」に一致しない場合は、何も実施されない。DL0およびDL1が状態「Gr」に適合する場合は、プロセッサは、DL2は論理0を保存し、DL0およびDL1内のデータがWLm+1に対するものであり選択されたワード線WLmではないことを示すかどうかを判断する。DL2が1に設定されている場合、プロセッサは、DL0およびDL1内のデータを上書きしない。論理1は、DL0およびDL1のデータがWLmからであり、したがって、上書きされるべきでないことを示す。ステップ726では、DL2が0に設定されている場合、プロセッサは、DL0およびDL1内のデータを現在の一連のサブ読み出しに対応するデータで上書きする。この場合、プロセッサは、DL0およびDL1を状態「A」のデータ(例えば、10)に設定する。さらに、プロセッサは、DL2を1に設定し、DL0およびDL1が選択されたワード線からのデータを現在保存し、その後のWLmでのサブ読み出し中に上書きされるべきではないことを示す。
【0150】
ステップ728では、状態「B」のサブ読み出しがWLmで実施されると同時に、状態「A」にあるWLm+1のセルに基づいて補償を適用する。導通のあるメモリセルについて、対応するビット線のプロセッサは、DL0およびDL1が状態「A」に対応するデータを保存しているかどうかを判断する。保存していない場合は何も実施されない。保存している場合は、プロセッサはDL2が論理0を保存しているかどうかを判断する。保存していない場合は、ビット線に対してさらに何も実施されない。DL2が0に設定されている場合は、プロセッサはDL0およびDL1内のデータを状態「A」に対応するデータで上書きする。さらに、プロセッサは、DL2を論理1に設定する。
【0151】
ステップ732では、WLmが読み出されると同時に、状態「B」にあるWLm+1の隣接するセルを用いてメモリセルに補償を適用する。メモリセルに導通がある場合、対応するビット線のプロセッサは、そのビット線についてのDL0およびDL1が状態「B」のデータ(例えば、00)を共有しているかどうかを判断する。共有している場合は、プロセッサは、DL0およびDL1内のデータがWLmからであるか(DL2=1)、WLm+1からであるか(DL2=0)を判断する。そのデータがWLm+1からである場合は、プロセッサはDL0およびDL1を状態「A」に対応する所定のデータで上書きする。さらに、プロセッサは、DL2を論理1に設定する。どちらの条件も満たされない場合は、プロセッサはDL0〜DL2の内容を変更しない。
【0152】
ステップ736では、状態「B」のサブ読み出しがWLmで実施されると同時に、状態「C」にあるWLm+1の隣接するセルに基づいて補償を適用する。導通があるメモリセルについて、プロセッサは、DL0およびDL1が状態「C」に対応するデータ(例えば、01)を保存しているかどうかを判断する。保存していない場合は、何も実施されない。保存している場合は、プロセッサはDL2が論理0を保存しているかどうかを判断する。保存していない場合は、何も実施されない。保存している場合は、プロセッサはDL0およびDL1内のデータを状態「A」に対応するデータで上書きし、DL2を論理1に設定する。
ステップ740〜ステップ756は、状態「C」の読み出し基準電圧レベルで一連のサブ読み出しを実施する。
【0153】
ステップ740では、フローティングゲート結合に対する補償を含まない最初のサブ読み出しが実施される。導通があるメモリセルについて、対応するビット線のプロセッサは、DL0およびDL1が状態「Gr」に対応するデータを保存しているかどうかを判断する。保存していない場合は、そのビット線で何も実施されない。保存している場合は、プロセッサはDL2が論理0を保存しているかどうかを判断する。保存していない場合は、データラッチが既にWLmに対応するデータを共有しているため、そのデータラッチは変更されない。DL2が0に設定されている場合は、対応するプロセッサはDL0およびDL1内のデータを状態「B」に対応する所定のデータ(例えば、00)で上書きする。さらに、プロセッサは、DL2を1に設定し、DL0およびDL1がWLmのデータを現在保存していることを示す。
【0154】
ステップ744では、状態「C」のサブ読み出しが実施されると同時に、状態「A」にある隣接するセルに基づいて補償を適用する。導通があるメモリセルについて、ビット線のプロセッサは、DL0およびDL1が状態「A」に対応するデータを保存しているかどうかを判断する。保存していない場合は、何も実施されない。保存している場合は、プロセッサはラッチDL0およびDL1を状態「B」に対応するデータで上書きし、DL2を論理1に設定する。
【0155】
ステップ748では、状態「C」のサブ読み出しが実施されると同時に、状態「B」にある隣接するセルに基づいて補償を適用する。導通があるメモリセルについて、ビット線のプロセッサは、DL0およびDL1が状態「B」に対応するデータを保存しているかどうかを判断する。保存していない場合は、何も実施されない。保存している場合は、プロセッサはラッチDL0およびDL1を状態「B」に対応するデータで上書きし、DL2を論理1に設定する。
【0156】
ステップ752では、最後の状態「C」のサブ読み出しが実施されると同時に、状態「C」にある隣接するセルに基づいて補償を適用する。導通があるメモリセルについて、ビット線のプロセッサは、DL0およびDL1が状態「C」に対応するデータを保存しているかどうかを判断する。保存していない場合は、何も実施されない。保存している場合は、プロセッサはラッチDL0およびDL1を状態「C」に対応するデータで上書きし、DL2を論理1に設定する。
【0157】
ステップ756では、最後の論理シーケンスが実施される。ビットのプロセッサは、いずれかのビット線の3番目のラッチDL2が0に設定されているかどうかを判断する。DL2にまだ0を保存しているどのビット線も、どんな状態レベルでどんなサブ読み出しの間にも導通しなかったWLmのメモリセルを有する。したがって、このようなメモリセルは、最も高くプログラムされた状態である状態「C」にある。これらのビット線のプロセッサは、DL0およびDL1を状態「C」に対応するデータ(例えば、LM符号の論理01)に設定し、次いでDL2を1に設定し、ラッチがWLnに対応するデータを現在保存していることを示す。
【0158】
nビットメモリのためのn+1個のラッチを使用するLA読み出しを実施する技術が、図21Aおよび図21Bに示される2ビットの例について説明された。同様な技術は、n=3またはそれ以上のような他のn値に対しても容易に適用できることは明らかである。ある実施形態では、幾つかのメモリ状態がそれらの状態の間でより広いマージンを有し、あるいは摂動に対してより頑強であるため、時間を節約するために全ての補償を適用する必要はない。
【0159】
本願明細書で参照される全ての特許、特許出願、論文、書籍、仕様書、他の刊行物、文書および記事は、その全体が本願明細書において参照により援用されているものとする。援用されている刊行物、文書または本願明細書の事柄および文章のいずれかの間で用語の定義または使用が矛盾または衝突する場合には、本願明細書中の用語の定義または使用が優先するものとする。
【0160】
本発明の様々な形態が、特定の実施形態に関連して説明されてきたが、本発明は、本明細書に添付された特許請求の範囲によってのみ限定されるべきであることは言うまでもない。
【特許請求の範囲】
【請求項1】
個々のメモリセルがそれぞれ複数のメモリ状態のうちの1つにプログラム可能なメモリセルのアレイを有する不揮発性メモリにおいて、第1のメモリセル群から第2のメモリセル群に1群のデータをコピーする方法であって、
前記複数のメモリ状態のそれぞれを符号化するための複数の符号ビットを有する複数ビット符号を提供するステップと、
より多くの上位符号ビットが使用可能であるほどより多くの高くプログラムされた状態が復号可能であるように前記符号ビットのビット順序をあらかじめ決めるステップと、
前記第1のメモリセル群のメモリセルから読み出してその中の前記メモリ状態を決定するステップと、
前記複数ビット符号を用いて各読み出されたメモリ状態を複数ビットデータとして符号化するステップと、
前記第1のメモリセル群のあらゆるメモリセルの前記複数ビットデータをラッチするステップと、
前記ラッチされたデータを、符号ビットの数と同数のデータ群であって、各データ群が前記第1のメモリセル群のあらゆるメモリセルから同じ符号ビットを集めたものであるデータ群にグループ分けするステップと、
前記各データ群のビットをデータ処理のためにコントローラに出力し、各データ群を更新するためにいかなる修正ビットも送り返すことによって、前記所定の符号ビット順序に従ってデータ群毎に前記データ群を処理するステップと、
何らかのデータ群が何らかの追加のデータ群の処理と同時に処理された場合は、前記第2のメモリセル群の個々のメモリセルを、前記処理されたデータ群からの使用可能な符号ビットによって復号可能な最も高いメモリ状態までプログラミングするステップと、
前記複数ビット符号の符号ビットが前記プログラミングを完了させるために全て使用可能になるまで、前記処理および前記プログラミングを繰り返すステップと、
を含む方法。
【請求項2】
請求項1記載の方法において、
前記メモリセル群の各メモリセルの前記複数ビットデータをラッチするための一連のラッチであって、ちょうど前記複数の符号ビットに加えて追加ビットのための容量を有する一連のラッチを提供するステップをさらに含む方法。
【請求項3】
請求項1記載の方法において、
前記決定するステップが、隣接するワード線のメモリセルによる何らかの摂動効果を訂正することを含む方法。
【請求項4】
請求項1記載の方法において、
前記複数ビット符号が、2つのビットを含む方法。
【請求項5】
請求項1記載の方法において、
前記複数ビット符号が、3つのビットを含む方法。
【請求項6】
請求項1記載の方法において、
前記複数ビット符号が、4つのビットを含む方法。
【請求項7】
請求項1記載の方法において、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、異なる消去可能ブロックに属する方法。
【請求項8】
請求項1記載の方法において、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、同じ消去可能ブロックに属する方法。
【請求項9】
請求項1記載の方法において、
前記不揮発性メモリは、フラッシュEEPROMである方法。
【請求項10】
請求項1記載の方法において、
前記不揮発性メモリが、NAND構造を有する方法。
【請求項11】
請求項1記載の方法において、
前記不揮発性メモリが、取り外し可能なメモリカード上に存在する方法。
【請求項12】
請求項1記載の方法において、
前記不揮発性メモリが、フローティングゲート構造を有するメモリセルを有する方法。
【請求項13】
請求項1記載の方法において、
前記不揮発性メモリが、誘電体層構造を有するメモリセルを含む方法。
【請求項14】
請求項2記載の方法において、
前記決定するステップが、隣接するワード線のメモリセルによる何らかの摂動効果を訂正することを含む方法。
【請求項15】
請求項2記載の方法において、
前記複数ビット符号が、2つのビットを含む方法。
【請求項16】
請求項2記載の方法において、
前記複数ビット符号が、3つのビットを含む方法。
【請求項17】
請求項2記載の方法において、
前記複数ビット符号が、4つのビットを含む方法。
【請求項18】
請求項2記載の方法において、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、異なる消去可能ブロックに属する方法。
【請求項19】
請求項2記載の方法において、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、同じ消去可能ブロックに属する方法。
【請求項20】
請求項2記載の方法において、
前記不揮発性メモリは、フラッシュEEPROMである方法。
【請求項21】
請求項2記載の方法において、
前記不揮発性メモリが、NAND構造を有する方法。
【請求項22】
請求項2記載の方法において、
前記不揮発性メモリが、取り外し可能なメモリカード上に存在する方法。
【請求項23】
請求項2記載の方法において、
前記不揮発性メモリが、フローティングゲート構造を有するメモリセルを有する方法。
【請求項24】
請求項2記載の方法において、
前記不揮発性メモリが、誘電体層構造を有するメモリセルを含む方法。
【請求項25】
不揮発性メモリであって、
個々のメモリセルがそれぞれ複数のメモリ状態のうちの1つにプログラム可能なメモリセルのアレイと、
前記複数のメモリ状態のそれぞれを符号化するための複数の符号ビットを有する複数ビット符号と、
より多くの上位符号ビットが使用可能であるほどより多くの高くプログラムされた状態が復号可能であるようにあらかじめ決められた前記符号ビットのビット順序と、
メモリセル群の各メモリセルの前記複数ビットデータをラッチするための一連のラッチであって、ちょうど前記複数の符号ビットに加えて追加ビットのための容量を有する一連のラッチと、
第1のメモリセル群から第2のメモリセル群に一群のデータをコピーするという要求に応じるコントローラであって、
前記第1のメモリセル群のメモリセルから読み出してその中のプログラムされた前記メモリ状態を決定するステップと、
前記複数ビット符号を用いて各読み出されたメモリ状態を複数ビットデータとして符号化するステップと、
前記第1のメモリセル群のあらゆるメモリセルの前記複数ビットデータをラッチするステップと、
前記ラッチされたデータを、符号ビットの数と同数のデータ群であって、各データ群が前記第1のメモリセル群のあらゆるメモリセルから同じ符号ビットを集めたものであるデータ群にグループ分けするステップと、
前記各データ群のビットをデータ処理のためにコントローラに出力し、各データ群を更新するためにいかなる修正ビットも送り返すことによって、前記所定の符号ビット順序に従ってデータ群毎に前記データ群を処理するステップと、
何らかのデータ群が何らかの追加のデータ群の処理と同時に処理された場合は、前記第2のメモリセル群の個々のメモリセルを、前記処理されたデータ群からの使用可能な符号ビットによって復号可能な最も高いメモリ状態までプログラミングするステップと、
前記複数ビット符号の符号ビットが前記プログラミングを完了させるために全て使用可能になるまで、前記処理および前記プログラミングを繰り返すステップと、を含む動作を実施するコントローラと、
を含む不揮発性メモリ。
【請求項26】
請求項25記載の不揮発性メモリにおいて、
前記一連のラッチが、ちょうど前記複数の符号ビットに加えて追加ビットのための容量を有する不揮発性メモリ。
【請求項27】
請求項25記載の不揮発性メモリにおいて、
前記決定するステップが、隣接するワード線のメモリセルによる何らかの摂動効果を訂正することを含む不揮発性メモリ。
【請求項28】
請求項25記載の不揮発性メモリにおいて、
前記複数ビット符号が、2つのビットを含む不揮発性メモリ。
【請求項29】
請求項25記載の不揮発性メモリにおいて、
前記複数ビット符号が、3つのビットを含む不揮発性メモリ。
【請求項30】
請求項25記載の不揮発性メモリにおいて、
前記複数ビット符号が、4つのビットを含む不揮発性メモリ。
【請求項31】
請求項25記載の不揮発性メモリにおいて、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、異なる消去可能ブロックに属する不揮発性メモリ。
【請求項32】
請求項25記載の不揮発性メモリにおいて、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、同じ消去可能ブロックに属する不揮発性メモリ。
【請求項33】
請求項25記載の不揮発性メモリにおいて、
前記不揮発性メモリは、フラッシュEEPROMである不揮発性メモリ。
【請求項34】
請求項25記載の不揮発性メモリにおいて、
前記不揮発性メモリが、NAND構造を有する不揮発性メモリ。
【請求項35】
請求項25記載の不揮発性メモリにおいて、
前記不揮発性メモリが、取り外し可能なメモリカード上に存在する不揮発性メモリ。
【請求項36】
請求項25記載の不揮発性メモリにおいて、
前記不揮発性メモリが、フローティングゲート構造を有するメモリセルを有する不揮発性メモリ。
【請求項37】
請求項25記載の不揮発性メモリにおいて、
前記不揮発性メモリが、誘電体層構造を有するメモリセルを含む不揮発性メモリ。
【請求項38】
請求項26記載の不揮発性メモリにおいて、
前記決定するステップが、隣接するワード線のメモリセルによる何らかの摂動効果を訂正することを含む不揮発性メモリ。
【請求項39】
請求項26記載の不揮発性メモリにおいて、
前記複数ビット符号が、2つのビットを含む不揮発性メモリ。
【請求項40】
請求項26記載の不揮発性メモリにおいて、
前記複数ビット符号が、3つのビットを含む不揮発性メモリ。
【請求項41】
請求項26記載の不揮発性メモリにおいて、
前記複数ビット符号が、4つのビットを含む不揮発性メモリ。
【請求項42】
請求項26記載の不揮発性メモリにおいて、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、異なる消去可能ブロックに属する不揮発性メモリ。
【請求項43】
請求項26記載の不揮発性メモリにおいて、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、同じ消去可能ブロックに属する不揮発性メモリ。
【請求項44】
請求項26記載の不揮発性メモリにおいて、
前記不揮発性メモリは、フラッシュEEPROMである不揮発性メモリ。
【請求項45】
請求項26記載の不揮発性メモリにおいて、
前記不揮発性メモリが、NAND構造を有する不揮発性メモリ。
【請求項46】
請求項26記載の不揮発性メモリにおいて、
前記不揮発性メモリが、取り外し可能なメモリカード上に存在する不揮発性メモリ。
【請求項47】
請求項26記載の不揮発性メモリにおいて、
前記不揮発性メモリが、フローティングゲート構造を有するメモリセルを含む不揮発性メモリ。
【請求項48】
請求項26記載の不揮発性メモリにおいて、
前記不揮発性メモリが、誘電体層構造を有するメモリセルを含む不揮発性メモリ。
【請求項49】
不揮発性メモリであって、
個々のメモリセルがそれぞれ複数のメモリ状態のうちの1つにプログラム可能なメモリセルのアレイと、
前記複数のメモリ状態のそれぞれを符号化するための複数の符号ビットを有する複数ビット符号と、
より多くの上位符号ビットが使用可能であるほどより多くの高くプログラムされた状態が復号可能であるようにあらかじめ決められた前記符号ビットのビット順序と、
メモリセル群の各メモリセルの前記複数ビットデータをラッチするための一連のラッチであって、ちょうど前記複数の符号ビットに加えて追加ビットのための容量を有する一連のラッチと、
前記第1のメモリセル群のメモリセルから読み出してその中のプログラムされた前記メモリ状態を決定する手段と、
前記複数ビット符号を用いて各読み出されたメモリ状態を複数ビットデータとして符号化する手段と、
前記第1のメモリセル群のあらゆるメモリセルの前記複数ビットデータをラッチする手段と、
前記ラッチされたデータを、符号ビットの数と同数のデータ群であって、各データ群が前記第1のメモリセル群のあらゆるメモリセルから同じ符号ビットを集めたものであるデータ群にグループ分けする手段と、
前記各データ群のビットをデータ処理のためにコントローラに出力し、各データ群を更新するためにいかなる修正ビットも送り返すことによって、前記所定の符号ビット順序に従ってデータ群毎に前記データ群を処理する手段と、
何らかのデータ群が何らかの追加のデータ群の処理と同時に処理された場合は、前記第2のメモリセル群の個々のメモリセルを、前記処理されたデータ群からの使用可能な符号ビットによって復号可能な最も高いメモリ状態までプログラミングする手段と、
前記複数ビット符号の符号ビットが前記プログラミングを完了させるために全て使用可能になるまで、前記処理および前記プログラミングを繰り返す手段と、
を含む不揮発性メモリ。
【請求項50】
請求項49記載の不揮発性メモリにおいて、
前記一連のラッチが、ちょうど前記複数の符号ビットに加えて追加ビットのための容量を有する不揮発性メモリ。
【請求項1】
個々のメモリセルがそれぞれ複数のメモリ状態のうちの1つにプログラム可能なメモリセルのアレイを有する不揮発性メモリにおいて、第1のメモリセル群から第2のメモリセル群に1群のデータをコピーする方法であって、
前記複数のメモリ状態のそれぞれを符号化するための複数の符号ビットを有する複数ビット符号を提供するステップと、
より多くの上位符号ビットが使用可能であるほどより多くの高くプログラムされた状態が復号可能であるように前記符号ビットのビット順序をあらかじめ決めるステップと、
前記第1のメモリセル群のメモリセルから読み出してその中の前記メモリ状態を決定するステップと、
前記複数ビット符号を用いて各読み出されたメモリ状態を複数ビットデータとして符号化するステップと、
前記第1のメモリセル群のあらゆるメモリセルの前記複数ビットデータをラッチするステップと、
前記ラッチされたデータを、符号ビットの数と同数のデータ群であって、各データ群が前記第1のメモリセル群のあらゆるメモリセルから同じ符号ビットを集めたものであるデータ群にグループ分けするステップと、
前記各データ群のビットをデータ処理のためにコントローラに出力し、各データ群を更新するためにいかなる修正ビットも送り返すことによって、前記所定の符号ビット順序に従ってデータ群毎に前記データ群を処理するステップと、
何らかのデータ群が何らかの追加のデータ群の処理と同時に処理された場合は、前記第2のメモリセル群の個々のメモリセルを、前記処理されたデータ群からの使用可能な符号ビットによって復号可能な最も高いメモリ状態までプログラミングするステップと、
前記複数ビット符号の符号ビットが前記プログラミングを完了させるために全て使用可能になるまで、前記処理および前記プログラミングを繰り返すステップと、
を含む方法。
【請求項2】
請求項1記載の方法において、
前記メモリセル群の各メモリセルの前記複数ビットデータをラッチするための一連のラッチであって、ちょうど前記複数の符号ビットに加えて追加ビットのための容量を有する一連のラッチを提供するステップをさらに含む方法。
【請求項3】
請求項1記載の方法において、
前記決定するステップが、隣接するワード線のメモリセルによる何らかの摂動効果を訂正することを含む方法。
【請求項4】
請求項1記載の方法において、
前記複数ビット符号が、2つのビットを含む方法。
【請求項5】
請求項1記載の方法において、
前記複数ビット符号が、3つのビットを含む方法。
【請求項6】
請求項1記載の方法において、
前記複数ビット符号が、4つのビットを含む方法。
【請求項7】
請求項1記載の方法において、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、異なる消去可能ブロックに属する方法。
【請求項8】
請求項1記載の方法において、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、同じ消去可能ブロックに属する方法。
【請求項9】
請求項1記載の方法において、
前記不揮発性メモリは、フラッシュEEPROMである方法。
【請求項10】
請求項1記載の方法において、
前記不揮発性メモリが、NAND構造を有する方法。
【請求項11】
請求項1記載の方法において、
前記不揮発性メモリが、取り外し可能なメモリカード上に存在する方法。
【請求項12】
請求項1記載の方法において、
前記不揮発性メモリが、フローティングゲート構造を有するメモリセルを有する方法。
【請求項13】
請求項1記載の方法において、
前記不揮発性メモリが、誘電体層構造を有するメモリセルを含む方法。
【請求項14】
請求項2記載の方法において、
前記決定するステップが、隣接するワード線のメモリセルによる何らかの摂動効果を訂正することを含む方法。
【請求項15】
請求項2記載の方法において、
前記複数ビット符号が、2つのビットを含む方法。
【請求項16】
請求項2記載の方法において、
前記複数ビット符号が、3つのビットを含む方法。
【請求項17】
請求項2記載の方法において、
前記複数ビット符号が、4つのビットを含む方法。
【請求項18】
請求項2記載の方法において、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、異なる消去可能ブロックに属する方法。
【請求項19】
請求項2記載の方法において、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、同じ消去可能ブロックに属する方法。
【請求項20】
請求項2記載の方法において、
前記不揮発性メモリは、フラッシュEEPROMである方法。
【請求項21】
請求項2記載の方法において、
前記不揮発性メモリが、NAND構造を有する方法。
【請求項22】
請求項2記載の方法において、
前記不揮発性メモリが、取り外し可能なメモリカード上に存在する方法。
【請求項23】
請求項2記載の方法において、
前記不揮発性メモリが、フローティングゲート構造を有するメモリセルを有する方法。
【請求項24】
請求項2記載の方法において、
前記不揮発性メモリが、誘電体層構造を有するメモリセルを含む方法。
【請求項25】
不揮発性メモリであって、
個々のメモリセルがそれぞれ複数のメモリ状態のうちの1つにプログラム可能なメモリセルのアレイと、
前記複数のメモリ状態のそれぞれを符号化するための複数の符号ビットを有する複数ビット符号と、
より多くの上位符号ビットが使用可能であるほどより多くの高くプログラムされた状態が復号可能であるようにあらかじめ決められた前記符号ビットのビット順序と、
メモリセル群の各メモリセルの前記複数ビットデータをラッチするための一連のラッチであって、ちょうど前記複数の符号ビットに加えて追加ビットのための容量を有する一連のラッチと、
第1のメモリセル群から第2のメモリセル群に一群のデータをコピーするという要求に応じるコントローラであって、
前記第1のメモリセル群のメモリセルから読み出してその中のプログラムされた前記メモリ状態を決定するステップと、
前記複数ビット符号を用いて各読み出されたメモリ状態を複数ビットデータとして符号化するステップと、
前記第1のメモリセル群のあらゆるメモリセルの前記複数ビットデータをラッチするステップと、
前記ラッチされたデータを、符号ビットの数と同数のデータ群であって、各データ群が前記第1のメモリセル群のあらゆるメモリセルから同じ符号ビットを集めたものであるデータ群にグループ分けするステップと、
前記各データ群のビットをデータ処理のためにコントローラに出力し、各データ群を更新するためにいかなる修正ビットも送り返すことによって、前記所定の符号ビット順序に従ってデータ群毎に前記データ群を処理するステップと、
何らかのデータ群が何らかの追加のデータ群の処理と同時に処理された場合は、前記第2のメモリセル群の個々のメモリセルを、前記処理されたデータ群からの使用可能な符号ビットによって復号可能な最も高いメモリ状態までプログラミングするステップと、
前記複数ビット符号の符号ビットが前記プログラミングを完了させるために全て使用可能になるまで、前記処理および前記プログラミングを繰り返すステップと、を含む動作を実施するコントローラと、
を含む不揮発性メモリ。
【請求項26】
請求項25記載の不揮発性メモリにおいて、
前記一連のラッチが、ちょうど前記複数の符号ビットに加えて追加ビットのための容量を有する不揮発性メモリ。
【請求項27】
請求項25記載の不揮発性メモリにおいて、
前記決定するステップが、隣接するワード線のメモリセルによる何らかの摂動効果を訂正することを含む不揮発性メモリ。
【請求項28】
請求項25記載の不揮発性メモリにおいて、
前記複数ビット符号が、2つのビットを含む不揮発性メモリ。
【請求項29】
請求項25記載の不揮発性メモリにおいて、
前記複数ビット符号が、3つのビットを含む不揮発性メモリ。
【請求項30】
請求項25記載の不揮発性メモリにおいて、
前記複数ビット符号が、4つのビットを含む不揮発性メモリ。
【請求項31】
請求項25記載の不揮発性メモリにおいて、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、異なる消去可能ブロックに属する不揮発性メモリ。
【請求項32】
請求項25記載の不揮発性メモリにおいて、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、同じ消去可能ブロックに属する不揮発性メモリ。
【請求項33】
請求項25記載の不揮発性メモリにおいて、
前記不揮発性メモリは、フラッシュEEPROMである不揮発性メモリ。
【請求項34】
請求項25記載の不揮発性メモリにおいて、
前記不揮発性メモリが、NAND構造を有する不揮発性メモリ。
【請求項35】
請求項25記載の不揮発性メモリにおいて、
前記不揮発性メモリが、取り外し可能なメモリカード上に存在する不揮発性メモリ。
【請求項36】
請求項25記載の不揮発性メモリにおいて、
前記不揮発性メモリが、フローティングゲート構造を有するメモリセルを有する不揮発性メモリ。
【請求項37】
請求項25記載の不揮発性メモリにおいて、
前記不揮発性メモリが、誘電体層構造を有するメモリセルを含む不揮発性メモリ。
【請求項38】
請求項26記載の不揮発性メモリにおいて、
前記決定するステップが、隣接するワード線のメモリセルによる何らかの摂動効果を訂正することを含む不揮発性メモリ。
【請求項39】
請求項26記載の不揮発性メモリにおいて、
前記複数ビット符号が、2つのビットを含む不揮発性メモリ。
【請求項40】
請求項26記載の不揮発性メモリにおいて、
前記複数ビット符号が、3つのビットを含む不揮発性メモリ。
【請求項41】
請求項26記載の不揮発性メモリにおいて、
前記複数ビット符号が、4つのビットを含む不揮発性メモリ。
【請求項42】
請求項26記載の不揮発性メモリにおいて、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、異なる消去可能ブロックに属する不揮発性メモリ。
【請求項43】
請求項26記載の不揮発性メモリにおいて、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第1のメモリセル群および前記第2のメモリセル群が、同じ消去可能ブロックに属する不揮発性メモリ。
【請求項44】
請求項26記載の不揮発性メモリにおいて、
前記不揮発性メモリは、フラッシュEEPROMである不揮発性メモリ。
【請求項45】
請求項26記載の不揮発性メモリにおいて、
前記不揮発性メモリが、NAND構造を有する不揮発性メモリ。
【請求項46】
請求項26記載の不揮発性メモリにおいて、
前記不揮発性メモリが、取り外し可能なメモリカード上に存在する不揮発性メモリ。
【請求項47】
請求項26記載の不揮発性メモリにおいて、
前記不揮発性メモリが、フローティングゲート構造を有するメモリセルを含む不揮発性メモリ。
【請求項48】
請求項26記載の不揮発性メモリにおいて、
前記不揮発性メモリが、誘電体層構造を有するメモリセルを含む不揮発性メモリ。
【請求項49】
不揮発性メモリであって、
個々のメモリセルがそれぞれ複数のメモリ状態のうちの1つにプログラム可能なメモリセルのアレイと、
前記複数のメモリ状態のそれぞれを符号化するための複数の符号ビットを有する複数ビット符号と、
より多くの上位符号ビットが使用可能であるほどより多くの高くプログラムされた状態が復号可能であるようにあらかじめ決められた前記符号ビットのビット順序と、
メモリセル群の各メモリセルの前記複数ビットデータをラッチするための一連のラッチであって、ちょうど前記複数の符号ビットに加えて追加ビットのための容量を有する一連のラッチと、
前記第1のメモリセル群のメモリセルから読み出してその中のプログラムされた前記メモリ状態を決定する手段と、
前記複数ビット符号を用いて各読み出されたメモリ状態を複数ビットデータとして符号化する手段と、
前記第1のメモリセル群のあらゆるメモリセルの前記複数ビットデータをラッチする手段と、
前記ラッチされたデータを、符号ビットの数と同数のデータ群であって、各データ群が前記第1のメモリセル群のあらゆるメモリセルから同じ符号ビットを集めたものであるデータ群にグループ分けする手段と、
前記各データ群のビットをデータ処理のためにコントローラに出力し、各データ群を更新するためにいかなる修正ビットも送り返すことによって、前記所定の符号ビット順序に従ってデータ群毎に前記データ群を処理する手段と、
何らかのデータ群が何らかの追加のデータ群の処理と同時に処理された場合は、前記第2のメモリセル群の個々のメモリセルを、前記処理されたデータ群からの使用可能な符号ビットによって復号可能な最も高いメモリ状態までプログラミングする手段と、
前記複数ビット符号の符号ビットが前記プログラミングを完了させるために全て使用可能になるまで、前記処理および前記プログラミングを繰り返す手段と、
を含む不揮発性メモリ。
【請求項50】
請求項49記載の不揮発性メモリにおいて、
前記一連のラッチが、ちょうど前記複数の符号ビットに加えて追加ビットのための容量を有する不揮発性メモリ。
【図1】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13A】
【図13B】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21A】
【図21B】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13A】
【図13B】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21A】
【図21B】
【公表番号】特表2010−520575(P2010−520575A)
【公表日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2009−552806(P2009−552806)
【出願日】平成20年2月29日(2008.2.29)
【国際出願番号】PCT/US2008/055449
【国際公開番号】WO2008/109411
【国際公開日】平成20年9月12日(2008.9.12)
【出願人】(506197901)サンディスク コーポレイション (175)
【Fターム(参考)】
【公表日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願日】平成20年2月29日(2008.2.29)
【国際出願番号】PCT/US2008/055449
【国際公開番号】WO2008/109411
【国際公開日】平成20年9月12日(2008.9.12)
【出願人】(506197901)サンディスク コーポレイション (175)
【Fターム(参考)】
[ Back to top ]