JP2021072139A - 半導体記憶装置 - Google Patents
半導体記憶装置 Download PDFInfo
- Publication number
- JP2021072139A JP2021072139A JP2019196728A JP2019196728A JP2021072139A JP 2021072139 A JP2021072139 A JP 2021072139A JP 2019196728 A JP2019196728 A JP 2019196728A JP 2019196728 A JP2019196728 A JP 2019196728A JP 2021072139 A JP2021072139 A JP 2021072139A
- Authority
- JP
- Japan
- Prior art keywords
- voltage
- memory cells
- writing
- loop
- memory cell
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Non-Volatile Memory (AREA)
- Semiconductor Memories (AREA)
Abstract
【課題】 ばらつきの少ないデバイス特性を得る。【解決手段】 実施形態の半導体記憶装置は、メモリセルアレイと、複数のビット線を介して複数のメモリセルのデータを検出するビット線ドライバと、前記メモリセルにデータを書き込むプログラム動作と、前記メモリセルに書き込まれた前記データを検証するベリファイ動作とを含むループを、前記プログラム電圧を所定のステップアップ電圧だけ増加させながら複数回繰り返す書き込みシーケンスを実行する制御回路と、を有し、前記ビット線ドライバは、前記複数のメモリセルに対する前記ベリファイ動作の結果から前記ループ毎の書き込み完了したメモリセル数又は書き込み不足のメモリセル数を求めるビットスキャン回路とを具備し、前記制御回路は、前記ビットスキャン回路が求めた結果に基づいて、次のループにおける前記所定のステップアップ電圧を決定する。【選択図】図9
Description
本発明の実施形態は、半導体記憶装置に関する。
近年、NAND型FLASHメモリ等の半導体記憶装置においては、微細化、大容量化の要求から、3次元構造化が図られるようになってきた。また、NAND型FLASHメモリでは、メモリセルを、1ビット(2値)のデータを保持可能なSLC(Single Level Cell)とする場合だけでなく、2ビット(4値)のデータを保持可能なMLC(Multi Level Cell)、3ビット(8値)のデータを保持可能なTLC(Triple Level Cell)または4ビット(16値)のデータを保持可能なQLC(Quad Level Cell)として構成する場合がある。
このようにメモリセルを多値化した場合、メモリセルの閾値電圧を高精度に制御することが要求される。しかしながから、メモリセルの3次元構造化により、成膜及び加工の難易度が高くなり、書き込み性能や閾値分布がばらつきやすいという問題があった。
本実施形態は、ばらつきの少ないデバイス特性を得ることができる半導体記憶装置を提供する。
実施形態の半導体記憶装置は、複数のメモリセルを備えたメモリセルアレイと、前記複数のメモリセルのゲートにそれぞれ接続された複数のワード線と、前記複数のメモリセルにデータを書き込み時、前記ワード線にプログラム電圧を印加するワード線ドライバと、前記複数のメモリセルの一端にそれぞれ接続された複数のビット線と、前記複数のビット線にビット線電圧を印加して、前記複数のビット線を介して前記複数のメモリセルのデータを検出するビット線ドライバと、前記ワード線ドライバ及びビット線ドライバを制御して、前記メモリセルにデータを書き込むプログラム動作と、前記メモリセルに書き込まれた前記データを検証するベリファイ動作とを含むループを、前記プログラム電圧を所定のステップアップ電圧だけ増加させながら複数回繰り返す書き込みシーケンスを実行する制御回路と、を有し、前記ビット線ドライバは、前記複数のメモリセルに対する前記ベリファイ動作の結果から前記ループ毎の書き込み完了したメモリセル数又は書き込み不足のメモリセル数を求めるビットスキャン回路とを具備し、前記制御回路は、前記ビットスキャン回路が求めた結果に基づいて、次のループにおける前記所定のステップアップ電圧を決定する。
以下、図面を参照して本発明の実施の形態について詳細に説明する。
本実施の形態は、メモリセルに対する書き込みシーケンスの複数のループにおける書き込みの結果に従って、次のループのプログラム電圧を制御することにより、ばらつきが小さいデバイス特性を得ることを可能にするものである。
(メモリシステムの構成)
図1は、実施形態に関わるメモリシステムの構成例を示すブロック図である。本実施形態のメモリシステムは、メモリコントローラ1と不揮発性メモリ2とを備える。メモリシステムは、ホストと接続可能である。ホストは、例えば、パーソナルコンピュータ、携帯端末などの電子機器である。
図1は、実施形態に関わるメモリシステムの構成例を示すブロック図である。本実施形態のメモリシステムは、メモリコントローラ1と不揮発性メモリ2とを備える。メモリシステムは、ホストと接続可能である。ホストは、例えば、パーソナルコンピュータ、携帯端末などの電子機器である。
不揮発性メモリ2は、データを不揮発に記憶する半導体記憶装置であり、例えば、NANDフラッシュメモリを備えている。本実施形態では、不揮発性メモリ2は、メモリセルあたり3bitを記憶可能なメモリセルを有するNANDメモリ、すなわち3bit/Cell(TLC:Triple Level Cell)のNANDメモリであるとして説明するが、これに限定されるものではない。不揮発性メモリ2は、3次元化されている。
メモリコントローラ1は、ホストからの書き込みリクエストに従って不揮発性メモリ2へのデータの書き込みを制御する。また、メモリコントローラ1は、ホストからの読み出しリクエストに従って不揮発性メモリ2からのデータの読み出しを制御する。メモリコントローラ1は、RAM(Random Access Memory)11、プロセッサ12、ホストインターフェイス13、ECC(Error Check and Correct)回路14およびメモリインターフェイス15を備える。RAM11、プロセッサ12、ホストインターフェイス13、ECC回路14およびメモリインターフェイス15は、互いに内部バス16により接続される。
ホストインターフェイス13は、ホストから受信したリクエスト、ユーザデータである書き込みデータなどを内部バス16に出力する。また、ホストインターフェイス13は、不揮発性メモリ2から読み出されたユーザデータ、プロセッサ12からの応答などをホストへ送信する。
メモリインターフェイス15は、プロセッサ12の指示に基づいてユーザデータ等を不揮発性メモリ2へ書き込む処理および不揮発性メモリ2から読み出す処理を制御する。
プロセッサ12は、メモリコントローラ1を統括的に制御する。プロセッサ12は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等である。プロセッサ12は、ホストからホストインターフェイス13経由でリクエストを受けた場合に、そのリクエストに従った制御を行う。例えば、プロセッサ12は、ホストからのリクエストに従って、不揮発性メモリ2へのユーザデータおよびパリティの書き込みをメモリインターフェイス15へ指示する。また、プロセッサ12は、ホストからのリクエストに従って、不揮発性メモリ2からのユーザデータおよびパリティの読み出しを、メモリインターフェイス15へ指示する。
プロセッサ12は、RAM11に蓄積されるユーザデータに対して、不揮発性メモリ2上の格納領域(以下、メモリ領域という)を決定する。ユーザデータは、内部バス16経由でRAM11に格納される。プロセッサ12は、メモリ領域の決定を、書き込み単位であるページ単位のデータ、すなわちページデータ、に対して実施する。本明細書では、不揮発性メモリ2の1ページに格納されるユーザデータをユニットデータと定義する。ユニットデータは、例えば、符号化されて符号語として不揮発性メモリ2に格納される。
なお、符号化は必須ではない。メモリコントローラ1は、符号化せずにユニットデータを不揮発性メモリ2に格納してもよいが、図1では、一構成例として符号化を行う構成を示している。メモリコントローラ1が符号化を行わない場合には、ページデータはユニットデータと一致する。また、1つのユニットデータに基づいて1つの符号語が生成されてもよいし、ユニットデータが分割された分割データに基づいて1つの符号語が生成されてもよい。また、複数のユニットデータを用いて1つの符号語が生成されてもよい。
プロセッサ12は、ユニットデータごとに書き込み先の不揮発性メモリ2のメモリ領域を決定する。不揮発性メモリ2のメモリ領域には物理アドレスが割当てられている。プロセッサ12は、ユニットデータの書き込み先のメモリ領域を、物理アドレスを用いて管理する。プロセッサ12は、決定したメモリ領域の物理アドレスを指定してユーザデータを不揮発性メモリ2へ書き込むようメモリインターフェイス15へ指示する。プロセッサ12は、ユーザデータの論理アドレス(ホストが管理する論理アドレス)と物理アドレスとの対応を管理する。プロセッサ12は、ホストからの論理アドレスを含む読み出しリクエストを受信した場合は、論理アドレスに対応する物理アドレスを特定し、物理アドレスを指定してユーザデータの読み出しをメモリインターフェイス15へ指示する。
ECC回路14は、RAM11に格納されたユーザデータを符号化して符号語を生成する。また、ECC回路14は、不揮発性メモリ2から読み出された符号語を復号する。
RAM11は、ホストから受信したユーザデータを不揮発性メモリ2へ記憶するまで一時格納したり、不揮発性メモリ2から読み出したデータをホストへ送信するまで一時格納する。RAM11は、例えば、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)などの汎用メモリである。
RAM11は、ホストから受信したユーザデータを不揮発性メモリ2へ記憶するまで一時格納したり、不揮発性メモリ2から読み出したデータをホストへ送信するまで一時格納する。RAM11は、例えば、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)などの汎用メモリである。
図1では、メモリコントローラ1が、ECC回路14とメモリインターフェイス15をそれぞれ備える構成例を示した。しかしながら、ECC回路14がメモリインターフェイス15に内蔵されていてもよい。また、ECC回路14が、不揮発性メモリ2に内蔵されていてもよい。
ホストから書き込みリクエストを受信した場合、メモリコントローラ1は次のように動作する。プロセッサ12は、書き込みデータをRAM11に一時記憶させる。プロセッサ12は、RAM11に格納されたデータを読み出し、ECC回路14に入力する。ECC回路14は、入力されたデータを符号化し、符号語をメモリインターフェイス15に与える。メモリインターフェイス15は、入力された符号語を不揮発性メモリ2に書き込む。
ホストから読み出しリクエストを受信した場合、メモリコントローラ1は次のように動作する。メモリインターフェイス15は、不揮発性メモリ2から読み出した符号語をECC回路14に与える。ECC回路14は、入力された符号語を復号し、復号されたデータをRAM11に格納する。プロセッサ12は、RAM11に格納されたデータを、ホストインターフェイス13を介してホストに送信する。
図2は、本実施形態の不揮発性メモリの構成例を示すブロック図である。不揮発性メモリ2は、NAND I/Oインターフェイス21、制御部22、NANDメモリセルアレイ23、ビット線ドライバ24及びワード線ドライバ25を備える。不揮発性メモリ2は、例えば1チップの半導体基板(例えば、シリコン基板)からなる。
NAND I/Oインターフェイス21は、メモリコントローラ1から出力された、書き込みイネーブル信号WEn、読み出しイネーブル信号REn、アドレスラッチイネーブル信号ALE、コマンドラッチイネーブル信号CLEなどの制御信号を受け取る。また、NAND I/Oインターフェイス21は、メモリコントローラ1から出力された、コマンド、アドレス、データを受け取る。
制御部(制御回路)22は、NAND I/Oインターフェイス21から制御信号、コマンド、アドレス、データを受け取り、それらに基づいて、不揮発性メモリ2の動作を制御する。制御部22は、例えば、制御信号、コマンド、アドレス、データに基づいてワード線ドライバ25やビット線ドライバ24を制御し、書き込み動作、読み出し動作、消去動作等を実行する。
制御部22は、書き込みコマンドが入力された場合、書き込みコマンドに伴って入力されたデータをNANDメモリセルアレイ23上の指定されたアドレスへ書き込むようビット線ドライバ24とワード線ドライバ25を制御する。また、制御部22は、読み出しコマンドが入力された場合、NANDメモリセルアレイ23上の指定されたアドレスからデータを読み出すようビット線ドライバ24とワード線ドライバ25を制御する。
例えば、制御部22は、NANDメモリセルアレイ23に含まれるメモリセル(メモリセルトランジスタ)MTへデータを書き込むために、ワード線ドライバ25によって複数のワード線WLへ印加される電圧や、ビット線ドライバ24によって複数のビット線BLに印加される電圧(ビット線電圧)を制御する。
ビット線ドライバ24は、複数のビット線BLに独立して電圧(または電流)を印加し、また、複数のビット線BLの電圧(または電流)を独立して検出することができるように構成されている。ワード線ドライバ25は、複数のワード線および選択ゲート線に独立して電圧を印加することができるように構成されている。
電圧発生回路26は、制御部22に制御されて、ビット線ドライバ24及びワード線ドライバ25に供給する電圧を発生する。
(NANDメモリセルアレイの構成)
図3は、3次元構造のNANDメモリセルアレイ(以下、メモリセルアレイという)23のブロックの構成例を示す図である。図3はメモリセルアレイ23を構成する複数のブロックのうちの1つのブロックBLKを示している。メモリセルアレイの他のブロックも図3と同様の構成を有する。なお、本実施形態は、2次元構造のメモリセルアレイにも適用可能である。
図3は、3次元構造のNANDメモリセルアレイ(以下、メモリセルアレイという)23のブロックの構成例を示す図である。図3はメモリセルアレイ23を構成する複数のブロックのうちの1つのブロックBLKを示している。メモリセルアレイの他のブロックも図3と同様の構成を有する。なお、本実施形態は、2次元構造のメモリセルアレイにも適用可能である。
図示するように、ブロックBLKは、例えば4つのストリングユニット(SU0〜SU3)を含む。また各々のストリングユニットSUは、複数のNANDストリングNSを含む。NANDストリングNSの各々は、ここでは8個のメモリセルMT(MT0〜MT7)と、選択トランジスタST1,ST2とを含む。なお、NANDストリングNSに含まれるメモリセルMTの個数は、ここでは8個であるが、8個に限られず、例えば、32個、48個、64個、96個等でもよい。選択トランジスタST1,ST2は、電気回路上は1つのトランジスタとして示しているが、構造上はメモリセルトランジスタと同じでもよい。また、例えばカットオフ特性を高めるために、選択トランジスタST1,ST2として、それぞれ複数の選択トランジスタを用いてもよい。 さらに、メモリセルMTと選択トランジスタST1,ST2との間には、ダミーセルトランジスタが設けられていてもよい。
メモリセルMTは、選択トランジスタST1,ST2間において、直列接続されるようにして配置されている。一端側のメモリセルMT7が、選択トランジスタST1に接続され、他端側のメモリセルMT0が、選択トランジスタST2に接続されている。
ストリングユニットSU0〜SU3の各々の選択トランジスタST1のゲートは、それぞれセレクトゲート線SGD0〜SGD3に接続される。他方で、選択トランジスタST2のゲートは、同一のブロックBLK内にある複数のストリングユニットSU間で同一のセレクトゲート線SGSに共通接続される。また、同一のブロックBLK内にあるメモリセルMT0〜MT7のゲートは、それぞれワード線WL0〜WL7に共通接続される。すなわち、ワード線WL0〜WL7及びセレクトゲート線SGSは、同一ブロックBLK内の複数のストリングユニットSU0〜SU3間で共通に接続されているのに対し、セレクトゲート線SGDは、同一ブロックBLK内であってもストリングユニットSU0〜SU3毎に独立している。
NANDストリングNSを構成するメモリセルMT0〜MT7のゲートには、それぞれワード線WL0〜WL7が接続されている。ブロックBLK内において同一行にあるメモリセルMTiのゲートは、同一のワード線WLiに接続される。なお、以下の説明では、NANDストリングNSを単に「ストリング」という場合がある。
各NANDストリングNSは、対応するビット線に接続されている。従って、各メモリセルMTは、NANDストリングNSに含まれる選択トランジスタSTや他のメモリセルMTを介して、ビット線に接続されている。上述した通り、同一のブロックBLK内にあるメモリセルMTのデータは、一括して消去される。一方、データの読み出し及び書き込みは、メモリセルグループMG単位(またはページ単位)で行われる。本明細書では、1つのワード線WLiに接続され、かつ1つのストリングユニットSUに属する複数のメモリセルMTをメモリセルグループMGと定義する。本実施形態では、不揮発性メモリ2は3ビット(8値)のデータを保持可能なTLCのNANDメモリである。従って、1つのメモリセルグループMGが、3ページ分のデータを保持することができる。各メモリセルMTが保持することができる3ビットは、それぞれこの3ページに対応する。
図4は、3次元構造のNANDメモリセルアレイの一部領域の断面図である。図4に示すように、p型ウェル領域(P−well)上に複数のNANDストリングNSが形成されている。すなわち、p型ウェル領域上には、セレクトゲート線SGSとして機能する複数の配線層333、ワード線WLiとして機能する複数の配線層332、およびセレクトゲート線SGDとして機能する複数の配線層331が積層されている。
そして、これらの配線層333,332,331を貫通してp型ウェル領域に達するメモリホール334が形成されている。メモリホール334の側面には、ブロック絶縁膜335、電荷蓄積膜(電荷保持領域)336、およびゲート絶縁膜337が順次形成され、更にメモリホール334内に導電体柱338が埋め込まれている。導電体柱338は、例えばポリシリコンからなり、NANDストリングNSに含まれるメモリセルMT並びに選択トランジスタST1及びST2の動作時にチャネルが形成される領域として機能する。すなわち、配線層331と導電体柱338とそれらの間の膜335〜337がそれぞれ選択トランジスタST1として機能し、配線層332と導電体柱338とそれらの間の膜335〜337がそれぞれメモリセルMTとして機能し、配線層333と各導電体柱338とそれらの間の膜335〜337が選択トランジスタST2として機能する。
なお、図4では、メモリホール334及び導電体柱338は、同一径の円柱形状であるものとして示したが、実際にはp型ウェル領域に向かって細径となるテーパ形状を有する。また、製造工程によっては、メモリホール334及び導電体柱338は、テーパ形状の途中で拡径して再びp型ウェル領域に向かって細径となる複数段のテーパ形状を有することもある。
各NANDストリングNSにおいて、p型ウェル領域上に選択トランジスタST2、複数のメモリセルMT、及び選択トランジスタST1が順に形成されている。導電体柱338よりも上側には、ビット線BLとして機能する配線層が形成される。導電体柱338の上端には、導電体柱338とビット線BLとを接続するコンタクトプラグ339が形成されている。
さらに、p型ウェル領域の表面内には、n+型不純物拡散層およびp+型不純物拡散層が形成されている。n+型不純物拡散層上にはコンタクトプラグ340が形成され、コンタクトプラグ340上には、ソース線SLとして機能する配線層が形成される。
以上の図4に示した構成が、図4の紙面の奥行き方向に複数配列されており、奥行き方向に一列に並ぶ複数のNANDストリングの集合によって、1つのストリングユニットSUが形成される。
メモリセルMTへのデータの書き込み動作は、大まかにはプログラム動作とベリファイ動作とを含む。プログラム動作は、電子を電荷蓄積膜336に注入することによりメモリセルMTの閾値電圧を上昇させる(または注入を禁止することで閾値電圧を維持させる)動作のことである。プログラム動作時には、制御部22は、ワード線ドライバ25を制御して対象のメモリセルMTに接続されたワード線WLにプログラム電圧VPGMを印加し、ビット線ドライバ24を制御して対象のメモリセルMTに接続されたビット線BLに、書き込むデータに対応したビット線電圧を印加する。なお、ビット線電圧及びプログラム電圧VPGMは、電圧発生回路26により発生されてビット線ドライバ24、ワード線ドライバ25に供給される。
以下では、閾値電圧を上昇させる動作を「“0”プログラム」または「“0”書き込み」と呼び、閾値電圧を維持させる動作を「“1”プログラム」、「“1”書き込み」、または「書き込み禁止」と呼ぶ。“0”プログラム対象とされたビット線BLには“0”データに対応したビット線電圧Vbl_Lが印加される。“1”プログラム対象とされたビット線BLには“1”データに対応したビット線電圧Vbl_Hが印加される。例えば、ビット線電圧Vbl_Lは0Vであり、ビット線電圧Vbl_Hは2.5Vである。
(閾値分布)
多値のデータをメモリセルMTに書き込む場合には、メモリセルMTの閾値電圧をデータの値に応じた値にする。メモリセルMTにプログラム電圧VPGM及びビット線電圧Vbl_Lを印加すると、電子が電荷蓄積膜336に注入されて閾値電圧が上昇する。プログラム電圧VPGMを大きくすることで電子の注入量を増加させて、メモリセルMTの閾値電圧を高くすることができる。しかし、メモリセルMTのばらつきにより同一のプログラム電圧VPGMを印加したとしても電子の注入量はメモリセルMT毎に異なる。一旦注入された電子は、消去動作が行われるまで保持される。そこで、各メモリセルMTに設定すべき閾値電圧として許容できる閾値電圧の範囲(以下、ターゲット領域という)を超えないように、書き込み動作を複数回に分けプログラム電圧VPGMを徐々に上昇させるようになっている。
多値のデータをメモリセルMTに書き込む場合には、メモリセルMTの閾値電圧をデータの値に応じた値にする。メモリセルMTにプログラム電圧VPGM及びビット線電圧Vbl_Lを印加すると、電子が電荷蓄積膜336に注入されて閾値電圧が上昇する。プログラム電圧VPGMを大きくすることで電子の注入量を増加させて、メモリセルMTの閾値電圧を高くすることができる。しかし、メモリセルMTのばらつきにより同一のプログラム電圧VPGMを印加したとしても電子の注入量はメモリセルMT毎に異なる。一旦注入された電子は、消去動作が行われるまで保持される。そこで、各メモリセルMTに設定すべき閾値電圧として許容できる閾値電圧の範囲(以下、ターゲット領域という)を超えないように、書き込み動作を複数回に分けプログラム電圧VPGMを徐々に上昇させるようになっている。
そして、プログラム動作の後、データを読み出すことで、メモリセルの閾値電圧がターゲット領域まで達したか否かを判定するベリファイ動作が行われる。以上のプログラム動作とベリファイ動作の組み合わせを繰り返すことで、メモリセルの閾値電圧がターゲット領域まで上昇される。ベリファイ動作により閾値電圧がターゲット領域まで達した、即ち、ターゲット領域の最低値であるターゲットレベルを超えたと判定されたメモリセルは、その後、書き込み禁止とされる。
図5は横軸に閾値電圧をとり縦軸にメモリセル数(セル数)をとって、メモリセルアレイの閾値分布を示す図である。図5では、3bit/Cellの不揮発性メモリ2の閾値分布例を示している。不揮発性メモリ2において、メモリセルMTに記憶する多値データの各データ値に応じて、メモリセルMTの閾値電圧が設定される。電荷蓄積膜(電荷保持領域)への電荷量の注入は、確率的であるため、図5に示すように、各メモリセルMTの閾値電圧も統計的に分布する。
図5は閾値分布をDEr,DA,DB,DC,・・・,DGの8個の山型の領域にて示しており、これらの各領域の閾値電圧の幅が各ターゲット領域に対応する。図5の例では、8個のターゲット領域内のいずれかにメモリセルMTの閾値電圧を設定することで、メモリセルMTに8値のデータ(3ビットデータ)を記憶させることが可能である。
本実施形態では、閾値電圧Vthが図5の電圧VrA以下となるターゲット領域をErレベルとよび、閾値電圧が電圧VrAより大きく電圧VrB以下となるターゲット領域をAレベルとよび、閾値電圧が電圧VrBより大きく電圧VrC以下となるターゲット領域をBレベルとよび、閾値電圧が電圧VrCより大きく電圧VrD以下となるターゲット領域をCレベルとよぶ。以下同様に、図5に示すように、DレベルからGレベルが、それぞれの電圧に応じて設定される。
すなわち、レベルは、各メモリセルMTに記憶させるデータ値に対応したいずれのターゲット領域であるかを示すものであり、3ビット8値の場合にはターゲット領域は、Er,A〜Gレベルの8個のレベルに分けられる。なお、各Er,A,B,・・・,F,Gレベルにそれぞれ対応する閾値分布をそれぞれ分布DEr,DA,DB,・・・,DF,DGと呼ぶ。電圧VrA〜VrGは、各ターゲット領域の境界となる基準電圧である。なお、ベリファイ動作においては、ワード線WLに電圧VrA〜VrGをベリファイレベル(電圧)として印加して読み出し行い、対象のメモリセルMTがオフになることによりレベルに対応した閾値電圧に到達したことを判定してもよい。なお、以下の説明では、A〜Gレベルのベリファイに用いるベリファイ電圧VrA〜VrGをそれぞれA〜Gベリファイレベルともいう。
(書き込み動作)
図6は、書き込み動作時における各配線の電位変化を示す図である。図6は、プログラム動作時における各配線の電位変化を示している。なお、図6に示す各電圧についても、制御部22に制御された電圧発生回路26によって発生される。
図6は、書き込み動作時における各配線の電位変化を示す図である。図6は、プログラム動作時における各配線の電位変化を示している。なお、図6に示す各電圧についても、制御部22に制御された電圧発生回路26によって発生される。
プログラム動作は、ワード線及びビット線に印加するプログラム電圧及びビット線電圧に従って行われる。ワード線(図6の選択WL,非選択WL)に電圧が印加されないブロックBLKは、書き込み対象でない非選択BLK(図6下段)である。また、ビット線電圧は、ビット線BLに接続された選択トランジスタST1が導通することによりメモリセルMTに印加されるので、書き込み対象のブロックBLK(選択BLK)のうち、セレクトゲート線SGDが印加されないストリングユニットSUは書き込み対象でない非選択SU(図6中段)である。なお、選択BLKの非選択SU(図6中段)についても、プログラム電圧VPGMの印加の前に、セレクトゲート線SGDを例えば5Vにして選択トランジスタST1を導通させておくようにしてもよい。
書き込み対象のブロックBLK(選択BLK)の書き込み対象のストリングユニットSU(選択SU)(図6上段)については、プログラム電圧VPGMの印加の前に、図6上段の左側に示すように、セレクトゲート線SGDを例えば5Vにして、選択トランジスタST1を導通させておく。また、書き込み動作時には、セレクトゲート線SGSは例えば0Vである。従って、選択トランジスタST2はオフ状態となる。一方、図6上段の右側に示すプログラム電圧VPGM印加時には、セレクトゲート線SGDを例えば2.5Vとする。これにより、選択トランジスタST1の導通、非導通の状態は、選択トランジスタST1に接続されるビット線BLのビット線電圧によって決まる。
書き込み対象のブロックBLK(選択BLK)の書き込み対象のストリングユニットSU(選択SU)(図6上段)については、プログラム電圧VPGMの印加の前に、図6上段の左側に示すように、セレクトゲート線SGDを例えば5Vにして、選択トランジスタST1を導通させておく。また、書き込み動作時には、セレクトゲート線SGSは例えば0Vである。従って、選択トランジスタST2はオフ状態となる。一方、図6上段の右側に示すプログラム電圧VPGM印加時には、セレクトゲート線SGDを例えば2.5Vとする。これにより、選択トランジスタST1の導通、非導通の状態は、選択トランジスタST1に接続されるビット線BLのビット線電圧によって決まる。
上述したように、ビット線ドライバ24は、各ビット線BLにデータを転送する。“0”データが与えられたビット線BLにはビット線電圧Vbl_Lとして例えば0Vの接地電圧Vssが印加される。“1”データが与えられたビット線BLにはビット線電圧Vbl_Hとして書き込み禁止電圧Vinhibit(例えば2.5V)が印加される。従って、プログラム電圧VPGM印加時には、“0”データが与えられたビット線BLに接続された選択トランジスタST1は導通し、“1”データが与えられたビット線BLに接続された選択トランジスタST1はカットオフする。カットオフした選択トランジスタST1に接続されているメモリセルMTは書き込み禁止となる。
導通状態となった選択トランジスタST1に接続されているメモリセルMTは、ワード線WLに印加される電圧に従って電荷蓄積膜への電子の注入が行われる。ワード線電圧として、電圧VPASSが与えられたワード線WLに接続されたメモリセルMTは、閾値電圧に拘わらず導通状態となるが、電荷蓄積膜への電子の注入は行われない。一方、ワード線電圧として、プログラム電圧VPGMが与えられたワード線WLに接続されたメモリセルMTは、プログラム電圧VPGMに応じて電荷蓄積膜への電子の注入が行われる。
即ち、ワード線ドライバ25は、選択ブロックBLKにおいていずれかのワード線WLを選択し、選択ワード線に電圧VPGMを印加し、その他の非選択ワード線WLに電圧VPASSを印加する。電圧VPGMは、トンネル現象により電子を電荷蓄積膜に注入するための高電圧であり、VPGM>VPASSである。ワード線ドライバ25によってワード線WLの電圧を制御しながら、ビット線ドライバ24によって各ビット線BLにデータを供給することで、メモリセルアレイ23の各メモリセルMTへの書き込み動作が行われる。
図7は書き込み動作時のストリングの様子を示す回路図である。
図7では、“0”書き込み対象のビット線BL、及び、“1”書き込み対象のビット線BLに対応する2つのNANDストリングを図示している。また、ワード線WL3が選択された際の様子を示している。
図示するように、選択ワード線WL3には電圧VPGMが印加され、非選択ワード線WL0〜WL2及びWL4〜WL7には電圧VPASSが印加される。
そして、“0”書き込み対象のビット線BLに対応するNANDストリングでは、選択トランジスタST1がオン状態となる。そのため、選択ワード線WL3に接続されたメモリセルMT3のチャネル電位Vchは0Vとなる。すなわち、ゲートとチャネルとの間の電位差が大きくなり、その結果、電子が電荷蓄積膜に注入されて、メモリセルMT3の閾値電圧が上昇される。
“1”書き込み対象のビット線BLに対応するNANDストリングでは、選択トランジスタST1がカットオフ状態となる。そのため、選択ワード線WL3に接続されたメモリセルMT3のチャネルは電気的にフローティングとなり、ワード線WL等との容量カップリングによりチャネル電位Vchは電圧VPGM近くまで上昇される。すなわち、ゲートとチャネルとの間の電位差が小さくなり、その結果、電子は電荷蓄積膜に注入されず、メモリセルMT3の閾値電圧は維持される(閾値分布レベルがより高い分布に遷移するほどには閾値電圧は変動しない)。
(標準書き込みシーケンス)
図8は標準書き込みシーケンスを説明するための図である。図8ではプログラム動作とベリファイ動作との組み合わせが18回繰り返されることによって、データが書き込まれる場合を例に示している。この繰り返し動作を「ループ」と呼ぶ。1回目のループにおけるプログラム電圧VPGMは最も低い電圧値に設定され、2回目、3回目・・・とループが進むにつれて、次第にプログラム電圧VPGMを大きな電圧値に設定するようになっている。また、図8中の丸印はベリファイ動作を行うことが可能なループを示している。また、各A〜Gレベルにおいて、プログラム動作は、1回目のループから最大でそれぞれ丸印が含まれるループまで行われる。以下、1回目から18回目までのループのうちn回目のループを第nループという。
図8は標準書き込みシーケンスを説明するための図である。図8ではプログラム動作とベリファイ動作との組み合わせが18回繰り返されることによって、データが書き込まれる場合を例に示している。この繰り返し動作を「ループ」と呼ぶ。1回目のループにおけるプログラム電圧VPGMは最も低い電圧値に設定され、2回目、3回目・・・とループが進むにつれて、次第にプログラム電圧VPGMを大きな電圧値に設定するようになっている。また、図8中の丸印はベリファイ動作を行うことが可能なループを示している。また、各A〜Gレベルにおいて、プログラム動作は、1回目のループから最大でそれぞれ丸印が含まれるループまで行われる。以下、1回目から18回目までのループのうちn回目のループを第nループという。
例えば、Bレベルに設定するメモリセルMTについては、第1ループから最大で第8ループまでプログラム電圧VPGMを次第に増加させながらプログラム動作が行われる可能性がある。ベリファイ動作は丸印のループのみ行われ、ベリファイ動作によって、設定されているターゲット領域に閾値電圧が到達したと判定されたメモリセルMTについては、その後、書き込み禁止とされる。
図9はベリファイ動作における判定を行うビット線ドライバ24の内部回路の一例を模式的に示す回路図である。ビット線ドライバ24は、メモリセルアレイ23内に設けられたビット線BLに接続されている。ビット線ドライバ24中のセンスアンプ回路32は、ビット線BLの電位変動を検知及び増幅し、メモリセルに記憶されたデータを判別する。
ビット線ドライバ24は、カラムデコーダ31、センスアンプ回路32、ビットスキャン回路33及び演算ユニット34を含む。カラムデコーダ31は 、制御部22から転送されたカラムアドレスに基づいてメモリセルアレイ23のビット線BLを選択して、センスアンプ回路32を駆動する。
センスアンプ回路32は、複数のカラムユニットCUを含んでいる。各カラムユニットCUは、各ビット線BLにそれぞれ対応するように、設けられている。各カラムユニットCUは、1つのセンスユニット(SU)321及び1つのラッチ回路325を含んでいる。センスユニット321及びラッチ回路325は、メモリセルアレイ23のビット線BLに対応するように、1つのビット線に対して1つずつ設けられている。つまり、1つのセンスユニット321と1つのラッチ回路325が、1つのビット線BL及びそのビット線BLに接続されたNANDストリングNSに対応している。1つのセンスユニット321は、1本のビット線BLに接続される。1つのラッチ回路325は、センスユニット321を経由して、ビット線BLに接続される。
センスユニット321は、データの書き込み時、カラムデコーダ31及び制御部22の制御によって、ビット線BLを充電したり放電したりする。センスユニット321は、データの読み出し時、ビット線BLの電位変動を検知し、データを判別する。
ラッチ回路325は、メモリセルに書き込むデータ、メモリセルから読み出されたデータ及びメモリセルに対する動作を示す設定情報(以下、フラグとよぶ)などを、一時的に保持する。また、ラッチ回路325によって、センスユニット321からの信号又は外部からの信号が増幅される。
ラッチ回路325は、複数のラッチ(LAT)90を有する。本実施形態において、データを保持するラッチ90のことを、データラッチ90とよび、フラグを保持するラッチ90のことを、フラグラッチ90と呼ぶ。ラッチ回路325内のデータラッチ90は、データの書き込み時において、そのラッチ回路325に対応しているメモリセルグループMGに書き込むべきデータ(外部からのデータ)を保持する。また、ラッチ回路325内のデータラッチ90は、データの読み出し時において、そのラッチ回路325に対応しているメモリセルグループMGから読み出されたデータ(メモリセルからのデータ)を保持する。1つのデータラッチ90は、1ビットのデータを保持する。
例えば、ベリファイ時、ベリファイ結果に基づいて、所定のデータの書き込みが完了したメモリセル(ベリファイパスしたメモリセル)に対応するカラムユニットCUのラッチ回路325に、書き込み完了を示す情報が保持される。これによって、書き込みが完了したメモリセルに対してデータの書き込みが継続されるのを抑制される。
ラッチ回路325内のフラグラッチ90が保持するフラグは、例えば、入力されたデータが2値(1ビット)のデータであるか多値(2ビット以上)のデータであるかを示す情報、或いは、どのような書き込みモードでデータを書き込むべきかを示す情報である。例えば、1つのメモリセルが4値(2ビット)のデータを記憶する場合、ラッチ回路325は、2つのデータラッチ90を有する。ラッチ回路325内に設けられた2つのデータラッチのうち、一方のデータラッチ90は、2ビットのうち上位の1ビットを保持し、他方の下位データラッチ90は、2ビットのうち下位の1ビットを保持する。ラッチ回路325は、1つ以上のフラグラッチ90を有する。また、ラッチ回路325は、ベリファイ結果を保持するラッチ90を有する。但し、ベリファイ結果(ベリファイ情報ともよばれる)は、フラグラッチなどに書き込まれてもよい。
なお、4値のデータの場合には、少なくとも2つのデータラッチと少なくとも1つのフラグラッチが、ラッチ回路325内に設けられているが、データのビット数が増加すると、データラッチの個数は、増大する。例えば、メモリセルMCが8値(3ビット)のデータを記憶する場合、ラッチ回路325は3つのデータラッチを有する。つまり、ラッチ回路325は、最上位の1ビットを保持するデータラッチと、最下位の1ビットを保持するデータラッチと、最上位と最下位との間の1ビットを保持するデータラッチとを有する。これと同様に、データが16値(4ビット)の場合、ラッチ回路325内のデータラッチの個数は4個となり、データが32値(5ビット)の場合、ラッチ回路325内のデータラッチの個数は5個となる。フラグラッチの個数は、メモリの仕様に応じて、1個でもよいし、2個以上でもよい。
本実施の形態においては、ラッチ90は、ベリファイパスしたメモリセル数(以下、パスセル数という)の情報及びベリファイフェイルしたメモリセル数(以下、フェイルセル数という)の情報のうちの少なくとも一方の情報を記憶するようになっている。
(ベリファイ動作)
次に、ベリファイ動作の一例について説明する。まず、ワード線ドライバ25は、選択ワード線に、目標レベルに対応したベリファイレベル(電圧)Vrを印加し、非選択ワード線に、ベリファイ電圧Vrよりも高い非選択読み出し電圧VPASS(例えば、5〜7V)を印加する。ベリファイ動作時には、制御部22は、ビット線ドライバ24を制御して、ビット線BLを一定の電圧(例えば、0.5V)に固定すると共に、センスユニット321内部の図示しないセンスノードSENをビット線BLの電圧よりも高い所定のプリチャージ電圧Vpreに充電する。この状態で、制御部22は、センスノードSENをビット線BLに接続する。そうすると、センスノードSENからビット線BLに電流が流れ、センスノードSENの電圧は次第に低下する。
次に、ベリファイ動作の一例について説明する。まず、ワード線ドライバ25は、選択ワード線に、目標レベルに対応したベリファイレベル(電圧)Vrを印加し、非選択ワード線に、ベリファイ電圧Vrよりも高い非選択読み出し電圧VPASS(例えば、5〜7V)を印加する。ベリファイ動作時には、制御部22は、ビット線ドライバ24を制御して、ビット線BLを一定の電圧(例えば、0.5V)に固定すると共に、センスユニット321内部の図示しないセンスノードSENをビット線BLの電圧よりも高い所定のプリチャージ電圧Vpreに充電する。この状態で、制御部22は、センスノードSENをビット線BLに接続する。そうすると、センスノードSENからビット線BLに電流が流れ、センスノードSENの電圧は次第に低下する。
センスノードSENの電圧は、ベリファイ対象のメモリセル(選択メモリセル)の閾値電圧の状態に応じて変化する。即ち、選択メモリセルの閾値電圧がベリファイ電圧Vrよりも低いときは、選択メモリセルはオン状態であり、選択メモリセルに大きなセル電流が流れ、センスノードSENの電圧が低下する速度は速くなる。また、選択メモリセルの閾値電圧がベリファイ電圧Vrよりも高いときは、選択メモリセルはオフ状態であり、選択メモリセルに流れるセル電流は、小さいか、又は、選択メモリセルにセル電流が流れず、センスノードSENの電圧が低下する速度は遅くなる。
このようなセンスノードSENの電圧低下の速度の差を利用して、選択メモリセルの書き込みの状態が判定されて、ベリファイ結果がラッチ90に記憶される。例えば、センスノードSENの電荷を放電し始める放電開始時から所定の第1期間が経過した第1時点で、センスノードSENの電圧がローレベル(以下、"L")であるかハイレベル(以下、"H")であるかが判定される。例えば、選択メモリセルが書き込み不足セルであるときは、その閾値電圧がベリファイ電圧Vrよりも低く、かつ、両者の差が大きいため、選択メモリセルは完全オン状態であり、選択メモリセルに大きなセル電流が流れる。このため、センスノードSENの電圧は、急速に低下し、電圧降下量は比較的大きく、第1時点において、センスノードSENが“L”になる。
また、選択メモリセルが書き込み完了セルであるときは、その閾値電圧がベリファイ電圧Vrよりも高いため、選択メモリセルはオフ状態であり、選択メモリセルに流れるセル電流は、非常に小さいか、又は、選択メモリセルにセル電流が流れない。このため、センスノードSENの電圧は、非常に緩やかに低下し、電圧降下量は比較的小さく、第1時点において、センスノードSENは、“H”のままとなる。
このように、ワード線ドライバ25により選択ワード線にベリファイ電圧Vrを印加しながら、センスアンプ回路32がセンスノードSENの状態を監視することで、選択メモリセルが書き込み不足セルであるか、選択メモリセルが書き込み完了セルであるかが判定される。
制御部22は、書き込み不足セル、又は書き込み完了セルのいずれであるかの判定結果に基づいて、書き込み対象のメモリセルMTのレベル、ループ等に応じたプログラム電圧を発生させるようになっている。
図10は一般的なプログラム動作とベリファイ動作においてワード線WLに印加する電圧の変化を示す説明図である。図10の例は図8の第7から第12ループに対応する。図10に示すように、プログラム電圧VPGMは、ループ毎に大きな電圧値となる。第7ループでは、図8に示すように、Bレベル及びCレベルのメモリセルMTに対してベリファイが行われる。即ち、図10に示すように、プログラム電圧VPGMの印加後に、Bレベルに対するベリファイ(以下、Bベリファイという)を行うためのBベリファイレベル(VrB)をワード線WLに印加した状態で、Bレベルのメモリセルが書き込み不足セルである状態であるか、書き込み完了セルの状態であるかが判定される。センスアンプ回路32は、Bレベルのメモリセルが書き込み不足の場合にはBベリファイはベリファイフェイルと判定し、書き込み完了の場合にはBベリファイはベリファイパスと判定する。
次に、Cレベルに対するベリファイ(以下、Cベリファイという)を行うためのベリファイレベル(VrC)をワード線WLに印加した状態で、Cレベルのメモリセルが書き込み不足セルである状態であるか、書き込み完了セルの状態であるかを判定する。センスアンプ回路32は、Cレベルのメモリセルが書き込み不足の場合にはCベリファイはベリファイフェイルと判定し、書き込み完了の場合にはCベリファイはベリファイパスと判定する。
第8ループでは、Bベリファイ及びCベリファイに続けて、Dレベルに対するベリファイ(以下、Dベリファイという)が行われる。Dベリファイでは、ベリファイレベル(VrD)をワード線WLに印加した状態で、Dレベルのメモリセルが書き込み不足セルである状態であるか、書き込み完了セルの状態であるかを判定する。センスアンプ回路32は、Dレベルのメモリセルが書き込み不足の場合にはDベリファイはベリファイフェイルと判定し、書き込み完了の場合にはDベリファイはベリファイパスと判定する。
このように、制御部22はA〜Gレベルに対するベリファイ(Aベリファイ〜Gベリファイ)において、A〜Gベリファイレベル(VrA〜VrB)を印加し、センスアンプ回路32は、ベリファイフェイルであるかベリファイパスであるかを判定する。ベリファイパスと判定されたメモリセルについては以後書き込み禁止とされ、ベリファイフェイルと判定されたメモリセルについては、図8の書き込みシーケンスに従ってプログラム電圧VPGMを増加させながら次のループにおいて書き込みを継続する。
(プログラムスロープ)
次に、図15から図18を参照してプログラムスロープのばらつきに起因するデバイス特性のばらつきについて説明する。
次に、図15から図18を参照してプログラムスロープのばらつきに起因するデバイス特性のばらつきについて説明する。
メモリセルへの書き込みは、上述したように、複数のループによる所定の書き込みシーケンスに従って行われる。ループ毎にメモリセルに印加するプログラム電圧VPGMは変化し、プログラム電圧VPGMの変化分(以下、ステップアップ電圧という)ΔVPGMだけ、閾値電圧Vthが変化する。閾値電圧Vthの変化分ΔVthとプログラム電圧のステップアップ電圧ΔVPGMとの比(ΔVth/ΔVPGM)をプログラムスロープ(Program slope)という。
プログラムスロープは、MANOS(metal-almina-nitride-oxide-silicon)膜の膜厚、誘電率、メモリホール径等によって決まる値である。メモリセルの3次元構造化により、成膜・加工難易度が極めて高くなり、MANOS膜の均一性は悪化している。このため、プログラムスロープにばらつきが生じやすい。
図15は横軸にプログラム電圧VPGMをとり縦軸にプログラムスロープをとって、メモリセルアレイ23の各メモリセルについてプログラムスロープの書き込み電圧依存性を示すグラフである。図15に示すように、プログラムスロープは、プログラム電圧VPGMに依存して変化し、その変化率は一定ではない。例えば、図15では、プログラム電圧VPGMが高くなる程プログラムスロープが高くなる傾向を示している。
図16は横軸にワード線WLの位置(上層、中層、下層)をとり縦軸にプログラムスロープをとって、プログラムスロープのワード線依存性を示すグラフである。図16では、3次元構造の上層位置、中層位置、下層位置のワード線WLについて、プログラムスロープの値毎にメモリセル数を横向きの棒グラフによって示している。3次元構造では、ワード線WLの位置によってメモリホール径が異なることに起因して、図16に示すように、プログラムスロープはワード線WLの位置に依存して変化し、その中央値の変化は大まかには曲線矢印のような特性を有し、変化率は一定ではない。
図17は横軸にウェハ中央からの距離に応じたチップ位置をとり縦軸にプログラムスロープをとって、プログラムスロープのチップ位置依存性を示すグラフである。図17では、ウェハ中央近傍の所定位置、ウェハ端近傍の所定の値及びこれらの間の所定の3箇所の位置に形成するチップについて、各メモリセルのプログラムスロープの値をプロットしたものであり、四角枠は所定セル数以上であることを示し、四角枠の中央の横線は中央値を示している。図17に示すように、プログラムスロープは、チップが形成されるウェハ上の位置に応じて変化し、その中央値の変化は大まかには曲線矢印のような特性を有し、変化率はウェハ中央からの距離に対して一定ではない。
このように、プログラムスロープは、チップ位置、ワード線WLの位置、プログラム電圧に応じてばらつきを有する。このようなプログラムスロープのばらつきによって、プログラム時間や閾値分布にばらつきが生じる。
図18は横軸にプログラム時間をとり縦軸に累積確率をとって書き込み時間の変動を示すグラフである。プログラムスロープがばらつきを有することから、図18に示すように、書き込み時間にばらつきが生じしてしまう。
このように、プログラムスロープのばらつきに起因して、閾値分布や書き込み時間にばらつきが生じる。プログラムスロープは、プログラム電圧VPGM、ワード線WL、チップ位置に依存したばらつきを有しており、事前にプログラムスロープのばらつきを予測し、閾値分布や書き込み時間のばらつきを抑制する書込み制御を行うことは困難である。
(ステップアップ電圧ΔVPGMの制御)
そこで、本実施の形態においては、プログラムスロープのばらつきに応じてベリファイ結果が変動することを利用し、書き込みシーケンスにおける各ループのベリファイ結果に応じてプログラム電圧VPGMを設定することで、プログラムスロープによるデバイス特性のばらつきを抑制することを可能にする。各ループのベリファイ結果を利用するために、ビットスキャン回路33が設けられる。
そこで、本実施の形態においては、プログラムスロープのばらつきに応じてベリファイ結果が変動することを利用し、書き込みシーケンスにおける各ループのベリファイ結果に応じてプログラム電圧VPGMを設定することで、プログラムスロープによるデバイス特性のばらつきを抑制することを可能にする。各ループのベリファイ結果を利用するために、ビットスキャン回路33が設けられる。
図9において、ビットスキャン回路33は、書き込みシーケンスにおいて、ラッチ回路325のデータ保持状態をスキャン(検知)する。ビットスキャン回路33は、例えば、カウンタにより構成することができる。ビットスキャン回路33は、例えば、ラッチ回路325が保持するベリファイ結果に基づいて、A〜Gレベルについてレベル毎にベリファイをパスしたメモリセル数をカウントする。なお、ビットスキャン回路33は、データの書き込みが完了したメモリセルを数えるだけでなく、データの書き込みが完了していないメモリセル、つまり、ベリファイフェイルのメモリセルの個数を数えるようにしてもよい。
ビットスキャン回路33は、書き込みシーケンスの各ループ毎にベリファイパス又はベリファイフェイルのセル数の情報を求めて演算ユニット34に出力する。演算ユニット34は、ビットスキャン回路33からの情報を用いた演算処理を行い、演算結果を制御部22に出力する。
制御部22は、演算ユニット34の演算結果に基づいて、印加電圧の調整、書き込み動作又は読み出し動作の適否を判断する。演算ユニット34の演算結果は、制御部22に直接転送される場合もあるし、カラムユニットCU内のラッチ回路325内に保持される場合もある。
本実施の形態においては、演算ユニット34は、レベルが同一のメモリセルについて、異なるループにおけるベリファイパスしたメモリセル数(パスセル数)同士の差又はベリファイフェイルしたメモリセル数(フェイルセル数)同士の差を求める。
制御部22は、パスセル数の差又はフェイルセル数の差とステップアップ電圧ΔVPGMとの対応関係を決定するためのテーブルを記憶したレジスタ22aを有している。レジスタ22aの設定内容は、ホストの制御によって、適宜変更可能である。制御部22は、演算ユニット34が求めたパスセル数同士の差又はフェイルセル数同士の差に応じて次のループにおけるプログラム電圧のステップアップ電圧ΔVPGMを決定する。例えば、制御部22は、演算ユニット34の演算結果とレジスタ22aに記憶されたテーブルの情報とに基づいてステップアップ電圧ΔVPGMを決定してもよい。
例えば、制御部22は、書き込みシーケンスの第Nループ(Nは3以上の整数)のステップアップ電圧ΔVPGMを決定するために、演算ユニット34から第(N−2)ループと第(N−1)ループにおけるパスセル数同士の差又はフェイルセル数同士の差を読み出し、この差に基づいてステップアップ電圧ΔVPGMを決定する。
例えば、制御部22は、パスセル数同士の差が比較的小さい、即ち、第(N−1)ループのプログラム電圧VPGMの印加によってベリファイフェイルからベリファイパスに変化したセル数が比較的少ない場合には、プログラムスロープが比較的小さいものとして、ステップアップ電圧ΔVPGMを比較的大きな値に設定する。逆に、制御部22は、パスセル数同士の差が比較的大きい、即ち、第(N−1)ループのプログラム電圧VPGMの印加によってベリファイフェイルからベリファイパスに変化したセル数が比較的多い場合には、プログラムスロープが比較的大きいものとして、ステップアップ電圧ΔVPGMを比較的小さい値に設定する。
これにより、プログラムスロープのばらつきに拘わらず、閾値分布のばらつきを抑制すると共に、書き込み時間のばらつきを抑制することができる。また、パスセル数又はフェイルセル数によるステップアップ電圧ΔVPGMの制御は、書き込みシーケンスのループ毎に行われるので、ワード線WLの位置やチップ位置に依存したプログラムスロープのばらつきの影響を受けることもない。
なお、制御部22が、ビットスキャン回路33及び演算ユニット34の少なくとも一方と実質的に同じ機能を有していてもよく、カウント、差分演算、ステップアップ電圧ΔVPGMの決定をこれらのいずれの回路が実行するようにしてよい。例えば、演算ユニット34がステップアップ電圧ΔVPGMの値を決定して制御部22にその情報を出力するようにしてもよい。
次に、このように構成された実施の形態の動作について図11から図14を参照して説明する。図11から図14は本実施の形態におけるステップアップ電圧ΔVPGMの決定手法を説明するための説明図である。図11はステップアップ電圧ΔVPGMの決定に用いるループを18ループの書き込みシーケンスを例に説明するものであり、図12は図11の第7から第14ループにおける選択ワード線WLに印加する電圧を説明するものである。また、図13は横軸に電圧をとって閾値分布とベリファイパスセルとの関係を示し、図14はステップアップ電圧ΔVPGMの設定例を示すものである。
図11におけるA〜G及び丸印は、丸印に対応するループにおいて、A〜GベリファイレベルでのA〜Gベリファイが行われる可能性があることを示している。図11は第1〜18ループにおいて、第Nループのステップアップ電圧ΔVPGMの決定に用いる第(N−2)ループのベリファイパスセルと第(N−1)ループのベリファイパスセルとの関係を示している。なお、以下の説明では、ステップアップ電圧ΔVPGMの決定にはベリファイパスセルを用いる例について説明するが、上述したように、ベリファイフェイルセルを用いてもよい。
図11の斜線部は、ビットスキャン回路33においてパスセル数を計測する対象のベリファイを示している。なお、パスセル数を計測する対象のベリファイは、図11の例に限らない。図11の例では、第1〜3ループでは、Aベリファイについてのみパスセル数を計測し、第4ループではAベリファイ及びBベリファイについてパスセル数を計測する。同様に、Bベリファイについては第4〜6ループにおいてパスセル数を計測し、Cベリファイについては第6〜8ループにおいてパスセル数を計測し、Dベリファイについては第8〜10ループにおいてパスセル数を計測し、Eベリファイについては第10〜12ループにおいてパスセル数を計測し、Fベリファイについては第12〜14ループにおいてパスセル数を計測し、Gベリファイについては第14〜17ループにおいてパスセル数を計測する。
本実施の形態は、例えば、第(N−1)ループのプログラム電圧VPGMと第NループのプログラムVPGMとの差分のステップアップ電圧ΔVPGMをステップアップ電圧ΔVPGM_Nで表すと、ステップアップ電圧ΔVPGM_Nは、同一ベリファイレベルによって取得された第(N−2)ループと第(N−1)ループのパスセル数同士の差分に応じて設定される。図11における検知対象ベリファイパスセルの欄は、ステップアップ電圧ΔVPGMの算出に用いるパスセル数をいずれのベリファイにより検知するかを示している。即ち、図11のこの欄は、A〜Gによりベリファイレベルを示し、添え字の数字によりループを示している。例えば“B5”は、第5ループにおいてBベリファイの結果得られたパスセル数をステップアップ電圧ΔVPGMの算出に用いることを示し、例えば“C7”は、第7ループにおいてCベリファイの結果得られたパスセル数をステップアップ電圧ΔVPGMの算出に用いることを示している。
例えば、図11及び図12に示すように、第9ループのプログラム電圧VPGMの設定に際して第8ループのプログラム電圧VPGMに加えるステップアップ電圧ΔVPGM_9の決定には、第7,8ループのCベリファイにより得られたパスセル数の差分が用いられる。また、例えば、第12ループのプログラム電圧VPGMの設定に際して第11ループのVPGMに加えるステップアップ電圧ΔVPGM_12の決定には、第10,11ループのEベリファイにより得られたパスセル数の差分が用いられる。
一般的な書き込みでは、メモリセルアレイ23の所定の領域におけるA〜Gレベルのセル数は、略均等となるように書き込みが行われる。従って、同一ベリファイレベルにおける第(N−2)ループと第(N−1)ループのパスセル数の差分に応じてステップアップ電圧ΔVPGMの設定することによって、パスセル数の計測に用いたベリファイレベルがいずれのレベルであっても、書き込み対象の全レベルの書き込みにおいて、プログラムスロープのばらつきの影響を抑制できるものと考えられる。
図13は第(N−2)ループの書き込みによって得られた閾値分布と第(N−1)ループの書き込みによって得られた閾値分布において、所定の同一ベリファイレベルにおけるベリファイパスを斜線にて示している。図13の例は、第(N−2)ループの書き込みによって、Tn−2個のベリファイパスセルが得られ、第(N−1)ループの書き込みによって、Tn−1個のベリファイパスセルが得られたことを示している。
図14はレジスタ22aに記憶されている情報の一例を示しており、メモリセルアレイ23の1kB当たりのパスセル数の差分(Tn−1−Tn−2)に応じたステップアップ電圧ΔVPGMの設定例を示している。図14において、電圧V1〜V6は、V1>V2>V3>V4>V5>V6である。各電圧V1〜V6は隣り合う電圧同士の差を例えば0.01Vに設定してもよく、各電圧V1〜V6は適宜設定可能である。図14に示すように、レジスタ22aには、パスセル数の差分(Tn−1−Tn−2)が小さい程、即ち、前回の書き込み時のステップアップ電圧ΔVPGM_N−1によって新たに生じたパスセル数が少ない程、ステップアップ電圧ΔVPGM_Nを大きくし、新たに生じたパスセル数が多い程、ステップアップ電圧ΔVPGM_Nを小さくするための情報が記憶されている。
制御部22は、例えば、第(N−2),(N−1)ループのパスセル数の差分を用いてレジスタ22aを参照することで、第Nループに設定するステップアップ電圧ΔVPGMを決定する。これにより、パスセル数の増加が比較的少ない場合にはステップアップ電圧ΔVPGMが比較的大きくなり、パスセル数の増加が比較的多い場合にはステップアップ電圧ΔVPGMが比較的小さくなって、書き込み時間及び閾値分布のばらつきが抑制される。
このように本実施の形態においては、メモリセルアレイ23に対する書き込み時に、プログラムループの影響によるループ毎のパスセル数又はフェイルセル数の増加数の変動を抑制するように、ステップアップ電圧ΔVPGMを設定する。パスセル数又はフェイルセル数の計測結果を用いてステップアップ電圧ΔVPGMを設定しており、ウェハ上のチップ位置、チップ上のワード線WLの垂直位置、プログラム電圧VPGM等によるプログラムループのばらつきに拘わらず、閾値分布及び書き込み時間のばらつきを抑制することができる。
(変形例)
なお、ステップアップ電圧ΔVPGMの求め方は、上記例に限定されるものではない。例えば、レベル毎のパスセル数又はフェイルセル数をカウントする例を説明したが、全レベルについて第(N−2)ループと第(N−1)ループのパスセル数又はフェイルセル数をカウントするようにしてもよい。
なお、ステップアップ電圧ΔVPGMの求め方は、上記例に限定されるものではない。例えば、レベル毎のパスセル数又はフェイルセル数をカウントする例を説明したが、全レベルについて第(N−2)ループと第(N−1)ループのパスセル数又はフェイルセル数をカウントするようにしてもよい。
また、書き込みシーケンスにおいては、初めの数ループはプログラムスロープが特に不安定である。このため、この期間におけるパスセル数又はフェイルセル数を用いてステップアップ電圧ΔVPGMを設定すると、かえって閾値分布や書き込み時間にばらつきが生じる虞がある。そこで、上記実施の形態においては、第1ループからパスセル数をカウントし、第3ループからカウント値に基づいてステップアップ電圧ΔVPGMを設定したが、この制御を開始するループを選択可能にしてもよい。例えば、第2又は第3ループからパスセル数のカウントを行い、第4又は第5ループからステップアップ電圧ΔVPGMを制御するようにしてもよい。
また、あるいは、第1ループからパスセル数又はフェイルセル数をカウントし、パスセル数又はフェイルセル数の変動を観察し、変動の状態に応じて、ステップアップ電圧ΔVPGMの設定を開始するループを決定してもよい。例えば、パスセル数又はフェイルセル数の変化量が所定の閾値以内になったループ以降の計測結果を用いてステップアップ電圧ΔVPGMを制御するようにしてもよい。
また、パスセル数が極めて小さい場合には、ループ間のパスセル数の差がプログラムループの変動を反映したものとならないことが考えられる。そこで、第1ループからパスセル数をカウントする一方、カウント値が所定のカウント数を超えるまでは、カウント値に基づくステップアップ電圧ΔVPGMの制御を開始しないようにしてもよい。
また、上記実施の形態においては、第3ループ以降の全てのループにおいて、パスセル数又はフェイルセル数のカウント値に基づいてステップアップ電圧ΔVPGMを求めて設定する例を説明した。しかし、この処理の処理時間のためにプログラム性能が悪化する虞がある。そこで、選択ワード線WLに対する1書き込みシーケンスの比較的最初の方のループ(例えば、第3から第5ループ)において、1回だけパスセル数又はフェイルセル数のカウント値に基づいてステップアップ電圧ΔVPGMを決定するようにしてもよい。例えば、第3,第4ループでパスセル数の計測を行い、第5ループにおいて計測結果に基づいてステップアップ電圧ΔVPGMを設定し、以降のループにおいてはこのステップアップ電圧ΔVPGMを採用する。この場合には、プログラム電圧VPGMに依存したプログラムループのばらつきの影響については回避することはできないが、各選択ワード線WLへの書き込み毎にステップアップ電圧ΔVPGMを決定するので、チップ位置依存性及びワード線WLの位置依存性の影響については回避することが可能である。
なお、パスセル数のカウント及びステップアップ電圧ΔVPGMの算出がプログラム性能に影響を与えないならば、上記実施の形態のように、比較的最初の方のループ以降の全てのループにおいて、パスセル数又はフェイルセル数のカウント及びカウント値に基づくステップアップ電圧ΔVPGMの設定を行った方がよい。
なお、上記実施の形態は、順次書き込み方式の書き込みシーケンスに適用した例について説明したが、いずれの書き込み方式にも適用可能である。例えば、フォギー・ファイン方式のフォギーに適用してもよく、ファインに適用してもよく、LMファイン方式に適用してもよい。
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
1 メモリコントローラ、2 不揮発性メモリ、11 RAM、12 プロセッサ、13 ホストインターフェイス、14 ECC回路、15 メモリインターフェイス、21 NAND I/Oインターフェイス、22 制御部、23 メモリセルアレイ、24 ビット線ドライバ、25 ワード線ドライバ。
Claims (11)
- 複数のメモリセルを備えたメモリセルアレイと、
前記複数のメモリセルのゲートにそれぞれ接続された複数のワード線と、
前記複数のメモリセルにデータを書き込み時、前記ワード線にプログラム電圧を印加するワード線ドライバと、
前記複数のメモリセルの一端にそれぞれ接続された複数のビット線と、
前記複数のビット線にビット線電圧を印加して、前記複数のビット線を介して前記複数のメモリセルのデータを検出するビット線ドライバと、
前記ワード線ドライバ及びビット線ドライバを制御して、前記メモリセルにデータを書き込むプログラム動作と、前記メモリセルに書き込まれた前記データを検証するベリファイ動作とを含むループを、前記プログラム電圧を所定のステップアップ電圧だけ増加させながら複数回繰り返す書き込みシーケンスを実行する制御回路と、
を有し、
前記ビット線ドライバは、前記複数のメモリセルに対する前記ベリファイ動作の結果から前記ループ毎の書き込み完了したメモリセル数又は書き込み不足のメモリセル数を求めるビットスキャン回路とを具備し、
前記制御回路は、前記ビットスキャン回路が求めた結果に基づいて、次のループにおける前記所定のステップアップ電圧を決定する、半導体記憶装置。 - 前記制御回路は、前記書き込み完了したメモリセル数の増加量が多い程前記ステップアップ電圧を小さくし、少ない程前記ステップアップ電圧を大きくする、請求項1に記載の半導体記憶装置。
- 前記ビットスキャン回路は、前記書き込みシーケンスにおける途中のループから前記書き込み完了したメモリセル数又は書き込み不足のメモリセル数を求める、請求項1に記載の半導体記憶装置。
- 前記ビットスキャン回路は、前記書き込み完了したメモリセル数又は書き込み不足のメモリセル数の変化量が所定の閾値を超えた以降のループから前記書き込み完了したメモリセル数又は書き込み不足のメモリセル数を求める、請求項3に記載の半導体記憶装置。
- 前記ビットスキャン回路は、前記書き込みシーケンスにおける最初のループから前記書き込み完了したメモリセル数又は書き込み不足のメモリセル数を求める、請求項1に記載の半導体記憶装置。
- 前記制御回路は、前記ビットスキャン回路が求めた書き込み完了したメモリセル数が所定の閾値を超えた以降のループの前記ビットスキャン回路が求めたメモリセル数の差分に基づいて、前記ステップアップ電圧を決定する、請求項5に記載の半導体記憶装置。
- 前記ビットスキャン回路は、前記書き込み完了したメモリセル数又は書き込み不足のメモリセル数を前記書き込みシーケンスの最後から2番目のループまで連続して求める、請求項3又は5に記載の半導体記憶装置。
- 前記制御回路は、前記書き込みシーケンスの1回のループにおいてのみ前記ビットスキャン回路が求めたメモリセル数の差分に基づいて前記ステップアップ電圧を決定する、請求項1に記載の半導体記憶装置。
- 前記制御回路は、前記書き込みシーケンスの3回目から5回目のループのいずれかにおいて前記ステップアップ電圧を決定する、請求項8に記載の半導体記憶装置。
- 前記制御回路は、前記書き込みシーケンスにおける連続した2つのループにおいて前記ビットスキャン回路が求めたメモリセル数の差分に基づいて、前記連続した2つのループの次のループにおける前記所定のステップアップ電圧を決定する、請求項1に記載の半導体記憶装置。
- 前記制御回路は、前記連続した2つのループにおいて前記書き込み完了したメモリセル数の増加量が多い程前記ステップアップ電圧を小さくし、少ない程前記ステップアップ電圧を大きくする、請求項10に記載の半導体記憶装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019196728A JP2021072139A (ja) | 2019-10-29 | 2019-10-29 | 半導体記憶装置 |
US17/007,896 US11264102B2 (en) | 2019-10-29 | 2020-08-31 | Semiconductor storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019196728A JP2021072139A (ja) | 2019-10-29 | 2019-10-29 | 半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021072139A true JP2021072139A (ja) | 2021-05-06 |
Family
ID=75586183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019196728A Pending JP2021072139A (ja) | 2019-10-29 | 2019-10-29 | 半導体記憶装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11264102B2 (ja) |
JP (1) | JP2021072139A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11942165B2 (en) | 2020-09-24 | 2024-03-26 | Yangtze Memory Technologies Co., Ltd. | Architecture and method for NAND memory programming |
JP7451773B2 (ja) * | 2020-09-24 | 2024-03-18 | 長江存儲科技有限責任公司 | Nandメモリプログラミングのためのアーキテクチャおよび方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100888844B1 (ko) * | 2007-06-28 | 2009-03-17 | 삼성전자주식회사 | 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것의 프로그램 방법 |
JP5330425B2 (ja) * | 2011-02-09 | 2013-10-30 | 株式会社東芝 | 不揮発性半導体メモリ |
US9171598B2 (en) * | 2013-09-06 | 2015-10-27 | Kabushiki Kaisha Toshiba | Memory system |
JP5784788B2 (ja) | 2014-04-16 | 2015-09-24 | 力晶科技股▲ふん▼有限公司 | 不揮発性半導体記憶装置とその書き込み方法 |
KR102372889B1 (ko) | 2015-10-23 | 2022-03-10 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치를 포함하는 메모리 시스템 |
KR20210111004A (ko) * | 2020-03-02 | 2021-09-10 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 갖는 저장 장치, 및 그것의 읽기 방법 |
-
2019
- 2019-10-29 JP JP2019196728A patent/JP2021072139A/ja active Pending
-
2020
- 2020-08-31 US US17/007,896 patent/US11264102B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11264102B2 (en) | 2022-03-01 |
US20210125673A1 (en) | 2021-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109119117B (zh) | 非易失性存储器装置和包括其的存储器系统及其编程方法 | |
JP4936914B2 (ja) | 半導体記憶装置 | |
JP4886434B2 (ja) | 不揮発性半導体記憶装置 | |
US11557356B2 (en) | Semiconductor memory device with erase verification on memory strings in a memory block | |
US10984858B2 (en) | Semiconductor storage device | |
JP2020095767A (ja) | 半導体記憶装置 | |
JP2020047329A (ja) | 半導体記憶装置 | |
JP2020102287A (ja) | 半導体記憶装置 | |
JP2020047330A (ja) | 半導体記憶装置 | |
US11264102B2 (en) | Semiconductor storage device | |
US11398277B2 (en) | Semiconductor storage device | |
JP2020149742A (ja) | 半導体記憶装置 | |
US11996143B2 (en) | Semiconductor memory device | |
TWI823249B (zh) | 半導體記憶裝置及抹除驗證方法 | |
US20230317181A1 (en) | Semiconductor storage device and memory system | |
TWI808637B (zh) | 半導體記憶裝置及資料抹除方法 | |
JP2022051369A (ja) | 半導体記憶装置 | |
JP2023045252A (ja) | 半導体記憶装置 | |
JP2022144309A (ja) | 半導体記憶装置 |