[go: up one dir, main page]

JP2021101401A - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP2021101401A
JP2021101401A JP2019232943A JP2019232943A JP2021101401A JP 2021101401 A JP2021101401 A JP 2021101401A JP 2019232943 A JP2019232943 A JP 2019232943A JP 2019232943 A JP2019232943 A JP 2019232943A JP 2021101401 A JP2021101401 A JP 2021101401A
Authority
JP
Japan
Prior art keywords
program
voltage
storage device
semiconductor storage
case
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
JP2019232943A
Other languages
English (en)
Inventor
慎二 鈴木
Shinji Suzuki
慎二 鈴木
安広 志村
Yasuhiro Shimura
安広 志村
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.)
Kioxia Corp
Original Assignee
Kioxia Corp
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 Kioxia Corp filed Critical Kioxia Corp
Priority to JP2019232943A priority Critical patent/JP2021101401A/ja
Priority to CN202010799723.8A priority patent/CN113035252B/zh
Priority to TW109127371A priority patent/TWI736394B/zh
Priority to US17/011,747 priority patent/US11676672B2/en
Publication of JP2021101401A publication Critical patent/JP2021101401A/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/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
    • 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/5671Digital 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 trapping in an insulator
    • 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/08Address circuits; Decoders; Word-line control 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/26Sensing 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/30Power supply 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/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • 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
    • 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/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3486Circuits or methods to prevent overprogramming of nonvolatile memory cells, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming

Landscapes

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

Abstract

【課題】書き込み速度の低下を抑制し且つ閾値分布の広がりと偏りを抑制すること。
【解決手段】実施形態の半導体記憶装置は、複数のメモリセルと、ワード線と、コントローラとを含む。複数のメモリセルの各々は、複数ビットのデータを記憶することが出来る。ワード線は、複数のメモリセルに接続される。コントローラは、複数のプログラムループを含む書き込み動作を実行する。書き込み動作においてコントローラは、初回のプログラムループのプログラム動作において、ワード線に第1プログラム電圧VPGMinitを印加し、2回目のプログラムループのプログラム動作において、第1の場合にワード線に第2プログラム電圧VPGMinit+DVPGM1を印加し、第2の場合にワード線に第3プログラム電圧VPGMinit+DVPGM2を印加する。第1及び第2プログラム電圧の差は、第1及び第3プログラム電圧の差と異なる。
【選択図】図12

Description

