計(jì)算設(shè)備。如在下面更詳細(xì)描述的,存儲(chǔ)管理架構(gòu)被配置為選擇性地提供兩種操作模式:統(tǒng)一模式和分立模式。在分立模式中,存儲(chǔ)管理架構(gòu)如上面所描述的以常規(guī)的方式操作成“分立架構(gòu)”,其中,每個(gè)專用處理單元對(duì)出于其預(yù)定目的而優(yōu)化的相應(yīng)存儲(chǔ)設(shè)備進(jìn)行存取。例如,專用的通用中央處理單元(CPU)可以以優(yōu)化的數(shù)據(jù)帶寬來存取第一類型的存儲(chǔ)設(shè)備,并且較高性能的專用圖形處理單元(GPU)可以以較高的數(shù)據(jù)帶寬來存取第二類型的存儲(chǔ)設(shè)備。在統(tǒng)一模式中,存儲(chǔ)管理架構(gòu)被配置為對(duì)相異存儲(chǔ)設(shè)備進(jìn)行統(tǒng)一并且使得專用處理單元能夠選擇性地存取(單獨(dú)地或組合地)相異存儲(chǔ)設(shè)備或者其部分設(shè)備的組合帶寬。
[0027]如圖1的實(shí)施例中所示出的,系統(tǒng)100包括:存儲(chǔ)通道優(yōu)化模塊102,其電連接到兩種不同類型的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)設(shè)備104a和104b以及可以對(duì)DRAM設(shè)備104a和104b進(jìn)行存取的兩個(gè)或多個(gè)專用處理單元(例如,CPU 108和GPU 106)。GPU 106經(jīng)由電連接110耦合到存儲(chǔ)通道優(yōu)化模塊102。CPU 108經(jīng)由電連接112耦合到存儲(chǔ)通道優(yōu)化模塊102。存儲(chǔ)通道優(yōu)化模塊102還包括用于耦合到DRAM設(shè)備104a和104b的多個(gè)硬件連接。取決于存儲(chǔ)設(shè)備的類型,硬件連接可以改變。在圖1的示例中,DRAM 104a支持分別連接到物理/控制連接116a、116b、116c和116d的四個(gè)通道114a、114b、114c和114d。DRAM104b支持分別連接到物理/控制連接120a和120b的兩個(gè)通道118a和118b。應(yīng)當(dāng)意識(shí)到,取決于存儲(chǔ)設(shè)備的類型(包括存儲(chǔ)地址的大小(例如,32位、64位等)),物理/控制連接的數(shù)量和配置可以改變。
[0028]圖2示出了一種由存儲(chǔ)通道優(yōu)化模塊102執(zhí)行的、用于通過對(duì)相異存儲(chǔ)設(shè)備(例如,DRAM設(shè)備104a和104b)進(jìn)行交織來實(shí)現(xiàn)統(tǒng)一操作模式的方法200。在框202處,存儲(chǔ)通道優(yōu)化模塊102確定交織帶寬比率,該交織帶寬比率包括用于DRAM設(shè)備104a和104b的數(shù)據(jù)帶寬的比率??梢栽谟?jì)算設(shè)備的啟動(dòng)時(shí)確定該數(shù)據(jù)帶寬。
[0029]在一個(gè)實(shí)施例中,可以通過存取諸如圖1中所示出的表格300之類的數(shù)據(jù)結(jié)構(gòu)來確定交織帶寬比率。表格300標(biāo)識(shí)用于實(shí)現(xiàn)兩個(gè)DRAM設(shè)備104a和104b的相異存儲(chǔ)設(shè)備的各種類型組合的交織帶寬比率。列302列出針對(duì)DRAM設(shè)備104a的各種配置。行304列出針對(duì)DRAM設(shè)備104b的各種配置。在這方面,每個(gè)數(shù)字的數(shù)據(jù)字段標(biāo)識(shí)針對(duì)相應(yīng)配置行/列配置的交織帶寬比率。例如,表格300的上面部分中的第一數(shù)據(jù)字段以黑色高亮并且列出2.00的交織帶寬比率,其與用于DRAM設(shè)備104a的12.8GB/s的帶寬和用于DRAM設(shè)備104b的6.4GB/s的數(shù)據(jù)帶寬相對(duì)應(yīng)。在圖3中,DRAM設(shè)備104a和104b被優(yōu)化用于移動(dòng)計(jì)算系統(tǒng)中。DRAM設(shè)備104b包括低功率雙倍數(shù)據(jù)速率(LPDDR)存儲(chǔ)設(shè)備,其可以被常規(guī)地優(yōu)化用于分立模式中,以便由CPU 108進(jìn)行專門的使用。DRAM設(shè)備104a包括寬I/O(寬10)存儲(chǔ)設(shè)備,其可以被常規(guī)地優(yōu)化用于分立模式中,以便由GPU 106進(jìn)行專門的使用。在這方面,數(shù)字的值根據(jù)諸如存儲(chǔ)地址位大小(χ64、χ128、χ256、χ512)、時(shí)鐘速度(MHz)和數(shù)據(jù)帶寬(GB/s)之類不同的性能參數(shù)來標(biāo)識(shí)用于DRAM設(shè)備104a和104b的交織帶寬比率。存儲(chǔ)通道優(yōu)化模塊102可以執(zhí)行查找來獲得與DRAM設(shè)備104a和104b相關(guān)聯(lián)的交織帶寬比率。在圖2中的框202處,存儲(chǔ)通道優(yōu)化模塊102還可以確定數(shù)字的數(shù)據(jù)帶寬(例如,根據(jù)表格300或者直接根據(jù)DRAM設(shè)備104a和104b)并且然后使用該數(shù)據(jù)來計(jì)算交織帶寬比率。
[0030]應(yīng)當(dāng)意識(shí)到,取決于其中實(shí)現(xiàn)系統(tǒng)100的計(jì)算設(shè)備、系統(tǒng)應(yīng)用等的特定類型,存儲(chǔ)設(shè)備的類型和性能參數(shù)可以改變。在本描述中僅使用圖3中所示出的示例類型和性能參數(shù),來描述由移動(dòng)系統(tǒng)中的存儲(chǔ)通道優(yōu)化模塊102執(zhí)行的示例性的交織方法。適合于通道優(yōu)化模塊102的其它隨機(jī)存取存儲(chǔ)器技術(shù)的一些示例包括:N0R FLASH、EEPROM、EPROM,DDR-NVM、PSRAM、SRAM、PROM和ROM。本領(lǐng)域普通技術(shù)人員將很容易意識(shí)到,可以執(zhí)行各種替代的交織方案和方法。
[0031]再次參考圖2,在框204處,存儲(chǔ)通道優(yōu)化模塊102根據(jù)框202中所確定的交織帶寬比率來對(duì)DRAM設(shè)備104a和104b進(jìn)行交織。交織過程將去往分別用于DRAM設(shè)備104a和104b的存儲(chǔ)通道114a、114b、114c、114d以及118a和118b中的每個(gè)通道的業(yè)務(wù)與特定通道的可用帶寬進(jìn)行匹配。例如,如果DRAM設(shè)備104a具有34GB/s的數(shù)據(jù)帶寬并且DRAM設(shè)備104b具有17GB/s的數(shù)據(jù)帶寬,則交織帶寬比率是2:1。這意味著DRAM設(shè)備104a的數(shù)據(jù)速率與DRAM設(shè)備104b的數(shù)據(jù)速率的兩倍一樣快。
[0032]如圖4中所示出的,存儲(chǔ)通道優(yōu)化模塊102可以包括:一個(gè)或多個(gè)通道重映射模塊400,其用于根據(jù)交織帶寬比率來配置和保持用于DRAM設(shè)備104a和104b的虛擬地址映射表格,以及根據(jù)交織帶寬比率來向DRAM設(shè)備104a和104b分發(fā)業(yè)務(wù)。圖5中示出了示例性的地址映射表格500。地址映射表格500包括地址塊(其可以是任意大小)的列表502,其具有基于交織帶寬比率的、相應(yīng)的通道和/或存儲(chǔ)設(shè)備分配。例如,在圖5中,列504示出了基于1:1的交織帶寬比率的、DRAM設(shè)備104a ( “寬12”)和DRAM設(shè)備104b ( “l(fā)pddr3e”)之間的交替的分配。偶數(shù)的地址塊(N、N+2、N+4、N+6等)被分配給寬12,并且奇數(shù)的地址塊(Ν+1、Ν+3、Ν+5 等)被分配給 lpddr3e。
[0033]列506示出了針對(duì)2:1的交織帶寬比率的另一分配。在DRAM設(shè)備104a(“寬12”)具有兩倍于DRAM設(shè)備104b (“l(fā)pddr3e”)的速率的情況下,針對(duì)被分配給lpddr3e的每一個(gè)地址塊,兩個(gè)連續(xù)的地址塊被分配給寬12。例如,地址塊N和N+1被分配給寬12。塊N+2被分配給lpddr3e。塊N+3和N+4被分配給寬12,等等。列508示出了針對(duì)1:2的交織帶寬比率的另一分配,其中,由于DRAM設(shè)備104b(“l(fā)pddr3e”)的速度是DRAM設(shè)備104a(“寬12”)的兩倍,所以分配方案是相反的。
[0034]再次參考圖2的流程圖,在框206處,GPU 106和CPU 108可以通過向存儲(chǔ)通道優(yōu)化模塊102發(fā)送存儲(chǔ)地址請(qǐng)求來以常規(guī)的方式存取交織的存儲(chǔ)器。如圖6中所示出的,業(yè)務(wù)可以作為請(qǐng)求 606、608、610、612、614、616 等(與地址塊 N、N+l、N+2、N+3、N+4、N+5 等(圖5)相對(duì)應(yīng))的輸入流而由通道重映射邏輯單元600來接收。通道重映射邏輯單元600被配置為:根據(jù)交織帶寬比率和包含在地址映射表格500中的適當(dāng)?shù)姆峙浞桨?例如,列504、506、508等),來向DRAM設(shè)備104a和104b分發(fā)業(yè)務(wù)(框208-圖2)。
[0035]接著上面2:1交織帶寬比率的示例,通道重映射邏輯單元600對(duì)請(qǐng)求606、608、610、612、614和616進(jìn)行引導(dǎo),如圖6中所示出的。可以將分別針對(duì)地址塊N、N+l、N+3和N+4的請(qǐng)求606、608、612和614引導(dǎo)到DRAM設(shè)備104a??梢詫⒎謩e針對(duì)地址塊N+2和N+5的請(qǐng)求610和616引導(dǎo)到DRAM設(shè)備104b。以此方式,可以將來自GPU 106和CPU 108的輸入業(yè)務(wù)與用于DRAM設(shè)備104a的存儲(chǔ)通道114和/或用于DRAM設(shè)備104b的存儲(chǔ)通道118中的任意存儲(chǔ)通道上的可用帶寬進(jìn)行最優(yōu)地匹配。這種統(tǒng)一操作模式使得GPU 106和CPU108能夠單獨(dú)地和/或共同地存取相異存儲(chǔ)設(shè)備的組合帶寬,而不是受限于常規(guī)的分立操作模式的“局部化的”高性能操作。
[0036]如上面所提到的,存儲(chǔ)通道優(yōu)化模塊102可以被配置為:基于各種期望的使用場(chǎng)景、系統(tǒng)設(shè)置等來選擇性地啟用要么統(tǒng)一模式要么分立模式。此外,應(yīng)當(dāng)意識(shí)到,可以對(duì)相異存儲(chǔ)設(shè)備的部分進(jìn)行交織,而不是對(duì)全部的存儲(chǔ)設(shè)備進(jìn)行交織。圖7示出了可以由存儲(chǔ)通道優(yōu)化模塊102實(shí)現(xiàn)以便創(chuàng)建多個(gè)“邏輯的”設(shè)備或區(qū)域的多層交織技術(shù)。接著上面使用2:1交織帶寬比率的示例,DRAM設(shè)備104a可以包括:一對(duì)0.5GB存儲(chǔ)設(shè)備702和704,其具有被常規(guī)地優(yōu)化用于GPU 106的34GB/s的高性能帶寬。DRAM設(shè)備104b可以包括:1GB存儲(chǔ)設(shè)備706和2GB存儲(chǔ)設(shè)備708,其均具有被常規(guī)地優(yōu)化用于CPU 108的17GB/s的較低帶寬。多層交織技術(shù)可以創(chuàng)建兩個(gè)交織區(qū)域710和712以及未交織區(qū)域714。區(qū)域710可以是4路交織的,以提供在102GB/S的組合帶寬的組合的1.5GB。區(qū)域712可以是2路交織的,以提供在34GB/s的組合的1.5GB。區(qū)域714可以是未交織的,以提供在17GB/s的1GB。由于交織區(qū)域710和712的內(nèi)容可以被明確地指定用于可清除的或可迀移的數(shù)據(jù)結(jié)構(gòu)和緩沖區(qū),而未交織區(qū)域714的內(nèi)容可以被指定用于處理(例如內(nèi)核操作和/或其它低存儲(chǔ)過程),因此與系統(tǒng)100的存儲(chǔ)管理架構(gòu)相結(jié)合的多層交織技術(shù)可以有助于