欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

非易失性存儲器模塊、具有其的計算系統(tǒng)及其操作方法與流程

文檔序號:11627687閱讀:358來源:國知局
非易失性存儲器模塊、具有其的計算系統(tǒng)及其操作方法與流程

相關申請的交叉引用

本專利申請要求2015年12月14日提交的韓國專利申請第10-2015-0178365號的優(yōu)先權,其公開在此通過引入整體并入。

本發(fā)明構思的實施例涉及非易失性存儲器模塊、具有該非易失性存儲器模塊的計算系統(tǒng)及其操作方法。



背景技術:

與現(xiàn)有計算系統(tǒng)的各種接口兼容的非易失性存儲器正在被開發(fā)。例如,正在開發(fā)通過將閃存存儲器安裝在與主存儲器或工作存儲器相同的槽或通道上來作為數(shù)據(jù)存儲設備或工作存儲器使用的閃存存儲器。在這種實施例中,正在考慮與傳統(tǒng)使用的易失性隨機存取存儲器(ram)(例如dram)的兼容。



技術實現(xiàn)要素:

本發(fā)明構思的實施例提供一種技術,能夠提供最佳的數(shù)據(jù)完整性和低功率特征且同時維持與易失性ram的兼容。

本發(fā)明構思的實施例提供一種非易失性存儲器模塊、具有該非易失性存儲器模塊的計算系統(tǒng)及其操作方法。

在一方面中,本發(fā)明構思的實施例專注于一種非易失性存儲器模塊,其包括至少一個非易失性存儲器;至少一個非易失性存儲器控制器,被配置為控制至少一個非易失性存儲器;至少一個動態(tài)隨機存取存儲器(dram),用作至少一個非易失性存儲器的緩存;數(shù)據(jù)緩沖器,被配置為存儲在至少一個dram與外部設備之間交換的數(shù)據(jù);以及存儲器模塊控制設備,被配置為控制非易失性存儲器控制器、至少一個dram和數(shù)據(jù)緩沖器。至少一個dram存儲對應于緩存數(shù)據(jù)的標簽并且比較存儲的標簽與輸入的標簽信息以確定是否輸出緩存數(shù)據(jù)。

在另一方面中,本發(fā)明構思的實施例專注于一種非易失性存儲器模塊,其包括至少一個第一非易失性存儲器;至少一個第二非易失性存儲器;第一非易失性存儲器控制器,被配置為控制至少一個第一非易失性存儲器;第二非易失性存儲器控制器,被配置為控制至少一個第二非易失性存儲器;第一dram,連接到第一非易失性存儲器控制器;第二dram,連接到第二非易失性存儲器控制器;數(shù)據(jù)緩沖器,連接到第一和第二dram;以及存儲器模塊控制設備,被配置為響應于來自外部設備的命令/地址產生第一命令/地址和第二命令/地址,使用第一命令/地址控制第一和第二非易失性存儲器控制器,并且使用第二命令/地址控制第一和第二dram。第一和第二dram中的每一個存儲緩存并且確定針對該緩存是否產生緩存命中。

在另一方面中,本發(fā)明構思的實施例專注于一種計算系統(tǒng),其包括處理器;和至少一個非易失性存儲器模塊,其基于雙倍數(shù)據(jù)率(ddr)接口連接到該處理器。非易失性存儲器模塊包括至少一個非易失性存儲器;以及至少一個dram,其被配置為執(zhí)行至少一個非易失性存儲器的緩存功能,存儲緩存的標簽,并且通過標簽比較確定針對該緩存是否產生命中/未命中。

在另一方面中,本發(fā)明構思的實施例專注于一種包括至少一個緩存dram和至少一個非易失性存儲器的非易失性存儲器模塊的操作方法。該方法包括:從處理器接收命令/地址,產生對應于該命令/地址的dram命令/地址或非易失性存儲器命令/地址,響應于dram命令/地址在至少一個緩存dram處確定是否產生緩存命中,并且當確定結果指示未產生緩存命中時,響應于非易失性存儲器命令/地址控制非易失性存儲器。

在另一方面中,本發(fā)明構思的實施例專注于一種非易失性存儲器模塊,其包括至少一個非易失性存儲器;至少一個非易失性存儲器控制器,被配置為控制至少一個非易失性存儲器;至少一個動態(tài)隨機存取存儲器(dram),用作至少一個非易失性存儲器的緩存;和存儲器模塊控制設備,被配置為控制非易失性存儲器控制器和至少一個dram,并且被配置為輸出標簽信息到至少一個dram。至少一個dram存儲對應于緩存數(shù)據(jù)的標簽并且比較存儲的標簽與來自存儲器模塊控制設備的標簽信息,以通過標簽比較確定針對緩存是否產生命中/未命中。

附圖說明

通過結合附圖的實施例的以下描述,本總的發(fā)明構思的這些和/或其他方面和優(yōu)點將變得清楚和更容易理解,附圖中:

圖1是示出根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)的框圖。

圖2是示出根據(jù)本發(fā)明構思的一些實施例的非易失性存儲器模塊的框圖。

圖3是示出根據(jù)本發(fā)明構思的一些實施例的標簽dram和數(shù)據(jù)dram的框圖。

圖4是示出根據(jù)本發(fā)明構思的一些實施例的非易失性存儲器模塊的圖。

圖5是示出在圖4中示出的dram之一的框圖。

圖6是示出在圖4中示出的非易失性存儲器模塊的寫操作的圖。

圖7是示出圖4的非易失性存儲器模塊的讀操作的圖。

圖8是示出根據(jù)本發(fā)明構思的一些實施例的支持多個緩存路徑(way)操作的緩存線的配置的圖。

