本發(fā)明涉及一種硬盤通道擴展裝置,屬于計算機存儲系統(tǒng)的硬件技術領域。
背景技術:
如圖1所示,現有的大容量存儲系統(tǒng)一般基于HBA(Host Bus Adapter,主機總線適配器)+EXPANDER(擴展器)方案實現硬盤通道的擴展,以實現存儲容量的擴展。
HBA的PCIE總線接口通道一般是X8,傳輸速率為8Gb/s,帶寬為64Gb/s,HBA與EXPANDER互聯(lián)的SAS通道為X4、傳輸速率為12Gb/s,帶寬為48Gb/s,HDD(Hard Disk Drive,硬盤)的傳輸速率一般為120MB/s,約0.96Gb/S。若充分利用HBA+EXPANDER方案提供的帶寬,一個EXPANDER上需要掛40多塊硬盤,成本極高。然而,對于絕大部分存儲服務器應用,一般要求存儲容量性能穩(wěn)定可靠,對數據的傳輸速率并無過高的要求;且,存儲設備一般是通過千兆、萬兆網絡接口掛在網上,四塊硬盤的帶寬之和即可覆蓋大部分應用場景。
因此,現有的高性能HBA+EXPANDER方案,對于一般的存儲服務器應用場景,不僅成本較高,且資源利用率低,且該技術方案目前處于技術壟斷階段,無法得到推廣應用。
技術實現要素:
鑒于上述原因,本發(fā)明的目的在于提供一種能夠根據需要擴展存儲容量,且性能穩(wěn)定、可靠,成本較低的硬盤通道擴展裝置。
一種硬盤通道擴展裝置,包括主機總線適配器、CPLD芯片、多級級聯(lián)的SERDES器件,
CPU通過主機總線適配器、多級級聯(lián)的SERDES器件與若干硬盤相連接,主機總線適配器的控制信號輸出端與CPLD芯片的信號輸入端相連接,CPLD芯片的控制信號輸出端與各SERDES器件的開關控制端相連接,CPLD芯片根據主機總線適配器的硬盤編號信號,向相應硬盤對應連接的各SERDES器件發(fā)送開關信號,使得相應硬盤與主機總線適配器之間建立數據通道。
進一步的,
擴展的硬盤數量為:H=P*2n,其中:P為所述主機總線適配器與SERDES器件連接的端口數,n為所述SERDES器件的級聯(lián)數。
所述CPU與主機總線適配器通過PCIE總線接口相連接,所述主機總線適配器與第一級SERDES器件之間、相鄰兩級SERDES器件之間、最后一級SERDES器件與硬盤之間均通過高速串行接口相連接,所述主機總線適配器與CPLD芯片通過GPIO接口相連接。
所述主機總線適配器與第一級SERDES器件之間、相鄰兩級SERDES器件之間、最后一級SERDES器件與硬盤之間傳輸SAS/SATA協(xié)議數據。
所述主機總線適配器根據所述CPU的控制命令獲取系統(tǒng)要訪問的硬盤,將要訪問的硬盤編號發(fā)送至所述CPLD芯片,所述CPLD芯片根據相應的硬盤編號,打開與該硬盤對應連接的各SERDES器件的開關,該硬盤通過所述主機總線適配器與CPU之間建立數據鏈路。
本發(fā)明的優(yōu)點是:
本發(fā)明的硬盤通道擴展裝置,利用現有的少通道、低成本HBA芯片,通過CPLD芯片切換控制多級級聯(lián)的SERDES器件,管理多塊硬盤,建立相應的硬盤與主機之間的數據通道,可根據實際需要靈活擴展若干硬盤,存儲容量性能穩(wěn)定、可靠,成本可控,適于推廣應用。
附圖說明
圖1是現有的大容量存儲系統(tǒng)中基于HBA+EXPANDER方案實現的硬盤通道擴展裝置結構示意圖。
圖2是本發(fā)明的硬盤通道擴展裝置的結構示意圖,顯示2級SERDES級聯(lián)、16塊硬盤的擴展裝置。
具體實施方式
以下結合附圖和實施例對本發(fā)明作進一步詳細的說明。
如圖2所示,本發(fā)明公開的硬盤通道擴展裝置,包括HBA芯片、CPLD(Complex Programmable Logic Device,可編程邏輯器件)芯片、多級SERDES(SERializer串行器/DESerializer解串器)器件,CPU通過HBA芯片、多級SERDES器件與若干硬盤相連接,CPLD芯片與各SERDES器件相連接,根據HBA芯片的控制信息切換控制相應的SERDES器件,使得相應的硬盤與CPU之間建立數據通道。
具體的說,CPU與HBA芯片通過PCIE總線接口相連接,HBA芯片與第一級SERDES器件通過高速串行接口相連接,相鄰兩級SERDES器件之間通過高速串行接口相連接,最后一級SERDES器件與硬盤之間通過高速串行接口相連接,HBA芯片與第一級SERDES器件之間、相鄰兩級SERDES器件之間、最后一級SERDES器件與硬盤之間傳輸SAS/SATA協(xié)議數據;
HBA芯片與CPLD芯片通過GPIO接口相連接,CPLD芯片的控制信號輸出端與各個SERDES器件的開關控制端相連接,HBA芯片根據CPU的控制命令獲取系統(tǒng)要訪問的硬盤,將要訪問的硬盤編號發(fā)送至CPLD芯片,CPLD芯片根據相應的硬盤編號,打開與該硬盤對應連接的各SERDES器件的開關,該硬盤通過HBA芯片與CPU之間建立起一條數據鏈路。
本發(fā)明中,可以根據需要級聯(lián)多級SERDES器件,擴展多塊硬盤,可擴展的硬盤數量計算公式如下:
H=P*2n
其中:P為HBA芯片的端口數,n為SERDES器件的級聯(lián)數。
例如,如圖2所示,HBA芯片的端口數(高速串行接口)為四個,兩級級聯(lián)SERDES器件,HBA芯片級聯(lián)第一級四個SERDES器件,第一級的四個SERDES器件各連接兩個SERDES器件,第二級共八個SERDES器件,第二級的八個SERDES器件各連接兩塊硬盤,即,兩級級聯(lián)的SERDES器件共連接16塊硬盤。
CPLD芯片對于各硬盤的切換控制信號如表1所示:
表1
結合圖2與表1所示,S0、S1、S2、S3分別對應HBA芯片的四個端口;舉例說明,當CPLD芯片向第一級的第一個(按從上至下排列)SERDES器件發(fā)送低電平信號(CH(0)=0)、向第二級的第一個SERDES器件發(fā)送低電平信號(CL(0)=0)時,HBA的S0端口與硬盤HDD1之間建立數據連接;當CPLD芯片向第一級的第二個SERDES器件發(fā)送低電平信號(CH(1)=0)、向第二級的第三個SERDES器件發(fā)送高電平信號(CL(2)=1)時,HBA的S1端口與硬盤HDD6之間建立數據連接;當CPLD芯片向第一級的第三個SERDES器件發(fā)送高電平信號(CH(2)=1)、向第二級的第六個SERDES器件發(fā)送高電平信號(CL(5)=1)時,HBA的S2端口與硬盤HDD12之間建立數據連接;當CPLD芯片向第一級的第四個SERDES器件發(fā)送高電平信號(CH(3)=1)、向第二級的第八個SERDES器件發(fā)送低電平信號(CL(7)=0)時,HBA的S3端口與硬盤HDD15之間建立數據連接。
所述SERDES器件可以采用PERICOM公司的PI2DBS6212等高速模擬切換器。
以上所述是本發(fā)明的較佳實施例及其所運用的技術原理,對于本領域的技術人員來說,在不背離本發(fā)明的精神和范圍的情況下,任何基于本發(fā)明技術方案基礎上的等效變換、簡單替換等顯而易見的改變,均屬于本發(fā)明保護范圍之內。