PCIe拓撲的配置方法和裝置制造方法
【專利摘要】本發(fā)明實施例提供一種PCIe拓撲的配置方法和裝置,包括:獲取服務(wù)器的單板上連接的各PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息,根據(jù)所述各PCIe插槽的標識信息和所述各PCIe設(shè)備的設(shè)備信息,確定所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系;根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置。當(dāng)有新的應(yīng)用場景出現(xiàn)時,用戶只需要調(diào)整所述各PCIe設(shè)備與所述各PCIe插槽的連接關(guān)系,所述裝置會根據(jù)調(diào)整后的連接關(guān)系自動修改所述PCIe交換芯片的配置,以完成PCIe拓撲的配置,而不需要增加一塊單板,從而降低了服務(wù)器的成本。另外,通過改變PCIe拓撲使得一塊單板能夠支持多種應(yīng)用場景。
【專利說明】PC Ie拓撲的配置方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實施例涉及數(shù)據(jù)通信技技術(shù),尤其涉及一種PCIe拓撲的配置方法和裝置。
【背景技術(shù)】
[0002]服務(wù)器的可擴展性是服務(wù)器的一個重要性能,服務(wù)器的可擴展性是指服務(wù)器的硬件配置可以根據(jù)需要靈活配置,如內(nèi)存、適配器、固態(tài)硬盤(Solid State Disk,簡稱SSD)、處理器等。服務(wù)器的可擴展性可以通過增加單板上的快速外圍部件互連標準(PeripheralComponent Interconnect express,簡稱PCIe)插槽實現(xiàn),每個PCIe插槽上可以插一張PCIe卡,PCIe卡上可以連接多個不同的PCIe設(shè)備來滿足不同用戶和不同應(yīng)用場景的要求,例如,在PCIe插槽插上圖形處理器(Graphic Processing Unit,簡稱GPU),可以擴展服務(wù)器的視頻處理能力,在PCIe插槽插SSD,可以擴展服務(wù)器的存儲能力。在設(shè)計一款可擴展型服務(wù)器時,在成本和服務(wù)器的結(jié)構(gòu)空間允許的情況下,服務(wù)器的PCIE插槽越多越好。但是,單板上的CPU中央處理器(Central Processing Unit,簡稱CPU)的數(shù)量有限,隨著PCIe插槽增多,PCIe設(shè)備與有限的CPU連接會帶來PCIE拓撲的設(shè)計問題,PCIe拓撲是指PCIe設(shè)備與單板上的CPU的連接關(guān)系,在不同的應(yīng)用場景下,PCIe設(shè)備會被連接到CPU的不同接口上,從而形成不同的PCIe拓撲,不同應(yīng)用場景對應(yīng)的PCIe拓撲不同,通常希望單板能支持的應(yīng)用場景越多越好。
[0003]現(xiàn)有技術(shù)中,在設(shè)計服務(wù)器時,首先,根據(jù)應(yīng)用場景進行分析,在服務(wù)器的硬件設(shè)計時讓單板盡量滿足多的應(yīng)用場景,當(dāng)一塊單板的PCIe拓撲無法滿足所有應(yīng)用場景要求時,設(shè)計兩塊單板來支持所有的應(yīng)用場景,當(dāng)兩塊單板也不能支持所有的應(yīng)用場景要求時,就需要設(shè)計三塊單板。
[0004]因為應(yīng)用場景一般會相互沖突,硬件設(shè)計規(guī)劃的PCIE拓撲很難滿足所有應(yīng)用場景的要求,因此,需要增加多余的單板來滿足不同應(yīng)用場景要求,導(dǎo)致服務(wù)器的成本增加,另外,PCIe拓撲一旦設(shè)計好,后續(xù)將無法更改,當(dāng)出現(xiàn)新的應(yīng)用場景時,需要重新設(shè)計單板,也會增加服務(wù)器成本。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供一種PCIe拓撲的配置方法和裝置,一塊單板具有多種PCie拓撲關(guān)系,當(dāng)有新的應(yīng)用場景時,通過改變PCIe拓撲關(guān)系實現(xiàn)相應(yīng)的功能,不需要增加單板,從而降低服務(wù)器成本。
[0006]本發(fā)明第一方面提供一種PCIe拓撲的配置方法,包括:
[0007]獲取服務(wù)器的單板上連接的各快速外圍部件互連標準PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息,根據(jù)所述各PCIe插槽的標識信息和所述各PCIe設(shè)備的設(shè)備信息,確定所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系;
[0008]根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置。
[0009]結(jié)合本發(fā)明第一方面,在本發(fā)明第一方面的第一種可能的實現(xiàn)方式中,所述根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置,包括:
[0010]獲取所述PCIe交換芯片的當(dāng)前配置;
[0011]確定所述PCIe交換芯片的當(dāng)前配置是否與所述當(dāng)前連接關(guān)系匹配,其中,所述PCIe交換芯片的多種配置與所述各PCIe設(shè)備與所述各PCIe插槽的多種連接關(guān)系一一對應(yīng);
[0012]若所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配,則修改所述PCIe交換芯片的可擦除可編程只讀存儲器EPROM中存儲的所述PCIe交換芯片的當(dāng)前配置,修改后的所述PCIe交換芯片的配置與所述當(dāng)前連接關(guān)系匹配。
[0013]結(jié)合本發(fā)明第一方面的第一種可能的實現(xiàn)方式,在本發(fā)明第一方面的第二種可能的實現(xiàn)方式中,所述確定所述PCIe交換芯片的當(dāng)前配置是否與所述當(dāng)前連接關(guān)系匹配,包括:
[0014]根據(jù)預(yù)先保存的所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置信息,確定所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置;
[0015]判斷所述PCIe交換芯片的當(dāng)前配置,是否與所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置相同;
[0016]如果相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系匹配;
[0017]如果不相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配。
[0018]結(jié)合本發(fā)明第一方面以及本發(fā)明第一方面的第一種和第二種可能的實現(xiàn)方式,在本發(fā)明第一方面的第三種可能的實現(xiàn)方式中,所述各PCIe插槽的標識包括:所述各PCIe插槽的總線號和設(shè)備號,所述各PCIe設(shè)備的設(shè)備信息包括:所述各PCIe設(shè)備的設(shè)備標識和廠商。
[0019]結(jié)合本發(fā)明第一方面的第三種可能的實現(xiàn)方式,在本發(fā)明第一方面的第四種可能的實現(xiàn)方式中,所述根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置之后,所述方法還包括:
[0020]通知所述服務(wù)器的基本輸入輸出系統(tǒng)B1S重新啟動所述服務(wù)器。
[0021]結(jié)合本發(fā)明第一方面以及本發(fā)明第一方面的第一種至和第二種可能的實現(xiàn)方式,在本發(fā)明第一方面的第五種可能的實現(xiàn)方式中,所述方法的執(zhí)行主體為所述服務(wù)器上的基板管理控制器BMC或所述服務(wù)器的基本輸入輸出系統(tǒng)B1S。
[0022]本發(fā)明第二方面提供一種PCIe拓撲的配置裝置,包括:
[0023]獲取模塊,用于獲取服務(wù)器的單板上連接的各快速外圍部件互連標準PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息;
[0024]確定模塊,用于根據(jù)所述各PCIe插槽的標識信息和所述各PCIe設(shè)備的設(shè)備信息,確定所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系;
[0025]修改模塊,用于根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置。
[0026]結(jié)合本發(fā)明第二方面,在本發(fā)明第二方面的第一種可能的實現(xiàn)方式中,所述修改模塊包括:
[0027]獲取單元,用于獲取所述PCIe交換芯片的當(dāng)前配置;
[0028]確定單元,用于確定所述PCIe交換芯片的當(dāng)前配置是否與所述當(dāng)前連接關(guān)系匹配,其中,所述PCIe交換芯片的多種配置與所述各PCIe設(shè)備與所述各PCIe插槽的多種連接關(guān)系對應(yīng);
[0029]修改單元,用于當(dāng)所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配時,修改所述PCIe交換芯片的可擦除可編程只讀存儲器EPROM中存儲的所述PCIe交換芯片的當(dāng)前配置,修改后的所述PCIe交換芯片的配置與所述當(dāng)前連接關(guān)系匹配。
[0030]結(jié)合本發(fā)明第二方面的第一種可能的實現(xiàn)方式,在本發(fā)明第二方面的第二種可能的實現(xiàn)方式中,所述確定單元具體用于:
[0031]根據(jù)預(yù)先保存的所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置信息,確定所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置;
[0032]判斷所述PCIe交換芯片的當(dāng)前配置,是否與所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置相同;
[0033]如果相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系匹配;
[0034]如果不相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配。
[0035]結(jié)合本發(fā)明第二方面以及本發(fā)明第二方面的第一種和第二種可能的實現(xiàn)方式,在本發(fā)明第二方面的第三種可能的實現(xiàn)方式中,所述各PCIe插槽的標識包括:所述各PCIe插槽的總線號和設(shè)備號,所述各PCIe設(shè)備的設(shè)備信息包括:所述各PCIe設(shè)備的設(shè)備標識和廠商。
[0036]結(jié)合本發(fā)明第二方面的第三種可能的實現(xiàn)方式,在本發(fā)明第二方面的第四種可能的實現(xiàn)方式中,還包括:
[0037]通知模塊,用于通知所述服務(wù)器的基本輸入輸出系統(tǒng)B1S重新啟動所述服務(wù)器。
[0038]結(jié)合本發(fā)明第二方面以及本發(fā)明第二方面的第一種和第二種可能的實現(xiàn)方式,在本發(fā)明第二方面的第五種可能的實現(xiàn)方式中,所述裝置為所述服務(wù)器上的基板管理控制器BMC或所述服務(wù)器的基本輸入輸出系統(tǒng)B1S。
[0039]本發(fā)明第三方面提供一種PCIe拓撲的配置裝置,包括:處理器、存儲器、通信接口和系統(tǒng)總線,所述存儲器和所述通信接口通過所述系統(tǒng)總線與所述處理器連接并完成相互間的通信;
[0040]所述存儲器,用于存儲計算機可執(zhí)行指令;
[0041]所述處理器,用于運行所述計算機可執(zhí)行指令,以執(zhí)行如下所述方法:
[0042]獲取服務(wù)器的單板上連接的各快速外圍部件互連標準PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息,根據(jù)所述各PCIe插槽的標識信息和所述各PCIe設(shè)備的設(shè)備信息,確定所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系;
[0043]根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置。
[0044]結(jié)合本發(fā)明第三方面,在本發(fā)明第三方面的第一種可能的實現(xiàn)方式中,所述處理器根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置,包括:
[0045]獲取所述PCIe交換芯片的當(dāng)前配置;
[0046]確定所述PCIe交換芯片的當(dāng)前配置是否與所述當(dāng)前連接關(guān)系匹配,其中,所述PCIe交換芯片的多種配置與所述各PCIe設(shè)備與所述各PCIe插槽的多種連接關(guān)系一一對應(yīng);
[0047]若所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配,則修改所述PCIe交換芯片的可擦除可編程只讀存儲器EPROM中存儲的所述PCIe交換芯片的當(dāng)前配置,修改后的所述PCIe交換芯片的配置與所述當(dāng)前連接關(guān)系匹配。
[0048]結(jié)合本發(fā)明第三方面的第一種可能的實現(xiàn)方式,在本發(fā)明第三方面的第二種可能的實現(xiàn)方式中,所述處理器確定所述PCIe交換芯片的當(dāng)前配置是否與所述當(dāng)前連接關(guān)系匹配,包括:
[0049]根據(jù)預(yù)先保存的所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置信息,確定所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置;
[0050]判斷所述PCIe交換芯片的當(dāng)前配置,是否與所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置相同;
[0051]如果相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系匹配;
[0052]如果不相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配。
[0053]結(jié)合本發(fā)明第三方面以及本發(fā)明第三方面的第一種和第二種可能的實現(xiàn)方式,在本發(fā)明第三方面的第三種可能的實現(xiàn)方式中,所述各PCIe插槽的標識包括:所述各PCIe插槽的總線號和設(shè)備號,所述各PCIe設(shè)備的設(shè)備信息包括:所述各PCIe設(shè)備的設(shè)備標識和廠商。
[0054]結(jié)合本發(fā)明第三方面的第三種可能的實現(xiàn)方式,在本發(fā)明第三方面的第四種可能的實現(xiàn)方式中,所述處理器還用于:
[0055]通知所述服務(wù)器的基本輸入輸出系統(tǒng)B1S重新啟動所述服務(wù)器。
[0056]結(jié)合本發(fā)明第三方面以及本發(fā)明第三方面的第一種和第二種可能的實現(xiàn)方式,在本發(fā)明第三方面的第五種可能的實現(xiàn)方式中,所述裝置為所述服務(wù)器上的基板管理控制器BMC或所述服務(wù)器的基本輸入輸出系統(tǒng)B1S。
[0057]本發(fā)明實施例PCIe拓撲的配置方法和裝置,當(dāng)一種新應(yīng)用場景出現(xiàn)時,用戶根據(jù)需要調(diào)整單板上的各PCIe插槽所連接的PCIe設(shè)備,從而改變各PCIe設(shè)備與所述各PCIe插槽的連接關(guān)系,所述BMC在服務(wù)器啟動后,獲取所述單板上連接的各PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息,根據(jù)所述各PCIe插槽的標識信息和所述各PCIe設(shè)備的設(shè)備信息確定所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系,由于用戶調(diào)整了各PCIe設(shè)備與所述各PCIe插槽連接關(guān)系,導(dǎo)致PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配,所述BMC根據(jù)所述當(dāng)前連接關(guān)系修改所述PCIe交換芯片的當(dāng)前配置為與所述當(dāng)前連接關(guān)系匹配的目標配置,從而完成PCIe拓撲的配置。
【專利附圖】
【附圖說明】
[0058]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0059]圖1為本發(fā)明各實施例適用的一種X86服務(wù)器的結(jié)構(gòu)示意圖;
[0060]圖2為PCIe交換芯片的一種配置的示意圖;
[0061]圖3為本發(fā)明實施例提供的一種PCIE拓撲的配置方法的流程圖;
[0062]圖4為本發(fā)明實施例二提供的修改PCIe交換芯片的配置的方法的流程圖;
[0063]圖5為本發(fā)明實施例三提供的一種PCIe拓撲的配置裝置的結(jié)構(gòu)示意圖;
[0064]圖6為本發(fā)明實施例四提供的一種PCIe拓撲的配置裝置的結(jié)構(gòu)示意圖;
[0065]圖7為本發(fā)明實施例五提供的一種PCIe拓撲的配置裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0066]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0067]本發(fā)明實施例的方法可以應(yīng)用在各種服務(wù)器中,例如X86服務(wù)器、高級精簡指令集機器(Advanced RISC Machine,簡稱ARM)服務(wù)器、性能優(yōu)化增強的RISC (PerformanceOptimized With Enhanced RISC,簡稱POWER)服務(wù)器。圖1為本發(fā)明各實施例適用的一種X86服務(wù)器的結(jié)構(gòu)示意圖,如圖1所示,該服務(wù)器的單板(圖1中未示出)上設(shè)置有兩個中央處理單兀(Central Processing Unit,簡稱 CPU):CPU1 和 CPU2、基板控制器(BaseboardManagement Controller,簡稱BMC)、PCIe交換芯片,BMC用于管理單板,PCIe交換芯片用于連接CPU和PCIe設(shè)備,PCIe交換芯片包括上行接口和下行接口,上行接口用于和CPU的PCIe接口連接,下行接口與PCIe插槽連接,PCIE插槽上可以連接多個PCIe設(shè)備,PCIe設(shè)備具體可以為GPU、網(wǎng)卡、SSD等。圖1只是舉例說明,服務(wù)器中還可以包括更多的CPU,CPU和PCIe設(shè)置之間也可以設(shè)置有多個PCIe交換芯片,本發(fā)明實施例并不對此進行限制。
[0068]本發(fā)明實施例中,PCIe交換芯片需要具有虛擬交換功能,即一個PCIe交換芯片可以虛擬為多個虛擬交換芯片,每個虛擬交換芯片的上行接口用于連接一個CPU,每個虛擬交換芯片的下行接口和PCIe插槽連接,PCIe插槽上插有PCIe設(shè)備。在將PCIe交換芯片虛擬為多個虛擬交換芯片后,PCIe交換芯片的上行接口和下行接口具有唯一的對應(yīng)關(guān)系,將PCIe交換芯片的上行接口和下行接口的對應(yīng)關(guān)系稱為PCIe交換芯片的配置。圖2為PCIe交換芯片的一種配置的示意圖,如圖2所示,PCIe交換芯片I為一個支持96X帶寬的交換芯片,PCIe交換芯片2為一個支持24X帶寬的交換芯片,單板上有兩個CPU =CPUl和CPU2,單板共有6個PCIe插槽。PCIe交換芯片I的上行接口共占用32X的帶寬,PCIe交換芯片的下行接口共占用64X的帶寬,PCIe交換芯片2的上行接口共占用8X的帶寬,PCIe交換芯片的下行接口共占用X16的帶寬。圖2中PCIe交換芯片I共有兩個上行接口:上行接口 I和上行接口 2,每個上行接口占用16X的帶寬,PCIe交換芯片I共有5個下行接口,其中下行接口 1、2、3分別占用16X的帶寬,下行接口 4、5分別占用8X的帶寬。PCIe交換芯片I的上行接口 I與CPUl的接口 3A、3B、3C、3C連接,PCIe交換芯片I的上行接口 2與CPU2的接口 3A、3B、3C、3C連接,PCIe交換芯片I下行接口 I與MEZZ4連接,PCIE交換芯片I下行接口 2與PCIe插槽I連接,PCIe交換芯片I下行接口 3與PCIe插槽2連接,PCIe交換芯片I下行接口 4與PCIe插槽5連接,PCIe交換芯片I下行接口 5與PCIe插槽6連接,PCIe交換芯片I的上行接口 I分別對應(yīng)下行接口 1、2、3,PCIe交換芯片I的上行接口 2對應(yīng)下行接口 5、6,也就是說從PCIe交換芯片I的上行接口 I接收到的數(shù)據(jù)只能發(fā)送給下行接口
1、2、3,從PCIe交換芯片I的上行接口 2接收到的數(shù)據(jù)只能發(fā)送給下行接口 5、6。PCIe交換芯片2具有一個上行接口和兩個下行接口,PCIe交換芯片2的上行接口與CPUl的接口IA和IB連接,PCIe交換芯片2的下行接口 I與PCIE插槽4連接,PCIe交換芯片2的下行接口 2與MEZZ3連接,PCIe交換芯片2不具有虛擬交換功能。圖2中,CPUl和CPU2除了通過PCIe交換芯片與PCIE設(shè)備連接外,CPUl和CPU2也可以直接與PCIe設(shè)備或PCIe插槽連接,如圖2中CPUl的接口 2C和2D與PCIe插槽3連接,CPUl的接口 2A和2B與MEZZ2連接,CPU2的接口 2A、2B、2C、2D與MEZZl連接,CPU2的接口 IA和IB與磁盤陣列(RedundantArrays of independent Disks,簡稱RAID)連接,CPUl和CPU2的接口 O主要用于管理信息的傳輸。
[0069]現(xiàn)有技術(shù)中,一臺服務(wù)器的單板設(shè)計好后,PCIe交換芯片在配置完成后將被固定,因此,所述單板的PCIe拓撲固定不變。所述單板的PCIe拓撲指所述單板上的所有設(shè)備的硬件連接關(guān)系,所述單板的PCIe拓撲具體包括以下四種硬件連接關(guān)系:(I)所述單板上連接的PCIe設(shè)備與所述單板的PCIe插槽的連接關(guān)系;(2)所述PCIe插槽與所述PCIe交換芯片的下行接口的連接關(guān)系;⑶所述PCIe設(shè)備與CPU的PCIe接口的連接關(guān)系;(4)所述PCIe交換芯片的上行接口與所述CPU的PCIe接口的連接關(guān)系。由于所述各PCIe插槽上連接的PCIe設(shè)備是可拔插的,因此,在不同應(yīng)用場景下,所述各PCIe插槽上連接的PCIe設(shè)備是不同的,也就是說第一種連接關(guān)系是可變的,其他三種;連接關(guān)系時固定不變的。當(dāng)用戶有新的業(yè)務(wù)需求時,用戶可以通過改變PCIe插槽上連接的PCIe設(shè)備改變所述單板的PCIe拓撲?,F(xiàn)有技術(shù)中,通常一臺服務(wù)器只能支持一種應(yīng)用場景,當(dāng)用戶有新的業(yè)務(wù)需求時,用戶只能購買一臺新的服務(wù)器,對用戶來說成本高,對于服務(wù)器廠商來說需要根據(jù)不同的應(yīng)用場景的需求設(shè)計不同的單板,增加了服務(wù)器的成本。
[0070]針對現(xiàn)有技術(shù)的問題,本發(fā)明實施例提供一種PCIe拓撲的配置方法,圖3為本發(fā)明實施例提供的一種PCIE拓撲的配置方法的流程圖,本實施例中以BMC為執(zhí)行主體為例進行說明,如圖3所示,本實施例的方法可以包括以下步驟:
[0071]步驟101、獲取服務(wù)器的單板上連接的各PCIe插槽的標識信息以及所述各PCIe插槽上連接的各PCIe設(shè)備的設(shè)備信息,根據(jù)所述各PCIe插槽的標識信息和所述各PCIe設(shè)備的設(shè)備信息確定所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系。
[0072]BMC可以通過以下兩種方式獲取所述各PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息:一種方式,所述BMC自己收集所述各PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息。另一種方式,所述BMC接收所述服務(wù)器的B1S發(fā)送的所述各PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息。所述服務(wù)器啟動后,所述B1S開始掃描所述單板上連接的所有PCIe設(shè)備,得到所述各PCIe設(shè)備的設(shè)備信息以及所述各PCIe插槽的標識信息,并將所述各PCIe插槽的標識信息以及所述各PCIe設(shè)備的設(shè)備信息發(fā)送給所述BMC,具體地,所述B1S可以通過智能平臺管理接口(Intelligent Platform Management Interface,簡稱 IPMI)消息向所述BMC發(fā)送所述各PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息。
[0073]所述各PCIe插槽的標識信息包括:所述各PCIe插槽的總線號(bus number)和設(shè)備號(device number),可選地,所述PCIe設(shè)備的標識信息還可以包括所述各PCIe插槽的功能號(funct1n number),所述標識信息是在PCIe配置階段根據(jù)所述各PCIe插槽的連接關(guān)系自動分配的,PCIe協(xié)議規(guī)定在PCIe配置過程中,每個PCIe插槽都會被分配到一個唯一的總線號、設(shè)備號和功能號,以便于根據(jù)所述各PCIe插槽的總線號、設(shè)備號和功能號確定所述各PCIe插槽的位置。所述各PCIe設(shè)備的設(shè)備信息包括:所述各PCIe設(shè)備的設(shè)備標識(device ID)和廠商標識(vendor ID),所述各PCIe設(shè)備的設(shè)備標識和所述廠商標識被保存在所述各PCIe設(shè)備的配置寄存器中,所述設(shè)備標識和所述廠商標識可以唯一標識所述PCIe設(shè)備,所述廠商標識由外圍部件互連專業(yè)組(Peripheral Component InterconnectSpecial Interest Group,簡稱PC1-SIG)規(guī)定,比如intel公司的廠商標識為8086,設(shè)備標識是廠商自己定義的,用于區(qū)分不同的產(chǎn)品。通過PCIe插槽的總線號、設(shè)備號能夠確定PCIe插槽的位置信息,但是并不能確定PCIe插槽上具體連接哪一個PCIe設(shè)備,還需要根據(jù)PCIe設(shè)備的設(shè)備標識和廠商標識確定PCIe插槽上具體連接哪個PCIe設(shè)備,從而得到所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系。
[0074]所述BMC根據(jù)所述各PCIe插槽的標識信息和所述各PCIe設(shè)備的設(shè)備信息確定所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系為現(xiàn)有技術(shù),此處不做過多描述。
[0075]步驟102、根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置。
[0076]所述各PCIe設(shè)備通過所述PCIe交換芯片與多個CPU連接,所述PCIe交換芯片的上行接口與所述多個CPU的PCIe接口連接,所述PCIe交換芯片的下行接口與所述各PCIe插槽連接,所述PCIe交換芯片的配置具體為所述PCIe交換芯片的上行接口和下行接口的對應(yīng)關(guān)系。當(dāng)所述PCIe插槽上連接的PCIe設(shè)備變化時,所述各PCIe設(shè)備與所述各PCIe插槽的連接關(guān)系變化。
[0077]本實施例中,所述單板可以支持多種應(yīng)用場景下,每種應(yīng)用場景對應(yīng)一種PCIe拓撲,在每種PCIe拓撲中,所述單板上連接的PCIe插槽和PCIe設(shè)備的具有一種連接關(guān)系,每種連接關(guān)系對應(yīng)PCIe交換芯片的一種配置。因此,當(dāng)PCIe設(shè)備和PCIe插槽的連接關(guān)系變化時,所述PCIe交換芯片的配置也需要相應(yīng)改變。所述BMC根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改所述PCIe交換芯片的配置,使得修改后的所述PCIe交換芯片的配置與所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系相對應(yīng)。
[0078]本實施例,當(dāng)一種新應(yīng)用場景出現(xiàn)時,用戶根據(jù)需要調(diào)整服務(wù)器的單板上連接的各PCle插槽與各PCIe設(shè)備的連接關(guān)系,在所述服務(wù)器啟動后,所述服務(wù)器上的BMC通過獲取所述單板上連接的各PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息,根據(jù)所述各PCIe插槽的標識信息和所述各PCIe設(shè)備的設(shè)備信息確定所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系,由于用戶調(diào)整了各PCIe設(shè)備與所述各PCIe插槽連接關(guān)系,導(dǎo)致PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配,所述BMC根據(jù)所述當(dāng)前連接關(guān)系修改所述PCIe交換芯片的當(dāng)前配置為與所述當(dāng)前連接關(guān)系匹配的目標配置,從而完成PCIe拓撲的配置。
[0079]在上述實施例一的基礎(chǔ)上,本發(fā)明實施例二主要對實施例一中步驟102進行詳細說明,圖4為本發(fā)明實施例二提供的修改PCIe交換芯片的配置的方法的流程圖,如圖4所示,本實施例提供的方法可以包括以下步驟:
[0080]步驟201、獲取服務(wù)器的單板上連接的各PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息,根據(jù)所述各PCIe插槽的標識信息和所述各PCIe設(shè)備的設(shè)備信息,確定所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系。
[0081]本步驟的具體實現(xiàn)方式可參照實施例一的相關(guān)描述,這里不再贅述。
[0082]步驟202、獲取所述PCIe交換芯片的當(dāng)前配置。
[0083]所述PCIe交換芯片的當(dāng)前配置具體為所述PCIe交換芯片的上行接口和下行接口在當(dāng)前時刻的對應(yīng)關(guān)系,所述PCIe交換芯片的上行接口與多個CPU連接,所述PCIe交換芯片的下行接口與所述各PCIe插槽連接。通過改變所述PCIe交換芯片的配置可以改變所述PCIe交換芯片的上行接口和下行接口的連接關(guān)系,從而改變所述各PCIe設(shè)備與CPU的連接關(guān)系。
[0084]所述BMC和所述PCIe交換芯片之間通過內(nèi)置集成電路(Inter — IntegratedCircuit,簡稱,I2C)總線連接通信,所述PCIe交換芯片的當(dāng)前配置的配置信息通常情況下保存在所述PCIe交換芯片的寄存器中,所述BMC通過I2C總線從所述PCIe交換芯片的寄存器中讀取所述PCIe交換芯片的當(dāng)前配置的配置信息。
[0085]步驟203、確定所述PCIe交換芯片的當(dāng)前配置是否與所述當(dāng)前連接關(guān)系匹配,其中,所述PCIe交換芯片的多種配置與所述各PCIe設(shè)備與所述各PCIe插槽的多種連接關(guān)系
--對應(yīng)。
[0086]所述各PCIe設(shè)備與所述各PCIe插槽的具有多種連接關(guān)系,所述PCIe交換芯片具有多種配置,所述PCIe交換芯片的多種配置與所述各PCIe設(shè)備與所述各PCIe插槽的多種連接關(guān)系一一對應(yīng)。所述單板上連接的PCIe插槽和PCIe設(shè)備的連接關(guān)系,與PCIe交換芯片的配置的對應(yīng)關(guān)系,可以預(yù)先保存在所述BMC的存儲器中。則所述BMC確定所述PCIe交換芯片的當(dāng)前配置是否與所述單板的當(dāng)前PCIe拓撲關(guān)系匹配,具體為:
[0087]首先,所述BMC根據(jù)預(yù)先保存的所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置信息,確定所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置;然后,所述BMC判斷所述PCIe交換芯片的當(dāng)前配置是否與所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的當(dāng)前配置相同,如果相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系匹配。如果不相同,則所述BMC確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配。
[0088]舉例來說,在高性能計算((high performance computing,簡稱HPC)中通常引入用于通用計算目的的圖形處理器(General-Purpose computat1n on GPU,簡稱GPGPU)來提高計算性能,以下簡稱HPC-雙GPU場景。仍以圖2所示例子為例,在HPC-雙GPU場景下,PCIe插槽和PCIe設(shè)備的連接關(guān)系如下:PCIE插槽I和PCIE插槽2上分別安裝有GPGPU, Mezz2上安裝有互聯(lián)結(jié)構(gòu)(Infiniband,簡稱IB),GPGPU和IB組成遠程直接數(shù)據(jù)存取(Remote Direct Memory Access,簡稱 RDMA) ,Mezzl/3/4無限制,即 Mezzl/3/4 上可以安裝PCIe設(shè)備也可以不安裝PCIe設(shè)備,其余的PCIe插槽沒有空間安裝,這里的PCIe插槽和PCIe設(shè)備的連接關(guān)系對應(yīng)PCIe拓撲2。在桌面云場景下,PCIe插槽和PCIe設(shè)備的連接關(guān)系如下:PCIe插槽1/2上分別安裝有GPU,Mezzl/3/4無限制,Mess2不安裝,其余PCIe插槽沒有空間安裝,這里的PCIe插槽和PCIe設(shè)備的連接關(guān)系對應(yīng)PCIe拓撲I。這里,Mezzl/3/4也為一種PCIe插槽,Mezz插槽通常是特定服務(wù)器廠商設(shè)置的一種插槽,不像PCIe插槽一樣具有通用性,所有的PCIe設(shè)備都能與PCIe插槽連接,而Mezz插槽只能與所述特定服務(wù)廠商生產(chǎn)的PCIe設(shè)備連接。
[0089]本實施例中,所述BMC中預(yù)先保存PCIe插槽和PCIe設(shè)備的各種連接關(guān)系,以及每種連接關(guān)系對應(yīng)的PCIe交換芯片的配置。所述BMC根據(jù)預(yù)先保存的多種所述PCIe交換芯片的配置與所述單板上連接的PCIe插槽和PCIe設(shè)備的連接關(guān)系的對應(yīng)關(guān)系,確定所述當(dāng)前連接關(guān)系對應(yīng)的PCIe交換芯片配置時,具體可以通過如下兩種方式:一種方式中,所述BMC將所述當(dāng)前連接關(guān)系與預(yù)先保存的多種對應(yīng)關(guān)系中的每種連接關(guān)系分別進行比較,以確定所述單板的當(dāng)前連接關(guān)系,然后,根據(jù)所述對應(yīng)關(guān)系,找到所述當(dāng)前連接關(guān)系對應(yīng)的PCIe交換芯片的配置。另一種方式中,所述BMC預(yù)先對多種PCIe插槽和PCIe設(shè)備的連接關(guān)系進行比較分析,找到各種連接關(guān)系之間的區(qū)別點,然后,根據(jù)各種連接關(guān)系之間的區(qū)別點從預(yù)先保存的多種連接關(guān)系中找到所述當(dāng)前連接關(guān)系。舉例來說,在所述PCIe拓撲2中,所述PCIe插槽和PCIe設(shè)備的當(dāng)前連接關(guān)系中MESS2中插有IB卡,而所述PCIe拓撲I中,所述PCIe插槽和PCIe設(shè)備的當(dāng)前連接關(guān)系中MESS2中不插IB卡,那么所述BMC可以將MEZZ2處的插卡類型作為區(qū)別點,所述BMC在從預(yù)先保存的多種連接關(guān)系中找到所述當(dāng)前連接關(guān)系時,只需要判斷MEZZ2中的插卡是不是IB卡,若MEZZ2中的插卡是IB卡,則所述BMC確定所述PCIe插槽和PCIe設(shè)備的當(dāng)前連接關(guān)系為所述PCIe拓撲2對應(yīng)的連接關(guān)系,若MEZZ2中的插卡不是IB卡,則所述BMC確定所述PCIe插槽和PCIe設(shè)備的當(dāng)前連接為所述PCIe拓撲I對應(yīng)的連接關(guān)系。在從所述多種對應(yīng)關(guān)系中找到所述當(dāng)前連接關(guān)系后,根據(jù)所述對應(yīng)關(guān)系,找到所述當(dāng)前連接關(guān)系對應(yīng)的PCIe交換芯片的配置。
[0090]步驟204、若所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配,則修改所述PCIe交換芯片的EPROM中存儲的所述PCIe交換芯片的當(dāng)前配置,修改后的所述PCIe交換芯片的配置與所述當(dāng)前連接關(guān)系匹配。
[0091]具體地,所述PCIe交換芯片具有多個寄存器,每個寄存器的地址信息和配置信息都保存在所述PCIe交換芯片的可擦除可編程只讀存儲器(Erasable Programmable ReadOnly Memory,簡稱EPROM)中,在服務(wù)器每次上電后,每個寄存器都會從所述EPROM中讀取自己的配置信息,然后,根據(jù)讀取到的配置信息修改自己的配置。因此,本實施例中,所述BMC可以將所述PCIe交換芯片的EPROM中的寄存器的所述PCIe交換芯片的當(dāng)前配置的配置信息,修改為與所述當(dāng)前連接關(guān)系匹配的所述PCIe交換芯片的配置的配置信息。在所述BMC修改所述EPROM后,所述BMC通知B1S重寫啟動服務(wù)器,當(dāng)所述服務(wù)器重新啟動后,所述PCIe交換芯片的各寄存器從所述EPROM中讀取修改后的配置,然后,將當(dāng)前配置修改為所述修改后配置,所述修改后的配置生效。
[0092]上述實施例一和實施例二的方法,也可以由所述服務(wù)器的B1S執(zhí)行,區(qū)別點在于:當(dāng)由所述B1S執(zhí)行時,所述單板上連接的各PCIe設(shè)備和各PCIe插槽連接關(guān)系與所述PCIe交換芯片的配置的對應(yīng)關(guān)系保存在所述服務(wù)器的存儲器中。
[0093]圖5為本發(fā)明實施例三提供的一種PCIe拓撲的配置裝置的結(jié)構(gòu)示意圖,所述PCIe拓撲的配置裝置可以所述服務(wù)器上的基板管理控制器BMC或所述服務(wù)器的基本輸入輸出系統(tǒng)B1S。如圖5所示,本實施例提供的PCIe拓撲的配置裝置包括:獲取模塊11、確定模塊12和修改模塊13。
[0094]所述獲取模塊11,用于獲取服務(wù)器的單板上連接的各PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息;
[0095]確定模塊12,用于根據(jù)所述各PCIe插槽的標識信息和所述各PCIe設(shè)備的設(shè)備信息,確定所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系;
[0096]修改模塊13,用于根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置。
[0097]其中,所述各PCIe插槽的標識包括:所述各PCIe插槽的總線號和設(shè)備號,所述各PCIe設(shè)備的設(shè)備信息包括:所述各PCIe設(shè)備的設(shè)備標識和廠商標識。
[0098]本實施例提供的PCIe拓撲的配置裝置,可用于執(zhí)行方法實施例一提供的技術(shù)方案,其實現(xiàn)原理和技術(shù)效果類似,這里不再贅述。
[0099]圖6為本發(fā)明實施例四提供的一種PCIe拓撲的配置裝置的結(jié)構(gòu)示意圖,如圖6所示,本實施例的裝置在圖5所示裝置結(jié)構(gòu)的基礎(chǔ)上,進一步地,所述修改模塊13可以包括:獲取單元131、確定單元132和修改單元133。
[0100]其中,所述獲取單元131,用于獲取所述PCIe交換芯片的當(dāng)前配置;
[0101]所述確定單元132,用于確定所述PCIe交換芯片的當(dāng)前配置是否與所述當(dāng)前連接關(guān)系匹配,其中,所述PCIe交換芯片的多種配置與所述各PCIe設(shè)備與所述各PCIe插槽的多種連接關(guān)系對應(yīng);
[0102]所述修改單元133,用于當(dāng)所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配時,修改所述PCIe交換芯片的可擦除可編程只讀存儲器EPROM中存儲的所述PCIe交換芯片的當(dāng)前配置,修改后的所述PCIe交換芯片的配置與所述當(dāng)前連接關(guān)系匹配。
[0103]所述獲取單元131具體用于:從所述PCIe交換芯片的寄存器中讀取所述當(dāng)前配置的配置信息。
[0104]所述確定單元132具體用于:根據(jù)預(yù)先保存的所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置信息,確定所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置;判斷所述PCIe交換芯片的當(dāng)前配置,是否與所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置相同;如果相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系匹配;如果不相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配。
[0105]進一步地,還可以包括:通知模塊14,用于通知所述服務(wù)器的基本輸入輸出系統(tǒng)B1S重新啟動所述服務(wù)器。
[0106]本實施例的裝置,可用于執(zhí)行方法實施例二提供的技術(shù)方案,具體實現(xiàn)方式和技術(shù)效果類似,這里不再贅述。
[0107]圖7為本發(fā)明實施例五提供的一種PCIe拓撲的配置裝置的結(jié)構(gòu)示意圖,所述裝置為所述服務(wù)器上的基板管理控制器BMC或所述服務(wù)器的基本輸入輸出系統(tǒng)B1S。如圖7所示,本實施例的裝置200包括:處理器21、存儲器22、通信接口 23和系統(tǒng)總線24,所述存儲器22和所述通信接口 23通過所述系統(tǒng)總線24與所述處理器21連接并完成相互間的通信;所述存儲器22,用于存儲計算機可執(zhí)行指令221 ;所述通信接口 23用于與所述服務(wù)器或其他網(wǎng)絡(luò)設(shè)備通信,所述處理器21,用于運行所述計算機可執(zhí)行指令221,以執(zhí)行如下所述方法:
[0108]獲取服務(wù)器的單板上連接的各PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息,根據(jù)所述各PCIe插槽的標識信息和所述各PCIe設(shè)備的設(shè)備信息,確定所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系;
[0109]根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置。
[0110]所述處理器21根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置,具體包括:獲取所述PCIe交換芯片的當(dāng)前配置;確定所述PCIe交換芯片的當(dāng)前配置是否與所述當(dāng)前連接關(guān)系匹配,其中,所述PCIe交換芯片的多種配置與所述各PCIe設(shè)備與所述各PCIe插槽的多種連接關(guān)系一一對應(yīng);若所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配,則修改所述PCIe交換芯片的可擦除可編程只讀存儲器EPROM中存儲的所述PCIe交換芯片的當(dāng)前配置,修改后的所述PCIe交換芯片的配置與所述當(dāng)前連接關(guān)系匹配。
[0111]所述處理器21確定所述PCIe交換芯片的當(dāng)前配置是否與所述當(dāng)前連接關(guān)系匹配,具體包括:根據(jù)預(yù)先保存的所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置信息,確定所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置;判斷所述PCIe交換芯片的當(dāng)前配置,是否與所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置相同;如果相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系匹配;如果不相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配。
[0112]本實施例中,所述各PCIe插槽的標識包括:所述各PCIe插槽的總線號和設(shè)備號,所述各PCIe設(shè)備的設(shè)備信息包括:所述各PCIe設(shè)備的設(shè)備標識和廠商標識。
[0113]進一步地,所述處理器21還用于:通知所述服務(wù)器的基本輸入輸出系統(tǒng)B1S重新啟動所述服務(wù)器。
[0114]本實施例的裝置,可用于執(zhí)行方法實施例一和實施例二提供的技術(shù)方案,具體實現(xiàn)方式和技術(shù)效果類似,這里不再贅述。
[0115]本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0116]最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
【權(quán)利要求】
1.一種PCIe拓撲的配置方法,其特征在于,包括: 獲取服務(wù)器的單板上連接的各快速外圍部件互連標準PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息,根據(jù)所述各PCIe插槽的標識信息和所述各PCIe設(shè)備的設(shè)備信息,確定所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系; 根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置,包括: 獲取所述PCIe交換芯片的當(dāng)前配置; 確定所述PCIe交換芯片的當(dāng)前配置是否與所述當(dāng)前連接關(guān)系匹配,其中,所述PCIe交換芯片的多種配置與所述各PCIe設(shè)備與所述各PCIe插槽的多種連接關(guān)系一一對應(yīng);若所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配,則修改所述PCIe交換芯片的可擦除可編程只讀存儲器EPROM中存儲的所述PCIe交換芯片的當(dāng)前配置,修改后的所述PCIe交換芯片的配置與所述當(dāng)前連接關(guān)系匹配。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述確定所述PCIe交換芯片的當(dāng)前配置是否與所述當(dāng)前連接關(guān)系匹配,包括: 根據(jù)預(yù)先保存的所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置信息,確定所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置; 判斷所述PCIe交換芯片的當(dāng)前配置,是否與所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置相同; 如果相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系匹配; 如果不相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配。
4.根據(jù)權(quán)利要求1-3中任一項所述的方法,其特征在于,所述各PCIe插槽的標識包括:所述各PCIe插槽的總線號和設(shè)備號,所述各PCIe設(shè)備的設(shè)備信息包括:所述各PCIe設(shè)備的設(shè)備標識和廠商標識。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置之后,所述方法還包括: 通知所述服務(wù)器的基本輸入輸出系統(tǒng)B1S重新啟動所述服務(wù)器。
6.根據(jù)權(quán)利要求1-3中任一項所述的方法,其特征在于,所述方法是由所述服務(wù)器上的基板管理控制器BMC或所述服務(wù)器的基本輸入輸出系統(tǒng)B1S實現(xiàn)的。
7.—種PCIe拓撲的配置裝置,其特征在于,包括: 獲取模塊,用于獲取服務(wù)器的單板上連接的各快速外圍部件互連標準PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息; 確定模塊,用于根據(jù)所述各PCIe插槽的標識信息和所述各PCIe設(shè)備的設(shè)備信息,確定所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系; 修改模塊,用于根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述修改模塊包括: 獲取單元,用于獲取所述PCIe交換芯片的當(dāng)前配置; 確定單元,用于確定所述PCIe交換芯片的當(dāng)前配置是否與所述當(dāng)前連接關(guān)系匹配,其中,所述PCIe交換芯片的多種配置與所述各PCIe設(shè)備與所述各PCIe插槽的多種連接關(guān)系--對應(yīng); 修改單元,用于當(dāng)所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配時,修改所述PCIe交換芯片的可擦除可編程只讀存儲器EPROM中存儲的所述PCIe交換芯片的當(dāng)前配置,修改后的所述PCIe交換芯片的配置與所述當(dāng)前連接關(guān)系匹配。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述確定單元具體用于: 根據(jù)預(yù)先保存的所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置信息,確定所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置; 判斷所述PCIe交換芯片的當(dāng)前配置,是否與所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置相同; 如果相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系匹配; 如果不相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配。
10.根據(jù)權(quán)利要求7-9中任一項所述的裝置,其特征在于,所述各PCIe插槽的標識包括:所述各PCIe插槽的總線號和設(shè)備號,所述各PCIe設(shè)備的設(shè)備信息包括:所述各PCIe設(shè)備的設(shè)備標識和廠商標識。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,還包括: 通知模塊,用于通知所述服務(wù)器的基本輸入輸出系統(tǒng)B1S重新啟動所述服務(wù)器。
12.根據(jù)權(quán)利要求7-9中任一項所述的裝置,其特征在于,所述裝置為所述服務(wù)器上的基板管理控制器BMC或所述服務(wù)器的基本輸入輸出系統(tǒng)B1S。
13.—種PCIe拓撲的配置裝置,其特征在于,包括:處理器、存儲器、通信接口和系統(tǒng)總線,所述存儲器和所述通信接口通過所述系統(tǒng)總線與所述處理器連接并完成相互間的通?目; 所述存儲器,用于存儲計算機可執(zhí)行指令; 所述處理器,用于運行所述計算機可執(zhí)行指令,以執(zhí)行如下所述方法: 獲取服務(wù)器的單板上連接的各快速外圍部件互連標準PCIe插槽的標識信息以及所述各PCIe插槽上連接的PCIe設(shè)備的設(shè)備信息,根據(jù)所述各PCIe插槽的標識信息和所述各PCIe設(shè)備的設(shè)備信息,確定所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系; 根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述處理器根據(jù)所述各PCIe設(shè)備與所述各PCIe插槽的當(dāng)前連接關(guān)系修改PCIe交換芯片的配置,包括: 獲取所述PCIe交換芯片的當(dāng)前配置; 確定所述PCIe交換芯片的當(dāng)前配置是否與所述當(dāng)前連接關(guān)系匹配,其中,所述PCIe交換芯片的多種配置與所述各PCIe設(shè)備與所述各PCIe插槽的多種連接關(guān)系一一對應(yīng); 若所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配,則修改所述PCIe交換芯片的可擦除可編程只讀存儲器EPROM中存儲的所述PCIe交換芯片的當(dāng)前配置,修改后的所述PCIe交換芯片的配置與所述當(dāng)前連接關(guān)系匹配。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述處理器確定所述PCIe交換芯片的當(dāng)前配置是否與所述當(dāng)前連接關(guān)系匹配,包括: 根據(jù)預(yù)先保存的所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置信息,確定所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置; 判斷所述PCIe交換芯片的當(dāng)前配置,是否與所述當(dāng)前連接關(guān)系對應(yīng)的所述PCIe交換芯片的配置相同; 如果相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系匹配; 如果不相同,則確定所述PCIe交換芯片的當(dāng)前配置與所述當(dāng)前連接關(guān)系不匹配。
16.根據(jù)權(quán)利要求13-15中任一項所述的裝置,其特征在于,所述各PCIe插槽的標識包括:所述各PCIe插槽的總線號和設(shè)備號,所述各PCIe設(shè)備的設(shè)備信息包括:所述各PCIe設(shè)備的設(shè)備標識和廠商標識。
17.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述處理器還用于: 通知所述服務(wù)器的基本輸入輸出系統(tǒng)B1S重新啟動所述服務(wù)器。
18.根據(jù)權(quán)利要求13-15中任一項所述的裝置,其特征在于,所述裝置為所述服務(wù)器上的基板管理控制器BMC或所述服務(wù)器的基本輸入輸出系統(tǒng)B1S。
【文檔編號】G06F13/38GK104202194SQ201410457793
【公開日】2014年12月10日 申請日期:2014年9月10日 優(yōu)先權(quán)日:2014年9月10日
【發(fā)明者】戰(zhàn)岳祥 申請人:華為技術(shù)有限公司