JP2013525935A - 他のメモリセルからの影響の緩和することを含む不揮発性記憶装置のプログラミング - Google Patents

他のメモリセルからの影響の緩和することを含む不揮発性記憶装置のプログラミング Download PDF

Info

Publication number
JP2013525935A
JP2013525935A JP2013505158A JP2013505158A JP2013525935A JP 2013525935 A JP2013525935 A JP 2013525935A JP 2013505158 A JP2013505158 A JP 2013505158A JP 2013505158 A JP2013505158 A JP 2013505158A JP 2013525935 A JP2013525935 A JP 2013525935A
Authority
JP
Japan
Prior art keywords
group
programming
volatile storage
programming signal
memory cells
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.)
Withdrawn
Application number
JP2013505158A
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.)
SanDisk Technologies LLC
Original Assignee
SanDisk Technologies LLC
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 SanDisk Technologies LLC filed Critical SanDisk Technologies LLC
Publication of JP2013525935A publication Critical patent/JP2013525935A/ja
Withdrawn 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
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • 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
    • 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/5642Sensing or reading circuits; Data output 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/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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5622Concurrent multilevel programming of more than one cell

Abstract

隣接セルのブースティングからの干渉の影響を緩和する不揮発性記憶装置をプログラムするシステムが提案される。メモリセルは2つまたはそれ以上のグループに分割される。一例では、メモリセルは、奇数と偶数のメモリセルに分割されるが、他のグループ分けも採用されうる。第1のトリガの前に、第1のグループのメモリセルが、時間の経過とともに増加するプログラミング信号を用いて、第2のグループのメモリセルとともにプログラムされる。第1のトリガに引き続いて第2のトリガの前に、第1のグループのメモリセルは、第1のトリガに応じて振幅が低下されているプログラミング信号を用いて第2のグループのメモリセルとは別にプログラムされる。第2のトリガに引き続いて、第1のグループのメモリセルは、第2のトリガに応じて上昇されているプログラミング信号で第2のグループのメモリセルとともにプログラムされる。両トリガの前後に、第1のグループのメモリセルは、第2のグループのメモリセルとともに検証される。
【選択図】図13

Description

