專利名稱:N路直接連接的任一控制器到任一控制器架構(gòu)的制作方法
N路直接連接的任一控制器到任一控制器架構(gòu)
背景技術(shù):
大容量存儲系統(tǒng)持續(xù)提供不斷增加的存儲能力以滿足用戶需求。照片和電影存儲 以及照片和電影共享是拉動對越來越大的存儲系統(tǒng)的需求增長的應用的示例。對于這些不斷增長的需求的一種解決方案是使用多廉價盤陣列??梢园凑仗峁┤?余和錯誤恢復而不丟失任何數(shù)據(jù)的方式配置這些陣列。這些陣列還可以被配置成通過允許 對多個盤驅(qū)動器的數(shù)據(jù)的同時讀取或者寫入來提高讀取和寫入性能。這些陣列還可以被 配置成允許“熱插拔”,其允許故障盤被替換而不中斷陣列的存儲服務。無論是否提供任何 冗余,這些陣列通常被稱為獨立冗余盤陣列(或者更常用地通過首字母RAID來指代)。來 自加利福尼亞大學伯克利分校的David A. Patterson等人于1987年在名為“A Case for RedundantArrays of Inexpensive Disks (RAID) ”(廉價冗余盤陣列方案)的公開物中討 論了 RAID技術(shù)的基本概念和層級。RAID存儲系統(tǒng)通常使用對用戶或者主系統(tǒng)屏蔽管理存儲陣列的細節(jié)的控制器???制器使得存儲陣列看起來像一個或多個盤驅(qū)動器(或者卷)。盡管事實是特定卷的數(shù)據(jù)(或 者冗余數(shù)據(jù))可能散布在多個盤驅(qū)動器中,但這仍然能夠?qū)崿F(xiàn)。
發(fā)明內(nèi)容
因此,本發(fā)明的實施例可以包含存儲陣列系統(tǒng),包含N個配置有至少2M個端口的 陣列控制器,其中N和M是大于2的整數(shù);M個配置有至少2N個端口的串行連接SCSI (SAS) 域(domain),每一 2N個端口中的至少兩個直接連接至相應的每一 N個陣列控制器的每一 2M個端口中的至少兩個,從而在N個陣列控制器中的每一個與M個SAS域中的每一個之間 的建立直接冗余連接。因此,本發(fā)明的實施例可以進一步包含存儲陣列的存儲陣列架構(gòu),包含至少三個 陣列控制器;至少三個JB0D單元,至少三個JB0D單元中的每一個具有數(shù)目為存儲陣列中 陣列控制器數(shù)目的至少兩倍的端口,至少三個JB0D單元中的每一個與至少三個陣列控制 器中的每一個至少直接連接兩次,從而在至少三個陣列控制器中的每一個與至少三個JB0D 單元中的每一個之間建立至少兩個直接連接。因此,本發(fā)明的實施例可以進一步包含存儲陣列系統(tǒng),包含多個配置有多個端口 的陣列控制器,其中多個陣列控制器多于2個并且多個端口多于2個;以及,多個配置有多 個SAS端口的串行連接SCSI (SAS)域,從而SAS端口的數(shù)目是陣列控制器數(shù)目的至少兩倍, 每一所述多個SAS端口中的至少兩個直接連接至相應的每一所述多個陣列控制器的每一 所述多個端口中的至少兩個,從而在所述多個陣列控制器中的每一個和所述多個SAS域中 的每一個之間建立直接冗余連接。
圖1是存儲陣列系統(tǒng)的框圖。圖2是存儲系統(tǒng)的框圖。
圖3是計算機系統(tǒng)的框圖。
具體實施例方式圖1是存儲陣列系統(tǒng)的框圖。在圖1中,存儲陣列系統(tǒng)100包含陣列控制器110、 陣列控制器111、陣列控制器112、陣列控制器113、串行連接SCSI(SAS)域單元120、SAS域 單元121以及SAS域單元122。陣列控制器110包括2M數(shù)目的端口 115。陣列控制器111 包括2M數(shù)目的端口 116。陣列控制器112包括2M數(shù)目的端口 117。陣列控制器113包括 2M數(shù)目的端口 118。SAS域單元120包括2N數(shù)目的端口 125。SAS域單元121包括2N數(shù)目 的端口 126。SAS域單元122包括2N數(shù)目的端口 127。陣列控制器110-113可以是(或者包含)由例如InfiniBand、冗余廉價盤陣列 (RAID)、網(wǎng)絡附加存儲(NAS)、存儲區(qū)域網(wǎng)絡(SAN)、iSCSI SAN或者虛擬磁帶庫(VTL)等等 所描述的控制器或者與它們兼容的控制器。SAS域單元120-122可以是(或者包含)位于 機殼(enclosure)中的一個或多個簡單盤捆綁(Just a Bunch Of Disks)或者簡單盤驅(qū)動 盒(Just a Box Of Drives) (JBOD)以及諸如SAS端口擴展器的其它硬件。在實施例中,陣列控制器110-113可以包括奇偶和ECC生成裝置、電池備份數(shù)據(jù)存 儲器、NVRAM以及控制器間寫緩存鏡像。例如,陣列控制器110-113可以允許對寫入數(shù)據(jù)的 非易失性緩存。可以在陣列控制器110-113之間對該數(shù)據(jù)進行鏡像,從而提供對該緩存數(shù) 據(jù)的冗余存儲。陣列控制器110-113可以為盤性能提供承諾(commit)。陣列控制器110-113中的非易失性存儲器能夠提供不受電源故障、系統(tǒng)死機等等 影響的存儲。該存儲器可以是閃存、電池備份存儲器或者類似物。陣列控制器110-113可 以包含非易失性存儲器以執(zhí)行寫入緩存1/0處理來保證在發(fā)生電源故障或者1/0中斷的情 況下數(shù)據(jù)將會被保存。存儲陣列系統(tǒng)100可以將寫入緩存數(shù)據(jù)鏡像至多個陣列控制器110-113以保證在 一個陣列控制器110-113的故障期間保持數(shù)據(jù)。在這種情況下,當?shù)谝豢刂破鞴收蠒r,作 為冗余故障切換機制的一部分,替代陣列控制器110-113能夠使被鏡像到其上的數(shù)據(jù)再生 (reclaim)0陣列控制器110-113中的非易失性存儲器還可以用于配置元數(shù)據(jù),該配置元數(shù)據(jù) 描述初始化期間應當如何配置存儲陣列系統(tǒng)100。這可以加快電源啟動時序或者指示具體 的操作環(huán)境(例如,主機類型、默認設置等等)。在實施例中,存儲陣列系統(tǒng)100具有N數(shù)目的陣列控制器110-113。存儲陣列系 統(tǒng)100具有M數(shù)目的SAS域單元120-122。如能夠從圖1中所看到的一樣,每個陣列控制 器110-113與每個SAS域單元120-122連接兩次。這些兩個連接在陣列控制器110-113 中的每一個和SAS域單元120-122中的每一個之間建立直接冗余連接。例如,這通過陣列 控制器110和SAS域單元120之間的兩個連接來例示。這還通過陣列控制器111和SAS 域單元120之間的兩個連接來例示。應當理解,這些連接是直接連接并且不通過交換結(jié) 構(gòu)(switchingfabric)或者其它中間設備來傳遞。在另一個實施例中,每個陣列控制器 110-113可以與每個SAS域單元120-122連接兩次以上。圖2是存儲系統(tǒng)的圖示。圖2例示了一個存儲陣列210和一組JB0D單元220-221 之間的連接。應當理解,其它存儲陣列和JB0D單元(未示出)直接連接至存儲陣列210和JB0D單元220-221。出于簡明的目的而省略它們。存儲陣列210和JB0D單元220-221之 間的連接可以與圖1中所示的那些連接類似或相同。在圖2中,存儲陣列210包括陣列控制器250和陣列控制器251。陣列控制器250 包括端口擴展器230。陣列控制器251包括端口擴展器231。存儲陣列210還可以包括盤 驅(qū)動器。這些盤驅(qū)動器可以連接至端口擴展器230和端口擴展器231。端口擴展器230和 端口擴展器231的每一個包括SAS端口。在圖2中,端口擴展器230和端口擴展器231中 的每一個具有6個4-寬(4-wide)SAS端口。應當理解,這僅僅出于示例的目的,并且端口 擴展器230和端口擴展器231通??梢跃哂?M個端口,其中M是存儲系統(tǒng)200中JB0D扇 出(fanout)單元220的數(shù)目。端口擴展器230的SAS端口直接連接至端口擴展器232的 SAS端口。端口擴展器231的SAS端口直接連接至端口擴展器233的SAS端口。端口擴展 器230-231和232-233中的其它SAS端口分別連接至其它扇出JB0D單元和陣列控制器的 端口擴展器。存儲陣列210可以是(或者包含)由例如InfiniBand、冗余廉價盤陣列(RAID)、 網(wǎng)絡附加存儲(NAS)、存儲區(qū)域網(wǎng)絡(SAN)、iSCSI SAN或者虛擬磁帶庫(VTL)等等所描述 的控制器或者與它們兼容的控制器。扇出JB0D單元220和JB0D單元221可以是(或者包 含)位于機殼(enclosure)中的一個或多個簡單盤捆綁或者簡單盤驅(qū)動盒(JB0D)以及諸 如SAS端口擴展器的其它硬件。在實施例中,陣列控制器210可以包括奇偶和ECC生成裝置、電池備份數(shù)據(jù)存儲 器、NVRAM以及控制器間寫緩存。例如,陣列控制器210可以允許對寫入數(shù)據(jù)的非易失性緩 存??梢栽陉嚵锌刂破?10和其它陣列控制器(未示出)之間對該數(shù)據(jù)進行鏡像,從而提 供對該緩存數(shù)據(jù)的冗余存儲。陣列控制器210可以為盤性能提供承諾。陣列控制器210中的非易失性存儲器能夠提供不受電源故障、系統(tǒng)死機等等影響 的存儲。該存儲器可以是閃存、電池備份存儲器或者類似物。陣列控制器210可以包含非 易失性存儲器以執(zhí)行寫入緩存I/O處理來保證在發(fā)生電源故障或者I/O中斷的情況下數(shù)據(jù) 將會被保存。存儲陣列系統(tǒng)200可以將寫入緩存數(shù)據(jù)鏡像至多個陣列控制器210以保證在存儲 陣列控制器的故障期間保持數(shù)據(jù)。在這種情況下,當?shù)谝豢刂破鞴收蠒r,作為冗余故障切換 機制的一部分,替代控制器能夠使被鏡像到其上的數(shù)據(jù)再生。陣列控制器210中的非易失性存儲器還可以用于配置元數(shù)據(jù),該配置元數(shù)據(jù)描述 初始化期間應當如何配置存儲陣列系統(tǒng)200。這可以加快電源啟動時序或者指示具體的操 作環(huán)境(例如,主機類型、默認設置等等)。扇出JB0D單元220包括ESM (環(huán)境服務模塊)240和ESM 241。ESM 240包括端口 擴展器232。ESM 241包括端口擴展器233。扇出JB0D單元220和JB0D單元221還可以包 括盤驅(qū)動器。端口擴展器232和端口擴展器233中的每一個包括SAS端口。在圖2中,端 口擴展器232和端口擴展器233可以例如具有6個4-寬SAS端口。應當理解,這僅僅是出 于示例的目的,并且端口擴展器232和端口擴展器233通??梢跃哂兄辽?N個端口,其中 N是存儲系統(tǒng)200中陣列控制器210的數(shù)目。端口擴展器232和端口擴展器233還可以包 括附加的SAS端口,如連接至盤驅(qū)動器的lx端口。扇出JB0D單元220還包括至少兩個附 加的(more)SAS端口。這些SAS端口連接至JB0D單元221??梢杂啥丝跀U展器232和端口擴展器233提供這些附加的SAS端口。JB0D單元221包括ESM 242和ESM 243。ESM 242和ESM 243可以包括端口擴展 器。JB0D單元221還可以通過ESM 242和ESM 243連接至附加的JB0D單元(未示出)。 ESM 242-243可以連接至JB0D單元221中的盤驅(qū)動器。在實施例中,端口擴展器230的SAS端口直接連接至端口擴展器232的SAS端口。 端口擴展器231的SAS端口直接連接至端口擴展器233的SAS端口。因而,扇出JB0D單元 220直接并且冗余地連接至陣列控制器210。同樣,扇出JB0D單元220還通過至少兩個直接 連接而直接地連接存儲系統(tǒng)200中的每一個其它陣列控制器210 (未示出)。因而,存儲系 統(tǒng)200中的每一 JB0D單元220-221冗余地連接至存儲系統(tǒng)200中的每個陣列控制器210。 扇出JB0D單元220、JB0D單元221以及諸如端口擴展器和盤驅(qū)動器的其它設備可以位于單 個或多個機殼或機柜中。如能夠從圖1和圖2中所看到的一樣,多個陣列控制器110-113和210可以直接 并且冗余地連接至多個SAS JB0D域而無需使用外部交換,同時仍然向任一存儲設備連接提 供任一冗余的控制器。為存儲陣列系統(tǒng)100和200增加了作為陣列控制器來擴展的性能。 同樣,當存儲陣列系統(tǒng)100和200的一個或多個部件出現(xiàn)故障或者不能提供服務時,性能僅 僅以線性的方式來降低。例如,如果N = 6 (即,系統(tǒng)中存在6個陣列控制器110-113),并且 一個陣列控制器出現(xiàn)故障,則存儲陣列系統(tǒng)100或200的性能將僅僅降低至其此前水平的 大約5/6。將其與僅僅具有兩個陣列控制器110-113的系統(tǒng)相比,該系統(tǒng)的性能在一個陣列 控制器出現(xiàn)故障時將降低至其此前水平的大約1/2。此外,因為在每個陣列控制器110-113 或210之間存在直接連接,分別避免了控制器110-113和210與盤、或者JB0D單元120-122 或220之間的單獨的SAS交換機(switch)。這些單獨的SAS交換機增加了成本并且占用封 裝空間。此外,因為每個陣列控制器110-113通過SAS域單元120-122與每個其它陣列控 制器互連,所以從陣列控制器110-113到陣列控制器110-113的專用數(shù)據(jù)傳輸是可能的。同 樣,因為每個存儲陣列210通過ESM 240-241與每個其它存儲陣列(未示出)互連,所以從 每個存儲陣列210到每個其它存儲陣列的專用數(shù)據(jù)傳輸是可能的。上述的系統(tǒng)、單元、驅(qū)動器、設備、裝置和功能可以由一個或多個計算機系統(tǒng)來實 現(xiàn)或者執(zhí)行。上述的方法還可以存儲在計算機可讀介質(zhì)上。存儲陣列系統(tǒng)100和存儲陣列 系統(tǒng)200的許多部件可以是、可以包含或者可以包括計算機系統(tǒng)。這包括但不限于陣列控 制器110、陣列控制器111、陣列控制器112、陣列控制器113、SAS域單元120、SAS域單元 121、SAS域單元122、陣列控制器210、扇出JB0D 220、JB0D單元221、端口擴展器230、端口 擴展器231、端口擴展器232、端口擴展器233以及存儲陣列系統(tǒng)100或存儲陣列系統(tǒng)200 中包含的任何盤驅(qū)動器。圖3例示了計算機系統(tǒng)的框圖。計算機系統(tǒng)300包括通信接口 320、處理系統(tǒng)330、 存儲系統(tǒng)340以及用戶接口 360。處理系統(tǒng)330可操作地(operatively)耦接至存儲系統(tǒng) 340。存儲系統(tǒng)340存儲軟件350和數(shù)據(jù)370。處理系統(tǒng)330可操作地耦接至通信接口 320 和用戶接口 360。計算機系統(tǒng)300可以包含已編程的通用計算機。計算機系統(tǒng)300可以包 括微處理器。計算機系統(tǒng)300可以包含可編程或者專用電路。計算機系統(tǒng)300可以分布在 合起來包含部件320-370的多個設備、處理器、存儲裝置和/或接口中。
通信接口 320可以包含網(wǎng)絡接口、調(diào)制解調(diào)器、端口、總線、鏈路、收發(fā)器或其它通 信設備。通信接口 320可以分布在多個通信設備中。處理系統(tǒng)330可以包含微處理器、微 控制器、邏輯電路或者其它處理設備。處理系統(tǒng)330可以分布在多個處理設備中。用戶接 口 360可以包含鍵盤、鼠標、語音識別接口、傳聲器和揚聲器、圖形顯示器、觸摸屏或者其它 類型的用戶接口設備。用戶接口 360可以分布在多個接口設備中。存儲系統(tǒng)340可以包含 盤、磁帶、集成電路、RAM、R0M、網(wǎng)絡存儲、服務器或者其它存儲功能模塊。存儲系統(tǒng)340可以 是計算機可讀介質(zhì)。存儲系統(tǒng)340可以分布在多個存儲設備中。處理系統(tǒng)330從存儲系統(tǒng)340獲取(retrieve)并執(zhí)行軟件350。處理系統(tǒng)可以 獲取并且存儲數(shù)據(jù)370。處理系統(tǒng)還可以通過通信接口 320獲取并且存儲數(shù)據(jù)。處理系統(tǒng) 330可以創(chuàng)建或者修改軟件350或數(shù)據(jù)370以取得實效。處理系統(tǒng)可以控制通信接口 320 或者用戶接口 360以取得實效。處理系統(tǒng)可以通過通信接口 320獲取并且執(zhí)行遠程存儲的 軟件。軟件350和遠程存儲的軟件可以包含操作系統(tǒng)、應用程序、驅(qū)動、網(wǎng)絡軟件以及通 常由計算機系統(tǒng)執(zhí)行的其它軟件。軟件350可以包含應用程序、小應用程序、固件或者通常 由計算機系統(tǒng)執(zhí)行的機器可讀處理指令的其它形式。當由處理系統(tǒng)330執(zhí)行時,軟件350 或者遠程存儲的軟件可以指導計算機系統(tǒng)300如本申請所述的一樣來操作。本發(fā)明此前的描述出于示例和描述的目的而出現(xiàn)。其不意在窮舉或者限制本發(fā)明 為所公開的精確形式,在上述內(nèi)容的教導下,其它修改和變化是可能的。為了最佳地解釋本 發(fā)明的原理及其實際應用而選擇和描述了實施例,從而使得本領域其他技術(shù)人員以適于預 期的特定使用目的的各種實施例和各種修改來最佳地使用本發(fā)明。所附的權(quán)利要求意在被 解釋成包括本發(fā)明的其它替代實施例,只要其不被現(xiàn)有技術(shù)限定即可。
8
權(quán)利要求
一種存儲陣列系統(tǒng),包含N個配置有至少2M個端口的陣列控制器,其中N和M是大于2的整數(shù);以及M個配置有至少2N個端口的串行連接SCSI(SAS)域,每一所述2N個端口中的至少兩個直接連接至相應的每一所述N個陣列控制器的每一所述2M個端口中的至少兩個,從而在所述N個陣列控制器中的每一個和所述M個SAS域中的每一個之間建立直接冗余連接。
2.如權(quán)利要求1所述的存儲系統(tǒng),其中所述N個陣列控制器中的每一個包括至少兩個 SAS端口擴展器以提供所述至少2M個端口。
3.如權(quán)利要求1所述的存儲系統(tǒng),其中所述M個SAS域中的每一個包括至少兩個SAS 端口擴展器以提供所述至少2N個端口。
4.如權(quán)利要求1所述的存儲系統(tǒng),其中所述M個SAS域中的至少一個進一步包括附加 SAS端口擴展器,所述附加SAS端口擴展器耦接至盤驅(qū)動器并且耦接至提供所述至少2N個 端口的所述至少兩個SAS端口擴展器。
5.如權(quán)利要求1所述的存儲系統(tǒng),其中所述M個SAS域中的至少一個包含環(huán)境服務模 塊和JB0D單元。
6.如權(quán)利要求1所述的存儲系統(tǒng),其中所述N個陣列控制器中的至少一個進一步包括 至少一個盤驅(qū)動器。
7.一種存儲陣列的存儲陣列架構(gòu),包含至少三個陣列控制器;以及至少三個JB0D單元,所述至少三個JB0D單元中的每一個具有數(shù)目為所述存儲陣列中 陣列控制器數(shù)目的至少兩倍的端口,所述至少三個JB0D單元中的每一個與所述至少三個 陣列控制器中的每一個至少直接連接兩次,從而在所述三個陣列控制器中的每一個和所述 至少三個JB0D單元中的每一個之間建立至少兩個直接連接。
8.如權(quán)利要求7所述的存儲系統(tǒng),其中所述至少三個陣列控制器中的每一個包括SAS 端口擴展器以提供用于與所述至少三個JB0D單元的直接連接的端口。
9.如權(quán)利要求7所述的存儲系統(tǒng),其中所述至少三個JB0D單元中的每一個包括SAS端 口擴展器以提供用于與所述至少三個JB0D單元的直接連接的端口。
10.如權(quán)利要求7所述的存儲系統(tǒng),其中所述JB0D單元中的至少一個進一步包括耦接 至盤驅(qū)動器的附加SAS端口擴展器。
11.如權(quán)利要求7所述的存儲系統(tǒng),其中所述JB0D單元中的至少一個包含在環(huán)境服務 模塊中。
12.如權(quán)利要求7所述的存儲系統(tǒng),其中所述陣列控制器中的至少一個進一步包括至 少一個盤驅(qū)動器。
13.一種存儲陣列系統(tǒng),包含多個配置有多個端口的陣列控制器,其中所述多個陣列控制器多于2個并且所述多個 端口多于2個;以及多個配置有多個SAS端口的串行連接SCSI (SAS)域,使得SAS端口的數(shù)目是陣列控制 器數(shù)目的至少兩倍,每一所述多個SAS端口中的至少兩個直接連接至相應的每一所述多個 陣列控制器的每一所述多個端口中的至少兩個,從而在所述多個陣列控制器中的每一個與 所述多個SAS域中的每一個之間建立直接冗余連接。
14.如權(quán)利要求13所述的存儲系統(tǒng),其中所述多個陣列控制器中的每一個包括至少兩 個SAS端口擴展器以提供所述多個端口。
15.如權(quán)利要求13所述的存儲系統(tǒng),其中所述多個SAS域中的每一個包括至少兩個 SAS端口擴展器以提供所述多個SAS端口。
16.如權(quán)利要求13所述的存儲系統(tǒng),其中所述多個SAS域中的至少一個進一步包括附 加SAS端口擴展器,所述附加SAS端口擴展器耦接至盤并且耦接至提供所述多個SAS端口 的所述至少兩個SAS端口擴展器。
17.如權(quán)利要求13所述的存儲系統(tǒng),其中所述多個SAS域中的至少一個包含環(huán)境服務 模塊和JB0D單元。
18.如權(quán)利要求13所述的存儲系統(tǒng),其中所述多個陣列控制器中的至少一個進一步包 括至少一個盤驅(qū)動器。
全文摘要
公開了一種N路直接連接的任一控制器到任一控制器架構(gòu)和存儲系統(tǒng)架構(gòu)。陣列控制器配置有至少2M個端口,其中M是與系統(tǒng)中JBOD單元或者SAS域的數(shù)目相對應的大于2的整數(shù)。串行連接SCSI(SAS)域或者JBOD單元配置有至少2N個端口,其中N對應于系統(tǒng)中陣列控制器的數(shù)目。每一2N個端口中的至少兩個直接連接至相應的每一N個陣列控制器的每一2M個端口中的至少兩個,從而在N個陣列控制器中的每一個與M個SAS域或者JBOD單元中的每一個之間建立直接冗余連接。
文檔編號G06F3/06GK101923444SQ20091017066
公開日2010年12月22日 申請日期2009年9月1日 優(yōu)先權(quán)日2009年6月9日
發(fā)明者K·戴伊, R·A·德科寧 申請人:Lsi公司