本發(fā)明涉及存儲(chǔ)器,尤其涉及一種存儲(chǔ)器磨損均衡方法、裝置、設(shè)備及介質(zhì)。
背景技術(shù):
1、目前在主流的嵌入式存儲(chǔ)器固件測(cè)試中,尤其以安卓等手機(jī)平臺(tái)為主,在性能測(cè)試之前,一般預(yù)先填入部分?jǐn)?shù)據(jù),接著跑長(zhǎng)達(dá)數(shù)天的測(cè)試,測(cè)試后會(huì)導(dǎo)致存儲(chǔ)器中塊的閃存可擦寫次數(shù)差值增加過(guò)大,或者在性能測(cè)試之前,跑過(guò)多輪的全盤循環(huán)覆蓋寫,也會(huì)導(dǎo)致塊的閃存可擦寫次數(shù)差值增加過(guò)大,這時(shí)候再跑測(cè)試,會(huì)啟動(dòng)磨損平衡機(jī)制,從而導(dǎo)致測(cè)試的性能出現(xiàn)波動(dòng)。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本發(fā)明的目的是為了克服現(xiàn)有技術(shù)中的不足,提供一種存儲(chǔ)器磨損均衡方法、裝置、設(shè)備及介質(zhì),用于根據(jù)存儲(chǔ)器的具體狀態(tài)以及垃圾收集的緊迫情況執(zhí)行相應(yīng)的垃圾收集,避免影響存儲(chǔ)器的正常工作及性能。
2、本發(fā)明提供如下技術(shù)方案:
3、第一方面,本發(fā)明提出一種存儲(chǔ)器磨損均衡方法,所述方法包括:
4、定義高優(yōu)先級(jí)平衡垃圾收集對(duì)應(yīng)的第一隊(duì)列狀態(tài),以及低優(yōu)先級(jí)平衡垃圾收集對(duì)應(yīng)的第二隊(duì)列狀態(tài);
5、基于存儲(chǔ)器的閃存可擦寫次數(shù)情況置位所述第一隊(duì)列狀態(tài)或第二隊(duì)列狀態(tài);
6、定義所述高優(yōu)先級(jí)平衡垃圾收集對(duì)應(yīng)的第一活動(dòng)狀態(tài),以及所述低優(yōu)先級(jí)平衡垃圾收集對(duì)應(yīng)的第二活動(dòng)狀態(tài);
7、基于存儲(chǔ)器狀態(tài)根據(jù)所述第一隊(duì)列狀態(tài)的置位情況,或第二隊(duì)列狀態(tài)的置位情況,置位所述第一活動(dòng)狀態(tài),或所述第二活動(dòng)狀態(tài),并清除對(duì)應(yīng)的所述第一隊(duì)列狀態(tài)和所述第二隊(duì)列狀態(tài)。
8、在一實(shí)施方式中,所述基于存儲(chǔ)器的最大閃存可擦寫次數(shù)情況置位所述第一隊(duì)列狀態(tài)或第二隊(duì)列狀態(tài),包括:
9、獲取所述存儲(chǔ)器的全盤最大閃存可擦寫次數(shù)和全盤最小閃存可擦寫次數(shù),以及所述存儲(chǔ)器中的空閑塊最大閃存可擦寫次數(shù)和數(shù)據(jù)塊最小閃存可擦寫次數(shù);
10、確定所述全盤最大閃存可擦寫次數(shù)和所述全盤最小閃存可擦寫次數(shù)的差值,得到第一可擦寫差值;
11、確定所述空閑塊最大閃存可擦寫次數(shù)和所述數(shù)據(jù)塊最小閃存可擦寫次數(shù)的差值,得到第二可擦寫差值;
12、確定預(yù)設(shè)閾值和預(yù)設(shè)數(shù)值的差值,得到第三可容忍差值;
13、基于所述第一可擦寫差值、所述第二可擦寫差值、所述第三可容忍差值和所述預(yù)設(shè)閾值的大小比較結(jié)果置位所述第一隊(duì)列狀態(tài)或第二隊(duì)列狀態(tài)。
14、在一實(shí)施方式中,所述基于所述第一可擦寫差值、所述第二可擦寫差值、所述第三可容忍差值和所述預(yù)設(shè)閾值的大小比較結(jié)果置位所述第一隊(duì)列狀態(tài)或第二隊(duì)列狀態(tài),包括:
15、判斷所述第一可擦寫差值和所述第二可擦寫差值是否均大于所述第三可容忍差值;
16、若所述第一可擦寫差值和所述第二可擦寫差值均大于所述第三可容忍差值,則置位所述第二隊(duì)列狀態(tài);
17、若所述第一可擦寫差值和所述第二可擦寫差值均等于所述第三可容忍差值,則置位所述第一隊(duì)列狀態(tài);
18、若所述第一可擦寫差值和所述第二可擦寫差值均小于所述第三可容忍差值,則判斷所述第一可擦寫差值和所述第二可擦寫差值是否均大于所述預(yù)設(shè)閾值;
19、若所述第一可擦寫差值和所述第二可擦寫差值均大于所述預(yù)設(shè)閾值,則置位所述第一隊(duì)列狀態(tài)。
20、在一實(shí)施方式中,所述基于存儲(chǔ)器狀態(tài)根據(jù)所述第一隊(duì)列狀態(tài)的置位情況,或第二隊(duì)列狀態(tài)的置位情況,置位所述第一活動(dòng)狀態(tài),或所述第二活動(dòng)狀態(tài),并清除對(duì)應(yīng)的所述第一隊(duì)列狀態(tài)和所述第二隊(duì)列狀態(tài),包括:
21、若所述第一隊(duì)列狀態(tài)被置位,且所述第一隊(duì)列狀態(tài)屬于寫垃圾收集,則置位所述第一活動(dòng)狀態(tài),并清除所述第一隊(duì)列狀態(tài)和所述第二隊(duì)列狀態(tài);
22、若所述第二隊(duì)列狀態(tài)被置位,且所述第二隊(duì)列狀態(tài)屬于空閑垃圾收集,則置位所述第二活動(dòng)狀態(tài),并清除所述第二隊(duì)列狀態(tài)。
23、在一實(shí)施方式中,所述方法還包括:
24、當(dāng)置位所述第一活動(dòng)狀態(tài)時(shí),且所述存儲(chǔ)器狀態(tài)為寫狀態(tài),則基于所述第一活動(dòng)狀態(tài)正常執(zhí)行所述高優(yōu)先級(jí)平衡垃圾收集;
25、當(dāng)置位所述第二活動(dòng)狀態(tài)時(shí),且所述存儲(chǔ)器狀態(tài)為空閑狀態(tài),則退出基于所述第二活動(dòng)狀態(tài)執(zhí)行的所述低優(yōu)先級(jí)平衡垃圾收集。
26、在一實(shí)施方式中,所述方法還包括:
27、當(dāng)置位空塊足夠垃圾收集對(duì)應(yīng)的第三活動(dòng)狀態(tài)時(shí),且所述存儲(chǔ)器狀態(tài)為寫狀態(tài),則退出基于所述第三活動(dòng)狀態(tài)執(zhí)行的所述空塊足夠垃圾收集;
28、當(dāng)置位空塊太低垃圾收集對(duì)應(yīng)的第四活動(dòng)狀態(tài)或巡檢垃圾收集對(duì)應(yīng)的第五活動(dòng)狀態(tài)時(shí),且所述存儲(chǔ)器狀態(tài)為寫狀態(tài),則基于所述第四活動(dòng)狀態(tài)正常執(zhí)行所述空塊太低垃圾收集或基于所述第五活動(dòng)狀態(tài)正常執(zhí)行所述巡檢垃圾收集。
29、在一實(shí)施方式中,所述正常執(zhí)行所述高優(yōu)先級(jí)平衡垃圾收集,包括:
30、從所述存儲(chǔ)器中的多個(gè)數(shù)據(jù)塊中基于第一目標(biāo)擦寫條件確定目標(biāo)數(shù)據(jù)塊,并從所述存儲(chǔ)器中的多個(gè)空閑塊中基于第二目標(biāo)擦寫條件確定目標(biāo)空閑塊;
31、將所述目標(biāo)數(shù)據(jù)塊中的數(shù)據(jù)搬移至所述目標(biāo)空閑塊。
32、第二方面,本發(fā)明提出一種存儲(chǔ)器磨損均衡裝置,所述裝置包括:
33、第一定義模塊,用于定義高優(yōu)先級(jí)平衡垃圾收集對(duì)應(yīng)的第一隊(duì)列狀態(tài),以及低優(yōu)先級(jí)平衡垃圾收集對(duì)應(yīng)的第二隊(duì)列狀態(tài);
34、第一置位模塊,用于基于存儲(chǔ)器的閃存可擦寫次數(shù)情況置位所述第一隊(duì)列狀態(tài)或第二隊(duì)列狀態(tài);
35、第二定義模塊,用于定義所述高優(yōu)先級(jí)平衡垃圾收集對(duì)應(yīng)的第一活動(dòng)狀態(tài),以及所述低優(yōu)先級(jí)平衡垃圾收集對(duì)應(yīng)的第二活動(dòng)狀態(tài);
36、第二置位模塊,用于基于存儲(chǔ)器狀態(tài)根據(jù)所述第一隊(duì)列狀態(tài)的置位情況,或第二隊(duì)列狀態(tài)的置位情況,置位所述第一活動(dòng)狀態(tài),或所述第二活動(dòng)狀態(tài),并清除對(duì)應(yīng)的所述第一隊(duì)列狀態(tài)和所述第二隊(duì)列狀態(tài)。
37、第三方面,本發(fā)明提出一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面所述的存儲(chǔ)器磨損均衡方法的步驟。
38、第三方面,本發(fā)明提出一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面所述的存儲(chǔ)器磨損均衡方法的步驟。
39、本發(fā)明公開的存儲(chǔ)器磨損均衡方法、裝置、設(shè)備及介質(zhì),定義高優(yōu)先級(jí)平衡垃圾收集對(duì)應(yīng)的第一隊(duì)列狀態(tài),以及低優(yōu)先級(jí)平衡垃圾收集對(duì)應(yīng)的第二隊(duì)列狀態(tài);基于存儲(chǔ)器的閃存可擦寫次數(shù)情況置位所述第一隊(duì)列狀態(tài)或第二隊(duì)列狀態(tài);定義所述高優(yōu)先級(jí)平衡垃圾收集對(duì)應(yīng)的第一活動(dòng)狀態(tài),以及所述低優(yōu)先級(jí)平衡垃圾收集對(duì)應(yīng)的第二活動(dòng)狀態(tài);基于存儲(chǔ)器狀態(tài)根據(jù)所述第一隊(duì)列狀態(tài)的置位情況,或第二隊(duì)列狀態(tài)的置位情況,置位所述第一活動(dòng)狀態(tài),或所述第二活動(dòng)狀態(tài),并清除對(duì)應(yīng)的所述第一隊(duì)列狀態(tài)和第二隊(duì)列狀態(tài)。這樣,基于存儲(chǔ)器的閃存可擦寫次數(shù)情況以及存儲(chǔ)器狀態(tài)來(lái)確定執(zhí)行高優(yōu)先級(jí)平衡垃圾收集或低優(yōu)先級(jí)平衡垃圾收集,可避免影響存儲(chǔ)器的正常性能,以及防止過(guò)度磨損均衡或無(wú)效磨損均衡。
40、為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯和易懂,下文特舉較佳實(shí)施例,并配合所附附圖,做詳細(xì)說(shuō)明如下。