專利名稱:清除數(shù)據(jù)的方法和使用上述方法的計(jì)算機(jī)系統(tǒng)及存儲(chǔ)媒體的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)系統(tǒng)的重新啟動(dòng),且特別涉及計(jì)算機(jī)系統(tǒng)的重新啟動(dòng)后的主存儲(chǔ)器數(shù)據(jù)清除。
背景技術(shù):
重新啟動(dòng)是計(jì)算機(jī)系統(tǒng)上非常重要的操作。例如,當(dāng)計(jì)算機(jī)系統(tǒng)發(fā)生了無(wú)法恢復(fù)正常的錯(cuò)誤時(shí),則需要重新啟動(dòng)計(jì)算機(jī)系統(tǒng)。理想中,計(jì)算機(jī)系統(tǒng)重新啟動(dòng)后,會(huì)清除計(jì)算機(jī)系統(tǒng)主存儲(chǔ)器內(nèi)的數(shù)據(jù),并重新加載數(shù)據(jù)。典型的主存儲(chǔ)器中的數(shù)據(jù)在沒(méi)有電源供應(yīng)的情況下會(huì)消失。依照計(jì)算機(jī)系統(tǒng)主存儲(chǔ)器的特性,清除其中的數(shù)據(jù)的時(shí)間長(zhǎng)短不一。對(duì)于計(jì)算機(jī)系統(tǒng)在快速的重新啟動(dòng)的時(shí)間內(nèi),有時(shí)未必能完全清除主存儲(chǔ)器內(nèi)的數(shù)據(jù)。
有些嵌入式操作系統(tǒng),例如微軟公司的Windows CE,當(dāng)計(jì)算機(jī)系統(tǒng)重新啟動(dòng),并加載的操作系統(tǒng)后,會(huì)檢查主存儲(chǔ)器中是否有注冊(cè)文件。如果主存儲(chǔ)器中存有注冊(cè)文件,操作系統(tǒng)即沿用舊的注冊(cè)文件,而不另行載入注冊(cè)文件。因此,若舊注冊(cè)文件已無(wú)效,可能會(huì)造成操作系統(tǒng)執(zhí)行錯(cuò)誤。因此,當(dāng)重新啟動(dòng)后,主存儲(chǔ)器中的數(shù)據(jù)需要清除。如果主存儲(chǔ)器中的數(shù)據(jù)未清除,可能會(huì)讓計(jì)算機(jī)系統(tǒng)讀取舊的數(shù)據(jù)而造成錯(cuò)誤。
圖1顯示傳統(tǒng)上計(jì)算機(jī)系統(tǒng)重新啟動(dòng)后在清除主存儲(chǔ)器數(shù)據(jù)的流程圖。計(jì)算機(jī)系統(tǒng)重新啟動(dòng)后(步驟S2),對(duì)計(jì)算機(jī)系統(tǒng)內(nèi)部各組件初始化(步驟S4)。計(jì)算機(jī)系統(tǒng)取得主存儲(chǔ)器大小(步驟S6),接著清除主存儲(chǔ)器中的數(shù)據(jù)(步驟S8)。按照主存儲(chǔ)器的頻寬,來(lái)清除主存儲(chǔ)器內(nèi)的數(shù)據(jù)。舉例來(lái)說(shuō),在清除存儲(chǔ)器的方式是以字節(jié)(byte)為單位,每次清除一字節(jié)的數(shù)據(jù)。但是以此方式進(jìn)行,若主存儲(chǔ)器容量愈大,清除數(shù)據(jù)的時(shí)間也愈長(zhǎng)。若存儲(chǔ)器太大會(huì)影響系統(tǒng)開(kāi)機(jī)的時(shí)間。另外,此方式也難以準(zhǔn)確預(yù)估完成清除存儲(chǔ)器時(shí)間。
目前許多計(jì)算機(jī)系統(tǒng)仍以動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Dynamic Random AccessMemory,以下簡(jiǎn)稱DRAM)作為主存儲(chǔ)器。不同隨機(jī)存取存儲(chǔ)器有不同特性。如果能對(duì)DRAM類別的主存儲(chǔ)器改善開(kāi)機(jī)后數(shù)據(jù)清除的狀況,則可以減少許多計(jì)算機(jī)因開(kāi)機(jī)后主存儲(chǔ)器舊數(shù)據(jù)未清除所造成的問(wèn)題。
因此,需要一種用以改善上述問(wèn)題的重新開(kāi)機(jī)后的數(shù)據(jù)清除方法。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在提供一種數(shù)據(jù)清除時(shí)間不受存儲(chǔ)器大小影響的清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法。
基于上述目的,本發(fā)明的多個(gè)實(shí)施例提供一種清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法,執(zhí)行于包含動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)。當(dāng)啟動(dòng)上述計(jì)算機(jī)系統(tǒng)時(shí),根據(jù)一段預(yù)定期間,在上述預(yù)定段期間內(nèi)停止對(duì)于上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期,藉以清除上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中的全部數(shù)據(jù)。
可以在上述預(yù)定段期間之前初始化用以供應(yīng)上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期的一組件?;蛘撸谏鲜鲱A(yù)定期間結(jié)束之前,可以開(kāi)始對(duì)上述計(jì)算機(jī)系統(tǒng)的其它單元初始化,上述其它單元不同于上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器或用以供應(yīng)上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期的上述組件。
其中,本發(fā)明多個(gè)實(shí)施例的清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法可以利用一程序?qū)崿F(xiàn),記錄在例如存儲(chǔ)器或存儲(chǔ)裝置的存儲(chǔ)媒體上,當(dāng)此程序加載至一計(jì)算機(jī)系統(tǒng)中,則可執(zhí)行本發(fā)明多個(gè)實(shí)施例的清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法。
另外,本發(fā)明多個(gè)實(shí)施例提供一種計(jì)算機(jī)系統(tǒng),包括動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器以及處理器。上述處理器耦接于上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器。當(dāng)啟動(dòng)上述計(jì)算機(jī)系統(tǒng)時(shí),上述處理器根據(jù)一預(yù)定期間,在上述預(yù)定段期間內(nèi)停止對(duì)于上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期,藉以清除上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中的全部數(shù)據(jù)。
上述處理器可以在上述預(yù)定段期間之前已初始化用以供應(yīng)上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期的一組件?;蛘?,在上述預(yù)定期間結(jié)束之前,上述處理器可以開(kāi)始對(duì)上述計(jì)算機(jī)系統(tǒng)的其它單元初始化,上述其它單元不同于上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器或用以供應(yīng)上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期的上述組件。
圖1顯示傳統(tǒng)上計(jì)算機(jī)系統(tǒng)重新啟動(dòng)后在清除主存儲(chǔ)器數(shù)據(jù)的流程圖;圖2顯示本發(fā)明一實(shí)施例的計(jì)算機(jī)系統(tǒng)10結(jié)構(gòu)方塊圖;圖3顯示本發(fā)明第一實(shí)施例中清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法的流程圖;圖4顯示本發(fā)明第一實(shí)施例步驟S24的流程圖其中一實(shí)例;圖5顯示本發(fā)明第二實(shí)施例中清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法的流程圖;圖6顯示本發(fā)明第二實(shí)施例中第一初始化時(shí)間T1及第一清除數(shù)據(jù)時(shí)間T2;圖7顯示本發(fā)明第二實(shí)施例步驟S52的流程圖其中一實(shí)例;圖8顯示本發(fā)明第二實(shí)施例加載模塊4中指令的示意圖;以及圖9顯示本發(fā)明多個(gè)實(shí)施例的存儲(chǔ)媒體示意圖。
附圖符號(hào)說(shuō)明1-處理器;2-DRAM;3-存儲(chǔ)器控制器;4-加載模塊;5-其它單元;6-組件集合;10-計(jì)算機(jī)系統(tǒng);T1-第一初始化時(shí)間;T2-第一清除數(shù)據(jù)時(shí)間;81到83-指令集合;84-指令被執(zhí)行的順序;621-初始化邏輯;622-停止更新周期邏輯。
具體施方式主存儲(chǔ)器的種類也會(huì)影響數(shù)據(jù)清除的時(shí)間。主存儲(chǔ)器的種類繁多。但是由于成本的考慮,許多計(jì)算機(jī)系統(tǒng)以動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Dynamic RandomAccess Memory,以下簡(jiǎn)稱DRAM)作為主存儲(chǔ)器。因此,本發(fā)明的實(shí)施例提出一種清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法。
圖2顯示本發(fā)明一實(shí)施例的計(jì)算機(jī)系統(tǒng)10結(jié)構(gòu)方塊圖。計(jì)算機(jī)系統(tǒng)10包含處理器1、DRAM 2、存儲(chǔ)器控制器3、加載模塊4、及其它單元5。處理器1耦接于DRAM 2、存儲(chǔ)器控制器3、加載模塊4、及其它單元5。計(jì)算機(jī)系統(tǒng)10可以是個(gè)人計(jì)算機(jī)(personal computer,簡(jiǎn)稱PC)、個(gè)人數(shù)字助理(personal digital assistant,簡(jiǎn)稱PDA)、智能型移動(dòng)電話(smart phone)、精簡(jiǎn)型計(jì)算機(jī)(thin client)、或其它計(jì)算機(jī)系統(tǒng)。處理器1可以是計(jì)算機(jī)系統(tǒng)10的中央處理器(Central processing unit)。DRAM 2為計(jì)算機(jī)系統(tǒng)10的主存儲(chǔ)器。DRAM 2可以是任何需要周期充電的DRAM,例如延伸數(shù)據(jù)輸出隨機(jī)存取存儲(chǔ)器(Extended data out DRAM,簡(jiǎn)稱EDO DRAM)、爆發(fā)式延伸數(shù)據(jù)輸出隨機(jī)存取存儲(chǔ)器(Burst Extended Data Out DRAM,簡(jiǎn)稱BEDO DRAM)、同步型動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Synchronous DRAM,簡(jiǎn)稱SDRAM)、或雙倍數(shù)據(jù)率動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Double Data Rate-Synchronous DRAM,簡(jiǎn)稱DDR-SDRAM)。
存儲(chǔ)器控制器3用以控制上述DRAM 2更新周期。須要了解的是,在第一實(shí)施例中,舉例說(shuō)明存儲(chǔ)器控制器3用以控制DRAM 2的更新周期。有些DRAM能夠自我充電(self-refresh)。
加載模塊4指示計(jì)算機(jī)系統(tǒng)10進(jìn)行開(kāi)機(jī)程序。舉例來(lái)說(shuō),加載模塊4可以指示計(jì)算機(jī)系統(tǒng)10內(nèi)各單元的初始化、指示計(jì)算機(jī)系統(tǒng)10執(zhí)行在計(jì)算機(jī)系統(tǒng)10的閃存(Flash memory)中的操作系統(tǒng)、或加載操作系統(tǒng)的將執(zhí)行的一部分至計(jì)算機(jī)系統(tǒng)10的主存儲(chǔ)器。加載模塊4可以是記錄多個(gè)指令的只讀存儲(chǔ)器,當(dāng)計(jì)算機(jī)系統(tǒng)10開(kāi)機(jī)時(shí)處理器1首先讀取執(zhí)行上述只讀存儲(chǔ)器的指令。加載模塊4可以是在計(jì)算機(jī)系統(tǒng)10的一存儲(chǔ)器中的程序,當(dāng)計(jì)算機(jī)系統(tǒng)10執(zhí)行操作系統(tǒng)之前,執(zhí)行加載模塊4。加載模塊4也可以是操作系統(tǒng)的一部分。加載模塊4可以是經(jīng)由連接端口與計(jì)算機(jī)系統(tǒng)10連接的一個(gè)外部模塊,例如經(jīng)由通用序列匯排流(Universal Serial Bus)連接的閃存、外接式硬盤(External Hard Drive)、精簡(jiǎn)快閃存儲(chǔ)卡(Compact Flash Card)、微型硬盤(Microdrive)、智能媒體卡(Smart Media Card)、多媒體卡(Multi MediaCard)、保密數(shù)字卡(Secure Digital Card)、存儲(chǔ)筆(Memory Stick)、或其它的外接式存儲(chǔ)裝置。
其它單元5可以是芯片組、各種控制器、存儲(chǔ)裝置、或其它組件。本發(fā)明多個(gè)實(shí)施例中,將供應(yīng)DRAM 2更新周期前須先初始化的組件有存儲(chǔ)器控制器3及DRAM 2。組件集合6代表存儲(chǔ)器控制器3及DRAM 2以外計(jì)算機(jī)系統(tǒng)10所包含或連接的組件,例如處理器1、加載模塊4、及其它單元5。
計(jì)算機(jī)系統(tǒng)10可以包含一電源開(kāi)關(guān)。當(dāng)計(jì)算機(jī)系統(tǒng)10運(yùn)作一段時(shí)間,DRAM 2存有各種數(shù)據(jù)及程序代碼。一使用者操作上述電源開(kāi)關(guān)以重新啟動(dòng)計(jì)算機(jī)系統(tǒng)10。清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法可以多種方式實(shí)現(xiàn),以下將舉例第一實(shí)施例及第二實(shí)施例來(lái)說(shuō)明。
(第一實(shí)施例)圖3顯示本發(fā)明第一實(shí)施例中清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法的流程圖。首先,計(jì)算機(jī)系統(tǒng)10被重新啟動(dòng)(步驟S20)。處理器1讀取加載模塊4中的指令以執(zhí)行系統(tǒng)初始化(步驟S22)。在系統(tǒng)初始化步驟中,舉例來(lái)說(shuō),處理器1可以初始化計(jì)算機(jī)系統(tǒng)10的存儲(chǔ)器控制器3、DRAM 2、及計(jì)算機(jī)系統(tǒng)10內(nèi)的其它單元5,例如芯片組、各種控制器。在存儲(chǔ)器控制器3已初始化之后,處理器1可以控制存儲(chǔ)器控制器3。處理器1控制存儲(chǔ)器控制器3以暫停對(duì)于DRAM 2的更新周期(步驟S24)。DRAM 2中的數(shù)據(jù)在沒(méi)有更新周期的情況中會(huì)逐漸流失,藉此以清除DRAM 2中的數(shù)據(jù)。
須要了解的是,在第一實(shí)施例中,舉例說(shuō)明存儲(chǔ)器控制器3用以控制DRAM2的更新周期。有些DRAM能夠自我充電(self-refresh)。在此情況中,處理器1控制DRAM以暫停其自我充電。
上述暫停更新周期的時(shí)間可能因DRAM 2的規(guī)格而異。然而在計(jì)算機(jī)系統(tǒng)10出廠之前,計(jì)算機(jī)系統(tǒng)10的制造者應(yīng)該可以知道暫停更新周期以清除DRAM2全部數(shù)據(jù)所需的時(shí)間。因此計(jì)算機(jī)系統(tǒng)10的制造者可以指定一預(yù)定期間,例如存儲(chǔ)在加載模塊4中。此段時(shí)間須足夠讓DRAM 2中的數(shù)據(jù)全部流失。處理器1在此預(yù)定期間內(nèi)暫停對(duì)DRAM 2的充電。此預(yù)定期間可以用時(shí)脈數(shù)、或十億分之一秒(nanosecond)為度量單位。計(jì)算機(jī)系統(tǒng)10可以包含一定時(shí)器、或計(jì)數(shù)器用以計(jì)時(shí)。或者由處理器1執(zhí)行計(jì)時(shí)。在此情況中,步驟S24可以參照?qǐng)D4說(shuō)明。
圖4顯示本發(fā)明第一實(shí)施例步驟S24的流程圖其中一實(shí)例。在步驟S24,加載模塊4指導(dǎo)處理器1執(zhí)行以下動(dòng)作。
處理器1暫停DRAM 2的更新周期并執(zhí)行計(jì)時(shí)(步驟S241)。例如由處理器1、一個(gè)定時(shí)器、或一個(gè)計(jì)數(shù)器執(zhí)行計(jì)時(shí)。在上述預(yù)定期間內(nèi)處理器1也可以初始化計(jì)算機(jī)系統(tǒng)的其它單元。處理器1可以判定是否上述預(yù)定期間已超過(guò)(步驟S242)。如是,判定DRAM 2中的數(shù)據(jù)已清除(步驟S243),并接著執(zhí)行步驟S26。如果處理器1判定上述預(yù)定期間未超過(guò),則判定DRAM 2中的數(shù)據(jù)未清除(步驟S244),并回到步驟S242。
經(jīng)過(guò)一段足夠讓DRAM 2中的數(shù)據(jù)全部流失的時(shí)間之后(例如上述預(yù)定時(shí)間),處理器1控制存儲(chǔ)器控制器3以恢復(fù)對(duì)于DRAM 2的更新周期(步驟S26)。加載模塊4指示處理器1執(zhí)行一操作系統(tǒng)(步驟S28)。亦即,處理器1根據(jù)加載模塊4中的指令以取得并執(zhí)行一操作系統(tǒng)。上述操作系統(tǒng)可以和加載模塊4存在于同一個(gè)存儲(chǔ)器或不同存儲(chǔ)器中。因此,計(jì)算機(jī)系統(tǒng)10在執(zhí)行上述操作系統(tǒng)之前,清除DRAM 2中的數(shù)據(jù)使得上述操作系統(tǒng)不會(huì)讀取DRAM 2殘存的舊數(shù)據(jù)。
在本發(fā)明第一實(shí)施例中,處理器1可以將加載模塊4中的指令加載至DRAM2執(zhí)行,或直接讀取并執(zhí)行加載模塊4中的指令。
在上述實(shí)施例中,計(jì)算機(jī)系統(tǒng)10是在上述計(jì)算機(jī)系統(tǒng)初始化之后,處理器1再暫停DRAM 2的更新周期以清除DRAM 2中的數(shù)據(jù)。在本發(fā)明第二實(shí)施例中將舉例說(shuō)明清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法另一實(shí)例。
(第二實(shí)施例)先對(duì)在DRAM 2及存儲(chǔ)器控制器3以外的上述計(jì)算機(jī)系統(tǒng)的至少一其它單元初始化,使得在至少一其它單元初始化的時(shí)候DRAM 2能持續(xù)放電,藉以清除DRAM 2中的數(shù)據(jù)。
圖5顯示本發(fā)明第二實(shí)施例中清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法的流程圖。首先,計(jì)算機(jī)系統(tǒng)10被重新啟動(dòng)(步驟S52)。處理器1讀取加載模塊4中的指令以執(zhí)行系統(tǒng)初始化(步驟S52及S54)。和第一實(shí)施例不同的是,在系統(tǒng)初始化步驟中,處理器1可以先初始化計(jì)算機(jī)系統(tǒng)10所包含的其它單元5,亦即存儲(chǔ)器控制器3、及DRAM 2以外計(jì)算機(jī)系統(tǒng)10的單元(步驟S52),例如芯片組、各種控制器,例如顯示器控制器。在步驟S52進(jìn)行的過(guò)程中,DRAM 2無(wú)更新周期供應(yīng)。因此,在其它單元5初始化的同時(shí),DRAM 2中的各存儲(chǔ)單元持續(xù)在放電,以此清除DRAM 2的數(shù)據(jù)(步驟S52)。在較佳情況中,此段時(shí)間足夠讓DRAM 2中的數(shù)據(jù)全部流失。
圖6顯示本發(fā)明第二實(shí)施例中第一初始化時(shí)間T1及第一清除數(shù)據(jù)時(shí)間T2。第一初始化時(shí)間T1是指從計(jì)算機(jī)系統(tǒng)10重新啟動(dòng)而停止DRAM 2的更新周期開(kāi)始至組件集合6完成初始化的時(shí)間。第一清除數(shù)據(jù)時(shí)間T2是指借著停止DRAM 2的更新周期以清除DRAM 2內(nèi)全部數(shù)據(jù)所需的時(shí)間。
在計(jì)算機(jī)系統(tǒng)10出廠之前,計(jì)算機(jī)系統(tǒng)10的制造者可以測(cè)量得知第一初始化時(shí)間T1及第一清除數(shù)據(jù)時(shí)間T2。如果第一初始化時(shí)間大于第一清除數(shù)據(jù)時(shí)間,則在組件集合6初始化完成時(shí),DRAM 2中的數(shù)據(jù)可以清除完畢。在此情況中,步驟S52完成之后,處理器1可以直接執(zhí)行存儲(chǔ)器控制器3及DRAM 2的初始化。如果第一初始化時(shí)間T1小于第一清除數(shù)據(jù)時(shí)間T2,則在其它單元5初始化完成時(shí),DRAM 2中的數(shù)據(jù)可能還沒(méi)清除完畢。在此情況中,計(jì)算機(jī)系統(tǒng)10的制造者可以指定一預(yù)定期間,例如存儲(chǔ)在加載模塊4中。上述預(yù)定期間大于等于第一清除數(shù)據(jù)時(shí)間T2。處理器1根據(jù)加載模塊4中的上述預(yù)定期間執(zhí)行步驟S52,以下參照?qǐng)D7說(shuō)明。在某些情況下,第一初始化時(shí)間T1時(shí)間不固定,例如新增組件至計(jì)算機(jī)系統(tǒng)10可能會(huì)增加第一初始化時(shí)間T1。圖7的說(shuō)明也適用于第一初始化時(shí)間T1時(shí)間不固定的情況。
圖7顯示本發(fā)明第二實(shí)施例步驟S52的流程圖其中一實(shí)例。在步驟S 52中,加載模塊4指導(dǎo)處理器1執(zhí)行以下動(dòng)作。
處理器1初始化組件集合6中至少一個(gè)組件,例如其它單元5,并執(zhí)行計(jì)時(shí)(步驟S522)。例如由處理器1、一個(gè)定時(shí)器、或一個(gè)計(jì)數(shù)器執(zhí)行計(jì)時(shí)。處理器1判別是否已完成組件集合6中所有組件5的初始化或上述預(yù)定期間已超過(guò)(步驟S524)。如果是情況一已完成組件集合6中所有組件5的初始化,處理器1接著判別是否上述預(yù)定期間已超過(guò)(步驟S525)。如是,判定DRAM 2中的數(shù)據(jù)已清除(步驟S528),并接著執(zhí)行步驟S54。如果處理器1判定上述預(yù)定期間未超過(guò),則判定DRAM 2中的數(shù)據(jù)未清除(步驟S527),并回到步驟S525。
如果是情況二上述預(yù)定期間已超過(guò),則表示DRAM 2的數(shù)據(jù)已清除(步驟S526)。處理器1可以接著完成其它單元的初始化(步驟S529)。在步驟S529完成之后,處理器1可以接著執(zhí)行步驟S54。如果在步驟S526之后,組件集合6還有組件未完成初始化,既然DRAM 2的數(shù)據(jù)已清除,在步驟S526之后,未完成初始的組件、存儲(chǔ)器控制器3、及DRAM 2的可以任何順序進(jìn)行初始化。
在步驟S54之前,DRAM 2的數(shù)據(jù)已清除,并且計(jì)算機(jī)系統(tǒng)10的其它單元5已初始化。處理器1再對(duì)存儲(chǔ)器控制器3及DRAM 2進(jìn)行初始化(步驟S54)。處理器1可以控制存儲(chǔ)器控制器3。
處理器1控制存儲(chǔ)器控制器3以恢復(fù)對(duì)于DRAM 2的更新周期(步驟S56)。
在本發(fā)明第二實(shí)施例中,處理器1可以直接讀取并執(zhí)行加載模塊4中的指令以執(zhí)行上述各步驟。然而在步驟S56之后,如果在加載模塊4中還有要執(zhí)行的指令,參照?qǐng)D8說(shuō)明。
圖8顯示加載模塊4中指令的示意圖。圖8中符號(hào)84代表指令被執(zhí)行的順序。加載模塊4包含指令集合81-83,指令集合81指導(dǎo)處理器1執(zhí)行步驟S50-S56。指令集合82-83代表計(jì)算機(jī)系統(tǒng)10在重新啟動(dòng)程序中接下來(lái)要執(zhí)行的指令集合,包含指導(dǎo)處理器1執(zhí)行步驟S57及S59的指令。指令集合82指導(dǎo)處理器1將指令集合83復(fù)制到DRAM 2(步驟S57),使得處理器1可以從DRAM 2讀取并執(zhí)行指令集合83(步驟S58)。如果加載模塊4是韌體或閃存,通常DRAM會(huì)比加載模塊4的存取速度快。藉此加速計(jì)算機(jī)系統(tǒng)10執(zhí)行指令集合83的速度。指令集合83指導(dǎo)處理器1執(zhí)行步驟S59。需要注意的是,在其它實(shí)例中也可以無(wú)步驟S57及S58而在步驟S56之后直接執(zhí)行步驟S59。
加載模塊4指示處理器1執(zhí)行一操作系統(tǒng)(步驟S59)。因此,計(jì)算機(jī)系統(tǒng)10在執(zhí)行上述操作系統(tǒng)之前,清除DRAM 2中的數(shù)據(jù)使得上述操作系統(tǒng)不會(huì)讀取DRAM 2殘存的舊數(shù)據(jù)。
本發(fā)明第二實(shí)施例是在上述預(yù)定期間結(jié)束之前,即開(kāi)始對(duì)在上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器及其存儲(chǔ)器控制器3以外的其它單元初始化。在上述預(yù)定期間超過(guò)之后,才初始化DRAM 2及其存儲(chǔ)器控制器3。藉此讓DRAM 2在被供應(yīng)更新周期之前清除所有其中的數(shù)據(jù)。
本發(fā)明提出一種計(jì)算機(jī)可讀取存儲(chǔ)媒體,用以存儲(chǔ)一計(jì)算機(jī)程序,上述計(jì)算機(jī)程序用以實(shí)現(xiàn)本發(fā)明多個(gè)實(shí)施例的清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法,以執(zhí)行如上所述的步驟。
圖9顯示本發(fā)明多個(gè)實(shí)施例的計(jì)算機(jī)可讀取存儲(chǔ)媒體示意圖。此存儲(chǔ)媒體60,用以存儲(chǔ)一計(jì)算機(jī)程序620,用以實(shí)現(xiàn)本發(fā)明多個(gè)實(shí)施例的清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法。其計(jì)算機(jī)程序包含二個(gè)邏輯,分別為初始化邏輯621、及停止更新周期邏輯622。初始化邏輯621用以初始化計(jì)算機(jī)系統(tǒng)。停止更新周期邏輯622用以根據(jù)一預(yù)定期間,在上述預(yù)定段期間內(nèi)停止對(duì)于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期,藉以清除上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中的全部數(shù)據(jù)。
以上述方式主存儲(chǔ)器數(shù)據(jù)時(shí)間約等于第一清除數(shù)據(jù)時(shí)間T2,無(wú)關(guān)于主存儲(chǔ)器容量的大小,因此也更方便預(yù)估完成清除主存儲(chǔ)器時(shí)間。因此,在本發(fā)明多個(gè)實(shí)施例的清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法可以減少許多計(jì)算機(jī)因開(kāi)機(jī)后主存儲(chǔ)器舊數(shù)據(jù)未清除所造成的問(wèn)題。
雖然本發(fā)明已以較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明,任何熟習(xí)此技藝者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作各種的更動(dòng)與潤(rùn)飾,因此本發(fā)明發(fā)保護(hù)范圍當(dāng)視后附的申請(qǐng)專利范圍所界定者為準(zhǔn)。
權(quán)利要求
1.一種清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法,執(zhí)行于包含一動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的一計(jì)算機(jī)系統(tǒng),包括啟動(dòng)上述計(jì)算機(jī)系統(tǒng);以及根據(jù)一預(yù)定期間,在上述預(yù)定段期間內(nèi)停止對(duì)于上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期,藉以清除上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中的全部數(shù)據(jù)。
2.如權(quán)利要求1所述的清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法,其中,在上述計(jì)算機(jī)系統(tǒng)執(zhí)行一操作系統(tǒng)之前,執(zhí)行上述停止步驟。
3.如權(quán)利要求1所述的清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法,其中,在上述計(jì)算機(jī)系統(tǒng)初始化用以供應(yīng)上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期的組件之后,執(zhí)行上述停止步驟。
4.如權(quán)利要求1所述的清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法,其中,在上述預(yù)定期間之后,才初始化上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器及用以供應(yīng)上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期的組件。
5.如權(quán)利要求4所述的清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法,其中,在上述預(yù)定期間結(jié)束之前,開(kāi)始對(duì)上述計(jì)算機(jī)系統(tǒng)的其它單元初始化,上述其它單元不是上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器或用以供應(yīng)上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期的組件。
6.如權(quán)利要求1所述的清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法,其中,上述計(jì)算機(jī)系統(tǒng)包含一只讀存儲(chǔ)器,當(dāng)重新啟動(dòng)上述計(jì)算機(jī)系統(tǒng)時(shí),上述只讀存儲(chǔ)器中的指令用以指導(dǎo)上述計(jì)算機(jī)系統(tǒng)執(zhí)行上述停止步驟,更包含在上述預(yù)定期間過(guò)后,將上述計(jì)算機(jī)系統(tǒng)接下來(lái)要執(zhí)行的指令從上述只讀存儲(chǔ)器復(fù)制到上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中以便執(zhí)行。
7.一種計(jì)算機(jī)系統(tǒng),包括一動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器;以及一處理器,耦接于上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器,其中,當(dāng)啟動(dòng)上述計(jì)算機(jī)系統(tǒng)時(shí),上述處理器根據(jù)一預(yù)定期間,在上述預(yù)定段期間內(nèi)停止對(duì)于上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期,藉以清除上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中的全部數(shù)據(jù)。
8.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其中,在上述處理器執(zhí)行一操作系統(tǒng)之前,停止對(duì)于上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期。
9.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其中,上述處理器在初始化用以供應(yīng)上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期的一組件之后,停止對(duì)于上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期。
10.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其中,在上述預(yù)定期間之后,上述處理器才初始化上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器及用以供應(yīng)上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期的組件。
11.如權(quán)利要求10所述的計(jì)算機(jī)系統(tǒng),其中,在上述預(yù)定期間結(jié)束之前,上述處理器開(kāi)始對(duì)上述計(jì)算機(jī)系統(tǒng)的其它單元初始化,上述其它單元不同于上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器或用以供應(yīng)上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期的上述組件。
12.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其中,上述計(jì)算機(jī)系統(tǒng)包含一只讀存儲(chǔ)器,當(dāng)重新啟動(dòng)上述計(jì)算機(jī)系統(tǒng)時(shí),上述只讀存儲(chǔ)器中的指令用以指導(dǎo)上述處理器停止對(duì)于上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期,在上述預(yù)定期間過(guò)后,上述處理器將接下來(lái)要執(zhí)行的指令從上述只讀存儲(chǔ)器復(fù)制到上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中以便執(zhí)行。
13.一種計(jì)算機(jī)可讀取存儲(chǔ)媒體,用以存儲(chǔ)一計(jì)算機(jī)程序,其中當(dāng)上述計(jì)算機(jī)程序加載至包含一動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的一計(jì)算機(jī)系統(tǒng)中,則可執(zhí)行一清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法,包括下列步驟當(dāng)啟動(dòng)上述計(jì)算機(jī)系統(tǒng)時(shí),初始化用以供應(yīng)上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期的一組件;以及根據(jù)一預(yù)定期間,在上述預(yù)定段期間內(nèi)控制上述組件以停止對(duì)于上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期,藉以清除上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中的全部數(shù)據(jù)。
全文摘要
一種清除動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中數(shù)據(jù)的方法,執(zhí)行于包含動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)。當(dāng)啟動(dòng)上述計(jì)算機(jī)系統(tǒng)時(shí),根據(jù)一段預(yù)定期間,在上述預(yù)定段期間內(nèi)停止對(duì)于上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的更新周期,藉以清除上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中的全部數(shù)據(jù)。
文檔編號(hào)G06F12/00GK1702632SQ20051008214
公開(kāi)日2005年11月30日 申請(qǐng)日期2005年7月4日 優(yōu)先權(quán)日2005年7月4日
發(fā)明者黃信儒, 李佳翰 申請(qǐng)人:威盛電子股份有限公司