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

半導体記憶装置 Download PDF

Info

Publication number
JP2015176627A
JP2015176627A JP2014052991A JP2014052991A JP2015176627A JP 2015176627 A JP2015176627 A JP 2015176627A JP 2014052991 A JP2014052991 A JP 2014052991A JP 2014052991 A JP2014052991 A JP 2014052991A JP 2015176627 A JP2015176627 A JP 2015176627A
Authority
JP
Japan
Prior art keywords
string
reg
register
plane
sequencer
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.)
Abandoned
Application number
JP2014052991A
Other languages
English (en)
Inventor
白川 政信
Masanobu Shirakawa
政信 白川
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Corp filed Critical Toshiba Corp
Priority to JP2014052991A priority Critical patent/JP2015176627A/ja
Priority to TW103123697A priority patent/TWI549132B/zh
Priority to US14/470,322 priority patent/US9355737B2/en
Priority to CN201410454199.5A priority patent/CN104934061B/zh
Priority to CN201910419667.8A priority patent/CN110232943B/zh
Publication of JP2015176627A publication Critical patent/JP2015176627A/ja
Priority to US15/167,928 priority patent/US9881684B2/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications

Landscapes

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

Abstract

【課題】動作速度を向上できる半導体記憶装置を提供する。【解決手段】実施形態の半導体記憶装置は、複数のストリングユニットと、第1レジスタBS_REGと、第2レジスタFS_REGと、第3レジスタPS_REGと、制御回路14とを具備する。ストリングユニットは、複数のメモリセルが積層されたNANDストリングの集合である。第1レジスタBS_REGは、ストリングユニットがバッドストリングであることを示す情報を保持可能である。第2レジスタFS_REGは、ストリングユニットがベリファイにフェイルしたことを示す情報を保持可能である。第3レジスタPS_REGは、ストリングユニットがベリファイにパスしたストリングであることを示す情報を保持である。制御回路は、第1乃至第3レジスタ内の情報に基づいて、いずれかのストリングユニットに対する消去ベリファイ動作をスキップする。【選択図】図1

Description

