JP2013127827A - 不揮発性半導体記憶装置 - Google Patents
不揮発性半導体記憶装置 Download PDFInfo
- Publication number
- JP2013127827A JP2013127827A JP2011276414A JP2011276414A JP2013127827A JP 2013127827 A JP2013127827 A JP 2013127827A JP 2011276414 A JP2011276414 A JP 2011276414A JP 2011276414 A JP2011276414 A JP 2011276414A JP 2013127827 A JP2013127827 A JP 2013127827A
- Authority
- JP
- Japan
- Prior art keywords
- current
- transistor
- level
- latch
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Read Only Memory (AREA)
Abstract
【課題】ページバッファにおける専用トランジスタを不要とし、かつ、フェイルビット数だけでなく、パスビット数の変化を検出できる不揮発性半導体記憶装置を提供することにある。
【解決手段】ベリファイ処理において、ビット線から読み出し、ページバッファ群13のラッチに書き込まれたデータが読み出される一括判定信号線(共通ベリファイ判定信号線VERIFYPF)と、ページバッファにおけるラッチの出力に接続されるトランジスタと直列に接続されるトランジスタを制御して、当該トランジスタを介してラッチの出力に応じて一括判定信号線に単位電流を流すページバッファ電流制御回路21と、一括判定信号線に流れる電流を単位電流で除算して、ページバッファに接続されるビット線にメモリセルから読み出したデータのフェイル状態の個数を検出するビット数判定用電流検出回路22と、を備える。
【選択図】図2
【解決手段】ベリファイ処理において、ビット線から読み出し、ページバッファ群13のラッチに書き込まれたデータが読み出される一括判定信号線(共通ベリファイ判定信号線VERIFYPF)と、ページバッファにおけるラッチの出力に接続されるトランジスタと直列に接続されるトランジスタを制御して、当該トランジスタを介してラッチの出力に応じて一括判定信号線に単位電流を流すページバッファ電流制御回路21と、一括判定信号線に流れる電流を単位電流で除算して、ページバッファに接続されるビット線にメモリセルから読み出したデータのフェイル状態の個数を検出するビット数判定用電流検出回路22と、を備える。
【選択図】図2
Description
本発明は、不揮発性半導体記憶装置に関する。
NAND型EEPROM(Electrically Erasable and Programmable Read Only Memory)において、データの読み出しを行うとき、ページ単位でデータをメモリセルから同時に読み出してシリアル出力し、データの書き込み(プログラム)を行うとき、1ページ単位でデータをシリアル入力し、ページ単位でメモリセルに対してデータのプログラムを行う。
そして、正しくプログラムされたか否かを判定するためにデータを読み出すベリファイ読み出しの際、ページ単位でメモリセルへのプログラムが十分行われたか否かの判定を一括することが行われている。
そして、正しくプログラムされたか否かを判定するためにデータを読み出すベリファイ読み出しの際、ページ単位でメモリセルへのプログラムが十分行われたか否かの判定を一括することが行われている。
例えば、特許文献1記載のEEPROMは、書換/読出回路(ページバッファ)がカラム単位でビット線毎に共通に配設された一括判定信号線(共通ノード26)に接続されている。
この一括判定信号線は、プログラム後のベリファイ読み出し動作において、プログラムが十分に行われたか否かの判定を、複数のカラムで一括して行うため、ページバッファにおけるラッチの出力に対して共通に接続される(ワイアードオア構成)。
この一括判定信号線は、プログラム後のベリファイ読み出し動作において、プログラムが十分に行われたか否かの判定を、複数のカラムで一括して行うため、ページバッファにおけるラッチの出力に対して共通に接続される(ワイアードオア構成)。
この一括判定信号線を用いたベリファイ判定では、ページ内の全てのカラムが成功(パス)したことしか知ることができないという問題がある。そのため、特許文献1記載のEEPROMでは、いくつのカラムがパスしなかったか、つまりいくつのカラムがフェイルしたかを示すフェイル数を検出するための回路を設けている。
特許文献1記載の不揮発性半導体記憶装置は、ページバッファの一定単位ごとに、ページバッファにおけるラッチのパス及びフェイルの状態に応じて、それぞれが異なる電流を流す複数のトランジスタから構成される許容フェイル数設定回路を備えている。特許文献1記載の不揮発性半導体記憶装置は、一括判定信号線に流れる電流(第1の電流)と、許容フェイル数設定回路に流れる電流(第2の電流)とを比較して、フェイルビット数を検出することを可能としている。
しかしながら、特許文献1記載の不揮発性半導体記憶装置の構成を用いて、フェイルビット数を検出する場合、カラムにより区別されるページバッファの個数を2nとすると、それぞれが異なる電流を流す複数のトランジスタが(n+1)個必要となる。そのため、フェイルビット数を±1の範囲内で精度よく検出するためには、互いにサイズの異なる、許容フェイル数設定回路用の専用トランジスタが必要となり、チップサイズが増大し、チップのコストが上がるという問題があった。
また、プログラム動作においては、プログラムを行わないセルに対しては、ページバッファのラッチにはインヒビットデータ(書き込み禁止データ)としてパスデータが予め格納されているため、プログラム前に比べて、変化したパスビット数を検出することが不可能であった。同様に、イレース動作においても、イレース前の状態が“1”のセルについては、すでにパスした状態のため、ページバッファのラッチにはパスデータが格納されてしまうため、イレース前から変化したパスビット数を検出することが不可能であった。
そこで本発明が解決しようとする課題は、ページバッファにおける専用トランジスタを不要とし、かつ、フェイルビット数だけでなく、パスビット数の変化を検出できる不揮発性半導体記憶装置を提供することにある。
本発明の不揮発性半導体記憶装置は、複数のビット線と複数のワード線との各々が交差し、交差した部分に不揮発性のメモリセルが配置されたメモリセルアレイと、前記ビット線毎に設けられ、前記ワード線により選択された当該メモリセルに書き込むデータまたは前記メモリセルから読み出したデータを記憶するラッチを含むページバッファと、ベリファイ処理において、前記ページバッファの前記ラッチに書き込まれたデータが読み出される一括判定信号線と、前記ページバッファにおける前記ラッチの出力に接続される第1トランジスタと直列に接続される第2トランジスタを制御して、当該第2トランジスタを介して前記ラッチの出力に応じて前記一括判定信号線に単位電流を流すページバッファ電流制御回路と、前記ベリファイ処理において、前記一括判定信号線に流れる電流を前記単位電流で除算して、前記ページバッファに接続される前記ビット線に前記メモリセルから読み出したデータのフェイル状態の個数を検出するビット数判定用電流検出回路と、を備えることを特徴とする。
また、本発明の不揮発性半導体記憶装置において、前記ビット数判定用電流検出回路は、前記ベリファイ処理においてカウントアップ動作を行う電流制御カウンタと、前記電流制御カウンタの出力に応じて、前記単位電流の整数倍の基準電流を発生する基準電流発生回路と、前記一括判定信号線に流れる電流と前記基準電流とを比較して、前記一括判定信号線に流れる電流が前記基準電流を超えると、出力である比較結果信号を活性レベルへ変化させる電流比較回路と、前記比較結果信号が活性レベルになると、前記電流制御カウンタの出力をラッチするビット数保持ラッチと、を有することを特徴とする。
また、本発明の不揮発性半導体記憶装置において、前記ベリファイ処理がプログラムベリファイ処理の場合、前記ビット数ラッチは、前記ページバッファにおける前記ラッチに最初に書き込まれたデータに基づいて、前記電流制御カウンタの出力をラッチし、前記基準電流発生回路は、前記ビット数保持ラッチにラッチされた前記電流制御カウンタの出力に応じて、前記基準電流を発生し、前記電流比較回路は、前記比較結果信号を活性レベルへ変化させる、ことを特徴とする。
また、本発明の不揮発性半導体記憶装置において、前記ベリファイ処理がイレースベリファイ処理の場合、前記ビット数ラッチは、前記ページバッファにおける前記ラッチの一回目のベリファイ結果に基づいて、前記電流制御カウンタの出力をラッチし、前記基準電流発生回路は、前記ビット数保持ラッチにラッチされた前記電流制御カウンタの出力に応じて、前記基準電流を発生し、前記電流比較回路は、前記比較結果信号を活性レベルへ変化させる、ことを特徴とする。
また、本発明の不揮発性半導体記憶装置において、前記ビット数保持ラッチにラッチされた前記電流制御カウンタの出力から、予め設定されたパスビット数を減算する演算回路を備え、前記基準電流発生回路は、前記演算回路の減算結果に応じて前記基準電流を発生する、ことを特徴とする。
また、本発明の不揮発性半導体記憶装置において、前記基準電流発生回路は、前記ビット数保持ラッチにラッチされた前記電流制御カウンタの出力に対応する基準電流に、前記フェイル状態の個数に対するパスビットの比率を示す、予め設定された1/m(m≧1)を乗じた前記基準電流を発生し、前記電流比較回路は、前記一括判定信号線に流れる電流のn(n≧1)倍の電流を発生する回路であって、n倍後の電流と前記基準電流とを比較する、ことを特徴とする。
本発明の不揮発性半導体記憶装置は、ベリファイ動作において、ページバッファ電流制御回路が、ページバッファにおけるラッチの出力に接続される第1トランジスタと直列に接続される第2トランジスタを制御して、当該第2トランジスタを介してラッチの出力に応じて一括判定信号線に単位電流を流す。また、ビット数判定用電流検出回路は、一括判定信号線に流れる電流に応じて、ページバッファに接続されるビット線にメモリセルから読み出したデータのフェイル状態の個数を検出する。よって、本発明によれば、ページバッファに対して専用トランジスタを追加する必要がなく、容易に、フェイルビット数を検出することが可能となる。このため、フェイルビット数をカウントする機能を持ちつつ、チップサイズの増大を招くことはないので、従来例に比べ、チップコストを削減することが可能となる。
また、ベリファイ処理がプログラムベリファイ処理の場合、ビット数判定用電流検出回路が、プログラムデータに基づいて、最初のベリファイ動作の前のフェイルビット数の初期値を検出するので、パスビット数の変化を検出できる。
一方、ベリファイ処理がイレースベリファイ処理の場合、ビット数判定用電流検出回路が、最初のイレースベリファイ結果に基づいて、最初のベリファイ動作の前のフェイルビット数の初期値を検出するので、パスビット数の変化を検出できる。
これにより、ベリファイ処理(プログラムベリファイ、イレースベリファイ)において、パスビット数の変化を検出できる。
一方、ベリファイ処理がイレースベリファイ処理の場合、ビット数判定用電流検出回路が、最初のイレースベリファイ結果に基づいて、最初のベリファイ動作の前のフェイルビット数の初期値を検出するので、パスビット数の変化を検出できる。
これにより、ベリファイ処理(プログラムベリファイ、イレースベリファイ)において、パスビット数の変化を検出できる。
以下、図面を参照して、本発明の実施の形態について説明する。図1は、この発明の一実施形態による不揮発性半導体記憶装置10であるNAND型EEPROMの構成例を示す概略ブロック図である。
メモリセルアレイ11は、複数のスタックゲート構造のトランジスタ、すなわち電気的書き換え可能な不揮発性メモリセルをカラム方向(列方向)に直列接続して、ビット線毎に設けられたNANDセルストリングを、行方向(ビット線の配列方向)に複数個配置したブロックから構成される。このブロックは、ビット線の配線方向に複数個配置される。また、このブロックは、メモリセルのデータの消去単位で設けられている。各ブロックにおいては、同一行に配置された不揮発性メモリ各々のゲートには、ビット線に直行したワード線が接続される。
1本のワード線により選択される不揮発性メモリセルの範囲がプログラム及び読み出しの単位となる1ページである。
メモリセルアレイ11は、複数のスタックゲート構造のトランジスタ、すなわち電気的書き換え可能な不揮発性メモリセルをカラム方向(列方向)に直列接続して、ビット線毎に設けられたNANDセルストリングを、行方向(ビット線の配列方向)に複数個配置したブロックから構成される。このブロックは、ビット線の配線方向に複数個配置される。また、このブロックは、メモリセルのデータの消去単位で設けられている。各ブロックにおいては、同一行に配置された不揮発性メモリ各々のゲートには、ビット線に直行したワード線が接続される。
1本のワード線により選択される不揮発性メモリセルの範囲がプログラム及び読み出しの単位となる1ページである。
ページバッファ群13は、ページ単位のデータのプログラム及び読み出しを行うため、ビット線毎に設けられたページバッファPB(後述)の複数から構成されている。このページバッファ群13におけるページバッファPB各々は、それぞれのビット線に接続され、接続されたビット線の電位を増幅して判定するセンスアンプ回路として用いるラッチ回路を有する。
ロウデコーダ14は、メモリセルアレイ11のワード線の選択を行う。
カラムデコーダ15は、メモリセルアレイ11のビット線及びページバッファPBの選択を行う。
電圧生成回路16は、不揮発性メモリセルに対するデータのプログラム、消去及び読み出しに用いられる各種電圧を電源電圧から昇圧動作等により生成する。
ロウデコーダ14は、メモリセルアレイ11のワード線の選択を行う。
カラムデコーダ15は、メモリセルアレイ11のビット線及びページバッファPBの選択を行う。
電圧生成回路16は、不揮発性メモリセルに対するデータのプログラム、消去及び読み出しに用いられる各種電圧を電源電圧から昇圧動作等により生成する。
入出力回路17は、外部から供給されるアドレスをアドレスレジスタ19へ出力し、外部から供給されるコマンドを示すコマンドデータをコマンドレジスタ18へ出力し、外部から入力される制御信号を制御回路20へ出力する。
また、入出力回路17は、外部から入力されるデータをページバッファ群13のページバッファPB各々へ出力、あるいはページバッファ群13を介し、不揮発性メモリセルから読み出されたデータを外部に出力する。
アドレスレジスタ19は、入出力回路17から入力されるアドレスを保持し、保持したアドレスをロウデコーダ14及びカラムデコーダ15へ出力する。
コマンドレジスタ18は、入出力回路17から入力されるコマンドデータにより表されるコマンドデータを保持する。
また、入出力回路17は、外部から入力されるデータをページバッファ群13のページバッファPB各々へ出力、あるいはページバッファ群13を介し、不揮発性メモリセルから読み出されたデータを外部に出力する。
アドレスレジスタ19は、入出力回路17から入力されるアドレスを保持し、保持したアドレスをロウデコーダ14及びカラムデコーダ15へ出力する。
コマンドレジスタ18は、入出力回路17から入力されるコマンドデータにより表されるコマンドデータを保持する。
制御回路20は、入出力回路17から入力する制御信号及びコマンドレジスタ18から供給されるコマンドデータにより、不揮発性メモリセルに対するデータのプログラム、読み出し、消去などの動作、及びベリファイの動作の制御を行う。
例えば、制御信号は、外部クロック信号、チップイネーブル信号、コマンドラッチイネーブル信号、アドレスラッチイネーブル信号、プログラムイネーブル信号、読み出しイネーブル信号などである。制御回路20は、これらの制御信号により、コマンドデータの示す動作モードに応じて、各回路に対して内部制御信号を出力する。
例えば、制御信号は、外部クロック信号、チップイネーブル信号、コマンドラッチイネーブル信号、アドレスラッチイネーブル信号、プログラムイネーブル信号、読み出しイネーブル信号などである。制御回路20は、これらの制御信号により、コマンドデータの示す動作モードに応じて、各回路に対して内部制御信号を出力する。
特に、制御回路20は、不揮発性メモリセルからのデータ読み出し(データ読み出し動作)、不揮発性メモリセルへのデータ書き込み動作(プログラム動作及びプログラムベリファイ動作)、不揮発性メモリセルのデータ消去動作(イレース動作及びその後のイレースベリファイ動作)において、ページバッファを制御するための制御信号ページバッファPBに対して出力する。これらの制御信号は、詳細は後述するが、制御信号PLOAD、制御信号PDIS、制御信号BLSLT、制御信号PBRST、制御信号PPGM、制御信号PVTR、制御信号EVTR、制御信号VERIFYB、制御信号BUSPC等である。
次に、図2は、制御回路20の詳細な構成例を示す図である。
制御回路20は、ページバッファ電流制御回路21、ビット数判定用電流検出回路22、及びベリファイコントローラー23を含んで構成される。
ページバッファ電流制御回路21は、ページバッファPBに供給する制御信号のうち、プログラムベリファイ動作において、ページバッファPBにおけるラッチ回路の判定結果を共通ベリファイ判定信号線VERIFYPF(一括判定信号線)に対して出力させる制御信号PVTRを出力する。また、ページバッファ電流制御回路21は、イレースベリファイ動作において、ページバッファPBにおけるラッチ回路の判定結果を共通ベリファイ判定信号線VERIFYPFに対して出力させる制御信号EVTRを出力する。
制御回路20は、ページバッファ電流制御回路21、ビット数判定用電流検出回路22、及びベリファイコントローラー23を含んで構成される。
ページバッファ電流制御回路21は、ページバッファPBに供給する制御信号のうち、プログラムベリファイ動作において、ページバッファPBにおけるラッチ回路の判定結果を共通ベリファイ判定信号線VERIFYPF(一括判定信号線)に対して出力させる制御信号PVTRを出力する。また、ページバッファ電流制御回路21は、イレースベリファイ動作において、ページバッファPBにおけるラッチ回路の判定結果を共通ベリファイ判定信号線VERIFYPFに対して出力させる制御信号EVTRを出力する。
ベリファイコントローラー23は、ページバッファPB各々におけるラッチ回路の判定結果を一括ベリファイ判定する場合と、判定結果をフェイルビット数判定する場合とで、制御信号WOREnable、制御信号PFBitCountEnableのレベルを切り替えて、ページバッファ電流制御回路21に対して出力する。
ここで、一括ベリファイ判定とは、複数あるページバッファPB各々におけるラッチ回路の判定結果を一括でベリファイ判定をすることである。また、フェイルビット数判定とは、ページバッファPB各々におけるラッチ回路の判定結果のうち何ビットがフェイル結果であるかを判定することである。
また、ベリファイコントローラー23は、判定結果をフェイルビット数判定する場合、制御信号COMPAREEN、制御信号COUNTEN、及び制御信号LATCHENをビット数判定用電流検出回路22に対して出力する。
ここで、一括ベリファイ判定とは、複数あるページバッファPB各々におけるラッチ回路の判定結果を一括でベリファイ判定をすることである。また、フェイルビット数判定とは、ページバッファPB各々におけるラッチ回路の判定結果のうち何ビットがフェイル結果であるかを判定することである。
また、ベリファイコントローラー23は、判定結果をフェイルビット数判定する場合、制御信号COMPAREEN、制御信号COUNTEN、及び制御信号LATCHENをビット数判定用電流検出回路22に対して出力する。
ビット数判定用電流検出回路22は、ベリファイ動作において、フェイルビット数判定を実際に行なう回路である(詳細後述)。ビット数判定用電流検出回路22は、共通ベリファイ判定信号線VERIFYPFに流れる電流と基準電流Irefとを比較し、基準電流Irefを超えた場合は比較結果信号COMPAREOUTを非活性レベル(「H」レベル)から活性レベル(「L」レベル)に変化させてベリファイコントローラー23に対して出力する。
次に、図3は、ページバッファPBの構成の一例を示す図である。ページバッファ群13におけるページバッファは、以下に説明するページバッファPBと同様の構成を有している。
ページバッファPBは、トランジスタ31、トランジスタ32、トランジスタ33、トランジスタ34、トランジスタ35、トランジスタ36、トランジスタ37、トランジスタ38、トランジスタ39、トランジスタ40、トランジスタ41、トランジスタ42、トランジスタ43、及びトランジスタ44と、ラッチLTとを含んで構成される。
ここで、トランジスタ31及びトランジスタ32は、Pチャネル型MOS(Metal Oxide Semiconductor )トランジスタである。一方、トランジスタ33からトランジスタ44は、Nチャネル型MOSトランジスタである。
また、ラッチLTは、インバータ回路IV1、及びインバータ回路IV2から構成される。ここで、インバータ回路IV1は、出力端子が接続点N2においてインバータ回路IV2の入力端子に接続され、入力端子が接続点N1においてインバータ回路IV2の出力端子に接続される。
ページバッファPBは、トランジスタ31、トランジスタ32、トランジスタ33、トランジスタ34、トランジスタ35、トランジスタ36、トランジスタ37、トランジスタ38、トランジスタ39、トランジスタ40、トランジスタ41、トランジスタ42、トランジスタ43、及びトランジスタ44と、ラッチLTとを含んで構成される。
ここで、トランジスタ31及びトランジスタ32は、Pチャネル型MOS(Metal Oxide Semiconductor )トランジスタである。一方、トランジスタ33からトランジスタ44は、Nチャネル型MOSトランジスタである。
また、ラッチLTは、インバータ回路IV1、及びインバータ回路IV2から構成される。ここで、インバータ回路IV1は、出力端子が接続点N2においてインバータ回路IV2の入力端子に接続され、入力端子が接続点N1においてインバータ回路IV2の出力端子に接続される。
トランジスタ31は、ソースが電源配線に接続され、ゲートが制御信号PLOADの配線に接続され、ドレインがトランジスタ33のゲート、及び接続点SOに接続される。
トランジスタ32は、ソースが電源配線に接続され、ゲートが制御信号PBRSTの配線に接続され、ドレインがトランジスタ33のドレイン、及び接続点N1に接続される。
トランジスタ33は、ドレインが接続点N1に接続され、ゲートが接続点SOに接続され、ソースがトランジスタ34のドレインに接続される。
トランジスタ34は、ドレインがトランジスタ33に接続され、ゲートが制御信号PBLCHの配線に接続され、ソースが接地される。
トランジスタ32は、ソースが電源配線に接続され、ゲートが制御信号PBRSTの配線に接続され、ドレインがトランジスタ33のドレイン、及び接続点N1に接続される。
トランジスタ33は、ドレインが接続点N1に接続され、ゲートが接続点SOに接続され、ソースがトランジスタ34のドレインに接続される。
トランジスタ34は、ドレインがトランジスタ33に接続され、ゲートが制御信号PBLCHの配線に接続され、ソースが接地される。
トランジスタ35は、ドレインが共通ベリファイ判定信号線VERIFYPFに接続され、ゲートが接続点N1に接続され、ソースがトランジスタ36のドレインに接続される。
トランジスタ36は、ドレインがトランジスタ35のソースに接続され、ゲートが制御信号PVTRの配線に接続され、ソースが接地される。
トランジスタ37は、ドレインが共通ベリファイ判定信号線VERIFYPFに接続され、ゲートが接続点N2に接続され、ソースがトランジスタ38のドレインに接続されている。
トランジスタ38は、ドレインがトランジスタ37のソースに接続され、ゲートが制御信号EVTRの配線に接続され、ソースが接地される。
トランジスタ36は、ドレインがトランジスタ35のソースに接続され、ゲートが制御信号PVTRの配線に接続され、ソースが接地される。
トランジスタ37は、ドレインが共通ベリファイ判定信号線VERIFYPFに接続され、ゲートが接続点N2に接続され、ソースがトランジスタ38のドレインに接続されている。
トランジスタ38は、ドレインがトランジスタ37のソースに接続され、ゲートが制御信号EVTRの配線に接続され、ソースが接地される。
トランジスタ41は、ドレインがビット線BLに接続され、ゲートが制御信号BLSLTの配線に接続され、ソースがトランジスタ31のドレイン、及び接続点SOに接続される。
トランジスタ42は、ドレインがビット線BLに接続され、ゲートが制御信号PDISの配線に接続され、ソースが接地される。
トランジスタ40は、ドレインがトランジスタ41のソース、及び接続点SOに接続され、ゲートが制御信号PPGMの配線に接続され、ソースが接続点N2に接続される。
トランジスタ39は、ドレインが接続点N2に接続され、ゲートがカラムアドレスDYWの配線に接続され、ソースが書込線DINBUSに接続される。
トランジスタ43は、ドレインが読出線DOUTBUSに接続され、ゲートがカラムアドレスDYRの配線に接続され、ソースがトランジスタ44のドレインに接続される。
トランジスタ44は、ドレインがトランジスタ43のソースに接続され、ゲートが接続点N2に接続され、ソースが接地される。
トランジスタ42は、ドレインがビット線BLに接続され、ゲートが制御信号PDISの配線に接続され、ソースが接地される。
トランジスタ40は、ドレインがトランジスタ41のソース、及び接続点SOに接続され、ゲートが制御信号PPGMの配線に接続され、ソースが接続点N2に接続される。
トランジスタ39は、ドレインが接続点N2に接続され、ゲートがカラムアドレスDYWの配線に接続され、ソースが書込線DINBUSに接続される。
トランジスタ43は、ドレインが読出線DOUTBUSに接続され、ゲートがカラムアドレスDYRの配線に接続され、ソースがトランジスタ44のドレインに接続される。
トランジスタ44は、ドレインがトランジスタ43のソースに接続され、ゲートが接続点N2に接続され、ソースが接地される。
ベリファイ判定回路(チャージ回路27)は、pチャネル型MOSトランジスタであるトランジスタ53、及びトランジスタ54から構成される。
トランジスタ53は、ソースが電源配線に接続され、ゲートが制御信号VERIFYBの配線に接続され、ドレインが共通ベリファイ判定信号線VERIFYPFに接続される。
トランジスタ54は、ソースが電源配線に接続され、ゲートが制御信号BUSPCの配線に接続され、ドレインが読出線DOUTBUSに接続される。
トランジスタ53は、ソースが電源配線に接続され、ゲートが制御信号VERIFYBの配線に接続され、ドレインが共通ベリファイ判定信号線VERIFYPFに接続される。
トランジスタ54は、ソースが電源配線に接続され、ゲートが制御信号BUSPCの配線に接続され、ドレインが読出線DOUTBUSに接続される。
次に、データ読み出し動作、プログラム動作、及びイレース動作各々の動作におけるページバッファPBの動作、及びラッチLTの出力レベル(接続点N1及び接続点N2の「H」レベルまたは「L」レベル)について、以下に説明する。
<データ読み出し動作>
読み出し時において、外部から読み出しを示すコマンドデータが入出力回路17に入力され、コマンドレジスタ18に読み出しモードとするデータが設定され、このデータに基づいて制御回路20が各回路を制御する制御信号を出力する。初期状態においては、制御回路20は、制御信号PDIS、制御信号BLSLT、制御信号PPGM、制御信号PBLCH、制御信号PVTR、及び制御信号EVTRを「L」レベルとし、制御信号PLOAD、PBRSTを「H」レベルとしている。
また、カラムデコーダ15は、カラムアドレスDYW及びカラムアドレスDYRを「L」レベルとしている。
<データ読み出し動作>
読み出し時において、外部から読み出しを示すコマンドデータが入出力回路17に入力され、コマンドレジスタ18に読み出しモードとするデータが設定され、このデータに基づいて制御回路20が各回路を制御する制御信号を出力する。初期状態においては、制御回路20は、制御信号PDIS、制御信号BLSLT、制御信号PPGM、制御信号PBLCH、制御信号PVTR、及び制御信号EVTRを「L」レベルとし、制御信号PLOAD、PBRSTを「H」レベルとしている。
また、カラムデコーダ15は、カラムアドレスDYW及びカラムアドレスDYRを「L」レベルとしている。
制御回路20は、制御信号PBRSTを「L」レベルに変化させ、強制的に接続点N1に「H」レベルのデータを与え、不揮発性メモリセルからビット線BLへデータを読み出す前準備のリセット(RESET)動作を行う。これにより、制御回路20は、ラッチLTに、接続点N1が「H」レベル、接続点N2に「L」レベルのデータを書き込み、ラッチLTにリセット時のデータを記憶させる。
そして、制御回路20は、制御信号PBRSTを「H」レベルに変化させ、トランジスタ32をオフ状態とし、リセット処理を終了する。
そして、制御回路20は、制御信号PBRSTを「H」レベルに変化させ、トランジスタ32をオフ状態とし、リセット処理を終了する。
不揮発性メモリセルからビット線BLへデータを読み出す際、制御回路20は、制御信号PDISを「H」レベルとして、トランジスタ42をオン状態とし、ビット線BLの電位を一旦接地レベルに変化させる。
そして、制御回路20は、制御信号PDIS及び制御信号PLOADを「L」レベルに変化させ、制御信号BLSLTを「H」レベルに変化させる。
これにより、トランジスタ42はオフ状態となり、トランジスタ31及びトランジスタ41はオン状態となる。そして、トランジスタ31及びトランジスタ41を介してビット線BLが所定の電位にプリチャージされる。
そして、制御回路20は、制御信号PDIS及び制御信号PLOADを「L」レベルに変化させ、制御信号BLSLTを「H」レベルに変化させる。
これにより、トランジスタ42はオフ状態となり、トランジスタ31及びトランジスタ41はオン状態となる。そして、トランジスタ31及びトランジスタ41を介してビット線BLが所定の電位にプリチャージされる。
次に、制御回路20は、制御信号PLOADを「H」レベルとし、トランジスタ31をオフ状態とする。
そして、制御回路20は、制御信号PBRSTを「L」レベルに変化させ、制御信号PBLCHを「H」レベルに変化させる。
これにより、トランジスタ32及びトランジスタ33がオン状態となり、ロウデコーダ14が選択したワード線がゲートに接続されている不揮発性メモリセルからビット線BLへデータが読み出される。ここで、ロウデコーダ14は、選択したワード線(以下、選択ワード線とする)を「L」レベルとし、選択されたワード線以外の全ての選択ワード線(以下、非選択ワード線とする)を、電圧生成回路16が生成した電圧(例えば、5V)を印加し、選択ワード線以外の非選択ワード線がゲートに接続された不揮発性メモリセル(以下、非選択メモリセルとする)すべてをオン状態とする。
そして、制御回路20は、制御信号PBRSTを「L」レベルに変化させ、制御信号PBLCHを「H」レベルに変化させる。
これにより、トランジスタ32及びトランジスタ33がオン状態となり、ロウデコーダ14が選択したワード線がゲートに接続されている不揮発性メモリセルからビット線BLへデータが読み出される。ここで、ロウデコーダ14は、選択したワード線(以下、選択ワード線とする)を「L」レベルとし、選択されたワード線以外の全ての選択ワード線(以下、非選択ワード線とする)を、電圧生成回路16が生成した電圧(例えば、5V)を印加し、選択ワード線以外の非選択ワード線がゲートに接続された不揮発性メモリセル(以下、非選択メモリセルとする)すべてをオン状態とする。
また、制御回路20は、制御信号PBLCHを「H」レベルに変化させ、トランジスタ34をオン状態とする。
この結果、選択ワード線に接続された不揮発性メモリセル(以下、選択メモリセルとする)に「0」データが書き込まれているとき、選択メモリセルがオフ状態であり、ビット線BLが「H」レベルのままであり、トランジスタ33がオン状態のままとなる。
このため、接続点N1の電位は、トランジスタ33及びトランジスタ34を介する電流により、「L」レベルに変化する。また、接続点N2の電位は、「H」レベルとなる。つまり、ラッチLTの接続点N1、及び接続点N2は、リセット状態と反対のデータが書き込まれる。
この結果、選択ワード線に接続された不揮発性メモリセル(以下、選択メモリセルとする)に「0」データが書き込まれているとき、選択メモリセルがオフ状態であり、ビット線BLが「H」レベルのままであり、トランジスタ33がオン状態のままとなる。
このため、接続点N1の電位は、トランジスタ33及びトランジスタ34を介する電流により、「L」レベルに変化する。また、接続点N2の電位は、「H」レベルとなる。つまり、ラッチLTの接続点N1、及び接続点N2は、リセット状態と反対のデータが書き込まれる。
一方、選択メモリセルに「1」データが書き込まれているとき(つまり選択メモリセルが消去状態にあるとき)、選択メモリセルがオン状態となり、ビット線BLが「L」レベルに変化し、トランジスタ33がオフ状態となる。
このため、接続点N1の電位は、トランジスタ33がオフ状態であるため、接地点に対して電流が流れず、「H」レベルのままである。同様に、接続点N2の電位も、「L」レベルのままである。つまり、ラッチLTの接続点N1、及び接続点N2は、リセット状態に書き込まれたデータをそのまま維持する。
このため、接続点N1の電位は、トランジスタ33がオフ状態であるため、接地点に対して電流が流れず、「H」レベルのままである。同様に、接続点N2の電位も、「L」レベルのままである。つまり、ラッチLTの接続点N1、及び接続点N2は、リセット状態に書き込まれたデータをそのまま維持する。
次に、制御回路20は、制御信号BUSPCを「L」レベルとし、トランジスタ54をオン状態とし、読出線DOUTBUSを「H」レベルにプリチャージする。
そして、制御回路20は、制御信号BUSPCを「H」レベルとし、トランジスタ54をオフ状態として、プリチャージ処理を終了させる。
プリチャージが終了した後、カラムデコーダ15は、入力されたアドレスに対応するページバッファPBを選択するため、カラムアドレスDYRを「H」レベルとする。
そして、制御回路20は、制御信号BUSPCを「H」レベルとし、トランジスタ54をオフ状態として、プリチャージ処理を終了させる。
プリチャージが終了した後、カラムデコーダ15は、入力されたアドレスに対応するページバッファPBを選択するため、カラムアドレスDYRを「H」レベルとする。
これにより、不揮発性メモリセルに「0」データが書き込まれている場合、接続点N2が「H」レベルであり、トランジスタ44がオン状態となるため、読出線DOUTBUSはトランジスタ43、及びトランジスタ44を介して接地され、「L」レベルとなる。この「L」レベルのデータが入出力回路17を介して外部に「0」として出力される。
一方、不揮発性メモリセルに「1」のデータが書き込まれている場合、接続点N2が「L」レベルであり、トランジスタ44がオフ状態となるため、読出線DOUTBUSは接地されずに、「H」レベルのままである。この「H」レベルのデータが入出力回路17を介して外部に「1」として出力される。
一方、不揮発性メモリセルに「1」のデータが書き込まれている場合、接続点N2が「L」レベルであり、トランジスタ44がオフ状態となるため、読出線DOUTBUSは接地されずに、「H」レベルのままである。この「H」レベルのデータが入出力回路17を介して外部に「1」として出力される。
<プログラム動作、及びラッチLTの出力状態>
不揮発性メモリセルに対してデータ「0」をプログラムし、データ「0」が正常に書き込まれるか否かの判定を行う。
プログラム動作において、外部からプログラムを示すコマンドデータが入出力回路17に入力され、コマンドレジスタ18にプログラムベリファイモードとするデータが設定され、このデータに基づいて制御回路20が各回路を制御する制御信号を出力する。初期状態においては、制御回路20は、制御信号PDIS、制御信号BLSLT、制御信号PPGM、制御信号PBLCH、制御信号PVTR、及び制御信号EVTRを「L」レベルとし、制御信号PLOAD、及び制御信号PBRSTを「H」レベルとしている。
また、カラムデコーダ15は、カラムアドレスDYW、及びカラムアドレスDYRを「L」レベルとしている。
不揮発性メモリセルに対してデータ「0」をプログラムし、データ「0」が正常に書き込まれるか否かの判定を行う。
プログラム動作において、外部からプログラムを示すコマンドデータが入出力回路17に入力され、コマンドレジスタ18にプログラムベリファイモードとするデータが設定され、このデータに基づいて制御回路20が各回路を制御する制御信号を出力する。初期状態においては、制御回路20は、制御信号PDIS、制御信号BLSLT、制御信号PPGM、制御信号PBLCH、制御信号PVTR、及び制御信号EVTRを「L」レベルとし、制御信号PLOAD、及び制御信号PBRSTを「H」レベルとしている。
また、カラムデコーダ15は、カラムアドレスDYW、及びカラムアドレスDYRを「L」レベルとしている。
(ラッチLTのリセット動作)
制御回路20は、制御信号PLOADを「L」レベルに変化させ、制御信号PBLCHを「H」レベルに変化させる。これにより、トランジスタ31がオン状態となり、接続点SOが「H」レベルとなり、トランジスタ32がオン状態となる。また、トランジスタ34がオン状態となることにより、強制的に接続点N1に「L」レベルのデータを与え、不揮発性メモリセルからデータを書き込む前準備のリセット(RESET)動作を行う。
そして、制御回路20は、制御信号PLOADを「H」レベルに変化させ、制御信号PBLCHを「L」レベルに変化させ、トランジスタ31及びトランジスタ34をオフ状態とし、リセット処理を終了する。
これにより、ラッチLTの状態は、接続点N1に「L」レベル、接続点N2に「H」レベルのデータが書き込まれる状態、プログラム禁止(INHIBIT)状態、すなわちパス状態となる。
制御回路20は、制御信号PLOADを「L」レベルに変化させ、制御信号PBLCHを「H」レベルに変化させる。これにより、トランジスタ31がオン状態となり、接続点SOが「H」レベルとなり、トランジスタ32がオン状態となる。また、トランジスタ34がオン状態となることにより、強制的に接続点N1に「L」レベルのデータを与え、不揮発性メモリセルからデータを書き込む前準備のリセット(RESET)動作を行う。
そして、制御回路20は、制御信号PLOADを「H」レベルに変化させ、制御信号PBLCHを「L」レベルに変化させ、トランジスタ31及びトランジスタ34をオフ状態とし、リセット処理を終了する。
これにより、ラッチLTの状態は、接続点N1に「L」レベル、接続点N2に「H」レベルのデータが書き込まれる状態、プログラム禁止(INHIBIT)状態、すなわちパス状態となる。
(書き込みデータ転送動作)
次に、制御回路20は、不揮発性メモリセルに対してデータ「0」を書き込むため、入出力回路17を制御して、書込線DINBUSに「L」レベルのデータを供給させる。なお、制御回路20は、不揮発性メモリセルのデータ「1」を維持する場合(消去状態を維持する場合)、入出力回路17を制御して、書込線DINBUSに「H」レベルのデータを供給させる。
そして、カラムデコーダ15は、アドレスレジスタ19が出力するカラムアドレスに対応するページバッファPBを選択するため、カラムアドレスDYWを「H」レベルとする。これにより、トランジスタ39がオン状態となる。
次に、制御回路20は、不揮発性メモリセルに対してデータ「0」を書き込むため、入出力回路17を制御して、書込線DINBUSに「L」レベルのデータを供給させる。なお、制御回路20は、不揮発性メモリセルのデータ「1」を維持する場合(消去状態を維持する場合)、入出力回路17を制御して、書込線DINBUSに「H」レベルのデータを供給させる。
そして、カラムデコーダ15は、アドレスレジスタ19が出力するカラムアドレスに対応するページバッファPBを選択するため、カラムアドレスDYWを「H」レベルとする。これにより、トランジスタ39がオン状態となる。
このように、トランジスタ39を介して、書込線DINBUSから接続点N2に対して「L」レベルのデータが書き込まれることにより、「0」データを書き込む際における、ラッチLTの接続点N1が「H」レベルであり、接続点N2が「L」レベルの状態となる。すなわち、「0」データを書き込む場合、ラッチLTの状態は、接続点N1が「H」レベル、接続点N2が「L」レベルと、パス状態とは反対の状態であるフェイル状態となる。また、「0」データを書き込まない場合、ラッチLTの状態は、接続点N1が「L」レベル、接続点N2が「H」レベルと、パス状態のままとなる。
このラッチLTへのデータ書き込み処理において、カラムデコーダ15は、カラムアドレスを順次変化させて行う。すなわち、カラムデコーダ15は、トランジスタ39を順次切り替えて、トランジスタ39をオンさせる。全てのページバッファPBのラッチLTの状態は、書き込まれるデータ「0」または「1」に応じて、パス状態かフェイル状態のいずれかになる。
(プログラム動作)
制御回路20は、制御信号PPGM及びBLSLTを「H」レベルとする。
また、ロウデコーダ14は、選択ワード線にプログラム電圧(高電圧)を供給し、非選択ワード線に対して「H(例えば、5V)」を供給する。
これにより、データ「0」を書き込むべきセルにおいて、選択ワード線に接続されている選択メモリセルのソース、ドレイン及びチャネル部分が「L」レベルとなり、選択メモリセルに対して電荷が書き込まれ、「0」データが記憶される。
一方、データ「0」を書き込まない、データ「1」を維持するセルにおいては、選択ワード線に接続されている選択メモリセルのソース、ドレイン及びチャネル部分が「H」レベルであるので、選択メモリセルに対して電荷が書き込まれず、「1」データが維持される。
そして、ロウデコーダ14が、選択ワード線、及び非選択ワード線を「L」レベルに変化させることにより、プログラム動作が終了する。
制御回路20は、制御信号PPGM及びBLSLTを「H」レベルとする。
また、ロウデコーダ14は、選択ワード線にプログラム電圧(高電圧)を供給し、非選択ワード線に対して「H(例えば、5V)」を供給する。
これにより、データ「0」を書き込むべきセルにおいて、選択ワード線に接続されている選択メモリセルのソース、ドレイン及びチャネル部分が「L」レベルとなり、選択メモリセルに対して電荷が書き込まれ、「0」データが記憶される。
一方、データ「0」を書き込まない、データ「1」を維持するセルにおいては、選択ワード線に接続されている選択メモリセルのソース、ドレイン及びチャネル部分が「H」レベルであるので、選択メモリセルに対して電荷が書き込まれず、「1」データが維持される。
そして、ロウデコーダ14が、選択ワード線、及び非選択ワード線を「L」レベルに変化させることにより、プログラム動作が終了する。
(プログラムベリファイ動作)
次に、選択メモリセルに正常にデータ「0」が書き込まれたか否かの判定を行うため、ロウデコーダ14は、選択メモリセルのデータをビット線BLへ読み出し、制御回路20は、ビット線BLからページバッファPBに選択メモリセルのデータを読み出す。
すなわち、選択メモリセルからビット線BLを介してページバッファPBにデータを読み出す際、制御回路20は、制御信号PDISを「H」レベルとして、トランジスタ42をオン状態とし、ビット線BLの電位を一端接地レベルに変化させる。
そして、制御回路20は、制御信号PDIS及び制御信号PLOADを「L」レベルに変化させ、制御信号BLSLTを「H」レベルに変化させる。
これにより、トランジスタ42はオフ状態となり、トランジスタ31及び41はオン状態となる。そして、トランジスタ31及びトランジスタ41を介してビット線が所定の電位にプリチャージされる。
次に、選択メモリセルに正常にデータ「0」が書き込まれたか否かの判定を行うため、ロウデコーダ14は、選択メモリセルのデータをビット線BLへ読み出し、制御回路20は、ビット線BLからページバッファPBに選択メモリセルのデータを読み出す。
すなわち、選択メモリセルからビット線BLを介してページバッファPBにデータを読み出す際、制御回路20は、制御信号PDISを「H」レベルとして、トランジスタ42をオン状態とし、ビット線BLの電位を一端接地レベルに変化させる。
そして、制御回路20は、制御信号PDIS及び制御信号PLOADを「L」レベルに変化させ、制御信号BLSLTを「H」レベルに変化させる。
これにより、トランジスタ42はオフ状態となり、トランジスタ31及び41はオン状態となる。そして、トランジスタ31及びトランジスタ41を介してビット線が所定の電位にプリチャージされる。
次に、制御回路20は、制御信号PLOADを「H」レベルとし、トランジスタ31をオフ状態とする。
そして、制御回路20は、制御信号PBRSTを「L」レベルに変化させ、制御信号PBLCHを「H」レベルに変化させる。
これにより、トランジスタ32及びトランジスタ33がオン状態となり、ロウデコーダ14が選択した選択ワード線がゲートに接続されている選択メモリセルからデータが接続点SOへ読み出される。ここで、ロウデコーダ14は、選択ワード線を「L」レベルとし、非選択ワード線に対して、電圧生成回路16が生成したパス電圧である高電圧(例えば、15V)を印加し、非選択ワード線がゲートに接続された非選択メモリセルすべてをオン状態とする。
また、制御回路20は、制御信号PBLCHを「H」レベルに変化させ、トランジスタ34をオン状態とする。
そして、制御回路20は、制御信号PBRSTを「L」レベルに変化させ、制御信号PBLCHを「H」レベルに変化させる。
これにより、トランジスタ32及びトランジスタ33がオン状態となり、ロウデコーダ14が選択した選択ワード線がゲートに接続されている選択メモリセルからデータが接続点SOへ読み出される。ここで、ロウデコーダ14は、選択ワード線を「L」レベルとし、非選択ワード線に対して、電圧生成回路16が生成したパス電圧である高電圧(例えば、15V)を印加し、非選択ワード線がゲートに接続された非選択メモリセルすべてをオン状態とする。
また、制御回路20は、制御信号PBLCHを「H」レベルに変化させ、トランジスタ34をオン状態とする。
これにより、「0」データを書き込むべき選択メモリセルに「0」データが書き込まれている場合、接続点SOが「H」レベルのままであるので、ラッチLTの接続点N1が「L」レベル、接続点N2が「H」レベルと、ラッチLTはパス状態となる。
一方、「0」データを書き込むべき選択メモリセルに「0」データが書き込まれていない場合、接続点SOが「L」レベルとなり、ラッチLTを反転できず、ラッチLTの接続点N1が「H」レベル、接続点N2が「L」レベルと、ラッチLTは書き込んだ際の状態であるフェイル状態を維持する。
また、「0」データが書き込まれない、すなわち「1」データを維持する選択メモリセルの場合、接続点SOが「L」レベルとなっても、ラッチLTは初期状態を維持するので、ラッチLTはパス状態のままである。
一方、「0」データを書き込むべき選択メモリセルに「0」データが書き込まれていない場合、接続点SOが「L」レベルとなり、ラッチLTを反転できず、ラッチLTの接続点N1が「H」レベル、接続点N2が「L」レベルと、ラッチLTは書き込んだ際の状態であるフェイル状態を維持する。
また、「0」データが書き込まれない、すなわち「1」データを維持する選択メモリセルの場合、接続点SOが「L」レベルとなっても、ラッチLTは初期状態を維持するので、ラッチLTはパス状態のままである。
選択ワード線を共通とする不揮発性メモリセルのデータが、全てのページバッファPBのラッチLTに読み出された後、ページバッファPBは一括判定動作またはビット数判定動作へ移行する(詳細後述)。
<イレース動作、及びラッチLTの出力状態>
全不揮発性メモリセルに対して消去処理を行い、データが正常に消去されたか否かの判定を行う。
イレース動作において、外部からイレースを示すコマンドデータが入出力回路17に入力され、コマンドレジスタ18にイレースモードとするデータが設定され、このデータに基づいて制御回路20が各回路を制御する制御信号を出力する。初期状態においては、制御回路20は、制御信号PDIS、BLSLT、PPGM、PBLCH、PVTR、EVTRを「L」レベルとし、制御信号PLOAD、PBRST、VERIFYB、BUSPCを「H」レベルとしている。
また、カラムデコーダ15は、カラムアドレスDYW及びカラムアドレスDYRを「L」レベルとしている。
全不揮発性メモリセルに対して消去処理を行い、データが正常に消去されたか否かの判定を行う。
イレース動作において、外部からイレースを示すコマンドデータが入出力回路17に入力され、コマンドレジスタ18にイレースモードとするデータが設定され、このデータに基づいて制御回路20が各回路を制御する制御信号を出力する。初期状態においては、制御回路20は、制御信号PDIS、BLSLT、PPGM、PBLCH、PVTR、EVTRを「L」レベルとし、制御信号PLOAD、PBRST、VERIFYB、BUSPCを「H」レベルとしている。
また、カラムデコーダ15は、カラムアドレスDYW及びカラムアドレスDYRを「L」レベルとしている。
(ラッチLTのリセット動作)
制御回路20は、電圧生成回路16に不揮発性メモリセルのデータの消去に必要な消去電圧を発生させ、ブロック単位の不揮発性メモリセルに対して、この消去電圧を印加する(イレースのためのストレスの印加)。これにより、消去電圧が印加されたブロック全ての不揮発性メモリセルのデータのイレース処理が一括して行われる。
次に、制御回路20は、制御信号PBRSTを「L」レベルに変化させ、トランジスタ32をオン状態とし、ラッチLTの接続点N1に強制的に「H」レベルのデータを書き込むリセット動作を行う。これにより、ラッチLTの接続点N1が「H」レベル、接続点N2に「L」レベルのデータが書き込まれる。
そして、制御回路20は、制御信号PBRSTを「H」レベルに変化させ、トランジスタ32をオフ状態とし、リセット処理を終了する。
これにより、ラッチLTの状態は、接続点N1に「H」レベル、接続点N2に「L」レベルのデータが書き込まれる状態、すなわちパス状態となる。
制御回路20は、電圧生成回路16に不揮発性メモリセルのデータの消去に必要な消去電圧を発生させ、ブロック単位の不揮発性メモリセルに対して、この消去電圧を印加する(イレースのためのストレスの印加)。これにより、消去電圧が印加されたブロック全ての不揮発性メモリセルのデータのイレース処理が一括して行われる。
次に、制御回路20は、制御信号PBRSTを「L」レベルに変化させ、トランジスタ32をオン状態とし、ラッチLTの接続点N1に強制的に「H」レベルのデータを書き込むリセット動作を行う。これにより、ラッチLTの接続点N1が「H」レベル、接続点N2に「L」レベルのデータが書き込まれる。
そして、制御回路20は、制御信号PBRSTを「H」レベルに変化させ、トランジスタ32をオフ状態とし、リセット処理を終了する。
これにより、ラッチLTの状態は、接続点N1に「H」レベル、接続点N2に「L」レベルのデータが書き込まれる状態、すなわちパス状態となる。
(イレースベリファイ動作)
次に、制御回路20は、制御信号PDISを「H」レベルに変化させ、一旦、ビット線BLの電位を接地レベルとする。
そして、制御回路20は、制御信号PDISを「L」レベルに変化させた後、制御信号PLOADを「L」レベルとし、制御信号BLSLTを「H」レベルとして、トランジスタ31及び41をオン状態とする。
これにより、トランジスタ31及びトランジスタ41を介して、ビット線が所定の電圧にプリチャージされる。所定の時間経過後、制御回路20は、制御信号PLOADを「H」レベルに変化させ、トランジスタ31をオフ状態とし、制御信号BLSLTを「L」レベルに変化させ、トランジスタ41をオフ状態とし、接続点SO及びビット線のプリチャージを終了する。この所定の時間は、予め測定された接続点SO及びビット線の電位がプリチャージする電圧に安定するまでの時間である。
次に、制御回路20は、制御信号PDISを「H」レベルに変化させ、一旦、ビット線BLの電位を接地レベルとする。
そして、制御回路20は、制御信号PDISを「L」レベルに変化させた後、制御信号PLOADを「L」レベルとし、制御信号BLSLTを「H」レベルとして、トランジスタ31及び41をオン状態とする。
これにより、トランジスタ31及びトランジスタ41を介して、ビット線が所定の電圧にプリチャージされる。所定の時間経過後、制御回路20は、制御信号PLOADを「H」レベルに変化させ、トランジスタ31をオフ状態とし、制御信号BLSLTを「L」レベルに変化させ、トランジスタ41をオフ状態とし、接続点SO及びビット線のプリチャージを終了する。この所定の時間は、予め測定された接続点SO及びビット線の電位がプリチャージする電圧に安定するまでの時間である。
ロウデコーダ14は、制御回路20からの制御信号により全ワード線を「L」レベルに変化させる。そして、ロウデコーダ14が全ワード線を「L」レベルとすることで、各ビット線に接続されたブロック内の全ての不揮発性メモリセルのデータが、消去電圧の印加により消去されている場合、NANDセルストリングは導通状態となり、そのうちのメモリセルのいずれか1つでもデータが消去されていない場合、NANDセルストリングは非導通となる。
これにより、ビット線BLに接続されるNANDセルストリングの不揮発性メモリセルが全てオン状態の場合、NANDセルストリングは導通状態となっており、ビット線BLは接地レベル、すなわち「L」レベルとなる。
一方、ビット線BLに接続されるNANDセルストリングの不揮発性メモリセルのいずれか1つでも「0」データが消去されていない場合、その不揮発性メモリセルがオン状態とならず、NANDセルストリングが非導通状態となっており、ビット線BLはプリチャージされた状態、すなわち「H」レベルのままとなる。
一方、ビット線BLに接続されるNANDセルストリングの不揮発性メモリセルのいずれか1つでも「0」データが消去されていない場合、その不揮発性メモリセルがオン状態とならず、NANDセルストリングが非導通状態となっており、ビット線BLはプリチャージされた状態、すなわち「H」レベルのままとなる。
次に、制御回路20は、制御信号BLSLTを「H」レベルに変化させ、トランジスタ41をオン状態とする。
これにより、接続点SOは、不揮発性メモリセルに「0」データが書き込まれており、ビット線BLが「H」レベルの場合、「H」レベルのままであり、不揮発性メモリセルが消去され、ビット線BLが「L」レベルの場合、「H」レベルから「L」レベルに変化する。ここで、接続点SOの接地容量より、ビット線BLの接地容量が大きいため、接続点SOの電位は、トランジスタ41がオン状態となった際、ビット線BLの電位となる。
これにより、接続点SOは、不揮発性メモリセルに「0」データが書き込まれており、ビット線BLが「H」レベルの場合、「H」レベルのままであり、不揮発性メモリセルが消去され、ビット線BLが「L」レベルの場合、「H」レベルから「L」レベルに変化する。ここで、接続点SOの接地容量より、ビット線BLの接地容量が大きいため、接続点SOの電位は、トランジスタ41がオン状態となった際、ビット線BLの電位となる。
次に、制御回路20は、制御信号PBLCHを「H」レベルに変化させ、トランジスタ34をオン状態とする。
これにより、不揮発性メモリセルの「0」データが消去されて、接続点SOの電位が「L」レベルの場合、ラッチLTの接続点N1が「H」レベルのままであり、不揮発性メモリセルの「0」データが消去されないと、接続点SOの電位が「H」レベルの場合、ラッチLTの接続点N1が「L」レベルとなる。
すなわち、不揮発性メモリセルの「0」データの消去が行われた場合、ラッチLTの接続点N2は「L」レベルのままであり、不揮発性メモリセルの「0」データの消去が行われない場合、ラッチLTの接続点N2は「H」レベルに変化する。
これにより、不揮発性メモリセルの「0」データが消去されて、接続点SOの電位が「L」レベルの場合、ラッチLTの接続点N1が「H」レベルのままであり、不揮発性メモリセルの「0」データが消去されないと、接続点SOの電位が「H」レベルの場合、ラッチLTの接続点N1が「L」レベルとなる。
すなわち、不揮発性メモリセルの「0」データの消去が行われた場合、ラッチLTの接続点N2は「L」レベルのままであり、不揮発性メモリセルの「0」データの消去が行われない場合、ラッチLTの接続点N2は「H」レベルに変化する。
つまり、NANDセルストリングにおける不揮発性メモリセルが全て消去された場合、ラッチLTはパス状態を維持する。一方、NANDセルストリングにおける不揮発性メモリセルの一つでも消去されない場合、ラッチLTはフェイル状態となる。
なお、上記実施形態の説明では、ブロック単位で消去し、NANDセルストリング単位でイレースベリファイを行っている。しかし、このうち、イレースベリファイをビット単位で行ってもよい。この場合、イレースベリファイ動作において、プログラム時のベリファイ動作と同様に、選択ワード線を「L」レベルとし、非選択ワード線に対して、パス電圧である高電圧を印加し、選択メモリセルがオン状態か否かを検出すればよい。
なお、上記実施形態の説明では、ブロック単位で消去し、NANDセルストリング単位でイレースベリファイを行っている。しかし、このうち、イレースベリファイをビット単位で行ってもよい。この場合、イレースベリファイ動作において、プログラム時のベリファイ動作と同様に、選択ワード線を「L」レベルとし、非選択ワード線に対して、パス電圧である高電圧を印加し、選択メモリセルがオン状態か否かを検出すればよい。
つまり、イレースベリファイのプログラムベリファイとの違いは、イレースベリファイでは、メモリセルがプログラムベリファイとは逆のオン状態であることを検出するため、接続点SOのレベルが「H」レベルから「L」レベルに変化する。そのため、イレースベリファイでは、ラッチLTの状態の初期状態(パス状態)をプログラムベリファイとは反対の状態としている。
全てのページバッファPBのラッチLTに読み出された後、ページバッファPBは一括判定動作またはビット数判定動作へ移行する(詳細後述)。
なお、以下の説明では、イレースベリファイをビット単位で行うものとする。
全てのページバッファPBのラッチLTに読み出された後、ページバッファPBは一括判定動作またはビット数判定動作へ移行する(詳細後述)。
なお、以下の説明では、イレースベリファイをビット単位で行うものとする。
次に、図4は、ページバッファ電流制御回路21の構成を示す図である。ページバッファ電流制御回路21は、上述したプログラムベリファイ処理及びイレースベリファイ処理において、一括判定動作またはビット数判定動作を行う場合に、ラッチLTの出力(接続点N1又は接続点N2)が入力されるトランジスタ36及びトランジスタ38の電流制御を行う回路である。なお、図4において、ページバッファPBについては、判定動作に係るトランジスタ35またはトランジスタ37、トランジスタ34またはトランジスタ38を、図3に示すページバッファPBから抜き出し、共通ベリファイ判定信号線VERIFYPFとともに示している。
ページバッファ電流制御回路21は、ナンド回路61、ノア回路62、インバータ回路63、トランジスタ64〜トランジスタ68、及び抵抗R1を含んで構成される。
ここで、トランジスタ64、及びトランジスタ66は、Pチャネル型MOSトランジスタであり、トランジスタ65、トランジスタ67、及びトランジスタ68は、Nチャネル型MOSトランジスタである。
ナンド回路61の一方の入力は、制御信号WOREnableの配線に接続され、他方の入力はインバータ回路63の出力に接続される。
ノア回路62の一方の入力は、制御信号PFBitCountEnableの配線に接続され、他方の入力は制御信号WOREnableの配線に接続される。
インバータ回路63の入力は、制御信号PFBitCountEnableの配線に接続される。
ここで、トランジスタ64、及びトランジスタ66は、Pチャネル型MOSトランジスタであり、トランジスタ65、トランジスタ67、及びトランジスタ68は、Nチャネル型MOSトランジスタである。
ナンド回路61の一方の入力は、制御信号WOREnableの配線に接続され、他方の入力はインバータ回路63の出力に接続される。
ノア回路62の一方の入力は、制御信号PFBitCountEnableの配線に接続され、他方の入力は制御信号WOREnableの配線に接続される。
インバータ回路63の入力は、制御信号PFBitCountEnableの配線に接続される。
トランジスタ64は、ソースが電源配線に接続され、ゲートがナンド回路61の出力に接続され、ドレインがトランジスタ65のドレインに接続される。
トランジスタ65は、ドレインがトランジスタ64のドレインに接続され、ゲートがノア回路62の出力に接続され、ソースが接地される。
ページバッファ電流制御回路21は、プログラムベリファイ用とイレースベリファイ用に2組備えられる。この2組備えられたページバッファ電流制御回路21は、それぞれの回路の入力に、制御信号WOREnable及び制御信号PFBitCountEnableの配線が接続される。また、出力には、一方の組では制御信号PVTRの配線が他方の組では制御信号EVTRの配線がそれぞれ接続される。すなわち、制御信号WOREnable、制御信号PFBitCountEnable、制御信号PVTR、及び制御信号EVTRは、上位階層で別の配線となっており、プログラムベリファイ用とイレーズベリファイ用とで異なる制御ができるように構成されている。
以下では、2組のページバッファ電流制御回路21に含まれるトランジスタ64、及びトランジスタ65からなる組として、一方の組を(64a、65a)、他方の組を(64b、65b)とする
トランジスタ64aのドレイン、及びトランジスタ65aのドレインの共通接続点が、各ページバッファPBのトランジスタ36のゲートに接続される。各ページバッファPBのトランジスタ36のゲートには、プログラム動作における一括判定動作またはビット数判定動作時に制御信号PVTRが入力される。
トランジスタ64bのドレイン、及びトランジスタ65bのドレインの共通接続点が、各ページバッファPBのトランジスタ38のゲートに接続される。各ページバッファPBのトランジスタ38のゲートには、データイレース動作の一括判定動作またはビット数判定動作時に制御信号EVTRが入力される。
トランジスタ65は、ドレインがトランジスタ64のドレインに接続され、ゲートがノア回路62の出力に接続され、ソースが接地される。
ページバッファ電流制御回路21は、プログラムベリファイ用とイレースベリファイ用に2組備えられる。この2組備えられたページバッファ電流制御回路21は、それぞれの回路の入力に、制御信号WOREnable及び制御信号PFBitCountEnableの配線が接続される。また、出力には、一方の組では制御信号PVTRの配線が他方の組では制御信号EVTRの配線がそれぞれ接続される。すなわち、制御信号WOREnable、制御信号PFBitCountEnable、制御信号PVTR、及び制御信号EVTRは、上位階層で別の配線となっており、プログラムベリファイ用とイレーズベリファイ用とで異なる制御ができるように構成されている。
以下では、2組のページバッファ電流制御回路21に含まれるトランジスタ64、及びトランジスタ65からなる組として、一方の組を(64a、65a)、他方の組を(64b、65b)とする
トランジスタ64aのドレイン、及びトランジスタ65aのドレインの共通接続点が、各ページバッファPBのトランジスタ36のゲートに接続される。各ページバッファPBのトランジスタ36のゲートには、プログラム動作における一括判定動作またはビット数判定動作時に制御信号PVTRが入力される。
トランジスタ64bのドレイン、及びトランジスタ65bのドレインの共通接続点が、各ページバッファPBのトランジスタ38のゲートに接続される。各ページバッファPBのトランジスタ38のゲートには、データイレース動作の一括判定動作またはビット数判定動作時に制御信号EVTRが入力される。
トランジスタ66は、ソースが電源配線に接続され、ゲートがインバータ回路63の出力に接続され、ドレインが抵抗R1の一端に接続される。
トランジスタ67は、ドレイン及びゲートが抵抗R1の他端に接続され、ソースがトランジスタ68のドレインに接続される。
トランジスタ68は、ドレインがトランジスタ67のソースに接続され、ゲートが制御信号PFBitCountEnableの配線に接続され、ソースが接地される。
トランジスタ67は、ドレイン及びゲートが抵抗R1の他端に接続され、ソースがトランジスタ68のドレインに接続される。
トランジスタ68は、ドレインがトランジスタ67のソースに接続され、ゲートが制御信号PFBitCountEnableの配線に接続され、ソースが接地される。
トランジスタ67のドレイン及びゲート、及び抵抗R1の他端が、トランジスタ64aのドレイン、及びトランジスタ65aのドレインの共通接続点、トランジスタ64bのドレイン、及びトランジスタ65bのドレインの共通接続点にそれぞれ接続される。
(プログラム動作における一括判定動作)
制御回路20は、制御信号VERIFYBを「L」レベルに変化させ、共通ベリファイ判定信号線VERIFYPFを「H」レベルにプリチャージし、制御信号VERIFYBを「H」レベルに変化させる。
そして、制御回路20におけるベリファイコントローラー23は、制御信号WOREnableを「H」レベルとし、制御信号PFBitCountEnableを「L」のままとする。
ページバッファ電流制御回路21は、トランジスタ64〜トランジスタ68のうち、トランジスタ64aのみをオンさせて、制御信号PVTRを電源電圧レベルの「H」レベルとし、全てのページバッファPBのトランジスタ36をオン状態とする。
制御回路20は、制御信号VERIFYBを「L」レベルに変化させ、共通ベリファイ判定信号線VERIFYPFを「H」レベルにプリチャージし、制御信号VERIFYBを「H」レベルに変化させる。
そして、制御回路20におけるベリファイコントローラー23は、制御信号WOREnableを「H」レベルとし、制御信号PFBitCountEnableを「L」のままとする。
ページバッファ電流制御回路21は、トランジスタ64〜トランジスタ68のうち、トランジスタ64aのみをオンさせて、制御信号PVTRを電源電圧レベルの「H」レベルとし、全てのページバッファPBのトランジスタ36をオン状態とする。
このとき、ページバッファ群13の全てのページバッファPBにおける接続点N1が「L」レベルとなっている場合、全てのページバッファPBにおけるトランジスタ35がオン状態とならない。
このため、全てのページバッファPBのトランジスタ35がオフ状態である場合、共通ベリファイ判定信号線VERIFYPFが「H」レベルのままであり、データ「0」のプログラムが正常に行われたことが一括で検出できる。
このため、全てのページバッファPBのトランジスタ35がオフ状態である場合、共通ベリファイ判定信号線VERIFYPFが「H」レベルのままであり、データ「0」のプログラムが正常に行われたことが一括で検出できる。
一方、ページバッファ群13のいずれかのページバッファPBにおける接続点N1が「H」レベルとなっている場合、この「H」レベルである接続点N1のページバッファPBにおけるトランジスタ35がオン状態となる。
このため、ページバッファ群13のいずれかのページバッファPBのトランジスタ35がオン状態となった場合、共通ベリファイ判定信号線VERIFYPFが「H」レベルから「L」レベルに変化し、不揮発性メモリセルへのプログラムが正常に行わないことが検出される。
上述した動作は、ロウデコーダ14が選択ワード線を変えながら、各ブロックにおいても同様に行われる。
このため、ページバッファ群13のいずれかのページバッファPBのトランジスタ35がオン状態となった場合、共通ベリファイ判定信号線VERIFYPFが「H」レベルから「L」レベルに変化し、不揮発性メモリセルへのプログラムが正常に行わないことが検出される。
上述した動作は、ロウデコーダ14が選択ワード線を変えながら、各ブロックにおいても同様に行われる。
(プログラム動作におけるビット数判定動作)
制御回路20は、ビット数判定用電流検出回路22を活性化する。そして、制御回路20におけるベリファイコントローラー23は、制御信号WOREnableを「L」レベルのままとし、制御信号PFBitCountEnableを「H」とする。
ページバッファ電流制御回路21は、トランジスタ64〜トランジスタ68のうち、トランジスタ66〜トランジスタ68をオンさせて、抵抗R1に定電流Idisを流す。
制御回路20は、ビット数判定用電流検出回路22を活性化する。そして、制御回路20におけるベリファイコントローラー23は、制御信号WOREnableを「L」レベルのままとし、制御信号PFBitCountEnableを「H」とする。
ページバッファ電流制御回路21は、トランジスタ64〜トランジスタ68のうち、トランジスタ66〜トランジスタ68をオンさせて、抵抗R1に定電流Idisを流す。
このとき、ページバッファPBにおける接続点N1が「L」レベルとなっている場合、トランジスタ35(第1トランジスタ)がオン状態とならない。
このため、トランジスタ67とミラー接続されるトランジスタ36(第2トランジスタ)には、定電流Idisが流れない。
一方、ページバッファPBにおける接続点N1が「H」レベルとなっている場合、トランジスタ35がオン状態となる。
このため、トランジスタ67とミラー接続されるトランジスタ36には、定電流Idisが流れ、共通ベリファイ判定信号線VERIFYPFに接続されるトランジスタ35にも定電流Idisが流れる。
このため、トランジスタ67とミラー接続されるトランジスタ36(第2トランジスタ)には、定電流Idisが流れない。
一方、ページバッファPBにおける接続点N1が「H」レベルとなっている場合、トランジスタ35がオン状態となる。
このため、トランジスタ67とミラー接続されるトランジスタ36には、定電流Idisが流れ、共通ベリファイ判定信号線VERIFYPFに接続されるトランジスタ35にも定電流Idisが流れる。
ここで、接続点N1が「H」レベルとは、ラッチLTの状態がフェイル状態であり、「0」データを書き込むべき選択メモリセルに「0」データが書き込まれなかったことを示すので、1ページのうちNビットの不揮発性メモリセルに「0」データが書き込まれなかった場合、トランジスタ67とカレントミラー接続されるN個のトランジスタ36各々に定電流Idisが流れ、共通ベリファイ判定信号線VERIFYPFに接続されるトランジスタ53にも定電流IdisのN倍の電流Itotal(=N×Idis)が流れる。
従って、電流Itotalを定電流Idisで除算した数(フェイルビット数)を算出すれば、プログラムベリファイにおける1ページのフェイルビット数を算出することが可能となる。
上述した動作は、ロウデコーダ14が選択ワード線を変えながら、各ブロックにおいても同様に行われる。
従って、電流Itotalを定電流Idisで除算した数(フェイルビット数)を算出すれば、プログラムベリファイにおける1ページのフェイルビット数を算出することが可能となる。
上述した動作は、ロウデコーダ14が選択ワード線を変えながら、各ブロックにおいても同様に行われる。
(イレース動作における一括判定動作)
制御回路20は、制御信号VERIFYBを「L」レベルに変化させ、共通ベリファイ判定信号線VERIFYPFを「H」レベルにプリチャージし、制御信号VERIFYBを「H」レベルに変化させる。
そして、制御回路20におけるベリファイコントローラー23は、制御信号WOREnableを「H」レベルとし、制御信号PFBitCountEnableを「L」のままとする。
ページバッファ電流制御回路21は、トランジスタ64〜トランジスタ68のうち、トランジスタ64bのみをオンさせて、制御信号EVTRを電源電圧レベルの「H」レベルとし、全てのページバッファPBのトランジスタ37をオン状態とする。
制御回路20は、制御信号VERIFYBを「L」レベルに変化させ、共通ベリファイ判定信号線VERIFYPFを「H」レベルにプリチャージし、制御信号VERIFYBを「H」レベルに変化させる。
そして、制御回路20におけるベリファイコントローラー23は、制御信号WOREnableを「H」レベルとし、制御信号PFBitCountEnableを「L」のままとする。
ページバッファ電流制御回路21は、トランジスタ64〜トランジスタ68のうち、トランジスタ64bのみをオンさせて、制御信号EVTRを電源電圧レベルの「H」レベルとし、全てのページバッファPBのトランジスタ37をオン状態とする。
このとき、ページバッファ群13の全てのページバッファPBにおける接続点N2が「L」レベルとなっている場合、全てのページバッファPBにおけるトランジスタ37がオン状態とならない。
このため、全てのページバッファPBのトランジスタ37がオフ状態である場合、共通ベリファイ判定信号線VERIFYPFが「H」レベルのままであり、データの消去が正常に行われたことが一括で検出できる。
このため、全てのページバッファPBのトランジスタ37がオフ状態である場合、共通ベリファイ判定信号線VERIFYPFが「H」レベルのままであり、データの消去が正常に行われたことが一括で検出できる。
一方、ページバッファ群13のいずれかのページバッファPBにおける接続点N2が「H」レベルとなっている場合、この「H」レベルである接続点N2のページバッファPBにおけるトランジスタ37がオン状態となる。
このため、ページバッファ群13のいずれかのページバッファPBのトランジスタ37がオン状態となった場合、共通ベリファイ判定信号線VERIFYPFが「H」レベルから「L」レベルに変化し、不揮発性メモリセルのデータ消去が正常に行わないことが検出される。
上述した動作は、ロウデコーダ14が選択ワード線を変えながら、各ブロックにおいても同様に行われる。
このため、ページバッファ群13のいずれかのページバッファPBのトランジスタ37がオン状態となった場合、共通ベリファイ判定信号線VERIFYPFが「H」レベルから「L」レベルに変化し、不揮発性メモリセルのデータ消去が正常に行わないことが検出される。
上述した動作は、ロウデコーダ14が選択ワード線を変えながら、各ブロックにおいても同様に行われる。
(イレース動作におけるビット数判定動作)
制御回路20は、ビット数判定用電流検出回路22を活性化する。そして、制御回路20におけるベリファイコントローラー23は、制御信号WOREnableを「L」レベルのままとし、制御信号PFBitCountEnableを「H」とする。
ページバッファ電流制御回路21は、トランジスタ64〜トランジスタ68のうち、トランジスタ66〜トランジスタ68をオンさせて、抵抗R1に定電流Idisを流す。
制御回路20は、ビット数判定用電流検出回路22を活性化する。そして、制御回路20におけるベリファイコントローラー23は、制御信号WOREnableを「L」レベルのままとし、制御信号PFBitCountEnableを「H」とする。
ページバッファ電流制御回路21は、トランジスタ64〜トランジスタ68のうち、トランジスタ66〜トランジスタ68をオンさせて、抵抗R1に定電流Idisを流す。
このとき、ページバッファPBにおける接続点N2が「L」レベルとなっている場合、トランジスタ37(第1トランジスタ)がオン状態とならない。
このため、トランジスタ67とカレントミラー接続されるトランジスタ38(第2トランジスタ)には、定電流Idisが流れない。
一方、ページバッファPBにおける接続点N1が「H」レベルとなっている場合、トランジスタ37がオン状態となる。
このため、トランジスタ67とカレントミラー接続されるトランジスタ38には、定電流Idisが流れ、共通ベリファイ判定信号線VERIFYPFに接続されるトランジスタ37にも定電流Idisが流れる。
このため、トランジスタ67とカレントミラー接続されるトランジスタ38(第2トランジスタ)には、定電流Idisが流れない。
一方、ページバッファPBにおける接続点N1が「H」レベルとなっている場合、トランジスタ37がオン状態となる。
このため、トランジスタ67とカレントミラー接続されるトランジスタ38には、定電流Idisが流れ、共通ベリファイ判定信号線VERIFYPFに接続されるトランジスタ37にも定電流Idisが流れる。
ここで、接続点N2が「H」レベルとは、ラッチLTの状態がフェイル状態であり、消去すべき選択メモリセルのデータが「1」データに消去されなかったことを示すので、1ページのうちNビットの不揮発性メモリセルのデータが消去されなかった場合、トランジスタ67とカレントミラー接続されるN個のトランジスタ38各々に定電流Idisが流れ、共通ベリファイ判定信号線VERIFYPFに接続されるトランジスタ53にも定電流IdisのN倍の電流Itotal(=N×Idis)が流れる。
従って、電流Itotalを定電流Idisで除算した数(フェイルビット数)を算出すれば、イレースベリファイにおける1ページのフェイルビット数を算出することが可能となる。
上述した動作は、ロウデコーダ14が選択ワード線を変えながら、各ブロックにおいても同様に行われる。
従って、電流Itotalを定電流Idisで除算した数(フェイルビット数)を算出すれば、イレースベリファイにおける1ページのフェイルビット数を算出することが可能となる。
上述した動作は、ロウデコーダ14が選択ワード線を変えながら、各ブロックにおいても同様に行われる。
次に、図5は、ビット数判定用電流検出回路22の構成を示す図である。ビット数判定用電流検出回路22は、上述したプログラムベリファイ処理及びイレースベリファイ処理においてビット数判定動作を行う場合に、共通ベリファイ判定信号線VERIFYPFに流れる電流Itotalに基づいてフェイルビット数をカウントする回路である。
ビット数判定用電流検出回路22は、電流比較回路70、定電流発生回路77、電流制御用カウンタ78、ビット数保持ラッチ79、及びマルチプレクサ80を含んで構成される。
ビット数判定用電流検出回路22は、電流比較回路70、定電流発生回路77、電流制御用カウンタ78、ビット数保持ラッチ79、及びマルチプレクサ80を含んで構成される。
電流比較回路70は、トランジスタ71〜トランジスタ73、インバータ回路74〜インバータ回路76を含んで構成される。ここで、トランジスタ71〜トランジスタ73は、Pチャネル型MOSトランジスタである。
トランジスタ71は、ソースが電源配線に接続され、ゲートがインバータ回路74の出力に接続され、ドレインがトランジスタ72のソース、及びトランジスタ73のソースに共通に接続される。
トランジスタ72は、ソースがトランジスタ71のドレインに接続され、ゲート及びドレインが共通ベリファイ判定信号線VERIFYPFに接続される。
トランジスタ73は、ソースがトランジスタ71のドレインに接続され、ゲートがトランジスタ72のゲートに接続され、ドレインが定電流発生回路77の出力に接続される。
ここで、トランジスタ72とトランジスタ73は同一サイズに設定されている。
インバータ回路74の入力は、制御信号COMPAREENの配線に接続され、出力がトランジスタ71のゲートに接続される。
インバータ回路75の入力は、トランジスタ73のドレイン、及び定電流発生回路77の出力に接続され、出力がインバータ回路76の入力に接続される。
インバータ回路76の入力は、インバータ回路75の出力に接続され、出力が比較結果信号COMPAREOUTの配線に接続される。
トランジスタ71は、ソースが電源配線に接続され、ゲートがインバータ回路74の出力に接続され、ドレインがトランジスタ72のソース、及びトランジスタ73のソースに共通に接続される。
トランジスタ72は、ソースがトランジスタ71のドレインに接続され、ゲート及びドレインが共通ベリファイ判定信号線VERIFYPFに接続される。
トランジスタ73は、ソースがトランジスタ71のドレインに接続され、ゲートがトランジスタ72のゲートに接続され、ドレインが定電流発生回路77の出力に接続される。
ここで、トランジスタ72とトランジスタ73は同一サイズに設定されている。
インバータ回路74の入力は、制御信号COMPAREENの配線に接続され、出力がトランジスタ71のゲートに接続される。
インバータ回路75の入力は、トランジスタ73のドレイン、及び定電流発生回路77の出力に接続され、出力がインバータ回路76の入力に接続される。
インバータ回路76の入力は、インバータ回路75の出力に接続され、出力が比較結果信号COMPAREOUTの配線に接続される。
ビット数判定動作を行う場合、制御回路20におけるベリファイコントローラー23が制御信号COMPAREENを「L」レベルから「H」レベルへ変化させる。これにより、トランジスタ71がオン状態となり、トランジスタ72とミラー接続されたトランジスタ73にはトランジスタ72に流れる電流と同じ電流が流れる。このとき、まだ基準電流Irefは流れていないので、トランジスタ73に流れる電流により、トランジスタ73のドレインの電位は当初「H」レベルに維持される。このため、電流比較回路70の出力である比較結果信号COMPAREOUTは、「H」レベルとなっている。
その後、ビット数判定動作において、定電流発生回路77が発生する基準電流Irefが増加し、基準電流Irefがトランジスタ73に流れる電流、すなわちトランジスタ72に流れる電流Itotalを超えると、トランジスタ73のドレインの電位が「L」レベルへと変化する。
その後、ビット数判定動作において、定電流発生回路77が発生する基準電流Irefが増加し、基準電流Irefがトランジスタ73に流れる電流、すなわちトランジスタ72に流れる電流Itotalを超えると、トランジスタ73のドレインの電位が「L」レベルへと変化する。
以上の構成により、電流比較回路70は、ベリファイコントローラー23が制御信号COMPAREENを「H」レベルにすると、共通ベリファイ判定信号線VERIFYPFに流れる電流Itotalと、定電流発生回路77が流す基準電流Irefとを比較し、電流Itotalが基準電流Irefより低くなると、比較結果信号COMPAREOUTを「H」レベルから「L」レベルへと変化させる。
定電流発生回路77は、ビット数判定動作前に行う事前ビット数カウント動作(後述)において、電流制御用カウンタ78が出力するカウント信号COUNTOUT<n:0>がカウント信号IREFCNT<n:0>として入力され、このカウント信号IREFCNT<n:0>に応じて、定電流Idisの整数倍の基準電流Irefを階段状に発生する。なお、定電流Idisの電流値は、誤差を含むものであるが、その誤差は、定電流Idisの電流値をページバッファPBの個数で除した電流値に対して十分少ない。つまり、カウンタ信号が1ビット変化したときの基準電流Irefの電流変化量は、定電流Idisの電流値の誤差に対して、十分な余裕(マージン)を持っている。
また、定電流発生回路77は、ビット数判定動作において、ビット数保持ラッチ79が
出力するカウント信号PFBITNUMBER<n:0>(事前ビット数カウント動作において得られたカウント信号COUNTOUT<n:0>)がカウント信号IREFCNT<n:0>として入力され、このカウント信号IREFCNT<n:0>に応じて、基準電流Irefを発生する。このとき、定電流発生回路77は、事前ビット数カウント動作において得られたカウント信号COUNTOUT<n:0>に対応する基準電流を基準電流Iref0とすると、例えば、0.5×Iref0の関係を有する基準電流Irefを発生する。
出力するカウント信号PFBITNUMBER<n:0>(事前ビット数カウント動作において得られたカウント信号COUNTOUT<n:0>)がカウント信号IREFCNT<n:0>として入力され、このカウント信号IREFCNT<n:0>に応じて、基準電流Irefを発生する。このとき、定電流発生回路77は、事前ビット数カウント動作において得られたカウント信号COUNTOUT<n:0>に対応する基準電流を基準電流Iref0とすると、例えば、0.5×Iref0の関係を有する基準電流Irefを発生する。
電流制御用カウンタ78は、事前ビット数カウント動作において、ベリファイコントローラー23が制御信号COUNTENを例えば「L」レベルから「H」レベルとすると、カントアップ動作を開始し、最小値0から最大値Nmaxまでカウントアップされたカウント信号IREFCNT<n:0>をマルチプレクサ80、及びビット数保持ラッチ79に対して出力する。ここで、最大値Nmaxを、ページバッファ群13におけるページバッファPBの個数とすることで、全てのラッチLTのフェイル状態を検出することができる。
ビット数保持ラッチ79は、事前ビット数カウント動作において入力されるカウント信号COUNTOUT<n:0>を保持する。事前ビット数カウント動作の終了後において、ベリファイコントローラー23は、入力される比較結果信号COMPAREOUTが「H」レベルから「L」レベルへ変化すると、制御信号LATCHENを例えば「L」レベルから「H」レベルとする。これにより、ビット数保持ラッチ79は、このときのカウント信号COUNTOUT<n:0>をラッチし、カウント信号PFBITNUMBER<n:0>としてマルチプレクサ80に対して出力する。もちろん、このカウント信号PFBITNUMBER<n:0>を、入出力回路17を介して不揮発性半導体記憶装置10の外部へ出力してもよい。
マルチプレクサ80は、事前ビット数カウント動作において、入力を電流制御用カウンタ78の出力に、事前ビット数カウント動作の終了後には入力をビット数保持ラッチ79の出力に切り替えて、それぞれをカウント信号IREFCNT<n:0>として定電流発生回路77に対して出力する。
次に、図6は、ビット数判定用電流検出回路22の動作を示す図である。図6は、事前ビット数カウントにおけるビット数判定用電流検出回路22の動作を示している。
事前ビット数カウント動作とは、プログラムベリファイ処理では、上述のデータ転送動作の結果、ラッチLTに書き込まれるデータに基づいて行うフェイル数のカウント動作をいう。つまり、ラッチLTのフェイル状態(接続点N1が「H」レベル、接続点N2が「L」レベル)であって、データ「0」を書き込むべき不揮発性メモリセルの個数を、フェイルビット数の初期値としてカウントすることをいう。
また、事前ビット数カウント動作とは、イレースベリファイ処理では、一回消去動作を行った後に、ラッチLTに書き込まれるデータに基づいて行うフェイル数のカウント動作をいう。つまり、ラッチLTのフェイル状態(接続点N1が「L」レベル、接続点N2が「H」レベル)であって、消去されずデータ「0」を保持する不揮発性メモリセルの個数を、フェイルビット数の初期値としてカウントすることをいう。
事前ビット数カウント動作とは、プログラムベリファイ処理では、上述のデータ転送動作の結果、ラッチLTに書き込まれるデータに基づいて行うフェイル数のカウント動作をいう。つまり、ラッチLTのフェイル状態(接続点N1が「H」レベル、接続点N2が「L」レベル)であって、データ「0」を書き込むべき不揮発性メモリセルの個数を、フェイルビット数の初期値としてカウントすることをいう。
また、事前ビット数カウント動作とは、イレースベリファイ処理では、一回消去動作を行った後に、ラッチLTに書き込まれるデータに基づいて行うフェイル数のカウント動作をいう。つまり、ラッチLTのフェイル状態(接続点N1が「L」レベル、接続点N2が「H」レベル)であって、消去されずデータ「0」を保持する不揮発性メモリセルの個数を、フェイルビット数の初期値としてカウントすることをいう。
ここでは、プログラムベリファイ処理における事前ビット数カウント動作について説明する。書き込みデータ転送後のラッチLTのフェイル状態の個数の整数倍の電流Itotalが共通ベリファイ判定信号線VERIFYPFに流れる。
電流制御用カウンタ78は、最小値0から最大値Nmaxまでカウントアップされたカウント信号COUNTOUT<n:0>を、マルチプレクサ80を介して、定電流発生回路77に対して出力する。ここで、最大値Nmaxは、ページバッファ群13におけるページバッファPBの総個数である。
定電流発生回路77は、入力されるカウント信号COUNTOUT<n:0>に応じて、定電流Idisに最小値0から最大値Nmaxに対応する整数を乗じた基準電流Irefを、図6に示すように階段状に発生する。
電流制御用カウンタ78は、最小値0から最大値Nmaxまでカウントアップされたカウント信号COUNTOUT<n:0>を、マルチプレクサ80を介して、定電流発生回路77に対して出力する。ここで、最大値Nmaxは、ページバッファ群13におけるページバッファPBの総個数である。
定電流発生回路77は、入力されるカウント信号COUNTOUT<n:0>に応じて、定電流Idisに最小値0から最大値Nmaxに対応する整数を乗じた基準電流Irefを、図6に示すように階段状に発生する。
電流比較回路70は、共通ベリファイ判定信号線VERIFYPFに流れる電流Itotalと、基準電流Irefとを比較し、基準電流Irefが電流Itotalを超えると、比較結果信号COMPAREOUTを「H」レベルから「L」レベルへと変化させる。
ベリファイコントローラー23は、比較結果信号COMPAREOUTが「H」レベルから「L」レベルへと変化すると、制御信号LATCHENを「L」レベルから「H」レベルへと変化させる。
ビット数保持ラッチ79は、制御信号LATCHENが「L」レベルから「H」レベルへ変化すると、そのとき電流制御用カウンタ78が出力するカウント信号COUNTOUT<n:0>をラッチしてカウント信号PFBITNUMBER<n:0>を、マルチプレクサ80に対して出力する。
ベリファイコントローラー23は、比較結果信号COMPAREOUTが「H」レベルから「L」レベルへと変化すると、制御信号LATCHENを「L」レベルから「H」レベルへと変化させる。
ビット数保持ラッチ79は、制御信号LATCHENが「L」レベルから「H」レベルへ変化すると、そのとき電流制御用カウンタ78が出力するカウント信号COUNTOUT<n:0>をラッチしてカウント信号PFBITNUMBER<n:0>を、マルチプレクサ80に対して出力する。
このように、本発明によれば、ページバッファPBに対して専用トランジスタを追加する必要なく、一括判定に用いるトランジスタ35(第1トランジスタ)及びトランジスタ36(第2トランジスタ)、或いはトランジスタ37及びトランジスタ38を用いて、従来通り容易に、フェイルビット数を検出することが可能となる。このため、フェイルビット数をカウントする機能を持ちつつ、チップサイズの増大を招くことはなく、従来例に比べ、チップコストを削減することが可能となる。
続いて、本発明の他の一つの特徴であるベリファイ処理(プログラムベリファイ、イレースベリファイ)におけるパスビット数の変化の検出について説明する。
図7は、プログラム動作における処理のフロー、及びイレース動作における処理のフローを示す。なお、ここでは、図7(a)及び図8を用いてプログラム動作における処理について説明する。図8は、ビット数判定動作における電流Itotalの変化を示す図である。
まず、書き込みデータ転送動作を行い、データ「0」を書き込むべき不揮発性メモリセルがビット線BLを介して接続されるページバッファPBのラッチLTの状態を、フェイル状態に設定する。ページバッファ群13のページバッファPBのラッチLTの状態は、接続点N1が「L」レベル、接続点N2が「H」レベルと、フェイル状態となる(ステップS71)。
図7は、プログラム動作における処理のフロー、及びイレース動作における処理のフローを示す。なお、ここでは、図7(a)及び図8を用いてプログラム動作における処理について説明する。図8は、ビット数判定動作における電流Itotalの変化を示す図である。
まず、書き込みデータ転送動作を行い、データ「0」を書き込むべき不揮発性メモリセルがビット線BLを介して接続されるページバッファPBのラッチLTの状態を、フェイル状態に設定する。ページバッファ群13のページバッファPBのラッチLTの状態は、接続点N1が「L」レベル、接続点N2が「H」レベルと、フェイル状態となる(ステップS71)。
制御回路20におけるベリファイコントローラー23が、制御信号WOREnableを「L」レベルのままとし、制御信号PFBitCountEnableを「H」とする。
これにより、共通ベリファイ判定信号線VERIFYPFに、定電流IdisにラッチLTのフェイル状態の個数(Nとする)を乗じた電流Itotal(=N×Idis)が流れる。
定電流発生回路77は、入力されるカウント信号COUNTOUT<n:0>に応じて、定電流Idisに整数を乗じた基準電流Irefを階段状に発生する。電流比較回路70は、共通ベリファイ判定信号線VERIFYPFに流れる電流Itotalと、基準電流Irefとを比較し、基準電流Irefが電流Itotalを超えると、比較結果信号COMPAREOUTを「H」レベルから「L」レベルへと変化させる。
これにより、共通ベリファイ判定信号線VERIFYPFに、定電流IdisにラッチLTのフェイル状態の個数(Nとする)を乗じた電流Itotal(=N×Idis)が流れる。
定電流発生回路77は、入力されるカウント信号COUNTOUT<n:0>に応じて、定電流Idisに整数を乗じた基準電流Irefを階段状に発生する。電流比較回路70は、共通ベリファイ判定信号線VERIFYPFに流れる電流Itotalと、基準電流Irefとを比較し、基準電流Irefが電流Itotalを超えると、比較結果信号COMPAREOUTを「H」レベルから「L」レベルへと変化させる。
ビット数保持ラッチ79は、制御信号LATCHENが「L」レベルから「H」レベルへと変化することにより、電流制御用カウンタ78が出力するカウント信号COUNTOUT<n:0>、つまりNをラッチする。そして、ビット数保持ラッチ79は、カウント信号PFBITNUMBER<n:0>を、マルチプレクサ80に対して出力する(ステップS71)。
このように、ビット数判定用電流検出回路22では、フェイル数の初期値がカウントされる。
このように、ビット数判定用電流検出回路22では、フェイル数の初期値がカウントされる。
例えば、1ページに接続される不揮発性メモリセルが4kビットであって、データ「0」を書き込むべきセルが4kビットである場合、電流Itotalは定電流Idis×4kとなり、電流制御用カウンタ78が出力するカウント信号PFBITNUMBER<n:0>は4kとなる。
或いは、1ページに接続される不揮発性メモリセルが4kビットであって、データ「0」を書き込むべきセルが2kビットである場合、電流Itotalは定電流Idis×2kとなり、電流制御用カウンタ78が出力するカウント信号PFBITNUMBER<n:0>は2kとなる。
或いは、1ページに接続される不揮発性メモリセルが4kビットであって、データ「0」を書き込むべきセルが2kビットである場合、電流Itotalは定電流Idis×2kとなり、電流制御用カウンタ78が出力するカウント信号PFBITNUMBER<n:0>は2kとなる。
事前ビット数カウント動作が終了すると、マルチプレクサ80の入力が切り替わる。これにより、定電流発生回路77は、カウント信号IREFCNT<n:0>としてビット数保持ラッチ79から入力されるカウント信号PFBITNUMBER<n:0>に応じて、例えば電流Itotal(Iref0とする)の半分の基準電流Iref(=Iref0×1/2)を発生する。
次に、ページバッファ群13の各ページバッファPBにおいて、不揮発性メモリセルへのプログラム動作が、ラッチLTに書き込まれた状態に基づいて実行される(ステップS73)。
続いて、書き込まれたデータについての検証(ベリファイ)が行われる(ステップS71)。ページバッファ群13の各ページバッファPBにおいて、データ「0」を書き込むべきセルであってデータ「0」が書き込まれなかったセルに接続されるラッチLTの状態は、フェイル状態(接続点N1が「H」レベル、接続点N2が「L」レベル)を維持する。一方、データ「0」が正しく書き込まれたセルに接続されるラッチLTの状態は、パス状態(接続点N1が「L」レベル、接続点N2が「H」レベル)へと変化する。
続いて、書き込まれたデータについての検証(ベリファイ)が行われる(ステップS71)。ページバッファ群13の各ページバッファPBにおいて、データ「0」を書き込むべきセルであってデータ「0」が書き込まれなかったセルに接続されるラッチLTの状態は、フェイル状態(接続点N1が「H」レベル、接続点N2が「L」レベル)を維持する。一方、データ「0」が正しく書き込まれたセルに接続されるラッチLTの状態は、パス状態(接続点N1が「L」レベル、接続点N2が「H」レベル)へと変化する。
ビット数判定用電流検出回路22では、ビット数判定動作が実行される(ステップS75)。
つまり、ステップS74において正しく「0」データが書き込まれたセル(パスビット)が増えるにつれて、共通ベリファイ判定信号線VERIFYPFに流れる電流Itotalは、図8(a)、及び図8(b)に示すように、事前ビット数カウントの際流れた電流Itotal、すなわち、基準電流Irefに対して階段状に減少していく。
つまり、ステップS74において正しく「0」データが書き込まれたセル(パスビット)が増えるにつれて、共通ベリファイ判定信号線VERIFYPFに流れる電流Itotalは、図8(a)、及び図8(b)に示すように、事前ビット数カウントの際流れた電流Itotal、すなわち、基準電流Irefに対して階段状に減少していく。
また、ビット数判定用電流検出回路22では、ビット数判定動作において、基準電流Irefが共通ベリファイ判定信号線VERIFYPFに流れる電流Itotalを超えるか否かが判定される(ステップS76)。
ビット数判定用電流検出回路22における電流比較回路70は、基準電流Iref(=Iref×1/2)が電流Itotalを超えると、比較結果信号COMPAREOUTを「H」レベルから「L」レベルへと変化させる。ベリファイコントローラー23は、ベリファイ動作がパスしたので、プログラム動作を終了する(ステップS76−Pass)。
一方、基準電流Irefが電流Itotalを超えない場合、図8(a)に示すように上記ステップS73〜ステップS75(プログラムループ)を,ベリファイ動作がパスするまで繰り返す(ステップS76−No)。
ビット数判定用電流検出回路22における電流比較回路70は、基準電流Iref(=Iref×1/2)が電流Itotalを超えると、比較結果信号COMPAREOUTを「H」レベルから「L」レベルへと変化させる。ベリファイコントローラー23は、ベリファイ動作がパスしたので、プログラム動作を終了する(ステップS76−Pass)。
一方、基準電流Irefが電流Itotalを超えない場合、図8(a)に示すように上記ステップS73〜ステップS75(プログラムループ)を,ベリファイ動作がパスするまで繰り返す(ステップS76−No)。
つまり、プログラム動作では、1ページに接続される不揮発性メモリセルが4kビットであって、データ「0」を書き込むべきセルが4kビットである場合、図8(a)に示すように、2kビットがパスするまでのプログラムループ数を検出できる。また、1ページに接続される不揮発性メモリセルが4kビットであって、データ「0」を書き込むべきセルが2kビットである場合、図8(b)に示すように、2kビットがパスするまでのプログラムループ数を検出できる。
このように、本実施形態では、パスビット数が1/2になるまでのプログラムループの回数が検出できるので、パスビット数の変化を検出できる。例えば、プログラム時間は、不揮発性メモリセルの劣化により一般的に短くなる傾向を持つが、本実施形態によれば、パスビット数が一定の割合(この場合1/2)になるまでの時間を検出できる。これにより、例えばパスビット数が一定の割合になるまでの時間が短くなっている場合、プログラム時の選択ワード線の電圧を下げる等の調整を行う。この結果、不揮発性メモリセルへのプログラムストレスを低減してメモリセルの劣化を防ぐことができ、不揮発性半導体装置の信頼性を向上することができる。
また、上述した実施形態はプログラム時の例であるが、イレース動作においても同様にパスビット数の遷移を検出することができる。
図7(b)は、イレース動作における処理のフローを示す。イレース動作はプログラム動作と相違し、書き込みデータ転送(ステップS71)がないため、事前ビット数カウント(ステップS82)の前に、ベリファイ動作(ステップS81)を行なう必要がある。すなわち、1回のイレースベリファイ動作の後にフェイル数をカウントし、これをビット数保持ラッチ79にラッチする(ステップS82)。その後、イレース動作(ステップS83)、ベリファイ動作(ステップS84)、ビット数判定動作(ステップS85)、及びベリファイパス判定(ステップS86)からなるイレースループを繰り返し、パスビット数の遷移を検出する。
図7(b)は、イレース動作における処理のフローを示す。イレース動作はプログラム動作と相違し、書き込みデータ転送(ステップS71)がないため、事前ビット数カウント(ステップS82)の前に、ベリファイ動作(ステップS81)を行なう必要がある。すなわち、1回のイレースベリファイ動作の後にフェイル数をカウントし、これをビット数保持ラッチ79にラッチする(ステップS82)。その後、イレース動作(ステップS83)、ベリファイ動作(ステップS84)、ビット数判定動作(ステップS85)、及びベリファイパス判定(ステップS86)からなるイレースループを繰り返し、パスビット数の遷移を検出する。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
例えば、ビット数判定用電流検出回路22を、図9に示す構成とすることができる。
図9は、ビット数判定用電流検出回路22aの構成を示す図である。図9において、図5と同一の部分には同一の符号を付し、その説明を省略する。
上記実施形態の説明において、ビット数判定用電流検出回路22では、プログラムすべきセルの1/2のセルがパスしたということを判定した例について説明したが、ビット数保持ラッチ79の出力に図9に示すように演算回路81を接続する。これにより、ビット数判定時において、判定したいパスビット数を直接制御することも可能である。
例えば、100ビットパスしたことを検出したい場合、ビット数判定動作時に、演算回路81が、IREFCNT=PFBITNUMBER−100となる減算を行うことにより、プログラム開始後、100ビットパスした時点を検出することが可能である。
このように、ビット数判定用電流検出回路22aは、ビット数保持ラッチ79にラッチされた電流制御カウンタの出力から、予め設定されたパスビット数を減算する演算回路81を備え、基準電流発生回路(定電流発生回路77)は、演算回路81の減算結果に応じて基準電流Irefを発生する。
例えば、ビット数判定用電流検出回路22を、図9に示す構成とすることができる。
図9は、ビット数判定用電流検出回路22aの構成を示す図である。図9において、図5と同一の部分には同一の符号を付し、その説明を省略する。
上記実施形態の説明において、ビット数判定用電流検出回路22では、プログラムすべきセルの1/2のセルがパスしたということを判定した例について説明したが、ビット数保持ラッチ79の出力に図9に示すように演算回路81を接続する。これにより、ビット数判定時において、判定したいパスビット数を直接制御することも可能である。
例えば、100ビットパスしたことを検出したい場合、ビット数判定動作時に、演算回路81が、IREFCNT=PFBITNUMBER−100となる減算を行うことにより、プログラム開始後、100ビットパスした時点を検出することが可能である。
このように、ビット数判定用電流検出回路22aは、ビット数保持ラッチ79にラッチされた電流制御カウンタの出力から、予め設定されたパスビット数を減算する演算回路81を備え、基準電流発生回路(定電流発生回路77)は、演算回路81の減算結果に応じて基準電流Irefを発生する。
また、ビット数判定用電流検出回路22を、図10に示す構成とすることができる。
図10は、ビット数判定用電流検出回路22bの構成を示す図である。図10において、図5と同一の部分には同一の符号を付し、その説明を省略する。
図10に示すビット数判定用電流検出回路22bでは、定電流発生回路77〜マルチプレクサ80のビット数カウント時における動作は、図5に示すビット数判定用電流検出回路22の動作と同じである。図10に示すビット数判定用電流検出回路22bでは、電流比較回路70a内のカレントミラーの比を変更した場合の一例を示している。
電流比較回路70aにおいて、トランジスタ92はトランジスタ73と同じくトランジスタ72にミラー接続される。
上記実施形態では、ビット数判定時において基準電流Iref(=Iref0×1/2)で判定していたが、本構成では定電流発生回路77が発生する基準電流が基準電流Iref0そのものであってよい。
図10は、ビット数判定用電流検出回路22bの構成を示す図である。図10において、図5と同一の部分には同一の符号を付し、その説明を省略する。
図10に示すビット数判定用電流検出回路22bでは、定電流発生回路77〜マルチプレクサ80のビット数カウント時における動作は、図5に示すビット数判定用電流検出回路22の動作と同じである。図10に示すビット数判定用電流検出回路22bでは、電流比較回路70a内のカレントミラーの比を変更した場合の一例を示している。
電流比較回路70aにおいて、トランジスタ92はトランジスタ73と同じくトランジスタ72にミラー接続される。
上記実施形態では、ビット数判定時において基準電流Iref(=Iref0×1/2)で判定していたが、本構成では定電流発生回路77が発生する基準電流が基準電流Iref0そのものであってよい。
例えば、トランジスタ73とトランジスタ92とを同一のサイズにすれば、共通ベリファイ判定信号線VERIFYPFに流れる電流Itotalの2倍の電流がトランジスタ73及びトランジスタ92(Pチャネル型MOSトランジスタ)に流れる。そのため、定電流発生回路77が発生する基準電流を半分にせずとも、プログラムすべきセルの1/2のセルがパスしたということを判定できる。なお、図10において示す制御信号MAJORCHKは、制御信号COMPAREENと同様に、ベリファイコントローラー23が出力する構成としてよい。ベリファイコントローラー23が、ビット数判定時において制御信号MAJORCHKを「L」レベルから「H」レベルへ変化させれば、ナンド回路93によりトランジスタ91(Pチャネル型MOSトランジスタ)がオンし、トランジスタ92にはトランジスタ73と同じドイレン電流が流れ、プログラムすべきセルの1/2のセルがパスしたということを判定できる。
このように、ビット数判定用電流検出回路22bは、定電流発生回路77(基準電流発生回路)と電流比較回路70aとを備える。定電流発生回路77は、ビット数保持ラッチ79にラッチされた電流制御用カウンタ78の出力に対応する基準電流Iref0に、フェイル状態の個数に対するパスビットの比率を示す、予め設定された1/m(m≧1)を乗じた基準電流Irefを発生する。また、電流比較回路70aは、共通ベリファイ判定信号線VERIFYPFに流れる電流のn(n≧1)倍の電流を発生する回路であって、n倍後の電流と基準電流Irefとを比較する。
なお、図5に示すビット数判定用電流検出回路22では、n=1、m=2の場合であり、ビット数判定用電流検出回路22bでは、n=2、m=1の場合である。
ビット数判定用電流検出回路22bでは、定電流発生回路77が基準電流Iref0の(1/m)の電流を発生する必要がなく、定電流発生回路77の回路構成を簡易化することができる。
このように、ビット数判定用電流検出回路22bは、定電流発生回路77(基準電流発生回路)と電流比較回路70aとを備える。定電流発生回路77は、ビット数保持ラッチ79にラッチされた電流制御用カウンタ78の出力に対応する基準電流Iref0に、フェイル状態の個数に対するパスビットの比率を示す、予め設定された1/m(m≧1)を乗じた基準電流Irefを発生する。また、電流比較回路70aは、共通ベリファイ判定信号線VERIFYPFに流れる電流のn(n≧1)倍の電流を発生する回路であって、n倍後の電流と基準電流Irefとを比較する。
なお、図5に示すビット数判定用電流検出回路22では、n=1、m=2の場合であり、ビット数判定用電流検出回路22bでは、n=2、m=1の場合である。
ビット数判定用電流検出回路22bでは、定電流発生回路77が基準電流Iref0の(1/m)の電流を発生する必要がなく、定電流発生回路77の回路構成を簡易化することができる。
10…不揮発性半導体記憶装置、11…メモリセルアレイ、13…ページバッファ群、14…ロウデコーダ、15…カラムデコーダ、16…電圧生成回路、17…入出力回路、18…コマンドレジスタ、19…アドレスレジスタ、20…制御回路、21…ページバッファ電流制御回路、22,22a,22b…ビット数判定用電流検出回路、70,70a…電流比較回路、77…定電流発生回路、78…電流制御用カウンタ、79…ビット数保持ラッチ、80…マルチプレクサ、81…演算回路、VERIFYPF…共通ベリファイ判定信号線、WOREnable,PFBitCountEnable,COMPAREEN,COUNTEN,LATCHEN,PVTR,EVTR,PLOAD,BLSLT,PDIS,PBRST,PPGM,PBLCH,VERIFYB,BUSPC,MAJORCHK…制御信号、COMPAREOUT…比較結果信号、PFBITNUMBER,COUNTOUT,IREFCNT…カウント信号、DYR,DYW…カラムアドレス、PB…ページバッファ、LT…ラッチ、31,32,33,34,35,36,37,38,39,40,41,42,43,44,53,54,64,64a,64b,65,65a,65b,66,67,68,71,72,73,91,92…トランジスタ、R1…抵抗、N1,N2,SO…接続点、27…チャージ回路、DINBUS…書込線、DOUTBUS…読出線、IV1,IV2,63,74,75,76…インバータ回路、61,93…ナンド回路、62…ノア回路、BL…ビット線、Iref,Iref0…基準電流、Itotal…電流、Idis…定電流、23…ベリファイコントローラー
Claims (6)
- 複数のビット線と複数のワード線との各々が交差し、交差した部分に不揮発性のメモリセルが配置されたメモリセルアレイと、
前記ビット線毎に設けられ、前記ワード線により選択された当該メモリセルに書き込むデータまたは前記メモリセルから読み出したデータを記憶するラッチを含むページバッファと、
ベリファイ処理において、前記ページバッファの前記ラッチに書き込まれたデータが読み出される一括判定信号線と、
前記ページバッファにおける前記ラッチの出力に接続される第1トランジスタと直列に接続される第2トランジスタを制御して、当該第2トランジスタを介して前記ラッチの出力に応じて前記一括判定信号線に単位電流を流すページバッファ電流制御回路と、
前記ベリファイ処理において、前記一括判定信号線に流れる電流を前記単位電流で除算して、前記ページバッファに接続される前記ビット線に前記メモリセルから読み出したデータのフェイル状態の個数を検出するビット数判定用電流検出回路と、
を備えることを特徴とする不揮発性半導体記憶装置。 - 前記ビット数判定用電流検出回路は、
前記ベリファイ処理においてカウントアップ動作を行う電流制御カウンタと、
前記電流制御カウンタの出力に応じて、前記単位電流の整数倍の基準電流を発生する基準電流発生回路と、
前記一括判定信号線に流れる電流と前記基準電流とを比較して、前記一括判定信号線に流れる電流が前記基準電流を超えると、出力である比較結果信号を活性レベルへ変化させる電流比較回路と、
前記比較結果信号が活性レベルになると、前記電流制御カウンタの出力をラッチするビット数保持ラッチと、
を有することを特徴とする請求項1に記載の不揮発性半導体記憶装置。 - 前記ベリファイ処理がプログラムベリファイ処理の場合、
前記ビット数ラッチは、前記ページバッファにおける前記ラッチに最初に書き込まれたデータに基づいて、前記電流制御カウンタの出力をラッチし、
前記基準電流発生回路は、前記ビット数保持ラッチにラッチされた前記電流制御カウンタの出力に応じて、前記基準電流を発生し、
前記電流比較回路は、前記比較結果信号を活性レベルへ変化させる、
ことを特徴とする請求項2記載の不揮発性半導体記憶装置。 - 前記ベリファイ処理がイレースベリファイ処理の場合、
前記ビット数ラッチは、前記ページバッファにおける前記ラッチの一回目のベリファイ結果に基づいて、前記電流制御カウンタの出力をラッチし、
前記基準電流発生回路は、前記ビット数保持ラッチにラッチされた前記電流制御カウンタの出力に応じて、前記基準電流を発生し、
前記電流比較回路は、前記比較結果信号を活性レベルへ変化させる、
ことを特徴とする請求項2記載の不揮発性半導体記憶装置。 - 前記ビット数保持ラッチにラッチされた前記電流制御カウンタの出力から、予め設定されたパスビット数を減算する演算回路を備え、
前記基準電流発生回路は、前記演算回路の減算結果に応じて前記基準電流を発生する、
ことを特徴とする請求項3または請求項4いずれか一項に記載の不揮発性半導体記憶装置。 - 前記基準電流発生回路は、前記ビット数保持ラッチにラッチされた前記電流制御カウンタの出力に対応する基準電流に、前記フェイル状態の個数に対するパスビットの比率を示す、予め設定された1/m(m≧1)を乗じた前記基準電流を発生し、
前記電流比較回路は、前記一括判定信号線に流れる電流のn(n≧1)倍の電流を発生する回路であって、n倍後の電流と前記基準電流とを比較する、
ことを特徴とする請求項3または請求項4いずれか一項に記載の不揮発性半導体記憶装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011276414A JP2013127827A (ja) | 2011-12-16 | 2011-12-16 | 不揮発性半導体記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011276414A JP2013127827A (ja) | 2011-12-16 | 2011-12-16 | 不揮発性半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013127827A true JP2013127827A (ja) | 2013-06-27 |
Family
ID=48778269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011276414A Pending JP2013127827A (ja) | 2011-12-16 | 2011-12-16 | 不揮発性半導体記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013127827A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5909294B1 (ja) * | 2015-03-11 | 2016-04-26 | 力晶科技股▲ふん▼有限公司 | 不揮発性記憶装置のための書き込み回路及び方法、並びに不揮発性記憶装置 |
JP2017142870A (ja) * | 2016-02-09 | 2017-08-17 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
WO2024119613A1 (zh) * | 2022-12-07 | 2024-06-13 | 长江存储科技有限责任公司 | 存储器及其控制方法、存储器系统 |
-
2011
- 2011-12-16 JP JP2011276414A patent/JP2013127827A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5909294B1 (ja) * | 2015-03-11 | 2016-04-26 | 力晶科技股▲ふん▼有限公司 | 不揮発性記憶装置のための書き込み回路及び方法、並びに不揮発性記憶装置 |
US9530507B2 (en) | 2015-03-11 | 2016-12-27 | Powerchip Technology Corporation | Non-volatile memory apparatus and writing circuit and method for non-volatile memory apparatus |
TWI585768B (zh) * | 2015-03-11 | 2017-06-01 | 力晶科技股份有限公司 | 非揮發性記憶裝置與用於非揮發性記憶裝置的寫入電路及方法 |
JP2017142870A (ja) * | 2016-02-09 | 2017-08-17 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
WO2024119613A1 (zh) * | 2022-12-07 | 2024-06-13 | 长江存储科技有限责任公司 | 存储器及其控制方法、存储器系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100609669B1 (ko) | 감지 시간 제어 장치 및 방법 | |
US7477550B2 (en) | NAND flash memory device and method of improving characteristic of a cell in the same | |
US8923056B2 (en) | Non-volatile memory device for reducing operating time and method of operating the same | |
USRE44978E1 (en) | Method of verifying programming of a nonvolatile memory device | |
US7260016B2 (en) | Non-volatile semiconductor memory device and writing method therefor | |
KR101184814B1 (ko) | 불휘발성 메모리 장치 및 이의 프로그램 방법 | |
US9390808B1 (en) | Semiconductor memory device | |
JP2006012367A (ja) | 不揮発性半導体記憶装置 | |
US8964477B2 (en) | Nonvolatile memory, electronic apparatus, and verification method | |
JP2013125576A (ja) | 不揮発性半導体記憶装置 | |
JP2006331615A (ja) | フラッシュメモリ装置のプログラム方法 | |
JP2014157650A (ja) | 半導体記憶装置 | |
JP6102146B2 (ja) | 半導体記憶装置 | |
US20150078097A1 (en) | Semiconductor memory apparatus and method for erasing the same | |
JP3708912B2 (ja) | 半導体集積回路装置 | |
JP3404712B2 (ja) | 不揮発性半導体記憶装置及びその書き込み方法 | |
US8498161B2 (en) | Nonvolatile memory device and method of reading the same | |
KR101024152B1 (ko) | 불휘발성 메모리 소자의 페이지 버퍼를 이용한 프로그램 검증 방법 | |
JP5631436B2 (ja) | 半導体記憶装置 | |
JP2013127827A (ja) | 不揮発性半導体記憶装置 | |
JP2008159135A (ja) | 不揮発性半導体記憶装置 | |
TWI736394B (zh) | 半導體記憶裝置 | |
JP2000048582A (ja) | 半導体記憶装置 | |
JP2013246849A (ja) | メモリシステム | |
JP2014021529A (ja) | 乱数発生回路、及び不揮性半導体装置 |