專利名稱:一種基于并行處理的多主機接口冗余san控制器的制作方法
技術領域:
本發明涉及一種控制器,具體地說是一種基于并行處理的多主機接口冗余 SAN控制器。
背景技術:
在當今網絡時代,存儲技術正在發生革命性的變化。導致這一革命性 變化的原因首先表現在存儲容量的急劇膨脹。在數字化和互聯網時代,大 規模應用系統的廣泛部署對網絡存儲系統的性能和功能提出了巨大挑戰, 主要表現為高性能、可擴展性、可共享性、自適應性、可管理性,以及高 可靠性。
SAN (Storage Area Network)是為充分利用存儲資源而建立的存儲共享 網絡,增加和方便了存儲和主機的連接性。就像我們所熟知的LAN—樣, SAN大幅度提高了存儲資源和主機的連接的擴展性和穩定性,使原本昂貴 的存儲資源變得廉價和易于管理。傳統的存儲資源都是直接連接到后端主 機(稱為DAS, Direct Attached Storage), SAN的出現徹底打破了這種模
式,將專用的網絡直接插入到主機和存儲設備之間,在保持原有的應用體
系結構的前提下,大大改善了存儲的應用模式,為海量存儲的管理和應用
奠定了堅實的基石。
SAN存儲控制器(也叫SAN磁盤陣列控制器)則是專門基于SAN網絡的磁
盤陣列控制器,由于其基于高性能的SAN存儲網絡,因此在高性能、大容量、
高可靠領域的應用日益廣泛。受價格、體積、可靠性等方面的制約目前SAN磁盤陣列控制器作為一種高性價比高可靠的存儲專用設備多采用嵌入式的軟硬 件系統,因此在性能提升方面存在著一定的瓶頸。如何改善現有架構,提升整
機性能是現在SAN控制器開發中的一大難題。
發明內容
本發明的技術任務是針對上述現有技術的不足,提供一種基于并行處理的 多主機接口冗余SAN控制器。
本發明的技術任務是按以下方式實現的,結構包括控制器冗余模塊A、控 制器冗余模塊B及背板模塊C,其中控制器冗余模塊A與控制器冗余模塊B 通過高速PCIE總線Pl連接,控制器冗余模塊A與背板模塊C通過非高速互 聯通路PA連接,控制器冗余模塊B與背板模塊C通過非高速互聯通路PB連 接;控制器冗余模塊A及控制器冗余模塊B結構相同,控制器冗余模塊A包 括主機接口A0、 RAID控制器A1、 RAID控制器A2以及磁盤控制器A3;控 制器冗余模塊B包括主機接口 B0、 RAID控制器Bl、 RAID控制器B2以及磁 盤控制器B3;背板模塊C包括硬盤接口、電源接口、磁盤陣列以及冗余控制 切換電路;控制器冗余模塊A和控制器冗余模塊B的切換是通過背板模塊C 中的冗余控制切換電路實現。
控制器冗余模塊A內的RAID控制器Al和RAID控制器A2設置在主機 接口 A0和磁盤控制器A3中間,四者通過高速PCIE總線聯接在一起;控制器 冗余模塊B內的RAID控制器Bl和RAID控制器B2設置在主機接口 BO和磁 盤控制器B3中間,四者通過高速PCIE總線連接在一起。
RAID控制器Al 、 RAID控制器A2、 RAID控制器Bl和RAID控制器 B2結構相同,均包括DMA通道和SDRAM。
控制器冗余模塊A與控制器冗余模塊B為冗余模式,控制器冗余模塊A 工作,控制器冗余模塊B待機作為備用模塊。
工作流程為
(1)、來自主機的數據流Sl、 S2首先通過主機接口 AO進入到RAID控制器Al ,該RAID控制器Al負責將一部分數據流SI通過其DMA通道傳輸 到SDRAM中進行后續的RAID數據處理,同時還將其余數據流S2通過高速 PCIE總線傳送到RAID控制器A2, RAID控制器A2將這部分數據流S2通過 其DMA通道傳輸到SDRAM中進行后續的RAID數據處理;
(2) 、RAID控制器A1將數據流S1處理完畢后得到RAID數據S3,RAID 控制器A2對數據流S2進行RAID運算完后得到RAID數據S4;
(3) 、RAID控制器Al通過高速PCIE總線將RAID數據S3傳遞到RAID 控制器A2, RAID控制器A2將RAID數據S3、 RAID數據S4通過高速PCIE 總線傳遞到磁盤控制器A3進行數據的磁盤操作,形成RAID數據S5;
(4) 、磁盤控制器A3將RAID數據S5通過非高速互聯通路PA寫入到磁 盤陣列內。
冗余模式下的控制器冗余模塊A和控制器冗余模塊B通過高速PCIE總線 PI互聯來實現冗余模^下緩存的鏡像;待機的控制器冗余模塊B通過高速 PCIE總線PI實時將正在工作的控制器冗余模塊A的緩存復制下來,以備工作 的控制器冗余模塊A宕機后接管其工作;同時高速PCIE總線PI還為心跳檢 測通路,可以檢測控制器冗余模塊A和控制器冗余模塊B的工作狀態,以便 向背板模塊C中的冗余控制切換電路發出接管切換命令實現工作的接管。
控制器冗余模塊A和控制器冗余模塊B之間進行數據的并行處理;來自 主機的數據流S1、 S2、 S6、 S7分別在控制器冗余模塊A和控制器冗余模塊B 之間進行并行處理,然后將處理完的RAID數據S5、 RAID數據S10寫入到磁 盤陣列內。
控制器冗余模塊A工作流程為 (1)、來自主機的數據流Sl、 S2通過主機接口 AO進入到RAID控制器 Al,該RAID控制器Al負責將一部分數據流SI通過其DMA通道傳輸到 SDRAM中進行后續的RAID數據處理,同時還將其余數據流S2通過高速PCIE 總線傳送到RAID控制器A2, RAID控制器A2將這部分數據流S2通過其DMA通道傳輸到SDRAM中進行后續的RAID數據處理;
(2)、RAID控制器Al將數據流SI處理完畢后得到RAID數據S3, RAID 控制器A2對數據流S2進行RAID運算完后得到RAID數據S4;
(3 )、RAID控制器Al通過高速PCIE總線將RAID數據S3傳遞到RAID 控制器A2, RAID控制器A2將RAID數據S3、 RAID數據S4通過高速PCIE 總線傳遞到磁盤控制器A3進行數據的磁盤操作,形成RAID數據S5;
(4)、磁盤控制器A3將RAID數據S5通過非高速互聯通路PA寫入到磁 盤陣列內;
控制器冗余模塊B工作流程為-
(1) 、來自主機的數據流S6、 S7通過主機接口 BO進入到RAID控制器 Bl,該RAID控制器Bl負責將一部分數據流S6通過其DMA通道傳輸到 SDRAM中進行后續的RAID數據處理,同時還將其余數據流S7通過高速PCIE 總線傳送到RAID控制器B2, RAID控制器B2將這部分數據流S7通過其DMA 通道傳輸到SDRAM中進行后續的RAID數據處理;
(2) 、RAID控制器Bl將數據流S6處理完畢后得到RAID數據S8, RAID 控制器B2對數據流S7進行RAID運算完后得到RAID數據S9;
(3 )、RAID控制器Bl通過高速PCIE總線將RAID數據S8傳遞到RAID 控制器B2, RAID控制器B2將RAID數據S8、 RAID數據S9通過高速PCIE 總線傳遞到磁盤控制器B3進行數據的磁盤操作,形成RAID數據S10;
(4)、磁盤控制器B3將RAID數據S10通過非高速互聯通路PB寫入到 磁盤陣列內。
本發明的一種基于并行處理的多主機接口冗余SAN控制器具有以下優
點
并行結構的SAN控制器區別于現有的以單控制器為處理核心的存儲控制 器架構,采用雙控制器雙DMA通道并行處理,架構配備兩個冗余控制器模塊, 在每個控制器冗余模塊內部以及兩個控制器冗余模塊之間可以進行RAID等數
8據的并行處理,在不失可靠性的前提下可以大大提高控制器的整機性能。
下面結合附圖對本發明進一步說明。
附圖1為一種基于并行處理的多主機接口冗余SAN控制器的結構框圖; 附圖2為一種基于并行處理的多主機接口冗余SAN控制器的控制器冗余
模塊A與控制器冗余模塊B為冗余模式時控制器冗余模塊A工作流程框圖; 附圖3為一種基于并行處理的多主機接口冗余SAN控制器的控制器冗余
模塊A和控制器冗余模塊B之間進行數據的并行處理時的工作流程框圖。
具體實施例方式
參照說明書附圖和具體實施例對本發明的一種基于并行處理的多主機接 口冗余SAN控制器作以下詳細地說明。 實施例1:
下面結合附圖1和附圖2對本發明的一種基于并行處理的多主機接口冗余 SAN控制器的控制器冗余模塊A與控制器冗余模塊B為冗余模式時,進行詳 細說明。
本發明的一種基于并行處理的多主機接口冗余SAN控制器,其結構包括 控制器冗余模塊A、控制器冗余模塊B及背板模塊C,其中控制器冗余模塊A 與控制器冗余模塊B通過高速PCIE總線PI連接,控制器冗余模塊A與背板 模塊C通過非高速互聯通路PA連接,控制器冗余模塊B與背板模塊C通過非 高速互聯通路PB連接;控制器冗余模塊A及控制器冗余模塊B結構相同,控 制器冗余模塊A包括主機接口 A0、 RAID控制器Al、 RAID控制器A2以及 磁盤控制器A3;控制器冗余模塊B包括主機接口 B0、 RAID控制器Bl、 RAID 控制器B2以及磁盤控制器B3;背板模塊C包括硬盤接口、電源接口、磁盤陣 列以及冗余控制切換電路;控制器冗余模塊A和控制器冗余模塊B的切換是 通過背板模塊C中的冗余控制切換電路實現。
控制器冗余模塊A內的RAID控制器Al和RAID控制器A2設置在主機接口 A0和磁盤控制器A3中間,四者通過高速PCIE總線聯接在一起;控制器 冗余模塊B內的RAID控制器Bl和RAID控制器B2設置在主機接口 BO和磁 盤控制器B3中間,四者通過高速PCIE總線連接在一起。
RAID控制器Al 、 RAID控制器A2、 RAID控制器Bl和RAID控制器 B2結構相同,均包括DMA通道和SDRAM。
控制器冗余模塊A與控制器冗余模塊B為冗余模式,控制器冗余模塊A 工作,控制器冗余模塊B待機作為備用模塊。
工作流程為
(1) 、來自主機的數據流S1、 S2首先通過主機接口 AO進入到RAID控 制器Al ,該RAID控制器Al負責將一部分數據流SI通過其DMA通道傳輸 到SDRAM中進行后續的RAID數據處理,同時還將其余數據流S2通過高速 PCIE總線傳送到RAID控制器A2, RAID控制器A2將這部分數據流S2通過 其DMA通道傳輸到SDRAM中進行后續的RAID數據處理;
(2) 、RAID控制器Al將數據流SI處理完畢后得到RAID數據S3, RAID 控制器A2對數據流S2進行RAID運算完后得到RAID數據S4;
(3) 、RAID控制器Al通過高速PCIE總線將RAID數據S3傳遞到RAID 控制器A2, RAID控制器A2將RAID數據S3、 RAID數據S4通過高速PCIE 總線傳遞到磁盤控制器A3進行數據的磁盤操作,形成RAID數據S5;
(4) 、磁盤控制器A3將RAID數據S5通過非高速互聯通路PA寫入到磁 盤陣列內。
冗余模式下的控制器冗余模塊A和控制器冗余模塊B通過高速PCIE總線 PI互聯來實現冗余模式下緩存的鏡像;待機的控制器冗余模塊B通過高速 PC正總線PI實時將正在工作的控制器冗余模塊A的緩存復制下來,以備工作 的控制器冗余模塊A宕機后接管其工作;同時高速PCIE總線PI還為心跳檢 測通路,可以檢測控制器冗余模塊A和控制器冗余模塊B的工作狀態,以便 向背板模塊C中的冗余控制切換電路發出接管切換命令實現工作的接管。
10實施例2:
下面結合附圖1和附圖3對本發明的一種基于并行處理的多主機接口冗余
SAN控制器的控制器冗余模塊A與控制器冗余模塊B之間進行數據的并行處 理時,進行詳細說明。
本發明的一種基于并行處理的多主機接口冗余SAN控制器,結構包括控 制器冗余模塊A、控制器冗余模塊B及背板模塊C,其中控制器冗余模塊A 與控制器冗余模塊B通過高速PCIE總線PI連接,控制器冗余模塊A與背板 模塊C通過非高速互聯通路PA連接,控制器冗余模塊B與背板模塊C通過非 高速互聯通路PB連接;控制器冗余模塊A及控制器冗余模塊B結構相同,控 制器冗余模塊A包括主機接口 A0、 RAID控制器Al、 RAID控制器A2以及 磁盤控制器A3;控制器冗余模塊B包括主機接口 B0、 RAID控制器Bl、 RAID 控制器B2以及磁盤控制器B3;背板模塊C包括硬盤接口 、電源接口 、磁盤陣 列以及冗余控制切換電路;控制器冗余模塊A和控制器冗余模塊B的切換是 通過背板模塊C中的冗余控制切換電路實現。
控制器冗余模塊A內的RAID控制器Al和RAID控制器A2設置在主機 接口 A0和磁盤控制器A3中間,四者通過高速PCIE總線聯接在一起;控制器 冗余模塊B內的RAID控制器Bl和RAID控制器B2設置在主機接口 BO和磁 盤控制器B3中間,四者通過高速PCIE總線連接在一起。
RAID控制器Al、 RAID控制器A2、 RAID控制器Bl和RAID控制器 B2結構相同,均包括DMA通道和SDRAM。
控制器冗余模塊A和控制器冗余模塊B之間進行數據的并行處理;來自 主機的數據流S1、 S2、 S6、 S7分別在控制器冗余模塊A和控制器冗余模塊B 之間進行并行處理,然后將處理完的RAID數據S5、 RAID數據S10寫入到磁 盤陣列內。
控制器冗余模塊A工作流程為 (1)、來自主機的數據流Sl、 S2通過主機接口 AO進入到RAID控制器Al,該RAID控制器Al負責將一部分數據流SI通過其DMA通道傳輸到 SDRAM中進行后續的RAID數據處理,同時還將其余數據流S2通過高速PCIE 總線傳送到RAID控制器A2, RAID控制器A2將這部分數據流S2通過其DMA 通道傳輸到SDRAM中進行后續的RAID數據處理;
(2) 、RAID控制器A1將數據流S1處理完畢后得到RAID數據S3,RAID 控制器A2對數據流S2進行RAID運算完后得到RAID數據S4;
(3) 、RAID控制器Al通過高速PCIE總線將RAID數據S3傳遞到RAID 控制器A2, RAID控制器A2將RAID數據S3、 RAID數據S4通過高速PC正 總線傳遞到磁盤控制器A3進行數據的磁盤操作,形成RAID數據S5;
(4) 、磁盤控制器A3將RAID數據S5通過非高速互聯通路PA寫入到磁 盤陣列內;
控制器冗余模塊B工作流程為
(1) 、來自主機的數據流S6、 S7通過主機接口 BO進入到RAID控制器 Bl,該RAID控制器Bl負責將一部分數據流S6通過其DMA通道傳輸到 SDRAM中進行后續的RAID數據處理,同時還將其余數據流S7通過高速PCIE 總線傳送到RAID控制器B2, RAID控制器B2將這部分數據流S7通過其DMA 通道傳輸到SDRAM中進行后續的RAID數據處理;
(2) 、RAID控制器Bl將數據流S6處理完畢后得到RAID數據S8, RAID 控制器B2對數據流S7進行RAID運算完后得到RAID數據S9;
(3) 、RAID控制器Bl通過高速PCIE總線將RAID數據S8傳遞到RAID 控制器B2, RAID控制器B2將RAID數據S8、 RAID數據S9通過高速PC正 總線傳遞到磁盤控制器B3進行數據的磁盤操作,形成RAID數據S10;
(4) 、磁盤控制器B3將RAID數據S10通過非高速互聯通路PB寫入到 磁盤陣列內。
除說明書所述的技術特征外,均為本專業技術人員的已知技術。
權利要求
1、一種基于并行處理的多主機接口冗余SAN控制器,其特征在于結構包括控制器冗余模塊A、控制器冗余模塊B及背板模塊C,其中控制器冗余模塊A與控制器冗余模塊B通過高速PCIE總線P1連接,控制器冗余模塊A與背板模塊C通過非高速互聯通路PA連接,控制器冗余模塊B與背板模塊C通過非高速互聯通路PB連接;控制器冗余模塊A及控制器冗余模塊B結構相同,控制器冗余模塊A包括主機接口A0、RAID控制器A1、RAID控制器A2以及磁盤控制器A3;控制器冗余模塊B包括主機接口B0、RAID控制器B1、RAID控制器B2以及磁盤控制器B3;背板模塊C包括硬盤接口、電源接口、磁盤陣列以及冗余控制切換電路;控制器冗余模塊A和控制器冗余模塊B的切換是通過背板模塊C中的冗余控制切換電路實現。
2、 根據權利要求書1所述的一種基于并行處理的多主機接口冗余SAN控 制器,其特征在于控制器冗余模塊A內的RAID控制器Al和RAID控制器 A2設置在主機接口 AO和磁盤控制器A3中間,四者通過高速PCIE總線聯接 在一起;控制器冗余模塊B內的RAID控制器Bl和RAID控制器B2設置在 主機接口 BO和磁盤控制器B3中間,四者通過高速PCIE總線連接在一起。
3、 根據權利要求書1所述的一種基于并行處理的多主機接口冗余SAN控 制器,其特征在于RAID控制器Al、 RAID控制器A2、 RAID控制器Bl和 RAID控制器B2結構相同,均包括DMA通道和SDRAM。
4、 根據權利要求書1所述的一種基于并行處理的多主機接口冗余SAN控 制器,其特征在于控制器冗余模塊A與控制器冗余模塊B為冗余模式,控制 器冗余模塊A工作,控制器冗余模塊B待機作為備用模塊。
5、 根據權利要求書1或4所述的一種基于并行處理的多主機接口冗余SAN 控制器,其特征在于工作流程為(1)、來自主機的數據流Sl、 S2首先通過主機接口 AO進入到RAID控制器Al ,該RAID控制器Al負責將一部分數據流Sl通過其DMA通道傳輸 到SDRAM中進行后續的RAID數據處理,同時還將其余數據流S2通過高速 PCIE總線傳送到RAID控制器A2, RAID控制器A2將這部分數據流S2通過 其DMA通道傳輸到SDRAM中進行后續的RAID數據處理;(2) 、RAID控制器Al將數據流SI處理完畢后得到RAID數據S3, RAID 控制器A2對數據流S2進行RAID運算完后得到RAID數據S4;(3) 、RAID控制器Al通過高速PC正總線將RAID數據S3傳遞到RAID 控制器A2, RAID控制器A2將RAID數據S3、 RAID數據S4通過高速PCIE 總線傳遞到磁盤控制器A3進行數據的磁盤操作,形成RAID數據S5;(4) 、磁盤控制器A3將RAID數據S5通過非高速互聯通路PA寫入到磁 盤陣列內。
6、 根據權利要求書1或4所述的一種基于并行處理的多主機接口冗余SAN 控制器,其特征在于冗余模式下的控制器冗余模塊A和控制器冗余模塊B通 過高速PCIE總線PI互聯來實現冗余模式下緩存的鏡像;待機的控制器冗余模 塊B通過高速PCIE總線PI實時將正在工作的控制器冗余模塊A的緩存復制 下來,以備工作的控制器冗余模塊A宕機后接管其工作;同時高速PCIE總線 PI還為心跳檢測通路,可以檢測控制器冗余模塊A和控制器冗余模塊B的工 作狀態,以便向背板模塊C中的冗余控制切換電路發出接管切換命令實現工作 的接管。
7、 根據權利要求書1所述的一種基于并行處理的多主機接口冗余SAN控 制器,其特征在于控制器冗余模塊A和控制器冗余模塊B之間進行數據的并 行處理;來自主機的數據流S1、 S2、 S6、 S7分別在控制器冗余模塊A和控制 器冗余模塊B之間進行并行處理,然后將處理完的RAID數據S5、 RAID數據 SIO寫入到磁盤陣列內。
8、 根據權利要求書1或7所述的一種基于并行處理的多主機接口冗余SAN 控制器,其特征在于控制器冗余模塊A工作流程為(1) 、來自主機的數據流Sl、 S2通過主機接口 AO進入到RAID控制器 Al,該RAID控制器Al負責將一部分數據流SI通過其DMA通道傳輸到 SDRAM中進行后續的RAID數據處理,同時還將其余數據流S2通過高速PCIE 總線傳送到RAID控制器A2, RAID控制器A2將這部分數據流S2通過其DMA 通道傳輸到SDRAM中進行后續的RAID數據處理;(2) 、RAID控制器Al將數據流SI處理完畢后得到RAID數據S3,RAID 控制器A2對數據流S2進行RAID運算完后得到RAID數據S4;(3) 、RAID控制器Al通過高速PCIE總線將RAID數據S3傳遞到RAID 控制器A2, RAID控制器A2將RAID數據S3、 RAID數據S4通過高速PCIE 總線傳遞到磁盤控制器A3進行數據的磁盤操作,形成RAID數據S5;(4) 、磁盤控制器A3將RAID數據S5通過非高速互聯通路PA寫入到磁 盤陣列內。
9、根據權利要求書1或7所述的一種基于并行處理的多主機接口冗余SAN 控制器,其特征在于控制器冗余模塊B工作流程為(1) 、來自主機的數據流S6、 S7通過主機接口 BO進入到RAID控制器 Bl,該RAID控制器Bl負責將一部分數據流S6通過其DMA通道傳輸到 SDRAM中進行后續的RAID數據處理,同時還將其余數據流S7通過高速PCIE 總線傳送到RAID控制器B2, RAID控制器B2將這部分數據流S7通過其DMA 通道傳輸到SDRAM中進行后續的RAID數據處理;(2) 、RAID控制器Bl將數據流S6處理完畢后得到RAID數據S8, RAID 控制器B2對數據流S7進行RAID運算完后得到RAID數據S9;(3) 、RAID控制器Bl通過高速PCIE總線將RAID數據S8傳遞到RAID 控制器B2, RAID控制器B2將RAID數據S8、 RAID數據S9通過高速PCIE 總線傳遞到磁盤控制器B3進行數據的磁盤操作,形成RAID數據S10;(4) 、磁盤控制器B3將RAID數據S10通過非高速互聯通路PB寫入到 磁盤陣列內。
全文摘要
本發明公開了一種基于并行處理的多主機接口冗余SAN控制器,屬于一種控制器,其結構包括控制器冗余模塊A、控制器冗余模塊B及背板模塊C,其中控制器冗余模塊A與控制器冗余模塊B通過高速PCIE總線P1連接,控制器冗余模塊A與背板模塊C通過非高速互聯通路PA連接,控制器冗余模塊B與背板模塊C通過非高速互聯通路PB連接。本發明的一種基于并行處理的多主機接口冗余SAN控制器和現有技術相比,采用雙控制器雙DMA通道并行處理,架構配備兩個冗余控制器模塊,在每個控制器冗余模塊內部以及兩個控制器冗余模塊之間可以進行RAID等數據的并行處理,在不失可靠性的前提下可以大大提高控制器的整機性能。
文檔編號G06F13/40GK101576805SQ20091001615
公開日2009年11月11日 申請日期2009年6月12日 優先權日2009年6月12日
發明者強 劉, 偉 李, 凱 田, 金長新 申請人:浪潮電子信息產業股份有限公司