亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

存儲節(jié)點、混合存儲器控制器及控制混合存儲器組的方法與流程

文檔序號:11233790閱讀:376來源:國知局
存儲節(jié)點、混合存儲器控制器及控制混合存儲器組的方法與流程

相關(guān)申請的交叉引用

本申請要求于2016年3月3日提交的美國臨時申請第62/303,347號(“anadaptivemechanismforsynchronizedorasynchronizedmemorydevices”)的優(yōu)先權(quán)和權(quán)益,其全部內(nèi)容在此通過引用并入。

本發(fā)明各方面涉及存儲器件和用于控制該存儲器件的機(jī)制的領(lǐng)域。



背景技術(shù):

計算機(jī)系統(tǒng)歷史上采用兩層(two-tier)存儲模型,其中所述兩層存儲模型包括:存儲在系統(tǒng)停止/重引導(dǎo)/崩潰時丟失的臨時數(shù)據(jù)的快速的、字節(jié)可尋址的存儲器(即,易失性存儲器)設(shè)備,以及永久存儲可以跨越系統(tǒng)引導(dǎo)/崩潰而存活的持久數(shù)據(jù)的緩慢的、塊可尋址的存儲設(shè)備(即,非易失性存儲器件)。

易失性存儲器件(也稱為同步存儲器件)和非易失性存儲器件(也稱為異步存儲器件)具有不同的定時參數(shù)并且采用不同的通信協(xié)議,這使得難以組合在由單個控制器控制的一個存儲空間中的兩種類型的存儲器件。例如,易失性存儲器件(諸如動態(tài)隨機(jī)存取存儲器或dram)使用用于執(zhí)行它們各自的操作(例如,讀/寫)的固定定時,而非易失性存儲器件(諸如閃存芯片)使用用于執(zhí)行各種操作的可變定時。非易失性存儲器件還用在涉及在控制器與存儲器件之間的頻繁握手的基于事務(wù)的系統(tǒng)中。然而,因為頻繁握手導(dǎo)致減小的帶寬,所以在這樣的環(huán)境中使用易失性存儲器件一般沒有效率。

在背景技術(shù)部分中公開的以上信息僅僅用于增強(qiáng)對本發(fā)明的理解,并且因此其可包含不形成對本領(lǐng)域普通技術(shù)人員來說已知的現(xiàn)有技術(shù)的信息。



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

本發(fā)明的實施例的各方面涉及一種用于同步存儲器件或異步存儲器件的復(fù)用控制邏輯的自適應(yīng)機(jī)制。

本發(fā)明的實施例的各方面涉及用于控制包括至少一個易失性存儲器件和至少一個非易失性存儲器件的混合存儲器陣列的混合存儲器控制器及方法。所述易失性存儲器件和非易失性存儲器件可在相同的控制通道處或者甚至占用通道的相同存儲器列。

根據(jù)本發(fā)明的一些實施例,提供一種用于控制包括易失性存儲器件和非易失性存儲器件的混合存儲器陣列的混合存儲器控制器,該混合存儲器控制器包括:處理器;以及在所述處理器本地的處理器存儲器,其中,該處理器存儲器具有存儲在其上的指令,該指令在由該處理器執(zhí)行時使該處理器執(zhí)行:接收第一中央處理單元(cpu)請求以向所述混合存儲器陣列寫入/從所述混合存儲器陣列讀??;通過對所述第一cpu請求的譯碼和地址映射,將所述易失性存儲器件識別為所述第一cpu請求的第一目標(biāo);在第一緩沖器中對所述第一cpu請求排隊;接收第二cpu請求以向混合存儲器存儲體寫入/從混合存儲器存儲體讀取;通過對所述第二cpu請求的譯碼和地址映射,將所述非易失性存儲器件識別為所述第二cpu請求的第二目標(biāo);在第二緩沖器中對所述第二cpu請求排隊;基于仲裁策略,對所述第一目標(biāo)和所述第二目標(biāo)中的相關(guān)聯(lián)的一個生成與所述第一cpu請求和第二cpu請求中的一個對應(yīng)的第一命令,并且響應(yīng)于生成所述第一命令,對所述第一目標(biāo)和第二目標(biāo)中的相關(guān)聯(lián)的另一個生成與所述第一cpu請求和第二cpu請求中的另一個對應(yīng)的第二命令;以及向所述易失性存儲器件和非易失性存儲器件中的相應(yīng)的存儲器件發(fā)送所述第一命令和第二命令。

