System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及存儲,尤其涉及一種存儲陣列數據讀寫方法、控制器、裝置、設備及介質。
技術介紹
1、nvme-of/tcp的閃存存儲陣列的控制器包括nvme主控、主控內存和冗余陣列計算單元,如圖1所示。閃存存儲陣列通過nvme主控和遠程主機建立連接,接收和執行遠程主機發送的命令。nvme主控通過和nvme存儲盤的交互,為遠端主機提供內存空間和數據傳輸。
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、本申請根據目標地址條帶的索引在緩存空間管理表內,確定對應的緩存地址空間;根據所述緩存地址空間,將基于對存儲陣列的訪問命令確定的讀寫數據緩存至所述控制器內存。本申請將命名空間對應的虛擬邏輯地址子空間劃分為多個條帶。根據條帶索引構建緩存空間管理表。緩存空間管理表內記錄各個條帶分配的物理地址。由此,可以便于管理控制器內存的緩存空間,可以快速查找到訪問命令對應目標地址條帶的緩存地址空間。并通過預讀取一部分數據在緩存空間中,減少了數據的讀取處理時間。由此,本申請實施例從多個方面提高了存儲陣列的數據處理效率。
本文檔來自技高網...【技術保護點】
1.一種存儲陣列數據讀寫方法,其特征在于,應用于存儲陣列控制器,所述存儲陣列控制器包括存儲接口控制模塊、冗余模塊、控制器內存和非易失性存儲控制模塊,包括:
2.根據權利要求1所述的存儲陣列數據讀寫方法,其特征在于,所述根據對所述存儲陣列的訪問命令中目標地址條帶的索引在緩存空間管理表內,確定對應的緩存地址空間,包括:
3.根據權利要求2所述的存儲陣列數據讀寫方法,其特征在于,所述目標地址條帶采用以下劃分方式得到:
4.根據權利要求1所述的存儲陣列數據讀寫方法,其特征在于,所述根據對存儲陣列的訪問命令中目標地址條帶的索引在緩存空間管理表內,確定對應的緩存地址空間,包括:
5.根據權利要求4所述的存儲陣列數據讀寫方法,其特征在于,所述方法還包括:根據所述目標地址條帶的序號,將劃分出的緩存地址空間,存入所述緩存空間管理表。
6.根據權利要求1所述的存儲陣列數據讀寫方法,其特征在于,所述根據所述緩存地址空間,將基于對存儲陣列的訪問命令確定的讀寫數據緩存至所述控制器內存,包括:
7.根據權利要求6所述的存儲陣列數據讀寫方
8.根據權利要求1所述的存儲陣列數據讀寫方法,其特征在于,所述方法還包括:
9.根據權利要求1所述的存儲陣列數據讀寫方法,其特征在于,所述根據所述目標地址條帶讀取目標數據與預讀數據并緩存至所述控制器內存,包括:
10.根據權利要求1-9任一項所述的存儲陣列數據讀寫方法,其特征在于,所述方法還包括:根據數據活躍程度,將所述控制器內存內緩存的寫數據寫入所述存儲陣列。
11.一種存儲陣列控制器,其特征在于,應用于存儲陣列控制器,所述存儲陣列控制器包括存儲接口控制模塊、冗余模塊、控制器內存和非易失性存儲控制模塊;
12.一種冗余模塊裝置,其特征在于,應用于存儲陣列控制器,所述存儲陣列控制器包括存儲接口控制模塊、冗余模塊、控制器內存和非易失性存儲控制模塊,包括:
13.一種終端設備,其特征在于,所述終端設備包括處理器和存儲器,所述存儲器存儲有計算機程序,所述處理器用于執行所述計算機程序以實施權利要求1-10中任一項所述的存儲陣列數據讀寫方法。
14.一種計算機可讀存儲介質,其特征在于,其存儲有計算機程序,所述計算機程序在處理器上執行時,實施根據權利要求1-10中任一項所述的存儲陣列數據讀寫方法。
...【技術特征摘要】
1.一種存儲陣列數據讀寫方法,其特征在于,應用于存儲陣列控制器,所述存儲陣列控制器包括存儲接口控制模塊、冗余模塊、控制器內存和非易失性存儲控制模塊,包括:
2.根據權利要求1所述的存儲陣列數據讀寫方法,其特征在于,所述根據對所述存儲陣列的訪問命令中目標地址條帶的索引在緩存空間管理表內,確定對應的緩存地址空間,包括:
3.根據權利要求2所述的存儲陣列數據讀寫方法,其特征在于,所述目標地址條帶采用以下劃分方式得到:
4.根據權利要求1所述的存儲陣列數據讀寫方法,其特征在于,所述根據對存儲陣列的訪問命令中目標地址條帶的索引在緩存空間管理表內,確定對應的緩存地址空間,包括:
5.根據權利要求4所述的存儲陣列數據讀寫方法,其特征在于,所述方法還包括:根據所述目標地址條帶的序號,將劃分出的緩存地址空間,存入所述緩存空間管理表。
6.根據權利要求1所述的存儲陣列數據讀寫方法,其特征在于,所述根據所述緩存地址空間,將基于對存儲陣列的訪問命令確定的讀寫數據緩存至所述控制器內存,包括:
7.根據權利要求6所述的存儲陣列數據讀寫方法,其特征在于,所述若所述讀寫數據為寫數據,則將所述寫數據緩存至所述控制器內存后,向遠程主機發送命令完成...
【專利技術屬性】
技術研發人員:唐永林,王文華,鐘林鋼,丁昊杰,梁凱平,
申請(專利權)人:杭州菲數科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。