專利名稱:數(shù)據(jù)搬移引擎和存儲(chǔ)器控制方法
技術(shù)領(lǐng)域:
本發(fā)明有關(guān)于一種數(shù)據(jù)搬移引擎和存儲(chǔ)器控制方法。
背景技術(shù):
手持式電子裝置通常由電池供電。為了減少功耗,當(dāng)空閑 的時(shí)候,手持式電子裝置可由普通模式切換至更低功耗模式,例如睡眠模式。當(dāng)發(fā)生恢復(fù)(resume)事件(例如,一個(gè)用戶要求)時(shí),該手持式電子裝置也可離開更低功耗模式,而切換回普通模式。在普通模式中,手持式電子裝置的組件可全部通電,用以提供計(jì)算或顯示功能。當(dāng)手持式電子裝置處于更低功耗模式時(shí),該手持式電子裝置的空閑的組件可關(guān)閉電源或切換至低功耗狀態(tài)(low powered state),用以減少功耗。然而,為了更快地恢復(fù),在手持式電子裝置的一個(gè)存儲(chǔ)器(例如,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dynamic random access memory,DRAM)、 靜態(tài)隨機(jī)存取存儲(chǔ)器(static randomaccess memory, SRAM)、同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器 (synchronous dynamic randomaccess memory, SDRAM)、FLASH 等等)中需存儲(chǔ)一些禾呈序或數(shù)據(jù)。該存儲(chǔ)器為DRAM的情形下,當(dāng)該手持式電子裝置處于更低功耗模式時(shí),用于存儲(chǔ)程序和數(shù)據(jù)的區(qū)域?qū)⒉粫?huì)關(guān)閉電源,而是由DRAM刷新而保持。除DRAM之外,該手持式電子裝置的微處理器也不會(huì)完全關(guān)閉電源,因?yàn)槠溆糜趫?zhí)行DRAM刷新。因此,在更低功耗模式期間,DRAM和微處理器占據(jù)了大部分的功耗。為了在更低功耗模式期間減少手持式電子裝置的功耗,已揭示一種用于DRAM的自刷新技術(shù)。當(dāng)DRAM切換至自刷新狀態(tài)時(shí),DRAM主要執(zhí)行自刷新,且最低程度地需要相應(yīng)的微處理器。這種自刷新技術(shù)被認(rèn)為在更低功耗模式期間減少了功耗。局部自刷新(partial-array-self-refresh,PASR)技術(shù)是另一種用于DRAM 的低功耗技術(shù)。與周期性的刷新整個(gè)DRAM的自刷新技術(shù)相比較,PASR技術(shù)僅僅刷新DRAM的一部分,用以進(jìn)一步減少功耗。然而,PASR技術(shù)有一些局限。圖1為具有連續(xù)頁(yè)面(page)的DRAM 100。DRAM 100 被劃分為刷新區(qū)域102和非刷新區(qū)域104。在PASR狀態(tài),DRAM 100僅刷新(自刷新)該刷新區(qū)域102,且不保持非刷新區(qū)域104的數(shù)據(jù)。因此,如果刷新區(qū)域102具有足夠的存儲(chǔ)器空間,且為了實(shí)現(xiàn)更好的功耗,數(shù)據(jù)搬移可將數(shù)據(jù)從非刷新區(qū)域104搬移至刷新區(qū)域102, 用以將DRAM 100切換至PASR狀態(tài)。該數(shù)據(jù)搬移通常由軟件完成。因此,在DRAM 100切換至PASR狀態(tài)之前,該手持式電子裝置的微處理器仍消耗相當(dāng)數(shù)量的功率。此外,因?yàn)榘瑪?shù)據(jù)搬移程序的核心(kernel)在數(shù)據(jù)搬移期間是固定的,如果核心位于非刷新區(qū)域104, 貝IJ DRAM 100不能切換至PASR狀態(tài),因此極大阻礙系統(tǒng)使用PASR技術(shù)的機(jī)率。此外,在數(shù)據(jù)搬移期間所需的多個(gè)查找表需被存儲(chǔ)在刷新區(qū)域102中。因此,需要額外軟件程序,用以保證該多個(gè)查找表已存儲(chǔ)于刷新區(qū)域102中。同樣,當(dāng)恢復(fù)事件發(fā)生時(shí),需要額外的軟件程序,用以在先前的數(shù)據(jù)搬移之前,將DRAM恢復(fù)至初始狀態(tài)。該多個(gè)額外的軟件程序影響了該可持式電子裝置在普通模式與更低功耗模式之間的切換速度。
發(fā)明內(nèi)容
為了在更低功耗模式期間減少電子裝置的功耗,本發(fā)明提供一種數(shù)據(jù)搬移引擎和存儲(chǔ)器控制方法。本發(fā)明提供一種用于電子裝置的數(shù)據(jù)搬移引擎,該數(shù)據(jù)搬移引擎包括地址產(chǎn)生模塊,用以獲得該電子裝置的存儲(chǔ)器的非刷新區(qū)域的數(shù)據(jù)的至少一源地址,并產(chǎn)生至少一目標(biāo)地址,用以將該數(shù)據(jù)從該非刷新區(qū)域搬移至該存儲(chǔ)器的刷新區(qū)域,并產(chǎn)生源-目標(biāo)映射表,當(dāng)該存儲(chǔ)器切換至更低功耗模式時(shí),該刷新區(qū)域被刷新,而該非刷新區(qū)域不被刷新; 以及直接存儲(chǔ)器存取模塊,用以獨(dú)立于該電子裝置的微處理器而執(zhí)行第一數(shù)據(jù)搬移,以依據(jù)該源_目標(biāo)映射表將該數(shù)據(jù)從該非刷新區(qū)域搬移至該刷新區(qū)域。本發(fā)明另提供一種存儲(chǔ)器控制方法,該存儲(chǔ)器位于電子裝置之內(nèi),該存儲(chǔ)器控制方法包括獲得該存儲(chǔ)器的非刷新區(qū)域的數(shù)據(jù)的至少一源地址,并產(chǎn)生至少一目標(biāo)地址,用以將該數(shù)據(jù)從該非刷新區(qū)域搬移至該存儲(chǔ)器的刷新區(qū)域,并相應(yīng)地產(chǎn)生源-目標(biāo)映射表, 其中,當(dāng)該存儲(chǔ)器切換至更低功耗模式時(shí),該刷新區(qū)域被刷新,而該非刷新區(qū)域不被刷新; 以及執(zhí)行第一數(shù)據(jù)搬移,用以依據(jù)該源_目標(biāo)映射表而不使用該存儲(chǔ)器的任何程序?qū)⒃摂?shù)據(jù)從該非刷新區(qū)域搬移至該刷新區(qū)域。本發(fā)明提供的數(shù)據(jù)搬移引擎和存儲(chǔ)器控制方法能夠加快存儲(chǔ)器在普通模式和更低功耗模式之間的切換,同時(shí)減少電子裝置的功耗。
圖1為具有連續(xù)頁(yè)面的DRAM 100 ;圖2為依據(jù)本發(fā)明的一實(shí)施例的具有數(shù)據(jù)搬移引擎的電子裝置的方塊示意圖;圖3為電子裝置切換至更低功耗模式時(shí)的DME的操作流程圖;圖4為喚醒電子裝置的恢復(fù)事件發(fā)生時(shí)的DME的操作流程圖;圖5A為圖3步驟S318的第一數(shù)據(jù)搬移的實(shí)施例的示意圖;圖5B為圖3步驟S318的第一數(shù)據(jù)搬移的另一實(shí)施例的示意圖。
具體實(shí)施例方式在說(shuō)明書及權(quán)利要求當(dāng)中使用了某些詞匯來(lái)指稱特定組件。所屬技術(shù)領(lǐng)域的技術(shù)人員應(yīng)可理解,制造商可能會(huì)用不同名詞來(lái)稱呼同一個(gè)組件。本說(shuō)明書及權(quán)利要求并不以名稱的差異作為區(qū)分組件的方式,而是以組件在功能上的差異作為區(qū)分準(zhǔn)則。在通篇說(shuō)明書及權(quán)利要求中所提及的“包含”為開放式用語(yǔ),故應(yīng)解釋成“包含但不限定于”。此外,“耦接” 一詞在此包含任何直接及間接的電氣連接手段。藉由以下的較佳實(shí)施例的敘述并配合全文的圖2至圖5B說(shuō)明本發(fā)明,但以下敘述中的裝置、組件與方法、步驟乃用以解釋本發(fā)明,而不應(yīng)當(dāng)用來(lái)限制本發(fā)明。圖2為依據(jù)本發(fā)明的一實(shí)施例的具有數(shù)據(jù)搬移引擎的電子裝置200的方塊示意圖。電子裝置200可由電池202供電。在另一實(shí)施例中,該電子裝置200可由電源供電。電池202或電源所提供的能量可由功率管理集成電路(integrated-CirCuit,IC)204調(diào)節(jié),且該功率管理IC 204的調(diào)節(jié)器206和208分別為DRAM 210和區(qū)塊212 (包括電子裝置200 的其他組件)供電。在區(qū)塊212中,包含微處理器214、總線216、DRAM控制器218和數(shù)據(jù)搬移弓丨擎(data movementengine,DME)220o DME 220可由硬件或包含用于執(zhí)行軟件的處理器的計(jì)算系統(tǒng)實(shí)現(xiàn),其中該處理器可為微型處理器。當(dāng)該電子裝置200處于普通模式時(shí),微處理器214經(jīng)由總線216和DRAM 控制器218存取DRAM 210。當(dāng)電子裝置200在普通模式和更低功耗模式(更低功耗模式可為任意比普通模式消耗更少功率的模式,且可依據(jù)功耗和恢復(fù)時(shí)間的性能需求由軟件預(yù)先編程)之間切換時(shí),DME 220可設(shè)計(jì)為代替微處理器214控制DRAM 210。請(qǐng)注意,在切換 DRAM 210至更低功耗模式之前和/或自更低功耗模式恢復(fù)該DRAM 210之后所執(zhí)行的數(shù)據(jù)搬移是由DME 220而不是微處理器214所執(zhí)行。傳統(tǒng)技術(shù)中存儲(chǔ)于DRAM的系統(tǒng)核心包括用于PASR處理的數(shù)據(jù)搬移程序,與該傳統(tǒng)技術(shù)相比較,DME 220完成數(shù)據(jù)搬移,且并沒(méi)有使用任何存儲(chǔ)于DRAM 210中的程序。該數(shù)據(jù)搬移能力是由DME220的組件完成的。因?yàn)镈ME 220完成數(shù)據(jù)搬移,且沒(méi)有使用任何存儲(chǔ)于DRAM210的程序,因此數(shù)據(jù)搬移速度得到相當(dāng)程度的提高。此外,因?yàn)镈RAM 210不需為數(shù)據(jù)搬移程序保留空間,所以DRAM 210所包含的數(shù)據(jù)急劇地減少,并增加為了更低功耗而切換DRAM 210至PASR模式的機(jī)率。與傳統(tǒng)技術(shù)相比較,DME 220極大地加快在普通模式和更低功耗模式之間的切換,同時(shí)減少電子裝置200 的功耗。此外,圖2所示的DRAM 210可由多個(gè)DRAM實(shí)施。該多個(gè)DRAM的其中一個(gè)的至少一部分可操作為非刷新區(qū)域238,而其余的部分可操作為刷新區(qū)域236。在此實(shí)施例中,當(dāng)該多個(gè)DRAM處于更低功耗模式(更低功耗模式可為任意比普通模式消耗更少電力的模式, 且可依據(jù)功耗和恢復(fù)時(shí)間的性能需求由軟件預(yù)先編程)時(shí),操作為刷新區(qū)域236的部分被刷新,而操作為非刷新區(qū)域238的部分并未被執(zhí)行刷新動(dòng)作。無(wú)論是單個(gè)DRAM或多于一個(gè)的DRAM,刷新區(qū)域236的容量以及非刷新區(qū)域238的容量都可以調(diào)節(jié)。在圖2所示的實(shí)施例中,DME 220可包括控制緩存器226、PASR判斷模塊228、地址產(chǎn)生模塊230、直接存儲(chǔ)器存取(direct memory access, DMA)模塊232和SRAM 234??刂凭彺嫫?26、PASR判斷模塊228和SRAM 234為可選的。地址產(chǎn)生模塊230和DMA模塊232 可由硬件實(shí)施,或由DME 220的計(jì)算系統(tǒng)的軟件完成。DME 220可耦接于總線216和DRAM 控制器218之間。圖3為電子裝置200切換至更低功耗模式時(shí)的DME 220的操作流程圖。請(qǐng)參考圖 3,電子裝置200初始處于普通模式(步驟S302)。判斷電子裝置200是否切換至更低功耗模式(步驟S304),如果已切換至更低功耗模式,微處理器214可執(zhí)行軟件,用以設(shè)置DME 220 的控制緩存器226以指示頁(yè)面使用表的位置(步驟S306),如果未切換至更低功耗模式,則返回步驟S302。頁(yè)面使用表記錄DRAM210的已使用區(qū)域(包含數(shù)據(jù))和未使用區(qū)域(可用空間),且微處理器214可將頁(yè)面使用表記錄于DRAM 210的刷新區(qū)域236或DME 220的 SRAM 234中。在設(shè)置控制緩存器226之后,微處理器214可切換至更低功耗模式,例如,睡眠模式或關(guān)閉電源模式(步驟S308)。請(qǐng)注意,在其他實(shí)施例中,微處理器214仍然是活躍 (active)的,但是不干預(yù)接下來(lái)的數(shù)據(jù)搬移。在接下來(lái)的處理過(guò)程中,DME220可代替微處理器214對(duì)DRAM 210進(jìn)行存取。在接下來(lái)的數(shù)據(jù)搬移期間,微處理器214不會(huì)存取DRAM 210中的數(shù)據(jù)。PASR判斷模塊228確定DRAM 210是否適合PASR模式或更低功耗模式,例如深度省電(de印power down, DPD)模式、電源關(guān)閉模式等,換句話說(shuō),PASR判斷模塊228 確定用于DRAM 210的PASR模式是否能實(shí)現(xiàn)(步驟S310),其中,該確定可基于由控制緩存器226表示的頁(yè)面使用表。例如,PASR判斷模塊228可確定DRAM 210的刷新區(qū)域236的該未使用區(qū)域(可用空間)是否足夠大,以使能存儲(chǔ)DRAM 210的非刷新區(qū)域238的數(shù)據(jù)。 如果DRAM 210的刷新區(qū)域236的該未使用區(qū)域(可用空間)足夠大,則DRAM 210能進(jìn)入 PASR模式。在一些實(shí)施例中,PASR判斷模塊228可確定在DRAM 210的非刷新區(qū)域238中是否存在固定的數(shù)據(jù)。當(dāng)DRAM 210不適合PASR模式時(shí),DRAM 210切換至其他更低功耗模式,例如自刷新模式(步驟S312)。然后電子裝置200可切換至更低功耗模式(步驟S314)。 在一些實(shí)施例中,使用多個(gè)DRAM。PASR判斷模塊228確定該多個(gè)DRAM的至少一個(gè)是否能進(jìn)入PASR模式或更低功耗模式,例如DPD模式、電源關(guān)閉模式等(步驟S310)。如果不能,該多個(gè)DRAM的該至少一個(gè)切換至其他更低功耗狀態(tài),例如自刷新狀態(tài)(步驟S312)。然后電子裝置200可切換至更低功耗模式(步驟S314)。其中,該確定可基于頁(yè)面使用表。例如, 參考圖5B,圖5B為圖3步驟S318的第一數(shù)據(jù)搬移的另一實(shí)施例的示意圖,其中DRAM 210 由多個(gè)DRAM實(shí)施。如果DRAMO的刷新區(qū)域的未使用區(qū)域足夠大,以使能存儲(chǔ)DRAMl的非刷新區(qū)域甚至整個(gè)區(qū)域的數(shù)據(jù),則DRAMl能進(jìn)入PASR模式或者甚至DPD模式當(dāng)在步驟S310中,確定PASR模式可應(yīng)用于DRAM 210時(shí),S卩,確定PASR模式可實(shí)現(xiàn)時(shí),執(zhí)行步驟S316。在步驟S316中,地址產(chǎn)生模塊230依據(jù)控制緩存器226查找頁(yè)面使用表,獲得DRAM 210的非刷新區(qū)域238中數(shù)據(jù)的至少一個(gè)源地址(source address),并產(chǎn)生至少一個(gè)目標(biāo)地址(destination address),用以將數(shù)據(jù)從DRAM 210的非刷新區(qū)域238 搬移至刷新區(qū)域236,相應(yīng)地,依據(jù)該頁(yè)面使用表產(chǎn)生源-目標(biāo)映射表。源-目標(biāo)映射表可存儲(chǔ)于DRAM 210的刷新區(qū)域236或DME 220的SRAM 234中。在步驟S318中,DMA模塊 232依據(jù)源-目標(biāo)映射表執(zhí)行第一數(shù)據(jù)搬移,用以將數(shù)據(jù)從非刷新區(qū)域238搬移至刷新區(qū)域 236。需注意的是,DMA模塊232允許獨(dú)立于微處理器214而執(zhí)行第一數(shù)據(jù)搬移。第一數(shù)據(jù)搬移可不使用存儲(chǔ)器內(nèi)的任何程序而執(zhí)行。DRAM 210中存儲(chǔ)的系統(tǒng)核心不包括用以將數(shù)據(jù)從非刷新區(qū)域238搬移至刷新區(qū)域236的程序。因此,DRAM 210的系統(tǒng)核心是可移動(dòng)的,因?yàn)樵跀?shù)據(jù)搬移階段中沒(méi)有組件對(duì)系統(tǒng)核心進(jìn)行存取,因此增加了 PASR技術(shù)的可行性。在步驟S318的第一數(shù)據(jù)搬移之后,在步驟S320中,DME 220將DRAM 210切換至PASR模式,然后在步驟S314中,電子裝置200可切換至更低功耗模式。在更低功耗模式期間,盡管微處理器214和電子裝置200的一些組件可處于低功耗狀態(tài),能夠偵測(cè)恢復(fù)事件的DME 220和一些組件可被喚醒。此外,步驟S314是可選的,電子裝置200在數(shù)據(jù)搬移之后可以不進(jìn)入更低功耗模式。在另一實(shí)施例中,DME 220不包括PASR判斷模塊228,在步驟S308中將微處理器 214設(shè)置為省電模式之前,圖3的步驟S310可由圖2的微處理器214實(shí)現(xiàn)。圖4為喚醒電子裝置200的恢復(fù)事件發(fā)生時(shí)的DME 220的操作流程圖。接下來(lái)討論圖4的流程圖。圖2的電子裝置200初始處于更低功耗模式(步驟S402)。當(dāng)偵測(cè)到恢復(fù)事件(步驟S404),例如,用戶按壓了鍵盤或觸摸屏,則流程圖進(jìn)入下述步驟。DRAM 210依據(jù)圖3步驟S310的PASR判斷結(jié)果離開更低功耗模式,例如自刷新模式、PASR模式、DPD模式、關(guān)閉電源模式等(步驟S406)。當(dāng)確定DME 220已對(duì)DRAM 210執(zhí)行第一數(shù)據(jù)搬移(步驟 S408),則執(zhí)行步驟S410。在步驟S410中,DMA模塊232依據(jù)步驟S316中產(chǎn)生的源-目標(biāo)映射表執(zhí)行第二數(shù)據(jù)搬移,用以將位于已記錄的目標(biāo)地址的數(shù)據(jù)搬移回已記錄的源地址, 因此,DRAM 210可在第一數(shù)據(jù)搬移之前恢復(fù)其初始狀態(tài)。同樣,DMA模塊232獨(dú)立于微處理器214而執(zhí)行第二數(shù)據(jù)搬移。在一實(shí)施例中,DMA模塊232獨(dú)立于微處理器214而執(zhí)行第二數(shù)據(jù)搬移意味著不使用微處理器214而執(zhí)行第二數(shù)據(jù)搬移。此外,第二數(shù)據(jù)搬移可不使用存儲(chǔ)器內(nèi)的任何程序而執(zhí)行。微處理器214爾后可恢復(fù)(步驟S412),用以減少更多的功耗。然而,如果微處理器214并未進(jìn)入更低功耗模式,則步驟S412是可選的。最后,電子裝置200切換至普通模式用于普通操作(步驟S414)。請(qǐng)返回至步驟S408,當(dāng)確定在DRAM 210上并未執(zhí)行第一數(shù)據(jù)搬移時(shí),微處理器214可被恢復(fù)(步驟S412)而不執(zhí)行步驟S410, 且電子裝置200在步驟S414中切換至普通模式。圖5A為圖3步驟S318的第一數(shù)據(jù)搬移的實(shí)施例的示意圖。在圖5A中,DRAM 210 由多個(gè)連續(xù)頁(yè)面表示,且該多個(gè)頁(yè)面被劃分為4組,即BankO、Bankl、Bank2和Bank3。其中 BankO和Bankl組成刷 新區(qū)域236,Bank2和Bank3組成非刷新區(qū)域238。包含數(shù)據(jù)的頁(yè)面 (已使用區(qū)域)被斜線標(biāo)記,而空白頁(yè)面表示未使用頁(yè)面(未使用區(qū)域)。如圖5A所示,第一數(shù)據(jù)搬移可將數(shù)據(jù)從非刷新區(qū)域238搬移至刷新區(qū)域236。在第一數(shù)據(jù)搬移之后,DRAM 210可切換至PASR狀態(tài),用以減少功耗且不損失任何數(shù)據(jù)。在其他實(shí)施例中,在電子裝置200中可應(yīng)用多于一個(gè)DRAM。例如,圖2的DRAM 210 可由兩個(gè)DRAM代替,例如圖5B的DRAMO和DRAMl。在這種情形下,DRAMO可擔(dān)任DRAM 210 的刷新區(qū)域236的角色,而DRAMl可擔(dān)任DRAM 210的非刷新區(qū)域238的角色。圖5B所示的箭頭表示由DMA模塊232對(duì)該多個(gè)DRAM(DRAM0和DRAM1)執(zhí)行的第一數(shù)據(jù)搬移。在第一數(shù)據(jù)搬移之后,DRAMl是空白的,且能被完全關(guān)閉電源,用以降低電子裝置200的功耗。需注意的是,僅管在上述實(shí)施例中使用DRAM,本發(fā)明也可應(yīng)用于其他存儲(chǔ)器,例如 SRAM、SDRAM、FLASH等。此外,上述實(shí)施例的步驟順序僅用于說(shuō)明,并不以此為限。上述的實(shí)施例僅用來(lái)列舉本發(fā)明的實(shí)施方式,以及闡釋本發(fā)明的技術(shù)特征,并非用來(lái)限制本發(fā)明的范疇。任何所屬技術(shù)領(lǐng)域的技術(shù)人員依據(jù)本發(fā)明的精神而輕易完成的改變或均等性安排均屬于本發(fā)明所主張的范圍,本發(fā)明的權(quán)利范圍應(yīng)以權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種用于電子裝置的數(shù)據(jù)搬移引擎,該數(shù)據(jù)搬移引擎包括地址產(chǎn)生模塊,用以獲得該電子裝置的存儲(chǔ)器的非刷新區(qū)域的數(shù)據(jù)的至少一源地址, 并產(chǎn)生至少一目標(biāo)地址,用以將該數(shù)據(jù)從該非刷新區(qū)域搬移至該存儲(chǔ)器的刷新區(qū)域,并產(chǎn)生源-目標(biāo)映射表,當(dāng)該存儲(chǔ)器切換至更低功耗模式時(shí),該刷新區(qū)域被刷新,而該非刷新區(qū)域不被刷新;以及直接存儲(chǔ)器存取模塊,用以獨(dú)立于該電子裝置的微處理器而執(zhí)行第一數(shù)據(jù)搬移,以依據(jù)該源-目標(biāo)映射表將該數(shù)據(jù)從該非刷新區(qū)域搬移至該刷新區(qū)域。
2.如權(quán)利要求1所述的數(shù)據(jù)搬移引擎,進(jìn)一步包括多個(gè)控制緩存器,由該微處理器所設(shè)置,用以表示頁(yè)面使用表的位置,其中該頁(yè)面使用表記錄該存儲(chǔ)器的已使用區(qū)域和未使用區(qū)域;其中,該地址產(chǎn)生模塊查找該頁(yè)面使用表,用以獲得該非刷新區(qū)域的該數(shù)據(jù)的該至少一源地址。
3.如權(quán)利要求1所述的數(shù)據(jù)搬移引擎,其特征在于,該數(shù)據(jù)搬移引擎由硬件或包含處理器執(zhí)行軟件的計(jì)算系統(tǒng)所實(shí)施。
4.如權(quán)利要求1所述的數(shù)據(jù)搬移引擎,其特征在于,在該存儲(chǔ)器切換至該更低功耗模式之前,該直接存儲(chǔ)器存取模塊執(zhí)行該第一數(shù)據(jù)搬移,在該存儲(chǔ)器離開該更低功耗模式之后,該直接存儲(chǔ)器存取模塊依據(jù)該源-目標(biāo)映射表且獨(dú)立于該微處理器執(zhí)行第二數(shù)據(jù)搬移,用以在該第一數(shù)據(jù)搬移之前將該存儲(chǔ)器恢復(fù)至原始狀態(tài)。
5.如權(quán)利要求1所述的數(shù)據(jù)搬移引擎,其特征在于,該存儲(chǔ)器由至少一動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器實(shí)施。
6.如權(quán)利要求5所述的數(shù)據(jù)搬移引擎,其特征在于,該更低功耗模式為局部自刷新模式。
7.如權(quán)利要求1所述的數(shù)據(jù)搬移引擎,其特征在于,該存儲(chǔ)器由多個(gè)動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器實(shí)施,對(duì)于該更低功耗模式,該多個(gè)動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器其中一個(gè)的至少一部分為非刷新的。
8.如權(quán)利要求6所述的數(shù)據(jù)搬移引擎,其特征在于,當(dāng)恢復(fù)事件發(fā)生時(shí),該動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器從該局部自刷新模式中喚醒。
9.如權(quán)利要求8所述的數(shù)據(jù)搬移引擎,其特征在于,在該動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器從該局部自刷新模式中喚醒之后,該直接存儲(chǔ)器存取模塊依據(jù)該源-目標(biāo)映射表且獨(dú)立于該微處理器執(zhí)行第二數(shù)據(jù)搬移,用以在該第一數(shù)據(jù)搬移之前將該動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器恢復(fù)至原始狀態(tài)。
10.如權(quán)利要求5所述的數(shù)據(jù)搬移引擎,其特征在于,進(jìn)一步包括局部自刷新判斷模塊,用以依據(jù)頁(yè)面使用表確定用于該動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的局部自刷新模式是否能實(shí)現(xiàn),該頁(yè)面使用表記錄該動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的已使用區(qū)域和未使用區(qū)域;其中,當(dāng)確定該局部自刷新模式能夠?qū)崿F(xiàn),產(chǎn)生該源-目標(biāo)映射表,該直接存儲(chǔ)器存取模塊執(zhí)行該第一數(shù)據(jù)搬移,然后該數(shù)據(jù)搬移引擎將該動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器切換至該局部自刷新模式。
11.如權(quán)利要求2所述的數(shù)據(jù)搬移引擎,其特征在于,進(jìn)一步包括靜態(tài)隨機(jī)存取存儲(chǔ)器,用以存儲(chǔ)該頁(yè)面使用表和該源-目標(biāo)映射表的至少一個(gè)。
12.如權(quán)利要求2所述的數(shù)據(jù)搬移引擎,其特征在于,該頁(yè)面使用表和該源-目標(biāo)映射表的至少一個(gè)存儲(chǔ)于該存儲(chǔ)器的該刷新區(qū)域。
13.一種存儲(chǔ)器控制方法,該存儲(chǔ)器位于電子裝置之內(nèi),該存儲(chǔ)器控制方法包括獲得該存儲(chǔ)器的非刷新區(qū)域的數(shù)據(jù)的至少一源地址,并產(chǎn)生至少一目標(biāo)地址,用以將該數(shù)據(jù)從該非刷新區(qū)域搬移至該存儲(chǔ)器的刷新區(qū)域,并相應(yīng)地產(chǎn)生源-目標(biāo)映射表,其中, 當(dāng)該存儲(chǔ)器切換至更低功耗模式時(shí),該刷新區(qū)域被刷新,而該非刷新區(qū)域不被刷新;以及執(zhí)行第一數(shù)據(jù)搬移,用以依據(jù)該源-目標(biāo)映射表而不使用該存儲(chǔ)器的任何程序?qū)⒃摂?shù)據(jù)從該非刷新區(qū)域搬移至該刷新區(qū)域。
14.如權(quán)利要求13所述的存儲(chǔ)器控制方法,其特征在于,進(jìn)一步包括提供多個(gè)控制緩存器,其中該多個(gè)控制緩存器由該電子裝置的微處理器所設(shè)置,該多個(gè)控制緩存器用以表示頁(yè)面使用表的位置,其中該頁(yè)面使用表記錄該存儲(chǔ)器的已使用區(qū)域和未使用區(qū)域;以及查找該頁(yè)面使用表,用以獲得該存儲(chǔ)器的該非刷新區(qū)域的該數(shù)據(jù)的該至少一源地址。
15.如權(quán)利要求13所述的存儲(chǔ)器控制方法,其特征在于,進(jìn)一步包括在該存儲(chǔ)器離開該更低功耗模式之后,依據(jù)該源-目標(biāo)映射表且不使用該存儲(chǔ)器的任何程序而執(zhí)行第二數(shù)據(jù)搬移,且該第二數(shù)據(jù)搬移用以在該第一數(shù)據(jù)搬移之前將該存儲(chǔ)器恢復(fù)至原始狀態(tài)。
16.如權(quán)利要求13所述的存儲(chǔ)器控制方法,其特征在于,該存儲(chǔ)器由至少一動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器實(shí)施。
17.如權(quán)利要求16所述的存儲(chǔ)器控制方法,其特征在于,該更低功耗模式為局部自刷新模式。
18.如權(quán)利要求17所述的存儲(chǔ)器控制方法,其特征在于,進(jìn)一步包括當(dāng)恢復(fù)事件發(fā)生時(shí),將該動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器從該局部自刷新模式中喚醒。
19.如權(quán)利要求18所述的存儲(chǔ)器控制方法,其特征在于,在將該動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器從該局部自刷新模式中喚醒之后,依據(jù)該源-目標(biāo)映射表且不使用該動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的任何程序而執(zhí)行第二數(shù)據(jù)搬移,用以在該第一數(shù)據(jù)搬移之前將該動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器恢復(fù)至原始狀態(tài)。
20.如權(quán)利要求16所述的存儲(chǔ)器控制方法,其特征在于,進(jìn)一步包括依據(jù)頁(yè)面使用表確定用于該動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的局部自刷新模式是否能實(shí)現(xiàn),其中該頁(yè)面使用表記錄該動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的已使用區(qū)域和未使用區(qū)域;其中,當(dāng)確定該局部自刷新模式能夠?qū)崿F(xiàn)時(shí),在產(chǎn)生該源-目標(biāo)映射表以及完成該第一數(shù)據(jù)搬移之后,將該動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器切換至該局部自刷新模式。
21.如權(quán)利要求14所述的存儲(chǔ)器控制方法,其特征在于,進(jìn)一步提供靜態(tài)隨機(jī)存取存儲(chǔ)器,用以存儲(chǔ)該頁(yè)面使用表和該源-目標(biāo)映射表的至少一個(gè)。
22.如權(quán)利要求14所述的存儲(chǔ)器控制方法,其特征在于,存儲(chǔ)該頁(yè)面使用表和該源-目標(biāo)映射表的至少一個(gè)于該存儲(chǔ)器的該刷新區(qū)域。
全文摘要
本發(fā)明提供一種數(shù)據(jù)搬移引擎和存儲(chǔ)器控制方法,其中該數(shù)據(jù)搬移引擎包括地址產(chǎn)生模塊,用以獲得該電子裝置的存儲(chǔ)器的非刷新區(qū)域的數(shù)據(jù)的至少一源地址,并產(chǎn)生至少一目標(biāo)地址,用以將該數(shù)據(jù)從該非刷新區(qū)域搬移至該存儲(chǔ)器的刷新區(qū)域,并產(chǎn)生源-目標(biāo)映射表,當(dāng)該存儲(chǔ)器切換至更低功耗模式時(shí),該刷新區(qū)域被刷新,而該非刷新區(qū)域不被刷新;以及直接存儲(chǔ)器存取模塊,用以獨(dú)立于該電子裝置的微處理器而執(zhí)行第一數(shù)據(jù)搬移,以依據(jù)該源-目標(biāo)映射表將該數(shù)據(jù)從該非刷新區(qū)域搬移至該刷新區(qū)域。本發(fā)明提供的數(shù)據(jù)搬移引擎和存儲(chǔ)器控制方法能夠加快存儲(chǔ)器在普通模式和更低功耗模式之間的切換,同時(shí)減少電子裝置的功耗。
文檔編號(hào)G06F12/02GK102262593SQ201010278208
公開日2011年11月30日 申請(qǐng)日期2010年9月10日 優(yōu)先權(quán)日2010年5月25日
發(fā)明者蘇浩坤, 蔡仁福 申請(qǐng)人:聯(lián)發(fā)科技股份有限公司