(57)【要約】【課題】非バイナリ計算スキームで数を因数分解する方法、更に具体的には、ディジタル多状態相変化物質を利用して数を因数分解する方法を提供する。【解決手段】この方法は、因数分解される数を特徴づける量のエネルギーを、数の潜在因数に従ってプログラムされた相変化物質へ提供することを含む。プログラミング・ストラテジは、因数分解される数の中に潜在因数の倍数が存在する度に、相変化物質を１回セットする。この方法を実行する際、倍数の数をカウントし、相変化物質の状態を評価することによって、潜在因数が確かに因数であるかどうかが決定される。異なった因数について相変化物質の所与のボリュームが再プログラムされるか、異なった因数のために相変化物質の別個のボリュームが使用されうる。異なった潜在因数に従ってプログラムされた相変化物質の別々のボリュームを組み合わせることによって、幾つかの潜在因数の上で並列因数分解が達成される。モジュラ算術システムにおける加法および合同計算の方法も含まれる。【特許請求の範囲】
【請求項１】
入力数を因数分解する方法であって、
ディジタル多状態相変化物質のボリュームを提供し、前記相変化物質は複数の状態を有し、該状態は、リセット状態、該リセット状態のセット・エネルギーに対応する量のエネルギーを印加することによって前記リセット状態から得られるセット状態であって、前記リセット状態よりも低い抵抗を有するセット状態、および前記リセット状態とほぼ同じ抵抗を有する１つまたは複数の中間状態であって、前記リセット状態の前記セット・エネルギーよりも小さい量のエネルギーを印加することによって前記リセット状態から得られる１つまたは複数の中間状態を含み、
前記入力数の潜在乗法的因数を提供し、
該潜在乗法的因数に従って前記相変化物質をプログラムし、該プログラミングがプログラミング状態を定義することを含み、該プログラミング状態が前記相変化物質の前記複数の状態から選択され、前記プログラミング状態が前記リセット状態および前記セット状態を含み、前記プログラミング状態の数が前記潜在乗法的因数よりも１つ多く、
前記相変化物質を前記リセット状態へトランスフォームし、
Ａ．前記相変化物質を増分し、該増分が、前記プログラミング状態の異なった１つへ前記相変化物質をトランスフォームするのに十分なエネルギーを提供することを含み、
Ｂ．前記相変化物質が前記セット状態へトランスフォームされるまで、前記増分ステップＡを繰り返して反復し、
Ｃ．前記相変化物質をリセットし、
前記相変化物質が増分された回数が前記入力数に等しくなるまで、前記ステップＡ、Ｂ、Ｃを繰り返して反復する
ステップを含む方法。
【請求項２】
前記増分ステップＡが、更に、前記相変化物質の抵抗を測定することを含む、請求項１に記載の方法。
【請求項３】
前記相変化物質が前記プログラミング状態の前記異なった１つへトランスフォームされた後、前記測定が完了する、請求項２に記載の方法。
【請求項４】
更に、前記潜在乗法的因数が乗法的因数であるかどうかを決定するステップを含み、該決定ステップが、前記相変化物質が前記入力数と等しい回数だけ増分された後に前記相変化物質の抵抗を測定することを含む、請求項１に記載の方法。
【請求項５】
更に、前記相変化物質が前記セット状態へトランスフォームされた回数をカウントするステップを含む、請求項１に記載の方法。
【請求項６】
前記相変化物質が、Ｉｎ、Ａｇ、Ｔｅ、Ｓｅ、Ｇｅ、Ｓｂ、Ｂｉ、Ｐｂ、Ｓｎ、Ａｓ、Ｓ、およびＰから成るグループから選択された１つまたは複数の元素、またはそれらの混合物または合金を含む、請求項１に記載の方法。
【請求項７】
前記相変化物質がカルコゲンを含む、請求項１に記載の方法。
【請求項８】
前記カルコゲンがＴｅおよびＳｅの混合物である、請求項７に記載の方法。
【請求項９】
前記相変化物質が更にＧｅを含む、請求項７に記載の方法。
【請求項１０】
前記相変化物質が更にＳｂを含む、請求項７に記載の方法。
【請求項１１】
前記相変化物質が更に遷移金属の元素を含む、請求項７に記載の方法。
【請求項１２】
前記遷移金属が、Ｃｒ、Ｆｅ、Ｎｉ、Ｎｂ、Ｐｄ、およびＰｔから成るグループから選択される、請求項１１に記載の方法。
【請求項１３】
前記プログラミング状態が均一のエネルギー区間によって分離される、請求項１に記載の方法。
【請求項１４】
前記増分ステップＡが、電気エネルギーの形態をしたエネルギーを提供することによって達成される、請求項１に記載の方法。
【請求項１５】
前記電気エネルギーが、電流または電圧のパルスを含む、請求項１４に記載の方法。
【請求項１６】
前記増分ステップＡが、光エネルギーの形態をしたエネルギーを提供することによって達成される、請求項１に記載の方法。
【請求項１７】
前記増分ステップＡが、熱エネルギーの形態をしたエネルギーを提供することによって達成される、請求項１に記載の方法。
【請求項１８】
入力数を因数分解する方法であって、
ディジタル多状態相変化物質の複数のボリュームを提供し、相変化物質の前記ボリュームの各々は複数の状態を有し、該状態は、リセット状態、該リセット状態のセット・エネルギーに対応する量のエネルギーを印加することによって前記リセット状態から得られるセット状態であって、前記リセット状態よりも低い抵抗を有するセット状態、および前記リセット状態とほぼ同じ抵抗を有する１つまたは複数の中間状態であって、前記リセット状態の前記セット・エネルギーよりも小さい量のエネルギーを印加することによって前記リセット状態から得られる１つまたは複数の中間状態を含み、
前記入力数の複数の潜在乗法的因数を提供し、
請求項１の方法を、相変化物質の前記ボリュームへ適用する
ステップを含み、相変化物質の前記ボリュームの各々は、前記潜在乗法的因数の異なった１つに従ってプログラムされる
ことを含む方法。
【請求項１９】
前記複数の潜在乗法的因数の各々が素数である、請求項１８に記載の方法。
【請求項２０】
更に、前記素数のいずれが前記入力数の乗法的因数であるかを決定するステップを含み、該決定ステップが、前記素数に従ってプログラムされた相変化物質の前記ボリュームの電気抵抗を測定することを含む、請求項１９に記載の方法。
【請求項２１】
更に、前記入力数の乗法的因数であると決定された素数の余因数を計算するステップを含み、該計算ステップが、請求項１の方法を適用する前記ステップの間に前記素数の乗法的因数に従ってプログラムされた相変化物質のボリュームがセットされた回数をカウントすることを含む、請求項２０に記載の方法。
【請求項２２】
更に、請求項１８の方法に従って前記余因数を因数分解するステップを含む、請求項２１に記載の方法。
【請求項２３】
更に、請求項１９の方法に従って前記余因数を因数分解するステップを含む、請求項２１に記載の方法。
【請求項２４】
モジュラ算術システムで入力数の合同を決定する方法であって、
ディジタル多状態相変化物質のボリュームを提供し、前記相変化物質が複数の状態を含み、該状態は、リセット状態、該リセット状態のセット・エネルギーに対応する量のエネルギーを印加することによって前記リセット状態から得られるセット状態であって、前記リセット状態よりも低い抵抗を有するセット状態、および前記リセット状態とほぼ同じ抵抗を有する１つまたは複数の中間状態であって、前記リセット状態の前記セット・エネルギーよりも小さい量のエネルギーを印加することによって前記リセット状態から得られる１つまたは複数の中間状態を含み、
前記モジュラ算術システムのモジュラスを提供し、
前記モジュラスに従って前記相変化物質をプログラムし、前記プログラミングはプログラミング状態を定義することを含み、前記プログラミング状態は、前記相変化物質の前記複数の状態から選択され、前記プログラミング状態は前記リセット状態および前記セット状態を含み、前記プログラミング状態の数は前記モジュラスよりも１つ多く、
前記相変化物質を前記リセット状態へトランスフォームし、
Ａ．前記相変化物質を増分し、該増分は、前記プログラミング状態の異なった１つへ前記相変化物質をトランスフォームするのに十分なエネルギーを提供することを含み、
Ｂ．前記相変化物質が前記セット状態へトランスフォームされるまで、前記増分ステップＡを繰り返して反復し、
Ｃ．前記相変化物質をリセットし、
前記相変化物質が増分された回数が前記入力数と等しくなるまで、前記ステップＡ、Ｂ、およびＣを繰り返して反復し、
前記相変化物質を読み取る
ステップを含み、該読み取りが、
前記相変化物質を前記セット状態へトランスフォームするのに必要な増分の数をカウントし、
前記モジュラスから前記増分の数を減じる
ステップを含む方法。
【請求項２５】
モジュラ算術システムで第１の数と第２の数を加算する方法であって、
ディジタル多状態相変化物質のボリュームを提供し、前記相変化物質は複数の状態を有し、該状態は、リセット状態、該リセット状態のセット・エネルギーに対応する量のエネルギーを印加することによって前記リセット状態から得られるセット状態であって、前記リセット状態よりも低い抵抗を有するセット状態、および前記リセット状態とほぼ同じ抵抗を有する１つまたは複数の中間状態であって、前記リセット状態の前記セット・エネルギーよりも小さい量のエネルギーを印加することによって前記リセット状態から得られる１つまたは複数の中間状態を含み、
前記第１の数および前記第２の数を提供し、
前記モジュラ算術システムのモジュラスを提供し、
前記モジュラスに従って前記相変化物質をプログラムし、該プログラミングはプログラミング状態を定義することを含み、該プログラミング状態は前記相変化物質の前記複数の状態から選択され、前記プログラミング状態は前記リセット状態および前記セット状態を含み、前記プログラミング状態の数は前記モジュラスよりも１つ多く、
前記相変化物質を前記リセット状態へトランスフォームし、
Ａ．前記相変化物質を増分し、該増分は、前記プログラミング状態の異なった１つへ前記相変化物質をトランスフォームするのに十分なエネルギーを提供することを含み、
Ｂ．前記相変化物質が前記セット状態へトランスフォームされるまで、前記増分ステップＡを繰り返して反復し、
Ｃ．前記相変化物質をリセットし、
前記相変化物質が増分された回数が前記第１の数と等しくなるまで、前記ステップＡ、Ｂ、およびＣを繰り返して反復し、
Ｄ．前記相変化物質を増分し、該増分は、前記相変化物質を前記プログラミング状態の異なった１つへトランスフォームするのに十分なエネルギーを提供することを含み、
Ｅ．前記相変化物質が前記セット状態へトランスフォームされるまで、前記増分ステップＤを繰り返して反復し、
Ｆ．前記相変化物質をリセットし、
前記相変化物質が増分された回数が前記第２の数に等しくなるまで、前記ステップＤ、Ｅ、およびＦを繰り返して反復する
ステップを含む方法。
【請求項２６】
更に、前記相変化物質を読み取るステップを含み、該読み取りが、
前記相変化物質を前記セット状態へトランスフォームするのに必要な増分の数をカウントし、
前記増分の数を前記モジュラスから減じる
ステップを含む、請求項２５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、数の因数分解およびモジュラ算術に向けられた計算方法に関する。更に具体的には、本発明はディジタル多状態相変化物質を使用して、非バイナリ方式で因数分解およびモジュラ算術を実行することに関する。
【０００２】
関連出願情報
本願は、２００２年５月１０日に出願された米国出願第１０／１４４３１９号の一部継続出願である。
【０００３】
背景技術
コンピュータの発展は、通常、二十世紀後半における最も顕著な進歩の一つとして考えられる。コンピュータは、日常生活の多くの局面を単純化し、経済の顕著な生産性利得をもたらした。画像処理および複雑な計算における最近のニーズは、マイクロプロセッサの速度およびメモリ記憶密度の顕著な向上によっても満たされていない。コンピュータの更なる進歩および将来のアプリケーションは、より大量の情報を、より効率的に処理する人間の能力に依存する。
【０００４】
シリコンは今日のコンピュータの心臓である。コンピューティング・パワーおよびスピードの向上は、シリコンの基本特性をよく理解して、それらの特性を実用的および効果的に利用した結果であった。初期の進歩は基本的電子構成部品、たとえば、シリコンからのトランジスタおよびダイオードの構築に基礎を有し、後期の進歩は集積回路の開発から始まった。最近の進歩は、これらの傾向の継続であり、現在では、微細化およびマイクロエレクトロニクス・デバイスを一層多く１つのチップに集積することに重点が置かれている。デバイスが小さくなると、メモリ記憶密度は高くなり、回路の集積度は密になり、同一チップ上のデバイス間の対話時間は短くなる。
【０００５】
シリコンをベースとしたコンピューティング・デバイスの固有の特徴は、数学演算および他のデータ処理の目的をバイナリで実行することである。バイナリ計算では、計算媒体であるシリコンは、データを表現および操作するために使用される２つのプログラミング状態を有する。２つのプログラミング状態は、典型的には、「０」および「１」と呼ばれ、「０」または「１」を記憶するために使用されるシリコンのボリュームは、典型的にはビットと呼ばれる。数字および文字を含むデータは、１つまたは複数の一連の「０」および／または「１」へ変換される。ここで、「０」または「１」は、分離されたビットの中に記憶される。したがって、一連のビットは、「０」および「１」の適切な組み合わせを確立することによって、データを記憶するようにプログラムされる。データの操作は、所望される計算目的に従ってビットの状態を修正して出力を生成するビット演算を含む。生成された出力は、典型的には、操作の開始時に存在していたものとは異なった「０」および／または「１」の組み合わせまたはシーケンスを記憶した一連のビットを含む。
【０００６】
バイナリ・コンピュータは、多数のコンピューティング・アプリケーション、たとえば、オートメーション、ワード・プロセシング、および基本的数学計算を著しく成功させることを証明した。計算ニーズが拡大され、より複雑なアプリケーションが想定されるにつれて、従来型のバイナリ計算は多くの制約を有することが明らかになってきた。たとえば、計算速度を高め、並列演算を多用するには、シリコン・ベースのマイクロエレクトロニクス・デバイスを継続的に微細化できる能力が基礎となる。しかし、微細化努力を継続できるだろうかという心配がますます顕著になっている。なぜなら、実用的および基本的な限界によって、微細化への障壁を克服できないことを多くの人々が信じているからである。適応性、対話性、または高度の並列処理を必要とする複雑なコンピューティング環境が、従来型のバイナリ方法で最適に達成され、または可能であるとは思われない。
【０００７】
コンピュータ産業が拡大し、コンピュータが一層多くのアプリケーションおよび一層複雑なコンピューティング環境へ関与していくためには、コンピュータが機能する方式を変えることが順当である。
【０００８】
発明の開示
本発明は、一般的には、非バイナリ計算方法によってコンピュータの能力範囲を拡張することに向けられている。本発明の方法は、非バイナリ演算を行うことのできる計算媒体のために設計されている。非バイナリ演算は、３つ以上のプログラミング状態を処理することのできるディジタル多状態相変化物質を使用して実現される。本発明の計算方法によれば、３つ以上のプログラミング状態を含む計算媒体を使用して計算を実行することができる。３つ以上のプログラミング状態を使用する計算は、本発明の計算方法を使用して達成可能である。
【０００９】
１つの実施形態において、因数分解の方法が提供される。この方法の目的は、入力された数の乗法的因数を決定することである。この方法は、潜在乗法的因数に対応する多数のプログラミング状態を確立することによって、潜在乗法的因数に従ってディジタル多状態相変化物質をプログラムすることを含む。各々のプログラミング状態へ数値が割り当てられ、異なったプログラミング状態の間のトランスフォーメーションは、プログラミング状態に結合された数の数学操作に対応する。プログラミング状態は、相変化物質のリセット状態に対してエネルギーを分離され、潜在乗法的因数に結合されたプログラミング状態が相変化物質のセット状態に対応するように選択される。したがって、潜在乗法的因数を特徴づける量のエネルギーを、相変化物質のリセット状態へ印加すると、相変化物質はセットされる。セッティング・トランスフォーメーションは、相変化物質の抵抗の変化として容易に検出される。因数分解される数に対応するエネルギーを、潜在乗法的因数を特徴づける量で分析することによって、因数分解が達成される。その達成は、セッティング・トランスフォーメーション（および各々のセッティング・トランスフォーメーションの後のリセッティング）の数をカウントし、因数分解される数に対応する全てのエネルギーが提供されたとき剰余が存在しないことを確認することによって行われる。
【００１０】
１つの実施形態において、異なった潜在乗法的因数をテストするため相変化物質の所与のボリュームが使用される。潜在乗法的因数のテストは、１つの乗法的因数に従ってプログラミング状態を順次に確立し、その潜在乗法的因数が確かに因数であるかどうかを決定し、それに従ってプログラミング状態を再確立し、他の乗法的因数について反復することによって行われる。多状態相変化物質の固有の特徴は、プログラミング状態を定義および再定義する能力であって、或る数の異なったプログラミング状態が、異なったエネルギーでリセット状態とセット状態との間に配置されるように、プログラミング状態を定義および再定義することができる。したがって、幾つかの異なった潜在乗法的因数の各々に、セット状態を対応させることが可能である。
【００１１】
代替の実施形態において、異なった乗法的因数をテストするため、相変化物質の別々のボリュームが使用される。この実施形態において、問題とする各々の乗法的因数の各々に対して、相変化物質の別々のボリュームが専用に使用され、それに従って適切な数のプログラミング状態を確立することによってプログラムされる。この実施形態では、相変化物質の別々のボリュームの上で直列または並列に動作することによって、多数の潜在乗法的因数がテストされる。並列動作は、特に数の効果的な因数分解を提供する。
【００１２】
本発明の方法は、更に、モジュラ算術フレームワークにおける計算を提供する。これらの方法は、モジュラスによって支配される算術システムで剰余および合同関係を計算する方法を含む。
【００１３】
詳細な説明
本発明は、非バイナリ方式で動作することのできる計算媒体を使用するのに適した計算方法を提供することによって、従来型のバイナリ計算デバイスの制約を克服する一歩を進めたものである。本発明の発明者は、非バイナリ計算方法が機能性を向上させ、コンピュータ・アプリケーションの範囲を拡張する機会を提供するものと信じる。同時係属特許出願である米国特許出願第１０／１４４３１９号明細書で説明されているように、非バイナリ計算は有利である。なぜなら、それは情報記憶密度を高くし、データの並列処理を増大させるからである。
【００１４】
非バイナリ計算を実現することは、３つ以上のプログラミング状態を維持することのできる計算物質を認定し、データを非バイナリ方式で記憶および処理することのできる計算方法を開発することを含む。同時係属特許出願である米国特許出願第１０／１４４３１９号明細書は、非バイナリ計算に適した多状態特性を提供するようにプログラムされる物質の例として、相変化物質を認定している。多状態プログラミングおよび計算能力を提供する媒体としての相変化物質の関連属性を、要約して以下で説明する。更なる詳細は、同時係属特許出願である米国特許出願第１０／１４４３１９号明細書で説明されている。
【００１５】
非バイナリ演算に適した相変化物質は、少なくとも高抵抗状態および区別して検出可能な低抵抗状態を有する相を含む。本明細書で使用される高および低の抵抗状態とは、それぞれ高および低の電気抵抗によって特徴づけられる物理状態を意味する。ここで、高および低の電気抵抗状態の電気抵抗は、相互に相対的であって、相互から区別して検出可能である。そのような相変化物質の例は、共通に譲渡された米国特許第５，１６６，７５８号明細書、米国特許第５，２９６，７１６号明細書、米国特許第５，５２４，７１１号明細書、米国特許第５，５３６，９４７号明細書、米国特許第５，５９６，５２２号明細書、米国特許第５，８２５，０４６号明細書、米国特許第５，６８７，１１２号明細書に説明されている。これら特許文献の開示は、参照してここに組み込まれる。例示的な相変化物質は、元素Ｉｎ、Ａｇ、Ｔｅ、Ｓｅ、Ｇｅ、Ｓｂ、Ｂｉ、Ｐｂ、Ｓｎ、Ａｓ、Ｓ、Ｓｉ、Ｐ、Ｏの１つまたは複数、およびこれらの混合物または合金を含む。好ましい実施形態において、相変化物質はカルコゲン元素を含む。特に、Ｇｅおよび／またはＳｂと組み合わせたカルコゲンを含む相変化物質が好ましい。他の好ましい実施形態において、相変化物質は、カルコゲンおよび遷移金属、たとえば、Ｃｒ、Ｆｅ、Ｎｉ、Ｎｂ、Ｐｄ、Ｐｔ、またはこれらの混合物および合金を含む。
【００１６】
相変化物質は、有効なエネルギー量が印加されたとき、高抵抗状態から低抵抗状態へトランスフォームされる。本明細書で開示される図１は、エネルギーまたはパワーの関数として、相変化物質の電気抵抗をプロットした図である。もし相変化物質が最初に高抵抗状態にあれば、小さなエネルギー量の印加は物質を高抵抗状態のままに残す。この振る舞いは、図１の左側の高抵抗安定状態領域で示される。しかし、もし十分なエネルギー量が印加されると、相変化物質は高抵抗状態から低抵抗状態へトランスフォームされる。このトランスフォーメーションは、図１の高抵抗安定状態領域のすぐ右の電気抵抗の急峻な低減によって示される。高抵抗状態から低抵抗状態への相変化物質のトランスフォーメーションは、今後は、相変化物質の「セッティング」または「セット」と呼ばれる。セッティングで生成された低抵抗状態は、今後は、相変化物質の「セット状態」と呼ばれる。相変化物質をセットするのに十分なエネルギー量は、今後は、「セット・エネルギー」または「セッティング・エネルギー」と呼ばれる。セット・エネルギーは、高抵抗安定状態に沿った各々の状態で異なることに注意されたい。
【００１７】
図１の右側は、相変化物質がセットされたときの振る舞いに対応する。一度セットされると、相変化物質は低抵抗状態に止まり、図１の右側に示されるセッティング後（ｐｏｓｔ−ｓｅｔｔｉｎｇ）領域に従って、パワーの印加によって影響を受ける。電気抵抗応答曲線のこの部分は、参照によって組み込まれた前記特許文献の幾つかで、曲線のアナログまたはグレースケール・マルチビット部分と呼ばれる。相変化物質のセッティング後状態へエネルギーを印加すると、電気抵抗に変化が生じる。電気抵抗の変化は、印加されたエネルギーの量、およびエネルギーが印可されたレートによって決定される。エネルギーが提供されるレートは、今後はパワーと呼ばれ、セッティング後領域における相変化物質の振る舞いの重要な要因となる。
【００１８】
理論に束縛されることは望まないが、本発明の発明者は、セッティング・トランスフォーメーションにおける低抵抗セット状態の確立は、相変化物質の全体にわたって連続的結晶通路が形成される結果であると考える。セッティング前（ｐｒｅ−ｓｅｔｔｉｎｇ）領域では、相変化物質は、アモルファス相成分および可能性として結晶相成分を含むものと考えられる。結晶相の存在および相対量は、相変化物質の形成に使用される準備および処理条件に依存する。たとえば、融解の次に急速冷却が続く処理は結晶化を妨げると思われるが、融解の次に緩慢な冷却が続く処理は結晶化を促進すると思われる。結晶相は、もしセッティング前領域に存在すると、アモルファス相の中に散在し、相変化物質の全体にわたって連続通路を提供することができない。アモルファス相は結晶相よりも高い電気抵抗を有するので、連続結晶網が存在しないと、相変化物質はセッティング前領域で高い電気抵抗となる。
【００１９】
本発明の発明者は、電気抵抗曲線のセッティング前高抵抗安定状態領域でエネルギーを印加すると、相変化物質の中の結晶相の相対量が増加するものと考える。連続結晶網が形成されないと仮定すれば、結晶相の増加量は相変化物質の電気抵抗に実質的な影響を与えない。本発明の発明者は、連続結晶網の形成がセッティング・トランスフォーメーションの間に起こり、セッティング・トランスフォーメーションに伴う電気抵抗の減少は、連続結晶相の全体にわたる導電通路の存在から生じるものと考える。連続結晶相はアモルファス相よりも低い抵抗を有するので、連続結晶網が存在すると、セッティング後の相変化物質の電気抵抗は低くなる。
【００２０】
セッティング後領域では、エネルギーは低抵抗セット状態へ印加され、結晶網に影響を与えるかも知れない。エネルギーの追加は、発熱および相変化物質の温度増加を生じる。十分なエネルギーが相変化物質へ印加されると、セッティングのときに存在した連続結晶網を融解するか、熱的に分断しうる。融解が起こると、後続の冷却は、結晶相成分の異なった量または接続性を有する相変化物質を生じやすい。結晶網の融解または熱的分断は、低抵抗結晶相の全体にわたって導電通路を破壊し、それによってセッティング後領域における相変化物質の電気抵抗を増加する。結晶網の融解または熱的分断は、十分なエネルギーが融解または熱的分断サイトに残って、融解または熱的分断が起こることを必要とする。熱伝導、熱容量、周囲への損失などに起因する熱消散プロセスは、エネルギーを除去するように働き、したがって結晶網の融解または熱的分断を妨げるので、エネルギー追加のレートを十分に高くして、熱消散プロセスを補償しながら、融解または熱的分断を起こさなければならない。したがって、エネルギーまたはパワーのレートは、電気抵抗曲線のセッティング後領域で重大な考慮事項となる。
【００２１】
図１のセッティング後領域における相変化物質のパワーおよび状態に依存して、電気抵抗の増加または減少が起こってよい。なぜなら、セッティング後領域における振る舞いは可逆的だからである。この可逆性は、図１のセッティング後領域の２つの矢印で示され、相変化物質の結晶網の性質を変化させる可逆能力を反映するものと、本発明の発明者によって考えられている。パワーおよび電気抵抗は、セッティング後領域の各々の点に結合されてよい。もし印加されたパワーが、セッティング後領域の相変化物質を示す点と結合されたパワーを超過すれば、相変化物質の電気抵抗は増加する。逆に、もし印加されたパワーが、セッティング後領域の相変化物質を示す点に結合されたパワーよりも小さければ、電気抵抗は減少する。本発明の発明者は、セッティング後領域の電気抵抗の増加は相変化物質の結晶成分の中断または再構成を反映しており、結晶成分の全体にわたる導電通路が、数、サイズ、または容量で低減するものと考える。セッティング後領域の電気抵抗の減少については、この逆になるものと考えられる。
【００２２】
可逆性は、図１のセッティング後領域に限られる。セッティング・トランスフォーメーションに先立つ（即ち、左にある）図１の高抵抗安定状態領域の点に対応するエネルギーを印加することによってセッティング・トランスフォーメーションを逆にすることは不可能である。しかし、図１のセッティング後領域の点によって示される十分に高いパワーを相変化物質へ印加することによって、相変化物質の高抵抗状態を復元することは可能である。そのようなパワーの印加は、図１の右側方向へ移動することに対応し、セッティング・トランスフォーメーションを逆にする方向には対応しない。図１のセッティング後領域で示されるように、連続的に増加する量のパワーを印加すると、電気抵抗は連続的に増加する。図１のずっと右側まで、相変化物質を駆動するのに十分なパワーを印加すると、相変化物質は高抵抗状態へ戻り、高抵抗安定状態を更新する。本発明の発明者は、相変化物質へ提供されたパワーが、相変化物質の結晶成分の連続性を破壊するのに十分であるとき、高抵抗安定状態の復元が起こるものと考える。高抵抗安定状態の復元は、相変化物質の結晶成分の量の低減（たとえば、アモルファス成分の量を増加する融解および急冷プロセスによって起こる）、結晶成分の最構成または最分散によって連続性が失われること、またはこれらの組み合わせに起因して起こるのかも知れない。
【００２３】
相変化物質を低抵抗セット状態から高抵抗状態へトランスフォームするのに必要なエネルギーのパワーまたはレートは、今後は、「リセット・パワー」、「リセッティング・パワー」、「リセット・エネルギー」、「リセッティング・エネルギー」などと呼ばれる。リセット・エネルギーの印加が完了したときの相変化物質の状態は、今後は、「リセット状態」と呼ばれる。リセット・パワーの印加は、相変化物質を「リセット」して、高抵抗リセット状態を生成する。リセッティングの後に、エネルギーを更に印加するとき看取される振る舞いは、図１の高抵抗安定状態領域について説明された振る舞いと類似している。図１で示されるプロットは、セッティングおよびリセッティングの１サイクルに対応する。相変化物質は、多数のサイクルにわたって、再現的にセットおよびリセットされることが可能である。
【００２４】
非バイナリ計算の多数のプログラミング状態は、図１の左側で示される高抵抗安定状態領域に沿った状態を使用して達成される。セットするのに必要な量よりも少ない量のエネルギー（今後は、サブセッティング・エネルギー量と呼ぶ）を、高抵抗状態の相変化物質へ印加すると、電気抵抗を大きく変化させない物理的修正が物質の中で起こる。図１の安定状態領域の第１の点によって示される相変化物質へサブセッティング・エネルギー量を印加すると、相変化物質は、安定状態領域の第２の点によって示される物理状態へトランスフォームされる。ここで、第２の点は第１の点の右にある。サブセッティング・エネルギー量の印加によって、高抵抗安定状態領域の左方向へ相変化物質をトランスフォームすることはできない。図１のセッティング後アナログ・マルチビット部分について説明した可逆性のコンセプトは、セッティング前ディジタル多状態高抵抗安定状態には適用できない。高抵抗安定状態領域の最初の点の左にある点は、相変化物質をセットし、それをリセットし、次に適切なサブセッティング・エネルギー量を印加することによって到達される。
【００２５】
高抵抗安定状態領域の一方向性応答の結果として、相変化物質はセット・エネルギーまでのエネルギー量を累積および記憶することができる。相変化物質の電気抵抗は高抵抗安定状態領域では変化しないが、各々のサブセッティング・エネルギーの印加によって、相変化物質は低抵抗セット状態へ向かって予報的に進行する。相変化物質のこの振る舞いは、本明細書で開示される多状態計算方法で利用される。
【００２６】
好ましい実施形態において、リセット状態は、図１の高抵抗安定状態領域の中の開始点として選択される。相変化物質をリセット状態からセット状態へトランスフォームするのに必要なエネルギーの区間は、今後は、「リセット状態のセッティング（またはセット）エネルギー」と呼ばれる。リセット状態のセッティング・エネルギーは、再生可能であり、セッティングおよびリセッティングの多数のサイクルにわたって一定であるから、それを２つ以上の部分区間へ分割することができ、相変化メモリ物質の異なったプログラミング状態またはプログラミング値を、部分区間エネルギー印加の異なった数または組み合わせによって定義し、またはそれらに結合することができる。図１の高抵抗安定状態領域における相変化物質の再生可能一方向性振る舞いは、部分区間量で物質へ印加されたエネルギーの累積量に従って、区別できるプログラミング状態を確立する能力を提供する。ここで、区別できるプログラミング状態は、リセット状態のセット・エネルギーを超過しない各々の累積エネルギー量について定義される。
【００２７】
区別できるプログラミング状態の集合は、一連のサブセッティング・エネルギーを部分区間で印加することによってリセット状態へ印加された累積エネルギー量に従って一意および再生可能に定義されることができる。たとえば、最初のプログラミング状態は、第１の部分区間エネルギー量をリセット状態へ印加することに結合される。第１のプログラミング状態にある相変化物質へ第１の部分区間エネルギー量を２回目に印加することは、第２のプログラミング状態を定義するために使用される。第２のプログラミング状態は、代替的に、第１の部分区間エネルギー量とは大きさにおいて異なる第２の部分区間エネルギー量を、リセット状態へ１回印加することに結合されてよい。部分区間エネルギー量の順次の印加および組み合わせは、図１の高抵抗安定状態領域の全体にわたって一連のプログラミング状態を定義するために使用される。ここで、異なったプログラミング状態は、リセット状態に対するエネルギー量に従って区別される。
【００２８】
エネルギーを部分区間で印加する複数のシーケンスおよび組み合わせは、本発明の計算方法および一般的な非バイナリ計算方法によって使用されるプログラミング状態を確立する実施形態を構成する。或る実施形態では、高抵抗安定状態領域の状態のみが、プログラミング状態として含められる。他の実施形態では、低抵抗状態への相変化物質のトランスフォーメーションで取得されたセット状態が、追加のプログラミング状態として含められる。リセット状態へ印加された累積エネルギー量が、リセット状態のセッティング・エネルギーへ達したとき、相変化物質がセットされる。セッティングの後、エネルギーを更に印加されたときの相変化物質の振る舞いは、図１のセッティング後領域によって支配される。
【００２９】
本発明で使用される相変化物質は、リセット状態からセット状態へ延びる状態の連続体を有する。状態は、リセット状態、高抵抗安定状態に沿った一連の中間状態、およびセット状態を含む。中間状態およびセット状態は、リセット状態へエネルギーを印加することによって取得される。したがって、相変化物質に結合された状態は、リセット状態に対するエネルギーで区別できる状態の連続体を形成すると見ることができる。これまで説明したプログラミング状態は、この状態連続体から選択される。プログラミング状態は、一般的に、整数のような離散的データ値に結合され、相変化物質をプログラミング状態へトランスフォームするため相変化物質のリセット状態へ加えられなければならないエネルギーに対応するプログラミング・エネルギーを有する。たとえば、特定のプログラミング状態は、相変化物質をそのプログラミング状態へトランスフォームするため相変化物質のリセット状態へ加えられなければならないエネルギー量に対応するプログラミング・エネルギーを有する。したがって、プログラミング状態のプログラミング・エネルギーは、リセット状態に対するエネルギーの尺度であり、各々のプログラミング状態は一意のプログラミング・エネルギーに結合される。
【００３０】
好ましい実施形態において、各々のプログラミング状態は、それに割り当てられるか結合された一意のデータ値を有する。他の好ましい実施形態では、増加するプログラミング・エネルギーの順序で、連続した整数がプログラミング状態へ割り当てられるか結合される。これらの実施形態において、或る数に結合されたプログラミング状態へ相変化物質をトランスフォームすることによって、その数が記憶される。数値とプログラミング状態との一意の対応は、或る範囲の任意の数を、相変化物質の１つの区別できる状態へ記憶する能力を提供する。多数の数または１つの特定の数の多数のディジットが、相変化物質の多数の部分に記憶される。計算は、一般的に、計算目的に従って１つまたは複数のプログラミング状態の中でトランスフォーメーションを起こさせるエネルギーを提供することによって実行される。
【００３１】
前述したように、部分区間エネルギー量の各々の印加によって、高抵抗安定状態の相変化物質はセット状態へ向かって進行する。高抵抗安定状態に沿ったリセットおよび中間状態は、ほぼ同じ電気抵抗を有し、したがって電気抵抗をベースとしては区別することができないが、高抵抗安定状態に沿った各々の状態は、他の全ての状態から区別して検出できるように残される。なぜなら、高抵抗安定状態に沿った異なった点によって示される相変化物質をセットするためには、異なったエネルギー量が必要だからである。たとえば、高抵抗安定状態に沿った第１の点によって示される相変化物質を、高抵抗安定状態に沿った第２の点へトランスフォームするため或るエネルギー量が印加された場合、正確には、第２の点によって示される相変化物質をセット状態へトランスフォームするためには、第１の点によって示される相変化物質をセット状態へトランスフォームするために必要なエネルギー量よりも小さいエネルギー量が必要である。セット状態は、高抵抗安定状態に沿った状態に対し区別して検出できる低抵抗状態であり、高抵抗安定状態に沿った任意の点によって示される相変化物質をセットするために必要なエネルギー量は決定可能であるから、高抵抗安定状態に沿った異なる点を区別することができ、高抵抗安定状態に沿った各々の点を、異なったプログラミング状態および／または数値に結合することができる。結果として、リセット状態からセット状態までのエネルギー区間を、適切な部分区間数で除することによって、実際に任意数のプログラミング状態を、図１の高抵抗安定状態領域の中で定義することができる。その結果、高抵抗安定状態領域を一連の離散的プログラミング状態へ分割し、それらの状態をデータの記憶および処理に使用することができる。相変化物質は、現在のバイナリ・コンピュータと同じ２つのプログラミング状態に限定されず、非バイナリ多状態プログラミングおよび計算能力を提供する。
【００３２】
プログラミング状態の数は、相変化物質のリセット状態（または他の開始状態）からセット状態へのトランスフォーメーションに結合されたエネルギー区間の大きさ（リセット状態または開始状態のセット・エネルギーの大きさ）、このエネルギー区間を部分区間へ分割できる分解能、および実用的考慮、たとえば、特定数のプログラミング状態を有することに関連する計算または処理上の利点に依存する。本明細書で使用されるように、開始状態または初期状態は、高抵抗安定状態に沿った最初または最低のエネルギーのプログラミング状態を意味する。リセット状態を開始状態にすることが好ましく、特別に指定しない限り、以下の説明では、リセット状態が開始状態であると仮定される。しかし、認識すべきは、高抵抗安定状態に沿った異なる状態が、開始状態として選択されてよいことである。
【００３３】
リセット状態とセット状態との間のエネルギー区間の大きさは、相変化物質の化学構成によって影響を受ける。部分区間が定義される分解能は、相変化物質をプログラムし、トランスフォームし、または読み取るために使用されるエネルギー源のエネルギー分解能に依存する。本発明の計算方法に従って、相変化物質の状態の間で、相変化物質をトランスフォームするのに適したエネルギー源は、同時係属特許出願である米国特許出願第１０／１４４３１９号明細書で詳細に説明されている。計算的見地からは、プログラミング状態の数は、計算方法またはアルゴリズムの性質、スピード、並列性、または便宜性に影響を与える。たとえば、プログラミング状態の数を２の倍数に選択すると、現在利用可能なバイナリ・アルゴリズムを、本発明の非バイナリ計算方法で使用するように適合化することができる。たとえば、４、８、１６、３２、６４などのプログラミング状態を有する実施形態が本発明に含まれる。１０のプログラミング状態を使用すると、日常生活で使用される１０進法に基づく方法を便利に実現することができ、これも本発明の実施形態の中に含まれる。この後で説明するように、本発明の計算方法では、潜在乗法的因数に対応するプログラミング状態の数を有する相変化物質を利用するのが望ましい。
【００３４】
本発明の計算方法およびアルゴリズムで使用するのに適した相変化物質の例は、米国特許第５，１６６，７５８号明細書、米国特許第５，２９６，７１６号明細書、米国特許第５，５２４，７１１号明細書、米国特許第５，５３６，９４７号明細書、米国特許第５，５９６，５２２号明細書、米国特許第５，８２５，０４６号明細書、米国特許第５，６８７，１１２号明細書、米国特許第５，９１２，８３９号明細書、米国特許第３，２７１，５９１号明細書、米国特許第３，５３０，４４１号明細書に記載されている。これらの特許文献の開示は、参照してここに組み込まれる。メモリ物質のボリュームは、誘電物質および相変化物質の混合物を含むことができる。そのような混合物の例は、共通に譲渡された米国特許第６，０８７，６７４号明細書に説明されている。この特許文献の開示は、参照してここに組み込まれる。本発明の計算方法に適した物質は、典型的には、元素Ｉｎ、Ａｇ、Ｔｅ、Ｓｅ、Ｇｅ、Ｓｂ、Ｂｉ、Ｐｂ、Ｓｎ、Ａｓ、Ｓ、Ｓｉ、Ｐ、Ｏの１つまたは複数、またはこれらの混合物および合金を含む。１つの好ましい実施形態において、相変化物質はカルコゲンを含む。他の好ましい実施形態において、相変化物質はカルコゲンおよびＧｅを含む。更に好ましい実施形態において、相変化物質はＧｅ、カルコゲン、およびＳｂを含む。最も好ましい実施形態において、相変化物質はＧｅ、Ｔｅ、およびＳｂを含む。
【００３５】
本発明の計算方法は、エネルギーを相変化物質へ提供または印加するステップを含む。エネルギーの提供または印加は、エネルギーの制御された量を相変化物質へ引き渡すことのできる任意の源によって達成されてよい。提供されるエネルギーは、電気、光、および／または熱を含む任意の形態を取ることができる。エネルギーの制御された量は、今後は、「エネルギーのパルス」または「エネルギー・パルス」と呼ばれる。「セット・パルス」は、相変化物質をセットするのに十分なエネルギーのパルスであり、セッティング・エネルギー量を提供することに対応する。「リセット・パルス」は相変化物質をリセットするのに十分なエネルギーのパルスであり、リセッティング・エネルギー量の提供に対応する。
【００３６】
本発明の計算方法において、数を特徴づける量のエネルギーを相変化物質へ提供することによって、多くのステップまたは動作が実行される。特徴づけるエネルギーは、相変化物質のリセット状態のセッティング・エネルギー、プログラミング状態の数、および相変化物質を１つのプログラミング状態から次のプログラミング状態へトランスフォームするのに必要なエネルギーの部分区間に依存する。１つの実施形態において、或る数を特徴づけるか、その数に対応するエネルギーは、その数に比例したエネルギー量である。１つのプログラミング状態から次のプログラミング状態へ進行するために必要なエネルギーの部分区間は、今後は、「プログラミング区間」、「プログラム区間」、「プログラム区間エネルギー」、「プログラム・パルス」、「増分エネルギー」、「増分区間」、またはこれらと同等の名前で呼ばれる。
【００３７】
本明細書では、１つのプログラミング状態から次のプログラミング状態への進行とは、相変化物質の電気抵抗曲線に沿って定義される現在のプログラミング状態から次のプログラミング状態への相変化物質のトランスフォーメーションを意味する。前記次のプログラミング状態は、相変化物質のリセット状態に対して、必然的に現在のプログラミング状態よりも高いエネルギーを有し、電気抵抗曲線に沿った現在のプログラミング状態の右側にあるプログラミング状態に対応する。「増分する」または「増分エネルギーを適用する」およびこれらに類した用語は、相変化物質を、現在のプログラミング状態から、エネルギーが最も近いプログラミング状態であって電気抵抗曲線の上で現在のプログラミング状態の右側にあるプログラミング状態へトランスフォームすることを意味する。したがって、増分とは、相変化物質を、電気抵抗曲線に沿って右側方向へ、一時に１つのプログラミング状態だけトランスフォームすることを意味する。
【００３８】
本発明の１つの実施形態において、リセット状態は数０を表し、１つのプログラミング状態から次のプログラミング状態へ進行するため均一の増分エネルギーが使用される。結果として、全てのプログラミング状態はエネルギーについて均等に分離され、増分エネルギーの各々の印加は、記憶された数の値を１だけ増加することに対応する。したがって、リセット状態へ増分エネルギーを１回印加することによって数「１」が記憶され、リセット状態へ増分エネルギーを２回印加することによって数「２」が記憶され、以下同様にして、最大数を記憶するために使用されるメモリ物質のボリュームで記憶可能な最大数までが記憶される。均一な増分エネルギーの印加は、今後は、「均一増分パルス」または同等の用語で呼ばれる。
【００３９】
不均一のプログラミング区間または不均等の増分区間が使用される変形の実施形態は、本発明の追加の実施形態を構成する。本明細書では、不均一のプログラミング区間とは、プログラミング状態がエネルギーについて均等な間隔を有しないプログラミング区間のシーケンスを意味する。言い換えれば、隣接したプログラミング状態の間の増分エネルギーは、高抵抗安定状態に沿った異なる点で異なっており、たとえば、第１のプログラミング状態と第２のプログラミング状態とを分離する増分エネルギーは、第２のプログラミング状態と第３のプログラミング状態とを分離する増分エネルギーとは異なっている。以下同様である。そのような実施形態において、増分エネルギーは一定ではないが、増分のコンセプトは、相変化物質を、１つのプログラミング状態から、リセット状態に対して次ぎに高いエネルギーのプログラミング状態へトランスフォームするのに十分な量のエネルギーを追加または提供することを意味する。同様に、相変化物質の増分とは、初期プログラミング状態から最終プログラミング状態へ相変化物質をトランスフォームするため、相変化物質へエネルギーを提供することを意味する。ここで、初期プログラミング状態と最終プログラミング状態との間にプログラミング状態は存在しない。相変化物質を増分するプロセスに関連した初期および最終プログラミング状態は、本明細書では、隣接または連続プログラミング状態と呼ばれる。
【００４０】
相変化物質のプログラミング状態を確立することは、本明細書でプログラミング・ストラテジと呼ばれる。プログラミング・ストラテジは、エネルギーを部分区間で印加する所定のシーケンスを含む。このシーケンスにおいて、１つのプログラミング状態から次のプログラミング状態へのプログラミング区間、およびリセット状態から各々のプログラミング状態への累積印加エネルギーが具体的に定義される。それによって、各々のプログラミング状態がリセット状態に対して一意のプログラミング・エネルギーを有するプログラミング状態の集合が確立される。プログラミング・ストラテジは、リセット状態からセット状態へ延びる均一または不均一のプログラム区間を任意に組み合わせることができ、リセット状態またはセット状態をプログラミング状態として含んでも含まなくてもよい。特別に指定しない限り、以下の説明は、均一のプログラム区間を使用するプログラミング・ストラテジに関する。しかし、この選択は説明の便宜のために行われ、本発明の実施を限定するためではないことを認識すべきである。
【００４１】
可能性として、データまたは数値をプログラミング状態へ割り当てるか結合することがプログラミング・ストラテジに含まれ、各々のプログラミング状態が、異なったデータ値または数に対応するようにされる。計算は、相変化物質のプログラミング状態の間で、相変化物質をトランスフォームすることによって実行される。たとえば、数学目的に従って入力数を出力数へ変換することは、入力数に対応するプログラミング状態から出力数に対応するプログラミング状態へ相変化物質をトランスフォームするように、エネルギーを適正に提供することによって達成される。好ましくは、プログラミング状態に結合される値は整数である。更に好ましくは、整数は継続している。プログラミング・エネルギーの増加または減少する順序で整数値が結合される実施形態が考えられる。たとえば、もしリセット状態が０のデータ値に結合されるならば、１つのプログラミング区間エネルギーの印加は、１のデータ値に結合されたプログラミング状態へ物質を設定し、他のプログラミング区間エネルギーの印加は、２のデータ値に結合されたプログラミング状態へ物質を設定する。以下同様である。代替的に、プログラミング・エネルギーの減少順序で、データ値をプログラミング状態に結合することができる。たとえば、もしセット状態が０のデータ値に結合されるならば、セット状態を得るために１つのプログラミング区間エネルギーが提供されたプログラミング状態は、１のデータ値に結合される。以下同様である。データ値とプログラミング状態との結合は、特定の計算またはユーザの選好を容易にする多様な方法で達成されてよい。
【００４２】
本発明の計算方法は、非バイナリ計算媒体を使用する場合に適している。本明細書では、非バイナリ計算媒体とは、３つ以上のプログラミング状態を有する物質を意味する。バイナリ計算媒体は、２つのプログラミング状態を提供するが（典型的には、状態は「０」および「１」と呼ばれる）、非バイナリ計算媒体は、３つ以上のプログラミング状態を提供する。たとえば、３状態の非バイナリ計算媒体は、「０」、「１」、および「２」と呼ばれる状態を提供する。４つ以上の状態を有する高次の非バイナリ計算媒体は、同じように定義されてよい。
【００４３】
非バイナリ計算の利点を達成するため、非バイナリ計算媒体の多状態性質へ向けて計算方法を定式化することが必要である。加法、減法、乗法、および除法の方法は、同時係属特許出願である米国特許出願第１０／１４４３１９号明細書に説明されている。本発明の方法は、数の因数分解およびモジュラ算術フレームワークの中の計算に向けられている。因数分解の１つの方法は、特定の数が他の数の乗法的因数であるかどうかを決定することを含む。因数分解の他の方法は、特定の数の乗法的因数の完全な集合を決定することを含む。好ましい実施形態において、特定の数の素因数が決定される。モジュラ算術の方法は、剰余の決定、剰余に関連した計算、および数を剰余類へ分類することを含む。
【００４４】
因数分解の方法
因数分解の１つの方法は、或る数が他の数の乗法的因数であるかどうかを決定することを含む。この方法は、一般的に、因数分解される数および潜在乗法的因数を入力することが必要であり、潜在乗法的因数が確かに乗法的因数であるかどうかを決定し、その決定を出力として返す。この方法は、潜在乗法的因数に従ってプログラミング状態が確立される相変化物質について、プログラミング・ストラテジを定義することを含む。プログラミング状態の確立は、相変化物質について或る数のプログラミング状態を定義し、リセット状態からセット状態へ移るために必要な増分の数が、潜在乗法的因数に等しくなるようにすることを含む。プログラミング・ストラテジは、各々のプログラミング状態のプログラミング・エネルギーを指定することを含む。ここで、プログラミング・エネルギーとは、相変化物質をプログラム状態へトランスフォームするため相変化物質のリセット状態へ提供されなければならないエネルギーである。一度、各々のプログラミング状態のプログラミング・エネルギーが確立されると、隣接するプログラミング状態の間の増分区間も確立され、１つのプログラミング状態から次のプログラミング状態へ相変化物質をトランスフォームするために必要なエネルギーの増分が知られる。
【００４５】
一度、プログラミング・ストラテジが特定の潜在乗法的因数について定義されると、潜在乗法的因数が、確かに、因数分解が望まれる数の因数であるかどうかの決定が行われる。この決定は、相変化物質をリセットし、因数分解が望まれる数に等しい回数だけ相変化物質を増分することを含む。この増分は、本明細書では、因数分解が望まれる数に従った増分と呼ばれてよい。増分数が、潜在乗法的因数に等しければ、相変化物質はセットされる。相変化物質のセット状態は、プログラミング・ストラテジに含まれる他の状態よりも低い電気抵抗を有し、電気抵抗を測定することによって容易に検出される。たとえば、相変化物質が増分されるごとに、電気抵抗が測定され、相変化物質がセット状態にあるかどうかが決定される。本発明の因数分解方法において、因数分解が望まれる数に従った増分の間、相変化物質がセットされる度に、相変化物質がリセットされる。増分が完了すると、潜在乗法的因数が確かに因数であるかどうかの決定が行われる。因数分解が望まれる数に従った増分の完了時に、もし相変化物質がセット状態にあれば、潜在乗法的因数は確かに因数である。
【００４６】
この方法によって使用されるプログラミング・ストラテジの結果として、セット状態での増分の終了は、因数に必要な条件である。因数分解が望まれる数における潜在乗法的因数の各々の発生は、相変化物質のセッティングを生じる。その結果、増分の終了時に、もし相変化物質がセット状態にあれば、潜在乗法的因数は除数であり、したがって因数分解が望まれる数の因数である。もし潜在乗法的因数が確かに因数であれば、その余因数（即ち、因数分解される元の数を得るため乗じられる数）は、増分の間に相変化物質がセットされる回数をカウントすることによって決定される。もし相変化物質が、セット状態以外の状態にあれば、潜在乗法的因数は因数ではない。
【００４７】
本発明の因数分解方法は、複数の潜在乗法的因数に従った因数分解を提供する。異なった乗法的因数は、異なった乗法的因数に従ってプログラムされた１つのデバイスを使用して順次にテストされる。第１の乗法的因数は、それに基づく第１のプログラミング・ストラテジを使用してテストされる。その場合、相変化物質をリセット状態からセット状態へトランスフォームするために必要な増分の数は、第１の乗法的因数に等しい。第２の乗法的因数は、第２の乗法的因数に基づく第２のプログラミング・ストラテジを使用して、同じようにテストされる。相変化物質を含む計算媒体は、プログラミング状態を定義および再定義することによって、異なった乗法的因数に従って相変化物質の所与のボリュームをプログラムおよび再プログラムする能力を提供する。プログラミング状態の数およびプログラミング状態を分離するエネルギー区間は、異なった乗法的因数に適応するように、相変化物質の所与のボリュームについて変更される。関心事とする潜在乗法的因数の範囲に従ってプログラミング・ストラテジを変更することによって、相変化物質の所与のボリュームを使用して数の因数を決定することができる。このように、相変化物質を含む１つのデバイスを使用して、因数分解が達成される。
【００４８】
異なった乗法的因数に従って各々のボリュームがプログラムされる相変化物質の多数のボリュームも、因数分解を達成するために使用できる。この実施形態において、因数分解を達成するため複数のデバイスが使用されてよい。因数分解される数に従った増分は、異なった乗法的因数に従ってプログラムされた一連のデバイスの各々で実行される。同じ数の増分が、各々のデバイスへ印加される。増分は、全てのデバイスにわたって一時に１つの増分で実行され、各々のデバイスは、列の中のデバイスからデバイスへと連続する完全な増分で完全に増分されるか、全てのデバイスを横切る増分および個々のデバイスの複数回の増分の組み合わせによって完全に増分される。同様に、デバイスのプログラミング・ストラテジによって指示される量の増分エネルギーを提供する専用エネルギー源を個々のデバイスが有するか、各々のデバイスのプログラミング・ストラテジによって指示されるように複数のデバイスの各々へ可変エネルギー量を提供する能力を有する１つの共用エネルギー源が増分に使用されるか、専用エネルギー源および共用エネルギー源の組み合わせが使用されてよい。実施形態は、全てのデバイスを横断する並列動作モードから、個々のデバイスを直列的に考える動作モードまでのレンジが可能である。フルレンジの潜在乗法的因数に従ってプログラムされた十分な数のデバイスを含めることによって、数の全ての乗法的因数を決定することができる。好ましい実施形態において、素因数に従ってプログラムされたデバイスが含められ、数の素因数を決定するために使用される。
【００４９】
実施例１
この実施例では、数４が数３２の因数であるかどうかをテストするため、前述した因数分解方法が使用される。したがって、因数分解される数は３２であり、潜在乗法的因数は４である。この方法の実行は、潜在乗法的因数に従ってプログラミング状態を確立することから始まる。この実施例では、プログラミング・ストラテジは、４つの増分が相変化物質をリセット状態からセット状態へトランスフォームするように相変化物質のプログラミング状態を確立することを伴う。プログラミング・ストラテジを達成する１つの方法は、セット状態を、４つの増分に対応するプログラミング状態とし、リセット状態を、ゼロの増分に対応するプログラミング状態とし、リセット状態とセット状態との間の３つの中間状態を、１、２、３の増分に対応するプログラミング状態として選択することである。３つの中間状態は、相変化物質の電気応答曲線の高抵抗安定状態に沿った任意の場所に置かれてよい。好ましい実施形態において、３つの中間プログラミング状態は、連続したプログラミング状態の間の増分区間が均一になるように選択される。この実施形態が好ましい理由は、１つのプログラミング状態から次のプログラミング状態へ増分するために使用されるエネルギーを提供するエネルギー源が、一定量のエネルギーを提供するだけでよいからである。たとえば、もしエネルギーがエネルギー・パルスの形態で提供されるならば、１つのプログラミング状態から次のプログラミング状態へ相変化物質をトランスフォームするため一定エネルギーの増分パルスが印加されてよい。不均一増分区間は、本発明の範囲に入るが、エネルギー源によって提供されるエネルギーを、増分の間に変化させる必要があるので好ましくない。
【００５０】
図２は、現在の例と関係する１つのプログラミング・ストラテジを示す。図２は相変化物質の電気応答曲線の一部分を示し、高抵抗安定状態およびセッティング・トランスフォーメーションに結合された急峻な抵抗の減少を含む。図２の実施形態は、均一なエネルギー区間によって分離されたプログラミング状態を示し、したがって１つのプログラミング状態から次のプログラミング状態への増分エネルギーは一定である。プログラミング状態は、０から始まって継続する整数で呼ばれる。０の状態はリセット状態であり、４の状態はセット状態であり、１、２、３の状態は３つの中間状態である。プログラミング状態の呼び名は、プログラミング状態へ割り当てられるか結合される整数データ値として見てもよい。この例のプログラミング・ストラテジでは、リセット状態からセット状態へ相変化物質をトランスフォームするためには、４つのエネルギー増分が必要である。
【００５１】
４が３２の因数であるかどうかを決定するため、図２で定義されるプログラミング状態を有する相変化物質が、リセット状態へトランスフォームされて３２回増分される。その間、相変化物質がセットされる度に、その相変化物質はリセトされる。１つの増分エネルギーの提供は、相変化物質をプログラミング状態０からプログラミング状態１へトランスフォームする。第２の増分は相変化物質をプログラミング状態２へトランスフォームする。以下同様である。プログラミング状態３の相変化物質を増分すると、相変化物質はプログラミング状態４へセットされる。相変化物質のセッティングは、電気抵抗またはセット状態を特徴づける他の特性を測定することによって検出される。電気抵抗が、好ましい測定手段である。なぜなら、それは便利であり、セット状態を容易に識別させるからである。電気抵抗は、相変化物質の各々の増分の後で測定される。セット状態が検出されると、更なる増分が始まる前に相変化物質がリセットされる。この例では、第５のエネルギー増分がリセット状態へ加えられると、相変化物質はプログラミング状態０からプログラミング状態１へトランスフォームし、必要に応じてリセットされながら、更なる増分が開始される。
【００５２】
３２回の増分が行われたとき、相変化物質の状態が評価される。もし相変化物質がセット状態にあれば、潜在乗法的因数は確かに因数である。この例では、相変化物質は３２回増分されたときセット状態にあり、４は３２の乗法的因数であると結論される。相変化物質がセットされる回数をカウントすることによって、余因数も決定される。この例では、相変化物質は８回セットされる。したがって、この例では、４の余因数は８であることが分かる。
【００５３】
上記の例１の方法の１つの実行では、Ｇｅ２Ｓｂ２Ｔｅ５が相変化物質として使用され、電気エネルギー・パルスの形態の増分エネルギーが使用された。電気エネルギー・パルスは、パルス電圧またはパルス持続時間によって特徴づけられてよい。パルス電圧はパルス高またはパルス振幅とも呼ばれ、パルス持続時間はパルス幅とも呼ばれる。１．５Ｖのパルス電圧では、３２０ｎｓの持続時間を有するパルスを印加すると、相変化物質はリセット状態からセット状態へトランスフォームされる。潜在乗法的因数４をテストするため５つのプログラミング状態（４つのプログラミング区間）が使用され、プログラミング状態は均一に分離されるように選択されたので、１．５Ｖが８０ｎｓの間印加されたエネルギーに対応するエネルギーによって分離されるプログラミング状態が選択された。１．５Ｖで８０ｎｓのパルス印加は、１つのプログラミング状態から次のプログラミング状態へ相変化物質をトランスフォームするのに十分なエネルギーを提供する。たとえば、プログラミング状態０へ１．５Ｖで８０ｎｓのパルスを印加すると、相変化物質はプログラミング状態１へトランスフォームされる。以下同様である。
【００５４】
実施例２
この実施例では、７が２７の因数であるかどうかが決定される。この実施例は、前述した実施例１と類似した方法で完了されてよい。この実施例では、因数分解される数は２７であり、潜在乗法的因数は７である。したがって、７が２７の因数であるかどうかを決定するため、相変化物質が潜在乗法的因数７に従ってプログラムされなければならない。適切なプログラミング・ストラテジは、相変化物質をリセット状態からセット状態へトランスフォームするため７つの増分が必要であるようにプログラミング状態を定義することである。リセット状態はプログラミング状態０として選択され、セット状態はプログラミング状態７として選択され、６つの中間プログラミング状態は１、２、３、４、５、６と呼ばれる。プログラミング状態の数が、実施例１よりも実施例２で多いことは、特定の相変化物質について、プログラミング状態の間の平均エネルギー区間が、実施例１よりも実施例２で小さいことを意味する。適切な増分区間は、エネルギー源によって提供されるエネルギーが、選択されたプログラミング状態を分離する所望のエネルギー区間とマッチするように、エネルギーを調整することによって達成される。たとえば、電流または電圧パルスの形態でエネルギーを提供するエネルギー源の場合、パルス高および／または持続時間を調整することによって、パルス当たりのエネルギー内容を変化させることができる。
【００５５】
潜在乗法的因数７に従ってプログラミング状態を確立した後、因数分解される数に従った増分が始まる。この実施例では、相変化物質の２７回の増分が必要である。相変化物質がリセットされる。相変化物質を７回増分すると、相変化物質はセット状態へトランスフォームされ、そのとき相変化物質はリセットされ、２７回の増分が提供されるまで必要に応じて更なる増分とリセッティングが起こる。この実施例では、２１回の増分の後に相変化物質はセット状態にあり、増分を開始してから３回リセットされている。追加の６つの増分パルスは相変化物質をプログラミング状態６へトランスフォームする。したがって、２７回の増分の後に相変化物質の抵抗をテストすると、相変化物質はセット状態にないことが分かり、７は２７の因数ではないことが結論される。たとえば、プログラミング状態１が数１へ対応するように、もし整数値がプログラミング状態へ結合されるならば、６は、２７が７で除されるときに生じる剰余であることが分かる。剰余の更なる説明は、この後で本発明のモジュラ算術方法を説明するときに与えられる。
【００５６】
実施例３
この実施例では、複数の潜在乗法的因数をテストするため、相変化物質の多数のボリュームが使用される。相変化物質の各々のボリュームは、異なった潜在乗法的因数に従ってプログラムされたデバイスの計算媒体として考えることができる。因数分解される数に従って各々のそのようなデバイスを増分することによって、複数の潜在乗法的因数のいずれが真に乗法的因数であるかを決定することができる。実施例として、１２の乗法的因数を決定する。
【００５７】
１つの実施形態において、１２の乗法的因数は、１２以下の値を有する潜在乗法的因数に従ってプログラムされたデバイスを含めることによって決定されてよい。この実施形態において、数１〜１２に従ってプログラムされた１２個のデバイスが使用され、デバイスの各々は１２回増分される。前述したように、或る数、たとえばＸに従ってプログラムされた相変化物質のデバイスまたはボリュームは、リセット状態からセット状態へトランスフォームされるためＸ回の増分を必要とする。前述したように、増分の間、デバイスがセット状態へ達する度に、そのデバイスは更なる増分に先だってリセットされる。増分が完了したときセット状態にあるデバイスは、１２の真の乗法的因数である数に対応する。この実施例において、１、２、３、４、６、１２に従ってプログラムされたデバイスは、増分の完了時にセット状態にあり、したがって１２の乗法的因数であることが容易に分かる。乗法的因数に従ってプログラムされたデバイスの各々が増分の間にセットされる回数は、各々の乗法的因数に結合された余因数を決定するためにカウントされることができる。５、７、８、９、１０、１１に従ってプログラムされたデバイスは、増分の完了時にセット状態以外の状態にあり、したがって１２の乗法的因数ではないことが決定される。
【００５８】
この実施例に含まれる複数のデバイスの中の各々のデバイスは、次のデバイスが増分される前に、個々のベースで完全に増分されてよく（直列モード）、１つのデバイスへ更なる増分を提供する前に、全てのデバイスへ１つの増分を印加してもよく（並列モード）、または直列モードおよび並列モードの組み合わせを増分で使用することができる。各々のデバイスについて別個の専用エネルギー源が使用されてよく、これらのエネルギー源は、デバイスのプログラミング・ストラテジによって指示される増分エネルギーを提供するように構成されてよい。可変の増分エネルギーを提供することのできる１つのエネルギー源を使用することも可能であり、専用エネルギー源および可変エネルギー源の組み合わせも使用することができる。
【００５９】
もし複数のデバイスの各々のために同じ相変化物質が使用されるならば、均一のプログラミング状態を分離するエネルギー区間は、異なった潜在乗法的因数に従ってプログラムされたデバイスについて異なるであろう。たとえば、数９に従ってプログラムされたデバイスは、数５に従ってプログラムされたデバイスよりも小さな均一エネルギー区間を有するであろう。この場合、もしエネルギーが、固定したパルス振幅を有する電流または電圧パルスの形態で提供されるならば、同じ数の増分パルスが各々のデバイスへ提供されてよい。この場合、パルス幅は、各々のデバイスのプログラミング・ストラテジを確立するために使用された潜在乗法的因数に依存して変更される。
【００６０】
実施例３は、数の乗法的因数の集合を認定することに向けられた１つの実施形態を提供し、因数分解される数までの（その数を含む）乗法的因数を考慮する。代替の実施形態が可能である。
【００６１】
他の実施形態において、数はそれ自身の因数であり、１は全ての数の因数であり、数の値の半分を超過する他の乗法的因数は存在しないことが認識される。たとえば、数１２の場合、１２を除く最大の因数は６である。したがって、２から始まり因数分解される数の半分で終わる数に従ってプログラムされたデバイスを考慮することによって、より効率的に数の因数が決定される。奇数の場合、２は因数ではなく、最大の因数は、因数分解される数の３分の１を超過しないことが認識される。したがって、考慮される必要があるデバイスの数は、因数分解方法の効率を改善するために低減される。
【００６２】
素因数への因数分解方法
前述した実施例および開示は、１つの数が他の数の乗法的因数であるかどうかを認定し、数の乗法的因数の完全な集合または部分集合を決定することを含む因数分解方法を説明する。本発明は、素数のみに従ってプログラムされたデバイスが考慮される関連方法を含む。数論によれば、素数のみの積として任意の数を表せることが知られている。したがって、潜在乗法的因数として素数のみを考慮することは、数を素数へ因数分解する方法を提供する。どの素数が数の因数であるかを認定し、素数のみを含む積へ数を完全に因数分解することは、素数へ因数分解する本発明の方法を使用して可能である。
【００６３】
前述したように、複数の潜在乗法的因数の各々は、１つのデバイスを使用して、異なった潜在乗法的因数に従ってプログラミング・ストラテジを変更するか、多数のデバイスを使用して、異なった潜在乗法的因数に従って各々のデバイスをプログラムするか、またはこれらの組み合わせを使用することによってテストされる。素数へ因数分解する方法では、素数に従ってプログラムされたデバイスのみが含まれる。素数へ限られることを除いて、素数へ因数分解する方法の実現形態は、前述した因数分解方法の場合と類似する。数１は全ての数の因数であるから、１が素数であることを考慮する意外に、特に１を考慮する必要はない。
【００６４】
実施例４
この実施例では、複数のデバイスを使用して数２１の素因数が決定される。これらのデバイスの各々は、異なった素数に従ってプログラムされた相変化物質を含む。この実施例では、因数分解される数の２分の１を超過しない素数が考慮される。したがって、この実施例では、２、３、５、７に従ってプログラムされたデバイスが考慮される。次の素数１１は２１の半分よりも大きく、したがって１１以上の素数は２１の因数ではない。
【００６５】
２１の素因数分解を実行するため、数２、３、５、７に従ってプログラムされたデバイスが、２１回増分され、増分の間、必要に応じてリセットされる。増分の完了時にセット状態にあるデバイスは、２１の素因数に対応する。この実施例における増分の実行は、３および７に従ったデバイスは増分の完了時にセット状態にあり、２および５に従ってプログラムされたデバイスはセット状態にないことを現す。したがって、３および７は２１の素因数であることが結論される。
【００６６】
もし素数自身が実施例４の実施形態に従って解析されるならば、増分の完了時にセット状態にあるデバイスは存在しないであろう。そのような結果は、元の数が素数であるという結論を導くか、数が因数としてそれ自身および１だけを有するという同等の結論を導く。もし１３が、素因数分解を望まれる数であり、実施例４で説明された手順が使用されるならば、２、３、５に従ってプログラムされたデバイスは１３回増分され、増分の完了時には、セット状態にあるデバイスは存在しないであろう。もし１３までの素数に従ってプログラムされたデバイスが方法で使用されるならば、同じように、１３はそれ自身および１だけを因数として有するという結論に達する。
【００６７】
前述したように、各々の素因数の余因数は、素因数に従ってプログラムされた相変化物質のデバイスまたはボリュームが増分の間にセットされる回数をカウントすることによって決定される。各々の素因数およびその余因数の積は、素因数分解が望まれる元の数に等しい。素数に従ってプログラムされたデバイスが利用されるときでも、余因数は素数ではないかも知れない。したがって、素数のみを含む積へ数を完全に因数分解するためには、更なる考慮が必要である。
【００６８】
これらの更なる考慮は、前述した実施例４では必要でなかった。なぜなら、２１の認定された素因数（３および７）の各々は、同じく素数である余因数（それぞれ７および３）を有したからである。実施例４で説明された方法は、数の特定の素数が乗法的因数であるかどうかを決定するために使用されてよいが、数を素因数へ完全には因数分解しない。ここで、「完全な因数分解」とは、因数分解される数に等しい積を有する素数の一意の集合を認定することを意味する。実施例４では、認定された素因数の積（３×７）が、因数分解される数（２１）に等しいために、完全な因数分解が起こった。
【００６９】
１８のような数を素数へ完全に因数分解することは、実施例４で示された考慮以上の考慮が望まれることを例証する。実施例４のフレームワークの中で素数に従ってプログラムされたデバイスを使用して１８を因数分解するためには、素数２、３、５、７に従ってプログラムされた相変化物質のデバイスまたはボリュームを含めることが必要である。数１８に従って各々のデバイスの増分が完了したとき、２および３のみが１８の素因数であることが発見される。２＊３は１８に等しくないから、この状態での結果は、１８を素数へ完全に因数分解したことにはならない。（便宜上、＊の表記は、本明細書では乗法の数学演算を意味するように使用される。たとえば、２と３の積は２＊３で表現され、２＊３は２掛ける３を意味する。）その代わりに、１８の素数は２と３だけであるが、１８の完全な素因数分解では、因数２および３の１つまたは双方が２回以上出現しなければならない結論になる。したがって、数の完全な素因数分解は、全ての素因数の認定、および素因数分解が探索される数に等しい素数の積の中で各々の素因数が起こる回数の認定を含む。
【００７０】
完全な素因数分解は、素数に従った最初の因数分解で得られた余因数の更なる考慮を必要とする。１８の場合、素因数２および３が認定され、それぞれ余因数９および６を有する。前述したように、認定された素因数に従ってプログラムされたデバイスで起こるセッティング・トランスフォーメーションの回数をカウントすることによって、余因数が決定される。余因数は素数ではないから、１８の完全な素因数分解は、素数の最初の考慮時に達成されなかったことは明らかである。最初に認定された素因数について得られた余因数の素因数を、２番目に決定することが必要である。２＊９および３＊６の双方は１８に等しいから、素因数の第２の決定は、余因数９および６のいずれかに関して行われる。
【００７１】
第２の決定は、因数分解される数に存在する全ての素因数を最初の考慮が素数へ認定したことが分かっているので単純化される。したがって、余因数は、認定された素因数に従ってプログラムされたデバイスを使用して因数分解される。１８の場合、更なる考慮のために余因数９または余因数６が選択され、この更なる考慮は、認定された素因数２および３に従ってプログラムされたデバイスを含めるだけでよい。２および３に従ってプログラムされたデバイスに関して前述したように、もし余因数９が選択およびテストされるのであれば、２は素因数ではないが３は余因数３を有する素因数であることが発見される。余因数３は素数であるから、１８を素数へ因数分解することは完了し、結果は１８＝２＊３＊３となる。この結果において、２は素因数の最初の決定で認定された素因数であり、３は素因数の第２の決定で認定された素因数であり、３は素因数の第２の決定で認定された余因数である。したがって、素数３は１８の素因数分解で２回存在することが分かる。
【００７２】
任意の入力数の完全な素因数分解を実行するため、余因数の素因数を決定することが何回か連続して実行される。素因数分解は、連続的に小さくなる数の素因数を段階的に決定することと考えることができる。入力数の素因数は、因数分解の最初の考慮またはレベルで決定され、最初の考慮で認定された１つの素因数の余因数が次の考慮で使用され、以下同様にして、素数である余因数が発見される。したがって、各々の考慮レベルは、段階スキームの先行考慮レベルよりも小さな数の解析を含む。各々の決定レベルは、先行する決定で発見された余因数で完了する。余因数が素数として発見されるレベルでは、完全な素因数分解が達成されている。数１８の場合、２つの考慮レベルが含まれた。最初の考慮レベルでは、数２および３が素因数として識別され、第２の考慮レベルでは余因数９が更に考慮され、余因数３を有する素因数３を含むことが発見された。余因数３は素数であるから、数１８については２つだけの考慮レベルが必要である。より複雑なケースも同様に解析される。
【００７３】
素因数分解を完了する代替の方法は、１つの考慮レベルの後で得られた素因数の積を入力数と比較し、それらが等しいかどうかを調べることである。たとえば、同時係属特許出願である米国特許出願第１０／１４４３１９号明細書は、相変化物質を使用して乗じる方法を説明している。もし１つの考慮レベルの後で得られた素因数の積が入力数と等しければ、完全な素因数分解が達成されている。そうでなければ、更なる考慮が必要である。更なる考慮は、前述したような素因数の他の考慮レベルを含むか、最初の考慮レベルの後で得られた素因数の積で入力数を除することを含んでよい。相変化物質を使用して除する方法は、たとえば、同時係属特許出願である米国特許出願第１０／１４４３１９号明細書に開示されている。もし除法の結果が素数であれば、素因数分解が達成されている。もしそうでなければ、除法の結果は因数分解または除法によって更に考慮され、素因数分解が達成されるまで考慮が続けられる。この代替の方法は、更に、非素数を含む因数へ数を一般的に因数分解するために使用されてよい。
【００７４】
上記のことを例証するため、数１８の素因数分解の例を考える。前述したように、１レベルの因数分解の後、２および３が１８の素因数として認定される。２と３の乗法は６を生じる。６は１８と等しくないから、素因数分解を完了するには更なる考慮が必用である。前述した除法の方法に従って、元の数１８が６で除され、３が得られる。したがって、除法の結果は、３が１８の他の因数であることである。３は素数であるから、除法の方法の１つの実行は素因数分解を完了し、１８が２＊３＊３へ素因数分解される結果を生じる。
【００７５】
本明細書で開示される因数分解および素因数分解の方法において、多くの場合、因数または素因数の余因数を決定することが望まれる。前述したように、因数の余因数は、因数に従ってプログラムされた相変化物質のボリュームが、入力数に従って増分される間にセットされる回数をカウントすることによって決定されてよい。セッティング・トランスフォーメーションのカウンティングは、外部カウンタを使用するか、相変化物質がセットされる度にカウンティング・レジスタを１だけ増分することによって達成されてよい。相変化物質を含むカウンティング・レジスタは、同時係属特許出願である米国特許出願第１０／１４４３１９号明細書で説明されている。カウンティング・レジスタは、本発明の方法によって計算媒体として使用される相変化物質のボリュームと同じまたは異なった数のプログラミング状態を有してよい。或る数の因数分解では、余因数が大数であるかも知れず、カウンティング・レジスタで利用できるプログラミング状態の数を超過するかも知れない。そのような余因数に対処する１つの方法は、多数のカウンティング・レジスタを使用することである。その場合、幾つかのレジスタの各々は、マルチディジット余因数の１つのディジットを記憶するために使用されてよい。マルチディジット数の記憶は、同時係属特許出願である米国特許出願第１０／１４４３１９号明細書で説明されている。
【００７６】
モジュラ算術の方法
これまで説明した実施例２のような例で、潜在乗法的因数が因数ではないと決定される場合、因数分解方法の結果は依然として解釈的に有用である。モジュラ算術として知られる数学の分科は、１つの数を他の数で除したときに生じる剰余を考慮する。前述したように、剰余がゼロであるとき因数分解が達成される。非ゼロの剰余は、因数分解を示さないが、モジュラ算術計算では重要である。モジュラ算術は、多くの数学テキストブックで説明されており、以下で一部分を説明するが、それは本明細書で開示されるモジュラ算術方法の背景情報およびコンテクストを提供するためである。
【００７７】
剰余は、モジュラ算術では重要な量である。本明細書では、剰余とは、１つの数が他の数によって除されたときに残る数を意味する。たとえば、１９が７によって除されるとき、５の剰余が得られる。たとえば、３４が９によって除されるとき、７の剰余が得られる。連除法として知られる数論からの一般的結果は、整数が他の整数によって除されるとき常に剰余を提供する。連除法によれば、任意の整数ａ（被除数）は、整数ｂ（除数）との関係ではａ＝ｑ＊ｂ＋ｒによって表される。ここでｑは整数（商）であり、ｒは除数ｂの大きさよりも小さい値を有する非負の整数である。数論によれば、ｑおよびｒは、所与の被除数および除数について一意である。
【００７８】
モジュラ算術では、整数は算術システムのモジュラスに関して剰余で表される。モジュラスは除法のコンテクストでは除数と同種である。たとえば、７による除法に関する剰余は、７と等しいモジュラスを有する算術システムを定義するために使用されてよい。そのような算術システムは、モジュロ７システムとも呼ばれる。モジュロ７システムでは、整数は、７による除法に関する剰余によって表される。１９が７で除される前述の例では、５の剰余が決定された。したがって、モジュロ７システムでは、数１９は５の剰余によって表される。この結果は、更に、合同関係１９≡５ｍｏｄ７の形式で表されてよい。ここで、数学記号≡は合同を表す。類似の考慮は、任意のモジュラスを有する算術システムへ適用され、一般合同関係はａ≡ｒ  ｍｏｄ  ｍの形式で書かれてよい。ここで、ｍはモジュラスであり、ａは整数であり、ｒは、ａをｍで除したときの結果の剰余である。剰余ｒは、モジュロｍシステムにおける整数ａの合同とも呼ばれる。剰余ｒは、被除数ａを除数ｍで除したときに生じる剰余と考えることもできる。
【００７９】
モジュロｍシステムでは、剰余ｒは０からｍ−１までの整数値を有し、全ての整数ａはｒの許された値の１を有しなければならない。たとえば、モジュロ５システムでは、ｒは０、１、２、３、４であり、全ての整数値ａは０、１、２、３、４から選択された剰余ｒを有する。モジュロ５における合同関係の例は、１９≡４ｍｏｄ５、２２≡２ｍｏｄ５、４６≡１ｍｏｄ５などを含む。剰余ｒの所与の値は、必然的に整数ａの幾つかの値に結合される。たとえば、１９≡４ｍｏｄ５、５４≡４ｍｏｄ５、７９９≡４ｍｏｄ５などである。モジュロｍ算術システムで同じ剰余ｂを有する整数は、同じ同値類または剰余類であると呼ばれる。たとえば、１９、５４、７９９は、モジュロ５システムでは同じ同値類である。完全な同値類は、特定のモジュロ・システムで同じ剰余を有する全ての整数を含む。モジュロｍシステムにおける異なった同値類の数はｍである。たとえば、モジュロ３システムは、３つの可能な剰余値０、１、２によって定義される３つの同値類を有する。
【００８０】
剰余ｒの決定は、モジュラ算術における基本的計算の１つである。前述の実施例２で例示されるように、多状態計算媒体は、剰余を提供するように使用されてよい。前述したように、相変化物質は、本発明の方法との関連で好ましい多状態計算媒体である。前述した１つの因数分解方法の実行中に増分が完了したとき、もし相変化物質がセット状態になければ、相変化物質がプログラムされた数は、元の入力数の因数ではないことが知られる。増分の完了時に、相変化物質を読み取り、それがどのプログラミング状態にあるかを決定することによって、剰余が決定されてよい。次の実施例５では、モジュラ算術システムにおける入力数の合同を決定する方法の例が提供される。
【００８１】
実施例５
この実施例では、モジュロ６システムにおける１６の合同が決定される。この計算は合同計算とも呼ばれる。この合同計算では、合同関係１６≡ｒ  ｍｏｄ６の量ｒが求められる。合同の決定を完了するため、相変化物質はモジュラス６に従ってプログラムされる。前述したように、プログラミングはストラテジを介して達成されるが、そのストラテジでは、相変化物質をリセット状態からセット状態へトランスフォームするため６つの増分が必要であるようにプログラミング状態が定義される。リセット状態はゼロの増分に結合され、セット状態は６つの増分に結合され、追加の状態は、１、２、３、４、５の増分に対応する高抵抗安定状態に沿って定義されてよい。状態の間のエネルギー分離は均一であっても不均一であってもよい。そのようにプログラムされた相変化物質は、モジュロ６相変化物質と呼ばれてよい。
【００８２】
モジュラ算術を目的として、相変化物質の状態の解釈を容易にするため、整数値はプログラミング状態に結合される。リセット状態は値０に結合され、１つの増分に対応するプログラミング状態は値１に結合される。以下同様である。モジュロ６システムは５以下の剰余を提供するので、セット状態（この例では、６つの増分に対応するプログラミング状態）は、適切に値０に結合される。（もしセット状態が６に結合されるならば、セット状態における相変化物質の意味は、６ｍｏｄ６と解釈される。０は６ｍｏｄ６と合同であるから、値０をセット状態に結合することによる衝突は生じない。この結合は、前述した因数分解の規準としてセット状態を使用することと首尾一貫する。）
一度、所望のモジュラスに従ってプログラムされると、相変化物質は、プログラムされたモジュラスの中で任意の合同関係を決定するために使用される。この例では、モジュロ６システムにおける１６の合同を決定しなければならない。決定は、合同関係が求められる数に従って相変化物質を増分することによって進行する。この例では、１６の増分が相変化物質へ提供され、相変化物質は、セット状態へトランスフォームされる度にリセットされる。相変化物質は、もし必要であれば、増分に先だってリセット状態へトランスフォームされる。前述したように、いつ相変化物質がセット状態へトランスフォームされるかを評価するため、増分の間に相変化物質の電気抵抗が測定される。この例では、６つのエネルギー増分の印加は、相変化物質をリセット状態からセット状態へトランスフォームし、その時点で更なる増分の前に相変化物質がリセットされる。この例では、増分７から１２までの印加が、相変化物質を２回目のセット状態へトランスフォームする。相変化物質は再びリセットされ、必要な１６の増分の最後の４つが相変化物質へ提供される。増分１３は値１に結合されたプログラミング状態へ相変化物質をトランスフォームし、増分１４は値２に結合されたプログラミング状態へ相変化物質をトランスフォームし、増分１５は値３に結合されたプログラミング状態へ相変化物質をトランスフォームし、増分１６は値４に結合されたプログラミング状態へ相変化物質をトランスフォームする。したがって、必要な１６の増分が完了すると、相変化物質は値４に結合されたプログラミング状態にある。この最後のプログラミング状態は所望の剰余または合同を提供し、この例で求められた合同関係は１６≡４ｍｏｄ６であると結論される。
【００８３】
実施例５における合同関係の計算は、増分が完了したとき相変化物質が存在するプログラミング状態の決定を必要とする。この最後のプログラミング状態は、相変化物質を読み取ることによって決定される。もし相変化物質が増分の終了時にセット状態にあれば、電気抵抗を測定することによって読み取りが達成される。この場合、剰余は０であり、ｒを０に等しくすることによって合同関係が完成する。この場合は、モジュラスｍがａの乗法的因数である場合に対応する。
【００８４】
モジュラスｍがａの乗法的因数ではないとき、相変化物質は増分の終了時にセット状態以外の最後のプログラミング状態にある。この最後のプログラミング状態は、相変化物質を読み取ることによって決定されてよい。この読み取りは、同時係属特許出願である米国特許出願第１０／１４４３１９号明細書で説明されており、合同計算の実行中に達成された最後のプログラミング状態から相変化物質を増分することが必要である。最後のプログラミング状態は、（１）相変化物質がセットされるまで増分し、（２）増分の必要数をカウントし、（３）計算のモジュラスから必要増分数を減じることによって決定されてよい。たとえば、前述の実施例５では、相変化物質を最後のプログラミング状態からセット状態へトランスフォームするため２つの増分が必要である。モジュラス６からの２の減法は４を与える。したがって、最後のプログラミング状態は数４に結合されたプログラミング状態であり、実施例５の合同計算で求められる剰余は４であることが結論される。同時係属特許出願である米国特許出願第１０／１４４３１９号明細書で説明される１つの実施形態では、ステップ２に含まれるカウンティングは、相変化物質の最後のプログラミング状態へ提供されたエネルギーの各々の増分について１回カウンティング・レジスタを増分することによって達成される。この実施形態において、カウンティング・レジスタが、合同計算で使用される相変化物質と同じ数のプログラミング状態を有すると仮定すれば、ステップ３の減法によって表される差分は、カウンティング・レジスタをセットするのに必要な増分数に対応する。好ましい実施形態では、カウンティング・レジスタは、合同計算で使用されるモジュラスに従ってプログラムされた相変化物質を含む。
【００８５】
前述したように、モジュラスｍに関する合同計算は、全ての整数の集合を、ｍによる除法に関して共通の剰余を有する合同類または剰余へ分離する。たとえば、モジュロ５システムでは、剰余０、１、２、３、４に対応する５つの剰余類が存在し、全ての整数は、これらの剰余類の１つだけに含まれる。たとえば、剰余類２はメンバーとして２、７、１２、１７、．．．を含み、剰余類３はメンバーとして３、８、１３、１８、．．．を含む。以下同様である。モジュラ算術システムで入力数の合同を決定する本発明の方法は、幾つかの入力数の各々へ適用され、数の集合を剰余類へ分類するために使用される。
【００８６】
モジュラ算術システムにおける加法も、本発明に従った相変化物質を使用して完成される。モジュラ算術システムは加法に関して閉じられており、モジュラ算術システムの１つの要素をモジュラ算術システムの他の要素へ加算することは、必然的にモジュラ算術システムのメンバーでもある結果を提供する。例として、前記のモジュロ５システムを考える。モジュロ５システムは、メンバーとして数０、１、２、３、４を有する。前述したように、これらの数は、モジュロ５算術システムに存在する可能な剰余または剰余類と考えてよい。モジュラ算術における加法は、通常の１０進加法と類似した方法で完成されるが、例外は、結果がモジュラ算術システムのメンバーに制限されることである。モジュロ５システムの１をモジュロ５システムの２へ加算すると、モジュロ５システムの３と等しくなる。この加法は、１ｍｏｄ５＋２ｍｏｄ５＝３ｍｏｄ５と表現される。
【００８７】
モジュラ算術システムの３つのメンバーの和がモジュラ算術システムのモジュラスに等しいか超過するとき、特別の考慮が必要である。たとえば、モジュロ５システムにおいて、３と４の加法は適切な処理を必要とする。なぜなら、通常の１０進算術で予想される結果である７は、モジュラ算術システムのモジュラス５を超過するからである。これらの場合は、予想された１０進の結果をモジュロ５の同値へ変換することによって適切に処理される。したがって、３ｍｏｄ５＋４ｍｏｄ５＝７ｍｏｄ５＝２ｍｏｄ５となる。結果の２は、モジュロ５算術システムのメンバーであり、したがって適正な結果である。モジュラ算術システムのフレームワークにおける一般的な１０進数加法は、１０進数をモジュロ同値へ変換して加算することによって同じように完成される。例として、モジュロ５システムでの１９と３７の加法は、１９ｍｏｄ５＋３７ｍｏｄ５＝４ｍｏｄ５＋２ｍｏｄ５＝６ｍｏｄ５＝１ｍｏｄ５のように加算される。最初に１０進数を加算し、次に結果をモジュロ５の同値へ変換しても、計算が完成される。即ち、１９ｍｏｄ５＋３７ｍｏｄ５＝５６ｍｏｄ５＝１ｍｏｄ５となる。
【００８８】
モジュラ算術システムにおける加法は、モジュラ算術システムのモジュラスに従って相変化物質をプログラムし、相変化物質をリセットし、和分される数に従って相変化物質を増分することによって、本発明により容易に達成される。たとえば、モジュロ５算術システムで１９と３７が加算される前記の例では、モジュラス５に従って相変化物質をプログラムすることから開始してよい。前述したように、このプログラミングは、相変化物質をリセット状態からセット状態へトランスフォームするため５つの増分が必要であるようにプログラミング状態を定義することを含む。したがって、リセット状態、セット状態、および４つの中間状態を含む全部で６つのプログラミング状態が定義される。相変化物質がリセットされ、和分される２つの数の各々に従って増分し、相変化物質がセット状態へトランスフォームされる度に、前述したように必要に応じてリセットすることによって、加法が達成される。この例では、相変化物質は、プログラミング状態５（数４に対応するプログラミング状態）を提供するため最初に１９回増分され、次に相変化物質がプログラミング状態２（数１に対応するプログラミング状態）にある最終状態を提供するため３７回増分される。
【００８９】
モジュラ算術システムにおける加法は、剰余類との関係で考えることもできる。なぜなら、モジュラ算術で２つの数の和を最終的に決定するのは剰余だからである。前述した１つの例において、１ｍｏｄ５＋２ｍｏｄ５＝３ｍｏｄ５であることが分かった。この結果は、次のように剰余類との関係で解釈することができる。即ち、剰余類１の数と剰余類２の数との和は、必然的にモジュロ５システムにおける剰余類３の数を生成する。例として、１６は剰余類１であり、３２は剰余類２であり、和分１６＋３２＝４８は剰余類３である。加法は、他の剰余類および他のモジュラ算術システムで同じように解釈されてよい。
【００９０】
本明細書に記載された開示は、例示的なもので、本発明の実施を限定することを意図しない。多くの同等物および小さな変形は、本発明の範囲の中にあると想定される。本発明の範囲を限定するものは、全ての同等物を含み、これまでの開示と組み合わせられた以下のクレイムである。
【図面の簡単な説明】
【００９１】
【図１】代表的相変化物質の電気抵抗を、提供されたエネルギーまたはパワー量の関数としてプロットした図である。このプロット図は、セッティング前高抵抗安定状態を左方に含み、セッティング後領域を右方に含む。例示を目的として、双方の領域の代表的状態が示される。
【図２】本明細書の実施例１で説明されるように、数４が入力数の乗法的因数であるかどうかをテストするために使用される相変化物質の電気抵抗プロット図の一部分である。セッティング前高抵抗安定状態およびセット状態における電気抵抗が示される。５つのプログラミング状態の呼び名が記号で示される。
【図１】
2005527033.tif 000002
【図２】
2005527033.tif 000003
【手続補正書】
【提出日】平成15年12月8日(2003.12.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力数を因数分解する方法であって、
ディジタル多状態相変化物質のボリュームを提供し、前記相変化物質は複数の状態を有し、該状態は、リセット状態、該リセット状態のセット・エネルギーに対応する量のエネルギーを印加することによって前記リセット状態から得られるセット状態であって、前記リセット状態よりも低い抵抗を有するセット状態、および前記リセット状態とほぼ同じ抵抗を有する１つまたは複数の中間状態であって、前記リセット状態の前記セット・エネルギーよりも小さい量のエネルギーを印加することによって前記リセット状態から得られる１つまたは複数の中間状態を含み、
前記入力数の潜在乗法的因数を提供し、
該潜在乗法的因数に従って前記相変化物質をプログラムし、該プログラミングがプログラミング状態を定義することを含み、該プログラミング状態が前記相変化物質の前記複数の状態から選択され、前記プログラミング状態が前記リセット状態および前記セット状態を含み、前記プログラミング状態の数が前記潜在乗法的因数よりも１つ多く、
前記相変化物質を前記リセット状態へトランスフォームし、
Ａ．前記相変化物質を増分し、該増分が、前記プログラミング状態の異なった１つへ前記相変化物質をトランスフォームするのに十分なエネルギーを提供することを含み、
Ｂ．前記相変化物質が前記セット状態へトランスフォームされるまで、前記増分ステップＡを繰り返して反復し、
Ｃ．前記相変化物質をリセットし、
前記相変化物質が増分された回数が前記入力数に等しくなるまで、前記ステップＡ、Ｂ、Ｃを繰り返して反復する
ステップを含む方法。
【請求項２】
前記増分ステップＡが、更に、前記相変化物質の抵抗を測定することを含む、請求項１に記載の方法。
【請求項３】
前記相変化物質が前記プログラミング状態の前記異なった１つへトランスフォームされた後、前記測定が完了する、請求項２に記載の方法。
【請求項４】
更に、前記潜在乗法的因数が乗法的因数であるかどうかを決定するステップを含み、該決定ステップが、前記相変化物質が前記入力数と等しい回数だけ増分された後に前記相変化物質の抵抗を測定することを含む、請求項１に記載の方法。
【請求項５】
更に、前記相変化物質が前記セット状態へトランスフォームされた回数をカウントするステップを含む、請求項１に記載の方法。
【請求項６】
前記相変化物質が、Ｉｎ、Ａｇ、Ｔｅ、Ｓｅ、Ｇｅ、Ｓｂ、Ｂｉ、Ｐｂ、Ｓｎ、Ａｓ、Ｓ、およびＰから成るグループから選択された１つまたは複数の元素、またはそれらの混合物または合金を含む、請求項１に記載の方法。
【請求項７】
前記相変化物質がカルコゲンを含む、請求項１に記載の方法。
【請求項８】
前記カルコゲンがＴｅおよびＳｅの混合物である、請求項７に記載の方法。
【請求項９】
前記相変化物質が更にＧｅを含む、請求項７に記載の方法。
【請求項１０】
前記相変化物質が更にＳｂを含む、請求項７に記載の方法。
【請求項１１】
前記相変化物質が更に遷移金属の元素を含む、請求項７に記載の方法。
【請求項１２】
前記遷移金属が、Ｃｒ、Ｆｅ、Ｎｉ、Ｎｂ、Ｐｄ、およびＰｔから成るグループから選択される、請求項１１に記載の方法。
【請求項１３】
前記プログラミング状態が均一のエネルギー区間によって分離される、請求項１に記載の方法。
【請求項１４】
前記増分ステップＡが、電気エネルギーの形態をしたエネルギーを提供することによって達成される、請求項１に記載の方法。
【請求項１５】
前記電気エネルギーが、電流または電圧のパルスを含む、請求項１４に記載の方法。
【請求項１６】
前記増分ステップＡが、光エネルギーの形態をしたエネルギーを提供することによって達成される、請求項１に記載の方法。
【請求項１７】
前記増分ステップＡが、熱エネルギーの形態をしたエネルギーを提供することによって達成される、請求項１に記載の方法。
【請求項１８】
入力数を因数分解する方法であって、
ディジタル多状態相変化物質の複数のボリュームを提供し、相変化物質の前記ボリュームの各々は複数の状態を有し、該状態は、リセット状態、該リセット状態のセット・エネルギーに対応する量のエネルギーを印加することによって前記リセット状態から得られるセット状態であって、前記リセット状態よりも低い抵抗を有するセット状態、および前記リセット状態とほぼ同じ抵抗を有する１つまたは複数の中間状態であって、前記リセット状態の前記セット・エネルギーよりも小さい量のエネルギーを印加することによって前記リセット状態から得られる１つまたは複数の中間状態を含み、
前記入力数の複数の潜在乗法的因数を提供し、
前記潜在乗法的因数の異なった１つに従って相変化物質の前記ボリュームの各々をプログラムし、該プログラミングはプログラミング状態を定義することを含み、該プログラミング状態は前記相変化物質の前記複数の状態から選択され、前記プログラミング状態は前記リセット状態および前記セット状態を含み、前記プログラミング状態の数は前記潜在乗法的因数よりも１つ多く、
Ａ．相変化物質の前記ボリュームの１つを選択し、
Ｂ．相変化物質の前記選択されたボリュームを前記リセット状態へトランスフォームし、
Ｃ．相変化物質の前記選択されたボリュームを増分し、該増分は、相変化物質の前記選択されたボリュームを前記プログラミング状態の異なった１つへトランスフォームするのに十分なエネルギーを提供することを含み、
Ｄ．相変化物質の前記選択されたボリュームが前記セット状態へトランスフォームされるまで、前記増分ステップＣを繰り返して反復し、
Ｅ．相変化物質の前記選択されたボリュームをリセットし、
Ｆ．相変化物質の前記選択されたボリュームが増分された回数が前記入力数に等しくなるまで、前記ステップＣ、Ｄ、およびＥを繰り返して反復し、
前記相変化物質の複数のボリュームの各々について前記ステップＡ、Ｂ、Ｃ、Ｄ、Ｅ、およびＦを繰り返して反復する
ことを含む方法。
【請求項１９】
前記複数の潜在乗法的因数の各々が素数である、請求項１８に記載の方法。
【請求項２０】
更に、前記素数のいずれが前記入力数の乗法的因数であるかを決定するステップを含み、該決定ステップが、前記素数に従ってプログラムされた相変化物質の前記ボリュームの電気抵抗を測定することを含む、請求項１９に記載の方法。
【請求項２１】
更に、前記入力数の乗法的因数であると決定された素数の余因数を計算するステップを含み、該計算ステップが、請求項１の方法を適用する前記ステップの間に前記素数の乗法的因数に従ってプログラムされた相変化物質のボリュームがセットされた回数をカウントすることを含む、請求項２０に記載の方法。
【請求項２２】
更に、請求項１８の方法に従って前記余因数を因数分解するステップを含み、前記余因数が前記入力数として提供される、請求項２１に記載の方法。
【請求項２３】
前記潜在乗法的因数が素数である、請求項１に記載の方法。
【請求項２４】
前記潜在乗法的因数の少なくとも１つが素数である、請求項１８に記載の方法。
【請求項２５】
入力数を因数分解する方法であって、
ディジタル多状態相変化物質のボリュームを提供し、前記相変化物質は複数の状態を有し、該状態は、リセット状態、該リセット状態のセット・エネルギーに対応する量のエネルギーを印加することによって前記リセット状態から得られるセット状態であって、前記リセット状態よりも低い抵抗を有するセット状態、および前記リセット状態とほぼ同じ抵抗を有する１つまたは複数の中間状態であって、前記リセット状態の前記セット・エネルギーよりも小さい量のエネルギーを印加することによって前記リセット状態から得られる１つまたは複数の中間状態を含み、
１つまたは複数のエネルギー・パルスを前記相変化物質へ印加する
ステップを含み、
前記印加されたエネルギー・パルスの数が前記入力数の乗法的因数である方法。
【請求項２６】
前記乗法的因数が前記入力数である、請求項２５に記載の方法。
【請求項２７】
前記印加されたエネルギー・パルスの少なくとも１つのエネルギーが、前記リセット状態の前記セット・エネルギーよりも小さい、請求項２５に記載の方法。
【請求項２８】
前記印加されたエネルギー・パルスの各々のエネルギーが、前記リセット状態の前記セット・エネルギーよりも小さい、請求項２５に記載の方法。
【請求項２９】
前記印加されたエネルギー・パルスの最後のものが印加されたとき、前記相変化物質がセット状態にある、請求項２５に記載の方法。
【請求項３０】
更に、エネルギー・パルスの前記印加ステップの間に前記相変化物質がセットされる度に前記相変化物質をリセットするステップを含む、請求項２５に記載の方法。
【請求項３１】
更に、前記相変化物質がセットされる回数をカウントするステップを含む、請求項３０に記載の方法。
【請求項３２】
前記エネルギー・パルスが電気または光のエネルギー・パルスである、請求項２５に記載の方法。
【請求項３３】
モジュラ算術の方法であって、
入力数を提供し、
相変化物質のボリュームを提供し、前記相変化物質が複数の状態を有し、該状態が、リセット状態、該リセット状態のセット・エネルギーに対応する量のエネルギーを印加することによって前記リセット状態から得られるセット状態であって、前記リセット状態よりも低い抵抗を有するセット状態、および前記リセット状態とほぼ同じ抵抗を有する１つまたは複数の中間状態であって、前記リセット状態の前記セット・エネルギーよりも小さい量のエネルギーを印加することによって前記リセット状態から得られる１つまたは複数の中間状態を含み、
１つまたは複数のエネルギー・パルスを前記相変化物質へ印加し、前記印加されたエネルギー・パルスの数は前記入力数に等しく、
前記相変化物質をセットする
ステップを含む方法。
【請求項３４】
前記相変化物質がカルコゲンを含む、請求項３３に記載の方法。
【請求項３５】
前記相変化物質がＴｅを含む、請求項３３に記載の方法。
【請求項３６】
前記相変化物質がＴｅおよびＳｅを含む、請求項３３に記載の方法。
【請求項３７】
前記相変化物質が更にＧｅを含む、請求項３４に記載の方法。
【請求項３８】
前記相変化物質が更にＳｂを含む、請求項３４に記載の方法。
【請求項３９】
前記相変化物質が更に遷移金属元素を含む、請求項３４に記載の方法。
【請求項４０】
前記相変化物質が更にＩｎ、Ａｇ、Ｂｉ、Ｐｂ、Ｓｎ、Ａｓ、またはＰを含む、請求項３４に記載の方法。
【請求項４１】
前記セット状態の抵抗が、前記リセット状態の抵抗よりも少なくとも１０の因数だけ低い、請求項３３に記載の方法。
【請求項４２】
前記印加されたエネルギー・パルスが電気または光のエネルギー・パルスである、請求項３３に記載の方法。
【請求項４３】
前記印加されたエネルギー・パルスの少なくとも１つのエネルギーが、前記リセット状態の前記セット・エネルギーよりも小さい、請求項３３に記載の方法。
【請求項４４】
前記印加されたエネルギー・パルスの各々のエネルギーが、前記リセット状態の前記セット・エネルギーよりも小さい、請求項３３に記載の方法。
【請求項４５】
前記印加されたエネルギー・パルスのエネルギーが等しい、請求項３３に記載の方法。
【請求項４６】
前記印加されたエネルギー・パルスが振幅において等しい、請求項３３に記載の方法。
【請求項４７】
前記セッティング・ステップが、エネルギー・パルスを前記相変化物質へ提供することによって達成される、請求項３３に記載の方法。
【請求項４８】
更に、前記セッティング・ステップで使用されたパルスの数をカウントするステップを含む、請求項４７に記載の方法。
【請求項４９】
更に、前記相変化物質をリセットするステップを含み、該リセッティング・ステップが前記エネルギー・パルスの印加ステップに先立って起こる、請求項３３に記載の方法。
【請求項５０】
更に、前記エネルギー・パルスの印加ステップの間に前記相変化物質がセットされる度に前記相変化物質をリセットするステップを含む、請求項３３に記載の方法。
【請求項５１】
更に、前記エネルギーの印加ステップの間に前記相変化物質がセットされる回数をカウントするステップを含む、請求項３３に記載の方法。
【請求項５２】
更に、前記相変化物質の抵抗を測定するステップを含む、請求項３３に記載の方法。
【請求項５３】
更に、モジュラ算術システムのモジュラスを提供し、
前記モジュラスに従って前記相変化物質をプログラムし、該プログラミングはプログラミング状態を定義することを含み、該プログラミング状態は前記相変化物質の前記複数の状態から選択され、前記プログラミング状態は前記リセット状態および前記セット状態を含み、前記プログラミング状態の数は前記モジュラスよりも１つ多い
ステップを含む、請求項３３に記載の方法。
【請求項５４】
前記エネルギー・パルスの印加ステップの間に印加された前記エネルギー・パルスの各々が、前記相変化物質を前記プログラミング状態の１つから前記プログラミング状態の他の１つへトランスフォームする、請求項５３に記載の方法。
【請求項５５】
前記エネルギーの印加ステップが、
前記相変化物質を前記リセット状態へトランスフォームし、
Ａ．前記相変化物質を増分し、該増分が、前記相変化物質を前記プログラミング状態の異なった１つへトランスフォームするのに十分なエネルギーを有するエネルギー・パルスを提供することを含み、
Ｂ．前記相変化物質が前記セット状態へトランスフォームされるまで、前記増分ステップＡを繰り返して反復し、
Ｃ．前記相変化物質をリセットし、
Ｄ．前記エネルギー・パルスの全てが印加されるまで、前記ステップＡ、Ｂ、およびＣを繰り返して反復する
ステップを含む、請求項５３に記載の方法。
【請求項５６】
前記セッティング・ステップが、
Ｅ．前記相変化物質を増分し、該増分が、前記相変化物質を前記プログラミング状態の異なった１つへトランスフォームするのに十分なエネルギーを有するエネルギー・パルスを提供することを含み、
Ｆ．前記相変化物質が前記セット状態へトランスフォームされるまで、前記増分ステップＥを繰り返して反復する
ステップを含む、請求項５３に記載の方法。
【請求項５７】
更に、前記相変化物質を前記セット状態へトランスフォームするために必要な増分の数をカウントし、
前記増分の数を前記モジュラスから減じる
ステップを含む、請求項５６に記載の方法。
【請求項５８】
モジュラ算術システムで加算する方法であって、
第１の数を提供し、
第２の数を提供し、
相変化物質のボリュームを提供し、該相変化物質が複数の状態を有し、該状態が、リセット状態、該リセット状態のセット・エネルギーに対応する量のエネルギーを印加することによって前記リセット状態から得られるセット状態であって、前記リセット状態よりも低い抵抗を有するセット状態、および前記リセット状態とほぼ同じ抵抗を有する１つまたは複数の中間状態であって、前記リセット状態の前記セット・エネルギーよりも小さい量のエネルギーを印加することによって前記リセット状態から得られる１つまたは複数の中間状態を含み、
エネルギー・パルスの第１の集合を前記相変化物質へ印加し、前記第１の集合の印加されたエネルギー・パルスの数は前記第１の数に等しく、
エネルギー・パルスの第２の集合を前記相変化物質へ印加し、前記第２の集合の印加されたエネルギー・パルスの数は前記第２の数に等しい
ステップを含む方法。
【請求項５９】
前記相変化物質がカルコゲンを含む、請求項５８に記載の方法。
【請求項６０】
前記相変化物質がＴｅを含む、請求項５８に記載の方法。
【請求項６１】
前記相変化物質がＴｅおよびＳｅを含む、請求項５８に記載の方法。
【請求項６２】
前記相変化物質が更にＧｅを含む、請求項５９に記載の方法。
【請求項６３】
前記相変化物質が更にＳｂを含む、請求項５９に記載の方法。
【請求項６４】
前記相変化物質が更に遷移金属元素を含む、請求項５９に記載の方法。
【請求項６５】
前記相変化物質が更にＩｎ、Ａｇ、Ｂｉ、Ｐｂ、Ｓｎ、Ａｓ、またはＰを含む、請求項５９に記載の方法。
【請求項６６】
前記セット状態の抵抗が、前記リセット状態の抵抗よりも少なくとも１０の因数だけ低い、請求項５８に記載の方法。
【請求項６７】
印加されたエネルギー・パルスの前記第１および第２の集合が電気または光のエネルギー・パルスを含む、請求項５８に記載の方法。
【請求項６８】
エネルギー・パルスの前記第１の集合または第２の集合の前記印加されたエネルギー・パルスの少なくとも１つのエネルギーが、前記リセット状態の前記セット・エネルギーよりも小さい、請求項５８に記載の方法。
【請求項６９】
エネルギー・パルスの前記第１の集合または第２の集合の前記印加されたエネルギー・パルスの各々のエネルギーが、前記リセット状態の前記セット・エネルギーよりも小さい、請求項５８に記載の方法。
【請求項７０】
印加されたエネルギー・パルスの前記第１の集合の前記エネルギー・パルスがエネルギーにおいて等しい、請求項５８に記載の方法。
【請求項７１】
印加されたエネルギー・パルスの前記第２の集合の前記エネルギー・パルスがエネルギーにおいて等しい、請求項７０に記載の方法。
【請求項７２】
印加されたエネルギー・パルスの前記第１の集合の前記エネルギー・パルスが振幅において等しい、請求項５８に記載の方法。
【請求項７３】
更に、前記相変化物質をリセットするステップを含み、該リセッティング・ステップが、前記エネルギー・パルスの第１の集合の印加ステップに先立って起こる、請求項５８に記載の方法。
【請求項７４】
更に、前記エネルギー・パルスの第１の集合の印加ステップの間に前記相変化物質がセットされる度に前記相変化物質をリセットするステップを含む、請求項５８に記載の方法。
【請求項７５】
更に、前記エネルギー・パルスの第２の集合の印加ステップの間に前記相変化物質がセットされる度に前記相変化物質をリセットするステップを含む、請求項５８に記載の方法。
【請求項７６】
更に、前記相変化物質の抵抗を測定するステップを含む、請求項５８に記載の方法。
【請求項７７】
更に、前記相変化物質をセットするステップを含み、該セッティング・ステップが、前記エネルギー・パルスの第２の集合の印加ステップの後で起こる、請求項５８に記載の方法。
【請求項７８】
更に、モジュラ算術システムのモジュラスを提供し、
前記モジュラスに従って前記相変化物質をプログラムし、該プログラミングがプログラミング状態を定義することを含み、該プログラミング状態が前記相変化物質の前記複数の状態から選択され、前記プログラミング状態が前記リセット状態および前記セット状態を含み、前記プログラミング状態の数が前記モジュラスよりも１つ多い
ステップを含む、請求項５８に記載の方法。
【請求項７９】
前記エネルギー・パルスの第１の集合の印加ステップまたは前記エネルギー・パルスの第２の集合の印加ステップの間に印加された前記エネルギー・パルスの各々が、前記相変化物質を前記プログラミング状態の１つから前記プログラミング状態の他の１つへトランスフォームする、請求項７８に記載の方法。
【請求項８０】
前記エネルギー・パルスの第１の集合の印加ステップまたは前記エネルギー・パルスの第２の集合の印加ステップが、
前記相変化物質を前記リセット状態へトランスフォームし、
Ａ．前記相変化物質を増分し、該増分が、前記相変化物質を前記プログラミング状態の異なった１つへトランスフォームするのに十分なエネルギーを有するエネルギー・パルスを提供することを含み、
Ｂ．前記相変化物質が前記セット状態へトランスフォームされるまで、前記増分ステップＡを繰り返して反復し、
Ｃ．前記相変化物質をリセットし、
Ｄ．前記エネルギー・パルスの第１の集合または前記エネルギー・パルスの第２の集合の前記エネルギー・パルスの全てが印加されるまで、前記ステップＡ、Ｂ、およびＣを繰り返して反復する
ステップを含む、請求項７８に記載の方法。
【請求項８１】
更に、前記相変化物質をセットするステップを含み、該セッティング・ステップが、前記エネルギー・パルスの第２の集合の印加ステップの後に起こり、前記セッティング・ステップが、
Ｅ．前記相変化物質を増分し、該増分が、前記相変化物質を前記プログラミング状態の異なった１つへトランスフォームするのに十分なエネルギーを有するエネルギー・パルスを提供することを含み、
Ｆ．前記相変化物質が前記セット状態へトランスフォームされるまで、前記増分ステップＥを繰り返して反復する
ステップを含む、請求項８０に記載の方法。
【請求項８２】
更に、前記相変化物質を前記セット状態へトランスフォームするために必要な増分の数をカウントするステップを含む、請求項８１に記載の方法。
【国際調査報告】
2005527033.tif 000004
2005527033.tif 000005
2005527033.tif 000006