根據(jù)本發(fā)明的一些實施例,提供一種存儲節(jié)點,包括:混合存儲器陣列,包括:非易失性存儲器件;以及耦合到所述非易失性存儲器件的易失性存儲器件;以及混合存儲器控制器,被配置成通過相同的通道執(zhí)行到/自所述易失性存儲器件和非易失性存儲器件的數(shù)據(jù)傳送,該混合存儲器控制器包括:處理器;以及在所述處理器本地的處理器存儲器,其中,該處理器存儲器具有存儲在其上的指令,該指令在由所述處理器執(zhí)行時使所述處理器執(zhí)行:通過檢測存儲在所述易失性存儲器件和非易失性存儲器件的每一個中的相關(guān)聯(lián)的串行存在檢測(spd)數(shù)據(jù),識別所述易失性存儲器件和非易失性存儲器件;接收第一中央處理單元(cpu)請求以向所述混合存儲器陣列寫入/從所述混合存儲器陣列讀??;通過對所述第一cpu請求的譯碼和地址映射,將所述易失性存儲器件識別為所述第一cpu請求的第一目標(biāo);在第一緩沖器中對所述第一cpu請求排隊;接收第二cpu請求以向所述混合存儲器陣列寫入/從混合存儲器陣列讀??;通過對所述第二cpu請求的譯碼和地址映射,將所述非易失性存儲器件識別為所述第二cpu請求的第二目標(biāo);在第二緩沖器中對所述第二cpu請求排隊;基于與所述易失性存儲器件和非易失性存儲器件相關(guān)聯(lián)的spd數(shù)據(jù),確定仲裁策略;基于所述仲裁策略,對所述第一目標(biāo)和第二目標(biāo)中的相關(guān)聯(lián)的一個生成與所述第一cpu請求和第二cpu請求中的一個對應(yīng)的第一命令,并且作為響應(yīng),對所述第一目標(biāo)和第二目標(biāo)中的相關(guān)聯(lián)的另一個生成與所述第一cpu請求和第二cpu請求中的另一個對應(yīng)的第二命令;以及向所述易失性存儲器件和非易失性存儲器件中的相應(yīng)的存儲器件發(fā)送所述第一命令和第二命令。

根據(jù)本發(fā)明的一些實施例,提供一種控制包括易失性存儲器件和非易失性存儲器件的混合存儲器陣列的方法,該方法包括:由處理器接收第一中央處理單元(cpu)請求以向混合存儲器陣列寫入/從混合存儲器陣列讀?。煌ㄟ^對第一cpu請求的譯碼和地址映射,由所述處理器將所述易失性存儲器件識別為第一cpu請求的第一目標(biāo);由所述處理器在第一緩沖器中對所述第一cpu請求排隊;由所述處理器接收第二cpu請求以向所述混合存儲器陣列寫入/從所述混合存儲器陣列讀?。煌ㄟ^對所述第二cpu請求的譯碼和地址映射,由所述處理器將所述非易失性存儲器件識別為所述第二cpu請求的第二目標(biāo);由所述處理器在第二緩沖器中對所述第二cpu請求排隊;基于仲裁策略,由所述處理器對第一目標(biāo)和第二目標(biāo)中的相關(guān)聯(lián)的一個生成與所述第一cpu請求和第二cpu請求中的一個對應(yīng)的第一命令,并且作為響應(yīng),對所述第一目標(biāo)和第二目標(biāo)中的相關(guān)聯(lián)的另一個生成與所述第一cpu請求和第二cpu請求中的另一個對應(yīng)的第二命令;以及由所述處理器向所述易失性存儲器件和非易失性存儲器件中的相應(yīng)的存儲器件發(fā)送所述第一命令和第二命令。

