專利名稱:具有資料還原功能的閃存記憶體存儲(chǔ)機(jī)制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于閃存記憶體存儲(chǔ)領(lǐng)域。通過(guò)采用特定的存儲(chǔ)架構(gòu)和方法實(shí)現(xiàn)資料的還原功能,可以應(yīng)用于公眾電腦和教學(xué)平臺(tái)等領(lǐng)域。
背景技術(shù):
由于科技日新月異的進(jìn)步讓目前電子產(chǎn)品成為每個(gè)人生活上不可缺少的必需品,因此有很多電子產(chǎn)品開始朝向小型化、可攜式與輕巧等方向發(fā)展。隨著時(shí)代的變化,現(xiàn)行的儲(chǔ)存裝置已經(jīng)漸漸的從早期的磁帶、磁盤轉(zhuǎn)變成由閃存記憶體做成的產(chǎn)品所取代。閃存記憶體最主要的優(yōu)點(diǎn)在于省電、具有較小的體積以及可儲(chǔ)存的容量也日益的增加。也因?yàn)殚W存記憶體有上述的優(yōu)點(diǎn),市場(chǎng)的接受度與需求量不斷的擴(kuò)大。
目前市場(chǎng)上的USB存儲(chǔ)盤、MP3多媒體播放器與記憶卡等絕大部分都是以閃存記憶體作為存儲(chǔ)的媒介。閃存記憶體的儲(chǔ)存裝置能接受數(shù)碼相機(jī)、筆記型計(jì)算機(jī)與手機(jī)等可移動(dòng)式裝置的指令對(duì)各種不同格式的檔案進(jìn)行存儲(chǔ)、刪除及編輯等動(dòng)作。隨著使用的范圍越來(lái)越廣,也產(chǎn)生了一些特殊功能的需求。
閃存存儲(chǔ)裝置,也漸漸應(yīng)用于系統(tǒng)開機(jī)。目前由于公眾計(jì)算機(jī)硬盤拆裝不易,面對(duì)的又是廣大的用戶,所以需要安裝不同的系統(tǒng)。但是在單一硬盤上安裝多操作系統(tǒng)與開機(jī)方式,不僅僅安裝困難,而且也會(huì)存在兼容性和穩(wěn)定性的問(wèn)題,例如安裝甲系統(tǒng),可能會(huì)無(wú)法安裝乙系統(tǒng)等等?;谝陨系男枨?,在將來(lái)的公眾計(jì)算機(jī)及教學(xué)計(jì)算機(jī)使用USB存儲(chǔ)盤開機(jī)將會(huì)是一種趨勢(shì),因?yàn)槭鞘褂瞄W存存儲(chǔ)裝置開機(jī),所以不需要在單一硬盤上安裝多重系統(tǒng)開機(jī),只需將不同的系統(tǒng)安裝于不同的閃存存儲(chǔ)裝置上即可,使用閃存存儲(chǔ)裝置有體積小攜帶方便等優(yōu)點(diǎn),而且可以儲(chǔ)存使用者的數(shù)據(jù),比傳統(tǒng)式硬盤方便許多。同時(shí),作為使用者眾多的公眾計(jì)算機(jī)和教學(xué)平臺(tái),為了便于維護(hù),一般不希望普通用戶修改系統(tǒng)的數(shù)據(jù),而用戶也不希望下一個(gè)使用者能查找到自己使用該系統(tǒng)時(shí)留下的相關(guān)數(shù)據(jù)。所以公眾計(jì)算機(jī)及教學(xué)平臺(tái)為了達(dá)到數(shù)據(jù)保護(hù),防止使用者破壞數(shù)據(jù),就需要一個(gè)完善的數(shù)據(jù)還原方法,在發(fā)生問(wèn)題時(shí),將數(shù)據(jù)還原至原始狀況。
為了要解決上面所提到的問(wèn)題,避免遺憾的事情發(fā)生,提供一個(gè)能讓數(shù)據(jù)還原的閃存存儲(chǔ)裝置,即為從事此行業(yè)之相關(guān)廠商所亟欲研究改善之方向。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種數(shù)據(jù)存儲(chǔ)的機(jī)制和方式,在數(shù)據(jù)寫入時(shí),系統(tǒng)將數(shù)據(jù)保存到閃存記憶體中的寫入?yún)^(qū)中,不會(huì)影響在保護(hù)區(qū)內(nèi)的數(shù)據(jù)。當(dāng)閃存存儲(chǔ)裝置重新啟動(dòng)時(shí),讀取保護(hù)區(qū)內(nèi)的數(shù)據(jù),忽略寫入?yún)^(qū)內(nèi)的數(shù)據(jù),達(dá)到還原的效果。當(dāng)讀取數(shù)據(jù)時(shí),透過(guò)兩份物理地址映射表(Logical to PhysicalLTP)可以得知最新的數(shù)據(jù)是在保護(hù)區(qū)或是在寫入?yún)^(qū)內(nèi),確保數(shù)據(jù)的同步。
本發(fā)明運(yùn)用于閃存存儲(chǔ)裝置上,在初始化數(shù)據(jù)時(shí)保留了兩個(gè)存儲(chǔ)區(qū)域,一個(gè)為保護(hù)區(qū),另一個(gè)為寫入?yún)^(qū)。當(dāng)普通使用者在對(duì)此裝置進(jìn)行寫入動(dòng)作時(shí),系統(tǒng)將數(shù)據(jù)寫入「寫入?yún)^(qū)」,并修改物理地址映射表,以后只要透過(guò)物理地址映射表即可以判斷數(shù)據(jù)所儲(chǔ)存的區(qū)域。物理地址映射表有三個(gè)區(qū)域分別為邏輯地址區(qū)、物理地址區(qū)和型態(tài)。當(dāng)進(jìn)行寫入時(shí),將數(shù)據(jù)寫入「寫入?yún)^(qū)」,并且將數(shù)據(jù)寫入的區(qū)塊地址更新至物理地址映射暫存表。當(dāng)再讀取數(shù)據(jù)時(shí)透過(guò)「物理地址映射暫存表」去判斷目前所需的資料在「寫入?yún)^(qū)」或「保護(hù)區(qū)」,如果在數(shù)據(jù)在「保護(hù)區(qū)」,則透過(guò)「物理地址映射表」得到數(shù)據(jù)所在的區(qū)塊地址,然后讀取數(shù)據(jù)。當(dāng)下一次系統(tǒng)重新啟動(dòng)時(shí),刪除寫入?yún)^(qū),并更新「物理地址映射暫存表」,即可將數(shù)據(jù)還原。
圖1存儲(chǔ)裝置的系統(tǒng)圖。
圖2更新「物理地址映射暫存表」,寫入數(shù)據(jù)的流程圖。
圖3更新「物理地址映射表」旗標(biāo),寫入數(shù)據(jù)的流程圖。
圖4判斷「物理地址映射暫存表」,讀取數(shù)據(jù)的流程圖。
圖5判斷「物理地址映射表」旗標(biāo),讀取數(shù)據(jù)的流程圖。
圖6清空「物理地址映射暫存表」,還原數(shù)據(jù)的流程圖。
圖7更新「物理地址映射表」旗標(biāo),還原數(shù)據(jù)的流程圖。
圖8清空「物理地址映射暫存表」,備份數(shù)據(jù)的流程圖。
圖9更新「物理地址映射表」,備份數(shù)據(jù)的流程圖。
主要組件符號(hào)說(shuō)明100系統(tǒng)表格101閃存記憶體102物理地址映射表記錄保護(hù)區(qū)邏輯區(qū)塊及物理區(qū)塊對(duì)應(yīng)關(guān)系。
103物理地址映射暫存表記錄寫入?yún)^(qū)邏輯區(qū)塊及物理區(qū)塊對(duì)應(yīng)關(guān)系104保護(hù)區(qū)105寫入?yún)^(qū)具體實(shí)施方式
為進(jìn)一步的闡明本發(fā)明的流程以及所使用的方法,將本方法的過(guò)程以及使用的方法,利用下方面的流程圖加以說(shuō)明。
本發(fā)明將閃存記憶體空間分為「寫入?yún)^(qū)」、「保護(hù)區(qū)」及「表格區(qū)」,其中「寫入?yún)^(qū)」主要作為寫入資料的暫存區(qū),當(dāng)收到寫入命令時(shí),會(huì)將數(shù)據(jù)寫入「寫入?yún)^(qū)」?!副Wo(hù)區(qū)」主要用于存儲(chǔ)受保護(hù)的原始數(shù)據(jù),當(dāng)系統(tǒng)重新啟動(dòng),會(huì)讀取「保護(hù)區(qū)」的數(shù)據(jù)達(dá)到還原的效果?!副砀駞^(qū)」分為「物理地址映射表」及「物理地址映射暫存表」,「物理地址映射表」用于管理「保護(hù)區(qū)」數(shù)據(jù)存放的位置,「物理地址映射暫存表」用于管理「寫入?yún)^(qū)」內(nèi)數(shù)據(jù)所存放的位置。以下則是對(duì)寫入、讀取、備份及還原的執(zhí)行流程進(jìn)行說(shuō)明寫入資料做法一當(dāng)收到寫入命令時(shí),先由「物理地址映射暫存表」找出一個(gè)空的區(qū)塊,再將要寫入的數(shù)據(jù)寫入此區(qū)塊,數(shù)據(jù)寫入完成后,再更新「物理地址映射暫存表」,如圖2所示。
寫入資料做法二當(dāng)收到寫入命令時(shí),先由「物理地址映射暫存表」找出一個(gè)空的區(qū)塊,再將要寫入的數(shù)據(jù)寫入此區(qū)塊,數(shù)據(jù)寫入完成后,再更新「物理地址映射暫存表」,再更新「物理地址映射表」中的旗標(biāo),將旗標(biāo)設(shè)為1,表示讀取此區(qū)塊時(shí),改由「物理地址映射暫存表」尋找「寫入?yún)^(qū)」所對(duì)應(yīng)的區(qū)塊,如圖3所示。
讀取數(shù)據(jù)做法一當(dāng)收到讀取命令,先由「物理地址映射暫存表」,察看要讀取的位置時(shí)否位于「寫入?yún)^(qū)」。若數(shù)據(jù)已位于「寫入?yún)^(qū)」,則使用「物理地址映射暫存表」里表格所記錄,取得「寫入?yún)^(qū)」的區(qū)塊,再讀取此區(qū)塊的數(shù)據(jù)。若「物理地址映射暫存表」中并無(wú)記錄要讀取的位置時(shí),再使用「物理地址映射表」里表格所記錄,取得「保護(hù)區(qū)」的區(qū)塊,再讀取此區(qū)塊的數(shù)據(jù)、如圖4所示。
讀取數(shù)據(jù)做法二當(dāng)收到讀取命令,先由「物理地址映射表」讀取此區(qū)塊的旗標(biāo)是否為1,若為1則表示此區(qū)塊的資料放置于「寫入?yún)^(qū)」,改由「物理地址映射暫存表」取得所要讀取區(qū)塊于「寫入?yún)^(qū)」的位置,并由「寫入?yún)^(qū)」將數(shù)據(jù)取出,若「物理地址映射表」旗標(biāo)為0,則標(biāo)示所要讀取的數(shù)據(jù)位于「保護(hù)區(qū)」,再由「物理地址映射表」取得所要讀取區(qū)塊于「保護(hù)區(qū)」的位置,并由「保護(hù)區(qū)」將數(shù)據(jù)取出,如圖5所示。
備份資料做法將寫入?yún)^(qū)中的所有數(shù)據(jù)透過(guò)「物理地址映射暫存表」,得到其邏輯上的位置,然后利用「物理地址映射表」尋找該數(shù)據(jù)對(duì)應(yīng)在「保護(hù)區(qū)」的位置,然后將寫入?yún)^(qū)的數(shù)據(jù)寫入到「保護(hù)區(qū)」的位置。數(shù)據(jù)更新后,將「寫入?yún)^(qū)」的數(shù)據(jù)刪除及清空「物理地址映射暫存表」所對(duì)映的數(shù)據(jù),如圖8所示。
還原數(shù)據(jù)做法一僅需將「寫入?yún)^(qū)」及「物理地址映射暫存表」里的數(shù)據(jù)清空即可將數(shù)據(jù)還原,如圖6所示。
還原數(shù)據(jù)做法二將「物理地址映射表」中所有字段的旗標(biāo)設(shè)為0,并將「寫入?yún)^(qū)」及「物理地址映射暫存表」里的數(shù)據(jù)清空即可將數(shù)據(jù)還原,如圖7所示。
權(quán)利要求
1.一種數(shù)據(jù)存儲(chǔ)的架構(gòu)和處理方式,主要通過(guò)在存儲(chǔ)媒介中劃分出「寫入?yún)^(qū)」和「保護(hù)區(qū)」,并通過(guò)兩份邏輯地址映射表管理用戶資料,實(shí)現(xiàn)系統(tǒng)資料的寫入、讀出、備份、還原功能。
2.如權(quán)利要求1所述的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),其特征在于系統(tǒng)在初始化時(shí)會(huì)將閃存存儲(chǔ)裝置分為多個(gè)存儲(chǔ)區(qū)域以及1個(gè)表格區(qū),其中至少包含一個(gè)「保護(hù)區(qū)」,一個(gè)「寫入?yún)^(qū)」?!副砀駞^(qū)」內(nèi)至少包含一個(gè)「物理地址映射表」和一個(gè)「物理地址映射暫存表」。
3.如權(quán)利要求2所述的「保護(hù)區(qū)」,其特征在于該區(qū)域只存儲(chǔ)系統(tǒng)初始資料或在特殊條件下可以將「寫入?yún)^(qū)」的資料存入該區(qū)域。
4.如權(quán)利要求2所述的「寫入?yún)^(qū)」,其特征在于該區(qū)域只暫時(shí)保存普通用戶在使用該系統(tǒng)的過(guò)程中要求寫入的數(shù)據(jù),在系統(tǒng)重新啟動(dòng)時(shí),系統(tǒng)將忽略并刪除該區(qū)域數(shù)據(jù)。
5.如權(quán)利要求2所述的「物理地址映射表」,其特征在于物理地址映射表有三個(gè)區(qū)域分別為邏輯地址區(qū)、物理地址區(qū)和型態(tài),具體記錄「保護(hù)區(qū)」內(nèi)所有資料的對(duì)應(yīng)的物理區(qū)塊地址和邏輯區(qū)塊地址。
6.如權(quán)利要求5所述的「物理地址映射表」中的型態(tài),主要用來(lái)標(biāo)識(shí)該區(qū)塊是否位于「寫入?yún)^(qū)」,如果標(biāo)志為1,則表示該區(qū)塊位于「寫入?yún)^(qū)」,如果為0,則表示該區(qū)塊位于「保護(hù)區(qū)」。
7.如權(quán)利要求2所述的「物理地址映射暫存表」,其特征在于該表僅僅記錄「寫入?yún)^(qū)」內(nèi)所有資料的對(duì)應(yīng)的物理區(qū)塊地址和邏輯區(qū)塊地址。
8.如權(quán)利要求1所述的寫入過(guò)程,其特征在于系統(tǒng)接受寫入指令后先查詢「物理地址映射暫存表」,找出空區(qū)塊,寫入資料,接著再更新「物理地址映射暫存表」。也可以接著更新「物理地址映射表」,主要是把該表上資料所在的區(qū)塊地址型態(tài)標(biāo)志為1,表示該資料位于「寫入?yún)^(qū)」。
9.如權(quán)利要求1所述的讀出過(guò)程,其特征在于系統(tǒng)接受讀取指令后,先查詢「物理地址映射暫存表」,看資料是否在「寫入?yún)^(qū)」內(nèi),如果不在,接著查詢「物理地址映射表」,從「保護(hù)區(qū)」中讀出相應(yīng)資料。也可以先查詢「物理地址映射表」,檢查對(duì)應(yīng)區(qū)塊上的型態(tài)標(biāo)記,根據(jù)狀態(tài)去讀取「保護(hù)區(qū)」或是「寫入?yún)^(qū)」的資料。
10.如權(quán)利要求1所述的備份功能,其特征在于將寫入?yún)^(qū)中的所有需要備份的數(shù)據(jù)透過(guò)「物理地址映射暫存表」,得到其邏輯上的位置,然后利用「物理地址映射表」尋找該數(shù)據(jù)對(duì)應(yīng)在「保護(hù)區(qū)」的位置,然后將寫入?yún)^(qū)的數(shù)據(jù)寫入到「保護(hù)區(qū)」的位置。數(shù)據(jù)更新后,將「寫入?yún)^(qū)」的數(shù)據(jù)刪除及清空「物理地址映射暫存表」所對(duì)應(yīng)的數(shù)據(jù)。
11.如權(quán)利要求1所述的還原功能,其特征在于在系統(tǒng)下一次啟動(dòng)前,將「寫入?yún)^(qū)」和「物理地址映射暫存表」上數(shù)據(jù)清空。也可以通過(guò)將「物理地址映射表」中的型態(tài)標(biāo)志全部清零,同時(shí)將「寫入?yún)^(qū)」和「物理地址映射暫存表」上數(shù)據(jù)清空。系統(tǒng)在這次啟動(dòng)中將讀取系統(tǒng)的初試數(shù)據(jù)實(shí)現(xiàn)還原功能。
12.如權(quán)利要求1至11所述的具有資料還原功能的閃存記憶體存儲(chǔ)機(jī)制,其中以此種機(jī)制實(shí)現(xiàn)資料還原功能的處理方式適用于任何的閃存存儲(chǔ)裝置,例如U盤(包含但不限于USB Pendriver 1.1/2.0)、PMP Player、存儲(chǔ)卡(包含但不限于SD/MMC/CF/Memory Stick/XD)和MP3 Player等。
全文摘要
本發(fā)明公開了一種具有數(shù)據(jù)還原功能的存儲(chǔ)架構(gòu)和方法。所述方法如下閃存存儲(chǔ)裝置在初始化數(shù)據(jù)時(shí)保留了兩個(gè)區(qū)域,一個(gè)為寫入?yún)^(qū),另一個(gè)為保護(hù)區(qū)。當(dāng)數(shù)據(jù)寫入時(shí),系統(tǒng)將數(shù)據(jù)儲(chǔ)存到閃存的寫入?yún)^(qū)中,不會(huì)影響保護(hù)區(qū)內(nèi)的數(shù)據(jù),當(dāng)閃存存儲(chǔ)裝置重新啟動(dòng)時(shí),即可讀取保護(hù)區(qū)內(nèi)的數(shù)據(jù),立刻進(jìn)行數(shù)據(jù)還原。當(dāng)讀取數(shù)據(jù)時(shí),透過(guò)兩份物理地址映射表(Logical to PhysicalLTP)可以得知最新的數(shù)據(jù)是在哪個(gè)區(qū)內(nèi),確保數(shù)據(jù)的同步。此發(fā)明可以應(yīng)用于公眾計(jì)算機(jī)及教學(xué)平臺(tái)上,可以保證系統(tǒng)數(shù)據(jù)在系統(tǒng)重啟后自動(dòng)還原到初始值,不會(huì)影響下一位使用者。透過(guò)特殊的工具,也可以將寫入?yún)^(qū)內(nèi)的數(shù)據(jù)更新至保護(hù)區(qū)內(nèi),變成永久有效的數(shù)據(jù)。
文檔編號(hào)G06F11/14GK1936866SQ20061006217
公開日2007年3月28日 申請(qǐng)日期2006年8月18日 優(yōu)先權(quán)日2006年8月18日
發(fā)明者林清益 申請(qǐng)人:福昭科技(深圳)有限公司