JP2013534685A - フラッシュメモリのためのマルチページプログラム方式 - Google Patents

フラッシュメモリのためのマルチページプログラム方式 Download PDF

Info

Publication number
JP2013534685A
JP2013534685A JP2013519925A JP2013519925A JP2013534685A JP 2013534685 A JP2013534685 A JP 2013534685A JP 2013519925 A JP2013519925 A JP 2013519925A JP 2013519925 A JP2013519925 A JP 2013519925A JP 2013534685 A JP2013534685 A JP 2013534685A
Authority
JP
Japan
Prior art keywords
data
programming
state
flash memory
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013519925A
Other languages
English (en)
Inventor
ジン−キ キム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mosaid Technologies Inc
Original Assignee
Conversant Intellectual Property Management Inc
Mosaid Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Conversant Intellectual Property Management Inc, Mosaid Technologies Inc filed Critical Conversant Intellectual Property Management Inc
Publication of JP2013534685A publication Critical patent/JP2013534685A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

1つのプログラム動作サイクルにおいてデータの複数のビットをフラッシュ・メモリセルへプログラムするための回路および方法。フラッシュ・メモリ・アレイの1物理ページへプログラムされるべきデータの複数のページが、メモリデバイス上のページバッファまたは他の記憶手段に記憶される。プログラムされるべきセルに接続された選択されるワード線は、異なる時間間隔で所定のプログラムプロファイルを用いて駆動され、各所定のプログラムプロファイルは、消去しきい値電圧を特定の論理状態に対応する特定のしきい値電圧へシフトさせるように構成される。マルチページビット線コントローラが、各ビット線と関連付けられているデータの各ページに属するビットの特定の論理状態の組み合わせに応答して、各時間間隔の間にプログラミングを可能にし、または抑止するように当該の個々のビット線をバイアスする。

Description