本発明は、不揮発性記憶装置のための技術に関する。
半導体メモリは、様々な電子デバイスで使われることが一般的になってきている。
例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタル
アシスタント、モバイルコンピュータ、非モバイルコンピュータ、及び他の装置に使
用されている。電気的消去・再プログラム可能型読取専用メモリ(EEPROM)と
フラッシュメモリは、最も普及している不揮発性半導体メモリである。
EEPROMとフラッシュメモリは、半導体基板内のチャネル領域上に配置され、
そのチャネル領域から絶縁されているフローティングゲートを採用している。フロー
ティングゲートとチャネル領域は、ソース領域とドレイン領域の間に配置されている
。フローティングゲートの上に、そのフローティングゲートから絶縁されている制御
ゲートが設けられている。トランジスタの閾値電圧は、フローティングゲート上に保
持されている電荷量によって制御される。 即ち、そのソースとドレインの間の導通を
可能にすべくトランジスタをオンするために制御ゲートに印加すべき電圧の最小量は
、そのフローティングゲート上の電荷量レベルにより制御される。従って、フローテ
ィングゲートに保持されている電荷量を変化させることにより閾値電圧を変化させる
ことで、メモリセル(メモリセルは一つ以上のトランジスタを備えていてもよい)に
プログラムまたは/および消去を行うことができる。
各メモリセルは(アナログ又はデジタルの)データを記憶することができる。1ビ
ットのデジタルデータを記憶する場合(バイナリメモリセルと呼ばれる)、メモリセ
ルの可能な閾値電圧の範囲は、2つの範囲に分割され、それぞれの範囲が論理データ
の「1」と「0」に割り当てられる。NAND型フラッシュメモリの一例では、メモ
リセルが消去された後では閾値電圧が負値となり、それは論理「1」と定義される。
プログラム後の閾値電圧は正値となり、それは論理「0」と定義される。閾値電圧が
負値であり、制御ゲートに0ボルトが印加される読み出しが試みられた場合、メモリ
セルがオンとなり、これは論理1が記憶されていることを示す。閾値電圧が正値であ
り、制御ゲートに0ボルトが印加される読み出し動作が試みられた場合、メモリセル
はオンせず、これは論理0が記憶されていることを示す。
一つのメモリセルで、複数レベルの情報を記憶することができる(マルチステート
メモリセルと呼ばれる)。複数レベルのデータを記憶する場合には、可能な閾値の範
囲は、データのレベルの数に分割される。例えば、4つのレベルの情報を記憶する場
合、4つの閾値電圧範囲が存在し、それぞれがデータ値「11」、「10」、「01
」、及び「00」に割り当てられる。NANDタイプのメモリの一例では、消去動作
の後の閾値電圧は負の値となり、論理「11」と定義される。正値の閾値電圧群が「
10」、「01」、「00」というデータ状態に対して用いられる。8つのレベルの
情報(又は状態)が各メモリセルに記憶される場合(即ち、3ビットのデータ)、デ
ータ値「000」、「001」、「010」、「011」、「100」、「101」
、「110」、及び「111」に割り当てられる8つの閾値電圧範囲がある。メモリ
セルにプログラムされるデータとセルの閾値電圧レベルの間の具体的な関係は、セル
に採用されるデータ符号化方式によって決まる。例えば、両方ともその全体を参照す
ることにより本明細書に組み込まれる米国特許第6,222,762号及び米国特許
出願公開公報第2004/0255090号は、マルチステートフラッシュメモリセ
ルのための様々なデータ符号化方式を説明している。一実施形態においては、フロー
ティングゲートの閾値電圧が誤ってその近傍の物理状態にシフトした場合に1つのビ
ットだけが影響を受けるように、グレイコード割当を用いてデータ値が閾値電圧範囲
に割り当てられる。いくつかの実施形態では、異なるワードラインに対してデータ符
号化方式が変更され得ることがある。データ符号化方式は、時間に依存して変更され
得ることがある。また、ランダムなワードラインのデータビットは、データパターン
感度を低減し、かつメモリセルの劣化を均一にするために、反転されることがある。
また、様々な符号化方式が使用され得ることがある。
EEPROMやNAND型フラッシュメモリデバイスなどのフラッシュメモリデバ
イスにプログラムを行う場合、典型的には、ビットラインが接地されるとともに、制
御ゲートにプログラム電圧が加えられる。チャネルからの電子がフローティングゲー
トへ注入される。フローティングゲートに電子が蓄積されると、フローティングゲー
トが負値に帯電し、メモリセルの閾値電圧が上昇し、メモリセルがプログラムされた
状態となる。プログラムに関するさらなる情報は、「Source Side Self Boosting Te
chnique for Non-Volatile Memory」と題した米国特許第6,859,397号、およ
び、「Detecting Over Programmed Memory」と題した米国特許出願公開公報2005
/0024939号に開示されている。これらの両方の文献の内容は、その全体を参
照することにより本明細書に組み込まれる。多くのデバイスでは、プログラム電圧は
、連続するパルスの各々で所定ステップサイズずつパルスの大きさが増加する一連の
パルスとして、プログラム動作の間にコントロールゲートに印加される。
多くの不揮発性記憶装置システムは、列と行に配列されたメモリセルのアレイを備
えている。(ワードライン、ビットライン、その他の種類のコントロールラインなど
の)コントロールラインは、様々な列および行に接続される。一例では、ワードライ
ンがメモリセルの行のアクセスに使用される一方、ビットラインがメモリセルの列の
アクセスに使用される。この配列では、プログラム電圧の一連のパルスは、複数の選
択メモリセルに接続されている選択ワードラインに印加される。パルスを印加される
選択メモリセルの各々は、パルスの印加に応じて閾値電圧が上昇する可能性がある。
メモリセルが目標の閾値電圧に到達すると、メモリセルはさらなるプログラムから除
外される。メモリセルが除外されると、そのメモリセルに隣接するメモリセルの期待
されているプログラム速度に干渉を起こすことが知られている。この影響によって、
隣接メモリセルの閾値電圧が所望の目標閾値電圧を超過することがあり、その結果、
オーバープログラムとなる。ある場合には、オーバープログラムされたメモリセルは
、読み出し時にエラーを起こすことがある。
NANDストリングの平面図である。 NANDストリングの等価回路図である。 不揮発性メモリシステムのブロック図である。 メモリアレイの一実施形態を示すブロック図である。 センスブロックの一実施形態を示すブロック図である。 複数の閾値電圧区分の一例および不揮発性メモリのプログラミング処理を説明する図である。 様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。 様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。 様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。 様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。 様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。 様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。 様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。 様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。 様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。 不揮発性メモリのプログラミング順序の一実施形態を説明するテーブルである。 不揮発性メモリのプログラミング処理の一実施形態を説明するフローチャートである。 不揮発性素子のプログラミング処理の一実施形態を説明するフローチャートである。 隣接する2つのメモリセルの例の部分図である。 隣接する2つのメモリセルの例の部分図である。 隣接する2つのメモリセルの例の部分図である。 複数のプログラムパルスの図である。 複数のプログラムパルスの図である。 複数のプログラムパルスおよび検証パルスの図である。 複数のプログラムパルスおよび検証パルスの図である。 波形の例を説明する図である。 所定の状態となっているか否かを判断する処理の一実施形態を示すフローチャートである。 所定の状態となっているか否かを判断する回路の一実施形態を示すブロック図である。 所定の状態となっているか否かを判断する処理の一実施形態を示すフローチャートである。 所定の状態となっているか否かを判断する回路の一実施形態を示すブロック図である。 プログラム処理を変更するトリガポイントを判断する処理の一実施形態を示すフローチャートである。 プログラム処理を変更するトリガポイントを判断する処理の一実施形態を示すフローチャートである。 プログラム処理を変更するトリガポイントを判断する処理の一実施形態を示すフローチャートである。 トリガ電圧を動的に調整する処理の一実施形態を示すフローチャートである。 図24の処理を実行するための一部の要素を図示するブロック図である。 トリガ電圧を動的に調整する処理の一実施形態を示すフローチャートである。 図26の処理を実行するための一部の要素を図示するブロック図である。
プログラミング中に隣接メモリセル間での干渉の影響を減少させることができる技
術について詳述する。
一組の実施形態では、メモリセルは2つまたはそれ以上のグループに分割される。
一例では、メモリセルは奇数および偶数のメモリセルに分割されるが、他のグループ
分けも採用されうる。第1のトリガの前に、第1のグループのメモリセルは時間の経
過とともに増加するプログラミング信号を用いて、第2のグループのメモリセルとと
もにプログラムされる。第1のトリガに引き続いて第2のトリガの前に、第1のグル
ープのメモリセルは、第1のトリガに応じて、振幅が低下されているプログラミング
信号を用いて第2のグループのメモリセルとは別にプログラムされる。第2のトリガ
に引き続いて、第1のグループのメモリセルは、第2のトリガに応じて上昇されてい
るプログラミング信号で第2のグループのメモリセルとともにプログラムされる。両
トリガの前後で、第1のグループのメモリセルは、第2のグループのメモリセルとと
もに検証される。一部の実施形態では、第2のトリガを利用せずに第1のトリガを使
用してもよい。
本明細書で説明されている技術は、多様なタイプの不揮発性メモリについて利用さ
れ得る。フラッシュメモリシステムの一例は、NAND構造を用いており、2つの選
択ゲートの間に挟まれた複数のトランジスタの直列接続を含んでいる。直列に接続さ
れたトランジスタと選択ゲートは、NANDストリングと呼ばれる。図1は、1つの
NANDストリングを示す平面図である。図2は、その等価回路である。図1と図2
に示すNANDストリングは、第1(又はドレイン側)選択ゲート120と第2(又
はソース側)選択ゲート122の間に挟まれている、直列に接続されている4つのト
ランジスタ100、102、104及び106を有する。選択ゲート120は、ビッ
トコンタクト126を介してNANDストリングをビットラインに接続している。選
択ゲート122は、NANDストリングをソースライン128に接続している。選択
ゲート120は、選択ラインSGDに適切な電圧を加えることによって制御される。
選択ゲート122は、選択ラインSGSに適切な電圧を加えることによって制御され
る。トランジスタ100、102、104、及び106の各々は、制御ゲートとフロ
ーティングゲートを有している。例えば、トランジスタ100は、制御ゲート100
CGとフローティングゲート100FGを備えている。トランジスタ102は、制御
ゲート102CGとフローティングゲート102FGを備えている。トランジスタ1
04は、制御ゲート104CGとフローティングゲート104FGを備えている。ト
ランジスタ106は、制御ゲート106CGとフローティングゲート106FGを備
えている。制御ゲート100CGはワードラインWL3に接続されており、制御ゲー
ト102CGはワードラインWL2に接続されており、制御ゲート104CGはワー
ドラインWL1に接続されており、制御ゲート106CGはワードラインWL0に接
続されている。
図1と図2は、NANDストリング内の4個のメモリセルを示しているが、4個の
トランジスタの使用は単に一例として提示されている点に留意されたい。NANDス
トリングは、4個よりも少ない、或いは、4個よりも多いメモリセルを有していてよ
い。例えば、NANDストリングによっては8個、16個、32個、64個、128
個などの数のメモリセルを有していてよい。本明細書の説明は、いかなる特定個数の
メモリセルを有するNANDストリングにも限定されない。
NAND構造を用いたフラッシュメモリシステムの一般的なアーキテクチャは、い
くつかのNANDストリングを含んでいる。各NANDストリングは、選択ラインS
GSによって制御されるソース選択ゲートによってソースラインに接続されていると
ともに、選択ラインSGDによって制御されるドレイン選択ゲートによって関連する
ビットラインに接続されている。各ビットラインと、ビットラインコンタクトを介し
てそのビットラインに接続されている各々のNANDストリングと、は、メモリセル
アレイの列を構成する。ビットラインは、複数のNANDストリングによって共有さ
れている。典型的には、ビットラインは、ワードラインと直交する方向でNANDス
トリング上を通っており、1以上のセンスアンプと接続されている。
NANDタイプのフラッシュメモリおよびそれらの動作に関連する例は、以下の米
国特許/特許出願に記載されており、それらの引用文献は、その全体が参照により本
明細書に組み込まれる。米国特許第5,570,315号、米国特許第5,774,
397号、米国特許第6,046,935号、米国特許第6,456,528号、及
び、米国公開公報第US2003/0002348号。本明細書における説明は、他
のタイプの不揮発性記憶素子と同様に、NANDを加えた他のタイプのフラッシュメ
モリにも適用可能である。
NANDフラッシュメモリに加えて、不揮発性記憶装置の他のタイプもまた用いる
ことができる。例えば、不揮発性装置は、電荷を貯めるための誘電体層を用いたメモ
リセルによって製造されてもよい。前述した導電性のフローティングゲート素子の代
わりに、誘電体層が用いられる。誘電体記憶素子を用いたメモリ装置が、「NROM: A
Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell」、IEEE Electron Dev
ice Letters、21巻、11号、2000年11月、543から545ページに、Eit
anらによって開示されている。ONO誘電層は、ソース拡散領域とドレイン拡散領域
との間のチャンネルを横切って伸びている。あるデータビットの電荷がドレインに近
接した誘電層内に局在し、他のデータビットの電荷がソースに近接した誘電層内に局
在する。例えば、米国特許第5,768,192号および6,011,725号では
、2つの酸化シリコン層に挟まれたトラップ用の誘電層を有する不揮発性メモリセル
が開示されている。マルチステートのデータ記憶は、誘電層内の空間的に離れた電荷
蓄積領域のバイナリ状態を、別々に読み出すことで行われる。他のタイプのメモリ素
子も使用できる。
図3は、複数のメモリセル(例えば、NANDマルチステートフラッシュメモリな
ど)のページ(または他のユニット)に平行して読み出しおよびプログラミングを行
うリード/ライト回路を有する記憶デバイス210を示している。記憶デバイス21
0は1以上のメモリダイまたはチップ212を備えていてもよい。メモリダイ212
は、メモリセルの(2次元又は3次元の)アレイ200、制御回路220、及び、リ
ード/ライト回路230Aと230Bとを有する。一実施形態では、様々な周辺回路
によるメモリアレイ200へのアクセスはアレイの両側で対称的に実装されており、
これにより、各側のアクセスライン及び回路の密度が半分に低減される。リード/ラ
イト回路230A及び230Bは、複数のセンスブロック300を有しており、それ
らのセンスブロック300によって1ページのメモリセルを並列に読み出し又はプロ
グラムすることができる。メモリアレイ200は、行デコーダ240Aと240Bを
介したワードラインと、列デコーダ242Aと242Bを介したビットラインによっ
てアドレス指定される。ワードラインおよびビットラインは、コントロールラインの
一例である。典型的な実施形態では、コントローラ244は、1つ以上のメモリダイ
212のような同じメモリデバイス210(例えば、取り外し可能なストレージカー
ド又はパッケージ)内に含まれる。命令、及びデータは、ライン232を介してホス
トとコントローラ244との間で転送され、また、ライン234を介してコントロー
ラと1つ以上のメモリダイ212との間で転送される。
制御回路220は、リード/ライト回路230Aと230Bと協調して、メモリア
レイ200に対してメモリ動作を実行する。制御回路220は、ステートマシン22
2、オンチップアドレスデコーダ224、及び電力制御モジュール226を有してい
る。ステートマシン222は、メモリ動作のチップレベルの制御を提供する。オンチ
ップアドレスデコーダ224は、ホスト又はメモリコントローラによって用いられる
アドレスと、デコーダ240A、240B、242A及び242Bによって用いられ
るハードウェアアドレスと、の間のアドレスインタフェースを提供する。電力制御モ
ジュール226は、メモリ動作中のワードライン及びビットラインに供給される電力
及び電圧を制御する。一実施形態では、電力制御モジュール226は、供給電力より
大きな電圧を作り出すことができる一つ以上のチャージポンプを有する。
一実施形態では、制御回路220、電力制御回路226、デコーダ回路224、ス
テートマシン回路222、デコーダ回路242A、デコーダ回路242B、デコーダ
回路240A、デコーダ回路240B、リード/ライト回路230A、リード/ライ
ト回路230B、及び/又はコントローラ244の一つ又は幾つかの組合せは、1つ
以上の管理回路と称されることがある。1以上の管理回路は、本明細書で記述する処
理を実行する。
図4は、メモリセルアレイ200の例示的な構造を示す。一実施形態においては、
メモリセルのアレイは、数多くのメモリセルのブロックに分割される(例えば、ブロ
ック0−1023や、その他の量など)。フラッシュEEPROMシステムに一般的
であるように、ブロックは消去の単位である。すなわち、各ブロックは共に消去され
る最小数のメモリセルを含む。その他の消去の単位を用いた装置も使用可能である。
ブロックは、ビットライン(例えばビットラインBL0−BL69623)および
ワードライン(WL0、WL1、WL2、WL3)を介してアクセスされるNAND
ストリングのセットを備えている。図4は、直列接続されることでNANDストリン
グを形成している、4つのメモリセルを示している。各々のNANDストリングに4
つのセルが含まれることが示されているが、4個よりも少ない、或いは、4個よりも
多いメモリセルを有していてよい(例えば、NANDストリングによっては、16個
、32個、64個、128個やその他の数のメモリセルを有していてもよい。)各N
ANDストリングの一端は、(選択ラインSGDに接続されている)ドレイン選択ゲ
ートを介して対応するビットラインに接続されており、他端は、(選択ラインSGS
に接続されている)ソース選択ゲートを介してソースラインに接続されている。
各ブロックは、通常、複数のページに分割される。一実施形態においては、ページ
はプログラムの単位である。その他のプログラムの単位も使用可能である。通常、1
つ以上のページのデータが1列のメモリセルに記憶される。例えば、データの1以上
のページが、共通ワードラインに接続されたメモリセルに記憶されてもよい。1つの
ページは、1つ以上のセクタを記憶できる。1つのセクタは、ユーザデータとオーバ
ヘッドデータ(システムデータとも呼ばれる)を含む。オーバヘッドデータは、通常
、ヘッダ情報と、セクタのユーザデータから算出される誤り訂正符号(Error
Correction Code:ECC)と、を含む。コントローラ(または他の
構成要素)は、データがアレイにプログラムされているときにECCを計算し、デー
タがアレイから読み出されているときにECCのチェックも行う。代わりに、ECC
及び/又は他のオーバヘッドデータは、それらが関係するユーザデータとは異なるペ
ージに記憶され、または異なるブロックに記憶される。ユーザデータのセクタは通常
、磁気ディスクドライブ内のセクタサイズに相当する512バイトである。例えば8
ページから32、64、128、或いはそれ以上のページまでの多数のページが1ブ
ロックを形成する。異なるサイズのブロックと、異なるサイズのページと、異なるサ
イズのセクタと、を採用することもできる。
図5は、センスモジュール480と呼ばれるコア部と共通部490とに分割された
個々のセンスブロック300のブロック図である。一実施形態では、各ビットライン
に対して個別のセンスモジュール480を用意し、一組の複数センスモジュール48
0に対して一つの共通部490を用意してもよい。一例として、1個のセンスブロッ
クは、1個の共通部490と8個のセンスモジュール480とを有している。グルー
プ内の各センスモジュールは、データバス472を介して協働する共通部と通信する
。一例としては、その全体を参照することにより本明細書に組み込まれる米国特許出
願公開公報2006/0140007号を参照されたい。
センスモジュール480は、接続されたビットライン内の伝導電流が予め決められ
たレベルより高いか低いかを判定するセンス回路470を備えている。幾つかの実施
形態では、センスモジュール480は、センスアンプと一般に呼ばれる回路を有する
。センスモジュール480は、さらに、接続されたビットラインに電圧状態を設定す
るために用いられるビットラインラッチ482を有している。例えば、予め決められ
た状態がビットラインラッチ482内でラッチされることによって、接続されたビッ
トラインを、プログラム禁止を指定する状態(例えば、Vdd)に引き上げる(プル
する)。
共通部490は、プロセッサ492、データラッチ群494、及び、データラッチ
群494とデータバス420との間を接続するI/Oインタフェース496を備えて
いる。プロセッサ492は計算を実行する。例えば、その機能の1つは、センスされ
たメモリセル内に記憶されているデータを特定し、特定されたデータをデータラッチ
群内に記憶することである。データラッチ群494は、読み出し動作において、プロ
セッサ492によって特定されたデータビット群を記憶するために用いられる。デー
タラッチ群494は、プログラム動作において、データバス420から取り込んだデ
ータビット群を記憶するためにも用いられる。取り込まれるデータビット群は、メモ
リ内にプログラムする予定のライトデータ(プログラムデータ)を表す。 I/Oイン
タフェース496は、データラッチ群494とデータバス420との間のインタフェ
ースを提供する。
読み出し又はセンス中には、システムの動作はステートマシン222の制御下にあ
り、ステートマシン222は(電力制御モジュール226を用いて)アドレス指定さ
れたセルへの種々の制御ゲート電圧の供給を制御する。メモリに用意された様々なメ
モリ状態に対応する様々な既定制御ゲート電圧を受けるなかで、センスモジュール4
80はこれらの電圧の1つに遷移し、バス472を介してセンスモジュール480か
らプロセッサ492に出力が提供される。その時点で、プロセッサ492は、センス
モジュールの遷移イベントと、ステートマシンから入力ライン493を介して加えら
れた制御ゲート電圧についての情報と、によって、結果としてのメモリ状態を特定す
る。それから、プロセッサは、メモリ状態に対するバイナリ符号化を計算し、得られ
たデータビット群をデータラッチ群494に格納する。コア部の別の実施形態では、
ビットラインラッチ482は、センスモジュール480の出力をラッチするラッチ、
及び、上記のようなビットラインラッチの二つの役割を持つ。
当然のことながら、いくつかの実装形態では複数のプロセッサ492を有すること
ができる。一実施形態では、各プロセッサ492は出力ライン(図5には示されてい
ない)を有し、各出力ラインは共にワイヤードOR(配線論理和)接続される。いく
つかの実施形態では、出力ラインは、ワイヤードORラインに接続される前段階で反
転される。この構成は、ワイヤードORの結果を受け取るステートマシンが、プログ
ラムされる全てのビットがいつ所望のレベルに到達したかを判断できるので、プログ
ラム処理の完了時点を検証するプログラム検証処理における素早い判定を可能にする
。例えば、各ビットがその所望のレベルに到達すると、そのビット用の論理「0」が
ワイヤードORラインに送られる(又はデータ「1」が反転される)。全てのビット
がデータ「0」を出力すると(又はデータ「1」が反転されると)、ステートマシン
はプログラム処理の完了を知る。各プロセッサが8個のセンスモジュールと通信する
実施形態では、(いくつかの実施形態において)ステートマシンはワイヤードORラ
インを8回読み出す必要があってもよいし、あるいは、協働するビットラインの結果
を蓄積するために論理をプロセッサ492に追加し、ステートマシンがワイヤードO
Rラインを一度だけ読み出せば良いようにしてもよい。
データラッチスタック494は、センスモジュールに対応するデータラッチのスタ
ックを有する。一実施形態では、センスモジュール480毎に3個(或いは4個或い
はその他の数の)データラッチが存在する。一実施形態では、ラッチは各々1ビット
である。
プログラム又は検証処理の間、プログラムされるべきデータはデータバス420か
ら1組のデータラッチ494内に記憶される。検証処理の間、プロセッサ492は、
所望のメモリ状態に対する検証メモリ状態を監視する。その2つが一致したとき、プ
ロセッサ492は、プログラム禁止を指定する状態にビットラインを引き上げる(プ
ルする)ようにビットラインラッチ482を設定する。これにより、たとえプログラ
ムパルスがその制御ゲートに影響しても、ビットラインに接続したメモリセルがさら
にプログラムされないようにすることができる。他の実施形態では、プロセッサが最
初にビットラインラッチ482をロードし、センス回路が検証処理中にそれに禁止値
を設定する。
いくつかの実装形態では、(必須ではないが)データラッチ群はシフトレジスタと
して実装され、内部に記憶されたパラレルデータをデータバス420用にシリアルデ
ータに変換したり、その逆を行ったりする。好適な一実施形態では、m個のメモリセ
ルのリード/ライトブロックに対応する全てのデータラッチを相互にリンクしてブロ
ックシフトレジスタを構成し、シリアル転送によってデータのブロックを入力または
出力できるようにする。特に、リード/ライトモジュールの一群のデータラッチのそ
れぞれが、データバスへ或いはデータバスからデータを順に転送するようにリード/
ライトモジュールのバンクを構成し、一群のデータラッチがあたかもリード/ライト
ブロック全体のためのシフトレジスタの一部であるかのようにしてもよい。
読み出し動作やセンスアンプについてのさらなる情報は次の文献に記載されている
。(1)米国特許出願公開2004/0057287号、「Non-Volatile Memory An
d Method With Reduced Source Line Bias Errors」、2004年3月25日公開、(
2)米国特許出願公開2004/0109357号、「Non-Volatile Memory And Met
hod with Improved Sensing」、2004年6月10日公開、(3)米国特許出願公開
20050169082号、(4)米国特許出願公開2006/0221692号、
「Compensating for Coupling During Read Operations of Non-Volatile Memory」、
発明者Jian Chen、2005年4月5日出願、及び、(5)米国特許出願公
開2006/0158947号、「Reference Sense Amplifier For Non-Volatile M
emory」、発明者Siu Lung Chan及びRaul−Adrian Cern
ea、2005年12月28日出願。これら5個の特許文献の全ては、その全体を参
照することにより本明細書に組み込まれる。
成功した(検証を含む)プログラム処理の最後において、メモリセルの閾値電圧は
、必要に応じて、プログラムされたメモリセルの1つ以上についての閾値電圧の分布
の範囲内、或いは、消去されたメモリセルについての閾値電圧の分布の範囲内となる
。各メモリセルが3ビットデータを記憶する場合における、メモリセルアレイについ
ての閾値電圧区分(或いはデータ状態)の例を図6に示す。この一方で、他の実施形
態では、1メモリセルあたり3ビットよりも多い、或いは3ビットよりも少ないデー
タを記憶するとしてもよい(例えば、1メモリセルあたり4ビット以上のデータを記
憶するなど)。
図6の例では、各々のメモリセルは3ビットのデータを保持する。よって、8つの
有効なデータ状態S0−S7が存在する。一実施形態では、データ状態S0は0ボル
トより低く、データ状態S1−S7は0ボルトより高い。他の実施形態として、8つ
のデータ状態の全てが0ボルトより高い場合や、その他のアレンジが実装可能である
。一実施形態では、S0の閾値電圧分布がS1−S7の分布よりも広い。
各々のデータ状態は、メモリセルに記憶された3ビットデータの固有の値に対応す
る。一実施形態では、S0=111,S1=110,S2=101,S3=100,S4=011,S5=010,S6=001,
S7=000,である。データ状態S0−S7の他のマッピングも使用することができる。
一実施形態では、1つのメモリセルに記憶されている全てのビットのデータは、同一
の論理ページに記憶される。他の実施形態では、メモリセルに記憶されているデータ
の各ビットは、異なるページに対応する。従って、3ビットのデータを記憶している
1つのメモリセルは、第1ページ、第2ページ、第3ページのデータを含んでいる。
いくつかの実施形態では、同一のワードラインに接続された全てのメモリセルが、同
一の3ページのデータを記憶するとされる。いくつかの実施形態では、1つのワード
ラインに接続されたメモリセルが異なるセットのページに分類される(例えば、偶数
および奇数ビットラインや、他の配列によって)。
いくつかの先行技術の装置では、メモリセルが消去されて状態S0となる。メモリ
セルは、状態S0から状態S1−S7の何れかへプログラムされてもよい。一実施形
態では、フルシーケンスプログラミングとして知られている、消去された状態S0か
らプログラムされた状態S1−S7の何れかに直接にプログラムする方法を行うこと
ができる。例えば、メモリセル群内のすべてのメモリセルが消去状態S0になるよう
に、プログラム対象のメモリセル群が最初に消去されてもよい。あるメモリセルが状
態S0から状態S1へプログラムされる間に、他のメモリセルが状態S0から状態S
2へ、状態S0から状態S3へ、状態S0から状態S4へ、状態S0から状態S5へ
、状態S0から状態S6へ、状態S0から状態S7へ、プログラムされる。フルシー
ケンスプログラミングは、図6の7つの曲線状の矢印を用いて図示されている。
図7A−7Iは、何れの特定のメモリセルについても、前のページの隣接メモリセ
ルに書き込みが行われた後で、その特定ページに関連する特定のメモリセルに書き込
みを行うことによってフローティングゲート間の結合現象を低減する、不揮発性記憶
素子のプログラムの他の処理方法を示している。図7A−Iの処理は、3つのプログ
ラム処理ステップである。第1ステップに先立ち、状態S0の消去閾値分布にするた
めに、メモリセルを消去する。
図7A−7Iの処理では、各々のメモリセルが3ビットのデータを記憶しており、
各々のビットは異なるページに属すると仮定する。データの第1ビット(一番左のビ
ット)は、第1ページと関連する。真ん中のビットは、第2ページと関連する。一番
右のビットは、第3ページと関連する。データとデータ状態との相関は、以下の通り
である:S0=111、S1=110、S2=101、S3=100、S4=011
、S5=010、S6=001、S7=000。しかしながら他の実施形態では、(
例えば、隣接状態間で、1ビットのみ変化するようにしたグレイコードのような)他
のデータコード化方式も使用可能である。
(図7Aに示すように)第1ページにプログラムする際において、ビットをデータ
“1”にする場合には、メモリセルは状態S0が維持される(閾値電圧分布502)
。ビットをデータ“0”にする場合には、メモリセルにプログラムが行われ、状態S
4となる(閾値電圧分布504)。隣接するメモリセルがプログラムされた後、隣接
するフローティングゲート間の容量性カップリングにより、図7Bに示すように、状
態S4が広くなることがある。状態S0も広くなることがあるが、S0とS1の間に
は十分な余裕があるため、その影響を無視できる。フローティングゲート間の結合現
象についての詳細は、米国特許第5,867,429号および米国特許第6,657
,891号に開示されており、両公報は全体を参照することにより本明細書に組み込
まれる。
第2ページをプログラムする際において(図7Cを参照)、メモリセルが状態S0
であり第2ページのビットをデータ“1”にする場合には、メモリセルは状態S0が
維持される。いくつかの実施形態では、第2ページのプログラム処理は閾値電圧分布
501を狭めて新たなS0とすることができる。メモリセルが状態S0であり第2ペ
ージにプログラムすべきデータが“0”である場合には、メモリセルは状態S2へ移
される(閾値電圧分布506)。状態S2は、C*の検証ポイント(最低電圧)を有す
る。メモリセルが状態S4でありメモリセルに書き込みすべきデータが “1”である
場合には、メモリセルは状態S4が維持される。しかしながら図7Cに示すように、
状態S4についてメモリセルを閾値電圧分布504から閾値電圧分布508へ移動す
ることによって、状態S4は狭められる。閾値電圧分布508は、(閾値電圧分布5
04のE**と比較して)E*の検証ポイントを有する。メモリセルが状態S4であり第
2ページにプログラムすべきデータが“0”である場合には、メモリセルの閾値電圧
は、G*の検証ポイントを有する状態S6(閾値電圧分布510)へ移動される。
隣接するメモリセルがプログラムされた後、隣接するフローティングゲート間の結
合により、図7Dの閾値電圧分布506,508,510に示すように、状態S2,
S4,S6が広くされる。時には、状態S0も広くなる場合がある。
図7E,7F,7Gおよび7Hは、第3ページのプログラムを示している。プログ
ラムを表すために1つの図を用いてもよいが、見やすくするために、処理を4つの図
に示す。第2ページがプログラムされた後では、メモリセルは状態S0,S2,S4
,S6の何れかとなる。図7Eは、第3ページにプログラムが行われる、状態S0の
メモリセルを表している。図7Fは、第3ページにプログラムが行われる、状態S2
のメモリセルを表している。図7Gは、第3ページにプログラムが行われる、状態S
4のメモリセルを表している。図7Hは、第3ページにプログラムが行われる、状態
S6のメモリセルを表している。図7Iは、メモリセル群に図7E,7F,7G,7
Hの処理が(一斉に、または連続的に)実行された後における、閾値電圧分布を示し
ている。
メモリセルが状態S0であり、第3ページのデータが“1”である場合には、メモ
リセルは状態S0が維持される。第3ページのデータが“0”である場合には、メモ
リセルの閾値電圧がBの検証ポイントを有する状態S1へ上昇される(図7E参照)
メモリセルが状態S2であり、第3ページにプログラムされるデータが“1”であ
る場合には、メモリセルは状態S2が維持される(図7F参照)。しかしながら幾つ
かのプログラムでは、閾値区分506を狭めて、Cボルトの検証ポイントを有する新
たな状態S2とする。第3ページにプログラムされるデータが“0”である場合には
、メモリセルはDボルトの検証ポイントを有する状態S3にプログラムされる。
メモリセルが状態S4であり、第3ページに書き込みされるデータが“1”である
場合には、メモリセルは状態S4が維持される(図7G参照)。しかしながら幾つか
のプログラムでは、閾値区分508を狭めて、Eの検証ポイントを有する新たな状態
S4とする。メモリセルが状態S4であり、第3ページにプログラムされるデータが
“0”である場合には、メモリセルの閾値電圧がFの検証ポイントを有する状態S5
へ上昇される。
メモリセルが状態S6であり、第3ページに書き込みされるデータが“1”である
場合には、メモリセルは状態S6が維持される(図7H参照)。しかしながら幾つか
のプログラムでは、閾値分布510を狭めて、Gの検証ポイントを有する新たな状態
S6とする。第3ページのデータが“0”である場合には、メモリセルの閾値電圧が
Hの検証ポイントを有する状態S7へプログラムされる。第3ページのプログラムが
終了すると、メモリセルは図7Iに示す8つの状態のうち、何れか1つの状態となる
図8は、セットまたは複数のメモリセルの(複数の)ページに対するプログラム順序
の一例を示す図である。このテーブルは、図4の4本のワードライン(WL0、WL
1、WL2およびWL3)についてのプログラム順序を表している。しかしながら、
このテーブルは、4本より多いまたは少ないワードラインについても適用可能である
。WL0に接続されたメモリセルの第1ページがプログラムされ、続いてWL1に接
続されたメモリセルの第1ページがプログラムされ、続いてWL0に接続されたメモ
リセルの第2ページがプログラムされ、続いてWL2に接続されたメモリセルの第1
ページがプログラムされ、続いてWL1に接続されたメモリセルの第2ページがプロ
グラムされ、などとなる。
図9は、選択されたワードラインに接続されているメモリセルのプログラム処理を
説明するフローチャートである。一の実施形態では、図9の処理はメモリセルのブロ
ックをプログラムするために用いられる。図9の処理の一の実装形態では、メモリセ
ルの劣化を均一に維持するために、メモリセルには事前プログラムが行われる(ステ
ップ550)。一実施形態では、メモリセルは、状態7や、ランダムパターンや、そ
の他のパターンに事前プログラムされる。いくつかの実装形態では、事前プログラム
を行う必要がない。
ステップ552では、プログラムに先立って、メモリセルが(ブロック単位又は他
の単位で)消去される。一実施形態では、ソースとビットラインをフローティング状
態にしておきながら、選択されたブロックのワードラインを接地し、かつ、十分な時
間の間、pウェルを消去電圧(例えば20ボルト)にまで上昇させることによってメ
モリセルが消去される。容量性カップリングのため、非選択ワードライン、ビットラ
イン、選択ライン、及び、共通ソースラインもまた、消去電圧のかなりの割合の電圧
まで上昇する。そのため、選択されたメモリセルのトンネル酸化物層に強力な電場が
加わり、主としてファウラ−ノルドハイムトンネル効果によってフローティングゲー
トの電子が基板側に放出されて、選択されたメモリセルのデータが消去される。電子
がフローティングゲートからp−ウェル領域に移動するにつれて、選択されたセルの
閾値電圧が低下する。消去は、メモリアレイ全体、個々のブロック、又はセルの他の
単位で行うことができる。一実施形態では、メモリセルが消去された後、全ての消去
済みのメモリセルが状態S0となる(図6参照)。
ステップ554では、消去されたメモリセルの消去閾値電圧の分布を狭めるために
、ソフトプログラムが実行される。いくつかのメモリセルは、消去処理の結果として
必要以上に低い消去状態にあってよい。ソフトプログラムにより、より深く消去され
たメモリセルの閾値電圧ほど、消去検証レベルに近づくように移動させることができ
る。例えば図6に示すように、ステップ554は、状態S0と関連する閾値電圧分布
を狭めるステップを含むことがあり得る。ステップ556では、本明細書で述べたと
おり、ブロックのメモリセルにプログラムが行われる。図9の処理は、上述した多様
な回路を用いたステートマシンの指示によって実行されうる。他の実施形態では、図
9の処理は、上述した多様な回路を用いたコントローラの指示によって実行されうる
。図9の処理の実行後に、ブロックのメモリセルは読み出し可能となる。
図10は共通ワードラインに接続されているメモリセルにプログラムを実行する際
のプロセスの一実施形態を表すフローチャートである。図10のプロセスは、図9の
ステップ556において1回または複数回実施されうる。例えば、図10の処理は、
図6のフルシーケンスプログラミングを実行するために使用することができ、その場
合には図10の処理は各々のワードラインについて1回実行されうる。一実施形態で
は、プログラムプロセスは、ソースラインの最も近くに位置するワードラインから開
始して、ビットライン側へ向かって順番に実施される。図10のプロセスは、図7A
−Iのプログラム処理に対して、ワードラインのデータのページにプログラムを行う
ためにも使用しうる。この場合には、各々のワードラインについて図10の処理を3
回行うことができる。他の変更形態もまた使用可能である。図10の処理はステート
マシン222の指示によって実行される。
通常、プログラム信号(プログラム電圧とも呼ばれる)は、プログラム動作の間に
、連続するパルスとして制御ゲートに印加される。プログラムパルスの合間には、検
証処理を可能とするための複数の検証パルスが存在する。多くの実装形態では、連続
する各々のパルスの大きさが、所定のステップサイズで増加する。図10のステップ
608では、プログラム電圧(Vpgm)が初期値(例えば、〜12―16ボルトの
電圧など、その他の適切な値)に初期化されると共に、ステートマシン222によっ
て維持されるプログラムカウンタPCが1に初期化される。ステップ610において
、プログラム信号Vpgmのプログラムパルスが、選択ワードライン(プログラム用
に選択されたワードライン)に印加される。非選択ワードラインは、従来知られる昇
圧方法を実行することで、1以上の昇圧電圧(例えば、9ボルトまでの電圧)を受け
る。メモリセルがプログラムされる場合には、対応するビットラインが接地される。
一方、メモリセルが現在の閾値電圧を維持する場合には、プログラムを禁止するため
に、対応するビットラインがVDDに接続される。昇圧方式に関するさらなる情報は、
米国特許第6,859,397号、および、米国特許出願公開公報第2008/01
23425号に記載されている。これらの両方の文献の内容は、その全体を参照する
ことにより本明細書に組み込まれる。
ステップ610では、選択ワードラインに接続されている全てのメモリセルが一緒
にプログラムされるように、選択ワードラインに接続されている全てのメモリセルに
プログラムパルスが一斉に印加される。すなわち、全てのメモリセルは、同一時間(
または重複した時間)にプログラムされる。このようにして、選択ワードラインに接
続されている全てのメモリセルは、プログラム対象から除外されない限り、一斉に閾
値電圧を変更することができる。
ステップ612では、適切な一組の目標レベルを使用して、選択されたメモリセル
の状態が検証される。図10のステップ612は、1つ以上の検証動作を有している
。一般的に、検証動作および読み出し動作の期間では、関連するメモリセルの閾値電
圧がそれらのレベルに到達しているか否かを判断するために、選択されたワードライ
ンが電圧に接続され、その電圧レベルが、各々の読み出し動作および各々の検証動作
において特定される(例えば、図7IのB,C,D,E,F,GおよびHを参照)。
ワードライン電圧を印加した後に、ワードラインに印加された電圧に応じてメモリセ
ルがターンオンしたか否かを判定するために、メモリセルの伝導電流が測定される。
所定値よりも大きい伝導電流が測定される場合には、メモリセルがターンオンしてい
ると推定され、かつ、ワードラインに印加された電圧がメモリセルの閾値電圧よりも
大きいと推定される。所定値よりも大きい伝導電流が測定されない場合には、メモリ
セルがターンオンしていないと推定され、かつ、ワードラインに印加された電圧がメ
モリセルの閾値電圧よりも大きくないと推定される。
読み出し動作または検証動作において、メモリセルの伝導電流を測定するためには
多くの方法がある。一例としては、センスアンプの専用キャパシタへの伝導電流の放
電速度または充電速度によって、メモリセルの伝導電流を測定する。別の例としては
、選択したメモリセルの伝導電流が、メモリセルを備えるNANDストリングの対応
するビットラインを放電させる(または放電させない)。ビットラインが放電された
か否かを調べるために、一定期間後に、ビットラインの電圧が測定される。ここで述
べる技術は、検証および読み出しについての他の周知技術と共に利用しうることに留
意されたい。検証および読み出しに関する更なる情報は、その全体を参照することに
より本明細書に組み込まれる下記の特許文献に開示されている。(1)米国特許出願
公開2004/0057287号、「Non-Volatile Memory And Method With Reduce
d Source Line Bias Errors」、2004年3月25日公開、(2)米国特許出願公開
2004/0109357号、「Non-Volatile Memory And Method with Improved Se
nsing」、2004年6月10日公開、(3)米国特許出願公開2005016908
2号、(4)米国特許出願公開2006/0221692号、「Compensating for C
oupling During Read Operations of Non-Volatile Memory」。
選択されたメモリセルの閾値電圧が適切な目標レベルに達していることが検知され
た場合には、例えばそのメモリセルのビットライン電圧がその後のプログラムパルス
の間にVddまで高められることにより、そのメモリセルは以後のプログラムから除
外される。加えて、プログラミング動作の間に、パス電圧(例えば、10ボルトまで
の電圧)が非選択ワードラインに印加される。(パス電圧とされている)非選択ワー
ドラインは(電圧がVddの)非選択ビットラインに接続され、非選択ビットライン
のチャンネルに(例えば、約8ボルトの)電圧を発生させる。これにより、プログラ
ムが防止される。メモリセルをプログラミング(と昇圧)から除外するための他の手
法も、本明細書で述べられている技術に用いることが可能である。
図10へ戻り、ステップ614において、全てのメモリセルが目標閾値電圧に到達
したか否かが確認される。到達している場合には、全ての選択されたメモリセルがプ
ログラムされていると共に目標状態が検証されているため、プログラム処理が完了し
成功している。ステップ616において「合格」ステータスが通知される。ステップ
614の幾つかの実装形態では、少なくとも予め決められた数のメモリセルが適切に
プログラムされたことが検証されたか否かがチェックされることに留意されたい。こ
の予め決められた数は、全メモリセル数よりも少なくてもよく、従って、全メモリセ
ルが適切な検証レベルに到達する前にプログラム処理が終了し得る。プログラムに成
功しなかったメモリセルは、読み出し処理におけるエラー訂正によって訂正され得る
ステップ614において、全てのメモリセルが目標閾値電圧に到達しているのでは
ないと判断された場合、プログラム処理は継続する。ステップ618では、プログラ
ムカウンタPCがプログラム限度値(PL)に対してチェックされる。プログラム限
度値の一例は20である。しかしながら、これ以外の値の使用も可能である。プログ
ラムカウンタPCがプログラム限度値未満でない場合には、ステップ630にて、プ
ログラムに成功していないメモリセルの数が既定数以下かどうかが判定される。プロ
グラムに失敗したメモリセルの数が既定数以下の場合には、プログラム処理に合格の
フラグが立てられ、合格のステータスが通知される。多くの場合、プログラムに失敗
したメモリセルは、読み出し処理においてエラー訂正を使って訂正され得る。しかし
、プログラムに失敗したメモリセルの数が既定数よりも多い場合には、ステップ63
4にて、プログラム処理に失敗したことを示すフラグが立てられ、失格ステータスが
通知される。
ステップ618において、プログラムカウンタPCがプログラム制限値PLよりも
小さいと判断されると、プロセスはステップ619に進み、その期間にプログラムカ
ウンタPCは1だけインクリメントされる。ステップ620において、前のプログラ
ムパルスがすべてのビットライン(関連するメモリセルの各々はその目標に達してい
るかそれとも消去状態に保たれているはずであるかのいずれかであるので除外された
ビットライン以外のビットライン)に印加されたかそれともプログラミングをまだ必
要とするビットラインのサブセットに印加されただけであるかが判断される。後述す
るように、システムが奇数ビットラインしかプログラムしないときや、偶数ビットラ
インしかプログラムしないときには、特定の状況がある。システムがプログラミング
を必要とするすべてのビットラインをプログラムしている場合、次のステップは62
2である(ステップ620の「同時(together)」結果を参照)。システムがプログ
ラミングを必要とする偶数ビットラインのみまたは奇数ビットラインのみをプログラ
ムしている場合、ステップ620の次のステップはステップ640である(ステップ
620の「単独(separate)」結果を参照)。
ステップ622において、トリガが発生しているかどうかが判断される。一実施形
態では、プログラム電圧Vpgm(たとえば、プログラムパルス)の振幅がトリガ電
圧に達するとトリガが発生する。他の実施形態では、他のトリガ(たとえば、時間に
よる基準、プログラムされたビット数、パルス数、電流など)が採用されうる。トリ
ガが発生していなければ、プログラム電圧Vpgmは、ステップ624において、次
の振幅にステップアップされる。たとえば、次のパルスは、前のパルスよりもあるス
テップサイズ(たとえば、0.1〜0.4Vのステップサイズ)だけ大きい振幅を有
することになる。プログラム電圧Vpgmをステップした後、プロセスはステップ6
10にループバックし、全ビットライン(目標状態にあるために除外されたメモリセ
ルを除く)に対するプログラミングが行われるように、次のプログラムパルス(ステ
ップ624において設定された新たな振幅の)が選択ワードラインに印加される。上
述のように、プロセスはステップ610から進む。
ステップ622のトリガは、容量結合を伴う除外状態を伝逹するか別の方法で示す
ように設定される。一般に、隣接フローティングゲート間には容量結合がある。両方
の隣接フローティングゲート(第1のフローティングゲートおよび第2のフローティ
ングゲート)がプログラムされているとき、容量結合は一定かつ/または予測可能な
状態にある。第1のフローティングゲートがその目標状態に達しているためにプログ
ラミングから除外すると、その第1のフローティングゲートの電位はブースティング
によって上昇することになる。第1のフローティングゲートは比較的高い電位を有す
るので、第2のフローティングゲートに対する容量結合は増す。比較的高い容量結合
は、第2のフローティングゲートに対する電圧を増加し、第2のフローティングゲー
トのプログラミング速度を増す。このため、オーバープログラミングを招くおそれが
ある。オーバープログラミングに対するリスクは、低速プログラミング(両方の隣接
メモリセルがまだプログラムされているとき)から高速プログラミング(あるメモリ
セルがプログラムされておりその隣接メモリセルがプログラミングを禁止されている
とき)に遷移すると大きくなる。
図11Aは、2つの隣接するフローティングゲート806および810を示してい
る。フローティングゲート806および810の各々は、アクティブエリア804お
よび808の各々の上方に位置している。共通ワードラインポリシリコン層802は
、両方のフローティングゲートのコントロールゲートとして機能し、また、フローテ
ィングゲート間のシールド805を形成する。図11Aは、両方のフローティングゲ
ートがプログラムされている状態を示している。そのため、アクティブエリアは0ボ
ルトにされている。上述したように、一方のフローティングゲートがプログラムから
除外されると、そのアクティブエリアは7から10ボルトの値まで昇圧される。それ
により、各フローティングゲートの電位が上昇すると共に、隣接するフローティング
ゲートへの容量性カップリングが増大する。その結果、隣接するフローティングゲー
トのプログラムが速くなる。速いプログラミングは、オーバープログラミングを発生
させることがある。
フローティングゲート806と810の間のシールド805は、容量性カップリン
グを縮小させる働きをする。しかし、大きな電圧がワードラインに印加されると、ポ
リシリコンのシールド805が空乏化する。例えば、図11Bは、同一の2つのフロ
ーティングゲート806と810を示している。併せて、点線812が引かれたワー
ドラインポリシリコン層802も示している。点線812の下側の領域は、空乏化さ
れている。点線812の下側の領域が空乏化されているため、上述した容量性カップ
リングが十分に遮蔽されない。
図11Cは、点線812の下方に空乏化された領域を有する、同一の2つのフロー
ティングゲート806と810を示している。しかしながら、図11Cは、フローテ
ィングゲート806がプログラムから除外されている状態を示している。よって、ア
クティブエリア804が高電圧となることで、フローティングゲート806が高電圧
となる。フローティングゲート806が高電圧となりシールド805が空乏化される
ため、フローティングゲート806と810との間の容量性カップリングにより、フ
ローティングゲート810がより高電位となり、その結果プログラムが高速化する。
一実施形態では、図11Cに関して説明したように、どの程度のワードライン電圧
でワードラインポリシリコン層802が空乏化してカップリングが発生するのかを突
き止めるために、デバイス特性(シミュレーションを含む)が使用される。他の実施
形態では、実際のシリコンチップをテストすることで、ワードライン電圧を測定する
ことができる。いくつかの実施形態では、シリコンチップの全てを検査することがで
きる。他の実施形態では、部品のサンプルを検査し、測定された電圧を部品のグルー
プ全体に使用することもできる。空乏化が始まる電圧を決定する他の方法を使用する
こともできる。
上述した、プログラム速度を増加させるために十分な空乏化を発生させるワードラ
イン電圧は、トリガ電圧であって、トリガ電圧は、図10のステップ622で使用さ
れる。Vpgmのプログラムパルスの大きさが、ワードラインポリシリコン層に十分
な空乏を発生させてカップリングを許容するトリガ電圧まで到達すると、トリガ条件
が満たされ、処理が図10のステップ630へ進む。ワードラインポリシリコン層が
空乏化しカップリングを許容する状態で、一方の隣接メモリセルが除外され、他方の
隣接メモリセルがまだプログラム中である場合、即ち、プログラムの速度が上昇する
可能性がある場合を、ここでは除外状態と呼ぶ。
ステップ622に対するトリガの別の実施形態では、少なくとも所定量のメモリセ
ル(たとえば、奇数ワードラインおよび偶数ワードラインの両方に接続されたメモリ
セル)が特定の1組の1つ以上のデータ状態にプログラムされるべきときに、特定の
1組の1つ以上のデータ状態へのプログラムが成功している。たとえば、トリガは、
状態S1にプログラムしようとするメモリセルのすべてがデータ状態S1に達するこ
とに成功していることが検証されているとき、とすることができる。別の方法では、
システムは、状態S1にプログラムしようとするすべてのあるいは所定数のメモリセ
ルであって、データ状態S1に達することに成功していることが検証されているもの
に対して試験することができる。所定数とは、データ状態1に達するべきメモリセル
のすべてであって、エラー訂正コード(または、他のエラー回復プロセス)を用いて
読出しプロセス中に訂正されうる一部の数を除くものということになる。さらに別の
方法では、1つのデータ状態(たとえば、データ状態S1)に達するメモリセルに基づ
いてトリガせずに、システムはデータ状態S1、S2、およびS3(最も低い3つの
状態)など、複数のデータ状態に達するメモリセルに基づいてトリガすることができ
る。他データ状態の組も採用されうる。
除外状態が存在する(ステップ622のトリガによって伝達される)十分な機会が
あるとき、システムは奇数ビットラインに接続されたメモリセルを偶数ビットライン
に接続されたビットラインとは別にプログラムすることになる。このように、次のプ
ログラミングパルスによってプログラムされる所与のメモリセルに対して、同じワー
ドライン上の隣接セルは禁止されることが保証されるので、隣接セルからの結合は完
全に予測可能である。両方の隣接セルが禁止され、しかも両方の隣接セルを禁止する
ことでプログラミングが高速化される(これはオーバープログラミングを招く可能性
がある)ことは周知であるので、システムは除外状態を補償するためにVpgmのプ
ログラムパルスの電圧振幅を低減することになる。すなわち、Vpgmのプログラム
パルスの電圧振幅を低下させることによってプログラミングが低速化され、これによ
ってプログラミングを高速化する除外状態が補償されるはずである。
図10のステップ630において、プログラミング信号(たとえば、プログラムパ
ルス)の電圧振幅が低減される。一部の実施形態では、電圧振幅は0.5V低減され
る。他の実施形態では、電圧の低減は0.5Vと異なる場合がある。一部の実施形態
では、プログラム信号の電圧振幅の低減は、製造の時点、製品設計の時点、試験の時
点、またはその他の時点に設定されるパラメータに基づいている。サンプルの1組の
部品が所与のプロセスまたは設計に対して製造された後、エンジニアは、除外状態が
プログラミングの速度に及ぼす影響の大きさを試験してから、適切な量の電圧を選定
してプログラム信号を低下させ、除外状態を防ぐことができる。適切な量の電圧を決
定してプログラム信号を低下させ、除外状態を防ぐために、デバイスシミュレーショ
ンも採用されうる。
ステップ632において、偶数ビットラインに接続されたメモリセルのみにプログ
ラムするために、プログラムパルスが選択ワードラインに印加される。よって、偶数
ビットラインは0ボルトとされ、奇数ビットラインはVddが印加される。ステップ
626の期間では、偶数ビットラインのみがプログラムされる。ステップ632が実
行された後、同一の選択ワードラインにプログラムパルスを印加するステップを含ん
だステップ634が実行される。ステップ634の期間では、奇数ビットラインに接
続されたメモリセルのみがプログラムされる。よって、ステップ634は、奇数ビッ
トラインに0ボルトを印加し、偶数ビットラインにVddを印加するステップを含む
。従って、ステップ632と634とでは、2つの連続するプログラムパルスが、同
一のワードラインに(よって、そのワードラインに接続された同一のメモリセルのセ
ットに)印加される。しかしながら、偶数メモリセルのみが第1のパルスの間にプロ
グラムされ(ステップ632)、奇数メモリセルのみが第2のパルスの間にプログラ
ムされる(ステップ634)。従って、偶数ビットラインに接続されたメモリセル群
(偶数メモリセル)は、奇数ビットラインに接続されたメモリセル群(奇数メモリセ
ル)とは別にプログラムされる。例えば、WL2_iが選択ワードラインとされ(図
4参照)、ステップ632においてBL0,BL2,BL4 およびWL2_iに接続
されたメモリセルがプログラムされ、ステップ634においてBL1,BL3,BL
5およびWL2_iに接続されたメモリセルがプログラムされる。奇数メモリセルに
ステップ632のプログラムパルスが印加されていても、それらのメモリセルはステ
ップ632の間はプログラムされることが抑制される。ステップ634で偶数メモリ
セルにプログラムパルスを印加されていても、それらのメモリセルはステップ634
の間はプログラムされることが抑制される。ステップ634の後、処理はステップ6
12へ戻り、偶数ビットラインおよび奇数ビットラインのメモリセルは全て一緒に検
証される。(ただし、いくつかの実施形態では、目標に到達することでメモリセルが
すでに除外されている。)ステップ612以降は、上述したように処理が続行される
。ステップ632と634との間では、検証動作は行われない。
メモリセルのブロック(ブロックi)が記載されている図4へ戻る。一実施形態で
は、ワードラインに沿ったメモリセルは、2つのグループに分割される。第1のグル
ープは、奇数ビットライン(例:BL1、BL3、BL5、・・・)に接続されてい
る全てのメモリセルで形成される。第2のグループは、偶数ビットライン(例:BL
0、BL2、BL4、・・・)に接続されている全てのメモリセルで形成される。図
4に示されるように、偶数ビットラインと奇数ビットラインは、交互に配置される。
よって、偶数ビットラインに接続されたメモリセルのグループは、奇数ビットライン
に接続されたメモリセルと交互に配置される。偶数ビットラインのみがプログラムさ
れている場合には、奇数ビットラインに接続されている全てのメモリセルは除外され
る。これにより、プログラムされている何れのメモリセルにおいても、その両隣のメ
モリセルが除外されている状態を保証しうる。たとえカップリングを生じても、両隣
が除外されていることが保証されているため、カップリングが予測可能であり一定で
ある。その結果、オーバープログラミングの可能性が低くなる。ワードラインに接続
された複数のメモリセルが、2以上のグループに分割可能とされ、奇数および偶数グ
ループ以外の種類のグループに分類しうる。
ステップ620において、プログラム−検証の前の反復が、偶数ビットラインと奇
数ビットラインに対して別々のパルスを印加したと判断されると、プロセスはステッ
プ640に進み、システムは潜在的な除外状態の補償を証明し続けるかどうかを判断
する。
ステップ640の一実施形態では、プログラミングパルス(またはプログラム−検
証反復)の数が所定数に達すると、システムは補償(たとえば、奇数及び偶数のビッ
ト・ライン・プログラミングに対する別々のパルス)を終了する。たとえば、システ
ムはPCが所定数よりも少ないかどうかを試験することができる。
ステップ640の別の実施形態では、1つ以上のデータ状態である特定のセットに
プログラムされるべき少なくとも所定量のメモリセル(たとえば、奇数ワードライン
と偶数ワードラインの両方に接続されたメモリセル)が、1つ以上のデータ状態であ
る当該特定の組へのプログラムに成功していると、システムは補償(たとえば、奇数
と偶数とのビット・ライン・プログラミングに対する別々のパルス)を終了する。た
とえば、データ状態S6にプログラムするよう意図されているすべてまたはほとんど
すべてのメモリセルがS6にあることの検証に成功しているとき、システムは補償を
終了しうる。あるいは、データ状態S5およびS6にプログラムするよう意図されて
いるすべてまたはほとんどすべてのメモリセルがそれぞれS5およびS6にあること
の検証に成功しているとき、システムは補償を終了しうる。システムは、プログラム
に成功しているデータ状態にプログラムするよう意図されているすべてのメモリセル
、あるいはエラー訂正コード(または、他のエラー回復プロセス)を用いて読出しプ
ロセス中に訂正されうる小さい所定数を引いたすべてを試験することができる
ステップ640の別の実施形態では、追加的な除外状態の可能性が低いか否かが判
断されると、システムは補償(たとえば、奇数及び偶数のビット・ライン・プログラ
ミングに対する別々のパルス)を終了する。上述したように、除外状態は、あるメモ
リセルがプログラムされ、隣接するメモリセルがプログラムから除外され、ワードラ
イン電圧が十分に高くなることで発生する。除外状態は、プログラムの高速化を招く
。オーバープログラミングは、低速なプログラムから高速なプログラムへの移行時に
発生しうる。よって一実施形態では、システムは、除外状態の発現によって低速プロ
グラムから高速プログラムへの移行が発生する可能性があるかを確認する。システム
は、新しい除外状態または追加的な除外状態の潜在的な数を確認することで、低速か
ら高速プログラムへの移行の可能性を確認する。いくつかの実施形態では、読み出し
処理において周知のエラー訂正手法を用いてエラーが訂正されるため、システムは少
数のエラーを許容しうる。それゆえ、潜在的な除外状態の数が十分少ない場合には、
システムはエラーの可能性を許容でき、プログラムの際にエラーを訂正する必要がな
い。
ステップ640において、この時点で補償が終了しないと判断される場合、プロセ
スは先に進み、偶数ビットラインのメモリセルを奇数ビットラインのメモリセルのプ
ログラミングとは別に、かつ、時を異にしてプログラムするステップを含む、ステッ
プ632および634を実施する。
ステップ640において、この時点で補償が終了すると判断される場合、メモリシ
ステムは奇数および偶数のビットラインを同時にプログラムすることによってプログ
ラミングプロセスを継続することになる。一実施形態では、奇数および偶数のビット
ラインを同時にプログラムするステップに切替え復帰するとき、システムはプログラ
ミング電圧の振幅をさらに上昇させることになる(ステップ642)。ステップ64
2において、プログラミング電圧の振幅を上昇させた後、プロセスはステップ610
に進み、奇数および偶数のビットラインの両方のメモリセルをプログラムするために
次のプログラミングパルスを印加する。一部の実施形態では、奇数および偶数ビット
ラインを同時にプログラムするステップに切替え復帰するときプログラミング電圧の
振幅が上昇されないようにステップ642はスキップされる。
ステップ642は、プログラミング電圧の振幅を上昇させるステップを含む。一実
施形態では、プログラミング電圧の振幅は、プログラミングの所望速度を得るために
所定の一定量上昇される。別の実施形態では、プログラミング電圧の振幅は、トリガ
が存在するとの判断に応じてプログラミング信号が低下されなかった場合に(一定の
割合で増加していた)プログラミング信号の振幅に基づいてある値まで上昇される(
ステップ622)。そして、ステップ630において、プログラミング電圧Vpgm
の振幅が低下されなかった場合に、ここでは振幅がXVになるであろう。したがって
、ステップ642は、Vpgmの振幅をXVに上昇させるステップを含む。
一実施態様例では、プログラミング電圧Vpgmの振幅は、1ステップにおいてそ
の目標まで上昇される(ステップ642)。別の実施態様では、プログラミング電圧
Vpgmの振幅は、複数のステップにわたってその目標まで上昇される。たとえば、
プログラミング電圧Vpgmの振幅は、複数のプログラム−検証反復のセットにわた
ってその目標電圧まで上昇されうる(ステップ610および612)。ステップ64
0において、補償を終了することが決定される時点で、プログラミング電圧Vpgm
がステップ630において低下されなかった場合よりもプログラム電圧Vpgmが0
.7V低いものであるとする。この別の方法では、プログラミング電圧Vpgmは、
ステップ610において次のプログラミングパルスに対して0.45V上昇可能であ
り、この後、ステップ610の次の反復における後続のプログラミングパルスに対し
てさらに0.45V上昇可能である。プログラミング電圧Vpgmは、プログラミン
グパルス間の0.2Vのステップに対応するために0.7Vでなく0.9V上昇され
る。これを達成するために、後続のステップ624は、プログラミング電圧Vpgm
を0.2Vのステップではなく0.45V上昇するように修正されなければならない
。さらに別の方法では、プログラミング電圧Vpgmは、2ステップ以上(たとえば
、3ステップ以上)にわたってその目標まで上昇される。
ステップ640において、新たな/追加的な除外状態の潜在的な数が小さいと判断
される場合、補償は継続することになり、メモリシステムは奇数および偶数のビット
ラインを別にプログラムすることによってプログラミングプロセスを継続することに
なる。それゆえ、プロセスは、ステップ632および634を実施することによって
継続することになり、これらのステップは偶数ビットラインのメモリセルを奇数ビッ
トラインのメモリセルのプログラミングとは別にかつ時を異にしてプログラムするス
テップを含む。
図12はプログラム電圧Vpgmの波形の一例である。図12の信号は、パルス7
02,704,706,708,710,712,714,716,718,720
,722,724,726,728,730,732,734そして736を有して
いる。プログラムパルス702−720は、トリガに先立って印加される。これらの
各パルスの大きさは、トリガ電圧よりも小さくされている。パルス702−720は
、図10のステップ610の反復の一部として印加される。パルス720を印加した
後、(例えば、Vpgmの大きさがトリガ電圧よりも大きくなるなどして)トリガ電
圧に到達し、奇数ビットラインと分離して、偶数ビットラインのプログラムが実行さ
れる(ステップ632およびステップ634)。従って、図12には722および7
24の、振幅が同じ2つのパルスが示されている。プログラミングパルス722は、
偶数ビットラインに接続されたメモリセル群をプログラムするためのパルスである(
ステップ632)。プログラミングパルス724は、奇数ビットラインに接続された
メモリセル群をプログラムするためのパルスである(ステップ634)。しかしなが
ら、722および724の両パルスは、同一の選択ワードラインに印加される。ステ
ップ630のとおり、パルス722および724の振幅はパルス720の振幅よりも
小さい。図12の例では、奇数および偶数ビットラインを別々にプログラムする処理
が継続される(偶数ビットラインへの第1のプログラミングと、その後の奇数ビット
ラインへのプログラム)。例えば、(互いに同一の振幅であるが、パルス722およ
び724より振幅が大きい)パルス726および728は、図10のステップ632
および634の次の反復である。パルス730および732は、ステップ632およ
び634のその次の反復である。パルス734および736は、図12の例における
ステップ632および634の最期の反復である。パルス734および736の印加
後において、処理が無事に完了するように、全てのメモリセルが適切に検証される(
または十分なメモリセルが検証される)。
図13は、Vpgmのプログラミングパルスの他の波形例である。図13の例は、
全てのビットラインのプログラム(ステップ610)から、偶数および奇数ビットラ
インの個別のプログラム(ステップ632および634)へのプログラム処理の遷移
と、その後に全てのビットラインのプログラム(ステップ640および642経由)
へ戻る遷移を含んでいる。プログラミングパルス750,752,754,756,
758,760,762,764,766及び768がステップ610の反復の間に
印加される。プログラミングパルス768の後に、トリガ電圧に到達し、偶数ビット
ラインに接続されたメモリセルをプログラミングパルス770でプログラムし、奇数
ビットラインに接続されたメモリセルをプログラミングパルス772でプログラムす
るために、ステップ632および634の処理が行われる。図10のステップ630
のため、パルス770および772の電圧振幅は、パルス768の電圧振幅よりも小
さい。図13は、ステップ632および634の3回の反復を示している。ステップ
632および634の2回目の反復において、プログラミングパルス774が偶数ビ
ットラインに接続されたメモリセルのプログラミングに使用され、プログラミングパ
ルス776が奇数ビットラインに接続されたメモリセルのプログラミングに使用され
る。ステップ632および634の3回目の反復において、プログラミングパルス7
78が偶数ビットラインに接続されたメモリセルのプログラミングに使用され、プロ
グラミングパルス780が奇数ビットラインに接続されたメモリセルのプログラミン
グに使用される。ステップ634においてプログラミングパルス780が印加された
後は、除外状態の発生率が低いか否かが判断される。従って、処理はステップ642
を実行し、プログラム電圧Vpgmの振幅を、補償が提供されない場合の値まで再び
上昇する。そして、プログラミングパルス782が、(目標とする状態に到達したた
めに除外されたメモリセルを除く)全てのビットラインに接続されたメモリセルに(
ステップ610で)印加される。図10の処理の次の反復では、ステップ610にお
いて1つのプログラミングパルス784が印加される。プログラミングパルス784
の印加後において、十分な数のメモリセルが検証され、プログラム処理が無事に完了
したか否かが判断される。なお、破線785は、プログラミング信号Vpgmの振幅
が補償前(たとえば、奇数/偶数ビットラインを別々にプログラムする前)に上昇し
ていることを示し、トリガが存在するとの判断に応じてプログラミング信号が低下さ
れなかった場合に、プログラムパルス782の振幅がプログラミング信号の振幅と等
しいことを示す。
上述したように、検証処理のセットが、プログラミングパルスの合間に実行される
。一実施形態では、検証パルスが選択ワードラインに検証処理ごとに印加される。例
えば、メモリセルが取りうる可能性のある8つのデータ状態がある場合には、7つの
検証処理がある。従って、7つの検証パルスが存在する。図14は、プログラミング
パルス706、708および710の例を示している(図12も参照のこと)。検証
パルスが、プログラミングパルス706、708および710の間に印加されている
。図14の検証パルスの各々は、上述したように、検証処理に関連する。
図15もまた、プログラミングパルスを示していており、そのプログラミングパル
ス間には検証パルスが存在する。図15は、図12のプログラミングパルス722,
724,726,728,730および732を示している。これらの6つのプログ
ラミングパルスは、トリガ電圧に到達した後に印加されるプログラミングパルスに関
連している。よって、奇数および偶数のメモリセルが個別にプログラムされる。上述
したように、プログラミングパルス722は偶数ビットラインに接続されたメモリセ
ルをプログラムし、プログラミングパルス724は奇数ビットラインに接続されたメ
モリセルをプログラムする。一実施形態では、プログラミングパルス722と724
との間には、検証動作は行われない。プログラミングパルス724の後であって、次
の対のパルス726および728の前に、検証動作を行うための複数の検証パルスの
セットが印加される。パルス726と728との間には、検証動作は行われない。パ
ルス728の後であって、次の対のパルス(730、732)の前に、対応する検証
処理のセットを行うために、検証パルスのセットが印加される。
図16は、プログラム時における、様々な信号の動きを示した図である。さらに具
体的には、図16は、図10のステップ610, 632 または 634における1回
の反復の間での動作を示している。図示されたプログラム動作は、ビットラインプリ
チャージフェーズ、プログラムフェーズ、および放電フェーズにグループ分けするこ
とができる。
ビットラインプリチャージフェーズの期間(1)では、SGSを0ボルトに維持す
ることで、ソース選択トランジスタはターンオフされ、SGDがVSGまで高まること
で、ドレイン選択トランジスタはターンオンされる。それゆえ、ビットラインがNA
NDストリングにアクセスすることが許可される。ビットラインプリチャージフェー
ズの期間(2)では、プログラムが禁止されたNANDストリング(BL inhibit)の
ビットライン電圧を、VDDで与えられた所定電圧まで上昇させることが許可される。
プログラムが禁止されたNANDストリングのビットライン電圧がVDDまで上昇する
と、期間(3)においてドレイン選択トランジスタのゲート電圧SGDがVDDまで低
下したときに、NANDストリングがフロートする。プログラムされるNANDスト
リング(BL pgm)のビットライン電圧は積極的に0ボルトへ引き下げられる。幾つか
の別の実施形態では、プログラムされるNANDストリングのビットライン電圧は、
一方または両方の隣接メモリセルがプログラム禁止モードか否かに基づいて、バイア
スがかけられている。バイアスに関するさらなる情報は、米国特許第7,187,5
85号に記載されており、この文献の内容は、その全体を参照することにより本明細
書に組み込まれる。
プログラムフェーズの期間(4)では、NANDストリングを昇圧できるように、非選択ワードライン(WL_unsel)がVPASSにセットされる。プログラムが禁止されたNANDストリングがフロートしているため、アドレス指定されていないメモリトランジスタのコントロールゲートに印加されている高VPASSは、チャンネルおよび電荷蓄積素子の電圧を上昇させる。よって、プログラムが禁止される。VPASSは、一般的には、Vpgm(例えば、〜12−24ボルト)に対する中間電圧(例えば、〜10ボルト)に設定される。
プログラムフェーズの期間(5)では、プログラミング電圧Vpgmがプログラミ
ングパルスとして、選択ワードライン(WL_sel)に印加される。期間(5)の
プログラミングパルスは、図12のパルス702−736の何れか、または図13の
パルス750−784の何れかに対応する。(例えば、昇圧されたチャンネルおよび
電荷蓄積ユニットを有する)禁止されているメモリセルには、プログラムが行われな
い。(選択ワードラインに接続された)選択メモリセルが、プログラムされる。放電
フェーズの期間(6)では、様々なコントロールラインとビットラインとが放電する
ことが許可される。
図17は、追加的に除外状態となる可能性が低いために補償を終了させるか否かを
決定する処理の一実施形態のフローチャートである(図10のステップ640の間で
実行される)。ステップ850において、同一ワードラインに沿って、各メモリセル
が隣接するメモリセルと比較される。ステップ852において、システムが除外状態
へ移行する可能性があるものの数Xをカウントする。2つの隣接メモリセルが両方と
もまだプログラムされている場合には、隣接メモリセルの一方が除外される前に隣接
メモリセルの他方が目標に到達する可能性があるため、潜在的な除外状態が存在する
。従って一実施形態では、ステップ852は、まだプログラムが行われている隣接メ
モリセルのペアの数を数えることを含んでいる。潜在的な除外状態の数が閾値よりも
大きい場合には(ステップ854)、追加的に除外状態となる可能性が低くない(ス
テップ858)。潜在的な除外状態の数が閾値よりも大きくない場合には、追加的に
除外状態となる可能性が低い(ステップ856)。ステップ854の閾値は、エラー
訂正符号(あるいは他のエラー回復処理)によって訂正されたビット数に基づいて設
定される。例えば、一実施形態では、7ビットまでの誤ったデータ(データの約0.
01パーセント)を訂正できるエラー訂正符号が備えられている。従って、潜在的な
除外状態の数が7未満である場合には、追加的に除外状態となる可能性が低い(ステ
ップ856)。他の閾値を使用することもできる。他の実施形態では、ステップ85
0は、隣接するメモリセルと比較されるメモリセルの一部のみについて実行されうる
。そして、比較結果からメモリセル全体についての推定が行われ、閾値と比較される
図18は、図17の処理を実行可能なハードウェアの一例を示すブロック図である
。全メモリセルのデータラッチ494(図5参照)が、シフトレジスタ880へデー
タを供給する。一実施形態では、シフトレジスタ880は、実際のデータラッチ49
4を含んでいてもよい。シフトレジスタ880は、全てのビットラインの全データを
保持する。データは1回につき1ビットずつシフトする。よってデータは、まず1ビ
ットレジスタ882にシフトアウトされ、その後に1ビットレジスタ884にシフト
アウトされる。レジスタ882内のデータと、レジスタ884からのデータは、NO
Rゲート886へ送られる。NORゲート886の出力は、加算器888に送られる
。加算器888の出力はステートマシン222に供給される。ステートマシン222
は、潜在的な除外状態の数が閾値よりも大きくないか否かを判断する。図18の回路
は、隣接するビットラインが0−0を記憶していることの発生数をカウントする。一
例では、特定のメモリセルがプログラムされるべきか禁止されるべきかの指示を記憶
するためにデータラッチが使用されることで、センス回路によって適切な電圧がビッ
トラインに印加されるように構成されている。一実施形態では、それぞれのデータラ
ッチは、ビットラインが禁止されるべき場合は「1」を記憶し、ビットラインがプロ
グラムされるように設定されるべき場合には「0」を記憶する。反対の極性も使用可
能である。従って、図18の回路は、データが0−0である隣り合うビットラインを
探し、探し出した回数を加算器888を用いてカウントする。加算器888が0−0
をカウントした回数が閾値よりも大きい場合には、ステートマシンは、追加的に除外
状態となる可能性が低くないと結論を出す。
図19は、追加的に除外状態となる可能性が低いか否かを判断する他の実施形態に
ついての記載である(図10のステップ640の間に実行される)。ステップ902
において、まだプログラム中のメモリセルの数がカウントされる。別の手段として、
除外されたメモリセルの数がカウントされる。ステップ904において、まだプログ
ラム中のメモリセルの数が閾値未満か否かが判断される。プログラム中のメモリセル
の数が閾値未満である場合には(ステップ904)、追加的に除外状態となる可能性
が低い(ステップ906)。除外されたメモリセルの数が閾値未満でない場合には、
追加的に除外状態となる可能性が低くない(ステップ908)。一実施形態では、0
.4%だけのメモリセルがまだプログラム中の場合(または99.6%のメモリセル
が除外されている場合)に、追加的に除外状態となる可能性が低くなるように、閾値
が設定される。なお、他の閾値も使用可能である。
図20は、図19の処理を実行可能なハードウェアの一例を示すブロック図である
。図20は、コンパレータ回路920と通信し、ビットラインの各々のグループのた
めに備えられた各々のプロセッサ492(例えば、8本のビットラインのために1つ
のプロセッサ492が備えられる)を示している。プロセッサの各々は、各ビットラ
インがプログラムされるか除外されるかを指示する。コンパレータ920は、除外さ
れたビットラインの数をカウントする回路を含んでいる。一実施形態では、上述した
ラッチ群からデータが供給されることで、カウントが遂行される。コンパレータ92
0は、閾値(ステップ904参照)を示すパラメータ922にアクセス可能であり、
また、その閾値を除外されたビットラインの総数と比較することが可能である。コン
パレータ920の出力は、ステートマシン222に送られる。
図10に戻り、奇数および偶数メモリセルの同時プログラミングから、奇数および
偶数メモリセルの個別のプログラミングへプログラム処理を変更するために、トリガ
が使用されている(ステップ622)。一実施形態では、適切なトリガ電圧を決定す
るために、デバイス特性(シミュレーションを含む)を使用することを備えている。
幾つかの実施形態では、トリガ電圧は各々の集積回路で個別に調整されてもよい。す
なわち、集積回路の製造に引き続いて、各集積回路がテストされるとしてもよい。当
該テストに基づき、トリガ電圧が設定または調整されうる。
図21、22および23は、トリガ値の調整または設定を行う3つの実施形態を示
すフローチャートである。図21−23の処理は1つのブロックで実行しうる。1つ
のブロックからのデータが、メモリデバイスの全てのブロックに使用されることが可
能である。ある代替的手法では、多数のブロックがテストされ、その結果が全てのブ
ロックに適用されるとすることもできる。他の代替的手法では、図21−23の処理
が全てのブロックで行われ、それぞれのブロックが独自のトリガ値を有することもで
きる。一実施形態では、1つのブロックにおいて1つのワードラインのみがテストさ
れるとすることができる。他の実施形態では、1本よりも多いワードラインがテスト
され、その結果が平均されるかまたは一体とされてもよい。他の実装形態では、(ワ
ードライン、ワードラインのグループ、ページ、セクタ、などの)他のユニットがテ
ストのために選択されるとすることもできる。
図21のステップ1002では、テスト用の特定の1ブロック(または複数ブロッ
ク)が消去される。次に、1本の選択ワードライン上の偶数セルがプログラムされる
。一実施形態では、1本のワードラインのみがプログラムされる。その1本のワード
ラインに基づき、ブロック全体、チップ全体またはメモリシステム全体のための新た
なトリガ値が決定される。他の実施形態では、多数のワードラインがプログラムされ
、そのデータが平均化されるか、それぞれのワードラインが独自のトリガ値を有する
とすることができる。ステップ1004では、選択ワードラインに接続されたメモリ
セルがプログラムされる。ステップ1004のプログラム処理は、奇数ビットライン
および偶数ビットラインに接続されたメモリセルの全てについて、プログラムするこ
とと、振幅が増加していくプログラミングパルス群を、それらのプログラミングパル
スがVpgm_testの大きさに到達するまで印加することと、を可能にするステ
ップを含んでいる。一実施形態では、デバイス特性から決定されるトリガ電圧を2ボ
ルト下回るように、Vpgm_testが初期設定される。ステップ1004のプロ
グラム処理は、ステップ620の後を除いて図10の処理に類似しており、処理はス
テップ624に続く(ステップ622、630−642はない)。ステップ1004
のプログラム処理の終了後、ステップ1006において、偶数ビットラインに接続さ
れたメモリセルの閾値電圧分布の最大値および最小値が測定される。ステップ100
8では、ブロックが消去される。
ステップ1010では、偶数ビットラインに接続されたメモリセルが再度プログラ
ムされる。しかしながらステップ1010では、奇数ビットラインに接続されたメモ
リセルは、全てのプログラミングパルスによるプログラムが禁止される。ステップ1
010は、ステップ1004のように、プログラミングパルスの振幅がVpgm_t
estと等しくなるまで、振幅を増加させながら連続してプログラミングパルスを印
加することを含んでいる。ステップ1012では、偶数ビットラインに接続されたメ
モリセルの閾値電圧分布が測定される。ステップ1014では、ステップ1012お
よび1006で測定された閾値電圧分布の最大値および最小値が比較される。一実施
形態では、2つの閾値電圧分布の下限が比較される。他の実施形態では、それぞれの
閾値電圧分布の上限が比較される。閾値電圧分布の下限(または上限)間の差分値が
閾値よりも大きくない場合には、Vpgm_testが所定量(例えば、0.5ボル
ト等の値)ずつ増加され、処理がステップ1002へ戻る。2つの閾値電圧分布の最
下点間の差分値が閾値よりも大きい場合には、ステップ1020において、(デバイ
ス特性によって決定される値から求められる)トリガ電圧は、Vpgm_testの
現在の値になるように変更される。幾つかの実施形態では、サンプルのサイズが実際
のワーストケースを捉えられていない点を考慮するために、マージンを取るためのオ
フセットをさらに追加することで、Vpgm_testがさらに変更されるとするこ
ともできる。一実施形態では、ステップ1016の閾値は0.5ボルトに等しくされ
、ステップ1004および1010でプログラミングに使用されるプログラムパルス
のステップサイズは0.4ボルトとされる。
図22は、トリガ電圧の決定または調整のための処理の他の実施形態である。ステ
ップ1050では、検討中のブロックが消去される。ステップ1052において、プ
ログラム処理の反復処理の各々においてプログラム対象に選択された奇数ビットライ
ンに接続されたメモリセルと共に、偶数ビットラインに接続されたメモリセルが、閾
値電圧が目標値のVxボルトに到達するまでプログラムされる。Vxは実験により設
定しうる。Vxの一例として、3.5ボルトが挙げられる。ステップ1054におい
て、ステップ2052の間に偶数ビットラインに接続されたメモリセルに適切にプロ
グラムするために必要なプログラミングパルスの数が記録される。ステップ1056
では、検討中のブロックが消去される。ステップ1058では、偶数ビットラインに
接続されたメモリセルが、それらの閾値電圧がVxボルトに到達するまで、再度プロ
グラムされる。ステップ1058では、奇数ビットラインに接続されたメモリセルが
各サイクルにおいて常に禁止される。ステップ1060では、ステップ1058にお
いてメモリセルをプログラムするために必要なプログラムパルスの数が記録される。
ステップ1062では、各々のテスト(ステップ1054および1060)における
パルスの数が比較される。ステップ1060で測定されたパルス数が、ステップ10
54で測定されたパルス数よりも少なくなることが予測されている。パルス数におけ
る当該差分量は、上述した除外状態に関連する干渉効果の大きさを意味している。差
分量が閾値よりも大きい場合には、トリガ電圧は、ステップ1058のプログラミン
グ処理で用いられた最後のパルスの大きさに設定される。差分量が閾値よりも大きく
ない場合には、電圧Vxが(例えば0.5ボルト分)増加され、テストを繰り返すた
めに処理がステップ1050へ戻る。一例として、ステップ1064の閾値は、1つ
のパルスと同等である。なお、他の閾値を使用することもできる。
図23は、トリガ電圧を決定または調整するための他の実施形態である。ステップ
1102において、選択された1ブロックまたは複数ブロックが消去される。ステッ
プ1104において、偶数ビットラインに接続されたメモリセルが、それらの閾値電
圧が電圧Vyに等しくなるまでプログラムされる。ステップ1104のプログラミン
グ処理の間、奇数ビットラインに接続されたメモリセルがプログラミングのために常
に選択される。ステップ1106において、偶数ビットラインに接続され、かつ、オ
ーバープログラムされたメモリセルの数が測定される。例えば、理想的な閾値電圧分
布がシミュレーションに基づいて推定され、その理想的な閾値電圧分布に対する上位
基準値を決定することができる。メモリセルの閾値電圧が理想的な分布の上限値を上
回る場合には、メモリセルがオーバープログラムされている。例えば図7Iを参照す
ると、状態S6は、下側境界Gおよび上側境界OPを備える。メモリセルがOPより
も大きな閾値電圧を有する場合には、メモリセルはオーバープログラムされている。
他の実施形態では、オーバープログラミングのための比較レベルを異ならせることが
できる。
図23に戻り、ステップ1108において、選択ワードラインにもう一つのプログ
ラミングパルスが印加される。プログラミングパルスがステップ1108で印加され
る一方、奇数ビットラインに接続されている全てのメモリセルのプログラミングが禁
止される。ステップ1104においてVyの閾値電圧に到達したメモリセルは、ステ
ップ1108の期間において除外されたままとされる。ステップ1108のプログラ
ミングパルスは、Vyの閾値電圧にまだ到達していないメモリセルのみをプログラム
する。ステップ1110において、オーバープログラムされたメモリセルの数が再度
測定される。ステップ1112において、ステップ1110で測定されたオーバープ
ログラムされたセル数が、ステップ1106で測定されたオーバープログラムされた
セル数と比較される。オーバープログラムされたセル数の差分量が閾値よりも大きい
場合には、トリガ電圧の大きさが、ステップ1108で印加されたパルスの大きさに
設定される。ステップ1114の閾値の一例として、5つのメモリセルが挙げられる
。差分量が閾値(ステップ1114)よりも大きくない場合には、ステップ1116
においてVyの電圧レベルが(例えば5ボルトなどに)増加され、処理がステップ1
102へ戻って繰り返される。
幾つかの実施形態では、環境条件又は使用条件による変化に対応するために、不揮
発性記憶装置システムは、トリガ電圧に対して動的な調整を行うとすることができる
。環境条件又は使用条件による変化とは、サイクルの履歴、温度等である。図24は
、プログラム/消去サイクルの数に基づいてトリガ電圧を動的に変更する実施形態を
示すフローチャートである。プログラム/消去サイクルは、消去処理およびプログラ
ム処理を行うステップを含んでいる。不揮発性記憶装置システムは多数のプログラム
/消去サイクルを実行するため、電荷がフローティングゲートとチャンネルとの間の
誘電領域にトラップされることがある。この状態は、図11A−Cにおいて、上述し
た空乏領域を減少させることがある。よって、デバイスで何度もサイクルが行われる
と、奇数メモリセルと偶数メモリセルとを別々のプログラムするステップをプログラ
ミング処理において遅く発生させるために、トリガ電圧を上昇させることが可能とな
る。図24のステップ1240では、メモリデバイスは、プログラム/消去サイクル
をX回実行する。一例では、X回のプログラムサイクルは、10000回のプログラ
ム/イレースサイクルであってもよい。なお、Xには他の値を使用しうる。X回のプ
ログラム/イレースサイクルを実行した後、ステップ1242において、トリガ電圧
が(例えば0.5ボルト分)上昇される。ステップ1242においてトリガ電圧が上
昇された後、ステップ1244においてメモリシステムは、プログラム/消去サイク
ルをY回実行する。一例では、Y回のプログラム/消去サイクルは、5000回のプ
ログラム/イレースサイクルであってもよい。ステップ1246において、トリガ電
圧が(例えば0.2ボルト単位で)再度上昇される。ステップ1246におけるトリ
ガ電圧の上昇後に、メモリシステムは、プログラム/消去サイクルの実行を続行する
(ステップ1248)。図24は、トリガ電圧が2回上昇されたメモリデバイスを示
している。しかしながら、他の実施形態では、トリガ電圧は1回のみ上昇されてもよ
いし、2回よりも多い回数上昇されてもよい。XとYの異なる値は、デバイス特性ま
たは実験的手段によって決定することができる。
図25は、図24の処理を実行するために使用される要素の一例を示すブロック図
である。図25は、トリガパラメータを記憶しているレジスタ1282およびサイク
ルパラメータを記憶しているレジスタ1284と通信するステートマシン222を示
している。補償回路1286もまた、レジスタ1282およびレジスタ1284と通
信を行う。トリガパラメータは、当該トリガの電圧(または他のトリガ電圧)を指示
するものである。トリガパラメータは、電圧の大きさや、パルス数等を特定しうるも
のである。サイクルパラメータは、実行されたプログラム/消去サイクルの数を指示
することができる。サイクルパラメータの値に基づいて、適切な場合には、補償回路
がトリガパラメータを更新する。例えば、図24のステップ1242および1246
の一部として、補償回路1286がトリガパラメータを更新することができる。ステ
ートマシン222は、図10のステップ622の期間において、トリガパラメータを
使用することもできる。
図26は、温度に基づいてトリガ電圧を動的に調整する実施形態を示すフローチャ
ートである。ステップ1302において、メモリシステムは温度を測定する。一実施
形態では、メモリシステムは温度センサを含むことができる。測定された温度に基づ
いて、ステップ1304において、トリガ電圧が調整される。空乏領域は低温では悪
化することが予測されるため、プログラム処理においてトリガがより早く発生しうる
。低温の時にはトリガ電圧を低下させることで、これに対応しうる。ステップ130
2で測定された温度がプリセット値よりも低い場合には、トリガ電圧を低下させうる
。ステップ1302で測定された温度がプリセット値よりも高い場合には、トリガ電
圧を上昇させうる。他の実施形態では、ステートマシン222が、温度範囲とトリガ
電圧とを関連付けるテーブルを記憶するとしてもよい。ステップ1302において、
ステートマシン222は温度を読み出す。ステップ1304において、ステートマシ
ン222は、温度をテーブルの手掛かりとして使用して、テーブルからトリガ値を検
索する。テーブルから見つかったトリガ電圧は、プログラミング処理で使用するため
に、パラメータ内に記憶される。他の実施形態では、ステップ1304において、補
償回路は測定された温度を読み出し、トリガ電圧を調整することもできる。ステップ
1306では、システムは、ステップ1304で設定されたトリガ電圧を用いてプロ
グラミングを実行する。一定量のプログラミングが行われた後、処理はステップ13
02へ戻り、温度が再度測定され、ステップ1304において、任意でトリガ値が調
整されうる。一実施形態では、ステップ1302−1306のループは、全てのプロ
グラミング処理について実行することができる。代替的な実施形態では、処理がNサ
イクルごとまたはN回の期間ごとに実行されてもよい。
図27は、図26の処理を実行しうる要素の一例を記載したブロック図である。図
27は、トリガパラメータを記憶しているレジスタ1350と通信するステートマシ
ン222を示している。トリガパラメータは、当該トリガの電圧(または他のトリガ
電圧)を指示するものである。トリガパラメータは、電圧の大きさや、パルス数等を
特定しうるものである。補償回路1352は、レジスタ1350および温度センサ1
354と通信する。温度センサ1354は、温度の指標となる信号(電圧または電流
)を出力する。温度センサ1354の出力に基づき、補償回路1352はトリガパラ
メータを更新する。例えば、補償回路1352は、図26のステップ1304の一部
として、トリガパラメータを更新するとしてもよい。トリガパラメータの更新は、継
続的か、一定期間ごとか、要求に応じて実行されるとしてもよい。
一実施形態は、プログラミング信号を用いて第1のグループの不揮発性記憶素子と
第2グループの不揮発性記憶素子とを同時にプログラムして同時に検証することと、
第1の状態が存在すると判断することと、第1の状態が存在するとの判断に応じてプ
ログラム信号を低下させることと、第1の状態が存在するとの判断に応じて低下され
たプログラミング信号を用いて第1のグループの不揮発性記憶素子を第2のグループ
の不揮発性記憶素子のプログラミングとは別にプログラムすることとを含む。
一例では、第1のグループの不揮発性記憶素子および第2のグループの不揮発性記
憶素子は、共通の制御ラインに接続され、プログラミング信号を共通の制御ライン上
で受け取る。共通の制御ラインの一例はワードラインである。
一実施形態は、第1のグループの不揮発性記憶素子および第2のグループを含む複
数の不揮発性記憶素子と、不揮発性記憶素子と通信している1つ以上複数の管理回路
と、を含む。1つ以上の管理回路は、プログラミング信号を用いて、第1のグループ
の不揮発性記憶素子および第2のグループの不揮発性記憶素子を同時にプログラムし
て同時に検証する。第1の状態が存在すると判断する1つ以上の管理回路は、第1の
状態が存在するとの判断に応じてプログラム信号を低下させる。1つ以上の管理回路
は、第1の状態が存在するとの判断に応じて低下されたプログラム信号を用いて、第
1のグループの不揮発性記憶素子を第2のグループの不揮発性記憶素子のプログラミ
ングとは別にプログラムする。
一実施形態は、不揮発性記憶装置をプログラムする方法を含む。第1のトリガの前
に、方法は、第1のトリガにおける基準振幅に対して時間とともに増加するプログラ
ミングパルスを含む共通プログラミング信号を用いて、第1のグループの不揮発性記
憶素子および第2のグループの不揮発性記憶素子を同時にプログラムして、同時に検
証することを含む。第1のトリガの後、方法は、基準振幅よりも振幅が低い別のプロ
グラミングパルスを用いて、第1のグループの不揮発性記憶素子を第2のグループの
不揮発性記憶素子のプログラミングとは別にプログラムすることと、第1のグループ
の不揮発性記憶素子を第2のグループの不揮発性記憶素子とともに検証することとを
含む。
上記本発明の詳細な説明は、説明と例示とを目的として提示されたものである。こ
れは網羅的なものではなく、本発明を開示されたとおりの明確な形態に限定するもの
ではない。上記の教示に照らして多くの改変および変形が可能である。説明した実施
形態は、本発明の原理とその実用的な適用例とを最もよく説明し、当業者が様々な実
施形態で、検討される特定の使用に適するように様々に修正して本発明を最もよく利
用し得るように選定された。本発明の技術的範囲は、本明細書に添付された特許請求
の範囲によって定まるものである。