根據(jù)本發(fā)明的一些實施例,提供一種用于控制包括易失性存儲器件和非易失性存儲器件的混合存儲器陣列的混合存儲器控制器,該混合存儲器控制器包括:地址映射器/譯碼器,被配置成:接收第一中央處理單元(cpu)請求和第二cpu請求以向混合存儲器陣列寫入/從混合存儲器陣列讀取,通過對所述第一cpu請求的譯碼和地址映射而將所述易失性存儲器件識別為所述第一cpu請求的第一目標(biāo),并且通過對所述第二cpu請求的譯碼和地址映射而將所述非易失性存儲器件識別為所述第二cpu請求的第二目標(biāo);第一事務(wù)隊列,被配置成對所接收的第一cpu請求排隊;第二事務(wù)隊列,被配置成對所接收的第二cpu請求排隊;仲裁器,被配置成基于與所述易失性存儲器件和非易失性存儲器件相關(guān)聯(lián)的spd數(shù)據(jù)而確定仲裁策略;以及調(diào)度器,被配置成:基于所述仲裁策略,對所述第一目標(biāo)和第二目標(biāo)中的相關(guān)聯(lián)的一個生成與所述第一cpu請求和第二cpu請求中的一個對應(yīng)的第一命令,并且對所述第一目標(biāo)和第二目標(biāo)中的相關(guān)聯(lián)的另一個生成與所述第一cpu請求和第二cpu請求中的另一個對應(yīng)的第二命令,并且向所述易失性存儲器件和非易失性存儲器件中的相應(yīng)的存儲器件發(fā)送所述第一命令和第二命令。

附圖說明

附圖與說明書一起圖示本發(fā)明的示例性實施例,并且與描述一起用于解釋本發(fā)明的原理。

圖1圖示根據(jù)本發(fā)明的一些實施例的混合存儲器系統(tǒng)的框圖。

圖2a圖示根據(jù)本發(fā)明的一些實施例的與易失性存儲器件/非易失性存儲器件通信的混合存儲器控制器的詳細(xì)框圖。

圖2b圖示根據(jù)本發(fā)明的一些其它實施例的混合存儲器控制器的詳細(xì)框圖。

圖3圖示根據(jù)本發(fā)明的一些實施例的使用混合存儲器控制器控制包括易失性存儲器件和非易失性存儲器件的混合存儲器陣列的過程。

具體實施方式

在下面的詳細(xì)描述中,僅僅通過說明的方式示出和描述本發(fā)明的某些示例性實施例。如本領(lǐng)域技術(shù)人員將認(rèn)識到的,本發(fā)明可以以許多不同的形式來體現(xiàn),并且不應(yīng)當(dāng)被解釋為限于在此闡述的實施例。在每個示例性實施例內(nèi)的特征或方面的描述一般應(yīng)當(dāng)被認(rèn)為對于其它示例性實施例中的其它類似特征或方面可用。貫穿說明書,相同的附圖標(biāo)記指代相同的元件。

圖1圖示根據(jù)本發(fā)明的一些實施例的混合存儲器系統(tǒng)100的框圖。

參考圖1,混合存儲器系統(tǒng)100包括:具有一個或多個存儲器通信通道(下文中被稱為“通道”)的混合存儲器控制器110,以及包括易失性存儲(vm)器件132和非易失性存儲(nvm)器件134的存儲器組(例如,混合存儲器組)130,該易失性存儲(vm)器件132和非易失性存儲(nvm)器件134通過相同的通道111耦合到混合存儲器控制器110并由混合存儲器控制器110控制,或者存在于相同的可尋址的存儲器組(rank)處。雖然圖1僅僅示出單個vm器件132和單個nvm器件134,但是這僅僅是為了便于說明,并且本發(fā)明的實施例不限于此。例如,混合存儲器系統(tǒng)100可包括通過與vm器件132和nvm器件134相同的通道111和/或通過不同的通道連接到混合存儲器控制器110的多個易失性存儲器和/或非易失性存儲器。