実施形態は、半導体記憶装置に関する。
データを不揮発に記憶することが可能なNAND型フラッシュメモリが知られている。
米国特許第9691486号明細書
書き込み速度の低下を抑制し且つ閾値分布の広がりと偏りを抑制すること。
実施形態の半導体記憶装置は、複数のメモリセルと、ワード線と、コントローラとを含む。複数のメモリセルの各々は、複数ビットのデータを記憶することが出来る。ワード線は、複数のメモリセルに接続される。コントローラは、複数のプログラムループを含む書き込み動作を実行する。複数のプログラムループの各々は、プログラム動作とベリファイ動作とを含む。書き込み動作においてコントローラは、初回のプログラムループのプログラム動作において、ワード線に第1プログラム電圧を印加し、2回目のプログラムループのプログラム動作において、第1の場合にワード線に第2プログラム電圧を印加し、第2の場合にワード線に第3プログラム電圧を印加する。第1プログラム電圧と第2プログラム電圧との差は、第1プログラム電圧と第3プログラム電圧との差と異なる。
実施形態に係る半導体記憶装置の構成例を示すブロック図。 実施形態に係る半導体記憶装置が備えるメモリセルアレイの回路構成の一例を示す回路図。 実施形態に係る半導体記憶装置が備えるロウデコーダモジュールの回路構成の一例を示す回路図。 実施形態に係る半導体記憶装置が備えるセンスアンプモジュールの回路構成の一例を示す回路図。 実施形態に係る半導体記憶装置が備えるセンスアンプモジュールに含まれたセンスアンプユニットの回路構成の一例を示す回路図。 実施形態に係る半導体記憶装置においてメモリセルトランジスタに適用されるデータの割り付けの一例を示す概略図。 実施形態に係る半導体記憶装置の書き込み動作の流れの概要を示すタイミングチャート。 実施形態に係る半導体記憶装置の書き込み動作における初回のプログラムループによるメモリセルトランジスタの閾値分布の変化の一例を示す閾値分布図。 実施形態に係る半導体記憶装置の書き込み動作の流れの具体例を示すフローチャート。 実施形態に係る半導体記憶装置の書き込み動作におけるセル疲弊が低い場合の処理の一例を示すタイミングチャート。 実施形態に係る半導体記憶装置の書き込み動作におけるセル疲弊が低い場合のメモリセルトランジスタの閾値分布の変化の一例を示す閾値分布図。 実施形態に係る半導体記憶装置の書き込み動作におけるセル疲弊が高い場合の処理の一例を示すタイミングチャート。 実施形態に係る半導体記憶装置の書き込み動作におけるセル疲弊が高い場合のメモリセルトランジスタの閾値分布の変化の一例を示す閾値分布図。 実施形態の比較例に係る半導体記憶装置におけるメモリセルトランジスタの閾値分布の一例を示す閾値分布図。 実施形態に係る半導体記憶装置におけるメモリセルトランジスタの閾値分布の一例を示す閾値分布図。 実施形態の第1変形例に係る半導体記憶装置の書き込み動作におけるセル疲弊が高い場合の処理の一例を示すタイミングチャート。 実施形態の第2変形例に係る半導体記憶装置の書き込み動作におけるセル疲弊が高い場合の処理の一例を示すタイミングチャート。 実施形態の第3変形例に係る半導体記憶装置の書き込み動作の一例を示すフローチャート。 実施形態の第3変形例に係る半導体記憶装置の書き込み動作におけるセル疲弊が高い場合の処理の一例を示すタイミングチャート。 実施形態の第4変形例に係る半導体記憶装置の書き込み動作の一例を示すフローチャート。 実施形態の第4変形例に係る半導体記憶装置の書き込み動作におけるセル疲弊が高い場合の処理の一例を示すタイミングチャート。 実施形態に係る半導体記憶装置の書き込み動作におけるセル疲弊が高い場合のベリファイ電圧の一例を示す概略図。
以下に、実施形態について図面を参照して説明する。各実施形態は、発明の技術的思想を具体化するための装置や方法を例示している。図面は模式的又は概念的なものであり、各図面の寸法及び比率等は必ずしも現実のものと同一とは限らない。本発明の技術的思想は、構成要素の形状、構造、配置等によって特定されるものではない。
尚、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付す。参照符号を構成する文字の後の数字は、同じ文字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために使用される。同じ文字を含んだ参照符号で示される要素を相互に区別する必要がない場合、これらの要素はそれぞれ文字のみを含んだ参照符号により参照される。
[1]実施形態
以下に、実施形態に係る半導体記憶装置1について説明する。
[1−1]半導体記憶装置1の構成
[1−1−1]半導体記憶装置1の全体構成
図1は、実施形態に係る半導体記憶装置1の構成例を示している。半導体記憶装置1は、データを不揮発に記憶することが可能なNAND型フラッシュメモリであり、外部のメモリコントローラ2によって制御可能である。図1に示すように、半導体記憶装置1は、例えばメモリセルアレイ10、コマンドレジスタ11、アドレスレジスタ12、シーケンサ13、ドライバモジュール14、ロウデコーダモジュール15、並びにセンスアンプモジュール16を備えている。
メモリセルアレイ10は、複数のブロックBLK0〜BLKn(nは1以上の整数)を含んでいる。ブロックBLKは、データを不揮発に記憶することが可能な複数のメモリセルの集合を含み、例えばデータの消去単位として使用される。また、メモリセルアレイ10には、複数のビット線及び複数のワード線が設けられる。各メモリセルは、例えば1本のビット線と1本のワード線とに関連付けられている。メモリセルアレイ10の詳細な構成については後述する。
コマンドレジスタ11は、半導体記憶装置1がメモリコントローラ2から受信したコマンドCMDを保持する。コマンドCMDは、例えばシーケンサ13に読み出し動作、書き込み動作、消去動作等を実行させる命令を含んでいる。
アドレスレジスタ12は、半導体記憶装置1がメモリコントローラ2から受信したアドレス情報ADDを保持する。アドレス情報ADDは、例えばブロックアドレスBAd、ページアドレスPAd、及びカラムアドレスCAdを含んでいる。例えば、ブロックアドレスBAd、ページアドレスPAd、及びカラムアドレスCAdは、それぞれブロックBLK、ワード線、及びビット線の選択に使用される。
シーケンサ13は、半導体記憶装置1全体の動作を制御する。例えば、シーケンサ13は、コマンドレジスタ11に保持されたコマンドCMDに基づいてドライバモジュール14、ロウデコーダモジュール15、及びセンスアンプモジュール16等を制御して、読み出し動作、書き込み動作、消去動作等を実行する。
ドライバモジュール14は、読み出し動作、書き込み動作、消去動作等で使用される電圧を生成する。そして、ドライバモジュール14は、例えばアドレスレジスタ12に保持されたページアドレスPAdに基づいて、選択されたワード線に対応する信号線に生成した電圧を印加する。
ロウデコーダモジュール15は、アドレスレジスタ12に保持されたブロックアドレスBAdに基づいて、対応するメモリセルアレイ10内の1つのブロックBLKを選択する。そして、ロウデコーダモジュール15は、例えば選択されたワード線に対応する信号線に印加された電圧を、選択されたブロックBLK内の選択されたワード線に転送する。
センスアンプモジュール16は、書き込み動作において、メモリコントローラ2から受信した書き込みデータDATに応じて、各ビット線に所望の電圧を印加する。また、センスアンプモジュール16は、読み出し動作において、ビット線の電圧に基づいてメモリセルに記憶されたデータを判定し、判定結果を読み出しデータDATとしてメモリコントローラ2に転送する。
半導体記憶装置1とメモリコントローラ2との間の通信は、例えばNANDインターフェイス規格をサポートしている。例えば、半導体記憶装置1とメモリコントローラ2との間の通信では、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、リードイネーブル信号REn、レディビジー信号RBn、及び入出力信号I/Oが使用される。
コマンドラッチイネーブル信号CLEは、半導体記憶装置1が受信した入出力信号I/OがコマンドCMDであることを示す信号である。アドレスラッチイネーブル信号ALEは、半導体記憶装置1が受信した入出力信号I/Oがアドレス情報ADDであることを示す信号である。ライトイネーブル信号WEnは、入出力信号I/Oの入力を半導体記憶装置1に命令する信号である。リードイネーブル信号REnは、入出力信号I/Oの出力を半導体記憶装置1に命令する信号である。レディビジー信号RBnは、半導体記憶装置1がレディ状態及びビジー状態のいずれであるかをメモリコントローラ2に通知する信号である。レディ状態は半導体記憶装置1が命令を受け付ける状態であり、ビジー状態は半導体記憶装置1が、命令を受け付けない状態である。入出力信号I/Oは、例えば8ビット幅の信号であり、コマンドCMD、アドレス情報ADD、データDAT等を含み得る。
以上で説明した半導体記憶装置1及びメモリコントローラ2は、それらの組み合わせにより1つの半導体装置を構成しても良い。このような半導体装置としては、例えばSDTMカードのようなメモリカードや、SSD(solid state drive)等が挙げられる。
[1−1−2]半導体記憶装置1の回路構成
(メモリセルアレイ10の回路構成について)
図2は、実施形態に係る半導体記憶装置1が備えるメモリセルアレイ10の回路構成の一例を、メモリセルアレイ10に含まれた複数のブロックBLKのうち1つのブロックBLKを抽出して示している。図2に示すように、ブロックBLKは、例えば4つのストリングユニットSU0〜SU3を含んでいる。
各ストリングユニットSUは、ビット線BL0〜BLm(mは1以上の整数)にそれぞれ関連付けられた複数のNANDストリングNSを含んでいる。各NANDストリングNSは、例えばメモリセルトランジスタMT0〜MT7、並びに選択トランジスタST1及びST2を含んでいる。メモリセルトランジスタMTは、制御ゲート及び電荷蓄積層を含み、データを不揮発に保持する。選択トランジスタST1及びST2のそれぞれは、各種動作時におけるストリングユニットSUの選択に使用される。
各NANDストリングNSにおいて、メモリセルトランジスタMT0〜MT7は、直列接続される。選択トランジスタST1のドレインは、関連付けられたビット線BLに接続され、選択トランジスタST1のソースは、直列接続されたメモリセルトランジスタMT0〜MT7の一端に接続される。選択トランジスタST2のドレインは、直列接続されたメモリセルトランジスタMT0〜MT7の他端に接続される。選択トランジスタST2のソースは、ソース線SLに接続される。
同一のブロックBLKにおいて、メモリセルトランジスタMT0〜MT7の制御ゲートは、それぞれワード線WL0〜WL7に共通接続される。ストリングユニットSU0〜SU3内のそれぞれの選択トランジスタST1のゲートは、それぞれ選択ゲート線SGD0〜SGD3に共通接続される。同一のブロックBLKに含まれた選択トランジスタST2のゲートは、選択ゲート線SGSに共通接続される。
以上で説明されたメモリセルアレイ10の回路構成において、ビット線BLは、各ストリングユニットSUで同一のカラムアドレスが割り当てられたNANDストリングNSによって共有される。ソース線SLは、例えば複数のブロックBLK間で共有される。
1つのストリングユニットSU内で共通のワード線WLに接続された複数のメモリセルトランジスタMTの集合は、例えばセルユニットCUと称される。例えば、それぞれが1ビットデータを記憶するメモリセルトランジスタMTを含むセルユニットCUの記憶容量が、「1ページデータ」として定義される。セルユニットCUは、メモリセルトランジスタMTが記憶するデータのビット数に応じて、2ページデータ以上の記憶容量を有し得る。
尚、実施形態に係る半導体記憶装置1が備えるメモリセルアレイ10の回路構成は、以上で説明した構成に限定されない。例えば、各ブロックBLKが含むストリングユニットSUの個数や、各NANDストリングNSが含むメモリセルトランジスタMT並びに選択トランジスタST1及びST2の個数は、それぞれ任意の個数でも良い。
(ロウデコーダモジュール15の回路構成について)
図3は、実施形態に係る半導体記憶装置1の備えるロウデコーダモジュール15の回路構成の一例を示している。図3に示すように、ロウデコーダモジュール15は、例えばロウデコーダRD0〜RDnを含み、信号線CG0〜CG7、SGDD0〜SGDD3、SGSD、USGD、及びUSGSを介してドライバモジュール14に接続される。
以下に、ブロックBLK0に対応するロウデコーダRD0に注目して、ロウデコーダRDの詳細な回路構成について説明する。ロウデコーダRDは、例えばブロックデコーダBD、転送ゲート線TG及びbTG、並びにトランジスタTR0〜TR17を含んでいる。
ブロックデコーダBDは、ブロックアドレスBAdをデコードする。そして、ブロックデコーダBDは、デコード結果に基づいて転送ゲート線TG及びbTGのそれぞれに所定の電圧を印加する。転送ゲート線TGに印加される電圧と転送ゲート線bTGに印加される電圧とは、相補的な関係にある。言い換えると、転送ゲート線bTGには、転送ゲート線TGの反転信号が入力される。
トランジスタTR0〜TR17のそれぞれは、高耐圧なN型のMOSトランジスタである。トランジスタTR0〜TR12のそれぞれのゲートは、転送ゲート線TGに共通接続される。トランジスタTR13〜TR17のそれぞれのゲートは、転送ゲート線bTGに共通接続される。また、各トランジスタTRは、ドライバモジュール14から配線された信号線と、対応するブロックBLKに設けられた配線との間に接続される。
具体的には、トランジスタTR0のドレインは、信号線SGSDに接続される。トランジスタTR0のソースは、選択ゲート線SGSに接続される。トランジスタTR1〜TR8のそれぞれのドレインは、それぞれ信号線CG0〜CG7に接続される。トランジスタTR1〜TR8のそれぞれのソースは、それぞれワード線WL0〜WL7に接続される。トランジスタTR9〜TR12のそれぞれのドレインは、それぞれ信号線SGDD0〜SGDD3に接続される。トランジスタTR9〜TR12のそれぞれのソースは、それぞれ選択ゲート線SGD0〜SGD3に接続される。トランジスタTR13のドレインは、信号線USGSに接続される。トランジスタTR13のソースは、選択ゲート線SGSに接続される。トランジスタTR14〜TR17のそれぞれのドレインは、信号線USGDに共通接続される。トランジスタTR14〜TR17のそれぞれのソースは、それぞれ選択ゲート線SGD0〜SGD3に接続される。
つまり、信号線CG0〜CG7は、複数のブロックBLK間で共有されたグローバルワード線として使用され、ワード線WL0〜WL7は、ブロック毎に設けられたローカルワード線として使用される。また、信号線SGDD0〜SGDD3並びにSGSDは、複数のブロックBLK間で共有されたグローバル転送ゲート線として使用され、選択ゲート線SGD0〜SGD3並びにSGSは、ブロック毎に設けられたローカル転送ゲート線として使用される。
以上の構成によりロウデコーダモジュール15は、ブロックBLKを選択することが出来る。具体的には、各種動作時において、選択されたブロックBLKに対応するブロックデコーダBDは、“H”レベル及び“L”レベルの電圧をそれぞれ転送ゲート線TG及びbTGに印加し、非選択のブロックBLKに対応するブロックデコーダBDは、“L”レベル及び“H”レベルの電圧をそれぞれ転送ゲート線TG及びbTGに印加する。
尚、以上で説明したロウデコーダモジュール15の回路構成はあくまで一例であり、適宜変更され得る。例えば、ロウデコーダモジュール15が含むトランジスタTRの個数は、各ブロックBLKに設けられる配線の本数に基づいた個数に設計される。
(センスアンプモジュール16の回路構成について)
図4は、実施形態に係る半導体記憶装置1が備えるセンスアンプモジュール16の回路構成の一例を示している。図4に示すように、各センスアンプユニットSAUは、例えばビット線接続部BLHU、センスアンプ部SA、論理回路LC、並びにラッチ回路SDL、ADL、BDL、CDL、及びXDLを含んでいる。
ビット線接続部BLHUは、関連付けられたビット線BLとセンスアンプ部SAとの間に接続された高耐圧のトランジスタを含む。センスアンプ部SA、論理回路LC、並びにラッチ回路SDL、ADL、BDL、CDL、及びXDLは、バスLBUSに共通接続される。ラッチ回路SDL、ADL、BDL、CDL、及びXDLは、互いにデータを送受信することが出来る。
各センスアンプ部SAには、例えばシーケンサ13によって生成された制御信号STBが入力される。そして、センスアンプ部SAは、制御信号STBがアサートされたタイミングに基づいて、関連付けられたビット線BLに読み出されたデータが“0”であるか“1”であるかを判定する。つまり、センスアンプ部SAは、ビット線BLの電圧に基づいて、選択されたメモリセルの記憶するデータを判定する。
論理回路LCは、共通のバスLBUSに接続されたラッチ回路SDL、ADL、BDL、CDL、及びXDLに保持されたデータを用いて様々な論理演算を実行する。具体的には、論理回路LCは、2個のラッチ回路に保持されたデータを用いて、AND演算、OR演算、NAND演算、NOR演算、EXNOR演算等を実行することが出来る。
ラッチ回路SDL、ADL、BDL、CDL、及びXDLのそれぞれは、データを一時的に保持する。ラッチ回路XDLは、半導体記憶装置1の入出力回路とセンスアンプユニットSAUとの間のデータDATの入出力に使用される。また、ラッチ回路XDLは、例えば半導体記憶装置1のキャッシュメモリとしても使用され得る。半導体記憶装置1は、少なくともラッチ回路XDLが空いていればレディ状態になることが出来る。
図5は、実施形態に係る半導体記憶装置1におけるセンスアンプユニットSAUの回路構成の一例を示している。図5に示すように、例えば、センスアンプ部SAはトランジスタ20〜27並びにキャパシタ28を含み、ビット線接続部BLHUはトランジスタ29を含んでいる。トランジスタ20は、P型のMOSトランジスタである。トランジスタ21〜27のそれぞれは、N型のMOSトランジスタである。トランジスタ29は、トランジスタ20〜27のそれぞれよりも高耐圧なN型のMOSトランジスタである。
トランジスタ20のソースは、電源線に接続される。トランジスタ20のドレインは、ノードND1に接続される。トランジスタ20のゲートは、例えばラッチ回路SDL内のノードSINVに接続される。トランジスタ21のドレインは、ノードND1に接続される。トランジスタ21のソースは、ノードND2に接続される。トランジスタ21のゲートには、制御信号BLXが入力される。トランジスタ22のドレインは、ノードND1に接続される。トランジスタ22のソースは、ノードSENに接続される。トランジスタ22のゲートには、制御信号HLLが入力される。
トランジスタ23のドレインは、ノードSENに接続される。トランジスタ23のソースは、ノードND2に接続される。トランジスタ23のゲートには、制御信号XXLが入力される。トランジスタ24のドレインは、ノードND2に接続される。トランジスタ24のゲートには、制御信号BLCが入力される。トランジスタ25のドレインは、ノードND2に接続される。トランジスタ25のソースは、ノードSRCに接続される。トランジスタ25のゲートは、例えばラッチ回路SDL内のノードSINVに接続される。
トランジスタ26のソースは、接地される。トランジスタ26のゲートは、ノードSENに接続される。トランジスタ27のドレインは、バスLBUSに接続される。トランジスタ27のソースは、トランジスタ26のドレインに接続される。トランジスタ27のゲートには、制御信号STBが入力される。キャパシタ28の一方電極は、ノードSENに接続される。キャパシタ28の他方電極には、クロックCLKが入力される。
トランジスタ29のドレインは、トランジスタ24のソースに接続される。トランジスタ29のソースは、ビット線BLに接続される。トランジスタ29のゲートには、制御信号BLSが入力される。
ラッチ回路SDLは、例えばインバータ30及び31、並びにN型のMOSトランジスタ32及び33を含んでいる。インバータ30の入力ノードはノードSLATに接続され、インバータ30の出力ノードはノードSINVに接続される。インバータ31の入力ノードはノードSINVに接続され、インバータ31の出力ノードはノードSLATに接続される。トランジスタ32の一端はノードSINVに接続され、トランジスタ32の他端はバスLBUSに接続され、トランジスタ32のゲートには制御信号STIが入力される。トランジスタ33の一端はノードSLATに接続され、トランジスタ33の他端はバスLBUSに接続され、トランジスタ33のゲートには制御信号STLが入力される。例えば、ノードSLATにおいて保持されるデータがラッチ回路SDLに保持されるデータに相当し、ノードSINVにおいて保持されるデータはノードSLATに保持されるデータの反転データに相当する。
ラッチ回路ADL、BDL、CDL、及びXDLの回路構成は、例えばラッチ回路SDLの回路構成と同様である。例えば、ラッチ回路ADLは、ノードALATにおいてデータを保持し、ノードAINVにおいてその反転データを保持する。また、例えば、ラッチ回路ADLのトランジスタ32のゲートには制御信号ATIが入力され、ラッチ回路ADLのトランジスタ33のゲートには制御信号ATLが入力される。ラッチ回路BDL、CDL、及びXDLの説明は省略する。
以上で説明したセンスアンプユニットSAUの回路構成において、トランジスタ20のソースに接続された電源線には、例えば電源電圧VDDが印加される。ノードSRCには、例えば接地電圧VSSが印加される。制御信号BLX、HLL、XXL、BLC、STB、及びBLS、並びにクロックCLKのそれぞれは、例えばシーケンサ13によって生成される。
尚、実施形態に係る半導体記憶装置1が備えるセンスアンプモジュール16は、以上で説明した回路構成に限定されない。例えば、各センスアンプユニットSAUが備えるラッチ回路の個数は、1つのセルユニットCUが記憶するページ数に基づいて適宜変更され得る。センスアンプユニットSAU内の論理回路LCは、センスアンプユニットSAU内のラッチ回路のみで論理演算を実行することが可能であれば省略されても良い。
[1−1−3]データの記憶方式について
実施形態に係る半導体記憶装置1では、1つのメモリセルトランジスタMTが記憶することが可能なデータのビット数に応じて、閾値分布が複数設定される。各メモリセルトランジスタMTの閾値電圧は、書き込まれるデータの種類に応じて、複数の閾値分布のうちいずれかの領域に配置される。以下では、互いに異なるデータが割り当てられた複数の閾値分布の各々のことを、“ステート”と呼ぶ
図6は、実施形態に係る半導体記憶装置1におけるメモリセルトランジスタMTの閾値分布、読み出し電圧、及びベリファイ電圧の一例を示している。尚、以下で参照される閾値分布図において、縦軸のNMTsはメモリセルトランジスタMTの個数に対応し、横軸のVthはメモリセルトランジスタMTの閾値電圧に対応している。
図6に示すように、実施形態に係る半導体記憶装置1では、例えば複数のメモリセルトランジスタMTによって8種類の閾値分布が形成される。この8種類の閾値分布は、例えば、閾値電圧の低い方から順に、それぞれ“Er”ステート、“A”ステート、“B”ステート、“C”ステート、“D”ステート、“E”ステート、“F”ステート、“G”ステートと呼ばれる。“Er”ステートは、メモリセルトランジスタMTの消去状態に対応している。“A”ステート〜“G”ステートのそれぞれは、メモリセルトランジスタMTにデータが書き込まれた状態に対応している。
そして、“Er”ステート〜“G”ステートのそれぞれには、互いに異なる3ビットデータが割り当てられ、隣り合う2つのステート間では1ビットデータのみが異なるように設定される。このように、1つのメモリセルトランジスタに対して3ビットデータを記憶させる方法は、例えばTLC(Triple-Level Cell)方式と呼ばれる。以下に、8種類の閾値分布に対するデータの割り付けの一例を羅列する。
“Er”ステート:“111(上位ビット/中位ビット/下位ビット)”データ
“A”ステート:“110”データ
“B”ステート:“100”データ
“C”ステート:“000”データ
“D”ステート:“010”データ
“E”ステート:“011”データ
“F”ステート:“001”データ
“G”ステート:“101”データ。
隣り合うステート間のそれぞれには、書き込み動作で使用されるベリファイ電圧が設定される。具体的には、ベリファイ電圧AVが“Er”ステートと“A”ステートとの間に設定され、ベリファイ電圧BVが“A”ステートと“B”ステートとの間に設定され、ベリファイ電圧CVが“B”ステートと“C”ステートとの間に設定され、ベリファイ電圧DVが“C”ステートと“D”ステートとの間に設定され、ベリファイ電圧EVが“D”ステートと“E”ステートとの間に設定され、ベリファイ電圧FVが“E”ステートと“F”ステートとの間に設定され、ベリファイ電圧GVが“F”ステートと“G”ステートとの間に設定される。書き込み動作において半導体記憶装置1は、あるデータを記憶させるメモリセルトランジスタMTの閾値電圧が当該データに対応するベリファイ電圧を超えたことを検知すると、当該メモリセルトランジスタMTに対するプログラムを完了する。
また、隣り合うステート間のそれぞれには、読み出し動作で使用される読み出し電圧が設定される。具体的には、“Er”ステートと“A”ステートとの間に読み出し電圧ARが設定され、“A”ステートと“B”ステートとの間に読み出し電圧BRが設定され、“B”ステートと“C”ステートとの間に読み出し電圧CRが設定され、“C”ステートと“D”ステートとの間に読み出し電圧DRが設定され“D”ステートと“E”ステートとの間に読み出し電圧ERが設定され“E”ステートと“F”ステートとの間に読み出し電圧FRが設定され“F”ステートと“G”ステートとの間に読み出し電圧GRが設定される。また、“G”ステートよりも高い電圧に、読み出しパス電圧VREADが設定される。
読み出し電圧AR、BR、CR、DR、ER、FR、及びGRは、それぞれ“Er”ステートと“A”ステート以上との区別と、“A”ステート以下と“B”ステート以上との区別と、“B”ステート以下と“C”ステート以上との区別と、“C”ステート以下と“D”ステート以上との区別と、“D”ステート以下と“E”ステート以上との区別と、“E”ステート以下と“F”ステート以上との区別と、“F”ステート以下と“G”ステート以上との区別と、に使用される。ゲートに読み出しパス電圧VREADが印加されたメモリセルトランジスタMTは、記憶するデータに依らずにオン状態になる。読み出し動作において半導体記憶装置1は、読み出し電圧を用いてメモリセルトランジスタMTが分布するステートを判定することによって、読み出しデータを確定させる。
例えば、図6に示されたデータの割り付けが適用された場合、下位ビットで構成される1ページデータ(下位ページデータ)は、読み出し電圧AR及びERのそれぞれを用いた読み出し動作によって確定する。中位ビットで構成される1ページデータ(中位ページデータ)は、読み出し電圧BR、DR及びFRのそれぞれを用いた読み出し動作によって確定する。上位ビットで構成される1ページデータ(上位ページデータ)は、読み出し電圧CR及びGRのそれぞれを用いた読み出し動作によって確定する。複数の読み出し電圧が使用されるページの読み出し動作では、論理回路LCが演算処理を適宜実行する。
尚、以上で説明した1つのメモリセルトランジスタMTが記憶するデータのビット数は一例であり、これに限定されない。例えば、メモリセルトランジスタMTには、1ビット、2ビット、又は4ビット以上のデータが記憶されても良い。半導体記憶装置1では、メモリセルトランジスタMTが記憶するビット数に応じて、形成される閾値分布の数や、読み出し電圧、読み出しパス電圧、ベリファイ電圧等が適宜設定され得る。
[1−2]半導体記憶装置1の動作
次に、実施形態に係る半導体記憶装置の動作について説明する。以下の説明では、選択されたワード線WLのことをWLselと呼ぶ。ワード線WLに電圧が印加されることは、ドライバモジュール14が信号線CG及びロウデコーダモジュール15を介して当該配線に電圧を印加することに対応している。
[1−2−1]書き込み動作の概要
まず、実施形態に係る半導体記憶装置1における書き込み動作の概要について説明する。図7は、第1実施形態に係る半導体記憶装置1における書き込み動作の流れの概要の一例を示している。図7に示すように、半導体記憶装置1は、書き込み動作においてプログラムループを繰り返し実行する。本例における書き込み動作は、N回(Nは2以上の整数)のプログラムループを含んでいる。書き込み動作におけるプログラムループの回数は、メモリセルトランジスタMTの疲弊状態(以下、セル疲弊と呼ぶ)に応じて変わり得る。プログラムループは、プログラム動作(“Program”)とベリファイ動作(“Verify”)とを含んでいる。以下に、プログラム動作とベリファイ動作とについて簡潔に説明する。
プログラム動作は、メモリセルトランジスタMTの閾値電圧を上昇させる動作である。プログラム動作において、選択されたセルユニットCU内のメモリセルトランジスタMTは、センスアンプユニットSAU内に保持された書き込みデータに基づいて、プログラム対象(program-target)又はプログラム禁止(program-inhibit)に設定される。具体的には、センスアンプユニットSAU内で保持された書き込みデータに対応するステート(以下、書き込みステートと呼ぶ)の閾値電圧に到達していないメモリセルトランジスタMTが、プログラム対象に設定される。一方で、書き込みステートの閾値電圧に到達しているメモリセルトランジスタMTが、プログラム禁止に設定される。
プログラム動作では、ワード線WLselにプログラム電圧VPGMが印加される。プログラム電圧VPGMは、メモリセルトランジスタMTの閾値電圧を上昇させることが可能な高電圧である。ワード線WLselにプログラム電圧VPGMが印加されると、ワード線WLselに接続され且つプログラム対象のビット線BLに接続されたメモリセルトランジスタMTの閾値電圧が上昇する。一方で、ワード線WLselに接続され且つプログラム禁止のビット線BLに接続されたメモリセルトランジスタMTの閾値電圧の上昇は、例えばセルフブースト技術によって抑制される。シーケンサ13は、プログラム動作が終了すると、ベリファイ動作に移行する。
ベリファイ動作では、ベリファイ電圧VCGを用いた読み出し動作が実行される。そして、選択されたセルユニットCU内のメモリセルトランジスタMTの閾値電圧が、書き込みステートの閾値電圧に達したか否かが判定される。ベリファイ電圧VCGは、例えばベリファイ電圧AV〜GVのいずれかに対応している。各センスアンプユニットSAUが閾値電圧の判定に使用するベリファイ電圧VCGは、各センスアンプユニットSAU内のラッチ回路に保持されたデータに基づいて決定される。ベリファイ読み出しによって、書き込みステートの閾値電圧に到達したことが確認されたメモリセルトランジスタMTは、ベリファイにパスしたものと判定される。各センスアンプユニットSAUは、書き込みステートのベリファイ結果を、内部のいずれかのラッチ回路に保持する。
書き込み動作において、プログラム電圧VPGMは、例えばプログラムループが繰り返される度にステップアップされる。つまり、ワード線WLselに印加されるプログラム電圧VPGMは、実行されたプログラムループの回数に応じて高くなる。以下では、プログラム電圧VPGMのステップアップ量のことをステップアップ電圧DVPGMとも呼ぶ。ステップアップ電圧DVPGMは、任意の値に設定され得る。各プログラムループのベリファイ動作において、ベリファイが実行されるステートの種類及び数は、プログラムループの進行に応じて適宜変更され得る。
また、半導体記憶装置1は、プログラムループの後に検出動作(“Detection”)を適宜実行する。検出動作においてシーケンサ13は、ベリファイ動作による読み出し結果に基づいて、書き込みステート毎に書き込みが完了したメモリセルトランジスタMTの数をカウントする。そして、シーケンサ13は、当該ステートの書き込みが完了したか否かを判定する。プログラムループの繰り返しにおいてシーケンサ13は、例えば“A”ステート〜“G”ステートのベリファイにパスしていないメモリセルトランジスタMTの数が所定の数を下回ったことを検知すると、書き込み動作を終了する。
実施形態に係る半導体記憶装置1において、シーケンサ13は、少なくとも初回のプログラムループ(“1st Loop”)と2回目のプログラムループ(“2nd Loop”)との間に検出動作を実行する。そして、シーケンサ13は、初回のプログラムループの後に実行した検出動作の結果に基づいて、2回目以降のプログラムループの処理方法を変更し得る。
ここで、本動作に関連するメモリセルトランジスタMTの特性の一例について、図8を用いて説明する。以下では、初回のプログラムループで使用されるプログラム電圧VPGMのことを、VPGMinitと呼ぶ。図8は、実施形態に係る半導体記憶装置1の書き込み動作における初回のプログラムループによるメモリセルトランジスタMTの閾値分布の変化の一例を示している。図8(1)〜(3)は、書き込み対象のセルユニットCUにおけるセル疲弊が低程度(low)、中程度(middle)、高程度(High)である場合にそれぞれ対応している。また、図8(1)〜(3)のそれぞれは、初回のプログラムループで同じプログラム電圧VPGMinitが使用された場合の閾値電圧の変化を示している。
図8(1)に示すように、プログラム電圧VPGMは、例えばセル疲弊が低程度である場合において、初回のプログラムループによって書き込み対象のメモリセルトランジスタMTの閾値電圧がベリファイ電圧AVを超えて且つ読み出し電圧BRよりも低くなるように設定される。セル疲弊が低程度である場合の閾値電圧の上昇幅(以下、Vthシフトとも呼ぶ)を、“小”と定義する。図8(2)に示すように、セル疲弊が中程度になると、初回のプログラムループによるメモリセルトランジスタMTのVthシフトが大きくなる(Vthシフト:中)。図8(3)に示すように、セル疲弊が高程度になると、メモリセルトランジスタMTのVthシフトがさらに大きくなる(Vthシフト:大)。
このように、プログラム動作におけるメモリセルトランジスタMTのVthシフトは、セル疲弊に応じて変化する。具体的には、セル疲弊が高くなるほど、メモリセルトランジスタMTのVthシフトが大きくなる。
初回のプログラムループにおけるVthシフトが大きくなると、“A”ステート書き込みのメモリセルトランジスタMTにおける過書き込みが、初回のプログラムループによって発生し得る。言い換えると、書き込み対象のメモリセルトランジスタMTの閾値電圧が、初回のプログラムループによって読み出し電圧BRを超える可能性がある。尚、本明細書では、“A”ステート書き込みのメモリセルトランジスタMTのうち、例えばベリファイ電圧AVを超えたメモリセルトランジスタMTの個数がある値を超えたときに、過書き込みが発生したものと仮定する。
実施形態に係る半導体記憶装置1は、例えば過書き込みが発生したことを初回のプログラムループの後の検出動作で検出し、2回目以降のプログラムループの処理方法を変更する。図9は、実施形態に係る半導体記憶装置1の書き込み動作におけるフローチャートの一例を示している。図9に示すように、書き込み動作においてシーケンサ13は、ステップS10〜S18の処理を実行し得る。
具体的には、まずシーケンサ13は、初回のプログラムループ(1stプログラムループ)を実行する(ステップS10)。続けて、シーケンサ13は、検出動作を実行する(ステップS11)。次に、シーケンサ13は、検出動作の結果に基づいて、“A”ベリファイにパスしたメモリセルトランジスタMTの数(“A”パスセル数)が、所定の閾値NTを超えたか否かを確認する(ステップS12)。
“A”パスセル数が閾値NT以下である場合(ステップS12、NO)、シーケンサ13は、VPGM=VPGMinit+DVPGM1の処理を実行する。すなわち、プログラム電圧VPGMが、DPVGM1だけステップアップされる(ステップS13)。
一方で、“A”パスセル数が閾値NTを超えている場合(ステップS12、YES)、シーケンサ13は、VPGM=VPGMinit+DVPGM2の処理を実行する。すなわち、プログラム電圧VPGMが、DPVGM2だけステップアップされる(ステップS14)。DVPGM2は、ゼロ以上且つDVPGM1未満の値である。さらに、シーケンサ13は、AV=AVPの処理を実行する。すなわち、“A”ステートのベリファイに使用される電圧が、ベリファイ電圧AVPに設定される(ステップS15)。AVPは、書き込み動作の開始時のベリファイ電圧AVよりも高く且つ読み出し電圧BRよりも低い電圧である。
ステップS13又はS15の処理の後に、シーケンサ13は、2回目のプログラムループ(Nthプログラムループ)を実行する(ステップS16)。そして、シーケンサ13は、全てのステートのベリファイにパスしたか否かを確認する(ステップS17)。
全てのステートのベリファイにパスしていない場合(ステップS17、NO)、シーケンサ13は、VPGM=VPGM(Nth)+DVPGM1の処理を実行する。すなわち、プログラム電圧VPGMがDPVGM1だけステップアップされる(ステップS18)。それから、シーケンサ13は、ステップS16に戻り、ステップS16のプログラムループとステップS17の判定動作とを再度実行する。ステップS17において、全てのステートのベリファイにパスしたことが確認された場合(ステップS17、YES)、シーケンサ13は、書き込み動作を終了する。
尚、ステップS17における判定動作は、検出動作を含んでいる。シーケンサ13は、実行されたプログラムループの回数に応じて、ステップS16の処理の後にステップS18の処理を実行しても良い。言い換えると、シーケンサ13は、所定の回数のプログラムループを実行するまで、検出動作を省略しても良い。また、書き込み動作が終了するトリガーは、ステップS17の処理に限定されない。例えば、シーケンサ13は、プログラムループを所定の回数実行したことに基づいて、書き込み動作を終了しても良い。
[1−2−2]書き込み動作の具体例
以下に、実施形態に係る半導体記憶装置1における書き込み動作の具体例について説明する。具体例としては、ステップS12の処理において“NO”の場合(すなわち、セル疲弊が低い場合)と、ステップS12の処理において“YES”の場合(すなわち、セル疲弊が高い場合)との2条件について順に例示する。
(セル疲弊が低い場合の書き込み動作について)
図10は、実施形態に係る半導体記憶装置1の書き込み動作においてセル疲弊が低い場合の処理の一例であり、初回〜4回目のプログラムループにおいてワード線WLselに印加される電圧を示している。尚、以下では、シーケンサ13が、初回及び2回目のプログラムループにおいて“A”ステートのベリファイを実行し、3回目及び4回目のプログラムループにおいて“A”及び“B”ステートのベリファイを実行するものと仮定する。
図10に示すように、初回のプログラムループ(“1st Loop”)では、ワード線WLselにプログラム電圧VPGMinitとベリファイ電圧AVとが順に印加される。セル疲弊が低い場合、シーケンサ13は、続く検出処理の後にステップS13の処理を実行する。つまり、2回目のプログラムループ(“2nd Loop”)では、ワード線WLselにVPGMinit+DVPGM1とベリファイ電圧AVとが順に印加される。
そして、3回目のプログラムループ(“3rd Loop”)では、ワード線WLselにVPGMinit+DVPGM1*2とベリファイ電圧AV及びBVとが順に印加される。4回目のプログラムループ(“4th Loop”)では、ワード線WLselにVPGMinit+DVPGM1*3とベリファイ電圧AV及びBVとが順に印加される。その後、シーケンサ13は、プログラム電圧がDVPGM1ずつステップアップされたプログラム動作と、書き込み動作の進行に応じたベリファイ動作とを含むプログラムループを適宜実行する。
図11は、実施形態に係る半導体記憶装置1の書き込み動作においてセル疲弊が低い場合のメモリセルトランジスタMTの閾値分布の変化の一例を示している。図11(1)〜(4)は、それぞれ初回〜4回目のプログラムループの直後の閾値分布に対応している。本例では、書き込み対象である複数のメモリセルトランジスタMTの閾値電圧が、初回〜4回目のプログラムループによってベリファイ電圧AVを超えるものと仮定する。
図11(1)に示すように、セル疲弊が低い場合、初回のプログラムループ後のVthシフトは小さい。例えば、初回のプログラムループ後の閾値分布の上裾は、ベリファイ電圧AVと読み出し電圧BRとの間に位置している。この時点でベリファイ電圧AVを超えた閾値電圧を有する複数のメモリセルトランジスタMTによって形成される閾値分布のことを“D11”と呼ぶ。
図11(2)に示すように、2回目のプログラムループでは、閾値分布が、ステップアップ電圧DVPGM1に基づいた電圧分だけシフトする。例えば、2回目のプログラムループ後の閾値分布の上裾は、読み出し電圧BRの近傍に位置している。この時点で、ベリファイ電圧AVを超えた閾値電圧を有し、且つ分布D11に含まれない複数のメモリセルトランジスタMTによって形成される閾値分布のことを“D12”と呼ぶ。
図11(3)に示すように、3回目のプログラムループでは、閾値分布が、ステップアップ電圧DVPGM1に基づいた電圧だけシフトする。例えば、3回目のプログラムループ後の閾値分布の上裾は、読み出し電圧BRを超えている。この時点で、ベリファイ電圧AVを超えた閾値電圧を有し、且つ分布D11及びD12に含まれない複数のメモリセルトランジスタMTによって形成される閾値分布のことを“D13”と呼ぶ。
図11(4)に示すように、4回目のプログラムループでは、閾値分布が、ステップアップ電圧DVPGM1に基づいた電圧だけシフトする。例えば、4回目のプログラムループ後の閾値分布の下裾は、ベリファイ電圧AVを超えている。この時点で、ベリファイ電圧AVを超えた閾値電圧を有し、且つ分布D11、D12、及びD13に含まれない複数のメモリセルトランジスタMTによって形成される閾値分布のことを“D14”と呼ぶ。
“A”ステート書き込みのメモリセルトランジスタMTに対するベリファイは、閾値電圧がベリファイ電圧AVを超えたプログラムループにおいてパスする。つまり、“A”ステート書き込みのメモリセルトランジスタMTは、分布D11、D12、D13、及びD14のいずれかに含まれる。その結果、“A”ステートの閾値分布が、分布D11、D12、D13、及びD14のいずれかに含まれた“A”ステート書き込みの複数のメモリセルトランジスタMTの総計によって形成される。
(セル疲弊が高い場合の書き込み動作について)
図12は、実施形態に係る半導体記憶装置1の書き込み動作においてセル疲弊が高い場合の処理の一例であり、初回〜4回目のプログラムループにおいてワード線WLselに印加される電圧を示している。
図12に示すように、初回のプログラムループ(“1st Loop”)では、ワード線WLselにプログラム電圧VPGMinitとベリファイ電圧AVとが順に印加される。セル疲弊が高い場合、シーケンサ13は、続く検出処理の後にステップS14及びS15の処理を順に実行する。つまり、2回目のプログラムループ(“2nd Loop”)では、ワード線WLselにVPGMinit+DVPGM2とベリファイ電圧AVPとが順に印加される。続くプログラムループにおけるプログラム電圧VPGMは、ステップS18の処理によってステップアップされた電圧が使用され、“A”ステートのベリファイ電圧は、AVPのまま維持される。
具体的には、3回目のプログラムループ(“3rd Loop”)では、ワード線WLselにVPGMinit+DVPGM2+DVPGM1とベリファイ電圧AVP及びBVとが順に印加される。4回目のプログラムループ(“4th Loop”)では、ワード線WLselにVPGMinit+DVPGM2+DVPGM1*2とベリファイ電圧AVP及びBVとが順に印加される。その後、シーケンサ13は、プログラム電圧がDVPGM1ずつステップアップされたプログラム動作と、書き込み動作の進行に応じたベリファイ動作とを含むプログラムループを適宜実行する。
図13は、実施形態に係る半導体記憶装置1の書き込み動作においてセル疲弊が高い場合のメモリセルトランジスタMTの閾値分布の変化の一例を示している。図13(1)〜(4)は、それぞれ初回〜4回目のプログラムループの直後の閾値分布に対応している。本例では、書き込み対象である複数のメモリセルトランジスタMTの閾値電圧が、初回〜4回目のプログラムループによってベリファイ電圧AVPを超えるものと仮定する。
図13(1)に示すように、セル疲弊が高い場合、初回のプログラムループ後のVthシフトは大きい。例えば、初回のプログラムループ後の閾値分布の上裾は、読み出し電圧BRを超えている。この時点で、ベリファイ電圧AV及びAVP間の閾値電圧を有するメモリセルトランジスタMTによって形成される閾値分布のことを“D21A”と呼び、ベリファイ電圧AVP及び読み出し電圧BR間の閾値電圧を有するメモリセルトランジスタMTによって形成される閾値分布のことを“D21B”と呼び、読み出し電圧BRを超えた閾値電圧を有する複数のメモリセルトランジスタMTによって形成される閾値分布のことを“D21C”と呼ぶ。
図13(2)に示すように、2回目のプログラムループでは、閾値分布が、ステップアップ電圧DVPGM2に基づいた電圧分だけシフトする。つまり、2回目のプログラムループにおける閾値分布のシフト量は、ステップアップ電圧DPGM1が適用されたプログラムループよりも抑制される。この時点で、ベリファイ電圧AVPを超えた閾値分布を有し、且つ分布D21A、D21B、及びD21Cに含まれない複数のメモリセルトランジスタMTによって形成される閾値分布のことを“D22”と呼ぶ。
図13(3)に示すように、3回目のプログラムループでは、閾値分布が、ステップアップ電圧DVPGM1に基づいた電圧だけシフトする。例えば、3回目のプログラムループ後の閾値分布の上裾は、読み出し電圧BRを超えている。この時点で、ベリファイ電圧AVPを超えた閾値電圧を有し、且つ分布D21A、D21B、D21C、及びD22に含まれない複数のメモリセルトランジスタMTによって形成される閾値分布のことを“D23”と呼ぶ。
図13(4)に示すように、4回目のプログラムループでは、閾値分布が、ステップアップ電圧DVPGM1に基づいた電圧だけシフトする。例えば、4回目のプログラムループ後の閾値分布の下裾は、ベリファイ電圧AVを超えている。この時点でベリファイ電圧AVPを超えた閾値電圧を有し且つ分布D21A、D21B、D21C、D22、及びD23に含まれない複数のメモリセルトランジスタMTによって形成される閾値分布のことを“D24”と呼ぶ。
“A”ステート書き込みのメモリセルトランジスタMTに対するベリファイは、初回のプログラムループにおいて閾値電圧がベリファイ電圧AVを超えたプログラムループ、又は2回目以降のプログラムループにおいて閾値電圧がベリファイ電圧AVPを超えたプログラムループにおいてパスする。つまり、“A”ステート書き込みのメモリセルトランジスタMTは、分布D21A、D21B、D21C、D22、D23、及びD24のいずれかに含まれる。その結果、“A”ステートの閾値分布が、分布D21A、D21B、D21C、D22、D23、及びD24のいずれかに含まれた“A”ステート書き込みの複数のメモリセルトランジスタMTの総計によって形成される。
[1−3]実施形態の効果
以上で説明した実施形態に係る半導体記憶装置1に依れば、書き込み速度の低下を抑制し、且つ閾値分布の広がりと偏りを抑制することが出来る。以下に、実施形態に係る半導体記憶装置1の効果の詳細について説明する。
半導体記憶装置において、消去動作後や書き込み動作後の複数のメモリセルトランジスタMTの閾値電圧は、正規分布に近いばらつきを有している。この閾値電圧のばらつきは、メモリセルトランジスタMTの形状や、セル疲弊の状態に応じて変わり得る。また、書き込み動作において、書き込み対象のメモリセルトランジスタMTの閾値電圧は、理想的には、関連付けられた書き込みステートのベリファイ電圧から、当該ベリファイ電圧にステップアップ電圧DVPGMを加算した電圧までの範囲に収められる。
初回のプログラムループで使用されるプログラム電圧VPGMinitが高く且つセル疲弊が高い場合、初回のプログラムループによる過書き込みが、“A”ステート書き込みのメモリセルトランジスタMTにおいて発生し得る。“A”ステートにおける過書き込みの発生は、プログラム電圧VPGMinitを低く設定することによって抑制することが出来る。しかしながら、プログラム電圧VPGMinitを低くすると、書き込み動作において実行されるプログラムループの回数が多くなり、書き込み時間が長くなる。
プログラム電圧VPGMinitを低くすることなく“A”ステートにおける過書き込みを抑制する方法としては、特定のセルユニットCUにおける書き込み動作によってワード線WLを共有する他のセルユニットCUの特性を見積もり、その結果を用いて他のセルユニットCUのプログラム電圧VPGMinitを調整することが考えられる。これにより、半導体記憶装置は、フィードバックを適用したセルユニットCUにおいて、最適なプログラム電圧VPGMinitを用いたプログラム動作を実行することが出来、当該セルユニットCUにおける書き込み時間を短くすることが出来る。
しかしながら、この方法では、特定のセルユニットCUの書き込み時間が、低いプログラム電圧VPGMinitが使用されることによって長くなってしまう。また、この方法は、セルユニットCUの特性の情報を保持するための記憶領域を必要とする場合がある。例えば、書き込み動作がブロックBLK単位ではなく、ブロックBLK間で行き来する場合には、ブロックBLKの総数にワード線WLの本数を掛けた分の記憶領域が必要になる。このような記憶領域を設けることは、メモリセルアレイ10の回路面積の増加に繋がり、半導体記憶装置1のチップ面積の増大の要因となり得る。
これに対して、実施形態に係る半導体記憶装置1は、初回のプログラムループで使用されるプログラム電圧VPGMinitを、可能な範囲で高く設定する。この場合、初回のプログラムループにおける過書き込みが、セル疲弊が高くなることに応じて発生し得る。一方で、過書き込みは、2回目のプログラムループにおけるプログラム動作においても発生し得る。そこで、実施形態に係る半導体記憶装置1は、2回目のプログラムループにおいて発生し得る過書き込みを抑制することによって、書き込み時間を抑制し、且つ“A”ステートの閾値分布の上裾の広がりを抑制する。
具体的には、実施形態に係る半導体記憶装置1は、初回のプログラムループ後の検知動作によって、書き込み対象のセルユニットCUのセル疲弊の状態を確認する。そして、半導体記憶装置1は、セル疲弊が低い場合に、2回目以降のプログラムループで使用されるプログラム電圧のステップアップ量にDVPGM1を適用する。一方で、半導体記憶装置1は、セル疲弊が高い場合に、2回目のプログラムループで使用されるプログラム電圧のステップアップ量にDVPGM1よりも低いDVPGM2を適用し、“A”ステートのベリファイ電圧をAVPに変更する。また、半導体記憶装置は、3回目以降のプログラムループで使用されるプログラム電圧のステップアップ量にDVPGM1を適用する。
ここで、図14及び図15を用いて、セル疲弊が高い場合におけるメモリセルトランジスタMTの閾値分布について、比較例を用いて説明する。図14及び図15は、それぞれ比較例及び実施形態におけるメモリセルトランジスタMTの閾値分布の一例を示している。比較例は、セル疲弊が高い場合に、ステップアップ電圧DVPGMの変更を実行しない書き込み動作に対応している。図14と図15との間では、“A”ステートの閾値分布の形状及び位置が異なっている。
図14に示すように、比較例では、“A”ステートの閾値分布の上裾が大きく広がっている。この上裾の広がりは、例えば書き込み動作の序盤のプログラムループによる過書き込みが原因で生じている。序盤のプログラムループによる過書き込みが発生すると、“A”ステートの閾値分布の非対称性が大きくなる。閾値分布の非対称性が大きくなると、“A”ステートと“B”ステートとの間で最適な読み出し電圧の設定が困難になり、エラービット数が増加するおそれがある。その結果、実施形態の比較例に係る半導体記憶装置では、メモリコントローラ2等によるエラー訂正の成功確率が低下することが考えられる。
図15に示すように、実施形態では、“A”ステートの閾値分布の上裾の広がりが、2回目のプログラム動作で使用されるプログラム電圧を下げることによって抑制されている。また、“A”ステートの閾値分布の下裾の広がりが、ベリファイ電圧AVPを使用することによって抑制され、“A”ステートの閾値分布の重心が、正方向にシフトしている。その結果、実施形態では、“A”ステートの閾値分布の非対称性が改善している。
以上のように、実施形態に係る半導体記憶装置1は、セル疲弊が低い場合の書き込み時間を短くすることが出来、さらに、セル疲弊が高い場合の“A”ステートの閾値分布の上裾の広がりを抑制することが出来る。言い換えると、実施形態に係る半導体記憶装置1は、書き込み速度の低下を抑制し、且つ閾値分布の広がりと偏りを抑制することが出来る。
その結果、実施形態に係る半導体記憶装置1は、“A”ステートと“B”ステートとの間で最適な読み出し電圧を設定することが出来る。そして、実施形態に係る半導体記憶装置は、読み出し電圧ARを用いた読み出し動作におけるエラービット数を抑制することが出来、メモリコントローラ2等によるエラー訂正の成功確率を改善させることが出来る。
尚、実施形態に係る半導体記憶装置1では、“A”ステートのベリファイ電圧がAVPに変更されることによって、図13に示された分布D21Aに対応する“A”ステート書き込みのメモリセルトランジスタMTが、“A”ステートの閾値分布の下裾として残る。しかしながら、閾値分布の広がりへの影響は、分布D21Aに対応する“A”ステート書き込みのメモリセルトランジスタMTが残存することよりも、書き込み動作のノイズ等による閾値分布の広がりの方が支配的である。このため、分布D21Aが、最終的な“A”ステートの閾値分布に与える影響は小さい。
また、書き込み動作の途中で“A”ステートのベリファイ電圧を上げることは、“A”ステートの閾値分布の上裾の広がりの原因になり得る。しかしながら、実施形態に係る半導体記憶装置1は、2回目のプログラムループで使用されるプログラム電圧のステップアップ量を抑制している。このため、ベリファイ電圧を上げたことによる“A”ステートの閾値分布の上裾の広がりは、2回目のプログラム動作による閾値電圧の上昇量が減ることにより相殺され得る。また、“A”ステートのベリファイ電圧を上げることは、“Er”ステートと“A”ステートの間の閾値分布の重なりを抑制する。つまり、半導体記憶装置1は、読み出し電圧ARによる読み出し動作のマージンを確保することも出来る。
また、ステップS14及びS15の処理が実行された場合の書き込み時間は、プログラムループ数が増加することによって長くなり得る。しかしながら、セル疲弊が高い状態のメモリセルトランジスタMTに対する書き込み動作は、セル疲弊が低い状態のメモリセルトランジスタMTよりも早く終了する傾向がある。このため、ステップS14及びS15の処理が実行された場合に発生し得るプログラムループ数の増加は、セル疲弊に伴うプログラムループ数の減少によって相殺され得る。
また、実施形態における書き込み動作では、ステップS15の処理が省略されても良い。言い換えると、ステップS12において“A”パスセル数が所定の閾値NTを超えた場合に、“A”ステートのベリファイ電圧がAVPに設定されなくても良い。実施形態に係る半導体記憶装置1は、少なくとも2回目のプログラムループで使用されるプログラム電圧のステップアップ量が、初回のプログラムループのベリファイ結果に基づいて変更可能であれば良い。このような場合においても、半導体記憶装置1は、“A”ステートの閾値分布の上裾の広がりを抑制することが出来る。
また、実施形態における書き込み動作では、ステップS14の処理が省略されても良い。言い換えると、ステップS12において“A”パスセル数が所定の閾値NTを超えた場合に、プログラム電圧VPGMのステップアップをすることなく、“A”ステートのベリファイ電圧のみが変更されても良い。このような場合においても、半導体記憶装置1は、“A”ステートの閾値分布の下裾の広がりを抑制し、且つ“A”ステートの閾値分布の上裾の広がりを抑制することが出来る。
また、ステップS12において“A”パスセル数が所定の閾値NTを超えた場合に、プログラム電圧VPGMのステップアップ量にセル疲弊が低い場合と同じステップアップ電圧DVPGM1が適用され、“A”ステートのベリファイ電圧のみが変更されても良い。このような場合においても、半導体記憶装置1は、“A”ステートの閾値分布の下裾の広がりを抑制することが出来る。
[2]実施形態の第1変形例
図16は、実施形態の第1変形例に係る半導体記憶装置1の書き込み動作においてセル疲弊が高い場合の処理の一例であり、初回〜4回目のプログラムループにおいてワード線WLselに印加される電圧を示している。図16に示すように、実施形態の第1変形例における書き込み動作は、図12に示された実施形態における書き込み動作に対して、初回のプログラムループにおけるベリファイ動作の処理が異なる。
具体的には、実施形態の第1変形例では、初回のプログラムループのベリファイ動作において、ワード線WLselに例えばベリファイ電圧AV及びAVPがそれぞれ印加される。そして、シーケンサ13が、続く検出動作において、例えばベリファイ電圧AVPを超えたメモリセルトランジスタMTの数をカウントする。それから、シーケンサ13が、当該カウント結果と閾値NTとを比較して、ステップS13又はS14の処理に移行する。実施形態の第1変形例におけるその他の動作は、実施形態と同様である。
以上のように、実施形態の第1変形例に係る半導体記憶装置1は、初回の検出動作に関連付けられたベリファイ電圧を、ベリファイ電圧AV以外に設定する。このように、初回の検出動作に関連付けられた判定条件(すなわち、ステップS12の処理)は、必ずしもベリファイ電圧AVによる読み出し結果を使用していなくても良い。尚、初回の検出動作に関連付けられたベリファイ電圧はAVPに限定されず、その他の電圧も適用され得る。
その結果、実施形態の第1変形例に係る半導体記憶装置1は、実施形態と同様の効果を得ることが出来、且つ書き込み動作においてセル疲弊が高い場合の処理が開始されるタイミングをより細かく調整することが出来る。また、実施形態の第1変形例に係る半導体記憶装置1は、初回の検出動作においてカウントされ得るメモリセルトランジスタMTの数を適切な範囲に設定することによって、当該検出動作の時間を短縮することが出来る。
[3]実施形態の第2変形例
図17は、実施形態の第2変形例に係る半導体記憶装置1の書き込み動作においてセル疲弊が高い場合の処理の一例であり、初回〜4回目のプログラムループにおいてワード線WLselに印加される電圧を示している。図17に示すように、実施形態の第2変形例における書き込み動作は、図12に示された実施形態における書き込み動作に対して、初回及び2回目のプログラムループにおけるプログラム動作の処理が異なる。
具体的には、実施形態の第2変形例では、ステップS14及びS15の処理が実行される場合、初回及び2回目のプログラムループのプログラム動作において、ワード線WLselにパルス幅がWPであるプログラム電圧(広パルス)が印加される。3回目以降のプログラムループのプログラム動作において、ワード線WLselにパルス幅がNPよりも狭いNPであるプログラム電圧(狭パルス)が印加される。つまり、初回及び2回目のプログラムループのプログラム電圧は、3回目以降のプログラムループのプログラム電圧よりも長い時間、ワード線WLselに印加される。
また、実施形態の第2変形例においてシーケンサ13は、図示が省略されているが、2回目のプログラムループにおいて、直前の検出動作の結果に応じて狭パルスと広パルスとを使い分けることが出来る。例えば、シーケンサ13は、2回目のプログラムループにおいて、ステップS13の処理を経由した場合に狭パルスのプログラム電圧を使用し、ステップS14及びS15の処理を経由した場合に広パルスのプログラム電圧を使用する。実施形態の第1変形例におけるその他の動作は、実施形態と同様である。
以上のように、実施形態の第2変形例に係る半導体記憶装置1は、初回のプログラム動作におけるプログラム電圧VPGMのパルス幅を、後半のプログラムループにおけるプログラム電圧VPGMのパルス幅よりも広く設定する。そして、実施形態の第2変形例に係る半導体記憶装置1は、初回の検出動作の結果に基づいて、2回目のプログラムループにおけるプログラム電圧VPGMのパルス幅を変更する。
これにより、実施形態の第2変形例に係る半導体記憶装置1は、セル疲弊が低い場合、すなわち閾値分布が広がりにくい場合に、書き込み動作の時間を短縮することが出来る。また、実施形態の第2変形例に係る半導体記憶装置1は、セル疲弊が高い場合に、初回及び2回目のプログラムループにおけるプログラム動作のノイズ成分を抑制することが出来る。従って、実施形態の第3変形例に係る半導体記憶装置1は、実施形態よりも閾値分布の幅を狭くすることが出来、メモリセルトランジスタMTに書き込まれたデータの信頼性を向上させることが出来る。
[4]実施形態の第3変形例
図18は、実施形態の第3変形例に係る半導体記憶装置1の書き込み動作におけるフローチャートの一例を示している。図18に示すように、実施形態の第3変形例における書き込み動作は、図9に示された実施形態における書き込み動作の処理と、ステップS16の前に追加されたステップS20〜S25の処理とを含んでいる。
具体的には、シーケンサ13は、ステップS13又はS15の処理の後に、2回目のプログラムループを実行する(ステップS20)。続けて、シーケンサ13は、検出動作を実行する(ステップS21)。次に、シーケンサ13は、検出動作の結果に基づいて、“A”ベリファイにパスしたメモリセルトランジスタMTの数(“A”パスセル数)が、所定の閾値NT2を超えたか否かを確認する(ステップS22)。
“A”パスセル数が閾値NT2以下である場合(ステップS22、NO)、シーケンサ13は、VPGM=VPGM+DVPGM1の処理を実行する(ステップS23)。“A”パスセル数が閾値NT2を超えている場合(ステップS22、YES)、シーケンサ13は、VPGM=VPGM+DVPGM2の処理(ステップS24)と、AV=AVPの処理(ステップS25)とを実行する。そして、ステップS23又はS25の処理の後に、シーケンサ13は、ステップS16の処理、すなわち次のプログラムループの処理に移行する。
実施形態の第3変形例において、ステップS20〜S25の処理は、それぞれステップS10〜S15の処理と類似している。尚、ステップS12において使用される所定の閾値NTと、ステップS22において使用される所定の閾値NT2とは、同じであっても良いし、異なっていても良い。閾値NT及びNT2を異なる数値にする場合には、NTよりもNT2を大きくすることが好ましい。閾値を高く設定することによってカウント数が小さくなり、検出動作の時間が短縮され得る。
図19は、実施形態の第3変形例に係る半導体記憶装置1の書き込み動作においてセル疲弊が高い場合の処理の一例であり、初回〜4回目のプログラムループにおいてワード線WLselに印加される電圧を示している。図19に示すように、実施形態の第3変形例における書き込み動作は、図12に示された実施形態における書き込み動作に対して、2回目のプログラムループの後に検出動作が挿入されていることと、3回目以降のプログラムループにおけるプログラム電圧の値とが異なる。
具体的には、3回目のプログラムループ(“3rd Loop”)では、ワード線WLselにVPGMinit+DVPGM2*2が印加される。4回目のプログラムループ(“4th Loop”)では、ワード線WLselにVPGMinit+DVPGM2*2+DVPGM1が印加される。その後、シーケンサ13は、プログラム電圧がDVPGM1ずつステップアップされたプログラム動作と、書き込み動作の進行に応じたベリファイ動作とを含むプログラムループを適宜実行する。実施形態の第3変形例におけるその他の動作は、実施形態と同様である。
以上のように、実施形態の第3変形例に係る半導体記憶装置1は、初回のプログラムループで実行した判定動作と当該判定動作に基づく処理とを、2回目のプログラムループにおいても実行する。尚、初回のプログラムループで実行された判定動作と当該判定動作に基づく処理とは、3回目のプログラムループに対して適用されても良い。つまり、シーケンサ13は、ステップS12〜S15に対応する処理を、書き込み動作の開始から所定の回数のプログラムループにおいて実行しても良い。
その結果、実施形態の第3変形例に係る半導体記憶装置1は、2回目以降のプログラムループにおいてVthシフトが大きい場合に生じ得る過書き込みの発生を抑制することが出来る。従って、実施形態の第3変形例に係る半導体記憶装置1は、実施形態よりも閾値分布の幅の広がりを抑制することが出来、セル疲弊が高い場合の書き込みデータの信頼性を向上させることが出来る。
[5]実施形態の第4変形例
図20は、実施形態の第4変形例に係る半導体記憶装置1の書き込み動作におけるフローチャートの一例を示している。図20に示すように、実施形態の第4変形例における書き込み動作は、図9に示された実施形態における書き込み動作の処理と、ステップS15の後に追加されたステップS30〜S32の処理とを含んでいる。
具体的には、シーケンサ13は、ステップS15の処理の後に、M回目(Mは2以上の整数)のプログラムループを実行する(ステップS30)。次に、シーケンサ13は、処理されたプログラムループの回数が、所定の閾値N’loopを超えたか否かを確認する。すなわち、シーケンサ13は、M>N’loopを満たすか否かを確認する(ステップS31)。
M>N’loopを満たさない場合(ステップS31、NO)、シーケンサ13は、VPGM=VPGM(Mth)+DVPGM2の処理を実行し(ステップS32)、ステップS30の処理に戻る。M>N’loopを満たす場合(ステップS31、YES)、シーケンサ13は、VPGM=VPGM(Nth)+DVPGM1の処理を実行し(ステップS18)、ステップS16の処理、すなわち次のプログラムループの処理に移行する。
また、図20では、ステップS13の処理が省略されている。その代わりに、“A”パスセル数が所定の閾値NT以下である場合(ステップS12、NO)、シーケンサ13は、VPGM=VPGM(Nth)+DVPGM1の処理を実行し(ステップS18)、ステップS16の処理、すなわち次のプログラムループの処理に移行する。
図21は、実施形態の第4変形例に係る半導体記憶装置1の書き込み動作においてセル疲弊が高い場合の処理の一例であり、初回〜4回目のプログラムループにおいてワード線WLselに印加される電圧を示している。図21に示すように、実施形態の第4変形例における書き込み動作は、図19に示された実施形態の第3変形例における書き込み動作に対して、2回目のプログラムループの後に挿入された検出動作が省略された処理を実行する。実施形態の第4変形例におけるその他の動作は、実施形態の第3変形例と同様である。
以上のように、実施形態の第4変形例に係る半導体記憶装置1は、実施形態の第3変形例と同様の動作を、初回のプログラムループで実行した判定動作の結果のみに基づいて実行する。つまり、実施形態に第4変形例に係る半導体記憶装置1は、セル疲弊が高い場合において、ステップアップ電圧DVPGM2を用いたプログラムループを、書き込み動作の開始から所定の回数のプログラムループにおいて実行することが出来る。
その結果、実施形態の第4変形例に係る半導体記憶装置1は、実施形態の第3変形例と同様に、過書き込みの発生を抑制することが出来、閾値分布の幅の広がりを抑制することが出来る。従って、実施形態の第4変形例に係る半導体記憶装置1は、セル疲弊が高い場合の書き込みデータの信頼性を向上させることが出来る。また、実施形態の第4変形例における書き込み時間は、2回目の検出動作が省略されたことによって、実施形態の第3変形例における書き込み時間よりも短くすることが出来る。
尚、実施形態の第4変形例では、セル疲弊が高い場合におけるステップアップ電圧がDVPGM2からDVPGM1に遷移する場合について例示したが、これに限定されない。例えば、シーケンサ13は、セル疲弊が高いことを検知したことに基づいて、各プログラムループにおけるプログラム電圧のステップアップ量を、書き込み動作が完了するまでDVPGM2に設定しても良い。これにより、半導体記憶装置1は、“A”ステートよりも高いステートの閾値分布の上裾の広がりを抑制することが出来る。
[6]実施形態の第5変形例
図22は、実施形態の第5変形例に係る半導体記憶装置1の書き込み動作におけるセル疲弊が高い場合のベリファイ電圧の一例を示している。図22に示すように、実施形態の第5変形例に係る半導体記憶装置1は、ベリファイ電圧AVPを使用することに応じて、その他のベリファイ電圧もシフトさせる。
具体的には、例えば実施形態で説明したステップS15の処理において、“A”ステート、“B”ステート、“C”ステート、“D”ステート、“E”ステート、“F”ステート、及び“G”ステートのベリファイ電圧が、それぞれベリファイ電圧AVP、BVP、CVP、DVP、EVP、FVP、及びGVPに設定される。ベリファイ電圧AVP、BVP、CVP、DVP、EVP、FVP、及びGVPは、それぞれベリファイ電圧AV、BV、CV、DV、EV、FV、及びGVよりも高い電圧である。
このように、実施形態の第5変形例に係る半導体記憶装置1は、セル疲弊が高い場合において、“A”〜“G”ステートの閾値分布の全体をプラス方向にシフトさせる。つまり、実施形態の第5変形例に係る半導体記憶装置1は、セル疲弊が高いことにより生じた上裾の広がりを考慮して、閾値電圧が高い方のステートのベリファイ電圧を変更する。その結果、実施形態の第5変形例に係る半導体記憶装置1は、隣り合うステート間の分布の重なりを実施形態よりも減らすことが出来る。
尚、実施形態の第5変形例において、セル疲弊が高い場合にベリファイ電圧が変更されるステートは、1つのステートであっても複数のステートであっても良い。ベリファイ電圧が変更されるステートとしては、任意のステートが選択され得る。また、実施形態の第5変形例に係る半導体記憶装置1は、閾値分布のシフトに伴い、読み出し電圧AR〜GRもシフトさせることが好ましい。これにより、実施形態の第5変形例に係る半導体記憶装置1は、読み出しエラーの発生を最小限に抑制することが出来る。
[7]その他の変形例等
実施形態では、メモリセルの疲弊状態に基づいて書き込み動作の処理を変更する場合について例示したが、これに限定されない。メモリセルトランジスタMTの閾値電圧は、セル疲弊に依らずに、プログラム電圧に対する感度が異なる場合がある。例えば、メモリセルトランジスタMTの特性は、その形成位置に応じて異なり得る。このため、閾値電圧が上昇しやすいメモリセルトランジスタMTと、閾値電圧が上昇しにくいメモリセルトランジスタMTとが、メモリセルアレイ10内に混在し得る。実施形態及び各変形例で説明した動作は、少なくとも書き込み特性が異なるメモリセルトランジスタMT又は書き込み特性が変わったメモリセルトランジスタMTに対して適用されていれば良い。
実施形態では、シーケンサ13が様々な動作を兼任する場合について例示したが、これに限定されない。実施形態で説明したシーケンサ13の処理は、その他の回路によって実行されても良い。例えば、半導体記憶装置1がカウンタを備え、当該カウンタによって、ベリファイにパスしたメモリセルトランジスタMTの数がカウントされても良い。
上記変形例は、可能な範囲で組み合わされても良い。例えば、第1変形例は、第2〜第5変形例の何れとも組み合わされ得る。第2変形例は、第3〜第5変形例の何れとも組み合わされ得る。第3変形例は、第5変形例と組み合わされ得る。第4変形例は、第5変形例と組み合わされ得る。また、3種類以上の変形例が組み合わされることも可能である。半導体記憶装置1は、各変形例の組み合わせによって、組み合わされた変形例のそれぞれの効果を得ることが出来る。
上記実施形態で書き込み動作の説明に用いたタイミングチャートは、あくまで一例である。例えば、各時刻において信号及び配線のそれぞれの電圧が制御されるタイミングは、ずれていても良い。また、上記実施形態で書き込み動作の説明に用いたフローチャートは、あくまで一例である。各フローチャートの処理の一部は、順番を入れ替えることも可能である。例えば、ステップS14とステップS15との順番は入れ替えられても良い。また、上記実施形態において、メモリセルアレイ10内の各種配線に印加される電圧は、ドライバモジュール14及びロウデコーダモジュール15間の信号線の電圧に基づいて推測されても良い。例えば、ワード線WLselに印加される電圧は、信号線CGの電圧に基づいて推測され得る。
本明細書において“H”レベルの電圧は、ゲートに当該電圧が印加されたN型のMOSトランジスタがオン状態になり、ゲートに当該電圧が印加されたP型のMOSトランジスタがオフ状態になる電圧である。“L”レベルの電圧は、ゲートに当該電圧が印加されたN型のMOSトランジスタがオフ状態になり、ゲートに当該電圧が印加されたP型のMOSトランジスタがオン状態になる電圧である。“トランジスタの一端”は、MOSトランジスタのドレイン又はソースのことを示している。“トランジスタの他端”は、MOSトランジスタのソース又はドレインのことを示している。
本明細書において“接続”とは、電気的に接続されている事を示し、例えば間に別の素子を介することを除外しない。“オフ状態”は、対応するトランジスタのゲートに当該トランジスタの閾値電圧未満の電圧が印加されていることを示し、例えばトランジスタのリーク電流のような微少な電流が流れることを除外しない。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…半導体記憶装置、2…メモリコントローラ、10…メモリセルアレイ、11…コマンドレジスタ、12…アドレスレジスタ、13…シーケンサ、14…ドライバモジュール、15…ロウデコーダモジュール、16…センスアンプモジュール、BLK…ブロック、SU…ストリングユニット、SAU…センスアンプユニット、RD…ロウデコーダ、BL…ビット線、WL…ワード線、SGD,SGS…選択ゲート線、MT…メモリセルトランジスタ、ST1,ST2…選択トランジスタ

