亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種flash存儲器塊細(xì)分的數(shù)據(jù)尋址存儲方法

文檔序號:6437727閱讀:225來源:國知局
專利名稱:一種flash存儲器塊細(xì)分的數(shù)據(jù)尋址存儲方法
一種flash存儲器塊細(xì)分的數(shù)據(jù)尋址存儲方法
技術(shù)領(lǐng)域
本發(fā)明涉及嵌入式軟件技術(shù)領(lǐng)域,尤其涉及一種flash存儲器塊細(xì)分的數(shù)據(jù)尋址存儲方法。
背景技術(shù)
設(shè)備在運行時、往往有些數(shù)據(jù)是比較重要的,但是當(dāng)有大量這種重要數(shù)據(jù)并且改變很頻繁的情況下,這種數(shù)據(jù)的及時保存及中斷恢復(fù)就成為了問題;且這些重要數(shù)據(jù)需要占用較大的空間,或者其存取的靈活性無法保證。目前設(shè)備中并行接口的非易失存儲器很多,如EEPR0M、FLASH、FRAM、SRAM+備用電池方式等占據(jù)了市場主流,幾種產(chǎn)品性能方面各有優(yōu)缺。使用廣泛的是EEPROM及FLASH 存儲器,其它方式目前還存在標(biāo)準(zhǔn)問題及成本過高的問題。其中EEPROM的市場應(yīng)用范圍最為廣泛,其缺點也很明顯,寫入速度慢,至少IOms的寫等待時間,而且寫操作次數(shù)有限制, 并且總體存儲容量有限。FLASH存儲器存儲容量大,但其存儲特性又使得其在使用過程中存在存取不靈活的特點,具體表現(xiàn)為傳統(tǒng)flash特性為塊(block)擦除、最小操作單元到位(bit)可編寫;位操作特性為將1改寫0,并且不可逆,逆操作需要通過flash塊擦操作實現(xiàn)。現(xiàn)有技術(shù)中提供了一種數(shù)據(jù)存儲方法及裝置,如
公開日為2009年10月14日,公開號為CN101556556的中國專利,其特征點是獲得當(dāng)前待寫入數(shù)據(jù)塊的前一數(shù)據(jù)塊的起始存儲地址;將所述起始存儲地址減去所述當(dāng)前待寫入數(shù)據(jù)塊的大小,得到中間結(jié)果;若所述中間結(jié)果小于0,則將所述中間結(jié)果映射到所述存儲器的有效地址內(nèi),以該映射的結(jié)果作為所述當(dāng)前待寫入數(shù)據(jù)塊的起始存儲地址;若所述中間結(jié)果大于或等于0,則直接以該中間結(jié)果作為所述當(dāng)前待寫入數(shù)據(jù)塊的起始存儲地址;從所述當(dāng)前待寫入數(shù)據(jù)塊的起始存儲地址對應(yīng)的存儲單元開始寫入所述當(dāng)前待寫入數(shù)據(jù)塊。利用該發(fā)明實施例提供的方法, 可以減少對存儲器的讀寫次數(shù),從而降低向存儲器中寫數(shù)據(jù)時的功耗;但其數(shù)據(jù)存儲方法比較復(fù)雜,其還要判斷起始存儲地址與當(dāng)前待寫入數(shù)據(jù)塊的大小關(guān)系。

