專利名稱:用于將pcie sr-iov功能轉(zhuǎn)換成表現(xiàn)為傳統(tǒng)功能的系統(tǒng)和方法
用于將PCIE SR-I0V功能轉(zhuǎn)換成表現(xiàn)為傳統(tǒng)功能的系統(tǒng)和
方法
背景技術(shù):
計(jì)算機(jī)系統(tǒng)采用多種外圍部件或輸入/輸出(I/O)設(shè)備。舉例來說,典型的計(jì)算 機(jī)系統(tǒng)通常包含監(jiān)視器、鍵盤、鼠標(biāo)、網(wǎng)絡(luò)控制器、磁盤驅(qū)動(dòng)器或磁盤驅(qū)動(dòng)器陣列以及可選 地還包含打印機(jī)。諸如服務(wù)器之類的高性能計(jì)算機(jī)系統(tǒng)具有更復(fù)雜的I/O設(shè)備要求。通過由PCI特別興趣小組公布的PCI (外圍部件互連)本地總線規(guī)范限定了通過 部件總線連接到I/O設(shè)備的計(jì)算機(jī)系統(tǒng)的主機(jī)處理器的實(shí)例。在系統(tǒng)初始化期間,所述主 機(jī)處理器為所述PCI總線上的每個(gè)PCI設(shè)備加載設(shè)備驅(qū)動(dòng)器。典型的PCI設(shè)備包括位于每 個(gè)相應(yīng)的PCI設(shè)備的配置存儲(chǔ)器空間之內(nèi)的多個(gè)配置寄存器。包括諸如銷售商ID、設(shè)備ID 或版本(revision)寄存器之類的標(biāo)識(shí)寄存器的配置寄存器由設(shè)備驅(qū)動(dòng)器和主機(jī)系統(tǒng)在初 始化或正常操作期間讀取,以識(shí)別所述PCI設(shè)備。通常來說,所述標(biāo)識(shí)寄存器在所述PCI設(shè) 備的制造過程期間被硬布線成固定值,并且不能由所述設(shè)備驅(qū)動(dòng)器或所述主機(jī)的操作系統(tǒng) (OS)進(jìn)行修改。結(jié)果,查找PCI設(shè)備的特定標(biāo)識(shí)的傳統(tǒng)設(shè)備驅(qū)動(dòng)器將無法與具有不同標(biāo)識(shí) 信息(比如不同的銷售商ID或不同的設(shè)備ID等等)的PCI設(shè)備一同工作。PCI Express (PCIe)是針對(duì)PCI的改進(jìn)并且限定了多種計(jì)算和通信平臺(tái)的高性能 通用I/O互連。諸如PCI使用模型、加載-存儲(chǔ)體系結(jié)構(gòu)以及軟件接口之類的關(guān)鍵PCIe屬 性被維持在PCIe中,但是PCI的并行總線實(shí)現(xiàn)方式在PCIe中被高度可擴(kuò)展的完全串行的 接口所替換。PCIe利用先進(jìn)的點(diǎn)對(duì)點(diǎn)互連、基于交換的技術(shù)以及分組化的協(xié)議,以遞送改進(jìn) 的性能特征。輸入/輸出虛擬化(I0V)是為I/O設(shè)備的將由運(yùn)行在相同或不同CPU上的多于一 個(gè)的操作系統(tǒng)(OS-有時(shí)也被稱作系統(tǒng)映像(system image))使用的能力所給出的名稱。現(xiàn) 今的計(jì)算和存儲(chǔ)系統(tǒng)使用I0V,因?yàn)镮0V通過負(fù)載均衡以及有效地使用利用不足的資源而 提供對(duì)信息技術(shù)資源的改進(jìn)管理。舉例來說,I0V允許以更少的空閑時(shí)間更加充分使用有 限的資源集合(比如計(jì)算機(jī)存儲(chǔ)器),這是通過在共享的基礎(chǔ)上使得資源可用于一定數(shù)目 的不同操作系統(tǒng)而實(shí)現(xiàn)的。因此,不是針對(duì)每個(gè)OS都具有單獨(dú)的存儲(chǔ)器(其中每個(gè)單獨(dú)的 存儲(chǔ)器都未充分利用),共享的存儲(chǔ)器可用于所有操作系統(tǒng),并且所述共享存儲(chǔ)器所經(jīng)歷的 利用率高于任何所述單獨(dú)資源的利用率。雖然并入PCIe技術(shù)的計(jì)算和通信系統(tǒng)正在激增,但是許多傳統(tǒng)的(例如PCI)系 統(tǒng)仍處于使用中。當(dāng)這種傳統(tǒng)系統(tǒng)與更新的PCIe系統(tǒng)配對(duì)時(shí),這些傳統(tǒng)系統(tǒng)與更新的PCIe 系統(tǒng)之間的通信就可能會(huì)產(chǎn)生間題。
發(fā)明內(nèi)容
公開的是一種用于對(duì)單根輸入/輸出虛擬化(SR-I0V)功能進(jìn)行轉(zhuǎn)換從而使得所 述SR-I0V功能表現(xiàn)為傳統(tǒng)功能的系統(tǒng)。所述系統(tǒng)包括耦合在傳統(tǒng)主機(jī)與啟用了 SR-I0V的 設(shè)備之間的交換平臺(tái)。所述交換平臺(tái)包括被編程來辨別配置循環(huán)的類型并且處理所述配置 循環(huán)的處理器以及存儲(chǔ)與所述配置循環(huán)相關(guān)的數(shù)據(jù)的一個(gè)或更多本地寄存器。所述交換平臺(tái)處理器還監(jiān)督或控制該交換平臺(tái)的其它操作。還公開了一種用于在SR-I0V虛擬功能與傳統(tǒng)主機(jī)處理器的地址空間之間進(jìn)行轉(zhuǎn) 換的方法。所述方法包括以下步驟接收來自所述主機(jī)處理器的配置循環(huán);將來自所述主 機(jī)處理器的配置循環(huán)與配置寄存器進(jìn)行比較并且確定配置循環(huán)的類型;對(duì)所接收到的配置 循環(huán)執(zhí)行轉(zhuǎn)換操作;以及向所述主機(jī)處理器返回配置完成循環(huán)。更進(jìn)一步公開了一種執(zhí)行轉(zhuǎn)換從而使得可以為傳統(tǒng)主機(jī)處理器分配SR-I0V終端 設(shè)備的虛擬功能的系統(tǒng)。所述系統(tǒng)包括介于主機(jī)處理器與終端設(shè)備之間的智能交換結(jié)構(gòu) (fabric)。所述交換結(jié)構(gòu)包括識(shí)別從中發(fā)出虛擬功能的終端設(shè)備的類型的處理裝置;用 于存儲(chǔ)關(guān)于所述終端設(shè)備的所選信息的存儲(chǔ)裝置;用于將進(jìn)入的主機(jī)限定的目的地信息轉(zhuǎn) 換成相對(duì)應(yīng)的終端設(shè)備限定的目的地信息的裝置;以及用于將所述終端設(shè)備的進(jìn)入的終端 設(shè)備完成信息轉(zhuǎn)換成所述主機(jī)處理器的相對(duì)應(yīng)的完成信息的裝置。所述系統(tǒng)還包括用于在 所述交換結(jié)構(gòu)處接收配置循環(huán)和配置完成循環(huán)的裝置。
具體實(shí)施方式
部分將參照下面的附圖,其中相同的附圖標(biāo)記指代相同的項(xiàng)目,并 且其中圖1是利用單根體系結(jié)構(gòu)的啟用了 PCIe的計(jì)算系統(tǒng)的方框圖;圖2示出了針對(duì)圖1的系統(tǒng)的配置空間的實(shí)例;圖3示出了將被添加到被適配來利用圖1的系統(tǒng)的虛擬功能的傳統(tǒng)計(jì)算系統(tǒng)的示 例性元件;圖4A-4C示出了用于轉(zhuǎn)換各種配置循環(huán)從而使得圖1的虛擬功能對(duì)于圖3的系統(tǒng) 將表現(xiàn)為傳統(tǒng)功能的示例性機(jī)制;圖5示出了被用來實(shí)現(xiàn)關(guān)于圖4A-4C描述的轉(zhuǎn)換的示例性交換平臺(tái)和相關(guān)聯(lián)的控 制器;圖6示出了用于實(shí)現(xiàn)存儲(chǔ)器轉(zhuǎn)換的示例性機(jī)制;以及圖7是示出了在圖3的系統(tǒng)上執(zhí)行的示例性例程的流程圖。
具體實(shí)施例方式在下面的描述中,包括PCI Express中的互連設(shè)備的系統(tǒng)將被稱作PCIe系統(tǒng),幾 種將要連接的設(shè)備將被稱作PCIe設(shè)備,用于連接這些設(shè)備的總線將被稱作PCIe總線,并且 用于通信的分組將被稱作PCIe分組。使用PCIe之前的技術(shù)的系統(tǒng)將被稱作傳統(tǒng)系統(tǒng)并且 將具有相對(duì)應(yīng)的傳統(tǒng)設(shè)備和總線。參照圖1,PCIe系統(tǒng)100包括通過主機(jī)總線連接到CPU 120并且通過存儲(chǔ)器總線 連接到存儲(chǔ)器130的根聯(lián)合體110 (用于充當(dāng)PCIe的樹狀拓?fù)涞摹案?、為所述PCIe總線 提供扇出功能的PCIe交換機(jī)140以及通過所述PCI總線連接的I/O設(shè)備150。所述CPU 120可以是通用處理器、嵌入式處理器或者專用處理元件。所述存儲(chǔ)器130可以是通用存儲(chǔ) 器或嵌入式存儲(chǔ)器。一般來說,所述根聯(lián)合體110與PCIe的樹狀拓?fù)涞腃PU 120相鄰的那 側(cè)被稱作上游,并且所述根聯(lián)合體110與I/O設(shè)備150相鄰的那側(cè)被稱作下游。雖然在圖 1中有兩個(gè)I/O設(shè)備150連接到所述PCIe交換機(jī)140,但是可被連接的I/O設(shè)備150的數(shù)目不限于兩個(gè)。提供在所述CPU 120中的配置軟件被用于配置所述PCI系統(tǒng)100。每個(gè)PCIe設(shè)備150通過根端口 115被耦合到所述根聯(lián)合體110。當(dāng)多個(gè)PCIe設(shè) 備150被耦合到單個(gè)根端口 115時(shí),在所述根端口 115與所述PCIe設(shè)備150之間放置交換 機(jī)、比如交換機(jī)140。與所述處理器120相關(guān)聯(lián)地示出的是虛擬化中介160,所述虛擬化中介160被用來 抽象所述系統(tǒng)100的底層硬件,以便向每個(gè)系統(tǒng)映像(SI) 170提供其自己的虛擬計(jì)算系統(tǒng)。 所述系統(tǒng)映像170是被用來在所述系統(tǒng)100上執(zhí)行應(yīng)用的軟件單元、比如操作系統(tǒng)。單根 PCI管理器(SR-PCIM) 165是被用來配置所述系統(tǒng)的SR-I0V能力、管理物理功能(PF)和虛 擬功能(VF)以及過程相關(guān)聯(lián)的錯(cuò)誤事件的軟件。物理功能是支持所述SR-I0V能力并且可 由SR-PCIM 165,VI 160或SI 170訪問的PCIe功能。虛擬功能是通過SI 170可直接訪問 的輕型PCIe功能。虛擬功能可以由不同的系統(tǒng)映像170逐次共享。最后應(yīng)當(dāng)注意到,圖1中所示的系統(tǒng)100是“單根”系統(tǒng)。其它計(jì)算系統(tǒng)可以使用 多個(gè)根。所述PCIe交換機(jī)140包括上游PCI-PCI橋接器、內(nèi)部PCI總線以及下游PCI-PCI 橋接器(現(xiàn)在示出的部件)。所述上游PCI-PCI橋接器和下游PCI-PCI橋接器包括相應(yīng)的 配置寄存器以用于保留關(guān)于連接在相應(yīng)橋接器的下游的PCIe資源空間的信息。所述PCIe 資源空間是被用在PCIe系統(tǒng)中的幾個(gè)地址所占用的空間。圖2是示出了 PCIe 0類配置寄存器的內(nèi)部布局的實(shí)例的圖示。作為地址的例子, 設(shè)備ID代表對(duì)于銷售商特定的設(shè)備號(hào)碼并且銷售商ID代表制造商號(hào)碼(二者的偏移量都 是00h),而類代碼(偏移量08h)代表設(shè)備屬性。地址偏移量10h-24h以及30h被用于基地 址寄存器。包括在SR-PCIM 165內(nèi)的配置軟件可以通過查找寄存器值來識(shí)別出設(shè)備。所述 基地址寄存器被SR-PCIM 165中的配置軟件使用來在為I/O設(shè)備分配地址空間時(shí)寫入基地 址。所述設(shè)備標(biāo)識(shí)和相關(guān)的過程發(fā)生在PCIe配置循環(huán)期間。這種配置循環(huán)發(fā)生在設(shè)備啟 動(dòng)期間并且可能發(fā)生在熱插拔操作之后。如下面將要描述的那樣,相同的寄存器值被用在 這里公開的翻譯設(shè)備中,以便使得SR-I0V虛擬功能對(duì)于傳統(tǒng)主機(jī)表現(xiàn)為傳統(tǒng)功能?;氐綀D1,在基于PCIe的系統(tǒng)100啟動(dòng)時(shí),在初始配置循環(huán)期間,配置軟件160搜 索存在于PCIe系統(tǒng)100中的所有PCIe設(shè)備。具體來說,掃描系統(tǒng)100中的所有PCI總線, 并且檢查每個(gè)PCI總線中的每個(gè)槽的占用該槽的PCIe設(shè)備的屬性。然后通過順序地分配 所找到的每個(gè)PCIe設(shè)備所需的PCIe資源空間來實(shí)現(xiàn)配置。舉例來說,在圖1的PCIe系統(tǒng) 100中,為連接在所述PCIe交換機(jī)140下游的I/O設(shè)備150分配其需要的相應(yīng)資源空間,并 且根據(jù)所分配的空間的尺寸來設(shè)定圖2中所示的配置寄存器中的值。PCIe提供了熱插拔功能以用于在使用中將I/O設(shè)備的插塞連接到未被占用的槽/ 從未被占用的槽中斷開I/O設(shè)備的插塞。熱插拔是一種允許在系統(tǒng)中的其它設(shè)備處于服務(wù) 中的同時(shí)物理地附著或移除I/O設(shè)備或類似設(shè)備的技術(shù)。在傳統(tǒng)的PCIe系統(tǒng)中,主要的熱 插拔功能例如工作在這種情況下用類似的I/O設(shè)備150替換在初始配置循環(huán)期間附著到 圖1中的PCIe交換機(jī)140的I/O設(shè)備150,因?yàn)楹笳甙l(fā)生故障。當(dāng)I/O設(shè)備150被插入到 槽中時(shí),在下游的CPU 120與該I/O設(shè)備150之間建立鏈接,并且電信號(hào)同步、信用信息交 換等等被自動(dòng)激活。熱插拔寄存器被接通,并且同時(shí)生成到CPU 120的中斷。由所述中斷 觸發(fā),SR-PCIM 165中的配置軟件被調(diào)用來配置所插入的I/O設(shè)備150并且清零熱插拔寄存器。在這一配置過程完成之后,所插入的I/O設(shè)備150被啟用。雖然利用所述系統(tǒng)100在熱插拔操作中交換I/O設(shè)備是可能的,但是將I/O設(shè)備 150安裝到未被占用的槽中可能需要重新配置整個(gè)PCIe系統(tǒng)100,其包括含有關(guān)于已被分 配的PCIe資源空間的信息的由PCIe交換機(jī)140所持有的任何配置寄存器以及由其它I/O 設(shè)備所持有的基地址寄存器。出現(xiàn)這種情況的原因在于在所述初始配置循環(huán)期間,為所述 PCIe總線分配總線號(hào)碼,并且按照順序的方式為所述PCIe交換機(jī)140和I/O設(shè)備150分配 設(shè)備號(hào)碼、功能號(hào)碼、32比特I/O空間、32比特存儲(chǔ)器空間以及必要的話還分配64比特存 儲(chǔ)器空間;但是并沒有為任何未被占用的槽進(jìn)行上述分配。因此,當(dāng)I/O設(shè)備150被插入到 (例如所述PCIe交換機(jī)140中的)未被占用的槽中時(shí),要被分配給所插入的I/O設(shè)備150 的PCIe資源空間可能會(huì)與已經(jīng)使用了該空間的另一 I/O設(shè)備150的PCIe資源空間發(fā)生干 擾。SR-I0V是一種新的PCIe規(guī)范,其限定了一種被稱作虛擬功能的新型功能。虛擬功 能與先前的(傳統(tǒng))PCI功能有一些重要差異,并且需要改變SR-I0V設(shè)備會(huì)附著到的任何 主機(jī)的PCI代碼。作為改變所述主機(jī)的PCI代碼的一種替換方案,可以令所述虛擬功能看 上去像是常規(guī)的PCI功能。這種轉(zhuǎn)換是作為由PCI主機(jī)執(zhí)行的配置過程的部分來實(shí)現(xiàn)的。 在駐留于所述主機(jī)與所述虛擬功能之間的中間設(shè)備中執(zhí)行所述轉(zhuǎn)換。圖3示出了將被添加到被適配來利用圖1的系統(tǒng)的虛擬功能的計(jì)算系統(tǒng)內(nèi)的傳統(tǒng) 主機(jī)處理器的示例性元件。如圖3中所示,計(jì)算系統(tǒng)300包括通過所添加的交換平臺(tái)320耦 合到一個(gè)或更多I/O設(shè)備150的傳統(tǒng)主機(jī)處理器310。所述I/O設(shè)備150在所有相關(guān)方面都 類似于圖1中所示的相對(duì)應(yīng)設(shè)備。也就是說,圖3中所示的I/O設(shè)備150實(shí)施根據(jù)SR-I0V 規(guī)范的虛擬功能。作為例子,I/O設(shè)備1501可以代表根據(jù)所述SR-I0V規(guī)范被配置為四個(gè) 虛擬以太網(wǎng)端口的單個(gè)以太網(wǎng)端口。照這樣,可以為所述四個(gè)虛擬以太網(wǎng)端口中的任意虛 擬以太網(wǎng)端口分配特定的系統(tǒng)映像,比如分配圖1中所示的系統(tǒng)映像170。此外,所述主機(jī) 處理器310可以訪問所述四個(gè)虛擬以太網(wǎng)端口中的任意虛擬以太網(wǎng)端口。但是,因?yàn)樗?主機(jī)處理器310并不是PCIe SR-I0V設(shè)備,所以首先必須對(duì)于該主機(jī)處理器310完成翻譯 操作,以便與所述I/O設(shè)備1501接口連接。當(dāng)執(zhí)行各種配置循環(huán)以啟用所連接的I/O設(shè)備 150時(shí),這種翻譯通??梢园l(fā)生在所述計(jì)算機(jī)系統(tǒng)300的啟動(dòng)期間。所述翻譯在交換平臺(tái) 320中被執(zhí)行。圖4A-4C示出了用于轉(zhuǎn)換各種配置循環(huán)從而使得所述I/O設(shè)備150的虛擬功能對(duì) 于圖3的主機(jī)處理器將表現(xiàn)為傳統(tǒng)功能的示例性機(jī)制。如圖4A-4C中所示,存在三種類型 的配置循環(huán)。在圖4A中,所述交換平臺(tái)310修改來自所述主機(jī)處理器310的進(jìn)入的A類配 置循環(huán),所述修改是通過將主機(jī)限定的目的地總線或設(shè)備功能改變成對(duì)應(yīng)于終端設(shè)備(即 所述I/O設(shè)備150)的限定的目的地總線/設(shè)備/功能號(hào)碼而實(shí)現(xiàn)的。在實(shí)施例中,A類配 置循環(huán)是與如圖2中所示的地址空間08h、0Ch、28h、2Ch、34h和38h相關(guān)的配置循環(huán)。經(jīng)過 如此修改的配置循環(huán)被發(fā)送到所述I/O設(shè)備150,以便從該I/O設(shè)備150獲得特定信息。類 似地在所述交換平臺(tái)320中轉(zhuǎn)換從所述I/O設(shè)備150到所述主機(jī)處理器310的配置完成循 環(huán)信號(hào)。在圖4B中,所述交換平臺(tái)320截取并處理所述配置循環(huán)而不將所述信號(hào)發(fā)送到 所述I/O設(shè)備150。在實(shí)施例中,這種轉(zhuǎn)換適用于如圖2中所示的配置空間的地址空間10h-24h以及30h。所述交換平臺(tái)320向本地寄存器寫入數(shù)據(jù)并且從本地寄存器讀取數(shù)據(jù)。 在所述交換平臺(tái)320中基于被存儲(chǔ)在所述本地寄存器中的關(guān)于I/O設(shè)備的信息而本地生成 所述配置循環(huán)。在圖4C中,在配置循環(huán)被傳給所述I/O設(shè)備150之前修改配置循環(huán)的目的地總線 /設(shè)備/功能號(hào)碼,但是所述數(shù)據(jù)的部分由所述交換平臺(tái)320處理,所述交換平臺(tái)320向本 地寄存器寫入/從本地寄存器讀取該數(shù)據(jù)。在所述交換平臺(tái)320中修改來自所述I/O設(shè)備 150的進(jìn)入的配置循環(huán),所述修改是通過將所述進(jìn)入的I/O設(shè)備限定的已完成的總線/設(shè)備 /功能號(hào)碼翻譯成與所述主機(jī)處理器310的相對(duì)應(yīng)的已完成的總線/設(shè)備/功能號(hào)碼相匹 配而實(shí)現(xiàn)的,并且將經(jīng)過如此修改的信號(hào)與來自所述交換平臺(tái)310本地寄存器的數(shù)據(jù)相組 合,以便產(chǎn)生引出的配置完成循環(huán)。圖5是示例性交換平臺(tái)320的方框圖。在圖5中可以看出所述交換平臺(tái)320包括 處理器322和本地寄存器324。所述處理器322被編程來截取來自所述主機(jī)處理器310的 配置循環(huán)并且確定要應(yīng)用圖4A-4C的三種機(jī)制中的哪種機(jī)制實(shí)現(xiàn)所需的轉(zhuǎn)換。通過一些轉(zhuǎn) 換,所述處理器322將從所述本地寄存器324讀取數(shù)據(jù)或向所述本地寄存器324寫入數(shù)據(jù)。圖6示出了一種用于實(shí)現(xiàn)存儲(chǔ)器轉(zhuǎn)換的示例性機(jī)制。與前面關(guān)于所述配置循環(huán)所 描述的那樣,為了使得所述主機(jī)處理器310訪問存儲(chǔ)器,由于配置空間寄存器(圖2中所示 的實(shí)例),可能需要對(duì)存儲(chǔ)器地址進(jìn)行一些轉(zhuǎn)換。具體來說,配置空間寄存器180表明針對(duì) 地址偏移量10h-24h以及針對(duì)30h的基地址寄存器(BAR)。對(duì)這些地址偏移量進(jìn)行轉(zhuǎn)換, 使得所述主機(jī)處理器310將正確地解釋任何存儲(chǔ)器地址功能。如圖6中所示,所述主機(jī)處 理器310發(fā)布存儲(chǔ)器循環(huán),在所述交換平臺(tái)320處接收到所述存儲(chǔ)器循環(huán)并且將所述存儲(chǔ) 器循環(huán)與本地BAR進(jìn)行比較。如果發(fā)現(xiàn)匹配(地址命中),則利用所述處理器322翻譯該地 址。如果所述比較表明沒有匹配,則所述處理器322發(fā)布不支持請求。圖7是示出了在圖3的系統(tǒng)上執(zhí)行的示例性例程600的流程圖。所述例程開始于 塊605。在塊610,交換平臺(tái)320接收到來自所述主機(jī)處理器310的配置循環(huán)。在塊615, 所述處理器322針對(duì)特定的端點(diǎn)設(shè)備比較(所述配置循環(huán)中的)配置總線/設(shè)備/功能信 息。在塊620,所述處理器確定正在處理的是哪類配置循環(huán)。在塊625,所述處理器322執(zhí) 行從所述主機(jī)設(shè)備到預(yù)定的終端設(shè)備的所需的總線/設(shè)備/功能轉(zhuǎn)換。在塊630,所述處理器注意到所述配置循環(huán)是A類、B類還是C類。如果所述配置 循環(huán)不是A類或C類,則所述例程600移到塊640,并且所述配置循環(huán)在所述交換平臺(tái)320 中終止。但是,如果所述配置循環(huán)是A類或C類,則所述例程移到塊645,并且所述配置循環(huán) 被發(fā)送到所述終端設(shè)備。在塊650,在終端設(shè)備處進(jìn)行了適當(dāng)?shù)奶幚碇?,該終端設(shè)備返回 配置完成循環(huán)。對(duì)所述配置完成循環(huán)進(jìn)行轉(zhuǎn)換(塊655),并且所述例程600移到塊660,用 于發(fā)送到主計(jì)算機(jī),并且然后結(jié)束665。
權(quán)利要求
一種用于將單根輸入/輸出虛擬化(SR IOV)功能轉(zhuǎn)換成表現(xiàn)為傳統(tǒng)功能的系統(tǒng),其包括耦合在傳統(tǒng)主機(jī)與啟用了SR IOV的終端設(shè)備之間的交換平臺(tái),所述交換平臺(tái)包括被編程來辨別配置循環(huán)的類型并且處理所述配置循環(huán)的處理器;以及存儲(chǔ)與所述配置循環(huán)相關(guān)的數(shù)據(jù)的一個(gè)或更多本地寄存器。
2.權(quán)利要求1的系統(tǒng),其中,所述配置循環(huán)將配置寄存器中的地址空間與所述終端設(shè) 備的物理地址相關(guān)。
3.權(quán)利要求1的系統(tǒng),其中,所述終端設(shè)備是PCIeI/O設(shè)備。
4.權(quán)利要求1的系統(tǒng),其還包括用于將來自主機(jī)處理器的進(jìn)入的存儲(chǔ)器循環(huán)翻譯成能 夠?yàn)樗鼋K端設(shè)備所理解的存儲(chǔ)器循環(huán)的裝置。
5.權(quán)利要求1的系統(tǒng),其還包括用于檢測其中插入替換設(shè)備以替換所述終端設(shè)備的熱插拔操作的裝置;以及 用于配置所述替換設(shè)備從而使得該替換設(shè)備的虛擬功能對(duì)于主機(jī)處理器表現(xiàn)為傳統(tǒng) 功能的裝置。
6.一種用于在終端設(shè)備的SR-I0V虛擬功能與傳統(tǒng)主機(jī)處理器的地址空間之間進(jìn)行轉(zhuǎn) 換的方法,其包括在所述終端設(shè)備與所述主機(jī)處理器之間的交換平臺(tái)中介處接收來自所述主機(jī)處理器 的配置循環(huán);將來自所述主機(jī)處理器的配置循環(huán)與配置寄存器進(jìn)行比較并且確定配置循環(huán)的類型;對(duì)所接收到的配置循環(huán)執(zhí)行轉(zhuǎn)換操作;以及 向所述主機(jī)處理器返回配置完成循環(huán)。
7.權(quán)利要求6的方法,其還包括向所述終端設(shè)備發(fā)送經(jīng)過轉(zhuǎn)換的配置循環(huán);接收來自所述終端設(shè)備的配置完成信號(hào);以及對(duì)所接收到的配置完成信號(hào)進(jìn)行轉(zhuǎn)換,以產(chǎn)生所述配置完成循環(huán)。
8.權(quán)利要求7的方法,其還包括通過將進(jìn)入的存儲(chǔ)器循環(huán)與配置寄存器中的基地址寄 存器進(jìn)行比較來轉(zhuǎn)換存儲(chǔ)器訪問循環(huán),其中對(duì)存儲(chǔ)器地址進(jìn)行轉(zhuǎn)換。
9.權(quán)利要求6的方法,其還包括接收其中插入替換設(shè)備以替換所述終端設(shè)備的熱插拔操作的指示; 向交換平臺(tái)發(fā)送配置循環(huán);以及 接收來自所述終端設(shè)備的配置完成循環(huán)。
10.權(quán)利要求9的方法,其還包括在所述交換平臺(tái)中存儲(chǔ)關(guān)于所述替換設(shè)備的信息;以及 在所述交換平臺(tái)中生成所述配置完成循環(huán)。
11.權(quán)利要求9的方法,其還包括在所述交換平臺(tái)中存儲(chǔ)關(guān)于所述替換設(shè)備的信息的第一部分; 向所述替換設(shè)備發(fā)送關(guān)于所述替換設(shè)備的信息的第二部分; 從所述替換設(shè)備接收基于所述信息的所接收到的第二部分的配置完成信號(hào);將所述信息的所存儲(chǔ)的第一部分與所述配置完成信號(hào)相組合,以生成所述配置完成循 環(huán);以及向所述主機(jī)處理器發(fā)送所述配置完成循環(huán)。
12.權(quán)利要求9的方法,其還包括 向所述替換設(shè)備發(fā)送所述配置循環(huán); 從所述替換設(shè)備接收配置完成信號(hào);對(duì)所接收到的配置完成信號(hào)進(jìn)行轉(zhuǎn)換;以及向所述主機(jī)處理器發(fā)送經(jīng)過轉(zhuǎn)換的信號(hào)以作為配置完成循環(huán)。
13.一種執(zhí)行轉(zhuǎn)換從而使得為傳統(tǒng)主機(jī)處理器分配SR-I0V終端設(shè)備的虛擬功能的系 統(tǒng),其包括介于所述主機(jī)處理器與所述終端設(shè)備之間的智能交換結(jié)構(gòu),所述交換結(jié)構(gòu)包括 識(shí)別從中發(fā)出虛擬功能的終端設(shè)備的類型的處理裝置; 用于存儲(chǔ)關(guān)于所述終端設(shè)備的所選信息的存儲(chǔ)裝置;用于將進(jìn)入的主機(jī)限定的目的地信息轉(zhuǎn)換成相對(duì)應(yīng)的終端設(shè)備限定的目的地信息的 裝置;以及用于將所述終端設(shè)備的進(jìn)入的終端設(shè)備完成信息轉(zhuǎn)換成所述主機(jī)處理器的相對(duì)應(yīng)的 完成信息的裝置;以及用于在所述交換結(jié)構(gòu)處接收配置循環(huán)和配置完成循環(huán)的裝置。
14.權(quán)利要求13的系統(tǒng),其還包括用于發(fā)現(xiàn)其中替換設(shè)備替換所述終端設(shè)備的熱插拔操作的裝置;以及 用于配置所述替換設(shè)備的裝置。
15.權(quán)利要求13的系統(tǒng),其還包括用于在所述交換結(jié)構(gòu)中存儲(chǔ)與所述終端設(shè)備的總線/設(shè)備/功能信息相關(guān)的信息的裝 置;以及在所述交換結(jié)構(gòu)中生成所述配置完成循環(huán)。
16.權(quán)利要求13的系統(tǒng),其還包括用于在所述交換結(jié)構(gòu)中存儲(chǔ)關(guān)于所述終端設(shè)備的信息的第一部分的裝置;用于向所述終端設(shè)備發(fā)送關(guān)于所述終端設(shè)備的信息的第二部分的裝置;用于從所述終端設(shè)備接收基于所述信息的所接收到的第二部分的配置完成信號(hào)的裝置;用于將所述信息的所存儲(chǔ)的第一部分與所述配置完成信號(hào)相組合以便生成所述配置 完成循環(huán)的裝置;以及用于向所述主機(jī)處理器發(fā)送所述配置完成循環(huán)的裝置。
17.權(quán)利要求13的系統(tǒng),其還包括用于向所述終端設(shè)備發(fā)送所述配置循環(huán)的裝置;用于從所述終端設(shè)備接收配置完成信號(hào)的裝置;用于對(duì)所接收到的配置完成信號(hào)進(jìn)行轉(zhuǎn)換的裝置;以及用于向所述主機(jī)處理器發(fā)送經(jīng)過轉(zhuǎn)換的信號(hào)以作為配置完成循環(huán)的裝置。
18.權(quán)利要求13的系統(tǒng),其還包括用于檢測其中替換設(shè)備替換所述終端設(shè)備的熱插拔操作的裝置;以及 用于轉(zhuǎn)換來自所述替換設(shè)備的總線/設(shè)備/功能信息的裝置,其中所述替換設(shè)備的功 能對(duì)于所述主機(jī)處理器表現(xiàn)為傳統(tǒng)功能。
全文摘要
本發(fā)明涉及一種新穎的鉀通道KCNH2靈長類特定腦同形物和與精神分裂癥風(fēng)險(xiǎn)的遺傳相關(guān)性。一種用于將單根輸入/輸出虛擬化(SR-IOV)功能轉(zhuǎn)換成表現(xiàn)為傳統(tǒng)功能的系統(tǒng)以及一種相對(duì)應(yīng)的方法包括耦合在傳統(tǒng)主機(jī)與啟用了SR-IOV的設(shè)備之間的交換平臺(tái)。所述交換平臺(tái)包括被編程來辨別配置循環(huán)的類型并且處理所述配置循環(huán)的處理器以及存儲(chǔ)與所述配置循環(huán)相關(guān)的數(shù)據(jù)的一個(gè)或更多本地寄存器。所述系統(tǒng)還包括耦合到所述交換平臺(tái)的控制模塊,所述控制模塊監(jiān)督所述交換平臺(tái)的操作。
文檔編號(hào)G06F13/14GK101981554SQ200880128265
公開日2011年2月23日 申請日期2008年3月25日 優(yōu)先權(quán)日2008年3月25日
發(fā)明者B·S·貝西爾, D·L·馬修斯, H·E·布林克曼, J·M·凱格爾, P·V·布勞內(nèi)爾, W·F·多斯 申請人:惠普開發(fā)有限公司