System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及存儲,尤其涉及一種存儲陣列的緩存管理方法、裝置、控制器及介質。
技術介紹
1、獨立冗余存儲陣列能夠將多個物理硬盤組合成一個邏輯硬盤,通過并行訪問多個物理硬盤提供比單個硬盤更高的存儲性能。此外,對存儲陣列還提供數據冗余保護,即通過冗余計算單元對寫數據進行編碼,以產生冗余校驗信息,最后將檢驗信息和原始的寫數據一起保存在存儲陣列中,以便在故障發生后進行數據恢復。
2、現有技術中,nvme主控的執行邏輯并沒有基于冗余存儲陣列進行設計,只是以遠程主機來進行管理,使得整個數據端無法發揮獨立冗余存儲陣列的優勢,使得處理過程花費時間多、數據處理效率低。
技術實現思路
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、在一些實施例中,所述在所述計數周期內,根據所述虛擬邏輯地址組是否接收到讀寫操作命令,按照預設的更新規則來更新所述活性因子標志值,包括:
36、若在所述計數周期內,未接收到所述讀寫操作命令,則按照設定數位順序檢索所述活性因子標志值的各個數位,在第一個第一狀態值對應的數位上更新寫入第二狀態值;其中,初始狀態時所述活性因子標志值各個數位上的值均為第一狀態值;
37、若在所述計數周期內,接收到所述讀寫操作命令,則按照與所述設定數位順序相反的順序檢索所述活性因子標志值的各個數位,在第一個第二狀態值對應的數位上更新寫入第一狀態值。
38、在一些實施例中,所述根據所述虛擬邏輯地址組對應的所述存儲狀態確定所述虛擬邏輯地址組內緩存數據的活躍程度,包括:
39、若所述虛擬邏輯地址組對應的活性因子標志值中各個數位上的數均為所述第二狀態值,則將所述虛擬邏輯地址組中緩存數據的活躍程度確定為低活躍等級;
40、若所述虛擬邏輯地址組對應的活性因子標志值中各個數位上的數均為所述第一狀態值,則將所述虛擬邏輯地址組中緩存數據的活躍程度確定為高活躍等級;
41、統計所述活性因子標志值的各個數位上的數為第一狀態值的數位數量;
42、若所述數位數量大于預設數量,則所述虛擬邏輯地址組中緩存數據的活躍程度確定為中間活躍等級。
43、在一些實施例中,所述虛擬邏輯地址組為讀寫操作命令的顆粒度;
44、所述存儲狀本文檔來自技高網...
【技術保護點】
1.一種存儲陣列的緩存管理方法,其特征在于,應用于存儲陣列控制器,包括:
2.根據權利要求1所述的存儲陣列的緩存管理方法,其特征在于,將所述虛擬邏輯地址空間劃分為虛擬邏輯地址組包括:
3.根據權利要求2所述的存儲陣列的緩存管理方法,其特征在于,所述根據所述活躍程度確定需要存入所述存儲陣列的目標虛擬邏輯地址組,包括:
4.根據權利要求3所述的存儲陣列的緩存管理方法,其特征在于,所述存儲狀態包括與所述虛擬邏輯地址組中各邏輯地址塊一一對應的讀寫狀態標志位;
5.根據權利要求4所述的存儲陣列的緩存管理方法,其特征在于,所述方法還包括:
6.根據權利要求4所述的存儲陣列的緩存管理方法,其特征在于,所述方法還包括:根據對緩存中各命名空間對應的虛擬邏輯地址組的讀寫操作分別更新對應的存儲狀態,具體包括:
7.根據權利要求4所述的存儲陣列的緩存管理方法,其特征在于,所述存儲狀態包括各虛擬邏輯地址組對應的寫滿標志位;
8.根據權利要求1所述的存儲陣列的緩存管理方法,其特征在于,所述根據所述活躍程度確定需要存入所述存儲
9.根據權利要求1所述的存儲陣列的緩存管理方法,其特征在于,所述存儲狀態包括與各虛擬邏輯地址組對應數量的活性因子標志位;
10.根據權利要求9所述的存儲陣列的緩存管理方法,其特征在于,所述根據所述虛擬邏輯地址組接收到讀寫操作命令的頻率,設置其對應的活性因子標志值,包括:
11.根據權利要求10所述的存儲陣列的緩存管理方法,其特征在于,所述在所述計數周期內,根據所述虛擬邏輯地址組是否接收到讀寫操作命令,按照預設的更新規則來更新所述活性因子標志值,包括:
12.根據權利要求11所述的存儲陣列的緩存管理方法,其特征在于,所述根據所述虛擬邏輯地址組對應的所述存儲狀態確定所述虛擬邏輯地址組內緩存數據的活躍程度,包括:
13.根據權利要求1-12任一項所述的存儲陣列的緩存管理方法,其特征在于,所述虛擬邏輯地址組為讀寫操作命令的顆粒度;
14.根據權利要求3所述的存儲陣列的緩存管理方法,其特征在于,所述根據所述活躍程度確定需要存入所述存儲陣列的目標虛擬邏輯地址組,包括:
15.一種存儲陣列的緩存管理裝置,其特征在于,包括:地址組劃分模塊、活躍程度確定模塊和落盤模塊;
16.一種存儲陣列控制器,其特征在于,包括:冗余模塊、存儲接口控制模塊、控制器內存和非易失性存儲控制模塊;所述冗余模塊分別連接所述存儲接口控制模塊,所述非易失性存儲控制模塊和所述控制器內存;所述存儲接口控制模塊與遠程主機通信連接,用于接收并解析所述遠程主機發出的報文數據以獲取操作命令,基于命名空間對所述操作命令進行調度管理后傳送至所述冗余模塊;所述非易失性存儲控制模塊與所述存儲陣列通信連接,響應于所述冗余模塊的數據傳輸請求,映射所述控制器內存實現與所述存儲陣列的數據交互;
17.一種計算機可讀存儲介質,其特征在于,其存儲有計算機程序,所述計算機程序在處理器上執行時,實施根據權利要求1-14中任一項所述的存儲陣列的緩存管理方法。
...【技術特征摘要】
1.一種存儲陣列的緩存管理方法,其特征在于,應用于存儲陣列控制器,包括:
2.根據權利要求1所述的存儲陣列的緩存管理方法,其特征在于,將所述虛擬邏輯地址空間劃分為虛擬邏輯地址組包括:
3.根據權利要求2所述的存儲陣列的緩存管理方法,其特征在于,所述根據所述活躍程度確定需要存入所述存儲陣列的目標虛擬邏輯地址組,包括:
4.根據權利要求3所述的存儲陣列的緩存管理方法,其特征在于,所述存儲狀態包括與所述虛擬邏輯地址組中各邏輯地址塊一一對應的讀寫狀態標志位;
5.根據權利要求4所述的存儲陣列的緩存管理方法,其特征在于,所述方法還包括:
6.根據權利要求4所述的存儲陣列的緩存管理方法,其特征在于,所述方法還包括:根據對緩存中各命名空間對應的虛擬邏輯地址組的讀寫操作分別更新對應的存儲狀態,具體包括:
7.根據權利要求4所述的存儲陣列的緩存管理方法,其特征在于,所述存儲狀態包括各虛擬邏輯地址組對應的寫滿標志位;
8.根據權利要求1所述的存儲陣列的緩存管理方法,其特征在于,所述根據所述活躍程度確定需要存入所述存儲陣列的目標虛擬邏輯地址組,包括:
9.根據權利要求1所述的存儲陣列的緩存管理方法,其特征在于,所述存儲狀態包括與各虛擬邏輯地址組對應數量的活性因子標志位;
10.根據權利要求9所述的存儲陣列的緩存管理方法,其特征在于,所述根據所述虛擬邏輯地址組接收到讀寫操作命令的頻率,設置其對應的活性因子標志值,包括:
11.根據權利要求10所述的存儲陣...
【專利技術屬性】
技術研發人員:唐永林,王文華,鐘林鋼,丁昊杰,梁凱平,
申請(專利權)人:杭州菲數科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。