国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      資源分配方法及系統(tǒng)的制作方法

      文檔序號:6510368閱讀:174來源:國知局
      資源分配方法及系統(tǒng)的制作方法
      【專利摘要】本發(fā)明涉及一種資源分配方法及系統(tǒng),其中,該方法能夠應(yīng)用于具有PCIE插槽的計(jì)算機(jī)系統(tǒng)中,包括:檢測設(shè)置了熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入;在檢測到設(shè)置了熱插拔標(biāo)識的PCIE插槽插入PCIE設(shè)備的情況下,向PCIE設(shè)備供電,查詢PCIE設(shè)備所需要的各種資源類型以及各種資源的大小;當(dāng)計(jì)算機(jī)系統(tǒng)可用資源中,具有PCIE設(shè)備所需要的各種資源類型,并且滿足PCIE設(shè)備需要的各種資源的大小時(shí),為PCIE設(shè)備分配資源。本發(fā)明實(shí)施例采用的資源分配是一種按需分配的方式,能夠有效的利用系統(tǒng)的資源,防止系統(tǒng)資源的浪費(fèi),并且有利于系統(tǒng)的擴(kuò)展及系統(tǒng)硬件資源的維護(hù)和更換。
      【專利說明】資源分配方法及系統(tǒng)【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種資源分配方法及系統(tǒng)。
      【背景技術(shù)】
      [0002]目前在一些需要不間斷工作的高速數(shù)字電路系統(tǒng)中,特別是在服務(wù)器、通信系統(tǒng)、網(wǎng)絡(luò)服務(wù)系統(tǒng)等應(yīng)用中,由于可靠性(Reliability)、可用性(Availability)、可維護(hù)性(Serviceability)的要求日益擴(kuò)大,因此熱插拔(Hot Plug)技術(shù)得到廣泛應(yīng)用,特別是在計(jì)算機(jī) / 服務(wù)器系統(tǒng)中需要支持 PCIE(Peripheral Component Interconnect Express,外設(shè)部件互連標(biāo)準(zhǔn)快速通道)等總線的熱插拔。
      [0003]熱插拔是指在不關(guān)閉系統(tǒng)或電源的情況下替換、添加、升級、移除硬件設(shè)備。系統(tǒng)需要事先準(zhǔn)備好該硬件設(shè)備的驅(qū)動(dòng)程序,并預(yù)留該硬件設(shè)備的所有資源,然后為該硬件設(shè)備分配資源。資源分配由系統(tǒng)的BIOS (Basic Input Output System,基本輸入輸出系統(tǒng))執(zhí)行,并存放在系統(tǒng)的資源列表中,硬件設(shè)備的驅(qū)動(dòng)程序可以不變。PCIE總線的熱插拔通常以PCIE插槽形式實(shí)現(xiàn),一個(gè)PCIE插槽要想支持熱插拔,必須滿足三個(gè)條件:在上電階段,由系統(tǒng)的B10S(Basic Input Output System,基本輸入輸出系統(tǒng))使能該插槽的熱插拔屬性,并為該插槽預(yù)留一定的資源,包括內(nèi)存資源、1/0 (輸入輸出)資源、總線資源以及BAR (BaseAddress Register,基地址寄存器)資源等;在運(yùn)行階段,操作系統(tǒng)必須支持PCIE熱插拔且PCIE設(shè)備本身必須支持熱插拔。
      [0004]熱插拔技術(shù)的實(shí)現(xiàn)關(guān)鍵在于為PCIE插槽預(yù)留一定的資源,現(xiàn)有技術(shù)中系統(tǒng)通常為指定的PCIE插槽預(yù)先分配各種類型的資源,有些PCIE插槽可能不需要所有的PCIE資源,造成了資源的浪費(fèi)。

      【發(fā)明內(nèi)容】

      [0005]摶術(shù)問是頁
      [0006]本發(fā)明可以解決的技術(shù)問題是:如何減少PCIE資源的浪費(fèi)。
      [0007]解決方案
      [0008]為了解決上述技術(shù)問題,根據(jù)本發(fā)明一實(shí)施例,提供一種資源分配方法,該方法能夠應(yīng)用于具有快速外設(shè)部件互連PCIE插槽的計(jì)算機(jī)系統(tǒng)中,包括:
      [0009]檢測設(shè)置了熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入;
      [0010]在檢測到設(shè)置了所述熱插拔標(biāo)識的PCIE插槽插入PCIE設(shè)備的情況下,向所述PCIE設(shè)備供電,查詢所述PCIE設(shè)備所需要的各種資源類型以及各種資源的大??;
      [0011]當(dāng)所述計(jì)算機(jī)系統(tǒng)可用資源中,具有所述PCIE設(shè)備所需要的各種資源類型,并且滿足所述PCIE設(shè)備需要的各種資源的大小時(shí),為所述PCIE設(shè)備分配資源。
      [0012]對于上述資源分配方法,在一種可能的實(shí)現(xiàn)方式中,所述檢測設(shè)置了熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入,包括:
      [0013]在所述計(jì)算機(jī)系統(tǒng)上電自檢階段,對設(shè)置了所述熱插拔標(biāo)識的PCIE插槽進(jìn)行枚舉,確定枚舉到的PCIE插槽是否已有PCIE設(shè)備插入;或
      [0014]在所述計(jì)算機(jī)系統(tǒng)運(yùn)行階段,檢測空閑且設(shè)置了所述熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入。
      [0015]對于上述資源分配方法,在一種可能的實(shí)現(xiàn)方式中,在為所述PCIE設(shè)備分配資源之后,該方法還包括:
      [0016]在所述系計(jì)算機(jī)統(tǒng)運(yùn)行階段,在所述計(jì)算機(jī)系統(tǒng)檢測到PCIE設(shè)備移除的情況下,查找所述PCIE設(shè)備對應(yīng)的PCIE插槽號,釋放所述PCIE插槽號對應(yīng)的資源。
      [0017]對于上述資源分配方法,在一種可能的實(shí)現(xiàn)方式中,在所述釋放所述PCIE插槽號對應(yīng)的資源之后,還包括:
      [0018]檢測是否存在與所述釋放的資源連續(xù)的可用資源,當(dāng)存在時(shí),將所述釋放的資源與其連續(xù)的可用資源進(jìn)行合并。
      [0019]對于上述資源分配方法,在一種可能的實(shí)現(xiàn)方式中,包括:
      [0020]當(dāng)所述計(jì)算機(jī)系統(tǒng)可用資源不滿足所述PCIE設(shè)備需要的各種資源類型或大小時(shí),停止向所述PCIE設(shè)備供電。
      [0021]為了解決上述技術(shù)問題,根據(jù)本發(fā)明另一實(shí)施例,提供一種資源分配系統(tǒng),包括:
      [0022]檢測模塊,用于檢測設(shè)置了熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入;
      [0023]查詢模塊,與所述檢測模塊,用于在檢測模塊檢測到設(shè)置了所述熱插拔標(biāo)識的PCIE插槽插入PCIE設(shè)備的情況下,向所述PCIE設(shè)備供電,查詢所述PCIE設(shè)備所需要的各種資源類型以及各種資源的大小;
      [0024]處理模塊,與所述檢測模塊和所述查詢模塊連接,用于當(dāng)所述系統(tǒng)可用資源中,具有所述PCIE設(shè)備所需要的各種資源類型,并且滿足所述PCIE設(shè)備需要的各種資源的大小時(shí),為所述PCIE設(shè)備分配資源。
      [0025]對于上述資源分配系統(tǒng),在一種可能的實(shí)現(xiàn)方式中,所述檢測模塊包括:
      [0026]枚舉單元,用于在所述系統(tǒng)上電自檢階段,對設(shè)置了所述熱插拔標(biāo)識的PCIE插槽進(jìn)行枚舉,確定枚舉到的PCIE插槽是否已有PCIE設(shè)備插入;或
      [0027]熱插入單元,用于在所述系統(tǒng)運(yùn)行階段,檢測空閑且設(shè)置了所述熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入。
      [0028]對于上述資源分配系統(tǒng),在一種可能的實(shí)現(xiàn)方式中,還包括:
      [0029]熱移除模塊,與所述處理模塊連接,用于檢測所述PCIE設(shè)備是否從所述PCIE插槽移除;
      [0030]所述處理模塊還用于在熱移除模塊檢測到所述PCIE設(shè)備從所述PCIE插槽移除的情況下,查找所述PCIE設(shè)備對應(yīng)的PCIE插槽號,釋放所述PCIE插槽號對應(yīng)的資源。
      [0031]對于上述資源分配系統(tǒng),在一種可能的實(shí)現(xiàn)方式中,所述處理模塊還用于在檢測到存在與所述釋放的資源連續(xù)的可用資源的情況下,將所述釋放的資源與其連續(xù)的可用資源進(jìn)行合并。
      [0032]對于上述資源分配系統(tǒng),在一種可能的實(shí)現(xiàn)方式中,所述處理單元還用于當(dāng)所述系統(tǒng)可用資源不滿足所述PCIE設(shè)備需要的各種資源類型或大小時(shí),停止向所述PCIE設(shè)備供電。
      [0033]有益.效果[0034]本發(fā)明實(shí)施例提供的資源分配方法及系統(tǒng),能夠檢測設(shè)置了熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入;在檢測到設(shè)置了所述熱插拔標(biāo)識的PCIE插槽插入PCIE設(shè)備的情況下,向所述PCIE設(shè)備供電,查詢所述PCIE設(shè)備所需要的各種資源類型以及各種資源的大??;當(dāng)所述計(jì)算機(jī)系統(tǒng)可用資源中,具有所述PCIE設(shè)備所需要的各種資源類型,并且滿足所述PCIE設(shè)備需要的各種資源的大小時(shí),為所述PCIE設(shè)備分配資源。本發(fā)明實(shí)施例采用的資源分配是一種按需分配的方式,這種資源分配方式能夠?yàn)椴迦隤CIE設(shè)備的PCIE插槽分配資源,沒有插入PCIE設(shè)備的PCIE插槽不分配資源,避免了沒有插入PCIE設(shè)備的PCIE插槽對資源的占用,并能夠有效的利用系統(tǒng)的資源。
      [0035]根據(jù)下面參考附圖對示例性實(shí)施例的詳細(xì)說明,本發(fā)明的其它特征及方面將變得清楚。
      【專利附圖】

      【附圖說明】
      [0036]包含在說明書中并且構(gòu)成說明書的一部分的附圖與說明書一起示出了本發(fā)明的示例性實(shí)施例、特征和方面,并且用于解釋本發(fā)明的原理。
      [0037]圖1a示出根據(jù)本發(fā)明一實(shí)施例的資源分配方法的流程圖;
      [0038]圖1b示出根據(jù)本發(fā)明一實(shí)施例的通用型多路計(jì)算機(jī)或服務(wù)器系統(tǒng)的示意圖;
      [0039]圖2示出根據(jù)本發(fā)明一實(shí)施例的資源的數(shù)據(jù)結(jié)構(gòu)的示意圖;
      [0040]圖3示出根據(jù)本發(fā)明一實(shí)施例的資源分配方法中資源使用情況的示意圖;
      [0041]圖4示出根據(jù)本發(fā)明另一實(shí)施例的資源分配方法的流程圖;
      [0042]圖5示出根據(jù)本發(fā)明一實(shí)施例的資源分配系統(tǒng)的結(jié)構(gòu)框圖;
      [0043]圖6示出根據(jù)本發(fā)明另一實(shí)施例的資源分配系統(tǒng)的結(jié)構(gòu)框圖。
      【具體實(shí)施方式】
      [0044]以下將參考附圖詳細(xì)說明本發(fā)明的各種示例性實(shí)施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實(shí)施例的各種方面,但是除非特別指出,不必按比例繪制附圖。
      [0045]在這里專用的詞“示例性”意為“用作例子、實(shí)施例或說明性”。這里作為“示例性”所說明的任何實(shí)施例不必解釋為優(yōu)于或好于其它實(shí)施例。
      [0046]另外,為了更好的說明本發(fā)明,在下文的【具體實(shí)施方式】中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒有這些具體細(xì)節(jié),本發(fā)明同樣可以實(shí)施。在另外一些實(shí)例中,對于大家熟知的方法、手段、元件和電路未作詳細(xì)描述,以便于凸顯本發(fā)明的主旨。
      [0047]實(shí)施例1
      [0048]圖1a示出根據(jù)本發(fā)明一實(shí)施例的資源分配方法的流程圖。該方法能夠應(yīng)用于具有快速外設(shè)部件互連PCIE插槽的計(jì)算機(jī)系統(tǒng)中,如圖1a所示,該資源分配方法主要可以包括以下步驟:
      [0049]步驟S110、檢測設(shè)置了熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入;
      [0050]步驟S120、在檢測到設(shè)置了所述熱插拔標(biāo)識的PCIE插槽插入PCIE設(shè)備的情況下,向所述PCIE設(shè)備供電,查詢所述PCIE設(shè)備所需要的各種資源類型以及各種資源的大小;
      [0051]步驟S130、當(dāng)所述計(jì)算機(jī)系統(tǒng)可用資源中,具有所述PCIE設(shè)備所需要的各種資源類型,并且滿足所述PCIE設(shè)備需要的各種資源的大小時(shí),為所述PCIE設(shè)備分配資源。
      [0052]在一種可能的實(shí)現(xiàn)方式中,在步驟SllO之前,還可以包括:對計(jì)算機(jī)系統(tǒng)的至少一個(gè)PCIE插槽設(shè)置熱插拔標(biāo)識。
      [0053]本發(fā)明實(shí)施例中的計(jì)算機(jī)系統(tǒng),其基本組件包括處理器、存儲(chǔ)器,可以進(jìn)行數(shù)值計(jì)算或者邏輯計(jì)算,并能夠按照程序運(yùn)行。例如可以是服務(wù)器、個(gè)人電腦(PC)、嵌入式設(shè)備、或者存儲(chǔ)控制器、路由器、交換機(jī)等。上述計(jì)算機(jī)系統(tǒng)可以是連接PCIE插槽并對插入PCIE插槽的PCIE設(shè)備的信號進(jìn)行處理的電子設(shè)備,均屬于本發(fā)明實(shí)施例中所述的計(jì)算機(jī)系統(tǒng)。例如,計(jì)算機(jī)系統(tǒng)可以為一種通用型的多路計(jì)算機(jī)即通用計(jì)算機(jī)或服務(wù)器系統(tǒng),該計(jì)算機(jī)系統(tǒng)可以為一路計(jì)算機(jī)或服務(wù)器小系統(tǒng),還可以為通過QPI(Quick Path Interconnect,快速通道互連)互連或NC (Node Control,節(jié)點(diǎn)控制)互連技術(shù)把兩路以上的小系統(tǒng)連接成的大系統(tǒng)。其中,圖1b所示為將兩路以上的小系統(tǒng)連接成的大系統(tǒng)的情況。
      [0054]支持熱插拔的通用計(jì)算機(jī)或服務(wù)器系統(tǒng)主要可以包括:支持熱插拔的硬件系統(tǒng)、硬件適配卡/接口設(shè)備、設(shè)備驅(qū)動(dòng)程序、軟件和操作系統(tǒng)以及用戶接口等。其中,硬件系統(tǒng)必須帶有支持熱插拔的控制電路、即熱插拔控制器及相應(yīng)插槽的電源管理電路,熱插拔控制器主要用于管理系統(tǒng)總線、電源、復(fù)位等;硬件適配卡及接口設(shè)備應(yīng)具備熱插拔技術(shù)標(biāo)準(zhǔn)連接;設(shè)備驅(qū)動(dòng)程序中應(yīng)也包含支持熱插拔的程序;目前主流軟件和操作系統(tǒng)例如Windows NT4.0之后的版本基本都支持熱插拔;用戶接口運(yùn)行在操作系統(tǒng)上,主要用于用戶控制熱插拔的界面。
      [0055]上述計(jì)算機(jī)系統(tǒng)的熱插拔通常以插槽的形式實(shí)現(xiàn),因此,在這個(gè)通用計(jì)算機(jī)或服務(wù)器系統(tǒng)中必須包含若干個(gè)PCIE插槽,用來插入PCIE設(shè)備作為系統(tǒng)的一部分外設(shè),同時(shí)這些PCIE插槽支持PCIE設(shè)備熱插拔,提升了系統(tǒng)的RAS (Reliability、Availability、Serviceability,可靠、可用、可維護(hù))特性。
      [0056]本實(shí)施例計(jì)算機(jī)系統(tǒng)首先在POST (Power On Self Test,上電自檢)階段,系統(tǒng)的BIOS可以使能系統(tǒng)的至少一個(gè)PCIE插槽支持熱插拔屬性,支持熱插拔屬性的插槽在分配資源后就可以進(jìn)行熱插拔。具體來說就是將插槽所對應(yīng)的寄存器支持熱插拔功能的字段設(shè)置為打開狀態(tài)。然后計(jì)算機(jī)系統(tǒng)設(shè)置該P(yáng)CIE插槽的熱插拔標(biāo)識,通過檢測電路給設(shè)置了熱插拔標(biāo)識的PCIE插槽提供功率較低的電源以檢測是否有PCIE設(shè)備插入上述PCIE插槽。
      [0057]對于上述步驟S110,計(jì)算機(jī)系統(tǒng)檢測設(shè)置了熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入。在一種可能的實(shí)現(xiàn)方式中,在系統(tǒng)上電自檢階段或系統(tǒng)運(yùn)行階段,都可以通過上述檢測電路提供的電源來檢測PCIE插槽是否插入PCIE設(shè)備,這個(gè)電源例如為3.3V,功率較低。因此,步驟SllO具體可以包括以下任一場景:
      [0058]場景一、在計(jì)算機(jī)系統(tǒng)上電自檢階段,對各個(gè)PCIE插槽進(jìn)行枚舉,確定枚舉到的PCIE插槽是否已插入PCIE設(shè)備;
      [0059]在上電自檢階段的枚舉階段,計(jì)算機(jī)系統(tǒng)在對至少一個(gè)PCIE插槽設(shè)置熱插拔標(biāo)識后,可以放棄為指定的PCIE插槽分配資源,而開始對設(shè)置了所述熱插拔標(biāo)識的PCIE插槽進(jìn)行枚舉,以確定哪些PCIE已經(jīng)插入了 PCIE設(shè)備。
      [0060]場景二、在計(jì)算機(jī)系統(tǒng)運(yùn)行階段,檢測空閑的且設(shè)置了所述熱插拔標(biāo)識的PCIE插槽是否插入PCIE設(shè)備。
      [0061]在運(yùn)行階段,計(jì)算機(jī)系統(tǒng)檢測是否有PCIE設(shè)備熱插入設(shè)置了所述熱插拔標(biāo)識的的空閑插槽中。
      [0062]對于上述步驟S120、在檢測到設(shè)置了所述熱插拔標(biāo)識的PCIE插槽插入PCIE設(shè)備的情況下,計(jì)算機(jī)系統(tǒng)開啟該P(yáng)CIE設(shè)備對應(yīng)的PCIE插槽的電源,向該P(yáng)CIE設(shè)備供電,此時(shí)提供的電源與檢測是否有PCIE設(shè)備插入PCIE插槽的電源不是同一個(gè)電源,往往功率更大,主要用于該P(yáng)CIE設(shè)備的初始化以及正常運(yùn)行,啟動(dòng)了這個(gè)電源以后,系統(tǒng)才能讀取PCIE設(shè)備中存儲(chǔ)的設(shè)備信息,以及讀取PCIE設(shè)備需要的資源類型、大小。為該P(yáng)CIE設(shè)備供電后,根據(jù)PCIE協(xié)議標(biāo)準(zhǔn),計(jì)算機(jī)系統(tǒng)開始查詢PCIE設(shè)備上配置的記錄著PCIE需要的各種資源類型和大小的存儲(chǔ)空間,以確定該P(yáng)CIE設(shè)備所需的各種資源類型以及各種資源的大小。其中,本實(shí)施例中的資源例如可以包括內(nèi)存資源、I/O (輸入輸出)資源、總線資源以及BAR (基地址寄存器)資源等。
      [0063]例如,參見圖lb,本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)可以包括通用計(jì)算機(jī)或服務(wù)器系統(tǒng)
      10、通用計(jì)算機(jī)或服務(wù)器系統(tǒng)20、通用計(jì)算機(jī)或服務(wù)器系統(tǒng)N中的任意一個(gè),也可以由它們互連而成。當(dāng)計(jì)算機(jī)系統(tǒng)檢測到某一 PCIE插槽例如PCIE插槽101上插入了 PCIE設(shè)備111后,計(jì)算機(jī)系統(tǒng)開始查詢PCIE設(shè)備111需要的各種資源類型及其大小。例如,計(jì)算機(jī)系統(tǒng)查詢到PCIE設(shè)備111需要資源類型分別為內(nèi)存資源、I/O資源以及總線資源;資源大小分別是:內(nèi)存資源8M,I/O資源8KB以及總線資源最大的總線號為98。
      [0064]其中,PCIE設(shè)備可以是在計(jì)算機(jī)系統(tǒng)上電自檢階段之前,用戶按照個(gè)人使用習(xí)慣插入PCIE插槽,這時(shí)PCIE設(shè)備在計(jì)算機(jī)系統(tǒng)枚舉階段被檢測到;PCIE設(shè)備也可以是在計(jì)算機(jī)系統(tǒng)運(yùn)行階段熱插入PCIE插槽,這時(shí)PCIE設(shè)備在計(jì)算機(jī)系統(tǒng)運(yùn)行階段被檢測到。
      [0065]對于上述步驟S130、在計(jì)算機(jī)系統(tǒng)查詢到PCIE設(shè)備需要的各種資源類型及大小后,查詢本系統(tǒng)當(dāng)前的可用資源,當(dāng)本系統(tǒng)可用資源中,具有所述PCIE設(shè)備所需要的各種資源類型,并且滿足所述PCIE設(shè)備需要的各種資源的大小時(shí),為所述PCIE設(shè)備分配資源。當(dāng)計(jì)算機(jī)系統(tǒng)可用資源不滿足所述PCIE設(shè)備需要的各種資源類型或大小時(shí),關(guān)閉所述PCIE設(shè)備對應(yīng)的PCIE插槽的電源,停止向所述PCIE設(shè)備供電。
      [0066]本發(fā)明實(shí)施例的資源分配方法,計(jì)算機(jī)系統(tǒng)通過檢測設(shè)置了熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入;在檢測到設(shè)置了所述熱插拔標(biāo)識的PCIE插槽插入PCIE設(shè)備的情況下,向所述PCIE設(shè)備供電,并查詢所述PCIE設(shè)備所需要的各種資源類型以及各種資源的大小;當(dāng)所述計(jì)算機(jī)系統(tǒng)可用資源中,具有所述PCIE設(shè)備所需要的各種資源類型,并且滿足所述PCIE設(shè)備需要的各種資源的大小時(shí),為所述PCIE設(shè)備分配資源。這是一種按需分配的資源分配方式,能夠有效的利用計(jì)算機(jī)系統(tǒng)資源,從而防止計(jì)算機(jī)系統(tǒng)資源的浪費(fèi)。
      [0067]例如,如圖1b所示,每路計(jì)算機(jī)或服務(wù)器小系統(tǒng)都含有若干個(gè)PCIE插槽??紤]到系統(tǒng)總的資源是有限的,在系統(tǒng)不斷擴(kuò)容過程中,PCIE插槽的數(shù)目在不斷增加,系統(tǒng)總的資源有可能不足以分配給每個(gè)PCIE插槽。
      [0068]下面以2路系統(tǒng)為例分別介紹現(xiàn)有技術(shù)和本發(fā)明實(shí)施例的資源分配方法。例如,有一個(gè)服務(wù)器系統(tǒng)10,上面有4個(gè)PCIE插槽,分別為PCIE插槽10UPCIE插槽102、PCIE插槽103、PCIE插槽104,且系統(tǒng)資源也只夠分配給4個(gè)插槽使用,即總共有4份資源。其中,每份資源都包括內(nèi)存資源、總線資源、I/O資源以及BAR資源等PCIE設(shè)備熱插拔可能需要的資源。當(dāng)另外一個(gè)也有4個(gè)PCIE插槽即PCIE插槽201、PCIE插槽202、PCIE插槽203、PCIE插槽204的服務(wù)器系統(tǒng)20通過QPI互連或NC互連等技術(shù)與服務(wù)器系統(tǒng)10組成更大規(guī)模的服務(wù)器系統(tǒng)時(shí),PCIE插槽的數(shù)目變成了 8個(gè)。
      [0069]在這種情況下,現(xiàn)有技術(shù)通常會(huì)把資源均勻的分配給每個(gè)服務(wù)器系統(tǒng),例如,可以在BIOS代碼中為服務(wù)器系統(tǒng)10的PCIE插槽10UPCIE插槽102分配資源,PCIE插槽103、PCIE插槽104不可用,以及為服務(wù)器系統(tǒng)20的插槽201、PCIE插槽202分配資源,PCIE插槽203、PCIE插槽204不可用?,F(xiàn)有技術(shù)也可以按照一定的策略,以某種比例來為每個(gè)服務(wù)器系統(tǒng)分配資源。例如,可以以3:1比例分配資源給兩個(gè)服務(wù)器系統(tǒng),對于服務(wù)器系統(tǒng)10,可以在BIOS代碼中固定地為PCIE插槽101、PCIE插槽102、PCIE插槽103分配資源,并使得PCIE插槽104不可用。對于服務(wù)器系統(tǒng)20,在BIOS代碼中固定地為PCIE插槽201分配資源,并使得PCIE插槽202、PCIE插槽203、PCIE插槽203不可用。
      [0070]而采用本發(fā)明實(shí)施例的資源分配方法,計(jì)算機(jī)系統(tǒng)首先使能所有PCIE插槽即PCIE插槽10UPCIE插槽102、PCIE插槽103、PCIE插槽104以及PCIE插槽201、PCIE插槽202,PCIE插槽203、PCIE插槽204的熱插拔屬性,即對各個(gè)PCIE插槽設(shè)置熱插拔標(biāo)識和提供功率較低的檢測電源,這樣可以避免一些PCIE插槽由于固定分配資源而一直不可用,可以有效利用PCIE插槽的硬件資源。在檢測到PCIE插槽有PCIE設(shè)備插入的情況下,計(jì)算機(jī)系統(tǒng)根據(jù)其自身當(dāng)前資源情況及插入的PCIE設(shè)備所需的資源確定是否為該P(yáng)CIE設(shè)備分配資源,例如計(jì)算機(jī)系統(tǒng)檢測到后PCIE設(shè)備111插入到PCIE插槽101中,首先查詢PCIE設(shè)備111所需要的資源類型及大小,然后查詢自身資源類型及大小是否足夠滿足PCIE設(shè)備111的需求,如果足夠,分配給PCIE設(shè)備111資源,如果不夠關(guān)閉PCIE插槽101電源,使PCIE設(shè)備111下電。其它PCIE插槽的資源分配情況與上述方法類似。
      [0071]計(jì)算機(jī)系統(tǒng)使能所有PCIE插槽的熱插拔屬性可以避免一些PCIE插槽由于固定分配資源而一直不可用,可以有效利用PCIE插槽的硬件資源。并且,當(dāng)PCIE插槽硬件出現(xiàn)損壞的時(shí)候,可以把PCIE設(shè)備轉(zhuǎn)移到另一個(gè)PCIE插槽繼續(xù)使用,這樣計(jì)算機(jī)系統(tǒng)的可用性以及可維護(hù)性將會(huì)大大提高,同時(shí)避免了 PCIE插槽等硬件資源的浪費(fèi)。在檢測到PCIE插槽有PCIE設(shè)備插入的情況下,計(jì)算機(jī)系統(tǒng)根據(jù)其自身當(dāng)前資源情況插入的PCIE設(shè)備所需的資源確定是否為該P(yáng)CIE設(shè)備分配資源,能夠使其資源按需要分配,這樣能夠增加計(jì)算機(jī)系統(tǒng)分配資源的靈活性,并且能夠充分有效的利用計(jì)算機(jī)系統(tǒng)的資源,方便計(jì)算機(jī)系統(tǒng)的擴(kuò)展。
      [0072]實(shí)施例2
      [0073]圖2示出根據(jù)本發(fā)明一實(shí)施例的資源的數(shù)據(jù)結(jié)構(gòu)的示意圖,圖3示出根據(jù)本發(fā)明一實(shí)施例的資源分配方法中資源使用情況的示意圖。本發(fā)明實(shí)施例為PCIE設(shè)備所需要的每種資源可以采用統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)進(jìn)行管理。
      [0074]在一種可能的實(shí)現(xiàn)方式中,上述步驟S130中分配的資源的數(shù)據(jù)結(jié)構(gòu)主要可以包括資源類型、資源大小以及一個(gè)表示資源使用情況的鏈表。
      [0075]在一種可能的實(shí)現(xiàn)方式中,計(jì)算機(jī)系統(tǒng)可以根據(jù)鏈表查詢到計(jì)算機(jī)系統(tǒng)可用資源;若查詢到的可用資源的大小超出所述PCIE設(shè)備需要的對應(yīng)資源大小,則從可用資源中劃分出PCIE設(shè)備需要的對應(yīng)資源大小分配給所述PCIE設(shè)備。
      [0076]如圖2所示,該數(shù)據(jù)結(jié)構(gòu)包括了資源類型如圖2中的資源_1,資源大小如圖2中的Size_l,以及一個(gè)表示資源使用情況的鏈表,如圖2中的“Used”或“Free”表示了鏈表中的一個(gè)節(jié)點(diǎn),“Used”表示該節(jié)點(diǎn)所對應(yīng)的資源已經(jīng)分配使用,為不可用資源;“Free”表示該節(jié)點(diǎn)所對應(yīng)的資源沒有被分配使用,為可用資源。在鏈表中,每個(gè)節(jié)點(diǎn)所對應(yīng)的資源可以包括:起始地址和大小、空閑標(biāo)識、被哪個(gè)PCIE插槽使用,以及指向下一個(gè)節(jié)點(diǎn)的指針等。
      [0077]如圖3所示,包括了某種資源的3個(gè)資源使用節(jié)點(diǎn)的情況,以第一個(gè)節(jié)點(diǎn)為例:“0x80000000”表示了資源的起始地址,“0x1000000”表示了資源的使用大小,“False”表示了資源已經(jīng)被分配使用,“ 101”表示了該節(jié)點(diǎn)中的資源分配給系統(tǒng)PCIE插槽101使用,“*pNext”表示了指向下一個(gè)節(jié)點(diǎn)的指針。從圖3中可以看到該種資源還剩余“OxEOOOOOO”字節(jié)沒有被使用,都可以用來分配給新的PCIE設(shè)備。
      [0078]在一種可能的實(shí)現(xiàn)方式中,在插入了 PCIE插槽如PCIE插槽101的PCIE設(shè)備如PCIE設(shè)備111需要分配資源之前,PCIE設(shè)備111會(huì)向計(jì)算機(jī)系統(tǒng)發(fā)送系統(tǒng)當(dāng)前的各種資源是否滿足自身所需資源的查詢請求,計(jì)算機(jī)系統(tǒng)收到查詢請求后,通過資源的數(shù)據(jù)結(jié)構(gòu)的鏈表去查詢某種資源類型是否有標(biāo)識為“Free”的節(jié)點(diǎn),即計(jì)算機(jī)系統(tǒng)是否有這種資源類型的可用資源。如果有,則還需判斷是否滿足PCIE設(shè)備111的資源請求大小,如果不滿足,還需要繼續(xù)查找下面的節(jié)點(diǎn),直到找到一個(gè)能滿足PCIE設(shè)備111資源請求大小的“Free”節(jié)點(diǎn)為止。如果能夠找到這樣的節(jié)點(diǎn),表示計(jì)算機(jī)系統(tǒng)能夠給PCIE設(shè)備111提供這種類型的資源,計(jì)算機(jī)系統(tǒng)返回給PCIE設(shè)備111 一個(gè)資源請求成功的消息,同時(shí)返回該“Free”節(jié)點(diǎn)的起始地址。否則,返回給PCIE設(shè)備111資源請求失敗的消息。
      [0079]在計(jì)算機(jī)系統(tǒng)返回給PCIE設(shè)備111資源請求成功的消息之后,如果該節(jié)點(diǎn)資源的大小和PCIE設(shè)備111請求的大小相等,則只需修改節(jié)點(diǎn)參數(shù)而無需劃分該節(jié)點(diǎn)。其中,修改的節(jié)點(diǎn)參數(shù)主要可以包括:資源的使用情況、使用該資源的插槽號以及下一節(jié)點(diǎn)的指針等。如果該節(jié)點(diǎn)資源的大小大于PCIE設(shè)備111的請求大小,則計(jì)算機(jī)系統(tǒng)還需把該節(jié)點(diǎn)劃分為兩個(gè)節(jié)點(diǎn),其中第一個(gè)節(jié)點(diǎn)標(biāo)識為“Used”,大小為設(shè)備請求大小,剩余部分劃分給第二個(gè)節(jié)點(diǎn),仍然標(biāo)識為“Free”。重復(fù)使用以上資源分配方法,計(jì)算機(jī)系統(tǒng)就可以為PCIE設(shè)備111所有PCIE設(shè)備111需要的資源,如果有一種資源不能滿足PCIE設(shè)備111的需求,則資源分配失敗。
      [0080]本發(fā)明實(shí)施例的資源分配方法,計(jì)算機(jī)系統(tǒng)通過對各種資源采用統(tǒng)一數(shù)據(jù)結(jié)構(gòu)進(jìn)行管理,可以利用數(shù)據(jù)結(jié)構(gòu)中的鏈表方便地查詢到計(jì)算機(jī)系統(tǒng)的可用資源,并在查詢到的可用資源的大小超出所述PCIE設(shè)備需要的對應(yīng)資源大小時(shí),從可用資源中劃分出PCIE設(shè)備需要的對應(yīng)資源大小分配給所述PCIE設(shè)備。這是一種按需分配的資源分配方式,能夠充分有效的利用計(jì)算機(jī)系統(tǒng)的資源,防止計(jì)算機(jī)系統(tǒng)資源的浪費(fèi),提升了計(jì)算機(jī)系統(tǒng)的RAS特性,方便計(jì)算機(jī)系統(tǒng)的擴(kuò)展。
      [0081]實(shí)施例3
      [0082]圖4示出根據(jù)本發(fā)明另一實(shí)施例的資源分配方法的流程圖。圖4中標(biāo)號與圖1a相同的步驟具有相同的功能,為簡明起見,省略對這些步驟的詳細(xì)說明。
      [0083]如圖4所示,圖4所示的資源分配方法與圖1a所示資源分配方法的主要區(qū)別在于,在步驟S130之后,該方法還可以包括:
      [0084]步驟S140、在所述計(jì)算機(jī)系統(tǒng)運(yùn)行階段,在所述計(jì)算機(jī)系統(tǒng)檢測到PCIE設(shè)備移除的情況下,查找所述PCIE設(shè)備對應(yīng)的PCIE插槽號,釋放所述PCIE插槽號對應(yīng)的資源。
      [0085]具體地,在計(jì)算機(jī)系統(tǒng)運(yùn)行階段,當(dāng)計(jì)算機(jī)系統(tǒng)檢測到PCIE設(shè)備從PCIE插槽移除時(shí),計(jì)算機(jī)系統(tǒng)查找所述PCIE設(shè)備對應(yīng)的PCIE插槽號,釋放給該P(yáng)CIE設(shè)備分配的各種資源,例如,計(jì)算機(jī)系統(tǒng)檢測到PCIE設(shè)備111從PCIE插槽101中移除,計(jì)算機(jī)系統(tǒng)釋放給PCIE設(shè)備111分配的各種資源,并對這些資源進(jìn)行回收。在上述實(shí)施例中,系統(tǒng)在資源的數(shù)據(jù)結(jié)構(gòu)的鏈表節(jié)點(diǎn)中設(shè)計(jì)了一個(gè)插槽號,用來表示該資源是被哪個(gè)PCIE插槽上的PCIE設(shè)備所使用。因此,當(dāng)PCIE設(shè)備111從PCIE插槽101中移除時(shí),計(jì)算機(jī)系統(tǒng)可以根據(jù)插槽號和資源的對應(yīng)情況,回收PCIE插槽101對應(yīng)的資源即可,即計(jì)算機(jī)系統(tǒng)根據(jù)PCIE插槽101,依次去查找鏈表中的每個(gè)節(jié)點(diǎn),如果發(fā)現(xiàn)與PCIE插槽101相匹配的節(jié)點(diǎn)時(shí),就會(huì)把該節(jié)點(diǎn)標(biāo)識為“Free”。
      [0086]在一種可能的實(shí)現(xiàn)方式中,在步驟S140之后,該方法還可以包括:
      [0087]步驟S150、檢測是否存在與所述釋放的資源連續(xù)的可用資源,當(dāng)存在時(shí),將所述釋放的資源與其連續(xù)的可用資源進(jìn)行合并。
      [0088]具體地,在把回收的資源對應(yīng)的節(jié)點(diǎn)標(biāo)識為“Free”之后,可以利用迭代算法將該節(jié)點(diǎn)與系統(tǒng)當(dāng)前的某些標(biāo)識為“Free”的節(jié)點(diǎn)進(jìn)行合并。例如:假設(shè)當(dāng)前釋放的是第i個(gè)節(jié)點(diǎn)的資源,那么需要判斷第j個(gè)節(jié)點(diǎn)的資源的狀態(tài)(j依次為i_l到1),如果是第1-ι個(gè)節(jié)點(diǎn)到I都為“Free”狀態(tài),則可以從第i個(gè)節(jié)點(diǎn)一直合并到第I個(gè)節(jié)點(diǎn)。如果是第i_l個(gè)節(jié)點(diǎn)到I中存在“Used”狀態(tài)的節(jié)點(diǎn)(例如:i_2),則可以合并i和i_l,然后退出查找。此外,還可以查找k個(gè)節(jié)點(diǎn)資源的狀態(tài)(k依次為i+Ι到max),同樣合并連續(xù)為“Free”狀態(tài)的節(jié)點(diǎn),否則退出查找。
      [0089]本發(fā)明實(shí)施例的資源分配方法,當(dāng)檢測到PCIE設(shè)備從PCIE插槽中移除時(shí),系統(tǒng)可以根據(jù)插槽號和資源的對應(yīng)情況,釋放PCIE插槽對應(yīng)的資源,并根據(jù)迭代算法對釋放的資源和其相鄰的資源進(jìn)行合并。這樣,系統(tǒng)能夠快速的回收系統(tǒng)的資源。
      [0090]需要說明的是,本發(fā)明實(shí)施例的資源分配方法,并不局限于本發(fā)明實(shí)施例的各種示例性例子,同時(shí),本領(lǐng)域普通技術(shù)人員能夠明白的是,本發(fā)明實(shí)施例的資源分配方法能夠應(yīng)用到任何需要熱插拔的地方,而不局限于PCIE設(shè)備的熱插拔。
      [0091]實(shí)施例4
      [0092]圖5示出根據(jù)本發(fā)明一實(shí)施例的資源分配系統(tǒng)的結(jié)構(gòu)框圖。本實(shí)施例中的資源分配系統(tǒng)即為上述實(shí)施例中的計(jì)算機(jī)系統(tǒng)。如圖5所示,該系統(tǒng)主要可以包括檢測模塊51、查詢模塊52以及處理模塊53。其中,檢測模塊51,主要用于檢測設(shè)置了熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入;查詢模塊52,與檢測模塊51連接,主要用于在檢測模塊檢測到設(shè)置了所述熱插拔標(biāo)識的PCIE插槽插入PCIE設(shè)備的情況下,向所述PCIE設(shè)備供電,查詢所述PCIE設(shè)備所需要的各種資源類型以及各種資源的大??;處理模塊53,與檢測模塊51和查詢模塊52連接,主要用于當(dāng)所述系統(tǒng)可用資源中,具有所述PCIE設(shè)備所需要的各種資源類型,并且滿足所述PCIE設(shè)備需要的各種資源的大小時(shí),為所述PCIE設(shè)備分配資源。
      [0093]在一種可能的實(shí)現(xiàn)方式中,該資源分配系統(tǒng)還可以包括設(shè)置模塊54,與檢測模塊53連接,設(shè)置模塊54主要用于對計(jì)算機(jī)系統(tǒng)的至少一個(gè)PCIE插槽設(shè)置熱插拔標(biāo)識。
      [0094]在一種可能的實(shí)現(xiàn)方式中,在系統(tǒng)上電自檢階段或系統(tǒng)運(yùn)行階段,檢測模塊51都可以檢測PCIE插槽是否插入PCIE設(shè)備,因此,檢測模塊51具體可以包括枚舉單元511和熱插入單元512。枚舉單元511主要用于在系統(tǒng)上電自檢階段,對設(shè)置了熱插拔標(biāo)識的PCIE插槽進(jìn)行枚舉,確定枚舉到的PCIE插槽是否已插入PCIE設(shè)備;熱插入單元512主要用于在系統(tǒng)運(yùn)行階段,檢測空閑的設(shè)置了熱插拔標(biāo)識的PCIE插槽是否插入PCIE設(shè)備。
      [0095]在一種可能的實(shí)現(xiàn)方式中,該資源分配系統(tǒng)還可以包括熱移除模塊55,與處理模塊53連接,熱移除模塊55主要用于檢測所述PCIE設(shè)備是否從所述PCIE插槽移除,所述處理模塊53還用于在熱移除模塊檢測到所述PCIE設(shè)備從所述PCIE插槽移除的情況下,查找所述PCIE設(shè)備對應(yīng)的PCIE插槽號,釋放所述PCIE插槽號對應(yīng)的資源。
      [0096]在一種可能的實(shí)現(xiàn)方式中,所述處理模塊53還可以用于在檢測到存在與所述釋放的資源連續(xù)的可用資源的情況下,將所述釋放的資源與其連續(xù)的可用資源進(jìn)行合并。
      [0097]在一種可能的實(shí)現(xiàn)方式中,所述處理單元53還可以用于當(dāng)所述系統(tǒng)可用資源不滿足所述PCIE設(shè)備需要的各種資源類型或大小時(shí),停止向所述PCIE設(shè)備供電。
      [0098]本發(fā)明實(shí)施例的資源分配系統(tǒng)可以應(yīng)用上述實(shí)施例中的任一種資源分配方法。資源分配方法的具體流程可以參見上述實(shí)施例中的詳細(xì)闡述。
      [0099]本發(fā)明實(shí)施例的資源分配系統(tǒng),設(shè)置模塊主要用于對計(jì)算機(jī)系統(tǒng)的至少一個(gè)PCIE插槽設(shè)置熱插拔標(biāo)識,在檢測模塊的枚舉單元或熱插入單元檢測到PCIE插槽插入PCIE設(shè)備的情況下,查詢模塊用于查詢所述PCIE設(shè)備所需要的各種資源類型以及各種資源的大小,處理模塊用于當(dāng)所述系統(tǒng)可用資源中,具有查詢模塊查詢到的所述PCIE設(shè)備所需要的各種資源類型及大小時(shí),為所述PCIE設(shè)備分配資源。本發(fā)明實(shí)施例的資源分配系統(tǒng)分配資源的方式是一種按需分配的方式,能夠有效的利用自身資源,從而防止計(jì)算機(jī)系統(tǒng)資源的浪費(fèi),并且有利于系統(tǒng)的擴(kuò)展及系統(tǒng)硬件資源的維護(hù)和更換。
      [0100]實(shí)施例5
      [0101]圖6示出根據(jù)本發(fā)明的另一實(shí)施例的資源分配系統(tǒng)的結(jié)構(gòu)框圖。所述資源分配系統(tǒng)600可以是具備計(jì)算能力的主機(jī)服務(wù)器、個(gè)人計(jì)算機(jī)PC、或者可攜帶的便攜式計(jì)算機(jī)或終端等。本發(fā)明具體實(shí)施例并不對計(jì)算節(jié)點(diǎn)的具體實(shí)現(xiàn)做限定。
      [0102]所述資源分配系統(tǒng)600包括處理器(processor) 610、通信接口(CommunicationsInterface) 620、存儲(chǔ)器(memory array) 630 和總線 640。其中,處理器 610、通信接口 620、以及存儲(chǔ)器630通過總線640完成相互間的通信。
      [0103]通信接口 620用于與網(wǎng)元通信,其中網(wǎng)元包括例如虛擬機(jī)管理中心、共享存儲(chǔ)等。
      [0104]處理器610用于執(zhí)行程序。處理器610可能是一個(gè)中央處理器CPU,或者是專用集成電路ASIC (Application Specific Integrated Circuit),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。
      [0105]存儲(chǔ)器630用于存放文件。存儲(chǔ)器630可能包含高速RAM存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器(non-volatile memory),例如至少一個(gè)磁盤存儲(chǔ)器。存儲(chǔ)器630也可以是存儲(chǔ)器陣列。存儲(chǔ)器630還可能被分塊,并且所述塊可按一定的規(guī)則組合成虛擬卷。
      [0106]在一種可能的實(shí)現(xiàn)方式中,上述程序可為包括計(jì)算機(jī)操作指令的程序代碼。該程序能夠應(yīng)用于具有快速外設(shè)部件互連PCIE插槽的計(jì)算機(jī)系統(tǒng)中,具體可用于:
      [0107]檢測設(shè)置了熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入;
      [0108]在檢測到設(shè)置了所述熱插拔標(biāo)識的PCIE插槽插入PCIE設(shè)備的情況下,向所述PCIE設(shè)備供電,查詢所述PCIE設(shè)備所需要的各種資源類型以及各種資源的大??;
      [0109]當(dāng)所述計(jì)算機(jī)系統(tǒng)可用資源中,具有所述PCIE設(shè)備所需要的各種資源類型,并且滿足所述PCIE設(shè)備需要的各種資源的大小時(shí),為所述PCIE設(shè)備分配資源。
      [0110]在一種可能的實(shí)現(xiàn)方式中,所述檢測設(shè)置了熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入,包括:[0111]在所述計(jì)算機(jī)系統(tǒng)上電自檢階段,對設(shè)置了所述熱插拔標(biāo)識的PCIE插槽進(jìn)行枚舉,確定枚舉到的PCIE插槽是否已有PCIE設(shè)備插入;或
      [0112]在所述計(jì)算機(jī)系統(tǒng)運(yùn)行階段,檢測空閑且設(shè)置了所述熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入。
      [0113]在一種可能的實(shí)現(xiàn)方式中,在為所述PCIE設(shè)備分配資源之后,上述程序還包括:
      [0114]在所述計(jì)算機(jī)系統(tǒng)運(yùn)行階段,在所述計(jì)算機(jī)系統(tǒng)檢測到PCIE設(shè)備移除的情況下,查找所述PCIE設(shè)備對應(yīng)的PCIE插槽號,釋放所述PCIE插槽號對應(yīng)的資源。
      [0115]在一種可能的實(shí)現(xiàn)方式中,在所述釋放所述PCIE插槽號對應(yīng)的資源之后,上述程序還包括:
      [0116]檢測是否存在與所述釋放的資源連續(xù)的可用資源,當(dāng)存在時(shí),將所述釋放的資源與其連續(xù)的可用資源進(jìn)行合并。
      [0117]在一種可能的實(shí)現(xiàn)方式中,上述程序包括:
      [0118]當(dāng)所述計(jì)算機(jī)系統(tǒng)可用資源不滿足所述PCIE設(shè)備需要的各種資源類型或大小時(shí),停止向所述PCIE設(shè)備供電。
      [0119]本領(lǐng)域普通技術(shù)人員可以意識到,本文所描述的實(shí)施例中的各示例性單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件形式來實(shí)現(xiàn),取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以針對特定的應(yīng)用選擇不同的方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
      [0120]如果以計(jì)算機(jī)軟件的形式來實(shí)現(xiàn)所述功能并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),則在一定程度上可認(rèn)為本發(fā)明的技術(shù)方案的全部或部分(例如對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分)是以計(jì)算機(jī)軟件產(chǎn)品的形式體現(xiàn)的。該計(jì)算機(jī)軟件產(chǎn)品通常存儲(chǔ)在計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中,包括若干指令用以使得計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各實(shí)施例方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM, Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
      [0121]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
      【權(quán)利要求】
      1.一種資源分配方法,應(yīng)用于具有快速外設(shè)部件互連PCIE插槽的計(jì)算機(jī)系統(tǒng)中,其特征在于,包括:檢測設(shè)置了熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入;在檢測到設(shè)置了所述熱插拔標(biāo)識的PCIE插槽插入PCIE設(shè)備的情況下,向所述PCIE設(shè)備供電,查詢所述PCIE設(shè)備所需要的各種資源類型以及各種資源的大?。划?dāng)所述計(jì)算機(jī)系統(tǒng)可用資源中,具有所述PCIE設(shè)備所需要的各種資源類型,并且滿足所述PCIE設(shè)備需要的各種資源的大小時(shí),為所述PCIE設(shè)備分配資源。
      2.根據(jù)權(quán)利要求1所述的資源分配方法,所述檢測設(shè)置了熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入,包括:在所述計(jì)算機(jī)系統(tǒng)上電自檢階段,對設(shè)置了所述熱插拔標(biāo)識的PCIE插槽進(jìn)行枚舉,確定枚舉到的PCIE插槽是否已有PCIE設(shè)備插入;或在所述計(jì)算機(jī)系統(tǒng)運(yùn)行階段,檢測空閑且設(shè)置了所述熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入。
      3.根據(jù)權(quán)利要求1或2所述的資源分配方法,其特征在于,在為所述PCIE設(shè)備分配資源之后,該方法還包括:在所述計(jì)算機(jī)系統(tǒng)運(yùn)行階段,在所述計(jì)算機(jī)系統(tǒng)檢測到PCIE設(shè)備移除的情況下,查找所述PCIE設(shè)備對應(yīng)的PCI E插槽號,釋放所述PCIE插槽號對應(yīng)的資源。
      4.根據(jù)權(quán)利要求3所述的資源分配方法,其特征在于,在所述釋放所述PCIE插槽號對應(yīng)的資源之后,還包括:檢測是否存在與所述釋放的資源連續(xù)的可用資源,當(dāng)存在時(shí),將所述釋放的資源與其連續(xù)的可用資源進(jìn)行合并。
      5.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的資源分配方法,其特征在于,包括:當(dāng)所述計(jì)算機(jī)系統(tǒng)可用資源不滿足所述PCIE設(shè)備需要的各種資源類型或大小時(shí),停止向所述PCIE設(shè)備供電。
      6.一種資源分配系統(tǒng),其特征在于,包括:檢測模塊,用于檢測設(shè)置了熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入;查詢模塊,與所述檢測模塊連接,用于在檢測模塊檢測到設(shè)置了所述熱插拔標(biāo)識的PCIE插槽插入PCIE設(shè)備的情況下,向所述PCIE設(shè)備供電,查詢所述PCIE設(shè)備所需要的各種資源類型以及各種資源的大??;處理模塊,與所述檢測模塊和所述查詢模塊連接,用于當(dāng)所述系統(tǒng)可用資源中,具有所述PCIE設(shè)備所需要的各種資源類型,并且滿足所述PCIE設(shè)備需要的各種資源的大小時(shí),為所述PCIE設(shè)備分配資源。
      7.根據(jù)權(quán)利要求6所述的資源分配系統(tǒng),其特征在于,所述檢測模塊包括:枚舉單元,用于在所述系統(tǒng)上電自檢階段,對設(shè)置了所述熱插拔標(biāo)識的PCIE插槽進(jìn)行枚舉,確定枚舉到的PCIE插槽是否已有PCIE設(shè)備插入;或熱插入單元,用于在所述系統(tǒng)運(yùn)行階段,檢測空閑且設(shè)置了所述熱插拔標(biāo)識的PCIE插槽是否有PCIE設(shè)備插入。
      8.根據(jù)權(quán)利要求6或7所述的資源分配系統(tǒng),其特征在于,還包括:熱移除模塊,與所述處理模塊連接,用于檢測所述PCIE設(shè)備是否從所述PCIE插槽移除; 所述處理模塊還用于在熱移除模塊檢測到所述PCIE設(shè)備從所述PCIE插槽移除的情況下,查找所述PCIE設(shè)備對應(yīng)的PCIE插槽號,釋放所述PCIE插槽號對應(yīng)的資源。
      9.根據(jù)權(quán)利要求8所述的資源分配系統(tǒng),其特征在于,所述處理模塊還用于在檢測到存在與所述釋放的資源連續(xù)的可用資源的情況下,將所述釋放的資源與其連續(xù)的可用資源進(jìn)行合并。
      10.根據(jù)權(quán)利要求6-9任一項(xiàng)所述的資源分配系統(tǒng),其特征在于,所述處理單元還用于當(dāng)所述系統(tǒng)可用資源不滿足所述PCIE設(shè)備需要的各種資源類型或大小時(shí),停止向所述PCIE設(shè)備供 電。
      【文檔編號】G06F9/50GK103455379SQ201310400629
      【公開日】2013年12月18日 申請日期:2013年9月5日 優(yōu)先權(quán)日:2013年9月5日
      【發(fā)明者】陳俊杰, 劉通良, 鄭力 申請人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1