圖9a和9b是示出根據(jù)本發(fā)明構思的一些實施例的具有奇偶校驗的緩存配置的圖。

圖10是示出根據(jù)本發(fā)明構思的一些實施例的用于基于緩存dram的2路集合關聯(lián)方法輸出緩存的方法的圖。

圖11是示出根據(jù)本發(fā)明構思的一些實施例的非易失性存儲器模塊的框圖。

圖12是示出根據(jù)本發(fā)明構思的一些實施例的非易失性存儲器模塊的框圖。

圖13是示出根據(jù)本發(fā)明構思的一些實施例的分層存儲器的框圖。

圖14是示出根據(jù)本發(fā)明構思的一些實施例的處理器的軟件架構的框圖。

圖15是示出根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)的圖。

圖16是示出根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)的圖。

圖17是示出根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)的圖。

圖18是示出根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)的圖。

圖19是示出根據(jù)本發(fā)明構思的一些實施例的數(shù)據(jù)服務器系統(tǒng)的框圖;以及

圖20是示出根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)的圖。

具體實施方式

現(xiàn)在詳細參考本總的發(fā)明構思的實施例,在附圖中示出了實施例的示例,其中各參考數(shù)字始終指代相同的元件,下面描述各實施例以便通過參考附圖解釋本總的發(fā)明構思。

圖1是示出根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)10的框圖。參照圖1,計算系統(tǒng)10可以包括處理器(cpu)100、至少一個存儲器模塊(dimm)200以及至少一個非易失性存儲器模塊(nvdimm)300。

在一些實施例中,計算系統(tǒng)10例如可包括多個設備中的一個,諸如計算機、便攜式計算機、超移動個人計算機(umpc)、工作站、數(shù)據(jù)服務器、上網本、個人數(shù)據(jù)助理(pda)、網絡平板設備、無線電話、移動電話、智能電話、電子書、便攜式多媒體播放器(pmp)、數(shù)碼相機、數(shù)字音頻記錄器/播放器、數(shù)字圖片/視頻記錄器/播放器、便攜式游戲機、導航系統(tǒng)、黑盒子、3d電視機、能夠在無線環(huán)境下發(fā)送和接收信息的設備、可佩戴設備、構成家庭網絡的各種電子設備中的一個、構成計算機網絡的各種電子設備中的一個、構成遠程通信網絡的各種電子設備中的一個、射頻識別(rfid)、構成計算系統(tǒng)的各種電子設備中的一個等等。

處理器100可控制計算系統(tǒng)10的整體操作。處理器100例如可以是中央處理單元(cpu)、協(xié)處理器、算術處理單元(apu)、圖形處理單元(gpu)、數(shù)字信號處理器(dsp)、存儲器控制器集線器(mch)、平臺控制器集線器(pch)等。處理器100可通過執(zhí)行計算系統(tǒng)10的各種操作處理數(shù)據(jù)。雖然在圖1中未示出,但處理器100還可以包括存儲器管理單元(mmu),用于管理存儲器模塊200和非易失性存儲器模塊300。

存儲器模塊200可以通過例如雙倍數(shù)據(jù)率(ddr)接口連接到處理器100。在一些實施例中,ddr接口可以符合聯(lián)合電子設備工程委員會(jedec)的存儲器標準規(guī)范。圖1中所示的存儲器模塊200可以根據(jù)ddr接口被連接到處理器100。然而,本發(fā)明構思的實施例不限于此。即,存儲器模塊200可以通過ddr接口以外的各種類型的通信接口被連接到處理器100。例如,通信接口可以利用通信接口來實現(xiàn),所述通信接口例如非易失性快速存儲器nvme、外圍組件快速互連pcie、串行at附件sata、小型計算機系統(tǒng)接口scsi、串行附接scsisas、通用存儲總線usb附接的scsiuas、互聯(lián)網小型計算機系統(tǒng)接口iscsi、光纖通道、通過以太網的光纖通道fcoe等等。

存儲器模塊200例如可以是雙列直插存儲器模塊(dimm)。存儲器模塊200可以包括至少一個動態(tài)隨機存取存儲器(dram)。存儲器模塊200可以被用作處理器100的工作存儲器。

非易失性存儲器模塊300可以通過例如ddr接口連接到處理器100。圖1中所示的非易失性存儲器模塊300根據(jù)ddr接口被連接到處理器100。然而,本發(fā)明構思的實施例不限于此。即,根據(jù)本發(fā)明構思的一些實施例的非易失性存儲器模塊300可以通過ddr接口以外的各種類型的通信接口被連接到處理器100。

非易失性存儲器模塊300例如可以是雙列直插存儲器模塊(dimm)。非易失性存儲器模塊300可以被用作處理器100的工作存儲器。非易失性存儲器模塊300可包括至少一個非易失性存儲器((一個或多個)nvm)310和用作至少一個非易失性存儲器310的緩存的至少一個緩存dram330。

在一些實施例中,至少一個非易失性存儲器310例如可以是nand閃存存儲器、垂直nand閃存存儲器(vnand)、nor閃存存儲器、電阻隨機存取存儲器(rram)、相變存儲器(pram)、磁阻隨機存取存儲器(mram)、鐵電隨機存取存儲器(fram)、自旋轉移力矩隨機存取存儲器(stt-ram)等等。

此外,非易失性存儲器例如可以具有三維陣列結構。在本發(fā)明構思的實施例中,提供了一種三維(3d)存儲器陣列。3d存儲器陣列在存儲器單元的陣列的一個或多個物理級別中整體形成的,具有例如布置在硅襯底上的有源區(qū)域和與那些存儲器單元的操作關聯(lián)的電路。關聯(lián)的電路可以在襯底上方或內部。即,與存儲器單元的操作關聯(lián)的電路可以位于襯底中或在襯底上。術語“整體”的意思是該陣列的每一級的層被直接沉積在所述陣列的每個底層級別的層上。