本発明の実施形態は、半導体記憶装置に関する。
メモリセルが三次元に配列されたNAND型フラッシュメモリが知られている。
特開2011−258289号公報
動作速度を向上できる半導体記憶装置を提供する。
実施形態の半導体記憶装置は、複数のストリングユニットと、第1レジスタと、第2レジスタと、第3レジスタと、制御回路とを具備する。ストリングユニットは、複数のメモリセルが積層されたNANDストリングの集合である。第1レジスタは、ストリングユニットがバッドストリングであることを示す情報を保持可能である。第2レジスタは、ストリングユニットがベリファイにフェイルしたことを示す情報を保持可能である。第3レジスタは、ストリングユニットがパスストリングであることを示す情報を保持である。制御回路は、第1乃至第3レジスタ内の情報に基づいて、いずれかのストリングユニットに対する消去ベリファイ動作をスキップする。
図1は、第1実施形態に係る半導体記憶装置のブロック図である。 図2は、第1実施形態に係るメモリセルアレイの回路図である。 図3は、第1実施形態に係るメモリセルアレイの断面図である。 図4は、第1実施形態に係るメモリセルの閾値分布を示すグラフである。 図5は、第1実施形態に係るメモリセルアレイの断面図である。 図6は、第1実施形態に係るメモリセルアレイの断面図である。 図7Aは、第1実施形態に係る消去動作のフローチャートである。 図7Bは、図7Aに続くフローチャートである。 図8Aは、第1実施形態に係る消去動作のタイミングチャートである。 図8Bは、図8Aに続くフローチャートである。 図9は、第1実施形態に係る消去時のブロックを示す模式図である。 図10は、第1実施形態に係る消去時のブロックを示す模式図である。 図11は、第1実施形態に係る消去時のブロックを示す模式図である。 図12は、第1実施形態に係る消去時のブロックを示す模式図である。 図13は、第1実施形態に係る消去時のブロックを示す模式図である。 図14は、第1実施形態に係る消去時のブロックを示す模式図である。 図15は、第1実施形態に係る消去時のブロックを示す模式図である。 図16は、第1実施形態に係る消去時のブロックを示す模式図である。 図17は、第1実施形態に係る消去時のブロックを示す模式図である。 図18は、第1実施形態に係る消去時のブロックを示す模式図である。 図19は、第1実施形態に係る消去時のブロックを示す模式図である。 図20は、第1実施形態に係る消去時のブロックを示す模式図である。 図21は、第1実施形態に係る消去時のブロックを示す模式図である。 図22は、第1実施形態に係る消去時のブロックを示す模式図である。 図23は、第1実施形態に係る消去時のブロックを示す模式図である。 図24Aは、第1実施形態に係る消去動作のタイミングチャートである。 図24Bは、図24Aに続くタイミングチャートである。 図25は、第1実施形態に係る消去時のブロックを示す模式図である。 図26は、第1実施形態に係る消去時のブロックを示す模式図である。 図27は、第1実施形態に係る消去時のブロックを示す模式図である。 図28は、第1実施形態に係る消去時のブロックを示す模式図である。 図29は、第1実施形態に係る消去時のブロックを示す模式図である。 図30は、第1実施形態に係る消去時のブロックを示す模式図である。 図31は、第1実施形態に係る消去時のブロックを示す模式図である。 図32は、第1実施形態に係る消去時のブロックを示す模式図である。 図33は、第1実施形態に係る消去時のブロックを示す模式図である。 図34は、第1実施形態に係る消去時のブロックを示す模式図である。 図35は、第1実施形態に係る消去時のブロックを示す模式図である。 図36は、第1実施形態に係る消去時のブロックを示す模式図である。 図37は、消去動作の概念図である。 図38は、第1実施形態に係る各種レジスタの概念図である。 図39は、第1実施形態に係る各種レジスタの概念図である。 図40は、第1実施形態に係る各種レジスタの概念図である。 図41は、第1実施形態に係る各種レジスタの概念図である。 図42は、第1実施形態に係る各種レジスタの概念図である。 図43は、第1実施形態に係る各種レジスタの概念図である。 図44は、第1実施形態に係る各種レジスタの概念図である。 図45は、第1実施形態に係る各種レジスタの概念図である。 図46は、第1実施形態に係る各種レジスタの概念図である。 図47は、第1実施形態に係る各種レジスタの概念図である。 図48は、第2実施形態に係るメモリセルアレイの断面図である。 図49は、第2実施形態に係る消去動作のタイミングチャートである。 図50は、第2実施形態に係る消去動作のタイミングチャートである。 図51は、第2実施形態に係るメモリセルアレイの断面図である。 図52は、第2実施形態に係る消去動作のタイミングチャートである。 図53は、第3実施形態に係るセンスアンプのブロック図である。 図54は、第3実施形態に係るセンスアンプの動作を示すフローチャートである。 図55は、第3実施形態に係るラッチ回路のブロック図である。 図56は、第4実施形態に係るロジック回路のブロック図である。 図57Aは、第4実施形態に係る消去動作のフローチャートである。 図57Bは、図57Aに続くフローチャートである。 図58Aは、第4実施形態に係る消去動作のタイミングチャートである。 図58Bは、図58Aに続くフローチャートである。 図58Cは、図58Bに続くフローチャートである。 図59Aは、第4実施形態に係る消去動作のタイミングチャートである。 図59Bは、図59Aに続くフローチャートである。 図59Cは、図59Bに続くフローチャートである。 図60は、第5実施形態に係るメモリシステムのブロック図である。 図61は、第5実施形態に係るステータス読み出し時における各種信号のタイミングチャートである。 図62は、第5実施形態に係るコマンドの内容を示すダイアグラムである。 図63は、第5実施形態に係るコマンドの内容を示すダイアグラムである。 図64は、第5実施形態に係るコマンドの内容を示すダイアグラムである。 図65は、第5実施形態に係るコマンドの内容を示すダイアグラムである。 図66は、第5実施形態に係るコマンドの内容を示すダイアグラムである。 図67は、第5実施形態に係るステータス読み出し時における各種信号のタイミングチャートである。 図68は、第5実施形態に係るコマンドの内容を示すダイアグラムである。 図69は、第5実施形態に係るコマンドの内容を示すダイアグラムである。 図70は、第5実施形態に係るコマンドの内容を示すダイアグラムである。 図71は、第5実施形態に係るコマンドの内容を示すダイアグラムである。 図72は、第1乃至第5実施形態の変形例に係るメモリセルアレイの断面図である。
以下、実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
1.第1実施形態
第1実施形態に係る半導体記憶装置について説明する。以下では半導体記憶装置として、メモリセルが半導体基板の上方に積層された三次元積層型NAND型フラッシュメモリを例に挙げて説明する。
1.1 構成について
1.1.1 半導体記憶装置の全体構成について
図1は、本実施形態に係る半導体記憶装置のブロック図である。図示するように半導体記憶装置1は、ロジック回路2、パーシャルバッドインフォメーションレジスタ3、及び複数のプレーンPB(本例では2つのプレーンPB0及びPB1の場合を例示する)を備えている。
プレーンPBは、データを記憶するメモリセルを備えると共に、メモリセルへのデータの書き込み、及びメモリセルからのデータの読み出しを行うユニットである。プレーンPB0及びPB1は互いに独立して動作可能であり、また同時に動作することも可能である。
プレーンPBの各々は、メモリセルアレイ10、ロウデコーダ11、及びセンスアンプ12を備えている。
メモリセルアレイ10は、それぞれがワード線及びビット線に関連付けられた複数の不揮発性メモリセルの集合である複数のブロックBLK(BLK0、BLK1、BLK2、…)を備えている。ブロックBLKはデータの消去単位となり、同一ブロックBLK内のデータは一括して消去される。ブロックBLKの各々は、メモリセルが直列接続されたNANDストリング13の集合である複数のストリングユニットSU(SU0〜SU3)を備えている。もちろん、ブロックBLKの数や、1ブロックBLK内のストリングユニットSUの数は任意である。
ロウデコーダ11は、ブロックアドレスやページアドレスをデコードして、対応するブロックのいずれかのワード線を選択する。そしてロウデコーダ112は、選択ワード線及び非選択ワード線等に、適切な電圧を印加する。
センスアンプ12は、データの読み出し時には、メモリセルからビット線に読み出されたデータをセンス・増幅する。またデータの書き込み時には、書き込みデータをメモリセルに転送する。メモリセルアレイ10へのデータの読み出し及び書き込みは、複数のメモリセル単位で行われ、この単位がページとなる。
メモリセルからのデータの読み出し、及びメモリセルへのデータの書き込みは、ロウデコーダ11及びセンスアンプ12によって行われる。
次にロジック回路2について説明する。ロジック回路2は、半導体記憶装置1を制御するメモリコントローラと通信可能とされている。そしてロジック回路2は、メモリコントローラからの命令に従って、半導体記憶装置1全体の動作を制御する。
図1に示すようにロジック回路2は、シーケンサ14、アドレスレジスタADD_REG、バッドストリングレジスタBS_REG、フェイルストリングレジスタFS_REG、及びパスストリングレジスタPS_REGを備えている。
アドレスレジスタADD_REGは、メモリコントローラから受信したアドレス(ブロックアドレス及びページアドレス)を保持する。アドレスレジスタADD_REGは、プレーンPB0用のレジスタADD_REG_PB0と、プレーンPB1用のレジスタADD_REG_PB1とを備えている。すなわち、プレーンPB0にアクセスされる際には、レジスタADD_REG_PB0にアドレスが格納され、プレーンPB1にアクセスされる際には、レジスタADD_REG_PB1にアドレスが格納される。
バッドストリングレジスタBS_REGは、各ブロックのバッドストリング(bad string)情報を保持する。バッドストリング情報とは、各ブロックにおいて、各ストリングユニットSUがグッドストリングであるか、または使用不可のバッドストリングであるかを示す情報である。図1の例では、各ブロックは4つのストリングユニットSUを含む。従って、各ブロックに対応するバッドストリング情報は例えば4ビットデータであり、各ビットが、例えば下位ビットから順番にストリングユニットSU0〜SU3がバッドストリングであるか否かを示す。例えばバッドストリング情報が“0010”であったとすると、ストリングユニットSU1がバッドストリングであることを示す。バッドストリングレジスタBS_REGもまた、プレーンPB0用のレジスタBS_REG_PB0と、プレーンPB1用のレジスタBS_REG_PB1とを備えている。すなわち、レジスタBS_REG_PB0は、プレーンPB0のバッドストリング情報を保持し、レジスタBS_REG_PB1は、プレーンPB1のバッドストリング情報を保持する。
フェイルストリングレジスタFS_REGは、各ブロックのフェイルストリング(failed string)情報を保持する。フェイルストリング情報とは、後述する消去動作における消去ベリファイや、後述するダミープログラムベリファイにおいて、各ストリングユニットがパスしたかフェイルしたかを示す情報である。言い換えれば、消去動作における何らかの動作でフェイルになったことを示す情報であり、ストリングユニットSUでのフェイルを示す。図1の例ではバッドストリング情報と同じくフェイルストリング情報も4ビットデータであり、各ビットが下位から順番にストリングユニットSU0〜SU3に相当する。そして、例えばフェイルストリング情報が“0100”であったとすると、ストリングユニットSU2がフェイルであることを示す。フェイルストリングレジスタFS_REGもまた、プレーンPB0用のレジスタFS_REG_PB0と、プレーンPB1用のレジスタFS_REG_PB1とを備えている。すなわち、レジスタFS_REG_PB0は、プレーンPB0のフェイルストリング情報を保持し、レジスタFS_REG_PB1は、プレーンPB1のフェイルストリング情報を保持する。
パスストリングレジスタPS_REGは、各ブロックのパスストリング(passed string)情報を保持する。パスストリング情報とは、各ストリングユニットSUが消去ベリファイにパスしたかを示す情報である。図1の例では、パスストリング情報も4ビットデータであり、各ビットが下位から順番にストリングユニットSU0〜SU3に相当する。そして、例えばフェイルストリング情報が“1000”であったとすると、ストリングユニットSU3がパスしたことを示す。ストリングユニットSU(パスストリング:passed string)のアドレスを保持する。パスストリングレジスタPS_REGもまた、プレーンPB0用のレジスタPS_REG_PB0と、プレーンPB1用のレジスタPS_REG_PB1とを備えている。すなわち、レジスタPS_REG_PB0は、プレーンPB0のパスストリング情報を保持し、レジスタPS_REG_PB1は、プレーンPB1のパスストリング情報を保持する。
バッドストリングレジスタBS_REG、フェイルストリングレジスタFS_REG、及びパスストリングレジスタPS_REGに保持される情報は、メモリコントローラからも参照することが出来る。すなわち、メモリコントローラはコマンドを発行することにより、各レジスタBS_REG、FS_REG、及びPS_REG内のデータを読み出すことが出来る。このメモリコントローラの動作の詳細に関しては、後述する第5実施形態において詳細に説明する。
シーケンサ14は、メモリコントローラから受信したコマンドに従って、プレーンPB0及びPB1の動作を制御する。すなわち、メモリコントローラから読み出し、書き込み、または消去コマンドが送信されると、このコマンドは、図示せぬコマンドレジスタに格納される。またアクセス対象アドレスがアドレスレジスタADD_REGに格納される。これらの情報に従って、シーケンサ14はプレーンPB0及び/またはプレーンPB1の動作を制御し、データの読み出し、書き込み、または消去を実行する。また、バッドストリングレジスタBS_REG、フェイルストリングレジスタFS_REG、及びパスストリングレジスタPS_REGへの情報の書き込みも、シーケンサ14が行う。
次に、パーシャルバッドインフォメーションレジスタ3について説明する。パーシャルバッドインフォメーションレジスタ3は、既知のバッドストリング情報を保持する。すなわち、半導体記憶装置1は、製造時点において、バッドブロックには分類されないが、部分的な不良を含むものがある。パーシャルバッドインフォメーションレジスタ3は、これらの部分的な不良の位置情報を保持する。
図1の例では、プレーンPB0及びPB1用にそれぞれレジスタが設けられ、このレジスタがバッドストリング情報を保持する場合を一例に示している。図1の4桁の不良情報は、下位ビットから順番にSU0〜SU3の状態を示し、“1”がバッドストリング、“0”がグッドストリングであることを示している。よって図1の例では、プレーンPB0では、ブロックBLK1のストリングユニットSU0、BLK5のSU0及びSU3、並びにBLK11のSU3がバッドストリングである。なお、部分的な不良の位置情報としては、このようにストリングユニット単位で登録されても良いし、別の単位で登録されても良い。
上記の部分的な不良の位置情報は、製造時においてパーシャルバッドインフォメーションレジスタ3に揮発的に記憶され、製造時のテスト工程が完了する際に、例えばメモリセルアレイ10の特定の領域(ROMフューズ領域)に書き込まれても良い。この情報は、半導体記憶装置1へのパワーオン時に、メモリコントローラからの命令を受信することなくシーケンサ14によって自発的にROMフューズ領域から読み出され(パワーオンリード)、パーシャルバッドインフォメーションレジスタ3に格納される。このように、出荷前に判明している不良位置情報をレジスタ3等に記憶させておく機能を、以下では第1登録機能と呼ぶ。第1登録機能はオプションであり、NAND型フラッシュメモリ1が第1登録機能を持たない場合であっても良い。また第1登録機能は、後述する第2登録機能のような、不良情報を保持するためにレジスタを使用しないようなタイプの機能とも共存出来る。第2登録機能については、後述する1.1.3及び1.1.4の項で詳細に説明する。
なお、半導体記憶装置1とメモリコントローラは、例えばそれらの組み合わせにより一つの半導体装置を構成しても良く、その例としてはSDTMカードのようなメモリカードや、SSD(solid state drive)等が挙げられる。
1.1.2 メモリセルアレイ10の詳細について
次に、上記メモリセルアレイ10の詳細について説明する。図2は、あるブロックBLKの回路図である。他のブロックBLKも同様の構成を有している。図示するようにブロックBLKは、例えば4つのストリングユニットSU(SU0〜SU3)を含む。また各々のストリングユニットSUは、複数(L個、Lは2以上の自然数)のNANDストリング13を含む。
NANDストリング13の各々は、例えば8個のメモリセルトランジスタMT(MT0〜MT7)と、ダミートランジスタDTD、DTSと、選択トランジスタST1、ST2とを含んでいる。メモリセルトランジスタMTは、制御ゲートと電荷蓄積層とを含む積層ゲートを備え、データを不揮発に保持する。なお、メモリセルトランジスタMTの個数は8個に限られず、16個や32個、64個、128個等であってもよく、その数は限定されるものではない。ダミートランジスタDTD、DTSもメモリセルトランジスタMTと同様に、制御ゲートと電荷蓄積層とを含む積層ゲートを備える。但しダミートランジスタDTD及びDTSはデータを保持するためのものでは無く、データの書き込み、読み出し、及び消去時には単なる電流経路として機能する。メモリセルトランジスタMT及びダミートランジスタDTD、DTSは、選択トランジスタST1、ST2間に、その電流経路が直列接続されるようにして配置されている。なおダミートランジスタDTDはメモリセルトランジスタMT7と選択トランジスタST1との間に設けられ、ダミートランジスタDTSはメモリセルトランジスタMT0と選択トランジスタST2との間に設けられる。
ストリングユニットSU0〜SU3の各々の選択トランジスタST1のゲートは、それぞれセレクトゲート線SGD0〜SGD3に共通接続され、選択トランジスタST2のゲートは、それぞれセレクトゲート線SGS0〜SGS3に共通接続される。これに対して、同一のブロックBLK内にあるメモリセルトランジスタMT0〜MT7の制御ゲートは、それぞれワード線WL0〜WL7に共通接続され、ダミートランジスタDTD及びDTSの制御ゲートも、ダミーワード線DWLD及びDWLSに共通接続される。
すなわち、ワード線WL0〜WL7、及びダミーワード線DWLD及びDWLSは同一ブロックBLK内の複数のストリングユニットSU0〜SU3間で共通に接続されているのに対し、セレクトゲート線SGD及びSGSは、同一ブロックBLK内であってもストリングユニットSU0〜SU3毎に独立している。なおセレクトゲート線SGSに関しては、それぞれが独立しておらず、ワード線WL等と同様に共通に接続されても良い。
また、メモリセルアレイ10内でマトリクス状に配置されたNANDストリング13のうち、同一行にあるNANDストリング13の選択トランジスタST1の電流経路(ドレイン)は、いずれかのビット線BL(BL0〜BL(L−1))に共通接続される。すなわち、ビット線BLは、複数のブロックBLK間でNANDストリング13を共通に接続する。また、選択トランジスタST2の電流経路(ソース)は、ソース線SLに共通に接続されている。ソース線SLは、例えば複数のブロック間で、NANDストリング13を共通に接続する。
前述の通り、同一のブロックBLK内にあるメモリセルトランジスタMTのデータは、一括して消去される。これに対してデータの読み出し及び書き込みは、いずれかのブロックBLKのいずれかのストリングユニットSUにおける、いずれかのワード線WLに共通に接続された複数のメモリセルトランジスタMTにつき、一括して行われる。この単位を「ページ」と呼ぶ。
メモリセルアレイ10の構成については、例えば、“三次元積層不揮発性半導体メモリ”という2009年3月19日に出願された米国特許出願12/407,403号に記載されている。また、“三次元積層不揮発性半導体メモリ”という2009年3月18日に出願された米国特許出願12/406,524号、“不揮発性半導体記憶装置及びその製造方法”という2010年3月25日に出願された米国特許出願12/679,991号“半導体メモリ及びその製造方法”という2009年3月23日に出願された米国特許出願12/532,030号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
メモリセルアレイ10の一構成例につき、図3を用いて簡単に説明する。図3はNANDストリング13の断面図である。図3に示す構造が、図3を記載した紙面の奥行き方向(D2)に複数配列され、且つそれらがワード線WL、ダミーワード線DWLD及びDWLS、並びにセレクトゲート線SGD及びSGSを共有することにより、ストリングユニットSUが形成される。図3では紙面の都合上、3つのストリングユニットSUのみを図示している。
図示せぬ半導体基板上には、例えばセンスアンプ12やロウデコーダ11等の周辺回路が形成される。そして周辺回路を被覆するようにして層間絶縁膜が形成され、層間絶縁膜上に、メモリセルアレイ10が形成される。すなわち図3に示すように、図示せぬ層間絶縁膜上に、例えばp型半導体層20が形成される。半導体層20はウェル領域として機能する。
半導体層20上には、セレクトゲート線SGSとして機能する配線層21、ダミーワード線DWLSとして機能する配線層22、ワード線WL0〜WL7として機能する配線層23、ダミーワード線DWLDとして機能する配線層24、及びセレクトゲート線SGDとして機能する配線層25が順次積層されている。これらの配線層21〜25は導電物により形成される。また、これらの配線層の間には、層間絶縁膜が形成される。
そして、上記半導体層21〜25を貫通して配線層(p型ウェル領域)20に達する円筒形のホール(メモリホール)26が形成される。このメモリホール26の周囲には、配線層21と接する領域に、選択トランジスタST2のゲート絶縁膜27が形成される。また、配線層22〜24と接する領域に、ダミートランジスタDTD、DTS及びメモリセルトランジスタMTのブロック層28、電荷蓄積層29、及びゲート絶縁膜30が順次形成される。更に、配線層25と接する領域に、選択トランジスタST1のゲート絶縁膜31が形成される。そして、メモリホール26の内部に、半導体層32〜34が順次埋め込まれる。
以上により、ウェル領域20上に、選択トランジスタST2、ダミートランジスタDTS、メモリセルトランジスタMT0〜MT7、ダミートランジスタDTD、及び選択トランジスタST1が順次形成される。
そして、半導体層34上には、第1方向に沿った金属配線層35が形成される。配線層35はビット線BLとして機能し、複数のメモリホール26内の半導体層34に接続されている。
ウェル領域20の表面内には、n型不純物拡散層36が形成されている。拡散層36は、コンタクトプラグ37によって金属配線層38に接続される。配線層38は、ソース線SLとして機能する。更にウェル領域20の表面内には、p型不純物拡散層39が形成されている。拡散層39は、コンタクトプラグ40によって金属配線層41に接続される。配線層41は、ウェル配線CPWELLとして機能する。そして配線層38及び41は、セレクトゲート線SGDよりも上層であって、且つ配線層35よりも下層のレイヤに形成される。
上記構成において、配線層22〜24は、隣接するストリングユニットSU間で接続されており、配線層21及び25はストリングユニットSU毎に分離されている。またコンタクトプラグ37に隣接するストリングユニットSUでは、ゲート絶縁膜27及びセレクトゲート線21は、拡散層36と近接する領域にまで設けられる。これにより、選択トランジスタST2に形成されるチャネルは、拡散層36に接続される。これにより、データの読み出し時には、半導体層32だけでなくウェル領域20の表面にもチャネルが形成され、このチャネルによりNANDストリングは拡散層36及びコンタクトプラグ37を介してソース線SLに電気的に接続される。
1.1.3 トランジスタの閾値分布について
図4は、本実施形態に係るメモリセルトランジスタMT及び選択トランジスタST1の取りうるデータ及び閾値分布を示す。
図示するように、各々のメモリセルトランジスタMTは、その閾値に応じて例えば2ビットのデータを保持可能である。この2ビットデータは、閾値の低いものから順番に、例えば“11”、“01”、“00”、“10”である。
“11”データを保持するメモリセルの閾値は、“Er”レベルまたは“EP”レベルである。Erレベルは、電荷蓄積層内の電荷が引き抜かれて、データが消去された状態における閾値であり、正の値だけでなく負の値をも取り得る。EPレベルは、電荷蓄積層内に電荷が注入された状態の閾値であり、Erレベルまたはそれ以上のレベルであり、正の値を有する。
“01”、“00”、及び“10”も、電荷蓄積層内に電荷が注入された状態の閾値である。“01”データを保持するメモリセルの閾値は“A”レベルであり、Erレベル及びEPレベルよりも高い。“00”データを保持するメモリセルの閾値は“B”レベルであり、Aレベルよりも高い。“10”データを保持するメモリセルの閾値は“C”レベルであり、Bレベルよりも高い。もちろん、2ビットデータと閾値との関係はこの関係に限定されるものでは無く、例えば“11”データが“C”レベルに対応するような場合であっても良く、両者の関係については適宜選択出来る。
ダミートランジスタDTD及びDTSは、“Er”レベルまたは“EP”レベルの閾値を保持する。
選択トランジスタST1の閾値は、通常は“SG/EP”レベルとされる。この閾値は、通常の読み出し及び書き込み動作において、セレクトゲート線SGDが選択されて電圧VSGが印加された際に、選択ストリングユニットSU内の全ての選択トランジスタST1がオンされるレベルである。この電圧は、例えばEPレベルからAレベルの範囲の値である。選択トランジスタST2の閾値も“SG/EP”レベルである。
他方で選択トランジスタST1の閾値は、“SG/AC”レベルとされる場合がある。このレベルは、“AG/AC”レベルが高電圧方向へシフトさせたものであり、その閾値分布の一部はVSGよりも高い。従って、電圧VSGがセレクトゲート線SGDに印加された際、選択ページ内において、ある一定数の選択トランジスタST1はオフ状態となる。本実施形態では、ストリングユニットSUが不良であった場合(バッドストリング)、その旨の情報が、当該ストリングユニットSU内の選択トランジスタST1に書き込まれることが出来る。つまり、選択トランジスタST1の閾値を高めに設定することで、当該ストリングユニットSUがバッドストリングであることを示すマーキングがなされる。マーキングがなされた結果、当該ストリングユニットSUの選択トランジスタST1の閾値は“SG/AC”レベルとされる。
選択トランジスタST1へのマーキングは、NAND型フラッシュメモリ1の例えば出荷前のテスト時に行われる。このテストは、例えばテスタによって行われる。テスタは、メモリセルアレイ10内のメモリセルトランジスタMTが正常に動作するか否かをテストする。そして、いずれかのストリングユニットSUにおいて書き込み不良ページが発見された場合、テスタは、当該ストリングユニットSUの全ての選択トランジスタST1の電荷蓄積層に電荷を注入して、その閾値を“SG/EP”レベルから“SG/AC”レベルに上昇させる。
上記のように、選択トランジスタST1にマーキングすることを、以下では第2登録機能と呼ぶ。そして、第2登録機能を用いた判定読み出しにより、各ストリングユニットSUがバッドストリングであるかを判断出来る。第2登録機能は第1登録機能と同様にオプションであり、NAND型フラッシュメモリ1が第2登録機能を持たない場合であっても良い。
上記のように、第2登録機能は第1登録機能のように専用のレジスタ群を持たず、メモリセルアレイ内のマーキング情報に基づく方法である。そしてダイソートが終了すると、後述する判定読み出しによってマーキング箇所を検出し、不良ストリングユニット情報を、チップ内のROMフューズや管理ブロックにあらかじめ書き込んでおく。
第1登録機能であると、チップ内のレジスタに不良情報とともに登録されているので、誤ってアクセスした場合でもセルアレイ内の駆動を止めるような制御が容易にできる。そのため、セレクトゲート線間のショートを含むブロックもバッドブロックとせず、不良ストリングユニットとして扱うことが可能となる。他方で、レジスタを多数配置する必要があるため、チップ面積に対するデメリットが発生する。
これに対して第2登録機能では、特にレジスタなどを用意する必要はないため、チップ面積に対するデメリットがない。また、PORでレジスタに情報を設定するような動作も不要なため、ROMフューズに登録する必要もなく、登録数の上限がない。つまり、ROMフューズに登録できる情報には限りがあるが、第2登録機能による不良ストリングユニットの情報は出荷時にいずれかのブロックBLKのいずれかのページに書いておく、というような情報を書いておけばよい。
このように、第1、第2登録機能にはメリットとデメリットがあるため、半導体記憶装置の要求にあわせて、いずれか一方、または両方を実装すれば良い。
次に、第2登録機能を用いた際の判定読み出しにつき、以下説明する。
1.1.4 判定読み出しの詳細について
次に、上記判定読み出しの詳細につき説明する。判定読み出しは、選択されたストリングユニットにおけるセレクトゲートSGDに電圧VSG、またはVSGよりも低いVSG’(図4参照)が印加され、非選択のストリングユニットにおけるセレクトゲート線SGDに例えば0Vが印加され、セレクトゲート線SGSに電圧VSGが印加され、全ワード線WL(及びダミーワード線DWLD及びDWLS)に電圧VREADが印加された状態で行われる。電圧VREADは、保持データに関わらずメモリセルトランジスタMTをオン状態とする電圧である
<マーキングされていない場合>
まず、選択されたストリングユニットSUの選択トランジスタST1がマーキングされていない場合について、図5を用いて説明する。図5はビット線方向に沿ったブロックBLKの一部領域を簡略化した断面図である。ダミーワード線DWLD及びDWLSの図示は省略している。図中において選択トランジスタST1及びST2に付した丸印はオン状態を示し、バツ印はオフ状態を示す。
図示するように、選択されたストリングユニットSUがグッドストリングであれば、このストリングユニットSU内の選択トランジスタST1の閾値はSG/EPレベルである。従って、選択トランジスタST1、ST2は、電圧VSGまたはVSG’を印加されることでオン状態とされる。また、電圧VREADが印加されることで、全メモリセルトランジスタMTは、保持データに関わらずオン状態とされる。
その結果、当該ストリングユニットSU内の全NANDストリング13において、ビット線BLからソース線SLに向かってセル電流Icellが流れる(Icellが流れた際のビット線BLの状態を“0”状態(BLは論理“L”レベルとなる)と定義する)。
すなわち、全ワード線WLにVREADを印加してデータを読み出した際に、全ビット線BLあるいは所定の数以上のビット線BLが“0”であれば、選択したストリングユニットSUはバッドストリングとしてマーキングされていない、と判断出来る。
<マーキングされている場合>
次に、選択されたストリングユニットSUの選択トランジスタST1がマーキングされている場合について図6を用いて説明する。図6は図5と同様にビット線方向に沿ったブロックBLKの一部領域の断面図である。
図示するように、選択されたストリングユニットがバッドストリングとしてマーキングされていれば、選択トランジスタST1の閾値はSG/ACレベルである。従って、一定数以上の選択トランジスタST1は、電圧VSGまたはVSG’を印加されてもオフ状態を維持する。図6ではオフ状態とされたNANDストリングを示している。
選択トランジスタST1がオフ状態を維持する結果、当該ストリングユニットSU内の全NANDストリング13において、セル電流Icellは流れない(この際のビット線BLの状態を“1”状態(BLは論理“H”レベルとなる)と定義する)。
すなわち、全ワード線WLにVREADを印加してデータを読み出した際に、所定の数以上のビット線BLが“1”であれば、選択したストリングユニットSUはバッドストリングとしてマーキングされている、と判断出来る。例えば1ページが256バイトであったとすると、100ビット以上がオフ状態ならば、バッドストリングとしてマーキングされている、と判断出来る。
1.2 消去動作について
次に、本実施形態に係るNAND型フラッシュメモリ1のデータ消去方法について説明する。
1.2.1 消去動作の全体の流れ
はじめに消去動作の全体の流れにつき、図7A及び図7Bを用いて説明する。図7A及び図7Bは消去動作のフローチャートであり、図7Bは図7Aに引き続く処理を示し、各ステップにおける処理は、主にシーケンサ14が行う。
まずロジック回路2は、メモリコントローラから消去コマンドと共に、消去対象となるプレーン及びブロックのアドレスを受信する(ステップS10)。受信された消去コマンドは、図示せぬコマンドレジスタに格納される。この消去コマンドに応答してシーケンサ14は、各レジスタを初期化する(ステップS11)。初期化対象となるレジスタは、図1に示すバッドストリングレジスタBS_REG、フェイルストリングレジスタFS_REG、及びパスストリングレジスタPS_REG等である。
次にシーケンサ14は、第1登録機能がイネーブルの場合(ステップS12、YES)、メモリコントローラから受信したブロックアドレスがパーシャルバッドインフォメーションレジスタ3に登録されているか否かを判断し、登録されている場合には、そのバッドストリング情報をバッドストリングレジスタBS_REGにロードする(ステップS13)。第1登録機能がディセーブルの場合(ステップS12、NO)には、シーケンサ14はステップS13の処理を省略する。
次にシーケンサ14は、信号PBx_ENABLEを確認する。本例では、x=0または1であり、プレーン番号である。そして、ステップS10で受信したプレーンアドレスに対応する信号PBx_ENABLEがアサート(本例では“1”)される。複数のプレーンが選択された際には、複数の信号PBx_ENABLEがアサートされ、マルチプレーン動作となる。シーケンサは、PBx_ENABLE=“1”であるプレーンに対応するパスストリングレジスタPS_REG_PBx及びバッドストリングレジスタBS_REG_PBxのステータスが全て確定しているか否かを確認する。そして確定していた場合、当該プレーンPBxに対応する信号PBx_ENABLEを“0”とする(ステップS14)。信号PBx_ENABLEは、例えばシーケンサ14によって出力される信号であり、プレーンPBxをイネーブルまたはディセーブルにするための信号である。すなわちシーケンサ14は、プレーンPB0をイネーブルにする際にはPB0_ENABLE=“1”とし、プレーンPB1をイネーブルにする際にはPB1_ENABLE=“1”とする。
引き続きシーケンサ14は、PBx_ENABLE=“1”とされたプレーンPBxが存在するか否か確認する(ステップS15)。存在しなければ(ステップS15、NO)、シーケンサ14は消去動作を終了する。
いずれかのプレーンPBxにつきPBx_ENABLE=“1”であれば、シーケンサ14は、対応するプレーンPBxに対して消去動作を実行する(ステップS16)。すなわちシーケンサ14は、ロウデコーダ11を制御して、選択プレーンPBxのメモリセルトランジスタMTの電荷蓄積層から電荷を半導体層33に引き抜く(ステップS16の詳細は、第2実施形態において説明する)。この結果、メモリセルトランジスタMTの閾値電圧が低下する。
そしてシーケンサ14は、消去ループ回数を示す信号OECをカウントアップする(ステップS17)。データの消去は、ステップS16において電荷蓄積層から電荷を引き抜く動作と、それによってメモリセルトランジスタMTの閾値が所望の値に変化しているかを確認する消去ベリファイ動作との組み合わせによって行われる。そしてこの組み合わせを複数回繰り返すことで、閾値は所望の値に徐々に近づいていく。信号OECは、この繰り返し回数を示す信号である。ステップS17は、カウントアップに限らず例えばカウントダウンであっても良く、信号OECが消去回数を示す値であれば限定されない。
次にシーケンサ14は、PBx_ENABLE=“1”であるプレーンにおいて、(FS_REG_PBx[n]|PS_REG_PBx[n]|BS_REG_PBx[n])=“0”であるストリングユニットSUnが存在するか否かを確認する(nは0〜3のいずれかであり、ストリングユニットSU0〜SU3のいずれかを示す)。“|”は論理和(OR)演算を示す。そして、存在すれば、シーケンサ14はそのストリングユニットSUを選択し、存在しなければ、シーケンサ14は対応する信号PBx_ENABLEを“0”にセットする(ステップS18)。
フェイルストリングレジスタFS_REG、パスストリングレジスタPS_REG、及びバッドストリングレジスタBS_REGは、例えば図1のブロックレジスタ3に保持される不良情報と同様に、少なくともストリングユニットSUの数のビット数を有するデータである。そして各ビットが、対応するストリングユニットSUがバッドストリングであるか否かを示す。例えば図1の例であると、1つのブロックBLKは4つのストリングユニットSUを含むので、各レジスタFS_REG、PS_REG、及びBS_REGはそれぞれ少なくとも4ビットのデータを保持する。そして本例の場合、4ビットの下位ビットから順番にストリングユニットSU0〜SU3の状態を示し、ストリングユニットSUがフェイルした場合、パスした場合、及びバッドストリングであった場合に、それぞれのレジスタに“1”がセットされる。従って、(FS_REG_PBx[n]|PS_REG_PBx[n]|BS_REG_PBx[n])=“0”が成立するには、ストリングユニットSUnがバッドストリングでは無く、且つ消去ベリファイにおいてフェイルもパスもしていない場合である。
引き続きシーケンサ14は、PBx_ENABLE=“1”のプレーンが存在するか否かを確認する(ステップS19)。存在しない場合(ステップS19、NO)には、シーケンサ14は、信号OECが、最大繰り返し回数に達しているか否かを判断する(ステップS20)。達していれば(ステップS20、YES)、シーケンサ14は消去動作を終了する。他方、達していなければ(ステップS20、NO)、シーケンサ14はフェイルストリングレジスタFS_REG_PBxをリセットする(ステップS21)。すなわちシーケンサ14は、FS_REG_PBxに保持されるストリングユニットSUに関するデータの全ビットを“0”にする。そしてステップS14の処理に戻る。
ステップS19においてPBx_ENABLE=“1”のプレーンが存在する場合(ステップS19、YES)、シーケンサ14は、第2登録機能がイネーブルであるか否か、またはメモリホールオープンマスク機能がイネーブルであるか否かを判断する(ステップS22)。メモリホールオープンマスク機能はNAND型フラッシュメモリ1の例えばオプション機能であり、その詳細は第3実施形態で説明する。少なくともいずれかの機能がイネーブルの場合(ステップS22、YES)、シーケンサ14は、図5及び図6で説明したような判定読み出しを行う(ステップS23)。そしてシーケンサ14は、第2登録機能がイネーブルの場合(ステップS24、YES)、ステップS23における判定読み出しの結果に基づき、オフ状態と判断されたビット数(オフビット数)をカウントする(ステップS25)。
引き続きシーケンサ14は、“オフビット数>予め定められた規定値”を満たすプレーンが存在しないかを判断する(ステップS26)。つまり、2プレーン動作において、プレーンPB0が“オフビット数>規定値”となった場合、プレーンPB1では信号STR_FIXED_PB0が立ち、消去ベリファイ対象のストリングユニットSUが確定していないプレーンPB0に対してだけ、もう一度、判定読み出しからやり直す。すなわち、上記条件が満たされなければ、当該プレーンについてのバッドストリングレジスタBS_REG_PBxの、当該ストリングユニットSUに対応するビットを“1”にセットする(ステップS27)。そしてステップS18の処理に戻る。
ステップS24の条件が満たされれば、シーケンサ14は引き続き、メモリホールオープンマスク機能がイネーブルであるか否かを判断する(ステップS28)。イネーブルであれば(ステップS28、YES)、シーケンサ14は、ステップS23における判定読み出しの結果を、センスアンプ12のラッチ回路UDLに格納する(ステップS29)。ディセーブルであれば(ステップS28、NO)、ステップS29は省略される。
次にシーケンサ14は、消去ベリファイを実行する(ステップS30)。ステップS22において、第2登録機能もメモリホールオープンマスク機能もディセーブルの場合(ステップS22、NO)にも、シーケンサ14はステップS30の処理に進む。すなわちシーケンサ14は、選択したいずれかのストリングユニットSU内のメモリセルトランジスタMTの閾値が、所望のレベルまで低下しているか否かを確認する。消去ベリファイ時の詳細については、第2実施形態で説明する。
引き続きシーケンサ14は、消去ベリファイの結果を内部に取り込む(ステップS31)。そしてシーケンサ14は、消去ベリファイにパスしたプレーンのストリングユニットSUに対応するPS_REG_PBxのビットを“1”にセットする。他方で、フェイルしたプレーンのストリングユニットSUに対応するFS_REG_PBxのビットを“1”にセットする。
その後シーケンサ14は、PBx_ENABLE=“1”である全てのプレーンにおいて、FS_REGのいずれかのビットが“1”であるか否かを判断する(ステップS32)。いずれかのプレーンでFS_REG=“1”である場合、すなわち、PBx_ENABLE=“1”であるプレーンのうち、パスし続けているプレーンがある場合(ステップS32、NO)、シーケンサ14はステップS18の処理に戻る。他方で、PBx_ENABLE=“1”である全てのプレーンにおいて、FS_REGのいずれかのビットが“1”である場合(ステップS32、YES)、シーケンサ14は、信号OECが、最大繰り返し回数に達しているか否かを判断する(ステップS33)。達していれば(ステップS33、YES)、シーケンサ14はステップS18の処理に戻る。他方、達していなければ(ステップS33、NO)、ステップS21の処理に進む。
なお、ステップS18、S19、S22〜S29の処理は、後述する信号STR_FIXED_PBxが“L”レベルであるプレーンに対して行われる。すなわち、消去ベリファイ対象が決まっていないプレーンに対して行われる。換言すれば、ステップS18、S19、S22〜S27の処理は、消去ベリファイ対象となるストリングユニットSUを決定するために行われ、消去ベリファイ対象が決まるまで繰り返される。第1及び第2登録機能のいずれもがディセーブルの場合には、FS_REG、PS_REG、及びBS_REGのいずれもが“0”であるストリングユニットSUのうち、最もストリングアドレスの小さいものが消去ベリファイ対象とされる。第1登録機能がイネーブルの場合には、FS_REG、PS_REG、及びBS_REGのいずれもが“0”であるストリングユニットSUのうち、判定読み出しにおいてマーキングされていないと判断され、且つ最もストリングアドレスの小さいものが消去ベリファイ対象とされる。
また、ステップS16以降の処理は、PBx_ENABLE=“1”であるプレーンに対してのみ実行される。
1.2.2 消去動作の具体例その1
上記消去動作の具体例について、まずシングルプレーン動作につき、図8A及び図8B並びに図9乃至図23を用いて説明する。図8A及び図8Bは、消去動作時における種々の信号の変化を順次示すタイミングチャートである。また図9乃至図23は、選択ブロックBLKの様子を示す模式図であり、選択されたストリングユニットSUには斜線を付して。以下では、プレーンPB0のいずれかのブロックBLKが消去対象とされ、且つ第1登録機能及び第2登録機能がイネーブルとされている場合を例に説明する。
NAND型フラッシュメモリ1は、NAND型フラッシュメモリ1がメモリコントローラから命令を受け付けることが可能なレディ状態か、それとも受け付けないビジー状態であるかを示すレディ/ビジー信号RBを出力する。本例では、レディ状態の際にRB=“H”であり、ビジー状態の際にRB=“L”とされる。
メモリコントローラは、NAND型フラッシュメモリ1がレディ状態である際に、消去コマンドを発行する。すなわち、ブロック消去コマンド“60h”を発行し、引き続き消去対象となるブロックBLKを指定するブロックアドレスADD1〜ADD3が発行され、最後にコマンド“D0h”が発行される。
この命令を受けてシーケンサ14は消去動作を開始し、NAND型フラッシュメモリ1はビジー状態となる。またシーケンサ14は、消去対象とされたプレーンPB0の信号PB0_ENABLEを“H”レベルとし、消去非対象のプレーンPB1の信号PB1_ENABLEを“L”レベルに維持する。
まずシーケンサ14は、各レジスタをリセットする(時刻t0〜t1)。この結果、レジスタBS_REG_PB0、FS_REG_PB0、及びPS_REG_PB0のデータはそれぞれ“0000”となる。この4ビットデータは、下位ビットから順番にストリングユニットSU0〜SU3の状態を示している。この様子を図9に示す。またシーケンサ14は、ロジック回路のストリングアドレスレジスタSTR_ADD_PB0を“0000”にリセットする。レジスタSTR_ADDはプレーン毎に設けられ、4ビットデータは、下位ビットから順番にストリングユニットSU0〜SU3を選択する際に“1”とされる。更にシーケンサ14は、信号STR_FIXED_PB0を“L”レベルとする。信号STR_FIXEDもプレーン毎に用意され、“H”レベルとされることで、消去ベリファイの対象ストリングが確定し、消去ベリファイ実行可能可能となる。またシーケンサ14は、信号OECを“0”にセットする。
次にシーケンサ14は、パーシャルバッドインフォメーションレジスタ3から不良の位置情報をロードする(時刻t1〜t2)。本例では、パーシャルバッドインフォメーションレジスタ3には、選択ブロックの全てのストリングユニットSUにつき、不良では無い旨の情報が保持されていた場合を示している。従って、レジスタBS_REG_PB0のデータは“0000”のままである。
次にシーケンサ14は、選択ブロックBLKのデータを消去する(時刻t2〜t3)。この様子を図10に示す。シーケンサ14は、レジスタSTR_ADD_PB0のデータを“1111”とする。この結果、全ストリングユニットSU0〜SU3のデータが一括して消去される。そしてシーケンサ14は、信号OECを“1”にカウントアップする。
次にシーケンサ14は、第2登録機能の判定読み出しを行うため、いずれかのストリングユニットSUを選択する(時刻t3〜t4)。本例では、レジスタBS_REG、FS_REG、及びPS_REGにおける対応するビットが“0”であり、且つストリングアドレスの小さいストリングユニットから順に選択される。従ってシーケンサ14は、ストリングユニットSU0を選択するため、レジスタSTR_ADD_PB0を“0001”とする。
そしてシーケンサ14は判定読み出しを行う(時刻t4〜t5)。この様子を図11に示す。すなわち、ストリングユニットSU0に対して、判定読み出しが行われる。本例では、ストリングユニットSU0の選択トランジスタST1がマーキングされていた場合を示している(このようなストリングユニットSUには、“BSM”なる記号を付す)。従ってシーケンサ14は、レジスタBS_REG_PB0を“0000”から“0001”に更新する(時刻t5)。この状態では、まだ消去ベリファイの対象となるストリングユニットSUが定まらないため、信号STR_FIXED_PB0は“L”レベルのままである。
シーケンサ14は、再度、判定読み出しを行うため、レジスタSTR_ADD_PB0を“0010”として、ストリングユニットSU1を選択する(時刻t5〜t6)。
そしてシーケンサ14は判定読み出しを行う(時刻t6〜t7)。この様子を図12に示す。図示するように、本例ではストリングユニットSU1は判定読み出しにおいてマーキングされていないと判断されたとする(このようなストリングユニットSUには、“not BSM”なる記号を付す)。
従ってシーケンサ14は、信号STR_FIXED_PB0を“H”レベルにする(時刻t7)。
信号STR_FIXED_PB0が“H”レベルとされたことで、シーケンサ14は消去ベリファイを実行する(時刻t7〜t8)。この様子を図13に示す。レジスタSTR_ADD_PB0=“0010”であるから、消去ベリファイ対象となるストリングユニットはSU1である。図13に示すように、ストリングユニットSU1は消去ベリファイにフェイルしたとする。するとシーケンサ14は、レジスタFS_REG_PB0を“0000”から“0010”に更新する(時刻t8)。
FS_REGのビットに“1”が立ったため(ステップS32、YES)、シーケンサ14はFS_REGを“0000”にリセットし(ステップS21)、ステップS14に戻る(BS_REGは“0001”のままで維持される)。
そしてシーケンサ14は、選択ブロックBLKのデータを消去する(時刻t9〜t10)。この様子を図14に示す。シーケンサ14は、レジスタSTR_ADD_PB0のデータを“1111”とする。この結果、全ストリングユニットSU0〜SU3のデータが一括して消去される。そしてシーケンサ14は、信号OECを“2”にカウントアップする。
次にシーケンサ14は判定読み出しを行うため、いずれかのストリングユニットSUを選択する(時刻t10〜t11)。この時点では、ストリングユニットSUがバッドストリングであると確定しているので、シーケンサ14は、ストリングユニットSU1を選択するため、レジスタSTR_ADD_PB0を“0010”とする。
そしてシーケンサ14は判定読み出しを行う(時刻t11〜t12)。この様子を図15に示す。図示するように、本例ではストリングユニットSU1は判定読み出しにおいてマーキングされていないと判断されたとする。
従ってシーケンサ14は、信号STR_FIXED_PB0を“H”レベルにして(時刻t12)、消去ベリファイを実行する(時刻t12〜t13)。この様子を図16に示す。レジスタSTR_ADD_PB0=“0010”であるから、消去ベリファイ対象となるストリングユニットはSU1である。図16に示すように、ストリングユニットSU1は消去ベリファイにパスしたとする。するとシーケンサ14は、レジスタPS_REG_PB0を“0000”から“0010”に更新する(時刻t13)。
この時点でFS_REGのビットには“1”が立っていないので(ステップS32、NO)、シーケンサ14は引き続き、判定読み出しを行う。すなわち、ストリングユニットSU0及びSU1のステータスがこの時点で決まっているので、シーケンサ14はレジスタSTR_ADD_PB0を“0100”として、ストリングユニットSU2を選択する(時刻t14)。
そしてシーケンサ14は判定読み出しを行う(時刻t14〜t15)。この様子を図17に示す。図示するように、本例ではストリングユニットSU1は判定読み出しにおいてマーキングされていないと判断されたとする。
従ってシーケンサ14は、信号STR_FIXED_PB0を“H”レベルにして(時刻t15)、消去ベリファイを実行する(時刻t15〜t16)。この様子を図18に示す。レジスタSTR_ADD_PB0=“0100”であるから、消去ベリファイ対象となるストリングユニットはSU2である。図18に示すように、ストリングユニットSU2は消去ベリファイにパスしたとする。するとシーケンサ14は、レジスタPS_REG_PB0を“0010”から“0110”に更新する(時刻t16)。
この時点においてもFS_REGのビットには“1”が立っていないので(ステップS32、NO)、シーケンサ14は引き続き、判定読み出しを行う。すなわち、シーケンサ14はレジスタSTR_ADD_PB0を“1000”として、ストリングユニットSU3を選択する(時刻t17)。
そしてシーケンサ14は判定読み出しを行う(時刻t17〜t18)。この様子を図19に示す。図示するように、本例ではストリングユニットSU1は判定読み出しにおいてマーキングされていないと判断されたとする。
従ってシーケンサ14は、信号STR_FIXED_PB0を“H”レベルにして(時刻t18)、消去ベリファイを実行する(時刻t18〜t19)。この様子を図20に示す。レジスタSTR_ADD_PB0=“1000”であるから、消去ベリファイ対象となるストリングユニットはSU3である。図20に示すように、ストリングユニットSU3は消去ベリファイにフェイルしたとする。するとシーケンサ14は、レジスタFS_REG_PB0を“0000”から“1000”に更新する(時刻t19)。
FS_REGのビットに“1”が立ったため(ステップS32、YES)、シーケンサ14はFS_REGを“0000”にリセットし(ステップS21)、ステップS14に戻る(BS_REGは“0001”で維持され、PS_REGは“0110”で維持される)。
そしてシーケンサ14は、選択ブロックBLKのデータを消去する(時刻t20〜t21)。この様子を図21に示す。シーケンサ14は、レジスタSTR_ADD_PB0のデータを“1111”とする。この結果、全ストリングユニットSU0〜SU3のデータが一括して消去される。そしてシーケンサ14は、信号OECを“3”にカウントアップする。
次にシーケンサ14は判定読み出しを行うため、いずれかのストリングユニットSUを選択する(時刻t21〜t22)。この時点では、ストリングユニットSU0〜SU2のステータスが確定しているので、シーケンサ14は、ストリングユニットSU3を選択するため、レジスタSTR_ADD_PB0を“1000”とする。
そしてシーケンサ14は判定読み出しを行う(時刻t22〜t23)。この様子を図22に示す。すなわち、ストリングユニットSU3に対して、判定読み出しが行われる。図示するように、本例ではストリングユニットSU1は判定読み出しにおいてマーキングされていないと判断されたとする。
従ってシーケンサ14は、信号STR_FIXED_PB0を“H”レベルにして(時刻t23)、消去ベリファイを実行する(時刻t23〜t24)。この様子を図23に示す。レジスタSTR_ADD_PB0=“1000”であるから、消去ベリファイ対象となるストリングユニットはSU3である。図23に示すように、ストリングユニットSU1は消去ベリファイにパスしたとする。するとシーケンサ14は、レジスタPS_REG_PB0を“0110”から“1110”に更新する(時刻t24)。
すると、この時点でプレーンPB0ではPS_REG及びBS_REGのステータスが全て確定する。従って、シーケンサ14はPB0_ENABLEを“0”として、処理を終了する。
1.2.3 消去動作の具体例その2
次に、消去動作の具体例として、マルチプレーン動作について説明する。以下では、2つのプレーンPB0及びPB1に対して同時に消去動作を実行する場合につき、図24A及び図24B並びに図25乃至図36を用いて説明する。図24A及び図24Bは、消去動作時における種々の信号の変化を順次示すタイミングチャートである。また図25乃至図36は、2つのプレーンPB0及びPB1における選択ブロックBLKの様子を示す模式図である。以下では、特にシングルプレーン動作と異なる点に着目して説明する。なお、3つ以上のプレーンに対して同時に消去動作を実行する場合も同様である。
図示するように、まずメモリコントローラがブロック消去コマンド“60h”を発行する。引き続きメモリコントローラは、プレーンPB0のブロックBLKを指定するブロックアドレスADD1〜ADD3を発行し、更にプレーンPB1のブロックBLKを指定するブロックアドレスADD1〜ADD3を発行し、最後にコマンド“D0h”を発行する。
コマンド“D0h”を受けて、シーケンサ14は信号PB0_ENABLE及びPB1_ENABLEを“H”レベルとする。
シングルプレーン動作時と同様に、シーケンサ14は、まず各レジスタをリセットし(時刻t0〜t1)、次にパーシャルバッドインフォメーションレジスタ3から不良の位置情報をロードする(時刻t1〜t2)。この様子を図25に示す。本例では、パーシャルバッドインフォメーションレジスタ3には、プレーンPB0の選択ブロックにおけるストリングユニットSU1がバッドストリングである旨の情報が保持されている(このようなストリングユニットには、“BSC”なる記号を付す)。従ってシーケンサ14は、レジスタBS_REG_PB0を“0010”にセットする。
次にシーケンサ14は、プレーンPB0及びPB1のデータを同時に消去する(時刻t2〜t3)。この様子を図26に示す。
次にシーケンサ14は、プレーンPB0及びPB1のストリングユニットSU0に対して判定読み出しを行う(時刻t3〜t5)。この様子を図27に示す。図示するように、プレーンPB0のストリングユニットSU0の選択トランジスタST1はマーキングされているため、シーケンサ14はBS_REG_PB0を“0010”から“0011”に更新する(時刻t5)。また、信号STR_FIXED_PB0も“L”レベルのままである。他方で、プレーンPB1のストリングユニットSU0は判定読み出しにおいてマーキングされていないと判断される。従ってシーケンサ14は、信号STR_FIXED_PB1を“H”レベルとする(時刻t5)。
この時点で、プレーンPB1では消去ベリファイの対象となるストリングユニットが決まるが、プレーンPB0ではまだ定まっていない。従って、次にシーケンサ14は、プレーンPB0に対してのみ判定読み出しを行う(時刻t5〜t7)。この様子を図28に示す。図示するように、プレーンPB0のストリングユニットSU0は判定読み出しにおいてマーキングされていないと判断される。これにより、信号STR_FIXED_PB0も“H”レベルとされる。
信号STR_FIXED_PB0及びSTR_FIXED_PB1が共に“H”レベルとされたことを受けて、シーケンサ14は、プレーンPB0及びPB1に対して消去ベリファイを実行する(時刻t7〜t8)。この様子を図29に示す。図示するように、プレーンPB0ではストリングユニットSU2が消去ベリファイにフェイルし、プレーンPB1ではストリングユニットSU0がパスする。よってシーケンサ14は、FS_REG_PB0を“0100”に更新し、PS_REG_PB1を“0001”に更新する。
引き続き、シーケンサ14は判定読み出しを行う(時刻t8〜t10)。この様子を図30に示す。図示するように、プレーンPB0ではストリングユニットSU3が判定読み出しにおいてマーキングされていないと判断され、プレーンPB1ではストリングユニットSU1がマーキングされていないと判断される。これにより、シーケンサ14は信号STR_FIXED_PB0及びSTR_FIXED_PB1を“H”レベルとする(時刻t10)。
信号STR_FIXED_PB0及びSTR_FIXED_PB1が共に“H”レベルとされたことを受けて、シーケンサ14は、プレーンPB0及びPB1に対して消去ベリファイを実行する(時刻t10〜t11)。この様子を図31に示す。図示するように、プレーンPB0ではストリングユニットSU3が消去ベリファイにフェイルし、プレーンPB1ではストリングユニットSU1がパスする。よってシーケンサ14は、FS_REG_PB0を“0100”から“1100”に更新し、PS_REG_PB1を“0001”から“0011”に更新する。
この時点で、プレーンPB0では、選択ブロックBLKにおける全てのストリングユニットSU0〜SU3の状態が、レジスタBS_REG、FS_REG、及びPS_REGのいずれかにセットされる。従ってシーケンサ14は、PB0_ENABLEを“L”レベルとする(時刻t11)。他方で、プレーンPB1では、PB1_ENABLEが“H”レベルを維持すると共に、FS_REG_PB1の4ビットデータはいずれも“0”である(ステップS30、NO)。従ってシーケンサ14は、プレーンPB1に対してのみ判定読み出しを行う(時刻t11〜t13)。すなわち、時刻t11以降は、シングルプレーン動作となる。
判定読み出しの様子を図32に示す。図示するように、プレーンPB1のストリングユニットSU2は、判定読み出しにおいてマーキングされていないと判断される。これによりシーケンサ14は、信号STR_FIXED_PB1を“H”レベルとする(時刻t13)。
信号STR_FIXED_PB1が“H”レベルとされたことを受けて、シーケンサ14は、プレーンPB1に対してのみ消去ベリファイを実行する(時刻t13〜t14)。この様子を図33に示す。図示するように、プレーンPB1のストリングユニットSU2が消去ベリファイにフェイルする。よってシーケンサ14は、FS_REG_PB1を“0100”に更新する(時刻t14)。
FS_REG_PB1に“1”データが書き込まれたことで(ステップS30、YES)、シーケンサ14はFS_REG_PB0及びFS_REG_PB1をリセットする(ステップS21、時刻t15)。
FS_REG_PB0がリセットされたことで、シーケンサ14はPB0_ENABLEを“H”レベルにする。これにより、再びマルチプレーン動作が開始される。
そしてシーケンサ14は、プレーンPB0及びPB1のデータを同時に消去する(時刻t15〜t16)。この様子を図34に示す。
次にシーケンサ14は、判定読み出しを行うためのストリングユニットSUを選択する。この際、プレーンPB0ではストリングユニットSU0及びSU1がバッドストリングで確定しており、プレーンPB1ではストリングユニットSU0及びSU1がグッドストリングで確定している。従って、プレーンPB0及びPB1の両方で、ストリングユニットSU2が選択される。すなわち、STR_ADD_PB0=STR_ADD_PB1=“0100”とされる(時刻t17)。
そしてシーケンサ14は判定読み出しを行う(時刻t17〜t18)。この様子を図35に示す。図示するように、プレーンPB0及びPB1は共に判定読み出しにおいてマーキングされていないと判断される。従ってシーケンサ14は、信号STR_FIXED_PB0及びSTR_FIXED_PB1を“H”レベルとする(時刻t18)。
信号STR_FIXED_PB0及びSTR_FIXED_PB1が“H”レベルとされたことで、シーケンサ14はプレーンPB0及びPB1に対して消去ベリファイを実行する(時刻t18〜t19)。この様子を図36に示す。図36に示すように、プレーンPB0及びPB1は共に消去ベリファイにフェイルする。よってシーケンサ14は、FS_REG_PB0及びFS_REG_PB1をそれぞれ“0000”から“0100”に更新する(時刻t19)。
時刻t19においてFS_REGに“1”データがセットされたため(ステップS30、YES)、シーケンサ14はFS_REG_PB0及びFS_REG_PB1を“0000”にリセットする(ステップS21、図24の時刻t20)。
その後、図24に示すように、消去動作及び2回の消去ベリファイを行って、消去動作が完了する。
1.3 本実施形態に係る効果
本実施形態に係る構成であると、まず消去動作を高速化出来る。本効果につき、以下詳細に説明する。
図37は、マルチプレーン動作によるデータ消去方法の一例(比較例)を示す模式図であり、1つのプレーンに12個のストリングユニットSU0〜SU11が含まれる例を示している。
図示するように、まずプレーンPB0及びPB1のデータが消去され、1回目の消去ベリファイが行われる。消去ベリファイは、ストリングユニットSU0から順番に行われ、プレーンPB0ではストリングユニットSU0〜SU5がパスし、SU6がフェイルする。他方でプレーンPB1では、ストリングユニットSU0〜SU7がパスし、SU8がフェイルしたとする。
マルチプレーン動作においてフェイルストリングが検出されると、そのプレーンはその時点でフェイルと判定され、それ以降は非選択とされる。つまり図37の例では、1回目の消去ベリファイでは、ストリングユニットSU0〜SU6についてはマルチプレーン動作であるのに対して、プレーンPB1のストリングユニットSU7及びSU8の消去ベリファイはシングルプレーン動作となる。そしてプレーンPB1にもフェイルストリングが検出されると、消去ベリファイは終了し、再度プレーンPB0及びPB1のデータが消去される。
2回目の消去ベリファイも1回目と同様に、ストリングユニットSU0から順番に行われる。2回目の消去ベリファイでは、プレーンPB0においてストリングユニットSU0〜SU5がパスし、SU6がフェイルする。他方でプレーンPB1においては、ストリングユニットSU0〜SU11がパスしたとする。この場合も、プレーンPB1のストリングユニットSU7〜SU11の消去ベリファイはシングルプレーン動作となる。
プレーンPB1が消去ベリファイにパスしたので、次にプレーンPB0のデータのみが消去される。そしてプレーンPB0において、ストリングユニットSU0から順番に消去ベリファイが行われる。
以上のような方法であると、消去動作に時間がかかる。なぜなら、2回目以降の消去ベリファイ動作時において、既にベリファイにパスしているストリングユニットSUについても、再度ベリファイを実行しているからである。例えば図37の例であると、2回目の消去ベリファイを実行する時点で、プレーンPB0ではストリングユニットSU0〜SU5がパスしていることは既知である。よって、ストリングユニットSU0〜SU5についての消去ベリファイは無駄である。プレーンPB1についても同様である。
この点、本実施形態に係る構成であると、NAND型フラッシュメモリ1は、ストリングユニット毎のステータスを保持するレジスタPS_REG、FS_REG、及びBS_REGを備えている。従って、ストリングユニット毎のパス/フェイル情報を保持することが出来、図37のような無駄な動作を省き、消去動作を高速化出来る。
より具体的には、レジスタPS_REG、FS_REG、及びBS_REGのステータスが確定していないストリングユニットSUを選択して、消去ベリファイが行われる。この際、いずれかのプレーンが消去ベリファイにフェイルしても、他のプレーンでフェイルストリングが存在しなければ、その時点では当該プレーンを非選択とせずに、消去ベリファイを続行する(図37の例であると、1回目の消去ベリファイにおいて、プレーンPB0のベリファイがストリングユニットSU8まで継続される)。そして、全てのプレーンにおいて、少なくとも1つのフェイルストリングが検出された場合、あるいは全てのストリングユニットにつき消去ベリファイが完了するまで、ベリファイを継続する。
本実施形態に係る動作を、図38乃至図47を用いて簡単に説明する。図38乃至図47は、4プレーンに含まれるストリングユニットSUの状態を示す模式図である。
図38に示すように、各プレーンPB0〜PB3には12個のストリングユニットSU0〜SU11が含まれる。まず、パーシャルバッドインフォメーションレジスタ3に登録されている不良の位置情報がチェックされる。本例では図39に示すように、プレーンPB0のストリングユニットSU0、SU2、SU5、SU10、及びSU11がバッドストリングとしてパーシャルバッドインフォメーションレジスタ3に登録されていたと仮定する。この情報が、レジスタBS_REG_PB0に登録される(BS_REG_PB0=“12b1100_0010_0101”)。その後、次のようにして消去動作が実行される。
まず、全プレーンのデータが一括して消去される。
(1−1)次に図40に示すように、各プレーンPBにおいて、BS_REG、PS_REG、及びFS_REGの全てが“0”であるストリングユニットのうち、アドレスの小さいストリングユニットが仮選択される(図40において“TmpSel”で示されたストリングユニット)。
(1−2)次に図41に示すように、判定読み出しを行い、バッドストリングと判定されたストリングユニットSUについては、BS_REGに“1”がセットされる。図41では、BS_REG_PB0[1]とBS_REG_PB2[0]に“1”がセットされる。
(1−3)判定読み出しの結果、バッドストリングで無いと判定されたストリングユニットは、消去ベリファイ対象ストリングとして本選択される(図41において“Sel”で示されたストリングユニット)。つまり、“TempSel”から“Sel”へ移行するということは、当該ストリングユニットSUにつき、信号STR_FIXED_PBが“H”レベルになったことに相当する。
(1−4)本選択されたストリングユニットを持たないプレーンPB2では、上記(1−1)のルールに基づいて、いずれかのストリングユニットが仮選択される。
(1−5)各プレーンで本選択ストリングユニットが確定するまで、上記(1−1)〜(1−4)が繰り返される。図42の例であると、プレーンPB1及びPB3では、最初に選択されたストリングユニットが本選択されるのに対し、プレーンPB0では、5回目に選択されたストリングユニットSU7が本選択される(1回目〜4回目に仮選択されたストリングユニットはいずれも、選択トランジスタST1にバッドストリングである旨の情報が書き込まれていた)。この間、本選択ストリングユニットを有するプレーンは非選択状態となり、判定読み出し等は行わない。
(2−1)次に、本選択ストリングユニットに対して消去ベリファイが行われる。この消去ベリファイにフェイルした場合にはFS_REGに“1”がセットされ、パスした場合にはPS_REGに“1”がセットされる。図43の例では、FS_REG_PB0[7]、FS_REG_PB1[0]、FS_REG_PB2[1]、及びPS_REG_PB3[0]に“1”がセットされる。
(2−2)FS_REG[11:0]のどこにも“1”がセットされていないプレーンがある場合、つまり消去ベリファイにパスし続けているプレーンがある場合、別のストリングユニットを選択して消去ベリファイを続行する。図43の例では、プレーンPB3のFS_REGに“1”がセットされていないので、消去ベリファイが続行される。
(2−3)消去ベリファイが続行される場合、FS_REGに“1”がセットされているプレーンに関しても、消去ベリファイの行われていないストリングユニットが存在する場合には、上記(1−1)〜(1−5)の方法で、本選択ストリングを確定する。図44の例では、プレーンPB0に関してはストリングユニットSU8及びSU9がバッドストリングであるため、プレーンPB0は非選択となる。よって、プレーンPB1〜PB3の3プレーン動作となる。
(2−4)各プレーンで、FS_REGの少なくとも1ビットが“1”にセットされるまで、消去ベリファイが続行される。図44ではプレーンPB3のみFS_REGに“1”がセットされていなかったが、図45の段階で、プレーンPB3のストリングユニットSU3にFS_REG=“1”が出現した。従って、2回目のデータ消去が実行される。
(3−1)2回目のデータ消去の後、全プレーンPB0〜PB3につき、FS_REGのみリセットされ、上記(1−1)〜(2−4)が繰り返される。図46は、FS_REGのみリセットされた様子を示す。
(4−1)その後、全てのストリングユニットSUのステータスが、PS_REGまたはBS_REGに確定するまで、消去ベリファイが続行される。図47は、全てのストリングユニットSUにつき消去ベリファイが完了した際のレジスタの状態を示している。
以上のように本実施形態によれば、ストリングユニットSUの状態をレジスタに保持させている。そして、この情報に基づいて、不要な消去ベリファイはスキップさせている。従って、消去動作を高速化出来る。
また本実施形態によれば、レジスタPS_REG、FS_REG、及びBS_REGの保持する情報を、外部のメモリコントローラに出力出来る。これによりメモリコントローラは、NAND型フラッシュメモリ1の状態をより詳細に把握することが出来る。例えばメモリコントローラは、例えばFS_REGの状態に応じて、出荷後にバッドストリングとなったストリングユニットにつき、その旨の情報を選択トランジスタST1に書き込むことも出来る。
このように、メモリコントローラによるNAND型フラッシュメモリ1の制御の自由度を格段に高めることが出来る。もちろん、必要に応じて各ストリングユニットの状態を、メモリコントローラを介してホスト機器に出力することも可能である。この点については、第5実施形態で詳細に説明する。
2.第2実施形態
次に、第2実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第1実施形態における消去動作時の電圧の詳細に関するものである。以下では、第1実施形態と異なる点についてのみ説明する。
2.1 第1の例について
まず、消去動作の第1の例について説明する。図48は選択ブロックBLKの断面図であり、図49は各配線に印加される電圧のタイミングチャートである。図48及び図49のいずれも、電荷蓄積層から電荷を引き抜き、メモリセルトランジスタMTの閾値を低下させる際の様子を示している。
図示するように、ウェル配線CPWELLには、例えばウェルドライバによって消去電圧VERA(例えば20V)が印加される。従って、各NANDストリングにおけるピラー33の電位も略VERAまで上昇する。また、ワード線WLには、ロウデコーダ11によって電圧Ve(例えば0〜0.5V)が印加される。この結果、各メモリセルトランジスタMTにおいて、電荷蓄積層内の電荷がピラー33に引き抜かれ、閾値が低下する。
また、セレクトゲート線SGD及びダミーワード線DWLD及びDWLSには、ロウデコーダ11によって電圧V1(例えば10V)が印加される。これにより、選択トランジスタST1、並びにダミートランジスタDTD及びDTSでは、ゲートとピラー33との電位差が小さくなる。よって、これらのトランジスタにおいては、電荷蓄積層内の電荷がピラー33に引き抜かれることが抑制され、従前の閾値をほぼ維持する。
またセレクトゲート線SGSには、ロウデコーダ11によって例えば電圧V1より大きい電圧V2(例えば15V)が印加される。これにより、ピラー33はウェル配線CPWELLの電圧により満たされる。
図50は、データ消去時における各種配線の電圧を示すタイミングチャートである。図50では、プレーンPB0のストリングユニットSU0が第2登録機能によってマーキングされ(BSM)、ストリングユニットSU1が第1登録機能によって不良と登録(BSC)されていた場合を示している。そして図50では、1回の消去パルスが印加されて、プレーンPB0ではその後の消去ベリファイでストリングユニットSU2及びSU3がフェイルし、プレーンPB1ではストリングSU0及びSU1がパスし、ストリングユニットSU2がフェイルした場合について示している。
図示するように、ソース線SL(及びウェル配線CPWELL)に消去電圧VERA(例えば20V)が印加され、ワード線WLには電圧Ve(例えば0〜0.5V)が印加される。これにより、メモリセルトランジスタMT0〜MT7のデータが消去され、これらの閾値が低下する。この際、セレクトゲート線SGDには電圧V1が印加され、図示せぬセレクトゲート線SGS及びダミーワード線DWLには電圧V2(<V1)が印加される。これにより、選択トランジスタST1、ST2及びダミートランジスタDTの閾値低下が抑制される。
次に、判定読み出しが行われる。図示するように、判定読み出しの期間、ワード線WLには電圧VREADが印加される。プレーンPB0では、2回目の判定読み出しで、消去ベリファイ対象となるストリングユニットSU2が見つかるため、VREADは2回印加される。他方でプレーンPB0では1回目の判定読み出しで、消去ベリファイ対象となるストリングユニットSU0が見つかるため、VREADの印加回数は1回である。その後、プレーンPB0及びPB1において同時に消去ベリファイが印加される。すなわち、ワード線WLにベリファイ電圧Vevが印加される。判定読み出しの間、セレクトゲート線SGSの電位変化はSGDと同様である。
その後、プレーンPB0及びPB1の両方でフェイルストリングが出現するまで、もしくは全てのストリングユニットSUのステータスが確定するまで、判定読み出しと消去ベリファイが繰り返される。なお、判定読み出し及び消去ベリファイの期間、ソース線SLには電圧Vsl(>0V)が印加される。
以上のように、第2登録機能がイネーブルにされている場合、消去動作時であっても、ワード線WLに電圧VREADが印加される期間が存在する。
2.2 第2の例について
次に、消去動作の第2の例について説明する。図51は選択ブロックBLKの断面図であり、図52は各配線に印加される電圧のタイミングチャートである。図51及び図52のいずれも、電荷蓄積層から電荷を引き抜き、メモリセルトランジスタMTの閾値を低下させる際の様子を示している。
本例は、消去ベリファイにパスしたか(PS_REG=“1”)、あるいはバッドストリングと判断された(BS_REG=“1”)ストリングユニットSUは、消去非対象とされる。そのため、図52に示すように、同一ストリングユニットSU内における複数のセレクトゲート線SGSが、互いに独立して制御可能とされている。すなわち、ストリングユニットSU0〜SU3の選択トランジスタST2のゲートは、セレクトゲート線SGS0〜SGS3にそれぞれ接続され、ロウデコーダ11によって制御される。
第1の例で説明した図48及び図49の場合と異なる点は、非選択ストリングユニットSUのセレクトゲート線SGSには電圧V3が印加される点である。電圧V3は、電圧V2及びV1よりも高い電圧である。従って、ゲートに電圧V3を印加されると、選択トランジスタST2のピラー32は空乏化する。従って、この空乏化されたピラー32により、p型ウェル領域20に与えられた電圧VERAはピラー33に転送されない。従って、ピラー33の電位上昇が抑えられる。この結果、非選択ストリングユニットSUのメモリセルトランジスタMT、ダミートランジスタDTD及びDTS、並びに選択トランジスタST1に電圧ストレスがかかることを抑制出来る。
なお図51及び図52の例では、非選択ストリングユニットのセレクトゲート線SGDには電圧V4が与えられる(V4<V1)。このことも、選択トランジスタST1への電圧ストレスの軽減に寄与する。ダミーワード線DWLD及びDWLSも独立して制御可能であれば、セレクトゲート線SGDと同様に、非選択ストリングユニットのダミーワード線DWLD及びDWLSには電圧V1よりも低い電圧を印加しても良い。
以上のように、消去非対象のストリングユニットSUにかかる電圧ストレスを軽減することで、メモリセルトランジスタMT及びダミートランジスタDTD、及びDTSが過消去されることを防止し、また選択トランジスタST1に書き込まれたバッドストリング情報が破壊されることも防止出来る。
2.3 本実施形態に係る効果
以上のように、消去動作時の各配線の電圧は本実施形態で説明したように設定することが出来る。特に第2の例によれば、消去ベリファイにパスしたストリングユニットSU及び既にバッドストリングであることが分かっているストリングユニットSUに対して消去を行わない。従って、各トランジスタに加わる電圧ストレスを軽減し、動作信頼性を向上出来る。
3.第3実施形態
次に、第3実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第1実施形態で説明したメモリホール(MH)オープンマスク機能に関するものである。MHオープンマスク機能とは、メモリホールのオープン不良を持つNANDストリングについては、消去ベリファイにパスしたとみなして、データ消去が無駄に繰り返されることを防止するための機能である。以下では、第1及び第2実施形態と異なる点についてのみ説明する。
3.1 センスアンプ12の構成について
まず、センスアンプ12の構成について図53を用いて説明する。図53は、センスアンプ12のブロック図である。
図示するようにセンスアンプ12は、ビット線BL毎に設けられた複数のセンスアンプユニットSAUを備えている。センスアンプユニットSAUは、センスアンプ部SA、演算部OP、並びにラッチ回路LDL、SDL、UDL、及びXDLを備えている。
センスアンプ部SAは、データの読み出し時(ベリファイ読み出しも含む)には、対応するビット線BLに読み出されたデータをセンス・増幅する。またデータの書き込み時には、対応するビット線BLに、書き込みデータに応じた電圧を印加する。
演算部OPは、ラッチ回路LDL、SDL、UDL、及びXDLに保持されるデータに基づき、種々の論理演算を実行する。
ラッチ回路LDL、SDL、UDL、及びXDLは、メモリコントローラから受信した書き込みデータ、センスアンプ部SAでセンス・増幅された読み出しデータ、または演算部51での演算結果を保持する。そしてセンスアンプ12と外部との間のデータの受信は、ラッチ回路XDLを介して行われる。
3.2 センスアンプ12の動作について
次に、MHオープンマスク機能に係るセンスアンプ12の動作につき、図54を用いて説明する。図54は、センスアンプ12の動作を示すフローチャートであり、図7で説明したステップS27〜S29の詳細に相当する。
まずセンスアンプ部SAが判定読み出しを行い、その結果をラッチ回路UDLに格納する(ステップS40)。例えばセンスアンプ部SAにおいては、判定読み出しにおいて、マーキングされていない(メモリホールオープン不良が無い)と判断されたビットには“0”が格納され、マーキングされていると判断されたビットには“1”が格納される。そして、この結果がラッチ回路UDLに転送される。
引き続きセンスアンプ部SAが消去ベリファイを行い、その結果をラッチ回路LDLに格納する(ステップS41)。この場合もセンスアンプ部SAには、ステップS40と同様に、消去ベリファイにパスしたビットには“0”が格納され、フェイルしたビットには“1”が格納される。そして、この結果がラッチ回路LDLに転送される。
次に演算部OPが、ラッチ回路UDL内のデータと、ラッチ回路LDL内のデータとの論理演算を行う(ステップS42)。本例では、演算部OPは、/(UDL & LDL)なる演算を行う。すなわち、ラッチ回路UDL内のデータと、ラッチ回路LDL内のデータとの論理積演算を行い、これを反転する。つまり、演算部OPは、MHオープンでないビットで、且つ消去ベリファイにフェイルしたビットのXDLが“0”となるような演算を行う。演算結果が“0”の場合、MHオープンでは無く、消去ベリファイにフェイルしたことを示し、“1”の場合、MHオープンまたは消去ベリファイにパスしたこととなり、この結果、当該ビットはパスと判断される。
その後シーケンサ14は、ラッチ回路XDLの結果に応じてレジスタPS_REG、FS_REG、及びBS_REGをセットする。
図55は、上記動作の具体例であり、ラッチ回路UDL、LDL、及びXDLに保持されるデータを示している。図55では簡単化のために、ビット線本数が7本(BL0〜BL6)であり、このうちビット線BL0及びBL4に対応するNANDストリングにMHオープン不良があったと仮定する。
すると、ステップS40の結果、ラッチ回路UDLには“0010001”が格納される。すなわち、7ビットデータは下位ビットから順にビット線BL0〜BL6について示しており、MHオープン不良が存在すると判断されたビット線BL0及びBL4に対応する下位から1ビット目と5ビット目が“1”にセットされる。
引き続き、ステップS41の結果、ラッチ回路LDLには“1011011”が格納される。すなわち、ビット線BL1、BL3、及びBL6が消去ベリファイにフェイルした。当然ながら、ビット線BL0及びBL5もフェイルする。
その後、ステップS42において演算部OPが、それぞれのビットにおけるLDLとUDLのAND演算後の反転データをXDLに格納する。その結果、ラッチ回路XDLには“1001010”が格納される。すなわち、MHオープン不良のあるビット線BL0及びBL5に対応するビットが“0”に変換される。これによりラッチ回路XDLは、シーケンサ14に対してビット線BL0及びBL5が、判定読み出し及び消去ベリファイの両方にパスしたようにみせかける。
そしてシーケンサ14は、ラッチ回路XDLに格納されているデータに基づいて、レジスタPS_REG、FS_REG、及びBS_REGをセットする。
3.3 本実施形態に係る効果
メモリホールのオープン不良とは、あるNANDストリングにおいて、メモリホール26が目詰まりを起こす、あるいはメモリホール26形成時のエッチングが不十分である等の理由で、メモリホール26がウェル領域20に達せず、ビット線BLとソース線SLとが電気的に非接続とされる不良のことである。このような不良が発生した場合、当該NANDストリングは、何度消去を繰り返しても消去ベリファイにはパスしない。
この点、本実施形態によれば、メモリホールのオープン不良が存在するNANDストリングを、センスアンプ12における論理演算によって消去ベリファイにパスしたものとみなす。つまり、メモリホールのオープン不良が検出された時点で、当該ビットは消去ベリファイの対象から除外される。従って、メモリホールのオープン不良により無駄に消去が繰り返されることを防止し、メモリセルトランジスタMTが過消去されることを防止出来る。
4.第4実施形態
次に、第4実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第1乃至第3実施形態において、図7及び図8で説明した消去動作後に、ダミートランジスタDTD及びDTSへの書き込み(これをダミープログラムと呼ぶ)を行うものである。以下では、第1乃至第3実施形態と異なる点についてのみ説明する。
4.1 ロジック回路について
まず、本実施形態に係るロジック回路2の構成につき、図56を用いて説明する。図56は、ロジック回路2のブロック図である。
図示するように本実施形態に係るロジック回路2は、第1実施形態で説明した図1において、更にダミーレジスタDMY_REGを有するものである。ダミーレジスタDMY_REGは、BS_REG、FS_REG、及びPS_REGと同様に4ビットデータを保持し、各ビットが下位から順番にストリングユニットSU0〜SU3に相当する。そして各ビットは、対応するストリングユニットSUが、後述するプログラム前ベリファイ及びダミープログラムベリファイにパスしたか否かの情報を保持する。ダミーレジスタDMY_REGは、プレーンPB0用のレジスタDMY_REG_PB0と、プレーンPB1用のレジスタDMY_REG_PB1とを備えている。
4.2 ダミープログラムの全体の流れ
次に、ダミープログラムの全体の流れにつき、図57A及び図57Bを用いて説明する。図57A及び図57Bはダミープログラム動作のフローチャートであり、各ステップにおける処理は、主にシーケンサ14が行う。
ダミープログラムは、セレクトゲート線SGD型のダミートランジスタST1とセレクトゲート線SGS側のダミートランジスタST2の一方、または両方に対して実行出来る。シーケンサ14は、図7で説明したフローチャートの“END”の後に、ダミープログラムを行うか否かを判断し、行う場合に図57に示す処理を開始する。
セレクトゲート線SGS側のダミートランジスタDTSへのダミープログラムを行う場合(ステップS50、YES)、またはセレクトゲート線SGD側のダミートランジスタDTDへのダミープログラムを行う場合(ステップS51、YES)、ステップS52に進む。ステップS52においてシーケンサ14は、(PS_REG_PBx=1 & FS_REG_PBx=0)が“1”であるストリングユニットSUを含むプレーンにつきPBx_ENABLE=1に設定し、そうでないプレーンにつきPBx_ENABLE=0を設定する(ステップS52)。言い換えれば、消去ベリファイでパスしたストリングユニットに対してのみダミープログラムを行うため、そのようなストリングユニットSUを含むプレーンを選択する。つまり、選択ブロックの全てのストリングユニットSUがフェイルストリングまたはバッドストリングと判断されていれば、ダミープログラム動作を行っても、対象となるストリングユニットSUは存在しない、ということである。
PBx_ENABLE=1のプレーンが存在しなければ(ステップS53、NO)、処理は終了する。存在する場合(ステップS53、YES)、ステップS54の処理に進む。ステップS54においてシーケンサ14は、PBx_ENABLE=1のプレーンにおいて、(PS_REG_PBx[n] & /FS_REG_PBx[n] & /DMY_REG_PBx[n])=1が存在するプレーンでは、そのストリングユニットSUを選択し、存在しないプレーンについてはPBx_ENABLE=0とする。つまり、PS_REG=1、FS_REG=0、及びDM_REG=0を満たすストリングユニットSUが選択される。上記条件を満たすストリングユニットSUが複数存在する場合には、そのうちで最もストリングアドレスSUの小さいものが選択される。
そしてシーケンサ14は、PBx_ENABLE=1のプレーンが存在するか判定する(ステップS55)。存在しなければ(ステップS55、NO)、SGD側のダミープログラムを行うかを判定し(ステップS56)、行わない場合には処理を終了し、行う場合には、SGS側のダミープログラムと同じ処理を繰り返す。
ステップS55においてPBx_ENABLE=1のプレーンが存在すれば(ステップS55、YES)、シーケンサ14はプログラム前ベリファイを行う(ステップS57)。プログラム前ベリファイとは、ダミートランジスタDTに対して読み出し動作を行い、ダミートランジスタDTの閾値が低下しすぎていないか否かを確認する動作である。従って以下では、ダミートランジスタDTの閾値が所定の値より高い場合を、プログラム前ベリファイにパスした、と定義し、所定の値以下である場合(過消去されている場合)を、プログラム前ベリファイにフェイルした、と定義する。
引き続きシーケンサ14は、プログラム前バリファイの結果を取り込み、パスしたプレーンについてはDMY_REG_PBx=1をセットする(ステップS58)。そしてシーケンサ14は、PBx_ENABLE=1のプレーンのうち、フェイルしたプレーンが存在しなければ、ステップS54に戻り、再度プログラム前ベリファイを実行する。
いずれかのプレーンにおいてプログラム前ベリファイにフェイルした場合(ステップS59、NO)、ステップS60の処理に進む。すなわちシーケンサ14は、パスしたプレーンのPBx_ENABLEを0に設定し、PBx_ENABLE=1のプレーンのうち、DMY_REG=1のストリングユニットSUに対してプログラム(ダミープログラム)を行い、プログラムベリファイを実行する(ステップS60)。
引き続きシーケンサ14は、ステップS60におけるプログラムベリファイの結果を取り込み、パスしたプレーンについては、DMY_REG_PBx[n]=1をセットする(ステップS61)。他方で、PBx_ENABLE=1のプレーンのうち、フェイルしたプレーンが存在する場合(ステップS62、YES)は、ダミープログラムの最大繰り返し回数に達するまで、ステップS60〜S62を繰り返す(ステップS63)。他方で、フェイルしたプレーンが存在しなければ、ステップS54の処理に戻る。
そして、最大繰り返し回数に達した場合は(ステップS63、YES)、フェイルしたプレーンにおける対応するストリングユニットのFS_REG_PBxを1に設定して(ステップS64)、ステップS52に戻る。
以上のように、本例ではまずソース側の選択トランジスタST2に隣接するダミートランジスタDTSにつき、図58で説明した処理が行われる。その後、ドレイン側の選択トランジスタST1に隣接するダミートランジスタDTDにつき、同様の処理が行われる。但し、ダミートランジスタDTSがフェイルしたストリングユニットSU(換言すればレジスタFS_REGに“1”がセットされたストリングユニットSU)では、ダミートランジスタDTDに対するダミープログラムは実行されない。
4.3 ダミープログラムの具体例について
次に、上記ダミープログラム動作の具体例につき、マルチプレーン動作の場合を例に挙げて説明する。図58A乃至図58Cは消去動作時における種々の信号の変化を順次示すタイミングチャートであり、図59A乃至図59Cは図58Cに引き続くダミープログラム動作時のタイミングチャートである。
図58A乃至図58Cは、第1実施形態で説明した図24A及び図24Bとほぼ同様である。図24A及び図24Bの場合と異なるのは、シーケンサ14が、ダミーレジスタDMY_REG_PB0[3:0]及びDMY_REG_PB1[3:0]、並びに信号OPC及びOPC_MAXを制御する点だけである。消去動作の間、ダミーレジスタDMY_REG_PB0及びDMY_REG_PB1のデータは、共に“0000”に初期化された状態を維持する。信号OPCは、ダミープログラム回数を示す信号であり、シーケンサ14はダミープログラムを実行する毎に信号OPCをカウントアップする。従って消去動作の間、信号OPCは“0”である。また信号OPC_MAXは、ダミープログラム回数が最大繰り返し回数に達した際に“H”レベルとされる信号である。
第1実施形態で説明した消去動作の後、シーケンサ14は、ダミートランジスタDTSへのダミープログラム動作を開始する(時刻t30)。プレーンPB0ではBS_REG=“0011”、FS_REG=“0000”、及びPS_REG=“1100”であるので、シーケンサ14はSTR_ADDを“0100”にセットして、ストリングユニットSU2を選択する。他方でプレーンPB1ではBS_REG=“0000”、FS_REG=“0000”、及びPS_REG=“1111”であるので、シーケンサ14はSTR_ADDを“0001”にセットして、ストリングユニットSU0を選択する。そして、プログラム前ベリファイ(Dummy Pre Pvfy)を実行する(時刻t32〜t33)。
プログラム前ベリファイの結果、プレーンPB0及びPB1の両方でベリファイにパスしたとする。するとシーケンサ14は、レジスタDMY_REGにおいて、対応するビットを“1”にセットする。すなわち、レジスタDMY_REG_PB0を“0100”にセットし、レジスタDMY_REG_PB1を“0001”にセットする(時刻t33)。
図58のステップS54の条件を満たすストリングユニットが残っているので、シーケンサ14は引き続き、STR_ADD_PB0を“1000”にセットしてプレーンPB0のストリングユニットSU3を選択し、STR_ADD_PB1を“0010”にセットしてプレーンPB1のストリングユニットSU1を選択する。そして、プログラム前ベリファイを実行する(時刻t34〜t35)。
プログラム前ベリファイの結果、プレーンPB0ではベリファイにパスし、プレーンPB1ではフェイルしたとする。するとシーケンサ14は、DMY_REG_PB0を“0100”から“1100”に更新し、DMY_REG_PB1を“0001”に維持する(時刻t35)。
時刻t35において、プレーンPB0では図58のステップS54の条件を満たすストリングユニットSUが無くなったので、シーケンサ14はPB0_ENABLEを“L”レベルとする。よって、時刻t35以降はシングルプレーン動作となる。
またプレーンPB1ではベリファイにフェイルしたので、ストリングユニットSU1に対してダミープログラム(Dummy Prog)を実行する(時刻t35〜t36)。そしてシーケンサ14は、信号OPCを“0”から“1”にカウントアップする。
その後シーケンサ14は、ストリングユニットSU1に対してダミープログラムベリファイ(Dummy Pvfy)を実行する(時刻t36〜t37)。その結果、ベリファイにフェイルしたため、シーケンサ14は再度、ダミープログラムを実行する(時刻t37〜t38)。すると、ダミープログラム回数が“2”となり、最大繰り返し回数に達するので、シーケンサ14は信号OPC_MAXを“H”レベルにする。
引き続きシーケンサ14は、ストリングユニットSU1に対してダミープログラムベリファイを実行するが(時刻t38〜t39)、フェイルする。するとシーケンサ14は、信号OPC_MAXが“H”レベルであるので、FS_REG_PB1において、対応するビットを“1”とする。すなわち、FS_REG_PB1=“0010”とする(時刻t39)。
引き続きシーケンサ14は、ステップS54の処理に進み、プレーンPB1のストリングユニットSU2を選択する(時刻t40)。ストリングユニットSU2は、2回のダミープログラムで、ダミープログラムベリファイにパスする。従ってシーケンサ14は、時刻t43においてDMY_REG_PB0を“0001”から“0101”に更新する。
更にシーケンサ14は、プレーンPB1のストリングユニットSU3を選択する(時刻t44)。ストリングユニットSU3は、プログラム前ベリファイにパスする。よってシーケンサ14は、時刻t45においてDMY_REG_PB0を“0101”から“1101”に更新する。
この時点で、プレーンPB0にもステップS54の条件を満たすストリングユニットが残っていないため、シーケンサ14はPB1_ENABLEを“L”レベルにする。
以上により、ソース側のダミートランジスタDTSに対するダミープログラムが終了する。引き続きシーケンサ14は、ドレイン側のダミートランジスタDTDに対するダミープログラムを開始する(時刻t46)。
ダミートランジスタDTDに対するダミープログラムも、ダミートランジスタDTSと同様であるので、その詳細は省略する。但し、プレーンPB1のストリングユニットSU2のダミートランジスタDTSは、ダミープログラムにフェイルしている。従って、プレーンPB1では、同じストリングユニットSU2のダミートランジスタDTDに対するダミープログラムは行われない(時刻t54参照)。
4.4 本実施形態に係る効果
NAND型フラッシュメモリでは、選択トランジスタとメモリセルトランジスタとの間にダミートランジスタを設けることがある。ダミートランジスタは、データの記憶素子としては機能せず、単なる電流経路として機能するものである。NANDストリングが正常に動作するためには、このダミートランジスタの閾値も、予め定められた所定の範囲内に設定されておくことが望ましい。
この点、データの消去時には、ダミートランジスタに対しても一定程度の電圧ストレスがかかり、場合によっては閾値が過度に低下するケースがあり得る。そこで本実施形態では、消去後に、ダミートランジスタに対するプログラムを実行し、これにより過消去状態のダミートランジスタの閾値を、正常な値に設定している。よって、NAND型フラッシュメモリ1の動作信頼性を向上出来る。
さらにこの際、シーケンサ14はレジスタBS_REG、FS_REG、及びPS_REGの状態に応じて、ダミープログラム対象の候補となるストリングユニットSUを決定している。すなわち、PS_REG=“1”、FS_REG=“0”、及びBS_REG=“0”であるストリングユニットSUを、ダミープログラム対象の候補としている。
すなわち、FS_REG=“1”及び/またはBS_REG=“1”であるストリングユニットは、ダミープログラムを行う前の時点で既に不良ストリングである。従って、これらのストリングユニットに対してダミープログラムを行うことは無駄である。よって本実施形態では、まずこれらのストリングユニットを、ダミープログラムの候補から外す。これにより、ダミープログラム動作を高速化出来る。
更に本実施形態では、ダミープログラムを行う前に、PS_REG=“1”、FS_REG=“0”、及びBS_REG=“0”を満たすストリングユニットに対してベリファイを行う。すなわち、ダミートランジスタが過消去されているか否かを確認する。そして、過消去されているダミートランジスタのみに対してダミープログラムを実行する。このため、本当にダミープログラムを必要とするダミートランジスタに対してのみプログラムを行えば良く、このことによってもダミープログラム動作を高速化出来る。
更に、ソース側のダミートランジスタDTSがフェイルしたストリングユニットSUでは、ドレイン側のダミートランジスタDTDのダミープログラムは無条件で行わない。これは、ダミートランジスタDTSがフェイルした時点で、当該ストリングユニットは不良であることが判明しており、そのようなストリングユニットSUのダミートランジスタDTDに対してダミープログラムを行う必要は無いからである。このことも、ダミープログラムの高速化に寄与する。
5.第5実施形態
次に、第5実施形態に係る半導体記憶装置について説明する。本実施形態は、半導体記憶装置を制御するメモリコントローラによって、上記第1乃至第4実施形態で説明した半導体記憶装置のステータスを読み出すものである。以下では、第1乃至第4実施形態と異なる点についてのみ説明する。
5.1 メモリコントローラの構成について
まず本実施形態に係るメモリコントローラについて、図60を用いて説明する。図60は、本実施形態に係るメモリシステムのブロック図である。
図示するようにメモリシステムは、NAND型フラッシュメモリ100及びコントローラ200を備えている。コントローラ200とNAND型フラッシュメモリ100は、例えばそれらの組み合わせにより一つの半導体装置を構成しても良く、その例としてはSDTMカードのようなメモリカードや、SSD(solid state drive)等が挙げられる。
NAND型フラッシュメモリ100は、上記実施形態で説明した半導体記憶装置1である。
コントローラ200は、外部のホスト機器からの命令に応答して、NAND型フラッシュメモリ100に対して読み出し、書き込み、及び消去等を命令する。また、NAND型フラッシュメモリ100におけるメモリ空間を管理する。
コントローラ200は、ホストインターフェイス回路210、内蔵メモリ(RAM)220、プロセッサ(CPU)230、バッファメモリ240、NANDインターフェイス回路250、及びECC回路260を備えている。
ホストインターフェイス回路210は、コントローラバスを介してホスト機器と接続され、ホスト機器との通信を司る。そして、ホスト機器から受信した命令及びデータを、それぞれCPU230及びバッファメモリ240に転送する。またCPU230の命令に応答して、バッファメモリ240内のデータをホスト機器へ転送する。
NANDインターフェイス回路250は、NANDバスを介してNAND型フラッシュメモリ100と接続され、NAND型フラッシュメモリ100との通信を司る。そして、CPU230から受信した命令をNAND型フラッシュメモリ100に転送し、また書き込み時にはバッファメモリ240内の書き込みデータをNAND型フラッシュメモリ100へ転送する。更に読み出し時には、NAND型フラッシュメモリ100から読み出されたデータをバッファメモリ240へ転送する。
CPU230は、コントローラ200全体の動作を制御する。例えば、CPU230は、ホスト機器から書き込み命令を受信した際には、それに応答して、NANDインターフェイスに基づく書き込み命令を発行する。読み出し及び消去の際も同様である。またCPU230は、ウェアレベリング等、NAND型フラッシュメモリ100を管理するための様々な処理を実行する。更にCPU230は、各種の演算を実行する。例えば、データの暗号化処理やランダマイズ処理等を実行する。また、種々のステータスリードコマンドを発行して、NAND型フラッシュメモリ100のステータスを読み出す。
ECC回路260は、データの誤り訂正(ECC:Error Checking and Correcting)処理を実行する。すなわちECC回路260は、データの書き込み時には書き込みデータに基づいてパリティを生成し、読み出し時にはパリティからシンドロームを生成して誤りを検出し、この誤りを訂正する。なお、CPU230がECC回路260の機能を有していても良い。
内蔵メモリ220は、例えばDRAM等の半導体メモリであり、CPU230の作業領域として使用される。そして内蔵メモリ220は、NAND型フラッシュメモリ100を管理するためのファームウェアや、各種の管理テーブル等を保持する。
5.2 ステータスリードコマンドについて
次に、メモリコントローラ200の発行するステータスリードコマンドについて説明する。図61は、ステータスリード時における各種信号のタイミングチャートである。
。図中における、チップイネーブル信号/CE、アドレスラッチイネーブル信号ALE、コマンドラッチイネーブル信号CLE、ライトイネーブル信号/WE、リードイネーブル信号/RE、及び入出力信号I/Oは、コントローラ200とNAND型フラッシュメモリ100との間で送受信される信号である。
/CEは、NAND型フラッシュメモリ100をイネーブルにするための信号であり、Lowレベルでイネーブルとアサートされる。ALEは、入力信号がアドレス信号であることをNAND型フラッシュメモリに通知する信号である。CLEは、入力信号がコマンドであることをNAND型フラッシュメモリに通知する信号である。/WEは、入力信号をNAND型フラッシュメモリ100に取り込ませるための信号である。
図示するようにコントローラ200は、まずステータスリードコマンド(図61では“XXH”)“80H”を発行すると共に、CLEをアサート(“H”レベル)する。/WEをアサートする。これにより、ステータスリードコマンドが、NAND型フラッシュメモリ100のレジスタに格納される。
その後、コントローラ200が/REをアサートすると、これに応答してNAND型フラッシュメモリ100は、要求されたステータス情報を出力する。
図62及び図63は、一般的なステータスリードコマンドであるCMD70及びCMD71の内容を示すダイアグラムであり、CMD71は2プレーンチップで使用されるステータスリードコマンドである。
本実施形態では、PS_REG、FS_REG、及びBS_REGの情報を読み出すためのコマンド“XH”、“YH”、及び“ZH”が用意されている。これらのコマンドの内容を図64乃至図66に示す。図64乃至図66は、コマンド“XH”、“YH”、及び“ZH”によって読み出される、入出力信号(8ビット)の各ビット情報を示す。本例では、プレーン数が2個で、1ブロックに4つのストリングユニットが含まれている場合を示す。図示するように、これらのコマンドにより、各プレーンの各ストリングユニットSUについての、PS_REG、FS_REG、及びBS_REGに保持される情報を読み出すことが出来る。
図67は、プレーンが2個で1ブロックに12個のストリングユニットSUが含まれる場合の/CE、ALE、CLE、/WE、/RE、及びI/Oはについて示している。本例では、ステータスリードコマンドの直後にアドレスが入力される。そして本例の場合のステータスコマンド“XH”、“YH”、及び“ZH”の内容を図68乃至図70に示す。図示するように、入力されたアドレスによって、読み出すべき情報を指定出来る。
また、ダミープログラムを行う場合には、ダミーレジスタDMY_REGの情報を読み出すことも出来る。図71は、このようなコマンド“WH”を示しており、2プレーンで1ブロックあたり4ストリングユニットの場合を示している。図示するように、8ビットの入出力信号により、各プレーンの各ストリングユニットについてのダミーレジスタの情報を読み出すことが出来る。
5.3 本実施形態に係る効果
本例によれば、メモリコントローラはNAND型フラッシュメモリのステータスを、ストリングユニット単位で読み出すことが出来る。これにより、NAND型フラッシュメモリをより精密に制御出来る。
例えば消去動作の完了後、FS_REGの情報に基づいて、フェイルしたストリングユニットの選択トランジスタST1の閾値を上昇させるコマンドを発行することも出来る。これにより、後発性の不良についても、選択トランジスタに対してバッドストリングである旨をマーキング出来る。より具体的には、FS_REG=“1”であるストリングユニットの選択トランジスタST1に対しての書き込みコマンドを発行する。
5.変形例等
以上のように、上記実施形態に係るNAND型フラッシュメモリ1は、複数のストリングユニットと、第1レジスタ(BS_REG)と、第2レジスタ(FS_REG)と、第3レジスタ(PS_REG)と、制御回路(シーケンサ14)とを具備する。ストリングユニットは、複数のメモリセルが積層されたNANDストリングの集合である。第1レジスタ(BS_REG)は、ストリングユニットがバッドストリングであることを示す情報を保持可能である。第2レジスタ(FS_REG)は、ストリングユニットがベリファイにフェイルしたことを示す情報を保持可能である。第3レジスタ(PS_REG)は、ストリングユニットがベリファイにパスしたストリングであることを示す情報を保持である。制御回路は、第1乃至第3レジスタ内の情報に基づいて、いずれかのストリングユニットに対する消去ベリファイ動作をスキップする。
本構成により、無駄な消去ベリファイを省くことが出来、NAND型フラッシュメモリの動作速度を向上出来る。
但し、実施形態は上記説明した形態に限定されるものではなく、種々の変形が可能である。例えば、上記実施形態では、ドレイン側とソース側にダミートランジスタDTが1個ずつ設けられる場合を例に説明したが、複数個設けられても良い。この場合、ダミープログラムにおいていずれか1個のダミートランジスタDTがフェイルした時点で、当該ストリングユニットに対するダミープログラムは中止して良い。
また、メモリセルアレイの構成は、例えば図72のような構成であっても良い。すなわち、ソース線SL上にピラー32〜34が形成され、セレクトゲート線SGSがストリングユニットSU毎に独立していても良い。
更に、上記実施形態で説明したフローチャートは、可能な限り処理の順序を入れ替えることが出来る。
更に、上記実施形態では三次元積層型メモリセルアレイを有するNAND型フラッシュメモリを例に説明したが、メモリセルが二次元的に配列されたNAND型フラッシュメモリであっても良いし、NAND型フラッシュメモリ以外の半導体記憶装置全般に適用可能である。また、各実施形態はそれぞれが単独で実施されても良いが、組み合わせ可能な複数の実施形態が組み合わされて実施されても良い。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…NAND型フラッシュメモリ、2…ロジック回路、3…パーシャルバッドインフォメーションレジスタ、10…メモリセルアレイ、11…ロウデコーダ、12…センスアンプ、13…NANDストリング、14…シーケンサ

