欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

對(duì)包含在通信信息包中的標(biāo)識(shí)符進(jìn)行轉(zhuǎn)換的方法和裝置的制作方法

文檔序號(hào):6615892閱讀:160來(lái)源:國(guó)知局
專利名稱:對(duì)包含在通信信息包中的標(biāo)識(shí)符進(jìn)行轉(zhuǎn)換的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明通常涉及一種數(shù)據(jù)處理系統(tǒng),更特別地尤其涉及在包括多個(gè)主機(jī) 計(jì)算機(jī)系統(tǒng)和一個(gè)或多個(gè)適配器的數(shù)據(jù)處理系統(tǒng)中進(jìn)行通信,其中這些主機(jī)計(jì)算機(jī)系統(tǒng)共享一個(gè)或多個(gè)適配器,并通過(guò)PCI交換組織總線(PCI switched-fabric bus)與該一個(gè)或多個(gè)適配器進(jìn)行通信。而且更特別地,本 發(fā)明涉及一種計(jì)算機(jī)實(shí)現(xiàn)的方法、裝置和計(jì)算機(jī)程序產(chǎn)品,用于通過(guò)一種PCI 交換組織來(lái)轉(zhuǎn)換(translate)總線/設(shè)備/功能的編號(hào),并且路由包括那些編號(hào) 的通信信息包,其中該組織能夠利用PCI交換器使多個(gè)主^L系統(tǒng)共享一個(gè)或 多個(gè)適配器。
背景技術(shù)
傳統(tǒng)的PCI總線是一種本地并行總線,其允許擴(kuò)展卡安裝入單計(jì)算機(jī)系 統(tǒng),例如服務(wù)器或個(gè)人計(jì)算機(jī)。PCI兼容的適配器卡然后能夠耦接到PCI總 線上,從而向計(jì)算機(jī)系統(tǒng)中增加輸入/輸出(1/0)設(shè)備,例如磁盤驅(qū)動(dòng)器、 網(wǎng)絡(luò)適配器或其它設(shè)備。需要PCI橋/控制器,以便將PCI總線連接到計(jì)算機(jī) 系統(tǒng)的系統(tǒng)總線上。PCI總線上的適配器能夠通過(guò)PCI橋/控制器與裝有該P(yáng)CI 總線的計(jì)算機(jī)系統(tǒng)的CPU進(jìn)行通信。幾個(gè)PCI橋可以存在于單個(gè)計(jì)算機(jī)系統(tǒng) 中。然而,這些PCI橋用作將多個(gè)PCI總線耦接到裝有PCI總線的計(jì)算機(jī)系 統(tǒng)的CPU上。如果單個(gè)計(jì)算機(jī)系統(tǒng)包括多個(gè)CPU, PCI總線就能夠由該單個(gè)計(jì) 算機(jī)系統(tǒng)的多個(gè)CPU來(lái)使用。PCI Express (PCIe)總線是標(biāo)準(zhǔn)PCI計(jì)算機(jī)總線的最近版本。PCIe是 基于較高速度的串行通信的。PCIe是以樹(shù)型構(gòu)造的I/O互連拓樸特別構(gòu)建的, 其中具有指示I/O層次的根聯(lián)合體(Root Complex, RC ),它將主機(jī)計(jì)算機(jī)系 統(tǒng)與1/0連接。PCIe提供與PCI軟件環(huán)境兼容的遷移路徑。除了提供優(yōu)良的帶寬、性能 和在總線寬度和總線頻率上的可擴(kuò)展性之外,PCI Express還具有其它的改 進(jìn)特征。這些特征包括QoS (服務(wù)質(zhì)量)、主動(dòng)電源管理、本地?zé)岵灏巍⒚總€(gè)針腳效率的帶寬、錯(cuò)誤報(bào)告、恢復(fù)和才交正和創(chuàng)新形式因素(innovative form factor)、對(duì)等(peer-to-peer)傳輸和動(dòng)態(tài)重配置。PCI Express還能通過(guò)低 針腳數(shù)和導(dǎo)線來(lái)進(jìn)行產(chǎn)品的低成本設(shè)計(jì)。16通道(16 - lane )的PCI Express 互連能夠提供每秒8G字節(jié)的數(shù)據(jù)傳輸率。主機(jī)計(jì)算機(jī)系統(tǒng)典型地具有一種個(gè)PCI到主機(jī)的橋接功能,公知地作為 根聯(lián)合體。該根聯(lián)合體在CPU總線和PCI總線之間進(jìn)行橋接,該CPU總線例 如是HyperTransportT"或CPU前端側(cè)總線(Front Side Bus, FSB )。包含一 個(gè)或多個(gè)根功能的多個(gè)主機(jī)計(jì)算機(jī)系統(tǒng)被稱為多根系統(tǒng)。過(guò)去尚沒(méi)有很好地 解決共享1/0組織的多根配置。今天,PCIe總線不允許在多個(gè)獨(dú)立的計(jì)算機(jī)系統(tǒng)之間共享PCI適配器。 />知的遵循PCIe標(biāo)準(zhǔn)或次級(jí)網(wǎng)絡(luò)標(biāo)準(zhǔn)例如光纖通道、InfiniBand或以太網(wǎng) 的1/0適配器典型地集成到刀片(blade)和服務(wù)器計(jì)算機(jī)系統(tǒng)中,并且專用于 集成有該I/O適配器的刀片或系統(tǒng)。專用的適配器增加了每個(gè)系統(tǒng)的成本, 這是因?yàn)檫m配器很昂貴。除了成本問(wèn)題,還涉及到刀片中的物理空間。在刀 片中為一個(gè)適配器所提供的可利用空間較小,通常不存在加入多于一個(gè)適配 器的簡(jiǎn)單方法。能夠在多個(gè)主機(jī)計(jì)算機(jī)之間共享適配器將降低每個(gè)主機(jī)的連通成本,這 是因?yàn)槊總€(gè)適配器服務(wù)于多個(gè)主機(jī)的而不僅是一個(gè)主機(jī)的1/0需要。能夠在 多個(gè)主機(jī)之間共享適配器也能夠提供額外的1/0擴(kuò)展和靈活性選擇。每個(gè)主 機(jī)能夠通過(guò)集體可用的任意數(shù)量的適配器來(lái)訪問(wèn)I/O。不是受到主機(jī)系統(tǒng)中 的1/0插槽的限制,這種1/0連通性選擇包括使用安裝在通過(guò)共享總線連接 的任意主機(jī)系統(tǒng)中的適配器。在公知的系統(tǒng)中,PCIe總線提供一種單個(gè)主機(jī)和一個(gè)或多個(gè)適配器之間 的通信路徑。對(duì)I/O適配器的讀寫訪問(wèn)在根聯(lián)合體中轉(zhuǎn)換為信息包,該信息 包被從主機(jī)系統(tǒng)或者包含在那個(gè)主機(jī)系統(tǒng)中的系統(tǒng)映像經(jīng)過(guò)PCIe組織傳輸 到指定給那個(gè)主機(jī)或系統(tǒng)映像的預(yù)期適配器。該P(yáng)CIe標(biāo)準(zhǔn)定義了總線/設(shè)備/ 功能(bus/device/f露tion, BDF)編號(hào)(B=PCI總線段編號(hào),0=那條總線 上的PCI設(shè)備編號(hào),F(xiàn)-在那個(gè)特定設(shè)備上的功能編號(hào)),這些編號(hào)能夠用于標(biāo) 識(shí)例如I/O適配器的設(shè)備中的特定功能。主機(jī)計(jì)算機(jī)系統(tǒng)的根聯(lián)合體用于將 BDF編號(hào)指定給該主機(jī)以及與該主機(jī)相關(guān)聯(lián)的每個(gè)I/O適配器中的每個(gè)功能。該BDF編號(hào)包括用于遍歷PCI組織的三個(gè)部分1/0適配器所處于的PCI總線的編號(hào),該總線上的I/O適配器的設(shè)備編號(hào),以及在該I/0適配器中正 在使用的特定功能的功能編號(hào)。主機(jī)可包括多個(gè)不同的系統(tǒng)映像或操作系統(tǒng)映像。系統(tǒng)映像是例如WINDOWS⑧或LINUX⑧這樣的通用操作系統(tǒng)或者例如網(wǎng)絡(luò)文件系統(tǒng)設(shè)備所使用的 嵌入式操作系統(tǒng)的專用目的操作系統(tǒng)的一個(gè)實(shí)例。當(dāng)主機(jī)包括多于一個(gè)的系 統(tǒng)映像時(shí),每個(gè)系統(tǒng)映像被視為該單一設(shè)備也就是主機(jī)中的不同功能。每個(gè)通信信息包包括源地址字段和目的(destination)地址字段。這些是 分配給特定終點(diǎn)(end point)的地址范圍內(nèi)的存儲(chǔ)器地址。這些地址范圍關(guān)聯(lián) 于特定源BDF和目的BDF值。主機(jī)所傳輸?shù)拿總€(gè)信息包包括與預(yù)期適配器的映射地址范圍相應(yīng)的目的 地址。該目的地址由主機(jī)的根聯(lián)合體使用來(lái)標(biāo)識(shí)用于該特定信息包的正確輸 出端口 。該根聯(lián)合體然后將這個(gè)信息包傳輸?shù)剿R(shí)別的端口之外。使用組織(fabric)把該主機(jī)耦接到I/O適配器。在該組織中包含一個(gè)或 多個(gè)交換器。這些交換器通過(guò)該組織將信息包路由到它們所預(yù)期的目的地。 該組織中的交換器檢查主機(jī)所指定的適配器BDF,用于確定信息包是否必須 通過(guò)該交換器進(jìn)行路由,如果是,就通過(guò)它輸出交換器端口。根據(jù)PCIe標(biāo)準(zhǔn),主機(jī)中的根聯(lián)合體指定用于主機(jī)和用于適配器的BDF 編號(hào)。現(xiàn)有技術(shù)假設(shè)只有一個(gè)主機(jī)耦接到該組織上。當(dāng)只有一個(gè)主機(jī)耦接到 該組織上時(shí),因?yàn)閱蝹€(gè)根聯(lián)合體負(fù)責(zé)指定所有BDF編號(hào),所以可以不存在根 聯(lián)合體指定的BDF編號(hào)的重疊。如果沒(méi)有重疊,交換器就能正確地將信息包 路由到它們預(yù)期的目的地。根聯(lián)合體遵循用于指定BDF編號(hào)的定義處理。該根聯(lián)合體將BDF編號(hào) 0. 0. 1指定給第一系統(tǒng)映像,將BDF編號(hào)0. 0. 2指定給第二系統(tǒng)映像,等等。物理I/O適配器典型地被虛擬化(virtual ize),以^更物理I/O適配器表 現(xiàn)為多個(gè)單獨(dú)的虛擬1/0適配器。這些虛擬的適配器中的每一個(gè)是單獨(dú)的功 能。每個(gè)虛擬1/0適配器與系統(tǒng)映像相關(guān)聯(lián)。 一個(gè)物理1/0適配器能夠被虛 擬化為每一個(gè)與不同的系統(tǒng)映像相關(guān)聯(lián)的虛擬1/0適配器。例如,如果主機(jī) 包括3個(gè)系統(tǒng)映像,則物理1/0適配器能夠被虛擬化為3個(gè)虛擬1/0適配器, 其中每個(gè)虛擬1/0適配器與不同的系統(tǒng)映像相關(guān)聯(lián)。而且,系統(tǒng)可以包括幾 個(gè)物理I/0適配器,每個(gè)物理1/0適配器包括一個(gè)或多個(gè)虛擬適配器。虛擬I/O適配器將然后與單一主機(jī)的不同系統(tǒng)映像相關(guān)聯(lián)。例如,第一物理I/O適配器可能包括與該主機(jī)的第一系統(tǒng)映像相關(guān)聯(lián)的第一虛擬I/O適配器以及 與該主機(jī)的第二系統(tǒng)映像相關(guān)聯(lián)的第二虛擬I/O適配器。第二物理I/O適配 器可能只包括與該主機(jī)的第三系統(tǒng)映像相關(guān)聯(lián)的單個(gè)虛擬1/0適配器。第三物理適配器可能包括兩個(gè)虛擬適配器,第一個(gè)與該第二系統(tǒng)映像相關(guān)聯(lián),而 第二個(gè)與該第三系統(tǒng)映像相關(guān)聯(lián)。如果多個(gè)主機(jī)同時(shí)耦接到該組織,就會(huì)出現(xiàn)這些主機(jī)的根聯(lián)合體所選擇的BDF編號(hào)的重疊。重疊的出現(xiàn)是因?yàn)槊總€(gè)主機(jī)都將為自己指定BDF編號(hào) 0.0.1。這樣,應(yīng)當(dāng)僅標(biāo)識(shí)在一個(gè)主機(jī)中所包括的僅一個(gè)功能的BDF將不會(huì)唯 一地在僅一個(gè)主機(jī)中標(biāo)識(shí)僅一個(gè)功能。根聯(lián)合體將BDF編號(hào)1. 1. 1指定給該根聯(lián)合體在第一總線上所見(jiàn)的第一 適配器中的第一功能。這個(gè)過(guò)程將持續(xù)下去,直到所有的BDF編號(hào)都被指定。按照設(shè)備運(yùn)行所需為每個(gè)設(shè)備指定唯一的存儲(chǔ)器地址范圍。這些地址范 圍對(duì)應(yīng)于所指定的BDF編號(hào),但僅有根聯(lián)合體維持其使用來(lái)路由信息包的對(duì) 應(yīng)值的表。如果多個(gè)主機(jī)被耦接到該組織上,每個(gè)主機(jī)的根聯(lián)合體將把BDF編號(hào) 1.1.1指定給該根聯(lián)合體在第一總線上所見(jiàn)的第一適配器中的第一功能。這 將導(dǎo)致BDF編號(hào)1.1. l被指定給多個(gè)不同的功能。因此,就會(huì)出現(xiàn)將由多個(gè) 主積W吏用的BDF編號(hào)的重疊。以一種相似的方式,在每個(gè)主才幾上為它的i殳備 所指定的存儲(chǔ)器地址范圍將會(huì)與其它的主機(jī)上為它們的設(shè)備所指定的存儲(chǔ)器 地址范圍相重疊。當(dāng)BDF編號(hào)和存儲(chǔ)器地址范圍重疊時(shí),交換器就不能正確 地路由信息包。因此,需要一種方法、裝置和計(jì)算機(jī)程序產(chǎn)品,用于通過(guò)包括一個(gè)或多 個(gè)主機(jī)系統(tǒng)的組織進(jìn)行地址轉(zhuǎn)換和通信信息包的路由,每個(gè)主機(jī)系統(tǒng)具有一 個(gè)或多個(gè)系統(tǒng)映像,通過(guò)互連的多根交換器的組織與一個(gè)或多個(gè)物理適配器 通信,其中每個(gè)物理適配器提供一個(gè)或多個(gè)虛擬適配器。發(fā)明概述本發(fā)明的優(yōu)選實(shí)施例是一種計(jì)算機(jī)實(shí)現(xiàn)的方法、裝置和計(jì)算機(jī)程序產(chǎn)品, 用于通過(guò)使用多個(gè)PCI根交換器的PCI交換器組織來(lái)轉(zhuǎn)換地址并改善通信信 息包的^各由。公開(kāi)了一種計(jì)算機(jī)實(shí)現(xiàn)的方法、裝置和計(jì)算機(jī)程序產(chǎn)品,其用于通過(guò)該組織轉(zhuǎn)換BDF地址和路由通信信息包。數(shù)據(jù)處理環(huán)境包括使用PCI總線或與 PCI交換器互連到單個(gè)PCI組織中的多個(gè)PCI總線段而耦接到適配器上的主 機(jī)計(jì)算機(jī)系統(tǒng)。該組織包括從主機(jī)計(jì)算機(jī)系統(tǒng)之一接收通信信息包的機(jī)制, 該信息預(yù)期在被傳輸?shù)接蛇m配器之一所提供的特定功能。轉(zhuǎn)換是在直接連接到主機(jī)上的交換器上進(jìn)行的,然后再次在直接連接到 所預(yù)期的適配器的交換器中進(jìn)行轉(zhuǎn)換。該組織中的所有接收該信息包的其它 交換器將轉(zhuǎn)發(fā)該信息包,而不用轉(zhuǎn)換任何地址編號(hào)。當(dāng)交換器通過(guò)源端口接收信息包時(shí),交換器將對(duì)包括在該交換器中的轉(zhuǎn) 換機(jī)制標(biāo)識(shí)這個(gè)源端口 。交換器將該信息包移到該機(jī)制中。該機(jī)制從該信息 包中獲取源地址和目的地址,其中每個(gè)都包括源BDF編號(hào)和目的BDF編號(hào)的 編碼版本。該機(jī)制使用源端口 、源BDF和目的BDF在它的BDF表中標(biāo)識(shí)特定 的行。該機(jī)制然后分析所標(biāo)識(shí)的行中的狀態(tài)字段。如果狀態(tài)字段表示該信息包 應(yīng)當(dāng)僅進(jìn)行路由(不用執(zhí)行轉(zhuǎn)換),交換器就將該信息包移出機(jī)制,然后將該 信息包傳輸?shù)接稍撍鶚?biāo)識(shí)的行指示的目的端口之外。使用該目的BDF路由這 個(gè)信息包。如果狀態(tài)字段表示該信息包中的BDF編號(hào)應(yīng)當(dāng)被轉(zhuǎn)換,該機(jī)制就用存儲(chǔ) 在所識(shí)別的行中的已轉(zhuǎn)換源BDF字段中的BDF編號(hào),來(lái)替換當(dāng)前存儲(chǔ)在該信 息包的源BDF字段中的源BDF編號(hào)。該機(jī)制還用存儲(chǔ)在所識(shí)別的行中的已轉(zhuǎn) 換目的BDF字段中的BDF編號(hào),來(lái)替換當(dāng)前存儲(chǔ)在該信息包的目的BDF字段 中的目的BDF編號(hào)。交換器將該信息包移出該機(jī)制,然后將該信息包傳輸?shù)?由該所識(shí)別的行表示的目的端口之外。這個(gè)信息包使用該目的BDF進(jìn)行路由, 在這種情況下該目的BDF是經(jīng)轉(zhuǎn)換的目的BDF。附圖的簡(jiǎn)要說(shuō)明在所附權(quán)利要求書(shū)中將闡述能夠表達(dá)本發(fā)明特點(diǎn)的新特征。然而,本發(fā) 明本身,以及使用的優(yōu)選模式,進(jìn)一步包括其目的和有益效果,將在結(jié)合了 附圖來(lái)閱讀如下對(duì)示意性實(shí)施例的詳細(xì)描述的時(shí)候得到最佳的理解。