在一些示例中,易失性存儲器件132(也被稱為同步存儲器件)可展現(xiàn)固定的等待時間(例如,固定的讀取/寫入定時),并且可包括隨機(jī)存取存儲器(ram),例如動態(tài)ram(dram)、靜態(tài)ram等等。在一些示例中,非易失性存儲器件134(也被稱為異步存儲器件)可展現(xiàn)可變的等待時間(例如,可變的讀取/寫入定時),并且可包括nand存儲器、nor存儲器、垂直nand存儲器、電阻性存儲器、相變存儲器、鐵電存儲器、自旋轉(zhuǎn)移扭矩存儲器等等。

根據(jù)一些實施例,混合存儲器控制器110采用用于控制同步存儲器件和異步存儲器件的復(fù)用控制邏輯的自適應(yīng)機(jī)制。在這樣做時,通過在初始引導(dǎo)過程期間通過串行存在檢測(spd)識別組成存儲器組130的一個或多個vm器件132和一個或多個nvm器件134,混合存儲器控制器110映射耦合到它的存儲器。從存儲器件中的每一個檢索(例如,讀取)的spd數(shù)據(jù)標(biāo)識存儲器件的類型和容量,并且提供關(guān)于使用什么定時(例如,讀取或?qū)懭胍蛔止?jié)的數(shù)據(jù)的時間tcl/twl等等)訪問特定存儲器件的信息。混合存儲器控制器110根據(jù)對應(yīng)的spd讀出而不同地操作vm器件132和nvm器件134。

在一些實施例中,混合存儲器控制器110使用同步定時協(xié)議(例如,同步dram定時協(xié)議)或異步通信協(xié)議來管理每個易失性存儲器件132的組和/或通道,并且使用異步通信協(xié)議來管理每個非易失性存儲器件134的組和/或信道。

根據(jù)一些實施例,混合存儲器控制器110可使用標(biāo)準(zhǔn)命令集(例如,標(biāo)準(zhǔn)dram命令集)來向vm器件132中的每一個傳送指令,并且使用修改的(或重新設(shè)計的)標(biāo)準(zhǔn)命令集或新命令集來向nvm器件134中的每一個傳送指令。

圖2a圖示根據(jù)本發(fā)明的一些實施例的與vm/nvm設(shè)備132/134通信的混合存儲器控制器110的詳細(xì)框圖。

參考2a,混合存儲器控制器110包括spd接口112、地址映射器/譯碼器114、易失性存儲器(vm)事務(wù)隊列116a、非易失性存儲器(nvm)事務(wù)隊列116b、仲裁器118、命令隊列120、調(diào)度器122和響應(yīng)隊列124。

在引導(dǎo)過程期間,spd接口112可從vm/nvm器件(也被簡稱為存儲器件)132/134檢索spd數(shù)據(jù),其中該spd數(shù)據(jù)可被存儲在存儲器件132/134的spd電可擦除可編程只讀存儲器(eeprom)136中。

根據(jù)一些實施例,地址映射器/譯碼器114識別存儲器件132/134的類型,即,確定存儲器件132/134是易失性(例如,同步)存儲器件還是非易失性(例如,異步)存儲器件。地址映射器/譯碼器114將包含在spd數(shù)據(jù)內(nèi)的存儲器地址譯碼為例如組、存儲體、行和列id(例如,索引)。這可通過將存儲器地址切片(例如,拾取存儲器地址的一部分并丟棄其余部分)來完成。在每組單個存儲器件的示例中,地址映射器/譯碼器114可使用組id來識別器件類型。在相同組的混合器件(例如,vm和nvm器件兩者)的示例中,地址映射器/譯碼器114可使用組id和存儲體id來識別器件類型。

在一些實施例中,當(dāng)混合存儲器控制器110從中央處理單元(cpu)接收請求(例如,寫入或讀取請求)時,地址映射器/譯碼器114譯碼cpu請求以確定cpu請求映射到是與vm器件132對應(yīng)還是與nvm器件134對應(yīng)的地址,并且將譯碼的cpu請求轉(zhuǎn)發(fā)到vm事務(wù)隊列116a和nvm事務(wù)隊列116b中的對應(yīng)的一個。

