プログラミングイネーブル信号に応答して、第1設定時間の以後に活性化される区間制御信号を生成する区間制御信号発生部と、前記プログラミングイネーブル信号に応答して、第2設定時間の間、カウンティングコードに対応して周期的にアップデートされる第1書き込み制御コードを生成するとともに、前記区間制御信号に応答して前記第1書き込み制御コードのアップデートを活性化させる第1書き込み制御コード発生部と、前記プログラミングイネーブル信号に応答して、予定された時間の間、活性化される第2書き込み制御コードを生成する第2書き込み制御コード発生部と、アップデートされる前記第1書き込み制御コードのコード組み合わせに対応する大きさを有する第1プログラミング電流パルスを出力したり、前記第2書き込み制御コードに対応する大きさを有する第2プログラミング電流パルスを出力するデータ書き込み部と、を含む半導体メモリ装置。前記第1書き込み制御コードは、前記第2書き込み制御コードの活性化時間よりさらに長い時間の間、周期的にアップデートされることを特徴とする請求項1に記載の半導体メモリ装置。前記第1プログラミング電流パルスは、初期第1パルス区間の間所定の電流値を維持して、前記第1パルス区間の以後の第2パルス区間の間、前記所定の電流値より漸進的に小さくなることを特徴とする請求項1に記載の半導体メモリ装置。前記第1書き込み制御コード発生部は、前記区間制御信号及びリセットパルス信号に応答して、カウントイネーブル信号及びクロックイネーブル信号を出力する入力ラッチ部と、前記クロックイネーブル信号に応答して、クロック信号を生成するクロック発生部と、前記プログラミングイネーブル信号、前記カウントイネーブル信号及び前記クロック信号の制御によってカウンティングされる前記カウンティングコードを生成して、前記第1書き込み制御コードとして出力するカウンタ部と、前記カウンティングコードが所定の値に到達すると前記リセットパルス信号を生成するリセットパルス発生部を含むことを特徴とする請求項1に記載の半導体メモリ装置。前記データ書き込み部は、書き込みイネーブル信号に応答して、前記第1書き込み制御コード及び前記第2書き込み制御コードのコード組み合わせによって制御ノードの電圧レベルを調節する電流調節部と、前記制御ノードの電圧レベルに対応する大きさを有する前記第1プログラミング電流パルスまたは前記第2プログラミング電流パルスを出力端で駆動する電流駆動部と、を含むことを特徴とする請求項1に記載の半導体メモリ装置。前記データ書き込み部は、前記電流駆動部で駆動されるプログラミング電流パルスを複数の選択信号に対応する該当ビットラインで出力する選択部をさらに含むことを特徴とする請求項5に記載の半導体メモリ装置。プログラミングイネーブル信号に応答して、第1設定時間の以後に活性化される区間制御信号を生成する区間制御信号発生部と、周期調節信号を出力する周期調節信号出力部と、前記プログラミングイネーブル信号に応答して、第2設定時間の間、周期的にアップデートされる第1書き込み制御コードを生成するとともに、前記区間制御信号に応答して前記第1書き込み制御コードのアップデートを活性化させて、前記周期調節信号の制御によって前記第1書き込み制御コードのアップデート周期を調節する第1書き込み制御コード発生部と、前記プログラミングイネーブル信号に応答して、予定された時間の間、活性化される第2書き込み制御コードを生成する第2書き込み制御コード発生部と、アップデートされる前記第1書き込み制御コードのコード組み合わせに対応する大きさを有する第1プログラミング電流パルスを出力したり、前記第2書き込み制御コードに対応する大きさを有する第2プログラミング電流パルスを出力するデータ書き込み部を含む半導体メモリ装置。前記第1書き込み制御コードは、前記第2書き込み制御コードの活性化時間よりさらに長い時間の間、周期的にアップデートされることを特徴とする請求項7に記載の半導体メモリ装置。前記第1プログラミング電流パルスは、初期第1パルス区間の間所定の電流値を維持して、前記第1パルス区間の以後の第2パルス区間の間前記所定の電流値より漸進的に小さくなることを特徴とする請求項7に記載の半導体メモリ装置。前記第1書き込み制御コード発生部は、前記区間制御信号及びリセットパルス信号に応答して、カウントイネーブル信号及びクロックイネーブル信号を出力する入力ラッチ部と、前記クロックイネーブル信号及び前記周期調節信号に応答して、トグルリング周期が調節されるクロック信号を生成するクロック発生部と、前記プログラミングイネーブル信号、前記カウントイネーブル信号及び前記クロック信号の制御によってカウンティングされるカウンティングコードを生成して、前記第1書き込み制御コードとして出力するカウンタ部と、前記カウンティングコードが、所定の値に到達すると前記リセットパルス信号を生成するリセットパルス発生部を含むことを特徴とする請求項7に記載の半導体メモリ装置。前記データ書き込み部は、書き込みイネーブル信号に応答して、前記第1書き込み制御コード及び前記第2書き込み制御コードのコード組み合わせによって制御ノードの電圧レベルを調節する電流調節部と、前記制御ノードの電圧レベルに対応する大きさを有する前記第1プログラミング電流パルスまたは前記第2プログラミング電流パルスを出力端で駆動する電流駆動部を含むことを特徴とする請求項7に記載の半導体メモリ装置。前記データ書き込み部は、前記電流駆動部で駆動されるプログラミング電流パルスを複数の選択信号に対応する該当ビットラインで出力する選択部をさらに含むことを特徴とする請求項11に記載の半導体メモリ装置。プログラミング電流パルスによるジュール熱を通してメモリセルにデータをプログラミングする半導体メモリ装置のプログラミング電流パルス生成方法において、予定された時間の間、周期的でアップデートされる第1書き込み制御コードを生成する段階と、前記第1書き込み制御コードのコード組合に対応する大きさを有する第1プログラミング電流パルスを出力する段階と、を含み、前記第1プログラミング電流パルスは、初期第1パルス区間の間メモリセルを溶融化温度より低く、結晶化温度より高い温度に上昇させて、前記第1パルス区間の以後の第2パルス区間の間前記メモリセルを前記結晶化温度より低い温度まで漸進的に下降させることを特徴とする半導体メモリ装置のプログラミング電流パルス生成方法。前記第1プログラミング電流パルスの前記第2パルス区間は、前記第1パルス区間より長いことを特徴とする請求項13に記載の半導体メモリ装置のプログラミング電流パルス生成方法。予定された時間の間活性化される第2書き込み制御コードを生成する段階と、前記第2書き込み制御コードに応答して、前記メモリセルを前記溶融化温度より高い温度に上昇させる第2プログラミング電流パルスを出力する段階をさらに含むことを特徴とする請求項13に記載の半導体メモリ装置のプログラミング電流パルス生成方法。前記第1プログラミング電流パルスは、前記第2プログラミング電流パルスよりさらに長い時間の間出力されることを特徴とする請求項15に記載の半導体メモリ装置のプログラミング電流パルス生成方法。周期調節信号によって前記第1書き込み制御コードのアップデート周期を調節する段階をさらに含むことを特徴とする請求項13に記載の半導体メモリ装置のプログラミング電流パルス生成方法。本発明は、プログラミング時間を短縮させることができる半導体メモリ装置及びプログラミング電流パルス生成方法を提供する。また、本発明は、プログラミング電流パルスの供給時間及び大きさを調節することができる半導体メモリ装置及びプログラミング電流パルス生成方法を提供する。また、本発明は、プログラミング電流パルスを漸進的に減少させることができる半導体メモリ装置及びプログラミング電流パルス生成方法を提供する。本発明の一実施形態によると、プログラミングイネーブル信号に応答して、第1設定時間の以後に活性化される区間制御信号を生成する区間制御信号発生部と、前記プログラミングイネーブル信号に応答して、第2設定時間の間、カウンティングコードに対応して周期的にアップデートされる第1書き込み制御コードを生成するとともに、前記区間制御信号に応答して前記第1書き込み制御コードのアップデートを活性化させる第1書き込み制御コード発生部と、前記プログラミングイネーブル信号に応答して予定された時間の間、活性化される第2書き込み制御コードを生成する第2書き込み制御コード発生部と、アップデートされる前記第1書き込み制御コードのコード組合に対応する大きさを有する第1プログラミング電流パルスを出力したり、前記第2書き込み制御コードに対応する大きさを有する第2プログラミング電流パルスを出力するデータ書き込み部を含む半導体メモリ装置が提供される。また、本発明の他の実施形態によると、プログラミングイネーブル信号に応答して、第1設定時間の以後に活性化される区間制御信号を生成する区間制御信号発生部と、周期調節信号を出力する周期調節信号出力部と、前記プログラミングイネーブル信号に応答して第2設定時間の間、周期的にアップデートされる第1書き込み制御コードを生成するとともに、前記区間制御信号に応答して前記第1書き込み制御コードのアップデートを活性化させて、前記周期調節信号の制御によって前記第1書き込み制御コードのアップデート周期を調節する第1書き込み制御コード発生部と、前記プログラミングイネーブル信号に応答して予定された時間の間、活性化される第2書き込み制御コードを生成する第2書き込み制御コード発生部と、アップデートされる前記第1書き込み制御コードのコード組合に対応する大きさを有する第1プログラミング電流パルスを出力したり、前記第2書き込み制御コードに対応する大きさを有する第2プログラミング電流パルスを出力するデータ書き込み部を含む半導体メモリ装置が提供される。また、本発明の他の実施形態によると、プログラミング電流パルスによるジュール熱を通して、メモリセルにデータをプログラミングする半導体メモリ装置のプログラミング電流パルス生成方法において、予定された時間の間、周期的でアップデートされる第1書き込み制御コードを生成する段階と、前記第1書き込み制御コードのコード組み合に対応する大きさを有する第1プログラミング電流パルスを出力する段階を含んで、前記第1プログラミング電流パルスは、初期第1パルス区間の間メモリセルを溶融化温度より低く、結晶化温度より高い温度で上昇させて、前記第1パルス区間の以後の第2パルス区間の間前記メモリセルを前記結晶化温度より低い温度まで漸進的に下降させることを特徴とする半導体メモリ装置のプログラミング電流パルス生成方法が提供される。本発明の実施形態に係る半導体メモリ装置及びプログラミング電流パルス生成方法によれば、プログラミング時間を短縮させることができて、プログラミング電流パルスの供給時間及び大きさを調節することができる。また、プログラミング電流パルスの第2パルス区間の電流が減少する傾きを調節することによって、プログラミング動作をより正確に遂行することができる。以下、本発明が属する技術分野で通常の知識を有する者が本発明の技術的思想を容易に実施できる程度で詳細に説明するために、本発明の実施形態を貼付した図面を参照して説明する。なお、図面及び詳細な説明で素子、ブロックなどを指し示す時使用する用語、記号、符号などは必要によって細部単位別に表記することもできるので、同じ用語、記号、符号が全体の回路で同じ素子などを指し示せないこともあることに留意する。図4は本発明の一実施形態に係る半導体メモリ装置の構成図である。本発明の一実施形態に係る半導体メモリ装置は、提案しようとする技術的な思想を明確に説明するための簡略な構成のみを含んでいる。図4を参照すると、半導体メモリ装置は、区間制御信号発生部100と、第1書き込み制御コード発生部200と、第2書き込み制御コード発生部300と、データ書き込み部400とを含んでいる。このように構成された半導体メモリ装置の主要動作を注意してみると次の通りである。区間制御信号発生部100は、プログラミングイネーブル信号DPGMPに応答して、第1設定時間の以後に活性化される区間制御信号QSSETPを生成する。すなわち、区間制御信号QSSETPは、プログラミングイネーブル信号DPGMPの活性化時点で第1設定時間の以後に活性化される。第1書き込み制御コード発生部200は、プログラミングイネーブル信号DPGMPに応答して、第2設定時間の間、カウンティングのコードに対応して周期的にアップデートされる第1書き込み制御コードSETP<N:1>を生成する。この時、第1書き込み制御コード発生部200は、区間制御信号QSSETPが活性化された時、第1書き込み制御コードSETP<N:1>のアップデートを活性化させる。第2書き込み制御コード発生部300は、プログラミングイネーブル信号DPGMPに応答して、予定された時間の間、活性化される第2書き込み制御コードRESETPを生成する。データ書き込み部400は、アップデートされる第1書き込み制御コードSETP<N:1>のコードの組み合わせに対応する大きさを有するプログラミング電流パルスI_PGMを出力したり、第2書き込み制御コードRESETPに対応する大きさを有するプログラミング電流パルスI_PGMを出力する。この時、プログラミング電流パルスI_PGMは、第1書き込み制御コードSETP<N:1>に対応する第1プログラミング電流パルスと、第2書き込み制御コードRESETPに対応する第2プログラミング電流パルスとで区分することができる。データ書き込み部400から出力されるプログラミング電流パルスI_PGMは、メモリ部500に伝達されて、複数のメモリセルのうち選択された該当メモリセルに供給される。図5は、本発明の他の実施形態に係る半導体メモリ装置の構成図である。本発明の実施形態に係る半導体メモリ装置は、提案しようとする技術的な思想を明確に説明するための簡略な構成のみを含んでいる。図5を参照すると、半導体メモリ装置は、区間制御信号発生部100Aと、第1書き込み制御コード発生部200Aと、周期調節信号出力部700Aと、第2書き込み制御コード発生部300Aと、データ書き込み部400Aとを含んでいる。このように構成される半導体メモリ装置の主要動作を注意深くみれば次の通りである。区間制御信号発生部100Aはプログラミングイネーブル信号DPGMPに応答して、設定コードSCODE<N:1>に対応する第1設定時間の以後に活性化される区間制御信号QSSETPを生成する。すなわち、区間制御信号QSSETPは、プログラミングイネーブル信号DPGMPの活性化時点で第1設定時間の以後に活性化される。周期調節信号出力部700Aは、周期調節信号CYCLE_CTRLを出力する。第1書き込み制御コード発生部200Aは、プログラミングイネーブル信号DPGMPに応答して、第2設定時間の間、周期的にアップデートされる第1書き込み制御コードSETP<N:1>を生成する。この時、第1書き込み制御コード発生部200Aは、区間制御信号QSSETPが活性化された時、第1書き込み制御コードSETP<N:1>のアップデートを活性化させる。また、第1書き込み制御コード発生部200Aは、周期調節信号CYCLE_CTRLの制御によって第1書き込み制御コードSETP<N:1>のアップデート周期を調節する。第2書き込み制御コード発生部300Aは、プログラミングイネーブル信号DPGMPに応答して、予定された時間の間、活性化される第2書き込み制御コードRESETPを生成する。データ書き込み部400Aは、アップデートされる第1書き込み制御コードSETP<N:1>のコード組み合わせに対応する大きさを有するプログラミング電流パルスI_PGMを出力したり、第2書き込み制御コードRESETPに対応する大きさを有するプログラミング電流パルスI_PGMを出力する。この時、プログラミング電流パルスI_PGMは、第1書き込み制御コードSETP<N:1>に対応する第1プログラミング電流パルスと第2書き込み制御コードRESETPに対応する第2プログラミング電流パルスとで区分することができる。データ書き込み部400Aから出力されるプログラミング電流パルスI_PGMは、メモリ部500Aに伝送されて、複数のメモリセルのうち選択された該当メモリセルに供給される。図6は本発明の一実施形態に係る第1書き込み制御コード発生部200の構成図である。図6を参照すると、第1書き込み制御コード発生部200は、入力ラッチ部210と、クロック発生部220と、カウンタ部230と、リセットパルス発生部240とで構成される。このように構成される第1書き込み制御コード発生部200の主要動作及び細部構成に対して詳細に説明する。図7は、図6の第1書き込み制御コード発生部200における入力ラッチ部210の構成図及びその内部動作を表したタイミングダイアグラムである。図7を参照すると、入力ラッチ部210は、複数のナンドゲートNAND1、NAND2で構成されるRSラッチで構成される。タイミングダイアグラム210_0を参照すると、入力ラッチ部210は、区間制御信号QSSETP及びリセットパルス信号QSRSTPに応答して、カウントイネーブル信号ENB及びクロックイネーブル信号CKENを出力する。すなわち、区間制御信号QSSETPがハイレベルでパルシングするとカウントイネーブル信号ENBはローレベルで活性化され、クロックイネーブル信号CKENはハイレベルで活性化される。図8は、図6の第1書き込み制御コード発生部200におけるクロック発生部220の構成図及びその内部動作を表したタイミングダイアグラムである。図8を参照すると、クロック発生部220は、ナンドゲートNAND1及び複数のインバータINV1~INV5を含むリングオシレータで構成される。タイミングダイアグラム220_0を参照すると、クロック発生部220は、クロックイネーブル信号CKENに応答して、クロック信号CKを生成する。すなわち、クロック発生部200は、クロックイネーブル信号CKENが活性化されている間、トグリングするクロック信号CKを出力する。なお、図面には図示されていないが、クロック発生部220は、周期調節信号の制御によってクロック信号CKのトグルリング周期を変更させるように構成されることもできる。このような構成は、クロック信号CKのトグルリング周期を調節してカウンタ部230のカウンティング動作の周期を変更させることができ、図5の実施形態に係る半導体メモリ装置に適用されることができる。図9は、図6の第1書き込み制御コード発生部200におけるリセットパルス発生部240及びその内部動作を表したタイミングダイアグラムである。リセットパルス発生部240は、カウンティングコードが所定の値に到達するとリセットパルス信号QSRSTPを生成する。図9及び図6を参照すると、リセットパルス発生部240は、最上位1ビットカウンタ236から出力される信号ENB6を受信する検出用1ビットカウンタ237で出力される信号QSENDがローレベルで活性化されると、これを用いてハイレベルでパルシングするリセットパルス信号QSRSTPを生成する。すなわち、検出用1ビットカウンター237から出力される信号QSENDを遅延部で遅延させた後、反転信号と論理結合してハイレベルでパルシングする信号を生成する。図10は、図6の第1書き込み制御コード発生部200におけるカウンタ部230の構成図及びその内部動作を表したタイミングダイアグラムである。図10及び図6を参照すると、カウンタ部230は、プログラミングイネーブル信号DPGMP、カウントイネーブル信号ENB及びクロック信号CKの制御によってカウンティングされるカウンティングコードを生成して、第1書き込み制御コードSETP<N:1>として出力する。すなわち、カウンタ部230は、カウントイネーブル信号ENBがローレベルで活性化された時、クロック信号CKの制御によってカウンティング動作を遂行するようになる。カウンタ部230は複数の1ビットカウンタ231~237で構成されて、ダウンカウンティング動作を遂行する。図10は、カウンタ部230を構成する複数の1ビットカウンタ231~237のうち最下位1ビットカウンタ231を代表的に図示したものである。図10を参照すると、1ビットカウンタ231は、信号入力部231_1とラッチ部231_2とで構成される。信号入力部231_1はカウントイネーブル信号ENBと第1カウンティングコードSETP<0>とに応答して、ラッチ部231_2の入力ノードAの信号レベルを決定する。ラッチ部231_2は、クロック信号CKの制御によってラッチ部231_2から出力される信号をラッチングして、第1カウンティングコードSETP<0>及びボロー信号ENB1を出力する。この時、ボロー信号ENB1は、二つ目の1ビットカウンター232のカウントイネーブル信号ENBで利用される。一方、ラッチ部231_2は、リセット信号RST及びセット信号SETに応答して、内部ノードが初期化されたり特定レベルで変化する。図11は、本発明の実施形態によるデータ書き込み部400の構成図である。図11を参照すると、データ書き込み部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に出力する。図12は、図11のデータ書き込み部から出力されるプログラミング電流パルスを表した図面である。図12を参照すると、第2プログラミング電流パルスは、短い時間で、溶融化温度より高い形態で駆動され、第1プログラミング電流パルスは、初期第1パルス区間t1の間、溶融化温度に近接するように駆動されるが、第2パルス区間t2の間漸進的に小さくなるようになる。なお、図面で第2プログラミング電流パルスは非晶質化パルスで図示されており、第1プログラミング電流パルスは結晶化パルスで図示されている。図13は、本発明の一実施形態に係る半導体メモリ装置の内部動作を表したタイミングダイアグラムである。図13を参照して、本発明の一実施形態に係る半導体メモリ装置の主要動作を説明すると次の通りである。まず、プログラミングイネーブル信号DPGMPが、ハイレベルでパルシングした以後に区間制御信号QSSETPがハイレベルでパルシングするまでの区間の間、第1書き込み制御コードSETP<N:0>は初期値を維持し、第1書き込み制御コードSETP<N:0>の初期コード組み合わせに対応する大きさを有するプログラミング電流パルスI_PGMが駆動される。なお、区間制御信号QSSETPのパルシング時点を調節すると、初期プログラミング電流パルスI_PGMの駆動時間を調節することができる。次に、区間制御信号QSSETPがハイレベルでパルシングした以後の区間で、第1書き込み制御コードSETP<N:0>は周期的でアップデートされる。したがって、アップデートされる第1書き込み制御コードSETP<N:0>のコード組み合わせに対応する大きさを有するプログラミング電流パルスI_PGMが駆動される。この時、プログラミング電流パルスI_PGMの大きさは漸進的に小さくなるようになる。なお、第1書き込み制御コードSETP<N:0>のアップデート周期が変更されると、プログラミング電流パルスI_PGMが減少する時間も変更される。すなわち、プログラミング電流パルスI_PGMが減少する傾きが調節される。次に、リセットパルス信号QSRSTPがハイレベルで活性化されるとプログラミング電流パルスI_PGMの駆動が中断される。前述したように、プログラミング電流パルスによるジュール熱を通してメモリセルにデータをプログラミングする半導体メモリ装置のプログラミング電流パルスは、予定された時間の間、周期的にアップデートされる第1書き込み制御コードを生成する段階と、第1書き込み制御コードのコード組み合わせに対応する大きさを有する第1プログラミング電流パルスを出力する段階を通して生成される。この時、第1プログラミング電流パルスは、初期第1パルス区間t1の間メモリセルを溶融化温度より低く、結晶化温度より高い温度で上昇させて、第1パルス区間の以後の第2パルス区間t2の間メモリセルを前記結晶化温度より低い温度まで漸進的に下降させる。また、第1プログラミング電流パルスの第2パルス区間は、第1パルス区間よりさらに長い。参考的に、半導体メモリ装置のプログラミング電流パルスの生成方法は、予定された時間の間、活性化される第2書き込み制御コードを生成する段階と、第2書き込み制御コードに応答してメモリセルを溶融化温度より高い温度で上昇させる第2プログラミング電流パルスを出力する段階をさらに含むこともできる。この時、第1プログラミング電流パルスは、第2プログラミング電流パルスよりさらに長い時間の間出力される特徴を有する。また、半導体メモリ装置のプログラミング電流パルス生成方法は、周期調節信号によって第1書き込み制御コードのアップデート周期を調節する段階をさらに含むこともできる。第1書き込み制御コードのアップデート周期が調節されると、調節された周期に対応してプログラミング電流パルスが減少する傾きが変更される。前述した実施形態のように、プログラミング電流パルスの第2パルス区間t2の電流が減少する傾きを調節することで、プログラミング動作をより正確に遂行することができる。本発明の実施形態に係る半導体メモリ装置及びプログラミング電流パルス生成方法は、プログラミング時間を短縮させることができ、プログラミング電流パルスの供給時間及び大きさを調節することができる。以上、本発明の実施形態によって具体的な説明をした。なお、本発明の技術的思想とは直接関連がない部分であるが、本発明をより詳細に説明するために追加的な構成を含んだ実施形態を例示することができる。また、信号及び回路の活性化状態を表すためのアクティブハイまたはアクティブローの構成は、実施形態によって変わることができる。また、本発明の技術的史上を明確に説明するために、第1書き込み制御コードのビット数を限定したが、これは実施形態によって調節することができる。第1書き込み制御コードのビット数が増加すると、プログラミング電流パルスが減少する傾きがさらに線形的になる。このような実施形態の変更による具体的な説明はあまりにも場合の数が多く、これに対する変更は通常の専門家ならば誰でも容易に類推できるのでそれに対する列挙は省略するようにする。このように、本発明の属する技術分野の当業者は、本発明がその技術的思想や必須的特徴を変更せずに、他の具体的な形態で実施され得るということが理解できるであろう。したがって、以上で記述した実施形態は、あらゆる面で例示的なものであり、限定的なものではないものと理解しなければならない。本発明の範囲は、上記の詳細な説明よりは、後述する特許請求の範囲によって表われ、特許請求の範囲の意味及び範囲、そして、その等価概念から導き出されるあらゆる変更または変形された形態が本発明の範囲に含まれるものと解釈されるべきである。