圖1是根據(jù)示意性實(shí)施例的分布式計(jì)算機(jī)系統(tǒng)的框圖; 圖2是根據(jù)示意性實(shí)施例的邏輯劃分的平臺(tái)的方框圖;圖3是根據(jù)示意性實(shí)施例的數(shù)據(jù)處理系統(tǒng)的方框圖,該系統(tǒng)包括PCI交換組織總線(組織),其包括在一個(gè)或多個(gè)主機(jī)系統(tǒng)所直接連接到的多個(gè)多根PCI交換器中實(shí)現(xiàn)的BDF轉(zhuǎn)換機(jī)制;圖4示出了根據(jù)示意性實(shí)施例的組成通信信息包的字段的方框圖;圖5是根據(jù)示意性實(shí)施例的第一 BDF轉(zhuǎn)換表的方框圖;圖6是根據(jù)示意性實(shí)施例的第二 BDF轉(zhuǎn)換表的方框圖;圖7是才艮據(jù)示意性實(shí)施例的第三BDF轉(zhuǎn)換表的方框圖;以及圖8示出了根據(jù)示意性實(shí)施例的高層流程圖,它描繪了用于在源設(shè)備和目的設(shè)備之間路由信息包的轉(zhuǎn)換標(biāo)識(shí)符。優(yōu)選實(shí)施例的詳細(xì)描述示意性的實(shí)施例能夠以任意通用或?qū)S媚康牡挠?jì)算系統(tǒng)來(lái)實(shí)現(xiàn),其中該 計(jì)算系統(tǒng)中,多個(gè)主機(jī)計(jì)算機(jī)系統(tǒng)通過(guò)公共I/O組織共享I/O適配器(I/O adapter, IOA)池。在該示意性實(shí)施例中,該組織是符合PCI Express標(biāo)準(zhǔn) 的設(shè)備的集合。在示意性實(shí)施例中,I/O組織被附接到多于一個(gè)的主機(jī)計(jì)算機(jī)系統(tǒng)中, 以便多個(gè)不同的主機(jī)計(jì)算機(jī)系統(tǒng)能夠與其它主機(jī)計(jì)算機(jī)系統(tǒng)一起共享也附接 到該組織上的I/O適配器。這些適配器可以是提供單一功能的物理適配器, 或者是已被劃分為多個(gè)功能的物理適配器,這些功能中的每一個(gè)表現(xiàn)為虛擬 適配器。優(yōu)選地,每個(gè)物理適配器、功能或虛擬適配器,都已被分配給一個(gè) 且僅一個(gè)特定主機(jī)計(jì)算機(jī)系統(tǒng)。主機(jī)計(jì)算機(jī)系統(tǒng)訪問(wèn)每一個(gè)被授權(quán)以使用主機(jī)分配的BDF編號(hào)進(jìn)行訪問(wèn) 的組織設(shè)備和/或適配器。主機(jī)分配的BDF編號(hào)是由主機(jī)所分配的,在該特定 主機(jī)的范圍內(nèi)是唯一的。這樣,任意的主機(jī)分配的BDF編號(hào)在特定主機(jī)中都 不存在重復(fù)。但是,由于每個(gè)主機(jī)都分配它自己的BDF編號(hào),其它的主機(jī)也 可以向授權(quán)使用的適配器分配相同的BDF編號(hào)。盡管主機(jī)分配的BDF編號(hào)在 特定主機(jī)中是唯一的,但在所有主機(jī)上或整個(gè)組織上可能是不唯一的。當(dāng)主機(jī)將信息包傳輸給它所指定的適配器之一時(shí),該主機(jī)就將預(yù)期適配 器上的其主機(jī)分配的適配器BDF編號(hào)插入到包含在該信息包的目的地址字段 中。該主機(jī)把該主機(jī)自身的主機(jī)分配的主機(jī)BDF編號(hào)放入包含在該信息包的 源地址字段中。根據(jù)示意性實(shí)施例,在系統(tǒng)的組織中的每個(gè)交換器中都包括轉(zhuǎn)換機(jī)制(BDF表)。該BDF表優(yōu)選地是硬件設(shè)備。該BDF表用于使能或禁止從每個(gè)主 機(jī)到每個(gè)設(shè)備上的訪問(wèn),簡(jiǎn)化主機(jī)和設(shè)備之間通信的路由,并且保護(hù)一個(gè)主 機(jī)免受另 一個(gè)主機(jī)的地址空間影響。BDF表包括用于確定包含在信息包中的源和目的BDF編號(hào)是否需要被轉(zhuǎn) 換的信息。并且,BDF表包括在需要轉(zhuǎn)換的情況下使用的經(jīng)轉(zhuǎn)換的源和目的 BDF編號(hào)。每個(gè)信息包包括源BDF字段和目的BDF字段。源BDF被包含在源BDF字 段中,而目的BDF被包含在目的BDF字段中。當(dāng)PCI交換器通過(guò)它的源端口之一接收信息包時(shí),該P(yáng)CI交換器將該信 息包移到BDF表中。BDF表中的機(jī)制使用源端口的標(biāo)識(shí)、源BDF和目的BDF, 標(biāo)識(shí)BDF表的一行。然后該機(jī)制分析所標(biāo)識(shí)的行中的轉(zhuǎn)換字段,以確定源和 目的BDF是否需要進(jìn)行轉(zhuǎn)換。該轉(zhuǎn)換字段指明"轉(zhuǎn)換"或者"路由"。當(dāng)字段指明"路由"時(shí),交換器就將信息包移出該機(jī)制,并將該信息包 通過(guò)由所識(shí)別的行所指明的該信息包的目的端口進(jìn)行傳輸。當(dāng)該字段指明"轉(zhuǎn)換"時(shí),該機(jī)制就用由所識(shí)別的行所指明的經(jīng)轉(zhuǎn)換的 源BDF替代原始的源BDF,以及用由所識(shí)別的行所指明的經(jīng)轉(zhuǎn)換的目的BDF 替代原始的目的BDF的方式,來(lái)修改該信息包?,F(xiàn)在參考附圖,特別是參考圖1,根據(jù)示意性實(shí)施例描述了分布式計(jì)算 系統(tǒng)環(huán)境100的框圖。圖1所描繪的分布式計(jì)算系統(tǒng)采用了兩個(gè)或多個(gè)根聯(lián) 合體(RC) 108, 118, 128, 138和139的形式,這些聯(lián)合體(complex)通過(guò) 1/0鏈路110, 120, 130, 142和143附接到1/0組織144上,這些聯(lián)合體還 附接到根節(jié)點(diǎn)(root node, RN ) 160-163的存儲(chǔ)控制器104, 114, 124和134 上。根聯(lián)合體包含在根節(jié)點(diǎn)的主機(jī)中。主機(jī)計(jì)算機(jī)系統(tǒng)典型地具有PC I到主 機(jī)的橋接功能,該功能公知為根聯(lián)合體。根聯(lián)合體在CPU的前側(cè)總線(FSB), 或者另一CPU總線,例如Hypertransport,與PCI總線之間橋接。多根系統(tǒng) 是一種包括兩個(gè)或多個(gè)主機(jī)的系統(tǒng),從而包含兩個(gè)或多個(gè)根聯(lián)合體。根節(jié)點(diǎn) 是完整的計(jì)算機(jī)系統(tǒng),例如服務(wù)器計(jì)算機(jī)系統(tǒng)。在這里,根節(jié)點(diǎn)還被稱為主 才幾節(jié)點(diǎn)。在其它的實(shí)施例中,根節(jié)點(diǎn)可具有更復(fù)雜的、通過(guò)多個(gè)橋到該組織的附接,或者到該組織中的多點(diǎn)的連接?;蛘?,根節(jié)點(diǎn)可具有用于協(xié)調(diào)與其它根 節(jié)點(diǎn)共享適配器的使用的外部手段。但是,在所有的實(shí)例中,本發(fā)明所描述的BDF表是位于主機(jī)系統(tǒng)和適配器之間的,從而能夠介入到主機(jī)和適配器之 間所有的通信中。BDF表將利用根交換器中的僅一個(gè)入口和僅一個(gè)出口,把 每個(gè)主機(jī)功能對(duì)(host-function pair)看作單一的連接。1/0組織通過(guò)鏈路151-158附接到IOA 145-150上。IOA可以是如145-146 和149中的單一功能IOA,或者是如147-148和150中的多功能IOA。而且, IOA可以通過(guò)例如145-148的單一鏈i 各,或者通過(guò)例如149-150的用于冗余 度的多條鏈路,連接到I/0組織上。根聯(lián)合體(RC) 108, 118, 128, 138和139是根節(jié)點(diǎn)(RN ) 160-163的 一部分。每個(gè)根節(jié)點(diǎn)可以有多于一個(gè)的根聯(lián)合體,例如在RN163中。除了根 聯(lián)合體之外,每個(gè)根節(jié)點(diǎn)都包括一個(gè)或多個(gè)中央處理單元或其它處理部件 101-102, 111-112, 121-122, 131-132,存儲(chǔ)器103, 113, 123和133,存 儲(chǔ)控制器104, 114, 124和134,這些存儲(chǔ)控制器連接著CPU、存儲(chǔ)器并通過(guò) 根聯(lián)合體連接著I/O,執(zhí)行著例如為存儲(chǔ)器處理連貫性業(yè)務(wù)(coherency traffic)的功能。根節(jié)點(diǎn)在它們的存儲(chǔ)控制器上例如通過(guò)連接159連接起來(lái),以形成用作 單一只十稱、多處J里(Symmetric Multi-Processing, SMP )系纟充的連貫寸生i或,或 者可以是具有單獨(dú)連貫性域的獨(dú)立的節(jié)點(diǎn),例如在RN 162_163中。在這里配置管理器164也被稱為PCI管理器??蛇x擇地,PCI管理器164 可以是連接到1/0組織144的獨(dú)立的實(shí)體,或者可以是RN 160-163其中一個(gè) 的一部分。分布式計(jì)算系統(tǒng)100可以用各種商業(yè)上可用的計(jì)算機(jī)系統(tǒng)來(lái)實(shí)現(xiàn)。例如, 分布式計(jì)算系統(tǒng)100可以用國(guó)際商業(yè)機(jī)器7>司所生產(chǎn)的IBMeServer iSeries Model 840系統(tǒng)來(lái)實(shí)現(xiàn)。這種系統(tǒng)可以支持使用OS/400操作系統(tǒng)的邏輯分區(qū), 該操作系統(tǒng)也可從國(guó)際商業(yè)機(jī)器公司得到。本領(lǐng)域的普通技術(shù)人員將會(huì)理解,圖1所描繪的硬件是可以改變的。例 如,其它外設(shè),諸如光盤驅(qū)動(dòng)器等等,也可以額外使用或代替所描繪的硬件。 所描繪的實(shí)例并不意味著對(duì)本發(fā)明的體系結(jié)構(gòu)進(jìn)行限制。圖2是根據(jù)示意性實(shí)施例的邏輯劃分的平臺(tái)的方框圖。邏輯劃分的平臺(tái) 200中的硬件可以實(shí)現(xiàn)為例如圖1所示的分布式計(jì)算系統(tǒng)100。邏輯劃分的平臺(tái)200包括經(jīng)劃分的硬件230,操作系統(tǒng)202, 204, 206, 208和分區(qū)固件 (partition firmware)210。操作系統(tǒng)202, 204, 206和208可以是單個(gè)操作系統(tǒng)的多個(gè)副本,也可 以是同時(shí)在邏輯分區(qū)的平臺(tái)200上運(yùn)行的多個(gè)異質(zhì)的(heterogeneous)*操作 系統(tǒng)。這些操作系統(tǒng)可以使用OS/400來(lái)實(shí)現(xiàn),其被設(shè)計(jì)為與分區(qū)管理固件, 例如系統(tǒng)管理程序(Hypervisor )相接口。 OS/400只是作為一個(gè)實(shí)例在這些 示意性實(shí)施例中使用。其它類型的操作系統(tǒng),例如AIX和Linux,也可以依靠特定的實(shí)現(xiàn)方式來(lái)使用。操作系統(tǒng)202, 204, 206和208位于分區(qū)203, 205, 207和209中。系 統(tǒng)管理軟件是用于實(shí)現(xiàn)分區(qū)管理固件210的軟件示例,且可以從國(guó)際商業(yè)機(jī) 器公司得到。固件是存儲(chǔ)在存儲(chǔ)器芯片中的"軟件",它能夠保存它的內(nèi)容而 不需要電源,例如,只讀存儲(chǔ)器(ROM),可編程ROM (PROM),可擦除可編程 R0M(EPR0M),電可擦除可編程ROM (EEPROM),以及非易失性隨機(jī)訪問(wèn)存儲(chǔ) 器(非易失性RAM)。另外,這些分區(qū)還包括分區(qū)固件211, 213, 215和217。分區(qū)固件211, 213, 215和217可以用初始的引導(dǎo)區(qū)代碼,IEEE-1275標(biāo)準(zhǔn)開(kāi)》文固件以及運(yùn) 行時(shí)間4是取軟件(runtime abstraction software, RTAS)來(lái)實(shí)現(xiàn),其可從 國(guó)際商業(yè)機(jī)器公司獲得。當(dāng)對(duì)分區(qū)203, 205, 207和209實(shí)例化時(shí),引導(dǎo)區(qū)代碼的副本通過(guò)平臺(tái) 固件21(M皮加載到分區(qū)203, 205, 207和209。此后,控制^C轉(zhuǎn)移到該引導(dǎo) 區(qū)代碼,引導(dǎo)區(qū)代碼然后就加載該開(kāi)放固件和RTAS。相關(guān)的或分配給該分區(qū) 的處理器然后被分派給該分區(qū)的存儲(chǔ)器,以便執(zhí)行分區(qū)固件。經(jīng)劃分的硬件230包括多個(gè)處理器232-238,多個(gè)系統(tǒng)存儲(chǔ)單元240-246, 多個(gè)IOA 248-262, NVRAM存儲(chǔ)器298以及儲(chǔ)存單元270。處理器232-238、 系統(tǒng)存儲(chǔ)單元240-246、 NVRAM存儲(chǔ)器298和IOA 248-262中的每一個(gè),或其 中一部分,可以通過(guò)被分配給分區(qū)之一而劃分到邏輯劃分的平臺(tái)200的多個(gè) 分區(qū)中的一個(gè),每個(gè)經(jīng)劃分的資源然后與操作系統(tǒng)202, 204, 206和208中 的一個(gè)相3十應(yīng)。分區(qū)管理固件210為分區(qū)203, 205, 207和209執(zhí)行大量功能和服務(wù), 從而建立并實(shí)施邏輯劃分的平臺(tái)200的劃分。分區(qū)管理固件210是固件實(shí)現(xiàn) 的虛擬機(jī),它與基礎(chǔ)(underlying)硬件是相同的。這樣,分區(qū)管理固件210通過(guò)虛擬化邏輯劃分的平臺(tái)200的硬件資源,而允許同時(shí)執(zhí)行獨(dú)立的OS映像 202, 204, 206和208。服務(wù)處理器290可用于提供各種服務(wù),例如分區(qū)中平臺(tái)錯(cuò)誤的處理。這 些服務(wù)也可以作為服務(wù)代理,從而將錯(cuò)誤報(bào)告回傳給廠家,例如國(guó)際商業(yè)機(jī) 器公司。不同分區(qū)的操作可以通過(guò)硬件管理控制臺(tái)(console)來(lái)控制,例如硬 件管理控制臺(tái)280。硬件管理控制臺(tái)280是單獨(dú)的分布式計(jì)算系統(tǒng),從其系在邏輯分區(qū)(LPAR)環(huán)境中,不允許一個(gè)分區(qū)中的資源或程序影響另一 個(gè)分區(qū)的操作。而且,為了便于使用,資源的分配需要粒度細(xì)化 (fine-grained)。圖3示出了根據(jù)示意性實(shí)施例的包括PCI交換組織總線的數(shù)據(jù)處理系統(tǒng), 其包括BDF編號(hào)轉(zhuǎn)換和路由。圖3描繪了通過(guò)單個(gè)根PCI交換器支持多個(gè)根 節(jié)點(diǎn)的PCI組織。數(shù)據(jù)處理系統(tǒng)300包括多個(gè)主機(jī)計(jì)算機(jī)系統(tǒng)301-303,每個(gè)主機(jī)計(jì)算機(jī) 系統(tǒng)包括單個(gè)或多個(gè)系統(tǒng)映像(System Image, SI) 304-308。這些系統(tǒng)然后 通過(guò)它們的根聯(lián)合體310-312與1/0組織309相接口。這些根聯(lián)合體中的每 一個(gè)都可以具有連接到該P(yáng)CI根交換器的一個(gè)端口 。根聯(lián)合體310通過(guò)端口 382連接到根PCI交換器327的端口 330。根聯(lián)合體311通過(guò)端口 383連接到 根PCI交換器322的端口 332。根聯(lián)合體312通過(guò)端口 384連接到根PCI交 換器331的端口 333。從根聯(lián)合體端口到PCI根交換器端口的連接可以用一 個(gè)或多個(gè)物理鏈路來(lái)實(shí)現(xiàn),這些鏈路可被看作單個(gè)的端口到端口的連接。主 機(jī)計(jì)算機(jī)系統(tǒng)連同相應(yīng)的根聯(lián)合體被稱為根節(jié)點(diǎn)。PCI交換器327使用下游端口 360從而通過(guò)PCI總線5將物理I/O適配 器(IOA) 1 342附接到PCI組織。物理適配器1 342具有兩個(gè)虛擬IO適配 器或虛擬I/0資源,343和344。虛擬適配器343是物理適配器342的功能0 (F0),而虛擬適配器344是物理適配器342的功能1 ( Fl )。相似的,PCI交換器327使用下游端口 361從而通過(guò)PCI總線6將物理 I/O適配器2 345附接到PCI組織。物理適配器2 345具有三個(gè)虛擬I/O適 配器或虛擬IO資源,346, 347和348。虛擬適配器346是物理適配器345的 功能0(F0),虛擬適配器347是物理適配器345的功能1 (Fl),而虛擬適配 器348是物理適配器345的功能2 ( F2 )。PCI交換器331使用下游端口 362從而通過(guò)PCI總線7將物理I/O適配 器3 349附接到PCI組織。物理適配器3 349具有兩個(gè)虛擬1/0適配器,作 為物理適配器349的功能0的虛擬適配器350和作為功能1的虛擬適配器351。PCI交換器331使用下游端口 363來(lái)通過(guò)PCI總線8附接單個(gè)功能物理 IOA 4 352。在這個(gè)實(shí)例中,物理適配器352被示出為虛擬化意識(shí)上(aware) 物理適配器,其向PCI組織提供單個(gè)功能即功能O(FO)作為虛擬適配器353。 另一方面,非虛擬化的已知單一功能適配器將會(huì)以相同方式來(lái)接入。交換器322使用上游端口 332從而通過(guò)PCI總線1附接根311的端口 383。 交換器327 -使用上游端口 33(U人而通過(guò)pci總線0附接才艮310的端口 382。 交換器331使用上游端口 333從而通過(guò)PCI總線2附接根312的端口 384。PCI交換器327使用上游/下游端口 358從而通過(guò)交換器322的PCI總線 3附接上游/下游端口 358。交換器322使用端口 359從而通過(guò)PCI總線4附 接到交換器331的端口 359。IOA 342作為虛擬化的IOA來(lái)示出,其中其功能O(FO) 343被分配給系 統(tǒng)映像l (SI 1 ) 304并可由其訪問(wèn),以及其功能l (Fl) 344 -波分配給系統(tǒng) 映像2 (SI 2 ) 305并可由其訪問(wèn)。這樣,虛擬適配器343被劃分給系統(tǒng)映像 304并只能由系統(tǒng)映像304來(lái)訪問(wèn)。虛擬適配器344被劃分給系統(tǒng)映像305 并只能由系統(tǒng)映像305來(lái)訪問(wèn)。以一種相似的方式,IOA 345作為虛擬化的IOA來(lái)示出,其中其功能0 (FO ) 346被分配給系統(tǒng)映像3 ( SI 3 ) 306并可由其訪問(wèn),以及其功能1 ( Fl) 347被分配給系統(tǒng)映像4 (SI 4 ) 307并可由其訪問(wèn),以及其功能2 ( F2 ) 348 被分配給系統(tǒng)映像5 (SI 5 ) 308。這樣,虛擬適配器346被劃分給系統(tǒng)映像 306并只能由系統(tǒng)映像306來(lái)訪問(wèn);虛擬適配器347被劃分給系統(tǒng)映像307 并只能由系統(tǒng)映像307來(lái)訪問(wèn);虛擬適配器348被劃分給系統(tǒng)映像308并只 能由系統(tǒng)映像308來(lái)訪問(wèn)。IOA 349作為虛擬化的IOA來(lái)示出,其中其F0 350 ^皮分配給SI 2 305 并可由其訪問(wèn),以及其F1 351被分配給SI 4 307并可由其訪問(wèn)。這樣,虛 擬適配器350被劃分給系統(tǒng)映像305并只能由系統(tǒng)映像305來(lái)訪問(wèn);虛擬適 配器351被劃分給系統(tǒng)映像307并只能由系統(tǒng)映像307來(lái)訪問(wèn)。物理IOA 352作為單個(gè)功能虛擬IOA 353示出,該虛擬IOA 353被劃分 給系統(tǒng)映像308并只能由系統(tǒng)映像308來(lái)訪問(wèn)。圖4是描繪根據(jù)示意性實(shí)施例的通信信息包的方框圖。通信信息包400 優(yōu)選地符合PCI Express (PCI-E)標(biāo)準(zhǔn)。信息包400由主才幾和I/O適配器使 用來(lái)互相通信。信息包400包括用于存儲(chǔ)信息包的發(fā)送方的源BDF編號(hào)的源 BDF字段402,用于存儲(chǔ)信息包的發(fā)送方的地址的源地址字段404,用于存儲(chǔ) 信息包的預(yù)期接收方的目的BDF的目的BDF字段406,用于存儲(chǔ)信息包的預(yù) 期接收方的目的地址的目的地址字段408,用于存儲(chǔ)控制信息的控制/協(xié)議字 段410,用于存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)字段412,以及用于存儲(chǔ)糾錯(cuò)位的字段414。糾 錯(cuò)位可以是CRC或任一種其它的糾錯(cuò)碼。信息包使用存儲(chǔ)在其目的BDF字段中的BDF編號(hào)進(jìn)行路由。當(dāng)設(shè)備對(duì)該 信息包作出響應(yīng)時(shí),使用存儲(chǔ)在信息包的源BDF字段中的BDF編號(hào)。圖5是根據(jù)示意性實(shí)施例的第一BDF轉(zhuǎn)換及保護(hù)表,表357。在這里僅 是用表500來(lái)幫助描述該示意性實(shí)施例。表500不是該示意性實(shí)施例的一部 分。表357包含在交換器322中。當(dāng)交換器322接收并發(fā)送信息包時(shí)使用表 357。表357包括源端口字段502,源BDF字段504,目的BDF字段506,轉(zhuǎn) 換狀態(tài)字段508,目的端口字段510,經(jīng)轉(zhuǎn)換的源BDF字段512以及經(jīng)轉(zhuǎn)換的 目的字段514。當(dāng)交換器322接收信息包時(shí),交換器322將信息包移到BDF表357的一 種機(jī)制中。該機(jī)制然后使用源端口標(biāo)識(shí)、在該信息包的源BDF字段中找到的 源BDF以及在該信息包的目的BDF字段中找到的目的BDF,從而定位BDF表 357中的行之一。 一旦定位了該行,該機(jī)制就使用狀態(tài)字段來(lái)確定當(dāng)前包含 在該信息包中的源和目的BDF編號(hào)是否需要進(jìn)行轉(zhuǎn)換。如果不需要轉(zhuǎn)換,該 信息包就簡(jiǎn)單地從BDF表357中移出,并使用由該定位的行所指示的目的端 口進(jìn)行發(fā)送。如果該行的狀態(tài)字段指示源和目的BDF編號(hào)需要進(jìn)行轉(zhuǎn)換,該機(jī)制就將 經(jīng)轉(zhuǎn)換的源BDF字段中的BDF編號(hào)存儲(chǔ)在信息包的源BDF字段中。該機(jī)制還 將經(jīng)轉(zhuǎn)換的目的BDF字段中的BDF編號(hào)存儲(chǔ)在信息包的目的BDF字段中。圖6是根據(jù)示意性實(shí)施例的第二 BDF轉(zhuǎn)換及保護(hù)表,表390的方框圖。 在這里僅是用表600來(lái)幫助描述該示意性實(shí)施例。表600不是該示意性實(shí)施 例的一部分。表390包含在交換器327中。當(dāng)交換器327接收并發(fā)送信息包時(shí)使用表390。表390包括源端口字段602,源BDF字,殳604,目的BDF字段606,轉(zhuǎn) 換狀態(tài)字段608,目的端口字段610,經(jīng)轉(zhuǎn)換的源BDF字段612以及經(jīng)轉(zhuǎn)換的 目的字段614。圖7是根據(jù)示意性實(shí)施例的第一BDF轉(zhuǎn)換及保護(hù)表,表392。在這里僅 是用表700來(lái)幫助描述該示意性實(shí)施例。表700不是該示意性實(shí)施例的一部 分。表392包含在交換器331中。當(dāng)交換器331接收并發(fā)送信息包時(shí)就使用 表392。表392包括源端口字段702,源BDF字段704,目的BDF字段706, 轉(zhuǎn)換狀態(tài)字段708,目的端口字段710,經(jīng)轉(zhuǎn)換的源BDF字^炎712以及經(jīng)轉(zhuǎn)換 的目的字段714。作為一個(gè)實(shí)例,假設(shè)主機(jī)303中的系統(tǒng)映像5 308將信息包發(fā)送給物理 1/0適配器中2 345的其功能2 348。該主機(jī)將把目的BDF 0, 1. 1插入到信息 包的目的字段中,并把源BDFO. 0. 2插入到信息包的源字段中。當(dāng)功能2 348 答復(fù)該信息包時(shí),該源BDF將被用作目的BDF。該系統(tǒng)映像已被主機(jī)303分 配給了源BDF 0.0.2。該信息包將從端口 384發(fā)送出并進(jìn)入到包含在交換器 331中的端口 333中。交換器331然后接收該信息包并將其移到BDF表392中(見(jiàn)圖7 )。 BDF 表392中的機(jī)制然后將使用源端口,即333,從該信息包的源BDF字段中讀 出的源BDF,即0.0.2,以及A/v該信息包的目的字^a中讀出的目的BDF,即 0. 1. 1,來(lái)定位行716。該機(jī)制然后讀取行716的狀態(tài)字段708。該字段指示必須要完成BDF編 號(hào)的轉(zhuǎn)換。該機(jī)制然后從行716的經(jīng)轉(zhuǎn)換的源BDF字段712中讀取BDF。該 經(jīng)轉(zhuǎn)換的源BDF是2. 1. 2。該機(jī)制然后將這個(gè)經(jīng)轉(zhuǎn)換的源BDF存儲(chǔ)在信息包 的源BDF字段中。該機(jī)制然后從行716的經(jīng)轉(zhuǎn)換的目的BDF字段714中讀取BDF。該經(jīng)轉(zhuǎn) 換的目的BDF是6. 1. 3。該機(jī)制然后將這個(gè)經(jīng)轉(zhuǎn)換的目的BDF存儲(chǔ)在信息包 的目的BDF字段中。現(xiàn)在具有了經(jīng)轉(zhuǎn)換的源BDF和經(jīng)轉(zhuǎn)換的目的BDF的該信息包,被從由行 716的目的端口字段710所標(biāo)識(shí)的目的端口發(fā)送出來(lái)。目的字段710指示該 信息包應(yīng)當(dāng)從端口 359發(fā)送出。端口 359連接到端口 335。因此,信息包被從359發(fā)送出并由交換器322的端口 335接收。交換器322將該信息包移到其BDF表357中(見(jiàn)圖5)。 BDF 表357中的機(jī)制然后使用將源端口,即335,從該信息包的源BDF字段讀出 的源BDF,即2, 1, 2,以及從該信息包的目的字段中讀出的目的BDF,即6, 1. 3, 來(lái)定位行516。該機(jī)構(gòu)然后將讀取行516的狀態(tài)字段508。該字段指示信息包應(yīng)當(dāng)進(jìn)行 路由,而不需要執(zhí)行BDF編號(hào)的轉(zhuǎn)換。仍舊具有其原始的源BDF2. 1. 2和原始 的目的BDF6. 1. 3的信息包,然后被從行516的目的端口字^殳510所標(biāo)識(shí)的目 的端口發(fā)送出去。目的字段510指示該信息包應(yīng)當(dāng)從端口 334發(fā)送出。端口 334連接到端口 358。因此,信息包被發(fā)送出端口 334并由交換器 327中的端口 358接收。交換器327接收該信息包并將其移到它的BDF表390 中(見(jiàn)圖6)。 BDF表390中的機(jī)制然后將使用源端口,即358,從信息包的 源BDF字段中讀出的源BDF,即2. 1.2,以及從信息包的目的字段中讀出的目 的BDF,即6. 1. 3,來(lái)定位行616。該機(jī)制然后將讀取行616的狀態(tài)字段608。該字段指示必須要完成BDF 編碼的轉(zhuǎn)換。該機(jī)制然后從行616的經(jīng)轉(zhuǎn)換的源BDF字段612讀出BDF。這 個(gè)經(jīng)轉(zhuǎn)換的源BDF是2. 1. 2。該機(jī)制然后將這個(gè)經(jīng)轉(zhuǎn)換的源BDF存儲(chǔ)到信息 包的源BDF字段中。該機(jī)制然后從行616的經(jīng)轉(zhuǎn)換的目的BDF字段614中讀出BDF。這個(gè)經(jīng) 轉(zhuǎn)換的目的BDF是0. 1. 3。該機(jī)制然后將這個(gè)經(jīng)轉(zhuǎn)換的目的BDF存儲(chǔ)在信息 包的目的BDF字段中。現(xiàn)在具有經(jīng)轉(zhuǎn)換的源BDF和經(jīng)轉(zhuǎn)換的目的BDF的信息包,被從由行616 的目的端口字段610所標(biāo)識(shí)的目的端口發(fā)送出。目的字段610指示信息包應(yīng) 當(dāng)被發(fā)送出端口 361。端口 361連接到物理適配器2 345上。當(dāng)物理適配器2 345接收該信息 包時(shí),其將把該信息包路由到其第三個(gè)功能上,這是因?yàn)樵贐DF編號(hào)中的功 能字段中包括一個(gè)"3"。物理適配器2 345的第三個(gè)功能是虛擬1/0適配器 348。虛擬I/O適配器348是該信息包的最終所預(yù)期的接收方。當(dāng)虛擬適配器348對(duì)該信息包作出響應(yīng)時(shí),其將產(chǎn)生新的信息包,并在 該新的信息包中包括由虛擬適配器348所接收的原始信息包所提供的源BDF, 作為該新的信息包的目的BDF。包括在原始信息包中的該源BDF是BDF 2, 1. 2。 新的信息包將具有目的BDF 2. 1. 2。虛擬適配器348將包括它自己的BDF作為該信息包的源BDF。虛擬適配 器348自己的BDF是0. 1. 3。因此,該信息包將具有源BDF 0. 1. 3。信息包然后將從虛擬I/O適配器348發(fā)送到交換器327的端口 361。然 后當(dāng)該新的信息包被發(fā)送到其最終目的地即系統(tǒng)映像5 308時(shí),上面所描述 的處理過(guò)程反向地發(fā)生。圖8是根據(jù)示意性實(shí)施例的一種高級(jí)流程圖,它描繪轉(zhuǎn)換用來(lái)在源設(shè)備 和目的設(shè)備之間路由信息包的標(biāo)識(shí)符。該處理過(guò)程開(kāi)始于方塊800,然后前 進(jìn)到方塊802,它描述了 PCI交換器通過(guò)交換器的輸入端口中的一個(gè)從源設(shè) 備接收信息包。接著,方塊804描述了 PCI交換器將該信息包移動(dòng)到包含在 該P(yáng)CI交換器中的BDF表中的路由機(jī)制中。處理過(guò)程然后前進(jìn)到方塊806,它描述了 BDF表中的路由機(jī)制獲取存儲(chǔ) 在該信息包的源BDF字段中的值以及存儲(chǔ)在該信息包的目的BDF字段中的值。 隨后,方塊808描述由交換器邏輯提供源端口編號(hào)作為BDF表中的機(jī)制的輸 入,其中通過(guò)該源端口信息包進(jìn)入到交換器。接下來(lái),方塊810描繪了 BDF 表中的機(jī)制在該BDF表中定位包括該源BDF、目的BDF和源端口編號(hào)的行。此后,方塊812圖示了確定該行是否描述了轉(zhuǎn)換是必要的。這種確定是 通過(guò)讀取在所定位的行的轉(zhuǎn)換狀態(tài)字段中所存儲(chǔ)的標(biāo)識(shí)符來(lái)做出的。如果確 定出該行描述了轉(zhuǎn)換不是必要的,處理過(guò)程就前進(jìn)到方塊814,這里描繪了 PCI交換器將未修改的信息包從BDF表移出到所定位的行中所標(biāo)識(shí)的目的端 口。接著,方塊816描述了 PCI交換器將信息包通過(guò)該行所標(biāo)識(shí)的目的端口 進(jìn)行發(fā)送。處理過(guò)程然后在方塊818結(jié)束。再次參考方塊812,如果確定出該行指示了轉(zhuǎn)換是必要的,處理前進(jìn)到 方塊820,這里描繪了 BDF表中的機(jī)制從所定位的行中獲取經(jīng)轉(zhuǎn)換的源BDF 和經(jīng)轉(zhuǎn)換的目的BDF。接著,方塊822描述了 BDF表中的機(jī)制使用從所定位 的行中獲取的經(jīng)轉(zhuǎn)換的源BDF,替代從信息包的源BDF字段中獲取的源BDF。此后,方塊824描繪了 BDF表中的機(jī)制使用從所定位的行中獲取的經(jīng)轉(zhuǎn) 換的目的BDF,來(lái)替代信息包的目的BDF字段中的目的BDF。然后,方塊826 描述了 PCI交換器將經(jīng)修改的信息包從BDF表中移出到所定位的行中所標(biāo)識(shí) 的目的端口。處理過(guò)程然后返回到方塊816。本發(fā)明可以采用全部硬件實(shí)施例的形式、全部軟件實(shí)施例的形式或既包 括硬件又包括軟件的實(shí)施例的形式來(lái)實(shí)現(xiàn)。在一個(gè)優(yōu)選的實(shí)施例中,本發(fā)明是采用軟件實(shí)現(xiàn)的,它包括但不僅限制于固件、駐留軟件、微代碼等等。而且,本發(fā)明能夠采用可從計(jì)算機(jī)可用或可讀的介質(zhì)讀取的計(jì)算機(jī)程序 產(chǎn)品來(lái)實(shí)現(xiàn),其中在該介質(zhì)上提供可由計(jì)算機(jī)或任意指令執(zhí)行系統(tǒng)使用或與 其結(jié)合使用的程序代碼。為了描述的目的,計(jì)算^L可用或計(jì)算機(jī)可讀介質(zhì)可 以是任意有形的裝置,該裝置能夠包括、存儲(chǔ)、通信、傳播或傳輸該程序, 其中該程序可由指令執(zhí)行系統(tǒng)、裝置或設(shè)備來(lái)使用或進(jìn)行結(jié)合使用。該介質(zhì)可以是電、磁、光學(xué)、電磁、紅外或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備) 或者傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的實(shí)例包括半導(dǎo)體或固態(tài)存儲(chǔ)器、磁帶、可移動(dòng)計(jì)算機(jī)盤、隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(R0M)、硬磁盤和光盤。 光盤的當(dāng)前的實(shí)例包括致密盤只讀存儲(chǔ)器(CD-R0M)、致密盤讀/寫存儲(chǔ)器 (CD-R/W)和歸。適于存儲(chǔ)和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括通過(guò)系統(tǒng)總線直接 或間接耦接到存儲(chǔ)部件上的至少一個(gè)處理器。存儲(chǔ)部件可以包括在實(shí)際執(zhí)行 程序代碼期間所使用的本地存儲(chǔ)器,海量存儲(chǔ)器和高速緩存存儲(chǔ)器,它們?yōu)?至少某些程序代碼提供臨時(shí)存儲(chǔ),以便降低必須在執(zhí)行代碼期間從海量存儲(chǔ) 器中進(jìn)行檢索的次數(shù)。輸入/輸出或I/0設(shè)備(包括但不限于鍵盤、顯示器、定點(diǎn)設(shè)備等等)可 以直接地或者通過(guò)居間I/O控制器耦接到系統(tǒng)。網(wǎng)絡(luò)適配器也可以耦接到系統(tǒng)上,從而使數(shù)據(jù)處理系統(tǒng)可以通過(guò)居間私 有或公共網(wǎng)絡(luò)耦接到其它數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)程打印機(jī)或存儲(chǔ)設(shè)備上。調(diào)制解 調(diào)器、線纜調(diào)制解調(diào)器和以太網(wǎng)卡是目前可用的網(wǎng)絡(luò)適配器中的僅幾種。盡管為了描述和說(shuō)明的目的在這里對(duì)本發(fā)明進(jìn)行了介紹,但不是要以所 公開(kāi)的形式窮舉或限制本發(fā)明。各種改變和修改對(duì)于本領(lǐng)域那些普通技術(shù)人 員都是可以理解的。為了最佳地解釋本發(fā)明的原理、實(shí)踐應(yīng)用以及為了使本 領(lǐng)域的其它技術(shù)人員理解本發(fā)明,對(duì)實(shí)施例進(jìn)行選擇和描述,進(jìn)行了各種修 改的各種實(shí)施例同樣適于所預(yù)期的特定應(yīng)用。
權(quán)利要求
1、一種在數(shù)據(jù)處理環(huán)境中對(duì)包含在通信信息包中的標(biāo)識(shí)符進(jìn)行轉(zhuǎn)換的方法,其中采用主機(jī)和I/O適配器所耦接的PCI組織在所述主機(jī)和所述I/O適配器之間路由該通信信息包,所述方法包括在把邊緣交換器所接收的所述通信信息包中的第一通信信息包路由出所述邊緣交換器之前,對(duì)所述通信信息包中的所述第一通信信息包所包含的目的標(biāo)識(shí)符進(jìn)行轉(zhuǎn)換,所述邊緣交換器直接連接到所述主機(jī)上或直接連接到所述I/O適配器上;以及對(duì)內(nèi)部交換器所接收的所述通信信息包中的第二通信信息包進(jìn)行路由,而不需要對(duì)包含在所述通信信息包中的第二通信信息包中的目的標(biāo)識(shí)符進(jìn)行轉(zhuǎn)換,所述內(nèi)部交換器不直接連接到所述主機(jī)上或直接連接到所述I/O適配器上。
2、 如權(quán)利要求l的方法,還包括在把所述通信信息包中的所述第一通信信息包路由出所述邊緣交換器之 前,對(duì)包含在所述通信信息包中的所述第 一通信信息包中的源標(biāo)識(shí)符進(jìn)行轉(zhuǎn) 換。
3、 如權(quán)利要求l的方法,還包括在所述邊緣交換器和所述內(nèi)部交換器中包含路由表;以及 利用所述路由表確定是否對(duì)包含在所述通信信息包中的所述標(biāo)識(shí)符進(jìn)行 轉(zhuǎn)換。
4、 如權(quán)利要求l的方法,還包括通過(guò)特定交換器中的源端口接收所述通信信息包中的特定一個(gè);讀取包含在所述通信信息包中的所述特定一個(gè)中的特定源標(biāo)識(shí)符和特定目的標(biāo)識(shí)符;以及利用所述源端口 、所述特定源標(biāo)識(shí)符和所述特定目的標(biāo)識(shí)符來(lái)確定是否轉(zhuǎn)換所述特定目的標(biāo)識(shí)符。
5、 如權(quán)利要求4的方法,還包括 在所述邊緣交換器和所述內(nèi)部交換器中包含路由表;利用所述源端口 、所述特定源標(biāo)識(shí)符和所述特定目的標(biāo)識(shí)符標(biāo)識(shí)所述路 由表中的4亍;讀取所述行中包含的轉(zhuǎn)換字段中所存儲(chǔ)的值;以及 利用所述值確定是否轉(zhuǎn)換所述特定目的標(biāo)識(shí)符。
6、 如權(quán)利要求l的方法,還包括轉(zhuǎn)換作為主機(jī)分配的標(biāo)識(shí)符的、包含在所述通信信息包中的所述標(biāo)識(shí)符。
7、 如權(quán)利要求l的方法,還包括通過(guò)以虛擬標(biāo)識(shí)符來(lái)替代主機(jī)分配的標(biāo)識(shí)符,來(lái)轉(zhuǎn)換所述通信信息包中 的所述第一通信信息包中包含的所述目的標(biāo)識(shí)符。
8、 如權(quán)利要求l的方法,還包括包含在所述通信信息包中的所述標(biāo)識(shí)符的每一個(gè)是總線/設(shè)備/功能 (BDF)編號(hào)。
9 、 一種在數(shù)據(jù)處理環(huán)境中對(duì)包含在通信信息包中的標(biāo)識(shí)符進(jìn)行轉(zhuǎn)換的裝 置,其中采用主機(jī)和I/O適配器所耦接的PCI組織在所述主機(jī)和所述I/O適 配器之間路由該通信信息包,所述裝置包括包含在邊緣交換器中的第 一機(jī)制,用于在把所述邊緣交換器所接收的所 述通信信息包中的第 一通信信息包路由出所述邊緣交換器之前,對(duì)所述通信 信息包中的所述第一通信信息包所包含的目的標(biāo)識(shí)符進(jìn)行轉(zhuǎn)換,所述邊緣交 換器直接連接到所述主機(jī)或直接連接到所述I/O適配器上,;以及包含在內(nèi)部交換器中的第二機(jī)制,用于對(duì)所述內(nèi)部交換器所接收的所述 通信信息包中的第二通信信息包進(jìn)行路由,而不需要對(duì)包含在所述通信信息 包中的第二通信信息包的目的標(biāo)識(shí)符進(jìn)行轉(zhuǎn)換,所述內(nèi)部交換器不直接連接 到所述主機(jī)上或直接連接到所述I/O適配器上。
10、 如權(quán)利要求9的裝置,還包括所述第 一機(jī)制用于在把所述通信信息包中的所述第 一通信信息包路由出 所述邊緣交換器之前,對(duì)包含在所述通信信息包中的所述第一通信信息包中 的源標(biāo)識(shí)符進(jìn)行轉(zhuǎn)換。
11、 如權(quán)利要求9的裝置,還包括 所述邊緣交換器和所述內(nèi)部交換器中的路由表;以及 所述路由表用于確定是否對(duì)包含在所述通信信息包中的所述標(biāo)識(shí)符進(jìn)行轉(zhuǎn)換。
12、 如權(quán)利要求9的裝置,還包括通過(guò)特定交換器中的源端口接收的所述通信信息包中的特定一個(gè);所述通信信息包中的所述特定一個(gè)包括特定源標(biāo)識(shí)符和特定目的標(biāo)識(shí)符;以及所述源端口 、所述特定源標(biāo)識(shí)符和所述特定目的標(biāo)識(shí)符;陂用來(lái)確定是否 轉(zhuǎn)換所述特定目的標(biāo)識(shí)符。
13、 如權(quán)利要求12的裝置,還包括 所述邊緣交換器和所述內(nèi)部交換器中的路由表;所述源端口 、所述特定源標(biāo)識(shí)符和所述特定目的標(biāo)識(shí)符被用來(lái)標(biāo)識(shí)所述 路由表中的行;所述行中包含的轉(zhuǎn)換字段中所存儲(chǔ)的值;以及 所述值被用來(lái)確定是否轉(zhuǎn)換所述特定目的標(biāo)識(shí)符。
14、 如權(quán)利要求9的裝置,還包括轉(zhuǎn)換作為主機(jī)分配的標(biāo)識(shí)符的、包含在所述通信信息包中的所述標(biāo)識(shí)符。
15、 如權(quán)利要求9的裝置,還包括通過(guò)以虛擬標(biāo)識(shí)符來(lái)替代主機(jī)分配的標(biāo)識(shí)符,來(lái)轉(zhuǎn)換所述通信信息包中 包含的所述目的標(biāo)識(shí)符。
16、 如權(quán)利要求9的裝置,還包括包含在所述通信信息包中的所述標(biāo)識(shí)符的每 一 個(gè)是總線/設(shè)備/功能 (BDF)編號(hào)。
全文摘要
一種計(jì)算機(jī)實(shí)現(xiàn)的方法、裝置和計(jì)算機(jī)程序產(chǎn)品,用于通過(guò)使用PCI交換器的組織來(lái)進(jìn)行總線/設(shè)備/功能(BDF)轉(zhuǎn)換和通信信息包路由。標(biāo)識(shí)符被包含在通信信息包中,其中使用耦接有主機(jī)和I/O適配器的PCI組織在該主機(jī)和I/O適配器之間對(duì)這些通信信息包進(jìn)行路由。在邊緣交換器對(duì)所接收的第一通信信息包向外路由之前,對(duì)該通信信息包中所包含的目的標(biāo)識(shí)符進(jìn)行轉(zhuǎn)換,其中這些邊緣交換器直接連接到所述主機(jī)或直接連接到所述I/O適配器上。對(duì)內(nèi)部交換器所接收的第二通信信息包進(jìn)行路由,而不需要對(duì)包含在該第二通信信息包中的目的標(biāo)識(shí)符進(jìn)行轉(zhuǎn)換,其中這些內(nèi)部交換器不直接連接到該主機(jī)或I/O適配器上。
文檔編號(hào)G06F13/12GK101226509SQ200710306189
公開(kāi)日2008年7月23日 申請(qǐng)日期2007年11月16日 優(yōu)先權(quán)日2006年12月6日
發(fā)明者威廉·G·霍蘭, 威廉·T·博伊德, 斯蒂文·M·瑟伯, 斯蒂文·W·亨特, 道格拉斯·M·弗賴穆思, 里納托·J·里喬, 馬德琳·維加 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
任丘市| 独山县| 竹山县| 崇州市| 合肥市| 聊城市| 鄂尔多斯市| 旌德县| 甘肃省| 龙川县| 南安市| 明溪县| 宿州市| 江口县| 奉新县| 永登县| 白朗县| 青神县| 巴塘县| 鹤山市| 南宫市| 获嘉县| 来凤县| 木里| 江都市| 广河县| 河东区| 涞水县| 颍上县| 信宜市| 双城市| 洪江市| 随州市| 古田县| 晋州市| 宜黄县| 桐乡市| 玉林市| 平利县| 公主岭市| 巫溪县|