一種基于分塊dram的低功耗刷新方法
【專(zhuān)利摘要】本發(fā)明提供了一種基于分塊DRAM的低功耗刷新方法,包括當(dāng)所述DRAM處于繁忙狀態(tài)時(shí),所述DRAM的刷新周期為T(mén)_refresh0;當(dāng)所述DRAM處于非繁忙狀態(tài)時(shí),選取所述DRAM芯片中N個(gè)塊的某一保持時(shí)間T_refresh1,所述T_refresh1大于T_refresh0,在保持時(shí)間T_refresh1下,存在最差存儲(chǔ)單元的L個(gè)塊分別記作塊L_0,塊L_1,……,塊L_L-1(0<L≤N)。關(guān)閉所述DRAM芯片中的L個(gè)塊,將剩余N-L個(gè)塊的刷新周期時(shí)間可以提升至T_refresh1。本發(fā)明的技術(shù)方案能夠有效提高所述分塊DRAM的刷新周期,大大降低了刷新功耗,并且基本不影響DRAM的性能。
【專(zhuān)利說(shuō)明】—種基于分塊DRAM的低功耗刷新方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)硬件領(lǐng)域,涉及一種內(nèi)存條刷新方法,尤其涉及一種基于分塊DRAM的低功耗刷新方法。
【背景技術(shù)】
[0002]隨著特征尺寸越來(lái)越小,動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DRAM)芯片對(duì)功耗的要求越來(lái)越高。由于DRAM存儲(chǔ)電容漏電因此每隔一段時(shí)間就必須刷新一次,隨著DRAM容量越來(lái)越大,刷新功耗也越來(lái)越大,如圖1所示。刷新操作不僅耗電,而且由于干涉到存儲(chǔ)器存取因此DRAM性能也會(huì)下降。目前DRAM刷新頻率是由最差存儲(chǔ)單元(tail bit)所決定的,例如64ms,存儲(chǔ)單元保持時(shí)間分布如圖2所示,圖中可以看出絕大數(shù)單元的保持?jǐn)?shù)據(jù)的能力是遠(yuǎn)比刷新周期要長(zhǎng)的。并且隨著溫度升高,刷新頻率也會(huì)上升。因此如何降低刷新功耗、降低刷新頻率是提高DRAM性能亟需解決的問(wèn)題。
[0003]一種局部陣列刷新技術(shù)如圖3所示,假設(shè)DRAM正常工作時(shí)有四個(gè)塊,并都正常運(yùn)行。如果DRAM長(zhǎng)期不被存取,那么就會(huì)造成功耗的浪費(fèi)。這種情況下,如果塊2和塊3中的數(shù)據(jù)無(wú)需繼續(xù)保持,那么將不會(huì)對(duì)塊2和塊3進(jìn)行刷新,僅僅刷新塊O和塊I。如果DRAM還是長(zhǎng)時(shí)間無(wú)存取操作,那么也使塊I刷新無(wú)效,僅僅刷新塊O。這種局部陣列刷新技術(shù)能夠有效降低DRAM運(yùn)行過(guò)程中的刷新功耗。但并未考慮最差存儲(chǔ)單元分布,功耗降低也是有限的。
[0004]一種基于數(shù)據(jù)保持時(shí)間的DRAM智能刷新技術(shù)是將DRAM行根據(jù)數(shù)據(jù)保持時(shí)間的不同分成不同的組,對(duì)每一個(gè)組以不同的刷新頻率進(jìn)行刷新。那些包含最差存儲(chǔ)單元的組以正常刷新頻率刷新,而絕大部分的行刷新頻率大大降低,無(wú)需對(duì)DRAM陣列進(jìn)行修正,只需對(duì)DRAM控制器進(jìn)行最小限度的修正。資料顯示在32GB DRAM的八核系統(tǒng)中,刷新頻率能夠降低74.6%,平均DRAM功耗可降低16.1%。雖然這種方法考慮了最差存儲(chǔ)單元,但是不論DRAM是否繁忙,包含最差存儲(chǔ)單元的行仍需要以正常刷新頻率進(jìn)行刷新。
[0005]近來(lái),一些新型的DRAM結(jié)構(gòu)或者存儲(chǔ)材料被提出來(lái)以解決當(dāng)前DRAM技術(shù)的缺陷。IBM公司主張用非易失性存儲(chǔ)器相變存儲(chǔ)器(PCM)與DRAM結(jié)合形成一種混合存儲(chǔ)器。其結(jié)構(gòu)如圖4所示。DRAM只作為高速緩存器,緩存最近使用的信息,只有在需要時(shí)才將數(shù)據(jù)存儲(chǔ)到PCM中。由于DRAM只是作為緩存,容量不需要很大,PCM作為主存儲(chǔ)介質(zhì)在存儲(chǔ)數(shù)據(jù)時(shí)無(wú)需定時(shí)刷新,因此這種結(jié)構(gòu)能夠大大降低數(shù)據(jù)存儲(chǔ)的功耗,但是由于PCM存儲(chǔ)與存取速度較慢,因此這種結(jié)構(gòu)在整體性能上明顯下降。另一種混合存儲(chǔ)結(jié)構(gòu)如圖5所示,其中
(5)為非易失性存儲(chǔ)器,(7)為邏輯檢測(cè)模塊。利用非易失性存儲(chǔ)器(5)中的存儲(chǔ)單元替代原DRAM主存儲(chǔ)器(2)中位于尾端分布區(qū)的存儲(chǔ)單元,從而可以大大提高刷新周期,降低刷新頻率,極大地降低了原DRAM刷新功耗。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本發(fā)明考慮最差存儲(chǔ)單元信息,能夠在DRAM非繁忙時(shí)根據(jù)最差存儲(chǔ)單元信息使一些存儲(chǔ)塊無(wú)效,提高有效塊的刷新周期,進(jìn)一步降低DRAM刷新功耗。
[0007]為達(dá)到上述目的,具體技術(shù)方案如下:
[0008]一種基于分塊DRAM的低功耗刷新方法,所述DRAM芯片包括N個(gè)可以獨(dú)立進(jìn)行周期刷新操作的塊,所述NS 1,所述N個(gè)塊均具有相對(duì)應(yīng)的最差存儲(chǔ)單元和保持時(shí)間,包括以下步驟:
[0009]步驟1,當(dāng)所述DRAM處于繁忙狀態(tài)時(shí),所述DRAM的刷新周期為T(mén)_refreshO ;
[0010]步驟2,當(dāng)所述DRAM處于非繁忙狀態(tài)時(shí),選取所述DRAM芯片中N個(gè)塊的某一保持時(shí)間T_refreshl,所述T_refreshl大于T_refreshO,在保持時(shí)間T_refreshl下,存在最差存儲(chǔ)單元的L個(gè)塊分別記作塊L_0,塊L_l,……,塊L_L-1 (0〈L ( N);
[0011]步驟3,關(guān)閉所述DRAM芯片中的L個(gè)塊。
[0012]優(yōu)選的,所述步驟3中還包括將剩余N-L個(gè)塊的刷新時(shí)間可以提升至T_refreshl。
[0013]優(yōu)選的,所述L個(gè)塊是連續(xù)分布或離散分布的。
[0014]優(yōu)選的,當(dāng)對(duì)所述DRAM存取功耗接近或小于所述DRAM自身刷新功耗,那么所述DRAM處于非繁忙狀態(tài)。
[0015]優(yōu)選的,開(kāi)啟或者關(guān)閉所述DRAM芯片中的塊以及關(guān)閉塊的數(shù)量是由操作系統(tǒng)發(fā)送配置信息至所述DRAM芯片完 成的。
[0016]優(yōu)選的,所述DRAM中還包括非易失性存儲(chǔ)器模塊。
[0017]優(yōu)選的,所述步驟2為當(dāng)所述DRAM處于非繁忙狀態(tài)時(shí),在某一保持時(shí)間T_refresh2下最差存儲(chǔ)單元數(shù)最多的L個(gè)塊(0〈L ( N)分別記作塊L_0,塊L_l,……,塊L_L-1,所述 T_refresh2 > T_refreshl > T_refreshO。
[0018]優(yōu)選的,所述步驟3中還包括將剩余N-L個(gè)塊中保持時(shí)間低于T_refresh2的DRAM存儲(chǔ)單元轉(zhuǎn)存至非易失性存儲(chǔ)器中,重新配置所述DRAM的刷新周期為T(mén)_refresh2。
[0019]優(yōu)選的,所述T_refreshl或T_refresh2的選取是在所述DRAM刷新功耗和所述DRAM性能上的折中。
[0020]相對(duì)于現(xiàn)有技術(shù),本發(fā)明的技術(shù)方案的優(yōu)點(diǎn)有:
[0021]本發(fā)明的技術(shù)方案考慮了最差存儲(chǔ)單元的分塊DRAM在低功耗刷新模式下能夠有效提高刷新周期,大大降低了刷新功耗,并且基本不影響DRAM的性能。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0022]構(gòu)成本發(fā)明的一部分的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0023]圖1刷新功耗隨著DRAM容量變化示意圖;
[0024]圖2是DRAM中存儲(chǔ)單元保持時(shí)間示意圖;
[0025]圖3是分塊DRAM結(jié)構(gòu)示意圖;
[0026]圖4是IBM混合存儲(chǔ)器結(jié)構(gòu)示意圖;
[0027]圖5是基于最差存儲(chǔ)單兀的混合DRAM結(jié)構(gòu)不意圖;
[0028]圖6是本發(fā)明實(shí)施例的DRAM分塊結(jié)構(gòu);
[0029]圖7是本發(fā)明實(shí)施例芯片之間和某DRAM芯片中各個(gè)DRAM塊之間最差存儲(chǔ)單元數(shù)與數(shù)據(jù)保持時(shí)間變化示意圖;[0030]圖8是本發(fā)明實(shí)施例DRAM各個(gè)塊中最差存儲(chǔ)單元數(shù)隨數(shù)據(jù)保持時(shí)間變化示意圖;
[0031]圖9是本發(fā)明實(shí)施例DRAM各個(gè)塊中最差存儲(chǔ)單元數(shù)隨數(shù)據(jù)保持時(shí)間變化另一示意圖;
[0032]圖10是本發(fā)明實(shí)施例1的DRAM結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0033]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0034]需要說(shuō)明的是,在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0035]以下將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例做具體闡釋。
[0036]內(nèi)存條內(nèi)有若干個(gè)DRAM芯片,如圖6_A所示(圖中一個(gè)內(nèi)存條包含8個(gè)DRAM芯片),每一個(gè)芯片又可以分為若干個(gè)塊,如6-B所示(圖中一個(gè)DRAM芯片分為了 N個(gè)DRAM塊。芯片與芯片之間的最差存儲(chǔ)單元的分布基本一致,如圖7-A所示的曲線變化;而在每個(gè)DRAM芯片內(nèi),塊與塊中的最差存儲(chǔ)單元的分布差異會(huì)很大,例如圖7-B所示。
[0037]基于以上分析,本發(fā)明實(shí)施例的一種基于分塊DRAM的低功耗刷新方法如下所述。如圖6-B所示,一個(gè)DRAM芯片分為N個(gè)塊,每個(gè)塊都可以獨(dú)立進(jìn)行周期刷新操作。假設(shè)DRAM一開(kāi)始運(yùn)行在繁忙狀態(tài),所有塊均使能和正常工作,并以DRAM使用手冊(cè)上規(guī)定的刷新周期T_refreshO進(jìn)行刷新(比如64ms),此時(shí)對(duì)DRAM的刷新功耗非主要功耗,此時(shí)DRAM芯片即工作在常規(guī)刷新模式下。
[0038]若在某一時(shí)刻,對(duì)DRAM存取功耗接近甚至小于DRAM自身刷新功耗,那么DRAM處于非繁忙狀態(tài)。一旦檢測(cè)到DRAM芯片運(yùn)行在非繁忙狀態(tài),那么可以關(guān)閉該DRAM芯片中的L個(gè)塊(0〈L ( N),同時(shí)可以提高剩余N-L個(gè)DRAM塊的刷新周期,從而降低功耗,如圖6-C所示。被關(guān)閉的L個(gè)塊的選擇方法可如下所描述。假設(shè)各個(gè)存儲(chǔ)塊中的最差存儲(chǔ)單元數(shù)隨數(shù)據(jù)保持時(shí)間的變化趨勢(shì)如圖8所示,在保持時(shí)間T_refreshl下,已經(jīng)存在最差存儲(chǔ)單元的L個(gè)DRAM塊分別記作塊L_0,塊L_l,……,塊L_L_1,這L個(gè)DRAM塊可以是連續(xù)分布的,也可以是離散分布的。
[0039]在低功耗刷新模式下,可以關(guān)閉這L個(gè)DRAM ±夾,并且剩余N-L個(gè)存儲(chǔ)單元的刷新時(shí)間可以提升至T_refreshl,從而進(jìn)一步降低刷新功耗。
[0040]如果在某一時(shí)刻檢測(cè)到DRAM芯片重新回到繁忙狀態(tài),那么重新使這L個(gè)被關(guān)閉的DRAM塊開(kāi)啟,并且所有塊的刷新周期重新配置為T(mén)_refresh0,該DRAM芯片返回常規(guī)刷新模式。
[0041]開(kāi)啟或者關(guān)閉DRAM芯片中的哪些DRAM塊以及關(guān)閉幾個(gè)DRAM塊是由操作系統(tǒng)發(fā)送配置信息至DRAM芯片完成的,傳統(tǒng)方式關(guān)閉若干DRAM塊的方式是固定不變的,例如圖3中4個(gè)塊DRAM芯片,在低功耗刷新模式下,可以關(guān)閉兩個(gè)塊,即塊3和塊2,若DRAM長(zhǎng)期不被存取,可以再關(guān)閉塊1,只開(kāi)啟塊O。而本發(fā)明根據(jù)各個(gè)DRAM塊中最差存儲(chǔ)單元的分布可以擇優(yōu)選取關(guān)閉某些塊,并可以在一定程度上提高剩余開(kāi)啟塊的刷新周期,從而可以進(jìn)一步降低功耗。
[0042]本發(fā)明上述低功耗刷新方式中新的刷新周期T_refreShl依賴(lài)最差存儲(chǔ)單元的分布,因此刷新周期的提高也非常有限,刷新功耗的降低也是很有限。如果DRAM系統(tǒng)中含有非易失性存儲(chǔ)器模塊,DRAM結(jié)構(gòu)如圖5所示,那么在低功耗模式下可進(jìn)一步提高刷新周期,降低刷新功耗。假設(shè)N個(gè)塊中的最差存儲(chǔ)單元數(shù)隨保持時(shí)間的變化如圖9所示,在數(shù)據(jù)保持時(shí)間T_refresh2下最差存儲(chǔ)單元數(shù)最多的L個(gè)(0〈L ( N)塊分別記作塊L_0j^L_l,……,塊L_L-1,這L個(gè)塊可以是連續(xù)分布的,也可以是離散分布的。
[0043]在某一時(shí)刻,DRAM進(jìn)入非繁忙狀態(tài),那么DRAM可以關(guān)閉這L個(gè)塊,只開(kāi)啟剩余N-L個(gè)塊;在低功耗刷新模式下,將剩余N-L個(gè)塊中保持時(shí)間低于T_refresh2的最差存儲(chǔ)單元轉(zhuǎn)存至非易失性存儲(chǔ)器中,配置新的刷新周期為T(mén)_refresh2。顯然T_refresh2遠(yuǎn)大于T_refreshl和T_refreshO,刷新周期大大提高,刷新功耗也大大降低。
[0044]T_refresh2的選取是在DRAM刷新功耗和DRAM性能上的折中。T_refresh2越大,刷新功耗也就越低,同時(shí)剩余N-L個(gè)塊中的最差存儲(chǔ)單元也就越多,需要轉(zhuǎn)存至非易失性存儲(chǔ)器中的存儲(chǔ)單元也就越多,替換功耗也會(huì)增多,由于對(duì)非易失性存儲(chǔ)器的存取性能不及對(duì)原DRAM塊的存取性能,原DRAM中被替換的存儲(chǔ)單元增多會(huì)導(dǎo)致混合DRAM存取性能有所下降。因此選取合適的刷新周期T_refresh2,混合DRAM也能達(dá)到良好存取性能。如果在某一時(shí)刻DRAM重新運(yùn)行在繁忙狀態(tài),那么將非易失性存儲(chǔ)器中的數(shù)據(jù)寫(xiě)回DRAM中的指定塊的指定地址,重新開(kāi)啟所有塊,配置刷新周期為T(mén)_refresh0,DRAM運(yùn)行在常規(guī)刷新模式下。
[0045]從上述描述 可以看出,在考慮最差存儲(chǔ)單元的情況下,本發(fā)明基于分塊DRAM的低功耗刷新技術(shù)能夠有效提高刷新周期,從而降低刷新功耗。如果DRAM中包含非易失性存儲(chǔ)器,那么可以更進(jìn)一步提高刷新周期,大大降低刷新功耗。
[0046]下面列舉實(shí)施例1進(jìn)一步闡述。
[0047]假設(shè)DRAM芯片有8個(gè)塊,分別從塊O至塊7,DRAM最短刷新周期T_refreshO為64msο在各個(gè)數(shù)據(jù)保持時(shí)間段內(nèi)的最差存儲(chǔ)單元數(shù)如表1所示。例如塊2在256ms刷新周期下無(wú)最差存儲(chǔ)單元,即塊2中所有存儲(chǔ)單元的保持時(shí)間均大于256ms,在刷新周期為Is的情況下有(5+15=20)個(gè)最差存儲(chǔ)單元。通過(guò)統(tǒng)計(jì)可知在512ms下塊O至塊7的最差存儲(chǔ)單元分另Ij為45,55,5,10,20,35,O,O。從大到小為排列分別為塊I,塊O,塊5,塊4,塊3,塊2,塊6和塊7。
[0048]表1:
[0049]
【權(quán)利要求】
1.一種基于分塊DRAM的低功耗刷新方法,所述DRAM芯片包括N個(gè)可以獨(dú)立進(jìn)行周期刷新操作的塊,所述N > 1,所述N個(gè)塊均具有相對(duì)應(yīng)的最差存儲(chǔ)單元和保持時(shí)間,其特征在于,包括以下步驟:步驟1,當(dāng)所述DRAM處于繁忙狀態(tài)時(shí),所述DRAM的刷新周期為T(mén)_refreshO ; 步驟2,當(dāng)所述DRAM處于非繁忙狀態(tài)時(shí),選取所述DRAM芯片中N個(gè)塊的某一保持時(shí)間T_refreshl,所述T_refreshl大于T_refreshO,在保持時(shí)間T_refreshl下,存在最差存儲(chǔ)單元的L個(gè)塊分別記作塊L_0,塊L_l,……,塊L_L-1 (0〈L ( N); 步驟3,關(guān)閉所述DRAM芯片中的L個(gè)塊。
2.如權(quán)利要求1所述的基于分塊DRAM的低功耗刷新方法,其特征在于,所述步驟3中還包括將剩余N-L個(gè)塊的刷新時(shí)間可以提升至T_refreshl。
3.如權(quán)利要求2所述的基于分塊DRAM的低功耗刷新方法,其特征在于,所述L個(gè)塊是連續(xù)分布或離散分布的。
4.如權(quán)利要求3所述的基于分塊DRAM的低功耗刷新方法,其特征在于,當(dāng)對(duì)所述DRAM存取功耗接近或小于所述DRAM自身刷新功耗,那么所述DRAM處于非繁忙狀態(tài)。
5.如權(quán)利要求4所述的基于分塊DRAM的低功耗刷新方法,其特征在于,開(kāi)啟或者關(guān)閉所述DRAM芯片中的塊以及關(guān)閉塊的數(shù)量是由操作系統(tǒng)發(fā)送配置信息至所述DRAM芯片完成的。
6.如權(quán)利要求1所述的基于分塊DRAM的低功耗刷新方法,其特征在于,所述DRAM中還包括非易失性存儲(chǔ)器模塊。
7.如權(quán)利要求6所述的基于分塊DRAM的低功耗刷新方法,其特征在于,所述步驟2為當(dāng)所述DRAM處于非繁忙狀態(tài)時(shí),在某一保持時(shí)間T_refresh2下最差存儲(chǔ)單元數(shù)最多的L個(gè)塊(0〈L ( N)分別記作塊 L_0,塊 L_l,......,塊 L_L-1,所述 T_refresh2 > T_refreshl> T—refresh。。
8.如權(quán)利要求7所述的基于分塊DRAM的低功耗刷新方法,其特征在于,所述步驟3中還包括將剩余N-L個(gè)塊中保持時(shí)間低于T_refresh2的DRAM存儲(chǔ)單元轉(zhuǎn)存至非易失性存儲(chǔ)器中,重新配置所述DRAM的刷新周期為T(mén)_refresh2。
9.如權(quán)利要求8所述的基于分塊DRAM的低功耗刷新方法,其特征在于,所述T_refreshl或T_refresh2的選取是在所述DRAM刷新功耗和所述DRAM性能上的折中。
【文檔編號(hào)】G11C11/406GK103811047SQ201410053690
【公開(kāi)日】2014年5月21日 申請(qǐng)日期:2014年2月17日 優(yōu)先權(quán)日:2014年2月17日
【發(fā)明者】景蔚亮, 陳邦明 申請(qǐng)人:上海新儲(chǔ)集成電路有限公司