Claims (14)

  1. 各々が複数ビットのデータを記憶することが可能な複数のメモリセルと、
    前記複数のメモリセルに接続されたワード線と、
    複数のプログラムループを含む書き込み動作を実行するコントローラと、
    を備え、
    前記複数のプログラムループの各々は、プログラム動作とベリファイ動作とを含み、
    前記書き込み動作において前記コントローラは、
    初回のプログラムループのプログラム動作において、
    前記ワード線に第1プログラム電圧を印加し、
    2回目のプログラムループのプログラム動作において、
    第1の場合に前記ワード線に第2プログラム電圧を印加し、
    第2の場合に前記ワード線に第3プログラム電圧を印加し、
    前記第1プログラム電圧と前記第2プログラム電圧との差は、前記第1プログラム電圧と前記第3プログラム電圧との差と異なる、
    半導体記憶装置。
  2. 前記書き込み動作において前記コントローラは、
    3回目のプログラムループのプログラム動作において、
    前記第1の場合に前記ワード線に第4プログラム電圧を印加し、
    前記第2の場合に前記ワード線に第5プログラム電圧を印加し、
    前記第1プログラム電圧と前記第2プログラム電圧との差は、前記第2プログラム電圧と前記第4プログラム電圧との差と、前記第3プログラム電圧と前記第5プログラム電圧との差に等しく、前記第1プログラム電圧と前記第3プログラム電圧との差よりも大きい、
    請求項1に記載の半導体記憶装置。
  3. 前記書き込み動作において前記コントローラは、
    N回目(Nは4以上の整数)のプログラムループのプログラム動作において、
    前記第1の場合に前記ワード線に第6プログラム電圧を印加し、
    前記第2の場合に前記ワード線に第7プログラム電圧を印加し、
    前記第4プログラム電圧と前記第6プログラム電圧との差は、前記第5プログラム電圧と前記第7プログラム電圧との差と等しい、
    請求項2に記載の半導体記憶装置。
  4. 前記書き込み動作において前記コントローラは、
    前記初回のプログラムループのベリファイ動作において、前記ワード線に第1ベリファイ電圧を印加し、
    前記初回のプログラムループにおいて前記第1ベリファイ電圧によるベリファイにパスしたメモリセルの個数が第1閾値以下である場合に、前記第1の場合の前記2回目のプログラムループを実行し、
    前記初回のプログラムループにおいて前記第1ベリファイ電圧によるベリファイにパスしたメモリセルの個数が前記第1閾値を超えている場合に、前記第2の場合の前記2回目のプログラムループを実行する、
    請求項1乃至請求項3のいずれか一項に記載の半導体記憶装置。
  5. 前記書き込み動作において前記コントローラは、
    前記2回目のプログラムループのベリファイ動作において、
    前記第1の場合に前記ワード線に前記第1ベリファイ電圧を印加し、
    前記第2の場合に前記ワード線に前記第1ベリファイ電圧を印加することなく前記第1ベリファイ電圧よりも高い第2ベリファイ電圧を印加する、
    請求項4に記載の半導体記憶装置。
  6. 前記複数のメモリセルは、書き込むデータに基づいて複数のステートに分類され、
    前記第1ベリファイ電圧と前記第2ベリファイ電圧とは、同じステートのベリファイに使用される、
    請求項5に記載の半導体記憶装置。
  7. 前記書き込み動作において前記コントローラは、
    前記初回のプログラムループのベリファイ動作において、前記ワード線に前記第1ベリファイ電圧と異なる第3ベリファイ電圧を印加し、
    前記初回のプログラムループにおいて前記第3ベリファイ電圧によるベリファイにパスしたメモリセルの個数が第1閾値以下である場合に、前記第1の場合の前記2回目のプログラムループを実行し、
    前記初回のプログラムループにおいて前記第3ベリファイ電圧によるベリファイにパスしたメモリセルの個数が前記第1閾値を超えている場合に、前記第2の場合の前記2回目のプログラムループを実行する、
    請求項5に記載の半導体記憶装置。
  8. 前記第5プログラム電圧が印加される時間は、前記第3プログラム電圧が印加される時間よりも短い、
    請求項2に記載の半導体記憶装置。
  9. 前記第3プログラム電圧が印加される時間は、前記第1プログラム電圧が印加される時間と等しい、
    請求項8に記載の半導体記憶装置。
  10. 前記書き込み動作において前記コントローラは、
    前記第2の場合の前記2回目のプログラムループの後の3回目のプログラムループのプログラム動作において、
    第3の場合に前記ワード線に第8プログラム電圧を印加し、
    第4の場合に前記ワード線に第9プログラム電圧を印加し、
    前記第3プログラム電圧と前記第8プログラム電圧との差は、前記第3プログラム電圧と前記第9プログラム電圧との差よりも大きい
    請求項1に記載の半導体記憶装置。
  11. 前記書き込み動作において前記コントローラは、
    前記第2の場合の前記2回目のプログラムループのベリファイ動作において、前記ワード線に第1ベリファイ電圧を印加し、
    前記第2の場合の前記2回目のプログラムループにおいて前記第1ベリファイ電圧によるベリファイにパスしたメモリセルの個数が第2閾値以下である場合に、前記第3の場合の前記3回目のプログラムループを実行し、
    前記第2の場合の前記2回目のプログラムループにおいて前記第1ベリファイ電圧によるベリファイにパスしたメモリセルの個数が前記第2閾値を超えている場合に、前記第4の場合の前記3回目のプログラムループを実行する、
    請求項10に記載の半導体記憶装置。
  12. 前記書き込み動作において前記コントローラは、
    前記初回のプログラムループのベリファイ動作において、前記ワード線に第1ベリファイ電圧を印加し、
    前記初回のプログラムループにおいて前記第1ベリファイ電圧によるベリファイにパスしたメモリセルの個数が第1閾値以下である場合に、前記第1の場合の前記2回目のプログラムループと前記第3の場合の前記3回目のプログラムループとを実行し、
    前記初回のプログラムループにおいて前記第1ベリファイ電圧によるベリファイにパスしたメモリセルの個数が前記第1閾値を超えている場合に、前記第2の場合の前記2回目のプログラムループと前記第4の場合の前記3回目のプログラムループとを実行する、
    請求項10に記載の半導体記憶装置。
  13. 前記書き込み動作において前記コントローラは、
    前記初回のプログラムループのベリファイ動作において、前記ワード線に第1ベリファイ電圧を印加し、
    前記初回のプログラムループにおいて前記第1ベリファイ電圧によるベリファイにパスしたメモリセルの個数が第1閾値以下である場合に、前記第1の場合の前記2回目のプログラムループを実行し、
    前記初回のプログラムループにおいて前記第1ベリファイ電圧によるベリファイにパスしたメモリセルの個数が前記第1閾値を超えている場合に、前記第2の場合の前記2回目のプログラムループを実行し、
    前記第2の場合の前記2回目のプログラムループの後に、直前のプログラムループで使用されたプログラム電圧に対して前記第3プログラム電圧と前記第1プログラム電圧との差分が加算されたプログラム電圧を用いたプログラムループを、第1の回数実行する、
    請求項1に記載の半導体記憶装置。
  14. 前記複数のメモリセルは、書き込むデータに基づいて複数のステートに分類され、
    前記複数のステートは、少なくとも第1ステート、及び第2ステートを含み、
    前記書き込み動作において前記コントローラは、
    前記第2の場合の前記2回目のプログラムループを実行した後に前記第1ステートのベリファイに使用する電圧を、前記第1の場合の前記2回目のプログラムループを実行した後に前記第1ステートのベリファイに使用する電圧よりも高く設定し、
    前記第2の場合の前記2回目のプログラムループを実行した後に前記第2ステートのベリファイに使用する電圧を、前記第1の場合の前記2回目のプログラムループを実行した後に前記第2ステートのベリファイに使用する電圧よりも高く設定する、
    請求項1に記載の半導体記憶装置。
