熱插拔處理系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機應(yīng)用技術(shù)領(lǐng)域,尤其是熱插拔處理系統(tǒng)及方法。
【背景技術(shù)】
[0002]ATCA總線由一系列規(guī)范組成,包括定義了結(jié)構(gòu)、電源、散熱、互聯(lián)與系統(tǒng)管理的核心規(guī)范PICMG3.0以及定義了點對點互聯(lián)協(xié)議的5個輔助規(guī)范組成,包括:以太和光纖傳輸;InfiniBand傳輸;星形傳輸;PCI_Express傳輸;及Rapid1傳輸。
[0003]ATCA 采納了業(yè)界標準的 IPMI 總線(Intelligent PlatformManagementlnterfaee,智能型平臺管理接口)為管理功能的基礎(chǔ),提供了一套機箱層級的可靠管理機制。
[0004]PCIE作為一種局部總線,目前絕大多數(shù)處理器都包含了 PCIE控制器來連接外部設(shè)備,用來進行外設(shè)和處理器之間的數(shù)據(jù)傳輸。在互聯(lián)網(wǎng)中的許多概念現(xiàn)在都出現(xiàn)在了PCIE總線中,如交換,路由等,PCIE總線也由若干層次組成,主要分為事務(wù)層、數(shù)據(jù)鏈路層和物理層,其跟網(wǎng)絡(luò)協(xié)議棧頗有類似。PCIE鏈路作為一種“端到端的數(shù)據(jù)傳送方式”,包含了發(fā)送邏輯和接收邏輯,其可以由多條Lane組成,也就是通常意義上的X1、X2、X8、X16等?,F(xiàn)在PCIe總線規(guī)范已經(jīng)經(jīng)歷了丫1.0,之后為¥1.0&,V1.1,V2.0和V2.1,以至于到現(xiàn)在的V3.0,其中PCIE 3.0中,單Lane的峰值帶寬為8GT/s。
[0005]一個典型的基于PCIE的ATCA機框由主控板及多個PCIE業(yè)務(wù)設(shè)備(例如業(yè)務(wù)刀片)組成,主控板對應(yīng)PCIE協(xié)議中的RC(Root complex),PCIE業(yè)務(wù)設(shè)備對應(yīng)EP(Endpoint)。RC/EP以及EP/EP之間均能互相通信PCIE的通信方式是基于映射的訪問方式,即把RC/EP的空間映射到另一端,然后另一端就可以向訪問自己的地址空間一樣訪問對方的地址空間。這樣的好處是不言而喻的,操作簡單,速度快,但這也需要芯片具有足夠的地址空間,具體來講就是所有的EP能夠?qū)⑿枰目臻g都映射到RC上去,并且RC管理這些地址,讓RC-EP、EP-EP之間能夠互相通信。對應(yīng)于ATCA架構(gòu)中,因為主控板一般是必須要有的,而PCIE業(yè)務(wù)設(shè)備(例如業(yè)務(wù)刀片)可能視業(yè)務(wù)而定只有一塊或者多塊,那么如何能夠?qū)崿F(xiàn)正常使用的時候動態(tài)增加或者減少業(yè)務(wù)刀片呢? PCIE熱插拔是解決這個的一個方案。
[0006]熱插拔即帶電插拔,熱插拔功能就是允許用戶在不關(guān)閉系統(tǒng),不切斷電源的情況下取出和更換損壞的硬盤、電源或板卡等部件,從而提高了系統(tǒng)對災(zāi)難的及時恢復能力、擴展性和靈活性等。
[0007]1997年,PCI SIG制定了第一個PCI熱插拔規(guī)范,其中定義了支持熱插拔所必需的平臺、板卡和軟件元素。PCI SIG推出了標準熱插拔控制器規(guī)范(SHPC SPEC),其中明確了熱插拔的標準使用模式和嚴格的寄存器組要求,并且允許操作系統(tǒng)提供商在平臺特定的軟件之外提供熱插拔支持,逐步完成了熱插拔標準制定工作,進入技術(shù)的全面推廣階段。
[0008]根據(jù)規(guī)范,一個完整的Native PCI Express熱插拔系統(tǒng)需要幾方面的相互配合,分別為硬件元素、固件元素和軟件元素。硬件元素是指主板總線系統(tǒng)的電氣特性方面的支持,包括熱插拔控制器(Hot-Plug Controller)、卡槽電源切換邏輯(Card Slot PowerSwitching Logic)、板卡重置邏輯(Card Reset Logic)、電源指不燈(Power Indicator)、提不按鈕(Attent1n Button)和板卡存在檢測引腳(Card Present Detect Pins)等等;固件元素是指主板B1S必須對熱插拔提供的支持,要實現(xiàn)Native PCI Express熱插拔,固件必須提供OSHP方法或ACPI_0SC方法之一;軟件元素是指操作系統(tǒng)操作和使用PCIExpress熱插拔所必須提供的功能組件。
[0009]ATCA 3.4支持所有的PCIE熱插拔方案,Linux操作系統(tǒng)也實現(xiàn)了 PCIE熱插拔方案,當熱插拔驅(qū)動正常時,給新插入的刀片分配PCIE地址空間,將拔出去的刀片的地址回收,但此方案中的PCIE地址空間是動態(tài)分配的,即依賴于刀片插入和拔出的順序,無法將某一個插槽的PCIE地址空間固定,這對于硬件設(shè)計以及應(yīng)用設(shè)計帶來許多不便。
【發(fā)明內(nèi)容】
[0010]本發(fā)明為了克服上述現(xiàn)有技術(shù)存在的缺陷,提供一種PCIE設(shè)備插入和拔出的順序不影響資源分配的熱插拔處理系統(tǒng)及方法。
[0011]本發(fā)明提供一種熱插拔處理系統(tǒng),包括:多個PCIE設(shè)備;至少一個PCIE交換芯片,包括多個用于連接所述PCIE設(shè)備的PCIE端口,各所述PCIE端口分配有固定的PCIE端口資源,各所述PCIE端口資源與IPMI總線地址相對應(yīng);主控板,向所述PCIE端口上連接的PCIE設(shè)備分配或收回所述固定的PCIE端口資源;以及管理板,通過IPMI總線地址檢測各所述PCIE端口所述PCIE設(shè)備的狀態(tài),并向所述主控板發(fā)送指示信息,指示所述主控板向所述PCIE端口上連接的PCIE設(shè)備分配或收回所述固定的PCIE端口資源。
[0012]優(yōu)選地,所述PCIE端口資源包括:PCIE地址空間和PCIE總線號。
[0013]優(yōu)選地,一個所述PCIE端口對應(yīng)多個所述IPMI總線地址,各所述IPMI總線地址對應(yīng)一個所述PCIE端口資源。
[0014]優(yōu)選地,其特征在于,所述管理板還用于管理所述IPMI總線地址。
[0015]優(yōu)選地,所述熱插拔處理系統(tǒng)具有ATCA架構(gòu)。
[0016]本發(fā)明還提供一種熱插拔處理方法,用于如上所述的熱插拔處理系統(tǒng),其特征在于,所述熱插拔處理方法包括:所述PCIE設(shè)備連接至所述PCIE端口時,所述主控板檢測所述PCIE設(shè)備,獲取與所述PCIE端口對應(yīng)的IPMI總線地址,向所述PCIE設(shè)備分配與所述IPMI總線地址對應(yīng)的PCIE端口資源,所述PCIE設(shè)備工作;從所述PCIE端口拔出所述PCIE設(shè)備時,根據(jù)與所述PCIE端口對應(yīng)的IPMI總線地址,所述主控板停止所述PCIE設(shè)備的工作,回收所述PCIE設(shè)備的PCIE端口資源。
[0017]優(yōu)選地,所述PCIE端口資源包括:PCIE地址空間和PCIE總線號。
[0018]優(yōu)選地,一個所述PCIE端口對應(yīng)多個所述IPMI總線地址,各所述IPMI總線地址對應(yīng)一個所述PCIE端口資源。
[0019]優(yōu)選地,所述管理板輪詢各所述IPMI總線地址,若有PCIE設(shè)備連接至所述PCIE端口時,所述管理板向所述主控板發(fā)送一上線消息,所述上線消息包括所述IPMI總線地址,指示有PCIE設(shè)備連接至與所述IPMI總線地址對應(yīng)的PCIE端口。
[0020]優(yōu)選地,所述管理板檢測到有PCIE設(shè)備要從所述PCIE端口拔出時,向所述主控板發(fā)送一下線消息,所述下線消息包括所述IPMI總線地址,指示要有PCIE設(shè)備從與所述IPMI總線地址對應(yīng)的PCIE端口拔出。
[0021]與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)勢:
[0022]I)解決了 ATCA架構(gòu)中的PCIE設(shè)備在插入時候能快速的和主控板建立通訊連接,并根據(jù)PCIE設(shè)備所在的端口分配固定的PCIE端口資源,在拔出的時候?qū)CIE端口資源回收,插入和拔出的順序不影響PCIE端口資源的分配,即固定端口固定PCIE端口資源,給硬件設(shè)計及應(yīng)用設(shè)計提供方便。這樣硬件設(shè)計上就能夠固定某些端口的用途,上層業(yè)務(wù)程序也能夠根據(jù)地址按需定制業(yè)務(wù),增強了系統(tǒng)靈活性及穩(wěn)定性。
[0023]2)本發(fā)明使用ATCA中的IPMI總線進行管理,使IPMI總線地址和PCIE端口資源綁定的方式,使用IPMI總線地址來進行PCIE端口資源管理的話,會使軟件架構(gòu)更加的合理,更加系統(tǒng)化,驅(qū)動程序和業(yè)務(wù)程序設(shè)計起來也更方便。因為IPMI總線地址在ATCA系統(tǒng)中起到身份識別作用,使用這個更加歸一化。同時可以使一個端口分配多個固定PCIE端口資源,而不是單一的對應(yīng)關(guān)系。
[0024]3) IPMI總線地址是由除了主控板和PCIE設(shè)備之外的管理板來進行管理及實現(xiàn)的,這樣就使得系統(tǒng)的容錯率高,不依賴于PCIE設(shè)備本身,使資源分配更加穩(wěn)定。
【附圖說明】
[0025]通過參照附圖詳細描述其示例實施方式,本發(fā)明的上述和其它特征及優(yōu)點將變得更加明顯。
[0026]圖1示出了根據(jù)本發(fā)明實施例的熱插拔處理系統(tǒng)的示意圖。
[0027]圖2示出了根據(jù)本發(fā)明另一實施例的熱插拔處理系統(tǒng)的示意圖。
[0028]圖3示出了根據(jù)本發(fā)明實施例的熱插拔處理方法的流程圖。
[0029]圖4示出了根據(jù)本發(fā)明另一實施例的熱插拔處理方法的流程圖。
【具體實施方式】
[0030]現(xiàn)在將參考附圖更全面地描述示例實施方式。然而,示例實施方式能夠以多種形式實施,且不應(yīng)被理解為限于在此闡述的實施方式;相反,提供這些實施方式使得本發(fā)明將全面和完整,并將示例實施方式的構(gòu)思全面地傳達給本領(lǐng)域的技術(shù)人員。在圖中相同的附圖標記表示相同或類似的結(jié)構(gòu),因而將省略對它們的重復描述。
[0031]圖1示出了一種熱插拔處理系統(tǒng),其包括管理板100、主控板200、PCIE交換芯片300及多個PCIE設(shè)備410、420。本發(fā)明提供的熱插拔處理系統(tǒng)優(yōu)選地具有ATCA架構(gòu),并采用IPMI總線為管理功能的基礎(chǔ)。由于IPMI總線是基于I2C總線來傳輸?shù)?,整個系統(tǒng)所需的I2C總線較多,本發(fā)明優(yōu)選地,使用了 FPGA來管理多達多條I2C總線,使系統(tǒng)更加穩(wěn)定。PCIE交換芯片300包括多個用于連接PCIE設(shè)備的PCIE端口,各PCIE端口分配有固定的PCIE端口資源。該固定的PCIE端口資源為PCIE交換芯片每個端口能連接的PCIE設(shè)備所需資源的最大集合。PCIE端口資源包括PCIE地址空間和PCIE總線號。各PCIE端口資源與IPMI總線地址相對應(yīng)。主控板200用于向PCIE端口上連接的PCIE設(shè)備410、420分配或收回固定的PCIE端口資源。管理板100通過IPMI總線地址檢測各PCIE端口的PCI