本発明は一般に半導体デバイスに関し、詳細には、データの複数のビットを1つのフラッシュ・メモリセルへプログラムすることに関する。
フラッシュメモリは、例えばディジタルカメラや携帯用ディジタル音楽プレーヤなどといった家電製品用の大容量記憶として広く用いられている一般に使用される種類の不揮発性メモリである。現在利用可能なフラッシュ・メモリ・チップの密度は最大で数ギガバイト(GB)までのサイズとすることができ、このサイズは、1つのフラッシュチップのサイズが小さいため、一般的なUSBフラッシュドライブでの使用に適している。フラッシュメモリの別の新たな用途が、ラップトップコンピュータおよびデスクトップコンピュータで使用される従来のハード・ディスク・ドライブに取って代わるソリッド・ステート・ドライブである。
図1は、当分野で公知の典型的なフラッシュ・メモリ・デバイスの大まかなブロック図である。フラッシュ・メモリ・デバイス10は、入力/出力インターフェース回路と、制御回路と、メモリ回路と、メモリアレイとを含む。フラッシュ・メモリ・デバイス10の入力/出力インターフェース回路は、レディ/ビジー信号バッファ12と、制御信号バッファ14と、グローバル・データ・バッファ16とを含む。レディ/ビジー信号バッファ12は、個々のピンまたはポートによってレディ/ビジー信号R/B#を駆動する出力バッファである。本例では、制御信号バッファ14は、対応するピンまたはポートからフラッシュメモリ制御信号CE#、CLE、ALE、WE#、RE#およびWP#を受け取る入力バッファである。「#」で終わる信号名は、これ以降、アクティブ・ロー・レベル信号であるものであり、アクティブロー信号は「0」論理レベル、すなわち例えばVSS電圧レベルなどに対応する。これに対して、アクティブハイ論理レベル信号は、「1」論理レベル、すなわち例えばVDDまたはVCC電圧レベルに対応する。以下は前述の各制御信号の簡単な説明である。
コマンド・ラッチ・イネーブル(CLE):CLE入力信号は、動作モードコマンドの内部コマンドレジスタへのロードを制御するのに使用される。コマンドは、CLEがハイである間にWE#信号の立ち上がりエッジでI/Oポートからコマンドレジスタへラッチされる。
アドレス・ラッチ・イネーブル(ALE):ALE信号は、アドレス情報の内部アドレスレジスタへのロードを制御するのに使用される。アドレス情報は、ALEがハイである間にWE#信号の立ち上がりエッジでI/Oポートからアドレスレジスタへラッチされる。
チップ・イネーブル(CE#):デバイスは、デバイスがレディ状態にある間にCE#がハイになるときに低電力待機モードになる。CE#信号は、プログラムや消去や読み出しの動作中など、デバイスがビジー状態にあるとき(R/B#=L)には無視され、たとえCE#入力がハイになったとしても待機モードに入らない。
ライトイネーブル(WE#):WE#信号は、I/Oポートからのデータの取得を制御するのに使用される。
リードイネーブル(RE#):RE信号はシリアルデータ出力を制御する。データは、RE#の立ち下がりエッジ後に利用可能になる。また、この立ち下がりエッジでは内部列アドレスカウンタも増分される(Address=Address+1)。
I/Oポート(I/O0〜7):I/O0〜7ピンは、デバイスとの間でアドレス、コマンドおよび入力/出力データを転送するためのポートとして使用される。
ライトプロテクト(WP#):WP#信号は、意図しないプログラミングまたは消去からデバイスを保護するのに使用される。WP#がローのときに内部電圧調整器(高電圧発生器)はリセットされる。この信号は普通、入力信号が無効である電源オン/オフシーケンスの間にデータを保護するのに使用される。
レディ/ビジー(R/B#):R/B#はオープン・ドレイン・ピンであり、出力信号は、デバイスの動作状態を示すのに使用される。R/B#信号は、プログラム、消去および読み出しの動作中はビジー状態(R/B#=L)にあり、動作の完了後にレディ状態(R/B#=H)に戻る。
図1の例のグローバル・データ・バッファ16は、それぞれの入力/出力(I/O)ピンまたはポート上で書き込みデータを受け取り、読み出しデータを提供する双方向バッファである。フラッシュ・メモリ・デバイス10は、8個のそのようなポートI/O0〜I/O7を有するものとして示されているが、代替のデータ幅構成では8個より多い、または少ないポートを備えることもできる。また、これらのI/Oポートは、アドレスおよびコマンド情報を受け取るのにも使用される。
フラッシュ・メモリ・デバイス10の制御回路は、コントローラ18と、コマンドレジスタ20と、アドレスレジスタ22と、状態レジスタ24とを含む。コントローラ18は、フラッシュ・メモリ・デバイス10内のその他の回路の様々な機能を制御し、そのような機能には、読み出し、プログラムおよびプログラム検証が含まれる。図示されていないが、コントローラ18は、受け取ったコマンドに応答して機能を実行するためのコマンドデコーダを含むことができる。レジスタは、フラッシュ・メモリ・デバイス10によって受け取られる、または、例えばメモリコントローラなどを含む外部ホストシステムへ提供されるべき情報の種類を記憶する。前述の各レジスタはすべてを網羅することを意図したものではなく、例えばデータレジスタなどといった他のレジスタを含むこともできる。
主にコントローラによって制御される回路はメモリ回路であり、メモリ回路は、行プリデコーダ26および列プリデコーダ28と、行デコーダ30および列デコーダ32と、センス増幅器およびページ・バッファ・ブロック34と、高電圧発生器36とを含む。フラッシュ・メモリ・デバイス10のメモリアレイ38は、ビット線に接続されたNANDセルストリングからなり、NANDセルストリングの各メモリセルはワード線に接続されている。NANDセルストリングのさらなる詳細は後で図3に示す。行プリデコーダ26、行デコーダ30および高電圧発生器36は、プログラミング動作において、接続されたメモリセルのしきい値電圧をデフォルトの消去しきい値電圧から所望の電圧レベルへシフトさせるように作用する高電圧へ選択されるワード線を駆動するように制御される。高電圧は、メモリアレイ38において、メモリセルのしきい値電圧をデフォルト値へシフトさせることによりメモリセルを消去するのに使用することができる。高電圧と高電圧の印加時間の様々な組み合わせを使用して、フラッシュ・メモリセルのための特定のしきい値電圧を設定することができる。特定のしきい値電圧をプログラムするための組み合わせを、プログラミングプロファイルと呼ぶことができる。ページバッファ34は、選択されるワード線に接続されたセルへプログラムされるべきページのデータを記憶する。一般に、ビット線に接続されたメモリセルは、ビット線がバイアスされる、すなわち設定される論理レベルに応じて、プログラミングを抑止され、または選択されるワード線によるプログラミングを可能とされる。ページバッファに記憶されたデータビットは、ビット線をバイアスするのに使用される。
図2は、シングル・ビット・フラッシュ・メモリセルについてのしきい値電圧分布グラフであり、シングル・ビット・フラッシュ・メモリセルは、2つの可能なレベルまたは状態の1つ、「状態0」または「状態1」を記憶する。これをシングル・レベル・セル(SLC)メモリともいう。図2では、「状態0」は、メモリアレイ38のすべてのフラッシュ・メモリセルのデフォルトの消去状態であり、この例では負のしきい値電圧である。これに対して、「状態1」は正のしきい値電圧に対応する。したがって、消去されるときに、フラッシュ・メモリセルは、記憶されたデータの1つのビットについて「1」の論理状態を記憶する。選択されるセルに記憶されるべきデータが「0」に対応する場合には、次いで消去しきい値電圧を「状態1」の正の電圧へシフトさせるようにプログラミングが実行され、これは、前述のように、セルに接続された選択されるワード線を特定のプログラミングプロファイルを用いて駆動することによって行われる。
図3は、図1のメモリアレイ38の一部分を示す回路図であり、特に、2本のビット線BL1およびBLjに接続されたNANDセルストリングが示されている。各NANDセルストリングは、直列結合で配置され、相互に電気的に結合されたフラッシュ・メモリセル50を有する。したがって、ワード線WL0〜WLiは、メモリセル・ストリングの各フラッシュ・メモリセル50のゲートに結合されている。プレースホルダ「i」および「j」は整数値であり、それぞれ、最後のワード線およびビット線を指定する。信号SSL(ストリング選択線)に結合されたストリング選択デバイス52が、メモリセル・ストリングをビット線(BL1またはBLj)に選択的に接続し、信号GSL(接地選択線)に結合された接地選択デバイス54が、メモリセル・ストリングを、VSSといった電源線に選択的に接続する。ストリング選択デバイス52および接地選択デバイス54はnチャネルトランジスタである。同じワード線、SSLおよびGSLに接続された図3に示す2つのNANDセルストリングは、1つのメモリブロック56の一部である。したがって、図1に示したメモリブロックと並列に同じビット線BL1〜BLjに複数のメモリブロックを接続することができる。
フラッシュ・メモリセル50がデータの1ビットを記憶する場合には、同じワード線に接続されたすべてのセル50が1ページのデータを記憶する。例えば図3では、WL0に接続されたセルを一括して「物理ページ0」と呼び、WLjに接続されたセルを一括して「物理ページi」と呼び、それぞれ1ページのデータを記憶する。
各ビット線BL1〜BLjには、フラッシュ・メモリセルの1ページへプログラムされるべき1ページのデータを記憶するためのページバッファ58が結合されている。またページバッファ58は、フラッシュ・メモリセルの1ページから読み出されるデータを読み取るためのセンス回路も含む。プログラミング動作の間に、データレジスタは、データが選択されるワード線に結合されたフラッシュ・メモリセルへ適正にプログラムされていることを保証するためにプログラム検証動作を行う。したがって、セルの各行は1ページのデータを記憶する。密度の向上を実現するために、各フラッシュ・メモリセルは、データの少なくとも2ビットを記憶することができ、これを一般にマルチビットセル(MBC)という。1セルあたり少なくとも2ビットのデータを記憶すると、メモリアレイの記憶密度は、1ビットのデータのだけを記憶するセルを有する同じメモリアレイと比べて少なくとも倍増する。
図4は、2ビット・フラッシュ・メモリセルについてのしきい値電圧分布グラフである。これをMLC(1セルあたり複数レベルの)メモリともいう。図4には、2ビット・フラッシュ・メモリセルによって記憶され得る4つの可能な状態、「状態0」、「状態1」、「状態2」および「状態3」が示されている。図4の例で示すように、各状態は2ビットのデータの組み合わせに対応する。「状態0」は2進値「11」を表すことができ、「状態1」は2進値「10」を表すことができ、「状態2」は2進値「00」を表すことができ、「状態3」は2進値「01」を表すことができる。図4に示す2進値は組み合わせ例であり、状態ごとの2進値組み合わせの割り当ては、図4に示されている割り当てと異なっていてもよい。したがって、同じワード線に接続された1行のフラッシュ・メモリセルの行は、今度は、シングル・ビット・フラッシュ・メモリセルの場合の1ページのデータではなく、2ページのデータを記憶することができる。次に、物理ページと呼ばれる共通のワード線に接続されたセルと関連付けられる、論理ページと呼ばれるこれら2ページのデータの論理編成を説明する。
図5は、2ビット・フラッシュ・メモリセルの行に記憶された下位ページのデータと上位ページのデータの記憶を示す図である。図5において、フラッシュ・メモリセル70および72は、第1のNANDセルストリングの一部であり、フラッシュ・メモリセル74および76は、第2のNANDセルストリングの一部であり、フラッシュ・メモリセル78および80は、メモリブロック内の最後のNANDセルストリングを表す最後のNANDセルストリングの一部である。ブロックの構成によっては、第2のNANDセルストリングと最後のNANDセルストリングとの間に複数の介在するNANDセルストリングがあってもよい。各フラッシュ・メモリセルは、図4に示した4つの可能な論理状態のうちの1つを有し、対応する2ビットの2進値(バイナリ値)が割り当てられている。図5の例では、セル70は「状態3」を記憶し、セル72は「状態1」を記憶し、セル74は「状態1」を記憶し、セル76は「状態3」を記憶し、セル78は「状態2」を記憶し、セル80は「状態0」を記憶している。2進値は各セルに示されており、上位ビットは図4の対応する状態における最も左のビットに対応し、下位ビットは最も右のビットに対応する。ワード線WL0に接続されたフラッシュ・メモリセル72、76および80は、論理ページ0に対応するフラッシュ・メモリセル72、76および80の下位ビットを有する物理ページに対応し、上位ビットは論理ページ1に対応する。同様に、ワード線WLiに接続されたフラッシュ・メモリセル70、74および78も、論理ページk−1に対応する下位ビットを有する別の物理ページに対応し、上位ビットは最後の論理ページkに対応する。したがって、各物理ページが2ページのデータをどのようにして記憶するかがわかる。
これを拡張して、各フラッシュ・メモリセルが3ビットのデータを記憶することができる場合には、各セルは、2=8通りの状態を記憶することができ、これは、各物理ページが最大8ページのデータまでを記憶することができることを意味する。読み出し動作の間にすべての異なる状態がプログラムされ、読み取られ得るならば、物理的なメモリ・アレイ・サイズの増大を必要としない記憶密度の増加は、大容量記憶用途での大きな利点を提供する。不都合なことに、1物理ページあたり2ページのデータ(1セルあたり2ビット)をプログラムするのに必要とされる時間は、1物理ページあたり1ページのデータをプログラムするのと比べて大幅に増加する。このプログラミング時間の増加は、1セルあたり3ビット以上の記憶が使用される場合にはさらに悪化する。
1セルあたり複数ビットの記憶が可能なUSBドライブに数個の小さいデータファイルを時折コピーするのに必要とされる時間はユーザにとって不都合とは思われないかもしれないが、多数の小さいデータファイルを頻繁に書き込む場合は、著しく長い時間量を要することになる。小さいデータファイルの頻繁な書き込みは、ソリッド・ステート・ハード・ディスク・ドライブではよく行われ、それによって、内部でソリッド・ステート・ハード・ディスク・ドライブを使用するコンピュータシステムの性能に制限を課すことになり得る。1セルあたり複数のビットを記憶することのできるフラッシュメモリへの音楽やビデオといった大きいデータファイルの記憶は、プログラムするのに著しく長い時間を要することになる。
フラッシュメモリは、SOD(ソフト・オン・デマンド)やフラッシュキャッシュといったコンピュータ用途において広く使用されており、より高性能のフラッシュメモリが求められている。より高いI/O帯域幅、より高い読み出しおよび書き込みスループット、ならびに動作のより高い柔軟性、のうちの1つまたは複数により、高性能動作が得られる。さらに、コンピュータ用途のためのフラッシュ記憶システムは、性能低下を伴わない高メモリ容量を必要としている。
したがって、2ビット以上のデータを記憶するセルをプログラムするのに必要とされる時間を短縮し、それによってセルを内部で使用するシステムの全般的性能を向上させることが望ましい。
第1の態様によれば、NANDフラッシュ・メモリ・デバイスのためのマルチページプログラミングの方法が提供される。方法は、NANDフラッシュ・メモリ・デバイスに、Mを1より大きい整数とするMページのデータを記憶するステップと、本態様の一実施形態によれば、方法は、マルチページプログラミング動作の完了状態を検査するステップと、完了状態がマルチページプログラミング動作の完了に対応するときに、マルチページプログラミング動作に成功したかどうか判定するステップとをさらに含むことができる。NANDフラッシュ・メモリ・デバイスにおいて、NANDフラッシュ・メモリ・デバイスのメモリセルに最大2通りまでの状態を記憶するためのマルチページプログラミング動作を開始するステップと、を含む。本態様の別の実施形態によれば、記憶するステップは、Mページのデータのそれぞれを、NANDフラッシュ・メモリ・デバイスの個々のM個のページバッファへ繰り返しロードするステップを含むことができ、Mページのデータのそれぞれをロードするステップは、NANDフラッシュ・メモリ・デバイスにおいて、後に入力データが続くデータ・ロード・コマンドを受け取るステップを含むことができる。本実施形態では、入力データは、データおよびアドレス情報を含む。また、本実施形態では、データ・ロード・コマンドは第1のデータ・ロード・コマンドであり、第1のデータ・ロード・コマンドに対応する入力データが受け取られた後で第2のデータ・ロード・コマンドが受け取られる。この実施形態では、第1のデータ・ロード・コマンドに対応する入力データが受け取られた後で、第2のデータ・ロード・コマンドが受け取られる前に、データ終了コマンドが受け取られる。あるいは、Mページのデータの最後のページについてのデータ終了コマンドが、Mページのデータの最後のページに対応する入力データが受け取られた後で受け取られ、データ終了コマンドはマルチページプログラム・コマンドを含む。
別の実施形態では、マルチページプログラミング動作は、最大2−1通りまでの状態をプログラムするために2−1回のプログラミング反復を実行するステップを含み、2通りの状態のうちの1つは消去状態である。各プログラミング反復は、各ビット線に対応するMページのデータのビットの組み合わせに応答して、プログラミングを可能にし、または抑止するように各ビット線をバイアスするステップを含む。さらに、各プログラミング反復は、ビット線がプログラミングを可能にし、または抑止するようにバイアスされている間に、各プログラミング反復に特有のプログラミングプロファイルを用いて選択されるワード線を駆動するステップを含む。
第2の態様では、フラッシュ・メモリ・デバイスが提供される。フラッシュ・メモリ・デバイスは、メモリアレイと、ビット線アクセス回路と、行回路とを含む。メモリアレイは、ワード線に接続され、ビット線に結合されたフラッシュ・メモリセルを有する。ビット線アクセス回路は、Mページのデータを記憶し、Mページのデータからの各ビット線に対応するビットの組み合わせに応答して、2−1回のプログラミング反復のそれぞれについてプログラミングを可能にし、または抑止するようにビット線をバイアスし、Mは最低でも2の整数である。行回路は、ビット線がプログラミングを可能にし、または抑止するようにバイアスされている間に、2−1回のプログラミング反復のそれぞれについてプログラミングプロファイルを用いて選択されるワード線を駆動する。第2の態様の一実施形態によれば、ビット線アクセス回路は、それぞれMページのデータの1つを記憶するためのM個のデータバッファと、各ビット線に対応するM個のデータバッファ内に記憶されたMページのデータのビットの組み合わせに応答して、プログラミングを可能にし、または抑止するように各ビット線をバイアスするためのビット線バイアス回路とを含む。この実施形態では、M個のデータバッファのそれぞれが、1ページのデータの1ビットを記憶するためのデータ記憶回路を含み、M個のデータバッファの各ビット位置がデータ検証デコーダおよび反転回路を含む。データ検証デコーダは、各ビット線に対応するM個のデータバッファに記憶されたMページのデータのビットを受け取る。反転回路は、データデコーダの選択される出力に応答してビットを反転させる。
第3の態様では、フラッシュ・メモリ・デバイスが提供される。フラッシュ・メモリ・デバイスは、メモリアレイと、ビット線アクセス回路と、行回路とを含む。メモリアレイは、ワード線に接続され、ビット線に結合されたフラッシュ・メモリセルを有し、各フラッシュ・メモリセルは、消去状態、第1の状態、第2の状態および第3の状態のうちの1つに対応するしきい値電圧を有するようにプログラムすることができる。ビット線アクセス回路は、第1の状態、第2の状態および第3の状態を所定の順序でプログラムするようにビット線をバイアスする。ビット線アクセス回路は、2ページのデータからのビットの特定の組み合わせに応答して、第1の状態、第2の状態および第3の状態のそれぞれについてプログラミングを可能にし、または抑止するようにビット線をバイアスする。行回路は、ビット線が、第1の状態、第2の状態および第3の状態をそれぞれプログラムするようにバイアスされている間に、第1の状態、第2の状態および第3の状態に対応するプログラミングプロファイルを用いて選択されるワード線を駆動する。
第4の態様では、フラッシュ・メモリ・デバイスをプログラムするための方法が提供される。方法は、少なくとも2ページのデータをフラッシュ・メモリ・デバイスのページバッファへロードするステップと、フラッシュ・メモリ・デバイスのビット線をバイアスするステップと、フラッシュ・メモリ・デバイスのワード線を駆動するステップとを含む。フラッシュ・メモリ・デバイスのビット線は、少なくとも2ページのデータのデータビットの論理状態に応答して、ビット線に結合されたフラッシュ・メモリセルへの異なるしきい値電圧のプログラミングを抑止すること、およびプログラミングを可能にすることの一方を有効にする電圧レベルへバイアスされる。ワード線は、ワード線に並列に接続されているフラッシュ・メモリセルへ異なるしきい値電圧をプログラムするために、ある期間にわたって駆動される。
第5の態様では、複数のフラッシュ・メモリセルへ異なる状態を並列にプログラムするための方法が提供される。方法は、フラッシュ・メモリセルのそれぞれについて、Mを最低でも2の整数とするMビットのデータを受け取るステップと、Mビットのデータに応答して、複数のフラッシュ・メモリセルのそれぞれに記憶すべき2通りの可能な状態のうちの1状態を決定するステップと、複数のフラッシュ・メモリセルに接続されたビット線を、それぞれが2通りの可能な状態のそれぞれに対応する所定の電圧レベルを用いてバイアスするステップと、複数のフラッシュ・メモリセルに最大2通りまでの異なる状態を並列にプログラムするために選択されるワード線を駆動するステップと、を含む。
第6の態様では、フラッシュ・メモリセルの物理ページへのページデータの多状態プログラミングのためのビット線変調器回路が提供される。ビット線変調器回路は、プログラム・データ・デコーダと、ビット線バイアス回路とを含む。プログラム・データ・デコーダはMビットのデータを受け取り、Mビットのデータの論理組み合わせに応答して復号選択信号を提供し、Mは最低でも2の整数であり、Mビットのデータのそれぞれはページのデータの1つと関連付けられている。ビット線バイアス回路は、復号選択信号に応答して、ビット線を2段階の電圧レベルのうちの1つへバイアスする。
第7の態様では、フラッシュ・メモリ・デバイスが提供される。フラッシュ・メモリ・デバイスは、メモリアレイと、M個のページバッファと、ビット線変調器と、行回路とを含む。メモリアレイは、ワード線に接続され、ビット線に結合されたフラッシュ・メモリセルを有する。M個のページバッファはMページのデータを記憶し、Mは最低でも2の整数である。ビット線変調器は、ビット線のそれぞれと、M個のページバッファとに結合されている。ビット線変調器のそれぞれは、Mページのデータのそれぞれからのデータビットの組み合わせに応答して、2の電圧レベルの1つを対応するビット線に印加する。行回路は、Mページのデータをフラッシュ・メモリセルの行へプログラムするためのプログラミングプロファイルを用いて、選択されるワード線を駆動する。
本発明の他の態様および特徴は、以下の本発明の具体的実施形態の説明を添付の図と併せて考察すれば、当業者には明らかになるであろう。
次に本発明の実施形態を、例として挙げるにすぎないが、添付の図を参照して説明する。
NANDフラッシュ・メモリ・デバイスの機能ブロック図である。 シングル・ビット・フラッシュ・メモリセルについてのしきい値電圧分布グラフである。 NANDフラッシュ・メモリ・アレイのNANDセルストリングを示す回路図である。 2ビット・フラッシュ・メモリセルについてのしきい値電圧分布グラフである。 2ビット・フラッシュ・メモリセルに記憶された下位ページのデータと上位ページのデータの記憶を示す図である。 NANDフラッシュにおいて2つのプログラミング動作を使用して1セルあたり2ビットのデータをプログラムするためのシーケンスを示すグラフである。 NANDフラッシュにおいて2つのプログラミング動作を使用して1セルあたり2ビットのデータをプログラムするためのシーケンスを示すグラフである。 NANDフラッシュにおいて2つのプログラミング動作を使用して1セルあたり2ビットのデータをプログラムするための代替のシーケンスを示す図である。 本発明の一実施形態による、マルチページプログラマブルNANDフラッシュメモリのブロック図である。 本発明の一実施形態による、マルチページプログラム動作のためのフラッシュ・メモリ・デバイスを動作させる方法の流れ図である。 本発明の一実施形態による、2ページ・マルチページプログラム動作のためのフラッシュ・メモリ・デバイスを動作させる方法の流れ図である。 本発明の一実施形態による、フラッシュ・メモリ・デバイスの2ページ・マルチページプログラム動作の一例を示すシーケンス図である。 本発明の一実施形態による、フラッシュ・メモリ・デバイスのためのコマンドおよびデータ入力シーケンスの一例を示すシーケンス図である。 本発明の一実施形態による、フラッシュ・メモリ・デバイスのためのコマンドおよびデータ入力シーケンスの代替の例を示すシーケンス図である。 本発明の一実施形態による、1つのプログラミング動作サイクルにおいてMLCフラッシュセルへすべての論理状態をプログラムするための方法の流れ図である。 本発明の一実施形態による、4本の異なるビット線に接続されたフラッシュセルへ論理状態をプログラムするためのマルチページプログラム動作を示すシーケンス図である。 図14Aでプログラムされた4つのフラッシュセルのしきい値電圧を示すしきい値電圧分布グラフである。 本発明の一実施形態による、4本の異なるビット線に接続されたフラッシュセルへ論理状態をプログラムするための代替のマルチページプログラム動作を示すシーケンス図である。 図15Aでプログラムされた4つのフラッシュセルのしきい値電圧を示すしきい値電圧分布グラフである。 本発明の一実施形態による、図8に示すビット線アクセス回路のブロック図である。 本発明の一実施形態による、図16のデータデコーダの詳細を示す回路図である。 本発明の一実施形態による、フラッシュ・メモリ・デバイスの2ページ並列マルチページプログラム動作を示すシーケンス図である。 図18Aでプログラムされたフラッシュセルのしきい値電圧の例を示すしきい値電圧分布グラフである。 本発明の一実施形態による、フラッシュ・メモリ・デバイスの代替の2ページ並列マルチページプログラム動作を示すシーケンス図である。 図19Aでプログラムされたフラッシュセルのしきい値電圧の例を示すしきい値電圧分布グラフである。 本発明の一実施形態による、フラッシュ・メモリ・デバイスの代替の2ページ並列マルチページプログラム動作を示すシーケンス図である。 図20Aでプログラムされたフラッシュセルのしきい値電圧の例を示すしきい値電圧分布グラフである。 フラッシュ・メモリセルのためのプログラム抑止方法を示す流れ図である。 NANDセルストリングの断面図である。 図21のプログラム抑止方法の一例を示すシーケンス図である。 本発明の一実施形態による、並列多状態プログラミングのためのビット線の電圧バイアスの例を示す回路図である。 本発明の一実施形態による、並列多状態プログラミングのためのビット線アクセス回路のブロック図である。 本発明の一実施形態による、図24に示すビット線変調器の機能ブロックを示す略図である。 本発明の一実施形態による、図25に示すプログラム・データ・デコーダの回路図実施形態である。 図25に示すビット線バイアス回路の回路図実施形態である。 図18Aの多状態プログラミング実施形態のための制御回路の回路図実施形態である。 本発明の一実施形態による、並列多状態プログラミングのための方法の概要を示す流れ図である。
本発明は、一般に、フラッシュメモリにおいて1つのプログラミングサイクルでデータの複数の論理ページをセルの1物理ページへプログラムする方法に関するものである。特に、1つのプログラム動作サイクルにおいて複数ビットのデータをフラッシュ・メモリセルへプログラムするための回路および方法を説明する。フラッシュ・メモリ・アレイの1物理ページへプログラムされるべきデータの複数のページが、メモリデバイス上のページバッファまたは他の記憶手段に記憶される。プログラムされるべきセルに接続された選択されるワード線は、異なる時間間隔で所定のプログラムプロファイルを用いて駆動され、各所定のプログラムプロファイルは、消去しきい値電圧を特定の論理状態に対応する特定のしきい値電圧へシフトさせるように構成される。ビット線は、当該の個々のビット線と関連付けられているデータの各ページに属するビットの特定の論理状態の組み合わせに応答して、各時間間隔の間に特定の状態へバイアスされる。
好ましい実施形態はNANDフラッシュメモリにおいて実施されるが、本発明は、例えば、NORフラッシュメモリなどといった別種のフラッシュメモリに適用されてもよい。
各実施形態を論じるに先立ち、次に現在のMLCプログラミング方式を説明する。一般的なMLCフラッシュ・メモリ・アーキテクチャは1セルあたり2ビットのフラッシュメモリである。したがって、現在の1セルあたり2ビットのプログラミング方式を説明する。1セルあたり2ビット方式では、NANDセルストリング内の各ワード線が、第1のページ(下位ページ)および第2のページ(上位ページ)として2論理ページへ復号される。図5を参照すると、論理ページ0を下位ページとすることができ、論理ページ1を上位ページとすることができる。この例では、下位ページが最初にプログラムされ、続いて上位ページがプログラムされる。このシーケンスは図6Aおよび図6Bに例示されている。
図6Aは、2ビット・フラッシュ・メモリセルに記憶されるべきデータの第1のビット(1または0)に対応する論理状態を示すしきい値電圧分布グラフである。プログラミングの前に、メモリブロックのすべてのセルが消去される。図6Aには、消去状態が「状態0」として示されており、これは本例では負のしきい値電圧である。第1のプログラム動作サイクルで、対応するビットは、記憶されるべきビットの論理状態に応じて、「状態1」にプログラムされ、または「状態0」のままに留まる。図6Bは、図6Aでプログラムされたセルへ、上位ページのビットともいう第2のビットのデータ(1または0)をプログラムするための可能なシーケンスを示すしきい値電圧分布グラフである。後続のプログラミングサイクルで、上位ページに対応するこの第2のビットがプログラムされる。この第2のビットの論理状態は、「状態2」および「状態3」がプログラムされるかどうか、ならびにどのようにプログラムされるかを決定する。例えば、「状態0」および「状態1」が図4に示した2値割り当てを有し、プログラムされるべき第2のビット(最も左のビット)が論理1である場合には、「状態0」も「状態1」も論理1に割り当てられた上位ビットを有するために、「状態2」も「状態3」もプログラムされる必要がない。他方、プログラムされるべき第2のビットが論理0である場合には、「状態2」または「状態3」のプログラミングが必要となる。
本例の「状態2」または「状態3」をプログラムするに際して、最初にプログラムされた下位ビットの論理状態は保持される。したがって、図6Bに示すように、「状態0」に対応するしきい値電圧が「状態3」に対応するしきい値電圧へシフトされ、または「状態1」に対応するしきい値電圧が「状態2」に対応するしきい値電圧へシフトされる。したがって、図示の論理状態、「状態0」から「状態3」までは、上位ビットと下位ビットとの異なる論理組み合わせを符号化する。図6Aおよび図6Bには、1セルあたりデータの2ビットをプログラムするための2サイクルプログラミング方式が示されている。図7に、論理状態ごとのビット割り当てに応じて、しきい値電圧を異なるレベルへシフトさせることができることを示すために、代替の2サイクルプログラミング方式を例示するしきい値電圧分布グラフを示す。図示のどちらの例でも、1セルあたり2ビットをプログラムするために2つの別個のプログラミングサイクルが必要とされる。各プログラミングサイクルは、アドレス情報およびデータのページと共にコマンドを受け取ること、ならびにメモリデバイスに第1のページのデータをプログラムさせ、続いて、データビットが適正にプログラムされていることを保証するためにプログラム検証動作を行うことを伴う。
1物理ページあたり2ビットのデータを記憶するように構成された従来のMLC NANDフラッシュメモリでは、下位ページと上位ページとの総ページプログラム時間が異なることに留意すべきである。典型的には、下位ページのページプログラム時間は、以下の理由で、上位ページのページプログラム時間よりもおおよそ30%速い。下位ページのプログラミングサイクルは「状態0」から「状態1」へのセルプログラミングだけで済むが、上位ページのプログラミングサイクルは、「状態2」と「状態3」のどちらのプログラミングが必要とされるか判定するための下位ページデータの読み出し動作をさらに含む。さらに、「状態2」および「状態3」についてのプログラミングプロファイルは、より複雑であり、「状態1」のプログラミングよりも多くの時間を要する。したがって、MLCメモリにおいて複数のページを1物理ページへプログラムするには、SLCメモリにおいて同数の複数のページをそれぞれの物理ページへプログラムするのと比べて、著しく長い時間量を要することになる。
フラッシュ・メモリセルにより長いプログラミング時間をかけると、セルのゲート酸化物を劣化させ、それによってセルの信頼性が低下するおそれがあることは当業者には公知である。この問題は、プロセス技術の絶えざる小型化によってさらに悪化する。最小加工寸法がより小型化し、ゲート酸化物がより薄くなると、より長いプログラミング時間によるプログラムスループットの低下が深刻な問題になる。加えて、デバイス信頼性に影響を及ぼし、デバイス寿命を短縮するプログラムストレスも重大な問題となる。
現在の複数ページプログラミング方式の不都合点に対処するための、1つのプログラム動作サイクルにおいてデータの複数のビットをフラッシュ・メモリセルへプログラムするための回路および方法を説明する。フラッシュ・メモリ・アレイの1物理ページへプログラムされるべき複数のページのデータが、メモリデバイス上のページバッファまたは他の記憶手段に記憶される。プログラムされるべきセルに接続された選択されるワード線は、異なる時間間隔で所定のプログラムプロファイルを用いて駆動され、各所定のプログラムプロファイルは、消去しきい値電圧を特定の論理状態に対応する特定のしきい値電圧へシフトさせるように構成される。ビット線は、各時間間隔の間に駆動される選択されるワード線に接続されたメモリセルのプログラミングを可能にし、または抑止するように作用する電圧レベルへバイアスされる。ビット線に印加すべき特定の電圧レベルは、当該の個々のビット線と関連付けられているデータの各ページに属するビットの特定の論理状態の組み合わせに依存する。各実施形態は、1セルあたりmビットのMLCメモリに適用することができ、mは任意の整数とすることができる。1セルあたりmビットのMLCメモリとは、セルの各物理ページがm論理ページを記憶し得ることを意味することに留意する。
図8は、本発明の一実施形態による、フラッシュ・メモリ・デバイスのブロック図である。図8は、ここで説明するマルチページプログラミングの実施形態に使用される回路ブロックを図示するだけに限定されている。省略された回路ブロックには、先に図1に示したブロックが含まれ得ることを当業者は理解するはずである。図8のメモリデバイスは、複数ページのデータを記憶し、それらのページを1つのプログラムサイクルにおいて選択される物理ページへプログラムする。
メモリデバイス100は、メモリアレイ102と、行回路104と、高電圧発生器106と、制御回路108と、ビット線アクセス回路110とを含む。メモリアレイ102は、ビット線とワード線とに結合され、NANDセルストリング構成またはNOR構成で配置されたフラッシュ・メモリセルを含む。メモリアレイ102はビット線BL[1]〜BL[j]を有し、BL[j]はメモリアレイ内の最後のビット線であり、jは整数である。メモリアレイ100はバンクまたはサブアレイとして編成することができる。行回路104は、ワード線を選択するためのバンク、ブロックおよび行アドレスデコーダといったアドレス復号回路と、読み出し、プログラムおよび消去の各動作の間にワード線へ様々な電圧を印加するためのドライバとを含む。高電圧発生器106は、行回路へ外部から提供される電源電圧よりも大きい1つまたは複数の正および/または負の電圧を提供する。これらの高電圧は、メモリデバイス100の他の回路へ提供することができる。制御回路108は、フラッシュ・メモリ・デバイス100の様々なアルゴリズムを実行し、フラッシュ・メモリ・デバイス100の回路を制御するための適切なタイミングで制御信号をアサートする役割を果たす。特に、制御回路108は、本発明の各実施形態による、マルチページプログラミングのための行回路104およびビット線アクセス回路110の制御を調整するように構成された論理を含む。
本発明の各実施形態によれば、ビット線アクセス回路110は、各ビット線を、別々のときに所定の順序で、特定のプログラミングプロファイルを用いて駆動されるワード線と連動して、ビット線アクセス回路110に接続されたメモリセルのすべての可能な状態をプログラムするようにバイアスする。各ビット線は、メモリデバイス100に記憶されたデータの各ページの対応するビット位置からのビットの特定の組み合わせに応答して、特定の時刻にプログラミングを可能にし、または抑止するようにバイアスされる。データのこれらのページは、ビット線アクセス回路110に記憶される。ビット線アクセス回路110は、ページバッファ112と、少なくとも1つのマルチページプログラム・バッファ114とを含む。ページバッファ112は、センス増幅器、列復号回路、プログラム検証論理といった回路を有する任意の周知のページバッファとすることができる。あるいは、プログラムされるべきデータのページを記憶するのにデータレジスタを使用することもできる。ページバッファ112は、プログラムされるべき第1のページのデータを記憶するのに使用される。ビット線アクセス回路110は、各ビット線に接続されたメモリセルが、特定の論理状態に対応する最終しきい値電圧へプログラムされていることを保証するためのマルチページプログラミング論理回路を含む。
本例では、メモリデバイス100は、1セルあたり2ビットのデータ記憶のために構成されており、よって、プログラムされるべき第2のページのデータを記憶するための1つのマルチページプログラム・バッファ114がある。2ページより多いページのデータがメモリデバイス100の物理ページに記憶されることになる代替の実施形態では、さらに多くのマルチページプログラム・バッファ114を含めることができる。またバッファ114は、第2のページのデータの第1のビットが記憶されるべき開始列アドレスを受け取るための列復号論理も含む。ページバッファ112および114はどちらも同サイズであり、ページバッファ112は、それぞれ個々のビット線BL[1]〜BL[j]に対応する第1のページのデータのデータビットDATA1_[1]〜DATA1_[j]を記憶し、jはバッファ112の最後のビット位置を表す整数である。ページバッファ114は、それぞれ個々のビット線BL[1]〜BL[j]に対応する第2のページのデータのデータビットDATA2_[1]〜DATA2_[j]を記憶する。
以下は、本発明の一実施形態による、マルチページプログラミングのために構成されたフラッシュ・メモリ・デバイスを制御する方法の考察である。図9は、前述のマルチページプログラム動作のために構成されたフラッシュ・メモリ・デバイスを動作させる方法の流れ図であり、この方法は、それだけに限らないが、メモリコントローラまたはメモリコントローラ機能を有するコンピュータシステムを含むホストシステムによって実行することができる。ここで説明する方法に従って制御することができるフラッシュ・メモリ・デバイスの一例は、図8に示した構成を有するものとすることができる。
図9の方法は300から開始し、そこで、フラッシュ・メモリ・デバイスによって認識される適切なコマンドにより、データの最大mページまでが、フラッシュ・メモリ・デバイスのページバッファへ繰り返しロードされる。例えば図8の回路実施形態を参照すると、第1のページのデータがページバッファ112に記憶され、第2のページバッファがページバッファ114に記憶される。ステップ302で、1物理ページへプログラムされるべきデータのすべてのページがフラッシュ・メモリ・デバイスへロードされた後で、マルチページプログラミング動作がフラッシュ・メモリ・デバイスにおいて開始される。マルチページプログラミング動作の開始は、フラッシュ・メモリ・デバイスにより認識されるコマンドによって行うことができる。次に、フラッシュ・メモリ・デバイスは、論理ページを1物理ページへプログラムするための内部動作を実行する。本発明の各実施形態のメモリデバイスの内部マルチページプログラミング動作については、後でさらに詳細に説明する。ホストシステムは、ステップ304で、状態要求コマンドによって、フラッシュ・メモリ・デバイスのプログラミング状態を検査するために、フラッシュ・メモリ・デバイスをポーリングする。状態要求コマンドに応答して、フラッシュ・メモリ・デバイスは、そのデータ出力ポートから、プログラミング動作が完了されたか否かを示す状態ビットを出力する。ステップ306で、ホストシステムは、戻される状態信号により、フラッシュ・メモリ・デバイスによるプログラミングが終了したか否か判定する。プログラミングが完了している場合には、方法はステップ308に進み、そうでない場合、ホストシステムは、その状態要求を後で再発行し、方法はステップ304へ戻る。
フラッシュ・メモリ・デバイスのマルチページプログラミング動作の成功または失敗の判定がステップ308で行われ、この判定は、ホストシステムによる別の要求を通じて行うことができる。この要求に応答して、フラッシュ・メモリ・デバイスは、マルチページプログラミングの成功または失敗を示す別の信号を出力することができる。プログラミングに成功した場合には、方法はステップ310に進み、ホストシステムは、例えば次のマルチページプログラム動作といった、フラッシュ・メモリ・デバイスでの別の動作を開始することができる。他方、マルチページプログラミングに失敗した場合には、方法はステップ312に進む。この時点で、データを異なる行アドレスへ、または異なるフラッシュ・メモリ・デバイスへ再度プログラムすることができ、あるいはホストシステムは単に、エラーが発生し、データがフラッシュ・メモリ・デバイスへ書き込まれなかったという通知を提供する。フラッシュ・メモリ・デバイスによって提供される状態信号はフラッシュ・メモリ・デバイスのレジスタへ書き込まれ、この信号は特定のコマンドに応答して出力され得ることに留意する。
図9の方法は、データのm論理ページをメモリデバイスの1物理ページへプログラムするようにメモリデバイスを制御するための一般的な方法である。多くの現在利用可能なフラッシュ・メモリ・デバイスは、データの2論理ページをメモリデバイスの1物理ページへ記憶することができる。図10に、本発明の一実施形態による、2ページプログラム動作のためのフラッシュ・メモリ・デバイスを動作させる方法を示す。次に、図10に示す方法を、本発明の各実施形態のメモリデバイスの動作の一般的なシーケンス図を示す図11を参照して説明する。図11には、メモリデバイス入力出力ポートI/O、メモリデバイスの選択されるワード線WL、およびビット線BL[1:j]についての信号トレースが示されている。図10の方法はステップ350から開始し、そこで、第1のページのデータがメモリデバイスへ提供され、メモリデバイスの第1のページバッファに記憶される。図11に示すように、データ「ページ1」は、360でI/Oポートにおいて受け取られる。そのすぐ後に、第2のページのデータがステップ352でメモリデバイスへ提供され、メモリデバイスの第2のページバッファに記憶される。図11に示すように、データ「ページ2」は、362でI/Oポートにおいて受け取られる。これ以降、ステップ302からステップ312までは、図9について図示し、説明したステップと同じである。マルチページプログラミングが、図11のマルチページプログラム開始コマンド364により、ステップ302で開始される。
マルチページプログラミングがメモリデバイス内で開始された後で、選択されるワード線WLは、それぞれ所定のプログラミングプロファイルを用いて、3つの異なる期間において駆動される。状態のうちの1つはデフォルトの消去状態であるため、1セルあたりの4つの可能な状態のうちの3つだけがプログラムされることに留意すべきである。図11では、3つの期間は、ワード線WLが366、368および370においてハイ論理レベルへ駆動されることによって示されている。メモリデバイスにおいては、ワード線WLを、各期間中に特定の時間量にわたって異なる電圧レベルへ駆動することができることに留意すべきである。一実施形態では、各セルへプログラムされたばかりのしきい値電圧を確認するために、各期間の後でプログラム検証動作を実行することができる。図11には、期間366、368および370の間に、それぞれ、状態1、状態2および状態3をプログラムするためにビット線がバイアスされることが示されている。本例示的実施形態では、期間366の終わりにあるメモリセルは状態1(ST1)に対応する最終しきい値電圧を有することになり、期間368の終わりにあるメモリセルは状態2(ST2)に対応する最終しきい値電圧を有することになり、期間370の終わりにあるメモリセルは状態3(ST3)に対応する最終しきい値電圧を有することになる。期間370が経過した後で、ステップ304からステップ312までが実行され、プログラムサイクルは図11の372で終了し、メモリデバイスはその状態レジスタによってメモリコントローラへ、マルチページプログラミング動作に成功したか否かを報告する。
図12Aは、本発明の各実施形態によるフラッシュ・メモリ・デバイスのためのコマンドおよびデータ入力シーケンスの一例を示すシーケンス図である。新しい図11Aには、メモリデバイスの入力/出力ポートI/Oおよびメモリデバイスによって提供されるレディ/ビジー信号R/B#についての信号トレースが示されている。本例のコマンドおよびデータ入力シーケンスは、2ページ・マルチページプログラム動作について示されている。図12Aに示すコマンドは、メモリデバイスによって、ここで説明するのと同じ機能を有すると理解される任意の形式で提供することができる。新しい図11Aの左側から開始して、受け取られるべき第1のコマンドは、データ・ロード・コマンド380であり、その後に、アドレス情報382および書き込みデータ384を含む入力データが続く。アドレス情報382は、バンク、行および列アドレス情報を含むことができ、書き込みデータ384は、メモリデバイスへプログラムされるべきデータのページである。入力データの終わりを示すためにデータ終了コマンド386が受け取られる。この時点まで、R/B#信号は、メモリデバイスがレディ状態にあり、I/Oポート上に現れる情報を受け取ることができることを示すためにハイ論理レベルにある。データ終了コマンド386が受け取られた後で、メモリデバイスは、R/B#がごく短期間にわたってロー論理レベルに下がるビジー状態に入ることができる。
R/B#がハイ論理レベルに上がった後で、メモリコントローラは、別のデータ・ロード・コマンド388を発行することによりマルチページプログラミング動作を再開することができる。その後にアドレス情報390および書き込みデータ392を含む入力データの第2のセットが続く。アドレス情報は、アドレス情報382の場合と同じ列アドレスを含むことができるが、書き込みデータを第2の論理ページとして指定するために異なる行アドレスを有するはずである。書き込みデータ392の終わりを指示し、メモリデバイスの内部マルチページプログラミング動作を開始するために、最後のデータ終了およびマルチページプログラム・コマンド394が受け取られる。コマンド394は、別個のデータ終了コマンドおよび別個のマルチページプログラム・コマンドとして提供することができる。その後、R/B#は、論理ページをメモリデバイスの物理ページへプログラムするのに必要とされる期間にわたってロー論理レベルに下がる。
図12Bに、図12Aのコマンドおよびデータ入力シーケンスの変形を示す。この実施形態では、メモリデバイスは、コマンド386とコマンド388との間に短いビジー期間を持たなくてよく、データ終了コマンド386の受け取りは不要である。したがって、第2のデータ・ロード・コマンド388は、書き込みデータ384のデータ終了コマンドも兼ねることができる。図12Aおよび図12Bは、マルチページプログラミングが可能なメモリデバイスを制御するためのコマンドおよびデータ入力シーケンスの例であるが、メモリデバイスのページバッファのロードに続いて内部マルチページプログラミングが行われることになる任意のコマンドおよびデータ入力シーケンスを使用することができる。
前述のように、すべてのビット線に接続されたメモリセルが、1つのプログラミングサイクルにおいてその個々の論理状態へプログラムされ、それによって、データの両方のページを同じ物理ページへプログラムするための後続のプログラミングサイクルを開始する前に、前のプログラミングサイクルにおいて前にプログラムされたデータのページを読み出す必要が回避される。以下は、すべての可能な論理状態をメモリデバイスのメモリセルへプログラムするための異なる技法の考察である。
図13は、本発明の一実施形態による、データの複数のページをメモリの1物理ページへプログラムするための方法の概要を示す流れ図である。マルチページプログラミング動作においてプログラムされるべきすべてのページは、メモリデバイスのページバッファへロードされているものと仮定する。さらに、すべてのメモリセルは現在消去状態にあり、例えば、負のしきい値電圧を有し得るものと仮定する。この消去状態を、図14Bに示すように、ST0と呼ぶ。異なる状態が、対応するしきい値電圧の増加の順にプログラムされる。本例では、第1のプログラム状態ST1がプログラムされ、続いて第2のプログラム状態ST2がプログラムされ、次いで第3のプログラム状態ST3がプログラムされる。図13のマルチページプログラミングの方法を、1セルあたり2ビットのプログラミングシナリオの例を参照して説明する。選択されるワード線WLと、4本のビット線BL1、BL2、BL3およびBL4についての信号トレースを示すタイミング図である図14Aと、選択されるワード線と、ビット線BL1、BL2、BL3およびBL4のそれぞれとに接続されたセルについてのしきい値電圧のプログラミングを示す図14Bとを参照する。このシナリオでは、BL1、BL2、BL3およびBL4に接続されたメモリセルは、それぞれ、ST2、ST1、ST3およびST2に対応するしきい値電圧を記憶する。
方法はステップ400から開始し、そこで、プログラムされるべき第1の状態ST1(n=1)についてのビット線バイアスが、すべてのビット線について決定される。より具体的には、ビット線は、ロー論理レベル(VSS)といったプログラミングを可能にするのに十分な第1の電圧へ、またはハイ論理レベル(VDD)といったメモリセルのプログラミングを抑止するのに十分な第2の電圧へバイアスされる。図14Aのt1に先行する時間に、選択されるワード線WLは、VSSのイナクティブレベルに維持される。ステップ402に進み、ビット線は、第1のプログラム状態(ST1)n=1をプログラムし、またはプログラミングを抑止するようにバイアスされる。状態ST2および状態ST3は、状態ST1に対応するしきい値電圧より大きい最終しきい値電圧を有するため、ビット線BL1、BL3およびBL4は、BL2と一緒にVSSへバイアスされる。続いてステップ404で、選択されるワード線は、ロー論理レベルへバイアスされたビット線に接続された任意のフラッシュ・メモリセルをプログラムするように駆動される。図14Aで、選択されるワード線WLは、時刻t1において、ハイ論理を表すレベルへ駆動される。このハイ論理を表すレベルは、n=1プログラム状態に対応するしきい値電圧をプログラムするよう作用するプログラミングプロファイルの適用を示すのに使用される。実際の使用に際しては、ワード線は、高電圧レベルへ駆動することもでき、公知のワード線プログラミング制御方式に従って段をつけることもできるはずである。状態n=1のためのプログラミングは、状態n=1についての特定のプログラミングプロファイルによって決定される時刻に終了し、そのときに、選択されるワード線はステップ406においてリセットされる。
図14Aで、WLのVSSへのリセットは時刻t2に行われる。t1とt2とによって範囲が定められる期間は、プログラムサイクルの第1の反復である。図13には示されていないが、プログラム検証動作時刻t2の後で、メモリセルに記憶されたST1のしきい値電圧を確認するためにプログラム検証動作が実行される。この例では、すべてのメモリセルは適正なしきい値電圧を用いて正常にプログラムされるものと仮定する。理想的には、BL2に接続されたフラッシュ・メモリセルは、図14Bに示すように、ST1に対応する最終しきい値電圧を有することになる。しかし、BL1、BL3およびBL4に接続されたメモリセルは、この場合、図14Bの破線のしきい値電圧分布曲線で示されるように、ST1に対応する中間のしきい値電圧を有するはずであり、これらの電圧はこれらのビット線に接続されたセルの最終しきい値電圧ではない。図13に戻って、ステップ408で、プログラムされた状態がプログラムされるべき最終状態であるかどうかが判定される。そうである場合、方法はステップ410で終了する。そうでない場合、プログラムされるべき次の状態があり、方法はステップ412に進み、そこでnは、後続の反復においてプログラムされるべき次の状態を示すために増分される(n=2)。次いで方法はステップ400に戻り、そこで、ステップST2のためのビット線バイアスが決定される。BL2に接続されたメモリセルはST1の最終状態を有することが意図されているため、プログラム検証回路は、BL2が、現在のプログラミングサイクルにおいてすべての後続のプログラミング反復についてのプログラミングを可能にするためのVSS電圧を受け取ることを抑止する。
ST2に対応する第2のプログラム状態n=2をプログラムするために、第2の反復においてステップ402、404および406が繰り返される。図14Aの例では、この第2の反復は、BL1、BL3およびBL4がプログラミングのためにバイアスされる時刻t3とt4との間に行われる。図14Bに示すように、BL1およびBL4に接続されたフラッシュ・メモリセルは、ST2に対応する最終しきい値電圧を有し、BL3に接続されたメモリセルは、今度は、ST2に対応する中間しきい値電圧を有する。ステップ406でワード線がリセットされた後で、BL1およびBL4は、後続のプログラミング反復においてそれ以上VSS電圧を受け取ることを抑止される。というのは、これらの2本のビット線に接続されたメモリセルは、ST2の最終状態を有することが意図されているからである。
ST3に対応するプログラム状態はまだプログラムされていないため、ST3に対応する第3のプログラム状態n=3をプログラムするために、第3の反復においてステップ400、402、404および406の第3の反復が繰り返される。図14Aの例では、この第3の反復は、BL3がプログラミングのためにVSSへバイアスされる時刻t5とt6との間に行われる。図14Bに示すように、BL3に接続されたフラッシュ・メモリセルは、ST3に対応する最終しきい値電圧を有する。プログラム状態n=3はプログラムされるべき最終状態であるため、プログラミングサイクルはステップ410で終了する。
したがって、上記のマルチページプログラミングの方法では、プログラムされている現在のしきい値電圧より大きい最終しきい値電圧を有するメモリセルは、そのしきい値電圧を同時に増加させることになる。したがって、製造プロセス、デバイス形状および状態ごとの所望のしきい値電圧に基づき、特定のプログラム反復についての各ワード線プログラミングプロファイルが、メモリセルのしきい値電圧を所望のしきい値電圧へ変更するような追加的な作用を有するように設計される。例えば図14Aの実施形態では、BL1についての時刻t3とt4との間のプログラム反復は、メモリセルのしきい値電圧を、中間状態ST1から最終状態ST2に対応するしきい値電圧へシフトさせる。
代替の実施形態によれば、各ワード線プログラミングプロファイルは、消去しきい値電圧を、最終状態に対応するしきい値電圧へ直接シフトさせ、または変更するように設計することができる。この実施形態は図15Aおよび図15Bに示されている。図14Aおよび図14Bに示した例の場合と同様に、BL1、BL2、BL3およびBL4に接続されたメモリセルには同じ状態がプログラムされるものと仮定する。図15Aおよび図15Bのこの実施形態では、ビット線は、ワード線が特定のプログラミングプロファイルを用いて駆動される1プログラム反復の期間についてプログラミングを可能にするための電圧レベルにバイアスされるにすぎない。図15Aに示すように、BL1は、ワード線が時刻t3において駆動される直前にVSSのロー論理レベルへ駆動され、次いで、ワード線が時刻t4においてデアサートされた直後にVDDのハイ論理レベルへ再度駆動される。図15Bに示すように、ビット線BL1に接続されたメモリセルの消去しきい値電圧は、状態ST2に対応するしきい値電圧へ直接シフトされる。状態ST1、ST2およびST3をそれぞれプログラムするためのビット線BL2、BL3およびBL4についての同様のバイアスシーケンスが図15Aに示されている。したがって、消去しきい値電圧をST1、ST2およびST3に対応する各しきい値電圧へシフトさせるようにそれぞれ作用する3つの特定のワード線プログラミングプロファイルがあり、各ビット線は、他のすべての状態についてのプログラミングを抑止するようにバイアスされながら、当該の特定の状態についてのプログラミングを可能にするようにバイアスされる。
図14Aおよび図15Aのマルチページプログラミングの実施形態のための様々なプログラミングプロファイルについての選択されるワード線のタイミングおよび電圧レベルの制御は、高電圧発生器106および行回路104を介して、図8の制御回路108によって提供される。どちらの実施形態でも、ビット線をバイアスするためのタイミングは、制御回路108によって、ページバッファに記憶されたデータのページに応答して制御される。
図14Aおよび図15Aに示したマルチページプログラミング方式においてデータをプログラムし、またはデータのプログラミングを抑止するための各ビット線のバイアスは、図8のページバッファ112および114に記憶されたビットの論理状態に応答して行うことができる。例えば、あるビット線に対応するページバッファ112および114に記憶された1対のビットの特定の論理状態は、そのビット線が、選択されるメモリセルのプログラミングを可能にするように作用する電圧レベルへバイアスされるべきことを示す。例えば図4を参照すると、「状態1」、「状態2」および「状態3」はそれぞれ、ビットの少なくとも1つが論理0である1対のビットを有する。したがって、この例では、あるビット線に対応する1対のビットの少なくとも1つの論理0ビットの存在を、プログラミングを可能にするように作用する電圧レベルへビット線をバイアスするために検出することができる。そうではなく、ビットの対の両方が論理1である場合には、ビット線は、当該ビット線に接続された選択されるメモリセルのプログラミングを抑止するように作用する電圧レベルへバイアスされる。図4の「状態0」ではどちらのビットも論理1であることに留意する。「状態0」はデフォルトの消去状態であるため、「状態0」と関連付けられた2進値「11」を有するビット線は、プログラミングを抑止するようにバイアスされる。
図4の「状態0」、「状態1」、「状態2」および「状態3」に割り当てられた2進値の例は、有利には、図14Aに示したマルチページプログラミング方式においてビット線を制御するのに使用することができる。より具体的には、あるビット線は、当該ビット線についての最後の所望のプログラム状態が特定のプログラミング反復後に検証されている場合には、後続のプログラミング反復においてさらなるプログラミングを抑止するために、各プログラミング反復後にハイ論理レベルへバイアスされる。他方、この特定のプログラミング反復の結果として中間状態の正常なプログラミングが行われる場合には、ビット線は、後続のプログラミング反復においてさらにプログラムするためにバイアスされたままとすべきである。これは、各ビット線に対応するビットの対の論理状態を異なる値へ切り換えることによって行うことができる。
一例では、1対のビットの論理状態を、最終状態がプログラムされていることを示す「11」の2進値へ、または中間状態がプログラムされていることを示す少なくとも1つの論理0を含む2進値へ切り換えることができる。データが最初のデータ状態から1つまたは複数の中間状態へ、最終的には最終状態へ遷移することを確実にするために、データ状態遷移規則を実施することができる。
図4に示した2進値割り当ての例と、プログラミングを可能にするための1対のビットにおける少なくとも1つの論理0ビットの存在とを使用して、以下のデータ遷移規則の例を策定することができる。
(1)「10」から「11」へ
(2)「00」から「10」へ
(3)「01」から「00」へ
以下の表1に、図14Aに示したビット線BL1、BL2およびBL3についてのこれらのデータ遷移規則の適用の一例を示す。表1には、3回のプログラム反復が、「PGM1」、「PGM2」および「PGM3」として示されている。各プログラム反復は、個々のビット線に対応するデータバッファに記憶された初期2進値「初期値」で開始し、これらの値は、プログラム検証に成功した後に新しい2進値「新しい値」へ切り換えられる。
Figure 2013534685
図16は、本発明の一実施形態による、図8に示したビット線アクセス回路110の機能ブロック図である。図16は、特定のビット線と関連付けられた、または特定のビット線に対応するページバッファに記憶されたデータに応答して、選択されるメモリセルのプログラミングを可能にし、または抑止するようにビット線をバイアスするための一般原理を示すためのものであり、適正な動作を可能にするための、ビット線センス増幅器やプログラム検証回路といった他の回路が存在するものと仮定する。そのような他の回路は、回路図を簡略化するために図示されていない。図16には第1のビット線BL[1]および最後のビット線BL[j]と関連付けられた回路だけが示されている。各ビット線は、異なる時間間隔で駆動されるワード線と協調して、ビット線アクセス回路110によってバイアスされる。ページバッファ112は、それぞれ、第1のページのデータの1ビットを記憶するための、複数のデータ記憶回路500を含む。ページバッファ114は、それぞれ、第2のページのデータの1ビットを記憶するための、複数のデータ記憶回路502を含む。AND論理ゲート504に接続されたデータ記憶回路500とデータ記憶回路502との各対は、個々のビット線と関連付けられている。
第1のページのデータおよび第2のページのデータのビットを記憶することに加えて、ビット線アクセス回路110は、ビット線に対応するデータの両方のページからのビットの特定の論理状態に応答して、プログラム抑止電圧またはプログラムイネーブル電圧へ各ビット線をバイアスするためのデータ復号回路も含む。ビット線ごとのデータ復号回路は、AND論理ゲート504とデータ検証デコーダ506とを含む。プログラム反復の開始前に、AND論理ゲート504は、データ記憶回路500および502に記憶された論理状態を受け取り、論理AND演算に応答してビット線をバイアスする。ここで説明する例では、データ記憶回路500および502の少なくとも1つが論理0を記憶しているときにビット線がVSSへバイアスされる。
データ検証デコーダ506は、データ記憶回路500および502に記憶された論理状態を復号し、データ記憶回路500、502が、プログラミングの成功を示すビット線の検出状態に応答して、新しい2進値を記憶するように、どちらかに記憶された論理状態を選択的に反転するための論理回路を含む。これをプログラム検証回路とみなすことができる。データ記憶回路500および502のどちらかに記憶された論理状態の選択的反転は、所定のデータ遷移規則に従って行われる。本実施形態では、データ記憶回路500および502の反転が、完了されたプログラム反復のプログラム検証に成功したことに応答して実行される。メモリセルが所望のしきい値電圧を有するように正常にプログラムされていない場合には、プログラミングが繰り返される。本例では、任意のプログラム状態についての正常にプログラムされたメモリセルがVSSへの電流路を形成し、それによって、VDDへプリチャージされたビット線をプログラム検証動作の間にVSSへ放電する。そうでない場合、ビット線は、当該ビット線に接続されたメモリセルについてプログラミング反復を繰り返す必要があることを示すために、実質的にプリチャージVDDレベルのままに留まる。したがって本実施形態では、ビット線がプログラム検証動作時にVSSでデータ遷移規則による選択的データ反転が実行される。それ以外の場合は、選択的データ反転は実行されない。
図17に、本発明の実施形態による、データ検証デコーダ506、ならびにそのデータ記憶回路500および502との相互接続のさらなる詳細を示す。データ記憶回路500は、論理0反転回路600および論理1反転回路602を含む。データ記憶回路502は、論理0反転回路604および論理1反転回路606を含み、どちらも、それぞれ、回路600および602と同じである。論理0反転回路600は、データ検証デコーダ506から受け取られる復号データ信号に応答して、データ記憶回路500に記憶されたあらゆる論理0状態を論理1状態へ反転する。論理1反転回路602は、データ検証デコーダ506から受け取られる復号データ信号に応答して、データ記憶回路500に記憶されたあらゆる論理1状態を論理0状態へ反転する。反転回路604および606は、反転回路600および602について前述したのと同じ機能を果たす。図17に示すように、反転回路600、602、604および606は異なる復号データ信号を受け取る。
データ検証デコーダ506は、AND論理ゲート604、606および608を含む。各AND論理ゲートは、データ記憶回路500から記憶された論理状態を受け取る第1の入力と、データ記憶回路502から記憶された論理状態を受け取る第2の入力とを有する。各AND論理ゲートは反転および非反転の第1および第2の入力の異なる組み合わせを有し、各AND論理ゲートの出力は特定の反転回路(600、602、604および606)へ提供されることに留意すべきである。反転および非反転の第1および第2の入力の異なる組み合わせのこの構成は、前述のデータ遷移規則の実装形態の一具体例である。図示されていないが、各ビット線は、プログラム検証の間にビット線の低電圧レベルを検出し、データ検証デコーダ506を使用可能にするための検出回路を含む。そうではなく、ビット線の高電圧レベルが検出される場合には、プログラミングに成功しなかったものであり、データ検証デコーダ506は、反転回路600、602、604および606が動作しないように使用不可とされる。
次に、図17の回路の動作例を、「01」の初期2進値がデータ記憶回路500および502に記憶される、前述の表1のBL3のシナリオの例を使用して続ける。したがって、データ記憶回路500は論理0を記憶し、データ記憶回路502は論理1を記憶することを理解すべきである。最初のプログラム反復PGM1に続いて、プログラム検証に成功したと仮定すると、「01」の初期2進値は、ANDゲート612に、論理1反転回路606へ論理1を出力させる。これに応答して、論理1反転回路606は、データ記憶回路502を切り換え、最初に記憶された論理1が論理0へ変更される。論理0反転回路600はANDゲート608から論理0を受け取っており、したがって、データ記憶回路500を切り換えない。したがって、新しい2進値はデータ記憶回路500および502内の「00」記憶であり、対応するビット線は、後続のプログラム反復PGM2についてのプログラミングを可能にするためにバイアスされたままである。PGM2のプログラム検証に成功した後で、データ検証デコーダ506は、データ記憶回路500および502からの「00」の2進値を復号することができる。次に、AND論理ゲート608は論理1を論理0反転回路600へ出力し、論理0反転回路600は、データ記憶回路を切り換えて記憶された論理0を論理1へ変更する。AND論理ゲート610および612の出力はイナクティブな論理0状態であり、したがって、データ記憶回路502には変更が加えられない。
ここでは、「10」の新しい2進値がデータ記憶回路500および502に記憶されており、対応するビット線は、後続のプログラム反復PGM3についてのプログラミングを可能にするためにバイアスされたままである。PGM3のプログラム検証に成功した後で、データ検証デコーダ506は、データ記憶回路500および502からの「10」の2進値を復号することができる。AND論理ゲート604は論理1を論理0反転回路604へ出力し、論理0反転回路604は、データ記憶回路502を切り換えて記憶された論理0を論理1へ変更する。ここで、データ記憶回路500および502はどちらも論理1を記憶しており、ビット線はプログラミングを抑止するためのVDDへバイアスされている。本例のデータ検証デコーダ506およびその反転回路への接続は、データ記憶回路500および502に記憶された図4のどんな初期プログラマブル状態も、データ遷移規則に従って、次の中間状態または最終状態へ遷移されることを保証する。
ここで説明するデータ遷移規則および図16および図17に示した回路実施形態の例は、図4に示した2進値割り当てについてなど、可能な記憶状態についての特定の2進値割り当てに基づくビット線バイアスの背後にある原理を示すために提示するものである。これら4つ状態についての異なる2進値の割り当てを使用することができ、異なるデータ遷移規則のセットを策定することができる。したがって、データ検証デコーダ506およびその反転回路への接続の構成は、そのような代替の2進値割り当ておよびデータ遷移規則に対応するように適応させることができる。ここで説明する実施形態は、1セルあたり2ビットの構成を対象とするが、説明する原理に基づく1セルあたり3ビット以上の構成のために容易に拡張することができる。同じ所望の結果を得るために他の回路技術を使用することもできる。さらに、本例では、論理「0」を使用してプログラミングを可能にするためのビット線のさらなるバイアスがどのように指示されるかを説明したが、代替の実施形態では、代わりに論理「1」を使用することもできる。
したがって、マルチページプログラミング回路および前述の各実施形態で説明した方法では、データの各論理ページを1物理ページへプログラムするのに複数のプログラムサイクルが必要とされる先行技術と比べて、総プログラム時間が短縮される。これは、すべての論理ページが1つのプログラミングサイクル内でプログラムされるために、本発明のマルチページプログラミングの実施形態では、異なるプログラミングサイクルにおいて異なる論理ページをプログラムするために通常必要とされるタイミングオーバーヘッドがなくなることによるものである。さらに、各論理ページをプログラムするのに別々のプログラミングサイクルを使用するのと比べて、フラッシュ・メモリセルのプログラミングストレスも低減される。加えて、この能力は、先行技術のプログラミング技術に対して、本明細書で説明するマルチページプログラミングの実施形態を使用するときのプログラミングにも必要である。
前述の各実施形態は、すべての状態を1つのプログラミングサイクルにおいてプログラムするのに必要とされる全体時間を短縮するようにさらに改善することができる。例えば、本明細書で説明する図11の実施形態では、複数回のプログラミング反復が、当該の特定の反復について各状態を選択されるセルへプログラムするように順次に実行される。より具体的には、複数の状態またはページをメモリセルへプログラムするための1つのプログラミングサイクルは、異なるビット線電圧を順次に印加し、特定の状態/しきい値電圧をプログラムするための特定のプログラミングプロファイルを用いて選択されるワード線を駆動することを伴う。したがって、プログラミングサイクルの総使用時間は、各プログラミング反復に必要とされる時間の総和である。本代替実施形態によれば、すべての可能な状態を1回のプログラミング反復においてセルへプログラムすることにより、プログラミングサイクル時間を大幅に短縮することができる。言い換えると、各状態をプログラムするための順次のプログラミング反復の代わりに、選択されるワード線がプログラミングプロファイルを用いて駆動されるときに、すべての状態が並列にプログラムされる。これを並列多状態プログラミングという。
図18Aは、本発明の一実施形態による、フラッシュ・メモリ・デバイスの2ページ並列多状態プログラム動作の例を示すシーケンス図である。このシーケンス図は、データ「ページ1」が360でI/Oポートにおいて受け取られ、データ「ページ2」が362でI/Oポートにおいて受け取られるという点で、図11に示したシーケンス図と同様のものである。マルチページプログラミングは、図11の場合と同様にマルチページプログラム開始コマンド364により開始されるが、これは、プログラムサイクルが372で終了しているというメモリコントローラへの指示であり、メモリデバイスは、マルチページプログラミング動作に成功したか否かをその状態レジスタによりメモリコントローラへ報告する。しかし、すべての状態をプログラムするのに必要とされる3つの期間366、368および370ではなく、ただ1つの期間700だけで済む。選択されるワード線が所定のプログラミングプロファイルを用いて駆動されるこの期間700の間、ビット線BL[1:j]は、異なる状態に対応するしきい値電圧をプログラムするための特定の電圧レベルへバイアスされ、各電圧レベルは特定の製造プロセスについて較正されている。ワード線のプログラミングプロファイルは、特定の製造プロセスについてのしきい値電圧の有効なプログラミングのために最適化されている。
図18Aに示すように、状態ST1、ST2およびST3は、ワード線が期間700において駆動されている間に、特定のビット線電圧レベルに応答してメモリセルへ同時にプログラムされる。図18Bは、ビット線BL1、BL2、BL3およびBL4に接続された、図18Aでプログラムされた4つのフラッシュセルのしきい値電圧の例を示すしきい値電圧を示す分布グラフである。図18Bに示すように、各メモリセルは、期間700の間に、ST0から、ST1、ST2およびST3に対応するそれぞれの最終プログラムしきい値電圧へシフトされる。
図19Aおよび図20Aは、フラッシュ・メモリ・デバイスの2ページの順次と並列混合のマルチページプログラム動作の例を示す代替のシーケンス図である。これらの実施形態では、複数回のプログラム反復が使用され、プログラムされるべき可能な状態の一部がある反復において並列にプログラムされ、残りの1つまたは複数の状態が第2の反復においてプログラムされる。
図19Aにおいて、参照番号360、362、364および372は、図18Aおよび図11について前述したのと同じである。この代替の実施形態では、ある状態ST1が期間702においてプログラムされ、続いて、期間704において状態ST2およびST3の並列多状態プログラミングが順次に行われる。期間702で行われる第1のプログラミング反復の後で、状態ST2およびST3を記憶するように指定されたメモリセルは、状態ST1に対応する同じしきい値電圧を有することになることに留意する。続く期間704で、状態ST1に対応するしきい値電圧を有するセルは、状態ST2およびST3に対応するようにさらに調整される。図19Bのしきい値電圧分布グラフに示すように、ST0の状態に対応する消去しきい値電圧から開始するメモリセルは、期間702でST1に対応するプログラムしきい値電圧へシフトされる。期間704において、ビット線BL1、BL3およびBL4に接続されたメモリセルは、ST2およびST3に対応する最終しきい値電圧へシフトされるST1に対応するそれぞれの中間しきい値電圧を有する。
図20Aの実施形態では、状態ST1およびST2の並列多状態プログラミングが期間706において行われ、続いて、期間708において残りの状態ST3の多状態プログラミングが順次に行われる。期間706で行われる第1のプログラミング反復の後で、状態ST3を記憶するように指定されたメモリセルは、この例では状態ST2であるより高いしきい値電圧を有する状態に対応する同じしきい値電圧を有することになることに留意する。続く期間708で、ST2に対応するしきい値電圧を有するセルは、状態ST3に対応するようにさらに調整される。図20Bのしきい値電圧分布グラフに示すように、BL2に接続されたメモリセルは、期間706において、その消去しきい値電圧をST1に対応するしきい値電圧へシフトさせる。また期間706には、BL1、BL3およびBL4に接続されたメモリセルも、それぞれの消去しきい値電圧を、ST2に対応するしきい値電圧へシフトさせ、これにはBL3に接続されたメモリセルも含む。期間708において、ビット線BL3に接続されたメモリセルは、ST2に対応するその中間しきい値電圧を、ST3に対応する最終しきい値電圧へシフトさせる。
図19A、図19B、図20Aおよび図20Bに示すどちらの代替の実施形態においても、少なくとも2つの状態が並列にプログラムされる。これらの実施形態は非限定的であり、代替の実施形態は、第1のプログラム反復で少なくとも2つの状態を並列にプログラムさせ、続いて、第2のプログラム反復で少なくとも別の2つ状態を並列にプログラムさせることを含み得ることに留意すべきである。さらに、並列多状態プログラミング反復と単一状態プログラミング反復との組み合わせを使用することもできる。
図18A、図19Aおよび図20Aに示す実施形態について、図12Aおよび図12Bに示したコマンドおよびデータ入力シーケンスを使用して、メモリデバイスにデータのページをロードし、多状態並列プログラミング動作または2つの順次と並列混合の多状態プログラム動作のうちの1つを開始することができる。
本明細書で開示する並列多状態プログラミングの実施形態は、ビット線電圧変調と呼ばれる、ビット線を特定の電圧へバイアスすることによって実現される。前述のように、ビット線に接続されたメモリセルは、ビット線がバイアスされている、すなわち設定されている論理レベルに応じて、プログラミングを抑止され、または選択されるワード線によるプログラミングを可能とされる。参照により本明細書に組み込まれる同一出願人が所有する米国特許第7511996号明細書には、メモリセルのプログラミングを抑止するための実施形態が記載されており、これらの実施形態では、プログラミングのために選択されるメモリセルはそのビット線を、例えば0Vなどといったプログラム電圧へバイアスさせ、プログラムされるべきでないメモリセルは、そのビット線を、例えばVCCなどのプログラム抑止電圧へバイアスさせる。米国特許第7511996号明細書記載されているそのような一実施形態の記述は、まず、ビット線に印加されるプログラム抑止電圧がどのようにして選択されるメモリセルのプログラミングを抑止し得るかの理解を容易にするために提供されるものである。
図21は、米国特許第7511996号明細書のプログラム抑止方法の一実施形態を示す流れ図である。本考察において、上位ワード線とは、選択されるメモリセルとビット線との間のワード線およびメモリセルをいい、下位ワード線とは、選択されるメモリセルと電源線との間のワード線およびメモリセルをいう。図21のプログラム抑止方法はステップ800から開始し、そこで、ビット線は抑止電圧またはプログラム電圧を用いてバイアスされる。ここで説明する例では、ビット線はVCCの抑止電圧へ駆動されるものとする。ステップ802で、選択されるワード線および上位ワード線は第1のパス電圧へ駆動される。第1のパス電圧は、上位ワード線に対応する各メモリセルを、それがプログラム状態であるかそれとも非プログラム状態であるかにかかわらず、オンにするのに十分な高さである。ステップ802と同時に、下位ワード線はステップ804で第2のパス電圧へ駆動される。本方法の実施形態によれば、第1のパス電圧と第2のパス電圧とは相互に同一とすることもでき、第2のパス電圧を第1のパス電圧より低くすることもできる。次いでステップ806で、選択されるワード線はプログラミング電圧へ駆動され、続いてステップ808で、選択されるメモリセルをNANDストリングの非選択のメモリセルから分断するための隔離動作が行われる。
図22AはNANDストリング900の簡略化した断面図であり、これは当業者には周知のはずである。NANDストリング900は、ワード線WL0〜WL31に接続されたゲートを有するメモリセル902と、NANDストリング900をビット線906に結合するためのストリング選択トランジスタ904と、NANDストリング900を電源線910に結合するための接地選択トランジスタ908とを含む。NANDストリング900はPPウェル内に形成され、PPウェルはそれ自体P基板のNウェル内に形成される。NANDストリング・メモリセル・トランジスタのソース/ドレイン領域はn+拡散領域である。
図22Aには、本発明の一実施形態による、特定のワード線に印加される相対電圧レベルを示す注釈が含まれている。物理的NANDストリングは先行技術と変更されないままであることに留意する。図22Aに示す例では、WL29に接続されたメモリセルはプログラミングのために選択され、プログラムされるべきデータは論理「1」状態であるものと仮定されている。消去状態は論理「1」であるため、プログラミングは抑止される。図22Bは、図22Aにおいて電圧が印加されるシーケンスをさらに示すシーケンス図である。
期間T1は初期状態であり、そこですべてのメモリセル902のゲート、信号SSL、および信号GSLは0Vへバイアスされ、メモリセルをプログラムするためのビット線電圧およびメモリセルのプログラミングを抑止するためのビット線電圧が印加される。CSLは、0VまたはVCCへバイアスすることができるが、本例では漏れを最小限に抑えるために好ましくはVCCへバイアスすることができる。本例では、ビット線906はプログラミングを抑止するようにVCCへバイアスされる。期間T2において、信号SSLは、ビット線電圧をNANDストリング900へ結合するためにVCCへバイアスされる。図22Aに示すNANDストリング900では、ストリング選択トランジスタ904は、ビット線906に接続されたそのドレイン端子およびそのゲートがどちらもVCCへバイアスされるために、電気的にオフになる。より具体的には、ストリング選択トランジスタ904は、そのソースが、おおよそVCCからトランジスタのしきい値電圧を引いた電圧まで上がった後でオフになる。期間T3の間に、すべてのワード線(上位、下位および選択されるワード線)はパス電圧V2へ駆動され、V2はVCCより高くなるように選択される。これは、NANDストリング900の全チャネルを1次昇圧電圧へ昇圧する作用を有する。期間T4の最初に、選択されるワード線WL29はプログラミング電圧V1まで上げられ、隣接するワード線WL28およびWL30は、分断電圧V3まで下げられる。これらはそれぞれ、図5のステップ104とステップ106とに対応する。V1の電圧レベルはV2より高くなるように設定され、V3の電圧レベルはV1およびV2より低くなるように設定される。
WL28およびWL30のワード線電圧をV3まで下げることの別の利点は、WL29に接続された制御ゲートとWL28およびWL30に結合された浮遊ゲートとの間の容量結合を補償することである。WL29がV1へ駆動される際に、容量結合の作用により浮遊ゲート電圧が増加し、それによって、選択されるメモリセルに隣接したメモリセルにおけるパス妨害の確率が高まる可能性がある。したがって、ワード線電圧のV3への低減により浮遊ゲート電圧が低減されることになる。
図22Aに示す実施形態では、V1、V2およびV3の電圧レベルを以下の基準に従って選択することができる。V1は、0Vへバイアスされるビット線に結合されたメモリセルにおけるF−Nトンネリングを促進するのに十分な高さの電圧レベルであるべきである。V2の電圧レベルは、以下の3つの基準を満たすように選択されるべきである。第1に、V2は、非選択のセルのチャネルが導通状態とされるよう保証するのに十分な高さであるべきである。第2に、電圧V2が期間T4の間にWL28およびWL30について電圧V3に下がるときに、WL28およびWL30に接続されたメモリセルはオフになり、期間T4の間中オフのままに留まる。これが達成される局所的分断効果である。第3に、選択されるワード線WL29が電圧V2からプログラム電圧V1へ上がるときに、選択されるセルのチャネルを所望の電圧へ、すなわち、2次昇圧電圧レベルへ昇圧することができる。V3は、0Vビット線電圧を、非選択のセルを経て選択されるセルのドレインまで通すのに十分な高さの電圧レベルであると同時に、(WL29に接続された)選択されるセルに隣接する(WL28およびWL30に接続された)メモリセルのチャネルを実質的にオフにするのに十分な低さであるべきである。
ここで説明するプログラム抑止方式は、プログラム反復時にワード線を駆動する前にビット線に印加される電圧を変動させることにより、前述の並列多状態プログラミングのために変更することができる。前述のプログラム抑止実施形態では、VCCのプログラム抑止電圧の印加は、ビット線がVCCへバイアスされるときに、V1へ駆動される選択されるワード線と選択されるセルのチャネルとの間の電界強度を最小化する。本実施形態によれば、ビット線をVCCとVSSとの間の電圧へバイアスすることにより、この電界強度は完全なVCC抑止状況と比べて増大され、それによって、セルのしきい値電圧を正にシフトさせることができる。しかし、しきい値電圧がシフトするシフト量は、ビット線がVSSへバイアスされた場合のシフト量よりも小さくなる。したがって、セルの一部が完全にプログラムされることを抑止される。
図23は、1セルあたり2ビットの記憶方式についての並列多状態プログラミング実施形態のためのビット線の電圧バイアスの例を示す、4つのフラッシュメモリのNANDセルストリングの回路図である。図23に示すNANDセルストリングの各要素は、前に図22Aに示したNANDセルストリングについて説明したものであり、したがって、同じ要素を指定するのに同じ参照番号を使用する。各NANDセルストリングはそれぞれのビット線BL0、BL1、BL2およびBL3に接続されている。図示している例では、BL0はVCCへバイアスされ、BL1はVBL1へバイアスされ、BL2はVBL3へバイアスされ、BL3はVSSへバイアスされる。本実施形態によれば、すべてのビット線は、ワード線が駆動される前に、これら4つの電圧のうちの1つを用いて同時にバイアスされる。次いで、ワード線は、例えば、前述のプログラム抑止方式について図22Bに概要を示した電圧とシーケンスとを用いて、プログラミングを実施するために駆動される。ある電圧がプログラミングを抑止するのに使用され、別の電圧がプログラミングを可能にするように使用される原理の下で動作する他のプログラム抑止方式を、本実施形態で教示する並列多状態プログラミングのために適応させることができる。
1セルあたり2ビットの記憶方式の一例では、ビット線を、VCCのプログラム抑止電圧、およびVSS、VBL1、VBL2のプログラム電圧のうちの1つへバイアスすることができ、VBL1およびVBL2はどちらもVSSより大きく、VCCより小さい。例えば、VBL1を1ボルトとすることができ、VBL2を2ボルトとすることができる。VBL1およびVBL2についての具体的な電圧レベルは、製造プロセス、所望のしきい値電圧、選択されるワード線についてのプログラミングプロファイルといった要因に基づいて決定することができる。前述のものと同じ原理を、2ビットより多くのビットがメモリセルに記憶される実施形態に適用することができる。
ビット線の特定の電圧レベルへのバイアスは、特定のビット線に対応するデータの各ページの各ビットの論理状態に依存する。図24は、本発明の一実施形態による、並列多状態プログラミングのためにビット線電圧レベルを変調するためのビット線アクセス回路のブロック図である。ビット線アクセス回路1000は、ページバッファ1002と、少なくとも1つのマルチページプログラム・バッファ1004とを含む。ページバッファ1002は、それぞれ、第1のページのデータの1ビットを記憶するための、複数のデータ記憶回路1006を含む。ページバッファ1004は、それぞれ、第2のページのデータの1ビットを記憶するための、複数のデータ記憶回路1008を含む。BL変調器1010に接続されたデータ記憶回路1006とデータ記憶回路1008との各対は、個々のビット線と関連付けられている。ビット線ごとのデータ復号回路は、BL変調器1010とデータ検証デコーダ1012とを含む。要素1002、1006、1008および1012は、図16に示した要素112、114、504、502および506と実質的に同じである。図24の実施形態と図16の実施形態との主な違いはBL変調器1010であり、BL変調器1010は、特定のビット線と関連付けられたデータの2ページのデータビットを復号し、ビット線を所定の電圧を用いてバイアスし、データ検証デコーダ1012の論理を復号する役割を果たす。メモリアレイ内のあらゆるBL変調器1010が、プログラム反復が開始される前に、同時にそれぞれのビット線をバイアスする。
図25は、BL変調器1010の機能ブロックを示す概略図である。BL変調器1010は、プログラム・データ・デコーダ1100と、ビット線バイアス回路1102とを含む。プログラム・データ・デコーダ1100はDATA1_[1]と呼ばれる第1のページバッファからのデータビットと、DATA2_[1]と呼ばれる第2のページバッファからのデータのビットとを受け取る。「DATA1」という用語はそのビットが第1のページバッファからのものであることを指示し、「DATA2」という用語はそのビットが第2のページバッファからのものであることを示す。「[1]」という用語はデータのページ内のビット位置を示す。プログラム・データ・デコーダ1100は、データの2ビットを復号して選択信号S0、S1、S2およびS3を提供し、その場合、DATA1_[1]とDATA2_[1]との任意の組み合わせについてただ1つの選択信号だけがアクティブ論理レベルにある。これらの選択信号は、ビット線バイアス回路1102によって、所定の電圧VCC、VSS、VBL1またはVBL2のうちの1つをビット線BL[1]へ通すために使用され、VCC>VBL2>VBL1>VSSである。本実施形態では、各選択信号は対応する所定の電圧へマップされる。ここで示す実施形態は、1セルあたり2ビットの記憶方式のために構成されており、この方式は1セルあたり3ビット以上の記憶方式のために拡張することができる。したがって、DATA1_[1]とDATA2_[1]との可能な組み合わせごとに、BL変調器1010はそのビット線を選択し、所定の電圧VCC、VSS、VBL1またはVBL2のうちの1つへバイアスする。各電圧は電圧発生器によって発生させることができる。
図26は、図25に示したプログラム・データ・デコーダ1100の一実施形態を示す回路図の例である。プログラム・データ・デコーダ1100は、それぞれ、ページ・バッファ・データ・ビットDATA1_[1]およびDATA2_[1]を受け取るための第1の入力および第2の入力を有する、AND論理ゲート1200、1202、1204および1206を含む。各AND論理ゲートは選択信号S0、S1、S2およびS3のうちの1つを提供する。AND論理ゲートの第1入力と第2の入力とは、DATA1_[1]とDATA2_[1]とのどんな組み合わせについても選択信号のうちのただ1つだけがアクティブハイ論理レベルへ駆動されることを保証するために異なった構成とされる。図26に示す論理ゲート構成の例は、使用され得る可能な構成の1つである。異なる種類の論理ゲートおよび入力構成を使用して、ビット線へ印加するための特定の電圧を選択するためのものである、図26のAND論理ゲート構成によって示されるのと同じ結果を得ることもできる。
図27は、図25に示したビット線バイアス回路1102の一実施形態を示す回路図の例である。ビット線バイアス回路1102は、pチャネルトランジスタ1300と、nチャネルトランジスタ1302、1304および1306とを含む。pチャネルトランジスタ1300は、インバータ1308による、ハイ論理レベルにあるS0に応答してビット線BLをVCCへ接続する。nチャネルトランジスタ1302は、ハイ論理レベルにあるS1に応答してビット線BLをVBL1へ接続する。nチャネルトランジスタ1304は、ハイ論理レベルにあるS2に応答してビット線BLをVBL2へ接続する。nチャネルトランジスタ1306は、ハイ論理レベルにあるS3に応答してビット線BLをVSSへ接続する。したがって、プログラム・データ・デコーダ1100によって提供される選択信号S0、S1、S2およびS3を介して、所定の電圧のうちの1つをビット線BLへ印加することができる。異なる回路構成を使用して、選択信号に応答して異なる電圧をビット線へ提供することもできる。
図26に示した回路実施形態は、図18Aの並列多状態プログラミングの実施形態のために使用することができるが、別の実施形態によれば、回路の変更バージョンが、図19Aの順次と並列混合のマルチページプログラムの実施形態のために使用されるはずである。そのような代替の実施形態では、プログラム・データ・デコーダ1100の論理は、状態ST1をプログラムするための第1のプログラミング反復において、状態ST2またはST3を記憶するように指定された任意のメモリセルがその個々のビット線を、本例ではVBL1であるST1に対応する同じビット線電圧へバイアスさせるように構成されるはずである。これは、この所望の結果達成するように論理回路を設計することによって行うこともでき、あるいは、ビット線バイアス回路1102のトランジスタ1304および1306を、第1のプログラミング反復において、それぞれ、VBL2およびVSSの代わりにVBL1を受け取るように構成することもできる。状態ST2およびST3を並列にプログラムするための次のプログラミング反復においては、図26の回路を前述のように使用することができる。
図20Aの順次と並列混合のマルチページプログラムの実施形態は、プログラム・データ・デコーダ1100の論理への同様の変更を必要とするはずである。この場合には、状態ST1およびST2が最初のプログラム反復においてプログラムされる。しかし、状態ST3を記憶するように指定されたメモリセルは、第1のプログラム反復において、中間のST2状態へプログラムされるはずである。したがって、プログラム・データ・デコーダ1100の論理は、状態ST1およびST2をプログラムするための第1のプログラミング反復において、状態ST3を記憶するように指定された任意のメモリセルがその個々のビット線を、本例ではVBL2であるST2に対応する同じビット線電圧へバイアスさせるように構成されるはずである。この場合もやはり、論理復号回路をこの所望の結果を達成するように設計することもでき、あるいは、ビット線バイアス回路1102のための電圧レベル切り換えを使用することもできる。
本明細書で説明するビット線アクセス回路1000の実施形態は、すべての可能な状態が同時にプログラムされる図18Aに示した完全並列多状態プログラミングの実施形態を実行するのに使用することができる。他の1つの状態がプログラムされる別のプログラミング反復の前または後に、並列多状態プログラミングがいくつかの状態について実行される図19Aおよび図20Aの実施形態について、ビット線アクセス回路1000の前述の実施形態を、図16および図17の実施形態の教示に従って変更することができる。そのような変更は、図18Aに示した完全並列多状態プログラミングの実施形態と、図19Aおよび図20Aに示した順次と並列混合のマルチページプログラムの実施形態とに特有のプログラム検証動作のための回路を適応させる。以下は、ここで説明する多状態プログラミングの実施形態のためのプログラム検証の考察である。
各プログラミング反復において1つの状態がプログラムされる前述の実施形態では、所望のしきい値電圧がメモリセルへ適正にプログラムされていることを保証するために、各反復後にプログラム検証動作が実行される。ここで説明する多状態プログラミングの実施形態では、1回のプログラミング反復において少なくとも2つの状態が同時にプログラムされる。したがって、少なくとも2つの状態に対応するしきい値電圧が個々のセルへプログラムされていることを検証するのに、新しいプログラム検証方式が使用される。
図18Aの実施形態では、すべての状態が並列にプログラムされるが、プログラム検証は状態ごとに順次に実行される。本実施形態では、ビット線に接続されたメモリセルが正常にプログラムされていると検証されたときに、当該ビット線に対応する2つのデータ・バッファ・ビットは、それ以上のプログラミングを抑止するための消去状態に対応する2進値「11」へ変更される。しかし、検証されているプログラム状態についてのデータ・バッファ・ビットだけが消去状態に切り換えられるべきである。言い換えると、検証されていない状態についてのデータ・バッファ・ビットは、別のプログラム状態についてのプログラム検証動作の間に消去状態に切り換えられるべきではない。図16の実施形態について前述したように、データ検証デコーダ506はプログラム検証動作においてデータバッファのレジスタビットを切り換える。したがって、この回路は、それについてのプログラム検証動作が現在実行されている状態へのプログラミングの間にバイアスされるビット線について使用可能とされるべきである。
図28に、図18Aの多状態プログラミングの実施形態について、図24の実施形態のデータ検証デコーダ1012を選択的に使用可能にし、または使用不可にするための制御回路の回路図実施形態を示す。プログラム検証制御回路1400は、AND論理ゲート1402、1404および1406と、OR論理ゲート1408とを含む。各AND論理ゲートは、図26に示したプログラム・データ・デコーダ1100によって提供される選択信号S1、S2またはS3のうちの1つを受け取るための第1の入力を有する。各AND論理ゲートは、選択信号S1、S2およびS3にそれぞれ対応する検証制御信号「検証S1」、「検証S2」および「検証S3」を受け取るための第2の入力を有する。AND論理ゲート1402、1404および1406の出力は、対応するデータ検証デコーダ1012を使用可能にする出力を提供するために、ゲート1408によってその論理和(OR)が取られる。状態S0はプログラム検証される必要のない消去状態であるため、状態S0についてのAND論理ゲートは不要であることに留意する。データ検証デコーダ1012は、プログラム検証制御回路1400からのイネーブル信号に応答するように構成されているものと仮定する。
動作に際して、プログラム検証制御回路1400は、それぞれ特定の状態についてのプログラム検証動作に対応する異なる期間にアクティブハイ論理レベルにある検証制御信号「検証S1」、「検証S2」および「検証S3」を受け取る。例えば、状態S1を検証するためにまず「検証S1」をアサートし、続いて状態S2を検証するために「検証S2」をアサートすることができる。前述のように、プログラム・データ・デコーダ1100は、DATA1_[1]とDATA2_[1]との任意の所与の論理状態の組み合わせについて選択信号S0、S1、S2およびS3のうちのただ1つだけをアサートする。したがって、各検証制御信号「検証S1」、「検証S2」および「検証S3」が特定の状態を検証するためにアサートされる際には、当該の特定の状態をプログラムするためにバイアスされたビット線と関連付けられたデータ検証デコーダ1012だけが使用可能とされ、他のすべてのデータ検証デコーダ1012は使用不可とされる。図28に示す特定の論理ゲート構成は1つの可能な構成の例である。同じ結果を達成するために、他の制御信号と組み合わせた選択信号を使用してデータデコーダ1012を使用可能にするための代替の論理ゲート構成を使用することもできる。
使用可能にされた後で、データ検証デコーダ1012は、ビット線に対応するページバッファのデータビットの対を、当該の特定の状態のプログラミングに成功したとみなされる場合には、消去状態へ切り換えるように構成される。そうでない場合、データビットの対は変更されない。したがって、正常にプログラムされなかったメモリセルは、再度プログラムするために、それらに対応するビット線を、選択信号S1、S2およびS3によって選択される特定の電圧レベルへバイアスさせることになる。本実施形態では、データ検証デコーダ1012は、状態ST1、ST2およびST3に対応するデータビットの対を、例えば「11」などといった、消去状態に対応する論理レベルへ切り換えるように構成された論理回路を含む。
並列多状態プログラミング実施形態のプログラム検証のための技法が説明されたので、図19Aおよび図20Aの順次並列混合のマルチページプログラミングの実施形態のためのプログラム検証の技法は、図16の順次プログラミングの実施形態で使用されるプログラム検証の実施形態と、図22の並列多状態プログラミングの実施形態についてのプログラム検証の実施形態との組み合わせであることが認められる。
図19Aの実施形態から開始すると、プログラムされるべき最初の状態は状態ST1であり、続いて、状態ST2およびST3の並列プログラミングが行われる。しかし、状態ST2およびST3を記憶するように指定されたメモリセルは第1のプログラミング反復においてプログラムされ、したがって、中間状態として状態ST1を記憶している。この第1のプログラミング反復は、すべてのセルが、最終状態として、または中間状態として状態ST1を記憶するようにプログラムされる図14Bに示したプログラミング反復と同様のものである。したがって、前述の図14Bについてのプログラム検証の技法を使用することができる。次のプログラミング反復において、中間状態は最終状態へシフトされる。したがって、第1のプログラミング反復についての正常なプログラム検証動作の一部として、データ検証デコーダ1012の論理回路は、i)状態ST1に対応するデータビットを消去状態へ切り換え、または、ii)状態ST2に対応するデータビットを、ビット線電圧VBL2を選択するための組み合わせへ切り換え、または、iii)状態ST3に対応するデータビットを、ビット線電圧VSSを選択するための組み合わせへ切り換えるように構成される。したがって各ビット線は、第2のプログラミング反復で状態ST2およびST3を並列にプログラムするための新しい電圧レベルへバイアスされる。図18Aの実施形態に用いられるプログラム検証の技法を、第2のプログラミング反復に使用することができる。
図20Aの実施形態では、状態ST1およびST2が第1のプログラミング反復において並列にプログラムされ、続いて、第2のプログラミング反復において状態ST3がプログラムされる。第1のプログラム反復には、図18Aの実施形態について説明したプログラム検証の技法を使用することができる。第1のプログラミング反復についての正常なプログラム検証動作の一部として、データ検証デコーダ1012の論理回路は、i)状態ST1またはST2に対応するデータビットを消去状態へ切り換え、またはii)状態ST3に対応するデータビットを、ビット線電圧VSSを選択するための組み合わせへ切り換えるように構成される。したがって各ビット線は、第2のプログラミング反復で状態ST3をプログラムするための新しい電圧レベルへバイアスされる。図14Bの実施形態に用いられるプログラム検証の技法を、第2のプログラミング反復に使用することができる。
以上で開示し、説明した回路および論理構成は、様々な多状態プログラミングの実施形態および対応するプログラム検証の実施形態を実施するのに使用することができるはずの実施形態の例として提示するものである。同じ所望の結果を得るために代替の回路および論理構成を使用することもできる。
図29は、本発明の一実施形態による、並列多状態プログラミングのための方法の概要を示す流れ図である。この方法は、図9の方法のブロック302において使用することができる。図28の方法は、1500で、プログラムすべき状態を決定するために、前述の回路実施形態において説明したように、各ビット線に対応するデータの各ページの各ビットを復号することから開始する。1502で、ビット線は、プログラムすべき異なる状態のそれぞれに対応する電圧レベルへバイアスされる。各ビット線がそれぞれの電圧レベルへバイアスされた後で、選択されるワード線が、1504で、メモリセルへの異なる状態の同時プログラミングのためのプログラミングプロファイルを用いて駆動され、異なる状態はそれぞれ、対応するしきい値電圧を有する。プログラミングが完了した後、1506で、前述の実施形態によるプログラム検証動作を実行することができる。要素1500、1502、1504および1506は、すべての可能な状態の完全並列多状態プログラミングに使用することもでき、すべての可能な状態の一部の並列多状態プログラミングに使用することもできる。
例えば、1500でデータを復号する前に、1510の対応するプログラム検証動作を伴って、1508で、ある状態をプログラムするために第1のプログラミング反復を実行し、それによって、残りの可能な状態を1500、1502および1504(第2のプログラミング反復)で並列にプログラムさせることもできる。1500、1502、1504および1506で実行されるプログラミング動作は、第1のプログラミング反復としての1つの状態を除くすべての可能な状態をプログラムするのに使用することができる。残りの状態は、1514で対応するプログラム検証動作を伴って、第2のプログラミング反復1512においてプログラムすることもできる。ここで説明する実施形態は、第1のプログラミング反復において1つの状態をプログラムし、続いて、第2のプログラム反復において残りの状態を並列にプログラムすること、またはその逆を行うことだけに限定されるものではない。プログラムされるべき多くの状態がある状況では、少なくとも2つの状態が各プログラミング反復においてプログラムされる複数のプログラミング反復を使用することができる。
前述の各実施形態では、簡潔にするために、デバイスの各要素および回路は、相互に接続されているものとして各図に示されている。本発明の実際の応用に際しては、要素、回路などが相互に直接接続されてもよい。また、要素、回路などが、デバイスおよび装置の動作に必要な他の要素、回路などを介して相互に間接的に接続されてもよい。よって、実際の構成においては、回路要素および回路は、直接的に、または間接的に、相互と結合され、または相互に接続される。
本発明の上記の実施形態は例示のためのものにすぎない。当業者によれば、添付の特許請求の範囲によってのみ定義される本発明の範囲を逸脱することなく、個々の実施形態への変更、改変および変形が実施され得る。