JP2019232943A 2019-12-24 2019-12-24 半導体記憶装置 Pending JP2021101401A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019232943A JP2021101401A (ja) 2019-12-24 2019-12-24 半導体記憶装置
CN202010799723.8A CN113035252B (zh) 2019-12-24 2020-08-11 半导体存储装置
TW109127371A TWI736394B (zh) 2019-12-24 2020-08-12 半導體記憶裝置
US17/011,747 US11676672B2 (en) 2019-12-24 2020-09-03 Semiconductor storage device configured to perform a detection operation after performing a program loop

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019232943A JP2021101401A (ja) 2019-12-24 2019-12-24 半導体記憶装置

Publications (1)

Publication Number Publication Date
JP2021101401A true JP2021101401A (ja) 2021-07-08

Family

ID=76438696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019232943A Pending JP2021101401A (ja) 2019-12-24 2019-12-24 半導体記憶装置

Country Status (4)

Country Link
US (1) US11676672B2 (ja)
JP (1) JP2021101401A (ja)
CN (1) CN113035252B (ja)
TW (1) TWI736394B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111758130B (zh) * 2020-05-19 2021-04-16 长江存储科技有限责任公司 3d nand闪存及其操作方法
US12277976B2 (en) 2021-09-17 2025-04-15 Samsung Electronics Co., Ltd. Storage device, non-volatile memory, and method of operating program of non-volatile memory including counting a number of on-cells during verification

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100683856B1 (ko) * 2006-01-12 2007-02-15 삼성전자주식회사 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법
US8223555B2 (en) * 2009-05-07 2012-07-17 Micron Technology, Inc. Multiple level program verify in a memory device
US8638608B2 (en) * 2012-03-26 2014-01-28 Sandisk Technologies Inc. Selected word line dependent select gate voltage during program
CN105518794A (zh) * 2013-09-05 2016-04-20 株式会社东芝 半导体存储装置和数据写入方法
KR20150060144A (ko) 2013-11-26 2015-06-03 삼성전자주식회사 비휘발성 메모리 장치의 동작 방법
KR102139323B1 (ko) * 2014-02-03 2020-07-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
JP2015176620A (ja) * 2014-03-14 2015-10-05 株式会社東芝 半導体記憶装置
KR20160060917A (ko) 2014-11-21 2016-05-31 에스케이하이닉스 주식회사 비휘발성 메모리 소자 및 이의 프로그래밍 방법
KR102423291B1 (ko) * 2016-01-15 2022-07-20 삼성전자주식회사 프로그램 전압을 보정하는 플래시 메모리 장치, 3차원 메모리 장치, 메모리 시스템 및 그의 프로그램 방법
JP6502880B2 (ja) 2016-03-10 2019-04-17 東芝メモリ株式会社 半導体記憶装置
JP2018113084A (ja) * 2017-01-06 2018-07-19 東芝メモリ株式会社 半導体記憶装置
JP6856400B2 (ja) * 2017-02-20 2021-04-07 キオクシア株式会社 半導体記憶装置及びメモリシステム
JP6783682B2 (ja) * 2017-02-27 2020-11-11 キオクシア株式会社 半導体記憶装置及びメモリシステム
JP2018147535A (ja) * 2017-03-07 2018-09-20 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
JP2019117679A (ja) * 2017-12-27 2019-07-18 東芝メモリ株式会社 半導体記憶装置

