JP2021174564A - 半導体記憶装置 - Google Patents
半導体記憶装置 Download PDFInfo
- Publication number
- JP2021174564A JP2021174564A JP2020077416A JP2020077416A JP2021174564A JP 2021174564 A JP2021174564 A JP 2021174564A JP 2020077416 A JP2020077416 A JP 2020077416A JP 2020077416 A JP2020077416 A JP 2020077416A JP 2021174564 A JP2021174564 A JP 2021174564A
- Authority
- JP
- Japan
- Prior art keywords
- program
- voltage
- storage device
- semiconductor storage
- condition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/18—Bit line organisation; Bit line lay-out
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/14—Word line organisation; Word line lay-out
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/20—Suspension of programming or erasing cells in an array in order to read other cells in it
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
Abstract
【課題】書込み動作の性能の劣化を抑制しつつ割込み動作を実行する。【解決手段】一実施形態の半導体記憶装置は、ワード線に接続されたメモリセルと、ワード線にプログラム電圧を印加するプログラム動作と、プログラム動作の後に連続するベリファイ動作と、を含むプログラムループを繰り返す書込み動作を実行するように構成された制御回路と、を備える。制御回路は、書込み動作において、プログラムループを繰り返す毎にプログラム電圧を第1量ずつ上昇させ、書込み動作を中断させる場合、書込み動作を再開させてからn回目(nは、1以上の整数)までのプログラム動作において、第1量を第1量より小さい正数である第2量に変更するように構成される。【選択図】図9
Description
実施形態は、半導体記憶装置に関する。
データを不揮発に記憶することが可能な半導体記憶装置としてNAND型フラッシュメモリが知られている。
書込み動作の性能の劣化を抑制しつつ割込み動作を実行する。
実施形態の半導体記憶装置は、ワード線に接続されたメモリセルと、上記ワード線にプログラム電圧を印加するプログラム動作と、上記プログラム動作の後に連続するベリファイ動作と、を含むプログラムループを繰り返す書込み動作を実行するように構成された制御回路と、を備える。上記制御回路は、上記書込み動作において、上記プログラムループを繰り返す毎に、上記プログラム電圧を第1量ずつ上昇させ、上記書込み動作を中断させる場合、上記書込み動作を再開させてからn回目(nは、1以上の整数)までのプログラム動作において、上記第1量を上記第1量より小さい正数である第2量に変更するように構成される。
以下、図面を参照して実施形態について説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。また、共通する参照符号を有する複数の構成要素を区別する場合、当該共通する参照符号に添え字を付して区別する。なお、複数の構成要素について特に区別を要さない場合、当該複数の構成要素には、共通する参照符号のみが付され、添え字は付さない。
1.第1実施形態
第1実施形態について説明する。以下では、不揮発性メモリとしてのNANDフラッシュメモリと、当該NANDフラッシュメモリを備えたメモリシステムを例に挙げて説明する。
第1実施形態について説明する。以下では、不揮発性メモリとしてのNANDフラッシュメモリと、当該NANDフラッシュメモリを備えたメモリシステムを例に挙げて説明する。
1.1 構成
第1実施形態に係るメモリシステムの構成について説明する。
第1実施形態に係るメモリシステムの構成について説明する。
1.1.1 メモリシステム
まず、第1実施形態に係るメモリシステムを含む構成の概要について、図1を用いて説明する。
まず、第1実施形態に係るメモリシステムを含む構成の概要について、図1を用いて説明する。
図1に示すように、メモリシステム1は、半導体記憶装置(NANDフラッシュメモリ)100とメモリコントローラ200とを備えている。NANDフラッシュメモリ100とメモリコントローラ200とは、例えばそれらの組み合わせにより一つの半導体装置を構成しても良く、その例としてはSDTMカードのようなメモリカードや、SSD(solid state drive)等が挙げられる。
NANDフラッシュメモリ100は複数のメモリセルを備え、データを不揮発に記憶する。メモリコントローラ200は、NANDバスによってNANDフラッシュメモリ100に接続され、ホストバスによってホスト機器300に接続される。そしてメモリコントローラ200は、NANDフラッシュメモリ100を制御し、またホスト機器300から受信した命令に応答して、NANDフラッシュメモリ100にアクセスする。ホスト機器300は、例えばデジタルカメラやパーソナルコンピュータ等であり、ホストバスは、例えばSDTMインタフェース、SAS(Serial attached SCSI(small computer system interface))、SATA(Serial ATA(advanced technology attachment))、PCIe(Peripheral component interconnect express)に従ったバスである。NANDバスは、NANDインタフェースに従った信号の送受信を行う。
NANDインタフェースの信号の具体例は、チップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、リードイネーブル信号REn、レディ・ビジー信号RBn、及び入出力信号I/Oである。
信号CEnは、NANDフラッシュメモリ100をイネーブルにするための信号であり、“L(Low)”レベルでアサートされる。信号CLE及びALEは、NANDフラッシュメモリ100への入力信号I/Oがそれぞれコマンド及びアドレスであることをNANDフラッシュメモリ100に通知する信号である。信号REnは“L”レベルでアサートされ、NANDフラッシュメモリ100から出力信号I/Oを読み出すための信号である。信号WEnも“L”レベルでアサートされ、入力信号I/OをNANDフラッシュメモリ100に取り込ませるための信号である。レディ・ビジー信号RBnは、NANDフラッシュメモリ100がレディ状態(メモリコントローラ200からの命令を受信出来る状態)であるか、それともビジー状態(メモリコントローラ200からの命令を受信出来ない状態)であるかを示す信号であり、“L”レベルがビジー状態を示す。入出力信号I/Oは、例えば8ビットの信号である。そして入出力信号I/Oは、NANDフラッシュメモリ100とメモリコントローラ200との間で送受信されるデータの実体であり、コマンドCMD、アドレスADD、並びに書込みデータ及び読出しデータ等のデータDATである。
1.1.2 メモリコントローラ
引き続き図1を用いて、メモリコントローラ200の構成の詳細について説明する。
引き続き図1を用いて、メモリコントローラ200の構成の詳細について説明する。
メモリコントローラ200は、例えば、SoC(System on a chip)であり、ホストインタフェース回路210、RAM(Random access memory)220、CPU(Central processing unit)230、バッファメモリ240、NANDインタフェース回路250、及びECC回路260を備えている。なお、以下に説明されるメモリコントローラ200の各部210−260の機能は、ハードウェア構成、又はハードウェア資源とファームウェアとの組合せ構成のいずれでも実現可能である。
ホストインタフェース回路210は、ホストバスを介してホスト機器300と接続され、ホスト機器300から受信した命令及びデータを、それぞれCPU230及びバッファメモリ240に転送する。またCPU230の命令に応答して、バッファメモリ240内のデータをホスト機器300へ転送する。
RAM220は、例えばDRAM等の半導体メモリであり、CPU230の作業領域として使用される。そしてRAM220は、NANDフラッシュメモリ100を管理するためのファームウェアや、各種の管理テーブル等を保持する。
CPU230は、メモリコントローラ200全体の動作を制御する。例えば、CPU230は、ホスト機器300から書き込み命令を受信した際には、それに応答して、NANDインタフェース回路250に対して書き込み命令を発行する。読出し動作及び消去動作の際も同様である。またCPU230は、NANDフラッシュメモリ100を管理するための様々な処理を実行する。
バッファメモリ240は、書込みデータや読出しデータを一時的に保持する。
NANDインタフェース回路250は、NANDバスを介してNANDフラッシュメモリ100と接続され、NANDフラッシュメモリ100との通信を司る。そして、CPU230から受信した命令に基づき、信号CEn、ALE、CLE、WEn、及びREnをNANDフラッシュメモリ100へ出力する。また書込み動作の際には、CPU230で発行された書込みコマンド、及びバッファメモリ240内の書込みデータを、入出力信号I/OとしてNANDフラッシュメモリ100へ転送する。更に読出し動作の際には、CPU230で発行された読出しコマンドを、入出力信号I/OとしてNANDフラッシュメモリ100へ転送し、更にNANDフラッシュメモリ100から読み出されたデータを入出力信号I/Oとして受信し、これをバッファメモリ240へ転送する。
ECC回路260は、NANDフラッシュメモリ100に記憶されるデータに関する誤り検出及び誤り訂正処理を行う。すなわちECC回路260は、データを書き込む際には誤り訂正符号を生成して、これを書込みデータに付与し、データを読み出す際にはこれを復号し、誤りビットの有無を検出する。そして誤りビットが検出された際には、その誤りビットの位置を特定し、誤りを訂正する。誤り訂正の方法は、例えば、硬判定復号(Hard bit decoding)処理及び軟判定復号(Soft bit decoding)処理を含む。硬判定復号処理に用いられる硬判定復号符号としては、例えば、BCH(Bose - Chaudhuri - Hocquenghem)符号やRS(Reed- Solomon)符号等を用いることができ、軟判定復号処理に用いられる軟判定復号符号としては、例えば、LDPC(Low Density Parity Check)符号等を用いることができる。
1.1.3 NANDフラッシュメモリ
次に、NANDフラッシュメモリ100の構成について説明する。図1に示すようにNANDフラッシュメモリ100は、メモリセルアレイ110、ロウデコーダ120、ドライバ130、センスアンプ140、アドレスレジスタ150、コマンドレジスタ160、シーケンサ170、及び温度センサ180を備える。
次に、NANDフラッシュメモリ100の構成について説明する。図1に示すようにNANDフラッシュメモリ100は、メモリセルアレイ110、ロウデコーダ120、ドライバ130、センスアンプ140、アドレスレジスタ150、コマンドレジスタ160、シーケンサ170、及び温度センサ180を備える。
メモリセルアレイ110は、ロウ及びカラムに対応付けられた複数の不揮発性のメモリセルを含む複数のブロックBLKを備えている。図1では一例として4つのブロックBLK0〜BLK3が図示されている。そしてメモリセルアレイ110は、メモリコントローラ200から与えられたデータを記憶する。
ロウデコーダ120は、アドレスレジスタ150内のブロックアドレスBAに基づいてブロックBLK0〜BLK3のいずれかを選択し、更に選択したブロックBLKにおいてワード線を選択する。
ドライバ130は、アドレスレジスタ150内のページアドレスPAに基づいて、選択されたブロックBLKに対して、ロウデコーダ120を介して電圧を供給する。
センスアンプ140は、データの読出し動作の際には、メモリセルアレイ110内のメモリセルトランジスタの閾値電圧をセンスし、データを読み出す。そして、このデータDATをメモリコントローラ200に出力する。データの書込み動作の際には、メモリコントローラ200から受信した書込みデータDATを、メモリセルアレイ110に転送する。
アドレスレジスタ150は、メモリコントローラ200から受信したアドレスADDを保持する。このアドレスADDには、上述のブロックアドレスBAとページアドレスPAとが含まれる。コマンドレジスタ160は、メモリコントローラ200から受信したコマンドCMDを保持する。
温度センサ180は、NANDフラッシュメモリ100の温度を計測し、当該計測された温度に対応する温度情報をシーケンサ170に送出する。温度センサ180は、NANDフラッシュメモリ100内の任意の位置に配置することが可能であるが、主にメモリセルアレイ110の温度に対応する温度情報を生成できることが好ましい。
シーケンサ170は、コマンドレジスタ160に保持されたコマンドCMDに基づき、NANDフラッシュメモリ100全体の動作を制御する。また、シーケンサ170は、カウンタ171を含む。カウンタ171は、シーケンサ170からの指示に応じて任意のタイミングで計測を開始又は終了できるように構成され、カウントアップされた値に基づいて各種処理に要した時間を計測する機能を有する。シーケンサ170は、カウンタ171によって計測された時間に基づいて、NANDフラッシュメモリ100の動作を制御し得る。また、シーケンサ170は、温度センサ180から取得した温度情報に基づいて、NANDフラッシュメモリ100の動作を制御し得る。
1.1.4 メモリセルアレイ
図2は、第1実施形態に係るメモリセルアレイの構成を説明するための回路図である。図2では、メモリセルアレイ110に含まれる複数のブロックBLKのうち1つのブロックBLKが示される。
図2は、第1実施形態に係るメモリセルアレイの構成を説明するための回路図である。図2では、メモリセルアレイ110に含まれる複数のブロックBLKのうち1つのブロックBLKが示される。
図2に示すように、ブロックBLKは、例えば4つのストリングユニットSU(SU0〜SU3)を含む。各ストリングユニットSUは、ビット線BL0〜BLm(mは1以上の整数)にそれぞれ関連付けられた複数のNANDストリングNSを含む。各NANDストリングNSは、例えば8個のメモリセルトランジスタMT0〜MT7、並びに選択トランジスタST1及びST2を含む。メモリセルトランジスタMTは、制御ゲート及び電荷蓄積層を含み、データに対応する電荷(電子)を不揮発に記憶する。選択トランジスタST1及びST2のそれぞれは、各種動作時におけるストリングユニットSUの選択に使用される。
各NANDストリングNSにおいて、メモリセルトランジスタMT0〜MT7は、直列接続される。選択トランジスタST1のドレインは、関連付けられたビット線BLに接続され、選択トランジスタST1のソースは、直列接続されたメモリセルトランジスタMT0〜MT7の一端に接続される。選択トランジスタST2のドレインは、直列接続されたメモリセルトランジスタMT0〜MT7の他端に接続される。選択トランジスタST2のソースは、ソース線SLに接続される。
同一のブロックBLKにおいて、メモリセルトランジスタMT0〜MT7の制御ゲートは、それぞれワード線WL0〜WL7に共通接続される。ストリングユニットSU0〜SU3内の選択トランジスタST1のゲートは、それぞれ選択ゲート線SGD0〜SGD3に共通接続される。選択トランジスタST2のゲートは、選択ゲート線SGSに共通接続される。
つまり、ブロックBLKは、同一のワード線WL0〜WL7を共有する複数のストリングユニットSUの集合体である。ブロックBLKは、例えばデータの消去単位である。すなわち、同一ブロックBLK内に含まれるメモリセルトランジスタMTに保持されるデータは、一括して消去される。
ストリングユニットSUは、各々が異なるビット線BLに接続され且つ同一のセレクトゲート線SGDに接続された、複数のNANDストリングNSの集合体である。ストリングユニットSUのうち、同一のワード線WLに共通接続されたメモリセルトランジスタMTの集合体を、セルユニットCUとも呼ぶ。例えば、セルユニットCU内の複数のメモリセルトランジスタMT内に記憶された同位ビットの集合が、「1ページ」として定義される。セルユニットCUは、メモリセルトランジスタMTが記憶するデータのビット数に応じて2ページデータ以上の記憶容量を有し得る。
なお、以上で説明したメモリセルアレイ110の回路構成は、以上で説明した構成に限定されない。例えば、各NANDストリングNSが含むメモリセルトランジスタMT並びに選択トランジスタST1及びST2の個数は、それぞれ任意の個数に設計され得る。各ブロックBLKが含むストリングユニットSUの個数は、任意の個数に設計され得る。
1.1.5 メモリセルトランジスタの閾値電圧分布
次に、メモリセルトランジスタMTの閾値電圧分布について説明する。
次に、メモリセルトランジスタMTの閾値電圧分布について説明する。
本実施形態では、1つのメモリセルトランジスタMTが例えば2ビットデータを保持可能である。この2ビットデータを、下位ビットからそれぞれ下位(Lower)ビット、及び上位(Upper)ビットと呼ぶことにする。そして、同一のセルユニットCUに属するメモリセルの保持する下位ビットの集合を下位ページと呼び、上位ビットの集合を上位ページと呼ぶ。つまり、1つのストリングユニットSU内における1本のワード線WL(1つのセルユニットCU)には2ページが割当てられ、8本のワード線WLを含むストリングユニットSUは16ページ分の容量を有することになる。あるいは言い換えるならば、「ページ」とは、セルユニットCUに形成されるメモリ空間の一部、と定義することも出来る。データの消去は、ブロックBLK単位に行われる一方、データの書込み動作及び読出し動作は、このページ毎又はセルユニットCU毎に行っても良い。
図3は、各メモリセルトランジスタMTの取り得るデータと閾値電圧分布との関係を示すダイアグラムである。
上述の通り、メモリセルトランジスタMTは、2ビットデータを保持可能である。すなわち、メモリセルトランジスタMTは、閾値電圧に応じて4個の状態を取ることが出来る。この4個の状態を、閾値電圧の低いものから順に、“Er”状態(ステート)、“A”状態、“B”状態、及び“C”状態と呼ぶことにする。
“Er”状態のメモリセルトランジスタMTの閾値電圧は、電圧AR未満であり、データの消去状態に相当する。“A”状態のメモリセルトランジスタMTの閾値電圧は、電圧AR以上であり且つ電圧BR(>AR)未満である。“B”状態のメモリセルトランジスタMTの閾値電圧は、電圧BR以上であり且つ電圧CR(>BR)未満である。“C”状態のメモリセルトランジスタMTの閾値電圧は、電圧CR以上であり且つ電圧VREAD(>CR)未満である。このように分布する4個の状態のうちで、“C”状態が、閾値電圧の最も高い状態である。電圧AR〜CRは、読出し電圧VCGRとも呼ばれ、読出し動作において使用される。電圧VREADは、例えば、読出し動作の際に、読出し対象でないワード線WLに印加される電圧であり、保持データにかかわらずメモリセルトランジスタMTをオンさせる電圧である。
閾値電圧分布は、上述の下位ビット、及び上位ビットからなる2ビット(2ページ)データを書き込むことで実現される。すなわち、上記“Er”状態から“C”状態と、下位ビット及び上位ビットとの関係は、次の通りである。
“Er”状態:“11”(“上位/下位”の順で表記)
“A”状態:“01”
“B”状態:“00”
“C”状態:“10”
このように、閾値電圧分布において隣り合う2つの状態に対応するデータ間では、2ビットのうちの1ビットのみが変化する。
“Er”状態:“11”(“上位/下位”の順で表記)
“A”状態:“01”
“B”状態:“00”
“C”状態:“10”
このように、閾値電圧分布において隣り合う2つの状態に対応するデータ間では、2ビットのうちの1ビットのみが変化する。
従って、下位ビットを読み出す際には、下位ビットの値(“0”or“1”)が変化する境界に相当する電圧を用いれば良く、このことは上位ビットでも同様である。
すなわち、図3に示すように、下位ページのデータを読み出す場合には、“A”状態と“B”状態とを区別する電圧BRを読出し電圧として用いることにより、メモリセルトランジスタMTの閾値電圧が電圧BR未満か否(すなわち、電圧BR以上)かを判定する。
上位ページのデータを読み出す場合には、“Er”状態と“A”状態とを区別する電圧AR、及び“B”状態と“C”状態とを区別する電圧CRを読出し電圧として用いる。これにより、メモリセルトランジスタMTの閾値電圧が電圧AR未満又は電圧CR以上か否(すなわち、電圧AR以上電圧CR未満)か、を判定する。
なお、電圧AR及び電圧BRの間には“A”状態に対応する電圧AVが設定され、電圧BR及び電圧CRの間には“B”状態に対応する電圧BVが設定され、電圧CR及び電圧VREADの間には“C”状態に対応する電圧CVが設定される。電圧AV〜CVは、ベリファイ電圧VCGVとも呼ばれ、ベリファイ動作において使用される。書込み動作において半導体記憶装置100は、“A”状態〜“C”状態に属するメモリセルトランジスタMTの閾値電圧を、それぞれベリファイ電圧AV〜CVを超えるまで上昇させる。これにより、“A”状態〜“C”状態に属するメモリセルトランジスタMTの閾値電圧を、それぞれ読出し電圧AR〜CRより高い領域に分布させることができる。
1.2 動作
次に、第1実施形態に係るメモリシステムの動作について説明する。
次に、第1実施形態に係るメモリシステムの動作について説明する。
以下の説明では、データの書込み対象のメモリセルトランジスタMTに接続されたワード線WLを選択ワード線WLと呼ぶ。
1.2.1 書込み動作の概要
図4は、第1実施形態に係るメモリシステムにおける書込み動作の概要を説明するためのコマンドシーケンス及びタイミングチャートである。図4では、書込み動作の際にメモリコントローラ200との間で通信される信号I/O及びRBnと、当該通信に応じて実行される書込み動作のうちの選択ワード線WLに印加される電圧と、が時系列で示される。図4に示すように、書込み動作前の状態では、例えば信号RBnは“H”レベルであり、選択ワード線WLには電圧VSSが印加される。電圧VSSは、接地電圧であり、例えば0Vである。
図4は、第1実施形態に係るメモリシステムにおける書込み動作の概要を説明するためのコマンドシーケンス及びタイミングチャートである。図4では、書込み動作の際にメモリコントローラ200との間で通信される信号I/O及びRBnと、当該通信に応じて実行される書込み動作のうちの選択ワード線WLに印加される電圧と、が時系列で示される。図4に示すように、書込み動作前の状態では、例えば信号RBnは“H”レベルであり、選択ワード線WLには電圧VSSが印加される。電圧VSSは、接地電圧であり、例えば0Vである。
まず、メモリコントローラ200は、書込み動作を指示するコマンドセットWCSとして、コマンドセットCS1及びCS2を順に半導体記憶装置100に送出する。コマンドセットCS1は、下位ページの書込み動作を指示するコマンドCMD及びアドレスADD、並びに下位ページデータDATを含む。コマンドセットCS2は、上位ページの書込み動作を指示するコマンドCMD及びアドレスADD、並びに上位ページデータDATを含む。
半導体記憶装置100は、コマンドセットCS1を受けると、一時的にレディ状態からビジー状態に遷移し、センスアンプ140内のラッチ回路(図示せず)に下位ページデータDATを記憶する。
半導体記憶装置100は、コマンドセットCS2を受けると、レディ状態からビジー状態に遷移し、センスアンプ140内の更なるラッチ回路(図示せず)に、上位ページデータDATを下位ページデータDATとは独立に記憶する。そして、半導体記憶装置100は、コマンドセットCS1及びCS2内のアドレスADD、並びに下位ページデータ及び上位ページデータ(以下、単に書込みデータDATと呼ぶ)に基づいて、書込み動作を開始する。書込み動作においてシーケンサ170は、プログラム動作及びベリファイ動作の組を繰り返し実行する。以下の説明では、繰り返されるプログラム動作、及び当該プログラム動作の後に連続して実行されるベリファイ動作の組を、プログラムループとも呼ぶ。
プログラム動作は、メモリセルトランジスタMTの閾値電圧を上昇させる動作である。プログラム動作において、選択ワード線WLに接続されたセルユニットCU内の複数のメモリセルトランジスタMTは、各々の閾値電圧の高さに応じて閾値電圧の上昇が許容され、又は禁止される。すなわち、シーケンサ170は、閾値電圧が書込みデータDATに対応する状態のベリファイ電圧に達していないメモリセルトランジスタMTをプログラム対象に設定し、達しているメモリセルトランジスタMTをプログラム禁止に設定する。
プログラム動作では、選択ワード線WLにプログラム電圧VPGMが印加される。電圧VPGMは、メモリセルトランジスタMTの閾値電圧を上昇させることが可能な程度に高い電圧である。選択ワード線WLにプログラム電圧VPGMが印加されると、選択ワード線WLに接続され、かつプログラム対象に設定されたメモリセルトランジスタMTの閾値電圧は上昇する。一方、選択ワード線WLに接続され、かつプログラム禁止に設定されたメモリセルトランジスタMTは、例えば当該メモリセルトランジスタMTを含むNANDストリングNSがフローティング状態に制御されることにより、閾値電圧の上昇が抑制される。シーケンサ170は、プログラム動作が終了すると、続いてベリファイ動作に移行する。
ベリファイ動作は、書込み対象のメモリセルトランジスタMTの閾値電圧が書込みデータDATに対応する状態のベリファイ電圧VCGVに達したか否かを判定する処理である。ベリファイ動作では、プログラム動作による閾値電圧の上昇に応じて、使用されるベリファイ電圧VCGVが適宜変更され得る。例えば、1回目のプログラムループにおけるベリファイ動作では、ベリファイ電圧AVを用いて、“A”状態に書き込まれるメモリセルトランジスタMTの閾値電圧がベリファイ電圧AVに達したか否かが判定される。また、2回目以降のプログラムループにおけるベリファイ動作では、複数のベリファイ電圧(例えば、AV及びBV)が順次印加され得る。
書込みデータDATに対応する状態のベリファイ電圧VCGVに達したと判定されたメモリセルトランジスタMTは、ベリファイ動作にパスしたと判定される。シーケンサ170は、“A”状態〜“C”状態毎に、ベリファイ動作にパスしていない(フェイルした)メモリセルトランジスタMTの数をカウントし、各状態の書込み動作が完了したか否かを判定する。
以上で説明したプログラム動作及びベリファイ動作の組が、1回のプログラムループに対応する。プログラム電圧VPGMは、プログラムループが繰り返される度に、所定の上昇量DVPGM1ずつ上昇される。つまり、選択ワード線WLに印加されるプログラム電圧VPGMは、実行されたプログラムループの回数に応じて高くなる。
プログラムループが繰り返される毎にシーケンサ170は、例えばベリファイ動作にパスしていないメモリセルトランジスタMTの数が所定の数を下回ったか否かを判定する。ベリファイ動作にパスしていないメモリセルトランジスタMTの数が所定の数を下回ったことを検知すると、シーケンサ170は書込み動作を終了し、半導体記憶装置100をビジー状態からレディ状態に遷移させる。書込み動作が終了すると、選択ワード線WLに接続されたセルユニットCUには、2ページ分のデータが書き込まれる。図示された期間tProgは、書込み動作が実行された期間に対応する。期間tProgは、書込み動作が完了する速さを示す指標であり、短いことが好ましい。
1.2.2 割込み動作
第1実施形態に係る半導体記憶装置は、実行中の書込み動作を中断し、別の処理を割り込ませて実行することができる。以下の説明では、当該別の処理を「割込み動作」と呼ぶ。割込み動作は、例えば、読出し動作、及びメモリセルトランジスタMTに1ビットデータを書き込む書込み動作等を含む。
第1実施形態に係る半導体記憶装置は、実行中の書込み動作を中断し、別の処理を割り込ませて実行することができる。以下の説明では、当該別の処理を「割込み動作」と呼ぶ。割込み動作は、例えば、読出し動作、及びメモリセルトランジスタMTに1ビットデータを書き込む書込み動作等を含む。
図5は、第1実施形態に係る割込み動作を説明するためのタイミングチャートである。図5では、書込み動作中に割込み動作が実行される場合における信号I/O及びRBnの一例が時系列で示される。なお、図5に示されるステータスSTSは、その時点で実行中である動作を模式的に示す。例えば、図5において、プログラム動作が実行中のステータスSTSは“P”と示され、ベリファイ動作が実行中のステータスSTSは、“V”と示される。
図5に示すように、メモリコントローラ200は、コマンドセットWCSを半導体記憶装置100に送出する。半導体記憶装置100は、コマンドセットWCSを受けると、レディ状態からビジー状態に遷移し、書込み動作を開始する。
続いて、メモリコントローラ200は、書込み動作を実行中でありビジー状態となっている半導体記憶装置100に対して、サスペンドコマンドxxhを送出する。サスペンドコマンドxxhは、実行中の処理の一時的な中断を指示するコマンドであり、任意のタイミングで半導体記憶装置100に送出され得る。半導体記憶装置100は、サスペンドコマンドxxhを受けると、書込み動作を中断し、ビジー状態からレディ状態に遷移する。図5に示される期間tSTOPRSTは、半導体記憶装置100がサスペンドコマンドxxhを受けてから書込み動作を中断させ、レディ状態に遷移するまでの期間に対応する。期間tSTOPRSTは、半導体記憶装置100を割込み動作が実行可能な状態にするまでの速さを示す指標であり、短いことが好ましい。
メモリコントローラ200は、半導体記憶装置100がレディ状態に遷移したことを検知すると、割込み動作のコマンドセットICSを半導体記憶装置100に送出する。コマンドセットICSは、例えば、書込み動作に割り込ませる処理を具体的に指示するコマンドCMD及びアドレスADDを含む。また、割込み動作が書込み動作である場合には、書込みデータDATを含む。半導体記憶装置100は、コマンドセットICSを受けると、レディ状態からビジー状態に遷移して、割込み動作を開始する。割込み動作が終了すると、半導体記憶装置100は、ビジー状態からレディ状態に遷移して、割込み動作の終了をメモリコントローラ200に通知する。
メモリコントローラ200は、半導体記憶装置100がレディ状態に遷移したことを検知すると、半導体記憶装置100に対してレジュームコマンドyyhを送出する。レジュームコマンドyyhは、中断中の処理の開始を指示するコマンドである。半導体記憶装置100は、レジュームコマンドyyhを受けると、レディ状態からビジー状態に遷移して書込み動作を再開する。書込み動作は、例えば、中断する前に完了した処理の直後に実行予定であった処理から再開される。図5の例では、書込み動作は、ベリファイ動作の途中で中断しているため、当該プログラムループにおいて実行予定のベリファイ動作のうち、中断前に実行されなかった部分が再開後に実行される。レジュームコマンドyyhは、省略される場合がある。
なお、図5の例では、サスペンドコマンドxxhとコマンドセットICSが独立に半導体記憶装置100に送出される場合が示されるが、これに限られない。例えば、コマンドセットICSは、サスペンドコマンドxxhを含んでいてもよい(割込み動作を指示するコマンドがサスペンドコマンドxxhを兼ねていてもよい)。この場合、メモリコントローラ200は、ビジー状態の半導体記憶装置100に対してサスペンドコマンドxxhを含むコマンドセットICSを送出し得る。半導体記憶装置100は、サスペンドコマンドxxhを含むコマンドセットICSを受けると、書込み動作を中断し、割込み動作を実行してもよい。
また、図5の例では、1回のサスペンドコマンドxxhに対して1回の割込み動作が実行される場合が示されるが、これに限られない。例えば、メモリコントローラ200は、1回目の割込み動作が終了した後、レジュームコマンドyyhではなく、更なる割込み動作を実行するためのコマンドセットICSを送出してもよい。
1.2.3 中断を考慮した書込み動作
第1実施形態に係る半導体記憶装置における書込み動作では、上述した割込み動作による中断の有無に応じて、再開後の書込み動作のプログラム動作における電圧VPGMの上昇量がDVPGM1から変更される。以下では、割込み動作による中断を考慮した書込み動作について説明する。
第1実施形態に係る半導体記憶装置における書込み動作では、上述した割込み動作による中断の有無に応じて、再開後の書込み動作のプログラム動作における電圧VPGMの上昇量がDVPGM1から変更される。以下では、割込み動作による中断を考慮した書込み動作について説明する。
図6は、第1実施形態に係るメモリシステムにおける中断を考慮した書込み動作を説明するためのフローチャートである。
図6に示すように、ステップST10において、シーケンサ170は、書込み動作中にサスペンドコマンドを受けたか否かを判定する。上述のとおり、サスペンドコマンドは、実行中の動作を中断させるための固有のコマンドxxhであってもよいし、実行中の動作の中断を兼ねることが可能な、読出しコマンドのような汎用コマンドであってもよい。サスペンドコマンドを受けたと判定された場合(ステップST10;yes)、処理はステップST30に進み、サスペンドコマンドを受けなかったと判定された場合(ステップST10;no)、処理は引き続き書込み動作を実行する。
ステップST30において、シーケンサ170は、サスペンドコマンドに応じて、書込み動作を中断させる。半導体記憶装置100は、レディ状態に遷移し、割込み動作を実行可能な状態になる。
ステップST50において、シーケンサ170は、割込み動作を実行する。
ステップST70において、シーケンサ170は、割込み動作の終了後、書込み動作を再開させる。
ステップST90において、シーケンサ170は、書込み動作が再開してからn回目までのプログラム動作におけるプログラム電圧VPGMの上昇量をDVPGM1からDVPGM2に変更する(数nは、1以上の整数)。上昇量DVPGM2は、上昇量DVPGM1より小さい、正の量である(0<DVPGM2<DVPGM1)。これに伴い、ロウデコーダ120は、ステップST70における書込み動作の再開後に実行されるプログラム動作のうち、最初のn回目までのプログラム動作において、上昇量がDVPGM2に変更されたプログラム電圧VPGMを選択ワード線WLに印加する。
書込み動作が再開されてから(n+1)回目以降のプログラム動作においては、上記した上昇量の変更設定は解除され、上昇量はDVPGM1となる。なお、数nは、書込み動作におけるプログラムループの上限値に設定されてもよい。この場合、一旦上昇量がDVPGM2に変更されると、書込み動作の終了まで、当該値が維持される。
以上により、中断を考慮した書込み動作が終了する。
図7は、第1実施形態に係るメモリシステムにおける中断を考慮した書込み動作を説明するためのタイミングチャートであり、図6に対応する。図7では、図中における2回目のプログラムループのベリファイ動作の途中(より具体的には、ベリファイ電圧AVが印加される期間と、ベリファイ電圧BVが印加される期間との間)に割込み動作が実行される場合が示される。また、図7では、図6のステップST90において、n=1が設定される場合が示される。なお、以降の説明では、説明の便宜上、「図中におけるX回目のプログラムループ」は、単に「X回目のプログラムループ」と記載する。
図7に示すように、書込み動作が中断する前の最後のプログラム動作では、プログラム電圧VPGMは、書込み動作が中断する前の最後から2番目のプログラム動作のプログラム電圧VPGMから上昇量DVPGM1だけ上昇する。そして、書込み動作が中断し、割込み動作が実行されると、シーケンサ170は、書込み動作が再開した後の最初のプログラム動作におけるプログラム電圧VPGMの上昇量をDVPGM2に変更する。これにより、書込み動作が再開した後の最初のプログラム動作のプログラム電圧VPGMは、書込み動作が中断する前の最後のプログラム動作のプログラム電圧VPGMから、上昇量DVPGM2だけ上昇する。その後、書込み動作が再開した後の最初から2番目のプログラム動作のプログラム電圧VPGMは、書込み動作が再開した後の最初のプログラム動作のプログラム電圧VPGMから、上昇量DVPGM1だけ上昇する。
以上のように動作することにより、再開直後のプログラム動作では、プログラム電圧VPGMの上昇量を通常の上昇量DVPGM1よりも低く抑えることができる。
1.3 本実施形態に係る効果
第1実施形態によれば、シーケンサ170は、書込み動作が中断した場合、再開した後のプログラム動作において、最初のn回目までのプログラム電圧の上昇量をDVPGM1から、DVPGM1より小さい正数であるDVPGM2に変更する。これにより、書込み動作の劣化を抑制しつつ、割込み動作を実行することができる。
第1実施形態によれば、シーケンサ170は、書込み動作が中断した場合、再開した後のプログラム動作において、最初のn回目までのプログラム電圧の上昇量をDVPGM1から、DVPGM1より小さい正数であるDVPGM2に変更する。これにより、書込み動作の劣化を抑制しつつ、割込み動作を実行することができる。
補足すると、メモリセルトランジスタMTの閾値電圧は、プログラム動作によって上昇した後、ある程度の時間が経過すると、低下する場合がある。
図8は、比較例に係る書込み動作におけるメモリセルトランジスタの閾値電圧の変化を説明するための模式図である。図9は、第1実施形態に係る書込み動作におけるメモリセルトランジスタの閾値電圧の変化を説明するための模式図である。図8及び図9の例では、“A”状態に書き込まれる予定の一群のメモリセルトランジスタMTの閾値電圧分布が示される。図8の例では、書込み動作の中断の有無に依らず、プログラム電圧VPGMが上昇量DVPGM1でステップアップされる場合が示される点が、図9と異なる。
図8(A)に示すように、或るプログラムループにおけるプログラム動作によって、選択ワード線WLには、上昇量DVPGM1に基づくプログラム電圧VPGMが印加される。これにより、当該一群のメモリセルトランジスタMTの閾値電圧は、ベリファイ電圧AVを超える程度に上昇する。
しかしながら、シーケンサ170は、当該プログラム動作に連続して実行される予定のベリファイ動作が開始される前にサスペンドコマンドを受けると、書込み動作を中断し、割込み動作を実行する。これにより、ベリファイ動作が実行されるまでにある程度の時間が経過し、当該一群のメモリセルトランジスタMTの閾値電圧が低下する。このため、当該一群のメモリセルトランジスタMTのうち、閾値電圧が比較的低い部分の閾値電圧は、ベリファイ電圧AVより低くなる。
すると、図8(B)に示すように、割込み動作が終了した後、再開された書込み動作におけるベリファイ動作では、閾値電圧がベリファイ電圧AVを下回る閾値電圧分布αに属するメモリセルトランジスタMTは、ベリファイ動作にフェイルしたと判定される。
これに伴い、図8(C)に示すように、上述したベリファイ動作に後続するプログラム動作において、当該閾値電圧分布αに属するメモリセルトランジスタMTは、プログラム対象に設定される。このため、閾値電圧分布αに属するメモリセルトランジスタMTは、上昇量DVPGM1に基づいて閾値電圧を上昇させられ、新たな閾値電圧分布βを形成する。上昇量DVPGM1の大きさによっては、閾値電圧の上昇量が過大となり得るため、分散範囲の狭い閾値電圧分布形成の観点から好ましくない場合がある。
第1実施形態によれば、図9(A)及び図9(B)に示すように、割込み動作に伴う書込み動作の中断によって閾値電圧が低下し、ベリファイ動作にフェイルするメモリセルトランジスタMTが発生する点では比較例と同様である。しかしながら、図9(C)に示すように、再開した後のプログラム動作において、プログラム電圧VPGMの上昇量がDVPGM1より小さいDVPGM2に変更される。
これにより、閾値電圧分布αに属するメモリセルトランジスタMTの閾値電圧の上昇量は、プログラム電圧VPGMの上昇量がDVPGM1である場合よりも小さくなる。このため、上昇量DVPGM2に基づくプログラム電圧VPGMによって形成される新たな閾値電圧分布γは、閾値電圧分布全体の分散範囲を増加させない。したがって、より分散範囲の狭い閾値電圧分布を形成することができ、後に実行される読出し動作における誤読出しの可能性を低減することができる。
また、上昇量DVPGM2によるプログラム動作は、上昇量DVPGM1によるプログラム動作よりは閾値電圧の上昇量が小さいものの、上昇量が0のプログラム動作よりは閾値電圧を上昇させることができる。これにより、閾値電圧を全く上昇させない場合よりも、書込み動作が完了するまでの時間(期間tProg)を短縮することができる。
2. 第2実施形態
次に、第2実施形態について説明する。第1実施形態では、書込み動作が中断されるか否かに基づいて、プログラム動作後の閾値電圧低下に対する対応策の実行要否が判定される場合について説明した。第2実施形態では、中断中に実行される割込み動作が条件を満たすか否かの判定結果に更に基づいて、プログラム動作後の閾値電圧低下に対する対応策の実行要否が判定される場合について説明する。以下では、第1実施形態と同等の構成及び動作についてはその説明を省略し、第1実施形態と異なる構成及び動作について主に説明する。
次に、第2実施形態について説明する。第1実施形態では、書込み動作が中断されるか否かに基づいて、プログラム動作後の閾値電圧低下に対する対応策の実行要否が判定される場合について説明した。第2実施形態では、中断中に実行される割込み動作が条件を満たすか否かの判定結果に更に基づいて、プログラム動作後の閾値電圧低下に対する対応策の実行要否が判定される場合について説明する。以下では、第1実施形態と同等の構成及び動作についてはその説明を省略し、第1実施形態と異なる構成及び動作について主に説明する。
2.1 中断を考慮した書込み動作
図10は、第2実施形態に係るメモリシステムにおける中断を考慮した書込み動作を説明するためのフローチャートであり、第1実施形態における図6に対応する。図10では、図6におけるステップST70とステップST90との間に、ステップST80が追加される。
図10は、第2実施形態に係るメモリシステムにおける中断を考慮した書込み動作を説明するためのフローチャートであり、第1実施形態における図6に対応する。図10では、図6におけるステップST70とステップST90との間に、ステップST80が追加される。
図10に示すように、ステップST10〜ステップST70における処理は、図6と同等であるため、説明を省略する。
ステップST80において、シーケンサ170は、割込み動作が条件を満たすか否かを判定する。割込み動作が条件を満たすと判定された場合(ステップST80;yes)、処理はステップST90に進む。割込み動作が条件を満たさないと判定された場合(ステップST80;no)、処理はプログラム動作の上昇量をDVPGM1から変更することなく、引き続き書込み動作を実行する。
ステップST90において、シーケンサ170は、書込み動作が再開してからn回目までのプログラム動作におけるプログラム電圧VPGMの上昇量をDVPGM1からDVPGM2に変更する。
以上により、中断を考慮した書込み動作が終了する。
なお、ステップST80において判定される割込み動作に関する条件には、種々の条件が適用可能である。以下に、その具体例について述べる。
2.1.1 割込み動作の実施タイミング
まず、第1例として、割込み動作の実施タイミングが条件となる場合について、図11に示すフローチャートを参照しながら説明する。図11の例では、図10におけるステップST80を具体的に示す第1例として、ステップST81が示される。
まず、第1例として、割込み動作の実施タイミングが条件となる場合について、図11に示すフローチャートを参照しながら説明する。図11の例では、図10におけるステップST80を具体的に示す第1例として、ステップST81が示される。
ステップST81に示すように、シーケンサ170は、割込み動作が、或るプログラムループにおけるプログラム動作の終了から、当該プログラム動作の後に連続するベリファイ動作の終了までの期間Dで中断されたか否かを判定する。書込み動作が期間D内で中断された場合(ステップST81;yes)、処理はステップST90に進む。書込み動作が期間D内で中断されなかった場合(ステップST81;no)、処理はプログラム動作の上昇量をDVPGM1から変更することなく、引き続き書込み動作を実行する。
図12は、第2実施形態の第1例に係るメモリシステムにおける中断を考慮した書込み動作を説明するためのタイミングチャートである。
図12(A)の例では、割込み動作は、2回目のプログラムループにおける全てのベリファイ動作が終了した後、3回目のプログラムループにおけるプログラム動作が開始する前に実行される。すなわち、図12(A)の例では、期間D外の期間において書込み動作が中断される。この場合、2回目のプログラムループにおけるベリファイ動作は、直前のプログラム動作が終了した後、速やかに実行される。このため、2回目のプログラムループにおけるプログラム動作によって上昇した閾値電圧が低下する現象は、当該プログラム動作に連続するベリファイ動作に影響を与えない。すなわち、2回目のプログラムループにおけるベリファイ動作でパスすべきメモリセルトランジスタMTが、時間の経過によってフェイルしたと判定される現象は発生しない。したがって、3回目のプログラムループにおけるプログラム動作のプログラム電圧VPGMの上昇量は、DVPGM1から変更されない。
一方、図12(B)の例では、2回目のプログラムループのベリファイ動作において、ベリファイ電圧AVが印加される期間と、ベリファイ電圧BVが印加される期間との間に割込み動作が実行される。すなわち、図12(B)の例では、期間D内において書込み動作が中断される。この場合、2回目のプログラムループにおけるベリファイ動作は、直前のプログラム動作が終了した後、割込み動作が終了するまで実行されない。このため、2回目のプログラムループにおけるプログラム動作によって上昇した閾値電圧が低下する現象は、当該プログラム動作に連続するベリファイ動作に影響を与え得る。すなわち、2回目のプログラムループにおけるベリファイ動作でパスすべきメモリセルトランジスタMTが、時間の経過によってフェイルしたと判定される現象が発生し得る。したがって、3回目のプログラムループにおけるプログラム動作のプログラム電圧VPGMの上昇量は、DVPGM1からDVPGM2に変更される。
以上のように動作することにより、割込み動作の発生に伴って書込み動作が中断した場合において、当該割込み動作が実行されるタイミングを条件として、プログラム電圧VPGMの上昇量を変更すべきか否かを判定することができる。
2.1.2 割込み動作の期間の長さ
次に、第2例として、割込み動作が実行される期間の長さが条件となる場合について、図13に示すフローチャートを参照しながら説明する。図13の例では、図10におけるステップST80を具体的に示す第2例として、ステップST81及びST82が示される。
次に、第2例として、割込み動作が実行される期間の長さが条件となる場合について、図13に示すフローチャートを参照しながら説明する。図13の例では、図10におけるステップST80を具体的に示す第2例として、ステップST81及びST82が示される。
ステップST81は、図11と同等であるため、説明を省略する。
ステップST82に示すように、シーケンサ170は、期間D(すなわち、割込み動作の直前のプログラム動作の終了から、割込み動作の直後のプログラム動作までに実行されたベリファイ動作の終了までの期間)が、割込み動作を含むことによって閾値Dth以上であるか否かを判定する。具体的には、例えば、シーケンサ170内のカウンタ171は、プログラムループごとに、プログラム動作の終了から、ベリファイ動作の終了までの期間Dをカウントする。シーケンサ170は、カウンタ171のカウント値を、所定の閾値Dthと比較することによって、期間Dの長さが閾値Dth以上であるか否かを判定する。閾値Dthは、例えば、プログラム動作によって上昇したメモリセルトランジスタMTの閾値電圧が時間の経過によって低下するまでの期間に相当する。
期間Dが閾値Dth以上である場合(ステップST82;yes)、処理はステップST90に進む。期間Dが閾値Dth未満である場合(ステップST82;no)、処理はプログラム動作の上昇量をDVPGM1から変更することなく、引き続き書込み動作を実行する。
図14は、第2実施形態の第2例に係るメモリシステムにおける中断を考慮した書込み動作を説明するためのタイミングチャートである。
図14(A)の例では、2回目のプログラムループにおけるベリファイ動作のうち、電圧AVが印加される期間が終了した後、電圧BVが印加される期間が開始する前に、割込み動作が1回実行される。すなわち、図14(A)の例では、期間D内において、書込み動作が中断されて割込み動作が1回実行される。この場合、期間Dの長さは閾値Dth未満であり、2回目のプログラムループにおけるプログラム動作によって上昇した閾値電圧が低下する現象は、当該プログラム動作に連続するベリファイ動作に(電圧BVが印加される期間においても)影響を与えないと判定される。すなわち、2回目のプログラムループにおけるベリファイ動作でパスすべきメモリセルトランジスタMTが、時間の経過によってフェイルしたと判定される現象は発生しない。したがって、3回目のプログラムループにおけるプログラム動作のプログラム電圧VPGMの上昇量は、DVPGM1から変更されない。
一方、図14(B)の例では、2回目のプログラムループのプログラム動作が終了した後、ベリファイ動作が開始されるまでに、割込み動作が1回実行される。更に、2回目のプログラムループのベリファイ動作のうち、電圧AVが印加される期間が終了した後、電圧BVが印加される期間が開始する前に、割込み動作がもう1回実行される。すなわち、割込み動作が、期間D内において2回実行される。この場合、期間Dの長さは閾値Dth以上となり、2回目のプログラムループにおけるプログラム動作によって上昇した閾値電圧が低下する現象は、当該プログラム動作に連続するベリファイ動作に(特に、電圧BVが印加される期間において)影響を与え得ると判定される。すなわち、2回目のプログラムループにおけるベリファイ動作でパスすべきメモリセルトランジスタMTが、時間の経過によってフェイルしたと判定される現象が発生し得る。したがって、3回目のプログラムループにおけるプログラム動作のプログラム電圧VPGMの上昇量は、DVPGM1からDVPGM2に変更される。
以上のように動作することにより、ベリファイ動作の結果に影響を与え得る期間に実行される割込み動作の長さを条件として、プログラム電圧VPGMの上昇量を変更すべきか否かを判定することができる。
なお、上述の例では、期間Dの長さをカウンタ171のカウント値によって計測する場合について述べたが、これに限られない。例えば、期間Dの長さは、割込み動作が期間D内に実行される回数によって計測されてもよい。この場合を図14の例に適用した場合、閾値Dthは、「2回」となる。
2.1.3 割込み動作の種類
次に、第3例として、割込み動作の種類が条件となる場合について、図15に示すフローチャートを参照しながら説明する。図15の例では、図10におけるステップST80を具体的に示す第3例として、ステップST81及びST83が示される。
次に、第3例として、割込み動作の種類が条件となる場合について、図15に示すフローチャートを参照しながら説明する。図15の例では、図10におけるステップST80を具体的に示す第3例として、ステップST81及びST83が示される。
ステップST81は、図11と同等であるため、説明を省略する。
ステップST83に示すように、シーケンサ170は、メモリコントローラ200から送出されるコマンドのうち、所定のコマンドに基づいて割込み動作が実行されたか否かを判定する。割込み動作が所定のコマンドに基づいて実行された場合(ステップST83;yes)、処理はステップST90に進む。割込み動作が所定のコマンド以外のコマンドに基づいて実行された場合(ステップST83;no)、処理はプログラム動作の上昇量をDVPGM1から変更することなく、引き続き書込み動作を実行する。
所定のコマンドは、例えば、割込み動作として、新たな書込み動作の実行を指示するコマンド、消去動作の実行を指示するコマンド、及び複数個の読出し電圧を使用する読出し動作の実行を指示するコマンドを含む。複数回の読出し電圧を使用する読出し動作の例としては、例えば、2ビットデータが記憶されたメモリセルトランジスタMTに対する上位ページ読出し動作や、セルユニットCUにおける閾値電圧分布を把握するためのトラッキング動作、1回目の読出し動作の結果を元に2回目の読出し動作における読出し電圧を決定する読出し動作等が挙げられる。なお、複数個の読出し電圧を使用する読出し動作の全てを上述の所定のコマンドとして設定する必要はなく、これらのうちの任意の動作に対応するコマンドを所定のコマンドとして設定可能である。
以上のように動作することにより、期間Dが閾値Dth以上となると想定されるような、比較的長い時間を要する割込み動作が実行された場合には、プログラム電圧VPGMの上昇量をDVPGM2に変更することができる。また、期間Dが閾値Dth未満となると想定されるような、比較的短い時間しか要しない割込み動作が実行された場合には、プログラム電圧VPGMの上昇量をDVPGM1から変更しないようにすることができる。
2.1.4 割込み動作実行中の温度
次に、第4例として、割込み動作を実行中における半導体記憶装置100の温度が条件となる場合について、図16に示すフローチャートを参照しながら説明する。図16の例では、図10におけるステップST80を具体的に示す第4例として、ステップST81及びST84が示される。
次に、第4例として、割込み動作を実行中における半導体記憶装置100の温度が条件となる場合について、図16に示すフローチャートを参照しながら説明する。図16の例では、図10におけるステップST80を具体的に示す第4例として、ステップST81及びST84が示される。
ステップST81は、図11と同等であるため、説明を省略する。
ステップST84に示すように、シーケンサ170は、割込み動作の際の半導体記憶装置100の温度Tが閾値Tth以上であるか否かを判定する。具体的には、例えば、温度センサ180は、割込み動作を実行中における半導体記憶装置100の温度Tを計測し、当該温度Tに対応する温度情報をシーケンサ170に送る。シーケンサ170は、当該温度情報に基づき、温度Tが所定の閾値Tth以上であるか否かを判定する。閾値Tthは、例えば、プログラム動作によって上昇したメモリセルトランジスタMTの閾値電圧が低下するまでの期間が有意に早まる温度に対応する。温度Tが閾値Tth以上であると判定された場合(ステップST84;yes)、処理はステップST90に進む。温度Tが閾値Tth未満であると判定された場合(ステップST84;no)、処理はプログラム動作の上昇量をDVPGM1から変更することなく、引き続き書込み動作を実行する。
以上のように動作することにより、閾値電圧が低下するまでの期間が温度Tに依存する場合を考慮することができる。すなわち、割込み動作を実行中の温度Tが、閾値電圧の低下が発生しやすい閾値Tth以上の場合、プログラム電圧VPGMの上昇量をDVPGM2に変更することができる。また、割込み動作を実行中の温度Tが、閾値電圧の低下が発生しにくい閾値Tth未満の場合、プログラム電圧VPGMの上昇量をDVPGM1から変更しないようにすることができる。
2.2 本実施形態に係る効果
第2実施形態によれば、シーケンサ170は、割込み動作が条件を満たすか否かに基づいて、プログラム電圧VPGMの上昇量をDVPGM1からDVPGM2に変更するか否かを判定する。これにより、閾値電圧の低下の影響が再開直後のベリファイ動作に影響する場合と影響しない場合とを、より詳細に判定することができる。このため、ステップST90の実行するケース(すなわち、プログラム電圧VPGMの上昇量が小さくなるケース)の増加を抑制できる。したがって、プログラム動作による閾値電圧の上昇量が低下することを抑制でき、プログラム動作の実行期間tProgを短縮することができる。
第2実施形態によれば、シーケンサ170は、割込み動作が条件を満たすか否かに基づいて、プログラム電圧VPGMの上昇量をDVPGM1からDVPGM2に変更するか否かを判定する。これにより、閾値電圧の低下の影響が再開直後のベリファイ動作に影響する場合と影響しない場合とを、より詳細に判定することができる。このため、ステップST90の実行するケース(すなわち、プログラム電圧VPGMの上昇量が小さくなるケース)の増加を抑制できる。したがって、プログラム動作による閾値電圧の上昇量が低下することを抑制でき、プログラム動作の実行期間tProgを短縮することができる。
3. 第3実施形態
次に、第3実施形態について説明する。第2実施形態では、条件を満たす割込み動作を伴う書込み動作の中断による影響を考慮して、再開後の少なくとも最初のプログラム動作におけるプログラム電圧VPGMを、より小さい上昇量で上昇させる場合について説明したが、これに限られない。第3実施形態では、条件を満たす割込み動作を伴う書込み動作の中断による影響を考慮して、再開後の最初のプログラム動作におけるプログラム電圧VPGMを上昇させない場合について説明する。以下では、第2実施形態と同等の構成及び動作についてはその説明を省略し、第2実施形態と異なる構成及び動作について主に説明する。
次に、第3実施形態について説明する。第2実施形態では、条件を満たす割込み動作を伴う書込み動作の中断による影響を考慮して、再開後の少なくとも最初のプログラム動作におけるプログラム電圧VPGMを、より小さい上昇量で上昇させる場合について説明したが、これに限られない。第3実施形態では、条件を満たす割込み動作を伴う書込み動作の中断による影響を考慮して、再開後の最初のプログラム動作におけるプログラム電圧VPGMを上昇させない場合について説明する。以下では、第2実施形態と同等の構成及び動作についてはその説明を省略し、第2実施形態と異なる構成及び動作について主に説明する。
3.1 中断を考慮した書込み動作
図17は、第3実施形態に係るメモリシステムにおける中断を考慮した書込み動作を説明するためのフローチャートであり、第2実施形態における図10に対応する。図17では、図10におけるステップST90に代えて、ステップST91が実行される。
図17は、第3実施形態に係るメモリシステムにおける中断を考慮した書込み動作を説明するためのフローチャートであり、第2実施形態における図10に対応する。図17では、図10におけるステップST90に代えて、ステップST91が実行される。
図17に示すように、ステップST10〜ステップST80における処理は、図10と同等であるため、説明を省略する。なお、ステップST80において判定される割込み動作に関して適用される条件には、第2実施形態で示した種々の条件が同様に適用可能である。
ステップST91において、シーケンサ170は、書込み動作が再開してから最初のプログラム動作におけるプログラム電圧VPGMを、書込み動作が中断する直前のプログラム動作におけるプログラム電圧VPGMから上昇させない。すなわち、シーケンサ170は、書込み動作が再開してから最初のプログラム動作におけるプログラム電圧VPGMの上昇量を0にする。
なお、シーケンサ170は、書込み動作が再開してから2回目以降のプログラム動作におけるプログラム電圧VPGMについては、例えば、プログラムループごとに上昇量DVPGM1ずつ上昇させる。
以上により、中断を考慮した書込み動作が終了する。
図18は、第3実施形態に係るメモリシステムにおける中断を考慮した書込み動作を説明するためのタイミングチャートであり、図17に対応する。図18では、2回目のプログラムループのベリファイ動作の途中に、条件を満たす割込み動作が実行される場合が示される。
図18に示すように、書込み動作が中断する前において、シーケンサ170は、プログラム電圧VPGMの上昇量として上昇量DVPGM1を設定する。書込み動作が中断し、条件を満たす割込み動作が実行されると、シーケンサ170は、書込み動作が再開した後の最初のプログラム動作におけるプログラム電圧VPGMを、中断する直前のプログラム動作のプログラム電圧VPGMから上昇させない。これにより、3回目のプログラムループにおけるプログラム動作では、2回目のプログラムループにおけるプログラム動作と同じ高さのプログラム電圧VPGMが選択ワード線WLに印加される。その後、4回目以降のプログラムループにおけるプログラム動作では、2回目及び3回目のプログラムループにおけるプログラム動作から、上昇量DVPGM1だけ上昇させたプログラム電圧VPGMが選択ワード線WLに印加される。
3.2 本実施形態に係る効果
第3実施形態によれば、シーケンサ170は、割込み動作が条件を満たすか否かに基づいて、再開直後におけるプログラム動作のプログラム電圧VPGMを上昇させるか否かを判定する。シーケンサ170は、書込み動作の中断によってメモリセルトランジスタMTの閾値電圧が低下すると予想される場合には、再開直後におけるプログラム動作のプログラム電圧VPGMを上昇させない。これにより、再開直後の最初のプログラム動作において、メモリセルトランジスタMTの閾値電圧を、中断直前のプログラム動作と同程度までしか上昇しないようにすることができる。すなわち、シーケンサ170は、再開直後の最初のプログラム動作を、中断直前のプログラム動作の実行後の状態に閾値電圧を戻すためのプログラム動作として実行することができる。このため、再開直後の最初のプログラム動作によって、閾値電圧が低下したメモリセルトランジスタMTの閾値電圧が、過大に上昇することを抑制することができる。したがって、書込み動作の性能の劣化を抑制することができる。
第3実施形態によれば、シーケンサ170は、割込み動作が条件を満たすか否かに基づいて、再開直後におけるプログラム動作のプログラム電圧VPGMを上昇させるか否かを判定する。シーケンサ170は、書込み動作の中断によってメモリセルトランジスタMTの閾値電圧が低下すると予想される場合には、再開直後におけるプログラム動作のプログラム電圧VPGMを上昇させない。これにより、再開直後の最初のプログラム動作において、メモリセルトランジスタMTの閾値電圧を、中断直前のプログラム動作と同程度までしか上昇しないようにすることができる。すなわち、シーケンサ170は、再開直後の最初のプログラム動作を、中断直前のプログラム動作の実行後の状態に閾値電圧を戻すためのプログラム動作として実行することができる。このため、再開直後の最初のプログラム動作によって、閾値電圧が低下したメモリセルトランジスタMTの閾値電圧が、過大に上昇することを抑制することができる。したがって、書込み動作の性能の劣化を抑制することができる。
また、割込み動作が条件を満たさない場合には、シーケンサ170は、再開直後の最初のプログラム動作において、プログラム電圧VPGMを上昇量DVPGM1だけ上昇させる。これにより、割込み動作がメモリセルトランジスタMTの閾値電圧の低下に寄与しないと予想される場合には、再開直後の最初のプログラム動作から、速やかにメモリセルトランジスタMTの閾値電圧を上昇させることができる。このため、期間tProgの増加を抑制することができる。
4. 第4実施形態
次に、第4実施形態について説明する。第2実施形態及び3実施形態では、条件を満たす割込み動作を伴う書込み動作の中断による影響を考慮して、再開後の少なくとも最初のプログラム動作におけるプログラム電圧VPGMの上昇量をDVPGM1から変更させる場合について説明したが、これに限られない。第4実施形態では、条件を満たす割込み動作を伴う書込み動作の中断による影響を考慮して、再開後の最初のベリファイ動作におけるベリファイ電圧VCGVを低下させる場合について説明する。以下では、第2実施形態と同等の構成及び動作についてはその説明を省略し、第2実施形態と異なる構成及び動作について主に説明する。
次に、第4実施形態について説明する。第2実施形態及び3実施形態では、条件を満たす割込み動作を伴う書込み動作の中断による影響を考慮して、再開後の少なくとも最初のプログラム動作におけるプログラム電圧VPGMの上昇量をDVPGM1から変更させる場合について説明したが、これに限られない。第4実施形態では、条件を満たす割込み動作を伴う書込み動作の中断による影響を考慮して、再開後の最初のベリファイ動作におけるベリファイ電圧VCGVを低下させる場合について説明する。以下では、第2実施形態と同等の構成及び動作についてはその説明を省略し、第2実施形態と異なる構成及び動作について主に説明する。
4.1 中断を考慮した書込み動作
図19は、第4実施形態に係るメモリシステムにおける中断を考慮した書込み動作を説明するためのフローチャートであり、第2実施形態における図10に対応する。図19では、図10におけるステップST90に代えて、ステップST92が実行される。
図19は、第4実施形態に係るメモリシステムにおける中断を考慮した書込み動作を説明するためのフローチャートであり、第2実施形態における図10に対応する。図19では、図10におけるステップST90に代えて、ステップST92が実行される。
図19に示すように、ステップST10〜ステップST80における処理は、図10と同等であるため、説明を省略する。なお、ステップST80において判定される割込み動作に関して適用される条件には、第2実施形態で示した種々の条件が同様に適用可能である。
ステップST92において、ロウデコーダ120は、書込み動作が再開してから最初のベリファイ動作において、ベリファイ電圧VCGVより低いベリファイ電圧VCGVmを選択ワード線WLに印加する(VCGVm<VCGV)。ベリファイ電圧VCGVmは、ベリファイ電圧AV〜CVの各々に対して設定される。すなわち、ベリファイ電圧AVmは、ベリファイ電圧AVより低い。ベリファイ電圧BVmは、ベリファイ電圧BVより低く、ベリファイ電圧AVより高い(AV<BVm<BV)。ベリファイ電圧CVmは、ベリファイ電圧CVより低く、ベリファイ電圧BVより高い(BV<CVm<CV)。
なお、ロウデコーダ120は、書込み動作が再開してから2回目以降のベリファイ動作においては、選択ワード線WLにベリファイ電圧VCGVを印加する。
以上により、中断を考慮した書込み動作が終了する。
図20は、第4実施形態に係るメモリシステムにおける中断を考慮した書込み動作を説明するためのタイミングチャートであり、図19に対応する。図20では、図中における全てのプログラムループにおいて、“A”状態及び“B”状態に書き込まれるメモリセルトランジスタMTがベリファイ動作にパスしたか否かが判定される。また、図20では、2回目のプログラムループのベリファイ動作の途中に、条件を満たす割込み動作が実行される場合が示される。
図20に示すように、図中における2回目のプログラムループのベリファイ動作において、書込み動作が中断する前に、選択ワード線WLに電圧AVが印加される。これにより、センスアンプ140は、“A”状態に書き込まれるメモリセルトランジスタMTがベリファイ動作にパスしたか否かを、電圧AV(VCGV)を用いて判定する。
一方、書込み動作が中断し、条件を満たす割込み動作が実行されると、選択ワード線WLには電圧BVmが印加される。これにより、センスアンプ140は、“B”状態に書き込まれるメモリセルトランジスタMTがベリファイ動作にパスしたか否かを、電圧BVm(VCGVm)を用いて判定する。
このように、同一のプログラムループにおけるベリファイ動作の途中で書込み動作が中断した場合でも、割込み動作が条件を満たす場合、再開直後のベリファイ動作では、選択ワード線WLにベリファイ電圧VCGVmが印加される。
そして、再開後2回目以降のベリファイ動作では、選択ワード線WLにベリファイ電圧VCGVが印加される。
4.2 本実施形態に係る効果
第4実施形態によれば、シーケンサ170は、割込み動作が条件を満たすか否かに基づいて、再開直後におけるベリファイ動作のベリファイ電圧をVCGVから低下させるか否かを判定する。ロウデコーダ120は、書込み動作の中断によってメモリセルトランジスタMTの閾値電圧が低下すると予想される場合には、再開直後の最初のベリファイ動作においてベリファイ電圧VCGVより低いVCGVmを印加する。これにより、センスアンプ140は、閾値電圧が低下したメモリセルトランジスタMTもベリファイ動作にパスしたと判定することができる。このため、シーケンサ170は、書込み動作の中断直前においてベリファイ動作にパスする程度に閾値電圧が上昇し、かつベリファイ電圧が実行されるまでに閾値電圧が低下してしまったメモリセルトランジスタMTの閾値電圧を、再開直後のプログラム動作において更に上昇させる必要がないと判定することができる。このため、再開直後の最初のプログラム動作によって、閾値電圧が低下したメモリセルトランジスタMTの閾値電圧を、過大に上昇させることを抑制することができる。したがって、書込み動作の性能の劣化を抑制することができる。
第4実施形態によれば、シーケンサ170は、割込み動作が条件を満たすか否かに基づいて、再開直後におけるベリファイ動作のベリファイ電圧をVCGVから低下させるか否かを判定する。ロウデコーダ120は、書込み動作の中断によってメモリセルトランジスタMTの閾値電圧が低下すると予想される場合には、再開直後の最初のベリファイ動作においてベリファイ電圧VCGVより低いVCGVmを印加する。これにより、センスアンプ140は、閾値電圧が低下したメモリセルトランジスタMTもベリファイ動作にパスしたと判定することができる。このため、シーケンサ170は、書込み動作の中断直前においてベリファイ動作にパスする程度に閾値電圧が上昇し、かつベリファイ電圧が実行されるまでに閾値電圧が低下してしまったメモリセルトランジスタMTの閾値電圧を、再開直後のプログラム動作において更に上昇させる必要がないと判定することができる。このため、再開直後の最初のプログラム動作によって、閾値電圧が低下したメモリセルトランジスタMTの閾値電圧を、過大に上昇させることを抑制することができる。したがって、書込み動作の性能の劣化を抑制することができる。
また、割込み動作が条件を満たさない場合には、シーケンサ170は、再開直後の最初のベリファイ動作において、ベリファイ電圧VCGVを選択ワード線WLに印加する。これにより、割込み動作がメモリセルトランジスタMTの閾値電圧の低下に寄与しないと予想される場合には、通常のベリファイ電圧VCGVによって、メモリセルトランジスタMTの閾値電圧が所望の状態に達したか否かを判定することができる。
5.変形例等
なお、上述の第1実施形態乃至第4実施形態は、種々の変形が可能である。
なお、上述の第1実施形態乃至第4実施形態は、種々の変形が可能である。
例えば、上述した第2実施形態及び第3実施形態では、1つの条件を満たすか否かに基づき、プログラム電圧VPGMの上昇量をDVPGM1から他の1つの上昇量(DVPGM2又は0)に変更するか否かが判定される場合について述べたが、これに限られない。例えば、プログラム電圧VPGMの上昇量は、複数の条件に基づき、DVPGM1から複数の上昇量のいずれかに変更されてもよい。具体的には、例えば、シーケンサ170は、割込み動作が1つ目の条件及び2つ目の条件をいずれも満たす場合、プログラム電圧VPGMの上昇量をDVPGM1から0に変更すると判定し、割込み動作が1つ目の条件を満たし、かつ2つ目の条件を満たさない場合、プログラム電圧VPGMの上昇量をDVPGM1からDVPGM2に変更すると判定し、割込み動作が1つ目の条件及び2つ目の条件をいずれも満たさない場合、プログラム電圧VPGMの上昇量をDVPGM1から変更しないと判定してもよい。第4実施形態におけるベリファイ電圧VCGVの低下量についても、上述したプログラム電圧VPGMの上昇量と同等の変形を適用可能である。これにより、メモリセルトランジスタMTの閾値電圧の低下の程度に応じて、より精密に閾値電圧分布の形状を制御できる。
この場合、2つ目の条件は、1つ目の条件に含まれる、より厳しい条件であってもよい。例えば、シーケンサ170は、1つ目の条件として「期間Dが閾値Dth以上であること」を適用し、2つ目の条件として「期間Dが閾値Dth2(>Dth)以上であること」を適用してもよい。また、例えば、シーケンサ170は、1つ目の条件として「温度Tが閾値Tth以上であること」を適用し、2つ目の条件として「温度Tが閾値Tth2(>Tth)以上であること」を適用してもよい。
また、上述した第2実施形態では、再開後にプログラム電圧VGPMの上昇量がDVPGM1からDVPGM2に変更されるプログラム動作の回数nは、予め規定されている場合について説明したが、これに限られない。例えば、回数nは、複数の条件によって段階的によって決定されてもよい。
例えば、シーケンサ170は、「期間Dが閾値Dth以上、閾値Dth2(>Dth)未満であること」を満たす場合には、回数n1を適用し、「期間Dが閾値Dth2以上であること」を満たす場合には、回数n2(>n1)を適用してもよい。また、例えば、シーケンサ170は、「温度Tが閾値Tth以上、閾値Tth2(>Tth)未満であること」を満たす場合には、回数n1を適用し、「温度Tが閾値Tth2以上であること」を満たす場合には、回数n2を適用してもよい。
なお、上記実施形態の一部は、例えば、以下の付記のようにも記載され得るが、以下に限られるものではない。
[付記1]
ワード線に接続されたメモリセルと、
プログラム動作と、上記プログラム動作の後に連続するベリファイ動作と、を含むプログラムループを繰り返す書込み動作を実行するように構成された制御回路と、
を備え、
上記制御回路は、上記書込み動作において、
上記書込み動作を中断させる際に第1動作を実行し、かつ上記第1動作が条件を満たさない場合、上記書込み動作を再開させた直後のベリファイ動作において、上記ワード線に第1電圧を印加し、
上記第1動作が上記条件を満たす場合、上記書込み動作を再開させた直後のベリファイ動作において、上記ワード線に上記第1電圧より低い第2電圧を印加する
ように構成された、
半導体記憶装置。
[付記2]
上記第1動作が上記条件を満たすことは、上記第1動作が上記プログラムループにおける上記プログラム動作の終了から上記ベリファイ動作の終了までの第1期間に実行されることを含む、
付記1記載の半導体記憶装置。
[付記3]
上記第1動作が上記条件を満たすことは、上記第1期間の長さが第1閾値を超えることを含む、
付記2記載の半導体記憶装置。
[付記4]
上記第1動作が上記条件を満たすことは、上記第1動作が実行される第2期間の長さが第2閾値を超えることを含む、
付記1記載の半導体記憶装置。
[付記5]
上記第1動作が上記条件を満たすことは、上記プログラムループにおける上記プログラム動作の終了から上記ベリファイ動作の終了までの第1期間に実行される上記第1動作の回数が第3閾値を超えることを含む、
付記1記載の半導体記憶装置。
[付記6]
上記第1動作が上記条件を満たすことは、上記第1動作がメモリコントローラからの所定のコマンドに基づいて実行されることを含む、
付記1記載の半導体記憶装置。
[付記7]
上記第1動作が上記条件を満たすことは、上記第1動作を実行している間の温度が第4閾値を超えることを含む、
付記1記載の半導体記憶装置。
[付記1]
ワード線に接続されたメモリセルと、
プログラム動作と、上記プログラム動作の後に連続するベリファイ動作と、を含むプログラムループを繰り返す書込み動作を実行するように構成された制御回路と、
を備え、
上記制御回路は、上記書込み動作において、
上記書込み動作を中断させる際に第1動作を実行し、かつ上記第1動作が条件を満たさない場合、上記書込み動作を再開させた直後のベリファイ動作において、上記ワード線に第1電圧を印加し、
上記第1動作が上記条件を満たす場合、上記書込み動作を再開させた直後のベリファイ動作において、上記ワード線に上記第1電圧より低い第2電圧を印加する
ように構成された、
半導体記憶装置。
[付記2]
上記第1動作が上記条件を満たすことは、上記第1動作が上記プログラムループにおける上記プログラム動作の終了から上記ベリファイ動作の終了までの第1期間に実行されることを含む、
付記1記載の半導体記憶装置。
[付記3]
上記第1動作が上記条件を満たすことは、上記第1期間の長さが第1閾値を超えることを含む、
付記2記載の半導体記憶装置。
[付記4]
上記第1動作が上記条件を満たすことは、上記第1動作が実行される第2期間の長さが第2閾値を超えることを含む、
付記1記載の半導体記憶装置。
[付記5]
上記第1動作が上記条件を満たすことは、上記プログラムループにおける上記プログラム動作の終了から上記ベリファイ動作の終了までの第1期間に実行される上記第1動作の回数が第3閾値を超えることを含む、
付記1記載の半導体記憶装置。
[付記6]
上記第1動作が上記条件を満たすことは、上記第1動作がメモリコントローラからの所定のコマンドに基づいて実行されることを含む、
付記1記載の半導体記憶装置。
[付記7]
上記第1動作が上記条件を満たすことは、上記第1動作を実行している間の温度が第4閾値を超えることを含む、
付記1記載の半導体記憶装置。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…メモリシステム、100…NANDフラッシュメモリ、110…メモリセルアレイ、120…ロウデコーダ、130…ドライバ、140…センスアンプ、150…アドレスレジスタ、160…コマンドレジスタ、170…シーケンサ、171…カウンタ、180…温度センサ、200…メモリコントローラ、210…ホストインタフェース回路、220…RAM、230…CPU、240…バッファメモリ、250…NANDインタフェース回路、260…ECC回路、300…ホスト機器。
Claims (13)
- ワード線に接続されたメモリセルと、
前記ワード線にプログラム電圧を印加するプログラム動作と、前記プログラム動作の後に連続するベリファイ動作と、を含むプログラムループを繰り返す書込み動作を実行するように構成された制御回路と、
を備え、
前記制御回路は、前記書込み動作において、
前記プログラムループを繰り返す毎に、前記プログラム電圧を第1量ずつ上昇させ、
前記書込み動作を中断させる場合、前記書込み動作を再開させてからn回目(nは、1以上の整数)までのプログラム動作において、前記第1量を前記第1量より小さい正数である第2量に変更する
ように構成された、
半導体記憶装置。 - 前記制御回路は、
前記書込み動作を前記プログラムループにおける前記プログラム動作の終了から前記ベリファイ動作の終了までの第1期間で中断させる場合、前記書込み動作の中断を再開させてからn回目までのプログラム動作において、前記第1量を前記第2量に変更する
ように構成された、
請求項1記載の半導体記憶装置。 - 前記制御回路は、
前記書込み動作を中断させる場合、前記書込み動作の中断を再開させて以降の全てのプログラム動作において、前記第1量を前記第2量に変更する
ように構成された、
請求項1記載の半導体記憶装置。 - ワード線に接続されたメモリセルと、
前記ワード線にプログラム電圧を印加するプログラム動作と、前記プログラム動作の後に連続するベリファイ動作と、を含むプログラムループを繰り返す書込み動作を実行するように構成された制御回路と、
を備え、
前記制御回路は、前記書込み動作において、
前記プログラムループごとに、前記プログラム電圧を第1量ずつ上昇させ、
前記書込み動作を中断させる際に第1動作を実行し、かつ前記第1動作が条件を満たす場合、前記書込み動作を再開させてからn回目(nは、1以上の整数)までのプログラム動作において、前記第1量を前記第1量より小さい第2量に変更する
ように構成された、
半導体記憶装置。 - 前記第2量は、正数である、
請求項4記載の半導体記憶装置。 - 前記第2量は、0である、
請求項4記載の半導体記憶装置。 - 前記制御回路は、
前記書込み動作を中断させる場合、前記書込み動作の中断を再開させて以降の全てのプログラム動作において、前記第1量を前記第2量に変更する
ように構成された、
請求項5記載の半導体記憶装置。 - 前記第1動作が前記条件を満たすことは、前記第1動作が前記プログラムループにおける前記プログラム動作の終了から前記ベリファイ動作の終了までの第1期間に実行されることを含む、
請求項4記載の半導体記憶装置。 - 前記第1動作が前記条件を満たすことは、前記第1期間の長さが第1閾値を超えることを含む、
請求項8記載の半導体記憶装置。 - 前記第1動作が前記条件を満たすことは、前記第1動作が実行される第2期間の長さが第2閾値を超えることを含む、
請求項4記載の半導体記憶装置。 - 前記第1動作が前記条件を満たすことは、前記プログラムループにおける前記プログラム動作の終了から前記ベリファイ動作の終了までの第1期間に実行される前記第1動作の回数が第3閾値を超えることを含む、
請求項4記載の半導体記憶装置。 - 前記第1動作が前記条件を満たすことは、前記第1動作がメモリコントローラからの所定のコマンドに関連づけられることを含む、
請求項4記載の半導体記憶装置。 - 前記第1動作が前記条件を満たすことは、前記第1動作を実行している間の温度が第4閾値を超えることを含む、
請求項4記載の半導体記憶装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020077416A JP2021174564A (ja) | 2020-04-24 | 2020-04-24 | 半導体記憶装置 |
TW110101272A TWI777365B (zh) | 2020-04-24 | 2021-01-13 | 半導體記憶裝置 |
CN202110047552.8A CN113555052B (zh) | 2020-04-24 | 2021-01-14 | 半导体存储装置 |
US17/181,660 US11715535B2 (en) | 2020-04-24 | 2021-02-22 | Semiconductor storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020077416A JP2021174564A (ja) | 2020-04-24 | 2020-04-24 | 半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021174564A true JP2021174564A (ja) | 2021-11-01 |
Family
ID=78101657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020077416A Pending JP2021174564A (ja) | 2020-04-24 | 2020-04-24 | 半導体記憶装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11715535B2 (ja) |
JP (1) | JP2021174564A (ja) |
CN (1) | CN113555052B (ja) |
TW (1) | TWI777365B (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230068683A (ko) * | 2021-11-11 | 2023-05-18 | 삼성전자주식회사 | 서스펜드 동작 검사 방법 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9147501B2 (en) | 2013-03-13 | 2015-09-29 | Macronix International Co., Ltd. | Retention logic for non-volatile memory |
CN106067321B (zh) * | 2015-04-21 | 2020-09-15 | 爱思开海力士有限公司 | 适于存储器编程暂停-恢复的控制器 |
JP2017034599A (ja) | 2015-08-05 | 2017-02-09 | 株式会社リコー | 画像形成装置、画像形成システム、画像形成方法、及びプログラム |
JP2018045741A (ja) * | 2016-09-12 | 2018-03-22 | 東芝メモリ株式会社 | 半導体記憶装置及びメモリシステム |
CN108122582B (zh) | 2016-11-29 | 2023-01-03 | 三星电子株式会社 | 非易失性存储器装置的操作方法和存储器控制器 |
KR102639697B1 (ko) * | 2017-01-09 | 2024-02-21 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그 프로그램 방법 |
JP6783682B2 (ja) * | 2017-02-27 | 2020-11-11 | キオクシア株式会社 | 半導体記憶装置及びメモリシステム |
JP2018147535A (ja) * | 2017-03-07 | 2018-09-20 | 東芝メモリ株式会社 | 半導体記憶装置及びメモリシステム |
JP2019029045A (ja) * | 2017-07-26 | 2019-02-21 | 東芝メモリ株式会社 | 半導体記憶装置 |
JP2019057342A (ja) * | 2017-09-20 | 2019-04-11 | 東芝メモリ株式会社 | 半導体記憶装置 |
US10242734B1 (en) * | 2017-09-29 | 2019-03-26 | Intel Corporation | Resuming storage die programming after power loss |
KR102420161B1 (ko) * | 2017-12-01 | 2022-07-12 | 삼성전자주식회사 | 메모리 컨트롤러 및 그것의 제어 방법 |
KR20200126609A (ko) * | 2019-04-30 | 2020-11-09 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그 프로그래밍 방법 |
-
2020
- 2020-04-24 JP JP2020077416A patent/JP2021174564A/ja active Pending
-
2021
- 2021-01-13 TW TW110101272A patent/TWI777365B/zh active
- 2021-01-14 CN CN202110047552.8A patent/CN113555052B/zh active Active
- 2021-02-22 US US17/181,660 patent/US11715535B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TW202141500A (zh) | 2021-11-01 |
CN113555052B (zh) | 2024-04-12 |
CN113555052A (zh) | 2021-10-26 |
TWI777365B (zh) | 2022-09-11 |
US11715535B2 (en) | 2023-08-01 |
US20210335433A1 (en) | 2021-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11609814B2 (en) | Memory system | |
US11069413B2 (en) | Memory system and nonvolatile memory | |
US11301388B2 (en) | Storage device using buffer memory in read reclaim operation | |
TWI759686B (zh) | 記憶體系統及用於控制該記憶體系統的方法 | |
JP2008123330A (ja) | 不揮発性半導体記憶装置 | |
JP2020155180A (ja) | メモリ読み出し方法及びメモリシステム並びにコンピュータ・プログラム | |
CN108694989B (zh) | 存储设备及其坏块指派方法 | |
US10860251B2 (en) | Semiconductor memory device | |
US10878917B2 (en) | Memory system | |
KR20210024912A (ko) | 저장 장치 및 그 동작 방법 | |
US11494123B2 (en) | Memory system and control method thereof | |
US11710515B2 (en) | Memory system | |
CN112099730A (zh) | 存储器件及其访问方法 | |
JP2020047353A (ja) | メモリシステム | |
JP2019169205A (ja) | メモリシステム | |
JP6293692B2 (ja) | メモリシステム | |
CN113555052B (zh) | 半导体存储装置 | |
US20240127893A1 (en) | Memory system | |
US12040027B2 (en) | Memory system, memory controller, and semiconductor storage device | |
US11645001B2 (en) | Memory system and controlling method of memory system | |
JP2022146645A (ja) | 半導体装置、メモリシステム及び半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20230106 |