Claims (19)

  1. 不揮発性記憶装置をプログラムする方法であって、
    プログラミング信号を用いて第1のグループの不揮発性記憶素子および第2のグループの不揮発性記憶素子を同時にプログラムして同時に検証することと、
    前記第1の状態が存在すると判断することと、
    前記第1の状態が存在するとの判断に応じて前記プログラミング信号を低下させることと、
    前記第1の状態が存在するとの判断に応じて、前記低下されたプログラミング信号を用いて前記第1のグループの不揮発性記憶素子を、前記第2のグループの不揮発性記憶素子をプログラムすることとは別にプログラムすることと、
    を備える方法。
  2. 前記第1のグループの不揮発性記憶素子および前記第2のグループの不揮発性記憶素子は、共通の制御ラインに接続され、前記プログラミング信号を前記共通の制御ライン上で受け取る、請求項1に記載の方法。
  3. 前記第1の状態が存在すると判断した後、前記第1のグループの不揮発性記憶素子を前記第2のグループの不揮発性記憶素子とともに検証することをさらに備える、請求項1または2に記載の方法。
  4. 第2の状態が存在すると判断することと、
    前記第2の状態が存在するとの判断に応じて前記プログラミング信号を上昇させることと、
    前記第2の状態が存在するとの判断に応じてプログラムするために前記上昇されたプログラミング信号を用いて、前記第1のグループの不揮発性記憶素子および前記第2のグループの不揮発性記憶素子を同時にプログラムして同時に検証することと、
    をさらに備える、請求項1〜3のいずれかに記載の方法。
  5. 前記第2の状態が存在すると前記判断することは、前記第1のグループの不揮発性記憶素子の少なくとも所定量の不揮発性記憶素子を決定することを備え、
    1つ以上のデータ状態のサブセットにプログラムされるべき前記第2のグループの不揮発性記憶素子は、1つ以上のデータ状態の前記サブセットへのプログラムが成功している、請求項4に記載の方法。
  6. 前記第2の状態が存在すると判断することは、所定量のプログラミングが実施されていると判断することを備える、請求項4に記載の方法。
  7. 前記第2の状態が存在するとの判断に応じて、前記プログラミング信号は、プログラム−検証の複数回の反復にわたって上昇される、請求項1〜6のいずれかに記載の方法。
  8. 第1の状態が存在するとの前記判断の前に、前記プログラミング信号は特定の割合で増加している振幅を有しており、
    前記プログラミング信号を前記上昇させることは、前記プログラミング信号を、前記第1の状態が存在するとの判断に応じて前記プログラミング信号が低下されなかった場合おける前記プログラミング信号の振幅に基づいた値まで上昇させることを備える、請求項7に記載の方法。
  9. 前記プログラミング信号は特定の割合で増加している振幅を有している前記第1の状態が存在するとの前記判断の前に、前記第2の状態が存在すると判断することと、
    前記第2の状態が存在するとの判断に応じて、前記プログラミング信号を、前記第1の状態が存在するとの判断に応じて前記プログラミング信号が低下されなかった場合における前記プログラミング信号の振幅に基づいた値まで上昇させることと、
    前記第2の状態が存在するとの判断に応じて前記上昇されたプログラミング信号を用いて、前記第1のグループの不揮発性記憶素子および前記第2のグループの不揮発性記憶素子を同時にプログラムして同時に検証することと、
    をさらに備える、請求項1〜3のいずれかに記載の方法。
  10. 前記第1の状態が存在すると前記判断することは、前記第1のグループの不揮発性記憶素子の少なくとも所定量の不揮発性記憶素子を決定することを備え、
    特定の組の1つ以上のデータ状態にプログラムされるべき前記第2のグループの不揮発性記憶素子は、前記特定の組の1つ以上のデータ状態へのプログラムが成功しており、
    前記第1のグループの不揮発性記憶素子および前記第2のグループの不揮発性記憶素子は、データ状態のグループにプログラムされており、
    前記特定の組の1つ以上のデータ状態は、前記消去された状態に最も近いデータ状態の前記グループのサブセットである、
    請求項1〜9のいずれかに記載の方法。
  11. 第1のグループの不揮発性記憶素子および第2のグループの不揮発性記憶素子を含む複数の不揮発性記憶素子と、
    前記不揮発性記憶素子と通信する1つ以上の管理回路と、を備え、
    前記1つ以上の管理回路は、プログラミング信号を用いて前記第1のグループの不揮発性記憶素子および前記前記第2のグループの不揮発性記憶素子を同時にプログラムして同時に検証し、
    第1の状態が存在すると判断する前記1つ以上の管理回路は、第1の状態が存在するとの判断に応じてプログラミング信号を低下させ、
    前記1つ以上の管理回路は、前記第1の状態が存在するとの判断に応じて前記低下されたプログラミング信号を用いて、第1のグループの不揮発性記憶素子を第2のグループの不揮発性記憶素子のプログラミングとは別にプログラムする、不揮発性記憶装置。
  12. 前記第1のグループの不揮発性記憶素子および前記第2のグループの不揮発性記憶素子は、共通制御ラインに接続され、前記プログラミング信号を前記共通制御ライン上で受け取る、請求項11に記載の装置。
  13. 前記第1のグループの不揮発性記憶素子および前記第2のグループの不揮発性記憶素子は、多状態不揮発性記憶素子である、請求項11または12に記載の装置。
  14. 前記1つ以上の管理回路は、前記第1の状態が存在すると判断した後、前記第1のグループの不揮発性記憶素子を前記第2のグループの不揮発性記憶素子とともに検証する、請求項11、12、または13に記載の装置。
  15. 前記1つ以上の管理回路は、第2の状態が存在すると判断し、
    前記1つ以上の管理回路は、第2の状態が存在するとの判断に応じて前記プログラミング信号を用いて、前記第1のグループの不揮発性記憶素子および前記第2のグループの不揮発性記憶素子を同時にプログラムして同時に検証する、請求項11〜14のいずれかに記載の装置。
  16. 前記1つ以上の管理回路は、前記第2の状態が存在するとの判断に応じて前記プログラミング信号を上昇させる、請求項15に記載の装置。
  17. 前記1つ以上の管理回路は、前記第2の状態が存在するとの判断に応じて、プログラム−検証の複数回の反復にわたって前記プログラミング信号を上昇させる、請求項16に記載の装置。
  18. 第1の状態が存在するとの前記判断の前に、前記プログラミング信号は、特定の割合で増加している振幅を有しており、
    前記1つ以上の管理回路は、前記プログラミング信号を、前記第1の状態が存在するとの判断に応じて前記プログラミング信号が低下されなかった場合における前記プログラミング信号の振幅に基づいた値まで上昇させる、
    請求項17に記載の装置。
  19. 前記1つ以上の管理回路は、第2の状態が存在すると判断し、
    前記第1の状態が存在するとの前記判断の前に、前記プログラミング信号は特定の割合で増加している振幅を有しており、
    前記1つ以上の管理回路は、前記第2の状態が存在するとの判断に応じて、前記プログラミング信号を、前記第1の状態が存在するとの判断に応じて前記プログラミング信号が低下されなかった場合における前記プログラミング信号の振幅に基づいてある値まで上昇させ、
    前記1つ以上の管理回路は、前記第2の状態が存在するとの判断に応じて前記上昇されたプログラミング信号を用いて、前記第1のグループの不揮発性記憶素子および前記第2のグループの不揮発性記憶素子を同時にプログラムして同時に検証する、請求項11に記載の装置。