在本發(fā)明構思的一些實施例中,3d存儲器陣列例如包括被垂直定向以使得存儲器單元的至少一個位于另一存儲器單元之上的垂直nand串。至少一個存儲單元例如可以包括電荷陷阱層。每個垂直nand串可以包括位于存儲器單元之上的至少一個選擇晶體管。至少一個選擇晶體管可以具有與存儲器單元相同的結構,并且被整體地與存儲器單元形成在一起。

3d存儲器陣列由多個級別形成并具有在各級之間共享的字線和/或位線。在此通過引用并入的下面的專利文獻描述了用于3d存儲器陣列的合適的配置,其中,3d存儲器陣列被配置為多個級別,在各級之間共享字線和/或位線:美國專利號7,679,133;美國專利號8,553,466;美國專利號8,654,587;美國專利號8,559,235;和美國專利公開號2011/0233648。根據(jù)本發(fā)明構思的一些實施例的非易失性存儲器可以適用于電荷陷阱閃存(ctf),其中絕緣層被用作電荷存儲層;以及適用于閃存存儲器設備,其中導電浮置柵極被用作電荷存儲層。

至少一個緩存dram330可以執(zhí)行該至少一個非易失性存儲器310的緩存功能。至少一個緩存dram330可存儲對應于緩存數(shù)據(jù)的標簽或通過標簽比較生成指示緩存命中或緩存未命中的匹配信號。

根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)10可使用具有緩存dram330的非易失性存儲器模塊300作為工作存儲器,從而實現(xiàn)比傳統(tǒng)的計算系統(tǒng)更低的成本和更高的容量和性能。

圖2是示出根據(jù)本發(fā)明構思的一些實施例的圖1的非易失性存儲器模塊300的框圖。參考圖2,非易失性存儲器模塊300可以包括非易失性存儲器(nvm)310-1和310-2,非易失性存儲器控制器320-1和320-2,dram330-1和330-2,數(shù)據(jù)緩沖器(db)340-1和340-2,以及存儲器模塊控制設備(mmcd)350。在圖2中所示的非易失性存儲器模塊300中,第一和第二非易失性存儲器310-1和310-2、第一和第二非易失性存儲器控制器320-1和320-2、第一和第二dram330-1和330-2以及第一和第二數(shù)據(jù)緩沖器340-1和340-2可以分別安排在例如相對于存儲器模塊控制設備mmcd350的左側和右側;然而,本發(fā)明構思的實施例不限于此。第一和第二非易失性存儲器310-1和310-2可每一個包括多個非易失性存儲器(nvm)。第一和第二dram330-1和330-2可每一個包括多個dram。第一和第二數(shù)據(jù)緩沖器340-1和340-2可每一個包括多個數(shù)據(jù)緩沖器。第一和第二非易失性存儲器控制器320-1和320-2可以分別在第一和第二非易失性存儲器310-1和310-2與第一和第二dram330-1和330-2之間。第一和第二dram330-1和330-2可以分別在第一和第二非易失性存儲器控制器320-1和320-2與第一和第二數(shù)據(jù)緩沖器340-1和340-2之間。

非易失性存儲器控制器320-1和320-2可以基于第一命令/地址can或非易失性存儲器命令/地址控制非易失性存儲器310-1和310-2的操作。第一命令/地址can可以從存儲器模塊控制設備350輸出到第一和第二非易失性存儲器控制器320-1和320-2。圖2的非易失性存儲器模塊300中示出的非易失性存儲器310-1和310-2的數(shù)目不限于此。

dram330-1和330-2可以基于第二命令/地址cad或dram命令/地址執(zhí)行輸入/輸出操作,例如寫/讀操作。第二命令/地址cad可以從存儲器模塊控制設備350輸出到第一和第二dram330-1和330-2。dram330-1和330-2中的每一個可以包括雙端口dram。例如,dram330-1和330-2中的每一個可以包括第一輸入/輸出端口和第二輸入/輸出端口。第一和第二dram330-1和330-2的第一輸入/輸出端口可以被連接到在dram330-1/330-2和與之對應的非易失性存儲器控制器320-1/320-2之間的數(shù)據(jù)路徑,并且第一和第二dram330-1和330-2的第二輸入/輸出端口可以連接到在dram330-1/330-2和與之對應的數(shù)據(jù)緩沖器340-1/340-2之間的數(shù)據(jù)路徑。在一些實施例中,第一輸入/輸出端口可輸出4個字節(jié)(或32位),并且第二輸入/輸出端口可輸出4個字節(jié)(或32位)。dram330-1和330-2的第一和第二輸入/輸出端口的輸出數(shù)據(jù)不限于本發(fā)明構思的圖2的實施例。

多個第一dram330-1和多個第二dram330-2中的至少一個dram331可以存儲對應于緩存線的標簽并且將存儲的標簽信息與輸入的標簽信息進行比較。余下的dram可以實現(xiàn)來存儲對應于該標簽的緩存數(shù)據(jù)。下文中,存儲標簽的dram可以被稱為“標簽dram”,而余下的dram中的每一個可以被稱為“數(shù)據(jù)dram”。至少一個dram331可以是標簽dram。dram332可以是數(shù)據(jù)dram。

