System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及計算機,尤其涉及一種flash數據存儲方法、裝置、設備、存儲介質以及計算機程序產品。
技術介紹
1、flash存儲器由于具有掉電可保存數據的特點,在數據存儲領域得到了廣泛的應用。
2、flash存儲器的存儲單位包括字節(byte)、頁(page)、扇區(sector)以及塊(block)等,其中,扇區為flash存儲器中一種存儲結構單元,也是flash存儲器擦除操作的最小單位,一個扇區內可以劃分為多個存儲地址,每個存儲地址都可以獨立存儲數據。
3、雖然flash在讀數據方面沒有什么限制,但是在寫數據方面有很多限制,flash存儲器的寫操作可以分為兩類:編程、擦除。編程操作以字節為單位,可以把字節內的每個比特從1(高態)變為0(低態),或者維持原來值,但不能把為0的比特變為1。而擦除操作以扇區為單位,把扇區內的所有比特變為1。在對扇區內某一存儲地址進行數據寫入之前,如果該存儲地址以前被寫過,則需要將該扇區的其他存儲地址中存儲的數據保存,然后再擦除包含該地址的整個扇區,在完成擦除后,再將保存的數據以及需要寫入的數據重新寫入該扇區,嚴重影響了數據寫入效率。
4、同時,由于flash存儲器的實現技術,每個扇區的擦除次數有限(每個扇區的擦除次數一般不能超過10萬次),而在文件系統中,flash存儲器的某些塊具有非常高的讀寫頻率,而采用現有的數據擦除方法,如果每次數據寫入都需要對整個扇區進行擦除,則其中使用頻率高的扇區很快就會超過擦除次數,從而使得flash存儲器的存儲空間減少,影響flash存
5、由此可見,如何在使用flash存儲器執行寫操作時,盡可能地減少flash擦除次數,從而提高flash存儲器的使用壽命成為目前亟待解決的技術問題。
技術實現思路
1、本申請實施例提供一種flash數據存儲方法,用以減少flash存儲器執行寫操作時的擦除次數,從而提高flash存儲器的使用壽命。
2、本申請實施例還提供一種flash數據存儲裝置,用以減少flash存儲器執行寫操作時的擦除次數,從而提高flash存儲器的使用壽命。
3、本申請實施例還提供一種flash數據存儲設備,用以減少flash存儲器執行寫操作時的擦除次數,從而提高flash存儲器的使用壽命。
4、本申請實施例還提供一種計算機可讀存儲介質,用以減少flash存儲器執行寫操作時的擦除次數,從而提高flash存儲器的使用壽命。
5、本申請實施例還提供一種計算機程序產品,用以減少flash存儲器執行寫操作時的擦除次數,從而提高flash存儲器的使用壽命。
6、本申請實施例采用下述技術方案:
7、一種flash數據存儲方法,包括:獲取flash存儲空間中各扇區在工作過程中的數據修改量;根據所述數據修改量,確定目標扇區,并獲取所述目標扇區對應的目標數據;確定所述flash存儲空間中的空閑扇區,將所述目標數據存入所述空閑扇區中,并在所述空閑扇區中記錄所述目標數據的狀態為有效;獲取工作過程中所述目標數據對應的更新數據;將所述更新數據存入所述空閑扇區中,并將所述目標數據的狀態修改為無效。
8、一種flash數據存儲裝置,包括:識別單元,用于獲取flash存儲空間中各扇區在工作過程中的數據修改量;原始數據獲取單元,用于根據所述數據修改量,確定目標扇區,并獲取所述目標扇區對應的目標數據;存儲單元,用于確定所述flash存儲空間中的空閑扇區,將所述目標數據存入所述空閑扇區中,并在所述空閑扇區中記錄所述目標數據的狀態為有效;更新數據獲取單元,用于獲取工作過程中所述目標數據對應的更新數據;數據修改單元,用于將所述更新數據作存入所述空閑扇區中,并將所述目標數據的狀態修改為無效。
9、一種flash數據存儲設備,包括:
10、處理器;以及被安排成存儲計算機可執行指令的存儲器,所述可執行指令在被執行時使所述處理器執行以下操作:獲取flash存儲空間中各扇區在工作過程中的數據修改量;根據所述數據修改量,確定目標扇區,并獲取所述目標扇區對應的目標數據;確定所述flash存儲空間中的空閑扇區,將所述目標數據存入所述空閑扇區中,并在所述空閑扇區中記錄所述目標數據的狀態為有效;獲取工作過程中所述目標數據對應的更新數據;將所述更新數據存入所述空閑扇區中,并將所述目標數據的狀態修改為無效。
11、一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲一個或多個程序,所述一個或多個程序當被包括多個應用程序的電子設備執行時,使得所述電子設備執行以下操作:獲取flash存儲空間中各扇區在工作過程中的數據修改量;根據所述數據修改量,確定目標扇區,并獲取所述目標扇區對應的目標數據;確定所述flash存儲空間中的空閑扇區,將所述目標數據存入所述空閑扇區中,并在所述空閑扇區中記錄所述目標數據的狀態為有效;獲取工作過程中所述目標數據對應的更新數據;將所述更新數據作存入所述空閑扇區中,并將所述目標數據的狀態修改為無效。
12、一種計算機程序產品,包括計算機程序,所述計算機程序被處理器執行時實現:獲取flash存儲空間中各扇區在工作過程中的數據修改量;根據所述數據修改量,確定目標扇區,并獲取所述目標扇區對應的目標數據;確定所述flash存儲空間中的空閑扇區,將所述目標數據存入所述空閑扇區中,并在所述空閑扇區中記錄所述目標數據的狀態為有效;獲取工作過程中所述目標數據對應的更新數據;將所述更新數據存入所述空閑扇區中,并將所述目標數據的狀態修改為無效。
13、本申請實施例采用的上述至少一個技術方案能夠達到以下有益效果:
14、采用本申請實施例提供的flash數據存儲方法,在使用flash存儲器的過程中,首先可以獲取flash存儲空間中各扇區在工作過程中的數據修改量;根據數據修改量確定目標扇區,并獲取目標扇區在工作過程中發生修改的數據作為目標數據,確定所述flash存儲空間中的空閑扇區,將目標數據存入空閑扇區中,并在空閑扇區中記錄所述目標數據的狀態為有效,進而,在后續工作過程中,在該空閑扇區仍有存儲空間之前,獲取工作過程中所述目標數據對應的更新數據;將更新數據存入所述空閑扇區中,并將所述目標數據的狀態修改為無效。采用本申請實施例所提供的flash數據存儲方法,由于可以將使用過程中數據修改量較小的扇區中的修改數據集中存儲在一個空閑扇區中,在后續工作過程中,在該空閑扇區仍有存儲空間之前,針對獲取到的、保存在該空閑扇區中的修改數據所對應的更新數據,可以直接將該更新數據存入所述空閑扇區中,并將目標數據的狀態修改為無效,通過該種方式,可以實現對該空閑扇區中存儲數據的寫入修改,而不需要先對該空閑扇區進行擦除,在進行數據寫入,極大地降低了flash存儲器在執行寫操作時的擦除次數,從而提高flash存儲器的使用壽命。
本文檔來自技高網...【技術保護點】
1.一種Flash數據存儲方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述將所述目標數據存入所述空閑扇區,具體包括:
3.根據權利要求2所述的方法,其特征在于,所述將所述組合目標數據存儲至所述空閑扇區,具體包括:
4.根據權利要求3所述的方法,其特征在于,所述將所述更新數據存入所述空閑扇區,具體包括:
5.根據權利要求4所述的方法,其特征在于,所述將所述更新數據存入所述空閑扇區中,具體包括:
6.根據權利要求5所述的方法,其特征在于,所述將所述目標數據的狀態修改為無效,具體包括:
7.根據權利要求3所述的方法,其特征在于,所述根據所述目標數據條數,確定每個所述存儲區域所包含的存儲地址數量,具體包括:
8.根據權利要求7所述的方法,其特征在于,所述存儲區域相比于待修改數據條數增加的一位存儲地址用于存儲記錄數據狀態的標識符。
9.根據權利要求1所述的方法,其特征在于,所述根據所述數據修改量,確定目標扇區,具體包括:
10.根據權利要求9所述的方法,其特征
11.一種Flash數據存儲裝置,其特征在于,包括:
12.一種Flash數據存儲設備,包括:
13.一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲一個或多個程序,所述一個或多個程序當被包括多個應用程序的電子設備執行時,使得所述電子設備執行如權利要求1-10任一權項所述的Flash數據存儲方法。
14.一種計算機程序產品,其特征在于,包括計算機程序,所述計算機程序被處理器執行時實現如權利要求1-10任一項所述的Flash數據存儲方法。
...【技術特征摘要】
1.一種flash數據存儲方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述將所述目標數據存入所述空閑扇區,具體包括:
3.根據權利要求2所述的方法,其特征在于,所述將所述組合目標數據存儲至所述空閑扇區,具體包括:
4.根據權利要求3所述的方法,其特征在于,所述將所述更新數據存入所述空閑扇區,具體包括:
5.根據權利要求4所述的方法,其特征在于,所述將所述更新數據存入所述空閑扇區中,具體包括:
6.根據權利要求5所述的方法,其特征在于,所述將所述目標數據的狀態修改為無效,具體包括:
7.根據權利要求3所述的方法,其特征在于,所述根據所述目標數據條數,確定每個所述存儲區域所包含的存儲地址數量,具體包括:
8.根據權利要求7所述的方法,其特征在于,所述...
【專利技術屬性】
技術研發人員:請求不公布姓名,
申請(專利權)人:杭州旗捷科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。