JP2018163723A - メモリデバイス及びメモリシステム - Google Patents

メモリデバイス及びメモリシステム Download PDF

Info

Publication number
JP2018163723A
JP2018163723A JP2017060387A JP2017060387A JP2018163723A JP 2018163723 A JP2018163723 A JP 2018163723A JP 2017060387 A JP2017060387 A JP 2017060387A JP 2017060387 A JP2017060387 A JP 2017060387A JP 2018163723 A JP2018163723 A JP 2018163723A
Authority
JP
Japan
Prior art keywords
voltage
sequencer
value
signal
circuit
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
JP2017060387A
Other languages
English (en)
Inventor
浩己 伊達
Hiroki Date
浩己 伊達
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
Toshiba Memory 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 Toshiba Memory Corp filed Critical Toshiba Memory Corp
Priority to JP2017060387A priority Critical patent/JP2018163723A/ja
Priority to TW106123149A priority patent/TWI638363B/zh
Priority to CN201710651392.1A priority patent/CN108665928B/zh
Priority to US15/917,281 priority patent/US10418118B2/en
Publication of JP2018163723A publication Critical patent/JP2018163723A/ja
Priority to US16/528,318 priority patent/US10622079B2/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching 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
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B41/00Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
    • H10B41/20Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels
    • H10B41/23Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
    • H10B41/27Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/20EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
    • H10B43/23EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
    • H10B43/27EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
    • 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/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • 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/0466Erasable 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]
    • 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/26Sensing or reading circuits; Data output circuits

Landscapes

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

Abstract

【課題】動作信頼性を向上できるメモリデバイス及びメモリシステムを提供する。【解決手段】メモリデバイスは、データを記憶する第1メモリセルと、第1メモリセルに接続される第1ワード線と、第1ワード線に電圧を供給する第1回路と、第1回路を制御する第2回路と、第1回路及び第2回路を制御するシーケンサと、を備え、第1メモリセルにデータを書込む場合、シーケンサは条件を満たすか否かを判定し、条件を満たさないと判定する場合、第2回路に、第1電圧を生成させ、条件を満たすと判定する場合、第2回路に、第1電圧よりも高い第2電圧を生成させ、第1回路は、第1電圧または第2電圧に基づいて、第2電圧よりも低い第3電圧を、第1ワード線に供給する。【選択図】図7

Description

