專利名稱:使用串行連接總線的計(jì)算機(jī)系統(tǒng)及多cpu互連方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種由串行連接總線互連的多個(gè)CPU單元構(gòu)成的計(jì)算機(jī)系統(tǒng),以及通過串行連接總線互連多個(gè)CPU單元的方法,更具體地,涉及如下一種計(jì)算機(jī)系統(tǒng),其中多個(gè)單元由串行連接交換器進(jìn)行互連,該串行連接交換器具有為系統(tǒng)初始化而設(shè)置的上游端口;還涉及用于通過串行連接總線互連多個(gè)CPU單元的方法。
背景技術(shù):
近年來,由于電子數(shù)據(jù)使用的擴(kuò)展,由計(jì)算機(jī)系統(tǒng)處理的數(shù)據(jù)量急劇增長(zhǎng)。為了滿足這樣的需求,目前正在開發(fā)用于在計(jì)算機(jī)系統(tǒng)內(nèi)進(jìn)行互連的互連技術(shù)(內(nèi)部連接),從而獲得高速且大容量的數(shù)據(jù)傳輸。
在LSI和印刷電路板中都采用了這種互連技術(shù),并且該技術(shù)被廣泛用作計(jì)算機(jī)系統(tǒng)內(nèi)的互連裝置。一個(gè)已得到廣泛使用的典型示例是用于并行數(shù)據(jù)傳輸?shù)腜CI(外圍設(shè)備互連)總線。
圖9示出了采用傳統(tǒng)PCI總線的計(jì)算機(jī)系統(tǒng)的配置。CPU(中央處理單元)100經(jīng)由存儲(chǔ)控制器102連接到存儲(chǔ)器(主存儲(chǔ)器)104和輸入/輸出控制器(I/O控制器)104。該I/O控制器104具有多個(gè)PCI總線108-1、108-2。PCI總線108-1、108-2具有PCI槽106-1至106-4。
在這些PCI槽106-1至106-4中,插入其上安裝有PCI設(shè)備(主要是外圍設(shè)備)的卡。該P(yáng)CI總線的工作頻率范圍從33MHz到133MHz,具有32位和64位兩種類型的總線寬度。每槽兩個(gè)方向上的總的總線帶寬最大為每秒1千兆字節(jié)(gigabyte per second,GB/s)與這種并行PCI總線相比,串行式互連由于除高速和大容量外,安裝成本還很低,因此被認(rèn)為在近期將成為主流。具體地,PCI-SIG(PCI特殊興趣組PCI Special Interest Group,)繼PCI總線之后已經(jīng)開發(fā)出了PCI Express總線(一種串行互連總線)。PCI Express總線被期待可以用于從臺(tái)式計(jì)算機(jī)到大規(guī)模服務(wù)器的各種計(jì)算機(jī)系統(tǒng)及存儲(chǔ)系統(tǒng)。
圖10示出了采用傳統(tǒng)PCI Express總線的計(jì)算機(jī)系統(tǒng)的配置圖。CPU100經(jīng)由存儲(chǔ)控制器102連接到存儲(chǔ)器104。該存儲(chǔ)控制器102具有多個(gè)PCI Express總線110-1至110-4。其上安裝有PCI Express總線設(shè)備的卡可以安裝在各PCI Express總線槽106-1至106-4上。
這些PCI Express總線110-1至110-4為串行傳輸總線,其中每個(gè)都具有相互分開的上行路徑和下行路徑。由于類型不同,信號(hào)線總數(shù)為4。為了串行執(zhí)行數(shù)據(jù)包傳輸,每槽帶寬在一個(gè)方向上為1GB/s,這是PCI總線所提供帶寬的兩倍。
如此,由于PCI Express總線中的信號(hào)線數(shù)量少于PCI總線中的該數(shù)量,因此可以減少芯片組、基板上的電線并減小連接器尺寸,其中每項(xiàng)都有助于降低成本。同時(shí),提供的帶寬超過PCI帶寬的兩倍,可以滿足高速和高性能的要求。
該P(yáng)CI Express總線邏輯上繼承了PCI總線架構(gòu)(外圍設(shè)備的連接)。根據(jù)PCI Express總線標(biāo)準(zhǔn),與USB集線器相類似,用于切換存儲(chǔ)控制器中的連接路徑的交換器中的一個(gè)端口具有特殊任務(wù),如用于對(duì)整個(gè)系統(tǒng)進(jìn)行初始化,該端口稱為“上游端口”。(例如,參見日本特開2001-229119號(hào)公報(bào))。
在正常情況下,在圖10所示的配置中,一個(gè)CPU 100連接到該上游端口以使用PCI Express總線(即,用于外圍設(shè)備的串行互連總線),因?yàn)橐粋€(gè)CPU 100連接到外圍設(shè)備。
如上所述,期望諸如PCI Express總線的串行互連可以作為高性能低成本互連用于各種領(lǐng)域中。然而,最初,PCI Express總線用于將外圍設(shè)備連接到CPU。當(dāng)PCI Express總線用于多個(gè)CPU的互連時(shí),當(dāng)打算不進(jìn)行任何修改而采用PCI Express總線時(shí)就存在需要解決的問題。
即,當(dāng)使用具有多個(gè)端口的PCI Express交換器連接多個(gè)CPU節(jié)點(diǎn)時(shí),對(duì)于連接到該交換器的上游端口的特定CPU節(jié)點(diǎn)分配特權(quán)。沒有該CPU節(jié)點(diǎn),則該P(yáng)CI Express交換器無法執(zhí)行初始化操作(鏈接建立)。
同時(shí),在由多個(gè)CPU節(jié)點(diǎn)構(gòu)成的服務(wù)器或存儲(chǔ)系統(tǒng)中,為了增加靈活性,可以將CPU節(jié)點(diǎn)視為多個(gè)單元,單元的數(shù)量可以根據(jù)產(chǎn)品配置來增加或減少。因此,如果在該系統(tǒng)中不存在該特殊CPU,則不能操作交換器,結(jié)果導(dǎo)致無法操作系統(tǒng)。所以隨意增加或減少CPU節(jié)點(diǎn)變得很困難。應(yīng)盡可能避免這種情況。
此外,當(dāng)連接到上游端口的CPU節(jié)點(diǎn)中出現(xiàn)故障時(shí),無法操作PCIExpress交換器,這也導(dǎo)致難于進(jìn)行系統(tǒng)操作。
發(fā)明內(nèi)容
因此,本發(fā)明的一個(gè)目的是提供一種使用串行連接總線的計(jì)算機(jī)系統(tǒng),使得可以通過隱蔽串行連接交換器上游端口的特殊性,實(shí)現(xiàn)經(jīng)由串行連接交換器在多個(gè)CPU節(jié)點(diǎn)間進(jìn)行互連;還提供了一種使用串行連接總線互連多個(gè)CPU單元的方法。
本發(fā)明的另一目的是提供一種使用串行連接總線的計(jì)算機(jī)系統(tǒng),即使當(dāng)CPU節(jié)點(diǎn)沒有連接到串行連接交換器的上游端口,也能夠建立與其它連接到串行連接交換器的CPU節(jié)點(diǎn)的鏈接;還提供了一種使用串行連接總線互連多個(gè)CPU單元的方法。
本發(fā)明的又一目的是提供一種使用串行連接總線的計(jì)算機(jī)系統(tǒng),即使當(dāng)連接到串行連接交換器的上游端口的CPU節(jié)點(diǎn)不能正常工作時(shí),也使得能夠建立與其它連接到串行連接交換器的CPU節(jié)點(diǎn)的鏈接;還提供了一種使用串行連接總線互連多個(gè)CPU單元的方法。
為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的計(jì)算機(jī)系統(tǒng)包括多個(gè)CPU單元和一交換器單元,該交換器單元具有多個(gè)端口,該交換器單元用于互連各個(gè)通過串行連接總線連接到這些端口的CPU單元。該交換器單元包括串行連接交換器,其具有被設(shè)定為上游端口的多個(gè)端口之一;以及管理控制器,其判斷上游端口的鏈接建立,并且當(dāng)鏈接建立失敗時(shí),該管理控制器用作該串行連接交換器的上游設(shè)備。
根據(jù)本發(fā)明的互連方法是通過串行連接總線經(jīng)由具有多個(gè)端口的交換器單元對(duì)多個(gè)CPU單元進(jìn)行互連的方法。該方法包括以下步驟判斷是否在串行連接交換器(其中多個(gè)端口之一被設(shè)定為上游端口)和串行連接總線的連接目的地之間建立了鏈接;以及當(dāng)鏈接建立失敗時(shí),由用作串行鏈接交換器的上游設(shè)備的管理控制器執(zhí)行鏈接建立序列。
根據(jù)本發(fā)明,優(yōu)選地,串行連接總線為PCI Express總線,并且串行連接交換器為PCI Express交換器。
根據(jù)本發(fā)明,優(yōu)選地,交換器單元還包括切換電路,該切換電路將串行連接交換器切換到管理控制器或交換器單元的外部端口。當(dāng)判定鏈接建立失敗時(shí),管理控制器對(duì)切換電路進(jìn)行切換,以使其連接到管理控制器。
根據(jù)本發(fā)明,優(yōu)選地,管理控制器解除串行連接交換器的復(fù)位,并且串行連接交換器響應(yīng)于該復(fù)位解除,對(duì)于連接到上游端口的外部單元執(zhí)行鏈接建立序列。
根據(jù)本發(fā)明,優(yōu)選地,連接到交換器單元的各CPU單元包括第二管理控制器,其經(jīng)由通信路徑連接到交換器單元的管理控制器。交換器單元的管理控制器通過與各CPU單元的第二管理控制器的通信,進(jìn)行交換器單元與各個(gè)CPU單元之間的同步,并解除復(fù)位。
根據(jù)本發(fā)明,優(yōu)選地,當(dāng)判定成功地建立了鏈接時(shí),交換器單元的管理控制器經(jīng)由通信鏈路向CPU單元的第二管理控制器報(bào)告該成功,并且CPU單元的第二管理控制器根據(jù)該報(bào)告起動(dòng)CPU單元。
根據(jù)本發(fā)明,優(yōu)選地,切換電路包括選擇電路,選擇串行連接交換器的輸入和輸出以連接到管理控制器或交換器單元的外部端口;以及捆綁(strap)端口,其連接到選擇電路,從交換器單元的管理控制器接收選擇信號(hào)。
根據(jù)本發(fā)明,優(yōu)選地,切換電路包括選擇電路,選擇串行連接交換器的輸入和輸出以連接到管理控制器或交換器單元的外部端口;以及內(nèi)部寄存器,其連接到選擇電路,從交換器單元的管理控制器接收選擇信號(hào)。
根據(jù)本發(fā)明,優(yōu)選地,各個(gè)CPU單元包括存儲(chǔ)服務(wù)器,該存儲(chǔ)服務(wù)器控制多個(gè)存儲(chǔ)設(shè)備。各存儲(chǔ)服務(wù)器經(jīng)由交換器單元交換數(shù)據(jù)。
根據(jù)本發(fā)明,優(yōu)選地,各個(gè)存儲(chǔ)服務(wù)器將從連接到各存儲(chǔ)服務(wù)器的主計(jì)算機(jī)接收到的寫入數(shù)據(jù)經(jīng)由交換器單元傳輸?shù)搅硪淮鎯?chǔ)服務(wù)器。
通過以下結(jié)合附圖對(duì)實(shí)施例的說明,本發(fā)明的其它范圍和特征將更為顯而易見。
圖1示出了根據(jù)本發(fā)明一實(shí)施例的計(jì)算機(jī)系統(tǒng)的配置圖。
圖2示出了圖1所示的CPU單元之間的互連操作的說明圖。
圖3示出了包括圖1所示的路由的地址映射的說明圖。
圖4示出了圖1中所示的交換器單元的配置圖。
圖5示出了圖4中所示的交換中繼器的配置圖。
圖6示出了圖1和圖4中所示配置中的初始化處理的流程圖。
圖7示出了圖7中所示的初始化處理序列的說明圖。
圖8示出了根據(jù)本發(fā)明另一實(shí)施例的計(jì)算機(jī)系統(tǒng)的配置圖。
圖9示出了使用傳統(tǒng)PCI總線的計(jì)算機(jī)系統(tǒng)的框圖。
圖10示出了使用傳統(tǒng)PCI Express總線的計(jì)算機(jī)系統(tǒng)的配置圖。
具體實(shí)施例方式
下面參照?qǐng)D表,按照計(jì)算機(jī)系統(tǒng)、串行連接總線的初始化及其它實(shí)施例的順序說明本發(fā)明的優(yōu)選實(shí)施例。
計(jì)算機(jī)系統(tǒng)圖1是根據(jù)本發(fā)明一實(shí)施例的計(jì)算機(jī)系統(tǒng)的配置圖;圖2是使用圖1中所示的PCI Express交換器的連接操作的說明圖;以及圖3是從圖1所示的DMA觀察到的每個(gè)CPU單元的地址映射圖。盡管圖1所示的實(shí)施例表示了作為示例計(jì)算機(jī)系統(tǒng)的盤陣列單元,但本發(fā)明的應(yīng)用領(lǐng)域并不限于盤陣列單元。
如圖1所示,盤陣列單元1包括四個(gè)CPU單元(節(jié)點(diǎn))4-0至4-3以及兩個(gè)交換器單元3-1、3-2。CPU 4-0至4-3經(jīng)由PCI Express總線54連接到交換器單元3-1、3-2。
四個(gè)CPU單元4-0至4-3構(gòu)成了存儲(chǔ)控制模塊(CM),各個(gè)CPU單元具有在主機(jī)接口(HI)48和磁盤接口(DI)50中的多個(gè)端口。主機(jī)端口48根據(jù)所連接主機(jī)的類型和數(shù)據(jù)傳輸目的,使用如光纖通道、iSCSI、ESCON等的各種協(xié)議。
盤接口50通過電纜52連接到多個(gè)盤盒2-1至2-4。根據(jù)所使用的盤類型,在盤接口50中使用諸如光纖通道、串行ATA的協(xié)議。在各個(gè)盤盒2-1至2-4上都安裝有多個(gè)磁盤存儲(chǔ)驅(qū)動(dòng)器(例如,15個(gè)硬盤驅(qū)動(dòng)器)。
此外,各個(gè)CPU單元4-0至4-3包括CPU40、存儲(chǔ)器(具有高速緩存區(qū))42、DMA(直接存儲(chǔ)訪問)電路46和存儲(chǔ)控制器(MCH)44。通過該存儲(chǔ)控制器44,CPU 40、存儲(chǔ)器(具有高速緩存區(qū))42、DMA電路46、主機(jī)接口48和盤接口50互連。
此外,主板管理控制器(BMC)32-0、32-1、32-2和32-3分別安裝在CPU單元4-0至4-3上。而且,主板管理控制器30安裝在各個(gè)交換器單元3-1、3-2上。BMC 32-0至32-3和30通過通信信道(通信路徑)60(專為其間的通信而設(shè))相互連接。根據(jù)本發(fā)明的該實(shí)施例,各個(gè)BMC與Ethernet(注冊(cè)商標(biāo))(100Base-TX)連接以進(jìn)行上述通信。
主板管理控制器(BMC)32-0至32-3和30對(duì)安裝在主板上的各個(gè)設(shè)備(這里為單元4-0至4-3、3-1和3-2)執(zhí)行復(fù)位解除、初始化等,這將在下面進(jìn)行說明。
接下了,說明盤陣列單元1的操作。各個(gè)CPU單元4-0至4-3通過主機(jī)接口48從主計(jì)算機(jī)接收讀取/寫入命令,并執(zhí)行數(shù)據(jù)讀取/寫入處理。即,各個(gè)CPU單元4-0至4-3按照寫入請(qǐng)求將從主計(jì)算機(jī)接收的用戶數(shù)據(jù)寫入磁盤,并按照從主計(jì)算機(jī)接收到的讀取請(qǐng)求從盤讀取用戶數(shù)據(jù)。
此時(shí),各個(gè)CPU單元4-0至4-3用作各主計(jì)算機(jī)的盤高速緩沖存儲(chǔ)器。更具體地,各個(gè)CPU單元4-0至4-3并不立即將從各主計(jì)算機(jī)接收到的數(shù)據(jù)寫入磁盤。而是各個(gè)CPU單元4-0至4-3將數(shù)據(jù)存入存儲(chǔ)器42中的高速緩沖存儲(chǔ)器區(qū)中。當(dāng)接收到讀取請(qǐng)求時(shí),各個(gè)CPU單元4-0至4-3通過從存儲(chǔ)器42而不是從盤讀取數(shù)據(jù)來進(jìn)行應(yīng)答。這樣,從主計(jì)算機(jī)的角度看,可以加快響應(yīng)速度。
當(dāng)在存儲(chǔ)器42的高速緩沖存儲(chǔ)器區(qū)中不存在讀取請(qǐng)求的用戶數(shù)據(jù)時(shí),相關(guān)的CPU單元4-0至4-3通過盤接口50向其中存儲(chǔ)有相關(guān)數(shù)據(jù)的盤驅(qū)動(dòng)器發(fā)出讀取請(qǐng)求,從該盤驅(qū)動(dòng)器讀取數(shù)據(jù)。CPU單元將讀出的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器42的高速緩沖存儲(chǔ)器區(qū)中,然后,將讀出的數(shù)據(jù)傳送到主計(jì)算機(jī)。
類似地,至于存儲(chǔ)在存儲(chǔ)器42的高速緩沖存儲(chǔ)器區(qū)中的寫入數(shù)據(jù),根據(jù)CPU單元的內(nèi)部進(jìn)度表,經(jīng)由盤接口50執(zhí)行向其中待存儲(chǔ)數(shù)據(jù)的盤驅(qū)動(dòng)器進(jìn)行寫入的寫入處理(稱為回寫)。
如上所述,把待保存在盤中的數(shù)據(jù)高速緩存到存儲(chǔ)器42中能夠?qū)崿F(xiàn)高響應(yīng)速度。然而,與盤2-1相比,存儲(chǔ)器42為可靠性相當(dāng)差的存儲(chǔ)單元。另外,由于存儲(chǔ)器42為易失性存儲(chǔ)器,在斷電等的情況下存在數(shù)據(jù)丟失的危險(xiǎn)。
為了避免這樣的風(fēng)險(xiǎn),將高速緩存數(shù)據(jù)映射到盤陣列單元1。也就是,將一個(gè)CPU單元(稱為“主”CPU單元)接收的用戶數(shù)據(jù)存儲(chǔ)在相關(guān)CPU單元的存儲(chǔ)器42中,并且還在另一CPU單元(稱為“副”CPU單元)的存儲(chǔ)器42中進(jìn)行復(fù)制。
利用上述方法,即使當(dāng)主CPU單元的存儲(chǔ)器42中的數(shù)據(jù)丟失時(shí),也可以使用存儲(chǔ)在副CPU單元的存儲(chǔ)器42中的數(shù)據(jù)來響應(yīng)主計(jì)算機(jī)的請(qǐng)求。
當(dāng)該CPU單元將數(shù)據(jù)復(fù)制到其它CPU單元的存儲(chǔ)器42中時(shí),通過使用DMA功能經(jīng)由交換器單元3-1(3-2)傳輸數(shù)據(jù)包。當(dāng)DMA電路46傳輸數(shù)據(jù)時(shí),將數(shù)據(jù)和地址打包到單個(gè)數(shù)據(jù)包中。該地址包括傳輸目的地的CPU單元中的存儲(chǔ)器地址,和交換器單元中使用的路由地址。
參照?qǐng)D2,下面將以CPU單元4-1將數(shù)據(jù)寫入CPU單元4-3的存儲(chǔ)器42中的情況為例,說明由上述DMA功能處理的兩個(gè)地址。
各個(gè)CPU單元4-0至4-3中的存儲(chǔ)器地址由40位(通過其可對(duì)一千吉字節(jié)進(jìn)行編址,這個(gè)容量即使在大規(guī)模存儲(chǔ)系統(tǒng)中也是足夠的)指定。
交換器單元3-1(3-2)中的交換器10可以處理64位地址。進(jìn)行如下構(gòu)造接收到的數(shù)據(jù)包中的傳送目的地地址由64位地址的前2位(地址[63:62])決定。當(dāng)?shù)刂穂63:62]為“0x00”時(shí),將數(shù)據(jù)包傳送到CPU單元4-0。類似地,當(dāng)?shù)刂窞椤?x01”時(shí),將數(shù)據(jù)包傳送到CPU單元4-1,當(dāng)?shù)刂窞椤?x02”時(shí),傳送到CPU單元4-2,并且當(dāng)?shù)刂窞椤?x03”時(shí),傳送到CPU單元4-3。
在圖2所示的示例中,當(dāng)將數(shù)據(jù)寫入地址為“0012 3456 7800”的CPU單元4-3的存儲(chǔ)器中時(shí),CPU單元4-1中的DMA電路46將“0xC000 0012 3456 7800”指定為要添加到數(shù)據(jù)包中的地址。交換器單元3-1中的交換器10解析數(shù)據(jù)包地址,并使用該地址的前2位作為路由地址,將數(shù)據(jù)包傳輸?shù)紺PU單元4-3。
當(dāng)接收到數(shù)據(jù)包時(shí),CPU單元4-3中的DMA電路46提取出該地址的后40位,即僅“123 456 7800”。然后,DMA電路46將提取出的地址傳到存儲(chǔ)控制器44。從而,存儲(chǔ)控制器44將附隨的復(fù)制數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器42的上述地址中。
圖3是從各個(gè)CPU單元4-0至4-3(0-3)的DMA察看到的地址映射。即,為了使用前2位作為路由地址,設(shè)定如下所示的地址范圍與CPU(CM)單元4-0至4-3(0-3)的組合。
(0x0000_0000_0000_0000-0x3FFF_FFFF_FFFF_FFFF)…CM單元0(0x4000_0000_0000_0000-0x7FFF_FFFF_FFFF_FFFF)…CM單元1(0x8000_0000_0000_0000-0xBFFF_FFFF_FFFF_FFFF)…CM單元2(0xC000_0000_0000_0000-0xFFFF_FFFF_FFFF_FFFF)…CM單元3串行連接交換器的初始化由于對(duì)于切換操作而設(shè)置的上述交換器10為PCI Express交換器,所以必須通過從上游端口起動(dòng)的鏈接建立序列操作,對(duì)于建立到各個(gè)CPU單元4-0至4-3的鏈接進(jìn)行初始化。
圖4是交換器單元3-1的框圖,而圖5是圖4所示的交換中繼器34的電路圖。如圖4所示,PCI Express交換器單元3-1包括進(jìn)行上述操作的PCI Express交換器10、BMC 30和交換中繼器34。圖1所示的其它PCI Express交換器單元3-2具有與PCI Express交換器單元3-1相同的配置。
BMC 30由處理器構(gòu)成,且包括PCI Express端口、一個(gè)GPIO(通用輸入/輸出)和復(fù)位輸出端口。PCI Express端口連接到交換中繼器34的一個(gè)端口。GPIO連接到交換中繼器34的選擇(SEL)端口。復(fù)位輸出端口連接到PCI Express交換器10的復(fù)位端口。而且,BMC 30接收PCIExpress交換器10的上游端口上的輸入/輸出信號(hào),并監(jiān)控上游端口的鏈接建立狀態(tài)。
PCI Express交換器10具有四個(gè)端口,每個(gè)都連接到各CPU單元4-0至4-3(如圖4中的CPU 0-3所示)。這里,至于僅到CPU 4-0的連接,交換中繼器34介入PCI Express交換器10與CPU 4-0之間。換言之,交換中繼器34介入上游端口。該交換中繼器34從CPU單元4-0(0)和BMC 30之間選擇交換器連接的對(duì)方。
如圖5所示,交換中繼器34為并不影響協(xié)議的IC。如在PCI Ex交換中繼器34具有以2.5千兆比特每秒(Gbps)接收高速差分信號(hào)(press標(biāo)準(zhǔn)中規(guī)定的)、并輸出具有相同的2.5Gbps速度的差分信號(hào)的功能。該交換中繼器34主要為波形整形而設(shè),并且也具有靜態(tài)切換功能。交換中繼器34可以通過將選擇(SEL)端口切換到“0”或“1”來選擇兩個(gè)輸入/輸出中的任意一個(gè)。
參照?qǐng)D5,具體說明上述內(nèi)容。對(duì)于至交換器10的上行方向,交換中繼器34包括差分放大器340、342,用于當(dāng)分別收到來自BMC 30和CPU單元4-0(0)的成對(duì)信號(hào)時(shí)生成差分輸出;選擇器344,用于選擇差分放大器340、342的輸出中的一個(gè);以及轉(zhuǎn)換器346,用于將選擇器344的輸出轉(zhuǎn)換為一對(duì)信號(hào)。
此外,對(duì)于自交換器10的下行方向,交換中繼器34包括差分放大器350,用于當(dāng)接收到來自交換器10的一對(duì)信號(hào)時(shí)生成差分輸出;選擇器352,用于選擇差分放大器350的輸出的傳輸目的地;以及轉(zhuǎn)換器354、356,分別用于將選擇器352的輸出轉(zhuǎn)換為成對(duì)信號(hào),并輸出到BMC30或CPU單元4-0(0)。上述選擇器344、352由選擇(SEL)端口上的發(fā)自BMC 30的選擇信號(hào)來選擇。
接下來,說明初始化處理。初始化處理使用設(shè)置在交換器單元3-1的BMC 30以及分別設(shè)置在CPU單元4-0至4-3中的BMC 32-0至32-3。圖6是交換器單元3-1(3-2)和CPU單元4-0至4-3的初始化處理流程圖,而圖7是圖6中所示的操作序列的說明圖。參照?qǐng)D7說明圖6所示的初始化處理。
(S10)當(dāng)在系統(tǒng)中接通電源時(shí),單元3-1、3-2以及4-0至4-3中的BMC 30、32-0至32-3開始運(yùn)行。
(S12)交換器單元3-1(3-2)中的BMC 30對(duì)于CPU單元4-0(0)設(shè)置交換器10的上游端口。即,BMC 30在交換中繼器34的選擇(SEL)端口上提供CPU 4-0(例如“0”)的選擇信號(hào),從而指示選擇CPU 4-0(0)。更具體地,如上所述,通過設(shè)定,連接到交換器10的上游端口的交換中繼器34可以選擇待連接到交換器10的CPU單元4-0和交換器單元3-1中的BMC 30中的一個(gè)。在初始條件下,交換中繼器34選擇CPU 4-0。
(S14)接下來,在各單元3-1、3-2以及4-0至4-3中的BMC 30和32-0至32-3解除各單元3-1、3-2以及4-0至4-3的復(fù)位,使用通信路徑60相互同步。
(S16)如果連接到上游端口的CPU單元4-0正常運(yùn)行,則交換器10的PCI Express鏈接功能和CPU單元4-0中的PCI Express鏈接功能(更詳細(xì)地,DMA電路46)自動(dòng)起動(dòng)各個(gè)初始化序列。從而建立鏈接,并且該鏈接變成運(yùn)行的。在上游端口建立了以上鏈接之后,交換器10中除上游端口外的端口執(zhí)行各初始化序列。因此,完成鏈接建立,并且整個(gè)系統(tǒng)變成運(yùn)行的。
如果CPU 4-0不存在或不能正常工作,則不能建立交換器10與CPU單元4-0之間的PCI Express鏈接。結(jié)果,交換器10中的其余端口無法起動(dòng)初始化序列,并且整個(gè)系統(tǒng)不能工作。
(S18)為了避免上述情況,在解除了復(fù)位狀態(tài)后,交換器單元3-1中的BMC 30開始監(jiān)控是否已經(jīng)建立了與交換器10的鏈接。即,在解除了復(fù)位狀態(tài)后,BMC 30監(jiān)控“鏈接建立狀態(tài)輸出信號(hào)”,該信號(hào)要出現(xiàn)在交換器10的上游端口上的輸入/輸出信號(hào)中。
(S20)BMC 30判斷該鏈接建立狀態(tài)輸出信號(hào)是否表示建立了鏈接。當(dāng)判定表示鏈接建立時(shí),處理進(jìn)行到步驟S28。
(S22)另一方面,如果BMC 30判定鏈接未建立,則BMC 30判斷監(jiān)控計(jì)時(shí)器中的從復(fù)位解除時(shí)刻開始的時(shí)間是否超時(shí)。如果尚未超時(shí),則處理返回到步驟S20。
(S24)當(dāng)BMC 30判定出現(xiàn)超時(shí),即,當(dāng)沒有在特定時(shí)間周期內(nèi)建立鏈接時(shí),BMC 30設(shè)置交換中繼器34以將BMC 30本身連接到上游端口。BMC 30也再次對(duì)交換器10進(jìn)行復(fù)位。即,BMC 30將BMC 30的選擇信號(hào)(例如,“1”)輸出到交換中繼器34的選擇(SEL)端口,從而使交換選擇器344、352切換至BMC 30側(cè)(也就是,將上游端口連接到BMC 30)。而且,BMC 30將復(fù)位信號(hào)輸出到交換器10。
(S26)當(dāng)解除復(fù)位時(shí),與步驟S16類似,在交換器10和BMC 30中起動(dòng)鏈接初始化序列。然后,BMC 30以類似的方式監(jiān)控鏈接建立狀態(tài)。
(S28)因此,建立了BMC 30與交換器單元3-1的PCI Express交換器10之間的鏈接,并且隨后建立交換器單元3-1與CPU單元4-1至4-3之間的PCI Express鏈接。結(jié)果,系統(tǒng)變成運(yùn)行的。當(dāng)判定鏈接已經(jīng)建立時(shí),BMC 30經(jīng)由通信路徑60通知各CPU單元4-1至4-3的BMC 32-1至32-3鏈接建立。當(dāng)從交換器單元3-1的BMC 30收到通知時(shí),CPU單元4-1至4-3的BMC 32-1至32-3分別起動(dòng)CPU單元4-1至4-3。例如,通過實(shí)現(xiàn)CPU 40中的DMA功能來執(zhí)行這些起動(dòng)操作。
這樣,BMC監(jiān)控在CPU單元的復(fù)位解除后在執(zhí)行交換器和CPU單元的鏈接序列期間,是否已經(jīng)建立了與交換器10的鏈接。如果不能在特定時(shí)間期間內(nèi)建立鏈接,則BMC將BMC自身連接到上游端口,并代替CPU單元執(zhí)行鏈接序列。
因此,即使CPU單元沒有連接到上游端口,或所連接的CPU單元發(fā)生故障,仍可以使用交換器10正常建立至其它CPU的鏈接,且通過使用交換器10使系統(tǒng)可以運(yùn)行。
即,在具有使用PCI Express交換器結(jié)合在一起的多個(gè)CPU節(jié)點(diǎn)的計(jì)算機(jī)系統(tǒng)中,可以隱蔽適合PCI Express標(biāo)準(zhǔn)的上游端口的特殊性,并且對(duì)應(yīng)于CPU節(jié)點(diǎn)的增加或刪減系統(tǒng)可進(jìn)行工作。
此外,通過在上游端口上設(shè)置交換中繼器34,和通過在BMC 30上設(shè)置鏈接建立監(jiān)控功能、交換中繼器34的切換功能和鏈接序列功能,可以很容易以低成本構(gòu)建系統(tǒng)。
其它實(shí)施例圖8是根據(jù)本發(fā)明另一實(shí)施例的計(jì)算機(jī)系統(tǒng)配置。如圖8所示,計(jì)算機(jī)系統(tǒng)由八個(gè)CPU單元(節(jié)點(diǎn))0-7,和一個(gè)交換器單元3-1構(gòu)成。CPU單元(節(jié)點(diǎn))0-7通過PCI Express總線54連接到交換器單元3-1。
此外,各個(gè)CPU單元0-7包括CPU 40、存儲(chǔ)器42和具有DMA(直接存儲(chǔ)訪問)電路的存儲(chǔ)控制器(MCH)44。
在本實(shí)施例中,與圖1、4和5相同,在交換器單元3-1中設(shè)置有BMC 30和交換中繼器34,并且在各CPU節(jié)點(diǎn)0-7中設(shè)置有BMC 32-0至32-7。通過以上配置,也可以實(shí)現(xiàn)圖6、7中所示的替代操作。
在前述實(shí)施例中,使用PCI Express總線來描述計(jì)算機(jī)系統(tǒng)中的信號(hào)線。然而,也可以使用其它高速串行總線,如Rapid-IO。可以根據(jù)需要增加或減少控制模塊中的通道適配器的數(shù)量和盤適配器的數(shù)量。類似地,在以上說明中,使用選擇端口來選擇交換中繼器的連接目的地。然而,也可以通過設(shè)定交換中繼器中的內(nèi)部寄存器來選擇連接目的地。在這種情況下,優(yōu)選地,BMC 30經(jīng)由通信路徑60通過訪問內(nèi)部寄存器來改變連接目的地。
進(jìn)而,作為盤驅(qū)動(dòng)器,可以采用任何存儲(chǔ)設(shè)備,包括硬盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器、磁光盤驅(qū)動(dòng)器。而且,存儲(chǔ)系統(tǒng)和計(jì)算機(jī)系統(tǒng)的配置并不限于圖1和圖8所示的配置,也可以采用其它配置。
總之,在具有相互連接的多個(gè)CPU單元的計(jì)算機(jī)系統(tǒng)中,使用串行連接交換器,在由于連接到串行連接交換器的上游端口的CPU單元不能工作而無法建立鏈接的情況下,通過切換,選擇設(shè)置在交換器單元中的管理控制器,作為上游端口的設(shè)備。因此,即使當(dāng)產(chǎn)品由任意數(shù)量個(gè)CPU單元構(gòu)成時(shí),系統(tǒng)仍可進(jìn)行工作。即,可以隱蔽上游端口的特殊性,并且對(duì)應(yīng)于CPU節(jié)點(diǎn)的增加和刪減系統(tǒng)可進(jìn)行工作。
上述對(duì)實(shí)施例的說明不旨在將本發(fā)明限于所示示例的具體細(xì)節(jié)??梢栽诒景l(fā)明的范圍內(nèi)進(jìn)行任何適當(dāng)?shù)男薷募捌涞韧?。所附?quán)利要求涵蓋落入本發(fā)明范圍內(nèi)的本發(fā)明的全部特征和優(yōu)點(diǎn)。
本申請(qǐng)基于2005年3月4日提交的在先日本特開2005-060807號(hào)公報(bào),并要求其權(quán)益,在此通過引用并入其全部?jī)?nèi)容。
權(quán)利要求
1.一種計(jì)算機(jī)系統(tǒng),包括多個(gè)CPU單元;以及交換器單元,其具有多個(gè)端口,并用于對(duì)通過串行連接總線連接到各個(gè)端口的各個(gè)CPU單元進(jìn)行互連,其中交換器單元包括串行連接交換器,其具有被設(shè)定為上游端口的多個(gè)端口之一;以及管理控制器,判斷上游端口的鏈接建立,并且當(dāng)鏈接建立失敗時(shí),該管理控制器用作串行連接交換器的上游設(shè)備。
2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其中串行連接總線是PCI Express總線,并且串行連接交換器是PCIExpress交換器。
3.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其中交換器單元還包括切換電路,其將串行連接交換器切換到管理控制器或交換器單元的外部端口,并且其中當(dāng)管理控制器判斷鏈接建立失敗時(shí),管理控制器對(duì)切換電路進(jìn)行切換,以使其連接到管理控制器。
4.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其中管理控制器解除串行連接交換器的復(fù)位,并且串行連接交換器響應(yīng)于該復(fù)位解除,對(duì)連接到上游端口的外部單元執(zhí)行鏈接建立序列。
5.根據(jù)權(quán)利要求4所述的計(jì)算機(jī)系統(tǒng),其中各個(gè)CPU單元包括第二管理控制器,其經(jīng)由通信路徑連接到交換器單元的管理控制器,并且其中交換器單元的管理控制器通過與各CPU單元的第二管理控制器進(jìn)行通信來執(zhí)行交換器單元與各CPU單元之間的同步,并解除復(fù)位。
6.根據(jù)權(quán)利要求4所述的計(jì)算機(jī)系統(tǒng),其中,當(dāng)管理控制器判定鏈接建立成功時(shí),交換器單元的管理控制器將該成功經(jīng)由通信路徑報(bào)告給CPU單元的第二管理控制器,并且CPU單元的第二管理控制器根據(jù)該報(bào)告起動(dòng)CPU單元。
7.根據(jù)權(quán)利要求3所述的計(jì)算機(jī)系統(tǒng),其中切換電路包括選擇電路,其選擇串行連接交換器的輸入和輸出以連接到管理控制器或交換器單元的外部端口;以及捆綁端口,其連接到選擇電路,從交換器單元的管理控制器接收選擇信號(hào)。
8.根據(jù)權(quán)利要求3所述的計(jì)算機(jī)系統(tǒng),其中切換電路包括選擇電路,其選擇串行連接交換器的輸入和輸出以連接到管理控制器或交換器單元的外部端口;以及內(nèi)部寄存器,其連接到選擇電路,從交換器單元的管理控制器接收選擇信號(hào)。
9.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其中各個(gè)CPU單元包括存儲(chǔ)服務(wù)器,其控制多個(gè)存儲(chǔ)設(shè)備,并將數(shù)據(jù)經(jīng)由交換器單元交換到另一CPU單元的另一存儲(chǔ)服務(wù)器。
10.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng),其中各存儲(chǔ)服務(wù)器經(jīng)由交換器單元將從連接到各存儲(chǔ)服務(wù)器的主計(jì)算機(jī)接收的寫入數(shù)據(jù)傳輸?shù)搅硪淮鎯?chǔ)服務(wù)器。
11.一種用于通過串行連接總線經(jīng)由具有多個(gè)端口的交換器單元互連多個(gè)CPU單元的方法,包括以下步驟判斷其中多個(gè)端口之一被設(shè)定為上游端口的串行連接交換器是否與串行連接總線的連接目的地之間的鏈接建立成功;以及當(dāng)鏈接建立失敗時(shí),由用作串行連接交換器的上游設(shè)備的管理控制器執(zhí)行鏈接建立序列。
12.根據(jù)權(quán)利要求11所述的用于通過串行連接總線互連多個(gè)CPU單元的方法,其中執(zhí)行步驟還包括以下步驟通過被設(shè)置為串行連接總線的PCI Express總線,執(zhí)行各CPU單元與被設(shè)置為串行連接交換器的PCI Express交換器之間的鏈接建立序列。
13.根據(jù)權(quán)利要求11所述的用于通過串行連接總線互連多個(gè)CPU單元的方法,其中執(zhí)行步驟還包括以下步驟當(dāng)鏈接建立失敗時(shí),對(duì)被設(shè)置為用于將串行連接交換器切換到管理控制器或交換器單元的外部端口的切換電路進(jìn)行切換,以使其連接到管理控制器。
14.根據(jù)權(quán)利要求11所述的用于通過串行連接總線互連多個(gè)CPU單元的方法,其中執(zhí)行步驟還包括以下步驟通過管理控制器解除串行連接交換器的復(fù)位;以及通過串行連接交換器對(duì)連接到上游端口的外部單元執(zhí)行鏈接建立序列。
15.根據(jù)權(quán)利要求14所述的用于通過串行連接總線互連多個(gè)CPU單元的方法,還包括以下步驟通過使交換器單元的管理控制器與連接到交換器單元的各CPU單元的第二管理控制器進(jìn)行通信,使交換器單元與各CPU單元同步來解除復(fù)位。
16.根據(jù)權(quán)利要求14所述的用于通過串行連接總線互連多個(gè)CPU單元的方法,還包括以下步驟當(dāng)交換器單元的管理控制器判定鏈接建立成功時(shí),將該成功經(jīng)由通信路徑報(bào)告給各CPU單元的管理控制器;以及由CPU單元的管理控制器根據(jù)該報(bào)告起動(dòng)CPU單元。
17.根據(jù)權(quán)利要求13所述的用于通過串行連接總線互連多個(gè)CPU單元的方法,其中切換步驟還包括以下步驟使用從交換器單元的管理控制器接收選擇信號(hào)的捆綁端口上的選擇信號(hào),對(duì)用于選擇串行連接交換器的輸入和輸出以連接到管理控制器或交換器單元的外部端口的選擇電路進(jìn)行切換。
18.根據(jù)權(quán)利要求13所述的用于通過串行連接總線互連多個(gè)CPU單元的方法,其中切換步驟還包括以下步驟使用從交換器單元的管理控制器接收選擇信號(hào)的內(nèi)部寄存器的狀態(tài),對(duì)用于選擇串行連接交換器的輸入和輸出以連接到管理控制器或交換器單元的外部端口的選擇電路進(jìn)行切換。
19.根據(jù)權(quán)利要求11所述的用于通過串行連接總線互連多個(gè)CPU單元的方法,還包括以下步驟通過對(duì)構(gòu)成各個(gè)CPU單元的多個(gè)存儲(chǔ)設(shè)備進(jìn)行控制的存儲(chǔ)服務(wù)器,經(jīng)由交換器單元交換數(shù)據(jù)。
20.根據(jù)權(quán)利要求19所述的用于通過串行連接總線互連多個(gè)CPU單元的方法,其中交換步驟還包括以下步驟將從連接到各服務(wù)器的主計(jì)算機(jī)接收的寫入數(shù)據(jù)經(jīng)由交換器單元傳輸?shù)搅硪淮鎯?chǔ)服務(wù)器。
全文摘要
一種計(jì)算機(jī)系統(tǒng),通過隱蔽計(jì)算機(jī)系統(tǒng)(其中通過PCI Express交換器互連多個(gè)CPU單元)中的交換器的上游端口的特殊性使得系統(tǒng)能夠工作。當(dāng)一CPU單元(其連接到對(duì)多個(gè)CPU單元進(jìn)行互連的串行連接交換器的上游端口)不能工作,并且無法建立CPU單元和交換器之間的鏈接時(shí),交換器單元的管理控制器被選作上游端口的設(shè)備。
文檔編號(hào)H04L12/24GK1828574SQ20051008608
公開日2006年9月6日 申請(qǐng)日期2005年7月21日 優(yōu)先權(quán)日2005年3月4日
發(fā)明者小原成介, 增山和則 申請(qǐng)人:富士通株式會(huì)社