(57)【要約】【課題】プログラム命令とデータを反復的に受信せずにデータを連続的にプログラムできる半導体メモリ装置と、このための連続プログラム制御回路及びプログラム方法を提供する。【解決手段】本発明による半導体メモリ装置は、プログラミングイネーブル信号に応答して書き込み制御信号及びプログラム完了信号を生成するプログラムパルス生成部、バッファープログラム命令またはバッファーオーバーライト命令を受信することによって、プログラムアドレス及びデータカウント信号に応答して連続プログラミングイネーブル信号を生成する連続プログラム制御回路及び連続プログラミングイネーブル信号に応答してプログラミングイネーブル信号を生成するコントローラを備える。【選択図】図７
2013097856.tif 000002
【特許請求の範囲】
【請求項１】
プログラミングイネーブル信号に応答して、書き込み制御信号及びプログラム完了信号を生成するプログラムパルス生成部と、
バッファープログラム命令、又はバッファーオーバーライト命令を受信することによって、プログラムアドレス及びデータカウント信号に応答して、連続プログラミングイネーブル信号を生成する連続プログラム制御回路と、
前記連続プログラミングイネーブル信号に応答して、前記プログラミングイネーブル信号を生成するコントローラと、
を備える半導体メモリ装置。
【請求項２】
前記コントローラは、前記連続プログラミングイネーブル信号がイネーブルされる度に前記プログラミングイネーブル信号を生成し、
前記プログラムパルス生成部は、前記プログラミングイネーブル信号がイネーブルされる度に前記書き込み制御信号を生成し、前記書き込み制御信号の生成動作が完了すると、前記プログラム完了信号を生成することを特徴とする、請求項１に記載の半導体メモリ装置。
【請求項３】
前記連続プログラム制御回路は、前記プログラムアドレス及び前記データカウント信号によって、連続プログラム回数を設定することを特徴とする、請求項１または請求項２に記載の半導体メモリ装置。
【請求項４】
前記連続プログラム制御回路は、前記プログラムアドレスの最下位のコラムアドレスが偶数なのか奇数なのかと、前記データカウント信号から判断されたプログラムするデータのワード数が偶数なのか奇数なのかと、によって前記連続プログラム回数を設定することを特徴とする、請求項３に記載の半導体メモリ装置。
【請求項５】
前記連続プログラム制御回路は、前記プログラム完了信号に応答して、前記連続プログラム回数によるカウンティング動作で前記連続プログラミングイネーブル信号を生成することを特徴とする、請求項３または請求項４に記載の半導体メモリ装置。
【請求項６】
前記連続プログラム制御回路は、最後の連続プログラムが行われると連続プログラム終了信号を生成して前記コントローラに供給することを特徴とする、請求項３から請求項５のいずれか一項に記載の半導体メモリ装置。
【請求項７】
前記連続プログラム制御回路は、前記データカウント信号が既設定された最大の連続プログラム回数を超える場合に、エラー信号を生成して前記コントローラへ供給することを特徴とする、請求項３から請求項６のいずれか一項に記載の半導体メモリ装置。
【請求項８】
前記書き込み制御信号に対応するプログラム電流を生成して、メモリ部にデータをプログラムするライトドライバーをさらに備えることを特徴とする、請求項１から請求項７のいずれか一項に記載の半導体メモリ装置。
【請求項９】
前記プログラムパルス生成部は、前記連続プログラミングイネーブル信号がイネーブルされる度に前記書き込み制御信号を生成し、
前記ライトドライバーは、既設定されたプログラム単位でビットラインに接続されてプログラムする複数のデータを同時に入力され、前記プログラムアドレスによって駆動され、前記メモリ部にデータをプログラムすることを特徴とする、請求項８に記載の半導体メモリ装置。
【請求項１０】
前記メモリ部は、電流駆動方式によりデータが記録され、センシングされる複数のメモリセルを備えることを特徴とする、請求項８または請求項９に記載の半導体メモリ装置。
【請求項１１】
プログラムアドレス及びデータカウント信号に応答して、連続プログラミングイネーブル信号を生成し、前記連続プログラムイネーブル信号に応答して生成されるプログラミングイネーブル信号によって、書き込み制御信号を出力するプログラムパルス生成部と、
前記書き込み制御信号に応答して生成されるプログラムパルスをメモリ部に供給するライトドライバーと、を備える半導体メモリ装置。
【請求項１２】
前記連続プログラミングイネーブル信号は、既設定された連続プログラム回数に対応してイネーブルされることを特徴とする、請求項１１に記載の半導体メモリ装置。
【請求項１３】
前記プログラムパルス生成部は、前記書き込み制御信号を生成後、プログラム完了信号を生成し、前記プログラム完了信号に応答して、前記連続プログラミングイネーブル信号を生成することを特徴とする、請求項１２に記載の半導体メモリ装置。
【請求項１４】
前記書き込み制御信号は、第１レベルのデータをプログラムするための第１書き込み制御信号と、第２レベルのデータをプログラムするための第２書き込み制御信号と、を含むことを特徴とする、請求項１１から請求項１３のいずれか一項に記載の半導体メモリ装置。
【請求項１５】
連続プログラミングイネーブル信号によって生成されるプログラミングイネーブル信号に応答してプログラム完了信号を生成するプログラムパルス生成部と接続され、
プログラムアドレス及びデータカウント信号によって連続プログラム回数を設定し、
前記連続プログラム回数によって前記連続プログラミングイネーブル信号を生成する連続プログラム制御回路。
【請求項１６】
前記連続プログラム回数によるカウンティング動作によって、前記連続プログラミングイネーブル信号を生成することを特徴とする、請求項１５に記載の連続プログラム制御回路。
【請求項１７】
前記プログラムアドレス及び前記データカウント信号に応答して、前記連続プログラム回数に対応する判定信号を出力するプログラム回数決定部と、
前記データカウント信号及び前記判定信号に応答して、カウント初期信号を生成する初期値設定部と、
前記カウント初期信号を受信し、前記プログラム完了信号に応答してカウントを行い、カウンティング動作の度にカウンティング信号を生成するカウント部と、
前記カウンティング信号、前記プログラミングイネーブル信号、及び前記プログラム完了信号に応答して、連続プログラム遂行区間において、前記連続プログラミングイネーブル信号を出力する連続プログラムパルス発生部と、
を備えることを特徴とする、請求項１５または請求項１６に記載の連続プログラム制御回路。
【請求項１８】
前記プログラム回数決定部は、前記プログラムアドレスの最下位のコラムアドレスが偶数なのか奇数なのかと、前記データカウント信号から判断されたプログラムをするデータのワード数が偶数なのか奇数なのかと、によって前記判定信号を出力することを特徴とする、請求項１７に記載の連続プログラム制御回路。
【請求項１９】
前記プログラム回数決定部は、前記データカウント信号が既設定された最大の連続プログラム回数を超える場合に、エラー信号を出力することを特徴とする、請求項１７または請求項１８に記載の連続プログラム制御回路。
【請求項２０】
前記カウント部は、前記カウント初期信号からカウントダウンを行うことを特徴とする、請求項１７から請求項１９のいずれか一項に記載の連続プログラム制御回路。
【請求項２１】
前記連続プログラムパルス発生部は、前記カウンティング信号及び前記プログラム完了信号に応答して連続区間イネーブル信号を生成する区間設定部と、
前記連続区間イネーブル信号に応答して、前記プログラミングイネーブル信号又は前記プログラム完了信号のうち１つを選択し、前記連続プログラミングイネーブル信号を出力するパルス出力部と、
を備えることを特徴とする、請求項１７から請求項２０のいずれか一項に記載の連続プログラム制御回路。
【請求項２２】
前記カウンティング信号及び前記連続区間イネーブル信号に応答して、連続プログラム終了信号を生成するモード判定部をさらに備えることを特徴とする、請求項２１に記載の連続プログラム制御回路。
【請求項２３】
前記プログラミングイネーブル信号によって書き込み制御信号を生成し、ライトドライバーに供給することを特徴とする、請求項１５から請求項２２のいずれか一項に記載の連続プログラム制御回路。
【請求項２４】
プログラムパルス生成部を具備する半導体メモリ装置において、データが入力される段階と、
前記プログラムパルス生成部が、プログラムアドレス及びデータカウント信号によって連続プログラム回数を決定する段階と、
前記プログラムパルス生成部が、前記連続プログラム回数に対応してプログラミングイネーブル信号を反復生成する段階と、
前記プログラミングイネーブル信号に応答して、ライトドライバーがメモリ部の選択された領域にデータをプログラムする段階と、
を含む半導体メモリ装置のためのプログラム方法。
【請求項２５】
前記プログラミングイネーブル信号に応答して生成される書き込み制御信号によって、前記メモリ部の選択された領域にデータをプログラムし、
前記プログラムパルス生成部が、前記書き込み制御信号を生成後、プログラム完了信号を出力する段階をさらに含むことを特徴とする、請求項２４に記載の半導体メモリ装置のためのプログラム方法。
【請求項２６】
前記プログラム完了信号に応答して生成される連続プログラミングイネーブル信号によって、前記プログラミングイネーブル信号を生成することを特徴とする、請求項２５に記載の半導体メモリ装置のためのプログラム方法。
【請求項２７】
前記プログラミングイネーブル信号を反復生成する段階は、
前記プログラムアドレス及び前記データカウント信号によって生成される判定信号に応答してカウント初期信号を生成する段階と、
前記カウント初期信号に応答してカウントを行う段階と、
前記カウントが行われる度に前記プログラミングイネーブル信号を生成する段階と、を含むことを特徴とする、請求項２４から請求項２６のいずれか一項に記載の半導体メモリ装置のためのプログラム方法。
【請求項２８】
前記カウントを行う段階は、前記カウント初期信号からカウントダウンを行う段階であることを特徴とする、請求項２７に記載の半導体メモリ装置のためのプログラム方法。
【請求項２９】
連続プログラム回数を決定する段階は、前記プログラムアドレスの最下位のコラムアドレスが偶数なのか奇数なのかと、前記データカウント信号から判断されたプログラムをするデータのワード数が偶数なのか奇数なのかと、によって前記連続プログラム回数を設定する段階であることを特徴とする、請求項２４から請求項２８のいずれか一項に記載の半導体メモリ装置のためのプログラム方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体システムに関し、より具体的には半導体メモリ装置と、このための連続プログラム制御回路及びプログラム方法に関するものである。
【背景技術】
【０００２】
ＰＣＲＡＭ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  ＲＡＭ）は、メモリセルを構成する特定物質の相（ｐｈａｓｅ）変換特性を用いたメモリ素子である。相変化物質は、温度条件によって非晶質状態（Ａｍｏｒｐｈｏｕｓ  Ｓｔａｔｅ）または、結晶質状態（Ｃｒｙｓｔａｌｌｉｎｅ  Ｓｔａｔｅ）に転換されることができる物質であり、例えば、カルコゲナイド系合金（Ｃｈａｌｃｏｇｅｎｉｄｅ  ａｌｌｏｙ）をあげることができる。代表的な相変化物質として、ゲルマニウム（Ｇｅｒｍａｎｉｕｍ）、アンチモン（Ａｎｔｉｍｏｎｙ）、テルル（Ｔｅｌｌｕｒｉｕｍ）を用いたＧｅ２Ｓｂ２Ｔｅ５（以下、ＧＳＴ）物質をあげることができる。
【０００３】
大部分の物質は、物質ごとにメルティングポイント（融点）と結晶化をなす温度とが互いに異なり、冷却時間と温度とによって結晶をなす程度も互いに異なる。これは、各物質等の固有特性の中の１つであり、特にＧＳＴという物質は異なる物質より非晶質状態と結晶質状態の区分がさらに優れている。
【０００４】
図１は、一般的な相変化物質の温度による相変化状態を説明するための一例として、ＧＳＴという物質を例に挙げて説明する。
【０００５】
ＧＳＴは、メルティングポイント以上の高温を一定時間（数十〜数百ｎｓ）維持した後、指定された時間Ｔｑに急冷（Ｑｕｅｎｃｈｉｎｇ）させると非晶質状態がそのまま維持されて抵抗値が数百ｋΩ〜数ＭΩになる。
【０００６】
また、結晶化温度（Ｃｒｙｓｔａｌｌｉｚａｔｉｏｎ  ｔｅｍｐｅｒａｔｕｒｅ）範囲で一定時間の間（数百ｎｓ〜数μｓ）維持した後、冷却されると結晶状態となり、抵抗が数ｋΩ〜数十ｋΩになるが、結晶化温度を維持する時間が長いほど結晶状態がさらに良好となり、より小さな抵抗値を有することができる。
【０００７】
図２は、一般的な相変化物質の温度による相変化状態を説明するための異なる例示として、同様にＧＳＴという物質を例に挙げて説明する。
【０００８】
図２は、一定時間、メルティングポイントの近くまで温度を上昇した後、徐々に冷却させる方法でＧＳＴを結晶化させる例を表わしている。この場合でも、ＧＳＴの抵抗が数ｋΩ〜数十ｋΩになるが、やはり冷却時間が長いほど結晶状態はさらに良好となる。また、図１の場合より結晶化の時間も短くする必要がある。
【０００９】
ＧＳＴのこのような特性を利用するために、直接的に熱を制御する方法もあるが、導体または半導体に流れる電流により発生するジュール熱（Ｊｏｕｌｅ  ｈｅａｔｉｎｇ）を利用した電気的な方法で、ＧＳＴの状態を非晶質状態と結晶質状態とで変化させる方法が利用されている。
【００１０】
前述した図１及び図２は、相変化メモリ素子の一般的な動作を図式化しているが、セットデータプログラム時間、すなわちＧＳＴを結晶化するのに必要となる時間が少ない図２の方法を主に使用する。
【００１１】
図３は、一般的な相変化メモリ装置のセルアレイ構成図である。
【００１２】
図３に図示したように、各メモリセルＭＣはワードラインＷＬ及びビットラインＢＬの間に接続される相変化物質ＧＳＴとスイチング素子Ｄとで構成されている。
【００１３】
このような相変化メモリ装置のプログラム動作を、図４を参照して説明する。
【００１４】
図４は、一般的な相変化メモリ装置の構成図である。
【００１５】
図４を参照すると、相変化メモリ装置１はプログラムパルス生成部１１、ライトドライバー１２及びメモリ部１３を含む。
【００１６】
プログラムパルス生成部１１は、コントローラ（図示せず）から発生されるプログラミングイネーブル信号ＰＧＭＰに応答して、第１書き込み制御信号ＲＥＳＥＴＥＮ及び第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞を生成して、ライトドライバー１２へ供給する。また、第１及び第２制御信号の生成動作が完了するとプログラム完了信号ＰＧＭＮＤＰを生成してコントローラへ伝送する。
【００１７】
ライトドライバー１２は、ライトイネーブル信号ＷＤＥＮに応答して駆動する。そして、プログラムパルス生成部１１から第１書き込み制御信号ＲＥＳＥＴＥＮ及び第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞を受信して、プログラムするデータＤＡＴＡ及びビットライン選択スイッチ制御信号ＹＳＷ＜０：ｍ＞に応答してメモリ部１３へプログラム電流（Ｉ＿ＰＧＭ）を供給する。
【００１８】
これによって、メモリ部１３にはプログラムしようとするデータＤＡＴＡのレベルによってＧＳＴの抵抗状態が変化され、データが記録される。
【００１９】
図５は、図４に図示したプログラムパルス生成部の一例図である。
【００２０】
図５に図示したように、プログラムパルス生成部１１は、初期パルス発生部１１１、リセットパルス発生部１１３及びクエンチング（ｑｕｅｎｃｈｉｎｇ）パルス発生部１１５を含むように構成される。
【００２１】
初期パルス発生部１１１は、コントローラから供給されるプログラミングイネーブル信号ＰＧＭＰに応答して区間設定信号ＱＳＳＥＴＰを生成する。区間設定信号ＱＳＳＥＴＰは、ＧＳＴへ溶融点に近い熱を供給するための時間を決定する信号であり、初期パルス発生部１１１は、プログラミングイネーブル信号ＰＧＭＰに応答して既設定された時間をカウントした後、区間設定信号ＱＳＳＥＴＰをイネーブルさせる。
【００２２】
リセットパルス発生部１１３は、プログラミングイネーブル信号ＰＧＭＰ及び区間設定信号ＱＳＳＥＴＰを既設定された時間を遅延させて生成したリセット信号ＩＲＳＴＰに応答して、第１書き込み制御信号ＲＥＳＥＴＥＮを生成する。
【００２３】
一方、クエンチングパルス発生部１１５は、プログラミングイネーブル信号ＰＧＭＰ及び区間設定信号ＱＳＳＥＴＰに応答して、イネーブル区間が互いに異なる第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞を生成する。また、クエンチングパルス発生部１１５は、第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞の生成が完了するとプログラム完了信号ＰＧＭＮＤＰを生成する。
【００２４】
このような構成によって、リセットパルス発生部１１３は、プログラミングイネーブル信号ＰＧＭＰがイネーブルされた後、リセット信号ＩＲＳＴＰがイネーブルされるまでの区間で第１書き込み制御信号ＲＥＳＥＴＥＮを生成する。そして、クエンチングパルス発生部１１３は、プログラミングイネーブル信号ＰＧＭＰがイネーブルされた後、区間設定信号ＱＳＳＥＴＰがイネーブルされるまでは第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞を同一レベルでイネーブルさせ、区間設定信号ＱＳＳＥＴＰが発生した後には、イネーブルの区間が調節された第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞を生成する。
【００２５】
図６は、一般的な相変化メモリ素子のプログラム動作を説明するためのタイミング図である。
【００２６】
プログラム命令ＰＧＭが印可されることによってコントローラからプログラミングイネーブル信号ＰＧＭＰが生成されて、これによって初期パルス発生部１１１が動作して内部クロックイネーブル信号ＩＰＷＥＮを生成する。そして、これから内部クロックＩＣＫが生成された後、既設定された時間をカウントしてカウンティングコードＱ＜０：３＞が生成され、カウントが完了すると区間設定信号ＱＳＳＥＴＰが生成される。
【００２７】
一方、リセットパルス発生部１１３は、プログラミングイネーブル信号ＰＧＭＰに応答して第１書き込み制御信号ＲＥＳＥＴＥＮをイネーブルし、区間設定信号ＱＳＳＥＴＰを既設定された時間遅延させて生成したリセット信号ＩＲＳＴＰがイネーブルされることによって、第１書き込み制御信号ＲＥＳＥＴＥＮをディスエーブルする。そして、第１書き込み制御信号ＲＥＳＥＴＥＮがイネーブルされている区間においてライトドライバーからプログラミング電流が生成されてビットラインＢＬ０に供給される。
【００２８】
クエンチングパルス発生部１１５は、区間設定信号ＱＳＳＥＴＰに応答してカウントイネーブル信号ＣＫＥＮ、ＣＮＴＥＮＢ、及び内部クロックＱＳＣＫを生成する。そして、これによってイネーブル区間が互いに異なる第２書き込み制御信号ＳＥＴＰ＜０：３＞を生成する。第２書き込み制御信号ＳＥＴＰ＜０：３＞の生成が完了すると、クエンチングパルス完了信号ＱＳＮＤがディスエーブルになり、これからリセット信号ＱＳＲＳＴＰがイネーブルされるとプログラム完了信号ＰＧＭＮＤＰが出力される。この場合、第２書き込み制御信号ＳＥＴＰ＜０：３＞のイネーブル区間によって、ライトドライバーの電流駆動力が順次減少し、ＧＳＴにクエンチングパルスが供給される。
【００２９】
プログラム動作の時、ワードラインはワードライン選択スイッチがディスエーブル状態である場合、高電位（ＶＣＣ以上）を維持するが、ワードライン選択スイッチがイネーブルされると接地電圧レベルにディスチャージされる。また、ライトドライバーによって選択されるビットラインにより、ライトドライバー、ビットライン選択スイッチ、ビットライン、スイチング素子、ＧＳＴ、ワードラインに達するまで電流パスが形成される。
【００３０】
このように電流パスが形成された状態でプログラムしようとするデータレベル（０／１）によって第１書き込み制御信号ＲＥＳＥＴＥＮまたは第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞により、ライトドライバーで駆動される電流量が決定されてビットラインを通してメモリセルにプログラム電流が供給される。例えば、第１書き込み制御信号ＲＥＳＥＴＥＮにより供給される電流を１００と仮定すると、第２書き込み制御信号ＳＥＴＰ＜０：３＞がすべてイネーブルされる場合のメモリセルに供給される電流は、３０〜９０％程度の割合で調節される。
【００３１】
プログラム動作の時、ビットラインを通して供給される電流は、リセットデータの場合には短形波（Ｒｅｃｔａｎｇｕｌａｒ  Ｔｙｐｅ）の形態で供給されて、セットデータの場合には初期には短形波と類似の形態で供給されるが第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞により階段波の形態であり、減少する形態で供給される。
【００３２】
半導体メモリ装置で、プログラム効率を向上させるためには、いくつかのデータを連続的にプログラムするべきだが、このためには外部からプログラム命令とデータとを反復的に入力しなければならない。ところが、プログラムの所要時間には、実際プログラム時間に加えて、プログラム命令及びデータ入力時間も含まれるので、プログラム命令とデータとが反復的に入力されるようになると全体プログラムの所要時間が増加する。
【先行技術文献】
【特許文献】
【００３３】
【特許文献１】米国特許第８０９４５００号明細書
【特許文献２】米国特許第７５９０７９５号明細書
【発明の概要】
【発明が解決しようとする課題】
【００３４】
本発明の実施形態は、プログラム命令とデータとを反復的に受信せずに、データを連続的にプログラムできる半導体メモリ装置と、このための連続プログラム制御回路及びプログラム方法を提供する。
【課題を解決するための手段】
【００３５】
本発明の一実施形態による半導体メモリ装置は、プログラミングイネーブル信号に応答して、書き込み制御信号及びプログラム完了信号を生成するプログラムパルス生成部と、バッファープログラム（ｂｕｆｆｅｒｅｄ  ｐｒｏｇｒａｍ）命令、又はバッファーオーバーライト（ｂｕｆｆｅｒｅｄ  ｏｖｅｒ  ｗｒｉｔｅ）命令を受信することによって、プログラムアドレス及びデータカウント信号に応答して、連続プログラミングイネーブル信号を生成する連続プログラム制御回路と、前記連続プログラミングイネーブル信号に応答して、前記プログラミングイネーブル信号を生成するコントローラとを含むことができる。
【００３６】
本発明の異なる実施形態による半導体メモリ装置は、プログラムアドレス及びデータカウント信号に応答して、連続プログラミングイネーブル信号を生成して、前記連続プログラムイネーブル信号に応答して生成されるプログラミングイネーブル信号によって、書き込み制御信号を出力するプログラムパルス生成部と、前記書き込み制御信号に応答して生成されるプログラムパルスをメモリ部に供給するライトドライバーとを含むことができる。
【００３７】
本発明の一実施形態による連続プログラム制御回路は、連続プログラミングイネーブル信号によって生成されるプログラミングイネーブル信号に応答して、プログラム完了信号を生成するプログラムパルス生成部と接続され、プログラムアドレス及びデータカウント信号によって連続プログラム回数を設定し、前記連続プログラム回数によって前記連続プログラミングイネーブル信号を生成することができる。
【００３８】
本発明の一実施形態によるプログラム方法は、プログラムパルス生成部を具備する半導体メモリ装置においてプログラムデータが入力される段階と、前記プログラムパルス生成部が、プログラムアドレス及びデータカウント信号によって連続プログラム回数を決定する段階と、前記プログラムパルス生成部が、前記連続プログラム回数に対応してプログラミングイネーブル信号を反復生成する段階と、前記プログラミングイネーブル信号に応答して、ライトドライバーがメモリ部の選択された領域にデータをプログラムする段階とを含むことができる。
【発明の効果】
【００３９】
本発明によれば、プログラム命令及びデータを反復的に受信せずに、データを連続的にプログラムできるので、プログラム効率を改善することができる。
【図面の簡単な説明】
【００４０】
【図１】一般的な相変化物質の温度による相変化状態を説明するための一例図である。
【図２】一般的な相変化物質の温度による相変化状態を説明するための異なる例図である。
【図３】一般的な相変化メモリ装置のセルアレイ構成図である。
【図４】一般的な相変化メモリ装置の構成図である。
【図５】図４に示したプログラムパルス生成部の一例図である。
【図６】一般的な相変化メモリ素子のプログラム動作を説明するためのタイミング図である。
【図７】本発明の一実施形態による半導体メモリ装置の構成図である。
【図８】本発明の一実施形態による連続プログラム制御回路の構成図である。
【図９】図８に図示した連続プログラム制御回路の一例図である。
【図１０】図９に適用可能な半加算器の一例図である。
【図１１】図９に適用可能な全加算器の一例図である。
【図１２】図９に適用可能なＤ−フリップフロップの一例図である。
【図１３】図９に適用可能な比較部の一例図である。
【図１４】図９のカウント部に適用可能なカウンターの一例図である。
【図１５】図９に図示したモード判定部の一例図である。
【図１６】図９に図示したパルス出力部の一例図である。
【図１７】本発明に適用可能なプログラムパルス生成部の一例図である。
【図１８】図１７に図示した第１カウント部の構成を説明するための一例図である。
【図１９】図１７に図示した比較部の一例図である。
【図２０】図９に図示したカウント部及び図１７に図示した第２カウント部の構成を説明するための図である。
【図２１】本発明に適用可能なライトドライバーの一例図である。
【図２２】本発明の一実施形態による連続プログラム動作を説明するためのタイミング図である。
【発明を実施するための形態】
【００４１】
半導体メモリ装置、特に不揮発性半導体メモリ装置の標準規格では、リセットデータを記録するのをプログラム動作だと定義していて、特に１６ビット単位でプログラムするものをシングルワードプログラム（ｓｉｎｇｌｅ  ｗｏｒｄ  ｐｒｏｇｒａｍ）、５１２バイト（２５６ワード）単位でプログラムするものをバッファープログラム（ｂｕｆｆｅｒｅｄ  ｐｒｏｇｒａｍ）と定義している。また、セットデータを１２８ＫＢ単位で記録するものを消去動作と定義しており、リセットデータとセットデータとを同時に記録するものをオーバーライト（ｏｖｅｒ  ｗｒｉｔｅ）と定義している。そして、１６ビット単位でセット／リセットデータを同時に記録するものをシングルワードオーバーライト、５１２バイト（２５６ワード）単位でセット／リセットデータを同時に記録するものをバッファーオーバーライトと定義している。
【００４２】
本発明では、プログラム性能を向上させるために、プログラム命令とデータとを反復的に受信せずに、連続プログラムが可能な半導体メモリ装置を提供する。これによって、同時にいくつかのデータが記録されるバッファープログラムとバッファーオーバーライト動作とを高速で行うようになる。
【００４３】
このために、不揮発性メモリ装置の標準規格を基盤として、連続プログラム動作に必要な信号（アドレス、プログラムするデータのワード数に対応するデータカウント、データカウントに対応するプログラムデータ、命令語コード等）がレジスターに臨時保存されて、命令語実行コードがイネーブルされることによってレジスターに保存されている信号を利用して連続プログラム、すなわち、バッファープログラムまたはバッファーオーバーライト動作がなされる。
【００４４】
以下、図面を参照して本発明の実施形態をより具体的に説明する。
【００４５】
図７は、本発明の一実施形態による半導体メモリ装置の構成図である。
【００４６】
図７を参照すると、半導体メモリ装置１０は、プログラミングイネーブル信号ＰＧＭＰによって第１書き込み制御信号ＲＥＳＥＴＥＮ及び第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞を生成するプログラムパルス生成部１００、外部で受信されるプログラムアドレス及びデータカウント信号に応答して連続プログラミングイネーブル信号ＢＰＧＭＰを生成する連続プログラム制御回路２００、プログラミングイネーブル信号ＰＧＭＰをはじめプログラム動作関連制御信号、アドレス、データ信号を供給するコントローラ３００、プログラムパルス生成部１００から供給される書き込み制御信号ＲＥＳＥＴＥＮ、ＳＥＴＰ＜０：ｎ＞及びビットライン選択スイッチ制御信号ＹＳＷ＜０：ｍ＞に応答して入力データＤＡＴＡをプログラムするためのプログラム電流Ｉ＿ＰＧＭを生成するライトドライバー４００、及び複数のメモリセルを含み、ライトドライバー４００から供給される電流によって各メモリセルにデータが記録されるメモリ部５００を含む。
【００４７】
このような半導体メモリ装置１０において、連続プログラム制御回路２００は、プログラムアドレスＣＡ＜０＞及びデータカウントＤＣ＜１：ｘ＞を基盤に決定されたプログラム回数程度連続プログラムが行われるための連続プログラミングイネーブル信号ＢＰＧＭＰを生成してコントローラ３００へ供給する。
【００４８】
そして、コントローラ３００は、連続プログラミングイネーブル信号ＢＰＧＭＰに応答して生成されたプログラミングイネーブル信号ＰＧＭＰをプログラムパルス生成部１００へ供給して、連続プログラム制御部２００で決定されたプログラム回数程度プログラム動作が行われる。
【００４９】
これに加えて、連続プログラム制御回路２００は、最大連続プログラム回数を超えるデータカウント値が入力されるとエラー信号ＤＣＥＲＲを生成してコントローラ３００へ供給する。また、プログラムアドレスＣＡ＜０＞及びデータカウントＤＣ＜１：ｘ＞による連続プログラムモードが終了されると、連続プログラム終了信号ＤＣＭＩＮを生成してコントローラ３００へ供給し、これ以上プログラミングイネーブル信号ＰＧＭＰが生成されないようにする。
【００５０】
各構成部の動作を、より具体的に説明すると、次の通りである。
【００５１】
プログラムパルス生成部１００は、コントローラ３００から発生するプログラミングイネーブル信号ＰＧＭＰに応答して、第１書き込み制御信号ＲＥＳＥＴＥＮ及び第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞を生成してライトドライバー４００へ供給する。また、第１書き込み制御信号ＲＥＳＥＴＥＮ、及び第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞の生成動作が完了するとプログラム完了信号ＰＧＭＮＤＰを生成し、連続プログラム制御回路２００に送られる。本発明の望ましい実施形態において、プログラムパルス生成部１００で生成した第１書き込み制御信号及び第２書き込み制御信号によって１回のプログラムが完了されると、これを連続プログラム制御回路２００へ伝達し、連続プログラム回数による後続プログラム動作を行うことができる。
【００５２】
このように、第１書き込み制御信号及び第２書き込み制御信号が生成された後、プログラム完了信号ＰＧＭＮＤＰが生成される。
【００５３】
ライトドライバー４００は、ライトイネーブル信号ＷＤＥＮに応答して駆動する。そして、プログラムパルス生成部１００から第１書き込み制御信号ＲＥＳＥＴＥＮ及び第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞を受信して、プログラムするデータＤＡＴＡ及びビットライン選択スイッチ制御信号ＹＳＷ＜０：ｍ＞に応答して、メモリ部５００へプログラム電流Ｉ＿ＰＧＭを供給する。
【００５４】
これによって、メモリ部５００にはプログラムしようとするデータＤＡＴＡのレベルによってデータが記録される。本発明の一実施形態において、メモリ部５００は電流駆動方式によってデータが記録され、センシングされるメモリセルを利用して構成することができる。電流駆動方式によってプログラム及びセンシングがなされるメモリセルは、例えば相変化メモリセル、磁気メモリセルなどである。
【００５５】
連続プログラム制御回路２００は、プログラムパルス生成部１００から供給されるプログラム完了信号ＰＧＭＮＤＰをクロック信号（図９のＢＰＣＮＴＣＫ）で利用して、プログラムアドレスＣＡ＜０＞及びデータカウントＤＣ＜Ｏ：ｘ＞によって連続プログラム回数を決定する。そして、連続プログラム回数をカウントし、カウントされる度に連続プログラミングイネーブル信号ＢＰＧＭＰを生成する。そして、最後の連続プログラムが行われると、連続プログラム終了信号ＤＣＭＩＮを生成する。
【００５６】
一般的に、半導体メモリ装置において、バッファープログラムやバッファーオーバーライト動作の時、同時にプログラムされるデータの長さは３２ビット（２ワード）である。そして、データカウント値は１６ビット（１ワード）単位で入力される。したがって、データカウント値をそのまま連続プログラム回数で設定するようになると誤謬が発生するはずである。このために、本発明の連続プログラム制御回路２００は、最下位のコラムアドレスＣＡ＜０＞と最下位のデータカウント信号ＤＣ＜１＞とによって連続プログラム回数を決定する。
【００５７】
例えば、最下位のコラムアドレスＣＡ＜０＞が偶数で、最下位のデータカウント信号ＤＣ＜１＞が偶数である場合には、連続プログラム回数ＤＣ＜２：ｘ−１＞から１を減少させる。反対に、最下位のコラムアドレスＣＡ＜０＞が偶数で、最下位のデータカウント信号ＤＣ＜１＞が奇数である場合、最下位のコラムアドレスＣＡ＜０＞が奇数で、最下位のデータカウント信号ＤＣ＜１＞が偶数である場合、最下位のコラムアドレスＣＡ＜０＞が奇数で、最下位のデータカウント信号ＤＣ＜１）が奇数である場合には、連続プログラム回数ＤＣ＜２：ｘ−１＞をそのまま維持する。
【００５８】
一方、図７では連続プログラム制御回路２００をプログラムパルス生成部１００と独立的に図示したが、連続プログラム制御回路２００をプログラムパルス生成部１００に含むように構成することも可能である。すなわち、プログラムパルス生成部１００は、連続プログラム制御回路２００を含むことができる。
【００５９】
図８は本発明の一実施形態による連続プログラム制御回路の構成図であり、図９は図８に図示した連続プログラム制御回路の一例図である。
【００６０】
図８及び図９を参照すると、連続プログラム制御回路２００は、プログラム回数決定部２１０、初期値設定部２２０、カウント部２３０、モード判定部２４０、及び連続プログラムパルス発生部２５０を含むように構成できる。
【００６１】
プログラム回数決定部２１０は、コントローラ３００から供給されるプログラムアドレスＣＡ＜０＞、アドレス設定信号ＣＡＳＥＴＰ、データカウント信号ＤＣ＜１、ｘ＞、データ設定信号ＤＣＳＥＴＰ、カウントイネーブル信号ＢＣＮＴＩＮＢ、セット信号ＢＰＳＥＴＰ及びリセット信号ＲＳＴＰに応答して連続プログラムする回数を決定する。
【００６２】
このために、プログラム回数決定部２１０は、最下位のコラムアドレスで入力されるプログラムアドレスＣＡ＜０＞と最下位のデータカウント信号ＤＣ＜１＞のレベルとを比較して、判定信号ＳＵＢを出力する。例えば、プログラムアドレスＣＡ＜０＞は、奇数である場合ハイレベル、偶数である場合ローレベルを有するように設定できる。また、最下位のデータカウント信号ＤＣ＜１＞は、奇数である場合ハイレベル、偶数である場合ローレベルを有するように設定できる。したがって、プログラム回数決定部２１０は、プログラムアドレスＣＡ＜０＞と最下位のデータカウント信号ＤＣ＜１＞のレベルとがすべてローである場合には、データカウント信号ＤＣ＜２：ｘ−１＞から１を減少させて、ハイである場合には、データカウント信号ＤＣ＜２：ｘ−１＞をそのまま維持する。
【００６３】
一方、プログラム回数決定部２１０は、データカウント信号ＤＣ＜１：９＞が最大の連続プログラム回数を超える回数で入力される場合、エラー信号ＤＣＥＲＲを出力する。
【００６４】
図９を参照すると、プログラム回数決定部２１０は、データ設定信号ＤＣＳＥＴＰによって最下位のデータカウント信号ＤＣ＜１＞をラッチする第１レジスターＤＦＦ０、アドレス設定信号ＣＡＳＥＴＰによってプログラムアドレスＣＡ＜０＞をラッチする第２レジスターＤＦＦ１、第１レジスターＤＦＦ０及び第２レジスターＤＦＦ１の出力信号を比較して、判定信号ＳＵＢを出力する比較部及びプログラムアドレスＣＡ＜０＞のレベルによって、第２レジスターの出力信号を再びラッチする第３レジスターＤＦＦ２を含むことができる。
【００６５】
ここで、第３レジスターＤＦＦ２は、プログラムアドレスＣＡ＜０＞のレベルがハイレベルである場合、すなわち、プログラム開始アドレスが奇数である場合、これを認知するため、クロック信号ＢＰＣＮＴＣＫが入力されれば、比較部の出力を第３レジスターＤＦＦ２でもう一度ラッチして連続プログラム回数が正しくセッティングできるようにする。
【００６６】
一方、プログラム回数決定部２１０は、判定信号ＳＵＢ、最上位のデータカウント信号ＤＣ＜０＞及び初期値設定部２２０の最上位の演算信号に応答して、入力信号のレベルがすべてハイレベルであるかの可否を判断して、合計とキャリー信号とを出力する加算器ＦＡと、加算器の出力信号を組み合わせるエラーチェック部、及びデータ設定信号ＤＣＳＥＴＰに応答してエラー信号ＤＣＥＲＲを出力するラッチ部ＤＦＦ３をさらに含むことができる。このような構成により、データカウント信号ＤＣ＜１：９＞が最大の連続プログラム回数を超える回数で入力される場合、エラー信号ＤＣＥＲＲをイネーブルする。
【００６７】
次に、初期値設定部２２０は、データカウント信号ＤＣ＜２：ｘ−１＞及び判定信号ＳＵＢに応答して連続プログラム回数を設定し、それによってカウント初期信号ＷＣ＜０：ｙ＞を生成してカウント部２３０へ供給する。このため、初期値設定部２２０は、データカウント信号ＤＣ＜２：ｘ−１＞と判定信号ＳＵＢとを演算する加算器形態で構成することができる。
【００６８】
図９は、初期値設定部２２０を半加算器ＨＡ及び複数の全加算器ＦＡを含むように構成した例を示している。各加算器の動作について、後述する。
【００６９】
カウント部２３０は、カウントイネーブル信号ＢＣＮＴＩＮＢ、カウント初期信号ＷＣ＜０：ｙ＞、プログラム完了信号ＰＧＭＮＤＰ、セット信号ＢＰＳＥＴＰ及びリセット信号ＲＳＴＰに応答してカウンティング動作を行う。特に、本発明のカウント部２３０は、カウント初期信号ＷＣ＜０：ｙ＞からカウントダウンを行って０までカウントが完了すると動作を止めるプログラマブルダウンカウンターで構成できるが、これに限定されない。
【００７０】
そして、カウント部２３０は、カウンティング動作によって生成されるカウンティング信号ＤＷ＜０：ｙ＞をモード判定部２４０へ供給する。
【００７１】
図９は、カウント部２３０を複数のプログラマブルダウンカウンターで構成した例を示している。初期値設定部２２０で設定されたカウント初期信号ＷＣ＜０：ｙ＞が入力され、カウントイネーブル信号ＢＣＮＴＩＮＢがローレベルでイネーブルされると、プログラマブルダウンカウンターが動作可能な状態となる。そして、プログラム完了信号ＰＧＭＮＤＰから生成されるクロック信号ＢＰＣＮＴＣＫ及びデータ設定信号ＤＣＳＥＴＰがイネーブルされると、カウント部２３０はカウントダウン動作を行ってカウンティング信号ＤＷ＜０：ｙ＞を出力する。
【００７２】
図９は、図示したプログラマブルダウンカウンターの構成を図１４に示している。具体的な動作について、後述する。
【００７３】
一方、連続プログラムパルス発生部２５０は、連続プログラムの区間であるかの可否によって連続プログラミングイネーブル信号ＢＰＧＭＰを出力する。例えば、連続プログラムの区間でない場合には、プログラミングイネーブル信号ＰＧＭＰをそのままバイパスして、連続プログラムの区間である場合にはプログラム完了信号ＰＧＭＮＤＰを出力して次回の連続プログラムがなされる。
【００７４】
このために、連続プログラムパルス発生部２５０は、区間設定部２５１及びパルス出力部２５３を含むように構成できる。
【００７５】
図９を参照すると、区間設定部２５１は、カウント部２３０を構成する最後のプログラマブルダウンカウンターの一出力信号をイネーブル信号で受けて、プログラム完了信号ＰＧＭＮＤＰ、セット信号ＢＰＳＥＴＰ及びリセット信号ＲＳＴＰに応答して連続プログラムの区間であることを知らせるフラッグ信号である連続区間イネーブル信号ＢＰＧＭＥＮを生成する。より具体的に、連続区間イネーブル信号ＢＰＧＭＥＮは、セット信号ＢＰＳＥＴＰによってハイレベルで設定された状態で、プログラム完了信号ＰＧＭＮＤＰから生成されるクロック信号ＢＰＣＮＴＣＫが入力されると、ローレベルにリセットされて連続プログラムの区間であることを知らせる。
【００７６】
また、パルス出力部２５３は、連続区間イネーブル信号ＢＰＧＭＥＮのイネーブルの可否によって、プログラミングイネーブル信号ＰＧＭＰまたはプログラム完了信号ＰＧＭＮＤＰを連続プログラミングイネーブル信号ＢＰＧＭＰとして出力する。
【００７７】
すなわち、パルス出力部２５３は、連続区間イネーブル信号ＢＰＧＭＥＮがディスエーブルになった状態、すなわち、連続プログラムの区間でない場合には、プログラミングイネーブル信号ＰＧＭＰを連続プログラミングイネーブル信号ＢＰＧＭＰでバイパスする。反対に、連続区間イネーブル信号ＢＰＧＭＥＮがイネーブルされている区間では、プログラム完了信号ＰＧＭＮＤＰを連続プログラミングイネーブル信号ＢＰＧＭＰで出力する。このように生成された連続プログラミングイネーブル信号ＢＰＧＭＰは、コントローラを通してプログラムパルス生成部に伝えられて、既判定された連続プログラム回数ほど書き込み制御信号が発生される。
【００７８】
一方、モード判定部２４０は、カウント部２３０からカウンティング信号ＤＷ＜０：ｙ＞を受信して、区間設定部２５１から連続区間イネーブル信号ＢＰＧＭＥＮを受信して、最後のプログラムまたはオーバーライトを行う区間であることを知らせる連続プログラム終了信号ＤＣＭＩＮを生成する。
【００７９】
連続プログラム終了信号ＤＣＭＩＮはコントローラで供給され、これによってプログラム動作が終了する。
【００８０】
このように、本発明では、最下位のプログラムアドレスＣＡ＜０＞とデータカウント信号ＤＣ＜１：ｘ＞とが順次入力されると、最下位のプログラムアドレスＣＡ＜０＞のレベルによってプログラムが始まるアドレスが、奇数アドレスであるのか偶数アドレスであるのかを判断して、最下位のデータカウント信号ＤＣ＜１＞によって、何回、バッファープログラムまたはバッファーオーバーライトを行うパルスを生成するのかに対する決定をしてカウントを行う。そして、最後のプログラムまたはオーバーライトを行う区間であることを知らせる連続プログラム終了信号ＤＣＭＩＮ、連続プログラムの区間であることを知らせる連続区間イネーブル信号ＢＰＧＭＥＮを生成して、連続プログラムが行われる区間の間指定された回数（連続プログラム回数）程度バッファープログラム／オーバーライトが行われる。
【００８１】
図１０は、図９に適用可能な半加算器の一例図である。
【００８２】
図１０に示したように、半加算器ＨＡは２入力−２出力半加算器で構成できる。
【００８３】
２入力信号Ａ、Ｂに対する排他的論理和（ＸＯＲ）演算で第１出力信号ＳＵＭを生成する一方、２入力信号Ａ、Ｂに対する論理積（ＡＮＤ）演算で第２出力信号ＣＯＵＴを生成する。
【００８４】
したがって、第１出力信号ＳＵＭは、入力信号Ａ、Ｂが排他的に論理ハイレベルの信号を含んでいる場合にだけハイレベルでイネーブルされる。また、第２出力信号ＣＯＵＴは、キャリー（ｃａｒｒｙ）またはオーバーフルーロウ（ｏｖｅｒ  ｆｌｏｗ）を意味する。
【００８５】
図１０に図示した半加算器は、演算において、最下位のビットに対する演算を行う役割を果たしている。このような半加算器は、図９に適用される場合２入力信号Ａ、Ｂ各々が判定信号ＳＵＢ及びデータカウント信号ＤＣとなり、第１出力信号がカウント初期信号ＷＣとなり、第２出力信号ＣＯＵＴが次に端の加算器を動作させるイネーブル信号で作用される。
【００８６】
図１１は、図９に適用可能な全加算器の一例図である。
【００８７】
図１１は、３入力−２出力の全加算器ＦＡを示している。入力信号Ａ、Ｂ、ＣＩＮのうち１つは、先端の加算器から出力されるキャリー信号となり、本実施形態の場合、図１０に示した第２出力信号ＣＯＵＴが入力信号のうちの１つＣＩＮになり得る。
【００８８】
３個の入力信号Ａ、Ｂ、ＣＩＮが互いに排他的に１を含む場合、すなわち、ある１つの入力信号だけハイレベルである場合、ハイレベルの第１出力信号ＳＵＭが生成される。そして、入力信号Ａ、Ｃ、ＣＩＮのうち２つ以上がハイレベルを有する場合、第２出力信号ＣＯＵＴがハイレベルで出力される。また、第２出力信号ＣＯＵＴは、次の端の全加算器ＦＡの入力信号で供給される。
【００８９】
このような全加算器ＦＡは、論理演算の時、最下位ビットを除いたビット演算に適用できる。
【００９０】
図１２は、図９に適用可能なＤ−フリップフロップの一例図である。
【００９１】
図１２に示したＤ−フリップフロップは、図９の第１ないし第４レジスターＤＦＦ０〜ＤＦＦ３に適用され得る。
【００９２】
図１２に示したように、入力データＤをクロックＣＫの上昇エッジでＱノードに伝達し、下降エッジでは入力データＤをラッチしてデータＤをノードＱに維持させる役割を果たす。
【００９３】
このようなＤ−フリップフロップを図９のレジスターに適用する場合、データ設定信号ＤＣＳＥＴＰ、アドレス設定信号ＣＡＳＥＴＰ、比較部の出力信号の各々がクロックパルスで供給される。
【００９４】
図１３は、図９に適用可能な比較部の一例図である。
【００９５】
前述のように、比較部は、最下位のデータカウント信号ＤＣ＜１＞とプログラムアドレスＣＡ＜０＞とを比較して判定信号ＳＵＢを生成する。特に、最下位のデータカウント信号ＤＣ＜１＞とプログラムアドレスＣＡ＜０＞との論理レベルがすべて偶数を意味する論理レベルである場合を除いては、判定信号ＳＵＭがイネーブルされる。
【００９６】
このために、比較部は、図１３に示したようにノア（ＮＯＲ）演算素子を含むように構成できる。
【００９７】
図１４は、図９のカウント部に適用可能なカウンターの一例図である。
【００９８】
本発明のカウント部２３０に適用可能なカウンターは、初期設定値から動作を行うカウンター（Ｐｒｅ−ｓｅｔｔａｂｌｅ  Ｄｏｗｎ  ＣｏｕｎｔｅｒまたはＰｒｏｇｒａｍｍａｂｌｅ  Ｄｏｗｎ  Ｃｏｕｎｔｅｒ）である。
【００９９】
図１４を参照すると、カウンターはデータリセット部６１、信号入力部６３、ラッチ部６５及びバーロー発生部６７を含むことができる。
【０１００】
データリセット部６１は、保存しようとするデータＤを受信して、クロック信号ＤＣＫのハイレベルからローレベルでトグルすることによって、データＤをラッチ部６５のノードＤを経て出力ノードＱに伝達する。出力ノードＱのデータは、再びデータリセット部６１にフィードバックされ、出力ノードＱにデータが維持される。
【０１０１】
一方、信号入力部６３のカウントイネーブル信号ＢＣＮＴＩＮＢがハイレベルを維持する間にはクロック信号ＣＫが供給されても、ラッチ部６５は以前のデータ値を維持するだけで動作しない。そして、カウントイネーブル信号ＢＣＮＴＩＮＢがローレベルで入力されると、ラッチ部６５が動作する。
【０１０２】
カウントイネーブル信号ＢＣＮＴＩＮＢがどんなレベルで入力されるのかによって、信号入力部６３から出力ノードＱのデータをバッファーリングするか、反転させるかを決定し、ラッチ部６５が動作する場合、すなわち、カウントイネーブル信号ＢＣＮＴＩＮＢがローレベルである場合には、出力ノードＱのデータレベルを反転させ、カウントイネーブル信号ＢＣＮＴＩＮＢがハイレベルの場合には、バッファーリングさせる。
【０１０３】
したがって、ラッチ部６５が動作できる状況、すなわち、カウントイネーブル信号ＢＣＮＴＩＮＢがローレベルである場合には、出力ノードＱのデータが反転されてノードＡに供給される。クロック信号ＣＫがローレベルになると、ノードＡのデータは反転されてＢに伝えられ、もう一度反転されてノードＣに供給される。そして、クロック信号ＣＫがハイレベルになると、データレベルがそのまま維持される。この時、ノードＣのデータがノードＤに伝えられ、また反転して出力ノードＱに伝達され、結局出力ノードＱには以前のデータレベルと反対の位相を有するデータが出力される。
【０１０４】
このように、図１４に示したカウンターは、カウントイネーブル信号ＢＣＮＴＩＮＢがローレベルである時、ラッチ部６５を動作させてダウンカウンターで動作することが分かる。
【０１０５】
一方、リセット信号ＲＳＴＰがイネーブルされると、出力ノードＱがハイレベルを維持しても強制的にローレベルでリセットされ、カウンターの動作を終了する。
【０１０６】
バーロー発生部６７は、カウントイネーブル信号ＢＣＮＴＩＮＢと出力ノードＱのレベルとがすべてローレベルになる場合、バーロー信号ＢＯＵＴＢをイネーブルさせる。このバーロー信号ＢＯＵＴＢは、次の端のカウンターがカウントダウン動作を行うことができるイネーブル信号で作用される。
【０１０７】
図１５は、図９に示したモード判定部の一例図である。
【０１０８】
モード判定部２４０は、連続区間イネーブル信号ＢＰＧＭＥＮがイネーブルされている間、カウンティング信号ＤＷ＜０：ｙ＞のレベルによって連続プログラムのためのカウンティング動作が完了されたか、すなわち、最後のカウンティング動作が行われたかを確認して、連続プログラム終了信号ＤＣＭＩＮを出力する。
【０１０９】
図１５は、連続区間イネーブル信号ＢＰＧＭＥＮがハイレベルでイネーブルされている間、カウンティング信号ＤＷ＜０：ｙ＞のレベルがすべてローである区間を検出して、連続プログラム終了信号ＤＣＭＩＮを出力する場合を示している。前述したように、連続プログラム終了信号ＤＣＭＩＮはコントローラに供給されて、現在の書き込み制御信号が最後の書き込み制御信号であることを知らせる。
【０１１０】
図１６は、図９に示したパルス出力部の一例図である。
【０１１１】
パルス出力部２５３は、連続区間イネーブル信号ＢＰＧＭＥＮとプログラム完了信号ＰＧＭＮＤＰとのレベルによって、アドレスカウントクロックＣＡＣＮＴＣＫを生成して、アドレスカウントクロックＣＡＣＮＴＣＫとプログラミングイネーブル信号ＰＧＭＰとの組み合わせによって連続プログラミングイネーブル信号ＢＰＧＭＰを生成する。
【０１１２】
すなわち、連続区間イネーブル信号ＢＰＧＭＥＮがイネーブルされている区間でプログラム完了信号ＰＧＭＮＤＰがイネーブルされると、これを連続プログラミングイネーブル信号ＢＰＧＭＰで出力して、連続区間イネーブル信号ＢＰＧＭＥＮがディスエーブルになった状態、すなわち、連続プログラム区間でない場合には、プログラミングイネーブル信号ＰＧＭＰを連続プログラミングイネーブル信号ＢＰＧＭＰでバイパスする。
【０１１３】
図１７は、本発明に適用可能なプログラムパルス生成部の一例図である。
【０１１４】
図１７に図示したように、プログラムパルス生成部１００は、初期パルス発生部１１０、リセットパルス発生部１２０、及びクエンチングパルス発生部１３０を含むように構成され得る。
【０１１５】
初期パルス発生部１１０は、コントローラから供給されるプログラミングイネーブル信号ＰＧＭＰに応答して区間設定信号ＱＳＳＥＴＰを生成する。区間設定信号ＱＳＳＥＴＰは、ＧＳＴに溶融点に近い熱を供給するための時間を決定する信号であり、初期パルス発生部１１１は、プログラミングイネーブル信号ＰＧＭＰに応答して既設定された時間をカウンティングした後、区間設定信号ＱＳＳＥＴＰをイネーブルさせる。
【０１１６】
リセットパルス発生部１２０は、プログラミングイネーブル信号ＰＧＭＰ及び区間設定信号ＱＳＳＥＴＰを既設定された時間遅延させて生成したリセット信号ＩＲＳＴＰに応答して、第１書き込み制御信号ＲＥＳＥＴＥＮを生成する。
【０１１７】
一方、クエンチングパルス発生部１３０は、プログラミングイネーブル信号ＰＧＭＰ及び区間設定信号ＱＳＳＥＴＰに応答して、イネーブル区間が互いに異なる第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞を生成する。また、クエンチングパルス発生部１３０は、第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞の生成が完了するとプログラム完了信号ＰＧＭＮＤＰを生成する。
【０１１８】
このような構成によって、リセットパルス発生部１２０は、プログラミングイネーブル信号ＰＧＭＰがイネーブルされた後、リセット信号ＩＲＳＴＰがイネーブルされるまでの区間において、第１書き込み制御信号ＲＥＳＥＴＥＮを生成する。そして、クエンチングパルス発生部１３０は、プログラミングイネーブル信号ＰＧＭＰがイネーブルされた後、区間設定信号ＱＳＳＥＴＰがイネーブルされるまでは第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞を同じレベルでイネーブルし、区間設定信号ＱＳＳＥＴＰが発生した後には、イネーブル区間が調節された第２書き込み制御信号ＳＥＴＰ＜０：ｎ＞を生成する。
【０１１９】
より具体的に説明すると、次の通りである。
【０１２０】
まず、初期パルス発生部１１０は、入力ラッチ部１１０１、クロック発生部１１０３、第１カウント部１１０５、比較部１１０７、及び遅延部１１０９を含む。
【０１２１】
入力ラッチ部１１０１は、プログラミングイネーブル信号ＰＧＭＰ及びリセット信号ＩＲＳＴＰに応答して、内部クロックイネーブル信号ＩＰＷＥＮ及びカウントリセット信号ＩＰＷＲＳＴを出力する。すなわち、プログラミングイネーブル信号ＰＧＭＰが、例えばハイレベルでイネーブルされると、内部クロックイネーブル信号ＩＰＷＥＮがハイレベルに活性化され、リセット信号ＩＲＳＴＰがハイレベルでイネーブルされると、カウントリセット信号ＩＰＷＲＳＴがハイレベルに活性化される。
【０１２２】
より具体的には、入力ラッチ部１１０１は、内部クロックイネーブル信号ＩＰＷＥＮがハイレベルで、カウントリセット信号ＩＰＷＲＳＴがローレベルでイネーブルできるように構成することができ、ナンド（ＮＡＮＤ）ゲートまたはノア（ＮＯＲ）ゲートで構成されるＲ−Ｓラッチまたはフリップフロップで構成することができる。
【０１２３】
クロック発生部１１０３は、内部クロックイネーブル信号ＩＰＷＥＮに応答して内部クロック（ＩＣＫ）を生成する。すなわち、クロック発生部１１０３は、内部クロックイネーブル信号ＩＰＷＥＮがハイレベルで活性化されている間、トグルリングする内部クロックＩＣＫを出力する。
【０１２４】
第１カウント部１１０５は、内部クロックイネーブル信号ＩＰＷＥＮ、カウントリセット信号ＩＰＷＲＳＴ及び内部クロックＩＣＫの制御によって、カウントされるカウンティングコードＱ＜０：３＞を出力する。すなわち、第１カウント部１１０５は、内部クロックイネーブル信号ＩＰＷＥＮがハイレベルで活性化された時、内部クロックＩＣＫの制御によってカウンティング動作を行う。カウントリセット信号ＩＰＷＲＳＴがハイレベルで活性化されると第１カウント部１１０５から出力されるカウンティングコードＱ＜０：３＞は初期化される。このように、第１カウント部１１０５を利用してカウンティングコードＱ＜０：３＞を生成する場合、回路の大きさを減少させることができる。また、第１カウント部１１０５は、例えばアップカウンターで構成することができる。
【０１２５】
比較部１１０７は、カウンティングコードＱ＜０：３＞が既設定された値に到達すると区間設定信号ＱＳＳＥＴＰを活性化させて出力する。より具体的には、比較部１１０７は、カウンティングコードＱ＜０：３＞と印可された時間調節コードＩＰＷＳＥＴ＜０：３＞とを比較して、カウンティングコードＱ＜０：３＞が時間調節コードＩＰＷＳＥＴ＜０：３＞と同一の時区間設定信号ＱＳＳＥＴＰを活性化させるように構成される。すなわち、時間調節コードＩＰＳＥＴ＜０：３＞を調節して区間設定信号ＱＳＳＥＴＰの活性化時点を調節できる。
【０１２６】
本発明の一実施形態で、第１カウント部１１０５を構成するカウンターの個数と時間調節コード（ＩＰＷＳＥＴ）の個数とを同時に増加させると、区間設定信号ＱＳＳＥＴＰの発生時点を遅らせることができる。これはメモリセルを構成するＧＳＴの溶融時間を変更できることを意味する。
【０１２７】
遅延部１１０９は、区間設定信号ＱＳＳＥＴＰを一定の時間遅延させてリセット信号ＩＲＳＴＰを出力する。遅延部１１０９の遅延値は、規定されたタイミングマージンを満足させるように設定されるはずである。そして、遅延部１１０９から生成されたリセット信号ＩＲＳＴＰは、入力ラッチ部１１０１をリセットさせて内部クロックイネーブル信号（ＩＰＷＥＮ）をディスエーブルさせる一方、カウントリセット信号ＩＰＷＲＳＴをイネーブルさせてクロック発生部１１０３と第１カウント部１１０５とがディスエーブルされる。
【０１２８】
リセットパルス発生部１２０は、プログラミングイネーブル信号ＰＧＭＰによりイネーブルされる一方、区間設定信号ＱＳＳＥＴＰによってディスエーブルになる。すなわち、時間調節コードＩＰＷＳＥＴ＜０：３＞によって設定された時間、第１書き込み制御信号ＲＥＳＥＴＥＮを生成してライトドライバー４００に供給する。
【０１２９】
次に、クエンチングパルス発生部１３０は、入力ラッチ部１３０１、クロック発生部１３０３、第２カウント部１３０５、リセット制御部１３０７、及び遅延部１３０９を含むように構成され得る。
【０１３０】
入力ラッチ部１３０１は、区間設定信号ＱＳＳＥＴＰ及びリセット信号ＱＳＲＳＴＰに応答して、カウントイネーブル信号ＣＮＴＥＮＢ及び内部クロックイネーブル信号ＱＳＥＮを出力する。クロック発生部１３０３は、内部クロックイネーブル信号ＱＳＥＮに応答して内部クロックＱＳＣＫを生成する。すなわち、クロック発生部１３０３は、内部クロックイネーブル信号ＱＳＥＮがハイレベルで活性化されている間、トグルリングする内部クロックＱＳＣＫを出力する。
【０１３１】
第２カウント部１３０５は、カウントイネーブル信号ＣＮＴＥＮＢ、内部クロックＱＳＣＫ、プログラミングイネーブル信号ＰＧＭＰ、及びリセット信号ＱＳＲＳＴＰに応答して、第２書き込み制御信号ＳＥＴＰ＜０：３＞を出力する。したがって、第２書き込み制御信号ＳＥＴＰ＜０：３＞のアップデート周期は、内部クロックＱＳＣＫのトグルリング周期に対応して調節される。
【０１３２】
本発明の一実施形態で、第２カウント部１３０５は、ダウンカウンターを含むように構成できる。この場合、第２カウント部１３０５は、０ｘ１１１１ｂから０ｘ００００ｂになるまで動作をし、最終の出力が０ｘ００００ｂになると、第２書き込み制御信号ＳＥＴＰ＜３＞の出力信号がリセット制御部１３０７を駆動する。
【０１３３】
リセット制御部１３０７は、第２カウント部１３０５から出力される第２書き込み制御信号ＳＥＴＰ＜０：３＞のコード値が既設定された値が到達すると、すなわち、第２書き込み制御信号ＳＥＴＰ＜３＞の出力信号がハイレベルからローレベルに遷移することによってリセット信号ＱＳＲＳＴＰをイネーブルする。
【０１３４】
このため、リセット制御部１３０７は、カウント終了制御部及びパルス発生部を含むことができる。カウント終了制御部は、第２カウント部１３０５からカウントが完了することによってクエンチングパルス完了信号ＱＳＮＤを生成して、パルス発生部はクエンチングパルス完了信号ＱＳＮＤに応答してリセット信号ＱＳＲＳＴＰを生成する。例えば、カウント終了制御部から出力されるクエンチングパルス完了信号ＱＳＮＤは、プログラミングイネーブル信号ＰＧＭＰによってハイレベルを維持したが、第２書き込み制御信号ＳＥＴＰ＜３＞がローレベルになるとローレベルに遷移する。そして、パルス発生部は、ローレベルに遷移したクエンチングパルス完了信号（ＳＮＤによって、リセット信号ＱＳＲＳＴＰをイネーブルする。
【０１３５】
一方、遅延部１３０９は、リセット信号ＱＳＲＳＴＰを既設定された時間遅延させてプログラム完了信号ＰＧＭＮＤＰを生成する。プログラム完了信号ＰＧＭＮＤＰは、コントローラへ伝送されてプログラムが完了したことを知らせる。
【０１３６】
図１８は、図１７に示した第１カウント部の構成を説明するための一例図である。
【０１３７】
本発明の一実施形態において、第１カウント部１１０５は、複数の１ビットアップカウンターで構成することができ、図１８はアップカウンターの一例を示している。
【０１３８】
図１８を参照すると、１ビットアップカウンター１５０は、信号入力部１５１、ラッチ部１５３、及びキャリー発生部１５５を含むことができる。
【０１３９】
信号入力部１５１は、カウントイネーブル信号、本発明では内部クロックイネーブル信号ＩＰＷＥＮと第１カウンティングコードＱ＜０＞に応答して、ラッチ部１５３の入力ノードＡの信号レベルを決定する。
【０１４０】
ラッチ部１５３は、内部クロックＩＣＫの制御によって信号入力部１５１から出力される信号をラッチングして第１カウンティングコードＱ＜０＞を出力し、キャリー発生部１５５は、内部クロックイネーブル信号ＩＰＷＥＮと第１カウンティングコードＱ＜０＞によってキャリー信号ＣＯＵＴを出力する。この時、キャリー信号ＣＯＵＴは、次の端の１ビットアップカウンターのカウントイネーブル信号として利用される。一方、ラッチ部１５３は、カウントリセット信号ＩＰＷＲＳＴに応答して、内部ノードが初期化されたり、特定レベルに変化されたりする。
【０１４１】
より具体的には、信号入力部１５１は、内部クロックイネーブル信号ＩＰＷＥＮがローレベルでディスエーブルされると、出力ノードであるＱの結果値をそのまま選択し、内部クロックイネーブル信号ＩＰＷＥＮがハイレベルでイネーブルされると、出力ノードであるＱの結果値を反対に選択して、次の端の１ビットアップカウンターへ伝達する。
【０１４２】
ラッチ部１５３は、ノードＡの信号がローレベルである場合には、ノードＡの信号をノードＣに伝達する一方、ノードＡの信号がハイレベルである場合には、ノードＡの信号をＱノードに伝達する。
【０１４３】
カウントリセット信号ＩＰＷＲＳＴがハイレベルになると、出力ノードＱはロー状態にリセットされ、キャリー発生部１５５は先端の１ビットアップカウンターの出力ノードＱに印可される信号をカウントイネーブル信号として動作する。すなわち、先端の１ビットアップカウンターの出力ノードＱに印可される信号レベルによって、次に次の端の１ビットアップカウンターがトグルされる。
【０１４４】
図１９は、図１７に示した比較部の一例図である。
【０１４５】
図１９を参照すると、比較部１１０７は、複数の比較部７１、７２、７３、７４と、信号組み合わせ部７５とを含むことができる。複数の比較部７１、７２、７３、７４は、カウンティングコードＱ＜０：３＞及び時間調節コードＩＰＷＳＥＴ＜０：３＞の各ビット値を比較して、複数の比較結果信号として出力する。信号組み合わせ部７５は、複数の比較部７１、７２、７３、７４から出力される複数の比較結果信号を組み合わせて区間設定信号ＱＳＳＥＴＰとして出力する。すなわち、本実施形態で比較部１１０７は、カウンティングコードＱ＜０：３＞と時間調節コードＩＰＷＳＥＴ＜０：３＞とが同一の時、区間設定信号ＱＳＳＥＴＰをアクティブにして出力する。
【０１４６】
図２０は、図９に示した区間設定部及び図１７に示した第２カウント部の構成を説明するための図である。
【０１４７】
本発明の一実施形態において、図９に示した区間設定部２５１は、ダウンカウンターで構成することができ、例えば、１ビットダウンカウンターで構成できる。
【０１４８】
図２０を参照すると、１ビットダウンカウンター１６０は、信号入力部１６１、ラッチ部１６３、及びバーロー発生部１６５を含むことができる。
【０１４９】
信号入力部１６１は、カウントイネーブル信号ＣＮＴＩＮＢと出力ノードＱに印可されるデータレベルとによって、ラッチ部１６３の入力ノードＡの信号レベルを決定する。
【０１５０】
ラッチ部１６３は、クロック信号ＣＫ（図９の場合、ＢＰＣＮＴＣＫ）の制御によって信号入力部１６１から出力される信号をラッチングした後、ラッチングしたデータを出力ノードＱに伝達する。
【０１５１】
また、バーロー発生部１６５は、カウントイネーブル信号ＣＮＴＩＮＢとラッチ部１６３の出力ノードＱに印可される信号レベルとによってバーロー（ｂｏｒｒｏｗ）信号ＢＯＵＴＢを出力する。
【０１５２】
一方、ラッチ部１６３は、リセット信号ＲＳＴＰ及びセット信号ＳＥＴＰ（図９の場合、ＢＰＳＥＴＰ）に応答して、内部ノードが初期化されたり特定レベルに変化される。
【０１５３】
より具体的には、信号入力部１６１は、カウントイネーブル信号ＣＮＴＩＮＢがハイレベルにディスエーブルされると出力ノードであるＱの結果値をそのまま選択して、カウントイネーブル信号ＣＮＴＩＮＢがローレベルでイネーブルされると出力ノードであるＱの結果値を反対に選択して、次に端へ伝達する。
【０１５４】
信号入力部１６１で選択した信号は、ノードＡに印可される。これによって、ラッチ部１６３はノードＡの信号がローレベルである場合には、ノードＡの信号をノードＣに伝達する一方、ノードＡの信号がハイレベルである場合には、ノードＡの信号をＱノードに伝達する。
【０１５５】
一方、セット信号ＳＥＴＰがハイレベルになると、出力ノードＱがハイレベルに設定される。そして、リセット信号ＲＳＴＰがハイレベルになると、出力ノードＱはローレベルでリセットされる。
【０１５６】
バーロー発生部１６５は先端のカウンターの出力ノードＱがローレベルになるとローレベルのバーロー信号ＢＯＵＴＢを出力する。
【０１５７】
図２１は、本発明に適用されるライトドライバーの一例の図である。
【０１５８】
図２１を参照すると、ライトドライバー４００は、電流調節部４１０、電流駆動部４２０、及び選択部４３０を含むことができる。
【０１５９】
電流調節部４１０は、プログラムするデータＤＡＴＡを入力して、ライトイネーブル信号ＷＤＥＮが活性化された時、第１書き込み制御信号ＲＥＳＥＴＥＮ及び第２書き込み制御信号ＳＥＴＰ＜：３＞のコード組み合わせによって制御ノードＮ１の電圧レベルを調節する。この時、第２書き込み制御信号ＳＥＴＰ＜０：３＞の制御を受ける複数のＮＭＯＳトランジスターは、選択的にターンオン（ＴＵＲＮ  ＯＮ）されて制御ノードＮ１の電圧レベルを調節する。また、第１書き込み制御信号ＲＥＳＥＴＰの制御を受けるＮＭＯＳトランジスターは、第１書き込み制御信号ＲＥＳＥＴＰが活性化された時、ターンオンになって制御ノードＮ１の電圧レベルを調節する。
【０１６０】
ここで、第２書き込み制御コードＳＥＴＰ＜０：３＞は、周期的にアップデートされる信号であり、第１書き込み制御信号ＲＥＳＥＴＰは、パルス形態で入力される信号である。
【０１６１】
電流駆動部４２０は、制御ノードＮ１の電圧レベルに対応する大きさを有するプログラミング電流パルスＩ＿ＰＧＭを出力端Ｎ２に供給する。この時、プログラミング電流パルスＩ＿ＰＧＭは、第１書き込み制御信号ＲＥＳＥＴＰに対応する第１プログラミング電流パルスと、第２書き込み制御信号ＳＥＴＰ＜０：３＞に対応する第２プログラミング電流パルスとで区分できる。
【０１６２】
選択部４３０は、電流駆動部４２０で駆動されるプログラミング電流パルスＩ＿ＰＧＭを複数のビットライン選択スイッチ制御信号ＹＳＷ＜０：ｍ＞に対応する該当ビットラインＢＬ０〜ＢＬｍに出力する。
【０１６３】
図２２は、本発明の一実施形態による連続プログラム動作を説明するためのタイミング図であり、バッファーオーバーライトを行う場合を示している。なお、図９を参照して説明する。
【０１６４】
プログラム動作が開始する前に、プログラムアドレスＣＡ＜０＞、アドレス設定信号ＣＡＳＥＴＰ、データカウント信号ＤＣ＜１：９＞、データ設定信号ＤＣＳＥＴＰが、あらかじめ入力されてレジスターに保存される。
【０１６５】
以後、プログラム命令ＰＧＭが印可されることによって、コントローラからプログラミングイネーブル信号ＰＧＭＰ及びセット信号ＢＰＳＥＴＰが生成され、連続プログラムパルス発生部２５０は、プログラミングイネーブル信号ＰＧＭＰを連続プログラミングイネーブル信号ＢＰＧＭＰとしてそのまま伝達する。一方、連続プログラムパルス発生部２５０の区間設定部２５１では、連続区間イネーブル信号ＢＰＧＭＥＮをイネーブルする。
【０１６６】
一方、カウント部２３０は、カウンティングイネーブル信号ＢＣＮＴＩＮＢによって駆動され、初期値設定部２２０で設定した初期信号ＷＣ＜０：ｙ＞をカウントダウンしてカウンティング信号ＤＷ＜０：ｙ＞を出力する。
【０１６７】
最初のプログラム動作の時には、連続プログラムパルス発生部２３０でプログラミングイネーブル信号ＰＧＭＰがバイパスされ、これによって生成される第１書き込み制御信号ＲＥＳＥＴＥＮ及び第２書き込み制御信号ＳＥＴＰ＜０：３＞により初回のバッファーオーバーライトが行われる。
【０１６８】
すなわち、プログラムパルス生成部１００の初期パルス発生部１１０から内部クロックイネーブル信号ＩＰＷＥＮが生成される。そして、これから内部クロックＩＣＫが生成された後、既設定された時間をカウントしてカウンティングコードＱ＜０：３＞が生成され、カウントが完了すると区間設定信号ＱＳＳＥＴＰが生成される。
【０１６９】
一方、リセットパルス発生部１２０は、プログラミングイネーブル信号ＰＧＭＰに応答して第１書き込み制御信号ＲＥＳＥＴＥＮをイネーブルさせ、区間設定信号ＱＳＳＥＴＰを既設定された時間遅延させて生成したリセット信号ＩＲＳＴＰがイネーブルされることによって、第１書き込み制御信号ＲＥＳＥＴＥＮをディスエーブルする。そして、第１書き込み制御信号ＲＥＳＥＴＥＮがイネーブルされている区間、ライトドライバーからプログラミング電流が生成されてビットラインＢＬ０に供給される。
【０１７０】
クエンチングパルス発生部１３０は、区間設定信号ＱＳＳＥＴＰに応答してカウントイネーブル信号ＣＫＥＮ、ＣＮＴＥＮＢ及び内部クロックＱＳＣＫを生成する。そして、これによってイネーブルの区間が互いに異なる第２書き込み制御信号ＳＥＴＰ＜０：３＞を生成する。第２書き込み制御信号ＳＥＴＰ＜０：３＞の生成が完了すると、クエンチングパルス完了信号ＱＳＮＤがディスエーブルされ、これからリセット信号ＱＳＲＳＴＰがイネーブルされるとプログラム完了信号ＰＧＭＮＤＰが出力される。この場合、第２書き込み制御信号ＳＥＴＰ＜０：３＞のイネーブルの区間によって、ライトドライバーの電流駆動力が順次減少し、メモリセルにクエンチングパルスが供給される。
【０１７１】
初回のプログラム動作の後、発生されるプログラム完了信号ＰＧＭＮＤＰは、連続プログラム制御回路２００へ供給され、以後にはカウント部２３０が初期値を０までカウントダウンするごとにプログラム完了信号ＰＧＭＮＤＰを連続プログラミングイネーブル信号ＢＰＧＭＰで出力して、既判定された連続プログラム回数程度プログラム動作がなされる。
【０１７２】
これによって２〜２５６ワード（４〜５１２Ｂ）のデータを同時に記録でき、バッファープログラムまたはバッファーオーバーライト動作の効率を向上させることができる。
【０１７３】
このように、本発明の属する技術分野の当業者は、本発明がその技術的思想や必須的特徴を変更せずに、他の具体的な形態で実施され得るということが理解できる。したがって、以上で記述した実施形態は、あらゆる面で例示的なものであり、限定的なものではないものと理解されなければならない。本発明の範囲は、上記の詳細な説明よりは、後述する特許請求の範囲によって表わされ、特許請求の範囲の意味及び範囲、そして、その等価概念から導き出されるあらゆる変更または変形された形態が本発明の範囲に含まれるものと解釈されるべきである。
【符号の説明】
【０１７４】
１０  半導体メモリ装置
１００  プログラムパルス生成部
２００  連続プログラム制御回路
３００  コントローラ
４００  ライトドライバー
５００  メモリ部
２１０  プログラム回数決定部
２２０  初期値設定部
２３０  カウント部
２４０  モード判定部
２５０  連続プログラムパルス発生部
【図１】
2013097856.tif 000003
【図２】
2013097856.tif 000004
【図３】
2013097856.tif 000005
【図４】
2013097856.tif 000006
【図５】
2013097856.tif 000007
【図６】
2013097856.tif 000008
【図７】
2013097856.tif 000009
【図８】
2013097856.tif 000010
【図９】
2013097856.tif 000011
【図１０】
2013097856.tif 000012
【図１１】
2013097856.tif 000013
【図１２】
2013097856.tif 000014
【図１３】
2013097856.tif 000015
【図１４】
2013097856.tif 000016
【図１５】
2013097856.tif 000017
【図１６】
2013097856.tif 000018
【図１７】
2013097856.tif 000019
【図１８】
2013097856.tif 000020
【図１９】
2013097856.tif 000021
【図２０】
2013097856.tif 000022
【図２１】
2013097856.tif 000023
【図２２】
2013097856.tif 000024