專利名稱:在共享的i/o系統(tǒng)中轉(zhuǎn)換重置的制作方法
在共享的j/0系統(tǒng)中轉(zhuǎn)換重置
背景技術(shù):
外圍組件互連或PCI標(biāo)準(zhǔn)定義了用于將外圍設(shè)備附接到母板的計算機(jī)總線。PCI 規(guī)范描述了所述總線的物理屬性、電氣特性、總線時序、通信協(xié)議等等。PCI特別興趣小組 (PCI-SIG)維護(hù)和管理用于各種PCI架構(gòu)的規(guī)范。在PCI環(huán)境中,主機(jī)可以通過將重置命令傳送到外圍設(shè)備來重置所述設(shè)備。所述 重置命令通過PCI層級向下游傳播以重置所述設(shè)備。該過程在其中所述主機(jī)不與其他主機(jī) 共享所述外圍設(shè)備的環(huán)境中工作良好。在共享的I/O環(huán)境中,多個不同主機(jī)共享所述I/O設(shè)備的一個或多個功能。當(dāng)主 機(jī)將重置發(fā)送到共享I/O設(shè)備時,所述重置沿著共享的PCI鏈路傳播。結(jié)果,所述主機(jī)重置 其并不擁有的共享設(shè)備的功能。換言之,主機(jī)無意地重置綁定到其他主機(jī)的功能。這可能 產(chǎn)生問題,因?yàn)橹鳈C(jī)可以重置其他主機(jī)所擁有的功能。
圖1是根據(jù)示范性實(shí)施例的使用共享的I/O架構(gòu)的計算機(jī)系統(tǒng)的框圖。圖2是根據(jù)示范性實(shí)施例的使用共享的I/O架構(gòu)的計算機(jī)系統(tǒng)的框圖并且示出單 個主機(jī)計算機(jī)的視圖。圖3是根據(jù)示范性實(shí)施例的使用共享的I/O架構(gòu)的計算機(jī)系統(tǒng)的另一個框圖。圖4是根據(jù)示范性實(shí)施例的用于在使用共享的I/O架構(gòu)的計算機(jī)系統(tǒng)中將熱重置 轉(zhuǎn)換為功能級(function level)重置的流程圖。圖5是示出根據(jù)示范性實(shí)施例的使用共享的I/O架構(gòu)的示范性計算機(jī)系統(tǒng)的各部 分的框圖。
具體實(shí)施例方式示范性實(shí)施例針對用于在共享的輸入/輸出(I/O)架構(gòu)中轉(zhuǎn)換重置的方法、系統(tǒng) 和裝置。一個實(shí)施例在向外圍設(shè)備或端點(diǎn)(比如I/O設(shè)備)傳輸熱重置的過程中將熱重置 PCI命令轉(zhuǎn)換為功能級重置。該轉(zhuǎn)換使得主機(jī)能夠僅僅重置綁定到該主機(jī)的功能而不能也 重置綁定到其他主機(jī)的其他功能。示范性實(shí)施例被應(yīng)用在例如使用PCI架構(gòu)的共享I/O環(huán)境中。帶內(nèi)熱重置到功能 級重置的轉(zhuǎn)換允許主機(jī)僅僅重置特定的共享功能,而不是重置該功能所在的鏈路。這防止 了主機(jī)重置其不擁有的功能,但是仍然允許主機(jī)無縫地重置主機(jī)相信被直接附接到虛擬的 對等(P2P)下游端口的其虛擬設(shè)備。作為說明,在高速PCI (PCI-Express)系統(tǒng)中,所述帶內(nèi)熱重置機(jī)制用于通過高速 PCI層級自頂向下傳播重置。高速PCI中的熱重置僅僅從上游端口向下游傳播。在一個實(shí)施例中,所述I/O設(shè)備物理地與刀片服務(wù)器分離。然而,這些I/O設(shè)備仍 然被看作是由駐留在每個刀片服務(wù)器上的主機(jī)直接附接。所述主機(jī)通過P2P橋設(shè)備看到這 些虛擬設(shè)備。該設(shè)備也被看作另一側(cè)的端點(diǎn)并且附接到高速PCI交換機(jī)。所述主機(jī)不能看到該交換機(jī)或虛擬P2P橋與所述主機(jī)相信直接位于所述P2P橋后面的其虛擬終端設(shè)備之間 的其他物理設(shè)備和鏈路。在一個實(shí)施例中,附接到所述虛擬P2P橋的上游端口發(fā)布帶內(nèi)熱重置并且預(yù)期該 重置通過所述橋傳播到鏈路上,從而重置所述主機(jī)的終端設(shè)備。在物理上,該鏈路是不存在 的。代替地,高速PCI交換機(jī)存在并且用作該鏈路上的上游設(shè)備。由于在高速PCI中熱重 置僅僅可以向下游傳播,所以它不能在該物理鏈路上發(fā)送。還由于所述交換機(jī)鏈路對所述 主機(jī)是透明的并且不能被所述主機(jī)看到,所以它們不應(yīng)當(dāng)被所述主機(jī)重置。為了使得該熱 重置到達(dá)共享的終端設(shè)備,示范性實(shí)施例將該熱重置協(xié)議轉(zhuǎn)換或變換為被稱為功能級重置 的另一個高速PCI協(xié)議。功能級重置僅僅重置設(shè)備的特定功能,而不是像熱重置一樣重置所有功能。虛擬 P2P設(shè)備知道哪個資源預(yù)期(due)接收熱重置,并且使用所述功能級重置協(xié)議來將該重置 傳播到共享I/O網(wǎng)絡(luò)的另一端的共享功能。圖1是根據(jù)示范性實(shí)施例的使用共享的I/O架構(gòu)的計算機(jī)系統(tǒng)100的框圖。為了 說明的目的,示出了使用高速PCI架構(gòu)的計算機(jī)系統(tǒng),但是示范性實(shí)施例不限于任何特定 類型的PCI架構(gòu)。圖1示出一種層級,其包括連接到I/O結(jié)構(gòu)(fabric) 120的多個根節(jié)點(diǎn)或主機(jī)計 算機(jī)Iio (被顯示為根節(jié)點(diǎn)/主機(jī)-1到根節(jié)點(diǎn)/主機(jī)-N)、多個I/O適配器125 (被顯示為 I/O適配器-1到I/O適配器-N)和管理節(jié)點(diǎn)130。如圖2和3所示,所述根節(jié)點(diǎn)通過多個 高速PCI總線或鏈路160連接到各種設(shè)備(比如,端點(diǎn)或端節(jié)點(diǎn)、橋、交換機(jī)等等)。根節(jié)點(diǎn)110(也被稱為計算節(jié)點(diǎn))包括通過主機(jī)總線155耦合的CPU 140、存儲器 145和根復(fù)合體150。根復(fù)合體150通過I/O結(jié)構(gòu)120連接到I/O適配器125和管理節(jié)點(diǎn) 130。作為示例,I/O結(jié)構(gòu)120包括端口、橋、交換機(jī)等的一個或多個。根復(fù)合體(RC) 150表示將CPU/存儲器子系統(tǒng)連接到所述I/O設(shè)備的I/O層級的 根。根復(fù)合體可以支持一個或多個端口。每個接口定義單獨(dú)的層級域,并且每個層級域包括單個端點(diǎn)或含有一個或多個交 換機(jī)組件和端點(diǎn)的子層級。在層級域之間通過根復(fù)合體路由對等(P2P)事務(wù)的能力是可選 的并且與實(shí)現(xiàn)方式相關(guān)。例如,一種實(shí)現(xiàn)方式可以包括在所述根復(fù)合體內(nèi)部的真實(shí)的或虛 擬的交換機(jī),從而以軟件透明的方式實(shí)現(xiàn)全對等(P2P)支持。根復(fù)合體150可以運(yùn)行或支持下列操作的一個或多個支持作為請求者生成配置 請求、支持作為請求者生成I/O請求以及支持作為請求者生成鎖定請求。在一個示范性實(shí)施例中,主機(jī)110通過I/O結(jié)構(gòu)120共享資源池(其包括符合所 述高速PCI規(guī)范的各種設(shè)備)。在該配置中,多個不同的主機(jī)可以共享I/O適配器125,其 可以是單功能或多功能適配器并且最終是(在圖2和3中更詳細(xì)地示出的)端點(diǎn)。而且, 所述主機(jī)可以連接在一起(例如,以形成對稱多處理(SMP)系統(tǒng))或可以是獨(dú)立的節(jié)點(diǎn)。管理節(jié)點(diǎn)130配置共享的資源并將資源分配給主機(jī)110。管理節(jié)點(diǎn)130可以附接 到I/O結(jié)構(gòu)120或被包含在所述主機(jī)之一中。圖2是根據(jù)示范性實(shí)施例的使用共享的I/O架構(gòu)的計算機(jī)系統(tǒng)的框圖并示出如由 單個主機(jī)計算機(jī)所看到的視圖(即,從主機(jī)角度看到的網(wǎng)絡(luò)視圖)。主機(jī)110通過多個高速 PCI總線或鏈路260連接到交換機(jī)230和高速PCI到PCI/PCI-X橋265。所述交換機(jī)又連接到包括高速PCI端點(diǎn)220的多個端點(diǎn)或端節(jié)點(diǎn)。在一個實(shí)施例中,高速PCI端點(diǎn)220與 交換機(jī)230分離。換言之,所述端點(diǎn)沒有物理地連接到端口 270B。(圖2和3所示的)端點(diǎn)包括虛擬端點(diǎn)和實(shí)際的或物理的端點(diǎn)。物理的或?qū)嶋H的 端點(diǎn)是可以為代表他自己或代表不同的非PCI設(shè)備(不同于PCI設(shè)備或主機(jī)CPU)或其他 I/O設(shè)備(比如盤驅(qū)動器)的PCI事務(wù)的請求者或完成者的設(shè)備或設(shè)備集,所述非PCI設(shè)備 例如高速PCI附接的圖形控制器、高速PCI-USB主機(jī)控制器等等。相比之下,虛擬端點(diǎn)表示 實(shí)際上和物理上不存在和/或沒有連接到所述計算機(jī)系統(tǒng)的設(shè)備。因此,主機(jī)110檢測到 或相信物理設(shè)備被連接到計算機(jī)系統(tǒng)中的槽/端口,但是事實(shí)上不實(shí)際存在物理設(shè)備。如圖所示,交換機(jī)230包括多個端口 270和多個虛擬PCI到PCI橋275。為了說 明,交換機(jī)230被示為具有一個上游端口 270A和三個下游端口 270B。更多的上游和下游 端口可被提供以適應(yīng)(accommodate)與多個主機(jī)(圖1中所示)的連接。所述交換機(jī)通過 PCI鏈路260與一個或多個物理端點(diǎn)220連接或通信。所述交換機(jī)遵循下列規(guī)則的一個或多個對配置軟件而言交換機(jī)表現(xiàn)為兩個或更 多的邏輯PCI到PCI橋;交換機(jī)使用PCI橋機(jī)制(比如基于地址的路由)轉(zhuǎn)發(fā)事務(wù);以及交 換機(jī)在端口集之間轉(zhuǎn)發(fā)各種類型的事務(wù)層分組。在一個實(shí)施例中,每個高速PCI鏈路260通過虛擬PCI到PCI橋結(jié)構(gòu)而被映射并 且具有與之相關(guān)的邏輯PCI總線。所述虛擬PCI到PCI橋結(jié)構(gòu)可以是高速PCI根復(fù)合體端 口、交換機(jī)上游端口或交換機(jī)下游端口的一部分。根端口是虛擬的PCI到PCI橋結(jié)構(gòu),其從 高速PCI根復(fù)合體產(chǎn)生(originate)高速PCI層級域。設(shè)備被映射到配置空間中,使得每 個設(shè)備將響應(yīng)于特定的設(shè)備編號。圖3是使用共享的I/O架構(gòu)的計算機(jī)系統(tǒng)300的框圖并示出多個主機(jī)計算機(jī)到多 個共享的端點(diǎn)或I/O平臺的連接。計算機(jī)系統(tǒng)300包括通過交換機(jī)平臺345連接到管理節(jié) 點(diǎn)320并且連接到多個端點(diǎn)或I/O平臺330的多個計算節(jié)點(diǎn)310。每個計算節(jié)點(diǎn)310包括具有網(wǎng)絡(luò)配置(被示為方框“網(wǎng)絡(luò)配置”)以及一個或多 個上游P2P端口(被示為方框“上游P2P”)和下游P2P端口(被示為方框“下游P2P”)的 橋或Cnode 340。Cnode 340連接到交換機(jī)平臺345中的下游端口(被示為方框“下游P 2P”)。交換機(jī)平臺345包括一個或多個上游P2P端口(被示為方框“上游P2P”)和下游 P2P端口(被示為方框“下游P2P”)。這些端口將計算節(jié)點(diǎn)310、管理節(jié)點(diǎn)320和I/O平臺 300耦合在一起。每個I/O平臺330包括Enode (E節(jié)點(diǎn))350和終端設(shè)備360。而且,Enode 350包括 虛擬根(被示為方框“虛擬根”)和網(wǎng)絡(luò)配置(被示為方框“網(wǎng)絡(luò)配置”)。終端設(shè)備360是 多功能的并且包括第一功能(被示為方框“(funct 0)”和第二功能(被示為方框“(fimct 1)”)。圖4是根據(jù)示范性實(shí)施例的在使用共享的I/O架構(gòu)的計算機(jī)系統(tǒng)中用于將熱重置 轉(zhuǎn)換為功能級重置的流程圖。圖4的方法可以在圖1-3所示的計算機(jī)系統(tǒng)中實(shí)現(xiàn)。為了說明的目的,結(jié)合圖5來討論圖4,圖5示出使用共享的I/O架構(gòu)的示范性計 算機(jī)系統(tǒng)500的多個部分。計算機(jī)系統(tǒng)500包括通過多個Cnode 530、高速PCI交換機(jī)540 和Enode 550而連接到多個多功能設(shè)備520(為了說明的目的示出了一個設(shè)備)的多個主機(jī)510。還示出了耦合到高速PCI交換機(jī)540的中間管理器560。根據(jù)方框400,功能被綁定到主機(jī)。作為示例,多功能設(shè)備520被示出為具有5個 不同的功能(被示為方框FO到F4)。為了說明的目的,主機(jī)A被綁定到一個功能(F1),且 主機(jī)B被綁定到另一個功能(F3)。作為另一個示例,多功能設(shè)備520可以是以太網(wǎng)設(shè)備,其 中每個功能(F0到F4)是共享的I/O設(shè)備。根據(jù)方框410,主機(jī)想要重置功能并傳播主機(jī)重置。重置可以由于各種原因而發(fā) 生。例如,主機(jī)可能從設(shè)備接收到錯誤并且期望重置它。主機(jī)A被示出為發(fā)布針對一個功能(Fl)的熱重置,且主機(jī)B被示出為發(fā)布針對另 一個功能(F3)的熱重置。主機(jī)A僅僅看到或檢測到單功能設(shè)備并且因此不知道其他功能(S卩,F(xiàn)0、F2、F3和 F4)。從主機(jī)A的角度來看,多功能設(shè)備520實(shí)際上是具有一個功能(即,功能Fl)的單功 能設(shè)備。如果由主機(jī)A發(fā)布的所述熱重置未被轉(zhuǎn)換為功能級重置(FLR),則主機(jī)A將無意地 重置多功能設(shè)備520處的所有功能。換言之,主機(jī)A將重置未被綁定到主機(jī)A的功能(即, F0、F2、F3 禾口 F4)。同樣,主機(jī)B僅僅看到或檢測到單功能設(shè)備并且因此不知道其他功能(即,F(xiàn)0、F1、 F2和F4)。從主機(jī)B的角度來看,多功能設(shè)備520實(shí)際上是具有一個功能(即,功能F3)的 單功能設(shè)備。如果由主機(jī)B發(fā)布的所述熱重置未被轉(zhuǎn)換為功能級重置(FLR),則主機(jī)B將無 意地重置多功能設(shè)備520處的所有功能。換言之,主機(jī)B將重置未被綁定到主機(jī)B的功能 (即,F(xiàn)0、F1、F2 禾口 F4)。根據(jù)方框420,Cnode (或橋)接收所述熱重置。來自主機(jī)A的熱重置傳播到Cnode A的虛擬橋(被示為方框“虛擬橋”)。同樣,來自主機(jī)B的熱重置傳播到Cnode B的虛擬 橋(被示為方框“虛擬橋”)。所述Cnode是被看作為端點(diǎn)直接在它們后面的橋的虛擬橋。 對于中間管理器560而言,所述Cnode被看作端節(jié)點(diǎn)或端點(diǎn)。換言之,所述主機(jī)看不到高速 PCI 交換機(jī) 540 或 Enode 550。根據(jù)方框430,所述Cnode確定所接收的熱重置的目的地I/O設(shè)備。因此,對于主 機(jī)A,所述Cnode A確定所述熱重置預(yù)定用于一個功能(Fl)。對于主機(jī)B,所述Cnode B確 定所述熱重置預(yù)定用于另一個功能(F3)。根據(jù)方框440,所述Cnode將所述熱重置變換為功能級重置(FLR)并且將所述FLR 路由到所述目的地。換言之,初始熱重置被轉(zhuǎn)換為FLR并且作為FLR被傳播。如圖5所示, Cnode A接收所述熱重置,將它轉(zhuǎn)換為FLR A,并且將該FLR A傳播到高速PC I交換機(jī)540。 同樣,Cnode B接收所述熱重置,將它轉(zhuǎn)換為FLR B,并且將該FLR B傳播到高速PCI交換機(jī) 540。在一個示范性實(shí)施例中,所述Cnode建立配置循環(huán)以執(zhí)行所述功能級重置。所述 Cnode將所述配置循環(huán)封裝在用于路由到高速PCI交換機(jī)540的消息或分組的頭部中。所 述消息或分組的有效載荷包含所述配置循環(huán)。根據(jù)方框450,所述交換機(jī)接收所述功能級重置并且將其路由到所述Enode。如圖 5所示,高速PC I交換機(jī)540接收來自Cnode A的FLR A和來自Cnode B的FLR B。所述 交換機(jī)將這些FLR傳播到Enode 550。根據(jù)方框460,所述Enode接收所述功能級重置并且確定用于接收所述FLR的功能。在一個實(shí)施例中,所述Enode解碼所述頭部,取得所述有效載荷,并且確定所述多功能 設(shè)備中的哪個功能將接收所述功能級重置。如圖5所示,Enode 550接收所述FLR A和FLR B。這些FLR中的每一個都被解碼 且被路由到正確的功能。FLR A被路由到一個功能(Fl),因?yàn)樵摴δ鼙唤壎ǖ街鳈C(jī)A。FLR B被路由到另一個功能(F3),因?yàn)樵摴δ鼙唤壎ǖ街鳈C(jī)B。根據(jù)方框470,所述功能接收所述功能級重置并且重置適當(dāng)?shù)墓δ?。對于圖5,功 能Fl根據(jù)FLR A被重置,且功能F3根據(jù)FLR B被重置。通常,重置為將端口狀態(tài)返回到初始的或指定的狀況而提供了硬件機(jī)制。重置可 以被提供為從一個設(shè)備到另一個設(shè)備的信號,所述設(shè)備比如組件或適配器卡。功能級重置 (FLR)是特定類型的重置,其使得軟件能夠以功能級粒度(granularity)使端點(diǎn)硬件靜止 (即,暫時禁用或使其不活動)并且重置。下面的三個示例說明了 FLR。作為一個示例,在一些系統(tǒng)中,可能的是控制功能的軟件實(shí)體將停止正常操作。為 了防止數(shù)據(jù)損壞,可能必需的是停止由所述功能正在執(zhí)行的所有的高速PCI和外部1/0(不 是高速PCI)操作。其他定義的重置操作不保證外部I/O操作將被停止。作為另一個示例,在 其中硬件從一個分區(qū)被遷移到另一個分區(qū)的分區(qū)環(huán)境中,可能必需的是確保硬件將不保留 先前分區(qū)的殘余“知識”,比如托付給第一分區(qū)而不是托付給第二分區(qū)的用戶的秘密信息。 而且,由于寬范圍的功能,所以可能必需的是這以功能無關(guān)的方式完成。作為第三示例,當(dāng) 系統(tǒng)軟件正在拆卸用于功能的軟件棧并且隨后重建該棧時,有時必需的是在重建所述功能 的軟件棧之前使得狀態(tài)返回到未初始化狀態(tài)。FLR在每個功能的基礎(chǔ)上應(yīng)用,并且只有所針對的功能受到FLR操作的影響。而 且,鏈路狀態(tài)不受所述FLR的影響(這與影響所述鏈路狀態(tài)的熱重置不同)。FLR修改所述 設(shè)備的功能狀態(tài),因?yàn)榧拇嫫骱凸δ芴囟顟B(tài)機(jī)被設(shè)置為它們的初始化值。FLR在鏈路上是 靜止的,并且與鏈路功能相關(guān)聯(lián)的端口狀態(tài)機(jī)未被所述FLR重置。而且,F(xiàn)LR可以針對多功 能設(shè)備啟動,以用于重置特定功能而不是整個多功能設(shè)備。關(guān)于FLR和熱重置的其他信息 可以在高速PCI基礎(chǔ)規(guī)范修訂版2. 0(2006年12月20日的版本)中找到,并且該文獻(xiàn)通過 引用合并于此。定義本文和權(quán)利要求中所使用的下列詞語和術(shù)語被定義如下詞語“橋”意指使用相同的協(xié)議(例如,以太網(wǎng)或令牌環(huán))連接兩個局域網(wǎng)(LAN) 或LAN區(qū)段的設(shè)備。例如,橋是虛擬地或?qū)嶋H地將PCI/PCI-X區(qū)段或高速PCI端口與內(nèi)部 組件互連或與另一個PCI/PCI-X總線區(qū)段或高速PCI端口連接的功能。術(shù)語“配置空間”意指PCI架構(gòu)內(nèi)的地址空間。具有配置空間地址的分組用于配 置設(shè)備內(nèi)的功能(即,地址實(shí)體)。詞語“下游”意指離根復(fù)合體較遠(yuǎn)的互連/系統(tǒng)元件(端口 /組件)的相對位置。 例如,不是上游端口的交換機(jī)上的端口是下游端口。根復(fù)合體上的所有端口是下游端口。因 此,下游也包括其中信息遠(yuǎn)離根復(fù)合體流動的信息流方向。詞語“端點(diǎn)”或“端節(jié)點(diǎn)”意指設(shè)備(即,可尋址的電子實(shí)體)或根據(jù)不同組規(guī)則 運(yùn)行的設(shè)備的集合。詞語“功能”意指配置空間中的可尋址實(shí)體。功能還可以指單功能設(shè)備或多功能 設(shè)備的一個功能。
8
術(shù)語“功能級重置”或“FLR”意指用于重置特定端點(diǎn)功能(即,設(shè)備的特定功能) 的機(jī)制。詞語“熱插拔”或“熱交換(swap)”等等意指在機(jī)器或系統(tǒng)繼續(xù)運(yùn)行的同時移除 和更換機(jī)器或系統(tǒng)的電子組件的能力。例如,熱交換使得一個或多個設(shè)備(例如,硬盤驅(qū)動 器)能夠被調(diào)換或維修,而不影響該設(shè)備所在的整個刀片或機(jī)箱(enclosure)的運(yùn)行。例 如,在故障情況下,單獨(dú)的硬盤驅(qū)動器從刀片中移除并且用新的或不同的硬盤驅(qū)動器來替 換。所述新硬盤驅(qū)動器連接到刀片而不中斷刀片的持續(xù)運(yùn)行,同時它保持在所述機(jī)箱內(nèi)。術(shù)語“熱重置”意指使用物理層機(jī)制(即,直接與兩個組件之間的通信介質(zhì)相互作 用的層)在鏈路上帶內(nèi)傳播的重置。詞語“鏈路”意指兩個端口和它們的互連線路(lane)的集合。在高速PCI架構(gòu)中, 鏈路是兩個組件之間的雙重單工通信路徑。首字母簡略詞“PCI”意指外圍組件互連。PCI規(guī)范描述了總線的物理屬性、電氣特 性、總線時序、通信協(xié)議等等。PCI特別興趣小組(PCI-SIG)維護(hù)和管理各種PCI架構(gòu)的規(guī)范。詞語“端口”在邏輯上意指組件與鏈路(即,兩個設(shè)備之間的通信路徑)之間的接 口,并且在物理上意指定位在芯片上的定義鏈路的一組發(fā)送器和接收器。術(shù)語“根復(fù)合體”意指包括主橋和一個或多個端口的設(shè)備或設(shè)備集。例如,主機(jī)計 算機(jī)具有PCI到主機(jī)橋接功能,其是根復(fù)合體。該根復(fù)合體提供CPU總線(比如超傳輸) 和PCI總線之間的橋。術(shù)語“根節(jié)點(diǎn)”意指主機(jī)計算機(jī)、計算機(jī)系統(tǒng)或服務(wù)器。詞語“交換機(jī)”意指連接兩個或更多端口以允許分組從一個端口路由到另一個端 口的設(shè)備或設(shè)備集。對于配置軟件,交換機(jī)表現(xiàn)為虛擬PCI到PCI橋的集合。詞語“虛擬”意指非真實(shí)的并且將僅僅為概念性的事物(例如,設(shè)備)與具有物理 真實(shí)性的事物區(qū)分開。作為一個示例,當(dāng)實(shí)際上物理端點(diǎn)沒有實(shí)際地連接到總線時,主機(jī)可 以將虛擬端點(diǎn)看作是或檢測為物理端點(diǎn)(所述設(shè)備是虛構(gòu)的但是被主機(jī)檢測到或被相信 存在)。虛擬的反義詞是真實(shí)或物理的。詞語“上游”意指更接近根復(fù)合體的互連/系統(tǒng)元件(端口 /組件)的相對位置。 例如,拓?fù)渖献罱咏鶑?fù)合體的交換機(jī)上的端口是上游端口。例如,僅僅包括端點(diǎn)的組件上 的端口是上游端口。上游還包括其中信息朝向根復(fù)合體流動的信息流方向。在一個示范性實(shí)施例中,本文所討論的一個或多個方框或步驟是自動化的。換 言之,裝置、系統(tǒng)和方法自動地運(yùn)行(occur)。如本文所使用的術(shù)語“自動化的”或“自動 地”(和其類似的變化)意指使用計算機(jī)和/或機(jī)械/電氣設(shè)備控制裝置、系統(tǒng)和/或過程 的操作,而無需人為干涉、觀察、努力和/或決策。根據(jù)本發(fā)明的示范性實(shí)施例的方法被提供為示例并且不應(yīng)當(dāng)被解釋為限制本發(fā) 明的范圍內(nèi)的其他實(shí)施例。例如,圖中的方框或數(shù)字(比如(1)、(2)等)不應(yīng)當(dāng)被解釋為 必須以特定的順序來進(jìn)行的步驟。附加的方框/步驟可以被添加,一些方框/步驟可以刪 除,或者方框/步驟的順序可以改變并且仍然在本發(fā)明的范圍內(nèi)。而且,不同附圖內(nèi)所討論 的方法或步驟可以被添加到其他附圖中的步驟方法或與之交換。而且,特定的數(shù)字?jǐn)?shù)據(jù)值 (比如特定的數(shù)量、數(shù)字、類別等)或其他特定信息應(yīng)當(dāng)被解釋為說明性的以用于討論示范性實(shí)施例。這種特定信息不是被提供用于限制本發(fā)明。在根據(jù)本發(fā)明的各種實(shí)施例中,實(shí)施例被實(shí)現(xiàn)為方法、系統(tǒng)和/或裝置。作為一個 示例,示范性實(shí)施例和與其相關(guān)的步驟被實(shí)現(xiàn)為用以實(shí)現(xiàn)本文所描述的方法的一個或多個 計算機(jī)軟件程序。所述軟件被實(shí)現(xiàn)為一個或多個模塊(也被稱為代碼子例程,或者在面向 對象的編程中被稱為“對象”)。所述軟件的位置對于各種可替代實(shí)施例而言是不同的。軟 件編程代碼例如由計算機(jī)或服務(wù)器的一個或多個處理器從諸如CD-ROM驅(qū)動器或硬盤驅(qū)動 器之類的某類型的長期存儲介質(zhì)中訪問。所述軟件編程代碼被包括或存儲在與數(shù)據(jù)處理系 統(tǒng)一起使用的多種已知介質(zhì)的任一種上或存儲在任意存儲器設(shè)備中,諸如半導(dǎo)體設(shè)備、磁 設(shè)備和光學(xué)設(shè)備(包括盤、硬盤驅(qū)動器、CD-R0M、R0M等)。所述代碼分布在這樣的介質(zhì)上, 或從一個計算機(jī)系統(tǒng)的存儲器或存儲裝置通過某類型的網(wǎng)絡(luò)分發(fā)到其他計算機(jī)系統(tǒng)的用 戶以供這樣的其他系統(tǒng)的用戶使用??商娲?,所述編程代碼被包括在存儲器中并且由處 理器使用總線訪問。用于將軟件編程代碼包含在存儲器中、物理介質(zhì)上和/或?qū)④浖a 經(jīng)由網(wǎng)絡(luò)進(jìn)行分發(fā)的技術(shù)和方法是眾所周知的并且本文將不會進(jìn)一步討論。上述討論旨在說明本發(fā)明的原理和各種實(shí)施例。對于本領(lǐng)域技術(shù)人員而言,一旦 完全理解了上述公開,多種變形和修改將變得顯然。下面的權(quán)利要求意欲被解釋為包含所 有這樣的變形和修改。
權(quán)利要求
一種方法,包括將第一類型的重置從與其他主機(jī)共享輸入/輸出(I/O)操作的主機(jī)計算機(jī)傳播到多功能設(shè)備;以及在所述第一類型的重置處于向所述多功能設(shè)備傳送中的同時將所述第一類型的重置轉(zhuǎn)換為第二類型的重置,以防止所述主機(jī)重置在所述多功能設(shè)備處的綁定到所述其他主機(jī)的功能。
2.權(quán)利要求1的方法,其中第一類型的重置是根據(jù)外圍組件互連(PCI)規(guī)范的熱重置, 并且第二類型的重置是根據(jù)所述PCI規(guī)范的功能級重置(FLR)。
3.權(quán)利要求1的方法,其中第一類型的重置在所述多功能設(shè)備處重置功能所在的鏈 路,且第二類型的重置僅重置所述多功能設(shè)備處的單個功能。
4.權(quán)利要求1的方法,其中第一類型的重置被轉(zhuǎn)換為第二類型的重置,因此所述主機(jī) 僅僅重置在所述多功能設(shè)備處的綁定到所述主機(jī)的功能。
5.權(quán)利要求1的方法,其中所述多功能設(shè)備被該主機(jī)看作是直接附接到所述主機(jī)并駐 留于刀片服務(wù)器上。
6.權(quán)利要求1的方法,進(jìn)一步包括,在虛擬外圍組件互連(PCI)橋處將第一類型的重置 轉(zhuǎn)換為第二類型。
7.權(quán)利要求1的方法,進(jìn)一步包括將第一類型的重置傳播到外圍組件互連(PCI)橋;在所述PCI橋處將第一類型的重置轉(zhuǎn)換為第二類型的重置;將第二類型的重置從所述PCI橋傳播到PCI交換機(jī)并且然后傳播到所述多功能設(shè)備。
8.一種具有用于使得計算機(jī)執(zhí)行方法的指令的有形計算機(jī)可讀存儲介質(zhì),該方法包括將外圍組件互連(PCI)熱重置傳播到外圍設(shè)備;以及在所述PCI熱重置處于向所述外圍設(shè)備傳送中的同時將所述PCI熱重置轉(zhuǎn)換為功能級 重置(FLR)。
9.權(quán)利要求8的有形計算機(jī)可讀存儲介質(zhì),進(jìn)一步包括在根節(jié)點(diǎn)處生成所述PCI熱重置;在所述根節(jié)點(diǎn)與外圍設(shè)備之間的橋處將所述PCI熱重置轉(zhuǎn)換為所述FLR。
10.權(quán)利要求8的有形計算機(jī)可讀存儲介質(zhì),進(jìn)一步包括,使用所述FLR來僅僅重置綁 定到生成所述PCI熱重置的根節(jié)點(diǎn)的功能。
11.權(quán)利要求8的有形計算機(jī)可讀存儲介質(zhì),其中所述外圍設(shè)備包括在計算機(jī)系統(tǒng)中 的多個單獨(dú)的主機(jī)計算機(jī)之間共享的多個功能。
12.權(quán)利要求8的有形計算機(jī)可讀存儲介質(zhì),進(jìn)一步包括,通過對于生成所述PCI熱重 置的主機(jī)計算機(jī)而言透明的交換機(jī)傳播所述FLR。
13.權(quán)利要求8的有形計算機(jī)可讀存儲介質(zhì),其中所述PCI熱重置重置綁定到不同主機(jī) 的多個功能,并且所述FLR僅僅重置綁定到一個主機(jī)的單個功能。
14.權(quán)利要求8的有形計算機(jī)可讀存儲介質(zhì),進(jìn)一步包括在主機(jī)計算機(jī)處生成所述PCI熱重置;通過將所述PCI熱重置轉(zhuǎn)換為所述FLR來防止所述主機(jī)計算機(jī)重置在所述外圍設(shè)備處的沒有綁定到所述主機(jī)計算機(jī)的功能。
15.權(quán)利要求8的有形計算機(jī)可讀存儲介質(zhì),進(jìn)一步包括建立配置循環(huán)以執(zhí)行所述FLR ;將所述配置循環(huán)封裝到消息中;將所述消息路由到所述外圍設(shè)備。
16.權(quán)利要求8的有形計算機(jī)可讀存儲介質(zhì),進(jìn)一步包括在所述外圍設(shè)備之前的節(jié)點(diǎn)處接收所述FLR ;在所述節(jié)點(diǎn)處取得FLR中的有效載荷以確定將所述FLR路由到所述外圍設(shè)備中的哪個 功能;將所述FLR路由到該功能。
17.一種計算機(jī)系統(tǒng),包括存儲器,其存儲算法;以及處理器,其執(zhí)行所述算法,從而將外圍組件互連(PCI)熱重置傳播到具有在所述計算機(jī)系統(tǒng)中的多個主機(jī)計算機(jī)之 間共享的資源的外圍設(shè)備;以及在所述PCI熱重置處于向所述外圍設(shè)備傳送中的同時將所述PCI熱重置變換為功能級 重置(FLR)。
18.權(quán)利要求17的計算機(jī)系統(tǒng),其中所述外圍設(shè)備是具有多個綁定到多個主機(jī)計算機(jī) 的功能的以太網(wǎng)設(shè)備。
19.權(quán)利要求17的計算機(jī)系統(tǒng),進(jìn)一步包括,接收所述FLR并且將所述FLR轉(zhuǎn)發(fā)到所述 外圍設(shè)備的PCI交換機(jī)。
20.權(quán)利要求17的計算機(jī)系統(tǒng),進(jìn)一步包括,接收所述PCI熱重置并將所述FLR轉(zhuǎn)發(fā) 到所述外圍設(shè)備的虛擬橋。
全文摘要
實(shí)施例包括用于在共享的I/O系統(tǒng)中轉(zhuǎn)換重置的方法、裝置和系統(tǒng)。一個實(shí)施例包括從與其他主機(jī)共享I/O操作的主機(jī)計算機(jī)向多功能設(shè)備傳播第一類型的重置的方法。第一類型的重置被轉(zhuǎn)換為第二類型的重置以防止所述主機(jī)重置在所述多功能設(shè)備處的綁定到所述其他主機(jī)的功能。
文檔編號G06F3/00GK101983365SQ200880128466
公開日2011年3月2日 申請日期2008年4月2日 優(yōu)先權(quán)日2008年4月2日
發(fā)明者D·馬修斯, H·布林克曼, P·布勞內(nèi)爾 申請人:惠普開發(fā)有限公司