プログラミング検証フラグ信号及びプログラミングイネーブル信号に応答して、複数の区間の間、各区間ごとに互いに異なる周期でアップデートされる第1書き込み制御コードを生成する第1書き込み制御コード発生部と、アップデートされる前記第1書き込み制御コードのコード組み合わせに対応する大きさを有する第1プログラミング電流パルスを出力するデータ書き込み部と、を備えた半導体メモリ装置。前記プログラミングイネーブル信号に応答して、予定された時間の間活性化される第2書き込み制御コードを生成する第2書き込み制御コード発生部をさらに備え、前記データ書き込み部は、アップデートされる前記第1書き込み制御コードのコード組み合わせに対応する大きさを有する前記第1プログラミング電流パルスを出力したり、前記第2書き込み制御コードに対応する大きさを有する第2プログラミング電流パルスを出力することを特徴とする請求項1に記載の半導体メモリ装置。前記複数の区間の間、各区間が進行されるほど前記第1書き込み制御コードのアップデート周期はますます増加することを特徴とする請求項1に記載の半導体メモリ装置。前記第1書き込み制御コード発生部は、予定された時間以後に活性化される区間制御信号及びリセットパルス信号に応答して、カウントイネーブル信号及びクロックイネーブル信号を出力する入力ラッチ部と、前記プログラミング検証フラグ信号及び前記リセットパルス信号に応答して、設定されたアップデートの回数だけコード値がアップデートされる周期設定コード及び反復終了信号を出力するクロック発生制御部と、前記クロックイネーブル信号及び前記反復終了信号に応答して、カウンティングクロック信号を生成することにあって、前記周期設定コードのコード値によって前記カウンティングクロック信号のトグリング周期を調節するカウンティングクロック発生部と、前記プログラミングイネーブル信号、前記カウントイネーブル信号及び前記カウンティングクロック信号の制御によってカウンティングされるカウンティングコードを生成して、前記第1書き込み制御コードとして出力する書き込み制御コードカウンタ部と、前記カウンティングコードが所定の値に到達すると前記リセットパルス信号を生成するリセットパルス発生部と、を備えたことを特徴とする請求項1に記載の半導体メモリ装置。前記クロック発生制御部は、前記周期設定コードが、設定されたアップデートの回数だけアップデートされた以後に前記反復終了信号を活性化させることを特徴とする請求項4に記載の半導体メモリ装置。前記周期設定コードのコード値は、アップデートされるごとに増加することを特徴とする請求項4に記載の半導体メモリ装置。前記第1書き込み制御コードのアップデート周期は、前記カウンティングクロック信号のトグリング周期に対応して調節されることを特徴とする請求項4に記載の半導体メモリ装置。前記プログラミング検証フラグ信号は、データが正確にプログラミングされたのかの可否を指示する信号であることを特徴とする請求項4に記載の半導体メモリ装置。前記クロック発生制御部は、前記プログラミング検証フラグ信号及び前記リセットパルス信号の制御によってカウンティング動作を遂行する周期設定コードカウンタ部と、基準コードと前記周期設定コードカウンタ部から出力されるカウンティングコードとを比較してその比較結果を前記反復終了信号として出力する比較部と、前記プログラミング検証フラグ信号及びプログラミング確認信号に応答して選択的に活性化されるフェイル信号を出力するフェイル信号出力部と、を備えたことを特徴とする請求項4に記載の半導体メモリ装置。前記カウンティングクロック発生部は、前記クロックイネーブル信号に応答して予定された周期でトグリングするソースクロック信号を出力するソースクロック発生部と、前記反復終了信号、前記ソースクロック信号及び内部リセット信号の制御によってカウンティング動作を遂行して内部カウンティングコードを出力する内部カウンタ部と、前記ソースクロック信号の制御によって前記内部カウンティングコード及び前記周期設定コードを結合して前記カウンティングクロック信号及び前記内部リセット信号として出力する出力クロック発生部と、を備えたことを特徴とする請求項4に記載の半導体メモリ装置。前記出力クロック発生部は、前記内部カウンティングコード及び前記周期設定コードの各ビット値を比較して複数の比較結果信号として出力する複数の比較部と、前記複数の比較部から出力される前記複数の比較結果信号を結合して結合信号として出力する信号結合部と、前記内部クロック信号及び前記結合信号の制御によって前記カウンティングクロック信号及び前記内部リセット信号を出力する信号出力部と、を備えたことを特徴とする請求項10に記載の半導体メモリ装置。前記出力クロック発生部は、前記周期設定コードに予定されたコード値を合算した以後に前記内部カウンティングコードと結合することを特徴とする請求項10に記載の半導体メモリ装置。プログラミングイネーブル信号に応答して、第1設定時間以後に活性化される区間制御信号を生成する区間制御信号発生部と、プログラミング検証フラグ信号及び前記プログラミングイネーブル信号に応答して複数の区間の間、各区間ごとに互いに異なる周期でアップデートされる第1書き込み制御コードを生成するとともに、各区間ごとに前記区間制御信号に応答して前記第1書き込み制御コードのアップデートを活性化させる第1書き込み制御コード発生部と、前記プログラミングイネーブル信号に応答して予定された時間の間活性化される第2書き込み制御コードを生成する第2書き込み制御コード発生部と、アップデートされる前記第1書き込み制御コードのコード組合に対応する大きさを有する第1プログラミング電流パルスを出力したり、前記第2書き込み制御コードに対応する大きさを有する第2プログラミング電流パルスを出力するデータ書き込み部と、を備えたことを特徴とする半導体メモリ装置。前記複数の区間の間、各区間が進行されるほど前記第1書き込み制御コードのアップデート周期はますます増加することを特徴とする請求項13に記載の半導体メモリ装置。前記第1設定時間は、設定時間調節コードのコード値によって調節されることを特徴とする請求項13に記載の半導体メモリ装置。前記第1書き込み制御コード発生部は、前記区間制御信号及びリセットパルス信号に応答してカウントイネーブル信号及びクロックイネーブル信号を出力する入力ラッチ部と、前記プログラミング検証フラグ信号及び前記リセットパルス信号に応答して、設定されたアップデートの回数だけコード値がアップデートされる周期設定コード及び反復終了信号を出力するクロック発生制御部と、前記クロックイネーブル信号及び前記反復終了信号に応答してカウンティングクロック信号を生成するとともに、前記周期設定コードのコード値によって前記カウンティングクロック信号のトグリング周期を調節するカウンティングクロック発生部と、前記プログラミングイネーブル信号、前記カウントイネーブル信号及び前記カウンティングクロック信号の制御によってカウンティングされるカウンティングコードを生成して前記第1書き込み制御コードとして出力する書き込み制御コードカウンタ部と、前記カウンティングコードが所定の値に到達すると前記リセットパルス信号を生成するリセットパルス発生部と、を備えたことを特徴とする請求項13に記載の半導体メモリ装置。前記クロック発生制御部は、前記周期設定コードが設定されたアップデートの回数だけアップデートされた以後に前記反復終了信号を活性化させることを特徴とする請求項16に記載の半導体メモリ装置。前記周期設定コードのコード値は、アップデートされるごとに増加することを特徴とする請求項16に記載の半導体メモリ装置。前記第1書き込み制御コードのアップデート周期は、前記カウンティングクロック信号のトグリング周期に対応して調節されることを特徴とする請求項16に記載の半導体メモリ装置。前記プログラミング検証フラグ信号は、データが正確にプログラミングされたのかの可否を指示する信号であることを特徴とする請求項16に記載の半導体メモリ装置。前記クロック発生制御部は、前記プログラミング検証フラグ信号及び前記リセットパルス信号の制御によってカウンティング動作を遂行する周期設定コードカウンタ部と、基準コードと前記周期設定コードカウンタ部から出力されるカウンティングコードとを比較してその比較結果を前記反復終了信号として出力する比較部と、前記プログラミング検証フラグ信号及びプログラミング確認信号に応答して選択的に活性化されるフェイル信号を出力するフェイル信号出力部と、を備えたことを特徴とする請求項16に記載の半導体メモリ装置。前記カウンティングクロック発生部は、前記クロックイネーブル信号に応答して予定された周期でトグリングするソースクロック信号を出力するソースクロック発生部と、前記反復終了信号、前記ソースクロック信号及び内部リセット信号の制御によってカウンティング動作を遂行して内部カウンティングコードを出力する内部カウンタ部と、前記ソースクロック信号の制御によって前記内部カウンティングコード及び前記周期設定コードを結合して前記カウンティングクロック信号及び前記内部リセット信号として出力する出力クロック発生部と、を備えたことを特徴とする請求項16に記載の半導体メモリ装置。前記出力クロック発生部は、前記内部カウンティングコード及び前記周期設定コードの各ビット値を比較して複数の比較結果信号として出力する複数の比較部と、前記複数の比較部から出力される前記複数の比較結果信号を結合して結合信号として出力する信号結合部と、前記内部クロック信号及び前記結合信号の制御によって前記カウンティングクロック信号及び前記内部リセット信号を出力する信号出力部と、を備えたことを特徴とする請求項22に記載の半導体メモリ装置。前記出力クロック発生部は、前記周期設定コードに予定されたコード値を合算した以後に前記内部カウンティングコードと結合することを特徴とする請求項22に記載の半導体メモリ装置。予定された時間以後に活性化される区間制御信号及びリセットパルス信号に応答してカウントイネーブル信号及びクロックイネーブル信号を出力する入力ラッチ部と、プログラミング検証フラグ信号及び前記リセットパルス信号に応答して設定されたアップデートの回数だけコード値がアップデートされる周期設定コード及び反復終了信号を出力するクロック発生制御部と、前記クロックイネーブル信号及び前記反復終了信号に応答してカウンティングクロック信号を生成するとともに、前記周期設定コードのコード値によって前記カウンティングクロック信号のトグリング周期を調節するカウンティングクロック発生部と、プログラミングイネーブル信号、前記カウントイネーブル信号及び前記カウンティングクロック信号の制御によってカウンティングされるカウンティングコードを生成して書き込み制御コードとして出力する書き込み制御コードカウンタ部と、前記カウンティングコードが所定の値に到達すると前記リセットパルス信号を生成するリセットパルス発生部と、アップデートされる前記書き込み制御コードのコード組み合わせに対応する大きさを有するプログラミング電流パルスを出力するデータ書き込み部と、を備えたことを特徴とする半導体メモリ装置。前記クロック発生制御部は、前記周期設定コードが設定されたアップデートの回数だけアップデートされた以後に前記反復終了信号を活性化させることを特徴とする請求項25に記載の半導体メモリ装置。前記周期設定コードのコード値は、アップデートされるごとに増加することを特徴とする請求項25に記載の半導体メモリ装置。前記書き込み制御コードのアップデート周期は、前記カウンティングクロック信号のトグリング周期に対応して調節されることを特徴とする請求項25に記載の半導体メモリ装置。前記プログラミング検証フラグ信号は、データが正確にプログラミングされたのかの可否を指示する信号であることを特徴とする請求項25に記載の半導体メモリ装置。前記クロック発生制御部は、前記プログラミング検証フラグ信号及び前記リセットパルス信号の制御によってカウンティング動作を遂行する周期設定コードカウンタ部と、基準コードと前記周期設定コードカウンタ部から出力されるカウンティングコードとを比較してその比較結果を前記反復終了信号として出力する比較部と、前記プログラミング検証フラグ信号及びプログラミング確認信号に応答して選択的に活性化されるフェイル信号を出力するフェイル信号出力部と、を備えたことを特徴とする請求項25に記載の半導体メモリ装置。前記カウンティングクロック発生部は、前記クロックイネーブル信号に応答して予定された周期でトグリングするソースクロック信号を出力するソースクロック発生部と、前記反復終了信号、前記ソースクロック信号及び内部リセット信号の制御によってカウンティング動作を遂行して内部カウンティングコードを出力する内部カウンタ部と、前記ソースクロック信号の制御によって前記内部カウンティングコード及び前記周期設定コードを結合して前記カウンティングクロック信号及び前記内部リセット信号として出力する出力クロック発生部と、を備えたことを特徴とする請求項25に記載の半導体メモリ装置。前記出力クロック発生部は、前記内部カウンティングコード及び前記周期設定コードの各ビット値を比較して複数の比較結果信号として出力する複数の比較部と、前記複数の比較部から出力される前記複数の比較結果信号を結合して結合信号として出力する信号結合部と、前記内部クロック信号及び前記結合信号の制御によって前記カウンティングクロック信号及び前記内部リセット信号を出力する信号出力部と、を備えたことを特徴とする請求項31に記載の半導体メモリ装置。前記出力クロック発生部は、前記周期設定コードに予定されたコード値を合算した以後に前記内部カウンティングコードと結合することを特徴とする請求項31に記載の半導体メモリ装置。本発明は互いに異なるプログラミング特性を有する複数のメモリセルを安定的にプログラミングできる半導体メモリ装置を提供する。また、本発明は、複数の区間の間、各区間ごとに互いに異なる供給時間を有するプログラミング電流パルスを駆動できる半導体メモリ装置を提供する。本発明の実施形態によると、プログラミング検証フラグ信号及びプログラミングイネーブル信号に応答して、複数の区間の間、各区間ごとに互いに異なる周期でアップデートされる第1書き込み制御コードを生成する第1書き込み制御コード発生部と、アップデートされる前記第1書き込み制御コードのコード組合に対応する大きさを有する第1プログラミング電流パルスを出力するデータ書き込み部を備えた半導体メモリ装置が提供される。また、本発明の他の実施形態によると、プログラミングイネーブル信号に応答して、第1設定時間以後に活性化される区間制御信号を生成する区間制御信号発生部と、プログラミング検証フラッグ信号及び前記プログラミングイネーブル信号に応答して複数の区間の間、各区間ごとに互いに異なる周期でアップデートされる第1書き込み制御コードを生成するとともに、各区間ごとに前記区間制御信号に応答して前記第1書き込み制御コードのアップデートを活性化させる第1書き込み制御コード発生部と、前記プログラミングイネーブル信号に応答して予定された時間の間活性化される第2書き込み制御コードを生成する第2書き込み制御コード発生部と、アップデートされる前記第1書き込み制御コードのコード組合に対応する大きさを有する第1プログラミング電流パルスを出力したり、前記第2書き込み制御コードに対応する大きさを有する第2プログラミング電流パルスを出力するデータ書き込み部を備えた半導体メモリ装置が提供される。また、本発明の他の実施形態によると、予定された時間以後に活性化される区間制御信号及びリセットパルス信号に応答して、カウントイネーブル信号及びクロックイネーブル信号を出力する入力ラッチ部と、プログラミング検証フラグ信号及び前記リセットパルス信号に応答して設定されたアップデートの回数だけコード値がアップデートされる周期設定コード及び反復終了信号を出力するクロック発生制御部と、前記クロックイネーブル信号及び前記反復終了信号に応答して、カウンティングクロック信号を生成するとともに、前記周期設定コードのコード値によって前記カウンティングクロック信号のトグリング周期を調節するカウンティングクロック発生部と、プログラミングイネーブル信号、前記カウントイネーブル信号及び前記カウンティングクロック信号の制御によってカウンティングされるカウンティングコードを生成して、書き込み制御コードとして出力する書き込み制御コードカウンタ部と、前記カウンティングコードが所定の値に到達すると前記リセットパルス信号を生成するリセットパルス発生部と、アップデートされる前記書き込み制御コードのコード組み合わせに対応する大きさを有するプログラミング電流パルスを出力するデータ書き込み部を備えた半導体メモリ装置が提供される。本発明の実施形態による半導体メモリ装置は、メモリ部にプログラミング電流パルスが供給される形態を調節することができる。すなわち、複数の区間の間、各区間ことに互いに異なる供給時間を有するプログラミング電流パルスを駆動して、互いに異なるプログラミング特性を有する複数のメモリセルを安定的にプログラミングすることができる。以下、本発明が属する技術分野で通常の知識を有する者が本発明の技術的思想を容易に実施できる程度で詳細に説明するために、本発明の実施形態を貼付した図面を参照して説明する。なお、図面及び詳細な説明で素子、ブロックなどを指し示す時使用する用語、記号、符号などは必要によって細部単位別に表記することもできるので、同じ用語、記号、符号が全体の回路で同じ素子などを指し示せないこともあることに留意する。一般的に回路の論理信号及び2値化binaryデータ値は、電圧レベルに対応してハイレベルHIGHLEVEL;HまたはローレベルLOWLEVEL;Lで区分して、各々‘1’と‘0’などで表現することもできる。また、必要によって追加的にハイインピーダンスHighImpedance;Hi-Z状態などを有することができると定義して記述する。図4は本発明の実施形態に係る半導体メモリ装置の構成図である。本発明の実施形態に係る半導体メモリ装置は、提案しようとする技術的な思想を明確に説明するために簡略な構成のみを備えている。図4を参照すると、半導体メモリ装置は、区間制御信号発生部100と、第1書き込み制御コード発生部200と、第2書き込み制御コード発生部300と、データ書き込み部400と、メモリ部500とを備えている。上記のように構成される半導体メモリ装置の細部構成と主要動作とを注意してみると次の通りである。区間制御信号発生部100はプログラミングイネーブル信号DPGMPに応答して、第1設定時間以後に活性化される区間制御信号QSSETPを生成する。すなわち、区間制御信号QSSETPは、プログラミングイネーブル信号DPGMPの活性化時点から第1設定時間以後に活性化される。第1書き込み制御コード発生部200はプログラミング検証フラグ信号PNVFLAG及びプログラミングイネーブル信号DPGMPに応答して、複数の区間の間、各区間ごとに互いに異なる周期でアップデートされる第1書き込み制御コードSETP<N:0>を生成する。この時、第1書き込み制御コード発生部200は各区間ごとに区間制御信号QSSETPに応答して、第1書き込み制御コードSETP<N:0>のアップデートを活性化させる。本発明の実施形態に係る第1書き込み制御コードSETP<N:0>のアップデート周期は複数の区間の間、各区間が進行されるほどますます増加するように構成される。第2書き込み制御コード発生部300は、プログラミングイネーブル信号DPGMPに応答して、予定された時間の間活性化される第2書き込み制御コードRESETPを生成する。データ書き込み部400は、アップデートされる第1書き込み制御コードSETP<N:0>のコード組み合わせに対応する大きさを有するプログラミング電流パルスI_PGMを出力したり、第2書き込み制御コードRESETPに対応する大きさを有するプログラミング電流パルスI_PGMを出力する。この時、プログラミング電流パルスI_PGMは、第1書き込み制御コードSETP<N:0>に対応する第1プログラミング電流パルスと第2書き込み制御コードRESETPに対応する第2プログラミング電流パルスとで区分することができる。データ書き込み部400から出力されるプログラミング電流パルスI_PGMは、メモリ部500に伝えられて、複数のメモリセルのうち、選択された該当メモリセルに供給される。本発明の実施形態において、メモリセルは、相変化メモリセルであると仮定する。図5は、図4の区間制御信号発生部100の実施形態に係る構成図及びその内部動作を表したタイミングダイアグラムである。図5を参照すると、区間制御信号発生部100は、入力ラッチ部110と、クロック発生部120と、カウンター部130と、比較部140と、リセットパルス発生部150とで構成される。このように構成される区間制御信号発生部100の主要動作をタイミングダイアグラム100_0を参照して説明する。入力ラッチ部110は、プログラミングイネーブル信号DPGMP及びリセットパルス信号RSTPに応答して、カウントイネーブル信号EN及びリセット信号RSTを出力する。すなわち、プログラミングイネーブル信号DPGMPがハイレベルでパルシングすると、カウントイネーブル信号ENがハイレベルで活性化され、リセットパルス信号RSTPがハイレベルでパルシングするとリセット信号RSTがハイレベルで活性化される。クロック発生部120は、カウントイネーブル信号ENに応答して、クロック信号CKを生成する。すなわち、クロック発生部120は、カウントイネーブル信号ENがハイレベルで活性化されている間、トグリングするクロック信号CKを出力する。カウンタ部130は、カウントイネーブル信号EN、リセット信号RST及びクロック信号CKの制御によってカウンティングされるカウンティングコードQ<0:3>を出力する。すなわち、カウンタ部130は、カウントイネーブル信号ENがハイレベルで活性化された時、クロック信号CKの制御によってカウンティング動作を遂行する。リセット信号RSTがハイレベルで活性化されると、カウンタ部130から出力されるカウンティングコードQ<0:3>は初期化される。これと共にカウンター部130を用いてカウンティングコードQ<0:3>を生成する場合、回路の大きさを減少させることができる。比較部140はカウンティングコードQ<0:3>が所定の値に到達すると、区間制御信号QSSETPを活性化させて出力する。比較部140は、カウンティングコードQ<0:3>と印可された設定時間調節コードIPSET<0:3>とを比較して、カウンティングコードQ<0:3>が設定時間調節コードIPSET<0:3>と同一になる時、区間制御信号QSSETPを活性化させるように構成される。すなわち、設定時間調節コードIPSET<0:3>を調節して、区間制御信号QSSETPの活性化時点を調節することができる。リセットパルス発生部150は、区間制御信号QSSETPを一定の時間遅延させてリセットパルス信号RSTPを出力する。リセットパルス発生部150は、遅延部で構成されることができ、遅延部の遅延値は、規定されたタイミングマージンを満足させるように設定される。以下、区間制御信号発生部100の細部構成に対してさらに詳しく説明する。図6は、図5の区間制御信号発生部100での入力ラッチ部110の構成図及びその内部動作を表したタイミングダイアグラムである。図6を参照すると、入力ラッチ部110は、複数のナンドゲートNAND1、NAND2で構成されるRSラッチで構成される。タイミングダイアグラム110_0を参照すると、入力ラッチ部110は、プログラミングイネーブル信号DPGMPがハイレベルでパルシングすると、カウントイネーブル信号ENがハイレベルで活性化され、リセットパルス信号RSTPがハイレベルでパルシングすると、リセット信号RSTがハイレベルで活性化される。図7は、図5の区間制御信号発生部100でのクロック発生部120の構成図及びその内部動作を表したタイミングダイアラムである。図7を参照すると、クロック発生部120はナンドゲートNAND1及び複数のインバータINV1~INV5を備えたリングオシレータで構成される。タイミングダイアグラム120_0を参照すると、クロック発生部120は、カウントイネーブル信号ENがハイレベルで活性化されている間トグリングするクロック信号CKを出力する。図8は、図5の区間制御信号発生部100での比較部140の構成図である。図8を参照すると、比較部140は、複数の比較部141、142、143、144と、信号組合部145で構成される。複数の比較部141、142、143、144は、カウンティングコードQ<0:3>及び設定時間調節コードIPSET<0:3>の各ビット値を比較して複数の比較結果信号として出力する。信号結合部145は、複数の比較部141、142、143、144から出力される複数の比較結果信号を結合して区間制御信号QSSETPとして出力する。すなわち、本発明の実施形態において、比較部140は、カウンティングコードQ<0:3>と設定時間調節コードIPSET<0:3>とが同一になる時、区間制御信号QSSETPを活性化させて出力する。図9は、図5の区間制御信号発生部100でのリセットパルス発生部150の構成図及びその内部動作を表したタイミングダイアグラムである。図9を参照すると、リセットパルス発生部150は区間制御信号QSSETPを遅延させる第1遅延部151と、第1遅延部151から出力される信号を遅延させてリセットパルス信号RSTPを出力する第2遅延部152で構成される。第1遅延部151及び第2遅延部152は抵抗R及びMOSキャパシタCP、CNで構成されてRC時定数によって遅延値が決定される。図10は、図5の区間制御信号発生部100でのカウンタ部の構成図及びその内部動作を表したタイミングダイアグラムである。図10は、カウンタ部130を構成する複数の1ビットカウンタ131~134のうち、最下位1ビットカウンタ131を代表的に図示したものである。カウンタ部130は、アップカウンティング動作を遂行するように構成された。図10を参照すると、1ビットカウンタ131は、信号入力部131_1と、ラッチ部131_2で構成される。信号入力部131_1は、カウントイネーブル信号ENと第1カウンティングコードQ<0>に応答してラッチ部131_2の入力ノードAの信号レベルを決定する。ラッチ部131_2は、クロック信号CKの制御によって、信号入力部131_1から出力される信号をラッチングし、第1カウンティングコードQ<0>及びキャリー信号EN1を出力する。この時、キャリー信号EN1は、二つ目の1ビットカウンタ132のカウントイネーブル信号EN1として利用される。一方、ラッチ部131_2は、リセット信号RST及びセット信号SETに応答して、内部ノードが初期化されたり、特定レベルで変化される。図11は図4の第1書き込み制御コード発生部200の実施形態による構成図である。図11を参照すると、第1書き込み制御コード発生部200は、入力ラッチ部210と、カウンティングクロック発生部220と、書き込み制御コードカウンタ部230と、リセットパルス発生部240と、遅延部250と、クロック発生制御部260とを具備する。このように構成される第1書き込み制御コード発生部200の主要動作及び細部構成に対して詳細に説明する。入力ラッチ部210は、区間制御信号QSSETP及びリセットパルス信号QSRSTPに応答して、カウントイネーブル信号ENB及びクロックイネーブル信号CKENを出力する。クロック発生制御部260はプログラミング検証フラグ信号PNVFLAG及びリセットパルス信号QSRSTPに応答して、設定されたアップデートの回数だけコード値がアップデートされる周期設定コードPNVCNT<0:2>及び反復終了信号PNVMAXPを出力する。また、クロック発生制御部260は、設定されたアップデートの回数だけ周期設定コードPNVCNT<0:2>がアップデートされた以後、反復終了信号PNVMAXPを活性化させる。本発明の実施形態では、周期設定コードPNVCNT<0:2>のコード値は、アップデートされるごとに増加するように構成されている。なお、プログラミング検証フラグ信号PNVFLAGは、データがメモリセルに正確にプログラミングされたのかの可否を指示する信号として定義される。カウンティングクロック発生部220は、クロックイネーブル信号CKEN及び反復終了信号PNVMAXPに応答して、カウンティングクロック信号QSCKを生成する。この時、カウンティングクロック発生部220は、周期設定コードPNVCNT<0:2>のコード値によってカウンティングクロック信号QSCKのトグリング周期を調節する。本発明の実施形態では、周期設定コードPNVCNT<0:2>のコード値が大きくなるほど、カウンティングクロック信号QSCKのトグリング周期が増加するように構成されている。書き込み制御コードカウンタ部230は、プログラミングイネーブル信号DPGMP、カウントイネーブル信号ENB及びカウンティングクロック信号QSCKの制御によってカウンティングされるカウンティングコードを生成して、第1書き込み制御コードSETP<N:0>として出力する。したがって、第1書き込み制御コードSETP<N:0>のアップデート周期は、カウンティングクロック信号QSCKのトグリング周期に対応して調節される。リセットパルス発生部240は、書き込み制御コードカウンタ部230のカウンティングコードが所定の値に到達すると、リセットパルス信号QSRSTPを活性化させる。なお、本発明の実施形態では、リセットパルス信号QSRSTPを予定された遅延値だけ遅延させて遅延リセットパルス信号QSENDPとして出力する遅延部250を備えている。以下、第1書き込み制御コード発生部200の細部構成に対してさらに詳しく説明する。図12は図11のクロック発生制御部260の実施形態による構成図である。図12を参照すると、クロック発生制御部260は、周期設定コードカウンタ部261と、比較部263と、フェイル信号出力部264で構成される。このように構成されるクロック発生制御部260の細部構成及び主要内部動作を説明すると次の通りである。周期設定コードカウンタ部261は、プログラミング検証フラグ信号PNVFLAG及びリセットパルス信号QSRSTPの制御によってカウンティング動作を遂行する。比較部263は、基準コードPNVSET<0:3>と周期設定コードカウンタ部261から出力されるカウンティングコードとを比較して、その比較結果によって反復終了信号PNVMAXPを活性化させる。すなわち、比較部263は、基準コードPNVSET<0:3>とカウンティングコードとが同一になる時、反復終了信号PNVMAXPを活性化させて出力する。フェイル信号出力部264は、プログラミング検証フラグ信号PNVFLAG及びプログラミング確認信号PNVRDPに応答して、選択的に活性化されるフェイル信号FAILを出力する。プログラミング検証フラグ信号PNVFLAGは、データが正確にプログラミングされたのかの可否を指示する信号であり、データがメモリセルに正確にプログラミングされる前まではハイレベルを維持するが、データがメモリセルに正確にプログラミングできた以後にはローレベルになる信号である。したがって、メモリセルにプログラミングが正確に行ったのかを確認しようとする信号であるプログラミング確認信号PNVRDPが活性化された時、プログラミング検証フラグ信号PNVFLAGがハイレベルを維持していると、反復終了信号PNVMAXPを考慮してフェイル信号はハイレベルで活性化される。フェイル信号出力部264はプログラミング検証フラグ信号PNVFLAG及びプログラミング確認信号PNVRDPを論理結合するロジック部またはプログラミング検証フラグ信号PNVFLAG及びプログラミング確認信号PNVRDPを入力とするフリップフロップで構成されることができる。図13は、図12のクロック発生制御部260での比較部263の実施形態に係る構成図である。図13及び図12を同時に参照すると、比較部263は、周期設定コードカウンタ部261から出力されるカウンティングコードの各ビット信号と基準コードPNVSET<0:3>の各ビット信号とを比較する複数の比較器263_1、263_2、263_3と、複数の比較器263_1、263_2、263_3から出力される比較結果信号を結合して反復終了信号PNVMAXPとして出力する信号結合部263_4で構成される。以下、カウンティングクロック発生部220の細部構成に対してさらに詳しく説明する。図14は、図11のカウンティングクロック発生部の実施形態に係る構成図である。図14を参照すると、カウンティングクロック発生部220は、ソースクロック発生部221と、内部カウンタ部222と、出力クロック発生部223と、1ビット加算器224とで構成される。このように構成されるカウンティングクロック発生部220の細部構成と主要動作とを説明すると次の通りである。ソースクロック発生部221は、クロックイネーブル信号CKENに応答して、予定された周期でトグリングするソースクロック信号CKを出力する。ここでソースクロック発生部221は、リングオシレータなどで構成されることができる。内部カウンタ部222は、反復終了信号PNVMAXP、ソースクロック信号CK及び内部リセット信号IRSTの制御によってカウンティング動作を遂行して、内部カウンティングコードQ<0:2>を出力する。出力クロック発生部223は、ソースクロック信号CKの制御によって内部カウンティングコードQ<0:2>及び周期設定コードPNVCNT<0:2>を結合して、カウンティングクロック信号QSCK及び内部リセット信号IRSTとして出力する。図15は、図14のカウンティングクロック発生部220での出力クロック発生部223の実施形態に係る構成図である。図15及び図14を同時に参照すると、出力クロック発生部223は、複数の比較部223_1、223_2、223_3と、信号結合部223_4と、信号出力部223_5とで構成される。複数の比較部223_1、223_2、223_3は、内部カウンティングコードQ<0:2>及び周期設定コードPNVCNT<0:2>の各ビット値を比較して、複数の比較結果信号として出力する。信号結合部223_4は、複数の比較部223_1、223_2、223_3から出力される複数の比較結果信号を結合して、結合信号QSCMPとして出力する。信号出力部223_5は、内部クロック信号CK及び結合信号QSCMPの制御によって、カウンティングクロック信号QSCK及び内部リセット信号IRSTを出力する。なお、本発明の実施形態において、出力クロック発生部223は、周期設定コードPNVCNT<0:2>に予定されたコード値を合算した以後に、内部カウンティングコードQ<0:2>と結合するように構成されている。すなわち、出力クロック発生部223は1ビット加算器224を通して周期設定コードPNVCNT<0:2>のコード値に‘1’を合算した結果PNVD<0:2>と内部カウンティングコードQ<0:2>とを比較するように構成されている。本発明の実施形態では、周期設定コードPNVCNT<0:2>のコード値が増加するほどカウンティングクロック信号QSCKのトグリング周期がますます長くなる。なお、1ビット加算器224は、設計方式によって選択的に備わることができる要素である。図16は、図11の第1書き込み制御コード発生部200での入力ラッチ部210の構成図及びその内部動作を表したタイミングダイアグラムである。図16を参照すると、入力ラッチ部210は、複数のナンドゲートNAND1、NAND2で構成されるRSラッチで構成される。タイミングダイアグラム210_0を参照すると、入力ラッチ部210は、区間制御信号QSSETP及びリセットパルス信号QSRSTPに応答して、カウントイネーブル信号ENB及びクロックイネーブル信号CKENを出力する。すなわち、区間制御信号QSSETPがハイレベルでパルシングすると、カウントイネーブル信号ENBはローレベルで活性化され、クロックイネーブル信号CKENはハイレベルで活性化される。図17は、図11の第1書き込み制御コード発生部200でのリセットパルス発生部240及びその内部動作を表したタイミングダイアグラムである。リセットパルス発生部240は、カウンティングコードが所定の値に到達するとリセットパルス信号QSRSTPを生成する。図17及び図11を同時に参照すると、リセットパルス発生部240は、最上位1ビットカウンタ236から出力される信号ENB6を受信する検出用1ビットカウンタ237で出力される信号QSENDがハイレベルで活性化されると、これを用いてハイレベルでパルシングするリセットパルス信号QSRSTPを生成する。すなわち、リセットパルス発生部240は、検出用1ビットカウンタ237から出力される信号QSENDを遅延部で遅延させた信号Aと、反転信号Bとを論理結合してハイレベルでパルシングする信号を生成する。図18は、図11の第1書き込み制御コード発生部200での書き込み制御コードカウンタ部230の構成図及びその内部動作を表したタイミングダイヤグラムである。図18及び図11を同時に参照すると、書き込み制御コードカウンタ部230は、プログラミングイネーブル信号DPGMP、カウントイネーブル信号ENB及びカウンティングクロック信号QSCKの制御によってカウンティングされるカウンティングコードを生成して第1書き込み制御コードSETP<N:0>として出力する。すなわち、書き込み制御コードカウンタ部230は、カウントイネーブル信号ENBがローレベルで活性化された時、カウンティングクロック信号QSCKの制御によってカウンティング動作を遂行するようになる。書き込み制御コードカウンタ部230は、複数の1ビットカウンタ231~237で構成されて、ダウンカウンティング動作を遂行する。したがって、カウンティングクロック信号QSCKのトグリング周期によってダウンカウンティングの速度が調節されるので、結果的にカウンティングクロック信号QSCKのトグリング周期によって第1書き込み制御コードSETP<N:0>のアップデート周期が調節される。図18は、書き込み制御コードカウンタ部230を構成する複数の1ビットカウンタ231~237のうち、最下位1ビットカウンタ231を代表的に図示したものである。図18を参照すると、1ビットカウンタ231は、信号入力部231_1と、ラッチ部231_2とで構成される。信号入力部231_1は、カウントイネーブル信号ENBと第1カウンティングコードSETP<0>とに応答してラッチ部231_2の入力ノードAの信号レベルを決定する。ラッチ部231_2は、カウンティングクロック信号QSCKの制御によって信号入力部231_1から出力される信号をラッチングし、第1カウンティングコードSETP<0>及びボローBorrow信号ENB1を出力する。この時、ボロー信号ENB1は、二つ目の1ビットカウンタ232のカウントイネーブル信号ENBとして利用される。一方、ラッチ部131_2は、リセット信号RST及びセット信号SETに応答して、内部ノードが初期化されたり、特定レベルに変化される。図19は、図4のデータ書き込み部400の実施形態による構成図である。図19を参照すると、データ書き込み部400は、電流調節部410と、電流駆動部420と、選択部430とで構成される。電流調節部410は、書き込みイネーブル信号WDENが活性化された時、第1書き込み制御コードSETP<N:0>及び第2書き込み制御コードRESETPのコード組み合わせによって制御ノードN1の電圧レベルを調節する。この時、第1書き込み制御コードSETP<N:0>の制御を受ける複数のNMOSトランジスタMN1~MN6は、第1書き込み制御コードSETP<N:0>のコード組み合わせによって選択的にターンオンされて、制御ノードN1の電圧レベルを調節する。また、第2書き込み制御コードRESETPの制御を受けるNMOSトランジスタMN7は、第2書き込み制御コードRESETPが活性化された時、ターンオンされて制御ノードN1の電圧レベルを調節するようになる。この時、第1書き込み制御コードSETP<N:0>は周期的にアップデートされる信号であり、第2書き込み制御コードRESETPはパルス形態に入力される信号である。電流駆動部420は、制御ノードN1の電圧レベルに対応する大きさを有するプログラミング電流パルスI_PGMを出力端N2に駆動する。この時、プログラミング電流パルスI_PGMは、第1書き込み制御コードSETP<N:0>に対応する第1プログラミング電流パルスと第2書き込み制御コードRESETPに対応する第2プログラミング電流パルスとで区分することができる。選択部430は、電流駆動部420から駆動されるプログラミング電流パルスI_PGMを複数の選択信号YSW<0:3>に対応する該当ビットラインBL0~BL3に出力する。図20は、図19のデータ書き込み部400から出力されるプログラミング電流パルスを表した図である。図20を参照すると、第2プログラミング電流パルスは、短い時間の間、溶融化温度より高い形態で駆動され、第1プログラミング電流パルスは、初期第1パルス区間t1の間、溶融化温度に近接するように駆動されるが、第2パルス区間t2の間、漸進的に小さくなる。一方、第1プログラミング電流パルスの第2パルス区間t2は、第1書き込み制御コードSETP<N:0>のアップデート周期が長くなるほど延びる。したがって、第2パルス区間t2が延びるほどメモリセルに供給されるプログラミング電流パルスが徐々に減少する時間が長くなるので、相変化メモリセルの結晶化になる抵抗値がその分長くなる時間に対応して小さくなる。なお、図面で第2プログラミング電流パルスは、非晶質化パルスで図示されており、第1プログラミング電流パルスは、結晶化パルスで図示されている。図21は、本発明の実施形態に係る半導体メモリ装置の内部動作を表したタイミングダイアグラムである。図21のタイミングダイアグラムを参照して、本発明の実施形態に係る半導体メモリ装置の主要内部動作を説明すると次の通りである。最大5回のプログラミング区間が進行されることができ、各区間が進行されるごとにメモリセルにデータが正確にプログラミングされたのかを検証して、その検証結果によってプログラミング動作を終了するのかまたは二つ目のプログラミング区間を進行するのかが決定される。本発明の実施形態では、第1書き込み制御コードSETP<N:0>は、5個の区間の間、各区間ごとに異なる周期でアップデートされる。すなわち、第1書き込み制御コードSETP<N:0>のアップデート周期は、カウンティングクロック信号QSCKのトグリング周期に対応して調節される。本発明の実施形態では、各区間が進行されるほどカウンティングクロック信号QSCKのトグリング周期が長くなるので、第1書き込み制御コードSETP<N:0>のアップデート周期も各区間が進行されるほどますます増加する。結果的に、各区間が進行されるほど第1書き込み制御コードSETP<N:0>のコード値に対応する大きさを有する第1プログラミング電流パルスの減少時間は増加する。タイミングダイアグラムで最初ケース1の場合は、三つ目の区間でメモリセルにデータが正確にプログラミングされたので、プログラミング検証フラグ信号PNVFLAGがローレベルになり、これ以上のプログラミング区間が進行にならない場合を表した。また、二つ目ケース2の場合は、五つ目のプログラミング区間まで進行されたがメモリセルにデータが正確にプログラミングがされなかったので、プログラミング検証フラグ信号PNVFLAGが引続きハイレベルを維持してフェイル信号FAILがハイレベルで活性化される場合を表した。すなわち、二つ目ケース2の場合は、総5回のプログラミング区間を通して5回のプログラミング動作を進行したが、最終的にメモリセルにデータが正確にプログラミング出来ない場合を表した。前述した通り、本発明の実施形態に係る半導体メモリ装置は、メモリ部にプログラミング電流パルスが供給される形態を調節することができる。すなわち、複数の区間の間、各区間ことに互いに異なる供給時間を有するプログラミング電流パルスを駆動して、互いに異なるプログラミング特性を有する複数のメモリセルを安定的にプログラミングすることができる。複数の区間の数は全てのメモリセルを安定的に、かつ、より早くプログラミングできる値で設定することが好ましい。以上、本発明の実施形態によって具体的な説明をした。なお、本発明の技術的思想とは直接関連がない部分だが、本発明をより詳細に説明するために追加的な構成を備えた実施形態を例示することができる。また、信号及び回路の活性化状態を表すためのアクティブハイActiveHighまたは、アクティブローActiveLowの構成は実施形態によって変わることができる。また、同じ機能を具現するために必要によってトランジスタの構成は変更できる。すなわち、PMOSトランジスタとNMOSトランジスタとの構成は互いに代替できることであり、必要によって多様なトランジスタを用いて具現されることができる。また、同じ機能を具現するために必要によりロジックゲートLOGICGATEの構成は変更できる。すなわち不正論理積手段、不正論理合手段などはナンドゲートNANDGATE、ノアゲートNORGATE、インバータINVERTERなどの多様な組合を通して構成されることができる。このような実施の変更による具体的な説明は非常に場合の数が多く、これに対する変更は通常の専門家ならば誰でも容易に類推できるのでそれに対する列挙は省略する。このように、本発明の属する技術分野の当業者は、本発明がその技術的思想や必須的特徴を変更せずに、他の具体的な形態で実施され得るということが理解できるであろう。したがって、以上で記述した実施形態は、あらゆる面で例示的なものであり、限定的なものではないものと理解しなければならない。本発明の範囲は、上記の詳細な説明よりは、後述する特許請求の範囲によって表われ、特許請求の範囲の意味及び範囲、そして、その等価概念から導き出されるあらゆる変更または変形された形態が本発明の範囲に含まれるものと解釈されるべきである。