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

半導体記憶装置 Download PDF

Info

Publication number
JP2019029045A
JP2019029045A JP2017144465A JP2017144465A JP2019029045A JP 2019029045 A JP2019029045 A JP 2019029045A JP 2017144465 A JP2017144465 A JP 2017144465A JP 2017144465 A JP2017144465 A JP 2017144465A JP 2019029045 A JP2019029045 A JP 2019029045A
Authority
JP
Japan
Prior art keywords
data
read
memory cell
write
write operation
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
JP2017144465A
Other languages
English (en)
Inventor
幸一郎 山口
Koichiro Yamaguchi
幸一郎 山口
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 JP2017144465A priority Critical patent/JP2019029045A/ja
Priority to EP17919092.1A priority patent/EP3660850A4/en
Priority to CN201780093008.9A priority patent/CN110914908B/zh
Priority to PCT/JP2017/038204 priority patent/WO2019021498A1/ja
Priority to TW109119264A priority patent/TWI717290B/zh
Priority to TW106137742A priority patent/TWI698869B/zh
Publication of JP2019029045A publication Critical patent/JP2019029045A/ja
Priority to US16/749,704 priority patent/US11158645B2/en
Priority to US17/480,300 priority patent/US11706916B2/en
Priority to US18/138,820 priority patent/US20230301086A1/en
Pending legal-status Critical Current

Links

Classifications

    • 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/40Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the peripheral circuit region
    • H10B41/41Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the peripheral circuit region of a memory region comprising a cell select transistor, e.g. NAND
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • 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
    • 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/30Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region
    • H10B41/35Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region with a cell select transistor, e.g. NAND
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/30EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region
    • H10B43/35EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region with cell select transistors, e.g. NAND
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/20Suspension of programming or erasing cells in an array in order to read other cells in it

Abstract

【課題】信頼性を向上できる。【解決手段】実施形態によれば、半導体記憶装置は、第1メモリセルMTを含む第1メモリストリングSRと、ビット線BLと、ラッチ回路ADLを含むセンスアンプ20と、第1メモリセルMTの書き込み動作中に書き込み動作を中断して第1メモリセルの読み出し動作を実行可能な制御回路15とを含む。第1メモリセルMTの書き込み動作を中断して実行される第1メモリセルMTの読み出し動作において、センスアンプ20は、第1メモリセルMTの書き込みが終了している場合、第1メモリセルMTから読み出したデータを読み出しデータRDとして出力し、第1メモリセルMTの書き込みが終了していない場合、ラッチ回路ADLが保持する書き込みデータWDを読み出しデータRDとして出力する。【選択図】 図14

Description

