System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及固態硬盤,特別是涉及一種基于間接地址的ssd映射管理方法、裝置、計算機設備和存儲介質。
技術介紹
1、ssd(solid?state?drive,固態硬盤)作為一種新型存儲介質,其采用nand顆粒作為數據存儲,已經廣泛應用于pc,筆記本,服務器等各個領域并逐漸取代hdd(hard?diskdrive,機械硬盤)成為存貯領域的主流應用產品。
2、由于dram-less?ssd內部ram空間較小,一級映射表通常是按需加載到ram,二級映射表為簡化實現通常會常駐ram,為了降低二級映射表占用ram空間,在傳統的處理過程中,通常會通過增加一級映射表分片大小來實現。這樣在大范圍隨機寫場景,會導致一級映射表存儲的數據量過多,不但影響性能,也影響ssd的壽命。
技術實現思路
1、基于此,有必要針對上述技術問題,提供一種基于間接地址的ssd映射管理方法、裝置、計算機設備和存儲介質。
2、一種基于間接地址的ssd映射管理方法,所述方法包括:
3、將一級映射表分片劃分成多個子分片,并以所述一級映射表分片的子分片為單元保存一級映射表;
4、創建并保存一個用于記錄所述子分片所在nand地址的間接地址頁,并將二級映射表指向所述間接地址頁;
5、在保存修改過的一級映射表分片的過程中,僅保存修改過的一級映射分片的子分片;
6、當需要加載一級映射表分片到ram時,先根據所述二級映射表讀出一級映射分片的各子分片地址再將各子分片全部
7、在其中一個實施例中,所述方法還包括:
8、獲取一臟映射緩存,根據二級映射表讀取當前臟映射的間接地址頁獲取子分片的全部地址;
9、獲取映射緩存一臟子分片,分配地址寫入nand并更新對應子分片地址;
10、判斷當前映射緩存臟子分片是否存儲完畢;
11、若是則分配地址寫入間接地址頁到nand并更新映射分片的二級映射表。
12、在其中一個實施例中,所述若是則分配地址寫入間接地址頁到nand并更新映射分片的二級映射表的步驟之后還包括:
13、判斷臟映射緩存是否處理完畢;
14、若未處理完則獲取下一個臟映射緩存并執行所述根據二級映射表讀取當前臟映射的間接地址頁獲取子分片的全部地址的步驟,若已完成則結束。
15、在其中一個實施例中,所述當需要加載一級映射表分片到ram時,先根據所述二級映射表讀出一級映射分片的各子分片地址再將各子分片全部加載到ram的步驟包括:
16、當需要從nand加載映射分片時,先根據二級映射表讀出間接地址頁以獲取全部的子分片地址,然后根據子分片地址加載映射到ram的映射表緩存。
17、一種基于間接地址的ssd映射管理裝置,所述裝置包括:
18、劃分模塊,所述劃分模塊用于將一級映射表分片劃分成多個子分片,并以所述一級映射表分片的子分片為單元保存一級映射表;
19、創建模塊,所述創建模塊用于創建并保存一個用于記錄所述子分片所在nand地址的間接地址頁,并將二級映射表指向所述間接地址頁;
20、存儲模塊,所述存儲模塊用于在保存修改過的一級映射表分片的過程中,僅保存修改過的一級映射分片的子分片;
21、加載模塊,所述加載模塊用于當需要加載一級映射表分片到ram時,先根據所述二級映射表讀出一級映射分片的各子分片地址再將各子分片全部加載到ram。
22、在其中一個實施例中,所述裝置還用于:
23、獲取一臟映射緩存,根據二級映射表讀取當前臟映射的間接地址頁獲取子分片的全部地址;
24、獲取映射緩存一臟子分片,分配地址寫入nand并更新對應子分片地址;
25、判斷當前映射緩存臟子分片是否存儲完畢;
26、若是則分配地址寫入間接地址頁到nand并更新映射分片的二級映射表。
27、在其中一個實施例中,所述裝置還用于:
28、判斷臟映射緩存是否處理完畢;
29、若未處理完則獲取下一個臟映射緩存并執行所述根據二級映射表讀取當前臟映射的間接地址頁獲取子分片的全部地址的步驟,若已完成則結束。
30、在其中一個實施例中,所述加載模塊還用于:
31、當需要從nand加載映射分片時,先根據二級映射表讀出間接地址頁以獲取全部的子分片地址,然后根據子分片地址加載映射到ram的映射表緩存。
32、一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現上述任意一項方法的步驟。
33、一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現上述任意一項方法的步驟。
34、上述基于間接地址的ssd映射管理方法、裝置、計算機設備和存儲介質,通過將一級映射表分片劃分成多個子分片,并以所述一級映射表分片的子分片為單元保存一級映射表;創建并保存一個用于記錄所述子分片所在nand地址的間接地址頁,并將二級映射表指向所述間接地址頁;在保存修改過的一級映射表分片的過程中,僅保存修改過的一級映射分片的子分片;當需要加載一級映射表分片到ram時,先根據所述二級映射表讀出一級映射分片的各子分片地址再將各子分片全部加載到ram。本專利技術通過將一級映射表分片的子分片大小作為一級映射表的存儲單元,既可以維持較大的一級映射表分片大小,降低二級映射表占用的ram空間,也可以避免大范圍隨機寫場景的保存一級映射表數據過多問題。
本文檔來自技高網...【技術保護點】
1.一種基于間接地址的SSD映射管理方法,所述方法包括:
2.根據權利要求1所述的基于間接地址的SSD映射管理方法,其特征在于,所述方法還包括:
3.根據權利要求2所述的基于間接地址的SSD映射管理方法,其特征在于,所述若是則分配地址寫入間接地址頁到NAND并更新映射分片的二級映射表的步驟之后還包括:
4.根據權利要求1-3任一項所述的基于間接地址的SSD映射管理方法,其特征在于,所述當需要加載一級映射表分片到RAM時,先根據所述二級映射表讀出一級映射分片的各子分片地址再將各子分片全部加載到RAM的步驟包括:
5.一種基于間接地址的SSD映射管理裝置,其特征在于,所述裝置包括:
6.根據權利要求5所述的基于間接地址的SSD映射管理裝置,其特征在于,所述裝置還用于:
7.根據權利要求6所述的基于間接地址的SSD映射管理裝置,其特征在于,所述裝置還用于:
8.根據權利要求5-7任一項所述的基于間接地址的SSD映射管理裝置,其特征在于,所述加載模塊還用于:
9.一種計算機設備,包括存儲器、處
10.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至4中任一項所述的方法的步驟。
...【技術特征摘要】
1.一種基于間接地址的ssd映射管理方法,所述方法包括:
2.根據權利要求1所述的基于間接地址的ssd映射管理方法,其特征在于,所述方法還包括:
3.根據權利要求2所述的基于間接地址的ssd映射管理方法,其特征在于,所述若是則分配地址寫入間接地址頁到nand并更新映射分片的二級映射表的步驟之后還包括:
4.根據權利要求1-3任一項所述的基于間接地址的ssd映射管理方法,其特征在于,所述當需要加載一級映射表分片到ram時,先根據所述二級映射表讀出一級映射分片的各子分片地址再將各子分片全部加載到ram的步驟包括:
5.一種基于間接地址的ssd映射管理裝置,其特征在于,所述裝置包括:
...【專利技術屬性】
技術研發人員:李建,趙連庚,肖世平,
申請(專利權)人:深圳憶聯信息系統有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。