專利名稱:基于優(yōu)先級的文件信息存儲方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息存儲技術(shù),尤其涉及基于優(yōu)先級的文件信息存儲方法、裝置及系統(tǒng)。
背景技術(shù):
對于大多數(shù)的嵌入式系統(tǒng)應(yīng)用場合,信息的保存通常有以下三種方式第一,保存在EEPR0M。其優(yōu)點在于成本低、使用方式簡單;其缺點是可以保存的信息少,通常只有128 個字節(jié),對于一些相對比較復(fù)雜的嵌入式應(yīng)用來說顯然不夠,另外,它的是讀寫速度慢。第二,保存在SPI Flash。其優(yōu)點在于成本低,可保存的信息比EEPROM要大,通常都有2M字節(jié)以上;其缺點是讀寫速度雖然說比EEPROM要快,但還是滿足不了一些對實時性要求高的應(yīng)用。第三,保存在Nor Flash或Nand Flash。其優(yōu)點在于可保存的信息量大,讀寫速度快,隨著技術(shù)發(fā)展,成本也越來越低;其缺點是使用方式比前面兩種要復(fù)雜,隨著應(yīng)用越來越廣泛以及各種方案商的支持,工程師對這個方式已經(jīng)輕車熟路了。平衡各種因素,目前越來越多的嵌入式應(yīng)用都采用了第三種方式。在第三種方式中,又有以下幾種具體使用方式一、數(shù)據(jù)存儲、讀寫都是通過直接讀寫Flash來實現(xiàn),優(yōu)點是不經(jīng)過操作系統(tǒng)層的中間件,讀寫速度快;缺點是Flash讀寫過程以及信息結(jié)構(gòu)組織、轉(zhuǎn)換都要自己來實現(xiàn),需深入理解Flash 的操作原理、模式等,實現(xiàn)困難,可靠性也很難保證,在不要重復(fù)造輪子的今天,這種方式越來越不可取。二、通過操作系統(tǒng)層提供的文件系統(tǒng)層來實現(xiàn),優(yōu)點是操作簡單,所有數(shù)據(jù)保存和讀取都是通過對文件的讀寫來完成;缺點是由于經(jīng)過了操作系統(tǒng)層,效率有所降低。綜合以上因素,大多數(shù)的應(yīng)用選擇了存儲介質(zhì)是Flash,基于操作系統(tǒng)層提供的文件讀寫接口方式。在此方式下,有個問題需解決雖然操作系統(tǒng)層使用了一系列復(fù)雜的均衡算法,避免某一塊擦寫次數(shù)過多。但Flash擦寫次數(shù)是有限的,如果過于頻繁擦寫,超出了 Flash可擦寫次數(shù),必定會引起Flash有壞塊的存在,影響信息保存的完整性和可靠性。
發(fā)明內(nèi)容
為了解決上述技術(shù)問題,本發(fā)明提供了基于優(yōu)先級的文件信息存儲方法、裝置及系統(tǒng),能夠協(xié)調(diào)存儲器之間的讀入擦寫次數(shù),保護(hù)存儲器。本發(fā)明提供了一種基于優(yōu)先級的文件信息存儲方法,包括
將需要存入第一存儲器的信息分配預(yù)設(shè)數(shù)個優(yōu)先等級以及各個優(yōu)先等級所需等待的預(yù)設(shè)數(shù)時間;
將信息緩存到第二存儲器,根據(jù)所需等待的預(yù)設(shè)數(shù)時間,再將所述第二存儲器的信息存儲入所述第一存儲器。相應(yīng)地,本發(fā)明還提供了一種基于優(yōu)先級的文件信息存儲裝置,包括
優(yōu)先級分配單元,用于將需要存入第一存儲器的信息分配預(yù)設(shè)數(shù)個優(yōu)先等級; 與所述優(yōu)先級分配單元相連的時間等待單元,用于分配各個優(yōu)先等級所需等待的預(yù)設(shè)數(shù)時間;與所述第二存儲器相連的第一存儲單元,用于將信息緩存到第二存儲器; 連接在所述第一存儲器和第二存儲器之間的第二存儲單元,所述第二存儲單元還與所述時間等待單元相連,用于根據(jù)所需等待的預(yù)設(shè)數(shù)時間,再將所述第二存儲器的信息存儲入所述第一存儲器。相應(yīng)地,本發(fā)明還提供了一種文件信息存儲系統(tǒng),包括硬件管理系統(tǒng),以及與所述硬件管理系統(tǒng)相連的操作系統(tǒng),其中
所述操作系統(tǒng)包括如前項所述的基于優(yōu)先級的文件信息存儲裝置,用于根據(jù)信息的優(yōu)先等級通過所述硬件管理系統(tǒng)提供的接口,調(diào)度存儲器對所述文件信息進(jìn)行存儲,該存儲器主要包括閃速存儲器和內(nèi)存。實施本發(fā)明,具有如下有益效果
隨著可擦式存儲器的成本越來越低,容量越來越大,同時還有好的兼容性,越來越多的產(chǎn)品選擇了可擦式存儲器用作存儲介質(zhì)。所述可擦式存儲器主要包括Flash存儲器。但是,F(xiàn)lash擦除次數(shù)是有限的,通常在Flash的數(shù)據(jù)手冊有清晰的描述該產(chǎn)品可擦除次數(shù)。 使用本發(fā)明,能夠協(xié)調(diào)存儲器之間的讀入擦寫次數(shù),保護(hù)存儲器,相對延長存儲器(特別是 Flash)的使用壽命。
圖1是本發(fā)明一種基于優(yōu)先級的文件信息存儲方法的流程圖; 圖2是本發(fā)明一種基于優(yōu)先級的文件信息存儲方法的實施例流程圖3是本發(fā)明一種基于優(yōu)先級的文件信息存儲方法的實施例第一示意圖; 圖4是本發(fā)明一種基于優(yōu)先級的文件信息存儲方法的實施例第二示意圖; 圖5是本發(fā)明一種基于優(yōu)先級的文件信息存儲方法的實施例第三示意圖; 圖6是本發(fā)明一種基于優(yōu)先級的文件信息存儲裝置的示意圖; 圖7是本發(fā)明一種基于優(yōu)先級的文件信息存儲裝置的實施例示意圖; 圖8是本發(fā)明一種文件信息存儲系統(tǒng)的示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進(jìn)一步地詳細(xì)描述。圖1是本發(fā)明一種基于優(yōu)先級的文件信息存儲方法的流程圖,包括
SlOl 將需要存入第一存儲器的信息分配預(yù)設(shè)數(shù)個優(yōu)先等級以及各個優(yōu)先等級所需等待的預(yù)設(shè)數(shù)時間;
S102:將信息緩存到第二存儲器,根據(jù)所需等待的預(yù)設(shè)數(shù)時間,再將所述第二存儲器的信息存儲入所述第一存儲器。在現(xiàn)有的嵌入式系統(tǒng)應(yīng)用場合,隨著可擦式存儲器(特別是Flash)的成本越來越低,容量越來越大,同時還有好的兼容性,越來越多的產(chǎn)品選擇了可擦式存儲器用作存儲介質(zhì)。但這種存儲器的擦除次數(shù)是有限的,通常在該存儲器的數(shù)據(jù)手冊上有清晰的描述該產(chǎn)品可擦除次數(shù)。基于可擦式存儲器現(xiàn)有技術(shù)的缺陷,本發(fā)明均衡考慮在應(yīng)用層上減少寫入可擦式存儲器的擦寫次數(shù),但又不能丟失關(guān)鍵信息,通過協(xié)調(diào)存儲器之間的讀入擦寫次數(shù),相對延長可擦式存儲器(特別是Flash)的使用壽命,以達(dá)到保護(hù)存儲器的效果。為了不丟失關(guān)鍵信息,本發(fā)明分配預(yù)設(shè)數(shù)個優(yōu)先等級以及各個優(yōu)先等級所需等待的預(yù)設(shè)數(shù)時間,先將信息緩存到第二存儲器,根據(jù)所需等待的預(yù)設(shè)數(shù)時間,再將第二存儲器的信息存儲入所述第一存儲器。以達(dá)到減少所述第一存儲器的擦寫次數(shù),延長其使用壽命。優(yōu)選地,所述第二存儲器可采用無擦寫次數(shù)限制的內(nèi)存,所述第一存儲器可采用Flash存儲器。圖2是本發(fā)明一種基于優(yōu)先級的文件信息存儲方法的實施例流程圖。S201 將需要存入第一存儲器的信息分配預(yù)設(shè)數(shù)個優(yōu)先等級以及各個優(yōu)先等級所需等待的預(yù)設(shè)數(shù)時間;
5202將信息緩存到第二存儲器;
5203根據(jù)所需等待的預(yù)設(shè)數(shù)時間,當(dāng)一個優(yōu)先等級的信息等待的時間到達(dá)預(yù)設(shè)的最大限度等待時間時,將該優(yōu)先等級的信息存儲入所述第一存儲器;
5204在所述第二存儲器內(nèi),當(dāng)一個優(yōu)先等級的信息存儲的容量超過預(yù)設(shè)的最大限度存儲容量時,將該優(yōu)先等級的信息存儲入所述第一存儲器;
S205:在所述第二存儲器中,刪除已經(jīng)存儲到所述第一存儲器的信息?,F(xiàn)有的文件存儲系統(tǒng)都是基于先來先服務(wù)的原則,而本發(fā)明并不急于將接入的信息直接存儲到第一存儲器。而是將需要存入第一存儲器的信息分配預(yù)設(shè)數(shù)個優(yōu)先等級以及各個優(yōu)先等級所需等待的預(yù)設(shè)數(shù)時間,先將信息緩存到第二存儲器。優(yōu)先級,顧名思義是將信息進(jìn)行一個優(yōu)先級的分配。因為在應(yīng)用中,并不是所有的信息都是重要。在實際產(chǎn)品應(yīng)用中,一些次要的提示類的信息占了絕大部分。如果所有的信息同等的處理,會使得有些關(guān)鍵的信息因來不及服務(wù)而丟失。相反,提示類的信息是完整。這種情況造成了資源的浪費。 基于此,本發(fā)明提出了基于優(yōu)先級的文件信息存儲機(jī)制。越關(guān)鍵的信息優(yōu)先級越高,越要保證其完整性。至于像提示類的次要信息,就算丟失部分也不會引起系統(tǒng)的運(yùn)行問題。下面結(jié)合圖3、圖4和圖5具體地說明實現(xiàn)過程圖3是本發(fā)明一種基于優(yōu)先級的文件信息存儲方法的實施例第一示意圖。如圖3所示,建立一個基于優(yōu)先級的鏈表,鏈表的每個節(jié)點代表著一種優(yōu)先級。每個節(jié)點又有若干端點組成,每個端點代表了相同的優(yōu)先級。在本實施例當(dāng)中分配了四個優(yōu)先等級,其中,Pl節(jié)點代表著當(dāng)前最高優(yōu)先級的信息類型,P2節(jié)點的優(yōu)先級其次,最低是P4節(jié)點。Pl節(jié)點又由3個端點組成,每個端點代表的是相同優(yōu)先級的文件信息類型,端點的讀寫順序是先來先服務(wù)。每次存儲寫入過程,先從最右邊的節(jié)點開始,依次向左。存儲寫入過程有上層應(yīng)用調(diào)用觸發(fā)或者定時觸發(fā)。依據(jù)此機(jī)制,顯然,高優(yōu)先級的信息最先寫入Flash文件系統(tǒng)。在本實施例中,分配最高優(yōu)先級的信息所等待的時間為零,即直接存儲入Flash,優(yōu)選地,本實施例的第一存儲器為Flash。將其余優(yōu)先等級的信息暫存在第二存儲器,等待一段時間后再存儲入Flash,以分擔(dān)Flash的擦寫次數(shù),到達(dá)延長Flash的使用壽命,使其不易損壞。所述第一存儲器為閃速存儲器;和/或所述第二存儲器為內(nèi)存。大多數(shù)計算機(jī)系統(tǒng),程序是在內(nèi)存空間運(yùn)行的。內(nèi)存具有讀寫速度快,沒有擦寫次數(shù)限制優(yōu)點。在本方案中,利用內(nèi)存這一優(yōu)點,減少對Flash的擦寫次數(shù)。首先在內(nèi)存空間劃分一塊空間,將其格式化為一個內(nèi)存虛擬文件系統(tǒng)(ram文件系統(tǒng)),將需要保存的信息先寫入內(nèi)存文件系統(tǒng),等在一個合適的時間后,再將內(nèi)存文件系統(tǒng)中的信息寫入Flash文件系統(tǒng)。寫入內(nèi)存文件系統(tǒng)相當(dāng)于一個緩存過程,在合適的時間再回寫到Flash文件系統(tǒng)。
圖4是本發(fā)明一種基于優(yōu)先級的文件信息存儲方法的實施例第二示意圖,與圖3 不同的是,圖4的實施例設(shè)置了最大限度等待時間。分配優(yōu)先級的文件存儲機(jī)制保證了高優(yōu)先級優(yōu)先存儲,但同時也會引起另一個問題。如果高優(yōu)先級一直在請求存儲,那么低優(yōu)先級會一直處于“饑餓”狀態(tài)。為了進(jìn)一步優(yōu)化本發(fā)明,在上述機(jī)制進(jìn)行一點改變一動態(tài)優(yōu)先級改變。每個節(jié)點都一個時間計數(shù)器,該計數(shù)器記錄著該節(jié)點從插入鏈表到現(xiàn)在的時間。同時引入一個最大限度時間度量,當(dāng)節(jié)點的時間計數(shù)器超過了最大限度時間時,節(jié)點的優(yōu)先級將會提高為最高優(yōu)先級。同時調(diào)整鏈表的節(jié)點,把優(yōu)先級調(diào)整的節(jié)點調(diào)到鏈表最前面。即如圖4所示,P3節(jié)點的預(yù)設(shè)等待時間到達(dá)預(yù)設(shè)的最大限度等待時間時(T> TD),所以優(yōu)先級發(fā)生了改變,調(diào)整到鏈表最前面。這個機(jī)制保證了 Ρ3節(jié)點在最大限度時間內(nèi)得以寫入Flash文件系統(tǒng)。圖5是本發(fā)明一種基于優(yōu)先級的文件信息存儲方法的實施例第三示意圖,與圖3、 圖4不同的是,圖5預(yù)設(shè)了最大限度存儲容量。最大限度容量存儲類似與最大限度時間存儲機(jī)制。也是為了解決某些節(jié)點一直處于“饑餓”狀態(tài)。同時還解決以下問題如果某個優(yōu)先級的信息很多,如果沒有得到寫入 Flash,那么緩存在內(nèi)存必定會消耗很多內(nèi)存空間。這個機(jī)制也會引起優(yōu)先級改變。每個節(jié)點都有一個信息容量的參數(shù),明顯,這個參數(shù)跟每個節(jié)點的端點是有關(guān)系。端點越多,節(jié)點的容量參數(shù)越大。同時引入一個最大限度容量的度量。當(dāng)節(jié)點的容量超過了最大限度容量時,該優(yōu)先級將會提高最高優(yōu)先級。同時調(diào)整鏈表的節(jié)點,把這個節(jié)點調(diào)整到鏈表的最前面。如圖5所示,開始時,Pl由于優(yōu)先級最高,處于鏈表的最前面。由于P4容量越來越大, 超過了最大限度容量值,所以調(diào)整了 P4的優(yōu)先級,把P4調(diào)整到鏈表的最前面。P4節(jié)點得以立刻寫入Flash文件系統(tǒng)。當(dāng)然,本發(fā)明可以單獨設(shè)置最大限度等待時間或最大限度存儲容量,或者其二者的結(jié)合,以實現(xiàn)本發(fā)明的效果。另外,為了進(jìn)一步節(jié)省第二存儲器的緩存空間,在所述第二存儲器中,刪除已經(jīng)存儲到所述第一存儲器的信息。圖6是本發(fā)明一種基于優(yōu)先級的文件信息存儲裝置的示意圖,包括
優(yōu)先級分配單元,用于將需要存入第一存儲器的信息分配預(yù)設(shè)數(shù)個優(yōu)先等級; 與所述優(yōu)先級分配單元相連的時間等待單元,用于分配各個優(yōu)先等級所需等待的預(yù)設(shè)數(shù)時間;
與所述第二存儲器相連的第一存儲單元,用于將信息緩存到第二存儲器; 連接在所述第一存儲器和第二存儲器之間的第二存儲單元,所述第二存儲單元還與所述時間等待單元相連,用于根據(jù)所需等待的預(yù)設(shè)數(shù)時間,再將所述第二存儲器的信息存儲入所述第一存儲器。圖6與圖1相對應(yīng),上述各單元的運(yùn)行方式與方法中的相同。圖7是本發(fā)明一種基于優(yōu)先級的文件信息存儲裝置的實施例示意圖。如圖7所示,所述第二存儲單元包括
與所述優(yōu)先級分配單元相連的時間判斷單元,用于當(dāng)一個優(yōu)先等級的信息等待的時間到達(dá)預(yù)設(shè)的最大限度等待時間時,將該優(yōu)先等級的信息存儲入所述第一存儲器。如圖7所示,所述第二存儲單元還包括
與所述優(yōu)先級分配單元相連的容量判斷單元,用于當(dāng)一個優(yōu)先等級的信息存儲的容量超過預(yù)設(shè)的最大限度存儲容量時,將該優(yōu)先等級的信息存儲入所述第一存儲器。圖7與圖2相對應(yīng),上述各單元的運(yùn)行方式與方法中的相同。圖8是本發(fā)明提供了一種文件信息存儲系統(tǒng),包括硬件管理系統(tǒng),以及與所述硬件管理系統(tǒng)相連的操作系統(tǒng),其中
所述操作系統(tǒng)包括如前項所述的基于優(yōu)先級的文件信息存儲裝置,用于根據(jù)信息的優(yōu)先等級通過所述硬件管理系統(tǒng)提供的接口,調(diào)度存儲器對所述文件信息進(jìn)行存儲,該存儲器主要包括閃速存儲器和內(nèi)存。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的硬件平臺的方式來實現(xiàn),當(dāng)然也可以全部通過硬件來實施?;谶@樣的理解, 本發(fā)明的技術(shù)方案對背景技術(shù)做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來, 該計算機(jī)軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。以上所述的本發(fā)明實施方式,并不構(gòu)成對本發(fā)明保護(hù)范圍的限定。任何在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于優(yōu)先級的文件信息存儲方法,其特征在于,包括將需要存入第一存儲器的信息分配預(yù)設(shè)數(shù)個優(yōu)先等級以及各個優(yōu)先等級所需等待的預(yù)設(shè)數(shù)時間;將信息緩存到第二存儲器,根據(jù)所需等待的預(yù)設(shè)數(shù)時間,再將所述第二存儲器的信息存儲入所述第一存儲器。
2.根據(jù)權(quán)利要求1所述的基于優(yōu)先級的文件信息存儲方法,其特征在于,將所述第二存儲器的信息存儲入所述第一存儲器的步驟,包括將所述預(yù)設(shè)數(shù)個優(yōu)先等級的信息分別先后存儲入所述第一存儲器,其中,高優(yōu)先等級的信息所等待的預(yù)設(shè)數(shù)時間要比低優(yōu)先等級的信息所等待的預(yù)設(shè)數(shù)時間短。
3.根據(jù)權(quán)利要求2所述的基于優(yōu)先級的文件信息存儲方法,其特征在于,將所述預(yù)設(shè)數(shù)個優(yōu)先等級的信息分別先后存儲入所述第一存儲器的步驟,包括當(dāng)一個優(yōu)先等級的信息等待的時間到達(dá)預(yù)設(shè)的最大限度等待時間時,將該優(yōu)先等級的信息存儲入所述第一存儲器。
4.根據(jù)權(quán)利要求2所述的基于優(yōu)先級的文件信息存儲方法,其特征在于,根據(jù)所需等待的預(yù)設(shè)數(shù)時間,再將所述預(yù)設(shè)數(shù)個優(yōu)先等級的信息分別先后存儲入所述第一存儲器的步驟,包括在所述第二存儲器內(nèi),當(dāng)一個優(yōu)先等級的信息存儲的容量超過預(yù)設(shè)的最大限度存儲容量時,將該優(yōu)先等級的信息存儲入所述第一存儲器。
5.根據(jù)權(quán)利要求1至4任一項所述的基于優(yōu)先級的文件信息存儲方法,其特征在于,將所述第二存儲器的信息存儲入所述第一存儲器的步驟之后,還包括在所述第二存儲器中,刪除已經(jīng)存儲到所述第一存儲器的信息。
6.根據(jù)權(quán)利要求1至5任一項所述的基于優(yōu)先級的文件信息存儲方法,其特征在于,包括所述第一存儲器為閃速存儲器;和/或所述第二存儲器為內(nèi)存。
7.一種基于優(yōu)先級的文件信息存儲裝置,其特征在于,包括優(yōu)先級分配單元,用于將需要存入第一存儲器的信息分配預(yù)設(shè)數(shù)個優(yōu)先等級;與所述優(yōu)先級分配單元相連的時間等待單元,用于分配各個優(yōu)先等級所需等待的預(yù)設(shè)數(shù)時間;與所述第二存儲器相連的第一存儲單元,用于將信息緩存到第二存儲器;連接在所述第一存儲器和第二存儲器之間的第二存儲單元,所述第二存儲單元還與所述時間等待單元相連,用于根據(jù)所需等待的預(yù)設(shè)數(shù)時間,再將所述第二存儲器的信息存儲入所述第一存儲器。
8.根據(jù)權(quán)利要求7所述的基于優(yōu)先級的文件信息存儲裝置,其特征在于,所述第二存儲單元包括與所述優(yōu)先級分配單元相連的時間判斷單元,用于當(dāng)一個優(yōu)先等級的信息等待的時間到達(dá)預(yù)設(shè)的最大限度等待時間時,將該優(yōu)先等級的信息存儲入所述第一存儲器。
9.根據(jù)權(quán)利要求7所述的基于優(yōu)先級的文件信息存儲裝置,其特征在于,所述第二存儲單元還包括與所述優(yōu)先級分配單元相連的容量判斷單元,用于當(dāng)一個優(yōu)先等級的信息存儲的容量超過預(yù)設(shè)的最大限度存儲容量時,將該優(yōu)先等級的信息存儲入所述第一存儲器。
10. 一種文件信息存儲系統(tǒng),包括硬件管理系統(tǒng),以及與所述硬件管理系統(tǒng)相連的操作系統(tǒng),其特征在于所述操作系統(tǒng)包括如權(quán)利要求7至9任一項所述的基于優(yōu)先級的文件信息存儲裝置, 用于根據(jù)信息的優(yōu)先等級通過所述硬件管理系統(tǒng)提供的接口,調(diào)度存儲器對所述文件信息進(jìn)行存儲,該存儲器主要包括閃速存儲器和內(nèi)存。
全文摘要
本發(fā)明公開了基于優(yōu)先級的文件信息存儲方法、裝置及系統(tǒng)。該方法包括將需要存入第一存儲器的信息分配預(yù)設(shè)數(shù)個優(yōu)先等級以及各個優(yōu)先等級所需等待的預(yù)設(shè)數(shù)時間;將信息緩存到第二存儲器,根據(jù)所需等待的預(yù)設(shè)數(shù)時間,再將所述第二存儲器的信息存儲入所述第一存儲器。采用本發(fā)明,能夠協(xié)調(diào)存儲器之間的讀入擦寫次數(shù),保護(hù)存儲器,相對延長存儲器(特別是Flash)的使用壽命。
文檔編號G06F3/06GK102520879SQ20111038882
公開日2012年6月27日 申請日期2011年11月30日 優(yōu)先權(quán)日2011年11月30日
發(fā)明者何常, 黃曉東 申請人:廣東威創(chuàng)視訊科技股份有限公司