JP2013505158A 2010-04-18 2011-04-14 他のメモリセルからの影響の緩和することを含む不揮発性記憶装置のプログラミング Withdrawn JP2013525935A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/762,342 2010-04-18
US12/762,342 US8218366B2 (en) 2010-04-18 2010-04-18 Programming non-volatile storage including reducing impact from other memory cells
PCT/US2011/032575 WO2011133404A1 (en) 2010-04-18 2011-04-14 Programming non-volatile storage includng reducing impact from other memory cells

Publications (1)

Publication Number Publication Date
JP2013525935A true JP2013525935A (ja) 2013-06-20

Family

ID=44120993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013505158A Withdrawn JP2013525935A (ja) 2010-04-18 2011-04-14 他のメモリセルからの影響の緩和することを含む不揮発性記憶装置のプログラミング

Country Status (7)

Country Link
US (2) US8218366B2 (ja)
EP (1) EP2561511B1 (ja)
JP (1) JP2013525935A (ja)
KR (1) KR101736414B1 (ja)
CN (1) CN102985976B (ja)
TW (1) TW201203258A (ja)
WO (1) WO2011133404A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020187817A (ja) * 2019-05-16 2020-11-19 サンディスク テクノロジーズ エルエルシー メモリセルゆがみの緩和

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8130556B2 (en) * 2008-10-30 2012-03-06 Sandisk Technologies Inc. Pair bit line programming to improve boost voltage clamping
US8218366B2 (en) 2010-04-18 2012-07-10 Sandisk Technologies Inc. Programming non-volatile storage including reducing impact from other memory cells
US8310870B2 (en) * 2010-08-03 2012-11-13 Sandisk Technologies Inc. Natural threshold voltage distribution compaction in non-volatile memory
US8395936B2 (en) * 2011-05-09 2013-03-12 Sandisk Technologies Inc. Using channel-to-channel coupling to compensate floating gate-to-floating gate coupling in programming of non-volatile memory
US9135989B2 (en) * 2012-09-06 2015-09-15 Sandisk Technologies Inc. Write data preservation for non-volatile storage
US8942043B2 (en) * 2013-03-04 2015-01-27 Sandisk Technologies Inc. Non-volatile storage with process that reduces read disturb on end wordlines
US9620238B2 (en) * 2014-01-20 2017-04-11 Sandisk Technologies Llc Methods and systems that selectively inhibit and enable programming of non-volatile storage elements
KR20160005840A (ko) 2014-07-07 2016-01-18 에스케이하이닉스 주식회사 반도체 장치
KR102248835B1 (ko) 2014-09-29 2021-05-10 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 동작 방법
KR20170011641A (ko) * 2015-07-23 2017-02-02 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US9852786B2 (en) 2015-10-21 2017-12-26 Toshiba Memory Corporation Semiconductor memory device that varies voltage levels depending on which of different memory regions thereof is accessed
US9489990B1 (en) * 2015-11-17 2016-11-08 Atmel Corporation Adaptive non-volatile memory programming
US10290346B2 (en) * 2016-12-22 2019-05-14 Western Digital Technologies, Inc. Method and apparatus for low-latency read of flash storage devices using fractional bits per cell
KR102267046B1 (ko) 2017-03-29 2021-06-22 삼성전자주식회사 스토리지 장치 및 배드 블록 지정 방법
US10365854B1 (en) * 2018-03-19 2019-07-30 Micron Technology, Inc. Tracking data temperatures of logical block addresses
KR102469098B1 (ko) * 2018-03-21 2022-11-23 에스케이하이닉스 주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 이를 포함하는 데이터 저장 장치
US10607709B1 (en) * 2018-09-13 2020-03-31 Toshiba Memory Corporation System and method for efficient read-flow by inter-cell interference decoupling for NAND flash memories
CN109800876B (zh) * 2019-01-18 2021-06-01 合肥恒烁半导体有限公司 一种基于NOR Flash模块的神经网络的数据运算方法
US11081198B2 (en) 2019-05-16 2021-08-03 Sandisk Technologies Llc Non-volatile memory with countermeasure for over programming
US10839928B1 (en) * 2019-05-16 2020-11-17 Sandisk Technologies Llc Non-volatile memory with countermeasure for over programming
US11263078B2 (en) * 2019-12-31 2022-03-01 Micron Technology, Inc. Apparatuses, systems, and methods for error correction
US11437092B2 (en) 2020-05-27 2022-09-06 Taiwan Semiconductor Manufacturing Company, Ltd. Systems and methods to store multi-level data
TWI784515B (zh) 2020-05-27 2022-11-21 台灣積體電路製造股份有限公司 記憶體系統以及操作記憶體系統的方法
KR20220030092A (ko) * 2020-09-02 2022-03-10 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
CN112908392B (zh) * 2021-02-09 2023-09-15 东芯半导体股份有限公司 控制非易失性存储器参数的控制方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5768192A (en) 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
US6768165B1 (en) 1997-08-01 2004-07-27 Saifun Semiconductors Ltd. Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping
US5867429A (en) 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US6522580B2 (en) * 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US7221591B1 (en) 2002-05-06 2007-05-22 Samsung Electronics Co., Ltd. Fabricating bi-directional nonvolatile memory cells
US7196931B2 (en) 2002-09-24 2007-03-27 Sandisk Corporation Non-volatile memory and method with reduced source line bias errors
US7046568B2 (en) 2002-09-24 2006-05-16 Sandisk Corporation Memory sensing circuit and method for low voltage operation
US7327619B2 (en) 2002-09-24 2008-02-05 Sandisk Corporation Reference sense amplifier for non-volatile memory
US6657891B1 (en) 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
US7073103B2 (en) 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US6882567B1 (en) 2002-12-06 2005-04-19 Multi Level Memory Technology Parallel programming of multiple-bit-per-cell memory cells on a continuous word line
US6859397B2 (en) 2003-03-05 2005-02-22 Sandisk Corporation Source side self boosting technique for non-volatile memory
US7237074B2 (en) 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
US6917542B2 (en) 2003-07-29 2005-07-12 Sandisk Corporation Detecting over programmed memory
US6956770B2 (en) 2003-09-17 2005-10-18 Sandisk Corporation Non-volatile memory and method with bit line compensation dependent on neighboring operating modes
US7064980B2 (en) 2003-09-17 2006-06-20 Sandisk Corporation Non-volatile memory and method with bit line coupled compensation
US6888758B1 (en) 2004-01-21 2005-05-03 Sandisk Corporation Programming non-volatile memory
US6937520B2 (en) 2004-01-21 2005-08-30 Tsuyoshi Ono Nonvolatile semiconductor memory device
US7716413B2 (en) 2004-02-15 2010-05-11 Sandisk Il Ltd. Method of making a multi-bit-cell flash memory
JP4405292B2 (ja) 2004-03-22 2010-01-27 パナソニック株式会社 不揮発性半導体記憶装置及びその書き込み方法
US20060140007A1 (en) 2004-12-29 2006-06-29 Raul-Adrian Cernea Non-volatile memory and method with shared processing for an aggregate of read/write circuits
US7212436B2 (en) 2005-02-28 2007-05-01 Micron Technology, Inc. Multiple level programming in a non-volatile memory device
US7187585B2 (en) 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7196928B2 (en) 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
KR100621634B1 (ko) 2005-05-06 2006-09-07 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
JP4282636B2 (ja) 2005-06-22 2009-06-24 株式会社東芝 不揮発性半導体記憶装置とそのデータ書き込み方法
US7023737B1 (en) * 2005-08-01 2006-04-04 Sandisk Corporation System for programming non-volatile memory with self-adjusting maximum program loop
JP4157563B2 (ja) * 2006-01-31 2008-10-01 株式会社東芝 半導体集積回路装置
JP2008084471A (ja) 2006-09-28 2008-04-10 Toshiba Corp 半導体記憶装置
US7580290B2 (en) 2007-06-21 2009-08-25 Sandisk Corporation Non-volatile storage system with intelligent control of program pulse duration
US7630249B2 (en) 2007-06-21 2009-12-08 Sandisk Corporation Intelligent control of program pulse duration
US7869273B2 (en) 2007-09-04 2011-01-11 Sandisk Corporation Reducing the impact of interference during programming
JP2009141225A (ja) * 2007-12-07 2009-06-25 Sharp Corp 可変抵抗素子、可変抵抗素子の製造方法、不揮発性半導体記憶装置
US7826248B2 (en) * 2008-05-20 2010-11-02 Seagate Technology Llc Write verify method for resistive random access memory
US8144511B2 (en) 2009-08-19 2012-03-27 Sandisk Technologies Inc. Selective memory cell program and erase
US8218366B2 (en) 2010-04-18 2012-07-10 Sandisk Technologies Inc. Programming non-volatile storage including reducing impact from other memory cells
US8947908B2 (en) * 2010-11-04 2015-02-03 Crossbar, Inc. Hetero-switching layer in a RRAM device and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020187817A (ja) * 2019-05-16 2020-11-19 サンディスク テクノロジーズ エルエルシー メモリセルゆがみの緩和
US11398285B2 (en) 2019-05-16 2022-07-26 Sandisk Technologies Llc Memory cell mis-shape mitigation

