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