在一些實施例中,標簽dram331可存儲4字節(jié)的標簽。在一些實施例中,標簽dram331可以按照2路、1:8的直接映射方案存儲標簽。該標簽可以包括關于存儲在數(shù)據(jù)dram中的緩存數(shù)據(jù)的位置信息和表示緩存數(shù)據(jù)的有效性的臟/干凈信息。在一些實施例中,標簽可以包括用于糾錯的糾錯值。因此,標簽dram331還可以包括用于糾錯的糾錯電路。存儲器模塊控制設備350可提供標簽信息到dram330-2。

標簽dram331可以不限于這里描述的2路以及1:8的直接映射方案。但是應當理解的是,標簽dram331的路徑或映射方案是根據(jù)各種組合來確定的。

在一些實施例中,標簽dram和數(shù)據(jù)dram可以包括相同的元件。在一些實施例中,標簽dram和數(shù)據(jù)dram可以包括不同的元件。圖2的非易失性存儲器模塊300中所示的第一和第二dram330-1和330-2的數(shù)目不限于此。

第一和第二數(shù)據(jù)緩沖器(db)340-1和340-2可以分別連接到第一和第二dram330-1和330-2,并且可以被配置為將從處理器100(如圖1中所示)提供的數(shù)據(jù)dq分別發(fā)送到第一和第二dram330-1和330-2,并且分別將來自第一和第二dram330-1和330-2的數(shù)據(jù)dq發(fā)送到處理器100。

在一些實施例中,第一和第二數(shù)據(jù)緩沖器340-1和340-2可以適用于ddr接口規(guī)范。例如,第一和第二數(shù)據(jù)緩沖器340-1和340-2中的每一個可以輸入和輸出八個數(shù)據(jù)信號和兩個數(shù)據(jù)選通信號。雖然在圖2中未示出,但第一和第二數(shù)據(jù)緩沖器340-1和340-2中的每一個可響應于緩沖器命令向與之對應的dram輸出從處理器100提供的數(shù)據(jù)。在一些實施例中,數(shù)據(jù)緩沖器340-1和340-2中的每一個可以包括先入先出(fifo)或雙端口靜態(tài)隨機存取存儲器(sram)。

存儲器模塊控制設備350可控制非易失性存儲器模塊(nvdimm)300的整體操作。存儲器模塊控制設備可最佳地控制第一和第二非易失性存儲器控制器320-1和320-2,第一和第二dram330-1和330-2,以及第一和第二數(shù)據(jù)緩沖器340-1和340-2,使得非易失性存儲器模塊300被用作工作存儲器。存儲器模塊控制設備350可從處理器100(如圖1中所示)接收命令/地址ca,以產生第一命令/地址can即非易失性存儲器命令/地址,或者第二命令/地址cad即dram命令/地址。存儲器模塊控制設備350可產生并管理對應于緩存線的標簽。

圖3是概念示出圖2的標簽dram331和數(shù)據(jù)dram332的框圖。參照圖3,標簽dram331和數(shù)據(jù)dram332可以包括相同的元件,例如存儲器單元陣列331-1和332-1、標簽比較電路331-5和332-5以及多路復用器(mux電路)331-6和332-6。在一些實施例中,標簽dram331和數(shù)據(jù)dram332中的每一個可以包括雙端口dram。雙端口dram可以包括輸入/輸出端口,其分別對應于不同種類的設備,例如數(shù)據(jù)緩沖器/非易失性存儲器控制器。雙端口dram的數(shù)據(jù)路徑可基于多路復用器(即多路復用器331-6和332-6)的選擇而被連接到第一外部設備(例如,數(shù)據(jù)緩沖器)或者第二外部設備(例如,非易失性存儲器控制器)。

標簽dram331可以包括第一存儲器單元陣列331-1、第一標簽比較電路331-5和第一多路復用器331-6。第一存儲器單元陣列331-1可存儲緩存的標簽。在一些實施例中,在多路方案中,第一存儲器單元陣列331-1可存儲多個緩存的標簽。第一存儲器單元陣列331-1可包括多個dram單元。

第一標簽比較電路331-5可以比較接收到的標簽信息與存儲的標簽。第一標簽比較電路331-5可從存儲器模塊控制設備350接收標簽信息。在一些實施例中,當存儲器模塊300被制造時,第一標簽比較電路331-5可以根據(jù)物理方法,例如熔絲切斷或電子熔絲,來激活。在一些實施例中,第一標簽比較電路331-5可以通過模式寄存器組(mrs)設置被激活。為了便于描述,圖3示出了其中標簽比較電路331-5響應于對應于mrs設置的激活信號en而被激活的實施例。

在一些實施例中,第一標簽比較電路331-5的輸出值即匹配信號match可通過至少一個管腳331-7輸出到外部設備。

第一多路復用器331-6可以根據(jù)熔絲切斷或mrs設置而被停用。例如,當?shù)谝粯撕灡容^電路331-5被激活時,第一多路復用器331-6可以被停用。為了便于描述,圖3示出了其中多路復用器331-6響應于對應于mrs設置的停用信號enb而被停用的實施例。在一些實施例中,標簽dram331可以包括與多路復用器331-6的輸入關聯(lián)的至少一個管腳331-8。

在一些實施例中,標簽dram331還可以包括用于糾正標簽的誤差的糾錯電路。

數(shù)據(jù)dram332可以包括第二存儲器單元陣列332-1、第二標簽比較電路332-5以及第二多路復用器332-6。第二存儲器單元陣列332-1可存儲對應于標簽的緩存數(shù)據(jù)。在一些實施例中,在多路方案中,第二存儲器單元陣列332-1可存儲對應于多個緩存的緩存數(shù)據(jù)。

第二標簽比較電路332-5可以根據(jù)熔絲切斷或mrs設置而被停用。例如,當?shù)诙嗦窂陀闷?32-6被激活時,第二標簽比較電路332-5可以被停用。為了便于描述,圖3示出了其中第二標簽比較電路332-5響應于對應于mrs設置的停用信號enb被停用的實施例。在一些實施例中,數(shù)據(jù)dram332可以包括與第二標簽比較電路332-5的輸出關聯(lián)的至少一個管腳332-7。