本実施形態は、メモリデバイス及びメモリシステムに関する。
メモリセルが三次元に配列されたNAND型フラッシュメモリが知られている。
特開2010−129104号公報
動作信頼性を向上できるメモリデバイス及びメモリシステムを提供する。
実施形態のメモリデバイスは、データを記憶する第1メモリセルと、第1メモリセルに接続される第1ワード線と、第1ワード線に電圧を供給する第1回路と、第1回路を制御する第2回路と、第1回路及び第2回路を制御するシーケンサと、を備え、第1メモリセルにデータを書込む場合、シーケンサは条件を満たすか否かを判定し、条件を満たさないと判定する場合、第2回路に、第1電圧を生成させ、条件を満たすと判定する場合、第2回路に、第1電圧よりも高い第2電圧を生成させ、第1回路は、第1電圧または第2電圧に基づいて、第2電圧よりも低い第3電圧を、第1ワード線に供給する。
図1は、第1実施形態に係るメモリシステムのブロック図である。 図2は、第1実施形態に係るメモリシステムのいずれかのブロックBLKの回路図である。 図3は、第1実施形態に係るメモリシステムのブロックBLKの一部領域の断面図である。 図4は、第1実施形態に係るメモリシステムのロウデコーダのブロック図である。 図5は、第1実施形態に係るメモリシステムの信号線CGに電圧を印加するための構成を示す回路図である。 図6は、第1実施形態に係るメモリシステムの第1ドライバを示す回路図である。 図7は、第1実施形態に係るメモリシステムの書込み動作(S1000)のフローチャートである。 図8は、プログラム動作の基本的な動作波形である。 図9は、ベリファイ動作の基本的な動作波形である。 図10は、第1実施形態に係るメモリシステムの書込み動作時におけるコマンドシーケンスである。 図11は、第1実施形態に係るメモリシステムの電圧VPGMの転送経路を示す回路図である。 図12は、比較例に係るメモリシステムのプログラム動作の動作波形である。 図13は、第1実施形態に係るメモリシステムのプログラム動作の動作波形である。 図14は、第1実施形態の変形例1に係るメモリシステムの書込み動作(S1100)のフローチャートである。 図15は、第1実施形態の変形例2に係るメモリシステムの書込み動作(S1200)のフローチャートである。 図16は、第1実施形態の変形例3に係るメモリシステムの書込み動作(S1300)のフローチャートである。 図17は、第1実施形態の変形例4に係るメモリシステムの書込み動作(S1400)のフローチャートである。 図18は、第1実施形態の変形例5に係るメモリシステムの書込み動作(S1500)のフローチャートである。 図19は、第1実施形態の変形例6に係るメモリシステムの書込み動作(S1600)のフローチャートである。 図20は、第2実施形態に係るメモリシステムの信号線CGに電圧を印加するための構成を示す回路図である。 図21は、第2実施形態に係るメモリシステムの書込み動作(S2000)のフローチャートである。 図22は、第2実施形態に係るメモリシステムの書込み動作(S2000)のフローチャートである。 図23は、第2実施形態に係るメモリシステムのプログラム動作の基本的な動作波形である。 図24は、第2実施形態に係るメモリシステムの電圧VPGMの転送経路を示す回路図である。 図25は、第2実施形態の変形例1に係るメモリシステムの書込み動作(S2100)のフローチャートである。 図26は、第2実施形態の変形例1に係るメモリシステムの書込み動作(S2100)のフローチャートである。 図27は、第2実施形態の変形例2に係るメモリシステムの書込み動作(S2200)のフローチャートである。 図28は、第2実施形態の変形例3に係るメモリシステムの書込み動作(S2300)のフローチャートである。 図29は、第2実施形態の変形例4に係るメモリシステムの書込み動作(S2400)のフローチャートである。 図30は、第2実施形態の変形例4に係るメモリシステムの書込み動作(S2400)のフローチャートである。 図31は、第2実施形態の変形例5に係るメモリシステムの書込み動作(S2500)のフローチャートである。 図32は、第2実施形態の変形例6に係るメモリシステムの書込み動作(S2600)のフローチャートである。 図33は、第3実施形態に係るメモリシステムの書込み動作(S3000)のフローチャートである。 図34は、第3実施形態に係るメモリシステムの書込み動作(S3100)のフローチャートである。 図35は、第3実施形態に係るメモリシステムの書込み動作時におけるコマンドシーケンスである。 図36は、第3実施形態の変形例1に係るメモリシステムの書込み動作(S3200)のフローチャートである。 図37は、第3実施形態の変形例2に係るメモリシステムの書込み動作(S3300)のフローチャートである。 図38は、第3実施形態の変形例3に係るメモリシステムの書込み動作(S3400)のフローチャートである。 図39は、第4実施形態に係るメモリシステムのウェル配線CPWELLに電圧を印加するための構成を示す回路図である。 図40は、第4実施形態に係るメモリシステムの第5ドライバを示す回路図である。 図41は、第4実施形態に係るメモリシステムのデータ消去動作(S4000)のフローチャートである。 図42は、イレース動作の基本的な動作波形である。 図43は、第4実施形態に係るメモリシステムのデータ消去動作時におけるコマンドシーケンスである。 図44は、比較例に係るメモリシステムのイレース動作の動作波形である。 図45は、第4実施形態に係るメモリシステムのイレース動作の動作波形である。 図46は、第4実施形態の変形例1に係るメモリシステムのデータ消去動作(S4100)のフローチャートである。 図47は、第4実施形態の変形例2に係るメモリシステムのデータ消去動作(S4200)のフローチャートである。 図48は、第4実施形態の変形例3に係るメモリシステムのデータ消去動作(S4300)のフローチャートである。 図49は、第4実施形態の変形例4に係るメモリシステムのデータ消去動作(S4400)のフローチャートである。 図50は、第4実施形態の変形例5に係るメモリシステムのデータ消去動作(S4500)のフローチャートである。 図51は、第4実施形態の変形例6に係るメモリシステムのデータ消去動作(S4600)のフローチャートである。 図52は、第5実施形態に係るメモリシステムのデータ消去動作(S5000)のフローチャートである。 図53は、第5実施形態に係るメモリシステムのデータ消去動作(S5100)のフローチャートである。 図54は、第5実施形態に係るメモリシステムのデータ消去動作時におけるコマンドシーケンスである。 図55は、第5実施形態の変形例に係るメモリシステムのデータ消去動作(S5200)のフローチャートである。
以下、実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。以下ではメモリデバイスとして、メモリセルトランジスタが半導体基板の上方に積層された三次元積層型NAND型フラッシュメモリを例に挙げて説明する。
<1>第1実施形態
第1実施形態に係るメモリデバイスについて説明する。
<1−1>構成
<1−1−1>メモリシステムの構成
まず、本実施形態に係るメモリデバイスを含むメモリシステムの大まかな全体構成について、図1を用いて説明する。
図1に示すようにメモリシステム1は、NAND型フラッシュメモリ(メモリデバイス)100とメモリコントローラ200を備えている。NAND型フラッシュメモリ100とメモリコントローラ200とは、例えばそれらの組み合わせにより一つの半導体装置を構成しても良く、その例としてはSDTMカードのようなメモリカードや、SSD(solid state drive)等が挙げられる。
NAND型フラッシュメモリ100は、複数のメモリセルを備え、データを不揮発に記憶する。メモリコントローラ200は、NANDバスによってNAND型フラッシュメモリ100に接続され、ホストバスによってホスト装置300に接続される。そしてメモリコントローラ200は、NAND型フラッシュメモリ100を制御し、またホスト装置300から受信した命令に応答して、NAND型フラッシュメモリ100にアクセスする。ホスト装置300は、例えばデジタルカメラやパーソナルコンピュータ等であり、ホストバスは、例えばSDTMインターフェースに従ったバスである。
NANDバスは、NANDインターフェースに従った信号の送受信を行う。この信号の具体例は、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、リードイネーブル信号REn、レディ・ビジー信号RBn、及び入出力信号DQである。
信号CLE及びALEは、NAND型フラッシュメモリ100への入力信号DQがそれぞれコマンド及びアドレスであることをNAND型フラッシュメモリ100に通知する信号である。信号WEnは“L(low)”レベルでアサートされ、入力信号DQをNAND型フラッシュメモリ100に取り込ませるための信号である。なお、「アサート」とは、信号(または論理)が有効(アクティブ)な状態とされていることを意味し、これに相対する用語として「ネゲート」は信号(または論理が無効(インアクティブ)な状態とされていることを意味する。信号REnも“L”レベルでアサートされ、NAND型フラッシュメモリ100から出力信号DQを読み出すための信号である。レディ・ビジー信号RBnは、NAND型フラッシュメモリ100がレディ状態(メモリコントローラ200からの命令を受信出来る状態)であるか、それともビジー状態(メモリコントローラ200からの命令を受信出来ない状態)であるかを示す信号であり、“L”レベルがビジー状態を示す。入出力信号DQは、例えば8ビットの信号である。そして入出力信号DQは、NAND型フラッシュメモリ100とメモリコントローラ200との間で送受信されるデータの実体であり、コマンド、アドレス、書込みデータ、及び読み出しデータ等である。
<1−1−2>メモリコントローラ200の構成
引き続き図1を用いて、メモリコントローラ200の構成の詳細について説明する。図1に示すようにメモリコントローラ200は、ホストインターフェース回路(ホストI/F)210、内蔵メモリ(RAM)220、プロセッサ(CPU)230、バッファメモリ240、NANDインターフェース回路(NAND I/F)250、及びECC回路260を備えている。
ホストインターフェース回路210は、ホストバスを介してホスト装置300と接続され、ホスト装置300から受信した命令及びデータを、それぞれプロセッサ230及びバッファメモリ240に転送する。またプロセッサ230の命令に応答して、バッファメモリ240内のデータをホスト装置300へ転送する。
プロセッサ230は、メモリコントローラ200全体の動作を制御する。例えば、プロセッサ230は、ホスト装置300から書込み命令を受信した際には、それに応答して、NANDインターフェース回路250に対して書込み命令を発行する。読み出し及び消去の際も同様である。またプロセッサ230は、ウェアレベリング等、NAND型フラッシュメモリ100を管理するための様々な処理を実行する。
NANDインターフェース回路250は、NANDバスを介してNAND型フラッシュメモリ100と接続され、NAND型フラッシュメモリ100との通信を司る。そして、プロセッサ230から受信した命令に基づき、信号ALE、CLE、WEn、及びREnをNAND型フラッシュメモリ100へ出力する。また書込み時には、プロセッサ230で発行された書込みコマンド、及びバッファメモリ240内の書込みデータを、入出力信号DQとしてNAND型フラッシュメモリ100へ転送する。更に読み出し時には、プロセッサ230で発行された読み出しコマンドを、入出力信号DQとしてNAND型フラッシュメモリ100へ転送し、更にNAND型フラッシュメモリ100から読み出されたデータを入出力信号DQとして受信し、これをバッファメモリ240へ転送する。
バッファメモリ240は、書込みデータや読み出しデータを一時的に保持する。
内蔵メモリ220は、例えばDRAM等の半導体メモリであり、プロセッサ230の作業領域として使用される。そして内蔵メモリ220は、NAND型フラッシュメモリ100を管理するためのファームウェアや、各種の管理テーブル等を保持する。
ECC回路260は、データの誤り訂正(ECC:Error Checking and Correcting)処理を実行する。すなわちECC回路260は、データの書込み時には書込みデータに基づいてパリティを生成し、読み出し時にはパリティからシンドロームを生成して誤りを検出し、この誤りを訂正する。なお、CPU230がECC回路260の機能を有していても良い。
<1−1−3> NAND型フラッシュメモリ100の構成
<1−1−3−1> NAND型フラッシュメモリ100の全体構成
次に、NAND型フラッシュメモリ100の構成について説明する。図1に示すように、NAND型フラッシュメモリ100は、メモリセルアレイ110、ロウデコーダ120(120−0〜120−3)、ドライバ回路130、センスアンプ140、アドレスレジスタ150、コマンドレジスタ160、シーケンサ170、及びステータスレジスタ180を備える。
メモリセルアレイ110は、ロウ及びカラムに対応付けられた複数の不揮発性のメモリセルを含む複数のブロックBLK(図1では一例としてBLK0〜BLK3)を備えている。そしてメモリセルアレイ110は、メモリコントローラ200から与えられたデータを記憶する。
ロウデコーダ120−0〜120−3は、ブロックBLK0〜BLK3にそれぞれ対応付けて設けられ、対応するブロックBLKを選択する。
ドライバ回路130は、ロウデコーダ120−0〜120−3を介して、選択されたブロックBLK0〜BLK3のいずれかに電圧を出力する。
センスアンプ140は、データの読み出し時には、メモリセルアレイ110から読み出されたデータをセンスし、このデータDATをメモリコントローラ200に出力する。データの書込み時には、メモリコントローラ200から受信した書込みデータDATを、メモリセルアレイ110に転送する。
アドレスレジスタ150は、メモリコントローラ200から受信したアドレスADDを保持する。コマンドレジスタ160は、メモリコントローラ200から受信したコマンドCMDを保持する。
シーケンサ170は、コマンドレジスタ160に保持されたコマンドCMDに基づき、NAND型フラッシュメモリ100全体の動作を制御する。
ステータスレジスタ180は、NAND型フラッシュメモリ100のステータス情報等を記憶する。具体的には、ステータスレジスタ180は、後述するプログラムループ数やイレースループ数等を記憶する。
<1−1−3−2> メモリセルアレイ110
次に、上記メモリセルアレイ110の構成の詳細について説明する。図2はいずれかのブロックBLKの回路図であり、他のブロックBLKも同様の構成を有している。
図2に示すように、ブロックBLKは複数のストリングユニットSU(図2では一例としてSU0〜SU3)を含む。また各々のストリングユニットSUは、複数のNANDストリング111を含む。
NANDストリング111の各々は、複数のメモリセルトランジスタMT(図2では一例としてMT0〜MT47)と、選択トランジスタST(ST1、ST2)とを含んでいる。
メモリセルトランジスタMTは、制御ゲートと電荷蓄積層とを含む積層ゲートを備え、データを不揮発に保持する。メモリセルトランジスタMTの個数は8個に限られず、16個や32個、64個、128個等であってもよく、その数は限定されるものではない。メモリセルトランジスタMTは、選択トランジスタST1、ST2間に、直列接続されるようにして配置されている。この直列接続の一端側のメモリセルトランジスタMT47の一端は選択トランジスタST1の一端に接続され、他端側のメモリセルトランジスタMT0の一端は選択トランジスタST2の一端に接続されている。
ストリングユニットSU0〜SU3の各々の選択トランジスタST1のゲートは、それぞれセレクトゲート線SGD0〜SGD3に共通接続される。他方で、選択トランジスタST2のゲートは、複数のストリングユニット間で同一のセレクトゲート線SGSに共通接続される。また、同一のブロック内にあるメモリセルトランジスタMT0〜MT47の制御ゲートはそれぞれワード線WL0〜WL47に共通接続される。
すなわち、ワード線WL0〜WL47及びセレクトゲート線SGSは同一ブロックBLK内の複数のストリングユニットSU0〜SU3間で共通に接続されているのに対し、セレクトゲート線SGDは、同一ブロックであってもストリングユニットSU0〜SU3毎に独立している。
また、メモリセルアレイ110内でマトリクス状に配置されたNANDストリング111のうち、同一行にあるNANDストリング111の選択トランジスタST1の他端は、いずれかのビット線BL(BL0〜BL(L−1):Lは2以上の自然数)に共通接続される。すなわちビット線BLは、複数のストリングユニットSU間でNANDストリング111を共通に接続し、更に複数のブロックBLK間でもNANDストリング111を共通に接続する。また、選択トランジスタST2の他端はソース線SLに共通に接続されている。ソース線SLは、例えば複数のブロック間でNANDストリング111を共通に接続する。
データの読み出し及び書込みは、いずれかのブロックのいずれかのストリングユニットSUにおける、いずれかのワード線WLに共通に接続された複数のメモリセルトランジスタMTにつき、一括して行われる。
データの消去は、ブロックBLK単位、またはブロックBLKよりも小さい単位で行うことが出来る。消去方法に関しては、例えば“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE”という2011年9月18日に出願された米国特許出願13/235,389号に記載されている。また、“NON-VOLATILE SEMICONDUCTOR STORAGE DEVICE”という2010年1月27日に出願された米国特許出願12/694,690号に記載されている。更に、“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE AND DATA ERASE METHOD THEREOF”という2012年5月30日に出願された米国特許出願13/483,610号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
<1−1−3−3> ブロックBLKの一部領域の断面
図3を用いて、ブロックBLKの一部領域の断面について説明する。図3に示すように、p型ウェル領域20上に、複数のNANDストリング111が設けられている。すなわち、ウェル領域20上には、第3方向に沿ってセレクトゲート線SGSとして機能する例えば4層の配線層27、ワード線WL0〜WL47として機能する48層の配線層23、及びセレクトゲート線SGDとして機能する例えば4層の配線層25が、順次積層されている。積層された配線層間には、図示せぬ絶縁膜が設けられている。
ウェル領域20上には、第3方向に延伸するピラー状の半導体31が設けられている。半導体31の側面には、ゲート絶縁膜30、電荷蓄積層(絶縁膜)29、及びブロック絶縁膜28が順次設けられ、柱状構造が構成される。そして、柱状構造の側面には、配線層25、23、27が設けられ、これらによってメモリセルトランジスタMT、並びに選択トランジスタST1及びST2が構成されている。半導体31は、NANDストリング111の電流経路として機能し、各トランジスタのチャネルが形成される領域となる。そして半導体31の上端は、ビット線BLとして機能する金属配線層32に接続される。
ウェル領域20の表面領域内には、n+型不純物拡散層33が設けられている。拡散層33上にはコンタクトプラグ35が設けられ、コンタクトプラグ35は、ソース線SLとして機能する金属配線層36に接続される。更に、ウェル領域20の表面領域内には、p+型不純物拡散層34が設けられている。拡散層34上にはコンタクトプラグ37が設けられ、コンタクトプラグ37は、ウェル配線CPWELLとして機能する金属配線層38に接続される。ウェル配線CPWELLは、ウェル領域20を介して半導体31に電位を印加するための配線である。
以上の構成が、第2方向(第3方向に直交する方向)に複数配列されており、奥行き方向に並ぶ複数のNANDストリング111の集合によってストリングユニットSUが形成される。
更に、メモリセルアレイ110の構成についてはその他の構成であっても良い。すなわちメモリセルアレイ110の構成については、例えば、“三次元積層不揮発性半導体メモリ”という2009年3月19日に出願された米国特許出願12/407,403号に記載されている。また、“三次元積層不揮発性半導体メモリ”という2009年3月18日に出願された米国特許出願12/406,524号、“不揮発性半導体記憶装置及びその製造方法”という2010年3月25日に出願された米国特許出願12/679,991号“半導体メモリ及びその製造方法”という2009年3月23日に出願された米国特許出願12/532,030号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
<1−1−3−4> ロウデコーダ
次に、ロウデコーダ120の構成について、図4を用いて説明する。
図4に示すようにロウデコーダ120は、ブロックデコーダ40及び高耐圧nチャネルMOSトランジスタ50(50−0〜50−52)を備えている。高耐圧nチャネルMOSトランジスタ50を転送トランジスタとも記載する。
まずブロックデコーダ40について説明する。ブロックデコーダ40は、データの書込み、読み出し、及び消去時において、アドレスレジスタ150から受信したブロックアドレスBAをデコードする。そして、ブロックアドレスBAが、対応するブロックBLKに一致した際には、信号VRDECをアサートする。アサートされた信号VRDEC(BLKSELと記載しても良い)の電位は、トランジスタ50をオン状態とする電圧とされる。他方で、ブロックアドレスBAが当該ブロックBLKに一致しなかった際には、信号VRDECはネゲートされ、その電位は、トランジスタ50をオフ状態とする電圧(例えば0V)とされる。
次に、トランジスタ50について説明する。トランジスタ50−0〜50−47は、選択ブロックBLKのワード線WL0〜WL47に電圧を転送する。トランジスタ50−0〜50−47はそれぞれ、一端が、対応するブロックBLKのワード線WL0〜WL47にそれぞれ接続され、他端が信号線CG0〜CG47にそれぞれ接続され、ゲートに信号VRDECが供給される。
トランジスタ50−48〜50−51は、選択ブロックBLKのセレクトゲート線SGD0〜SGD3に電圧を転送する。トランジスタ50−48〜50−51はそれぞれ、一端が、対応するブロックBLKのセレクトゲート線SGD0〜SGD3に接続され、他端が信号線SGDD0〜SGDD3に接続され、ゲートに信号VRDECが供給される。
トランジスタ50−52は、選択ブロックBLKのセレクトゲート線SGSに電圧を転送する。トランジスタ50−52は、一端が、対応するブロックBLKのセレクトゲート線SGSに接続され、他端が信号線SGSDに接続され、ゲートに信号VRDECが供給される。
従って、例えば選択ブロックBLKに対応するロウデコーダ120では、トランジスタ50−0〜50−52はオン状態とされる。これにより、ワード線WL0〜WL47は信号線CG0〜CG47に接続され、セレクトゲート線SGD0〜SGD3は信号線SGDD0〜SGDD3に接続され、セレクトゲート線SGSは信号線SGSDに接続される。
他方、非選択ブロックBLKに対応するロウデコーダ120では、トランジスタ50−0〜50−52はオフ状態とされる。これにより、ワード線WL及びセレクトゲート線SGD、及びSGSは、信号線CG、SGDD、及びSGSDから電気的に分離される。
信号線CG、SGDD、及びSGSDは、ロウデコーダ120−1〜120−3で共通に用いられる。そして、ドライバ回路130が、アドレスレジスタ150から受信したページアドレスPAに従って、信号線CG、SGDD、及びSGSDに電圧を印加する。つまり、ドライバ回路130から出力される電圧は、選択ブロックに対応するいずれかのロウデコーダ120内のトランジスタ50を介して、選択ブロック内の配線WL、SGD、及びSGSに転送される。
ドライバ回路130は、少なくともCGドライバ131、SGSドライバ132、SGDドライバ133、及びTSFドライバ134を備えている。CGドライバ131は、信号線CGに信号を供給する。SGSドライバ132は、信号線SGSDに信号を供給する。SGDドライバ133は、信号線SGDDに信号を供給する。TSFドライバ134は、信号VRDECを供給する。
なお、本例では、簡単のため1つのロウデコーダ120内には、トランジスタ50(50−0〜50−52)がそれぞれ1つのみ設けられている。しかし、トランジスタ50は、直列に複数個設けられても良い。
<1−1−3−5> CGドライバ及びTSFドライバ
次に、図5を用いて、CGドライバ131及びTSFドライバ134について説明する。
TSFドライバ134は、第1ドライバ1340を備えている。第1ドライバ1340は、シーケンサ170からの制御信号に基づき、電圧VPGMHLまたはVPGMHH(VPGMHL<VPGMHH)を信号VBST(またはVRDEC)として、ノードN1を介してCGドライバ131及びロウデコーダ120に供給する。
CGドライバ131は、信号線CGに対応する複数の高耐圧nチャネルMOSトランジスタ1310(図5の例では1310―0〜1310―47)と、第1レベルシフタ1311と、を備えている。第1レベルシフタ1311は、ノードN1を介して供給された電圧VPGMHLまたはVPGMHHを、信号VBSTとしてトランジスタ1310に供給する。
トランジスタ1310は、信号線CGに電圧を転送する。トランジスタ1310は一端が信号線CGに接続され、他端に電圧が印加され、ゲートに信号VBSTが供給される。図5では簡単のため、電圧VPGMを転送するためのトランジスタ1310のみを示している。しかし、これに限らず、信号線CGに各種電圧を印加するための高耐圧nチャネルMOSトランジスタが設けられても良い。この高耐圧nチャネルMOSトランジスタ1310を転送トランジスタとも記載する。
なお、本例では、簡単のため1つの信号線CGに1つのトランジスタ1310が接続されている。しかし、1つの信号線CGに複数のトランジスタ1310が直列に接続されても良い。
<1−1−3−6> 第1ドライバ
次に、図6を用いて、第1ドライバ1340について説明する。
第1ドライバ1340は、高耐圧nチャネルMOSトランジスタ1340−0〜1340−2を備えている。トランジスタ1340−0は、ノードN2を介して一端に電圧VPGMが印加され、他端及びゲートがノードN3に接続され、他端及びゲートに信号VPHLが供給される。トランジスタ1340−1は、一端がノードN3に接続され、他端及びゲートがノードN1に接続され、他端及びゲートに信号VPHが供給される。トランジスタ1340−2は、ノードN2を介して一端に電圧VPGMが印加され、他端及びゲートがノードN3に接続され、他端及びゲートに信号VPHHが供給される。
信号VPH、VPHL、及びVPHHはシーケンサ170から供給される。
シーケンサ170は、電圧VPGMHLを生成する場合、信号VPHを“H(H>L)”レベルにし、信号VPHLを“H”レベルにし、信号VPHHを“L”レベルにする。それにより、ドライバ1340はノードN1に電圧VPGMHLを供給する(矢印A参照)。
シーケンサ170は、電圧VPGMHHを生成する場合、信号VPHを“H”レベルにし、信号VPHLを“L”レベルにし、信号VPHHを“H”レベルにする。それにより、ドライバ1340はノードN1に電圧VPGMHHを供給する(矢印B参照)。
なお、ここでは、簡単のため、第1ドライバ1340が3つのトランジスタ1340−0〜1340−2を備えている場合について説明したが、これに限らない。ドライバ1340が、電圧VPGMHL及び電圧VPGMHHを選択的に生成できる構成であればどのような回路でも良い。
シーケンサ170が、どのように電圧VPGMHLまたは電圧VPGMHHを選択するかについては、後述する。
<1−2> 動作
<1−2−1> フローチャート
図7を用いて、書込み動作(S1000)のフローチャートについて説明する。
ところで書込み動作は、プログラム動作とプログラムベリファイ動作とを含んでいる。プログラム動作とは、選択メモリセルトランジスタの電荷蓄積層に電子を注入する動作である。プログラムベリファイ動作とは、プログラム動作が完了したか否かを確認する動作である。
[S1001]
シーケンサ170は、メモリコントローラ200からライトコマンドを受信したか否かを判定する。
[S1002]
シーケンサ170は、メモリコントローラ200からライトコマンドを受信したと判定する場合(ステップS1001、Yes)、ステータスレジスタ180に記憶されているプログラムループ数が第1値以下か否かを判定する。第1値は、予め設定されていても良く、ユーザが任意に設定しても良い。このプログラムループ数とは、ステップS1001にてライトコマンドを受信する前に行われた書込み動作のうちで最新の書込み動作(直前の書込み動作)に係るプログラムループ数である。
[S1003]
シーケンサ170は、プログラムループ数が第1値以下でないと判定する場合(ステップS1002、No)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHLに設定する。具体的には、シーケンサ170は、プログラム動作時に、信号VPHを“H”レベルにし、信号VPHLを“H”レベルにし、信号VPHHを“L”レベルにする。
[S1004]
シーケンサ170は、プログラムループ数が第1値以下であると判定する場合(ステップS1002、Yes)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHHに設定する。具体的には、シーケンサ170は、プログラム動作時に、信号VPHを“H”レベルにし、信号VPHLを“L”レベルにし、信号VPHHを“H”レベルにする。
[S1005]
シーケンサ170は、プログラム動作を行う。
図8を用いて、プログラム動作の基本的な動作波形について説明する。
[時刻T0]〜[時刻T1]
ドライバ134は、シーケンサ170からの信号に基づき、信号VBST及びVRDECを電圧VPGMHL(VSS<VPGMHL)または電圧VPGMHH(VPGMHL<VPGMHH)に昇圧する。電圧VPGMHLまたは電圧VPGMHHは、トランジスタ50、及び1310をオン状態にする電圧である。
[時刻T1]〜[時刻T2]
時刻T1においてロウデコーダ120は、アドレスレジスタ150から与えられるブロックアドレスBAに従って、ブロックBLKを選択する。そしてロウデコーダ120は、選択セレクトゲート線SGD_SELに、電圧VSGD_PROG(例えば、VSS<VSGD_PROG<VPGMHL)を印加し、選択セレクトゲート線SGS_SEL、非選択セレクトゲート線SGS_USELに電圧VSGSを印加し、非選択セレクトゲート線SGD_USELに電圧VSSを印加する。電圧VSGD_PROGは、選択トランジスタST1をオン状態にする電圧である。
時刻T1においてセンスアンプ140は、メモリセルトランジスタMTの電荷蓄積層29に電子を注入する書込みビット線BL_progに例えば電圧VSSを印加し、メモリセルトランジスタMTの電荷蓄積層29への電子の注入を抑制する非書込みビット線BL_inhibitに電圧VDD(VSS<VDD<VSGD_PROG)を印加する。
[時刻T2]〜[時刻T3]
引き続き時刻T2においてロウデコーダ120は、選択セレクトゲート線SGD_SELに電圧VSGD(VSS<VSGD<VSGD_PROG)を印加する。電圧VSGDは、選択トランジスタST1に対して電圧VSSの転送を可能とさせるが、電圧VDDの転送は不能とさせる電圧である。従って、非書込みビット線BL_inhibitに対応する選択トランジスタST1は、カットオフ状態となる。
[時刻T3]〜[時刻T4]
次に、時刻T3においてロウデコーダ120は、ワード線WL(WL_SEL及びWL_USEL)に電圧VPASS(VSGD<VPASS<VPGMHL)を印加する。
[時刻T4]〜[時刻T5]
引き続きロウデコーダ120は、複数の選択ワード線WL_SELに印加する電圧を電圧VPASSから電圧VPGM(VPASS<VPGM<VPGMHL)に昇圧する。これにより、選択ワード線WL_SELに接続された選択メモリセルトランジスタに電子が注入される。電圧VPGMは、書込むデータや、プログラム回数に応じて適宜変更される。
[時刻T5]〜[時刻T6]
時刻T4〜時刻T5の期間でプログラムされた後、時刻T5〜時刻T6においてロウデコーダ120は、ワード線WL、選択セレクトゲート線SGD_SELを例えば数Vに降圧し、センスアンプ140は、非書込みビット線BL_inhibitを電圧VSSに降圧する。ドライバ134は、シーケンサ170からの信号に基づき、信号VBST及びVRDECを電圧VSSに降圧する。これによりプログラム動作が終了する。
[S1006]
図7に示すように、シーケンサ170は、プログラム動作が終了すると、プログラムベリファイ動作を行う。
図9を用いて、プログラムベリファイ動作の基本的な動作波形について説明する。なお、図9に示す波形は、後述イレースベリファイにも適用可能である。
[時刻T7]〜[時刻T8]
ドライバ134は、シーケンサ170からの信号に基づき、信号VBST及びVRDECを電圧VREADH(VSS<VREADH)に昇圧する。電圧VREADHは、トランジスタ50、及び1310をオン状態にする電圧である。
[時刻T8]〜[時刻T9]
時刻T8においてロウデコーダ120は、選択セレクトゲート線SGD_SEL、SGS_SELに、電圧VSG(例えば、VSS<VSG<VREADH)を印加し、非選択セレクトゲート線SGD_USEL、SGS_USELに電圧VSSを印加し、非選択ワード線WL_USELに電圧VREAD(VSS<VREAD<VREADH)を印加する。電圧VSGは、選択トランジスタST1をオン状態にする電圧である。
時刻T8においてセンスアンプ140は、ビット線BL(BL_prog及びBL_inhibit)に例えば電圧VBL(VSS<VBL<VREAD)を印加する。
[時刻T9]〜[時刻T10]
時刻T9においてロウデコーダ120は、選択ワード線WL_SELに電圧VPVFY(VSS<VPVFY<VREAD)を印加する。シーケンサ170そして、センスアンプ140は、選択メモリセルトランジスタのデータを読み出す。これにより、選択メモリセルトランジスタはプログラムベリファイにパスしているかフェイルしているかが判定される。
[時刻T10]〜[時刻T11]
ロウデコーダ120は、ワード線WL、選択セレクトゲート線SGD_SEL、及びSGS_SELの電位を電圧VSSに降圧し、センスアンプ140は、ビット線BLの電位を電圧VSSに降圧する。ドライバ134は、シーケンサ170からの信号に基づき、信号VBST及びVRDECを電圧VSSに降圧する。これによりプログラムベリファイ動作が終了する。
[S1007]
図7に示すように、シーケンサ170は、プログラムベリファイ動作の結果がパスか否かを判定する。より具体的にはシーケンサ170は、プログラムベリファイ動作によってフェイルビットと判定されたフェイルビット数が設定値以上であるか否かを判定する。フェイルビット数が設定値未満である場合、シーケンサ170は、プログラムベリファイ動作の結果がパスであると判定する。この設定値は、例えばECC回路260で救済できないフェイルビット数である。この設定値は、例えばステータスレジスタ180に記憶されている。より具体的には、この設定値は、例えば、メモリセルアレイ110に記憶されており、NAND型フラッシュメモリ100を起動させたときに、ステータスレジスタ180に読み出されるような構成でも良い。つまり、シーケンサ170は、ステータスレジスタ180に記憶された設定値と、フェイルビット数と、を比較する。シーケンサ170は、プログラムベリファイ動作の結果がパスであると判定する場合(ステップS1007、Yes)、書込み動作を終了する。
[S1008]
シーケンサ170は、プログラムベリファイ動作の結果がパスではないと判定する場合(ステップS1007、No)、プログラム動作の繰り返し回数(プログラムループ数)が第2値以上であるか否かを判定する。この第2値は、例えばステータスレジスタ180に記憶されている。より具体的には、この第2値は、例えば、メモリセルアレイ110に記憶されており、NAND型フラッシュメモリ100を起動させたときに、ステータスレジスタ180に読み出されるような構成でも良い。つまり、シーケンサ170は、ステータスレジスタ180に記憶された第2値と、プログラム動作のプログラムループ数と、を比較する。シーケンサ170は、プログラムループ数が第2値であると判定する場合(ステップS1008、Yes)、書込み動作を終了する。
例えば、何回プログラムを行っても、データが正しく書込めないメモリセルトランジスタが存在する場合がある。そのようなメモリセルトランジスタがベリファイをパスするまでプログラム動作を繰り返すことは望ましくない。そのため、本ステップにより、プログラム動作のループ数を設定しておくことにより、不要なプログラム動作のループを抑制することができる。
[S1009]
シーケンサ170は、プログラムループ数が第2値でないと判定する場合(ステップS1008、No)、プログラムループ数(NWn_Loop)をカウントアップする。例えば、プログラムループ数は、ステータスレジスタ180等に記憶される。そして、プログラムループ数のカウントは、シーケンサ170が行っても良いし、それ以外の構成で行っても良い。
[S1010]
そして、シーケンサ170は、ループ数をカウントアップした後、プログラム動作の際に用いる電圧VPGMを電圧DVPGMだけインクリメントさせる。そして、シーケンサ170は、ステップS1005を繰り返す。
なお、ステップS1008とステップS1009との実行順序は入れ替えても良い。なお、その場合、ステップS1008における第2値は“1”だけ大きくなる。以下、ステップS1008とステップS1009とを含む他の動作においても同様にステップS1008とステップS1009との実行順序は入れ替えても良い。
<1−2−2> コマンドシーケンス
書込み動作時におけるコマンドシーケンスについて、図10を用いて説明する。図10に示すようにメモリコントローラ200は、まず書込みコマンドAAHを発行すると共に、信号CLEをアサート(“H”レベル)する。引き続きメモリコントローラ200は、例えば5サイクルにわたってアドレス(ADD:カラムアドレス、ロウアドレス)を発行すると共に、信号ALEをアサート(“H”レベル)する。これらのコマンド及びアドレスは例えばアドレスレジスタ150及びコマンドレジスタ160にそれぞれ格納される。
次にメモリコントローラ200は、複数サイクルにわたって書込みデータDinを出力する。この間、信号ALE及びCLEはネゲート(“L”レベル)される。NAND型フラッシュメモリ100で受信された書込みデータDinは、センスアンプ140内のページバッファ(不図示)に保持される。
次にメモリコントローラ200は、書込みコマンド“BBH”を発行すると共に、CLEをアサートする。コマンド“BBh”がコマンドレジスタ160に格納されたことに応答して、シーケンサ170は書込み動作(S1000)を開始し、NAND型フラッシュメモリ100はビジー状態となる(RBn=“L”)。なおメモリコントローラ200は、コマンド、アドレス、及びデータ等の信号を発行する度に、WEnをアサート(“L”レベル)する。そして、WEnがトグルされる度に、信号がNAND型フラッシュメモリ100に取り込まれる。
<1−3> 効果
上述した実施形態によれば、シーケンサ170は、プログラムループ数に応じて、ワード線WLに電圧を転送する転送トランジスタへの制御電圧を変化させる。これにより、転送トランジスタに、適切に電圧を転送させることができる。
上述した実施形態に係る効果について説明する。本実施形態に係るNAND型フラッシュメモリ100において、複数の転送トランジスタを介してワード線WLに所望の電圧が印加される。
具体的には、図11に示すように、電圧VPGMは、ドライバ回路130内に設けられたトランジスタ1310、及びロウデコーダ120内に設けられたトランジスタ50―0を介してワード線WLに印加される。
図12に示すように、電圧VPGMを転送するために、転送トランジスタのゲートには、電圧VPGMよりも大きな電圧VPGMHを印加する必要がある。しかし、種々の要因(例えば転送トランジスタの劣化)により、転送トランジスタの閾値が上昇してしまい、電圧VPGMを適切に転送できなくなる可能性がある。そのため、予め電圧VPGMHをより大きい電圧VPGMHHにしておくことも考えられる。しかしその場合、転送トランジスタのゲートへの負荷が増大し、転送トランジスタの劣化を早めてしまう可能性がある。その結果、転送トランジスタの閾値が上昇してしまい、電圧VPGMを適切に転送できなくなる可能性がある。閾値とは、トランジスタをオン状態にするために必要な電圧を意味する。
そのため、図12に示すような方法では、書込み動作を繰り返すと適切な電圧をワード線WLに転送できなくなるという問題が生じる可能性があった。
そこで、図13に示すように、上述した実施形態では、シーケンサ170は、転送トランジスタが劣化する前(閾値が低い状態)は、転送トランジスタのゲートに電圧VPGMHHよりも低い電圧VPGMHLを印加する。そして、シーケンサ170は、転送トランジスタが劣化した後(閾値が高い状態)は、転送トランジスタのゲートに電圧VPGMHHを印加する。
メモリセルトランジスタは、書込み回数(または消去回数)が増えるにつれ、プログラムループ数が減る傾向がある。そのため、本実施形態では、シーケンサ170は、プログラムループ数がある値以下か否かを判定することで、転送トランジスタの使用頻度、つまり転送トランジスタの劣化具合を判定している。
これにより、転送トランジスタのゲートに不必要に大きな電圧を印加することがなくなるので、転送トランジスタの劣化を抑制することができる。その結果、書込み動作を繰り返しても、シーケンサ170は適切な電圧をワード線WLに転送できる。
<1−4> 第1実施形態の変形例1
図14を用いて、第1実施形態の変形例1の動作S1100について説明する。
動作S1100は、図7のステップS1010後の動作が図7の動作と異なる。
具体的には、シーケンサ170は、図7のステップS1010(図14のステップS1110)の後、図7のステップS1005ではなくて、図7のステップS1002(図14のステップS1102)を実行する。
なお、図14のステップS1102は、図7のステップS1002と同様であり、図14のステップS1110は、図7のステップS1010と同様である。
<1−5> 第1実施形態の変形例2
図15を用いて、第1実施形態の変形例2の動作S1200について説明する。
動作S1200は、図7のステップS1002〜S1004の動作が図7の動作と異なる。
具体的には、シーケンサ170は、図7のステップS1002(図15のステップS1202)に相当する動作において、ステータスレジスタ180に記憶されたイレースループ数(後述するイレース動作の回数)が第3値以上か否かを判定する。第3値は、予め設定されていても良く、ユーザが任意に設定しても良い。
シーケンサ170は、図7のステップS1003(図15のステップS1203)に相当する動作において、イレースループ数が第3値以上でないと判定する場合(ステップS1202、No)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHLに設定する。
シーケンサ170は、図7のステップS1004(図15のステップS1204)に相当する動作において、イレースループ数が第3値以上であると判定する場合(ステップS1202、Yes)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHHに設定する。
以上のように、第1実施形態の変形例2では、シーケンサ170は、プログラムループ数ではなく、イレースループ数によって、転送トランジスタの劣化具合を判定している。
メモリセルトランジスタは、書込み回数(または消去回数)が増えるにつれ、イレースループ数が増える傾向がある。そのため、本実施形態では、シーケンサ170は、イレースループ数がある値以上か否かを判定することで、転送トランジスタの使用頻度、つまり転送トランジスタの劣化具合を判定している。その結果、第1実施形態と同様の効果を得ることができる。
<1−6> 第1実施形態の変形例3
図16を用いて、第1実施形態の変形例3の動作S1300について説明する。
動作S1300は、図7のステップS1002〜S1004の動作が図7の動作と異なる。
具体的には、シーケンサ170は、図7のステップS1002(図16のステップS1302)に相当する動作において、ステータスレジスタ180に記憶されたプログラムループ数が第1値以下か否か、またはステータスレジスタ180に記憶されたイレースループ数が第3値以上か否かを判定する。
シーケンサ170は、図7のステップS1003(図16のステップS1303)に相当する動作において、プログラムループ数が第1値以下でなく、且つイレースループ数が第3値以上でないと判定する場合(ステップS1302、No)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHLに設定する。
シーケンサ170は、図7のステップS1004(図16のステップS1304)に相当する動作において、プログラムループ数が第1値以下、またはイレースループ数が第3値以上であると判定する場合(ステップS1302、Yes)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHHに設定する。
なお、シーケンサ170は、ステップS1302において、プログラムループ数が第1値以下、且つイレースループ数が第3値以上か否かを判定しても良い。
この場合、シーケンサ170は、ステップS1303において、プログラムループ数が第1値以下でない、またはイレースループ数が第3値以上でないと判定する場合(ステップS1302、No)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHLに設定する。更に、シーケンサ170は、ステップS1304において、プログラムループ数が第1値以下、且つイレースループ数が第3値以上であると判定する場合(ステップS1302、Yes)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHHに設定する。
<1−7> 第1実施形態の変形例4
図17を用いて、第1実施形態の変形例4の動作S1400について説明する。
動作S1400は、図16のステップS1010後の動作が図16の動作と異なる。
具体的には、シーケンサ170は、図16のステップS1010(図17のステップS1110)の後、図16のステップS1005ではなくて、図16のステップS1302(図17のステップS1402)を実行する。
なお、図17のステップS1402は、図16のステップS1302と同様であり、図17のステップS1110は、図16のステップS1010と同様である。
また、シーケンサ170は、ステップS1402において、プログラムループ数が第1値以下、且つイレースループ数が第3値以上か否かを判定しても良い。
<1−8> 第1実施形態の変形例5
尚、上述した第1実施形態に係るTSFドライバ134は、電圧VPGMの転送用の電圧として、2種類の電圧VPGMHL及びVPGMHHを生成するように構成されている。しかし、TSFドライバ134は、電圧VPGMの転送用の電圧として、3種類以上の電圧を生成するように構成されていても良い。以下に図18を用いて、3種類の電圧を生成する場合についての具体的な動作について説明する。
[S1502]
シーケンサ170は、メモリコントローラ200からライトコマンドを受信したと判定する場合(ステップS1001、Yes)、ステータスレジスタ180に記憶されているプログラムループ数が複数の範囲(本例では例えば3つの範囲)のうち、どの範囲に属するかを判定する。
一例としては、第1範囲〜第3範囲の3つの範囲が用意される。そして、シーケンサ170は、プログラムループ数が第A値以下の場合は、第1範囲として認定し、プログラムループ数が第A値より大きく、第B値以下の場合は、第2範囲として認定し、プログラムループ数が第B値よりも大きい場合は、第3範囲として認定する。第A値、及び第B値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S1503]
シーケンサ170は、プログラムループ数がどの範囲に属するかを判定すると、プログラム動作時における信号VBST及びVRDECの電圧を決定する。
具体的には、シーケンサ170は、プログラムループ数が第3範囲に属すると判定する場合は、信号VBST及びVRDECを電圧VPGMH3(VPGM<VPGMH3)に設定する。シーケンサ170は、プログラムループ数が第2範囲に属すると判定する場合は、信号VBST及びVRDECを電圧VPGMH2(VPGMH3<VPGMH2)に設定する。シーケンサ170は、プログラムループ数が第1範囲に属すると判定する場合は、信号VBST及びVRDECを電圧VPGMH1(VPGMH2<VPGMH1)に設定する。
このようにして、電圧VPGMの転送用の電圧として、3種類の電圧を生成するように構成されていても良い。
なお、ここでは簡単のため電圧VPGMの転送用の電圧として、3種類の電圧を生成する方法について記載したが、同様にして4種類以上の電圧を生成しても良い。
上記ステップS1502は、図14のステップS1102に置き換え可能である。そして、上記ステップS1503は、図14のステップS1003、及びS1004に置き換え可能である。
<1−9> 第1実施形態の変形例6
図19を用いて、イレースループ数に基づいて、電圧VPGMの転送用の電圧として、3種類の電圧を生成する場合について説明する。
[S1602]
シーケンサ170は、メモリコントローラ200からライトコマンドを受信したと判定する場合(ステップS1001、Yes)、ステータスレジスタ180に記憶されているイレースループ数が複数の範囲(本例では例えば3つの範囲)のうち、どの範囲に属するかを判定する。
一例としては、第4範囲〜第6範囲の3つの範囲が用意される。そして、シーケンサ170は、イレースループ数が第C値以下の場合は、第4範囲として認定し、イレースループ数が第C値より大きく、第D値以下の場合は、第5範囲として認定し、イレースループ数が第D値よりも大きい場合は、第6範囲として認定する。第C値、及び第D値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S1603]
シーケンサ170は、イレースループ数がどの範囲に属するかを判定すると、プログラム動作時における信号VBST及びVRDECの電圧を決定する。
具体的には、シーケンサ170は、イレースループ数が第4範囲に属すると判定する場合は、信号VBST及びVRDECを電圧VPGMH4(VPGM<VPGMH4)に設定する。シーケンサ170は、イレースループ数が第5範囲に属すると判定する場合は、信号VBST及びVRDECを電圧VPGMH5(VPGMH4<VPGMH5)に設定する。シーケンサ170は、イレースループ数が第6範囲に属すると判定する場合は、信号VBST及びVRDECを電圧VPGMH6(VPGMH5<VPGMH6)に設定する。
このようにして、電圧VPGMの転送用の電圧として、3種類の電圧を生成するように構成されていても良い。
なお、ここでは簡単のため電圧VPGMの転送用の電圧として、3種類の電圧を生成する方法について記載したが、同様にして4種類以上の電圧を生成しても良い。
<2>第2実施形態
第2実施形態について説明する。第2実施形態では、信号VBSTと信号VRDECとを別々に制御する場合について説明する。尚、第2実施形態に係る記憶装置の基本的な構成及び基本的な動作は、上述した第1実施形態に係る記憶装置と同様である。従って、上述した第1実施形態で説明した事項及び上述した第1実施形態から容易に類推可能な事項についての説明は省略する。
<2−1> TSFドライバ
図20を用いて、第2実施形態に係るNAND型フラッシュメモリ100のTSFドライバ134について説明する。
第2実施形態に係るNAND型フラッシュメモリ100のTSFドライバ134は、第3ドライバ1342と、第4ドライバ1343を備えている。第3ドライバ1342、及び第4ドライバ1343の構成は、第1ドライバ1340の構成と同様である。シーケンサ170は、第3ドライバ1342、及び第4ドライバ1343を独立して制御可能である。第3ドライバ1342は、シーケンサ170からの制御信号に基づき、電圧VPGMHLまたはVPGMHHを信号VRDECとして、ロウデコーダ120に供給する。第4ドライバ1343は、シーケンサ170からの制御信号に基づき、電圧VPGMHLまたはVPGMHHを信号VBSTとして、第1レベルシフタ1311に供給する。
<2−2> 動作
図21及び図22を用いて、第2実施形態に係る書込み動作(S2000)のフローチャートについて説明する。
[S1001]
シーケンサ170は、既に説明したステップS1001と同様の動作をする。
[S2002]
シーケンサ170は、メモリコントローラ200からライトコマンドを受信したと判定する場合(ステップS1001、Yes)、ステータスレジスタ180に記憶されている第1プログラムループ数が第4値以下か否かを判定する。例えば、第2実施形態では、ステータスレジスタ180に、ブロックBLK毎の最新のプログラムループ数が記憶される。各プログラムループ数は、例えばブロックアドレスと関連付けられてステータスレジスタ180に記憶される。例えば、第1プログラムループ数とは、ステータスレジスタ180に記憶されている複数のプログラムループ数の中で最小のプログラムループ数のことである。第4値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S2003]
シーケンサ170は、第1プログラムループ数が第4値以下でないと判定する場合(ステップS2002、No)、プログラム動作時における信号VBSTを電圧VPGMHLに設定する。具体的には、シーケンサ170は、プログラム動作時に、第4ドライバ1343に供給する信号VPHを“H”レベルにし、信号VPHLを“H”レベルにし、信号VPHHを“L”レベルにする。
[S2004]
シーケンサ170は、第1プログラムループ数が第4値以下であると判定する場合(ステップS2002、Yes)、プログラム動作時における信号VBSTを電圧VPGMHHに設定する。具体的には、シーケンサ170は、プログラム動作時に、第4ドライバ1343に供給する信号VPHを“H”レベルにし、信号VPHLを“L”レベルにし、信号VPHHを“H”レベルにする。
[S2005]
シーケンサ170は、ステータスレジスタ180に記憶されている第2プログラムループ数が第5値以下か否かを判定する。第2プログラムループ数とは、ステップS1001において受信したライトコマンドに対応するブロックアドレスと同じブロックアドレスに係るプログラムループ数のことである。第5値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S2006]
シーケンサ170は、第2プログラムループ数が第5値以下でないと判定する場合(ステップS2005、No)、プログラム動作時における信号VRDECを電圧VPGMHLに設定する。具体的には、シーケンサ170は、プログラム動作時に、第3ドライバ1342に供給する信号VPHを“H”レベルにし、信号VPHLを“H”レベルにし、信号VPHHを“L”レベルにする。
[S2007]
シーケンサ170は、第2プログラムループ数が第5値以下であると判定する場合(ステップS2005、Yes)、プログラム動作時における信号VRDECを電圧VPGMHHに設定する。具体的には、シーケンサ170は、プログラム動作時に、第3ドライバ1342に供給する信号VPHを“H”レベルにし、信号VPHLを“L”レベルにし、信号VPHHを“H”レベルにする。
[S2008]
シーケンサ170は、ステップS2002〜S2007によって決定された設定に基づきプログラム動作を行う。図23にプログラム動作の基本的な動作波形を示している。基本的な動作に関しては図8で示した動作と同様である。図23に示すように、信号VBSTと信号VRDECとは別々に制御可能である。
具体的には、時刻T0〜時刻T6において、シーケンサ170は、信号VBSTの電圧を電圧VPGMHH、且つ信号VRDECの電圧を電圧VPGMHLとすることが可能である。
[S1006]〜[S1010]
シーケンサ170は、既に説明したステップS1006〜S1010と同様の動作をする。
なお、ステップS2002〜S2004と、ステップS2005〜S2007と、の実行順序は入れ替えても良い。以下、ステップS2002〜S2004(と同様のステップ)とステップS2005〜S2007(と同様のステップ)とを含む他の動作においても同様にステップS2002〜S2004と、ステップS2005〜S2007との実行順序は入れ替えても良い。
<2−3> 効果
上述した実施形態によれば、シーケンサ170は、プログラムループ数に応じて、信号VBST及びVRDECの電圧をそれぞれ変化させる。これにより、転送トランジスタに、適切に電圧を転送させることができる。
上述した実施形態に係る効果について説明する。
図24に示すように、電圧VPGMは、ドライバ回路130内に設けられたトランジスタ1310、及びロウデコーダ120内に設けられたトランジスタ50を介してワード線WLに印加される。
しかしながら、トランジスタ1310が電圧VPGMを転送する回数は、トランジスタ50が電圧VPGMを転送する回数よりも多い。第1の実施形態でも説明したように、例えば信号線CG0には、4つのブロックBLK0〜BLK3に対応するトランジスタ50−0(BLK0〜BLK3)が接続されている。しかし、信号線CG0に接続されるトランジスタ1310は実質的に1つ(トランジスタ1310は直列に複数設けられても良いが、実質的に1つのトランジスタとして動作する)である。例えば、ブロックBLK0のワード線WL0と、ブロックBLK1のワード線WL0とに1回ずつ電圧VPGMが供給されることがある。この場合、トランジスタ50−0(BLK0)と、トランジスタ50−0(BLK0)と、はそれぞれ1回ずつ電圧VPGMを転送することになる。しかし、信号線CG0に接続されるトランジスタ1310は2回電圧VPGMを転送することになる。このように、トランジスタ1310が電圧VPGMを転送する回数は、トランジスタ50が電圧VPGMを転送する回数よりも多い。そのため、トランジスタ1310とトランジスタ50と、の使用頻度の差により、劣化の度合いも異なる可能性がある。
そこで、本実施形態のシーケンサ170は、4つのブロックBLK0〜BLK3におけるプログラムループ数のうち、最も少ないプログラムループ数(第1プログラムループ数)を参照することで、トランジスタ1310の劣化具合を判定している。また、本実施形態のシーケンサ170は、ブロックBLK毎のプログラムループ数(第2プログラムループ数)を参照することで、書込み動作対象となったブロックBLKのトランジスタ50の劣化具合を判定している。
これにより、各転送トランジスタのゲートに不必要に大きな電圧を印加することがなくなるので、各転送トランジスタの劣化を抑制することができる。その結果、書込み動作を繰り返しても、シーケンサ170は適切な電圧をワード線WLに転送できる。
<2−4> 第2実施形態の変形例1
図25及び図26を用いて、第2実施形態の変形例1の動作S2100について説明する。
動作S2100は、図22のステップS1010後の動作が図22の動作と異なる。
具体的には、シーケンサ170は、図22のステップS1010(図26のステップS2110)の後、図22のステップS2008ではなくて、図21のステップS2002(図25のステップS2102)を実行する。
なお、図25のステップS2102は、図21のステップS2002と同様であり、図26のステップS2110は、図22のステップS1010と同様である。
<2−5> 第1実施形態の変形例2
図27を用いて、第2実施形態の変形例2の動作S2200について説明する。
動作S2200は、図21のステップS2002〜S2007の動作が図21の動作と異なる。
具体的には、シーケンサ170は、図21のステップS2002(図27のステップS2202)に相当する動作において、ステータスレジスタ180に記憶された第1イレースループ数が第6値以上か否かを判定する。例えば、第2実施形態の変形例2では、ステータスレジスタ180に、ブロックBLK毎の最新のイレースループ数が記憶される。各イレースループ数は、例えばブロックアドレスと関連付けられてステータスレジスタ180に記憶される。例えば、第1イレースループ数とは、ステータスレジスタ180に記憶されている複数のイレースループ数の中で最小のイレースループ数のことである。第6値は、予め設定されていても良く、ユーザが任意に設定しても良い。
シーケンサ170は、図21のステップS2003(図27のステップS2203)に相当する動作において、第1イレースループ数が第6値以上でないと判定する場合(ステップS2202、No)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHLに設定する。
シーケンサ170は、図21のステップS2004(図27のステップS2204)に相当する動作において、第1イレースループ数が第6値以上であると判定する場合(ステップS2202、Yes)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHHに設定する。
シーケンサ170は、図21のステップS2005(図27のステップS2205)に相当する動作において、ステータスレジスタ180に記憶された第2イレースループ数が第7値以上か否かを判定する。例えば、第2イレースループ数とは、ステップS1001において受信したライトコマンドに対応するブロックアドレスと同じブロックアドレスに係るイレースループ数のことである。第7値は、予め設定されていても良く、ユーザが任意に設定しても良い。
シーケンサ170は、図21のステップS2006(図27のステップS2206)に相当する動作において、第2イレースループ数が第7値以上でないと判定する場合(ステップS2205、No)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHLに設定する。
シーケンサ170は、図21のステップS2007(図27のステップS2207)に相当する動作において、第2イレースループ数が第7値以上であると判定する場合(ステップS2205、Yes)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHHに設定する。
なお、ステップS2202〜S2204と、ステップS2205〜S2207と、の実行順序は入れ替えても良い。
以上のように、第1実施形態の変形例2では、シーケンサ170は、プログラムループ数ではなく、イレースループ数によって、転送トランジスタの劣化具合を判定している。
<2−6> 第2実施形態の変形例3
図28を用いて、第2実施形態の変形例3の動作S2300について説明する。
動作S2300は、図21のステップS2002〜S2007の動作が図21の動作と異なる。
具体的には、シーケンサ170は、図21のステップS2002(図28のステップS2302)に相当する動作において、ステータスレジスタ180に記憶された第1プログラムループ数が第4値以下か否か、またはステータスレジスタ180に記憶された第1イレースループ数が第6値以上か否かを判定する。
シーケンサ170は、図21のステップS2003(図28のステップS2303)に相当する動作において、第1プログラムループ数が第4値以下でなく、且つ第1イレースループ数が第6値以上でないと判定する場合(ステップS2302、No)、プログラム動作時における信号VBSTを電圧VPGMHLに設定する。
シーケンサ170は、図21のステップS2004(図28のステップS2304)に相当する動作において、第1プログラムループ数が第4値以下、または第1イレースループ数が第6値以上であると判定する場合(ステップS2302、Yes)、プログラム動作時における信号VBSTを電圧VPGMHHに設定する。
シーケンサ170は、図21のステップS2005(図28のステップS2305)に相当する動作において、ステータスレジスタ180に記憶された第2プログラムループ数が第5値以下か否か、またはステータスレジスタ180に記憶された第2イレースループ数が第7値以上か否かを判定する。
シーケンサ170は、図21のステップS2006(図28のステップS2306)に相当する動作において、第2プログラムループ数が第5値以下でなく、且つ第2イレースループ数が第7値以上でないと判定する場合(ステップS2305、No)、プログラム動作時における信号VRDECを電圧VPGMHLに設定する。
シーケンサ170は、図21のステップS2007(図28のステップS2307)に相当する動作において、第2プログラムループ数が第5値以下、または第2イレースループ数が第7値以上であると判定する場合(ステップS2305、Yes)、プログラム動作時における信号VRDECを電圧VPGMHHに設定する。
なお、ステップS2302〜S2304と、ステップS2305〜S2307と、の実行順序は入れ替えても良い。以下、ステップS2202〜S2204とステップS2205〜S2207とを含む他の動作においても同様にステップS2202〜S2204と、ステップS2205〜S2207との実行順序は入れ替えても良い。
なお、シーケンサ170は、ステップS2302において、第1プログラムループ数が第4値以下、且つ第1イレースループ数が第6値以上か否かを判定しても良い。
この場合、シーケンサ170は、ステップS2303において、第1プログラムループ数が第4値以下でない、または第1イレースループ数が第6値以上でないと判定する場合(ステップS2302、No)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHLに設定する。更に、シーケンサ170は、ステップS2304において、第1プログラムループ数が第4値以下、且つ第1イレースループ数が第6値以上であると判定する場合(ステップS2302、Yes)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHHに設定する。
また、シーケンサ170は、ステップS2305において、第2プログラムループ数が第5値以下、且つ第2イレースループ数が第7値以上か否かを判定しても良い。
この場合、シーケンサ170は、ステップS2306において、第2プログラムループ数が第5値以下でない、または第2イレースループ数が第7値以上でないと判定する場合(ステップS2305、No)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHLに設定する。更に、シーケンサ170は、ステップS2307において、第2プログラムループ数が第5値以下、且つ第2イレースループ数が第7値以上であると判定する場合(ステップS2305、Yes)、プログラム動作時における信号VBST及びVRDECを電圧VPGMHHに設定する。
<2−7> 第2実施形態の変形例4
図29及び図30を用いて、第2実施形態の変形例4の動作S2400について説明する。
動作S2400は、図28のステップS1010後の動作が図28の動作と異なる。
具体的には、シーケンサ170は、図28のステップS1010(図30のステップS2410)の後、図28のステップS2008ではなくて、図28のステップS2302(図29のステップS2402)を実行する。
なお、図29のステップS2402は、図28のステップS2302と同様であり、図30のステップS2410は、図28のステップS1010と同様である。
また、シーケンサ170は、ステップS2402において、ステップS2302と同様に第1プログラムループ数が第4値以下、且つ第1イレースループ数が第6値以上か否かを判定しても良い。
<2−8> 第2実施形態の変形例5
図31を用いて、電圧VPGMの転送用の電圧として、3種類の電圧を生成する場合についての具体的な動作について説明する。
[S2502]
シーケンサ170は、メモリコントローラ200からライトコマンドを受信したと判定する場合(ステップS1001、Yes)、ステータスレジスタ180に記憶されている第1プログラムループ数が複数の範囲(本例では例えば3つの範囲)のうち、どの範囲に属するかを判定する。
一例としては、第7範囲〜第9範囲の3つの範囲が用意される。そして、シーケンサ170は、第1プログラムループ数が第E値以下の場合は、第7範囲として認定し、第1プログラムループ数が第E値より大きく、第F値以下の場合は、第8範囲として認定し、第1プログラムループ数が第F値よりも大きい場合は、第9範囲として認定する。第E値、及び第F値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S2503]
シーケンサ170は、第1プログラムループ数がどの範囲に属するかを判定すると、プログラム動作時における信号VBSTの電圧を決定する。
具体的には、シーケンサ170は、第1プログラムループ数が第9範囲に属すると判定する場合は、信号VBSTを電圧VPGMH9(VPGM<VPGMH9)に設定する。シーケンサ170は、第1プログラムループ数が第8範囲に属すると判定する場合は、信号VBSTを電圧VPGMH8(VPGMH9<VPGMH8)に設定する。シーケンサ170は、第1プログラムループ数が第7範囲に属すると判定する場合は、信号VBSTを電圧VPGMH7(VPGMH8<VPGMH7)に設定する。
なお、ここでは簡単のため電圧VPGMの転送時の信号VBSTの電圧として、3種類の電圧を生成する方法について記載したが、同様にして4種類以上の電圧を生成しても良い。
[S2504]
シーケンサ170は、ステータスレジスタ180に記憶されている第2プログラムループ数が複数の範囲(本例では例えば3つの範囲)のうち、どの範囲に属するかを判定する。
一例としては、第10範囲〜第12範囲の3つの範囲が用意される。そして、シーケンサ170は、第2プログラムループ数が第G値以下の場合は、第10範囲として認定し、第2プログラムループ数が第G値より大きく、第H値以下の場合は、第11範囲として認定し、第2プログラムループ数が第H値よりも大きい場合は、第12範囲として認定する。第G値、及び第H値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S2505]
シーケンサ170は、第2プログラムループ数がどの範囲に属するかを判定すると、プログラム動作時における信号VRDECの電圧を決定する。
具体的には、シーケンサ170は、第2プログラムループ数が第12範囲に属すると判定する場合は、信号VRDECを電圧VPGMH12(VPGM<VPGMH12)に設定する。シーケンサ170は、第2プログラムループ数が第11範囲に属すると判定する場合は、信号VRDECを電圧VPGMH11(VPGMH12<VPGMH11)に設定する。シーケンサ170は、第2プログラムループ数が第10範囲に属すると判定する場合は、信号VRDECを電圧VPGMH10(VPGMH11<VPGMH10)に設定する。
なお、ここでは簡単のため電圧VPGMの転送時の信号VRDECの電圧として、3種類の電圧を生成する方法について記載したが、同様にして4種類以上の電圧を生成しても良い。
上記ステップS2502は、図24のステップS2102に置き換え可能である。そして、上記ステップS2503は、図24のステップS2003、及びS2004に置き換え可能である。上記ステップS2504は、図24のステップS2005に置き換え可能である。そして、上記ステップS2505は、図24のステップS2006、及びS2007に置き換え可能である。
<2−9> 第2実施形態の変形例6
図32を用いて、イレースループ数に基づいて、電圧VPGMの転送用の電圧として、3種類の電圧を生成する場合についての具体的な動作について説明する。
[S2602]
シーケンサ170は、メモリコントローラ200からライトコマンドを受信したと判定する場合(ステップS1001、Yes)、ステータスレジスタ180に記憶されている第1イレースループ数が複数の範囲(本例では例えば3つの範囲)のうち、どの範囲に属するかを判定する。
一例としては、第13範囲〜第15範囲の3つの範囲が用意される。そして、シーケンサ170は、第1イレースループ数が第I値以下の場合は、第13範囲として認定し、第1イレースループ数が第I値より大きく、第J値以下の場合は、第14範囲として認定し、第1イレースループ数が第J値よりも大きい場合は、第15範囲として認定する。第I値、及び第J値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S2603]
シーケンサ170は、第1イレースループ数がどの範囲に属するかを判定すると、プログラム動作時における信号VBSTの電圧を決定する。
具体的には、シーケンサ170は、第1イレースループ数が第13範囲に属すると判定する場合は、信号VBSTを電圧VPGMH13(VPGM<VPGMH13)に設定する。シーケンサ170は、第1イレースループ数が第14範囲に属すると判定する場合は、信号VBSTを電圧VPGMH14(VPGMH13<VPGMH14)に設定する。シーケンサ170は、第1イレースループ数が第15範囲に属すると判定する場合は、信号VBSTを電圧VPGMH15(VPGMH14<VPGMH15)に設定する。
なお、ここでは簡単のため電圧VPGMの転送時の信号VBSTの電圧として、3種類の電圧を生成する方法について記載したが、同様にして4種類以上の電圧を生成しても良い。
[S2604]
シーケンサ170は、ステータスレジスタ180に記憶されている第2イレースループ数が複数の範囲(本例では例えば3つの範囲)のうち、どの範囲に属するかを判定する。
一例としては、第16範囲〜第18範囲の3つの範囲が用意される。そして、シーケンサ170は、第2イレースループ数が第K値以下の場合は、第16範囲として認定し、第2イレースループ数が第K値より大きく、第L値以下の場合は、第17範囲として認定し、第2イレースループ数が第L値よりも大きい場合は、第18範囲として認定する。第K値、及び第L値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S2605]
シーケンサ170は、第2イレースループ数がどの範囲に属するかを判定すると、プログラム動作時における信号VRDECの電圧を決定する。
具体的には、シーケンサ170は、第2イレースループ数が第16範囲に属すると判定する場合は、信号VRDECを電圧VPGMH16(VPGM<VPGMH16)に設定する。シーケンサ170は、第2イレースループ数が第17範囲に属すると判定する場合は、信号VRDECを電圧VPGMH17(VPGMH16<VPGMH17)に設定する。シーケンサ170は、第2イレースループ数が第18範囲に属すると判定する場合は、信号VRDECを電圧VPGMH18(VPGMH17<VPGMH18)に設定する。
なお、ここでは簡単のため電圧VPGMの転送時の信号VRDECの電圧として、3種類の電圧を生成する方法について記載したが、同様にして4種類以上の電圧を生成しても良い。
<3>第3実施形態
第3実施形態について説明する。第3実施形態では、メモリコントローラが信号VBSTと信号VRDECとを制御する場合について説明する。尚、第3実施形態に係る記憶装置の基本的な構成及び基本的な動作は、上述した第1実施形態及び第2実施形態に係る記憶装置と同様である。従って、上述した第1実施形態及び第2実施形態で説明した事項及び上述した第1実施形態及び第2実施形態から容易に類推可能な事項についての説明は省略する。
<3−1> 動作
第3実施形態に係る書込み動作(S3000、S3100)のフローチャートについて説明する。まず図33を用いて、メモリコントローラ200の動作(S3000)について説明する。ここでは、簡単のため、動作の主体をプロセッサ230にしているが、これに限らない。
[S3001]
プロセッサ230は、書込み動作を行うか否かを判定する。
[S3002]
プロセッサ230は、書込み動作を行うと判定する場合(ステップS3001、Yes)、ライトイレースサイクル数(WEサイクル数)が第8値以上か否かを判定する。ライトイレースサイクル数とは、書込み動作及び消去動作を行った回数を示す。NAND型フラッシュメモリ100に対して、データの書込み動作及びデータの消去動作を行うと、ライトイレースサイクル数はインクリメントされる。このライトイレースサイクル数は、例えば内臓メモリ220等に記憶される。
[S3003]
プロセッサ230は、ライトイレースサイクル数が第8値以上ではないと判定する場合、信号VBST及びVRDECを電圧VPGMHLに設定する。具体的には、プロセッサ230は、NAND型フラッシュメモリ100に対して書込みコマンドを発行する際に、「信号VBST及びVRDECを電圧VPGMHLに設定する」という情報をシーケンサ170に供給する。
[S3004]
プロセッサ230は、ライトイレースサイクル数が第8値以上であると判定する場合、信号VBST及びVRDECを電圧VPGMHHに設定する。具体的には、プロセッサ230は、NAND型フラッシュメモリ100に対して書込みコマンドを発行する際に、「信号VBST及びVRDECを電圧VPGMHHに設定する」という情報をシーケンサ170に供給する。
[S3005]
プロセッサ230は、NAND型フラッシュメモリ100に対して、ステップS3003またはS3004によって得られた情報を含めた書込みコマンドシーケンスを発行する。
次に、図34を用いてNAND型フラッシュメモリ100の動作S3100について説明する。
[S1001]
シーケンサ170は、既に説明したステップS1001と同様の動作をする。
[S3105]
シーケンサ170は、プロセッサ230によって決定された設定に基づきプログラム動作を行う。
[S1006]〜[S1010]
シーケンサ170は、既に説明したステップS1006〜S1010と同様の動作をする。
<3−2> コマンドシーケンス
書込み動作時におけるコマンドシーケンスについて、図35を用いて説明する。図35に示すようにメモリコントローラ200は、書込みコマンドCCHを発行すると共に、信号CLEをアサート(“H”レベル)する。例えば、この書込みコマンドCCHに、ステップS3002〜S3004にて決定した信号VBST及びVRDECに関する情報が含まれている。勿論、ステップS3002〜S3004にて決定した信号VBST及びVRDECに関する情報は、NAND型フラッシュメモリ100に伝われば良く、CCHとは異なるタイミングで発行されても良い。
その後のコマンドシーケンスに関しては、図10を用いて説明したシーケンスと同様である。図35に示すコマンドDDHは、図10のコマンドBBHに相当する。
<3−3> 効果
上述した実施形態によれば、シーケンサ170は、ライトイレースサイクル数に応じて、信号VBST及びVRDECの電圧を変化させる。これにより、転送トランジスタに、適切に電圧を転送させることができる。
上述したように、メモリセルトランジスタは、書込み回数(または消去回数)が増えるにつれ、転送トランジスタが劣化する傾向がある。そのため、本実施形態では、シーケンサ170は、ライトイレースサイクル数がある値以上か否かを判定することで、転送トランジスタの使用頻度、つまり転送トランジスタの劣化具合を判定している。
<3−4> 第3実施形態の変形例1
第3実施形態の変形例1では、信号VBSTと信号VRDECとを別々に制御する場合について説明する。
図36を用いて、第3実施形態の変形例1のプロセッサ230の動作S3200について説明する。
[S3001]
プロセッサ230は、書込み動作を行うか否かを判定する。
[S3202]
プロセッサ230は、書込み動作を行うと判定する場合(ステップS3001、Yes)、第1ライトイレースサイクル数が第9値以上か否かを判定する。第3実施形態では、内蔵メモリ220に、ブロックBLK毎のライトイレースサイクル数が記憶される。各ライトイレースサイクル数は、例えばブロックアドレスと関連付けられて内蔵メモリ220に記憶される。第1ライトイレースサイクル数とは、内蔵メモリ220に記憶されている複数のライトイレースサイクル数の中で最小のライトイレースサイクル数のことである。第9値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S3203]
プロセッサ230は、第1ライトイレースサイクル数が第9値以上ではないと判定する場合、信号VBSTを電圧VPGMHLに設定する。具体的には、プロセッサ230は、NAND型フラッシュメモリ100に対して書込みコマンドを発行する際に、「信号VBSTを電圧VPGMHLに設定する」という情報をシーケンサ170に供給する。
[S3204]
プロセッサ230は、第1ライトイレースサイクル数が第9値以上であると判定する場合、信号VBSTを電圧VPGMHHに設定する。具体的には、プロセッサ230は、NAND型フラッシュメモリ100に対して書込みコマンドを発行する際に、「信号VBSTを電圧VPGMHHに設定する」という情報をシーケンサ170に供給する。
[S3205]
プロセッサ230は、第2ライトイレースサイクル数が第10値以上か否かを判定する。例えば、第2ライトイレースサイクル数とは、NAND型フラッシュメモリ100に送信するライトコマンドに対応するブロックアドレスと同じブロックアドレスに係るライトイレースサイクル数のことである。第10値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S3206]
プロセッサ230は、第2ライトイレースサイクル数が第10値以上ではないと判定する場合、信号VRDECを電圧VPGMHLに設定する。具体的には、プロセッサ230は、NAND型フラッシュメモリ100に対して書込みコマンドを発行する際に、「信号VRDECを電圧VPGMHLに設定する」という情報をシーケンサ170に供給する。
[S3207]
プロセッサ230は、第2ライトイレースサイクル数が第10値以上であると判定する場合、信号VRDECを電圧VPGMHHに設定する。具体的には、プロセッサ230は、NAND型フラッシュメモリ100に対して書込みコマンドを発行する際に、「信号VRDECを電圧VPGMHHに設定する」という情報をシーケンサ170に供給する。
続いて、プロセッサ230はステップS3005を行う。
これにより、第2実施形態と同様の効果を得ることが可能となる。
なお、ステップS3202〜S3204と、ステップS3205〜S3207と、の実行順序は入れ替えて良い。
<3−5> 第3実施形態の変形例2
図37を用いて、電圧VPGMの転送用の電圧として、3種類の電圧を生成する場合についての具体的な動作(S3300)について説明する。
[S3302]
プロセッサ230は、書込み動作を行うと判定する場合(ステップS3001、Yes)、内臓メモリ220に記憶されているライトイレースサイクル数が複数の範囲(本例では例えば3つの範囲)のうち、どの範囲に属するかを判定する。
一例としては、第19範囲〜第21範囲の3つの範囲が用意される。そして、プロセッサ230は、ライトイレースサイクル数が第M値以下の場合は、第19範囲として認定し、ライトイレースサイクル数が第M値より大きく、第N値以下の場合は、第20範囲として認定し、ライトイレースサイクル数が第N値よりも大きい場合は、第21範囲として認定する。第M値、及び第N値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S3303]
プロセッサ230は、ライトイレースサイクル数がどの範囲に属するかを判定すると、プログラム動作時における信号VBST及びVRDECの電圧を決定する。
具体的には、プロセッサ230は、ライトイレースサイクル数が第19範囲に属すると判定する場合は、信号VBST及びVRDECを電圧VPGMH19(VPGM<VPGMH19)に設定する。プロセッサ230は、ライトイレースサイクル数が第20範囲に属すると判定する場合は、信号VBST及びVRDECを電圧VPGMH20(VPGMH19<VPGMH20)に設定する。プロセッサ230は、ライトイレースサイクル数が第21範囲に属すると判定する場合は、信号VBST及びVRDECを電圧VPGMH21(VPGMH20<VPGMH21)に設定する。
このようにして、電圧VPGMの転送用の電圧として、3種類の電圧を生成するように構成されていても良い。
なお、ここでは簡単のため電圧VPGMの転送用の電圧として、3種類の電圧を生成する方法について記載したが、同様にして4種類以上の電圧を生成しても良い。
<3−6> 第3実施形態の変形例3
図38を用いて、電圧VPGMの転送用の電圧として、3種類の電圧を生成する場合についての具体的な動作(S3400)について説明する。
[S3402]
プロセッサ230は、書込み動作を行うと判定する場合(ステップS3001、Yes)、内臓メモリ220に記憶されている第1ライトイレースサイクル数が複数の範囲(本例では例えば3つの範囲)のうち、どの範囲に属するかを判定する。
一例としては、第22範囲〜第24範囲の3つの範囲が用意される。そして、プロセッサ230は、第1ライトイレースサイクル数が第O値以下の場合は、第22範囲として認定し、第1ライトイレースサイクル数が第O値より大きく、第P値以下の場合は、第23範囲として認定し、第1ライトイレースサイクル数が第P値よりも大きい場合は、第24範囲として認定する。第O値、及び第P値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S3403]
プロセッサ230は、第1ライトイレースサイクル数がどの範囲に属するかを判定すると、プログラム動作時における信号VBSTの電圧を決定する。
具体的には、プロセッサ230は、第1ライトイレースサイクル数が第22範囲に属すると判定する場合は、信号VBSTを電圧VPGMH22(VPGM<VPGMH22)に設定する。プロセッサ230は、第1ライトイレースサイクル数が第23範囲に属すると判定する場合は、信号VBSTを電圧VPGMH23(VPGMH22<VPGMH23)に設定する。プロセッサ230は、第1ライトイレースサイクル数が第24範囲に属すると判定する場合は、信号VBSTを電圧VPGMH24(VPGMH23<VPGMH24)に設定する。
このようにして、電圧VPGMの転送用の電圧として、3種類の電圧を生成するように構成されていても良い。
なお、ここでは簡単のため電圧VPGMの転送用の電圧として、3種類の電圧を生成する方法について記載したが、同様にして4種類以上の電圧を生成しても良い。
[S3404]
プロセッサ230は、内臓メモリ220に記憶されている第2ライトイレースサイクル数が複数の範囲(本例では例えば3つの範囲)のうち、どの範囲に属するかを判定する。
一例としては、第25範囲〜第27範囲の3つの範囲が用意される。そして、プロセッサ230は、第2ライトイレースサイクル数が第Q値以下の場合は、第25範囲として認定し、第2ライトイレースサイクル数が第Q値より大きく、第R値以下の場合は、第26範囲として認定し、第2ライトイレースサイクル数が第R値よりも大きい場合は、第27範囲として認定する。第Q値、及び第R値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S3405]
プロセッサ230は、第2ライトイレースサイクル数がどの範囲に属するかを判定すると、プログラム動作時における信号VRDECの電圧を決定する。
具体的には、プロセッサ230は、第2ライトイレースサイクル数が第25範囲に属すると判定する場合は、信号VRDECを電圧VPGMH25(VPGM<VPGMH25)に設定する。プロセッサ230は、第2ライトイレースサイクル数が第26範囲に属すると判定する場合は、信号VRDECを電圧VPGMH26(VPGMH25<VPGMH26)に設定する。プロセッサ230は、第2ライトイレースサイクル数が第27範囲に属すると判定する場合は、信号VRDECを電圧VPGMH27(VPGMH26<VPGMH27)に設定する。
このようにして、電圧VPGMの転送用の電圧として、3種類の電圧を生成するように構成されていても良い。
なお、ここでは簡単のため電圧VPGMの転送用の電圧として、3種類の電圧を生成する方法について記載したが、同様にして4種類以上の電圧を生成しても良い。
<4>第4実施形態
第4実施形態について説明する。第4実施形態では、消去動作に場合について説明する。尚、第4実施形態に係る記憶装置の基本的な構成及び基本的な動作は、上述した第1実施形態に係る記憶装置と同様である。従って、上述した第1実施形態で説明した事項及び上述した第1実施形態から容易に類推可能な事項についての説明は省略する。
<4−1> 構成
<4−1−1> ドライバ回路
第4実施形態に係るドライバ回路130は、CGドライバ131、SGSドライバ132、SGDドライバ133、TSFドライバ134、TSFEドライバ135、及びWELLドライバ136を備えている。TSFEドライバ135は、WELLドライバ136を制御する。WELLドライバ136は、ウェル配線CPWELLに電圧を供給する。
図39を用いて、TSFEドライバ135、及びWELLドライバ136について説明する。
TSFEドライバ135は、第5ドライバ1350を備えている。第5ドライバ1350は、シーケンサ170からの制御信号に基づき、電圧VERAHLまたはVERAHH(VERAHL<VERAHH)を、信号VBSTEとしてWELLドライバ136に供給する。
WELLドライバ136は、高耐圧nチャネルMOSトランジスタ1360と、第2レベルシフタ1361とを備えている。第2レベルシフタ1361は、TSFEドライバ135から受信した信号VBSTEをトランジスタ1360に供給する。トランジスタ1360は、ウェル配線CPWELLに電圧を転送する。トランジスタ1360は一端がウェル配線CPWELLに接続され、他端に電圧が印加され、ゲートに信号VBSTEが供給される。図39では簡単のため、電圧VERAを転送するためのトランジスタ1360のみを示している。しかし、これに限らず、ウェル配線CPWELLに各種電圧を印加するための高耐圧nチャネルMOSトランジスタが設けられても良い。この高耐圧nチャネルMOSトランジスタ1360を転送トランジスタとも記載する。
なお、本例では、簡単のため1つのウェル配線CPWELLに1つのトランジスタ1360が接続されている。しかし、1つのウェル配線CPWELLに複数のトランジスタ1360が直列に接続されても良い。
<4−1−2> 第5ドライバ
次に、図40を用いて、第5ドライバ1350について説明する。
第5ドライバ1350は、高耐圧nチャネルMOSトランジスタ1350−0〜1350−2を備えている。トランジスタ1350−0は、ノードN4を介して一端に電圧VERAが印加され、他端及びゲートがノードN5に接続され、他端及びゲートに信号VEHLが供給される。トランジスタ1350−1は、一端がノードN5に接続され、他端及びゲートがノードN6に接続され、他端及びゲートに信号VEHが供給される。トランジスタ1350−2は、ノードN5を介して一端に電圧VERAが印加され、他端及びゲートがノードN5に接続され、他端及びゲートに信号VEHHが供給される。
信号VEH、VEHL、及びVEHHはシーケンサ170から供給される。
シーケンサ170は、電圧VERAHLを生成する場合、信号VEHを“H”レベルにし、信号VEHLを“H”レベルにし、信号VEHHを“L”レベルにする。それにより、ドライバ1350はノードN6に電圧VERAHLを供給する(矢印C参照)。
シーケンサ170は、電圧VERAHHを生成する場合、信号VEHを“H”レベルにし、信号VEHLを“L”レベルにし、信号VEHHを“H”レベルにする。それにより、ドライバ1350はノードN6に電圧VERAHHを供給する(矢印D参照)。
なお、ここでは、簡単のため、第5ドライバ1350が3つのトランジスタ1350−0〜1350−2を備えている場合について説明したが、これに限らない。第5ドライバ1350が、電圧VERAHL及び電圧VERAHHを選択的に生成できる構成であればどのような回路でも良い。
シーケンサ170が、どのように電圧VERAHLまたは電圧VERAHHを選択するかについては、後述する。
<4−2> 動作
<4−2−1> フローチャート
図39を用いて、データ消去動作(S4000)のフローチャートについて説明する。
データ消去動作は、消去(イレース)動作と、消去ベリファイ(イレースベリファイ)動作と、含んでいる。
[S4001]
シーケンサ170は、メモリコントローラ200からイレースコマンドを受信したか否かを判定する。
[S4002]
シーケンサ170は、メモリコントローラ200からイレースコマンドを受信したと判定する場合(ステップS4001、Yes)、ステータスレジスタ180に記憶されているイレースループ数が第3値以上か否かを判定する。イレースループ数については後述する。
[S4003]
シーケンサ170は、イレースループ数が第3値以上でないと判定する場合(ステップS4002、No)、イレース動作時における信号VBSTEを電圧VERAHLに設定する。具体的には、シーケンサ170は、イレース動作時に、信号VEHを“H”レベルにし、信号VEHLを“H”レベルにし、信号VEHHを“L”レベルにする。
[S4004]
シーケンサ170は、イレースループ数が第3値以上であると判定する場合(ステップS4002、Yes)、イレース動作時における信号VBSTEを電圧VERAHHに設定する。具体的には、シーケンサ170は、イレース動作時に、信号VEHを“H”レベルにし、信号VEHLを“L”レベルにし、信号VEHHを“H”レベルにする。
[S4005]
シーケンサ170は、イレース動作を行う。
図42を用いて、イレース動作の基本的な動作波形について説明する。
[時刻T20]〜[時刻T21]
ドライバ135は、シーケンサ170からの信号に基づき、信号VBSTEを電圧VERAHL(VSS<VERAHL)または電圧VERAHH(VERAHL<VERAHH)に昇圧する。電圧VERAHLまたは電圧VERAHHは、トランジスタ1360をオン状態にする電圧である。
[時刻T21]〜[時刻T22]
時刻T21において、ドライバ136は、ウェル配線CPWELLに電圧VERA(VSS<VERA<VERAHL)を印加する。
また、時刻T21においてロウデコーダ120は、アドレスレジスタ150から与えられるブロックアドレスBAに従って、ブロックBLKを選択する。そしてロウデコーダ120は、選択セレクトゲート線SGS_SELに電圧VERAG(VSS<VERAG<VERA)を印加する。
また、時刻T21においてロウデコーダ120は、選択ワード線WL_SELに電圧VE(VSS<VE<VERAG)を印加する。
[時刻T23]〜[時刻T24]
時刻T22〜時刻T23の期間でデータが消去された後、時刻T23〜時刻T24においてロウデコーダ120は、選択ワード線WL_SEL、選択セレクトゲート線SGS_SELを電圧VSSに降圧し、ドライバ136は、ウェル配線CPWELLの電圧を電圧VSSに降圧する。これによりイレース動作が終了する。
[S4006]
図39に示すように、シーケンサ170は、イレース動作が終了すると、イレースベリファイ動作を行う。このイレースベリファイ動作は、上述したプログラムベリファイ動作と同様なので、説明を省略する。
[S4007]
図39に示すように、シーケンサ170は、イレースベリファイ動作の結果がパスか否かを判定する。より具体的にはシーケンサ170は、イレースベリファイ動作によってフェイルビットと判定されたフェイルビット数が設定値以上であるか否かを判定する。フェイルビット数が設定値未満である場合、シーケンサ170は、イレースベリファイ動作の結果がパスであると判定する。この設定値は、例えばECC回路260で救済できないフェイルビット数である。この設定値は、例えばステータスレジスタ180に記憶されている。つまり、シーケンサ170は、ステータスレジスタ180に記憶された設定値と、フェイルビット数と、を比較する。シーケンサ170は、イレースベリファイ動作の結果がパスであると判定する場合(ステップS4007、Yes)、データ消去動作を終了する。
[S4008]
シーケンサ170は、イレースベリファイ動作の結果がパスではないと判定する場合(ステップS4007、No)、イレース動作の繰り返し回数(イレースループ数)が第11値以上であるか否かを判定する。この第11値は、例えばステータスレジスタ180に記憶されている。つまり、シーケンサ170は、ステータスレジスタ180に記憶された第11値と、イレースループ数と、を比較する。シーケンサ170は、イレースループ数が第11値以上であると判定する場合(ステップS4008、Yes)、データ消去動作を終了する。
[S4009]
シーケンサ170は、イレースループ数が第11値以上でないと判定する場合(ステップS4008、No)、イレースループ数(NEn_Loop)をカウントアップする。例えば、イレースループ数は、ステータスレジスタ180等に記憶される。そして、イレースループ数のカウントは、シーケンサ170が行っても良いし、それ以外の構成で行っても良い。
[S4010]
そして、シーケンサ170は、イレースループ数をカウントアップした後、イレース動作の際に用いる電圧VERAを電圧DVERAだけインクリメントさせる。そして、シーケンサ170は、ステップS4005を繰り返す。
なお、ステップS4008とステップS4009との実行順序は入れ替えても良い。なお、その場合、ステップS4008における第11値は“1”だけ大きくなる。以下、ステップS4008とステップS4009とを含む他の動作においても同様にステップS4008とステップS4009との実行順序は入れ替えても良い。
<4−2−2> コマンドシーケンス
データ消去動作時におけるコマンドシーケンスについて、図43を用いて説明する。図43に示すようにメモリコントローラ200は、まず消去コマンドEEHを発行すると共に、信号CLEをアサート(“H”レベル)する。引き続きメモリコントローラ200は、例えば3サイクルにわたってアドレス(ADD:ロウアドレス)を発行すると共に、信号ALEをアサート(“H”レベル)する。これらのコマンド及びアドレスは例えばアドレスレジスタ150及びコマンドレジスタ160にそれぞれ格納される。
次にメモリコントローラ200は、書込みコマンド“FFH”を発行すると共に、CLEをアサートする。コマンド“FFh”がコマンドレジスタ160に格納されたことに応答して、シーケンサ170はデータ消去動作(S4000)を開始し、NAND型フラッシュメモリ100はビジー状態となる(RBn=“L”)。
<4−3> 効果
上述した実施形態によれば、シーケンサ170は、イレースループ数に応じて、ウェル配線CPWELLに電圧を転送する転送トランジスタへの制御電圧を変化させる。これにより、転送トランジスタに、適切に電圧を転送させることができる。
上述した実施形態に係る効果について説明する。本実施形態に係るNAND型フラッシュメモリ100において、転送トランジスタを介してウェル配線CPWELLに所望の電圧が印加される。
図44に示すように、電圧VERAを転送するために、転送トランジスタのゲートには、電圧VERAよりも大きな電圧VERAHを印加する必要がある。しかし、種々の要因(例えば転送トランジスタの劣化)により、転送トランジスタの閾値が上昇してしまい、電圧VPGMを適切に転送できなくなる可能性がある。そのため、予め電圧VERAHをより大きい電圧VERAHHにしておくことも考えられる。しかしその場合、転送トランジスタのゲートへの負荷が増大し、転送トランジスタの劣化を早めてしまう可能性がある。その結果、転送トランジスタの閾値が上昇してしまい、電圧VERAを適切に転送できなくなる可能性がある。
そのため、図44に示すような方法では、データ消去動作を繰り返すと適切な電圧をウェル配線CPWELLに転送できなくなるという問題が生じる可能性があった。
そこで、図45に示すように、上述した実施形態では、シーケンサ170は、転送トランジスタが劣化する前(閾値が低い状態)は、転送トランジスタのゲートに電圧VERAHHよりも低い電圧VERAHLを印加する。そして、シーケンサ170は、転送トランジスタが劣化した後(閾値が高い状態)は、転送トランジスタのゲートに電圧VERAHHを印加する。
メモリセルトランジスタは、書込み回数(または消去回数)が増えるにつれ、イレースループ数が増える傾向がある。そのため、本実施形態では、シーケンサ170は、イレースループ数がある値以上か否かを判定することで、転送トランジスタの使用頻度、つまり転送トランジスタの劣化具合を判定している。
これにより、転送トランジスタのゲートに不必要に大きな電圧を印加することがなくなるので、転送トランジスタの劣化を抑制することができる。その結果、データ消去動作を繰り返しても、シーケンサ170は適切な電圧をウェル配線CPWELLに転送できる。
<4−4> 第4実施形態の変形例1
図46を用いて、第4実施形態の変形例1の動作S4100について説明する。
動作S4100は、図41のステップS4010後の動作が図41の動作と異なる。
具体的には、シーケンサ170は、図41のステップS4010(図46のステップS4110)の後、図41のステップS4005ではなくて、図41のステップS4002(図46のステップS4102)を実行する。
なお、図46のステップS4102は、図41のステップS4002と同様であり、図46のステップS4110は、図41のステップS4010と同様である。
<4−5> 第4実施形態の変形例2
図47を用いて、第4実施形態の変形例2の動作S4200について説明する。
動作S4200は、図41のステップS4002〜S4004の動作が図41の動作と異なる。
具体的には、シーケンサ170は、図41のステップS4002(図47のステップS4202)に相当する動作において、ステータスレジスタ180に記憶されたプログラムループ数が第1値以下か否かを判定する。
シーケンサ170は、図41のステップS4003(図47のステップS4203)に相当する動作において、プログラムループ数が第1値以下でないと判定する場合(ステップS4202、No)、イレース動作時における信号VBSTEを電圧VERAHLに設定する。
シーケンサ170は、図41のステップS4004(図47のステップS4204)に相当する動作において、プログラムループ数が第1値以下であると判定する場合(ステップS4202、Yes)、イレース動作時における信号VBSTEを電圧VERAHHに設定する。
以上のように、第4実施形態の変形例2では、シーケンサ170は、イレースループ数ではなく、プログラムループ数によって、転送トランジスタの劣化具合を判定している。
<4−6> 第4実施形態の変形例3
図48を用いて、第4実施形態の変形例3の動作S4300について説明する。
動作S4300は、図41のステップS4002〜S4004の動作が図41の動作と異なる。
具体的には、シーケンサ170は、図41のステップS4002(図48のステップS4302)に相当する動作において、ステータスレジスタ180に記憶されたプログラムループ数が第1値以下か否か、またはステータスレジスタ180に記憶されたイレースループ数が第3値以上か否かを判定する。
シーケンサ170は、図41のステップS4003(図48のステップS4303)に相当する動作において、プログラムループ数が第1値以下でなく、且つイレースループ数が第3値以上でないと判定する場合(ステップS4302、No)、イレース動作時における信号VBSTEを電圧VERAHLに設定する。
シーケンサ170は、図41のステップS4004(図48のステップS4304)に相当する動作において、プログラムループ数が第1値以下、またはイレースループ数が第3値以上であると判定する場合(ステップS4302、Yes)、イレース動作時における信号VBSTEを電圧VERAHHに設定する。
なお、シーケンサ170は、ステップS4302において、プログラムループ数が第1値以下、且つイレースループ数が第3値以上か否かを判定しても良い。
この場合、シーケンサ170は、ステップS4303において、プログラムループ数が第1値以下でない、またはイレースループ数が第3値以上でないと判定する場合(ステップS4302、No)、プログラム動作時における信号VBSTEを電圧VERAHLに設定する。更に、シーケンサ170は、ステップS4304において、プログラムループ数が第1値以下、且つイレースループ数が第3値以上であると判定する場合(ステップS4302、Yes)、プログラム動作時における信号VBSTEを電圧VERAHHに設定する。
<4−7> 第4実施形態の変形例4
図49を用いて、第4実施形態の変形例4の動作S4400について説明する。
動作S4400は、図48のステップS4010後の動作が図48の動作と異なる。
具体的には、シーケンサ170は、図48のステップS4010(図49のステップS4110)の後、図48のステップS4005ではなくて、図48のステップS4302(図49のステップS4402)を実行する。
なお、図49のステップS4402は、図48のステップS4302と同様であり、図49のステップS4110は、図48のステップS4010と同様である。
また、シーケンサ170は、ステップS4402において、プログラムループ数が第1値以下、且つイレースループ数が第3値以上か否かを判定しても良い。
<4−8> 第4実施形態の変形例5
図50を用いて、イレースループ数に基づいて、電圧VERAの転送用の電圧として、3種類の電圧を生成する場合について説明する。
[S4502]
シーケンサ170は、メモリコントローラ200からイレースコマンドを受信したと判定する場合(ステップS4001、Yes)、ステータスレジスタ180に記憶されているイレースループ数が複数の範囲(本例では例えば3つの範囲)のうち、どの範囲に属するかを判定する。
一例としては、第28範囲〜第30範囲の3つの範囲が用意される。そして、シーケンサ170は、イレースループ数が第S値以下の場合は、第28範囲として認定し、イレースループ数が第S値より大きく、第T値以下の場合は、第29範囲として認定し、イレースループ数が第T値よりも大きい場合は、第30範囲として認定する。第S値、及び第T値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S4503]
シーケンサ170は、イレースループ数がどの範囲に属するかを判定すると、イレース動作時における信号VBSTEの電圧を決定する。
具体的には、シーケンサ170は、イレースループ数が第28範囲に属すると判定する場合は、信号VBSTEを電圧VERAH28(VERA<VERAH28)に設定する。シーケンサ170は、イレースループ数が第29範囲に属すると判定する場合は、信号VBSTEを電圧VERAH29(VERAH28<VERAH29)に設定する。シーケンサ170は、イレースループ数が第30範囲に属すると判定する場合は、信号VBSTEを電圧VERAH30(VERAH29<VERAH30)に設定する。
このようにして、電圧VERAの転送用の電圧として、3種類の電圧を生成するように構成されていても良い。
なお、ここでは簡単のため電圧VERAの転送用の電圧として、3種類の電圧を生成する方法について記載したが、同様にして4種類以上の電圧を生成しても良い。
上記ステップS4502は、図46のステップS4102に置き換え可能である。そして、上記ステップS4503は、図46のステップS4003、及びS4004に置き換え可能である。
<4−9> 第4実施形態の変形例6
図51を用いて、プログラムループ数に基づいて、電圧VERAの転送用の電圧として、3種類の電圧を生成する場合について説明する。
[S4602]
シーケンサ170は、メモリコントローラ200からイレースコマンドを受信したと判定する場合(ステップS4001、Yes)、ステータスレジスタ180に記憶されているプログラムループ数が複数の範囲(本例では例えば3つの範囲)のうち、どの範囲に属するかを判定する。
一例としては、第31範囲〜第33範囲の3つの範囲が用意される。そして、シーケンサ170は、プログラムループ数が第U値以下の場合は、第31範囲として認定し、プログラムループ数が第U値より大きく、第V値以下の場合は、第32範囲として認定し、プログラムループ数が第V値よりも大きい場合は、第33範囲として認定する。第U値、及び第V値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S4603]
シーケンサ170は、プログラムループ数がどの範囲に属するかを判定すると、イレース動作時における信号VBSTEの電圧を決定する。
具体的には、シーケンサ170は、プログラムループ数が第33範囲に属すると判定する場合は、信号VBSTEを電圧VERAH33(VERA<VERAH33)に設定する。シーケンサ170は、プログラムループ数が第32範囲に属すると判定する場合は、信号VBSTEを電圧VERAH32(VERAH33<VERAH32)に設定する。シーケンサ170は、プログラムループ数が第31範囲に属すると判定する場合は、信号VBSTEを電圧VERAH31(VERAH32<VERAH31)に設定する。
このようにして、電圧VERAの転送用の電圧として、3種類の電圧を生成するように構成されていても良い。
なお、ここでは簡単のため電圧VERAの転送用の電圧として、3種類の電圧を生成する方法について記載したが、同様にして4種類以上の電圧を生成しても良い。
<5>第5実施形態
第5実施形態について説明する。第5実施形態では、メモリコントローラが信号VBSTEを制御する場合について説明する。尚、第5実施形態に係る記憶装置の基本的な構成及び基本的な動作は、上述した第1実施形態及び第4実施形態に係る記憶装置と同様である。従って、上述した第1実施形態及び第4実施形態で説明した事項及び上述した第1実施形態及び第4実施形態から容易に類推可能な事項についての説明は省略する。
<5−1> 動作
第5実施形態に係る書込み動作(S5000、S5100)のフローチャートについて説明する。まず図52を用いて、メモリコントローラ200の動作(S5000)について説明する。ここでは、簡単のため、動作の主体をプロセッサ230にしているが、これに限らない。
[S5001]
プロセッサ230は、データ消去動作を行うか否かを判定する。
[S5002]
プロセッサ230は、データ消去動作を行うと判定する場合(ステップS5001、Yes)、ライトイレースサイクル数が第8値以上か否かを判定する。
[S5003]
プロセッサ230は、ライトイレースサイクル数が第8値以上ではないと判定する場合、信号VBSTEを電圧VERAHLに設定する。具体的には、プロセッサ230は、NAND型フラッシュメモリ100に対してデータ消去コマンドを発行する際に、「信号VBSTEを電圧VERAHLに設定する」という情報をシーケンサ170に供給する。
[S5004]
プロセッサ230は、ライトイレースサイクル数が第8値以上であると判定する場合、信号VBSTEを電圧VERAHHに設定する。具体的には、プロセッサ230は、NAND型フラッシュメモリ100に対してデータ消去コマンドを発行する際に、「信号VBSTEを電圧VERAHHに設定する」という情報をシーケンサ170に供給する。
[S5005]
プロセッサ230は、NAND型フラッシュメモリ100に対して、ステップS5003またはS5004によって得られた情報を含めたデータ消去コマンドシーケンスを発行する。
次に、図53を用いてNAND型フラッシュメモリ100の動作S5100について説明する。
[S4001]
シーケンサ170は、既に説明したステップS4001と同様の動作をする。
[S5105]
シーケンサ170は、プロセッサ230によって決定された設定に基づきイレース動作を行う。
[S4006]〜[S4010]
シーケンサ170は、既に説明したステップS4006〜S4010と同様の動作をする。
<5−2> コマンドシーケンス
データ消去動作時におけるコマンドシーケンスについて、図54を用いて説明する。図54に示すようにメモリコントローラ200は、データ消去コマンドGGHを発行すると共に、信号CLEをアサート(“H”レベル)する。例えば、この書込みコマンドGGHに、ステップS5002〜S5004にて決定した信号VBSTEに関する情報が含まれている。勿論、ステップS5002〜S5004にて決定した信号VBSTEに関する情報は、NAND型フラッシュメモリ100に伝われば良く、GGHとは異なるタイミングで発行されても良い。
その後のコマンドシーケンスに関しては、図43を用いて説明したシーケンスと同様である。図54に示すコマンドIIHは、図10のコマンドFFHに相当する。
<5−3> 効果
上述した実施形態によれば、シーケンサ170は、ライトイレースサイクル数に応じて、信号VBSTEの電圧を変化させる。これにより、転送トランジスタに、適切に電圧を転送させることができる。
上述したように、メモリセルトランジスタは、書込み回数(または消去回数)が増えるにつれ、転送トランジスタが劣化する傾向がある。そのため、本実施形態では、シーケンサ170は、ライトイレースサイクル数がある値以上か否かを判定することで、転送トランジスタの使用頻度、つまり転送トランジスタの劣化具合を判定している。
<5−4> 第5実施形態の変形例
図55を用いて、電圧VERAの転送用の電圧として、3種類の電圧を生成する場合についての具体的な動作について説明する。
[S5202]
プロセッサ230は、データ消去動作を行うと判定する場合(ステップS5001、Yes)、内臓メモリ220に記憶されているライトイレースサイクル数が複数の範囲(本例では例えば3つの範囲)のうち、どの範囲に属するかを判定する。
一例としては、第34範囲〜第36範囲の3つの範囲が用意される。そして、プロセッサ230は、ライトイレースサイクル数が第W値以下の場合は、第34範囲として認定し、ライトイレースサイクル数が第W値より大きく、第X値以下の場合は、第35範囲として認定し、ライトイレースサイクル数が第X値よりも大きい場合は、第36範囲として認定する。第W値、及び第X値は、予め設定されていても良く、ユーザが任意に設定しても良い。
[S5203]
プロセッサ230は、ライトイレースサイクル数がどの範囲に属するかを判定すると、イレース動作時における信号VBSTEの電圧を決定する。
具体的には、プロセッサ230は、ライトイレースサイクル数が第34範囲に属すると判定する場合は、信号VBSTEを電圧VERAH34(VERA<VERAH34)に設定する。プロセッサ230は、ライトイレースサイクル数が第35範囲に属すると判定する場合は、信号VBSTEを電圧VPGMH35(VERAH34<VERAH35)に設定する。プロセッサ230は、ライトイレースサイクル数が第36範囲に属すると判定する場合は、信号VBSTEを電圧VERAH36(VPGMH35<VPGMH36)に設定する。
このようにして、電圧VERAの転送用の電圧として、3種類の電圧を生成するように構成されていても良い。
なお、ここでは簡単のため電圧VERAの転送用の電圧として、3種類の電圧を生成する方法について記載したが、同様にして4種類以上の電圧を生成しても良い。
<6>尚書き
また、上述した各実施形態、及び各変形例において、メモリセルアレイ110として3次元積層型のメモリを適用する場合について説明した。しかし、メモリセルアレイ110として平面型のメモリのメモリを適用しても、上述した各実施形態、及び各変形例と同様の効果を得ることが可能である。
すなわちメモリセルアレイ110の構成については、例えば、“SEMICONDUCTOR MEMORY DEVICE HAVING PLURALITY OF TYPES OF MEMORIES INTEGRATED ON ONE CHIP”という2009年3月3日に出願された米国特許出願12/397,711号に記載されている。また、“SEMICONDUCTOR MEMORY DEVICE INCLUDING STACKD GATE HAVING CHARGE ACCUMULATION LAYER AND CONTROL GATE AND METHOD OF WRITING DATA TO SEMICONDUCTOR MEMORY DEVICE”という2012年4月19日に出願された米国特許出願13/451,185号、“NONVOLATILE SEMICONDUCTOR MEMORY ELEMENT, NONVOLATILE SEMICONDUCTOR MEMORY, AND METHOD FOR OPERATING NONVOLATILE SEMICONDUCTOR MEMORY ELEMENT”という2009年3月17日に出願された米国特許出願12/405,626号、及び“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE HAVING ELEMENT ISOLATING REGION OF TRENCH TYPE AND METHOD OF MANUFACTURING THE SAME”という2001年9月21日に出願された米国特許出願09/956,986号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
また、上述した各実施形態、及び各変形例において、メモリシステム1は、1つのNAND型フラッシュメモリ100を備える構成について説明したがこれに限らない。つまり、メモリシステム1は、複数のNAND型フラッシュメモリ100を備えていても同様の効果を得ることが可能である。
また、上述した各実施形態、及び各変形例において、NAND型フラッシュメモリ100は、1つのメモリセルアレイ110を備える構成について説明したがこれに限らない。つまり、NAND型フラッシュメモリ100は、複数のメモリセルアレイ110を備えていても同様の効果を得ることが可能である。
また、上述したプログラム動作、プログラムベリファイ動作、イレース動作、イレースベリファイ動作は一例である。信号VBST、VRDEC、及びVBSTE以外の波形は種々変更可能である。
更に、上述した各実施形態、及び各変形例における「接続」とは、間に例えばトランジスタあるいは抵抗等、他の何かを介在させて間接的に接続されている状態も含む。
また、上述した各実施形態において、
(1)読み出し動作では、
Aレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば0V〜0.55Vの間である。これに限定されることなく、0.1V〜0.24V, 0.21V〜0.31V, 0.31V〜0.4V, 0.4V〜0.5V, 0.5V〜0.55Vいずれかの間にしてもよい。
Bレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば1.5V〜2.3Vの間である。これに限定されることなく、1.65V〜1.8V, 1.8V〜1.95V, 1.95V〜2.1V, 2.1V〜2.3Vいずれかの間にしてもよい。
Cレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば3.0V〜4.0Vの間である。これに限定されることなく、3.0V〜3.2V, 3.2V〜3.4V, 3.4V〜3.5V, 3.5V〜3.6V, 3.6V〜4.0Vいずれかの間にしてもよい。
読み出し動作の時間(tR)としては、例えば25μs〜38μs, 38μs〜70μs, 70μs〜80μsの間にしてもよい。
(2)書込み動作は、上述したとおりプログラム動作とベリファイ動作を含む。書込み動作では、
プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば13.7V〜14.3Vの間である。これに限定されることなく、例えば13.7V〜14.0V, 14.0V〜14.6Vいずれかの間としてもよい。
奇数番目のワード線を書込む際の、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を書込む際の、選択されたワード線に最初に印加される電圧を変えてもよい。
プログラム動作をISPP方式(Incremental Step Pulse Program)としたとき、ステップアップの電圧として、例えば0.5V程度が挙げられる。
非選択のワード線に印加される電圧としては、例えば6.0V〜7.3Vの間としてもよい。この場合に限定されることなく、例えば7.3V〜8.4Vの間としてもよく、6.0V以下としてもよい。
非選択のワード線が奇数番目のワード線であるか、偶数番目のワード線であるかで、印加するパス電圧を変えてもよい。
書込み動作の時間(tProg)としては、例えば1700μs〜1800μs, 1800μs〜1900μs, 1900μs〜2000μsの間にしてもよい。
(3)消去動作では、
半導体基板上部に形成され、かつ、上記メモリセルが上方に配置されたウェルに最初に印加する電圧は、例えば12V〜13.6Vの間である。この場合に限定されることなく、例えば13.6V〜14.8V, 14.8V〜19.0V, 19.0〜19.8V, 19.8V〜21Vの間であってもよい。
消去動作の時間(tErase)としては、例えば3000μs〜4000μs, 4000μs〜5000μs, 4000μs〜9000μsの間にしてもよい。
(4)メモリセルの構造は、
半導体基板(シリコン基板)上に膜厚が4〜10nmのトンネル絶縁膜を介して配置された電荷蓄積層を有している。この電荷蓄積層は膜厚が2〜3nmのSiN、またはSDQNなどの絶縁膜と膜厚が3〜8nmのポリシリコンとの積層構造にすることができる。また、ポリシリコンにはRuなどの金属が添加されていても良い。電荷蓄積層の上には絶縁膜を有している。この絶縁膜は、例えば、膜厚が3〜10nmの下層High−k膜と膜厚が3〜10nmの上層High−k膜に挟まれた膜厚が4〜10nmのシリコン酸化膜を有している。High−k膜はHfOなどが挙げられる。また、シリコン酸化膜の膜厚はHigh−k膜の膜厚よりも厚くすることができる。絶縁膜上には膜厚が3〜10nmの仕事関数調整用の材料を介して膜厚が30nm〜70nmの制御電極が形成されている。ここで仕事関数調整用の材料はTaOなどの金属酸化膜、TaNなどの金属窒化膜である。制御電極にはWなどを用いることができる。
また、メモリセル間にはエアギャップを形成することができる。
以上、本発明の実施形態を説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない範囲内において種々変形して実施することが可能である。さらに、上記実施形態には種々の段階の発明が含まれており、開示された構成要件を適宜組み合わせることによって種々の発明が抽出される。例えば、開示された構成要件からいくつかの構成要件が削除されても、所定の効果が得られるものであれば、発明として抽出され得る。
1…メモリシステム
100…NAND型フラッシュメモリ
200…メモリコントローラ
300…ホスト装置