Claims (11)

  1. 各々が、複数のメモリセルが積層されたNANDストリングの集合である複数のストリングユニットと、
    前記ストリングユニットがバッドストリングであることを示す情報を保持可能な第1レジスタと、
    前記ストリングユニットがベリファイにフェイルしたことを示す情報を保持可能な第2レジスタと、
    前記ストリングユニットがベリファイにパスしたストリングであることを示す情報を保持可能な第3レジスタと、
    前記メモリセルに対する消去動作を制御する制御回路と
    を具備し、前記制御回路は、前記第1乃至第3レジスタ内の情報に基づいて、いずれかのストリングユニットに対する消去ベリファイ動作をスキップする
    ことを特徴とする半導体記憶装置。
  2. データの消去は、複数の前記ストリングユニットの集合であるブロック単位で行われ、
    前記半導体記憶装置は、複数の前記ブロックの集合であり、且つ互いに独立して動作可能な複数のプレーンを備え、
    前記制御回路は、前記複数のプレーンに対して同時に消去動作を実行する場合、前記複数のプレーンの各々において、前記複数のストリングユニットに対して順次、前記消去ベリファイ動作を実行し、
    前記消去ベリファイ動作時において、第1プレーンのいずれかのストリングユニットがフェイルした場合、その時点で第1プレーンにおける消去ベリファイ動作は停止されるが、第2プレーンにおいてフェイルしたストリングユニットが検出されていない場合、該第2プレーンにおける消去ベリファイ動作は続行される
    ことを特徴とする請求項1記載の半導体記憶装置。
  3. 前記制御回路は、前記ストリングユニットが前記消去ベリファイ動作にフェイルした際、前記第2レジスタを更新し、パスした際、前記第3レジスタを更新する
    ことを特徴とする請求項2記載の半導体記憶装置。
  4. 前記制御回路は、同時に消去動作が実行された全てのプレーンにおいて、前記消去ベリファイ動作にフェイルしたストリングユニットが検出された時点で、再度、前記複数のプレーンに対して同時に消去動作を実行すると共に、
    前記第3レジスタ内の情報に基づき、既にパスしたストリングユニットに対しては消去ベリファイ動作を行わない
    ことを特徴とする請求項3記載の半導体記憶装置。
  5. 前記NANDストリングは、第1選択トランジスタと、第2選択トランジスタと、前記第1、第2選択トランジスタの間に電流経路が直列接続された複数のメモリセルトランジスタを備え、
    前記第1、第2選択トランジスタの少なくとも一方は、対応するストリングユニットがバッドストリングであることがマーキング可能であり、
    前記制御回路は、前記データの消去後、前記マーキングされた情報を読み出す判定読み出し動作を実行し、その結果に基づいて前記第1レジスタ内の情報を更新すると共に、
    前記第1レジスタ内の情報に基づいて、バッドストリングに対しては消去ベリファイ動作を行わない
    ことを特徴とする請求項1乃至4いずれか1項記載の半導体記憶装置。
  6. 前記第1乃至第3レジスタの情報は、前記半導体記憶装置を制御するメモリコントローラによって読み出し可能である
    ことを特徴とする請求項1乃至5いずれか1項記載の半導体記憶装置。
  7. 前記NANDストリングは、該NANDストリングを選択するための選択トランジスタを含み、
    前記メモリコントローラは、前記第2レジスタの情報に基づいて前記選択トランジスタの閾値を上昇させることで、対応するNANDストリングがバッドストリングであることをマーキングする
    ことを特徴とする請求項6記載の半導体記憶装置。
  8. 複数のメモリセルが積層されたメモリセルアレイと、
    前記メモリセルアレイからデータを読み出すセンスアンプと、
    前記メモリセルアレイに対する消去動作を制御する制御回路と
    を具備し、前記メモリセルアレイは、第1、第2選択トランジスタと、前記第1、第2選択トランジスタ間に電流経路が直列接続された複数の前記メモリセルとを含む複数のNANDストリングの集合であるストリングユニットを複数備え、
    前記第1、第2選択トランジスタの少なくとも一方はバッドストリング情報を保持可能であり、
    前記消去動作時において前記センスアンプは、前記制御回路の命令に従って前記バッドストリング情報を読み出す判定読み出し動作と、消去ベリファイ動作とを行い、前記判定読み出し動作の結果と前記消去ベリファイ動作との結果の論理演算を行い、前記論理演算の結果に基づいて、前記制御回路に対して、バッドストリングをグッドストリングに見せかける
    ことを特徴とする半導体記憶装置。
  9. 前記制御回路は、前記論理演算の結果に基づいて、いずれかの前記ストリングユニットの前記消去ベリファイ動作をスキップする
    ことを特徴とする請求項8記載の半導体記憶装置。
  10. 各々の前記ストリングユニット内の前記NANDストリングは、それぞれが対応付けられたビット線に接続され、
    前記センスアンプは、各ビット線に関連付けられた複数のセンスアンプユニットを備え、
    前記センスアンプユニットは、第1乃至第3ラッチ回路及び演算回路を備え、
    前記第1ラッチ回路は前記判定読み出し動作の結果を保持し、前記第2ラッチ回路は前記消去ベリファイ動作の結果を保持し、前記演算回路は、前記第1ラッチ回路内のデータと前記第2ラッチ回路内のデータの論理演算を行い、演算結果を前記第3ラッチ回路に格納する
    ことを特徴とする請求項8または9記載の半導体記憶装置。
  11. 前記判定読み出し動作にフェイルしたことを示すデータが前記第1ラッチ回路に保持され、前記消去ベリファイ動作にフェイルしたことを示すデータが前記第2ラッチ回路に保持される場合、前記演算回路は、前記論理演算を行うことにより、前記第3ラッチ回路に、前記消去ベリファイにパスしたことを示すデータを格納する
    ことを特徴とする請求項10記載の半導体記憶装置。