第二多路復用器332-6可以根據(jù)熔絲切斷或mrs設置而被激活。為了便于描述,圖3示出其中第二多路復用器332-6響應于對應于mrs設置的激活信號en而被激活的實施例。

在一些實施例中,第二多路復用器332-6可從標簽dram331的管腳331-7通過至少一個管腳332-8接收標簽比較結果值,即,匹配信號match。如果標簽比較結果值match指示緩存命中(hit),則第二多路復用器332-6可以向處理器100(如圖1中所示)輸出與緩存線關聯(lián)的數(shù)據(jù)dq。提供給處理器100的緩存數(shù)據(jù)dq可以包括指示數(shù)據(jù)有效的值。如果標簽比較結果值match指示緩存未命中(miss),則第二多路復用器332-6可能不輸出與緩存操作關聯(lián)的數(shù)據(jù)到處理器100。在這樣的實施例中,數(shù)據(jù)dram332可以相對于緩存線的數(shù)據(jù)執(zhí)行刷新操作并且可以試圖改變該緩存線。也就是說,第二多路復用器332-6可以被實現(xiàn)來響應于標簽比較結果值match選擇對應的數(shù)據(jù)緩沖器db340-1/340-2和對應的非易失性存儲器控制器nvm控制器320-1/320-2中的一個作為數(shù)據(jù)路徑。

根據(jù)本發(fā)明構思的一些實施例的標簽dram331和數(shù)據(jù)dram332可以包括相同的元件,然而,在標簽dram331中的元件的操作可以互補于在數(shù)據(jù)dram332中的元件的操作。

在圖2和3的實施例中,標簽被存儲在第一和第二dram330-1和330-2的一個(例如標簽dram331)中。然而,本發(fā)明構思的實施例不限于此。根據(jù)本發(fā)明構思的一些實施例的非易失性存儲器模塊可以包括標簽陣列,所述標簽陣列在每個dram中存儲標簽。

圖4是示出根據(jù)本發(fā)明構思的一些實施例的非易失性存儲器模塊400的框圖。參照圖4,非易失性存儲器模塊400可包括多個nvm、第一和第二非易失性存儲器控制器420-1和420-2、多個dram以及多個數(shù)據(jù)緩沖器db。

除了每個dram可以包括存儲標簽的標簽陣列和存儲對應于每個標簽的緩存數(shù)據(jù)的數(shù)據(jù)陣列以外,非易失性存儲器模塊400可包括圖1的非易失性存儲器模塊300的元件。每個dram可以執(zhí)行標簽比較,并且可以響應于標簽比較結果match針對緩存線的數(shù)據(jù)輸出來確定數(shù)據(jù)路徑。drams包括至少一個dram431。

圖5是示出在圖4中示出的dram431之一的框圖。參照圖5,dram431可以包括標簽陣列431-1、數(shù)據(jù)陣列431-2、行解碼器(rowdec)431-3、列解碼器和感測放大器(coldec+sa)431-4、標簽比較電路431-5以及多路復用器(mux電路)431-6。

行解碼器431-3可以響應于行地址激活字線wl。多個dram單元可以連接到字線wl。連接到字線wl的dram單元可以包括在標簽陣列431-1中包括的第一dram單元和在數(shù)據(jù)陣列431-2中包括的第二dram單元。

列解碼器和感測放大器431-4可以讀取與字線wl和列選擇線對應的dram單元或在dram單元中寫入數(shù)據(jù)。列解碼器和感測放大器431-4可以響應于列地址激活對應于標簽陣列431-1的第一列選擇線csl_tag和對應于數(shù)據(jù)陣列431-2的第二列選擇線csl_data。例如,列解碼器和感測放大器431-4可響應于列地址激活連接到標簽陣列431-1的第一dram單元的第一列選擇線csl_tag和連接到數(shù)據(jù)陣列431-2的第二dram單元的第二列選擇線csl_data,并且可以從標簽陣列431-1的第一dram單元讀取標簽或從數(shù)據(jù)陣列431-2的第二dram單元讀取與標簽對應的緩存數(shù)據(jù)。

在一些實施例中,第一列選擇線csl_tag和第二列選擇線csl_data可以響應于列地址同時被激活。也就是說,根據(jù)本發(fā)明構思的一些實施例的dram431可以激活在存儲體(bank)中的兩個列選擇線csl_tag和csl_data。

標簽比較電路431-5可以比較存儲在標簽陣列431-1中的標簽與接收的標簽信息,并輸出比較結果match&dirty(匹配和臟)。存儲在標簽陣列431-1中的標簽可以包括至少一個比特,指示數(shù)據(jù)是否是臟的。

多路復用器431-6可以響應于標簽比較電路431-5的輸出值將數(shù)據(jù)路徑連接到數(shù)據(jù)緩沖器db(即數(shù)據(jù)緩沖器340-1/340-2)或非易失性存儲器(nvm)控制器(即非易失性存儲器控制器320-1/320-2)。

