本申請(qǐng)要求于2016年1月22日提交的第62/286,212號(hào)美國(guó)臨時(shí)專利申請(qǐng)以及于2016年4月14日提交的第15/098,965號(hào)美國(guó)專利申請(qǐng)的權(quán)益,該申請(qǐng)的主題通過(guò)引用合并于此。
本發(fā)明的實(shí)施例總體涉及一種計(jì)算系統(tǒng),更具體地說(shuō),涉及一種用于存儲(chǔ)器管理機(jī)制的系統(tǒng)。
背景技術(shù):
現(xiàn)代消費(fèi)者和工業(yè)電子(諸如,計(jì)算系統(tǒng)、服務(wù)器、家用電器、電視、蜂窩電話、汽車、衛(wèi)星和組合裝置)提供了越來(lái)越多的功能以支持現(xiàn)代生活。雖然性能要求可在消費(fèi)產(chǎn)品與企業(yè)或商業(yè)產(chǎn)品之間不同,但是在降低功耗的同時(shí)還要求更多性能的共同需求?,F(xiàn)有技術(shù)中的研究和開(kāi)發(fā)能夠帶來(lái)大量不同的方向。
一個(gè)這樣的方向包括管理可用資源的提高。隨著電子裝置的數(shù)量和各個(gè)裝置的處理能力增加,對(duì)計(jì)算資源的需求正迅猛增加。高效或有效地管理可用資源能提供多個(gè)裝置間的越來(lái)越多的性能和功能。
因此,仍然需要具有存儲(chǔ)器管理機(jī)制的計(jì)算系統(tǒng)。由于在市場(chǎng)中不斷增長(zhǎng)的商業(yè)競(jìng)爭(zhēng)壓力,以及越來(lái)越高的消費(fèi)者期望和有意義的產(chǎn)品差異化的機(jī)會(huì)逐漸縮小,對(duì)于找到這些問(wèn)題的答案越來(lái)越關(guān)鍵。此外,對(duì)于降低成本、提高效率和性能以及面對(duì)競(jìng)爭(zhēng)壓力的需求更加增加了對(duì)于找到這些問(wèn)題的答案的關(guān)鍵必要性的緊迫性。
長(zhǎng)時(shí)間地尋求對(duì)于這些問(wèn)題的解決方案,但是現(xiàn)有發(fā)展并沒(méi)有教導(dǎo)或建議任何的解決方案,因此本領(lǐng)域的技術(shù)人員長(zhǎng)時(shí)間地規(guī)避對(duì)于這些問(wèn)題的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施例提供了一種計(jì)算系統(tǒng),所述計(jì)算系統(tǒng)包括:存儲(chǔ)組件,包括易失性存儲(chǔ)器裝置和非易失性存儲(chǔ)器裝置,其中,易失性存儲(chǔ)器裝置和非易失性存儲(chǔ)器裝置被配置為實(shí)現(xiàn)信息的持久性存儲(chǔ)與信息的面向塊的海量存儲(chǔ);控制器組件,連接到存儲(chǔ)組件,被配置為實(shí)現(xiàn)智能存儲(chǔ)器驅(qū)動(dòng)器,其中,智能存儲(chǔ)器驅(qū)動(dòng)器被配置為動(dòng)態(tài)管理包括管理易失性存儲(chǔ)器裝置內(nèi)的持久性存儲(chǔ)器(pm:persistentmemory)部分、硬件高速緩存存儲(chǔ)器(hwc:hardwarecache)部分、塊窗口(bw:blockwindow)部分或其組合的易失性存儲(chǔ)器裝置。
本發(fā)明的實(shí)施例提供了的一種計(jì)算系統(tǒng)操作的方法,所述方法包括:確定用于表示用戶特點(diǎn)、應(yīng)用特點(diǎn)或其組合的存儲(chǔ)器需求;基于根據(jù)存儲(chǔ)器需求對(duì)平衡易失性存儲(chǔ)器裝置內(nèi)的持久性存儲(chǔ)器(pm)部分、硬件高速緩存存儲(chǔ)器(hwc)部分、塊窗口(bw)部分進(jìn)行平衡,來(lái)配置易失性存儲(chǔ)器裝置,其中,易失性存儲(chǔ)器裝置是是用于根據(jù)持久性存儲(chǔ)器(pm)模式、塊模式或其組合與非易失性存儲(chǔ)器裝一起存儲(chǔ)信息的硬件存儲(chǔ)器。
本發(fā)明的實(shí)施例提供了一種包括用于計(jì)算系統(tǒng)的指令的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),其中,所述指令包括:確定用于表示用戶特點(diǎn)、應(yīng)用特點(diǎn)或其組合的存儲(chǔ)器需求;基于根據(jù)存儲(chǔ)器需求對(duì)平衡易失性存儲(chǔ)器裝置內(nèi)的持久性存儲(chǔ)器(pm)部分、硬件高速緩存存儲(chǔ)器(hwc)部分和塊窗口(bw)部分進(jìn)行平衡,配置易失性存儲(chǔ)器裝置,其中,易失性存儲(chǔ)器裝置是用于根據(jù)持久性存儲(chǔ)器(pm)模式、塊模式或其組合與非易失性存儲(chǔ)器裝置一起存儲(chǔ)信息的硬件存儲(chǔ)器。
本發(fā)明的特定實(shí)施例具有除了上面提到的步驟或元件之外的其他步驟或元件或具有用于代替上面提到的步驟或元件的其他步驟或元件。當(dāng)參考附圖時(shí),通過(guò)閱讀下面的具體實(shí)現(xiàn)方式,這些步驟或元件對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō)將變得明顯。
附圖說(shuō)明
圖1是本發(fā)明的實(shí)施例的具有存儲(chǔ)器管理機(jī)制的計(jì)算系統(tǒng)的示例性框圖。
圖2是計(jì)算系統(tǒng)的示例性架構(gòu)示圖。
圖3是圖2的存儲(chǔ)組件的示例時(shí)序圖。
圖4是本發(fā)明的實(shí)施例的計(jì)算系統(tǒng)的操作方法的流程圖。
具體實(shí)現(xiàn)方式
以下實(shí)施例包括使用軟件以支持持久存儲(chǔ)器模式和塊模式二者的nvdimmp架構(gòu)。可針對(duì)下述實(shí)施例利用現(xiàn)有的存儲(chǔ)器技術(shù)(諸如,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器或閃速存儲(chǔ)器)。nvdimmp架構(gòu)可基于智能存儲(chǔ)器驅(qū)動(dòng)器來(lái)實(shí)現(xiàn)。以下實(shí)施例還可基于將易失性-存儲(chǔ)器裝置配置為包括持久存儲(chǔ)器部分、硬件高速緩沖存儲(chǔ)器部分、塊窗口部分或其組合以及非易失性存儲(chǔ)器裝置、管理電路、存儲(chǔ)器數(shù)據(jù)緩沖器或其組合。
以下實(shí)施例被充分詳細(xì)地描述以使本領(lǐng)域的技術(shù)人員能夠做出和使用本發(fā)明。將理解,其它實(shí)施例基于本公開(kāi)將是明顯的,在不脫離本發(fā)明的實(shí)施例的范圍的情況下可做出系統(tǒng)、處理、架構(gòu)或機(jī)械改變。
在以下描述中,給出很多具體細(xì)節(jié)以提供對(duì)本發(fā)明的徹底理解。然而,將清楚地是在沒(méi)有這種具體細(xì)節(jié)的情況下也可實(shí)現(xiàn)本發(fā)明和各種實(shí)施例。為了避免使本發(fā)明的實(shí)施例難以理解,不具體公開(kāi)一些公知的電路、系統(tǒng)配置和處理步驟。
示出系統(tǒng)的實(shí)施例的附圖是半圖式的而不按比例繪制,特別地,一些尺寸是為了清楚地呈現(xiàn)并在附圖中夸大地示出。類似地,雖然附圖中的視圖為了便于描述而一般示出相似的方向,但是附圖中的這樣的描繪多半是任意的。通常,可以以任何的方向操作本發(fā)明。
在本發(fā)明的實(shí)施例中,這里提及的術(shù)語(yǔ)“組件”根據(jù)使用該術(shù)語(yǔ)的上下文可包括或被實(shí)現(xiàn)為軟件、硬件或其組合。例如,軟件可以是機(jī)器代碼、固件、嵌入式代碼和應(yīng)用軟件。此外,例如,硬件可以是電路、處理器、計(jì)算機(jī)、集成電路、集成電路核、壓力傳感器、慣性傳感器、微機(jī)電系統(tǒng)(mems)、無(wú)源裝置或其組合。此外,如果組件被寫(xiě)在上面的設(shè)備權(quán)利要求部分中,則該組件可出于設(shè)備權(quán)利要求的目的和范圍而被認(rèn)為包括硬件電路。
實(shí)施例的以下描述中的組件可連接到描述或示出的另一個(gè)。連接可以是是直接的或間接的(即,連接項(xiàng)之間分別沒(méi)有或有中間項(xiàng))。連接可以是物理接觸或是通過(guò)項(xiàng)之間的通信。
圖1是本發(fā)明的實(shí)施例中的具有存儲(chǔ)器管理機(jī)制的計(jì)算系統(tǒng)的示例性框圖。計(jì)算系統(tǒng)100可包括裝置102。裝置102可以是客戶端裝置、服務(wù)器、顯示接口或其組合。
例如,裝置102可以是智能電話、可穿戴裝置或健康監(jiān)測(cè)器、用于物聯(lián)網(wǎng)的傳感器或處理裝置或者其組合。此外,例如,裝置102可包括計(jì)算機(jī)、網(wǎng)格計(jì)算資源、虛擬化計(jì)算機(jī)資源、云計(jì)算資源、路由器、交換機(jī)、對(duì)等分布式計(jì)算裝置或其組合。此外,例如,裝置102可以是由服務(wù)供應(yīng)商利用的服務(wù)器。
裝置102可包括控制電路112、存儲(chǔ)電路114、通信電路116和用戶接口118??刂齐娐?12可包括控制接口122。控制電路112可執(zhí)行計(jì)算系統(tǒng)100的軟件126。
在實(shí)施例中,控制電路112將處理能力和功能提供給計(jì)算系統(tǒng)100。控制電路112可以以大量不同的方式來(lái)實(shí)現(xiàn)。例如,控制電路112可以是處理器或其中的一部分、專用集成電路(asic)、嵌入式處理器、微處理器、中央處理器(cpu)、圖形處理器(gpu)、硬件控制邏輯、硬件有限狀態(tài)機(jī)(fsm)、數(shù)字信號(hào)處理器(dsp)、具有計(jì)算能力的硬件電路或其組合。
作為進(jìn)一步的示例,各種實(shí)施例可在單個(gè)集成電路上實(shí)現(xiàn),其中,單個(gè)集成電路具有系統(tǒng)罩內(nèi)的子卡或系統(tǒng)板上的組件或者從系統(tǒng)到系統(tǒng)分布的穿越各種網(wǎng)絡(luò)拓?fù)涞慕M件或其組合。網(wǎng)絡(luò)拓?fù)涞氖纠▊€(gè)人區(qū)域網(wǎng)絡(luò)(pan),局域網(wǎng)(lan),存儲(chǔ)區(qū)域網(wǎng)絡(luò)(san),城域網(wǎng)(man),廣域網(wǎng)(wan),或其組合。
控制接口122可用于控制電路112與裝置102中的其他功能電路單元之間的通信??刂平涌?22還可用于與裝置102外部的通信。
控制接口122可從其他功能電路單元或從外部源接收信息,或可將信息發(fā)送到其他功能電路單元或外部目的地。外部源和外部目的地表示裝置102外部的源和目的地。
控制接口122可以以不同的方式來(lái)實(shí)現(xiàn),并可根據(jù)哪些功能電路單元或外部電路單元與控制接口122進(jìn)行交互的而包括不同的實(shí)現(xiàn)方式。例如,控制接口122可使用壓力傳感器、慣性傳感器、微機(jī)電系統(tǒng)(mems)、光電路、波導(dǎo)、無(wú)線線路、電纜線路或其組合來(lái)實(shí)現(xiàn)。
存儲(chǔ)電路114可存儲(chǔ)軟件126。存儲(chǔ)電路114還可存儲(chǔ)相關(guān)信息(諸如,數(shù)據(jù)、圖像、程序、聲音文件或其組合)。還可調(diào)整存儲(chǔ)電路114的大小,以提供額外的存儲(chǔ)容量。
存儲(chǔ)電路114可以是易失性存儲(chǔ)器、非易失性存儲(chǔ)器、內(nèi)部存儲(chǔ)器、外部存儲(chǔ)器或其組合。例如,存儲(chǔ)電路114可以是非易失性存儲(chǔ)器(諸如,非易失性隨機(jī)存取存儲(chǔ)器(nvram)、閃速存儲(chǔ)器和盤(pán)存儲(chǔ)器)或易失性存儲(chǔ)器(諸如,靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)和動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram))、任意存儲(chǔ)器技術(shù)或其組合。
作為更具體的示例,存儲(chǔ)電路114可以是非易失性雙列直插式存儲(chǔ)器模塊(nvdimm),其中,nvdimm包括利用駐留在存儲(chǔ)器互連上的閃存裝置的nvdimm-f、利用字節(jié)可尋址存儲(chǔ)器映射裝置的nvdimm-n或其組合。nvdimm-n存儲(chǔ)器可以是包括dram的適應(yīng)存儲(chǔ)器模塊,其中,dram通過(guò)閃速存儲(chǔ)器的使用而被制作為持久的。nvdimm-f存儲(chǔ)器可以是基于可訪問(wèn)系統(tǒng)控制器的進(jìn)一步額外的閃速存儲(chǔ)器而作為面向塊的海量存儲(chǔ)裝置。
存儲(chǔ)電路114可包括存儲(chǔ)接口124。存儲(chǔ)接口124可用于與裝置102中的其他功能電路單元的通信。存儲(chǔ)接口124還可用于與裝置102外部的通信。
存儲(chǔ)接口124可從其他功能電路單元或從外部源接收信息,或可將信息發(fā)送到其他功能電路單元或外部目的地。外部源和外部目的地表示裝置102外部的源和目的地。
存儲(chǔ)接口124可根據(jù)哪些功能電路單元或外部電路單元與存儲(chǔ)電路114進(jìn)行交互,而包括不同的實(shí)現(xiàn)方式。存儲(chǔ)接口124可使用與控制接口122的實(shí)現(xiàn)方式類似的技術(shù)和技巧來(lái)實(shí)現(xiàn)。
雖然理解存儲(chǔ)電路114可以是分布的存儲(chǔ)元件,但是出于示出的目的,存儲(chǔ)電路114被示出為單個(gè)元件。雖然理解計(jì)算系統(tǒng)100可具有不同配置下的存儲(chǔ)電路114,但是同樣出于示出的目的,計(jì)算系統(tǒng)100被示出為具有作為單層級(jí)存儲(chǔ)系統(tǒng)的存儲(chǔ)電路114。例如,存儲(chǔ)電路114可使用不同的存儲(chǔ)技術(shù)來(lái)形成,其中,不同的存儲(chǔ)技術(shù)形成包括不同級(jí)別的高速緩沖存儲(chǔ)器、主存儲(chǔ)器、固態(tài)媒體、旋轉(zhuǎn)媒體或離線存儲(chǔ)的存儲(chǔ)器層級(jí)系統(tǒng)。
通信電路116可使裝置12能夠與外部執(zhí)行通信。例如,通信電路116可允許裝置102與第二裝置(未示出)、附件(諸如,外圍裝置)、通信路徑或其組合進(jìn)行通信。
通信電路116還可提供允許裝置102用作通信路徑的一部分(并不限于通信路徑的端點(diǎn)或終端單元)的通信集線器的功能。通信電路116可為了與通信路徑的交互而包括有源組件或無(wú)源組件(諸如,微電子或天線)。
通信電路116可包括通信接口128。通信接口128可用于通信電路116與裝置102中的其他功能電路單元的通信。通信接口128可從其他功能電路單元接收信息,或可將信息發(fā)送到其他功能電路單元。
通信接口128可根據(jù)哪些功能電路單元與通信電路116進(jìn)行交互,而包括不同的實(shí)現(xiàn)方式。通信接口128可使用與控制接口122、存儲(chǔ)接口124或其組合的實(shí)現(xiàn)方式類似的技術(shù)和技巧來(lái)實(shí)現(xiàn)。
用戶接口118允許用戶(未示出)與裝置102連接并交互。用戶接口118可包括輸入裝置、輸出裝置或其組合。用戶接口118的輸入裝置的示例包括小型按鍵、觸摸板、軟按鍵、鍵盤(pán)、麥克風(fēng)、用于接收遠(yuǎn)程信號(hào)的紅外傳感器、其他輸入裝置或其組合,以提供數(shù)據(jù)和通信輸入。
用戶接口118可包括顯示接口130。顯示接口130可包括顯示器、投影儀、視頻屏幕、揚(yáng)聲器或其組合。
控制電路112可操作用戶接口118,以顯示由計(jì)算系統(tǒng)100生成的信息??刂齐娐?12還可為了計(jì)算系統(tǒng)100的其他功能而執(zhí)行軟件126。控制電路112還可為了經(jīng)由通信電路116與通信路徑的交互而執(zhí)行軟件126。
裝置102還可為了實(shí)現(xiàn)多個(gè)裝置實(shí)施例的計(jì)算系統(tǒng)100的實(shí)施例而進(jìn)行優(yōu)化。裝置102可提供額外或更高的性能處理能力。
雖然理解裝置102可具有任意不同的劃分,但是出于示出的目的,裝置102被示出為使用用戶接口118、存儲(chǔ)電路114、控制電路112和通信電路116進(jìn)行劃分。例如,軟件126可被不同的劃分,以使至少一些功能可在控制電路112和通信電路116中。此外,裝置102可包括為了清楚而未示出的其他功能電路單元。
裝置102中的功能電路單元可單獨(dú)和獨(dú)立于其他功能電路單元而工作。雖然理解裝置102可操作計(jì)算系統(tǒng)100的處理和功能中的任意一個(gè),但是出于示出的目的,計(jì)算系統(tǒng)100被描述為通過(guò)裝置102而操作。
本申請(qǐng)中的處理可以是控制電路112中的硬件實(shí)現(xiàn)、硬件電路或硬件計(jì)算器。處理還可在裝置102內(nèi)但在控制電路112外進(jìn)行實(shí)現(xiàn)。
本申請(qǐng)中的處理可以是軟件126的部分。這些處理還可存儲(chǔ)在存儲(chǔ)電路114中。控制電路112可執(zhí)行用于操作計(jì)算系統(tǒng)100的這些處理。
圖2是計(jì)算系統(tǒng)的示例性架構(gòu)示圖。架構(gòu)示圖可代表計(jì)算系統(tǒng)100的圖1的存儲(chǔ)電路114、圖1的控制電路112、其一個(gè)或多個(gè)接口或其組合。
將在架構(gòu)示圖中進(jìn)行示例和在下面進(jìn)行詳細(xì)討論的計(jì)算系統(tǒng)100可通過(guò)nvdimm-f和nvdimm-n二者來(lái)實(shí)現(xiàn)或?qū)嵤┐鎯?chǔ)電路114。例如,計(jì)算系統(tǒng)100可實(shí)現(xiàn)或?qū)嵤┸浖xnvdimm-p架構(gòu),以實(shí)施用于nvdimm-n的適應(yīng)存儲(chǔ)器模塊以及用于nvdimm-f的進(jìn)一步額外的閃速存儲(chǔ)器,其中,用于nvdimm-n的適應(yīng)存儲(chǔ)模塊有dramm構(gòu)成且通過(guò)閃速存儲(chǔ)器的使用而成為持久的,用于nvdimm-f的進(jìn)一步額外的閃速存儲(chǔ)器作為面向塊的海量存儲(chǔ)裝置且可被系統(tǒng)控制器訪問(wèn)。
nvdimm-n通常不包括持久性功能所需的系統(tǒng)可訪問(wèn)的閃速存儲(chǔ)器。計(jì)算系統(tǒng)100還可使用軟件定義nvdimm-p架構(gòu)來(lái)提供額外的閃速存儲(chǔ)器功能并有效地提供nvdimm-f特性和nvdimm-n特性二者。計(jì)算系統(tǒng)100可使用軟件定義nvdimm-p架構(gòu),來(lái)與軟件定義nvdimm-p架構(gòu)一起使用現(xiàn)有存儲(chǔ)器技術(shù)(諸如,使用dram和閃存存儲(chǔ)器)支持持久存儲(chǔ)器(pm)模式202和塊模式204。
pm模式202可以是為了即使對(duì)于存儲(chǔ)數(shù)據(jù)的創(chuàng)建或最終修改的處理結(jié)束之后也提供針對(duì)存儲(chǔ)數(shù)據(jù)的連續(xù)訪問(wèn)的用于計(jì)算系統(tǒng)100、存儲(chǔ)電路114、其部分或其組合的硬件組件或配置、操作方法或其組合。pm模式202可與nvdimm-n關(guān)聯(lián)。pm模式202可使計(jì)算系統(tǒng)100能夠使用存儲(chǔ)器指令或存儲(chǔ)器應(yīng)用程序接口(api)持續(xù)地訪問(wèn)存儲(chǔ)的數(shù)據(jù)。
pm模式202可使存儲(chǔ)電路114或存儲(chǔ)電路114的一部分能夠在正常操作模式期間起到ddr4存儲(chǔ)器的作用。計(jì)算系統(tǒng)100可在掉電或上電操作期間使用“保存(save)”或“存儲(chǔ)(store)”功能用于dram與flash之間的數(shù)據(jù)移動(dòng)。
pm模式202可與強(qiáng)調(diào)存在于創(chuàng)建持久性的處理的斷裂帶外部的程序狀態(tài)上的持久性的概念緊密聯(lián)系,以提供到數(shù)據(jù)的存儲(chǔ)器類似的訪問(wèn)。pm模式202可包括通過(guò)閃速存儲(chǔ)器的使用而成為持久的dram。pm模式202可缺少超出可訪問(wèn)的進(jìn)一步額外的閃存存儲(chǔ)器。
塊模式204是硬件組件或配置、操作方法或其組合,以提供面向塊的海量存儲(chǔ)裝置。塊模式204可利用dram、閃存存儲(chǔ)器或其組合,以提供面向塊的海量存儲(chǔ)。塊模式204可與nvdimm-f關(guān)聯(lián)。
計(jì)算系統(tǒng)100可在針對(duì)塊模式204的正常操作期間利用控制電路或soc來(lái)調(diào)度從驅(qū)動(dòng)器到dram以及從dram到flash的數(shù)據(jù)移動(dòng)。計(jì)算系統(tǒng)100可在功率損耗或啟動(dòng)操作期間使用“保存”或“存儲(chǔ)”功能用于dram與flash之間的數(shù)據(jù)移動(dòng)。
用于軟件定義nvdimm-p架構(gòu)的計(jì)算系統(tǒng)100的架構(gòu)可包括控制器組件206、存儲(chǔ)組件208或其組合??刂破鹘M件206被配置為控制用于實(shí)現(xiàn)軟件定義nvdimm-p架構(gòu)的配置或操作。
控制器組件206可被實(shí)現(xiàn)為處理、機(jī)制、方法或其組合??刂破鹘M件206可以是圖1的軟件126的部分、包括在圖1的軟件126中、實(shí)現(xiàn)或執(zhí)行圖1的軟件126或其組合??刂破鹘M件206還可使用控制電路112、存儲(chǔ)電路114、一個(gè)或多個(gè)接口、其部分或其組合來(lái)實(shí)現(xiàn)。例如,控制器組件206可包括存儲(chǔ)器管理單元(mmu)210、持久性存儲(chǔ)器文件系統(tǒng)(pmfs)212或其組合以及智能存儲(chǔ)器驅(qū)動(dòng)器214。
存儲(chǔ)器管理單元210可包括用于轉(zhuǎn)換(諸如,虛擬存儲(chǔ)器地址與物理地址之間)各種地址的電路。存儲(chǔ)器管理單元210可以是硬件。存儲(chǔ)器管理單元210可以是控制電路112的一部分(諸如用于cpu或單獨(dú)的集成電路)、存儲(chǔ)電路114或其組合。
pmfs212可包括用于持久性存儲(chǔ)器的文件系統(tǒng)。文件系統(tǒng)可被優(yōu)化為針對(duì)提供對(duì)于(經(jīng)由控制電路112(諸如,對(duì)cpu加載指令、存儲(chǔ)指令或其組合)的直接可訪問(wèn)的)持久性存儲(chǔ)器的訪問(wèn)而輕便和有效。
智能存儲(chǔ)器驅(qū)動(dòng)器214可以是用于使計(jì)算系統(tǒng)100能夠與存儲(chǔ)電路114、存儲(chǔ)組件208、其部分或其組合進(jìn)行通信的處理、機(jī)制、方法或其組合。智能存儲(chǔ)器驅(qū)動(dòng)器214可具體地配置和控制存儲(chǔ)組件208以實(shí)現(xiàn)軟件定義的nvdimm-p架構(gòu)。
智能存儲(chǔ)器驅(qū)動(dòng)器214可以是諸如包括在軟件126中的或類似于軟件126的軟件。智能存儲(chǔ)器驅(qū)動(dòng)器214可由控制電路112、存儲(chǔ)電路114、其中的一個(gè)或多個(gè)接口或其組合實(shí)現(xiàn)或執(zhí)行。
智能存儲(chǔ)器驅(qū)動(dòng)器214可定義或配置存儲(chǔ)組件208內(nèi)的一個(gè)或多個(gè)區(qū)域或其中的部分。智能存儲(chǔ)器驅(qū)動(dòng)器214可根據(jù)用戶或應(yīng)用需求而動(dòng)態(tài)地定義或配置存儲(chǔ)組件208。智能存儲(chǔ)器驅(qū)動(dòng)器214可配置存儲(chǔ)組件208以起到nvdimm-f、nvdimm-n、nvdimm-p或其組合的作用。智能存儲(chǔ)器驅(qū)動(dòng)器214可提供持久性軟件框架。智能存儲(chǔ)器驅(qū)動(dòng)器214還可替換與其他先前的僅nvdimm-n-裝置或其他先前的僅nvdimm-f-裝置對(duì)應(yīng)的硬件驅(qū)動(dòng)器。
存儲(chǔ)組件208可以是被配置為存儲(chǔ)數(shù)據(jù)和提供對(duì)于數(shù)據(jù)的訪問(wèn)的裝置、電路、其部分、與其關(guān)聯(lián)的處理或方法、或其組合。存儲(chǔ)組件208可被動(dòng)態(tài)地配置為提供或支持pm模式202、塊模式204或其組合。存儲(chǔ)組件208可基于配置而模擬nvdimm-n、nvdimm-f或其組合。
存儲(chǔ)組件208可包括硬件存儲(chǔ)器。存儲(chǔ)組件208可以是存儲(chǔ)電路114的部分或段,或者在存儲(chǔ)電路114內(nèi)。例如,存儲(chǔ)組件208可包括nvdimm。此外,例如,存儲(chǔ)組件208可包括dram、閃速存儲(chǔ)器裝置、其他電路或與其相關(guān)聯(lián)的緩沖器或者其組合。作為更具體的示例,存儲(chǔ)組件208可包括存儲(chǔ)器數(shù)據(jù)緩沖器(mdb)216、管理電路218、易失性存儲(chǔ)器裝置220、非易失性存儲(chǔ)器裝置222、電力存儲(chǔ)裝置224或其組合,以確保信息的持久性存儲(chǔ)以及信息的面向塊的海量存儲(chǔ)。
mdb216可結(jié)合到易失性存儲(chǔ)器220、通過(guò)存儲(chǔ)器總線連接到控制器組件206并結(jié)合到管理電路218。mdb216可結(jié)合到非易失性存儲(chǔ)器裝置222或通過(guò)管理電路218間接地結(jié)合到非易失性存儲(chǔ)器裝置222。mdb216可以是在控制器組件206與易失性存儲(chǔ)器裝置220、非易失性存儲(chǔ)器裝置222或其組合之間。
管理電路218可結(jié)合到非易失性存儲(chǔ)器裝置222、結(jié)合到mdb216、通過(guò)存儲(chǔ)器總線結(jié)合到控制器組件206、結(jié)合到易失性存儲(chǔ)器裝置220或其組合。管理電路218還可通過(guò)或使用mdb216間接地結(jié)合到易失性存儲(chǔ)器裝置220。管理電路218可以是在控制器組件206與指定為存儲(chǔ)可訪問(wèn)信息的存儲(chǔ)組件208的部分(諸如,mdb216、非易失性存儲(chǔ)器裝置222、易失性存儲(chǔ)器裝置220或其組合)之間。
控制器組件206和存儲(chǔ)組件208可使用存儲(chǔ)器總線結(jié)合或連接。存儲(chǔ)器總線可以是圖1的控制接口122、圖1的存儲(chǔ)接口124、其中的部分或其組合。存儲(chǔ)器總線可包括用于交換其中的電路或組件之間的數(shù)據(jù)的電連接。
存儲(chǔ)器總線可包括一個(gè)或多個(gè)數(shù)據(jù)路徑226、一個(gè)或多個(gè)控制路徑228、其部分或其組合。一個(gè)或多個(gè)數(shù)據(jù)路徑226可包括一個(gè)或多個(gè)電連接,其中,一個(gè)或多個(gè)電連接被配置為交換由處理定為目標(biāo)或?qū)ふ业臄?shù)據(jù)或內(nèi)容信息(諸如,用于讀取或?qū)懭氩僮魉幚砘蚨槟繕?biāo)的信息)。一個(gè)或多個(gè)數(shù)據(jù)路徑226在圖2中被示出為諸如用于pm模式202的具有實(shí)箭頭的實(shí)線、諸如用于塊模式204的具有粗虛線的虛線或其組合。
一個(gè)或多個(gè)控制路徑228可包括一個(gè)或多個(gè)電連接,其中,所述一個(gè)或多個(gè)電連接被配置為交換控制信號(hào)(諸如,命令或狀態(tài)信號(hào))以實(shí)現(xiàn)處理(諸如,實(shí)現(xiàn)讀取或?qū)懭氩僮魉鼈冏约旱目刂苹驙顟B(tài)信號(hào))??刂坡窂?28在圖2中被示出為具有白色或空箭頭的細(xì)虛線。
如在圖2中所示例,數(shù)據(jù)路徑226的所有實(shí)例可針對(duì)存儲(chǔ)組件208連接到mdb216。計(jì)算系統(tǒng)100可以是沒(méi)有或缺少?gòu)目刂破鹘M件206到易失性存儲(chǔ)器裝置220的直接訪問(wèn)、沒(méi)有對(duì)于非易失性存儲(chǔ)器裝置222的直接訪問(wèn)或其組合。
電力存儲(chǔ)裝置224可包括用于確保數(shù)據(jù)的持久性訪問(wèn)的能源。電力存儲(chǔ)裝置224可包括用于將能量提供給存儲(chǔ)組件208的電池或電容器。
非易失性存儲(chǔ)器裝置222可包括用于提供按塊處理存儲(chǔ)器的非易失性存儲(chǔ)器的裝置或電路。非易失性存儲(chǔ)器裝置222可通過(guò)按頁(yè)或塊的單元讀取或?qū)懭攵焕?。非易失性存?chǔ)器裝置222可利用與非(nand)或者或非(nor)類型組件。非易失性存儲(chǔ)器裝置222可提供用于pm模式202、塊模式204或其組合的持久性存儲(chǔ)。
易失性存儲(chǔ)器裝置220可包括在裝置供電時(shí)維持其數(shù)據(jù)的一個(gè)或多個(gè)存儲(chǔ)電路。易失性存儲(chǔ)器裝置220可包括用于不受相應(yīng)數(shù)據(jù)的物理存儲(chǔ)位置或者裝置或電路上的存儲(chǔ)位置影響而提供對(duì)數(shù)據(jù)的快速或持續(xù)的訪問(wèn)的裝置或電路。例如,易失性存儲(chǔ)器裝置220可被實(shí)現(xiàn)為dram。作為更具體的示例,易失性存儲(chǔ)器裝置220可包括利用電力存儲(chǔ)裝置224在掉電操作期間提供數(shù)據(jù)持久化的ddr4dram,諸如,nvdimm-n。
易失性存儲(chǔ)器裝置220可被動(dòng)態(tài)地配置為支持pm模式202、塊模式204或其組合。易失性存儲(chǔ)器裝置220可被動(dòng)態(tài)地配置為包括持久性存儲(chǔ)器(pm:persistentmemory)部分230、硬件高速緩存存儲(chǔ)器(hwc:hardwarecache部分232、塊窗口(bw:blockwindow)部分234或其組合。
pm部分230、hwc部分232和bw部分234均可以是被配置為存儲(chǔ)數(shù)據(jù)、擦除數(shù)據(jù)和提供對(duì)于數(shù)據(jù)的訪問(wèn)的易失性存儲(chǔ)器裝置220內(nèi)的部分或段。pm部分230、hwc部分232和bw部分234可基于體級(jí)別粒度(bank-levelgranularity)。
pm部分230是易失性存儲(chǔ)器裝置220的被配置為實(shí)現(xiàn)pm模式202的部分,其中,pm模式202用于在創(chuàng)建或處理數(shù)據(jù)的處理的結(jié)束之后持續(xù)提供對(duì)于在其中的數(shù)據(jù)的訪問(wèn)。pm部分230可促進(jìn)對(duì)于存儲(chǔ)組件208的nvdimm-f特征。
hwc部分232是易失性存儲(chǔ)器裝置220的被配置為由管理電路218占有以支持非易失性存儲(chǔ)器裝置222的部分。hwc部分232可充當(dāng)非易失性存儲(chǔ)器裝置222的硬件高速緩沖存儲(chǔ)器。
bw部分234是易失性存儲(chǔ)器裝置220的被配置為提供針對(duì)非易失性存儲(chǔ)器裝置222的接口的部分。bw部分234可充當(dāng)在訪問(wèn)與非易失性存儲(chǔ)器裝置222對(duì)應(yīng)的存儲(chǔ)器的塊中利用的塊窗口接口(blockwindowinterface)。
易失性存儲(chǔ)器裝置220可根據(jù)使用軟件動(dòng)態(tài)確定的配置而非根據(jù)由工廠或制造商在硬件中設(shè)置的預(yù)設(shè)或預(yù)定的配置,而包括pm部分230、hwc部分232、bw部分234或其組合。例如,動(dòng)態(tài)配置可確定針對(duì)pm部分230、hwc部分232、bw部分234或其組合的存在、物理大小、物理位置或其組合。
此外,例如,pm部分230、hwc部分232、bw部分234或其組合可包括針對(duì)體級(jí)別粒度的易失性存儲(chǔ)器裝置220的一個(gè)或多個(gè)體。下面詳細(xì)討論關(guān)于動(dòng)態(tài)配置的細(xì)節(jié)。
mdb216被配置為臨時(shí)存儲(chǔ)數(shù)據(jù)以包括或?qū)崿F(xiàn)pm模式202、塊模式204或其組合。mdb216可包括用于臨時(shí)存儲(chǔ)存儲(chǔ)器總線、易失性存儲(chǔ)器裝置220、管理電路218、非易失性存儲(chǔ)器裝置222或其組合之間的數(shù)據(jù)的物理存儲(chǔ)器存儲(chǔ)。mdb216可被配置為管理在易失性存儲(chǔ)器裝置220、非易失性存儲(chǔ)器裝置222、控制器組件206或其組合之間的數(shù)據(jù)交換。mdb216還可被配置為管理用于管理電路218、控制器組件206或其組合的控制信號(hào)或功能。
管理電路218被配置為控制易失性存儲(chǔ)器裝置220、非易失性存儲(chǔ)器裝置222或其組合以執(zhí)行針對(duì)其中的信息的存儲(chǔ)或訪問(wèn)功能。管理電路218可被實(shí)現(xiàn)為片上系統(tǒng)(soc)。管理電路218可根據(jù)來(lái)自控制器組件206的命令或指令(諸如、寫(xiě)入或讀取),控制易失性存儲(chǔ)器裝置220和/或非易失性存儲(chǔ)器裝置222。
例如,管理電路218可控制或提供用于易失性存儲(chǔ)器裝置220的ddr4寄存時(shí)鐘驅(qū)動(dòng)功能。此外,例如,管理電路218可以是用于非易失性存儲(chǔ)器裝置222的閃速存儲(chǔ)器控制器。此外,例如,管理電路218可諸如使用下面討論的軟件控制所有權(quán)狀態(tài)(softwarecontrolledownershipstate),來(lái)控制或?qū)崿F(xiàn)在易失性存儲(chǔ)器裝置220與非易失性存儲(chǔ)器裝置222之間的數(shù)據(jù)移動(dòng)或者數(shù)據(jù)移動(dòng)的調(diào)度。此外,例如,管理電路218可使用上面討論的示例的組合或其他方法或處理來(lái)進(jìn)行控制。
管理電路218可使用智能數(shù)據(jù)和控制流支持pm模式202、塊模式204或其組合。例如,管理電路218可在正常操作期間在pm模式202下控制存儲(chǔ)組件208充當(dāng)ddr4存儲(chǔ)器或nvdimm-n。針對(duì)掉電或上電情況,管理電路218可針對(duì)易失性存儲(chǔ)器裝置220與非易失性存儲(chǔ)器裝置222之間的數(shù)據(jù)移動(dòng)而使用“保存(save)”或“存儲(chǔ)(store)”功能。
此外,例如,管理電路218可在正常操作期間在塊模式204下調(diào)度從智能存儲(chǔ)器驅(qū)動(dòng)器214到易失性存儲(chǔ)器裝置220以及從易失性存儲(chǔ)器裝置220到非易失性存儲(chǔ)器裝置222的數(shù)據(jù)移動(dòng)。在易失性存儲(chǔ)器裝置220內(nèi),數(shù)據(jù)移動(dòng)可包括從bw部分234到hwc部分232以及隨后到非易失性存儲(chǔ)器裝置222的數(shù)據(jù)移動(dòng)。數(shù)據(jù)移動(dòng)可基于易失性存儲(chǔ)器裝置220的體級(jí)別粒度。管理電路218還可針對(duì)掉電或上電情況針對(duì)dram與flash之間的數(shù)據(jù)移動(dòng)而使用“保存”或“存儲(chǔ)”功能。
此外,例如,管理電路218可解決易失性存儲(chǔ)器裝置220的時(shí)序問(wèn)題或dram時(shí)序問(wèn)題,其中,管理電路218和控制器組件206的存儲(chǔ)器管理單元210觀察不同的dram時(shí)序參數(shù)。下面將討論關(guān)于時(shí)序問(wèn)題的細(xì)節(jié)。此外,例如,管理電路218可使用上面討論的處理或方法或者其他方法或處理的組合,支持pm模式202、塊模式204或其組合。
計(jì)算系統(tǒng)100還可包括體所有權(quán)寄存器236。體所有權(quán)寄存器236是用于支持pm模式202、塊模式204或其組合的狀態(tài)或控制機(jī)制或電路。體所有權(quán)寄存器236可以是在存儲(chǔ)電路114(諸如nvdimm)上或包括在存儲(chǔ)電路114中。體所有權(quán)寄存器236可由控制器組件206、存儲(chǔ)器管理單元210或其組合設(shè)置。
體所有權(quán)寄存器236可包括用于指示計(jì)算系統(tǒng)100內(nèi)的一個(gè)或多個(gè)電路、組件、裝置、軟件或其組合的處理或數(shù)據(jù)所有權(quán)的電路或機(jī)制。體所有權(quán)寄存器236可用于將針對(duì)存儲(chǔ)在易失性存儲(chǔ)器220中的數(shù)據(jù)的控制提供給控制器組件206或存儲(chǔ)組件208。
例如,體所有權(quán)寄存器236可控制或指示控制器所有權(quán)狀態(tài)238、管理所有權(quán)狀態(tài)240或其組合??刂破魉袡?quán)狀態(tài)238是使用占有易失性存儲(chǔ)器裝置220的一個(gè)或多個(gè)目標(biāo)體的軟件、智能存儲(chǔ)器驅(qū)動(dòng)器214、存儲(chǔ)器管理單元210或其組合的存儲(chǔ)器管理或控制配置。管理所有權(quán)狀態(tài)240是使用占有易失性存儲(chǔ)器裝置220的一個(gè)或多個(gè)目標(biāo)體的存儲(chǔ)器管理單元210的存儲(chǔ)器管理或控制配置所有權(quán)。下面將討論關(guān)于所有權(quán)狀態(tài)的細(xì)節(jié)。
計(jì)算系統(tǒng)100可包括存儲(chǔ)組件208,其中,存儲(chǔ)組件208被配置為利用mdb216、管理電路218或其組合以在沒(méi)有或取代多路復(fù)用器248的情況下提供對(duì)于易失性存儲(chǔ)器裝置220的訪問(wèn)。存儲(chǔ)組件208可利用mdb216、管理電路218或其組合,以在沒(méi)有通過(guò)在其他類型裝置中利用的多路復(fù)用器248的對(duì)于dram的任何直接訪問(wèn)的情況下提供訪問(wèn)。
多路復(fù)用器248可包括被配置為選擇幾個(gè)輸入信號(hào)中的一個(gè)輸入信號(hào)并輸出選擇的信號(hào)的裝置。多路復(fù)用器248可用于提供對(duì)于一組可能的選擇或挑選的信號(hào)、路徑或訪問(wèn)的選擇。
計(jì)算系統(tǒng)100可利用上面討論的功能電路或塊,來(lái)動(dòng)態(tài)配置存儲(chǔ)組件208,支持或?qū)嵤﹑m模式202或塊模式204或二者,從而管理或?qū)崿F(xiàn)存儲(chǔ)器操作或其組合。計(jì)算系統(tǒng)100可包括進(jìn)一步被配置為實(shí)現(xiàn)智能存儲(chǔ)器驅(qū)動(dòng)器214的控制器組件206,其中,智能存儲(chǔ)器驅(qū)動(dòng)器214用于動(dòng)態(tài)地配置易失性存儲(chǔ)器裝置220以根據(jù)用戶、應(yīng)用或其組合以使實(shí)現(xiàn)信息的持久性存儲(chǔ)。
控制器組件206可將易失性存儲(chǔ)器裝置220動(dòng)態(tài)配置為包括pm部分230、hwc部分232、bw部分234或其組合。具有智能存儲(chǔ)器驅(qū)動(dòng)器214的控制器組件206可生成存儲(chǔ)器配置文件242,其中,存儲(chǔ)器配置文件242包括用于動(dòng)態(tài)配置的部分位置244、部分大小246或其組合。
存儲(chǔ)器配置文件242是針對(duì)關(guān)于易失性存儲(chǔ)器220內(nèi)的一個(gè)或多個(gè)部分的細(xì)節(jié)的描述。存儲(chǔ)器配置文件242可描述或控制一個(gè)或多個(gè)部分(諸如,pm部分230、hwc部分232、bw部分234或其組合)的大小或容量、物理位置或其組合。
部分位置244是針對(duì)相應(yīng)部分(諸如,針對(duì)pm部分230、hwc部分232、bw部分234或其組合)的易失性存儲(chǔ)器裝置220上的物理位置的描述。部分大小246是相應(yīng)部分的大小或容量。
控制器組件206可根據(jù)用于表示用戶的用戶特點(diǎn)252、應(yīng)用或軟件的應(yīng)用特點(diǎn)254或者其組合的存儲(chǔ)器需求250,來(lái)產(chǎn)生存儲(chǔ)器配置文件242。存儲(chǔ)器需求250是針對(duì)使用存儲(chǔ)組件208存儲(chǔ)或訪問(wèn)信息的需求或需要的表示。存儲(chǔ)器需求250可基于用戶特點(diǎn)252、應(yīng)用特點(diǎn)254或其組合來(lái)確定。
用戶特點(diǎn)252可包括與使用計(jì)算系統(tǒng)100的用戶關(guān)聯(lián)的特性(trait)或模式。用戶特點(diǎn)252可包括使用模式、用戶的或來(lái)自用戶的偏好或設(shè)置、其表示或者其組合。
計(jì)算系統(tǒng)100可以以各種各樣的方式確定用戶特點(diǎn)252。例如,計(jì)算系統(tǒng)100可使用智能存儲(chǔ)器驅(qū)動(dòng)器214或軟件126,以通過(guò)記錄與用戶對(duì)應(yīng)的使用或訪問(wèn)信息來(lái)確定用戶特點(diǎn)252。
此外,例如,計(jì)算系統(tǒng)100可通過(guò)用戶接口與用戶進(jìn)行交互以確定任何的偏好或設(shè)置信息。此外,例如,計(jì)算系統(tǒng)100可基于模式識(shí)別機(jī)制、機(jī)器學(xué)習(xí)機(jī)制或其組合確定用戶特點(diǎn)252。此外,例如,計(jì)算系統(tǒng)100可使用上面討論的處理或方法或者其他的處理或方法的組合確定用戶特點(diǎn)252。
應(yīng)用特點(diǎn)254可包括計(jì)算系統(tǒng)100上存儲(chǔ)或啟用的用戶應(yīng)用或軟件包。應(yīng)用特點(diǎn)254可類似于用戶特點(diǎn)252,但是其針對(duì)用戶應(yīng)用或軟件包。應(yīng)用特點(diǎn)254可描述或表示軟件126的一個(gè)或多個(gè)實(shí)例、其部分或者其組合。例如,應(yīng)用特點(diǎn)254可基于針對(duì)用戶應(yīng)用或軟件包的大小、性能或運(yùn)行時(shí)間要求或需求或者其組合。
計(jì)算系統(tǒng)100可以以各種各樣的方式確定應(yīng)用特點(diǎn)254。例如,計(jì)算系統(tǒng)100可使用智能存儲(chǔ)器驅(qū)動(dòng)器214或軟件126來(lái)通過(guò)分析用戶應(yīng)用或軟件包它們自己、其元數(shù)據(jù)或其組合確定應(yīng)用特點(diǎn)254。此外,例如,計(jì)算系統(tǒng)100可基于來(lái)自軟件,它的供銷商或分銷商的在其上存儲(chǔ)或啟用的用戶應(yīng)用或軟件包的訪問(wèn)信息或描述確定應(yīng)用特點(diǎn)254。
計(jì)算系統(tǒng)100可動(dòng)態(tài)地基于計(jì)算系統(tǒng)100的持續(xù)使用確定存儲(chǔ)器需求250。計(jì)算系統(tǒng)100還可動(dòng)態(tài)地基于與計(jì)算系統(tǒng)100上或被實(shí)時(shí)訪問(wèn)的用戶應(yīng)用或軟件包關(guān)聯(lián)的當(dāng)前狀態(tài)或配置,確定存儲(chǔ)器需求250。
計(jì)算系統(tǒng)100還可基于存儲(chǔ)器需求250產(chǎn)生存儲(chǔ)器配置文件242。例如,計(jì)算系統(tǒng)100可在運(yùn)行時(shí)間的期間諸如基于應(yīng)用的開(kāi)始或執(zhí)行或者使用,產(chǎn)生存儲(chǔ)器配置文件242。此外,例如,計(jì)算系統(tǒng)100可在啟動(dòng)或開(kāi)始、關(guān)閉或復(fù)位或其組合時(shí)產(chǎn)生存儲(chǔ)器配置文件242。
此外,例如,計(jì)算系統(tǒng)100可使用以軟件實(shí)現(xiàn)的智能存儲(chǔ)器驅(qū)動(dòng)器214,產(chǎn)生存儲(chǔ)器配置文件242。計(jì)算系統(tǒng)100可通過(guò)在易失性存儲(chǔ)器裝置220內(nèi)指定或分配大小、位置、優(yōu)先權(quán)或其組合產(chǎn)生存儲(chǔ)器配置文件242,其中,易失性存儲(chǔ)器裝置220致力于支持塊模式204、pm模式202或其組合的一個(gè)或多個(gè)部分。
計(jì)算系統(tǒng)100可產(chǎn)生用于在易失性存儲(chǔ)器裝置220中設(shè)置或指定pm部分230、hwc部分232、bw部分234或其組合的存儲(chǔ)器配置文件242。計(jì)算系統(tǒng)100可產(chǎn)生存儲(chǔ)器配置文件242,其中,存儲(chǔ)器配置文件242包括與pm部分230、hwc部分232、bw部分234或其組合對(duì)應(yīng)的部分位置244、部分大小246或其組合。
例如,控制器組件206可增加bw部分234、hwc部分232或其組合,以實(shí)施或增加非易失性存儲(chǔ)器裝置222、塊模式204、nvdimm-f特征或功能或者其組合的使用或?qū)崿F(xiàn)。此外,例如,控制器組件206可增加pm部分230,以實(shí)施或增加易失性存儲(chǔ)器裝置220、pm模式202、nvdimm-n特征或功能或者其組合。
作為更具體的示例,控制器組件206可產(chǎn)生用于控制大小或容量、物理位置或其組合的存儲(chǔ)器配置文件242,以配置或設(shè)置易失性存儲(chǔ)器裝置220內(nèi)的bw部分234、hwc部分232、pm部分230或其組合??刂破鹘M件206可根據(jù)存儲(chǔ)器需求250產(chǎn)生將易失性存儲(chǔ)器裝置220的一個(gè)或多個(gè)體的具體實(shí)例描述或指定為bw部分234、hwc部分232、pm部分230或其組合的存儲(chǔ)器配置文件242。
計(jì)算系統(tǒng)100還可對(duì)存儲(chǔ)器配置文件242進(jìn)行訪問(wèn)、更新、調(diào)節(jié)或其組合。計(jì)算系統(tǒng)100可使用控制器組件206、智能存儲(chǔ)器驅(qū)動(dòng)器214、管理電路218、存儲(chǔ)組件208、控制電路112、存儲(chǔ)電路114或其組合,來(lái)處理存儲(chǔ)器需求250、存儲(chǔ)器配置文件242或其組合。
控制器組件206、管理電路208或其組合可動(dòng)態(tài)實(shí)現(xiàn)存儲(chǔ)器配置文件242或配置易失性存儲(chǔ)器裝置220,以實(shí)現(xiàn)pm模式202、塊模式204或其組合或者使其成為可能。可根據(jù)存儲(chǔ)器配置文件242通過(guò)設(shè)置或指定bw部分234、hwc部分232、pm部分230或其組合來(lái)動(dòng)態(tài)配置易失性存儲(chǔ)器裝置220。
易失性存儲(chǔ)器裝置220可根據(jù)部分位置244、部分大小246或其組合而被動(dòng)態(tài)配置,其中,部分位置244、部分大小246或其組合對(duì)應(yīng)于、描述或控制bw部分234、hwc部分232、pm部分230或其組合。還可基于存儲(chǔ)器配置文件242通過(guò)根據(jù)與定義bw部分234、hwc部分232、pm部分230或其組合對(duì)應(yīng)的部分位置244、部分大小246或其組合在易失性存儲(chǔ)器220內(nèi)定義bw部分234、hwc部分232、pm部分230或其組合來(lái)配置易失性存儲(chǔ)器裝置220。可通過(guò)根據(jù)部分位置244、部分大小246或其組合將體的一個(gè)或多個(gè)具體實(shí)例指定為與所述部分位置244、部分大小246或其組合對(duì)應(yīng)的bw部分234、hwc部分232或pm部分230來(lái)配置易失性存儲(chǔ)器裝置220。
易失性存儲(chǔ)器裝置220可以是用于根據(jù)pm模式202、塊模式204或其組合與非易失性存儲(chǔ)器裝置222一起存儲(chǔ)信息的硬件存儲(chǔ)器??苫诟鶕?jù)存儲(chǔ)器需求250在易失性存儲(chǔ)器裝置220內(nèi)使pm部分230、hwc部分232和bw部分234平衡來(lái)配置易失性存儲(chǔ)器裝置220??赏ㄟ^(guò)根據(jù)針對(duì)計(jì)算系統(tǒng)100的需要、請(qǐng)求、其估計(jì)或其組合改變pm部分230、hwc部分232、bw部分234或其組合的大小或位置,來(lái)被平衡易失性存儲(chǔ)器裝置220。
作為更具體的示例,易失性存儲(chǔ)器裝置220可被配置為包括bw部分234。bw部分234可被動(dòng)態(tài)配置。bw部分234可提供從控制器組件206到非易失性存儲(chǔ)器裝置222的間接訪問(wèn)。bw部分可通過(guò)易失性存儲(chǔ)器裝置220的直接訪問(wèn),來(lái)提供間接訪問(wèn)。
此外,作為更具體的示例,可通過(guò)分配更多的體來(lái)平衡易失性存儲(chǔ)器裝置220,或易失性存儲(chǔ)器裝置220針對(duì)pm部分230分配位于接近總線或處理的體來(lái)容納pm模式202。用于控制或配置易失性存儲(chǔ)器裝置220的存儲(chǔ)器配置文件242還可基于存儲(chǔ)器需求250類似地增加pm部分230的有效性和依賴以平衡,其中,存儲(chǔ)器需求250與對(duì)存儲(chǔ)器或數(shù)據(jù)的立即訪問(wèn)的更重的依賴(相比于容量請(qǐng)求)關(guān)聯(lián)。
此外,作為更具體的示例,存儲(chǔ)器配置文件242還可通過(guò)使用bw部分234、hwc部分232或其組合的分配的體的數(shù)量或位置類似地增加或減少有效和依賴來(lái)進(jìn)行平衡,以容納塊模式204。存儲(chǔ)器配置文件242還可基于存儲(chǔ)器需求250增加bw部分234、hwc部分232或其組合的有效和依賴,其中,存儲(chǔ)器需求250與對(duì)容量的更重的依賴(相對(duì)于訪問(wèn)速度)關(guān)聯(lián)。
控制器組件206還可在計(jì)算系統(tǒng)100的操作或運(yùn)行時(shí)間的期間,利用智能存儲(chǔ)器驅(qū)動(dòng)器214控制存儲(chǔ)器中的信息的存儲(chǔ)或訪問(wèn)??刂破鹘M件206可設(shè)置體所有權(quán)寄存器236,以將針對(duì)存儲(chǔ)在易失性存儲(chǔ)器裝置220的數(shù)據(jù)的控制提供給控制器組件206或存儲(chǔ)組件208。
控制器組件206可設(shè)置體所有權(quán)寄存器236,以設(shè)置控制器所有權(quán)狀態(tài)238或管理所有權(quán)狀態(tài)240。控制器組件206還可根據(jù)控制器所有權(quán)狀態(tài)238或管理所有權(quán)狀態(tài)240設(shè)置體所有權(quán)寄存器236,以控制存儲(chǔ)在易失性存儲(chǔ)器裝置220的體中的信息。
控制器組件206可一起利用控制器所有權(quán)狀態(tài)238和管理所有權(quán)狀態(tài)240或用于實(shí)現(xiàn)具體的拷貝或移動(dòng)模式。例如,控制器組件206可利用用于從軟件、存儲(chǔ)器管理單元210、智能存儲(chǔ)器驅(qū)動(dòng)器214或其組合移動(dòng)數(shù)據(jù)或信息的數(shù)據(jù)移動(dòng)模式(諸如,“memcopya”)?!癿emcopya”模式可為了bw功能而使用軟件、存儲(chǔ)器管理單元210、智能存儲(chǔ)器驅(qū)動(dòng)器214或其組合的接口將數(shù)據(jù)或信息移動(dòng)到bw部分234。
此外,例如,控制器組件206可利用數(shù)據(jù)移動(dòng)模式(諸如,“memcopyb”)以使用或經(jīng)由管理電路218或soc將數(shù)據(jù)或信息從bw部分234移動(dòng)到非易失性存儲(chǔ)器裝置222。此外,例如,控制器組件206可利用數(shù)據(jù)移動(dòng)模式(諸如,“memcopyb1”)以使用或經(jīng)由管理電路218或soc將數(shù)據(jù)或信息從bw部分234移動(dòng)到hwc部分232。
此外,例如,控制器組件206可利用數(shù)據(jù)移動(dòng)模式(諸如,“memcopyb2”)以使用或經(jīng)由管理電路218或soc將數(shù)據(jù)或信息從hwc部分232移動(dòng)到非易失性存儲(chǔ)器裝置222。計(jì)算系統(tǒng)100還可包括或利用用于為易失性存儲(chǔ)器裝置220保證體所有權(quán)狀態(tài)切換的“pcommit”指令?!皃commit”指令可消除存儲(chǔ)器管理單元210控制器亂序問(wèn)題。
作為示出的示例,塊模式數(shù)據(jù)移動(dòng)的高級(jí)流可以是如下:為軟件或存儲(chǔ)器管理單元210設(shè)置控制器所有權(quán)狀態(tài)238以占有特定的體,實(shí)現(xiàn)或執(zhí)行“memcopya”,實(shí)現(xiàn)或執(zhí)行“pcommit”,為占有特定的體的管理電路218或soc設(shè)置管理所有權(quán)狀態(tài)240,實(shí)現(xiàn)或執(zhí)行“memcopyb”或“memcopyb1”以及“memcopyb2”,并隨后為特定的體設(shè)置控制器所有權(quán)狀態(tài)238。上面的示例可以是針對(duì)寫(xiě)入情況。
此外,在計(jì)算系統(tǒng)100的操作期間,計(jì)算系統(tǒng)100可使用bw部分234訪問(wèn)非易失性存儲(chǔ)器裝置222,以存儲(chǔ)和訪問(wèn)非易失性存儲(chǔ)器裝置222中的信息。存儲(chǔ)器總線可通過(guò)間接的方法或處理,使非易失性存儲(chǔ)器裝置222上的數(shù)據(jù)或信息能夠被存儲(chǔ)或訪問(wèn)或?qū)崿F(xiàn)對(duì)于非易失性存儲(chǔ)器裝置222上的數(shù)據(jù)或信息的存儲(chǔ)或訪問(wèn)。可如上所討論地進(jìn)行動(dòng)態(tài)配置bw部分234。
此外,在計(jì)算系統(tǒng)100的操作的期間,計(jì)算系統(tǒng)100可在沒(méi)有或取代利用多路復(fù)用器248的情況下,訪問(wèn)mdb216以存儲(chǔ)和訪問(wèn)非易失性存儲(chǔ)器裝置222、易失性存儲(chǔ)器裝置220或其組合中的信息。針對(duì)存儲(chǔ)組件208或其中的易失性存儲(chǔ)器裝置220的數(shù)據(jù)或信息的請(qǐng)求或訪問(wèn)可利用mdb216,取代或沒(méi)有利用多路復(fù)用器248以直接訪問(wèn)dram。
已發(fā)現(xiàn),非易失性存儲(chǔ)器裝置222與易失性存儲(chǔ)器裝置220提供可支持具有現(xiàn)有組件(諸如dram和閃速存儲(chǔ)器)的pm模式202和塊模式204二者的nvdimm,其中,易失性存儲(chǔ)器裝置220根據(jù)以軟件實(shí)現(xiàn)的智能存儲(chǔ)器驅(qū)動(dòng)器214而被動(dòng)態(tài)配置和管理為包括pm部分230、hwc部分232、bw部分234或其組合。已發(fā)現(xiàn),針對(duì)性能提高、大數(shù)據(jù)時(shí)代的省電或其組合,各種部分的動(dòng)態(tài)配置可有效地將數(shù)據(jù)持久性移動(dòng)為靠近控制電路(諸如,cpu)。
還已發(fā)現(xiàn),管理電路218和mdb216的位置和配置通過(guò)使用遵守不同的dram時(shí)序參數(shù)的管理電路218和存儲(chǔ)器管理單元210解決時(shí)序問(wèn)題,來(lái)提供提高的準(zhǔn)確性。位于控制器組件206與易失性存儲(chǔ)器裝置220、非易失性存儲(chǔ)器裝置222以及mdb216之間的管理電路218可提供改變時(shí)序或呈現(xiàn)不同的時(shí)序參數(shù)的能力。位于控制器組件206與易失性存儲(chǔ)器裝置220、非易失性存儲(chǔ)器裝置222以及管理電路218之間的mdb216也可提供改變時(shí)序或呈現(xiàn)不同的時(shí)序參數(shù)的能力。下面將討論關(guān)于時(shí)序問(wèn)題的細(xì)節(jié)。
還已發(fā)現(xiàn),用于處理存儲(chǔ)組件208中的數(shù)據(jù)的存儲(chǔ)和訪問(wèn)的控制器所有權(quán)狀態(tài)238和管理所有權(quán)狀態(tài)240的實(shí)現(xiàn)和使用為存儲(chǔ)組件208提供了增加的可用性??刂破魉袡?quán)狀態(tài)238和管理所有權(quán)狀態(tài)240的使用可使用現(xiàn)有技術(shù)來(lái)支持nvdimm-f和nvdimm-n二者,并且能夠使兩個(gè)裝置的特點(diǎn)選擇、平衡和混合到一個(gè)裝置或電路單元中。
還已發(fā)現(xiàn),基于用于配置和管理pm部分230、hwc部分232、bw部分234或其組合的存儲(chǔ)器需求250而動(dòng)態(tài)產(chǎn)生的存儲(chǔ)器配置文件242提供了針對(duì)存儲(chǔ)電路114的增加的靈活性。存儲(chǔ)組件208和其中的易失性存儲(chǔ)器裝置220可根據(jù)存儲(chǔ)器需求250使用存儲(chǔ)器配置文件242而被動(dòng)態(tài)配置和匹配。動(dòng)態(tài)配置可用于使用一個(gè)nvdimm來(lái)使nvdimm-f、nvdimm-n或其組合成為可能。
圖3是圖2的存儲(chǔ)組件的示例時(shí)序示圖。時(shí)序示圖可以是用于描述與圖2的易失性存儲(chǔ)器裝置220關(guān)聯(lián)的時(shí)序。
圖1的計(jì)算系統(tǒng)100可利用圖2的智能存儲(chǔ)器驅(qū)動(dòng)器214、圖2的mdb216、圖2的管理電路218或其組合,以解決dram時(shí)序問(wèn)題。計(jì)算系統(tǒng)100可利用上面討論的架構(gòu)和配置,以解決通過(guò)將不同的dram時(shí)序參數(shù)呈現(xiàn)給存儲(chǔ)器管理單元210和管理電路218的時(shí)序問(wèn)題。
如在圖3的示例中所示,“taa’=taa-5clk”用于易失性存儲(chǔ)器裝置220或dram。存儲(chǔ)器管理單元210可維持“taa”沒(méi)有任何變化。當(dāng)管理電路218或soc請(qǐng)求特定的體xact/cas,而軟件主機(jī)存儲(chǔ)器控制器或智能存儲(chǔ)器驅(qū)動(dòng)器214同時(shí)請(qǐng)求另一體yact/cas時(shí),來(lái)自軟件主機(jī)存儲(chǔ)器控制器的請(qǐng)求可通過(guò)管理電路218的重新調(diào)度而被延遲“5clk”。針對(duì)體x的第一請(qǐng)求將在易失性存儲(chǔ)器裝置220中由“trcd+taa-1clk”完成。針對(duì)體y的第二請(qǐng)求將由“trcd+taa+4clk”完成。
圖4是本發(fā)明的實(shí)施例中的計(jì)算系統(tǒng)的操作方法的流程圖。方法400包括:在方框402中,確定用于代表用戶特點(diǎn)和應(yīng)用特點(diǎn)或其組合的存儲(chǔ)器需求。方法400還可包括:在方框404中,基于存儲(chǔ)器需求使用以軟件實(shí)現(xiàn)的智能存儲(chǔ)器驅(qū)動(dòng)器產(chǎn)生存儲(chǔ)器配置文件,其中,存儲(chǔ)器配置文件包括與持久存儲(chǔ)器部分、硬件高速緩沖存儲(chǔ)器部分和塊窗口部分對(duì)應(yīng)的部分位置、部分大小或其組合。
方法400還可包括:在方框406中,通過(guò)根據(jù)存儲(chǔ)器需求對(duì)pm部分、hwc部分和bw部分進(jìn)行平衡,來(lái)配置易失性存儲(chǔ)器裝置,其中,易失性存儲(chǔ)器裝置是用于與非易失性存儲(chǔ)器裝置一起根據(jù)pm模式、塊模式或其組合存儲(chǔ)信息的硬件存儲(chǔ)器。方框406還可包括:基于存儲(chǔ)器配置文件通過(guò)在易失性存儲(chǔ)器裝置內(nèi)根據(jù)與持久存儲(chǔ)器部分、硬件緩沖存儲(chǔ)器部分、塊窗口部分或其組合對(duì)應(yīng)的部分位置、部分大小或其組合定義持久存儲(chǔ)器部分、硬件高速緩存存儲(chǔ)器部分、塊窗口部分或其組合,來(lái)配置易失性存儲(chǔ)器裝置。
方法400還可包括在計(jì)算系統(tǒng)100的運(yùn)行時(shí)間的期間的操作或處理。方法400可包括:在方框408,根據(jù)控制器所有權(quán)狀態(tài)或管理所有權(quán)狀態(tài)設(shè)置所有權(quán)體所有權(quán)寄存器,以控制存儲(chǔ)在易失性存儲(chǔ)器裝置的體中的信息。
方法400還可包括:在方框410,在沒(méi)有或取代利用多路復(fù)用器的情況下,訪問(wèn)mdb以在非易失性存儲(chǔ)器裝置、易失性存儲(chǔ)器裝置或其組合中存儲(chǔ)和訪問(wèn)信息。方法400還可包括:在方框412,使用塊窗口部分訪問(wèn)非易失性存儲(chǔ)器裝置,以在非易失性存儲(chǔ)器裝置中存儲(chǔ)和訪問(wèn)信息。
方法400可使用上面討論的一個(gè)或多個(gè)電路、一個(gè)或多個(gè)組件、一個(gè)或多個(gè)部分、一個(gè)或多個(gè)裝置或其組合來(lái)實(shí)現(xiàn)或執(zhí)行。例如,方法400可使用包括在上面所討論中的圖1的控制電路112、圖1的存儲(chǔ)電路114、或其組合以及圖2的控制器組件206、圖2的存儲(chǔ)組件208或其組合來(lái)實(shí)現(xiàn)或執(zhí)行。
作為更具體的示例,方框402、方框404或其組合中所代表的方法或處理可使用控制器組件206來(lái)實(shí)現(xiàn)或執(zhí)行。此外,作為更具體的示例,方框406中所代表的方法或處理可使用圖2的智能存儲(chǔ)器驅(qū)動(dòng)器214、圖2的易失性存儲(chǔ)器裝置220、圖2的管理電路218或其組合來(lái)實(shí)現(xiàn)或執(zhí)行。
此外,作為更具體的示例,方框408中所代表的方法或處理可使用智能存儲(chǔ)器驅(qū)動(dòng)器214、易失性存儲(chǔ)器裝置220、圖2的非易失性存儲(chǔ)器裝置222、管理電路218或其組合來(lái)實(shí)現(xiàn)或執(zhí)行。此外,作為更具體的示例,方框410中所代表的方法或處理可使用控制器組件206、易失性存儲(chǔ)器裝置220、非易失性存儲(chǔ)器裝置222、管理電路218或其組合來(lái)實(shí)現(xiàn)或執(zhí)行。此外,作為更具體的示例,方框412中所代表的方法或處理可使用控制器組件206、易失性存儲(chǔ)器裝置220、非易失性存儲(chǔ)器裝置222、管理電路218、圖2的mdb216或其組合來(lái)實(shí)現(xiàn)或執(zhí)行。
所述方法、處理、設(shè)備、裝置、產(chǎn)品和/或系統(tǒng)是簡(jiǎn)單、劃算、不復(fù)雜、高度通用、準(zhǔn)確、靈敏和有效的,并可通過(guò)采用已知的組件來(lái)實(shí)現(xiàn)以進(jìn)行迅速、有效且經(jīng)濟(jì)的制造、應(yīng)用和利用。本發(fā)明的實(shí)施例的另一重要方面在于:它可有益地支持和服務(wù)于減少成本、簡(jiǎn)化系統(tǒng)和提高性能的歷史趨勢(shì)。
本發(fā)明的實(shí)施例的這些和其它有益方面因而使所述技術(shù)的狀態(tài)至少推進(jìn)到下一水平。
盡管已結(jié)合具體最佳模式描述了本發(fā)明,但是應(yīng)該理解,許多可替代物、修改和改變鑒于前面的描述對(duì)于本領(lǐng)域的技術(shù)人員而言將是明顯的。因此,意圖包含落入權(quán)利要求的范圍內(nèi)的所有這樣的可替代物、修改和改變。在此闡述或在附圖中示出的所有事物將按照說(shuō)明而非限制性的含義來(lái)解釋。