System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及數據處理,尤其涉及一種緩存管理方法及其存儲介質。
技術介紹
1、嵌入式系統和移動設備的普及,隨著物聯網、智能家居和移動互聯網的發展,嵌入式系統和移動設備的普及程度不斷增加,這些設備通常需要使用flash存儲來存儲數據和程序。nand?flash是一種非易失性存儲技術,被廣泛用于數字存儲設備中。nand?flash提供了更高的存儲密度和更低的成本,因此非常適合用來存儲大量的數據,例如在固態硬盤(ssd)、usb閃存驅動器、數碼相機的記憶卡、手機存儲、以及其他需要大量數據存儲的應用場景中。
2、nand?flash存儲器在進行連續讀取和寫入時通常表現良好,然而其仍然存在問題。為了進行新的寫入操作,nand?flash存儲器需要先擦除原有數據,這個擦除過程相對較慢,而且擦除操作需要在數據被寫入之前進行,這可能會增加系統復雜性和數據延遲;由于nand?flash在隨機讀取和寫入方面的性能不穩定,導致在一些應用中會出現延遲或性能下降的情況;同時,nand?flash存儲器有寫入次數限制,每次寫入操作都會導致存儲單元的耗損,最終導致存儲單元無法正確保存數據。這意味著在持續寫入大量數據時,nand?flash存儲器的塊管理需要采用正確的塊操作邏輯,考慮存儲單元的損耗,合理安排存儲單元擦除以及隨機讀取寫入。
技術實現思路
1、以下是對本文詳細描述的主題的概述。本概述并非是為了限制權利要求的保護范圍。
2、本申請實施例提供了一種緩存管理方法及其存儲介質,能夠實現實時
3、第一方面,本申請實施例提供了一種緩存管理方法,包括:
4、響應于目標數據寫入請求,獲取當前目標塊的頁信息,其中,所述頁信息通過頁使用情況確定,所述頁信息表示所述當前目標塊需要進行數據讀寫操作的頁;
5、根據所述頁信息,執行對應的塊操作;
6、其中,所述頁信息包括:當前目標塊的最后一個頁、當前目標塊的首個頁以及當前目標塊的中間頁,所述頁信息包括與其對應的塊操作邏輯,所述塊操作邏輯用于指示執行對應的塊操作。
7、根據本申請實施例提供的一些緩存管理方法,所述根據所述頁信息,執行對應的塊操作,包括:
8、當所述頁信息為當前目標塊的最后一個頁,通過當前目標塊的頁信息判斷所述當前目標塊使用完畢時,將所述當前目標塊添加至無效頁鏈表;
9、從所述無效頁鏈表中尋找無效頁和所述當前目標塊總頁數相等的替換塊,將所述替換塊添加至空閑鏈表,并從所述無效頁鏈表中刪除所述替換塊;
10、從所述空閑鏈表中獲取目標物理塊,所述目標物理塊表示所述空閑鏈表中擦除數最小的物理塊,根據所述目標物理塊生成第一目標塊,并將所述第一目標塊的頁信息標記為首個頁;
11、將所述第一目標塊替換為所述當前目標塊,并重新響應目標數據寫入請求。
12、根據本申請實施例提供的一些緩存管理方法,在將所述當前目標塊添加至無效頁鏈表之前,還包括:
13、確認所述當前目標塊已經使用完畢,否則將部分目標數據寫入所述當前目標塊,直至將所述當前目標塊使用完畢。
14、根據本申請實施例提供的一些緩存管理方法,所述根據所述頁信息,執行對應的塊操作,還包括:
15、當所述頁信息為當前目標塊的首個頁時,對所述當前目標塊進行擦除,獲得第二目標塊;
16、將所述第二目標塊作為替換為當前目標塊;
17、將目標數據寫入所述當前目標塊。
18、根據本申請實施例提供的一些緩存管理方法,所述根據所述頁信息,執行對應的塊操作,還包括:
19、當所述頁信息為當前目標塊的中間頁時,將所述目標數據寫入當前目標塊。
20、根據本申請實施例提供的一些緩存管理方法,所述對所述當前目標塊進行擦除,獲得第二目標塊,包括:
21、判斷所述當前目標塊是否擦除成功;
22、當確定所述當前目標塊擦除成功時,將擦除后的所述當前目標塊確定為第二目標塊。
23、根據本申請實施例提供的一些緩存管理方法,在判斷所述當前目標塊是否擦除成功之后,還包括:
24、當確定所述當前目標塊擦除失敗時,向閃存標記所述當前目標塊為壞塊;
25、從空閑鏈表中獲取第三目標塊,所述第三目標塊表示所述空閑鏈表中擦除數最小的物理塊,將所述第三目標塊替換所述壞塊;
26、對所述第三目標塊進行擦除,將擦除后的所述第三目標塊確定為第二目標塊。
27、根據本申請實施例提供的一些緩存管理方法,所述方法還包括:
28、當目標數據寫入當前目標塊失敗時,從空閑鏈表中獲取第四目標塊;
29、擦除所述第四目標塊,判斷擦除成功則將當前目標塊的數據拷貝至所述第四目標塊;
30、當所述當前目標塊的數據成功拷貝至第四目標塊時,將所述當前目標塊標記為壞塊,并將所述第四目標塊替換當前目標塊。
31、根據本申請實施例提供的一些緩存管理方法,所述方法還包括:
32、當所述第四目標塊擦除失敗時,將所述第四目標塊標記為壞塊并重新從空閑鏈表中獲取第四目標塊。
33、第二方面,本申請實施例提供了一種計算機可讀存儲介質,所述存儲介質存儲有計算機程序,所述計算機程序被處理器執行時實現如本申請第一方面所述的緩存管理方法。
34、本申請實施例至少包括以下有益效果:
35、當響應于目標數據寫入請求時,獲取當前目標塊的頁信息,所述頁信息表示所述當前目標塊需要進行數據讀寫操作的頁;根據頁信息,執行對應的塊操作,其中,頁信息包括:當前目標塊的最后一個頁、當前目標塊的首個頁以及當前目標塊的中間頁,頁信息包括與其對應的塊操作邏輯,塊操作邏輯用于指示執行對應的塊操作。通過頁信息對當前目標塊進行塊操作,能夠實現實時動態地對nand?flash存儲器的塊管理,考慮存儲單元的損耗,合理安排存儲單元擦除以及隨機讀取寫入,從而提高nand?flash存儲器的耐用性和性能,提高數據讀寫操作的整體效率。
36、本申請的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本申請而了解。本申請的目的和其他優點可通過在說明書以及附圖中所特別指出的結構來實現和得到。
本文檔來自技高網...【技術保護點】
1.一種緩存管理方法,其特征在于,包括:
2.根據權利要求1所述的緩存管理方法,其特征在于,所述根據所述頁信息,執行對應的塊操作,包括:
3.根據權利要求2所述的緩存管理方法,其特征在于,在將所述當前目標塊添加至無效頁鏈表之前,還包括:
4.根據權利要求1所述的緩存管理方法,其特征在于,所述根據所述頁信息,執行對應的塊操作,還包括:
5.根據權利要求1所述的緩存管理方法,其特征在于,所述根據所述頁信息,執行對應的塊操作,還包括:
6.根據權利要求4所述的緩存管理方法,其特征在于,所述對所述當前目標塊進行擦除,獲得第二目標塊,包括:
7.根據權利要求6所述的緩存管理方法,其特征在于,在判斷所述當前目標塊是否擦除成功之后,還包括:
8.根據權利要求4-5任一所述的緩存管理方法,其特征在于,所述方法還包括:
9.根據權利要求8所述的緩存管理方法,其特征在于,所述方法還包括:
10.一種計算機可讀存儲介質,所述存儲介質存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權
...【技術特征摘要】
1.一種緩存管理方法,其特征在于,包括:
2.根據權利要求1所述的緩存管理方法,其特征在于,所述根據所述頁信息,執行對應的塊操作,包括:
3.根據權利要求2所述的緩存管理方法,其特征在于,在將所述當前目標塊添加至無效頁鏈表之前,還包括:
4.根據權利要求1所述的緩存管理方法,其特征在于,所述根據所述頁信息,執行對應的塊操作,還包括:
5.根據權利要求1所述的緩存管理方法,其特征在于,所述根據所述頁信息,執行對應的塊操作,還包括:
6.根據權利要求4所述的...
【專利技術屬性】
技術研發人員:江澈,李明烽,原順,
申請(專利權)人:廣東匠芯創科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。