Claims (5)

  1. データを記憶する第1メモリセルと、
    前記第1メモリセルに接続される第1ワード線と、
    前記第1ワード線に電圧を供給する第1回路と、
    前記第1回路を制御する第2回路と、
    前記第1回路及び前記第2回路を制御するシーケンサと、
    を備え、
    前記第1メモリセルにデータを書込む場合、
    前記シーケンサは条件を満たすか否かを判定し、
    前記条件を満たさないと判定する場合、前記第2回路に、第1電圧を生成させ、
    前記条件を満たすと判定する場合、前記第2回路に、前記第1電圧よりも高い第2電圧を生成させ、
    前記第1回路は、前記第1電圧または前記第2電圧に基づいて、前記第2電圧よりも低い第3電圧を、前記第1ワード線に供給するメモリデバイス。
  2. 前記第1メモリセルにデータを書込む場合におけるプログラム動作の回数を記憶する第1記憶部を更に備え、
    前記シーケンサは、前記第1記憶部に記憶された前記プログラム動作の回数が、第1回数以下か否かを判定し、
    前記プログラム動作の回数が、第1回数以下ではないと判定する場合、前記第2回路に、第1電圧を生成させ、
    前記プログラム動作の回数が、第1回数以下であると判定する場合、前記第2回路に、前記第1電圧よりも高い第2電圧を生成させる
    請求項1に記載のメモリデバイス。
  3. データを記憶する第1メモリセルと、
    前記第1メモリセルに接続される第1ワード線と、
    前記第1ワード線に電圧を供給する第1回路と、
    前記第1回路を制御する第2回路と、
    前記第1回路及び前記第2回路を制御するシーケンサと、
    を備えるメモリデバイス、及び
    前記メモリデバイスを制御するコントローラを備え、
    前記コントローラは、
    前記第1メモリセルにデータを書込む場合、
    条件を満たすか否かを判定し、
    前記条件を満たさないと判定する場合、前記第2回路に、第1電圧を生成させ、
    前記条件を満たすと判定する場合、前記第2回路に、前記第1電圧よりも高い第2電圧を生成させ、
    前記第1回路は、前記第1電圧または前記第2電圧に基づいて、前記第2電圧よりも低い第3電圧を、前記第1ワード線に供給するメモリシステム。
  4. 前記コントローラは、前記第1メモリセルへのデータの書込み及び消去回数を記憶する第2記憶部を更に備え、
    前記コントローラは、前記第2記憶部に記憶された前記データの書込み及び消去回数が、第2回数以上か否かを判定し、
    前記データの書込み及び消去回数が、第2回数以上ではないと判定する場合、前記第2回路に、第1電圧を生成させ、
    前記データの書込み及び消去回数が、第2回数以上であると判定する場合、前記第2回路に、前記第1電圧よりも高い第2電圧を生成させる
    請求項3に記載のメモリシステム。
  5. 半導体基板と、
    第1ワード線と、
    ゲートが前記第1ワード線に接続され、一端が前記半導体基板に接続される第1メモリセルと、
    前記半導体基板に電圧を供給する第3回路と、
    前記第3回路を制御する第4回路と、
    前記第3回路及び前記第4回路を制御するシーケンサと、
    を備え、
    前記第1メモリセルのデータを消去する場合、
    前記シーケンサは条件を満たすか否かを判定し、
    前記条件を満たさないと判定する場合、前記第4回路に、第4電圧を生成させ、
    前記条件を満たすと判定する場合、前記第4回路に、前記第4電圧よりも高い第5電圧を生成させ、
    前記第3回路は、前記第4電圧または前記第5電圧に基づいて、前記第4電圧よりも低い第6電圧を、前記半導体基板に供給するメモリデバイス。
