国产精品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>

      熱插拔接口控制方法和裝置的制作方法

      文檔序號:6433513閱讀:186來源:國知局
      專利名稱:熱插拔接口控制方法和裝置的制作方法
      相關(guān)申請本發(fā)明涉及與本申請同一天遞交、中請?zhí)栁粗?、題為“Hot PlugCache Coherent Interface Method And Apparatus(熱插拔高速緩存一致接口的方法和裝置)”的申請。
      背景技術(shù)
      技術(shù)進步已經(jīng)為超越傳統(tǒng)商業(yè)方法的應用提供了許多的機會?;ヂ?lián)網(wǎng)上的電子商務(wù)已經(jīng)得到廣泛接受,這要求許多公司安裝不只一臺計算設(shè)備來架構(gòu)網(wǎng)站和維護可以訪問的數(shù)據(jù)庫,或與數(shù)據(jù)中心簽約來提供這樣的服務(wù)。除了性能以外,這些計算設(shè)備的重要功能性特征還包括可靠性、可用性和可擴展性。
      一種已經(jīng)用于提高計算設(shè)備的可靠性、可用性和可擴展性的方式是允許向運行著的計算設(shè)備添加某些外圍部件或從其移除某些外圍部件,而不用重新啟動。例如,2001年6月20日發(fā)布的1.1版PCI(PeripheralComponent Interconnect,外圍設(shè)備互連)熱插拔(Hot-Plug)規(guī)范給出了一種方式,通過該方式PCI插卡(add-in card),例如網(wǎng)卡、ATA(先進技術(shù)附件)控制器、SCSI(小型計算機系統(tǒng)接口)控制器、USB(通用串行總線)控制器以及火線(FireWire,a.k.a 1394)控制器,可以被添加到運行著的計算設(shè)備上或從其移除。但是PCI熱插拔沒有提供向運行著的計算設(shè)備添加處理器、存儲器、I/O中心,和/或從運行著的計算設(shè)備移除它們。因此,計算設(shè)備的可靠性、可用性和可擴展性可以通過支持熱插拔添加和/或熱插拔移除處理器、存儲器和/或I/O中心得到增強。


      在附圖中,以示例而非限制的方式對本發(fā)明進行了說明。為了簡單和清楚地說明起見,在圖中圖示的元件不一定按比例繪制。例如,為了清楚,將一些元件的尺寸相對其他元件的尺寸進行了放大。此外,在適當?shù)那樾蜗拢诟鱾€附圖中重復使用標號以表示對應或類似的元件。
      圖1圖示了包括熱插拔模塊的示例性計算設(shè)備;圖2圖示了圖1計算設(shè)備的示例性處理器/存儲器熱插拔模塊;圖3圖示了圖1計算設(shè)備的示例性處理器熱插拔模塊;圖4圖示了圖1計算設(shè)備的示例性存儲器熱插拔模塊;圖5圖示了圖1計算設(shè)備的示例性I/O熱插拔模塊;圖6圖示了圖1計算設(shè)備的示例性中平面(midplane);圖7圖示了與圖1計算設(shè)備的通信接口關(guān)聯(lián)的示例性熱插拔接口的部分;圖8圖示了圖1的計算設(shè)備的熱插拔模塊和關(guān)聯(lián)的通信接口的示例性狀態(tài)示意圖;圖9A-9H圖示了用于向圖1的計算設(shè)備熱插拔添加熱插拔模塊和從其熱插拔移除熱插拔模塊的方法。
      具體實施例方式
      在下面詳細的描述中,為了提供對本發(fā)明全面的理解,描述了許多具體的細節(jié)。但是,本發(fā)明可以在沒有這些具體細節(jié)的情況下實施。在其他的例子中,為了不致使本發(fā)明模糊,沒有對公知的方法、程序、部件和電路進行詳細的描述。此外,盡管可能給出了示例的大小/模型/值/范圍,但是本發(fā)明不限于這些具體的例子。
      在說明書中提及的“一個實施例”、“實施例”、“示例性實施例”等表示所描述的實施例可以包括特定的特征、結(jié)構(gòu)或特點,但是不是每一個實施例都必須包括這些特定的特征、結(jié)構(gòu)或特點。而且,這樣的短語不一定指代同一個實施例。此外,當特定特征、結(jié)構(gòu)或特點被結(jié)合實施例說明時,應當認識到的是,無論其它實施例是否被清楚地描述了,以本領(lǐng)域技術(shù)人員的知識水平能夠?qū)⑦@些特征、結(jié)構(gòu)或特點與這些實施例結(jié)合。
      在隨后的描述和權(quán)利要求書中,可能使用術(shù)語“耦合”和“連接”以及它們的派生詞。應該理解,這些術(shù)語不應被視為彼此的同義詞。確切地說,在特定的實施例中,“連接”可以被用來表示兩個或更多元件彼此物理或電氣上直接接觸?!榜詈稀笨梢灾竷蓚€或更多元件物理或電氣上直接接觸。但是,“耦合”也可以指兩個或更多元件彼此物理或電氣上不直接接觸,但仍然彼此協(xié)作或相互作用。
      參考圖1,示例性計算設(shè)備100可以包括一個或多個被耦合到中平面120的熱插拔模塊110。熱插拔模塊110可以包括一個或多個資源部件,例如處理器、存儲器、輸入/輸出(I/O)中心和/或固件,其為計算設(shè)備100提供處理、存儲、I/O、固件和/或其他資源。熱插拔模塊110和中平面120可以包括耦合器112、122以支持可拆卸地將熱插拔模塊110耦合到中平面120。耦合器112、122可以包括一個或多個管腳、短截線(stub)、觸點、插孔、銷、開關(guān)和/或其他機構(gòu)以可拆卸地將熱插拔模塊110的電源信號、數(shù)據(jù)信號、控制信號、中斷信號和/或其他信號耦合到中平面120的電源信號、數(shù)據(jù)信號、控制信號、中斷信號和/或其他信號。
      就像要進一步詳細解釋的那樣,熱插拔模塊110和中平面120可以支持熱插拔添加和熱插拔移除。在熱插拔添加期間,當計算設(shè)備100正在運行時,熱插拔模塊110可以被耦合到中平面120,并且熱插拔模塊110的資源可以被添加到正在運行的計算設(shè)備100上,而不用重啟計算設(shè)備100。在熱插拔移除期間,當計算設(shè)備100正在運行時,熱插拔模塊110可以從計算設(shè)備100解除耦合,并且被移除的熱插拔模塊110的資源可以從正在運行的計算設(shè)備100上移除,而不用重啟計算設(shè)備100。
      現(xiàn)在參考圖2,圖中示出了示例性的處理器/存儲器熱插拔模塊(HPM),其可以被用來實現(xiàn)計算設(shè)備100的一個或多個熱插拔模塊110。示例性的處理器/存儲器HPM可以包括具有熱插拔接口212的節(jié)點控制器210。熱插拔接口212可以包括一個或多個被耦合到耦合器112的通信接口214。如將在下面更加詳細說明的那樣,熱插拔接口212可以支持處理器/存儲器HPM的熱插拔添加和/或熱插拔移除。節(jié)點控制器210還可以被耦合到一個或多個處理器230、存儲器240以及固件250。處理器230可以包括存儲器高速緩存232以高速緩存計算設(shè)備100的一個或多個存儲器240的線(line),并可以通過探聽事務(wù)保持存儲器高速緩存232的一致性。存儲器高速緩存232可以被實現(xiàn)為在處理器230內(nèi)部和/或外部的多級分層次的高速緩存。存儲器240可以包括一個或多個被排列為存儲體的存儲器模塊。固件250可以存儲基本輸入/輸出系統(tǒng)(BIOS)例程、數(shù)據(jù)和/或其他例程以初始化或部分初始化處理器/存儲器HPM的部件,以及建立與計算設(shè)備100的其他熱插拔模塊110的通信。
      處理器/存儲器HPM還可以包括狀態(tài)指示器260,其被耦合到節(jié)點控制器210的熱插拔接口212。狀態(tài)指示器260可以提供有關(guān)處理器/存儲器HPM的熱插拔狀態(tài)的指示。例如,狀態(tài)指示器260可以包括提供可視指示器的顯示設(shè)備,例如一個或多個LED、LCD等,和/或提供可聽指示器,例如揚聲器。例如,狀態(tài)指示器260可以指示處理器/存儲器HPM已經(jīng)成功地接入(join)到計算設(shè)備100、已經(jīng)成功地離開計算設(shè)備100、處在正接入計算設(shè)備100的過程中、處在正離開計算設(shè)備100的過程中和/或已經(jīng)遇到某種錯誤狀況。
      節(jié)點控制器210還可以包括一個或多個與每個通信接口214關(guān)聯(lián)的通用輸入/輸出管腳或接線端(GPIO0、GPIO1)216、218。狀態(tài)指示器260可以被耦合到與一個通信接口214關(guān)聯(lián)的GPIO0管腳216和GPIO1管腳218。此外,狀態(tài)指示器260可以提供用于處理器/存儲器HPM的狀態(tài)指示器,其基于GPIO0管腳216和GPIO1管腳218的狀態(tài)。
      處理器/存儲器HPM還可以包括熱移除機構(gòu)270。熱移除機構(gòu)270可以包括開關(guān)、銷、按鈕和/或一些其他的機械機構(gòu),它們可以響應于被致動而使處理器/存儲器HPM產(chǎn)生熱移除請求和熱插拔中斷。例如,熱移除機構(gòu)270可以包括耦合到節(jié)點控制器210的GPIO1管腳218以及耦合到耦合器112的中斷線路的按鈕。響應于按鈕的致動,熱移除機構(gòu)270可以向節(jié)點控制器210提供熱插拔移除請求并向運行著的計算設(shè)備100提供熱插拔中斷。
      圖3中示出了示例性的處理器HPM,其可以被用來實現(xiàn)計算設(shè)備100的一個或多個熱插拔模塊110。該處理器HPM可以用與圖2中處理器/存儲器HPM類似的方式實現(xiàn)。處理器HPM通常為計算設(shè)備100提供一個或多個處理器230,并且包括其他的部件以支持這些一個或多個處理器230以及支持該處理器HPM的熱插拔。例如,處理器HPM可以包括耦合器112、節(jié)點控制器210、一個或多個處理器230、固件250、狀態(tài)指示器260以及移除請求機構(gòu)270,但是可以實現(xiàn)為沒有圖2中示出的存儲器240。
      圖4中示出了示例性的存儲器HPM,其可以被用來實現(xiàn)計算設(shè)備100的一個或多個熱插拔模塊110。該存儲器HPM可以用與圖2中處理器/存儲器HPM類似的方式實現(xiàn)。存儲器HPM通常為計算設(shè)備100提供存儲器240,并且包括其他的部件以支持存儲器240以及支持該存儲HPM的熱插拔。例如,存儲器HPM可以包括耦合器112、節(jié)點控制器210、存儲器240、狀態(tài)指示器260以及移除請求機構(gòu)270,但是可以實現(xiàn)為沒有圖2中示出的處理器230。
      現(xiàn)在參考圖5,其中示出了示例性的輸入/輸出(I/O)HPM,其可以被用來實現(xiàn)計算設(shè)備100的一個或多個熱插拔模塊110。該示例性的I/OHPM500包括具有熱插拔接口212的I/O中心510。熱插拔接口212可以包括一個或多個耦合到耦合器112的通信接口214。I/O中心510可以被耦合到一個或多個I/O橋530,以利用多種信令協(xié)議來提供對I/O設(shè)備的訪問。例如,I/O HPM可以包括外圍設(shè)備互連(PCI)橋、高速外圍設(shè)備互連(PCI-X)橋、無限帶寬(InfiniBand)橋、工業(yè)標準結(jié)構(gòu)(ISA)橋、高速互連(HSI)橋、通用串行總線(USB)橋、先進技術(shù)附件(ATA)橋、小型計算機系統(tǒng)接口(SCSI)橋以及到鍵盤、鼠標和其他設(shè)備的接口。
      I/O中心510還可以被耦合到固件250。該固件250可以存儲基本輸入/輸出系統(tǒng)(BIOS)例程、數(shù)據(jù)和/或其他例程以初始化或部分初始化I/OHPM的部件,以及經(jīng)由該I/O HPM的一個或多個通信接口214與計算設(shè)備100的其它熱插拔模塊110建立通信。I/O中心510還可以被耦合到狀態(tài)指示器260和熱移除請求機構(gòu)270。該狀態(tài)指示器提供有關(guān)I/O HPM的熱插拔狀態(tài)的指示。熱移除請求機構(gòu)270響應于被致動而產(chǎn)生熱移除請求和熱插拔中斷。
      I/O中心510還可以包括存儲器高速緩存512以高速緩存計算設(shè)備100的一個或多個存儲器240的線。與I/O中心510關(guān)聯(lián)的存儲器高速緩存512,可以被實現(xiàn)為I/O中心510內(nèi)部和/或外部的多級分層次高速緩存。例如,存儲器高速緩存512可以在預測被附接到I/O橋530的I/O設(shè)備未來的數(shù)據(jù)請求的情況下,存儲從運行著的計算設(shè)備100的一個或多個存儲器240取得的預先讀取的數(shù)據(jù)。此外,存儲器高速緩存512可以存儲從被附接到I/O橋530的I/O設(shè)備取得并且這之后要被寫入到運行著的計算設(shè)備100的一個或多個存儲器240的數(shù)據(jù)。為了保持與運行著的計算設(shè)備100的存儲器240的一致性,I/O中心510可以參加中平面120的探聽事務(wù)。
      在圖6中更加詳細地示出了示例性的中平面120。中平面120可以包括一個或多個開關(guān)624以控制熱插拔模塊110之間的數(shù)據(jù)傳輸,并且?guī)椭3譄岵灏文K110的存儲器高速緩存232、512的一致性。開關(guān)624可以包括一個或多個熱插拔接口626,該熱插拔接口626包括被耦合到耦合器122的一個或多個通信接口628。就如下面要詳細解釋的那樣,熱插拔接口626和通信接口628可以支持熱插拔模塊110的熱插拔添加和熱插拔移除。此外,每個通信接口628可以與一個或多個GPIO管腳或端子630、632關(guān)聯(lián)。
      中平面120還可以包括與每個耦合器122關(guān)聯(lián)的熱插拔監(jiān)視器(HM)634。熱插拔監(jiān)視器634可以為與耦合器122關(guān)聯(lián)的通信接口628提供指示熱插拔模塊110是否被耦合到各自的耦合器122上的信號。例如,熱插拔監(jiān)視器634可以包括機械銷,其可以被致動來將熱插拔模塊110固定到中平面120,并且可以響應于被致動而提供指示熱插拔模塊存在的信號。或者,熱插拔監(jiān)視器634可以包括耦合器122的模塊存在管腳,以產(chǎn)生指示熱插拔模塊110是否被耦合到耦合器122上的信號。例如,模塊存在管腳可以在物理上與耦合器122的其他管腳錯開,使得模塊存在管腳響應于插入熱插拔模塊110最后進行電接觸,而響應于移除熱插拔模塊110第一個電分離。
      中平面120還可以包括可選的系統(tǒng)管理處理器636。系統(tǒng)管理處理器636可以被耦合到耦合器122以監(jiān)視、訪問和/或控制被耦合到耦合器122的熱插拔模塊110的部件。系統(tǒng)管理處理器636可以初始化缺少處理器230的熱插拔模塊110的部件,比如圖4的存儲器HPM和圖5的I/OHPM。在一個示例性實施例中,串行掃描鏈和/或其他通信通路(未示出)將系統(tǒng)管理處理器636通過中平面120的耦合器122耦合到熱插拔模塊110的部件。
      開關(guān)624還可以包括探聽過濾器640,其跟蹤計算設(shè)備100的存儲器高速緩存232、512的高速緩存線路一致性信息。探聽過濾器640可以部分地起到防止在不包含主高速緩存線路拷貝的熱插拔模塊110中執(zhí)行探聽事務(wù)的作用,從而減少了系統(tǒng)開銷、熱插拔模塊110之間的通信量以及執(zhí)行探聽操作所需的時間。為此,探聽過濾器640可以包括控制器642、存儲設(shè)備644和有效矢量646。
      控制器642可以在存儲設(shè)備644中存儲和更新由熱插拔模塊110的高速緩存代理(例如,處理器230、I/O中心510)進行高速緩存的線路的一致性狀態(tài)和標簽地址??刂破?42還可以基于存儲設(shè)備644的標簽地址和一致性狀態(tài)、有效矢量646的有效探聽代理信息以及一致性協(xié)議,控制對熱插拔模塊110的探聽事務(wù)的路徑選擇。例如,控制器642可以利用公知的MESI(修改、獨占、共享、無效)協(xié)議的變體來跟蹤高速緩存線路是否被無效、共享、組合、修改/獨占。在示例性實施例中,在熱插拔模塊110的存儲器高速緩存232、512處支持全面的MESI協(xié)議。只要計算設(shè)備100的所有高速緩存代理是相容的,那么可以使用其他的一致性協(xié)議。
      控制器642還可以在存儲設(shè)備644中存儲和更新存在信息,該信息指出了哪個熱插拔模塊110具有線路的拷貝。例如,控制器642可以通過存儲設(shè)備644關(guān)聯(lián)的存在矢量跟蹤哪個熱插拔模塊110具有存儲器240線路的拷貝。存在矢量可以包括位字段,其中字段中的每個位對應于特定耦合器122和關(guān)聯(lián)的熱插拔模塊110。
      也可以使用其它的實施方式來替代存在矢量。例如,開關(guān)624可以總地為每個耦合器122以及關(guān)聯(lián)的熱插拔模塊110包括不同的探聽過濾器640。或者,探聽過濾器640可以實現(xiàn)為使得存儲設(shè)備644的入口被應用到一個節(jié)點,存儲設(shè)備644其他的入口被應用到另一個節(jié)點等等。
      控制器642還可以停下來將探聽事務(wù)發(fā)送到與已經(jīng)被移除的熱插拔模塊110關(guān)聯(lián)的耦合器122。例如,探聽過濾器640可以包括有效矢量646以跟蹤哪個耦合器具有被耦合到其上的有效探聽代理,以便探聽過濾器640為由被移除或?qū)⒈灰瞥臒岵灏文K110的高速緩存代理所高速緩存的線路提供適當?shù)奶铰犿憫?。有效矢?46可以被實現(xiàn)為存儲設(shè)備644的部分、一個或多個寄存器的部分或探聽過濾器640的獨立寄存器。此外,有效矢量646可以包括位字段,其中字段中的每個位對應于特定的耦合器122和關(guān)聯(lián)的熱插拔模塊110。
      也可以使用其它的實施方式來替代有效矢量。例如,開關(guān)624可以總地為每個耦合器122包括一個不同的探聽過濾器640,該探聽過濾器640可以基于有效探聽代理是否被耦合到關(guān)聯(lián)的耦合器122而被使能或禁止?;蛘?,探聽過濾器640可以被實現(xiàn)來清除與耦合器122關(guān)聯(lián)的每個存在矢量的位,其中耦合器122與將被移除或已經(jīng)被移除的熱插拔模塊110相關(guān)聯(lián),以防止對這樣的耦合器122的探聽事務(wù)。
      控制器642還可以發(fā)出所有與熱插拔模塊110關(guān)聯(lián)的未完事務(wù)已經(jīng)被完成了的信號。例如,控制器642可以通過與被移除的熱插拔模塊110關(guān)聯(lián)的通信接口628發(fā)出防衛(wèi)事務(wù)(fencing transaction)??刂破?42然后可以響應于從熱插拔模塊110接收到防衛(wèi)事務(wù)完成相應而確定熱插拔模塊110的所有未完事務(wù)已經(jīng)完成了。控制器642然后可以通過產(chǎn)生中斷發(fā)信號通知完成了未完事務(wù)?;蛘撸刂破?42可以通過更新與耦合器122和熱插拔模塊110關(guān)聯(lián)的狀態(tài)信息,發(fā)信號通知完成了未完事務(wù)。計算設(shè)備的處理器230可以在以后讀取或輪詢狀態(tài)消息以確定熱插拔模塊110所有的事務(wù)是否已經(jīng)完成。
      在圖7中更詳細地示出了熱插拔接口626及其與通信接口628的關(guān)聯(lián)。應該理解,熱插拔模塊110的熱插拔接口212可以以類似的方式實現(xiàn)。熱插拔接口626可以包括接口邏輯704、接口控制寄存器706以及被耦合到GPIO管腳630、632的GPIO導線708、710。對于每個通信接口628,熱插拔接口626可以包括獨立的接口邏輯704、接口控制寄存器706以及GPIO導線708、710。
      接口邏輯704可以控制通信接口628來根據(jù)運行著的計算設(shè)備100的其他通信接口628所利用的通信協(xié)議來發(fā)送和/或接收電信號。此外,接口邏輯704可以使通信接口628建立與熱插拔模塊110的通信接口214的通信鏈接,并且可以檢測這樣的通信鏈接是否已經(jīng)建立起來了。
      例如,接口邏輯704可以基于由通信接口214發(fā)送的幀分組來調(diào)節(jié)通信接口628的接收器,并且可以使通信接口628的發(fā)射器發(fā)送幀分組。接口邏輯704然后可以響應于確定通信接口628已經(jīng)接收到預定數(shù)目(例如,256)的無差錯幀分組的預定數(shù)字來產(chǎn)生幀檢測信號,并且可以響應于確定通信接口628已經(jīng)響應于它發(fā)送的幀分組接收到預定數(shù)目(例如,256)的無差錯確認分組來產(chǎn)生確認檢測信號。幀檢測信號和確認檢測信號通常提供一種指示通信鏈接已經(jīng)成功地在通信接口214、628之間建立起來了。此外,應該理解,也可以使用其他方式建立通信鏈接。
      熱插拔接口626的接口控制寄存器706可以包括模塊存在字段740、模塊存在中斷字段742以及中斷請求字段744。響應于關(guān)聯(lián)的熱插拔監(jiān)視器634的信號,模塊存在字段740可以被設(shè)定來指示熱插拔模塊110存在,并且可以被清除以指示熱插拔模塊110不存在。模塊存在中斷字段742可以被設(shè)定來響應于模塊存在字段740中的變化產(chǎn)生熱插拔中斷,并且可以被清除以防止響應于模塊存在字段740中的變化產(chǎn)生熱插拔中斷。中斷請求字段744可以被設(shè)定來指示和引發(fā)熱插拔中斷,并且可以被清除以確認和清除熱插拔中斷。由開關(guān)624的中斷請求字段744產(chǎn)生的熱插拔中斷請求信號,可以以線-OR構(gòu)造被耦合在一起,使得中斷控制器(未示出)可以響應于通過單個的中斷請求線接收的熱插拔中斷請求信號來產(chǎn)生熱插拔中斷。
      接口控制寄存器706還可以包括接口使能字段746、GPIO0使能字段748、GPIO1使能字段750、GPIO0狀態(tài)字段752、GPIO0狀態(tài)字段754。接口使能字段746可以被設(shè)定來使能它關(guān)聯(lián)的通信接口628,并且可以被清除來禁止它關(guān)聯(lián)的通信接口628。GPIO0使能字段748和GPIO1使能字段750可以被設(shè)定來使能GPIO0狀態(tài)字段752和GPIO0狀態(tài)字段754,以驅(qū)動它們各自的GPIO管腳630、632。此外,GPIO0使能字段748和GPIO1使能字段750可以被清除來防止GPIO0狀態(tài)字段752和GPIO0狀態(tài)字段754驅(qū)動它們各自的GPIO管腳630、632。
      接口控制寄存器706還可以包括幀檢測字段756、確認檢測字段758以及幀中斷字段760。響應于幀檢測信號,幀檢測字段756可以被設(shè)定來指示檢測到幀,或可以被清除以指示沒有檢測到幀。類似的,確認檢測字段758可以被設(shè)定來指示檢測到確認,或可以被清除以響應于確認檢測信號指示沒檢測到確認。幀中斷字段760可以被設(shè)定來響應于幀檢測信號中的變化產(chǎn)生熱插拔中斷,或者可以被清除以防止響應幀檢測信號中的變化產(chǎn)生熱插拔中斷。
      接口控制寄存器706還可以包括便箋式存儲器字段762。便箋式存儲器字段762可以被編程(program)來跟蹤通信接口628和關(guān)聯(lián)熱插拔模塊110的熱插拔狀態(tài)和/或其他配置信息。例如,便箋式存儲器字段762可以被編程來跟蹤通信接口628和關(guān)聯(lián)的熱插拔模塊110是否處于無模塊存在狀態(tài)、模塊存在狀態(tài)、忙狀態(tài)、就緒狀態(tài)或接入狀態(tài)。
      熱插拔接口626還可以包括與通信接口628關(guān)聯(lián)的其他寄存器。例如,熱插拔接口626可以包括存儲器交叉寄存器770來為關(guān)聯(lián)的熱插拔模塊110的存儲器240分配存儲范圍分配,并包括系統(tǒng)復位寄存器772來指示關(guān)聯(lián)的熱插拔模塊110可用的處理器230。熱插拔接口626還可以包括模塊定義寄存器776來存儲關(guān)聯(lián)的熱插拔模塊110的模塊指示符,并且包括遠程模塊定義寄存器778來存儲有關(guān)與通信接口628關(guān)聯(lián)的熱插拔模塊110的類型(例如,處理器/存儲器HPM、處理器HPM、存儲器HPM、I/O HPM)的指示。熱插拔接口626還可以包括I/O映射寄存器780來為關(guān)聯(lián)的熱插拔模塊110的I/O資源分配存儲范圍。
      現(xiàn)在參考圖8,示例性狀態(tài)示意圖800圖示了響應于運行著的計算設(shè)備100和熱插拔模塊110的動作的在熱插拔狀態(tài)之間的轉(zhuǎn)換。例如,通信接口628以及關(guān)聯(lián)熱插拔模塊110可以是處于無模塊存在狀態(tài)(狀態(tài)0)、模塊存在狀態(tài)(狀態(tài)1)、忙狀態(tài)(狀態(tài)2)、就緒狀態(tài)(狀態(tài)3)或接入狀態(tài)(狀態(tài)4)。無模塊存在狀態(tài)可以對應于沒有被耦合到熱插拔模塊110的通信接口628。模塊存在狀態(tài)可以對應于已經(jīng)被耦合到熱插拔模塊110的通信接口628。忙狀態(tài)可以對應于已經(jīng)建立起與熱插拔模塊110的通信鏈接,但該熱插拔模塊100還沒有準備好接入運行著的計算設(shè)備100的通信接口628。就緒狀態(tài)可以對應于已經(jīng)建立起與準備好接入運行著的計算設(shè)備100的熱插拔模塊110的通信鏈接的通信接口628。接入狀態(tài)可以對應于被耦合到已經(jīng)接入運行著的計算設(shè)備100的熱插拔模塊110的通信接口122。
      現(xiàn)在參考圖9A-9H,所圖示的方法900用于處理熱插拔中斷,以便向運行著的計算設(shè)備100添加和/或從其移除熱插拔模塊110。熱插拔中斷可以響應于各種事件而產(chǎn)生。例如,在示例性實施例中,運行著的計算設(shè)備100在啟動過程設(shè)定了一個開關(guān)624(缺省開關(guān))的模塊存在中斷字段742以及幀檢測中斷字段760。因此,缺省開關(guān)624的接口控制寄存器706可以使響應于模塊存在字段740或幀檢測字段760中的變化產(chǎn)生熱插拔中斷。此外,一個熱插拔模塊110的移除請求機構(gòu)270可以響應于被致動而產(chǎn)生熱插拔中斷。熱插拔中斷也可以響應于運行著的系統(tǒng)100或熱插拔模塊110設(shè)定缺省開關(guān)624的一個中斷請求字段而產(chǎn)生。
      此外,運行著的計算設(shè)備100和熱插拔模塊110還響應于執(zhí)行機器可讀介質(zhì)的指令以執(zhí)行方法900的全部或一個子集,這些機器可讀介質(zhì)比如一個或多個只讀存儲器(ROM)、隨機存取存儲器(RAM)、磁盤存儲介質(zhì)、光存儲介質(zhì)、閃存設(shè)備和/或電、光、聲或其他形式的傳播信號,例如載波、紅外信號、數(shù)字信號、模擬信號。另外,盡管方法900將運行著的計算設(shè)備100和熱插拔模塊110的操作示為順序的操作,但是運行著的計算設(shè)備100和熱插拔模塊110可以并行或以不同的順序執(zhí)行各種操作。
      現(xiàn)在參考圖9A,在框902中運行著的計算設(shè)備100可以響應于熱插拔中斷的接收,確定是否已經(jīng)請求熱插拔移除熱插拔模塊110。在示例性實施例中,運行著的計算設(shè)備100可以基于中平面120的接口控制寄存器706確定是否已經(jīng)請求熱插拔移除熱插拔模塊110。例如,如果與熱插拔模塊110關(guān)聯(lián)的接口控制寄存器706具有指示接入狀態(tài)(圖8的狀態(tài)4)的便箋式存儲字段762,并且具有被設(shè)定的GPIO1狀態(tài)字段754或被設(shè)定的中斷請求字段744,那么運行著的計算設(shè)備100可以確定已經(jīng)請求熱插拔移除熱插拔模塊110。在示例性實施例中,被設(shè)定的GPIO1狀態(tài)字段754指示從移除請求機構(gòu)270接收到移除請求信號,被設(shè)定的中斷請求字段744指示可能已經(jīng)被運行著的計算設(shè)備100的管理軟件所設(shè)定的未完熱插拔中斷。
      響應于確定已經(jīng)請求熱插拔移除熱插拔模塊110,在框904運行著的計算設(shè)備100(圖9B)可以提供對熱插拔移除熱插拔模塊110在進行中的指示。運行著的計算設(shè)備100可以對熱插拔模塊110的狀態(tài)指示器260進行編程,以通過設(shè)定被耦合到狀態(tài)指示器260的GPIO0管腳630的GPIO0狀態(tài)字段752和GPIO0使能字段748,指示熱插拔移除在進行中。在框906,運行著的計算設(shè)備100可以清除熱插拔模塊110的熱插拔中斷。如果響應于移除請求機構(gòu)被致動而產(chǎn)生熱插拔中斷,那么運行著的計算設(shè)備100可以通過設(shè)定與移除請求機構(gòu)270關(guān)聯(lián)的GPIO0狀態(tài)字段752和GPIO0使能字段748,清除熱插拔中斷和移除請求機構(gòu)270。此外,如果通過管理軟件產(chǎn)生熱插拔中斷,那么運行著的計算設(shè)備100可以通過清除缺省開關(guān)624的中斷請求字段744來清除熱插拔中斷。
      在框908,運行著的計算設(shè)備100可以識別熱插拔模塊110上的資源。運行著的計算設(shè)備100可以經(jīng)由節(jié)點控制器210的系統(tǒng)復位寄存器識別熱插拔模塊110的處理器資源。此外,運行著的計算設(shè)備100可以經(jīng)由節(jié)點控制器210的存儲器交叉寄存器識別熱插拔模塊110的存儲器資源。運行著的計算設(shè)備100還可以利用ASL(ACPI源語言)方法來識別熱插拔模塊110的I/O資源。
      在框910,運行著的計算設(shè)備100可以從運行著的計算設(shè)備100移除被識別的熱插拔模塊110的存儲器資源。運行著的計算設(shè)備100可以從熱插拔模塊110中使用過的存儲器位置移動數(shù)據(jù)到運行著的計算設(shè)備100的在移除熱插拔模塊110之后仍然存在的存儲器240和/或虛擬存儲器。此外,運行著的計算設(shè)備100可以移除對物理上位于熱插拔模塊110上的存儲器240的軟件引用。
      在框912,運行著的計算設(shè)備100可以移除被識別的熱插拔模塊110的I/O資源。運行著的計算設(shè)備100可以使被耦合到熱插拔模塊110或在其上的I/O設(shè)備刷新緩存并完成未完成的請求。此外,運行著的計算設(shè)備100可以使I/O中心510將它所關(guān)聯(lián)的存儲器高速緩存512的經(jīng)修改后的高速緩存線回寫到運行著的計算設(shè)備100。運行著的計算設(shè)備100也可以在I/O設(shè)備完成未完成的請求、刷新緩存以及回寫經(jīng)修改后的高速緩存線之后,停止和關(guān)閉該I/O設(shè)備。
      在框914,運行著的計算設(shè)備100可以移除被識別的熱插拔模塊110的處理器資源。運行著的計算設(shè)備100可以移除作為中斷目標的熱插拔模塊110的處理器230,并且可以從活動(active)處理器列表中移除處理器230。此外,運行著的計算設(shè)備100可以使熱插拔模塊110的處理器230回寫和無效它們關(guān)聯(lián)的存儲器高速緩存232。運行著的計算設(shè)備100也可以使處理器230停止執(zhí)行或進入禁用中斷的緊湊循環(huán)。
      在框916,運行著的計算設(shè)備100可以更新開關(guān)624的探聽過濾器640。例如,運行著的計算設(shè)備100可以更新探聽過濾器640的有效矢量646來將熱插拔模塊110和關(guān)聯(lián)的通信接口628標記為無效的探聽代理。通過將它們標記為無效的探聽代理,探聽過濾器640可以正確地響應指向在熱插拔模塊110被移除之前未被其無效的該熱插拔模塊110的共享高速緩存線的探聽請求。或者,探聽過濾器640可以更新存儲設(shè)備644的存在矢量以指示在將被移除的熱插拔模塊110上沒有高速緩存線存在,或禁用將被移除的熱插拔模塊110的專用探聽過濾器640。
      在框918,運行著的計算設(shè)備100可以等待與熱插拔模塊110關(guān)聯(lián)的未完事務(wù)結(jié)束。例如,運行著的計算設(shè)備100可以等待一段時間(例如,2秒),該時間足夠未完事務(wù)以合理的高度確定性結(jié)束?;蛘?,運行著的計算設(shè)備100可以等待開關(guān)624的探聽過濾器640發(fā)信號通知未完事務(wù)結(jié)束。
      運行著的計算設(shè)備100還可以禁用與要移除的熱插拔模塊110關(guān)聯(lián)的開關(guān)624的通信接口628(框920)。運行著的計算設(shè)備100可以通過清除與開關(guān)624的通信接口628關(guān)聯(lián)的接口使能字段746來禁止通信接口628。作為禁止通信接口628的結(jié)果,與通信接口628關(guān)聯(lián)的接口邏輯704不能接收幀分組,從而使在幀檢測信號變化時缺省開關(guān)706的關(guān)聯(lián)接口控制寄存器706產(chǎn)生熱插拔中斷。
      在框930(圖9A),運行著的計算設(shè)備100可以確定熱插拔模塊110是否準備好接入運行著的計算設(shè)備100。運行著的計算設(shè)備100可以基于中平面120的接口控制寄存器706確定熱插拔模塊110是否準備好接入運行著的計算設(shè)備100。例如,如果與熱插拔模塊110關(guān)聯(lián)的接口控制寄存器706具有被設(shè)定的中斷請求字段744以及指示就緒狀態(tài)(圖8的狀態(tài)3)的便簽式存儲器字段762,則運行著的計算設(shè)備100可以確定熱插拔模塊110準備好接入運行著的計算設(shè)備100。
      響應于確定熱插拔模塊110準備好接入運行著的計算設(shè)備100,在框932(圖9C)運行著的計算設(shè)備100可以清除被識別的熱插拔模塊110的未完熱插拔中斷。運行著的計算設(shè)備100可以通過清除缺省開關(guān)624的中斷請求字段744而清除熱插拔中斷。
      在框934,運行著的計算設(shè)備100可以識別由熱插拔模塊110提供的處理器230,并可以將被識別的處理器230添加到運行著的計算設(shè)備100的處理器池。例如,運行著的計算設(shè)備100可以基于熱插拔模塊110的系統(tǒng)復位寄存器識別熱插拔模塊110的處理器230,并且可以使被識別的處理器230被添加到運行著的計算設(shè)備100的處理器池中。此外,運行著的計算設(shè)備100可以使被識別的處理器230從運行著的計算設(shè)備的操作系統(tǒng)的預定入口點開始執(zhí)行,使得操作系統(tǒng)可以調(diào)度處理器池的處理器上的進程和/或線程的執(zhí)行。
      在框936,運行著的計算設(shè)備100也可以識別由熱插拔模塊110提供的存儲器240,并且可以添加被識別的存儲器240到運行著的計算設(shè)備100上。例如,運行著的計算設(shè)備100可以基于熱插拔模塊110的存儲器交叉寄存器識別由熱插拔模塊110提供的存儲器240。此外,運行著的計算設(shè)備100可以添加被識別的存儲器240到操作系統(tǒng)的存儲器池中,使得操作系統(tǒng)可以從存儲器池分配存儲器給運行著的計算設(shè)備100的進程和/或線程。
      在框938,運行著的計算設(shè)備100還可以識別由熱插拔模塊110提供的I/O設(shè)備,并且可以添加被識別的I/O設(shè)備到運行著的計算設(shè)備100。運行著的計算設(shè)備100可以利用ASL方法來識別由熱插拔模塊110提供的或耦合到熱插拔模塊110的I/O設(shè)備。運行著的計算設(shè)備100還可以初始化用于被識別的I/O設(shè)備的設(shè)備驅(qū)動器,以使被識別的I/O設(shè)備可被運行著的計算設(shè)備100的操作系統(tǒng)所訪問。
      在示例性實施例中,運行著的計算設(shè)備100可以一次僅允許一個熱插拔模塊110通過模塊存在狀態(tài)(圖8的狀態(tài)1)并且接入運行著的計算設(shè)備100。運行著的計算設(shè)備100可以維持全局過渡標記,該標記指示熱插拔添加是否已經(jīng)在進行中。由于熱插拔模塊110已被有效地接入運行著的計算設(shè)備100,所以在框940運行著的計算設(shè)備100可以更新過渡標記以指示沒有熱插拔添加在進行中,使得另一個熱插拔模塊110可以進行熱插拔添加。
      在框942,運行著的計算設(shè)備100可以對開關(guān)624編程以指示熱插拔模塊110和關(guān)聯(lián)的通信接口628的接入狀態(tài)(圖8的狀態(tài)4)。特別地,運行著的計算設(shè)備100可以對關(guān)聯(lián)的接口控制寄存器706的便簽式存儲器字段762編程以指示接入狀態(tài)。
      在框944,運行著的計算設(shè)備100可以更新開關(guān)624的探聽過濾器640。例如,如果熱插拔模塊110包括存儲器高速緩存232、512,那么運行著的計算設(shè)備100可以更新探聽過濾器640的有效矢量646來將熱插拔模塊110和關(guān)聯(lián)的通信接口628標記為有效探聽代理。通過將它們標記為有效探聽代理,探聽過濾器640可以跟蹤從熱插拔模塊110接收的探聽結(jié)果,并且響應指向熱插拔模塊110的高速緩存線的探聽請求。或者,探聽過濾器640可以維持存儲設(shè)備644的存在矢量以指示在熱插拔模塊110上存在哪個高速緩存線,或使能熱插拔模塊110的專用探聽過濾器640。
      在框950(圖9A),運行著的計算設(shè)備100可以確定熱插拔模塊110是否已經(jīng)放棄熱插拔添加過程。運行著的計算設(shè)備100可以基于中平面120的接口控制寄存器706確定熱插拔模塊110是否已經(jīng)放棄熱插拔添加過程。忙狀態(tài)或就緒狀態(tài)的便簽式存儲器字段762可以指示關(guān)聯(lián)的熱插拔模塊110正被添加到運行著的計算設(shè)備100。此外,被清除的幀檢測字段可以指示關(guān)聯(lián)的熱插拔模塊11不再與中平面120通信,而設(shè)定的GPIO1狀態(tài)字段754可以指示從熱插拔模塊110的移除請求機構(gòu)270接收到移除請求信號。因此,如果關(guān)聯(lián)接口控制寄存器706具有指示忙狀態(tài)或就緒狀態(tài)(圖8的狀態(tài)2或3)的便簽式存儲器字段762并且具有被設(shè)定的GPIO1狀態(tài)字段754或被清除的幀檢測字段756,則運行著的計算設(shè)備100可以確定熱插拔模塊110已經(jīng)中止熱插拔添加。
      響應于確定熱插拔模塊110已經(jīng)中止熱插拔添加,在框952(圖9D)運行著的計算設(shè)備100可以禁用與被識別的熱插拔模塊110關(guān)聯(lián)的通信接口628。運行著的計算設(shè)備100可以通過清除關(guān)聯(lián)的接口控制寄存器706的接口使能字段746來禁用通信接口628。在框954,運行著的計算設(shè)備100還可以對開關(guān)624編程以指示關(guān)聯(lián)的通信接口628的忙狀態(tài)(圖8的狀態(tài)2)。特別的,運行著的計算設(shè)備100可以對關(guān)聯(lián)的接口控制寄存器706的便簽式存儲器字段762編程以指示忙狀態(tài)。運行著的計算設(shè)備100還可以更新過渡標記以指示由于被識別的熱插拔模塊110已經(jīng)中止熱插拔添加過程,因此沒有熱插拔添加在進行中(框956)。于是,另一個熱插拔模塊110可以進行熱插拔添加過程。
      在框958,運行著的計算設(shè)備100可以清除熱插拔模塊的熱插拔中斷,并且可以提供對運行著的計算設(shè)備100辨別處對熱插拔添加的放棄的指示。例如,運行著的計算設(shè)備100可以清除熱插拔中斷并對熱插拔模塊110的狀態(tài)指示器260編程,以通過設(shè)定與狀態(tài)指示器260和移除請求機構(gòu)270關(guān)聯(lián)的GPIO0狀態(tài)字段752和GPIO0使能字段748,來指示對熱插拔模塊110的熱插拔移除在進行中。
      在框960(圖9A),運行著的計算設(shè)備100確定熱插拔模塊110是否已經(jīng)從運行著的計算設(shè)備100被物理移除。運行著的計算設(shè)備100可以基于中平面120的接口控制寄存器706確定熱插拔模塊110是否已經(jīng)被物理移除。特別的,如果與熱插拔模塊110關(guān)聯(lián)的接口控制寄存器706具有指示模塊存在狀態(tài)(圖8的狀態(tài)1)的便簽式存儲器字段762和被清除的模塊存在字段740,則運行著的計算設(shè)備100可以確定熱插拔模塊110已經(jīng)被物理移除。
      響應于確定熱插拔模塊110已經(jīng)被物理移除,在框962(圖9E)運行著的計算設(shè)備100可以對開關(guān)624編程以指示關(guān)聯(lián)的通信接口628的無模塊存在狀態(tài)(圖8的狀態(tài)0)。為此,運行著的計算設(shè)備100可以對關(guān)聯(lián)的接口控制寄存器706的便簽式存儲器字段762編程以指示無模塊存在狀態(tài)。運行著的計算設(shè)備100還可以清除熱插拔模塊110的熱插拔中斷(框964)。例如,運行著的計算設(shè)備100可以清除與熱插拔模塊110關(guān)聯(lián)的缺省開關(guān)624的中斷請求字段744。
      在框966(圖9A),運行著的計算設(shè)備100可以確定熱插拔模塊110是否可以進行熱插拔添加。為此,運行著的計算設(shè)備100可以響應于確定過渡標記沒有指示在進行另一個熱插拔添加,確定要進行熱插拔添加。
      響應于確定不進行熱插拔添加,運行著的計算設(shè)備100可以退出和停止處理熱插拔中斷。否則,運行著的計算設(shè)備100可以在框970確定正被移除的熱插拔模塊110是否已經(jīng)與運行著的計算設(shè)備100解除通信鏈接。如果與熱插拔模塊110關(guān)聯(lián)的接口控制寄存器706具有被清除的幀檢測字段756,并且具有指示忙狀態(tài)、就緒狀態(tài)或接入狀態(tài)(圖8的狀態(tài)2、3或4)的便簽式存儲器,則運行著的計算設(shè)備100可以確定正離開的熱插拔模塊110沒有建立通信。
      響應于確定正離開熱插拔模塊110已經(jīng)停止通信,在框972運行著的計算設(shè)備100可以對開關(guān)624編程以將熱插拔模塊110從運行著的計算設(shè)備100隔離。運行著的計算設(shè)備100可以對開關(guān)624的遠程模塊定義寄存器778編程以指示沒有熱插拔模塊110被耦合到關(guān)聯(lián)的耦合器122。對于處理器/存儲器HPM和存儲器HPM,運行著的計算設(shè)備100還可以對存儲器交叉寄存器770編程以指示沒有存儲器資源被耦合到關(guān)聯(lián)的耦合器122。對于I/O存儲器HPM,運行著的計算設(shè)備100還可以對I/O映射寄存器780編程以指示沒有I/O資源被耦合到關(guān)聯(lián)的耦合器122。
      在框974,運行著的計算設(shè)備100可以提供對熱插拔模塊110可以從中平面120上解除物理耦合并從運行著的計算設(shè)備100移除的指示。運行著的計算設(shè)備100可以對熱插拔模塊110的狀態(tài)指示器260編程以指示熱插拔模塊110可以從運行著的計算設(shè)備100物理移除,這通過了(i)清除與被耦合到狀態(tài)指示器260的GPIO0管腳630關(guān)聯(lián)的GPIO0狀態(tài)字段752和GPIO0使能字段748,以及(ii)設(shè)定與被耦合到狀態(tài)指示器260的GPIO1管腳632關(guān)聯(lián)的GPIO1狀態(tài)字段754和GPIO1使能字段750。
      在框976,運行著的計算設(shè)備100還可以對開關(guān)編程以通過對關(guān)聯(lián)的接口控制寄存器706的便簽式存儲器字段762編程來指示模塊存在狀態(tài)(圖8的狀態(tài)1)。運行著的計算設(shè)備100也可以清除熱插拔模塊110的熱插拔中斷(框978)。例如,運行著的計算設(shè)備100可以清除與熱插拔模塊110關(guān)聯(lián)的缺省開關(guān)624的中斷請求字段744。
      在框980(圖9A),運行著的計算設(shè)備100可以確定正被添加的熱插拔模塊110是否已經(jīng)建立起與運行著的計算設(shè)備100的通信鏈接。在示例性實施例中,如果與熱插拔模塊110關(guān)聯(lián)的接口控制寄存器706具有指示模塊存在狀態(tài)(圖8的狀態(tài)1)的便簽式存儲器字段762、被設(shè)定的幀檢測字段756以及被設(shè)定的確認檢測字段758,則運行著的計算設(shè)備100可以確定正接入的熱插拔模塊110已經(jīng)開始通信。
      響應于確定正被添加的熱插拔模塊110已經(jīng)建立起通信鏈接,在框981(圖9G)運行著的計算設(shè)備100可以清除熱插拔模塊110的熱插拔中斷。例如,運行著的計算設(shè)備100可以清除與熱插拔模塊110關(guān)聯(lián)的缺省開關(guān)624的中斷請求字段744。在框982運行著的計算設(shè)備100還可以對開關(guān)編程以通過對關(guān)聯(lián)的接口控制寄存器706的便簽式存儲器字段762編程來指示熱插拔模塊110的忙狀態(tài)(圖8的狀態(tài)2)。在框984,運行著的計算設(shè)備100可以更新過渡標記以指示熱插拔添加在進行中,并且以防止其他熱插拔模塊110開始熱插拔添加。
      在框986,熱插拔模塊110可以配置它自身的部件。例如,熱插拔模塊110可以將它的一個處理器230配置為節(jié)點啟動捆綁處理器(Boot StrapProcessor)。熱插拔模塊110還可以初始化它的存儲器240,并且可以對它的存儲器接口寄存器772編程以適當?shù)貙⒌刂贩秶峙涞剿拇鎯ζ?40和運行著的計算設(shè)備100的其他存儲器240中。熱插拔模塊110也可以對它的系統(tǒng)復位寄存器772編程以識別熱插拔模塊110的活動處理器230,并且對它的I/O映射寄存器編程以適當?shù)貙⒋鎯ζ鞣秶峙浣o它的I/O設(shè)備。
      在配置它的部件之后,在框988熱插拔模塊110可以發(fā)信號通知運行著的計算設(shè)備100它準備好接入了。為此,熱插拔模塊可以對開關(guān)624編程以通過對關(guān)聯(lián)的接口控制寄存器706的便簽式存儲器字段762編程來指示熱插拔模塊110的就緒狀態(tài)(圖8的狀態(tài)3)。熱插拔模塊110可以通過設(shè)定缺省開關(guān)624的關(guān)聯(lián)的中斷請求字段744來引發(fā)產(chǎn)生熱插拔中斷。
      在框992(圖9A),運行著的計算設(shè)備100可以確定熱插拔模塊110是否已經(jīng)被耦合到中平面120的之前空閑的耦合器122。熱插拔監(jiān)視器634可以響應于熱插拔模塊110正被耦合到關(guān)聯(lián)的耦合器122而設(shè)定關(guān)聯(lián)的模塊存在字段740。因此,如果關(guān)聯(lián)的接口寄存器706具有指示無模塊存在狀態(tài)(圖8的狀態(tài)0)的便簽式存儲器762、被設(shè)定的模塊存在字段740以及被清除的接口使能字段746,則運行著的計算設(shè)備100可以確定熱插拔模塊110已經(jīng)被耦合到空閑耦合器122。
      響應于確定熱插拔模塊110已經(jīng)被耦合到空閑耦合器122,在框994(圖9H)運行著的計算設(shè)備100可以對開關(guān)624編程以指示與熱插拔模塊110關(guān)聯(lián)的通信接口628的模塊存在狀態(tài)(圖8的狀態(tài)1)。為此,運行著的計算設(shè)備100可以對關(guān)聯(lián)的接口控制寄存器706編程以指示模塊存在狀態(tài)。此外,在框996運行著的計算設(shè)備100可以使能與熱插拔模塊110關(guān)聯(lián)的通信接口628在熱插拔模塊110和中平面120之間建立通信鏈接。運行著的計算設(shè)備100可以通過設(shè)定開關(guān)624的關(guān)聯(lián)的接口使能字段746使能通信接口628。運行著的計算設(shè)備100還可以清除熱插拔模塊110的熱插拔中斷(框997)。例如,運行著的計算設(shè)備100可以清除與熱插拔模塊110關(guān)聯(lián)的缺省開關(guān)624的中斷請求字段774。
      響應于被耦合到中平面120,在框998熱插拔模塊110可以初始化熱插拔模塊110的部件,并且可以執(zhí)行自我測試。例如,在熱插拔模塊110的通信接口214被禁用時,熱插拔模塊110的處理器230或系統(tǒng)管理處理器636可以初始化部件和/或進行自我測試。熱插拔模塊110的耦合器112可以包括開關(guān)(未示出),該開關(guān)可以響應于禁用關(guān)聯(lián)的通信接口214,將熱插拔模塊110在數(shù)據(jù)、控制、中斷和/或其他信號上與來自運行著的計算設(shè)備100的數(shù)據(jù)、控制和/或其他信號隔開。
      在示例性實施例中,在框999熱插拔模塊110可以確定熱插拔模塊110是否已經(jīng)通過自我測試。響應確定熱插拔模塊110自我測試失敗,在框1000熱插拔模塊110可以放棄熱插拔添加。通過在使能它的通信接口214之前放棄熱插拔添加過程,熱插拔模塊110可以減少由于熱插拔模塊110的誤操作造成運行著的計算設(shè)備100崩潰的可能性。
      響應于通過自我測試,在框1001熱插拔模塊110可以使能它的通信接口214以建立與開關(guān)624的通信接口628的通信鏈接,并且將熱插拔模塊110的信號耦合到運行著的計算設(shè)備100的信號上。例如,熱插拔模塊110的處理器230或中平面120的系統(tǒng)管理處理器636可以通過設(shè)定熱插拔模塊110的關(guān)聯(lián)的接口使能字段746使能通信接口214。
      在框1002,熱插拔模塊110的被使能的通信接口214可以建立與中平面120的通信接口628的通信鏈接。通信接口214、628可以響應于被使能而啟動幀處理。作為幀處理的結(jié)果,與通信接口214、628關(guān)聯(lián)的接口邏輯704可以響應于檢測到預定數(shù)目的幀分組設(shè)定幀檢測字段756,并且可以響應于檢測到預定數(shù)目的確認分組設(shè)定確認檢測字段758。應該理解,缺省開關(guān)624可以響應于檢測到預定數(shù)目的幀分組和設(shè)定缺省開關(guān)624的幀檢測字段756產(chǎn)生熱插拔中斷。
      盡管已經(jīng)參考示例性實施例對本發(fā)明的某些特征進行了說明,但是該說明并不意圖被解釋為限制意義的。那些對本發(fā)明所屬領(lǐng)域的普通技術(shù)人員明顯的對示例性實施例的各種修改以及本發(fā)明的其他實施例,被視為落入本發(fā)明的精神和范圍之內(nèi)。
      權(quán)利要求
      1.一種向運行著的計算設(shè)備添加一個或多個高速緩存代理的方法,包括響應于熱插拔模塊被物理耦合到所述運行著的計算設(shè)備,識別由所述熱插拔模塊提供的所述一個或多個高速緩存代理;以及將所述熱插拔模塊的被識別的高速緩存代理添加到所述運行著的計算設(shè)備的資源池。
      2.如權(quán)利要求1的方法,還包括響應于確定所述熱插拔模塊已經(jīng)被物理耦合到所述運行著的計算設(shè)備,使能與所述熱插拔模塊關(guān)聯(lián)的所述運行著的計算設(shè)備的通信接口。
      3.如權(quán)利要求2的方法,還包括執(zhí)行對所述熱插拔模塊的自我測試;以及響應于通過所述自我測試,使能所述熱插拔模塊的通信接口建立與所述運行著的計算設(shè)備的通信接口的通信鏈接。
      4.如權(quán)利要求2的方法,還包括初始化所述熱插拔模塊,并且在初始化所述熱插拔模塊之后,使能所述熱插拔模塊的所述通信接口建立與所述運行著的計算設(shè)備的通信接口的通信鏈接。
      5.如權(quán)利要求1的方法,其中所述添加步驟包括添加所述被識別的高速緩存代理的一個或多個存儲器高速緩存處理器到所述運行著的系統(tǒng)的處理器池。
      6.如權(quán)利要求1的方法,其中所述添加步驟包括添加所述被識別的高速緩存代理的一個或多個存儲器高速緩存輸入/輸出中心到所述運行著的系統(tǒng)的輸入/輸出設(shè)備池。
      7.如權(quán)利要求1的方法,還包括響應于所述熱插拔模塊被物理耦合到所述運行著的計算設(shè)備,識別所述熱插拔模塊的存儲器;以及添加所述熱插拔模塊的被識別的存儲器到所述運行著的計算設(shè)備的存儲器池。
      8.一種向運行著的計算設(shè)備添加存儲器的方法,包括響應于所述熱插拔模塊被物理耦合到所述運行著的計算設(shè)備,識別所述熱插拔模塊的存儲器;以及添加所述熱插拔模塊的被識別的存儲器到所述運行著的計算設(shè)備的存儲器池。
      9.如權(quán)利要求8的方法,還包括響應于確定所述熱插拔模塊已經(jīng)被物理耦合到所述運行著的設(shè)備,使能與所述熱插拔模塊關(guān)聯(lián)的所述運行著的計算設(shè)備的通信接口。
      10.如權(quán)利要求8的方法,還包括執(zhí)行對所述熱插拔模塊的自我測試;以及響應于通過所述自我測試,使能所述熱插拔模塊的通信接口建立與所述運行著的計算設(shè)備的通信接口的通信鏈接。
      11.一種從運行著的計算設(shè)備移除包括一個或多個存儲器高速緩存的熱插拔模塊的方法,包括響應于熱插拔移除請求,識別所述熱插拔模塊的資源;使所述熱插拔模塊將所述一個或多個存儲器高速緩存的被修改的高速緩存線回寫到所述運行著的計算設(shè)備;以及從所述運行著的計算設(shè)備的各個資源池移除所述被識別的資源。
      12.如權(quán)利要求11的方法,還包括響應于所述熱插拔移除請求,提供熱插拔移除在進行中的指示。
      13.如權(quán)利要求12的方法,還包括在從所述運行著的計算設(shè)備移除所述被識別的資源之后,提供所述熱插拔模塊可以被移除的指示;以及禁用所述運行著的計算設(shè)備的通信接口以將所述熱插拔模塊從所述運行著的計算設(shè)備隔開。
      14.如權(quán)利要求11的方法,還包括為與所述熱插拔模塊關(guān)聯(lián)的未完事務(wù)結(jié)束而等待一段預定的時間;以及在等待了所述的預定時間之后,禁用所述運行著的計算設(shè)備的通信接口以將所述熱插拔模塊從所述運行著的計算設(shè)備隔開。
      15.如權(quán)利要求11的方法,還包括在確定所有與所述熱插拔模塊關(guān)聯(lián)的事務(wù)都已經(jīng)結(jié)束之后,禁用所述運行著的計算設(shè)備的通信接口以將所述熱插拔模塊從所述運行著的計算設(shè)備隔開。
      16.一種用于中斷處理的機器可讀介質(zhì),包括多條指令,所述指令響應于被執(zhí)行使得計算設(shè)備響應于熱插拔中斷,檢查與用于與具有高速緩存代理的多個熱插拔模塊通信的多個通信接口關(guān)聯(lián)的多個接口控制寄存器;以及基于所述多個接口控制寄存器,識別多個熱插拔事件中哪個引發(fā)了熱插拔中斷。
      17.如權(quán)利要求16的機器可讀介質(zhì),其中所述多條指令響應于被執(zhí)行還使得計算設(shè)備基于所述多個接口控制寄存器中與所述多個熱插拔模塊中的熱插拔模塊關(guān)聯(lián)的接口控制寄存器,確定是否已經(jīng)請求了對所述熱插拔模塊的熱插拔添加或熱插拔移除。
      18.如權(quán)利要求17的機器可讀介質(zhì),其中所述多條指令響應于被執(zhí)行還使得計算設(shè)備響應于與所述熱插拔模塊關(guān)聯(lián)的所述接口控制寄存器指示了所述熱插拔模塊的未完熱插拔中斷和接入狀態(tài),確定已經(jīng)請求了對所述熱插拔模塊的熱插拔移除。
      19.如權(quán)利要求18的機器可讀介質(zhì),其中所述多條指令響應于被執(zhí)行還使得計算設(shè)備使所述熱插拔模塊將被修改的高速緩存線回寫到所述運行著的計算設(shè)備;以及從所述計算設(shè)備移除所述熱插拔模塊的資源。
      20.如權(quán)利要求16的機器可讀介質(zhì),其中所述多條指令響應于被執(zhí)行還使得計算設(shè)備確定已經(jīng)請求了對所述熱插拔模塊的熱插拔移除;為與所述熱插拔模塊關(guān)聯(lián)的未完事務(wù)結(jié)束而等待一段預定的時間;以及在等待了所述的預定時間之后,禁用所述運行著的計算設(shè)備的通信接口以將所述熱插拔模塊從所述運行著的計算設(shè)備隔開。
      21.如權(quán)利要求16的機器可讀介質(zhì),其中所述多條指令響應于被執(zhí)行還使得計算設(shè)備確定已經(jīng)請求了對所述熱插拔模塊的熱插拔移除;以及在確定所有與所述熱插拔模塊關(guān)聯(lián)的事務(wù)都已經(jīng)結(jié)束之后,禁用所述計算設(shè)備的通信接口以將所述熱插拔模塊從所述計算設(shè)備隔開。
      22.如權(quán)利要求16的機器可讀介質(zhì),其中所述多條指令響應于被執(zhí)行還使得計算設(shè)備響應于所述接口控制寄存器指示所述關(guān)聯(lián)的通信接口被禁用、模塊被耦合到所述關(guān)聯(lián)的通信接口、以及所述關(guān)聯(lián)的通信接口處于無模塊存在狀態(tài),確定已經(jīng)請求了對所述熱插拔模塊的熱插拔添加。
      23.如權(quán)利要求22的機器可讀介質(zhì),其中所述多條指令響應于被執(zhí)行還使得計算設(shè)備響應于確定已經(jīng)請求了對所述熱插拔模塊的熱插拔添加并且沒有其他熱插拔添加在進行中,添加所述熱插拔模塊的資源到所述運行著的計算設(shè)備。
      24.一種熱插拔模塊,包括耦合器,用于可拆卸地將所述熱插拔模塊耦合到運行著的計算設(shè)備;通信接口,用來響應于被使能而建立與所述運行著的計算設(shè)備的通信鏈接,以及響應于被禁用而解除所述通信鏈接;與所述通信接口關(guān)聯(lián)的接口控制寄存器,用來指示和控制所述通信接口是否被使能或禁用;以及處理器和關(guān)聯(lián)的存儲器高速緩存,所述處理器基于所述熱插拔模塊是否準備好接入運行著的計算設(shè)備,對所述接口控制寄存器編程以使能和禁用所述通信接口。
      25.如權(quán)利要求24的熱插拔模塊,其中響應于請求對所述熱插拔模塊的熱插拔移除,所述處理器將所述存儲器高速緩存的高速緩存線回寫到所述運行著的計算設(shè)備。
      26.如權(quán)利要求25的熱插拔模塊,其中所述熱插拔模塊包括指示所述熱插拔模塊的熱插拔狀態(tài)的狀態(tài)指示器。
      27.如權(quán)利要求26的熱插拔模塊,其中所述處理器響應于請求對所述熱插拔模塊的熱插拔添加,執(zhí)行對所述熱插拔模塊的自我測試;以及響應于確定所述熱插拔模塊通過所述自我測試,使能所述通信接口。
      28.一種計算設(shè)備,包括中平面,包括耦合器和跟蹤與所述耦合器關(guān)聯(lián)的狀態(tài)的熱插拔接口;熱插拔模塊,包括可拆卸地將所述熱插拔模塊耦合到所述中平面的耦合器的耦合器以及通過所述熱插拔模塊的熱插拔接口被耦合到所述熱插拔模塊的耦合器的資源,所述熱插拔模塊更新所述中平面的所述熱插拔接口的狀態(tài)以指示何時所述資源準備好接入所述計算設(shè)備;以及處理器,被耦合到所述中平面的所述熱插拔接口,所述處理器響應于確定所述中平面的所述熱插拔接口指示所述資源準備好接入,將所述資源添加到所述計算設(shè)備,而不用重啟。
      29.如權(quán)利要求28的計算設(shè)備,其中所述中平面包括熱插拔監(jiān)視器,所述熱插拔監(jiān)視器為所述中平面的熱插拔接口提供一個信號,所述信號指示所述熱插拔模塊的耦合器是否已經(jīng)被耦合到所述中平面的耦合器,以及所述處理器響應于指示所述熱插拔模塊的耦合器是否已經(jīng)被耦合到所述中平面的耦合器的信號中的變化,對所述中平面的熱插拔接口編程以產(chǎn)生熱插拔中斷。
      30.如權(quán)利要求28的計算設(shè)備,其中所述中平面的熱插拔接口檢測是否從所述熱插拔模塊的熱插拔接口接收到幀分組,以及所述處理器響應于幀分組接收中的變化,對所述中平面的熱插拔接口編程以產(chǎn)生熱插拔中斷。
      31.一種計算設(shè)備的中平面,包括多個耦合器,用來可拆卸地將熱插拔模塊耦合到所述中平面;至少一個開關(guān),用來互連所述多個耦合器,所述至少一個開關(guān)包括多個通信接口和多個接口控制寄存器,所述多個通信接口用來建立與被耦合到所述多個耦合器的熱插拔模塊的通信鏈接,所述多個接口控制寄存器用來控制所述多個通信接口。
      32.如權(quán)利要求31的中平面,還包括系統(tǒng)管理處理器,用來初始化被耦合到所述多個耦合器的熱插拔模塊。
      33.如權(quán)利要求32的中平面,其中所述多個接口控制寄存器跟蹤所述多個通信接口和關(guān)聯(lián)的熱插拔模塊的狀態(tài)。
      34.如權(quán)利要求31的中平面,其中所述開關(guān)提供關(guān)于所有與要被移除的熱插拔模塊關(guān)聯(lián)的未完事務(wù)何時都已結(jié)束的指示。
      全文摘要
      包括處理器、存儲器和/或I/O中心的熱插拔模塊,可以被添加到運行著的計算設(shè)備和從該運行著的計算設(shè)備移除,而不用重啟所述運行著的計算設(shè)備。熱插拔模塊和計算設(shè)備包括支持熱插拔模塊的熱插拔添加和熱插拔移除的熱插拔接口。
      文檔編號G06F13/40GK1639702SQ02825789
      公開日2005年7月13日 申請日期2002年11月27日 優(yōu)先權(quán)日2001年12月19日
      發(fā)明者夏夫南丹·考??? 詹姆斯·克羅斯蘭, 莫漢·庫馬爾, 琳達·蘭金, 戴維·奧謝, 岑玲 申請人:英特爾公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1