(57)【要約】【課題】  不揮発性メモリ装置およびそれのプログラム方法を提供する。【解決手段】  ここに開示された不揮発性メモリ装置及び方法は、データをスキャニングして実際プログラムされるデータビットを捜し出し、これを所定の個数だけ同時にプログラムする。特に、本発明では前記データスキャニング過程と前記プログラム過程とをパイプライン方式で実行するので、データをプログラムするのにかかる平均時間が効果的に短縮される。【選択図】  図２
2006107719.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータビットのうちのプログラムされるイニシャルデータビットを検索する段階と、
前記検索されたイニシャルデータビットをプログラムする段階とを含み、
前記イニシャルデータビットがプログラムされる間、次にプログラムされるデータビットが残りのデータビットから検索されることを特徴とする不揮発性メモリ装置のプログラム方法。
【請求項２】
前記プログラム及び検索はパイプライン方式で実行されることを特徴とする請求項１に記載の不揮発性メモリ装置のプログラム方法。
【請求項３】
前記プログラム及び検索は“０”のデータ値を有するデータに対して実行されることを特徴とする請求項１に記載の不揮発性メモリ装置のプログラム方法。
【請求項４】
入力されたデータビットのうちのプログラムされるイニシャルデータビットを検索するデータスキャニング部と、
前記検索されたイニシャルデータビットをプログラムする書き込みドライバとを含み、
前記データスキャニング部は前記イニシャルデータビットがプログラムされる間、残りのデータビットから次にプログラムされるデータビットを検索することを特徴とする不揮発性メモリ装置。
【請求項５】
前記プログラム及び前記検索はパイプライン方式で実行されることを特徴とする請求項４に記載の不揮発性メモリ装置。
【請求項６】
“０”のデータ値を有するデータが前記データスキャニング部によって検索され、前記書き込みドライバによって次にプログラムされることを特徴とする請求項４に記載の不揮発性メモリ装置。
【請求項７】
前記書き込みドライバ及び前記データスキャニング部のデータ入出力を制御する制御ロジックをさらに含むことを特徴とする請求項４に記載の不揮発性メモリ装置。
【請求項８】
外部から入力された前記データビットを貯蔵し、前記データビットを前記データスキャニング部に提供する入出力バッファをさらに含むことを特徴とする請求項４に記載の不揮発性メモリ装置。
【請求項９】
前記データスキャニング部は、前記バッファから前記検索に使われる複数個のデータビットを受け入れて貯蔵するスキャンラッチを含むことを特徴とする請求項４に記載の不揮発性メモリ装置。
【請求項１０】
前記データスキャニング部は、所定の同時プログラムビット数だけ前記プログラムされるデータビットを検索することを特徴とする請求項４に記載の不揮発性メモリ装置。
【請求項１１】
前記データスキャニング部は、前記検索されたデータビットと前記データビットのアドレス情報を前記書き込みドライバに提供することを特徴とする請求項１０に記載の不揮発性メモリ装置。
【請求項１２】
前記書き込みドライバは、前記検索されたデータビットを前記同時プログラムビット数単位でプログラムすることを特徴とする請求項１０に記載の不揮発性メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は不揮発性メモリ装置に係り、さらに具体的にはプログラム時間を短縮することができる不揮発性メモリ装置に関する。
【背景技術】
【０００２】
不揮発性メモリ装置はドライブ電源が供給されなくてもセルに記録されたデータが消滅せず、残っている。不揮発性メモリのうちでもフラッシュメモリは電気的にセルのデータを一括的に消去する機能を持っているので、コンピュータ及びメモリカードなどに広く使われている。
【０００３】
フラッシュメモリはセルとビットラインの連結状態によってＮＯＲ型とＮＡＮＤ型に区分される。ＮＯＲ型フラッシュメモリは一つのビットラインに二つ以上のセルトランジスタが並列に連結された形態として、チャンネルホットエレクトロン（ｃｈａｎｎｅｌ ｈｏｔ ｅｌｅｃｔｒｏｎ）方式を使用してデータを貯蔵し、Ｆ−Ｎトンネリング（Ｆｏｗｌｅｒ−Ｎｏｒｄｈｅｉｍ ｔｕｎｎｅｌｉｎｇ）方式を使用してデータを消去する。そして、ＮＡＮＤ型フラッシュメモリは一つのビットラインに二つ以上のセルトランジスタが直列に連結された形態として、Ｆ−Ｎトンネリング方式を使用してデータを貯蔵及び消去する。一般的に、ＮＯＲ型フラッシュメモリは電流消耗が大きくて高集積化には不利であるが、高速化に容易に対処することができるという長所があり、ＮＡＮＤ型フラッシュメモリはＮＯＲ型フラッシュメモリに比べて少ないセル電流を使用するので、高集積化に有利な長所がある。
【０００４】
ＮＯＲフラッシュメモリのセルアレイ（ｃｅｌｌ ａｒｒａｙ）は、大きく複数個のバンク（ｂａｎｋ）で構成され、それぞれのバンクは複数個のセクタ（ｓｅｃｔｏｒ）で構成され、それぞれのセクタは複数個のメモリセル（ｍｅｍｏｒｙ ｃｅｌｌ）で構成される。一般的に、ＮＯＲフラッシュメモリの消去（ｅｒａｓｅ）動作は前記セクタ単位で実行され、プログラム（ｐｒｏｇｒａｍ）はワード（ｗｏｒｄ）単位または、バイト（ｂｙｔｅ）単位で実行される。
【０００５】
ＮＯＲフラッシュメモリのセルアレイにデータをプログラムするためには、まず、フラッシュメモリにプログラム命令語（ｐｒｏｇｒａｍ ｃｏｍｍａｎｄ）が入力された後、プログラムアドレスとプログラムデータがフラッシュメモリに入力される。入力されたプログラムアドレスとプログラムデータはチップ内部に一時貯蔵され、プログラムアドレスに対応されるメモリセルが選択される。続いて、プログラムデータに対応されるプログラム電圧がビットラインに印加されて、実質的なプログラムが実行される。その後、内部的にあらかじめ決められた所定のプログラム実行時間（ｐｒｏｇｒａｍ ｅｘｅｃｕｔｉｏｎ ｔｉｍｉｎｇ）が経過すると、選択されたメモリセルにデータがプログラムされたか否かを判別する検証（ｖｅｒｉｆｙ）動作が実行される。このようなプログラム及び検証動作は、選択されたメモリセルにデータが正常にプログラムされるまで繰り返して実行される。
【０００６】
一般的に、ＮＯＲフラッシュメモリをプログラムするのに使われるチャンネルホットエレクトロン方式では、メモリセルのドレイン（ｄｒａｉｎ）に４Ｖ乃至６Ｖ程度の高電圧が印加されるので、一定のレベル以上のプログラム電流（ｃｕｒｒｅｎｔ）を要する。そして、ドレインに印加される高電圧はチップ内部に具備されたチャージポンプ（ｃｈａｒｇｅ ｐｕｍｐ）を通じて生成されるので、同時にプログラムすることができるメモリの個数は通常２個乃至４個に制限される。例えば、同時にプログラムすることができるビットの数が４個である時、１６ビットのデータは４ビットずつ分割された後、合計４回にわたってメモリセルにプログラムされる。
【０００７】
フラッシュメモリのプログラム特性をよく見れば、フラッシュメモリでプログラムを実行するためには事前に該当のアドレス部分を必ず消去（ｅｒａｓｅ）（すなわち、データ値を“１”として作る）しなければならないから、プログラムデータが“１”というのは、プログラム時、プログラム動作を実行しなくても所望するデータをプログラムしたことと同様であると言える。このようなフラッシュメモリのプログラム特性にもかかわらず、大部分のフラッシュメモリはプログラムされるデータの値が“０”であるか、または“１”であるかに構わずに各データグループに対して一定のプログラム時間を一律的に割り当てる。したがって、プログラムデータ値に関係なくデータをプログラムするのにかかる時間は常に一定に要するという問題がある。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、上述の諸般の問題点を解決するために提案されたことであり、プログラム時間を短縮させることができる不揮発性メモリ装置及び方法を提供することにある。
【課題を解決するための手段】
【０００９】
上述の課題を達成するために、本発明による不揮発性メモリ装置のプログラム方法は、入力されたデータビットのうちのプログラムされるイニシャルデータビット（ｉｎｉｔｉａｌ ｄａｔａ ｂｉｔｓ）を検索する段階と、前記検索されたイニシャルデータビットをプログラムする段階とを含み、前記イニシャルデータビットがプログラムされる間、次にプログラムされるデータビットが残りのデータビットから検索されることを特徴とする。
【００１０】
この実施形態において、前記プログラム及び検索はパイプライン方式で実行されることを特徴とする。
【００１１】
この実施形態において、前記プログラム及び検索は“０”のデータ値を有するデータに対して実行されることを特徴とする。
【００１２】
上述の課題を達成するために本発明による不揮発性メモリ装置は、入力されたデータビットのうちプログラムされるイニシャルデータビットを検索するデータスキャニング部と、前記検索されたイニシャルデータビットをプログラムする書き込みドライバとを含み、前記データスキャニング部は前記イニシャルデータビットがプログラムされる間、残りのデータビットから次にプログラムされるデータビットを検索することを特徴とする。
【００１３】
この実施形態において、前記プログラム及び前記検索はパイプライン方式で実行されることを特徴とする。
【００１４】
この実施形態において、“０”のデータ値を有するデータが前記データスキャニング部によって検索され、前記書き込みドライバによって次にプログラムされることを特徴とする。
【００１５】
この実施形態において、前記書き込みドライバ及び前記データスキャニング部のデータ入出力を制御する制御ロジックをさらに含むことを特徴とする。
【００１６】
この実施形態において、外部から入力された前記データビットを貯蔵し、前記データビットを前記データスキャニング部に提供する入出力バッファをさらに含むことを特徴とする。
【００１７】
この実施形態において、前記データスキャニング部は、前記バッファから前記検索に使われる複数個のデータビットを受け入れて貯蔵するスキャンラッチを含むことを特徴とする。
【００１８】
この実施形態において、前記データスキャニング部は、所定の同時プログラムビット数だけ前記プログラムされるデータビットを検索することを特徴とする。
【００１９】
この実施形態において、前記データスキャニング部は、前記検索されたデータビットと前記データビットのアドレス情報を前記書き込みドライバに提供することを特徴とする。
【００２０】
この実施形態において、前記書き込みドライバは、前記検索されたデータビットを前記同時プログラムビット数単位でプログラムすることを特徴とする。
【発明の効果】
【００２１】
本発明によると、不揮発性半導体メモリ装置でデータをプログラムするのにかかる平均時間が効果的に短縮される。
【発明を実施するための最良の形態】
【００２２】
以下では、本発明による実施形態を添付の図を参照して詳細に説明する。
【００２３】
本発明の新規した不揮発性メモリ装置は、プログラムデータのうち実際プログラムされるデータビットだけつまみ出して所定ビット単位でプログラムする。このようなプログラム方式を“ビットスキャニングプログラム方式（Ｂｉｔ Ｓｃａｎｎｉｎｇ Ｐｒｏｇｒａｍ Ｓｃｈｅｍｅ）と称する。特に、本発明では実際プログラムされるデータビットを捜し出すスキャニング過程と、捜し出したデータビットのみを選別的にプログラムするプログラム過程をパイプライン方式で実行する。したがって、データをプログラムするのにかかる平均時間が効果的に短縮される。
【００２４】
フラッシュメモリのような不揮発性メモリでプログラムを実行するためには事前に該当のアドレス部分を必ず消去（データ値を“１”の状態にさせる）するようになっている。不揮発性メモリで実行されるプログラム動作はデータ“１”をデータ“０”に変換させることを意味する。したがって、プログラムデータが“１”というのはプログラム時、何らのプログラム動作を実行しなくても所望するデータをプログラムしたことと同様であると言える。したがって、本発明ではプログラム時間が効果的に短縮されるようにデータ値が“０”のみを読み出して（ｓｃａｎ）プログラムを実行する。特に、本発明ではプログラムに要する時間をさらに縮めさせるように、前記スキャニング過程と前記プログラム過程とをパイプライン方式で同時に実行する。
【００２５】
図１は本発明の望ましい実施形態による半導体メモリ装置１００の構成を示すブロック図である。
【００２６】
一般的に、半導体メモリ装置はメモリセルで構成されたアレイ領域と、前記アレイ領域の行及び列を選択するための周辺回路を具備するようになる。もし、前記アレイ領域が複数個のアレイブロックに分離する場合、それに従って該当する周辺回路もそれにそれぞれ対応するように分離する。このようなアレイ領域の構成はこの分野の通常的な知識を持った者等に自明である。以下、説明されるアレイ領域は複数個のアレイブロックのうちの一つのアレイブロック及びここに係わる周辺回路（特に、プログラムと係わる周辺回路）のみを図示した。特に、図１に示した半導体メモリ装置１００はＮＯＲタイプのフラッシュメモリを例としてあげたことで、本発明による並列ビットスキャニングプログラム方式はＮＯＲタイプのフラッシュメモリではなく、他の不揮発性メモリにも適用可能である。
【００２７】
図１を参照すると、本発明による半導体メモリ装置１００はメモリセルアレイ１０、入出力バッファ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ ｂｕｆｆｅｒ） ２０、データスキャニング部（ｄａｔａ ｓｃａｎｎｉｎｇ ｕｎｉｔ）３０、書き込みドライバ（ｗｒｉｔｅ ｄｒｉｖｅｒ）４０、列選択部５０、感知増幅器（ｓｅｎｓｅ ａｍｐｌｉｆｉｅｒ）６０、及び制御ロジック９０を含む。
【００２８】
メモリセルアレイ１０は複数個のＮＯＲ型フラッシュメモリセルで構成される。入出力バッファ２０はメモリセルアレイ１０に書き込まれるデータと、メモリセルアレイ１０から感知されたデータを貯蔵する。データスキャニング部３０は入出力バッファ２０から入力されたデータをスキャニングして、“０”の値を有するビットを捜し出す。データスキャニング部３０は捜し出した“０”のビットの個数が所定の同時プログラムビット数ＢｉｔＭａｘに至るようになれば、制御ロジック９０の制御に応答して検索された該当のデータビットとアドレス情報を書き込みドライバ４０に送る。ここで、同時プログラムビット数ＢｉｔＭａｘは書き込みドライバ４０が同時にプログラムすることができる最大ビット数を示す。前記同時プログラムビット数ＢｉｔＭａｘは回路の構成によって多様に構成されることができるが、本発明では４ビットで構成される場合を例をあげて説明する。
【００２９】
データスキャニング部３０は、スキャン動作を実行するために内部にスキャンラッチ３５を具備する。スキャンラッチ３５は入出力バッファ２０から入力されたデータを貯蔵する。スキャンラッチ３５に貯蔵されたデータはデータスキャニング部３０のスキャニング動作に使われる。データスキャニング部３０は同時プログラムビット数ＢｉｔＭａｘだけの“０”のビットが検索されるか、スキャニング動作が終わるようになれば、制御ロジック９０の制御に応答して該当のデータビットとアドレスを書き込みドライバ４０に送る。スキャンラッチ３５のサイズは望ましくは入出力バッファ２０の全体サイズよりは小さく構成される。例えば、入出力バッファ２０が３２ワードの大きさを有するように構成される場合、スキャンラッチ３５は８ワードの大きさを有するように構成される。このような入出力バッファ２０及びスキャンラッチ３５の大きさは回路の構成に応じて変更可能である。
【００３０】
書き込みドライバ４０はデータスキャニング部３０から入力されたスキャン結果（すなわち、所定個数の“０”のデータビットとアドレス情報）を利用してセルアレイ１０に対するプログラム動作を実行する。書き込みドライバ４０内部には入出力バッファ２０から受け入れたプログラムされるデータを貯蔵するラッチ（図示しない）が具備されている。列選択部５０は書き込みドライバ４０によってプログラムされるセルアレイ１０のビットライン（図示しない。データスキャニング部３０から発生されたアドレス情報に対応される）を選択する。
【００３１】
書き込みドライバ４０はプログラム時すべてのデータをプログラムせず、実際プログラムされるデータビット（すなわち、“０”の値を有するデータビット）のみを選別的にプログラムし、消去状態のデータビット（すなわち、“１”の値を有するデータビット）はプログラムしない。この際、一回にプログラムされることができるビット数を同時プログラムビット数ＢｉｔＭａｘと言う。
【００３２】
以下で詳細に説明するが、本発明によるデータスキャニング部３０のスキャニング動作と書き込みドライバ４０のプログラム動作はパイプライン方式で同時に実行される。例えば、書き込みドライバ４０がデータスキャニング部３０から発生されたｉ−1番目のスキャン結果をプログラム実行する間、データスキャニング部３０は次にプログラムされる “０”のデータを捜し出すｉ番目のデータスキャニングを実行する。このようなパイプライン方式のデータスキャニング及びプログラムによると、データのスキャニングとプログラムが同時に実行されるので、データをプログラムするのにかかる時間が減る。
【００３３】
メモリセルアレイ１０にデータが書き込まれた後、メモリセルアレイ１０に書き込まれたデータは感知増幅器６０を通じて感知及び増幅される。感知増幅器６０によって感知及び増幅されたデータは入出力バッファ２０の該当のアドレスに貯蔵された後、外部に出力される。感知増幅器６０を通じて感知及び増幅されたデータは、この分野に対する通常の知識を持った者によく知られているように、プログラム検証部（図示しない）を通じてプログラムが正しく実行されたか（パスであるか、フェイルであるか）否かを検証（ｖｅｒｉｆｙ）するのに使われる。そして、検証の結果、プログラムが正しく実行されないと判明されれば（すなわち、フェイルであれば）、該当のデータは再プログラムされる。本発明によるビットスキャニングプログラム方法は初期プログラムだけでなく、再プログラム時にも適用可能である。
【００３４】
上述のように、本発明による半導体メモリ装置１００では、実際プログラムされるデータビットを捜し出すデータスキャニングと、スキャニングされた結果に対するプログラム動作がパイプライン方式で同時に実行される。その結果、プログラムに要する時間が最小化される。
【００３５】
図２は本発明の望ましい実施形態によるプログラム方法を示すフローチャートである。図２には同時プログラムビット数ＢｉｔＭａｘが ４である場合を例としてあげたことで、説明の便宜のために３回のスキャン動作及びプログラム動作が例示されている。図２に示したスキャン動作及びプログラム動作の回数は、同時プログラムビット数ＢｉｔＭａｘ、スキャンラッチ３５などの構成に応じて調節可能である。
【００３６】
図２を参照すると、本発明によるプログラム方法は、まずデータスキャニング部３０を通じて一番目のビットスキャン動作を実行する（３１０段階）。
【００３７】
３１０段階でデータスキャニング部３０は制御ロジック９０の制御に応答して入出力バッファ２０から入力されたデータをスキャンラッチ３５に貯蔵する。その後、スキャンラッチ３５に貯蔵されたデータをスキャニングして“０”の値を有するデータビットを検索する。同時プログラムビット数ＢｉｔＭａｘだけの“０”のデータビットが検索されれば、データスキャニング部３０は検索されたデータビット及びアドレス情報を書き込みドライバ４０に伝達する。本発明では、このような一連の過程をビットスキャン動作と称する。
【００３８】
３１０段階で一番目のビットスキャンが実行された後、書き込みドライバ４０は３１０ 段階で得られた所定の個数（すなわち、同時プログラムビット数ＢｉｔＭａｘ）の“０”のデータビットをメモリセルアレイ１０の該当のアドレスにプログラムする（４１０段階）。そして、４１０段階でプログラムが実行される間、データスキャニング部３０は二番目のビットスキャニング動作を実行する（３２０段階）。ここで、二番目のビットスキャン動作は前で説明された一番目のビットスキャン動作と同一の過程で実行される。そして、３２０段階及び４１０段階で実行される二番目のビットスキャン動作と一番目のビットスキャン結果に対するプログラム動作は、パイプライン方式で同時に実行される。
【００３９】
続いて、書き込みドライバ４０は３２０段階で得られた二番目のビットスキャン結果をプログラムする（４２０段階）。そして、４２０段階でプログラムが実行される間、データスキャニング部３０は三番目のビットスキャニング動作を実行する（３３０段階）。ここで、三番目のビットスキャン動作も上述の一番目のビットスキャン動作と同一の過程で実行される。そして、３３０段階及び４２０段階で実行される三番目のビットスキャン動作と、二番目のビットスキャン結果に対するプログラム動作は、パイプライン方式で同時に実行される。
【００４０】
３３０段階で実行された三番目のビットスキャン動作によってデータスキャニング部３０のスキャンラッチ３５に貯蔵されたデータが全部スキャンされたら、書き込みドライバ４０は３３０段階で得られた三番目のビットスキャン結果をプログラムする（４３０段階）。このようなパイプライン方式のスキャン及びプログラム動作は、説明の便宜のために３回のスキャン動作及びプログラム動作を例としてあげて説明したことに過ぎず、スキャン回数及びプログラム回数が増加するほど本発明によるプログラム時間の短縮の効果はさらに大きくなるようになる。
【００４１】
図３は一般的なビットスキャニングプログラム過程と、この際要するプログラム時間を示す図である。そして、図４は本発明によるビットスキャニングプログラム過程と、この際要する時間を示す図である。
【００４２】
まず、図３を参照すると、一般的なビットスキャニングプログラム方式では“０”のデータを捜し出すデータスキャニング過程と、スキャニングによって捜し出したデータビットに対するプログラム過程が順次に実行される。したがって、３回のスキャン動作及びプログラム動作を実行するためには３回のスキャン時間と３回のプログラム時間が必要である。
【００４３】
しかし、図４に示したように、本発明によるビットスキャニングプログラム方式では“０”のデータを捜し出すデータスキャニング過程と、スキャニングによって捜し出したデータビットに対するプログラム過程がパイプライン方式で実行される。その結果、２番目及び３番目のデータスキャニング過程が１番目及び２番目のプログラミング過程とそれぞれオーバーラップされる。このような特性によって、本発明では３回のスキャン動作及びプログラム動作を実行するのに１回のスキャン時間と３回のプログラム時間を要するようになる。このようなプログラム時間の短縮効果はプログラムされるデータの量が増加するほどさらに大きくなる。
【００４４】
以上から分かるように、本発明によるビットスキャニング方法は実際にプログラムされるデータビットを捜し出すデータスキャニング動作と、スキャニングされた結果に対するプログラム動作をパイプライン方式で実行する。したがって、プログラムに要する時間を顕著に減らすことができる。
【００４５】
以上のように、図面と明細書で最適実施形態が開示された。ここで特定の用語が使われたが、これはただ本発明を説明するための目的として使われたことであり、意味限定や特許請求の範囲に記載した本発明の範囲を制限するために使われたことではない。したがって、本技術分野の通常の知識を持った者であれば、今後多様な変形及び均等な他の実施形態が可能であるという点を理解するであろう。したがって、本発明の真正な技術的保護範囲は添付の特許請求の範囲の技術的思想によって決められなければならないであろう。
【図面の簡単な説明】
【００４６】
【図１】本発明の望ましい実施形態による半導体メモリ装置の構成を示すブロック図である。
【図２】本発明の望ましい実施形態によるプログラム方法を示すフローチャートである。
【図３】一般的なビットスキャニングプログラム過程と、この際要するプログラム時間を示す図である。
【図４】本発明によるビットスキャニングプログラム過程と、この際要する時間を示す図である。
【符号の説明】
【００４７】
１０    メモリセルアレイ
２０    入出力バッファ
３０    データスキャニング部
３５    スキャンラッチ
４０    書き込みドライバ
５０    列選択部
６０    感知増幅部
９０    制御ロジック
【図１】
2006107719.tif 000003
【図２】
2006107719.tif 000004
【図３】
2006107719.tif 000005
【図４】
2006107719.tif 000006