JP2017060387A 2017-03-27 2017-03-27 メモリデバイス及びメモリシステム Pending JP2018163723A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017060387A JP2018163723A (ja) 2017-03-27 2017-03-27 メモリデバイス及びメモリシステム
TW106123149A TWI638363B (zh) 2017-03-27 2017-07-11 Memory device and memory system
CN201710651392.1A CN108665928B (zh) 2017-03-27 2017-08-02 存储器装置及存储器系统
US15/917,281 US10418118B2 (en) 2017-03-27 2018-03-09 Memory device and memory system
US16/528,318 US10622079B2 (en) 2017-03-27 2019-07-31 Memory device and memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017060387A JP2018163723A (ja) 2017-03-27 2017-03-27 メモリデバイス及びメモリシステム

Publications (1)

Publication Number Publication Date
JP2018163723A true JP2018163723A (ja) 2018-10-18

Family

ID=63583533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017060387A Pending JP2018163723A (ja) 2017-03-27 2017-03-27 メモリデバイス及びメモリシステム

Country Status (4)

Country Link
US (2) US10418118B2 (ja)
JP (1) JP2018163723A (ja)
CN (1) CN108665928B (ja)
TW (1) TWI638363B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020038746A (ja) 2018-09-06 2020-03-12 キオクシア株式会社 半導体記憶装置
JP7258697B2 (ja) * 2019-09-02 2023-04-17 キオクシア株式会社 半導体記憶装置
JP2022144309A (ja) 2021-03-18 2022-10-03 キオクシア株式会社 半導体記憶装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW365001B (en) * 1996-10-17 1999-07-21 Hitachi Ltd Non-volatile semiconductor memory apparatus and the operation method
KR100287545B1 (ko) * 1998-09-17 2001-04-16 윤종용 불 휘발성 반도체 메모리 장치
JP2002176114A (ja) 2000-09-26 2002-06-21 Toshiba Corp 半導体装置及びその製造方法
TW522403B (en) * 2001-08-02 2003-03-01 Macronix Int Co Ltd Reliability testing method and circuit of non-volatile memory
JP2006073062A (ja) * 2004-08-31 2006-03-16 Toshiba Corp 半導体記憶装置
US7338817B2 (en) 2005-03-31 2008-03-04 Intel Corporation Body bias compensation for aged transistors
JP2008010082A (ja) * 2006-06-29 2008-01-17 Nec Electronics Corp 不揮発性半導体記憶装置及びワード線駆動方法
JP4901348B2 (ja) 2006-07-20 2012-03-21 株式会社東芝 半導体記憶装置およびその制御方法
JP2008047273A (ja) 2006-07-20 2008-02-28 Toshiba Corp 半導体記憶装置およびその制御方法
JP5178167B2 (ja) 2007-12-04 2013-04-10 株式会社東芝 半導体記憶装置及びそのデータ書き込み方法
JP5142692B2 (ja) 2007-12-11 2013-02-13 株式会社東芝 不揮発性半導体記憶装置
JP2009238874A (ja) 2008-03-26 2009-10-15 Toshiba Corp 半導体メモリ及びその製造方法
JP2009266944A (ja) 2008-04-23 2009-11-12 Toshiba Corp 三次元積層不揮発性半導体メモリ
JP5283960B2 (ja) 2008-04-23 2013-09-04 株式会社東芝 三次元積層不揮発性半導体メモリ
JP2009266349A (ja) * 2008-04-28 2009-11-12 Toshiba Corp 不揮発性半導体記憶装置
JP2010009646A (ja) 2008-06-24 2010-01-14 Toshiba Memory Systems Co Ltd 半導体記憶装置
JP5459999B2 (ja) 2008-08-08 2014-04-02 株式会社東芝 不揮発性半導体記憶素子、不揮発性半導体装置及び不揮発性半導体素子の動作方法
JP2010129104A (ja) 2008-11-25 2010-06-10 Samsung Electronics Co Ltd 不揮発性半導体記憶装置
JP2010199235A (ja) 2009-02-24 2010-09-09 Toshiba Corp 不揮発性半導体記憶装置
JP4750906B2 (ja) * 2009-04-30 2011-08-17 Powerchip株式会社 Nandフラッシュメモリデバイスのプログラミング方法
WO2010136007A2 (de) * 2009-05-29 2010-12-02 Forschungszentrum Jülich GmbH Speicherelement, stapelung, speichermatrix und verfahren zum betreiben
US9535473B2 (en) 2009-10-30 2017-01-03 Apple Inc. Compensating for aging in integrated circuits
JP2012069205A (ja) 2010-09-22 2012-04-05 Toshiba Corp 不揮発性半導体記憶装置
JP2012252740A (ja) 2011-06-02 2012-12-20 Toshiba Corp 不揮発性半導体記憶装置
KR101939235B1 (ko) * 2011-08-03 2019-01-17 삼성전자 주식회사 비휘발성 메모리 장치 및 그것의 프로그램 방법
KR20150094129A (ko) * 2014-02-10 2015-08-19 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법