Also Published As

Publication number Publication date
CN102985976A (zh) 2013-03-20
KR20130101976A (ko) 2013-09-16
US8218366B2 (en) 2012-07-10
USRE45910E1 (en) 2016-03-01
EP2561511A1 (en) 2013-02-27
EP2561511B1 (en) 2014-09-03
KR101736414B1 (ko) 2017-05-16
TW201203258A (en) 2012-01-16
WO2011133404A1 (en) 2011-10-27
CN102985976B (zh) 2015-11-25
US20110255345A1 (en) 2011-10-20

Similar Documents

Publication Publication Date Title
JP5216856B2 (ja) プログラムの期間中での干渉の影響の低減
KR101736414B1 (ko) 다른 메모리 셀들로부터의 영향을 감소시키는 것을 포함하는 비휘발성 저장 소자의 프로그래밍
KR102095137B1 (ko) 비-휘발성 메모리에 대한 서브-블록 모드
JP5250117B2 (ja) メモリのための適応消去及びソフトプログラミング
TWI467585B (zh) 以高解析度可變初始程式化脈衝程式化非揮發性記憶體
KR101606168B1 (ko) 프로그램, 검증 및, 읽기를 위한 참조 전압 레벨들의 적응적인 세팅을 갖는 비휘발성 멀티레벨 메모리
KR101688603B1 (ko) 비휘발성 저장 소자에 대한 프로그래밍 완료의 검출
EP2332146B1 (en) Data state-based temperature compensation during sensing in non-volatile memory
EP2286411B1 (en) Erase-verification process for non-volatile storage
TWI480878B (zh) 使用字元線耦合之記憶體之多次程式化
US7835190B2 (en) Methods of erase verification for a flash memory device
TWI389124B (zh) 於非揮發性記憶體中使用不同參考位準以改良感測之粗略/精細程式化確認方法及系統
WO2016089474A1 (en) Partial block erase for data refreshing
WO2014137651A1 (en) Non-volatile storage with process that reduces read disturb on end wordlines
JP2013514601A (ja) 高速ビット検出及び検証スキップを有する不揮発性記憶のプログラミング
KR20130084610A (ko) 동기화된 커플링을 이용한 비휘발성 저장소자의 프로그래밍
WO2007050976A1 (en) Method for programming of multi-state non-volatile memory using smart verify
JP2010530596A (ja) 書き込みパルス持続時間のインテリジェント制御

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140701