在一些實施例中,混合存儲器控制器110使用用于存儲cpu請求(例如,vm事務(wù)/請求)的涉及與vm器件132的位置相關(guān)聯(lián)的存儲器地址的專用vm事務(wù)隊列116a,并且使用用于存儲cpu請求(例如,nvm事務(wù)/請求)的涉及與nvm器件134的位置相關(guān)聯(lián)的存儲器地址的專用nvm事務(wù)隊列116b。如稍后進(jìn)一步詳細(xì)描述的,具有分離的vm事務(wù)隊列和nvm事務(wù)隊列向仲裁器118提供仲裁選擇,并且可增強(qiáng)混合存儲器控制器110的性能。根據(jù)一些示例,vm事務(wù)隊列116a本身可包括(例如,被劃分成)多個vm事務(wù)隊列,每個vm事務(wù)隊列與存儲器件132的不同vm列相關(guān)聯(lián)。類似地,nvm事務(wù)隊列116b本身可包括(例如,被劃分成)多個nvm事務(wù)隊列,每個事件隊列與存儲器組130的不同nvm列相關(guān)聯(lián)。

仲裁器118根據(jù)仲裁策略確定在vm和nvm事務(wù)隊列116a和116b的相應(yīng)的事務(wù)隊列中保持的vm和nvmcpu請求的處理/獲取次序(例如,優(yōu)先級),并且根據(jù)確定的處理次序而在命令隊列120中對獲取的vm和nvmcpu請求排隊。

仲裁策略在系統(tǒng)引導(dǎo)時段期間可通過基本輸入/輸出系統(tǒng)(bios)和/或spd數(shù)據(jù)定義和更新。例如,仲裁策略可遵循輪詢協(xié)議(round-robinprotocol,其中,例如,仲裁器118處理vmcpu請求、nvmcpu請求,隨后是vmcpu請求,等等)。在一些實施例中,仲裁策略可對來自vm事務(wù)隊列116a的條目排列優(yōu)先級,因為vm器件往往具有比nvm器件低的訪問等待時間。根據(jù)一些其它實施例,加權(quán)輪詢仲裁策略考慮vm和nvm事務(wù)之間的不平衡發(fā)出比率。仲裁器118可從spd接口112獲得nvm和vm定時參數(shù),并且確定vm事務(wù)隊列116a和nvm事務(wù)隊列116b之間的獲取比率。例如,假設(shè)nvm器件具有比vm器件大20倍的等待時間,則可在1個nvm器件激活期間處理20個vmcpu請求,因此獲取比率可被設(shè)置成20:1。

根據(jù)一些實施例,可基于從存儲器件132/134接收的狀態(tài)反饋信號119來確定仲裁策略。狀態(tài)反饋信號119可指示存儲器件132/134是否可用、忙碌等,并且在nvm器件134的情況下甚至可指示正由該器件執(zhí)行的操作(例如,垃圾收集等等),關(guān)于何時操作可結(jié)束的估計,寫入信用(例如,nvm事務(wù)隊列116b中未占用條目的數(shù)量),當(dāng)在nvm器件134內(nèi)存在高速緩存時的高速緩存命中/未命中率,等等。在一些示例中,當(dāng)狀態(tài)反饋信號119指示nvm激活待定(pending)時,仲裁器118可減少來自nvm事務(wù)隊列116b的獲取速度。此外,當(dāng)nvm器件134忙碌時,仲裁器118可僅僅發(fā)出vm請求,直到反饋信號119指示nvm設(shè)備再次空閑。在一些示例中,當(dāng)寫入信用大時,仲裁器118可增加發(fā)出nvm請求的速度(例如,增加nvm請求與vm請求的發(fā)出比率),而如果寫入信用小,則仲裁器118可相應(yīng)地降低發(fā)出nvm請求的速度(例如,降低nvm請求與vm請求的發(fā)出比率)。

