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、在一些實施例中,所述存儲接口控制模塊采用fpga實現;其中,所述處理器為所述fpga的內置處理器單元;所述命令隊列處理模塊和所述命令隊列處理模塊均通過所述fpga進行編程邏輯實現。
27、在一些實施例中,還包括協議卸載引擎;
28、所述協議卸載引擎,用于接收所述遠程主機發送的預設協議類型的協議報文,并解析所述協議報文,并將解析得到的所述報文數據發送至所述存儲接口控制模塊。
29、第二方面,本申請實施例提供一種存儲陣列系統,包括:存儲陣列和本申請第一方面提供的一種存儲陣列控制器。
30、第三方面,本申請實施例提供一種數據處理方法,適用于存儲陣列控制器中的冗余模塊,所述存儲陣列控制器包括存儲接口控制模塊、冗余模塊、非易失性存儲控制模塊和控制器內存,所述方法包括:
31、對基于操作命令確定的數據執行冗余計算后寫入所述控制器內存;其中,所述操作命令是所述存儲接口控制模塊通過解析遠程主機發出的報文數據獲取的,并基于命名空間對所述操作命令進行調度管理后傳送至所述冗余模塊的;
32、基于命名空間對所述存儲陣列的邏輯地址空間和所述控制器內存進行管理;
33、向所述非易失性存儲控制模塊發送數據傳輸請求;所述數據傳輸請求用于指示所述非易失性存儲控制模塊映射所述控制器內存并實現與所述存儲陣列的數據交互。
34、本申請的實施例具有如下有益效果:
35、本申請的存儲陣列控制器包括存儲接口控制模塊、冗余模塊、非易失性存儲控制模塊和控制器內存;所述存儲接口控制模塊與遠程主機通信連接,用于接收并解析所述遠程主機發出的報文數據以獲取操作命令,基于命名空間對所述操作命令進行調度管理后傳送至所述冗余模塊;所述冗余模塊用于對本文檔來自技高網...
【技術保護點】
1.一種存儲陣列控制器,其特征在于,包括:存儲接口控制模塊、冗余模塊、非易失性存儲控制模塊和控制器內存;所述冗余模塊分別連接所述存儲接口控制模塊,所述非易失性存儲控制模塊和所述控制器內存;
2.根據權利要求1所述的存儲陣列控制器,其特征在于,所述存儲接口控制模塊包括報文解析模塊和命令隊列處理模塊;
3.根據權利要求2所述的存儲陣列控制器,其特征在于,在執行寫數據類型的操作命令時,所述冗余模塊還用于在通過所述存儲接口控制模塊接收目標數據并存入所述控制器內存后,向所述遠程主機發送命令完成通知。
4.根據權利要求3所述的存儲陣列控制器,其特征在于,所述冗余模塊,用于根據所述操作命令的目標邏輯地址在所述控制器內存中分配空閑的第一緩存子空間,并通過所述命令隊列處理模塊向所述遠程主機反饋準備完畢通知,所述準備完畢通知用于指示所述遠程主機發送目標寫數據;
5.根據權利要求4所述的存儲陣列控制器,其特征在于,所述冗余模塊,還用于向所述非易失性存儲控制模塊傳送落盤命令,所述落盤命令包括目標邏輯地址以及所述第一緩存子空間的地址;
6.根據權
7.根據權利要求2所述的存儲陣列控制器,其特征在于,在執行讀數據類型的操作命令時,
8.根據權利要求2所述的存儲陣列控制器,其特征在于,所述冗余模塊,還用于將所述控制器內存劃分為寫控制器內存和讀控制器內存;再根據所述命名空間分別對所述寫控制器內存和所述讀控制器內存進行劃分,得到各個命名空間對應的緩存子模塊;
9.根據權利要求2-8任一項所述的存儲陣列控制器,其特征在于,所述存儲接口控制模塊還包括處理器;所述處理器與所述報文解析模塊以及所述命令隊列處理模塊均連接;
10.根據權利要求9所述的存儲陣列控制器,其特征在于,所述存儲接口控制模塊采用FPGA實現;其中,所述處理器為所述FPGA的內置處理器單元;所述命令隊列處理模塊和所述命令隊列處理模塊均通過所述FPGA進行編程邏輯實現。
11.根據權利要求1-8任一項所述的存儲陣列控制器,其特征在于,還包括協議卸載引擎;
12.一種存儲陣列系統,其特征在于,包括:存儲陣列和權利要求1-11中任一項所述的存儲陣列控制器。
13.一種數據處理方法,適用于存儲陣列控制器中的冗余模塊,所述存儲陣列控制器包括存儲接口控制模塊、冗余模塊、非易失性存儲控制模塊和控制器內存,其特征在于,所述方法包括:
...【技術特征摘要】
1.一種存儲陣列控制器,其特征在于,包括:存儲接口控制模塊、冗余模塊、非易失性存儲控制模塊和控制器內存;所述冗余模塊分別連接所述存儲接口控制模塊,所述非易失性存儲控制模塊和所述控制器內存;
2.根據權利要求1所述的存儲陣列控制器,其特征在于,所述存儲接口控制模塊包括報文解析模塊和命令隊列處理模塊;
3.根據權利要求2所述的存儲陣列控制器,其特征在于,在執行寫數據類型的操作命令時,所述冗余模塊還用于在通過所述存儲接口控制模塊接收目標數據并存入所述控制器內存后,向所述遠程主機發送命令完成通知。
4.根據權利要求3所述的存儲陣列控制器,其特征在于,所述冗余模塊,用于根據所述操作命令的目標邏輯地址在所述控制器內存中分配空閑的第一緩存子空間,并通過所述命令隊列處理模塊向所述遠程主機反饋準備完畢通知,所述準備完畢通知用于指示所述遠程主機發送目標寫數據;
5.根據權利要求4所述的存儲陣列控制器,其特征在于,所述冗余模塊,還用于向所述非易失性存儲控制模塊傳送落盤命令,所述落盤命令包括目標邏輯地址以及所述第一緩存子空間的地址;
6.根據權利要求4所述的存儲陣列控制器,其特征在于,所述非易失性存儲控制模塊,還用于在所述目標寫數據寫入所述存儲陣列后,向所述冗余模塊發送落盤完成通...
【專利技術屬性】
技術研發人員:王文華,唐永林,鐘林鋼,丁昊杰,梁凱平,張斌,
申請(專利權)人:杭州菲數科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。