Also Published As

Publication number Publication date
CN108665928B (zh) 2022-05-27
CN108665928A (zh) 2018-10-16
TW201835909A (zh) 2018-10-01
US10418118B2 (en) 2019-09-17
US20190355430A1 (en) 2019-11-21
US10622079B2 (en) 2020-04-14
US20180277230A1 (en) 2018-09-27
TWI638363B (zh) 2018-10-11

Similar Documents

Publication Publication Date Title
EP3494576B1 (en) Reducing hot electron injection type of read disturb during read recovery phase in 3d memory
CN108573728B (zh) 半导体存储装置及存储器系统
JP6400547B2 (ja) メモリデバイス
US10978157B2 (en) Memory system having semiconductor memory device that performs verify operations using various verify voltages
JP2020004470A (ja) 半導体記憶装置
CN107195326B (zh) 半导体存储装置及存储系统
US10217519B2 (en) Semiconductor memory device having a controller configured to execute an intervening operation after a program operation and before a verify operation for that program operation
JP2018125052A (ja) 半導体記憶装置
JP2016152052A (ja) 半導体記憶装置
JP2017054562A (ja) 半導体記憶装置
US10360978B2 (en) Semiconductor memory device for performing coding program and operating method thereof
KR102407575B1 (ko) 메모리 장치 및 그 동작 방법
JP2018037123A (ja) 半導体記憶装置及びメモリシステム
JP2015176623A (ja) 半導体記憶装置及びメモリコントローラ
US10614887B2 (en) Nonvolatile memory device and method of programming the same
JP2018113084A (ja) 半導体記憶装置
JP2017208152A (ja) 半導体記憶装置及びメモリシステム
TW201732836A (zh) 半導體記憶裝置
TWI638363B (zh) Memory device and memory system
JP2017162526A (ja) 記憶装置
JP2018156702A (ja) 半導体記憶装置及びメモリシステム
JP2017168155A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170525

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20180831