本発明の実施形態は、半導体記憶装置に関する。
半導体記憶装置として、NAND型フラッシュメモリが知られている。
米国特許6,249,461 B1号明細書 米国特許9,093,132 B2号明細書 特開2003−233992号公報
信頼性を向上できる半導体記憶装置を提供する。
実施形態に係る半導体記憶装置は、第1メモリセル及び第1メモリセルに接続された第1選択トランジスタを含む第1メモリストリングと、第2メモリセル及び第2メモリセルに接続された第2選択トランジスタを含む第2メモリストリングと、第1及び第2メモリセルのゲートに接続されたワード線と、第1選択トランジスタのゲートに接続された第1選択ゲート線と、第2選択トランジスタのゲートに接続された第2選択ゲート線と、第1及び第2選択トランジスタに接続されたビット線と、ワード線、第1選択ゲート線、及び第2選択ゲート線に接続されたロウデコーダと、ビット線に接続され、書き込みデータを保持可能なラッチ回路を含むセンスアンプと、第1メモリセルの書き込み動作中に第1メモリセルの読み出し命令を受信した場合、書き込み動作を中断して第1メモリセルの読み出し動作を実行可能な制御回路と、を含む。第1メモリセルの書き込み動作を中断して実行される第1メモリセルの読み出し動作において、センスアンプは、第1メモリセルへの書き込みデータの書き込みが終了している場合、第1メモリセルから読み出したデータを読み出しデータとして出力し、第1メモリセルへの書き込みデータの書き込みが終了していない場合、ラッチ回路が保持する書き込みデータを読み出しデータとして出力する。
図1は、第1実施形態に係る半導体記憶装置を備えるメモリシステムのブロック図である。 図2は、第1実施形態に係る半導体記憶装置のブロック図である。 図3は、第1実施形態に係る半導体記憶装置の備えるメモリセルアレイの回路図である。 図4は、第1実施形態に係る半導体記憶装置の備えるセンスアンプ及びデータレジスタのブロック図である。 図5は、第1実施形態に係る半導体記憶装置の備えるセンスアンプユニットの回路図である。 図6は、第1実施形態に係る半導体記憶装置の備えるメモリセルトランジスタの閾値分布図である。 図7は、第1実施形態に係る半導体記憶装置を備えるメモリシステムにおける読み出し動作のときの各種信号のタイミングチャートである。 図8は、第1実施形態に係る半導体記憶装置における読み出し動作のときの各種配線及び各種信号のタイミングチャートである。 図9は、第1実施形態に係る半導体記憶装置を備えるメモリシステムの書き込み動作のときのフローチャートである。 図10は、第1実施形態に係る半導体記憶装置における書き込み動作のときのフローチャートである。 図11は、第1実施形態に係る半導体記憶装置における書き込み動作のときのフローチャートである。 図12は、第1実施形態に係る半導体記憶装置を備えるメモリシステムにおける書き込み動作のときの各種信号のタイミングチャートである。 図13は、第1実施形態に係る半導体記憶装置を備えるメモリシステムにおけるフルシーケンスのフローチャートである。 図14は、第1実施形態に係る半導体記憶装置における書き込み動作のときの各種配線のタイミングチャートである。 図15は、第1実施形態に係る半導体記憶装置を備えるメモリシステムにおける同一ページサスペンドリードを含む書き込み動作の例を示すタイミングチャートである。 図16は、第1実施形態に係る半導体記憶装置における書き込み動作において、ラッチ回路SDL、ADL、BDL、CDL、及びXDLが保持するデータの例を示す図である。 図17は、第1実施形態に係る半導体記憶装置における書き込み動作において、ラッチ回路SDL、ADL、BDL、CDL、及びXDLが保持するデータの例を示す図である。 図18は、第1実施形態に係る半導体記憶装置における書き込み動作において、ラッチ回路SDL、ADL、BDL、CDL、及びXDLが保持するデータの例を示す図である。 図19は、第1実施形態に係る半導体記憶装置における書き込み動作において、ラッチ回路SDL、ADL、BDL、CDL、及びXDLが保持するデータの例を示す図である。 図20は、第1実施形態に係る半導体記憶装置における書き込み動作において、ラッチ回路SDL、ADL、BDL、CDL、及びXDLが保持するデータの例を示す図である。 図21は、第1実施形態に係る半導体記憶装置における書き込み動作において、ラッチ回路SDL、ADL、BDL、CDL、及びXDLが保持するデータの例を示す図である。 図22は、第2実施形態に係る半導体記憶装置を備えるメモリシステムの書き込み動作のときのフローチャートである。 図23は、第2実施形態に係る半導体記憶装置における書き込み動作のときのフローチャートである。 図24は、第2実施形態に係る半導体記憶装置における書き込み動作のときのフローチャートである。 図25は、第2実施形態に係る半導体記憶装置を備えるメモリシステムにおける書き込み動作のときの各種信号のタイミングチャートである。 図26は、第2実施形態に係る半導体記憶装置を備えるメモリシステムにおける同一ページサスペンドリードを含む書き込み動作の例を示すタイミングチャートである。 図27は、第4実施形態に係る半導体記憶装置において、第1書き込み動作及び第2書き込み動作のときのメモリセルトランジスタの閾値分布を示す図である。 図28は、第4実施形態に係る半導体記憶装置を備えるメモリシステムの書き込み動作のときのフローチャートである。 図29は、第4実施形態に係る半導体記憶装置における書き込み動作のときのフローチャートである。 図30は、第4実施形態に係る半導体記憶装置における書き込み動作のときのフローチャートである。 図31は、第4実施形態に係る半導体記憶装置において、第1書き込み動作のときにラッチ回路ADL、BDL、及びCDLが保持するデータの例を示す図である。 図32は、第4実施形態に係る半導体記憶装置において、第2書き込み動作のときにラッチ回路ADL、BDL、及びCDLが保持するデータの例を示す図である。
以下、実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
1.第1実施形態
第1実施形態に係る半導体記憶装置について説明する。以下では半導体記憶装置として、メモリセルトランジスタが半導体基板上方に三次元に積層された三次元積層型NAND型フラッシュメモリを例に挙げて説明する。
本実施形態に係る半導体記憶装置は、データの書き込み動作途中で、外部機器から、例えば読み出し命令があると、書き込み動作を一旦中断(以下、「サスペンド」とも表記する)し、読み出し動作を実行後に、書き込み動作を再開(以下、「レジューム」とも表記する)する機能を有する。また、以下の説明において、「同じデータ」と記載した場合、必ずしも厳密に一致していなくても良く、例えばECC技術等により訂正可能な誤差を許容するものである。
1.1 構成について
1.1.1 メモリシステムの全体構成について
まず、本実施形態に係る半導体記憶装置を備えるメモリシステムの全体構成について、図1を用いて説明する。
図1に示すように、メモリシステム1は、NAND型フラッシュメモリ100及びコントローラ200を備えている。コントローラ200及びNAND型フラッシュメモリ100は、例えばそれらの組み合わせにより一つの半導体記憶装置を構成しても良く、その例としてはSDTMカードのようなメモリカードや、SSD(solid state drive)等が挙げられる。
NAND型フラッシュメモリ100は、複数のメモリセルトランジスタを備え、データを不揮発に記憶する。NAND型フラッシュメモリ100は、NANDバスによってコントローラ200と接続され、コントローラ200からの命令に基づいて動作する。より具体的には、NAND型フラッシュメモリ100は、コントローラ200と、例えば8ビットの信号DQ0〜DQ7(以下、DQ0〜DQ7を限定しない場合は、単に信号DQ、または信号DQ[7:0]と表記する)の送受信を行う。信号DQ0〜DQ7には、例えばデータ、アドレス、及びコマンドが含まれる。また、NAND型フラッシュメモリ100は、コントローラ200から、例えばチップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、及びリードイネーブル信号REnを受信する。そして、NAND型フラッシュメモリ100はコントローラ200に、レディ/ビジー信号R/Bnを送信する。
チップイネーブル信号CEnは、NAND型フラッシュメモリ100をイネーブルにするための信号であり、例えばLow(“L”)レベルでアサートされる。コマンドラッチイネーブル信号CLEは、信号DQがコマンドであることを示す信号であり、例えばHigh(“H”)レベルでアサートされる。アドレスラッチイネーブル信号ALEは、信号DQがアドレスであることを示す信号であり、例えば“H”レベルでアサートされる。ライトイネーブル信号WEnは、受信した信号をNAND型フラッシュメモリ100内へ取り込むための信号であり、コントローラ200よりコマンド、アドレス、及びデータ等を受信する度に、例えば“L”レベルでアサートされる。よって、WEnがトグルされる度に、信号DQがNAND型フラッシュメモリ100に取り込まれる。リードイネーブル信号REnは、コントローラ200が、NAND型フラッシュメモリ100からデータを読み出すための信号である。リードイネーブル信号REnは、例えば“L”レベルでアサートされる。レディ/ビジー信号R/Bnは、NAND型フラッシュメモリ100がビジー状態であるかレディ状態であるか(コントローラ200からコマンドを受信不可能な状態か可能な状態か)を示す信号であり、例えばNAND型フラッシュメモリ100がビジー状態の際に“L”レベルとされる。
コントローラ200は、ホスト機器2からの命令に応答して、NAND型フラッシュメモリ100に対してデータの読み出し、書き込み、消去等を命令する。また、コントローラ200は、NAND型フラッシュメモリ100のメモリ空間を管理する。
コントローラ200は、ホストインターフェイス回路210、内蔵メモリ(RAM)220、プロセッサ(CPU)230、バッファメモリ240、NANDインターフェイス回路250、及びECC回路260を含む。
ホストインターフェイス回路210は、コントローラバスを介してホスト機器2と接続され、ホスト機器2との通信を司る。ホストインターフェイス回路210は、プロセッサ230及びバッファメモリ240に、ホスト機器2から受信した命令及びデータを転送する。また、ホストインターフェイス回路210は、プロセッサ230の命令に応答して、バッファメモリ240内のデータをホスト機器2へ転送する。
NANDインターフェイス回路250は、NANDバスを介してNAND型フラッシュメモリ100と接続され、NAND型フラッシュメモリ100との通信を司る。NANDインターフェイス回路250は、NAND型フラッシュメモリ100にプロセッサ230から受信した命令を転送する。また、NANDインターフェイス回路250は、書き込み時には、NAND型フラッシュメモリ100に、バッファメモリ240内の書き込みデータを転送する。更に、NANDインターフェイス回路250は、読み出し時には、バッファメモリ240に、NAND型フラッシュメモリ100から読み出されたデータを転送する。
プロセッサ230は、コントローラ200全体の動作を制御する。また、プロセッサ230は、ホスト機器2の命令に応じて、各種コマンドを発行し、NAND型フラッシュメモリ100に送信する。例えば、プロセッサ230は、ホスト機器2から書き込み命令を受信した際には、それに応答して、NAND型フラッシュメモリ100に書き込み命令を送信する。読み出し及び消去の際も同様である。また、プロセッサ230は、ウェアレベリング等、NAND型フラッシュメモリ100を管理するための様々な処理を実行する。更に、プロセッサ230は、各種の演算を実行する。例えば、プロセッサ230は、データの暗号化処理やランダマイズ処理等を実行する。
ECC回路260は、データの誤り訂正(ECC:Error Checking and Correcting)処理を実行する。
内蔵メモリ220は、例えばDRAM等の半導体メモリであり、プロセッサ230の作業領域として使用される。そして内蔵メモリ220は、NAND型フラッシュメモリ100を管理するためのファームウェアや、各種の管理テーブル等を保持する。
1.1.2 半導体記憶装置の構成について
次に、半導体記憶装置の構成について、図2を用いて説明する。なお、図2では各ブロック間の接続の一部を矢印線で示しているが、ブロック間の接続はこれに限定されない。
図2に示すように、NAND型フラッシュメモリ100は、入出力回路10、ロジック制御回路11、ステータスレジスタ12、アドレスレジスタ13、コマンドレジスタ14、シーケンサ15、レディ/ビジー回路16、電圧発生回路17、メモリセルアレイ18、ロウデコーダ19、センスアンプ20、データレジスタ21、及びカラムデコーダ22を含む。
入出力回路10は、コントローラ200との信号DQの入出力を制御する。より具体的には、入出力回路10は、入力回路と出力回路を備える。入力回路は、コントローラ200から受信したデータDAT(書き込みデータWD)を、データレジスタ21に送信し、アドレスADDをアドレスレジスタ13に送信し、コマンドCMDをコマンドレジスタ14に送信する。出力回路は、ステータスレジスタ12から受信したステータス情報STS、データレジスタ21から受信したデータDAT(読み出しデータRD)、及びアドレスレジスタ13から受信したアドレスADDをコントローラ200に送信する。
ロジック制御回路11は、コントローラ200から例えばチップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、及びリードイネーブル信号REnを受信する。そしてロジック制御回路11は、受信した信号に応じて、入出力回路10及びシーケンサ15を制御する。
ステータスレジスタ12は、例えばデータの書き込み、読み出し、及び消去動作におけるステータス情報STSを一時的に保持し、コントローラ200に動作が正常に終了したか否かを通知する。
アドレスレジスタ13は、入出力回路10を介してコントローラ200から受信したアドレスADDを一時的に保持する。そしてアドレスレジスタ13は、ロウアドレスRAをロウデコーダ19へ転送し、カラムアドレスCAをカラムデコーダ22に転送する。
コマンドレジスタ14は、入出力回路10を介してコントローラ200から受信したコマンドCMDを一時的に保存し、シーケンサ15に転送する。
シーケンサ15は、NAND型フラッシュメモリ100全体の動作を制御する。より具体的には、シーケンサ15は、コマンドレジスタ14が保持するコマンドCMDに応じて、例えばステータスレジスタ12、レディ/ビジー回路16、電圧発生回路17、ロウデコーダ19、センスアンプ20、データレジスタ21、及びカラムデコーダ22等を制御し、書き込み動作、読み出し動作、及び消去動作等を実行する。また、シーケンサ15は、レジスタ(不図示)を含む。例えば、レジスタは、書き込み動作をサスペンドしたときのサスペンド情報を保持する。シーケンサ15は、レジスタが保持するサスペンド情報に基づいて、書き込み動作をレジュームする。
レディ/ビジー回路16は、シーケンサ15の動作状況に応じて、レディ/ビジー信号R/Bnをコントローラ200に送信する。
電圧発生回路17は、シーケンサ15の制御に応じて、書き込み動作、読み出し動作、及び消去動作に必要な電圧を発生させ、この発生した電圧を例えばメモリセルアレイ18、ロウデコーダ19、及びセンスアンプ20等に供給する。ロウデコーダ19及びセンスアンプ20は、電圧発生回路17より供給された電圧をメモリセルアレイ18内のメモリセルトランジスタに印加する。
メモリセルアレイ18は、ロウ及びカラムに対応付けられた不揮発性のメモリセルトランジスタ(以下、「メモリセル」とも表記する)を含む複数のブロックBLK(BLK0、BLK1、…、BLK(L−1))(Lは2以上の整数)を備えている。各々のブロックBLKは、複数のストリングユニットSU(SU0、SU1、SU2、SU3、…)を含む。そして各々のストリングユニットSUは、複数のNANDストリングSRを含む。なお、メモリセルアレイ18内のブロックBLK数及びブロックBLK内のストリングユニットSU数は任意である。メモリセルアレイ18の詳細については後述する。
ロウデコーダ19は、ロウアドレスRAをデコードする。ロウデコーダ19は、デコード結果に基づき、ブロックBLKのいずれかを選択し、更にいずれかのストリングユニットSUを選択する。そして、ロウデコーダ19は、必要な電圧をブロックBLKに印加する。
センスアンプ20は、読み出し動作のときには、メモリセルアレイ18から読み出されたデータをセンスする。そして、センスアンプ20は、読み出しデータRDをデータレジスタ21に送信する。また、センスアンプ20は、書き込み動作のときには、書き込みデータWDをメモリセルアレイ18に送信する。
データレジスタ21は、複数のラッチ回路を備える。ラッチ回路は、書き込みデータWD及び読み出しデータRDを保持する。例えば書き込み動作において、データレジスタ21は、入出力回路10から受信した書き込みデータWDを一時的に保持し、センスアンプ20に送信する。また例えば、読み出し動作において、データレジスタ21は、センスアンプ20から受信した読み出しデータRDを一時的に保持し、入出力回路10に送信する。
カラムデコーダ22は、例えば書き込み動作、読み出し動作、及び消去動作の際、カラムアドレスCAをデコードし、デコード結果に応じてデータレジスタ21内のラッチ回路を選択する。
1.1.3 メモリセルアレイの構成について
次に、メモリセルアレイ18の構成について、図3を用いて説明する。図3の例は、ブロックBLK0を示しているが、他のブロックBLKの構成も同じである。
図3に示すように、ブロックBLK0は、例えば4つのストリングユニットSU(SU0〜SU3)を含む。そして、各々のストリングユニットSUは、複数のNANDストリングSRを含む。NANDストリングSRの各々は、例えば8個のメモリセルトランジスタMT0〜MT7、並びに選択トランジスタST1及びST2を含んでいる。以下、メモリセルトランジスタMT0〜MT7を限定しない場合は、メモリセルトランジスタMTと表記する。メモリセルトランジスタMTは、制御ゲートと電荷蓄積層とを備え、データを不揮発に保持する。
なお、メモリセルトランジスタMTは、電荷蓄積層に絶縁膜を用いたMONOS型であっても良いし、電荷蓄積層に導電層を用いたFG型であっても良い。以下、本実施形態では、MONOS型を例として説明する。また、メモリセルトランジスタMTの個数は8個に限られず、16個や32個、64個、128個等であってもよく、その数は限定されるものではない。更に、選択トランジスタST1及びST2の個数は、任意であり、それぞれ1個以上あれば良い。
メモリセルトランジスタMTは、選択トランジスタST1のソースと選択トランジスタST2のドレインとの間に直列接続されている。より具体的には、メモリセルトランジスタMT0〜MT7は、その電流経路が直列に接続される。そしてメモリセルトランジスタMT7のドレインは、選択トランジスタST1のソースに接続され、メモリセルトランジスタMT0のソースは、選択トランジスタST2のドレインに接続されている。
ストリングユニットSU0〜SU3の各々における選択トランジスタST1のゲートは、選択ゲート線SGD0〜SGD3にそれぞれ接続される。同様に、ストリングユニットSU0〜SU3の各々における選択トランジスタST2のゲートは、選択ゲート線SGS0〜SGS3にそれぞれ接続される。以下、選択ゲート線SGD0〜SGD3を限定しない場合は、選択ゲート線SGDと表記する。選択ゲート線SGS0〜SGS3を限定しない場合は、選択ゲート線SGSと表記する。なお、各ストリングユニットSUの選択ゲート線SGS0〜SGS3は共通に接続されても良い。
ブロックBLK内にあるメモリセルトランジスタMT0〜MT7の制御ゲートは、それぞれワード線WL0〜WL7に共通接続される。以下、ワード線WL0〜WL7を限定しない場合は、ワード線WLと表記する。
ストリングユニットSU内にある各NANDストリングSRの選択トランジスタST1のドレインは、それぞれ異なるビット線BL0〜BL(N−1)(Nは2以上の整数)に接続される。以下、ビット線BL0〜BL(N−1)を限定しない場合は、ビット線BLと表記する。各ビット線BLは、複数のブロックBLK間で各ストリングユニットSU内にある1つのNANDストリングSRを共通に接続する。更に、複数の選択トランジスタST2のソースは、ソース線SLに共通に接続されている。つまり、ストリングユニットSUは、異なるビット線BLに接続され、且つ同一の選択ゲート線SGD及びSGSに接続されたNANDストリングSRの集合体である。またブロックBLKは、ワード線WLを共通にする複数のストリングユニットSUの集合体である。そしてメモリセルアレイ18は、ビット線BLを共通にする複数のブロックBLKの集合体である。
データの書き込み及び読み出しは、いずれかのストリングユニットSUにおけるいずれかのワード線WLに接続されたメモリセルトランジスタMTに対して、一括して行われる。以下、データの書き込み及び読み出しの際、一括して選択されるメモリセルトランジスタMTの群を「メモリセルグループMCG」と呼ぶ。そして、1つのメモリセルグループMCGに書き込まれる、または読み出される1ビットのデータの集まりを「ページ」と呼ぶ。
データの消去は、ブロック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号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
更に、メモリセルアレイ18の構成は、他の構成であっても良い。すなわちメモリセルアレイ18の構成については、例えば、“三次元積層不揮発性半導体メモリ(THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY)”という2009年3月19日に出願された米国特許出願12/407,403号に記載されている。また、“三次元積層不揮発性半導体メモリ(THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY)”という2009年3月18日に出願された米国特許出願12/406,524号、“不揮発性半導体記憶装置及びその製造方法(NON-VOLATILE SEMICONDUCTOR STORAGE DEVICE AND METHOD OF MANUFACTURING THE SAME)”という2010年3月25日に出願された米国特許出願12/679,991号“半導体メモリ及びその製造方法(SEMICONDUCTOR MEMORY AND METHOD FOR MANUFACTURING SAME)”という2009年3月23日に出願された米国特許出願12/532,030号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
1.1.4 センスアンプおよびデータレジスタの構成
次に、センスアンプ20およびデータレジスタ21の構成について、図4を用いて説明する。
図4に示すように、センスアンプ20は、各ビット線BL0〜BL(N−1)に対応して設けられたセンスアンプユニットSAU0〜SAU(N−1)を含む。各センスアンプユニットSAUは、センス回路SA、ラッチ回路SDL、ADL、BDL、及びCDLを含む。センス回路SA、ラッチ回路SDL、ADL、BDL、及びCDLは、互いにデータを送受信可能なように接続されている。
センス回路SAは、読み出し動作時には対応するビット線BLに読み出されたデータをセンスし、データが“0”データであるか“1”データであるかを判断する。また書き込み動作時には、書き込みデータWDに基づいてビット線BLに電圧を印加する。
ラッチ回路SDL、ADL、BDL、及びCDLは、例えば、書き込みデータWDを一時的に保持する。なお、センスアンプユニットSAUの構成はこれに限定されず、種々の変更が可能である。センスアンプユニットSAUが備えるラッチ回路の個数は、例えば1つのメモリセルトランジスタMTが保持するデータのビット数に基づいて任意に変更可能である。
データレジスタ21は、各センスアンプユニットSAUに対応して設けられた複数のラッチ回路XDLを含む。ラッチ回路XDLは、センスアンプユニットSAUから受信した読み出しデータRD及び入出力回路10から受信した書き込みデータWDを一時的に保持する。より具体的には、入出力回路10が受信した書き込みデータWDは、ラッチ回路XDLを介して、ラッチ回路SDL、ADL、BDL、CDL、またはセンス回路SAのいずれかに転送される。また、センスアンプユニットSAUから受信した読み出しデータRDは、ラッチ回路XDLを介して入出力回路10に転送される。
1.1.5 センスアンプユニットの構成について
次に、センスアンプユニットSAUの構成の詳細について、図5を用いて説明する。なお、本実施形態では、ビット線BLを流れる電流をセンスする電流センス方式のセンスアンプユニットSAUを例に説明するが、電圧センス方式のセンスアンプユニットSAUを用いても良い。以下の説明において、トランジスタのソースまたはドレインの一方を「トランジスタの一端」と呼び、ソースまたはドレインの他方を「トランジスタの他端」と呼ぶ。
図5に示すように、センスアンプユニットSAUは、センス回路SA、4個のラッチ回路(SDL、ADL、BDL、及びCDL)、プリチャージ回路30、及びバススイッチ32を含む。
センス回路SAは、高耐圧nチャネルMOSトランジスタ40、低耐圧nチャネルMOSトランジスタ41〜50、低耐圧pチャネルMOSトランジスタ51、及び容量素子52を備えている。
トランジスタ40のゲートに信号BLSが入力される。トランジスタ40の一端は対応するビット線BLに接続され、トランジスタ40の他端はノードBLIに接続される。
トランジスタ41のゲートには、信号BLCが入力される。トランジスタ41の一端はノードBLIに接続され、トランジスタ41の他端はノードSCOMに接続される。トランジスタ41は、対応するビット線BLを、信号BLCに応じた電位にクランプするためのものである。
トランジスタ42のゲートには、信号BLXが入力される。トランジスタ42の一端はノードSCOMに接続され、トランジスタ42の他端はノードSSRCに接続される。
トランジスタ43のゲートは、ノードINV_Sに接続される。トランジスタ43の一端はノードSSRCに接続され、トランジスタ43の他端はノードSRCGNDに接続される。ノードSRCGNDには、例えば接地電圧VSSが印加される。
トランジスタ51のゲートは、ノードINV_Sに接続される。トランジスタ51の一端に電源電圧VDDSAが印加され、トランジスタ51の他端はノードSSRCに接続される。
トランジスタ44のゲートには、信号XXLが入力される。トランジスタ44の一端はノードSCOMに接続され、トランジスタ44の他端はノードSENに接続される。
トランジスタ45のゲートには、信号HLLが入力される。トランジスタ45の一端には電圧VSENPが印加され、トランジスタ45の他端はノードSENに接続される。
容量素子52の一方の電極は、ノードSENに接続され、容量素子52の他方の電極にはクロック信号CLKが入力される。
トランジスタ47のゲートは、ノードSENに接続される。トランジスタ47の一端はトランジスタ48の一端に接続され、トランジスタ47の他端にはクロック信号CLKが入力される。トランジスタ47は、ノードSENの電圧をセンスするセンストランジスタとして機能する。
トランジスタ48のゲートには、信号STBが入力される。トランジスタ48の他端はバスLBUSに接続される。
トランジスタ46のゲートには、信号BLQが入力される。トランジスタ46の一端はノードSENに接続され、トランジスタ46の他端はバスLBUSに接続される。例えば、バスLBUSを介して、ノードSENを充電する場合、あるいは、ラッチ回路SDL、ADL、BDL、CDL、またはXDLのデータをノードSENに転送する場合、トランジスタ46はオン状態とされる。
トランジスタ49のゲートは、バスLBUSに接続される。トランジスタ49の一端はトランジスタ50の一端に接続され、トランジスタ49の他端には電圧VLSAが印加される。電圧VLSAは、例えば接地電圧VSSであっても良い。
トランジスタ50のゲートには、信号LSLが入力される。トランジスタ50の他端はノードSENに接続される。
データの書き込み時には、センス回路SAは、ラッチ回路SDLの保持データに応じて、ビット線BLを制御する。ラッチ回路ADL、BDL、及びCDLは、例えば、個々のメモリセルトランジスタが2ビット以上のデータを保持する多値動作用に使用される。
ラッチ回路SDLは、低耐圧nチャネルMOSトランジスタ60〜63及び低耐圧pチャネルMOSトランジスタ64〜67を備えている。
トランジスタ60のゲートには、信号STLが入力される。トランジスタ60の一端はバスLBUSに接続され、トランジスタ60の他端はノードLAT_Sに接続される。
トランジスタ61のゲートには、信号STIが入力される。トランジスタ61の一端はバスLBUSに接続され、トランジスタ61の他端はノードINV_Sに接続される。
トランジスタ62のゲートは、ノードINV_Sに接続される。トランジスタ62の一端は接地され、トランジスタ62の他端はノードLAT_Sに接続される。
トランジスタ63のゲートは、ノードLAT_Sに接続される。トランジスタ63の一端は接地され、トランジスタ63の他端はノードINV_Sに接続される。
トランジスタ64のゲートは、ノードINV_Sに接続される。トランジスタ64の一端はノードLAT_Sに接続され、トランジスタ64の他端はトランジスタ66の一端に接続される。
トランジスタ65のゲートは、ノードLAT_Sに接続される。トランジスタ65の一端はノードINV_Sに接続され、トランジスタ65の他端はトランジスタ67の一端に接続される。
トランジスタ66のゲートには、信号SLLが入力される。トランジスタ66の他端には電源電圧VDDSAが印加される。
トランジスタ67のゲートには信号SLIが入力される。トランジスタ67の他端には電源電圧VDDSAが印加される。
ラッチ回路SDLでは、トランジスタ62、64で第1インバータが構成され、トランジスタ63、65で第2インバータが構成されている。ラッチ回路SDLは、データをノードLAT_Sで保持し、その反転データをノードINV_Sで保持する。
ラッチ回路ADL、BDL、及びCDLは、ラッチ回路SDLと同様の構成を有しているので、説明は省略するが、各トランジスタの参照番号及び信号名は、図5の通りラッチ回路SDLのものとは区別して以下説明する。ラッチ回路SDLのトランジスタ60〜67が、ラッチ回路ADLのトランジスタ70〜77、ラッチ回路BDLのトランジスタ80〜87、及びラッチ回路TDLのトランジスタ90〜97にそれぞれ相当する。そして各センスアンプユニットSAUにおいて、センス回路SA、並びに4個のラッチ回路SDL、ADL、BDL、及びCDLは、互いにデータを送受信可能なようにバスLBUSによって接続されている。
プリチャージ回路30は、バスLBUSをプリチャージする。プリチャージ回路30は、例えば低耐圧nチャネルMOSトランジスタ31を含む。トランジスタ31のゲートには、信号LPCが入力される。トランジスタ31の一端はバスLBUSに接続され、トランジスタ31の他端には電圧VHLBが印加される。そしてプリチャージ回路30は、バスLBUSに電圧VHLBを転送することで、バスLBUSをプリチャージする。
バススイッチ32は、バスLBUSとバスDBUSとを接続する。すなわち、バススイッチ32は、センス回路SAとラッチ回路XDLとを接続する。バススイッチ32は、例えば低耐圧nチャネルMOSトランジスタ33を含む。トランジスタ33のゲートには、信号DSWが入力される。トランジスタ33の一端はバスLBUSに接続され、トランジスタ33の他端はバスDBUSを介してラッチ回路XDLに接続される。
なお、上記構成のセンスアンプユニットSAUにおける各種信号は、例えばシーケンサ15によって与えられる。
1.2 メモリセルトランジスタの閾値分布について
次に、本実施形態に係るメモリセルトランジスタMTの取り得る閾値分布について、図6を用いて説明する。以下、本実施形態では、メモリセルトランジスタMTが8値(3ビット)のデータを保持可能な場合について説明するが、保持可能なデータは8値に限定されない。本実施形態においては、メモリセルトランジスタMTが2値以上のデータ(1ビット以上のデータ)を保持可能であれば良い。
図示するように、各々のメモリセルトランジスタMTの閾値電圧は、離散的な例えば8個の分布のいずれかに含まれる値を取る。以下、8個の分布を閾値電圧の低い順にそれぞれ、“Er”レベル、“A”レベル、“B”レベル、“C”レベル、“D”レベル、“E”レベル、“F”レベル、及び“G”レベルと呼ぶ。
“Er”レベルは、例えばデータの消去状態に相当する。そして“A”〜“G”レベルは、電荷蓄積層に電荷が注入されてデータが書き込まれた状態に相当する。書き込み動作において、各閾値分布に対応するベリファイ電圧をAV、BV、CV、DV、EV、FV、GVとする。すると、これらの電圧値は、AV<BV<CV<DV<EV<FV<GVの関係にある。
より具体的には、“Er”レベルに含まれる閾値電圧は電圧AV未満である。“A”レベルに含まれる閾値電圧は、電圧AV以上であり、且つ電圧BV未満である。“B”レベルに含まれる閾電圧値は、電圧BV以上であり、且つ電圧CV未満である。“C”レベルに含まれる閾値電圧は、電圧CV以上であり、且つ電圧DV未満である。“D”レベルに含まれる閾値電圧は、電圧DV以上であり、且つ電圧EV未満である。“E”レベルに含まれる閾値電圧は、電圧EV以上であり、且つ電圧FV未満である。“F”レベルに含まれる閾値電圧は、電圧FV以上であり、且つ電圧GV未満である。そして、“G”レベルに含まれる閾値電圧は、電圧GV以上である。
以上のように、各メモリセルトランジスタMTは、8個の閾値分布のいずれかを有することで、8種類の状態を取ることができる。これらの状態を、2進数表記で“000”〜“111”に割り当てることで、各メモリセルトランジスタMTは3ビットのデータを保持できる。以下、3ビットのデータをそれぞれ、上位ビット、中位ビット、及び下位ビットと呼ぶ。また、メモリセルグループMCGに一括して書き込まれる(または読み出される)上位ビットの集合を上位ページ、中位ビットの集合を中位ページ、下位ビットの集合を下位ページと呼ぶ。
図6の例では、各閾値分布に含まれるメモリセルトランジスタMTに対して、以下に示すようにデータを割り付ける。
“Er”レベル:“111”(“上位ビット/中位ビット/下位ビット”)データ
“A”レベル:“110”データ
“B”レベル:“100”データ
“C”レベル:“000”データ
“D”レベル:“010”データ
“E”レベル:“011”データ
“F”レベル:“001”データ
“G”レベル:“101”データ
例えば、書き込み動作において、下位ビットのデータは、センスアンプユニットSAUのラッチ回路ADLに格納され、中位ビットのデータは、ラッチ回路BDLに格納され、上位ビットのデータは、ラッチ回路CDLに格納される。
以上で説明した閾値分布に対して読み出し電圧は、隣り合う閾値分布の間にそれぞれ設定される。例えば、あるメモリセルトランジスタMTが“Er”レベルの閾値電圧を有するか“A”レベル以上の閾値電圧を有するかを判定するための読み出し電圧ARは、“Er”レベルにおける最大の閾値電圧と“A”レベルにおける最小の閾値電圧との間に設定される。あるメモリセルトランジスタMTが“A”レベルの閾値電圧を有するか“B”レベル以上の閾値電圧を有するかを判定するための読み出し電圧BRは、“A”レベルにおける最大の閾値電圧と“B”レベルにおける最小の閾値電圧との間に設定される。その他の読み出し電圧CR、DR、ER、FR、及びGRも、読み出し電圧AR及びBRと同様に設定される。読み出し電圧AR、BR、CR、DR、ER、FR、及びGRは、AR<BR<CR<DR<ER<FR<GRの関係にある。そして、“G”レベルの閾値分布における最大の閾値電圧よりも高い電圧に、電圧VREADが設定される。電圧VREADは、読み出し動作のときに非選択ワード線WLに印加される電圧であり、制御ゲートに電圧VREADが印加されたメモリセルトランジスタMTは、保持するデータに依らずにオン状態になる。
そして、読み出し動作において下位ページのデータは、電圧AR及びERを用いた読み出し結果によって確定する。中位ページのデータは、電圧BR、DR、及びFRを用いた読み出し結果によって確定する。上位ページのデータは、電圧CR及びGRを用いた読み出し結果によって確定する。つまり下位ページのデータ、中位ページのデータ、及び上位ページのデータはそれぞれ、2回、3回、及び2回の読み出し動作によって確定する。以下、このようなデータの割り付けのことを“232コード”と呼ぶ。
なお、各閾値分布の間にそれぞれ設定された各種ベリファイ電圧と各種読み出し電圧としては、同じ電圧値を設定しても良いし、異なる電圧値を設定しても良い。
更に、図6では8個のレベルが離散的に分布する場合を例に説明したが、これは例えばデータの書き込み直後の理想的な状態である。従って、現実的には隣接するレベルが重なることが起こり得る。例えばデータの書き込み後、ディスターブ等により“Er”レベルの上端と“A”レベルの下端とが重なる場合がある。このような場合には、例えばECC技術等を用いてデータが訂正される。
更に、“Er”〜“G”レベルへのデータの割り付けは、232コードに限定されない。
1.3 読み出し動作について
次に、読み出し動作について説明する。読み出し動作は、大まかに、ページ読み出しとキャッシュ読み出しとを含む。ページ読み出しは、メモリセルトランジスタMTからデータレジスタ21(ラッチ回路XDL)にデータを読み出す動作であり、キャッシュ読み出しは、データレジスタ21からコントローラ200にデータを読み出す動作である。
1.3.1 読み出し動作におけるコントローラの動作について
まず、読み出し動作におけるコントローラの動作について、図7を用いて説明する。図7の例は、説明を簡略化するため、通常状態(書き込み動作の中断及び再開を含まない)における読み出し動作を示している。
図7に示すように、まず、コントローラ200は、下位ページ(“01h”)、中位ページ(“02h”)、または上位ページ(“03h”)のいずれかを指定するコマンド及びページ読み出しを実行することを通知するコマンド“00h”をNAND型フラッシュメモリ100に送信するとともに、コマンドラッチイネーブル信号CLEを“H”レベルにしてアサートする。
次に、コントローラ200は、アドレス“ADD”を送信すると共に、アドレスラッチイネーブル信号ALEを“H”レベルにしてアサートする。なお、図7の例では、カラムアドレスCAを2サイクル送信した後、ロウアドレスRAを3サイクル送信する場合を示しているが、カラムアドレスCA及びロウアドレスRAのサイクルは任意に設定可能である。また、ページを指定するコマンド01h、02h、及び03hが省略され、カラムアドレスCAが下位ページ、中位ページ、及び上位ページに対応するページアドレスを含んでいても良い。
更にコントローラ200は、ページ読み出しの実行を指示するページリードコマンド“30h”を送信すると共に、コマンドラッチイネーブル信号CLEを“H”レベルにしてアサートする。
NAND型フラッシュメモリ100は、ページリードコマンド“30h”に応じて、ビジー状態となり(R/Bn=“L”)、ページ読み出しを開始する。NAND型フラッシュメモリ100は、データレジスタ21(ラッチ回路XDL)へのデータの読み出しが終了するとレディ状態となり、信号R/Bnは“H”レベルとされる。
コントローラ200は、信号R/Bnが“H”レベル(レディ状態)に復帰したのを確認すると、キャッシュ読み出しを実行することを通知するコマンド“05h”をNAND型フラッシュメモリ100に送信するとともに、コマンドラッチイネーブル信号CLEを“H”レベルにしてアサートする。
次に、コントローラ200は、アドレス“ADD”として、カラムアドレスCAを2サイクル送信し、ロウアドレスRAを3サイクル送信すると共に、アドレスラッチイネーブル信号ALEを“H”レベルにしてアサートする。なお、キャッシュ読み出しにおいては、ロウアドレスRAが省略されても良い。
次に、コントローラ200は、キャッシュ読み出しの実行を指示するキャッシュリードコマンド“E0h”を送信すると共に、コマンドラッチイネーブル信号CLEを“H”レベルにしてアサートする。
NAND型フラッシュメモリ100は、キャッシュリードコマンド“E0h”に応じて、キャッシュ読み出しを開始する。より具体的には、NAND型フラッシュメモリ100は、コントローラ200から受信するリードイネーブル信号REnに基づいて、コントローラ200に読み出しデータRDを送信する。
1.3.2 ページ読み出しにおける各配線の電圧について
次に、ページ読み出しにおける各配線の電圧について、図8を用いて説明する。図8の例は説明を簡略化するため、1つのレベル(例えば“A”レベル)の読み出しを実行する場合を示している。例えば、複数のレベルのページ読み出しを実行する場合、選択ワード線WLには、各レベルに対応した読み出し電圧VCGRVが印加される。電圧VCGRVは、読み出し対象データの閾値レベルに応じた電圧である。より具体的には、下位ページの読み出しにおいて、“A”レベルと“E”レベルの読み出しが実行される。“A”レベルの読み出しのときには、選択ワード線WLに読み出し電圧VCGRVとして電圧ARが印加され、“E”レベルの読み出しのときには、選択ワード線WLに読み出し電圧VCGRVとして電圧ERが印加される。なお、書き込み動作で実行されるベリファイも同様の波形となり、選択ワード線WLの読み出し電圧VCGRVが、ベリファイレベルに応じて異なる。例えば“A”レベルのベリファイの場合、選択ワード線WLに読み出し電圧VCGRVとして電圧AVが印加される。
図8に示すように、時刻t1において、ロウデコーダ19は、選択ブロックBLKの選択ゲート線SGD及びSGSに電圧VSGを印加し、選択ワード線WLに電圧VCGRVを印加し、非選択ワード線WLに電圧VREADを印加する。電圧VSGは選択トランジスタST1及びST2をオン状態にする電圧である。電圧VCGRVと電圧VREADとは、VCGRV<VREADの関係にある。
時刻t2において、センスアンプ20は、ビット線BLを充電し(以下、「BLプリチャージ」と呼ぶ)、ビット線BLに電圧VBLRDを印加する。電圧VBLRDは読み出し動作時にビット線BLに印加される電圧である。
また、ソース線SLには、例えばソース線ドライバ(不図示)を介して、電圧VSRCが印加される。電圧VBLRDと電圧VSRCとは、VBLRD>VSRC(>VSS)の関係にある。
時刻t3において、シーケンサ15は、信号HLLを“H”レベルにして、トランジスタ45をオン状態にする。これにより、センスアンプユニットSAU内においてノードSENに電圧VSENPが印加される。
時刻t4において、シーケンサ15は、信号HLLを“L”レベルにし、ノードSENをフローティング状態にする。そして、シーケンサ15は、クロック信号CLKに“H”レベルの電圧を印加する(以下、「クロックアップ」と呼ぶ)。この結果、容量素子52は充電され、ノードSENの電圧は、容量カップリングの影響により電圧VBSTに上昇する。電圧VBSTは、クロックアップにより上昇したノードSENの電圧であり、電圧VSENPよりも高い電圧である。
時刻t5〜t6の期間、シーケンサ15は、センスを実行する。より具体的には、時刻t5〜t6の間、シーケンサ15は、信号XXLを“H”レベルにしてトランジスタ44をオン状態にする。この状態において、読み出し対象となるメモリセルトランジスタMTの閾値電圧がターゲットレベル以上の場合、メモリセルトランジスタMTはオフ状態(以下、「オフセル(off-cell)」と呼ぶ)とされ、対応するビット線BLからソース線SLに電流はほとんど流れない。よって、ノードSEN及び容量素子52に充電された電荷はほとんど放電されず、ノードSENの電圧はほとんど変動しない。他方で、読み出し対象となるメモリセルトランジスタMTの閾値電圧がターゲットレベル未満の場合、メモリセルトランジスタMTはオン状態(以下、「オンセル(on-cell)」と呼ぶ)となり、対応するビット線BLからソース線SLに電流が流れる。すなわち、ノードSENの電圧が低下していく。
時刻t6において、シーケンサ15は、信号XXLを“L”レベルにしてトランジスタ44をオフ状態にする。そして、シーケンサ15は、クロック信号CLKに“L”レベルの電圧を印加する(以下、「クロックダウン」と呼ぶ)。この結果、容量カップリングの影響により、ノードSENの電圧は低下する。
時刻t7〜t8の期間、シーケンサ15は、ノードSENの電圧をストローブする。より具体的には、シーケンサ15は、信号STBを“H”レベルにし、トランジスタ48をオン状態にする。この状態において、ノードSENの電圧がセンストランジスタ47の閾値電圧(判定レベル)以上の場合、対応するセンストランジスタ47は、オン状態にされる。この結果、予め“H”レベルとされていたバスLBUSは“L”レベルとされる。
他方で、ノードSENの電圧がセンストランジスタ47の閾値電圧(判定レベル)よりも低い場合、センストランジスタ47は、オフ状態にされる。この結果、予め“H”レベルとされていたバスLBUSは“H”レベルを維持する。
そして、例えば、ラッチ回路SDLのトランジスタ61がオン状態とされ、バスLBUSの反転データがラッチ回路SDLに転送される。すなわち、ノードSENが“H”レベルの場合、ラッチ回路SDLには“H”レベルのデータ(“1”データ)が格納され、ノードSENが“L”レベルの場合、ラッチ回路SDLには“L”レベルのデータ(“0”データ)が格納される。
時刻t8において、また、リカバリ処理が行われ、読み出し動作が終了する。
なお、複数のレベルの読み出しを実行する場合、レベル毎に時刻t2〜t8が繰り返される。この場合、各レベルに応じた電圧VCGRVが設定される。
1.4 書き込み動作について
次に、書き込み動作について説明する。コントローラ200は、NAND型フラッシュメモリ100に書き込み命令を送信する場合、通常のライトコマンドまたはキャッシュライトコマンドのいずれかをNAND型フラッシュメモリ100に送信する。NAND型フラッシュメモリ100は、通常のライトコマンドを受信した場合、メモリセルアレイ18に書き込みデータWDを書き込んでいる期間、信号R/Bnを“L”レベル(ビジー状態)にする。
他方で、NAND型フラッシュメモリ100は、キャッシュライトコマンドを受信した場合、書き込み動作開始からデータレジスタ21がセンスアンプ20への書き込みデータWDの転送を終了するまでの期間、信号R/Bnを“L”レベルにする。すなわち、NAND型フラッシュメモリ100は、データレジスタ21(ラッチ回路XDL)が使用可能になると、メモリセルアレイ18への書き込み動作中においても“H”レベル(レディ状態)の信号R/Bnをコントローラ200に送信し、次のコマンドを受信可能な状態とする。本実施形態では、コントローラ200がキャッシュライトコマンドを送信した場合について説明する。
書き込み動作は、大まかにはプログラムとベリファイとを含む。そして、プログラムとベリファイとの組み合わせ(以下、「プログラムループ」と呼ぶ)を繰り返すことで、メモリセルトランジスタMTの閾値電圧がターゲットレベルまで上昇される。
プログラムは、電子を電荷蓄積層に注入することにより閾値電圧を上昇させる(または注入を禁止することで閾値電圧を維持させる)動作のことである。以下では、閾値電圧を上昇させる動作を「“0”プログラム」または「“0”書き込み」と呼び、“0”プログラム対象とされたビット線BLには、センスアンプ20から“0”データに対応する電圧(例えば電圧VSS)が与えられる。他方で、閾値電圧を維持させる動作を「“1”プログラム」、「“1”書き込み」、または「書き込み禁止」と呼び、“1”プログラム対象とされたビット線BLには、センスアンプ20から“1”データに対応する電圧(以下、「電圧VBL」と表記する)が与えられる。以下、“0”プログラムに対応するビット線をBL(“0”)と表記し、“1”プログラムに対応するビット線をBL(“1”)と表記する。
ベリファイは、プログラムの後、データを読み出し、メモリセルトランジスタMTの閾値電圧が目標とするターゲットレベルに達したか否かを判定する動作である。以下、メモリセルトランジスタMTの閾値電圧がターゲットレベルに達している場合を、「ベリファイをパスした」と呼び、ターゲットレベルまで達していない場合を、「ベリファイをフェイルした」と呼ぶ。
また、書き込み動作には、下位ページ、中位ページ、及び上位ページのデータを別々に書きこむ場合と、下位ページ、中位ページ、及び上位ページのデータを一括して書き込む場合がある(以下、「フルシーケンス書き込み」と呼ぶ)。本実施形態では、フルシーケンス書き込みを適用した場合について説明する。
1.4.1 メモリシステムにおける書き込み動作の全体の流れについて
まず、メモリシステムにおける書き込み動作の全体の流れについて、図9を用いて説明する。
図9に示すように、コントローラ200のホストインターフェイス回路210は、ホスト機器2から書き込み命令を受信する(ステップS1)。
この書き込み命令に応答して、コントローラ200は、NANDインターフェイス回路250を介してNAND型フラッシュメモリ100に、書き込み命令(キャッシュライトコマンド、アドレスADD、及び書き込みデータWD)を送信する(ステップS2)。
すると、NAND型フラッシュメモリ100のシーケンサ15は、書き込み命令に基づいて信号R/Bnを“L”レベル(ビジー状態)とし(ステップS3)、書き込み動作を開始する(ステップS4)。
シーケンサ15は、データレジスタ21からセンスアンプ20への書き込みデータWDの送信が終了し、データレジスタ21(ラッチ回路XDL)が使用可能な状態になると、信号R/Bnを“H”レベル(レディ状態)とする(ステップS5)。シーケンサ15は、信号R/Bnを“H”レベルにした後、プログラムを開始し、プログラムループを繰り返す。
コントローラ200は、書き込み動作実行中に、ホスト機器2より例えば読み出し命令を受信する(ステップS6)。コントローラ200は、信号R/Bnが“H”レベル(レディ状態)に復帰したのを確認すると、NAND型フラッシュメモリ100に、ページ読み出し命令(ページリードコマンド、アドレスADD)を送信する(ステップS7)。
シーケンサ15は、ページ読み出し命令に応じて、書き込み動作を中断する(ステップS8)。このとき、シーケンサ15は、例えばシーケンサ15内のレジスタにサスペンド情報を保存する。なお、シーケンサ15は、コントローラ200にサスペンド情報を送信しても良い。
シーケンサ15は、信号R/Bnを“L”レベル(ビジー状態)とし(ステップS9)、サスペンドリードを実行する(ステップS10)。
具体的には、書き込み対象のページアドレスと読み出し対象のページアドレスが同じ場合、以下の動作が行われる。書き込み動作が終了しているメモリセルトランジスタMTに対応するラッチ回路XDLには、読み出しデータRDとして、メモリセルトランジスタMTから読み出されたデータが格納される。他方で、書き込み動作が終了していないメモリセルトランジスタMTに対応するラッチ回路XDLには、読み出しデータRDとして、ラッチ回路ADL、BDL、またはCDLに格納されている書き込みデータWDが格納される。例えば、センスアンプ20は、下位ページの読み出しの場合、ラッチ回路ADLに格納されている下位ページの書きこみデータWDをラッチ回路XDLに転送する。同様に、センスアンプ20は、中位ページの読み出しの場合、ラッチ回路BDLに格納されている中位ページの書きこみデータWDをラッチ回路XDLに転送し、上位ページの読み出しの場合、ラッチ回路CDLに格納されている上位ページの書きこみデータWDをラッチ回路XDLに転送する。これにより、ラッチ回路XDLには書き込みデータWDと同じデータが格納される。
また、書き込み対象のページアドレスと読み出し対象のページアドレスが異なる場合、通常のページ読み出しと同様に、メモリセルトランジスタMTから読み出されたデータがラッチ回路XDLに格納される。
以下、書き込み対象のページアドレスと読み出し対象のページアドレスが同じ場合のページ読み出しを「同一ページサスペンドリード」と呼び、書き込み対象のページアドレスと読み出し対象のページアドレスが異なる場合のページ読み出しを「ノーマルサスペンドリード」と呼ぶ。
シーケンサ15は、サスペンドリードが終了すると、信号R/Bnを“H”レベル(レディ状態)とし(ステップS11)、サスペンド情報に基づいて書き込み動作を再開する(ステップS12)。
コントローラ200は、信号R/Bnが“H”レベル(レディ状態)に復帰したのを確認すると、NAND型フラッシュメモリ100に、キャッシュ読み出し命令(キャッシュリードコマンド、アドレスADD)を送信する(ステップS13)。
シーケンサ15は、書き込み動作実行中においても、キャッシュ読み出し命令に応じて、データレジスタ21が保持する読み出しデータRDをコントローラ200に送信する(ステップS14)。
コントローラ200は、読み出しデータRDのECC処理を実行した後、ホスト機器2にECC訂正処理後の読み出しデータRDを送信する(ステップS15)。ホスト機器2は、コントローラ200からECC訂正処理後の読み出しデータRDを受信する(ステップS16)。
1.4.2 NAND型フラッシュメモリにおける書き込み動作の全体の流れについて
次に、NAND型フラッシュメモリ100における書き込み動作の全体の流れについて、図10及び図11を用いて説明する。図10及び図11の例では、ベリファイ後に書き込み動作を中断し、プログラムから書き込み動作を再開する場合について説明する。なお、ベリファイ後に書き込み動作を中断した場合においても、ベリファイから書き込み動作を再開しても良い。更には、プログラム後に書き込み動作を中断しても良く、この場合、ベリファイから書き込み動作を再開しても良い。
図10に示すように、NAND型フラッシュメモリ100は、コントローラ200から書き込み命令(キャッシュライトコマンド、アドレスADD、及び書き込みデータWD)を受信する(ステップS101)。
シーケンサ15は、書き込み命令に応じて、信号R/Bnを“L”レベル(ビジー状態)とし(ステップS102)、書き込み動作を開始する(ステップS103)。より具体的には、シーケンサ15は、データレジスタ21に格納された書き込みデータWDを、センスアンプ20に送信する。書き込みデータWDが下位ページのデータの場合、書き込みデータWDはラッチ回路ADLに格納される。同様に、中位ページのデータは、ラッチ回路BDLに格納され、上位ページのデータは、ラッチ回路CDLに格納される。
シーケンサ15は、データレジスタ21(ラッチ回路XDL)からセンスアンプ20への書き込みデータWDの送信が終了し、データレジスタ21が使用可能な状態になると、信号R/Bnを“H”レベル(レディ状態)とする(ステップS104)
次に、シーケンサ15は、プログラムを実行する(ステップ105)。より具体的には、センスアンプ20は、ラッチ回路ADL、BDL、及びCDLのデータを演算した結果を、プログラムデータとしてラッチ回路SDLに格納する。そして、センスアンプ20は、ラッチ回路SDLが保持するデータに基づいてプログラムを開始する。ラッチ回路SDLに“0”データが格納されている場合、すなわちノードLAT_Sが“L”レベルの場合、“0”プログラムに対応してビット線BL(“0”)に電圧VSSが印加される。他方で、ラッチ回路SDLに“1”データが格納されている場合、すなわちノードLAT_Sが“H”レベルの場合、“1”プログラムに対応してビット線BL(“1”)に電圧VBL(>VSS)が印加される。ロウデコーダ19は、選択ブロックBLKにおいて、いずれかのワード線WLを選択し、選択ワード線WLにプログラム電圧として電圧VPGMを印加し、非選択ワード線WLに電圧VPASSを印加する。電圧VPGMは、電子を電荷蓄積層に注入するための高電圧である。例えば、1回目のプログラムにおいて、ロウデコーダ19は選択ワード線WLに電圧VPGMを印加する。電圧VPASSは、メモリセルトランジスタMTの閾値電圧によらず、メモリセルトランジスタMTをオン状態にする電圧である。電圧VPGMと電圧VPASSとは、VPGM>VPASSの関係にある。これにより、対象となるメモリセルトランジスタMTに“1”または“0”データが書き込まれる。
次に、シーケンサ15は、ベリファイを実行する(ステップS106)。より具体的には、シーケンサ15は、メモリセルトランジスタMTの閾値電圧がベリファイ電圧Vpfy以上の場合、すなわち、ベリファイをパスした場合、ラッチ回路SDLに、例えば“1”データを格納する。他方で、メモリセルトランジスタMTの閾値電圧がベリファイ電圧Vpfyよりも低い場合、すなわち、ベリファイをフェイルした場合、ラッチ回路SDLに、例えば“0”データを格納する。ベリファイ電圧Vpfyは、図8の読み出し電圧VCGRVに相当する。例えば、“A”レベルのベリファイを実行する場合、ベリファイ電圧Vpfyとして電圧AVが印加される。ベリファイをパスした場合、シーケンサ15は、ラッチ回路ADL、BDL、及びCDLに“1”データを格納する。
シーケンサ15は、コントローラ200からページ読み出し命令(ページリードコマンド及びアドレスADD)を受信した場合(ステップS107_Yes)、書き込み動作を中断する(ステップS108)。
他方で、シーケンサ15は、コントローラ200からページ読み出し命令を受信していない場合(ステップS107_No)、書き込み動作を継続する。
シーケンサ15は、書き込み動作を中断した後(ステップS108)、信号R/Bnを“L”レベルにする(ステップ109)。
図11に示すように、書き込み命令のアドレスADDとページ読み出し命令のアドレスADDが同じページの場合(ステップS110_Yes)、シーケンサ15は、同一ページサスペンドリードを実行する。
同一ページサスペンドリードにおいて、シーケンサ15は、まずページ読み出しを実行する(ステップ111)。より具体的には、ロウデコーダ19は、選択ブロックBLKの選択ワード線WLに電圧VCGRVを印加し、非選択ワード線WLに電圧VREADを印加する。この状態でセンスアンプ20は、各ビット線BLに流れる電流をセンスして、メモリセルトランジスタMTのデータを読み出す。そしてセンスアンプ20は、読み出したデータをラッチ回路XDLに転送する。
次に、センスアンプ20は、読み出し対象となるメモリセルトランジスタMTが書き込み未了(書き込み未了セル)である場合、ラッチ回路XDLに、ラッチ回路ADL、BDL、またはCDLの書き込みデータWDを送信する(ステップS112)。従って、書き込み動作が終了しているメモリセルトランジスタMTに対応するラッチ回路XDLには、読み出しデータRDとしてメモリセルトランジスタMTのデータが格納される。他方で、書き込み動作が終了していないメモリセルトランジスタMTに対応するラッチ回路XDLには、読み出しデータRDとして書き込みデータWDが格納される。すなわち、ラッチ回路XDLには、書き込みデータWDと同じデータが読み出しデータRDとして格納される。
書き込み命令のアドレスADDとページ読み出し命令のアドレスADDが同じページではない場合(ステップS110_No)、シーケンサ15は、ノーマルサスペンドリード、すなわち通常のページ読み出しを実行する(ステップS113)。この場合、各ラッチ回路XDLには、読み出しデータRDとしてメモリセルトランジスタMTのデータが格納される。
シーケンサ15は、サスペンドリードが終了すると、信号R/Bnを“H”レベル(レディ状態)とし(ステップS114)、サスペンド情報に基づいて書き込み動作を再開する(ステップS115)。
また、シーケンサ15は、信号R/Bnを“H”レベル(レディ状態)とした後(ステップS114)、コントローラ200からキャッシュ読み出し命令(キャッシュリードコマンド及びアドレスADD)を受信する(ステップS116)。シーケンサ15は、書き込み動作を再開した状態においても、データレジスタ21(ラッチ回路XDL)の読み出しデータRDをコントローラ200に送信する(ステップS117)。
また、シーケンサ15は、書き込み動作を再開する(ステップS115)。
シーケンサ15は、ベリファイをパスしている場合(ステップ118_Yes)、書き込み動作を終了させる。より具体的には、シーケンサ15は、ベリファイをフェイルしたビット数(メモリセルトランジスタ数)をカウントし、フェイルビット数が規定値未満の場合、ベリファイをパスしたと判定し、書き込み動作を終了させる。
また、シーケンサ15は、ベリファイをフェイルした場合(ステップS118_No)、プログラムループが予め設定された規定回数に達したか確認する(ステップS119)。
プログラムループが規定回数に達している場合(ステップS119_Yes)、シーケンサ15は、書き込み動作を終了させ、書き込み動作が正常に終了しなかった旨をコントローラ200に報告する。
プログラムループが規定回数に達していない場合(ステップS119_No)、シーケンサ15は、プログラム電圧をステップアップさせる(ステップS120)。より具体的には、シーケンサ15は、プログラムループを繰り返す度にプログラム電圧を電圧ΔVだけステップアップさせる。例えば1回目のプログラムにおけるプログラム電圧をVPGMとすると、2回目のプログラムにおけるプログラム電圧はVPGM+ΔVであり、3回目のプログラムにおけるプログラム電圧はVPGM+2ΔVである。すなわち、m回目(mは1以上の整数)のプログラムにおけるプログラム電圧は、VPGM+(m−1)ΔVである。
プログラム電圧をステップアップさせた後(ステップS120)、ステップS105に戻り、次のプログラムループが実行される。このとき、ロウデコーダ19は、選択ワード線WLにステップアップさせたプログラム電圧を印加する。
シーケンサ15は、ベリファイをパスするか、プログラムループが規定回数に達するまで、プログラムループを繰り返す。
1.4.3 書き込み動作におけるコントローラの動作について
次に、書き込み動作におけるコントローラ200の動作ついて、図12を用いて説明する。図12の例は、コントローラ200が下位ページ、中位ページ、または上位ページのいずれかの書き込み動作においてキャッシュライトコマンドを送信する場合を示している。
図12に示すように、まず、コントローラ200は、下位ページ(“01h”)、中位ページ(“02h”)、または上位ページ(“03h”)を指定するコマンド及び書き込み動作を実行することを通知するコマンド“80h”をNAND型フラッシュメモリ100に送信するとともに、コマンドラッチイネーブル信号CLEを“H”レベルにしてアサートする。
次に、コントローラ200は、アドレス“ADD”を送信すると共に、アドレスラッチイネーブル信号ALEを“H”レベルにしてアサートする。なお、図12の例では、カラムアドレスCAを2サイクル送信した後、ロウアドレスRAを3サイクル送信する場合を示しているが、カラムアドレス及びロウアドレスのサイクルは任意に設定可能である。また、ページを指定するコマンド01h、02h、及び03hが省略され、カラムアドレスCAが下位ページ、中位ページ、及び上位ページに対応するページアドレスを含んでいても良い。
次に、コントローラ200は、書き込みデータ“WD”を必要なサイクル数送信する。
更にコントローラ200は、書き込み実行を指示するキャッシュライトコマンド“15h”を送信すると共に、コマンドラッチイネーブル信号CLEを“H”レベルにしてアサートする。
ライトコマンド“15h”に応答して、NAND型フラッシュメモリ100は、書き込み動作を開始し、ビジー状態となる(R/Bn=“L”)。
データレジスタ21からセンスアンプ20への書き込みデータWDの転送が終了し、データレジスタ21(ラッチ回路XDL)が使用可能な状態になると、NAND型フラッシュメモリ100はレディ状態となり、信号R/Bnは“H”レベルとされる。
信号R/Bnが“H”レベルとされた後、シーケンサ15はプログラムループを繰り返して、メモリセルトランジスタMTにデータを書き込む。
1.4.4 フルシーケンス書き込みにおけるコントローラの動作について
次に、フルシーケンス書き込みにおけるコントローラ200の動作ついて、図13を用いて説明する。図13の例は、フルシーケンス書き込みにおいて、下位ページ、中位ページ、上位ページの順に書き込みデータWDを送信する場合を示している。また、図13の例は、データDQ[7:0]及び信号R/Bnを示しており、信号CEn、CLE、ALE、WEn、REnは省略されている。なお、各ページのデータの送信順序は任意に設定可能である。
図13に示すように、コントローラ200は、下位ページの書きこみデータWDを送信するコマンドシーケンス(以下、「第1コマンドセット」と呼ぶ)として、下位ページを指定するコマンド“01h”、書き込み動作を実行することを通知するコマンド“80h”、カラムアドレスCA、ロウアドレスRA、下位ページの書きこみデータWD、及びコマンド“1Ah”を順に送信する。コマンド“1Ah”に応答して、NAND型フラッシュメモリ100は、ビジー状態となる(R/Bn=“L”)。そして、データレジスタ21(ラッチ回路XDL)からセンスアンプ20(ラッチ回路ADL)への下位ページの書き込みデータWDの送信が終了し、データレジスタ21が使用可能な状態になると、NAND型フラッシュメモリ100はレディ状態となり、信号R/Bnは“H”レベルとされる。
次に、コントローラ200は、信号R/Bnが“H”レベルに復帰したのを確認すると、中位ページの書きこみデータWDを送信するコマンドシーケンス(以下、「第2コマンドセット」と呼ぶ)として、中位ページを指定するコマンド“02h”、コマンド“80h”、カラムアドレスCA、ロウアドレスRA、中位ページの書きこみデータWD、及びセンスアンプ20へのデータ格納を指示するコマンド“1Ah”を送信する。コマンド“1Ah”に応答して、NAND型フラッシュメモリ100は、ビジー状態となる(R/Bn=“L”)。データレジスタ21からセンスアンプ20(ラッチ回路BDL)への中位ページの書き込みデータWDの送信が終了し、データレジスタ21が使用可能な状態になると、NAND型フラッシュメモリ100はレディ状態となり、信号R/Bnは“H”レベルとされる。
次に、コントローラ200は、信号R/Bnが“H”レベルに復帰したのを確認すると、上位ページの書きこみデータWDを送信するコマンドシーケンス(以下、「第3コマンドセット」と呼ぶ)として、上位ページを指定するコマンド“03h”、コマンド“80h”、カラムアドレスCA、ロウアドレスRA、上位ページの書きこみデータWD、及びライトコマンド“10h”を送信する。ライトコマンド“10h”に応答して、NAND型フラッシュメモリ100は、ビジー状態となる(R/Bn=“L”)。メモリセルトランジスタMTへの書き込み動作が終了すると、NAND型フラッシュメモリ100はレディ状態となり、信号R/Bnは“H”レベルとされる。
なお、ライトコマンド“10h”の代わりに、キャッシュライトコマンド“15h”を用いても良い。この場合、データレジスタ21からセンスアンプ20(ラッチ回路CDL)への上位ページの書き込みデータWDの送信が終了し、データレジスタ21が使用可能な状態になると、NAND型フラッシュメモリ100はレディ状態となり、信号R/Bnは“H”レベルとされる。
1.4.5 プログラム時の各配線の電圧について
次に、プログラム時の各配線の電圧について、図14を用いて説明する。図14の例は、1回目のプログラムループにおけるプログラムを示している。
図14に示すように、時刻t1において、センスアンプ20は、ビット線BL(“1”)に電圧VBLを印加し、BLプリチャージを開始する。より具体的には、ラッチ回路SDLに“1”データ(ノードLAT_Sに“H”レベルのデータ)が保持されている場合、ノードINV_Sは“L”レベルとなるため、トランジスタ51がオン状態となる。この状態において、信号BLS及びBLXが“H”レベルとされて、トランジスタ40及び42がオン状態とされる。そして、信号BLCが“H”レベルとされて、トランジスタ41のゲートに電圧“VBL+Vt41”(Vt41はトランジスタ41の閾値電圧)が印加されると、ビット線BL(“1”)に電圧VBLが印加される。他方で、ラッチ回路SDLに“0”データ(ノードLAT_Sに“L”レベルのデータ)が保持されている場合、ノードINV_Sは“H”レベルとなるため、トランジスタ43がオン状態とされる。ノードSRCGNDに電圧VSSが印加されている場合、対応するビット線BL(“0”)には電圧VSSが印加される。
ロウデコーダ19は、選択ブロックBLKにおいて、選択ストリングユニットSUの選択ゲート線SGD(参照符号“選択SGD”)に電圧VSD1を印加する。選択トランジスタST1の閾値電圧をVtsgとすると、電圧VSD1は、“VBL+Vtsg”以上の電圧で、選択トランジスタST1をオン状態とさせる電圧である。他方で、ロウデコーダ19は、非選択ストリングユニットSUの選択ゲート線SGD(参照符号“非選択SGD”)に電圧VSSを印加して、対応する選択トランジスタST1をオフ状態とさせる。また、ロウデコーダ19は、選択ストリングユニットSUおよび非選択ストリングユニットSUの選択ゲート線SGSに電圧VSSを印加して、選択トランジスタST2をオフ状態とさせる。
またソース線SLには、例えばソース線ドライバ(不図示)を介して、電圧VCELSRC(>VSS)が印加される。
時刻t2において、ロウデコーダ19は、選択ストリングユニットSUの選択ゲート線SGDに電圧VSD2を印加する。電圧VSD2は、電圧VSD1及び電圧VBLよりも低い電圧で、電圧VSSを印加された選択トランジスタST1はオンさせるが、電圧VBLを印加された選択トランジスタST1はカットオフさせる電圧である。これにより、ビット線BL(“1”)に対応するNANDストリングSRのチャネルはフローティング状態となる。
時刻t3において、ロウデコーダ19は、選択ストリングユニットSUの各ワード線WLに電圧VPASSを印加する。
時刻t4において、ロウデコーダ19は、選択ストリングユニットSUの選択ワード線WLに電圧VPGMを印加する。
ビット線BL(“0”)に対応するNANDストリングSRでは、選択トランジスタST1がオン状態となっているため、選択ワード線WLに接続されたメモリセルトランジスタMTのチャネル電位はVSSとなる。よって、制御ゲートとチャネルとの間の電位差(VPGM−VSS)が大きくなる。その結果、電子が電荷蓄積層に注入されて、ビット線BL(“0”)に対応するメモリセルトランジスタMTの閾値電圧が上昇される。
ビット線BL(“1”)に対応するNANDストリングSRでは、選択トランジスタST1がカットオフ状態となっているため、選択ワード線WLに接続されたメモリセルトランジスタMTのチャネルは電気的にフローティングとなる。すると、ワード線WL等との容量カップリングにより、チャネル電位は上昇する。よって、制御ゲートとチャネルとの間の電位差は、ビット線BL(“0”)に対応するメモリセルトランジスタMTよりも小さくなる。その結果、電子が電荷蓄積層にほとんど注入されず、ビット線BL(“1”)に対応するメモリセルトランジスタMTの閾値電圧は維持される(閾値分布レベルがより高い分布に遷移するほどには閾値電圧は変動しない)。
時刻t5において、ロウデコーダ19は、ワード線WLに電圧VSSを印加する。
時刻t6において、リカバリ処理が実行され、プログラムは終了する。
1.5 同一ページサスペンドリードの具体例について
次に、同一ページサスペンドリードを実行する場合の具体例について説明する。
1.5.1 書き込み動作の全体の流れの具体例について
まず、書き込み動作の全体の流れについて、図15を用いて説明する。図15の例は、2回目のプログラムループにおいてベリファイ終了後、書き込み動作を中断し、同一ページサスペンドリード実行後、書き込み動作を再開する場合を示している。また、図15の例は、ストリングユニットSU0のワード線WL0を選択して、フルシーケンス書き込み及び下位ページ読み出し動作を実行する場合を示している。なお、説明を簡略化するため、選択ワード線WLおよび選択ゲート線SGDに印加される電圧の一部は省略されている。
図15に示すように、時刻t0〜t1の期間において、コントローラ200は、フルシーケンス書き込みのコマンドシーケンスとして、図13で説明した第1コマンドセット、第2コマンドセット、及び第3コマンドセットをNAND型フラッシュメモリ100に送信する。
時刻t1において、シーケンサ15は、ライトコマンド“15h”に応じて、信号R/Bnを“L”レベルにし、書き込み動作を開始する。時刻t1〜t2の期間、書き込み動作のステータスは準備状態(参照符号“SETUP”)とされ、データレジスタ21は、センスアンプ20に書き込みデータWDを送信する。
時刻t2において、データレジスタ21からセンスアンプ20への書き込みデータWDの転送が終了すると、シーケンサ15は、信号R/Bnを“H”レベルにする。そして、時刻t2〜t3の期間、書き込み動作のステータスはプログラム状態(参照符号“PROG”)とされ、シーケンサ15は、1回目のプログラムを実行する。ロウデコーダ19は、選択ワード線WL0に電圧VPGMを印加し、選択ストリングユニットSU0の選択ゲート線SGD0に電圧VSD2を印加し、非選択ストリングユニットSU1〜SU3の選択ゲート線SGD1〜SGD3に電圧VSSを印加する。
時刻t3〜t4の期間、書き込み動作のステータスはベリファイ状態(参照符号“PVFY”)とされ、シーケンサ15は、1回目のベリファイを実行する。ロウデコーダ19は、選択ワード線WL0にベリファイ電圧Vpfyを印加し、選択ゲート線SGD0に電圧VSGを印加し、選択ゲート線SDG1〜SGD3に電圧VSSを印加する。なお、時刻t3〜t4の期間、複数のレベルのベリファイが実行されても良い。
時刻t4〜t5の期間、書き込み動作のステータスはプログラム状態とされ、シーケンサ15は、2回目のプログラムを実行する。ロウデコーダ19は、選択ワード線WL0にプログラム電圧VPGM+ΔVを印加する。他の動作は、時刻t2〜t3の期間と同じである。
時刻t5〜t6の期間、書き込み動作のステータスはベリファイ状態とされ、シーケンサ15は、2回目のベリファイを実行する。具体的な動作は、時刻t3〜t4の期間と同じである。
シーケンサ15は、時刻t2以降にコントローラ200から、同じメモリセルグループMCGの下位ページのページ読み出し命令(コマンド“01h”、“00h”、5サイクルのアドレスデータ“ADD”、及びページリードコマンド“30h”)を受信する。例えば、シーケンサ15は、時刻t5〜t6の期間にページリードコマンド“30h”を受信すると、時刻t6において、書き込み動作を中断し、信号R/Bnを“L”レベルにする。そして、時刻t6〜t7の期間、書き込み動作のステータスはサスペンドリード状態(参照符号“SPD−READ”)とされ、シーケンサ15は、同一ページサスペンドリードを実行する。ロウデコーダ19は、“A”レベルの読み出しの場合、書き込み動作と同じ選択ワード線WL0に電圧ARを印加し、“E”レベルの読み出しの場合、選択ワード線WL0に電圧ERを印加する。またロウデコーダは、“A”レベルと“E”レベルの読み出しの間、書き込み動作と同じ選択ゲート線SGD0に電圧VSGを印加し、選択ゲート線SGD1〜SGD3に電圧VSSを印加する。
例えば、ノーマルページリードにおいて、読み出し対象となるメモリセルトランジスタMTが、同じストリングユニットSU内の異なるメモリセルグループMCGである場合、読み出し動作における選択ワード線WLが書き込み動作における選択ワード線WL0と異なる。また、読み出し対象となるメモリセルトランジスタMTが、異なるストリングユニットSUにある場合、読み出し動作における選択ストリングユニットSUに対応する選択ゲート線SGDが、書き込み動作における選択ストリングユニットSUに対応する選択ゲート線SGD0と異なる。
時刻t7において、同一ページサスペンドリードが終了すると、シーケンサ15は、信号R/Bnを“H”レベルとし、書き込み動作を再開する。時刻t7〜t8の期間、書き込み動作のステータスはプログラム状態とされ、シーケンサ15は、3回目のプログラムを実行する。ロウデコーダ19は、選択ワード線WL0にプログラム電圧VPGM+2ΔVを印加する。他の動作は、時刻t2〜t3の期間と同じである。
時刻t8〜t9の期間、書き込み動作のステータスはベリファイ状態とされ、シーケンサ15は、3回目のベリファイを実行する。具体的な動作は、時刻t3〜t4の期間と同じである。
シーケンサ15は、プログラムループを繰り返し、時刻t10〜t11の期間、書き込み動作のステータスはプログラム状態とされ、シーケンサ15は、m回目のプログラムを実行する。ロウデコーダ19は、選択ワード線WL0にプログラム電圧VPGM+(m−1)ΔVを印加する。他の動作は、時刻t2〜t3の期間と同じである。
時刻t11〜t12の期間、書き込み動作のステータスはベリファイ状態とされ、シーケンサ15は、m回目のベリファイを実行する。具体的な動作は、時刻t3〜t4の期間と同じである。そして、シーケンサ15は、m回目のベリファイで、ベリファイをパスすると、時刻t12〜t13の期間、リカバリ処理を実行し、書き込み動作を終了する。
シーケンサ15は、時刻t7〜t13の期間に、キャッシュ読み出し命令(コマンド“05h”、5サイクルのアドレスデータ“ADD”、及びキャッシュリードコマンド“E0h”)を受信すると、書き込み動作を実行中であっても、読み出しデータRDをコントローラ200に送信する。
1.5.2 ラッチ回路が保持するデータの具体例について
次に、同一ページサスペンドリードにおいて、ラッチ回路SDL、ADL、BDL、CDL、及びXDLが保持するデータの具体例について、図16〜図21を用いて説明する。図16〜図21の例は、コントローラ200から下位ページ、中位ページ、上位ページの書き込みデータWDを受信し、プログラム、“A”レベルのベリファイ、及び“B”レベルのベリファイを実行した後、同一ページサスペンドリードを実行する場合を示している。なお、本例では、説明を簡略化するため、書き込みデータWDが“Er”レベル、“A”レベル、“B”レベル、及び“E”レベルの場合を示す。また、以下の説明において、ビット線BL0に対応するラッチ回路SDL、ADL、BDL、CDL、及びXDLを限定する場合、ラッチ回路SDL0、ADL0、BDL0、CDL0、及びXDL0とそれぞれ表記する。他のビット線BL1〜BL5についても同様である。
まず、図16に示すように、コントローラ200から受信した3ビットの書き込みデータWDは、ラッチ回路XDLを介して、ラッチ回路ADL、BDL、及びCDLにそれぞれ格納される。図16の例では、ビット線BL0に対応するラッチ回路ADL0、BDL0、及びCDL0に“Er”レベルのデータが格納され、ビット線BL1に対応するラッチ回路ADL1、BDL1、及びCDL1、並びにビット線BL2に対応するラッチ回路ADL2、BDL2、及びCDL2に“A”レベルのデータが格納される。更に、ビット線BL3に対応するラッチ回路ADL3、BDL3、及びCDL3、並びにビット線BL4に対応するラッチ回路ADL4、BDL4、及びCDL4に“B”レベルのデータが格納され、ビット線BL5に対応するラッチ回路ADL5、BDL5、及びCDL5に“E”レベルのデータが格納される。
そして、各センスアンプユニットSAUは、センス回路SAにおいて、ラッチ回路ADL、BDL、及びCDLのデータのAND演算(SDL=ADL&BDL&CDL)(“&”:AND演算を示す)を行い、その結果をプログラムデータとしてラッチ回路SDLに格納する。この結果、“1”データが“Er”レベルのデータに対応するラッチ回路SDLに格納される。また、“0”データが“A”〜“G”レベルのデータに対応するラッチ回路SDLに格納される。図16の例では、 “1”データがラッチ回路SDL0に格納され、“0”データがラッチ回路SDL1〜SDL5に格納される。
そして、ラッチ回路SDLのデータに応じて1回目のプログラムが実行される。すなわち“Er”レベルのデータに対応するセンスアンプユニットSAUでは、“1”プログラムが実行され、“A”〜“G”レベルのデータに対応するセンスアンプユニットSAUでは、“0”プログラムが実行される。
図17に示すように、次に、シーケンサ15は、“A”レベルのベリファイを実行する。なお、図17の例では、A”レベルのベリファイの対象外であるため、“Er”レベル、“B”レベル、“E”レベルに対応するラッチ回路SDLのデータを不定とし、説明を省略する。
より具体的には、まず“A”レベルのベリファイの結果が、センス回路SAのノードSENからラッチ回路SDLに転送される。ベリファイをパスした場合、“1”データがラッチ回路SDLに格納され、ベリファイ動作をフェイルした場合、“0”データがラッチ回路SDLに格納される。図17の例では、“0”データがラッチ回路SDL1に格納され、“1”データがラッチ回路SDL2に格納される。
次に、センスアンプ20は、各レベルのベリファイに対応して、以下に示す演算を行う。この結果、ベリファイをパスした場合、対応するラッチ回路ADL、BDL、及びCDLのデータは、“1”データとされる。なお、以下の演算式において、“|”はOR演算を示し、“/”は反転データを示す。また、各演算式において、右辺のラッチ回路ADL、BDL、及びCDLの値は、書き込みデータWDを示す。例えば、“B”レベルのベリファイの場合、まず、ラッチ回路SDLにSDL&(/ADL)&(/BDL)&CDLの演算結果が格納される。次に、ラッチ回路ADLとラッチ回路SDLのOR演算の結果がラッチ回路ADLに格納され、ラッチ回路BDLとラッチ回路SDLのOR演算の結果がラッチ回路BDLに格納される。
“A”レベルのベリファイ
ADL=ADL|(SDL&(/ADL)&BDL&CDL)
“B”レベルのベリファイ
ADL=ADL|(SDL&(/ADL)&(/BDL)&CDL)
BDL=BDL|(SDL&(/ADL)&(/BDL)&CDL)
“C”レベルのベリファイ
ADL=ADL|(SDL&(/ADL)&(/BDL)&(/CDL)
BDL=BDL|(SDL&(/ADL)&(/BDL)&(/CDL)
CDL=CDL|(SDL&(/ADL)&(/BDL)&(/CDL)
“D”レベルのベリファイ
ADL=ADL|(SDL&(/ADL)&BDL&(/CDL)
CDL=CDL|(SDL&(/ADL)&BDL&(/CDL)
“E”レベルのベリファイ
ADL=ADL|(SDL&ADL&BDL&(/CDL))
“F”レベルのベリファイ
BDL=BDL|(SDL&ADL&(/BDL)&(/CDL))
CDL=CDL|(SDL&ADL&(/BDL)&(/CDL))
“G”レベルのベリファイ
BDL=BDL|(SDL&ADL&(/BDL)&CDL)
図17の例では、上述の“A”レベルのベリファイに対応した演算が実行される。この結果、“1”データが、“A”ベリファイをパスしたメモリセルトランジスタMTに対応するラッチ回路ADL2に格納される。
図18に示すように、例えば、シーケンサ15は、“B”レベルのベリファイを実行する。1回のプログラムによる閾値電圧の上昇幅(書き込み速度)はメモリセルトランジスタMT毎にばらつくため、“A”レベルの書き込みが終了していないメモリセルトランジスタMTと、“B”レベルの書き込みが終了しているメモリセルトランジスタMTとが混在する場合がある。“B”レベルのベリファイの結果、“0”データがラッチ回路SDL3に格納され、“1”データがラッチ回路SDL4に格納される。そして、上述の“B”レベルのベリファイに対応した演算が実行される。この結果、“1”データが、“B”ベリファイをパスしたメモリセルトランジスタMTに対応するラッチ回路ADL4及びBDL4に格納される。
この段階で、ビット線BL2及びBL4に対応するメモリセルトランジスタMTは書き込み終了状態にあり、ビット線BL1、BL3、及びBL5に対応しているメモリセルトランジスタMTは書き込み未了状態にある。
図19に示すように、ベリファイ後、シーケンサ15は、書き込み動作を中断し、同一サスペンドリードを実行する。より具体的には、まず、シーケンサ15は、下位ページの読み出し(“A”レベルと“E”レベルの読み出し)を行い、その結果をラッチ回路SDLに格納する。より具体的には、シーケンサ15は、まず“A”レベルの読み出しを行う。このとき、“Er”レベルに対応するメモリセルトランジスタMTはオン状態にされ、ビット線BLからソース線SLに電流が流れる。このためノードSENは”L”レベルとされる。他方で、“A”〜“G”レベルに対応するメモリセルトランジスタMTはオフ状態にされ、ビット線BLからソース線SLに電流が流れない。このため、ノードSENは、“H”レベルを維持する。この結果、“Er”レベルに対応するラッチ回路SDLには、ノードSENの反転データである“1”データが格納され、“A”〜“G”レベルに対応するラッチ回路SDLには“0”データが格納される。次に、シーケンサ15は、“E”レベルの読み出しを行う。その結果、“Er”〜“D” レベルに対応するノードSENは”L”レベルとされ、“E”〜“G”レベルに対応するノードSENは、“H”レベルとされる。センスアンプ20は、ノードSENのデータとラッチ回路SDLのデータとのOR演算を行い、その結果をラッチ回路SDLに格納する。その結果、“Er”及び“E”〜“G”レベルに対応するラッチ回路SDLには“1”データが格納され、“A”〜“D”レベルに対応するラッチ回路SDLには、“0”データが格納される。図19の例では、このとき、“1”データがラッチ回路SDL0に格納され、“0”データがラッチ回路SDL2及びSDL4に格納される。書き込み未了のメモリセルトランジスタMTに対応するラッチ回路SDL1、SDL3、及びSDL5のデータは、不定とされる。そして、ラッチ回路SDLのデータがラッチ回路XDLに転送される。
図20に示すように、次に、シーケンサ15は、センスアンプ20において、XDL=XDL&ADL&BDL&CDLの演算を行い、書き込み未了のメモリセルトランジスタMTに対応するラッチ回路XDLに“0”データを格納する。図20の例では、“0”データが、ラッチ回路XDL1、XDL3、XDL5に格納される。
図21に示すように、次に、センスアンプ20は、読み出し対象となるページ対応して以下の演算を行う。この結果、“0”データを保持し(ラッチ回路XDL=0)且つ書き込み未了のメモリセルトランジスタMTに対応するラッチ回路XDLには、ラッチ回路ADL、BDL、またはCDLが保持する書き込みデータWDが格納される。
下位ページ:XDL=ADL&(/(ADL&BDL&CDL))|XDL
中位ページ:XDL=BDL&(/(ADL&BDL&CDL))|XDL
上位ページ:XDL=CDL&(/(ADL&BDL&CDL))|XDL
図21の例では、“Er”レベルに対応するラッチ回路XDL0および書き込み終了のメモリセルトランジスタMTに対応するラッチ回路XDL2及びXDL4には、メモリセルトランジスタMTから読み出されたデータが格納され、書き込み未了のメモリセルトランジスタMTに対応するラッチ回路XDL1、XDL3、及びXDL5には、ラッチ回路ADL1、ADL3、ADL5の書きこみデータWDがそれぞれ格納される。そして、ラッチ回路XDLに格納されたデータは、読み出しデータRDとして、コントローラ200に送信される。
1.6 本実施形態に係る効果について
本実施形態に係る構成であると、半導体記憶装置及びメモリシステムの信頼性を向上できる。以下、本効果について詳述する。
例えば、データセンタ向けのSSDでは、読み出し要求が来てから読み出し結果を返すまでの応答保障期間(QoS)のスペックが厳しい。このため、NAND型フラッシュメモリは、書き込み動作実行中であっても、書き込み動作の終了を待たずに、読み出し結果の送信を求められる場合がある。このような場合、NAND型フラッシュメモリは、書き込み動作を中断して、読み出し動作を実行する。しかし、書き込み対象となるページと読み出し対象となるページが同じ場合、書き込み途中のメモリセルトランジスタから読み出したデータは書き込みデータとは異なるため、コントローラに正しい(書き込みデータと同じ)データを送信することができない。
これに対し、本実施形態に係る構成では、書き込み対象となるページと同じページを読み出す際に、書き込みデータWDと同じデータをコントローラ200に送信することができる。より具体的には、メモリセルトランジスタMTへの書き込みが終了している場合、センスアンプ20は、データレジスタ21(ラッチ回路XDL)にメモリセルトランジスタMTから読み出したデータを送信する。他方で、メモリセルトランジスタMTへの書き込みが未了である場合、センスアンプ20は、データレジスタ21にセンスアンプ20のラッチ回路ADL、BDL、及びCDLが保持する書き込みデータWDを送信することができる。これにより、読み出しデータRDの信頼性を向上できる。よって、半導体記憶装置の信頼性を向上できる。
更に、書き込み動作の途中で、同じページの読み出しができるため、読み出し要求が来てから読み出し結果を返すまでの応答保障期間が長くなるのを抑制できる。
2.第2実施形態
次に、第2実施形態について説明する。第2実施形態では、サスペンドコマンド及びレジュームコマンドを用いて、書き込み動作の中断及び再開を制御する場合について説明する。以下、第1実施形態と異なる点についてのみ説明する。
2.1 書き込み動作について
まず、書き込み動作について説明する。本実施形態では、コントローラ200が通常のライトコマンドを送信した場合について説明する。
2.1.1 メモリシステムにおける書き込み動作の全体の流れについて
まず、メモリシステムにおける書き込み動作の全体の流れについて、図22を用いて説明する。
図22に示すように、コントローラ200は、ホスト機器2から書き込み命令を受信する(ステップS1)。
コントローラ200のコントローラ200は、ホスト機器2からの書き込み命令に応答して、NAND型フラッシュメモリ100に、書き込み命令(ライトコマンド、アドレスADD、及び書き込みデータWD)を送信する(ステップS20)。
すると、NAND型フラッシュメモリ100のシーケンサ15は、書き込み命令に基づいて信号R/Bnを“L”レベル(ビジー状態)とし(ステップS3)、書き込み動作を開始する(ステップS4)。
コントローラ200は、NAND型フラッシュメモリ100が書き込み動作実行中に、ホスト機器2より例えば読み出し命令を受信する(ステップS6)。
この読み出し命令に応答して、コントローラ200は、NAND型フラッシュメモリ100にサスペンドコマンドを送信する(ステップS21)。
シーケンサ15は、信号R/Bnが“L”レベル(ビジー状態)であってもサスペンドコマンドに応じて、書き込み動作を中断し(ステップS8)、信号R/Bnを“H”レベル(レディ状態)とする(ステップS22)。そして、シーケンサ15は、例えばシーケンサ15内のレジスタにサスペンド情報を保存する。
コントローラ200は、信号R/Bnが“H”レベル(レディ状態)に復帰したのを確認すると、NAND型フラッシュメモリ100に、ページ読み出し命令(ページリードコマンド、アドレスADD)を送信する(ステップS7)。
シーケンサ15は、ページ読み出し命令に応じて、信号R/Bnを“L”レベル(ビジー状態)とし(ステップS9)、サスペンドリードを実行する(ステップS10)。
シーケンサ15は、サスペンドリードが終了すると、信号R/Bnを“H”レベル(レディ状態)とする(ステップS11)。
コントローラ200は、信号R/Bnが“H”レベル(レディ状態)に復帰したのを確認すると、NAND型フラッシュメモリ100に、キャッシュ読み出し命令(キャッシュリードコマンド、アドレスADD)を送信する(ステップS13)。
シーケンサ15は、キャッシュ読み出し命令に応じて、データレジスタ21が保持する読み出しデータRDをコントローラ200に送信する(ステップS14)。
コントローラ200は、読み出しデータRDのECC処理を実行した後、ホスト機器2にECC訂正処理後の読み出しデータRDを送信する(ステップS15)。ホスト機器2は、コントローラ200からECC訂正処理後の読み出しデータRDを受信する(ステップS16)
また、コントローラ200は、NAND型フラッシュメモリ100から読み出しデータRDを受信すると、NAND型フラッシュメモリ100にレジュームコマンドを送信する(ステップS23)。
シーケンサ15は、レジュームコマンドに応じて、サスペンド情報を確認し書き込み動作を再開する(ステップS12)。
2.1.2 NAND型フラッシュメモリにおける書き込み動作の全体の流れについて
次に、NAND型フラッシュメモリ100における書き込み動作の全体の流れについて、図23及び図24を用いて説明する。図23及び図24の例では、図10及び図11と同様に、ベリファイ後に書き込み動作を中断し、プログラムから書き込み動作を再開する場合について説明する。なお、第1実施形態と同様に、ベリファイ後に書き込み動作を中断した場合においても、ベリファイから書き込み動作を再開しても良い。更には、プログラム後に書き込み動作を中断しても良く、この場合、ベリファイから書き込み動作を再開しても良い。以下、第1実施形態の図10及び図11と異なる点についてのみ説明する。
図23に示すように、NAND型フラッシュメモリ100は、コントローラ200から書き込み命令(ライトコマンド、アドレスADD、及び書き込みデータWD)を受信する(ステップS130)。
シーケンサ15は、書き込み命令に応じて、信号R/Bnを“L”レベル(ビジー状態)とし(ステップS102)、書き込み動作を開始する(ステップS103)。
シーケンサ15は、データレジスタ21からセンスアンプ20への書き込みデータWDの送信が終了すると、プログラムを実行する(ステップ105)。
次に、シーケンサ15は、ベリファイを実行する(ステップS106)。
シーケンサ15は、コントローラ200からサスペンドコマンドを受信した場合(ステップS131_Yes)、書き込み動作を中断する(ステップS108)。
他方で、シーケンサ15は、コントローラ200からサスペンドコマンドを受信していない場合(ステップS131_No)、書き込み動作を継続する。
シーケンサ15は、書き込み動作を中断した後(ステップS108)、信号R/Bnを“H”レベルにする(ステップ132)。
そして、シーケンサ15は、コントローラ200からページ読み出し命令(ページリードコマンド及びアドレスADD)を受信する(ステップ133)と、信号R/Bnを“L”レベルにする(ステップ109)。そして、図24に示すように、書き込み命令のアドレスADDとページ読み出し命令のアドレスADDが同じページの場合(ステップS110_Yes)、シーケンサ15は、同一ページサスペンドリードを実行する(ステップS134)。具体的な動作は、第1実施形態の図11におけるステップS110及びS111と同じである。
また、書き込み命令のアドレスADDとページ読み出し命令のアドレスADDが同じページではない場合(ステップS110_No)、シーケンサ15は、ノーマルサスペンドリード、すなわち通常のページ読み出しを実行する(ステップS135)。
シーケンサ15は、サスペンドリードが終了すると、信号R/Bnを“H”レベル(レディ状態)とする(ステップS114)。
次に、シーケンサ15は、コントローラ200からキャッシュ読み出し命令(キャッシュリードコマンド及びアドレスADD)を受信する(ステップS116)と、データレジスタ21(ラッチ回路XDL)の読み出しデータRDをコントローラ200に送信する(ステップS117)。
シーケンサ15は、コントローラ200からレジュームコマンドを受信する(ステップS136)と、信号R/Bnを“L”レベルとし(ステップS137)。サスペンド情報に基づいて書き込み動作を再開する(ステップS115)。
書き込み動作を再開した後の動作は、第1実施形態の図10及び図11と同じである。
シーケンサ15は、ベリファイをパスする(ステップS118_Yes)かプログラムループが規定回数に達する(ステップS119_Yes)と、信号R/Bnを“H”レベルにして、書き込み動作を終了する。
2.1.3 書き込み動作におけるコントローラの動作について
次に、書き込み動作におけるコントローラ200の動作ついて、図25を用いて説明する。図25の例は、コントローラ200が通常のライトコマンドを送信する場合の書き込み動作を示している。以下、第1実施形態の図12と異なる点についてのみ説明する。
図24に示すように、第1実施形態の図12と異なる点は、コントローラ200が、書き込みデータ“WD”を送信後、ライトコマンド“10h”を送信する点と、メモリセルトランジスタMTへの書き込み動作が終了してから、信号R/Bnが“H”レベルとされる点である。
2.2 書き込み動作の全体の流れの具体例について
次に、書き込み動作の全体の流れについて、図26を用いて説明する。図26の例は、1回目のプログラムループにおいてベリファイ終了後、書き込み動作を中断し、同一ページサスペンドリード及びキャッシュ読み出し実行後、書き込み動作を再開する場合を示している。また、図26の例は、第1実施形態の図15と同様に、ストリングユニットSU0のワード線WL0を選択して、フルシーケンス書き込み及び下位ページ読み出し動作を実行する場合を示している。以下、第1実施形態の図15と異なる点についてのみ説明する。
図26に示すように、時刻t0〜t1の期間において、コントローラ200は、フルシーケンス書き込みのコマンドシーケンスとして、第1コマンドセット、第2コマンドセット、及び第3コマンドセットをNAND型フラッシュメモリ100に送信する
時刻t1において、シーケンサ15は、ライトコマンド“15h”に応じて、信号R/Bnを“L”レベルし、書き込み動作を開始する。時刻t1〜t2の期間、書き込み動作のステータスは準備状態(参照符号“SETUP”)とされ、データレジスタ21は、センスアンプ20に書き込みデータWDを送信する。
時刻t2において、データレジスタ21からセンスアンプ20への書き込みデータWDの送信が終了すると、時刻t2〜t3の期間、書き込み動作のステータスはプログラム状態(参照符号“PROG”)とされ、シーケンサ15は、1回目のプログラムを実行する。
時刻t3〜t4の期間、書き込み動作のステータスはベリファイ状態(参照符号“PVFY”)とされ、シーケンサ15は、1回目のベリファイを実行する。また、この間にシーケンサ15は、サスペンドコマンド“A7h”を受信すると、ベリファイ終了後、書き込み動作を中断し、信号R/Bnを“H”レベルにする。
時刻t4〜t5の期間、書き込み動作のステータスはサスペンド状態(参照符号“SUSPEND”)とされ、シーケンサ15は、コントローラ200から、同じメモリセルグループMCGの下位ページのページ読み出し命令(コマンド“01h”、“00h”、5サイクルのアドレスデータ“ADD”、及びページリードコマンド“30h”)を受信する。
時刻t5において、シーケンサ15は、信号R/Bnを“L”レベルとする。そして、時刻t5〜t6の期間、書き込み動作のステータスはサスペンドリード状態とされ、シーケンサ15は、同一ページサスペンドリードを実行する。
時刻t6において、同一ページサスペンドリードが終了すると、シーケンサ15は、信号R/Bnを“H”レベルにする。コントローラ200は、信号R/Bnが“H”レベルに復帰したのを確認すると、キャッシュ読み出し命令(コマンド“05h”、5サイクルのアドレスデータ“ADD”、及びキャッシュリードコマンド“E0h”)を送信する。
時刻t6〜t7の期間、書き込み動作のステータスはデータ出力状態(参照符号“OUTPT”)とされ、シーケンサ15は、キャッシュ読み出し命令に基づいて読み出しデータRDをコントローラ200に送信する。
時刻t7〜t8の期間、書き込み動作のステータスはリカバリ状態(参照符号“RCV”)とされ、シーケンサ15は、コントローラ200からレジュームコマンド“48h”を受信すると、書き込み動作を開催する。
時刻t8〜t9の期間、書き込み動作のステータスはプログラム状態とされ、シーケンサ15は、2回目のプログラムを実行する。
時刻t9〜t10の期間、書き込み動作のステータスはベリファイ状態とされ、シーケンサ15は、2回目のベリファイを実行する。
シーケンサ15は、プログラムループを繰り返し、時刻t11〜t12の期間、書き込み動作のステータスはプログラム状態とされ、シーケンサ15は、m回目のプログラムを実行する。
時刻t12〜t13の期間、書き込み動作のステータスはベリファイ状態とされ、シーケンサ15は、m回目のベリファイを実行する。そして、シーケンサ15は、m回目のベリファイで、ベリファイをパスすると、時刻t13〜t14の期間、リカバリ処理を実行し、書き込み動作を終了する。
2.3 本実施形態に係る効果について
本実施形態に係る構成であると、第1実施形態と同様の効果を得ることができる。

3.第3実施形態
次に、第4実施形態について説明する。第3実施形態では、フルシーケンス書き込みにおいて、データを2段階で書き込む場合を示している。以下、第1乃至第3実施形態と異なる点についてのみ説明する。
3.1 書き込み動作について
まず、本実施形態における書き込み動作について、図27を用いて説明する。本実施形態においてNAND型フラッシュメモリ100は、メモリセルトランジスタMTに3ビットのデータを書き込む際に、2段階の書き込み動作を実行する。以下の説明では、2段階の書き込み動作のうち1段階目の書き込み動作のことを「第1書き込み動作」と呼び、2段階目の書き込み動作のことを「第2書き込み動作」と呼ぶ。
図27に示すように、第1書き込み動作は、例えば、閾値電圧の変動量が比較的大きい “D”〜“G”レベルの書き込みに対応するメモリセルトランジスタMTの閾値電圧を予め“LM”レベルまで上昇させる動作である。“LM”レベルに含まれる閾値電圧は、電圧LMV以上であり、電圧EV未満である。例えば、第1書き込み動作では、プログラムループの回数を低減させるため、1回のプログラムにおける閾値電圧の変動量が比較的大きくなるようなプログラム条件が適用される。このため、“LM”レベルの閾値分布は、“A”〜“G”レベルの閾値分布よりも広くなる傾向がある。従って、例えば、電圧LMVは、電圧CV以上電圧DV未満に設定される。
第2書き込み動作は、“Er”レベルのメモリセルトランジスタMTに“A”〜“C”レベルを書き込み、“LM”レベルのメモリセルトランジスタMTに、“D”〜“G”レベルを書き込む動作である。例えば、第2書き込み動作では、各レベルの閾値分布が“LM”レベルの閾値分布よりも狭くなるように、1回のプログラムにおける閾値電圧の変動量が、第1書き込み動作よりも小さくなるプログラム条件が適用される。より具体的には、例えば、第1書き込み動作よりも低いプログラム電圧VPGMが設定される。
なお、第1書き込み動作において、“LM”レベルの書き込みを行うメモリセルトランジスタMT及び電圧LMVは、任意に設定可能である。例えば“E”〜“G”レベルの書き込みを行うメモリセルトランジスタMTを書き込み対象としても良い。この場合、電圧LMVは、例えば電圧DV以上電圧EV未満に設定されても良い。
3.1.1 書き込み動作におけるコントローラの動作について
次に、書き込み動作におけるコントローラ200の動作ついて、図28を用いて説明する。図28の例は、第1書き込み動作の書き込み命令(以下、「第1書き込み命令」と呼ぶ)として下位ページのデータを送信し、第2書き込み動作の書き込み命令(以下、「第2書き込み命令」と呼ぶ)として中位ページのデータ及び上位ページのデータを順に送信する場合を示している。また、図28の例は、データDQ[7:0]及び信号R/Bnを示しており、信号CEn、CLE、ALE、WEn、REnは省略されている。なお、各ページのデータの送信順序は任意に設定可能である。
図28に示すように、コントローラ200は、第1書き込み命令として、“LM”レベルの書き込みに対応する下位ページの書きこみデータWDを送信するコマンドシーケンスを実行する。より具体的には、コントローラ200は、下位ページを指定するコマンド“01h”、書き込み動作を実行することを通知するコマンド“80h”、カラムアドレスCA、ロウアドレスRA、下位ページの書きこみデータWD、及びライトコマンド“10h”を順に送信する。ライトコマンド“10h”に応答して、NAND型フラッシュメモリ100は、ビジー状態となる(R/Bn=“L”)。第1書き込み動作が終了すると、NAND型フラッシュメモリ100はレディ状態となり、信号R/Bnは“H”レベルとされる。
次に、コントローラ200は、信号R/Bnが“H”レベルに復帰したのを確認すると、第2書き込み命令をNAND型フラッシュメモリ100に送信する。より具体的には、コントローラ200は、まず、中位ページの書きこみデータを送信するコマンドシーケンスとして、中位ページを指定するコマンド“02h”、コマンド“80h”、カラムアドレスCA、ロウアドレスRA、中位ページの書きこみデータWD、及びコマンド“1Ah”を送信する。コマンド“1Ah”に応答して、NAND型フラッシュメモリ100は、ビジー状態となる(R/Bn=“L”)。データレジスタ21からセンスアンプ20(ラッチ回路BDL)への中位ページの書き込みデータWDの送信が終了し、データレジスタ21が使用可能な状態になると、NAND型フラッシュメモリ100はレディ状態となり、信号R/Bnは“H”レベルとされる。
次に、コントローラ200は、信号R/Bnが“H”レベルに復帰したのを確認すると、上位ページの書きこみデータを送信するコマンドシーケンスとして、上位ページを指定するコマンド“03h”、コマンド“80h”、カラムアドレスCA、ロウアドレスRA、上位ページの書きこみデータWD、及びライトコマンド“10h”を送信する。ライトコマンド“10h”に応答して、NAND型フラッシュメモリ100は、ビジー状態となる(R/Bn=“L”)。メモリセルトランジスタMTへの第2書き込み動作が終了すると、NAND型フラッシュメモリ100はレディ状態となり、信号R/Bnは“H”レベルとされる。
なお、コントローラ200は、第1書き込み動作及び第2書き込み動作を指示するコマンドをそれぞれ発行しても良い。
3.1.2 NAND型フラッシュメモリにおける書き込み動作の全体の流れについて
次に、NAND型フラッシュメモリ100における書き込み動作の全体の流れについて、図29及び図30を用いて説明する。なお、図29及び図30の例では、書き込み動作におけるプログラム及びベリファイは省略されおり、書き込み動作を中断するタイミングについて特に限定しない。書き込み動作は、プログラム後に中断されても良く、ベリファイ後に中断されても良い。
図29に示すように、NAND型フラッシュメモリ100は、コントローラ200から第1書き込み命令(ライトコマンド、アドレスADD、及び下位ページの書き込みデータWD)を受信する(ステップS201)。
シーケンサ15は、第1書き込み命令に応じて、信号R/Bnを“L”レベルとし、第1書き込み動作を開始する(ステップS202)。
シーケンサ15は、第1書き込み動作中に、コントローラ200からサスペンドコマンドを受信した場合(ステップS203_Yes)、書き込み動作を中断し(ステップS204)、信号R/Bnを“H”レベルにする。
他方で、シーケンサ15は、コントローラ200からサスペンドコマンドを受信していない場合(ステップS203_No)、第1書き込み動作を継続する。
シーケンサ15は、書き込み動作を中断した(ステップS204)後、コントローラ200からページ読み出し命令(ページリードコマンド及びアドレスADD)を受信する(ステップS205)。シーケンサ15は、ページ読み出し命令に応じて、信号R/Bnを“L”レベルにする。
第1書き込み命令のアドレスADDとページ読み出し命令のアドレスADDが同じページの場合(ステップS206_Yes)、シーケンサ15は、同一ページサスペンドリードを実行する(ステップS207)。
他方で、第1書き込み命令のアドレスADDとページ読み出し命令のアドレスADDが異なるページの場合(ステップS206_No)、シーケンサ15は、ノーマルサスペンドリードを実行する(ステップS208)。
シーケンサ15は、サスペンドリード終了後、信号R/Bnを“H”レベルにする。そして、シーケンサ15は、キャッシュ読み出し命令を受信すると、コントローラ200に読み出しデータRDを送信する(ステップS209)。
シーケンサ15は、コントローラ200からレジュームコマンドを受信する(ステップS210)と、信号R/Bnを“L”レベルにし、第1書き込み動作を再開する(ステップS211)。
シーケンサ15は、第1書き込み終了(ステップS212)後、信号R/Bnを“H”レベルにする。
図30に示すように、NAND型フラッシュメモリ100は、コントローラ200から第2書き込み命令(ライトコマンド、アドレスADD、並びに中位ページ及び上位ページの書き込みデータWD)を受信する(ステップS213)。
シーケンサ15は、第2書き込み命令に応じて、信号R/Bnを“L”レベルとし、第2書き込み動作を開始する(ステップS214)。
シーケンサ15は、第2書き込み動作中に、コントローラ200からサスペンドコマンドを受信した場合(ステップS215_Yes)、書き込み動作を中断し(ステップS216)、信号R/Bnを“H”レベルにする。
他方で、シーケンサ15は、コントローラ200からサスペンドコマンドを受信していない場合(ステップS215_No)、第2書き込み動作を継続する。
シーケンサ15は、書き込み動作を中断した(ステップS216)後、コントローラ200からページ読み出し命令(ページリードコマンド及びアドレスADD)を受信する(ステップS217)。シーケンサ15は、ページ読み出し命令に応じて、信号R/Bnを“L”レベルにする。
第2書き込み命令のアドレスADDとページ読み出し命令のアドレスADDが同じページの場合(ステップS218_Yes)、シーケンサ15は、同一ページサスペンドリードを実行する(ステップS219)。
他方で、第1書き込み命令のアドレスADDとページ読み出し命令のアドレスADDが異なるページの場合(ステップS218_No)、シーケンサ15は、ノーマルサスペンドリードを実行する(ステップS220)。
シーケンサ15は、サスペンドリード終了後、信号R/Bnを“H”レベルにする。そして、シーケンサ15は、キャッシュ読み出し命令を受信すると、コントローラ200に読み出しデータRDを送信する(ステップS221)。
シーケンサ15は、コントローラ200からレジュームコマンドを受信する(ステップS222)と、信号R/Bnを“L”レベルにし、第2書き込み動作を再開する(ステップS223)。
3.1.3 第1及び第2書き込み動作においてラッチ回路が保持するデータの具体例について
次に、第1及び第2書き込み動作において、ラッチ回路ADL、BDL、及びCDLが保持するデータの具体例について、図31及び図32を用いて説明する。図31及び図32の例では、以下に示す133コードのデータの割り付けを適用した場合について説明する。
“Er”レベル:“111”(“上位ビット/中位ビット/下位ビット”)データ
“A”レベル:“101”データ
“B”レベル:“011”データ
“C”レベル:“001”データ
“D”レベル:“110”データ
“E”レベル:“100”データ
“F”レベル:“010”データ
“G”レベル:“000”データ
まず、図31に示すように、センスアンプ20は、第1書き込み命令(ライトコマンド、アドレスADD、及び下位ページの書き込みデータWD)に応じて、下位ページのデータをラッチ回路ADLに格納する。より具体的には、“Er”〜“C”レベルに対応するラッチ回路ADLに“1”データが格納され、“D”〜“G”レベルに対応するラッチ回路ADLに “0”データが格納される。そして、ラッチ回路ADLのデータがラッチ回路SDLに転送され、第1書き込み動作が実行される。第1書き込み動作では、“0”データが割り付けられた“D”〜“G”レベルに対応するメモリセルトランジスタMTに“LM”レベルの書き込みが行われる。そして、第1書き込み動作が終了すると、ベリファイをパスした“D”〜“G”レベルに対応するラッチ回路ADLには、“1”データが格納される。すなわち、第1書き込み動作が終了すると、“Er”〜“G”レベルに対応するラッチ回路ADLに“1”データが格納される。
図32に示すように、次に、センスアンプ20は、第2書き込み命令(ライトコマンド、アドレスADD、並びに中位ページ及び上位ページの書き込みデータWD)に応じて、中位ページ及び上位ページデータをラッチ回路BDL及びCDLに格納する。そして、センスアンプ20は、内部データロード(IDL:internal data load)を実行し、メモリセルトランジスタMTのデータを読み出した結果をラッチ回路ADLに格納する。これにより、ラッチ回路ADL、BDL、及びCDLには、133コードに対応するデータが格納される。シーケンサ15は、ラッチ回路ADL、BDL、及びCDLに格納されたデータに基づいて第2書き込み動作を実行する。
3.2 本実施形態に係る効果について
本実施形態に係る構成であると、第1実施形態と同様の効果を得ることができる。
4.変形例等
上記実施形態に係る半導体記憶装置は、第1メモリセル(MT0)及び第1メモリセルに接続された第1選択トランジスタ(ST1)を含む第1メモリストリング(SR)と、第2メモリセル(MT0)及び第2メモリセルに接続された第2選択トランジスタ(ST1)を含む第2メモリストリング(SR)と、第1及び第2メモリセルのゲートに接続されたワード線(WL0)と、第1選択トランジスタのゲートに接続された第1選択ゲート線(SGD0)と、第2選択トランジスタのゲートに接続された第2選択ゲート線(SGD1)と、第1及び第2選択トランジスタに接続されたビット線(BL0)と、ワード線、第1選択ゲート線、及び第2選択ゲート線に接続されたロウデコーダ(19)と、ビット線に接続され、書き込みデータを保持可能なラッチ回路(ADL)を含むセンスアンプ(20)と、第1メモリセルの書き込み動作中に第1メモリセルの読み出し命令を受信した場合、書き込み動作を中断して第1メモリセルの読み出し動作を実行可能な制御回路(15)と、を含む。第1メモリセルの書き込み動作を中断して実行される第1メモリセルの読み出し動作において、センスアンプは、第1メモリセルへの書き込みデータの書き込みが終了している場合、第1メモリセルから読み出したデータを読み出しデータとして出力し、第1メモリセルへの書き込みデータの書き込みが終了していない場合、ラッチ回路が保持する書き込みデータを読み出しデータとして出力する。
上記実施形態を適用することにより、信頼性を向上できる半導体記憶装置を提供できる。
なお、実施形態は上記説明した形態に限定されるものではなく、種々の変形が可能である。
例えば、上記実施形態において、センスアンプ20は、ラッチ回路TDLを更に含み、同一ページサスペンドリードにおいて、ラッチ回路ADL、BDL、CDL、及びXDLを用いて行った各種演算を、ラッチ回路ADL、BDL、CDL、及びTDLを用いて行い、ラッチ回路TDLが保持する読み出しデータRD(メモリセルトランジスタMTから読み出したデータ、またはラッチ回路ADL、BDL、あるいはCDLが保持する書き込みデータWD)をラッチ回路XDLに転送しても良い。
更に、上記実施形態は、フルシーケンス書き込みに限定されない。例えば、下位ページ、中位ページ、あるいは上位ページの書きこみ及び読み出し動作にも適用できる。
更に、上記実施形態は三次元積層型NAND型フラッシュメモリに限定されず、半導体基板上にメモリセルが配置された平面型NAND型フラッシュメモリにも適用できる。更には、NAND型フラッシュメモリに限定されず、プログラムとベリファイとを含む書き込み動作中にサスペンドとレジュームを実行可能な、他のメモリを用いた半導体記憶装置にも適用できる。
更に、上記実施形態における「接続」とは、間に例えばトランジスタあるいは抵抗等、他の何かを介在させて間接的に接続されている状態も含む。
なお、本発明に関する各実施形態において、以下の通りであっても良い。例えばメモリセルトランジスタMTが2ビット(4値)のデータを保持可能であり、4値のいずれかを保持している際の閾値レベルを低い方からErレベル(消去レベル)、Aレベル、Bレベル、及びCレベルとしたとき、
(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)平面型NAND型フラッシュメモリにおけるメモリセルの構造は、
半導体基板(シリコン基板)上に膜厚が4〜10nmのトンネル絶縁膜を介して配置された電荷蓄積層を有している。この電荷蓄積層は膜厚が2〜3nmのSiN、またはSiONなどの絶縁膜と膜厚が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…メモリシステム、2…ホスト機器、10…入出力回路、11…ロジック制御回路、12…ステータスレジスタ、13…アドレスレジスタ、14…コマンドレジスタ、15…シーケンサ、16…レディ/ビジー回路、17…電圧発生回路、18…メモリセルアレイ、19…ロウデコーダ、20…センスアンプ、21…データレジスタ、22…カラムデコーダ、30…プリチャージ回路、31、33、40〜51、60〜67、70〜77、80〜87、90〜97…トランジスタ、32…バススイッチ、52…容量素子、100…NAND型フラッシュメモリ、200…コントローラ、210…ホストインターフェイス回路、220…内蔵メモリ、230…プロセッサ、240…バッファメモリ、250…NANDインターフェイス回路、260…ECC回路

Claims (6)

  1. 第1メモリセル及び前記第1メモリセルに接続された第1選択トランジスタを含む第1メモリストリングと、
    第2メモリセル及び前記第2メモリセルに接続された第2選択トランジスタを含む第2メモリストリングと、
    前記第1及び第2メモリセルのゲートに接続されたワード線と、
    前記第1選択トランジスタのゲートに接続された第1選択ゲート線と、
    前記第2選択トランジスタのゲートに接続された第2選択ゲート線と、
    前記第1及び第2選択トランジスタに接続されたビット線と、
    前記ワード線、前記第1選択ゲート線、及び前記第2選択ゲート線に接続されたロウデコーダと、
    前記ビット線に接続され、書き込みデータを保持可能なラッチ回路を含むセンスアンプと、
    前記第1メモリセルの書き込み動作中に前記第1メモリセルの読み出し命令を受信した場合、前記書き込み動作を中断して前記第1メモリセルの読み出し動作を実行可能な制御回路と
    を備え、
    前記第1メモリセルの前記書き込み動作を中断して実行される前記第1メモリセルの前記読み出し動作において、前記センスアンプは、前記第1メモリセルへの前記書き込みデータの書き込みが終了している場合、前記第1メモリセルから読み出したデータを読み出しデータとして出力し、前記第1メモリセルへの前記書き込みデータの前記書き込みが終了していない場合、前記ラッチ回路が保持する前記書き込みデータを前記読み出しデータとして出力する半導体記憶装置。
  2. 前記書き込みデータと、前記読み出しデータは同じである
    請求項1記載の半導体記憶装置。
  3. 前記書き込み動作は、プログラムとベリファイとを含むプログラムループを繰り返し、
    前記プログラム終了後に前記書き込み動作を中断した場合、前記書き込み動作は前記ベリファイから再開され、前記ベリファイ終了後に前記書き込み動作を中断した場合、前記書き込み動作は前記プログラム、または前記ベリファイから再開される請求項1または2記載の半導体記憶装置。
  4. 前記制御回路は、前記書き込み動作中にサスペンドコマンドを受信した場合、前記書き込み動作を中断し、前記書き込み動作を中断している間にレジュームコマンドを受信した場合、前記書き込み動作を再開する請求項1乃至3のいずれか一項記載の半導体記憶装置。
  5. 前記センスアンプは、前記第1メモリセルの前記書き込み動作を中断して前記第2メモリセルの読み出し動作を行う場合、前記第2メモリセルから読み出したデータを前記読み出しデータとして出力する請求項1乃至4のいずれか一項記載の半導体記憶装置。
  6. 前記ロウデコーダは、前記第1メモリセルへの前記書き込み動作において、前記ワード線に書き込み電圧を印加し、前記第1選択ゲート線に前記書き込み電圧よりも低い第1電圧を印加し、前記第2選択ゲート線に前記第1電圧よりも低い第2電圧を印加し、前記第1メモリセルからの前記読み出し動作において、前記ワード線に読み出し電圧を印加し、前記第1選択ゲート線に前記読み出し電圧よりも高い第3電圧を印加し、前記第2選択ゲート線に前記第3電圧よりも低い第4電圧を印加する請求項1乃至5のいずれか一項記載の半導体記憶装置。
JP2017144465A 2017-07-26 2017-07-26 半導体記憶装置 Pending JP2019029045A (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP2017144465A JP2019029045A (ja) 2017-07-26 2017-07-26 半導体記憶装置
EP17919092.1A EP3660850A4 (en) 2017-07-26 2017-10-23 SEMICONDUCTOR STORAGE DEVICE
CN201780093008.9A CN110914908B (zh) 2017-07-26 2017-10-23 半导体存储装置
PCT/JP2017/038204 WO2019021498A1 (ja) 2017-07-26 2017-10-23 半導体記憶装置
TW109119264A TWI717290B (zh) 2017-07-26 2017-11-01 半導體記憶裝置
TW106137742A TWI698869B (zh) 2017-07-26 2017-11-01 半導體記憶裝置
US16/749,704 US11158645B2 (en) 2017-07-26 2020-01-22 Semiconductor memory device
US17/480,300 US11706916B2 (en) 2017-07-26 2021-09-21 Semiconductor memory device
US18/138,820 US20230301086A1 (en) 2017-07-26 2023-04-25 Semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017144465A JP2019029045A (ja) 2017-07-26 2017-07-26 半導体記憶装置

Publications (1)

Publication Number Publication Date
JP2019029045A true JP2019029045A (ja) 2019-02-21

Family

ID=65040934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017144465A Pending JP2019029045A (ja) 2017-07-26 2017-07-26 半導体記憶装置

Country Status (6)

Country Link
US (3) US11158645B2 (ja)
EP (1) EP3660850A4 (ja)
JP (1) JP2019029045A (ja)
CN (1) CN110914908B (ja)
TW (2) TWI717290B (ja)
WO (1) WO2019021498A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020181624A (ja) * 2019-04-24 2020-11-05 キオクシア株式会社 半導体記憶装置及びメモリシステム
US11487476B2 (en) 2020-04-27 2022-11-01 Kioxia Corporation Semiconductor memory device

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021022414A (ja) * 2019-07-29 2021-02-18 キオクシア株式会社 半導体記憶装置
JP2021047941A (ja) * 2019-09-17 2021-03-25 キオクシア株式会社 メモリシステム及びメモリシステムの制御方法
JP2021174564A (ja) * 2020-04-24 2021-11-01 キオクシア株式会社 半導体記憶装置
JP2021182458A (ja) * 2020-05-19 2021-11-25 キオクシア株式会社 半導体記憶装置
TWI748507B (zh) * 2020-06-08 2021-12-01 瑞昱半導體股份有限公司 資料存取系統及操作資料存取系統的方法
US11456039B2 (en) * 2020-11-24 2022-09-27 Micron Technology, Inc. Resumption of program or erase operations in memory
JP2023016551A (ja) * 2021-07-21 2023-02-02 ルネサスエレクトロニクス株式会社 半導体装置および半導体システム
TWI776653B (zh) * 2021-08-24 2022-09-01 緯穎科技服務股份有限公司 用於控制儲存裝置的控制系統以及控制方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100351934B1 (ko) 1999-06-22 2002-09-12 삼성전자 주식회사 상태 읽기 동작을 갖는 플래시 메모리 장치
JP2002073405A (ja) * 2000-08-31 2002-03-12 Hitachi Ltd データ処理装置
JP4004811B2 (ja) * 2002-02-06 2007-11-07 株式会社東芝 不揮発性半導体記憶装置
JP2003231992A (ja) 2002-02-13 2003-08-19 Kobe Steel Ltd ゴム接着用ブラスめっき材料およびその複合体
JP2004348808A (ja) * 2003-05-20 2004-12-09 Sharp Corp 半導体記憶装置、携帯電子機器、イレース動作を制御する方法及びプログラム動作を制御する方法
US7206230B2 (en) * 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
JP4791806B2 (ja) * 2005-11-21 2011-10-12 株式会社東芝 半導体記憶装置及びそのデータ書き込み方法
JP5367210B2 (ja) * 2006-01-20 2013-12-11 株式会社東芝 半導体記憶装置
KR100816748B1 (ko) * 2006-03-16 2008-03-27 삼성전자주식회사 프로그램 서스펜드/리줌 모드를 지원하는 상 변화 메모리장치 및 그것의 프로그램 방법
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 株式会社東芝 三次元積層不揮発性半導体メモリ
JP2010199235A (ja) 2009-02-24 2010-09-09 Toshiba Corp 不揮発性半導体記憶装置
DE112009004900T5 (de) * 2009-06-10 2012-08-16 Micron Technology, Inc. Vertagen von Speicheroperationen zum Reduzieren von Leselatenz in Speicherfeldern
JP2012069205A (ja) 2010-09-22 2012-04-05 Toshiba Corp 不揮発性半導体記憶装置
US20120167100A1 (en) 2010-12-23 2012-06-28 Yan Li Manual suspend and resume for non-volatile memory
JP2012252740A (ja) 2011-06-02 2012-12-20 Toshiba Corp 不揮発性半導体記憶装置
KR101903095B1 (ko) 2011-11-21 2018-10-02 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 제어하는 컨트롤러의 동작 방법
US9076530B2 (en) * 2013-02-07 2015-07-07 Seagate Technology Llc Non-volatile write buffer data retention pending scheduled verification
JP2014186787A (ja) * 2013-03-25 2014-10-02 Toshiba Corp 不揮発性半導体記憶装置、メモリコントローラ、及びメモリシステム
US9812200B2 (en) * 2014-07-08 2017-11-07 Adesto Technologies Corporation Concurrent read and write operations in a serial flash device
US10540115B2 (en) * 2015-04-21 2020-01-21 SK Hynix Inc. Controller adaptation to memory program suspend-resume
JP6453718B2 (ja) * 2015-06-12 2019-01-16 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
KR102639697B1 (ko) * 2017-01-09 2024-02-21 삼성전자주식회사 비휘발성 메모리 장치 및 그 프로그램 방법
JP2019204565A (ja) * 2018-05-22 2019-11-28 東芝メモリ株式会社 半導体記憶装置及びメモリシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020181624A (ja) * 2019-04-24 2020-11-05 キオクシア株式会社 半導体記憶装置及びメモリシステム
US11487476B2 (en) 2020-04-27 2022-11-01 Kioxia Corporation Semiconductor memory device

Also Published As

Publication number Publication date
EP3660850A4 (en) 2021-03-31
WO2019021498A1 (ja) 2019-01-31
US20220005816A1 (en) 2022-01-06
CN110914908A (zh) 2020-03-24
CN110914908B (zh) 2024-04-05
US11706916B2 (en) 2023-07-18
EP3660850A1 (en) 2020-06-03
TW201911311A (zh) 2019-03-16
US20200161320A1 (en) 2020-05-21
TWI698869B (zh) 2020-07-11
US20230301086A1 (en) 2023-09-21
TWI717290B (zh) 2021-01-21
TW202044250A (zh) 2020-12-01
US11158645B2 (en) 2021-10-26

Similar Documents

Publication Publication Date Title
JP6783682B2 (ja) 半導体記憶装置及びメモリシステム
US10643693B2 (en) Semiconductor memory device and memory system
US20230301086A1 (en) Semiconductor memory device
US11238925B2 (en) Semiconductor memory device and memory system
JP6297201B2 (ja) 半導体記憶装置
US9390808B1 (en) Semiconductor memory device
JP2018045741A (ja) 半導体記憶装置及びメモリシステム
US9361998B2 (en) Semiconductor memory device and data writing method of the same
JP2013200932A (ja) 不揮発性半導体記憶装置
JP6652470B2 (ja) 半導体記憶装置
TWI713034B (zh) 快閃記憶體及其控制方法
JP2017208152A (ja) 半導体記憶装置及びメモリシステム
US11430525B2 (en) Memory device
JP2010218623A (ja) 不揮発性半導体記憶装置
JP2013246849A (ja) メモリシステム
JP2020102293A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20180831