專(zhuān)利名稱(chēng):記憶模塊動(dòng)態(tài)備份管理系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明系有關(guān)于一種記憶模塊儲(chǔ)存數(shù)據(jù)的管理系統(tǒng)與方法,特別是 有關(guān)于以單一記憶模塊同時(shí)提供儲(chǔ)存與備份數(shù)據(jù)的記憶模塊動(dòng)態(tài)備份管 理系統(tǒng)與方法。
背景技術(shù):
內(nèi)存的發(fā)展極為迅速,尤其是被大量應(yīng)用在可攜式裝置的閃存的發(fā) 展上,其逐漸擴(kuò)大的容量與非揮發(fā)性、可抹除可編程的特性,已經(jīng)使之 成為一般計(jì)算機(jī)或計(jì)算系統(tǒng)的重要輔助內(nèi)存,尤其常配置于可攜式數(shù)字
裝置中作為儲(chǔ)存數(shù)據(jù)及程序之用,例如MP3/MP4音樂(lè)播放器、USB拇指 碟(USB Thumb Flash Disk)及硅碟機(jī)(Solid-State Disk)等。
然而,由于閃存的特性系存在各基本儲(chǔ)存單元的程'序-抹除 (Program-Erase)次數(shù)有壽命限制且不一致,及因制程引起的電荷保存能力 差異,以致會(huì)有隨機(jī)產(chǎn)生壞死區(qū)塊(Bad Blocks)的問(wèn)題;雖然表象上程 序-抹除(Program-Erase)次數(shù)壽命限制可使用平均磨損次數(shù)(Wear Leveling)方式克服,但由于各基本儲(chǔ)存單元可靠度的差異必然使其隨著 使用時(shí)間的增加,壞死區(qū)塊也跟著增加,對(duì)于儲(chǔ)存在該內(nèi)存裝置中的數(shù) 據(jù)可能產(chǎn)生無(wú)預(yù)期毀損的隱憂并無(wú)法避免.。
而一般的硬盤(pán)架構(gòu)中,為了確保數(shù)據(jù)的完整性不受硬件損壞的影響, 常見(jiàn)利用Raid 1的鏡像復(fù)制(Mirroring)來(lái)保護(hù)數(shù)據(jù),當(dāng)數(shù)據(jù)于一硬盤(pán) 上損毀時(shí),仍可于另一個(gè)備份的硬盤(pán)上取出同一份完整的數(shù)據(jù)避免損失。但Raid 1的硬件建置成本較高,須兩個(gè)容量相同的硬盤(pán)做完全一致的復(fù) 制,對(duì)于有相同數(shù)據(jù)完整性保護(hù)需求的可攜式內(nèi)存裝置來(lái)說(shuō),由于此類(lèi) 裝置多半須具備高度的可移植性與輕便體積小的特點(diǎn),因此無(wú)法完全仿 照Raid 1架構(gòu)加以保護(hù)。
然而,目前所發(fā)展的各式可攜式記憶模塊的裝置,多半具有遠(yuǎn)比使 用者所可能真正使用到的容量多上數(shù)倍的總?cè)萘?,例如市面上販賣(mài)的隨 身碟動(dòng)輒4G、 8G,但使用者經(jīng)常儲(chǔ)存的數(shù)據(jù)可能占用不到1G的空間, 如何在不增加硬件成本、同時(shí)又能有效利用內(nèi)存儲(chǔ)存空間來(lái)保護(hù)數(shù)據(jù)的 完整性,是為一個(gè)值得研究的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種無(wú)須增加儲(chǔ)存硬件數(shù)目即 可大幅提升其保護(hù)數(shù)據(jù)可靠度'的、可經(jīng)過(guò)中間層配置數(shù)據(jù)的記憶模塊動(dòng) 態(tài)備份管理系統(tǒng)及其備份管理方法。
為解決以上技術(shù)問(wèn)題,本發(fā)明所述的該系統(tǒng)中包括 一記憶模塊, 可區(qū)分為一主要分割區(qū)及至少一次要分割區(qū); 一處理模塊,其中更包括 一輸出入接口,用于接收或輸出數(shù)據(jù); 一記憶模塊控制單元,控制數(shù)據(jù) 寫(xiě)入該記憶模塊、或自該記憶模塊讀出數(shù)據(jù); 一地址對(duì)照單元,系用以 映對(duì)每一數(shù)據(jù)的邏輯儲(chǔ)存地址、與該數(shù)據(jù)實(shí)際存放在該記憶模塊中的一 第一實(shí)體地址及一第二實(shí)體地址;及一中央處理模塊,其系用于處理數(shù) 據(jù),并控制該記憶模塊控制單元對(duì)該記憶模塊進(jìn)行讀寫(xiě);其中,該第一 實(shí)體地址所指涉之儲(chǔ)存區(qū)塊之集合系為該主要分割區(qū);該第二實(shí)體地址 所指涉之儲(chǔ)存區(qū)塊之集合系為該次要分割區(qū)。
而當(dāng)該記憶模塊之空間不足以同時(shí)分派該第一實(shí)體地址及該第二實(shí)體地址給同一數(shù)據(jù)時(shí),該運(yùn)算模塊即依據(jù)儲(chǔ)存該數(shù)據(jù)所須要之儲(chǔ)存空間, 及該地址對(duì)照單元中所記錄之?dāng)?shù)據(jù),動(dòng)態(tài)調(diào)整該記憶模塊之主要分割區(qū) 及次要分割區(qū),將部分次要分割區(qū)之舊數(shù)據(jù)釋出,使得多余的空間可以 供寫(xiě)入新數(shù)據(jù)所用。
此外,本發(fā)明亦另提供一記憶模塊動(dòng)態(tài)備份管理方法,該方法包括 下列步驟接收數(shù)據(jù)并指派一邏輯儲(chǔ)存地址;由一地址對(duì)照單元將每一 數(shù)據(jù)的一邏輯儲(chǔ)存地址分別映對(duì)到一第一實(shí)體地址及一第二實(shí)體地址, 并且記錄每一數(shù)據(jù)在該記憶模塊中被存取的次數(shù)、及最近被存取的時(shí)間; 將該數(shù)據(jù)寫(xiě)入其邏輯儲(chǔ)存地址所映對(duì)的該第一實(shí)體地址及該第二實(shí)體地 址所指涉之儲(chǔ)存區(qū)塊中儲(chǔ)存。
寫(xiě)入數(shù)據(jù)之過(guò)程中,如可供指派之實(shí)體地址不足,則由一運(yùn)算模塊 依據(jù)儲(chǔ)存新數(shù)據(jù)所需之空間,選擇刪除該次要分割區(qū)中之部分?jǐn)?shù)據(jù),直 至有足夠容納新寫(xiě)入之?dāng)?shù)據(jù)的空間為止。
通過(guò)上述所提供之系統(tǒng)或方法,皆可達(dá)成使閃存系統(tǒng)僅利^單一儲(chǔ) 存媒體,對(duì)同一數(shù)據(jù)保存了至少兩份記錄,以供在于其中一份記錄因主 要分割區(qū)中的儲(chǔ)存區(qū)塊損壞而無(wú)法使用時(shí),仍可由次要分割區(qū)中取得相 同的數(shù)據(jù)文件,提高這種經(jīng)常接受讀寫(xiě)的內(nèi)存的儲(chǔ)存可靠度。
同時(shí),依據(jù)寫(xiě)入數(shù)據(jù)所需要的空間,動(dòng)態(tài)調(diào)整主要分割區(qū)及次要分 割區(qū)之大小來(lái)提供新數(shù)據(jù)及其備份數(shù)據(jù)的儲(chǔ)存,既可提升數(shù)據(jù)記錄的可 靠度、以及有效使用儲(chǔ)存空間,同時(shí)也由動(dòng)態(tài)的調(diào)整儲(chǔ)存空間達(dá)成可靠 度及善用儲(chǔ)存空間兩者間的平衡。 而該系統(tǒng)或該方法如何在單一內(nèi)存中達(dá)成保障數(shù)據(jù)完整性,及儲(chǔ)存 空間不足時(shí)系如何安排數(shù)據(jù)儲(chǔ)存方式之技術(shù)手段,以下將透過(guò)實(shí)施方式之內(nèi)容進(jìn)一步說(shuō)明。
圖1:本發(fā)明一實(shí)施例之記憶模塊動(dòng)態(tài)備份管理系統(tǒng)之功能方塊圖; 圖2:本發(fā)明一實(shí)施例之地址對(duì)照單元示意圖; 圖3:本發(fā)明一實(shí)施例之地址對(duì)照單元映對(duì)儲(chǔ)存區(qū)塊之示意圖; 圖4:本發(fā)明一實(shí)施例之地址對(duì)照單元映對(duì)被刪除數(shù)據(jù)之儲(chǔ)存區(qū)塊示意 圖5:本'發(fā)明一實(shí)施例之閃存儲(chǔ)存空間釋出之示意圖; 圖6:本發(fā)明一實(shí)施例之記憶模塊動(dòng)態(tài)備份管理方法之流程圖; 圖7:本發(fā)明一實(shí)施例之記憶模塊動(dòng)態(tài)備份管理方法之流程圖;及 圖8:本發(fā)明一實(shí)施例之閃存動(dòng)態(tài)備份管理方法之流程圖。主要組件符號(hào)說(shuō)明
10記憶模塊
100主要分割區(qū) 102次要分割區(qū) 20處理模塊
200輸出入接口 205中央處理模塊 210運(yùn)算模塊 215地址對(duì)照單元
2150邏輯儲(chǔ)存地址 2152第一實(shí)體地址 2154第二實(shí)體地址2156被存取次數(shù) 2158最近被存取時(shí)間 220記憶模塊控制單元 S601-S609流程步驟 S701 S711流程步驟 S801-S815流程步驟
具體實(shí)施例方式
為了提升各種可攜式裝置的內(nèi)存儲(chǔ)存數(shù)據(jù)的可靠度,本發(fā)明提供了 一種記憶模塊動(dòng)態(tài)備份管理系統(tǒng)之實(shí)施例,如圖1所示,在不增加設(shè)備 成本的前提下,為該記憶模塊所儲(chǔ)存的數(shù)據(jù)進(jìn)行動(dòng)態(tài)備份,當(dāng)數(shù)據(jù)發(fā)生 毀損時(shí),能從另一處取得相同的數(shù)據(jù)。
該實(shí)施例之系統(tǒng)包括一記憶模塊10,系用以實(shí)際儲(chǔ)存數(shù)據(jù); 一處理
模塊20,其中更包括 一輸出入接口 200,用以接收或輸出數(shù)據(jù),例如 使用通用序列總線(USB)接口; 一記憶模塊控制單元220,系'用于直接
控制對(duì)該記憶模塊10中.數(shù)據(jù)的存取; 一地址對(duì)照單元215,提供了該系
統(tǒng)中每一數(shù)據(jù)的邏輯儲(chǔ)存地址及其實(shí)際儲(chǔ)存的實(shí)體地址的映對(duì);及一中
央處理模塊205,其系根據(jù)地址對(duì)照單元215中的記錄,指示記憶模塊控 制單元220前往記憶模塊10寫(xiě)入或讀取數(shù)據(jù),其中更包括一運(yùn)算模塊 210,該運(yùn)算模塊210系于記憶模塊10已無(wú)足夠的空間供新的數(shù)據(jù)寫(xiě)入 時(shí),依據(jù)算法則判斷數(shù)據(jù)刪除的順序。
于一新數(shù)據(jù)由輸出入接口 200輸入時(shí),檔案系統(tǒng)會(huì)依序配置一邏輯 儲(chǔ)存地址給該數(shù)據(jù),但每一數(shù)據(jù)實(shí)際上儲(chǔ)存至記憶模塊10中時(shí),并不完 全將數(shù)據(jù)按照順序地存放進(jìn)各個(gè)儲(chǔ)存區(qū)塊,此時(shí)系透過(guò)地址對(duì)照單元215中記錄著記憶模塊io所擁有的儲(chǔ)存區(qū)塊位置、及可使用的儲(chǔ)存區(qū)塊數(shù),
指派該數(shù)據(jù)實(shí)際上應(yīng)存放在記憶模塊10中的位置。
請(qǐng)參閱圖2中關(guān)于地址對(duì)照單元215之示意圖說(shuō)明每一數(shù)據(jù)輸入 至該記憶模塊動(dòng)態(tài)備份管理系統(tǒng)中時(shí),皆依序指派一邏輯儲(chǔ)存地址2150, 并將該邏輯儲(chǔ)存地址2150映對(duì)到該數(shù)據(jù)實(shí)際存放在記憶模塊10中的一 第一實(shí)體地址2152及一第二實(shí)體地址2154,內(nèi)存的實(shí)體儲(chǔ)存區(qū)塊系以塊 (Block)及頁(yè)(Page)的方式記錄。舉例而言,中央處理模塊205接收 到一新數(shù)據(jù)的寫(xiě)入時(shí),該新數(shù)據(jù)依序排進(jìn)圖2中地址對(duì)照單元215的邏 輯儲(chǔ)存地址2150中第三個(gè)區(qū)塊(即編號(hào)2的區(qū)塊),地址對(duì)照單元215 則將尚未有數(shù)據(jù)占用的實(shí)體儲(chǔ)存區(qū)塊的地址,映對(duì)至該編號(hào)2的區(qū)塊, 即第一實(shí)體地址(B1,P0)與第二實(shí)體地址(B0,P1);則中央處理模塊205即 指示記憶模塊控制單元220將同一筆數(shù)據(jù)分別寫(xiě)入記憶模塊IO中的第1 塊第0頁(yè)、及第0塊第1頁(yè)中。該記憶模塊10即因而在不同的儲(chǔ)存區(qū)塊 存放有兩筆同樣的數(shù)據(jù),可在其中一個(gè)儲(chǔ)存區(qū)塊發(fā)生毀損而無(wú)法讀取該 筆數(shù)據(jù)時(shí),仍可由地址對(duì)照單元215中找出另一個(gè)存放相同數(shù)據(jù)的儲(chǔ)存 區(qū)塊。
為了方便說(shuō)明,以下實(shí)施例中,第一實(shí)體地址2152所指涉的多個(gè)儲(chǔ) 存區(qū)塊合稱(chēng)為記憶模塊10的主要分割區(qū)100;第二實(shí)體地址2154所指涉 的多個(gè)儲(chǔ)存區(qū)塊則合稱(chēng)為次要分割區(qū)102。但須注意者,主要分割區(qū)100 及次要分割區(qū)102的說(shuō)法并非將記憶模塊IO做一實(shí)際的切割、主要分割 區(qū)100及次要分割區(qū)102的容量大小亦不一定相等、數(shù)據(jù)的儲(chǔ)存亦非依 照分割區(qū)叢聚在一起,其實(shí)際儲(chǔ)存之儲(chǔ)存區(qū)塊分布情況請(qǐng)參閱圖3所示 之記憶模塊IO儲(chǔ)存區(qū)塊示意圖所示。本發(fā)明另提供一實(shí)施例,說(shuō)明記憶模塊動(dòng)態(tài)備份管理系統(tǒng)安排數(shù)據(jù)
儲(chǔ)存與覆寫(xiě)的機(jī)制,請(qǐng)參閱圖4,其系為本發(fā)明另一記憶模塊動(dòng)態(tài)備份管 理系統(tǒng)實(shí)施例之示意圖。其中,地址對(duì)照單元215中的每一邏輯儲(chǔ)存地 址2150除映對(duì)了第一實(shí)體地址2152及第二實(shí)體地址2154外,由于寫(xiě)入 及讀取的工作都須要經(jīng)過(guò)地址對(duì)照單元215提供存取的地址,因此其亦 記錄了每一筆數(shù)據(jù)被存取次數(shù)2156及該筆資料最近被存取時(shí)間2158。然 本實(shí)施例中所示被存取次數(shù)2156及最近被存取時(shí)間2158的表示方法, 并不限于圖4中所示,更可包括任何足以區(qū)別出不同的存取次數(shù)、或區(qū) 別出存取時(shí)間先后的記錄方式。
當(dāng)主要分割區(qū)100中所儲(chǔ)存的數(shù)據(jù)量少于整個(gè)記憶模塊IO總?cè)萘康?二分之一時(shí),儲(chǔ)存于次要分割區(qū)102中的數(shù)據(jù)量亦會(huì)少于總?cè)萘康亩?之一,此時(shí)記憶模塊10尚有充足的空間可容納所有的數(shù)據(jù),因此地址對(duì) 照單元215只要將可用的儲(chǔ)存區(qū)塊指派為新數(shù)據(jù)的第一實(shí)體地址2152和 第二實(shí)體地址2154即可。
但如果新數(shù)據(jù)寫(xiě)入后,主要分割區(qū)100的總?cè)萘啃枨蟪^(guò)記憶模塊 IO總?cè)萘康亩种?,則此時(shí)即已無(wú)足夠的空間供寫(xiě)入主要分割區(qū)100, 更遑論寫(xiě)入次要分割區(qū)102。在此情況下,記憶模塊IO就會(huì)動(dòng)態(tài)調(diào)整主 要分割區(qū)100及次要分割區(qū)102各自所占用的空間比例。
在本實(shí)施例中,中央處理模塊205無(wú)法自地址對(duì)照單元215中取得 足以供寫(xiě)入新數(shù)據(jù)用的第一實(shí)體地址2152和第二實(shí)體地址2154時(shí),即 由中央處理模塊205中的運(yùn)算模塊210,利用最少使用算法(Least Frequently Used, LFU),依據(jù)地址對(duì)照單元215中所記錄的被存取次數(shù) 2156,選擇被存取次數(shù)2156最少的數(shù)據(jù),將該項(xiàng)數(shù)據(jù)的第二實(shí)體地2154所在的儲(chǔ)存區(qū)塊中之?dāng)?shù)據(jù)刪除,使該儲(chǔ)存區(qū)塊恢復(fù)為未被使用的狀 態(tài),以供新數(shù)據(jù)的寫(xiě)入,如以圖4所示之例其中邏輯儲(chǔ)存地址2150中 的第二個(gè)區(qū)塊(即編號(hào)1的區(qū)塊),其被存取的次數(shù)最少,因此即選擇此 數(shù)據(jù)的第二實(shí)體地址2154所在的儲(chǔ)存區(qū)塊(B2,P2),將其中的備份數(shù)據(jù)刪 除,釋放空間給新數(shù)據(jù)寫(xiě)入。經(jīng)由選擇刪除被存取次數(shù)2156最少的數(shù)據(jù) 位在第二實(shí)體地址2154所在儲(chǔ)存區(qū)塊中之?dāng)?shù)據(jù),也就是位于次要分割區(qū) 102的備份數(shù)據(jù),將其釋出的空間重新分配用于儲(chǔ)存新寫(xiě)入的數(shù)據(jù),動(dòng)態(tài) 地調(diào)整了主要分割區(qū)IOO及次要分割區(qū)102所占該記憶模塊10的比例。
若釋出一部分儲(chǔ)存區(qū)塊仍不足使地址對(duì)照單元215分派第一實(shí)體地 址2152及第二實(shí)體地址2154給新數(shù)據(jù),運(yùn)算模塊210即再一次執(zhí)行選 擇被讀寫(xiě)次數(shù)最少的數(shù)據(jù),進(jìn)行上述相同的動(dòng)作,直到釋出足夠的空間。
由于被選擇刪除位于其第二實(shí)體地址2154之備份的數(shù)據(jù)系為使用 次數(shù)最少的數(shù)據(jù),在仍然保有其第一實(shí)體地址2152之儲(chǔ)存區(qū)塊儲(chǔ)存該數(shù) 據(jù)的情況下,將其備份數(shù)據(jù)所占用之儲(chǔ)存空間釋出給新寫(xiě)入的數(shù)據(jù)是較 有效益的作法,該數(shù)據(jù)本身亦仍可自第一實(shí)體地址2152加以存取。
在本發(fā)明所提供的另一實(shí)施例中,上述運(yùn)算模塊210所采用的算法 則系為最不常使用算法(Least Recently Used, LRU),運(yùn)算模塊210于選 擇應(yīng)優(yōu)先釋出其第二實(shí)體地址2154儲(chǔ)存空間之?dāng)?shù)據(jù)時(shí),系根據(jù)地址對(duì)照 單元215中所記錄每筆數(shù)據(jù)最近一次被存取的時(shí)間(即最近被存取時(shí)間 2158),選擇最久未被存取的數(shù)據(jù),亦即,該筆數(shù)據(jù)最近一次被存取的時(shí) 間在最久以前者,以圖4所舉之例而言,邏輯儲(chǔ)存地址2150中的第三區(qū) 塊(即編號(hào)2的區(qū)塊)其最近一次被存取的時(shí)間比其它的數(shù)據(jù)都更久遠(yuǎn), 因此運(yùn)算模塊210即判斷該數(shù)據(jù)的第二實(shí)體地址2154所指的儲(chǔ)存區(qū)塊(B0,P1)應(yīng)將空間釋出。由于該筆數(shù)據(jù)與其它儲(chǔ)存在內(nèi)存中之?dāng)?shù)據(jù)相較,
是為最久未有被使用需求的數(shù)據(jù),在此情況下,將其儲(chǔ)存于第二實(shí)體地
址2154儲(chǔ)存區(qū)塊中的備份數(shù)據(jù)清除、釋出空間給新數(shù)據(jù)使用,亦是較具 效益的方法。
透過(guò)上述的動(dòng)態(tài)調(diào)整備份空間大小的機(jī)制,可以讓「為資料留下備 份」與「提供寫(xiě)入新數(shù)據(jù)的空間」兩者達(dá)到平衡,并且使記憶模塊10所 能運(yùn)用的儲(chǔ)存空間發(fā)揮其最大的效益。
本發(fā)明另提供一實(shí)施例,其系為使用閃存作為儲(chǔ)存數(shù)據(jù)的記憶模塊 動(dòng)態(tài)備份管理系統(tǒng),其寫(xiě)入及覆寫(xiě)數(shù)據(jù)更新之方法,請(qǐng)參閱圖5及以下 說(shuō)明閃存中的寫(xiě)入單位為頁(yè)(Page),但其抹除(Erase)須以塊(Block) 為單位,且對(duì)閃存中之?dāng)?shù)據(jù)進(jìn)行修改或刪除后,無(wú)法直接在同一個(gè)頁(yè)上 寫(xiě)入新數(shù)據(jù),因而必須將經(jīng)修改后的數(shù)據(jù)存放在其它可寫(xiě)入的頁(yè)(Free Page)內(nèi),地址對(duì)照單元215中的第一實(shí)體地址2152或第二實(shí)體地址2154 之記錄亦須隨之更改。而儲(chǔ)存原數(shù)據(jù)的頁(yè)就被標(biāo)示為不可寫(xiě)入(Dirty Page),此時(shí)該區(qū)塊無(wú)法覆寫(xiě)新數(shù)據(jù)進(jìn)去,需等待某一塊整個(gè)都成為不可 寫(xiě)入時(shí),進(jìn)行抹除的步驟后,該區(qū)塊方能重新成為未被占用而可寫(xiě)入資 料的區(qū)塊。
當(dāng)中央處理模塊205自輸出入接口 200接收到新數(shù)據(jù).的寫(xiě)入時(shí),如 于地址對(duì)照單元215中可找到足夠?qū)懭朐摂?shù)fe的儲(chǔ)存區(qū)塊時(shí),中央處理 模塊205即可指示記憶模塊控制單元220,在此系指閃存控制器,依據(jù)地 址對(duì)照單元215中所指派的第一實(shí)體地址2152及第二實(shí)體地址2154將 數(shù)據(jù)寫(xiě)入。
但如此時(shí)剩余的可寫(xiě)入?yún)^(qū)塊不足、或是容許此筆數(shù)據(jù)寫(xiě)入后下一筆新增或修改的數(shù)據(jù)將無(wú)法寫(xiě)入時(shí),中央處理模塊205即要求運(yùn)算模塊210 判斷應(yīng)釋放儲(chǔ)存空間的數(shù)據(jù),若運(yùn)算模塊210判斷第二實(shí)體地址位于 (B2,P2)的數(shù)據(jù),其被存取次數(shù)最少、或是已經(jīng)非常久未被存取,則擇其 作為釋放空間的數(shù)據(jù)。此時(shí)中央處理模塊205先進(jìn)行回收的工作(Garbage Collecting),如圖5A圖示中,'儲(chǔ)存區(qū)塊(B2,P1)及(B2,P3)原本已標(biāo)示為不 可寫(xiě)入,再加上指示記憶模塊控制單元220刪除(B2,P2)之?dāng)?shù)據(jù)后,為了 取得一個(gè)完整塊以進(jìn)行抹除的動(dòng)作,便將(B2,P0)中的有效數(shù)據(jù)搬移到 (B0,P1),使得該區(qū)塊(B2)完全成為不可寫(xiě)入的狀態(tài)(如圖5B所示), 再經(jīng)過(guò)抹除的程序后,重新釋放該區(qū)塊的空間,供新數(shù)據(jù)寫(xiě)入(如圖5C 所示)。
為了取得足夠的空間,回收的工作可能不只進(jìn)行一次,在地址對(duì)照 單元215中所記錄的信息,除了邏輯儲(chǔ)存地址2150與實(shí)體地址2152、2154 的對(duì)照、數(shù)據(jù)被存取次數(shù)2156和最近被存取時(shí)間2158外,尚可能包括 其它如每個(gè)區(qū)塊被抹除的次數(shù)等信息,供中央處理模塊205及運(yùn)算模塊 210采用其它可能的演算方法,以計(jì)算出最適合釋出空間給新數(shù)據(jù)的第二 實(shí)體地址2154所在,以達(dá)到提升數(shù)據(jù)儲(chǔ)存的可靠性,且能有效利用該內(nèi) 存實(shí)際可存放數(shù)據(jù)的總?cè)萘?,并且兼顧閃存的使用壽命等功能。
為了更詳細(xì)說(shuō)明本發(fā)明可提升儲(chǔ)存數(shù)據(jù)之記憶模塊保障數(shù)據(jù)完整性 的能力,以下更提供另一實(shí)施例,說(shuō)明記憶模塊儲(chǔ)存及動(dòng)態(tài)備份數(shù)據(jù)之 方法,請(qǐng)見(jiàn)圖6所示之實(shí)施例及以下說(shuō)明。
圖6所示系為本發(fā)明一實(shí)施例的方法流程圖,于接收到來(lái)自一輸出 入接口 200傳送之?dāng)?shù)據(jù)時(shí)(S601),自地址對(duì)照單元215中檢查是否有足 夠的空間可指派一第一實(shí)體地址2152及一第二實(shí)體地址2154,以供寫(xiě)入該數(shù)據(jù)(S603),如具有足夠的空間,即指派第一實(shí)體地址5212及第二 實(shí)體地址5214,并與該數(shù)據(jù)之邏輯儲(chǔ)存地址5210映對(duì),其中,該第一實(shí) 體地址所指涉之儲(chǔ)存區(qū)塊之集合稱(chēng)一主要分割區(qū)100、該第二實(shí)體地址所 指涉之儲(chǔ)存區(qū)塊之集合稱(chēng)一次要分割區(qū)102 (S605);如無(wú)足夠之儲(chǔ)存空 間可使用,則由中央處理模塊205指示記憶模塊控制單元220刪除該次 要分割區(qū)102中之部分?jǐn)?shù)據(jù),以釋出儲(chǔ)存空間(S607),并于釋出足夠的 儲(chǔ)存空間后,將新數(shù)據(jù)之邏輯儲(chǔ)存地址2150與所指派的第一實(shí)體地址 2152與第二實(shí)體地址2154映對(duì)(S605),由中央處理模塊205指示記憶 模塊控制單元220將該數(shù)據(jù)寫(xiě)入該第一實(shí)體地址2152及第二實(shí)體地址 2154所指涉之儲(chǔ)存區(qū)塊(S609)。
圖7所示系為一更詳細(xì)說(shuō)明本發(fā)明之一方法流程圖于接收到來(lái)自 一輸出入接口 200傳送之?dāng)?shù)據(jù)時(shí)(S701),檢查是否有足夠的空間可指派 一第一實(shí)體地址2152及一第二實(shí)體地址2154,以供寫(xiě)入該數(shù)據(jù)至該記憶 模塊10(S703),如有足夠之儲(chǔ)存空間,即指派第一實(shí)體地址2152及第 二實(shí)體地址2154與該新數(shù)據(jù),并與該數(shù)據(jù)之邏輯儲(chǔ)存地址映對(duì)(S705); 若無(wú)足夠的空間可供儲(chǔ)存,則由運(yùn)算模塊210依據(jù)算法則,挑選地址對(duì) 照單元215中所記錄最少被使用、或最久未被使用的數(shù)據(jù)(S707),將該 被挑選之?dāng)?shù)據(jù)的第二實(shí)體地址2154所儲(chǔ)存的備份數(shù)據(jù)刪除,以釋出儲(chǔ)存 空間(S709),釋出足夠空間后,指派第一實(shí)體地址2152及第二實(shí)體地 址2154,與該數(shù)據(jù)之邏輯儲(chǔ)存地址映對(duì)(S705),再由中央處理模塊205 指示記憶模塊控制單元220,將該數(shù)據(jù)寫(xiě)入其第一實(shí)體地址2152及第二 實(shí)體地址2154所指涉之儲(chǔ)存區(qū)塊(S711)。
本發(fā)明更提供一應(yīng)用于閃存以作為數(shù)據(jù)儲(chǔ)存裝置之記憶模塊動(dòng)態(tài)備份之管理方法,請(qǐng)參閱圖8所示及說(shuō)明如下當(dāng)接收到新數(shù)據(jù)時(shí)(S801),
先自地址對(duì)照單元215中檢査是否有足夠之儲(chǔ)存空間(S803),如可供儲(chǔ) 存的空間不足時(shí),由運(yùn)算模塊210利用算法則挑選出最少被存取、或最 近未被存取的數(shù)據(jù)(S805),由記憶模塊控制單元220將該被挑選數(shù)據(jù)位 于第二實(shí)體地址2154所儲(chǔ)存的備份刪除,并將該數(shù)據(jù)被刪除的儲(chǔ)存區(qū)塊 標(biāo)記為不可寫(xiě)入(S807),接著由中央處理模塊205控制記憶模塊控制單 元220進(jìn)行搬移數(shù)據(jù)、集中不可寫(xiě)入?yún)^(qū)塊加以回收的動(dòng)作(S809),被集 中之大區(qū)塊回收后將空間釋出,成為可供寫(xiě)入之儲(chǔ)存區(qū)塊后(S811),由 地址對(duì)照單元215指派被釋出之儲(chǔ)存空間為新數(shù)據(jù)之第一實(shí)體地址2152 或第二實(shí)體地址2154,并與該新數(shù)據(jù)之邏輯儲(chǔ)存地址2150映對(duì)(S813), 以便中央處理模塊205指示記憶模塊控制單元215依照所指示之實(shí)伴地 址,將新數(shù)據(jù)分別寫(xiě)入其第一實(shí)體地址2152及第二實(shí)體地址2154所指 涉之儲(chǔ)存區(qū)塊中(S815)。
經(jīng)由上述各實(shí)施方式之說(shuō)明可了解,本發(fā)明確實(shí)得僅運(yùn)用單一記憶 模塊、且在不影響記憶模塊總?cè)萘康那闆r下,達(dá)成為所儲(chǔ)存的數(shù)據(jù)進(jìn)行 動(dòng)態(tài)備份的效果。而于記憶模塊總?cè)萘坎蛔阋詢?chǔ)存所有數(shù)據(jù)的備份時(shí), 更提供了良好且符合使用效益的方法更替記憶模塊內(nèi)的備份文件,提升 了作為儲(chǔ)存媒體所需的高可靠度,同時(shí)并兼顧記憶模塊的使用效益,確 系一值得保護(hù)之技術(shù)創(chuàng)作。
以上所述之各種實(shí)施方法系為本發(fā)明之部分應(yīng)用方式,其說(shuō)明僅為 使所屬技術(shù)領(lǐng)域之人得了解本發(fā)明之技術(shù)手段,并非用于限制本發(fā)明之 保護(hù)范圍;因此,凡未超越本發(fā)明之創(chuàng)作精神及技術(shù)手段之相近變化, 例如將該記憶模塊劃分為一主要分割區(qū)及復(fù)數(shù)個(gè)次要分割區(qū),使每一份檔案數(shù)據(jù)之儲(chǔ)存份數(shù)多于兩份以上,仍亦屬本發(fā)明所請(qǐng)求保護(hù)范圍之一 環(huán)。
權(quán)利要求
1、一種記憶模塊動(dòng)態(tài)備份管理系統(tǒng),其特征是,包括一記憶模塊,具有復(fù)數(shù)個(gè)儲(chǔ)存區(qū)塊以儲(chǔ)存數(shù)據(jù),可區(qū)分為一主要分割區(qū)及至少一次要分割區(qū);一處理模塊,其中包括一地址對(duì)照單元,系用于提供該記憶模塊中各數(shù)據(jù)地址的對(duì)照,該地址對(duì)照單元將每一數(shù)據(jù)的一邏輯儲(chǔ)存地址映對(duì)到該記憶模塊中之一第一實(shí)體地址及一第二實(shí)體地址,該第一實(shí)體地址及該第二實(shí)體地址指出該數(shù)據(jù)實(shí)際所存放的儲(chǔ)存區(qū)塊所在;一記憶模塊控制單元,連接于該記憶模塊,系用于對(duì)該記憶模塊進(jìn)行讀取或?qū)懭霐?shù)據(jù)之控制;一中央處理模塊,系用于處理數(shù)據(jù)并指示該記憶模塊控制單元依據(jù)該第一實(shí)體地址及該第二實(shí)體地址存取數(shù)據(jù);及一輸出入接口,用以供該中央處理模塊接收或輸出數(shù)據(jù);其中,該主要分割區(qū)系為各數(shù)據(jù)之該第一實(shí)體地址所指涉儲(chǔ)存區(qū)塊之集合,該次要分割區(qū)系為各數(shù)據(jù)之該第二實(shí)體地址所指涉儲(chǔ)存區(qū)塊之集合。
2、 根據(jù)權(quán)利要求1所述的記憶模塊動(dòng)態(tài)備份管理系統(tǒng),其特征是該地 址對(duì)照單元更記錄每一數(shù)據(jù)儲(chǔ)存在該記憶模塊的期間被存取次數(shù)及最 近被存取時(shí)間。
3、 根據(jù)權(quán)利要求2所述的記憶模塊動(dòng)態(tài)備份管理系統(tǒng),其特征是該中 央處理模塊更包括一運(yùn)算模塊,于該記憶模塊之空間不足以同時(shí)分派 該第一實(shí)體地址及該第二實(shí)體地址給同一數(shù)據(jù)時(shí),該運(yùn)算模塊依據(jù)儲(chǔ) 存該數(shù)據(jù)所須要之儲(chǔ)存空間,及該地址對(duì)照單元中所記錄之被存取次數(shù)或最近被存取時(shí)間,選擇于該次要分割區(qū)中部分?jǐn)?shù)據(jù)之該第二實(shí)體 地址。
4、 根據(jù)權(quán)利要求3所述的記憶模塊動(dòng)態(tài)備份管理系統(tǒng),其特征是該運(yùn) 算模塊系依據(jù)該地址對(duì)照單元中所記錄之?dāng)?shù)據(jù)被存取次數(shù),選擇被存 取次數(shù)最少之?dāng)?shù)據(jù)的該第二實(shí)體地址。
5、 根據(jù)權(quán)利要求3所述的記憶模塊動(dòng)態(tài)備份管理系統(tǒng),其特征是該運(yùn) 算模塊系依據(jù)該地址對(duì)照單元中所記錄之?dāng)?shù)據(jù)最近被存取時(shí)間,選擇 最久未侖讀取的數(shù)據(jù)的該第二實(shí)體地址。
6、 根據(jù)權(quán)利要求4或者5所述的記憶模塊動(dòng)態(tài)備份管理系統(tǒng),其特征是其中該記憶模塊控制單元系依據(jù)該運(yùn)算模塊所計(jì)算出之該第二實(shí)體地 址,前往刪除存放在該第二實(shí)體地址中之?dāng)?shù)據(jù),以提供新數(shù)據(jù)寫(xiě)入所 需之儲(chǔ)存空間。
7、 根據(jù)權(quán)利要求1至5中任何一項(xiàng)權(quán)利要求所述的記憶模塊動(dòng)態(tài)備份管 理系統(tǒng),其特征是該記憶模塊系為一閃存,該記憶模塊控制單元系為一閃存控制器。
8、 一種記憶模塊動(dòng)態(tài)備份管理方法,其特征是,包括下列步驟 接收數(shù)據(jù)并指定一邏輯儲(chǔ)存地址;由一地址對(duì)照單元將該數(shù)據(jù)的邏輯儲(chǔ)存地址分別映對(duì)到一記憶模塊中 之一第一實(shí)體地址及一第二實(shí)體地址,并記錄每一儲(chǔ)存在該記憶模塊 的數(shù)據(jù)被存取次數(shù)、與最近被存取時(shí)間,其中,該第一實(shí)體地址所指 涉儲(chǔ)存區(qū)塊之集合系為一主要分割區(qū),該第二實(shí)體地址所指涉儲(chǔ)存區(qū)塊之集合系為一次要分割區(qū);及將該數(shù)據(jù)同時(shí)寫(xiě)入該記憶模塊中該第一實(shí)體地址及該第二實(shí)體地址所指涉之各儲(chǔ)存區(qū)域內(nèi)。
9、 根據(jù)權(quán)利要求8所述的記憶模塊動(dòng)態(tài)備份管理方法,其特征是該地 址對(duì)照單元將該邏輯儲(chǔ)存地址映對(duì)到該第一實(shí)體地址及該第二實(shí)體地 址之步驟中,更包括下列步驟該地址對(duì)照單元檢査是否還有足供分別寫(xiě)入資料至該主要分割區(qū)及該 次要分割區(qū)的實(shí)體地址可指派;如可供指派之實(shí)體地址足夠,該地址對(duì)照單元即指派該第一實(shí)體地址與該第二實(shí)體地址,并且映對(duì)至該邏輯儲(chǔ)存地址; 如可供指派之實(shí)體地址不足,由一運(yùn)算模塊依據(jù)所須之儲(chǔ)存空間, 選擇該次要分割區(qū)中部分之該第二實(shí)體地址,以供刪除該次要分割 區(qū)中之?dāng)?shù)據(jù)至足夠容納新寫(xiě)入之?dāng)?shù)據(jù)。.
10、 根據(jù)權(quán)利要求9所述的記憶模塊動(dòng)態(tài)備份管理方法,其特征是該 運(yùn)算模塊選擇該第二實(shí)體地址之步驟中,更包括下列步驟 該運(yùn)算模塊系依據(jù)該地址對(duì)照單元中記錄之?dāng)?shù)據(jù)被存取次數(shù),選擇被 存取次數(shù)最少之?dāng)?shù)據(jù)的該第二實(shí)體地址,或依據(jù)該地址對(duì)照單元中記 錄之?dāng)?shù)據(jù)最近被存取時(shí)間,選擇最久未被存取之?dāng)?shù)據(jù)的該第二實(shí)體地 址;及由該記憶模塊控制單元依照該運(yùn)算模塊所選取的該第二實(shí)體地址,前 往該儲(chǔ)存區(qū)塊刪除數(shù)據(jù)。
11、 根據(jù)權(quán)利要求IO所述的記憶模塊動(dòng)態(tài)備份管理方法,其特征是于 該記憶模塊控制單元前往該儲(chǔ)存區(qū)塊刪除數(shù)據(jù)之步驟后,更包括下列步將該數(shù)據(jù)被刪除之第二實(shí)體地址所扯涉之儲(chǔ)存區(qū)塊標(biāo)示為不可寫(xiě)入;由一中央處理模塊將標(biāo)示為不可寫(xiě)入之儲(chǔ)存區(qū)塊集中為一大區(qū)塊;及 將該大區(qū)塊之儲(chǔ)存空間釋出,以供指派為新數(shù)據(jù)所需之該第一實(shí)體地 址或該第二實(shí)體地址。
全文摘要
本發(fā)明公開(kāi)了一種記憶模塊動(dòng)態(tài)備份管理系統(tǒng)及方法,該技術(shù)方案包括一記憶模塊,用于儲(chǔ)存數(shù)據(jù);一處理模塊,其中包括一輸出入接口,用以接收或輸出數(shù)據(jù);一記憶模塊控制單元,用于控制該記憶模塊與數(shù)據(jù)間的讀寫(xiě);一地址對(duì)照單元,系用以將每一數(shù)據(jù)之一邏輯儲(chǔ)存地址映對(duì)一第一實(shí)體地址及一第二實(shí)體地址;一中央處理模塊,系控制該記憶模塊控制單元讀寫(xiě)數(shù)據(jù)。數(shù)據(jù)寫(xiě)入該記憶模塊時(shí),系同時(shí)存入該第一實(shí)體地址及該第二實(shí)體地址所指涉之儲(chǔ)存區(qū)塊中,實(shí)現(xiàn)數(shù)據(jù)備份,提高了存儲(chǔ)可靠度;若實(shí)體地址不足,則由一運(yùn)算模塊依據(jù)儲(chǔ)存新數(shù)據(jù)所需之空間,選擇刪除第二實(shí)體地址中部分?jǐn)?shù)據(jù),直至有足夠容納新寫(xiě)入之?dāng)?shù)據(jù)的空間為止,實(shí)現(xiàn)了存儲(chǔ)空間的動(dòng)態(tài)調(diào)整。
文檔編號(hào)G06F12/02GK101620570SQ20081021717
公開(kāi)日2010年1月6日 申請(qǐng)日期2008年10月31日 優(yōu)先權(quán)日2008年10月31日
發(fā)明者虎 李 申請(qǐng)人:長(zhǎng)沙市源微微電子有限公司