一般來說,本公開涉及電子領(lǐng)域。更具體來說,本發(fā)明的一些實施例一般涉及自旋轉(zhuǎn)移力矩存儲器中的寫操作。
背景技術(shù):
許多電子裝置包括存儲器系統(tǒng),所述存儲器系統(tǒng)可使用本地,快速存取存儲器(其經(jīng)常實施為非易失性存儲器)來實現(xiàn)。自旋轉(zhuǎn)移力矩(stt)存儲器作為用于非易失性存儲器系統(tǒng)的技術(shù)而開發(fā)。相應(yīng)地,管理stt存儲器系統(tǒng)中的寫操作的技術(shù)可例如在用于電子裝置的存儲器系統(tǒng)中發(fā)現(xiàn)是有效用的。
附圖說明
參考附圖提供詳細(xì)描述。不同圖中相同的參考標(biāo)號的使用指示類似或相同項。
圖1是按照本文所討論的各種示例、用來實現(xiàn)自旋轉(zhuǎn)移力矩(stt)存儲器中的寫操作的設(shè)備的組件的示意框圖說明。
圖2是按照本文所討論的各種示例的自旋轉(zhuǎn)移力矩(stt)存儲器的架構(gòu)的示意框圖。
圖3、圖4和圖5是示出按照本文所討論的各種實施例、用來實現(xiàn)自旋轉(zhuǎn)移力矩(stt)存儲器中的寫操作的方法中的操作的流程圖。
圖6-10是按照本文所討論的各種實施例、可適應(yīng)于實現(xiàn)自旋轉(zhuǎn)移力矩(stt)存儲器中的寫操作的電子裝置的示意框圖說明。
具體實施方式
在以下描述中,陳述了許多具體細(xì)節(jié),以便提供對各種實施例的透徹了解。然而,本發(fā)明的各種實施例可在沒有所述具體細(xì)節(jié)的情況下被實踐。在其他實例中,已沒有詳細(xì)描述眾所周知的方法、過程、組件和電路,以免使本發(fā)明的特定實施例難以理解。此外,可使用諸如集成半導(dǎo)體電路(“硬件”)、組織成一個或多個程序的計算機可讀指令(“軟件”)、或者硬件和軟件的某種組合的各種部件,來執(zhí)行本發(fā)明的實施例的各個方面。為了便于本公開,對“邏輯”的引用應(yīng)意味著硬件、軟件或它們的某種組合。
自旋轉(zhuǎn)移力矩(stt)存儲器技術(shù),其通過軟鐵磁材料的自旋取向來存儲數(shù)據(jù)并且顯現(xiàn)電流感應(yīng)切換,是一種有吸引力的新存儲器技術(shù),因為它是cmos邏輯兼容的、可縮放的,并且具有高密度。此外,它是非易失性的,并且具有有競爭力的讀等待時間。stt隨機存取存儲器(ram)是電阻ram類型,其利用兩層磁性材料,其中一個固定層和一個自由層。自旋極化電流穿過裝置以便在磁性層中創(chuàng)建平行(p)或反平行(ap)極化,從而存儲信息。
stt存儲器的操作特性響應(yīng)溫度上的改變而改變。更具體來說,在低溫,stt存儲器要求在相對長的脈沖中施加相對高的電流級別,以實現(xiàn)寫操作。實現(xiàn)stt存儲器中的寫操作所要求的時間和電流級別隨著存儲器的溫度升高而降低。此外,stt存儲器單元在高溫下的讀操作期間傾向于不希望的翻轉(zhuǎn)(即,改變其邏輯狀態(tài))。
在本文所述的一些示例中,本文所述主題通過在stt存儲器的溫度未能超過溫度閾值時實現(xiàn)第一寫操作協(xié)議并且在stt存儲器的溫度超過溫度閾值時實現(xiàn)第二寫操作協(xié)議,來解決這些和其他問題。第一寫操作協(xié)議僅在正由寫操作進(jìn)行修改的存儲器單元中實現(xiàn)寫操作,以便節(jié)省時間和能量。第二寫操作協(xié)議實現(xiàn)寫操作,而不管存儲器單元是否正被修改。
下面參考圖1-10來描述其他細(xì)節(jié)。
圖1是按照本文所討論的各種示例、用來實現(xiàn)自旋轉(zhuǎn)移力矩(stt)存儲器中的寫操作的設(shè)備的組件的示意框圖說明。參考圖1,在一些實施例中,中央處理器封裝100,其可包括耦合到控制集線器120和本地存儲器130的一個或多個處理器110??刂萍€器120包括存儲器控制器122和存儲器接口124。
存儲器接口124通過通信總線160來耦合到存儲器140。在一些示例中,通信總線160可實現(xiàn)為印刷電路板上的跡線、具有銅線的線纜、光纖線纜、連接插座或者以上所述的組合。
存儲器140可包括控制器142、寫控制邏輯144和一個或多個存儲器裝置150。在各種實施例中,存儲器裝置150中的至少一些可使用非易失性存儲器,例如自旋轉(zhuǎn)移力矩(stt)存儲器來實現(xiàn)。如上所述,在一些實施例中,可耦合到控制器142或者集成到控制器142中的寫控制邏輯144實現(xiàn)自旋轉(zhuǎn)移力矩(stt)存儲器140中的寫操作。此外,存儲器140可包括耦合到控制器142的一個或多個溫度傳感器148。在一些示例中,溫度傳感器148可實現(xiàn)為熱敏電阻、熱電偶或諸如此類。
圖2是按照本文所討論的各種示例的自旋轉(zhuǎn)移力矩(stt)存儲器200的架構(gòu)的示意框圖。參考圖2,在一些示例中,存儲器200包括多個行,被標(biāo)識為行1、行2、行3、行4等,一直到行m。每行包括多個存儲器單元,被標(biāo)識為單元1、單元2、單元3等,一直到單元n。因此,存儲器200構(gòu)造為m×n存儲器矩陣。
代表性自旋轉(zhuǎn)移力矩存儲器單元210被描繪在圖2中。存儲器單元210包括晶體管212和磁隧道結(jié)214、字線(wl)220、選擇線(sl)222和位線(bl)224。在操作中,通過將bl224預(yù)充電到讀電壓vrd并且在電壓施加到wl220時允許電壓通過單元210衰減,來讀單元210。使用參考單元同時地被“排放(drain)”的參考位線充當(dāng)感測放大器(senseamplifier)參考。參考和被訪問位線均使用p型金屬氧化物半導(dǎo)體(pmos)電流源被鉗位(clamp),使得恒定電壓差保持在感測放大器輸入(甚至對于非常長的訪問時間)。
已描述了用來實現(xiàn)自旋轉(zhuǎn)移力矩(stt)存儲器中的寫操作的架構(gòu)和組件,現(xiàn)在將參考圖3-5來描述用來實現(xiàn)自旋轉(zhuǎn)移力矩(stt)存儲器中的寫操作的操作。在一些示例中,圖3-5中所描繪的操作可由寫控制邏輯144獨自地或者結(jié)合控制器142來實現(xiàn)。
首先參考圖3,在操作310,控制器140監(jiān)視溫度傳感器148的輸出。如果在操作315,溫度傳感器148的輸出指示存儲器140鄰近的溫度不超過閾值,則控制傳到操作320,并且控制器142實現(xiàn)低溫寫協(xié)議。相比之下,如果在操作315,溫度傳感器148的輸出指示存儲器140鄰近的溫度超過閾值,則控制傳到操作325,并且控制器142實現(xiàn)高溫寫協(xié)議。
圖4是示出依據(jù)示例、由控制器142所實現(xiàn)的用來實現(xiàn)低溫寫協(xié)議的操作的流程圖。簡要地參考圖4,在操作410,控制器142經(jīng)由存儲器控制器122和存儲器接口124從主機裝置,例如從處理器封裝100上的處理器110中的一個或多個來接收寫數(shù)據(jù)。在操作415,控制器142確定從主機裝置所接收的寫數(shù)據(jù)的物理存儲器地址。例如,物理存儲器地址可標(biāo)識對于該寫數(shù)據(jù)的圖2中所描繪的存儲器中的一個或多個單元。
在操作420,控制器從與在操作415中所確定的物理存儲器地址相關(guān)聯(lián)的單元讀數(shù)據(jù),且在操作425,控制器142將數(shù)據(jù)與寫數(shù)據(jù)進(jìn)行比較。作為示例,在一些情況下,控制器142執(zhí)行來自物理地址中的存儲器單元的讀數(shù)據(jù)與從主機裝置所接收的寫數(shù)據(jù)的逐位xor,以確定存儲器單元是否要通過寫操作被修改。
最后,在操作430,控制器142將從主機裝置所接收的寫數(shù)據(jù)僅寫到在操作425中被標(biāo)識為正被寫數(shù)據(jù)所修改的存儲器單元。例如,如果在操作420的讀操作指示存儲器單元包含邏輯0并且從主機裝置所接收的寫數(shù)據(jù)將要把邏輯0寫入該單元,則控制器142不在那個單元上執(zhí)行寫操作。類似地,如果在操作420的讀操作指示存儲器單元包含邏輯1并且從主機裝置所接收的寫數(shù)據(jù)將要把邏輯1寫入該單元,則控制器142不在那個單元上執(zhí)行寫操作。相比之下,如果是如果在操作420的讀操作指示存儲器單元包含邏輯0并且從主機裝置所接收的寫數(shù)據(jù)將要把邏輯1寫入該單元,則控制器142在那個單元上執(zhí)行寫操作。類似地,如果在操作420的讀操作指示存儲器單元包含邏輯1并且從主機裝置所接收的寫數(shù)據(jù)將要把邏輯0寫入該單元,則控制器142在那個單元上執(zhí)行寫操作。
圖5是示出由控制器142所實現(xiàn)的用來實現(xiàn)高溫寫協(xié)議的操作的流程圖。參考圖5,在操作510,控制器142經(jīng)由存儲器控制器122和存儲器接口124從主機裝置,例如從處理器封裝100上的處理器110中的一個或多個來接收寫數(shù)據(jù)。在操作515,控制器142確定從主機裝置所接收的寫數(shù)據(jù)的物理存儲器地址。例如,物理存儲器地址可標(biāo)識對于該寫數(shù)據(jù)的在圖2中所描繪的存儲器中的一個或多個單元。
在操作520,控制器142將從主機裝置所接收的寫數(shù)據(jù)僅寫到在操作425標(biāo)識為正被寫數(shù)據(jù)所修改的存儲器單元。在一些示例中,控制器142可對幾度的溫度上的升高來施加高達(dá)較短數(shù)量級的脈沖??刂破?42還可在溫度上升時施加較小的電流,然而效果是更為線性的。
因此,圖3-5中所描繪的操作使控制器142能夠在不同溫度設(shè)定實現(xiàn)自旋轉(zhuǎn)移力矩(stt)存儲器中不同的寫操作協(xié)議。更具體來說,低溫寫協(xié)議有選擇地僅對要被寫數(shù)據(jù)進(jìn)行修改的單元進(jìn)行寫入。相比之下,高溫協(xié)議對所有單元進(jìn)行寫入,但是是按照較低的電流級別和對于較短的寫脈沖來進(jìn)行的。
如上所述,在一些實施例中,電子裝置可實施為計算機系統(tǒng)。圖6示出按照本發(fā)明的一實施例的計算系統(tǒng)600的框圖。計算系統(tǒng)600可包括一個或多個中央處理單元(處理器)602或者經(jīng)由互連網(wǎng)絡(luò)(或總線)604進(jìn)行通信的處理器。處理器602可包括通用處理器、網(wǎng)絡(luò)處理器(其處理通過計算機網(wǎng)絡(luò)603所傳遞的數(shù)據(jù))或者其他類型的處理器(包括簡化指令集計算機(risc)處理器或復(fù)雜指令集計算機(cisc))。此外,處理器602可具有單核或多核設(shè)計。具有多核設(shè)計的處理器602可將不同類型的處理器核集成在相同集成電路(ic)管芯上。而且,具有多核設(shè)計的處理器602可實現(xiàn)為對稱或不對稱多處理器。在一實施例中,處理器602中的一個或多個可與圖1的處理器102相同或類似。
芯片集606還可與互連網(wǎng)絡(luò)604進(jìn)行通信。芯片集606可包括存儲器控制集線器(mch)608。mch608可包括與存儲器612進(jìn)行通信的存儲器控制器610。存儲器412可存儲數(shù)據(jù),包括可由處理器602或者計算系統(tǒng)600中所包括的任何其他裝置執(zhí)行的指令序列。在本發(fā)明的一個實施例中,存儲器612可包括一個或多個易失性存儲(或存儲器)裝置,諸如隨機存取存儲器(ram)、動態(tài)ram(dram)、同步dram(sdram)、靜態(tài)ram(sram)、或其他類型的存儲裝置。還可利用非易失性存儲器,諸如硬盤。附加裝置,諸如多個處理器和/或多個系統(tǒng)存儲器可經(jīng)由互連網(wǎng)絡(luò)604進(jìn)行通信。
mch608還可包括與顯示裝置616進(jìn)行通信的圖形接口614。在本發(fā)明的一個實施例中,圖形接口614可經(jīng)由加速圖形端口(agp)與顯示裝置616進(jìn)行通信。在本發(fā)明的一實施例中,顯示器616(例如平板顯示器)可通過例如信號轉(zhuǎn)換器與圖形接口614進(jìn)行通信,其中該信號轉(zhuǎn)換器將諸如視頻存儲器或系統(tǒng)存儲器的存儲裝置中存儲的圖像的數(shù)字表示轉(zhuǎn)變成被顯示器616解釋和顯示的顯示信號。由顯示裝置所產(chǎn)生的顯示信號可在被顯示器616進(jìn)行解釋并且隨后在其上被顯示之前穿過各種控制裝置。
集線器接口618可允許mch608和輸入/輸出控制集線器(ich)620進(jìn)行通信。ich620可提供到i/o裝置(其與計算系統(tǒng)600進(jìn)行通信)的接口。ich620可通過外圍橋(或控制器)624(諸如外圍部件互連(pci)橋、通用串行總線(usb)控制器、或其他類型的外圍橋或控制器)來與總線622進(jìn)行通信。橋624可提供處理器602與外圍裝置之間的數(shù)據(jù)路徑??衫闷渌愋偷耐?fù)?。而且,多個總線可例如通過多個橋或控制器來與ich620進(jìn)行通信。此外,在本發(fā)明的各種實施例中,與ich620進(jìn)行通信的其他外圍可包括集成驅(qū)動電子裝置(ide)或者小型計算機系統(tǒng)接口(scsi)硬驅(qū)動、usb端口、鍵盤、鼠標(biāo)、并行端口、串行端口、軟盤驅(qū)動、數(shù)字輸出支持(例如數(shù)字視頻接口(dvi))或者其他裝置。
總線622可與音頻裝置626、一個或多個盤驅(qū)動628以及網(wǎng)絡(luò)接口裝置630(其與計算機網(wǎng)絡(luò)603通信)進(jìn)行通信。其他裝置可經(jīng)由總線622進(jìn)行通信。而且,在本發(fā)明的一些實施例中,各種組件(諸如網(wǎng)絡(luò)接口裝置630)可與mch608進(jìn)行通信。另外,處理器602和本文所討論的一個或多個其他組件可被組合來形成單個芯片(例如,以提供芯片上系統(tǒng)(soc))。另外,在本發(fā)明的其他實施例中,圖形加速器616可包含在mch608中。
此外,計算系統(tǒng)600可包括易失性和/或非易失性存儲器(或存儲裝置)。例如,非易失性存儲器可包括下列一個或多個:只讀存儲器(rom)、可編程rom(prom)、可擦prom(eprom),電eprom(eeprom)、盤驅(qū)動(例如628)、軟盤、緊致盤rom(cd-rom)、數(shù)字多功能盤(dvd),閃速存儲器,磁-光盤,或者能夠存儲電子數(shù)據(jù)(例如包括指令)的其他類型的非易失性機器可讀媒體。
圖7示出依據(jù)本發(fā)明的一實施例的計算系統(tǒng)700的框圖。系統(tǒng)700可包括一個或多個處理器702-1至702-n(本文中一般稱作為“處理器(processors)702”或“處理器(processor)702”)。處理器702可經(jīng)由互連網(wǎng)絡(luò)或總線704進(jìn)行通信。各處理器可包括各種組件,為了清楚起見,僅參考處理器702-1來討論其中的一些。相應(yīng)地,其余處理器702-2至702-n的每個可包括與參考處理器702-1所討論的相同或類似組件。
在一實施例中,處理器702-1可包括一個或多個處理器核706-1至706-m(本文中稱作為“核(cores)706”或者更一般地稱作為“核(core)706”)、共享高速緩存708、路由器710、和/或處理器控制邏輯或單元720。處理器核706可在單個集成電路(ic)芯片上實現(xiàn)。另外,芯片可包括一個或多個共享和/或私用高速緩存(諸如高速緩存708)、總線或互連(諸如總線或互連網(wǎng)絡(luò)712)、存儲器控制器或其他組件。
在一個實施例中,路由器710可用來在處理器702-1和/或系統(tǒng)700的各種組件之間進(jìn)行通信。另外,處理器702-1可包括一個以上的路由器710。另外,多個路由器710可進(jìn)行通信,以便實現(xiàn)處理器702-1的內(nèi)部或外部在各種組件之間的數(shù)據(jù)路由選擇。
共享高速緩存708可存儲數(shù)據(jù)(例如包括指令),所述數(shù)據(jù)被處理器702-1的一個或多個組件(諸如核706)所利用。例如,共享高速緩存708可本地高速緩存存儲器714中存儲的數(shù)據(jù),以便由處理器702的組件進(jìn)行更快的訪問。在一實施例中,高速緩存708可包括中間級別高速緩存(諸如級別2(l2)、級別3(l3)、級別4(l4)或者其他級別的高速緩存)、最末級別高速緩存(llc)和/或其的組合。此外,處理器702-1的各種組件可直接地、通過總線(例如總線712)、和/或存儲器控制器或集線器來與共享高速緩存708進(jìn)行通信。如圖7中所示,在一些實施例中,核706中的一個或多個可包括級別1(l1)高速緩存716-1(本文中一般稱作為“l(fā)1高速緩存716”)。
圖8示出依據(jù)本發(fā)明的一實施例的處理器核706的部分和計算系統(tǒng)的其他組件的框圖。在一個實施例中,圖8中所示的箭頭示出通過核706的指令的流動方向。一個或多個處理器核(例如處理器核706)可在單個集成電路芯片(或管芯)上實現(xiàn)(諸如參考圖7所討論的)。此外,芯片可包括一個或多個共享和/或私用高速緩存(例如圖7的高速緩存708)、互連(例如圖7的互連704和/或112)、控制單元、存儲器控制器或其他組件。
如圖8中所示,處理器核706可包括取指令(包括具有條件分支的指令)以供核706執(zhí)行的取單元802。指令可從任何存儲裝置,諸如存儲器714來被取。核706還可包括用來對所取指令進(jìn)行解碼的解碼單元804。比如,解碼單元804可將所取指令解碼成多個μop(微操作)。
此外,核706可包括調(diào)度單元806。調(diào)度單元806可執(zhí)行與存儲被解碼指令(例如從解碼單元804所接收的)關(guān)聯(lián)的各種操作,直到指令準(zhǔn)備好進(jìn)行分發(fā),例如直到被解碼指令的所有源值變?yōu)榭捎?。在一個實施例中,調(diào)度單元806可調(diào)度和/或向執(zhí)行單元808發(fā)出(或分發(fā))被解碼指令以用于執(zhí)行。執(zhí)行單元808可在被分發(fā)指令被解碼(例如由解碼單元804進(jìn)行)和分發(fā)(例如由調(diào)度單元806進(jìn)行)之后執(zhí)行所述被分發(fā)指令。在一實施例中,執(zhí)行單元808可包括一個以上執(zhí)行單元。執(zhí)行單元808還可執(zhí)行各種算術(shù)運算,諸如加法、減法、乘法和/或除法,并且可包括一個或多個算術(shù)邏輯單元(alu)。在一實施例中,協(xié)處理器(未示出)可結(jié)合執(zhí)行單元808來執(zhí)行各種算術(shù)運算。
另外,執(zhí)行單元808可無序地執(zhí)行指令。因此,在一個實施例中,處理器核706可以是無序處理器核。核706還可包括隱退單元810。隱退單元810可在指令被提交之后將被執(zhí)行指令隱退。在一實施例中,被執(zhí)行指令的隱退可引起處理器狀態(tài)從指令的執(zhí)行中被提交、被指令所使用的物理寄存器被解除分配等。
核706還可包括總線單元714,用來實現(xiàn)處理器核706的組件與其他組件(諸如參考圖8所討論的組件)之間經(jīng)由一個或多個總線(例如總線804和/或812)來進(jìn)行通信。核706還可包括一個或多個寄存器816,用來存儲由核706的各種組件所訪問的數(shù)據(jù)(諸如與功率消耗狀態(tài)設(shè)定相關(guān)的值)。
此外,即使圖7示出控制單元720經(jīng)由互連812被耦合到核706,但是在各種實施例中,控制單元720可位于其他位置,例如核706內(nèi)部、經(jīng)由總線704耦合到核等。
在一些實施例中,本文所討論的組件中的一個或多個能夠?qū)嵤樾酒舷到y(tǒng)(soc)裝置。圖9示出按照一實施例的soc封裝的框圖。如圖9中所示,soc902包括一個或多個處理器核920、一個或多個圖形處理器單元(gpu)核930、輸入/輸出(i/o)接口940和存儲器控制器942。soc封裝902的各種組件可耦合到互連或總線(諸如本文中參考其他圖所討論的)。另外,soc封裝902可包括更多或更少組件(諸如本文中參考其他圖所討論的那些)。此外,soc封裝902的各組件可包括一個或多個其他組件(例如,如本文中參考其他圖所討論的)。在一個實施例中,soc封裝902(及其組件)被提供在一個或多個集成電路(ic)管芯上,例如,其被封裝成單個半導(dǎo)體裝置。
如圖9中所示,soc封裝902經(jīng)由存儲器控制器942被耦合到存儲器960(其可與本文中參考其他圖所討論的存儲器類似或相同)。在一實施例中,存儲器960(或者其的部分)能夠集成在soc封裝902上。
i/o接口940可例如經(jīng)由互連和/或總線(諸如本文中參考其他圖所討論的)來耦合到一個或多個i/o裝置970。i/o裝置970可包括以下中的一個或多個:鍵盤、鼠標(biāo)、觸摸板、顯示器、圖像/視頻捕獲裝置(諸如攝像機或攝像錄像機/視頻記錄器)、觸摸屏、揚聲器或諸如此類。
圖10示出依據(jù)本發(fā)明的一實施例、以點對點(ptp)配置來布置的計算系統(tǒng)1000。具體來說,圖10示出一種系統(tǒng),其中處理器、存儲器、以及輸入/輸出裝置通過多個點對點接口被互連。參考圖2被討論的操作可由系統(tǒng)1000的一個或多個組件來執(zhí)行。
如圖10中所示,系統(tǒng)1000可包括若干處理器,為了清楚起見僅示出其中的兩個,即處理器1002和1004。處理器1002和1004可各自包括本地存儲器控制器集線器(mch)1006和1008,用來實現(xiàn)與存儲器1010和1012的通信。在一些實施例中,mch1006和1008可包括圖1的存儲器控制器120和/或邏輯125。
在一實施例中,處理器1002和1004可以是參考圖7所討論的處理器702其中之一。處理器1002和1004可分別使用點對點(ptp)接口電路1016和1018,經(jīng)由ptp接口1014來交換數(shù)據(jù)。而且,處理器1002和1004可使用點對點接口電路1026、1028、1030和1032經(jīng)由各個ptp接口1022和1024來各自與芯片集1020交換數(shù)據(jù)。芯片集1020進(jìn)一步可例如使用ptp接口電路1037,經(jīng)由高性能圖形接口1036來與高性能圖形電路1034交換數(shù)據(jù)。
如圖10中所示,圖1的核106和/或高速緩存108中的一個或多個可位于處理器1002和1004內(nèi)。但是,本發(fā)明的其他實施例可存在于圖10的系統(tǒng)1000內(nèi)的其他電路、邏輯單元或裝置中。此外,本發(fā)明的其他實施例可分布于圖10中所示的若干電路、邏輯單元或裝置各處。
芯片集1020可使用ptp接口電路1041來與總線1040進(jìn)行通信??偩€1040可具有與其通信的一個或多個裝置,諸如總線橋1042和i/o裝置1043。經(jīng)由總線1044,總線橋1043可與諸如鍵盤/鼠標(biāo)1045、通信裝置1046(諸如調(diào)制解調(diào)器、網(wǎng)絡(luò)接口裝置或者可與計算機網(wǎng)絡(luò)803進(jìn)行通信的其他通信裝置)、音頻i/o裝置、和/或數(shù)據(jù)存儲裝置1048的其他裝置進(jìn)行通信。數(shù)據(jù)存儲裝置1048(其可以是硬盤驅(qū)動或者基于nand閃存的固態(tài)驅(qū)動)可存儲代碼1049,代碼1049可由處理器1002和/或1004來執(zhí)行。
以下示例屬于進(jìn)一步實施例。
示例1是一種存儲器,包括:至少一個自旋轉(zhuǎn)移力矩(stt)存儲器裝置;溫度傳感器,鄰近于所述stt存儲器裝置;以及控制器,包括至少部分含有硬件邏輯的邏輯。所述邏輯用來:監(jiān)視所述溫度傳感器的輸出;在所述溫度傳感器的所述輸出未能超過閾值溫度時,實現(xiàn)第一寫操作協(xié)議;以及在所述溫度傳感器的所述輸出超過所述閾值溫度時,實現(xiàn)第二寫操作協(xié)議。
在示例2中,示例1的所述主題能夠可選地包括用來執(zhí)行下列操作的邏輯:從主機裝置接收寫數(shù)據(jù);確定所述寫數(shù)據(jù)的物理存儲器地址;從所述物理存儲器地址中的存儲器單元讀數(shù)據(jù);將從所述物理存儲器地址所讀的所述數(shù)據(jù)與所述寫數(shù)據(jù)進(jìn)行比較;以及將數(shù)據(jù)僅寫到被所述寫數(shù)據(jù)修改的數(shù)據(jù)單元。
在示例3中,示例1-2中的任何一個的所述主題能夠可選地包括包括至少部分含有用來執(zhí)行下面操作的硬件邏輯的邏輯:執(zhí)行從所述物理地址中的存儲器單元的所讀數(shù)據(jù)與所述寫數(shù)據(jù)的逐位xor。
在示例4中,示例1-3中的任何一個的所述主題能夠可選地包括用來執(zhí)行下列操作的邏輯:從主機裝置接收寫數(shù)據(jù);確定所述寫數(shù)據(jù)的物理存儲器地址;以及將所述數(shù)據(jù)寫到所述物理存儲器地址。
在示例5中,示例1-4中的任何一個的所述主題能夠可選地包括用來執(zhí)行下面操作的邏輯:在所述溫度傳感器的所述輸出升高到高于所述閾值時,減少寫電流。
在示例6中,示例1-5中的任何一個的所述主題能夠可選地包括用來執(zhí)行下面操作的邏輯:在所述溫度傳感器的所述輸出升高到高于所述閾值時,減少寫脈沖持續(xù)期。
示例7是一種電子裝置,包括:處理器;至少一個自旋轉(zhuǎn)移力矩(stt)存儲器裝置;以及控制器。所述控制器包括至少部分含有硬件邏輯的邏輯,用來:監(jiān)視溫度傳感器的輸出;在所述溫度傳感器的所述輸出未能超過閾值溫度時,實現(xiàn)第一寫操作協(xié)議;以及在所述溫度傳感器的所述輸出超過所述閾值溫度時,實現(xiàn)第二寫操作協(xié)議。
在示例8中,示例7的所述主題能夠可選地包括用來執(zhí)行下列操作的邏輯:從主機裝置接收寫數(shù)據(jù);確定所述寫數(shù)據(jù)的物理存儲器地址;從所述物理存儲器地址中的存儲器單元讀數(shù)據(jù);將從所述物理存儲器地址所讀的所述數(shù)據(jù)與所述寫數(shù)據(jù)進(jìn)行比較;以及將數(shù)據(jù)僅寫到被所述寫數(shù)據(jù)修改的數(shù)據(jù)單元。
在示例9中,示例7-8中的任何一個的所述主題能夠可選地包括包括至少部分含有用來執(zhí)行下面操作的硬件邏輯的邏輯:執(zhí)行從所述物理地址中的存儲器單元的所讀數(shù)據(jù)與所述寫數(shù)據(jù)的逐位xor。
在示例10中,示例7-9中的任何一個的所述主題能夠可選地包括用來執(zhí)行下列操作的邏輯:從主機裝置接收寫數(shù)據(jù);確定所述寫數(shù)據(jù)的物理存儲器地址;以及將所述數(shù)據(jù)寫到所述物理存儲器地址。
在示例11中,示例7-10中的任何一個的所述主題能夠可選地包括用來執(zhí)行下面操作的邏輯:在所述溫度傳感器的所述輸出升高到高于所述閾值時,減少寫電流。
在示例12中,示例7-11中的任何一個的所述主題能夠可選地包括用來執(zhí)行下面操作的邏輯:在所述溫度傳感器的所述輸出升高到高于所述閾值時,減少寫脈沖持續(xù)期。
示例13是一種控制器,包括至少部分含有硬件邏輯的邏輯,用來:監(jiān)視溫度傳感器的輸出;在所述溫度傳感器的所述輸出未能超過閾值溫度時,實現(xiàn)第一寫操作協(xié)議;以及在所述溫度傳感器的所述輸出超過所述閾值溫度時,實現(xiàn)第二寫操作協(xié)議。
在示例14中,示例13的所述主題能夠可選地包括用來執(zhí)行下列操作的邏輯:從主機裝置接收寫數(shù)據(jù);確定所述寫數(shù)據(jù)的物理存儲器地址;從所述物理存儲器地址中的存儲器單元讀數(shù)據(jù);將從所述物理存儲器地址所讀的所述數(shù)據(jù)與所述寫數(shù)據(jù)進(jìn)行比較;以及將數(shù)據(jù)僅寫到被所述寫數(shù)據(jù)修改的數(shù)據(jù)單元。
在示例15中,示例13-14中的任何一個的所述主題能夠可選地包括包括至少部分含有用來執(zhí)行下面操作的硬件邏輯的邏輯:執(zhí)行從所述物理地址中的存儲器單元的所讀數(shù)據(jù)與所述寫數(shù)據(jù)的逐位xor。
在示例16中,示例13-15中的任何一個的所述主題能夠可選地包括用來執(zhí)行下面操作的邏輯:從主機裝置接收寫數(shù)據(jù);確定所述寫數(shù)據(jù)的物理存儲器地址;以及將所述數(shù)據(jù)寫到所述物理存儲器地址。
在示例17中,示例13-16中的任何一個的所述主題能夠可選地包括用來執(zhí)行下面操作的邏輯:在所述溫度傳感器的所述輸出升高到高于所述閾值時,減少寫電流。
在示例18中,示例13-17中的任何一個的所述主題能夠可選地包括用來執(zhí)行下面操作的邏輯:在所述溫度傳感器的所述輸出升高到高于所述閾值時,減少寫脈沖持續(xù)期。
在本發(fā)明的各種實施例中,本文中例如參考圖1-10所討論的操作可實現(xiàn)為硬件(例如電路)、軟件、固件、微代碼或者它們的組合,其可作為計算機程序產(chǎn)品被提供,例如包括有形(例如非暫態(tài))機器可讀或計算機可讀媒體(其上已存儲有用來對計算機進(jìn)行編程以執(zhí)行本文所討論的過程的指令(或軟件過程))。而且,作為示例,術(shù)語“邏輯”可包括軟件、硬件或者軟件和硬件的組合。機器可讀媒體可包括諸如本文中所討論的那些的存儲裝置。
本說明書中對“一個實施例”或“一實施例”的引用意味聯(lián)系該實施例所描述的具體特征、結(jié)構(gòu)或特性可被包括在至少一實現(xiàn)中。在本說明書的各個位置中,短語“在一個實施例中”的出現(xiàn)可以或者可以不是全部指代相同實施例。
而且,在本描述和權(quán)利要求中,術(shù)語“耦合”和“連接”連同它們的派生可被使用。在本發(fā)明的一些實施例中,“連接”可用來指示兩個或更多元件彼此處于直接物理或電接觸中。“耦合”可意味兩個或更多元件處于直接物理或者電接觸中。然而,“耦合”也可意味兩個或更多元件可以不是彼此處于直接接觸中,但仍然可彼此協(xié)作或交互。
因此,雖然已經(jīng)通過結(jié)構(gòu)特征和/或方法動作特定的語言來描述本發(fā)明的實施例,但是要理解,要求保護(hù)的主題可以并不局限于所描述的特定特征或動作。而是,所述特定特征和動作作為實現(xiàn)要求保護(hù)的主題的樣本形式被公開。