用于對(duì)具有不對(duì)稱(chēng)存儲(chǔ)組件的存儲(chǔ)子系統(tǒng)中的存儲(chǔ)進(jìn)行動(dòng)態(tài)地分配的系統(tǒng)和方法
【專(zhuān)利說(shuō)明】用于對(duì)具有不對(duì)稱(chēng)存儲(chǔ)組件的存儲(chǔ)子系統(tǒng)中的存儲(chǔ)進(jìn)行動(dòng)態(tài)地分配的系統(tǒng)和方法
[0001]優(yōu)先權(quán)和相關(guān)申請(qǐng)聲明
[0002]本申請(qǐng)是于2012年12月24日遞交的、名稱(chēng)為“System and Method for ManagingPerformance of a Computing Device Having Dissimilar Memory Types”(代理人案號(hào)N0.123065U1)的共同待決的美國(guó)專(zhuān)利申請(qǐng)序列號(hào)N0.13/726, 537的部分繼續(xù)專(zhuān)利申請(qǐng),其中,美國(guó)專(zhuān)利申請(qǐng)序列號(hào)N0.13/726,537基于35 U.S.C.119(e)要求享有于2012年12月10日遞交的、已轉(zhuǎn)讓的臨時(shí)申請(qǐng)序列號(hào)N0.61/735,352(代理人案號(hào)N0.123065P1)、名稱(chēng)為“System and Method for Managing Performance of a Computing Device HavingDissimilar Memory Types”的美國(guó)臨時(shí)專(zhuān)利申請(qǐng)的優(yōu)先權(quán),故此以弓I用方式將這些申請(qǐng)的全部?jī)?nèi)容均并入本文。
【背景技術(shù)】
[0003]在計(jì)算機(jī)系統(tǒng)和設(shè)備中,特別在諸如蜂窩電話(huà)、便攜式數(shù)字助理(PDA)、便攜式游戲控制臺(tái)、掌上型計(jì)算機(jī)、平板計(jì)算機(jī)以及其它便攜式電子設(shè)備之類(lèi)的便攜式計(jì)算設(shè)備(PCD)中,系統(tǒng)性能和功率要求正在變得日益地高要求。這種設(shè)備可以包括被優(yōu)化用于特定目的的兩種或更多種類(lèi)型的處理單元。例如,一個(gè)或多個(gè)中央處理單元(CPU)可以用于通用的系統(tǒng)級(jí)性能或其它目的,而圖形處理單元(GPU)可以被專(zhuān)門(mén)地設(shè)計(jì)用于操作計(jì)算機(jī)圖形以輸出到顯示設(shè)備。隨著每個(gè)處理器要求更多的性能,存在著對(duì)被設(shè)計(jì)為實(shí)現(xiàn)每個(gè)處理器的特定目的的更快和更專(zhuān)用的存儲(chǔ)設(shè)備的需求。存儲(chǔ)架構(gòu)通常被優(yōu)化用于特定的應(yīng)用。(PU可能要求具有可接受的系統(tǒng)級(jí)性能的高密度存儲(chǔ)器,而GPU可能要求具有比CPU顯著更高的性能的相對(duì)較低密度的存儲(chǔ)器。
[0004]因此,諸如PCD之類(lèi)的單個(gè)計(jì)算機(jī)設(shè)備可以包括兩個(gè)或多個(gè)相異存儲(chǔ)設(shè)備,其中每個(gè)專(zhuān)用存儲(chǔ)設(shè)備被優(yōu)化用于其專(zhuān)用目的并且與特定的處理單元配對(duì)并專(zhuān)用于該特定的處理單元。在這種常規(guī)的架構(gòu)(被稱(chēng)為“分立”架構(gòu))中,每個(gè)專(zhuān)用處理單元經(jīng)由多個(gè)物理/控制層(其中每個(gè)具有相應(yīng)的存儲(chǔ)通道)物理地耦合到不同類(lèi)型的存儲(chǔ)設(shè)備。每個(gè)專(zhuān)用處理器單元以出于其預(yù)定目的而優(yōu)化的不同的數(shù)據(jù)速率來(lái)物理地存取相應(yīng)的存儲(chǔ)設(shè)備。例如,在一個(gè)示例性的配置中,通用CPU可以以?xún)?yōu)化的數(shù)據(jù)帶寬(例如,17Gb/s)來(lái)物理地存取第一類(lèi)型的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)設(shè)備。較高性能、專(zhuān)用的GPU可以以較高的數(shù)據(jù)帶寬(例如,34Gb/s)來(lái)物理地存取第二類(lèi)型的DRAM設(shè)備。雖然分立架構(gòu)單獨(dú)地優(yōu)化CPU和GPU的性能,但是存在多個(gè)重大缺點(diǎn)。
[0005]為了獲得較高的性能,GPU專(zhuān)用存儲(chǔ)器必須被調(diào)整大小并且被配置為處理所有潛在的使用情況、顯示分辨率和系統(tǒng)設(shè)置。此外,因?yàn)橹挥蠫PU能夠以較高的數(shù)據(jù)帶寬來(lái)物理地存取GPU專(zhuān)用存儲(chǔ)器,所以這種較高的性能是“局部化的”。雖然CPU可以存取GPU專(zhuān)用存儲(chǔ)器并且GPU可以存取CPU專(zhuān)用存儲(chǔ)器,但是分立架構(gòu)經(jīng)由GPU和CPU之間的物理互連總線(xiàn)(例如,外圍組件高速互連(PCIE))、以減小的數(shù)據(jù)帶寬來(lái)提供這種存取,該數(shù)據(jù)帶寬通常小于用于任一類(lèi)型存儲(chǔ)設(shè)備的優(yōu)化的帶寬。即使GPU和CPU之間的物理互連總線(xiàn)沒(méi)有運(yùn)行為性能“瓶頸”,但是分立架構(gòu)不允許GPU或CPU利用兩種不同類(lèi)型的存儲(chǔ)設(shè)備的經(jīng)組合的、總的可用帶寬。各個(gè)存儲(chǔ)設(shè)備的存儲(chǔ)空間被放置在單獨(dú)的、存儲(chǔ)地址連續(xù)塊中。換句話(huà)說(shuō),整個(gè)存儲(chǔ)映射將第一類(lèi)型的存儲(chǔ)設(shè)備放置在一個(gè)連續(xù)塊中,并且將第二類(lèi)型的存儲(chǔ)設(shè)備單獨(dú)地放置在不同的連續(xù)塊中。不同存儲(chǔ)設(shè)備的存儲(chǔ)端口之間不存在硬件協(xié)調(diào)來(lái)支持駐留在相同的連續(xù)塊中的物理存取。
[0006]因此,雖然存在對(duì)計(jì)算機(jī)系統(tǒng)中更專(zhuān)用的存儲(chǔ)設(shè)備的增加的需求,以提供計(jì)算機(jī)設(shè)備中越來(lái)越多的系統(tǒng)和功率性能,但是在本領(lǐng)域中仍然存在對(duì)用于對(duì)相異存儲(chǔ)設(shè)備進(jìn)行管理的提高的系統(tǒng)和方法的需求。
【發(fā)明內(nèi)容】
[0007]示例性的實(shí)施例包括一種用于對(duì)便攜式計(jì)算設(shè)備中的存儲(chǔ)子系統(tǒng)進(jìn)行動(dòng)態(tài)地分配的方法。該方法涉及對(duì)存儲(chǔ)子系統(tǒng)的第一部分進(jìn)行完全交織,其中,存儲(chǔ)子系統(tǒng)具有含有不對(duì)稱(chēng)存儲(chǔ)容量的存儲(chǔ)組件。根據(jù)交織帶寬比率來(lái)對(duì)存儲(chǔ)子系統(tǒng)的第二剩余部分進(jìn)行部分交織。將存儲(chǔ)子系統(tǒng)的第一部分分配給一個(gè)或多個(gè)高性能存儲(chǔ)客戶(hù)端。將第二剩余部分分配給一個(gè)或多個(gè)相對(duì)較低性能存儲(chǔ)客戶(hù)端。
【附圖說(shuō)明】
[0008]在附圖中,類(lèi)似的附圖標(biāo)記指代貫穿各種視圖中的類(lèi)似部件,除非另外指示。對(duì)于具有諸如“102A”或“102B”等字母符號(hào)標(biāo)示的附圖標(biāo)記,字母符號(hào)標(biāo)示可以對(duì)出現(xiàn)在相同附圖中的兩個(gè)類(lèi)似部件或要素進(jìn)行區(qū)分。當(dāng)旨在用附圖標(biāo)記來(lái)包含所有附圖中具有相同附圖標(biāo)記的所有部件時(shí),可以省略用于附圖標(biāo)記的字母符號(hào)標(biāo)示。
[0009]圖1是用于對(duì)相異存儲(chǔ)設(shè)備進(jìn)行管理的系統(tǒng)的實(shí)施例的框圖。
[0010]圖2是一種由圖1中的存儲(chǔ)通道優(yōu)化模塊執(zhí)行的、用于對(duì)相異存儲(chǔ)設(shè)備進(jìn)行管理的方法的實(shí)施例的流程圖。
[0011]圖3是示出了用于各種類(lèi)型的相異存儲(chǔ)設(shè)備的交織帶寬比率的示例性表格。
[0012]圖4是示出了圖1的存儲(chǔ)通道優(yōu)化模塊的組件的框圖。
[0013]圖5是示出了基于各種交織帶寬比率的存儲(chǔ)通道地址重映射的示例性表格。
[0014]圖6是示出了圖4的通道重映射模塊的實(shí)施例的通用操作、架構(gòu)和功能的組合的流程/框圖。
[0015]圖7是示出了一種用于創(chuàng)建跨越相異存儲(chǔ)設(shè)備的多個(gè)邏輯區(qū)域的交織方法的實(shí)施例的圖。
[0016]圖8是示出了便攜式計(jì)算設(shè)備中的存儲(chǔ)通道優(yōu)化模塊的示例性實(shí)現(xiàn)的框圖。
[0017]圖9是示出了包括存儲(chǔ)通道優(yōu)化模塊的系統(tǒng)的另一實(shí)施例的框圖,其中存儲(chǔ)通道優(yōu)化模塊耦合到具有含有不對(duì)稱(chēng)存儲(chǔ)容量的存儲(chǔ)組件的單一存儲(chǔ)子系統(tǒng)。
[0018]圖10是示出了用于將單一存儲(chǔ)子系統(tǒng)中的存儲(chǔ)動(dòng)態(tài)地分配到高性能區(qū)域和低性能區(qū)域的、圖9的通道重映射模塊的實(shí)施例的框圖。
[0019]圖11是示出了用于對(duì)高性能區(qū)域和低性能區(qū)域進(jìn)行配置和調(diào)整的通道重映射模塊的架構(gòu)、操作和/或功能的經(jīng)組合的框/流程圖。
[0020]圖12是示出了一種用于在圖9的系統(tǒng)中對(duì)存儲(chǔ)進(jìn)行動(dòng)態(tài)地分配的方法的實(shí)施例的流程圖。
【具體實(shí)施方式】
[0021]本文使用詞語(yǔ)“示例性的”來(lái)表示“用作示例、實(shí)例或說(shuō)明”。本文中被描述為“示例性的”任何方面不一定解釋為比其它方面優(yōu)選或有利。
[0022]在本描述中,術(shù)語(yǔ)“應(yīng)用”還可以包括具有可執(zhí)行內(nèi)容的文件,例如:對(duì)象代碼、腳本、字節(jié)代碼、標(biāo)記語(yǔ)言文件和補(bǔ)丁。此外,本文提到的“應(yīng)用”還可以包括本質(zhì)上不可執(zhí)行的文件,例如可能需要打開(kāi)的文檔或需要存取的其它數(shù)據(jù)文件。
[0023]術(shù)語(yǔ)“內(nèi)容”還可以包括具有可執(zhí)行內(nèi)容的文件,例如:對(duì)象代碼、腳本、字節(jié)代碼、標(biāo)記語(yǔ)言文件和補(bǔ)丁。此外,本文提到的“內(nèi)容”還可以包括本質(zhì)上不可執(zhí)行的文件,例如可能需要打開(kāi)的文檔或需要存取的其它數(shù)據(jù)文件。
[0024]如本描述中所使用的,術(shù)語(yǔ)“組件”、“數(shù)據(jù)庫(kù)”、“模塊”、“系統(tǒng)”等旨在指代計(jì)算機(jī)相關(guān)的實(shí)體,硬件、固件、硬件和軟件的組合、軟件或者執(zhí)行中的軟件。例如,組件可以是但不限于:在處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行程序、執(zhí)行的線(xiàn)程、程序和/或計(jì)算機(jī)。通過(guò)說(shuō)明的方式,在計(jì)算設(shè)備上運(yùn)行的應(yīng)用和計(jì)算設(shè)備兩者都可以是組件。一個(gè)或多個(gè)組件可以駐留在執(zhí)行的進(jìn)程和/或線(xiàn)程內(nèi),并且組件可以集中在一個(gè)計(jì)算機(jī)上和/或分布在兩個(gè)或多個(gè)計(jì)算機(jī)之間。此外,可以通過(guò)其上存儲(chǔ)有各種數(shù)據(jù)結(jié)構(gòu)的各種計(jì)算機(jī)可讀介質(zhì)來(lái)執(zhí)行這些組件。組件可以通過(guò)本地的和/或遠(yuǎn)程的過(guò)程的方式,例如根據(jù)具有一個(gè)或多個(gè)數(shù)據(jù)分組的信號(hào)(例如,來(lái)自與本地系統(tǒng)、分布式系統(tǒng)中另一個(gè)組件進(jìn)行交互的一個(gè)組件的數(shù)據(jù),和/或通過(guò)信號(hào)的方式越過(guò)諸如互聯(lián)網(wǎng)之類(lèi)的網(wǎng)絡(luò)與其它系統(tǒng)進(jìn)行交互的一個(gè)組件的數(shù)據(jù))來(lái)進(jìn)行通信。
[0025]在本描述中,術(shù)語(yǔ)“通信設(shè)備”、“無(wú)線(xiàn)設(shè)備”、“無(wú)線(xiàn)電話(huà)”、“無(wú)線(xiàn)通信設(shè)備”和“無(wú)線(xiàn)手持裝置”可互換地使用。隨著第三代(“3G”)無(wú)線(xiàn)技術(shù)和第四代(“4G”)的出現(xiàn),更大的帶寬可用性已經(jīng)實(shí)現(xiàn)了具有更多種類(lèi)的無(wú)線(xiàn)能力的更多便攜式計(jì)算設(shè)備。因此,便攜式計(jì)算設(shè)備可以包括蜂窩電話(huà)、尋呼機(jī)、PDA、智能電話(huà)、導(dǎo)航設(shè)備或具有無(wú)線(xiàn)連接或鏈路的手持計(jì)算機(jī)。
[0026]圖1示出了包括存儲(chǔ)管理架構(gòu)的系統(tǒng)100,在具有用于對(duì)不同類(lèi)型的兩個(gè)或多個(gè)存儲(chǔ)設(shè)備、或者具有不同數(shù)據(jù)帶寬的相似類(lèi)型存儲(chǔ)設(shè)備(被稱(chēng)為“相異存儲(chǔ)設(shè)備”)進(jìn)行存取的兩個(gè)或多個(gè)專(zhuān)用處理單元的任何適當(dāng)?shù)挠?jì)算設(shè)備中,可以實(shí)現(xiàn)該架構(gòu)。計(jì)算設(shè)備可以包括個(gè)人計(jì)算機(jī)、工作站、服務(wù)器、便攜式計(jì)算設(shè)備(PCD)(例如,蜂窩電話(huà)、便攜式數(shù)字助理(PDA)、便攜式游戲控制臺(tái)、掌上型計(jì)算機(jī),或者平板計(jì)算機(jī))以及具有兩個(gè)或多個(gè)相異存儲(chǔ)設(shè)備的任何其它