以下、実施形態を図面を用いて説明する。信号が伝達される信号線には、信号名と同じ符号を使用する。先頭に”/”の付いている信号または末尾に”B”が付いている信号は、負論理を示している。図中の二重の四角印は、外部端子を示している。外部端子は、例えば、半導体チップ上のパッド、あるいは半導体チップが収納されるパッケージのリードである。外部端子を介して供給される信号には、端子名と同じ符号を使用する。
図1は、一実施形態における半導体メモリMEMの例を示している。例えば、半導体メモリMEMは、フラッシュメモリ等の不揮発性の半導体メモリである。半導体メモリMEMは、メモリブロックMBLK(MBLK0、MBLK1)、各メモリブロックMBLKに対応するスイッチ部SW(SW0、SW1)、スイッチ制御部SWCNTおよび入力データ制御部IDCNTを有している。なお、半導体メモリMEMは、フラッシュメモリに限定されず、EEPROM、FRAM、MRAM、ReRAM等の不揮発性の半導体メモリでもよい。さらに、半導体メモリMEMは、DRAMやSRAM等の揮発性の半導体メモリでもよい。
各メモリブロックMBLKは、書き込みデータDW(DW0、DW1)および書き込みデータDWのパリティデータDWPをそれぞれ保持するメモリ領域I/O(I/O0、I/O1、I/OP)を有している。各メモリ領域I/Oは、対応するスイッチ部SWを介してデータ線DT(DT0、DT1、DTP)に接続されるメモリセルMCを有する。
なお、各メモリ領域I/Oに形成されるメモリセルMCの数は、単数でも複数でもよい。メモリブロックMBLKの数は2つより多くてもよい。メモリ領域I/Oの数は3つより多くてもよい。すなわち、書き込みデータDWのビット数は2ビットより多くてもよく、パリティデータDWPのビット数は1ビットより多くてもよい。パリティデータDWPが1ビットのとき、パリティデータDWPは、偶数パリティまたは奇数パリティの規則にしたがって生成される。
各スイッチ部SWは、対応するメモリ領域I/O毎に、書き込みスイッチWSW1、WSW2および読み出しスイッチRSW1、RSW2を有している。書き込みスイッチWSW1−2は、対応するメモリ領域I/Oとデータ線DTとの間に直列に接続されている。読み出しスイッチRSW1−2は、対応するメモリ領域I/Oとデータ線DTとの間に直列に接続されている。すなわち、書き込みスイッチWSW1−2および読み出しスイッチRSW1−2は、メモリセルとデータ線DTの間に並列に配置されている。
書き込みスイッチWSW1は、書き込みコマンドWRCに応答して実行される書き込み動作時に、書き込み選択信号SWR(SWR0またはSWR1)を受けてメモリブロックMBLK毎にオンする。書き込みスイッチWSW2は、書き込み動作時に、書き込み制御信号IOWR(IOWR0、IOWR1またはIOWRP)を受けてメモリ領域I/O毎にオンする。
読み出しスイッチRSW1は、読み出しコマンドRDCに応答して実行される読み出し動作時に、読み出し選択信号SRD(SRD0またはSRD1)を受けてメモリブロックMBLK毎にオンする。読み出しスイッチRSW2は、読み出し動作時に、読み出し制御信号IORD(IORD0、IORD1またはIORDP)を受けてメモリ領域I/O毎にオンする。
入力データ制御部IDCNTは、書き込みコマンドWRCに応答して、並列の書き込みデータDW0−1およびパリティデータDWPを、メモリブロックMBLKの1つである書き込みメモリブロックのメモリ領域I/Oに1ビットずつ順に書き込むために、対応するデータ線DTに順に供給する入力動作を実行する。すなわち、入力データ制御部IDCNTは、並列のデータを直列のデータに変換する並列直列変換回路の機能を有している。
スイッチ制御部SWCNTは、書き込みコマンドWRCに応答して上記入力動作が実行されるときに、書き込みメモリブロックに対応する書き込みスイッチWSW1をオンするために書き込み選択信号SWR0またはSWR1を出力する。また、スイッチ制御部SWCNTは、書き込みコマンドWRCに応答して上記入力動作が実行されるときに、書き込みメモリブロックのメモリ領域I/O0−1、I/OPに対応する書き込みスイッチWSW2を1つずつ順にオンするために、書き込み制御信号IOWR0−1、IOWRPを順に出力する。以降の説明では、書き込みスイッチSW1がオンされ、書き込みスイッチWSW2が1つずつ順にオンされる動作を第1スイッチ動作と称する。
スイッチ制御部SWCNTは、読み出しコマンドRDCに応答して、書き込みメモリブロックを除くメモリブロックMBLKの1つである読み出しメモリブロックに対応する読み出しスイッチRSW1をオンするために、読み出し選択信号SRD0またはSRD1を出力する。また、スイッチ制御部SWCNTは、読み出しメモリブロックMBLKのメモリ領域I/O0−1、I/OPのうち、書き込みデータDW0−1またはパリティデータDWPが供給されていないデータ線DTに対応する読み出しスイッチをRSW2をオンするために読み出し制御信号IORD0−1、IORDPを出力する。以降の説明では、読み出しスイッチRSW1、RSW2がオンされる動作を第2スイッチ動作と称する。第2スイッチ動作は、第1スイッチ動作と並行して実行可能である。
図2から図4は、図1に示した半導体メモリMEMにおいて、書き込み動作中に読み出し動作が並行して実行される例を示している。すなわち、図2から図4は、入力動作、第1スイッチ動作に並行して第2スイッチ動作が実行される例を示している。黒い矩形はオンしているスイッチを示し、白い矩形はオフしているスイッチを示す。太い実線は、メモリセルMCに書き込まれる入力データID(ID0、ID1、IDP)の伝達経路、またはメモリセルMCから読み出される出力データOD(OD0、OD1、ODP)の伝達経路を示している。
例えば、書き込み動作は、1つの書き込みコマンドWRCに応答して、メモリブロックMBLK0のメモリ領域I/O0、I/O1、I/OPに対して1ビットずつ順に実行される。読み出し動作は、3つの読み出しコマンドRDC毎に、メモリブロックMBLK1のメモリ領域I/O0、I/O1、I/OPのうち、書き込みデータの伝達に使用されていないデータ線DTに対応するメモリ領域I/Oで実行される。このように、図2から図4では、メモリブロックMBLK0は、書き込みメモリブロックとして動作し、メモリブロックMBLK1は、読み出しメモリブロックとして動作する。メモリブロックMBLKの選択は、例えば、半導体メモリMEMに供給されるアドレス信号に応じて実施される。
まず、スイッチ制御部SWCNTは、書き込みコマンドWRCに応答して、書き込みメモリブロックMBLK0に対応する書き込みスイッチWSW1をオンするために、書き込み選択信号SWR0を出力する。メモリブロックMBLK0に対応する書き込みスイッチWSW1のオン状態は、図2から図4の動作の間、維持される。
図2に示すように、スイッチ制御部SWCNTは、メモリ領域I/O0に対応する書き込みスイッチWSW2をオンするために、書き込み制御信号IOWR0を出力する。これにより、データ線DT0は、メモリブロックMBLK0のメモリ領域I/O0のメモリセルMCに接続される。入力データ制御部IDCNTは、書き込みコマンドWRCに応答して並列の書き込みデータDW0−1およびパリティデータDWPを受け、受けたデータを直列の入力データID0、ID1、IDPとしてデータ線DT0−1、DTPに順に供給する。そして、図2では、入力データID0がメモリブロックMBLK0のメモリ領域I/O0に書き込まれる。
図2において、スイッチ制御部SWCNTは、書き込みコマンドWRCを受けた後に読み出しコマンドRDCを受ける。スイッチ制御部SWCNTは、読み出しコマンドRDCに応答して、読み出しメモリブロックMBLK1に対応する読み出しスイッチRSW1をオンするために、読み出し選択信号SRD1を出力する。また、スイッチ制御部SWCNTは、書き込み動作を実行しているメモリ領域I/O0を除くメモリ領域I/O1、I/OPに対応する読み出しスイッチRSW2をオンするために、読み出し制御信号IORD1、IORDPを出力する。これにより、データ線DT1、DTPは、メモリブロックMBLK1のメモリ領域I/O1、I/OPのメモリセルMCにそれぞれ接続される。そして、図2では、出力データOD1、ODPがメモリブロックMBLK1のメモリ領域I/O1、I/OPからデータ線DT1、DTPに読み出される。出力データOD1、ODPが読み出された後、メモリブロックMBLK1に対応する読み出しスイッチRSW1およびメモリ領域I/O1、I/OPに対応する読み出しスイッチRSW2は、オフされる。
例えば、半導体メモリMEMは、読み出された出力データOD1、ODPに基づいて、メモリブロックMBLK1のメモリ領域I/O0のメモリセルMCに保持されているデータを再生する。そして、半導体メモリMEMは、再生したデータを出力データOD1とともに読み出しデータとして外部に出力する。あるいは、半導体メモリMEMは、出力データOD1、ODPを外部に出力する。そして、半導体メモリMEMの動作を制御するコントローラは、出力データOD1、ODPに基づいて、メモリブロックMBLK1のメモリ領域I/O0のメモリセルMCに保持されているデータを再生する。
図3において、スイッチ制御部SWCNTは、メモリ領域I/O1に対応する書き込みスイッチWSW2をオンするために、書き込み制御信号IOWR1を出力する。これにより、データ線DT1は、メモリブロックMBLK0のメモリ領域I/O1のメモリセルMCに接続される。そして、入力データ制御部IDCNTからデータ線DT1に供給される入力データID1は、メモリブロックMBLK0のメモリ領域I/O1に書き込まれる。
スイッチ制御部SWCNTは、新たな読み出しコマンドRDCに応答して、読み出しメモリブロックMBLK1に対応する読み出しスイッチRSW1をオンするために、読み出し選択信号SRD1を出力する。また、スイッチ制御部SWCNTは、書き込み動作を実行しているメモリ領域I/O1を除くメモリ領域I/O0、I/OPに対応する読み出しスイッチRSW2をオンするために、読み出し制御信号IORD0、IORDPを出力する。これにより、データ線DT0、DTPは、メモリブロックMBLK1のメモリ領域I/O0、I/OPのメモリセルMCにそれぞれ接続される。
そして、図3では、出力データOD0、ODPがメモリブロックMBLK1のメモリ領域I/O0、I/OPからデータ線DT1、DTPに読み出される。出力データOD0、ODPが読み出された後、メモリブロックMBLK1に対応する読み出しスイッチRSW1およびメモリ領域I/O0、I/OPに対応する読み出しスイッチRSW2は、オフされる。この後、半導体メモリMEMの内部または外部で、出力データOD0、ODPに基づいて、メモリブロックMBLK1のメモリ領域I/O1のメモリセルMCに保持されているデータが再生される。
図4においても、図2および図3と同様に、メモリブロックMBLK0のメモリ領域I/OPに入力データIDPが書き込まれている間に、メモリブロックMBLK1の読み出し動作が実行される。スイッチ制御部SWCNTは、書き込み制御信号IOWRP、読み出し選択信号SRD1および読み出し制御信号IORD0、IORD1を出力する。書き込み選択信号SWR0は、図2から出力されている。
そして、メモリブロックMBLK0のメモリ領域I/OPのメモリセルMCに入力データIDPが書き込まれ、メモリブロックMBLK1のメモリ領域I/O0、I/O1から出力データOD0、OD1が読み出される。例えば、読み出される読み出しデータOD0、OD1は、再生されることなく半導体メモリMEMの外部に出力される。
以上、この実施形態では、データ線DT0、DT1、DTPを用いてメモリ領域I/O0、I/O1、I/OPに対する書き込み動作が1ビットずつ実行されている間に、使用されていないデータ線DTを用いて3回の読み出し動作が実行可能である。したがって、書き込み動作と読み出し動作が共通のデータ線DTを用いて実行される半導体メモリMEMにおいて、1つのメモリブロックMBLK0の書き込み動作中に、別のメモリブロックMBLK1の読み出し動作を実行でき、アクセス効率を向上できる。特に、書き込み動作中にも、読み出し動作の実行頻度が低下することを防止でき、データの読み出しレートの低下を防止できる。
図5は、別の実施形態における半導体メモリMEMの例を示している。例えば、半導体メモリMEMは、フラッシュメモリ等の不揮発性半導体メモリである。半導体メモリMEMは、クロック信号CLKに同期して動作するが、クロック信号CLKに非同期で動作してもよい。なお、電源電圧VDDと接地電圧VSSの差より大きい電圧が印加されるトランジスタの耐圧は、通常のトランジスタの耐圧より高く設計される。
半導体メモリMEMは、クロックバッファ10、コマンドデコーダ12、アドレスバッファ14、ステートマシーン16、タイミング制御部18、アドレス制御部20、アドレスプリデコーダ22、24、入力データバッファ26、出力データバッファ28、出力バッファ30、パリティ生成部32、入力データ制御部34、データ再生部36、出力データ制御部38およびメモリコア40を有している。
クロックバッファ10は、外部端子を介して受けるクロック信号CLKをコマンドデコーダ12およびアドレスバッファ14等のクロック信号CLKに同期して動作する回路に供給する。コマンドデコーダ12は、クロック信号CLKに同期して、チップイネーブル信号/CE、ライトイネーブル信号/WE、アドレス信号ADおよび入力データ信号DIをコマンド信号として受ける。
コマンド信号が読み出しコマンドR(図23)を示すとき、コマンドデコーダ12は、読み出し動作を実行するために読み出しコマンド信号RDCを出力する。コマンド信号が書き込みコマンドW(図23)を示すとき、コマンドデコーダ12は、書き込み動作を実行するために書き込みコマンド信号WRCを出力する。コマンド信号が消去コマンドE(図26)を示すとき、コマンドデコーダ12は、消去動作を実行するために消去コマンド信号ERSCを出力する。コマンド信号の入力の例は、図18に示す。読み出し動作、書き込み動作および消去動作のシーケンスは、図19に示す。
アドレスバッファ14は、クロック信号CLKに同期してアドレス信号AD(AD0−AD14)を受け、受けたアドレス信号ADをアドレス制御部20に出力する。なお、アドレス信号ADは15ビットに限定されない。アドレス信号ADの割り付けの例は、図10に示す。
ステートマシーン16は、読み出しコマンド信号RDC、書き込みコマンド信号WRCおよび消去コマンド信号ERSCを受け、読み出し動作、書き込み動作および消去動作を実行するために、タイミング制御部18等の制御回路の動作状態を制御する。このために、ステートマシーン16は、受けたコマンド信号に応じてタイミング制御部18およびアドレス制御部20等に制御信号を出力する。また、ステートマシーン16は、書き込みコマンド信号WRCに基づいて書き込み動作を実行している間、書き込みビジー信号WRBSYを出力する。ステートマシーン16は、消去コマンド信号ERSCに基づいて消去動作を実行している間、消去ビジー信号ERSBSYを出力する。
タイミング制御部18は、ステートマシーン16からの制御信号に基づいて読み出し動作を実行するための読み出し制御信号RCNT、書き込み動作を実行するための書き込み制御信号WCNTおよび消去動作を実行するための消去制御信号PERSを出力する。読み出し制御信号RCNT、書き込み制御信号WCNTおよび消去制御信号PERSの各々は、少なくとも1ビットのタイミング信号である。ステートマシーン16およびタイミング制御部18は、アドレス制御部20、アドレスプリデコーダ22、24、パリティ生成部32、入力データ制御部34、データ再生部36およびメモリコア40の動作を制御する動作制御部として動作する。
アドレス制御部20は、読み出しコマンド信号RDCおよび書き込みコマンド信号WRCとともに受けるアドレス信号ADを、セクタアドレス信号SA、ロウアドレス信号RAおよびコラムアドレス信号CAとして出力する。セクタアドレス信号SAは、セクタSECの1つを選択するためのブロックアドレス信号の一例である。アドレス制御部20は、消去コマンド信号ERSCとともに受けるアドレス信号ADを、データを消去するセクタSECを示すセクタアドレス信号SAとして出力する。また、アドレス制御部20は、消去動作において、図19に示すプリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVが実行されるときに、ロウアドレス信号RAおよびコラムアドレス信号CAを順に生成する。
アドレス制御部20は、書き込み動作または消去動作を実行中のセクタSECに対する読み出しコマンド信号RDCを受けたときに、セクタエラー信号SERRを出力する。ステートマシーン16は、セクタエラー信号SERRを受けたときに、読み出しコマンド信号RDCを無効にし、読み出しコマンド信号RDCに応答する読み出し動作の実行を禁止する。これにより、書き込み動作中または消去動作中のセクタSECに対して読み出し動作が重複して実行されることを防止でき、半導体メモリMEMの誤動作を防止できる。アドレス制御部20の例は、図9に示す。
アドレスプリデコーダ22は、読み出し動作に使用するロウアドレス信号RAおよびコラムアドレス信号CAを読み出し制御信号RCNTに応答して保持するラッチ回路を有している。アドレスプリデコーダ22は、保持しているアドレス信号RA、CAをデコードし、メモリコア40に供給するプリデコードアドレス信号を生成する。アドレスプリデコーダ22は、読み出しコマンドとともに受けるロウアドレス信号RAを保持してデコードし、読み出しアドレスデコード信号としてプリデコードアドレス信号を生成する読み出しデコード回路を含んでいる。
アドレスプリデコーダ24は、書き込み動作および消去動作に使用するロウアドレス信号RAおよびコラムアドレス信号CAを書き込み制御信号WCNTおよび消去制御信号ECNTに応答して保持するラッチ回路を有している。アドレスプリデコーダ24は、保持しているアドレス信号RA、CAをデコードし、メモリコア40に供給するプリデコードアドレス信号を生成する。アドレスプリデコーダ24は、書き込みコマンドとともに受けるロウアドレス信号RAを保持してデコードし、書き込みデコードアドレス信号としてプリデコードアドレス信号を生成する書き込みデコード回路を含んでいる。このように、半導体メモリMEMは、読み出し動作用のアドレスプリデコーダ22と、書き込み動作用および消去動作用のアドレスプリデコーダ24とを有している。アドレスプリデコーダ22、24の例は、図11に示す。
入力データバッファ26は、書き込みコマンド信号WRCに応答してデータ入力端子DI(DI0−7)に供給される書き込みデータを受け、受けた書き込みデータを書き込みデータ線DW0−7に出力する。出力データバッファ28は、読み出し動作時に出力データ制御部38から受ける読み出しデータをデータ出力端子DO(DO0−7)に出力する。なお、データ入力端子DIおよびデータ出力端子DOは、8ビットに限定されない。また、データ入力端子DIとデータ出力端子DOのビット数が相違してもよい。例えば、データ出力端子DOのビット数をデータ入力端子DIのビット数の4倍にしてもよい。
出力バッファ30は、書き込みビジー信号WRBSY、消去ビジー信号EBSYおよびセクタエラー信号SERRをフラグ信号としてフラグ端子FLG0−2にそれぞれ出力する。この実施形態の半導体メモリは、1つのセクタSECの書き込み動作中または消去動作中に、別のセクタSECからデータを読み出すことが可能である。但し、書き込み動作中または消去動作中のセクタSECに対する読み出し動作は実行できない。このため、半導体メモリMEMは、書き込み動作中または消去動作中のセクタSECに対する読み出しコマンドを受けたときに生成されるセクタエラー信号SERRを、例えば、読み出しコマンドを受けた次のクロックサイクル中にフラグ信号FLG2として出力する。
パリティ生成部32は、書き込みコマンド信号WRCに応答してデータ入力端子DIで受ける書き込みデータDW(DW0−7)のパリティデータDWPを生成する。例えば、パリティ生成部32は、偶数パリティの規則にしたがってパリティデータDWPのビット値を求める。このため、論理1の書き込みデータDWのビット数が偶数個のとき、論理0のパリティデータDWPが生成される。論理1の書き込みデータDWのビット数が奇数個のとき、論理1のパリティデータDWPが生成される。以降の説明では、パリティデータDWPは書き込みデータDWPとも称する。
入力データ制御部34は、書き込み動作中のプログラム動作PGM時および消去動作中のプリプログラム動作PPGM時に、並列の書き込みデータDW(DW0−7、DWP)を直列の入力データID(ID0−7、IDP)としてアンプAMPに順に出力する。入力データID0−7、IDPは、書き込みデータDW0−7、DWPにそれぞれ対応する。なお、プログラム動作PGMでは、論理0の書き込みデータDW、DWPが入力データIDとして順に出力される。また、入力データ制御部34は、アンプAMPに供給する入力データIDのビットに対応する書き込み制御信号IOWR(IOWR0−8のいずれか)を出力し、入力データIDのビットに対応しない読み出し制御信号IORD(IORD0−8の8個)を出力する。
例えば、入力データ制御部34は、入力データID0(論理0)をアンプAMPに出力するとき、書き込み制御信号IOWR0および読み出し制御信号IORD1−8を活性化レベルに設定し、書き込み制御信号IOWR1−8および読み出し制御信号IORD0を非活性化レベルに設定する。書き込み制御信号IOWR(IOWR0−8のいずれか)は、メモリコア40のプログラム動作PGM、プログラムベリファイ動作PGMV、プリプログラム動作PPGMおよびプリプログラムベリファイ動作PPGMVの実行時に活性化される。
書き込み制御信号IOWR0−8は、9個のメモリ領域I/O(I/O0−I/O8)の書き込みスイッチWSW2(図6)をオンするために生成される。9個のメモリ領域I/O0−I/O8は、入力データID0−7、IDPをそれぞれ保持する。また、書き込み制御信号IOWR0−8は、書き込み動作または消去動作により読み出せないデータを再生するためにデータ再生部36に供給される。読み出し制御信号IORD0−8は、9個のメモリ領域I/O0−I/O8の読み出しスイッチRSW2(図6)をオンするために生成される。入力データ制御部34の例は、図15から図17に示す。
データ再生部36は、読み出しコマンド信号RDCに応答してメモリコア40から読み出される出力データOD(OD0−7、ODP)を受け、データ出力端子DOに出力する読み出しデータDR(DR0−7)を再生する。出力データODPは、パリティビットのデータ(パリティ出力データ)である。データ再生部36は、活性化されている書き込み制御信号IOWR(IOWR0−8のいずれか)に対応する出力データOD(OD0−7、ODPのいずれか)を除く出力データODを用いて、読み出しデータDR0−7を再生する。
例えば、書き込み制御信号IOWR2が活性化されているとき、データ再生部36は、出力データOD0−1、OD3−7、ODPを用いて読み出しデータDR2の論理を再生する。具体的には、出力データOD0−1、OD3−7、ODPの論理1の数が偶数のとき、読み出しデータDR2は論理0に設定される。出力データOD0−1、OD3−7、ODPの論理1の数が奇数のとき、読み出しデータDR2は論理1に設定される。また、全ての書き込み制御信号IOWR0−8が非活性化されているとき、データ再生部36は、パリティ出力データODPを使用せず、出力データOD0−7を読み出しデータDR0−7として出力する。
出力データ制御部38は、読み出しコマンド信号RDCに応答して再生される読み出しデータDR0−7を受け、受けた読み出しデータDR0−7を出力データバッファ28に出力する。
メモリコア40は、複数のセクタSEC(SEC0−31)と、セクタSEC0−31に共通のコラム制御回路YSELCNT、コラムスイッチYSW、アンプ制御回路AMPCNTおよびアンプAMPを有している。なお、セクタSECの数は32個に限定されない。メモリコア40の例は、図6から図8に示す。
各セクタSEC(SEC0−31)は、ワードデコーダWDEC、セクタ選択制御回路SSELCNT、セクタスイッチSSW、読み出しスイッチRSW1−RSW2、書き込みスイッチWSW1−WSW2およびメモリセルアレイARYを有している。ワードデコーダWDEC、セクタ選択制御回路SSELCNT、コラム制御回路YSELCNTおよびアンプ制御回路AMPCNTは、タイミング制御部18からの制御信号(タイミング信号)に同期して動作する。セクタSEC0−31は、メモリブロックの一例であり、図1に示したメモリブロックMBLKに対応する。
各セクタSECは、セクタアドレスSAが異なることを除き同じ構成である。読み出し動作、書き込み動作および消去動作の各々において、セクタSECの1つがアドレスプリデコーダ22、24からのロウプリデコードアドレス信号により選択される。また、1つのセクタSECが書き込み動作または消去動作を実行中に、別のセクタSECが読み出し動作が実行可能である。
選択されたセクタSEC内のワードデコーダWDECは、図19に示す読み出し動作RD、プログラム動作PGM、プログラムベリファイ動作PGMV、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVにおいて、アドレスプリデコーダ22、24からのロウプリデコードアドレス信号により示されるワード線WLの1つを選択する。図19に示す内部消去動作ERSにおいて、選択されたセクタSEC内のワードデコーダWDECは、セクタSEC内の全てのワード線WLを選択する。
選択されたセクタSEC内のセクタ選択制御回路SSELCNTは、読み出し動作RD、プログラム動作PGM、プログラムベリファイ動作PGMV、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVにおいて、アドレスプリデコーダ22、24からのコラムプリデコードアドレス信号により示されるセクタスイッチSSWの1つをオンするためにセクタ選択信号SSELの1つを活性化する。
また、選択されたセクタSEC内のセクタ選択制御回路SSELCNTは、読み出し動作RDにおいて、読み出しスイッチRSW1をオンするために読み出し選択信号SRDを活性化するスイッチ制御部として動作する。選択されたセクタSEC内のセクタ選択制御回路SSELCNTは、プログラム動作PGM、プログラムベリファイ動作PGMV、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSにおいて、書き込みスイッチWSW1をオンするために書き込み選択信号SWRを活性化するスイッチ制御部として動作する。
コラム制御回路YSELCNTは、読み出し動作RD、プログラム動作PGM、プログラムベリファイ動作PGMV、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVにおいて、アドレスプリデコーダ22、24からのコラムプリデコードアドレス信号により示されるコラムスイッチYSWの1つをオンするために、コラム選択信号YSELの1つを活性化する。コラムスイッチYSWのオンにより、グローバルビット線GBLがアンプAMPに接続される。
アンプ制御回路AMPCNTは、読み出し動作RD、プログラム動作PGM、プログラムベリファイ動作PGMV、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVにおいて、タイミング制御部18からの制御信号(タイミング信号)に応答して、アンプAMPの動作を制御するための制御信号を出力する。
図6は、図5に示したメモリコア40の例を示している。各セクタSEC0−31のメモリセルアレイARYは、9個のメモリ領域I/O0−I/O8に区画されている。メモリ領域I/O0−7は、入力データ端子DI0−7に供給される書き込みデータDW0−7をそれぞれ保持する。メモリ領域I/O8は、図5に示したパリティ生成部32により生成されるパリティデータDWPを保持する。
メモリセルアレイARYは、マトリックス状に配置された複数の不揮発性のメモリセルMCを有している。図6の横方向に配列されるメモリセルMCは、共通のワード線WLに接続されている。図6の縦方向に配列されるメモリセルMCは、共通のローカルビット線LBLに接続されている。なお、図6では、セクタSEC0内の各メモリ領域I/O0−8内の1つのメモリセルMCに接続される1本のワード線WLと1本のローカルビット線LBLとが例示されている。
黒い点は交差する配線が接続されていることを示し、黒い丸印はオンしているスイッチを示し、白い丸印はオフしているスイッチを示す。図6は、セクタSEC0のメモリ領域I/O2にデータを書き込む書き込み動作中に、セクタSEC31のメモリ領域I/O0−1、I/O3−8からデータを読み出す読み出し動作が実行される例を示している。
各メモリ領域I/O0−8において、図の下側に示したグローバルビット線GBL(GBL0−GBL8)は、4つのコラムスイッチYSWを介して4つのグローバルビット線GBL<0>−GBL<3>(例えば、GBL0<0>−GLB0<3>)のいずれかに接続される。グローバルビット線GBL0−GBL8は、書き込みデータDW0−7およびパリティデータDWPのビットにそれぞれ対応するデータ線の一例であり、図1に示したデータ線DTに対応する。
コラムスイッチYSWは、セクタSEC0−31に共通であり、メモリ領域I/O0−8毎にオン/オフが制御される。この例では、メモリ領域I/O2のグローバルビット線GBL2は、グローバルビット線GBL2<1>に接続される。他のメモリ領域I/O0−1、I/O3−8のグローバルビット線GBL0−1、GBL3−8は、グローバルビット線GBL0<0>−GBL1<0>、GBL3<0>−GBL8<0>に接続される。
各グローバルビット線GBL<0>−GBL<3>は、選択されているセクタSECの書き込みスイッチWSW1−2(または読み出しスイッチRSW1−2)および4つのセクタスイッチSSWを介して4つのローカルビット線LBLに接続される。
書き込みスイッチWSW2は、書き込み制御信号IOWR0−8を受け、メモリ領域I/O0−8毎にセクタSEC0−31に共通にオン/オフが制御される。書き込みスイッチWSW1は、セクタSEC0−31毎にメモリ領域I/O0−8に共通にオン/オフが制御される。読み出しスイッチRSW2は、読み出し制御信号IORD0−8を受け、メモリ領域I/O0−8毎にセクタSEC0−31に共通にオン/オフが制御される。読み出しスイッチRSW1は、セクタSEC0−31毎にメモリ領域I/O0−8に共通にオン/オフが制御される。セクタスイッチSSWは、セクタSEC0−31毎にメモリ領域I/O0−8に共通にオン/オフが制御される。
この例では、グローバルビット線GBL2<1>は、セクタSEC0の書き込みスイッチWSW1−2およびセクタスイッチSSWを介して、セクタSEC0のメモリ領域I/O2のローカルビット線LBLに接続される。グローバルビット線GBL0<0>−GBL1<0>、GBL3<0>−GBL8<0>は、セクタSEC31の読み出しスイッチRSW1−2およびセクタスイッチSSWを介して、セクタSEC31のメモリ領域I/O0−1、I/O3−8のローカルビット線LBLに接続される。
このように、書き込み動作は、直列に接続される書き込みスイッチWSW1−2の両方がオンするセクタSECのメモリ領域I/Oに対して実行される。読み出し動作は、直列に接続される読み出しスイッチRSW1−2の両方がオンするセクタSECのメモリ領域I/Oに対して実行される。換言すれば、読み出し動作は、書き込み動作が実行されないメモリ領域I/Oに対して実行される。書き込み動作および読み出し動作が実行されないメモリ領域I/Oでは、書き込みスイッチWSW1−2は同時にオンせず、読み出しスイッチRSW1−2は同時にオンしない。
これにより、書き込み動作では、入力データID2は、メモリ領域I/O2の16本のローカルビット線LBLの1つに接続されるメモリセルMCに書き込まれる。読み出し動作では、出力データOD0−OD1、OD3−OD7、ODPは、各メモリ領域I/O0−I/O1、I/O3−I/O8において16本のローカルビット線LBLの1つに接続されるメモリセルMCから読み出される。
図7は、図6に示したメモリセルアレイARY、セクタスイッチSSW、読み出しスイッチRSW1−2、書き込みスイッチWSW1−2およびコラムスイッチYSWの例を示している。図7は、一例として、図6に示したセクタSEC31のメモリ領域I/O0を示している。ワード線WL、セクタ選択信号SSEL、読み出し選択信号SRDおよび書き込み選択信号SWRに付加した”31”は、セクタSECの番号を示している。ローカルビット線LBL、グローバルビット線GBL、コラム選択信号YSEL、読み出し制御信号IORDおよび書き込み制御信号IOWRに付加した”0”は、メモリ領域I/Oの番号を示している。”<>”で囲われた数字は、各信号線の番号を示している。例えば、各セクタSEC0−31のメモリセルアレイARYは、64本のワード線WL0−WL63を有している。
各メモリセルMCは、フローティングゲートFGとコントロールゲートCGを含むリアルセルトランジスタCTを有している。セルトランジスタCTのドレインはローカルビット線LBLに接続されている。セルトランジスタCTのソースは、ワード線WLに沿って配線されるソース線SLに接続されている。ソース線SLの電圧は、例えば、図6のメモリセルアレイARYの右側に配置されるソース線ドライバにより設定される。セルトランジスタCTに印加される電圧の例は、図22に示す。例えば、セクタスイッチSSW、読み出しスイッチRSW1−2、書き込みスイッチWSW1−2およびコラムスイッチYSWは、nチャネルMOSトランジスタにより形成されている。
図8は、図5に示したアンプAMPの例を示している。グローバルビット線GBL0−GBL8に接続されるアンプAMPは、互いに同じ回路のため、グローバルビット線GBL0に接続されるアンプAMPについて説明する。
アンプAMPは、ライトアンプWA、プリチャージ回路PREおよびリードアンプRAを有している。ライトアンプWAは、論理0の入力データID0を受けるプログラム動作PGMおよびプリプログラム動作PPGMにおいて、グローバルビット線GBL0をハイレベル電圧VD5に設定するために動作する。プリチャージ回路PREは、読み出し動作RD、プログラムベリファイ動作PGMV、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVが開始される前に、グローバルビット線GBL0を一時的にハイレベルにプリチャージするために動作する。リードアンプRAは、読み出し動作RD、プログラムベリファイ動作PGMV、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVにおいて、メモリセルMCからグローバルビット線GBL0に読み出される読み出しデータの論理をラッチするために動作する。
ライトアンプWAは、レベルシフタLSFT、論理ゲート、pチャネルMOSトランジスタP1およびnチャネルMOSトランジスタN1を有している。レベルシフタLSFTは、pチャネルMOSトランジスタP1のオフ時のリーク電流を防止するために、入力データID0のハイレベルを電源電圧VDDより高い電圧VD5に変換する。レベルシフタLSFTとトランジスタP1、N1との間に配置されるインバータおよびNORゲートは、電源端子でハイレベル電圧VD5を受けて動作する。
pチャネルMOSトランジスタP1は、ロウレベルのプログラム信号PGM0Bを受けているときにオンし、グローバルビット線GBL0をハイレベルVD5に設定する。nチャネルMOSトランジスタN1は、ハイレベルの禁止信号DIS0を受けているときにオンし、グローバルビット線GBL0をロウレベルVSS(接地電圧)に設定する。プログラム信号PGM0Bは、入力データID0がロウレベル(論理0)のときにロウレベルに活性化される。禁止信号DIS0は、入力データID0がハイレベル(論理1)、プリチャージ信号BLPRE0がロウレベル、読み出しラッチ信号RLT0Bがロウレベルのときにハイレベルに活性化される。プリチャージ信号BLPRE0−BLPRE8は、タイミング制御部18の制御により、読み出し動作の開始時およびベリファイ動作の開始時に一時的にハイレベルに設定される。読み出しラッチ信号RLT0B−RLT8Bは、タイミング制御部18の制御により、読み出し動作時およびベリファイ動作時に、メモリセルMCからグローバルビット線GBL0−GBL8に読み出されるデータの論理をラッチするために、一時的にハイレベルに設定される。ここで、ベリファイ動作は、後述するプログラムベリファイ動作PGMV、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVである。
プリチャージ回路PREは、プリチャージ信号BLPRE0と同じ論理レベルを有するプリチャージ信号PRE0をゲートで受け、ドレインが電源線VDDに接続され、ソースがグローバルビット線GBL0に接続されるnチャネルMOSトランジスタN2を有している。プリチャージ回路PREは、プリチャージ信号BLPRE0がハイレベルのときに、グローバルビット線GBL0をハイレベルVDDにプリチャージする。
リードアンプRAは、nチャネルMOSトランジスタN3、ラッチ回路LTおよびベリファイセレクタVSELを有している。nチャネルMOSトランジスタN3は、リードアンプラッチ信号RALT0Bがハイレベルのときにオンし、グローバルビット線GBL0をラッチ回路LTに接続する。ラッチ回路LTは、リードアンプラッチ信号RALT0Bの立ち下がりエッジに同期してグローバルビット線GBL0に読み出されている論理レベルをラッチする。
ベリファイセレクタVSELは、ベリファイ信号VRFY0がハイレベルのときにラッチ回路LTから出力される読み出しデータをベリファイ出力データ線OVD0に出力する。ベリファイセレクタVSELは、ベリファイ信号VRFY0がロウレベルのときにラッチ回路LTから出力される読み出しデータを出力データ線OD0に出力する。プリチャージ信号BLPRE0−BLPRE8、リードアンプラッチ信号RALT0B−RALT8Bおよびベリファイ信号VRFY0−VFRY8は、タイミング制御部18からのタイミング信号に応答して、アンプ制御回路AMPCNTにより生成される。
図9は、図5に示したアドレス制御部20の例を示している。アドレス制御部20は、コラムアドレスカウンタCACOUNT、ロウアドレスカウンタRACOUNT、コラムアドレスセレクタCASEL1、ロウアドレスセレクタRASEL1および読み出しセクタ判定回路RSJDGを有している。コラムアドレスカウンタCACOUNTおよびロウアドレスカウンタRACOUNTは、消去動作中のプリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVにおいて動作する。
コラムアドレスカウンタCACOUNTは、アドレスクロック信号ACLKに同期してカウント動作し、アドレス信号AD3−AD0に対応する内部コラムアドレス信号ICAを順に生成する。ロウアドレスカウンタRACOUNTは、内部コラムアドレス信号ICAが一巡する毎にカウント動作し、アドレス信号AD9−AD4に対応する内部ロウアドレス信号IRAを順に生成する。例えば、アドレスクロック信号ACLKは、タイミング制御部18により、メモリ領域I/O0−I/O8のプリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGMのペアが1回実行される毎に生成され、メモリ領域I/O0−I/O8の消去ベリファイ動作ERSVが1回実行される毎に生成される。
この実施形態では、ロウアドレスカウンタRACOUNTは、コラムアドレスカウンタCACOUNTが一巡する毎にカウント動作するため、ロウアドレス信号RAにより選択されるワード線WLの切り換え頻度を下げることができる。特に、プリプログラム動作PPGMでは、ワード線WLに高い電圧(VPGM;例えば、9V)が印加される。このため、ワード線WLの切り換え頻度を下げることで、ワード線WLの充放電電流を削減でき、半導体メモリMEMの消費電力を削減できる。
コラムアドレスカウンタCACOUNTおよびロウアドレスカウンタRACOUNTは、消去動作において、最初のプリプログラム動作PPGMおよびプリプログラムベリファイ動作PPGMVのペアが開始される前にリセットされ、カウンタ値がゼロに設定される。また、コラムアドレスカウンタCACOUNTおよびロウアドレスカウンタRACOUNTは、消去動作において、消去ベリファイ動作ERSVが開始される前にリセットされる。このため、ロウアドレスカウンタRACOUNTは、内部コラムアドレス信号ICAが最大値ICAmaxからゼロに変化する毎に、ゼロから最大値に向けてカウント動作する。
コラムアドレスセレクタCASEL1は、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVにおいて、内部コラムアドレス信号ICAをコラムアドレス信号CAとして出力する。コラムアドレスセレクタCASEL1は、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVが実行されないときに、アドレス端子AD3−0で受ける外部コラムアドレス信号ECAをコラムアドレス信号CAとして出力する。
ロウアドレスセレクタRASEL1は、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVにおいて、内部ロウアドレス信号IRAをロウアドレス信号RAとして出力する。ロウアドレスセレクタRASEL1は、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVが実行されないときに、アドレス端子AD9−4で受ける外部ロウアドレス信号ERAをロウアドレス信号RAとして出力する。
読み出しセクタ判定回路RSJDGは、書き込みセクタアドレスラッチWSALT、読み出しセクタアドレスラッチRSALTおよびアドレス比較器ADCMPを有している。書き込みセクタアドレスラッチWSALTは、書き込みコマンド信号WRCまたは消去コマンド信号ERSCに同期して、アクセスするセクタSECを示すセクタアドレス信号SA(アドレス信号AD14−10)の値をラッチする。読み出しセクタアドレスラッチRSALTは、読み出しコマンド信号RDCに同期して、アクセスするセクタSECを示すセクタアドレス信号SA(アドレス信号AD14−10)の値をラッチする。アドレス比較器ADCMPは、書き込みセクタアドレスラッチWSALTおよび読み出しセクタアドレスラッチRSALTにラッチされたセクタアドレスSAの値が同じときに、セクタエラー信号SERRを出力する。
図10は、図5に示したアドレス端子ADで受けるアドレス信号の割り付けの例を示している。アドレス信号AD14−AD10は、32個のセクタSEC0−31の1つを選択するためにセクタアドレス信号SAとして使用される。各セクタSECは、アドレス信号AD14−AD13(SEC(B))、AD12−AD10(SEC(A))をそれぞれプリデコードすることにより生成されるセクタプリデコード信号を用いて選択される。
アドレス信号AD9−AD4は、セクタSEC内の64本のワード線WL0−63の1つを選択するためにロウアドレス信号RAとして使用される。ワード線WLは、アドレス信号AD9−AD7(WL(B))、AD6−AD4(WL(A))をそれぞれプリデコードすることにより生成されるロウプリデコード信号を用いて選択される。
アドレス信号AD3−AD0は、各メモリ領域I/Oにおいて、16本のローカルビット線LBLの1つを選択するためにコラムアドレス信号CAとして使用される。アドレス信号AD3−AD2は、メモリ領域I/O毎に4つのコラムスイッチYSW0−3の1つをオンするために(すなわち、コラム選択信号YSELを生成するために)使用される。アドレス信号AD1−AD0は、セクタSEC内の4種類のセクタスイッチSSW0−3の1つをオンするために(すなわち、セクタ選択信号SSELを生成するために)使用される。
図11は、図5に示したアドレスプリデコーダ22、24、ワードデコーダWDECおよびセクタ選択制御回路SSELCNTの例を示している。ワードデコーダWDECおよびセクタ選択制御回路SSELCNTは、セクタSEC0に対応する回路を示している。
アドレスプリデコーダ22は、読み出し動作時に動作するアドレスプリデコーダRAPDECおよびアドレスデコーダRADECを有している。アドレスプリデコーダRAPDECは、セクタアドレス信号SAをプリデコードして、セクタSECを選択するためのセクタプリデコードアドレス信号RSPDAを生成する。また、アドレスプリデコーダRAPDECは、ロウアドレス信号RAをプリデコードして、ワード線WLを選択するためのロウプリデコードアドレス信号RRPDAを生成する。アドレスデコーダRADECは、コラムアドレス信号CAをデコードしてコラムデコードアドレス信号RCDAを生成する。
アドレス信号AD1−AD0に対応するコラムアドレス信号CAから生成される4ビットのコラムデコードアドレス信号RCDAは、コラムアドレスセレクタCASEL2に供給される。アドレス信号AD3−AD2に対応するコラムアドレス信号CAから生成される4ビットのコラムデコードアドレス信号RCDAは、コラム制御回路YSELCNTに供給される。
アドレスプリデコーダ24は、書き込み動作時および消去動作時に動作するアドレスプリデコーダWAPDECおよびアドレスデコーダWADECを有している。アドレスプリデコーダWAPDECは、セクタアドレス信号SAをプリデコードして、セクタSECを選択するためのセクタプリデコードアドレス信号WSPDAを生成する。また、アドレスプリデコーダWAPDECは、ロウアドレス信号RAをプリデコードして、ワード線WLを選択するためのロウプリデコードアドレス信号WRPDAを生成する。アドレスデコーダWADECは、コラムアドレス信号CAをデコードしてコラムデコードアドレス信号WCDAを生成する。
アドレス信号AD1−AD0に対応するコラムアドレス信号CAから生成される4ビットのコラムデコードアドレス信号WCDAは、コラムアドレスセレクタCASEL2に供給される。アドレス信号AD3−AD2に対応するコラムアドレス信号CAから生成される4ビットのコラムデコードアドレス信号WCDAは、コラム制御回路YSELCNTに供給される。
この実施形態では、図10に示したように、2ビットのアドレス信号AD14−AD13および3ビットのAD12−AD10が、セクタSECを選択するためにプリデコードされ、4ビットと8ビットのプリデコードアドレス信号が生成される。このため、セクタプリデコードアドレス信号RSPDAおよびセクタプリデコードアドレス信号WSPDAは、それぞれ12ビット(4ビット+8ビット)である。3ビットのアドレス信号AD9−AD7および3ビットのAD6−AD4がワード線WLを選択するためにプリデコードされ、2種類の8ビットのプリデコードアドレス信号が生成される。このため、ロウプリデコードアドレス信号RRPDAおよびロウプリデコードアドレス信号WRPDAは、それぞれ16ビット(8ビット+8ビット)である。
ワードデコーダWDECは、ロウアドレスセレクタRASEL2、電源選択回路WLHSEL、WLLSELおよびワードドライバWDRVを有している。ロウアドレスセレクタRASEL2は、活性化された読み出しセクタ信号RSECを受けているときに、ロウプリデコードアドレス信号RRPDAをロウプリデコードアドレス信号RPDAとして出力する。読み出しセクタ信号RSECは、セクタ活性化回路RSACTによりセクタプリデコードアドレス信号RSPDAがデコードされることで生成される。すなわち、読み出しセクタ信号RSECは、対応するセクタSECの読み出し動作が実行されるときに活性化される。
ロウアドレスセレクタRASEL2は、活性化された書き込みセクタ信号WSECを受けているときに、ロウプリデコードアドレス信号WRPDAをロウプリデコードアドレス信号RPDAとして出力する。書き込みセクタ信号WSECは、セクタ活性化回路WSACTによりセクタプリデコードアドレス信号WSPDAがデコードされることで生成される。すなわち、書き込みセクタ信号WSECは、対応するセクタSECのプログラム動作PGM、プログラムベリファイ動作PGMV、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVが実行されるときに活性化される。ロウアドレスセレクタRASEL2は、選択されたセクタSECの消去動作中に活性化される消去モード信号EMDを受けているときに、セクタSEC内の全てのワード線WLをロウレベル(負電圧)にするために、非選択を示すロウプリデコードアドレス信号RPDAを出力する。消去モード信号EMDは、ステートマシーン16の制御に基づいてセクタSEC毎に生成され、消去動作中にハイレベルに活性化される。
電源選択回路WLHSELは、読み出しセクタ信号RSECを受けているときに、電源電圧VDDより高いハイレベル電圧VD5をハイレベル電圧線VWLHに出力する。電源選択回路WLHSELは、書き込みセクタ信号WSECを受けているときに、ハイレベル電圧VD5より高いハイレベル電圧VPGMをハイレベル電圧線VWLHに出力する。ハイレベル電圧VPGMの値は、図21に示すように、プログラム動作PGM、プログラムベリファイ動作PGMV、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVに応じて設定される。
電源選択回路WLLSELは、非活性化された消去モード信号EMDを受けているときに、接地電圧VSSをロウレベル電圧線VWLLに出力する。電源選択回路WLLSELは、活性化された消去モード信号EMDを受けているときに、負電圧VERSをロウレベル電圧線VWLLに出力する。
ワードドライバWDRVは、読み出し動作RD、プログラム動作PGM、プログラムベリファイ動作PGMV、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVにおいて、ロウプリデコードアドレス信号RPDAに応じてワード線WL0−WL63の1つをハイレベル電圧VWLHに設定し、他のワード線WLをロウレベル電圧VWLLに設定する。ワードドライバWDRVは、内部消去動作ERSにおいて、非選択状態のロウプリデコードアドレス信号RPDAに応じて、全てのワード線WL0−WL63をロウレベル電圧VWLL(負電圧VERS)に設定する。
セクタ選択制御回路SSELCNTは、コラムアドレスセレクタCASEL2、コラム線ドライバSSELDRV、読み出しドライバSRDDRV、電源制御回路VHCNT、電源選択回路VHSELおよび書き込みドライバSWRDRVを有している。
コラムアドレスセレクタCASEL2は、読み出しセクタ信号RSECを受けているときに、コラムデコードアドレス信号RCDAをコラムデコードアドレス信号CDAとして出力する。コラムアドレスセレクタCASEL2は、書き込みセクタ信号WSECを受けているときに、コラムデコードアドレス信号WCDAをコラムデコードアドレス信号CDAとして出力する。コラムアドレスセレクタCASEL2は、消去モード信号EMDを受けているときに、セクタ選択信号SSEL0<0>−SSEL0<3>をロウレベルにするために、非選択を示すコラムデコードアドレス信号CDAを出力する。
電源制御回路VHCNTは、書き込みセクタ信号WSEC、消去モード信号EMDおよびベリファイモード信号VMDに基づいて、プログラム動作PGM、プリプログラム動作PPGMを検出しているときにプログラムモード信号PMDをハイレベルに活性化する。ベリファイモード信号VMDは、ステートマシーン16により生成され、プログラムベリファイ動作PGMV、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVが実行されるときにハイレベルに活性化される。電源選択回路VHSELは、プログラムモード信号PMDが非活性化されているときに、電源電圧VDDより高いハイレベル電圧VD5をハイレベル電圧線VSSELに出力する。電源選択回路VHSELは、プログラムモード信号PMDが活性化されているときに、電源電圧VDDより高いハイレベル電圧VPGMをハイレベル電圧線VSSELに出力する。
コラム線ドライバSSELDRVは、読み出し動作RD、プログラム動作PGM、プログラムベリファイ動作PGMV、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVにおいて、コラムデコードアドレス信号CDAに応じてセクタ選択信号SSEL0<0>−SSEL0<3>の1つをハイレベル電圧VSSELに設定し、他のセクタ選択信号SSELをロウレベル電圧VSSに設定する。コラム線ドライバSSELDRVは、内部消去動作ERSにおいて、非選択状態のコラムデコードアドレス信号CDAに応じて、全てのセクタ選択信号SSEL0<0>−SSEL0<3>をロウレベル電圧VSSに設定する。
読み出しドライバSRDDRVは、活性化された読み出しセクタ信号RSECを受けているときに、読み出し選択信号SRD0をハイレベル電圧VD5に活性化する。読み出しドライバSRDDRVは、非活性化された読み出しセクタ信号RSECを受けているときに、読み出し選択信号SRD0をロウレベル電圧VSSに非活性化する。書き込みドライバSWRDRVは、活性化された書き込みセクタ信号WSECを受けているときに、書き込み選択信号SWR0をハイレベル電圧VSSELに活性化する。書き込みドライバSWRDRVは、非活性化された書き込みセクタ信号WSECを受けているときに、書き込み選択信号SWR0をロウレベル電圧VSSに非活性化する。
電源選択回路VPWSELは、選択されたセクタSECの消去動作時に活性化される消去モード信号EMDを受けているときに、ハイレベル電圧VEPWをウエル領域PWに供給する。電源選択回路VPWSELは、非活性化された消去モード信号EMDを受けているときに(消去動作以外のときに)、接地電圧VSSをウエル領域PWに供給する。ウエル領域PWは、図7に示したセルトランジスタCTのバックゲートであり、セクタSEC毎に電気的に分離されている。
例えば、ハイレベル電圧VD5、VPGM、VEPWおよび負電圧VERSは、半導体メモリMEM内に形成される内部電圧生成回路により生成される。図21に示すように、内部電圧生成回路により生成されるハイレベル電圧VPGMの値は、実行される動作の種類に応じて異なる。
図12は、図11に示したロウアドレスセレクタRASEL2およびコラムアドレスセレクタCASEL2の例を示している。ロウアドレスセレクタRASEL2は、ロウプリデコードアドレス信号RPDA0−15をそれぞれ出力するアドレスセレクタASELを有している。ロウプリデコードアドレス信号RPDA0−15は、16ビットのロウプリデコードアドレス信号RRPDA0−15または16ビットのロウプリデコードアドレス信号WRPDAに対応する。
コラムアドレスセレクタCASEL2は、コラムデコードアドレス信号CDA0−3をそれぞれ出力するアドレスセレクタASELを有している。コラムデコードアドレス信号CDA0−3は、4ビットのコラムデコードアドレス信号RCDAまたは4ビットのコラムデコードアドレス信号WCDAに対応する。アドレスセレクタASELは、互いに同じ回路であり、ナンドゲートNAND1、NAND2、NAND3を有している。
ナンドゲートNAND1は、ハイレベルの読み出しセクタ信号RSECを受けているときに有効になり、インバータとして動作する。ナンドゲートNAND2は、ハイレベルの書き込みセクタ信号WSECおよびロウレベルの消去モード信号EMDを受けているときに有効になり、インバータとして動作する。また、ナンドゲートNAND2は、ハイレベルの消去モード信号EMDを受けているときに無効になりハイレベルを出力する。ナンドゲートNAND3は、負論理のオアゲートとして動作する。
図13は、図11に示したセクタ選択制御回路SSELCNT内の読み出しドライバSRDDRV、電源選択回路VHSELおよび書き込みドライバSWRDRVの例を示している。図13は、セクタSEC0に対応するセクタ選択制御回路SSELCNTを示している。
読み出しドライバSRDDRVは、読み出しセクタ信号RSECのハイレベルを電源電圧VDDからハイレベル電圧VD5に変換するシフトレジスタLSFTと、シフトレジスタLSFTの出力を受け、読み出し選択信号SRD0を出力するバッファ回路BUFを有している。バッファ回路BUFは、ハイレベル電圧VD5を電源電圧として受け、論理1の読み出し選択信号SRD0のレベルをハイレベル電圧VD5に設定する。
電源制御回路VHCNTは、書き込みセクタ信号WSECがハイレベルに非活性化中で、消去モード信号EMDおよびベリファイモード信号VMDがロウレベルに非活性化中に、プログラムモード信号PMDをハイレベルに設定する。すなわち、書き込み動作のプログラム動作PGMまたは消去動作のプリプログラム動作PPGMが実行されるとき(内部消去動作ERS、プログラムベリファイ動作PGMV、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVのいずれでもないとき)、プログラムモード信号PMDは活性化される。電源制御回路VHCNTは、書き込みセクタ信号WSECがロウレベルに非活性化中、消去モード信号EMDがハイレベルに活性化中またはベリファイモード信号VMDがハイレベルに活性化中に、プログラムモード信号PMDをロウレベルに設定する。
電源選択回路VHSELは、ハイレベル電圧線VVSELを電圧線VD5または電圧線VPGMに接続するスイッチ回路SW1、SW2を有している。スイッチ回路SW1は、プログラムモード信号PMDがロウレベルのときにオンし、プログラムモード信号PMDがハイレベルのときにオフする。スイッチ回路SW2は、プログラムモード信号PMDがロウレベルのときにオフし、プログラムモード信号PMDがハイレベルときにオンする。図13は、スイッチ回路SW2がオンし、電圧線VPGがハイレベル電圧線VVSELに供給されている状態を示している。
書き込みドライバSWRDRVは、書き込みセクタ信号WSECのハイレベルを電源電圧VDDからハイレベル電圧VSSELに変換するシフトレジスタLSFTと、シフトレジスタLSFTの出力を受け、書き込み選択信号SWR0を出力するバッファ回路BUFを有している。バッファ回路BUFは、ハイレベル電圧VSSELを電源電圧として受け、論理1の書き込み選択信号SWR0のレベルをハイレベル電圧VSSELに設定する。
図14は、図5に示したコラム制御回路YSELCNTの例を示している。図14は、セクタSEC0に対応するコラム制御回路YSELCNTを示している。コラム制御回路YSELCNTは、アンド回路AND1、AND2およびオア回路OR1を有している。アンド回路AND1は、読み出し制御信号IORD0がハイレベルに活性化されているときに有効になり、コラムデコードアドレス信号RCDA4−7をオア回路OR1に出力する。アンド回路AND2は、書き込み制御信号IOWR0がハイレベルに活性化されているときに有効になり、コラムデコードアドレス信号WCDA4−7をオア回路OR1に出力する。オア回路OR1は、コラムデコードアドレス信号RCDA4−7またはWCDA4−7をコラム選択信号YSEL0<0>−YSEL0<3>として出力する。
図15は、図5に示した入力データ制御部34の例を示している。入力データ制御部34は、ラッチ回路LT1、スキップ生成回路SKIP、シフトレジスタSFTR1および書き込みビットセレクタWBSELを有している。
ラッチ回路LT1は、書き込み動作の開始時に、ラッチクロック信号LCLKに同期して書き込みデータDW0−DW7およびパリティデータDWPの論理をラッチし、ラッチした論理を内部データ信号IDI0−IDI8として出力する。なお、ラッチ回路LT1は、消去動作の開始時に、内部データ信号IDI0−8を論理0にリセットする機能を有している。例えば、ラッチ回路LT1をリセットするリセット信号は、タイミング制御部18により生成される。スキップ生成回路SKIPは、内部データ信号IDI0−8の論理をスキップ信号SSKIP0−8として出力する。
シフトレジスタSFTR1は、シフトイン信号SIN、シフトクロック信号SCK、リセット信号RSTBおよび第2サイクル信号2NDCYCに応じて動作し、出力信号OUT0−OUT8およびシフトアウト信号SOUTを出力する。出力信号OUT0−OUT8は、メモリ領域I/O0−I/O8(入力データID0−7、IDP)に対応しており、メモリ領域I/O0−I/O8のメモリセルMCがプログラムされるときにハイレベルにそれぞれ設定される。シフトレジスタSFTR1の例は、図16に示す。
書き込みビットセレクタWBSELは、内部データ信号IDI0−8、出力信号OUT0−8、転送信号TRANS、内部消去信号IERSBに応じて動作し、読み出し制御信号IORD0−8、書き込み制御信号IOWR0−8および入力データ信号ID0−7、IDPを出力する。書き込みビットセレクタWBSELの例は、図17に示す。
例えば、ラッチクロック信号LCLK、シフトイン信号SIN、シフトクロック信号SCK、リセット信号RSTB、第2サイクル信号2NDCYC、転送信号TRANSおよび内部消去信号IERSBは、図5に示したタイミング制御部18により書き込み動作時および消去動作時に生成される。
図16は、図15に示したシフトレジスタSFTR1の例を示している。シフトレジスタSFTR1は、スイッチ回路ISW、ラッチ回路ILT、入力データID0−7、IDPに対応する9個のステージSTG0−STG8、スイッチ回路OSW、ラッチ回路OLT、フィードバックスイッチFBSWを有している。
スイッチ回路ISWは、例えば、CMOS伝達ゲートを有しており、シフトクロック信号SCKC0がハイレベルのときにオンして、シフトイン信号SINの論理をラッチ回路ILTに伝達する。シフトクロック信号SCKC0は、第2サイクル信号2NDCYCがロウレベルのときに、シフトクロック信号SCKの論理が反転されて生成される。なお、第2サイクル信号2NDCYCがハイレベルのとき、シフトクロック信号SCKの論理を反転することにより、フィードバックスイッチFBSWを動作するシフトクロック信号S2CKC0が生成される。
出力信号OUT0−OUT8を出力するステージSTG0−STG8は、互いに同じ回路であるため、出力信号OUT0を出力するステージSTG0について説明する。ステージSTG0は、入力端子I1と出力端子O1の間に直列に接続されるスイッチ回路FSW、ラッチ回路FLT、スイッチ回路RSW、ラッチ回路RLTと、入力端子I1とラッチ回路RLTの入力との間に配置されるスキップスイッチ回路SKSWとを有している。
スイッチ回路FSWは、例えば、CMOS伝達ゲートを有しており、スキップ信号SSKIP0がロウレベルに非活性化されているときに、シフトクロック信号SCKの論理と同じ論理を有するシフトクロック信号SCKT0のハイレベル期間にオンする。なお、ステージSTG1−STG8は、対応するスキップ信号SSKIP1−SSKIP8にそれぞれ応答して動作する。
ラッチ回路FLTは、クロックドNANDゲートを有しており、ロウレベルのシフトクロック信号SCKT0を受けている間に入力で受けた論理を保持し、ハイレベルのシフトクロック信号SCKT0を受けている間にインバータとして動作する。クロックドNANDゲートは、ロウレベルのシフトクロック信号SCKT0を受けている間にNANDゲートとして動作し、ハイレベルのシフトクロック信号SCKT0を受けている間に出力をハイインピーダンス状態に設定する。
ラッチ回路FLTは、ロウレベルのリセット信号RSTBに応答してリセットされ、出力信号OUT0をロウレベルに設定する。そして、ラッチ回路FLTは、シフトクロック信号SCKT0がハイレベルの間に入力端子I1の論理レベルを受け、論理レベルを反転して出力信号OUT0として出力する。ラッチ回路FLTは、シフトクロック信号SCKT0の立ち下がりエッジに同期して受けている論理レベルをラッチする。
スイッチ回路RSWは、スキップ信号SSKIP0がロウレベルに非活性化されているときに、シフトクロック信号SCKの論理を反転して生成されるシフトクロック信号SCKC1のハイレベル期間にオンする。ラッチ回路RLTは、出力信号OUT0の論理レベルをラッチし、ラッチしている論理レベルを反転して出力端子O1に出力する。
スキップスイッチ回路SKSWは、スキップ信号SSKIP0がハイレベルに活性化されているときにオンし、入力端子I1の論理が反転された論理をラッチ回路RLTの入力に伝達する。スキップ信号SSKIP0が活性化されているとき、シフトクロック信号SCKT0、SCKC1は、ロウレベルに固定されるため、スイッチ回路FSW、RSWはオフ状態に保持され、出力信号OUT0はロウレベルに維持される。
スイッチ回路OSWは、シフトクロック信号SCKの論理と同じ論理を有するシフトクロック信号SCK9Tのハイレベル期間にオンする。ラッチ回路OLTは、クロックドNANDゲートを有している。クロックドNANDゲートは、ロウレベルのシフトクロック信号SCK9Tを受けている間にNANDゲートとして動作し、ハイレベルのシフトクロック信号SCK9Tを受けている間に出力をハイインピーダンス状態に設定する。
ラッチ回路OLTは、ロウレベルのリセット信号RSTBに応答してリセットされ、シフトアウト信号SOUTをロウレベルに設定する。そして、ラッチ回路OLTは、シフトクロック信号SCKT9がハイレベルの間に、ステージSTG8の出力端子の論理レベルを受け、受けた論理レベルを反転してシフト出力信号SOUTとして出力する。ラッチ回路OLTは、シフトクロック信号SCKT9の立ち下がりエッジに同期して受けている論理レベルをラッチする。
フィードバックスイッチFBSWは、シフトクロック信号S2CKC0がハイレベルのときにオンし、出力信号OUT8の論理レベルをラッチ回路ILTの入力に伝達する。シフトクロック信号S2CKC0は、第2サイクル信号2NDCYCがハイレベルのときに、シフトクロック信号SCKの論理を反転して生成される。シフトレジスタLSFTの動作の例は、図23および図26から図29に示す。
図17は、図15に示した書き込みビットセレクタWBSELの例を示している。書き込みビットセレクタWBSELは、内部データ信号IDI0−8にそれぞれ対応するビットセレクタBS0−BS8を有している。ビットセレクタBS0−BS8は、互いに同じ回路であるため、ビットセレクタBS0について説明する。
ビットセレクタBS0は、クロックドインバータIVP、ラッチ回路LTPおよびアンド回路ANDPおよびナンドゲートNANDPを有している。クロックドインバータIVPは、転送信号TRANSがハイレベルのときにインバータとして動作し、出力信号OUT0の論理を反転してラッチ回路LTPに伝達する。例えば、転送信号TRANSは、図16に示したシフトクロック信号SCKを遅延回路で遅延させた信号である。ラッチ回路LTPは、ラッチしている論理をアンド回路ANDPおよびナンドゲートNANDPに出力する。
アンド回路ANDPは、論理レベルが互いに逆の書き込み制御信号IOWR0および読み出し制御信号IORD0を生成する信号生成回路の一例である。アンド回路ANDPは、内部消去信号IERSBがロウレベルに活性化されているときに、すなわち対応するメモリ領域I/O0の内部消去動作ERSが実行されているときに、ハイレベルの読み出し制御信号IORD0と、ロウレベルの書き込み制御信号IOWR0を出力する。アンド回路ANDPは、内部消去信号IERSBがハイレベルに非活性化されているときに、ラッチ回路LTPに保持している出力信号OUT0の論理に応じて読み出し制御信号IORD0および書き込み制御信号IOWR0を出力する。このように、簡易なアンド回路ANDPにより、書き込み制御信号IOWR0および読み出し制御信号IORD0を生成できる。なお、アンド回路ANDPは、書き込みビットセレクタWBSELの外部に、データ入力制御部34とは独立させて、スイッチ制御部として形成されてもよい。
ラッチ回路LTPがロウレベルの出力信号OUT0をラッチしているとき、アンド回路ANDPは、読み出し動作を実行可能にするために、ハイレベルの読み出し制御信号IORD0とロウレベルの書き込み制御信号IOWR0を出力する。ラッチ回路LTPがハイレベルの出力信号OUT0をラッチしているとき、アンド回路ANDPは、書き込み動作を実行するために、ロウレベルの読み出し制御信号IORD0とハイレベルの書き込み制御信号IOWR0を出力する。
なお、書き込みビットセレクタWBSELは、書き込みコマンドを受けないスタンバイ期間に、全ての出力信号OUT0−8をロウレベルに設定する。このとき、全ての読み出し制御信号IORD0−8はハイレベルに活性化され、全ての読み出しスイッチRSW2はオンする。読み出しコマンドが供給される前に読み出しスイッチRSW2を予めオンさせておくことで、読み出しコマンドに応答する読み出し動作を迅速に開始でき、アクセス効率を向上できる。
ナンドゲートNANDPは、内部消去信号IERSBがロウレベルに活性化されているときに、ハイレベルの入力データID0を出力する。ナンドゲートNANDPは、内部消去信号IERSBがハイレベルに非活性化され、かつラッチ回路LTPがハイレベルの出力信号OUT0をラッチしているときに、対応するメモリ領域I/Oの書き込み動作を実行するために、内部データ信号IDI0を入力データID0として出力する。
書き込みビットセレクタWBSELのアンド回路ANDPは、プログラム動作PGM、プログラムベリファイ動作PGMV、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSにおいて、書き込みデータDW0−7、DWPが書き込まれるメモリ領域I/Oに対応する書き込みスイッチWSW2を順にオンするために書き込み制御信号IOWRを順に活性化するスイッチ制御部として動作する。また、書き込みビットセレクタWBSELのアンド回路ANDPは、読み出し動作RDにおいて、オンしている書き込みスイッチWSW2に接続されていないグローバルビット線GBLに対応する読み出しスイッチRSW2をオンするために読み出し制御信号IORDを活性化するスイッチ制御部として動作する。
図18は、図5に示した半導体メモリMEMのコマンド入力の例を示している。読み出し動作を実行するための読み出しコマンドは、クロック信号CLKの立ち上がりエッジに同期して、ロウレベルのチップイネーブル信号/CE、ハイレベルのライトイネーブル信号/WEを受けるときに認識される。図5に示したコマンドデコーダ12は、読み出しコマンドRDを認識したときに、読み出しコマンド信号RDCを出力する。半導体メモリMEMは、読み出しコマンド信号RDCに応答して読み出し動作を開始する。そして、半導体メモリMEMは、読み出しコマンドRDとともにアドレス端子ADで受けるアドレス信号A1が示すメモリセルMCからデータD1を読み出し、読み出したデータD1を次のクロック信号CLKに同期してデータ出力端子DOから出力する。
書き込み動作を実行するための書き込みコマンドは、ロウレベルのチップイネーブル信号/CEおよびライトイネーブル信号/WEとともに、アドレス端子ADでプログラムコードPC1、PC2、PC3と書き込みアドレスPA1とを受け、データ入力端子DIでプログラムコードPC1、PC2、PC3と書き込みデータD1とを受けるときに認識される。コマンドデコーダ12は、書き込みコマンドを認識した次のクロック信号CLKに同期して、アドレス端子ADに供給される書き込みアドレスPA1とデータ入力端子DIに供給される書き込みデータD1とを受け、書き込みコマンド信号WRCを出力する。半導体メモリMEMは、書き込みコマンド信号WRCに応答して書き込み動作を開始する。
消去動作を実行するための消去コマンドは、ロウレベルのチップイネーブル信号/CEおよびライトイネーブル信号/WEとともに、アドレス端子ADで消去コードEC1、EC2、EC3と消去アドレスEA1を受け、データ入力端子DIで消去コードEC1、EC2、EC3を受けるときに認識される。コマンドデコーダ12は、消去コマンドを認識した次のクロック信号CLKに同期して、アドレス端子ADに供給される消去アドレスEA1(セクタアドレスSA)を受け、消去コマンド信号ERSCを出力する。半導体メモリMEMは、消去コマンド信号ERSCに応答して消去動作を開始する。
図19は、図5に示した半導体メモリMEMの読み出し動作、書き込み動作および消去動作のシーケンスの例を示している。図19に示すシーケンスは、図5に示したステートマシーン16の制御により実行される。
半導体メモリMEMは、スタンバイ状態STBY中に読み出しコマンドRDCを受けると、アドレス信号ADにより指定されたメモリセルMCの読み出し動作RDを実行する。メモリセルMCから読み出されるデータは、データ出力端子IOに出力される。ステートマシーンSTMは、読み出し動作RDの完了後、スタンバイ状態STBYに戻る。スタンバイ状態STBYは、半導体メモリMEMにコマンド信号が供給されていない状態である。
半導体メモリMEMは、スタンバイ状態STBY中に書き込みコマンドWRCを受けると、アドレス信号ADにより指定されたメモリセルMCのプログラムベリファイ動作PGMVを実行する。プログラムベリファイ動作PGMVは、メモリセルMCがプログラム状態(論理0;閾値電圧は高い)であることを確認するために実行される。半導体メモリMEMは、メモリセルMCの閾値電圧が所定値より低いとき(Fail)、プログラム動作PGMを実行する。そして、メモリセルMCの閾値電圧が所定値を超えるまでプログラムベリファイ動作PGMVとプログラム動作PGMが繰り返される。半導体メモリMEMは、メモリセルMCの閾値電圧が所定値を超えたとき(Pass)、スタンバイ状態STBYに戻る。すなわち、書き込み動作が完了する。このように、書き込み動作は、プログラムベリファイ動作PGMVおよびプログラム動作PGMを含んでいる。半導体メモリMEMは、書き込み動作を実行中に、書き込みビジー信号WRBSYをフラグ信号としてフラグ端子FLG0に出力する。
半導体メモリMEMは、スタンバイ状態STBY中に消去コマンドERSCを受けると、プリプログラムベリファイ動作PPGMVを実行する。プリプログラムベリファイ動作PPGMVは、プログラムベリファイ動作PGMVと同じ動作であり、メモリセルMCがプログラム状態(論理0;閾値電圧は高い)であることを確認するために実行される。半導体メモリMEMは、プリプログラムベリファイ動作PPGMVにおいて、メモリセルMCの閾値電圧が所定値より低いとき(Fail)、プリプログラム動作PPGMを実行する。プリプログラム動作PPGMは、プログラム動作PGMと同じ動作である。プリプログラムベリファイ動作PPGMVは、アドレス信号ADを順次更新しながら、セクタSEC内の全てのメモリセルMCで実行される。
これにより、セクタSEC内の全てのメモリセルMCは、閾値電圧の高いプログラム状態に設定される。全てのメモリセルMCがプログラム状態に設定された後、内部消去動作ERSが実行されることで、消去状態のメモリセルMCの閾値電圧がばらつくことを防止できる。
セクタSECにおける全てのメモリセルMCのプリプログラムベリファイ動作PPGMVが完了すると(Pass)、消去ベリファイ動作ERSVが実行される。消去ベリファイ動作ERSVは、メモリセルMCが消去状態(論理1;閾値電圧は低い)であることを確認するために実行される。消去ベリファイ動作ERSVは、アドレス信号ADを順次更新しながら、セクタSEC内の全てのメモリセルMCで実行される。
半導体メモリMEMは、消去ベリファイ動作ERSVにおいて、セクタ内のメモリセルMCの少なくともいずれかの閾値電圧が所定値より高いとき(Fail)、内部消去動作ERSを実行する。内部消去動作ERSは、セクタSEC単位で実行される。半導体メモリMEMは、セクタSEC内の全てのメモリセルMCの閾値電圧が消去状態になったとき(Pass)、スタンバイ状態STBYに戻る。このように、消去動作は、プリプログラムベリファイ動作PPGMV、プリプログラム動作PPGM、消去ベリファイ動作ERSVおよび内部消去動作ERSを含んでいる。半導体メモリMEMは、消去動作を実行中に、消去ビジー信号EBSYをフラグ信号としてフラグ端子FLG1に出力する。
図20は、図7に示したセルトランジスタCTの閾値電圧の分布の例を示している。消去状態は、メモリセルMCが論理1を保持している状態であり、セルトランジスタCTの閾値電圧が相対的に低い状態である。プログラム状態は、メモリセルMCが論理0を保持している状態であり、セルトランジスタCTの閾値電圧が相対的に高い状態である。
セルトランジスタCTの閾値電圧は、コントロールゲートCG(すなわち、ワード線WL)にゲート電圧VGを与えるときに、セルトランジスタCTのソース、ドレイン間に流れるセル電流の値が、基準電流より大きいか否かにより判定される。例えば、基準電流は、メモリセルアレイARY内に形成されるリファレンスメモリセルのセル電流を利用して生成される。
プログラムベリファイ動作PGMVおよびプリプログラムベリファイ動作PPGMVは、ゲート電圧VGをハイレベル電圧VPGM(例えば、6V)に設定して実行される。消去ベリファイ動作ERSVは、ゲート電圧VGをハイレベル電圧VPGM(例えば、3V)に設定して実行される。
読み出し動作RDは、ゲート電圧VGをハイレベル電圧VD5(例えば、5V)に設定して実行される。そして、セルトランジスタCTに流れるセル電流の値が基準電流の値より大きいときに、メモリセルMCに論理1が保持されていると判定される。セルトランジスタCTに流れるセル電流の値が基準電流の値より小さいときに、メモリセルMCに論理0が保持されていると判定される。なお、読み出し動作RD時のハイレベル電圧VD5の値は、プログラムベリファイ動作PGMVでのハイレベル電圧VPGMと消去ベリファイ動作ERSVでのハイレベル電圧VPGMの中間の値(例えば、4.5V)に設定されてもよい。
図21は、図5に示した半導体メモリMEMの読み出し動作、書き込み動作および消去動作における信号線の電圧の例を示している。なお、図21に示した電圧値は一例であり、これ等以外の値でもよい。読み出しセクタ信号RSECは、読み出し動作RDが実行されるときにハイレベルHに活性化される。書き込みセクタ信号WSECは、プログラム動作PGM、プログラムベリファイ動作PGMV、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMV、内部消去動作ERSおよび消去ベリファイ動作ERSVが実行されるときにハイレベルHに活性化される。
消去モード信号EMDは、内部消去動作ERSが実行されるときにハイレベルHに活性化される。ベリファイモード信号VMDは、プログラムベリファイ動作PGMV、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVが実行されるときにハイレベルHに活性化される。プログラムモード信号PMDは、プログラム動作PGMおよびプリプログラム動作PPGMが実行されるときにハイレベルHに活性化される。
ワード線WLをハイレベルに設定するためのハイレベル電圧線VWLHは、読み出し動作RD時にハイレベル電圧VD5に設定され、それ以外の動作PGM、PGMV、PPGM、PPGMV、ERS、ERSV時にハイレベル電圧VPGMに設定される。ハイレベル電圧VPGMの値は、実行する動作の種類に応じて異なる。ワード線WLをロウレベルに設定するためのロウレベル電圧線VWLLは、内部消去動作ERS時に負電圧VERSに設定され、それ以外の動作RD、PGM、PGMV、PPGM、PPGMV、ERSV時に接地電圧VSSに設定される。
セクタ選択信号SSELおよび読み出し選択信号SRDのハイレベルを設定するためのハイレベル電圧線VSSELは、プログラム動作PGM時およびプリプログラム動作PPGM時にハイレベル電圧VPGMに設定され、内部消去動作ERS時に接地電圧VSSに設定され、それ以外の動作RD、PGMV、PPGMV、ERSV時にハイレベル電圧VD5に設定される。
セルトランジスタCTのバックゲートであるウエル領域PWの電圧は、内部消去動作ERS時にハイレベル電圧VEPWに設定され、それ以外の動作RD、PGM、PGMV、PPGM、PPGMV、ERSV時に接地電圧VSSに設定される。
図22は、図5に示した半導体メモリMEMの読み出し動作、書き込み動作および消去動作におけるセルトランジスタCTに印加される電圧の例を示している。なお、図22に示した電圧値は一例であり、これ等以外の値でもよい。ソース線SLは、内部消去動作ERS時にフローティング状態FLTに設定され、それ以外の動作RD、PGM、PGMV、PPGM、PPGMV、ERSV時に接地電圧VSSに設定される。
読み出し動作RD、プログラムベリファイ動作PGMV、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVでは、ローカルビット線LBLは、図8に示したプリチャージ回路PREにより電源電圧VDDにプリチャージされる。なお、電源電圧VDDは、1.8Vに限定されない。プログラム動作PGMおよびプリプログラム動作PPGMでは、ローカルビット線LBLは、図8に示したライトアンプWAによりハイレベル電圧VD5に設定される。その他の電圧は、図21にしたがって設定される。
図23は、図5に示した半導体メモリMEMの書き込み動作時の入力データ制御部34の動作の例を示している。この例では、半導体メモリMEMは、書き込みコマンドWを受け、アドレス信号ADにより選択されるセクタSECである書き込みメモリブロックの書き込み動作を実行する。なお、書き込みコマンドWが供給されるタイミングは、図18において書き込みデータD1が供給されるクロックサイクルを示している。半導体メモリMEMは、書き込み動作が実行されるセクタSECと別のセクタSECである読み出しメモリブロックに対する読み出しコマンドRを連続して受け、読み出し動作を繰り返し実行する。すなわち、図23は、入力動作、第1スイッチ動作に並行して第2スイッチ動作が実行される例を示している。なお、入力動作、第1スイッチ動作および第2スイッチ動作の定義は、図1の説明と同様である。
プログラムアクティブ信号PGMACTは、プログラム動作PGM、プログラムベリファイ動作PGMV、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMV、内部消去動作ERS、消去ベリファイ動作ERSVを実行するときにセクタSECを活性化するための基本タイミング信号である。読み出しアクティブ信号RDACTは、読み出し動作RDを実行するときにセクタSECを活性化するための基本タイミング信号である。プログラムアクティブ信号PGMACTおよび読み出しアクティブ信号RDACTは、例えば、タイミング制御部18により生成される。
この例では、データ入力端子DI0−7に供給される書き込みデータD1は、2進数で”1101 1110”であり、パリティデータDWP(偶数パリティ)は”0”である。このため、内部データ信号IDI2、IDI7、IDI8はロウレベルに設定され、内部データ信号IDI0、IDI1、IDI3−IDI6は、ハイレベルに設定される(図23(a))。書き込み動作は、論理1(消去状態)のメモリセルMCを論理0に設定する動作である。このため、図23の例では、書き込みデータD1の論理0のビットに対応するメモリ領域I/O2、I/O7と、パリティデータDWPに対応するメモリ領域I/O8に対して、書き込み動作が順に実行される。
プログラムアクティブ信号PGMACTに示した”<>”内の数字は、メモリ領域I/Oの番号を示している。1回のプログラムアクティブ信号PGMACTの活性化期間に、1つのメモリ領域I/Oのプログラムベリファイ動作PGMVとプログラム動作PGMとが実施される。すなわち、書き込みコマンドWに応答する書き込み動作は、1ビットずつ実行される。
タイミング制御部18は、プログラムベリファイ動作PGMVを実行するメモリ領域I/Oに対応するベリファイ信号VRFY(VRFY0−VRFY8の1つ)をハイレベルに活性化する。図8に示したベリファイセレクタVSELは、ベリファイ信号VRFYの活性化を受けて、プログラムベリファイ動作PGMVを実行するメモリ領域I/OのメモリセルMCから読み出される論理を、ベリファイ出力データ線OVD(OVD0−OVD9の1つ)に出力する。そして、ベリファイ出力データ線OVD上の読み出しデータが論理0のとき、メモリセルMCがプログラムされたと判定される(ベリファイパス)。
図5に示したタイミング制御部18は、書き込みコマンドWに応答してシフトイン信号SINおよびシフトクロック信号SCKを生成する(図23(b))。書き込み動作では、第2サイクル信号2NDCYCはロウレベルに非活性化されている。このため、シフトクロック信号SCKに同期して、シフトクロック信号SCKC0が生成される(図23(c))。シフトクロック信号SCKC0に同期してスイッチ回路ISWがオンし、シフトイン信号SINのハイレベルは、ラッチ回路ILTにラッチされ、ステージSTG0の入力端子I1にロウレベルが供給される。
図15に示したスキップ生成回路SKIPは、内部データ信号IDI0−8と同じ論理を有するスキップ信号SSKIP0−8を出力する。このため、スキップ信号SSKIP0−1、3−6はハイレベルに設定され、スキップ信号SSKIP2、7−8はロウレベルLに設定される(図23(d))。ロウレベルのスキップ信号SSKIP2、7−8に応答して、シフトクロック信号SCKC0とともに、シフトクロックSCKのレベルを反転させたシフトクロック信号SCKC3、8−9が生成される(図23(e))。また、シフトクロックSCKと同じレベルのシフトクロック信号SCKT2、7−8が、シフトクロック信号SCKT9とともに生成される(図23(f))。
ハイレベルのスキップ信号SSKIP0、1、3−6に対応するシフトクロック信号SCKT0、1、3−6およびシフトクロック信号SCKC1、2、4−7は、ロウレベルに設定される(図23(g、h))。
ハイレベルのスキップ信号SSKIP0、1、3−6を受けるステージSTG0、1、3−6のスキップスイッチ回路SKSWはオンし、入力端子I1をラッチ回路RLTの入力に伝達する。これにより、シフトイン信号SINの反転レベルは、ステージSTG2の入力端子I1まで伝達される。ステージSTG2のスイッチ回路FSWは、ハイレベルのシフトクロック信号SCKCT2に応答してオンし、入力端子I1で受けるハイレベルをラッチ回路FLTに伝達する。ラッチ回路FLTは、ロウレベルをラッチし、出力信号OUT2をハイレベルに変化させる(図23(i))。
ステージSTG2のスイッチ回路RSWは、シフトクロックSCKC3のハイレベルへの変化によりオンする(図23(j))。このため、ステージSTG2のラッチ回路FLTは、スイッチ回路RSWを介してラッチ回路RLTに接続される。ステージSTG2のラッチ回路FLTに保持されている論理は、ラッチ回路RLTに保持され、ステージSTG2の出力端子O1は、ロウレベルを出力する。ハイレベルのスキップ信号SSKIP3−6により、ステージSTG2の出力端子O1は、スキップスイッチ回路SKSWおよびラッチ回路RLTを介してステージSTG7の入力端子I1に接続されている。このため、ステージSTG2の出力端子O1のロウレベルは、ステージSTG7の入力端子I1まで伝達される。
オンされるスキップスイッチ回路SKSWを有するステージSTG0、1、3−6のスイッチ回路FSW、RSWは、ロウレベルのシフトクロック信号SCKC、SCKTを受けてオフする。このため、ラッチ回路FLTは、リセット状態に保持され、ロウレベルの出力信号OUT0、1、3−6をそれぞれ出力する。
図17に示した書き込みビットセレクタWBSELのビットセレクタBS2は、ハイレベルの出力信号OUT2を、シフトクロック信号SCKから生成される転送信号TRANSに同期してラッチし、書き込み制御信号IOWR2をハイレベルに設定し、読み出し制御信号IORD2および入力データID2をロウレベルに設定する(図23(k))。また、書き込みビットセレクタWBSELは、他の書き込み制御信号IOWR0−1、3−8をロウレベルに設定し、他の読み出し制御信号IORD0−1、3−8をハイレベルに設定する。
これにより、メモリ領域I/O2の書き込み動作が実行され、他のメモリ領域I/O0、1、3−8の読み出し動作が実行可能になる。書き込み制御信号IOWR2のハイレベルおよび読み出し制御信号IORD2のロウレベルは、次のシフトクロックSCKに応答する転送信号TRANSが生成されるまで保持される(図23(l))。次のシフトクロックSCKは、メモリ領域I/O2の書き込み動作の完了に応答して生成される。
次のシフトクロックSCKに応答して、シフトクロックSCKT7がハイレベルに変化し、シフトクロック信号SCKC8がロウレベルに変化する(図23(m、n))。ステージSTG7のスイッチ回路FSWは、ハイレベルのシフトクロック信号SCKCT7に応答してオンし、入力端子I1で受けるロウレベルをラッチ回路FLTに伝達する。これにより、ラッチ回路FLTは、ロウレベルをラッチし、出力信号OUT7をハイレベルに変化させる(図23(o))。
ステージSTG7のスイッチ回路RSWは、シフトクロックSCKC8のハイレベルへの変化によりオンする(図23(p))。このため、ステージSTG7のラッチ回路FLTに保持されている論理は、ラッチ回路RLTに転送され、ステージSTG7の出力端子O1は、ロウレベルを出力する。
書き込みビットセレクタWBSELのビットセレクタBS7は、ハイレベルの出力信号OUT7を、転送信号TRANSに同期してラッチする。ビットセレクタBS7は、書き込み制御信号IOWR7をハイレベルに設定し、読み出し制御信号IORD7および入力データID7をロウレベルに設定する(図23(q))。なお、入力端子I1でハイレベルを受けるステージSTG2は、シフトクロック信号SCKT2の立ち上がりエッジに同期して出力信号OUT2をロウレベルに設定する(図23(r))。このため、書き込み制御信号IOWR2および入力データID2はロウレベルに設定され、読み出し制御信号IORD2はハイレベルに設定される(図23(s))。
これにより、メモリ領域I/O7の書き込み動作が実行され、他のメモリ領域I/O0−6、8の読み出し動作が実行可能になる。この後、次のシフトクロック信号SCKに同期して出力信号OUT8がハイレベルに変化し、書き込み制御信号IOWR8がハイレベルに設定される(図23(t、u))。読み出し制御信号IORD8および入力データID8はロウレベルに設定される(図23(v))。そして、メモリ領域I/O8の書き込み動作が実行され、他のメモリ領域I/O0−7の読み出し動作が実行可能になる。
次のシフトクロック信号SCKに応答して、シフトクロック信号SCKT9が生成され、スイッチ回路OSWがオンする(図23(w))。これにより、ステージSTG8の出力端子O1から出力されているロウレベルがラッチ回路OLTにラッチされ、シフトアウト信号SOUTがハイレベルに設定される(図23(x))。そして、書き込み動作が完了する。
タイミング制御部18は、書き込み動作の完了に応答してラッチクロック信号LCLK(図15)を出力する。これにより、ラッチ回路LT1は初期化され、全ての内部データ信号IDI0−8はロウレベルに設定され、スキップ信号SSKIP0−8はロウレベルに変化する(図23(y、z))。
なお、メモリ領域I/O7の書き込み動作は、読み出しアクティブ信号RDACTがハイレベルに活性化されている期間(読み出し動作の実行中)に終了する(図23(A))。タイミング制御部18は、グローバルビット線GBL上で読み出しデータと書き込みデータとが衝突することを防止するために、次の書き込み動作のためのプログラムアクティブ信号PGMACTを、読み出し動作が完了した後にハイレベルに活性化する(図23(B))。
図24は、図5に示した半導体メモリMEMの書き込み動作の例を示している。この例では、図23と同様に、半導体メモリMEMは、書き込みコマンドWとともに2進数で”1101 1110”の書き込みデータD1と、プログラムアドレスPGMADとを受け、書き込み動作を実行する。半導体メモリMEMは、セクタSECの1つで書き込み動作を実行中に、別のセクタSECに対する読み出しコマンドRを連続して受け、読み出し動作を実行する。書き込みコマンドWが供給されるタイミングは、図23と同様に、図18において書き込みデータD1が供給されるクロックサイクルを示している。
実線で示した横方向に延びる矢印は、1つのメモリ領域I/Oの書き込み動作(PGMV、PGM)が実行されている期間を示している。白い矩形枠は、書き込み動作が実行されていない、読み出し動作が実行可能なメモリ領域I/Oを示している。X印を付けた矩形枠は、書き込み動作により読み出し動作を実行できないメモリ領域I/Oを示している。
メモリ領域I/O2の書き込み動作が実行されている間、メモリ領域I/O2の読み出し動作は実行できない。これは、メモリ領域I/O2に接続されたグローバルビット線GBL2は、入力データID2およびプログラムベリファイ動作PGMVのためにメモリセルMCから読み出されるデータに使用されるためである。このため、図5に示したデータ再生部36は、他のメモリ領域I/O0−1、3−8から読み出される出力データOD0−1、3−7、ODPを用いて、メモリ領域I/O2に保持されている出力データOD2を再生する(図24(a))。
同様に、メモリ領域I/O7の書き込み動作が実行されている間、データ再生部36は、読み出し動作を実行できないメモリ領域I/O7から読み出すべきデータを再生する(図24(b))。メモリ領域I/O8の書き込み動作が実行されている間、データ再生部36は、読み出し動作を実行できないメモリ領域I/O8から読み出すべきデータを再生する(図24(c))。
書き込み動作が実行されていないとき、読み出しデータは、全てのメモリ領域I/O0−8から読み出し可能である。このとき、データ再生部36は、破線のX印で示すように、メモリ領域I/O8からの出力データ(図5のODP)をマスクして、出力データOD0−7を読み出しデータDR0−7として出力する(図24(d))。
図25は、図5に示した半導体メモリMEMの書き込み動作におけるメモリコア40の状態の例を示している。図25では、説明を簡単にするために、メモリコア40が5つのメモリ領域I/O0−I/O3、I/O8と、2つのセクタSEC0−SEC1を有する例を示す。メモリ領域I/O8は、パリティデータDWPを記憶する。矩形は、読み出しスイッチRSW1、RSW2および書き込みスイッチWSW1、WSW2を示している。黒い矩形はオン状態を示し、白い矩形はオフ状態を示している。
この例では、セクタSEC0のメモリ領域I/O2にデータを書き込むために書き込み動作が実行される。書き込み動作の実行中に、セクタSEC1の読み出し動作が実行される。セクタSEC0のメモリ領域I/O2のローカルビット線LBLは、書き込み選択信号SWR0および書き込み制御信号IOWR2の活性化によりオンする書き込みスイッチWSW1−2を介してグローバルビット線GBL2に接続される。そして、グローバルビット線GBL2は、入力データID2のメモリセルMCへのプログラムと、メモリセルMCからのベリファイ出力データOVD2の読み出しに使用される。
セクタSEC1のメモリ領域I/O0のローカルビット線LBLは、読み出し選択信号SRD1および読み出し制御信号IORD0の活性化によりオンする読み出しスイッチRSW1−2を介してグローバルビット線GBL0に接続される。同様に、セクタSEC1のメモリ領域I/O1、3、8のローカルビット線LBLも、グローバルビット線GBL1、3、8にそれぞれ接続される。そして、グローバルビット線GBL0、1、3、8は、セクタSEC1のメモリセルMCからの出力データOD0、1、3、ODPの読み出しに使用される。
図26から図29は、図5に示した半導体メモリMEMの消去動作時の入力データ制御部34の動作の例を示している。図23と同じ動作については、詳細な説明は省略する。この例では、半導体メモリMEMは、消去コマンドEを受け、アドレス信号ADにより選択されるセクタSECである消去メモリブロックの消去動作を実行する。なお、消去コマンドEが供給されるタイミングは、図18において消去アドレスEA1(セクタアドレス)が供給されるクロックサイクルを示している。半導体メモリMEMは、消去動作を実行中に、別のセクタSECに対する読み出しコマンドRを連続して受け、読み出し動作を繰り返し実行する。
消去動作は、図9に示したように、プリプログラムベリファイ動作PPGMV、プリプログラム動作PPGM、消去ベリファイ動作ERSVおよび内部消去動作ERSを含む。図26から図28では、プリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGMが実行される。図26の右端の読み出しコマンドRは、図27の左端の読み出しコマンドRを示している。図27の右端の読み出しコマンドRは、図28の左端の読み出しコマンドRを示している。
プリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGMは、セクタSEC内の全てのメモリセルMCで実行される。このため、図15に示した入力データ制御部34は、全ての内部データ信号IDI0−8を論理0にリセットする(図26(a))。これにより、全てスキップ信号SSKIP0−8は、ロウレベルLに設定される。すなわち、シフトレジスタSFTR1のステージSTG0−8をスキップする動作は禁止され、シフトレジスタSFTR1は、出力信号OUT0−OUT8を順に生成する。
プリプログラムベリファイ動作PPGMVは、セクタSEC内の全てのメモリセルMCに対して実行されることを除き、プログラムベリファイ動作PGMVと同じである。プリプログラム動作PPGMも、セクタSEC内の全てのメモリセルMCに対して実行されることを除き、プログラム動作PGMと同じ動作である。プリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGMは、1つのアドレス値RA、CAの1つのメモリ領域I/O毎にペアで実行される。シフトイン信号SINおよびシフトクロック信号SCKが生成され、プリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGMが開始されるまでは、出力信号OUT2の代わりに出力信号OUT0が活性化されることを除き、図23と同様である。
消去動作では、最初のシフトクロック信号SCKが生成された後、第2サイクル信号2NDCYCがハイレベルに活性化される(図26(b))。このため、これ以降のシフトクロック信号SCKに同期してシフトクロック信号S2CKC0が生成される(図26(c))。シフトクロック信号S2CKC0の位相は、シフトクロック信号SCKの位相と逆である。シフトクロック信号S2CKC0がハイレベルの間、図16に示した、フィードバックスイッチFBSWがオンし、ステージSTG8の出力端子O1(=OUT8)は、ラッチ回路ILTを介してステージSTG0の入力端子I1に接続される。すなわち、シフトレジスタSFTR1は、循環タイプのシフトレジスタとして動作する。
具体的には、1つのアドレス値RA、CAに対応する9つのメモリ領域I/Oのプリプログラムベリファイ動作PPGMVとプリプログラム動作PPGMのペアが完了すると、シフトレジスタSFTR1は、シフトアウト信号SOUTを出力し、ステージSTG0から出力信号OUT0を出力する動作を再び開始する。このとき、タイミング制御部18は、シフトアウト信号SOUTに応答して、図9に示したアドレス制御部20に供給するアドレスクロック信号ACLKを生成する。そして、次のアドレス値RA、CAに対応する9つのメモリ領域I/Oのプリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGMのペアが実行される。例えば、図28において、アドレス(RA=0、CA=0)のメモリ領域I/O8のプリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGM<8>のペアが完了すると、次のアドレス(RA=0、CA=1)のメモリ領域I/O0のプリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGM<0>のペアが開始される。アドレス値RA、CAは、図9に示したように、コラムアドレス信号CA、ロウアドレス信号RAの順に更新される。
図29に示したプリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGM<8>のペアは、データを消去するセクタSEC内の最終アドレス(RA=63、CA=15)のメモリ領域I/O8の書き込み動作を示している。この書き込み動作により、消去動作が実行されるセクタSEC内の全てのメモリセルMCは、論理0(プログラム状態)に設定される。換言すれば、消去動作が実行されるセクタSECにおいて全てのセルトランジスタCTの閾値電圧は、相対的に高くなり、プログラム状態に設定される。全てのセルトランジスタCTの閾値電圧がプログラム状態に設定された後に、内部消去動作ERSが実行されることで、内部消去動作ERS時にセルトランジスタCTの閾値電圧が負になること、すなわち、過消去を防止できる。
内部消去動作ERSが開始される前に、タイミング制御部18は、内部消去信号IERSBをロウレベルに活性化する(図29(a))。図17に示した書き込みビットセレクタWBSELは、ロウレベルの内部消去信号IERSBに基づいて、全ての読み出し制御信号IORD0−IORD8をハイレベルに活性化し、全ての書き込み制御信号IOWR0−IOWR8をロウレベルに非活性化する。また、書き込みビットセレクタWBSELは、全ての入力データID0−ID8をハイレベルに設定する。これにより、内部消去動作ERSを実行するセクタSECで書き込み動作が実行されることが防止される。
なお、内部消去動作ERSが実行されるセクタSECでは、読み出し選択信号SRDは活性化されず、読み出しスイッチRSW1はオフ状態に維持される。このため、読み出し制御信号IORD0−IORD8の活性化により読み出しスイッチRSW2がオンしても、内部消去動作ERSが実行されるセクタSEC内のローカルビット線LBLは、グローバルビット線GBLに接続されない。ローカルビット線LBLは、図22に示したようにフローティング状態FLTに保持される。
内部消去信号IERSBが活性化された後、プログラムアクティブ信号PGMACTが活性化され、内部消去動作ERSが実行される(図29(b))。内部消去動作ERSは、予め設定された時間実行される。タイミング制御部18は、内部消去動作ERSの間、シフトクロック信号SCKの生成を停止する。このため、シフトレジスタSFTR1は、シフト動作を停止し、出力信号OUT0をハイレベルに活性化し続ける(図29(c))。
内部消去動作ERSの終了後、タイミング制御部18は、消去ベリファイ動作ERSVを開始するために、内部消去信号IERSBを非活性化し、プログラムアクティブ信号PGMACTを活性化する(図29(d、e))。アドレス制御部20の出力値は、消去ベリファイ動作ERSVの開始前にアドレスクロック信号ACLKを受けてRA=0、CA=0に戻っている。シフトレジスタSFTR1は、出力信号OUT0を活性化している。このため、メモリ領域I/O0のRA=0、CA=0の消去ベリファイ動作ERSV<0>が開始される。
シフトクロック信号SCKの出力は、最初の消去ベリファイ動作ERSV<0>が実行された後に再開される(図29(f))。第2サイクル信号2NDCYCがハイレベルHに保持されているため、シフトレジスタSFTR1は、循環タイプのシフトレジスタとして動作する。消去ベリファイ動作ERSVは、内部消去動作ERSが実行されたセクタSEC内の全てのメモリセルMCが論理1に設定されていることを確認するために実行される。
消去ベリファイ動作ERSVは、プリプログラムベリファイ動作PPGMVと同様に、メモリ領域I/O0−I/O8を順に変えながら1ビットずつ実行される。1つのアドレス値RA、CAに対応する9つのメモリ領域I/O0−I/O8の消去ベリファイ動作ERSVが完了すると、シフトレジスタSFTR1は、ステージSTG0から出力信号OUT0を出力する動作を再び開始する。タイミング制御部18は、アドレス値RA、CAを更新するために、アドレスクロック信号ACLKを出力する。そして、次のアドレス値RA、CAに対応する9つのデータの消去ベリファイ動作ERSVが順に実行され、消去動作を実行した全てのメモリセルMCの論理が確認される。アドレス値RA、CAは、消去ベリファイ動作ERSV中に、図9に示したように、コラムアドレス信号CA、ロウアドレス信号RAの順に更新される。
タイミング制御部18は、消去ベリファイ動作ERSVを実行するメモリ領域I/Oに対応するベリファイ信号VRFY(VRFY0−VRFY8のいずれか)をハイレベルに活性化する。図8に示したベリファイセレクタVSELは、ベリファイ信号VRFYの活性化を受けて、消去ベリファイ動作ERSVを実行するメモリ領域I/OのメモリセルMCから読み出される論理を、ベリファイ出力データ線OVD(OVD0−OVD9のいずれか)に出力する。そして、ベリファイ出力データ線OVD上の読み出しデータが論理1のとき、メモリセルMCのデータが消去されたと判定される(ベリファイパス)。
なお、消去ベリファイ動作ERSVは、読み出し動作RDと同じ時間で実行可能である。このため、消去ベリファイ動作ERSV中に、タイミング制御部18は、読み出しアクティブ信号RDACTと同じ周期でプログラムアクティブ信号PGMACTを生成してもよい。
図30および図31は、図5に示した半導体メモリMEMの消去動作の例を示している。図24と同じ動作および同じ表記については、詳細な説明は省略する。図30は、消去動作におけるプリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGMの例を示している。プリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGMを実行中のメモリ領域I/Oは、読み出し動作が実行できない。読み出し動作が実行できないメモリ領域I/Oからの読み出しデータは、図24と同様に、他のメモリ領域I/Oから読み出されるデータを用いて再生される。
図31の最初のプリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGM<8>は、データを消去するセクタSEC内の最終アドレス(RA=63、CA=15)の動作を示している。この例では、プリプログラムベリファイ動作PPGMVがパスし、内部消去動作ERSが開始される。内部消去動作ERS中、読み出しデータは、全てのメモリ領域I/O0−I/O8から読み出し可能である。このとき、図24と同様に、メモリ領域I/O8からの出力データはマスクされ、メモリ領域I/O0−I/O7から出力されるデータが読み出しデータとして出力される。
消去動作ESR後、図29と同様に、消去ベリファイ動作ERSVが実行される。消去ベリファイ動作ERSVにより読み出し動作が実行できないメモリ領域I/Oからの読み出しデータは、図24と同様に、他のメモリ領域I/Oから読み出されるデータを用いて再生される。
図32は、図5に示した半導体メモリMEMの内部消去動作ERSにおけるメモリコア40の状態の例を示している。図25と同じ要素については、詳細な説明は省略する。図32においても、図25と同様に、メモリコア40が5つのメモリ領域I/O0−I/O3、I/O8と、2つのセクタSEC0−SEC1を有する例を示す。
この例では、セクタSEC0内のメモリセルMCのデータを消去するために内部消去動作ERSが実行される。内部消去動作ERSの実行中に、セクタSEC1の読み出し動作が実行される。図29で説明したように、内部消去動作ERS中、全ての読み出し制御信号IORD0−IORD8が活性化され、全ての読み出しスイッチRSW2がオンする。読み出しコマンドが供給される前に読み出しスイッチRSW2を予めオンさせておくことで、読み出しコマンドに応答する読み出し動作を迅速に開始でき、アクセス効率を向上できる。内部消去動作ERS中の読み出し動作では、セクタSEC1の全てのメモリ領域I/O0−I/O3、I/O8からデータが読み出される。但し、内部消去動作ERS中の読み出し動作では、メモリ領域I/O8からの出力データはマスクされ、メモリ領域I/O0−I/O2から出力されるデータが読み出しデータとして出力される。
なお、プリプログラムベリファイ動作PPGMV、プリプログラム動作PPGMおよび消去ベリファイ動作ERSVにおけるメモリコア40の状態は、図25と同様である。すなわち、プリプログラムベリファイ動作PPGMV、プリプログラム動作PPGMおよび消去ベリファイ動作ERSVが実行されるメモリ領域I/Oのローカルビット線LBLは、グローバルビット線GBLに接続される。そして、プリプログラムベリファイ動作PPGMV、プリプログラム動作PPGMおよび消去ベリファイ動作ERSVが実行されるメモリ領域I/Oに保持されているデータは、他のメモリ領域I/Oからの読み出しデータを用いて再生される。
図33は、図5に示した半導体メモリMEMの消去動作の別の例を示している。図24および図31と同じ動作および同じ表記については、詳細な説明は省略する。この例では、セクタSEC0のアドレス(RA=18、CA=3)のメモリ領域I/O2の消去ベリファイ動作ERSVがフェイルし、内部消去動作ERSが再び実行される。内部消去動作ERSが完了後、同じアドレス(RA=18、CA=3)の同じメモリ領域I/O2の消去ベリファイ動作ERSVが再び実行される。その後、セクタSEC0内の残りの全てのアドレス値RA、CAについて、メモリ領域I/O毎に消去ベリファイ動作ERSVが実行される。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、プログラム動作PGM、プログラムベリファイ動作PGMV、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVが実行されている期間に、読み出しコマンドに応答して読み出し動作を実行でき、読み出しデータをデータ出力端子DOに出力できる。
半導体メモリMEMは、ラッチ回路を含み読み出し動作に使用するアドレスプリデコーダ22と、ラッチ回路を含み書き込み動作および消去動作に使用するアドレスプリデコーダ24とを独立に有している。このため、書き込み動作中または消去動作に、書き込み動作または消去動作に必要なアドレス信号ADを保持しながら、読み出し動作に必要なアドレス信号ADを受けて保持できる。したがって、書き込み動作中または消去動作中に、読み出し動作を並行して実行できる。
半導体メモリMEMは、書き込み動作中または消去動作中のセクタSECに対する読み出しコマンドを受けたときに、読み出しコマンドを無効にし、読み出し動作の実行を禁止する。これにより、書き込み動作または消去動作と読み出し動作とが重複して実行されることを防止でき、半導体メモリMEMの誤動作を防止できる。さらに、半導体メモリMEMは、読み出しコマンドを無効にしたときに、セクタエラー信号SERRを出力する。これにより、半導体メモリMEMにアクセスするCPU等のコントローラは、読み出しコマンドの無効を知ることができ、不正な読み出しデータを受けることを防止できる。この結果、システムSYSの誤動作を防止でき、システムSYSの信頼性を向上できる。
書き込みコマンドを受けないスタンバイ期間に、全ての読み出しスイッチRSW2はオンしておくことで、読み出しコマンドに応答する読み出し動作を迅速に開始でき、アクセス効率を向上できる。
半導体メモリMEMは、データが読み出せないメモリ領域I/Oを、書き込み動作または消去動作の実行を制御しているステートマシーン16の状態から認識できる。このため、パリティ生成部32およびデータ再生部36を半導体メモリMEMに内部に形成することで、1ビットのパリティデータDWPにより読み出しデータを再生できる。
図34は、別の実施形態におけるアドレス制御部20Aの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。アドレス制御部20Aを除く半導体メモリMEMの構成は、図5と同様である。すなわち、アドレス制御部20Aが形成される半導体メモリMEMは、フラッシュメモリ等の不揮発性半導体メモリである。
アドレス制御部20Aは、コラムアドレスカウンタCACOUNTおよびコラムアドレスセレクタCASEL1と、ロウアドレスカウンタRACOUNTおよびロウアドレスセレクタRASEL1とが、図9に対して入れ替えて形成されている。すなわち、ロウアドレスカウンタRACOUNTはアドレスクロック信号ACLKに同期してカウント動作し、内部ロウアドレス信号IRAの値を更新する。コラムアドレスカウンタCACOUNTは内部ロウアドレス信号IRAが一巡する毎にカウント動作し、内部コラムアドレス信号ICAの値を更新する。
コラムアドレスカウンタCACOUNTおよびロウアドレスカウンタRACOUNTは、プリプログラム動作PPGM、プリプログラムベリファイ動作PPGMVおよび消去ベリファイ動作ERSVが開始される前にリセットされ、カウンタ値がゼロに設定される。このため、コラムアドレスカウンタCACOUNTは、内部ロウアドレス信号IRAの最大値IRAmaxからゼロへの変化に同期してカウント動作する。アドレス制御部20Aのその他の構成は、図9に示したアドレス制御部20と同じである。以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。
図35は、別の実施形態における半導体メモリMEMの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の半導体メモリMEMは、図5に示したタイミング制御部18および入力データ制御部34の代わりに、タイミング制御部18Bおよび入力データ制御部34Bを有している。タイミング制御部18Bは、タイミング制御部18と同様に、動作制御部として動作する。半導体メモリMEMのその他の構成は、図5と同様である。すなわち、半導体メモリMEMは、フラッシュメモリである。なお、アドレス制御部20の代わりに、図34に示したアドレス制御部20Aが形成されてもよい。
タイミング制御部18Bは、図5に示したタイミング制御部18から第2サイクル信号2NDCYC(図16)を生成する機能を削除している。また、タイミング制御部18Bは、消去動作時にアドレス制御部20に供給するアドレスクロック信号ACLKおよびシフトクロック信号SCKの生成間隔を、図5に示したタイミング制御部18による生成間隔と相違させている。
例えば、アドレスクロック信号ACLKは、タイミング制御部18Bにより、各メモリ領域I/Oのプリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGMのペアが完了される毎に生成され、各メモリ領域I/Oの消去ベリファイ動作ERSVが完了される毎に生成される。
例えば、シフトクロック信号SCKは、プリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGMのペアと、消去ベリファイ動作ERSVとにおいて、アドレス値RA、CAが一巡する毎に生成される。換言すれば、シフトクロック信号SCKは、各メモリ領域I/Oにおいて、全てのメモリセルMCに対するプリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGMのペアの完了と、全てのメモリセルMCに対する消去ベリファイ動作ERSVの完了とにそれぞれ応答して生成される。例えば、タイミング制御部18Bは、アドレス値RA、CAの一巡を、アドレス値がRA=63、CA=15からRA=0、CA=0に戻ることにより検出する。
これにより、選択されたセクタSECにおいて、メモリ領域I/O内の全てのメモリセルMCのプリプログラム動作PPGMが完了する毎に、データが書き込まれるメモリ領域I/Oが切り換えられ、活性化される書き込み制御信号IOWRおよび読み出し制御信号IORDが切り換えられる。また、選択されたセクタSECにおいて、メモリ領域I/O内の全てのメモリセルMCの消去ベリファイ動作ERSV毎に、データが書き込まれるメモリ領域I/Oが切り換えられ、活性化される書き込み制御信号IOWRおよび読み出し制御信号IORDが切り換えられる。換言すれば、オンする書き込みスイッチWSW2および読み出しスイッチRSW2は、各メモリ領域I/Oの全てのプリプログラム動作PPGMおよび全ての消去ベリファイ動作ERSVがそれぞれ完了する毎に切り換えられる。
図36は、図35に示した入力データ制御部34Bの例を示している。入力データ制御部34Bは、図16に示したシフトレジスタSFTR1の代わりにシフトレジスタSFTR2を有している。シフトレジスタSFTR2は、第2サイクル信号2NDCYCを受けない。入力データ制御部34Bのその他の構成は、図15に示した入力データ制御部34と同じである。
図37は、図36に示したシフトレジスタSFTR2の例を示している。シフトレジスタSFTR2は、シフトクロック信号S2CKC0を生成する回路、フィードバックスイッチFBSWおよび出力信号OUT8をラッチ回路ILTの入力接続するフィードバックパスを、図16に示したシフトレジスタSFTR1から削除している。シフトレジスタSFTR2のその他の構成は、図16に示したシフトレジスタSFTR1と同じである。
図38および図39は、図35に示した半導体メモリMEMの消去動作の例を示している。図24、図30および図31と同じ動作および同じ表記については、詳細な説明は省略する。図38および図39は、図30および図31に対応する動作を示している。この実施形態では、プリプログラムベリファイ動作PPGMV、プリプログラム動作PPGMのペアおよび消去ベリファイ動作ERSVにおいて、アドレス値RA、CAが一巡した後に、メモリ領域I/Oが切り替わる。
例えば、図38に示すように、消去動作の開始時において、プリプログラムベリファイ動作PPGMVおよびプリプログラム動作PPGMのペアは、アドレス信号RA、CAが一巡するまで、メモリ領域I/O0で実行される。同様に、図39に示すように、消去ベリファイ動作ERSVは、アドレス信号RA、CAが一巡するまで、メモリ領域I/O0で実行される。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、プリプログラムベリファイ動作PPGMV、プリプログラム動作PPGMのペアおよび消去ベリファイ動作ERSVにおいて、アドレス値RA、CAが一巡した後に、メモリ領域I/Oが切り替わる半導体メモリMEMにおいても、1つのセクタSECの書き込み動作中または消去動作中に、別のセクタSECの読み出し動作を実行でき、アクセス効率を向上できる。
図40は、別の実施形態におけるメモリコア40Cの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。メモリコア40Cを除く半導体メモリMEMの構成は、図5と同様である。すなわち、メモリコア40Cが形成される半導体メモリMEMは、フラッシュメモリ等の不揮発性半導体メモリである。
この実施形態では、メモリコア40Cは、各セクタSEC0−SEC31において、メモリ領域I/O0−I/O8毎にワードデコーダWDECおよびセクタ選択制御回路SSELCNTを有している。図6および図7に示した読み出しスイッチRSW1−RSW2および書き込みスイッチWSW1−WSW2は形成されない。図6および図7に示した読み出しスイッチRSW2を制御する読み出し制御信号IORD0−IORD8は、コラム制御回路YSELCNTに供給され、コラムスイッチYSWを制御するために使用される。図6および図7に示した書き込みスイッチWSW2を制御する書き込み制御信号IOWR0−IOWR8は、コラム制御回路YSELCNTに供給され、コラムスイッチYSWを制御するために使用される。
図6および図7に示した読み出しスイッチRSW1を制御する読み出し選択信号SRD0−SRD31は、セクタ選択制御回路SSELCNTに供給され、セクタスイッチSSWを制御するために使用される。図6および図7に示した書き込みスイッチWSW1を制御する書き込み選択信号SWR0−SWR31は、セクタ選択制御回路SSELCNTに供給され、セクタスイッチSSWを制御するために使用される。
この実施形態では、ワードデコーダWDECおよびセクタ選択制御回路SSELCNTがメモリ領域I/O0−I/O8毎に形成されるため、各セクタSECにおいて、メモリ領域I/O0−I/O8毎にワード線WLを個別に選択できる。これにより、1つのセクタSECで書き込み動作を実行中に、同じセクタSECの読み出し動作を実行できる。以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。なお、この実施形態の半導体メモリMEMでは、図9に示したアドレス制御部20の代わりに図34に示したアドレス制御部20Aが形成されてもよい。また、図15に示した入力データ制御部34の代わりに図36に示した入力データ制御部34Bが形成されてもよい。
図41は、上述した半導体メモリMEMが搭載されるシステムSYSの例を示している。システムSYS(ユーザシステム)は、例えば、携帯機器等のマイクロコンピュータシステムの少なくとも一部を含んでいる。システムSYSの形態は、シリコン等の基板上に複数のマクロが集積されたシステムオンチップ、あるいはパッケージ基板上に複数のチップが搭載されたシステムインパッケージのいずれでもよい。
例えば、システムSYSは、上述した半導体メモリMEMのいずれかと、CPU(Central Processing Unit)、ROM(Read Only Memory)および周辺回路PERI1、PERI2とを有している。CPU、ROM、周辺回路PERI1、PERI2および半導体メモリMEMは、システムバスSBUSにより互いに接続されている。例えば、半導体メモリMEMは、システムSYSで使用され、順次更新されるパラメータやデータを保持する。ROMは、CPUにより実行されるプログラムを格納している。
CPUは、ROMに格納されているプログラムを実行し、半導体メモリMEMにアクセスし、システムSYSの動作を制御する。すなわち、CPUは、半導体メモリMEMのアクセスを制御するコントローラとして動作する。各周辺回路PERI1、PERI2は、システムSYSに接続される入力装置または出力装置等を制御する。入力装置は、スイッチ、マイク、カメラ、タッチパネル、スイッチ等である。出力装置は、ディスプレイ、スピーカー、プリンタ等である。
図42は、別の実施形態における半導体メモリMEMの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
この実施形態の半導体メモリMEMは、図5に示した入力データバッファ26、出力データバッファ28、入力データ制御部34、出力データ制御部38およびメモリコア40の代わりに入力データバッファ26D、出力データバッファ28D、入力データ制御部34D、出力データ制御部38Dおよびメモリコア40Dを有している。また、半導体メモリMEMは、図5に示したパリティ生成部32およびデータ再生部38を有していない。半導体メモリMEMのその他の構成は、図5と同様である。すなわち、半導体メモリMEMは、フラッシュメモリである。
なお、アドレス制御部20の代わりに、図34に示したアドレス制御部20Aが形成されてもよい。また、タイミング制御部18の代わりに図35に示したタイミング制御部18Bが形成されてもよい。このとき、入力データ制御部34Dは、図16に示したシフトレジスタSFTR1の代わりに図37に示したシフトレジスタSFTR2を有する。
入力データバッファ26Dは、データ入力端子DI(DI0−DI7)およびパリティデータ入力端子DIP(DIP0−DIP3)を介して書き込みデータおよびパリティデータを受け、書き込みデータ線DW0−7およびパリティデータ線DWP0−3に出力する。入力データバッファ26Dは、パリティデータ入力端子DIPを介して4ビットのパリティデータを受けることを除き、図5に示した入力データバッファ26と同じ回路である。
出力データバッファ28Dは、読み出し動作時に出力データ制御部36から受ける読み出しデータOD(OD0−7)およびパリティデータODP(ODP0−3)をデータ出力端子DO(DO0−7)およびパリティデータ出力端子DOP(DOP0−3)に出力する。出力データバッファ28Dは、4ビットのパリティデータODPをパリティデータ出力端子DOPに出力することを除き、図5に示した出力データバッファ28と同じ回路である。
入力データ制御部34Dは、書き込み動作中のプログラム動作PGMおよび消去動作中のプリプログラム動作PPGMにおいて、並列の書き込みデータDW(DW0−7、DWP0−3)を直列の入力データID(ID0−7、IDP0−3)としてアンプAMPに順に出力する。また、入力データ制御部34Dは、アンプAMPに供給される入力データIDに対応する書き込み制御信号IOWR(IOWR0−IOWR11のいずれか)をハイレベルに活性化し、入力データIDに対応しない読み出し制御信号IORD(IORD0−IORD11の1つを除く全て)をハイレベルに活性化する。書き込み制御信号IOWR8−11および読み出し制御信号IORD8−11は、パリティデータDWP0−3に対応するメモリ領域I/O8−I/O11のアクセスを制御するために生成される。入力データ制御部34Dは、書き込みDWP0−3、書き込み制御信号IOWR8−11および読み出し制御信号IORD8−11を出力することを除き、図5に示した入力データ制御部34と同じ回路である。入力データ制御部34Dの例は、図43に示す。
出力データ制御部38Dは、出力データOD0−OD7、ODP0−ODP3を受け、受けた出力データを出力データバッファ28Dに出力する。出力データ制御部38Dは、パリティデータである出力データODP0−ODP3を出力することを除き、図5に示した出力データ制御部38と同じ回路である。
メモリコア40Dは、メモリ領域I/Oが9個から12個(I/O0−I/O11)に増えていることを除き、図5に示したメモリコア40と同様である。メモリ領域I/O0−I/O7は、データ入力端子DI0−DI7で受けるデータを保持し、メモリ領域I/O8−I/O11は、パリティデータ入力端子DIP0−DIP3で受けるパリティデータを保持する。なお、メモリ領域I/Oの数が増えるため、アンプAMPの数やコラムスイッチYSWの数などは増える。これに伴い、コラム制御回路YSELCNT等が生成するコラム選択信号YSEL等の制御信号の数は増える。
図43は、図42に示した入力データ制御部34Dの例を示している。入力データ制御部34Dは、書き込みデータDW(DW0−7、DWP0−3)のビット数の増加に伴い、内部データ信号IDI0−11、スキップ信号SSKIP0−11、出力信号OUT0−11のビット数を増加している。このため、シフトレジスタSFTR1のステージSTGの数は、12個である。入力データ制御部34Dのその他の構成は、図15に示した入力データ制御部34と同様である。
図44は、上述した半導体メモリMEMが搭載されるシステムSYSの例を示している。図41と同じ要素については、詳細な説明は省略する。システムSYSは、図41のシステムSYSにエラー訂正システムECCSYSを追加して形成されている。システムSYSのその他の構成は、図41のシステムSYSと同じである。すなわち、システムSYSは、例えば、携帯機器等のマイクロコンピュータシステムの少なくとも一部を含んでいる。
エラー訂正システムECCSYSは、パリティ生成部およびデータ再生部を有している。パリティ生成部は、半導体メモリMEMに書き込むための書き込みデータWD0−WD7をシステムバスSBUSから受け、データ入力信号DI0−7として半導体メモリMEMに出力する。また、パリティ生成部は、書き込みデータWD0−WD7を用いて、パリティデータ入力信号DIP0−3を生成し、半導体メモリMEMに出力する。そして、データ入力信号DI0−7およびパリティデータ入力信号DIP0−3のうち論理0の信号に対応するメモリセルMCの書き込み動作が実行される。
データ再生部は、半導体メモリMEMの読み出し動作時に、半導体メモリMEMからデータ出力信号DO0−7およびパリティデータ出力信号DOP0−3を受ける。データ再生部は、データ出力信号DO0−7に含まれるエラーをパリティデータ出力信号DOP0−3を用いて訂正し、読み出しデータ信号RD0−7としてシステムバスSBUSに出力する。すなわち、データ再生部は、書き込み動作または消去動作により、メモリセルMCから読み出せないデータ出力信号DO0−7のいずれかを、データ出力信号DO0−7およびパリティデータ出力信号DOP0−3に基づいて再生する。
半導体メモリMEMがプログラムベリファイ動作PGMV、プログラム動作PGM、プリプログラムベリファイ動作PPGMV、プリプログラム動作PPGMおよびプログラムベリファイ動作PPGMVのいずれかを実行しているとき、エラー訂正システムECCSYSは、どのメモリ領域I/Oの書き込み動作または消去動作を実行しているか判断できない。すなわち、エラー訂正システムECCSYSは、書き込み動作または消去動作により、データ出力信号DO0−7のどのビットにエラーが発生しているか判断できない。しかし、この実施形態では、8ビットのデータに対して4ビットのパリティデータを付加することで、データ出力信号DO0−7中の1ビットのエラー検出とエラー訂正を実行できる。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、半導体メモリMEMが、図5に示したパリティ生成部32およびデータ再生部38を有していないときにも、システムSYS上にエラー訂正システムECCSYSを形成することで、書き込み動作中および消去動作中に読み出し動作を実行できる。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。