Also Published As

Publication number Publication date
US20210193239A1 (en) 2021-06-24
TW202125519A (zh) 2021-07-01
CN113035252A (zh) 2021-06-25
CN113035252B (zh) 2024-01-16
TWI736394B (zh) 2021-08-11
US11676672B2 (en) 2023-06-13

Similar Documents

Publication Publication Date Title
KR101556392B1 (ko) 불휘발성 반도체 메모리 디바이스 및 데이터 독출 방법
JP4902002B1 (ja) 不揮発性半導体記憶装置
US8159882B2 (en) Nonvolatile semiconductor memory device and memory system
JP6983617B2 (ja) 半導体記憶装置
JP2019057350A (ja) 半導体メモリ
JP2014157650A (ja) 半導体記憶装置
JP2019057345A (ja) 半導体記憶装置
JP2010211883A (ja) 不揮発性半導体記憶装置
US11164645B2 (en) Semiconductor memory device
JP7332343B2 (ja) 半導体記憶装置
CN112530493B (zh) 半导体存储装置
US8363479B2 (en) Nonvolatile semiconductor memory device
US11894074B2 (en) Semiconductor memory device
JP2020027674A (ja) 半導体メモリ
CN113284535B (zh) 半导体存储装置及其读取方法
CN113035252B (zh) 半导体存储装置
JP2019169205A (ja) メモリシステム
US11514984B2 (en) Semiconductor memory device executing program operation
JP2013246849A (ja) メモリシステム
JP2019160379A (ja) 半導体記憶装置及びメモリシステム
JP2014154191A (ja) 半導体記憶装置
JP2011204356A (ja) 不揮発性半導体記憶装置