二端子抵抗性メモリーデバイスをプログラムする方法であって、この方法は、デバイスの抵抗性メモリーセルの第1電極へバイアス電圧を印加すること、前記セルを通じて流れる電流を測定すること、測定された前記電流が所定の値と同じか又はそれよりも大きい場合に前記バイアス電圧の印加を停止する終了プロセスを開始することを備える、方法。請求項1の方法であって、前記電流を測定することは、電流の時間変化率を検出することを備える、方法。請求項1の方法であって、前記電流を検出することは、電圧変化に対する電流変化率を検出することを備える、方法。請求項1の方法であって、前記抵抗性メモリーデバイスは、上部電極と、スイッチング素子と、下部電極を備える、方法。請求項4の方法であって、前記抵抗性メモリーデバイスは、粒界を有する多結晶材料である金属酸化物材料と、前記粒界に形成される1又は複数の酸素又は金属欠損部位を備える前記導電体フィラメントを備える、方法。請求項1の方法であって、前記終了プロセスは、前記終了プロセスが開始された後に、ある時間遅延で完了する、方法。スイッチングデバイス内に導電体フィラメント構造を形成する方法であって、上部電極、スイッチング素子、及び下部電極を含む抵抗性スイッチングデバイスを提供すること、所定の電圧を所定の期間に前記デバイスへ印加すること、前記デバイス内の電流の変化率を時間の関数として前記所定の期間内に測定すること、前記電流の変化率が所定の値より大きい場合に所定の電圧を印加することを停止する終了プロセスを開始すること、前記電流の変化率が所定の値より小さい場合に所定の電圧の印加を継続することを備え、前記スイッチングデバイスへ前記所定の電圧が印加されるにつれて前記導電体フィラメント構造が前記スイッチング素子内に形成される、方法。請求項7の方法であって、前記終了プロセスは、前記終了プロセスが開始された後に、ある時間遅延で完了する、方法。請求項7の方法であって、前記電流の変化は、前記デバイスの抵抗値を測定することによって測定される、方法。請求項7の方法であって、前記終了プロセスは、前記終了プロセスが開始された後に、ある時間遅延で完了する、方法。スイッチングデバイス内に導電体フィラメント構造を形成する方法であって、上部電極、スイッチング素子、及び下部電極を含む抵抗性スイッチングデバイスを提供すること、所定の電流を所定の期間に前記デバイスへ印加すること、前記デバイスをまたがる電圧の変化率を時間の関数として所定の期間内に測定すること、前記デバイスをまたがって降下するの電圧の変化率が所定の値より大きい場合に所定の電流を印加することを停止する終了プロセスを開始すること、前記デバイスをまたがって降下するの電圧の変化率が所定の値より小さい場合に所定の電流の印加を継続することを備え、前記スイッチングデバイスへ前記電流が印加されるにつれて前記導電体フィラメント構造が前記スイッチング素子内に形成される、方法。請求項11の方法であって、前記終了プロセスは、前記終了プロセスが開始された後に、ある時間遅延で完了する、方法。請求項11の方法であって、前記電流は、及び時間の関数として線形に増大する電流パルスとして印加される、方法。請求項11の方法であって、前記電流は、時間の関数として規定された方法で増大する、方法。請求項11の方法であって、前記終了プロセスは、前記終了プロセスが開始された後に、ある時間遅延で完了する、方法。請求項11の方法であって、前記電圧の変化は、前記デバイスの抵抗値を測定することによって測定される、方法。二端子抵抗性メモリーデバイスをプログラムする回路であって、前記回路は、前記デバイスの抵抗性メモリーセルの第1電極へバイアス電圧を印加する手段と、前記セルを通じて流れる電流を測定する手段と、測定された前記電流が所定の値と同じか又はそれよりも大きい場合に前記バイアス電圧の印加を停止する終了プロセスを開始する手段を備える、回路。請求項17の回路であって、電流を測定する手段は、電流の時間変化率を検出する手段を備える、回路。請求項17の回路であって、前記電流を検出する手段は、電圧変化に対する電流変化率を検出する手段を備える、回路。請求項17の回路であって、前記抵抗性メモリーデバイスは、上部電極と、スイッチング素子と、下部電極を備える、回路。請求項20の回路であって、前記デバイスは、粒界を有する多結晶材料である金属酸化物材料と、前記粒界に形成された1又は複数の酸素又は金属欠損部位を備える前記導電体フィラメントを備える、回路。請求項17の回路であって、前記終了プロセスは、前記終了プロセスが開始された後に、ある時間遅延で完了する、回路。本発明は、不揮発性メモリーデバイス例:抵抗性メモリーデバイスに関し、より詳しくは、メモリーセルを通じて流れる電流の変化に基づいてメモリーセルへのバイアス電圧を制御することによってデバイス内の抵抗性メモリーセルをプログラム及び消去する方法及び装置に関する。一実施形態では、二端子抵抗性メモリーデバイスをプログラムする方法であって、この方法は、デバイスの抵抗性メモリーセルの第1電極へバイアス電圧を印加すること、セルを通じて流れる電流を測定すること、及び測定された電流が所定の値と同じか又はそれよりも大きい場合にバイアス電圧の印加を停止することを含む。他の実施形態では、スイッチングデバイス内に導電体フィラメント構造を形成する方法は、抵抗性スイッチングデバイスを提供すること、スイッチングデバイスへ電圧を印加し、電圧がデバイスへ印加されている間にスイッチングデバイス内の電流を測定すること、印加される電圧を傾斜率を使用して増大させること、電圧を増大させる間に電圧対電流プロットこのプロットは、傾きを備える。を得ること、導電体フィラメント構造を形成する閾値電圧この閾値電圧は、傾きが変化するか又は所定の値よりも大きくなる電圧である。を得ること、電圧がほぼ閾値電圧になったと決定されると電圧の印加を停止することを含み、前記導電体フィラメント構造は、電圧がスイッチングデバイスへ印加されるにつれてスイッチング素子内に形成される。電圧がほぼ閾値電圧になったと決定された後に、電圧がある時間遅延の後に停止される。他の実施形態では、スイッチングデバイス内に導電体フィラメント構造を形成する方法は、上部電極、スイッチング素子、及び下部電極を含む抵抗性スイッチングデバイスを提供すること、スイッチングデバイスへ複数の電圧パルス電圧パルスの電圧は、経時的に増大する。を印加し、各電圧パルスがデバイスへ印加されている間にスイッチングデバイス内の電流を測定すること、各電圧パルスが印加されたときに電流変化率を得ること、電流変化率が所定の値と同じかそれより大きい場合にデバイスの抵抗値を測定すること、測定された抵抗値が所定の抵抗値より低い場合に電圧パルスを印加することを停止する終了プロセスを開始することを含む。導電体フィラメント構造は、電圧パルスがスイッチングデバイスへ印加されるにつれてスイッチング素子内に形成される。一実装では、電圧パルスの電圧は、時間の関数として線形に増大する。他の実装では、電圧パルスの電圧は、時間の関数として規定された方法で増大する。さらに他の実装では、終了プロセスは、終了プロセスが開始された後に、ある時間遅延で完了し、電圧パルスの印加を停止する。他の実施形態では、スイッチングデバイス内に導電体フィラメント構造を形成する方法は、上部電極、スイッチング素子、及び下部電極を含む抵抗性スイッチングデバイスを提供すること、所定の電圧を所定の期間デバイスへ印加すること、デバイス内の電流変化率を時間の関数として所定の期間内に測定すること、電流変化率が所定の値より大きい場合に所定の電圧を印加することを停止する終了プロセスを開始すること、電流変化率が所定の値より小さい場合に所定の電圧の印加を継続することを含む。スイッチングデバイスへ所定の電圧が印加されるにつれて導電体フィラメント構造がスイッチング素子内に形成される。さらに別の実施形態では、スイッチングデバイス内に導電体フィラメント構造を形成する方法は、上部電極、スイッチング素子、及び下部電極を含む抵抗性スイッチングデバイスを提供すること、所定の電流を所定の期間デバイスへ印加すること、デバイスをまたがる電圧の変化率を時間の関数として所定の期間内に測定すること、デバイスをまたがって降下する電圧の変化率が所定の値より大きい場合に所定の電流を印加することを停止する終了プロセスを開始すること、デバイスをまたがって降下する電圧の変化率が所定の値より小さい場合に所定の電流の印加を継続することを含む。スイッチングデバイスへ電流が印加されるにつれて導電体フィラメント構造がスイッチング素子内に形成される。さらに別の実施形態では、スイッチングデバイス内に導電体フィラメント構造を形成する方法は、上部電極、スイッチング素子、及び下部電極を含む抵抗性スイッチングデバイスを提供すること、スイッチングデバイスへ複数の電流パルスを印加し、電流パルスのそれぞれがデバイスへ印加されている間にスイッチングデバイスをまたがって電圧を測定すること、電流パルスの電流を経時的に増大させること、電圧変化率が所定の値より大きい場合にデバイスの抵抗値を測定すること、測定された抵抗値が所定の抵抗値より低い場合に終了プロセスを開始することを含む。導電体フィラメント構造は、電流パルスがスイッチングデバイスへ印加されるにつれてスイッチング素子内に形成される。一実装では、電流パルスの電流は、時間の関数として線形に増大する。他の実装では、電流パルスの電流は、時間の関数として規定された方法で増大する。他の実装では、終了プロセスは、終了プロセスが開始された後に、ある時間遅延で完了する。1又は複数の実施形態の詳細は、添付図面と以下の説明で述べる。他の特徴、目的、利点は、説明及び図面、及び請求項から明らかであろう。図1は、本発明の一実施形態による下部電極102、スイッチング媒体104、及び上部電極106を含む不揮発性メモリーデバイス100を示す。スイッチング媒体104は、適切な制御回路を使用して種々の値に選択的に設定可能であり且つリセット可能である抵抗を示す。デバイス100は、本実施形態では二端子抵抗性ランダムアクセスメモリーである。当業者が理解するように、デバイス100は、プログラム可能な可変キャパシタ又は他のタイプのデバイスとしても利用可能である。RRAMは、上部と下部電極の間に提供されるスイッチング媒体を有する二端子デバイスである。スイッチング媒体の抵抗は、電極へ電気信号を印加することによって制御可能である。電気信号は、電流ベース又は電圧ベースであってもよい。本明細書において、用語RRAM又は抵抗性メモリーデバイスは、電気信号を印加することによってスイッチング媒体の強誘電性、磁化及び相の変化なしで抵抗が制御可能であるスイッチング媒体を用いるメモリーデバイスを意味する。本実施形態では、デバイス100は、アモルファスシリコンベースのRRAMであり、スイッチング媒体104としてアモルファスシリコンを用いる。スイッチング媒体104の抵抗は、印加された電圧に従ったaSiスイッチング媒体内での導電性フィラメントの形成又は回収に従って変化する。上部電極106は、銀を含む導電層であり、aSi構造内のフィラメント形成イオンのソースとして機能する。本実施形態では銀を用いたが、上部電極106は、種々の他の適切な金属例:金、ニッケル、アルミニウム、クロム、鉄、マンガン、タングステン、バナジウム、及びコバルトから形成可能であると理解されるであろう。下部電極102は、aSi構造の下端面に接触するボロンドープ又は他のp型ポリシリコン電極である。図2は、本発明の一実施形態によるデバイス100の抵抗スイッチング特性を示す。スイッチング媒体104は、二極性スイッチングメカニズムを示す。スイッチング媒体104の抵抗は、上部及び下部電極106及び102を介してスイッチング媒体104へ印加された電流信号の極性及び大きさに従って変化する。デバイス100は、プログラム閾値電圧Vpthと同じか又はそれよりも大きい正電圧が印加されるとON状態に変化する。一実施形態では、プログラム電圧は、スイッチング媒体104及び上部電極106用いられる材料に従って2ボルト~5ボルトの間の範囲である。デバイス100は、消去閾値電圧Vethと同じか又はそれよりも大きい負電圧が印加されるとOFF状態に戻る。一実施形態では、消去電圧は、2ボルト~5ボルトの範囲である。印加された電圧が2つの閾値電圧Vpth及びVethの間の場合は、デバイス状態は、影響されない。これによって、低電圧読み出しプロセスが可能になる。デバイス100が、一旦、特定の抵抗状態に設定されると、デバイス100は、電力なしで、ある期間情報を保持する。図3A及び3Bは、本発明の一実施形態によるON及びOFF状態の間のデバイス100のスイッチングメカニズムを示す。aSi媒体104でのスイッチングは、aSi媒体104内のフィラメント領域での導電性フィラメント又は複数のフィラメントの形成及び回収に基づく。この形成及び回収は、デバイス100の電極102及び106へ印加されたプログラム及び消去電圧に従って生じる。図3Aは、上部電極106へプログラム電圧Vpthを印加することによってON状態にされたデバイス100を示す。スイッチング媒体104は、aSiからなり、下部電極102と上部電極106の間に提供される。スイッチング媒体104の上側部分は、上部電極から下部電極102の上方約10nmへ延びる金属領域302を含む。金属領域302は、エレクトロフォーミングプロセスの間にその後のスイッチング電圧例:35Vよりわずかに大きい電圧が上部電極106へ印加されたときに、形成される。この大きい電圧により、上部電極106から下部電極102に向かう金属イオンの電界誘起拡散が生じ、これによって連続的導電性経路303が形成される。スイッチング媒体104の下側部分は、フィラメント領域304を規定する。フィラメント305は、エレクトロフォーミングプロセス後にプログラム電圧Vpthが印加されると形成される。領域303及び305は、エレクトロフォーミングプロセスの間に一緒に形成してもよい。フィラメント305は、スイッチング媒体104の下側部分にある欠陥部位にトラップされた一連の金属粒子を備える。金属粒子は、多くの金属イオンを金属領域302から下部電極102に向かって押し出すのに十分な活性化エネルギーを印加されたプログラム電圧Vpthが提供したときに欠陥部位にトラップされる。フィラメント305は、金属領域302にある経路303とは違って、非導電性スイッチング媒体によって互いに分離され且つ連続的導電性経路を規定しない一群の金属粒子で構成されると信じられている。フィラメント305は、実装に従って約210nm延びる。ON状態での導電メカニズムは、フィラメント305内の金属粒子を通じた電子トンネリングである。デバイス抵抗は、金属粒子306と下部電極102の間のトンネリング抵抗によって支配される。金属粒子306は、フィラメント領域304にある金属粒子で下部電極102に最も近いものであり、ON状態でフィラメント領域304にある最後の金属粒子である。図3Bは、上部電極へ消去電圧Vethを印加することによってオフ状態にされたデバイス100を示す。消去電圧は、aSiの欠陥部位にトラップされた金属粒子を除去するのに十分な電磁力を加え、フィラメント領域304からのフィラメントの少なくとも一部を回収する。オフ状態で下部電極に最も近い金属粒子308は、オン状態の間の金属粒子306よりも長い距離で下部電極から分離される。金属粒子308と下部電極の間の距離が増大するので、デバイス100は、オン状態よりも高抵抗状態になる。一実施形態では、オンオフ状態の間の抵抗比は10E3~10E7の範囲にある。デバイス100は、オン状態では抵抗器のように振る舞い、オフ状態ではキャパシターのように振舞う及び下部金属上に形成されたp型ポリシリコンを含む。下部電極402は、本実施形態ではナノスケールである。例えば、下部電極402は、約40nmの幅及び約60nmのピッチを有する。上部電極404のパラレルアレイは、第二方向に沿って延び、下部電極402と交差する。上部電極404は、フィラメント形成イオン例:銀、金、ニッケル、アルミニウム、クロム、鉄、マンガン、タングステン、バナジウム及びコバルトを供給可能な金属を含む。一実施形態では、上部電極404及び下部電極402は、互いに直交する。上部電極404は、約60nmの幅及び約150nmのピッチを有するナノワイヤーである。2つのアレイの各交点406は、二端子抵抗性メモリーセル408を規定する。各交点406でのメモリーセル408は、スイッチング層410によって分離された2つの電極を含む。スイッチング層又は構造は、下部電極と同じかそれよりも狭い幅であってもよい。いくつかの実施形態では、クロスバーメモリーアレイにある各メモリーセルは、単一ビットを格納可能である。他の実施形態では、メモリーセルは、マルチレベル抵抗を示し、これによって各セルに複数のビットを格納することが可能になる。本実施形態では、スイッチング層410は、アモルファスシリコンなどの非晶質シリコンを含む。本明細書において、用語アモルファスシリコンは、実質的にアモルファス相であるシリコン材料を意味し、結晶シリコンの小さな粒を含んでもよい。本明細書において、用語非晶質シリコンは、制御可能な抵抗を示すアモルファスシリコン又はアモルファスポリシリコン、その組み合わせ等を意味する。上記のクロスバーメモリーアレイは、一実施形態ではシリコン基板上に製造可能である。他の実施形態では、IIIV型半導体化合物、窒化ガリウム、窒化ホウ素等又はIIVI型半導体化合物が基板として使用可能である。図5は、本発明の一実施形態による不揮発性固体抵抗性デバイス500のブロック図を示す。デバイス500は、複数の抵抗性メモリーセルを含むセルアレイ502を含む。抵抗性メモリーセルは、NAND、NOR、クロスバーなどの配置であってもよい。制御回路504は、セルアレイ中のセルをプログラム又は消去するためにプログラム消去電圧をセルアレイへ提供する。第1選択回路506は、制御回路504のプログラム消去電圧が印加される抵抗性セルの行を選択するように構成されている。第1選択回路は、プログラム消去プログラムが印加可能であるように選択されたセルの上部電極へ導電性経路を提供するように構成されている。第2選択回路508は、セルアレイにあるセルの下部電極に連結される。第2選択回路は、プログラム又は消去される選択されたセルの列を選択し、選択されたセルの下部電極を接地するように構成されている。第2選択回路508は、プログラム消去電圧に対応する電圧を非選択セルの下部電極へ印加し、これによって、選択されたセルのみがプログラム又は消去される。検知回路510は、選択されたセルの電流又は電圧を検知し、選択されたセルの抵抗状態を読み出すように構成されている。デバイス500は、実装に従って異なる回路配置を使用してプログラム又は消去を行なってもよい。図6Aは、本発明の一実施形態による抵抗性メモリーデバイス例:デバイス100のプログラム動作と関連した電流電圧曲線600を示す。バイアス電圧がプログラム電圧に到達するまで、デバイス100はOFFのままである。この点において、スイッチング層でのフィラメント形成プロセスが完了し、デバイスがONになる。スイッチング層は、誘電体から抵抗器へ変換される。デバイス100は、ONになるときに、点604で電流スパイクを経験する。なお、デバイスのスイッチングに電流信号が使用されている場合、デバイスをまたがる電圧が急降下する。電流は、IVR、又は本実施形態では2μAへスパイクする。当業者は、プログラム電圧及び電流量がデバイス実装に従って変化することを理解するであろう。例えば、プログラム電圧は、実装に従って14ボルトの間で変化し得る。一旦ONになると、デバイス100は、領域602及び603で抵抗器のように振る舞う。電流は、印加されたバイアス電圧と共に直線的に増減する。領域602では、デバイス100は、過剰ジュール加熱及び過剰電流密度を経験する。これらは、デバイスを劣化させ、ライフサイクルを制限する。領域602でのバイアスは、不要である。なぜなら、デバイスは、すでにONになっているからである。バイアス電圧は、デバイスがONになるとすぐに好ましくは点604又はその近くで停止すべきである。しかし、プログラム動作のタイミングを完璧にすることは難しい。なぜなら、デバイスは、均一に製造されていないからである。各デバイスは、僅かに異なる特性を有する。同じデバイスの特性でさえも、数多くのプログラム消去サイクルを通じて経時変化する。その結果、プログラム消去電圧は、典型的にはいくぶんオーバードライブさせた電圧で予め設定される。これによって、デバイスのプログラム消去が確実に行われる。このオーバードライブ電圧が制限できれば、デバイスの耐久性又はライフサイクルを増大させることができる。言い換えると、フィラメント領域にフィラメントが形成され、デバイスがONになるとすぐに点604で、バイアス電圧はOFFになるべきである。一実施形態では、デバイス100のプログラム動作は、所定のプログラム電圧を与える代わりに、デバイスを通じて流れる電流の変化を使用することによって制御される。一つのアプローチは、電流の時間変化率が所定の値と同じか又はそれよりも大きいときにバイアス電圧をOFFにすることである。他のアプローチは、電圧変化に対する電流変化率が所定の値と同じか又はそれよりも大きいときにバイアス電圧をOFFにすることである。これらのアプローチは、次のように実装可能である。一実施形態では、バイアス電圧がデバイス100へ印加される。バイアス電圧がデバイスへ印加されている間に、デバイスを通じて流れる電流が測定される。バイアス電圧を時間の関数として直線的に増大させる。測定された電流を所定の値と比較する。所定の値は、デバイス100のスイッチング層にフィラメントを形成するのに適切に決定される。電流が所定の値に到達すると、バイアス電圧を停止する。別の実施形態では、バイアス電圧を打ち切る前にデバイス100が確実にONになるようにバイアス電圧は、もう少し長く印加してもよい。他の実施形態では、大きさが増大する複数の電圧パルスをデバイス100へ印加する。電圧パルスがデバイス100へ印加されている間に、デバイス100に流れる電流を測定する。電流変化率をデバイス100のスイッチング層にフィラメントを形成するのに適切であるように決定された所定の値と比較する。電圧パルスは、電流変化率が所定の値と同じか又はそれよりも大きくなるまでデバイス100へ印加される。デバイス100の抵抗値を測定する。抵抗値が所定の抵抗値より低い場合、電圧パルスのデバイスへの印加を停止し又は妨げて、プログラム動作を終了する。他方では、抵抗値が所定の抵抗値より大きい場合、抵抗値が所定の抵抗値より低くなるまで電圧パルスを印加する。別の実施形態では、抵抗値が所定の抵抗値より低くなった後に電圧パルスをもう一つ印加してもよい。これによって、デバイスが確実にONになる。さらに別の実施形態では、所定の電圧が所定の期間デバイス100へ印加される。デバイス100での電流変化率は、所定の期間内に時間の関数として測定される。電流変化率がスイッチング層にフィラメントを形成する適切になるように決定された所定の値より小さい場合、所定の電圧が連続的にデバイス100へ印加される。電流変化率が所定の値と同じか又はそれよりも大きい場合、所定の電圧の印加を停止する。図6Bは、本発明の一実施形態による不揮発性メモリーデバイスのプログラム及び消去サイクルの電流電圧曲線650を示す。曲線650は、消去動作がプログラム動作と実質的に同じように機能することを示す。主な違いは、デバイス100のスイッチング層のフィラメント領域に形成されたフィラメントを回収するために、消去電圧として負電圧を使用することである。図7は、本発明の一実施形態による抵抗性メモリーセルユニット750をプログラムするための制御回路702を含む不揮発性メモリーデバイス700を示す。単なる例示として、ここで説明するプログラム動作は、直線的に増大するバイアス電圧を用いる。しかしながら、電圧パルス又は他のプログラム方法が使用可能である。抵抗性メモリーセルユニット750は、1又は複数の抵抗性メモリーセルを含む。一実施形態では、セルユニット750は、複数の抵抗性メモリーセルを有するセルアレイである。セルは、クロスバーアレイ、NAND配置、NOR配置、又は他の配置であってもよい。説明の便宜上、セルユニット750は、単一抵抗性メモリーセルとして記述する。当業者は、制御回路702が他の回路例:図5の回路と共に実装可能であり、複数のセルを有するセルアレイと共に用いられることを理解するであろう。制御回路702は、セルユニット750を通じて流れる電流を検出する電流検出ユニット710及び電流検出の結果に従ってセット信号SET及びリセット信号RSTに応じてセルユニット750へバイアス電圧を印加するバイアス電圧印加ユニット720を含む。バイアス電圧印加ユニット720は、制御信号生成器722、電圧トランスミッタ724、コンパレータ726、及びバイアス電圧印加器728を含む。制御信号生成器722は、プログラム動作を開始するためのセット信号SET及びプログラム動作を終了するためのリセット信号RSTを受け取るように構成されている。一実施形態では、制御信号生成器722は、セット信号SETに応じて第1及び第2イネーブル信号Qb及びQを生成し、電流検出ユニット710からフィードバックされたリセット信号RSTに応じて第1及び第2ディスエーブル信号Qb及びQを生成する。一実装では、制御信号生成器722は、フリップフロップである。電圧トランスミッタ724は、入力電圧V1に対応する出力電圧V2である。電圧トランスミッタは、PMOSトランジスタP1及びNMOSトランジスタN1を含むトランスミッションゲート及びNMOSトランジスタN2を含むプルダウンユニットを含む。PMOSトランジスタP1及びNMOSトランジスタN1は、入力電圧V1を受け取る第1ノードと、制御信号生成器から受け取った第1及び第2制御信号Qb及びQに従って出力電圧V2を出力する第2ノードの間に結合される。プログラム動作が開始すると、PMOSトランジスタP1及びNMOSトランジスタN1がONになり、電圧V2が入力電圧V1を反映した値になる。プログラム動作が完了するとPMOSトランジスタP1及びNMOSトランジスタN1がOFFになり、電圧V2が入力電圧V1から切り離される。NMOSトランジスタN2は、第2ノードとグラウンド電圧端子の間に結合され、ゲート端子を通じて第2ディスエーブル信号Qを受け取り、電圧V2をグラウンド電圧へプルダウンし、プログラム動作を終了するように構成されている。コンパレータ726は、第1入力で電圧V2を受け取り、第2入力でバイアス電圧を受け取り、比較信号COMを出力する。バイアス電圧は、プログラムのためにセルユニットへ印加された電圧である。一実施形態では、コンパレータ726は、2つの入力ノードの間の電圧差を検出し電圧差を増幅する差動増幅器を含む。コンパレータ726は、差動増幅器、又は差動増幅器の特性を有するオペアンプを含んでもよい。バイアス電圧印加器728は、コンパレータ726からの比較信号COMに応じてセルユニットへバイアス電圧を供給する。一実施形態では、バイアス電圧印加器728は、電流検出ユニット710とセルユニット750の間に結合されたNMOSトランジスタN3を含む。NMOSトランジスタN3のゲート端子は、比較信号COMを受け取るように構成されている。電流検出ユニット710は、プログラム動作の間にセルユニットを通じて流れる電流の量を測定し、測定された電流の量に従ってリセット信号RSTを出力する。リセット信号RSTは、測定された電流がプログラム電流に到達すると、つまり、セルユニット750がONになるとイネーブルになる。本実施形態では、電流検出ユニット710は、PMOSトランジスタP2及びP3、及び抵抗器R1を含む電流供給ユニット712を含む。電流供給ユニットのPMOSトランジスタP2及びP3のゲート端子は、どちらも、プログラム電圧印加器のNMOSトランジスタN3のドレイン端子及びPMOSP2のドレイン端子に連結される。PMOSトランジスタP2及びP3のソース端子は、電源電圧に連結される。PMOSP2のドレイン端子は、NMOSトランジスタN3のドレイン端子及びPMOSトランジスタP2及びP3のゲート端子に連結される。PMOSP3のドレイン端子は、制御信号生成器722へリセット信号RSTを出力するノードND2に連結される。抵抗器R1の一端は、PMOSトランジスタP3のドレイン端子、つまりノードND2に連結され、他端は、グラウンドに連結される。抵抗器R1は、セルユニット750がONになったときと実質的に同じ抵抗を有しており、これによって、セルユニット750を通じて流れる電流がノードND2に反映される。図8は、本発明の一実施形態による回路702の波形図を示す。入力電圧V1は、2Vのプログラム電圧をはるかに超えた3Vにまで増大するように設定される。プログラム動作は、セット信号SETが制御信号生成器722へ入力されて開始する。制御信号生成器は、イネーブル信号Qb及びQを出力する。イネーブル信号Qbは、論理レベルHであり、NMOSトランジスタN1のゲート端子へ印加され、このトランジスタをONにする。イネーブル信号Qは、論理レベルLであり、PMOSトランジスタP1及びNMOSトランジスタN2のゲート端子へ印加される。PMOSトランジスタP1はONになり、NMOSトランジスタN2はOFFになる。プログラム動作が開始すると、入力電圧V1が電圧トランスミッタ724へ印加され、例えば0Vから3Vへ増大する。イネーブル信号Qb及びQは、PMOSトランジスタP1及びNMOSトランジスタN1をONにし、入力電圧V1に導電性経路を提供する。電圧トランスミッタは、入力電圧V1に対応する出力電圧V2を出力する。NMOSトランジスタN2がイネーブル信号QによってOFFになっているので、出力電圧V2がコンパレータ726の入力ノードの一つへ印加される。出力電圧V2は、入力電圧V1の電圧増大を反映する。電圧V2の電圧が増大すると、コンパレータ726の他のノードへ入力されるバイアス電圧V3との電圧差が増大する。V2とV3の間の電圧差が増大すると、コンパレータ726は、電圧が増大する比較信号COMを出力する。比較信号COMは、NMOSトランジスタN3のゲート端子へ印加される。プログラム電圧印加器728がONになるとバイアス電圧がユニットセルへ印加される。バイアス電圧は、比較信号COMの電圧が増大するにつれて増大する。つまり、バイアス電圧は、入力電圧V1の増大を反映する。最初は、ユニットセルは、高抵抗状態のままであり、電流が流れるのを妨げる。従って、出力ノードND2で電流が検出されない。バイアス電圧が2V、つまりプログラム電圧へに到達すると、ユニットセルは、低抵抗状態へ変換され、電流が流れるようになる。出力ノードND2では、電流スパイク又は大きい電流変化が検出され、リセット信号RSTとして制御信号生成器722へ印加される。リセット信号RSTを受け取ると、制御信号生成器722は、論理レベルLのディスエーブル制御信号Qb及び論理レベルHのディスエーブル制御信号Qを出力して、NMOSトランジスタN1及びPMOSトランジスタP1をOFFにする。入力電圧V1に対して以前に開かれた導電性経路が閉じられる。入力電圧V1が3ボルトまで上昇を続けるが、ユニットセルへ印加されるバイアス電圧には影響を与えない。なぜなら、導電性経路が閉じられたからである。ディスエーブル制御信号Qは、NMOSトランジスタN2をONにし、電圧V2がグラウンド電圧に下げられる。コンパレータ726は、次にNMOSトランジスタN3をOFFにする比較信号COMを出力する。従って、ユニットセルは、一旦プログラムされると、電流を受け取ることを停止し、過剰オーバードライブ電圧をほとんど経験しなくなる。従って、不要な過剰ジュール加熱の多くが避けられる。ユニットセルは、消去電圧を受け取るまでプログラムされた状態を保持する。消去動作は、上記のプログラム動作と実質的に同じように機能する。一つの違いは、正バイアス電圧の代わりに負バイアス電圧が印加されることである。図8は、電圧レベルが時間の関数としての傾斜率で増大する入力電圧V1及びバイアス電圧V2を示したが、時間の関数として又はそれ以外の方法で増大する電圧パルスを使用して実行してもよい。本発明の実施形態によれば、バイアス電圧がプログラム電圧に到達してデバイスがONになるとすぐにつまり、図6Aの点604又はその近くでバイアス電圧を停止するので、デバイス100は、過剰ジュール加熱をほとんど経験せず、デバイスの耐久性が大きく改善される。多くの実施形態の説明を行った。それにも関わらず、本発明の精神と範囲から逸脱することなく種々の修正が可能であるであることは理解されるであろう。例えば、基板上の層の順序は、逆にすることができ、この場合、上部電極は、実装によっては、下部電極の下に提供される。従って、上部及び下部という用語は、aSi構造内にフィラメント形成イオンを提供するソース電極と、その反対側に設けられる電極の相対位置を制限するために用いるべきではない。従って、他の実施形態は、次のクレームの範囲内である。