JP6453718B2 - 半導体記憶装置及びメモリシステム - Google Patents

半導体記憶装置及びメモリシステム Download PDF

Info

Publication number
JP6453718B2
JP6453718B2 JP2015119551A JP2015119551A JP6453718B2 JP 6453718 B2 JP6453718 B2 JP 6453718B2 JP 2015119551 A JP2015119551 A JP 2015119551A JP 2015119551 A JP2015119551 A JP 2015119551A JP 6453718 B2 JP6453718 B2 JP 6453718B2
Authority
JP
Japan
Prior art keywords
data
memory
write
command
memory controller
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.)
Active
Application number
JP2015119551A
Other languages
English (en)
Other versions
JP2017004583A (ja
Inventor
常盤 直哉
直哉 常盤
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 JP2015119551A priority Critical patent/JP6453718B2/ja
Priority to CN201610137242.4A priority patent/CN106251900B/zh
Priority to TW105107652A priority patent/TWI582777B/zh
Priority to US15/094,631 priority patent/US9564228B2/en
Publication of JP2017004583A publication Critical patent/JP2017004583A/ja
Application granted granted Critical
Publication of JP6453718B2 publication Critical patent/JP6453718B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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
    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing 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/32Timing circuits

Landscapes

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

Description

本実施形態は、半導体記憶装置及びメモリシステムに関する。
メモリセルが3次元に配列されたNAND型フラッシュメモリが知られている。
特開2007−103010号公報 特開2007−207333号公報 特開2011−129176号公報
システム全体の性能向上が可能な半導体記憶装置及びメモリシステムを提供する。
一実施形態にかかる半導体記憶装置は、メモリセルと、前記メモリセルに対し、第1コマンドに従って書き込み動作を行う制御回路と、を備える。前記書き込み動作は第1動作および第2動作を含む。前記制御回路は、第1電圧を用いて前記第1動作を開始し、前記第1電圧より高い第2電圧を用いて前記第2動作を開始し、前記第1動作中に第2コマンドが受信されると第1状態の信号を出力し、前記第2動作中に前記第2コマンドが受信されると前記第1状態と異なる第2状態の前記信号を出力する。
第1実施形態に係るメモリシステムのブロック図である。 第1実施形態に係る半導体記憶装置のブロック図である。 第1実施形態に係る半導体記憶装置のメモリセルアレイの回路図である。 第1実施形態に係る半導体記憶装置のセンスユニットのブロック図である。 第1実施形態に係る半導体記憶装置における書き込み動作時の閾値分布の変化を示す。 第1実施形態に係る半導体記憶装置における書き込み動作時のワード線電圧の印加回数と印加電圧の関係および書き込み動作のフローを示す。 第1実施形態に係る半導体記憶装置における書き込み動作時のキャッシュの状態を示す。 第1実施形態に係る半導体記憶装置における書き込み動作時のキャッシュの状態を示す。 第1実施形態に係る半導体記憶装置における書き込み動作時のキャッシュの状態を示す。 第1実施形態に係る半導体記憶装置におけるデータ書き込み動作時の各種信号のタイミングチャートである。 第1実施形態に係る半導体記憶装置におけるデータ書き込み動作時の各種信号のタイミングチャートである。 第1実施形態に係る半導体記憶装置におけるデータ書き込み動作時の各種信号のタイミングチャートである。 第1実施形態に係る半導体記憶装置における第1動作時のメモリコントローラと半導体記憶装置とのタスク相関図である。 第1実施形態に係る半導体記憶装置における第1動作時の各種信号のタイミングチャートである。 第1実施形態に係る半導体記憶装置における第2動作時の各種信号のタイミングチャートである。 第1実施形態の変形例に係る半導体記憶装置における書き込み動作時の閾値分布の変化を示すグラフである。 第1実施形態の変形例に係る半導体記憶装置における書き込み動作時の各種信号のタイミングチャートである。 第1実施形態の変形例に係る半導体記憶装置における書き込み動作時の各種信号のタイミングチャートである。 第2実施形態に係る半導体記憶装置のブロック図である。 第2実施形態に係る半導体記憶装置における第1動作時のメモリコントローラと半導体記憶装置とのタスク相関図である。 第2実施形態に係る半導体記憶装置における書き込み動作のフローチャートである。 第2実施形態に係る半導体記憶装置における第2動作時のメモリコントローラと半導体記憶装置とのタスク相関図である。 第2実施形態の変形例に係る半導体記憶装置における第2動作時のメモリコントローラと半導体記憶装置とのタスク相関図である。
一実施形態にかかる半導体記憶装置は、メモリセルと、第1データを保持可能な第1キャッシュと、第2データを保持可能な第2キャッシュと、第1コマンドに従って前記メモリセルに前記第1データおよび前記第2データを書き込む書き込み動作を行う制御回路と、を備える。前記書き込み動作は第1動作および第2動作を含む。前記制御回路は、第1電圧を用いて前記第1動作を開始し、前記第1電圧より高い第2電圧を用いて前記第2動作を開始し、前記第1動作中に第2コマンドが受信されると第1状態の信号を出力し、前記第2動作中に前記第2コマンドが受信されると前記第1状態と異なる第2状態の前記信号を出力する。前記第1データおよび前記第2データは、前記第1動作が終了するまで前記第1キャッシュおよび前記第2キャッシュにそれぞれ保持され、前記第1データは、前記第2動作の途中で前記第1キャッシュから消去される。
実施形態に係る半導体記憶装置について、図面を参照して以下に説明する。図面において、同一部分には同一の参照符号を付す。
<第1実施形態>
半導体記憶装置として、3次元積層型のNAND型フラッシュメモリを例に挙げて説明する。
(1)半導体記憶装置の構成
[メモリシステム]
第1実施形態に係るNAND型フラッシュメモリ100を含むメモリシステム10の構成の例について、図1を用いて説明する。
図1に示されるように、メモリシステム10は、例えば複数のNAND型フラッシュメモリ100、1つのメモリコントローラ200、及び1つのホスト機器300を備える。図および以下の説明は、NAND型フラッシュメモリ100(100_0、100
1)が2つの例に基づく。1つまたは3つ以上のメモリ100がメモリコントローラ200に接続されもよい。
各々のNAND型フラッシュメモリ100は、複数のメモリセルを備え、データを不揮発に記憶することができる。NAND型フラッシュメモリ100の構成の詳細は後述する。
メモリコントローラ200は、ホスト機器300からの命令に基づいて、NAND型フラッシュメモリ100に対して読み出し、書き込み(以下、プログラムとも称される)、及び消去等を命令する。
メモリコントローラ200は、ホストインターフェイス回路201、メモリ(RAM)202、プロセッサ(CPU)203、バッファメモリ204、NANDインターフェイス回路205、及びECC(error correction code)回路206を備える。
ホストインターフェイス回路201は、コントローラバスを介してホスト機器300と接続され、メモリコントローラ200とホスト機器300との通信を司る。
NANDインターフェイス回路205は、NANDバスを介して各NAND型フラッシュメモリ100と接続され、メモリコントローラ200とNAND型フラッシュメモリ100との通信を司る。各々のNAND型フラッシュメモリ100と接続されているNANDバス上では、同種の信号が送受信される。各NANDバスは、入出力信号、種々の制御信号、状態コード信号を伝送する。制御信号は、チップイネーブル信号CEn0およびCEn1、ライトイネーブル信号WEn、リードイネーブル信号REn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、及びライトプロテクト信号WPn等を含む。信号WEn、REn、CLE、ALE、及びWPnは、NAND型フラッシュメモリ100_0および100_1により受け取られる。一方、信号CEn0はNAND型フラッシュメモリ100_0により受け取られ、信号CEn1はNAND型フラッシュメモリ100_1により受け取られる。
入出力信号IO(IO<7:0>)は、例えば8ビットのデータを伝送する。信号IOは、例えばコマンド、アドレスデータ、データ等を含む。信号CEn(CEn0およびCE1)は、アサートされていると、この信号を受け取ったNAND型フラッシュメモリ100をイネーブル状態とする。ライトイネーブル信号WEnは、アサートされていると、この信号を受け取ったNAND型フラッシュメモリ100に信号IOの取り込みを指示する。信号REnは、アサートされていると、この信号を受け取ったNAND型フラッシュメモリ100に信号IOの出力を指示する。信号CLEは、この信号を受け取ったNAND型フラッシュメモリ100に信号IOをコマンドとして取り込むことを指示する。信号ALEは、この信号を受け取ったNAND型フラッシュメモリ100に信号IOをアドレスデータとして取り込むことを指示する。信号WPnは、アサートされていると、この信号を受け取ったNAND型フラッシュメモリ100に信号IOの取り込みの禁止を指示する。
状態コード信号は、NAND型フラッシュメモリ100の種々の状態を示す。状態コード信号は、例えばレディービジー信号RBn(RBn0およびRBn1)、ならびに状態コード信号CODE_PW1COMP等を含む。信号RBn0はNAND型フラッシュメモリ100_0から出力され、信号RBn1はNAND型フラッシュメモリ100_1から出力される。メモリコントローラ200は、状態コード信号を受け取ることで、各NAND型フラッシュメモリ100の状態を知ることができる。
CPU203は、メモリコントローラ200全体の動作を制御する。
メモリ202は、例えばDRAM(dynamic random access memory)等であり、CPU230の作業領域として使用される。
バッファメモリ204は、メモリ100に送信されるデータ、及びメモリ100から送信されたデータを一時的に保持する。
ECC回路206は、誤り訂正符号を用いてデータの誤りを検出および訂正する。
[NAND型フラッシュメモリの構成]
次に、メモリ100の構成について、図2を用いて説明する。図2に示されるように、メモリ100は、コア部0と周辺回路1とを含む。
コア部0は、メモリセルアレイ111、ロウデコーダ112、及びセンスユニット113を含む。コア部0は、複数のメモリセルアレイ111を含んでいてもよい。
メモリセルアレイ111は、複数のブロックBLK(BLK0,BLK1,BLK2・・・)を備える。各ブロックBLKは、複数のストリングユニット(フィンガ)SU(SU0,SU1,SU2・・・)を備える。各ストリングユニットSUは、複数のNANDストリングNSを含む。各ストリングNSは、直列に接続された複数のメモリセルを含む。
周辺回路1は、入力バッファ(入出力制御回路)101,入力バッファ102、出力バッファ103,122、アドレスバッファ114、コマンドデコーダ115、データバッファ116、選択回路117,118、ステートマシン120、メモリセル制御レジスタ121、レジスタ回路124、及びフェイル数カウント回路125を含む。
入力バッファ101は、信号CEn,WEn,REn,CLE,ALE,WPnを受け取る入力ピン(端子)と接続される。入力バッファ101は、信号CEn,WEn,REn,CLE,ALE,WPnに基づいて、入力バッファ102、出力バッファ103、およびデータバッファ116を制御する。
入力バッファ102及び出力バッファ103は、信号IOを入出力する入出力ピン(端子)と接続される。入力バッファ102は、入力バッファ101の制御に基づいて、信号IOからアドレスデータを取り出し、これをアドレスバッファ114にデータ信号DINとして供給する。また、入力バッファ102は、入力バッファ101の制御に基づいて、信号IOからコマンドを取り出し、これをコマンドデコーダ115にデータ信号DINとして供給する。さらに、入力バッファ102は、入力バッファ101の制御に基づいて、信号IOからデータを取り出し、これをデータバッファ116にデータ信号DINとして供給する。出力バッファ103は、選択回路117から供給される読み出しデータ等を、信号IOとして入出力ピンから出力する。
アドレスバッファ114は、アドレスデータを保持し、これをメモリセル制御レジスタ121に供給する。アドレスデータは、アドレスデータBLKa,STRa,WLa,COLaを含む。アドレスデータBLKa,STRa,WLa,COLaは、データ信号DIN中のビット列の順序および位置等に応じて区別される。アドレスデータBLKaはブロックを特定する。アドレスデータSTRaはストリング(ストリングユニット)を特定する。アドレスデータWLaはワード線を特定する。アドレスデータCOLaはカラムを特定する。
データバッファ116は、入力バッファ101の制御に基づいて、入力バッファ102からデータを受け取り、これを一時的に保持する。入力バッファ102からのデータは、書き込みデータ等を含む。データバッファ116は、選択回路118を経由して、センスユニット113に書き込みデータ等を転送する。
選択回路118は、データバッファ116からのデータをセンスユニット113へと転送し、センスユニット113からのデータを出力バッファ103へと転送する。
コマンドデコーダ115は、入力バッファ101の制御に基づいて、コマンドを受け取る。コマンドデコーダ115は、コマンドをデコードし、デコードの結果に基づいて種々のコマンド信号をステートマシン120に供給する。コマンド信号は、例えば信号CMD_PRO,CMD_RST,CMD_PW1STATを含む。信号CMD_PROは、ステートマシン120に書き込みを指示する。信号CMD_RSTは、NAND型フラッシュメモリ100の書き込み等の動作の中断を指示する。信号CMD_PW1STATは、選択回路117を制御する。コマンドデコーダ115は、メモリ100が問い合わせコマンドを受け取ったことに基づいて、“H”レベルのCMD_PW1STATを選択回路117およびステートマシン120に送信する。
ステートマシン120は、メモリ100での読み出し、書き込み、及び消去等の動作を司る。ステートマシン120は、コマンドデコーダ115からのコマンド信号に基づいて、メモリセル制御レジスタ121を制御する。
ステートマシン120は、レジスタPW1COMP,ACOMP,BCOMP、CCOMPを含む。レジスタPW1COMP,ACOMP,BCOMP、CCOMPは、ステートマシン120による書き込み動作の状態(進捗状況等)を示す情報を保持する。レジスタPW1COMP,ACOMP,BCOMP、CCOMPは、例えば、書き込み動作のうちの複数の段階のうちの対応する段階が完了している場合に、完了している旨を示す情報を保持する。ステートマシン120は、信号CMD_PW1STATを受け取ると、レジスタPW1COMP中の情報を状態コードCODE_PW1COMPとして選択回路117へ送信する。
選択回路117は、選択回路118からのデータおよびレジスタPW1COMPからの状態コードCODE_PW1COMPを受け取る。選択回路117は、信号CMD_PW1STATに基づいて、選択回路118からのデータ、または状態コードCODE_PW1COMPを出力バッファ103に転送する。
メモリセル制御レジスタ121は、メモリセルの読み出し、書き込み、及び消去動作を制御するための情報を保持し、保持されている情報に基づいて信号をコア部0に送信する。メモリセル制御レジスタ121から送信される信号は、例えばブロックアドレスBLKADD,ストリングアドレスSTRADD,ワード線アドレスWLADD,カラムCOLADD、及びステートマシン120からのコマンド信号を含む。メモリ制御レジスタ121は、ブロックアドレスBLKADD、ストリングアドレスSTRADD、及びワード線アドレスWLADDを、ロウデコーダ112に送信し、カラムアドレスCOLADDを、センスユニット113に送信する。
ロウデコーダ112は、ブロックアドレスBLKADDに基づいて1つのブロックBLKを選択し、ストリングアドレスSTRADDに基づいて1つのストリングNSを選択し、ワード線アドレスWLADDに基づいて1つのワード線を選択する。すなわち、ロウデコーダ112は、図示せぬ電圧生成回路から動作に応じた種々の電圧を受け取り、選択されたブロックBLKの選択されたストリングSTRにおいて、選択されたワード線およびそれ以外の非選択ワード線に、電圧生成回路からの電圧を転送する。
センスユニット113は、カラムアドレスCOLADDに基づき、選択されたカラムのデータを信号YIOとして出力する。センスユニット113は、データの書き込み時には、データバッファ116から書き込みデータを信号YIOとして受け取り、メモリセルに転送する。
出力バッファ122は、レディービジー信号RBnを出力する出力ピンと接続される。出力バッファ122は、例えばステートマシン120から、レディービジー信号RBを受け取る。レディービジー信号RBは、NAND型フラッシュメモリ100がレディーまたはビジー状態であることを示す。出力バッファ122は、受け取ったレディービジー信号RBをレディービジー信号RBnとして出力ピンから出力する。
レジスタ回路124は、フューズデータを保持する。フューズデータは、メモリセルアレイ111内のフューズ領域(図示せず)から読み出され、例えばメモリ100が電源の供給を受けると読み出される。フューズデータは、フェイル数基準値F_NF等を含む。フェイル数基準値F_NF等は、書き込みまたは消去が完了したかの検査の際の基準値である。
フェイル数カウント回路125は、フェイル数基準値F_NFをレジスタ回路124から受け取る。フェイル数カウント回路125は、ベリファイの際、センスユニット113から読み出されたデータと期待値とを比較し、一致しないビットまたはバイトの数を計数する。ベリファイは、消去または書き込みが完了したかを判断することを指す。期待値は、書き込みの場合は書き込まれる値であり、消去の場合は消去状態のメモリセルが有するべき値である。フェイル数カウント回路125は、計数結果を、フェイル数基準値F_NFと比較する。比較の結果、フェイル数カウント回路125は、不一致のビットまたはバイトの数がフェイル数基準値F_NF以下の場合は書き込みまたは消去が完了したと判断し、フェイル数基準値F_NFを超えている場合、書き込みまたは消去が未完了であると判断する。書き込みまたは消去が完了していれば、フェイル数カウント回路125は、例えば“H”レベルの信号PASSをステートマシン120に送信する。ステートマシン120は、信号PASSに基づいて、レジスタPW1COMP,ACOMP,BCOMP、およびCCOMPの値を変更する。
[メモリセルアレイ]
次に、メモリセルアレイ111の構成について、図3を用いて説明する。図3は、メモリセルアレイ111の一部を示しており、1つのブロックについての回路図である。図3に示されるように、ストリングNSの各々は、複数のメモリセルトランジスタMT(MT0〜MT7)と、選択ゲートトランジスタST1、ST2とを含む。
トランジスタMTは積層ゲートを備える。積層ゲートは、制御ゲートと電荷蓄積層とを含む。トランジスタMTは、メモリセルとして機能し、データを不揮発に保持することができる。
複数のトランジスタMTは、トランジスタST1、ST2間に直列に接続される。トランジスタMT7の一端は、トランジスタST1の一端に接続される。トランジスタMT0の一端は、トランジスタST2の一端に接続される。各ストリングユニットSUにおいて、複数のストリングNSの各々のトランジスタST1の他端は、相違するビット線BL(BL0〜BL(L−1))に接続される。Lは2以上の自然数である。トランジスタST2の他端はソース線SLに共通に接続される。
ストリングユニットSUn中のトランジスタST1のゲートは、選択ゲート線SGDnに接続される。nは0または1以上の自然数である。各ストリングユニットSU中のトランジスタST2のゲートは選択ゲート線SGSに共通に接続される。さらに、選択ゲート線SGSは、相違するストリングユニットSU間で共有される。同一のブロックBLK内にあるトランジスタMTmの制御ゲートは、ワード線WLmに接続される。mは0または7以下の自然数である。
同一のブロックBLK内にあるトランジスタMTのデータは、例えば一括して消去される。ただし、データの消去の方法はこれに限られず、例えばブロックBLKよりも小さい単位で行われること等もある。データ消去については、例えば、“不揮発性半導体記憶装置”という米国特許8,514,627号(米国特許出願13/235,389号)“不揮発性半導体記憶装置”という米国特許8,233,323号(米国特許出願12/694,690号)に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
データの読み出し及び書き込みは、いずれかのストリングユニットSUにおけるいずれかのワード線WLに共通に接続された複数のトランジスタMTの組(CS)に対して一括して行われる。このようなトランジスタMTの組の記憶空間は、1または複数のページを含む。各トランジスタMTは2ビット以上のデータを保持でき、例えば各トランジスタMTが2ビットデータを保持する場合、トランジスタMTの組の中の各トランジスタMTにより保持されている2ビットデータのうちの下位(lower)ビットの集合は「ロワーページ」と称され、上位(upper)ビットの集合は「アッパーページ」と称される。
メモリセルアレイの構成については、例えば、“三次元積層不揮発性半導体メモリ”という米国特許出願公開2009/0267128号公報(米国特許出願12/407,403号)に記載されている。また、“三次元積層不揮発性半導体メモリ”という米国特許出願公開2009/0268522号公報(米国特許出願12/406,524号)、“不揮発性半導体記憶装置及びその製造方法”という米国特許出願公開2010/0207195号公報(米国特許出願12/679,991号)“半導体メモリ及びその製造方法”という米国特許出願公開2011/0284946号公報(米国特許出願12/532,030号)に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
[センスユニット]
センスユニット113について、図4を用いてさらに説明する。
図4に示されるように、センスユニット113は、センスアンプS/A、複数のキャッシュLDL,UDL,およびXDLを含む。キャッシュLDL,UDL,およびXDLは、書き込み時および読み出し時のデータを一時的に格納する。キャッシュLDL,UDL,およびXDLは各々、1ページの大きさのデータ、すなわちビット列を保持する。ビット列の中の各ビットは、例えば1つのトランジスタMTにより保持される下位ビットまたは上位ビットに相当する。また、各キャッシュLDL,UDL,およびXDL中の各ビットは、1ストリングNS中でワード線WLを共有するトランジスタMTの組の1つから読み出されたデータ、当該1つに書き込まれるデータ、または当該1つに関連するデータである。
センスアンプS/A、及びキャッシュLDL,UDL,ならびにXDLは、内部バスLBUSで相互に接続され、内部バスLBUSを介して相互にデータをやり取りする。キャッシュXDLは、バスにより選択回路118と接続されており、選択回路118を介してデータバッファ116および出力バッファ103とデータをやり取りする。入力バッファ102から入力された書き込みデータは、まず、キャッシュXDLに格納される。
[メモリセルの閾値分布]
メモリセルトランジスタMTの閾値電圧の分布について、図5を用いて説明する。
図5(c)に示されるように、1つのトランジスタMTが2ビットデータを保持する場合、各メモリセルトランジスタMTの閾値電圧は、保持されるデータに応じて4つの値のいずれかを取る。同じ2ビットデータを保持する複数のトランジスタMTであっても、互いに相違する閾値電圧を有し得る。このため、閾値電圧は分布を有する。閾値分布は、例えば、E,A2,B2,およびC2レベルと称される。A2レベル中の閾値電圧は、Eレベル中の閾値電圧より高い。B2レベル中の閾値電圧はA2レベル中の閾値電圧より高い、C2レベル中の閾値電圧はB2レベル中の閾値電圧より高い。
4つのレベルが、2ビットデータの4つの状態と関連付けられる。例えば、EレベルのメモリセルトランジスタMTは“11”データを保持している状態として扱われる。A2レベルのメモリセルトランジスタMTは“01”データを保持している状態として扱われる。B2レベルのメモリセルトランジスタMTは“00”データを保持している状態として扱われる。C2レベルのメモリセルトランジスタMTは“10”データを保持している状態として扱われる。
(2)データの書き込み動作
次に、NAND型フラッシュメモリ100へのデータの書き込み動作の例について図5および図6を用いて説明する。
まず、データの書き込み方法の大まかな概念につき、図5を用いて説明する。データの書き込みは、第1動作と第2動作とを含む。ステートマシン120は、1つの書き込みコマンドを受け取ると、第1動作および第2動作を実行する。第1動作と第2動作では、相違するベリファイ電圧が使用される。ベリファイ電圧は、書き込まれるメモリセルトランジスタMTの閾値電圧が超えているべき電圧である。
図5(a)は書き込まれる前の状態を示す。図5(a)に示されるように、トランジスタMTは、“E”レベルにある。“E”レベルにあるトランジスタMTは、ベリファイ電圧EVより低い閾値電圧を有する。
図5(b)は第1動作の結果の例を示す。図5(b)に示されるように、トランジスタMTは、“A1”〜“C1”レベルのいずれかにある閾値電圧を有する。第1動作でのベリファイでは、ベリファイ電圧AV1〜CV1が用いられる。“A1”レベルにあるトランジスタMTの閾値電圧はベリファイ電圧AV1よりも高い。“B1”レベルにあるトランジスタMTの閾値電圧はベリファイ電圧BV1よりも高い。“C1”レベルにあるトランジスタMTの閾値電圧はベリファイ電圧CV1よりも高い。
図5(c)は第2動作の結果の例を示す。図5(c)に示されるように、トランジスタMTは、“A2”〜“C2”レベルのいずれかにある閾値電圧を有する。第2動作でのベリファイでは、ベリファイ電圧AV2〜CV2が用いられる。“A2”レベルにあるトランジスタMTの閾値電圧はベリファイ電圧AV2よりも高い。“B2”レベルにあるトランジスタMTの閾値電圧はベリファイ電圧BV2よりも高い。“C2”レベルにあるトランジスタMTの閾値電圧はベリファイ電圧CV2よりも高い。
ベリファイ電圧AV2は、ベリファイ電圧AV1より高い。ベリファイ電圧BV2は、ベリファイ電圧BV1より高い。ベリファイ電圧CV2は、ベリファイ電圧CV1より高い。
なお、後に詳述されるように、データの書き込み動作は中断されその後再開される場合があり、本明細書では、書き込み動作は、中断されるまでの部分、及び中断後に再開された部分を含み得る。
図6(a)は、第1動作および第2動作の間に、ステートマシン120による制御によってワード線WLに印加される電圧を示す。第1および第2動作の各々において、プログラム電圧およびベリファイ電圧が交互に印加されることにより、プログラムおよびベリファイが行われる。第1動作では、プログラム電圧は、ステートマシン120による制御によって、印加の度に電圧VPGM1から値(ステップアップ幅)DVPGM1だけステップアップされる。第1動作のベリファイでは、電圧ZV1が印加される。電圧ZV1は、ベリファイ電圧AV1〜CV1のいずれかである。
第2動作では、プログラム電圧は、ステートマシン120による制御によって、印加の度に電圧VPGM2から値DVPGM2だけステップアップされる。電圧VPGM2は電圧VPGM1より大きい。値DVPGM2は、値DVPGM1より小さい。第2動作のベリファイでは、電圧ZV2が印加される。電圧ZV2は、ベリファイ電圧AV2〜CV2のいずれかである。
プログラム電圧の印加は、第1動作および第2動作の各々において、ベリファイにパスするまで、或いは、最大繰り返し数に達するまで繰り返される。ベリファイは、フェイル数カウント回路125による計数値が、フェイル数基準値F_NF以下である場合、パスしたと判定される。
このような2つの動作を含む書き込み動作については、米国特許第8565020号明細書に記載されている。この明細書は、その全体が本願明細書において参照により援用されている。
以上のような書き込み動作を行うにあたっては、書き込み対象のトランジスタMTの各々に対する2ビットデータが必要であり、つまり、2ページ分のデータが必要である。書き込み動作を開始する際、メモリコントローラ200は、メモリ100に2ページ分のデータを送信する。送信されたデータは、キャッシュLDL,UDL,およびXDLのいずれかに保持され、メモリ100は、保持されたデータを用いて書き込み動作を行う。
一方で、ホスト機器300からの書き込み動作の命令をメモリコントローラ200の指示を介してNAND型フラッシュメモリ100が処理する間に、ホスト機器300が指示済みの書き込み動作の中断を命令する場合がある。中断は、ホスト機器300により決定され、例えばより緊急度の高い作業が必要となった場合等に生じる。中断された書き込み動作は、後に再開される場合がある。しかしながら、再開される場合において、中断前までの書き込み動作の進捗によっては、キャッシュLDL,UDL,XDL中の書き込みデータの一部、あるいは全部が消失してしまっている場合がある。キャッシュが書き込みデータの保持以外の用途に使用され得るからである。
以下、このような状況に鑑みて構成された動作について説明する。
[書き込み動作のフロー]
まずは、図6(b)を用い、NAND型フラッシュメモリ100の書き込み動作のフローについて説明する。
図6(b)に示されるように、書き込み動作が開始されるにあたり、メモリコントローラ200からメモリ100に、ロワーページのデータが送信される(Lower data in)。ロワーページのデータは、キャッシュLDL,UDL,およびXDLのいずれかに転送される(Transfer)。次いで、同様に、メモリコントローラ200からメモリ100に、アッパーページのデータが送信され(Upper data in)、次いで、キャッシュLDL,UDL,およびXDLのいずれかに転送される(Transfer)。
次に、第1動作が開始される。プログラム及びベリファイのループが例えば“A1”〜“C1”レベルの各々について、例として2回繰り返されることで“A1”〜“C1”レベルの書き込みが完了する。続いて、第2動作の準備期間を経て(Transfer)、第2動作が開始される。プログラム及びベリファイのループが例えば“A2”〜“C2”レベルの各々について、例として2回繰り返されることで“A2”〜“C2”レベルの書き込みが完了する。
(キャッシュのデータ格納状況)
次に、図7から図9を用い、図6(b)の書き込み動作のフローにおける、キャッシュLDL,UDL,XDLによるデータの格納について説明する。以下の説明においてデータを格納するキャッシュおよび格納のタイミングは例に過ぎない。
図7から図9において、格納中のデータは、“E”レベルに維持されるトランジスタMTと、及び“A”,“B”,“C”レベルへと書き込まれるトランジスタMTとに関連付けて示される。キャッシュLDL,UDL,およびXDLの各々は、各ビットにおいて、一括して書き込まれるトランジスタMTのうちの1つと関連付けられた値を保持する。より具体的には、キャッシュLDL,UDL,およびXDLの各々は、各ビットにおいて、対応する“E”レベルに維持される1つのセルトランジスタMT、および“E”レベルから“A”,“B”,または“C”レベルへと書き込まれる1つのセルトランジスタMTについての値を保持する。しかし、図7〜図9は、便宜上、“A”,“B”,または“C”レベルへの書き込みの未完または完了をそれぞれ“0”または“1”により表現している。
図7は、メモリコントローラ200からデータが転送されている期間のキャッシュLDL,UDL,XDLへのデータの格納状況を示す。以下の動作は、ステートマシン120によるメモリセル制御レジスタ121を介した制御により行われる。
図7に示されるように、書き込み動作が開始されると、ステートマシン120は、ロワーページのデータをキャッシュXDLに格納する。書き込み動作開始時点において、キャッシュLDL,UDLは、どのような状態であってもよい(Invalid)。ロワーページのデータは、ステートマシン120によって、キャッシュXDLから例えばキャッシュUDLに転送される。これにより、キャッシュXDLは、アッパーページのデータを受け入れることができ、アッパーページのデータはキャッシュXDLに格納される。アッパーページのデータは、ステートマシン120によって、キャッシュXDLから例えばキャッシュLDLに転送される。
続いて、ステートマシン120は、キャッシュUDL中のロワーページのデータをキャッシュXDLへと転送し、第1動作におけるベリファイ結果(判定データ)をキャッシュUDLに格納することに備える。具体的には、ステートマシン120は、キャッシュUDLのビット列のうち、“A1”〜“C1”レベルへと書き込まれるトランジスタMTに関連するビットを“0”にリセットする。“E”レベルに維持されるトランジスタMTに関連するビットは“1”である。
図8において、第1動作が開始される。ベリファイにより、“A1”〜“C1”レベルの各々の書き込みが完了するごとに、キャッシュUDLの対応するレベルへと書き込まれる各トランジスタMTについての値が“0”から“1”へと変化する。図8では、“A1”レベルの1回目の書き込みループ(Program (1)およびVerify (1)。以下、同様)では、キャッシュUDLにおける“A1”レベルへと書き込まれるトランジスタMTについての値は“0”のままである。これは、“A1”レベルへと書き込まれるトランジスタMTのうち、書き込みが完了していないトランジスタMTが残っていてベリファイに失敗している状態を表現している。以下の説明でも、同様である。
“A1”レベルの2回目の書き込みループでは、キャッシュUDLにおける“A1”レベルへと書き込まれるトランジスタMTについての判定の値が“1”に変化する。図および以下の説明では、このような判定の値の変化が、対応するベリファイがパスしたことを表すものとする。
以降、“B1”および“C1”レベルのベリファイに成功する度に、キャッシュUDL中の“B1”および“C1”レベルへと書き込まれるトランジスタMTについての値が“0”から“1”に順次、変化する。以上により、第1動作が完了する。
第1動作が完了すると、ステートマシン120は、キャッシュUDL中の値(第1動作におけるベリファイ結果)をリセットし、第2動作におけるベリファイ結果の格納に備える。
図9において、第2動作が開始される。第1動作と同じく、“A2”,“B2”,および“C2”レベルのベリファイに成功する度に、キャッシュUDL中の“A2”,“B2”,および“C2”レベルへと書き込まれるトランジスタMTについての値が“0”から“1”に順次、変化する。以上により、第2動作が完了する。
ところで、図8および図9から判るように、第2動作の開始時点までは、ロワーページ及びアッパーページのデータは、第2動作での利用に備えてそれぞれキャッシュXDLおよびLDL内に保持されている。しかしながら、第2動作の開始後は、これらのデータは保持される必要はなく、消去される場合がある。消去により、空いたキャッシュに別のデータを格納する等、メモリ100のリソースを有効に活用することができる。例えば、図9においては、“A2”レベルの書き込み完了時点で、キャッシュXDLからロワーページのデータが消失している。“B2”レベルの書き込み完了時点では、キャッシュLDLからアッパーページのデータが消失している。
中断した書き込み動作を別ページに再書き込みするにあたっては、メモリ100は、メモリコントローラ200から受け取った2ページ分のデータを必要とする。よって、書き込み動作を中断した時点でデータが消失していたか否か、つまり、どの時点まで書き込み動作が進行していたか、が再開後の処理に影響する。
第1実施形態では、上記の点に鑑みて、上記のようにステートマシン120がレジスタPW1COMPを備える。レジスタPW1COMPは、状態コードCODE_PW1COMPを保持する。状態コードCODE_PW1COMPは、書き込み動作の進行の状況に基づく値を有し、よって、状態コードCODE_PW1COMPは、書き込み動作の中断を指示されたタイミングに基づく値を有する。メモリ100は、条件に基づいて、状態コードCODE_PW1COMPを含む情報をメモリコントローラ200へと送信する。
以下に、状態コードCODE_PW1COMPの例について、書き込み動作の中断のタイミングが異なる場合に分けて説明する。
(書き込み動作中に中断が生じなかった場合)
まず、書き込み動作中に中断が生じなかった場合について図10〜図12を用いて説明する。この場合、状態コードCODE_PW1COMPはメモリコントローラ200に送信されない。
図10〜図12は、書き込み動作中に中断が生じなかった場合の、書き込み動作における各種信号のタイミングチャートである。図10〜図12は、選択ワード線WLに印加される電圧の波形も示す。ただし、図10〜図12および同様の他の図における選択ワード線WLへの印加電圧は単なる例である。
値PW1COMPは、レジスタPW1COMPに保持されている値である。値ACOMPは、レジスタACOMPに保持されている値である。値BCOMPは、レジスタBCOMPに保持されている値である。値号CCOMPは、レジスタCCOMPに保持されている値である。
図10に示されるように、時刻t1において、メモリコントローラ200は、書き込みコマンドPROを、書き込み先のロワーページのアドレスおよび書き込みデータと共にメモリ100に送信する。時刻t2において、メモリ100は、ロワーページの書き込みデータをキャッシュXDLからキャッシュUDLへと転送する。
時刻t3において、メモリコントローラ200は、書き込みコマンドPROを書き込み先のアッパーページのアドレスおよび書き込みデータと共にメモリ100に送信する。時刻t4において、メモリ100は、アッパーページの書き込みデータをキャッシュXDLからキャッシュLDLへと転送する。
時刻t2およびt4においてデータを転送する間、メモリ100は、ビジーを示す“L”レベルのレディービジー信号RBnを出力する。
書き込みデータが、メモリコントローラ200からメモリ100のキャッシュLDLまたはUDLへと転送されるまでの間、値PW1COMP,ACOMP,BCOMP,およびCCOMPは、“L”レベルと“H”レベルとのいずれであってもよい。このように値が不問の状態は図において斜線により示されている。
図11に示されるように、メモリ100は、時刻t5から書き込みコマンドPROに従って第1動作を開始する。これ以降、メモリ100は、書き込み動作が終了するまで、あるいは、メモリコントローラ200から次の信号を受け取れる状態になるまで“L”レベルのレディービジー信号RBnを出力し続ける。
ステートマシン120は、第1動作が開始されると、値PW1COMP,ACOMP,BCOMP,CCOMPを“L”レベルにリセットする。また、ステートマシン120は、ロウデコーダ112等を制御して、選択ワード線WLに、電圧VPGM1から値DVPGM1ずつ高めた電圧を順に印加して“A1”〜“C1”レベルの書き込みを順次行う。
ステートマシン120は、“A1”レベルの書き込みが完了すると、値ACOMPを“H”レベルとする。図11の例によれば、時刻t9で、値ACOMPが“H”レベルとされる。ステートマシン120は、“B1”レベルの書き込みが完了すると、値BCOMPを“H”レベルとする。図11の例によれば、図示されない時刻t13で、値BCOMPが“H”レベルとされる。“C1”レベルの書き込み完了により第1動作が完了すると、ステートマシン120は、値PW1COMPを“H”レベルとする。図11の例によれば、時刻t17で、値_PW1COMPが“H”レベルとされる。
時刻t18において、ステートマシン120は、第2動作に備え、値ACOMP,BCOMPを“L”レベルにリセットする。一方、ステートマシン120は、値PW1COMPを“H”レベルに維持する。
図12に示されるように、メモリ100は、時刻t18から書き込みコマンドPROに従って第2動作を開始する。
ステートマシン120は、ロウデコーダ112等を制御して、選択ワード線WLに、電圧VPGM2から値DVPGM2ずつ高めた電圧を順に印加して“A2”〜“C2”レベルの書き込みを順次行う。
ステートマシン120は、“A2”レベルの書き込みが完了すると、値ACOMPを“H”レベルとし、“B2”レベルの書き込みが完了すると、値BCOMPを“H”レベルとする。ステートマシン120は、“C2”レベルの書き込みが完了し、第2動作が完了すると、値CCOMPを“H”レベルとする。図12の例によれば、時刻t30で、値CCOMPが“H”レベルとされる。
以上により、書き込み動作が終了する。
(第1動作中に中断が生じた場合)
書き込み動作の途中でホスト機器300がメモリコントローラ200に中断を指示すると、メモリコントローラ200は書き込み動作の中断のための処理を行う。
以下に、図13及び図14を用い、メモリ100が中断を第1動作中に指示された場合の書き込み動作のフローについて説明する。
図13に示されるように、ステップS105において、メモリコントローラ200は、書き込みコマンドPROを、書き込み先のアドレス及び書き込みデータと共にメモリ100に送信する。書き込みデータは、ロワーページのデータ及びアッパーページのデータを含む。ステップS105は、図10の時刻t1〜t5までに行われる動作に相当する。
ステップS110において、メモリ100は、“H”レベルの信号CMD_PROに従って書き込み動作を実行する。“H”レベルの信号CMD_PROは、メモリ100が書き込みコマンドPROを受け取ったことに基づいており、書き込みを指示する。書き込み動作の開始に伴い、メモリ100は“L”レベルのレディービジー信号RBnをメモリコントローラ200に送信する。
メモリコントローラ200が、5回目のベリファイ(時刻t14〜t15)中に書き込み動作の中断を開始するとする。開始に伴い、図14に示されるように、メモリコントローラ200は、書き込み状態の問い合わせを行う(図13のステップS115)。そのために、メモリコントローラ200は、問い合わせコマンドCMDqをメモリ100に送信する。
コマンドデコーダ115は、メモリ100が問い合わせコマンドCMDqを受け取ったことに基づき、ライトイネーブル信号WEnの立ち上がりエッジにおいて、“H”レベルの信号CMD_PW1STATをステートマシン120に送信する。これにより、ステートマシン120は、レジスタPW1COMP中の値を状態コードCODE_PW1COMPとして出力するとともに、選択回路117により状態コードCODE_PW1COMPを出力バッファ103へ転送させる。状態コードCODE_PW1COMPは、ステートマシン120が第1動作中に信号CMD_PW1SATを受け取ったことに基づいて、“L”レベルである。
時刻t15の後、メモリコントローラ200はアサートされたリードイネーブル信号REnをメモリ100に送信し、これを受けメモリ100は各種の状態(ステータス)コード等をIO信号としてメモリコントローラ200へと送信する(図13のステップS120)。送信される状態コードは、状態コードCODE_PW1COMPを含む。
メモリコントローラ200は、状態コードCODE_PW1COMPが“L”レベルであることから、メモリ100が少なくとも問い合わせコマンドCMDqを受け取った時点で第1動作中であったことを知る。よって、メモリコントローラ200は以前に送信した2ページ分のデータが、依然、キャッシュLDL,UDL,およびXDL中のいずれかに保持されていることを知る。このことから、さらに、メモリコントローラ200は、書き込みデータの再送や書き込み動作の進行の待機を必要とすることなく、中断を開始できることを知る。
中断の開始が可能なので、時刻t16において、メモリコントローラ200は、中断コマンドRSTをメモリ100に送信する(図13のステップS125)。なお、メモリ100は、中断コマンドRSTを受け取った後、値PW1COMPを維持してもしなくてもよい。このように、値PW1COMPが保持されてもされなくともよいことも、図では斜線により示されている。
コマンドデコーダ115は、メモリ100が中断コマンドRSTを受け取ったことに基づいて、“H”レベルの信号CMD_RSTをステートマシン120に送信する(図13のステップS130)。“H”レベルの信号CMD_RSTは書き込み動作の中断(停止)を指示する。指示を受け取ると、ステートマシン120は書き込み動作のための処理(例えば書き込みに関与する要素の状態の初期化等)を行って書き込みを停止する。
ステートマシン120が書き込み動作の停止のための処理を完了すると、時刻t17において、メモリ100はレディー状態となる。これを受けて、メモリコントローラ200は、割り込みコマンドCMDiをメモリ100に送信する(図13のステップS135)。割り込みコマンドCMDiは、例えばあるロワーページのデータの読み出しコマンド等であり、読み出し元のアドレスの指定を伴う。
割り込みコマンドCMDiを受け取るメモリ100は、書き込み動作を中断したメモリ100であり得るし、メモリコントローラ200に接続される他のメモリ100でもあり得る。動作を中断したメモリ100においては、例えば書き込み動作が中断されたメモリセルとはアドレスの異なるメモリセルが割り込み動作の対象となる。書き込み動作中に割り込みが可能な動作は、例えば決まっている。メモリ100が保持するデータを破壊しない動作であれば、いかなる動作も割り込み可能である。
時刻t18において、メモリ100は、割り込みコマンドCMDiにしたがい、割り込み動作を実行する(図13のステップS140)。割り込み動作が読み出し動作である例に基づいて、メモリ100はリードイネーブル信号REnに従って読み出しデータをメモリコントローラ200に送信する。割り込み動作は、例えば時刻t19までに終了する。メモリ100は、読み出しデータの送信の開始とともに、レディー状態に戻る。
メモリ100がレディー状態に戻ったことに少なくとも一部基づいて、メモリコントローラ200は、中断された書き込み動作の再開が可能なことを知る。よって、メモリコントローラ200は、例えば読み出しデータを受け取った後の時刻t19において、書き込みコマンドPROrを、書き込み先のアドレスと共に、メモリ100に送信する(図13のステップS145)。
キャッシュXDL,UDL,およびLDL内には、2ページ分のデータが依然保持されているので、メモリコントローラ200は、書き込みデータを送信しない。書き込みコマンドPROrは、通常の書き込みコマンドPROとは異なり、書き込みデータの出力を伴わずに書き込みを指示する。書き込みコマンドPROrの送信先は、書き込み動作を中断されたメモリ100である。書き込み先のアドレスは、中断前に書き込み対象であったメモリセルのアドレスと同一であっても異なっていてもよい。
時刻t20から、ステートマシン120は、書き込み動作の再開のための準備(Transfer)を行う。次いで、時刻t21において、ステートマシン120は、書き込みコマンドPROrに基づき、キャッシュXDL,UDL,およびLDL内のデータを用いて書き込み動作を再開する(図13のステップS150)。再開後の書き込み動作は、通常の書き込み動作と同様、第1動作の1回目の書き込みループから開始される。ただし、再書き込み先のアドレスが中断前と同一である場合は、中断前の書き込み動作を継続するよう再書き込みが行われてもよい。
メモリ100での書き込み動作が終了し、メモリ100がレディー状態となると、メモリコントローラ200は、次の動作をメモリ100に指示する(図13のステップS155)。
(第2動作中に中断事由が生じた場合)
次に、図15を用い、第2動作中に中断事由が生じた場合の書き込み動作のフローについて説明する。
メモリコントローラ200が、第2動作の1回目のベリファイ(時刻t18〜t19)中に書き込み動作の中断を開始するとする。開始に伴い、図15に示されるように、メモリコントローラ200は、問い合わせコマンドCMDqをメモリ100に送信する。
コマンドデコーダ115は、メモリ100が問い合わせコマンドCMDqを受け取ったことに基づいて、“H”レベルの信号CMD_PW1STATをステートマシン120に送信する。これにより、選択回路117による選択を経て、状態コードCODE_PW1COMPを含む種々の情報がメモリコントローラ200に送信される。状態コードCODE_PW1COMPは、ステートマシン120が第2動作中に信号CMD_PW1SATを受け取ったことに基づいて、“H”レベルである。
メモリコントローラ200は、状態コードCODE_PW1COMPが“H”レベルであることから、メモリ100が少なくとも問い合わせコマンドCMDqを受け取った時点で第2動作中であったことを知る。よって、メモリコントローラ200は、キャッシュXDL,UDL,およびLDLのいずれかにおける2ページ分のデータのうち、一部または全部が消失している可能性があることを知る。
時刻t20〜t23までの中断動作及び割り込み動作は、図14の第1動作における時刻t16〜t19までの動作と同じである。割り込み動作は、例えば読み出し動作であり、例えば時刻t23までに終了する。メモリ100は、読み出しデータの送信の開始とともに、レディー状態に戻る。
メモリ100がレディー状態に戻ったことに少なくとも一部基づいて、メモリコントローラ200は、中断された書き込み動作の再開が可能なことを知る。よって、メモリコントローラ200は、例えば読み出しデータを受け取った後の時刻t23において、書き込みコマンドPROを、書き込み先のアッパーページおよびロワーページのアドレスと共に、書き込み動作が中断されたメモリ100へと送信する。メモリ100内の書き込みデータが消失している可能性があるため、メモリコントローラ200はアッパーページおよびロワーページのための書き込みデータも再度送信する。
時刻t27において、ステートマシン120は、書き込みコマンドPROに基づき、再度受け取った書き込みデータを用いて書き込み動作を再開する。
第1実施形態においては、メモリコントローラ200が、メモリ100が書き込み動作中に中断を指示された場合に書き込み動作を中断して、中断の原因となった処理を優先させる例について説明したが、これに限られない。メモリコントローラ200は、状態コードCODE_PW1COMPを出力させた上で、メモリ100の書き込み動作の状況、または中断の原因の内容、重要性、および緊急性等に鑑み、実際に書き込み動作を中断させるかどうかを判断してもよい。例えば、メモリコントローラ200は、第1動作中であれば書き込み動作を中断させ、第2動中であれば書き込み動作を中断させない、という判断を行ってもよい。
(3)第1実施形態にかかる効果
第1実施形態によれば、メモリ100が第1動作中に問い合わせコマンドCMDqを受け取ると、ステートマシン120は“L”レベルの状態コードCODE_PW1COMPをメモリコントローラ200に送信する。ステートマシン120は、メモリ100が第2動作中に問い合わせコマンドCMDqを受け取ると、“H”レベルの状態コードCODE_PW1COMPをメモリコントローラ200に送信する。この構成に基づき、以下の1つまたは複数の効果が得られる。
(A)メモリコントローラ200は、メモリ100の書き込み動作を中断させるにあたり、書き込み動作の進捗状況を知ることができる。よって、メモリコントローラ200は、書き込み動作を再開させるにあたり、再度、メモリ100へのデータの出力が必要か否かを判断することができる。
(B)メモリコントローラ200は、第1動作中に書き込み動作を中断した場合には、メモリ100に書き込みデータを再度送信する必要を有しない。よって、書き込みデータの再送信に要する時間を削減することができる。
例えば、比較例のNAND型フラッシュメモリは、書き込み動作の進捗状況を通知する機能を有しない。このため、書き込み動作を再開させるにあたっては、例えば常に書き込みデータを再送信する。1ページ分のデータの書き込みに要する時間は、例えば1000μ秒である。このうち、メモリコントローラからメモリへのデータの送信に要する時間は、例えば100μ秒である。メモリにデータが残存しているにもかかわらず、データを不必要に再送信すると、全書き込み時間の10%にあたる時間が無駄になる。
第1実施形態によれば、メモリ100が書き込みデータを依然保持している場合、メモリコントローラ200は書き込みデータを再送信しない。これにより、全書き込み時間の10%にあたる時間を削減することができ、信号IOを伝送するバスの占有時間を削減することができる。したがって、メモリ100の利用効率を高めることができ、メモリシステム10全体の効率化を図ることができる。
(C)メモリコントローラ200は、第1動作中には中断動作を開始し、第2動作中には中断動作を開始しない等、多くの選択肢を持つことができる。これにより、メモリコントローラ200がホスト機器300からの様々な命令等の処理を柔軟に行って、メモリシステム10全体の作業効率を高めることができる。
(D)メモリコントローラ200は、例えば第2動作中には、メモリ100への書き込み動作の中断を行わないようにすることができる。このことを前提にすれば、メモリコントローラ200は、データの再送信が必要な場合に備えて、書き込み動作が終了するまで書き込みデータをバックアップしておく必要がなくなる。よって、メモリコントローラ200のリソース(例えばバッファメモリ204)の有効な利用が可能になる。
(4)第1実施形態の変形例
変形例は、書き込み動作の別の例に基づく。変形例について、図16から図18を用いて説明する。
NAND型フラッシュメモリ100が書き込み動作を開始するにあたり、当初、1ページ分(例えば、ロワーページ)のデータのみしか受け取れない場合がある。これは、ホスト機器300からの様々な命令等を処理するなかで、メモリコントローラ200による処理を待つ命令が多くある場合などに起こり得る。このような場合、例えばメモリコントローラ200は、もう1ページ分(例えば、アッパーページ)のデータの送信の前に、ロワーページのデータのみの書き込みを開始する。ロワーページのデータを書き込む動作は、例えばロワー書き込みと称される。ロワー書き込みは、第1動作及び第2動作を指示するコマンドとは異なるコマンドにより指示される。ロワー書き込み、およびロワー書き込みを経てアッパーページの書き込みを行う方式は、LM書き込み方式と称される。一方、図4のようにロワーページとアッパーページのデータが保持される状態への書き込みは、例えばフルシーケンス方式とも称される。
ロワー書き込み後の状態が、図16(b’)に示される。変形例に記述される書き込み動作は、図16(b’)のステップが挿入される点において、図4の書き込み動作と異なる。ロワー書き込みにより、メモリセルトランジスタMTの閾値電圧が上昇され、メモリセルトランジスタMTは“LM”レベルにあるか、“E”レベルにとどまる。“LM”レベルにあるトランジスタMTの閾値電圧は、ベリファイ電圧LMVより高い。ベリファイ電圧LMVは、例えばベリファイ電圧AV1より高くベリファイ電圧BV1より低い。
メモリ100は、ロワー書き込みの後でアッパーページのデータを受け取り、図4と同様に、第1および第2動作を行う。
本変形例では、書き込み動作が、LM書き込み方式によるものからフルシーケンス方式によるものに切り替えられる。
[書き込み動作のフロー]
図17及び図18は、ロワー書き込みが中断された場合の書き込み動作のフローを示す。
図17に示されるように、時刻t1において、メモリコントローラ200は、書き込みコマンドPRSを、書き込み先のロワーページのアドレスおよび書き込みデータと共にメモリ100に送信する。書き込みコマンドPRSは、1ページ分のデータの書き込みを指示し、フルシーケンス方式の書き込みを指示する書き込みコマンドPROとは異なる。コマンドPRSおよび書き込みデータを受け取ると、ステートマシン120は、時刻t2において、ロワーページの書き込みデータをキャッシュXDLからキャッシュUDLへと転送する。
書き込みコマンドPRSに基づいて、ステートマシン120は、時刻t3からロワー書き込みの書き込みループを開始する。ロワー書き込みでは、プログラム電圧は、印加の度に、ステートマシン120による制御によって、電圧VPGMLから値DVPGMLだけステップアップされる。電圧VPGMLは、例えば第2動作における電圧VPGM2より小さい。電圧VPGMLは、第1動作における電圧VPGM1以下でも以上でもよい。値DVPGMLは、例えば第2動作における値(ステップアップ幅)DVPGM2よりも大きい。値DVPGMLは、第1動作におけるステップアップ幅DVPGM1以下でも以上でもよい。
ロワー書き込みにおいては書き込みデータが1ページ分しかなく、全てのキャッシュが占有されることがない。このため、メモリ100は、メモリコントローラ200から次のデータを受け入れ可能である。よって、ロワー書き込み中、ステートマシン120は、“H”レベルのレディービジー信号RBnをメモリコントローラ200に送信する。
メモリコントローラ200が、2回目のプログラムループ(t5〜t6)中に書き込み動作の中断を開始するとする。開始に伴い、メモリコントローラ200は、問い合わせコマンドCMDqをメモリ100に送信する。
コマンドデコーダ115は、メモリ100が問い合わせコマンドCMDqを受け取ったことに基づき、“H”の信号CMD_PW1STATをステートマシン120に送信する。これにより、時刻t6において、状態コードCODE_PW1COMPを含む種々の情報がメモリ100からメモリコントローラ200に送信される。ステートマシン120は、ロワー書き込み中はアッパーページのデータ取得後にフルシーケンス方式に切り替え可能なよう、ロワーページのデータをキャッシュXDL,UDL,およびLDLのいずれかに保持し続ける。よって、ロワー書き込みの間、値PW1COMPは“L”レベルにとどまっており、ひいては状態コードCODE_PW1COMPも“L”レベルである。
メモリコントローラ200は“L”レベルの状態コードCODE_PW1COMPを受け取ったことに基づいて、メモリ100が問い合わせコマンドCMDqを受け取った時点において、メモリ100がロワーページの書き込みデータを保持していることを知る。このことから、さらに、メモリコントローラ200は、中断を開始できることを知る。
中断の開始が可能なので、メモリコントローラ200は、中断コマンドRSTをメモリ100に送信する。時刻t7以降、メモリ100は、図14及び図15の場合と同様に、中断動作及び割り込み動作を実行する。割り込み動作は、例えば読み出し動作であり、メモリ100は、読み出しデータの送信の開始とともにレディー状態に戻る。
メモリ100がレディー状態に戻ったことに少なくとも一部基づいて、メモリコントローラ200は、中断された書き込み動作の再開が可能なことを知る。よって、図18に示されるように、メモリコントローラ200は、例えば読み出しデータを受け取った後の時刻t10において、書き込みコマンドPRSrを、書き込み先のアドレスと共に、書き込み動作を中断されたメモリ100へと出力する。メモリコントローラ200は、書き込みデータを送信しない。キャッシュXDL,UDL,またはLDLが、ロワーページのデータを依然保持しているからである。書き込みコマンドPRSrは、通常の書き込みコマンドPRSとは異なり、データの出力を伴わずに1ページ分の書き込みを指示する。書き込み先のアドレスは、中断前に書き込み対象であったメモリセルのアドレスと同一であっても異なっていてもよい。
時刻11から、ステートマシン120は、書き込み動作の再開のための準備(Transfer)を行う。次いで、時刻t12において、ステートマシン120は、書き込みコマンドPRSrに基づき、キャッシュXDL,UDL,またはLDL中のデータを用いて書き込み動作を再開する。
一方、時刻t12において、メモリコントローラ200は、アッパーページのデータを出力できる状態となる。そこで、メモリコントローラ200は、書き込みコマンドPROを、書き込み先のアドレス、及び書き込みデータと共に、書き込み動作中のメモリ100に送信する。
時刻t12の時点でもキャッシュXDL,UDL,またはLDL内には、ロワーページのデータが依然保持されているため、メモリコントローラ200は、アッパーページのデータのみをメモリ100に送信し、ロワーページのデータの出力は行わない。書き込み先のブロックBLK、ストリングユニットSU、ワード線WLのアドレスは、書き込み動作中のメモリセルのものと同一である必要がある。
書き込みコマンドPROを受け取ったことに基づき、メモリ100は、フルシーケンス方式による書き込み動作を開始する。この書き込み動作は、例えば図11および図12に示される動作と同じである。さらに新たな中断の原因が発生したときは、メモリ100及びメモリコントローラ200は、例えば図14または図15に示される動作と同様の動作を行ってもよい。
以上のように、変形例によれば、信号CMD_PW1STAT、及び状態コードCODE_PW1COMP等の構成は、LM書き込み方式からフルシーケンス方式へと切り替わる書き込み動作においても適用可能である。
<第2実施形態>
次に、第2実施形態に係るNAND型フラッシュメモリ150及びメモリコントローラ250について、図19から図22を用いて説明する。第2実施形態は、メモリコントローラとメモリとの間でのデータ保持中断コマンドが設けられる点において、第1実施形態と異なる。
(1)メモリシステムの構成
第2実施形態では、メモリコントローラ250は、第1実施形態のメモリコントローラ200の要素、動作、および機能に加えて、データ保持中断コマンドRSVRSTを出力できる。メモリコントローラ250は、例えばメモリ150での書き込み動作の間にホスト機器300から書き込み動作の中断を指示されると、データ保持中断コマンドRSVRSTをメモリ150に送信する。データ保持中断コマンドRSVRSTは、これを受け取ったメモリ150が第1動作中であれば、第1動作の完了後の中断を指示する。
メモリ150は、図19に示される構成を有する。メモリ150は、周辺回路1においてコマンドデコーダ155を含む。コマンドデコーダ155は、コマンドデコーダ115の要素、動作および機能に加えて、データ信号DINがデータ保持中断コマンドRSVRSTを含んでいた場合、例えば信号CMD_RSVRSTを出力することができる。信号CMD_RSVRSTは、メモリ150がデータ保持中断コマンドRSVRSTを受け取ったことをステートマシン120に知らせる。信号CMD_RSVRSTは、メモリ150がデータ保持中断コマンドRSVRSTを受け取ったことに基づいて“H”レベルとされる。コマンドデコーダ155は、“H”レベルの信号CMD_RSVRSTを受け取ったことを、例えばレジスタを用いて記憶する。ステートマシン120は、“H”レベルの信号CMD_RSVRSTを書き込み動作のどの段階で受け取ったかに応じて、書き込み動作を中断するタイミングを調整する。
コマンドデコーダ155の他の機能については、上述の実施形態にて記述されたコマンドデコーダ115と同様である。
その他の構成については、第2実施形態には、第1実施形態の記述が全て当てはまる。
(2)データの書き込み動作
次に、NAND型フラッシュメモリ150へのデータの書き込み動作の例について説明する。
[第1動作中に中断が生じた場合]
まずは、図20を用い、図21を参照しながら、メモリ150での第1動作中にホスト機器300がメモリコントローラ250に中断を指示した場合の書き込み動作のフローについて説明する。
図20に示されるように、メモリコントローラ250は、書き込みコマンドPROを、書き込み先のアドレス及び書き込みデータとともにメモリ150に送信する(ステップS205)。書き込みコマンドPROに従って、メモリ150は、書き込み動作を行う(ステップS210)。ステップS210は、図21に示されるように、プログラム(ステップS211)、ベリファイ(ステップS212)、第1動作の終了の確認(ステップS213)を含む。第1動作が終了するまで、ステップS211〜S213の組が繰り返される。
以降のフローは、メモリ150がデータ保持中断コマンドRSVRSTを書き込み動作中のどの段階で受け取ったか否かに基づいて異なる。まず、メモリ150が第1動作中にデータ保持中断コマンドRSVRSTを受け取った場合について説明する。すなわち、図20に示されるように、第1動作中にメモリコントローラ250がデータ保持中断コマンドRSVRSTをメモリ150に送信する(ステップS215)。この場合でも、メモリ150は第1動作を継続し、完了させる。第1動作が完了すると、ステートマシン120は、データ保持中断動作を行う(ステップS220)。データ保持中断動作において、ステートマシン120は、第1動作中に“H”レベルの信号CMD_RSVRSTを受け取ったかを判定する(図21のステップS220)。ステートマシン120は、第1動作中に“H”レベルの信号CMD_RSVRSTを受け取ったことを知り、書き込み動作を中断する。この結果、メモリ150はレディー状態に移行する。
メモリコントローラ250は、メモリ150がレディー状態となったことを受けて、メモリ150に問い合わせコマンドCMDqを送信する(ステップS225)。メモリが問い合わせコマンドCMDqを受け取ったことに基づいて、ステートマシン120は、状態コードCODE_PW1COMPをメモリコントローラ250に送信する(ステップS230)。状態コードCODE_PW1COMPは、メモリ150がデータ保持中断コマンドRSVRSTを受信した時点、ひいてはステートマシン120が“H”レベルの信号CMD_RSVRSTを受け取った時点の値(ここでは、“L”レベル)に維持されている。よって、メモリコントローラ250は、メモリ150が第1動作中にデータ保持中断コマンドRSVRSTを受け取り、かつ第1動作を完了させた後に第2動作を開始することなく、書き込み動作を中断したことを知る。これにより、メモリコントローラ250は、メモリ150が、依然、2ページ分のデータを保持していることを知る。
続くステップS235〜S240までの割り込み動作は、図13におけるステップS135〜S140までの動作と同じである。割り込み動作が終了すると、メモリコントローラ250は、書き込みコマンドPROrを書き込み先のアドレスと共にメモリ150に送信する(ステップS245)。メモリコントローラ250は、書き込みデータを再送信しない。書き込み先のアドレスは、中断前に書き込み対象であったメモリセルのアドレスと同一とすることができる。
ステートマシン120は、書き込みコマンドPROrに基づき、書き込み動作を再開する(ステップS250)。ステップS250は、図21に示されるように、プログラム(ステップS251)、ベリファイ(ステップS252)、第2動作の終了の確認(ステップS253)を含む。第2動作が終了するまで、ステップS251〜S253の組が繰り返される。第2動作が終了してメモリ150がレディー状態となると、メモリコントローラ250は、次の動作をメモリ150に指示する(ステップS255)。
一方、メモリ150が第1動作中にデータ保持中断コマンドRSVRSTを受け取らなかった場合、このことを、ステートマシン120は図21のステップS220での判断により知る。この場合、ステートマシン120は、そのまま、第2動作を実行する(ステップS251’〜S253’)。すなわち、プログラムおよびベリファイが、値CCOMPが1になるまで繰り返され、値CCOMPが1になると書き込みが終了する。
このように、メモリコントローラ250がメモリ150の第1動作中にデータ保持中断コマンドRSVRSTをメモリ150に送信した場合、コマンドの送信から書き込み動作が中断するまでにかかる時間は、中断コマンドRSTを用いた場合よりも長い。第1動作が継続するからである。
メモリコントローラ250は、書き込み動作中にホスト機器300から中断を指示された場合、データ保持中断コマンドRSVRSTに代えて、中断コマンドRSTを送信することもできる。いずれのコマンドを送信するかは、中断の原因の緊急度、及びメモリシステム10の全体の状況等に鑑みて、メモリコントローラ250が判断する。
[第2動作中に中断が生じた場合]
次に、図22を用いて、メモリ150での第2動作中にホスト機器300がメモリコントローラ250に中断を指示した場合の書き込み動作のフローについて説明する。
図22に示されるように、メモリコントローラ250は、保持中断コマンドRSVRSTをメモリ150に送信する(ステップS215)。ステップS215は、メモリ150が第2動作中に行われたものとする。メモリ150がデータ保持中断コマンドRSVRSTを受け取ったことに基づいて、ステートマシン120は、“H”レベルの信号CMD_RSVRSTを受け取り、信号CMD_RSVRSTを受け取ったタイミングを判断する(ステップS220)。本例のように、ステートマシン120は、第2動作中に“H”レベルの信号CMD_RSVRSTを受け取った場合、“H”レベルの信号CMD_RSVRSTを受け取った時点で書き込み動作を中断する。
この後、ステップS225およびS230が行われる。ステップS230で送信される状態コードCODE_PW1COMPは“H”レベルである。よって、メモリコントローラ250は、メモリ150が第2動作中にデータ保持中断コマンドRSVRSTを受け取り、書き込み動作を中断したこと、ひいてはキャッシュXDL,UDL,およびLDLのいずれかの中の2ページ分のデータのうちの一部または全部が消失していることを知る。
続く割り込み動作後のステップS245において、メモリコントローラ250は、書き込み動作を再開させるにあたり、書き込みコマンドPROを書き込み先のアドレスおよび書き込みデータと共にメモリ150に送信する。書き込み先のアドレスは、中断前に書き込み対象であったメモリセルのアドレスと同一であっても異なっていてもよい。
(3)第2実施形態にかかる効果
第2実施形態によれば、メモリ150が第1動作中にデータ保持中断コマンドRSVRSTを受け取ると、ステートマシン120は第1動作が終了するまで書き込み動作を継続し、第1動作の終了後に書き込み動作を中断する。この構成に基づき、以下の1つまたは複数の効果を得られる。
(A)書き込み動作の中断の時点で第1動作が終了しているので、書き込み対象のメモリセルトランジスタMTは、すでに書き込みデータに応じて“A1”〜“C1”レベルのいずれかにある。このような状態は、第2動作を経た状態よりも信頼には劣るものの一時的にデータが保持されている状態としては十分な信頼性を有する場合がある。このため、この一時的にデータがメモリセルトランジスタMTに保持されている状態の間に割り込み動作を行うことができる。
(B)中断前と同一のトランジスタMTに対して書き込みを再開する場合、メモリ150は、第2動作の最初から書き込み動作を再開することができる。このことは、第1動作または第2動作の途中から再開する場合よりも、処理の管理および実行が容易である。また、不要であるにも関わらず第1動作を再度行うということが避けられ、書き込み時間の短縮が可能である。
(4)第2実施形態の変形例
変形例は、メモリ160が第1動作中にデータ保持中断コマンドRSVRSTを受け取った場合の書き込み動作の再開の動作に関する。変形例について、図23を用いて説明する。
図23のステップS205〜S240までの動作は、図20の動作と同じである。続くステップS241において、メモリコントローラ260は、書き込み動作の再開にあたり、読み出しコマンドRD1rをメモリ160に送信する。読み出しコマンドRD1rは、書き込み動作を中断されたトランジスタMTからのデータ読み出しを指示する。読み出しコマンドRD1rは、通常時の読み出しコマンドと異なり、“A1”〜“C1”レベルの判定のための読み出し電圧の使用を指示する。
ステートマシン120は、メモリ160が読み出しコマンドRD1rを受け取ったことに基づいて、読み出しコマンドRD1rに従ってデータの読み出しを行う(ステップS242)。読み出されたデータは、メモリコントローラ260により受け取られる。メモリコントローラ260は、この読み出しデータ中の誤りをECC回路260を用いて訂正する。このメモリ160から読み出され訂正を施されたデータは、ステップS205での書き込みデータに相当する。
メモリコントローラ260は、書き込みコマンドPROを書き込み先のアドレスおよび書き込みデータと共にメモリ160に送信する(ステップS245)。メモリ160が書き込みコマンドPROを受け取ると、ステートマシン120は書き込み動作を再開する(ステップS250)。
このように、本変形例によれば、第1動作中に指示された書き込み動作の中断後で、その再開前に、メモリ160は読み出しコマンドRD1rを受け取って、書き込み動作を中断されたトランジスタMTからデータを読み出す。このため、第1動作中に指示された書き込み動作の中断後の再開に備えてキャッシュLDL,UDL,およびXDL中に書き込みデータを保持しなくても、メモリコントローラ260は、トランジスタMTに保持された一時的データを用いて書き込みデータを再生できる。このことは、メモリコントローラ260による書き込みデータの保持の必要性を排除する。これにより、例えば図23のステップS205の後、バッファメモリ240中の書き込みデータを消去して、他の用途に利用できる。
<他の実施形態>
動作のフローにおけるステップの順序は、可能である限り、相互に入れ替えが可能である。例えば、状態コードCODE_PW1COMPの通知と、中断動作の実行と、割り込み動作の実行とは、入れ替えが可能である。例えば、書き込み動作を中断した後に状態コードCODE_PW1COMPを通知したり、割り込み動作を実行した後に状態コードCODE_PW1COMPを送信してもよい。
また、実施形態および変形例では、データの出力を伴わずに書き込みを再開する場合、通常の書き込みコマンドPROおよびPRS等とは異なる書き込みコマンドPROrおよびPRSr等が使用される例について説明したが、これに限られない。書き込みコマンドによる区別は行わず、例えば状態コードCODE_PW1COMPが“L”レベルのとき書き込みコマンドを受け取ると、データ出力無しで書き込みを開始する機能をNAND型フラッシュメモリが有していてもよい。
メモリセルトランジスタに書き込まれるデータは3ビットまたはそれ以上であってもよい。例えば3ビットである場合、一括して書き込まれるメモリセルトランジスタMTの組の記憶空間は、ロワーページ、ミドル(middle)ページ、及びアッパーページを有する。
NANDストリングNSは、MONOS(Metal-Oxide-Nitride-Oxide-Silicon)構造を有する平面NANDストリングであってもよい。
上記実施形態および変形例では、メモリセルの記憶方式は2値記憶方式、多値記憶方式等を問わない。多値記憶方式のメモリセルにおける、読み出し動作、書き込み動作、および消去動作の例について、以下に詳述する。
例えば、多値レベルの読み出し動作では、閾値電圧を低い方から順に、Aレベル、Bレベル、及びCレベルなどとする。かかる読み出し動作において、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等のいずれかの間であってよい。
書き込み動作は、プログラム動作とベリファイ動作とを含む。書き込み動作においては、プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば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の間であってよい。
消去動作においては、半導体基板上部に配置され、かつ、メモリセルが上方に配置されたウェルに最初に印加される電圧は、例えば12V〜13.6Vの間である。これに限定されることなく、例えば13.6V〜14.8V,14.8V〜19.0V,19.0V〜19.8V,19.8V〜21V等のいずれかの間であってもよい。消去動作の時間(tErase)としては、例えば3000μs〜4000μs,4000μs〜5000μs,4000μs〜9000μsの間であってよい。
また、メモリセルは、例えば以下のような構造であってもよい。メモリセルは、シリコン基板等の半導体基板上に膜厚が4nm〜10nmのトンネル絶縁膜を介して配置された電荷蓄積膜を有する。この電荷蓄積膜は、膜厚が2nm〜3nmのシリコン窒化(SiN)膜、またはシリコン酸窒化(SiON)膜などの絶縁膜と、膜厚が3nm〜8nmのポリシリコン(Poly−Si)膜との積層構造にすることができる。ポリシリコン膜には、ルテニウム(Ru)などの金属が添加されていても良い。メモリセルは、電荷蓄積膜の上に絶縁膜を有する。この絶縁膜は、例えば膜厚が3nm〜10nmの下層High−k膜と、膜厚が3nm〜10nmの上層High−k膜とに挟まれた、膜厚が4nm〜10nmのシリコン酸化(SiO)膜を有する。High−k膜の材料としては、酸化ハフニウム(HfO)などが挙げられる。また、シリコン酸化膜の膜厚は、High−k膜の膜厚よりも厚くすることができる。絶縁膜上には、膜厚が3nm〜10nmの仕事関数調整用の膜を介して、膜厚が30nm〜70nmの制御電極が設けられる。ここで仕事関数調整用膜は、例えば酸化タンタル(TaO)などの金属酸化膜、窒化タンタル(TaN)などの金属窒化膜等である。制御電極には、タングステン(W)などを用いることができる。メモリセル間にはエアギャップを配置することができる。
以上のように、各実施形態および変形例について説明したが、これらの実施形態等は、例として提示したものであり、これらの実施形態等の技術的思想は、構成部品の材質、形状、構造、配置等を限定するものではない。これら新規な実施形態等は、その他の様々な形態で実施されることが可能であり、実施段階ではその要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。さらに、上記の実施形態等には種々の段階が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の実施形態が抽出され得る。
100 NAND型フラッシュメモリ(半導体記憶装置)
120 ステートマシン(制御回路)
200 メモリコントローラ
MT メモリセルトランジスタ(メモリセル)
PW1COMP レジスタ

Claims (6)

  1. メモリセルと、
    第1データを保持可能な第1キャッシュと、
    第2データを保持可能な第2キャッシュと、
    1コマンドに従って前記メモリセルに前記第1データおよび前記第2データを書き込む書き込み動作を行う制御回路と、を備え、
    前記書き込み動作は第1動作および第2動作を含み、
    前記制御回路は、
    第1電圧を用いて前記第1動作を開始し、
    前記第1電圧より高い第2電圧を用いて前記第2動作を開始し、
    前記第1動作中に第2コマンドが受信されると第1状態の信号を出力し、
    前記第2動作中に前記第2コマンドが受信されると前記第1状態と異なる第2状態の前記信号を出力し、
    前記第1データおよび前記第2データは、前記第1動作が終了するまで前記第1キャッシュおよび前記第2キャッシュにそれぞれ保持され、
    前記第1データは、前記第2動作の途中で前記第1キャッシュから消去される
    ことを特徴とする半導体記憶装置。
  2. 前記制御回路は、
    前記第1動作が終了すると、前記信号を前記第1状態から前記第2状態へと変化させる
    ことを特徴とする請求項1の半導体記憶装置。
  3. 前記制御回路は、
    前記第1動作中に前記第2コマンドが受信されると、前記第1動作が終了するまで前記第1動作を継続し、前記第1動作の終了後に前記書き込み動作を中断する
    ことを特徴とする請求項1の半導体記憶装置。
  4. 前記制御回路が前記第1動作の終了後に前記書き込み動作を中断した後、前記書き込み動作を再開する前に、中断された前記書き込み動作により書き込まれたデータの読み出しを指示するコマンドを受信する
    ことを特徴とする請求項の半導体記憶装置。
  5. メモリセル、第1データを保持可能な第1キャッシュ、第2データを保持可能な第2キャッシュ、及び前記メモリセルを制御する制御回路、を含む半導体記憶装置と、
    前記半導体記憶装置を制御するメモリコントローラと、
    前記メモリコントローラを制御するホスト機器と、を備え、
    前記メモリコントローラは、
    第1動作および第2動作を含む、前記メモリセルに前記第1データおよび前記第2データを書き込む書き込み動作を指示する第1コマンドを前記半導体記憶装置に送信し、
    前記ホスト機器からの指示に基づいて、第2コマンドを前記半導体記憶装置に送信し、
    前記制御回路は、
    第1電圧を用いて前記第1動作を開始し、前記第1電圧より高い第2電圧を用いて前記第2動作を開始し、
    前記第1動作中に前記第2コマンドが受信されると第1状態の信号を前記メモリコントローラに送信し、
    前記第2動作中に前記第2コマンドが受信されると前記第1状態と異なる第2状態の前記信号を前記メモリコントローラに送信し、
    前記第1データおよび前記第2データは、前記第1動作が終了するまで前記第1キャッシュおよび前記第2キャッシュにそれぞれ保持され、
    前記第1データは、前記第2動作の途中で前記第1キャッシュから消去される
    ことを特徴とするメモリシステム。
  6. 前記メモリコントローラは、
    前記書き込み動作の中断の原因が生じたときに前記第2コマンドを送信する
    ことを特徴とする請求項のメモリシステム。
JP2015119551A 2015-06-12 2015-06-12 半導体記憶装置及びメモリシステム Active JP6453718B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015119551A JP6453718B2 (ja) 2015-06-12 2015-06-12 半導体記憶装置及びメモリシステム
CN201610137242.4A CN106251900B (zh) 2015-06-12 2016-03-10 半导体存储装置及存储系统
TW105107652A TWI582777B (zh) 2015-06-12 2016-03-11 Semiconductor memory device and memory system
US15/094,631 US9564228B2 (en) 2015-06-12 2016-04-08 Semiconductor memory device and memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015119551A JP6453718B2 (ja) 2015-06-12 2015-06-12 半導体記憶装置及びメモリシステム

Publications (2)

Publication Number Publication Date
JP2017004583A JP2017004583A (ja) 2017-01-05
JP6453718B2 true JP6453718B2 (ja) 2019-01-16

Family

ID=57517199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015119551A Active JP6453718B2 (ja) 2015-06-12 2015-06-12 半導体記憶装置及びメモリシステム

Country Status (4)

Country Link
US (1) US9564228B2 (ja)
JP (1) JP6453718B2 (ja)
CN (1) CN106251900B (ja)
TW (1) TWI582777B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6856400B2 (ja) 2017-02-20 2021-04-07 キオクシア株式会社 半導体記憶装置及びメモリシステム
JP6783682B2 (ja) * 2017-02-27 2020-11-11 キオクシア株式会社 半導体記憶装置及びメモリシステム
JP2019029045A (ja) 2017-07-26 2019-02-21 東芝メモリ株式会社 半導体記憶装置
JP2019057342A (ja) 2017-09-20 2019-04-11 東芝メモリ株式会社 半導体記憶装置
KR102420161B1 (ko) 2017-12-01 2022-07-12 삼성전자주식회사 메모리 컨트롤러 및 그것의 제어 방법
CN109240619A (zh) * 2018-09-05 2019-01-18 山东大学 提高三维nand闪存存储器可靠性的数据写入方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627784A (en) * 1995-07-28 1997-05-06 Micron Quantum Devices, Inc. Memory system having non-volatile data storage structure for memory control parameters and method
JP3883687B2 (ja) * 1998-02-16 2007-02-21 株式会社ルネサステクノロジ 半導体装置、メモリカード及びデータ処理システム
JP2001250388A (ja) * 2000-03-06 2001-09-14 Fujitsu Ltd 消去動作情報を記憶する不揮発性メモリ
ITRM20030354A1 (it) * 2003-07-17 2005-01-18 Micron Technology Inc Unita' di controllo per dispositivo di memoria.
JP4041057B2 (ja) 2003-11-13 2008-01-30 株式会社東芝 不揮発性半導体記憶装置
JP2007133968A (ja) * 2005-11-10 2007-05-31 Sharp Corp 不揮発性半導体記憶装置
JP4909670B2 (ja) * 2006-01-24 2012-04-04 株式会社東芝 不揮発性半導体記憶装置及びそれを用いた不揮発性メモリシステム
JP4157563B2 (ja) 2006-01-31 2008-10-01 株式会社東芝 半導体集積回路装置
US7486561B2 (en) * 2006-06-22 2009-02-03 Sandisk Corporation Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
WO2007149677A2 (en) * 2006-06-22 2007-12-27 Sandisk Corporation Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
CA2659828A1 (en) * 2006-08-22 2008-02-28 Mosaid Technologies Incorporated Scalable memory system
JP5142692B2 (ja) 2007-12-11 2013-02-13 株式会社東芝 不揮発性半導体記憶装置
JP2009238874A (ja) 2008-03-26 2009-10-15 Toshiba Corp 半導体メモリ及びその製造方法
JP5283960B2 (ja) 2008-04-23 2013-09-04 株式会社東芝 三次元積層不揮発性半導体メモリ
JP2009266944A (ja) 2008-04-23 2009-11-12 Toshiba Corp 三次元積層不揮発性半導体メモリ
JP2011129176A (ja) 2009-12-15 2011-06-30 Toshiba Corp 不揮発性半導体記憶装置
US8355280B2 (en) * 2010-03-09 2013-01-15 Samsung Electronics Co., Ltd. Data storage system having multi-bit memory device and operating method thereof
KR101642015B1 (ko) * 2010-07-23 2016-07-22 삼성전자주식회사 플래시 메모리 장치 및 플래시 메모리 장치의 프로그램 방법
JP5378326B2 (ja) * 2010-08-17 2013-12-25 株式会社東芝 不揮発性半導体記憶装置とその制御方法
JP2012119019A (ja) * 2010-11-30 2012-06-21 Toshiba Corp 不揮発性半導体記憶装置
KR101785007B1 (ko) * 2011-06-14 2017-11-07 삼성전자주식회사 멀티-비트 메모리 장치를 포함한 데이터 저장 시스템 및 그것의 온-칩 버퍼 프로그램 방법
US9606730B2 (en) * 2012-05-04 2017-03-28 Samsung Electronics Co., Ltd. System and method including three dimensional nonvolatile memory device and random access memory
US8792283B2 (en) * 2012-06-21 2014-07-29 Intel Corporation Extended select gate lifetime
KR102053953B1 (ko) * 2013-02-04 2019-12-11 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법
JP2014186787A (ja) * 2013-03-25 2014-10-02 Toshiba Corp 不揮発性半導体記憶装置、メモリコントローラ、及びメモリシステム

Also Published As

Publication number Publication date
CN106251900A (zh) 2016-12-21
TWI582777B (zh) 2017-05-11
US20160365150A1 (en) 2016-12-15
CN106251900B (zh) 2019-11-29
TW201643880A (zh) 2016-12-16
JP2017004583A (ja) 2017-01-05
US9564228B2 (en) 2017-02-07

Similar Documents

Publication Publication Date Title
JP6453718B2 (ja) 半導体記憶装置及びメモリシステム
CN107818809B (zh) 半导体存储装置及存储器系统
US9558837B2 (en) Nonvolatile semiconductor memory device
US10643715B2 (en) Semiconductor memory device and memory system configured to perform tracking read on first memory cells followed by shift read on second memory cells using read voltage correction value determined during the tracking read
US11289168B2 (en) Controller that acquires status of nonvolatile memory and control method thereof
JP7195913B2 (ja) 半導体記憶装置
JP6453729B2 (ja) 半導体記憶装置及びメモリシステム
US10860251B2 (en) Semiconductor memory device
JP2015176309A (ja) 半導体記憶装置
JP2011197819A (ja) 半導体装置
TW201911311A (zh) 半導體記憶裝置
US20170075759A1 (en) Memory system
JP2021022414A (ja) 半導体記憶装置
JP6293692B2 (ja) メモリシステム
JP2012133843A (ja) 半導体記憶装置
CN113555052B (zh) 半导体存储装置
JP6785168B2 (ja) メモリシステム
JP6226809B2 (ja) 半導体記憶装置
TWI837453B (zh) 半導體記憶裝置
JP2011243116A (ja) メモリシステム及びそのデータ転送方法
JP2024038908A (ja) メモリシステム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170525

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180705

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20180831

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181213

R150 Certificate of patent or registration of utility model

Ref document number: 6453718

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350