Claims (23)

  1. NANDフラッシュ・メモリ・デバイスのためのマルチページプログラミングの方法であって、
    前記NANDフラッシュ・メモリ・デバイスに、Mを1より大きい整数とするMページのデータを記憶するステップと、
    前記NANDフラッシュ・メモリ・デバイスにおいて、前記NANDフラッシュ・メモリ・デバイスのメモリセルに最大2通りまでの状態を記憶するためのマルチページプログラミング動作を開始するステップと、
    を含む方法。
  2. 前記マルチページプログラミング動作の完了状態を検査するステップをさらに含む請求項1に記載の方法。
  3. 前記完了状態がマルチページプログラミング動作の完了に対応するときに、前記マルチページプログラミング動作に成功したかどうか判定するステップをさらに含む請求項2に記載の方法。
  4. 前記記憶するステップが、Mページのそれぞれを、前記NANDフラッシュ・メモリ・デバイスの個々のM個のページバッファへ繰り返しロードするステップを含む請求項1に記載の方法。
  5. 前記Mページのそれぞれをロードする前記ステップが、前記NANDフラッシュ・メモリ・デバイスにおいて、後に入力データが続くデータ・ロード・コマンドを受け取るステップを含む請求項4に記載の方法。
  6. 前記入力データが前記データおよびアドレス情報を含む請求項5に記載の方法。
  7. 前記データ・ロード・コマンドが第1のデータ・ロード・コマンドであり、前記第1のデータ・ロード・コマンドに対応する前記入力データが受け取られた後で第2のデータ・ロード・コマンドが受け取られる請求項5に記載の方法。
  8. 前記第1のデータ・ロード・コマンドに対応する前記入力データが受け取られた後で、前記第2のデータ・ロード・コマンドが受け取られる前にデータ終了コマンドが受け取られる請求項7に記載の方法。
  9. 前記Mページの最後のページについてのデータ終了コマンドが、前記Mページの最後のページに対応する入力データが受け取られた後で受け取られる請求項7に記載の方法。
  10. 前記データ終了コマンドがマルチページプログラム・コマンドを含む請求項9に記載の方法。
  11. 前記マルチページプログラミング動作が、最大2−1通りまでの状態をプログラムするために2−1回のプログラミング反復を実行するステップを含み、前記2通りの状態のうちの1つが消去状態である請求項1に記載の方法。
  12. 各プログラミング反復が、各ビット線に対応する前記Mページのデータのビットの組み合わせに応答してプログラミングを可能にし、または抑止するように前記各ビット線をバイアスするステップを含む請求項11に記載の方法。
  13. 各プログラミング反復が、前記ビット線がプログラミングを可能にし、または抑止するようにバイアスされている間に、各プログラミング反復に特有のプログラミングプロファイルを用いて選択されるワード線を駆動するステップを含む請求項12に記載の方法。
  14. ワード線に接続され、ビット線に結合されたフラッシュ・メモリセルを有するメモリアレイと、
    Mを最低でも2の整数とするMページのデータを記憶し、前記Mページからの各ビット線に対応するビットの組み合わせに応答して、2−1回のプログラミング反復のそれぞれについてプログラミングを可能にし、または抑止するように前記ビット線をバイアスするためのビット線アクセス回路と、
    前記ビット線がプログラミングを可能にし、または抑止するようにバイアスされている間に、前記2−1回のプログラミング反復のそれぞれについてプログラミングプロファイルを用いて選択されるワード線を駆動するための行回路と、
    を備えるフラッシュ・メモリ・デバイス。
  15. 前記ビット線アクセス回路が、それぞれ前記Mページの1つを記憶するためのM個のデータバッファを含む請求項14に記載のフラッシュ・メモリ・デバイス。
  16. 前記ビット線アクセス回路が、各ビット線に対応する前記M個のデータバッファに記憶された前記Mページのビットの組み合わせに応答してプログラミングを可能にし、または抑止するように前記各ビット線をバイアスするためのビット線バイアス回路を含む請求項15に記載のフラッシュ・メモリ・デバイス。
  17. 前記M個のデータバッファのそれぞれが、1ページのデータの1ビットを記憶するためのデータ記憶回路を含む請求項16に記載のフラッシュ・メモリ・デバイス。
  18. 前記M個のデータバッファの各ビット位置が、
    各ビット線に対応する前記M個のデータバッファに記憶された前記Mページの前記ビットを受け取るためのデータ検証デコーダと、
    前記データデコーダの選択される出力に応答して前記ビットを反転させるための反転回路と、
    を含む請求項17に記載のフラッシュ・メモリ・デバイス。
  19. それぞれ、消去状態、第1の状態、第2の状態および第3の状態の1つに対応するしきい値電圧を有するようにプログラムすることができる、ワード線に接続され、ビット線に結合されたフラッシュ・メモリセルを有するメモリアレイと、
    データの2ページからのビットの特定の組み合わせに応答して、前記第1の状態、前記第2の状態および前記第3の状態のそれぞれについてプログラミングを可能にし、または抑止するように前記ビット線をバイアスする、前記第1の状態、前記第2の状態および前記第3の状態を所定の順序でプログラムするように前記ビット線をバイアスするためのビット線アクセス回路と、
    前記ビット線が、前記第1の状態、前記第2の状態および前記第3の状態をそれぞれプログラムするようにバイアスされている間に、前記第1の状態、前記第2の状態および前記第3の状態に対応するプログラミングプロファイルを用いて選択されるワード線を駆動するための行回路と、
    を備えるフラッシュ・メモリ・デバイス。
  20. フラッシュ・メモリ・デバイスをプログラムするための方法であって、
    データの少なくとも2ページを前記フラッシュ・メモリ・デバイスのページバッファへロードするステップと、
    前記フラッシュ・メモリ・デバイスのビット線を、データの前記少なくとも2ページのデータビットの論理状態に応答して、前記ビット線に結合されたフラッシュ・メモリセルへの異なるしきい値電圧のプログラミングを抑止すること、およびプログラミングを可能にすることの一方を有効にする電圧レベルへバイアスするステップと、
    前記フラッシュ・メモリ・デバイスのワード線を、前記ワード線に並列に接続されている前記フラッシュ・メモリセルへ前記異なるしきい値電圧をプログラムするために、ある期間にわたって駆動するステップと、
    を含む方法。
  21. 複数のフラッシュ・メモリセルへ異なる状態を並列にプログラムするための方法であって、
    前記フラッシュ・メモリセルのそれぞれについて、Mを最低でも2の整数とするMビットのデータを受け取るステップと、
    前記Mビットに応答して、前記複数のフラッシュ・メモリセルのそれぞれに記憶すべき2通りの可能な状態のうちの1状態を決定するステップと、
    前記複数のフラッシュ・メモリセルに接続されたビット線を、それぞれが2通りの可能な状態のそれぞれに対応する所定の電圧レベルを用いてバイアスするステップと、
    前記複数のフラッシュ・メモリセルに最大2通りまでの異なる状態を並列にプログラムするために選択されるワード線を駆動するステップと、
    を含む方法。
  22. フラッシュ・メモリセルの物理ページへのデータのページの多状態プログラミングのためのビット線変調器回路であって、
    Mを最低でも2の整数とし、各ビットがデータの前記ページの1つと関連付けられているデータのMビットを受け取り、データの前記Mビットの論理組み合わせに応答して復号選択信号を提供するためのプログラム・データ・デコーダと、
    前記復号選択信号に応答して、ビット線を2段階の電圧レベルのうちの1つへバイアスするためのビット線バイアス回路と、
    を備えるビット線変調器回路。
  23. ワード線に接続され、ビット線に結合されたフラッシュ・メモリセルを有するメモリアレイと、
    Mを最低でも2の整数とするMページのデータを記憶するためのM個のページバッファと、
    それぞれが、データの前記Mページのそれぞれからのデータビットの組み合わせに応答して、2段階の電圧レベルの1つを対応するビット線に印加する、前記ビット線のそれぞれと、前記M個のページバッファとに結合されたビット線変調器と、
    データの前記Mページをフラッシュ・メモリセルの行へプログラムするためのプログラミングプロファイルを用いて、選択されるワード線を駆動するための行回路と、
    を備えるフラッシュ・メモリ・デバイス。
