(57)【要約】【課題】実際のメモリ使用時においてメモリセルに不良が発生した時、その不良部分を冗長セルに置き換えることができる半導体メモリを提供する。【解決手段】情報格納メモリ９は、メモリセルとメモリセルの出力を読み込む第１のラッチと、第１のラッチの出力を読み込む第２のラッチによって構成されている。制御回路３はメモリセルに書き込んだ後、書き込んだデータを書き込みしきい値より僅かに低い確認レベルで読み出して第１のラッチに書き込み、第１のラッチに書き込んだデータについて書き込み確認を行い、書き込み確認が終了後、メモリセルのデータを確認レベルより低い読み出しレベルで読み出して第１のラッチに書き込み、次いで第１のラッチのデータを第２のラッチに書き込む。そして、第２のラッチ内のデータに基づいて不良ブロックを冗長ブロックに置き換える。【選択図】図１
2007164844.tif 000002
【特許請求の範囲】
【請求項１】
複数の主記憶ブロックと、前期主記憶ブロックが不良となった場合に置き換えるための複数の冗長ブロックとを有するメモリアレイと、
前記冗長ブロックの使用状態が書き込まれる情報格納メモリと、
前記情報格納メモリに書き込まれたデータを読み出す読み出し回路と、
前記情報格納メモリに書き込まれたデータを判別する判別回路（センスアンプ）と
前記判別回路の情報を記憶する記憶手段と、
を具備する半導体メモリにおいて、
データを判別回路で読み出す手段は、書き込みベリファイ時のゲート電圧より低い電圧で読み出すことを特徴とした半導体メモリ。
【請求項２】
複数の記憶ブロックと、複数の冗長ブロックとを有するメモリアレイと、
前記冗長ブロックの使用状態が書き込まれる情報格納メモリと、
外部回路から消去指示を受けて前記記憶ブロックを消去し、次いで、消去済みの記憶ブロックのデータを読み出して確認し、消去が正しく行われない場合に、その記憶ブロックのアドレスを前記情報格納メモリに前記冗長ブロックと対応させて書き込む消去手段と、
外部回路から書き込み／読み出し指令およびアドレスを受けて前記情報格納メモリをチェックし、前記外部回路から受けたアドレスに対応するアドレスが前記情報格納メモリに書き込まれている場合はそのアドレスに対応する冗長ブロックにアクセスし、書き込まれていない場合は外部回路から受けたアドレスが指示する記憶ブロックにアクセスする書き込み／読み出し手段と、
を具備する半導体メモリにおいて、
前記情報格納メモリは、不揮発性メモリセルと前記不揮発性メモリセルの出力を読み込む第１の揮発性メモリと、前記第１の揮発性メモリの出力を読み込む第２の揮発性メモリによって構成され、
前記消去手段は前記不揮発性メモリセルに書き込んだ後、書き込んだデータを書き込みしきい値より僅かに低い確認レベルで読み出して前記第１の揮発性メモリに書き込み、前記第１の揮発性メモリに書き込んだデータについて書き込み確認を行い、該書き込み確認が終了後、前記不揮発性メモリセルのデータを前記確認レベルより低い読み出しレベルで読み出して前記第１の揮発性メモリに書き込み、次いで前記第１の揮発性メモリのデータを前記第２の揮発性メモリに書き込み、該第２の揮発性メモリのデータを前記書き込み／読み出し手段へ出力することを特徴とする半導体メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ等の半導体メモリに関する。
【背景技術】
【０００２】
周知のように、フラッシュメモリにはリダンダンシ機能が設けられている。この機能は、予めメモリセルに冗長セル（不使用セル）を設けておき、メモリセルの一部に不良が発生した場合に、不良部分を冗長セルに置き換え、これにより歩留まりの向上を図る機能である。
従来、この冗長セルの置き換えは出荷前のテスト工程で行われており、テスト時においてメモリセルの不良が発生すると、このリダンダンシ機能によって不良部分が冗長セルに置き換えられ、これにより、チップ不良を防ぐことができる。
なお、従来のリダンダンシ機能に関する文献として特許文献１が知られている。
【特許文献１】特開2000-276896号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は上記事情を考慮してなされたもので、その目的は、出荷前のテスト工程だけでなく、実際のメモリ使用時においてメモリセルに不良が発生した時、その不良部分を冗長セルに置き換えることができる半導体メモリを提供することにある。
【課題を解決するための手段】
【０００４】
この発明は上記の課題を解決するためになされたもので、請求項１に記載の発明は、複数の主記憶ブロックと、前期主記憶ブロックが不良となった場合に置き換えるための複数の冗長ブロックとを有するメモリアレイと、前記冗長ブロックの使用状態が書き込まれる情報格納メモリと、前記情報格納メモリに書き込まれたデータを読み出す読み出し回路と、前記情報格納メモリに書き込まれたデータを判別する判別回路（センスアンプ）と、前記判別回路の情報を記憶する記憶手段と、を具備する半導体メモリにおいて、データを判別回路で読み出す手段は、書き込みベリファイ時のゲート電圧より低い電圧で読み出すことを特徴とした半導体メモリでる。
請求項２に記載の発明は、複数の記憶ブロックと、複数の冗長ブロックとを有するメモリアレイと、前記冗長ブロックの使用状態が書き込まれる情報格納メモリと、外部回路から消去指示を受けて前記記憶ブロックを消去し、次いで、消去済みの記憶ブロックのデータを読み出して確認し、消去が正しく行われない場合に、その記憶ブロックのアドレスを前記情報格納メモリに前記冗長ブロックと対応させて書き込む消去手段と、外部回路から書き込み／読み出し指令およびアドレスを受けて前記情報格納メモリをチェックし、前記外部回路から受けたアドレスに対応するアドレスが前記情報格納メモリに書き込まれている場合はそのアドレスに対応する冗長ブロックにアクセスし、書き込まれていない場合は外部回路から受けたアドレスが指示する記憶ブロックにアクセスする書き込み／読み出し手段とを具備する半導体メモリにおいて、前記情報格納メモリは、不揮発性メモリセルと前記不揮発性メモリセルの出力を読み込む第１の揮発性メモリと、前記第１の揮発性メモリの出力を読み込む第２の揮発性メモリによって構成され、前記消去手段は前記不揮発性メモリセルに書き込んだ後、書き込んだデータを書き込みしきい値より僅かに低い確認レベルで読み出して前記第１の揮発性メモリに書き込み、前記第１の揮発性メモリに書き込んだデータについて書き込み確認を行い、該書き込み確認が終了後、前記不揮発性メモリセルのデータを前記確認レベルより低い読み出しレベルで読み出して前記第１の揮発性メモリに書き込み、次いで前記第１の揮発性メモリのデータを前記第２の揮発性メモリに書き込み、該第２の揮発性メモリのデータを前記書き込み／読み出し手段へ出力することを特徴とする半導体メモリである。
【発明の効果】
【０００５】
この発明によれば、実際のメモリ使用時においてメモリセルに不良が発生した時、その不良部分を冗長セルに置き換えることができる。これにより、半導体メモリの不良を減少させることができる。また、この発明によれば、書き込み確認後に読み出しレベルによる再読み出しを行うので、良品を誤って不良と判断する間違いを防ぐことができる効果がある。
【発明を実施するための最良の形態】
【０００６】
以下、図面を参照し、この発明の実施の形態について説明する。図１はこの発明の一実施の形態による半導体メモリ（フラッシュメモリ）の書き込み及び消去の動作を示すブロック図である。この図において、１は外部回路からのコマンド、データおよびアドレスが入力されるインターフェイス回路、２はインターフェイス回路１に入力されたコマンドを解読するコマンドユーザインターフェイス（以下、ＣＵＩという）である。３は制御回路であり、メモリアレイ４の書き込み、読み出し、消去を制御する。５は電源回路であり、各部へ直流電源を供給する。また、メモリアレイ４の書き込み時には（＋）の高電圧を、読み出し時には（＋）の中電圧を、消去時には（−）の負電圧を生成してメモリアレイ４へ出力する。
【０００７】
６はデコーダであり、制御回路３から出力される制御信号及び、インターフェース回路１からのアドレス信号を受けて書き込み／消去／読み出しモードを指定する信号をメモリアレイ４へ出力する。また、書き込み時にはアドレスおよびデータを、読み出し時にはアドレスをメモリセル４へ出力し、指定されたメモリセルを選択する。また、書き込み時にはアドレスおよびデータを、読み出し時にはアドレスをメモリセル４へ出力する。また、メモリアレイ４から読み出されたデータをセンスアンプ８を介して制御回路３へ出力する。メモリアレイ４は同図に示すように、記憶ブロックＢＬＫ０〜ＢＬＫ１５と冗長ブロックＢＲＤ０、ＢＲＤ１を有している。ここで、記憶ブロックＢＬＫ０〜ＢＬＫ１５は本来の記憶エリアであり、冗長ブロックＢＲＤ０、ＢＲＤ１は記憶ブロックＢＬＫ０〜ＢＬＫ１５のいずれかが不良となった時に代わりに使用されるリダンダンシ用の記憶エリアである。
【０００８】
ＢＲＤ情報格納メモリ９は冗長ブロックＢＲＤ０、ＢＲＤ１の使用状態に関するデータが記憶されるメモリであり、図２に示すように、冗長ブロックＢＲＤ０に対応するアドレス情報記憶部Ｋ０と冗長ブロックＢＲＤ１に対応するアドレス情報記憶部Ｋ１と、記憶部Ｋ０、Ｋ１の各出力データが共に加えられるラッチＬａと、冗長ブロックＢＲＤ０に対応するラッチＬ０と、冗長ブロックＢＲＤ１に対応するラッチＬ１と、ラッチＬａの出力をラッチＬ０またはＬ１へ選択的に加える選択手段とが設けられている。
【０００９】
ここで、記憶部Ｋ０、Ｋ１は各々、図３に示すように、フローディングゲートを有し、メモリアレイ４と同様に構成された不揮発性メモリセル１１によって構成され、ラッチＬａ、Ｌ０、Ｌ１は図３に示すように、ラッチ１２によって構成されている。また、記憶部Ｋ０、Ｋ１には各々、ブロックアドレスが書き込まれるエリアＫ０−Ａ、Ｋ１−Ａ、エネーブルビットが書き込まれるエリアＫ０−Ｅ、Ｋ１−Ｅ、ディスエーブルビットが書き込まれるエリアＫ０−Ｄ、Ｋ１−Ｄが設けられている。また、ラッチＬａ、Ｌ０、Ｌ１は各々記憶部Ｋ０（またはＫ１）と同じビット数のラッチであり、同様に、ブロックアドレスが書き込まれるエリアＬａ−Ａ、Ｌ０−Ａ、Ｌ１−Ａ、エネーブルビットが書き込まれるエリアＬａ−Ｅ、Ｌ０−Ｅ、Ｌ１−Ｅ、ディスエーブルビットが書き込まれるエリアＬａ−Ｄ、Ｌ０−Ｄ、Ｌ１−ｄが設けられている。
【００１０】
次に、上述した半導体メモリの動作を説明する。
まず、電源が投入されると、ＢＲＤ情報格納メモリ９内の記憶部Ｋ０のデータが読み出され、ラッチＬａに書き込まれ、次いで、ラッチＬａのデータがラッチＬ０に書き込まれる。次に、記憶部Ｋ１のデータが読み出され、ラッチＬａに書き込まれ、次いで、ラッチＬａのデータがラッチＬ１に書き込まれる。
【００１１】
次に、外部回路から読み出しコマンドおよびアドレスがインターフェイス回路１へ入力され、ＣＵＩ・２を介して制御回路３へ供給されると、制御回路３が、まず、そのアドレスが指示している記憶ブロックのアドレスがＢＲＤ情報格納メモリ９の記憶部Ｋ０またはＫ１に記憶されているかをチェックする。このチェックは、ラッチＬ０およびＬ１のエリアＬ０−Ａ、Ｌ１−Ａをチェックすることによって行われる。そして、記憶されていなかった場合は、読み出し指令およびアドレスをデコーダ６へ出力する。デコーダ６は読み出し指令およびアドレスを受け、メモリアレイ４からデータを読み出し、センスアンプ８を介して制御回路３へ出力する。制御回路３はメモリアレイ４から読み出されたデータをインターフェイス回路１へ出力する。
【００１２】
一方、制御回路３に供給された読み出しアドレスが指示する記憶ブロックのアドレスが例えばＢＲＤ情報格納メモリ９のラッチＬ０に記憶されていた場合は、制御回路３が冗長ブロックＢＲＤ０のアドレス、読み出しアドレスおよび読み出し指令をデコーダ６へ出力する。デコーダ６はこの指令およびアドレスを受け、冗長ブロックＢＲＤ０から読み出しアドレスが指示するデータを読み出し、センスアンプ８を介して制御回路３へ出力する。制御回路３はそのデータをインターフェイス回路１へ出力する。
【００１３】
次に、外部回路から書き込みコマンド、書き込みデータおよびアドレスがインターフェイス回路１へ入力され、ＣＵＩ・２を介して制御回路３へ供給されると、制御回路３が、上記と同様に、そのアドレスが指示している記憶ブロックのアドレスがＢＲＤ情報格納メモリ９の記憶部Ｋ０またはＫ１に記憶されているかをチェックする。そして、記憶されていた場合は冗長ブロックにアクセスしてデータ書き込みを行い、記憶されていない場合はアドレス通りの記憶ブロックにアクセスして書き込みを行う。
【００１４】
次に、上述した半導体メモリのデータ消去時の動作を図４〜図６に示すフローチャートを参照して説明する。
外部回路から消去を指示するコマンドおよび消去ブロックのアドレスがインターフェイス回路１に入力されると、入力されたコマンドおよび記憶ブロックのアドレスがＣＵＩ・２を介して制御回路３へ供給される。制御回路３は消去コマンドを受け、まず、コマンドが記憶ブロックを消去するコマンドかチップ全体を消去するコマンドかをチェックする（図４のステップＳ１）。そして、いずれでもなければその他のシーケンスへ進む。
一方、いずれかの消去を指示するコマンドであった場合は電源回路５へ消去電圧の出力を指示するとともに、デコーダ６へ消去コマンドおよび消去すべき記憶ブロックのアドレスを出力する。デコーダ６は、そのアドレスに応じたメモリセルを選択する。これにより、選択されたメモリセルに電源回路５から出力される（−）負電圧が加えられ、記憶ブロックが消去される。
【００１５】
次に、制御回路３はデコーダ６へ読み出し信号および消去した記憶ブロックのアドレスを出力し、消去した記憶ブロックの各メモリセルのデータを順次読み出し、各メモリセルの消去が正しく行われたかを確認（Ｖｅｒｉｆｙ）する（ステップＳ２）。そして、正しく行われた場合は消去すべき記憶ブロックが全て消去されたか否かが判断され（ステップＳ３）、全て消去された場合は処理を終了する。また、消去すべき記憶ブロックが残っていた場合は次のブロックの消去処理へ進む。
【００１６】
また、ステップＳ２の判断において、消去が正しく行われなかったと判断された場合はリダンダンシ用の冗長ブロックＢＲＤ０、ＢＲＤ１のいずれかが使用可能か否かが判断される（ステップＳ４）。この判断は、ＢＲＤ情報格納メモリ９のラッチＬ０、Ｌ１のエネーブルビットＬ０−Ｅ、Ｌ１−Ｅ、ディスエーブルビットＬ０−Ｄ、Ｌ１−Ｄに”１”が書き込まれているか否かをチェックすることによって行われ、ラッチＬ０、Ｌ１のエネーブルビットＬ０−Ｅ、Ｌ１−Ｅに”１”が書き込まれている場合はその冗長ブロックが既に使用されていると判断され、また、ディスエーブルビットＬ０−Ｄ、Ｌ１−Ｄに”１”が書き込まれている場合は、その冗長ブロックが使用不可であると判断される。そして、冗長ブロックＢＲＤ０、ＢＲＤ１が共に使用済みまたは使用不可であった場合は消去不可を示すデータをインターフェイス回路１へ戻し処理を終了する。
【００１７】
一方、冗長ブロックＢＲＤ０、ＢＲＤ１のいずれかが使用可能であれば、図５に示すＡｕｔｏリダンダンシ処理へ進む。
このＡｕｔｏリダンダンシ処理では、まず、消去が正しく行われなかった記憶ブロックが冗長ブロックＢＲＤ０、ＢＲＤ１のいずれかであるか否かが判断される（ステップＳ１１）。そして、いずれかであった場合は、その冗長ブロック（ＢＲＤ０とする）に対応する記憶部Ｋ０のディスエーブルビットＫ０−Ｄに”１”を書き込む（ステップＳ１２）。次に、書き込んだディスエーブルビットＫ０−ＤのＶｅｒｉｆｙを行う（ステップＳ１３）。このＶｅｒｉｆｙにおいては、まず、記憶部Ｋ０の全データをＶｅｒｉｆｙレベル（図７参照）に基づいて読み出し、ラッチＬａに書き込み、次いでラッチＬａのディスエーブルビットＬａ−Ｄが”１”であるか否かをチェックする（ステップＳ１４）。
【００１８】
そして、その判断結果が「ＮＯ」であった場合は、Ｖｅｒｉｆｙの回数が予め設定されているｎ回以上になったか否かが判断される（ステップＳ１５）。そして、判断結果が「ＮＯ」であった場合はステップＳ１２へ戻り、再びディスエーブルビットＫ０−Ｄの書き込み、Ｖｅｒｉｆｙを行う（ステップＳ１２〜Ｓ１５）。そして、書き込み／Ｖｅｒｉｆｙの回数がｎ回に達した場合はステップＳ１５の判断が「ＹＥＳ」となり、ステップＳ１６へ進む。ステップＳ１６では、通常の読み出しレベルでＲｅｌａｔｃｈ処理が行われる。すなわち、記憶部Ｋ０内のデータが通常の読み出しレベル（図７参照）に基づいて読み出され、ラッチＬａに記憶され、次いで、ラッチＬａ内のデータがラッチＬ０に転送される。そして、消去不可を示すデータがインターフェイス回路１へ戻され、処理を終了する。
なお、書き込み／ベリファイの回数を複数回行うのは、フラッシュメモリセルの書き込み特性として、書き込みを行ったときの閾値の上昇が書き込み時間に依存し、また、セルによって書き込み特性がばらつくので、高い閾値を得るためには一定時間の書き込みパルスを複数回加えるのが好ましいためである。
【００１９】
ここで、Ｖｅｒｉｆｙ時の読み出しと通常の読み出しの違いを説明する。一例として、メモリセル１１（図３）にデータ書き込みが行われた場合、Ｉｄ（ドレイン電流）−Ｖｇ（ゲート電圧）特性は図７に曲線Ｇ１にて示すように、しきい値が５Ｖ近辺の曲線となり、消去が行われた場合は、曲線Ｇ２にて示すようにしきい値が（−）の曲線となるように設定される。そして、通常のデータ読み出しの場合は、ゲート電圧レベルを中間の３Ｖ近辺として読み出しを行う。一方、書き込みＶｅｒｉｆｙの場合はＶｅｒｉｆｙ電圧を５Ｖに設定するが、しきい値が５Ｖを超えるとＶｅｒｉｆｙがＰａｓｓとなるため、しきい値５Ｖを少し超えたあたりで設定される。このように、Ｖｅｒｉｆｙ時の読み出しと通常の読み出しとでは読み出しの基準レベルが異なっている。このため、上記の過程においては、通常の読み出し（ゲート電圧レベルが３Ｖ）であるＲｅｌａｃｈ処理によって記憶部Ｋ０のデータを読み出し、ラッチＬ０に再セットしている。Ｖｅｒｉｆｙ時の読み出しは、ゲート電圧レベルが５Ｖと高いので、しきい値のバラツキによって、ステップＳ１２において書き込みが行われなかったデータ（ディスエーブルビットＫ０−Ｄ以外のデータ）が変化してしまう恐れがあるからである。
【００２０】
さて、ステップＳ１２〜Ｓ１５の処理を繰り返している時において、ＶｅｒｉｆｙがＯＫとなると（ステップＳ１４が「ＹＥＳ」）、ステップＳ１７へ進み、上述したＲｅｌａｔｃｈ処理が行われ、次いでステップＳ１８へ進む。ステップＳ１８では、消去不可と判断された記憶ブロック（記憶フロックＢＬＫ２とする）のアドレスがＢＲＤ情報格納メモリ９に書き込まれる。いま、冗長ブロックＢＲＤ１が使用可能であるとすると、記憶ブロックＢＬＫ２のアドレスが記憶部Ｋ１のエリアＫ１−Ａに書き込まれる。次に、書き込まれたデータのＶｅｒｉｆｙが行われる（ステップＳ１９）。すなわち、記憶部Ｋ１の各データがＶｅｒｉｆｙ時の読み出しレベル（図７参照）に基づいて読み出され、ラッチＬａに書き込まれ、次いで、ラッチＬａのエリアＬａ−Ａ内のデータが記憶ブロックＢＬＫ２のアドレスに一致しているかがチェックされる。
【００２１】
そして、Ｖｅｒｉｆｙの結果がＮＧの場合は（ステップＳ２０が「ＮＯ」）、Ｖｅｒｉｆｙの回数が予め設定されているｎ回以上になったか否かが判断される（ステップＳ２１）。そして、判断結果が「ＮＯ」であった場合はステップＳ１８へ戻り、再びアドレスの書き込み、Ｖｅｒｉｆｙを行う（ステップＳ１８〜Ｓ２０）。そして、書き込み／Ｖｅｒｉｆｙの回数がｎ回に達した場合はステップＳ２１の判断が「ＹＥＳ」となり、図６のＡｕｔｏＲ／Ｄエラー処理へ進む。
【００２２】
一方、ステップＳ１８〜Ｓ２１の処理を繰り返している時において、ＶｅｒｉｆｙがＯＫとなると（ステップＳ２０が「ＹＥＳ」）、ステップＳ２２へ進む。ステップＳ２２では、記憶部Ｋ１のエネーブルビットＫ１−Ｅに”１”が書き込まれる。次に、書き込まれたデータのＶｅｒｉｆｙが行われる（ステップＳ２３）。すなわち、記憶部Ｋ１の各データがＶｅｒｉｆｙ時の読み出しレベルに基づいて読み出され、ラッチＬａに書き込まれ、次いで、ラッチＬａのエリアＬａ−Ａ内のデータが”１”か否かがチェックされる。
【００２３】
そして、Ｖｅｒｉｆｙの結果がＮＧの場合は（ステップＳ２４が「ＮＯ」）、Ｖｅｒｉｆｙの回数が予め設定されているｎ回以上になったか否かが判断される（ステップＳ２５）。そして、判断結果が「ＮＯ」であった場合はステップＳ２２へ戻り、再びアドレスの書き込み、Ｖｅｒｉｆｙを行う（ステップＳ２２〜Ｓ２５）。そして、書き込み／Ｖｅｒｉｆｙの回数がｎ回に達した場合はステップＳ２５の判断が「ＹＥＳ」となり、図６のＡｕｔｏＲ／Ｄエラー処理へ進む。一方、ＶｅｒｉｆｙがＯＫとなると（ステップＳ２４が「ＹＥＳ」）、ステップＳ２６へ進み、前述したＲｅｌａｔｃｈ処理が行われ、次いで、消去処理が正しく終了したことを示すデータがインターフェイス回路１に出力され、処理を終了する。
【００２４】
次に、ＡｕｔｏＲ／Ｄエラー処理について図６を参照して説明する。
この処理へ進むと、まず、アドレス書き込みまたはエネーブルビット書き込みができなかった記憶部Ｋ１のディスエーブルビットＫ１−Ｄに”１”が書き込まれる（ステップＳ３１）。次に、書き込まれたデータのＶｅｒｉｆｙが行われる（ステップＳ３２）。すなわち、記憶部Ｋ１の各データがＶｅｒｉｆｙ時の読み出しレベルに基づいて読み出され、ラッチＬａに書き込まれ、次いで、ラッチＬａのエリアＬａ−Ｄ内のデータが”１”か否かがチェックされる。
【００２５】
そして、Ｖｅｒｉｆｙの結果がＮＧの場合は（ステップＳ３３が「ＮＯ」）、Ｖｅｒｉｆｙの回数が予め設定されているｎ回以上になったか否かが判断される（ステップＳ３５）。そして、判断結果が「ＮＯ」であった場合はステップＳ３１へ戻り、再びアドレスの書き込み、Ｖｅｒｉｆｙを行う（ステップＳ３１〜Ｓ３３）。そして、書き込み／Ｖｅｒｉｆｙの回数がｎ回に達した場合はステップＳ３５の判断が「ＹＥＳ」となり、Ｒｅｌａｔｃｈ処理が行われ（ステップＳ３６）、次いで、消去不可を示すデータがインターフェイス回路１へ戻され、処理を終了する。また、書き込み／Ｖｅｒｉｆｙを繰り返している間においてＶｅｒｉｆｙがＯＫとなった場合も（ステップＳ３３の判断が「ＹＥＳ」）、上記と同様に、Ｒｅｌａｔｃｈ処理が行われ（ステップＳ３４）、次いで、消去不可を示すデータがインターフェイス回路１へ戻され、処理を終了する。
【００２６】
なお、アドレス、エネーブルビット、ディスエーブルビットを一括で書き込むことも考えられるが、この場合、リセット動作やＬＶＤＤ（Ｌｏｗ Ｖｄｄ：フラッシュメモリの書き込み途中で急激にバッテリが電圧降下を起こした場合に、この電圧を検知して自動的に書き込みを中断する処理）による中断動作が入った時、エネーブルビットのみ書き終わり他のビットがが書き終わっていないという状態が想定されるため、上記実施形態のような処理としている。
【００２７】
また、上記実施形態においては、Ｖｅｒｉｆｙ時においては記憶部Ｋ０、Ｋ１のデータをラッチＬａに書き込み、ラッチＬ０、Ｌ１の書き込みは行わない。そして、ラッチＬａのデータに基づいてＶｅｒｉｆｙを行う。そして、Ｖｅｒｉｆｙ終了後に、改めて読み出しレベル（図７参照）で記憶部Ｋ０、Ｋ１のデータを読み出し、ラッチＬａを介してラッチＬ０、Ｌ１へ書き込む（Ｒｅｌａｔｃｈ）。この処理は、メモリセル１１（図３）のしきい値のバラツキ対策のためである。すなわち、Ｖｅｒｉｆｙ時の読み出しはＶｅｒｉｆｙレベル（図７；読み出しレベルより高いレベル）で行われるので、Ｖｅｒｉｆｙの対象以外のデータが、しきい値のバラツキのためラッチＬａへ書き込まれる時に変化してしまう恐れがある。Ｒｅｌａｔｃｈ処理はこの不都合を防いでいる。
【産業上の利用可能性】
【００２８】
この発明は、フラッシュメモリ等の不揮発性メモリに用いられる。
【図面の簡単な説明】
【００２９】
【図１】この発明の一実施形態による半導体メモリの構成を示すブロック図である。
【図２】同半導体メモリにおけるＢＲＤ情報格納メモリ９の内部構成を示すブロック図である。
【図３】同ＢＲＤ情報格納メモリ９における記憶部Ｋ０、Ｋ１を構成するメモリセル１１と、ラッチＬａを構成するＣＭＯＳラッチ１２を示す図である。
【図４】同実施形態の動作を説明するためのフローチャートである。
【図５】同実施形態の動作を説明するためのフローチャートである。
【図６】同実施形態の動作を説明するためのフローチャートである。
【図７】メモリセル１１の特性を示す図である。
【符号の説明】
【００３０】
１…インターフェイス回路
２…ＣＰＩ
３…制御回路
４…メモリアレイ
６…デコーダ
８…センスアンプ
９…ＢＲＤ情報格納メモリ
１１…メモリセル
１２…ラッチ
ＢＬＫ０〜ＢＬＫ１５…記憶ブロック
ＢＲＤ０、ＢＲＤ１…冗長ブロック
Ｄ…選択手段
Ｋ０、Ｋ１…記憶部
Ｌａ、Ｌ０Ｌ１…ラッチ
【図１】
2007164844.tif 000003
【図２】
2007164844.tif 000004
【図３】
2007164844.tif 000005
【図４】
2007164844.tif 000006
【図５】
2007164844.tif 000007
【図６】
2007164844.tif 000008
【図７】
2007164844.tif 000009