發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題,在于提供一種在大量存儲易變數(shù)據(jù)的情況下,保證其易變數(shù)據(jù)存取的靈活性的數(shù)據(jù)尋址存儲方法。本發(fā)明是這樣實現(xiàn)的一種flash存儲器塊細(xì)分的數(shù)據(jù)尋址存儲方法,包括如下步驟步驟10、將所述flash存儲器的存儲區(qū)定義為復(fù)數(shù)個頁空間,所述頁空間即根據(jù) flash存儲器的大小劃分出的flash存儲器的塊空間,將頁空間的前4個字節(jié)進(jìn)行保留,其中所述保留的前4個字節(jié)的頭2個字節(jié)作為該頁空間狀態(tài)標(biāo)志;所述狀態(tài)標(biāo)志包括頁清空、 頁接收以及頁有效的狀態(tài);所述頁清空表示頁空間處于flash存儲器初始化、擦除狀態(tài);所述頁接收表示頁空間正處于頁空間存儲滿或者頁空間的數(shù)據(jù)要轉(zhuǎn)移的狀態(tài);所述頁有效表示頁空間處于數(shù)據(jù)接收更新的狀態(tài);且頁空間以每4個字節(jié)作為一存儲單元來存儲一數(shù)據(jù),該4個字節(jié)的存儲單元頭2個字節(jié)用于保存要存儲的數(shù)據(jù)的虛擬地址,后2個字節(jié)用于保存要存儲的數(shù)據(jù);步驟20、當(dāng)應(yīng)用程序進(jìn)行寫入數(shù)據(jù)時,將要寫入的數(shù)據(jù)定義為存儲的數(shù)據(jù)加上虛擬地址的結(jié)構(gòu);判斷頁空間的狀態(tài)標(biāo)志是否為頁清空,是則從當(dāng)前清空的第一個頁空間的頁首地址開始查詢頁空間中各虛擬地址位置是否為0XFFFF,是,則該虛擬地址位置可保存數(shù)據(jù),記錄要保存的數(shù)據(jù)的虛擬地址到該頁空間中該虛擬地址位置,并將該要保存的數(shù)據(jù)的存儲的數(shù)據(jù)保存于所述虛擬地址位置的后2個字節(jié)空間中;此時將所述第一個頁空間所述保留的前4個字節(jié)的頭2個字節(jié)標(biāo)記為頁有效的狀態(tài),并繼續(xù)寫入下一個數(shù)據(jù);否,則繼續(xù)查詢所述頁空間中下一個的虛擬地址位置;如果當(dāng)前的第一個頁空間所有的所述虛擬地址位置無OXFFFF時,則當(dāng)前的第一個頁空間存儲的數(shù)據(jù)已滿,將該第一個頁空間所述保留的前4個字節(jié)的頭2個字節(jié)標(biāo)記為頁接收的狀態(tài);進(jìn)入步驟30 ;步驟30、將所述第一個頁空間里的有效數(shù)據(jù)復(fù)制到處于頁清空狀態(tài)的第二個頁空間里;所述的有效數(shù)據(jù)為應(yīng)用程序不斷寫入數(shù)據(jù),當(dāng)寫入的數(shù)據(jù)中存在同一虛擬地址的數(shù)據(jù)時,最后一次寫入的數(shù)據(jù)為有效數(shù)據(jù),當(dāng)寫入的數(shù)據(jù)中不存在同一虛擬地址的數(shù)據(jù)時, 寫入的數(shù)據(jù)都為有效數(shù)據(jù);當(dāng)?shù)谝粋€頁空間所有有效數(shù)據(jù)復(fù)制完畢,進(jìn)行頁空間擦除操作, 且將所述第一個頁空間所述保留的前4個字節(jié)的頭2個字節(jié)標(biāo)記為頁清空的狀態(tài);當(dāng)?shù)诙€頁空間在接收復(fù)制數(shù)據(jù)時,先將第二個頁空間所述保留的前4個字節(jié)的頭2個字節(jié)標(biāo)記為頁有效的狀態(tài);當(dāng)接收完畢將第二個頁空間所述保留的前4個字節(jié)的頭2個字節(jié)標(biāo)記為頁接收的狀態(tài);第一個頁空間繼續(xù)寫入數(shù)據(jù)。本發(fā)明具有如下優(yōu)點本發(fā)明將flash存儲器的存儲區(qū)定義為復(fù)數(shù)個頁空間,頁空間的前4個字節(jié)進(jìn)行保留,其中前4個字節(jié)的頭2個字節(jié)作為該頁空間狀態(tài)標(biāo)志;狀態(tài)標(biāo)志包括頁清空、頁接收以及頁有效的狀態(tài);且頁空間以每4個字節(jié)作為一存儲單元來存儲一數(shù)據(jù);并將要寫入的數(shù)據(jù)定義為存儲的數(shù)據(jù)加上虛擬地址的結(jié)構(gòu);應(yīng)用程序通過判斷頁空間的狀態(tài),存儲要寫入的數(shù)據(jù);當(dāng)一頁空間寫入數(shù)據(jù)滿后,則將有效數(shù)據(jù)復(fù)制到另一個處于頁清空狀態(tài)的頁空間;復(fù)制完畢后,頁空間進(jìn)行擦除操作并繼續(xù)寫數(shù)據(jù)。這樣讀取數(shù)據(jù)時,只要通過數(shù)據(jù)的虛擬地址進(jìn)行查找,且當(dāng)所述應(yīng)用程序在寫入或者讀取數(shù)據(jù)時,設(shè)備意外中斷,則重新啟動設(shè)備,設(shè)備的flash存儲器中的應(yīng)用程序?qū)⒉檎姨幱陧撚行顟B(tài)的頁空間,并繼續(xù)進(jìn)行寫入或者讀取數(shù)據(jù);且在有效數(shù)據(jù)復(fù)制過程中遇到設(shè)備中斷,重新恢復(fù)后,也是可以根據(jù)查找處于也有效狀態(tài)的頁空間,進(jìn)行繼續(xù)復(fù)制。本發(fā)明實現(xiàn)了當(dāng)有大量重要的數(shù)據(jù)并且改變很頻繁的情況下,利用本發(fā)明的方法能及時保存及中斷恢復(fù)數(shù)據(jù);能保證數(shù)據(jù)存取靈活性。