JP2013519925A 2010-07-21 2011-07-20 フラッシュメモリのためのマルチページプログラム方式 Pending JP2013534685A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US36637510P 2010-07-21 2010-07-21
US61/366,375 2010-07-21
PCT/CA2011/050442 WO2012009812A1 (en) 2010-07-21 2011-07-20 Multipage program scheme for flash memory

Publications (1)

Publication Number Publication Date
JP2013534685A true JP2013534685A (ja) 2013-09-05

Family

ID=45493513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013519925A Pending JP2013534685A (ja) 2010-07-21 2011-07-20 フラッシュメモリのためのマルチページプログラム方式

Country Status (8)

Country Link
US (2) US9484097B2 (ja)
EP (1) EP2596501A1 (ja)
JP (1) JP2013534685A (ja)
KR (1) KR20130038391A (ja)
CN (1) CN103155044A (ja)
CA (1) CA2802219A1 (ja)
TW (1) TW201225088A (ja)
WO (1) WO2012009812A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013235645A (ja) * 2012-05-04 2013-11-21 Samsung Electronics Co Ltd 3次元不揮発性メモリを含むメモリシステムのプログラム方法

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8261158B2 (en) 2009-03-13 2012-09-04 Fusion-Io, Inc. Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage
US8266503B2 (en) 2009-03-13 2012-09-11 Fusion-Io Apparatus, system, and method for using multi-level cell storage in a single-level cell mode
US8458635B2 (en) * 2009-12-04 2013-06-04 Synopsys, Inc. Convolution computation for many-core processor architectures
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
US8854882B2 (en) 2010-01-27 2014-10-07 Intelligent Intellectual Property Holdings 2 Llc Configuring storage cells
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
US9588883B2 (en) * 2011-09-23 2017-03-07 Conversant Intellectual Property Management Inc. Flash memory system
WO2013048385A1 (en) * 2011-09-28 2013-04-04 Intel Corporation Maximum-likelihood decoder in a memory controller for synchronization
KR101845509B1 (ko) 2011-10-05 2018-04-05 삼성전자주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법
US9430735B1 (en) * 2012-02-23 2016-08-30 Micron Technology, Inc. Neural network in a memory device
KR102025088B1 (ko) 2012-09-03 2019-09-25 삼성전자 주식회사 메모리 컨트롤러 및 상기 메모리 컨트롤러를 포함하는 전자장치
TWI560549B (en) * 2013-02-07 2016-12-01 Winbond Electronics Corp Access system
KR102160290B1 (ko) 2013-02-28 2020-09-25 삼성전자주식회사 불휘발성 메모리 및 불휘발성 메모리의 읽기 방법
US11222697B2 (en) 2013-02-28 2022-01-11 Samsung Electronics Co., Ltd. Three-dimensional nonvolatile memory and method of performing read operation in the nonvolatile memory
US20140281842A1 (en) * 2013-03-14 2014-09-18 Fusion-Io, Inc. Non-Volatile Cells Having a Non-Power-of-Two Number of States
KR102127105B1 (ko) 2013-11-11 2020-06-29 삼성전자 주식회사 비휘발성 메모리 장치의 구동 방법
JP2015097245A (ja) * 2013-11-15 2015-05-21 株式会社東芝 不揮発性半導体記憶装置、及びメモリシステム
US9123414B2 (en) * 2013-11-22 2015-09-01 Micron Technology, Inc. Memory systems and memory programming methods
US9336875B2 (en) 2013-12-16 2016-05-10 Micron Technology, Inc. Memory systems and memory programming methods
US9613704B2 (en) * 2013-12-25 2017-04-04 Aplus Flash Technology, Inc 2D/3D NAND memory array with bit-line hierarchical structure for multi-page concurrent SLC/MLC program and program-verify
US9269432B2 (en) * 2014-01-09 2016-02-23 Micron Technology, Inc. Memory systems and memory programming methods
WO2015121868A1 (en) * 2014-02-17 2015-08-20 Technion Research And Development Foundation Ltd. Multistate register having a flip flop and multiple memristive devices
CN104952475B (zh) * 2014-03-28 2017-11-03 华邦电子股份有限公司 快闪存储器及其编程方法
US10042565B2 (en) * 2014-10-16 2018-08-07 Futurewei Technologies, Inc. All-flash-array primary storage and caching appliances implementing triple-level cell (TLC)-NAND semiconductor microchips
KR102292183B1 (ko) * 2014-11-07 2021-08-25 삼성전자주식회사 불휘발성 메모리의 동작 방법 및 불휘발성 메모리를 포함하는 스토리지 장치의 동작 방법
KR102282947B1 (ko) 2014-12-15 2021-07-30 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR102333743B1 (ko) * 2015-01-21 2021-12-01 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법
US9852795B2 (en) * 2015-09-24 2017-12-26 Samsung Electronics Co., Ltd. Methods of operating nonvolatile memory devices, and memory systems including nonvolatile memory devices
KR102320861B1 (ko) * 2015-10-06 2021-11-03 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US9715924B2 (en) * 2015-10-22 2017-07-25 Sandisk Technologies Llc Three dimensional non-volatile memory with current sensing programming status
KR102396734B1 (ko) * 2015-11-23 2022-05-12 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR102470606B1 (ko) * 2015-11-26 2022-11-28 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 포함하는 스토리지 장치
US10346097B2 (en) 2015-11-26 2019-07-09 Samsung Electronics Co., Ltd. Nonvolatile memory device and storage device including nonvolatile memory device
KR102606468B1 (ko) * 2015-11-26 2023-11-29 삼성전자주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치에 데이터를 프로그램 하는 프로그램 방법
KR20170073980A (ko) * 2015-12-21 2017-06-29 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US9823880B1 (en) * 2016-09-30 2017-11-21 Intel Corporation Method and apparatus for initiating pre-read operation before completion of data load operation
US10713276B2 (en) * 2016-10-03 2020-07-14 Ocient, Inc. Data transition in highly parallel database management system
US9977622B1 (en) 2016-11-22 2018-05-22 Micron Technology, Inc. Buffer operations in memory
KR102336659B1 (ko) 2017-09-05 2021-12-07 삼성전자 주식회사 데이터 신뢰성을 향상시키기 위한 메모리 동작을 수행하는 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 장치의 동작 방법
US11232841B2 (en) 2017-09-05 2022-01-25 Samsung Electronics Co., Ltd. Methods of operating memory devices based on sub-block positions and related memory system
US10824376B2 (en) 2017-12-08 2020-11-03 Sandisk Technologies Llc Microcontroller architecture for non-volatile memory
US10622075B2 (en) 2017-12-12 2020-04-14 Sandisk Technologies Llc Hybrid microcontroller architecture for non-volatile memory
KR102401061B1 (ko) * 2017-12-26 2022-05-24 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
CN110047545A (zh) * 2018-01-13 2019-07-23 许富菖 使用多页编程来写入非易失性存储器的方法与装置
US10256244B1 (en) * 2018-01-15 2019-04-09 Gigadevice Semiconductor (Beijing) Inc. NAND flash memory with fast programming function
US10910061B2 (en) 2018-03-14 2021-02-02 Silicon Storage Technology, Inc. Method and apparatus for programming analog neural memory in a deep learning artificial neural network
JP2019164873A (ja) * 2018-03-20 2019-09-26 東芝メモリ株式会社 半導体記憶装置およびその制御方法
KR102442216B1 (ko) * 2018-04-19 2022-09-08 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
TWI682396B (zh) * 2018-08-07 2020-01-11 旺宏電子股份有限公司 記憶體陣列的操作方法
JP2022510720A (ja) * 2018-12-10 2022-01-27 長江存儲科技有限責任公司 フラッシュメモリのマルチパスプログラミングのための先読み技法
US10777286B2 (en) 2018-12-28 2020-09-15 Micron Technology, Inc. Apparatus and methods for determining data states of memory cells
US10777240B1 (en) 2019-03-07 2020-09-15 Sandisk Technologies Llc Efficient control of memory core circuits
US11315649B2 (en) 2019-04-16 2022-04-26 Samsung Electronics Co., Ltd. Memory controller, memory device and memory system having improved threshold voltage distribution characteristics and related operating methods
KR102671402B1 (ko) 2019-04-16 2024-05-31 삼성전자주식회사 문턱전압 산포 특성을 향상한 메모리 컨트롤러, 메모리 시스템 및 그 동작방법
TWI727327B (zh) * 2019-05-29 2021-05-11 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
CN112051963B (zh) * 2019-06-06 2023-06-13 群联电子股份有限公司 数据写入方法、存储器控制电路单元以及存储器存储装置
US10971199B2 (en) 2019-06-20 2021-04-06 Sandisk Technologies Llc Microcontroller for non-volatile memory with combinational logic
KR20210011209A (ko) * 2019-07-22 2021-02-01 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
US10949126B2 (en) * 2019-07-25 2021-03-16 ScaleFlux, Inc. Solid-state storage device speed performance and endurance through host-side data classification and embedded write caching
KR20210033713A (ko) * 2019-09-19 2021-03-29 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
US11507498B2 (en) 2020-03-05 2022-11-22 Sandisk Technologies Llc Pre-computation of memory core control signals
CN112154505B (zh) * 2020-08-27 2022-09-30 长江存储科技有限责任公司 Nand闪存设备中的非破坏性模式高速缓存编程
US11894075B2 (en) 2020-08-27 2024-02-06 Yangtze Memory Technologies Co. Ltd. Non-destructive mode cache programming in NAND flash memory devices
US11688474B2 (en) * 2021-04-19 2023-06-27 Micron Technology, Inc. Dual verify for quick charge loss reduction in memory cells
WO2022252135A1 (en) * 2021-06-02 2022-12-08 Yangtze Memory Technologies Co., Ltd. Memory device and program operation thereof
WO2024087144A1 (en) * 2022-10-28 2024-05-02 Yangtze Memory Technologies Co., Ltd. Memory device and program operation thereof

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09180472A (ja) * 1995-12-11 1997-07-11 Samsung Electron Co Ltd 多値記憶不揮発性半導体メモリ及びそのカラム選択回路
JPH1055688A (ja) * 1996-08-12 1998-02-24 Sony Corp 不揮発性半導体記憶装置
JPH11232886A (ja) * 1998-02-16 1999-08-27 Hitachi Ltd 半導体装置、メモリカード及びデータ処理システム
JP2000040382A (ja) * 1998-07-23 2000-02-08 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
JP2000163977A (ja) * 1998-11-20 2000-06-16 Sony Corp 不揮発性半導体記憶装置及びそのデータ書き込み方法
JP2001167589A (ja) * 1999-11-01 2001-06-22 Samsung Electronics Co Ltd 不揮発性半導体メモリ装置およびそのプログラム方法
US20080080237A1 (en) * 2006-09-29 2008-04-03 Hynix Semiconductor Inc. Method of programming a multi level cell
US20080189478A1 (en) * 2007-02-06 2008-08-07 Samsung Electronics Co., Ltd. Nonvolatile semiconductor memory device with advanced multi-page program operation
JP2010218623A (ja) * 2009-03-17 2010-09-30 Toshiba Corp 不揮発性半導体記憶装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5268319A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Highly compact EPROM and flash EEPROM devices
US5218569A (en) * 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
US6178118B1 (en) * 1997-08-26 2001-01-23 Macronix International Co., Ltd. Electrically programmable semiconductor device with multi-level wordline voltages for programming multi-level threshold voltages
US6058042A (en) 1997-12-26 2000-05-02 Sony Corporation Semiconductor nonvolatile memory device and method of data programming the same
US6714457B1 (en) * 2001-09-19 2004-03-30 Aplus Flash Technology, Inc. Parallel channel programming scheme for MLC flash memory
KR100630535B1 (ko) * 2004-03-23 2006-09-29 에스티마이크로일렉트로닉스 엔.브이. 멀티 레벨 낸드 플래시 메모리 셀의 독출 방법 및 회로
US7307884B2 (en) 2004-06-15 2007-12-11 Sandisk Corporation Concurrent programming of non-volatile memory
KR100590388B1 (ko) 2005-03-10 2006-06-19 주식회사 하이닉스반도체 멀티-플레인 타입 플래쉬 메모리 장치와, 그 프로그램 동작및 리드 동작 제어 방법
US7366014B2 (en) 2005-07-28 2008-04-29 Stmicroelectronics S.R.L. Double page programming system and method
EP1870905B1 (en) 2006-06-21 2009-12-30 STMicroelectronics S.r.l. Method and circuit for electrically programming semiconductor memory cells
KR100919156B1 (ko) * 2006-08-24 2009-09-28 삼성전자주식회사 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 방법
US7489543B1 (en) * 2007-07-25 2009-02-10 Micron Technology, Inc. Programming multilevel cell memory arrays
TWI375962B (en) 2008-06-09 2012-11-01 Phison Electronics Corp Data writing method for flash memory and storage system and controller using the same
KR101427896B1 (ko) * 2008-08-06 2014-08-11 삼성전자주식회사 공통 소스 라인의 노이즈를 줄이는 플래시 메모리 장치 및그것을 포함하는 메모리 시스템
KR101024134B1 (ko) * 2009-06-12 2011-03-22 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 이의 프로그램 방법
KR20120005826A (ko) * 2010-07-09 2012-01-17 주식회사 하이닉스반도체 반도체 메모리 장치 및 이의 동작 방법
US20160041760A1 (en) * 2014-08-08 2016-02-11 International Business Machines Corporation Multi-Level Cell Flash Memory Control Mechanisms

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09180472A (ja) * 1995-12-11 1997-07-11 Samsung Electron Co Ltd 多値記憶不揮発性半導体メモリ及びそのカラム選択回路
JPH1055688A (ja) * 1996-08-12 1998-02-24 Sony Corp 不揮発性半導体記憶装置
JPH11232886A (ja) * 1998-02-16 1999-08-27 Hitachi Ltd 半導体装置、メモリカード及びデータ処理システム
JP2000040382A (ja) * 1998-07-23 2000-02-08 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
JP2000163977A (ja) * 1998-11-20 2000-06-16 Sony Corp 不揮発性半導体記憶装置及びそのデータ書き込み方法
JP2001167589A (ja) * 1999-11-01 2001-06-22 Samsung Electronics Co Ltd 不揮発性半導体メモリ装置およびそのプログラム方法
US20080080237A1 (en) * 2006-09-29 2008-04-03 Hynix Semiconductor Inc. Method of programming a multi level cell
US20080189478A1 (en) * 2007-02-06 2008-08-07 Samsung Electronics Co., Ltd. Nonvolatile semiconductor memory device with advanced multi-page program operation
JP2010218623A (ja) * 2009-03-17 2010-09-30 Toshiba Corp 不揮発性半導体記憶装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013235645A (ja) * 2012-05-04 2013-11-21 Samsung Electronics Co Ltd 3次元不揮発性メモリを含むメモリシステムのプログラム方法

