專(zhuān)利名稱(chēng):對(duì)遠(yuǎn)程擴(kuò)展設(shè)備的多主機(jī)支持的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理系統(tǒng),并且更加具體地講,涉及采用外部或遠(yuǎn)程I/O資源的數(shù)據(jù)處理系統(tǒng)。
背景技術(shù):
數(shù)據(jù)處理系統(tǒng)需要進(jìn)行輸入/輸出(I/O)操作的資源。這些I/O資源包括,舉例來(lái)說(shuō),用于永久性存儲(chǔ)裝置和網(wǎng)絡(luò)通信的適配器卡。適配器卡最好與諸如PCI或PCI-X之類(lèi)的行業(yè)標(biāo)準(zhǔn)總線接口兼容。系統(tǒng)處理單元借助橋路裝置利用這些I/O資源,所述橋路裝置訪問(wèn)I/O接口總線。一般來(lái)說(shuō),所有的I/O結(jié)構(gòu)都處于系統(tǒng)機(jī)箱之內(nèi)。客戶一般來(lái)說(shuō)需要的是處理系統(tǒng),本文稱(chēng)為主機(jī),它使得客戶能夠隨著他們的商業(yè)要求的發(fā)展而擴(kuò)展他們的I/O容量。同時(shí),客戶想要得到最大的靈活度,舉例來(lái)說(shuō),包括跨越多個(gè)主機(jī)共享I/O資源的能力,以及改變這些主機(jī)之間的資源分配的能力。制造商通過(guò)供應(yīng)本文稱(chēng)為擴(kuò)展設(shè)備或擴(kuò)展插箱(drawer)的產(chǎn)品來(lái)滿足這些要求。I/O擴(kuò)展插箱是通過(guò)擴(kuò)展總線與主機(jī)相連的盒子或機(jī)箱。I/O擴(kuò)展插箱一般包括一個(gè)或多個(gè)擴(kuò)展卡,每個(gè)擴(kuò)展卡具有多個(gè)適配器卡“插槽”,可由期望的適配器卡插入。
在使用現(xiàn)有的擴(kuò)展插箱實(shí)現(xiàn)方案的情況下,在I/O擴(kuò)展插箱中向另一個(gè)主機(jī)重新分配I/O資源比較困難并且是費(fèi)時(shí)的。例如,當(dāng)主機(jī)故障時(shí),I/O擴(kuò)展插箱內(nèi)的I/O資源不可再用??梢酝ㄟ^(guò)將這些I/O資源重新分配給另一個(gè)主機(jī)使它們?cè)俅蔚玫嚼茫且笙到y(tǒng)管理員物理移動(dòng)I/O擴(kuò)展插箱或者將適配器卡從I/O擴(kuò)展插箱移到另一個(gè)主機(jī)是不希望的事。希望實(shí)現(xiàn)一種為用戶改變多個(gè)主機(jī)之間的I/O資源分配的電子裝置。
發(fā)明內(nèi)容
上面確定的目的是通過(guò)用于在一個(gè)或多個(gè)主機(jī)當(dāng)中分配一個(gè)或多個(gè)I/O擴(kuò)展插箱或I/O擴(kuò)展插箱的一部分的電子裝置和服務(wù)來(lái)實(shí)現(xiàn)的。主機(jī)和I/O擴(kuò)展插箱的很多配置方案都是可行的。例如,某些主機(jī)具有一個(gè)或兩個(gè)I/O擴(kuò)展總線;較大的主機(jī)可以具有更多的I/O擴(kuò)展總線。在任何給定的配置中I/O擴(kuò)展插箱的數(shù)量都是可變的,同樣I/O擴(kuò)展插箱中的I/O擴(kuò)展卡的數(shù)量也是可變的。I/O擴(kuò)展插箱中的I/O擴(kuò)展總線的數(shù)量也是可變的。I/O擴(kuò)展插箱可以通過(guò)主機(jī)的I/O擴(kuò)展總線直接附屬于主機(jī),或者它們可以借助I/O擴(kuò)展插箱自己的I/O擴(kuò)展總線以菊花鏈的方式連接在一起,然后再附屬于一個(gè)或多個(gè)主機(jī)。
此外,本發(fā)明提供了保護(hù)I/O擴(kuò)展卡的裝置,從而防止其它主機(jī)訪問(wèn)其資源。提供了電源管理的裝置,防止一個(gè)主機(jī)不與另一個(gè)所附屬于的主機(jī)協(xié)同地切斷I/O擴(kuò)展插箱的電源,還提供了允許一個(gè)主機(jī)在因?yàn)榱硪粋€(gè)所附屬于的主機(jī)無(wú)響應(yīng)而不可能進(jìn)行協(xié)同的時(shí)候切斷或接通I/O擴(kuò)展插箱的電源的取代裝置。此外,電子分配服務(wù)提供了支持同種或異種主機(jī)的配置的手段,或者支持各個(gè)主機(jī)操作系統(tǒng)可能不同的配置的手段。電子分配服務(wù)可以由網(wǎng)絡(luò)管理代理用來(lái)管理主機(jī)和I/O擴(kuò)展插箱的復(fù)雜配置。
操作綜述該優(yōu)選實(shí)施方式使得分配服務(wù)請(qǐng)求能夠跨越多個(gè)子系統(tǒng)(比如,但不局限于,主機(jī)的BIOS、I/O擴(kuò)展插箱的控制器和遠(yuǎn)程管理代理)得到成功處理。例如,在引導(dǎo)期間,主機(jī)的BIOS能夠確定有多少I(mǎi)/O擴(kuò)展卡分配給它來(lái)進(jìn)行配置,從而避免對(duì)分配給另一個(gè)主機(jī)的I/O擴(kuò)展卡進(jìn)行配置。主機(jī)的BIOS還可以確認(rèn)它的I/O擴(kuò)展總線纜線和它到I/O擴(kuò)展插箱的管理鏈路纜線是否正確地連接在I/O擴(kuò)展插箱的同一端上。
I.術(shù)語(yǔ)解釋
I/O擴(kuò)展插箱(插箱)-是處于主機(jī)外部的任何機(jī)箱,提供額外的I/O擴(kuò)展卡插槽。在I/O擴(kuò)展插箱和主機(jī)之間有兩個(gè)總線連接I/O擴(kuò)展總線和插箱管理鏈路。注意,I/O擴(kuò)展插箱可以由第二數(shù)據(jù)處理組件得到,不管該組件是否可以在不使用它的板上數(shù)據(jù)處理器和存儲(chǔ)器的情況下配置成作為I/O資源工作,也可以與其它數(shù)據(jù)處理組件相互連接。
I/O擴(kuò)展總線-提供主機(jī)和I/O擴(kuò)展插箱之間和/或插箱內(nèi)的I/O擴(kuò)展卡之間的高速數(shù)據(jù)接口的總線及其相關(guān)纜線和連接器。
插箱管理鏈路(DML)-提供主機(jī)的服務(wù)處理器和位于I/O擴(kuò)展插箱內(nèi)的插箱管理控制器之間的接口的總線及其相關(guān)纜線和連接器。這并不需要是獨(dú)立的物理纜線;例如,其可以集成在I/O擴(kuò)展總線的相同纜線中。
插箱管理控制器(DMC)-監(jiān)視和控制I/O擴(kuò)展插箱內(nèi)的環(huán)境條件(包括所安裝的I/O擴(kuò)展卡和其它機(jī)箱電子子組件)的邏輯電路,最好實(shí)現(xiàn)在微處理器內(nèi)。DMC的部分職責(zé)是監(jiān)測(cè)或控制風(fēng)扇、溫度、電壓和設(shè)置及運(yùn)行時(shí)間參數(shù)。
I/O擴(kuò)展卡-I/O擴(kuò)展插箱內(nèi)的平板(印刷電路板)。該平板具有I/O擴(kuò)展總線、I/O擴(kuò)展橋路裝置、適配器總線和多個(gè)板上適配器插槽。一個(gè)卡最可能僅具有一個(gè)橋路裝置,但是每個(gè)I/O擴(kuò)展卡也可以使用具有多個(gè)橋路裝置的設(shè)計(jì)。各個(gè)橋路裝置將I/O擴(kuò)展總線連接到適配器總線上。I/O擴(kuò)展卡插槽最好支持PCI或PCI-X總線體系結(jié)構(gòu),但是可以包括對(duì)任何其它的適配器總線體系結(jié)構(gòu)的支持。
I/O擴(kuò)展橋路裝置-該橋路裝置將I/O擴(kuò)展總線轉(zhuǎn)換為I/O擴(kuò)展卡上的適配器總線。例如,有將IBM RIOG擴(kuò)展總線轉(zhuǎn)換為PIC-X適配器總線的橋路裝置。
服務(wù)處理器(SP)-最好實(shí)現(xiàn)為小邏輯卡,存在于主機(jī)機(jī)箱之內(nèi)并且提供多種服務(wù),包括,但不局限于,配置檢查、故障檢測(cè)、錯(cuò)誤報(bào)告和記錄、對(duì)主機(jī)(及其自身)的固件更新支持、多種警報(bào)發(fā)送方法、用戶用的設(shè)置和配置實(shí)用程序、多種遠(yuǎn)程連接方法、遠(yuǎn)程登陸、遠(yuǎn)程主機(jī)重置和遠(yuǎn)程電源控制、遠(yuǎn)程視頻、遠(yuǎn)程診斷和主機(jī)環(huán)境條件的遠(yuǎn)程報(bào)告。
II.I/O擴(kuò)展插箱模型按照一種實(shí)施方式,I/O擴(kuò)展插箱可以包括在IBM公司出品的RXE-100擴(kuò)展插箱中建立的單元和設(shè)計(jì)特點(diǎn)。
按照這樣的實(shí)施方式,各個(gè)插箱可以具有兩個(gè)I/O擴(kuò)展卡。I/O擴(kuò)展插箱的一“端”稱(chēng)為A端或B端。各端可以包含一個(gè)I/O擴(kuò)展卡。
在插箱中,具有建立在插箱中的從A端到B端的I/O擴(kuò)展總線連接。某些I/O擴(kuò)展插箱可以具有物理外部纜線,用來(lái)提供這種連接。
按照優(yōu)選實(shí)現(xiàn)方式,A端存在于每個(gè)I/O擴(kuò)展插箱內(nèi),使得具有一個(gè)I/O擴(kuò)展卡的插箱就具有A端。
按照強(qiáng)調(diào)降低成本的實(shí)施方式,在該型號(hào)的插箱中的單獨(dú)一個(gè)物理DMC監(jiān)測(cè)和控制插箱中所有的I/O擴(kuò)展卡。其它的實(shí)現(xiàn)方式可以具有用于各個(gè)I/O擴(kuò)展卡的DMC(即,IBM pSeries設(shè)計(jì))。按照單獨(dú)一個(gè)物理DMC模塊的實(shí)現(xiàn)方式,DMC最好可以配置成兩個(gè)操作模式中的一種,即,“分離模式”和“統(tǒng)一模式”。操作的分離模式指的是這樣一種模式對(duì)DMC從邏輯上進(jìn)行劃分,以支持僅針對(duì)A端或僅針對(duì)B端的主機(jī)命令。操作的統(tǒng)一模式指的是這樣一種模式DMC接收來(lái)自單獨(dú)一個(gè)主機(jī)的用于A端和B端(如果存在)的命令。
插箱的兩端最好具有插箱管理鏈路(DML)。來(lái)自主機(jī)的DML可以用于A端或B端(分離模式)或者DML可以控制兩端(統(tǒng)一模式)。
I/O擴(kuò)展插箱此外還包含電源、冷卻風(fēng)扇、診斷指示器和機(jī)械封裝。插箱符合與噪音等級(jí)、電磁輻射、易碎性等相關(guān)的標(biāo)準(zhǔn)。
雖然其它的I/O擴(kuò)展插箱可以具有不同的細(xì)節(jié),但是本文介紹的電子分配服務(wù)也可以容易地對(duì)它們進(jìn)行支持。
III.電子分配命令各個(gè)I/O擴(kuò)展卡的分配狀態(tài)信息存儲(chǔ)在I/O擴(kuò)展插箱中。使用一小組命令,主機(jī)從附屬于其DML的各個(gè)插箱中取得分配狀態(tài)。從所取得的分配狀態(tài)信息中,主機(jī)為各個(gè)I/O擴(kuò)展總線線纜(連接在主機(jī)和插箱之間)確定各個(gè)I/O擴(kuò)展插箱內(nèi)要進(jìn)行配置的I/O擴(kuò)展卡的數(shù)量。類(lèi)似地,主機(jī)可以經(jīng)由同一小組命令請(qǐng)求額外的I/O擴(kuò)展卡或釋放I/O擴(kuò)展卡。按照一種實(shí)現(xiàn)方式,該命令組包括三種類(lèi)型ReportAssignment(報(bào)告分配)、Change Assignment(改變分配)和EndAssignment(結(jié)束分配)。下面將針對(duì)優(yōu)選實(shí)施方式對(duì)主機(jī)和插箱內(nèi)的各個(gè)子系統(tǒng)響應(yīng)于各個(gè)命令類(lèi)型的方式進(jìn)行介紹。
A.主機(jī)BIOS功能和命令1.用戶初始化主機(jī)用戶重置(或通電)主機(jī)和其所連接的I/O擴(kuò)展插箱。
2.報(bào)告分配(Report Assignment)命令對(duì)于所連接的各個(gè)I/O擴(kuò)展插箱,在引導(dǎo)時(shí)間期間(布局配置),主機(jī)BIOS發(fā)出初始命令,以獲得DMC ID、I/O擴(kuò)展插箱端(A或B)和DML所附屬的插箱管理地址。主機(jī)BIOS發(fā)出第二類(lèi)型的命令,以獲得分配給它的I/O擴(kuò)展卡(各個(gè)插箱中的)的數(shù)量。
對(duì)于其各個(gè)I/O擴(kuò)展總線,BIOS檢查是否第一I/O橋路設(shè)備已經(jīng)經(jīng)過(guò)配置(由另一個(gè)主機(jī))。用速度設(shè)置成默認(rèn)速度的I/O擴(kuò)展總線進(jìn)行查探。如果橋路設(shè)備沒(méi)有經(jīng)過(guò)配置,則BIOS對(duì)其進(jìn)行配置并且獲得DMC ID和I/O擴(kuò)展插箱端(A或B)。利用來(lái)自初始命令的信息和經(jīng)由第一經(jīng)配置橋路設(shè)備獲得的信息,BIOS可以確定DML和I/O擴(kuò)展總線是否連接正確。如果該橋接設(shè)備已經(jīng)經(jīng)過(guò)配置,在BIOS斷定不應(yīng)對(duì)這個(gè)特定的I/O擴(kuò)展橋路設(shè)備進(jìn)行配置之前(因?yàn)樗呀?jīng)由另一個(gè)主機(jī)進(jìn)行了配置),必須進(jìn)行重試。
BIOS將適當(dāng)?shù)腎/O擴(kuò)展橋路設(shè)備配置在其各個(gè)I/O擴(kuò)展總線上。這樣做的時(shí)候,BIOS考慮到I/O擴(kuò)展總線的數(shù)量以確定如何最好地分布I/O資源和優(yōu)化I/O性能。BIOS重置沒(méi)有分配給它的它已經(jīng)臨時(shí)配置過(guò)的任何橋路設(shè)備。如果BIOS檢測(cè)到錯(cuò)誤連接的纜線,它將會(huì)把錯(cuò)誤消息傳遞給主機(jī)的事件日志(Event Log)。
3.用戶檢查報(bào)告的分配用戶對(duì)顯示針對(duì)各個(gè)附屬I(mǎi)/O擴(kuò)展插箱的信息的BIOS設(shè)置菜單進(jìn)行輸入。一般來(lái)說(shuō),提供給用戶的信息包括DMC ID和主機(jī)的DML所附屬于的I/O擴(kuò)展插箱端(A或B)、DMC ID和主機(jī)的I/O擴(kuò)展纜線所附屬于的I/O擴(kuò)展插箱端,和DMC纜線與I/O擴(kuò)展總線纜線之間的任何接線不匹配。此外,當(dāng)BIOS沒(méi)有將任何橋路設(shè)備配置在I/O擴(kuò)展總線上時(shí),給出“無(wú)(none)”。另外,顯示內(nèi)容還包括當(dāng)前分配給主機(jī)的I/O擴(kuò)展卡的數(shù)量以及這些卡中的哪些用保留標(biāo)識(shí)符進(jìn)行了標(biāo)記、當(dāng)前未分配的I/O擴(kuò)展卡的數(shù)量,和是否未分配的卡中任何一個(gè)也是保留的或具有不工作主機(jī)。BIOS在顯示菜單的同時(shí)周期性地刷新這一菜單(借助從主機(jī)到DMC的心跳),以發(fā)出會(huì)話仍然有效的通知。
4.改變分配(Change Assignment)命令從BIOS設(shè)置菜單中,用戶可以釋放或請(qǐng)求額外的I/O擴(kuò)展卡。當(dāng)用戶請(qǐng)求未分配的I/O擴(kuò)展卡時(shí),BIOS發(fā)出三種形式之一的改變分配命令,該命令包括是否要將該I/O擴(kuò)展卡僅保留給這個(gè)主機(jī)。如果I/O擴(kuò)展卡得到保留,則只有這個(gè)主機(jī)能夠訪問(wèn)該I/O擴(kuò)展卡(即,提高安全性)。如果沒(méi)有任何未分配I/O擴(kuò)展卡可用,BIOS將不發(fā)送任何分配命令。BIOS將不允許把具有保留標(biāo)識(shí)符的I/O擴(kuò)展卡分配給新的主機(jī),即使該I/O擴(kuò)展卡的當(dāng)前主機(jī)是不工作的。
當(dāng)用戶從主機(jī)釋放分配的I/O擴(kuò)展卡時(shí),BIOS將發(fā)出改變分配命令,該命令將I/O擴(kuò)展卡的狀態(tài)改變?yōu)槲捶峙洳⑶胰绻霸试S保留標(biāo)識(shí)符則為該卡清除保留標(biāo)識(shí)符。
BIOS在每次用戶改變之后借助報(bào)告分配命令更新分配/未分配的I/O擴(kuò)展卡的設(shè)置菜單顯示。BIOS并不跨越引導(dǎo)周期地保持任何顯示數(shù)據(jù),因?yàn)闆](méi)有必要這么做。這使得主機(jī)能夠得到替換,并且新的主機(jī)可采用電子方式獲取I/O擴(kuò)展卡分配狀態(tài)而不用客戶干預(yù)。
5.結(jié)束分配(End Assignment)當(dāng)用戶從設(shè)置菜單中退出時(shí),BIOS發(fā)出結(jié)束分配命令以結(jié)束重新配置會(huì)話。如果DMC成功獲知配置變化,則BIOS重置主機(jī)。
B.DMC功能和命令在AC電源首次施加給I/O擴(kuò)展插箱時(shí),并且第一次在插箱內(nèi)建立備用電源時(shí),插箱管理控制器報(bào)告其ID及其連接主機(jī)的I/O擴(kuò)展插箱端(A或B)。對(duì)于每個(gè)I/O擴(kuò)展卡的分配狀態(tài)數(shù)據(jù)存儲(chǔ)在I/O擴(kuò)展插箱自身中并且由DMC訪問(wèn)。如果一個(gè)或沒(méi)有I/O擴(kuò)展卡分配給主機(jī),則DMC將會(huì)把I/O擴(kuò)展插箱置于分離模式配置中。如果兩個(gè)I/O擴(kuò)展卡都分配給了同一個(gè)主機(jī),則將插箱置于統(tǒng)一模式下。
1.對(duì)報(bào)告分配命令作出響應(yīng)當(dāng)主機(jī)發(fā)出報(bào)告分配命令時(shí),在所針對(duì)的I/O擴(kuò)展插箱中的插箱管理控制器將不會(huì)理會(huì)來(lái)自于第二個(gè)主機(jī)的任何其它的后續(xù)分配命令,直到第一個(gè)主機(jī)發(fā)出結(jié)束分配命令。DMC將會(huì)在間歇時(shí)回應(yīng)第二主機(jī)“忙”。
響應(yīng)于報(bào)告分配命令,I/O擴(kuò)展插箱中的DMC將其DMC ID、其插箱管理鏈路纜線所附屬于的I/O擴(kuò)展卡端(A或B)和分配給進(jìn)行請(qǐng)求的主機(jī)的I/O擴(kuò)展卡的數(shù)量返回給主機(jī)BIOS。如果I/O擴(kuò)展卡之前已經(jīng)指定為保留,則DMC將報(bào)告這一情況。DMC還返回可用于進(jìn)行請(qǐng)求的主機(jī)的未分配I/O擴(kuò)展卡的數(shù)量。
如果DMC確定不工作主機(jī)控制著I/O擴(kuò)展卡(即,主機(jī)切斷了AC電源或發(fā)生故障),則該I/O擴(kuò)展卡將包含在未分配I/O擴(kuò)展卡的數(shù)量里。將會(huì)用不工作主機(jī)標(biāo)識(shí)符報(bào)告該I/O擴(kuò)展卡。如果I/O擴(kuò)展卡之前已經(jīng)得到“保留”,則將用保留標(biāo)識(shí)符報(bào)告該I/O擴(kuò)展卡。
2.對(duì)改變分配命令作出響應(yīng)當(dāng)主機(jī)發(fā)出改變分配命令時(shí),所針對(duì)的I/O擴(kuò)展插箱內(nèi)的插箱管理控制器將會(huì)對(duì)該命令作出響應(yīng)(如果該DMC已經(jīng)接收到來(lái)自主機(jī)的報(bào)告分配命令并且對(duì)其作出了響應(yīng),并且還沒(méi)有對(duì)來(lái)自同一主機(jī)的結(jié)束分配命令作出響應(yīng))。否則,該DMC將會(huì)回應(yīng)該主機(jī)“忙”。如果沒(méi)有I/O擴(kuò)展卡可用,主機(jī)BIOS將不發(fā)出改變分配命令,如果I/O擴(kuò)展卡已經(jīng)由另一個(gè)主機(jī)保留,主機(jī)BIOS也不會(huì)對(duì)該I/O擴(kuò)展卡發(fā)出改變分配命令。DMC可以預(yù)防這兩種可能,但是沒(méi)有必要這么做。改變分配命令有三種變形a.不為進(jìn)行請(qǐng)求的主機(jī)要求擴(kuò)展卡DMC將保持當(dāng)前的I/O擴(kuò)展插箱模式(即,分離或統(tǒng)一)不變,對(duì)所有先前為主機(jī)要求的I/O擴(kuò)展卡解除分配(un-assign),并且為各個(gè)I/O擴(kuò)展卡重置保留標(biāo)識(shí)符和不工作主機(jī)標(biāo)識(shí)符、更新分配和未分配I/O擴(kuò)展卡總數(shù)和向主機(jī)返回通過(guò)/失敗完成碼。
b.為進(jìn)行請(qǐng)求的主機(jī)要求第一個(gè)可用擴(kuò)展卡DMC將把I/O擴(kuò)展插箱置于分離模式,將第一個(gè)可用的I/O擴(kuò)展卡分配給進(jìn)行請(qǐng)求的主機(jī)、根據(jù)需要更新保留標(biāo)識(shí)符并且為該卡重置不工作主機(jī)標(biāo)識(shí)符。DMC然后將會(huì)釋放該插箱中之前該主機(jī)要求的任何其它的I/O擴(kuò)展卡,并且為該卡重置保留和不工作標(biāo)識(shí)符。最后,DMC將會(huì)更新分配和未分配I/O擴(kuò)展卡的總數(shù),并且向主機(jī)返回通過(guò)/失敗完成碼。
c.為進(jìn)行請(qǐng)求的主機(jī)要求所有可用擴(kuò)展卡DMC將會(huì)把I/O擴(kuò)展插箱置于統(tǒng)一模式下,將所有的可用I/O擴(kuò)展卡分配給進(jìn)行請(qǐng)求的主機(jī)、根據(jù)需要更新保留標(biāo)識(shí)符、為各個(gè)卡重置不工作主機(jī)標(biāo)識(shí)符、更新分配和未分配I/O擴(kuò)展卡的總數(shù)并且向主機(jī)返回通過(guò)/失敗完成碼。
3.對(duì)結(jié)束分配命令作出響應(yīng)當(dāng)主機(jī)發(fā)出報(bào)告分配命令時(shí),所針對(duì)的I/O擴(kuò)展插箱中的插箱管理控制器將不理會(huì)來(lái)自第二個(gè)主機(jī)的任何其它后續(xù)分配命令,直到第一主機(jī)發(fā)出結(jié)束分配命令。DMC將在間歇時(shí)回應(yīng)第二主機(jī)“忙”。
結(jié)束分配命令完成對(duì)主機(jī)的I/O擴(kuò)展卡分配的改變并且終止主機(jī)對(duì)I/O擴(kuò)展插箱的DMC的獨(dú)占,這于是允許DMC接受來(lái)自另一個(gè)主機(jī)的分配命令。結(jié)束分配命令并不影響I/O擴(kuò)展插箱模式,也不影響I/O擴(kuò)展卡的分配和標(biāo)識(shí)符。
插箱管理控制器能夠?qū)χ鳈C(jī)在改變分配處理期間變?yōu)椴还ぷ鞯目赡苄赃M(jìn)行檢查;即,在前一分配命令完成之后啟動(dòng)冗員定時(shí)器,或者利用來(lái)自BIOS設(shè)置菜單的心跳重置冗員定時(shí)器。如果檢測(cè)到不工作主機(jī),則DMC將會(huì)自己?jiǎn)?dòng)結(jié)束分配,并且嘗試將錯(cuò)誤消息傳送到主機(jī)的事件日志中。
C.遠(yuǎn)程管理代理程序功能和命令管理代理程序提供用來(lái)為BIOS設(shè)置菜單調(diào)用上面介紹的I/O擴(kuò)展卡分配命令的集中式工具。管理代理程序,比如IBM公司出品的IBM Director產(chǎn)品,通常駐留在遠(yuǎn)程服務(wù)器上。管理遠(yuǎn)程I/O資源的部署需要主機(jī)的服務(wù)處理器、I/O擴(kuò)展插箱的DMC和遠(yuǎn)程管理代理程序之間相互作用。服務(wù)處理器是將主機(jī)BIOS命令傳送給DMC并且將DMC響應(yīng)返回給主機(jī)BIOS的實(shí)體。
管理代理程序經(jīng)由網(wǎng)絡(luò)連接(比如以太網(wǎng)鏈路)與服務(wù)處理器相連接。管理代理程序能夠通過(guò)向主機(jī)的服務(wù)處理器發(fā)送報(bào)告、改變和結(jié)束分配命令來(lái)改變I/O擴(kuò)展卡的分配(和本地主機(jī)BIOS所做的一樣)。服務(wù)處理器將代理程序的命令轉(zhuǎn)送給DMC并且將DMC的響應(yīng)返回給代理程序。這樣,可以從遠(yuǎn)程位置實(shí)現(xiàn)多個(gè)I/O擴(kuò)展卡對(duì)多個(gè)主機(jī)的分配。受到管理的主機(jī)的類(lèi)型不必是同種類(lèi)的,只要板上的服務(wù)處理器能夠?qū)⒋沓绦虻拿钷D(zhuǎn)送給I/O擴(kuò)展插箱中的DMC即可。
管理代理程序能夠?qū)崿F(xiàn)借助BIOS設(shè)置菜單實(shí)現(xiàn)的所有的同樣的分配功能,只是代理程序不能自己判定是否DML和I/O擴(kuò)展總線線纜連接正確。在這種情況下,管理代理程序必須請(qǐng)求主機(jī)BIOS來(lái)檢驗(yàn)線纜是否連接正確。在成功配置了I/O資源之后,管理代理程序能夠重啟各個(gè)主機(jī)。
IV.主機(jī)/插箱配置的概述數(shù)據(jù)處理組件可以包括第一平臺(tái)類(lèi)型的第一主機(jī),以連接至少一個(gè)I/O擴(kuò)展插箱,該插箱是通過(guò)第一I/O擴(kuò)展總線線纜與第一主機(jī)相連接的。I/O擴(kuò)展插箱包括分配給第一主機(jī)并由第一主機(jī)配置的第一擴(kuò)展卡。插箱中的存儲(chǔ)裝置包含表明I/O擴(kuò)展卡對(duì)第一主機(jī)的分配情況的分配狀態(tài)。
可以通過(guò)第二I/O擴(kuò)展總線線纜將第二平臺(tái)類(lèi)型的第二主機(jī)與I/O擴(kuò)展插箱的第二I/O擴(kuò)展卡連接起來(lái)。分配狀態(tài)在這種情況下代表第二I/O擴(kuò)展卡的分配狀態(tài)以及第一I/O擴(kuò)展卡的分配狀態(tài)。該組件包括用于防止第一和第二主機(jī)對(duì)公共資源發(fā)生競(jìng)爭(zhēng)(即,試圖配置)的工具或代碼。
第一主機(jī)可以包括與第二I/O擴(kuò)展卡連接的第二I/O擴(kuò)展總線,在這種情況下第一主機(jī)配置第一和第二I/O擴(kuò)展卡(為了提高數(shù)據(jù)吞吐性能)。該組件可以采用自動(dòng)排除故障方法,使得主機(jī)能夠在第一I/O擴(kuò)展總線線纜故障的時(shí)候用其第二I/O擴(kuò)展總線線纜訪問(wèn)或配置I/O資源。
數(shù)據(jù)處理組件可以包括與第一擴(kuò)展插箱以菊花鏈方式連接的第二擴(kuò)展插箱,其中第一主機(jī)能夠配置各個(gè)擴(kuò)展插箱中的擴(kuò)展卡。
I/O擴(kuò)展插箱可以包括單獨(dú)一個(gè)插箱管理控制器,配置成用于對(duì)插箱中的多個(gè)I/O擴(kuò)展卡維護(hù)分配狀態(tài)。
DMC可以呈現(xiàn)第一和第二I/O擴(kuò)展卡是由第一主機(jī)配置的第一配置狀態(tài)(統(tǒng)一模式)和第一和第二I/O擴(kuò)展卡是由不同的主機(jī)配置的第二配置狀態(tài)(分離模式)。
V.電子分配能力的概述優(yōu)選實(shí)施方式包括能夠使替換主機(jī)從I/O擴(kuò)展插箱取得分配信息從而使得替換主機(jī)能夠配置適當(dāng)?shù)腎/O擴(kuò)展卡的電子分配能力。
電子分配能力結(jié)合了防止第二主機(jī)從第一主機(jī)再分配I/O擴(kuò)展卡的安全特征。
電子分配能力防止第一主機(jī)不與附屬于同一插箱的第二主機(jī)協(xié)同地切斷I/O擴(kuò)展插箱的電源。如果第二主機(jī)是故障主機(jī),也可以不考慮這種斷電防護(hù),以允許第一主機(jī)切斷I/O擴(kuò)展插箱的電源。例如,DMC可以判定插箱處于分離模式下(A端和B端分別控制)。DMC還可以判定與其相連的第二主機(jī)是故障主機(jī)(例如,借助不存在主機(jī)心跳、缺少與主機(jī)的服務(wù)處理器的連通性等)。在這樣的環(huán)境下,DMC可以在不存在工作的第二主機(jī)的情況下,與來(lái)自兩個(gè)主機(jī)的請(qǐng)求同等地對(duì)待來(lái)自一個(gè)主機(jī)的斷電請(qǐng)求,并且切斷I/O擴(kuò)展卡的電源。
電子分配能力提供了通過(guò)不同的I/O擴(kuò)展總線線纜將資源從故障I/O擴(kuò)展總線線纜分配給另一個(gè)主機(jī)或同一個(gè)主機(jī)的優(yōu)選手段。
擴(kuò)展設(shè)備中的I/O擴(kuò)展卡數(shù)量的改變可能需要分配狀態(tài)的改變,這可以通過(guò)電子手段實(shí)現(xiàn),而不需要進(jìn)一步人工重新配置。
電子分配能力最好支持I/O擴(kuò)展插箱和I/O擴(kuò)展卡配置的管理,包括動(dòng)態(tài)更改I/O擴(kuò)展插箱和I/O擴(kuò)展卡分配變化。
電子分配能力能夠檢驗(yàn)主機(jī)和I/O擴(kuò)展插箱之間的纜線連接是否正確。
電子分配能力對(duì)通過(guò)網(wǎng)絡(luò)連接的同種或異種數(shù)據(jù)處理組件的遠(yuǎn)程配置管理提供支持。
在閱讀下面的詳細(xì)說(shuō)明和參照附圖的基礎(chǔ)上,本發(fā)明的其它目的和優(yōu)點(diǎn)將會(huì)變得顯而易見(jiàn),其中
附圖1是按照本發(fā)明的一種實(shí)施方式的主機(jī)/擴(kuò)展插箱組件的框圖;附圖2是附圖1的擴(kuò)展插箱的選定細(xì)節(jié)的框圖;附圖3表示按照本發(fā)明的主機(jī)/擴(kuò)展組件的第一種配置;附圖4表示按照本發(fā)明的主機(jī)/擴(kuò)展組件的第二種配置;附圖5表示按照本發(fā)明的主機(jī)/擴(kuò)展組件的第三種配置;附圖6表示按照本發(fā)明的主機(jī)/擴(kuò)展組件的第四種配置;附圖7是按照本發(fā)明的一種實(shí)施方式的報(bào)告分配程序的流程圖;附圖8是按照本發(fā)明的一種實(shí)施方式的改變分配程序的流程圖;附圖9是按照本發(fā)明的一種實(shí)施方式的結(jié)束分配程序的流程圖;附圖10是按照本發(fā)明的一種實(shí)施方式的主機(jī)的選定單元的框圖;和附圖11是按照本發(fā)明的主機(jī)/擴(kuò)展系統(tǒng)的選定單元的框圖,其中管理代理程序能夠重新配置主機(jī)的I/O擴(kuò)展插箱分配。
雖然本發(fā)明允許各種各樣的修改和替代形式,但是在附圖中以舉例的方式給出了具體的實(shí)施方式,并且本文將對(duì)此進(jìn)行詳細(xì)介紹。不過(guò),應(yīng)當(dāng)理解,本文給出的附圖和詳細(xì)說(shuō)明并不是用來(lái)將本發(fā)明限制于所公開(kāi)的具體實(shí)施方式
,但是相反,意圖是要覆蓋落在所附的權(quán)利要求所定義的本發(fā)明的思想和范圍之內(nèi)的所有的修改、等價(jià)物和替換方案。
具體實(shí)施例方式
總地來(lái)說(shuō),本發(fā)明致力于連接和使用數(shù)據(jù)處理系統(tǒng)或主機(jī)和I/O擴(kuò)展插箱的技術(shù)。擴(kuò)展插箱維護(hù)與其I/O資源分配情況相關(guān)的信息并且可以將這一信息發(fā)送給主機(jī)。在引導(dǎo)主機(jī)的時(shí)候,它從擴(kuò)展插箱自身獲取與擴(kuò)展插箱I/O資源的分配情況相關(guān)的信息。這種技術(shù)有助于一個(gè)主機(jī)替換另一個(gè)主機(jī),因?yàn)樘鎿Q用主機(jī)能夠從擴(kuò)展插箱獲得分配情況信息。此外,通過(guò)將I/O分配的控制放在擴(kuò)展插箱中,本發(fā)明也有助于防止可能為了I/O資源而競(jìng)爭(zhēng)的各個(gè)不同主機(jī)間的沖突。擴(kuò)展插箱可以,例如,每次將通信約束于一個(gè)系統(tǒng),從而防止沖突。在下面的介紹中,其它的特征和優(yōu)點(diǎn)將變得顯而易見(jiàn)。
現(xiàn)在參照附圖,附圖1是按照本發(fā)明的一種實(shí)施方式的數(shù)據(jù)處理系統(tǒng)100的簡(jiǎn)化框圖,包括與一個(gè)或多個(gè)I/O擴(kuò)展設(shè)備或擴(kuò)展插箱101(圖示僅為一個(gè))相連的一個(gè)或多個(gè)主機(jī)102-1和102-1(這里總稱(chēng)或通稱(chēng)為主機(jī)102)。按照所圖示的配置,主機(jī)102-1和102-2通過(guò)相應(yīng)的擴(kuò)展總線140-1和140-2與插箱101相連。組件100這里也可以稱(chēng)為主機(jī)/擴(kuò)展組件100。各個(gè)主機(jī)102可以實(shí)現(xiàn)為單一或多處理器系統(tǒng)。雖然所示的主機(jī)/擴(kuò)展組件100包括單獨(dú)一個(gè)擴(kuò)展插箱和兩個(gè)主機(jī),但是其它的配置方案可以包括更多主機(jī)和更多擴(kuò)展插箱。在討論主機(jī)/擴(kuò)展組件100的不同配置之前,先對(duì)主機(jī)102進(jìn)行介紹。
參照附圖10,圖解說(shuō)明了主機(jī)102的示范性實(shí)施方式的選定單元。按照所示的實(shí)施方式,主機(jī)102包括與共用主機(jī)總線122相連的一個(gè)或多個(gè)通用處理器120。按照對(duì)客戶來(lái)說(shuō)有價(jià)值的實(shí)施方式,處理器120是Intel公司的產(chǎn)品。按照其它一些實(shí)施方式,主機(jī)102可以基于IBM公司出品的PowerPC系列微處理器。
橋路124(可以實(shí)現(xiàn)為與處理器120性質(zhì)不同的芯片組、集成在處理器120中,或者二者的組合)將主機(jī)總線122和處理器120與各種系統(tǒng)資源連接起來(lái)。按照所示的實(shí)施方式,橋路124將系統(tǒng)存儲(chǔ)器130與主機(jī)總線連接起來(lái)。系統(tǒng)存儲(chǔ)器130最好是用一個(gè)或多個(gè)DRAM芯片或模塊實(shí)現(xiàn)的。圖中所示的橋路124還提供了主機(jī)總線122與由附圖標(biāo)記126代表的外設(shè)總線之間的接口。外設(shè)總線126可以為產(chǎn)業(yè)標(biāo)準(zhǔn)I/O總線,比如PCI或PCI-X。一個(gè)或多個(gè)I/O適配器128(圖中僅示出了其中之一)與外設(shè)總線126相連。I/O適配器128可以包括一個(gè)或多個(gè)網(wǎng)絡(luò)通信設(shè)備、硬盤(pán)適配器等等。
附圖10所示的橋路124還提供主機(jī)總線122與I/O擴(kuò)展總線140之間的接口。I/O擴(kuò)展總線140代表用來(lái)提供主機(jī)與I/O擴(kuò)展插箱之間的高速數(shù)據(jù)接口的線纜和連接器。I/O擴(kuò)展總線140可以按照應(yīng)用程序特定或?qū)S袇f(xié)議來(lái)實(shí)現(xiàn)。
附圖10所示的主機(jī)102還包括與I/O總線126相連的服務(wù)處理器125。服務(wù)處理器125是主機(jī)102內(nèi)的微計(jì)算機(jī),包括隨機(jī)存儲(chǔ)存儲(chǔ)器和程序存儲(chǔ)裝置(未示出)。服務(wù)處理器125和BIOS 121負(fù)責(zé)初始化和測(cè)試構(gòu)成組件100的邏輯互連和為了正常操作而對(duì)它們進(jìn)行配置。服務(wù)處理器125還在該系統(tǒng)處于工作狀態(tài)時(shí)監(jiān)控主機(jī)和擴(kuò)展插箱的功能健康狀態(tài),以便在出現(xiàn)任何故障組件的時(shí)候?qū)⑺鼈儥z測(cè)出來(lái)。服務(wù)處理器125該提供管理和/或部署應(yīng)用程序與主機(jī)之間的接口。
對(duì)本發(fā)明來(lái)說(shuō),尤其關(guān)心的是,服務(wù)處理器125提供附圖1中的擴(kuò)展插箱101和主機(jī)102之間的接口。更加具體地說(shuō),服務(wù)處理器125提供BIOS 121與擴(kuò)展插箱101的控制器之間的通信管道。附圖10中示出了服務(wù)處理器125與擴(kuò)展插箱101之間的物理鏈路,這里稱(chēng)為插箱管理鏈路(DML)150。DML 150提供在主機(jī)102-1或102-2與擴(kuò)展插箱101之間路由命令和響應(yīng)的鏈路。
現(xiàn)在參照附圖2,給出了擴(kuò)展插箱101的實(shí)施方式的選定單元。擴(kuò)展插箱101為與之相連的主機(jī)102提供I/O資源。由擴(kuò)展插箱101提供的I/O資源稱(chēng)為外部或遠(yuǎn)程I/O(RIO)資源。擴(kuò)展插箱101提供的I/O資源包括存儲(chǔ)資源(比如硬盤(pán)適配器)和/或網(wǎng)絡(luò)資源(比如多種網(wǎng)絡(luò)適配器)。所示的擴(kuò)展插箱101的實(shí)施方式包括由IBM公司出品的RXE-100擴(kuò)展插箱中所存在的那些組成部分。按照這種實(shí)施方式,擴(kuò)展插箱101是附屬于主機(jī)102的遠(yuǎn)程I/O插箱。擴(kuò)展插箱101具有兩個(gè)擴(kuò)展卡211,每個(gè)擴(kuò)展卡211提供六個(gè)附加I/O適配器卡插槽214。按照附圖2所示的實(shí)施方式,擴(kuò)展插箱101包括第一和第二I/O擴(kuò)展卡211-1和211-2(本文總稱(chēng)或通稱(chēng)為I/O擴(kuò)展卡211)。I/O擴(kuò)展卡211-1代表擴(kuò)展插箱101的A端,而I/O擴(kuò)展卡211-2代表擴(kuò)展插箱101的B端。各個(gè)擴(kuò)展卡211可與相應(yīng)的I/O擴(kuò)展總線140-1或140-2相連,總線140-1或140-2提供主機(jī)102和擴(kuò)展插箱101之間的數(shù)據(jù)互連。各個(gè)擴(kuò)展卡211包括橋路210,提供相應(yīng)的I/O擴(kuò)展總線140與各個(gè)適配器總線212以及它們的相應(yīng)適配器插槽214之間的接口。按照所示的實(shí)施方式,橋路210還提供在A端211-1和B端211-2擴(kuò)展卡之間進(jìn)行內(nèi)部路由的內(nèi)部I/O擴(kuò)展總線145。內(nèi)部擴(kuò)展總線145使得單獨(dú)一個(gè)主機(jī)能夠在擴(kuò)展插箱101中同時(shí)存在兩個(gè)擴(kuò)展卡211的時(shí)候通過(guò)單獨(dú)一個(gè)外部I/O擴(kuò)展總線140來(lái)訪問(wèn)兩個(gè)擴(kuò)展卡的所有I/O適配器插槽214(如附圖3所示)。此外,內(nèi)部擴(kuò)展總線145有助于實(shí)現(xiàn)兩個(gè)或多個(gè)擴(kuò)展插箱101的菊花鏈連接,如附圖6所示。
圖示的擴(kuò)展插箱101的實(shí)施方式包括邏輯電路、固件、軟件或它們的組合,此處稱(chēng)為插箱管理控制器(DMC)220。DMC 220有權(quán)訪問(wèn)本機(jī)存儲(chǔ)器225。本機(jī)存儲(chǔ)器225可以包括非易失性存儲(chǔ)裝置(閃存卡、EEPROM之類(lèi))和易失性存儲(chǔ)器設(shè)備(DRAM、SRAM等)。
所示的DMC 220可與第一和第二DML纜線150-1和150-2連接,其中第一DML纜線150-1可與第一主機(jī)102-1的服務(wù)處理器連接,第二DML纜線可與第二主機(jī)102-2連接。
按照本發(fā)明的DMC 220與主機(jī)101進(jìn)行通信并且維護(hù)與I/O資源(包括擴(kuò)展插箱101內(nèi)的擴(kuò)展卡211)的分配和可用性有關(guān)的信息。這一信息(這里總稱(chēng)為分配狀態(tài)信息)最好本地(在擴(kuò)展插箱101內(nèi))存儲(chǔ)在本機(jī)存儲(chǔ)器225的非易失性部分中。擴(kuò)展插箱101的分配狀態(tài)在附圖2中由附圖標(biāo)記250表示。DMC 220,顧名思義,提供插箱自身的管理。在這個(gè)功能上,DMC 220可以負(fù)責(zé)例如監(jiān)測(cè)電源230、環(huán)境風(fēng)扇240和擴(kuò)展卡211的工作狀態(tài)。雖然所介紹的實(shí)施方式將資源分配功能和插箱管理功能整合到了單獨(dú)一個(gè)單元中,但是應(yīng)當(dāng)意識(shí)到,這些功能可以在不同的芯片或芯片組中實(shí)現(xiàn)。不過(guò),在主要考慮成本的應(yīng)用中,最好將這些功能整合到單獨(dú)一個(gè)控制器或微處理器芯片中。
擴(kuò)展插箱101包括多個(gè)或冗余的電源230和風(fēng)扇240。按照優(yōu)選實(shí)施方式,電源230和風(fēng)扇240以及插在適配器插槽214中的適配器卡是可以熱插拔的。熱插拔能力使得客戶能夠在不關(guān)閉整個(gè)插箱的情況下更換組成部分。
圖示的擴(kuò)展插箱101的實(shí)施方式包括單獨(dú)一個(gè)DMC 220,但是可以包括兩個(gè)擴(kuò)展卡211。希望,如果擴(kuò)展卡211是可以單獨(dú)配置和控制的,則例如第一主機(jī)負(fù)責(zé)配置單一擴(kuò)展卡,而第二主機(jī)負(fù)責(zé)配置第二擴(kuò)展卡。不過(guò),此外,如果還能夠授權(quán)單獨(dú)一個(gè)主機(jī)配置擴(kuò)展插箱101的兩端,則可以實(shí)現(xiàn)最大的靈活性。
通過(guò)為DMC 220配置至少兩種操作模式,按照本發(fā)明的一種實(shí)施方式,實(shí)現(xiàn)了兼?zhèn)溥@些不同的配置方案。在“分離”模式下,將DMC220從邏輯上劃分成了支持僅針對(duì)擴(kuò)展插箱的A端或B端的主機(jī)命令。在分離模式下,DMC 220將僅接收來(lái)自A端DML 150-1的對(duì)于A端擴(kuò)展卡211的命令。同樣,當(dāng)處于分離模式下時(shí),DMC 220將僅接收來(lái)自B端DML 150-2的對(duì)于B端擴(kuò)展卡211的命令。此外,可以有即使當(dāng)插箱處于分離模式下時(shí)也能促使DMC 220對(duì)擴(kuò)展插箱101的兩端進(jìn)行動(dòng)作的統(tǒng)一命令的子集。例如,在一個(gè)DML不工作的故障狀態(tài)下,DMC 220能夠從另一個(gè)DML接收強(qiáng)制斷電命令,這個(gè)命令導(dǎo)致擴(kuò)展插箱的兩端在分離模式下處于斷電狀態(tài)。
在“統(tǒng)一”模式下,DMC 220從單獨(dú)一個(gè)主機(jī)接受對(duì)A端和B端(如果有)I/O擴(kuò)展卡的命令,并且針對(duì)非故障情況的控制端是通過(guò)DML端口附屬于哪一端來(lái)確定的。例如,當(dāng)在統(tǒng)一模式下時(shí),如果DML附屬于I/O擴(kuò)展插箱的B端,那么I/O擴(kuò)展卡分配將是針對(duì)I/O擴(kuò)展總線的B端的。這樣,DMC 220存儲(chǔ)I/O擴(kuò)展卡與I/O擴(kuò)展總線之間的相對(duì)關(guān)系。
如上面所指出的,本發(fā)明設(shè)想了各種不同的主機(jī)/擴(kuò)展組件100的方案。組件100例如可以包括可變數(shù)量的主機(jī)102、每主機(jī)可變數(shù)量的擴(kuò)展總線140、可變數(shù)量的擴(kuò)展插箱101、每擴(kuò)展插箱可變數(shù)量的擴(kuò)展卡211和每擴(kuò)展卡可變數(shù)量的適配器總線212。主機(jī)102可以是同種的(具有相同的平臺(tái)類(lèi)型)或異種的(具有不同的平臺(tái)類(lèi)型)。本公開(kāi)文本中使用的平臺(tái)類(lèi)型指的是主機(jī)102的處理器和操作系統(tǒng)組合。而且,按照所介紹的實(shí)施方式,所有可能的主機(jī)/擴(kuò)展組件100的排列是在插箱層面上由單獨(dú)一個(gè)DMC 220管理的。
在下文中將介紹主機(jī)/擴(kuò)展組件100的各種不同的可行配置。在所有這些配置中,組件100包括實(shí)現(xiàn)各種各樣的遠(yuǎn)程I/O資源和管理任務(wù)的功能。這種功能可以在主機(jī)/擴(kuò)展組件100的各種單元中實(shí)現(xiàn)。不過(guò),按照優(yōu)選實(shí)施方式,負(fù)責(zé)提供這種功能的主要單元包括DMC220、主機(jī)BIOS 121(和服務(wù)處理器125)和遠(yuǎn)程管理代理程序104(附圖11中給出)。
遠(yuǎn)程I/O資源分配和管理功能最好提供至少部分下述特征。DMC220與BIOS 121相結(jié)合,配置成使得主機(jī)102能夠從擴(kuò)展插箱101取得I/O資源分配狀態(tài)信息。分配狀態(tài)有助于主機(jī)102確定配置給各個(gè)擴(kuò)展總線140的擴(kuò)展卡211的數(shù)量。如果,由于任何原因,分配給主機(jī)(或分配給主機(jī)的某一擴(kuò)展總線)的擴(kuò)展卡的數(shù)量發(fā)生變化,DMC220和BIOS 121進(jìn)行必要的調(diào)節(jié),從而在后續(xù)的引導(dǎo)期間,BIOS 121配置所有那些和僅僅那些分配給相應(yīng)主機(jī)102的擴(kuò)展卡。I/O資源的重新分配應(yīng)該最好是在不要求用戶或管理員變動(dòng)線路布局的前提下發(fā)生的。
DMC 220和BIOS 121最好配置成檢測(cè)操作期間的主機(jī)連接線路(即,擴(kuò)展總線140)的故障,并且響應(yīng)于此,將之前與故障的擴(kuò)展總線相關(guān)的I/O資源分配給新的現(xiàn)有主機(jī)的擴(kuò)展總線。取決于操作系統(tǒng)的高級(jí)可程控中斷控制器(APIC)的使用情況,從故障擴(kuò)展總線到正??偩€的資源分配可以動(dòng)態(tài)實(shí)現(xiàn)(即,不用重新引導(dǎo)主機(jī)),盡管可能有需要重新引導(dǎo)的操作系統(tǒng)環(huán)境。
主機(jī)/擴(kuò)展組件100的I/O資源分配工具最好能夠沿著這些相同的線路檢測(cè)不正確接線問(wèn)題,比如當(dāng)來(lái)自第一主機(jī)的DML 150與B端DML端口相連并且第一主機(jī)的I/O擴(kuò)展總線140與A端擴(kuò)展總線端口相連時(shí)。
主機(jī)/擴(kuò)展組件100的I/O資源分配特征最好還包括用于確保已經(jīng)分配給第一主機(jī)的擴(kuò)展卡不再次分配給第二主機(jī)的裝置。這一特征在安全或保密數(shù)據(jù)的情況下尤其有用。使用下面介紹的保留指示有助于實(shí)現(xiàn)這個(gè)特征。
此外,主機(jī)/擴(kuò)展組件100應(yīng)當(dāng)最好提供電源管理工具,防止一個(gè)主機(jī)在沒(méi)有得到擴(kuò)展插箱的另一端的主機(jī)(在可應(yīng)用的時(shí)候)同意的情況下切斷擴(kuò)展插箱的電源。當(dāng)另一端的主機(jī)故障時(shí),可以不考慮這一同意特征。
現(xiàn)在參照附圖3到附圖6,給出了主機(jī)/擴(kuò)展組件100的各種配置方案,來(lái)圖解說(shuō)明擴(kuò)展插件101的靈活性。當(dāng)主機(jī)102進(jìn)行引導(dǎo)時(shí),它通過(guò)DML纜線150從DMC獲得配置信息。這一信息包括建立在DML上的各個(gè)DMC的DMC ID、各個(gè)I/O擴(kuò)展盒是工作在統(tǒng)一模式下還是分離模式下、I/O擴(kuò)展插箱中聲稱(chēng)的I/O擴(kuò)展卡的數(shù)量。DMC還報(bào)告主機(jī)102哪個(gè)DML端口(A端或B端)正用于訪問(wèn)I/O擴(kuò)展插箱。主機(jī)BIOS確定有效I/O擴(kuò)展總線的數(shù)量。使用這一信息,BIOS于是確定使用哪個(gè)I/O擴(kuò)展總線和要進(jìn)行配置的I/O擴(kuò)展卡的數(shù)量。
附圖3表示主機(jī)/擴(kuò)展組件100的單獨(dú)一個(gè)主機(jī)、單獨(dú)一個(gè)擴(kuò)展插箱的實(shí)現(xiàn)方式,其中主機(jī)102與擴(kuò)展插箱的A端擴(kuò)展卡211-1相連。具體來(lái)說(shuō),DML纜線150連接在主機(jī)102的DML端口152與擴(kuò)展插箱101的A端擴(kuò)展卡211-1的DML端口209-1之間。擴(kuò)展總線線纜140連接在主機(jī)102的擴(kuò)展總線端142與擴(kuò)展卡211-1的A端的擴(kuò)展總線端口208-1之間。內(nèi)部擴(kuò)展總線145將插箱101的A端擴(kuò)展總線與B端相連。
按照這種相對(duì)簡(jiǎn)單的配置方案,插箱101工作在統(tǒng)一模式下,在這種模式下,通過(guò)DML線纜150發(fā)送的命令在擴(kuò)展插箱101的兩端上得到執(zhí)行(假設(shè)在B端上存在擴(kuò)展卡211-2)。按照一種實(shí)施方式,A端擴(kuò)展卡提供一組六個(gè)適配器插槽(附圖3中未示出)。此外,如果存在B端擴(kuò)展卡211-2,主機(jī)102能夠獲得B端I/O資源,從而實(shí)際上獲得了另外六個(gè)適配器插槽,總共12個(gè)附加插槽。因?yàn)橹鳈C(jī)1022可能具有六個(gè)或少于六個(gè)擴(kuò)展插槽,因此所介紹的擴(kuò)展插箱101的實(shí)施方式在按照附圖3所示的配置方案進(jìn)行工作的時(shí)候,能夠?qū)崿F(xiàn)具有三倍于主機(jī)102的I/O資源的組件100。
現(xiàn)在參照附圖4,給出了附圖3中所示的單獨(dú)一個(gè)主機(jī)、單獨(dú)一個(gè)擴(kuò)展插箱的實(shí)施方式的變形方式。按照附圖4所示的配置方案,單獨(dú)一個(gè)主機(jī)102包括一對(duì)擴(kuò)展總線端口142和144。第一擴(kuò)展總線140-1將主機(jī)擴(kuò)展總線端口142與A端擴(kuò)展卡211-1上的擴(kuò)展總線端口208-1連接起來(lái),而主機(jī)102的第二擴(kuò)展總線140-2連接在主機(jī)102的第二擴(kuò)展總線端口142與B端擴(kuò)展卡211-2上的擴(kuò)展總線端口208-2之間。單獨(dú)一個(gè)DML鏈路150連接在主機(jī)DML端口152與A端擴(kuò)展卡211-1上的DML端口209-1之間。
按照這種配置方案,擴(kuò)展插箱101及其DMC(附圖4中未示出)同樣工作在統(tǒng)一模式下,在這一模式下,來(lái)自主機(jī)102的命令適用于A和B端擴(kuò)展卡211-1和211-2。這種主機(jī)/擴(kuò)展組件100的配置方案提供了優(yōu)于附圖3所示的配置方案的性能和冗余性。I/O性能通過(guò)兩個(gè)I/O擴(kuò)展總線140-1和140-2的可用性可能得到提高。此外,可靠性得到了提高,因?yàn)樵诘谝粩U(kuò)展總線140-1故障的情況下,還剩下第二擴(kuò)展總線140-2可以工作??捎傻谝粩U(kuò)展總線訪問(wèn)的I/O資源于是可以通過(guò)第二總線進(jìn)行訪問(wèn)。
現(xiàn)在參照附圖5,所示的組件100的實(shí)施方式包括共用單獨(dú)一個(gè)擴(kuò)展插箱101的第一主機(jī)120-1和第二主機(jī)120-2。按照這種配置方案,DML鏈路150-1從第一主機(jī)102-1連接到擴(kuò)展插箱101的A端擴(kuò)展卡211-1上的DML端口209-1上。DML鏈路150-2從第二主機(jī)102-2連接到B端擴(kuò)展卡211-2上的DML端口209-2上。擴(kuò)展總線140-1將第一主機(jī)102-1的擴(kuò)展端口142-1與擴(kuò)展插箱101的A端擴(kuò)展端口208-1連接起來(lái),而第二擴(kuò)展總線140-2將第二主機(jī)102-2的擴(kuò)展端口142-2與擴(kuò)展插箱101的B端擴(kuò)展端口208-2連接起來(lái)。
按照這種配置方案,擴(kuò)展插箱101的DMC(附圖5中未示出)將擴(kuò)展插箱101置于分離模式下。B端擴(kuò)展卡211-2的配置是通過(guò)經(jīng)B端擴(kuò)展總線140-2從主機(jī)102-2發(fā)送來(lái)的命令來(lái)完成的。A端擴(kuò)展卡211-1的配置是通過(guò)經(jīng)A端擴(kuò)展總線140-1從主機(jī)102-1發(fā)來(lái)的命令完成的。假設(shè)各個(gè)主機(jī)102請(qǐng)求擴(kuò)展卡,則擴(kuò)展插箱101將會(huì)記錄表明B端擴(kuò)展卡211-2已分配給主機(jī)102-2和A端擴(kuò)展卡211-1已經(jīng)分配給第一主機(jī)102-1的信息。主機(jī)將僅對(duì)已經(jīng)分配給它的擴(kuò)展卡進(jìn)行配置。這總體上防止了一個(gè)主機(jī)控制另一個(gè)主機(jī)的擴(kuò)展卡。在主機(jī)變得不起作用的情況下,管理代理程序104可以指揮將擴(kuò)展卡從不起作用的主機(jī)分配給依然工作的主機(jī),只要不受到安全限制。
現(xiàn)在參照附圖6,示出了組件100的多主機(jī)、多插箱實(shí)施方式。按照這種配置,將一組三個(gè)擴(kuò)展插箱101-1、101-2和101-3連接在一起,提供了對(duì)多達(dá)六個(gè)擴(kuò)展卡211(每個(gè)插箱中有兩個(gè)卡)的菊花鏈擴(kuò)展總線連接。這種情況下的擴(kuò)展總線包括與主機(jī)102-1相連的擴(kuò)展總線140-1、內(nèi)部擴(kuò)展總線145、插箱間擴(kuò)展總線146和147以及與主機(jī)102-2相連的擴(kuò)展總線140-2。這六個(gè)可用的擴(kuò)展卡211可以以任何組合形式分配給兩個(gè)主機(jī)6-0、5-1、4-2、3-3等等。
DML 150-1通過(guò)串聯(lián)連接從第一主機(jī)102-1連接到插箱101-1、101-2和101-3的DML端口209-1。類(lèi)似地,DML 150-2通過(guò)串聯(lián)連接從主機(jī)102-2連接到插箱101-1、101-2和101-3的DML端口209-2。按照這種方式,各個(gè)主機(jī)102能夠?qū)⒚畎l(fā)送給(即,配置)任何一個(gè)或所有的插箱101。
兩個(gè)主機(jī)102-1和102-2之間的資源的分配可以通過(guò)控制各個(gè)插箱101的分離模式和統(tǒng)一模式來(lái)實(shí)現(xiàn)。如果例如將六個(gè)擴(kuò)展卡211中的三個(gè)分配給第一主機(jī)102-1,而將另外三個(gè)卡分配給第二主機(jī)102-2,則這種分配可以通過(guò)下述方式來(lái)實(shí)現(xiàn)將第一插箱101-1置于第一主機(jī)102-1控制下的統(tǒng)一模式下、將第三插箱101-3置于第二主機(jī)102-2控制下的統(tǒng)一模式下并且將第二插箱101-2置于分離模式下,用第一主機(jī)102-1控制其A端擴(kuò)展卡(未示出)和第二主機(jī)102-2控制其B端擴(kuò)展卡。在這一分配就位的情況下,第一主機(jī)102-1的BIOS將會(huì)在引導(dǎo)期間將第一擴(kuò)展插箱中的兩個(gè)擴(kuò)展卡和第二擴(kuò)展插箱中的A端擴(kuò)展卡211配置在其I/O擴(kuò)展總線140-1上。類(lèi)似地,第二主機(jī)102-2的BIOS將會(huì)把三個(gè)擴(kuò)展卡配置在其I/O擴(kuò)展總線140-2上。
第二插箱101-2的分離模式標(biāo)志著用于各個(gè)主機(jī)的擴(kuò)展總線的分界線。如果將四個(gè)擴(kuò)展卡分配給第一主機(jī)102-1,而將兩個(gè)擴(kuò)展卡分配給第二主機(jī)102-2,則這種分配可以通過(guò)將插箱101-1和101-2置于主機(jī)102-1控制下的統(tǒng)一模式而將插箱101-3置于主機(jī)102-2控制下的統(tǒng)一模式來(lái)實(shí)現(xiàn)。
附圖3到附圖6示出了主機(jī)/擴(kuò)展組件100的各種物理配置方案。主機(jī)/擴(kuò)展組件100除了物理硬件結(jié)構(gòu)體系外,還包括軟件和/或固件。這樣,本發(fā)明的各部分可以實(shí)現(xiàn)為存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可執(zhí)行指令集或序列。該介質(zhì)可以是磁盤(pán)、光盤(pán)、閃存設(shè)備或者持久性存儲(chǔ)器的某些其它適當(dāng)形式。在正在執(zhí)行指令期間,這些指令中的至少一部分可以駐留在易失性介質(zhì)中,比如基于DRAM或SRAM的存儲(chǔ)器設(shè)備。在本發(fā)明的情況下,計(jì)算機(jī)可執(zhí)行指令在執(zhí)行的時(shí)候,使得主機(jī)/擴(kuò)展組件100能夠管理按照本發(fā)明的遠(yuǎn)程I/O資源分配。
管理按照本發(fā)明的遠(yuǎn)程I/O資源分配需要組件100不同單元之間的相互作用。參與遠(yuǎn)程I/O資源分配和管理處理過(guò)程的主要單元包括主機(jī)102的BIOS 121、主機(jī)102的服務(wù)處理器125和擴(kuò)展插箱101的DMC 220。此外,也可以使用遠(yuǎn)程部署/管理代理程序來(lái)實(shí)現(xiàn)本文介紹的I/O資源分配和管理。
現(xiàn)在參照附圖7,給出了報(bào)告按照一種實(shí)施方式的遠(yuǎn)程I/O資源的分配情況的方法700的流程圖。方法700是以具有兩側(cè)的流程的形式給出的,其中由一個(gè)代理程序進(jìn)行的動(dòng)作表示在圖的左側(cè),而由另一個(gè)代理程序進(jìn)行的動(dòng)作表示在圖的右側(cè)。按照所示出的實(shí)施方式,組件100負(fù)責(zé)實(shí)施遠(yuǎn)程I/O資源的分配的主要單元是主機(jī)BIOS 121(附圖9)和擴(kuò)展插箱上的DMC 220(附圖2)。主機(jī)BIOS使用主機(jī)服務(wù)處理器作為中介與擴(kuò)展插箱DMC進(jìn)行通信。
如附圖7所示,在主機(jī)BIOS發(fā)出報(bào)告分配命令的時(shí)候,方法700啟動(dòng)(塊702)。報(bào)告分配命令I(lǐng)/O是這樣一種機(jī)制主機(jī)通過(guò)該機(jī)制從擴(kuò)展插箱請(qǐng)求和取得I/O資源分配信息(即,分配狀態(tài)信息250),該分配信息存儲(chǔ)在擴(kuò)展插箱上并且由擴(kuò)展插箱進(jìn)行維護(hù)。報(bào)告分配命令是由主機(jī)BIOS 121發(fā)出的,并且經(jīng)由服務(wù)處理器125和DML 150發(fā)送到擴(kuò)展插箱101的DMC 220。
在從主機(jī)經(jīng)由其DML 150接收到報(bào)告分配命令時(shí),擴(kuò)展插箱191的DMC 220切斷(塊704)所有其它的主機(jī)102與擴(kuò)展插箱進(jìn)行的通信。切斷除了當(dāng)前“活動(dòng)”主機(jī)之外的所有其它主機(jī)防止了主機(jī)之間的分配沖突。其它的主機(jī)保持與擴(kuò)展插箱的切斷狀態(tài),直到活動(dòng)主機(jī)發(fā)出結(jié)束分配命令來(lái)終止它與擴(kuò)展插箱進(jìn)行的會(huì)話。
報(bào)告分配命令是這樣一種機(jī)制主機(jī)102通過(guò)該機(jī)制請(qǐng)求(塊706)DMC信息。響應(yīng)于對(duì)DMC信息的請(qǐng)求,所示的DMC 220的實(shí)現(xiàn)方式為主機(jī)提供(塊708)DMC信息,包括DMC ID、插箱端(A端或B端)和DML 150所附屬于的DML端口209的總線地址。
報(bào)告分配命令是這樣一種機(jī)制進(jìn)一步用作主機(jī)從擴(kuò)展插箱請(qǐng)求(塊710)擴(kuò)展卡信息的機(jī)制。具體來(lái)說(shuō),報(bào)告分配命令促使塊708中報(bào)告的各個(gè)DMC報(bào)告(塊712)其相應(yīng)的擴(kuò)展卡信息。擴(kuò)展卡信息包括針對(duì)塊708中識(shí)別的各個(gè)DMC而分配給主機(jī)的擴(kuò)展卡的數(shù)量。
當(dāng)識(shí)別了分配給主機(jī)的所有擴(kuò)展卡時(shí),主機(jī)BIOS可以開(kāi)始配置其分配的擴(kuò)展卡來(lái)進(jìn)行操作。按照這種方式,主機(jī)102能夠自動(dòng)確定配置在各個(gè)擴(kuò)展總線上的I/O擴(kuò)展卡的數(shù)量,并且反過(guò)來(lái),確定不配置哪些I/O了擴(kuò)展卡(例如,分配給其它主機(jī)的擴(kuò)展卡)。按照所示的方法700的實(shí)施方式,BIOS 121遍歷分配給主機(jī)的擴(kuò)展卡211上的所有橋路210,并且確定(塊714)橋路是否已經(jīng)經(jīng)過(guò)配置。如果(塊716)橋路沒(méi)有經(jīng)過(guò)配置,則BIOS為了進(jìn)行操作而對(duì)橋路進(jìn)行配置(塊718)。如果(塊716)橋路已經(jīng)經(jīng)過(guò)配置,在因?yàn)檫@個(gè)橋路已經(jīng)由另一個(gè)主機(jī)進(jìn)行過(guò)配置而斷定不應(yīng)對(duì)這個(gè)橋路進(jìn)行配置之前,BIOS將會(huì)重新進(jìn)行它的配置檢查(塊720)。BIOS 121對(duì)它的每一個(gè)擴(kuò)展總線140進(jìn)行塊710到720中的步驟。
按照上面介紹的方式,報(bào)告分配程序700使得主機(jī)BIOS能夠獲得主機(jī)/擴(kuò)展組件100的擴(kuò)展插箱101中擴(kuò)展卡的分配狀態(tài)。因?yàn)榉峙錉顟B(tài)是在擴(kuò)展插箱101上進(jìn)行維護(hù)的,因此主機(jī)能夠在引導(dǎo)程序期間獲得該信息并且不需要本地地或跨越引導(dǎo)周期地存儲(chǔ)這一信息。這種方案在將新的主機(jī)作為該組件的附加主機(jī)或作為對(duì)現(xiàn)有主機(jī)的替換主機(jī)而引入組件時(shí)非常有益,因?yàn)椴恍枰獙⑿碌闹鳈C(jī)定制成任何特定的分配狀態(tài)。相反,新的主機(jī)從擴(kuò)展插箱提供的信息中確定它可以配置哪些I/O資源。
類(lèi)似地,因?yàn)橹鳈C(jī)102從擴(kuò)展插箱101取得了擴(kuò)展卡信息,所以主機(jī)102能夠檢測(cè)出擴(kuò)展卡數(shù)量的變化并且管理新數(shù)量的擴(kuò)展卡的配置,不管是先前的配置中加入了還是除去了擴(kuò)展卡。更加具體地講,如果在擴(kuò)展插箱101中加入了或除去了擴(kuò)展卡211,則對(duì)分配狀態(tài)250進(jìn)行更新,以指出新擴(kuò)展卡的分配或解除已經(jīng)除掉的擴(kuò)展卡的分配。(更新分配狀態(tài)250可以從主機(jī)102使用管理代理程序或通過(guò)BIOS調(diào)用的設(shè)置菜單來(lái)實(shí)現(xiàn),下面將參照附圖8進(jìn)行介紹)。
現(xiàn)在參照附圖8,給出了按照本發(fā)明的一種實(shí)施方式的改變分配程序800的流程圖。改變分配程序,顧名思義,使得主機(jī)能夠更改它們的I/O資源分配并且能夠?qū)⒔?jīng)過(guò)更改的分配狀態(tài)存儲(chǔ)在擴(kuò)展插箱上。
按照所示的實(shí)施方式,改變分配程序800是通過(guò)用戶或管理員調(diào)用(塊802)BIOS設(shè)置菜單來(lái)啟動(dòng)的。調(diào)用BIOS設(shè)置菜單可以在引導(dǎo)程序期間進(jìn)行,不過(guò)按照某些實(shí)施方式也可以從可擴(kuò)展固件接口(EFI)調(diào)用。按照本發(fā)明,BIOS設(shè)置菜單報(bào)告(塊804)任何接線不匹配并且顯示(塊806)與主機(jī)/擴(kuò)展組件內(nèi)的已經(jīng)分配的、可用的并且保留下來(lái)的遠(yuǎn)程I/O資源有關(guān)的信息。應(yīng)注意,管理代理程序104能夠?qū)崿F(xiàn)與BIOS設(shè)置菜單相同的功能。
按照優(yōu)選實(shí)施方式,BIOS設(shè)置菜單顯示與DMC 220相關(guān)聯(lián)的ID和DML 150所連接的擴(kuò)展插箱端(A端或B端)。設(shè)置菜單最好此外還顯示DMC ID和各個(gè)擴(kuò)展總線140所附屬于的擴(kuò)展插箱端。通過(guò)這一信息,如果檢測(cè)到接線不匹配(比如當(dāng)DML 150連接到A端并且擴(kuò)展總線140-1連接到擴(kuò)展插箱的B端時(shí)),BIOS設(shè)置菜單可以報(bào)告錯(cuò)誤指示符。
按照優(yōu)選實(shí)施方式,BIOS設(shè)置菜單還顯示擴(kuò)展卡信息。BIOS菜單中指出的擴(kuò)展卡信息可以包括分配給主機(jī)的擴(kuò)展卡的數(shù)量和當(dāng)前未分配的擴(kuò)展卡數(shù)量。BIOS菜單可以為各個(gè)已經(jīng)分配的擴(kuò)展卡指出該擴(kuò)展卡是否仍然由主機(jī)保留。主機(jī)可以選擇保留已經(jīng)分配的擴(kuò)展卡,從而在主機(jī)變得不操作的情況下,其它的主機(jī)不能獲得該擴(kuò)展卡作為它的可用資源之一。這一保留規(guī)定可以有益地對(duì)包含保密或機(jī)密信息的I/O資源(例如盤(pán)空間)采用。
BIOS設(shè)置菜單最好還顯示使得用戶能夠執(zhí)行部分或全部下述功能的用戶可選項(xiàng)(1)要求未分配的擴(kuò)展卡;(2)釋放已經(jīng)分配的擴(kuò)展卡;和(3)在每次變化之后更新分配/未分配的擴(kuò)展卡的顯示。BIOS設(shè)置菜單可以使得用戶能夠?yàn)楦鱾€(gè)所要求的擴(kuò)展卡分配保留指示符。一旦將保留指示符施加給擴(kuò)展卡,就會(huì)防止任何其它主機(jī)將來(lái)要求已經(jīng)保留的擴(kuò)展卡,即使擴(kuò)展卡所分配的主機(jī)變成不操作狀態(tài)。
BIOS設(shè)置菜單的優(yōu)選實(shí)施方式包括釋放分配命令,該命令釋放(塊816)分配給釋放主機(jī)的擴(kuò)展卡、為各個(gè)已經(jīng)釋放的擴(kuò)展卡重新設(shè)置保留指示符,并且將分配狀態(tài)250存回存儲(chǔ)器225。此外,BIOS設(shè)置菜單可以包括更新選項(xiàng),該選項(xiàng)從DMC取得當(dāng)前分配狀態(tài)信息并且更新(塊818)設(shè)置菜單中顯示的信息。
按照優(yōu)選實(shí)施方式,遠(yuǎn)程I/O資源信息并非跨越引導(dǎo)周期地由BIOS保持。而是,BIOS在每次引導(dǎo)的時(shí)候從(多個(gè))擴(kuò)展插箱獲得該信息。這樣,主機(jī)102不需要預(yù)先具有與連接在該主機(jī)上的任何擴(kuò)展插箱中的資源的分配情況相關(guān)的信息。如果例如使用新的主機(jī)替換故障的主機(jī),則新的主機(jī)將在進(jìn)行引導(dǎo)的時(shí)候從擴(kuò)展插箱獲得I/O資源分配信息。因此,替換主機(jī)將繼續(xù)使用原來(lái)主機(jī)的保留擴(kuò)展卡。這個(gè)過(guò)程避免了消耗時(shí)間的從替換主機(jī)的BIOS設(shè)置或主機(jī)配置到當(dāng)前經(jīng)過(guò)替換的擴(kuò)展插箱的分配狀態(tài)的修改過(guò)程。按照優(yōu)選實(shí)施方式,替換主機(jī)的配置是自動(dòng)更新的,而不用用戶或管理代理程序干預(yù)。這樣,修理人員不需要知道原始的主機(jī)配置或擴(kuò)展卡分配狀態(tài)。
按照所示的改變分配命令的實(shí)施方式,通過(guò)BIOS菜單或通過(guò)管理代理程序進(jìn)行運(yùn)作的用戶可以從三個(gè)選項(xiàng)中進(jìn)行選擇,即,CLAIMFIRST(要求第一個(gè))可用擴(kuò)展卡、CLAIM ALL(要求所有的)可用擴(kuò)展卡和CLAIM NONE(不要求)。主機(jī)BIOS監(jiān)測(cè)(塊808)來(lái)自用戶的輸入并且將改變分配選擇結(jié)果指示給擴(kuò)展插箱DMC,該DMC將對(duì)該選擇進(jìn)行處理并且記錄結(jié)果得到的分配信息。
如果擴(kuò)展插箱DMC從主機(jī)接收到了CLAIM NONE請(qǐng)求,則DMC將采取由附圖標(biāo)記810指示的動(dòng)作。具體來(lái)說(shuō),DMC將通過(guò)保持統(tǒng)一/分離模式不變來(lái)對(duì)CLAIM NONE請(qǐng)求作出響應(yīng)。此外,DMC將會(huì)“解除分配(unassign)”或清除當(dāng)前分配給進(jìn)行請(qǐng)求的主機(jī)的任何擴(kuò)展卡的分配。針對(duì)這些擴(kuò)展卡的所有保留指示符將由DMC進(jìn)行重置,并且還將對(duì)受到影響的擴(kuò)展卡更新分配/未分配信息。DMC然后將會(huì)把所有這些信息(通稱(chēng)為分配狀態(tài)信息250)存儲(chǔ)回?cái)U(kuò)展插箱211的存儲(chǔ)器225(附圖2)。
如果接收到了CLAIM FIRST請(qǐng)求,則DMC(塊812)將會(huì)把擴(kuò)展插箱置于分離模式下,并且將第一個(gè)可用擴(kuò)展卡分配(并且如果請(qǐng)求了的話,進(jìn)行保留)給進(jìn)行請(qǐng)求的主機(jī)。DMC然后將會(huì)釋放分配給請(qǐng)求主機(jī)的任何其它擴(kuò)展卡。最后,擴(kuò)展插箱DMC將會(huì)重置保留指示符、更新分配和未分配信息并且將分配狀態(tài)存儲(chǔ)回存儲(chǔ)器225。如果I/O擴(kuò)展插箱最初處于分離模式,并且在插箱中有第二個(gè)I/O擴(kuò)展卡,則主機(jī)將不能使用第二個(gè)I/O擴(kuò)展卡,除非主機(jī)利用第二I/O擴(kuò)展總線,或者將I/O插箱恢復(fù)為統(tǒng)一模式。主機(jī)/擴(kuò)展組件的某些實(shí)施方式可以采用在主機(jī)變成不工作狀態(tài)時(shí)激活的不工作主機(jī)指示符。不工作主機(jī)指示符在確定擴(kuò)展卡是否可以重新分配給另一個(gè)主機(jī)的過(guò)程中可能是很有用的。在引導(dǎo)時(shí)重新調(diào)用主機(jī)BIOS確定擴(kuò)展卡橋路是否已經(jīng)進(jìn)行了配置,不工作主機(jī)指示符對(duì)于使得主機(jī)能夠檢測(cè)出已經(jīng)分配給另一個(gè)已經(jīng)變成不工作的主機(jī)(但未由該主機(jī)保留)的擴(kuò)展卡應(yīng)當(dāng)重新分配給進(jìn)行請(qǐng)求的主機(jī)的狀態(tài)來(lái)說(shuō)是很有益處的。這個(gè)狀態(tài)會(huì)使可工作的主機(jī)例如在擴(kuò)展卡以前所分配的主機(jī)退出的時(shí)候訪問(wèn)關(guān)鍵數(shù)據(jù)。按照使用不工作主機(jī)指示符的實(shí)施方式,CLAIM FIRST請(qǐng)求將會(huì)為因請(qǐng)求而分配的擴(kuò)展插箱重置不工作主機(jī)指示符。
如果接收到CLAIM ALL請(qǐng)求,則在保留指示符無(wú)效的情況下,DMC(塊814)將會(huì)把擴(kuò)展插箱置于統(tǒng)一模式,將從主機(jī)接收到的分配命令施加給插箱中所有的擴(kuò)展卡。DMC還將把插箱中所有的可用擴(kuò)展卡分配給進(jìn)行請(qǐng)求的主機(jī),為各個(gè)經(jīng)過(guò)分配的擴(kuò)展卡更新保留指示符,并且將分配狀態(tài)250存儲(chǔ)回存儲(chǔ)器225。如果擴(kuò)展卡已經(jīng)具有從主機(jī)分配給它的保留指示符,則保留指示符取代請(qǐng)求主機(jī)的CLAIMALL請(qǐng)求,并且DMC將不會(huì)把該擴(kuò)展卡分配給進(jìn)行請(qǐng)求的主機(jī)。
參照附圖9,示出了從進(jìn)行控制的主機(jī)發(fā)送到擴(kuò)展插箱的結(jié)束分配命令900的流程圖。按照所示的實(shí)施方式,結(jié)束分配命令是在進(jìn)行控制的主機(jī)退出(塊902)BIOS菜單或管理代理程序時(shí)開(kāi)始的。退出BIOS設(shè)置菜單促使主機(jī)向擴(kuò)展插箱DMC發(fā)出(塊904)結(jié)束分配命令。響應(yīng)于結(jié)束分配命令的接收,擴(kuò)展插箱DMC終止(塊906)主機(jī)對(duì)擴(kuò)展插箱的獨(dú)占使用,而從使得其它主機(jī)能夠訪問(wèn)該擴(kuò)展插箱。結(jié)束分配命令本身并不更改擴(kuò)展卡分配或擴(kuò)展插箱模式(即,分離/統(tǒng)一)。直到DMC接收到結(jié)束分配命令之前,DMC不會(huì)理會(huì)來(lái)自其它主機(jī)的任何其它分配命令。
按照優(yōu)選實(shí)施方式,DMC將會(huì)監(jiān)測(cè)先前發(fā)出過(guò)報(bào)告分配命令的主機(jī)由于在規(guī)定的持續(xù)時(shí)期內(nèi)沒(méi)有動(dòng)作而無(wú)法發(fā)出結(jié)束分配命令的可能性。如果例如發(fā)出了報(bào)告分配命令的主機(jī)在發(fā)出結(jié)束分配命令之前變成了不工作,則DMC可以通過(guò)DML使用(舉例來(lái)說(shuō))服務(wù)處理器心跳檢測(cè)出該問(wèn)題,并且終止報(bào)告分配處理,從而另一個(gè)主機(jī)可用訪問(wèn)DMC。
參照附圖11,本發(fā)明的一種實(shí)現(xiàn)方式結(jié)合了網(wǎng)絡(luò)管理代理程序104。網(wǎng)絡(luò)管理代理程序可以包括商業(yè)發(fā)布管理代理應(yīng)用程序(比如IBM公司出品的IBM Director產(chǎn)品)中建立的很多構(gòu)件。針對(duì)本發(fā)明,管理代理程序104提供了用于調(diào)用用于各個(gè)主機(jī)102上的BIOS設(shè)置菜單的上面介紹過(guò)的擴(kuò)展插箱配置公用程序的集中式工具。按照這種實(shí)現(xiàn)方式,管理代理程序能夠通過(guò)調(diào)用通過(guò)主機(jī)的服務(wù)處理器設(shè)置的報(bào)告、改變和結(jié)束分配命令重新配置主機(jī)的擴(kuò)展插箱分配方案。按照這種方式,管理員能夠從任何網(wǎng)絡(luò)為多個(gè)主機(jī)重新配置I/O擴(kuò)展插箱分配。在成功進(jìn)行重新配置之后,管理代理程序104然后可以重新啟動(dòng)各個(gè)主機(jī)。
獲益于本公開(kāi)內(nèi)容的本領(lǐng)域技術(shù)人員顯然應(yīng)當(dāng)明白,本發(fā)明設(shè)想出了一種實(shí)現(xiàn)靈活配置主機(jī)/擴(kuò)展插箱組件的機(jī)制。應(yīng)理解,在詳細(xì)說(shuō)明和附圖中給出和介紹的本發(fā)明的形式僅僅是作為目前優(yōu)選的實(shí)例而采用的。我們想要的是,所附的權(quán)利要求應(yīng)得到廣義的解釋?zhuān)园_(kāi)的優(yōu)選實(shí)施方式的所有變化。
權(quán)利要求
1.一種適于與第一主機(jī)系統(tǒng)一起使用的擴(kuò)展設(shè)備,包括機(jī)箱;第一擴(kuò)展總線端口,用于接納來(lái)自第一主機(jī)的擴(kuò)展總線連接;機(jī)箱內(nèi)的第一擴(kuò)展卡,其中第一擴(kuò)展卡包括多個(gè)適配器插槽;和橋路裝置,提供各個(gè)適配器插槽與擴(kuò)展總線之間的接口。
2.按照權(quán)利要求1所述的設(shè)備,還包括用于監(jiān)視機(jī)箱內(nèi)的設(shè)置和狀態(tài)的裝置;機(jī)箱內(nèi)的存儲(chǔ)裝置;和用于將第一擴(kuò)展卡的分配狀態(tài)存儲(chǔ)在存儲(chǔ)裝置中并且用于將該分配狀態(tài)提供給第一主機(jī)的裝置,其中該分配狀態(tài)表明第一主機(jī)是否可以配置第一擴(kuò)展卡。
3.按照權(quán)利要求2所述的設(shè)備,還包括第一管理端口,用于接納機(jī)箱管理纜線。
4.按照權(quán)利要求3所述的設(shè)備,還包括用于識(shí)別和報(bào)告管理纜線所連接的管理端口的裝置和用于識(shí)別和報(bào)告擴(kuò)展總線所連接的擴(kuò)展端口的裝置。
5.按照權(quán)利要求2所述的設(shè)備,還包括用于通過(guò)取得所存儲(chǔ)的分配狀態(tài)對(duì)來(lái)自第一主機(jī)的報(bào)告分配請(qǐng)求作出響應(yīng)的裝置。
6.按照權(quán)利要求2所述的設(shè)備,還包括用于通過(guò)改變所存儲(chǔ)的分配狀態(tài)對(duì)來(lái)自第一主機(jī)的改變分配請(qǐng)求作出響應(yīng)的裝置。
7.按照權(quán)利要求6所述的設(shè)備,其中用于對(duì)改變分配請(qǐng)求作出響應(yīng)的裝置包括用于通過(guò)如果第一擴(kuò)展卡已經(jīng)進(jìn)行了分配則對(duì)該第一擴(kuò)展卡解除分配并且更新分配和未分配擴(kuò)展卡的數(shù)量來(lái)對(duì)第一類(lèi)型的改變分配請(qǐng)求作出響應(yīng)的裝置。
8.按照權(quán)利要求6所述的設(shè)備,其中用于對(duì)改變分配請(qǐng)求作出響應(yīng)的裝置包括用于通過(guò)將第一可用擴(kuò)展卡分配給第一主機(jī)、對(duì)分配給第一主機(jī)的任何其它擴(kuò)展卡解除分配并且更新分配和未分配擴(kuò)展卡的數(shù)量來(lái)對(duì)第二類(lèi)型的改變分配請(qǐng)求作出響應(yīng)的裝置。
9.按照權(quán)利要求6所述的設(shè)備,其中用于對(duì)改變分配請(qǐng)求作出響應(yīng)的裝置包括用于通過(guò)將該設(shè)備中所有未分配的擴(kuò)展卡分配給第一主機(jī)并且更新分配和未分配擴(kuò)展卡的數(shù)量來(lái)對(duì)第三類(lèi)型的改變分配請(qǐng)求作出響應(yīng)的裝置。
10.按照權(quán)利要求2所述的設(shè)備,還包括第二總線端口,用于接納第二擴(kuò)展總線連接;機(jī)箱內(nèi)的第二擴(kuò)展卡,其中第二擴(kuò)展卡包括多個(gè)適配器插槽;第二橋路裝置,提供各個(gè)適配器插槽與第二擴(kuò)展總線端口之間的接口;內(nèi)部擴(kuò)展總線,用于互相連接第一和第二橋路裝置;和用于將第二擴(kuò)展卡的分配狀態(tài)存儲(chǔ)在存儲(chǔ)裝置中并且用于將第二擴(kuò)展卡的分配狀態(tài)提供給第一主機(jī)的裝置,其中第二擴(kuò)展卡的分配狀態(tài)表明第一主機(jī)是否可以配置第二擴(kuò)展卡。
11.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可執(zhí)行指令,所述指令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,用于將第一主機(jī)耦合到至少一個(gè)擴(kuò)展設(shè)備,所述產(chǎn)品包括用于將擴(kuò)展設(shè)備的至少一個(gè)擴(kuò)展卡中的每一個(gè)的分配狀態(tài)存儲(chǔ)在擴(kuò)展設(shè)備上的計(jì)算機(jī)代碼裝置;用于使主機(jī)能夠從擴(kuò)展設(shè)備上取得分配狀態(tài)的計(jì)算機(jī)代碼裝置;和用于使主機(jī)能夠從所取得的分配狀態(tài)中確定擴(kuò)展設(shè)備中的要進(jìn)行配置的擴(kuò)展卡的數(shù)量和哪些擴(kuò)展卡不進(jìn)行配置的計(jì)算機(jī)代碼裝置。
12.按照權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,其中用于使得主機(jī)能夠確定哪些擴(kuò)展卡要進(jìn)行配置的計(jì)算機(jī)代碼裝置包括用于使得主機(jī)能夠確定為連接到主機(jī)的多個(gè)擴(kuò)展總線中的每一個(gè)配置哪些擴(kuò)展卡的計(jì)算機(jī)代碼裝置。
13.按照權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,還包括用于更新分配狀態(tài)以反映擴(kuò)展設(shè)備中擴(kuò)展卡數(shù)量的變化從而使得主機(jī)能夠配置數(shù)量變化的擴(kuò)展卡的計(jì)算機(jī)代碼裝置。
14.按照權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,還包括用于檢測(cè)與選定擴(kuò)展卡相關(guān)聯(lián)的故障擴(kuò)展總線的計(jì)算機(jī)代碼裝置;和用于將選定的擴(kuò)展卡分配給工作的擴(kuò)展總線的計(jì)算機(jī)代碼裝置。
15.按照權(quán)利要求14所述的計(jì)算機(jī)程序產(chǎn)品,還包括用于使得選定擴(kuò)展卡所分配到的工作主機(jī)能夠動(dòng)態(tài)地將擴(kuò)展卡重新分配給另一個(gè)擴(kuò)展總線的計(jì)算機(jī)代碼裝置。
16.按照權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其中選定擴(kuò)展卡的重新配置不需要改變擴(kuò)展總線接線。
17.按照權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,還包括用于檢驗(yàn)主機(jī)的擴(kuò)展總線纜線及其相應(yīng)的管理纜線與I/O擴(kuò)展設(shè)備之間的正確連接的計(jì)算機(jī)代碼裝置。
18.按照權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,還包括用于防止第二主機(jī)重新分配已經(jīng)分配的擴(kuò)展卡的計(jì)算機(jī)代碼裝置。
19.按照權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,還包括用于防止第一主機(jī)不與附屬于擴(kuò)展插箱的第二主機(jī)協(xié)同地切斷擴(kuò)展插箱的電源的計(jì)算機(jī)代碼裝置。
20.按照權(quán)利要求19所述的計(jì)算機(jī)程序產(chǎn)品,還包括用于使得第一主機(jī)能夠響應(yīng)于檢測(cè)到第二主機(jī)故障而切斷擴(kuò)展插箱電源的計(jì)算機(jī)代碼裝置。
21.一種數(shù)據(jù)處理組件,包括第一平臺(tái)類(lèi)型的第一主機(jī);通過(guò)第一擴(kuò)展總線纜線與第一主機(jī)相連接并且包括分配給第一主機(jī)并且由第一主機(jī)配置的第一擴(kuò)展卡的至少一個(gè)擴(kuò)展插箱;和擴(kuò)展插箱的存儲(chǔ)裝置,包含表明擴(kuò)展卡的分配的分配狀態(tài);其中主機(jī)能夠從存儲(chǔ)裝置取得分配狀態(tài)并且能夠根據(jù)分配狀態(tài)中的信息確定是否對(duì)第一擴(kuò)展卡進(jìn)行配置。
22.按照權(quán)利要求21所述的組件,還包括第二平臺(tái)類(lèi)型的第二主機(jī),其中第二主機(jī)通過(guò)第二擴(kuò)展總線纜線與擴(kuò)展插箱的第二擴(kuò)展卡相連接,并且其中分配狀態(tài)表明第二擴(kuò)展卡的分配狀態(tài)。
23.按照權(quán)利要求22所述的組件,還包括用于防止第一和第二主機(jī)競(jìng)爭(zhēng)配置同一擴(kuò)展卡的裝置。
24.按照權(quán)利要求21所述的組件,其中第一主機(jī)還包括與第二擴(kuò)展卡相連的第二擴(kuò)展總線,其中第一主機(jī)經(jīng)由第一擴(kuò)展總線配置第一擴(kuò)展卡,并且經(jīng)由第二擴(kuò)展總線配置第二擴(kuò)展卡。
25.按照權(quán)利要求24所述的組件,其中該組件配置成使得第一主機(jī)能夠響應(yīng)于第一擴(kuò)展總線的故障經(jīng)由第二擴(kuò)展總線訪問(wèn)第一和第二擴(kuò)展卡。
26.按照權(quán)利要求21所述的組件,還包括以菊花鏈方式與第一擴(kuò)展插箱連接的第二擴(kuò)展插箱,其中第一主機(jī)能夠配置各個(gè)擴(kuò)展插箱中的擴(kuò)展卡。
27.按照權(quán)利要求21所述的組件,還包括與第一主機(jī)的第二擴(kuò)展總線連接的第二擴(kuò)展插箱,其中第一主機(jī)能夠配置第一和第二擴(kuò)展插箱中的擴(kuò)展卡。
28.按照權(quán)利要求21所述的組件,還包括用于管理可用擴(kuò)展插箱和擴(kuò)展卡數(shù)量的動(dòng)態(tài)變化的裝置。
29.按照權(quán)利要求21所述的組件,其中取代第一主機(jī)的替換主機(jī)從擴(kuò)展插箱取得分配信息,從而使得替換主機(jī)能夠配置擴(kuò)展卡。
30.按照權(quán)利要求21所述的組件,還包括擴(kuò)展插箱中的第二擴(kuò)展卡,并且此外其中擴(kuò)展插箱包括配置成為第一和第二擴(kuò)展卡維護(hù)分配狀態(tài)的單個(gè)控制器。
31.按照權(quán)利要求30所述的組件,其中擴(kuò)展插箱可以呈現(xiàn)其中第一和第二擴(kuò)展卡由第一主機(jī)進(jìn)行配置的第一配置狀態(tài)和其中第一和第二擴(kuò)展卡由不同主機(jī)進(jìn)行配置的第二配置狀態(tài)。
32.按照權(quán)利要求21所述的組件,其中主機(jī)配置成不跨越引導(dǎo)周期保持分配狀態(tài)。
全文摘要
一種數(shù)據(jù)處理組件,包括與一個(gè)或多個(gè)擴(kuò)展插箱連接的一個(gè)或多個(gè)主機(jī)。分配狀態(tài)信息存儲(chǔ)在擴(kuò)展插箱上,以將擴(kuò)展插箱資源的分配狀態(tài)傳達(dá)給主機(jī)。主機(jī)取得分配狀態(tài),并且從分配狀態(tài)中為與主機(jī)相連的各個(gè)擴(kuò)展總線纜線確定擴(kuò)展插箱中要進(jìn)行配置的擴(kuò)展卡的數(shù)量。擴(kuò)展設(shè)備中的擴(kuò)展卡數(shù)量的變化需要分配狀態(tài)的變化,分配狀態(tài)的變化可以采用電子方式實(shí)現(xiàn)(相對(duì)于人工重新配置)。類(lèi)似地,擴(kuò)展總線纜線的故障是通過(guò)采用電子方式通過(guò)不同的擴(kuò)展總線纜線向另一個(gè)主機(jī)或向同一個(gè)主機(jī)重新分配資源來(lái)解決的,而不需要過(guò)多人工干預(yù)。該組件能夠檢驗(yàn)主機(jī)和擴(kuò)展插箱之間的正確接線。
文檔編號(hào)G06F13/40GK1783048SQ20051012510
公開(kāi)日2006年6月7日 申請(qǐng)日期2005年11月17日 優(yōu)先權(quán)日2004年11月30日
發(fā)明者勞倫斯·約瑟夫·格拉索, 巴尼·路易斯·哈爾曼, 布魯斯·詹姆斯·維基 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司