專利名稱:降低數(shù)據(jù)類芯片外掛ddr功耗的方法及數(shù)據(jù)類芯片系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及芯片節(jié)能技術(shù),尤其涉及一種降低數(shù)據(jù)類芯片外掛DDR功耗的方法及數(shù)據(jù)類芯片系統(tǒng)。
背景技術(shù):
隨著數(shù)據(jù)業(yè)務(wù)的飛速發(fā)展,DDR(Double Data Rate,雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器)由于成本較低緩存空間較大,通常通過外掛的方式被大量應(yīng)用于各個(gè)數(shù)據(jù)類芯片,以保證大流量數(shù)據(jù)業(yè)務(wù)轉(zhuǎn)發(fā)的流量管理和轉(zhuǎn)發(fā)。通常,數(shù)據(jù)類芯片通過外部接口模塊DDRCTRL外掛DDR。DDRCTRL模塊內(nèi),利用三態(tài)內(nèi)容尋址存儲(chǔ)(ternary content addressable memory, TCAM)和外部DDR實(shí)現(xiàn)兩級(jí)緩存。 由于TCAM資源開銷的限制,實(shí)際上能夠存儲(chǔ)的信息量很小,通常是針對(duì)外部DDR讀寫延遲較大,出現(xiàn)未完成向DDR寫入數(shù)據(jù)的操作,卻需要從DDR讀出該數(shù)據(jù)的情況,來完成這種情況下的讀數(shù)據(jù)Bypass處理。上述數(shù)據(jù)類芯片在工作過程中,無(wú)論在什么應(yīng)用場(chǎng)景下,DDR外掛都必須打開,并且隨時(shí)有數(shù)據(jù)寫入。實(shí)際上,在很多應(yīng)用場(chǎng)合,如輕載條件下,或者無(wú)擁塞滿帶寬條件下,此時(shí)的DDR外掛實(shí)際上沒有任何用處,但以目前這種結(jié)構(gòu)將引入巨大的功耗開銷。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提出一種降低數(shù)據(jù)類芯片外掛DDR功耗的方法及數(shù)據(jù)類芯片系統(tǒng), 以降低數(shù)據(jù)類芯片的外掛DDR功耗。本發(fā)明實(shí)施例提供了一種降低數(shù)據(jù)類芯片外掛DDR功耗的方法,包括在數(shù)據(jù)類芯片系統(tǒng)輕載或非擁塞的情況下將待寫入的數(shù)據(jù)存入所述數(shù)據(jù)類芯片內(nèi)增加的緩存模塊;在所述數(shù)據(jù)類芯片系統(tǒng)重載或擁塞的情況下,啟動(dòng)所述外掛DDR,且當(dāng)所述數(shù)據(jù)類芯片系統(tǒng)的外掛DDR中的數(shù)據(jù)全被讀出后,關(guān)閉所述外掛DDR。本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)類芯片系統(tǒng),包括DDRCTRL模塊、芯片以及與所述DDRCTRL模塊相連的外掛DDR,其中,所述芯片中設(shè)有緩存模塊及與所述緩存模塊、所述 DDRCTRL模塊相連的BUFCTRL模塊,所述BUFCRTL模塊包括緩存寫入單元,用于在數(shù)據(jù)類芯片系統(tǒng)輕載或非擁塞的情況下,將待寫入的數(shù)據(jù)存入所述緩存模塊;關(guān)閉單元,用于在數(shù)據(jù)類芯片系統(tǒng)輕載或非擁塞的情況下,所述外掛DDR中的數(shù)據(jù)全被讀出后,關(guān)閉所述外掛DDR ;啟動(dòng)單元,用于在所述數(shù)據(jù)類芯片系統(tǒng)重載或擁塞的情況下,啟動(dòng)所述外掛DDR。本發(fā)明實(shí)施例提供的降低數(shù)據(jù)類芯片外掛DDR功耗的方法及數(shù)據(jù)類芯片系統(tǒng),通過在數(shù)據(jù)類芯片系統(tǒng)輕載或非擁塞的情況下關(guān)閉外掛DDR,并在述數(shù)據(jù)類芯片系統(tǒng)重載或擁塞的情況下啟動(dòng)所述外掛DDR,使得數(shù)據(jù)類芯片在能夠正常運(yùn)行的前提下盡可能地關(guān)閉外掛DDR,降低了數(shù)據(jù)類芯片的外掛DDR功耗。
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例提供的降低數(shù)據(jù)類芯片外掛DDR功耗的方法的流程圖;圖2為本發(fā)明實(shí)施例提供的降低數(shù)據(jù)類芯片外掛DDR功耗的方法中水線示意圖;圖3為本發(fā)明實(shí)施例提供的降低數(shù)據(jù)類芯片外掛DDR功耗的方法中外掛DDR中三個(gè)Bank的示意圖;圖4為本發(fā)明實(shí)施例提供的數(shù)據(jù)類芯片系統(tǒng)的結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例提供的數(shù)據(jù)類芯片系統(tǒng)中功耗控制模塊的結(jié)構(gòu)示意圖;圖6為通常情況下的數(shù)據(jù)類芯片外掛DDR時(shí)接口部分示意圖;圖7為外掛DDR中的Bank地址示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明實(shí)施例提供的降低數(shù)據(jù)類芯片外掛DDR功耗的方法的流程圖,包括步驟11、在數(shù)據(jù)類芯片系統(tǒng)輕載或非擁塞的情況下,將待寫入的數(shù)據(jù)存入所述數(shù)據(jù)類芯片內(nèi)增加的緩存模塊;步驟12、在所述數(shù)據(jù)類芯片系統(tǒng)重載或擁塞的情況下,啟動(dòng)所述外掛DDR,且當(dāng)所述數(shù)據(jù)類芯片系統(tǒng)的外掛DDR中的數(shù)據(jù)全被讀出后,關(guān)閉所述外掛DDR。如在數(shù)據(jù)類芯片內(nèi)設(shè)置一個(gè)二級(jí)共享式緩存RAM,在該數(shù)據(jù)類芯片系統(tǒng)輕載或是系統(tǒng)無(wú)擁塞緩存時(shí)間較短(緩存時(shí)間較短,則在一定帶寬流量的條件下,需要的緩存空間越小,實(shí)際上和無(wú)擁塞條件類似)條件下,完全利用該數(shù)據(jù)類芯片內(nèi)RAM進(jìn)行數(shù)據(jù)緩存,此時(shí)可以將待寫入的數(shù)據(jù)寫入到芯片內(nèi)設(shè)置的緩存模塊RAM中,然后等到外掛DDR中的數(shù)據(jù)都被讀出后,關(guān)閉外掛DDR的電源,極大地降低整個(gè)數(shù)據(jù)類芯片系統(tǒng)的功耗。當(dāng)系統(tǒng)處于高負(fù)載或是擁塞條件下需要較大緩存空間時(shí),由內(nèi)部邏輯自動(dòng)啟動(dòng)外掛DDR緩存,將片內(nèi)緩存的部分?jǐn)?shù)據(jù)轉(zhuǎn)移到外掛DDR中,以保證數(shù)據(jù)類芯片繼續(xù)正常進(jìn)行數(shù)據(jù)存儲(chǔ)及訪問。在用于評(píng)估或預(yù)測(cè)系統(tǒng)擁塞或重載的算法的配合下,可考慮轉(zhuǎn)移出負(fù)載大需要緩存空間較多的隊(duì)列。例如,通過數(shù)據(jù)在緩存的停留時(shí)間、隊(duì)列的深度等等判斷系統(tǒng)是否擁塞或重載。一般情況下,隊(duì)列深度越大表示該隊(duì)列擁塞較嚴(yán)重。上述步驟11中,所述緩存模塊可采用獨(dú)立式隊(duì)列管理或共享式隊(duì)列管理的方式存儲(chǔ)數(shù)據(jù)。
其中,共享式隊(duì)列管理的方式有利于充分利用緩存模塊的緩存空間,降低緩存模塊的開銷。具體地,由于共享式隊(duì)列管理的方式用于與具體應(yīng)用條件下和后續(xù)隊(duì)列調(diào)度的對(duì)接,對(duì)于隊(duì)列固有的先后順序,采用共享式隊(duì)列管理的方式可以在避免使用大的TCAM的條件下,實(shí)現(xiàn)大多數(shù)數(shù)據(jù)不需要寫入到外掛DDR中而直接被Bypass調(diào)度出的功能,從而在正常應(yīng)用場(chǎng)合也能很好地降低對(duì)外掛DDR的訪問,降低系統(tǒng)整體功耗,特別適合應(yīng)用于分布式路由芯片中上行數(shù)據(jù)帶寬大但無(wú)擁塞的場(chǎng)景。換句話說,共享式片內(nèi)緩存既降低了 DDR 的訪問頻率,甚至在輕載或無(wú)擁塞情況可以不訪問DDR,也解決了普通的二級(jí)TCAM緩存由于資源的限制無(wú)法處理較大數(shù)據(jù)量的限制問題。也可在緩存模塊中設(shè)置水線,以此作為數(shù)據(jù)類芯片系統(tǒng)輕載或重載、擁塞或非擁塞的判斷依據(jù),從而根據(jù)緩存模塊中的數(shù)據(jù)存儲(chǔ)量是否到達(dá)水線來決定是否關(guān)閉外掛DDR。具體地,如圖2所示,設(shè)置第一水線、第二水線、第三水線及第四水線。在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第一水線,將待寫入的數(shù)據(jù)存入所述數(shù)據(jù)類芯片內(nèi)增加的緩存模塊。之后,等待外掛DDR中的數(shù)據(jù)都被讀出。當(dāng)外掛DDR中的數(shù)據(jù)都被讀出后,關(guān)閉外掛DDR的電源。在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第二水線的情況下,打開所述外掛DDR的電源,并進(jìn)行初始化。啟動(dòng)所述外掛DDR之后還可包括在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第三水線的情況下,從所述緩存模塊中選擇數(shù)據(jù)量緩存最多的隊(duì)列;這樣的隊(duì)列也被稱為惡劣隊(duì)列。將選擇的隊(duì)列寫入所述外掛DDR。將惡劣隊(duì)列寫入外掛DDR能夠盡量降低寫入外掛DDR中的隊(duì)列數(shù),使得數(shù)據(jù)類芯片內(nèi)設(shè)置的緩存模塊能夠騰出足夠的空間緩存其他緩存需求少且調(diào)度快的隊(duì)列,可以使內(nèi)部緩存最大地被其他低擁塞的隊(duì)列所使用,有利于降低對(duì)外掛DDR的訪問頻率,也有利于進(jìn)一步降低數(shù)據(jù)類芯片系統(tǒng)功耗。并且,對(duì)于同一個(gè)隊(duì)列而言,在DDR中的緩存空間是Bank連續(xù)的,因而可以最大限度地利用DDR的帶寬。啟動(dòng)所述外掛DDR之后還可包括在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第四水線的情況下,執(zhí)行反壓操作,以避免上級(jí)模塊繼續(xù)寫入數(shù)據(jù)。將選擇的隊(duì)列寫入所述外掛DDR的過程,可包括將所述選擇的隊(duì)列中的數(shù)據(jù)按順序平均分配到所述外掛DDR的Bank中。如圖3所示,以3個(gè)隊(duì)列第一隊(duì)列、第二隊(duì)列、第三隊(duì)列及DDR中的3個(gè)Bank BankO,BankUBank2為例進(jìn)行說明。將第一隊(duì)列中的數(shù)據(jù)按順序依次寫到BankO的地址0、 1、6、7,Bankl的地址0、1、6、7及Bank2的地址0、1、6、7中;將第二隊(duì)列中的數(shù)據(jù)按順序依次寫到BankO的地址2、3、8、9,Bankl的地址2、3、8、9及Bank2的地址2、3、8、9中;將第三隊(duì)列中的數(shù)據(jù)按順序依次寫到BankO的地址4、5、10、ll,Bankl的地址4、5、10、11及Bank2的地址4、5、10、11中。這種方式不需要記錄每個(gè)存儲(chǔ)地址的Bank號(hào)信息,不會(huì)浪費(fèi)外掛DDR 的緩存空間,同時(shí)也可以完全規(guī)避寫入數(shù)據(jù)時(shí)外掛DDR的Bank沖突產(chǎn)生的帶寬浪費(fèi)。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。圖4為本發(fā)明實(shí)施例提供的數(shù)據(jù)類芯片系統(tǒng)的結(jié)構(gòu)示意圖。如圖4所示,數(shù)據(jù)類芯片系統(tǒng)包括DDRCTRL模塊41、BUFCTRL模塊42、芯片43及外掛DDR 44,BUFCTRL模塊42 與所述DDRCTRL模塊41相連,DDRCTRL模塊41與外掛DDR 44相連。DDRCTRL模塊41及 BUFCTRL模塊42都設(shè)置在芯片43內(nèi),BUFCTRL模塊42包括BUF_RAM及功耗控制模塊423, BUF RAM包括緩存模塊421及復(fù)用器(MUX 422)。寫控制模塊WR_CTRL及讀控制模塊RD_CTRL與BUF_RAM之間的接口 Wr_ddr 1、Rd_ ddr 1、TCAM與BUF_RAM之間的接口 Wr_ddr2、Rd_ddr2,類似已有的寫控制模塊WR_CTRL及讀控制模塊RD_CTRL與TCAM之間的接口。所述MUX 422及功耗控制模塊423與所述緩存模塊421相連。其中,功耗控制模塊423與DDR接口及TCAM之間為prwd_ddr信號(hào)線,prwd_ddr信號(hào)是指觸發(fā)DDR電源關(guān)閉 (PowerDown)的指示,主要用于控制系統(tǒng)功耗。圖5為本發(fā)明實(shí)施例提供的數(shù)據(jù)類芯片系統(tǒng)中功耗控制模塊的結(jié)構(gòu)示意圖,如圖 5所示,功耗控制模塊包括緩存寫入單元51、關(guān)閉單元52及啟動(dòng)單元53。緩存寫入單元51用于在數(shù)據(jù)類芯片系統(tǒng)輕載或非擁塞的情況下,將待寫入的數(shù)據(jù)存入所述數(shù)據(jù)類芯片內(nèi)增加的緩存模塊;關(guān)閉單元52用于在數(shù)據(jù)類芯片系統(tǒng)輕載或非擁塞的情況下,所述數(shù)據(jù)類芯片系統(tǒng)的外掛DDR中的數(shù)據(jù)全被讀出后,關(guān)閉外掛DDR ;啟動(dòng)單元53用于在所述數(shù)據(jù)類芯片系統(tǒng)重載或擁塞的情況下,啟動(dòng)所述外掛 DDR。所述關(guān)閉單元52可具體用于在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第一水線的情況下,將待寫入的數(shù)據(jù)存入所述數(shù)據(jù)類芯片內(nèi)增加的緩存模塊。所述啟動(dòng)單元53可具體用于在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第二水線的情況下,打開所述外掛DDR的電源,并進(jìn)行初始化。功耗控制模塊還可包括隊(duì)列選擇單元,用于在所述啟動(dòng)單元啟動(dòng)所述外掛DDR之后,在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第三水線的情況下,從所述緩存模塊中選擇數(shù)據(jù)量緩存最多的隊(duì)列;DDR寫入單元,用于將所述隊(duì)列選擇單元選擇的隊(duì)列寫入所述外掛DDR。所述DDR寫入單元可具體用于將所述選擇的隊(duì)列中的數(shù)據(jù)按順序平均分配到所述外掛DDR的Bank中。功耗控制模塊還可包括反壓?jiǎn)卧?,用于在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第四水線的情況下,執(zhí)行反壓操作。緩存模塊421可為RAM。BUFCTRL模塊42內(nèi)的共享式緩存RAM即緩存模塊421用于緩存接收到的數(shù)據(jù)信息。BUFCTRL模塊42內(nèi)的功耗控制模塊423用于在數(shù)據(jù)類芯片系統(tǒng)輕載或非擁塞條件下, 由于需要緩存的數(shù)據(jù)量較少,關(guān)閉外掛DDR緩存。此時(shí)所有的數(shù)據(jù)都存入片內(nèi)BUFCTRL模塊42的緩存模塊421中,調(diào)度發(fā)起的讀操作直接從緩存模塊421中讀出。其中,寫入緩存模塊421的數(shù)據(jù)可采用上述方法實(shí)施例中提到的共享式隊(duì)列管理的方式,詳見上述方法實(shí)施例中的說明。可如圖2所示,為BUFCTRL模塊42中的緩存模塊421設(shè)置水線,其中第四水線用于產(chǎn)生極端條件下的反壓需求,第二水線用于觸發(fā)BUFCTRL模塊42啟動(dòng)外掛DDR,還可以再設(shè)置第三水線向外掛DDR發(fā)起寫請(qǐng)求的水線。如在重載或是擁塞條件下,或者在緩存模塊 421中的數(shù)據(jù)存儲(chǔ)量達(dá)到第一水線的情況下,功耗控制模塊423邏輯自動(dòng)啟動(dòng)外掛DDR,準(zhǔn)備將部分片內(nèi)緩存的數(shù)據(jù)寫入到外掛DDR中。當(dāng)緩存模塊421采用共享式隊(duì)列管理的方式緩存數(shù)據(jù)時(shí),功耗控制模塊423可根據(jù)隊(duì)列特點(diǎn)將數(shù)據(jù)按照外掛DDR的地址Bank訪問特點(diǎn)的方式進(jìn)行組合,如將每個(gè)隊(duì)列中的數(shù)據(jù)按順序排布到八個(gè)Bank中,則當(dāng)從緩存模塊移除出一個(gè)隊(duì)列到外掛DDR時(shí),可以不通過復(fù)制Bank存儲(chǔ)地址空間的方式,即可完全規(guī)避DDR讀寫B(tài)ank沖突的問題。并且在一定程度上,有利于提高讀帶寬利用率。如詳見上述圖3所示實(shí)施例的說明。當(dāng)外掛DDR中將所有隊(duì)列的數(shù)據(jù)都按順序平均連續(xù)地分配到8個(gè)Bank中時(shí),對(duì)于每個(gè)隊(duì)列連續(xù)的多個(gè)數(shù)據(jù)寫入到DDR中,肯定屬于多個(gè)Bank的連續(xù)寫入。將每個(gè)隊(duì)列連續(xù)寫入DDR的粒度變大到一定程度時(shí),如8個(gè)Cell連續(xù)一起寫入,則可以完全規(guī)避寫DDR的Bank沖突產(chǎn)生的帶寬浪費(fèi)。當(dāng)被選擇寫入DDR的隊(duì)列是數(shù)據(jù)類芯片內(nèi)數(shù)據(jù)量緩存最多的隊(duì)列時(shí),可以盡量降低寫入外掛DDR中的隊(duì)列數(shù),使得緩存模塊421能夠騰出足夠的空間緩存其他緩存需求少調(diào)度快的隊(duì)列,有利于降低對(duì)DDR外掛的訪問頻率,從而也有利于降低系統(tǒng)功耗。由于 BUFCTRL模塊42的輸入和輸出帶寬一致,所以正常情況下,數(shù)據(jù)類芯片系統(tǒng)完全可以限速, 而不會(huì)出現(xiàn)緩存模塊421滿反壓的情況。當(dāng)數(shù)據(jù)類芯片啟動(dòng)外掛DDR后經(jīng)過一段時(shí)間再次處于輕載條件下時(shí),系統(tǒng)將逐漸將外掛DDR緩存中的數(shù)據(jù)調(diào)度完,此時(shí)緩存模塊421中的數(shù)據(jù)量又低于第一水線的條件下, 內(nèi)部邏輯即功耗控制模塊423觸發(fā)關(guān)閉外掛DDR緩存,從而降低整個(gè)系統(tǒng)功耗。由于數(shù)據(jù)類芯片系統(tǒng)按照隊(duì)列逐步將數(shù)據(jù)轉(zhuǎn)移到外掛DDR,因此如果需要向片外 DDR請(qǐng)求數(shù)據(jù),則讀請(qǐng)求采用連續(xù)請(qǐng)求的概率增大很多,并且可以考慮通過預(yù)取的方式,人為制造同一隊(duì)列連續(xù)請(qǐng)求的情況,從而有效地利用DDR的讀訪問帶寬。通常,數(shù)據(jù)類芯片外掛DDR時(shí)接口部分如圖6所示,通過DDRCTRL模塊將數(shù)據(jù)寫入或讀出DDR接口連接的外掛DDR。為了解決DDR帶寬利用率很低的問題,一般采用對(duì)外掛 DDR進(jìn)行連讀連寫操作,以規(guī)避DDR在一段時(shí)間內(nèi)不能連續(xù)兩次訪問同一個(gè)Bank的問題, 充分利用DDR緩存空間較大的特點(diǎn),利用緩存空間換帶寬。具體地,只使用外掛DDR中的一個(gè)Bank存儲(chǔ)數(shù)據(jù),其他7Bank用于備份BankO中存儲(chǔ)的數(shù)據(jù)。這樣,如圖7所示,對(duì)于任何時(shí)候?qū)懭肴魏蔚刂返臄?shù)據(jù)都可以寫入8個(gè)Bank中的任意一個(gè)Bank,從而保證數(shù)據(jù)寫入DDR 中不會(huì)發(fā)生Bank沖突的問題。但是,為了記錄數(shù)據(jù)最終被存儲(chǔ)到哪一個(gè)Bank中,需要為每個(gè)地址空間記錄一個(gè)Bank號(hào)地址導(dǎo)致了片內(nèi)RAM需要使用一部分空間用于緩存Bank復(fù)制的記錄信息而產(chǎn)生的浪費(fèi)。讀調(diào)度時(shí)根據(jù)相應(yīng)地址有效的Bank號(hào)來選擇Bank,讀出有效數(shù)據(jù)。由于讀數(shù)據(jù)的隨機(jī)性,因而可能存在Bank沖突的問題,易造成外掛DDR的帶寬損失。上述方法及芯片系統(tǒng),通過增加的緩存模塊實(shí)現(xiàn)了二級(jí)緩存,并在輕載條件下或擁塞情況較輕或非擁塞的條件下,關(guān)閉外掛DDR緩存,不僅有效地降低了系統(tǒng)功耗,而且避免了目前通過TCAM匹配做二級(jí)緩存導(dǎo)致的資源瓶頸。進(jìn)一步地,緩存模塊內(nèi)采用共享式隊(duì)列管理方式,極大地降低了對(duì)外部緩存DDR的訪問頻率。并且,通過接拼信息的方式即通過將每個(gè)隊(duì)列中的數(shù)據(jù)按序連續(xù)存入DDR的8個(gè)Bank的方式提高DDR訪問粒度,有效地提高了 DDR整體的讀寫帶寬利用率,降低了極端情況下的帶寬風(fēng)險(xiǎn),提高了數(shù)據(jù)類芯片系統(tǒng)的穩(wěn)定性,且原DDR存儲(chǔ)空間備份所需要的紀(jì)錄Bank信息的資源呈指數(shù)級(jí)降低,相對(duì)于DDR 中需要消耗一部分RAM用于緩存Bank復(fù)制的記錄信息的Bank復(fù)制的方式,提高了片內(nèi)RAM 資源利用率,指數(shù)級(jí)降低甚至消除現(xiàn)有技術(shù)中存在的DDR存儲(chǔ)空間的浪費(fèi)。
最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種降低數(shù)據(jù)類芯片外掛DDR功耗的方法,其特征在于,包括在數(shù)據(jù)類芯片系統(tǒng)輕載或非擁塞的情況下,將待寫入的數(shù)據(jù)存入所述數(shù)據(jù)類芯片內(nèi)增加的緩存模塊;在所述數(shù)據(jù)類芯片系統(tǒng)重載或擁塞的情況下,啟動(dòng)所述外掛DDR,且當(dāng)所述數(shù)據(jù)類芯片系統(tǒng)的外掛DDR中的數(shù)據(jù)全被讀出后,關(guān)閉所述外掛DDR。
2.根據(jù)權(quán)利要求1所述的降低數(shù)據(jù)類芯片外掛DDR功耗的方法,其特征在于,所述緩存模塊采用共享式隊(duì)列管理的方式存儲(chǔ)數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的降低數(shù)據(jù)類芯片外掛DDR功耗的方法,其特征在于,在數(shù)據(jù)類芯片系統(tǒng)輕載或非擁塞的情況下,將待寫入的數(shù)據(jù)存入所述數(shù)據(jù)類芯片內(nèi)增加的緩存模塊的過程,包括在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第一水線的情況下,將待寫入的數(shù)據(jù)存入所述數(shù)據(jù)類芯片內(nèi)增加的緩存模塊。
4.根據(jù)權(quán)利要求1所述的降低數(shù)據(jù)類芯片外掛DDR功耗的方法,其特征在于,在所述數(shù)據(jù)類芯片系統(tǒng)重載或擁塞的情況下,啟動(dòng)所述外掛DDR的過程,包括在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第二水線的情況下,打開所述外掛DDR的電源, 并進(jìn)行初始化。
5.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的降低數(shù)據(jù)類芯片外掛DDR功耗的方法,其特征在于, 啟動(dòng)所述外掛DDR之后還包括在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第三水線的情況下,從所述緩存模塊中選擇數(shù)據(jù)量緩存最多的隊(duì)列;將選擇的隊(duì)列寫入所述外掛DDR。
6.根據(jù)權(quán)利要求5所述的降低數(shù)據(jù)類芯片外掛DDR功耗的方法,其特征在于,將選擇的隊(duì)列寫入所述外掛DDR的過程,包括將所述選擇的隊(duì)列中的數(shù)據(jù)按順序平均分配到所述外掛DDR的Bank中。
7.根據(jù)權(quán)利要求5所述的降低數(shù)據(jù)類芯片外掛DDR功耗的方法,其特征在于,啟動(dòng)所述外掛DDR之后還包括在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第四水線的情況下,執(zhí)行反壓操作。
8.一種數(shù)據(jù)類芯片系統(tǒng),包括DDRCTRL模塊、芯片以及與所述DDRCTRL模塊相連的外掛 DDR,其特征在于,所述芯片中設(shè)有與所述DDRCTRL模塊相連的BUFCTRL模塊,所述BUFCRTL 模塊包括緩存模塊及與所述緩存模塊相連的功耗控制模塊,所述功耗控制模塊包括緩存寫入單元,用于在數(shù)據(jù)類芯片系統(tǒng)輕載或非擁塞的情況下,將待寫入的數(shù)據(jù)存入所述緩存模塊;關(guān)閉單元,用于在數(shù)據(jù)類芯片系統(tǒng)輕載或非擁塞的情況下,所述外掛DDR中的數(shù)據(jù)全被讀出后,關(guān)閉所述外掛DDR;啟動(dòng)單元,用于在所述數(shù)據(jù)類芯片系統(tǒng)重載或擁塞的情況下,啟動(dòng)所述外掛DDR。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)類芯片系統(tǒng),其特征在于,所述緩存模塊為RAM。
10.根據(jù)權(quán)利要求8所述的數(shù)據(jù)類芯片系統(tǒng),其特征在于,所述緩存寫入單元具體用于在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第一水線的情況下,將待寫入的數(shù)據(jù)存入所述數(shù)據(jù)類芯片內(nèi)增加的緩存模塊。
11.根據(jù)權(quán)利要求8所述的數(shù)據(jù)類芯片系統(tǒng),其特征在于,所述啟動(dòng)單元具體用于在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第二水線的情況下,打開所述外掛DDR的電源,并進(jìn)行初始化。
12.根據(jù)權(quán)利要求8-11任一項(xiàng)所述的數(shù)據(jù)類芯片系統(tǒng),其特征在于,還包括隊(duì)列選擇單元,用于在所述啟動(dòng)單元啟動(dòng)所述外掛DDR之后,在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第三水線的情況下,從所述緩存模塊中選擇數(shù)據(jù)量緩存最多的隊(duì)列; DDR寫入單元,用于將所述隊(duì)列選擇單元選擇的隊(duì)列寫入所述外掛DDR。
13.根據(jù)權(quán)利要求12所述的數(shù)據(jù)類芯片系統(tǒng),其特征在于,所述DDR寫入單元具體用于將所述選擇的隊(duì)列中的數(shù)據(jù)按順序平均分配到所述外掛DDR的Bank中。
14.根據(jù)權(quán)利要求12所述的數(shù)據(jù)類芯片系統(tǒng),其特征在于,還包括反壓?jiǎn)卧?,用于在所述緩存模塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到第四水線的情況下,執(zhí)行反壓操
全文摘要
本發(fā)明涉及一種降低數(shù)據(jù)類芯片外掛DDR功耗的方法及數(shù)據(jù)類芯片系統(tǒng),方法包括在數(shù)據(jù)類芯片系統(tǒng)輕載或非擁塞的情況下,將待寫入的數(shù)據(jù)存入所述數(shù)據(jù)類芯片內(nèi)增加的緩存模塊;在所述數(shù)據(jù)類芯片系統(tǒng)重載或擁塞的情況下,啟動(dòng)所述外掛DDR,且當(dāng)所述數(shù)據(jù)類芯片系統(tǒng)的外掛DDR中的數(shù)據(jù)全被讀出后,關(guān)閉所述外掛DDR。使得數(shù)據(jù)類芯片在能夠正常運(yùn)行的前提下盡可能地關(guān)閉外掛DDR,降低了數(shù)據(jù)類芯片的外掛DDR功耗。
文檔編號(hào)G06F1/32GK102439534SQ201180002329
公開日2012年5月2日 申請(qǐng)日期2011年10月25日 優(yōu)先權(quán)日2011年10月25日
發(fā)明者張紅標(biāo) 申請(qǐng)人:華為技術(shù)有限公司