国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于更新無源可變電阻式存儲(chǔ)器中的數(shù)據(jù)的方法和裝置制造方法

      文檔序號:6494734閱讀:201來源:國知局
      用于更新無源可變電阻式存儲(chǔ)器中的數(shù)據(jù)的方法和裝置制造方法
      【專利摘要】提供了用于更新無源可變電阻式存儲(chǔ)器(PVRM)中的數(shù)據(jù)的方法和裝置。在一個(gè)實(shí)例中,公開了用于更新被存儲(chǔ)在PVRM中的數(shù)據(jù)的方法。所述方法包括在沒有使存儲(chǔ)器塊無效的情況下,更新高速緩存層次結(jié)構(gòu)中多個(gè)存儲(chǔ)器塊的存儲(chǔ)器塊。所述更新后的存儲(chǔ)器塊可以被從所述高速緩存層次結(jié)構(gòu)復(fù)制到直寫緩沖器。此外,所述方法包括將所述更新后的存儲(chǔ)器塊寫入到所述PVRM,從而更新所述PVRM中的數(shù)據(jù)。
      【專利說明】用于更新無源可變電阻式存儲(chǔ)器中的數(shù)據(jù)的方法和裝置
      [0001]公開的領(lǐng)域
      [0002]本公開涉及用于更新被存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)的方法和裝置。
      [0003]公開的背景
      [0004]常規(guī)的計(jì)算系統(tǒng)被設(shè)計(jì)折中利用易失性存儲(chǔ)器和傳統(tǒng)非易失性存儲(chǔ)器的不同特點(diǎn),以及在易失性存儲(chǔ)器和傳統(tǒng)的非易失性存儲(chǔ)器之間權(quán)衡。例如,非易失性存儲(chǔ)器(例如DRAM, SRAM等)提供相對快存取字節(jié)的尋址能力。然而,如其名稱所暗示,在斷電或通電斷電循環(huán)后,易失性存儲(chǔ)器丟失其狀態(tài)信息。相反,傳統(tǒng)的非易失性存儲(chǔ)器(例如,閃存,硬盤等)在斷電或通電斷電循環(huán)后保留其狀態(tài)信息。然而,傳統(tǒng)的非易失性存儲(chǔ)器具有一些缺點(diǎn)。例如,傳統(tǒng)的非易失性存儲(chǔ)器通常需要基于塊的更新。也就是說,為了更新傳統(tǒng)非易失性存儲(chǔ)器中的單個(gè)值,往往需要更新存儲(chǔ)器塊中的所有的值。如本領(lǐng)域的技術(shù)人員所理解的,這會(huì)增加等待時(shí)間和不必要地占用計(jì)算資源。
      [0005]因此,常規(guī)的計(jì)算系統(tǒng)在易失性和傳統(tǒng)的非易失性存儲(chǔ)器類型兩者中保存數(shù)據(jù)。例如,被CPU頻繁存取的數(shù)據(jù)可以被臨時(shí)存儲(chǔ)(即,高速緩存)在易失性存儲(chǔ)器中,所述易失性存儲(chǔ)器往往被存儲(chǔ)在CPU的芯片(例如,SRAM)內(nèi),用于快速存取。然而,由于易失性存儲(chǔ)器在斷電或通電斷電循環(huán)后丟失其狀態(tài)信息,對基于易失性存儲(chǔ)器的高速緩存的某些更新(例如,文件系統(tǒng)數(shù)據(jù))必須最終被復(fù)制在非易失性存儲(chǔ)器(例如,硬盤、閃存等)中,用于永久性存儲(chǔ)。對被存儲(chǔ)在非易失性存儲(chǔ)器中的數(shù)據(jù)的更新通常通過相對慢的基于塊的接口,例如高速擴(kuò)展接口(PC1-E)實(shí)現(xiàn)。然而,由于存取被擺在首位的傳統(tǒng)非易失性存儲(chǔ)器是相對慢的,PC1-E接口的使用基本上不會(huì)降低常規(guī)計(jì)算系統(tǒng)的整體存儲(chǔ)器存取時(shí)間。也就是說,永久性存儲(chǔ)已經(jīng)按常規(guī)在具有相對慢的存取時(shí)間的非易失性存儲(chǔ)器類型中實(shí)施。例如,被存儲(chǔ)在硬盤中的數(shù)據(jù)會(huì)花費(fèi)數(shù)毫秒存取,而被存儲(chǔ)在閃存存儲(chǔ)器中的數(shù)據(jù)會(huì)花費(fèi)數(shù)微秒存取。同樣,在沒有明顯影響性能的情況下,常規(guī)的永久性存儲(chǔ)更新機(jī)制(即,促進(jìn)更新永久性存儲(chǔ)的硬件和/或軟件)采用相應(yīng)慢的接口(例如,PC1-E和其他同等慢的接口)。
      [0006]然而,正出現(xiàn)新的存儲(chǔ)類型,其表現(xiàn)出比例如硬盤和/或閃存更快的存取時(shí)間。這些新存儲(chǔ)類型表現(xiàn)出字節(jié)尋址能力(與存儲(chǔ)器類型中,例如閃存的基于塊的尋址能力相比)和非易失性。因此,為了利用由這些新的存儲(chǔ)類型提供的更快存取時(shí)間,對應(yīng)采用塊的永久性存儲(chǔ)更新機(jī)制?,F(xiàn)有的永久性存儲(chǔ)更新機(jī)制太慢,難以利用由這些新的存儲(chǔ)類型提供的更快存取時(shí)間,因此,不適合用于這些新的存儲(chǔ)類型。
      [0007]同時(shí),現(xiàn)有的主存儲(chǔ)器更新機(jī)制(即,促進(jìn)更新主存儲(chǔ)器的硬件和/或軟件)可以給這些新的存儲(chǔ)類型提供合適的存取時(shí)間,然而,這些更新機(jī)制不能提供回寫完成的可見度的軟件(例如,操作系統(tǒng))。不能提供回寫完成的可見度的軟件會(huì)導(dǎo)致計(jì)算裝置文件系統(tǒng)的不一致(例如,由操作系統(tǒng)實(shí)施的文件系統(tǒng))。
      [0008]如本領(lǐng)域所知,計(jì)算裝置的操作系統(tǒng)(OS)可以實(shí)施被設(shè)計(jì)用于組織、管理和分類在計(jì)算裝置的存儲(chǔ)組件(例如,DRAM,硬盤、閃存等)上被保存為文件的數(shù)據(jù)的文件系統(tǒng)。文件系統(tǒng)負(fù)責(zé)將存儲(chǔ)組件的物理扇區(qū)(例如,存儲(chǔ)器的512比特物理扇區(qū))組織成文件和目錄,以及保持跟蹤哪個(gè)扇區(qū)屬于哪個(gè)文件,以及哪個(gè)扇區(qū)未被使用。大多數(shù)文件系統(tǒng)將數(shù)據(jù)定址在被稱為“存儲(chǔ)器塊”的固定大小的單元中。為了保持一致性和耐久性,如本領(lǐng)域所知的那些術(shù)語一樣,文件系統(tǒng)必須知道寫入何時(shí)到達(dá)永久性存儲(chǔ),以及必須能夠定義特定寫入之間的排序。例如,如本領(lǐng)域所知,影子分頁文件系統(tǒng)必須確保在將索引節(jié)點(diǎn)文件更新到新的數(shù)據(jù)文件點(diǎn)之前,數(shù)據(jù)文件被更新。然而,如果索引節(jié)點(diǎn)文件的回寫在數(shù)據(jù)文件被寫回之前發(fā)生,那么永久性存儲(chǔ)將是不一致的。因此,對于硬件來說,保持由軟件規(guī)定的回寫的排序是很重要的。
      [0009]許多現(xiàn)有的主存儲(chǔ)器更新機(jī)制不向軟件提供永久性存儲(chǔ)的回寫可見度。其他現(xiàn)有主存儲(chǔ)器更新機(jī)制可以向軟件提供回寫可見度,但是過分地慢。雖然存在可以被用來提供必要的排序約束的寫策略,但是這些現(xiàn)有的策略不足以用于上述的新的存儲(chǔ)類型。
      [0010]例如,排序約束問題的一個(gè)常規(guī)解決方案是使用回寫存儲(chǔ)器(WB)。如其名稱所暗示,WB存儲(chǔ)器僅當(dāng)臟高速緩存塊(dirty cache block)(即,高速緩存器中正被寫入的高速緩存塊)被從高速緩存層次結(jié)構(gòu)中排除時(shí),向主存儲(chǔ)器寫入。系統(tǒng)中的這樣的高速緩存一致性協(xié)議確保所有處理器(例如,CPU和/GPU)看到WB塊的一致視圖,即使主存儲(chǔ)器實(shí)際正在存儲(chǔ)過期數(shù)據(jù)。
      [0011]通過利用緩存刷新或非暫時(shí)存儲(chǔ)指令,將數(shù)據(jù)回退主存儲(chǔ)器,以上述方式采用WB存儲(chǔ)器的系統(tǒng)可以提供必要的排序約束。例如,CFLUSH x86指令使高速緩存層次結(jié)構(gòu)中所規(guī)定的高速緩存線地址的所有復(fù)制無效,以及如果塊是臟的,將其寫入到主存儲(chǔ)器。同時(shí),x86非暫時(shí)存儲(chǔ)指令將數(shù)據(jù)寫入到緩存塊,接著使緩存塊主存儲(chǔ)器無效。這兩種指令類型相對于其他存儲(chǔ)器操作是弱排序的,因此,必須插入MFENCE或SFENCE指令,以便對這兩種指令類型相對于其他存儲(chǔ)器操作排序。這種解決方案相關(guān)的一個(gè)缺陷是,當(dāng)CFLUSH指令被用于使高速緩存線無效時(shí),其導(dǎo)致對高速緩存線的任何后續(xù)存取錯(cuò)失緩存和錯(cuò)失存取主存儲(chǔ)器。在特定數(shù)據(jù)被更新相當(dāng)頻繁的情況下,這會(huì)導(dǎo)致明顯的性能下降。如本文所使用,數(shù)據(jù)可以包括命令/指令或任何其他合適的信息。
      [0012]可替代使用不可緩存(UC)存儲(chǔ)器,而不使用WB存儲(chǔ)器。UC存儲(chǔ)器超過WB存儲(chǔ)器的一個(gè)優(yōu)點(diǎn)是UC存儲(chǔ)器存取不被記錄,以及寫入直接更新主存儲(chǔ)器。因此,UC在沒有需要MFENCE指令的情況下,提供必要的排序約束。然而,不允許高速緩存要求所有UC存儲(chǔ)器直接存取主存儲(chǔ)器以及所有UC讀取刷新寫入緩沖器,否則會(huì)增加帶寬需求,導(dǎo)致與上述的WB/CFLUSH解決方案相比更大的性能下降。
      [0013]另一個(gè)解決方案包括使用寫結(jié)合(WC)存儲(chǔ)器。WC存儲(chǔ)器類似于UC存儲(chǔ)器,但是其允許寫入被合并和彼此不按次序被執(zhí)行。進(jìn)一步地,WC讀取被推理執(zhí)行。然而,WC存儲(chǔ)器仍然不可緩存,所有的存取必須進(jìn)入主存儲(chǔ)器,導(dǎo)致性能下降。
      [0014]另一個(gè)解決方案包括使用直寫式(WT)存儲(chǔ)器。類似于WB存儲(chǔ)器,WT存儲(chǔ)器可以被高速緩存。而且,對WT存儲(chǔ)器的寫入直接寫入到主存儲(chǔ)器,從而消除對CFLUSH指令的需求。然而,WT解決方案仍然需要大量帶寬,這是因?yàn)樗械腤T存儲(chǔ)器寫入必須進(jìn)入主存儲(chǔ)器。總之,常規(guī)的主存儲(chǔ)器更新機(jī)制不能利用展現(xiàn)的非易失性、字節(jié)尋址能力和快速存取時(shí)間的新存儲(chǔ)器類型的許多優(yōu)點(diǎn)。
      [0015]因此,存在設(shè)計(jì)利用這些新的存儲(chǔ)器類型的更快存取時(shí)間、字節(jié)尋址能力和非易失性的方法和裝置的必要。
      [0016]附圖簡述[0017]結(jié)合下列繪圖以及所述繪圖中表示類似元件的類似參考編號,在閱讀下列描述后,本公開將變得更加易于理解,其中:
      [0018]圖1是示出根據(jù)本公開,用于更新無源可變電阻式存儲(chǔ)器(PVRM)中的數(shù)據(jù)的裝置的一個(gè)實(shí)例的框圖。
      [0019]圖2是示出根據(jù)本公開,用于更新PVRM中的數(shù)據(jù)的裝置的另一個(gè)實(shí)例的框圖。
      [0020]圖3是示出根據(jù)本公開,用于更新PVRM中的數(shù)據(jù)的裝置的另一個(gè)實(shí)例的框圖。
      [0021]圖4是示出用于更新PVRM中的數(shù)據(jù)的一個(gè)實(shí)例的流程圖。
      [0022]圖5是示出用于更新PVRM中的數(shù)據(jù)的另一個(gè)實(shí)例的流程圖。
      [0023]圖6是示出用于更新PVRM中的數(shù)據(jù)的另一個(gè)實(shí)例的流程圖。
      [0024]圖7是示出用于更新PVRM中的數(shù)據(jù)的另一個(gè)實(shí)例的流程圖。
      [0025]實(shí)施方案概述
      [0026]本公開提供用于更新PVRM中的數(shù)據(jù)的方法和裝置。在一個(gè)實(shí)例中,公開了用于更新PVRM中的數(shù)據(jù)的方法。在該實(shí)例中,所述方法包括在沒有使存儲(chǔ)器塊無效的情況下,更新高速緩存層次結(jié)構(gòu)中多個(gè)存儲(chǔ)器塊的存儲(chǔ)器塊。在一個(gè)實(shí)例中,多個(gè)存儲(chǔ)器塊的存儲(chǔ)器塊基于由處理器執(zhí)行的去耦直寫-非無效存儲(chǔ)指令(NISIDW)被更新。更新后的存儲(chǔ)器塊可以被從高速緩存層次結(jié)構(gòu)復(fù)制到直寫緩沖器。所述方法進(jìn)一步包括將更新后的存儲(chǔ)器塊寫入到PVRM,從而更新PVRM中的數(shù)據(jù)。在一個(gè)實(shí)例中,PVRM可以是下列PVRM類型中的至少一個(gè):相變存儲(chǔ)器、自旋轉(zhuǎn)矩轉(zhuǎn)移磁阻存儲(chǔ)器和/或憶阻存儲(chǔ)器。
      [0027]在另一個(gè)實(shí)例中,所述方法另外包括用處理器執(zhí)行至少一個(gè)FENCE指令。當(dāng)更新后的存儲(chǔ)器塊已經(jīng)基于FENCE指令被寫入到PVRM時(shí),處理器可以被通知。在另一個(gè)實(shí)例中,高速緩存層次結(jié)構(gòu)可以包括I級高速緩存、2級高速緩存和3級高速緩存中的至少一個(gè)。在另一個(gè)實(shí)例中,PVRM是字節(jié)可尋址的。
      [0028]本公開還提供例如可用于完成上述方法的相關(guān)裝置。在一個(gè)實(shí)例中,裝置包括高速緩存層次結(jié)構(gòu),其包括多個(gè)存儲(chǔ)器塊,可操作連接到高速緩存層次結(jié)構(gòu)的直寫緩沖器,可操作連接到直寫緩沖器的PVRM,以及可操作連接到高速緩存層次結(jié)構(gòu)的處理器。在該實(shí)例中,處理器在沒有使存儲(chǔ)器塊無效的情況下,可操作更新高速緩存層次結(jié)構(gòu)中多個(gè)存儲(chǔ)器塊的存儲(chǔ)器塊。這可以由,例如執(zhí)行至少一個(gè)NISIDW的處理器完成。繼續(xù)該實(shí)例,高速緩存層次結(jié)構(gòu)可操作將更新后的存儲(chǔ)器塊復(fù)制到直寫緩沖器中,作為對更新存儲(chǔ)器塊的處理器的響應(yīng)。直寫緩沖器可操作將更新后的存儲(chǔ)器塊寫入到PVRM。以這種方式,被存儲(chǔ)在PVRM中的數(shù)據(jù)可以被更新。
      [0029]在裝置的一個(gè)實(shí)例中,PVRM通過片上接口,例如雙數(shù)據(jù)速率接口,被可操作連接到直寫緩沖器,使得直寫緩沖器通過片上接口,可操作將更新后的存儲(chǔ)器塊寫入到PVRM。在另一個(gè)實(shí)例中,處理器進(jìn)一步可操作執(zhí)行至少一個(gè)FENCE指令。當(dāng)每個(gè)FENCE指令已經(jīng)將更新后的存儲(chǔ)器塊寫入到PVRM時(shí),其可操作促使直寫緩沖器通知處理器。在另一個(gè)實(shí)例中,裝置還包括至少一個(gè)附加的處理器。在該實(shí)例中,在處理器對至少一個(gè)FENCE指令中的每個(gè)執(zhí)行后,處理器和至少一個(gè)附加處理器具有PVRM中數(shù)據(jù)的一致的全局視圖。
      [0030]本公開還提供用于更新PVRM中的數(shù)據(jù)的另一個(gè)方法。在一個(gè)實(shí)例中,該方法包括由處理器向PVRM控制器傳送控制信息,所述控制信息識(shí)別將高速緩存層次結(jié)構(gòu)中多個(gè)存儲(chǔ)器塊的至少一個(gè)存儲(chǔ)器塊復(fù)制到PVRM。至少一個(gè)被識(shí)別的存儲(chǔ)器塊還可以從高速緩存層次結(jié)構(gòu)被復(fù)制到PVRM,作為對控制信息的響應(yīng)。以這種方式,被存儲(chǔ)在PVRM中的數(shù)據(jù)可以被更新。
      [0031]在一個(gè)實(shí)例中,將至少一個(gè)被識(shí)別的存儲(chǔ)器塊從高速緩存層次結(jié)構(gòu)復(fù)制到PVRM包括通過片上接口,例如雙數(shù)據(jù)速率接口復(fù)制被識(shí)別的存儲(chǔ)器塊。在一個(gè)實(shí)例中,PVRM可以是下列PVRM類型中的至少一個(gè):相變存儲(chǔ)器、自旋轉(zhuǎn)矩轉(zhuǎn)移磁阻存儲(chǔ)器和/或憶阻存儲(chǔ)器。
      [0032]在一個(gè)實(shí)例中,方法還包括通過處理器獲得完成通知信息。完成通知信息可操作通知處理器:至少一個(gè)被識(shí)別的存儲(chǔ)器塊已經(jīng)被從高速緩存層次結(jié)構(gòu)復(fù)制到PVRM。完成通知信息可以通過幾個(gè)方式獲得。在一個(gè)實(shí)例中,完成通知信息通過處理器輪詢與PVRM控制器相關(guān)的狀態(tài)位獲得。在該實(shí)例中,狀態(tài)位表示至少一個(gè)被識(shí)別的存儲(chǔ)器塊是否已經(jīng)從高速緩存層次結(jié)構(gòu)被復(fù)制到PVRM。在另一個(gè)實(shí)例中,完成通知信息通過處理器從PVRM控制器接收指示至少一個(gè)被識(shí)別的存儲(chǔ)器塊已經(jīng)被從高速緩存層次結(jié)構(gòu)復(fù)制到PVRM的處理器中斷信號獲得。在另一個(gè)實(shí)例中,高速緩存層次結(jié)構(gòu)可以包括I級高速緩存、2級高速緩存和3級高速緩存中的至少一個(gè)。
      [0033]本公開還提供例如可用于完成上述方法的相關(guān)裝置。在一個(gè)實(shí)例中,裝置包括高速緩存層次結(jié)構(gòu),其包括多個(gè)存儲(chǔ)器塊、PVRM、可操作連接到高速緩存層次結(jié)構(gòu)和PVRM的PVRM控制器,以及可操作連接到PVRM控制器的處理器。在該實(shí)例中,處理器可操作向PVRM控制器傳送控制信息,所述控制信息識(shí)別將多個(gè)存儲(chǔ)器塊的至少一個(gè)存儲(chǔ)器塊從高速緩存層次結(jié)構(gòu)復(fù)制到PVRM。繼續(xù)該實(shí)例,PVRM控制器可操作將至少一個(gè)被識(shí)別的存儲(chǔ)器塊從高速緩存層次結(jié)構(gòu)復(fù)制到PVRM,作為對控制信息的響應(yīng)。
      [0034]在一個(gè)實(shí)例中,處理器可操作獲得完成通知信息,所述完成通知信息可操作通知處理器至少一個(gè)被識(shí)別的存儲(chǔ)器塊已經(jīng)被從高速緩存層次結(jié)構(gòu)復(fù)制到PVRM。完成通知信息可以例如使用上述技術(shù)中的任意一個(gè)(例如,輪詢狀態(tài)位和/或經(jīng)由處理器中斷信號)獲得。在另一個(gè)實(shí)例中,PVRM通過片上接口,例如雙數(shù)據(jù)速率接口,被可操作連接到高速緩存層次結(jié)構(gòu),使得PVRM控制器通過片上接口,可操作將至少一個(gè)被識(shí)別的存儲(chǔ)器塊復(fù)制到PVRM。
      [0035]除了其他優(yōu)點(diǎn)之外,所公開的方法和裝置提供新的永久性存儲(chǔ)更新機(jī)制,其具有兼容于PVRM的存取速度和去耦直寫非無效存儲(chǔ)指令(NISIDW)。在包括新的永久性存儲(chǔ)更新機(jī)制的計(jì)算系統(tǒng)中執(zhí)行NISIDW提供回寫完成的可見度的軟件,以便保持永久性存儲(chǔ)(例如,PVRM)的狀態(tài)的一致視圖。而且,在沒有使更新后的存儲(chǔ)器塊無效的情況下,NISIDff能夠更新高速緩存層次結(jié)構(gòu)和PVRM。本領(lǐng)域的普通技術(shù)人員將認(rèn)識(shí)到其它優(yōu)點(diǎn)。
      [0036]實(shí)施方案詳述
      [0037]下列實(shí)施方案的描述實(shí)質(zhì)上僅僅是示例性的,并不是為了本公開及其應(yīng)用和用途。圖1示出根據(jù)本公開,用于更新無源可變電阻式存儲(chǔ)器(PVRM)IOS中的數(shù)據(jù)的裝置100(即,新的永久性存儲(chǔ)更新機(jī)制)的一個(gè)實(shí)例。在一個(gè)實(shí)例中,PVRM可以包括相變存儲(chǔ)器、自旋轉(zhuǎn)矩轉(zhuǎn)移磁阻存儲(chǔ)器、憶阻存儲(chǔ)器中的任意一個(gè),或非易失性無源可變電阻式存儲(chǔ)器的任何其他合適形式。裝置100可以存在于,例如個(gè)人計(jì)算機(jī)(例如,桌面或便攜式計(jì)算機(jī))、個(gè)人數(shù)字助理終端(PDA)、蜂窩電話、平板電腦(例如,Apple? iPad?)、一個(gè)或多個(gè)網(wǎng)絡(luò)計(jì)算裝置(例如,服務(wù)器等,其中每個(gè)單獨(dú)的計(jì)算裝置實(shí)施裝置100的一個(gè)或多個(gè)功能)、照相機(jī),或任何其它合適的電子裝置中。裝置100包括處理器112。處理器112可以包括一個(gè)或多個(gè)微處理器、微控制器、數(shù)字信號處理器,或在被存儲(chǔ)在存儲(chǔ)組件的可執(zhí)行指令的控制下操作的上述處理裝置的組合。在一個(gè)實(shí)例中,處理器112是中央處理單元(CPU)。
      [0038]PVRM是描述以電阻形式而不是電荷形式存儲(chǔ)狀態(tài)的任何存儲(chǔ)器技術(shù)的廣義術(shù)語。也就是說,與使用電荷存儲(chǔ)位的狀態(tài)的基于電荷的存儲(chǔ)器相反,PVRM技術(shù)使用單元的電阻存儲(chǔ)位的狀態(tài)。由于PVRM不需要任何有源的半導(dǎo)體器件,例如晶體管起開關(guān)的作用這一事實(shí),PVRM被稱為是無源的。由于在斷電或通電斷電循環(huán)后,PVRM保留狀態(tài)信息的這一事實(shí),這些存儲(chǔ)器類型被稱為“非易失性”。無源可變電阻式存儲(chǔ)器也被稱為電阻式非易失性隨機(jī)存取存儲(chǔ)器(RNVRAM或RRAM)。
      [0039]PVRM的實(shí)例包括但不限于,鐵電RAM (FeRAM)、磁阻RAM (MRAM)、憶阻器、相變存儲(chǔ)器(PCM),以及旋轉(zhuǎn)轉(zhuǎn)矩轉(zhuǎn)移MRAM (STT-MRAM)0雖然這些技術(shù)中的任意一個(gè)可能適合于結(jié)合例如本文公開的裝置100使用,但是PCM、憶阻器以及STT-MRAM被認(rèn)為提供特別好的配合,因此,將在下面詳細(xì)描述。
      [0040]相變存儲(chǔ)器(PCM)是依賴相位變化材料,通常是硫?qū)僭鼗锏膶傩源鎯?chǔ)狀態(tài)的PVRM技術(shù)。通過將電流注入到存儲(chǔ)裝置,熱升溫相變材料來執(zhí)行寫入。突然的電流切斷會(huì)產(chǎn)生凍結(jié)在無定形狀態(tài)的材料,它具有高的電阻率,而緩慢逐漸減少的電流會(huì)導(dǎo)致材料中晶體的形成。結(jié)晶狀態(tài)比無定形狀態(tài)具有更低的電阻率;因此,值I或O和單元的電阻率相對應(yīng)。多樣的電流下降斜率可以產(chǎn)生中間狀態(tài),從而允許潛在的多電平單元。PCM存儲(chǔ)元件由加熱電阻和電極之間的硫?qū)僭鼗锝M成,而PCM單元由存儲(chǔ)元件和存取晶體管組成。
      [0041]憶阻器通常被稱為“第四電路元件”,其他三個(gè)是電阻、電容、電感。憶阻器本質(zhì)上是雙端的可變電阻,其電阻取決于流過端子之間的電荷量。因此,憶阻器的電阻隨著流過的電流量改變,并且電阻被記憶,即使電流的流動(dòng)被停止。憶阻器的一個(gè)實(shí)例被公開在標(biāo)題為“ELECTRICALLY ACTUATED SWITCH”的相應(yīng)美國專利申請公開N0.2008/0090337中,其全部內(nèi)容通過引用并入本文。
      [0042]自旋轉(zhuǎn)矩轉(zhuǎn)移磁阻RAM( STT-MRAM)是MRAM的第二代版本,其原版本被視為半導(dǎo)體國際技術(shù)路線圖(ITRS)的“原型”。MRAM以磁隧道結(jié)(MTJ)形式存儲(chǔ)信息,所述磁隧道結(jié)用薄絕緣材料將兩個(gè)鐵磁材料分隔。當(dāng)一個(gè)層切換到對準(zhǔn)其對口層的方向或與對口層的方向相反時(shí),存儲(chǔ)值改變,這隨后影響結(jié)的電阻。原始的MRAM需要足夠的磁場,以便引起這種改變。這既困難又低效,導(dǎo)致不切實(shí)際的高寫入能耗。在不需要外部磁場的情況下,STT-MRAM使用自旋極化電流反轉(zhuǎn)極性。因此,STT技術(shù)降低寫入能耗以及消除產(chǎn)生可靠和足夠強(qiáng)磁場的困難方面。然而,STT-MRAM (如PCM)需要存取晶體管,因此其單元尺寸等級取決于晶體管的尺寸等級。
      [0043]在任何情況下,處理器112包括指令高速緩存122,其通過合適的通信通道,例如片上總線被可操作連接到處理器核126。指令高速緩存122可操作存儲(chǔ)可以被處理器112的處理器核126執(zhí)行的指令,例如一個(gè)或多個(gè)非易失性存儲(chǔ)指令114和/或FENCE指令124。如本文描述的實(shí)施例所使用,F(xiàn)ENCE指令可以包括,例如任何X86FENCE指令(例如,MFENCE、SFENCE, LFENCE等)。在一個(gè)實(shí)例中,F(xiàn)ENCE指令可以包括新的FENCE指令(即,未被包括在X86ISA中的專屬FENCE指令),所述新的FENCE指令直到直寫緩沖器,例如直寫緩沖器106是空的才完成。裝置100還包括高速緩存層次結(jié)構(gòu)102。
      [0044]高速緩存層次結(jié)構(gòu)102可以包括任何合適數(shù)量的緩存級。例如,在一個(gè)實(shí)施例中,高速緩存層次結(jié)構(gòu)102可以僅包括I級緩存。然而,人們已經(jīng)認(rèn)識(shí)到高速緩存層次結(jié)構(gòu)102也可包括幾個(gè)不同的高速緩存級(例如,I級緩存、2級緩存,以及3級緩存)。如本領(lǐng)域所熟知,高速緩存層次結(jié)構(gòu)102通過一個(gè)或多個(gè)片上或片下總線,被可操作連接到處理器112。高速緩存層次結(jié)構(gòu)102可以包括,例如,易失性/非易失性存儲(chǔ)器組件,例如只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、電可擦除可編程只讀存儲(chǔ)器(EE-PROM), PVRM等的任何組合。例如,在一個(gè)實(shí)施例中,高速緩存層次結(jié)構(gòu)102可以包括SRAM (靜態(tài)隨機(jī)存取存儲(chǔ)器)和/或DRAM (動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)。高速緩存層次結(jié)構(gòu)102包括多個(gè)存儲(chǔ)器塊104,例如存儲(chǔ)器塊116 (標(biāo)有“塊B”)和更新后的存儲(chǔ)器塊118 (標(biāo)有“塊A”)。如本文描述的實(shí)施例所使用,存儲(chǔ)器塊是指永久性存儲(chǔ)更新機(jī)制(即,裝置100的組件)轉(zhuǎn)移的最小毗鄰字節(jié)組。對于現(xiàn)代的計(jì)算系統(tǒng),存儲(chǔ)器塊通常是64到128字節(jié)。
      [0045]裝置100還包括直寫緩沖器106。如本領(lǐng)域所熟知,直寫緩沖器106通過一個(gè)或多個(gè)合適的通信通道(例如,總線、片上接口、片下接口等),被可操作連接到高速緩存層次結(jié)構(gòu)102和處理器112。直寫緩沖器116可以包括,例如,易失性/非易失性存儲(chǔ)器組件,例如只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、電可擦除可編程只讀存儲(chǔ)器(EE-PROM)、PVRM等的任何組合。最終,裝置100包括PVRM108,其經(jīng)由片上接口 120,例如雙數(shù)據(jù)速率(DDR)接口,被可操作連接到直寫緩沖器106。
      [0046]PVRM108包括數(shù)據(jù),例如表示文件、命令/指令或任何其他合適信息的數(shù)據(jù)。PVRM108可操作存儲(chǔ)一個(gè)或多個(gè)存儲(chǔ)器塊,例如更新后的存儲(chǔ)器塊118。
      [0047]在一個(gè)實(shí)例中,裝置100操作如下。在處理器112上運(yùn)行的存儲(chǔ)軟件(例如,存儲(chǔ)的計(jì)算機(jī)程序)促使處理器發(fā)出去耦直寫非無效存儲(chǔ)指令114 (NISIDff)0 NISIDW114被從處理器112的指令高速緩存122傳達(dá)到處理器核126,其中,NISIDW114被轉(zhuǎn)換為去耦直寫132的寫入請求130。寫入請求130可以識(shí)別例如包含要被更新的數(shù)據(jù)的存儲(chǔ)器的地址,以及在存儲(chǔ)器中地址的數(shù)據(jù)的新值應(yīng)該被采用。接著,去耦直寫132的寫入請求130被發(fā)給高速緩存層次結(jié)構(gòu)102。再者,高速緩存層次結(jié)構(gòu)102可以包括,例如,I級緩存(例如,在處理器片上的SRAM、DRAM、PVRM等)。
      [0048]如果寫入請求130命中高速緩存層次結(jié)構(gòu)102(即,如果要尋求更新的特定存儲(chǔ)器塊駐留在高速緩存層次結(jié)構(gòu)102內(nèi)),那么相應(yīng)的存儲(chǔ)器塊被所期望的值更新。例如,繼續(xù)參考圖1,寫入請求130可以更新“塊A”,使得更新后的塊A構(gòu)成更新后的存儲(chǔ)器塊118。雖然塊A被用于示出更新后的存儲(chǔ)器塊118,人們已經(jīng)認(rèn)識(shí)到任何數(shù)量的不同存儲(chǔ)器塊可以如所期望被更新。然而,如NISIDW這一名稱所暗示,向高速緩存層次結(jié)構(gòu)102的寫入請求130不使被更新的存儲(chǔ)器塊無效。而是在更新后,更新后的存儲(chǔ)器塊118的拷貝被保持在高速緩存層次結(jié)構(gòu)102中。以這種方式,一旦相應(yīng)的存儲(chǔ)器塊被更新,寫入請求130就從處理器112的角度完成。因此,向PVRM108的任何隨后直寫132可以被合并和相對于其他寫入是無序發(fā)出的,從而允許他們被緩存在單獨(dú)的直寫緩沖器106中,下面將對其詳細(xì)討論。因此,這些直寫132不會(huì)像現(xiàn)有的WT存儲(chǔ)器直寫一樣,產(chǎn)生相同的帶寬負(fù)擔(dān),其中WT存儲(chǔ)器不能發(fā)出無序的直寫。
      [0049]繼續(xù)上述過程,高速緩存層次結(jié)構(gòu)102接著向處理器112返回指示寫入操作成功完成的確認(rèn)信號136。在接收確認(rèn)信號136后,處理器核126繼續(xù)執(zhí)行指令序列中的下一個(gè)指令。在相同或大約相同時(shí)間,高速緩存層次結(jié)構(gòu)102向處理器112返回信號136,高速緩存層次結(jié)構(gòu)102還可以向直寫緩沖器106發(fā)出去耦直寫132。去耦直寫132包含與寫入請求130相同的數(shù)據(jù)。也就是說,去耦直寫132可以識(shí)別包含要被更新的數(shù)據(jù)的存儲(chǔ)器的地址,以及在存儲(chǔ)器中地址的數(shù)據(jù)的新值應(yīng)該被采用。參考圖1,該原理被示為,更新后的存儲(chǔ)器塊118被從高速緩存層次結(jié)構(gòu)102 (以及被高速緩存層次結(jié)構(gòu)102)復(fù)制到直寫緩沖器106。
      [0050]接著,當(dāng)片上接口 120能夠接納PVRM寫入請求134時(shí),直寫緩沖器106可以將更新后的存儲(chǔ)器塊118寫入到PVRM108 (即,轉(zhuǎn)移表示更新后的存儲(chǔ)器塊118的數(shù)據(jù))。也就是說,在一個(gè)實(shí)例中,直寫緩沖器106可以包含被指定存儲(chǔ)在PVRM108中的表示多個(gè)存儲(chǔ)器塊的數(shù)據(jù)。在這樣的情況下,直寫緩沖器106不能立即接納所給出的對應(yīng)于特定存儲(chǔ)器塊(例如,更新后的存儲(chǔ)器塊118)的PVRM寫入請求134,這是因?yàn)槠湫枰獙懭腭v留在緩沖器106中的其他存儲(chǔ)器塊。人們已經(jīng)認(rèn)識(shí)到直寫緩沖器106可以如所期望實(shí)施本領(lǐng)域已知的任何合適的無效方案,例如,先入先出(FIFO)無效方案或無序的無效方案。以這種方式,被存儲(chǔ)在PVRM108中的數(shù)據(jù)可以被表征為在對給定存儲(chǔ)器塊的直寫緩沖器106寫入后(例如,更新后的存儲(chǔ)器塊118)已經(jīng)被更新。
      [0051]顯而易見,直寫緩沖器106通過片上接口 120被可操作連接到PVRM108。與片下接口相反的片上接口 120被用在本公開中,以便與傳統(tǒng)的非易失性RAM相比優(yōu)化PVRM108的相對快速存取時(shí)間。片上接口可以包括,例如DDR接口、DDR2接口、DDR3接口,或本領(lǐng)域已知的任何其他合適的片上接口。如果使用更慢(例如,片下)的接口,PVRM108的高速存取將會(huì)下降。
      [0052]前述的更新PVRM108的過程可以繼續(xù)所期望的許多更新,直到FENCE指令124發(fā)出。如本領(lǐng)域所知,F(xiàn)ENCE指令124是促使處理器(例如,處理器112)在FENCE指令124發(fā)出之前和之后加強(qiáng)存儲(chǔ)器操作(例如,讀取/寫入)的排序約束的指令類別。也就是說,F(xiàn)ENCE指令124對在FENCE指令124之前發(fā)出的所有在存儲(chǔ)器上的存儲(chǔ)執(zhí)行序列化操作(例如,寫入請求130/去耦直寫132)。這種序列化操作確保以程序次序在FENCE指令124之前的每個(gè)存儲(chǔ)指令在跟隨在FENCE指令124之后的任何加載/存儲(chǔ)指令是全局可見之前是全局可見的。以這種方式,軟件(例如,OS實(shí)施文件系統(tǒng))知道什么操作已經(jīng)全部完成,以便確定存儲(chǔ)的狀態(tài)。因此,如果發(fā)生系統(tǒng)崩潰,軟件知道給定的操作是否成功,或是否需要進(jìn)行重新進(jìn)行。也就是說,本公開的FENCE指令124確保對PVRM108更新的可見度,以便保持存儲(chǔ)狀態(tài)的一致視圖。以這種方式,裝置100可以防止并行程序以及已知跨多線程指令的存儲(chǔ)器操作被重新排序何時(shí)發(fā)生的裝置驅(qū)動(dòng)器的不可預(yù)見行為。
      [0053]在裝置100中,F(xiàn)ENCE指令124在一個(gè)邏輯指令組(例如,寫入請求130)結(jié)束時(shí)發(fā)出信號,以便向軟件提供PVRM更新的可見度,從而保持存儲(chǔ)狀態(tài)的一致視圖。當(dāng)需要時(shí)(例如,在邏輯指令組結(jié)束時(shí)),F(xiàn)ENCE指令124由處理器112向直寫緩沖器106發(fā)出,請求直寫緩沖器106當(dāng)其空閑時(shí)(即,當(dāng)其已經(jīng)將其所有存儲(chǔ)器塊寫入到PVRM108時(shí)),通知處理器112。當(dāng)直寫緩沖器106是空閑時(shí),其向處理器112傳送通知信息128。通知信息128可操作通知處理器112直寫緩沖器106是空閑的。該過程是有優(yōu)勢的,這是因?yàn)?,在接收通知信?28后,在處理器112上運(yùn)行的軟件會(huì)促使處理器更新例如文件系統(tǒng)狀態(tài),以便提醒是特定存儲(chǔ)器塊最新版本(例如,更新后的存儲(chǔ)器塊118)的其他裝置組件(例如,除了處理器112以外的一個(gè)或多個(gè)其他處理器)被定位給PVRM108。以這種方式,在處理器112對至少一個(gè)FENCE指令124中的每個(gè)執(zhí)行后,處理器112和每個(gè)附加處理器(未示出)具有對被存儲(chǔ)在PVRM108中的數(shù)據(jù)普遍視圖。
      [0054]雖然上述討論集中在寫入請求130命中高速緩存層次結(jié)構(gòu)102的情況,人們已經(jīng)認(rèn)識(shí)到在某些情況下,寫入請求130將錯(cuò)過高速緩存層次結(jié)構(gòu)102。在這樣的情況下,高速緩存層次結(jié)構(gòu)102 (例如,層次結(jié)構(gòu)內(nèi)的I級緩存)會(huì)發(fā)出對應(yīng)于寫入請求130尋求更新的存儲(chǔ)器塊的排他讀請求。排他讀請求對包含發(fā)出塊的存儲(chǔ)器部分做出回應(yīng)(例如,另一個(gè)高速緩存和/或PVRM108自身),并準(zhǔn)許高速緩存層次結(jié)構(gòu)102 (例如,I級緩存)排他允許和塊的數(shù)據(jù)。一旦排他允許已經(jīng)被準(zhǔn)許,進(jìn)程像寫入請求130初始命中高速緩存層次結(jié)構(gòu)102一樣進(jìn)行。
      [0055]以這種方式,在圖1中示出的裝置100提供PVRM108中的數(shù)據(jù)字節(jié)狀的更新。包含片上接口 120的裝置100的架構(gòu)利用字節(jié)尋址能力的特質(zhì)和與PVRM108相關(guān)的快速存取時(shí)間,而又提供軟件對PVRM更新的可見度,以便保持存儲(chǔ)狀態(tài)的一致視圖。
      [0056]圖4是示出根據(jù)本公開,用于更新PVRM中的數(shù)據(jù)的方法的一個(gè)實(shí)例的流程圖。在圖4中所公開的方法可以通過例如圖1中示出的裝置100來實(shí)現(xiàn)。在步驟400,在沒有使存儲(chǔ)器塊無效的情況下,更新高速緩存層次結(jié)構(gòu)中多個(gè)存儲(chǔ)器塊的存儲(chǔ)器塊。在一個(gè)實(shí)例中,多個(gè)存儲(chǔ)器塊的存儲(chǔ)器塊基于由處理器執(zhí)行的NISIDW被更新。在步驟402,更新后的存儲(chǔ)器塊被從高速緩存層次結(jié)構(gòu)復(fù)制到直寫緩沖器。在步驟404,更新后的存儲(chǔ)器塊被寫入到PVRM,從而更新PVRM中的數(shù)據(jù)。
      [0057]圖5是示出根據(jù)本公開用于更新PVRM中的數(shù)據(jù)的方法的另一個(gè)實(shí)例的流程圖。在圖5中所公開的方法可以由,例如在圖1中示出的裝置100實(shí)現(xiàn)。步驟400-404像上述關(guān)于圖4 一樣被實(shí)現(xiàn)。在步驟500,至少一個(gè)FENCE指令被處理器執(zhí)行。在步驟502,當(dāng)更新后的存儲(chǔ)器塊已經(jīng)基于FENCE指令被寫入到PVRM時(shí),處理器被通知。
      [0058]圖2是示出根據(jù)本公開用于更新PVRM108中的數(shù)據(jù)的裝置100 (B卩,新的永久性存儲(chǔ)更新機(jī)制)的另一個(gè)實(shí)例。上述關(guān)于圖1描述的裝置100的組件表示實(shí)現(xiàn)對PVRM108中的數(shù)據(jù)字節(jié)可尋址更新所必需的組件。然而,如在下列關(guān)于圖2的討論中將變得更為清楚,裝置100還可以包括用于更新PVRM108中的數(shù)據(jù)的大數(shù)據(jù)文件和/或促進(jìn)批更新PVRM108中的數(shù)據(jù)的組件。換句話說,在圖1中示出的組件和在圖2中示出的組件可以共存于相同裝置100中,以便提供細(xì)粒度的永久性存儲(chǔ)更新機(jī)制(請參見,例如圖1)和粗粒度的永久性存儲(chǔ)更新機(jī)制(請參見,例如圖2)。
      [0059]在圖2中示出的裝置100包括處理器112,例如上述關(guān)于圖1描述的處理器112。處理器112被可操作連接到高速緩存層次結(jié)構(gòu)102,例如關(guān)于圖1所討論的高速緩存層次結(jié)構(gòu)102。高速緩存層次結(jié)構(gòu)102包括由單個(gè)存儲(chǔ)器塊116 (例如,塊A、塊B等)組成的多個(gè)存儲(chǔ)器塊104。單個(gè)存儲(chǔ)器塊116中的任意一個(gè)可以是更新后的存儲(chǔ)器塊118,例如上述關(guān)于圖1所討論的更新后的存儲(chǔ)器塊118。也就是說,多個(gè)存儲(chǔ)器塊104的任意一個(gè)或全部可以先前已經(jīng)被寫入請求130 (例如像在圖1中示出的寫入請求130)更新。高速緩存層次結(jié)構(gòu)102通過片上接口 120 (例如上述的片上接口 120)被可操作連接到PVRM控制器200。
      [0060]PVRM控制器200可以包括,例如能夠管理進(jìn)出PVRM108的數(shù)據(jù)流的數(shù)字電路,或本領(lǐng)域已知的任何合適存儲(chǔ)器控制器的類型。在一個(gè)實(shí)例中,PVRM控制器200可以被集成在相同的微處理器片上,例如處理器112。在任何情況下,如本領(lǐng)域所知,PVRM控制器200可以起存儲(chǔ)器直接存取(DMA)引擎的作用。以這種方式,PVRM控制器200可用于分擔(dān)處理器112的昂貴存儲(chǔ)器操作(例如,大容量復(fù)制或分散-聚集操作),以便處理器112能夠執(zhí)行其他任務(wù)。PVRM控制器200通過本領(lǐng)域已知的合適的通信通道(例如總線)被可操作連接到PVRM108。PVRM108根據(jù)上述提供的組件的討論行動(dòng)。
      [0061]在圖2中示出的裝置100操作如下。處理器112可以向PVRM控制器200傳送控制信息202??刂菩畔?02識(shí)別應(yīng)當(dāng)從高速緩存層次結(jié)構(gòu)102被復(fù)制到PVRM108的單個(gè)存儲(chǔ)器塊116。作為對接收控制信息202的響應(yīng),PVRM控制器200可操作將被識(shí)別的存儲(chǔ)器塊210從高速緩存層次結(jié)構(gòu)102復(fù)制到PVRM108,從而更新PVRM108中的數(shù)據(jù)。然而,在一個(gè)實(shí)施方案中人們已經(jīng)認(rèn)識(shí)到,PVRM控制器200可以使到PVRM108的被識(shí)別存儲(chǔ)器塊210無效,而不是僅僅復(fù)制被識(shí)別的存儲(chǔ)器塊210。
      [0062]然而,在一個(gè)實(shí)例中,PVRM控制器200可操作向高速緩存層次結(jié)構(gòu)102傳送指示多個(gè)存儲(chǔ)器塊104的單個(gè)存儲(chǔ)器塊116應(yīng)當(dāng)被復(fù)制/無效到PVRM108的一個(gè)或多個(gè)高速緩存探測208。在該實(shí)例中,作為對接收高速緩存探測208的響應(yīng),高速緩存層次結(jié)構(gòu)102可操作向PVRM108傳送表示被識(shí)別的存儲(chǔ)器塊210的數(shù)據(jù)。例如,繼續(xù)參考圖2,PVRM108被示為包括被識(shí)別的存儲(chǔ)器塊210。以這種方式,處理器112被釋放以執(zhí)行其他的操作,而PVRM控制器200管理一個(gè)或多個(gè)單個(gè)存儲(chǔ)器塊116從高速緩存層次結(jié)構(gòu)102到PVRM108的復(fù)制/無效。
      [0063]一旦被識(shí)別的存儲(chǔ)器塊210已經(jīng)被傳送到PVRM108中的永久性存儲(chǔ),處理器可以獲得完成通知信息204。完成通知信息204可操作通知處理器112:至少一個(gè)被識(shí)別的存儲(chǔ)器塊210已經(jīng)被從高速緩存層次結(jié)構(gòu)102復(fù)制/無效到PVRM108。在一個(gè)實(shí)例中,通過輪詢與PVRM控制器200相關(guān)的狀態(tài)位206,處理器112可操作獲得完成通知信息204。如實(shí)施方案所使用,“輪詢”可以包括連續(xù)采樣(例如,讀取)狀態(tài)位206,周期性采樣狀態(tài)位206,響應(yīng)某個(gè)事件而采樣狀態(tài)位,等。無論輪詢的方法,狀態(tài)位206可以指示,例如,至少一個(gè)被識(shí)別的存儲(chǔ)器塊210是否已經(jīng)被從高速緩存層次結(jié)構(gòu)102復(fù)制/無效到PVRM108。在另一個(gè)實(shí)例中,通過從PVRM控制器200接收指示至少一個(gè)被識(shí)別的存儲(chǔ)器塊210已經(jīng)被從高速緩存層次結(jié)構(gòu)102復(fù)制/無效到PVRM108的處理器中斷信號,處理器112可以獲得完成通知信息204。以這種方式,在圖2中示出的裝置100的組件可以促進(jìn)數(shù)據(jù)從高速緩存層次結(jié)構(gòu)102到PVRM108中的長期存儲(chǔ)的大容量轉(zhuǎn)移,而同時(shí)釋放處理器112,以便處理器112執(zhí)行其他操作。
      [0064]圖3示出根據(jù)本公開,用于更新PVRM108中的數(shù)據(jù)的裝置100的另一個(gè)實(shí)例。圖3基本上示出圖2的粗粒度更新機(jī)制,但是圖3包含直寫緩沖器106,例如上述關(guān)于圖1的直寫緩沖器106。在圖3中示出的裝置100的實(shí)例中,直寫緩沖器106可以被用作被識(shí)別的已經(jīng)被從高速緩存層次結(jié)構(gòu)102復(fù)制/無效,但還沒有到達(dá)PVRM108的存儲(chǔ)器塊210的臨時(shí)存儲(chǔ)。因此,直寫緩沖器106可用于管理從高速緩存層次結(jié)構(gòu)102到PVRM108的被識(shí)別存儲(chǔ)器塊210的流動(dòng)。換句話說,直寫緩沖器106可用于防止瓶頸的情形,當(dāng)被預(yù)計(jì)轉(zhuǎn)移到PVRM108的被識(shí)別存儲(chǔ)器塊210比片上接口 120能夠接納的更快時(shí),會(huì)產(chǎn)生瓶頸的情形。
      [0065]圖6示出根據(jù)本公開,用于更新PVRM中的數(shù)據(jù)的方法的一個(gè)實(shí)例的流程圖。在圖6中所公開的方法可以由,例如在圖2和/或3中示出的裝置100實(shí)現(xiàn)。在步驟600,處理器向PVRM控制器傳送控制信息??刂菩畔⒆R(shí)別將高速緩存層次結(jié)構(gòu)中多個(gè)存儲(chǔ)器塊的至少一個(gè)存儲(chǔ)器塊復(fù)制到PVRM。在步驟602,至少一個(gè)被識(shí)別的存儲(chǔ)器塊被從高速緩存層次結(jié)構(gòu)復(fù)制到PVRM,作為對控制信息的響應(yīng),從而更新PVRM中的數(shù)據(jù)。
      [0066]圖7示出根據(jù)本公開,用于更新PVRM中的數(shù)據(jù)的方法的另一個(gè)實(shí)例的流程圖。在圖7中所公開的方法可以由,例如在圖2和/或3中示出的裝置100實(shí)現(xiàn)。步驟600-602根據(jù)上面提供的那些步驟的討論被實(shí)現(xiàn)。在步驟700,處理器獲得完成通知信息。完成通知信息可操作通知處理器:至少一個(gè)被識(shí)別的存儲(chǔ)器塊已經(jīng)被從高速緩存層次結(jié)構(gòu)復(fù)制到PVRM。
      [0067]在一個(gè)實(shí)例中,每個(gè)PVRM存儲(chǔ)器單元(例如,I位)可以是任何合適設(shè)計(jì)的憶阻器。由于憶阻器包括在兩個(gè)金屬觸點(diǎn)(例如,鉬絲)之間的存儲(chǔ)器區(qū)域(例如,TiO2層),憶阻器可以被交變電流以交叉點(diǎn)陣列的樣式(即,交叉線對)存取,非破壞性讀出每個(gè)存儲(chǔ)單元的電阻。交叉桿是可以將一個(gè)線對集合中的每個(gè)線連接到與第一集合交叉的第二線對集合中的每個(gè)線的存儲(chǔ)器區(qū)域陣列(兩個(gè)線集合通常是彼此垂直的,但這不是必要條件)。本文所公開的憶阻器可以使用范圍廣泛的材料沉積和處理技術(shù)構(gòu)造。在標(biāo)題為“ELECTRICALLYACTUATED SWITCH”的美國專利申請N0.2008/0090337中公開了一個(gè)實(shí)例。
      [0068]在該實(shí)例中,下部電極使用常規(guī)技術(shù),例如光刻法或電子束光刻,或通過更先進(jìn)的技術(shù),例如壓印光刻構(gòu)造。這可以是,例如交叉線對的底線。下部電極的材料可以是金屬或半導(dǎo)體材料,優(yōu)選地是鉬。
      [0069]在該實(shí)例中,要被構(gòu)造的憶阻器的下一個(gè)組件是非共價(jià)鍵界面層,并且如果需要更大的機(jī)械強(qiáng)度,考慮到在更高施加電壓時(shí)的較慢切換所花費(fèi)的費(fèi)用,非共價(jià)鍵界面層可以被省略。在這樣的情況下,含有某些惰性材料的層被沉積。這可以是由朗繆爾-布洛杰特(Langmuir-Blodgett) (LB)工藝形成的單分子層,或者其可以是自組裝單層(SAM)。一般說來,該界面層可以向下部電極和存儲(chǔ)器區(qū)域的主層僅形成微弱的范德華型鍵合??蛇x地,該界面層可以是被沉積在冷卻基板上的冰的薄層。形成冰的材料可以是惰性氣體,例如氬,或其可以是像CO2的物種。在這樣的情況下,冰可以是防止下部電極與主層之間強(qiáng)烈化學(xué)鍵合的犧牲層,并且稍后在處理序列中加熱基板,使冰升華,從而從系統(tǒng)中失蹤。本領(lǐng)域的技術(shù)人員可以很容易設(shè)想在下部電極與主層之間形成弱鍵合界面的其他方式。
      [0070]下一步,主層的材料被沉積。這可以通過范圍廣泛的常規(guī)物理和化學(xué)技術(shù),包括從克努森容器(Knudsen cell)的蒸發(fā)、從坩堝的電子束蒸發(fā)、從目標(biāo)的噴涂或各種反應(yīng)前體的化學(xué)氣相或束生長形式完成。膜可以是從I到30納米(nm)厚的范圍,并且其可以在沒有摻雜物的情況下生長。根據(jù)主層的厚度,膜可以是納米晶體、納米孔或非晶形的,以便增加離子可以在材料中漂移的速度,以便實(shí)現(xiàn)離子注入的摻雜或離子從主層排出的去摻雜??蛇x擇適當(dāng)?shù)纳L條件,例如沉積速度和基板溫度來實(shí)現(xiàn)所需要的這種初始絕緣或低電導(dǎo)率的主層的化學(xué)成分和局部原子結(jié)構(gòu)。
      [0071]下一個(gè)層是用于主層的摻雜劑源層或第二層,其也可以通過上述技術(shù)中的任意一個(gè)沉積。這種材料被選擇,為主層提供適當(dāng)?shù)膿诫s物種。該第二層被選擇化學(xué)兼容于主層,例如,兩種材料應(yīng)當(dāng)不化學(xué)反應(yīng),并且彼此不可逆地形成第三種物質(zhì)??梢员挥米髦鲗雍偷诙拥牟牧蠈Φ囊粋€(gè)實(shí)例分別是TiO2和Ti02_x。TiO2是具有大約3.2eV帶隙的半導(dǎo)體。TiO2也是弱離子導(dǎo)體。TiO2薄膜產(chǎn)生隧道勢壘,以及Ti02_x形成將TiO2摻雜,使其導(dǎo)電的理想氧空位源。[0072]最終,上部電極以類似于產(chǎn)生下部電極的方式在第二層頂部構(gòu)造。這可以是,例如交叉線對的頂線。下部電極的材料可以是金屬或半導(dǎo)體材料,優(yōu)選地是鉬。如果存儲(chǔ)單元處于交叉點(diǎn)陣的樣式,沉積的存儲(chǔ)器區(qū)域材料消除的蝕刻工藝會(huì)是必要的,所述沉積的存儲(chǔ)器區(qū)域材料不在頂線下面以便隔離存儲(chǔ)器單元。然而應(yīng)當(dāng)理解,任何其他合適的材料沉積和處理技術(shù)可用于構(gòu)造無源可變電阻式存儲(chǔ)器的憶阻器。
      [0073]除了其他優(yōu)點(diǎn)之外,所公開的方法和裝置提供新的永久性存儲(chǔ)更新機(jī)制,其具有兼容于PVRM的存取速度和去耦直寫非無效存儲(chǔ)指令(NISIDW)。在包括新的永久性存儲(chǔ)更新機(jī)制的計(jì)算系統(tǒng)中執(zhí)行NISIDW提供回寫完成的可見度的軟件,以便保持永久性存儲(chǔ)(例如,PVRM)的狀態(tài)的一致視圖。而且,在沒有使更新后的存儲(chǔ)器塊無效的情況下,NISIDff能夠更新高速緩存層次結(jié)構(gòu)和PVRM。本領(lǐng)域的普通技術(shù)人員將認(rèn)識(shí)到其他優(yōu)點(diǎn)。
      [0074]而且,已知的是集成電路設(shè)計(jì)系統(tǒng)(例如,工作站)基于被存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)器,例如但不限于CD_R0M、RAM、其他ROM形式、硬盤、分布式存儲(chǔ)器等上的可執(zhí)行指令,創(chuàng)建集成電路。指令可以由任何合適的語言,例如但不限于硬件描述語言或任何其他合適語言表示。因此,本文的裝置還可以被生產(chǎn)為由這樣的系統(tǒng)創(chuàng)建的集成電路。例如,集成電路可以使用被存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的指令創(chuàng)建,當(dāng)指令被執(zhí)行時(shí),促使集成電路設(shè)計(jì)系統(tǒng)創(chuàng)建處理器可操作執(zhí)行至少一個(gè)去耦直寫非無效存儲(chǔ)指令(NISIDW)的集成電路;基于NISIDW,在沒有使存儲(chǔ)器塊無效的情況下,更新高速緩存層次結(jié)構(gòu)中的多個(gè)存儲(chǔ)器塊的存儲(chǔ)器塊;將更新后的存儲(chǔ)器塊從高速緩存層次結(jié)構(gòu)復(fù)制到直寫緩沖器;以及將更新后的存儲(chǔ)器塊寫入到PVRM,從而更新PVRM中的數(shù)據(jù)。具有執(zhí)行本文其他操作的邏輯的集成電路也可以被適當(dāng)生產(chǎn)。
      [0075]上述詳細(xì)描述和本文所述的實(shí)例僅用于陳述和說明的目的,并不是為了限制本公開的范圍。因此,可以設(shè)想本公開覆蓋落入本公開的基本原理和權(quán)利要求所要求的精神和范圍內(nèi)的所有更改、變化或等效替代。
      【權(quán)利要求】
      1.一種裝置,其包括: 包括多個(gè)存儲(chǔ)器塊的高速緩存層次結(jié)構(gòu); 被可操作連接到所述高速緩存層次結(jié)構(gòu)的直寫緩沖器; 被可操作連接到所述直寫緩沖器的無源可變電阻式存儲(chǔ)器(PVRM);以及被可操作連接到所述高速緩存層次結(jié)構(gòu)的處理器,所述處理器在沒有使存儲(chǔ)器塊無效的情況下,可操作更新所述高速緩存層次結(jié)構(gòu)中的多個(gè)存儲(chǔ)器塊的所述存儲(chǔ)器塊,其中所述高速緩存層次結(jié)構(gòu)可操作將更新后的存儲(chǔ)器塊復(fù)制到所述直寫緩沖器,作為對所述處理器更新所述存儲(chǔ)器塊的響應(yīng),并且其中所述直寫緩沖器可操作將所述更新后的存儲(chǔ)器塊寫入到所述PVRM。
      2.根據(jù)權(quán)利要求1所述的裝置,其中所述PVRM包括相變存儲(chǔ)器、自旋轉(zhuǎn)矩轉(zhuǎn)移磁阻存儲(chǔ)器和憶阻存儲(chǔ)器中的至少一個(gè)。
      3.根據(jù)權(quán)利要求1所述的裝置,其中所述PVRM通過片上接口被可操作連接到所述直寫緩沖器,并且其中所述直寫緩沖器通過所述片上接口可操作將所述更新后的存儲(chǔ)器塊寫入到所述PVRM。
      4.根據(jù)權(quán)利要求3所述的裝置,其中所述片上接口包括雙數(shù)據(jù)速率接口。
      5.根據(jù)權(quán)利要求1所述的裝置,其中所述處理器進(jìn)一步可操作執(zhí)行至少一個(gè)FENCE指令,當(dāng)所述直寫緩沖器已經(jīng)將所述更新后的存儲(chǔ)器塊寫入到所述PV RM時(shí),所述至少一個(gè)FENCE指令中的每個(gè)促使所述直寫緩沖器通知所述處理器。
      6.根據(jù)權(quán)利要求5所述的裝置,其進(jìn)一步包括至少一個(gè)附加處理器,其中在所述至少一個(gè)FENCE指令中的每個(gè)被所述處理器執(zhí)行后,所述處理器和至少一個(gè)附加處理器中的每個(gè)具有所述PVRM中的數(shù)據(jù)的一致的全局視圖。
      7.根據(jù)權(quán)利要求1所述的裝置,其中所述高速緩存層次結(jié)構(gòu)包括I級高速緩存、2級高速緩存和3級高速緩存中的至少一個(gè)。
      8.根據(jù)權(quán)利要求1所述的裝置,其中所述PVRM是字節(jié)可尋址的。
      9.一種用于更新無源可變電阻式存儲(chǔ)器(PVRM)中的數(shù)據(jù)的方法,所述方法包括: 在沒有使存儲(chǔ)器塊無效的情況下,更新高速緩存層次結(jié)構(gòu)中多個(gè)存儲(chǔ)器塊的所述存儲(chǔ)器塊; 將所述更新后的存儲(chǔ)器塊從所述高速緩存層次結(jié)構(gòu)復(fù)制到直寫緩沖器;以及 將所述更新后的存儲(chǔ)器塊寫入到所述PVRM,從而更新所述PVRM中的數(shù)據(jù)。
      10.根據(jù)權(quán)利要求10所述的方法,其中所述PVRM包括相變存儲(chǔ)器、自旋轉(zhuǎn)矩轉(zhuǎn)移磁阻存儲(chǔ)器和憶阻存儲(chǔ)器中的至少一個(gè)。
      11.根據(jù)權(quán)利要求9所述的方法,其進(jìn)一步包括: 由所述處理器執(zhí)行至少一個(gè)FENCE指令;以及 當(dāng)所述更新后的存儲(chǔ)器塊已經(jīng)基于所述FENCE指令被寫入到所述PVRM時(shí),通知所述處理器。
      12.根據(jù)權(quán)利要求9所述的方法,其中所述高速緩存層次結(jié)構(gòu)包括I級高速緩存、2級高速緩存和3級高速緩存中的至少一個(gè)。
      13.根據(jù)權(quán)利要求9所述的方法,其中所述PVRM是字節(jié)可尋址的。
      14.一種裝置,其包括:包括多個(gè)存儲(chǔ)器塊的高速緩存層次結(jié)構(gòu); 無源可變電阻式存儲(chǔ)器(PVRM); 被可操作連接到所述高速緩存層次結(jié)構(gòu)和PVRM的PVRM控制器;以及被可操作連接到所述PVRM控制器的處理器,所述處理器可操作將識(shí)別所述多個(gè)存儲(chǔ)器塊的至少一個(gè)存儲(chǔ)器塊從所述高速緩存層次結(jié)構(gòu)復(fù)制到所述PVRM的控制信息傳送到所述PVRM控制器,其中所述PVRM控制器可操作將至少一個(gè)被識(shí)別的存儲(chǔ)器塊從所述高速緩存層次結(jié)構(gòu)復(fù)制到所述PVRM,作為對所述控制信息的響應(yīng)。
      15.根據(jù)權(quán)利要求14所述的裝置,其中所述PVRM包括相變存儲(chǔ)器、自旋轉(zhuǎn)矩轉(zhuǎn)移磁阻存儲(chǔ)器和憶阻存儲(chǔ)器中的至少一個(gè)。
      16.根據(jù)權(quán)利要求14所述的裝置,其中所述處理器可操作獲得完成通知信息,其中所述完成通知信息可操作通知所述處理器:所述至少一個(gè)被識(shí)別的存儲(chǔ)器塊已經(jīng)被從所述高速緩存層次結(jié)構(gòu)復(fù)制到所述PVRM。
      17.根據(jù)權(quán)利要求16所述的裝置,其中所述處理器可操作通過輪詢與所述PVRM控制器相關(guān)的狀態(tài)位來獲得 完成通知信息,所述狀態(tài)位指示所述至少一個(gè)被識(shí)別的存儲(chǔ)器塊是否已經(jīng)被從所述高速緩存層次結(jié)構(gòu)復(fù)制到所述PVRM。
      18.根據(jù)權(quán)利要求16所述的裝置,其中所述處理器可操作通過從所述PVRM控制器接收處理器中斷信號來獲得完成通知信息,所述處理器中斷信號指示所述至少一個(gè)被識(shí)別的存儲(chǔ)器塊已經(jīng)被從所述高速緩存層次結(jié)構(gòu)復(fù)制到所述PVRM。
      19.根據(jù)權(quán)利要求14所述的裝置,其中所述PVRM通過片上接口被可操作連接到所述高速緩存層次結(jié)構(gòu),并且其中所述PVRM控制器通過所述片上接口可操作將所述至少一個(gè)被識(shí)別的存儲(chǔ)器塊從所述高速緩存層次結(jié)構(gòu)復(fù)制到所述PVRM。
      20.根據(jù)權(quán)利要求19所述的裝置,其中所述片上接口包括雙數(shù)據(jù)速率接口。
      21.根據(jù)權(quán)利要求14所述的裝置,其中所述高速緩存層次結(jié)構(gòu)包括I級高速緩存、2級高速緩存和3級高速緩存中的至少一個(gè)。
      22.一種用于更新無源可變電阻式存儲(chǔ)器(PVRM)中的數(shù)據(jù)的方法,所述方法包括: 由處理器向PVRM控制器傳送控制信息,所述控制信息識(shí)別將多個(gè)存儲(chǔ)器塊的至少一個(gè)存儲(chǔ)器塊從高速緩存層次結(jié)構(gòu)復(fù)制到所述PVRM ; 所述至少一個(gè)被識(shí)別的存儲(chǔ)器塊被從所述高速緩存層次結(jié)構(gòu)復(fù)制到PVRM中的永久性文件,作為對所述控制信息的響應(yīng),從而更新所述PVRM中的數(shù)據(jù)。
      23.根據(jù)權(quán)利要求22所述的方法,其中所述PVRM包括相變存儲(chǔ)器、自旋轉(zhuǎn)矩轉(zhuǎn)移磁阻存儲(chǔ)器和憶阻存儲(chǔ)器中的至少一個(gè)。
      24.根據(jù)權(quán)利要求22所述的方法,其進(jìn)一步包括: 由所述處理器獲得完成通知信息,其中所述完成通知信息可操作通知所述處理器:所述至少一個(gè)被識(shí)別的存儲(chǔ)器塊已經(jīng)被從所述高速緩存層次結(jié)構(gòu)復(fù)制到所述PVRM。
      25.根據(jù)權(quán)利要求24所述的方法,其中所述獲得完成通知消息包括下列中的至少一個(gè): 由所述處理器輪詢與所述PVRM控制器相關(guān)的狀態(tài)位,其中所述狀態(tài)位指示所述至少一個(gè)被識(shí)別的存儲(chǔ)器塊是否已經(jīng)被從所述高速緩存層次結(jié)構(gòu)復(fù)制到所述PVRM ;以及 由所述處理器從所述PVRM控制器接收處理器中斷信號,所述處理器中斷信號指示所述至少一個(gè)被識(shí)別的存儲(chǔ)器塊已經(jīng)被從所述高速緩存層次結(jié)構(gòu)復(fù)制到所述PVRM。
      26.根據(jù)權(quán)利要求20所述的方法,其中所述從高速緩存層次結(jié)構(gòu)復(fù)制至少一個(gè)被識(shí)別的存儲(chǔ)器塊到所述PVRM包括:通過片上接口,從所述高速緩存層次結(jié)構(gòu)復(fù)制至少一個(gè)被識(shí)別的存儲(chǔ)器塊到所述PVRM。
      27.根據(jù)權(quán)利要求26所述的方法,其中所述片上接口包括雙數(shù)據(jù)速率接口。
      28.根據(jù)權(quán)利要求22所述的方法,其中所述高速緩存層次結(jié)構(gòu)包括I級高速緩存、2級高速緩存和3級高 速緩存中的至少一個(gè)。
      【文檔編號】G06F12/08GK103460198SQ201280015516
      【公開日】2013年12月18日 申請日期:2012年4月4日 優(yōu)先權(quán)日:2011年4月4日
      【發(fā)明者】布拉德·貝克曼, 莉薩·徐 申請人:超威半導(dǎo)體公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1