JP2014052991A 2014-03-17 2014-03-17 半導体記憶装置 Abandoned JP2015176627A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2014052991A JP2015176627A (ja) 2014-03-17 2014-03-17 半導体記憶装置
TW103123697A TWI549132B (zh) 2014-03-17 2014-07-09 Semiconductor memory device
US14/470,322 US9355737B2 (en) 2014-03-17 2014-08-27 Semiconductor memory device
CN201410454199.5A CN104934061B (zh) 2014-03-17 2014-09-05 半导体存储装置
CN201910419667.8A CN110232943B (zh) 2014-03-17 2014-09-05 半导体存储装置
US15/167,928 US9881684B2 (en) 2014-03-17 2016-05-27 Semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014052991A JP2015176627A (ja) 2014-03-17 2014-03-17 半導体記憶装置

Publications (1)

Publication Number Publication Date
JP2015176627A true JP2015176627A (ja) 2015-10-05

Family

ID=54069576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014052991A Abandoned JP2015176627A (ja) 2014-03-17 2014-03-17 半導体記憶装置

Country Status (4)

Country Link
US (2) US9355737B2 (ja)
JP (1) JP2015176627A (ja)
CN (2) CN104934061B (ja)
TW (1) TWI549132B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013020694A (ja) * 2011-07-12 2013-01-31 Samsung Electronics Co Ltd 不揮発性メモリ装置、不揮発性メモリ装置の消去方法、不揮発性メモリ装置の動作方法、不揮発性メモリ装置を含むメモリシステム、メモリシステムの動作方法、不揮発性メモリ装置を含むメモリカード、及びソリッドステートドライブ
JP2016058118A (ja) * 2014-09-10 2016-04-21 株式会社東芝 半導体メモリ

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160012916A1 (en) * 2014-07-10 2016-01-14 Kabushiki Kaisha Toshiba Semiconductor memory device and memory system
JP6199835B2 (ja) * 2014-08-28 2017-09-20 東芝メモリ株式会社 半導体記憶装置及びデータ消去方法
JP6470146B2 (ja) * 2015-08-27 2019-02-13 東芝メモリ株式会社 半導体記憶装置
US9401216B1 (en) * 2015-09-22 2016-07-26 Sandisk Technologies Llc Adaptive operation of 3D NAND memory
US9760303B2 (en) 2015-09-29 2017-09-12 Sandisk Technologies Llc Partially-bad block operation in 3-D nonvolatile memory
US9910749B2 (en) * 2016-06-23 2018-03-06 Sandisk Technologies Llc Non-volatile memory with dynamic repurpose of word line
US10304551B2 (en) * 2016-06-27 2019-05-28 Sandisk Technologies Llc Erase speed based word line control
JP6178909B1 (ja) * 2016-09-15 2017-08-09 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体記憶装置
JP2019160380A (ja) * 2018-03-16 2019-09-19 東芝メモリ株式会社 半導体記憶装置
JP2019164847A (ja) * 2018-03-19 2019-09-26 東芝メモリ株式会社 メモリシステム
JP2020047325A (ja) * 2018-09-18 2020-03-26 キオクシア株式会社 半導体記憶装置
US10978160B2 (en) 2018-12-31 2021-04-13 Sandisk Technologies Llc Mitigating grown bad blocks
KR20200087488A (ko) 2019-01-11 2020-07-21 에스케이하이닉스 주식회사 메모리 시스템에서의 비휘발성 메모리 블록 내 데이터를 삭제하는 방법 및 장치
US11069695B2 (en) * 2019-05-31 2021-07-20 Taiwan Semiconductor Manufacturing Company, Ltd. Floating gate test structure for embedded memory device
US11081196B2 (en) 2019-12-05 2021-08-03 Sandisk Technologies Llc Non-volatile memory with erase verify skip
KR20220007317A (ko) 2020-07-10 2022-01-18 삼성전자주식회사 비휘발성 메모리 장치의 데이터 소거 방법 및 이를 수행하는 비휘발성 메모리 장치

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619453A (en) * 1995-07-28 1997-04-08 Micron Quantum Devices, Inc. Memory system having programmable flow control register
JP4387547B2 (ja) * 2000-03-27 2009-12-16 株式会社東芝 不揮発性半導体メモリ
US6771541B1 (en) * 2003-02-25 2004-08-03 Nexflash Technologies, Inc. Method and apparatus for providing row redundancy in nonvolatile semiconductor memory
JP2005268621A (ja) * 2004-03-19 2005-09-29 Toshiba Corp 半導体集積回路装置
WO2009060495A1 (ja) * 2007-11-05 2009-05-14 Fujitsu Limited 半導体記憶装置およびその制御方法
WO2009111174A1 (en) * 2008-03-03 2009-09-11 Rambus Inc. Piecewise erasure of flash memory
US7965554B2 (en) * 2008-07-02 2011-06-21 Sandisk Corporation Selective erase operation for non-volatile storage
US8130551B2 (en) * 2010-03-31 2012-03-06 Sandisk Technologies Inc. Extra dummy erase pulses after shallow erase-verify to avoid sensing deep erased threshold voltage
JP2011258289A (ja) 2010-06-10 2011-12-22 Toshiba Corp メモリセルの閾値検出方法
JP5468489B2 (ja) * 2010-07-29 2014-04-09 株式会社東芝 半導体記憶装置の動作方法
JP2012069606A (ja) * 2010-09-21 2012-04-05 Toshiba Corp 不揮発性半導体記憶装置
JP5377526B2 (ja) * 2011-01-13 2013-12-25 株式会社東芝 不揮発性半導体記憶装置
US8645616B2 (en) * 2011-02-03 2014-02-04 Micron Technology, Inc. Protecting groups of memory cells in a memory device
JP5524134B2 (ja) * 2011-06-14 2014-06-18 株式会社東芝 不揮発性半導体記憶装置
US9361986B2 (en) * 2011-09-19 2016-06-07 Sandisk Technologies Inc. High endurance non-volatile storage
JP2013145623A (ja) * 2012-01-16 2013-07-25 Toshiba Corp 不揮発性半導体記憶装置
JP2014053056A (ja) * 2012-09-06 2014-03-20 Toshiba Corp 半導体記憶装置
US8902657B2 (en) * 2012-09-07 2014-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device and controller
JP2014063551A (ja) * 2012-09-21 2014-04-10 Toshiba Corp 半導体記憶装置
JP2014164789A (ja) 2013-02-27 2014-09-08 Toshiba Corp 半導体記憶装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013020694A (ja) * 2011-07-12 2013-01-31 Samsung Electronics Co Ltd 不揮発性メモリ装置、不揮発性メモリ装置の消去方法、不揮発性メモリ装置の動作方法、不揮発性メモリ装置を含むメモリシステム、メモリシステムの動作方法、不揮発性メモリ装置を含むメモリカード、及びソリッドステートドライブ
US9431115B2 (en) 2011-07-12 2016-08-30 Samsung Electronics Co., Ltd. Erase system and method of nonvolatile memory device
JP2016058118A (ja) * 2014-09-10 2016-04-21 株式会社東芝 半導体メモリ