圖6是示出圖4中示出的非易失性存儲器模塊(nvdimm)400的寫操作的圖。如果寫請求ca_write由存儲器模塊控制設備450從處理器(cpu)100接收到,則存儲器模塊控制設備mmcd450可以生成dram專用寫請求cad_write或dram命令/地址,并且可以將其與標簽信息一起發(fā)送到dram。dram可接收標簽信息和寫請求cad_write并且可以從對應于寫請求cad_write的地址獲取標簽。即,在步驟s100中,dram可以從對應于寫請求cad_write的地址讀取標簽。此后,在步驟s110中,dram可比較讀取的標簽與接收的標簽信息,以輸出標簽比較結果值match,其指示緩存命中或緩存未命中。如果標簽比較結果值match指示緩存命中,則可能沒必要執(zhí)行寫請求。在步驟s120中,如果標簽比較結果值match指示緩存未命中,則數(shù)據(jù)可以在與寫請求的地址對應的緩存線處寫入。之后,臟值可被添加到dram的緩存線的標簽。dram的緩存未命中及臟值miss&dirty可以輸出到存儲器模塊控制設備mmcd450。之后,存儲器模塊控制設備mmcd450可以發(fā)送寫請求can_write到非易失性存儲器nvm,以便執(zhí)行刷新操作,并且存儲在dram中的緩存線的數(shù)據(jù)可以回寫(或刷新)write-back(flush)到非易失性存儲器nvm。

圖7是示出圖4的非易失性存儲器模塊(nvdimm)400的讀操作的圖。如果讀請求ca_read由存儲器模塊控制設備mmcd450從處理器(cpu)100接收到,則存儲器模塊控制設備mmcd450可以生成dram專用讀請求cad_read并且可以將其與標簽信息一起發(fā)送到dram。dram可接收標簽信息與讀請求cad_read并且可以從對應于該讀請求cad_read的地址獲取標簽。也就是說,在步驟s200中dram可以從對應于請求can_read的地址讀取標簽。此后,在步驟s210中,dram可比較讀取的標簽與所接收的標簽信息以輸出指示緩存命中或緩存未命中的標簽比較結果值match。如果標簽比較結果值match表示緩存命中,則dram的緩存線的數(shù)據(jù)可從dram輸出到處理器100。如果標簽比較結果值match指示緩存未命中,則存儲器模塊控制設備mmcd450可以產生非易失性存儲器專用讀請求can_read并且可以將非易失性存儲器專用讀請求can_read發(fā)送到非易失性存儲器nvm。此后,非易失性存儲器nvm可以讀取對應于讀請求can_read的數(shù)據(jù),并且可以將讀取的數(shù)據(jù)通過dram傳送給處理器100。然后,數(shù)據(jù)可以存儲在dram的緩存線中。

根據(jù)本發(fā)明構思的一些實施例的非易失性存儲器模塊400可以執(zhí)行多個緩存路徑的操作。

圖8是示出根據(jù)本發(fā)明構思的一些實施例的支持多個緩存路徑操作的緩存線的配置的圖。參照圖8,緩存線可被分類成標簽陣列區(qū)域tag,其存儲分別對應于多個緩存cache1至cachen的標簽tag1至tagn(n是2或更大的整數(shù));以及數(shù)據(jù)陣列區(qū)域data,其存儲分別對應于緩存cache1至cachen的多條數(shù)據(jù)data1至datan。這里,各標簽可能分別意味著數(shù)據(jù)data1到datan的位置信息(或地址)。

根據(jù)本發(fā)明構思的一些實施例的標簽可以對應于在直接映射方法、完全關聯(lián)方法或集合關聯(lián)方法(setassociativemethod)中的位置信息。

根據(jù)本發(fā)明構思的一些實施例的緩存可以進一步包括奇偶校驗。

圖9a和9b是示出根據(jù)本發(fā)明構思的一些實施例的具有奇偶校驗parity的緩存配置的圖。參照圖9a,緩存可以由標簽、緩存數(shù)據(jù)以及用于標簽的糾錯的奇偶校驗組成。參考圖9b,緩存可以由標簽和緩存數(shù)據(jù)組成,并且標簽可以包括奇偶校驗。

圖10是示出根據(jù)本發(fā)明構思的一些實施例的用于基于緩存dram的2路集合關聯(lián)方法輸出緩存的方法的圖。參照圖10,每個包括{標簽,數(shù)據(jù)}的兩個緩存集合對于2路集合關聯(lián)緩存會是必需的。為了描述方便,假定8位數(shù)據(jù)被輸出到列選擇線csl,標簽具有4位的大小,并且數(shù)據(jù)具有8位的大??;然而,本發(fā)明構思不限于此。當標簽列選擇線csl_tag和第一列選擇線csl_1同時被激活時,兩個標簽集合(例如tag1和tag2)可以從標簽陣列區(qū)域tag輸出,并且數(shù)據(jù)集合{01,11,21,31,41,51,61,71}可以在列到列的延遲時間tccd1之后從數(shù)據(jù)陣列區(qū)域data輸出。從標簽陣列tag輸出的標簽可以分別包括臟/干凈信息v1和v2以及標簽信息tag1和tag2。當?shù)诙羞x擇線csl_2在延遲時間(例如列到列的延遲時間tccd2)之后被激活時,余下的數(shù)據(jù)集合{02,12,22,32,42,52,62,72}可以被輸出到數(shù)據(jù)陣列區(qū)域。在列到列的延遲時間tccd3之后,兩個標簽集合(例如tag3和tag4)可從標簽陣列區(qū)域tag輸出,并且在列到列的延遲時間tccd3之后,數(shù)據(jù)集合{03,13,23,33,43,53,63,73}可從數(shù)據(jù)陣列區(qū)域data輸出。從標簽陣列tag輸出的標簽可以分別包括臟/干凈信息v3和v4以及標簽信息tag3和tag4。當?shù)诙羞x擇線csl_2在延遲時間(例如列到列的延遲時間tccd4)之后被激活時,余下的數(shù)據(jù)集合{04,14,24,34,44,54,64,74}可以被輸出到數(shù)據(jù)陣列區(qū)域。

