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