Also Published As

Publication number Publication date
US9881684B2 (en) 2018-01-30
CN104934061B (zh) 2019-06-14
US20160276041A1 (en) 2016-09-22
US9355737B2 (en) 2016-05-31
US20150262698A1 (en) 2015-09-17
TWI549132B (zh) 2016-09-11
CN110232943A (zh) 2019-09-13
CN104934061A (zh) 2015-09-23
TW201537573A (zh) 2015-10-01
CN110232943B (zh) 2023-07-07

Similar Documents

Publication Publication Date Title
JP2015176627A (ja) 半導体記憶装置
JP4902002B1 (ja) 不揮発性半導体記憶装置
JP5072723B2 (ja) 不揮発性半導体記憶装置
KR102192910B1 (ko) 반도체 장치, 메모리 시스템 및 이의 동작 방법
US7379342B2 (en) Flash memory device being programmed and verified using voltage higher than target/read threshold voltage to achieve uniform threshold voltage characteristic
JP4945183B2 (ja) メモリコントローラ
KR101660985B1 (ko) 반도체 메모리 장치 및 그 동작 방법
JP2008123330A (ja) 不揮発性半導体記憶装置
JP2014053056A (ja) 半導体記憶装置
JP2014186761A (ja) 半導体記憶装置、コントローラ、及びメモリシステム
JP2003217288A (ja) リードディスターブを緩和したフラッシュメモリ
JP2015176623A (ja) 半導体記憶装置及びメモリコントローラ
JP2018037123A (ja) 半導体記憶装置及びメモリシステム
JP2009146474A (ja) 不揮発性半導体記憶装置
JP2017021872A (ja) 半導体記憶装置
JP2008016112A (ja) 半導体記憶装置
TWI549134B (zh) Nand型快閃記憶體及其程式化方法
KR20140088386A (ko) 반도체 장치 및 이의 동작 방법
CN110660436B (zh) 半导体存储装置及存储器控制器
JP2015026406A (ja) 不揮発性半導体記憶装置
US20150270003A1 (en) Non-volatile memory and method for programming the same
JP2009259326A (ja) 半導体記憶装置
JP2014175028A (ja) 不揮発性半導体記憶装置
US20110238889A1 (en) Semiconductor memory device from which data can be read at low power
US9293212B2 (en) Nonvolatile semiconductor memory device including a plurality of NAND strings in a memory cell array

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160215

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20160822