專利名稱:因數(shù)分解和模運算的方法
技術領域:
本發(fā)明總體涉及針對因數(shù)分解數(shù)字(factoring numbers)和模運算(modular arithmetic)的計算方法。更具體來說,本發(fā)明涉及利用數(shù)字多態(tài)相變材料(multistate phase change material)以非二進制方式執(zhí)行因數(shù)分解和模運算。
相關發(fā)明信息本發(fā)明是2002年5月10日申請的美國專利申請?zhí)?0/144319的部分繼續(xù)申請。
背景技術:
計算機的發(fā)展,被公認為二十世紀下半葉的最重要的進步之一。計算機簡化了日常生活的方方面面,在經濟中引起了生產力的顯著提高。近來對圖像處理和復雜計算的需要促進了微處理器速度和存儲器存儲密度的重大進步。計算機的進一步發(fā)展和未來應用,依賴于人類以越來越高效的方式處理更大數(shù)量的信息的能力。
硅是當今計算機的核心。計算能力和速度的提高,在很大程度上是更好地了解硅的根本特性并利用這些特性達到實際效果的結果。人們一開始預測通過硅制造諸如晶體管和二極管的基本電子元件上的進步,緊接著是來自集成電路發(fā)展的后來進步。近來的進步代表著這些趨勢的繼續(xù),并且當前強調小型化和在單一芯片上集成數(shù)量更多的微電子器件。更小的器件導致更高的存儲器存儲密度、更高度集成的電路和在同一個芯片上的器件之間降低的交互時間。
基于硅的計算器件(devices)的一個內在特性是,數(shù)學運算和其它數(shù)據(jù)處理對象的二進制執(zhí)行。在二進制計算中,計算媒介(computingmedium)硅有兩個編程狀態(tài)(programming states)可用于代表數(shù)據(jù)和處理數(shù)據(jù)。這兩個編程狀態(tài)通常被標記為″0″和″1″,被用來存儲一個″0″或一個″1″的硅的體積被稱作1位(bit)。包括數(shù)字和字母在內的數(shù)據(jù),被轉換成一個或多個″0″和/或″1″的序列,其中每個″0″或″1″被存儲在一個不同的位中。這樣,可以通過確立”0”和”1”的適當組合而對一個位的序列進行編程,以存儲數(shù)據(jù)。數(shù)據(jù)的處理(Manipulations)涉及位運算,位運算按照要求的計算目的修改位的狀態(tài),以產生一個輸出,該輸出一般包括一個位的序列,其存儲一個與在處理開始時出現(xiàn)所不同的″0″和/或″1″的組合或序列。
二進制計算機對于諸如自動化、字處理和基本數(shù)學計算等許多計算應用來說已經被證明是非常成功的。由于計算要求的膨脹和預見到的復雜應用,傳統(tǒng)二進制計算具有許多局限正在變得更明顯。例如,人們預測,更高的計算速度和更并行的運算在于繼續(xù)縮小基于硅的微電子器件的能力。人們對于小型化的努力是否能繼續(xù)的關心正變得更明顯,因為許多人認為實際的根本限度將對小型化提出越來越不可逾越的障礙。通過傳統(tǒng)的二進制方法,諸如那些需要自適應性、交互性或高度并行的處理的復雜計算情形看起來不能最優(yōu)地實現(xiàn),甚至不可能實現(xiàn)。
計算機產業(yè)要擴展,計算機要變得與更多的應用和更復雜的計算情形相關,就需要計算機工作方式的變化。
發(fā)明內容
本發(fā)明總體涉及通過非二進制計算方法擴展計算的能力范圍。本方法被設計用于一種能夠進行非二進制運算的計算媒介。非二進制運算可以用一種能處理多于兩個編程狀態(tài)的數(shù)字多態(tài)相變材料獲得。本計算方法允許用一個包括多于兩個編程狀態(tài)的計算媒介進行計算。使用三個、四個或更多的編程狀態(tài)的計算,可用本計算方法實現(xiàn)。
在一個實施例中,提供一種因數(shù)分解方法。該方法目的是確定輸入數(shù)的乘法因子。該方法包括通過確立對應于一個潛在乘法因子的多個編程狀態(tài)而按照該潛在乘法因子編程一個數(shù)字多態(tài)相變材料??梢再x予每個編程狀態(tài)一個數(shù)值,不同編程狀態(tài)之間的轉換對應于對與編程狀態(tài)相關聯(lián)的數(shù)字的數(shù)學處理。編程狀態(tài)相對于相變材料的重置狀態(tài)(重置狀態(tài))在能量上是分離的,并可被選擇使得與一個潛在乘法因子相關聯(lián)的編程狀態(tài)對應于相變材料的置位狀態(tài)(set state)。以表征潛在乘法因子的數(shù)量的向相變材料的重置狀態(tài)施加能量因此可以導致該相變材料的置位。置位轉換容易因相變材料的電阻的變化而被檢測到。通過分析對應于要被以表征潛在乘法因子的數(shù)量因數(shù)分解的數(shù)的能量,通過計算置位轉換(以及每個置位轉換后的重置)的次數(shù)并保證一旦已經提供了對應于要被因數(shù)分解的數(shù)的所有的能量則沒有余數(shù)出現(xiàn),完成因數(shù)分解。
在一個實施例中,可以采用一個給定的相變材料的體積來測試不同的乘法因子,具體步驟是順序地按照一個乘法因子確立編程狀態(tài),確定該潛在乘法因子是否確實是個因子,以及通過重新確立(re-establishing)編程狀態(tài)而對其它的乘法因子相應地重復。多態(tài)相變材料的一個內在特性是能以這樣的方式定義和重定義編程狀態(tài),即在重置狀態(tài)和置位狀態(tài)之間的不同能量上安置不同數(shù)量的編程狀態(tài)。因此,就有可能將置位狀態(tài)對應于若干不同的潛在乘法因子的每一個。
在一個選擇性的實施例中,可以用區(qū)別體積的相變材料來測試不同的乘法因子。在這個實施例中,將一個不同的量的相變材料專用于有關的每個潛在乘法因子,并通過確定一個適當數(shù)量的編程狀態(tài)而被相應地編程。在這個實施例中,通過順序地或者并行地對區(qū)別體積的相變材料進行操作,可以測試大量潛在乘法因子。并行操作提供高效的數(shù)的因數(shù)分解。
本方法也提供在模運算構架中的計算。這些方法包括用于在由模數(shù)支配的算術體系中的余數(shù)和恒等關系(congruence relationships)的計算。
附圖簡介
圖1是一個作為被提供的能量或功率的量的一個函數(shù)的代表性相變材料的電阻的圖表。該圖表包括左邊的一個置位前(pre-setting)高電阻平臺(high resistance plateau)和右邊的一個置位后(post-setting)區(qū)域(region)。兩個區(qū)域中的代表性狀態(tài)都是示意性地被表示的。
圖2是用來測試如例1中所述的、數(shù)字4是否是一個輸入數(shù)的乘法因子的相變材料的電阻圖表的局部。圖中表示了沿置位前高電阻平臺和處于置位狀態(tài)的電阻。5個編程狀態(tài)被用符號標記。
具體實施例方式
本發(fā)明通過提供適合用于能以二進制方式操作的計算媒介的計算方法,代表在克服傳統(tǒng)的二進制計算器件的局限方面的進步。本發(fā)明的發(fā)明人相信,非二進制計算方法提供了增強計算機的功能和擴展計算機應用范圍的機會。如在共同待審定的母案申請(美國專利申請序列號10/144319)中所討論的那樣,非二進制計算是有利的,因為它可提供更高的信息存儲密度和更并行的數(shù)據(jù)處理。
非二進制計算的實現(xiàn),包括確定一種能維持三個或更多的編程狀態(tài)的計算材料和開發(fā)能以非二進制方式存儲和處理數(shù)據(jù)的計算方法。共同待審定的母案申請(美國專利申請序列號10/144319)確定相變材料為可以被編程得提供適合于非二進制計算的多態(tài)特征的材料的例子。下文給出作為提供多態(tài)編程和計算功能的相變材料的一些相關屬性的總結。進一步的細節(jié)包含在共同待審定的母案申請(美國專利申請序列號10/144319)中。
適合于非二進制運算的相變材料,包括那些具有至少一個高阻狀態(tài)和一個可檢測到是不同的低阻狀態(tài)的相。本文中所用的高阻狀態(tài)和低阻狀態(tài),指的是分別具有高電阻和低電阻特征化的物理狀態(tài),其中,高電阻狀態(tài)和低電阻狀態(tài)的高電阻和低電阻是互相相關的并且可檢測是互相不同的。這種相變材料的例子,在相同受讓人的美國專利5,166,758、5,296,716、5,524,711、5,536,947、5,596,522、5,825,046和5,687,112中記載,特此引用這些專利的內容作為參考。例證性的相變材料,是那些包括元素In、Ag、Te、Se、Ge、Sb、Bi、Pb、Sn、As、S、Si、P、O的一個或多個及其混合物或合金的相變材料。在一個優(yōu)選實施例中,相變材料包括一種氧屬元素。尤其首選的是包括與Ge和/或Sb組合的氧屬元素的相變材料。在另一個實施例中,相變材料包括一種氧屬元素和一種過渡金屬,諸如Cr、Fe、Ni、Nb、Pd、Pt或其混合物和合金。
在施加有效量的能量后,相變材料可以從高阻狀態(tài)被轉換到低阻狀態(tài)。這里公開的圖1,是一個作為能量或功率的函數(shù)的相變材料的電阻的圖表。如果相變材料以一開始處于高阻狀態(tài),少量能量的施加讓該材料留在其高阻狀態(tài)。這個性能(behavior)由圖1的左邊的高阻平臺(plateau)區(qū)域刻畫。但是,如果施加足夠數(shù)量的能量,相變材料就從其高阻狀態(tài)轉換到其低阻狀態(tài)。這個轉換由圖1的緊鄰高阻平臺區(qū)域的右邊的電阻的急劇降低刻畫。相變材料從其高阻狀態(tài)向其低阻狀態(tài)的這個轉換,被稱作“置位”(″setting″或″to set″)相變材料。在置位后所產成的低阻狀態(tài),自此以后被稱作相變材料的″置位狀態(tài)″。足以置位相變材料的一定數(shù)量的能量,自此以后被稱作″置位能量″(setting energy)。注意到對于沿著高阻平臺的每個狀態(tài)來說,置位能量是不同的。
圖1的右邊對應于相變材料已經被置位時相變材料的性能。一旦置位,相變材料就處于其低阻狀態(tài),受到按照圖1的右邊所示的置位后區(qū)域的功率(power)的施加的影響。這個部分的電阻響應曲線,在以上引用作為參考的幾個美國專利中已經被稱作曲線的模擬或灰度多位部分(analog or greyscale multibit portion)。對相變材料的置位后狀態(tài)施加的能量產生電阻的變化。電阻的變化由所施加的能量的量以及施加能量的比率(rate)確定。提供能量的比率,自此以后被稱作功率,這是相變材料在置位后區(qū)域中的特性的一個重要因素。
盡管不希望受理論約束,發(fā)明人相信,在置位轉換期間低阻置位狀態(tài)的確立,是在相變材料中形成一個毗連的晶體通道(crystallinepathway)的結果。在置位前區(qū)域中,相變材料被認為包括一個無定形相成分(amorphous phase component)以及可能的一個晶相(crystalline phase)成分。晶相的存在和相對豐度,取決于在相變材料的形成過程中所使用的制備和處理條件。例如,包括溶化后緊接著迅速淬火的處理,可以被預期是抑制晶體化的;而溶化后緊接著慢速淬火,則可以被預期是促進晶體化的。如果出現(xiàn)在置位前的區(qū)域中,晶相在無定形相中擴散,不能提供一個穿過相變材料的毗連的通道。由于無定形相比晶相有更高的電阻,如果沒有一個毗連的晶體網絡(contiguous crystalline network),則導致相變材料在置位前的區(qū)域中的高電阻。
發(fā)明人相信,在電阻曲線的置位前的高阻平臺區(qū)域中施加能量,增加相變材料內晶相的相對豐度。假若不形成毗連的晶體網絡,晶相的增加的豐度對相變材料的電阻沒有實質的影響。發(fā)明人認為,毗連的晶體網絡的形成在置位轉換期間發(fā)生,并且認為伴隨著置位轉換的電阻的減少是具備穿過毗連的晶相的傳導通道的結果。由于毗連的晶體網絡比無定形相有更低的阻抗,毗連的晶體網絡的存在導致相變材料在置位后的更低的電阻。
在置位后區(qū)域,能量被施加到低阻置位狀態(tài),并可影響晶體網絡。能量的增加可導致加熱和相變材料的溫度的上升。如果把足夠的能量施加到相變材料,則有可能熔化或以其它方式熱瓦解(thermallydisrupt)置位時出現(xiàn)的毗連的晶體網絡。如果發(fā)生熔化,隨后的冷卻很可能導致相變材料具有一個晶相成分的不同豐度或連接。晶相網絡的熔化或熱瓦解可破壞穿過較低電阻晶相的傳導通道,并由此導致置位后區(qū)域中相變材料的電阻的增加。晶相網絡的熔化或熱瓦解需要足夠的能量維持在熔化或熱瓦解的地方,以允許熔化或熱瓦解。由于熱傳導、熱容量(heat capacity)和向環(huán)境的損失所引起的散熱過程起著消除能量的作用,并因此抑制晶相網絡熔化或熱瓦解,能量增加的比率必須足夠高,以允許熔化或熱瓦解,與此同時補償散熱過程。因此,能量的比率或功率(power)是電阻曲線的置位后區(qū)域中需要考慮的一個重要事項。
因為置位后區(qū)域的特性是可逆的,視圖1的置位后區(qū)域中的功率和相變材料的狀態(tài)而定,可能發(fā)生電阻的增加或減少。這個可逆性由圖1的置位后區(qū)域中所示的兩個箭頭表示,并且發(fā)明人認為,其反映了改變相變材料中晶體網絡的性質的可逆能力??梢园阎梦缓髤^(qū)域中的每個點與一個功率或電阻相關聯(lián)。如果所施加的功率超過與描述置位后區(qū)域中的相變材料的點的相關聯(lián)的功率,相變材料的電阻增加。相反,如果所施加的功率小于與描述置位后區(qū)域中的相變材料的點的相關聯(lián)的功率,電阻減少。發(fā)明人認為,置位后區(qū)域中電阻的增加,反映相變材料的晶體成分的這樣一種方式的中斷或重配置(interruption or reconfiguration),該方式即是穿過晶體成分的傳導通道的數(shù)量、大小或容量被減少;對于置位后區(qū)域中電阻的減少,情況相反。
可逆性局限于圖1的置位后區(qū)域。通過施加對應于圖1的在置位轉換前的(即在置位轉換的左邊)高阻平臺區(qū)域中一個點的能量,是不可能逆轉置位轉換的。然而,通過向由圖1的置位后區(qū)域中的一個點描述的材料施加足夠高的功率,則有可能恢復相變材料的高阻狀態(tài)。施加這樣的功率,對應于在圖1中向右的方向上移動,而不是在逆轉置位轉換的方向上移動。如圖1的在置位后區(qū)域中所示,施加連續(xù)增加數(shù)量的功率,導致電阻的連續(xù)增加。當為驅動相變材料向圖1的最右端而施加足夠的功率之后,相變材料返回到其高阻狀態(tài)并恢復其高阻平臺。發(fā)明人認為,高阻平臺的恢復,在向相變材料提供的功率足以破壞相變材料的任何晶體成分的毗鄰(contiguousness)時發(fā)生。高阻平臺的恢復,可能因為相變材料中晶體成分的豐度的減少(例如因為經過增加無定形成分的豐度的熔化和淬火過程)、晶體成分以喪失毗鄰的方式的重配置或再分配(redistribution)或它們的組合而發(fā)生。
把相變材料從其低阻置位狀態(tài)轉換到其高阻狀態(tài)所需的功率或能量的比率,自此以后被稱作“重置功率”、“重置能量”等等。在施加重置能量結束時相變材料的狀態(tài),自此以后被稱作“重置狀態(tài)”。重置功率的施加“重置”相變材料,產生一個高阻重置狀態(tài)。在重置后緊接著進一步施加能量所觀察到的性能,與對圖1的高阻平臺區(qū)域所作的描述的相似。圖1中的圖對應于置位和重置的一個循環(huán)。相變材料能被可再現(xiàn)地在大量的循環(huán)中置位和重置。
用沿著圖1的左端中表示的高阻平臺區(qū)域的狀態(tài),可獲得用于非二進制計算的多個編程狀態(tài)。以小于置位所需的量的能量—自此以后被稱作“亞置位量的能量”(sub-setting amount of energy)—向處于高阻狀態(tài)的相變材料的施加,導致材料的物理變化,但不在材料上改變其電阻。向由圖1的平臺區(qū)域中的第一點描述的相變材料施加一個亞置位量的能量,把該相變材料轉換到由平臺區(qū)域中的第二點所描述的物理狀態(tài),其中第二點在第一點的右邊。通過施加亞置位量的能量,不可能在高阻平臺區(qū)域中在向左的方向上轉換相變材料。以上所述的用于圖1的置位后的、模擬的多位部分的可逆性的概念,不適用于置位前的、數(shù)字的多態(tài)高阻平臺。高阻平臺區(qū)域中的一個初始點的左邊的點,可以通過置位該相變材料、重置該相變材料、然后施加一個適當?shù)膩喼梦涣康哪芰慷竭_。
由于高阻平臺區(qū)域中的單向響應,相變材料能積累并存儲能量,以至其量達到該材料的置位能量。盡管在高阻平臺區(qū)域相變材料的電阻不變化,每個亞置位的能量施加,使相變材料可預測地朝低阻置位狀態(tài)漸進。相變材料的這個性能可被用于諸如這里所披露的多態(tài)計算方法。
在一個優(yōu)選實施例中,選擇重置狀態(tài)作為圖1的高阻平臺區(qū)域內的起點。把相變材料從其重置狀態(tài)轉換到其置位狀態(tài)所需的能量的間隔(interval),自此以后被稱作“重置狀態(tài)的置位能量”。由于重置狀態(tài)的置位能量是一個在多個置位和重置循環(huán)中可再現(xiàn)并且不變的特性,可以將其劃分為兩個或更多的子間隔(sub-intervals),相變存儲器材料的不同的編程狀態(tài)或編程值,可以由子間隔能量施加的不同次數(shù)或組合定義或者與子間隔能量施加的不同次數(shù)相關聯(lián)。圖1的高阻平臺區(qū)域中的相變材料的可再現(xiàn)的單向性能,提供一種按照以子間隔的量被施加到材料上的能量的累積的量確立不同的編程狀態(tài)的能力,其中,可以為每個不超過重置狀態(tài)的置位能量的能量的累積的量定義以不同的編程狀態(tài)。
按照由一個亞置位系列的能量的子間隔的施加而向重置狀態(tài)施加的能量的累積的量,能唯一地和可再現(xiàn)地定義一個不同的編程狀態(tài)集合。例如,可以把一個第一個編程狀態(tài)與向重置狀態(tài)施加一個第一子間隔量的能量相關聯(lián)。向處于第一編程狀態(tài)的相變材料第二次施加第一子間隔量的能量來定義一個第二編程狀態(tài)。可以選擇將一個第二編程狀態(tài)與向重置狀態(tài)單次施加一個第二子間隔量的能量相關聯(lián),第二子間隔量的能量不同于第一子間隔量的能量。子間隔量的能量的順序施加和組合,可被用來定義貫穿圖1的高阻平臺區(qū)域的一系列編程狀態(tài),其中可依照相對于重置狀態(tài)的能量的量區(qū)別不同的編程狀態(tài)。
能量的子間隔的施加的多個序列和組合,構成用于確立可由本發(fā)明計算方法和非二進制計算方法通常使用的編程狀態(tài)的實施例。在有些實施例中,只有高阻平臺區(qū)域內的狀態(tài)被算作編程狀態(tài)。在其它實施例中,把在相變材料變換到其其低阻狀態(tài)時而獲得的置位狀態(tài)算作一個額外的編程狀態(tài)。當施加到重置狀態(tài)的累積的量的能量達到重置狀態(tài)的置位能量時,相變材料置位。置位后,相變材料在進一步施加能量時的性能由圖1的置位后區(qū)域控制。
本發(fā)明中使用的相變材料具有從重置狀態(tài)延伸到置位狀態(tài)的狀態(tài)的連續(xù)統(tǒng)一體(continuum)。這些狀態(tài)包括重置狀態(tài)、沿著高阻平臺的一系列的中間狀態(tài)和置位狀態(tài)。中間狀態(tài)和置位狀態(tài)可以通過向重置狀態(tài)施加能量而獲得。因此可以把與相變材料向關聯(lián)的狀態(tài)看作構成一個相對于重置狀態(tài)在能量上可區(qū)別的狀態(tài)的連續(xù)統(tǒng)一體。上文所述的編程狀態(tài)是從這個狀態(tài)的連續(xù)統(tǒng)一體中選擇的。編程狀態(tài)一般與諸如整數(shù)的離散數(shù)據(jù)值相關聯(lián),并且具有與為把相變材料轉換到編程狀態(tài)而需要向相變材料的重置狀態(tài)增加的能量相應的編程能量(programming energies)。例如,某特定編程狀態(tài)具有一個與為把相變材料轉換到該編程狀態(tài)而必須向相變材料的重置狀態(tài)增加的能量的量相應的編程能量。編程狀態(tài)的編程能量因此是相對于重置狀態(tài)的一個測量(measure),并且每個編程狀態(tài)都與一個唯一的編程能量向關聯(lián)。
在一個優(yōu)選實施例中,每個編程狀態(tài)都有一個被賦予該編程狀態(tài)或與該編程狀態(tài)相關聯(lián)的唯一的數(shù)據(jù)值。在另一個優(yōu)選實施例中,按增加的編程能量的順序,把連續(xù)的整數(shù)賦予編程狀態(tài)或與編程狀態(tài)相關聯(lián)。在這些實施例中,可以通過把一個相變材料轉換到與一個數(shù)字相關聯(lián)的編程狀態(tài)而存儲該數(shù)字。數(shù)字值與編程狀態(tài)的唯一性對應關系,提供了在相變材料的一個不同狀態(tài)中存儲任何一個數(shù)字范圍的能力。多個數(shù)字或者某特定數(shù)字的多個數(shù)位,可被存儲在一相變材料的多個部分。一般可以通過按照計算目的提供實現(xiàn)在一個或多個編程狀態(tài)中的轉換所需的能量而進行計算。
如上所述,每施加一個子間隔量的能量,就導致高阻平臺中的相變材料朝置位狀態(tài)前進。即使沿高阻平臺的重置和中間狀態(tài)有實質上相同的電阻、因此不能根據(jù)電阻區(qū)別,沿高阻平臺的每個狀態(tài)依然能可檢測地與其它狀態(tài)區(qū)分,因為置位由沿高阻平臺的不同的點描述的相變材料需要不同量的能量。例如,如果施加一個量的能量,以便把沿高阻平臺的一個第一點所描述的相變材料轉換到沿高阻平臺的一個第二點,把由第二點所描述的相變材料轉換到置位狀態(tài)所需的能量的量正好小于把由第一點所描述的相變材料轉換到置位狀態(tài)所需的能量的量。由于置位狀態(tài)是相對于沿高阻平臺的可檢測地不同的低阻狀態(tài)并且置位沿高阻平臺的任何點所描述的相變材料所需的能量的量是能確定的,所以沿高阻平臺的不同點是可區(qū)分的,并且沿高阻平臺的每個點可以與一個不同的編程狀態(tài)和/或數(shù)字值相關聯(lián)。因此,通過通過把從重置狀態(tài)到置位狀態(tài)的能量間隔劃分成適當個數(shù)的子間隔,在圖1的高阻平臺區(qū)域內幾乎可以定義幾乎任何數(shù)量的編程狀態(tài)。因此可以把高阻平臺區(qū)域子劃分成可用于數(shù)據(jù)的存儲和處理的一系列的離散的編程狀態(tài)。一個相變材料不限于如當前的二進制計算機中那樣的兩個編程狀態(tài),而是可以提供非二進制多狀態(tài)程序設計的計算能力。
編程狀態(tài)的個數(shù),取決于與相變材料從其重置狀態(tài)(或其它起始狀態(tài))向其置位狀態(tài)的轉換相關聯(lián)的能量間隔的大小(重置狀態(tài)或起始狀態(tài)的置位能量的大小),以及取決于把這個能量間隔劃分成子間隔所可能的分辨率(resolution),以及諸如與具有一定數(shù)量的編程狀態(tài)相關聯(lián)的相對計算或處理優(yōu)勢等的實際考慮。這里所使用的起始點或初始點,指的是沿高阻平臺的第一個或最低能量。最好讓重置狀態(tài)是起始狀態(tài),并且自此以后,除非另有說明,否則將假設重置狀態(tài)為起始狀態(tài)。然而應當認識到,可以選擇沿高阻平臺的一個不同的狀態(tài)作為起始狀態(tài)。
重置狀態(tài)與置位狀態(tài)之間的能量間隔的大小,可受相變材料的化學成分的影響。對子間隔的定義所使用的分辨率取決于可從被用于編程、轉換或讀取相變材料的能量源獲得的能量分辨率(energyresolution)。適合于按照本發(fā)明計算方法在相變材料的各狀態(tài)之間轉換相變材料的能量源,在美國專利申請(系列號10/144319)有更完整的說明。從計算的觀點來說,編程狀態(tài)的個數(shù),可影響計算方法或算法的性質、速度、并行性或方便性。例如,選擇編程狀態(tài)的個數(shù)為2的倍數(shù),可允許改編當前可用的二進制方法,以用于本發(fā)明的非二進制計算方法。例如,本發(fā)明包括有包括4、8、16、32、64等個的編程狀態(tài)的實施例。使用10個編程狀態(tài),允許方便地實現(xiàn)日常事務中使用的根據(jù)傳統(tǒng)的十進制系統(tǒng)的方法,這也包含在本發(fā)明的實施例中。如下文中所討論的那樣,本發(fā)明計算方法使用一個具有對應于潛在乘法因子的數(shù)量的相變材料也是合乎需要的。
適合用于本發(fā)明計算方法和算法的相變材料的例子,在美國專利號5,166,758、5,296,716、5,524,711、5,536,947、5,596,522、5,825,046、5,687,112、5,912,839、3,271,591和3,530,441中提供,特此引用這些專利的內容作為參考。存儲器材料中可包含介電材料和相變材料的混合物。這種混合物的例子在共同受讓人的美國專利6,087,674中描述,特此引用這些專利的內容作為參考。適合本發(fā)明計算方法的材料一般包括元素In、Ag、Te、Se、Ge、Sb、Bi、Pb、Sn、As、S、Si、P、O中的一個或多個或者它們的混合物和合金。在一個優(yōu)選實施例中,相變材料包含氧屬元素。在另一個優(yōu)選實施例中,相變材料包含氧屬元素和Ge。在一個更優(yōu)選的實施例中,相變材料包含Ge、氧屬元素和Sb。在一個最優(yōu)選的實施例中,相變材料包含Ge、Te和Sb。
本發(fā)明計算方法包括涉及向相變材料提供或施加能量的步驟。能量的提供或施加,可由任何能夠向相變材料傳輸一個可控量的能量的源完成。假設所提供的能量可具有包括電、光和/或熱的許多形式。一個可控量的能量自此以后也可被稱作“能量脈沖”?!爸梦幻}沖”是一個足以置位一個相變材料的能量脈沖,相當于提供一個置位量的能量。“重置脈沖”是一個足以重置一個相變材料的能量脈沖,相當于提供一個重置量的能量。
在本發(fā)明計算方法中,許多步驟或操作都是通過向相變材料提供具有一個表征一個數(shù)字的數(shù)量的能量而完成的。表征能量可取決于相變材料的重置狀態(tài)的置位能量、編程狀態(tài)的個數(shù)、以及把相變材料從一個編程狀態(tài)轉換到下一個編程狀態(tài)所需的子間隔能量。在一個實施例中,表征或對應于一個數(shù)字的能量是一個與該數(shù)字成比例的量的能量。使一個編程狀態(tài)前進到下一個編程狀態(tài)所需的子間隔能量,自此以后被稱作“編程間隔”(programming interval/program interval)、“編程間隔能量”(program interval energy)、“編程脈沖”(programpulse)、“遞增能量”(increment energy)、“遞增間隔”(incrementinterval)或它們的等同物。
這里所用的從一個編程狀態(tài)到下一個編程狀態(tài)的前進,意味著相變材料從其現(xiàn)有的編程狀態(tài)向沿相變材料的電阻曲線所定義的下一個編程狀態(tài)的轉換。這個下一個編程狀態(tài)必定有一個比現(xiàn)有的編程狀態(tài)向對于相變材料的重置狀態(tài)的更高的能量,并且對應于沿電阻曲線上在現(xiàn)有的編程狀態(tài)右邊的編程狀態(tài)。術語“遞增”、“施加遞增的能量”等等指的是把相變材料從一個現(xiàn)有的編程狀態(tài)轉換到能量上最接近的并且在電阻曲線上位于現(xiàn)有的編程狀態(tài)右邊的編程狀態(tài)。因此,遞增意味著相變材料在電阻曲線上向右的方向上一次一個編程狀態(tài)的轉換。
在本發(fā)明的一個實施例中,重置狀態(tài)代表數(shù)字零,用一個均勻的遞增能量來把一個編程狀態(tài)前進到下一個。結果,所有的編程狀態(tài)在能量上是相等地分隔的,遞增能量的每次施加相當于把所存儲的數(shù)字增加1。因此,通過向重置狀態(tài)施加一次遞增能量,可以存儲數(shù)字″1″;通過向重置狀態(tài)施加二次遞增能量,可以存儲數(shù)字2,如此等等,一直到可存儲的最大的數(shù)字的存儲器材料的體積被用來存儲該數(shù)字。均勻的遞增能量的施加,自此以后也被稱作“均勻的遞增脈沖”或其它等同的術語。
前述的其中使用非均勻編程間隔或非相等遞增間隔的實施例的變體被用作構成本發(fā)明的額外的實施例。這里所用的非均勻(non-uniform)編程間隔指的是其中的編程狀態(tài)不是在能量上有相等的間距的任何編程間隔的序列。換言之,在沿高阻平臺的不同點處,相鄰編程狀態(tài)之間的遞增能量可能是不同的,因此,例如分隔第一編程狀態(tài)與第二編程狀態(tài)的遞增能量可能不同于分隔第二編程狀態(tài)與第三編程狀態(tài)的遞增能量,等等。在這樣的實施例中,遞增能量可能不是恒定的,但是遞增的概念仍然指的是增加或提供足以把相變材料從一個編程狀態(tài)轉換到相對于重置狀態(tài)來說能量更高的下一個編程狀態(tài)的數(shù)量的能量。同樣,遞增(incrementing)相變材料指的是為把相變材料從一個初始編程狀態(tài)轉換到一個最終編程狀態(tài)而提供能量,其中,在初始編程狀態(tài)與最終編程狀態(tài)之間沒有編程狀態(tài)存在。與遞增相變材料相關聯(lián)的初始和最終編程狀態(tài)在這里也可被稱作相鄰的或連續(xù)的編程狀態(tài)。
相變材料的編程狀態(tài)的確立,在這里被稱作編程策略(programmingstrategy)。一個編程策略包括一個規(guī)定的能量的子間隔施加的序列,其中明確地定義了從一個編程狀態(tài)到下一個編程狀態(tài)的編程間隔,以及從重置狀態(tài)到每個編程狀態(tài)的累積的施加的能量。這樣,就確立了一個編程狀態(tài)的組合,其中的每個編程狀態(tài)有一個唯一的相對于重置狀態(tài)的編程能量。編程策略可以以從重置狀態(tài)延展到置位狀態(tài)的均勻的或非均勻的編程間隔的任何組合為基礎,可以包括或者可以不包括重置狀態(tài)或置位狀態(tài)作為編程狀態(tài)。除非另外指出,否則,下文中的討論以使用均勻編程間隔的編程策略為基礎。然而應當認識到,這個選擇是為了方便討論,并不代表對本發(fā)明的實踐的限制。
可能包括在編程策略內的,是數(shù)據(jù)或數(shù)字值向編程狀態(tài)的分配或與編程狀態(tài)的關聯(lián),使得每個編程狀態(tài)對應于一個不同的數(shù)據(jù)值或數(shù)字。通過相變材料在其各編程狀態(tài)之間的轉換,可以實現(xiàn)計算。例如,按照一個數(shù)學目的將一個輸入數(shù)向一個輸出數(shù)的變換,可以通過明智地提供把相變材料從相當于輸入數(shù)的編程狀態(tài)轉換到相當于輸入數(shù)的編程狀態(tài)的能量而實現(xiàn)。優(yōu)選地,與編程狀態(tài)相關聯(lián)的值是整數(shù)。更優(yōu)選的,整數(shù)是連續(xù)的。設想了其中以編程能量的增序或降序關聯(lián)整數(shù)值的實施例。例如,如果把重置狀態(tài)與數(shù)據(jù)值0相關聯(lián),則施加一個編程間隔的能量把該材料置于一個與數(shù)據(jù)值1相關聯(lián)的編程狀態(tài),施加另一個編程間隔的能量把該材料置于一個與數(shù)據(jù)值2相關聯(lián)的編程狀態(tài),如此等等?;蛘?,也有可能以編程能量的降序把數(shù)據(jù)值與編程狀態(tài)相關聯(lián)。例如,如果把置位狀態(tài)與數(shù)據(jù)值0向關聯(lián),則向其施加一個編程間隔的能量以獲得置位狀態(tài)的編程狀態(tài)與與數(shù)據(jù)值1相關聯(lián),如此等等。數(shù)據(jù)值與編程狀態(tài)的關聯(lián),可以各種方式完成,以方便特定的計算或用戶偏好。
本發(fā)明計算方法適合用于非二進制計算媒介。這里所用的非二進制計算媒介,指的是具有三個或更多的編程狀態(tài)的材料。二進制計算媒介提供兩個編程狀態(tài)(這兩個狀態(tài)通常被標記為″0″和″1″),然而,非二進制計算媒介提供多于兩個的編程狀態(tài)。例如,三狀態(tài)的非二進制計算介質可提供被標記為″0″、″1″和”2”的狀態(tài)。具有多于三個狀態(tài)的更高級的非二進制計算媒介可以被類似地定義。
為了實現(xiàn)非二進制計算的好處,有必要闡明針對非二進制計算媒介的多態(tài)性質的計算的方法。加、減、乘、除的方法已經在共同待審定美國專利申請10/144319中描述。本發(fā)明方法針對數(shù)字的因數(shù)分解以及在模運算架構內的計算。一個因數(shù)分解方法包括確定某特定數(shù)字是否是另一個數(shù)字的乘法因子。另一個因數(shù)分解方法包括確定某特定數(shù)字的乘法因子的完整集合。在一個優(yōu)選實施例中,確定某特定數(shù)字的素數(shù)因數(shù)(prime factors)。模運算的方法包括確定余數(shù)、涉及余數(shù)的計算以及數(shù)字在剩余類(residue classes)中的分類。
因數(shù)分解方法一個因數(shù)分解方法包括確定一個數(shù)字是否是另一個數(shù)字的乘法因子。該方法一般要求輸入要被因數(shù)分解的數(shù)字以及潛在乘法因子,返回對該能的乘法因子是否確實是個乘法因子的判定作為輸出。該方法包括為一個相變材料定一個編程策略,其中按照一個潛在乘法因子確立編程狀態(tài)。編程狀態(tài)的確立,包括為相變材料定義一定數(shù)量的編程狀態(tài),使得從重置狀態(tài)轉移到置位狀態(tài)所需的遞增的個數(shù)等于該潛在乘法因子。編程策略包括規(guī)定每個編程狀態(tài)的編程能量,其中編程能量是提供給相變材料的重置狀態(tài)以將其轉換到編程狀態(tài)而需要的能量。一旦確立每個編程狀態(tài)的編程能量,相鄰編程狀態(tài)之間的遞增間隔也被確定,于是就知道把相變材料從一個編程狀態(tài)轉換到下一個編程狀態(tài)所需的能量的遞增。
一旦為某特定潛在乘法因子定義了編程策略,就可以確定該潛在乘法因子是否確實是一個按照需要被因數(shù)分解的數(shù)字的因子。這個確定包括重置該相變材料并遞增之,遞增的次數(shù)等于需要被因數(shù)分解的數(shù)字。這個遞增在這里也可被稱作需要被因數(shù)分解的數(shù)字的遞增。當遞增的次數(shù)等于潛在乘法因子時,相變材料置位。相變材料的置位狀態(tài)具有一個比編程策略中包括的其它狀態(tài)的更低的電阻,容易通過對電阻的測量而檢測到。例如,相變材料每次被遞增時,可以測量電阻,以確定是否相變材料處于其置位狀態(tài)。在本發(fā)明的因數(shù)分解方法中,在按照需要被因數(shù)分解的數(shù)字的遞增期間,相變材料每次在它置位時被重置。當遞增結束時,判斷該潛在乘法因子是否確實是個因子。如果在按照需要被因數(shù)分解的數(shù)字的遞增結束時,相變材料處于其置位狀態(tài),則該潛在乘法因子確實是個因子。
由于該方法所采用的編程策略,遞增在置位狀態(tài)的終止對任何因子來說是個必要條件。一個潛在乘法因子在需要被因數(shù)分解的數(shù)字中的每次出現(xiàn)都導致相變材料的置位。因此,如果相變材料在遞增結束時處于其置位狀態(tài),該潛在乘法因子是需要被因數(shù)分解的數(shù)字的一個除數(shù),因此是需要被因數(shù)分解的數(shù)字一個因子。如果潛在乘法因子確實是個因子,它的輔助因子(co-factor)(即與之相乘能得到要被因數(shù)分解的原始數(shù)的數(shù))可以通過計算在遞增期間相變材料被置位的次數(shù)而確定。如果相變材料處于除其置位狀態(tài)以外的狀態(tài),則該潛在乘法因子不是一個因子。
本發(fā)明的因數(shù)分解方法提供按照多個潛在乘法因子進行因數(shù)分解。使用一個單一的按照不同乘法因子編程的器件,可以順序地檢測不同的乘法因子。第一乘法因子可以用一個基于它的第一編程策略檢測,其中,把相變材料從其重置狀態(tài)轉換到其置位狀態(tài)所需的遞增的次數(shù)等于該第一乘法因子。第二乘法因子可以用一個基于該第二乘法因子的第二編程策略類似地檢測。一個包含相變材料的計算媒介提供通過定義和再定義(redefining)編程狀態(tài)按照不同的乘法因子編程和再編程(reprogram)一個給定體積的相變材料的能力。對于一個給定體積的相變材料來說,分隔編程狀態(tài)的編程狀態(tài)和能量狀態(tài)的個數(shù)可以不同,以適應不同的乘法因子。通過按照所涉及的乘法因子的范圍改變編程策略,有可能用一個給定體積的相變材料確定一個數(shù)字的因子。因此可以用包含一個相變材料的單一器件完成因數(shù)分解。
也可以用每個都被按照一個不同的乘法因子編程的多個體積的相變材料來實現(xiàn)因數(shù)分解。在這個實施例中,可以用多個器件來實現(xiàn)因數(shù)分解。按照要被因數(shù)分解的數(shù)字的遞增,是在被按照不同的乘法因子編程的一系列的器件的每個上實現(xiàn)的。向多個器件的每個,施加相同次數(shù)的遞增。該遞增可一次一個遞增地在所有器件上執(zhí)行,可以以接連從系列中的一個器件到另一個器件連續(xù)完全遞增的方式,或者通過在所有器件上遞增和多次遞增個別器件的組合的方式,完全地遞增每個器件。類似地,每個個別器件可以有一個用于提供由該器件的編程策略所規(guī)定的量的遞增能量的專用能量源,一個具有按每個器件的編程策略的規(guī)定向多個器件的每個提供不同數(shù)的能量的能力的共享能量源可被用來遞增,或者可以使用專用和共享能量源的某種組合。從在所有器件上的并行操作方式到順序考慮個別器件的范圍的實施例都是可能的。通過包括足夠數(shù)量的按照潛在乘法因子的全部范圍編程的器件,有可能確定一個數(shù)字的所有乘法因子。在一個優(yōu)選實施例中,按照素數(shù)因子編程的器件被包括并被用于確定數(shù)字的素數(shù)因子。
例1在這個例子中,上文所述的因數(shù)分解方法被用來檢測數(shù)字4是否是數(shù)字32的因子。要被因數(shù)分解的數(shù)字是32,潛在乘法因子是4。該方法的實現(xiàn),從按照潛在乘法因子確立編程狀態(tài)開始。在這個例子中,編程策略要求以這樣的方式確立相變材料的編程狀態(tài),即4個遞增把相變材料從其重置狀態(tài)轉換到其置位狀態(tài)。實現(xiàn)編程策略的一種方式是讓置位狀態(tài)是對應于四個遞增的編程狀態(tài),讓重置狀態(tài)是對應于零遞增的編程狀態(tài),并選擇重置狀態(tài)與置位狀態(tài)之間的三個中間狀態(tài)作為對應于一個、兩個和三個遞增的編程狀態(tài)。這三個中間狀態(tài)可以位于沿相變材料的電響應曲線的高阻平臺的任何位置。在一個優(yōu)選實施例中,這三個編程狀態(tài)被選擇得使得連續(xù)的編程狀態(tài)之間的遞增間隔是均勻的。這個實施例是優(yōu)選的,因為提供被用來從一個編程狀態(tài)向下一個編程狀態(tài)遞增的能量的能量源只需要以恒定的量提供能量。如果提供例如能量脈沖形式的能量,則可以施加把相變材料從一個編程狀態(tài)轉換到下一個編程狀態(tài)的恒定能量的遞增脈沖。非均勻的遞增間隔落在本發(fā)明的范圍內,但是不那么優(yōu)選,因為由能量源提供的能量在遞增期間可能需要變化。
這里的圖2描述了在本例的上下文中的一個編程策略。該圖表示的相變材料的電響應曲線的一個局部,包括高阻平臺和與置位轉換相關聯(lián)的電阻的急劇降低。圖2的實施例表示了由均勻的能量間隔分隔的編程狀態(tài),從一個編程狀態(tài)到下一個編程狀態(tài)的遞增能量是恒定的。各編程狀態(tài)被用從0開始的整數(shù)標記,其中標記為0的狀態(tài)是重置狀態(tài),標記為4的狀態(tài)是置位狀態(tài),圖中顯示了標記為1、2和3的三個中間狀態(tài)。編程狀態(tài)的標記也可被看作是賦予編程狀態(tài)的或者與編程狀態(tài)相關聯(lián)的整數(shù)數(shù)據(jù)值。在本例的編程策略的上下文內,把相變材料從其重置狀態(tài)轉換到其置位狀態(tài)需要4個能量的遞增。
為了確定4是否是32的因子,把具有如這里的圖2中定義的那些編程狀態(tài)的相變材料轉換到其重置狀態(tài),并遞增32次,同時在它每次置位時提供該相變材料的重置。提供一個遞增能量把該相變材料從編程狀態(tài)0轉換到編程狀態(tài)1。第二個遞增把相變材料轉換到編程狀態(tài)2,如此等等。在編程狀態(tài)3中遞增相變材料,使相變材料置位到編程狀態(tài)4。相變材料的置位,可以通過測量電阻或者置位狀態(tài)的某個其它特性特征而檢測到。電阻是一個優(yōu)選的測量對象,因為這是方便的,并且容易地允許置位狀態(tài)的確定。電阻可以在相變材料的每次遞增之后測量。在檢測到置位狀態(tài)后,相變材料先被重置,然后開始進一步的遞增。在這個例子中,將第5個能量遞增增加到重置狀態(tài),把相變材料從編程狀態(tài)0轉換到編程狀態(tài)1,然后在必要重置時,開始進一步的遞增。
在遞增32次后,評估相變材料的狀態(tài)。如果相變材料處于其置位狀態(tài),潛在乘法因子確實是個因子。在這個例子中,相變材料在遞增32次后處于其置位狀態(tài),因此得出4是32的乘法因子的結論。通過計算相變材料的置位的次數(shù),也可以確定輔助因子。在這個例子中,相變材料置位8次。因此可知在本例中4的輔助因子是8。
在上文的例1的方法的一個實現(xiàn)中,用Ge2Sb2Te5作為相變材料,使用電能脈沖形式的遞增能量。電能脈沖可以以脈沖電壓和脈沖持續(xù)時間為特征。脈沖電壓也可被稱作脈沖高度或脈沖幅度,脈沖持續(xù)時間也可被稱作脈沖寬度。在1.5V的脈沖電壓下,在施加一個具有320ns的持續(xù)時間的脈沖后,相變材料可從其重置狀態(tài)轉換到其置位狀態(tài)。由于5個編程狀態(tài)(4個編程間隔)被用來檢測潛在乘法因子4,并且由于編程狀態(tài)被選擇得是均勻地分隔的,因此選擇了由一個對應于施加80ns的1.5V脈沖的能量的能量分隔的編程狀態(tài)。施加1.5V、80ns的脈沖,提供的能量足以把相變材料從一個編程狀態(tài)轉換到下一個編程狀態(tài)。例如,向編程狀態(tài)0施加1.5V、80ns的脈沖,把相變材料轉換到編程狀態(tài)1,如此等等。
例2在這個例子中,作出7是否是27的因子的判斷。這個例子可以以類似于上述的例1的方式完成。在這個例子中,要被因數(shù)分解的數(shù)字是27,潛在乘法因子是7。因此,為了判定7是否是27的因子,必須按照潛在乘法因子7編程相變材料。合適的編程策略是以這樣的方式定義編程狀態(tài),即需要7個遞增才能把相變從其重置狀態(tài)轉換到其置位狀態(tài)??梢赃x擇重置狀態(tài)為編程狀態(tài)0,置位狀態(tài)為編程狀態(tài)7,6個中間編程狀態(tài)標記為1、2、3、4、5、和6。例2中相對于例1的更高的編程狀態(tài)個數(shù)意味著,對于某特定的相變材料來說,例2中編程狀態(tài)之間的平均能量間隔比例1中的小。通過調整由能量源提供的能量,以匹配分隔所選擇的編程狀態(tài)所需的能量間隔,可以取得適當?shù)倪f增間隔。例如,在能量源提供電流或電壓脈沖形式的能量的情況下,每個脈沖的能量內容可以通過調節(jié)脈沖高度和/或持續(xù)時間而改變。
在按照潛在乘法因子7確立編程狀態(tài)之后,可以開始按照要被因數(shù)分解的數(shù)字的遞增。在這個例子中,需要相變材料的27次遞增。相變材料被重置。遞增相變材料7次,把相變材料轉換到其置位狀態(tài),緊接著,相變材料被重置,然后進行進一步必要的遞增和重置,直到已經提供了27次遞增。在這個例子中,在21次遞增后相變材料處于其置位狀態(tài),然后自開始遞增以來被第三次重置。額外的6次遞增脈沖把相變材料轉換到編程狀態(tài)6。27次地增之后,檢測相變材料的電阻,發(fā)現(xiàn)相變材料并非位于其置位狀態(tài),于是得出7不是27的因子的結論。如果把整數(shù)值與編程狀態(tài)相關聯(lián),使得編程狀態(tài)1對應于數(shù)字1等等,則進一步的結論為6是27除以7的結果的余數(shù)。對余數(shù)的進一步討論,在下文中所述的對本發(fā)明的模運算方法的討論中給出。
例3
在這個例子中,用多個體積的相變材料來檢測多個潛在乘法因子。每個體積的相變材料可被看作是一個按照一個不同的潛在乘法因子編程的器件的計算媒介。通過按照要被因數(shù)分解的數(shù)字遞增每個這樣的器件,有可能確定多個潛在乘法因子哪些真的是乘法因子。通過舉例說明,判斷12的乘法因子。
在一個實施例中,可以通過包括按照具有12或更小的值的潛在乘法因子編程的器件確定12的乘法因子。在這個實施例中,使用按照數(shù)字1-12編程的12個器件,這些器件的每個被遞增12次。如上文所述,一個按照某數(shù)字、例如按照X編程的器件或相變材料的體積,需要從其重置狀態(tài)轉換到其置位狀態(tài)的X次遞增。在遞增期間,每個器件在每次到達其置位狀態(tài)時就被重置,然后再如上文所述地進一步遞增。當遞增完成后的被發(fā)現(xiàn)處于置位狀態(tài)的那些器件對應于作為12的真正的乘法因子的數(shù)字。在這個例子中,很明顯,按照1、2、3、4、6、和12編程的器件,在遞增結束時處于它們的置位狀態(tài),因此是12的乘法因子。也可以計算按照一個乘法因子編程的器件的每個在遞增期間被置位的次數(shù),以允許確定與每個乘法因子相關聯(lián)的輔助因子。按照5、7、8、9、10和11編程的器件,在遞增結束時處于置位狀態(tài)以外的狀態(tài),因此被確定不是12的乘法因子。
本例中包括的多個器件的每個,可以先單個地被完全地遞增,然后再遞增下一個器件(串行方式);可以先向所有器件施加一個遞增,再向任何一個器件提供進一步的遞增(并行方式);或者在遞增過程中使用串行方式和并行方式的某種組合??梢詾槊總€器件使用一個單獨的專用能量源,該能量源被配置得提供由該器件的編程策略所規(guī)定的遞增能量,可以使用一個能夠提供可變的遞增能量的單一能量源,或者使用專用和可變能量源的組合。
如果多個器件的每個使用相同的相變材料,則分隔均勻的編程狀態(tài)的能量間隔對于按照不同的潛在乘法因子編程器件來說將是不同的。例如,按照數(shù)字9編程的器件,與按照數(shù)字5編程的器件相比,將具有更小的編程狀態(tài)之間的均勻能量間隔。在這種情況下,如果提供具有固定脈沖幅度的電流或電壓脈沖形式的能量,則可向每個器件施加相同數(shù)量的遞增脈沖,其中脈沖寬度依據(jù)用來確立每個器件的編程策略的潛在乘法因子而異。
例3提供一個旨在識別一個數(shù)字的乘法因子的集合的實施例,并包括對達到并包括要被因數(shù)分解的該數(shù)字的乘法因子的考慮。也可能有可替換的實施例。
在另一個實施例中,認識到一個數(shù)字總是其自己的因子、1是每個數(shù)字的一個因子并且一個數(shù)字的其它乘法因子沒有超過該數(shù)字的值的一半的。例如,對于數(shù)字12來說,除了12以外的最大因數(shù)是6。因此,通過考慮按照以2開始并以要被因數(shù)分解的數(shù)字的半數(shù)為結束的數(shù)字編程的器件,可以使對數(shù)字的因子的確定更加高效。在奇數(shù)的情況下,進一步可以認識到,最大的因子不能超過要被因數(shù)分解的數(shù)字的三分之一。因此可以減少需要被考慮的器件的數(shù)量,以便提高因數(shù)分解方法的效率。
因數(shù)分解成素數(shù)的方法前面的例子和內容描述的因數(shù)分解的方法的用途,包括確定一個數(shù)字是否是另一個數(shù)字的乘法因子,以及確定一個數(shù)字的乘法因子的全集或其子集。本發(fā)明包括相關的方法,其中,可以考慮僅按素數(shù)編程的器件。從數(shù)論中可知,任何數(shù)都可以由僅為素數(shù)的一個乘積代表。因此,僅僅把素數(shù)看作潛在乘法因子,提供一個把一個數(shù)字因數(shù)分解成其素數(shù)的方法。用本因數(shù)分解成素數(shù)的方法,有可能確定哪些素數(shù)是一個數(shù)字的因子,以及把一個數(shù)字完全因數(shù)分解成僅包含素數(shù)的一個乘積。
如上文所述,通過使用一個器件并按照不同的潛在乘法因子改變其編程策略,或者通過使用每一個都是按照一個不同的潛在乘法因子編程的多個器件,或者通過使用上述的某種組合,可以檢測多個潛在乘法因子的每一個。在因數(shù)分解成素數(shù)的方法中,只包括按照素數(shù)編程的器件。除了素數(shù)的限制外,因數(shù)分解成素數(shù)的方法的實現(xiàn)可類似地遵循上述的因數(shù)分解方法。由于數(shù)字1是每個數(shù)字的因子,即使1可以被看作一個素數(shù),也不需要特別地考慮它。
例4在這個例子中,使用多個器件來確定數(shù)字21的素數(shù)因子,其中每個器件包含一個按照不同的素數(shù)編程的相變材料。在這個例子中,考察不超過要被因數(shù)分解的數(shù)字的一半的素數(shù)。因此,在本例中考察按照數(shù)字2、3、5和7編程的器件。下一個素數(shù)11大于21的一半,因此它和更大的素數(shù)都不是21的因子。
為了實現(xiàn)21的素數(shù)因數(shù)分解,按照數(shù)字2、3、5和7編程的器件被遞增21次,并在遞增期間按需要被重置。在遞增完成時處于它們的置位狀態(tài)的那些器件對應于21的素數(shù)因子。本例中的遞增的執(zhí)行揭示,在遞增完成時按照數(shù)字3和7編程的器件處于它們的置位狀態(tài),而按照數(shù)字2和5編程的器件不處于它們的置位狀態(tài)。因此得出結論,3和7是21的素數(shù)因子。
如果按照例4的實施例分析一個素數(shù)本身,則在遞增結束時沒有器件處于它們的置位狀態(tài)。這樣一個結局導致得出原始數(shù)字是個素數(shù)的結論,或者該數(shù)只有其自己和1是因子的等同結論。如果13是需要被因數(shù)分解的數(shù)字,并且采用例4中所述的過程,則按照2、3、和5編程的器件被遞增13次,在遞增結束時這些器件都不處于其置位狀態(tài)。如果該方法中使用了按照達到素數(shù)13編程的器件,則也將得出13只有其自己和1是因子的結果。
如上文所述,通過計算按照素數(shù)因子編程的器件或相變材料的體積在遞增期間被置位的次數(shù),可以確定每個素數(shù)因子的輔助因子。每個素數(shù)因子和其輔助因子的乘積等于需要因數(shù)分解的原始數(shù)。即使在使用按照素數(shù)編程的器件時,輔助因子也可能不是素數(shù)。因此,要實現(xiàn)把一個數(shù)字變成一個只有素數(shù)的乘積的完全因數(shù)分解,需要進一步的考慮。
這些進一步的考慮,在上述的例4中是不必要的,因為每個被確定的21的素數(shù)因子(3和7)有一個也是素數(shù)的輔助因子(分別是7和3)。例4中所述的方法可以被用來確定一個數(shù)的特定素數(shù)是否是乘法因子,但是不可以提供一個數(shù)字至其素數(shù)因子的完全因數(shù)分解,其中,完全因數(shù)分解指的是確定其乘積等于被因數(shù)分解的數(shù)字的素數(shù)的唯一性集合。在例4中,確實發(fā)生了完全因數(shù)分解,因為所確定的素數(shù)因子(3乘以7)等于被因數(shù)分解的數(shù)(21)。
對諸如18的數(shù)字的至素數(shù)的完全因數(shù)分解,說明需要包括在例4中所指出的以外的考慮。使用按照例4的架構中素數(shù)編程的器件對18進行因數(shù)分解,需要包括按照素數(shù)2、3、5和7編程的器件或相變材料的體積。在按照數(shù)字18的器件的每個的遞增完成時,發(fā)現(xiàn)只有2和3是18的素數(shù)因子。由于2*3不等于18,這種情況下的結果不構成18至其素數(shù)的完全因數(shù)分解。(為了方便,這里將用*代表算術乘法運算。例如,2和3的積,可以表達為2*3,其中2*3表示2乘以3)。而當然的結論是,只有2和3是18的素數(shù)因子,但是因子2和3的一個或兩個必須多于一次地出現(xiàn)在18的完全素數(shù)因數(shù)分解中。因此,一個數(shù)的完全素數(shù)因數(shù)分解,包括確定所有的素數(shù)因子以及每個素數(shù)因子在等于被素數(shù)因數(shù)分解的數(shù)字的素數(shù)乘積中出現(xiàn)的次數(shù)。
完全素數(shù)因數(shù)分解需要進一步考察在按照素數(shù)的初始因數(shù)分解后獲得的輔助因子。就18而言,素數(shù)因子2和3被確定并且分別有輔助因子9和6。如上文所述,可以通過計算按照所確定的素數(shù)因子編程的器件發(fā)生的置位轉換的次數(shù),確定輔助因子。由于輔助因子不是素數(shù),顯然在對素數(shù)的初始考慮中尚未實現(xiàn)18的完全素數(shù)因數(shù)分解。需要為初步確定的素數(shù)因子所獲得的輔助因子的素數(shù)因子進行二次確定。由于2*9和3*6二者都等于18,可以對輔助因子9或6的任何一個進行素數(shù)因子的二次確定。
對初始考慮已經確定了在被因數(shù)分解成素數(shù)的數(shù)字中存在的所有素數(shù)因子的了解,簡化該二次確定。因此,可以用按照已經被確定的素數(shù)因子編程的器件對輔助因子進行因數(shù)分解。就18而言,可以選擇輔助因子9或輔助因子6作進一步的考察,這個進一步考察只需要包括按照所確定的素數(shù)因子2和3編程的器件。如果輔助因子9被選擇并如上文所述地用按照2和3編程的器件測試,發(fā)現(xiàn)2不是素數(shù)因子,而3是個以3的輔助因子的素數(shù)因子。由于輔助因子3是個素數(shù),18的素數(shù)因數(shù)分解是完全的,結果是18=2*3*3。在這個結果中,2是在素數(shù)因子的初始確定中確定的一個素數(shù)因子,3是在素數(shù)因子的二次確定中確定的一個素數(shù)因子,并且3是在素數(shù)因子的二次確定中確定的一個輔助因子。因此看到素數(shù)3在18的素數(shù)因數(shù)分解中出現(xiàn)兩次。
可以連續(xù)執(zhí)行若干次對輔助因子的素數(shù)因子的確定,以實現(xiàn)對任何輸入數(shù)的完全素數(shù)因數(shù)分解。素數(shù)因數(shù)分解可被看作是一個對連續(xù)的更小的數(shù)字的素數(shù)因子的階聯(lián)確定。在因數(shù)分解的初始考察中或初始層次中,確定一個輸入數(shù)的素數(shù)因子,在初始考察中所確定的素數(shù)因子中的一個的輔助因子,備用在下一次考察中,如此等等,一直到找出是素數(shù)的輔助因子。每個層次的考察因此要分析一個比在階聯(lián)安排中的前一層的考察中的更小的數(shù)。每一層次的確定都可以用在先確定中所找出的任何輔助因子完成。在發(fā)現(xiàn)輔助因子是素數(shù)的層次,已經實現(xiàn)了完全素數(shù)因數(shù)分解。就數(shù)字18而言,要進行兩個層次的考察。在第一層考察中,數(shù)字2和3被確定為素數(shù)因子,在第二層考察中,進一步考察輔助因子9,發(fā)現(xiàn)其包括素數(shù)因子3和輔助因子3。由于輔助因子3是個素數(shù),數(shù)字18只需要兩層考察。更復雜的情形可以類似地分析。
一個可選擇的完全素數(shù)因數(shù)分解的方法是,比較在一層考察后獲得素數(shù)因子的乘積與輸入數(shù),看它們是否相等。例如,共同待審定的美國專利申請(序列號10/144319),描述了使用相變材料的乘法方法。如果在一層考察后獲得素數(shù)因子的乘積等于輸入數(shù),則已經實現(xiàn)了完全素數(shù)因數(shù)分解。如果不是,則需要進一步考察。進一步的考察可包括如上所述地對素數(shù)因子的另一層考察或者可包括把輸入數(shù)除以在初始層次的考察后獲得素數(shù)因子的乘積。使用相變材料的除法方法,例如在共同待審定的美國母案申請(序列號10/144319)中公開。如果除法的結果是一個素數(shù),則已經實現(xiàn)了素數(shù)因數(shù)分解。如果不是,則通過因數(shù)分解或除法進一步考察該除法結果,一直到實現(xiàn)了素數(shù)因數(shù)分解。這個選擇性方法也可以用于一般的把數(shù)字分解成包括非素數(shù)的數(shù)字的因數(shù)分解。
為了說明前述內容,可以考察數(shù)字18的素數(shù)因數(shù)分解的例子。如上文所述的那樣,在一層因數(shù)分解后,2和3被確定為18的素數(shù)因子。2與3相乘得出6。由于6不等于18,需要進一步的考察才能完成素數(shù)因數(shù)分解。按照前述的除法方法,將原始數(shù)字18除以6,得到3。除法的結果因此是,3是18的另一個因子。由于3是素數(shù),除法方法的一個實現(xiàn)以18可以被素數(shù)因數(shù)分解成2*3*3的結果完成素數(shù)因數(shù)分解。
在這里所公開的因數(shù)分解方法和素數(shù)因數(shù)分解方法中,常常需要確定一個因子或素數(shù)因子的輔助因子。如上文所指出的那樣,因子的輔助因子可以通過計算按照因子編程的相變材料的體積在按照輸入數(shù)遞增期間被置位的次數(shù)來確定。置位轉換的計數(shù),可以用一個外部計數(shù)器完成,或者通過相變材料每次置位時將一個計數(shù)寄存器遞增1而完成。在共同待審定的美國母案申請(序列號10/144319)中描述了包含相變材料的計數(shù)寄存器。計數(shù)寄存器可以具有與被發(fā)明方法用作計算媒介的相變材料的體積相同或不同數(shù)量的編程狀態(tài)。在有些數(shù)字的因數(shù)分解中,輔助因子可能是個大數(shù)字并可能超過計數(shù)寄存器可用的編程狀態(tài)的個數(shù)。解決這種輔助因子的問題的一種方式是使用多個計數(shù)寄存器,這幾個寄存器的每個都可以被用來存儲一個多位輔助因子的一位。在共同待審定的美國母案申請(序列號10/144319)中已經描述了多位數(shù)字的存儲。
模運算的方法在諸如上文所述例2的例子中,當判定潛在乘法因子不是一個因子時,因數(shù)分解方法的結果仍然是有解釋性用途的。大家知道的數(shù)學分支—模運算,包括考察在一個數(shù)除以另一個數(shù)后產生的余數(shù)。如上文所述,當余數(shù)是零時,因數(shù)分解完成。非零的余數(shù)不指示因數(shù)分解,但是在模運算計算很重要。模運算在許多數(shù)學課本中有描述,為了提供背景信息和所公開的模運算方法的上下文,下文對模運算做部分說明。
余數(shù)是模運算中的一個關鍵的量。這里所使用的余數(shù),指的是當一個數(shù)除以另一個數(shù)時殘留的數(shù)字。例如,當19除以7時,得到余數(shù)5。例如,當34除以9時,得到余數(shù)7。來自被稱作除法算法(divisionalgorithm)的數(shù)論的一般結果,在每當一個整數(shù)除以另一個整數(shù)時提供一個余數(shù)。按照除法算法,任意整數(shù)a(被除數(shù))都可以按a=q*b+r以整數(shù)b(除數(shù))表達,其中q是整數(shù)(商),r是一個非負整數(shù),具有一個小于除數(shù)b的量的值。按照數(shù)論,q和r的值對于給定的被除數(shù)和除數(shù)來說是唯一的。
在模運算中,整數(shù)是由它們關于算術體系的模數(shù)的余數(shù)表示的。模數(shù)類似于除法上下文中的除數(shù)。例如,關于除以7的除法的余數(shù),可以被用來定義一個具有等于7的模數(shù)的算術體系。這樣一個算術體系也可被稱作以7為模的體系(modulo 7 system)。在以7為模的體系中,整數(shù)由它們關于除以7的除法的余數(shù)表示。在前述的19除以7的例子中,確定余數(shù)是5。因此,在以7為模的體系中,數(shù)字19由其余數(shù)5表示。這個結果也可以以恒等關系的形式表示19 5 mod 7,其中數(shù)學符號表示恒等關系。類似的考慮適用于具有任何模數(shù)的算術體系,可以寫成形為a r mod m的通用恒等關系,其中m是模數(shù),a是個整數(shù),r是a除以m時得出的余數(shù)。余數(shù)r也可被稱作在以m為模的體系中整數(shù)a的同余(congruence)。余數(shù)r也可被看作是被除數(shù)a除以除數(shù)m時得出的余數(shù)。
在以m為模的體系中,余數(shù)r有一個范圍在0到m-1的整數(shù)值,所有的整數(shù)a都必須有r的被允許值的其中之一。例如在以5為模的體系中,r可以是0、1、2、3、或4,所有整數(shù)值a具有從0、1、2、3、或4中選擇的余數(shù)r。在以5為模的體系中,恒等關系的例子包括19 4 mod 5、22 2 mod 5、46 1 mod 5等等。余數(shù)r的一個給定值,必然與整數(shù)a的若干個值相關聯(lián)。因此,例如19 4 mod 5、54 4mod 5、799 4 mod 5等等。在以m為模的算術體系中,具有相同的余數(shù)b的整數(shù)可被稱作屬于相同的等價類(equivalence class)或剩余類。例如,19、54和799,在以5為模的體系中是屬于相同的等價類的。一個完全的等價類包括在特定的模體系中具有相同余數(shù)的所有整數(shù)。在以m為模的體系中,不同的等價類的個數(shù)是m。例如,以3為模的體系具有由三個可能的余數(shù)0、1、和2定義的3個等價類。
余數(shù)r的確定,是模運算中的基本計算之一。如上文所述的例2中例示的那樣,可以用多態(tài)計算媒介提供余數(shù)。如上文所述,在本發(fā)明方法的上下文中,相變材料是優(yōu)選的多態(tài)計算媒介。如果在上文所述的因數(shù)分解方法之一的實現(xiàn)期間遞增結束時,相變材料不是處于其置位狀態(tài),則知道按照其相變材料被編程的數(shù),不是原始輸入數(shù)的一個因子。通過讀取相變材料,以確定在遞增完成時相變材料處于哪個編程狀態(tài),可以確定余數(shù)。在以下的例5中提供一個確定模運算系統(tǒng)中輸入數(shù)的同余的方法的示例性例子。
例5在這個例子中,確定以6為模的體系中16的同余。這個計算也可以被稱作同余計算(congruence computation)。在這個同余計算中,尋求恒等關系16 r mod 6中的數(shù)量r。為了完成同余確定,按照模數(shù)6編程一個相變材料。如上文所述,編程是通過一個策略完成的,在該策略中,定義編程狀態(tài),使得把相變材料從其重置狀態(tài)轉換到其置位狀態(tài)需要6次遞增??梢詫⒅刂脿顟B(tài)與零遞增相關聯(lián),可以沿高阻平臺定義具有六個遞增的置位狀態(tài)和額外的狀態(tài),它們對應于1、2、3、4、和5個遞增。狀態(tài)之間的能量分隔可以是均勻的或者是非均勻的。如此編程的相變材料可被稱作以6為模的相變材料。
為了模運算的目的,可以把整數(shù)值與編程狀態(tài)相關聯(lián),以方便對相變材料的狀態(tài)的解釋??梢詫⒅刂脿顟B(tài)與值0相關聯(lián),可以將對應于一個遞增的編程狀態(tài)與值1相關聯(lián),如此等等。由于以6為模的體系規(guī)定5或更小的余數(shù),置位狀態(tài)(本例中是對應于6個遞增的編程狀態(tài))被適當?shù)嘏c值0相關聯(lián)。(要是把置位狀態(tài)與6相關聯(lián),則相變材料處于置位狀態(tài)的意義可被解釋為6 mod 6。由于零是與6 mod 6同余的,把值0與置位狀態(tài)相關聯(lián)不產生沖突。這個關聯(lián)也與如上文所述的那樣把置位狀態(tài)用作因數(shù)分解的標準一致。
相變材料按照所需的模數(shù)被編程后,相變材料可以被用來確定被編程的模數(shù)內的任何同余關系。在這個例子中,要確定以6為模的體系中16的同余。該確定通過按照要為其尋找同余關系的數(shù)遞增相變材料而進行。在這個例子中,向相變材料提供16次遞增,相變材料在每次被轉換到其置位狀態(tài)時被重置。必要的話,在遞增之前把相變材料轉換到其重置狀態(tài)。如上文所述,可以在遞增期間測量相變材料的電阻,以估定相變材料何時被轉換到其置位狀態(tài)。在這個例子中,施加六個能量遞增就把相變材料從其重置狀態(tài)轉換到其置位狀態(tài),此時,相變材料被重置,然后再進一步遞增。在這個例子中,施加7到12的遞增就第二次把相變材料從其重置狀態(tài)轉換到其置位狀態(tài)。相變材料再一次被重置,向相變材料提供所要求的16個遞增中的最后4個。遞增13把相變材料轉換到與值1相關聯(lián)的編程狀態(tài),遞增14把相變材料轉換到與值2相關聯(lián)的編程狀態(tài),遞增15把相變材料轉換到與值3相關聯(lián)的編程狀態(tài),遞增16把相變材料轉換到與值4相關聯(lián)的編程狀態(tài)。因此,在所要求的16次遞增完成后,相變材料處于與值4相關聯(lián)的編程狀態(tài)。這個最后的編程狀態(tài)提供所需的余數(shù)或同余,所得出的結論是,本例中所尋求的同余關系是16 4 mod 6如例5中的同余關系的計算需要確定在遞增完成時相變材料所處于的編程狀態(tài)。這個最后的編程狀態(tài),可以通過讀取相變材料而被確定。如果相變材料在遞增結束時處于其編程狀態(tài),通過測量電阻可以完成讀取。在這種情況下,余數(shù)是0,通過讓r等于0完成同余關系。這個情況對應于模數(shù)m是a的一個乘法因子的情形。
當模數(shù)m不是a的乘法因子時,相變材料在遞增結束時處于除其置位狀態(tài)以外的一個最后編程狀態(tài)。這個最后編程狀態(tài)可以通過讀取相變材料而確定。讀取已經在共同待審定的美國母案申請(序列號10/144319)中描述過,需要相變材料從在同余計算的實現(xiàn)期間獲得的最后編程狀態(tài)的遞增??梢酝ㄟ^以下方式確定最后編程狀態(tài)1.一直遞增到相變材料置位;2.計算所需的遞增個數(shù);和3.從計算的模數(shù)中減去所需的遞增個數(shù)。例如在上文所述的例5中,需要兩個遞增才能把相變材料從其最后編程狀態(tài)轉換到其置位狀態(tài)。從模數(shù)6中減去2得到4。因此可以得出結論,最后編程狀態(tài)是與數(shù)字4相關聯(lián)的編程狀態(tài),4是在例5的同余計算中所尋求的余數(shù)。在共同待審定的美國母案申請(序列號10/144319)中描述的一個實施例中,在步驟2中包含的計數(shù),可通過為向相變材料的最后編程狀態(tài)提供的能量的每個遞增遞增一次計數(shù)寄存器而獲得。在這個實施例中,假設計數(shù)寄存器具有與同余計算中使用的相變材料相同數(shù)量的編程狀態(tài),由步驟3的減法所表示的差,對應于置位計數(shù)寄存器所需的遞增的數(shù)量。在一個優(yōu)選實施例中,計數(shù)寄存器由按照在同余計算中所用的模數(shù)編程的相變材料組成。
如上文所指出的那樣,關于模數(shù)m的同余計算,把所有整數(shù)的集合分成具有一個共同的關于除以m的余數(shù)的同余類或殘數(shù)。例如在以5為模的體系中,存在對應于余數(shù)0、1、2、3和4的剩余類,每一個整數(shù)被包含在并且僅被包含在這些剩余類的一個中。例如,剩余類2包括作為成員的2、7、12、17...;剩余類3包括作為成員的3、8、13、18...等等。本發(fā)明的確定模運算系統(tǒng)中一個輸入數(shù)的同余的方法對若干個輸入數(shù)的每個的應用,可被用來把一個數(shù)集分類成各個剩余類。
也可以用按照本發(fā)明的相變材料完成模運算系統(tǒng)中的加法。模運算系統(tǒng)對于加法來說是封閉的,使得模運算系統(tǒng)中一個元素向模運算系統(tǒng)中另一個元素的相加,必然產生一個也是模運算系統(tǒng)中一個成員的結果。舉例來說,我們可以考察以上提到的以5為模的體系。以5為模的體系有數(shù)字0、1、2、3和4作為成員。如上文所述,這些數(shù)字可以被看作在以5為模的算術體系中存在的可能的余數(shù)或剩余類。模運算中的加法,以與普通十進制加法類似的方式完成,所不同的是結果被限于是模運算系統(tǒng)中的一個成員。以5為模的體系中的1加上以5為模的體系中的2等于以5為模的體系中的3。這個加法可被表達為1 mod 5+2 mod 5=3 mod 5.。
當一個模運算系統(tǒng)的兩個成員的和等于或超過該模運算系統(tǒng)的模數(shù)時,需要特殊的考慮。例如在以5為模的體系中,3和4的相加需要適當?shù)奶幚?,因為在普通十進制算術中的預期結果是7,超過該該模運算系統(tǒng)的模數(shù)5??梢酝ㄟ^把預期的十進制結果轉換成其以5為模的相等物而適當處理這些情況。因此,3 mod 5+4 mod 5=7 mod5=2 mod 5。結果2是以5為模的體系的一個成員,因此是個適當?shù)慕Y果。在一個模運算系統(tǒng)的框架中一般的十進制數(shù)的相加,可以通過把十進制數(shù)轉換成它們模數(shù)等價物并相加而類似地完成。例如,我們可以在以5為模的體系中如下地把19和17相加19 mod 5+37 mod5=4 mod 5+2 mod 5=6 mod 5=1 mod 5。該計算也可以通過首先把十進制數(shù)相加、然后把結果轉換成模數(shù)5的等價物而完成19 mod5+37 mod 5=56 mod 5=1 mod 5。
在一個模運算系統(tǒng)的加法,在本發(fā)明中可以容易地通過以下方式實現(xiàn)按照運算系統(tǒng)的模數(shù)編程一個相變材料,重置相變材料,按照被總計的數(shù)遞增相變材料。在前述的例子中,例如在以5為模的體系中把19和37相加,我們可以在開始時按照模數(shù)5編程一個相變材料。如上文所述,這個編程包括定義編程狀態(tài),使得把相變材料從其重置狀態(tài)轉換到其置位狀態(tài)需要5個遞增。因此,總共定義6個編程狀態(tài),其中包括重置狀態(tài)、置位狀態(tài)和4個中間狀態(tài)。相變材料被重置,然后通過按照兩個被加數(shù)的每個進行遞增并如上文所述的每次在相變材料被轉換到其置位狀態(tài)時進行必要的重置而完成相加。在這個例子中,相變材料首先被遞增19次,以提供相變材料編程狀態(tài)5(對應于數(shù)字4的編程狀態(tài)),然后被進一步遞增37次,以提供最后狀態(tài),其中,相變材料處于編程狀態(tài)2(對應于數(shù)字1的編程狀態(tài))。
在模運算系統(tǒng)中的加法也可從剩余類的角度來看待,因為在模運算中最終決定兩個數(shù)的和的是余數(shù)。在上文所述的例子中,我們發(fā)現(xiàn)1 mod 5+2 mod 5=3 mod 5。這個結果也可以從剩余類的角度解釋如下在以5為模的系統(tǒng)中,剩余類1中的任何數(shù)與剩余類2中的任何數(shù)之和,必然生成剩余類3中的一個數(shù)。例如,16屬于剩余類1,32屬于剩余類2,16+32=48屬于剩余類3。對于其它剩余類和其它模運算系統(tǒng),可以對加法作類似的解釋。
這里公開的內容是示例性的,并非要限制本發(fā)明的實踐。因此眾多的等同物和微小的變化被認為是在本發(fā)明的范圍內。定義本發(fā)明范圍的,是與前面的內容結合的隨后的各權利要求,包括所有的等同物。
權利要求
1.一種因數(shù)分解一個輸入數(shù)的方法,包含以下步驟提供一定體積的數(shù)字多態(tài)相變材料,所述相變材料有多個狀態(tài),所述狀態(tài)包括一個重置狀態(tài)、一個通過以對應于所述重置狀態(tài)的置位能量的量施加能量而從所述重置狀態(tài)可得到的置位狀態(tài),所述置位狀態(tài)比所述重置狀態(tài)有更低的阻抗,和一個或多個具有與所述重置狀態(tài)實質上相同的電阻的中間狀態(tài),所述一個或多個中間狀態(tài)是通過以小于所述重置狀態(tài)的所述置位能量的量施加能量而從所述重置狀態(tài)可得到的;提供所述輸入數(shù)的一個潛在乘法因子;按照所述潛在乘法因子編程所述相變材料,所述編程包括定義編程狀態(tài),所述編程狀態(tài)是從所述相變材料的所述多個狀態(tài)中選擇的,所述編程狀態(tài)包括所述重置狀態(tài)和所述置位狀態(tài),所述編程狀態(tài)的個數(shù)比所述潛在乘法因子多1;把所述相變材料變換到所述重置狀態(tài);A.遞增所述相變材料,所述遞增包括提供足夠的能量,以便把所述相變材料轉換到所述編程狀態(tài)的一個不同的編程狀態(tài);B.反復地重復所述遞增步驟A,直到所述相變材料被轉換到所述置位狀態(tài);C.重置所述相變材料;反復地重復以上步驟A、B和C,直到所述相變材料已經被遞增的次數(shù)等于所述輸入數(shù)。
2.權利要求1的方法,其中,所述遞增步驟A進一步包括測量所述相變材料的阻抗。
3.權利要求2的方法,其中,所述測量是在所述相變材料已經被轉換到轉換到所述編程狀態(tài)的所述一個不同的編程狀態(tài)后完成的。
4.權利要求1的方法,進一步包含判斷所述潛在乘法因子是否是個乘法因子的步驟,所述判斷步驟包括在所述相變材料已經被遞增的次數(shù)等于所述輸入數(shù)后測量所述相變材料的阻抗。
5.權利要求1的方法,進一步包含計算所述相變材料被轉換到所述置位狀態(tài)的次數(shù)的步驟。
6.權利要求1的方法,其中,所述相變材料包含從由In、Ag、Te、Se、Ge、Sb、Bi、Pb、Sn、As、S、P及其混合物或合金組成的組中選擇的一個或多個成分。
7.權利要求1的方法,其中,所述相變材料包含一個氧屬元素。
8.權利要求7的方法,其中,所述氧屬元素是Te和Se的混合物。
9.權利要求7的方法,其中,所述相變材料進一步包含Ge。
10.權利要求7的方法,其中,所述相變材料進一步包含Sb。
11.權利要求7的方法,其中,所述相變材料進一步包含一個過渡金屬元素。
12.權利要求11的方法,其中,所述過渡金屬是從由Cr、Fe、Ni、Nb、Pd和Pt組成的組中選擇的。
13.權利要求1的方法,其中,所述編程狀態(tài)按均勻的能量間隔分隔。
14.權利要求1的方法,其中,所述遞增步驟A通過提供電能形式的能量而完成。
15.權利要求14的方法,其中,所述電能包括一個電流或電壓脈沖。
16.權利要求1的方法,其中,所述遞增步驟A通過提供光能形式的能量而完成。
17.權利要求1的方法,其中,所述遞增步驟A通過提供熱能形式的能量而完成。
18.一種對輸入數(shù)的因數(shù)分解的方法,包含以下步驟提供多個體積的數(shù)字多態(tài)相變材料,所述多個體積的相變材料的每個有多個狀態(tài),所述狀態(tài)包括重置狀態(tài);可通過以對應于所述重置狀態(tài)的置位能量的量施加能量而從所述重置狀態(tài)得到的置位狀態(tài),所述置位狀態(tài)具有比所述重置狀態(tài)低的阻抗;一個或多個具有與所述重置狀態(tài)的實質上相同的電阻的中間狀態(tài),所述一個或多個中間狀態(tài)可通過以小于所述重置狀態(tài)的置位能量的量施加能量而從所述重置狀態(tài)得到;提供所述輸入數(shù)的多個潛在乘法因子;向所述體積的相變材料應用權利要求1的方法,其中,所述體積的相變材料的每個按照所述潛在乘法因子的不同的一個被編程。
19.權利要求18的方法,其中,所述多個潛在乘法因子的每個都是素數(shù)。
20.權利要求19的方法,進一步包含確定所述素數(shù)的哪個是所述輸入數(shù)的一個乘法因子的步驟,所述確定步驟包括測量按照所述素數(shù)編程的所述體積的相變材料的阻抗。
21.權利要求20的方法,進一步包含計算被確定為所述輸入數(shù)的一個乘法因子的素數(shù)的輔助因子的步驟,所述計算步驟包括在所述應用權利要求1的方法的步驟期間按照所述素數(shù)乘法因子編程的所述體積的相變材料被置位的次數(shù)。
22.權利要求21的方法,進一步包含按照權利要求18的方法因數(shù)分解所述輔助因子的步驟。
23.權利要求21的方法,進一步包含按照權利要求19的方法因數(shù)分解所述輔助因子的步驟。
24.一種確定一個模運算系統(tǒng)中的一個輸入數(shù)的同余的方法,包含以下步驟提供一個體積的數(shù)字多態(tài)相變材料,所述相變材料有多個狀態(tài),所述狀態(tài)包括重置狀態(tài);可通過以對應于所述重置狀態(tài)的置位能量的量施加能量而從所述重置狀態(tài)得到的置位狀態(tài),所述置位狀態(tài)具有比所述重置狀態(tài)低的阻抗;和一個或多個具有與所述重置狀態(tài)的實質上相同的電阻的中間狀態(tài),所述一個或多個中間狀態(tài)可通過以小于所述重置狀態(tài)的置位能量的量施加能量而從所述重置狀態(tài)得到;提供所述模運算系統(tǒng)的模數(shù);按照所述模數(shù)編程所述相變材料,所述編程包括定義編程狀態(tài),所述編程狀態(tài)是從所述相變材料的所述多個狀態(tài)中選擇的,所述編程狀態(tài)包括重置狀態(tài)和所述置位狀態(tài),所述編程狀態(tài)的個數(shù)比所述模數(shù)大1;把所述相變材料轉換到所述重置狀態(tài);A.遞增所述相變材料,所述遞增包括提供足以把所述相變材料轉換到所述編程狀態(tài)的一個不同的編程狀態(tài)的能量;B.循環(huán)地重復所述遞增步驟A,直到所述相變材料被轉換到所述置位狀態(tài);C.重置所述相變材料循環(huán)地重復以上步驟A、B和C,直到所述相變材料已經被遞增的次數(shù)等于所述輸入數(shù);讀取所述相變材料,所述讀取包括以下步驟計算把所述相變材料轉換到所述置位狀態(tài)所需的遞增的次數(shù);從所述模數(shù)中減去所述遞增次數(shù)。
25.一種在一個模運算系統(tǒng)中求一個第一數(shù)和一個第二數(shù)的和的方法,包含以下步驟提供一個體積的數(shù)字多態(tài)相變材料,所述相變材料有多個狀態(tài),所述狀態(tài)包括重置狀態(tài);可通過以對應于所述重置狀態(tài)的置位能量的量施加能量而從所述重置狀態(tài)得到的置位狀態(tài),所述置位狀態(tài)具有比所述重置狀態(tài)低的阻抗;和一個或多個具有與所述重置狀態(tài)的實質上相同的電阻的中間狀態(tài),所述一個或多個中間狀態(tài)可通過以小于所述重置狀態(tài)的置位能量的量施加能量而從所述重置狀態(tài)得到;提供所述第一數(shù)和所述第二數(shù);提供所述模運算系統(tǒng)的模數(shù);按照所述模數(shù)編程所述相變材料,所述編程包括定義編程狀態(tài),所述編程狀態(tài)是從所述相變材料的所述多個狀態(tài)中選擇的,所述編程狀態(tài)包括重置狀態(tài)和所述置位狀態(tài),所述編程狀態(tài)的個數(shù)比所述模數(shù)大1;把所述相變材料轉換到所述重置狀態(tài);A.遞增所述相變材料,所述遞增包括提供足以把所述相變材料轉換到所述編程狀態(tài)的一個不同的編程狀態(tài)的能量;B.循環(huán)地重復所述遞增步驟A,直到所述相變材料被轉換到所述置位狀態(tài);C.重置所述相變材料;循環(huán)地重復以上步驟A、B和C,直到所述相變材料已經被遞增的次數(shù)等于所述第一數(shù);D.遞增所述相變材料,所述遞增包括提供足以把所述相變材料轉換到所述編程狀態(tài)的一個不同的編程狀態(tài)的能量;E.循環(huán)地重復所述遞增步驟D,直到所述相變材料被轉換到所述置位狀態(tài);F.重置所述相變材料;循環(huán)地重復以上步驟D、E和F,直到所述相變材料已經被遞增的次數(shù)等于所述第二數(shù)。
26.權利要求25的方法,進一步包含以下步驟讀取所述相變材料,所述讀取包括以下步驟計算把所述相變材料轉換到所述置位狀態(tài)所需的遞增的次數(shù);從所述模數(shù)中減去所述遞增次數(shù)。
全文摘要
在非二進制計算方案中的一種因數(shù)分解數(shù)字的方法,更具體來說,一種使用數(shù)字多態(tài)相變材料因數(shù)分解數(shù)字的方法。該方法包括以表征要被因數(shù)分解的數(shù)字的數(shù)量向按照該數(shù)字的一個潛在因子編程的相變材料施加能量。編程策略規(guī)定當每次要被因數(shù)分解的數(shù)字中出現(xiàn)一個潛在因子的倍數(shù)時置位相變材料一次。通過在執(zhí)行該方法后計算倍數(shù)的個數(shù)并評估相變材料的狀態(tài),可以判定一個潛在因子是否確實是一個因子??梢詾椴煌囊蜃釉倬幊探o定量的相變材料,或者可以為不同的因子采用分隔的體積的相變材料。通過組合按照不同的因子編程的分隔的體積的相變材料,可以實現(xiàn)對幾個潛在因子的并行的因數(shù)分解。也包括在模運算系統(tǒng)中的加法和計算同余的方法。
文檔編號G11C11/56GK1672125SQ03817623
公開日2005年9月21日 申請日期2003年5月14日 優(yōu)先權日2002年5月24日
發(fā)明者S·R·奧夫辛斯基, B·帕斯馬科夫 申請人:能源變換設備有限公司