調(diào)度器122例如可基于先進(jìn)先出(fifo)獲取在命令隊列120中排隊的事務(wù)。然后,調(diào)度器122使用對應(yīng)于獲取的事務(wù)(例如,對應(yīng)于由獲取的事務(wù)所針對的vm或nvm器件132/134)的spd數(shù)據(jù)(例如,組和/或通道id),以生成對應(yīng)于獲取的事務(wù)的適當(dāng)?shù)拿?。根?jù)一些實施例,當(dāng)獲取的事務(wù)是vmcpu請求時,可在生成對應(yīng)的命令時使用vm定時(例如,ddr4定時),而當(dāng)獲取的事務(wù)是nvmcpu請求時,諸如行地址選通到列地址選通(ras-cas)等等之類的基于事務(wù)的通信協(xié)議、以及從spd接口112接收的特定nvm定時參數(shù)可用于生成對應(yīng)的命令。

根據(jù)一些實施例,調(diào)度器122使用來自存儲器件132/134的狀態(tài)反饋信號119,以用合適的定時調(diào)度nvm命令。在一些實施例中,調(diào)度器122可在發(fā)出vm命令時不使用反饋信號119,因為vm器件132是同步器件并且展現(xiàn)固定或預(yù)設(shè)的定時。例如,在激活存儲器行之后,混合存儲器控制器110可在發(fā)出寫入/讀取數(shù)據(jù)的寫入/讀取命令之前等待固定的時間段。然而,因為nvm器件134是異步的并且展現(xiàn)不固定的定時,所以調(diào)度器122使用用于定時nvm命令的反饋信號119。例如,在激活nvm器件134之后,混合存儲器控制器110可能不知道何時發(fā)出隨后的命令,直到其接收到反饋信號119。

根據(jù)一些實施例,調(diào)度器122通過重新使用標(biāo)準(zhǔn)vm命令集(例如,dram命令集)來向nvm器件134發(fā)出命令。例如,調(diào)度器122向vm器件132和nvm器件134發(fā)送相同的激活、讀取和寫入(act、rd和wr)命令,并且在存儲器件132/134內(nèi)的寄存器時鐘驅(qū)動器(rcd)138根據(jù)其器件特性解析接收的命令,并且執(zhí)行相關(guān)聯(lián)的動作(例如,激活、從存儲單元140讀取或向存儲單元140寫入)。

在一些實施例中,調(diào)度器122通過使用不同于與vm器件132一起使用的命令集來向nvm器件134發(fā)出命令。例如,調(diào)度器122可向vm器件132發(fā)送標(biāo)準(zhǔn)ddract、rd和wr命令,而可向nvm器件134發(fā)送新定義的act_new、rd_new和wr_new命令。例如,在存儲器件132/134處的還未由標(biāo)準(zhǔn)命令集(例如,ddr4命令集)使用的命令管腳(例如,/cs,bg,ba,...,a9-0)的低-高組合可用于定義新命令集以與nvm器件134一起使用。在這樣的實施例中,相應(yīng)地修改nvm器件134以能夠解析新命令集。根據(jù)一些實施例,可沿著與標(biāo)準(zhǔn)vm命令集(例如,ddr存儲器總線)相同的存儲器總線發(fā)送新命令集。

由混合存儲器控制器110響應(yīng)于cpu讀取請求而從存儲器件132/134讀取的數(shù)據(jù)在被發(fā)送到系統(tǒng)cpu之前存儲在響應(yīng)隊列124中。

圖2b圖示根據(jù)本發(fā)明的一些實施例的混合存儲器控制器110-1的詳細(xì)框圖。除了混合事務(wù)隊列116-1之外,混合存儲器控制器110-1可與以上關(guān)于圖2所述的混合存儲器控制器110相同或基本相同。

參考圖2b,混合存儲器控制器110-1不是使用用于對vm和nvmcpu請求排隊的分離的事務(wù)隊列,而是使用用于存儲兩種類型的事務(wù)的混合事務(wù)隊列116-1。

在一些實施例中,當(dāng)混合存儲器控制器110-1接收cpu請求(例如,寫入或讀取請求)時,地址映射器/譯碼器114-1譯碼cpu請求以確定cpu請求映射到是對應(yīng)于vm器件132還是nvm器件134的地址,將譯碼的cpu請求標(biāo)記為或者vmcpu請求或者nvmcpu請求以識別對應(yīng)的vm器件132或nvm器件134,并且將標(biāo)記的請求轉(zhuǎn)發(fā)到混合事務(wù)隊列116-1。

