System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請涉及存儲,尤其涉及一種緩存管理方法、存儲陣列控制器、裝置、設(shè)備及介質(zhì)。
技術(shù)介紹
1、獨(dú)立冗余存儲陣列能夠?qū)⒍鄠€(gè)物理硬盤組合成一個(gè)邏輯硬盤,通過并行訪問多個(gè)物理硬盤提供比單個(gè)硬盤更高的存儲性能。此外,對存儲陣列還提供數(shù)據(jù)冗余保護(hù),即通過冗余計(jì)算單元對寫數(shù)據(jù)進(jìn)行編碼,以產(chǎn)生冗余校驗(yàn)信息,最后將檢驗(yàn)信息和原始的寫數(shù)據(jù)一起保存在存儲陣列中,以便在故障發(fā)生后進(jìn)行數(shù)據(jù)恢復(fù)。
2、現(xiàn)有技術(shù)中,nvme主控的執(zhí)行邏輯并沒有基于冗余存儲陣列進(jìn)行設(shè)計(jì),只是以遠(yuǎn)程主機(jī)來進(jìn)行管理,使得整個(gè)數(shù)據(jù)端無法發(fā)揮獨(dú)立冗余存儲陣列的優(yōu)勢,使得處理過程花費(fèi)時(shí)間多、數(shù)據(jù)處理效率低。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本申請實(shí)施例提供一種緩存管理方法、存儲陣列控制器、裝置、設(shè)備及介質(zhì),可以有效解決緩存空間分配不合理,導(dǎo)致的對存儲陣列數(shù)據(jù)讀寫數(shù)據(jù)效率低的問題等。
2、第一方面,本申請實(shí)施例提供一種基于命名空間的緩存管理方法,應(yīng)用于存儲陣列控制器,所述存儲陣列控制器包括存儲接口控制模塊、冗余模塊、控制器內(nèi)存和非易失性存儲控制模塊,所述方法包括:
3、根據(jù)訪問命令待訪問的命名空間,在靜態(tài)緩存子空間中為所述訪問命令分配緩存區(qū)域;
4、基于所述訪問命令接收讀寫所述存儲陣列的目標(biāo)數(shù)據(jù),并緩存至所述緩存區(qū)域;
5、其中,所述靜態(tài)緩存子空間通過根據(jù)所述命名空間將所述控制器內(nèi)存中的靜態(tài)緩存空間進(jìn)行劃分得到。
6、在一些實(shí)施例中,所述根據(jù)訪問命令待訪問的命名空間,在靜態(tài)
7、根據(jù)所述命名空間匹配得到虛擬邏輯地址子空間;
8、從所述虛擬邏輯地址子空間中為所述訪問命令分配目標(biāo)虛擬邏輯地址;
9、從所述命名空間唯一對應(yīng)的靜態(tài)緩存子空間中,為所述目標(biāo)虛擬邏輯地址分配所述緩存區(qū)域。
10、在一些實(shí)施例中,所述靜態(tài)緩存子空間采用以下劃分方法得到:
11、利用預(yù)設(shè)的容量分配規(guī)則,按照命名空間數(shù)量將所述靜態(tài)緩存空間進(jìn)行劃分,得到與各個(gè)所述命名空間一一對應(yīng)的靜態(tài)緩存子空間。
12、在一些實(shí)施例中,所述虛擬邏輯地址子空間采用以下劃分方法得到:
13、根據(jù)各個(gè)所述命名空間將所述存儲陣列映射為虛擬邏輯地址空間;
14、根據(jù)所述命名空間數(shù)量將所述虛擬邏輯地址空間進(jìn)行劃分,得到與各個(gè)所述命名空間一一對應(yīng)的虛擬邏輯地址子空間。
15、在一些實(shí)施例中,所述從所述虛擬邏輯地址子空間中為所述訪問命令分配目標(biāo)虛擬邏輯地址,包括:
16、在所述訪問命令待訪問分條內(nèi)任一虛擬邏輯地址時(shí),則將所述分條作為所述目標(biāo)虛擬邏輯地址分配給所述訪問命令;
17、其中,所述分條采用以下方法劃分得到:
18、根據(jù)所述存儲陣列的冗余模式,將所述虛擬邏輯地址子空間劃分為命名空間陣列,所述命名空間陣列中的一行虛擬邏輯地址作為一個(gè)分條;
19、所述從所述命名空間唯一對應(yīng)的靜態(tài)緩存子空間中,為所述目標(biāo)虛擬邏輯地址分配所述緩存區(qū)域,包括:
20、若根據(jù)所述分條未匹配到所述緩存區(qū)域,則根據(jù)所述分條的容量大小,為所述分條從所述命名空間對應(yīng)的靜態(tài)緩存子空間中分配緩存區(qū)域。
21、在一些實(shí)施例中,所述控制器內(nèi)存還包括動態(tài)共享緩存空間;
22、所述方法還包括:
23、在所述命名空間對應(yīng)的靜態(tài)緩存子空間處于存滿狀態(tài)時(shí),為所述命名空間從所述動態(tài)共享緩存空間內(nèi)申請預(yù)設(shè)容量的存儲區(qū)域。
24、在一些實(shí)施例中,所述方法還包括:
25、根據(jù)空間當(dāng)前容量、空間組當(dāng)前容量以及預(yù)設(shè)的空間容量閾值和空間組容量閾值,確定是否通過所述申請;
26、所述空間當(dāng)前容量為所述命名空間已得到的靜態(tài)緩存子空間的當(dāng)前容量;所述空間組當(dāng)前容量為命名空間組包含的各個(gè)命名空間得到的靜態(tài)緩存子空間的當(dāng)前容量總和。
27、在一些實(shí)施例中,所述方法還包括:
28、在所述靜態(tài)緩存子空間處于存滿狀態(tài)時(shí),若確定所述申請不通過,則將所述命名空間對應(yīng)的靜態(tài)緩存子空間內(nèi)的寫數(shù)據(jù)和/或預(yù)讀數(shù)據(jù)進(jìn)行清理。
29、在一些實(shí)施例中,若所述訪問命令為讀取第一虛擬邏輯地址的讀命令,則根據(jù)所述第一虛擬邏輯地址確定其所處的分條;
30、讀取所述存儲陣列內(nèi)所述分條對應(yīng)的讀數(shù)據(jù);
31、將所述讀數(shù)據(jù)緩存至所述分條對應(yīng)的緩存區(qū)域,以作為預(yù)讀數(shù)據(jù)供后續(xù)讀取所述分條中除第一虛擬邏輯地址外的其他地址時(shí)讀取。
32、在一些實(shí)施例中,所述利用預(yù)設(shè)的容量分配規(guī)則,將所述靜態(tài)緩存空間,按照命名空間數(shù)量進(jìn)行劃分,包括:
33、將所述靜態(tài)緩存空間根據(jù)所述命名空間數(shù)量進(jìn)行平均劃分;
34、或,根據(jù)各個(gè)所述命名空間的預(yù)設(shè)容量比值進(jìn)行劃分。
35、在一些實(shí)施例中,所述根據(jù)訪問命令待訪問的命名空間,在靜態(tài)緩存子空間中為所述訪問命令分配緩存區(qū)域,包括:
36、并行執(zhí)行位于不同命名空間組的訪問命令,根據(jù)分別待訪問的命名空間,在對應(yīng)的靜態(tài)緩存子空間中為對應(yīng)的訪問命令分配緩存區(qū)域;
37、所述命名空間組采用以下方式劃分得到:將位于所述存儲陣列的硬盤組內(nèi)的各命名空間劃分為一個(gè)命名空間組。
38、第二方面,本申請實(shí)施例提供一種存儲陣列控制器,包括存儲接口控制模塊、冗余模塊、控制器內(nèi)存和非易失性存儲控制模塊;
39、所述冗余模塊分別連接所述存儲接口控制模塊,所述非易失性存儲控制模塊和所述控制器內(nèi)存;
40、所述冗余模塊用于實(shí)施本申請第一方面提供的一種基于命名空間的緩存管理方法。
41、第三方面,本申請實(shí)施例提供一種基于命名空間的緩存管理裝置,應(yīng)用于存儲陣列控制器,所述存儲陣列控制器包括存儲接口控制模塊、冗余模塊、控制器內(nèi)存和非易失性存儲控制模塊,所述裝置包括:緩存區(qū)域分配模塊和數(shù)據(jù)緩存模塊;
42、緩存區(qū)域分配模塊,用于根據(jù)訪問命令待訪問的命名空間,在靜態(tài)緩存子空間中為所述訪問命令分配緩存區(qū)域;
43、數(shù)據(jù)緩存模塊,用于基于所述訪問命令接收讀寫所述存儲陣列的目標(biāo)數(shù)據(jù),并緩存至所述緩存區(qū)域;
44、其中,所述靜態(tài)緩存子空間是根據(jù)所述命名空間,將所述控制器內(nèi)存中的靜態(tài)緩存空間進(jìn)行劃分得到。
45、第四方面,本申請實(shí)施例提供一種終端設(shè)備,所述終端設(shè)備包括處理器和存儲器,所述存儲器存儲有計(jì)算機(jī)程序,所述處理器用于執(zhí)行所述計(jì)算機(jī)程序以實(shí)施本申請第一方面提供的一種基于命名空間的緩存管理方法。
46、第五方面,本申請實(shí)施例提供一種計(jì)算機(jī)可讀存儲介質(zhì),其存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序在處理器上執(zhí)行時(shí),實(shí)施根據(jù)本申請第一方面提供的一種基于命名空間的緩存管理方法。
47、本申請的實(shí)施例具有如下有益效果:
48、本申請根據(jù)訪問命令待訪問的命名空間,在靜態(tài)緩存子空間中為所述訪問命本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種基于命名空間的緩存管理方法,其特征在于,應(yīng)用于存儲陣列控制器,所述存儲陣列控制器包括存儲接口控制模塊、冗余模塊、控制器內(nèi)存和非易失性存儲控制模塊,所述方法包括:
2.根據(jù)權(quán)利要求1所述的基于命名空間的緩存管理方法,其特征在于,所述根據(jù)訪問命令待訪問的命名空間,在靜態(tài)緩存子空間中為所述訪問命令分配緩存區(qū)域,包括:
3.根據(jù)權(quán)利要求2所述的基于命名空間的緩存管理方法,其特征在于,所述靜態(tài)緩存子空間采用以下劃分方法得到:
4.根據(jù)權(quán)利要求3所述的基于命名空間的緩存管理方法,其特征在于,所述虛擬邏輯地址子空間采用以下劃分方法得到:
5.根據(jù)權(quán)利要求2所述的基于命名空間的緩存管理方法,其特征在于,所述從所述虛擬邏輯地址子空間中為所述訪問命令分配目標(biāo)虛擬邏輯地址,包括:
6.根據(jù)權(quán)利要求1所述的基于命名空間的緩存管理方法,其特征在于,所述控制器內(nèi)存還包括動態(tài)共享緩存空間;
7.根據(jù)權(quán)利要求6所述的基于命名空間的緩存管理方法,其特征在于,還包括:
8.根據(jù)權(quán)利要求6所述的基于命名空間的緩存管理方法,其特
9.根據(jù)權(quán)利要求5所述的基于命名空間的緩存管理方法,其特征在于,若所述訪問命令為讀取第一虛擬邏輯地址的讀命令,則根據(jù)所述第一虛擬邏輯地址確定其所處的分條;
10.根據(jù)權(quán)利要求4所述的基于命名空間的緩存管理方法,其特征在于,所述利用預(yù)設(shè)的容量分配規(guī)則,將所述靜態(tài)緩存空間,按照命名空間數(shù)量進(jìn)行劃分,包括:
11.根據(jù)權(quán)利要求7所述的基于命名空間的緩存管理方法,其特征在于,所述根據(jù)訪問命令待訪問的命名空間,在靜態(tài)緩存子空間中為所述訪問命令分配緩存區(qū)域,包括:
12.一種存儲陣列控制器,其特征在于,包括存儲接口控制模塊、冗余模塊、控制器內(nèi)存和非易失性存儲控制模塊;
13.一種基于命名空間的緩存管理裝置,其特征在于,應(yīng)用于存儲陣列控制器,所述存儲陣列控制器包括存儲接口控制模塊、冗余模塊、控制器內(nèi)存和非易失性存儲控制模塊,所述裝置包括:緩存區(qū)域分配模塊和數(shù)據(jù)緩存模塊;
14.一種終端設(shè)備,其特征在于,所述終端設(shè)備包括處理器和存儲器,所述存儲器存儲有計(jì)算機(jī)程序,所述處理器用于執(zhí)行所述計(jì)算機(jī)程序以實(shí)施權(quán)利要求1-11中任一項(xiàng)所述的基于命名空間的緩存管理方法。
15.一種計(jì)算機(jī)可讀存儲介質(zhì),其特征在于,其存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序在處理器上執(zhí)行時(shí),實(shí)施根據(jù)權(quán)利要求1-11中任一項(xiàng)所述的基于命名空間的緩存管理方法。
...【技術(shù)特征摘要】
1.一種基于命名空間的緩存管理方法,其特征在于,應(yīng)用于存儲陣列控制器,所述存儲陣列控制器包括存儲接口控制模塊、冗余模塊、控制器內(nèi)存和非易失性存儲控制模塊,所述方法包括:
2.根據(jù)權(quán)利要求1所述的基于命名空間的緩存管理方法,其特征在于,所述根據(jù)訪問命令待訪問的命名空間,在靜態(tài)緩存子空間中為所述訪問命令分配緩存區(qū)域,包括:
3.根據(jù)權(quán)利要求2所述的基于命名空間的緩存管理方法,其特征在于,所述靜態(tài)緩存子空間采用以下劃分方法得到:
4.根據(jù)權(quán)利要求3所述的基于命名空間的緩存管理方法,其特征在于,所述虛擬邏輯地址子空間采用以下劃分方法得到:
5.根據(jù)權(quán)利要求2所述的基于命名空間的緩存管理方法,其特征在于,所述從所述虛擬邏輯地址子空間中為所述訪問命令分配目標(biāo)虛擬邏輯地址,包括:
6.根據(jù)權(quán)利要求1所述的基于命名空間的緩存管理方法,其特征在于,所述控制器內(nèi)存還包括動態(tài)共享緩存空間;
7.根據(jù)權(quán)利要求6所述的基于命名空間的緩存管理方法,其特征在于,還包括:
8.根據(jù)權(quán)利要求6所述的基于命名空間的緩存管理方法,其特征在于,所述方法還包括:
9.根據(jù)權(quán)利要求5所述的基于命名空間的緩存管理方法,其特征在于,若所述訪問命令為...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:唐永林,王文華,鐘林鋼,丁昊杰,梁凱平,
申請(專利權(quán))人:杭州菲數(shù)科技有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。