使用多通道體系結(jié)構(gòu)優(yōu)化LPDDR4的性能和功耗
tRC定時會導(dǎo)致很多問題,尤其是在更快的器件中更是如此。在LPDDR4的最高速度下,tRC時間超過100時鐘周期。當(dāng)在LPDDR4的最高速度下工作時,觸發(fā)Bank中的某一行后,至少在100時鐘周期內(nèi),tRC會阻止訪問該Bank中的其他行,這樣,就會在相當(dāng)長的時間內(nèi)禁止再次使用該Bank。如果具有更多的可用Bank,會降低訪問因tRC時間而鎖定的Bank中新行的訪問概率。
tRRD和tFAW會限制頻繁更換存儲體Bank的能力,設(shè)計團(tuán)隊可能希望這樣做,以避開tRC定時參數(shù)。
圖12顯示了1個器件示例,它具有4個激活窗口tFAW,具有4倍的行行延遲tRRD。在LPDDR4-3200中,tRRD時間可達(dá)16個時鐘周期。
圖12:tFAW和tRRD時序
在圖13中,顯示了在并行實施方案下執(zhí)行的連續(xù)傳輸序列。符號AC/BA0是Bank0觸發(fā)命令的代稱。與其相鄰的命令RD/BA4指的是對Bank4的讀取命令(假定Bank4已在較早時間觸發(fā))。每一命令標(biāo)記代表4時鐘周期,原因在于LPDDR4器件的4相尋址特性。在實際應(yīng)用中,該序列會需要延長,這是因為在激活(Active)之后會接著讀取、激活、讀取、激活、讀取、激活、讀取。數(shù)據(jù)返回,完全占用DQ總線,總線處于滿狀態(tài)。并行訪問模式會利用100%的內(nèi)存帶寬,但僅在800MHZ(DDR1600)下訪問器件時才能實現(xiàn)該點。
圖13:在BL16和800MHz/DDR1600上使用至旋轉(zhuǎn)地址的連續(xù)64字節(jié)讀取的并行實施
圖14中顯示了一種雙通道實施,其中執(zhí)行了相同的序列,獨立使用每一命令地址通道。每一命令地址總線的訪問模式略有差異:激活、讀取、無操作、讀取、激活、讀取、無操作、讀取。命令通道中的空隙可用于其他方面,如設(shè)定的預(yù)充或按bank刷新,或簡單地留作空閑時鐘周期。圖中數(shù)據(jù)總線已被完全占用。
圖14:在BL16和800MHz/DDR1600上使用至循環(huán)地址的連續(xù)64字節(jié)讀取、獨立使用命令地址的雙通道實施
將頻率加倍至1600 MHz(DDR 3200操作)(圖15)時,tRRD時間會限制SOC的能力,允許在并行實施的上方示例中發(fā)送激活命令至LPDDR4器件。序列為:激活、讀取、無操作、無操作、激活、讀取、無操作、無操作。無操作周期可用于預(yù)充或刷新,但內(nèi)存的激活速度不足以就每一傳輸向新rank發(fā)送連續(xù)的64-bank傳輸。
圖15:頻率加倍至1600MHZ/DDR3200
當(dāng)沒有發(fā)向同一內(nèi)存頁的另一64字節(jié)傳輸時,SOC必須等待,直至tRRD期滿并能再次在內(nèi)存中觸發(fā)新頁為止。如果傳輸?shù)臅r間不足以在移動至新bank之前對每一bank進(jìn)行兩次讀取,該工作模式會將器件的最大性能限制在50%帶寬下。
與之相比,對于圖15下方的雙通道實施,由于“激活、讀取、無操作、讀取”模式,允許每一通道滿足tRRD的要求。即使在DDR 3200數(shù)據(jù)率下,總線帶寬也能工作在滿負(fù)荷下。
找出最小的塊提取大小
塊提取大小指的是可在一個DRAM事務(wù)(一次突發(fā)傳輸)中傳輸?shù)淖钚∽止?jié)數(shù)。由于LPDDR4的最小突發(fā)長度為16,采用LPDDR4的并行連接可能使SoC具有不優(yōu)化的塊提取大小。
最佳方式是使提取大小與SOC匹配,不僅體現(xiàn)在通過總線傳輸?shù)膫鬏敶笮》矫妫搀w現(xiàn)在器件的總帶寬方面。
對于很多SOC和CPU的緩存線,首選塊取大小是32字節(jié)。在偶爾情況下,一些較大的64位CPU使用64字節(jié)緩沖線。視頻和網(wǎng)絡(luò)傳輸通常需要32字節(jié)或更小的短字節(jié)傳輸。在理想情況下,多通道體系結(jié)構(gòu)應(yīng)與系統(tǒng)的提取大小匹配,以便將系統(tǒng)優(yōu)化至系統(tǒng)所能使用的提取大小。
在圖16顯示的并行實施方案中,LPPDDR4最小突發(fā)長度為16,有64個的并行DQ引腳,塊提取大小為128字節(jié),它實際上僅適合于至連續(xù)地址的長數(shù)據(jù)傳輸。對于每次以128字節(jié)為單位的訪問,并行實施方案能夠工作,然而,如果數(shù)據(jù)訪問小于128字節(jié)且需訪問隨機(jī)地址,那么并行實施方案的效率不高。
圖16:并行實施
對于64位并行實施方案,另一問題是SOC和DRAM裸片之間的物理連接。LPDDR4 PoP封裝的管腳分配是每一角一個通道,使得封裝包上有4個通道以容納2或4個裸片。每一通道位于器件的每一角。在理想情況下,SOC內(nèi)存控制器和PHY布局應(yīng)與LPDDR4的管腳分配匹配。采用該布局,允許將通道A映射到通道A,通道B映射到通道B,C到C,D到D,使得LPDDR4 PoP封裝內(nèi)的路徑盡可能短,無交叉。該封裝布局還有助于并行4通道LPDDR4接口的物理實現(xiàn)。
用戶還應(yīng)注意傳輸是否訪問內(nèi)存中的不同頁,tRRD可能會限制較高頻率下的有效帶寬,如同前述部分中介紹的那樣。
正是由于這些原因,與4通道實施相比,設(shè)計者更傾向于選擇LPDDR4的多通道實施。
命令/地址總線
LPDDR4具有很窄的命令/地址總線(每通道僅6位寬,DDR4為20位或以上),因此,使用多個命令/地址通道的開銷低于使用其他DDR類型的開銷。在LPDDR4封裝包上獨立使用所有4個命令/地址總線,能夠提供最大的靈活性,可能還會為整個系統(tǒng)提供最高性能。
LPDDR4 PoP的SOC分割
有多種適用于LPDDR4的SOC分割方式。圖17顯示了最簡單的一種方式。這是一種同構(gòu)CPU體系結(jié)構(gòu),它具有4個CPU和4個通道。每一CPU具有自己的方式以訪問自己的獨立通道。該體系結(jié)構(gòu)具有下述優(yōu)點:CPU不會彼此屏蔽,SOC總線更短。可關(guān)閉未使用通道以便節(jié)省功耗。
圖17:LPDDR4.PoP的最簡單SOC分割
然而,該體系結(jié)構(gòu)不夠靈活。如果通道A需使用通道C中的一些數(shù)據(jù),它無法將內(nèi)存當(dāng)作郵箱使用。必須通過SOC以某種方式傳輸數(shù)據(jù)。這還會使得CPU更難于執(zhí)行與負(fù)載平衡相關(guān)的共享任務(wù)。
另一方法是使每一CPU共享每一內(nèi)存(圖18)。這樣就能實現(xiàn)更加靈活的分割。對于異構(gòu)處理,它的工作表現(xiàn)更好,CPU能夠?qū)蚕頂?shù)據(jù)進(jìn)行處理,但需要更多和更長的片上布線資源,這可能需要用到復(fù)雜的片上互聯(lián)系統(tǒng)。這樣就能更準(zhǔn)確地反映實際芯片的工作方式,尤其是對具有不同CPU、GPU和其他處理單元的異構(gòu)體系結(jié)構(gòu)而言。
圖18:共享通道,所有CPU共享所有內(nèi)存
邏輯至物理地址映射
多通道體系結(jié)構(gòu)提供了多種控制邏輯至物理地址映射的選擇??紤]如圖19所示的雙通道體系結(jié)構(gòu)。存在多種控制邏輯至物理地址映射的方式。最簡單的方式是,雙通道存儲器映射到不同的SoC地址空間(圖19)。
圖19:使用分區(qū)內(nèi)存映射的邏輯至物理地址映射
例如,通道A可能會存放操作系統(tǒng),并保持始終在線、始終連通的功能。通道B可能包含應(yīng)用數(shù)據(jù),視頻緩沖和類似數(shù)據(jù)。這兩個不同的地址空間獨立且分離。這有助于功耗控制,原因在于,通道B可在不使用時關(guān)閉。
另一方式是,采用較小的連續(xù)邏輯地址區(qū)訪問內(nèi)存的不同通道(圖20),對內(nèi)存映射進(jìn)行交織處理。例如,通道A為字節(jié)0~63,通道B為字節(jié)64~127,以此類推,直至遍及整個內(nèi)存空間。在整個內(nèi)存上對邏輯空間進(jìn)行交錯處理。該方法有助于在2個不同通道上實現(xiàn)負(fù)載平衡,可實現(xiàn)良好性能。然而,由于始終需要兩個通道,無法關(guān)閉任一通道以降低功耗。
圖20:交錯式內(nèi)存映射
更進(jìn)一步的實施方案是使用混合內(nèi)存映射(圖21),其中,每一通道中的不同區(qū)可提供交織式訪問或非交織訪問。該混合方法可能包含一個始終在線、始終連接的內(nèi)存區(qū),以便獲得最高性能而在2個通道之間交織的內(nèi)存區(qū),以及用于程序存儲的高地址內(nèi)存區(qū),這類程序與高帶寬相關(guān)。
圖21:混合內(nèi)存映射
針對高性能、低功耗移動SOC的Synopsys LPDDR4 IP解決方案
Synopsys完整的LPDDR4 IP解決方案包括1個內(nèi)嵌I/O的LPDDR4 multiPHY,增強(qiáng)型通用DDR內(nèi)存控制器(uMCTL2)和協(xié)議控制器(uPCTL2),驗證IP,建模工具,以及IP硬化和信號完整性分析服務(wù)。IP完全支持LPDDR4標(biāo)準(zhǔn),并可靈活配置,以發(fā)揮上文所述的多通道體系結(jié)構(gòu)的優(yōu)點。
Synopsys DDR內(nèi)存控制器包含uMCTL2內(nèi)存控制器,它提供了與SOC的多端口或單端口連接??捎每偩€包括1~16端口的AXI3、AXI4或AHB。對于需要在內(nèi)存控制器之外做內(nèi)存?zhèn)鬏斦{(diào)度的系統(tǒng),我們提供了單端口協(xié)議控制器uPCTL2。
uMCTL2具有低延遲、高帶寬和強(qiáng)大的QOS特性,包括QOS驅(qū)動的仲裁和高性能內(nèi)存調(diào)度算法。內(nèi)存控制中的低功耗功能具有自動的特點,允許設(shè)計團(tuán)隊將重心放在系統(tǒng)設(shè)計方面。他能夠支持包括DDR2、DDR3、DDR4、LPDDR2、LPDDR3和LPDDR4等多種內(nèi)存標(biāo)準(zhǔn)。對于車載應(yīng)用和其他高可靠性系統(tǒng),IP提供了多種可靠性、可用性、可服務(wù)性(RAS)特性。
面向LPDDR4的uMCTL2內(nèi)存控制器提供了一種基于CAM的調(diào)度架構(gòu),尤其針對2667-4266的數(shù)據(jù)率進(jìn)行了優(yōu)化,并支持多種地址映射機(jī)制,為不同使用模式和多內(nèi)存類型的系統(tǒng)提供了高度靈活性。它具有自動斷電功能,自刷新功能以及快速頻率轉(zhuǎn)換功能,支持自動溫度監(jiān)測和刷新率調(diào)節(jié)。
結(jié)論
LPDDR4多通道規(guī)范為新穎的系統(tǒng)設(shè)計提供了新的機(jī)會,尤其是多通道體系結(jié)構(gòu)可以改善系統(tǒng)性能。設(shè)計團(tuán)隊需要綜合考慮性能、功耗和設(shè)計復(fù)雜度來部署實施LPDDR4架構(gòu)。
評論