(57)【要約】【課題】ビットスキャニングプログラムを実行する不揮発性メモリ装置を提供する。【解決手段】ここに開示された不揮発性メモリ装置は、複数個のプログラムデータが入力されて一時に貯蔵した後、一定周期の内部クロックに同期されて“０”の値を有するデータを順次にスキャニングし、スキャニングされた“０”データが所定の個数に到逹すれば、スキャニング動作を中断して今まで捜した“０”のデータのグループを同時にプログラムする。そして、前記データグループに対するプログラムが終了した後、次の手順のプログラムデータから再びスキャニングを進行し、最後のデータまでスキャニングが進行された後、今まで捜し出したデータ０のデータグループを同時にプログラムする。その結果、データをプログラムするのにかかる平均時間が短縮される。【選択図】図１
2006024347.tif 000002
【特許請求の範囲】
【請求項１】
各々が第１または第２論理値でプログラムされることができる複数個のメモリセルを含むメモリセルアレイと、
前記メモリセルでプログラムされる複数個のデータを検索して前記第２論理値を有するデータを識別するデータスキャニング部と、
前記第２論理値を有することとして識別されたデータをグループ化し、前記識別されたデータグループの少なくとも一部分を同時にプログラムするプログラム部とを含むことを特徴とする不揮発性メモリ装置。
【請求項２】
前記データスキャニング部はスキャンクロック信号に応答して前記複数個のデータを検索して前記第２論理値を有するデータを識別することを特徴とする請求項１に記載の不揮発性メモリ装置。
【請求項３】
前記プログラム部は、前記メモリセルにＮ個のデータを同時にプログラムし、前記識別データグループがＮ個のデータを含む場合、前記識別データグループをプログラムすることを特徴とする請求項１に記載の不揮発性メモリ装置。
【請求項４】
前記プログラム部は、プログラムされたメモリセルのうちの選択されたセルからデータを読み出し、前記読み出されたデータが前記第２論理値と同一であるか否かを確認する感知部を含むことを特徴とする請求項１に記載の不揮発性メモリ装置。
【請求項５】
前記データスキャニング部は、前記複数個のデータのうちで前記メモリセルに再プログラムされるデータを検索し、前記第２論理値を有するデータであるが、前記読み出されたデータが前記第１論理値を有するデータを識別することを特徴とする請求項４に記載の不揮発性メモリ装置。
【請求項６】
前記プログラム部はＮ個のデータを前記メモリセルに同時にプログラムし、再プログラムされるデータグループを形成し、前記再プログラムされるデータグループがＮ個のデータを含むとき、前記メモリセルに前記データグループに対する再プログラムを実行し、
前記再プログラムされるデータグループは前記データスキャニング部によって前記第２ 論理値を有するデータであるが、前記読み出されたデータが前記第１論理値を有するデータであることとして識別されたことを特徴とする請求項５に記載の不揮発性メモリ装置。
【請求項７】
前記データスキャニング部は
内部クロック信号に応答して複数個のスキャンクロック信号を発生するスキャンクロック発生部と、
前記複数個のスキャンクロック信号に応答して前記複数個のデータのうちの前記第２ 論理値を有するデータを検索して貯蔵するデータラッチ部とを含むことを特徴とする請求項１に記載の不揮発性メモリ装置。
【請求項８】
前記スキャンクロック発生部は前記検索されたデータの個数が前記プログラム部が同時にプログラムすることができるデータの個数と同じくなるごとに所定のプログラム時間の間前記スキャンクロック信号の発生を中止させることを特徴とする請求項７に記載の不揮発性メモリ装置。
【請求項９】
前記スキャンクロック発生部は前記各々のスキャンクロック信号を所定の時間差を置いて順次に活性化させることを特徴とする請求項７に記載の不揮発性メモリ装置。
【請求項１０】
前記データラッチ部は
前記スキャンクロック信号に応答して前記各プログラムデータの値が前記第１論理値であるか、または前記第２論理値であるかを検出し、前記検出結果を根拠にして出力信号を発生するデータ検出部と、
前記データ検出部の前記検出結果を根拠にして、前記第２論理値を有するデータを貯蔵し、前記貯蔵されたデータに対応されるビットラインを活性化させるビットライン活性化信号を出力するデータ貯蔵部とを含むことを特徴とする請求項７に記載の不揮発性メモリ装置。
【請求項１１】
前記データ検出部は、前記再プログラムされるデータの値が前記第１論理値であるか、または前記第２論理値であるかを検出することを特徴とする請求項１０に記載の不揮発性メモリ装置。
【請求項１２】
前記データ貯蔵部は前記データ検出部の前記検出結果をクロック入力として受け入れ、前記結果信号を根拠にして前記ビットライン活性化信号を出力するＴフリップフロップを含むことを特徴とする請求項１０に記載の不揮発性メモリ装置。
【請求項１３】
前記プログラム部は
前記データラッチ部の前記出力信号及び前記スキャンクロック信号に応答して前記第２ 論理値を有するデータの個数をカウントするプログラムビットカウンタと、
前記プログラムビットカウント部によってカウントされた前記第２論理値を有する前記データの個数に応答して、前記活性化されたビットラインに対応されるメモリセルのプログラム動作を制御するプログラム制御部と、
前記データラッチに貯蔵されたＮ個のデータを前記メモリセルに同時にプログラムするプログラムドライバとを含むことを特徴とする請求項１０に記載の不揮発性メモリ装置。
【請求項１４】
前記プログラムビットカウンタは前記第２論理値を有するデータのカウント結果が前記プログラム部が同時にプログラムすることができるデータの個数と同じくなれば、前記カウント動作を中断することを特徴とする請求項１３に記載の不揮発性メモリ装置。
【請求項１５】
前記プログラムビットカウントによってカウントされた前記第２論理値を有するデータの個数と前記プログラム部が同時にプログラムすることができるデータの個数が同じくなるとき、前記プログラム制御部はプログラム実行信号を通じて前記プログラム部が前記メモリセルをプログラムするようにすることを特徴とする請求項１３に記載の不揮発性メモリ装置。
【請求項１６】
前記プログラムビットカウント部は
前記データスキャニング部から前記第２論理値を有することとして識別されたデータを受け入れるデータ入力部と、
前記メモリセルに同時にプログラムされる前記第２論理値を有するデータの個数をカウントするカウント部と、
前記カウント部によってカウントされた値が前記プログラム部が前記メモリセルに同時にプログラムすることができる個数と同一、または最後のスキャンクロック信号が入力された場合、活性化された同時プログラム活性化信号を出力するデータ出力部と、
前記プログラム制御部から発生された前記プログラム実行信号を利用して前記データラッチ部をリセットさせ、前記プログラム実行信号の反転された値を利用して前記カウンタ部をリセットさせるリセット制御部とを含むことを特徴とする請求項１５に記載の不揮発性メモリ装置。
【請求項１７】
不揮発性メモリ装置に具備された複数個のメモリセルに第１または第２論理値を有するデータをプログラムする方法において、
前記メモリセルにプログラムされる複数個のデータを検索して前記第２論理値を有するデータを識別する段階と、
前記第２論理値を有する前記識別データをグループ化する段階と、
前記識別データグループの少なくとも一部分を前記メモリセルに同時にプログラムする段階とを含むことを特徴とする不揮発性メモリ装置のプログラム方法。
【請求項１８】
前記不揮発性メモリは前記メモリセルにＮ個のデータを同時にプログラムし、
前記識別データグループの少なくとも一部分を前記メモリセルに同時にプログラムする段階では、前記識別データグループに属したＮ個のデータが前記メモリセルに同時にプログラムされることを特徴とする請求項１７に記載の不揮発性メモリ装置のプログラム方法。
【請求項１９】
前記識別されたデータがＮ個のデータで構成される時を識別する段階をさらに含み、
前記識別データグループが前記Ｎ個のデータを有することとして確認されれば、前記識別データグループの少なくとも一部分を前記メモリセルに同時にプログラムする段階が実行されることを特徴とする請求項１８に記載の不揮発性メモリ装置のプログラム方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は不揮発性メモリ装置に係わり、さらに具体的にはプログラム時間を縮めることができる不揮発性メモリ装置に関する。
【背景技術】
【０００２】
不揮発性メモリ装置はドライブ電源が供給されなくてもセルに記録されたデータが消滅しないで残っている。不揮発性メモリのうちでもフラッシュメモリは電気的にセルのデータを一括的に消去する機能を有しているので、コンピュータ及びメモリカードなどに広く使われている。
【０００３】
フラッシュメモリはセルとビットラインの連結状態に従ってＮＯＲ型とＮＡＮＤ型で区分される。ＮＯＲ型フラッシュメモリは一つのビットラインに二つの以上のセルトランジスタが並列に連結された形態として、チャンネルホットエレクトロン（ｃｈａｎｎｅｌ ｈｏｔ ｅｌｅｃｔｒｏｎ）方式を使用してデータを貯蔵し、Ｆ−Ｎトンネリング（Ｆｏｗｌｅｒ−Ｎｏｒｄｈｅｉｍ ｔｕｎｎｅｌｉｎｇ）方式を使用してデータを消去する。そして、ＮＡＮＤ型フラッシュメモリは一つのビットラインに二つの以上のセルトランジスタが直列に連結された形態として、Ｆ−Ｎトンネリング方式を使用してデータを貯蔵及び消去する。一般的に、ＮＯＲ型フラッシュメモリは電流消耗が大きいので、高集積化には不利であるが、高速化に容易に対処することができる長所があり、ＮＡＮＤ型フラッシュメモリはＮＯＲ型フラッシュメモリに比べて少ないセル電流を使用するので、高集積化に有利な長所がある。
【０００４】
ＮＯＲフラッシュメモリのセルアレイ（ｃｅｌｌ ａｒｒａｙ）は、大きく複数個のバンク（ｂａｎｋ）で構成され、各々のバンクは複数個のセクタで構成され、各々のセクタは複数個のメモリセル（ｍｅｍｏｒｙ ｃｅｌｌ）で構成される。一般的に、ＮＯＲフラッシュメモリの消去（ｅｒａｓｅ）動作は前記セクタ単位で実行され、プログラムはワード（ｗｏｒｄ）単位または、バイト（ｂｙｔｅ）単位で実行される。
【０００５】
ＮＯＲフラッシュメモリのセルアレイにデータをプログラムするためには、まずフラッシュメモリにプログラム命令語（ｐｒｏｇｒａｍ ｃｏｍｍａｎｄ）が入力された後、プログラムアドレスとプログラムデータがフラッシュメモリに入力される。入力されたプログラムアドレスとプログラムデータはチップ内部に一時貯蔵され、プログラムアドレスに対応されるメモリセルが選択される。次いで、プログラムデータに対応されるプログラム電圧がビットラインに印加されて、実質的なプログラム動作が実行される。次いで、内部的に予め決められた所定のプログラム実行時間（ｐｒｏｇｒａｍ ｅｘｅｃｕｔｉｏｎ ｔｉｍｉｎｇ）が経過するようになれば、選択されたメモリセルにデータがプログラムされたか否かを判別するベリファイ（ｖｅｒｉｆｙ）動作が実行される。このようなプログラム及びベリファイ動作は、選択されたメモリセルにデータが正常にプログラムされるまで繰り返して実行される。
【０００６】
一般的に、ＮＯＲフラッシュメモリをプログラムするのに使用されるチャンネルホットエレクトロン方式では、メモリセルのドレイン（ｄｒａｉｎ）に４〜６Ｖ程度の高電圧が印加されるので、一定レベル以上のプログラム電流（ｃｕｒｒｅｎｔ）を要する。そして、ドレインに印加される高電圧はチップ内部に具備されたチャージポンプ（ｃｈａｒｇｅ ｐｕｍｐ）を通じて生成されるので、同時にプログラムすることができるメモリの個数は通常２個乃至４個に制限される。例えば、同時にプログラムすることができるビットの数が４個であるとき、１６ビットのデータは４ビットずつ分割された後、総４回にわたってメモリセルにプログラムされる。
【０００７】
フラッシュメモリのプログラム特性は、フラッシュメモリでプログラムを実行するためには事前に該当アドレス部分を必ず消去（ｅｒａｓｅ）（すなわち、データ値を“１”に作る）しなければならないので、プログラムデータが“１”というのは、プログラム時、どのようなプログラム動作を実行しなくても所望するデータをプログラムしたことと同様であるといえる。このようなフラッシュメモリのプログラム特性にもかかわらず、大部分のフラッシュメモリはプログラムされるデータの値が“０”であるか、“１”であるかに関係なしに各データグループに対して一定のプログラム時間を一律的に割り当てる。したがって、プログラムデータ値に関係なしにデータをプログラムするのにかかる時間は常に一定であるという問題がある。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は上述の諸般の問題点を解決するために提案されたことであり、プログラム時間を縮めさせることができる不揮発性メモリ装置を提供することにある。
【課題を解決するための手段】
【０００９】
上述の課題を達成するために本発明による不揮発性メモリ装置は、メモリセルアレイ、データスキャニング部、及びプログラム部で構成され、前記メモリセルアレイには複数個のメモリセルが含まれ、前記データスキャニング部は一定周期の内部クロックに同期された複数個のスキャンクロック信号に応答して、複数個のプログラムデータのうちの前記第２値を有するデータを検索して貯蔵する機能を実行し、そして前記プログラム部は前記データスキャニング部の検索結果を最大同時プログラムビット数だけずつグループ化し、前記検索されたデータの個数が前記最大同時プログラムビット数になるごとに該当のグループに属する複数個のデータを同時にプログラムすることを特徴とする。
【００１０】
望ましい実施形態において、前記データスキャニング部はスキャンクロック発生部、及びデータラッチ部を含み、前記スキャンクロック発生部は前記内部クロック信号に応答して前記複数個のスキャンクロック信号を発生し、前記データラッチ部は前記複数個のプログラムデータと前記複数個のスキャンクロック信号に応答して前記第２値を有するデータを検索して貯蔵することを特徴とする。
【００１１】
望ましい実施形態において、前記プログラム部はプログラムビットカウント部、プログラム制御部、及びプログラムドライバを含み、前記プログラムビットカウント部は前記データラッチ部の前記検索結果及び前記複数個のスキャンクロック信号に応答して前記第２ 値を有するデータの個数をカウントし、前記プログラム制御部は前記プログラムビットカウント部の前記カウント結果に応答して前記活性化されたビットラインに対応される該当のメモリセルに対するプログラム動作を制御し、そして前記プログラムドライバは前記プログラム制御部の制御に応答して前記データラッチに貯蔵されたデータを前記最大同時プログラムビット数だけ該当のメモリセルを同時にプログラムすることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、複数個のプログラムデータのうちの実際にプログラムされるデータ（すなわち、０の値を有するデータ）だけ選び出して一回にプログラムを実行するので、データのプログラム時間が短縮される。
【発明を実施するための最良の形態】
【００１３】
以下、本発明による実施形態を添付の図を参照して詳細に説明する。
【００１４】
本発明の新規した不揮発性メモリ装置は複数個のプログラムデータのうちのデータ値が“０”であるだけ選び出して所定ビット単位で同時プログラムを実行する。その結果、プログラム時間が効果的に短縮される。本発明では、このようなプログラム方式を“ビットスキャニングプログラム方式（Ｂｉｔ Ｓｃａｎｎｉｎｇ Ｐｒｏｇｒａｍ Ｓｃｈｅｍｅ）”という。
【００１５】
フラッシュメモリのような不揮発性メモリでプログラムを実行するためには事前に該当のアドレス部分を必ず消去（データ“１”の状態に作る）するようになっている。不揮発性メモリで実行されるプログラム動作はデータ“１”をデータ“０”に変換させることを意味する。したがって、プログラムデータが“１”というのは、プログラム時、どのようなプログラム動作を実行しなくても所望するデータをプログラムしたことと同様であるといえる。したがって、本発明では、プログラム時間が効果的に短縮されるようにデータ値が“０”であることだけ選び出してプログラムを実行する。
【００１６】
図１は本発明の望ましい実施形態による不揮発性半導体メモリ装置１００のブロック図である。図１を参照すれば、本発明による不揮発性半導体メモリ装置１００はデータスキャニング部（ｄａｔａ ｓｃａｎｎｉｎｇ ｕｎｉｔ ;１０）、プログラム部（ｐｒｏｇｒａｍ ｕｎｉｔ ;８０）、及びメモリセルアレイ領域（ｍｅｍｏｒｙ ｃｅｌｌ ａｒｒａｙ ｒｅｇｉｏｎ ;９０）で構成される。
【００１７】
メモリセルアレイ領域９０は、メモリセルアレイ９２、Ｘデコーダ９４、Ｙデコーダ９６、及びＹゲート９８を含む。メモリセルアレイ９２は複数個のビットラインＢＬ１、…、ＢＬｉと複数個のワードラインＷＬ１、…、ＷＬｊに連結された複数個のメモリセルで構成される。Ｘデコーダ９４はメモリセルのロウ（ｒｏｗ）アドレスＸ＿Ａｄｄをデコーディングする。Ｙデコーダ９６はメモリセルのカラム（ｃｏｌｕｍｎ）アドレスＹ＿Ａｄｄをデコーディングする。そして、Ｙゲート９８はメモリセルアレイ９２とプログラム部８０間のデータインターフェースを実行する。図１に示した半導体メモリ装置１００はＮＯＲタイプのフラッシュメモリを例としてあげたこととして、本発明によるビットスキャニングプログラム方式はＮＯＲタイプのフラッシュメモリではなく、他の不揮発性メモリにも適用可能である。
【００１８】
データスキャニング部１０はスキャンクロック発生部（ｓｃａｎ ｃｌｏｃｋ ｇｅｎｅｒａｔｉｎｇ ｕｎｉｔ ;２０）、及びデータラッチ部（ｄａｔａ ｌａｔｃｈ ｕｎｉｔ ;３０）で構成される。データスキャニング部１０は一定周期の内部クロックＣＬＫに同期されたＮ個のスキャンクロック信号ＳｃａｎＣＬＫ＜Ｎ:１＞に応答して、複数個のプログラムデータＤａｔａ＜Ｎ:１＞ のうちの“０”の値を有するデータを検索して貯蔵する。
【００１９】
このために、スキャンクロック発生部２０は内部クロック信号ＣＬＫに同期されてＮ個のスキャンクロック信号ＳｃａｎＣＬＫ＜Ｎ:１＞を発生する。内部クロック信号ＣＬＫは半導体メモリ装置１００の内部に具備されているクロック発生部（不図示）から発生される。
【００２０】
データラッチ部３０は互いに同一の回路構成を有するＮ個のデータラッチ回路３０ａ、…、３０ｊで構成される。各々のデータラッチ回路３０ａ、…、３０ｊはスキャンクロック発生部２０から発生されたＮ個のスキャンクロック信号ＳｃａｎＣＬＫ＜Ｎ:１＞とバッファ２９から伝送されたＮ個のプログラムデータＤａｔａ＜Ｎ:１＞のうちの対応される一つのスキャンクロック信号及び一つのプログラムデータを各々受け入れて、プログラムデータが“１”の値を有するか、または“０”の値を有するかを判別する。そして、 各々のデータラッチ回路３０ａ、…、３０ｊは対応されるプログラムデータが“０”の値を有する場合、その値を維持させる。データラッチ回路３０ａ、…、３０ｊはデータ値に対する判別結果に従って各々一つのプログラムカウント信号ＰｇｍＣｏｕｎｔ＜ｉ＞と、一つのビットライン選択信号ＢＬｓｅｌｅｃｔ＜ｉ＞とを発生する。例えば、対応されるプログラムデータが“０”の値を有する場合、該当のデータラッチ回路３０ａ、…、３０ｊは活性化されたプログラムカウント信号ＰｇｍＣｏｕｎｔ＜ｉ＞ 及びビットライン選択信号ＢＬｓｅｌｅｃｔ＜ｉ＞を発生する。Ｎ個のデータラッチ回路３０ａ、…、３０ｊから発生されたＮ個のプログラムカウント信号ＰｇｍＣｏｕｎｔ＜Ｎ:１＞はプログラムビットカウンタ４０に入力される。そして、Ｎ個のデータラッチ回路３０ａ、…、３０ｊから発生されたＮ個のビットライン選択信号ＢＬｓｅｌｅｃｔ＜Ｎ:１＞は、Ｎ個のプログラムドライブ回路６０ａ、…、６０ｊのうちの対応される該当のプログラムドライブ回路に各々入力される。
【００２１】
データラッチ回路３０ａ、…、３０ｊは初期プログラムだけではなく、再プログラム時（すなわち、ベリファイフェイル（Ｖｅｒｉｆｙ Fａｉｌ）が発生した時）にもデータをスキャニングして“０”のデータを検索する。このために、各々のデータラッチ回路３０ａ、…、３０ｊは対応される各々の感知回路７０ａ、…、７０ｊからベリファイパス信号ＶｅｒｉｆｙＰａｓｓ＜ｉ＞を受け入れて、“０”のデータをスキャニングするか否かを判別する。例えば、自分に入力されたベリファイパス信号ＶｅｒｉｆｙＰａｓｓ＜ｉ＞がベリファイフェイルを示す場合、該当のデータラッチ回路３０ａ、…、３０ｊは “０”のデータを捜し出すビットスキャニングを実行する。
【００２２】
プログラム部８０はプログラムビットカウンタ（ｐｒｏｇｒａｍ ｂｉｔ ｃｏｕｎｔｅｒ ;４０）、プログラム制御部（ｐｒｏｇｒａｍ ｃｏｎｔｒｏｌ ｕｎｉｔ ;５０）、プログラムドライバ（ｐｒｏｇｒａｍ ｄｒｉｖｅｒ ;６０）、及び感知部（ｓｅｎｓｉｎｇ  ｕｎｉｔ ;７０）で構成される。プログラム部８０はデータスキャニング部１０で検索された“０”のデータを最大同時プログラムビット数だけずつグループ化し、検索された“０”のデータの個数が最大同時プログラムビット数になるごとに該当のグループに属する複数個のデータを同時にプログラムする。
【００２３】
このために、プログラムビットカウンタ４０は各々のデータラッチ回路３０ａ、…、３０ｊから発生されたＮ個のプログラムカウント信号ＰｇｍＣｏｕｎｔ＜Ｎ:１＞を受け入れて、活性化されたプログラムカウント信号ＰｇｍＣｏｕｎｔ＜ｉ＞の個数をカウントする（すなわち、“０”の値を有するデータの個数をカウントする）。プログラムビットカウンタ４０はカウントされた値が最大同時プログラム個数になるか、または最後のスキャンクロック信号ＳｃａｎＣＬＫ＜Ｎ＞が入力された場合、今まで捜し出した“０”のデータを同時にプログラムするように制御する同時プログラム活性化信号ＢｉｔＭａｘを発生する。プログラムビットカウンタ４０から発生された同時プログラム活性化信号ＢｉｔＭａｘはスキャンクロック発生部２０及びプログラム制御部５０に入力される。
【００２４】
スキャンクロック発生部２０はプログラムビットカウンタ４０から発生された同時プログラム活性化信号ＢｉｔＭａｘに応答して、プログラムが実行される間スキャンクロックの発生を停止させる。そして、プログラム制御部５０はプログラムビットカウンタ４０から発生された同時プログラム活性化信号ＢｉｔＭａｘと、半導体メモリ装置１００の内部に具備されているタイミング制御部（不図示）から発生されたプログラム時間制御信号Ｔｉｍｅ Ｏｕｔに応答して、プログラム実行信号ＰｇｍＥｘｅｃｕｔｅを発生し、発生されたプログラム実行信号ＰｇｍＥｘｅｃｕｔｅをプログラムビットカウンタ４０とプログラムドライバ６０に出力する。
【００２５】
プログラムビットカウンタ４０は最大同時プログラム個数に該当する“０”のデータがプログラムされる間、プログラム制御部５０から発生されたプログラム実行信号ＰｇｍＥｘｅｃｕｔｅに応答してプログラムビットカウンタ４０のカウンティングされた値をリセットさせる。そして、各々のデータラッチ回路３０ａ、…、３０ｊをリセットさせるラッチリセット信号ＬａｔｃｈＲｅｓｅｔを発生する。
【００２６】
プログラムドライバ６０は互いに同一の回路構成を有するＮ個のプログラムドライブ回路６０ａ、…、６０ｊで構成される。各々のプログラムドライブ回路６０ａ、…、６０ｊはデータラッチ３０に具備されたＮ個のデータラッチ回路３０ａ、…、３０ｊと一対一対応され、対応されるデータラッチ回路３０ａ、…、３０ｊから発生されたビットライン選択信号ＢＬｓｅｌｅｃｔ＜ｉ＞を受け入れる。そして、各々のプログラムドライブ回路６０ａ、…、６０ｊは半導体メモリ装置１００の内部に具備されている高電圧発生部（不図示）からプログラム電圧Ｖｂｌと、プログラム制御部５０から発生されたプログラム実行信号ＰｇｍＥｘｅｃｕｔｅを受け入れて、該当のビットライン選択信号ＢＬｓｅｌｅｃｔ＜ｉ＞が活性化された場合、該当のビットラインにプログラム電圧を同時に印加する。
【００２７】
感知部７０は互いに同一の回路構成を有するＮ個の感知回路７０ａ、…、７０ｊで構成される。各々の感知回路７０ａ、…、７０ｊはプログラムが実行された後メモリセルアレイ９２の該当のビットラインからデータを読み出してプログラムが完了したか否かを確認するベリファイ動作を実行する。各々の感知回路７０ａ、…、７０ｊは、ベリファイ結果、該当のメモリセルがプログラムされたこととして確認されれば、活性化されたベリファイパス信号ＶｅｒｉｆｙＰａｓｓ＜ｉ＞を対応されるデータラッチ回路３０ａ、…、３０ｊに発生する。そして、ベリファイ結果、該当のメモリセルがプログラムされないこととして確認されれば、ベリファイフェイルを意味するローレベルのベリファイパス信号ＶｅｒｉｆｙＰａｓｓ＜ｉ＞を対応されるデータラッチ回路３０ａ、…、３０ｊに発生する。
【００２８】
ここで、前記各々の感知回路の出力端にはプログラムが実行された後メモリセルアレイ９２の該当のビットラインから読み込んだデータと、各々のプログラムドライブ回路６０ａ、…、６０ｊによってプログラムされたデータが互いに一致するか否かを比べる比較器をさらに含むことができる。この場合、各々の感知回路７０ａ、…、７０ｊは比較器を通じてプログラムされたデータとプログラム後読み込んだデータが互いに一致するか否かを確認し、確認結果、互いに一致すれば、活性化されたベリファイパス信号ＶｅｒｉｆｙＰａｓｓ＜ｉ＞を対応されるデータラッチ回路３０ａ、…、３０ｊに発生する。そして、確認結果、互いに一致しなければ、各々の感知回路７０ａ、…、７０ｊはベリファイフェイルを意味するローレベルのベリファイパス信号ＶｅｒｉｆｙＰａｓｓ＜ｉ＞を対応されるデータラッチ回路３０ａ、…、３０ｊに発生する。
【００２９】
上述のように、スキャンクロック発生部２０によってＮ個のスキャンクロック信号ＳｃａｎＣＬＫ＜Ｎ:１＞が発生されれば、ラッチ回路３０はスキャンクロック信号ＳｃａｎＣＬＫ＜Ｎ:１＞と、バッファ２９から伝送されたＮ個のプログラムデータＤａｔａ＜Ｎ:１＞、及び感知部７０から発生されたベリファイパス信号ＶｅｒｉｆｙＰａｓｓ＜ｉ＞に応答して、“０”の値を有するデータのみを捜し出して一時貯蔵する。プログラムビットカウンタ４０はラッチ回路３０が“０”の値を有するデータを捜し出すごとにその個数をカウントし、カウントされた値が最大同時プログラム個数になるか、または最後のスキャンクロック信号ＳｃａｎＣＬＫ＜８＞が入力されれば、同時プログラム活性化信号ＢｉｔＭａｘをスキャンクロック発生部２０及びプログラム制御部６０に発生して、スキャンクロック発生部２０をしてプログラム中にはスキャンクロック信号ＳｃａｎＣＬＫ＜ｉ＞を発生しないようにし、プログラム制御部６０をしてプログラム実行信号ＰｇｍＥｘｅｃｕｔｅを発生するようにする。プログラムドライバ６０は高電圧発生部（不図示）からプログラム電圧Ｖｂｌと、プログラム制御部５０から発生されたプログラム実行信号ＰｇｍＥｘｅｃｕｔｅに応答して、“０”の値を有するデータを最大同時プログラム個数だけ同時にプログラムする。そして、感知部７０はプログラムが実行されたメモリセルに対するプログラム完了の可否を判別して半導体メモリ装置１００の再プログラムの可否を決める。
【００３０】
例えば、プログラムするために入力されたデータが総８ビットであり、同時にプログラムすることができる最大ビット数（すなわち、最大同時プログラムビット数）が４であると仮定するとき、本発明による半導体メモリ装置１００の動作タイミングは次の通りである。
【００３１】
図２及び図３は図１に示した半導体メモリ装置１００で実行されるビットスキャニングプログラムに対する動作タイミングを示すタイミング図である。
【００３２】
図２を参照すれば、プログラムデータＤａｔａ＜Ｎ:１＞が“００００００００”の場合、ラッチリセット信号ＬａｔｃｈＲｅｓｅｔがトグリングされてデータラッチ回路３０ａ、…３０ｊを初期化させた後、一定周期を有する８個のスキャンクロック信号ＳｃａｎＣＬＫ＜８:１＞が順次にトグリングされる。ここで、ラッチリセット信号ＬａｔｃｈＲｅｓｅｔはプログラムビットカウンタ４０からプログラムが実行されるごとに毎度周期的に発生されるが、最初のプログラム時には半導体メモリ装置１００の内部に具備されたインターフェース装置１００から発生されてデータラッチ回路３０ａ、…３０ｊを初期化させる。そして、ベリファイパス信号ＶｅｒｉｆｙＰａｓｓ＜ｉ＞はプログラムが実行された後感知部７０から発生されるが、最初のプログラム時にはその値が全部ローレベルに初期化されて、プログラム動作が実行されるようにする。
【００３３】
ラッチリセット信号ＬａｔｃｈＲｅｓｅｔがトグリングされた後、各々のデータラッチ回路３０ａ、…、３０ｊは各プログラムデータＤａｔａ＜ｉ＞が “１”の値を有するか、または“０”の値を有するかに従ってハイまたはローレベルのビットライン選択信号ＢＬｓｅｌｅｃｔ＜ｉ＞とプログラムカウント信号ＰｇｍＣｏｕｎｔ＜ｉ＞のレベルを決める。例えば、各々のデータラッチ回路３０ａ、…、３０ｊは該当のプログラムデータが“０”の値を有する時には活性化されたビットライン選択信号ＢＬｓｅｌｅｃｔ＜ｉ＞ 及び活性化されたプログラムカウント信号ＰｇｍＣｏｕｎｔ＜ｉ＞を発生し、該当のプログラムデータが“１”の値を有する時には非活性化されたビットライン選択信号ＢＬｓｅｌｅｃｔ＜ｉ＞ 及び非活性化されたプログラムカウント信号ＰｇｍＣｏｕｎｔ＜ｉ＞を各々発生する。
【００３４】
図２の場合、一番目のプログラムデータＤａｔａ＜１＞は“０”の値を有するので、第１データラッチ回路３０ａは第１スキャンクロック信号ＳｃａｎＣＬＫ<１>がトグリングする時活性化された第１ビットライン選択信号ＢＬｓｅｌｅｃｔ＜１＞と、活性化された第１プログラムカウント信号ＰｇｍＣｏｕｎｔ<１>を発生し、該当のデータをラッチさせる。プログラムビットカウンタ２０は第１データラッチ回路３０ａから発生された第１プログラムカウント信号ＰｇｍＣｏｕｎｔ<１>に応答して１回のカウントアップ動作を実行する。
【００３５】
続いて、二番目乃至四番目のプログラムデータＤａｔａ＜２＞−Ｄａｔａ<４>も全部  “０”の値を有するので、第２乃至第４データラッチ回路は第２乃至第４スキャンクロック信号ＳｃａｎＣＬＫ＜２＞−ＳｃａｎＬＫ＜４＞がトグリングする時活性化された第２乃至第４ビットライン選択信号ＢＬｓｅｌｅｃｔ＜２＞−ＢＬｓｅｌｅｃｔ＜４＞と、活性化された第２乃至第４プログラムカウント信号ＰｇｍＣｏｕｎｔ＜２＞−ＰｇｍＣｏｕｎｔ＜４＞を各々発生し、該当のデータをラッチさせる。プログラムビットカウンタ２０は第２乃至第４データラッチ回路から発生された第２乃至第４プログラムカウント信号ＰｇｍＣｏｕｎｔ＜２＞−ＰｇｍＣｏｕｎｔ＜４＞に応答して３回のカウントアップ動作を連続して実行する。そして、カウントされた値が最大同時プログラムビット数である４になれば、同時にプログラムされる４個のデータを全部捜したことを知らせる同時プログラム活性化信号ＢｉｔＭａｘを活性化させる。
【００３６】
同時プログラム活性化信号ＢｉｔＭａｘが活性化されれば、プログラム制御部５０はプログラムの開始を知らせるプログラム実行信号ＰｇｍＥｘｅｃｕｔｅを活性化させる。その結果、“０”の値を有する第１乃至第４データＤａｔａ＜１＞ −Ｄａｔａ＜４＞に対するプログラム動作が同時に実行される。同時プログラム活性化信号ＢｉｔＭａｘが活性化されている間スキャンクロック発生部２０はスキャンクロック信号を発生せず、プログラム実行信号ＰｇｍＥｘｅｃｕｔｅの活性化区間が終わるまでホールディングされる。プログラム実行信号ＰｇｍＥｘｅｃｕｔｅの活性化区間がプログラム時間制御信号Ｔｉｍｅ Ｏｕｔによって終了すれば、ラッチリセット信号ＬａｔｃｈＲｅｓｅｔが一回トグリングしてプログラムビットカウンタ２０とデータラッチ３０を初期化し、残りのデータＤａｔａ＜５＞乃至Ｄａｔａ＜８＞に対するプログラムが上述の内容と同一の過程で実行される。
【００３７】
図３を参照すれば、プログラムデータＤａｔａ＜Ｎ:１＞が“１０１０１０１０”の場合、第２、第４、第６、及び第８データＤａｔａ＜２＞、Ｄａｔａ＜４＞、Ｄａｔａ＜６＞、Ｄａｔａ＜８＞のみが“０”の値を有するので、“０”のデータを捜し出すデータスキャニング動作は第８ビットライン選択信号ＢＬｓｅｌｅｃｔ＜８＞が活性化されるまで続く。すなわち、４個の“０”のデータを全部捜すようになれば、ようやく一回のプログラムを実行するようになる。この場合、プログラムデータの値に構わずに同時にプログラムできるビットずつ無条件分けてプログラムを実行する従来技術と比べるとき、本発明は“０”のデータの個数に従ってただ１回にプログラムが完了するので、プログラムに要する時間が半分に短縮される効果がある。
【００３８】
このようなプログラム時間の短縮効果は、プログラムしなければならないビット数が増加するほどさらに増大する。例えば、プログラムデータがワードに入力され、同時にプログラムできるビット数が４ビットであるとき、従来のプログラム方法では必ず４ビットずつ４回にわたってプログラムを実行しなければならないが、本発明では“０”の値を有するデータの個数が４個以下であれば、１回、５乃至８個であれば、２回、９乃至１２個であれば、３回、そして１３乃至１６個であれば、４回にわたってプログラムを完了することができる。すなわち、“０”の値を有するデータの個数に従って最大１/４までプログラム時間を縮めることができるようになり、このようなプログラム方式はデータ構成において、どのような制約も受けない特徴を有する。一般的に、“０”の値を有するデータと“１”の値を有するデータの確率的分布は平均的に同一であるといえるので、プログラム時間の短縮効果は約５０％であるといえる。このような本発明の各構成要素に対する詳細構成は次の通りである。
【００３９】
図４は図１に示したスキャンクロック発生部２０の回路図である。図４を参照すれば、スキャンクロック発生部２０は信号入力部２１、カウント部２５、及びデコーディング部２７を含む。
【００４０】
信号入力部２１はインバータとＮＯＲゲートで構成され、一定周期に入力される内部クロック信号ＣＬＫの反転された値と、同時プログラム活性化信号ＢｉｔＭａｘに対する論理ＮＯＲ演算を実行し、同時プログラム活性化信号ＢｉｔＭａｘが入力される前まで入力された内部クロック信号ＣＬＫのみをカウント部２５に伝達する機能を実行する。カウント部２５は３ビットカウンタで構成されて、信号入力部２１から入力されたクロック信号ＣＬＫの個数をカウントする。デコーディング部２７はカウント部２５の出力をデコーディングして、内部クロック信号ＣＬＫの各周期ごとに１回ずつ順次にトグリングされる複数個のスキャンクロック信号ＳｃａｎＣＬＫ＜１＞、…、ＳｃａｎＣＬＫ＜８＞を発生する。
【００４１】
信号入力部２１は活性化された同時プログラム活性化信号ＢｉｔＭａｘが入力されれば、ローレベルの信号を出力してカウント部２５をしてカウント動作を実行しないようにする。その結果、同時プログラム活性化信号ＢｉｔＭａｘが活性化されるプログラム区間の間スキャンクロック発生部２０はスキャンクロック信号ＳｃａｎＣＬＫ＜１＞、…、 ＳｃａｎＣＬＫ＜８＞の発生を中断するようになり、プログラムが終わって同時プログラム活性化信号ＢｉｔＭａｘが非活性化されれば、再びクロック信号ＣＬＫに対するカウンティングを実行して次の順番のスキャンクロック信号を生成するようになる。
【００４２】
図５は図１に示したデータラッチ回路３０ｉの回路図である。図５を参照すれば、データラッチ回路３０ｉはデータ検出部３１及びデータ貯蔵部３５を含む。
【００４３】
データ検出部３１はＮＯＲゲート、ＮＡＮＤゲート、及びインバータで構成され、ベリファイパス信号ＶｅｒｉｆｙＰａｓｓ＜ｉ＞とプログラムデータＤａｔａ＜ｉ＞に対する論理ＮＯＲ演算を実行し、前記論理ＮＯＲ演算結果とスキャンクロック信号ＳｃａｎＣＬＫ＜ｉ＞に対する論理ＮＡＮＤ演算を実行する。次いで、前記論理ＮＡＮＤ演算結果を反転してプログラムカウント信号ＰｇｍＣｏｕｎｔ＜ｉ＞として出力する。例えば、プログラムが正しく実行されてこれ以上のプログラムを要しない場合にはデータ検出部３１に活性化されたベリファイパス信号ＶｅｒｉｆｙＰａｓｓ＜ｉ＞が入力されて、非活性化されたプログラムカウント信号ＰｇｍＣｏｕｎｔ＜ｉ＞が出力される。そして、プログラムが正しく実行されなくて再プログラムが実行されなければならない場合には、データ検出部３１に非活性化されたベリファイパス信号ＶｅｒｉｆｙＰａｓｓ＜ｉ＞が入力される。この際、プログラムデータＤａｔａ＜ｉ＞の値が“０”の値を有すれば、データ検出部３１の該当のデータのスキャンクロック信号ＳｃａｎＣＬＫ＜ｉ＞に同期されて活性化されたプログラムカウント信号ＰｇｍＣｏｕｎｔ＜ｉ＞を出力するようになる。
【００４４】
データ貯蔵部３５はＴフリップフロップで構成され、データ検出部３１で“０”のデータに検出されたデータを貯蔵する機能を実行する。データ検出部３１によって“０”の値を有するデータＤａｔａ＜ｉ＞が検出されて、活性化されたプログラムカウント信号ＰｇｍＣｏｕｎｔ＜ｉ＞が発生されれば、データ貯蔵部３５は前記プログラムカウント信号ＰｇｍＣｏｕｎｔ＜ｉ＞をクロック入力として受け入れて、活性化されたビットライン選択信号ＢＬｓｅｌｅｃｔ＜ｉ＞を発生する。本発明では、このビットライン選択信号ＢＬｓｅｌｅｃｔ＜ｉ＞によって選択された該当のビットラインのみが実質的にプログラムされる。データ貯蔵部３５はプログラムビットカウンタ４０から発生されたラッチリセット信号ＬａｔｃｈＲｅｓｅｔに応答して初期化され、このような構成は該当のビットが次の回のプログラム時、これ以上プログラムされないようにする。また、前記のようなリセット過程によれば、プログラムモード初期とプログラム実行直後のビットライン選択信号ＢＬｓｅｌｅｃｔ＜ｉ＞の生成を担当するフリップフロップがリセットされて、一回プログラムされたビットが次の回のプログラム実行区間でこれ以上プログラムされないようにする。
【００４５】
図６は図１に示したプログラムビットカウンタ４０の回路図である。図６を参照すれば、プログラムビットカウンタ４０は信号入力部４１、リセット制御部４２、カウント部４５、及びデータ出力部４６を含む。
【００４６】
信号入力部４１はデータラッチ３０から発生された複数個のプログラムカウント信号ＰｇｍＣｏｕｎｔ＜１＞乃至ＰｇｍＣｏｕｎｔ＜８＞を受け入れ、これらのうちの一つでも活性化された信号があれば、活性化された出力信号をカウント部４５に出力する。カウント部４５は３ビットカウンタで構成され、信号入力部４１から活性化された信号が入力されるごとに（すなわち、データラッチ３０が“０”のデータを検索するごとに）カウントアップされて、同時にプログラムされるデータの個数を決めるようになる。
【００４７】
データ出力部４６はカウント部４５でカウントされた値が最大同時プログラム個数と同一であるか、または最後のスキャンクロック信号ＳｃａｎＣＬＫ＜８＞が入力されたかを判別する。判別結果、カウントされた値が最大同時プログラム個数と同一であるか、最後のスキャンクロック信号ＳｃａｎＣＬＫ＜８＞が入力されれば、活性化された同時プログラム活性化信号ＢｉｔＭａｘを出力する。このためにデータ出力部４６はカウント部４５の出力と最後のスキャンクロック信号ＳｃａｎＣＬＫ＜８＞に対する論理ＮＯＲ演算を実行するＮＯＲゲート４７と、ＮＯＲゲート４７の出力信号をラッチさせるラッチ部４８、及びラッチ部４８の出力を反転して出力する第１インバータ４９を含む。
【００４８】
リセット制御部４２はプログラム制御部５０から発生されたプログラム実行信号ＰｇｍＥｘｅｃｕｔｅを利用してカウント部４５をリセットさせ、プログラム実行信号ＰｇｍＥｘｅｃｕｔｅの反転された値をラッチリセット信号ＬａｔｃｈＲｅｓｅｔとして出力する。このために、リセット制御部４２はプログラム実行信号ＰｇｍＥｘｅｃｕｔｅを反転された値を利用して上昇エッジで活性化されるパルスとして発生するパルス発生部４３と、パルス発生部４３の出力信号を反転してラッチリセット信号ＬａｔｃｈＲｅｓｅｔとして出力するインバータ４４を含む。
【００４９】
このような構成によって、プログラムビットカウンタ４０は８個のデータラッチ回路３０ａ、…３０ｊから各々入力されるプログラムカウント信号ＰｇｍＣｏｕｎｔ＜８:１＞のうちの一つでもハイレベルを有すれば、これをカウントすることができるようになる。そして、カウントされた値が決められた個数（すなわち、最大同時プログラム個数）になれば、活性化された同時プログラム活性化信号ＢｉｔＭａｘを発生する。この外にも、プログラムビットカウンタ４０は最後のビットに対するスキャンクロック信号ＳｃａｎＣＬＫ＜８＞がトグリングされたか否かをモニタリングし、前記スキャンクロック信号ＳｃａｎＣＬＫ＜８＞がトグリングされれば、たとえカウントされた値が最大同時プログラム個数である４ビットにならなくても、今まで捜し出したビットが同時にプログラムされるように活性化された同時プログラム活性化信号ＢｉｔＭａｘを発生する。
【００５０】
図７は図１に示したプログラム制御部５０の回路図である。図７を参照すれば、プログラム制御部５０はトグリング部５５と信号出力部５７とを含む。
【００５１】
トグリング部５５はＴフリップフロップで構成され、クロック入力端子に同時プログラム活性化信号ＢｉｔＭａｘを受け入れ、トグリングされた結果を出力する。トグリング部５５は活性化された同時プログラム活性化信号ＢｉｔＭａｘが入力されれば、それの上昇エッジ（ｒｉｓｉｎｇ ｅｄｇｅ）からトグリングされて、活性化されたプログラム実行信号ＰｇｍＥｘｅｃｕｔｅを発生する。そして、信号出力部５７はトグリング部５５から発生されたプログラム実行信号ＰｇｍＥｘｅｃｕｔｅを所定時間遅延して出力する。
【００５２】
一方、トグリング部５５はプログラム実行信号ＰｇｍＥｘｅｃｕｔｅを発生した後、一定時間が経過した後にリセット端子に入力されたプログラム時間制御信号Ｔｉｍｅ Ｏｕｔに応答してリセットされる。その結果、活性化されたプログラム実行信号ＰｇｍＥｘｅｃｕｔｅが非活性化されて、“０”のデータを捜し出すスキャン動作が再び実行されるようにする。
【００５３】
図８は図１に示したプログラムドライブ回路６０ｉの回路図である。
【００５４】
プログラムドライブ回路６０ｉはプログラムするためのビットライン電圧を選択的に印加するための回路として、ビットライン選択信号ＢＬｓｅｌｅｃｔ＜ｉ＞によって該当のビットラインＢＬ＜ｉ＞が選択されれば、プログラム区間の間の該当のビットラインＢＬ＜ｉ＞にプログラムのための高電圧Ｖｂｌを印加するレベルシフト（ｌｅｖｅｌ ｓｈｉｆｔｅｒ）としての機能を実行する。
【００５５】
図８を参照すれば、プログラムドライブ回路６０ｉはＮＡＮＤゲートとインバータで構成されたデータ入力部６１を通じて、プログラム実行信号ＰｇｍＥｘｅｃｕｔｅとビットライン選択信号ＢＬｓｅｌｅｃｔ＜ｉ＞が全部活性化されたか否かを検出する。検出結果、二つの信号が全部活性化されれば、第１ノードＮ１にハイレベルの信号を出力する。第１ ノードＮ１に入力されたハイレベルの信号は第１ＮＭＯＳトランジスタ６５の制御ゲートに印加される。そして、前記第１ノードＮ１に印加された信号はインバータ６３を通じてローレベルに反転されて第２ＮＭＯＳトランジスタ６６の制御ゲートに印加される。
【００５６】
第１ＮＭＯＳトランジスタ６５は制御端子に印加されたハイレベルの信号によってターンオンされ、第２ＮＭＯＳトランジスタ６６は制御端子に印加されたローレベルの信号によって各々ターンオフされる。第２ノードＮ２の電圧レベルはターンオンされた第１ＮＭＯＳトランジスタ６５の放電動作によって接地レベルに低くなるようになる。第２ノードＮ２の電圧が接地レベルに低くなることによって、第１ＰＭＯＳトランジスタ６７の制御端子にローレベルの信号が印加され、その結果、第１ＰＭＯＳトランジスタ６７がターンオンされる。
【００５７】
第３ノードＮ３の電圧レベルはターンオンされた第１ＰＭＯＳトランジスタ６７のチャージング動作によってプログラム電圧レベルＶｂｌに上昇するようになり、上昇された第３ノードＮ３の電圧によって第２ＰＭＯＳトランジスタ６８はターンオフ状態を維持するようになる。その結果、第３ノードＮ３に充電されたハイレベルのプログラム電圧Ｖｂｌは該当のビットラインＢＬ＜ｉ＞に提供されて、該当のメモリセルをプログラムするようになる。
【００５８】
上述のように、本発明による不揮発性メモリ装置１００は、“０”または“１”の値を有する複数個のプログラムデータのうちの実質的にプログラムされる“０”のデータだけ選らび出した後、これを所定ビット単位で同時にプログラムするので、プログラムされるデータの値に構わずに一定個数だけずつ一律的にプログラムする従来のプログラム方式に比べて、プログラムするのにかかる時間を著しく減らすことができる。
【００５９】
以上では、本発明による回路の構成及び動作を上述の説明及び図によって示したが、これは例をあげて説明したことに過ぎず、本発明の技術的思想を逸脱しない範囲内で多様な変化及び変更が可能であることはもちろんである。
【図面の簡単な説明】
【００６０】
【図１】本発明の望ましい実施形態による不揮発性半導体メモリ装置のブロック図である。
【図２】図１に示した半導体メモリ装置で実行されるビットスキャニングプログラムに対する動作タイミングを示すタイミング図である。
【図３】図１に示した半導体メモリ装置で実行されるビットスキャニングプログラムに対する動作タイミングを示すタイミング図である。
【図４】図１に示したスキャンクロック発生部の回路図である。
【図５】図１に示したデータラッチ回路の回路図である。
【図６】図１に示したプログラムビットカウンタの回路図である。
【図７】図１に示したプログラム制御部の回路図である。
【図８】図１に示したプログラムドライブ回路の回路図である。
【符号の説明】
【００６１】
１０  データスキャニング部
２０  スキャンクロック発生部
３０  データラッチ部
４０  プログラムビットカウンタ
５０  プログラム制御部
６０  プログラムドライバ
７０  感知部
８０  プログラム部
９０  メモリセルアレイ領域
１００  不揮発性半導体メモリ装置
【図１】
2006024347.tif 000003
【図２】
2006024347.tif 000004
【図３】
2006024347.tif 000005
【図４】
2006024347.tif 000006
【図５】
2006024347.tif 000007
【図６】
2006024347.tif 000008
【図７】
2006024347.tif 000009
【図８】
2006024347.tif 000010