System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現(xiàn)步驟摘要】
本申請涉及嵌入式數據存儲,具體涉及一種數據存儲方法、裝置、設備及存儲介質。
技術介紹
1、flash一般以塊為單元進行擦寫,不可以對單字節(jié)操作,容量一般比較大,但是壽命比較低;eeprom可以對單字節(jié)進行讀寫操作,壽命比較長,但是容量一般比較小。在嵌入式產品很多應用場景中,一些關鍵數據需要長久保存或者頻繁的更改,一般大塊且不會頻繁更改的數據會存儲在flash中,頻繁更改的數據會存儲在eeprom中,有的場景下,處于對存儲數據容量大小或者成本考慮,只使用flash,不會使用eeprom。而對那些需要零散存儲的數據,需要在考慮flash壽命的情況下頻繁存儲,這個時候就需要應用到flash模擬eeprom技術,延長flash使用壽命和數據的可操作性。如中國專利公開號為cn116301601a,該申請公開了一種嵌入式系統(tǒng)內置flash模擬eeprom的數據存儲方法及裝置。
2、然而,現(xiàn)有的flash模擬eeprom技術存在以下不足:當需要頻繁更改數據時,數據寫入頻率高,很容易就會把flash寫滿,而flash每次寫滿數據都需要擦除后才能再寫入,這樣就會造成flash頻繁的擦除寫入,由此會大大影響flash的使用壽命。
技術實現(xiàn)思路
1、專利技術目的:本申請實施例提供一種數據存儲方法,旨在克服現(xiàn)有技術存在flash頻繁的擦除寫入影響flash的使用壽命的技術問題;本申請實施例的另一目的是提供一種數據存儲裝置;本申請的第三個目的是提供一種電子設備;本申請的第四個目的是提供一種計算機
2、技術方案:本申請實施例所述的一種數據存儲方法,該數據存儲方法應用于嵌入式數據存儲系統(tǒng),所述嵌入式數據存儲系統(tǒng)至少包括:隨機存取存儲器;
3、所述方法包括:
4、獲取到當前待存儲數據后,獲取所述當前待存儲數據的虛擬地址和所述隨機存取存儲器的當前存儲空間狀態(tài);
5、根據所述當前待存儲數據的虛擬地址和所述隨機存取存儲器的當前存儲空間狀態(tài)確定所述當前待存儲數據在所述隨機存取存儲器中的目標存儲位置;
6、并將所述當前待存儲數據存入所述目標存儲位置。
7、在一些實施例中,所述根據所述當前待存儲數據的虛擬地址和所述隨機存取存儲器的當前存儲空間狀態(tài)確定所述當前待存儲數據在所述隨機存取存儲器中的目標存儲位置,包括:
8、根據所述當前待存儲數據的虛擬地址判斷所述隨機存取存儲器的當前存儲空間是否存在與所述當前待存儲數據的虛擬地址對應的第一虛擬地址;
9、如果存在所述第一虛擬地址,則將所述第一虛擬地址確定為所述目標存儲位置;
10、如果不存在所述第一虛擬地址,則根據所述隨機存取存儲器的當前存儲空間狀態(tài)確定所述目標存儲位置。
11、在一些實施例中,所述根據所述隨機存取存儲器的當前存儲空間狀態(tài)確定所述目標存儲位置,包括:
12、根據所述隨機存取存儲器的當前存儲空間狀態(tài)判斷所述隨機存取存儲器的當前存儲空間是否存在空閑存儲位置;
13、如果存在空閑存儲位置,則將所述空閑存儲位置確定為所述目標存儲位置;
14、如果不存在空閑存儲位置,則獲取所述隨機存取存儲器的當前存儲空間中存入熱度最小的第一存儲位置及所述第一存儲位置對應的數據,并根據所述第一存儲位置和所述第一存儲位置對應的數據確定所述目標存儲位置。
15、在一些實施例中,所述嵌入式數據存儲系統(tǒng)還包括:閃存;所述根據所述第一存儲位置和所述第一存儲位置對應的數據確定所述目標存儲位置,包括:
16、將所述第一存儲位置對應的數據存儲到所述閃存中,并將所述第一存儲位置確定為所述目標存儲位置。
17、在一些實施例中,所述閃存至少包括第一存儲片區(qū)和第二存儲片區(qū);
18、所述將所述第一存儲位置對應的數據存儲到所述閃存中,包括:
19、獲取所述閃存的當前合法片區(qū);其中,所述當前合法片區(qū)為所述第一存儲片區(qū)或所述第二存儲片區(qū);
20、判斷所述當前合法片區(qū)的當前片區(qū)狀態(tài)是否為寫滿狀態(tài);
21、如果所述當前合法片區(qū)的當前片區(qū)狀態(tài)是寫滿狀態(tài),則將緊隨所述當前合法片區(qū)的下一個片區(qū)作為目標合法片區(qū),并將所述第一存儲位置對應的數據存儲到所述目標合法片區(qū);
22、如果所述當前合法片區(qū)的當前片區(qū)狀態(tài)不是寫滿狀態(tài),則將所述第一存儲位置對應的數據存儲到所述當前合法片區(qū)。
23、在一些實施例中,所述將緊隨所述當前合法片區(qū)的下一個片區(qū)作為目標合法片區(qū),包括:
24、擦除緊隨所述當前合法片區(qū)的下一個片區(qū),并將所述下一個片區(qū)的片區(qū)狀態(tài)置為接收狀態(tài);
25、將所述當前合法片區(qū)的片區(qū)狀態(tài)置為寫滿狀態(tài),并將所述當前合法片區(qū)中最后寫入的數據存儲到所述下一個片區(qū);
26、將所述當前合法片區(qū)擦除,并將所述下一個片區(qū)作為所述目標合法片區(qū)。
27、在一些實施例中,在將所述當前待存儲數據存入所述目標存儲位置時,還包括:
28、計算所述當前待存儲數據在所述隨機存取存儲器中的熱度值;統(tǒng)計所述當前待存儲數據在所述隨機存取存儲器的存入次數;以及記錄所述當前待存儲數據在所述隨機存取存儲器中的時間戳。
29、在一些實施例中,所述統(tǒng)計所述當前待存儲數據在所述隨機存取存儲器的存入次數,包括:
30、通過全局變量統(tǒng)計所述當前待存儲數據在所述隨機存取存儲器的存入次數。
31、在一些實施例中,所述隨機存取存儲器至少包括:實時時鐘隨機存取存儲器。
32、相應的,本申請實施例所述的一種數據存儲裝置,該數據存儲裝置應用于嵌入式數據存儲系統(tǒng),所述嵌入式數據存儲系統(tǒng)至少包括:隨機存取存儲器;
33、所述裝置包括:
34、第一獲取模塊,用于獲取當前待存儲數據;
35、第二獲取模塊,用于獲取所述當前待存儲數據的虛擬地址和所述隨機存取存儲器的當前存儲空間狀態(tài);
36、目標存儲位置確定模塊,用于根據所述當前待存儲數據的虛擬地址和所述隨機存取存儲器的當前存儲空間狀態(tài)確定所述當前待存儲數據在所述隨機存取存儲器中的目標存儲位置;
37、數據存入模塊,用于將所述當前待存儲數據存入所述目標存儲位置。
38、相應的,本申請實施例所述的一種電子設備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)上述所述的數據存儲方法。
39、相應的,本申請實施例所述的一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述所述的數據存儲方法。
40、有益效果:與現(xiàn)有技術相比,本申請實施例的數據存儲方法、裝置、設備及存儲介質,該數據存儲方法包括:獲取到當前待存儲數據后,獲取當前待存儲數據的虛擬地址和隨機存取存儲器的當前存儲空間狀態(tài);根據當前待存儲數據的虛擬地址和隨機存取存儲器的當前存儲空間狀本文檔來自技高網...
【技術保護點】
1.一種數據存儲方法,其特征在于,應用于嵌入式數據存儲系統(tǒng),所述嵌入式數據存儲系統(tǒng)至少包括:隨機存取存儲器;
2.根據權利要求1所述的數據存儲方法,其特征在于,所述根據所述當前待存儲數據的虛擬地址和所述隨機存取存儲器的當前存儲空間狀態(tài)確定所述當前待存儲數據在所述隨機存取存儲器中的目標存儲位置,包括:
3.根據權利要求2所述的數據存儲方法,其特征在于,所述根據所述隨機存取存儲器的當前存儲空間狀態(tài)確定所述目標存儲位置,包括:
4.根據權利要求3所述的數據存儲方法,其特征在于,所述嵌入式數據存儲系統(tǒng)還包括:閃存;所述根據所述第一存儲位置和所述第一存儲位置對應的數據確定所述目標存儲位置,包括:
5.根據權利要求4所述的數據存儲方法,其特征在于,所述閃存至少包括第一存儲片區(qū)和第二存儲片區(qū);
6.根據權利要求5所述的數據存儲方法,其特征在于,所述將緊隨所述當前合法片區(qū)的下一個片區(qū)作為目標合法片區(qū),包括:
7.根據權利要求1所述的數據存儲方法,其特征在于,在將所述當前待存儲數據存入所述目標存儲位置時,還包括:
9.根據權利要求1所述的數據存儲方法,其特征在于,所述隨機存取存儲器至少包括:實時時鐘隨機存取存儲器。
10.一種數據存儲裝置,其特征在于,應用于嵌入式數據存儲系統(tǒng),所述嵌入式數據存儲系統(tǒng)至少包括:隨機存取存儲器;
11.一種電子設備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)權利要求1-10中任一項所述的數據存儲方法。
12.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)權利要求1-10中任一項所述的數據存儲方法。
...【技術特征摘要】
1.一種數據存儲方法,其特征在于,應用于嵌入式數據存儲系統(tǒng),所述嵌入式數據存儲系統(tǒng)至少包括:隨機存取存儲器;
2.根據權利要求1所述的數據存儲方法,其特征在于,所述根據所述當前待存儲數據的虛擬地址和所述隨機存取存儲器的當前存儲空間狀態(tài)確定所述當前待存儲數據在所述隨機存取存儲器中的目標存儲位置,包括:
3.根據權利要求2所述的數據存儲方法,其特征在于,所述根據所述隨機存取存儲器的當前存儲空間狀態(tài)確定所述目標存儲位置,包括:
4.根據權利要求3所述的數據存儲方法,其特征在于,所述嵌入式數據存儲系統(tǒng)還包括:閃存;所述根據所述第一存儲位置和所述第一存儲位置對應的數據確定所述目標存儲位置,包括:
5.根據權利要求4所述的數據存儲方法,其特征在于,所述閃存至少包括第一存儲片區(qū)和第二存儲片區(qū);
6.根據權利要求5所述的數據存儲方法,其特征在于,所述將緊隨所述當前合法片區(qū)的下一個片區(qū)作為目標合法...
【專利技術屬性】
技術研發(fā)人員:請求不公布姓名,請求不公布姓名,胡運平,崔亞飛,
申請(專利權)人:深圳市欣旺達能源科技有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。