Also Published As

Publication number Publication date
US20170004877A1 (en) 2017-01-05
CN103155044A (zh) 2013-06-12
EP2596501A1 (en) 2013-05-29
TW201225088A (en) 2012-06-16
CA2802219A1 (en) 2012-01-26
US9852788B2 (en) 2017-12-26
US20120020155A1 (en) 2012-01-26
WO2012009812A1 (en) 2012-01-26
KR20130038391A (ko) 2013-04-17
US9484097B2 (en) 2016-11-01

Similar Documents

Publication Publication Date Title
US9852788B2 (en) Multipage program scheme for flash memory
US10665308B2 (en) Semiconductor memory device
JP4874566B2 (ja) 半導体記憶装置
US10453542B2 (en) Memory device and method of operating the same
US10332603B2 (en) Access line management in a memory device
KR20110092136A (ko) 비휘발성 메모리 장치의 프로그램 방법
US8488386B2 (en) Nonvolatile memory device for reducing interference between word lines and operation method thereof
US20100110796A1 (en) Method of performing erase operation in non-volatile memory device
US7796431B2 (en) Page buffer used in a NAND flash memory and programming method thereof
JP2011018397A (ja) Nand型フラッシュメモリ
JP2009151865A (ja) 不揮発性半導体記憶装置とその書き込み方法
US11227658B2 (en) Flash memory and method for controlling the same
US8547752B2 (en) Method of reading data in non-volatile memory device, and device thereof
JP2006164408A (ja) 不揮発性半導体記憶装置及びそのデータ消去方法。
JP2013025845A (ja) 不揮発性半導体記憶装置
JP2011134422A (ja) 不揮発性半導体記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140709

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140926

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150407

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150428

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151006