同時,應當理解的是,在圖10中所示的緩存輸出方法不限制本發(fā)明構思的實施例。n路集合關聯(lián)緩存可以在各種方法中被輸出。

根據(jù)本發(fā)明構思的一些實施例的非易失性存儲器模塊nvdimm可以用固態(tài)驅動器(ssd)來實現(xiàn)。

圖11是示出根據(jù)本發(fā)明構思的一些實施例的非易失性存儲器模塊500的框圖。參照圖11,非易失性存儲器模塊500可包括第一和第二固態(tài)驅動器ssd511和512,第一和第二緩存dram531和532,數(shù)據(jù)緩沖器541到549,和存儲器模塊控制設備mmcd550。

第一和第二固態(tài)驅動器511和512中的每一個可以包括非易失性存儲器,以存儲大量的數(shù)據(jù)。第一和第二緩存dram531和532中的每一個可以被實現(xiàn)為執(zhí)行第一和第二固態(tài)驅動器ssd511和512中的每一個的緩存功能。第一和第二緩存dram531和532中的每一個可以用雙端口來實現(xiàn)。兩個緩存dram531和532在圖11中示出;然而,本發(fā)明構思的實施例不限于此。

固態(tài)驅動器ssd511和512可以從存儲器模塊控制設備550接收第一命令/地址can。緩存dram531和532可以從存儲器模塊控制設備550接收第二命令/地址cad。緩存dram531和532的第一輸入/輸出端口可以被連接到在緩存dram531和532與固態(tài)驅動器ssd511和512之間的數(shù)據(jù)路徑。緩存dram531和532的第二輸入/輸出端口可以被連接到在緩存dram531和532與數(shù)據(jù)緩沖器541到549之間的數(shù)據(jù)路徑。存儲器模塊控制設備550可以提供標簽信息到緩存dram532。數(shù)據(jù)緩沖器(db)541到549可以分別連接到緩存dram531和532,并且可以被配置為將從處理器100提供的數(shù)據(jù)dq(如圖1中所示)分別發(fā)送到緩存dram531和532,以及發(fā)送分別來自緩存dram531和532的數(shù)據(jù)dq到處理器100。存儲器模塊控制設備550可以從處理器100(如圖1中所見)接收命令/地址ca。

根據(jù)本發(fā)明構思的一些實施例的非易失性存儲器模塊nvdimm可以用分層存儲器來實現(xiàn)以減少路由。

圖12是示出根據(jù)本發(fā)明構思的一些實施例的非易失性存儲器模塊600的框圖。參照圖12,非易失性存儲器模塊600可以包括具有緩存dram的第一和第二分層存儲器611和612,數(shù)據(jù)緩沖器641到649,和存儲器模塊控制設備650。

第一和第二分層存儲器611和612中的每一個可以包括異構存儲器,其包括至少一個非易失性存儲器和用作至少一個緩存的至少一個緩存dram。

分層存儲器611和612的數(shù)量可以是2,如圖12中所示;然而,本發(fā)明構思的實施例不限于此。

第一和第二分層存儲器611和612可以從存儲器模塊控制設備650接收第一和第二命令/地址can和cad。第一和第二分層存儲器611和612可以分別連接到數(shù)據(jù)緩沖器641到649。數(shù)據(jù)緩沖器(db)641到649可以分別連接到第一和第二分層存儲器611和612,并可以被配置為分別向第一和第二分層存儲器611和612發(fā)送從處理器100(如圖1中所示)提供的數(shù)據(jù)dq以及向處理器100發(fā)送分別來自第一和第二分層存儲器611和612的數(shù)據(jù)dq。存儲器模塊控制設備650可從處理器100(如圖1中所見)接收命令/地址ca。

圖13是示出根據(jù)本發(fā)明構思的一些實施例的分層存儲器611的框圖。參考圖13,分層存儲器611可以包括多個nand快閃存儲器611-1至611-4,nand快閃存儲器控制器611-5,和緩存dram611-6和611-7。

nand快閃存儲器控制器611-5以及緩存dram611-6和611-7可以共享輸入/輸出線dqx8。雖然在圖13中未示出,但也可以在nand快閃存儲器控制器611-5與緩存dram611-6和611-7之間提供刷新專用通道。nand控制器611-5從存儲器模塊控制設備650接收第一命令/地址can。緩存dram611-6和611-7從存儲器模塊控制設備650接收第二命令/地址cad。

圖14是示出根據(jù)本發(fā)明構思的一些實施例的處理器的軟件架構的框圖。參照圖14,應用770可通過加載/存儲接口訪問非易失性存儲器模塊nvdimm700(例如本文所描述的非易失性存儲器模塊nvdimm)的ram,其中加載/存儲接口可通過使用非易失性存儲器庫nvmlibrary710訪問。此外,通過非易失性存儲器模塊驅動器nvdimm驅動器720的應用770和760可以分別通過使用永久性存儲器(pm)感知文件系統(tǒng)pm-awarefilesystem730或文件系統(tǒng)filesystem740訪問非易失性存儲器模塊nvdimm700。這里,非易失性存儲器模塊驅動器(nvdimm驅動器)720可通過應用編程接口(api)與應用750通信。此外,應用可以通過使用原始設備訪問接口而不經過文件系統(tǒng)直接訪問非易失性存儲器模塊。這里,原始設備可以是未經文件系統(tǒng)設置的區(qū)域。

同時,管理用戶界面(ui)780可以通過使用管理庫控制非易失性存儲器模塊驅動器。管理庫managementlibrary790可以包括用于管理存儲器模塊dimm和/或非易失性存儲器模塊nvdimm的主存儲器或系統(tǒng)存儲器上的存儲器分配、取消等的指令。內核空間包括非易失性存儲器模塊驅動器720、文件系統(tǒng)740和pm-aware系統(tǒng)730。用戶空間包括應用750、760和770,非易失性存儲器庫710,管理ui780,以及管理庫790。

