專利名稱:使用數(shù)字多狀態(tài)相變材料的計(jì)算方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及非二進(jìn)制計(jì)算方法,更具體地涉及利用相變材料的數(shù)字多狀態(tài)屬性的加、減、乘和除的方法。
背景技術(shù):
計(jì)算機(jī)的發(fā)展通常被認(rèn)為是二十世紀(jì)后半葉最顯著的進(jìn)步之一。計(jì)算機(jī)已經(jīng)簡化了日常生活的許多方面并導(dǎo)致在經(jīng)濟(jì)中顯著的生產(chǎn)力效益。微處理器的速度和存儲(chǔ)器存儲(chǔ)密度的顯著進(jìn)步滿足不了最近在圖象處理和復(fù)雜計(jì)算中的需求。計(jì)算機(jī)的進(jìn)一步的進(jìn)步和將來的應(yīng)用將依賴人類以日益更有效的方式處理更大量信息的能力。
硅是今日計(jì)算機(jī)的心臟。計(jì)算能力和速度的進(jìn)步大部分是因?yàn)楦玫亓私饬斯璧幕緦傩砸约袄眠@些屬性以取得實(shí)際效果的結(jié)果。初始的發(fā)展是以從硅中制造出諸如晶體管和二極管之類的基礎(chǔ)電子部件為基礎(chǔ),后面的發(fā)展則帶來集成電路的發(fā)展。最近的進(jìn)步表示這些趨勢在繼續(xù)并且當(dāng)前強(qiáng)調(diào)小型化以及在單個(gè)芯片上集成更大數(shù)量的微電子器件。較小的器件導(dǎo)致更高的存儲(chǔ)器存儲(chǔ)密度、更加高度集成的電路以及同一芯片上器件之間的減少的交互時(shí)間。
用于提高處理速度和存儲(chǔ)密度的當(dāng)前策略取決于繼續(xù)小型化基于硅的微電子器件的能力。目前,小型化基本遵循莫爾定律。根據(jù)莫爾定律,預(yù)期在一個(gè)給定尺寸的芯片上可以集成的晶體管的數(shù)量每18個(gè)月翻一番。莫爾定律已被證明是對(duì)最近25年發(fā)展的非??煽康念A(yù)言者,并且我們當(dāng)前正處于芯片包含幾千萬的晶體管的時(shí)期,每個(gè)晶體管大概有0.2微米大小。
將來的問題是小型化的努力是否能無限地持續(xù)或者實(shí)際或基本物理極限將給小型化帶來不可逾越的障礙。顯著的實(shí)際限制包括芯片上器件之間的串?dāng)_和進(jìn)一步減小器件尺寸的困難。串?dāng)_對(duì)應(yīng)于電流或電荷從一個(gè)器件泄漏到相鄰器件。理想地,芯片上的所有器件沿著預(yù)定的由邏輯或芯片最終所預(yù)期的目的定義的互連來交互。然而隨著小型化的發(fā)展,器件之間空間必然要減少,并且當(dāng)來自一個(gè)器件的電場、電荷或電流由于緊密的空間鄰近而不是通過布圖互連影響其他器件時(shí),器件之間不想要的交互變得越加成問題。串?dāng)_干擾芯片所預(yù)期的功能。
能夠組裝到芯片上的微電子器件的尺寸主要是布圖器件時(shí)所使用的光刻工藝的函數(shù)。光刻是光阻材料的曝光工藝。光阻材料曝光的尺寸直接與在芯片上最終形成的器件的尺寸有關(guān)。在光刻中使用的光的波長控制光阻材料的曝光尺寸。光的波長越短,光刻工藝的分辨度越高并且最終形成的器件尺寸越小。
原理上,可以克服由串?dāng)_和光刻分辨度所代表的實(shí)際限制。例如,可通過合并在當(dāng)前晶體管結(jié)構(gòu)中使用的具有較低的電介質(zhì)常量的絕緣層來克服串?dāng)_??赏ㄟ^開發(fā)較短波長光源(比如受激準(zhǔn)分子激光器)來提高光刻分辨度。雖然已提出的這些和其它解決方案是潛在可行的,但是這伴隨這巨大的生產(chǎn)成本的提高。建造一個(gè)芯片制造設(shè)施的成本在過去25年從小于500萬美元增加到超過15億美元。預(yù)測成本在將來會(huì)繼續(xù)快速攀升,并且當(dāng)前正變得十分有害,使得對(duì)芯片作進(jìn)一步改善在經(jīng)濟(jì)上是不合理的。計(jì)算機(jī)工業(yè)處于十字路口。
為了計(jì)算機(jī)工業(yè)的擴(kuò)展和使計(jì)算機(jī)變得不止是一個(gè)日用物品,計(jì)算機(jī)工作的方式和處理和在存儲(chǔ)及件中使用的材料需要革命的變化。如果傳統(tǒng)計(jì)算機(jī)要向著更為交互式和更適于學(xué)習(xí)的機(jī)器的方向發(fā)展,則計(jì)算速度和效率的提高以及更高的并行性也是所需的進(jìn)步。
發(fā)明概要本發(fā)明提供以非二進(jìn)制方式計(jì)算的方法,所述方法利用了相變材料的數(shù)字多狀態(tài)屬性。數(shù)字多狀態(tài)相變材料可合并到計(jì)算機(jī)的存儲(chǔ)器元件或寄存器以及能夠?qū)崿F(xiàn)本發(fā)明的計(jì)算方法的其他數(shù)據(jù)處理單元。本發(fā)明的計(jì)算方法使用的數(shù)字多狀態(tài)相變存儲(chǔ)器材料具有至少一個(gè)高電阻狀態(tài)和一個(gè)可檢測的不同的低電阻狀態(tài)。在這里公開了利用數(shù)字多狀態(tài)相變材料來復(fù)位包括數(shù)字多狀態(tài)相變材料的存儲(chǔ)器元件、定義數(shù)字存儲(chǔ)的編程狀態(tài)、將一個(gè)存儲(chǔ)器元件的內(nèi)容移動(dòng)到另一個(gè)存儲(chǔ)器元件、計(jì)算一個(gè)數(shù)的補(bǔ)碼和執(zhí)行加減乘除的數(shù)學(xué)運(yùn)算的方法和算法。
包括數(shù)字多狀態(tài)相變材料的存儲(chǔ)器元件可以被組織在存儲(chǔ)器組中,其中一個(gè)組中的每個(gè)存儲(chǔ)器元件可被用來存儲(chǔ)多數(shù)位數(shù)字的一個(gè)數(shù)位。存儲(chǔ)器元件在這里也被稱之為寄存器。于是,存儲(chǔ)器組對(duì)應(yīng)于存儲(chǔ)器元件或寄存器的集合。被包括在一個(gè)存儲(chǔ)器組中的存儲(chǔ)器元件或寄存器的數(shù)目是變化的,并且通常由被希望與用于存儲(chǔ)的數(shù)字相關(guān)聯(lián)的最大數(shù)位數(shù)量確定。與一個(gè)數(shù)字相關(guān)聯(lián)的最大數(shù)位數(shù)量表示操作精度和效率之間的折衷。
通過將寄存器分組以形成存儲(chǔ)器組,可以將存儲(chǔ)器元件編程以存儲(chǔ)多數(shù)位數(shù)字。不限制于基于二進(jìn)制或基數(shù)為2的算術(shù)系統(tǒng)的運(yùn)算,相變材料的數(shù)字多狀態(tài)特征允許在寄存器中存儲(chǔ)和處理與任何算術(shù)基相關(guān)的數(shù)位以達(dá)到非二進(jìn)制計(jì)算能力。例如,使用本發(fā)明來直接存儲(chǔ)和處理基數(shù)為10、基數(shù)為8或基數(shù)為16的數(shù)字是可能的。幾百、幾千或甚至更高的基數(shù)也都與本發(fā)明兼容。結(jié)果,本發(fā)明提供了達(dá)到大規(guī)模并行計(jì)算的機(jī)會(huì)。通過本發(fā)明的計(jì)算方法利用多狀態(tài)存儲(chǔ)器元件的可能的并行計(jì)算能力、更高的存儲(chǔ)密度和非二進(jìn)制運(yùn)算提供了相對(duì)于傳統(tǒng)計(jì)算機(jī)器大幅提高計(jì)算速度和效率的機(jī)會(huì)。
在這里公開的算法描述利用包括相變材料的多狀態(tài)存儲(chǔ)器元件來存儲(chǔ)和處理信息的方法。包括在本發(fā)明中的是針對(duì)在單個(gè)寄存器操作以及多狀態(tài)寄存器組的寄存器到寄存器的操作的方法。在這些方法中,把能量施加于單個(gè)寄存器或者存儲(chǔ)器組中的各個(gè)寄存器,以存儲(chǔ)一個(gè)數(shù)位或者改變先前存儲(chǔ)的數(shù)位的值。這些方法包括用于尋址各個(gè)寄存器的措施并提供用于操縱與一個(gè)或多個(gè)存儲(chǔ)器組關(guān)聯(lián)的一組寄存器或其相關(guān)子集的多種方法,以達(dá)到期望的數(shù)學(xué)運(yùn)算或處理目標(biāo)。
附圖簡述
圖1是作為所提供的能量數(shù)量的函數(shù)的典型相變材料的電阻的曲線。該曲線包括左邊的高電阻平穩(wěn)段區(qū)域和置位后區(qū)域。兩個(gè)區(qū)域內(nèi)的典型狀態(tài)為示例說明的目的示出。
圖2顯示被表示為RESET(a)的復(fù)位方法中的步驟。
圖3顯示RESET(a)復(fù)位方法中的步驟的替換描述。
圖4顯示在方法HALFCOPY_1中的步驟,該方法可用來計(jì)算一個(gè)數(shù)字的補(bǔ)碼。在這個(gè)實(shí)施例中,在位置a中一個(gè)數(shù)字的補(bǔ)碼被提供給位置b。
圖5顯示在方法HALFCOPY_2中的步驟,該方法可用來計(jì)算一個(gè)數(shù)字的補(bǔ)碼。在這個(gè)實(shí)施例中,在位置a中一個(gè)數(shù)字的補(bǔ)碼被提供給位置b。
圖6顯示被表示為COPY_1的拷貝方法中的步驟。在這個(gè)實(shí)施例中,存儲(chǔ)在位置a中的數(shù)字被拷貝給位置b和c。
圖7顯示被表示為BASIC ADD的加法方法中的步驟。在這個(gè)實(shí)施例中,提供在位置a和b中的數(shù)字的和。
圖8顯示被表示為ADD的加法方法中的步驟。在這個(gè)實(shí)施例中,提供在位置a和b中的數(shù)字的和。
圖9顯示被表示為BASIC SUBTRACT的減法方法中的步驟。在這個(gè)實(shí)施例中,提供在位置a和b中的數(shù)字的差。
圖10顯示被表示為SUBTRACT的減法方法中的步驟。在這個(gè)實(shí)施例中,提供在位置a和b中的數(shù)字的差。
圖11顯示被表示為BASIC MULTIPLY的乘法方法中的步驟。在這個(gè)實(shí)施例中,提供在位置a和b中的數(shù)字的積。
圖12顯示被表示為BASIC DIVIDE的除法方法中的步驟。在這個(gè)實(shí)施例中,提供在位置b和a中的數(shù)字的商。該商包括除數(shù)a的倍數(shù)和一個(gè)余數(shù)。
發(fā)明的詳細(xì)描述本發(fā)明提供用于計(jì)算和處理應(yīng)用相變材料的數(shù)字多狀態(tài)屬性的數(shù)據(jù)的方法。相變材料可合并到計(jì)算機(jī)的存儲(chǔ)器組、存儲(chǔ)器元件或寄存器或者其他數(shù)據(jù)處理單元中。如這里所使用的,存儲(chǔ)器組包括一定容量的可被分割或再劃分成存儲(chǔ)器元件的相變材料,其中每個(gè)存儲(chǔ)器元件可用于存儲(chǔ)多數(shù)位數(shù)字的一個(gè)數(shù)位。存儲(chǔ)器元件在這里還可以稱為寄存器。因此存儲(chǔ)器組對(duì)應(yīng)于存儲(chǔ)器元件或寄存器的集合。包括在存儲(chǔ)器組中的存儲(chǔ)器元件或寄存器的數(shù)量是變化的,并且通常由被希望與用于存儲(chǔ)的數(shù)字相關(guān)聯(lián)的最大數(shù)位數(shù)量確定。本發(fā)明的計(jì)算方法還針對(duì)利用相變材料的數(shù)字多狀態(tài)屬性完成數(shù)學(xué)運(yùn)算和數(shù)據(jù)處理。
傳統(tǒng)計(jì)算機(jī)和數(shù)據(jù)處理器依賴于二進(jìn)制存儲(chǔ)器元件,所述二進(jìn)制存儲(chǔ)器元件利用二進(jìn)制“0”和“1”的形式的兩個(gè)狀態(tài)存儲(chǔ)和處理數(shù)據(jù),而本發(fā)明提供用于能夠采納多個(gè)狀態(tài)的存儲(chǔ)器元件的計(jì)算方法和算法。這樣的存儲(chǔ)器元件可在給定容量的存儲(chǔ)器材料中存儲(chǔ)比在二進(jìn)制計(jì)算機(jī)中所可能存儲(chǔ)的更多的信息。結(jié)果,用本發(fā)明的計(jì)算方法操作的計(jì)算機(jī)可提供比傳統(tǒng)計(jì)算機(jī)高得多的數(shù)據(jù)存儲(chǔ)能力。本發(fā)明的方法還提供以非二進(jìn)制方式計(jì)算的能力。結(jié)果,可通過非二進(jìn)制方法達(dá)到數(shù)據(jù)的寫、處理和讀,由此讓我們免于傳統(tǒng)二進(jìn)制計(jì)算機(jī)器的限制。
二十世紀(jì)后期的一個(gè)引起人們興趣的發(fā)展是量子計(jì)算的概念。量子計(jì)算的一個(gè)關(guān)鍵的潛在優(yōu)點(diǎn)是通過大量疊加狀態(tài)的糾纏(entanglement)而獲得大規(guī)模并行計(jì)算能力的。該能力被吹噓為解決與下一代計(jì)算關(guān)聯(lián)的復(fù)雜性的解決方案,并且若干小組已經(jīng)展示了開發(fā)用于解決長期存在的問題(比如大數(shù)字的因數(shù)分解)的量子計(jì)算算法的初始進(jìn)展,比如Shor算法。然而現(xiàn)在已經(jīng)設(shè)計(jì)出的量子計(jì)算機(jī)的工作模型是不穩(wěn)定的,并且當(dāng)面對(duì)不相干的外部干擾時(shí)易于失敗。結(jié)果,量子計(jì)算機(jī)提供的并行性變成現(xiàn)實(shí)似乎還很遙遠(yuǎn)。
利用數(shù)字多狀態(tài)屬性的本發(fā)明的計(jì)算方法可提供獲得與從量子計(jì)算機(jī)潛在可達(dá)到的大規(guī)模并行計(jì)算能力類似的大規(guī)模并行計(jì)算能力的機(jī)會(huì)。由本發(fā)明的計(jì)算方法對(duì)之起作用的相變材料的數(shù)字多狀態(tài)特性可以被比作多個(gè)狀態(tài)的疊加,該疊加是量子計(jì)算機(jī)的糾纏效應(yīng)的中心。然而與量子計(jì)算機(jī)不同,多狀態(tài)相變材料和本發(fā)明的計(jì)算方法是最魯棒的,并且對(duì)于各種外部影響是穩(wěn)定的。由本發(fā)明提供的高存儲(chǔ)密度和多狀態(tài)計(jì)算特性的組合提供了能達(dá)到遠(yuǎn)遠(yuǎn)超過傳統(tǒng)計(jì)算機(jī)的計(jì)算速度和效率的巨大機(jī)會(huì)。
用于傳統(tǒng)二進(jìn)制存儲(chǔ)器材料的比特操作和算法可能無法直接移植到基于數(shù)字多狀態(tài)相變材料的存儲(chǔ)器元件。這些多狀態(tài)存儲(chǔ)器元件要求用于處理數(shù)據(jù)和完成數(shù)學(xué)運(yùn)算的新算法。在這里公開了若干為多狀態(tài)存儲(chǔ)器元件設(shè)計(jì)的算法。根據(jù)合并到存儲(chǔ)器元件中的相變材料的物理和化學(xué)屬性,這些方法是基于與存儲(chǔ)器元件的能量交互而預(yù)知的。在以下回顧相變材料的基本屬性,所述屬性在美國專利號(hào)5,912,839和6,141,241中描述;在此引入其公開內(nèi)容作為參考。
本發(fā)明的方法對(duì)之起作用的存儲(chǔ)器元件和寄存器包括具有至少一個(gè)高電阻狀態(tài)和一個(gè)可檢測的不同的低電阻狀態(tài)的相變存儲(chǔ)器材料。如這里使用的,高和低電阻狀態(tài)分別是指以高和低的電阻為特征的物理狀態(tài),其中高和低電阻狀態(tài)的電阻是相對(duì)于彼此而言并且可檢測地互相不同。由本發(fā)明的方法使用的相變存儲(chǔ)器材料的例子在共同轉(zhuǎn)讓的美國專利號(hào)5,166,758;5,296,716;5,524,711;5,536,947;5,596,522;5,825,046和5,687,122中描述,在此引入其公開內(nèi)容作為參考。本方法針對(duì)的存儲(chǔ)器元件的例子在共同轉(zhuǎn)讓的美國專利號(hào)5,912,839和6,141,241中描述,在此引入其公開內(nèi)容作為參考。
本發(fā)明的計(jì)算方法所針對(duì)使用的相變材料在施加了有效數(shù)量的能量之后能從高電阻狀態(tài)轉(zhuǎn)換為低電阻狀態(tài)。在這里公開的圖1是作為能量的函數(shù)的相變材料的電阻的曲線圖。圖1的實(shí)施例中的能量是以電流脈沖形式施加的電能。如果相變材料初始為其高電阻狀態(tài),施加少量的能量使得材料處于其高電阻狀態(tài)。該行為由圖1左邊所示的高電阻平穩(wěn)段區(qū)域描述。但是,如果施加了足夠數(shù)量的能量,相變材料從其高電阻狀態(tài)轉(zhuǎn)換到其低電阻狀態(tài)。該轉(zhuǎn)換由緊接圖1的高電阻平穩(wěn)段區(qū)域右邊的電阻驟減來描述。相變材料從其高電阻狀態(tài)到其低電阻狀態(tài)的轉(zhuǎn)換在這里被稱之為“置位”相變材料。
置位后產(chǎn)生的低電阻狀態(tài)在這里被稱之為相變材料的“置位狀態(tài)”。足以置位相變材料的能量數(shù)量在這里被稱之為“置位能量”。注意置位能量對(duì)于沿著高電阻平穩(wěn)段的每個(gè)狀態(tài)是不同的。
圖1的右邊對(duì)應(yīng)于相變材料被置位后的行為。一旦置位,相變材料處于其低電阻狀態(tài)并根據(jù)圖1右邊所示的置位后區(qū)域被所施加的能量影響。電阻響應(yīng)曲線的這個(gè)部分在上面幾個(gè)作為參考而在這里引用的美國專利中已經(jīng)被稱為曲線的模擬或灰度多比特部分。對(duì)相變材料的置位后狀態(tài)施加能量可產(chǎn)生其電阻的變化。該電阻的變化由所施加的能量數(shù)量確定。根據(jù)所施加的能量數(shù)量和圖1的置位后區(qū)域中的相變材料的狀態(tài),電阻的增加或減少可能會(huì)發(fā)生,因?yàn)橹梦缓髤^(qū)域的行為是可逆的。該可逆性由圖1的置位后區(qū)域中所示的兩個(gè)箭頭描述。能量和電阻與置位后區(qū)域中的每個(gè)點(diǎn)關(guān)聯(lián)。如果所施加的能量超過與描述置位后區(qū)域中的相變材料的點(diǎn)相關(guān)聯(lián)的能量,相變材料的電阻增加。相反,如果所施加的能量小于與描述置位后區(qū)域中的相變材料的點(diǎn)相關(guān)聯(lián)的能量,相變材料的電阻減少。該可逆性被限制于圖1的置位后區(qū)域。通過施加對(duì)應(yīng)于置位轉(zhuǎn)換之前的(即在置位轉(zhuǎn)換左邊的)圖1的高電阻平穩(wěn)段區(qū)域中的一點(diǎn)的能量來反轉(zhuǎn)置位轉(zhuǎn)換是不可能的。
但是,通過將足夠高的能量數(shù)量施加到由圖1的置位后區(qū)域中的一點(diǎn)描述的材料來恢復(fù)相變材料的高電阻狀態(tài)是可能的。施加這樣的能量對(duì)應(yīng)于按在圖1中增加能量的方向移動(dòng),而不是按反轉(zhuǎn)置位轉(zhuǎn)換的方向。如圖1中置位后區(qū)域所示,施加數(shù)量持續(xù)增加的能量導(dǎo)致電電阻的持續(xù)增加。當(dāng)施加足夠數(shù)量的能量以將相變材料驅(qū)動(dòng)到圖1的極右邊時(shí),相變材料返回到其高電阻狀態(tài)并重新開始其高電阻平穩(wěn)段。將相變材料從其低電阻置位狀態(tài)轉(zhuǎn)換到其高電阻狀態(tài)所需的能量在這里被稱之為“復(fù)位能量”。施加復(fù)位能量后的相變材料的狀態(tài)在下面被稱為“復(fù)位狀態(tài)”。施加復(fù)位能量“復(fù)位”相變材料以產(chǎn)生高電阻復(fù)位狀態(tài)。根據(jù)在復(fù)位之后進(jìn)一步施加能量而觀察到的行為類似于關(guān)于圖1的高電阻平穩(wěn)段區(qū)域所描述的。圖1所示的曲線對(duì)應(yīng)于置位和復(fù)位的一個(gè)循環(huán)。相變材料可在大量循環(huán)中可再現(xiàn)地置位和復(fù)位。
與圖1的置位后區(qū)域關(guān)聯(lián)的可逆行為形成可被編程為特定電阻值的模擬、多比特灰度器件的基礎(chǔ)。例如在Ovshinsky等人的美國專利號(hào)5,687,112以及Ovshinsky的美國專利號(hào)3,271,591和3,530,441中描述了這樣的器件的例子,其公開內(nèi)容在這里引用作為參考。
本計(jì)算機(jī)和本發(fā)明的算法的存儲(chǔ)器元件基于由在圖1左邊描述的平穩(wěn)段區(qū)域所表示的高電阻狀態(tài)中的相變存儲(chǔ)器材料。沿著高電阻平穩(wěn)段的狀態(tài)和響應(yīng)曲線的置位后部分中的狀態(tài)的不同在于它們?nèi)烤哂谢鞠嗤碾娮柚?。相反地,置位后區(qū)域中的狀態(tài)具有連續(xù)變化的電阻值范圍。高電阻平穩(wěn)段提供數(shù)字多狀態(tài)存儲(chǔ)和處理能力,這可以導(dǎo)致更快和更通用的計(jì)算機(jī)。本發(fā)明的計(jì)算方法是針對(duì)利用相變材料的電響應(yīng)的數(shù)字多狀態(tài)高電阻平穩(wěn)段部分的優(yōu)點(diǎn)。
相變材料的多狀態(tài)性能是高電阻狀態(tài)的屬性的結(jié)果。向處于高電阻狀態(tài)的相變材料施加少于置位所需數(shù)量的能量(在這里被稱之為“亞置位能量數(shù)量”),導(dǎo)致在材料中的不顯著改變其電阻的物理變化。圖1的平穩(wěn)段區(qū)域表征高電阻狀態(tài)的該屬性。向由圖1的平穩(wěn)段區(qū)域中的第一個(gè)點(diǎn)描述的相變材料施加亞置位能量數(shù)量將相變材料轉(zhuǎn)換到由平穩(wěn)段區(qū)域中的第二個(gè)點(diǎn)描述的物理狀態(tài),第二個(gè)點(diǎn)在第一個(gè)點(diǎn)的右邊。不可能通過施加亞置位能量數(shù)量在高電阻平穩(wěn)段區(qū)域中的向左的方向上轉(zhuǎn)換相變材料。在前面描述的用于圖1的置位后、模擬、多比特部分的可逆性的概念不適用于置位前、數(shù)字多狀態(tài)的高電阻平穩(wěn)段。高電阻平穩(wěn)段區(qū)域中的初始點(diǎn)的左邊的點(diǎn)可通過置位相變材料、復(fù)位該材料并接著施加適當(dāng)?shù)膩喼梦荒芰繑?shù)量而達(dá)到。
作為高電阻平穩(wěn)段區(qū)域中的單向響應(yīng)的結(jié)果,由本發(fā)明的計(jì)算方法對(duì)之起作用的相變材料能累積和存儲(chǔ)達(dá)到材料的置位能量的數(shù)量的能量。即使相變材料的電阻在高電阻平穩(wěn)段區(qū)域中不變化,每次施加亞置位能量使得相變材料可預(yù)測地前進(jìn)到低電阻置位狀態(tài)。相變材料的該行為可在多狀態(tài)存儲(chǔ)器元件中使用,并且是這里公開的方法和算法的基礎(chǔ)。
在一個(gè)優(yōu)選實(shí)施例中,復(fù)位狀態(tài)被選擇為圖1的高電阻平穩(wěn)段區(qū)域中的起始點(diǎn)。將相變材料從其復(fù)位狀態(tài)轉(zhuǎn)換到其置位狀態(tài)所要求的能量區(qū)間在下面稱為“復(fù)位狀態(tài)的置位能量”。因?yàn)閺?fù)位狀態(tài)的置位能量是可再現(xiàn)的屬性并是多個(gè)置位和復(fù)位循環(huán)中的常數(shù),其可以被分成兩個(gè)或多個(gè)子區(qū)間,并且相變存儲(chǔ)器材料的不同的編程狀態(tài)或編程值可由施加子區(qū)間能量的不同數(shù)量或組合定義或與其相關(guān)地被定義。圖1中的高電阻平穩(wěn)段區(qū)域中的相變材料的可再現(xiàn)單方向行為提供根據(jù)以子區(qū)間數(shù)量被施加到材料的能量累積量建立不同的編程狀態(tài)的能力。通過施加子區(qū)間能量的亞置位序列,一組不同的編程狀態(tài)可以由施加到復(fù)位狀態(tài)的累積能量數(shù)量來唯一地或可再現(xiàn)地定義。例如,第一編程狀態(tài)可與向復(fù)位狀態(tài)施加第一子區(qū)間能量數(shù)量關(guān)聯(lián)。向處于第一編程狀態(tài)的相變材料第二次施加第一子區(qū)間能量數(shù)量可用于定義第二編程狀態(tài)。第二編程狀態(tài)可替換地與向復(fù)位狀態(tài)單次施加大小不同于第一子區(qū)間能量數(shù)量的第二子區(qū)間能量數(shù)量關(guān)聯(lián)。子區(qū)間能量數(shù)量的順序施加和組合可用于定義貫穿于圖1的高電阻平穩(wěn)段區(qū)域的一系列編程狀態(tài)。
施加子區(qū)間能量的多個(gè)序列和組合構(gòu)成用于建立可以由本發(fā)明的計(jì)算方法使用的編程狀態(tài)的實(shí)施例。在某些實(shí)施例中,只有在高電阻平穩(wěn)段區(qū)域內(nèi)的狀態(tài)被包括為編程狀態(tài)。在其他實(shí)施例中,在將相變材料轉(zhuǎn)換到其低電阻狀態(tài)后得到的置位狀態(tài)被包括為附加的編程狀態(tài)。當(dāng)施加到復(fù)位狀態(tài)的能量的累積量達(dá)到復(fù)位狀態(tài)的置位能量時(shí),相變材料置位。在置位之后,在進(jìn)一步施加能量后相變材料的行為由圖1的置位后區(qū)域控制。
在本發(fā)明中使用的相變材料擁有從復(fù)位狀態(tài)擴(kuò)展到置位狀態(tài)的狀態(tài)連續(xù)集。所述狀態(tài)包括復(fù)位狀態(tài)、一系列沿著高電阻平穩(wěn)段的中間狀態(tài)和置位狀態(tài)。中間狀態(tài)和置位狀態(tài)可通過將能量施加到復(fù)位狀態(tài)而得到。與相變材料關(guān)聯(lián)的狀態(tài)可被看作是形成相對(duì)于復(fù)位狀態(tài)在能量上可區(qū)別的狀態(tài)連續(xù)集。在上文描述的編程狀態(tài)從該狀態(tài)連續(xù)集選擇。編程狀態(tài)通常與離散的數(shù)據(jù)值(比如整數(shù))關(guān)聯(lián),并具有對(duì)應(yīng)于需要添加到相變材料的復(fù)位狀態(tài)以將相變材料轉(zhuǎn)換到所述編程狀態(tài)的能量的編程能量。例如一個(gè)特定編程狀態(tài)具有對(duì)應(yīng)于必須添加到相變材料的復(fù)位狀態(tài)以將其轉(zhuǎn)換到該編程狀態(tài)的能量數(shù)量的編程能量。于是,編程狀態(tài)的編程能量是相對(duì)于復(fù)位狀態(tài)的能量的量度,并且每個(gè)編程狀態(tài)與一個(gè)唯一的編程能量關(guān)聯(lián)。
在一個(gè)優(yōu)選實(shí)施例中,每個(gè)編程狀態(tài)具有一個(gè)被分配給其或與其相關(guān)的唯一的數(shù)據(jù)值。在另一個(gè)優(yōu)選實(shí)施例中,連續(xù)的整數(shù)按編程能量增加的順序被分配給編程能量或與編程能量關(guān)聯(lián)。在這些實(shí)施例中,通過將相變材料轉(zhuǎn)換到與一個(gè)數(shù)字關(guān)聯(lián)的編程狀態(tài)可以存儲(chǔ)該數(shù)字。數(shù)值與編程狀態(tài)的唯一對(duì)應(yīng)提供在相變材料的一個(gè)獨(dú)特狀態(tài)中存儲(chǔ)一個(gè)數(shù)字范圍中的任何數(shù)字的能力。多個(gè)數(shù)字可存儲(chǔ)在相變材料的多個(gè)部分。根據(jù)計(jì)算目標(biāo),計(jì)算可通常通過提供能量來實(shí)現(xiàn)一個(gè)或多個(gè)編程狀態(tài)間的轉(zhuǎn)換來執(zhí)行。
如上所指出的,每次施加子區(qū)間能量數(shù)量都使得高電阻平穩(wěn)段中的相變材料趨向置位狀態(tài)。即使復(fù)位和沿著高電阻平穩(wěn)段的中間狀態(tài)基本上具有相同的電阻并因而不能根據(jù)電阻被區(qū)別,然而沿高電阻平穩(wěn)段的每個(gè)狀態(tài)仍保持與所有其它狀態(tài)的可檢測到的區(qū)別,因?yàn)橐蟛煌哪芰繑?shù)量來置位由沿著高電阻平穩(wěn)段的不同點(diǎn)描述的相變材料。例如,如果施加一個(gè)能量數(shù)量以用于將由沿著高電阻平穩(wěn)段的第一個(gè)點(diǎn)描述的相變材料變換到沿著高電阻平穩(wěn)段的第二個(gè)點(diǎn),則將由第二個(gè)點(diǎn)描述的相變材料轉(zhuǎn)換到置位狀態(tài)所需施加的能量精確地比將由第一個(gè)點(diǎn)描述的相變材料轉(zhuǎn)換到置位狀態(tài)所需施加的能量低。因?yàn)橹梦粻顟B(tài)相對(duì)于沿著高電阻平穩(wěn)段的狀態(tài)是可檢測地不同的低電阻狀態(tài),并且因?yàn)橹梦挥裳刂唠娮杵椒€(wěn)段的任何點(diǎn)描述的相變材料所需的能量數(shù)量可被確定,因此沿著高電阻平穩(wěn)段的不同的點(diǎn)是可區(qū)分的,并且沿著高電阻平穩(wěn)段的每個(gè)點(diǎn)可以與不同的編程狀態(tài)和/或數(shù)值相關(guān)聯(lián)。結(jié)果,通過將從復(fù)位狀態(tài)到置位狀態(tài)的能量區(qū)間分成合適數(shù)量的子區(qū)間,實(shí)際上可在圖1的高電阻平穩(wěn)段區(qū)域內(nèi)定義任何數(shù)量的編程狀態(tài)。結(jié)果,高電阻平穩(wěn)段區(qū)域可被細(xì)分成為一系列離散編程狀態(tài),所述狀態(tài)可用于存儲(chǔ)和處理數(shù)據(jù)。包括相變材料的存儲(chǔ)器元件不限于如當(dāng)前的二進(jìn)制計(jì)算機(jī)那樣的兩個(gè)編程狀態(tài),而是可以提供非二進(jìn)制多狀態(tài)編程和計(jì)算能力,并進(jìn)而提供在每個(gè)存儲(chǔ)器元件中存儲(chǔ)多于兩個(gè)數(shù)字的能力。
離散編程狀態(tài)的數(shù)量依賴于與相變材料從其復(fù)位狀態(tài)(或其他起始狀態(tài))到其置位狀態(tài)關(guān)聯(lián)的能量區(qū)間的大小(復(fù)位狀態(tài)或起始狀態(tài)的置位能量的大小),以及依賴于可能將該能量區(qū)間分成子區(qū)間所使用的分辨度并依賴于諸如與具有特定數(shù)量的編程狀態(tài)關(guān)聯(lián)的相對(duì)計(jì)算或處理優(yōu)點(diǎn)之類的實(shí)際因素。如這里使用的,起始狀態(tài)或初始狀態(tài)是指沿著高電阻平穩(wěn)段的第一或最低的能量編程狀態(tài)。優(yōu)選地讓復(fù)位狀態(tài)作為起始狀態(tài),并且如果沒有特別指出的話該復(fù)位狀態(tài)將被假設(shè)為在下面討論中的起始狀態(tài)。但是,需要明白沿著高電阻平穩(wěn)段的不同狀態(tài)可被選擇為起始狀態(tài)。
復(fù)位狀態(tài)和置位狀態(tài)之間的能量區(qū)間的大小能受相變材料的化學(xué)組成影響,如下所述的那樣??梢越迤涠x子區(qū)間的分辨度依賴于從用于編程或讀取由本發(fā)明的計(jì)算方法對(duì)之起作用的多狀態(tài)存儲(chǔ)器元件的能源可得的能量分辨度。在下面更全面地描述適于根據(jù)本發(fā)明的計(jì)算方法將相變材料在其各狀態(tài)間轉(zhuǎn)換的能源。從計(jì)算的觀點(diǎn)出發(fā),編程狀態(tài)的數(shù)量可影響計(jì)算方法或算法的性質(zhì)、速度、并行性或方便性。例如將編程狀態(tài)數(shù)量選擇為二的倍數(shù),可允許將當(dāng)前可得的二進(jìn)制算法適用于本發(fā)明的非二進(jìn)制計(jì)算方法。例如包括4、8、16、32、64(等)個(gè)編程狀態(tài)的實(shí)施例被包括到本發(fā)明中。使用10個(gè)編程狀態(tài)允許方便地實(shí)現(xiàn)基于在日常事務(wù)中使用的傳統(tǒng)的基數(shù)為10(十進(jìn)制)的系統(tǒng)的算法,并且也被包括到本發(fā)明的實(shí)施例中。
通過把將相變材料從其復(fù)位狀態(tài)轉(zhuǎn)換到其置位狀態(tài)所需的能量區(qū)間分成逐漸更小的子區(qū)間,可能達(dá)到大量編程狀態(tài)并實(shí)現(xiàn)編程狀態(tài)的連續(xù)分布。用與量子計(jì)算機(jī)有些類似的方式,創(chuàng)建準(zhǔn)連續(xù)編程狀態(tài)的可能性提供到達(dá)大規(guī)模并行計(jì)算能力的機(jī)會(huì)。數(shù)量為幾百、幾千或甚至更高的編程狀態(tài)可在包括相變材料的存儲(chǔ)器元件中得到并由本發(fā)明的計(jì)算方法和算法處理。
適于與本發(fā)明的計(jì)算方法和算法一起使用的相變材料的例子在美國專利號(hào)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中提供。存儲(chǔ)器材料的容量可包含電介質(zhì)材料和相變材料的混合物。這樣的混合物的例子在共同轉(zhuǎn)讓的美國專利號(hào)6,087,674中描述,其公開內(nèi)容在這里引用作為參考。適用于本發(fā)明的計(jì)算方法和算法的材料包括復(fù)位狀態(tài)和在能量上與復(fù)位狀態(tài)不同并具有與復(fù)位狀態(tài)基本上相同的電阻的多個(gè)中間狀態(tài),以及具有可檢測的比復(fù)位狀態(tài)低的電阻的置位狀態(tài)。滿足這一要求的材料通常包括一個(gè)或多個(gè)以下元素In、Ag、Te、Se、Ge、Sb、Bi、Pb、Sn、As、S、Si、P、O或其混合物和其合金。在一個(gè)優(yōu)選實(shí)施例中,相變材料包括硫族元素。在另一個(gè)優(yōu)選實(shí)施例中,相變材料包括硫族元素和Ge。在一個(gè)更優(yōu)選的實(shí)施例中,相變材料包括Ge、硫族元素和Sb。在一個(gè)最優(yōu)選的實(shí)施例中,相變材料包括Ge、Te和Bb。
許多本發(fā)明的計(jì)算方法和算法包括涉及提供或施加能量給一個(gè)相變材料或由相變材料組成的存儲(chǔ)器元件的步驟。提供或施加能量可由任何能夠傳遞受控制的能量數(shù)量給相變材料的源來完成。受控制的能量數(shù)量在之后被稱之為“能量脈沖”?!爸梦幻}沖”是足夠置位相變材料的能量脈沖,并對(duì)應(yīng)于提供置位能量數(shù)量?!皬?fù)位脈沖”是足夠復(fù)位相變材料的能量脈沖,并對(duì)應(yīng)于提供復(fù)位能量數(shù)量。在本發(fā)明中,能量用于從一個(gè)編程狀態(tài)前進(jìn)到下一個(gè)狀態(tài)并置位和復(fù)位相變材料。所傳遞的能量可以是使用一個(gè)單一能源或多個(gè)能源的電磁輻射(包括光、激光和微波脈沖)、電能、光能、熱能、化學(xué)能、磁能、機(jī)械能、粒子束能、聲能或其組合的形式。編程、置位和復(fù)位的概念擴(kuò)展到所有能量傳遞形式。例如電能的傳遞可以是電流或電壓的形式,以及置位可由“置位電流脈沖”、“置位電壓脈沖”或通過其他提供足夠置位相變材料的數(shù)量的電能來完成。類似地,復(fù)位可由“復(fù)位電流脈沖”、“復(fù)位電壓脈沖”或其他提供足夠復(fù)位相變材料的數(shù)量的電能來完成。可根據(jù)傳遞、施加或提供足夠置位或復(fù)位相變材料的能量數(shù)量的其他形式定義類似合適的術(shù)語。
要求能量能執(zhí)行至少本發(fā)明中的三個(gè)基本功能編程、讀取和復(fù)位。在其最簡單的方式中,編程涉及在相變材料中寫或存儲(chǔ)數(shù)據(jù)或信息。如果還不是以數(shù)字形式,則在寫之前輸入數(shù)據(jù)優(yōu)選地被轉(zhuǎn)換成數(shù)字形式。數(shù)據(jù)轉(zhuǎn)換到數(shù)字形式可通過將一個(gè)不同的數(shù)值分配個(gè)每個(gè)單個(gè)數(shù)據(jù)來完成。例如,詞可由字母組成。每個(gè)字母表示可被分配一個(gè)不同的數(shù)值的單個(gè)數(shù)據(jù),并且可存儲(chǔ)對(duì)應(yīng)于詞的各字母的數(shù)值序列以表示該字??梢灶愃频靥幚矸?hào)和其它類型的數(shù)據(jù)。在現(xiàn)有技術(shù)中還存在不同的技術(shù)來將字母和符號(hào)轉(zhuǎn)換成二進(jìn)制數(shù)字。類似技術(shù)可容易地被適配或新開發(fā),以用于將字母和符號(hào)轉(zhuǎn)換成非二進(jìn)制數(shù)字。結(jié)果,數(shù)字的可靠的和可再現(xiàn)的存儲(chǔ)表示寫和操縱數(shù)據(jù)的處理中的一個(gè)基本步驟。在下面的討論中,對(duì)數(shù)據(jù)的存儲(chǔ)、處理和其他操作是對(duì)于數(shù)字形式的數(shù)據(jù)描述的。但是,可以理解,所有方式的數(shù)據(jù)都可被轉(zhuǎn)換成或表示為數(shù)字形式。
在本發(fā)明的計(jì)算方法中,寫或編程是通過將表征要被存儲(chǔ)的數(shù)字的數(shù)量的能量提供給相變材料而完成的。該特征能量可依賴于相變材料的復(fù)位狀態(tài)的置位能量、編程狀態(tài)的數(shù)量和將相變材料從一個(gè)編程狀態(tài)轉(zhuǎn)換成下一個(gè)所需的能量的子區(qū)間。在一個(gè)實(shí)施例中,表征或?qū)?yīng)于一個(gè)數(shù)字的能量是與該數(shù)字成正比的能量總量。從一個(gè)編程狀態(tài)前進(jìn)到下一個(gè)所需的能量的子區(qū)間在之后被稱為“編程區(qū)間”、“編程區(qū)間能量”、“編程脈沖”、“遞增能量”、“遞增區(qū)間”或其等效物。
在本發(fā)明的一個(gè)實(shí)施例中,復(fù)位狀態(tài)表示數(shù)字0并且一個(gè)統(tǒng)一的遞增能量用于從一個(gè)編程狀態(tài)前進(jìn)到另一個(gè)。結(jié)果,編程狀態(tài)可按能量相同地分離并且每次施加遞增能量對(duì)應(yīng)于將所存儲(chǔ)的數(shù)字值增加1。這樣,數(shù)字“1”可通過一次施加遞增能量到復(fù)位狀態(tài)而存儲(chǔ);數(shù)字2可通過兩次施加遞增能量到復(fù)位狀態(tài)而存儲(chǔ),依此類推直到可存儲(chǔ)在存儲(chǔ)器材料容量中的最大數(shù)字被用作存儲(chǔ)該數(shù)。施加統(tǒng)一遞增能量在之后被稱為“統(tǒng)一遞增脈沖”或其他等效術(shù)語。
在一個(gè)實(shí)施例中,可存儲(chǔ)的最大數(shù)字等于所定義的編程狀態(tài)的數(shù)量或沿前述的高電阻平穩(wěn)段存在的編程狀態(tài)數(shù)量。如果使用統(tǒng)一遞增能量并且復(fù)位狀態(tài)被選擇為沿著高電阻平穩(wěn)段的起始狀態(tài),在這個(gè)實(shí)施例中的編程狀態(tài)的數(shù)量等于用分離編程狀態(tài)的遞增區(qū)間除復(fù)位狀態(tài)的置位能量。因此例如如果復(fù)位狀態(tài)的置位能量將被分成十個(gè)相等的子區(qū)間并且復(fù)位狀態(tài)被包括作為一個(gè)編程狀態(tài),則本實(shí)施例將導(dǎo)致十個(gè)編程狀態(tài)。在這個(gè)例子中施加九個(gè)或更少的能量的遞增數(shù)量(包括復(fù)位狀態(tài),沒有施加遞增能量的情況)使相變材料處于對(duì)應(yīng)于十個(gè)不同的數(shù)字之一的編程狀態(tài)。在本例中可存儲(chǔ)的最大數(shù)字對(duì)應(yīng)于第十個(gè)編程狀態(tài)并且通過將九個(gè)統(tǒng)一遞增脈沖施加到復(fù)位狀態(tài)而達(dá)到。如果復(fù)位狀態(tài)被選擇成“0”,該可存儲(chǔ)的最大數(shù)字的值是“9”。在本例中施加第十個(gè)遞增能量數(shù)量(即施加到處于第十個(gè)編程狀態(tài)的相變材料的一個(gè)遞增脈沖)通過將相變材料從第十個(gè)編程狀態(tài)轉(zhuǎn)換到置位狀態(tài)來置位相變材料。
在本發(fā)明的另一個(gè)實(shí)施例中,置位狀態(tài)被用作一個(gè)編程狀態(tài)。如果在本實(shí)施例中使用統(tǒng)一遞增區(qū)間并且復(fù)位狀態(tài)被包括為一個(gè)編程狀態(tài),則所給出的編程狀態(tài)的數(shù)量比由遞增區(qū)間除復(fù)位狀態(tài)的置位能量多一個(gè)。因此例如如果復(fù)位狀態(tài)的置位能量被分成十個(gè)相等的子區(qū)間,則本實(shí)施例將導(dǎo)致十一個(gè)編程狀態(tài)。第十一個(gè)編程狀態(tài)將是相變材料的置位狀態(tài)并且通過施加十個(gè)遞增能量數(shù)量而達(dá)到。如果復(fù)位狀態(tài)被選擇成“0”,該可存儲(chǔ)的最大數(shù)字的值是“10”。
雖然將“0”選擇為復(fù)位狀態(tài)的值是本發(fā)明的一個(gè)優(yōu)選實(shí)施例,在其中另一個(gè)編程狀態(tài)被分配值“0”的實(shí)施例也有可能。原理上,任何編程狀態(tài)可被分配值“0”。在應(yīng)用一個(gè)統(tǒng)一編程區(qū)間的實(shí)施例中(其中不同于復(fù)位狀態(tài)的另一個(gè)編程狀態(tài)被選為“0”),最大可存儲(chǔ)數(shù)字將對(duì)應(yīng)于需要一個(gè)編程脈沖以達(dá)到被選為“0”的編程狀態(tài)的那個(gè)編程狀態(tài)。例如,如果第四個(gè)編程狀態(tài)被選為“0”,那么第三個(gè)編程狀態(tài)將表示最大可存儲(chǔ)數(shù)字。在其中置位狀態(tài)可用作為編程狀態(tài)的實(shí)施例中,置位狀態(tài)也可被選為“0”。因?yàn)?,置位狀態(tài)根據(jù)其較低的電阻可很容易地從所有其他編程狀態(tài)中區(qū)分,將“0”值分配給置位狀態(tài)可提供計(jì)算速度或處理算法效率的優(yōu)點(diǎn)。如果不特別指出,以下討論的大部分情況是基于將值“0”分配給復(fù)位狀態(tài)。但是可以理解,該選擇是為了討論的方便并不表示對(duì)本發(fā)明的實(shí)踐的限制。
前面在其中使用了非統(tǒng)一編程區(qū)間或不相等遞增區(qū)間的實(shí)施例的變型構(gòu)成本發(fā)明附加的實(shí)施例。如這里使用的,非統(tǒng)一編程區(qū)間是指編程區(qū)間的任何序列,其中編程狀態(tài)在能量上間隔不等。當(dāng)使用非統(tǒng)一編程區(qū)間時(shí),編程狀態(tài)的數(shù)量依賴于計(jì)算機(jī)的編程策略。如這里使用的,編程策略包括施加子區(qū)間能量的規(guī)定序列,其中專門定義了從一個(gè)編程狀態(tài)到另一個(gè)的編程區(qū)間以及從復(fù)位狀態(tài)到每個(gè)編程狀態(tài)的所施加的累積能量。編程策略可基于任何從復(fù)位狀態(tài)擴(kuò)展到置位狀態(tài)的統(tǒng)一或非統(tǒng)一編程區(qū)間的任何組合,并可以包括或可以不包括復(fù)位狀態(tài)或置位狀態(tài)作為編程狀態(tài)。如果沒有特別指明,下面的討論是基于使用統(tǒng)一編程區(qū)間的編程策略。然而可以理解,該選擇是為了討論的方便并不表示對(duì)本發(fā)明的實(shí)踐的限制。
優(yōu)選地包括在編程策略中的是將數(shù)據(jù)值分配給編程狀態(tài)或與其關(guān)聯(lián),使得每個(gè)編程狀態(tài)對(duì)應(yīng)不同的數(shù)據(jù)值。優(yōu)選地,與編程狀態(tài)關(guān)聯(lián)的數(shù)據(jù)值是整數(shù)。更優(yōu)選地,整數(shù)是連續(xù)的。設(shè)想在其中整數(shù)值是按編程能量的遞增或遞減順序關(guān)聯(lián)的實(shí)施例。例如,如果復(fù)位狀態(tài)與數(shù)據(jù)值0關(guān)聯(lián),施加一個(gè)編程區(qū)間的能量使材料處于與數(shù)據(jù)值1關(guān)聯(lián)的編程狀態(tài),施加另一個(gè)編程區(qū)間的能量使材料處于與數(shù)據(jù)值2關(guān)聯(lián)的編程狀態(tài)等等。替換地,按編程能量遞減順序?qū)?shù)據(jù)值與編程狀態(tài)關(guān)聯(lián)是可能的。例如,如果置位狀態(tài)與數(shù)據(jù)值0關(guān)聯(lián),被提供一個(gè)編程區(qū)間的能量以獲得置位狀態(tài)的編程狀態(tài)將與數(shù)據(jù)值1關(guān)聯(lián)等等。數(shù)據(jù)值與編程狀態(tài)關(guān)聯(lián)可通過不同的方式完成,以方便特定的計(jì)算或用戶偏好。
雖然按數(shù)字形式存儲(chǔ)數(shù)據(jù)是一個(gè)優(yōu)選的實(shí)施例,但是本發(fā)明不限于數(shù)字?jǐn)?shù)據(jù)。本發(fā)明的編程狀態(tài)可被分配給非數(shù)字?jǐn)?shù)據(jù)。例如可以通過將高電阻平穩(wěn)段細(xì)劃分成26個(gè)編程狀態(tài)并將每個(gè)編程狀態(tài)分配給字母表中的一個(gè)字母來存儲(chǔ)字母。詞和其他字母組合可一個(gè)字母一個(gè)字母地被存儲(chǔ)在存儲(chǔ)器組的寄存器中。
寄存器和位置值當(dāng)計(jì)算時(shí),需要具有寫和存儲(chǔ)大數(shù)字的能力。存儲(chǔ)大數(shù)字的一種方式是將大量的編程狀態(tài)分配給在本發(fā)明的存儲(chǔ)器元件中使用的相變材料的高電阻平穩(wěn)段。該方式通過選擇在編程狀態(tài)之間的小的遞增能量區(qū)間來完成。隨后大量編程狀態(tài)中的每一個(gè)可被選擇對(duì)應(yīng)于不同的數(shù)字。
在本發(fā)明中,大數(shù)字優(yōu)選地是利用前面描述的存儲(chǔ)器組來存儲(chǔ)。存儲(chǔ)器組是成組的可用于存儲(chǔ)多數(shù)位數(shù)字的寄存器。每個(gè)寄存器用來存儲(chǔ)多數(shù)位數(shù)字的一個(gè)數(shù)位,并且每個(gè)寄存器優(yōu)選地對(duì)應(yīng)于能夠被編程到被分配給本發(fā)明存儲(chǔ)器元件的任何編程狀態(tài)的相變存儲(chǔ)器材料的最小容量。在其中定義了編程狀態(tài)并將其與數(shù)值關(guān)聯(lián)的實(shí)施例中,存儲(chǔ)數(shù)字可能需要提供足夠?qū)⒓拇嫫鳌⒋鎯?chǔ)器組或相變材料容量轉(zhuǎn)換到與所存儲(chǔ)的數(shù)字關(guān)聯(lián)的編程狀態(tài)的能量數(shù)量。當(dāng)復(fù)位狀態(tài)被選為具有值“0”時(shí),在單個(gè)寄存器中可存儲(chǔ)的最大數(shù)字比編程狀態(tài)的數(shù)量少1。超出在單個(gè)寄存器中可存儲(chǔ)的最大數(shù)字的數(shù)字需要兩個(gè)或更多的寄存器。
被包括在存儲(chǔ)器中的存儲(chǔ)器元件或寄存器的數(shù)量是可變的,并通常由為存儲(chǔ)目的而被希望與數(shù)字關(guān)聯(lián)的數(shù)位的最大數(shù)量來確定。多數(shù)位數(shù)字可具有任意高的數(shù)位數(shù)。但是在實(shí)踐中,優(yōu)選地對(duì)一個(gè)與特定多數(shù)位數(shù)字關(guān)聯(lián)的數(shù)位數(shù)設(shè)置一個(gè)上限,并且對(duì)于其值超過了用出于存儲(chǔ)數(shù)字的目的而分派或分配給一個(gè)存儲(chǔ)器組的特定最大數(shù)位數(shù)可得的最大數(shù)字的數(shù)字使用取冪。與一個(gè)數(shù)字關(guān)聯(lián)的最大數(shù)位數(shù)表示計(jì)算機(jī)的精確性和操作的效率之間的權(quán)衡。更大的數(shù)位數(shù)導(dǎo)致更高的精確度,但是是以處理速度為代價(jià)的,因?yàn)楦嗟臄?shù)位在計(jì)算中要求更多的寄存器和更多數(shù)量的寄存器操作。作為一個(gè)例子,期望分配十個(gè)存儲(chǔ)器元件或寄存器給每個(gè)寄存器組。在這個(gè)實(shí)施例中這樣做,將是選擇把與特定數(shù)字關(guān)聯(lián)的數(shù)位數(shù)限制為十,以便只有十個(gè)數(shù)位或更少數(shù)位的數(shù)可存儲(chǔ)到寄存器組中。具有更多數(shù)位的數(shù)需要取冪方案或使用多于一個(gè)的存儲(chǔ)器組。
一系列寄存器可用于定義位置值算術(shù)系統(tǒng)以用于存儲(chǔ)和處理數(shù)字。在一個(gè)優(yōu)選實(shí)施例中,復(fù)位狀態(tài)被選擇為0,算術(shù)系統(tǒng)的基數(shù)是由編程狀態(tài)的數(shù)量給定,并且在單個(gè)寄存器中可存儲(chǔ)的最大數(shù)字比該基數(shù)小1。在傳統(tǒng)二進(jìn)制計(jì)算機(jī)中,例如兩個(gè)存儲(chǔ)狀態(tài)可用,并且數(shù)字0和1根據(jù)基數(shù)為2的算術(shù)系統(tǒng)被存儲(chǔ)和處理。在本發(fā)明的一個(gè)實(shí)施例中使用10個(gè)編程狀態(tài),根據(jù)基數(shù)為10的算術(shù)系統(tǒng)存儲(chǔ)和處理數(shù)字。因此,在本計(jì)算機(jī)的存儲(chǔ)器元件的單個(gè)寄存器中可得的十個(gè)編程狀態(tài)對(duì)應(yīng)于數(shù)字0、1、2、3、4、5、6、7、8和9。用于其他算術(shù)基數(shù)的寄存器可類似地描述為置位狀態(tài)被選擇為0的實(shí)施例中的寄存器。
在本發(fā)明中,大數(shù)字優(yōu)選地使用倍數(shù)寄存器存儲(chǔ),每個(gè)倍數(shù)寄存器對(duì)應(yīng)于所使用的算術(shù)系統(tǒng)的基數(shù)的不同的冪。每個(gè)寄存器存儲(chǔ)對(duì)應(yīng)于基數(shù)的不同冪的倍數(shù)的多數(shù)位數(shù)字的一個(gè)數(shù)位,所述數(shù)位在表示存儲(chǔ)在寄存器集合中的多數(shù)位數(shù)字時(shí)被用作加法因子。第一寄存器用于存儲(chǔ)自乘至0次冪的基數(shù)的倍數(shù),第二寄存器用于存儲(chǔ)自乘至1次冪的基數(shù)的倍數(shù),第二寄存器用于存儲(chǔ)自乘至二次冪的基數(shù)的倍數(shù)等等,直到對(duì)于存儲(chǔ)器組中的數(shù)字所允許的寄存器的最大數(shù)量。例如通過對(duì)第一寄存器施加兩個(gè)統(tǒng)一編程脈沖,對(duì)第二寄存器施加七個(gè)統(tǒng)一編程脈沖,和對(duì)第三寄存器施加三個(gè)統(tǒng)一編程脈沖,基數(shù)為8的數(shù)字372可被存儲(chǔ)在一個(gè)三寄存器的系列中,每個(gè)寄存器具有8個(gè)編程狀態(tài),其中復(fù)位狀態(tài)對(duì)應(yīng)于0。
對(duì)應(yīng)于算術(shù)基數(shù)的不同冪的倍數(shù)的數(shù)字是多數(shù)位數(shù)字的數(shù)位。例如,基數(shù)為8的數(shù)字372可包含三個(gè)數(shù)位“3”表示8的二次冪的倍數(shù),“7”表示8的一次冪的倍數(shù),“2”表示8的零次冪的倍數(shù)。每個(gè)數(shù)位被存儲(chǔ)在分離的寄存器中。在其它基數(shù)的系統(tǒng)中類似地定義各個(gè)數(shù)位并且用于在其中將置位狀態(tài)選擇為0的實(shí)施例。存儲(chǔ)在一個(gè)存儲(chǔ)器組中的數(shù)字的十進(jìn)制(基數(shù)為10)等價(jià)數(shù)字可通過將存儲(chǔ)在每個(gè)寄存器中的數(shù)位乘上由寄存器表示的基數(shù)的冪并對(duì)存儲(chǔ)器組中的所有寄存器求和而得到。
如上所述,為了存儲(chǔ)數(shù)字可以分派任何數(shù)量的寄存器。例如在一個(gè)使用基數(shù)10的實(shí)施例中,可以將十個(gè)寄存器分派給每個(gè)寄存器組,并且在存儲(chǔ)器組中可存儲(chǔ)的最大多數(shù)位數(shù)字將對(duì)應(yīng)于10個(gè)寄存器中的每一個(gè)的值“9”,即1010-1。比在分派給一個(gè)存儲(chǔ)器組的所有寄存器上可存儲(chǔ)的最大數(shù)字更大的數(shù)字要求使用兩個(gè)或更多存儲(chǔ)器組的取冪或組合。
還可存儲(chǔ)要求比分配給存儲(chǔ)器組的所有寄存器更少的數(shù)字。這樣的數(shù)字可通過在寄存器中包括0而被存儲(chǔ),所述寄存器對(duì)應(yīng)于在一個(gè)給定數(shù)的表示中不需要的位置值。作為一個(gè)例子,考慮在存儲(chǔ)器組中存儲(chǔ)數(shù)字372,其中在基數(shù)為10的算術(shù)系統(tǒng)中為該存儲(chǔ)器組分配了十個(gè)寄存器。這個(gè)數(shù)字只要求三個(gè)用于存儲(chǔ)的寄存器,并且可通過將0包括到對(duì)應(yīng)于1000或更高的位置值的寄存器中而被存儲(chǔ),“3”包括在對(duì)應(yīng)于100的位置值中,“7”包括在對(duì)應(yīng)于10的位置值中,和“2”包括在對(duì)應(yīng)于1的位置值中。包括在對(duì)應(yīng)于超出表示一個(gè)數(shù)所需的最大位置值的位置值的寄存器中的0在下面被稱之為先行零。在本例中,數(shù)字372正規(guī)地被存儲(chǔ)為0000000372并將包含7個(gè)先行零。在對(duì)應(yīng)于比表示一個(gè)數(shù)所需的最大位置值更低的位置值的寄存器中出現(xiàn)的0不是先行零。這樣的0在下面被稱為非先行零或內(nèi)部零。例如數(shù)字104包含一個(gè)非先行零或內(nèi)部零。
讀取讀取所存儲(chǔ)的數(shù)據(jù)要求合適的探查或操作寄存器。如果置位狀態(tài)可用作為編程狀態(tài),通過其較低的電阻可很容易從所有其他編程狀態(tài)區(qū)別。但是其他編程狀態(tài)位于沿著電阻曲線的高電阻平穩(wěn)段部分,并具有基本相同的電阻。結(jié)果,直接測量寄存器的電電阻不提供區(qū)別編程狀態(tài)和讀取本發(fā)明的寄存器的手段。于是要求替換的方法。
一個(gè)用于讀取存儲(chǔ)在寄存器中的值的方法是識(shí)別與穿越電阻曲線的高電阻平穩(wěn)段的相變材料的前進(jìn)關(guān)聯(lián)的物理變化。如下所示,向由沿著高電阻平穩(wěn)段的一個(gè)點(diǎn)描述的相變材料施加能量必然產(chǎn)生朝著置位狀態(tài)的單方向前進(jìn)。結(jié)果,施加能量(通?;蛞跃幊堂}沖的形式)在某一方面改變相變材料。對(duì)于材料變化不產(chǎn)生電阻的顯著變化的觀察不排除其他某種物理屬性可用于區(qū)分沿著高電阻平穩(wěn)段的編程狀態(tài)的可能。在關(guān)于所施加的能量對(duì)相變材料的物理狀態(tài)的影響的知識(shí)或推測的幫助下識(shí)別適合的物理屬性。
盡管不愿意被理論約束,本發(fā)明相信向電阻曲線的高電阻平穩(wěn)段的相變材料施加能量導(dǎo)致相變材料中存在的水晶部分的增加。由高電阻平穩(wěn)段描述的相變材料據(jù)信是包含在后面稱之為“微晶”的晶體材料區(qū)域的不定形材料。據(jù)信微晶的容量部分在復(fù)位狀態(tài)中是最小的,并且隨著材料朝著置位狀態(tài)沿著高電阻平穩(wěn)段前進(jìn)基于能量的施加而連續(xù)遞增。施加能量可增加存在于復(fù)位狀態(tài)的微晶的大小,產(chǎn)生新的微晶或同時(shí)得到這兩個(gè)效果。因?yàn)榫w狀態(tài)具有比不定形狀態(tài)更高的電導(dǎo)通性(較低的電阻),置位轉(zhuǎn)換被認(rèn)為與相變材料容量內(nèi)的微晶的鄰接網(wǎng)絡(luò)的形成一致。復(fù)位轉(zhuǎn)換被認(rèn)為是涉及該鄰接網(wǎng)絡(luò)的破壞以及微晶的至少一個(gè)部分到不定形狀態(tài)的轉(zhuǎn)換。不定形材料的形成可通過微晶融化以及緊接著冷卻(qutnching)或通過微晶中原子或原子組的活動(dòng)性加強(qiáng)而發(fā)生。加強(qiáng)的活動(dòng)性可導(dǎo)致晶體材料的分裂和分解。
復(fù)位狀態(tài)和置位狀態(tài)之間的能量區(qū)間可受存在于復(fù)位狀態(tài)的微晶的大小影響。如果較小的微晶存在于復(fù)位狀態(tài),它們可能要求附加的能量來增加大小以足夠達(dá)到一個(gè)微晶的鄰接網(wǎng)絡(luò)。結(jié)果,可能控制沿著高電阻平穩(wěn)段的能量區(qū)間以用于編程狀態(tài)。適用于本發(fā)明的許多相變材料被認(rèn)為在其復(fù)位狀態(tài)具有較少的微晶。
可能有可用的物理技術(shù)用來測量晶體容積部分的任何變化,這些變化隨著相變材料沿高電阻平穩(wěn)段朝置位狀態(tài)的前進(jìn)而出現(xiàn)。例如,微晶的大小可通過諸如TEM的顯微鏡技術(shù)或通過高分辨度X射線衍射技術(shù)測量。這樣的技術(shù)可用來測量微晶并估計(jì)從復(fù)位狀態(tài)到置位狀態(tài)的前進(jìn)。如果編程區(qū)間已知,可確定與每個(gè)編程狀態(tài)關(guān)聯(lián)的微晶的容量部分,并且為讀取寄存器產(chǎn)生相關(guān)性。
相變材料的編程狀態(tài)的離散性質(zhì)還允許讀取寄存器而不需要監(jiān)視物理屬性的變化和與其相關(guān)。沿著高電阻平穩(wěn)段的位置是區(qū)別不同編程狀態(tài)的原理特征??捎脙煞N方式之一考慮沿著高電阻平穩(wěn)段的位置。首先,可根據(jù)編程脈沖或遞增區(qū)間的數(shù)量或需要添加到復(fù)位狀態(tài)以達(dá)到與沿著高電阻平穩(wěn)段的特定編程狀態(tài)關(guān)聯(lián)的位置所需的能量數(shù)量來唯一的描述或標(biāo)記位置。在這個(gè)實(shí)施例中,必要的編程脈沖的數(shù)量(或遞增區(qū)間或能量數(shù)量)從寫或存儲(chǔ)過程得知并可用作在讀過程期間識(shí)別編程狀態(tài)及其存儲(chǔ)的值的方式。例如可以使用一個(gè)脈沖計(jì)數(shù)器來記錄施加到給定寄存器的脈沖數(shù)。
其次,并且更優(yōu)選地,沿著高電阻平穩(wěn)段的位置可根據(jù)達(dá)到置位狀態(tài)所需的能量數(shù)量或者編程脈沖或遞增區(qū)間的數(shù)量來唯一的描述或標(biāo)記。在本實(shí)施例中,例如,存儲(chǔ)在寄存器中的值可通過從已經(jīng)將復(fù)位狀態(tài)的置位能量劃分成的子區(qū)間的數(shù)量中減去到達(dá)置位狀態(tài)所需的編程脈沖的數(shù)量而確定。因?yàn)楦鶕?jù)其較低的電阻可以容易地檢測唯一且明確的置位狀態(tài),所以該讀過程是有利的??赏ㄟ^首先將編程脈沖施加到寄存器并接著測量其電阻來完成讀取。如果所測量的電阻對(duì)應(yīng)于與高電阻平穩(wěn)段關(guān)聯(lián)的值,那么相變材料沒有處于其低電阻置位狀態(tài)。通過重復(fù)施加編程脈沖和測量寄存器的電阻的過程,可以確定達(dá)到置位狀態(tài)所需的編程脈沖的數(shù)量。與編程狀態(tài)總數(shù)的比較可用于提供對(duì)應(yīng)于存儲(chǔ)在寄存器中的值的差。
根據(jù)置位狀態(tài)是否被包括作為一個(gè)編程狀態(tài),用于確定存儲(chǔ)在寄存器中的值的前述方法可用替換的方式等效地表達(dá)。在其中置位狀態(tài)沒有被包括作為一個(gè)編程狀態(tài)的實(shí)施例中,復(fù)位狀態(tài)的置位能量已經(jīng)被子劃分成的子區(qū)間的數(shù)量可以等于用于存儲(chǔ)和處理數(shù)字的算術(shù)系統(tǒng)的基數(shù)。如果是這樣,存儲(chǔ)在寄存器中的值可以通過從算術(shù)系統(tǒng)的基數(shù)減去將寄存器轉(zhuǎn)換到其置位狀態(tài)所需的編程脈沖的數(shù)量確定。如這里使用的,存儲(chǔ)在寄存器中的值是指與存儲(chǔ)器所處于的或被轉(zhuǎn)換成的編程狀態(tài)關(guān)聯(lián)的數(shù)值。
作為一個(gè)例子,考慮在基數(shù)為4的算術(shù)系統(tǒng)中讀取存儲(chǔ)了數(shù)位“1”的寄存器,并考慮在其中置位狀態(tài)不用作為一個(gè)編程狀態(tài)的統(tǒng)一編程區(qū)間策略。當(dāng)置位狀態(tài)不用作為一個(gè)編程狀態(tài)時(shí),基數(shù)為4的算術(shù)系統(tǒng)要求四個(gè)子區(qū)間。四個(gè)子區(qū)間提供四個(gè)編程狀態(tài)(包括復(fù)位狀態(tài))和置位狀態(tài)。在本例中,四個(gè)編程狀態(tài)對(duì)應(yīng)于按遞增的編程能量的順序的數(shù)字0、1、2和3。本例中的寄存器中存儲(chǔ)的“1”表示一個(gè)編程脈沖已經(jīng)被施加到復(fù)位狀態(tài)并且相變材料處于其第二編程狀態(tài)。為了讀取寄存器,我們施加一個(gè)編程脈沖并通過測量電阻檢查寄存器是否到達(dá)其置位狀態(tài)。如果還沒達(dá)到,重復(fù)直到達(dá)到置位狀態(tài)。在本例中,當(dāng)施加第三個(gè)編程脈沖時(shí)到達(dá)置位狀態(tài)。結(jié)果,所存儲(chǔ)的數(shù)字由4(算術(shù)系統(tǒng)的基數(shù)或子區(qū)間的數(shù)量)減去3(將寄存器轉(zhuǎn)換到其置位狀態(tài)所需的編程脈沖的數(shù)量)而得到。所以可以看到所存儲(chǔ)的數(shù)位為“1”。
一個(gè)不同的讀取過程被應(yīng)用于其中置位狀態(tài)用作編程狀態(tài)的情況。當(dāng)置位狀態(tài)用作編程狀態(tài)時(shí),子區(qū)間的數(shù)量等于在所使用的算術(shù)系統(tǒng)的基數(shù)下可得的最大數(shù)位值的值,并且置位狀態(tài)通常對(duì)應(yīng)于在寄存器中可存儲(chǔ)的最大數(shù)位。結(jié)果,在寄存器中存儲(chǔ)的數(shù)位可通過從在所使用的算術(shù)系統(tǒng)的基數(shù)下可存儲(chǔ)的最大數(shù)位值減去將寄存器轉(zhuǎn)換到其置位狀態(tài)所需的編程脈沖的數(shù)量而得到??纱鎯?chǔ)的最大數(shù)位比基數(shù)小1。
作為例子,考慮讀取在基數(shù)為4的算術(shù)系統(tǒng)中存儲(chǔ)了“1”的寄存器,并考慮在其中置位狀態(tài)被包括為一個(gè)編程狀態(tài)的統(tǒng)一編程區(qū)間策略。當(dāng)置位狀態(tài)用作一個(gè)編程狀態(tài)時(shí),基數(shù)為4的算術(shù)系統(tǒng)要求三個(gè)子區(qū)間。三個(gè)子區(qū)間提供四個(gè)編程狀態(tài),包括復(fù)位狀態(tài)和置位狀態(tài)。四個(gè)編程狀態(tài)對(duì)應(yīng)于數(shù)字0、1、2和3。本例中的寄存器中存儲(chǔ)的“1”表示一個(gè)編程脈沖已經(jīng)被施加到復(fù)位狀態(tài)并且相變材料處于其第二編程狀態(tài)。為了讀取寄存器,我們施加一個(gè)編程脈沖并通過測量電阻或某一其他合適的屬性檢查寄存器是否到達(dá)其置位狀態(tài)。如果還沒達(dá)到,重復(fù)直到達(dá)到置位狀態(tài)。在本例中,當(dāng)施加第二個(gè)編程脈沖時(shí)到達(dá)置位狀態(tài)。結(jié)果,所存儲(chǔ)的數(shù)位由3(在所使用的算術(shù)系統(tǒng)的基數(shù)下可存儲(chǔ)在單一寄存器中的最大數(shù)位值或子區(qū)間的數(shù)量)減去2(將寄存器轉(zhuǎn)換到其置位狀態(tài)所需的編程脈沖的數(shù)量)而得到。所以看到所存儲(chǔ)的數(shù)位為“1”。
在涉及對(duì)將存儲(chǔ)一個(gè)數(shù)字的寄存器轉(zhuǎn)換到其置位狀態(tài)所需的編程脈沖的數(shù)量進(jìn)行計(jì)數(shù)的讀取過程中,寄存器在讀取結(jié)束時(shí)保持在置位狀態(tài)。如果期望的話,寄存器可恢復(fù)其原始值。因?yàn)樽x取過程已經(jīng)揭示了原始存儲(chǔ)的數(shù)字值,寄存器可通過首先復(fù)位寄存器并接著施加數(shù)量等于原始數(shù)位值的編程脈沖而恢復(fù)。
復(fù)位的過程涉及對(duì)置位狀態(tài)施加足夠的能量數(shù)量以新產(chǎn)生高電阻狀態(tài)的過程。如前所示,復(fù)位過程發(fā)生在電阻曲線的置位后區(qū)域,如這里在圖1中所示,該曲線決定相變材料的行為。從高電阻平穩(wěn)段到置位狀態(tài)的過渡是單向的并且不能通過移動(dòng)到電阻曲線的左邊而反轉(zhuǎn)。因此相變材料不能被“撤消置位(unset)”到其原始的高電阻平穩(wěn)段狀態(tài)。相反,可通過施加足夠的能量以通過將相變材料驅(qū)動(dòng)到電阻曲線的極右邊來新產(chǎn)生一個(gè)高電阻平穩(wěn)段,從而復(fù)位相變材料。置位后區(qū)域的最右邊的端點(diǎn)對(duì)應(yīng)于相變材料的新的高電阻平穩(wěn)段的形成。用于本發(fā)明的適當(dāng)?shù)哪茉幢仨毮芴峁?fù)位相變材料的足夠能量。
如前所示,存儲(chǔ)在寄存器組中的許多數(shù)字將包括一個(gè)或多個(gè)先行零。先行零的頻繁出現(xiàn)以及許多計(jì)算操作不考慮先行零的事實(shí)表明具有容易檢測先行零的存在的能力是有益的。考慮在基數(shù)為10的算術(shù)系統(tǒng)中數(shù)字372與數(shù)字128的加法,其中給每個(gè)寄存器組分配10個(gè)寄存器。數(shù)字372可被存儲(chǔ)為0000000372以及數(shù)字128可被存儲(chǔ)為0000000128。在每個(gè)數(shù)字中,存在7個(gè)先行零并且許多數(shù)學(xué)運(yùn)算不對(duì)這些先行零起作用。例如,兩個(gè)數(shù)字的加法和減法不要先行零的操作。結(jié)果,可以預(yù)期容易地檢測先行零從存在更加有效,這使得可以在許多數(shù)學(xué)運(yùn)算中跳過或忽略它們。
當(dāng)復(fù)位狀態(tài)被選擇為對(duì)應(yīng)于0的編程狀態(tài)時(shí),根據(jù)前述的過程讀取先行零可能要求若干編程脈沖相加以將先行零轉(zhuǎn)換到置位狀態(tài)。該編程狀態(tài)的相加必須在包含前導(dǎo)0的每個(gè)數(shù)字的每個(gè)寄存器中完成。結(jié)果,當(dāng)復(fù)位狀態(tài)被選擇為對(duì)應(yīng)于0的編程狀態(tài)時(shí),數(shù)學(xué)運(yùn)算可要求大量的功能上不重要的操作。因此損害了計(jì)算效率。
為了提高計(jì)算效率,優(yōu)選地給復(fù)位狀態(tài)分配為對(duì)應(yīng)于0的編程狀態(tài)。通過這樣作,通過電阻測量,先行零可很容易辨別,并且不要求編程脈沖的相加來檢測先行零。結(jié)果可提高計(jì)算效率。如上所示,本發(fā)明包括作為一個(gè)實(shí)施例的在其中置位狀態(tài)對(duì)應(yīng)于0的編程策略。
計(jì)算方法除了存儲(chǔ)數(shù)字和數(shù)位,編程涉及開發(fā)和實(shí)現(xiàn)為按期望的方式處理所存儲(chǔ)的數(shù)據(jù)的目的而設(shè)計(jì)的算法。例如,一個(gè)計(jì)算機(jī)需要能夠執(zhí)行四個(gè)基礎(chǔ)算術(shù)操作加、減、乘、除。有效利用相變材料的多狀態(tài)存儲(chǔ)能力要求創(chuàng)造性地開發(fā)新算法。傳統(tǒng)二進(jìn)制算法為簡單的兩個(gè)狀態(tài)存儲(chǔ)器元件而設(shè)計(jì)。多狀態(tài)或非二進(jìn)制計(jì)算固有的優(yōu)點(diǎn)的實(shí)現(xiàn)需要重新考慮處理算法。必須包括對(duì)數(shù)據(jù)存儲(chǔ)和多狀態(tài)相變存儲(chǔ)器材料的編程特性的具體考慮?,F(xiàn)在給出多為狀態(tài)存儲(chǔ)器元件而設(shè)計(jì)的算法的更完整的討論。
用于本發(fā)明的特定計(jì)算方法或算法的詳細(xì)發(fā)展是基于對(duì)相變存儲(chǔ)器材料及其操作作出的基本假設(shè)和選擇而預(yù)知的。可能需要確定的基本性質(zhì)是對(duì)0的選擇、分派給每個(gè)存儲(chǔ)器組的寄存器數(shù)量、編程狀態(tài)的數(shù)量、算術(shù)基數(shù)、與編程狀態(tài)關(guān)聯(lián)的數(shù)據(jù)值以及置位狀態(tài)是否被包括為一個(gè)編程狀態(tài)。處理和存儲(chǔ)的基本原理是相似的,與作出如何的選擇無關(guān),但是特定的細(xì)節(jié)可能不同。本發(fā)明的用戶在建立相關(guān)操作參數(shù)、條件和偏好中有很大的自由。
在計(jì)算方法的下列討論中,我們作為一個(gè)例子考慮將復(fù)位狀態(tài)選為“0”、編程狀態(tài)的數(shù)量等于算術(shù)系統(tǒng)的基數(shù)并且置位狀態(tài)不被包括為一個(gè)編程狀態(tài)的情況。我們還假設(shè)給每個(gè)存儲(chǔ)器組分派固定數(shù)量的寄存器,用以存儲(chǔ)多數(shù)位數(shù)字,并假設(shè)這樣分派的數(shù)量對(duì)于每個(gè)存儲(chǔ)器組是相同的。這樣寄存器的分派等價(jià)于選擇可被用于單獨(dú)的多數(shù)位數(shù)字的存儲(chǔ)器材料的最大容量,并且將存儲(chǔ)器材料的總?cè)萘繉?duì)應(yīng)地劃分成一致的存儲(chǔ)器組。任何數(shù)量的存儲(chǔ)器可被分派給存儲(chǔ)器組。所分派的寄存器的數(shù)量影響通過建立可為一個(gè)數(shù)字存儲(chǔ)的最大數(shù)位數(shù)而在一個(gè)存儲(chǔ)器組中可存儲(chǔ)的最大數(shù)字的大小。該最大數(shù)位數(shù)可影響計(jì)算效率,因?yàn)楫?dāng)取冪成為必要時(shí)其確定十進(jìn)制可得的精度和在計(jì)算期間必須考慮的先行零的數(shù)量。在本發(fā)明的一個(gè)實(shí)施例中,所分派的寄存器的數(shù)量等于算術(shù)系統(tǒng)的基數(shù)。
分派給寄存器組的寄存器的數(shù)量對(duì)應(yīng)于可為一個(gè)數(shù)字存儲(chǔ)的最大數(shù)位數(shù)。存儲(chǔ)該數(shù)字可能要求比所分派的寄存器更小的數(shù)量。如前所示的,當(dāng)出現(xiàn)這種情況時(shí),根據(jù)與所使用的算術(shù)系統(tǒng)的基數(shù)關(guān)聯(lián)的位置值系統(tǒng)一個(gè)寄存器一個(gè)寄存器(一位一位)地在所分派數(shù)量的寄存器內(nèi)存儲(chǔ)該數(shù)字。如果該數(shù)字不要求所有分派的寄存器的數(shù)量,未使用的寄存器仍保持被分派給該數(shù)字,但包含“0”,這使得它們對(duì)所存儲(chǔ)的數(shù)字值設(shè)有影響。這些未使用的寄存器包含保持可用的先行零,用于對(duì)所存儲(chǔ)的數(shù)進(jìn)行處理或操作。
許多本發(fā)明的計(jì)算方法涉及通過重復(fù)應(yīng)用處理步驟,對(duì)存儲(chǔ)器組的一個(gè)寄存器一個(gè)寄存器的操作。為了步進(jìn)地歷遍(step through)各個(gè)寄存器,用“寄存器指針”或“計(jì)數(shù)寄存器”標(biāo)記或標(biāo)識(shí)它們是方便的。如在這里使用的,“寄存器指針”或“計(jì)數(shù)寄存器”是指規(guī)定標(biāo)識(shí)或區(qū)別存儲(chǔ)器組中的各個(gè)寄存器。在存儲(chǔ)器組中的位置由計(jì)數(shù)寄存器來標(biāo)記。存儲(chǔ)器組的每個(gè)寄存器與計(jì)數(shù)寄存器的一個(gè)唯一置位、值或狀態(tài)關(guān)聯(lián)。計(jì)數(shù)寄存器的每個(gè)置位、值或狀態(tài)可等效地被看作為對(duì)應(yīng)于計(jì)算系統(tǒng)的算術(shù)基數(shù)內(nèi)的不同位置值。在實(shí)現(xiàn)一個(gè)計(jì)算方法、算法或其中的處理步驟時(shí),計(jì)數(shù)寄存器的置位、值或狀態(tài)是固定的并且根據(jù)計(jì)算方法或處理步驟的目的來操作、處理或操縱相關(guān)的寄存器。一旦已經(jīng)對(duì)寄存器起過作用,計(jì)數(shù)寄存器可被遞增并且可以根據(jù)計(jì)算方法或處理步驟的目的對(duì)下一個(gè)寄存器進(jìn)行操作、處理或操縱。計(jì)算方法中的方法或處理步驟在計(jì)數(shù)寄存器被遞增到或者達(dá)到了預(yù)定的終結(jié)狀態(tài)時(shí)結(jié)束。通常,終結(jié)狀態(tài)對(duì)應(yīng)于對(duì)存儲(chǔ)器組內(nèi)所有寄存器或其中的一個(gè)合適子集的處理。用等效的話說,遞增計(jì)數(shù)寄存器的動(dòng)作可被看作為將寄存器指針從一個(gè)寄存器移動(dòng)到下一個(gè)或從算術(shù)系統(tǒng)的一個(gè)位置值移動(dòng)到下一個(gè);其中計(jì)算方法或處理步驟發(fā)生在所指向的寄存器處。在多數(shù)位數(shù)字中,每個(gè)寄存器對(duì)應(yīng)于一個(gè)不同的數(shù)位并且寄存器指針的遞增等效于從一個(gè)數(shù)位到另一個(gè)數(shù)位的處理。計(jì)數(shù)寄存器可以具有也可以不具有與和該計(jì)數(shù)寄存器關(guān)聯(lián)的存儲(chǔ)器組的寄存器相同的數(shù)目的狀態(tài)。優(yōu)選地,計(jì)數(shù)寄存器的狀態(tài)數(shù)目至少等于存儲(chǔ)在與該計(jì)數(shù)寄存器關(guān)聯(lián)的存儲(chǔ)器組內(nèi)的非先行零數(shù)位的數(shù)目。在一個(gè)實(shí)施例中,計(jì)數(shù)寄存器狀態(tài)的數(shù)目等于分派給存儲(chǔ)器組的寄存器的數(shù)量。
計(jì)數(shù)寄存器可以是存儲(chǔ)器組外部的電路或相變材料的由算法操作的與寄存器或存儲(chǔ)器元件分離的一部分。在一個(gè)優(yōu)選實(shí)施例中,計(jì)數(shù)寄存器是相變材料的一部分并具有對(duì)應(yīng)于存儲(chǔ)器組的寄存器的編程狀態(tài)的編程狀態(tài)。在另一個(gè)優(yōu)選實(shí)施例中,計(jì)數(shù)寄存器是多狀態(tài)相變材料的一部分,并且計(jì)數(shù)寄存器的終結(jié)狀態(tài)是相變材料的置位狀態(tài)。在該實(shí)施例中,計(jì)算方法、算法或處理步驟在計(jì)數(shù)寄存器到達(dá)其置位狀態(tài)時(shí)終止。將置位狀態(tài)選擇為用于計(jì)數(shù)寄存器的終結(jié)狀態(tài)是有利的,因?yàn)樵摖顟B(tài)可以被很容易地檢測到并為計(jì)算方法或處理步驟提供方便的結(jié)束點(diǎn)。計(jì)數(shù)寄存器的初始狀態(tài)可被置位,使得在隨著計(jì)算方法作用于一個(gè)數(shù)字的最后一個(gè)數(shù)位而遞增時(shí),計(jì)數(shù)寄存器到達(dá)其置位狀態(tài)。例如,將一個(gè)編程脈沖施加到計(jì)數(shù)寄存器可用于表示從多數(shù)位數(shù)字的一個(gè)數(shù)位前進(jìn)到下一個(gè)。一旦多數(shù)位數(shù)字的所有數(shù)位都被計(jì)算方法作用過了,進(jìn)一步施加編程脈沖使得計(jì)數(shù)寄存器轉(zhuǎn)換到其置位狀態(tài),由此表示根據(jù)本方法的處理的結(jié)束。
在下面的對(duì)所提出的計(jì)算方法或算法的描述中,字母表的字母(例如“a”、“b”、“c”)用于表明不同的存儲(chǔ)器組。在存儲(chǔ)器組內(nèi)的寄存器通過下標(biāo)區(qū)別。因此,例如b0和b1是指存儲(chǔ)器組b內(nèi)的兩個(gè)不同的寄存器,并對(duì)應(yīng)于在存儲(chǔ)器組b中存儲(chǔ)的數(shù)字的不同兩個(gè)不同數(shù)位。字母“r”是用于表示計(jì)數(shù)寄存器的索引。不同的r值指明存儲(chǔ)器組內(nèi)的不同寄存器被指向并被計(jì)算方法作用。r的初始和最終值在之后分別被稱之為rinitial和rfinal,其中rfinal對(duì)應(yīng)于前述的終結(jié)狀態(tài)并且優(yōu)選地與計(jì)數(shù)寄存器的置位狀態(tài)關(guān)聯(lián)。索引r還可用作下標(biāo)來表示與特定的或當(dāng)前的r值關(guān)聯(lián)的存儲(chǔ)器組的寄存器。因此,例如,br表示與當(dāng)前的r值關(guān)聯(lián)的存儲(chǔ)器組b的寄存器以及表示在其中存儲(chǔ)的數(shù)位。包括rinitial和rfinal的r值通常根據(jù)計(jì)算方法、算法或處理步驟的目的置位和變化。
在一些計(jì)算方法中,將給定的計(jì)數(shù)寄存器與在兩個(gè)或更多的存儲(chǔ)器組同時(shí)或順序發(fā)生的處理步驟關(guān)聯(lián)是有用的。在這些情況下,單個(gè)計(jì)數(shù)寄存器索引r可用于所有被作用的存儲(chǔ)器組,并且除非另行陳述,假設(shè)給定的r值是指每個(gè)不同存儲(chǔ)器單元中的相應(yīng)寄存器。換句話說,r的給定值表示代表在不同存儲(chǔ)器組中相同的位置值位置的數(shù)位。例如,如果ar表示一個(gè)特定r值的十個(gè)數(shù)位,那么br表示相同的r值的十個(gè)數(shù)位,其中存儲(chǔ)器組a和b被一個(gè)算法或處理步驟共同作用。
在一些計(jì)算方法中,為對(duì)存儲(chǔ)在特定存儲(chǔ)器組中的一個(gè)多數(shù)位數(shù)字的不同數(shù)位進(jìn)行作用或操作的目的而定義兩個(gè)計(jì)數(shù)寄存器是有用的。在下面的算法中,第二及更高的計(jì)數(shù)寄存器將用從s開始的字母連續(xù)地被標(biāo)記。這樣r表示第一計(jì)數(shù)寄存器、s表示第二計(jì)數(shù)寄存器、t表示第三計(jì)數(shù)寄存器等。
在一個(gè)優(yōu)選的實(shí)施例中,分配給計(jì)數(shù)寄存器的存儲(chǔ)器材料的容量等于與用于存儲(chǔ)數(shù)位的存儲(chǔ)器組內(nèi)的寄存器關(guān)聯(lián)的存儲(chǔ)器材料的容量,并包括相同數(shù)量的程序狀態(tài)。該實(shí)施例是方便的,因?yàn)樗褂玫哪茉茨芤酝瑯拥姆绞奖皇┘拥接?jì)數(shù)寄存器和存儲(chǔ)器組內(nèi)的寄存器。此實(shí)施例表示與所存儲(chǔ)的數(shù)字相關(guān)的數(shù)位數(shù)等于算術(shù)系統(tǒng)的基數(shù)。其中與所存儲(chǔ)的數(shù)字相關(guān)的數(shù)位數(shù)比算術(shù)系統(tǒng)的基數(shù)大或者小的實(shí)施例也是可能的。這樣的實(shí)施例要求分離的能源以用于計(jì)數(shù)寄存器和存儲(chǔ)器組,或當(dāng)把用于存儲(chǔ)器組的能源施加到計(jì)數(shù)寄存器時(shí)需要對(duì)該能源作適當(dāng)變化。例如,能源的峰值強(qiáng)度或持續(xù)時(shí)間可為計(jì)數(shù)寄存器和存儲(chǔ)器組不同地定義。替換地,與計(jì)數(shù)寄存器關(guān)聯(lián)的編程區(qū)間可以與由用于存儲(chǔ)數(shù)位的寄存器所使用的編程區(qū)間不同。
在下列示例算法中,我們用這樣的實(shí)施例來說明本發(fā)明,其中復(fù)位狀態(tài)被選擇為“0”,存儲(chǔ)器組和計(jì)數(shù)寄存器的編程狀態(tài)是統(tǒng)一的,在存儲(chǔ)器組的寄存器中的編程狀態(tài)的數(shù)量等于算術(shù)系統(tǒng)的基數(shù),置位狀態(tài)沒有被包括為編程狀態(tài),用于計(jì)數(shù)寄存器的編程狀態(tài)的數(shù)量與用于存儲(chǔ)器組內(nèi)的寄存器的相同,并且計(jì)數(shù)寄存器的終止?fàn)顟B(tài)是置位狀態(tài)。這些條件是為了說明的目的而選擇的,并且不是用來限制本發(fā)明的實(shí)踐。在適合的地方,將包括與其他實(shí)施例相關(guān)的解釋。并且,在這里描述的許多計(jì)算方法包括遞增一個(gè)寄存器的步驟。該遞增一個(gè)寄存器的過程表示施加編程脈沖。例如,遞增1由施加一個(gè)編程脈沖完成并且對(duì)應(yīng)于將寄存器從一個(gè)編程狀態(tài)轉(zhuǎn)換到下一個(gè)或從最終編程狀態(tài)轉(zhuǎn)換到置位狀態(tài)。
現(xiàn)在描述計(jì)算方法的特定實(shí)施例。所述方法中的任何一個(gè)或其組合或者所有的方法可用特定容量的相變材料完成。可能但并不要求用不同容量的相變材料完成不同的計(jì)算方法。為了提高計(jì)算效率,優(yōu)選地具有在一個(gè)特定容量的相變材料內(nèi)完成盡量多的計(jì)算方法的能力。通過適當(dāng)?shù)拇鎯?chǔ)、處理、擦除和重寫數(shù)據(jù),該能力可在本發(fā)明中達(dá)到。通常,可在第二個(gè)計(jì)算方法在特定容量的相變材料內(nèi)實(shí)現(xiàn)之前開始和結(jié)束一個(gè)計(jì)算方法。在特定容量的相變材料內(nèi)使用許多不同計(jì)算方法的通用性是本發(fā)明的一個(gè)特征。在一個(gè)優(yōu)選實(shí)施例中,利用這里所公開的計(jì)算方法,加減乘除的數(shù)學(xué)運(yùn)算可以在特定容量的相變材料內(nèi)完成。在另一個(gè)優(yōu)選實(shí)施例中,利用這里所公開的計(jì)算方法,減乘除的數(shù)學(xué)運(yùn)算可以在特定容量相變材料內(nèi)完成。在特定容量相變材料內(nèi)執(zhí)行包括所有公開的計(jì)算方法的計(jì)算方法的其他組合構(gòu)成本發(fā)明的其他復(fù)位在計(jì)算方法的實(shí)現(xiàn)中,經(jīng)常要求或期望復(fù)位一個(gè)或多個(gè)寄存器或存儲(chǔ)器組。結(jié)果,開發(fā)用于復(fù)位寄存器或存儲(chǔ)器組的算法是有用的。復(fù)位本發(fā)明的多狀態(tài)相變材料存儲(chǔ)器組的基本步驟是復(fù)位組中的所有寄存器。如上文所述的,復(fù)位過程涉及施加足夠的能量數(shù)量以復(fù)位相變材料。在一個(gè)實(shí)施例中,以復(fù)位能量脈沖的形式提供能量,并且復(fù)位算法的核心涉及將復(fù)位脈沖施加到存儲(chǔ)器組的每個(gè)寄存器??蓪?fù)位脈沖分開地和連續(xù)地施加到存儲(chǔ)器組的各個(gè)寄存器。通過步進(jìn)地歷遍所有寄存器,可復(fù)位存儲(chǔ)器組。在其中復(fù)位狀態(tài)是被分配成0的編程狀態(tài)的實(shí)施例中,通過排除包含先行零的寄存器和施加復(fù)位脈沖或復(fù)位能量數(shù)量給各個(gè)寄存器(施加的順序是從不包括0的具有最高位置值的寄存器開始,并且一個(gè)寄存器一個(gè)寄存器地步進(jìn)和應(yīng)用復(fù)位脈沖以遍歷存儲(chǔ)器組的剩余寄存器)來完成復(fù)位。
在這里,復(fù)位算法的示例性描述在圖2中描述。算法被標(biāo)注為RESET(a)(復(fù)位(a)),以表明算法被設(shè)計(jì)用于復(fù)位存儲(chǔ)器組a。算法從步驟T10開始。在步驟T11,發(fā)生計(jì)數(shù)寄存器的初始化。初始化表示通過使計(jì)數(shù)寄存器處于初始編程狀態(tài)來置位rinitial值。初始化對(duì)應(yīng)于指向要被操作的存儲(chǔ)器組的第一寄存器。步驟T12、T13和T14構(gòu)成表示該算法基礎(chǔ)處理步驟的迭代循環(huán)。在步驟T12,復(fù)位對(duì)應(yīng)于寄存器計(jì)數(shù)器的當(dāng)前值r的寄存器ar。在第一次通過循環(huán)時(shí),r的值是rinitial并復(fù)位存儲(chǔ)器組a的第一寄存器。在后續(xù)通過循環(huán)時(shí),遞增r的值并復(fù)位存儲(chǔ)器組剩余的寄存器。步驟T12可通過施加復(fù)位能量脈沖而發(fā)生。在步驟T13,計(jì)數(shù)寄存器遞增一,以表示指向存儲(chǔ)器組的下一寄存器。遞增計(jì)數(shù)寄存器是通過施加編程能量脈沖來完成的。編程能量脈沖將計(jì)數(shù)寄存器的存儲(chǔ)器材料從其當(dāng)前編程狀態(tài)轉(zhuǎn)換到下一個(gè)編程狀態(tài)。步驟T14是有條件測試步驟,其測試計(jì)數(shù)寄存器是否到達(dá)其終結(jié)狀態(tài)。在一個(gè)實(shí)施例中,終結(jié)狀態(tài)是計(jì)數(shù)寄存器的置位狀態(tài)并且有條件測試能如上所述地通過測量電阻或低電阻置位狀態(tài)的某一其他可區(qū)別屬性來實(shí)現(xiàn)。如果計(jì)數(shù)寄存器不處于其終結(jié)狀態(tài),方法循環(huán)回到步驟T12并且復(fù)位存儲(chǔ)器組的下一個(gè)寄存器。在步驟T13,計(jì)數(shù)寄存器再次遞增1并且有條件測試在步驟T14完成。由步驟T12、T13和T14表示的循環(huán)重復(fù)直到計(jì)數(shù)寄存器到達(dá)其終結(jié)狀態(tài)。計(jì)數(shù)寄存器得到終結(jié)狀態(tài)與值r=rfinal一致,并且表明存儲(chǔ)器單元中的所有寄存器已被復(fù)位。一旦計(jì)數(shù)寄存器到達(dá)其終結(jié)狀態(tài),計(jì)算方法前進(jìn)到步驟T15。步驟T15是對(duì)應(yīng)于復(fù)位計(jì)數(shù)寄存器的可選步驟。該步驟可為另一個(gè)計(jì)算方法或存儲(chǔ)器組準(zhǔn)備寄存器時(shí)是有用的。步驟T16是計(jì)算方法結(jié)束步驟。
前面的計(jì)算方法已經(jīng)對(duì)于復(fù)位單個(gè)存儲(chǔ)器組被說明。該計(jì)算方法可容易地?cái)U(kuò)展到復(fù)位多個(gè)存儲(chǔ)器組。例如為了復(fù)位存儲(chǔ)器組a和b,我們可以在步驟T12和T13之間包括步驟T12’,其中復(fù)位寄存器br。步驟T12’可表示為“復(fù)位寄存器br”并且該方法可被命名為RESET(a,b),以表明存儲(chǔ)器組a和b將被復(fù)位。該方法可類似地?cái)U(kuò)展到任何數(shù)量的存儲(chǔ)器組。
這里在圖3中公開的是描述在圖2中出現(xiàn)的計(jì)算方法的替換方式。圖3的復(fù)位方法的步驟直接對(duì)應(yīng)于圖2的那些步驟,但是標(biāo)號(hào)有10的偏移量。因此步驟T20對(duì)應(yīng)于步驟T10,步驟T21對(duì)應(yīng)于步驟T11等。在圖3中出現(xiàn)的描述用于示例說明將在以下描述的其他計(jì)算方法中使用的符號(hào)。步驟T21中,“r=rinitial”表明r的值將被置位成rinitial。該步驟對(duì)應(yīng)于計(jì)數(shù)寄存器的初始化。在復(fù)位步驟T22中,“ar=0”表明與當(dāng)前r值關(guān)聯(lián)的存儲(chǔ)器組a的寄存器將被復(fù)位。在步驟T23,“r=r+1”表明r的值增加了1。該步驟對(duì)應(yīng)于將計(jì)數(shù)寄存器遞增1,即可以通過將編程脈沖施加到計(jì)數(shù)寄存器來完成的動(dòng)作。在步驟T24,用“r=rfinal?”表示有條件測試。步驟T24詢問計(jì)數(shù)寄存器是否到達(dá)其終結(jié)狀態(tài)。如果沒有,計(jì)算方法通過步驟T22、T23和T24循環(huán)直到到達(dá)終結(jié)狀態(tài)。一旦計(jì)數(shù)寄存器處于終結(jié)狀態(tài),方法進(jìn)行到可選的計(jì)數(shù)寄存器復(fù)位步驟T25,并且從步驟T26開始。
在圖2和3中所示的方法包括用于置位計(jì)數(shù)寄存器中的一個(gè)初始值的初始化步驟和確定計(jì)數(shù)寄存器何時(shí)到達(dá)其終結(jié)狀態(tài)的有條件測試步驟。不同的方法可用于選擇rinitial和rfinal。如上所指示的,優(yōu)選地將rfinal與計(jì)數(shù)寄存器的置位狀態(tài)關(guān)聯(lián),因?yàn)橹梦粻顟B(tài)可很容易地由一個(gè)簡單測試識(shí)別。因此,計(jì)算方法或循環(huán)的結(jié)束在計(jì)數(shù)寄存器的終結(jié)狀態(tài)對(duì)應(yīng)于與計(jì)數(shù)寄存器關(guān)聯(lián)的存儲(chǔ)器材料的置位狀態(tài)時(shí)可被方便地識(shí)別。當(dāng)計(jì)數(shù)寄存器的置位狀態(tài)是終結(jié)狀態(tài)時(shí),用于選擇rinitial的值的至少兩個(gè)選擇是可能的。首先,rinitial可被選擇成對(duì)應(yīng)于計(jì)數(shù)寄存器復(fù)位狀態(tài)。在該實(shí)施例中,該方法尋址(即步進(jìn)地歷遍)存儲(chǔ)器組中的所有寄存器。該實(shí)施例具有能簡單執(zhí)行的優(yōu)點(diǎn),但是不盡然是最有效的,因?yàn)槿魏卧诔跏紩r(shí)處于其復(fù)位狀態(tài)的寄存器不需要由該方法作用。
在第二種方法中,rinitial被設(shè)置成使得將計(jì)數(shù)寄存器的初始狀態(tài)轉(zhuǎn)換到計(jì)數(shù)寄存器的終結(jié)狀態(tài)所要求的編程脈沖或遞增區(qū)間的數(shù)量等于存儲(chǔ)在存儲(chǔ)器組中的數(shù)字的非先行零數(shù)位數(shù)。該方法在其中復(fù)位狀態(tài)被選擇成對(duì)應(yīng)于零的編程狀態(tài)是優(yōu)選的,因?yàn)橥ㄟ^該方法排除了對(duì)先行零的處理。在該實(shí)施例中,計(jì)數(shù)寄存器初始化步驟涉及對(duì)于存儲(chǔ)在存儲(chǔ)器組中的數(shù)字所具有的每個(gè)先行零給計(jì)數(shù)寄存器的復(fù)位狀態(tài)施加一個(gè)編程脈沖。(如果計(jì)數(shù)寄存器在初始化步驟的開始時(shí)不處于其復(fù)位狀態(tài),則在施加編程脈沖之前施加復(fù)位脈沖。)該初始化程序表示將計(jì)數(shù)寄存器從其初始狀態(tài)轉(zhuǎn)換到其終結(jié)狀態(tài)所要求的編程脈沖的數(shù)量等于存儲(chǔ)在存儲(chǔ)器組中的數(shù)字的非先行零數(shù)位數(shù)。
例如在此實(shí)施例中的以10為基數(shù)的情況下,可能遇到數(shù)字“0000000472”。該數(shù)字包括7個(gè)先行零和3個(gè)非先行零數(shù)位。根據(jù)本實(shí)施例的初始化程序,計(jì)數(shù)寄存器將被復(fù)位(如果需要)并且在初始化步驟中將向其施加7個(gè)編程脈沖。7個(gè)編程脈沖使計(jì)數(shù)寄存器處于其第八個(gè)編程狀態(tài)。該第八個(gè)編程狀態(tài)對(duì)應(yīng)于指向該數(shù)字的第八數(shù)位。在“0000000472”的例子中,第八數(shù)位是“4”并表示第一非先行零數(shù)位。在該算法中為經(jīng)過的每一次循環(huán)將一個(gè)編程脈沖施加到計(jì)數(shù)寄存器。在三個(gè)循環(huán)之后(每一個(gè)循環(huán)對(duì)應(yīng)于數(shù)字的每個(gè)非先行零數(shù)位),計(jì)數(shù)寄存器處于其終結(jié)狀態(tài)。在此刻,初始地包含“0000000472”的存儲(chǔ)器組被復(fù)位(即被轉(zhuǎn)換到“0000000000”)并且方法前進(jìn)到結(jié)束步驟。需要注意,在本例中施加的三個(gè)編程脈沖可對(duì)應(yīng)于以任何順序操作三個(gè)非先行零數(shù)位。優(yōu)選地,以位置值的升序(“2”,接著“7”,然后“4”)或降序(“4”,接著“7”,然后“2”)操作。
初始化的第二種方法是有利的,因?yàn)闆]有計(jì)算時(shí)間或資源被用于復(fù)位先行零。第二種方法將計(jì)數(shù)寄存器設(shè)置成由存儲(chǔ)在存儲(chǔ)器組中的數(shù)字的非先行零的數(shù)量確定的值和通過只操作非先行零數(shù)位簡化計(jì)算。在圖2和圖3中所寫的方法允許rinitial和rfinal的任何選擇。具體的選擇構(gòu)成不同的實(shí)施例。類似的理解適用于在下面給出的計(jì)算方法。
在圖2和3中給出的復(fù)位方法還可用于其中復(fù)位狀態(tài)是對(duì)應(yīng)于非零數(shù)字的編程狀態(tài)。在許多這樣的實(shí)施例中,復(fù)位狀態(tài)是第一編程狀態(tài)并且與數(shù)字1關(guān)聯(lián)。在這些實(shí)施例中,在圖2和3中給出的復(fù)位方法的執(zhí)行相當(dāng)于把由該方法作用的存儲(chǔ)器組的寄存器設(shè)置成1。這表示在這些實(shí)施例中存儲(chǔ)器組的復(fù)位和將存儲(chǔ)器組清零對(duì)應(yīng)于不同動(dòng)作。清零可通過根據(jù)圖2和3的算法的第一復(fù)位、并接著施加適當(dāng)數(shù)量的編程脈沖以達(dá)到已經(jīng)與零關(guān)聯(lián)的任何編程狀態(tài)而完成。通常,置位狀態(tài)被選擇為對(duì)應(yīng)于零的編程狀態(tài),并且清零動(dòng)作通過將存儲(chǔ)器組的所有寄存器置位來完成。
半拷貝在計(jì)算方法的實(shí)現(xiàn)中,通常要求或期望將一個(gè)存儲(chǔ)器組的內(nèi)容拷貝到一個(gè)或多個(gè)其它存儲(chǔ)器組。結(jié)果,開發(fā)用于拷貝存儲(chǔ)器組的方法是有用的。如下所述的,下面的HALFCOPY(半拷貝)方法可用作在一個(gè)拷貝方法中的中間步驟。兩個(gè)不同的HALFCOPY方法(HALFCOPY_1和HALFCOPY_2)在下面討論。
HALFCOPY方法返回在下面被稱為數(shù)字的補(bǔ)碼的內(nèi)容。如這里使用的,數(shù)字的補(bǔ)碼表示通過從算術(shù)系統(tǒng)的基數(shù)中分開地和個(gè)別地減去所存儲(chǔ)的數(shù)字的數(shù)位而得到的結(jié)果??紤]以10為基數(shù)的系統(tǒng)中的數(shù)“587”作為例子。通過從算術(shù)基數(shù)中一個(gè)數(shù)位一個(gè)數(shù)位地減去該數(shù)字的各數(shù)位來獲得補(bǔ)碼。“587”的補(bǔ)碼的第一位是10-5=5,第二位是10-8=2,第三位是10-7=3。這樣,“587”的補(bǔ)碼是“523”。如果將基數(shù)為10的算術(shù)系統(tǒng)中的數(shù)字“587”輸入到HALFCOPY中,該方法將返回“523”??深愃频貫槠渌鶖?shù)的系統(tǒng)定義補(bǔ)碼,并且所述補(bǔ)碼適用于被分配給所存儲(chǔ)的數(shù)字的任何數(shù)量的寄存器。
對(duì)非先行零的處理要求對(duì)HALFCOPY方法的特別注意。以10為基數(shù)的算術(shù)系統(tǒng)中的數(shù)字“907”提供說明對(duì)于包含非先行零的數(shù)字所遇到的復(fù)雜性。向“907”應(yīng)用計(jì)算補(bǔ)碼的前面的方法返回“1”(10-9)作為第一數(shù)位,“10”(10-0)作為第二數(shù)位,和“3”(10-7)作為第三數(shù)位。“907”的補(bǔ)碼因此被確定為“1(10)3”。通常對(duì)于任何算術(shù)基數(shù),非先行零的存在導(dǎo)致補(bǔ)碼中的等于算術(shù)系統(tǒng)的基數(shù)的一個(gè)“數(shù)位”。這樣的“數(shù)位”在算術(shù)基數(shù)中形式為“10’s”,并且如果使用的話將需要兩個(gè)寄存器用于存儲(chǔ)。因?yàn)槠谕砸粋€(gè)寄存器一個(gè)寄存器的方式執(zhí)行計(jì)算方法,優(yōu)選地采用對(duì)于在數(shù)字的補(bǔ)碼的計(jì)算中的對(duì)非先行零的處理的慣例或定義。在下面示出的方法HALFCOPY_1和HALFCOPY_2表示處理非先行零的兩個(gè)不同策略。
在HALFCOPY_1中,可以得知寄存器的置位狀態(tài)不是編程狀態(tài),并且“0”的補(bǔ)碼被選擇為置位狀態(tài)。該選擇邏輯上遵循這樣的事實(shí)置位狀態(tài)在能量上比寄存器的最后一個(gè)編程狀態(tài)高一個(gè)編程脈沖,因此在方面可被看作等于算術(shù)系統(tǒng)的基數(shù)。例如在基數(shù)為10的系統(tǒng)中,最后一個(gè)(第十個(gè))編程狀態(tài)對(duì)應(yīng)于“9”并且其通過將9個(gè)編程脈沖施加到寄存器的復(fù)位狀態(tài)而達(dá)到。第十個(gè)編程脈沖的施加將寄存器轉(zhuǎn)換到其置位狀態(tài)。如果基數(shù)為10的系統(tǒng)中的寄存器具有存儲(chǔ)在其中的“0”并且施加了10個(gè)編程脈沖,則寄存器被轉(zhuǎn)換到其置位狀態(tài)。因此,即使置位狀態(tài)在形式上不是編程狀態(tài),為計(jì)算一個(gè)數(shù)字的補(bǔ)碼可以將其看作為對(duì)應(yīng)于“10”。前面的陳述對(duì)所有基數(shù)的系統(tǒng)都成立。在下面的討論中,之后我們將置位狀態(tài)表示為“0”而不是“10”,以加強(qiáng)“0”的補(bǔ)碼可記錄在單個(gè)寄存器而不是兩個(gè)寄存器中的概念。在這樣的慣例下,基數(shù)為10的“907”的補(bǔ)碼是“10*”。使用這個(gè)慣例,一個(gè)數(shù)字及其補(bǔ)碼可存儲(chǔ)在相同數(shù)量的寄存器中是明顯的。
這里在圖4中示出方法HALFCOPY_1。HALFCOPY_1被設(shè)計(jì)用于其中復(fù)位狀態(tài)被選擇為被分配了值0的編程狀態(tài)的實(shí)施例。符號(hào)HALFCOPY_1(b;a)表示HALFCOPY_1被應(yīng)用于存儲(chǔ)在存儲(chǔ)器組a中的條目以產(chǎn)生存儲(chǔ)器組b中的輸出。換句話說,存儲(chǔ)在存儲(chǔ)器組a中的數(shù)字的補(bǔ)碼被寫到存儲(chǔ)器組b中。存儲(chǔ)器組b可被稱為目的存儲(chǔ)器單元。該方法開始于步驟T300。如果輸入數(shù)據(jù)值沒有存儲(chǔ)在存儲(chǔ)器組a,則可在開始步驟期間存儲(chǔ)之。編程狀態(tài)、編程區(qū)間和數(shù)值的分配也可在步驟T300中完成。存儲(chǔ)可包括提供足夠的能量以將相變材料轉(zhuǎn)換到與所存儲(chǔ)的數(shù)字關(guān)聯(lián)的編程狀態(tài)。步驟T301初始化計(jì)數(shù)寄存器。在前面給出的復(fù)位算法中已經(jīng)描述了該初始化過程,并且關(guān)于rinitial和rfinal值的相同考慮適用。產(chǎn)生與上面描述的復(fù)位算法相同的效果的算法或過程也可在步驟T301中使用。在步驟T302,存儲(chǔ)器組b被復(fù)位。存儲(chǔ)器組b可通過這里的圖2和3中描述的復(fù)位方法或等效的方法而復(fù)位。在完成步驟T302時(shí),存儲(chǔ)器組b的所有寄存器處于其復(fù)位狀態(tài)并存儲(chǔ)零。
步驟T303、T304和T305形成對(duì)應(yīng)于該方法的基本處理步驟的迭代循環(huán)。如上所述,對(duì)數(shù)字的補(bǔ)碼的計(jì)算要求一個(gè)寄存器一個(gè)寄存器地從算術(shù)系統(tǒng)基數(shù)中減去每個(gè)寄存器中存儲(chǔ)的數(shù)位。用于每個(gè)寄存器的減法處理的結(jié)果對(duì)應(yīng)于將寄存器轉(zhuǎn)換到其置位狀態(tài)所需的編程脈沖的數(shù)量。例如在基數(shù)為10的系統(tǒng)中,需要四個(gè)編程脈沖將包含“6”的寄存器轉(zhuǎn)換到其置位狀態(tài),并且4是“6”的補(bǔ)碼。計(jì)算一個(gè)數(shù)字的補(bǔ)碼的關(guān)鍵是跟蹤將每個(gè)寄存器轉(zhuǎn)換到其置位狀態(tài)所需的編程脈沖的數(shù)量。如在上面的復(fù)位方法的討論中所指出的,優(yōu)選地將該方法只應(yīng)用于包含非先行零的寄存器中。該目的是通過如上所述地適當(dāng)?shù)卦O(shè)置rinitial來完成的。
步驟T303、T304和T305提供記錄將與r的當(dāng)前值關(guān)聯(lián)的寄存器轉(zhuǎn)換到其置位狀態(tài)所需的編程脈沖的數(shù)量。在步驟T303中,與r的當(dāng)前值關(guān)聯(lián)的存儲(chǔ)器組a的寄存器被遞增1。在步驟T304中,存儲(chǔ)器組b的對(duì)應(yīng)寄存器被遞增1。存儲(chǔ)器組b因此跟蹤施加到存儲(chǔ)器組a的編程脈沖的數(shù)量。步驟T305詢問寄存器ar是否到達(dá)其終結(jié)狀態(tài)。如果沒有,方法循環(huán)回到步驟T303和T304并再次將ar和br遞增1。循環(huán)繼續(xù)直到ar到達(dá)其終結(jié)狀態(tài)。此刻,寄存器ar處于其置位狀態(tài)并且br處于對(duì)應(yīng)于施加到寄存器ar以將其轉(zhuǎn)換到其置位狀態(tài)的編程脈沖數(shù)量的編程狀態(tài)。寄存器br因此存儲(chǔ)原先存儲(chǔ)在寄存器ar中的數(shù)位的補(bǔ)碼。
步驟T306是可選步驟并且如果愿意可用于復(fù)位寄存器ar。在該方法中的這一時(shí)刻,與r的當(dāng)前值關(guān)聯(lián)的寄存器ar的補(bǔ)碼已經(jīng)存儲(chǔ)到寄存器br中。完成對(duì)補(bǔ)碼的確定要求對(duì)存儲(chǔ)器組a中的所有寄存器重復(fù)該處理循環(huán)。在步驟T307,r的值遞增1以表明計(jì)數(shù)寄存器移位到下一個(gè)寄存器。步驟T308詢問計(jì)數(shù)寄存器索引r是否到達(dá)其最終值。如果還沒有,方法返回到步驟T303并且為新寄存器完成由步驟T303、T304和T305定義的循環(huán)。在該循環(huán)結(jié)束時(shí),存儲(chǔ)器組a的另一個(gè)寄存器處于其置位狀態(tài)并且在該寄存器中原先存儲(chǔ)的數(shù)字的補(bǔ)碼被記錄到存儲(chǔ)器組b的對(duì)應(yīng)的寄存器中。步驟T306和T307如在上文描述的那樣完成,并且方法繼續(xù)到步驟T308以再次測試計(jì)數(shù)寄存器是否處于其終結(jié)狀態(tài)。如果沒有,方法返回到步驟T303并且處理下一個(gè)寄存器。一旦所有的寄存器都被處理過,存儲(chǔ)器組b包含原先存儲(chǔ)在存儲(chǔ)器組a中的數(shù)字的補(bǔ)碼,并且存儲(chǔ)器組a被復(fù)位,如果期望,存儲(chǔ)器組a變得為其他處理可用。此刻,方法前進(jìn)到可選步驟T309來復(fù)位計(jì)數(shù)寄存器。通常優(yōu)選地復(fù)位計(jì)數(shù)寄存器以使其為其他處理可用。該方法在步驟T310結(jié)束。在步驟T310完成對(duì)輸出的讀取。
HALFCOPY_2類似于HALFCOPY_1,并且在對(duì)待非先行零的補(bǔ)碼的慣例上有所不同。如同HALFCOPY_1,HALFCOPY_2假設(shè)復(fù)位狀態(tài)是與0關(guān)聯(lián)的編程狀態(tài)。在HALFCOPY_2中,非先行零的補(bǔ)碼被選作為0。換句話說,非先行零是其自己的補(bǔ)碼。如果基數(shù)為10的數(shù)字“907”被輸入,HALFCOPY_2返回“103”作為補(bǔ)碼。這里在圖5中示出HALFCOPY_2。HALFCOPY_2的大多數(shù)步驟與上面描述的HALFCOPY_1的步驟相同。對(duì)應(yīng)步驟在步驟的標(biāo)記中使用的標(biāo)號(hào)值偏移30。例如,步驟T330對(duì)應(yīng)于步驟T300,步驟T331對(duì)應(yīng)于步驟T301等。步驟T336’和T336”不對(duì)應(yīng)于HALFCOPY_1中的步驟。它們表示用于當(dāng)方法到達(dá)步驟T336’時(shí),復(fù)位處于其置位狀態(tài)0*的目的存儲(chǔ)器組b的寄存器的步驟。步驟T336’詢問與r的當(dāng)前值關(guān)聯(lián)的寄存器br是否處于其置位狀態(tài)。與ar的情況類似,可通過測量電阻或置位狀態(tài)的某一其他屬性特性來執(zhí)行該測試。如果寄存器br沒有處于其置位狀態(tài),方法繼續(xù)到步驟T337,否則類似于HALFCOPY_1。
如果寄存器ar初始地存儲(chǔ)“0”,則寄存器br將在由步驟T333、T334和T335定義的循環(huán)的相同迭代中被轉(zhuǎn)換到置位狀態(tài)0*,在該相同的迭代中寄存器ar將被轉(zhuǎn)換到置位狀態(tài)0*。當(dāng)該情況發(fā)生并且方法從步驟T335進(jìn)行到T336時(shí),ar和br都處于置位狀態(tài)0*。在步驟T336,復(fù)位寄存器ar。在HALFCOPY_1的對(duì)應(yīng)步驟中,步驟T336是可選的,但是是優(yōu)選的。如果br處于置位狀態(tài)0*,方法繼續(xù)到步驟T336”并且將br按照在HALFCOPY_2中采用的用于處理非先行零的補(bǔ)碼的慣例復(fù)位到零。方法進(jìn)行到步驟T337,否則類似于HALFCOPY_1。
也可開發(fā)等效于HALFCOPY_2的方法,并且所述方法被包括在本發(fā)明的范圍內(nèi)。不包括步驟T336’和T336”,例如附加的步驟可放在步驟T332和T333之間以提供對(duì)將非先行零作為其自己的補(bǔ)碼那樣處理的慣例的兼容??商砑硬襟ET332’,詢問ar是否等于零。如果不等于零,方法繼續(xù)到步驟T333,否則類似于HALFCOPY_1。如果步驟T332’顯示ar等于零,那么就不需要作用于對(duì)應(yīng)的寄存器br,因?yàn)樗呀?jīng)存儲(chǔ)了值“0”并且已經(jīng)表示了期望的補(bǔ)碼。在此情況下,該方法可直接循環(huán)到步驟T337并繞過中間步驟。
雖然為一個(gè)目的寄存器寫了HALFCOPY_1和HALFCOPY_2,簡單的適配允許多個(gè)目的寄存器。方法HALFCOPY_1(c;b;a)例如可將存儲(chǔ)器組a中存在的數(shù)字的補(bǔ)碼存儲(chǔ)到目的存儲(chǔ)器組b和c。這樣的方法可通過包括步驟T304’實(shí)現(xiàn),該步驟緊隨步驟T304執(zhí)行cr=cr+1。
如上所指明的,其中rinitial被置位以排除對(duì)先行零的處理的實(shí)施例是優(yōu)選的。其中先行零被處理的實(shí)施例也落入本發(fā)明的范圍。在這樣的實(shí)施例中,先行零可根據(jù)前面所述的用于處理非先行零的補(bǔ)碼的任何慣例來處理。
拷貝拷貝算法的功能是將一個(gè)存儲(chǔ)器組的內(nèi)容拷貝至另一個(gè)存儲(chǔ)器組。通常,可以直接讀取一個(gè)存儲(chǔ)器組并將其內(nèi)容復(fù)制到另一個(gè)存儲(chǔ)器組。這樣的直接拷貝的方法的可行性依賴于容易讀取一個(gè)存儲(chǔ)器組。對(duì)于相變材料,通過本發(fā)明的計(jì)算方法,直接拷貝是可能的。直接拷貝要求讀取一個(gè)存儲(chǔ)器組的存儲(chǔ)器元件或寄存器并且將結(jié)果寫到另一個(gè)存儲(chǔ)器組的存儲(chǔ)器元件或寄存器。本發(fā)明的計(jì)算方法使用的多狀態(tài)相變材料的讀和寫在以上已經(jīng)討論過。
拷貝的另一方法可使用上述的HALFCOPY來設(shè)計(jì)。HALFCOPY方法返回一個(gè)數(shù)字的補(bǔ)碼作為輸出。向一個(gè)數(shù)字的補(bǔ)碼應(yīng)用HALFCOPY返回?cái)?shù)字本身。換句話說,兩次HALFCOPY的連續(xù)應(yīng)用將原始數(shù)字作為輸出返回。作為一個(gè)例子,考慮以10為基數(shù)的算術(shù)系統(tǒng)中的數(shù)字“543”。對(duì)以10為基數(shù)的算術(shù)系統(tǒng)中的數(shù)字“543”應(yīng)用HALFCOPY_1或HALFCOPY_2返回“567”。如果HALFCOPY_1或HALFCOPY_2在之后被應(yīng)用于輸出結(jié)果“567”,返回?cái)?shù)字“543”。HALFCOPY_1或HALFCOPY_2的兩個(gè)連續(xù)應(yīng)用,按任何順序的HALFCOPY_1或HALFCOPY_2的連續(xù)應(yīng)用,或產(chǎn)生和HALFCOPY_1或HALFCOPY_2的相同效果的算法的類似應(yīng)用可用于構(gòu)造拷貝方法。
這里,拷貝方法的一個(gè)例子出現(xiàn)在圖6中。COPY(b;c;a)(拷貝(b;c;a))將存儲(chǔ)器組a的內(nèi)容拷貝到目的存儲(chǔ)器組b和c。該方法起始于步驟T400。如果還沒有存儲(chǔ),輸入數(shù)據(jù)值可在起始步驟被存儲(chǔ)到存儲(chǔ)器組a中。編程狀態(tài)、編程間隔和數(shù)值分配也可在步驟T400中完成。存儲(chǔ)可包括提供足夠的能量以將相變材料轉(zhuǎn)換到與所存儲(chǔ)的一個(gè)數(shù)字關(guān)聯(lián)的編程狀態(tài)。在步驟T401和T402的每一個(gè)中,HALFCOPY方法被調(diào)用和執(zhí)行。被調(diào)用的方法可以是HALFCOPY_1或HALFCOPY_2及其等效方法。步驟T401將存儲(chǔ)器組a的數(shù)據(jù)當(dāng)作輸入并將其的補(bǔ)碼提供給存儲(chǔ)器組d。步驟T402獲得存儲(chǔ)器組d的數(shù)據(jù)并將其的補(bǔ)碼提供給存儲(chǔ)器組b和c。方法在步驟T403結(jié)束。還可在步驟T403完成輸出的讀取。
COPY(b;c;a)的效果是將存儲(chǔ)器組a的內(nèi)容拷貝到存儲(chǔ)器組b和c。如果需要可寫類似的方法以拷貝到多于兩個(gè)的目的存儲(chǔ)器單元。如果只包括一個(gè)目的寄存器,該方法具有將一個(gè)存儲(chǔ)器組的內(nèi)容移動(dòng)到另一個(gè)存儲(chǔ)器組的效果。例如,COPY(b;a)將存儲(chǔ)器a的內(nèi)容拷貝到存儲(chǔ)器b。因?yàn)楸晦D(zhuǎn)換了,在該方法完成時(shí)存儲(chǔ)器組a不包含其原始內(nèi)容。因此,COPY(b;a)具有將存儲(chǔ)器a的內(nèi)容移動(dòng)到存儲(chǔ)器b的效果。如果期望保留存儲(chǔ)器組a中存在的原始數(shù)據(jù),存儲(chǔ)器組a可被包括到目的寄存器中。例如COPY(a;b;a)將存儲(chǔ)器組a的內(nèi)容提供給目的存儲(chǔ)器組b并恢復(fù)存儲(chǔ)器組a到其原始條件。
當(dāng)非先行零存在于將被拷貝的數(shù)字中時(shí),優(yōu)選地在步驟T401和T402中調(diào)用HALFCOPY_2。如果通過HALFCOPY_2處理非先行零,則返回零。向存在于要被拷貝的原始數(shù)字中的非先行零兩次應(yīng)用HALFCOPY_2,由此返回非先行零??紤]基數(shù)為10的數(shù)字“907”的例子。一次HALFCOPY_2的應(yīng)用返回“103”。第二次應(yīng)用返回?cái)?shù)字“907”,就如通常在拷貝算法中期望的真的拷貝一樣。
根據(jù)HALFCOPY_1和HALFCOPY_2的組合的COPY方法返回不同于一個(gè)真的拷貝的結(jié)果,并且如果期望一個(gè)真實(shí)拷貝,則要求附加的步驟。考慮在步驟T401中使用HALFCOPY_1在步驟T402中使用HALFCOPY_1。當(dāng)基數(shù)為10的數(shù)字“907”被輸入時(shí),步驟T401返回“90*3”。當(dāng)該結(jié)果用作到步驟T402的輸入時(shí),返回“917”。為獲得真實(shí)拷貝,需要在步驟T401之后在執(zhí)行T402之前復(fù)位0*,并且需要在執(zhí)行步驟T402之后作類似的事情。當(dāng)輸入“907”時(shí),在步驟T401中使用HALFCOPY_1在步驟T402中使用HALFCOPY_2也返回“917”。當(dāng)輸入“907”時(shí),在步驟T401中使用HALFCOPY_2在步驟T402中使用HALFCOPY_1返回“90*7”??梢韵駽OPY添加附加的步驟以將這些輸出轉(zhuǎn)換成真實(shí)拷貝。
加加法算法的功能是將兩個(gè)數(shù)作為輸入并將它們的和作為輸出。以其最基本的形式,本發(fā)明上下文中的加法可被看作添加到相變材料上的能量。因?yàn)橄嘧儾牧系臓顟B(tài)是相對(duì)于復(fù)位狀態(tài)按能量來排序或可區(qū)別的,被添加到相變材料的復(fù)位狀態(tài)的總能量或相變材料相對(duì)于復(fù)位狀態(tài)具有的總能量可用作定義加法機(jī)制的基礎(chǔ)。
相加法的一種方式使用相對(duì)于復(fù)位狀態(tài)的相變材料的狀態(tài)的能量的加法性質(zhì)。在該方法中,相變材料首先被轉(zhuǎn)換到其復(fù)位狀態(tài)并且施加將被加的數(shù)字的能量特征。施加正比于第一個(gè)數(shù)字的第一能量數(shù)量,將相變材料轉(zhuǎn)換到表征第一個(gè)數(shù)字的狀態(tài)。之后施加正比于第二個(gè)數(shù)字的第二能量數(shù)量,將相變材料轉(zhuǎn)換到表征第一和第二個(gè)數(shù)字的和的狀態(tài)。在該方法中的能量可直接施加于相變材料或施加到相變材料中被細(xì)劃分的存儲(chǔ)器組或施加到包含在存儲(chǔ)器組中的寄存器。表征數(shù)字的能量可正比于數(shù)字或?qū)?yīng)于足以將相變材料轉(zhuǎn)換到與數(shù)字的數(shù)值關(guān)聯(lián)的編程狀態(tài)的能量。
不要求相變材料初始地處于其復(fù)位狀態(tài),因?yàn)閺?fù)位狀態(tài)和置位狀態(tài)之間的能量區(qū)間內(nèi)的相對(duì)位置可用于表示一個(gè)數(shù)。例如,位于復(fù)位狀態(tài)和置位狀態(tài)之間一半處的能量可對(duì)應(yīng)于相變材料中可存儲(chǔ)的最大數(shù)字的一半。這樣的狀態(tài)可由置位相變材料所要求的能量數(shù)量來區(qū)別。因?yàn)閺?fù)位狀態(tài)和置位狀態(tài)之間的能量區(qū)間對(duì)于特定的化學(xué)組成是固定的,相對(duì)于置位狀態(tài)的能量可被用作表征存儲(chǔ)在相變材料中的數(shù)字的量。類似地,當(dāng)定義編程狀態(tài)時(shí),存儲(chǔ)在相變材料中數(shù)字的值可通過確定置位相變材料所要求的編程區(qū)間的數(shù)量以及將該數(shù)量從可存儲(chǔ)在編程狀態(tài)的集合中的最大數(shù)值中減去而獲得。
方便的確定數(shù)字的補(bǔ)碼提供了用于相加存儲(chǔ)在多狀態(tài)存儲(chǔ)器組中的數(shù)字的方法的另一個(gè)基礎(chǔ)。加法操作可更自然地按照數(shù)字的補(bǔ)碼而不是按照數(shù)字本身。可能這樣做的原因是數(shù)字的補(bǔ)碼要求施加等于數(shù)字本身的數(shù)量的編程脈沖以達(dá)到置位狀態(tài)??紤]單數(shù)位數(shù)字,比如基數(shù)為10的算術(shù)系統(tǒng)中的“4”作為例子?;鶖?shù)為10的算術(shù)系統(tǒng)中的“4”的補(bǔ)碼是“6”,并且“6”要求4個(gè)編程脈沖來達(dá)到可容易地檢測的置位狀態(tài)0*。因此,如果我們將“4”轉(zhuǎn)換到其補(bǔ)碼“6”并且進(jìn)而將“6”轉(zhuǎn)換到其置位狀態(tài),我們實(shí)現(xiàn)了一個(gè)將寄存器的內(nèi)容遞增4的可靠的方式。用于相加兩個(gè)數(shù)字的基本策略因此被理解為首先將第一個(gè)加數(shù)轉(zhuǎn)換到其補(bǔ)碼并接著每次一個(gè)地施加等于該補(bǔ)碼和第二個(gè)加數(shù)的數(shù)量的編程脈沖,直到該補(bǔ)碼轉(zhuǎn)換到其低電阻置位狀態(tài)。當(dāng)該轉(zhuǎn)換發(fā)生時(shí),第二加數(shù)已經(jīng)被加上了等于第一加數(shù)的數(shù)量的編程脈沖。這是用于相加的理想的策略,因?yàn)榈谝患訑?shù)的補(bǔ)碼的置位狀態(tài)是容易檢測的狀態(tài)。
加法的基本策略如下說明??紤]在基數(shù)為10的算術(shù)系統(tǒng)中將第一加數(shù)“4”與第二加數(shù)“5”相加的例子。將4轉(zhuǎn)換到其補(bǔ)碼產(chǎn)生“6”。將“6”轉(zhuǎn)換到其置位狀態(tài)要求4個(gè)編程脈沖。在將補(bǔ)碼“6”轉(zhuǎn)換到其置位狀態(tài)的同時(shí)以一對(duì)一的方式遞增第二加數(shù)“5”,這表示4個(gè)編程脈沖被施加到第二加數(shù)“5”。第二加數(shù)“5”因此被轉(zhuǎn)換成對(duì)應(yīng)于“9”的編程狀態(tài),并且加數(shù)“4”和“5”就如此相加。
圖7在這里提供用于加法的基礎(chǔ)計(jì)算方法。圖7的算法被稱之為BASIC ADD(基本加法)以將其與下面在圖8中示出的更健壯的方法相區(qū)別。在圖7中的BASIC ADD(a;b;a+b)將數(shù)字a和b作為輸入并且將a+b的和作為輸出。數(shù)字a和b存儲(chǔ)在存儲(chǔ)器組a和b中,并可以是單數(shù)位數(shù)字或包含在一系列與存儲(chǔ)器組a和b關(guān)聯(lián)的寄存器中的多數(shù)位數(shù)字。如所寫的,該方法提供輸出a+b給原先存儲(chǔ)加數(shù)b的存儲(chǔ)器組。因此,存儲(chǔ)器組b是用于圖7所示的方法的目的存儲(chǔ)器組??蓪懗銎渲休敵霰淮鎯?chǔ)在存儲(chǔ)器組a或不同于存儲(chǔ)器組a和b的存儲(chǔ)器組中的等效方法。
該算法起始于步驟T500。如果還沒有存儲(chǔ),輸入數(shù)據(jù)的值a和b可在起始步驟存儲(chǔ)。編程狀態(tài)、編程區(qū)間和數(shù)值的分配也可在步驟T500中完成。存儲(chǔ)可包括提供足夠的能量以將相變材料轉(zhuǎn)換到與所存儲(chǔ)的數(shù)字關(guān)聯(lián)的編程狀態(tài)。在步驟T501,HALFCOPY方法被調(diào)用。步驟T501的目的是計(jì)算存儲(chǔ)在寄存器組a中的數(shù)字的補(bǔ)碼。該補(bǔ)碼被產(chǎn)生并存儲(chǔ)在存儲(chǔ)器組c中。在下面描述的與非先行零相關(guān)的考慮下,HALFCOPY_1、HALFCOPY_2及其等效方法可在步驟501中使用。
在步驟T502中,初始化計(jì)數(shù)寄存器。優(yōu)選地,以這種方式初始化計(jì)數(shù)寄存器以使得計(jì)數(shù)寄存器的最終狀態(tài)是計(jì)數(shù)寄存器的置位狀態(tài)。優(yōu)選地,計(jì)數(shù)寄存器的每一個(gè)狀態(tài)對(duì)應(yīng)于存儲(chǔ)在正被算法處理的存儲(chǔ)器組中的數(shù)字的不同數(shù)位或寄存器。在一個(gè)存儲(chǔ)器組內(nèi)從一個(gè)數(shù)位前進(jìn)到下一數(shù)位是通過將編程脈沖加到計(jì)數(shù)寄存器而將計(jì)數(shù)寄存器遞增1來標(biāo)記的。一旦已經(jīng)處理了所有數(shù)位,優(yōu)選地加上另一個(gè)編程脈沖以將計(jì)數(shù)寄存器轉(zhuǎn)換到其置位狀態(tài)。優(yōu)選地,初始化計(jì)數(shù)寄存器使得達(dá)到此結(jié)果。例如當(dāng)相加兩個(gè)四數(shù)位的加數(shù)時(shí),計(jì)數(shù)寄存器被優(yōu)選地初始化使得施加四個(gè)編程脈沖可將計(jì)數(shù)寄存器轉(zhuǎn)換到其置位狀態(tài)。如果加數(shù)包括不同數(shù)量的非先行零數(shù)位,具有較多先行零數(shù)位的加數(shù)為計(jì)數(shù)寄存器建立初始化條件。例如當(dāng)將三數(shù)位加數(shù)加到一個(gè)兩數(shù)位加數(shù)時(shí),三數(shù)位加數(shù)可用于確定計(jì)數(shù)寄存器的初始化,并由此設(shè)置rinitial。
步驟T503和T504定義基本的處理循環(huán)。在步驟T503,與計(jì)數(shù)寄存器的當(dāng)前值關(guān)聯(lián)的存儲(chǔ)器組b和c的寄存器遞增1。如上所討論的,在此循環(huán)后面的策略是遞增存儲(chǔ)在存儲(chǔ)器組c中的補(bǔ)碼直到其達(dá)到其置位狀態(tài)并與遞增存儲(chǔ)器組c的寄存器步調(diào)一致地遞增存儲(chǔ)器單元b中的寄存器。當(dāng)存儲(chǔ)器組c的寄存器被遞增到其置位狀態(tài),存儲(chǔ)器組b的對(duì)應(yīng)寄存器包含a和b的和要求的值。步驟T504測試存儲(chǔ)器組c的當(dāng)前寄存器是否到達(dá)其置位狀態(tài)。在步驟T504置位狀態(tài)被表示為“0*”。如果還沒有達(dá)到置位狀態(tài),循環(huán)返回到步驟T503,并且繼續(xù)直到到達(dá)置位狀態(tài)。一旦達(dá)到置位狀態(tài),方法進(jìn)行到步驟T505,實(shí)現(xiàn)對(duì)存儲(chǔ)器組c的已被轉(zhuǎn)換至其置位狀態(tài)的寄存器的復(fù)位。步驟T505是可選步驟。步驟T506將計(jì)數(shù)寄存器遞增1以表明前進(jìn)到下一數(shù)位。步驟T507測試計(jì)數(shù)寄存器是否已經(jīng)到達(dá)其最終狀態(tài)。如上所示,優(yōu)選地使rfinal對(duì)應(yīng)于計(jì)數(shù)寄存器的置位狀態(tài)。如果計(jì)數(shù)寄存器沒有到達(dá)其最終狀態(tài),方法返回到步驟T503并處理另一數(shù)位或寄存器。處理繼續(xù)通過所有的數(shù)位,此刻計(jì)數(shù)寄存器遞增到其最終狀態(tài)。方法繼續(xù)到T508以將計(jì)數(shù)寄存器復(fù)位并在步驟T509結(jié)束。步驟T508是可選的,但是是優(yōu)選的,并且讀取輸出可在步驟T509中完成。
這里在圖7中示出的BASIC ADD(基本加法)有效地執(zhí)行一個(gè)簡單的加法。在加法中經(jīng)常出現(xiàn)的兩種情況沒有在Basic Add中特別地解決。首先,沒有考慮包含非先行零的加數(shù),其次沒有包括從一個(gè)位置值進(jìn)位到下一個(gè)更高位置值的需要?,F(xiàn)在將考慮這些情況。
在加數(shù)中存在非先行零要求對(duì)上面開發(fā)的加法策略作特別的考慮,因?yàn)樵摬呗陨婕皩?duì)其中一個(gè)加數(shù)的補(bǔ)碼的處理。如上所述,諸如HALFCOPY_1和HALFCOPY_2之類的方法可用于產(chǎn)生數(shù)字的補(bǔ)碼。這些方法及其等效方法采用關(guān)于處理非先行零的各種慣例。已經(jīng)討論了兩個(gè)慣例。在HALFCOPY_1中,非先行零被轉(zhuǎn)換成低電阻置位狀態(tài)0*,并且在HALFCOPY_2中非先行零被轉(zhuǎn)換成其本身?;谶@兩個(gè)慣例的加法方法可在本發(fā)明的范圍內(nèi)開發(fā)。因?yàn)榈碗娮柚梦粻顟B(tài)0*能比高電阻0狀態(tài)被更容易地檢測,優(yōu)選地開發(fā)其中0的補(bǔ)碼是0*的加法方法。這樣的方法的例子出現(xiàn)在圖8,其中引入了HALFCOPY_1。
當(dāng)兩個(gè)數(shù)位的和超過或等于算術(shù)系統(tǒng)的基數(shù)時(shí)出現(xiàn)對(duì)進(jìn)位的需要。例如,基數(shù)為10的4和7的相加產(chǎn)生11并要求進(jìn)位以提供第二個(gè)數(shù)位。結(jié)果,能夠執(zhí)行進(jìn)位的加法方法必然需要識(shí)別什么時(shí)候要求進(jìn)位并且包括一個(gè)用于將存儲(chǔ)器組中的一個(gè)更高位置值的寄存器遞增1的措施。這樣的方法算法的例子出現(xiàn)在圖8以及圖8A中。
在圖8以及圖8A中示出的ADD(a;b;a+b)是適于與多狀態(tài)相變存儲(chǔ)器組一起使用的全加法方法。步驟T600、T601和T602類似于上述的步驟T500、T501和T502。在步驟T601,HALFCOPY_1被包括并且被用于將加數(shù)a的補(bǔ)碼寫到存儲(chǔ)器組c中。同樣可以處理加數(shù)b的補(bǔ)碼或?qū)⒃撗a(bǔ)碼寫到其他或若干存儲(chǔ)器組。
包括步驟T603、T603’和T603”的循環(huán)不出現(xiàn)在圖7的BASIC ADD方法中,并且已被插入以說明在加數(shù)中可能存在的非先行零數(shù)位。在圖8以及圖8A中所示的例子中,由于a的補(bǔ)碼是由該方法確定和處理時(shí),所以加數(shù)a中的非先行零是相關(guān)的。當(dāng)HALFCOPY_1被調(diào)用時(shí),加數(shù)a中的非先行零被轉(zhuǎn)換到可容易檢測的狀態(tài)0*。步驟T603被包括以測試與計(jì)數(shù)寄存器索引r的當(dāng)前值關(guān)聯(lián)的寄存器cr中的0*的存在。如果寄存器cr不處于狀態(tài)0*,方法繞過步驟T603’和T603”并進(jìn)行到步驟T604。但是,如果寄存器cr處于狀態(tài)0*,可知道加數(shù)a包括非先行零并且方法進(jìn)行到步驟T603’和T603”。預(yù)期步驟T603’和T603”所根據(jù)的事實(shí)是如果非先行零存在于加數(shù)a中,那么它對(duì)加數(shù)b中的對(duì)應(yīng)數(shù)位沒有影響。將0加到加數(shù)b的一個(gè)數(shù)位對(duì)于該數(shù)位沒有影響。步驟T603’和T603”的效果由此是簡單地復(fù)位寄存器cr的0*狀態(tài)并且將寄存器計(jì)數(shù)遞增1,使得指向下一數(shù)位。重復(fù)包括步驟T603、T603’和T603”的循環(huán),直到遇到了不處于狀態(tài)0*的存儲(chǔ)器組c中的寄存器。因此該方法可適當(dāng)?shù)奶幚硖幚碇T如900之類的包含在相鄰寄存器中的多于一個(gè)非先行零的加數(shù)。
步驟T603、T603’和T603”提供在計(jì)算上有效的方式來處理非先行零。諸如將非先行零轉(zhuǎn)換成0而不是0*的補(bǔ)碼產(chǎn)生方法的使用不是那么有效,因?yàn)?狀態(tài)不如0*狀態(tài)那么容易檢測。需要有另外的處理步驟來發(fā)現(xiàn)加數(shù)a中非先行零的存在。例如,可以使用諸如T604之類的遞增步驟,其中一個(gè)非先行零的標(biāo)志是在相同的處理步驟中寄存器br和cr轉(zhuǎn)換到狀態(tài)0*。該標(biāo)志可被檢測并且可開發(fā)適當(dāng)?shù)挠?jì)算方法。當(dāng)確定補(bǔ)碼時(shí),這樣的方法不如其中將非先行零轉(zhuǎn)換到狀態(tài)0*的方法那么優(yōu)選。
ADD的步驟T604是與BASIC ADD的步驟T503類似的遞增步驟。類似于BASIC ADD,直到寄存器cr到達(dá)其置位狀態(tài)的對(duì)應(yīng)于存儲(chǔ)器組b和c的遞增策略也在ADD中使用。然而與BASIC ADD相反,ADD認(rèn)識(shí)到并容許進(jìn)位。對(duì)于是否需要進(jìn)位過程的測試在步驟T605中作出。進(jìn)位必然表示在目的存儲(chǔ)器組b中的寄存器br在寄存器cr被遞增到狀態(tài)0*之前或與之同時(shí)被遞增到狀態(tài)0*。因此,步驟T605測試寄存器br是否到達(dá)狀態(tài)0*。如果br不處于狀態(tài)0*,方法進(jìn)行到類似于上面的圖7中示出的BASIC ADD方法中的步驟T504的步驟T611。步驟T611測試寄存器cr是否已被遞增到狀態(tài)0*。如果沒有,方法返回到步驟T604以使用當(dāng)前寄存器開始另一次迭代。如果寄存器cr處于狀態(tài)0*,方法進(jìn)行到步驟T612,其中復(fù)位cr。步驟T612是可選的,但是是優(yōu)選的。在步驟T613中,寄存器計(jì)數(shù)器被遞增1并且在步驟T614中,進(jìn)行一個(gè)測試以確定計(jì)數(shù)寄存器是否已到達(dá)其最終狀態(tài)。如果已經(jīng)達(dá)到,方法進(jìn)行到可選的但是是優(yōu)選的復(fù)位步驟T615并在步驟T616結(jié)束。輸出的讀取可在步驟T616中完成。如果寄存器計(jì)數(shù)器在步驟T614不處于其最終狀態(tài),方法返回到步驟T603,以處理下一個(gè)寄存器。
ADD認(rèn)識(shí)到在步驟T605中需要進(jìn)位并在圖8A中所示的步驟T606、T607、T608、T609和T610中實(shí)現(xiàn)進(jìn)位。在將目的寄存器br遞增到置位狀態(tài)0*時(shí)執(zhí)行步驟T606。步驟T606引入第二個(gè)計(jì)數(shù)寄存器s并將其初始值設(shè)置為第一計(jì)數(shù)存儲(chǔ)器r的當(dāng)前值。第二計(jì)數(shù)寄存器允許該方法指向并處理存儲(chǔ)器單元內(nèi)的不同的寄存器。在步驟T607,處于置位狀態(tài)0*的存儲(chǔ)器單元b的寄存器被復(fù)位到0。由于在本方法的這個(gè)時(shí)刻計(jì)數(shù)寄存器r和s指向存儲(chǔ)器組b的同一個(gè)寄存器,步驟T607還可被寫成br-0。還可能在在引入計(jì)數(shù)寄存器s之前復(fù)位br。在步驟T608,計(jì)數(shù)寄存器s被遞增1使得其指向比由計(jì)數(shù)寄存器r所指向的寄存器的位置值高一個(gè)位置的寄存器。本步驟預(yù)示進(jìn)位出現(xiàn)在步驟T609,。在步驟T609,由s所指向的寄存器如加法進(jìn)位所要求的那樣遞增1。如果需要,步驟T610復(fù)位計(jì)數(shù)寄存器s,使得它可用在后面的用于其他寄存器的迭代中。當(dāng)完成步驟T610時(shí),方法進(jìn)行到步驟T611并如前所述那樣繼續(xù)。
當(dāng)需要進(jìn)位時(shí),寄存器計(jì)數(shù)器優(yōu)選地在加數(shù)及其補(bǔ)碼的存儲(chǔ)器組內(nèi)的增加位置值的方向上前進(jìn)。由此,計(jì)數(shù)寄存器的初始值優(yōu)選地對(duì)應(yīng)于具有最小位置值的存儲(chǔ)器組或補(bǔ)碼的寄存器。通常,該最小位置值寄存器對(duì)應(yīng)于多數(shù)位數(shù)字的“個(gè)位”。在執(zhí)行該方法期間,計(jì)數(shù)寄存器的遞增因此對(duì)應(yīng)于按增加位置值的方向前進(jìn),使得“個(gè)位”之后是“十位”等。適當(dāng)?shù)挠行нM(jìn)位要求正確計(jì)算位置值。
減法減法方法的功能是計(jì)算兩個(gè)數(shù)字間的差。出現(xiàn)在這里的減法方法認(rèn)識(shí)到與計(jì)算兩個(gè)數(shù)字間的差關(guān)聯(lián)的方便性。特別的,當(dāng)一個(gè)共同的數(shù)字被加到兩個(gè)數(shù)字的每一個(gè)時(shí),兩個(gè)數(shù)字的差保持恒定。考慮一個(gè)例子基數(shù)為10的算術(shù)系統(tǒng)中的354和123之差。該差對(duì)應(yīng)于減法354-123。如果將一個(gè)共同的數(shù)字加到354和123,則改變了這兩個(gè)數(shù)字,但是不改變兩個(gè)數(shù)字之差。因此,354-123與355-124以及455-244相等,等等。在本發(fā)明中,將一個(gè)共同的數(shù)字加到兩個(gè)相減的數(shù)字的每一個(gè)的動(dòng)作可通過將共同的能量加到存儲(chǔ)數(shù)字的存儲(chǔ)器組、寄存器或相變材料的容量中。例如在減法b-a中,將置位能量加到存儲(chǔ)數(shù)字a的存儲(chǔ)器組中以及隨后將該置位能量加到存儲(chǔ)數(shù)字b的存儲(chǔ)器組可用于將存儲(chǔ)器組b轉(zhuǎn)換到表征或?qū)?yīng)于差b-a的狀態(tài)。
這里在圖9和10中示出的方法BASIC SUBTRACT(基本減法)和SUBTRACT(減法)是基于其中將所減去的數(shù)字(在一般減法b-a中的第二個(gè)數(shù)字a)一個(gè)寄存器一個(gè)寄存器地遞增直到每個(gè)寄存器被轉(zhuǎn)換到其低電阻0*狀態(tài)的策略。通過遞增數(shù)的對(duì)應(yīng)寄存器,通過類似地遞增發(fā)生減法的數(shù)字的相應(yīng)的寄存器(在一般減法b-a中的第一個(gè)數(shù)字b),第一個(gè)數(shù)字可被轉(zhuǎn)換成等于兩個(gè)原始數(shù)字之差的數(shù)字。減法354-123可用作一個(gè)示例。如果起始于最低位置值的數(shù)位并遵循將第二個(gè)數(shù)字的寄存器轉(zhuǎn)換到低電阻0*狀態(tài)的策略,需要將兩個(gè)數(shù)位的每一個(gè)遞增7(例如,通常加上7個(gè)編程脈沖)以將原始減法轉(zhuǎn)換為一個(gè)保持原始差的新的減法。嚴(yán)格地講,7加3得10而7加4得11。因?yàn)槲覀兡軓膬蓚€(gè)結(jié)果中減去10而不用影響差,所以將兩個(gè)數(shù)字的最低位置值的數(shù)位遞增7具有將原始減法354-123轉(zhuǎn)換到減法351-120的效果。繼續(xù)到次高位置值數(shù)位并重復(fù)該策略進(jìn)一步將減法從351-120轉(zhuǎn)換到331-100。對(duì)最后數(shù)位的重復(fù)給出231-000。所示的一個(gè)寄存器一個(gè)寄存器的操作的最后效果是將原始減法354-123轉(zhuǎn)換成更方便的減法231-000,其很容易地表明想要的差。
這里圖9中所述的BASIC SUBTRACT實(shí)現(xiàn)用于減法的所述一個(gè)寄存器一個(gè)寄存器的策略。對(duì)于輸入數(shù)據(jù)值a和b,算法計(jì)算差b-a。該算法起始于步驟T700。如果還不存在,可以是多數(shù)位數(shù)字的輸入數(shù)據(jù)值a和b可分別在步驟T700存儲(chǔ)在存儲(chǔ)器組a和b中。編程狀態(tài)、編程區(qū)間和數(shù)值分配也可在步驟T700中完成。存儲(chǔ)可包括提供足夠的能量以將相變材料轉(zhuǎn)換到與所存儲(chǔ)的數(shù)字關(guān)聯(lián)的編程狀態(tài)。在步驟T701中,如上面在其他算法中所述的那樣初始化計(jì)數(shù)寄存器r。如上所述,計(jì)數(shù)寄存器的值表示指定正被處理的存儲(chǔ)器組的對(duì)應(yīng)寄存器,其中對(duì)應(yīng)寄存器里對(duì)應(yīng)于相同位置值的寄存器。在步驟T702中,由計(jì)數(shù)寄存器所指向的存儲(chǔ)器組a和b的寄存器被遞增。該步驟包括以上述的步進(jìn)的方式同時(shí)遞增對(duì)應(yīng)于相同位置值的數(shù)位的概念。步驟T703測試寄存器br是否已被遞增到其置位狀態(tài)。如果br處于其置位狀態(tài),方法繼續(xù)到步驟T704并且復(fù)位br到零,使得能發(fā)生進(jìn)一步的遞增。本方法的一個(gè)目的是遞增直到寄存器ar處于其置位狀態(tài)。步驟T705測試這個(gè)條件。如果ar處于不是其置位狀態(tài)的其他狀態(tài),方法返回到步驟T702并且執(zhí)行另一個(gè)遞增迭代。當(dāng)ar已經(jīng)遞增到其置位狀態(tài),存儲(chǔ)在對(duì)應(yīng)的寄存器br中的值表示所期望的差b-a中的一個(gè)數(shù)位。方法繼續(xù)到可選復(fù)位步驟T706并接著到步驟T707,其中計(jì)數(shù)寄存器被遞增以表示對(duì)存儲(chǔ)器組a和b的另一組對(duì)應(yīng)數(shù)位的處理的開始,或如果計(jì)數(shù)寄存器已經(jīng)遞增到其最終狀態(tài),就表示該方法的終止。步驟T708測試計(jì)數(shù)寄存器是否已到達(dá)其最終狀態(tài)。如果沒有,方法返回到步驟T702以根據(jù)本方法的目的處理存儲(chǔ)器組a和b的另一組對(duì)應(yīng)的寄存器。如果計(jì)數(shù)寄存器處于其最終狀態(tài),方法進(jìn)行到可選計(jì)數(shù)器復(fù)位步驟T709并且在步驟T710結(jié)束。輸出的讀取可在步驟T710完成。
另一個(gè)減法方法,SUBTRACT(b-a;a,b)在這里的圖10中示出。該方法操作分別存儲(chǔ)在存儲(chǔ)器組a和b的輸入數(shù)據(jù)值a和b,并返回差b-a,并且比上述的BASIC SUBTRACT更通用。SUBTRACT(b-a;a,b)的主線(步驟T800-T812)類似于上述的步驟T700-T710。為了在必要時(shí)實(shí)現(xiàn)一個(gè)借位過程,SUBTRACT(b-a;a,b)包括兩個(gè)支路循環(huán),一個(gè)由步驟T820-T821定義,另一個(gè)由步驟T830-T835、T840和T841定義。借位表示當(dāng)減去一個(gè)特定位置值的數(shù)位時(shí)利用來自次高位置值的數(shù)位的幫助。例如在基數(shù)為10的減法95-39中,借位對(duì)于最低位置值是需要的,因?yàn)椤?”在值上超過“5”。借位通過將第一減數(shù)的次高位置值數(shù)位減少1、將這個(gè)1轉(zhuǎn)換到其在較低位置值中的等效值并且把所轉(zhuǎn)換的位置值加到較低位置值數(shù)位而發(fā)生。在前面的例子中,95的“9”被減少1以得到一個(gè)“8”,在位置值10中的“1”被轉(zhuǎn)換成位置值1中的10并且被加到“5”以得到第一減數(shù)的最低位置值槽中的“15”。減法通過從“15”減去“9”(具有位置值1的減數(shù)“39”的數(shù)位)得到“6”而繼續(xù)。過程繼續(xù)到下一個(gè)位置值數(shù)位,并且如果需要的話實(shí)現(xiàn)進(jìn)一步的借位。在前面的例子中,進(jìn)一步的借位是不需要的,并且減法通過減去具有位置值10的對(duì)應(yīng)數(shù)位(即8-3)得到最終結(jié)果“56”而完成。
借位的需求可通過對(duì)于存儲(chǔ)在存儲(chǔ)器組a和b中的數(shù)字的對(duì)應(yīng)數(shù)位的相對(duì)值考慮三個(gè)可能的情況而確定。當(dāng)存儲(chǔ)器組b的一個(gè)數(shù)位br大于存儲(chǔ)器組a的對(duì)應(yīng)數(shù)位ar時(shí),差br-ar是正的,并且不需要借位。當(dāng)差br-ar是負(fù)的時(shí)需要借位,并且當(dāng)br=ar時(shí),可以需要也可不需要借位。當(dāng)br=ar時(shí)對(duì)于借位的需要可能依賴于對(duì)于具有較低位置值的數(shù)位是否需要借位,因?yàn)檫@樣的借位可起到減少br并且產(chǎn)生條件br<ar的作用,即使該條件不存在于原先列出的減法中。例如在減法2047-1032中,對(duì)于具有100的位置值的零不需要借位。然而在減法2047-1052中需要借位。
SUBTRACT(b-a;a,b)說明對(duì)于對(duì)應(yīng)數(shù)位br和ar的相對(duì)值的三種可能情況。主線(步驟T800-T812)說明br>ar的情況。包括步驟T820和T821的支路循環(huán)說明br=ar的情況,包括步驟T830-T835、T840和T841的支路循環(huán)說明br<ar的情況。步驟T800-T803類似于前述的步驟T700-T703。步驟T803控制通過主線和支路循環(huán)的計(jì)算的流。當(dāng)br>ar時(shí),寄存器br在對(duì)應(yīng)的寄存器ar之前遞增到其置位狀態(tài),并且方法僅通過步驟T803的“N0”支路前進(jìn)。在這種情況,重復(fù)步驟T802、T803和T804直到br被遞增至其復(fù)位狀態(tài),并且方法繼續(xù)到步驟T805,其中br復(fù)位到0,使得進(jìn)一步的遞增直到寄存器ar被轉(zhuǎn)換到其置位狀態(tài)才發(fā)生。步驟T806說明在寄存器br已經(jīng)被復(fù)位之后的遞增,并且步驟T807測試寄存器ar是否已經(jīng)遞增到其置位狀態(tài)。
直到ar處于其置位狀態(tài)才發(fā)生遞增,并且方法接著進(jìn)行到可選步驟T808以復(fù)位寄存器ar。因?yàn)槠谕臏p法結(jié)果對(duì)應(yīng)于存儲(chǔ)器b的內(nèi)容,步驟T808是可選的。
當(dāng)br=ar時(shí)(也就是當(dāng)對(duì)應(yīng)于存儲(chǔ)在存儲(chǔ)器組a和b中的原始數(shù)字的相同的位置值的數(shù)位相等時(shí)或當(dāng)借位產(chǎn)生存儲(chǔ)器組a和b中的對(duì)應(yīng)數(shù)位的相等時(shí))寄存器ar和br在相同的迭代中被遞增到其置位狀態(tài)。當(dāng)此發(fā)生時(shí),方法進(jìn)行到步驟T820并且繼續(xù)到步驟T821。當(dāng)寄存器ar已經(jīng)在步驟T803中被確定為處于其置位狀態(tài)時(shí),步驟T820測試寄存器br是否處于其置位狀態(tài)。當(dāng)br=ar時(shí),方法從步驟T820進(jìn)行到步驟T821,其中復(fù)位寄存器br和ar。ar和br的復(fù)位是可選的。但是復(fù)位br可能是優(yōu)選的,因?yàn)樵谕瓿稍摲椒〞r(shí)存儲(chǔ)器組b的內(nèi)容對(duì)應(yīng)于期望的減法結(jié)果,并且因?yàn)樵诒緦?shí)施例中復(fù)位狀態(tài)在形式上對(duì)應(yīng)于數(shù)位0。但是,替換的,在本方法的上下文中,寄存器br的置位狀態(tài)也可被解釋為0數(shù)位,因?yàn)樽罱K讀取復(fù)位狀態(tài)要求將復(fù)位狀態(tài)轉(zhuǎn)換到置位狀態(tài)。在步驟T821結(jié)束時(shí),方法返回到主線。
當(dāng)br<ar時(shí),需要借位。在這種情況下,寄存器ar在對(duì)應(yīng)的寄存器br之前遞增到其置位狀態(tài),并且方法從步驟T803進(jìn)行到步驟T820到步驟T830,T830是用于實(shí)現(xiàn)一個(gè)借位協(xié)議的支路循環(huán)的進(jìn)入點(diǎn)。步驟T830引入第二計(jì)數(shù)寄存器s并且將其初始值設(shè)置成計(jì)數(shù)寄存器r的當(dāng)前值。計(jì)數(shù)寄存器s是獨(dú)立于計(jì)數(shù)寄存器r的并且可以用于指向或指定不同于由計(jì)數(shù)寄存器r指向的寄存器的存儲(chǔ)器組的一個(gè)寄存器。
借位要求考慮在位置值中比在步驟T830中指向的寄存器高一級(jí)的對(duì)應(yīng)的寄存器??梢栽O(shè)想用于借位的兩個(gè)可能策略。在第一策略中,存儲(chǔ)器組b的更高的位置值數(shù)位減少1,并且通過給在步驟T830中指向的存儲(chǔ)器組b的寄存器加上10(或無論所使用的算術(shù)系統(tǒng)的基數(shù)的值是什么)來補(bǔ)償。在第二策略中,存儲(chǔ)器組a的更高的位置值數(shù)位遞增1,并且通過從在步驟T830中指向的存儲(chǔ)器組a的寄存器減去10(或無論所使用的算術(shù)系統(tǒng)的基數(shù)的值是什么)來補(bǔ)償。兩種策略都構(gòu)成本發(fā)明的實(shí)施例。后一種策略在圖10中描述的方法中實(shí)現(xiàn)并且在下面更全面的描述。
在步驟T830中,計(jì)數(shù)寄存器r和s兩者都指向預(yù)期需要借位的存儲(chǔ)器組a和b的對(duì)應(yīng)寄存器。當(dāng)方法到達(dá)步驟T830時(shí),寄存器ar處于其置位狀態(tài)。在步驟831,寄存器ar被復(fù)位。因?yàn)橹梦粻顟B(tài)超過對(duì)應(yīng)于最大可存儲(chǔ)數(shù)字的編程狀態(tài)一個(gè)遞增,其在借位的上下文中可被看作是對(duì)應(yīng)于算術(shù)系統(tǒng)的基數(shù)的值。例如如果該計(jì)算被應(yīng)用于基數(shù)為10的系統(tǒng)中的數(shù)字,在置位狀態(tài)之前緊接的編程狀態(tài)與一個(gè)“9”關(guān)聯(lián)并且置位狀態(tài)可被看作是“10”。當(dāng)在這個(gè)上下文中觀察時(shí),在步驟T831復(fù)位寄存器ar可被看作是將ar的值減少10。對(duì)該減少的補(bǔ)償可通過將具有一個(gè)比ar的位置值高1的位置值的寄存器遞增1。在步驟T832之前,計(jì)數(shù)寄存器s處于與計(jì)數(shù)器存器a相同的狀態(tài),并指向與在步驟T831復(fù)位的寄存器ar相同的寄存器as。在步驟T832中將計(jì)數(shù)寄存器s遞增1對(duì)應(yīng)于使計(jì)數(shù)寄存器s指向具有比在步驟T831復(fù)位的寄存器ar高1的位置值的寄存器。在步驟T833中,與s的遞增值關(guān)聯(lián)的寄存器被遞增1,以完成借位過程。
步驟T834說明特殊情況,其中在步驟T833中發(fā)生的遞增將寄存器轉(zhuǎn)換到其置位狀態(tài)。例如,在基數(shù)為10時(shí),當(dāng)其位置值比在步驟T831中置位的寄存器的位置值高1的寄存器存儲(chǔ)了一個(gè)“9”時(shí)出現(xiàn)這種情況。當(dāng)出現(xiàn)這種情況時(shí),需要將借位擴(kuò)展到其位置值比在步驟T833中置位的寄存器的位置值高一級(jí)的寄存器。必要的處理步驟開始于步驟T840,這是一個(gè)在該特殊情況下復(fù)位在步驟T833中置位的寄存器的步驟。在步驟T841中,在預(yù)期了跳過具有在步驟T840中復(fù)位的寄存器的位置值的存儲(chǔ)器組b的寄存器時(shí),計(jì)數(shù)存儲(chǔ)器r被遞增1。由步驟T841表示的跳過是需要的,因?yàn)橐坏┐鎯?chǔ)器組a的對(duì)應(yīng)寄存器被轉(zhuǎn)換成0,存儲(chǔ)器組b的對(duì)應(yīng)寄存器不需要被進(jìn)一步處理,因?yàn)槠涮幱趯?duì)于最后的減法結(jié)果所需要處于其中的狀態(tài)。在完成步驟T841時(shí),方法前進(jìn)回到用于另一個(gè)迭代的步驟T832。步驟T832將計(jì)數(shù)寄存器s遞增1以表示指向在次高位置值的對(duì)應(yīng)的寄存器。在步驟T833中,由計(jì)數(shù)寄存器s指向的存儲(chǔ)器組a的寄存器被遞增1以完成借位過程(現(xiàn)在是從預(yù)期的需要借的數(shù)位中移去的兩個(gè)數(shù)位)。再次遇到步驟T834時(shí),提供數(shù)位的進(jìn)一步移位,由此如果需要的兩個(gè)數(shù)位則通過分支“是”實(shí)現(xiàn)借位。在基數(shù)為10的情況下,每當(dāng)具有值“9”的一系列連續(xù)數(shù)位存在于減數(shù)a中時(shí)(例如當(dāng)b-a中的減數(shù)a是諸如29997這樣的數(shù)字時(shí)),重復(fù)移位需要用于實(shí)現(xiàn)借位的數(shù)位。一旦借位完成,該方法進(jìn)行到步驟T835,其中計(jì)數(shù)寄存器s是可選擇地被復(fù)位,以便如果在以后的迭代中需要的話,使其準(zhǔn)備好服務(wù)于進(jìn)一步的借位。
在完成步驟T808、T821或T835中的一個(gè)時(shí),該方法繼續(xù)到步驟T809,其中計(jì)數(shù)寄存器r被遞增1以表示或指定將被該方法處理的下一數(shù)位。在減法的情況下,優(yōu)選地以遞增的位置值的順序處理數(shù)位,使得r的初始值對(duì)應(yīng)于對(duì)具有“1”的位置值的數(shù)位的處理。r的下一個(gè)值對(duì)應(yīng)于對(duì)具有“10”的位置值的數(shù)位的處理等等。步驟T810測試計(jì)數(shù)寄存器r是否已到達(dá)其最終狀態(tài)并且安排方法執(zhí)行另一個(gè)迭代或由此而終止。
乘法在一個(gè)實(shí)施例中,乘法可通過重復(fù)應(yīng)用加法算法來完成。該實(shí)施例認(rèn)識(shí)到乘法只不過是重復(fù)多次的加法過程。例如3乘以5等效于加法3+3+3+3+3;即是五個(gè)3的相加??梢缘刃У貙⑵淇醋鳛槿齻€(gè)5的相加(5+5+5)。根據(jù)該實(shí)施例,乘法可通過完成適當(dāng)次數(shù)的加法過程來完成??珊苋菀椎卦O(shè)想該實(shí)施例的推廣。第一和第二乘法因子被分別提供并且對(duì)一個(gè)因子的重復(fù)相加是根據(jù)另一個(gè)因子完成的。如果第一因子被重復(fù)相加,則第二因子控制第一因子對(duì)自己相加的次數(shù)以實(shí)現(xiàn)乘法。特別地,加法運(yùn)算的數(shù)量比第二因子的數(shù)值小1。從上面的例子中,通過將3對(duì)應(yīng)于第一因子和將5對(duì)應(yīng)于第二因子來說明。因此,根據(jù)第二因子5重復(fù)地加3。如上所示,加法運(yùn)算的數(shù)量比5小1(注意四次加法運(yùn)算發(fā)生在3+3+3+3+3中)。
實(shí)現(xiàn)前面的實(shí)施例的名為BASIC MULTIPLY(ab;a;b)(基本加(ab;a;b))被包括在這里的圖11中。該方法將因子a和b作為輸入并產(chǎn)生積ab作為輸出。該方法開始于步驟T900,其可包括在多狀態(tài)相變材料適當(dāng)?shù)奈恢谩⒓拇嫫骰虼鎯?chǔ)器組中存儲(chǔ)因子a和b。編程狀態(tài)、編程區(qū)間和數(shù)值的分配也可在步驟T900中完成。存儲(chǔ)可包括提供足夠的能量以將相變材料轉(zhuǎn)換到與所存儲(chǔ)的數(shù)字關(guān)聯(lián)的編程狀態(tài)。在步驟T901初始化倍數(shù)寄存器m。倍數(shù)寄存器的目的是跟蹤其中一個(gè)因子自加的次數(shù)。倍數(shù)寄存器遞增的次數(shù)由沒有重復(fù)自加的因子確定。索引m被用于計(jì)數(shù)倍數(shù)并且確立了初始(minitial)和最終(mfinal)狀態(tài),使得在其初始和最終狀態(tài)之間遞增的次數(shù)比未被重復(fù)相加的因子的數(shù)值少1。
在這里的圖11中描述的實(shí)施例中,在步驟T902重復(fù)地加因子b,使得因子a用于建立倍數(shù)寄存器的初始和最終狀態(tài)。例如如果因子a等于3,則分隔倍數(shù)寄存器的初始和最終狀態(tài)的遞增次數(shù)將是2。在本例中,在對(duì)應(yīng)于m=minitial的迭代中,b+b=2b被計(jì)算,并且倍數(shù)寄存器m在步驟T903中遞增到m=minitial+1。步驟T904詢問倍數(shù)寄存器m是否已到達(dá)其最終狀態(tài)。在本例中,要求另外的迭代。繼續(xù)到對(duì)應(yīng)于m=minitial+1的迭代,2b+b=3b在步驟T902中被計(jì)算,并且倍數(shù)寄存器m在步驟T903中增加到m=minitial+2。由于在本例中a=3,已獲得期望的乘積ab=3b并且現(xiàn)在可進(jìn)行到可選倍數(shù)寄存器復(fù)位步驟T905,其中倍數(shù)寄存器被復(fù)位到其初始狀態(tài)或某一其他期望的起始狀態(tài)。注意,倍數(shù)寄存器已經(jīng)遞增了比本例的因子a的數(shù)值少1的次數(shù)。如果倍數(shù)寄存器由相變材料構(gòu)成,初始化步驟T901或可選復(fù)位步驟T905可包括將倍數(shù)寄存器轉(zhuǎn)換到其置位狀態(tài),之后進(jìn)一步施加能量以建立想要的初始或起始狀態(tài)。在步驟T906,其中因子b被存儲(chǔ)并重復(fù)相加的存儲(chǔ)器組或相變材料的部分被讀取以獲得輸出的乘積。
在一個(gè)優(yōu)選實(shí)施例中,倍數(shù)寄存器由相變材料構(gòu)成并且狀態(tài)mfinal對(duì)應(yīng)于置位狀態(tài)。在本實(shí)施例中,minitial被選擇成使得對(duì)數(shù)目比前例中的乘法因子a小1的編程脈沖或遞增區(qū)間的提供將倍數(shù)寄存器轉(zhuǎn)換到其置位狀態(tài)。
通過該方法的多次迭代,在步驟T902中的因子b的重復(fù)的相加可能產(chǎn)生對(duì)進(jìn)位的需要。當(dāng)需要進(jìn)位時(shí),可以如上述的ADD方法中描述的那樣完成之。
可利用單數(shù)位因子或多數(shù)位因子來使用BASIC MULTIPLY。當(dāng)因子b是多數(shù)位數(shù)字時(shí),加法步驟T902可以按一個(gè)寄存器一個(gè)寄存器的方式在b的各數(shù)位上完成。上述的諸如ADD或BASIC ADD之類的方法可用于完成一個(gè)寄存器一個(gè)寄存器地相加。
如果負(fù)責(zé)建立因子b的重復(fù)的加法的數(shù)量的因子a是很大的數(shù)字,則當(dāng)倍數(shù)寄存器包括相變材料時(shí),其可能超過對(duì)于倍數(shù)寄存器可用的編程狀態(tài)的數(shù)量??紤]在基數(shù)為10的系統(tǒng)中b=35和a=12的乘法,其中存儲(chǔ)器組的存儲(chǔ)器元件和倍數(shù)寄存器包括具有10個(gè)對(duì)應(yīng)于數(shù)位0-9的編程狀態(tài)的相變材料。在本例中,因子a=12大于對(duì)于單個(gè)倍數(shù)寄存器可用的編程狀態(tài)的數(shù)量。當(dāng)出現(xiàn)這種情況時(shí),乘法仍然通過重復(fù)的加法完成。但是需要例如利用因子a的每個(gè)數(shù)位或位置值的分離的倍數(shù)寄存器適當(dāng)?shù)卣f明加法重復(fù)的次數(shù)。例如在當(dāng)前的例子中,其中a=12,第一倍數(shù)寄存器為數(shù)位“2”定義,并且第二倍數(shù)寄存器可為數(shù)位“1”定義。但是這樣的方法需要跟蹤位置值。例如,必須認(rèn)識(shí)道存儲(chǔ)在第二倍數(shù)寄存器中的“1”對(duì)應(yīng)于在第一倍數(shù)寄存器中的“10”。
可以有說明位置值的幾種方法。在一個(gè)簡單的實(shí)施例中,次級(jí)倍數(shù)寄存器或次級(jí)倍數(shù)寄存器組可被建立以為乘法因子a中的更高的位置值數(shù)位跟蹤合適的加法數(shù)量。例如在乘法因子a=12的前例中,具有位置值10的數(shù)位1要求包含9(10-1)個(gè)加法步驟,這類似于步驟T902。該9個(gè)加法可通過對(duì)于每次加法將次級(jí)倍數(shù)寄存器遞增1、并且在次級(jí)倍數(shù)寄存器已經(jīng)遞增了9次之后終止來解決。這個(gè)程序也可用于為乘法因子a中的更高位置值的數(shù)位要求的任何次數(shù)的重復(fù)加法。在本實(shí)施例中,次級(jí)倍數(shù)寄存器或寄存器組可對(duì)于每次加法遞增1,并且當(dāng)存儲(chǔ)在次級(jí)倍數(shù)寄存器或寄存器組中的數(shù)字比乘法因子a小1時(shí)終止加法。終止條件可通過比較乘法因子a的值與比存儲(chǔ)在次級(jí)倍數(shù)寄存器或寄存器組的值大1的值而被測試。實(shí)現(xiàn)該比較的一個(gè)方式是以一個(gè)一個(gè)的方式遞增存儲(chǔ)乘法因子a的存儲(chǔ)器組和所述倍數(shù)寄存器或寄存器組,其中在開始比較之前已將倍數(shù)寄存器或寄存器組遞增1。當(dāng)存儲(chǔ)乘法因子a的存儲(chǔ)器組的對(duì)應(yīng)寄存器和倍數(shù)寄存器或寄存器組(在比較之前已遞增1)在相同的迭代期間都轉(zhuǎn)換到置位狀態(tài),則已完成正確數(shù)量的加法。
說明位置值的另一個(gè)方法是移位。移位后面的策略是根據(jù)數(shù)位的位置值增加由乘法因子a中的更高位置值的數(shù)位確定的簡單求和的各數(shù)位的位置值。例如在前面的b=35和a=12的例子中,在乘法因子a中的數(shù)位1可通過取b的一倍并且接著將其的每一數(shù)位移位到一個(gè)更高的位置值而被包括。b的一倍為35。移位到高一級(jí)的位置值將35轉(zhuǎn)換到350。最后的結(jié)果350表示在乘法因子a=12中的數(shù)位“1”對(duì)所期望的乘法結(jié)果的貢獻(xiàn)。通過將350(a=12中的數(shù)位“1”的貢獻(xiàn))加到70(35+35;a=12中的數(shù)位“2”的貢獻(xiàn)),得到最后的乘法結(jié)果??衫萌魏挝恢弥档臄?shù)位來使用該移位方法。例如在本實(shí)施例中百位需要通過將位置值向上移位兩步。與在這里的圖11中描述的BASIC MULTIPLY方法結(jié)合的移位方法提供根據(jù)乘法因子a的多數(shù)位的、一個(gè)寄存器一個(gè)寄存器的乘法因子b的重復(fù)的加法。對(duì)于乘法因子a的每個(gè)數(shù)位,重復(fù)的加法可根據(jù)BASIC MULTIPLY來完成,并且根據(jù)位置值被位移以便說明乘法因子a的每個(gè)數(shù)位對(duì)所期望的乘法結(jié)果的貢獻(xiàn)。所期望的乘法結(jié)果最終可通過對(duì)乘法因子a的所有數(shù)位的貢獻(xiàn)求和來得到。
除法在一個(gè)實(shí)施例中,除法被看作是重復(fù)從被除數(shù)減去除數(shù)直到被除數(shù)減少到0或0到除數(shù)的一倍之內(nèi)。這一實(shí)施例與上述乘法的重復(fù)加法的概念類似。與重復(fù)加法不同,重復(fù)減法頻繁遇到其中被除數(shù)不是除數(shù)的整數(shù)倍的情況。只有那些作為一個(gè)特定被除數(shù)的因子的那些除數(shù)可被平均分到該被除數(shù)中。重復(fù)減去作為被除數(shù)的因子的除數(shù)可將被除數(shù)減少到0。相反,重復(fù)減去不是被除數(shù)的因子的除數(shù)不能將被除數(shù)減少到0。用不是被除數(shù)的因子去除被除數(shù)的除法的結(jié)果包括一個(gè)整數(shù)和一個(gè)余數(shù),或等效地一個(gè)整數(shù)或一個(gè)分?jǐn)?shù)(或其十進(jìn)制等效物)。例如被除數(shù)13除以除數(shù)3導(dǎo)致4以及余數(shù)1或4以及分?jǐn)?shù)1/3。
通過重復(fù)減法完成除發(fā)的方法BASIC DIVIDE(b/a;a,b)在圖12中示出。該方法接受一個(gè)被除數(shù)b、一個(gè)除數(shù)a并給出除法結(jié)果b/a。該方法開始于步驟T950,其可包括將被除數(shù)和除數(shù)存儲(chǔ)到包括相變材料的存儲(chǔ)器組。在方法的開始處,被除數(shù)b存在于或被存儲(chǔ)到存儲(chǔ)器組b并且除數(shù)a存在于或被存儲(chǔ)到存儲(chǔ)器組a。編程狀態(tài)、編程區(qū)間和數(shù)值的分配也可在步驟T950中完成。存儲(chǔ)可包括提供足夠的能量以將相變材料轉(zhuǎn)換到與所存儲(chǔ)的數(shù)字關(guān)聯(lián)的編程狀態(tài)。在步驟T951初始化倍數(shù)寄存器。倍數(shù)寄存器的目的是對(duì)從被除數(shù)b減去除數(shù)a的次數(shù)進(jìn)行計(jì)數(shù)。步驟T952是比較步驟,確定是否要從被除數(shù)b減去除數(shù)a。當(dāng)被除數(shù)b大于除數(shù)a,從b進(jìn)一步減去a而不產(chǎn)生負(fù)數(shù)是可能的。當(dāng)除數(shù)a從被除數(shù)b被減去足夠的次數(shù)后,b變得比a小。此時(shí),不期望進(jìn)一步的減法并且存儲(chǔ)在存儲(chǔ)器組b的值對(duì)應(yīng)于除法結(jié)果的余數(shù)部分。
如果b大于a,方法從步驟T952前進(jìn)到步驟T953,執(zhí)行從b減去除數(shù)a的減法。當(dāng)完成步驟T953時(shí),除數(shù)a的值沒有被改變,然而被除數(shù)b的值被減少了。在圖12的實(shí)施例中,減法結(jié)果b-a在存儲(chǔ)器組b中完成。在另一個(gè)存儲(chǔ)器組中完成減法、同時(shí)在存儲(chǔ)器組b中保留原始的b值同樣是可行的。步驟T953的減法可通過利用如上述的BASICSUBTRACT和SUBTRACT之類的方法或等效方法而完成。在完成步驟T953時(shí),方法進(jìn)行到步驟T954,其中倍數(shù)寄存器可被遞增1以表示完成從b減去一次a。方法返回到步驟T952并再次測試b是否大于a。如果b大于a,方法重復(fù)步驟T953和T954。
通過步驟T953和T954的迭代繼續(xù)直到b不再大于a。在計(jì)算中的此刻,方法從步驟T952前進(jìn)到步驟T955以測試是否b=a。如果b=a,除數(shù)a是原始被除數(shù)的因子,并且方法進(jìn)行到步驟T956,其中b被設(shè)置為等于0。步驟T956可通過直接將存儲(chǔ)器組b設(shè)置成0或通過再次執(zhí)行b-a來完成。當(dāng)完成步驟T956時(shí),方法進(jìn)行到步驟T957,其中倍數(shù)寄存器被遞增1并接著到步驟T958。如果在步驟T955發(fā)現(xiàn)b不等于0,該方法還進(jìn)行到步驟T958。在步驟T958中,存儲(chǔ)在存儲(chǔ)器組b中的當(dāng)前值被確定。當(dāng)通過重復(fù)地從b減去a而產(chǎn)生了b<a的條件時(shí),存儲(chǔ)在存儲(chǔ)器組b中的值對(duì)應(yīng)于期望的除法結(jié)果的余數(shù)。如果除數(shù)a被發(fā)現(xiàn)是原始被除數(shù)的因子,b的值在步驟T958確定為0。T959確定倍數(shù)寄存器m的最終值。該值提供除數(shù)已經(jīng)從原始被除數(shù)b中被減去的次數(shù),以及當(dāng)與余數(shù)組合時(shí),提供除法問題b/a的解。如果倍數(shù)寄存器的初始值minitial是0,在步驟T959中確定的最終值直接提供包含在原始被除數(shù)b中的除數(shù)的倍數(shù)。如果m的初始值不是0,則m的初始和最終值之間的差給出包含在原始被除數(shù)b中的除數(shù)的倍數(shù)。在一個(gè)優(yōu)選的實(shí)施例中,minitial是0。
比較步驟T952可用幾種方式完成。簡單的比較測試將比較存在于存儲(chǔ)器組b中的先行零的數(shù)量和存在于存儲(chǔ)器組a中的先行零的數(shù)量。如果存儲(chǔ)器組a包含比存儲(chǔ)器組b更多的先行零,則存儲(chǔ)在存儲(chǔ)器組b的值大于存儲(chǔ)在存儲(chǔ)器組a的值并且方法應(yīng)進(jìn)行到步驟T953。先行零的數(shù)量可通過讀取存儲(chǔ)器組a和b的各個(gè)寄存器和測試0的存在來確定。優(yōu)選地,讀取寄存器按照遞減的寄存器位置值來進(jìn)行。一旦遇到非先行零數(shù)位,就容易地確定先行零的數(shù)量。如果置位狀態(tài)被選擇為對(duì)應(yīng)于0,讀取寄存器可通過簡單的電阻測量來完成。如果復(fù)位狀態(tài)被選擇為0,寄存器必須遞增到置位狀態(tài)。如果編程脈沖或遞增區(qū)間的數(shù)量對(duì)應(yīng)于寄存器可能的最大數(shù)字,可以得出寄存器初始地處于復(fù)位狀態(tài)并存儲(chǔ)0的結(jié)論。
當(dāng)出現(xiàn)在存儲(chǔ)器組b和a中的先行零的數(shù)量相等時(shí),或者如果優(yōu)選了替換的比較方法,也可能實(shí)現(xiàn)存在于存儲(chǔ)器組b和a中的值的直接比較。一個(gè)直接比較方法包括以一個(gè)一個(gè)的方式遞增存儲(chǔ)器組b和a,直到兩個(gè)存儲(chǔ)器組的其中一個(gè)被轉(zhuǎn)換到其置位狀態(tài)。在同時(shí)遞增的情況下,首先轉(zhuǎn)換到其置位狀態(tài)的存儲(chǔ)器組對(duì)應(yīng)于存儲(chǔ)較大數(shù)字的存儲(chǔ)器組。例如如果存儲(chǔ)器組b存儲(chǔ)7并且存儲(chǔ)器組a存儲(chǔ)4,則在同時(shí)遞增時(shí),存儲(chǔ)器組b將首先被轉(zhuǎn)換到其置位狀態(tài),自然也對(duì)應(yīng)于較大的數(shù)字??稍O(shè)計(jì)類似的測試,其中存儲(chǔ)器組b和a在兩個(gè)或更多的寄存器中包括非零位。
優(yōu)選地在具有最高位置值的不存儲(chǔ)0的寄存器處初始化比較。在此優(yōu)選的實(shí)施例中,如果存儲(chǔ)器組b和a包含存儲(chǔ)非先行零數(shù)位的不同數(shù)量的寄存器,則測試單個(gè)寄存器允許確定b是否大于a。當(dāng)存儲(chǔ)器組b和a包括相同數(shù)量的先行零寄存器時(shí),比較存儲(chǔ)器組a和b的具有最高位置值的非先行零寄存器允許確定b是否大于a,只要在存儲(chǔ)器組a和b中存儲(chǔ)的數(shù)字的最高位置值的數(shù)位具有不同的數(shù)值。如果它們具有相同的值,比較測試?yán)^續(xù)到存儲(chǔ)器組a和b的具有次高位置值的寄存器,并重復(fù)直到確定究竟是存儲(chǔ)器組a還是b存儲(chǔ)了最大的數(shù)值。該程序也可用于確定b是否等于a。如果存儲(chǔ)在存儲(chǔ)器組a和b中的數(shù)字的所有對(duì)應(yīng)數(shù)位都相等,那么b=a并且步驟T955的條件得到滿足。
這里所闡述的公開內(nèi)容是示例性的而不打算限制本發(fā)明的實(shí)踐。許多等效實(shí)施例及其變型(包括在公開的計(jì)算方法中的某些步驟的順序的顯然的置換)并被看作是落在本發(fā)明的范圍內(nèi)。下面的權(quán)利要求書(包括所有的等效條款)結(jié)合了前面的公開內(nèi)容限定了本發(fā)明的范圍。
權(quán)利要求
1.一種計(jì)算方法,包括步驟提供一個(gè)存儲(chǔ)器組,所述存儲(chǔ)器組具有一個(gè)或多個(gè)寄存器,所述寄存器包括數(shù)字多狀態(tài)相變材料,所述相變材料具有多個(gè)狀態(tài),所述狀態(tài)包括復(fù)位狀態(tài);通過施加對(duì)應(yīng)于所述復(fù)位狀態(tài)的置位能量的能量數(shù)量而從所述復(fù)位狀態(tài)可得到的置位狀態(tài),所述置位狀態(tài)具有比所述復(fù)位狀態(tài)更低的電阻;以及一個(gè)或多個(gè)具有基本上與所述復(fù)位狀態(tài)相同電阻的中間狀態(tài),所述一個(gè)或多個(gè)中間狀態(tài)可以通過施加比所述復(fù)位狀態(tài)的所述置位能量少的能量數(shù)量而從所述復(fù)位狀態(tài)得到;通過將能量提供給所述一個(gè)或多個(gè)寄存器以實(shí)現(xiàn)所述寄存器的所述多個(gè)狀態(tài)中的一個(gè)或多個(gè)之間的轉(zhuǎn)換,從而執(zhí)行一個(gè)從由加、減、乘和除組成的組中選擇的數(shù)學(xué)運(yùn)算。
2.權(quán)利要求1的方法,其中所述數(shù)學(xué)運(yùn)算可從由減、乘和除組成的組中選擇。
3.權(quán)利要求1的方法,其中所述數(shù)學(xué)運(yùn)算以非二進(jìn)制的方式完成。
4.權(quán)利要求1的方法,其中所述相變材料包括從由In、Ag、Te、Se、Ge、Sb、Bi、Pb、Sn、As、S、Si、P、O組成的組中選擇的一種或多種元素及其混合物或其合金。
5.權(quán)利要求1的方法,其中所述相變材料包括Ge和硫族元素。
6.權(quán)利要求5的方法,其中所述相變材料進(jìn)一步包括Sb。
7.權(quán)利要求1的方法,其中所述相變材料包括至少一種硫族元素和至少一種過渡金屬元素。
8.權(quán)利要求7的方法,其中所述至少一種硫族元素是Te和Se兩者的混合物。
9.權(quán)利要求7的方法,其中所述至少一種過渡金屬元素從由Cr、Fe、Ni、Nb、Pd、Pt及其混合物或其合金組成的組中選擇。
10.權(quán)利要求1的方法,其中所述相變材料具有從所述多個(gè)狀態(tài)選擇的一個(gè)或多個(gè)編程狀態(tài),所述編程狀態(tài)具有被分配給它們的數(shù)值,每個(gè)所述編程狀態(tài)可以通過施加不超過所述置位能量的能量數(shù)量而從所述復(fù)位狀態(tài)得到,所述編程能量表示與對(duì)應(yīng)于所述編程能量的編程狀態(tài)關(guān)聯(lián)的數(shù)值。
11.權(quán)利要求10的方法,其中所述執(zhí)行步驟包括在所述相變材料中存儲(chǔ)一個(gè)或多個(gè)數(shù)字,所述存儲(chǔ)包括將所述相變材料的一個(gè)或多個(gè)部分轉(zhuǎn)換到與所述一個(gè)或多個(gè)數(shù)字關(guān)聯(lián)的編程狀態(tài)。
12.權(quán)利要求10的方法,其中所述編程狀態(tài)包括所述一個(gè)或多個(gè)中間狀態(tài)中的至少一個(gè)。
13.權(quán)利要求10的方法,其中所述編程狀態(tài)包括所述復(fù)位狀態(tài)。
14.權(quán)利要求13的方法,其中被分配給所述復(fù)位狀態(tài)的數(shù)值是0。
15.權(quán)利要求10的方法,其中所述編程狀態(tài)包括所述置位狀態(tài)。
16.權(quán)利要求15的方法,其中被分配給所述置位狀態(tài)的數(shù)值是0。
17.權(quán)利要求10的方法,其中所述編程狀態(tài)的每一個(gè)的編程能量正比于被分配給所述編程狀態(tài)的數(shù)值。
18.權(quán)利要求10的方法,其中所述編程狀態(tài)按能量等分。
19.權(quán)利要求10的方法,其中所述數(shù)值是連續(xù)整數(shù)。
20.權(quán)利要求19的方法,其中所述連續(xù)整數(shù)以編程能量增加的順序與所述編程狀態(tài)關(guān)聯(lián)。
21.權(quán)利要求10的方法,其中在所述執(zhí)行步驟中提供的所述能量包括將所述相變材料從一個(gè)所述編程狀態(tài)轉(zhuǎn)換到另一個(gè)所述編程狀態(tài)所需的能量。
22.權(quán)利要求1的方法,其中在所述執(zhí)行步驟中提供的所述能量以電能的形式提供。
23.權(quán)利要求22的方法,其中所述電能是一個(gè)或多個(gè)電流脈沖的形式。
24.權(quán)利要求23的方法,其中所述一個(gè)或多個(gè)電流脈沖是等能量的。
25.權(quán)利要求1的方法,其中所述執(zhí)行步驟包括在所述相變材料中存儲(chǔ)一個(gè)數(shù)字。
26.權(quán)利要求25的方法,其中所述存儲(chǔ)器組的所述寄存器中的每一個(gè)對(duì)應(yīng)于一個(gè)不同的位置值。
27.權(quán)利要求26的方法,其中所述數(shù)字的每個(gè)數(shù)位被存儲(chǔ)在對(duì)應(yīng)于所述數(shù)位的位置值的所述存儲(chǔ)器組的寄存器中。
28.權(quán)利要求1的方法,其中所述執(zhí)行步驟包括在所述相變材料中存儲(chǔ)多個(gè)數(shù)字。
29.對(duì)具有多個(gè)狀態(tài)的數(shù)字多狀態(tài)相變材料進(jìn)行編程的方法,所述狀態(tài)包括復(fù)位狀態(tài);通過施加對(duì)應(yīng)于所述復(fù)位狀態(tài)的置位能量的能量數(shù)量而從所述復(fù)位狀態(tài)可得到的置位狀態(tài),所述置位狀態(tài)具有比所述復(fù)位狀態(tài)更低的電阻;以及一個(gè)或多個(gè)具有基本上與所述復(fù)位狀態(tài)相同電阻的中間狀態(tài),所述一個(gè)或多個(gè)中間狀態(tài)通過施加比所述復(fù)位狀態(tài)的所述置位能量更少的能量數(shù)量而從所述復(fù)位狀態(tài)得到,所述方法包括建立一個(gè)編程策略,所述編程策略包括為各所述相變材料定義編程狀態(tài),所述定義編程狀態(tài)包括將數(shù)據(jù)值分配給所述編程狀態(tài),所述編程狀態(tài)可通過施加表征所述數(shù)據(jù)值的編程能量給所述相變材料的所述復(fù)位狀態(tài)而得到,所述編程能量沒有超過所述復(fù)位狀態(tài)的所述置位能量,提供輸入數(shù)據(jù),所述輸入數(shù)據(jù)具有一個(gè)值;和把足夠?qū)⑺鱿嘧儾牧限D(zhuǎn)換到與所述輸入數(shù)據(jù)值關(guān)聯(lián)的編程狀態(tài)的能量數(shù)量提供給所述相變材料。
30.權(quán)利要求29的方法,其中所述輸入數(shù)據(jù)是一個(gè)數(shù)字。
31.權(quán)利要求30的方法,其中連續(xù)整數(shù)值被分配給所述編程狀態(tài)。
32.權(quán)利要求31的方法,其中所述連續(xù)整數(shù)值以所述編程能量增加的順序被分配給所述編程狀態(tài)。
33.權(quán)利要求31的方法,其中最小的所述連續(xù)整數(shù)值是0。
34.權(quán)利要求30的方法,其中所述編程狀態(tài)包括所述復(fù)位狀態(tài)。
35.權(quán)利要求34的方法,其中所述值0與所述復(fù)位狀態(tài)關(guān)聯(lián)。
36.權(quán)利要求30的方法,其中所述編程狀態(tài)包括所述置位狀態(tài)。
37.權(quán)利要求36的方法,其中所述值0與所述置位狀態(tài)關(guān)聯(lián)。
38.權(quán)利要求30的方法,其中編程狀態(tài)的數(shù)量等于在其中表示所述數(shù)字的算術(shù)系統(tǒng)的基數(shù)。
39.權(quán)利要求30的方法,其中編程狀態(tài)的數(shù)量等于10或2的倍數(shù)。
40.權(quán)利要求29的方法,其中所述編程狀態(tài)用統(tǒng)一的能量區(qū)間分割。
41.權(quán)利要求29的方法,其中所述提供能量的步驟通過以能量脈沖的形式提供能量來完成。
42.權(quán)利要求29的方法,其中所述提供能量的步驟通過以電能的形式提供能量來完成。
43.權(quán)利要求42的方法,其中所述電能以電壓的形式提供。
44.權(quán)利要求42的方法,其中所述電能以電流的形式提供。
45.權(quán)利要求29的方法,其中所述提供能量的步驟通過以光能的形式提供能量來完成。
46.權(quán)利要求29的方法,其中所述提供能量的步驟通過以熱能的形式提供能量來完成。
47.權(quán)利要求29的方法,其中所述相變材料包括從由Te、Se、Ge、Sb、Bi、Pb、Sn、As、S、Si、P、O組成的組中選擇的一種或多種元素及其混合物或其合金。
48.權(quán)利要求29的方法,其中所述相變材料包括至少一種硫族元素和至少一種過渡金屬元素。
49.權(quán)利要求48的方法,其中所述至少一種氧族元素是Te和Se兩者的混合物。
50.權(quán)利要求48的方法,其中所述至少一種過渡金屬元素從由Cr、Fe、Ni、Nb、Pd、Pt及其混合物或其合金組成的組中選擇。
51.一種復(fù)位方法,包括步驟提供一個(gè)具有一個(gè)或多個(gè)寄存器的存儲(chǔ)器組,所述寄存器包括數(shù)字多狀態(tài)相變材料,所述相變材料具有多個(gè)狀態(tài),所述狀態(tài)包括復(fù)位狀態(tài);通過施加對(duì)應(yīng)于所述復(fù)位狀態(tài)的置位能量的能量數(shù)量而從所述復(fù)位狀態(tài)可得到的置位狀態(tài),所述置位狀態(tài)具有比所述復(fù)位狀態(tài)更低的電阻;以及一個(gè)或多個(gè)具有基本上與所述復(fù)位狀態(tài)相同電阻的中間狀態(tài),所述一個(gè)或多個(gè)中間狀態(tài)可以通過施加比所述復(fù)位狀態(tài)的所述置位能量更少的能量數(shù)量而從所述復(fù)位狀態(tài)得到;提供一個(gè)包括所述數(shù)字多狀態(tài)相變材料的計(jì)數(shù)寄存器,所述計(jì)數(shù)寄存器具有多個(gè)編程狀態(tài),所述編程狀態(tài)可以通過施加在數(shù)量上沒有超過所述計(jì)數(shù)寄存器的所述復(fù)位狀態(tài)的置位能量的編程能量而從所述計(jì)數(shù)寄存器的復(fù)位狀態(tài)得到,所述編程狀態(tài)的數(shù)量大于或等于不處于所述復(fù)位狀態(tài)的所述存儲(chǔ)器組的寄存器的數(shù)量;把所述計(jì)數(shù)寄存器分配給所述存儲(chǔ)器組,所述分配包括為不處于所述復(fù)位狀態(tài)的所述存儲(chǔ)器組的所述寄存器指定一個(gè)不同的所述編程狀態(tài),由此不處于所述復(fù)位狀態(tài)的所述存儲(chǔ)器組的所述寄存器的每一個(gè)與一個(gè)不同的所述指定的編程狀態(tài)關(guān)聯(lián);定義所述計(jì)數(shù)寄存器的初始編程狀態(tài),所述初始編程狀態(tài)對(duì)應(yīng)于所指定的具有最低編程能量的編程狀態(tài);定義所述計(jì)數(shù)寄存器的最終編程狀態(tài),所述最終編程狀態(tài)對(duì)應(yīng)于所指定的具有最高編程能量的編程狀態(tài);初始化所述計(jì)數(shù)寄存器,所述初始化包括提供足夠?qū)⑺鲇?jì)數(shù)寄存器轉(zhuǎn)換到所述初始編程狀態(tài)的能量;當(dāng)所述計(jì)數(shù)寄存器處于不同于所述最終編程狀態(tài)的所指定的編程狀態(tài)時(shí),迭代地執(zhí)行下列步驟a-ca.提供在數(shù)量上足夠?qū)⑺龃鎯?chǔ)器組的所述關(guān)聯(lián)的寄存器轉(zhuǎn)換到其置位狀態(tài)的能量給與所述計(jì)數(shù)寄存器的所指定的編程狀態(tài)關(guān)聯(lián)的所述存儲(chǔ)器組的寄存器;b.提供復(fù)位能量給所述存儲(chǔ)器組的所述關(guān)聯(lián)的寄存器,所述復(fù)位能量足以將所述關(guān)聯(lián)的寄存器從其置位狀態(tài)轉(zhuǎn)換到其復(fù)位狀態(tài);c.遞增所述計(jì)數(shù)寄存器,所述遞增包括施加將所述計(jì)數(shù)寄存器轉(zhuǎn)換到不同的所指定編程狀態(tài)所需的最小數(shù)量的能量遞增;提供在數(shù)量上足夠?qū)⑴c所述最終編程狀態(tài)關(guān)聯(lián)的所述存儲(chǔ)器組的所述寄存器轉(zhuǎn)換到其置位狀態(tài)的能量給與所述計(jì)數(shù)寄存器的所述最終編程狀態(tài)關(guān)聯(lián)的所述存儲(chǔ)器組的寄存器;提供復(fù)位能量給與所述最終編程狀態(tài)關(guān)聯(lián)的所述存儲(chǔ)器組的所述寄存器,以將與所述最終編程狀態(tài)關(guān)聯(lián)的所述存儲(chǔ)器組的所述寄存器從其置位狀態(tài)轉(zhuǎn)換到其復(fù)位狀態(tài);
52.權(quán)利要求51的方法,其中所述分配步驟還包括為處于所述復(fù)位狀態(tài)的所述存儲(chǔ)器組的所述寄存器指定一個(gè)不同的所述編程狀態(tài),由此所述存儲(chǔ)器組的所述寄存器的每一個(gè)與一個(gè)不同的所述指定的編程狀態(tài)關(guān)聯(lián)。
53.權(quán)利要求51的方法,其中所述指定的編程狀態(tài)用統(tǒng)一的能量區(qū)間分割。
54.權(quán)利要求53的方法,其中所述計(jì)數(shù)寄存器的置位狀態(tài)用所述統(tǒng)一的能量區(qū)間從所述計(jì)數(shù)寄存器的所述最終編程狀態(tài)分割。
55.權(quán)利要求51的方法,其中所述最終編程狀態(tài)是所述計(jì)數(shù)寄存器的置位狀態(tài)。
56.權(quán)利要求51的方法,其中所述計(jì)數(shù)寄存器的編程狀態(tài)的數(shù)量等于所述存儲(chǔ)器組中的寄存器的數(shù)量。
57.一種加法方法,包括步驟提供具有多個(gè)狀態(tài)的數(shù)字多狀態(tài)相變材料,所述狀態(tài)包括復(fù)位狀態(tài);通過施加對(duì)應(yīng)于所述復(fù)位狀態(tài)的置位能量的能量數(shù)量而從所述復(fù)位狀態(tài)可得到的置位狀態(tài),所述置位狀態(tài)具有比所述復(fù)位狀態(tài)更低的電阻;以及一個(gè)或多個(gè)具有基本上與所述復(fù)位狀態(tài)相同電阻的中間狀態(tài),所述一個(gè)或多個(gè)中間狀態(tài)可以通過施加比所述復(fù)位狀態(tài)的所述置位能量更少的能量數(shù)量而從所述復(fù)位狀態(tài)得到;在所述相變材料的第一部分中存儲(chǔ)第一個(gè)數(shù)字,所述存儲(chǔ)第一個(gè)數(shù)字包括提供表征所述第一個(gè)數(shù)字的能量給所述相變材料的所述第一部分,提供表征第二個(gè)數(shù)字的能量給所述相變材料。
58.權(quán)利要求57的方法,其中所述存儲(chǔ)步驟包括提供對(duì)應(yīng)于所述第一個(gè)數(shù)字的能量給所述相變材料的所述第一部分的復(fù)位狀態(tài)。
59.權(quán)利要求58的方法,其中對(duì)應(yīng)于所述第一個(gè)數(shù)字的所述能量正比于所述第一個(gè)數(shù)字的數(shù)值。
60.權(quán)利要求57的方法,其中提供表征第二個(gè)數(shù)字的能量的步驟包括提供對(duì)應(yīng)于所述第二個(gè)數(shù)字的能量給所述相變材料的復(fù)位狀態(tài)。
61.權(quán)利要求60的方法,其中對(duì)應(yīng)于所述第二個(gè)數(shù)字的所述能量正比于所述第二個(gè)數(shù)字的數(shù)值。
62.權(quán)利要求57的方法,其中表征所述第二個(gè)數(shù)字的能量被提供給所述相變材料的所述第一部分。
63.一種加法方法,包括步驟提供具有多個(gè)狀態(tài)的數(shù)字多狀態(tài)相變材料,所述狀態(tài)包括復(fù)位狀態(tài);通過施加對(duì)應(yīng)于所述復(fù)位狀態(tài)的置位能量的能量數(shù)量而從所述復(fù)位狀態(tài)可得到的置位狀態(tài),所述置位狀態(tài)具有比所述復(fù)位狀態(tài)更低的電阻;以及一個(gè)或多個(gè)具有基本上與所述復(fù)位狀態(tài)相同電阻的中間狀態(tài),所述一個(gè)或多個(gè)中間狀態(tài)可以通過施加比所述復(fù)位狀態(tài)的所述置位能量更少的能量數(shù)量而從所述復(fù)位狀態(tài)得到;為所述相變材料定義編程狀態(tài),所述編程狀態(tài)從所述多個(gè)狀態(tài)中選擇,所述編程狀態(tài)具有編程能量,所述編程能量對(duì)應(yīng)于將所述相變材料從其復(fù)位狀態(tài)轉(zhuǎn)換到所述編程狀態(tài)所要求的能量數(shù)量;所述編程能量不超過所述復(fù)位狀態(tài)的置位能量;分配數(shù)值給所述編程狀態(tài);在所述相變材料的第一部分中存儲(chǔ)第一個(gè)數(shù)字,所述存儲(chǔ)第一個(gè)數(shù)字包括提供在數(shù)量上足夠?qū)⑺鱿嘧儾牧系乃龅谝徊糠洲D(zhuǎn)換到與所述第一個(gè)數(shù)字的數(shù)值關(guān)聯(lián)的編程狀態(tài)的能量,提供表征第二個(gè)數(shù)字的能量給所述相變材料。
64.權(quán)利要求63的方法,其中所述數(shù)值隨所述編程狀態(tài)的編程能量增加而增加。
65.權(quán)利要求63的方法,其中所述數(shù)值正比于所述編程狀態(tài)的編程能量。
66.權(quán)利要求63的方法,其中所述數(shù)值是從0開始的連續(xù)整數(shù)。
67.權(quán)利要求63的方法,其中所述數(shù)值0被分配給所述相變材料的所述置位狀態(tài)。
68.權(quán)利要求63的方法,其中表征所述第二個(gè)數(shù)字的能量是將所述相變材料轉(zhuǎn)換到與所述第二個(gè)數(shù)字的數(shù)值關(guān)聯(lián)的編程狀態(tài)所需的能量。
69.權(quán)利要求63的方法,其中所述提供表征所述第二個(gè)數(shù)字的能量步驟包括在所述相變材料的第二個(gè)部分中存儲(chǔ)所述第二個(gè)數(shù)字,所述存儲(chǔ)包括將所述相變材料的所述第二部分轉(zhuǎn)換到與所述第二個(gè)數(shù)字的數(shù)值關(guān)聯(lián)的編程狀態(tài)。
70.權(quán)利要求69的方法,還包括步驟提供第一置位能量給所述相變材料的所述第一個(gè)部分,所述第一置位能量實(shí)現(xiàn)將所述相變材料的所述第一個(gè)部分從與所述第一個(gè)數(shù)字的數(shù)值關(guān)聯(lián)的編程狀態(tài)轉(zhuǎn)換到其置位狀態(tài);將所述第一置位能量提供給所述相變材料的第三個(gè)部分的復(fù)位狀態(tài);提供第二置位能量給所述相變材料的所述第三個(gè)部分,所述第二置位能量實(shí)現(xiàn)將所述相變材料的所述第三個(gè)部分轉(zhuǎn)換到其置位狀態(tài);將所述第二置位能量提供給所述相變材料的所述第二個(gè)部分。
71.一種加法方法,包括步驟提供具有多個(gè)狀態(tài)的數(shù)字多狀態(tài)相變材料,所述狀態(tài)包括復(fù)位狀態(tài);通過施加對(duì)應(yīng)于所述復(fù)位狀態(tài)的置位能量的能量數(shù)量而從所述復(fù)位狀態(tài)可得到的置位狀態(tài),所述置位狀態(tài)具有比所述復(fù)位狀態(tài)更低的電阻;以及一個(gè)或多個(gè)具有基本上與所述復(fù)位狀態(tài)相同電阻的中間狀態(tài),所述一個(gè)或多個(gè)中間狀態(tài)可以通過施加比所述復(fù)位狀態(tài)的所述置位能量更少的能量數(shù)量而從所述復(fù)位狀態(tài)得到;將所述相變材料的至少一個(gè)部分分割成存儲(chǔ)器組,所述存儲(chǔ)器組的每一個(gè)對(duì)應(yīng)于為存儲(chǔ)多數(shù)位數(shù)字的目的而分派的所述相變材料的容量;將所述存儲(chǔ)器組劃分成多個(gè)寄存器,所述寄存器對(duì)應(yīng)于為存儲(chǔ)所述多數(shù)位數(shù)字的一個(gè)數(shù)位的目的而分派的所述存儲(chǔ)器組的部分,所述寄存器具有編程狀態(tài),所述編程狀態(tài)從所述相變材料的所述多個(gè)狀態(tài)中選擇,所述編程狀態(tài)具有編程能量,所述編程能量對(duì)應(yīng)于將所述相變材料從其復(fù)位狀態(tài)轉(zhuǎn)換到所述編程狀態(tài)所要求的能量數(shù)量;所述編程能量不超過所述復(fù)位狀態(tài)的所述置位能量;分配數(shù)值給所述編程狀態(tài);將位置值與所述存儲(chǔ)器組的寄存器關(guān)聯(lián),所述存儲(chǔ)器組的每一個(gè)包括相同的位置值;將第一多數(shù)位數(shù)字寫到第一存儲(chǔ)器組,所述寫包括根據(jù)位置值將所述多數(shù)位數(shù)字的各數(shù)位存儲(chǔ)到所述第一存儲(chǔ)器組的寄存器,所述存儲(chǔ)包括將所述寄存器轉(zhuǎn)換到與所述數(shù)位的數(shù)值關(guān)聯(lián)的編程狀態(tài);將表征第二個(gè)數(shù)字的能量提供給所述相變材料。
72.權(quán)利要求71的方法,其中所述提供能量步驟包括將表征所述第二個(gè)數(shù)字的每個(gè)數(shù)位的能量提供給所述第一存儲(chǔ)器組的適當(dāng)?shù)募拇嫫?,所述適當(dāng)?shù)募拇嫫魇菍?duì)應(yīng)于所述第二個(gè)數(shù)字的所述數(shù)位的位置值的寄存器。
73.權(quán)利要求71的方法,其中所述提供能量步驟包括將所述第二個(gè)數(shù)字寫到第二存儲(chǔ)器組,所述寫包括將所述第二個(gè)數(shù)字的所述數(shù)位存儲(chǔ)到所述第二存儲(chǔ)器組的分離的寄存器中,所述分離的寄存器的每一個(gè)對(duì)應(yīng)于具有不同位置值的數(shù)位,所述存儲(chǔ)包括將所述寄存器轉(zhuǎn)換到與所述數(shù)位的數(shù)值關(guān)聯(lián)的編程狀態(tài)。
74.權(quán)利要求73的方法,還包括步驟建立用于指向一個(gè)或多個(gè)存儲(chǔ)器組的寄存器的計(jì)數(shù)器,所述計(jì)數(shù)器具有計(jì)數(shù)值,所述計(jì)數(shù)值對(duì)應(yīng)于計(jì)數(shù)器編程狀態(tài);將其中存儲(chǔ)有一個(gè)數(shù)位的所述第一存儲(chǔ)器組的每一個(gè)寄存器與所述計(jì)數(shù)器編程狀態(tài)的一個(gè)連續(xù)集中的一個(gè)關(guān)聯(lián);將所述第二存儲(chǔ)器組的每一個(gè)寄存器與計(jì)數(shù)器編程狀態(tài)關(guān)聯(lián),所述計(jì)數(shù)器編程狀態(tài)與具有相同位置值的所述第一存儲(chǔ)器組的寄存器關(guān)聯(lián);將第三存儲(chǔ)器組的每一個(gè)寄存器與計(jì)數(shù)器編程狀態(tài)關(guān)聯(lián),所述計(jì)數(shù)器編程狀態(tài)與具有相同位置值的所述第一存儲(chǔ)器組的寄存器關(guān)聯(lián);初始化所述計(jì)數(shù)器到一個(gè)初始計(jì)數(shù)器值,所述初始計(jì)數(shù)器值對(duì)應(yīng)于一個(gè)初始計(jì)數(shù)器編程狀態(tài),所述初始計(jì)數(shù)器編程狀態(tài)對(duì)應(yīng)于具有最低計(jì)數(shù)器值的所述連續(xù)編程狀態(tài)集內(nèi)的計(jì)數(shù)器編程狀態(tài);當(dāng)所述計(jì)數(shù)器具有所述連續(xù)計(jì)數(shù)器值集內(nèi)的一個(gè)計(jì)數(shù)器值時(shí),迭代地執(zhí)行下列步驟a-ea.將第一置位能量提供給由所述計(jì)數(shù)器指向的所述第一存儲(chǔ)器組的寄存器,被指向的所述第一存儲(chǔ)器組的所述寄存器對(duì)應(yīng)于與所述計(jì)數(shù)器的值關(guān)聯(lián)的所述第一存儲(chǔ)器組的寄存器,所述第一置位能量將被指向的所述第一存儲(chǔ)器組的所述寄存器轉(zhuǎn)換到其置位狀態(tài);b.將所述第一置位能量提供給由所述計(jì)數(shù)器指向的所述第三存儲(chǔ)器組的寄存器的復(fù)位狀態(tài),被指向的所述第三存儲(chǔ)器組的所述寄存器對(duì)應(yīng)于與所述計(jì)數(shù)器的值關(guān)聯(lián)的所述第三存儲(chǔ)器組的寄存器;c.將第二置位能量提供給被指向的所述第三存儲(chǔ)器組的所述寄存器,所述第二置位能量將被指向的所述第三存儲(chǔ)器組的所述寄存器轉(zhuǎn)換到其置位狀態(tài);d.將所述第二置位能量提供給由所述計(jì)數(shù)器指向的所述第二存儲(chǔ)器組的寄存器,被指向的所述第二存儲(chǔ)器組的所述寄存器對(duì)應(yīng)于與所述計(jì)數(shù)器的值關(guān)聯(lián)的所述第二存儲(chǔ)器組的寄存器;e.遞增所述計(jì)數(shù)器的值。
75.權(quán)利要求74的方法,其中所述計(jì)數(shù)器包括所述相變材料。
76.權(quán)利要求75的方法,其中所述計(jì)數(shù)器編程狀態(tài)從所述相變材料的所述多個(gè)狀態(tài)中選擇。
77.權(quán)利要求76的方法,其中在所述迭代步驟a-e結(jié)束后的計(jì)數(shù)器編程狀態(tài)是所述相變材料的置位狀態(tài)。
78.權(quán)利要求74的方法,其中計(jì)數(shù)器編程狀態(tài)的數(shù)量與所述寄存器的編程狀態(tài)的數(shù)量相同。
79.一種減法方法,包括步驟提供具有多個(gè)狀態(tài)的數(shù)字多狀態(tài)相變材料,所述狀態(tài)包括復(fù)位狀態(tài);通過施加對(duì)應(yīng)于所述復(fù)位狀態(tài)的置位能量的能量數(shù)量而從所述復(fù)位狀態(tài)可得到的置位狀態(tài),所述置位狀態(tài)具有比所述復(fù)位狀態(tài)更低的電阻;以及一個(gè)或多個(gè)具有基本上與所述復(fù)位狀態(tài)相同電阻的中間狀態(tài),所述一個(gè)或多個(gè)中間狀態(tài)可以通過施加比所述復(fù)位狀態(tài)的所述置位能量更少的能量數(shù)量而從所述復(fù)位狀態(tài)得到;將第一個(gè)數(shù)字存儲(chǔ)到所述相變材料的第一容量中,所述存儲(chǔ)第一個(gè)數(shù)字包括將表征所述第一個(gè)數(shù)字的能量提供給所述相變材料的所述第一容量的復(fù)位狀態(tài),表征所述第一個(gè)數(shù)字的所述能量不超過所述復(fù)位狀態(tài)的所述置位能量;將第二個(gè)數(shù)字存儲(chǔ)到所述相變材料的第二容量中,所述存儲(chǔ)第二個(gè)數(shù)字包括將表征所述第二個(gè)數(shù)字的能量所述提供給所述相變材料的所述第二容量的復(fù)位狀態(tài),表征所述第二個(gè)數(shù)字的所述能量不超過所述復(fù)位狀態(tài)的所述置位能量;將第一置位能量提供給所述相變材料的所述第一容量,所述第一置位能量將所述相變材料的所述第一容量轉(zhuǎn)換到其置位狀態(tài);將所述第一置位能量提供給所述相變材料的所述第二容量。
80.權(quán)利要求79的方法,其中表征所述第一個(gè)數(shù)字的所述能量正比于所述第一個(gè)數(shù)字并且表征所述第二個(gè)數(shù)字的所述能量正比于所述第二個(gè)數(shù)字。
81.權(quán)利要求79的方法,其中所述將所述第一置位能量提供給所述第二容量步驟包括步驟將所述第一置位能量的第一部分提供給所述相變材料的所述第二容量,所述第一部分足以將所述第二容量轉(zhuǎn)換到其置位狀態(tài);復(fù)位所述第二容量;將所述第一置位能量的余值提供給所述第二容量。
82.權(quán)利要求79的方法,還包括步驟為所述相變材料定義編程狀態(tài),所述編程狀態(tài)從所述多個(gè)狀態(tài)中選擇,所述編程狀態(tài)具有編程能量,所述編程能量對(duì)應(yīng)于將所述相變材料從其復(fù)位狀態(tài)轉(zhuǎn)換到所述編程狀態(tài)所要求的能量數(shù)量,所述編程能量不超過所述復(fù)位狀態(tài)的所述置位能量;分配數(shù)值給所述編程狀態(tài)。
83.權(quán)利要求82的方法,其中所述存儲(chǔ)第一個(gè)數(shù)字的步驟包括提供在數(shù)量上足以將所述相變材料的所述第一容量轉(zhuǎn)換到與所述第一個(gè)數(shù)字的數(shù)值關(guān)聯(lián)的編程狀態(tài)的能量。
84.權(quán)利要求82的方法,其中所述存儲(chǔ)第二個(gè)數(shù)字的步驟包括提供在數(shù)量上足以將所述相變材料的所述第二容量轉(zhuǎn)換到與所述第二個(gè)數(shù)字的數(shù)值關(guān)聯(lián)的編程狀態(tài)的能量。
85.將第一個(gè)數(shù)字與第二個(gè)數(shù)字相乘的方法,包括步驟提供具有多個(gè)狀態(tài)的數(shù)字多狀態(tài)相變材料,所述狀態(tài)包括復(fù)位狀態(tài);通過施加對(duì)應(yīng)于所述復(fù)位狀態(tài)的置位能量的能量數(shù)量而從所述復(fù)位狀態(tài)可得到的置位狀態(tài),所述置位狀態(tài)具有比所述復(fù)位狀態(tài)更低的電阻;以及一個(gè)或多個(gè)具有基本上與所述復(fù)位狀態(tài)相同電阻的中間狀態(tài),所述一個(gè)或多個(gè)中間狀態(tài)可以通過施加比所述復(fù)位狀態(tài)的所述置位能量更少的能量數(shù)量而從所述復(fù)位狀態(tài)得到;將所述第一個(gè)數(shù)字存儲(chǔ)在所述相變材料的第一部分中;將倍數(shù)寄存器設(shè)置到初始值;對(duì)于小于所述初始值和所述第二個(gè)數(shù)字的和的倍數(shù)寄存器的值,執(zhí)行以下步驟a-ba.將所述第一個(gè)數(shù)字加到存儲(chǔ)在所述相變材料的第一部分中的數(shù)字,所述相加包括將表征所述第一個(gè)數(shù)字的能量提供給所述相變材料的所述第一部分;b.遞增所述倍數(shù)寄存器;讀取存儲(chǔ)在所述相變材料的所述第一部分中的值。
86.權(quán)利要求85的方法,還包括步驟為所述相變材料定義編程狀態(tài),所述編程狀態(tài)從所述多個(gè)狀態(tài)中選擇,所述編程狀態(tài)具有編程能量,所述編程能量對(duì)應(yīng)于將所述相變材料從其復(fù)位狀態(tài)轉(zhuǎn)換到所述編程狀態(tài)所要求的能量數(shù)量,所述編程能量不超過所述復(fù)位狀態(tài)的所述置位能量;分配數(shù)值給所述編程狀態(tài)。
87.權(quán)利要求86的方法,其中所述存儲(chǔ)步驟包括提供在數(shù)量上足以將所述相變材料的所述第一部分轉(zhuǎn)換到與所述第一個(gè)數(shù)字關(guān)聯(lián)的編程狀態(tài)的能量。
88.權(quán)利要求86的方法,其中表征所述第一個(gè)數(shù)字的能量是將所述相變材料從其復(fù)位狀態(tài)轉(zhuǎn)換到與所述第一個(gè)數(shù)字關(guān)聯(lián)的編程狀態(tài)所要求的能量。
89.權(quán)利要求85的方法,其中所述倍數(shù)寄存器包括所述相變材料的第二部分。
90.將第一個(gè)數(shù)字除以第二個(gè)數(shù)字的方法,包括步驟提供具有多個(gè)狀態(tài)的數(shù)字多狀態(tài)相變材料,所述狀態(tài)包括復(fù)位狀態(tài);通過施加對(duì)應(yīng)于所述復(fù)位狀態(tài)的置位能量的能量數(shù)量而從所述復(fù)位狀態(tài)可得到的置位狀態(tài),所述置位狀態(tài)具有比所述復(fù)位狀態(tài)更低的電阻;以及一個(gè)或多個(gè)具有基本上與所述復(fù)位狀態(tài)相同電阻的中間狀態(tài),所述一個(gè)或多個(gè)中間狀態(tài)可以通過施加比所述復(fù)位狀態(tài)的所述置位能量更少的能量數(shù)量而從所述復(fù)位狀態(tài)得到;將所述第一個(gè)數(shù)字存儲(chǔ)在所述相變材料中;將倍數(shù)寄存器設(shè)置到初始值;當(dāng)存儲(chǔ)在所述相變材料中的數(shù)字大于或等于所述第二個(gè)數(shù)字時(shí),迭代地執(zhí)行下列步驟a-ba.從存儲(chǔ)在所述相變材料中的數(shù)字減去所述第二個(gè)數(shù)字,所述減法包括提供將所述相變材料轉(zhuǎn)換到對(duì)應(yīng)于所述存儲(chǔ)的數(shù)字和所述第二個(gè)數(shù)字之間的差的狀態(tài)的能量;b.遞增所述倍數(shù)寄存器;讀取存儲(chǔ)在所述相變材料中的數(shù)字;讀取所述倍數(shù)寄存器的值。
91.權(quán)利要求90的方法,還包括步驟為所述相變材料定義編程狀態(tài),所述編程狀態(tài)從所述多個(gè)狀態(tài)中選擇,所述編程狀態(tài)具有編程能量,所述編程能量對(duì)應(yīng)于將所述相變材料從其復(fù)位狀態(tài)轉(zhuǎn)換到所述編程狀態(tài)所要求的能量數(shù)量,所述編程能量不超過所述復(fù)位狀態(tài)的置位能量;分配數(shù)值給所述編程狀態(tài)。
92.權(quán)利要求91的方法,其中所述存儲(chǔ)步驟包括提供在數(shù)量上足以將所述相變材料的所述第一部分轉(zhuǎn)換到與所述第一個(gè)數(shù)字關(guān)聯(lián)的編程狀態(tài)的能量。
93.權(quán)利要求91的方法,其中表征所述第一個(gè)數(shù)字的所述能量是將所述相變材料從其復(fù)位狀態(tài)轉(zhuǎn)換到與所述第一個(gè)數(shù)字關(guān)聯(lián)的編程狀態(tài)所要求的能量。
94.權(quán)利要求89的方法,其中所述倍數(shù)寄存器包括所述相變材料的第二部分。
95.計(jì)算一個(gè)數(shù)字的補(bǔ)碼的方法,包括提供具有多個(gè)狀態(tài)的數(shù)字多狀態(tài)相變材料,所述狀態(tài)包括復(fù)位狀態(tài);通過施加對(duì)應(yīng)于所述復(fù)位狀態(tài)的置位能量的能量數(shù)量而從所述復(fù)位狀態(tài)可得到的置位狀態(tài),所述置位狀態(tài)具有比所述復(fù)位狀態(tài)更低的電阻;以及一個(gè)或多個(gè)具有基本上與所述復(fù)位狀態(tài)相同電阻的中間狀態(tài),所述一個(gè)或多個(gè)中間狀態(tài)可以通過施加比所述復(fù)位狀態(tài)的所述置位能量更少的能量數(shù)量而從所述復(fù)位狀態(tài)得到;將一個(gè)數(shù)字存儲(chǔ)在所述相變材料的第一部分中,所述存儲(chǔ)包括提供對(duì)應(yīng)于所述數(shù)字的能量給所述相變材料的復(fù)位狀態(tài);所述對(duì)應(yīng)的能量不超過所述復(fù)位狀態(tài)的所述置位能量;將置位能量提供給所述相變材料的所述第一部分,所述置位能量將所述相變材料的所述第一部分轉(zhuǎn)換到其置位狀態(tài);將所述置位能量提供給所述相變材料的第二部分。
全文摘要
非二進(jìn)制計(jì)算方法使用數(shù)字多狀態(tài)相變材料。借助于給相變材料受控制地施加能量來完成加減乘除。提供其數(shù)量足以設(shè)置相變材料的復(fù)位狀態(tài)的能量以便存儲(chǔ)一個(gè)或多個(gè)數(shù)字,并且提供表征該數(shù)字運(yùn)算的性能的另外的能量以便實(shí)現(xiàn)計(jì)算。
文檔編號(hào)H01L29/04GK1666172SQ03816261
公開日2005年9月7日 申請日期2003年5月1日 優(yōu)先權(quán)日2002年5月10日
發(fā)明者S·R·奧夫辛斯基, A·K·利夫西 申請人:能源變換設(shè)備有限公司