圖1為本發(fā)明方法流程示意圖。圖2為本發(fā)明頁空間的結(jié)構(gòu)示意圖。圖3為本發(fā)明定義的數(shù)據(jù)結(jié)構(gòu)示意圖。
具體實施方式
請參閱圖1至圖3所示,本發(fā)明的一種flash存儲器塊細(xì)分的數(shù)據(jù)尋址存儲方法, 包括如下步驟步驟10、將所述flash存儲器的存儲區(qū)定義為復(fù)數(shù)個頁空間,所述頁空間即根據(jù) flash存儲器的大小劃分出的flash存儲器的塊空間,頁空間的存儲大小根據(jù)flash的塊大小決定,不同型號及不同容量的flash的塊(block)大小不同;如圖2所示,將頁空間的前 4個字節(jié)進(jìn)行保留,其中所述保留的前4個字節(jié)的頭2個字節(jié)作為該頁空間狀態(tài)標(biāo)志(后2 個字節(jié)可以用于后期的二次開發(fā));所述狀態(tài)標(biāo)志包括頁清空、頁接收以及頁有效的狀態(tài); 所述頁清空表示頁空間處于flash存儲器初始化、擦除的狀態(tài);所述頁接收表示頁空間正處于頁空間存儲滿或者頁空間的數(shù)據(jù)要轉(zhuǎn)移的狀態(tài);所述頁有效表示頁空間處于數(shù)據(jù)接收更新的狀態(tài);且頁空間以每4個字節(jié)作為一存儲單元來存儲一數(shù)據(jù),該4個字節(jié)的存儲單元頭2個字節(jié)用于保存要存儲的數(shù)據(jù)的虛擬地址,后2個字節(jié)用于保存要存儲的數(shù)據(jù);步驟20、當(dāng)應(yīng)用程序進(jìn)行寫入數(shù)據(jù)時,將要寫入的數(shù)據(jù)定義為存儲的數(shù)據(jù)加上虛擬地址的結(jié)構(gòu)(如圖3所示);判斷頁空間的狀態(tài)標(biāo)志是否為頁清空,是則從當(dāng)前清空的第一個頁空間的頁首地址開始查詢頁空間中各虛擬地址位置是否為0XFFFF,是,則該虛擬地址位置可保存數(shù)據(jù),記錄要保存的數(shù)據(jù)的虛擬地址到該頁空間中該虛擬地址位置,并將該要保存的數(shù)據(jù)的存儲的數(shù)據(jù)保存于所述虛擬地址位置的后2個字節(jié)空間中;此時將所述第一個頁空間所述保留的前4個字節(jié)的頭2個字節(jié)標(biāo)記為頁有效的狀態(tài),并繼續(xù)寫入下一個數(shù)據(jù);否,則繼續(xù)查詢所述頁空間中下一個的虛擬地址位置;如果當(dāng)前的第一個頁空間所有的所述虛擬地址位置無OXFFFF時,則當(dāng)前的第一個頁空間存儲的數(shù)據(jù)已滿,將該第一個頁空間所述保留的前4個字節(jié)的頭2個字節(jié)標(biāo)記為頁接收的狀態(tài);進(jìn)入步驟30 ;步驟30、將所述第一個頁空間里的有效數(shù)據(jù)復(fù)制到處于頁清空狀態(tài)的第二個頁空間里;所述的有效數(shù)據(jù)為應(yīng)用程序不斷寫入數(shù)據(jù),當(dāng)寫入的數(shù)據(jù)中存在同一虛擬地址的數(shù)據(jù)時,最后一次寫入的數(shù)據(jù)為有效數(shù)據(jù)(即寫入的數(shù)據(jù)為存儲的數(shù)據(jù)加上虛擬地址的結(jié)構(gòu),則存在存儲的數(shù)據(jù)不一樣,但是虛擬地址一樣的情況;這樣寫入數(shù)據(jù)中出現(xiàn)同一虛擬地址的數(shù)據(jù)時,最后一次寫入的數(shù)據(jù)為有效數(shù)據(jù)),當(dāng)寫入的數(shù)據(jù)中不存在同一虛擬地址的數(shù)據(jù)時,寫入的數(shù)據(jù)都為有效數(shù)據(jù);當(dāng)?shù)谝粋€頁空間所有有效數(shù)據(jù)復(fù)制完畢,進(jìn)行頁空間擦除操作,且將所述第一個頁空間所述保留的前4個字節(jié)的頭2個字節(jié)標(biāo)記為頁清空的狀態(tài);當(dāng)?shù)诙€頁空間在接收復(fù)制數(shù)據(jù)時,先將第二個頁空間所述保留的前4個字節(jié)的頭2個字節(jié)標(biāo)記為頁有效的狀態(tài);當(dāng)接收完畢將第二個頁空間所述保留的前4個字節(jié)的頭2個字節(jié)標(biāo)記為頁接收的狀態(tài);第一個頁空間繼續(xù)寫入數(shù)據(jù)。在本發(fā)明設(shè)備意外中斷的數(shù)據(jù)保存方法中,當(dāng)應(yīng)用程序進(jìn)行讀數(shù)據(jù)時,判斷頁空間的狀態(tài)標(biāo)志是否為有效,是則從當(dāng)前有效的頁空間的末尾的虛擬地址開始檢測是否是有效數(shù)據(jù);所述檢測是否是有效數(shù)據(jù)是應(yīng)用程序通過此時要讀取數(shù)據(jù)的虛擬地址與存儲在頁空間中虛擬地址進(jìn)行匹配判斷是否一樣,第一次匹配一樣的數(shù)據(jù)即為有效數(shù)(即匹配的時候根據(jù)數(shù)據(jù)的虛擬地址進(jìn)行匹配,匹配可能存在有2個或多個虛擬地址一樣的數(shù)據(jù),則第一匹配一樣的數(shù)據(jù)即為有效數(shù));是,則將讀取該有效數(shù)據(jù);否,則繼續(xù)檢測所述頁空間的下一個虛擬地址。如果想增加頁空間的使用壽命可以增加多個頁空間循環(huán)保存數(shù)據(jù),當(dāng)應(yīng)用程序進(jìn)行寫入數(shù)據(jù)時,還能使用多個頁空間進(jìn)行寫入數(shù)據(jù)的,其當(dāng)有效的第一個頁空間寫滿數(shù)據(jù)時,將第一個頁空間里的有效數(shù)據(jù)復(fù)制到處于頁清空狀態(tài)的第二個頁空間里;當(dāng)?shù)谝粋€頁空間再次寫滿數(shù)據(jù)時,將第一個頁空間里的有效數(shù)據(jù)復(fù)制到處于頁清空狀態(tài)的第三個頁空間里;當(dāng)?shù)谝粋€頁空間再次寫滿數(shù)據(jù)時,將第一個頁空間里的有效數(shù)據(jù)復(fù)制到處于頁清空狀態(tài)的第四個頁空間里;以此循環(huán)進(jìn)行。其頁空間保存數(shù)據(jù)的多少跟FLASH存儲器的大小有關(guān),如果頁空間大小是IK那么只能保存10M/4-1 = 256-1個16位數(shù)據(jù),如果保存8位數(shù),可以用2個8位數(shù)據(jù)組合后保存或者直接保存,如果保存32位數(shù)據(jù)那就拆成2個16位保存。值得一提的是存儲單元個數(shù)取決于存儲單元大小和頁空間大小。存儲單元個數(shù)(Num)=頁空間大小(Page size)/存儲單元大小(32bit);例如當(dāng)頁空間大小(Page size)為128KB時,存儲單元個數(shù)(Num)為32K(32768)個。其中頁空間狀態(tài)標(biāo)志標(biāo)記轉(zhuǎn)換是使用flash的位操作特性flash存儲器中的數(shù)據(jù)由“1”改寫為“0”時可以進(jìn)行位操作,而由“0”改寫為“1”則需要flash存儲器中的整個塊進(jìn)行擦除操作才能實現(xiàn),根據(jù)flash存儲器這種特性可以對所在頁空間標(biāo)識多種狀態(tài)。 即數(shù)據(jù)在OxFFFF到0x0000之間,進(jìn)行一個“1”改寫為“0”的位操作,就可以表示一種狀態(tài),這種方法最后的狀態(tài)一定是由0x0000到OxFFFF,從而形成完整一個狀態(tài)循環(huán)。在本發(fā)明中只是利用了其中3中狀態(tài),即頁清空(用OXFFFF表示)、頁接收(用OXEEEE表示)以及頁有效(用0X0000表示)的狀態(tài)。當(dāng)所述應(yīng)用程序在寫入或者讀取數(shù)據(jù)時,設(shè)備意外中斷,則重新啟動設(shè)備,設(shè)備的 flash存儲器中的應(yīng)用程序?qū)⒉檎姨幱陧撚行顟B(tài)的頁空間,并繼續(xù)進(jìn)行寫入或者讀取數(shù)據(jù);且在有效數(shù)據(jù)復(fù)制過程中遇到設(shè)備中斷,重新恢復(fù)后,也是可以根據(jù)查找處于也有效狀態(tài)的頁空間,進(jìn)行繼續(xù)復(fù)制。以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
權(quán)利要求
1.一種flash存儲器塊細(xì)分的數(shù)據(jù)尋址存儲方法,其特征在于包括如下步驟步驟10、將所述flash存儲器的存儲區(qū)定義為復(fù)數(shù)個頁空間,所述頁空間即根據(jù)flash存儲器的大小劃分出的flash存儲器的塊空間,將頁空間的前4個字節(jié)進(jìn)行保留,其中所述保留的前4個字節(jié)的頭2個字節(jié)作為該頁空間狀態(tài)標(biāo)志;所述狀態(tài)標(biāo)志包括頁清空、頁接收以及頁有效的狀態(tài);所述頁清空表示頁空間處于flash存儲器初始化、擦除狀態(tài);所述頁接收表示頁空間正處于頁空間存儲滿或者頁空間的數(shù)據(jù)要轉(zhuǎn)移的狀態(tài);所述頁有效表示頁空間處于數(shù)據(jù)接收更新的狀態(tài);且頁空間以每4個字節(jié)作為一存儲單元來存儲一數(shù)據(jù),該4個字節(jié)的存儲單元頭2個字節(jié)用于保存要存儲的數(shù)據(jù)的虛擬地址,后2個字節(jié)用于保存要存儲的數(shù)據(jù);步驟20、當(dāng)應(yīng)用程序進(jìn)行寫入數(shù)據(jù)時,將要寫入的數(shù)據(jù)定義為存儲的數(shù)據(jù)加上虛擬地址的結(jié)構(gòu);判斷頁空間的狀態(tài)標(biāo)志是否為頁清空,是則從當(dāng)前清空的第一個頁空間的頁首地址開始查詢頁空間中各虛擬地址位置是否為0XFFFF,是,則該虛擬地址位置可保存數(shù)據(jù), 記錄要保存的數(shù)據(jù)的虛擬地址到該頁空間中該虛擬地址位置,并將該要保存的數(shù)據(jù)的存儲的數(shù)據(jù)保存于所述虛擬地址位置的后2個字節(jié)空間中;此時將所述第一個頁空間所述保留的前4個字節(jié)的頭2個字節(jié)標(biāo)記為頁有效的狀態(tài),并繼續(xù)寫入下一個數(shù)據(jù);否,則繼續(xù)查詢所述頁空間中下一個的虛擬地址位置;如果當(dāng)前的第一個頁空間所有的所述虛擬地址位置無OXFFFF時,則當(dāng)前的第一個頁空間存儲的數(shù)據(jù)已滿,將該第一個頁空間所述保留的前4 個字節(jié)的頭2個字節(jié)標(biāo)記為頁接收的狀態(tài);進(jìn)入步驟30 ;步驟30、將所述第一個頁空間里的有效數(shù)據(jù)復(fù)制到處于頁清空狀態(tài)的第二個頁空間里;所述的有效數(shù)據(jù)為應(yīng)用程序不斷寫入數(shù)據(jù),當(dāng)寫入的數(shù)據(jù)中存在同一虛擬地址的數(shù)據(jù)時,最后一次寫入的數(shù)據(jù)為有效數(shù)據(jù),當(dāng)寫入的數(shù)據(jù)中不存在同一虛擬地址的數(shù)據(jù)時,寫入的數(shù)據(jù)都為有效數(shù)據(jù);當(dāng)?shù)谝粋€頁空間所有有效數(shù)據(jù)復(fù)制完畢,進(jìn)行頁空間擦除操作,且將所述第一個頁空間所述保留的前4個字節(jié)的頭2個字節(jié)標(biāo)記為頁清空的狀態(tài);當(dāng)?shù)诙€頁空間在接收復(fù)制數(shù)據(jù)時,先將第二個頁空間所述保留的前4個字節(jié)的頭2個字節(jié)標(biāo)記為頁有效的狀態(tài);當(dāng)接收完畢將第二個頁空間所述保留的前4個字節(jié)的頭2個字節(jié)標(biāo)記為頁接收的狀態(tài);第一個頁空間繼續(xù)寫入數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的一種flash存儲器塊細(xì)分的數(shù)據(jù)尋址存儲方法,其特征在于 當(dāng)應(yīng)用程序進(jìn)行讀數(shù)據(jù)時,判斷頁空間的狀態(tài)標(biāo)志是否為有效,是則從當(dāng)前有效的頁空間的末尾的虛擬地址開始檢測是否是有效數(shù)據(jù);所述檢測是否是有效數(shù)據(jù)是應(yīng)用程序通過此時要讀取數(shù)據(jù)的虛擬地址與存儲在頁空間中虛擬地址進(jìn)行匹配判斷是否一樣,第一次匹配一樣的數(shù)據(jù)即為有效數(shù);是,則將讀取該有效數(shù)據(jù);否,則繼續(xù)檢測所述頁空間的下一個虛擬地址。
3.根據(jù)權(quán)利要求1所述的一種flash存儲器塊細(xì)分的數(shù)據(jù)尋址存儲方法,其特征在于 所述步驟20中當(dāng)應(yīng)用程序進(jìn)行寫入數(shù)據(jù)時,還能使用多個頁空間進(jìn)行寫入數(shù)據(jù)的,其當(dāng)有效的第一個頁空間寫滿數(shù)據(jù)時,將第一個頁空間里的有效數(shù)據(jù)復(fù)制到處于頁清空狀態(tài)的第二個頁空間里;當(dāng)?shù)谝粋€頁空間再次寫滿數(shù)據(jù)時,將第一個頁空間里的有效數(shù)據(jù)復(fù)制到處于頁清空狀態(tài)的第三個頁空間里;當(dāng)?shù)谝粋€頁空間再次寫滿數(shù)據(jù)時,將第一個頁空間里的有效數(shù)據(jù)復(fù)制到處于頁清空狀態(tài)的第四個頁空間里;以此循環(huán)進(jìn)行。
4.根據(jù)權(quán)利要求1所述的一種flash存儲器塊細(xì)分的數(shù)據(jù)尋址存儲方法,其特征在于當(dāng)所述應(yīng)用程序在寫入或者讀取數(shù)據(jù)時,設(shè)備意外中斷,則重新啟動設(shè)備,設(shè)備的flash存儲器中的應(yīng)用程序?qū)⒉檎姨幱陧撚行顟B(tài)的頁空間,并繼續(xù)進(jìn)行寫入或者讀取數(shù)據(jù)。
全文摘要
本發(fā)明提供一種flash存儲器塊細(xì)分的數(shù)據(jù)尋址存儲方法,該方法中將flash存儲器的存儲區(qū)定義為復(fù)數(shù)個頁空間,頁空間的前4個字節(jié)進(jìn)行保留,其中前4個字節(jié)的頭2個字節(jié)作為該頁空間狀態(tài)標(biāo)志;狀態(tài)標(biāo)志包括頁清空、頁接收以及頁有效的狀態(tài);且頁空間以每4個字節(jié)作為一存儲單元來存儲一數(shù)據(jù);并將要寫入的數(shù)據(jù)定義為存儲的數(shù)據(jù)加上虛擬地址的結(jié)構(gòu);應(yīng)用程序通過判斷頁空間的狀態(tài),存儲要寫入的數(shù)據(jù);當(dāng)一頁空間寫入數(shù)據(jù)滿后,則將有效數(shù)據(jù)復(fù)制到另一個處于頁清空狀態(tài)的頁空間;復(fù)制完畢后,頁空間進(jìn)行擦除操作并繼續(xù)寫數(shù)據(jù)。當(dāng)有大量重要的數(shù)據(jù)并且改變很頻繁的情況下,利用本發(fā)明的方法能及時保存及中斷恢復(fù)數(shù)據(jù);能保證數(shù)據(jù)存取靈活性。
文檔編號G06F12/06GK102521146SQ20111035091
公開日2012年6月27日 申請日期2011年11月8日 優(yōu)先權(quán)日2011年11月8日
發(fā)明者郭鑫俊 申請人:福建新大陸通信科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1