プログラミング検証フラッグ信号及びプログラミングイネーブル信号に応答して複数の区間の間、各区間ごとに互いに異なる周期でアップデートされる第1書き込み制御コードを生成することにあって、反復回数設定コードのコード値によって前記複数の区間の区間数を決定し、初期設定コードのコード値によって前記複数の区間のうち、最初の区間の前記第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書き込み制御コードのアップデート周期を決定する第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書き込み制御コードのアップデートを活性化させて、反復回数設定コードのコード値によって前記複数の区間の区間数を決定し、初期設定コードのコード値によって前記複数の区間のうち、最初の区間の前記第1書き込み制御コードのアップデート周期を決定する第1書き込み制御コード発生部と、前記プログラミングイネーブル信号に応答して予定された時間の間活性化される第2書き込み制御コードを生成する第2書き込み制御コード発生部と、アップデートされる前記第1書き込み制御コードのコード組合に対応する大きさを有する第1プログラミング電流パルスを出力したり、前記第2書き込み制御コードに対応する大きさを有する第2プログラミング電流パルスを出力するデータ書き込み部と、を含む半導体メモリ装置が提供されている。また、本発明のもう一つの実施形態によると、予定された時間以後に活性化される区間制御信号及びリセットパルス信号に応答してカウントイネーブル信号及びクロックイネーブル信号を出力する入力ラッチ部と、プログラミング検証フラッグ信号及び前記リセットパルス信号に応答してコード値がアップデートされる周期設定コード及び反復終了信号を出力することにあって、初期設定コードのコード値によって前記周期設定コードの最初のコード値を決定して、反復回数設定コードのコード値によって前記周期設定コードのアップデート回数を決定するクロック発生制御部と、前記クロックイネーブル信号及び前記反復終了信号に応答してカウンティングクロック信号を生成することにあって、前記周期設定コードのコード値によって前記カウンティングクロック信号のトグリング周期を調節するカウンティングクロック発生部と、プログラミングイネーブル信号、前記カウントイネーブル信号及び前記カウンティングクロック信号の制御によってカウンティングされるカウンティングコードを生成して書き込み制御コードとして出力する書き込み制御コードカウンター部と、前記カウンティングコードが所定の値に到達すると前記リセットパルス信号を生成するリセットパルス発生部と、アップデートされる前記書き込み制御コードのコード組合に対応する大きさを有するプログラミング電流パルスを出力するデータ書き込み部と、を含む半導体メモリ装置が提供されている。詳述した通り、本発明の実施形態による半導体メモリ装置は、初期設定コードPNVINT<0:2>及び反復回数設定コードPNVVAL<0:2>のコード値を調節して、プログラミング電流パルスが供給される区間の数とプログラミング電流パルスが供給される時間とを調節することができる。また、メモリ部にプログラミング電流パルスが供給される形態を調節することができる。すなわち、初期設定コードPNVINT<0:2>及び反復回数設定コードPNVVAL<0: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書き込み制御コード発生部200は、反復回数設定コードPNVVAL<0:2>のコード値によって複数の区間の区間数を決定して、初期設定コードPNVINT<0:2>のコード値によって複数の区間のうち、最初の区間の第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の区間制御信号発生部の実施形態による構成図及びその内部動作を示すタイミングダイヤグラムである。図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の区間制御信号発生部での入力ラッチ部の構成図及びその内部動作を示すタイミングダイヤグラムである。図6を参照すると、入力ラッチ部110は、複数のナンドゲートNAND1、NAND2で構成されるRSラッチで構成される。タイミングダイヤグラム110_0を参照すると、入力ラッチ部110は、プログラミングイネーブル信号DPGMPがハイレベルでパルシングするとカウントイネーブル信号ENがハイレベルで活性化され、リセットパルス信号RSTPがハイレベルでパルシングするとリセット信号RSTがハイレベルで活性化される。図7は、図5の区間制御信号発生部でのクロック発生部の構成図及びその内部動作を示すタイミングダイヤグラムである。図7を参照すると、クロック発生部120は、ナンドゲートNAND1及び複数のインバータINV1~INV5を含むリングオシレータで構成される。タイミングダイヤグラム120_0を参照すると、クロック発生部120は、カウントイネーブル信号ENがハイレベルで活性化されている間トグリングするクロック信号CKを出力する。図8は、図5の区間制御信号発生部での比較部の構成図である。図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の区間制御信号発生部でのリセットパルス発生部の構成図及びその内部動作を示すタイミングダイヤグラムである。図9を参照すると、リセットパルス発生部150は、区間制御信号QSSETPを遅延させる第1遅延部151と、第1遅延部151から出力される信号を遅延させてリセットパルス信号RSTPを出力する第2遅延部152とで構成される。第1遅延部151及び第2遅延部152は、抵抗R及びMOSキャパシタCP、CNで構成されてRC時定数によって遅延値が決定される。図10は、図5の区間制御信号発生部でのカウンター部の構成図及びその内部動作を示すタイミングダイヤグラムである。図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書き込み制御コード発生部の実施形態による構成図である。図11を参照すると、第1書き込み制御コード発生部200は、入力ラッチ部210と、カウンティングクロック発生部220と、書き込み制御コードカウンター部230と、リセットパルス発生部240と、遅延部250と、クロック発生制御部260とを有する。上記のように構成される第1書き込み制御コード発生部200の主要動作及び細部構成に対して詳細に説明する。入力ラッチ部210は、区間制御信号QSSETP及びリセットパルス信号QSRSTPに応答してカウントイネーブル信号ENB及びクロックイネーブル信号CKENを出力する。クロック発生制御部260は、プログラミング検証フラッグ信号PNVFLAG及びリセットパルス信号QSRSTPに応答して、コード値がアップデートされる周期設定コードPNVCNT<0:2>及び反復終了信号PNVMAXPを出力する。この時、クロック発生制御部260は、初期設定コードPNVINT<0:2>のコード値によって周期設定コードPNVCNT<0:2>の最初のコード値を決定し、反復回数設定コードPNVVAL<0:2>のコード値によって周期設定コードPNVCNT<0:2>のアップデートの回数を決定する。また、クロック発生制御部260は、反復回数設定コードPNVVAL<0:2>のコード値に対応する回数分程度だけ周期設定コード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のクロック発生制御部の実施形態による構成図である。図12を参照すると、クロック発生制御部260は、周期設定コードカウンター部261と、加算部262と、比較部263と、フェール信号出力部264とで構成される。上記のように構成されるクロック発生制御部260の細部構成と主要内部動作を説明すると次の通りである。周期設定コードカウンター部261は、初期設定コードPNVINT<0:2>のコード値を最初のカウンティングコード値として受信し、プログラミング検証フラッグ信号PNVFLAG及びリセットパルス信号QSRSTPの制御によってカウンティング動作を遂行する。加算部262は、反復回数設定コードPNVVAL<0:2>及び初期設定コードPNVINT<0:2>のコード値を合算して、合算コードSUM<0:3>として出力する。比較部263は、合算コードSUM<0:3>と、周期設定コードカウンター部261から出力されるカウンティングコードとを比較して、その比較結果によって反復終了信号PNVMAXPを活性化させる。すなわち、比較部263は、合算コードSUM<0:3>とカウンティングコードとが同一になる時、反復終了信号PNVMAXPを活性化させて出力する。フェール信号出力部264は、プログラミング検証フラッグ信号PNVFLAG及びプログラミング確認信号PNVRDPに応答して、選択的に活性化されるフェール信号FAILを出力する。プログラミング検証フラッグ信号PNVFLAGは、データが正確にプログラミングされたのかどうかの可否を指示する信号であり、データがメモリセルに正確にプログラミングされる前までハイレベルを維持するが、データがメモリセルに正確にプログラミングできた以後にはローレベルになる信号である。したがって、メモリセルにプログラミングが正確に行われたのかどうかを確認する信号であるプログラミング確認信号PNVRDPが活性化された時、プログラミング検証フラッグ信号PNVFLAGがハイレベルを維持していると、反復終了信号PNVMAXPを考慮してフェール信号FAILはハイレベルで活性化される。フェール信号出力部264は、プログラミング検証フラッグ信号PNVFLAG及びプログラミング確認信号PNVRDPを論理組合するロジック部またはプログラミング検証フラッグ信号PNVFLAG及びプログラミング確認信号PNVRDPを入力とするフリップフロップで構成されることができる。図13は、図12のクロック発生制御部での周期設定コードカウンター部の実施形態による構成図である。図13は、周期設定コードカウンター部261を構成する複数のプリセットPreset1ビットカウンターのうち、最下位プリセット1ビットカウンターを代表として図示したものである。本発明の実施形態で、それぞれのプリセット1ビットカウンターはアップカウンティング動作及びラッチ動作を遂行するように構成される。図13及び図12を同時に参照すると、周期設定コードカウンター部261を構成する最下位プリセット1ビットカウンターは、信号入力部261_1と、ラッチ部261_2とで構成される。信号入力部261_1は、カウント入力信号CNTINとして入力されるプログラミング検証フラッグ信号PNVFLAG及び内部クロック信号CKとして入力されるリセットパルス信号QSRSTPに応答してラッチ部261_2の入力ノードAの信号レベルを決定する。ラッチ部261_2は、内部クロック信号CKの制御によって信号入力部261_1から出力される信号をラッチングし、カウンティングコードQ及びキャリー信号Cを出力する。この時、キャリー信号Cは、二つ目のプリセット1ビットカウンターのカウント入力信号CNTINとして利用される。一方、ラッチ部261_2は、内部クロック信号CK及びリセット信号RSTに応答して内部ノードが初期化されたり、特定レベルで変化されたりする。また、ラッチ部261_2は、入力信号Dとして入力される初期設定コードPNVINT<0:2>の最下位ビットPNVINT<0>の値を内部クロック信号CK及びリセット信号RSTの制御によって保存する。図14は、図12のクロック発生制御部での加算部の実施形態による構成図である。図14は、加算部262を構成する複数の1ビット全加算器FullAdderのうち、最下位1ビット全加算器を代表として図示したものである。図14を参照すると、加算部262を構成する最下位1ビット全加算器は、初期設定コードPNVINT<0:2>の最下位ビットPNVINT<0>と反復回数設定コードPNVVAL<0:2>の最下位ビットPNVVAL<0>とを合算する動作を遂行して、その結果として合算信号SUM及びキャリー信号CARRYOUTを出力する。図15は、図12のクロック発生制御部での比較部の実施形態による構成図である。図15及び図12を同時に参照すると、比較部263は、周期設定コードカウンター部261から出力されるカウンティングコードの各ビット信号と合算コードSUM<0:3>の各ビット信号とを比較する複数の比較器263_1、263_2、および263_3と、複数の比較器263_1、263_2、および263_3から出力される比較結果信号を組み合わせて反復終了信号PNVMAXPとして出力する信号組合部263_4とで構成される。以下、カウンティングクロック発生部220の細部構成に対してさらに詳しく説明する。図16は、図11のカウンティングクロック発生部の実施形態による構成図である。図16を参照すると、カウンティングクロック発生部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として出力する。図17は、図16のカウンティングクロック発生部での出力クロック発生部の実施形態による構成図である。図17及び図16を同時に参照すると、出力クロック発生部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は、設計方式によって選択的に備え得る要素である。図18は、図11の第1書き込み制御コード発生部での入力ラッチ部の構成図及びその内部動作を示すタイミングダイヤグラムである。図18を参照すると、入力ラッチ部210は、複数のナンドゲートNAND1、およびNAND2で構成されるRSラッチで構成される。タイミングダイヤグラム210_0を参照すると、入力ラッチ部210は、区間制御信号QSSETP及びリセットパルス信号QSRSTPに応答してカウントイネーブル信号ENB及びクロックイネーブル信号CKENを出力する。すなわち、区間制御信号QSSETPがハイレベルでパルシングするとカウントイネーブル信号ENBはローレベルで活性化され、クロックイネーブル信号CKENはハイレベルで活性化される。図19は、図11の第1書き込み制御コード発生部でのリセットパルス発生部及びその内部動作を示すタイミングダイヤグラムである。リセットパルス発生部240は、カウンティングコードが所定の値に到達するとリセットパルス信号QSRSTPを生成する。図19及び図11を同時に参照すると、リセットパルス発生部240は、最上位1ビットカウンター236から出力される信号ENB6を受信する検出用1ビットカウンター237で出力される信号QSENDがハイレベルで活性化されると、これを用いてハイレベルでパルシングするリセットパルス信号QSRSTPを生成する。すなわち、リセットパルス発生部240は、検出用1ビットカウンター237から出力される信号QSENDを遅延部で遅延させた信号Aと、反転信号Bとを論理組合してハイレベルでパルシングする信号を生成する。図20は、図11の第1書き込み制御コード発生部での書き込み制御コードカウンター部の構成図及びその内部動作を示すタイミングダイヤグラムである。図20及び図11を同時に参照すると、書き込み制御コードカウンター部230は、プログラミングイネーブル信号DPGMP、カウントイネーブル信号ENB及びカウンティングクロック信号QSCKの制御によってカウンティングされるカウンティングコードを生成して第1書き込み制御コードSETP<N:0>として出力する。すなわち、書き込み制御コードカウンター部230は、カウントイネーブル信号ENBがローレベルで活性化された時、カウンティングクロック信号QSCKの制御によってカウンティング動作を遂行する。書き込み制御コードカウンター部230は、複数の1ビットカウンター231~237で構成されて、ダウンカウンティング動作を遂行する。したがって、カウンティングクロック信号QSCKのトグリング周期によってダウンカウンティング速度が調節されるので、結論的にカウンティングクロック信号QSCKのトグリング周期によって第1書き込み制御コードSETP<N:0>のアップデート周期が調節される。図20は、書き込み制御コードカウンター部230を構成する複数の1ビットカウンター231~237のうち、最下位1ビットカウンター231を代表として図示したものである。図20を参照すると、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に応答して内部ノードが初期化されたり、特定レベルで変化されたりする。図21は、図4のデータ書き込み部の実施形態による構成図である。図21を参照すると、データ書き込み部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に出力する。図22は、図21のデータ書き込み部から出力されるプログラミング電流パルスを示す図面である。図22を参照すると、第2プログラミング電流パルスは、短い時間の間、溶融化温度より高い形態で駆動され、第1プログラミング電流パルスは、初期第1パルス区間t1の間、溶融化温度に近接するように駆動されるが、第2パルス区間t2の間、漸進的に小さくなるようになる。一方、第1プログラミング電流パルスの第2パルス区間t2は、第1書き込み制御コードSETP<N:0>のアップデート周期が長くなるほど延びるようになる。したがって第2パルス区間t2が延びるほど、メモリセルに供給されるプログラミング電流パルスが徐々に減少するようになる時間が長くなるので、相変化メモリセルの結晶化になる抵抗値がその分長くなる時間に対応して小さくなる。参考として、図面において、第2プログラミング電流パルスは非晶質化パルスとして図示され、第1プログラミング電流パルスは結晶化パルスとして図示されている。図23は、本発明の実施形態による半導体メモリ装置の内部動作を示す第1タイミングダイヤグラムである。図23のタイミングダイヤグラムを参照して、本発明の実施形態による半導体メモリ装置の主要内部動作を説明すると次の通りである。第1タイミングダイヤグラムは、初期設定コードPNVINT<0:2>が0x0hで設定され、反復回数設定コードPNVVAL<0:2>が0x5hで設定された場合の内部動作を示すものである。すなわち、最大5回のプログラミング区間が進行されることができ、各区間が進行されるごとにメモリセルにデータが正確にプログラミングされたのかどうかを検証し、その検証結果によってプログラミング動作を終了するのか、または二つ目のプログラミング区間を進行するのかが決定される。本発明の実施形態による第1書き込み制御コードSETP<N:0>は、5個の区間の間、各区間ごとに異なる周期でアップデートされる。すなわち、第1書き込み制御コードSETP<N:0>のアップデート周期は、カウンティングクロック信号QSCKのトグリング周期に対応して調節される。本発明の実施形態では、各区間が進行されるほどカウンティングクロック信号QSCKのトグリング周期が長くなるので、第1書き込み制御コードSETP<N:0>のアップデート周期も各区間が進行されるほどますます増加するようになる。結論的に、各区間が進行されるほど第1書き込み制御コードSETP<N:0>のコード値に対応する大きさを有する第1プログラミング電流パルスの減少時間は増加する。第1タイミングダイヤグラムにおいて、最初の場合Case1は、三つ目の区間でメモリセルにデータが正確にプログラミングされたので、プログラミング検証フラッグ信号PNVFLAGがローレベルになり、これ以上のプログラミング区間が進行にならない場合を示している。また、二つ目の場合Case2は、五つ目のプログラミング区間まで進行されたが、メモリセルにデータが正確にプログラミングされなかったので、プログラミング検証フラッグ信号PNVFLAGが引続きハイレベルを維持し、フェール信号FAILがハイレベルで活性化される場合を示している。すなわち、二つ目の場合は、総5回のプログラミング区間を通して5回のプログラミング動作を進行したが、最終的にメモリセルにデータが正確にプログラミング出来ない場合を示している。図24は、本発明の実施形態による半導体メモリ装置の内部動作を示す第2タイミングダイヤグラムである。図24のタイミングダイヤグラムを参照して、本発明の実施形態による半導体メモリ装置の主要内部動作を説明すると次の通りである。第1タイミングダイヤグラムは、初期設定コードPNVINT<0:2>が0x2hで設定され、反復回数設定コードPNVVAL<0:2>が0x4hで設定された場合の内部動作を示すものである。すなわち、最大4回のプログラミング区間が進行されることができ、各区間が進行されるごとにメモリセルにデータが正確にプログラミングされたのかを検証し、その検証結果によってプログラミング動作を終了するのか、または二つ目のプログラミング区間を進行するのかが決定される。本発明の実施形態による第1書き込み制御コードSETP<N:0>は、4個の区間の間、各区間ごとに異なる周期でアップデートされる。すなわち、第1書き込み制御コードSETP<N:0>のアップデート周期は、カウンティングクロック信号QSCKのトグリング周期に対応して調節される。この時、初期設定コードPNVINT<0:2>が0x2hで設定されたので、図23の第1タイミングダイヤグラムと比較した時、最初の区間の第1書き込み制御コードSETP<N:0>のアップデート周期が相対的にさらに増加したことを確認できる。本発明の実施形態では、各区間が進行されるほどカウンティングクロック信号QSCKのトグリング周期が長くなるので、第1書き込み制御コードSETP<N:0>のアップデート周期も各区間が進行されるほどますます増加するようになる。結論的に、各区間が進行されるほど第1書き込み制御コードSETP<N:0>のコード値に対応する大きさを有する第1プログラミング電流パルスの減少時間は増加する。第2タイミングダイヤグラムにおいて、最初の場合Case1は、二つ目の区間でメモリセルにデータが正確にプログラミングされたので、プログラミング検証フラッグ信号PNVFLAGがローレベルになり、これ以上のプログラミング区間が進行にならない場合を示している。また、二つ目の場合Case2は、四番目のプログラミング区間まで進行されたが、メモリセルにデータが正確にプログラミングがされなかったので、プログラミング検証フラッグ信号PNVFLAGが引続きハイレベルを維持してフェール信号FAILがハイレベルで活性化される場合を示している。すなわち、二つ目の場合は、総4回のプログラミング区間を通して4回のプログラミング動作を進行したが、最終的にメモリセルにデータが正確にプログラミング出来ない場合を示している。詳述した通り、本発明の実施形態による半導体メモリ装置は、初期設定コードPNVINT<0:2>及び反復回数設定コードPNVVAL<0:2>のコード値を調節して、プログラミング電流パルスが供給される区間の数とプログラミング電流パルスが供給される時間とを調節することができる。また、メモリ部にプログラミング電流パルスが供給される形態を調節することができる。すなわち、初期設定コードPNVINT<0:2>及び反復回数設定コードPNVVAL<0:2>のコード値を適切に設定して互いに異なるプログラミング特性を有する複数のメモリセルを安定的にプログラミングすることができる。参考として、初期設定コードPNVINT<0:2>及び反復回数設定コードPNVVAL<0:2>のコード値は、あらゆるメモリセルを安定して、そして最も早くプログラミングできる値で設定することが望ましい。また、複数のメモリセルをグループ別に区分して、各グループ別に独立的な初期設定コードPNVINT<0:2>及び反復回数設定コードPNVVAL<0:2>を設定できるように構成することができる。以上、本発明の実施形態によって具体的な説明をしてきた。参考として、本発明の技術的思想とは直接関連がない部分だが、本発明をより詳細に説明するために追加的な構成を含んだ実施形態を例示することができる。また、信号及び回路の活性化状態を示すためのアクティブハイActiveHighまたは、アクティブローActiveLowの構成は、実施形態によって変え得る。また、同じ機能を具現化するために、必要に応じてトランジスタの構成は変更可能である。すなわち、PMOSトランジスタとNMOSトランジスタとの構成は、互いに代替でき、必要に応じて多様なトランジスタを用いて具現化され得る。また、同じ機能を具現化するために、必要に応じてロジックゲートLOGICGATEの構成は変更可能である。すなわち、不正論理積手段、不正論理合手段などはナンドゲートNANDGATE、ノアゲートNORGATE、インバータINVERTERなどの多様な組合せを通して構成されることができる。このような実施の変更による具体的な説明は、非常に場合の数が多く、これに対する変更は通常の専門家ならば誰でも容易に類推できるので、それに対する列挙は省略する。このように、本発明の属する技術分野の当業者は、本発明がその技術的思想や必須的特徴を変更せずに、他の具体的な形態で実施され得るということが理解できる。したがって、以上で記述した実施形態は、あらゆる面において例示的なものであり、限定的なものではないものと理解しなければならない。本発明の範囲は、上記の詳細な説明よりは、後述する特許請求の範囲によって示され、特許請求の範囲の意味及び範囲、そして、その等価概念から導き出されるあらゆる変更または変形された形態が本発明の範囲に含まれるものと解釈されるべきである。