根據(jù)一些實施例,仲裁器118-1基于fifo處理/獲取在混合事務(wù)隊列116-1處排隊的vmcpu請求和nvmcpu請求,而不考慮cpu請求的類型。在一些其它實施例中,仲裁器118-1梳理排隊的事務(wù),并使用標(biāo)簽來識別vm請求和nvm請求。仲裁器118-1根據(jù)關(guān)于圖2所述的仲裁策略來確定vmcpu請求和nvmcpu請求的處理/獲取次序(例如,優(yōu)先級),并根據(jù)確定的處理次序來在命令隊列120中對獲取的vmcpu請求和nvmcpu請求排隊?;旌洗鎯ζ骺刂破?10-1然后可處理在命令隊列120中排隊的事務(wù),如以上關(guān)于圖2a所述。

圖3圖示根據(jù)本發(fā)明的一些實施例的使用混合存儲器控制器110/110-1控制包括易失性存儲器件132和非易失性存儲器件134的混合存儲器組130的過程300。

在動作s302,通過檢測存儲在vm器件和nvm器件中(例如,存儲在對應(yīng)的spdeeprom136中)的每一個中的相關(guān)聯(lián)的spd數(shù)據(jù),spd接口112識別混合存儲器組130中的vm器件132和nvm器件134。在一些示例中,vm器件132和nvm器件134的識別可包括映射存儲器件132和134的地址(例如,確定通道、組和存儲體id)及其各自的定時參數(shù)(例如,激活、寫入和讀取時間)。該過程可在系統(tǒng)引導(dǎo)時發(fā)生。

在動作s304,地址映射器/譯碼器114/114-1接收第一中央處理單元(cpu)請求和第二cpu請求,以向混合存儲器組130寫入/從混合存儲器組130讀取。

在動作s306,通過對第一cpu請求和第二cpu請求的譯碼和地址映射,地址映射器/譯碼器114/114-1將vm器件識別為第一cpu請求的第一目標(biāo),而將nvm器件識別為第二cpu請求的第二目標(biāo)。在一些示例中,vm器件132和nvm器件134可在相同存儲器通道111的不同存儲器組處。vm器件132和nvm器件134也可在相同存儲器組的不同存儲器存儲體處。

在動作s308,地址映射器/譯碼器114/114-1在第一緩沖器(例如,vm事務(wù)隊列116a)中對第一cpu請求排隊,而在第二緩沖器(例如,nvm事務(wù)隊列116b)中對第二cpu請求排隊。在一些示例中,第一隊列可專用于vm事務(wù)/cpu請求,而第二隊列可專用于nvm事務(wù)/cpu請求。在一些示例中,專用的第一隊列和第二隊列可彼此分離(即,沒有邏輯地址重疊)。在其它實施例中,第一隊列和第二隊列可組成相同的隊列(例如,混合存儲器隊列116-1)。

在動作s310,混合存儲器控制器110/110-1(例如,仲裁器118/118-1和調(diào)度器122)基于仲裁策略而對第一目標(biāo)和第二目標(biāo)中的相關(guān)聯(lián)的一個生成與第一cpu請求和第二cpu請求中的一個對應(yīng)的第一命令,并且然后對所述第一目標(biāo)和第二目標(biāo)中的相關(guān)聯(lián)的另一個生成與所述第一cpu請求和第二cpu請求中的另一個對應(yīng)的第二命令。根據(jù)一些示例,仲裁策略可包括基于第一隊列和第二隊列的不平衡發(fā)出速度的輪詢仲裁策略或加權(quán)輪詢仲裁策略。在一些示例中,基于來自存儲器件132和134的定時參數(shù)和/或狀態(tài)反饋信號119,仲裁器118可確定仲裁策略。根據(jù)一些實施例,第一命令和第二命令可根據(jù)相同的標(biāo)準(zhǔn)易失性存儲器命令集(例如,ddr4命令集)來生成。在其它實施例中,對應(yīng)于第二目標(biāo)的第一命令和第二命令根據(jù)與標(biāo)準(zhǔn)易失性存儲器命令集不同的命令集來生成。

