JP2020149742A - 半導体記憶装置 - Google Patents
半導体記憶装置 Download PDFInfo
- Publication number
- JP2020149742A JP2020149742A JP2019045140A JP2019045140A JP2020149742A JP 2020149742 A JP2020149742 A JP 2020149742A JP 2019045140 A JP2019045140 A JP 2019045140A JP 2019045140 A JP2019045140 A JP 2019045140A JP 2020149742 A JP2020149742 A JP 2020149742A
- Authority
- JP
- Japan
- Prior art keywords
- memory cell
- voltage
- threshold
- level
- data
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0466—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells with charge storage in an insulating layer, e.g. metal-nitride-oxide-silicon [MNOS], silicon-oxide-nitride-oxide-silicon [SONOS]
-
- 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/24—Bit-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/26—Sensing or reading circuits; Data output 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/32—Timing 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/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3427—Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
-
- 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
-
- 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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
- Non-Volatile Memory (AREA)
Abstract
【課題】データリテンションによる閾値電圧変化の影響を抑制した半導体記憶装置を提供する。【解決手段】実施形態によれば、半導体記憶装置は、複数のメモリセルを備えたメモリセルアレイ23と、複数のワード線と、ワード線ドライバ25と、複数のビット線BLと、複数のビット線BLを介して、複数のメモリセルのデータを検出すると共に、複数のビット線にビット線電圧を印加するセンスアンプ回路24と、制御部22と、を有し、制御部22は、各メモリセルへのデータの書き込み動作を実行するためにワード線ドライバ25とセンスアンプ回路24を制御する。制御部22は、書き込み動作において、書き込み動作の対象となる選択ワードに接続された選択メモリセルのターゲットレベルと、選択メモリセルに隣接する隣接ワード線に接続された隣接メモリセルの閾値レベルとの差の状態に応じて、ビット線電圧を変更する。【選択図】図16
Description
本発明の実施形態は、半導体記憶装置に関する。
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)として構成する場合がある。
メモリセルに対するデータの書き込みを行うと、メモリセルの閾値電圧が、電荷蓄積膜に蓄えられた電荷量に応じて変化する。メモリセルが、データの書き込みの結果として高い閾値電圧に設定された場合、書き込み完了後のデータを保持した状態で時間が経過すること(データリテンション)による閾値電圧が低下することがある。また、メモリセルが、データの書き込みの結果として低い閾値電圧に設定された場合、書き込み完了後のデータを保持した状態で時間が経過すること(データリテンション)による閾値電圧が上昇することがある。
データリテンションによる閾値電圧変化の影響を抑制した半導体記憶装置を提供する。
実施形態によれば、各々が複数レベルの閾値電圧のいずれかに設定可能な複数のメモリセルを備えたメモリセルアレイと、前記複数のメモリセルのゲートにそれぞれ接続された複数のワード線と、前記複数のワード線にそれぞれ電圧を印加するワード線ドライバと、前記複数のメモリセルの一端にそれぞれ接続された複数のビット線と、前記複数のビット線を介して、前記複数のメモリセルのデータを検出すると共に、前記複数のビット線にビット線電圧を印加するセンスアンプ回路と、前記複数のメモリセルへのデータの書き込み動作を実行するために、前記ワード線ドライバと前記センスアンプ回路を制御する制御回路と、を有し、前記制御回路は、前記書き込み動作において、前記書き込み動作の対象となる選択ワード線に接続された選択メモリセルのターゲットレベルと、前記選択ワード線に隣接する隣接ワード線に接続された隣接メモリセルの閾値レベルとの差の状態に応じて、前記ビット線電圧を変更する、半導体記憶装置が提供される。
以下、図面を参照して実施形態を説明する。
(第1の実施形態)
(メモリシステムの構成)
図1は、実施形態に関わるメモリシステムの構成例を示すブロック図である。本実施形態のメモリシステムは、メモリコントローラ1と不揮発性メモリ2とを備える。メモリシステムは、ホストと接続可能である。ホストは、例えば、パーソナルコンピュータ、携帯端末などの電子機器である。
(第1の実施形態)
(メモリシステムの構成)
図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)などの汎用メモリである。
図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の電圧(または電流)を独立して検出して各メモリセルMTのデータを検出することができるように構成されている。すなわち、センスアンプ回路24は、複数のビット線BLを介して、複数のメモリセルMTのデータを検出すると共に、複数のビット線BLにビット線電圧を印加することができる。
ワード線ドライバ25は、複数のワード線および選択ゲート線に独立して、プログラム電圧などの各種電圧を印加することができるように構成されている。すなわち、ワード線ドライバ25は、複数のワード線にプログラム電圧を印加することができる。
(NANDメモリセルアレイの構成)
図3は、3次元構造のNANDメモリセルアレイ23のブロックの構成例を示す図である。図3は、3次元構造のNANDメモリセルアレイ(以下、メモリセルアレイという)23を構成する複数のブロックのうちの1つのブロックBLKを示している。メモリセルアレイの他のブロックも図3と同様の構成を有する。メモリセルアレイ23は、後述するように、各々が複数レベルの閾値電圧のいずれかに設定可能な複数のメモリセルMTを備えている。
(NANDメモリセルアレイの構成)
図3は、3次元構造のNANDメモリセルアレイ23のブロックの構成例を示す図である。図3は、3次元構造のNANDメモリセルアレイ(以下、メモリセルアレイという)23を構成する複数のブロックのうちの1つのブロックBLKを示している。メモリセルアレイの他のブロックも図3と同様の構成を有する。メモリセルアレイ23は、後述するように、各々が複数レベルの閾値電圧のいずれかに設定可能な複数のメモリセルMTを備えている。
図示するように、ブロック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が接続されている。すなわち、複数のワード線WLは、複数のメモリセルMTのゲートに接続されている。ブロックBLK内において同一行にあるメモリセルMTiのゲートは、同一のワード線WLiに接続される。なお、以下の説明では、NANDストリングNSを単に「ストリング」という場合がある。
各NANDストリングNSは、対応するビット線に接続されている。従って、各メモリセルMTは、NANDストリングNSに含ませる選択トランジスタSTや他のメモリセルMTを介して、ビット線に接続されている。複数のビット線BLは、各々が複数のメモリセルを含む、複数のNANDストリングNSの一端に接続されている。
上述した通り、同一のブロックBLK内にあるメモリセルMTのデータは、一括して消去される。一方、データの読み出し及び書き込みは、メモリセルグループMG単位(またはページ単位)で行われる。本明細書では、1つのワード線WLiに接続され、かつ1つのストリングユニットSUに属する複数のメモリセルMTをメモリセルグループMGと定義する。本実施形態では、不揮発性メモリ2は3ビット(8値)のデータを保持可能なTLC(Triple Level Cell)の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として機能する。
各NANDストリングNSにおいて、p型ウェル領域上に選択トランジスタST2、複数のメモリセルMT、及び選択トランジスタST1が順に形成されている。導電体柱338よりも上側には、ビット線BLとして機能する配線層が形成される。導電体柱338の上端には、導電体柱338とビット線BLとを接続するコンタクトプラグ339が形成されている。
さらに、p型ウェル領域の表面内には、n+型不純物拡散層およびp+型不純物拡散層が形成されている。n+型不純物拡散層上にはコンタクトプラグ340が形成され、コンタクトプラグ340上には、ソース線SLとして機能する配線層が形成される。
以上の図4に示した構成が、図4の紙面の奥行き方向に複数配列されており、奥行き方向に一列に並ぶ複数のNANDストリングの集合によって、1つのストリングユニットSUが形成される。
(メモリセルトランジスタの閾値分布)
図5は、本実施形態の閾値電圧の閾値領域とデータコーディングの関係の一例を示す図である。図5では、3bit/Cellの不揮発性メモリ2の閾値分布例を示している。不揮発性メモリ2では、メモリセルMTの電荷蓄積膜336に蓄えられた電荷量により情報が記憶される。各メモリセルMTは、電荷量に応じた閾値電圧を有する。そして、メモリセルMTに記憶する複数のデータ値は、閾値電圧の複数の領域(閾値領域)にそれぞれ対応する。
(メモリセルトランジスタの閾値分布)
図5は、本実施形態の閾値電圧の閾値領域とデータコーディングの関係の一例を示す図である。図5では、3bit/Cellの不揮発性メモリ2の閾値分布例を示している。不揮発性メモリ2では、メモリセルMTの電荷蓄積膜336に蓄えられた電荷量により情報が記憶される。各メモリセルMTは、電荷量に応じた閾値電圧を有する。そして、メモリセルMTに記憶する複数のデータ値は、閾値電圧の複数の領域(閾値領域)にそれぞれ対応する。
図5の、Er、A,B,C,D,E,F,Gと記載した8つの分布(山型)は、8つの閾値領域内のそれぞれの閾値分布を示している。このように、各メモリセルMTは、7つの境界によって仕切られた閾値分布を有している。図5の横軸は閾値電圧を示し、縦軸はメモリセル数(セル数)の分布を示している。隣り合う閾値領域の間には、書き込み動作で用いられるベリファイ電圧が設定される。
本実施形態では、閾値電圧がベリファイ電圧AV以下となる領域を領域Erとよび、閾値電圧がベリファイ電圧AVより大きくベリファイ電圧BV以下となる領域を領域Aとよび、閾値電圧がベリファイ電圧BVより大きくベリファイ電圧CV以下となる領域を領域Bとよび、閾値電圧がベリファイ電圧CVより大きくベリファイ電圧DV以下となる領域を領域Cとよぶ。また、本実施形態では、閾値電圧がベリファイ電圧DVより大きくベリファイ電圧EV以下となる領域を領域Dとよび、閾値電圧がベリファイ電圧EVより大きくベリファイ電圧FV以下となる領域を領域Eとよび、閾値電圧がベリファイ電圧FVより大きくベリファイ電圧GV以下となる領域を領域Fとよび、閾値電圧がベリファイ電圧GVより大きい領域を領域Gとよぶ。
また、領域Er,A,B,C,D,E,F,Gに対応する閾値分布をそれぞれ分布Er,A,B,C,D,E,F,G(第1〜第8の分布)と呼ぶ。AV〜GVは、各領域の境界となる閾値電圧である。
不揮発性メモリ2では、メモリセルMTの複数の閾値領域(すなわち閾値分布)に複数のデータ値をそれぞれ対応させる。この対応をデータコーディングという。このデータコーディングをあらかじめ定めておき、データの書き込み(プログラム)時には、データコーディングに従って記憶するデータ値に応じた閾値領域内となるようにメモリセルMTに電荷を注入する。そして、読み出し時には、メモリセルMTに読み出し電圧を印加し、読み出し電圧よりメモリセルMTの閾値が低いか高いかにより、データ、すなわちそのメモリセルMTの閾値レベルが決定される。
読み出し電圧AR、BR、CR、DR、ER、FR、GRは、図5に示すように、それぞれベリファイ電圧AV、BV、CV、DV、EV、FV、GVよりも低い電圧に設定される。
図5には、各分布に対応するデータ値を示すデータコーディングが示されている。本実施形態では、8つの閾値分布(閾値領域)を3bitの8つのデータ値にそれぞれ対応させる。閾値電圧と、上位、中位、下位の各ページに対応するビットのデータ値との関係は、以下に示す通りである。
・閾値電圧がEr領域内にあるメモリセルは“111”を記憶している状態である。
・閾値電圧がA領域内にあるメモリセルは“011”を記憶している状態である。
・閾値電圧がB領域内にあるメモリセルは“001”を記憶している状態である。
・閾値電圧がC領域内にあるメモリセルは“101”を記憶している状態である。
・閾値電圧がD領域内にあるメモリセルは“100”を記憶している状態である。
・閾値電圧がE領域内にあるメモリセルは“110”を記憶している状態である。
・閾値電圧がF領域内にあるメモリセルは“010”を記憶している状態である。
・閾値電圧がG領域内にあるメモリセルは“000”を記憶している状態である。
このように、閾値電圧の領域毎に、各メモリセルMTの3bitのデータの状態を表すことが出来る。なお、メモリセルMTが未書き込みの状態(「消去」の状態)では、メモリセルMTの閾値電圧はEr領域内にある。また、ここに示した符号では,Er(消去)状態で”111”というデータを記憶し、A状態で”011”というデータを記憶するといったように、任意の2つの隣接する状態間で1bitのみデータが変化する。このように、図5に示したコーディングは、任意の2つの隣接する領域間で1bitのみデータが変化するグレイ符号である。
なお、図5では8個のレベルが離散的に分布する場合を例に説明したが、これは例えばデータの書き込み直後の理想的な状態である。従って、現実的には隣接するレベルが重なることが起こり得る。例えば、データの書き込み後、ディスターブ等により、分布Erの上端と分布Aの下端とが重なる場合がある。このような場合には、例えばECC技術などを用いてデータが訂正される。
(書き込み動作)
まず、本実施形態に係る書き込み動作について簡単に説明する。まず、書き込み動作は、大まかにはプログラム動作とベリファイ動作とを含む。
(書き込み動作)
まず、本実施形態に係る書き込み動作について簡単に説明する。まず、書き込み動作は、大まかにはプログラム動作とベリファイ動作とを含む。
プログラム動作は、電子を電荷蓄積膜336に注入することにより閾値電圧を上昇させる(または注入を禁止することで閾値を維持させる)動作のことである。以下では、閾値電圧を上昇させる動作を「“0”プログラム」または「“0”書き込み」と呼び、“0”プログラム対象とされたビット線BLには“0”データが与えられる。他方で、閾値電圧を維持させる動作を「“1”プログラム」、「“1”書き込み」、または「書き込み禁止」と呼び、“1”プログラム対象とされたビット線BLには“1”データが与えられる。
ベリファイ動作は、プログラム動作の後、データを読み出すことで、メモリセル(メモリセルトランジスタ)MTの閾値電圧がターゲットレベルまで達したか否かを判定する動作である。ターゲットレベルまで達したメモリセルMTは、その後、書き込み禁止とされる。
以上のプログラム動作とベリファイ動作の組み合わせを繰り返すことで、メモリセルMTの閾値がターゲットレベルまで上昇される。
図6は、プログラム動作時における各配線の電位変化を示している。図示するように、まずセンスアンプ回路24が各ビット線BLにプログラムデータを転送する。“0”データが与えられたビット線BLには“L”レベルとして接地電圧Vss(例えば0V)が印加される。“1”データが与えられたビット線BLには“H”レベルとして書き込み禁止電圧Vinhibit(例えば2.5V)が印加される。
またワード線ドライバ25は、いずれかのブロックBLKを選択し、更にいずれかのストリングユニットSUを選択する。そして、選択されたストリングユニットSUにおけるセレクトゲート線SGDに例えば5Vを印加して、選択トランジスタST1をオン状態とさせる。他方で、セレクトゲート線SGSに電圧Vssを印加することで、選択トランジスタST2をオフ状態とさせる。
更にワード線ドライバ25は、選択ブロックBLKにおける非選択ストリングユニットSU及び非選択ブロックBLKにおける非選択ストリングユニットSUのセレクトゲート線SGD及びSGSに電圧Vssを印可して、選択トランジスタST1及びST2をオフ状態とさせる。
またソース線SLは、例えば1V(セレクトゲート線SGSの電位よりも高い電位)とされる。
その後、ワード線ドライバ25は、選択ブロックBLKにおける選択ストリングユニットSUにおけるセレクトゲート線SGDの電位を、例えば2.5Vとする。この電位は、“0”データ(0V)が与えられたビット線BLに対応する選択トランジスタST1はオンさせるが、“1”データ(2.5V)が与えられたビット線BLに対応する選択トランジスタST1はカットオフさせる電圧である。
そしてワード線ドライバ25は、選択ブロックBLKにおいていずれかのワード線WLを選択し、選択ワード線に電圧Vpgmを印加し、その他の非選択ワード線WLに電圧Vpass_pgmを印加する。電圧Vpgmは、トンネル現象により電子を電荷蓄積膜に注入するための高電圧であり、Vpgm>Vpass_pgmである。この際のストリングユニットSUの様子を図8に示す。図7は、プログラム動作時のストリングの様子を示す回路図である。
図7では、“0”書き込み対象のビット線BL、及び、“1”書き込み対象のビット線BLに対応する2つのNANDストリングを図示している。また、ワード線WL3が選択された際の様子を示している。
図示するように、選択ワード線WL3には電圧Vpgmが印加され、非選択ワード線WL0〜WL2及びWL4〜WL7には電圧Vpass_pgmが印加される。
そして、“0”書き込み対象のビット線BLに対応するNANDストリングでは、選択トランジスタST1がオン状態となる。そのため、選択ワード線WL3に接続されたメモリセルMT3のチャネル電位Vchは0Vとなる。すなわち、ゲートとチャネルとの間の電位差が大きくなり、その結果、電子が電荷蓄積膜に注入されて、メモリセルMT3の閾値が上昇される。
“1”書き込み対象のビット線BLに対応するNANDストリングでは、選択トランジスタST1がカットオフ状態となる。そのため、選択ワード線WL3に接続されたメモリセルMT3のチャネルは電気的にフローティングとなり、ワード線WL等との容量カップリングによりチャネル電位Vchは電圧Vpgm近くまで上昇される。すなわち、ゲートとチャネルとの間の電位差が小さくなり、その結果、電子は電荷蓄積膜に注入されず、メモリセルMT3の閾値は維持される(閾値分布レベルがより高い分布に遷移するほどには閾値は変動しない)。
(QPW動作)
なお、プログラム動作として、QPW(Quick pass write)動作がなされる場合もある。
(QPW動作)
なお、プログラム動作として、QPW(Quick pass write)動作がなされる場合もある。
上述した(通常の)プログラム動作では、図6に示すように、閾値を上昇させたいメモリセル(メモリセルトランジスタ)MTに対応する(“0”データが与えられた)ビット線BLには“L”レベル(例えば接地電圧Vss、0V)を印加し、閾値を上昇させたくないメモリセル(メモリセルトランジスタ)MTに対応する(“1”データが与えられた)ビット線BLには“H”レベル(例えば2.5V)を印加した。この場合、メモリセルグループMGに含まれる複数のメモリセルMTに対して、閾値電圧を上昇させるか維持させるという2通りの制御しか行えない。
図8は、QPW動作時における各配線の電位変化を示す図である。QPW動作では、図8に示すように、閾値電圧を小さい変化幅で上昇させたいメモリセルMTに対応するビット線BLには、例えば、“L”レベル(接地電圧Vss、例えば0V)より高く“H”レベル(書き込み禁止電圧Vinhibit、例えば2.5V)より低い電圧を印加する。すなわち、閾値電圧を上昇させたいメモリセルMTに対応する(“0”データが与えられた)ビット線BLよりも、ビット線BLの充電レベルを上げる。これにより、対象となるメモリセルMTにおいては、チャネル電位Vchが“L”レベル(接地電圧Vss、例えば0V)よりも上昇する。従って、このチャネル電圧Vchの上昇分だけ、選択ワード線WLに印加される電圧Vpgmによる電荷蓄積膜336への電子の注入が緩和される。従って、QPW動作を利用することにより、メモリセルグループMGに含まれる複数のメモリセルMTに対して、閾値電圧を上昇させる、閾値を維持させる、あるいは、閾値電圧を小さい変化幅で上昇させる、という3通りの制御を行うことができる。以下では、このQPW動作のためにビット線BLに印加する電圧を、QPW電圧Vbl_qpwと呼ぶ。
図9及び図10は横軸に閾値電圧をとり縦軸にセル数をとって、QPW動作による閾値電圧の変化を説明するための図である。図9は通常のプログラム動作を説明するための図であり、図10はQPW動作を説明するための図である。
図9及び図10において、分布DErは、領域Erの閾値分布を示しており、分布DS1aは、ターゲットレベルの領域Aの各メモリセルMTについて、例えば1回目のループにおける書き込みによって得られる閾値分布の一例を示している。図9の例では、ターゲットレベルの領域Aの各メモリセルMTに対してベリファイ電圧Vvを用いたベリファイ動作が行われることを示している。なお、通常のプログラム動作では、ビット線電圧は例えば0Vで固定であり、プログラム電圧=実効プログラム電圧である。
分布DS1aは、ベリファイ電圧Vvに到達していないので、これらの各メモリセルMTに対してプログラム電圧をΔVpgmだけ増加させて2回目のループが実施される。
プログラム電圧がΔVpgmだけ増加する結果、各メモリセルMTは、ΔVpgmに相当する分(矢印)だけ閾値電圧が上昇し、分布DS1bが得られる。ベリファイ電圧Vvよりも高い閾値電圧を有する分布DS1b中のメモリセルMTについては書き込み禁止とされ、ベリファイ電圧Vvに到達していない分布DS1b中のメモリセルMTについては、次の3回目のループにおいて更に、プログラム電圧をΔVpgmだけ増加させて書き込みが行われる。
この結果、ベリファイ電圧Vvに到達していない分布DS1b中のメモリセルMTは、ΔVpgmに相当する分だけ閾値電圧が上昇し(矢印)、分布DS1cが得られる。ベリファイ電圧Vvよりも高い閾値電圧を有する分布DS1c中のメモリセルMTについては書き込み禁止とされ、ベリファイ電圧Vvに到達していない分布DS1c中のメモリセルMTについては、次の4回目のループにおいて更に、プログラム電圧をΔVpgmだけ増加させて書き込みが行われる。この結果、ベリファイ電圧Vvに到達していない分布DS1c中のメモリセルMTは、ΔVpgmに相当する分だけ閾値電圧が上昇し(矢印)、分布DS1が得られる。分布DS1はメモリセルMTの全てがベリファイ電圧Vvよりも高い閾値電圧を有することを示しており、ターゲットレベルに設定された全てのメモリセルMTは書き込み禁止とされる。
QPW動作時には、例えば、図10に示すように、ベリファイ電圧としてベリファイ電圧Vvに相当するベリファイ電圧VvHの他に、ベリファイ電圧VvHよりも低い電圧のベリファイ電圧VvLを用いたベリファイ動作を行う。以下、ベリファイ電圧VvHをベリファイハイレベルともいい、ベリファイ電圧VvLをベリファイローレベルともいう。これにより、対象となるメモリセルMTの閾値電圧がベリファイローレベルよりも低い値か、ベリファイローレベルとベリファイハイレベルとの間の値か、ベリファイハイレベルよりも高い値かが判定される。以下、閾値電圧がベリファイローレベルとベリファイハイレベルとの間の値と判定されたメモリセルをパスライトセルという。なお、ここではQPW動作として、メモリセルMTの閾値電圧を判定するためにワード線WLにベリファイローレベルとベリファイハイレベルという2種類の電圧を印加する例を示したが、後述するように、ワード線WLに印加する電圧を一定に保ちつつセンスアンプ回路24の動作パラメータを変更して(例えば、センス時間を短くして)ベリファイ動作を実行してもよい。
そして、メモリセルMTの閾値電圧がベリファイローレベルよりも低い場合には、プログラム電圧を通常と同様にΔVpgmだけ増加させ、閾値電圧がベリファイハイレベルよりも高い値の場合には書き込み禁止とし、閾値電圧がベリファイローレベルとベリファイハイレベルの間の値の場合には、実効プログラム電圧の増加分をΔVpgmよりも小さい電圧に設定する。
QPW動作では、実効プログラム電圧の増加分をΔVpgmよりも小さい電圧に設定するために、プログラム電圧VpgmをΔVpgmだけ増加させると同時に、ビット線電圧をVbl_LからQPW電圧Vbl_qpw(Vbl_L<Vbl_qpw)に増加させるようになっている。従って、実効プログラム電圧の増加分は、(ΔVpgm−Vbl_qpw)となる。
図10の例では、ターゲットレベルの領域Aの各メモリセルMTに対してベリファイローレベル及びベリファイハイレベルを用いたベリファイ動作が行われる。このベリファイ動作が書き込みシーケンス中のn(nは自然数)回目のループで行われたものとすると、分布DS1a中のベリファイローレベルに到達していないメモリセルMTに対しては、実効プログラム電圧をΔVpgmだけ増加させて(n+1)回目のループが実施される。これにより、この対象となったメモリセルMTについては、閾値電圧がΔVpgmに相当する分だけ上昇する(白抜き矢印)。
一方、分布DS1a中のベリファイローレベルとベリファイハイレベルとの間のメモリセルMTに対しては、プログラム電圧をΔVpgmだけ増加させると同時にビット線電圧をQPW電圧Vbl_qpwに増加させて、(n+1)回目のループが実施される。これにより、この対象となったメモリセルMTについては、実効プログラム電圧は(ΔVpgm−Vbl_qpw)だけ増加し、この実効プログラム電圧の増加分に相当する分だけ閾値電圧が上昇する(塗り潰し矢印)。この結果、この対象となったメモリセルMTについては、(n+1)回目のループによってベリファイハイレベルを超えるものと期待される。こうして、(n+1)回目のループにより閾値分布DS1b_qpwが得られる。
ベリファイハイレベルよりも高い閾値電圧を有する分布DS1b_qpw中のメモリセルMTについては書き込み禁止とされ、ベリファイローレベルに到達していない分布DS1b_qpw中のメモリセルMTについては、次の(n+2)回目のループにおいて更に、実効プログラム電圧をΔVpgmだけ増加させて書き込みが行われる。また、分布DS1b_qpw中のベリファイローレベルとベリファイハイレベルとの間のメモリセルMT(接続されたビット線BLにはビット線電圧Vbl_Lが印加されている)に対しては、
プログラム電圧をΔVpgmだけ増加させると同時にビット線電圧をQPW電圧Vbl_qpwに増加させて、(n+2)回目のループが実施される。これにより、この対象となったメモリセルMTについては、実効プログラム電圧は(ΔVpgm−Vbl_qpw)だけ増加し、実効プログラム電圧の増加分に相当する分だけ閾値電圧が上昇する(塗り潰し矢印)。この結果、この対象となったメモリセルMTについては、(n+2)回目のループによってベリファイハイレベルを超えるものと期待される。こうして、(n+2)回目のループにより閾値分布DS1c_qpwが得られる。
プログラム電圧をΔVpgmだけ増加させると同時にビット線電圧をQPW電圧Vbl_qpwに増加させて、(n+2)回目のループが実施される。これにより、この対象となったメモリセルMTについては、実効プログラム電圧は(ΔVpgm−Vbl_qpw)だけ増加し、実効プログラム電圧の増加分に相当する分だけ閾値電圧が上昇する(塗り潰し矢印)。この結果、この対象となったメモリセルMTについては、(n+2)回目のループによってベリファイハイレベルを超えるものと期待される。こうして、(n+2)回目のループにより閾値分布DS1c_qpwが得られる。
ベリファイハイレベルよりも高い閾値電圧を有する分布DS1c_qpw中のメモリセルMTについては書き込み禁止とされ、分布DS1c_qpw中のベリファイローレベルとベリファイハイレベルとの間のメモリセルMTについては、次の(n+3)回目のループにおいて、プログラム電圧をΔVpgmだけ増加させると同時にビット線電圧をQPW電圧Vbl_qpwに増加させて、(n+3)回目のループが実施される。これにより、この対象となったメモリセルMTについては、実効プログラム電圧は(ΔVpgm−Vbl_qpw)だけ増加し、実効プログラム電圧の増加分に相当する分だけ閾値電圧が上昇する(塗り潰し矢印)。この結果、この対象となったメモリセルMTについては、(n+3)回目のループによってベリファイハイレベルを超えるものと期待される。こうして、(n+3)回目のループにより閾値分布DS1_qpwが得られる。
図9に示すように、通常のプログラム動作では、ターゲットレベルの領域Aの各メモリセルMTは、閾値分布DS1に示す分布を有し、ターゲット領域の幅はΔVpgmとなる。これに対し、QPW動作では、図10に示すように、ターゲットレベルの領域Aの各メモリセルMTは、閾値分布DS1_qpwに示す分布を有し、ターゲット領域の幅はΔVpgm−Vbl_qpwとなり、閾値分布の幅を狭くすることができる。
図10に示すように、QPW動作時の閾値分布の幅は、閾値電圧の変化の大きさ、即ち、実効プログラム電圧の増加分の大きさに対応する。従って、ビット線電圧をより大きくして実効プログラム電圧の増加分を小さくすることで、閾値電圧の変化の大きさを小さくして、閾値分布の幅をより小さくすることができる。
(ベリファイ動作)
ベリファイ動作は、プログラム動作によって選択ワード線WLに関わる各メモリセルMTである選択メモリセルMTの閾値電圧がベリファイレベルに達したか否か、即ち、選択メモリセルMTに所望のデータが書き込まれたか否かを検証する動作である。すなわち、ベリファイ動作は、書き込み動作の一環として、選択メモリセルMTの閾値電圧を検証するために実行される、読み出し動作である。
(ベリファイ動作)
ベリファイ動作は、プログラム動作によって選択ワード線WLに関わる各メモリセルMTである選択メモリセルMTの閾値電圧がベリファイレベルに達したか否か、即ち、選択メモリセルMTに所望のデータが書き込まれたか否かを検証する動作である。すなわち、ベリファイ動作は、書き込み動作の一環として、選択メモリセルMTの閾値電圧を検証するために実行される、読み出し動作である。
図11は、ベリファイ動作時における各配線の電位変化を示す図である。ワード線ドライバ25が、プログラム動作がなされたブロックBLKおよびストリングユニットSUを選択し、選択されたブロックBLKにおけるセレクトゲート線SGSおよび選択されたストリングユニットSUにおけるセレクトゲート線SGDに、例えば5Vを印加する。これにより、選択されたストリングユニットSUに含まれるNANDストリングでは、選択トランジスタST1と選択トランジスタST2の両方がオン状態となる。
一方で、非選択のブロックBLKにおけるセレクトゲート線SGSおよび、選択されたブロックBLKにおける非選択のストリングユニットSUにおけるセレクトゲート線SGDには電圧Vssを印可して、選択トランジスタST1および/またはST2をオフ状態とさせる。これにより、非選択のストリングユニットSUに含まれるNANDストリングでは、少なくとも選択トランジスタST1がオフ状態となる。また、非選択のブロックBLKに含まれるNANDストリングでは、選択トランジスタST1と選択トランジスタST2の両方がオフ状態となる。
また、ワード線ドライバ25は、選択ブロックBLKにおいていずれかのワード線WLを選択し、選択ワード線に電圧Vcgrvを印加し、その他の非選択ワード線WLに電圧Vreadを印加する。例えば、メモリセルMTの閾値電圧を状態Aにするためのプログラム動作を行った場合、ベリファイ動作では電圧Vreadとして電圧AVを用いる。同様に、メモリセルMTの閾値電圧を状態Bにするためのプログラム動作を行った場合、ベリファイ動作では電圧Vcgrvとして電圧BVを用いる。電圧Vreadは、非選択ワード線WLに接続されたメモリセルMTをそれらの閾値電圧にかかわらずオンさせるための電圧であり、Vread>Vcgrv(GV)である。
そして、センスアンプ回路24が各ビット線BLを電圧Vblに充電する。電圧Vblは、ソース線SLの電圧Vslよりも大きく、Vbl>Vslである。これにより、選択されたストリングユニットSUに含まれるNANDストリングでは、選択ワード線WLに接続されたメモリセルMTの閾値電圧に応じて、ビット線BL側からソース線SL側へ、電流が流れる(あるいは流れない)。これにより、閾値電圧が所望のレベルまで上昇しているかどうかを検証することができる。
上述したように、書き込み動作は、プログラム動作とベリファイ動作とを含むループを繰り返すことにより実行される。プログラム動作では、選択ワード線WLにプログラム電圧Vpgmが印加される。続くベリファイ動作では、検証する閾値レベルに対応して、電圧AV〜GVのうち少なくとも1つが印加される。なお、各ループにおいて、プログラム動作が実行された後、ベリファイ動作が複数回実行されることがある。反対に、各ループにおいて、プログラム動作が実行された後、ベリファイ動作が実行されないこともある。
(センスアンプ回路)
次に、各ビット線BLにビット線電圧を供給すると共に、メモリセルMTに記憶されたデータの読み出し及びベリファイ動作を行うセンスアンプ回路24について説明する。
(センスアンプ回路)
次に、各ビット線BLにビット線電圧を供給すると共に、メモリセルMTに記憶されたデータの読み出し及びベリファイ動作を行うセンスアンプ回路24について説明する。
図12は、図1中のセンスアンプ回路24の具体的な構成の一例を示す回路図である。センスアンプ回路24は、ビット線BL0〜BL(m−1)にそれぞれ関連付けられた複数のセンスアンプユニットSAUを含み、図12には、1本のビット線BLに接続された1つのセンスアンプユニットSAUの詳細な回路構成を示している。
センスアンプユニットSAUは、図12に示すように、センスアンプ部SA、並びにラッチ回路SDL、ADL、BDL、CDL、2つのDDL及びXDLを含んでいる。センスアンプ部SA並びにラッチ回路SDL、ADL、BDL、CDL、2つのDDL及びXDLは、互いにデータを受信可能なように接続される。そのうちラッチ回路SDL、ADL、BDL、CDL及び2つのDDLは、バスLBUSによって接続される。ラッチ回路SDL、ADL、BDL、CDL、2つのDDL及びXDLは、読み出し及び書き込みデータ及び後述する各種データを一時的に保持する。ラッチ回路XDLは、制御部22に接続され、センスアンプユニットSAUと制御部22との間でデータの入出力に使用される。
ラッチ回路ADL、BDL、CDLは、書き込み動作時にターゲットレベルに対応するビットデータが格納される。2つのラッチ回路DDLは、後述するように隣接メモリセルMTの閾値レベルに関する情報が格納される。
ラッチ回路SDLは、例えばインバータ50,51及びnチャネルMOSトランジスタ52,53を含んでいる。インバータ50の入力ノード及びインバータ51の出力ノードはノードLATに接続される。インバータ51の入力ノード及びインバータ50の出力ノードはノードINVに接続される。インバータ50,51によって、ノードINV,LATのデータが保持される。制御部22からの書き込みデータは、ノードLATに供給される。ノードINVにおいて保持されるデータはノードLATに保持されるデータの反転データである。
トランジスタ52のドレイン・ソース路の一端はノードINVに接続され、他端はバスLBUSに接続される。また、トランジスタ53のドレイン・ソース路の一端はノードINVに接続され、他端はバスLBUSに接続される。トランジスタ53のゲートには制御信号STLが入力され、トランジスタ52のゲートには制御信号STIが入力される。
なお、各ラッチ回路ADL、BDL、CDL、2つのDDL及びXDLの回路構成はラッチ回路SDLと同様のため、説明を省略する。なお、センスアンプユニットSAUに供給される各種制御信号は、制御部22から与えられるものである。
センスアンプ部SAは、例えば、pチャネルMOSトランジスタ40、nチャネルMOSトランジスタ41〜48、及びキャパシタ49を含んでいる。
センスアンプ部SAは、読み出し動作において、対応するビット線BLに読み出されたデータをセンスして、読み出したデータが“0”であるか“1”であるかを判定する。また、センスアンプ部SAは、プログラム動作において、対応するビット線BLを書き込むデータ“0”,“1”に応じた電圧値に設定する。
センスアンプ部SAにおいて、プログラム動作には、トランジスタ40〜44が関係する。内部電源電圧である電圧VDDを供給する電源線とノードCOMとの間には、トランジスタ40のソース・ドレイン路及びトランジスタ41のドレイン・ソース路が直列接続される。また、ノードCOMと接地電圧である電圧Vssを供給するノードSRCとの間には、トランジスタ44のドレイン・ソース路が接続される。また、ノードCOMとビット線BLとの間にはトランジスタ42のドレイン・ソース路及びトランジスタ43のドレイン・ソース路が直列接続される。
トランジスタ40,44のゲートはノードINVに接続される。従って、“0”データに対応してノードLATがローレベル(以下、“L”という)の場合には、INVはハイレベル(以下、“H”という)に維持されており、トランジスタ40がオフでありトランジスタ44がオンである。逆に、“1”データに対応してノードLATが“H”の場合には、ノードINVは“L”に維持されており、トランジスタ40がオンでありトランジスタ44がオフである。
プログラム動作時には、トランジスタ45,46のゲートにそれぞれ供給される制御信号HLL,XXLは“L”であり、トランジスタ45,46はオフである。トランジスタ41に供給される制御信号は“H”であり、トランジスタ41はオンである。また、通常プログラム動作時には、制御信号BLC,BLSによって、トランジスタ42,43は導通する。
従って、“0”データがノードLATに保持されると、トランジスタ40はオフでトランジスタ44がオンとなって、ノードSRCからの電圧Vss(例えば0V)等のビット線電圧Vbl_Lがビット線BLに供給される。また、“1”データがノードLATに保持されると、トランジスタ40はオンでトランジスタ44がオフとなって、トランジスタ42,43に与える制御信号BLC,BLSに応じて、例えば、2.5V等のビット線電圧Vbl_Hがビット線BLに供給される。
また、本実施形態においては、QPW動作時には、パスライトセルに対応するビット線BLに接続されたセンスアンプユニットSAUについては、ラッチ回路SDLのノードINVは“H”に設定される。これにより、トランジスタ40はオフとなる。また、制御信号BLXによってトランジスタ41もオフである。この状態で、制御信号BLC及び制御信号BLSを適宜設定することで、トランジスタ42及び43によって、ビット線BLにQPW時の電圧を供給する。
本実施形態においては、制御部22は、制御信号BLC及びBLSの設定を制御することで、QPW時の電圧を変更するようになっている。
ベリファイ動作には、センスアンプ部SAの全てのトランジスタ40〜48及びキャパシタ49が関係する。トランジスタ40のドレインとノードCOMとの間にはトランジスタ45のドレイン・ソース路及び46のドレイン・ソース路が直列接続される。また、バスLBUSと基準電位点との間には、トランジスタ48のドレイン・ソース路及び47のドレイン・ソース路が直列接続される。トランジスタ45のソースとトランジスタ46のドレインとはセンスノードSENに接続され、センスノードSENはトランジスタ47のゲートに接続される。トランジスタ45〜48のゲートには、それぞれ制御信号HLL、XXL、センスノードSENの電圧又は制御信号STBが印加される。センスノードSENはキャパシタ49を介してクロックCLKが印加される。
次に、ベリファイ動作について、図13を参照して説明する。図13は図12のセンスアンプ回路24の動作波形を示す図である。
まず、ワード線ドライバ25は、選択ワード線に、ベリファイ電圧としてターゲットレベルに対応したベリファイ電圧Vvを印加し、非選択ワード線に、ベリファイ電圧Vvよりも高い非選択読み出し電圧Vread(例えば、5〜7V)を印加する。
ベリファイ動作時には、制御部22は、先ずノードINVを“L”にして、トランジスタ40をオンにする。また、制御信号BLXによってトランジスタ41をオンにすると共に、制御信号BLC及び制御信号BLSを所定の電圧に設定することで、ビット線BLを一定の電圧(例えば、0.5V)に固定する。また、制御信号HLLを所定電圧に設定することで、センスノードSENをビット線BLの電圧よりも高い所定のプリチャージ電圧Vpreに充電する。この状態で、制御信号XXLを“H”にすると(t3)、センスノードSENからトランジスタ46、42及び43を介してビット線BLに電流が流れ、センスノードSENの電圧は次第に低下する。
センスノードSENの電圧は、ベリファイ対象のメモリセル(選択メモリセル)の閾値電圧の状態に応じて変化する。即ち、選択メモリセルMTの閾値電圧がベリファイ電圧Vvよりも低いときは、選択メモリセルMTはオン状態であり、選択メモリセルMTに大きなセル電流が流れ、センスノードSENの電圧が低下する速度は速くなる。また、選択メモリセルMTの閾値電圧がベリファイ電圧Vvよりも高いときは、選択メモリセルMTはオフ状態であり、選択メモリセルMTに流れるセル電流は、小さいか、又は、選択メモリセルMTにセル電流が流れず、センスノードSENの電圧が低下する速度は遅くなる。
そこで、センスノードSENの電荷を放電し始める放電開始時t3から第1期間が経過した第1時点t4、即ち、制御信号XXLを"H"にしてから第1期間が経過した時点で、制御信号XXLを"L"にするとともに、制御信号STBを"H"にしてトランジスタ48をオンにすると、センスノードSENの電圧が"L"であるか"H"であるかに応じてトランジスタ47がオン,オフする。
例えば、選択メモリセルMTが書き込み不足セルであるときは、その閾値電圧がベリファイ電圧Vvよりも低く、かつ、両者の差が大きいため、選択メモリセルMTは完全オン状態であり、選択メモリセルMTに大きなセル電流が流れる。このため、センスノードSENの電圧は、急速に低下し、電圧降下量は、時刻t4に達する前にdVに達し、時刻t4において、センスノードSENが“L”になり、トランジスタ47はオフであってバスLBUSから基準電圧点には電流は流れない。
また、選択メモリセルMTがパスライトセルであるときは、その閾値電圧がベリファイ電圧Vvよりも低く、かつ、両者の差が小さいため、選択メモリセルMTに小さなセル電流が流れる。このため、センスノードSENの電圧は、緩やかに低下し、電圧降下量は時刻t4に達する前にdVに達せず、時刻t4において、センスノードSENは、“H”に対応する電圧のままとなる。従って、トランジスタ47はオンであってバスLBUSから基準電圧点に電流が流れる。
また、選択メモリセルMTが書き込み完了セルであるときは、その閾値電圧がベリファイ電圧Vvよりも高いため、選択メモリセルMTはオフ状態であり、選択メモリセルMTに流れるセル電流は、非常に小さいか、又は、選択メモリセルMTにセル電流が流れない。このため、センスノードSENの電圧は、非常に緩やかに低下し、電圧降下量は時刻t4に達する前にdVに達せず、時刻t4において、センスノードSENは、“H”のままとなる。従って、トランジスタ47はオンであってバスLBUSから基準電圧点に電流が流れる。
このようにして、まず、書き込み不足セルの選別を行うことができる。図15のDET 1は、第1時点t4においてバスLBUSに電流が流れるか流れないかに応じて得られるセンスノードSENのレベルの検出結果、即ち、閾値電圧がベリファイローレベルを超えているか否かの検出結果を示すものである。
この後、図13のt5において制御信号STBをローレベルにして、トランジスタ48をオフにする。続いて、t6において再び制御信号XXLを"H"にする。次に、先の工程でセンスノードSENの電荷を放電した第1期間(t3からt4)に加えて第2期間(t6からt7)が経過した第2時点t7で、制御信号XXLを"L"にするとともに、制御信号STBを"H"にしてトランジスタ48をオンにする。これにより、第2時点t7においてセンスノードSENの電圧が"L"であるか"H"であるかに応じてトランジスタ47がオン,オフする。
例えば、選択メモリセルMTが書き込み不足セルであるときは、センスノードSENの電圧は、急速に低下し、既に、電圧降下量は、時刻t4に達する前にdVに達しているため、時刻t7においても、センスノードSENは“L”である。従って、従って、トランジスタ47はオフであってバスLBUSから基準電圧点に電流が流れない。
また、選択メモリセルMTがパスライトセルであるときは、その閾値電圧がベリファイ電圧Vvよりも低く、かつ、両者の差が小さいため、選択メモリセルMTに小さなセル電流が流れる。このため、センスノードSENの電圧は、緩やかに低下し、電圧降下量は、時刻t7に達する前にdVに達し、時刻t7においてセンスノードSENは、“L”になる。従って、トランジスタ47はオフであってバスLBUSから基準電圧点に電流が流れない。
また、選択メモリセルMTが書き込み完了セルであるときは、その閾値電圧がベリファイ電圧Vvよりも高いため、選択メモリセルMTに流れるセル電流は、非常に小さいか、又は、選択メモリセルMTにセル電流が流れない。このため、センスノードSENの電圧は、非常に緩やかに低下し、電圧降下量は、時刻t7に達する前にdVに達せず、時刻t7においてもセンスノードSENは、“H”のままとなる。従って、トランジスタ47はオンであってバスLBUSから基準電圧点に電流が流れる。
このようにして、パスライトセル及び書き込み完了セルの選別を行うことができる。図13のDET2は、第2時点t7においてバスLBUSに電流が流れるか流れないかに応じて得られるセンスノードSENのレベルの検出結果、即ち、閾値電圧がベリファイローレベルとベリファイハイレベルの間の値であるか、ベリファイハイレベルを超えているかの検出結果を示している。
図13に示すように、例えば、DET1及びDET2が共に"L"のときは、選択メモリセルMTは書き込み不足セルと認識され、DET1が"H"、DET2が"L"のときは、選択メモリセルMTはパスライトセルと認識され、DET1及びDET2が共に"H"のときは、選択メモリセルMTは、書き込み完了セルと認識される。
なお、上記のセンスアンプ部SAの動作はあくまでも一例である。例えば、選択メモリセルMTの閾値電圧がベリファイハイレベルおよびベリファイローレベルを超えているかを検出するために、例えば、ワード線ドライバ25によって選択ワード線にベリファイ電圧としてターゲットレベルに対応したベリファイ電圧Vvおよびそれよりも少し低い電圧を連続して印加し、各ベリファイ電圧印加期間において選択メモリセルMTに流れる電流をセンスアンプ部SAで検出してもよい。
制御部22は、書き込み不足セル、パスライトセル又は書き込み完了セルのいずれであるかの判定を行い、判定結果に基づいてセンスアンプ回路24を制御してビット線電圧を設定する。この場合において、制御部22は、パスライトプログラム動作時には、書き込み対象のメモリセルMTのレベル、ループ等に応じて、QPW動作時の電圧を変化させるようになっている。
(データリテンションによる閾値分布への影響)
選択メモリセルMTへのデータの書き込み完了後、書き込まれたデータを保持した状態で期間が経過すること(データリテンション)によって閾値レベルが変動する場合がある。例えば、選択メモリセルMTへのデータの書き込みにおいて、電荷蓄積膜336への電荷の注入量が多く、かつ選択メモリセルMTに隣接するメモリセル(以下、「隣接メモリセル」または「隣接ワード線に接続されたメモリセル」などという)の電荷蓄積膜336に蓄積電荷量が少ない場合、書き込み完了後、選択メモリセルMTの閾値レベルが低下する可能性がある。また、例えば、選択メモリセルMTへのデータの書き込みにおいて、電荷蓄積膜336への電荷の注入量が少なく、かつ隣接メモリセルMTの電荷蓄積膜336に蓄積電荷量が多い場合、書き込み完了後、選択メモリセルMTの閾値レベルが上昇する可能性がある。
(データリテンションによる閾値分布への影響)
選択メモリセルMTへのデータの書き込み完了後、書き込まれたデータを保持した状態で期間が経過すること(データリテンション)によって閾値レベルが変動する場合がある。例えば、選択メモリセルMTへのデータの書き込みにおいて、電荷蓄積膜336への電荷の注入量が多く、かつ選択メモリセルMTに隣接するメモリセル(以下、「隣接メモリセル」または「隣接ワード線に接続されたメモリセル」などという)の電荷蓄積膜336に蓄積電荷量が少ない場合、書き込み完了後、選択メモリセルMTの閾値レベルが低下する可能性がある。また、例えば、選択メモリセルMTへのデータの書き込みにおいて、電荷蓄積膜336への電荷の注入量が少なく、かつ隣接メモリセルMTの電荷蓄積膜336に蓄積電荷量が多い場合、書き込み完了後、選択メモリセルMTの閾値レベルが上昇する可能性がある。
言い換えれば、選択メモリセルMTの閾値レベルが高くかつ隣接メモリセルMTの閾値レベルが低い場合、選択メモリセルMTへのデータの書き込み後、選択メモリセルMTの閾値レベルの低下が生じえる。選択メモリセルMTの閾値レベルが低くかつ隣接メモリセルMTの閾値レベルが高い場合、選択メモリセルMTへのデータの書き込み後、選択メモリセルMTの閾値レベルの上昇が生じえる。
以下の説明では、電荷の注入量が多いすなわち閾値レベルが高いメモリセルを高レベルメモリセルといい、電荷の注入量が少ないすなわち閾値レベルが低いメモリセルを低レベルメモリセルという。
図14及び図15は、電荷蓄積膜336における電子の移動量を説明するための図である。
選択ワード線WL(n)の選択メモリセルMTのターゲットレベルの閾値が高いとき、選択ワード線WL(n)に対応するメモリセルMTの電荷蓄積膜336には、多くの電荷(ここでは電子e)が蓄積される。
しかし、ワード線WL(n)の高レベルメモリセルMTと同じチャネルの、高レベルメモリセルMTに隣接する1つ又は2つの隣接メモリセルMTの閾値レベルが、高レベルメモリセルMTの閾値レベルよりも低いとき、電荷が、電荷蓄積膜336を介して、高レベルメモリセルMTから隣接メモリセルMTへ移動する。
図14は、選択メモリセルMTが高レベルメモリセルであり、隣接メモリセルMTが低レベルメモリセルである場合を示している。この場合、高レベルメモリセルMTの電荷蓄積膜336の電荷は、隣接メモリセルMTの電荷蓄積膜336へ移動する。図14に示すように、選択ワード線WL(n)のゲート下の電荷蓄積膜336の電荷が、隣接ワード線WL(n+1)及びWL(n−1)のゲート下の電荷蓄積膜336へ流出する。
図15は、隣接メモリセルMTの電荷蓄積膜336の電荷量が、図14の隣接メモリセルMTの電荷蓄積膜336の電荷量よりも、多い場合を示している。すなわち、図15は、図14の場合に比べて、隣接メモリセルMTの閾値レベルが高い場合を示している。
図15の高レベルメモリセルMTからの電荷の流出量は、図14の場合の電荷の流出量によりも少ない。逆に言えば、図14の高レベルメモリセルMTからの電荷の流出量は、図15の場合の電荷の流出量によりも多い。図14の矢印R1の長さが、図15の矢印R2の長さよりも長く示すことにより、図14の高レベルメモリセルMTからの電荷の流出量が、図15の場合の電荷の流出量によりも多いことを示している。
各メモリセルMTが多値を記憶する3次元構造のメモリセルMTの場合、データの書き込み後、時間の経過に伴い、このような電荷の移動が発生すると、隣接する閾値分布同士で一部が近づき又は重なってデータの読み出しにおけるマージンが低下する。
図16は、データリテンションによる閾値分布への影響を説明するための説明図である。なお、図16では、ブロック絶縁膜335とゲート絶縁膜337は省略されている。図16の左側には、ワードラインWL(n)に対応するメモリセルMTの電荷蓄積膜336には、高いターゲットレベルに対応して多くの電荷が保持されている状態が示されている。選択メモリセルMTの電荷量は、ターゲットレベルに応じた閾値分布に従う。図16の左側の各閾値分布DSは、ターゲットレベルに応じた閾値分布を示す。
各閾値分布は、データの書き込み完了後、時間の経過に伴って、図16の右側の点線で示す各閾値分布DSから実線で示す閾値分布DSsに示すように、シフトする。高レベルメモリセルMTは、低レベル側へシフトし、低レベルメモリセルMTは、高レベル側へシフトする。その結果、閾値分布DSs同士の一部が重なり、各ターゲットレベルに応じた閾値分布に基づいて設定された読み出し電圧を用いると、データの誤読み出しが発生する。
(閾値分布変動対策)
本実施形態では、選択メモリセルMTにデータの書き込みを行う前に、隣接するメモリセルMTのデータ(閾値レベル)を確認する。そして、隣接メモリセルMTのデータと、選択メモリセルMTのターゲットレベル(閾値レベル)の差に応じて、選択メモリセルMTへ注入する電荷量を変化させる。
(閾値分布変動対策)
本実施形態では、選択メモリセルMTにデータの書き込みを行う前に、隣接するメモリセルMTのデータ(閾値レベル)を確認する。そして、隣接メモリセルMTのデータと、選択メモリセルMTのターゲットレベル(閾値レベル)の差に応じて、選択メモリセルMTへ注入する電荷量を変化させる。
例えば、隣接メモリセルMTの閾値レベルが、選択メモリセルMTのターゲットレベルよりも低いときは、選択メモリセルMTへ注入する電荷量を多くする。また、隣接メモリセルMTの閾値レベルが、選択メモリセルMTのターゲットレベルよりも高いときは、選択メモリセルMTへ注入する電荷量を少なくする。
ここでは、選択メモリセルMTのターゲットレベルと、隣接メモリセルMTの閾値レベルの状態に応じて、選択メモリセルMTへ注入する電荷量が変更される。選択メモリセルMTへ注入する電荷量を多くする場合は、隣接メモリセルMTの閾値レベルが所定の閾値レベル以上で選択メモリセルMTのターゲットレベルが所定の閾値レベル未満である場合である。選択メモリセルMTへ注入する電荷量を少なくする場合は、隣接メモリセルMTの閾値レベルが所定の閾値レベル未満で選択メモリセルMTのターゲットレベルが所定の閾値レベル以上である場合である。電荷量の注入量の変更は、QPW動作時におけるQPW電圧Vbl_qpwの増減により行われる。
図17は、QPW動作において、QPW電圧Vbl_qpwの増減の判断基準を示す図である。横軸は、選択メモリセルMTのターゲットレベルを示し、縦軸は、隣接メモリセルMTの閾値レベルを示す。
選択メモリセルMTのターゲットレベルがErからCのいずれかであって、かつ2つの隣接メモリセルMTの閾値レベルが共にDからGのいずれかである場合、時間の経過に伴い、選択メモリセルMTの電荷の増加が生じる。この場合は、図17における領域αに対応する。
また、選択ワード線WL(n)の各選択メモリセルMTのターゲットレベルがDからGのいずれかであって、かつ2つの隣接メモリセルMTの閾値レベルが共にErからCのいずれかであるとき、時間の経過に伴い、選択メモリセルMTの電荷の減少が生じる。この場合は、図17における領域βの状態に対応する。
制御部22は、選択メモリセルMTへのデータの書き込み時にQPW動作を行うとき、選択メモリセルMTのターゲットレベルと隣接メモリセルMTの閾値レベルが図17に示す領域αにある場合と、領域βにある場合とを判別する。制御部22は、この判別結果に基づいて、QPW電圧Vbl_qpwの増減の要否を判定する。
なお、ここでは、選択メモリセルMTのターゲットレベルのレベル範囲を、レベルDを基準に、レベルD以上か否かで判定し、かつ隣接メモリセルMTの閾値レベル範囲もレベルD以上か否かで判定しているが、基準レベルは、Dでなくてもよく、さらに、ターゲットレベルのレベル範囲と、隣接メモリセルMTの閾値レベル範囲は異なっていてもよい。
図18は、QPW動作時におけるQPW電圧Vbl_qpwの増減により閾値分布の変化を説明するための図である。
QPW動作は、メモリセルMTの閾値電圧がベリファイハイレベルのベリファイ電圧VvHとベリファイローレベルのベリファイ電圧VvLの間にあると判定されたときに実行される。選択メモリセルMTのターゲットレベル範囲と隣接メモリセルMTの閾値レベル範囲が上述した領域αの場合、制御部22は、QPW電圧Vbl_qpwを上昇させる。その結果、閾値分布は、一点鎖線で示すように、閾値電圧が低い方へ移動する。また、選択メモリセルMTのターゲットレベル範囲と隣接メモリセルMTの閾値レベル範囲が上述した領域βの場合、制御部22は、QPW電圧Vbl_qpwを減少させる。その結果、閾値分布は、二点鎖線で示すように、閾値電圧が高い方へ移動する。
図19は、本実施形態に関わる、選択メモリセルMTへのQPWによる閾値分布の変化を説明するための図である。選択メモリセルMTへのデータの書き込み時に、選択メモリセルMTが高レベルメモリセルであってかつ隣接メモリセルMTが低レベルメモリセルである場合(領域βの場合)は、選択メモリセルMTの閾値電圧が上がるように、QPW電圧Vbl_qpwを低下させる。また、選択メモリセルMTへのデータの書き込み時に、選択メモリセルMTが低レベルメモリセルであって隣接メモリセルMTが高レベルメモリセルである場合(領域αの場合)は、閾値電圧が下がるように、QPW電圧Vbl_qpwを上昇させる。
すなわち、図19に示すように、高レベルメモリセルMTの閾値分布DSは、右へシフトした閾値分布DSnとなり、低レベルメモリセルMTの閾値分布DSは、左へシフトした閾値分布DSnとなるようには、QPW電圧Vbl_qpwが調整される。
上述したように、選択メモリセルMTの閾値電圧が、隣接メモリセルMTの閾値電圧よりも高い場合、時間の経過に伴い、選択メモリセルMTの電荷が隣接メモリセルMTへ移動する。その結果、選択メモリセルMTの電荷量が減少し、選択メモリセルMTの閾値分布は、閾値電圧の低い方へ(図では左へ)シフトしてしまう。
そこで、選択メモリセルMTの閾値電圧が、隣接メモリセルMTの閾値電圧よりも高い場合は、このような閾値分布のシフトを予め想定して、選択メモリセルMTへのデータの書き込み時の電荷量を多くする。言い換えれば、選択メモリセルMTのターゲットレベルと隣接メモリセルMTの閾値レベルとの差の状態が、選択メモリセルMTのターゲットレベルが隣接メモリセルMTの閾値レベルよりも高い状態であるとき、制御部22は、ビット線電圧の変更においてビット線電圧を低下させる。
その結果、高レベルメモリセルMTの閾値分布DSは、右へシフトして閾値分布DSnとなる。時間の経過に伴い、閾値電圧が低下しても、選択メモリセルMTの閾値分布と隣接メモリセルMTの閾値分布同士は、重なり難い。
同様に、選択メモリセルMTの閾値電圧が、隣接メモリセルMTの閾値電圧よりも低い場合、時間の経過に伴い、隣接メモリセルMTの電荷が選択メモリセルMTへ流入する。その結果、選択メモリセルMTの電荷量が増加し、選択メモリセルMTの閾値分布は、閾値電圧の高い方へ(図では右へ)シフトしてしまう。
そこで、選択メモリセルMTの閾値電圧が、隣接メモリセルMTの閾値電圧よりも低い場合は、このような閾値分布のシフトを予め想定して、選択メモリセルMTへのデータの書き込み時の電荷量を少なくする。言い換えれば、選択メモリセルMTのターゲットレベルと隣接メモリセルMTの閾値レベルとの差の状態が、選択メモリセルMTのターゲットレベルが隣接メモリセルMTの閾値レベルよりも低い状態であるとき、制御部22は、ビット線電圧の変更においてビット線電圧を低下させる。
その結果、低レベルメモリセルMTの閾値分布DSは、左へシフトして閾値分布DSnとなる。時間の経過に伴い、閾値電圧が上昇しても、選択メモリセルMTの閾値分布と隣接メモリセルMTの閾値分布同士は、重なり難い。
以上のような選択メモリセルMTへの電荷注入量の変更は、QPW時のQPW電圧Vbl_qpwを調整することにより行われる。選択メモリセルMTへのデータの書き込み時の電荷量を多くするときは、QPW時のビット線電圧を低くするように調整される。選択メモリセルMTへのデータの書き込み時の電荷量を少なくするときは、QPW時のビット線電圧を高くするように調整される。
すなわち、選択メモリセルMTへのデータの書き込み時に、時間の経過に伴う閾値分布の変化を予め想定して、隣接メモリセルMTの閾値電圧に応じて閾値分布を変更する。これによって、時間の経過に伴う閾値分布の変化が起こったとしても、選択メモリセルMTの閾値分布と隣接メモリセルMTの閾値分布が、一部でも重ならないようにした。
図20は、制御部22によるデータの書き込みの流れの例を示すフローチャートである。
制御部22は、書き込みコマンドを受信すると、その書き込みコマンドに係わる選択ワード線に隣接する隣接ワード線について各隣接メモリセルMTの閾値レベルの読み出しを実行する(ステップ(以下、Sと略す)1)。ここで、各隣接メモリセルMTの閾値レベルの読み出しとは、隣接ワード線の各隣接メモリセルMTの閾値電圧が、図17で示した所定の閾値レベル、例えばレベルD以上であるか否かが判定のための読み出しである。よって、各隣接メモリセルMTの閾値レベルの読み出しとは、各隣接メモリセルMTがベリファイ電圧DV以上か否かを判定することである。
選択ワード線WL(n)の隣接ワード線は、図3における上下のワード線WL(n−1)、WL(n+1)である。もしも、選択ワード線WL(n)の上又は下にワード線がないときは、下又は上のワード線のみについて閾値レベルの読み出しが行われる。
制御部22は、読み出し結果の情報(各隣接メモリセルMTがベリファイ電圧DV以上か否かの情報)を、選択ワード線WL(n)のデータラッチへ格納する(S2)。ここでは、データラッチは、選択ワード線WL(n)の各センスアンプユニットSAUの2つのラッチ回路DDLである。
各選択メモリセルMTについて、上下のワード線WL(n−1)、WL(n+1)の2つの隣接メモリセルMTの閾値レベルの状態が2つのラッチ回路DDLに格納される。よって、各センスアンプユニットSAUの2つのラッチ回路DDLに、2つの隣接メモリセルMTの閾値レベルの情報が格納される。
なお、データの書き込みがデータ消去後にワード線WL(0)から順番に行われていくような場合、及びストリングユニットSUの端部のワード線WL(7)のときは、1つの隣接メモリセルMTの閾値レベルの情報のみが、2つのラッチ回路DDLの一方に格納される。
さらになお、ここでは、ラッチ回路DDLが2つあるが、隣接メモリセルMTの閾値データを格納するラッチ回路DDLが1つの場合は、上下のワード線の隣接メモリセルMTの2つの閾値データの一つでも、図17に示すような状態(領域α、β)の場合にあるかの情報が、1つのラッチ回路DDLに格納される。
また、2つの隣接メモリセルMTの一方だけが図17に示すような状態(領域α、β)にあるときは、他方の隣接メモリセルMTのさらに隣のメモリセル(以下、隣々接メモリセルという)の閾値レベルを読み出すようにしてもよい。その場合、隣々接メモリセルの閾値データも使って、図17に示すような状態(領域α、β)の場合のいずれであるかが判断される。例えば、隣々接メモリセルとして、ワード線WL(n−2)又はWL(n−2)のメモリセルMTの閾値レベルが読み出され、読み出された閾値レベルの情報が1つのラッチ回路DDLに上書きされる。
制御部22は、選択ワード線WL(n)への書き込み動作を実行する(S3)。書き込み動作では、上述したQPW動作も行われる。書き込み動作は、上述したように、プログラム動作とベリファイ動作を含み、実効プログラム電圧をΔVpgmだけ増加させながら行われる。そして、ターゲットレベルの領域の各メモリセルMTに対してベリファイ電圧Vvを用いたベリファイ動作が行われたときに、読み出された閾値電圧がベリファイローレベルとベリファイハイレベルの間の値の場合には、実効プログラム電圧の増加分をΔVpgmよりも小さい電圧に設定することにより、QPW動作が実行される。すなわち、ベリファイ動作において、選択メモリセルMTの閾値電圧がベリファイローレベルとベリファイハイレベルとの間にあるときは、上述したQPW動作が実行される。よって、S3では、QPW動作が実行されない場合もある。
以上のように、制御部22は、書き込みコマンドを受信すると、選択メモリセルMTへのプログラム動作を実行する前に、隣接メモリセルMTの閾値レベルを読み出す。その後、データの書き込みを実行する。データの書き込みの途中で、読み出された閾値電圧がベリファイローレベルとベリファイハイレベルの間の値の場合には、実効プログラム電圧の増加分をΔVpgmよりも小さい電圧に設定することにより、QPW動作が実行される。
図21は、S3において、QPW動作が実行されるときの処理の流れの例を示すフローチャートである。QPW動作が実行されるとき、S1で読みされた隣接ワード線の読み出し結果に応じて、QPW動作時のQPW電圧Vbl_qpwが変更される。
制御部22は、S3においてQPW動作を実行するとき、選択メモリセルMTのターゲットレベルが低レベルで、かつ隣接メモリセルMTの閾値レベルが高レベルであるかを判定する(S11)。
選択メモリセルMTのターゲットレベルは、データラッチであるラッチ回路ADL、BDL、CDLに格納されている。隣接メモリセルMTの閾値レベルは、S2により2つのラッチ回路DDLに格納されている。よって、制御部22は、ターゲットレベルを示すラッチ回路ADL、BDL、CDLの各値と、2つのラッチ回路DDLの各値とに基づいて、選択メモリセルMTのターゲットレベルと隣接メモリセルMTの閾値レベルが上述した領域α、βにあるか否かを判定することができる。
選択メモリセルMTのターゲットレベルが低レベルで、かつ隣接メモリセルMTの閾値レベルが高レベルであるとき、すなわち選択メモリセルMTのターゲットレベルと隣接メモリセルMTの閾値レベルが領域αにあるとき(S11:YES)、制御部22は、QPW電圧Vbl_qpwに対して所定の増加分の電圧Vαを加算した、QPW電圧Vbl_qpwよりも高いバイアス電圧で、QPWを実行する(S12)。その結果、S12のQPW動作により、選択メモリセルMTへ注入する電荷量は、減少する。
選択メモリセルMTのターゲットレベルが低レベルでない、あるいは隣接メモリセルMTの閾値レベルが高レベルでないとき(S11:NO)、制御部22は、選択メモリセルMTのターゲットレベルが高レベルで、かつ隣接メモリセルMTの閾値レベルが低レベルであるかを判定する(S13)。
選択メモリセルMTのターゲットレベルが高レベルで、かつ隣接メモリセルMTの閾値レベルが低レベルであるとき、すなわち選択メモリセルMTのターゲットレベルと隣接メモリセルMTの閾値レベルが領域βにあるとき(S13:YES)、制御部22は、QPW電圧Vbl_qpwに対して所定の増加分の電圧Vβを減算した、QPW電圧Vbl_qpwよりも低いバイアス電圧で、QPWを実行する(S14)。その結果、S14のQPW動作により、選択メモリセルMTへ注入する電荷量は、増加する。
以上のように、制御回路である制御部22は、各メモリセルMTへのデータの書き込み動作において、データの書き込み動作の対象となる選択ワード線WLに接続された選択メモリセルMTのターゲットレベルと、選択メモリセルMTに隣接する隣接メモリセルMT(選択メモリセルMTに接続される選択ワード線に隣接する隣接ワード線に接続されるメモリセルMT)の閾値レベルとの差の状態に応じて、選択メモリセルMTのビット線電圧の変更を行うようにセンスアンプ回路24を制御する。
具体的には、その差の状態が、選択メモリセルMTのターゲットレベルが、複数のレベルの中の所定の第1の閾値レベル(上述に例では、レベルD)以上で、かつ隣接メモリセルMTの閾値レベルがその第1の閾値レベル未満である状態のとき、制御部22は、ビット線電圧の変更では、ビット線電圧を低下させる。
また、その差の状態が、選択メモリセルMTのターゲットレベルが、複数のレベルの中の第2の閾値レベル(上述に例では、レベルD)未満で、かつ隣接メモリセルMTの閾値レベルが第2の閾値レベル以上である状態のとき、制御部22、ビット線電圧の変更では、ビット線電圧を上昇させる。
選択メモリセルMTのターゲットレベルが高レベルでない、あるいは隣接メモリセルMTの閾値レベルが高レベルであるとき(S13:NO)、制御部22は、通常のバイアス電圧、すなわちQPW電圧Vbl_qpwをビット線BLに印加してQPW動作を実行する(S15)。また、2つの隣接メモリセルMTが共に、領域αにもあるいは領域βにもない場合は、通常のQPW動作が実行される。以上のQPW電圧の調整は、ビット線BL毎に行われる。
なお、上述した例では、選択メモリセルMTに対して隣接する2つの隣接メモリセルMTが共に、領域αにあるかあるいは領域βにある場合に、QPW電圧Vbl_qpwの変更を行っているが、2つのうちの1つでも、領域αにあるかあるいは領域βにある場合に、QPW電圧の変更を行うようにしてもよい。
さらになお、電圧Vα及びVβは、上述した例ではどの選択ワード線WLにおいても一定であるが、選択ワード線WL0〜WL7に応じて異なるようにしてもよい。これにより、図3に示すD3方向におけるメモリセルMTの製造バラツキによるデータリテンションによる電荷の移動量が異なる場合に対応することができる。
図22は、選択ワード線と隣接ワード線の波形図である。制御部22がI/Oインターフェイス21を介して書き込みコマンドを受信すると、選択ワード線WL(n)では、プログラムループが、すなわち各選択メモリセルMTに対するプログラム動作が、開始される。図22に示すように、書き込み動作は、選択メモリセルの閾値電圧を上昇させるためにプログラム電圧Vpgmを印加するプログラム動作と、選択メモリセルの閾値電圧が十分に上昇したかどうかを検証するためにベリファイ電圧Vvを印加するベリファイ動作からなるプログラムループ(ループ)が繰り返される。プログラムープの数は、例えば、予め決められており、各ターゲットレベルにおいてプログラム電圧の印加とベリファイ電圧の印加するループの範囲も予め設定されている。
隣接ワード線WL(n+1)、WL(n−1)のデータ読み出しのために、非選択ワード線WLには、レベルGの閾値電圧GVよりも大きな読み出し電圧Vpass_readが印加され、選択ワード線WL(n)には、電圧Vreadが印加され、隣接ワード線には、所定の電圧Vcgrvが印加される。隣接ワード線WL(n+1)、WL(n−1)のデータ読み出し後に、データの書き込みが行われる。
以上のように、上述した実施形態では、プログラム動作の前に、同じチャネルの隣接メモリセルMTの閾値レベルを読み出し、QPW動作時に、その読み出し結果に応じて選択メモリセルへの閾値電圧をターゲットレベルより高いあるいは低い閾値に書き込むことにより、書き込み完了後のデータを保持した状態で時間が経過すること(データリテンション)による閾値の低下を補正する。
その結果、時間の経過に伴う閾値電圧の変動に対して、選択メモリセルMTのロバストな閾値分布を形成して、データの誤読み出しを低減し信頼性の高い、半導体記憶装置を実現することができる。
言い換えれば、QPW動作におけるQPW電圧Vbl_qpwを変動させることにより、実効プログラム電圧を変化させる。QPW電圧Vbl_qpwの変動のために、プラス又はマイナスのバイアス電圧がQPW電圧Vbl_qpwに加えられる。結果として、時間の経過に伴って隣り合う閾値分布が重なってしまうことを抑制する。
以上のように、上述した実施形態によれば、データリテンションによる閾値電圧変化の影響を抑制した半導体記憶装置を提供することができる。
次に、上述した実施形態の変形例を説明する。
(変形例1)
上述した実施形態では、隣接ワード線の読み出しは、書き込み動作における最初のプログラムループの前に行われているが、書き込み動作の途中のプログラムループの前に行うようにしてもよい。
(変形例1)
上述した実施形態では、隣接ワード線の読み出しは、書き込み動作における最初のプログラムループの前に行われているが、書き込み動作の途中のプログラムループの前に行うようにしてもよい。
例えば、図5に示すようなデータコーディングの場合、レベルCのターゲットレベルまでのデータの書き込みに相当するプログラムループが終了した後は、下位ページのデータは、全て「0」であるので、下位ページのデータラッチであるラッチ回路CDLを使用しない、すなわちラッチ回路CDLを開放することができる。その開放されたラッチ回路CDLに、隣接メモリセルMTの閾値データの状態を格納するようにしてもよい。さらに、レベルEのターゲットレベルまでのデータ書き込みが終了した後は、上位ページのデータは、全て「0」であるので、上位ページのデータラッチであるラッチ回路ADLを使用しない、すなわちラッチ回路ADLを開放することができる。その開放されたラッチ回路ADL、CDLに、隣接メモリセルMTの閾値データの状態を格納するようにしてもよい。
図23は、本変形例1に係わる制御部22によるデータの書き込みの流れの例を示すフローチャートである。図23において、図20と同じ処理については、同じステップ番号を付し説明は省略し、異なる点のみ説明する。
制御部22は、書き込み動作が所定の段階まで進行したかを判定する(S21)。例えば、図5におけるレベルCに相当するプログラムループまで、書き込みが終了したかが判定される。
書き込み動作が所定の閾値レベルまで終了したとき(S21:YES)、制御部22は、所定のラッチ回路を開放する(S22)。例えば、図7のデータコーディングの場合、レベルD以上に相当するプログラムループにおいては、ラッチ回路CDLの値は、全て「0」なので、使用しなくてもよい。よって、ラッチ回路CDLが開放される。
その後は、上述したS1からS3の処理が実行される。S2の所定のデータラッチは、S22で開放されたラッチ回路である。S3においてQPW動作が実行される場合、上述した実施形態と同様の処理が実行される。
また、書き込み動作が所定の段階まで進行していないとき(S21:NO)、処理は、S3へ移行する。本変形例によれば、隣接メモリセル専用のラッチ回路が不要となる。
なお、データコーディングのパターンは、図5に示すデータの割り付けパターン以外のパターンもあるので、ラッチ回路BDLも開放できるときは、ラッチ回路BDLに、隣接メモリセルMTの閾値データの状態を格納するようにしてもよい。
その場合、2つのラッチ回路BDL、CDLを使用しなくてもよい閾値レベルまで書き込み動作が進行してから、S22において2つのラッチ回路BDL、CDLが開放されて、隣接メモリセルMTの閾値レベルの状態が2つのラッチ回路BDL、CDLに格納される。
本変形例によれば、書き込み動作は、複数のプログラムループを含む。各プログラムループは、選択ワード線WLにプログラム電圧Vpgmを印加するプログラム動作と、選択ワード線WLにベリファイ電圧を印加するベリファイ動作からなるプログラムプログラムループとを含む。複数のプログラムループは、複数レベルのうち低い閾値レベルに対応するプログラムループから高い閾値レベルに対応するプログラムループに順番に実行される。制御部22は、複数レベルについての低い閾値レベルから高い閾値レベルに順番に、書き込みシーケンスを実行する途中から、所定のプログラムループの前に、隣接メモリセルMTの閾値レベルが読み出される。すなわち、制御部22は、複数のプログラムループの一部が終了した段階で隣接メモリセルの閾値レベルを読み出す。そして、制御部22は、読み出した隣接メモリセルMTの閾値レベルのデータを、その後のプログラムループにおいて使用されない複数のラッチ回路ADL、BDL、CDLの少なくとも1つに格納する。よって、隣接メモリセルMTのための専用のラッチ回路が不要となる。
(変形例2)
上述した実施形態では、図17に示すような選択メモリセルMTのターゲットレベルと隣接メモリセルMTの閾値レベルが、どの領域にあるかに基づいて、ビット線BLへのQPW電圧の変更を行っているが、選択メモリセルMTのターゲットレベルと隣接メモリセルMTの閾値レベルとの差が所定のレベル以上の差があるか否かに基づいて、ビット線BLへのQPW電圧の変更を行うようにしてもよい。
(変形例2)
上述した実施形態では、図17に示すような選択メモリセルMTのターゲットレベルと隣接メモリセルMTの閾値レベルが、どの領域にあるかに基づいて、ビット線BLへのQPW電圧の変更を行っているが、選択メモリセルMTのターゲットレベルと隣接メモリセルMTの閾値レベルとの差が所定のレベル以上の差があるか否かに基づいて、ビット線BLへのQPW電圧の変更を行うようにしてもよい。
例えば、選択メモリセルMTのターゲットレベルがAで、隣接メモリセルMTの閾値レベルがDであるとき、レベル差は+3である。このレベル差が3以上であるときには、QPW電圧Vbl_qpwを上昇するように、ビット線BLへのQPW電圧の変更を行う。このレベル差が3未満であるときには、QPW電圧Vbl_qpwの変更は行わない。
また、選択メモリセルMTのターゲットレベルがEで、隣接メモリセルMTの閾値レベルがAであるとき、レベル差が−4である。そのときは、このレベル差が3以上であるので、QPW電圧Vbl_qpwを下降するように、ビット線BLへのQPW電圧の変更を行う。
以上のように、選択メモリセルMTのターゲットレベルと隣接メモリセルMTの閾値レベルとの差が所定のレベル以上の差があるか否かに基づいて、ビット線BLへのQPW電圧Vbl_qpwの変更を行うようにしてもよい。
なお、レベル判断用の差分値について複数の範囲を設けて、選択メモリセルMTのターゲットレベルと隣接メモリセルMTの閾値レベルとの差がどの差分値の範囲に属するかを判定し、差が属する差分値の範囲に応じて予め設定された調整量を用いて、ビット線BLへのQPW電圧の変更を行うようにしてもよい。この場合、複数の範囲に応じたラッチ回路が必要となるが、差分値に応じたQPW電圧Vbl_qpwの調整をすることができる。
(第2の実施形態)
第2の実施形態では、データの書き込みを2段階で行う場合に、QPW動作のQPW電圧Vbl_qpwの調整が行われる。
(第2の実施形態)
第2の実施形態では、データの書き込みを2段階で行う場合に、QPW動作のQPW電圧Vbl_qpwの調整が行われる。
本実施形態のメモリシステム及び不揮発性メモリの構成は、第1の実施形態のメモリシステム及び不揮発性メモリと同じであるので、同じ構成要素については同じ符合を付して説明は省略し、異なる構成についてのみ説明する。
2段階書き込み方式では、データの書き込みを行うメモリセルMTを含むブロックBLKに対する一括消去の実行後、第1書き込み動作によって各ターゲットレベルのデータが大まかに書き込まれた後、第2書き込み動作によって各ターゲットレベルのデータが精度よく書き込まれる。すなわち、本実施形態における書き込み動作は、第1書き込み動作と第2書き込み動作を含む。
メモリセルアレイ23へのデータの書き込みは、制御部22により行われる。制御部22は、第1書き込み動作と第2書き込み動作を行うように、プログラム電圧Vpgm及びビット線電圧を制御する。第1書き込み動作では、図5に示すような各閾値分布幅よりも大きな幅を有する複数のレベルのデータが、複数のメモリセルMTへ書き込まれる。第2書き込み動作は、第1書き込み動作の後に行われ、図5に示すような閾値分布幅を有する複数のレベルA〜Gのデータが、複数のメモリセルMTへ書き込まれる。
すなわち、制御部22は、各々が図5に示すような閾値分布幅よりも広い閾値分布幅を有する複数のレベルのデータを複数のメモリセルMTへ書き込む第1書き込み動作、及び、その第1書き込み動作の後に行われ各々が図5に示すような閾値分布幅(図5)を有する複数の状態のデータを複数のメモリセルMTへ書き込む第2書き込み動作を行うように、プログラム電圧Vpgm及びビット線電圧を制御する。
図24は、一つのワード線WLについての書き込み動作を模式的に示す図である。時刻t11で第1書き込み動作が開始され、時刻t12で第1書き込み動作が終了した後に第2書き込み動作が開始され、時刻t13で第2書き込み動作が終了する。以下、第1書き込み動作を、フォギー書き込みといい、第2書き込み動作を、ファイン書き込みという。
なお、フォギー書き込みとファイン書き込みは、隣接ワード線干渉を低減するために、kを0〜7の整数のいずれかとすれば、ワード線WL(k)のフォギー書き込みをした後の次には、ワード線WL(k+1)のフォギー書き込みをし、その後に、ワード線WL(k)のファイン書き込みを実行する、というような順序で実行される。図24では、模式的に、時刻t12で第1書き込み動作が終了した後に第2書き込み動作が開始される様子を示している。しかし、隣接ワード線干渉を低減するために、あるワード線WLkに対応するあるメモリセルMT(メモリセルグループMG)に対して第1書き込み動作が終了する時刻と、第2書き込み動作が開始される時刻との間には、少なくとも、同じストリングユニットSUj(jは0〜3の整数のいずれか)においてワード線WL(k+1)に対応する他のメモリセルMT(メモリセルグループMG)に対する第1書き込み動作が実行される。
図25は、第1書き込み動作および第2書き込み動作の実行順序の例を示す図である。例えば、1番目から4番目の動作として、ワード線WL0に対応したメモリセルグループMGに対する第1書き込み動作が実行される。次に、5番目から8番目の動作として、ワード線WL1に対応したメモリセルグループMGに対する第1書き込み動作が実行される。
次に、9番目から12番目の動作として、ワード線WL0に対応したメモリセルグループMGに対する第2書き込み動作が実行される。以下同様の実行順序で、動作が繰り返される。例えば、このような動作順序の場合、ストリングユニットSU0においてワード線WL0に対応するメモリセルグループMGに対するデータの書き込みが完了するのは、9番目の動作が終了した時刻である。
2段階書き込みが行われるときは、フォギー書き込みが行われていない隣接ワード線は、閾値レベルが不明であるので、図20のS1における読み込み対象とせずに、S1では、フォギー書き込みが行われた隣接ワード線とファイン書き込みが行われた隣接ワード線が、S1における読み込み対象とされる。
フォギー書き込みとファイン書き込みが、図25のように、ワード線間で行われるとき、フォギー書き込みがワード線WL(n)に行われ、ファイン書き込みがワード線WL(n−1)に行われ、フォギー書き込みがワード線WL(n+1)に行われ、ファイン書き込みがワード線WL(n)に行われる。
この場合、ファイン書き込みがワード線WL(n−1)に行われるときは、S1では、ワード線WL(n)とワード線WL(n−2)が隣接ワード線の2つのワード線の各ビット線BLの閾値レベルが読み出される。
フォギー書き込みがワード線WL(n+1)に行われるときは、S1では、ワード線WL(n)のみが隣接ワード線として、各ビット線BLの閾値レベルが読み出される。
ファイン書き込みがワード線WL(n)に行われるときは、S1では、ワード線WL(n+1)とワード線WL(n−1)が隣接ワード線の2つのワード線の各ビット線BLの閾値レベルが読み出される。
なお、QPW動作は、ファイン書き込みにおいてのみ行うようにしてもよいし、フォギー書き込みとファイン書き込みの両書き込み時に行うようにしてもよい。さらになお、QPW動作は、フォギー書き込みのときだけも適用してもよい。
よって、以上のように、上述した第2の実施形態によっても、データリテンションによる閾値電圧変化の影響を抑制した半導体記憶装置を提供することができる。
第1の実施形態の各変形例は、第2の実施形態においても適用可能である。
上述した各実施形態及び各変形例によれば、書き込み完了後のデータを保持した状態で時間が経過すること(データリテンション)による閾値電圧変化の影響を抑制した半導体記憶装置を提供することができる。
なお、上述した各実施形態及び各変形例では、メモリセルMTは、3ビット(8値)のデータを保持可能なTLC(Triple Level Cell)であるが、上述した各実施形態及び各変形例は、2ビット(4値)のデータを保持可能なMLC(Multi Level Cell)、または4ビット(16値)のデータを保持可能なQLC(Quad Level Cell)などの他の多値メモリにも適用可能である。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として例示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 メモリコントローラ、2 不揮発性メモリ、12 プロセッサ、13 ホストインターフェイス、14 ECC回路、15 メモリインターフェイス、16 内部バス、21 インターフェイス、22 制御部、23 メモリセルアレイ、24 センスアンプ回路、25 ワード線ドライバ、40〜48 トランジスタ、49 キャパシタ、50,51 インバータ、52,53 トランジスタ、331、332、333 配線層、334 メモリホール、335 ブロック絶縁膜、336 電荷蓄積膜、337 ゲート絶縁膜、338 導電体柱、339、340 コンタクトプラグ。
Claims (8)
- 各々が複数レベルの閾値電圧のいずれかに設定可能な複数のメモリセルを備えたメモリセルアレイと、
前記複数のメモリセルのゲートにそれぞれ接続された複数のワード線と、
前記複数のワード線にそれぞれ電圧を印加するワード線ドライバと、
前記複数のメモリセルの一端にそれぞれ接続された複数のビット線と、
前記複数のビット線を介して、前記複数のメモリセルのデータを検出すると共に、前記複数のビット線にビット線電圧を印加するセンスアンプ回路と、
前記複数のメモリセルへのデータの書き込み動作を実行するために、前記ワード線ドライバと前記センスアンプ回路を制御する制御回路と、
を有し、
前記制御回路は、前記書き込み動作において、前記書き込み動作の対象となる選択ワード線に接続された選択メモリセルのターゲットレベルと、前記選択ワード線に隣接する隣接ワード線に接続された隣接メモリセルの閾値レベルとの差の状態に応じて、前記ビット線電圧を変更する、半導体記憶装置。 - 前記差の状態が、前記選択メモリセルの前記ターゲットレベルが、前記複数のレベルの中の第1の閾値レベル以上で、かつ前記隣接メモリセルの閾値レベルが前記第1の閾値レベル未満である第1の状態のとき、前記制御回路は、前記ビット線電圧の変更では、前記ビット線電圧を低下させる、請求項1に記載の半導体記憶装置。
- 前記差の状態が、前記選択メモリセルの前記ターゲットレベルが、前記複数のレベルの中の第2の閾値レベル未満で、かつ前記隣接メモリセルの閾値レベルが前記第2の閾値レベル以上である第2の状態のとき、前記制御回路は、前記ビット線電圧の変更では、前記ビット線電圧を上昇させる、請求項1又は2に記載の半導体記憶装置。
- 前記差の状態が、前記選択メモリセルの前記ターゲットレベルが前記隣接メモリセルの閾値レベルよりも高い状態であるとき、前記制御回路は、前記ビット線電圧の変更では、前記ビット線電圧を低下させる、請求項1に記載の半導体記憶装置。
- 前記差の状態が、前記選択メモリセルの前記ターゲットレベルが前記隣接メモリセルの閾値レベルよりも低い状態であるとき、前記制御回路は、前記ビット線電圧の変更では、前記ビット線電圧を低下させる、請求項1に記載の半導体記憶装置。
- 前記制御回路は、前記選択メモリセルへの前記データ書き込みの前に、前記隣接メモリセルの閾値レベルを読み出す、請求項1に記載の半導体記憶装置。
- 前記書き込み動作は、複数のプログラムループを含み、
各プログラムループは、前記選択ワード線にプログラム電圧を印加するプログラム動作と、前記選択ワード線にベリファイ電圧を印加するベリファイ動作からなるプログラムプログラムループとを含み、
前記複数のプログラムループは、前記複数レベルのうち低い閾値レベルに対応するプログラムループから高い閾値レベルに対応するプログラムループに順番に実行され、
前記制御回路は、前記複数のプログラムループの一部が終了した段階で前記隣接メモリセルの前記閾値レベルを読み出す、請求項1に記載の半導体記憶装置。 - 前記選択メモリセルの書き込みデータに対応する複数のデータをラッチする複数のラッチ回路を有し、
前記制御回路は、読み出した前記隣接メモリセルの閾値レベルのデータを、前記複数のラッチ回路の少なくとも1つに格納する、請求項7に記載の半導体記憶装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019045140A JP2020149742A (ja) | 2019-03-12 | 2019-03-12 | 半導体記憶装置 |
TW108121942A TWI712049B (zh) | 2019-03-12 | 2019-06-24 | 半導體記憶裝置 |
CN201910603754.9A CN111696606B (zh) | 2019-03-12 | 2019-07-05 | 半导体存储装置 |
US16/557,898 US11322204B2 (en) | 2019-03-12 | 2019-08-30 | Semiconductor memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019045140A JP2020149742A (ja) | 2019-03-12 | 2019-03-12 | 半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020149742A true JP2020149742A (ja) | 2020-09-17 |
Family
ID=72423766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019045140A Pending JP2020149742A (ja) | 2019-03-12 | 2019-03-12 | 半導体記憶装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11322204B2 (ja) |
JP (1) | JP2020149742A (ja) |
CN (1) | CN111696606B (ja) |
TW (1) | TWI712049B (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210391012A1 (en) * | 2020-06-12 | 2021-12-16 | Sandisk Technologies Llc | Neighbor aware multi-bias programming in scaled bics |
CN115440265B (zh) * | 2021-06-01 | 2024-05-17 | 长鑫存储技术有限公司 | 存储器 |
CN115588450B (zh) * | 2022-12-13 | 2023-03-14 | 至讯创新科技(无锡)有限公司 | Nand闪存实现同或运算的控制方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006031871A (ja) * | 2004-07-20 | 2006-02-02 | Toshiba Corp | 半導体記憶装置 |
JP2007012180A (ja) * | 2005-06-30 | 2007-01-18 | Renesas Technology Corp | 半導体記憶装置 |
US7400532B2 (en) * | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
US7652929B2 (en) * | 2007-09-17 | 2010-01-26 | Sandisk Corporation | Non-volatile memory and method for biasing adjacent word line for verify during programming |
JP5193830B2 (ja) * | 2008-12-03 | 2013-05-08 | 株式会社東芝 | 不揮発性半導体メモリ |
JP2013186932A (ja) | 2012-03-12 | 2013-09-19 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2013191264A (ja) * | 2012-03-15 | 2013-09-26 | Toshiba Corp | 半導体記憶装置およびその駆動方法 |
KR101980676B1 (ko) * | 2012-05-25 | 2019-05-22 | 에스케이하이닉스 주식회사 | 메모리 및 그 검증 방법 |
JP5931822B2 (ja) * | 2013-09-09 | 2016-06-08 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP2016054017A (ja) | 2014-09-04 | 2016-04-14 | 株式会社東芝 | 半導体記憶装置 |
JP2018156711A (ja) * | 2017-03-21 | 2018-10-04 | 東芝メモリ株式会社 | メモリコントローラおよびデータ読み出し方法 |
JP2019057345A (ja) * | 2017-09-20 | 2019-04-11 | 東芝メモリ株式会社 | 半導体記憶装置 |
-
2019
- 2019-03-12 JP JP2019045140A patent/JP2020149742A/ja active Pending
- 2019-06-24 TW TW108121942A patent/TWI712049B/zh active
- 2019-07-05 CN CN201910603754.9A patent/CN111696606B/zh active Active
- 2019-08-30 US US16/557,898 patent/US11322204B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TW202034313A (zh) | 2020-09-16 |
CN111696606A (zh) | 2020-09-22 |
CN111696606B (zh) | 2023-10-27 |
US11322204B2 (en) | 2022-05-03 |
US20200294600A1 (en) | 2020-09-17 |
TWI712049B (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6856400B2 (ja) | 半導体記憶装置及びメモリシステム | |
US9087608B2 (en) | Method of programming non-volatile memory device and non-volatile memory device using the same | |
KR101198515B1 (ko) | 반도체 메모리 소자의 동작 방법 | |
JP4936914B2 (ja) | 半導体記憶装置 | |
US9984761B2 (en) | Semiconductor memory device | |
US7800946B2 (en) | Flash memory device and operating method thereof | |
US9390800B2 (en) | Semiconductor memory and semiconductor memory control method | |
US11107542B2 (en) | Semiconductor memory device | |
KR101264019B1 (ko) | 반도체 장치의 동작 방법 | |
KR20120121167A (ko) | 반도체 장치 및 이를 이용한 소거 방법 | |
JP2014225310A (ja) | 不揮発性半導体記憶装置 | |
US10153045B2 (en) | Semiconductor memory device | |
US9536603B2 (en) | Methods and apparatuses for determining threshold voltage shift | |
JP5992983B2 (ja) | 不揮発性半導体記憶装置 | |
JP2014157650A (ja) | 半導体記憶装置 | |
US20130163324A1 (en) | Semiconductor memory device and method of operating the same | |
JP2020095767A (ja) | 半導体記憶装置 | |
JP2009104729A (ja) | 不揮発性半導体記憶装置 | |
CN111696606B (zh) | 半导体存储装置 | |
JP2020047330A (ja) | 半導体記憶装置 | |
JP2013186932A (ja) | 不揮発性半導体記憶装置 | |
KR20120059035A (ko) | 반도체 메모리 장치의 프로그램 방법 | |
JP2012123856A (ja) | 不揮発性半導体記憶装置 | |
JP5242603B2 (ja) | 半導体記憶装置 | |
KR20120005841A (ko) | 불휘발성 메모리 장치 및 그의 동작 방법 |