• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    大容量DRAM的刷新開銷問題及優(yōu)化技術(shù)綜述

    2016-07-31 23:32:23崔澤漢陳明宇
    關(guān)鍵詞:存儲(chǔ)單元功耗命令

    崔澤漢 陳明宇

    1(計(jì)算機(jī)體系結(jié)構(gòu)國(guó)家重點(diǎn)實(shí)驗(yàn)室(中國(guó)科學(xué)院計(jì)算技術(shù)研究所) 北京 100190)2(中國(guó)科學(xué)院大學(xué) 北京 100049)(cuizehan@ict.a(chǎn)c.cn)

    大容量DRAM的刷新開銷問題及優(yōu)化技術(shù)綜述

    崔澤漢1,2陳明宇1

    1(計(jì)算機(jī)體系結(jié)構(gòu)國(guó)家重點(diǎn)實(shí)驗(yàn)室(中國(guó)科學(xué)院計(jì)算技術(shù)研究所) 北京 100190)2(中國(guó)科學(xué)院大學(xué) 北京 100049)(cuizehan@ict.a(chǎn)c.cn)

    動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DRAM)具有速度快、密度高、成本低的優(yōu)勢(shì),被廣泛應(yīng)用于計(jì)算機(jī)的主存.DRAM采用電容作為存儲(chǔ)單元,電容電荷的多少表示數(shù)字“0”或“1”.由于存在漏電現(xiàn)象,電容里的電荷會(huì)緩慢流失,造成數(shù)據(jù)丟失.為保證數(shù)據(jù)正確性,DRAM采用周期性的刷新操作,在數(shù)據(jù)丟失前,把數(shù)據(jù)讀出然后重新寫入存儲(chǔ)單元.刷新操作會(huì)阻礙正常訪存的執(zhí)行,造成性能上的開銷;同時(shí)刷新操作會(huì)消耗額外的功耗,帶來功耗上的開銷.刷新的開銷與DRAM密度相關(guān):在過去,當(dāng)DRAM密度較小時(shí),需要刷新的存儲(chǔ)單元數(shù)較少,刷新開銷很小,并未引起關(guān)注;但是,隨著摩爾定律的發(fā)展,DRAM密度越來越大,目前已發(fā)展到千兆比特級(jí)別,其刷新周期并沒有改善,單位時(shí)間內(nèi)需要刷新的存儲(chǔ)單元數(shù)越來越多,從而使刷新帶來的性能和功耗開銷越來越嚴(yán)重.刷新問題目前得到了工業(yè)界和學(xué)術(shù)界的廣泛關(guān)注.首先介紹了目前DRAM的刷新方式和開銷,以及工業(yè)界已經(jīng)實(shí)現(xiàn)的一些改進(jìn);然后把工業(yè)界和學(xué)術(shù)界提出的眾多優(yōu)化方法分為“減輕刷新操作對(duì)訪存的阻塞”和“減少不必要的刷新操作”兩大類,分別進(jìn)行了分析和總結(jié);最后給出了關(guān)于智能刷新管理的總結(jié)和展望.

    主存;動(dòng)態(tài)隨機(jī)存儲(chǔ)器;刷新;性能;功耗;保持時(shí)間;不必要刷新

    DRAM具有速度快、密度高、成本低的特性,因此近幾十年來一直是計(jì)算機(jī)主存的首選.隨著摩爾定律的發(fā)展,處理器的頻率越來越高、核數(shù)越來越多,雖然DRAM的密度越來越高,但是其延遲、帶寬增長(zhǎng)卻很緩慢,越來越成為制約系統(tǒng)性能的瓶頸[1-2].與此同時(shí),隨著內(nèi)存容量需求的逐漸增大,DRAM占系統(tǒng)整體功耗的比例可達(dá)40%[3-4].

    圖1顯示了DRAM系統(tǒng)的層次結(jié)構(gòu),從頂層到底層包含Rank,Chip,Bank,Sub-array,MAT,Cell.一個(gè)Rank由多個(gè)Chip并列組成,同步工作,共同驅(qū)動(dòng)內(nèi)存總線.一個(gè)Chip內(nèi)部包含多個(gè)Bank,它們包含獨(dú)立的行地址譯碼器(row decoder)和感應(yīng)放大器(sense amplifier),可以并發(fā)訪問.通常認(rèn)為,Bank是DRAM完成獨(dú)立操作的最小單元.但事實(shí)上,每個(gè)Bank又可進(jìn)一步分割為很多Sub-array(縱向),每個(gè)Sub-array包含很多MAT(橫向).每個(gè)MAT有獨(dú)立的局部感應(yīng)放大器.一個(gè)典型的MAT包含512×512個(gè)Cell,即存儲(chǔ)單元.每個(gè)存儲(chǔ)單元由1個(gè)電容和1個(gè)晶體管組成:電容的電荷多少表示數(shù)字“1”或“0”;晶體管的柵極與字線(wordline)相連,由字線控制晶體管的導(dǎo)通;晶體管的漏極與位線(bitline)相連,導(dǎo)通時(shí)由位線表示單元里存儲(chǔ)的數(shù)據(jù).

    Fig.1 The hierarchy of DRAM system[5].圖1 DRAM系統(tǒng)的層次結(jié)構(gòu)[5]

    訪問DRAM時(shí),首先需要“激活”1行,即提供行地址,由行地址譯碼器選通1個(gè)Sub-array中的1行,使其字線電平拉高;與字線相連的所有存儲(chǔ)單元的晶體管打開,電容與位線連通,電容電荷流向位線,造成細(xì)微的電壓變動(dòng);每個(gè)Sub-array的局部感應(yīng)放大器可以感知到位線上的電壓變動(dòng),并將其驅(qū)動(dòng)到一定的高電平或低電平(與位線相連的電容也進(jìn)行了充?放電).當(dāng)局部感性放大器進(jìn)一步將數(shù)據(jù)驅(qū)動(dòng)到全局感應(yīng)放大器后,才能進(jìn)行“讀寫”,根據(jù)提供的列地址,從全局感應(yīng)放大器中選中相應(yīng)的數(shù)據(jù),進(jìn)行讀取或修改.在需要讀取另一行的數(shù)據(jù)前,需要對(duì)當(dāng)前行進(jìn)行“預(yù)充電”,拉低字線電平,關(guān)閉晶體管,使存儲(chǔ)單元與位線斷開,然后將位線電平驅(qū)動(dòng)到中間狀態(tài).

    DRAM數(shù)據(jù)能被正常讀取的關(guān)鍵在于上述激活過程中,電容電荷對(duì)位線造成的細(xì)微電壓變動(dòng)可以被感應(yīng)放大器識(shí)別.但是,由于電容存在漏電,電容電荷會(huì)隨著時(shí)間而流失,從而導(dǎo)致激活過程中的電壓變動(dòng)變小,直至不可識(shí)別.因此,DRAM需要被定期“刷新”,以補(bǔ)充流失的電荷,保證在激活過程中可以造成足夠顯著的電壓變動(dòng).

    刷新操作會(huì)阻礙正常訪存的執(zhí)行,造成性能上的開銷;同時(shí)刷新操作會(huì)消耗額外的功耗,帶來功耗上的開銷.在過去,DRAM密度較小,刷新造成的影響很小,因此并未受到關(guān)注.但是,隨著摩爾定律不斷發(fā)展,DRAM密度不斷增大[6],目前已達(dá)千兆比特的量級(jí),刷新造成的性能和功耗開銷指數(shù)增加,漸漸引起了工業(yè)界和學(xué)術(shù)界的重視.近年來,工業(yè)界的一些標(biāo)準(zhǔn)和學(xué)術(shù)界的一些研究工作都對(duì)刷新進(jìn)行了一些優(yōu)化,以減輕其性能和功耗開銷.本文標(biāo)題中的“大容量”即指目前千兆比特量級(jí)的DRAM,以及未來更高密度的DRAM,如無特殊說明,下文所述的DRAM都是指大容量DRAM.

    本文首先簡(jiǎn)介了目前DRAM刷新存在的問題以及工業(yè)界已經(jīng)提出的一些解決方案;然后把工業(yè)界和學(xué)術(shù)界的優(yōu)化方法分為“減輕刷新操作對(duì)訪存的阻塞”和“減少不必要的刷新操作”兩大類,進(jìn)行了分析和總結(jié);最后給出了關(guān)于DRAM刷新的研究展望.

    1 DRAM刷新現(xiàn)狀

    1.1 刷新要求

    以JEDEC①DDRx規(guī)范[7-10]為例,要求在常溫下每64ms(高溫下為32ms)刷新一遍所有DRAM存儲(chǔ)單元.DDRx規(guī)范定義了一種刷新方式AR(auto refresh),為了簡(jiǎn)化DRAM控制器設(shè)計(jì),使其方便支持不同類型的DRAM芯片,DRAM控制器只需在每個(gè)刷新周期(比如64ms)內(nèi)向每個(gè)Rank發(fā)送8 192個(gè)刷新命令,由DRAM芯片內(nèi)部維護(hù)刷新的行指針,并根據(jù)自身密度決定要刷新的行數(shù).DRAM控制器發(fā)送2個(gè)刷新命令之間的間隔為刷新周期的1?8192,定義為tREFI;DRAM芯片執(zhí)行1個(gè)刷新命令的時(shí)間取決于DRAM芯片的密度,定義為tRFC.表1列出了DDR3DRAM在常溫(85℃以下)?高溫(85℃~95℃)下的刷新參數(shù),在高溫下刷新周期減半為32ms,相應(yīng)的刷新間隔tREFI也減半.隨著DRAM密度增大,其行大小保持不變,而總行數(shù)增多,因此每個(gè)間隔內(nèi)需要刷新的行數(shù)增多,導(dǎo)致tRFC不斷增大,刷新所占的時(shí)間比例tRFC?tREFI不斷增大.

    Table 1 Parameters of DDR3DRAM AR(Normal?Extended Temperature)表1 DDR3DRAM AR參數(shù)(常溫?高溫)

    JEDEC協(xié)議只是規(guī)定了刷新時(shí)間,但并沒有規(guī)定刷新操作具體如何實(shí)現(xiàn).以4Gb DDR3DRAM為例,要求300ns內(nèi)完成對(duì)64行(8個(gè)Bank,每個(gè)Bank刷新8行)的刷新操作.本文在接下來的章節(jié)中先介紹單行的刷新操作是如何執(zhí)行的,然后介紹如何在規(guī)定時(shí)間完成對(duì)多行的刷新.

    1.2 單行刷新原理

    一般來講,對(duì)DRAM單行的刷新操作是這樣執(zhí)行的:1)起始狀態(tài),所有的位線電平被預(yù)充電至VDD?2;2)行地址譯碼器選通該行,拉高字線電平,該行所有存儲(chǔ)單元的晶體管導(dǎo)通,使電容和位線連通;3)根據(jù)電容電平為高或低,電荷從電容流向位線或者從位線流入電容,從而在位線上造成細(xì)微的電平變動(dòng)VDD?2±Δ,其變動(dòng)方向被感應(yīng)放大器識(shí)別;4)局部感應(yīng)放大器根據(jù)變動(dòng)方向,對(duì)位線進(jìn)行充電或放電,將其電平拉至VDD或0,在此過程中,由于位線和電容連通,電容也被重新充電至VDD或放電至0,即進(jìn)行了刷新操作.

    上述過程類似于激活操作,在DDR3協(xié)議中激活操作的延遲定義為tRAS,約為35ns.在刷新下一行之前,還必須先斷開晶體管,將位線電平重新預(yù)充電至VDD?2.此過程類似于預(yù)充電操作,在DDR3協(xié)議中預(yù)充電操作的延遲定義為tRP,約為15ns.因此Joint Electron Device Engineering Council.http:??www.jedec.org可認(rèn)為單行刷新等效于激活操作和預(yù)充電操作的組合,其延遲大致為50ns.

    1.3 AR實(shí)現(xiàn)

    由于單行刷新的延遲大致為50ns,以4Gb DRAM為例,AR要求在300ns內(nèi)完成對(duì)64行的刷新操作,因此只能通過并行方式實(shí)現(xiàn).但是,并行刷新所消耗的疊加電流必須在DRAM容許范圍內(nèi).比如,DDR3協(xié)議為了避免多個(gè)并行的激活操作帶來的電流疊加,規(guī)定了在tFAW時(shí)間(約30ns)內(nèi)只能執(zhí)行4個(gè)激活操作.如1.2節(jié)所述,單行刷新類似于激活操作,也會(huì)受到DRAM最大容許電流的限制.

    目前,DRAM執(zhí)行AR時(shí)利用了Bank內(nèi)Subarray級(jí)的并發(fā)度,而不是Bank間的并發(fā)度(8個(gè)Bank并行刷新造成的電流疊加會(huì)超出DRAM的電流限制).由于刷新只需要使用每個(gè)Sub-array的局部感應(yīng)放大器(區(qū)別于激活操作),使得多個(gè)Subarray可以并行刷新,而且Bank內(nèi)多個(gè)Sub-array的并行刷新可以共用很多電路,從而使其消耗的電流大大低于線性疊加.

    具體地,DRAM將一次刷新操作內(nèi)要刷新的行分為若干個(gè)組,每個(gè)組包含1個(gè)Bank內(nèi)的多行①,位于不同的Sub-array.組內(nèi)的多行利用每個(gè)Subarray的局部感應(yīng)放大器,并行進(jìn)行刷新.在電流限制范圍內(nèi),組與組之間的刷新過程可以有一定的重疊.圖2顯示了多行刷新實(shí)現(xiàn)的示例:

    Fig.2 Implementation of DRAM AR.圖2 DRAM AR實(shí)現(xiàn)

    在AR執(zhí)行期間,DRAM Rank的所有Bank都無法處理正常訪存請(qǐng)求.最壞情況下,訪存的等待時(shí)間為tRFC.

    1.4 ROR(RAS-only Refresh)實(shí)現(xiàn)

    另一種沒有在JEDEC協(xié)議中定義、但是在學(xué)術(shù)研究中經(jīng)常被提到的刷新實(shí)現(xiàn)方式是利用DRAM激活操作實(shí)現(xiàn)刷新功能.如1.2節(jié)所述,單行刷新操作等效于對(duì)其的激活操作,由于激活操作在早期被稱為行地址選通(row address strobe,RAS),因此這種刷新實(shí)現(xiàn)方式被稱為ROR[11].

    不同于AR只需控制器在每個(gè)刷新間隔內(nèi)向DRAM發(fā)送1個(gè)刷新命令,即可完成對(duì)多行的刷新;ROR要求控制器向DRAM的每個(gè)待刷新的行發(fā)送1個(gè)激活命令.激活命令的粒度更小,可以指定刷新的行地址,實(shí)現(xiàn)對(duì)單行進(jìn)行控制,因此其刷新實(shí)現(xiàn)方式更靈活.比如為了避免在時(shí)間tRFC里集中刷新多行從而長(zhǎng)時(shí)間占用整個(gè)Rank,可以將對(duì)多行的激活操作盡量分散到整個(gè)刷新間隔中;同時(shí),當(dāng)一個(gè)Bank執(zhí)行激活操作時(shí),其他Bank仍然可以執(zhí)行正常訪存操作,減少訪存的等待時(shí)間.

    由于ROR以行為粒度進(jìn)行刷新控制,因此經(jīng)常被使用于一些智能刷新管理方法中.其缺點(diǎn)是不能充分利用Sub-array級(jí)的并發(fā)刷新在時(shí)間和功耗上的優(yōu)勢(shì).同時(shí),由于需要發(fā)送大量的激活命令,DRAM的命令總線更容易飽和,從而影響正常訪存命令的發(fā)送.

    1.5 DRAM刷新開銷

    刷新操作會(huì)阻塞正常訪存的執(zhí)行,造成性能的開銷.AR執(zhí)行期間,DRAM Rank的所有Bank都無法響應(yīng)訪存請(qǐng)求.ROR執(zhí)行過程中,正在刷新的Bank無法接受訪存請(qǐng)求.不論哪種刷新方式,都會(huì)導(dǎo)致訪存被堵塞,延遲增大,最終導(dǎo)致CPU流水線堵塞,性能降低.

    同時(shí),刷新是非常消耗功耗的操作.表2顯示了DRAM一些操作所消耗的平均電流[12].可見刷新操作是功耗最高的操作,而且持續(xù)時(shí)間很長(zhǎng).

    Table 2 Power Parameters of 4Gb DDR3-1600DRAM表2 4Gb DDR3-1600DRAM功耗參數(shù)

    隨著工藝縮進(jìn),DRAM密度仍將以2~3年的速度成倍增長(zhǎng),但是每64ms需要將整個(gè)DRAM刷新一遍的約束并沒有得到改善,因此,每個(gè)刷新間隔內(nèi)需要刷新的行數(shù)相應(yīng)地成倍增加,刷新所導(dǎo)致的性能和功耗開銷隨著密度增大而指數(shù)增長(zhǎng).圖3預(yù)測(cè)了DRAM密度從4Gb增長(zhǎng)到32Gb(tRFC為640ns),相比于理想無刷新的DRAM,上述2種刷新方式所帶來的性能和功耗開銷[13].在32Gb時(shí),AR使性能下降23.8%,功耗增長(zhǎng)114%(ROR由于命令總線飽和,而無法完成刷新要求).

    Fig.3 The normalized performance and energy of AR and ROR relative to an ideal refresh-less system.圖3 2種刷新方式相比于理想無刷新DRAM的歸一化性能和功耗

    1.6 工業(yè)界關(guān)于刷新的一些優(yōu)化

    1)Self Refresh.JEDEC DDRx協(xié)議[7-10]和LPDDRx[14-16]協(xié)議都支持一種Self Refresh模式,是一種低功耗模式.在這種模式下,DRAM的時(shí)鐘、DLL、輸入?輸出緩沖等部件停止工作,只有維持刷新的電路仍然工作,因此這種刷新方式相比于AR更加節(jié)省功耗.但是,這種模式的退出要耗費(fèi)很長(zhǎng)時(shí)間(≥500ns),如果有訪存到來,會(huì)被阻塞得更久,更加影響性能,因此一般只用于DRAM長(zhǎng)期休眠的場(chǎng)景.

    2)Postponed Refresh.JEDEC的DDRx協(xié)議[7-10]支持靈活的刷新調(diào)度,允許將AR命令推遲最多8個(gè)刷新間隔,以避免阻塞訪存請(qǐng)求.但這種方式一般只適用于訪存不密集的場(chǎng)景,對(duì)于訪存密集的場(chǎng)景,無論如何推遲,總是會(huì)阻塞訪存請(qǐng)求.

    3)Per-Bank Refresh.JEDEC的LPDDR2協(xié)議[14]和LPDDR3協(xié)議[15]支持以Bank為單位進(jìn)行刷新.這種方式有2個(gè)好處:①把每次耗時(shí)較長(zhǎng)的刷新操作分成了多個(gè)耗時(shí)較短的刷新操作,從而減少阻塞訪存的時(shí)間;②一個(gè)Bank刷新時(shí),其他Bank可以并行處理正常訪存請(qǐng)求.但是,完成同樣多行的刷新,多個(gè)Per-Bank Refresh的總執(zhí)行時(shí)間要長(zhǎng)于單個(gè)All-Bank Refresh(即AR)的執(zhí)行時(shí)間,這是因?yàn)槊總€(gè)Per-Bank Refresh后都需要一段恢復(fù)時(shí)間,而且Bank間的刷新過程不能重疊.以Bank數(shù)為8、容量為4Gb的LPDDR3DRAM為例,AR的持續(xù)時(shí)間tRFCab=130ns,而單個(gè)Bank的刷新持續(xù)時(shí)間tRFCpb=60ns.因此,這種方式有優(yōu)勢(shì)也有劣勢(shì),其效果取決于具體的應(yīng)用場(chǎng)景.

    4)Fine Granularity Refresh.JEDEC的DDR4協(xié)議[7]支持1x,2x,4x的刷新模式.1x同上述的AR模式,每個(gè)刷新周期發(fā)送8192個(gè)刷新命令;2x,4x模式每個(gè)刷新周期發(fā)送的刷新命令個(gè)數(shù)增加2倍和4倍.相應(yīng)地,2x,4x的單次刷新行數(shù)也減少為1x的1?2,1?4,刷新時(shí)間tRFC有一定程度的減少.這種方式也是把一個(gè)耗時(shí)較長(zhǎng)的刷新操作分解為多個(gè)耗時(shí)較短的刷新操作(每個(gè)操作仍以Rank為單位),但是,2x,4x模式的刷新操作后都需要一段恢復(fù)時(shí)間,其刷新消耗的總時(shí)間長(zhǎng)于1x模式.以容量為4Gb的DDR4DRAM為例,1x模式的刷新持續(xù)時(shí)間tRFC1為260ns,而2x,4x模式的刷新持續(xù)時(shí)間tRFC2,tRFC4分別為160ns,110ns,大于1x模式的1?2,1?4.

    5)Temperature Controlled Refresh.JEDEC的DDR4協(xié)議[7]支持在溫度低于45℃時(shí),由DRAM內(nèi)部按一定的比率選擇性地跳過一些刷新命令的執(zhí)行,從而達(dá)到降低刷新功耗的目的.這主要是得益于溫度低時(shí),電容的漏電速度減慢,保持?jǐn)?shù)據(jù)的時(shí)間變長(zhǎng),從而可以降低刷新的頻率.但是,對(duì)于訪存密集的場(chǎng)景,DRAM的溫度通常會(huì)高于85℃[17],使得這種改進(jìn)只能在訪存很不密集并且散熱很好的場(chǎng)景下才能起作用.

    6)Partial Array Self Refresh.JEDEC的LPDDRx協(xié)議[14-16]支持在Self Refresh模式下禁止DRAM里的部分Bank以及Bank里的部分陣列的刷新操作,從而減少刷新的次數(shù),降低功耗.這種方式不能保證未刷新的存儲(chǔ)單元里的數(shù)據(jù)的正確性,因此適用于不存儲(chǔ)有效數(shù)據(jù)的場(chǎng)景.雖然目前這種方式只適用于類似休眠的Self Refresh模式,但是其工作原理很容易能擴(kuò)展到正常工作的AR模式.但是,要實(shí)際應(yīng)用這種方式,需要操作系統(tǒng)事先回收相應(yīng)的存儲(chǔ)空間,遷移出有效數(shù)據(jù),才能禁止對(duì)其的刷新操作.

    2 減輕刷新操作對(duì)訪存的阻塞

    如上所述,刷新操作對(duì)性能的影響主要?dú)w咎于其阻塞了正常訪存的執(zhí)行.因此,如何從命令調(diào)度以及刷新實(shí)現(xiàn)方式上避免刷新操作對(duì)正常訪存的阻塞,是降低刷新的性能開銷的一個(gè)研究方向.

    2.1 刷新命令調(diào)度

    刷新命令調(diào)度主要是DRAM控制器調(diào)整刷新操作的執(zhí)行時(shí)機(jī),以避開正常的訪存命令執(zhí)行.圖4顯示了DRAM控制器對(duì)1個(gè)DRAM Rank進(jìn)行命令調(diào)度的基本原理.在不調(diào)度的情況下,DRAM控制器每隔tREFI生成1個(gè)刷新命令,并立即執(zhí)行該刷新操作.如果訪存命令隊(duì)列不空,那么隊(duì)列中的這些訪存將至少被延遲tRFC時(shí)間.JEDEC DDRx協(xié)議的Postponed Refresh[7-10]允許將AR命令推遲最多8tREFI,從而為調(diào)度刷新命令執(zhí)行時(shí)機(jī)提供了可能.

    Fig.4 Principle of request scheduling in DRAM controller.圖4 DRAM控制器的命令調(diào)度原理

    一種基本的調(diào)度策略是推遲刷新操作的執(zhí)行,優(yōu)先執(zhí)行隊(duì)列中的訪存命令.新生成的刷新命令并不立即執(zhí)行,而是先填入刷新命令隊(duì)列,只有當(dāng)訪存命令隊(duì)列為空或者刷新命令已經(jīng)被推遲了8tREFI時(shí),才執(zhí)行刷新命令.這種策略降低了刷新操作的優(yōu)先級(jí),從而減輕其對(duì)正常訪存請(qǐng)求的阻塞.但是這種基于訪存命令隊(duì)列是否為空的策略存在一個(gè)風(fēng)險(xiǎn),即有可能當(dāng)前訪存命令隊(duì)列為空并因此執(zhí)行了刷新操作,但是馬上又有訪存請(qǐng)求到來,那么新到來的訪存請(qǐng)求最多將被推遲tRFC時(shí)間.

    ER(elastic refresh)[18]改進(jìn)了上述調(diào)度策略:當(dāng)訪存命令隊(duì)列為空時(shí),不立即執(zhí)行刷新操作,而是等待一段空閑時(shí)間(idle delay),如果沒有訪存請(qǐng)求到來,才執(zhí)行刷新操作.其基本思想是,訪存命令隊(duì)列為空后,訪存請(qǐng)求有可能在idle delay的時(shí)間內(nèi)到達(dá),因此再適當(dāng)?shù)赝七t刷新操作,進(jìn)一步降低阻塞訪存請(qǐng)求的概率.其idle delay值的選取是動(dòng)態(tài)進(jìn)行的,當(dāng)刷新被推遲的時(shí)間較短時(shí)(小于2tREFI),idle delay值設(shè)置為較大的預(yù)測(cè)值,允許多等待一段時(shí)間;隨著刷新被推遲的時(shí)間增長(zhǎng)(2tREFI~6tREFI),idle delay值線性下降,表示刷新的優(yōu)先級(jí)不斷提高;當(dāng)刷新被推遲足夠長(zhǎng)時(shí)間后(大于6tREFI),Idle Delay設(shè)置為0.上述idle delay的變化過程,體現(xiàn)了刷新操作的優(yōu)先級(jí)從低到高的轉(zhuǎn)變過程.

    上述2種調(diào)度策略在訪存不是很密集、訪存命令隊(duì)列有可能為空的場(chǎng)景下比較有效,但是在訪存很密集的場(chǎng)景下,比如多核,訪存命令隊(duì)列基本不會(huì)為空,所有的刷新操作都將被推遲8tREFI然后強(qiáng)制執(zhí)行,因此并不能有效改善對(duì)訪存命令的阻塞問題[6].

    2.2 訪存命令調(diào)度

    除了對(duì)刷新命令進(jìn)行調(diào)度外,DRAM控制器還可以對(duì)正常的訪存命令進(jìn)行調(diào)度,使其避開刷新操作的執(zhí)行,避免被阻塞.主存系統(tǒng)通常擁有多個(gè)Rank,一個(gè)Rank執(zhí)行刷新操作時(shí),其他Rank仍然可以正常工作,從而為訪存命令調(diào)度提供了可能.

    PCD(preemptive command drain)策略[19]提前執(zhí)行訪存命令隊(duì)列中屬于即將要刷新的Rank的訪存請(qǐng)求.由于刷新有很強(qiáng)的周期性和規(guī)律性,DRAM控制器很容易預(yù)測(cè)即將刷新的Rank.這樣當(dāng)這個(gè)Rank進(jìn)入刷新狀態(tài)時(shí),可以盡量減少訪存命令隊(duì)列中屬于這個(gè)Rank的訪存請(qǐng)求,減輕隊(duì)列中訪存請(qǐng)求與刷新的沖突概率和等待時(shí)間.

    DCE(delayed command expansion)策略[19]在將訪存請(qǐng)求填入訪存命令隊(duì)列時(shí),推遲填入那些屬于正在刷新的Rank的訪存請(qǐng)求,避免它們占用訪存命令隊(duì)列的調(diào)度資源.這樣可以將更多可執(zhí)行的訪存請(qǐng)求填入訪存命令隊(duì)列進(jìn)行調(diào)度.

    PCD和DCE策略的目標(biāo)都是當(dāng)一個(gè)Rank正在執(zhí)行刷新操作時(shí),盡量減少訪存命令隊(duì)列里中屬于該Rank的訪存請(qǐng)求.因?yàn)檫@些訪存請(qǐng)求在訪存命令隊(duì)列中并不會(huì)被調(diào)度執(zhí)行,反而占用了隊(duì)列資源,減少了隊(duì)列中其他Rank可調(diào)度請(qǐng)求的數(shù)目,降低了其他Rank的命令調(diào)度效率,甚至是占滿隊(duì)列后阻塞其他Rank的命令執(zhí)行.

    2.3 減少單次刷新的阻塞時(shí)間

    除了利用命令調(diào)度避免訪存與刷新沖突外,如何通過刷新實(shí)現(xiàn)方式的改進(jìn),在發(fā)生沖突時(shí)減少單次刷新阻塞訪存的時(shí)間也是一個(gè)的研究方向.

    FGR(fine granularity refresh)[7]通過提高刷新頻率,減少每次刷新的工作量,以降低每次刷新阻塞訪存的時(shí)間.但是FGR增加了總的刷新時(shí)間,實(shí)驗(yàn)評(píng)估顯示對(duì)于大多數(shù)應(yīng)用,4x模式的性能不如1x模式的性能[19].

    RP(refresh pausing)[20]是基于基本的AR所做的改進(jìn).由于AR需要一次刷新很多行,如果訪存命令在此期間到來,就會(huì)被阻塞很長(zhǎng)時(shí)間.RP通過修改DRAM,允許在訪存命令到來時(shí),立即暫停當(dāng)前的AR,優(yōu)先執(zhí)行訪存命令,等訪存命令執(zhí)行完后,再接著執(zhí)行未完成的刷新操作.但是,在訪存密集的場(chǎng)景下,RP的效果有限,其會(huì)導(dǎo)致刷新操作被頻繁暫停,并且最終需要被強(qiáng)制執(zhí)行(推遲的時(shí)間超過8tREFI).

    2.4 刷新與訪存并發(fā)

    如何盡量使正常訪存和刷新并發(fā)進(jìn)行,是降低刷新影響的另一種方法.

    ROR[11]利用激活操作進(jìn)行刷新,一次只刷新一個(gè)Bank的1行,允許刷新操作和訪存命令在Bank級(jí)并發(fā)執(zhí)行:一個(gè)Bank執(zhí)行刷新操作時(shí),其他Bank可以并發(fā)執(zhí)行訪存命令.對(duì)于低密度的DRAM,這種方式降低了刷新操作和訪存命令的沖突概率,可以減少訪存的平均等待時(shí)間,因此其性能優(yōu)于AR.但是,由于不能利用Sub-array級(jí)的并發(fā)刷新,需要更多次刷新操作完成1次AR的工作量,在高密度的DRAM場(chǎng)景下其刷新效率不高的劣勢(shì)體現(xiàn)出來[13],一方面,頻繁的激活操作反而增大了沖突概率,另一方面,也會(huì)嚴(yán)重影響系統(tǒng)的訪存并發(fā)度,因此其性能反而不如AR,如圖3(a)所示;另外,由于同樣的原因,其功耗開銷要更大,如圖3(b)所示.

    PBR(per-bank refresh)[14-15]同樣支持刷新操作和訪存命令在Bank級(jí)并發(fā)執(zhí)行,而且可以在一定程度上利用Sub-array級(jí)的并發(fā)刷新,改善ROR刷新效率不高的劣勢(shì).實(shí)驗(yàn)評(píng)估顯示PBR的性能總是好于AR[21].但是受最大電流的限制,刷新操作執(zhí)行時(shí),可以并發(fā)執(zhí)行的訪存命令數(shù)相應(yīng)地減少,降低了系統(tǒng)的訪存并發(fā)度;而且由于Bank個(gè)數(shù)較少,仍然會(huì)有相當(dāng)概率導(dǎo)致訪存命令和刷新操作沖突,因此這種方式依然會(huì)帶來一定的性能開銷[21].

    SALR(sub-array-level refresh)[6,21]在PBR基礎(chǔ)上,更進(jìn)一步的改進(jìn)是在Sub-array級(jí)支持刷新操作和訪存命令的并發(fā)執(zhí)行.由于刷新只需要使用每個(gè)Sub-array的局部感應(yīng)放大器,因此可以通過修改DRAM硬件的方式,使一些Sub-array在執(zhí)行刷新時(shí)其他Sub-array可以進(jìn)行正常的激活、讀寫、預(yù)充電操作.由于Sub-array的個(gè)數(shù)遠(yuǎn)大于Bank的個(gè)數(shù),因此訪存命令和刷新操作的沖突概率極小,可以基本做到不阻塞訪存命令.不過,由于最大電流的限制,執(zhí)行刷新操作時(shí),會(huì)減少可并發(fā)執(zhí)行的訪存命令個(gè)數(shù),從而仍在一定程度上影響性能.另外,這種方式需要對(duì)DRAM硬件進(jìn)行較大改動(dòng).

    2.5 小 結(jié)

    表3對(duì)本節(jié)所述方法進(jìn)行了歸納:

    Table 3 Summary of Reducing the Blocking of Memory Accesses Due to Refresh表3 減輕刷新操作對(duì)訪存阻塞的方法匯總

    不管是刷新命令調(diào)度還是訪存命令調(diào)度,其思想是不修改DRAM本身,而是改進(jìn)DRAM控制器的調(diào)度策略,使刷新命令和訪存命令相互避開,降低沖突導(dǎo)致的訪存延遲增加,減少性能開銷.上述策略都是基于一定的先驗(yàn)信息,對(duì)刷新或者訪存命令的執(zhí)行時(shí)機(jī)進(jìn)行調(diào)度.不同的是,ER所依據(jù)的先驗(yàn)信息(idle delay)由訪存歷史信息預(yù)測(cè)得來,而PCD和DCE所依據(jù)先驗(yàn)信息(即將刷新的Rank)由刷新的規(guī)律性很容易準(zhǔn)確得到,因此相比而言,后者更具優(yōu)勢(shì).雖然后者可以成功地使訪存命令避開刷新操作,提高吞吐量,但是其不可避免地推遲了某些訪存命令的執(zhí)行,使其等待時(shí)間增長(zhǎng),從而可能造成性能上的損失.因此,更加智能的調(diào)度算法仍然是未來的研究方向.

    刷新實(shí)現(xiàn)的改進(jìn)可分2類:FGR和RP盡量減少單次刷新操作阻塞訪存的時(shí)間(更短的刷新操作或者可暫停的刷新操作);ROR,PBR,SALR則是尋求刷新和正常訪存可并發(fā)執(zhí)行的機(jī)會(huì),使得刷新操作在“后臺(tái)”進(jìn)行,盡量把其對(duì)正常訪存的干擾降至最低.FGR,RP在訪存很密集的情況下效果有限,因?yàn)槠涠氯L存的總時(shí)間沒變,甚至有所增長(zhǎng).ROR雖然實(shí)現(xiàn)最簡(jiǎn)單,不需要修改DRAM,但是不能利用Bank內(nèi)多個(gè)Sub-array實(shí)現(xiàn)并行刷新,因此在高密度

    場(chǎng)景下效率不高,性能反而不如AR.PBR的實(shí)現(xiàn)簡(jiǎn)單(LPDDRx已經(jīng)支持),而且可以利用多Bank并發(fā).SALR的性能最好,但是需要對(duì)DRAM進(jìn)行加大改動(dòng).PBR和SALR可能是未來的發(fā)展方向.值得注意的是,將刷新與訪存并發(fā)執(zhí)行并不是完美的解決方案,即使完全沒有沖突,由于DRAM最大電流的限制,刷新操作的“后臺(tái)”執(zhí)行會(huì)影響“前臺(tái)”可并發(fā)執(zhí)行的訪存請(qǐng)求數(shù),仍帶來一定的性能開銷.

    上述方法在一定程度上降低了刷新操作對(duì)性能的影響,但是并沒有改變刷新操作的總量,執(zhí)行刷新操作消耗的功耗并沒有得到改善.

    3 減少不必要的刷新操作

    從圖3(b)來看,隨著DRAM密度進(jìn)一步增大,刷新操作所消耗的功耗將超過執(zhí)行正常訪存命令所消耗的功耗.因此,如何識(shí)別并減少不必要的刷新操作,省去其消耗的功耗,是降低刷新的功耗開銷的一個(gè)研究方向;與此同時(shí),由于刷新操作的減少,其對(duì)性能的影響也能得到改善.

    事實(shí)上所有的DRAM行并不需要以同樣的周期刷新,有很多方法可以利用各種信息,減少不必要的刷新操作.根據(jù)所利用信息的不同,本節(jié)將從信息是什么、如何獲取相關(guān)信息、以及如何利用相關(guān)信息減少刷新操作等方面展開介紹.

    3.1 利用單元保持時(shí)間差異性

    保持時(shí)間指DRAM存儲(chǔ)單元從被寫入數(shù)據(jù)到仍然可以讀出正確數(shù)據(jù)所持續(xù)的時(shí)間,即一個(gè)存儲(chǔ)單元不刷新而能保持?jǐn)?shù)據(jù)正確的最長(zhǎng)時(shí)間.由于制造工藝的偏差(process variation),不同存儲(chǔ)單元的保持時(shí)間有較大差異,而JEDEC規(guī)范對(duì)所有存儲(chǔ)單元規(guī)定了統(tǒng)一的刷新周期,其實(shí)是為了保證保持時(shí)間最短的存儲(chǔ)單元不丟失數(shù)據(jù).事實(shí)上,保持時(shí)間的概率分布呈現(xiàn)為2部分:主要分布和長(zhǎng)尾分布.前者涵蓋了普通的存儲(chǔ)單元,其平均保持時(shí)間通常長(zhǎng)于40s;后者包括那些有缺陷的存儲(chǔ)單元,其保持時(shí)間較短[22].圖5顯示了不同工藝下保持時(shí)間的累計(jì)分布.從圖5可見,除了極少數(shù)存儲(chǔ)單元需要64ms刷新周期外,大部分的存儲(chǔ)單元都可以忍受更長(zhǎng)的刷新周期.

    Fig.5 The cumulative distribution of retention time at different technology nodes[22].圖5 不同工藝下保持時(shí)間的累計(jì)分布[22]

    每個(gè)單元的保持時(shí)間可以通過軟件測(cè)試獲?。环N簡(jiǎn)單的測(cè)試方法是,把所有單元的保持時(shí)間初始化為0,然后執(zhí)行下面流程:

    1)設(shè)置刷新周期為T;

    2)把所有存儲(chǔ)單元初始化為特定的數(shù)據(jù),比如全0、全1或其他模式;

    3)等待一定時(shí)間,比如10×T;

    4)檢查所有存儲(chǔ)單元的值是否為初始值,如果是,則更新該單元的保持時(shí)間為T;

    5)把T設(shè)置為T+ΔT,重新執(zhí)行上述流程.

    由于刷新以行為粒度,每個(gè)行的保持時(shí)間可以定義為該行中所有存儲(chǔ)單元的保持時(shí)間最小值.根據(jù)保持時(shí)間的差異性,不同的DRAM行實(shí)際所需要的刷新周期是不同的.利用這個(gè)信息,以下這些方式可以從硬件上對(duì)不同的行以不同的周期刷新,或者從軟件上對(duì)不同的行加以區(qū)分.

    VRA(variable refresh period architecture)[23]將每行所需要的刷新周期值存儲(chǔ)在DRAM芯片內(nèi)部的寄存器或者非易失性存儲(chǔ)單元中,比如存儲(chǔ)N,表示該行需要的刷新周期為N×64ms;然后由DRAM芯片內(nèi)部的刷新執(zhí)行邏輯根據(jù)存儲(chǔ)的信息減少某些行的刷新頻率.具體地,在DRAM內(nèi)部維護(hù)計(jì)數(shù)器,記錄當(dāng)前經(jīng)過了多個(gè)64ms.DRAM控制器仍按正常頻率發(fā)送AR命令,但DRAM芯片在對(duì)相應(yīng)行執(zhí)行刷新命令時(shí),檢查其刷新周期值(N)和計(jì)數(shù)器,只有當(dāng)后者為N的整數(shù)倍時(shí),才執(zhí)行該行的刷新命令.這種方式由于需要在DRAM芯片內(nèi)增加存儲(chǔ)和控制開銷,會(huì)造成約7%~20%的面積開銷.

    RAIDR(retention-aware intelligent DRAM refresh)[24]采用和VRA類似的思想,區(qū)別在于不修改DRAM芯片,而是將每行所需要的刷新周期值存儲(chǔ)在DRAM控制器內(nèi)部,由DRAM控制器對(duì)不同的行以不同的周期生成刷新命令.更進(jìn)一步地,RAIDR為了優(yōu)化控制器的存儲(chǔ)開銷,并不精確存儲(chǔ)每行的刷新周期,而是將所有行按所需刷新周期分為若干個(gè)桶,每個(gè)桶用1個(gè)Bloom Filter表示.對(duì)于某一行,按照刷新周期從小到大的順序依次查找各級(jí)Bloom Filter,如果在某一級(jí)命中,則說明需要以該周期進(jìn)行刷新.根據(jù)Bloom Filter的假陽性(false positive),不屬于其中的元素也可能查找命中,但這只會(huì)導(dǎo)致少部分行以比需求更高的頻率刷新,并不會(huì)帶來正確性問題.根據(jù)保持時(shí)間的分布,前2個(gè)桶只包含極少數(shù)的行,那么可以以極小的開銷只維護(hù)這2級(jí)Bloom Filter,從而把所有內(nèi)存行分為3個(gè)刷新等級(jí).由于RAIDR需要通過控制刷新命令的生成,控制相應(yīng)行的刷新執(zhí)行,因此只能采用ROR方式.

    DTail-R[13]也采用類似VRA的思想,區(qū)別在于把每行所需要的刷新周期值作為普通數(shù)據(jù)存儲(chǔ)在DRAM存儲(chǔ)單元中(而非特殊寄存器或者非易失性存儲(chǔ)單元);然后由DRAM控制器適時(shí)從DRAM中讀取出存儲(chǔ)的周期值,控制刷新命令的生成以減少特定行的刷新頻率.相比于DRAM芯片的容量,這種方式的存儲(chǔ)開銷很低.另外,由于刷新的順序性和周期性,可以設(shè)計(jì)簡(jiǎn)單的緩存和預(yù)取機(jī)制,掩蓋DRAM控制器讀取存儲(chǔ)周期值的開銷.同RAIDR一樣,DTail需要由DRAM控制器跳過某些行的刷新,因此采用ROR方式是一種直接的做法.同時(shí),DTail還提出了一種silent refresh命令,DRAM在收到這種命令后,只增加內(nèi)部計(jì)數(shù)器,不執(zhí)行刷新操作,從而允許在AR模式下跳過刷新.

    ProactiveDRAM[25]降低AR的頻率,同時(shí)對(duì)那些保持時(shí)間較短的行使用額外的ROR進(jìn)行刷新.ProactiveDRAM將這些保持時(shí)間較短的行的信息以Bloom Filter的形式存儲(chǔ)在DRAM硬件中.DRAM硬件定期檢查Bloom Filter,將保持時(shí)間較短的行的地址通過旁路信號(hào)反饋給DRAM控制器,然后觸發(fā)DRAM控制器生成相應(yīng)的ROR命令,進(jìn)行額外的刷新操作.通過這種方式,對(duì)不同的行采用不同的刷新頻率.

    RAPID(retention-aware placement in DRAM)[26]修改操作系統(tǒng)的內(nèi)存管理系統(tǒng),盡量不使用保持時(shí)間較小的物理頁面,以增大AR的刷新周期.首先,RAPID禁用那些保持時(shí)間特別小的物理頁面,這些頁面永遠(yuǎn)不會(huì)被使用,因此增大刷新周期導(dǎo)致的錯(cuò)誤也不會(huì)產(chǎn)生影響.通過刪除1%的物理頁面可以把刷新周期提高到3.2s.進(jìn)一步地,RAPID把剩余的物理頁面按其保持時(shí)間大小分為幾個(gè)桶,分配內(nèi)存時(shí)優(yōu)先從保持時(shí)間較大的桶里分配物理頁面,當(dāng)其中頁面使用完時(shí),再從下一個(gè)保持時(shí)間較小的桶里分配.通過這種分配策略,RAPID可以把刷新周期設(shè)置為已經(jīng)使用的桶里的最小保持時(shí)間.那些保持時(shí)間更小的桶里的頁面由于未被使用,所以即使出錯(cuò)也不會(huì)產(chǎn)生影響.然而,RAPID刪除物理頁面的做法有實(shí)用性的缺陷——通常內(nèi)核、驅(qū)動(dòng)等需要使用大頁面(2MB),而在刪除了1%的物理頁面(4KB)后,很難找到可用的大頁面.

    RIO(refresh incessantly but occasionally)[27]采用和RAPID類似的思想,即刪除那些保持時(shí)間特別小的物理頁面,以增大AR刷新周期.為了避免RAPID的缺陷,RIO做出了折衷,只刪除0.1%的物理頁面,這樣既能保證很容易找到可用的大頁面,又能適當(dāng)?shù)卦龃笏⑿轮芷冢?/p>

    3.2 利用單元數(shù)據(jù)有效性

    數(shù)據(jù)有效性指DRAM存儲(chǔ)單元里是否存儲(chǔ)了有效數(shù)據(jù).系統(tǒng)初始狀態(tài)下,所有存儲(chǔ)單元的數(shù)據(jù)都是無效.隨著存儲(chǔ)單元被分配給進(jìn)程,并被寫入有效數(shù)據(jù),這些存儲(chǔ)單元里的數(shù)據(jù)才變得有意義.而隨著這些存儲(chǔ)單元被進(jìn)程釋放,其存儲(chǔ)的數(shù)據(jù)也變得無效.那么,對(duì)于這些不存儲(chǔ)有效數(shù)據(jù)的存儲(chǔ)單元,其數(shù)據(jù)正確性不需要被維護(hù),對(duì)其的刷新操作是不必要的.

    每行的數(shù)據(jù)有效性與物理內(nèi)存的分配與釋放相關(guān).通常,操作系統(tǒng)以頁面為粒度分配和回收內(nèi)存,而內(nèi)存的1行包含1個(gè)或多個(gè)物理頁面.因此,可以通過監(jiān)控操作系統(tǒng)分配頁面和回收頁面的例程,得到物理頁面的數(shù)據(jù)有效性,進(jìn)而轉(zhuǎn)換為DRAM行的數(shù)據(jù)有效性信息.

    SRA(selective refresh architecture)[23,28]在DRAM芯片內(nèi)部為每行增加1位寄存器,表示該行是否存儲(chǔ)有效數(shù)據(jù);然后由DRAM芯片內(nèi)的刷新執(zhí)行邏輯在接收到AR刷新命令時(shí),根據(jù)相應(yīng)行的寄存器值,決定是否執(zhí)行刷新操作.這種方式由于需要在DRAM芯片內(nèi)增加存儲(chǔ)和控制開銷,會(huì)造成約5%的面積開銷.

    PARIS(placement-aware refresh in situ)[27]在DRAM控制器內(nèi)部維護(hù)bitmap,每行或每幾行對(duì)應(yīng)1b,表示是否存儲(chǔ)有效數(shù)據(jù).DRAM控制器的刷新控制器邏輯在生成刷新命令時(shí),檢查bitmap,確定是否發(fā)送相應(yīng)行的刷新命令.這種方式需要在DRAM控制器內(nèi)增加bitmap存儲(chǔ)空間,為了減少存儲(chǔ)開銷,可以使1b表示更多的行.由于需要DRAM控制器跳過某些行的刷新,因此PARIS采用ROR作為基本的刷新方式.

    DTail-V[13]類似于上述的DTail-R,把每行是否存儲(chǔ)有效數(shù)據(jù)的信息存儲(chǔ)在DRAM存儲(chǔ)陣列中;然后由DRAM控制器適時(shí)從DRAM中讀取出相應(yīng)行的信息,控制刷新命令的生成,從而選擇是否對(duì)相應(yīng)行進(jìn)行刷新.如3.1節(jié)所述,DTail既可以采用ROR,又可以支持AR.

    PASR(partial array self refresh)[14-16]在硬件上將DRAM分為2個(gè)分區(qū):一個(gè)分區(qū)正常刷新,另一個(gè)分區(qū)不刷新,分區(qū)比例可調(diào).操作系統(tǒng)可以使用一定的機(jī)制,將分配的頁面遷移到正常刷新的分區(qū)中,從而關(guān)閉另一個(gè)分區(qū)的刷新,節(jié)省功耗.雖然PASR目前只支持Self Refresh,但是其原理很容易被擴(kuò)展到AR.

    3.3 利用單元數(shù)據(jù)容錯(cuò)性

    數(shù)據(jù)容錯(cuò)性指對(duì)某些應(yīng)用(如多媒體、機(jī)器學(xué)習(xí)等),有些數(shù)據(jù)出現(xiàn)一定的誤差只會(huì)影響結(jié)果的精度,并不影響正確性.那么,可以利用應(yīng)用的這一特性,對(duì)不同的數(shù)據(jù)以不同的周期進(jìn)行刷新,允許其出現(xiàn)一定的錯(cuò)誤.

    每行的數(shù)據(jù)容錯(cuò)性通常需要由程序員提供信息,因?yàn)槟男?shù)據(jù)可以容忍錯(cuò)誤依賴于具體應(yīng)用,程序員將數(shù)據(jù)標(biāo)注為“關(guān)鍵”和“可容錯(cuò)”的.

    Flikker[29]將DRAM Bank分為上下2個(gè)分區(qū)(比例可調(diào)):其中一個(gè)分區(qū)以正常周期刷新,另一分區(qū)以多倍的正常周期刷新.這種簡(jiǎn)單的劃分方法只需要很少的硬件開銷.它需要操作系統(tǒng)在分配頁面時(shí),根據(jù)程序員的標(biāo)注,把“關(guān)鍵”的數(shù)據(jù)映射到正常刷新的分區(qū)中,把“可容錯(cuò)”的數(shù)據(jù)映射到低頻率刷新的分區(qū)中.雖然Flikker只支持Self Refresh,但是其原理很容易被擴(kuò)展到AR.

    DTail-T[13]不需要修改操作系統(tǒng)的頁面分配策略,而是分配完物理頁面后,將程序員的標(biāo)注信息進(jìn)一步傳遞到具體的物理頁面,最終再標(biāo)注到DRAM行.DTail-T類似于DTail-R,將標(biāo)注信息存儲(chǔ)在DRAM存儲(chǔ)陣列中,然后由內(nèi)存控制器從中讀出標(biāo)注信息,根據(jù)容錯(cuò)能力進(jìn)行多周期刷新.如3.1節(jié)所述,DTail既可以采用ROR,又可以支持AR.

    3.4 利用單元訪問歷史

    訪問歷史指DRAM存儲(chǔ)單元在多久之前被訪問過.由于對(duì)DRAM存儲(chǔ)單元的訪問需要先對(duì)其所在的行進(jìn)行激活操作,而激活操作相當(dāng)于對(duì)該行進(jìn)行了刷新,因此對(duì)于那些剛剛訪問過的行,其刷新操作可以被適當(dāng)推遲.

    Smart Refresh[30]把內(nèi)存刷新周期分成4個(gè)階段,在內(nèi)存控制器里為每行維護(hù)2b的減1計(jì)數(shù)器.當(dāng)該行被訪問時(shí),對(duì)應(yīng)計(jì)數(shù)器值被復(fù)位為3,然后每經(jīng)過1?4周期,所有計(jì)數(shù)值減1.內(nèi)存控制器的刷新控制邏輯每個(gè)階段檢查所有行的計(jì)數(shù)值,只有那些計(jì)數(shù)值為0(說明距其上次被訪問或刷新至少經(jīng)歷了3?4周期的時(shí)間)的行才執(zhí)行刷新,并把計(jì)數(shù)器復(fù)位為3.通過這種機(jī)制,Smart Refresh可以避免重復(fù)刷新那些剛剛被訪問的行.由于需要DRAM控制器跳過某些行的刷新,因此Smart Refresh只支持采用ROR作為基本的刷新方式.

    3.5 利用單元冗余信息

    JEDEC之所以要求DRAM以64ms為周期刷新,是為了保證數(shù)據(jù)正確性.而為了保證數(shù)據(jù)正確性,另一種常用的做法是存儲(chǔ)冗余信息,如糾錯(cuò)碼.比如,為了更高的可靠性,現(xiàn)在的服務(wù)器通常使用ECC內(nèi)存(可以糾正1位錯(cuò)誤,檢測(cè)2位錯(cuò)誤).因此,只要我們使用足夠強(qiáng)的糾錯(cuò)機(jī)制,即使放松64ms的刷新周期,導(dǎo)致一定的錯(cuò)誤,也可以恢復(fù)出正確數(shù)據(jù).

    SEC(selective error correction)[31]降低整體刷新頻率,使得少部分存儲(chǔ)單元出現(xiàn)錯(cuò)誤,然后對(duì)這部分內(nèi)存單元采用針對(duì)性的糾錯(cuò)方式,保證其數(shù)據(jù)正確性.SEC采用ECP(error correcting pointer)[32]方式進(jìn)行糾錯(cuò),每個(gè)ECP保存了1個(gè)錯(cuò)誤單元的地址,以及1個(gè)額外單元用于替換錯(cuò)誤單元,這種方式的存儲(chǔ)開銷與出錯(cuò)單元的個(gè)數(shù)成正比.SEC需要事先知道所有由于降低刷新頻率而可能出現(xiàn)錯(cuò)誤的內(nèi)存單元,然后構(gòu)造相應(yīng)的ECP.在每次讀取數(shù)據(jù)時(shí),首先通過一定的方式檢查當(dāng)前訪問的存儲(chǔ)單元是否存在對(duì)應(yīng)的ECP;如果存在ECP,則利用其中的替換單元替換從內(nèi)存中讀出的數(shù)據(jù);如果不存在ECP,則直接返回從內(nèi)存中讀出的數(shù)據(jù).在每次寫入數(shù)據(jù)時(shí),也需要先檢查是否存在ECP,如果存在,則把數(shù)據(jù)寫入ECP的替換單元中.

    ArchShield[33]是一個(gè)體系結(jié)構(gòu)級(jí)容忍內(nèi)存錯(cuò)誤的框架,也支持降低刷新頻率,其思想與SEC類似.區(qū)別是SEC利用ECP進(jìn)行單元級(jí)的替換,而Arch-Shield則利用Fault Map進(jìn)行字級(jí)的替換(selective word-level replication).Fault Map相當(dāng)于一個(gè)表格,記錄了當(dāng)前地址是否存在錯(cuò)誤,以及替換字的位置.每次訪問數(shù)據(jù)時(shí),需要先檢查Fault Map,如果不存在錯(cuò)誤,則訪問原始位置,否則訪問替換字.

    SEC和ArchShield需要在每次數(shù)據(jù)訪問時(shí)檢查ECP和Fault Map,為了加速查找過程,2種方法都需要在DRAM控制器內(nèi)增加Cache結(jié)構(gòu),緩存最近使用過的部分ECP和Fault Map.

    3.6 利用溫度信息

    DRAM存儲(chǔ)單元的保持時(shí)間與溫度相關(guān),當(dāng)溫度較低時(shí),單元漏電速度減慢,因此可以適當(dāng)?shù)亟档退⑿骂l率.

    TCR(temperature controlled refresh)[7]在DRAM顆粒內(nèi)增加溫度傳感器,當(dāng)溫度低于45℃時(shí),由DRAM顆粒的控制邏輯按一定比例跳過一些刷新命令的執(zhí)行,達(dá)到節(jié)省功耗的目的.但這時(shí)DRAM控制器仍認(rèn)為DRAM處于刷新狀態(tài),因此這種方式并不能降低性能開銷.

    曾峰等人提出了一種溫度自適應(yīng)的DRAM刷新時(shí)鐘電路[34],頻率隨溫度上升而上升.該電路應(yīng)用于內(nèi)存控制器中,當(dāng)溫度降低時(shí),降低刷新頻率.

    殷萬君提出了在DRAM存儲(chǔ)陣列中加入與溫度相關(guān)的PTAT冗余單元作為溫度傳感監(jiān)測(cè)單元[35].利用該傳感電路的輸出作為控制刷新時(shí)鐘頻率的輸入,從而根據(jù)溫度調(diào)節(jié)刷新頻率.

    3.7 小 結(jié)

    上述所利用的各種信息可以統(tǒng)稱為元數(shù)據(jù).表4總結(jié)了本節(jié)所述的各種方法:

    Table 4 Summary of Reducing Unnecessary Refresh表4 減少不必要刷新操作的方法匯總

    ①“DRAM Chip”means that metadata is stored in extra circuit;“DRAM Array”means that metadata is stored in existing array.

    ②Bitmap can be considered as a table with 1bentry.

    ③Though PASR and Flikker are designed for Self Refresh,it is easy to implement them with AR.

    利用保持時(shí)間差異性的方法最有潛力.因?yàn)閺谋3謺r(shí)間的分布[22]來看,只有很少一部分內(nèi)存單元需要64ms周期刷新,大部分內(nèi)存單元的刷新頻率可以降得很低,因此目前研究最多的也是這種方法.VRA[23],RAIDR[24],DTail-R[13],ProactiveDRAM[25]這4種硬件方法思想類似,都是對(duì)不同行采用不同的刷新頻率,區(qū)別在于智能控制和元數(shù)據(jù)的實(shí)現(xiàn)位置不同:VRA把元數(shù)據(jù)和控制邏輯都實(shí)現(xiàn)在DRAM電路中;RAIDR把元數(shù)據(jù)和控制邏輯都實(shí)現(xiàn)在DRAM控制器中;DTail-R把元數(shù)據(jù)存儲(chǔ)在DRAM存儲(chǔ)單元中,把控制邏輯實(shí)現(xiàn)在DRAM控制器中;ProactiveDRAM把元數(shù)據(jù)存儲(chǔ)在DRAM電路中,把控制邏輯實(shí)現(xiàn)在DRAM電路和DRAM控制器中.RAPID[26],RIO[27]都是通過把保持能力差的行在操作系統(tǒng)中隔離起來,不存儲(chǔ)有效數(shù)據(jù),從而降低整個(gè)DRAM的刷新頻率.

    這些基于保持時(shí)間的方法都面臨2個(gè)挑戰(zhàn):1)這些方法都需要知道DRAM所有單元的保持時(shí)間分布,但是保持時(shí)間受很多因素影響,其中最難以預(yù)測(cè)的2個(gè)因素是DPD(data pattern dependence)[36]和VRT(variable retention time)[36-39].前者指單元的保持時(shí)間和周圍單元所存儲(chǔ)的數(shù)據(jù)相關(guān),后者指單元的保持時(shí)間會(huì)隨著時(shí)間而變化.因此,必須在保持時(shí)間測(cè)試中,測(cè)試更多的數(shù)據(jù)組合以盡量消除DPD的影響,測(cè)試更長(zhǎng)的時(shí)間盡量覆蓋VRT的變化周期.但是這無形中增加了測(cè)試的成本,而且測(cè)試的準(zhǔn)確性(可靠性)很難保證.2)這些方法都是以行為單位進(jìn)行管理,即假設(shè)只有很少一部分行需要64 ms刷新周期.但是隨著制造工藝向20nm以下縮進(jìn),保持時(shí)間較短的單元數(shù)會(huì)增加[40],從而導(dǎo)致包含這樣單元的行數(shù)增加,即需要64ms刷新的行數(shù)增加.極端情況下,只要每行包含1個(gè)這樣的存儲(chǔ)單元,那么所有的內(nèi)存行都需要以64ms為周期進(jìn)行刷新.這個(gè)趨勢(shì)會(huì)減弱這些以行為粒度管理的方法的效果,而那些從操作系統(tǒng)中刪除行的做法將變得更加不可行.針對(duì)第1個(gè)挑戰(zhàn),如何解決測(cè)試的可靠性問題,是采用更嚴(yán)格(成本更高)的測(cè)試,還是運(yùn)行時(shí)動(dòng)態(tài)檢測(cè),是未來需要研究的問題.針對(duì)第2個(gè)挑戰(zhàn),如何以其他粒度管理刷新,或者進(jìn)一步利用不同單元保持時(shí)間的空間分布特性,是可能的研究方向.

    利用數(shù)據(jù)有效性的方法最可靠,只有使用的內(nèi)存才需要刷新,其效果取決于系統(tǒng)的內(nèi)存使用量.因此,在內(nèi)存利用率很高的系統(tǒng)中,其效果非常有限.不過,這種方法適宜和其他方法結(jié)合使用,空閑內(nèi)存完全不刷新,使用的內(nèi)存通過其他方式減少刷新.

    利用數(shù)據(jù)容錯(cuò)性的方法依賴于具體的應(yīng)用程序,對(duì)有些應(yīng)用程序(多媒體、機(jī)器學(xué)習(xí)等)會(huì)有比較大的應(yīng)用潛力.但是,這種方法必須保證程序能正確執(zhí)行,即某些數(shù)據(jù)的錯(cuò)誤只帶來結(jié)果的精度誤差,而不能導(dǎo)致程序的控制流出錯(cuò).因此,如何在保證程序正確執(zhí)行的前提下,在應(yīng)用層面更好地發(fā)掘數(shù)據(jù)的容錯(cuò)性,是未來需要研究的問題.

    利用訪問歷史的方法的效果取決于刷新周期時(shí)間內(nèi)被訪問的行的比例,然而隨著內(nèi)存密度增大,總行數(shù)越來越多,但是刷新周期內(nèi)被訪問的行數(shù)受限于應(yīng)用程序的footprint,卻是很有限的,因此這種方式的效果隨著密度增大變得越來越有限.不過這種方式非常適用于作為高速緩存的eDRAM,因?yàn)槠淇傂袛?shù)很小,且訪問頻度很高[41].

    利用冗余信息的方法,其糾錯(cuò)機(jī)制的性能、成本開銷需要在可承受的范圍內(nèi).盲目地為所有存儲(chǔ)單元增強(qiáng)糾錯(cuò)能力并不可取,更好的做法是選擇性地為最可能出現(xiàn)錯(cuò)誤的單元增強(qiáng)糾錯(cuò)能力.但是這種選擇性的機(jī)制都需要事先知道哪些單元在降低刷新頻率時(shí)會(huì)出現(xiàn)錯(cuò)誤,然后才能為其提供冗余信息[31,33],從而也面臨著與保持時(shí)間測(cè)試同樣的挑戰(zhàn)——其測(cè)試的可靠性是需要解決的問題.

    利用溫度的方法實(shí)現(xiàn)簡(jiǎn)單,只需簡(jiǎn)單的傳感器和頻率調(diào)節(jié)功能.不過,隨著溫度的下降,刷新頻率的降低比例是一個(gè)重要的參數(shù).如果頻率降低過多,有可能導(dǎo)致單元丟失數(shù)據(jù),造成可靠性的問題.

    對(duì)于利用保持時(shí)間差異性、數(shù)據(jù)有效性、數(shù)據(jù)容錯(cuò)性這3類元數(shù)據(jù)的方法,其元數(shù)據(jù)的更新和使用都相對(duì)不頻繁,只需在初始測(cè)試或數(shù)據(jù)分配?釋放時(shí)設(shè)置,在執(zhí)行刷新命令時(shí)使用.DTail[13]提供了一種比較好的解決方案,把這些元數(shù)據(jù)存儲(chǔ)在DRAM陣列中,相比于DRAM容量,其存儲(chǔ)開銷可忽略不計(jì).另外,由于刷新有很強(qiáng)的規(guī)律性,并且相對(duì)不頻繁,可以設(shè)計(jì)簡(jiǎn)單的預(yù)取和緩存機(jī)制,掩蓋元數(shù)據(jù)的訪問開銷.

    對(duì)于利用訪問歷史信息和冗余信息這2類元數(shù)據(jù)的方法,其元數(shù)據(jù)的更新或使用很頻繁,比如Smart Refresh[30]需要在每次訪問時(shí)更新計(jì)數(shù)器,SEC[31],ArchShield[33]需要在每次訪問時(shí)檢查ECP,F(xiàn)ault Map.由于元數(shù)據(jù)的數(shù)據(jù)量過大,在DRAM控制器內(nèi)維護(hù)的成本很高,而將其維護(hù)在DRAM陣列中又會(huì)帶來很大的訪問開銷.因此,一種解決思路[31,33]是將其維護(hù)在DRAM陣列中,同時(shí)在DRAM控制器內(nèi)維護(hù)簡(jiǎn)單的Cache結(jié)構(gòu)緩存最近使用的元數(shù)據(jù).但是,由于元數(shù)據(jù)的數(shù)據(jù)量與內(nèi)存容量成正比,隨著內(nèi)存容量的增大,Cache的命中率勢(shì)必會(huì)下降,從而導(dǎo)致元數(shù)據(jù)訪問開銷增大.目前的Cache解決方案比較簡(jiǎn)單,而且最大只評(píng)估了8GB的內(nèi)存容量[33],但是,對(duì)于更大容量的內(nèi)存系統(tǒng)其效果如何值得商榷(目前主流的服務(wù)器內(nèi)存配置遠(yuǎn)大于8GB).因此,評(píng)估內(nèi)存容量對(duì)于DRAM控制器中的元數(shù)據(jù)Cache的影響,以及如何設(shè)計(jì)對(duì)內(nèi)存容量可擴(kuò)展的Cache機(jī)制,是未來值得研究的問題.

    4 總結(jié)與展望

    雖然在過去,DRAM刷新的性能和功耗開銷很小,并未受到太多關(guān)注.但是,隨著摩爾定律的發(fā)展,DRAM密度持續(xù)增大,刷新所造成的性能和功耗開銷指數(shù)增加.而且,隨著3D堆疊技術(shù)的興起[42-43],DRAM芯片的工作溫度進(jìn)一步提升,導(dǎo)致刷新頻率進(jìn)一步提高(95℃~115℃溫度范圍內(nèi),刷新周期進(jìn)一步減小為8ms[43]),其開銷也進(jìn)一步增大.因此,近幾年工業(yè)界和學(xué)術(shù)界越來越重視刷新問題的研究.

    本文將工業(yè)界和學(xué)術(shù)界提出的眾多優(yōu)化方案歸納為兩大類進(jìn)行了分析和總結(jié).首先,可以通過控制器調(diào)度或改進(jìn)刷新實(shí)現(xiàn)機(jī)制的方法,降低正常訪存和刷新操作沖突的概率和時(shí)間,發(fā)掘兩者并發(fā)執(zhí)行的可能,從而減輕刷新操作對(duì)訪存的阻塞.其次,可以利用各種指導(dǎo)信息(元數(shù)據(jù)),對(duì)不同的內(nèi)存單元采用不同的刷新策略,減少不必要的刷新.前者可以改善性能,后者可同時(shí)降低功耗.

    其中,利用保持時(shí)間的方法最具吸引力,因?yàn)楣に嚻钍沟媒^大部分單元都可以容忍更低的刷新頻率.但是,這種方法有2個(gè)問題,目前尚沒有得到很好的解決:1)由于DPD和VRT問題的存在,使得準(zhǔn)確獲取保持時(shí)間比較困難,基于不準(zhǔn)確的測(cè)試結(jié)果進(jìn)行刷新控制會(huì)帶來可靠性的問題.因此需要從測(cè)試方法或者容錯(cuò)方向進(jìn)行優(yōu)化,提高可靠性.2)DRAM以行為粒度刷新,雖然保持時(shí)間很短的單元占單元總數(shù)的比例很小,但是如果它們?cè)诳臻g上分布很隨機(jī),且數(shù)量足夠多,那么有可能大部分行都會(huì)包含這些單元,從而無法降低刷新頻率.因此需要研究這些單元的空間分布特性,或者改進(jìn)刷新的粒度,從而避免這種情況.

    綜合現(xiàn)有的研究情況,目前已經(jīng)有很多不同的優(yōu)化方案,這些方案從研究走向?qū)嵱?,面臨著效果、成本和可靠性的問題.一個(gè)比較容易接受的方案:首先,應(yīng)該硬件改動(dòng)較小;其次,應(yīng)該把改動(dòng)盡量限制在一個(gè)層次,并對(duì)其他層次透明,否則可能需要對(duì)接口協(xié)議進(jìn)行擴(kuò)展;另外,最好能同時(shí)兼顧多種方法同時(shí)發(fā)揮效果;最重要的是,那些放松64ms刷新約束的方案必須保證可靠性不受影響.

    [1]Wulf W A,McKee S A.Hitting the memory wall:Implications of the obvious[J].ACM SIGARCH Computer Architecture News,1995,23(1):20 24

    [2]Rogers B M,Krishna A,Bell G B,et al.Scaling the bandwidth wall:Challenges in and avenues for CMP scaling[C]??Proc of the Int Symp on Computer Architecture(ISCA).New York:ACM,2009:371 382

    [3]Barroso L A,H lzle U.The datacenter as a computer:An introduction to the design of warehouse-scale machines[J].Synthesis Lectures on Computer Architecture,2009,4(1):1 108

    [4]Lefurgy C,Rajamani K,Rawson F,et al.Energy management for commercial servers[J].IEEE Computer,2003,36(12):39 48

    [5]Zhang T,Poremba M,Xu C,et al.CREAM:A concurrentrefresh-aware DRAM memory system[C]??Proc of the Int Symp on High-Performance Computer Architecture(HPCA).Piscataway,NJ:IEEE,2014:368 379

    [6]ITRS.ITRS report 2012update[R?OL].Int Technology Roadmap for Semiconductors,2012[2014-12-11].http:??www.itrs.net?ITRS%201999-2014%20Mtgs,%20Presentations% 20&%20Links?2012ITRS?Home2012.htm

    [7]JEDEC.JESD79-4:DDR4SDRAM[S].Arlington,VA:JEDEC Solid State Technology Association,2012

    [8]JEDEC.JESD79-3D:DDR3SDRAM[S].Arlington,VA:JEDEC Solid State Technology Association,2009

    [9]JEDEC.JESD79-2C:DDR2SDRAM[S].Arlington,VA:JEDEC Solid State Technology Association,2006

    [10]JEDEC.JESD79C:Double Data Rate(DDR)SDRAM[S].Arlington,VA:JEDEC Solid State Technology Association,2003

    [11]Micron.Various methods of DRAM refresh,TN-04-30[R].Boise,ID:Micron Technology,Inc,1999

    [12]Micron.4Gb:x4,x8,x16DDR3SDRAM features[R].Boise,ID:Micron Technology,Inc,2009

    [13]Cui Z,McKee S A,Zha Z,et al.DTail:A flexible approach to DRAM refresh management[C]??Proc of the Int Conf on Supercomputing(ICS).New York:ACM,2014:43 52

    [14]JEDEC.JESD209-2E:Low Power Double Data Rate 2(LPDDR2)[S].Arlington,VA:JEDEC Solid State Technology Association,2010

    [15]JEDEC.JESD209-3:Low Power Double Data Rate 3(LPDDR3)[S].Arlington,VA:JEDEC Solid State Technology Association,2012

    [16]JEDEC.JESD209B:Low Power Double Data Rate(LPDDR)[S].Arlington,VA:JEDEC Solid State Technology Association,2010

    [17]Liu S,Leung B,Neckar A,et al.Hardware?software techniques for DRAM thermal management[C]??Proc of the Int Symp on High-Performance Computer Architecture(HPCA).Piscataway,NJ:IEEE,2011:515 525

    [18]Stuecheli J,Kaseridis D.Elastic refresh:Techniques to mitigate refresh penalties in high density memory[C]??Proc of the Int Symp on Microarchitecture(MICRO).Los Alamitos,CA:IEEE Computer Society,2010:375 384

    [19]Mukundan J,Hunter H,Kim K H,et al.Understanding and mitigating refresh overheads in high-density DDR4 DRAM systems[C]??Proc of the Int Symp on Computer Architecture(ISCA).New York:ACM,2013:48 59

    [20]Nair P,Chou C C,Qureshi M K.A case for refresh pausing in DRAM memory systems[C]??Proc of the Int Symp on High-Performance Computer Architecture(HPCA).Piscataway,NJ:IEEE,2013:627 638

    [21]Chang K K W,Lee D,Chishti Z,et al.Improving DRAM performance by parallelizing refreshes with accesses[C]?? Proc of the Int Symp on High-Performance Computer Architecture(HPCA).Piscataway,NJ:IEEE,2014:356 367

    [22]Kim K,Lee J.A new investigation of data retention time in truly nanoscaled DRAMs[J].IEEE Electron Device Letters,2009,30(8):846 848

    [23]Ohsawa T,Kai K,Murakami K.Optimizing the DRAM refresh count for merged DRAM?logic LSIs[C]??Proc of the Int Symp on Low Power Electronics and Design(ISLPED).New York:ACM,1998:82 87

    [24]Liu J,Jaiyen B,Veras R,et al.RAIDR:Retention-aware intelligent DRAM refresh[C]??Proc of the Int Symp on Computer Architecture(ISCA).Piscataway,NJ:IEEE,2012:1 12

    [25]Wang J,Dong X,Xie Y.ProactiveDRAM:A DRAM-initiated retention management scheme[C]??Proc of the Int Conf on Computer Design(ICCD).Piscataway,NJ:IEEE,2014:22 27

    [26]Venkatesan R K,Herr S,Rotenberg E.Retention-aware placement in DRAM(RAPID):Software methods for quasinon-volatile DRAM[C]??Proc of the Int Symp on High-Performance Computer Architecture(HPCA).Piscataway,NJ:IEEE,2006:155 165

    [27]Baek S,Cho S,Melhem R.Refresh now and then[J].IEEE Trans on Computers,2013,63(12):3114 3126

    [28]Isen C,John L.ESKIMO:Energy savings using semantic knowledge of inconsequential memory occupancy for DRAM subsystem[C]??Proc of the Int Symp on Microarchitecture(MICRO).New York:ACM,2009:337 346

    [29]Liu S,Pattabiraman K,Moscibroda T,et al.Flikker:Saving DRAM refresh-power through critical data partitioning[C]??Proc of the Int Conf on Architectural Support for Programming Languages and Operating Systems(ASPLOS).New York:ACM,2011:213 224

    [30]Ghosh M,Lee H H S.Smart refresh:An enhanced memory controller design for reducing energy in conventional and 3D die-stacked DRAMs[C]??Proc of the Int Symp on Microarchitecture(MICRO).Los Alamitos,CA:IEEE Computer Society,2007:134 145

    [31]Lin C H,Shen D Y,Chen Y J,et al.SECRET:Selective error correction for refresh energy reduction in DRAMs[C]??Proc of the Int Conf on Computer Design(ICCD).Piscataway,NJ:IEEE,2012:67 74

    [32]Schechter S,Loh G H,Straus K,et al.Use ECP,not ECC,for hard failures in resistive memories[C]??Proc of the Int Symp on Computer Architecture(ISCA).New York:ACM,2010:141 152

    [33]Nair P J,Kim D H,Qureshi M K.ArchShield:Architectural framework for assisting DRAM scaling by tolerating high error rates[C]??Proc of the Int Symp on Computer Architecture(ISCA).New York:ACM,2013:72 83

    [34]Zeng Feng,Ren Mingming,Yi Maoxiang,et al.Temperature controlled DRAM refresh clocking circuit[J].Modern Electronics Technique,2009,32(15):181 183(in Chinese)(曾鋒,任明明,易茂祥,等.溫度自適應(yīng)性DRAM刷新時(shí)鐘電路[J].現(xiàn)代電子技術(shù),2009,32(15):181 183)

    [35]Yin Wanjun.Design of DRAM refresh clock generation circuit based on temperature[D].Chengdu:Southwest Jiaotong University,2014(in Chinese)(殷萬君.基于溫度的DRAM刷新時(shí)鐘產(chǎn)生電路設(shè)計(jì)[D].成都:西南交通大學(xué),2014)

    [36]Liu J,Jaiyen B,Kim Y,et al.An experimental study of data retention behavior in modern DRAM devices:Implications for retention time profiling mechanisms[C]??Proc of the Int Symp on Computer Architecture(ISCA).New York:ACM,2013:60 71

    [37]Yaney D,Lu C,Kohler R,et al.A meta-stable leakage phenomenon in DRAM charge storage—Variable hold time[C]??Proc of the Int Electron Devices Meeting(IEDM).Piscataway,NJ:IEEE,1987:336 339

    [38]Restle P,Park J,Lloyd B.DRAM variable retention time[C]??Proc of the Int Electron Devices Meeting(IEDM).Piscataway,NJ:IEEE,1992:807 810

    [39]Kim H,Oh B,Son Y,et al.Characterization of the variable retention time in dynamic random access memory[J].IEEE Trans on Electron Devices,2011,58(9):2952 2958

    [40]Kim K,Chung U I,Park Y,et al.Extending the DRAM and FLASH memory technologies to 10nm and beyond[C]?? Proc of the SPIE Advanced Lithography.San Jose,CA:Int Society for Optics and Photonics,2012:1 11

    [41]Agrawal A,Jain P,Ansari A,et al.Refrint:Intelligent refresh to minimize power in on-chip multiprocessor cache hierarchies[C]??Proc of the Int Symp on High-Performance Computer Architecture(HPCA).Piscataway,NJ:IEEE,2013:400 411

    [42]HMCC.Hybrid Memory Cube Specification 1.0[S].Beaverton,OR:Hybrid Memory Cube Consortium,2013

    [43]Tezzaron.OctopusTM8-port DRAM for die-stack applications[R].Naperville,IL:Tezzaron Semiconductor Corp,2010

    Cui Zehan,born in 1989.PhD.Member of China Computer Federation.His main research interests include computer architecture,memory system,performance optimization and low power(cuizehan@ict.a(chǎn)c.cn).

    Chen Mingyu,born in 1972.Professor and PhD supervisor.Member of China Computer Federation.His main research interests include architecture,operating system and algorithm optimization for high performance computers and datacenter networks(cmy@ict.a(chǎn)c.cn).

    Problems and Optimizations of Refresh for Large-Capacity DRAM

    Cui Zehan1,2and Chen Mingyu11(State Key Laboratory of Computer Architecture(Institute of Computing Technology,Chinese Academy of Sciences),Beijing100190)2(University of Chinese Academy of Sciences,Beijing100049)

    DRAM(dynamic random access memory)is widely used as main memory of computer system,which is of fast speed,high density and low cost.DRAM uses capacitors as basic storage cells,and uses the amount of charges to represent digital“0”and“1”.However,the capacitor charges leak over time,causing data lost.To maintain data integrity,DRAM periodically refreshes all cells-read data out before lost and rewrite into cells.Refresh operations block normal memory requests,causing performance overhead;refresh operations also consume extra power,causing energy overhead.The refresh overheads are related to DRAM density.In the past,DRAM density was relative small,and the amount of cells needing to be refreshed was not that large,so the overheads gain little attention.But as the evolving of Moore s Law,DRAM density grows to Gigabits today,and more cells need to be refreshed during the same period,exacerbating the performance and energy overheads.The problem of refresh has now been an important concern for both industry and academia.In this paper,we first introduce how refreshes are performed,its overheads,and some improvements from industry;then we classify the many improvements from industry and academia into two categories-reducing the blocking of memory requests,and reducing the unnecessary refreshesand give our analysis and summaries,respectively;finally,we conclude the research work and point out the possible research directions.

    main memory;dynamic random access memory(DRAM);refresh;performance;power;retention time;unnecessary refresh

    TP333.1

    2014-12-11;

    2015-04-28

    國(guó)家自然科學(xué)基金項(xiàng)目(61221062,61272132,61331008);國(guó)家“九七三”重點(diǎn)基礎(chǔ)研究發(fā)展計(jì)劃基金項(xiàng)目(2011CB302502);中國(guó)科學(xué)院戰(zhàn)略性先導(dǎo)專項(xiàng)課題(XDA06010401)

    This work was supported by the National Natural Science Foundation of China(61221062,61272132,61331008),the National Basic Research Program of China(973Program)(2011CB302502),and the State Priority Research Program of the Chinese Academy of Sciences(XDA06010401).

    ①根據(jù)具體實(shí)現(xiàn)和電流限制,每個(gè)組也可能包含少數(shù)幾個(gè)(比如2個(gè))Bank的行.

    猜你喜歡
    存儲(chǔ)單元功耗命令
    一種28 nm工藝下抗單粒子翻轉(zhuǎn)SRAM的12T存儲(chǔ)單元設(shè)計(jì)
    只聽主人的命令
    數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中的存儲(chǔ)形式及實(shí)驗(yàn)驗(yàn)證
    移防命令下達(dá)后
    揭開GPU功耗的面紗
    一種成本更低的全新靜態(tài)DRAM存儲(chǔ)單元
    MiR-125a-5p is Upregulated in Plasma of Residents from An Electronic Waste Recycling Site
    數(shù)字電路功耗的分析及優(yōu)化
    電子制作(2016年19期)2016-08-24 07:49:54
    這是人民的命令
    “功耗”說了算 MCU Cortex-M系列占優(yōu)
    電子世界(2015年22期)2015-12-29 02:49:44
    变态另类成人亚洲欧美熟女| 最近中文字幕高清免费大全6 | 成年女人看的毛片在线观看| av在线天堂中文字幕| 少妇熟女aⅴ在线视频| 日韩欧美精品免费久久| 美女免费视频网站| av在线老鸭窝| bbb黄色大片| 一级a爱片免费观看的视频| 欧美精品啪啪一区二区三区| 在线播放国产精品三级| 亚洲欧美精品综合久久99| 我的老师免费观看完整版| 一卡2卡三卡四卡精品乱码亚洲| 夜夜爽天天搞| 国产精品免费一区二区三区在线| 日韩欧美 国产精品| 能在线免费观看的黄片| 中亚洲国语对白在线视频| 欧美日韩黄片免| 欧美激情国产日韩精品一区| 日本三级黄在线观看| 日本欧美国产在线视频| 欧美性猛交╳xxx乱大交人| 99久久精品热视频| 男女啪啪激烈高潮av片| 黄色配什么色好看| 日韩大尺度精品在线看网址| 亚洲av电影不卡..在线观看| 午夜精品久久久久久毛片777| 俄罗斯特黄特色一大片| 亚洲美女视频黄频| 身体一侧抽搐| 亚洲人成网站在线播| 欧美成人一区二区免费高清观看| 免费电影在线观看免费观看| 久久久久久九九精品二区国产| 不卡视频在线观看欧美| 欧美最黄视频在线播放免费| 成人鲁丝片一二三区免费| 毛片一级片免费看久久久久 | АⅤ资源中文在线天堂| 国产不卡一卡二| 亚洲人成网站在线播放欧美日韩| 成人一区二区视频在线观看| 99热这里只有精品一区| 午夜激情福利司机影院| 91在线精品国自产拍蜜月| АⅤ资源中文在线天堂| 日韩精品有码人妻一区| 日本-黄色视频高清免费观看| 亚洲中文日韩欧美视频| 亚洲成av人片在线播放无| 日韩一区二区视频免费看| 成人高潮视频无遮挡免费网站| av福利片在线观看| 动漫黄色视频在线观看| 欧美激情国产日韩精品一区| 午夜亚洲福利在线播放| 天堂动漫精品| 久久精品综合一区二区三区| 国产精品爽爽va在线观看网站| 天堂√8在线中文| 琪琪午夜伦伦电影理论片6080| 露出奶头的视频| 日本a在线网址| 床上黄色一级片| 成年女人永久免费观看视频| 中文字幕熟女人妻在线| 成年人黄色毛片网站| 三级毛片av免费| 无人区码免费观看不卡| 国产日本99.免费观看| 国产 一区 欧美 日韩| 中文字幕久久专区| 欧美日韩瑟瑟在线播放| 亚洲成人久久性| www日本黄色视频网| 亚洲av美国av| 有码 亚洲区| 欧美性感艳星| 偷拍熟女少妇极品色| 韩国av一区二区三区四区| 少妇的逼水好多| 亚洲,欧美,日韩| 国内精品一区二区在线观看| 亚洲欧美日韩东京热| 一级黄色大片毛片| 人妻丰满熟妇av一区二区三区| 国产精品三级大全| a级毛片免费高清观看在线播放| 给我免费播放毛片高清在线观看| 特大巨黑吊av在线直播| 尤物成人国产欧美一区二区三区| 亚洲在线自拍视频| 国产亚洲精品av在线| 国产午夜福利久久久久久| 国产午夜精品久久久久久一区二区三区 | 国产蜜桃级精品一区二区三区| 在线观看美女被高潮喷水网站| 亚洲欧美日韩高清专用| 亚洲天堂国产精品一区在线| 又黄又爽又免费观看的视频| av天堂在线播放| 午夜免费成人在线视频| 五月伊人婷婷丁香| 亚洲国产欧洲综合997久久,| 一夜夜www| 国产精品嫩草影院av在线观看 | 亚洲人成网站在线播放欧美日韩| 午夜福利18| 国产精品国产三级国产av玫瑰| 69人妻影院| 国产午夜精品久久久久久一区二区三区 | 婷婷六月久久综合丁香| eeuss影院久久| 日本a在线网址| 亚洲人成网站在线播| 免费无遮挡裸体视频| 色在线成人网| 欧美一区二区亚洲| 97超级碰碰碰精品色视频在线观看| 亚洲av成人精品一区久久| 成人国产综合亚洲| 欧美一区二区精品小视频在线| 18禁黄网站禁片免费观看直播| 色综合亚洲欧美另类图片| 成人av一区二区三区在线看| 国产午夜精品论理片| 成人国产综合亚洲| av天堂在线播放| 亚洲av中文av极速乱 | 亚洲av美国av| 99热只有精品国产| 国产亚洲91精品色在线| 日日撸夜夜添| 丰满的人妻完整版| 国产亚洲91精品色在线| 国产精品,欧美在线| 色吧在线观看| 日韩欧美三级三区| 国产高清视频在线观看网站| 日韩强制内射视频| 91久久精品国产一区二区三区| 乱人视频在线观看| 在线观看午夜福利视频| 亚洲男人的天堂狠狠| 成人鲁丝片一二三区免费| 搡女人真爽免费视频火全软件 | 国产大屁股一区二区在线视频| 国产色爽女视频免费观看| 午夜日韩欧美国产| 色综合色国产| 亚洲精品日韩av片在线观看| 亚洲美女视频黄频| 午夜免费成人在线视频| 亚洲人成伊人成综合网2020| 色尼玛亚洲综合影院| 国产免费男女视频| 成人高潮视频无遮挡免费网站| 日韩欧美国产一区二区入口| 色综合亚洲欧美另类图片| 国产精品久久久久久精品电影| 一级毛片久久久久久久久女| 麻豆av噜噜一区二区三区| 亚洲国产日韩欧美精品在线观看| 2021天堂中文幕一二区在线观| 国产亚洲91精品色在线| 国产亚洲精品久久久com| 色尼玛亚洲综合影院| 韩国av一区二区三区四区| 99久久成人亚洲精品观看| 淫秽高清视频在线观看| av视频在线观看入口| 久99久视频精品免费| 精品一区二区三区av网在线观看| 三级男女做爰猛烈吃奶摸视频| 午夜免费成人在线视频| 天堂√8在线中文| 国产一区二区亚洲精品在线观看| 欧美+日韩+精品| 啦啦啦观看免费观看视频高清| 成年版毛片免费区| ponron亚洲| 久久中文看片网| 狠狠狠狠99中文字幕| 别揉我奶头~嗯~啊~动态视频| 亚洲精品456在线播放app | 白带黄色成豆腐渣| 成人av一区二区三区在线看| 此物有八面人人有两片| 亚洲欧美日韩无卡精品| 久久精品影院6| 国产精品美女特级片免费视频播放器| 成人欧美大片| 日本黄大片高清| 哪里可以看免费的av片| 国产淫片久久久久久久久| 波多野结衣巨乳人妻| 国产精品福利在线免费观看| 九九热线精品视视频播放| 成人无遮挡网站| 又爽又黄无遮挡网站| 国产激情偷乱视频一区二区| 久久精品91蜜桃| 嫩草影视91久久| 国产蜜桃级精品一区二区三区| 成人无遮挡网站| 色综合婷婷激情| 国产精品无大码| 69av精品久久久久久| 久久久国产成人精品二区| 人人妻人人看人人澡| 欧美日韩国产亚洲二区| 别揉我奶头~嗯~啊~动态视频| 日本黄色片子视频| 美女被艹到高潮喷水动态| 一区二区三区激情视频| 久久久久久伊人网av| 狂野欧美激情性xxxx在线观看| 午夜精品在线福利| 亚洲图色成人| 天天一区二区日本电影三级| 此物有八面人人有两片| 国产一区二区激情短视频| 久久国内精品自在自线图片| 亚洲av成人精品一区久久| 成人特级黄色片久久久久久久| 欧美bdsm另类| 91在线精品国自产拍蜜月| 国产色爽女视频免费观看| 国产真实伦视频高清在线观看 | 亚洲最大成人中文| 久久久精品欧美日韩精品| 99久久成人亚洲精品观看| 亚洲精品一区av在线观看| 99久久精品国产国产毛片| 伦精品一区二区三区| 国产精品久久久久久精品电影| 在线看三级毛片| 免费观看在线日韩| 91在线精品国自产拍蜜月| 精品人妻一区二区三区麻豆 | 啦啦啦韩国在线观看视频| 国内精品美女久久久久久| 日本精品一区二区三区蜜桃| 欧美一区二区国产精品久久精品| 日本与韩国留学比较| 女生性感内裤真人,穿戴方法视频| 免费人成视频x8x8入口观看| 免费在线观看成人毛片| 亚洲欧美精品综合久久99| 大又大粗又爽又黄少妇毛片口| 欧美激情国产日韩精品一区| 少妇人妻一区二区三区视频| 一级毛片久久久久久久久女| 久久精品国产亚洲网站| 色av中文字幕| 啦啦啦观看免费观看视频高清| 国产伦一二天堂av在线观看| 国产熟女欧美一区二区| 亚洲乱码一区二区免费版| 久久中文看片网| 免费观看的影片在线观看| 久久久久久久久久久丰满 | 如何舔出高潮| 赤兔流量卡办理| 亚洲性久久影院| 国产精品久久久久久亚洲av鲁大| 我要搜黄色片| 免费黄网站久久成人精品| 国产激情偷乱视频一区二区| 全区人妻精品视频| 亚洲精品亚洲一区二区| 天堂动漫精品| 欧美成人一区二区免费高清观看| 可以在线观看的亚洲视频| 亚洲久久久久久中文字幕| 又黄又爽又刺激的免费视频.| 老司机深夜福利视频在线观看| 婷婷精品国产亚洲av在线| 国产91精品成人一区二区三区| 噜噜噜噜噜久久久久久91| 日韩欧美精品免费久久| 久久久久精品国产欧美久久久| 熟妇人妻久久中文字幕3abv| 特大巨黑吊av在线直播| av专区在线播放| 亚洲性夜色夜夜综合| 亚洲四区av| 欧美最黄视频在线播放免费| 一区二区三区高清视频在线| 国产精品精品国产色婷婷| 成年女人毛片免费观看观看9| 国产伦一二天堂av在线观看| 日本 av在线| 欧美成人一区二区免费高清观看| 亚洲avbb在线观看| 日本熟妇午夜| 九九久久精品国产亚洲av麻豆| 69人妻影院| 特大巨黑吊av在线直播| 91狼人影院| 一级a爱片免费观看的视频| 男女视频在线观看网站免费| 看黄色毛片网站| 波多野结衣高清作品| 国产久久久一区二区三区| 无遮挡黄片免费观看| 在线免费观看不下载黄p国产 | 最近中文字幕高清免费大全6 | 亚洲熟妇中文字幕五十中出| 亚洲人成网站高清观看| 88av欧美| 国产色爽女视频免费观看| 国产精品av视频在线免费观看| 蜜桃亚洲精品一区二区三区| 精华霜和精华液先用哪个| 色视频www国产| 亚洲精品亚洲一区二区| 午夜精品久久久久久毛片777| 亚洲电影在线观看av| 亚洲精品影视一区二区三区av| 国产精品99久久久久久久久| 国内毛片毛片毛片毛片毛片| 国产免费男女视频| 日本a在线网址| 欧美+日韩+精品| 91久久精品国产一区二区三区| 国产欧美日韩精品一区二区| 色噜噜av男人的天堂激情| av女优亚洲男人天堂| 内射极品少妇av片p| 一区福利在线观看| 亚洲精华国产精华精| 亚洲精品日韩av片在线观看| 亚洲真实伦在线观看| 长腿黑丝高跟| 99热6这里只有精品| 免费看光身美女| 久久亚洲精品不卡| 久久国内精品自在自线图片| 午夜免费男女啪啪视频观看 | 少妇高潮的动态图| 我的女老师完整版在线观看| 51国产日韩欧美| 国产毛片a区久久久久| 免费不卡的大黄色大毛片视频在线观看 | 欧美国产日韩亚洲一区| 久久香蕉精品热| 亚洲av日韩精品久久久久久密| 国内精品久久久久久久电影| 尾随美女入室| www日本黄色视频网| 欧美在线一区亚洲| av在线老鸭窝| 91av网一区二区| 久久久色成人| 成人av一区二区三区在线看| 欧美xxxx性猛交bbbb| 亚洲成人久久性| 真人一进一出gif抽搐免费| 一级黄色大片毛片| 禁无遮挡网站| 成人av一区二区三区在线看| 51国产日韩欧美| 大型黄色视频在线免费观看| 午夜激情欧美在线| 人人妻,人人澡人人爽秒播| 国产精品美女特级片免费视频播放器| 精品一区二区三区人妻视频| 麻豆成人午夜福利视频| 91午夜精品亚洲一区二区三区 | 91av网一区二区| 蜜桃亚洲精品一区二区三区| 午夜a级毛片| 午夜福利成人在线免费观看| 一区福利在线观看| 中文在线观看免费www的网站| 99热网站在线观看| 十八禁国产超污无遮挡网站| 国产成年人精品一区二区| 淫妇啪啪啪对白视频| 亚洲熟妇中文字幕五十中出| 精品久久久久久久人妻蜜臀av| a级毛片免费高清观看在线播放| 中文字幕av在线有码专区| 91久久精品国产一区二区三区| 亚洲午夜理论影院| 亚洲av一区综合| 欧美人与善性xxx| 一级毛片久久久久久久久女| 日韩精品中文字幕看吧| 亚洲精华国产精华精| 国产老妇女一区| 国产精华一区二区三区| ponron亚洲| 非洲黑人性xxxx精品又粗又长| 亚洲真实伦在线观看| 美女高潮的动态| 一级a爱片免费观看的视频| 成人亚洲精品av一区二区| 国产主播在线观看一区二区| 免费黄网站久久成人精品| 久久国产乱子免费精品| 亚洲图色成人| 天堂动漫精品| 看黄色毛片网站| 偷拍熟女少妇极品色| 伊人久久精品亚洲午夜| 99久久无色码亚洲精品果冻| 成人特级黄色片久久久久久久| 国产精品嫩草影院av在线观看 | 桃红色精品国产亚洲av| 麻豆久久精品国产亚洲av| 亚洲成人久久爱视频| 欧美+亚洲+日韩+国产| 亚洲人成伊人成综合网2020| 18禁黄网站禁片免费观看直播| 人妻久久中文字幕网| 国内揄拍国产精品人妻在线| 乱码一卡2卡4卡精品| 国产精品人妻久久久影院| 亚洲av成人精品一区久久| 国产国拍精品亚洲av在线观看| 亚洲第一电影网av| 精华霜和精华液先用哪个| 91麻豆av在线| 久久久久久久久大av| 久久久国产成人精品二区| 国产在线精品亚洲第一网站| 国产亚洲91精品色在线| netflix在线观看网站| 亚洲av一区综合| 伦理电影大哥的女人| www.www免费av| 成年女人看的毛片在线观看| 午夜激情福利司机影院| 欧美日韩精品成人综合77777| 亚洲国产精品合色在线| 日日干狠狠操夜夜爽| 三级男女做爰猛烈吃奶摸视频| 给我免费播放毛片高清在线观看| 亚洲精品亚洲一区二区| 欧美成人免费av一区二区三区| 久久久成人免费电影| 久久久久久久亚洲中文字幕| 国产精品三级大全| 欧美日韩国产亚洲二区| 亚洲五月天丁香| av.在线天堂| 可以在线观看的亚洲视频| 久久人人精品亚洲av| 欧美高清性xxxxhd video| 亚洲av.av天堂| 国产色婷婷99| 免费大片18禁| 国产白丝娇喘喷水9色精品| 久久久久九九精品影院| 国产高潮美女av| 亚洲欧美激情综合另类| 国产一区二区在线观看日韩| 级片在线观看| 美女高潮喷水抽搐中文字幕| 天堂av国产一区二区熟女人妻| 听说在线观看完整版免费高清| 伊人久久精品亚洲午夜| www.www免费av| 国产高潮美女av| 桃色一区二区三区在线观看| 久久亚洲精品不卡| 欧美最黄视频在线播放免费| 一个人免费在线观看电影| 国产黄片美女视频| 日本欧美国产在线视频| 国产三级在线视频| 亚洲不卡免费看| 亚州av有码| 日韩在线高清观看一区二区三区 | 真人做人爱边吃奶动态| 一区二区三区四区激情视频 | 欧美日韩瑟瑟在线播放| 俺也久久电影网| 22中文网久久字幕| 亚洲欧美精品综合久久99| 国产精品免费一区二区三区在线| 午夜视频国产福利| 色播亚洲综合网| 欧美日韩黄片免| 国产亚洲欧美98| 国产免费av片在线观看野外av| 欧美一级a爱片免费观看看| 淫秽高清视频在线观看| 国产黄片美女视频| 亚洲成人久久爱视频| 3wmmmm亚洲av在线观看| 天堂网av新在线| 偷拍熟女少妇极品色| 国产高清不卡午夜福利| 可以在线观看的亚洲视频| 欧美日韩精品成人综合77777| 十八禁国产超污无遮挡网站| av在线天堂中文字幕| 精品福利观看| 亚洲成人久久爱视频| 精品久久久久久久久亚洲 | 国产精品女同一区二区软件 | 一级黄片播放器| 热99在线观看视频| 国产激情偷乱视频一区二区| 日韩av在线大香蕉| 欧美一区二区精品小视频在线| 91麻豆av在线| 国产国拍精品亚洲av在线观看| 搞女人的毛片| 男人的好看免费观看在线视频| 欧美又色又爽又黄视频| 色尼玛亚洲综合影院| 国产一区二区亚洲精品在线观看| 欧美不卡视频在线免费观看| 亚洲成人久久爱视频| 少妇丰满av| 成人欧美大片| 99国产精品一区二区蜜桃av| av在线蜜桃| 成人二区视频| 亚洲国产欧洲综合997久久,| 天天一区二区日本电影三级| 精品一区二区三区视频在线| 亚洲成人中文字幕在线播放| 国产探花在线观看一区二区| 岛国在线免费视频观看| 精品一区二区三区人妻视频| 老司机福利观看| 99在线人妻在线中文字幕| 日本熟妇午夜| 99精品久久久久人妻精品| 日韩中字成人| 日日摸夜夜添夜夜添小说| 色播亚洲综合网| 国产乱人视频| 亚洲精品乱码久久久v下载方式| 少妇的逼好多水| 少妇高潮的动态图| 欧美xxxx性猛交bbbb| 国产伦精品一区二区三区视频9| 午夜视频国产福利| 国模一区二区三区四区视频| 亚洲真实伦在线观看| 国产aⅴ精品一区二区三区波| 国产精品精品国产色婷婷| 在线天堂最新版资源| 成人鲁丝片一二三区免费| 五月玫瑰六月丁香| 不卡视频在线观看欧美| 麻豆成人午夜福利视频| 日本 av在线| 人人妻人人看人人澡| 午夜福利在线观看吧| 国产男靠女视频免费网站| 精品人妻一区二区三区麻豆 | 日韩欧美精品免费久久| 亚洲真实伦在线观看| 国产高清三级在线| 少妇裸体淫交视频免费看高清| 久久精品91蜜桃| 亚洲欧美精品综合久久99| 麻豆国产97在线/欧美| 色综合色国产| 亚洲人与动物交配视频| 久久99热这里只有精品18| 中文资源天堂在线| 在现免费观看毛片| 黄片wwwwww| 麻豆一二三区av精品| 最近最新免费中文字幕在线| 波多野结衣高清无吗| 国产综合懂色| а√天堂www在线а√下载| 12—13女人毛片做爰片一| 亚洲不卡免费看| 99九九线精品视频在线观看视频| 亚洲中文字幕一区二区三区有码在线看| 特大巨黑吊av在线直播| 欧美一区二区国产精品久久精品| 国产视频一区二区在线看| 久久精品国产99精品国产亚洲性色| 精品午夜福利在线看| 成人高潮视频无遮挡免费网站| 国产成人aa在线观看| 色吧在线观看| 国内精品一区二区在线观看| 男人和女人高潮做爰伦理| 久久精品国产自在天天线| 人人妻人人看人人澡| 亚洲最大成人手机在线| 少妇丰满av| 亚洲国产日韩欧美精品在线观看| 亚洲av免费高清在线观看| 久久精品夜夜夜夜夜久久蜜豆| 色综合婷婷激情| 国产亚洲精品久久久com| 最新中文字幕久久久久| 久久久久久久久中文| 国产亚洲精品久久久com| avwww免费| 在线播放无遮挡| 麻豆国产av国片精品| 色综合亚洲欧美另类图片| 老司机深夜福利视频在线观看| 可以在线观看的亚洲视频| 美女黄网站色视频| 又黄又爽又免费观看的视频| 久久久久性生活片|