在動作s312,調(diào)度器122向vm器件132和nvm器件134的相應(yīng)器件發(fā)送第一命令和第二命令。

相應(yīng)地,本發(fā)明的實施例提出一種用于同步或異步的存儲器件的復(fù)用控制邏輯的自適應(yīng)機(jī)制。

spd接口112、地址映射器/譯碼器114/114-1、事務(wù)和命令隊列、仲裁器118/118-1和調(diào)度器122,以及一般地,混合存儲器控制器100/100-1可使用任何合適的硬件(例如,專用集成電路)、固件、軟件或者軟件、固件和硬件的合適組合來實現(xiàn)。例如,可在一個集成電路(ic)芯片上或在分離的ic芯片上形成混合存儲器控制器100/100-1的各種組件,諸如spd接口112、地址映射器/譯碼器114/114-1、仲裁器118/118-1和調(diào)度器122。此外,混合存儲器控制器100/100-1的各種組件可以是一個或多個計算設(shè)備中的在執(zhí)行計算機(jī)程序指令并與用于執(zhí)行在此所述的各種功能的其它系統(tǒng)組件交互的一個或多個處理器上運行的進(jìn)程或線程。計算機(jī)程序指令可被存儲在存儲器中,該存儲器可在使用標(biāo)準(zhǔn)存儲器件(諸如例如隨機(jī)存取存儲器(ram))的計算設(shè)備中來實現(xiàn)。

在所附權(quán)利要求中,處理器和處理器存儲器表示spd接口112、地址映射器/譯碼器114/114-1、仲裁器118/118-1、調(diào)度器122以及事務(wù)和命令隊列的合并。

應(yīng)當(dāng)理解:雖然術(shù)語“第一”、“第二”、“第三”等在本文中可用于描述各種元件、組件、區(qū)域、層和/或部分,但是這些元件、組件、區(qū)域、層和/或部分不應(yīng)當(dāng)受這些術(shù)語限制。這些術(shù)語用于將一個元件、組件、區(qū)域、層或部分與另一個元件、組件、區(qū)域、層或部分區(qū)分開。從而,以下討論的第一元件、組件、區(qū)域、層或部分可能被稱為第二元件、組件、區(qū)域、層或部分,而不會脫離本發(fā)明構(gòu)思的精神和范圍。

在此使用的術(shù)語是為了描述特定實施例的目的,并不意欲限制本發(fā)明構(gòu)思。如在此使用的,單數(shù)形式“一”和“一個”也旨在包括復(fù)數(shù)形式,除非上下文另有明確指示。將進(jìn)一步理解:當(dāng)在本說明書中使用時,術(shù)語“包括”、“正包括”、“包含”和“正包含”指定存在所述特征、整數(shù)、步驟、操作、元件和/組件,但不排除存在或增加一個或多個其它特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。如在此使用的,術(shù)語“和/或”包括相關(guān)聯(lián)的所列項中的一個或多個的任何和所有組合。當(dāng)在元素的列表之前時,諸如“……中的至少一個”的表達(dá)修飾元素的整個列表,而不修飾列表的個別元素。此外,在描述本發(fā)明構(gòu)思的實施例時使用“可”指代“本發(fā)明構(gòu)思的一個或多個實施例”。

將理解:當(dāng)元件被稱為“連接到”或“耦合到”另一個元件時,其可以直接連接到或耦合到其它元件,或者可存在一個或多個中間元件。當(dāng)元件被稱為“直接連接到”或“直接耦合到”另一個元件時,不存在中間元件。

如在此使用的,術(shù)語“使用”、“正使用”和“已使用”可被認(rèn)為分別與術(shù)語“利用”、“正利用”和“已利用”同義。

雖然已經(jīng)特別參照本發(fā)明的說明性實施例詳細(xì)描述了本發(fā)明,但是在此所述的實施例并不旨在是窮舉的或?qū)⒈景l(fā)明的范圍限于公開的確切形式。本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員將理解:組裝和操作的所述結(jié)構(gòu)和方法的變化和改變可被實施而沒有有意地脫離本發(fā)明的原理、精神和范圍,如在下列權(quán)利要求及其等同物中所闡述的。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1