根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)還可以包括根據(jù)ddr-t(事務)接口的非易失性存儲器。

圖15是示出根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)20的圖。參照圖15,計算系統(tǒng)20可以包括處理器100、存儲器模塊200、非易失性存儲器模塊nvdimm300(緩存dram)以及非易失性存儲器(nvm)400(例如pram)。相比于圖1的計算系統(tǒng)10,計算系統(tǒng)20還可以包括非易失性存儲器800,其根據(jù)ddr-t接口輸入和輸出數(shù)據(jù)。在這樣的實施例中,存儲器模塊200可以被實現(xiàn)來執(zhí)行非易失性存儲器800的緩存功能。在一些實施例中,非易失性存儲器800可以是3d-xpoint存儲器。

在圖15中所示的計算系統(tǒng)20可使用存儲器模塊200作為非易失性存儲器800的緩存;然而,本發(fā)明構思的實施例不限于此。

根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)可使用包括在處理器中的dram作為非易失性存儲器800的緩存。

圖16是示出根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)30的圖。計算系統(tǒng)30包括處理器100a、非易失性存儲器模塊nvdimm300(緩存dram)以及非易失性存儲器nvm800a。dram110a被包括在處理器100a中。相比于圖15的計算系統(tǒng)20,圖16的計算系統(tǒng)30可以執(zhí)行處理器100a的dram110a內部的dimm的緩存功能。

根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)可包括包含dram的處理器,該dram執(zhí)行非易失性存儲器模塊nvdimm的緩存功能。

圖17是示出根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)40的圖。計算系統(tǒng)40可以包括主機100b,其包括dram110b;以及非易失性存儲器模塊nvdimm(緩存dram)300-1到300-k(k是整數(shù))。dram110b可以執(zhí)行非易失性存儲器模塊300-1到300-k的緩存功能。主機100b可以根據(jù)ddr接口連接到非易失性存儲器模塊300-1到300-k。

根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)可連接到各種類型的存儲設備。

圖18是示出根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)50的框圖。參照圖18,計算系統(tǒng)50可以包括中央處理單元(cpu)51、平臺控制器集線器(pch)52、dram53、非易失性存儲器模塊nvdimm54、三維(3d)xpointtm存儲器55、快速nvm(nvme)固態(tài)驅動器ssd56、串行at附件(sata)固態(tài)驅動器ssd57以及磁盤58。

dram53和nvdimm54可以根據(jù)ddr協(xié)議與cpu51通信。3dxpoint存儲器55可以根據(jù)ddr-t/pcie協(xié)議與cpu51通信。nvmessd56可根據(jù)pcie協(xié)議與cpu51通信。平臺控制器集線器52可以根據(jù)各種接口與存儲設備連接。例如,satassd57可以通過使用sata接口被連接到平臺控制器集線器52。磁盤58可以通過使用sata接口被連接到平臺控制器集線器52。

圖19是示出根據(jù)本發(fā)明構思的一些實施例的數(shù)據(jù)服務器系統(tǒng)60的框圖。參照圖19,數(shù)據(jù)服務器系統(tǒng)60可以包括相關數(shù)據(jù)庫管理系統(tǒng)(rdbms)610、緩存服務器620和應用服務器630以及瀏覽器。

緩存服務器620可以遵守來自相關數(shù)據(jù)庫管理系統(tǒng)610的禁用通知而保持和刪除彼此不同的一對密鑰和值。

rdbms610、緩存服務器620和應用服務器630中的至少一個可包括參照圖1到18所描述的非易失性存儲器模塊nvdimm中的至少一個。

參照圖1-19描述了非易失性存儲器模塊;然而,本發(fā)明構思的實施例不限于此。本發(fā)明構思的一些實施例可以適用于使用dram作為非易失性存儲器的緩存的任何種類的計算系統(tǒng)。

圖20是示出根據(jù)本發(fā)明構思的一些實施例的計算系統(tǒng)70的框圖。參考圖20,計算系統(tǒng)70可以包括cpu7100、緩存dram7200以及至少一個非易失性存儲器7300。緩存dram7200可以執(zhí)行非易失性存儲器7300的緩存功能。緩存dram7200可以被稱為“近存儲器”,因為其相對接近cpu7100,并且非易失性存儲器7300可以被稱為“遠存儲器”,因為其相對遠離cpu7100。

根據(jù)本發(fā)明構思的一些實施例,非易失性存儲器模塊及其計算系統(tǒng)可以使用具有緩存dram的非易失性存儲器模塊作為工作存儲器,由此實現(xiàn)低成本、高容量和高性能。

雖然已經示出和描述了本總的發(fā)明構思的若干實施例,但是本領域的技術人員將會理解到:在不背離總的發(fā)明構思的原理和精神的情況下,可以在這些實施例中進行改變,總的發(fā)明構思的范圍在所附權利要求書及其等同物中限定。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
富顺县| 堆龙德庆县| 洪洞县| 内乡县| 牡丹江市| 景泰县| 永善县| 辽宁省| 万载县| 平原县| 玉屏| 古丈县| 成安县| 吴桥县| 同心县| 武功县| 渑池县| 辛集市| 酒泉市| 柘城县| 靖州| 疏附县| 吕梁市| 宜都市| 常德市| 丘北县| 竹山县| 南汇区| 高安市| 吴忠市| 自贡市| 迁安市| 全椒县| 康保县| 尼玛县| 准格尔旗| 三江| 湄潭县| 象州县| 涡阳县| 随州市|