專利名稱:為pci設(shè)備保留pci存儲(chǔ)空間的制作方法
為PCI設(shè)備保留PCI存儲(chǔ)空間
背景技術(shù):
外圍組件互連或PCI標(biāo)準(zhǔn)定義了用于將外圍設(shè)備附接到母板的計(jì)算機(jī)總線。該 PCI規(guī)范描述了所述總線的物理屬性、電氣特性、總線時(shí)序、通信協(xié)議等等。PCI特別興趣小 組(PCI-SIG)維護(hù)和管理用于各種PCI架構(gòu)的規(guī)范。當(dāng)計(jì)算機(jī)最初啟動(dòng)時(shí),PCI枚舉(enumeration)時(shí)間段開始。在這個(gè)時(shí)間期間,計(jì) 算機(jī)中的PCI枚舉軟件編制所有安裝的外圍設(shè)備和它們的存儲(chǔ)空間需求的列表。換言之, 該計(jì)算機(jī)確定哪些外圍設(shè)備被連接到PCI總線。該軟件然后創(chuàng)建為所有安裝的設(shè)備分派空 間的存儲(chǔ)器分配圖(memory map)。所創(chuàng)建的存儲(chǔ)器分配圖可以被緊密裝填,而沒有包含用于將來任何設(shè)備的孔。而 且,PCI總線編號(hào)可能不會(huì)為在枚舉完成之后連接的設(shè)備留下PCI總線。對(duì)于可以接受熱 插拔設(shè)備的系統(tǒng),這產(chǎn)生了一個(gè)問題。特別地,改變存儲(chǔ)器分配圖和PCI總線編號(hào)以包含用 于在枚舉之后熱插入的設(shè)備的空間可能是有問題的。一些計(jì)算機(jī)系統(tǒng)要求在設(shè)備被熱插入 之后主機(jī)重新枚舉該系統(tǒng)。
圖1是根據(jù)示范性實(shí)施例的用于為虛擬PCI設(shè)備保留PCI總線編號(hào)和存儲(chǔ)空間并 將其發(fā)給(issue)所述虛擬PCI設(shè)備的計(jì)算機(jī)系統(tǒng)的框圖。圖2是根據(jù)示范性實(shí)施例的用于為虛擬PCI設(shè)備保留PCI總線編號(hào)和存儲(chǔ)空間的 流程圖。圖3是根據(jù)示范性實(shí)施例的用于把保留的PCI總線編號(hào)和存儲(chǔ)空間發(fā)給熱插入的 PCI設(shè)備的流程圖。
具體實(shí)施例方式示范性實(shí)施例針對(duì)用于為PCI設(shè)備保留PCI存儲(chǔ)空間的方法、系統(tǒng)和裝置。在一 個(gè)實(shí)施例中,為在計(jì)算機(jī)啟動(dòng)并且PCI枚舉發(fā)生之后熱插入的PCI設(shè)備保留存儲(chǔ)空間。在一個(gè)示范性實(shí)施例中,具有熱插拔能力但沒有任何連接設(shè)備的下游橋?qū)⒃谒鼈?后面的總線上呈現(xiàn)(present)虛擬設(shè)備。這些虛擬設(shè)備代表稍后可被安裝的設(shè)備請(qǐng)求“虛 設(shè)的(dummy)”存儲(chǔ)器。一旦設(shè)備已被熱插入,則下游橋不再呈現(xiàn)虛擬設(shè)備。然后,虛擬設(shè) 備最初所請(qǐng)求的“虛設(shè)的”存儲(chǔ)空間變得可用于分配給熱插入的設(shè)備。而且,分配給虛擬設(shè) 備的PCI總線變得可用于熱插入設(shè)備。在一個(gè)實(shí)施例中,當(dāng)主機(jī)初始引導(dǎo)時(shí),主機(jī)看到或檢測(cè)到物理設(shè)備,所述物理設(shè)備 被主機(jī)與該設(shè)備之間的橋描繪為虛擬設(shè)備。主機(jī)還看到虛設(shè)的虛擬設(shè)備,其僅僅是由橋所 創(chuàng)建的占位符以用于稍后當(dāng)描繪為虛擬設(shè)備的物理設(shè)備被熱插入到該橋之時(shí)。新設(shè)備的物 理附接不必連接到橋。圖1是根據(jù)示范性實(shí)施例的用于為虛擬PCI設(shè)備保留PCI總線編號(hào)和存儲(chǔ)空間并 將其發(fā)給虛擬PCI設(shè)備的計(jì)算機(jī)系統(tǒng)100的框圖。為了圖示說明,顯示使用高速(Express)
4PCI架構(gòu)的計(jì)算機(jī)系統(tǒng),但是示范性實(shí)施例不限于任何特定類型的PCI架構(gòu)。圖1示出包括根復(fù)合體(root complex)、多個(gè)端點(diǎn)(例如,輸入/輸出(I/O)設(shè) 備)、交換機(jī)和高速PCI到PCI/PCI-X橋的單個(gè)結(jié)構(gòu)實(shí)例或?qū)蛹?jí),所有這些經(jīng)由高速PCI 總線或鏈路互連。具體而言,根節(jié)點(diǎn)、計(jì)算節(jié)點(diǎn)或主機(jī)計(jì)算機(jī)110通過一個(gè)或多個(gè)交換機(jī) 130(為了圖示方便起見示出一個(gè)交換機(jī))連接到多個(gè)高速PCI端點(diǎn)120。根節(jié)點(diǎn)通過高速 PCI總線或鏈路160連接到多種設(shè)備(比如端點(diǎn)或端節(jié)點(diǎn)、橋、交換機(jī)等等)。在一個(gè)實(shí)施 例中,一個(gè)或多個(gè)高速PCI端點(diǎn)120物理地連接到交換機(jī)130。在其他實(shí)施例中,一個(gè)或多 個(gè)高速PCI端點(diǎn)120與交換機(jī)130分離。換言之,端點(diǎn)120不是物理地連接到端口 170B而 是分離的。根節(jié)點(diǎn)110包括通過主總線155耦合的CPU 140、存儲(chǔ)器145和根復(fù)合體150。根 復(fù)合體150通過各種高速PCI總線160連接到各種虛擬高速PCI端點(diǎn)125、高速PCI到PCI/ PCI-X橋165和交換機(jī)130。PCI/PCI-X橋165提供高速PCI結(jié)構(gòu)與PCI/PCI-X層級(jí)之間的 連接。根復(fù)合體(RC) 150表示將CPU/存儲(chǔ)器子系統(tǒng)連接到I/O設(shè)備的I/O層級(jí)的根。該 根復(fù)合體可以支持一個(gè)或多個(gè)端口。每個(gè)接口定義單獨(dú)的層級(jí)域,并且每個(gè)層級(jí)域包括單個(gè)端點(diǎn)或子層級(jí),所述子層 級(jí)包含一個(gè)或多個(gè)交換機(jī)組件和端點(diǎn)。通過根復(fù)合體在層級(jí)域之間路由對(duì)等(P2P)事務(wù) (transaction)的能力是可選的并且是實(shí)現(xiàn)方式有關(guān)的。例如,一種實(shí)現(xiàn)方式可以包括位于 根復(fù)合體內(nèi)部的真實(shí)的或虛擬的交換機(jī),從而以軟件透明的方式實(shí)現(xiàn)完全的對(duì)等(P2P)支持。根復(fù)合體150可以運(yùn)行或支持下列一個(gè)或多個(gè)支持作為請(qǐng)求者產(chǎn)生配置請(qǐng)求, 支持作為請(qǐng)求者產(chǎn)生I/O請(qǐng)求和支持作為請(qǐng)求者產(chǎn)生鎖定請(qǐng)求。所述端點(diǎn)包括虛擬端點(diǎn)和實(shí)際或物理端點(diǎn)二者。物理或?qū)嶋H端點(diǎn)是可以為代表其 自身或代表不同的非PCI設(shè)備(不同于PCI設(shè)備或主CPU)的PCI事務(wù)的請(qǐng)求者或完成者 的設(shè)備或設(shè)備集,所述非PCI設(shè)備例如高速PCI附接的圖形控制器、高速PCI-USB主控制器 等或其他I/O設(shè)備(比如盤驅(qū)動(dòng)器)。相比之下,虛擬端點(diǎn)表示實(shí)際上和物理上不存在和/ 或沒有連接到計(jì)算機(jī)系統(tǒng)的設(shè)備。因此,主機(jī)110檢測(cè)到或相信物理設(shè)備連接到計(jì)算機(jī)系 統(tǒng)中的槽/端口,但是實(shí)際上并不真正存在物理設(shè)備。如圖所示,交換機(jī)130包括多個(gè)端口 170和多個(gè)虛擬PCI-PCI橋175。為了說明的 目的,交換機(jī)130被示出為具有一個(gè)上游端口 170A和三個(gè)下游端口 170B。交換機(jī)通過PC I鏈路160連接一個(gè)或多個(gè)物理端點(diǎn)120和虛擬端點(diǎn)125。所述交換機(jī)遵循一個(gè)或多個(gè)下列規(guī)則對(duì)于配置軟件,交換機(jī)表現(xiàn)為兩個(gè)或更多 邏輯PCI到PCI橋,交換機(jī)使用PCI橋機(jī)構(gòu)轉(zhuǎn)發(fā)事務(wù)(如基于地址的路由),以及交換機(jī)在 端口的集合之間轉(zhuǎn)發(fā)各種類型的事務(wù)層分組。在一個(gè)實(shí)施例中,每個(gè)高速PCI鏈路160通過虛擬PCI到PCI橋結(jié)構(gòu)被映射并且具 有與其相關(guān)聯(lián)的邏輯PCI總線。虛擬PCI到PCI橋結(jié)構(gòu)可以是高速PCI根復(fù)合體端口、交換 機(jī)上游端口或交換機(jī)下游端口的一部分。根端口是從高速PCI根復(fù)合體發(fā)起(originate) 高速PCI層級(jí)域的虛擬PCI到PCI橋結(jié)構(gòu)。設(shè)備被映射到配置空間中,使得每個(gè)設(shè)備將響 應(yīng)于特定的設(shè)備號(hào)。
在一個(gè)實(shí)施例中,當(dāng)主機(jī)110初始引導(dǎo)時(shí),主機(jī)看到或檢測(cè)到物理設(shè)備,所述物理 設(shè)備被該主機(jī)與該設(shè)備之間的橋或交換機(jī)(即,交換機(jī)130)描繪為虛擬設(shè)備(即,虛擬高 速PCI端點(diǎn)125)。主機(jī)還將虛擬高速PCI端點(diǎn)125看作物理連接的設(shè)備。然而,這些設(shè)備 實(shí)際上是虛設(shè)的(dummy)虛擬設(shè)備,其僅僅是由交換機(jī)130創(chuàng)建的占位符以用于稍后當(dāng)描 繪為虛擬設(shè)備的物理設(shè)備被熱插入到橋之時(shí)。圖2是根據(jù)示范性實(shí)施例的用于為虛擬PCI設(shè)備保留PCI總線編號(hào)和存儲(chǔ)空間的 流程圖。根據(jù)方框200,主機(jī)計(jì)算機(jī)或根節(jié)點(diǎn)加電。例如,開啟或重啟主機(jī)。根據(jù)方框210,主機(jī)執(zhí)行PCI枚舉。在計(jì)算機(jī)啟動(dòng)之后,PCI枚舉時(shí)間段開始。在 該時(shí)間期間,計(jì)算機(jī)中的PCI枚舉軟件編制所有安裝的外圍設(shè)備和它們的存儲(chǔ)空間需求的 列表。換言之,計(jì)算機(jī)確定哪些外圍設(shè)備實(shí)際上或物理上連接到PCI總線。在一個(gè)實(shí)施例中,在將計(jì)算機(jī)引導(dǎo)到操作系統(tǒng)(OS)之前所述計(jì)算機(jī)建立地址圖。 枚舉軟件確定所述系統(tǒng)中有多少存儲(chǔ)器以及系統(tǒng)中的I/O控制器需要多少地址空間。該圖 (通常被稱為PCI資源分派圖)是地址圖,其示出在加電期間什么地址被分配給PCI槽中的 接口卡和/或I/O控制器。根據(jù)方框220,所述主機(jī)獲得連接到PCI總線的設(shè)備列表。例如,所述主機(jī)接收連 接到系統(tǒng)的物理或?qū)嶋H端點(diǎn)(比如圖1所示的高速PCI端點(diǎn)120)的列表。根據(jù)方框230,虛擬端點(diǎn)作為實(shí)際的、物理端點(diǎn)被呈現(xiàn)給主機(jī)或計(jì)算節(jié)點(diǎn)。這使得 主機(jī)執(zhí)行根據(jù)方框240的兩個(gè)功能。作為一個(gè)功能,主機(jī)為下游橋后面的總線保留總線編 號(hào)。作為第二功能,主機(jī)為虛擬設(shè)備在線性存儲(chǔ)器分配圖中保留存儲(chǔ)器。因此,所述主機(jī)創(chuàng)建為計(jì)算機(jī)系統(tǒng)中所有安裝的和虛擬的設(shè)備分派空間和總線編 號(hào)的存儲(chǔ)器分配圖。該存儲(chǔ)器分配圖包括用于還沒有連接到PCI總線的任何未來設(shè)備(例 如,PCI可熱插拔設(shè)備)的可用空間。而且,所述PCI總線編號(hào)包括用于還沒有連接到PCI 總線的任何未來設(shè)備的可用編號(hào)。圖3是根據(jù)示范性實(shí)施例的用于把保留的PCI總線編號(hào)和存儲(chǔ)空間發(fā)給熱插入的 PCI設(shè)備的流程圖。根據(jù)方框300,所述一個(gè)或多個(gè)設(shè)備被熱插入到計(jì)算機(jī)系統(tǒng)中。例如,一個(gè)端點(diǎn)被 熱插入到PCI橋或交換機(jī)。圖1示出虛擬高速PCI端點(diǎn)125的示例,其中在枚舉之后實(shí)際 的、物理設(shè)備可被插入或附接到交換機(jī)130。根據(jù)方框310,所述主機(jī)發(fā)現(xiàn)新加入的設(shè)備或端點(diǎn)。一旦該設(shè)備被熱插入到端口或 槽中,虛擬設(shè)備就不再被呈現(xiàn)給主機(jī)。換言之,所述下游橋不再將虛擬設(shè)備呈現(xiàn)為連接到該 橋,因?yàn)楝F(xiàn)在連接了實(shí)際的物理設(shè)備。接下來,根據(jù)方框320,所述主機(jī)根據(jù)先前在枚舉期間為虛擬設(shè)備分派的一個(gè)或多 個(gè)總線編號(hào)和存儲(chǔ)器設(shè)置新加入的設(shè)備。例如,所述主機(jī)向所述設(shè)備提供分配給所述端口 或槽的總線編號(hào)并且為該端口或槽提供對(duì)應(yīng)的存儲(chǔ)空間。一旦給所述設(shè)備提供總線編號(hào)和存儲(chǔ)空間,則根據(jù)方框330,該設(shè)備在該端口或槽 中可供使用。現(xiàn)在,所述主機(jī)準(zhǔn)備好在另一個(gè)端口或槽中接受另一個(gè)新的熱插拔設(shè)備并且 然后繼續(xù)返回到方框300。該過程解決了可以接受熱插拔設(shè)備的系統(tǒng)的問題。具體而言,當(dāng)新設(shè)備被加入時(shí),
6所述存儲(chǔ)器分配圖不會(huì)被改變,因?yàn)樗呀?jīng)包括用于新加入的熱插入的設(shè)備的未使用的或 可用的空間。照此,在熱插入設(shè)備之后,不要求所述計(jì)算機(jī)系統(tǒng)重新引導(dǎo)或重新枚舉該系 統(tǒng)。因此,示范性實(shí)施例允許共享的I/O系統(tǒng)中設(shè)備的熱插入,而無需主機(jī)的完全重新枚舉。定義如本文和權(quán)利要求中所使用的下面的詞語和術(shù)語定義如下詞語“橋”意指使用相同的協(xié)議(例如,以太網(wǎng)或令牌環(huán))連接兩個(gè)局域網(wǎng)(LAN) 或LAN區(qū)段的設(shè)備。例如,橋是虛擬地或?qū)嶋H地將PCI/PCI-X區(qū)段或高速PCI端口與內(nèi)部 組件互連或與另一個(gè)PCI/PCI-X總線區(qū)段或高速PCI端口連接的功能。術(shù)語“配置空間”意指PCI架構(gòu)內(nèi)的地址空間。具有配置空間地址的分組用于配 置設(shè)備內(nèi)的功能(即,地址實(shí)體)。詞語“下游”意指離根復(fù)合體較遠(yuǎn)的互連/系統(tǒng)元件(端口 /組件)的相對(duì)位置。 例如,不是上游端口的交換機(jī)上的端口是下游端口。根復(fù)合體上的所有端口是下游端口。因 此,下游也包括其中信息遠(yuǎn)離根復(fù)合體流動(dòng)的信息流方向。詞語“端點(diǎn)”或“端節(jié)點(diǎn)”意指設(shè)備(即,可尋址的電子實(shí)體)或根據(jù)不同組規(guī)則 運(yùn)行的設(shè)備的集合。詞語“熱插拔”、“熱插入”或“熱交換(swap) ”等等意指在機(jī)器或系統(tǒng)繼續(xù)運(yùn)行的 同時(shí)移除和更換機(jī)器或系統(tǒng)的電子組件的能力。例如,熱交換使得一個(gè)或多個(gè)設(shè)備(例如, 硬盤驅(qū)動(dòng)器)能夠被調(diào)換或維修,而不影響該設(shè)備所在的整個(gè)刀片或機(jī)箱(enclosure)的 運(yùn)行。例如,在故障情況下,單獨(dú)的硬盤驅(qū)動(dòng)器從刀片中移除并且用新的或不同的硬盤驅(qū)動(dòng) 器來替換。所述新硬盤驅(qū)動(dòng)器連接到刀片而不中斷刀片的持續(xù)運(yùn)行,同時(shí)它保持在所述機(jī) 箱內(nèi)。首字母簡(jiǎn)略詞“PCI”意指外圍組件互連。PCI規(guī)范描述了總線的物理屬性、電氣特 性、總線時(shí)序、通信協(xié)議等等。PCI特別興趣小組(PCI-SIG)維護(hù)和管理各種PCI架構(gòu)的規(guī)范。詞語“端口”在邏輯上意指組件與鏈路(即,兩個(gè)設(shè)備之間的通信路徑)之間的接 口,并且在物理上意指定位在芯片上的定義鏈路的一組發(fā)送器和接收器。術(shù)語“根復(fù)合體”意指包括主橋和一個(gè)或多個(gè)端口的設(shè)備或設(shè)備集。例如,主機(jī)計(jì) 算機(jī)具有PCI到主機(jī)橋接功能,其是根復(fù)合體。該根復(fù)合體提供CPU總線(比如超傳輸) 和PCI總線之間的橋。術(shù)語“根節(jié)點(diǎn)”意指主機(jī)計(jì)算機(jī)、計(jì)算機(jī)系統(tǒng)或服務(wù)器。詞語“交換機(jī)”意指連接兩個(gè)或更多端口以允許分組從一個(gè)端口路由到另一個(gè)端 口的設(shè)備或設(shè)備集。對(duì)于配置軟件,交換機(jī)表現(xiàn)為虛擬PCI到PCI橋的集合。詞語“虛擬”意指非真實(shí)的并且將僅僅為概念性的事物(例如,物理設(shè)備)與具有 物理真實(shí)性的事物區(qū)分開。作為一個(gè)示例,當(dāng)實(shí)際上物理端點(diǎn)沒有實(shí)際地連接到總線時(shí),主 機(jī)可以將虛擬端點(diǎn)看作是或檢測(cè)為物理端點(diǎn)(所述設(shè)備是虛構(gòu)的但是被主機(jī)檢測(cè)到或被 相信存在)。虛擬的反義詞是真實(shí)或物理的。詞語“上游”意指更接近根復(fù)合體的互連/系統(tǒng)元件(端口 /組件)的相對(duì)位置。 例如,拓?fù)渖献罱咏鶑?fù)合體的交換機(jī)上的端口是上游端口。例如,僅僅包括端點(diǎn)的組件上 的端口是上游端口。上游還包括其中信息朝向根復(fù)合體流動(dòng)的信息流方向。
在一個(gè)示范性實(shí)施例中,本文所討論的一個(gè)或多個(gè)方框或步驟是自動(dòng)化的。換 言之,裝置、系統(tǒng)和方法自動(dòng)地運(yùn)行(occur)。如本文所使用的術(shù)語“自動(dòng)化的”或“自動(dòng) 地”(和其類似的變化)意指使用計(jì)算機(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)和/或裝置。作為一個(gè) 示例,示范性實(shí)施例和與其相關(guān)的步驟被實(shí)現(xiàn)為用以實(shí)現(xiàn)本文所描述的方法的一個(gè)或多個(gè) 計(jì)算機(jī)軟件程序。所述軟件被實(shí)現(xiàn)為一個(gè)或多個(gè)模塊(也被稱為代碼子例程,或者在面向 對(duì)象的編程中被稱為“對(duì)象”)。所述軟件的位置對(duì)于各種可替代實(shí)施例而言是不同的。軟 件編程代碼例如由計(jì)算機(jī)或服務(wù)器的一個(gè)或多個(gè)處理器從諸如CD-ROM驅(qū)動(dòng)器或硬盤驅(qū)動(dòng) 器之類的某些類型的長(zhǎng)期存儲(chǔ)介質(zhì)中訪問。所述軟件編程代碼被包括或存儲(chǔ)在與數(shù)據(jù)處理 系統(tǒng)一起使用的多種已知介質(zhì)的任一種上或存儲(chǔ)在任意存儲(chǔ)器設(shè)備中,諸如半導(dǎo)體設(shè)備、 磁設(shè)備和光學(xué)設(shè)備(包括盤、硬盤驅(qū)動(dòng)器、CD-ROM、ROM等)。所述代碼分布在這樣的介質(zhì) 上,或從一個(gè)計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器或存儲(chǔ)裝置通過某類型的網(wǎng)絡(luò)分發(fā)到其他計(jì)算機(jī)系統(tǒng)的 用戶以供這樣的其他系統(tǒng)的用戶使用??商娲兀鼍幊檀a被包括在存儲(chǔ)器中并且由 處理器使用總線訪問。用于將軟件編程代碼包含在存儲(chǔ)器中、物理介質(zhì)上和/或?qū)④浖?碼經(jīng)由網(wǎng)絡(luò)進(jìn)行分發(fā)的技術(shù)和方法是眾所周知的并且本文將不會(huì)進(jìn)一步討論。上述討論旨在說明本發(fā)明的原理和各種實(shí)施例。對(duì)于本領(lǐng)域技術(shù)人員而言,一旦 完全理解了上述公開,多種變形和修改將變得顯然。下面的權(quán)利要求意欲被解釋為包含所 有這樣的變形和修改。
權(quán)利要求
一種方法,包括建立實(shí)際上通過外圍組件互連(PCI)交換機(jī)或PCI橋連接到主機(jī)計(jì)算機(jī)的外圍設(shè)備的列表;將虛擬設(shè)備呈現(xiàn)為連接到所述PCI交換機(jī)或PCI橋;為所述虛擬設(shè)備保留總線編號(hào)和存儲(chǔ)器;以及向熱插入到所述主機(jī)計(jì)算機(jī)的PCI設(shè)備分配所述總線編號(hào)和存儲(chǔ)器。
2.權(quán)利要求1的方法,進(jìn)一步包括,向主機(jī)計(jì)算機(jī)將下游橋呈現(xiàn)為具有連接到該下游 橋的PCI設(shè)備,其中連接到該下游橋的PCI設(shè)備是所述虛擬設(shè)備。
3.權(quán)利要求1的方法,進(jìn)一步包括,在主機(jī)計(jì)算機(jī)的枚舉過程期間請(qǐng)求存儲(chǔ)器,其中被 請(qǐng)求的存儲(chǔ)器是用于虛擬設(shè)備的。
4.權(quán)利要求1的方法,進(jìn)一步包括,在實(shí)際設(shè)備熱插入到其中曾存在虛擬設(shè)備的端口 或槽之后中止向主機(jī)計(jì)算機(jī)呈現(xiàn)虛擬設(shè)備。
5.權(quán)利要求1的方法,進(jìn)一步包括,將先前分配給虛擬設(shè)備的存儲(chǔ)空間分配給熱插入 到主機(jī)計(jì)算機(jī)的PCI設(shè)備之一。
6.權(quán)利要求1的方法,進(jìn)一步包括,將先前分配給虛擬設(shè)備的存儲(chǔ)空間分配給熱插入 到主機(jī)計(jì)算機(jī)的PCI設(shè)備之一。
7.權(quán)利要求1的方法,進(jìn)一步包括,允許將設(shè)備熱插入到共享的輸入/輸出(I/O)系統(tǒng) 中,而不需要主機(jī)計(jì)算機(jī)執(zhí)行枚舉來認(rèn)定連接到I/O系統(tǒng)的外圍設(shè)備。
8.一種具有用于使得計(jì)算機(jī)執(zhí)行方法的指令的有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該方法包括確定通過一個(gè)或多個(gè)外圍組件互連(PCI)交換機(jī)或PCI橋物理地連接到根節(jié)點(diǎn)的外圍 設(shè)備;將虛擬設(shè)備呈現(xiàn)為連接到所述PCI交換機(jī)或PCI橋;為虛擬PCI設(shè)備保留總線編號(hào)和存儲(chǔ)器,將所述虛擬PCI設(shè)備向根節(jié)點(diǎn)呈現(xiàn)為連接到 所述PCI交換機(jī)或PCI橋;以及將所述總線編號(hào)和存儲(chǔ)器分配給熱插入到所述根節(jié)點(diǎn)的PCI設(shè)備。
9.權(quán)利要求8的有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),進(jìn)一步包括,在實(shí)際設(shè)備熱插入到其中曾 存在虛擬PCI設(shè)備的橋之后中止向根節(jié)點(diǎn)呈現(xiàn)虛擬PCI設(shè)備。
10.權(quán)利要求8的有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),進(jìn)一步包括,創(chuàng)建存儲(chǔ)器分配圖,該存儲(chǔ) 器分配圖為物理連接到根節(jié)點(diǎn)的外圍設(shè)備和向根節(jié)點(diǎn)呈現(xiàn)為連接到PCI交換機(jī)和PCI橋的 虛擬PCI設(shè)備提供空間。
11.權(quán)利要求8的有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),進(jìn)一步包括,確定外圍設(shè)備何時(shí)被熱插入 到先前分配給虛擬PCI設(shè)備的交換機(jī)或橋。
12.權(quán)利要求8的有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),進(jìn)一步包括,向根節(jié)點(diǎn)將下游橋呈現(xiàn)為具 有連接到該下游橋的PCI設(shè)備,其中連接到該下游橋的PCI設(shè)備是虛擬PCI設(shè)備。
13.權(quán)利要求8的有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),進(jìn)一步包括,在根節(jié)點(diǎn)的枚舉過程期間請(qǐng) 求存儲(chǔ)器,其中被請(qǐng)求的存儲(chǔ)器用于虛擬PCI設(shè)備。
14.權(quán)利要求8的有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),進(jìn)一步包括,將先前分配給虛擬PCI設(shè)備 的存儲(chǔ)空間分配給熱插入到根節(jié)點(diǎn)的PCI設(shè)備之一。
15.權(quán)利要求8的有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),進(jìn)一步包括,將先前分配給虛擬PCI設(shè)備 的存儲(chǔ)空間分配給熱插入到根節(jié)點(diǎn)的PCI設(shè)備之一。
16.權(quán)利要求8的有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),進(jìn)一步包括,允許將設(shè)備熱插入到共享的 輸入/輸出(I/O)系統(tǒng)中,而不需要根節(jié)點(diǎn)執(zhí)行枚舉以認(rèn)定連接到I/O系統(tǒng)的外圍設(shè)備。
17.一種計(jì)算機(jī)系統(tǒng),包括 存儲(chǔ)算法的存儲(chǔ)器;和 處理器,其執(zhí)行所述算法以確定通過一個(gè)或多個(gè)外圍組件互連(PCI)交換機(jī)或PCI橋連接到主機(jī)計(jì)算機(jī)的外圍設(shè)備;將虛擬設(shè)備呈現(xiàn)為連接到所述PCI交換機(jī)或PCI橋;為向所述主機(jī)計(jì)算機(jī)呈現(xiàn)為連接到所述PCI交換機(jī)或PCI橋的虛擬設(shè)備保留總線編號(hào) 和存儲(chǔ)器;以及將所述總線編號(hào)和存儲(chǔ)器分配給熱插入到所述主機(jī)計(jì)算機(jī)的PCI設(shè)備。
18.權(quán)利要求17的計(jì)算機(jī)系統(tǒng),其中針對(duì)下游橋后面的總線出現(xiàn)總線編號(hào)。
19.權(quán)利要求17的計(jì)算機(jī)系統(tǒng),其中所述處理器進(jìn)一步執(zhí)行所述算法以為熱插入到主 機(jī)計(jì)算機(jī)的PCI設(shè)備在線性存儲(chǔ)器分配圖中保留存儲(chǔ)器。
20.權(quán)利要求17的計(jì)算機(jī)系統(tǒng),其中所述處理器進(jìn)一步執(zhí)行所述算法以將先前分配給虛擬設(shè)備的存儲(chǔ)空間分配給熱插入到主機(jī)計(jì)算機(jī)的PCI設(shè)備之一;以及 將先前分配給虛擬設(shè)備的存儲(chǔ)空間分配給熱插入到主機(jī)計(jì)算機(jī)的PCI設(shè)備之一。
全文摘要
實(shí)施例包括用于為外圍組件互連(PCI)設(shè)備保留存儲(chǔ)空間的方法、裝置和系統(tǒng)。一個(gè)實(shí)施例包括確定通過PCI交換機(jī)或PCI橋連接到主機(jī)計(jì)算機(jī)的外圍設(shè)備并且然后將虛擬設(shè)備呈現(xiàn)為連接到PCI交換機(jī)或PCI橋的方法。為虛擬設(shè)備保留總線編號(hào)和存儲(chǔ)器并且將其分配給熱插入到主機(jī)計(jì)算機(jī)的PCI設(shè)備。
文檔編號(hào)G06F13/10GK101983377SQ200880128459
公開日2011年3月2日 申請(qǐng)日期2008年4月1日 優(yōu)先權(quán)日2008年4月1日
發(fā)明者D·塞普利斯, D·賴?yán)? D·馬修斯, H·布賴恩克曼 申請(qǐng)人:惠普開發(fā)有限公司