專利名稱:通過處理器構(gòu)造連接的處理器卡的多節(jié)點(diǎn)配置的系統(tǒng)和制造方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通過處理器構(gòu)造(processor fabric )連接的多節(jié)點(diǎn)配 置的處理器卡的制造方法、系統(tǒng)和產(chǎn)品。
技術(shù)背景存儲網(wǎng)絡(luò)中的主機(jī)系統(tǒng)可以通過多條路徑與存儲器控制器通信。 存儲器控制器可能由多個獨(dú)立的存儲群集組成,每一個存儲群集都能 夠訪問存儲器,并提供訪問存儲器的冗余。如果存儲群集故障,主機(jī) 還可以切換至其他存儲群集來訪問存儲器。在某些系統(tǒng)中,多個雙機(jī)群集存儲服務(wù)器可以管理對一個存儲系 統(tǒng)的I/0訪問。在操作過程中,每一個存儲服務(wù)器被分配一個不同范 圍的存儲器,例如不同的邏輯單元號(LUN)。如果一個存儲服務(wù)器或 存儲群集接收了請求,那么存儲服務(wù)器或群集將在該目標(biāo)LUN被分 配給接收存儲服務(wù)器的情況下,對該請求進(jìn)行處理。該存儲服務(wù)器將 把該I/O請求轉(zhuǎn)發(fā)給管理對該目標(biāo)LUN的訪問的另一個存儲服務(wù)器 或群集。這種設(shè)置要求每一個存儲服務(wù)器/群集都知道每一個其他存儲 服務(wù)器/群集所管理的LUN。如果一個存儲服務(wù)器出現(xiàn)故障,那么作 為切換操作的一部分,該存儲服務(wù)器管理的節(jié)點(diǎn)被分配給正常工作的 存儲服務(wù)器。如果有存儲服務(wù)器恢復(fù),那么可以進(jìn)行倒切換 (failback),以便給恢復(fù)的存儲服務(wù)器重新分配一些LUN。存儲服務(wù)器可以封裝電子元件以容納多個處理器卡,包括總線接 口和其他電子元件以支持在系統(tǒng)中實(shí)現(xiàn)不同節(jié)點(diǎn)的多個處理器卡。這 種結(jié)構(gòu)要求服務(wù)器包括多個冗余的元件,例如插槽、總線接口等。在 很多情況下,如果在設(shè)有存儲服務(wù)器的環(huán)境中沒有包括或要求允許的 最大數(shù)目的處理器卡,未必所有的服務(wù)器電子元件,如插槽、總線接口等都被使用。在本技術(shù)領(lǐng)域中存在著改進(jìn)在存儲系統(tǒng)中配置多個節(jié)點(diǎn)的技術(shù) 的需要。發(fā)明內(nèi)容提供一種系統(tǒng),該系統(tǒng)包括第一節(jié)點(diǎn)、第二節(jié)點(diǎn)和多個通信接口, 所述第一節(jié)點(diǎn)包括多個處理器卡,每一個所述處理器卡包括處理器構(gòu) 造,其中所述第一節(jié)點(diǎn)中的所述處理器卡通過它們的處理器構(gòu)造連 接,所述第二節(jié)點(diǎn)包括多個處理器卡,每一個所述處理器卡包括處理器構(gòu)造,其中所述第二節(jié)點(diǎn)中的所述處理器卡通過它們的處理器構(gòu)造 連接,其中所述多個通信接口中的每一個接口連接所述第二節(jié)點(diǎn)中的一個處理器卡和所迷第一節(jié)點(diǎn)中的一個處理器卡,使所述連接的處理 器卡之間能夠進(jìn)行通信,從而協(xié)調(diào)所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)中的 所述連接的處理器卡之間的處理器操作。在另一個實(shí)施例中,所述通信接口和處理器構(gòu)造使用不同的技 術(shù),其中利用所述第一處理器構(gòu)造和第二處理器構(gòu)造進(jìn)行通信的所述 第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)中的所述處理器卡,作為第一和第二對稱多處理器。在又一個實(shí)施例中,不同節(jié)點(diǎn)中的所述處理器卡不利用所述處理 器構(gòu)造技術(shù)彼此通信。在又一個實(shí)施例中,存在多個中間面(midplane),其中每一個 中間面包括至少兩個處理器卡,并且其中所述第一節(jié)點(diǎn)和所述第二節(jié) 點(diǎn)的每一個至少包括一個來自每一個中間面的處理器卡。每一個處理 器卡包括處理器構(gòu)造接口 ,以連接包括所述處理器卡的所述第一節(jié)點(diǎn) 或所述第二節(jié)點(diǎn)中的其他處理器卡。在又一個實(shí)施例中,每一個中間面都包括在存儲服務(wù)器中。 在又一個實(shí)施例中,每一個中間面包括能夠與外部設(shè)備進(jìn)行通信 的輸入/輸出(1/0)適配器,其中使用不同于所述處理器構(gòu)造接口的通 信接口 ,將每一個中間面中的每一個處理器卡連接到所述中間面上的所述i/o適配器上。在又一個實(shí)施例中,電纜連接所述第一節(jié)點(diǎn)上的處理器卡,并連 接所述第二節(jié)點(diǎn)上的處理器卡。在又一個實(shí)施例中,由所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)中每一個上至少一個處理器卡執(zhí)行的節(jié)點(diǎn)管理代碼執(zhí)行操作,所述操作包括檢 測所述第一節(jié)點(diǎn)或第二節(jié)點(diǎn)的其中一個上的一個處理器卡的故障;確 定包括所述故障處理器卡的節(jié)點(diǎn)是否包括至少一個運(yùn)行的處理器卡; 響應(yīng)于確定所述節(jié)點(diǎn)包括至少一個運(yùn)行的處理器卡,重新配置包括所 述故障處理器的所述第一節(jié)點(diǎn)或所述第二節(jié)點(diǎn),以在沒有所述故障處 理器的情況下進(jìn)行操作;響應(yīng)于確定所述節(jié)點(diǎn)不包括至少一個運(yùn)行的 處理器卡執(zhí)行切換操作,以使用不包括所述故障處理器卡的所述第一 節(jié)點(diǎn)或所述第二節(jié)點(diǎn)。在又一個實(shí)施例中,由所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)中每一個上 的至少一個處理器卡執(zhí)行的節(jié)點(diǎn)管理代碼執(zhí)行操作,所述操作包括 檢測所述第一節(jié)點(diǎn)或所述第二節(jié)點(diǎn)其中一個上的一個處理器卡的故 障;執(zhí)行切換操作,以使用不包括所述故障處理器卡的所迷第一節(jié)點(diǎn) 或所述第二節(jié)點(diǎn)。在又一個實(shí)施例中,系統(tǒng)包括包含第一處理器卡和第二處理器卡 的第一中間面,其中每一個處理器卡包括處理器構(gòu)造和第一通信接 口 ,所述第一通信接口連接所述第一處理器卡和所述第二處理器卡, 使所述第一處理器卡和所述第二處理器卡之間能夠進(jìn)行通信。笫二中 間面包括第三處理器卡和第四處理器卡,其中每一個處理器卡包括處 理器構(gòu)造,其中所述笫一處理器卡和所述第三處理器卡通過它們的處 理器構(gòu)造連接,并且其中所述第二處理器卡和所述第四處理器卡通過 它們的處理器構(gòu)造連接。第二通信接口連接所述第三處理器卡和所述 第四處理器卡,使所述第三處理器卡和第四處理器卡之間能夠進(jìn)行通 信。還提供了一種方法和產(chǎn)品,用于對第一節(jié)點(diǎn)、第二節(jié)點(diǎn)和多個通 信接口進(jìn)行配置,所述第一節(jié)點(diǎn)包括多個處理器卡,所述多個處理器 卡的每一個包括處理器構(gòu)造,所述多個處理器卡通過它們的處理器構(gòu)造連接;所述第二節(jié)點(diǎn)包括多個處理器卡,所述多個處理器卡的每一 個包括處理器構(gòu)造,所述多個處理器卡通過它們的處理器構(gòu)造連接; 其中所述多個通信接口的每一個接口連接所述第二節(jié)點(diǎn)中的一個處 理器卡和所述第一節(jié)點(diǎn)中的一個處理器卡,使所述連接的處理器卡之 間能夠進(jìn)行通信,從而協(xié)調(diào)所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)中所述連接 的處理器卡之間的處理器操作。在又一個實(shí)施例中,所述通信接口和所述處理器構(gòu)造使用不同的 技術(shù),其中對所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)以及所述處理器構(gòu)造進(jìn)行 配置包括配置所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn),以分別作為第一和第二 對稱多處理器。在又一個實(shí)施例中,對所述笫一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)以及所述處 理器構(gòu)造進(jìn)行配置進(jìn)一步包括對多個中間面進(jìn)行配置,其中所述每一 個中間面包括至少兩個處理器卡,并且其中所述第一節(jié)點(diǎn)和所述第二 節(jié)點(diǎn)中的每一個至少包括一個來自每個中間面的處理器卡。在又一個實(shí)施例中,在所述第一節(jié)點(diǎn)或第二節(jié)點(diǎn)的其中一個上檢 測一個處理器卡的故障。確定包括所述故障處理器卡的所述節(jié)點(diǎn)是否 至少包括一個運(yùn)行的處理器卡。響應(yīng)于確定所述節(jié)點(diǎn)至少包括一個運(yùn) 行的處理器卡,重新配置包括所述故障處理器的所述第一節(jié)點(diǎn)或所述 第二節(jié)點(diǎn),以在沒有所述故障處理器的情況下進(jìn)行操作。響應(yīng)于確定 所述節(jié)點(diǎn)不包括至少一個運(yùn)行的處理器卡,執(zhí)行切換以使用不包括所 述故障處理器卡的所述第一節(jié)點(diǎn)或所述第二節(jié)點(diǎn)。在又一個實(shí)施例中,在所述笫一節(jié)點(diǎn)或第二節(jié)點(diǎn)的其中一個上檢 測一個處理器卡的故障。執(zhí)行切換以使用不包括所迷故障處理器卡的 所述第一節(jié)點(diǎn)或所述第二節(jié)點(diǎn)。
圖l示出了多節(jié)點(diǎn)計(jì)算環(huán)境的實(shí)施例。圖2示出了多節(jié)點(diǎn)計(jì)算環(huán)境的附加實(shí)施例。圖3和圖4示出了在節(jié)點(diǎn)上配置處理器卡的操作實(shí)施例。圖5和圖6示出了執(zhí)行切換和倒切換的操作實(shí)施例。
具體實(shí)施方式
圖1示出了計(jì)算環(huán)境實(shí)施例。中間面2a、 2b每個都包括兩個處 理器卡4a、 6a和4b、 6b,其可包括插入到中間面2a、 2b的擴(kuò)展插槽 中的擴(kuò)展卡。作為替換,處理器卡4a、 4b、 6a、 6b可以在中間面2a, 2b板上實(shí)現(xiàn)。每個處理器卡4a、 4b、 6a、 6b包括一個或多個核10a、 10b、 10c、 10d、 12a、 12b、 12c、 12d。盡管在每個處理器卡4a、 4b、 6a、 6b上示出了兩個核,每個處理器卡4a、 4b、 6a、 6b還可以包括 一個或兩個以上的核。每個處理器卡4a、 4b、 6a、 6b還可以包括高 速緩存14a、 14b、 14c、 14d,其可以為它們的處理器卡4a、 4b、 4c、 4d提供板上(on-board)存儲器。處理器卡4a、 4b、 6a、 6b上的處 理器構(gòu)造16a、 16b、 16c、 16d分別提供了總線、端口、邏輯部件、 判優(yōu)器和隊(duì)列等,使在同一處理器卡上的核10a、 10b、 10c、 10d、 12a、 12b、 12c、 12d之間和在不同處理器卡4a、 4b、 6a、 6b上的核之間能 夠互相通信。處理器構(gòu)造16a、 16b、 16c、 16d還包括構(gòu)造控制器(未 示出),其通過各種附加核10a、 10b、 12a、 12b、 10c、 10d、 12c、 12d對構(gòu)造總線進(jìn)行爭用調(diào)停(mediate contention ),并通過其處理器 構(gòu)造16a、 16b、 16c、 16d連接的所有處理器卡4a、 4b、 6a、 6d的構(gòu) 造端口,規(guī)定對稱多處理器(SMP)拓樸配置。電纜18a、 18b,如軟 電纜,被用于連接處理器構(gòu)造16a和16c,以及處理器構(gòu)造16b和16d。 電纜18a和18b可以直接連接到處理器卡4a、 4b、 6a、 6b。所有連接到互連的處理器構(gòu)造16a、 16b、 16c、 16d的相同和不 同的處理器卡4a、 4b、 6a、 6b上的核10a、 10b、 10c、 10d、 12a、 12b、 12c、 12d,用作單個SMP。例如,連接到互連的處理器構(gòu)造6a和16c 上的核10a、 10b、 10c、 10d形成單個SMP。互連構(gòu)造16a和16c提 供高速鏈接以便于在連接的核10a、 10b、 10c、 10d和在連接的處理 器卡4a、 4b上的其他元件,如高速緩存和存儲器之間以連貫的方式 傳輸數(shù)據(jù),從而支持連貫性事務(wù)處理和并仲裁對互連構(gòu)造16a和16b 的訪問。同樣,核12a、 12b、 12c、和12d連接到互連處理器構(gòu)造16a 和16d,以形成單SMP。因而,4吏用不同的中間面2a、 2b上的處理器卡的組合可以形成獨(dú)立的SMP,其中每個中間面2a、 2b給每個SMP 提供一個處理器卡4a、 4b、 6a、 6b。每個中間面2a、 2b還包括分別連接處理器卡4a、 6a和4b、 6b 的網(wǎng)絡(luò)適配器20a和20b,以提供到網(wǎng)絡(luò)的連接。每個中間面2a、 2b 上分別設(shè)有總線22a、 22b,其包括了網(wǎng)絡(luò)適配器20a、 20b和處理器 卡4a、 6a和4b、 6b之間的通信接口??偩€22a和22d可以利用本領(lǐng) 域中公知的接口技術(shù),如外圍部件互連(PCI) 、 PCIexpress等。每個中間面2a、 2b還包括分別連接到處理器卡4a、 6a和4b、 6b的輸入/輸出(I/O )適配器24a和24b,以提供到本領(lǐng)域公知的如存儲設(shè)備、打印機(jī)或其他i/o設(shè)備的附屬外部設(shè)備的連接。每個中間面2a、 2b上分別設(shè)有總線26a、 26b,其包括I/O適配器24a、 24b 和處理器卡4a、 6a和4b、 6b之間的總線通信接口??偩€26a和26b 可以利用本領(lǐng)域中公知的總線技術(shù),如外圍部件互連(PCI) , PCI express等,群集總線28a和28b分別提供了在同一中間面2a、 2b上的處理 器卡4a、 6a和4b、 6b之間的通信接口,或提供在兩個不同群集之間 的連接。群集總線28a和28b可以利用本領(lǐng)域中公知的總線技術(shù),如 外圍部件互連(PCI) , PCI express等。分別在相同的中間面2a和 2b中的處理器卡4a和6a上的核10a、 10b、 12a、 12b和10c、 10d、 12c、 12d可以通信對當(dāng)一個處理器卡出現(xiàn)故障時到正常運(yùn)行的處理器 卡的切換和到使用恢復(fù)的處理器卡4a或6a的倒切換進(jìn)行協(xié)調(diào)。在一個實(shí)施方式中,每個處理器卡4a、 6a、 4b、 6b包括管理代 碼30a、 30b、 30c、 30d以管理節(jié)點(diǎn)上的處理器卡4a、 6a、 4b、 6b的 配置,并按節(jié)點(diǎn)管理的切換和倒切換操作。管理代碼30a、 30b、 30c、 30d可以包括> 更件和/或由處理器卡4a、 6a、 4b、 6b上的一個或多個 核10a、 10b、 10c、 10d、 12a、 12b、 12c、 12d執(zhí)行的計(jì)算機(jī)可執(zhí)行 代碼。在一個替代實(shí)施例中,管理代碼可以由處理器卡外部的配置為 節(jié)點(diǎn)的元件來執(zhí)行。在一個實(shí)施方式中,中間面和2b可以包括在獨(dú)立存儲服務(wù)器或框中。此外,盡管圖l示出了兩個中間面2a和2b,通過在不同中 間面的處理器卡上互連處理器構(gòu)造形成的對稱多處理器,可以通過進(jìn) 一步對附加中間面中的處理器卡上的處理器構(gòu)造進(jìn)行互連而得到擴(kuò) 展。圖2示出了包括以某種方式連在一起的多個存儲服務(wù)器50a、 50b、 50c用作單個存儲圖象的網(wǎng)絡(luò)計(jì)算環(huán)境。關(guān)于存儲系統(tǒng)56a和 56b,存儲服務(wù)器50a、 50b、 50c通過網(wǎng)絡(luò)54接收I/O請求。存儲系 統(tǒng)56a和56b可以耦接到一個或多個存儲服務(wù)器50a、 50b、 50c。每 個存儲服務(wù)器50a,50b,50c可以實(shí)現(xiàn)圖1的結(jié)構(gòu),其中每個服務(wù)器至 .少包括兩個處理器卡58a、 60a、 58b、 60b和58c、 60c,每個存儲服 務(wù)器50a、 50b、 50c可以有兩個以上的所示處理器卡。此外,存儲服 務(wù)器50a、 50b、 50c上的處理器卡58a、 58b和58c的處理器構(gòu)造通 過電纜62a、62b、62c互連,以形成包括來自所有三個存儲服務(wù)器50a、 50b、 50c的處理器卡58a、 58b、 58c的一個對稱多處理器或存儲系統(tǒng) 中的第一節(jié)點(diǎn)。此外,通過電纜64a、 64b和64c對存儲服務(wù)器50a、 50b、 50c上的處理器卡60a、 60b和60c的處理器構(gòu)造進(jìn)行互連,以 形成包括來自所有三個存儲服務(wù)器50a、 50b、 50c的處理器卡60a、 60b、 60c的另一個對稱的多處理器或存儲系統(tǒng)的第二節(jié)點(diǎn)。在一個實(shí)施例中,每個處理器卡包括與相同節(jié)點(diǎn)上每個其他處理 器卡連接的點(diǎn)對點(diǎn)處理器構(gòu)造。在一個替代實(shí)施例中,并非在相同節(jié) 點(diǎn)上所有的處理器卡(例如58a、 58b、 58c或60a、 60b、 60c )都直 接連接,而是在相同節(jié)點(diǎn)上的處理器卡可以通過連接在相同構(gòu)造上的 相同節(jié)點(diǎn)中的一個或多個其他處理器卡進(jìn)行通信。以這種方式,多個 存儲服務(wù)器50a、 50b、 50c框通過一種方式連接,以提供兩個對稱的 多處理器或節(jié)點(diǎn),其中每個節(jié)點(diǎn)都在存儲服務(wù)器上擴(kuò)展。因此,節(jié)點(diǎn) 包括通過處理器構(gòu)造接口連接的處理器卡。在操作中,可在節(jié)點(diǎn)間進(jìn) 行負(fù)栽平衡,以將主機(jī)請求分發(fā)給相同節(jié)點(diǎn)和跨節(jié)點(diǎn)的處理器卡,從 而對節(jié)點(diǎn)間的工作負(fù)荷進(jìn)行平衡。通過連接到中間面2a、 2b中每個 節(jié)點(diǎn)上的一個處理器卡4a、 6a、 4b、 6b,可以將所有的適配器20a、20b和24a、 24b連接到一個系統(tǒng)中的兩個節(jié)點(diǎn)上。存儲服務(wù)器50a、 50b、 50c可以包括本領(lǐng)域公知的存儲控制器或 存儲服務(wù)器,如企業(yè)級存儲服務(wù)器或低端服務(wù)器產(chǎn)品。中間面2a、 2b 可以包括在不同的存儲服務(wù)器框中或單個存儲服務(wù)器框的刀片中。主 機(jī)52可以包括本領(lǐng)域公知的能夠與存儲服務(wù)器50a、 50b、 50c進(jìn)行 1/0請求通信從而訪問存儲器56a、 56b的計(jì)算設(shè)備,如服務(wù)器、大型 機(jī)、工作站、個人電腦、手提電腦、膝上型電腦、電話設(shè)備、網(wǎng)絡(luò)應(yīng) 用設(shè)備等。網(wǎng)絡(luò)54可以包括存儲區(qū)域網(wǎng)絡(luò)(SAN)、局域網(wǎng)(LAN)、 內(nèi)部網(wǎng)、因特網(wǎng)、廣域網(wǎng)(WAN)或?qū)Φ染W(wǎng)等。存儲器56a、 56b可 以包括如磁盤驅(qū)動器的單個存儲設(shè)備、如磁盤陣列(JBOD)的存儲 設(shè)備陣列、直接訪問存儲設(shè)備(DASA )、獨(dú)立冗余磁盤陣列(RAID )、 虛擬化設(shè)備、磁帶存儲器或閃存等。圖3示出了對中間面2a、 2b上的節(jié)點(diǎn)進(jìn)行的配置的操作實(shí)施例。 當(dāng)開始啟動配置操作時(在方框100),用戶可以調(diào)用一個中間面/存 儲服務(wù)器上的處理器卡執(zhí)行的代碼以配置第一節(jié)點(diǎn)包括第一處理器 卡,以及配置第二節(jié)點(diǎn)包括第二處理器卡(102)。用戶也可以使用 電纜連接不同中間面上的處理器卡(104)。圖4示出了由處理器卡執(zhí)行的配置處理器卡在節(jié)點(diǎn)中運(yùn)行的操 作。當(dāng)檢測到處理器卡4a、 4b、 6a、 6b通過處理器構(gòu)造16a、 16b、 16c、 16d連接時(方框120),檢測到的處理器卡與連接在處理器構(gòu) 造16a、 16b、 16c、 16d上的檢測處理器卡進(jìn)行通信(方框122),以配 置檢測到的處理器卡在包括檢測處理器卡的節(jié)點(diǎn)上運(yùn)行,圖5示出了在其中一個節(jié)點(diǎn)上進(jìn)行切換和倒切換操作的操作實(shí) 施例。操作可以由一個或兩個節(jié)點(diǎn)上的處理器卡中的代碼執(zhí)行,在其 中一個處理器卡發(fā)生故障的節(jié)點(diǎn)中的處理器卡和/或在另一個節(jié)點(diǎn)上 的處理器卡通過處理器間群集總線28a、 28b被警告故障。當(dāng)利用跨 多個存儲服務(wù)器50a、 50b、 50c延伸的雙節(jié)點(diǎn)存儲系統(tǒng)執(zhí)行操作時(圖 2)(方框150),檢測在一個節(jié)點(diǎn)上的一個處理器卡58a、 58b、 58c、 60a、 60b或60c的故障(方框152)。故障可以由發(fā)生故障的節(jié)點(diǎn)中的可用處理器卡和/或另 一個節(jié)點(diǎn)中的處理器卡檢測出并進(jìn)行管理。如果在具有故障處理器的節(jié)點(diǎn)上有一個正常工作的處理器卡(方框154), 那么對該具有故障處理器卡的節(jié)點(diǎn)進(jìn)行重新配置(方框156),以將 故障處理器卡從該節(jié)點(diǎn)移除,從而只使用該具有故障處理器的節(jié)點(diǎn)中的正常運(yùn)行的處理器卡。可以對該故障處理器卡進(jìn)行修理(方框157)。 另外,如果在具有故障處理器卡的節(jié)點(diǎn)中沒有正常運(yùn)行的處理器卡(方框154),那么執(zhí)行切換只使用不包括故障處理器的節(jié)點(diǎn)(方框158)。 當(dāng)檢測到先前發(fā)生故障的處理器卡恢復(fù)時(方框160),如果兩 個節(jié)點(diǎn)都是運(yùn)行的(方框162),如在方框156之后的操作,那么對 具有恢復(fù)處理器卡的節(jié)點(diǎn)進(jìn)行重新配置(方框164),以在節(jié)點(diǎn)操作 中包括該恢復(fù)處理器卡。另外,如果只有一個節(jié)點(diǎn)是運(yùn)行的(方框 162),如在方框108之后的操作,那么對兩個節(jié)點(diǎn)都進(jìn)行重新配置(方 框166),以倒切換到使用兩個節(jié)點(diǎn),這兩個節(jié)點(diǎn)包括該恢復(fù)的處理器 以使用該恢復(fù)的處理器卡和分配給那個節(jié)點(diǎn)的任何其他可用的處理 器卡。由于I/O設(shè)備20a、 20b、 24a、 24b連接到兩個節(jié)點(diǎn)聯(lián)合體, 如果一個處理器卡4a、 6a、 4b、 6b出現(xiàn)故障,沒有I/Oi殳備會丟失。 相反只是通過具有該故障處理器卡的一個節(jié)點(diǎn)的連接會丟失,而通過 具有正常運(yùn)行的處理器卡的節(jié)點(diǎn)的連接不會丟失。圖6示出了在其中一個節(jié)點(diǎn)上執(zhí)行切換操作和倒切換操作的附加實(shí)施例。該操作可以由一個或多個節(jié)點(diǎn)的處理器卡上的代碼執(zhí)行, 在其中一個處理器卡出現(xiàn)故障的節(jié)點(diǎn)上的處理器卡和/或另一個節(jié)點(diǎn)上的處理器卡通過處理器間群集總線28a、 28b被警告故障。當(dāng)利用 跨多個存儲服務(wù)器50a、 50b、 50c延伸的雙節(jié)點(diǎn)存儲系統(tǒng)執(zhí)行操作時 (方框200),檢測到一個節(jié)點(diǎn)中一個處理器卡的故障(方框202)。 響應(yīng)于檢測到的故障,執(zhí)行從包括故障處理器卡的節(jié)點(diǎn)到不包括故障 處理器的其他節(jié)點(diǎn)的切換,以從其他節(jié)點(diǎn)運(yùn)行(方框204)。因而, 在該節(jié)點(diǎn)中的一個處理器卡的故障會引起到另一個節(jié)點(diǎn)的切換,即便 是具有故障的節(jié)點(diǎn)具有其他運(yùn)行的處理器卡。當(dāng)檢測到先前出現(xiàn)故障的處理器卡恢復(fù)時(方框206),那么對兩個節(jié)點(diǎn)都進(jìn)行重新配置(方框208),以倒切換到使用兩個節(jié)點(diǎn), 這兩個節(jié)點(diǎn)包括恢復(fù)的處理器卡,以使用該恢復(fù)的處理器卡和分配給 那個節(jié)點(diǎn)的任何其他可用的處理器卡。所迷實(shí)施例提供了在相同中間面或存儲服務(wù)器提供跨處理器卡 實(shí)現(xiàn)節(jié)點(diǎn)的技術(shù),其中該節(jié)點(diǎn)中的處理器卡通過處理器卡上的處理器 構(gòu)造接口連接。所述實(shí)施例提供了一種在多個存儲服務(wù)器框的存儲服 務(wù)器中實(shí)現(xiàn)不同節(jié)點(diǎn)的技術(shù),以為允許在節(jié)點(diǎn)中和節(jié)點(diǎn)間的切換或倒 切換操作提供冗余。附加實(shí)施例細(xì)節(jié)所述操作可以實(shí)現(xiàn)為使用標(biāo)準(zhǔn)編程和/或工程技術(shù)產(chǎn)生軟件、固 件、硬件或它們的任意組合的方法、裝置或產(chǎn)品。所述操作可以實(shí)現(xiàn) 為保存在計(jì)算機(jī)可讀介質(zhì)中的代碼,其中處理器可以讀取和執(zhí)行計(jì)算 機(jī)可讀介質(zhì)中的代碼。計(jì)算機(jī)可讀介質(zhì)可以包括如磁性存儲介質(zhì)(例 如硬盤驅(qū)動器、軟盤、磁帶等)、光學(xué)存儲器(CD-ROM、 DVD、光 盤等)、易失性和非易失性存儲設(shè)備等(例如EEPROM、ROM、PROM、 RAM、 DRAM、 SRAM、閃存、固件、可編程邏輯器件等)。執(zhí)行上 述操作的代碼還可以實(shí)現(xiàn)為硬件邏輯器件(例如,集成電路芯片、可 編程門陣列(PGA)、特定用途集成電路(ASIC)等)。此外,執(zhí) 行上述操作的代碼可以在"傳送信號,,中實(shí)現(xiàn),其中傳送信號可以通過 空間或傳送介質(zhì)傳播,如光纖、銅線等。其中對代碼和邏輯進(jìn)行編碼 的傳送信號還包括無線信號、衛(wèi)星傳送、無線電波、紅外信號、藍(lán)牙 等。其中對代碼和邏輯進(jìn)行編碼的傳送信號能夠通過發(fā)送基站被發(fā) 送,并在接收基站被接收,其中在傳送信息中被編碼的代碼和邏輯可 以在接收或發(fā)送基站或設(shè)備上被解碼和存儲到硬盤或計(jì)算機(jī)可讀介 質(zhì)中。"產(chǎn)品,,包括其中代碼可以被執(zhí)行的計(jì)算機(jī)可讀介質(zhì)、硬件邏輯 器件和/或傳送信號。在其中對執(zhí)行所述操作實(shí)施例的代碼進(jìn)行編碼的 設(shè)備,可以包括計(jì)算機(jī)可讀介質(zhì)或硬件邏輯器件。當(dāng)然,本領(lǐng)域技術(shù) 人員將認(rèn)識到,在不背離本發(fā)明的范圍內(nèi)可以對這些設(shè)置進(jìn)行修改, 并且產(chǎn)品可以包括本領(lǐng)域公知的合適的信息承載介質(zhì)。圖l和圖2中的所述實(shí)施例示出了在每個中間面2a、 2b和存儲 服務(wù)器50a、 50b、 50c上的兩個處理器卡,其中連接到不同中間面/ 存儲服務(wù)器的一個或多個處理器卡的相同中間面上的每個處理器卡形成節(jié)點(diǎn)對i/o請求進(jìn)行操作。在一個替代實(shí)施例中,在每個中間面/存儲服務(wù)器上存在兩個以上的處理器卡,以允許形成兩個以上節(jié)點(diǎn), 其中每個節(jié)點(diǎn)包括來自不同中間面/存儲服務(wù)器的處理器卡。此外,在一個附加實(shí)施例中,節(jié)點(diǎn)可以包括在相同中間面/或存儲服務(wù)器上的兩 個處理器卡。此外,不是直接連接到中間面2a、 2b,處理器卡4a、 4b、 6a、 6b可以在具有1/0接口的單獨(dú)集中實(shí)現(xiàn),以與連接該處理器 卡框與另 一個處理器框或中間面的電纜匹配。在所述實(shí)施例中,節(jié)點(diǎn)管理對i/o設(shè)備的訪問,如存儲。在一個 替代實(shí)施例中,節(jié)點(diǎn)可以執(zhí)行處理操作而不是i/o操作,如計(jì)算操作或管理對外部設(shè)備如打印機(jī)、發(fā)送器等而不是存儲器的訪問。術(shù)語"一實(shí)施例"、"實(shí)施例"、"多個實(shí)施例"、"該實(shí)施例"、"這 些實(shí)施例"、"一個或多個實(shí)施例"、"一些實(shí)施例"和"一個實(shí)施例"意 味著"一個或多個(但不是全部)本發(fā)明的實(shí)施例",除非另有說明。術(shù)語"包括"、"包含"、"具有"和它們的各種變形都意味著"包括 但不限于",除非另有說明。所列舉的術(shù)語列表并不意味著任何或所有的術(shù)語都是相互排斥 的,除非另有說明。術(shù)語"一"、"一個"、"該,,都指"一個或以上",除非另有說明。彼此通信的設(shè)備不需要彼此持續(xù)通信,除非另有說明。此外,彼 此通信的設(shè)備可以通過一個或 一個以上的中間介質(zhì)直接或間接通信。對彼此相互通信的多個元件的實(shí)施例的描述并不意味著需要所 有這些元件。相反,描述了多個可選元件,說明本發(fā)明可以有各種各 樣的可能實(shí)施方式。此外,盡管處理步驟、方法步驟、算法等可以以順序地方式被描 述,但這些處理、方法和算法可以配置成以交錯的次序運(yùn)行。換句話 說,任何描述的序列或次序都不一定意味著步驟需要按照該次序執(zhí)行。這里描述的處理步驟可以以任何實(shí)際的次序被執(zhí)行。此外, 一些 步驟可以同步執(zhí)行。當(dāng)這里描述單個設(shè)備或產(chǎn)品時,顯而易見的是可以使用一個以上 的設(shè)備/產(chǎn)品(不管它們是否協(xié)作)來代替單個設(shè)備或產(chǎn)品。類似的, 當(dāng)在此描述了一個以上的設(shè)備或產(chǎn)品時(不管它們是否協(xié)作),顯而 易見的是可以使用單個設(shè)備/產(chǎn)品代替一個以上的設(shè)備或產(chǎn)品,或以不 同于示出數(shù)量的設(shè)備或產(chǎn)品代替示出的數(shù)量的設(shè)備或程序,該設(shè)備的 功能和/或特點(diǎn)可以可選擇地由并未在此明示出的具有這種功能和特 點(diǎn)的一個或多個其他設(shè)備來實(shí)現(xiàn)。因而,本發(fā)明的其他實(shí)施例不需要 包括設(shè)備本身。圖3、圖4、圖5和圖6示例的操作示出了按某一次序發(fā)生的某 一事件。在一個替代實(shí)施例中,某些操作可以以不同的次序被執(zhí)行、 修改或移除。此外,可以在上述邏輯中增加步驟,并仍然符合所述的 實(shí)施例。此外,自此描述的操作可以順序發(fā)生,某些操作也可以并行 處理。此外,可以由單個處理單元或分布式處理單元執(zhí)行操作。前述對本發(fā)明的多個實(shí)施例的描述是出于解釋和說明的目的。并 不意在對本發(fā)明進(jìn)行窮盡或?qū)⒈景l(fā)明限制在描述的精確形式。根據(jù)上 述教導(dǎo),可以有很多的修改和變化。本發(fā)明的范圍不應(yīng)當(dāng)被細(xì)節(jié)描述 所限制,而應(yīng)當(dāng)由附加的權(quán)利要求進(jìn)行限定。上述說明、例子和數(shù)據(jù) 提供了本發(fā)明產(chǎn)品和構(gòu)成使用的完整描述。由于在不背離本發(fā)明的精 神和范圍的情況下,可以有多種實(shí)施方式,因此本發(fā)明由下文附屬的 權(quán)利要求來進(jìn)行限定。
權(quán)利要求
1.一種系統(tǒng),包括第一節(jié)點(diǎn),所述第一節(jié)點(diǎn)包括多個處理器卡,每一個所述處理器卡包括處理器構(gòu)造,其中所述第一節(jié)點(diǎn)中的所述處理器卡通過它們的處理器構(gòu)造連接,第二節(jié)點(diǎn),所述第二節(jié)點(diǎn)包括多個處理器卡,每一個所述處理器卡包括處理器構(gòu)造,其中所述第二節(jié)點(diǎn)中的所述處理器卡通過它們的處理器構(gòu)造連接,以及多個通信接口,其中所述多個通信接口中的每一個接口連接所述第二節(jié)點(diǎn)中的一個處理器卡和所述第一節(jié)點(diǎn)的一個處理器卡,使所述連接的處理器卡之間能夠進(jìn)行通信,從而協(xié)調(diào)所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)中的所述連接的處理器卡之間的處理器操作。
2. 根據(jù)權(quán)利要求l的系統(tǒng),其中通信接口和處理器構(gòu)造使用不 同的技術(shù),其中利用所述第一處理器構(gòu)造和第二處理器構(gòu)造進(jìn)行通信 的所述第 一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)的每一個節(jié)點(diǎn)中的所述處理器卡,作 為第一和第二對稱多處理器。
3. 根據(jù)權(quán)利要求2的系統(tǒng),其中不同節(jié)點(diǎn)中的所述處理器卡不 利用所述處理器構(gòu)造技術(shù)彼此通信。
4. 根據(jù)權(quán)利要求l的系統(tǒng),還包括多個中間面,其中每一個中間面包括至少兩個處理器卡,并且其 中所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)的每一個包括至少一個來自每一個 中間面的處理器卡。
5. 根據(jù)權(quán)利要求4的系統(tǒng),其中每一個中間面都包括在存儲服務(wù)器中。
6. 根據(jù)權(quán)利要求4的系統(tǒng),其中每一個中間面包括能夠與外部 設(shè)備進(jìn)行通信的輸入/輸出(1/0)適配器,其中使用不同于所述處理器 構(gòu)造接口的通信接口 ,將每一個中間面中的每一個處理器卡連接到所 述中間面上的所述1/0適配器上。
7. 根據(jù)權(quán)利要求l的系統(tǒng),還包括電纜,其中所述電纜連接所述笫一節(jié)點(diǎn)上的處理器卡的所述處理 器構(gòu)造,并連接所述第二節(jié)點(diǎn)上的處理器卡的所述處理器構(gòu)造。
8. 根據(jù)權(quán)利要求l的系統(tǒng),還包括由所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)中每一個上的至少一個處理器 卡執(zhí)行的節(jié)點(diǎn)管理代碼執(zhí)行的操作,所述操作包括檢測所述第一節(jié)點(diǎn)或第二節(jié)點(diǎn)的其中一個上的處理器卡的故障;確定包括所述故障處理器卡的節(jié)點(diǎn)是否包括至少一個運(yùn)行 的處理器卡;響應(yīng)于確定所述節(jié)點(diǎn)包括至少一個運(yùn)行的處理器卡,對包括 所述故障處理器的所述第一節(jié)點(diǎn)或所述第二節(jié)點(diǎn)進(jìn)行重新配置,以在 沒有所述故障處理器的情況下進(jìn)行操作;響應(yīng)于確定所述節(jié)點(diǎn)不包括至少一個運(yùn)行的處理器卡執(zhí)行 切換操作,以使用不包括所述故障處理器卡的所述第一節(jié)點(diǎn)或所述第二節(jié)點(diǎn)o
9. 根據(jù)權(quán)利要求1的系統(tǒng),還包括由所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)中每一個上的至少一個處理器 卡執(zhí)行的節(jié)點(diǎn)管理代碼執(zhí)行的操作,所述操作包括檢測所述第一節(jié)點(diǎn)或所述第二節(jié)點(diǎn)其中一個上的一個處理 器卡的故障;執(zhí)行切換操作,以使用不包括所述故障處理器卡的所述第一 節(jié)點(diǎn)或所述第二節(jié)點(diǎn),
10. —種系統(tǒng),包括 第一中間面,其包含第一處理器卡和第二處理器卡,其中每一個處理器卡包括處理器構(gòu)造;第 一通信接口 ,所述通信接口連接所述第 一處理器卡和所述笫二 處理器卡,使所述第一處理器卡和所述第二處理器之間能夠進(jìn)行通信;以及第二中間面,包括第三處理器卡和第四處理器卡,其中每一個處理器卡包括處理器 構(gòu)造,其中所述第一處理器和所述第三處理器卡通過它們的處理器構(gòu) 造連接,并且其中所述第二處理器卡和所述第四處理器卡通過它們的 處理器構(gòu)造連接;以及第二通信接口,連接所迷第三處理器卡和所述第四處理器卡,使 所述第三處理器卡和第四處理器卡之間能夠進(jìn)行通信。
11. 根據(jù)權(quán)利要求10的系統(tǒng),其中通信接口和處理器構(gòu)造使用 不同的技術(shù),其中所述連接的第一處理器卡和第三處理器卡,以及所 述連接的第二處理器卡和第四處理器卡,作為第一和第二對稱多處理 器。
12. 根據(jù)權(quán)利要求10的系統(tǒng),其中每一個中間面都包括在存儲 服務(wù)器中。
13. 根據(jù)權(quán)利要求12的系統(tǒng),其中每一個中間面包括能夠與外 部設(shè)備進(jìn)行通信的輸入/輸出(1/0)適配器,其中使用不同于所述處理 器構(gòu)造的通信接口,將每一個中間面中的每一個處理器卡連接到所述 中間面上的所述I/O適配器上。
14. 根據(jù)權(quán)利要求10的系統(tǒng),還包括電纜,其中所述電纜連接所述第一和第三處理器卡的所述處理器 構(gòu)造,以及所述第二和第四處理器卡的所述處理器構(gòu)造。
15. 根據(jù)權(quán)利要求10的系統(tǒng),還包括由至少一個處理器卡執(zhí)行的節(jié)點(diǎn)管理代碼執(zhí)行的操作,所述操作包括檢測一個處理器卡的故障;確定所述故障處理器卡是否通過所述處理器構(gòu)造連接到一 個運(yùn)行的處理器卡;響應(yīng)于確定所述故障處理卡通過所述處理器構(gòu)造連接到所 述運(yùn)行的處理器卡,重新配置通過它們的處理器構(gòu)造連接的所述故障處理器和運(yùn)行處理器,以在沒有所述故障處理器的情況下進(jìn)行操作; 以及響應(yīng)于確定所述故障處理器卡沒有通過所述處理器構(gòu)造連 接到所述運(yùn)行的處理器卡,執(zhí)行切換操作,以使用通過它們的處理器 構(gòu)造連接的處理器卡,所述處理器卡沒有通過處理器構(gòu)造連接到所述 故障處理器卡。
16. 根據(jù)權(quán)利要求10的系統(tǒng),還包括由至少一個處理器卡執(zhí)行的節(jié)點(diǎn)管理代碼執(zhí)行的操作,所述操作包括檢測一個處理器卡的故障;執(zhí)行切換操作,以使用通過它們的處理器構(gòu)造連接的處理器 卡,所述處理器卡沒有通過處理器構(gòu)造連接到所述故障處理器卡。
17. —種方法,包括配置包括多個處理器卡的第 一節(jié)點(diǎn),每一個所迷處理器卡包括處 理器構(gòu)造,所述處理器卡通過它們的處理器構(gòu)造連接,配置包括多個處理器卡的第二節(jié)點(diǎn),每一個所述處理器卡包括處 理器構(gòu)造,所述處理器卡通過它們的處理器構(gòu)造連接,配置多個通信接口 ,其中所述多個通信接口中的每一個接口連接 所述笫二節(jié)點(diǎn)中的一個處理器卡和所述第一節(jié)點(diǎn)中的一個處理器卡, 使所述連接的處理器卡之間能夠進(jìn)行通信,從而協(xié)調(diào)所述第一節(jié)點(diǎn)和 所述第二節(jié)點(diǎn)中的所述連接的處理器卡之間的處理器操作。
18. 根據(jù)權(quán)利要求17的方法,其中所述通信接口和所述處理器 構(gòu)造使用不同的技術(shù),其中對所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)以及所述 處理器構(gòu)造進(jìn)行配置包括配置所述笫一節(jié)點(diǎn)和所述第二節(jié)點(diǎn),以分別作為第一和第二對稱多處理器。
19. 根據(jù)權(quán)利要求17的方法,其中配置所述第一節(jié)點(diǎn)和所述笫 二節(jié)點(diǎn)以及處理器構(gòu)造還包括配置多個中間面,其中每一個中間面包括至少兩個處理器卡,并 且其中所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)中的每一個包括至少一個來自每個中間面處理器卡。
20. 根據(jù)權(quán)利要求17的方法,還包括檢測所述第一節(jié)點(diǎn)或第二節(jié)點(diǎn)的其中一個上的一個處理器卡的故障;確定包括所述故障處理器卡的所述節(jié)點(diǎn)是否至少包括一個運(yùn)行 的處理器卡;響應(yīng)于確定所迷節(jié)點(diǎn)至少包括一個運(yùn)行的處理器卡,重新配置包 括所述故障處理器卡的所述第一節(jié)點(diǎn)或所述第二節(jié)點(diǎn),以在沒有所述 故障處理器卡的情況下進(jìn)行操作;以及響應(yīng)于確定所述節(jié)點(diǎn)不包括至少一個運(yùn)行的處理器卡,執(zhí)行切換 以使用不包括所述故障處理器卡的所述笫一節(jié)點(diǎn)或所述第二節(jié)點(diǎn)。
21. 根據(jù)權(quán)利要求17的方法,還包括檢測所述第一節(jié)點(diǎn)或第二節(jié)點(diǎn)其中一個中的一個處理器卡的故障;執(zhí)行切換以使用不包括所述故障處理器卡的所述第一節(jié)點(diǎn)或所 述第二節(jié)點(diǎn)。
全文摘要
提供一種系統(tǒng),該系統(tǒng)包括第一節(jié)點(diǎn)、第二節(jié)點(diǎn)和多個通信接口,所述第一節(jié)點(diǎn)包括多個處理器卡,每一個所述處理器卡包括處理器構(gòu)造,其中所述第一節(jié)點(diǎn)中的所述處理器卡通過它們的處理器構(gòu)造連接,所述第二節(jié)點(diǎn)包括多個處理器卡,每一個所述處理器卡包括處理器構(gòu)造,其中所述第二節(jié)點(diǎn)中的所述處理器卡通過它們的處理器構(gòu)造連接,其中所述多個通信接口中的每一個接口連接所述第二節(jié)點(diǎn)中的一個處理器卡和所述第一節(jié)點(diǎn)的一個處理器卡,使所述連接的處理器卡之間能夠進(jìn)行通信,從而協(xié)調(diào)所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)中的所述連接的處理器卡之間的處理器操作。
文檔編號G06F15/16GK101324877SQ20081012559
公開日2008年12月17日 申請日期2008年6月13日 優(yōu)先權(quán)日2007年6月14日
發(fā)明者安德魯·D·瓦爾斯, 小威廉·G·沃多恩 申請人:國際商業(yè)機(jī)器公司