欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

處理嚴(yán)重硬件錯誤的方法及設(shè)備的制作方法

文檔序號:6609808閱讀:893來源:國知局
專利名稱:處理嚴(yán)重硬件錯誤的方法及設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明的技術(shù)領(lǐng)域是數(shù)據(jù)處理,更具體地說是用于處理嚴(yán)重計算 機硬件錯誤的方法、系統(tǒng)和產(chǎn)品。
技術(shù)背景1948年的EDVAC計算機系統(tǒng)的出現(xiàn)常常被稱為計算機時代的開 始。自那時以來,計算機系統(tǒng)已發(fā)展成了極復(fù)雜的設(shè)備。今天的計算 機比諸如EDVAC的早期系統(tǒng)更加復(fù)雜。計算機系統(tǒng)通常包括硬件和軟 件部件、應(yīng)用程序、操作系統(tǒng)、處理器、總線、存儲器、輸入/輸出 設(shè)備等的組合。隨著半導(dǎo)體工藝和計算機體系結(jié)構(gòu)的進步推動計算機 性能越來越高,已演變出更復(fù)雜的計算機軟件以利用硬件的更高性能, 這導(dǎo)致了當(dāng)前的計算機系統(tǒng)比僅僅幾年前的更強。已有較大進步的計算機技術(shù)的一個領(lǐng)域是處理嚴(yán)重的計算機硬件 錯誤。硬件錯誤是與計算機系統(tǒng)中硬件部件的故障有關(guān)的行為,硬件 部件,通常是芯片組(chipset)中的芯片,包含可以檢測硬件錯誤狀 態(tài)何時存在的錯誤檢測機制。芯片組是一組集成電路(芯片),其被設(shè)計成能一起工作,通常 作為單個產(chǎn)品上市。芯片組的廠商可以是,并且通常是與母板的廠商 無關(guān)的。母板芯片組的例子包括NVIDIA的nForce芯片組和VIA技術(shù)的 KT800, 二者都用于AMD處理器,或Intel的若干芯片組之一。當(dāng)討論 基于現(xiàn)代Intel Pentium級系統(tǒng)的個人計算機時,術(shù)語"芯片組"通常是 指兩個主總線適配器,即北橋和南橋。通常在計算機技術(shù)中,術(shù)語" 芯片組,,常常用來指計算機或擴展卡上的專用母板芯片。木語"芯片組 ,,在八十年代和九十年代還被廣泛地用于家用計算機中的定制音頻和 圖形芯片,當(dāng)今的游戲控制臺和街機游戲硬件.例子包括Commodore Amiga的Original芯片組或SEGA的System 16芯片組。在本文中,術(shù)語 "芯片組"用來指計算機的主要集成電路部件,包括處理器、存儲器模 塊和總線適配器。自80年代后期以來所生產(chǎn)的計算機系統(tǒng)通常共享通常所使用的芯 片組,甚至在非常不同的計算專業(yè)(specialty)之間共享 一 例如NCR 53C9x,實現(xiàn)到存儲設(shè)備等的SCSI接口的廉價芯片組等等不僅可在 UNIX機器(例如MIPSMagmim)中發(fā)現(xiàn),而且還可在嵌入式設(shè)備和 個人計算機中發(fā)現(xiàn)?,F(xiàn)代服務(wù)器對專用芯片組的依賴程度與對專用處理器和母板的依 賴程度是一樣的。芯片組往往意味著母板;因此,具有相同芯片組的 任何兩個服務(wù)器板通常都是功能相同的,除非廠商給由芯片組所提供 的那些特性增加特性或移除對某些芯片組特性的支持。例如,廠商可 能增加額外芯片來支持附加特性,例如第二個10Mbps以太網(wǎng)、 100Mbps高速以太網(wǎng)或1000Mbps千兆比特以太網(wǎng)端口 。芯片組通常包括經(jīng)常被稱為"前端總線"的處理器總線適配器、存 儲器控制器、1/0控制器、存儲器模塊等。存儲器控制器可被集成到總 線適配器中。例如,用于服務(wù)器和工作站的AMDOpteron處理器內(nèi)置 有存儲器控制器;因此,支持Opteron處理器的芯片組(或?qū)⒋鎯ζ?控制器集成到總線適配器的其它芯片組)通常不包括單獨的存儲器控 制器芯片。在典型服務(wù)器中,母板上所有主集成電路都被包括在芯片組內(nèi)。 在典型計算機中,芯片組的芯片實現(xiàn)處理器和所有其它部件之間的連 接。大多數(shù)情況下,在不通過芯片組的其它芯片的情況下,處理器不 能與存儲器模塊、適配器板、外部設(shè)備等通信。雖然服務(wù)器芯片組被設(shè)計成執(zhí)行與臺式機芯片組相同類型的任 務(wù),但是就像典型臺式機芯片組一樣,包含在典型服務(wù)器芯片組中的 特性組強調(diào)穩(wěn)定性,而不是性能.諸如對糾錯碼("ECC")存儲器的 支持、存儲器的高級糾錯、系統(tǒng)管理和消除超頻選項的服務(wù)器特定芯 片組特性表明了對穩(wěn)定性的強調(diào).硬件錯誤通常涉及到的計算機部件包括固件或操作系統(tǒng)中的中斷
處理程序模塊。固件是存儲在非易失存儲器中的計算機系統(tǒng)級軟件沖莫 塊,以便當(dāng)?shù)谝淮螌τ嬎銠C加電時,在操作系統(tǒng)被引導(dǎo)之前,可用于迅速運行。固件提供引導(dǎo)程序、硬件錯誤處理程序以及某些低級1/0 程序。固件的非常常見的例子是所謂的基本輸入輸出系統(tǒng)("BIOS")。 在用于處理計算機硬件錯誤的常規(guī)體系結(jié)構(gòu)中,在檢測到芯片操作中 的錯誤時,芯片通過在硬連接的中斷信號線上向可編程中斷控制器發(fā) 出中斷來通知出錯。然后可編程中斷控制器向處理器發(fā)中斷信號,處 理器將中斷引導(dǎo)到BIOS或操作系統(tǒng)中的中斷處理程序(調(diào)用"中斷處 理程序")。作為硬件錯誤的結(jié)果而發(fā)出的中斷可通過硬件自身,通過BIOS 或操作系統(tǒng)錯誤處理程序,或通過作為異常處理程序向操作系統(tǒng)登記 的用戶級應(yīng)用程序來校正。硬件錯誤可被分類為可校錯誤或不可校錯 誤??尚ee誤是已被計算機硬件或計算機固件在操作系統(tǒng)被通知錯誤 狀態(tài)存在時進行校正的硬件錯誤狀態(tài)。不可校錯誤是不能被硬件或被 固件校正的硬件錯誤狀態(tài)。不可校錯誤或是嚴(yán)重的,或是不嚴(yán)重的。 嚴(yán)重的硬件錯誤是被確定為不可由硬件校正的不可校的或不可控制的 錯誤狀態(tài)。當(dāng)嚴(yán)重不可校錯誤發(fā)生時,系統(tǒng)被暫停以防止錯誤的傳播。 非嚴(yán)重的硬件錯誤是操作系統(tǒng)通過設(shè)法校正錯誤可以試圖從其恢復(fù)的 不可校錯誤狀態(tài)。可以是嚴(yán)重的硬件錯誤的例子包括被零除錯誤、邊 界檢查錯誤、無效操作碼錯誤、存儲器段溢出錯誤、無效任務(wù)狀態(tài)錯 誤、堆棧錯誤,以及其它為本領(lǐng)域的技術(shù)人員所知的錯誤。區(qū)分硬件錯誤報告的源和硬件錯誤的原因是有用的。硬件錯誤源 是提醒操作系統(tǒng)錯誤狀態(tài)的存在的任何芯片。硬件錯誤源的例子包括 處理器機器校驗異常(例如MC弁)*芯片組錯誤消息信號(例如SCI、 SMISERR弁、MCERR#)* 1/0總線錯誤報告(例如PCI EXPRESS根端口錯誤中斷) 1/0設(shè)備錯誤單個硬件錯誤源可能處理不止一個類型的硬件錯誤狀態(tài)的合計錯 誤報告。例如,處理器的機器校驗異常通常報告處理器錯誤、高速緩存和存儲器錯誤,以及系統(tǒng)總線錯誤。注意到,系統(tǒng)管理中斷('SMI') 通常由固件處理;操作系統(tǒng)通常不處理SMI。 硬件錯誤源通常由下列表示* 一個或多個硬件錯誤狀態(tài)寄存器。* 一個或多個硬件錯誤配置或控制寄存器。 提醒操作系統(tǒng)硬件錯誤狀態(tài)的存在的通知機制。在某些情況下,沒有顯式的通知機制,并且操作系統(tǒng)必須輪詢錯 誤狀態(tài)寄存器以測試錯誤狀態(tài)。然而,由于不可校錯誤需要操作系統(tǒng) 的立即注意,所以輪詢只能用于可校錯誤狀態(tài)。通常,中斷通過邊帶(sideband)信號被提供給處理器,邊帶信 號不會混入用于系統(tǒng)中的數(shù)據(jù)移動和指令獲取的帶內(nèi)總線中。'帶內(nèi) (in-band)總線,是攜帶用于執(zhí)行計算機上基本數(shù)據(jù)處理的計算機程序 指令和數(shù)據(jù)的總線-和'邊帶總線'不同,其僅攜帶用于在計算機的外 圍服務(wù)部件與芯片組的處理器、存儲器及其他芯片之間的服務(wù)通信的 指令和數(shù)據(jù)。這個方面的更新變化是低優(yōu)先級中斷被作為消息中斷處 理,而諸如SMI和NMI的很高優(yōu)先級中斷仍然被作為直接連線到處理 器的邊帶信號處理。同樣地,無需將數(shù)據(jù)完整性公開給系統(tǒng),最高優(yōu) 先級中斷(其包括,不可校錯誤')被保證由處理器立即處理。近來,許多計算機系統(tǒng)已經(jīng)開始將消息中斷使用于這些高優(yōu)先級 中斷,其與系統(tǒng)的數(shù)據(jù)和指令總線被混入帶內(nèi)總線。該方法具有某些 優(yōu)點,但是由于高優(yōu)先級中斷到達系統(tǒng)需要花費的時間量,以及在排 隊的消息中斷設(shè)法到達服務(wù)的處理器的同時潛在破壞的數(shù)據(jù)正流過系 統(tǒng)的事實,它打開了數(shù)據(jù)完整性孔。處理在帶內(nèi)總線上使用消息中斷的系統(tǒng)中的嚴(yán)重計算機硬件錯誤 的一個常規(guī)方法是允許某些不可校正的I/0錯誤,例如PCI SERR、 PERR和目標(biāo)中止由SMI或NMI處理程序形式的系統(tǒng)軟件來處理。因 為通過引起NMI或機器校驗而立即暫停系統(tǒng),所以其它不可救正的錯 誤導(dǎo)致操作系統(tǒng)'藍(lán)屏'.在此類系統(tǒng)中,為了故陣分析,機器通常被 保留在故障狀態(tài)中,即凍結(jié)在藍(lán)屏狀態(tài),直到計算機被手工重新啟動。處理使用超級傳送(HyperTransport)帶內(nèi)總線的計算機中的嚴(yán) 重計算機硬件錯誤的另 一個常規(guī)方式是設(shè)計一個系統(tǒng),使得該系統(tǒng)對于某些或全部不可校正的錯誤進入超級傳送同步包洪水(sync flood )。 此類系統(tǒng)試圖在寄存器中使用所謂的,粘附位(stocky bit)',其被用 于不可校正的錯誤的識別。此類系統(tǒng)在檢測到超級傳送同步包洪水時 重新啟動系統(tǒng),并且重新啟動之后,取決于能夠成功運行的BIOS,系 統(tǒng)讀取粘附位并且診斷問題。此類系統(tǒng)可能需要額外的重新啟動,使 得它們可以根據(jù)從粘附位所獲悉的來采取行動,從而為了故障之后的 可靠操作來配置系統(tǒng)。這兩個常規(guī)解決方案都要求系統(tǒng)處理器能夠在重新啟動系統(tǒng)前后 在文件系統(tǒng)上運行。然而,對于嚴(yán)重硬件錯誤總存在系統(tǒng)在出現(xiàn)故障 之后根本不會重新啟動的風(fēng)險。此外,有關(guān)超級傳送總線的第二個解 決方案經(jīng)常要求在故障之后不止一次地重新啟動系統(tǒng)。這對于經(jīng)常將 此類額外重新啟動解釋為故障之后系統(tǒng)'擊潰'自身的用戶來說是非常 困惑的。此外,諸如多位存儲器錯誤、超級傳送總線的鏈接錯誤、PCI 錯誤等的某些錯誤可以是如此嚴(yán)重,以致導(dǎo)致固件或操作系統(tǒng)中斷處 理程序根本不能運行。這就意味著嚴(yán)重的硬件錯誤不能以詳細(xì)的、有 意義的方式得到記錄和診斷。所有已知的是系統(tǒng)崩潰。因此,通過固 件或操作系統(tǒng)中斷處理程序處理嚴(yán)重硬件錯誤總是承受至少某些數(shù)據(jù) 損失的風(fēng)險。發(fā)明內(nèi)容公開了用于處理計算機上的嚴(yán)重計算機硬件錯誤的方法及設(shè)備, 其包括當(dāng)出現(xiàn)嚴(yán)重硬件錯誤時,暫停計算機的數(shù)據(jù)處理操作;由芯片 組的源芯片通知可編程邏輯設(shè)備該嚴(yán)重硬件錯誤的出現(xiàn);由可編程邏 輯設(shè)備通知嵌入式系統(tǒng)微控制器該嚴(yán)重硬件錯誤的出現(xiàn);由嵌入式系 統(tǒng)微控制器通過至少一個邊帶總線,從芯片組的芯片中的寄存器讀取 有關(guān)嚴(yán)重硬件錯誤的原因的信息;以及由嵌入式系統(tǒng)微控制器將信息 存儲在嵌入式系統(tǒng)微控制器的非易失隨機訪問存儲器中。從以下如附圖所示的本發(fā)明的示范實施例的更多具體描述中將明 白本發(fā)明的上述以及其它目的、特性和優(yōu)點,其中類似參考標(biāo)記號碼 通常代表本發(fā)明的示范實施例的類似部分。


圖l根據(jù)本發(fā)明的實施例列出了可用于處理嚴(yán)重計算機硬件錯誤 的示例性計算機的方框圖。圖2根據(jù)本發(fā)明的實施例列出了圖解用于處理嚴(yán)重計算機硬件錯 誤的示例性方法的流程圖。
具體實施方式
從圖l開始參考附圖,其中描述了根據(jù)本發(fā)明的實施例用于處理嚴(yán) 重計算機硬件錯誤的示例性方法、系統(tǒng)和產(chǎn)品。作為該說明書中所使用的術(shù)語,'嚴(yán)重計算機硬件錯誤,是一種硬件錯誤,其不能由系統(tǒng)硬 件、固件中的中斷處理程序、操作系統(tǒng)中的中斷處理程序來校正,也 不能通過由用戶級應(yīng)用軟件向操作系統(tǒng)登記的任何異常處理程序校 正。嚴(yán)重硬件錯誤是一種由計算機中的硬件、芯片組的芯片確定的、 不可校正的錯誤狀態(tài)。所以在該說明書中,術(shù)語'嚴(yán)重硬件錯誤,與'不 可校正的硬件錯誤'被用作同義詞。當(dāng)嚴(yán)重硬件錯誤發(fā)生時,計算機上 的正常數(shù)據(jù)處理被暫停以防止錯誤和數(shù)據(jù)損壞的傳播。由可編程邏輯 設(shè)備和嵌入式系統(tǒng)微控制器進行的服務(wù)處理如下所述繼續(xù)進行。圖l根據(jù)本發(fā)明的實施例列出了可用于處理嚴(yán)重計算機硬件錯誤 的示例性計算機(246)的方框圖。圖1的計算機(246)包括兩個計算 機處理器(108、 IIO)或'CPU,,以及隨機訪問存儲器(256) (RAM), 其通過高速存儲器總線(298 )和總線適配器(272 )連接到處理器(108、 110)和計算機的其它部件。RAM可以在諸如單列直插式存儲器模塊 (SIMM)或雙列直插式存儲器模塊(DIMM)的多個存儲器模塊中 實現(xiàn)。計算機處理器、實現(xiàn)RAM的存儲器模塊、總線適配器以及示例 性計算機(246)的其它主集成電路部件被實現(xiàn)成芯片組的芯片。芯片 組的芯片通過一個或多個帶內(nèi)總線(248、 294、 242、 244)進行通信 連接。帶內(nèi)總線是用于在芯片組的處理器、存儲器、以及其他芯片間 傳送用于執(zhí)行應(yīng)用程序的計算機程序指令和計算機程序數(shù)據(jù)的總線。
根據(jù)本發(fā)明的實施例、用于處理嚴(yán)重硬件錯誤的計算機中的帶內(nèi)總線的例子此處由超級傳送總線(248 , 294 , 242 )和擴展總線(244 )代表。 擴展總線可以是ISA總線、PCI總線、Infiniband總線或那些本領(lǐng)域技 術(shù)人員可以想到的任何其他擴展總線。該例子中的兩個處理器(108, 110)的使用僅為了說明方便起見;事實上,根據(jù)本發(fā)明的實施例的處 理嚴(yán)重計算機硬件錯誤的計算機可以具有任何數(shù)量的處理器。圖l的示例性計算機包括可編程邏輯設(shè)備(PLD) (104),其通 過通知嵌入式系統(tǒng)微控制器嚴(yán)重計算機硬件錯誤的出現(xiàn),根據(jù)本發(fā)明 的實施例操作來處理嚴(yán)重計算機硬件錯誤。PLD是用來建立數(shù)字電路 的電子設(shè)備部件。不同于具有固定功能的邏輯門,PLD在制造的時候 具有未定義的功能。在PLD可被用于電路之前,其必須被編程。此類 PLD的程序代碼可被嵌入用于處理嚴(yán)重計算機硬件錯誤的計算機程序 產(chǎn)品中,并且計算機程序產(chǎn)品可通過信號承載介質(zhì)布置、傳送或發(fā)送。 信號承載介質(zhì)可以是諸如光盤、磁盤或磁帶的可記錄介質(zhì),或信號承 載介質(zhì)包括諸如計算機網(wǎng)絡(luò)或無線介質(zhì)的傳輸介質(zhì)。根據(jù)本發(fā)明的實 施例、用于處理嚴(yán)重計算機硬件錯誤的設(shè)備的PLD的例子包括復(fù)雜可 編程邏輯設(shè)備(CPLD)、現(xiàn)場可編程門陣列(FPGA)、可編程陣列 邏輯(PAL)、專用集成電路(ASIC)、嵌入式微控制器以及本領(lǐng)域 的技術(shù)人員可以想到的其它種類。該例子中的PLD (104)通過兩個邊帶總線被通信連接到芯片組的 芯片和嵌入式系統(tǒng)微控制器。邊帶總線是用于計算機的外圍服務(wù)部件 與芯片組的處理器、存儲器、以及其他芯片之間的服務(wù)通信的總線。 用于根據(jù)本發(fā)明的實施例處理嚴(yán)重硬件錯誤的計算機的邊帶總線的例 子包括JTAG和其它邊界掃描總線、fC總線、VESA顯示數(shù)據(jù)通道 (DDC )總線、系統(tǒng)管理總線(SM總線),智能平臺管理總線(IPMB ), 以及其他本領(lǐng)域的技術(shù)人員可以想到的總線.fC是由Philips發(fā)明的串 行計算機總線,其被用來將低速外設(shè)附連到母板、嵌入式系統(tǒng)或手機 上。名字是集成電路間的縮寫,并且讀做I方C。 fC是訪問總線、VESA 顯示數(shù)據(jù)通道(DDC)接口、系統(tǒng)管理總線(SM總線),智能平臺
管理總線(IPMB, IPMI協(xié)議之一)的基礎(chǔ)。'JTAG'是聯(lián)合測試行動組的縮寫,并且是通常用來表示標(biāo)題為標(biāo) 準(zhǔn)測試訪問端口和邊界掃描體系結(jié)構(gòu)的IEEE 1149.1標(biāo)準(zhǔn)的名字。 JTAG是被用來利用邊界掃描測試印刷電路板和部件(包括計算機處 理器)的測試訪問端口的標(biāo)準(zhǔn)。邊界掃描是一種用于測試印刷電路板 上的互連(細(xì)電線連線)或集成電路內(nèi)的子塊的方法。被稱為JTAG 的邊界掃描標(biāo)準(zhǔn)已被全球電子設(shè)備公司如此廣泛地采用,以致當(dāng)前, 邊界掃描'和'JTAG'實際上是同義詞。然而,在本說明書中,'邊界掃 描'和'JTAG'不被看作為同義詞。作為此處所使用的術(shù)語的'邊界掃描' 通常是指邊界掃描操作,而'JTAG'用來指根據(jù)JTAG標(biāo)準(zhǔn)進行的邊界 掃描。即,在本說明書中,JTAG被視作一種邊界掃描的例子,公認(rèn) 地一種廣泛使用的例子,然而,僅僅是一個例子。術(shù)語,邊界掃描,不 僅包括JTAG,而且包括本領(lǐng)域的技術(shù)人員可以想到的任何種類的邊 界掃描。邊界掃描體系結(jié)構(gòu)提供了無需使用物理試驗探針就可測試邏輯、 存儲器和其它電路部件的互連和集群的手段。其增加了連接到設(shè)備的 每個管腳的一個或多個所謂的,測試單元,,所述設(shè)備可以選擇性地替 換該管腳的功能。這些單元通過JTAG掃描鏈可被編程以驅(qū)動信號到 管腳上,并且跨過板上的各個跡線(trace)。在板跡線的目的地處的 單元能因此被編程來讀取管腳處的值,驗證板跡線正確地連接兩個管 腳。如果跡線被短接到另一個信號或如果跡線已被切斷,則正確信號 值不會出現(xiàn)在目的地管腳,并且將知道板具有故障。當(dāng)在集成電路內(nèi)部執(zhí)行邊界掃描時,有時被稱作'測試單元,或'鎖 存單元,或僅僅是,鎖存器,的邊界掃描鎖存單元被增加到邏輯設(shè)計模塊 之間,以便能夠以好像它們是物理獨立電路的方式控制它們。對于正 常操作,設(shè)置增加的邊界掃描鎖存單元,使得它們對電路沒有影響, 因此實際上是不可見的.然后當(dāng)電路被設(shè)置成測試模式時,鎖存器使 數(shù)據(jù)流能以所謂的,掃描鏈'方式順序地從一個鎖存器被傳遞到下一個 鎖存器。由于單元可被用于強制數(shù)據(jù)進入板中,它們可以設(shè)立測試條
件。通過順序地按時鐘節(jié)拍將數(shù)據(jù)字發(fā)回以便能夠?qū)ζ溥M行分析,相 關(guān)狀態(tài)能因此被反饋到外部測試系統(tǒng)。通過采用該技術(shù),包含嵌入式系統(tǒng)微控制器或BMC的測試系統(tǒng)可以獲得對板或諸如計算機處理器 或計算機存儲器模塊的集成電路中的內(nèi)部邏輯的測試訪問。在該例子中,PLD (104)通過JTAG總線(286、 288、 292 )被連 接到處理器(108,110)和嵌入式系統(tǒng)微控制器(102), PLD(104)通過 fC總線(224、 226)被連接到總線適配器(272)和嵌入式系統(tǒng)微控 制器(102)。該例子中的PLD (104)還提供了動態(tài)邊界掃描測試鏈配置 的能力,以及與處理器虛擬鏈中的單處理器通信的能力,如共同待審 的美國專利申請11/464393,案巻編號RPS920060041US1,標(biāo)題為 "Processor Fault Isolation"中更詳細(xì)描述的那樣,此處在說明書中參 考引用該申請,如同完整記載該申請那樣。為了在出現(xiàn)嚴(yán)重硬件錯誤 之后進行故障隔離,此處由底板管理控制器(BMC ) (102)所代表的嵌 入式系統(tǒng)微控制器操縱選擇線(圖1中未示出),以指示其希望詢問 哪個處理器。然后,PLD將微控制器的邊界掃描信號(292 )連接到 所選摔的處理器(108或110 )的邊界掃描信號上,從而建立僅包含一 個處理器的邊界掃描測試鏈。通過重復(fù)該過程,無論任何其他處理器 是否已遭受突然故障,每個處理器都可被詢問。并且,該過程消除了 微控制器將任何處理器的邊界掃描端口置于旁路模式的必要,從而減 少了嵌入式系統(tǒng)微控制器(102)的控制程序的大小和復(fù)雜度?;蛘?, PLD可以使用處理器的存在信號(圖1中未示出)來動態(tài)配置處理器 為邊界掃描測試鏈-如果處理器存在,則其將被包含在鏈中。這消除 了對基于處理器數(shù)量(population)改變而進行手動鏈重新配置的需 要??梢蕴峁┨鎿Q跳線以便所安裝的處理器,即檢測為存在的處理器 在測試方的命令下可被排除在鏈外?;谔幚砥鲾?shù)量,即基于哪些處 理器被檢測為存在,PLD可以將處理器配置為單邊界掃描鏈。當(dāng)嚴(yán)重 計算機硬件錯誤發(fā)生時,PLD可以斷開單鏈,通知嵌入式系統(tǒng)微控制 器(102),并且等待來自嵌入式系統(tǒng)微控制器的處理器選擇。如所提到的,嵌入式系統(tǒng)微控制器在圖1的例子中被表示為BMC(102)。 BMC是嵌入在許多計算機,尤其是服務(wù)器的母板上的專用微控 制器。BMC是智能平臺管理接口 (IPMI)體系結(jié)構(gòu)中的智能。BMC 管理系統(tǒng)管理軟件和平臺硬件之間的接口 。諸如BMC的系統(tǒng)管理微控 制器是包含小型處理器、存儲微控制器控制程序(116)的少量存儲器 (102),以及一個或多個I/0端口的小型嵌入式設(shè)備。該例子中的BMC (102)具有針對JTAG總線、兩個fC總線連接以及擴展總線的I/0端口 。不同類型的傳感器安裝到計算機系統(tǒng)中,其對于BMC使用關(guān)于諸 如溫度、冷卻風(fēng)扇速度、功率模式、操作系統(tǒng)狀態(tài)、處理器操作等的 參數(shù)的BMC報告。BMC監(jiān)視傳感器,并且如果任何參數(shù)沒有保持在 預(yù)置限制內(nèi),則可以經(jīng)由網(wǎng)絡(luò)向系統(tǒng)管理員發(fā)送提醒,表明系統(tǒng)的潛 在故障。管理員也可以與BMC遠(yuǎn)程通信以采取諸如復(fù)位或電源循環(huán)系 統(tǒng)的某些校正動作來獲取掛起操作系統(tǒng)的再次運行。這些能力節(jié)省了 擁有系統(tǒng)的總成本。BMC的物理接口可包括系統(tǒng)管理總線(SMB) 、 RS-232總線、 地址和數(shù)據(jù)線,以及智能平臺管理總線(IPMB),其使得BMC能從 系統(tǒng)中的其它管理控制器接受IPMI請求消息。BMC利用IPMI協(xié)議與 遠(yuǎn)程客戶端上的BMC管理應(yīng)用程序(BMU)通信。BMU通常是命令 行接口 (CLI)應(yīng)用程序。智能平臺管理接口 (IPMI)規(guī)范定義了計 算機硬件和固件的 一組公共接口 ,系統(tǒng)管理員可以利用其監(jiān)視系統(tǒng)健 康和管理系統(tǒng)。IPMI獨立于操作系統(tǒng)運行,并且即使在沒有操作系統(tǒng)或系統(tǒng)管理 軟件的情況下,或甚至所監(jiān)視的系統(tǒng)尚未加電的情況下,仍允許管理 員遠(yuǎn)程管理系統(tǒng)。當(dāng)操作系統(tǒng)已啟動時,IPMI也可以工作,并且當(dāng)與 系統(tǒng)管理軟件一起使用時,提供增強的功能。IPMI能夠經(jīng)由直接串行 連接、局域網(wǎng)(LAN)或LAN上的串行(SOL)連接向遠(yuǎn)程客戶端發(fā) 出提醒。系統(tǒng)管理員能因此通過相同的連接從遠(yuǎn)程控制臺利用IPMI 消息來查詢平臺狀態(tài)、檢查硬件日志、或提交其它請求.標(biāo)準(zhǔn)還定義 了系統(tǒng)的提醒機制以發(fā)送簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)平臺亊件陷阱 (PET)。
圖1的示例性計算機還包括通過產(chǎn)C總線(228)連接到BMC(102) 的服務(wù)處理器(102)。為正常數(shù)據(jù)處理而暫停的計算機系統(tǒng)被用來執(zhí)行 根據(jù)本發(fā)明實施例的對嚴(yán)重計算機錯誤的處理。只有系統(tǒng)的邊帶部分 是活動的。系統(tǒng)處理器提供了無需計算機的操作系統(tǒng)或系統(tǒng)固件就可 以完全工作的遠(yuǎn)程管理介質(zhì)。因為服務(wù)處理器以獨立于計算機中的用 來執(zhí)行正常數(shù)據(jù)處理的其它處理器的方式運行,所以服務(wù)處理器可以 如此工作。此外,它們利用其自身的定制固件,并且甚至可以利用單 獨電源以增強可靠性。系統(tǒng)管理員或其他用戶通過帶外連接能夠直接 與服務(wù)處理器通信。由服務(wù)處理器提供的管理工具、特性和客戶接口 因制造商不同而各不相同。它們的復(fù)雜度范圍可以從簡單的Telnet控 制臺到豐富的Web瀏覽器環(huán)境。服務(wù)處理器也可以通過比諸如以太網(wǎng) 上的傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)的串行端口更復(fù)雜的介質(zhì)提供 支持。服務(wù)處理器通常被集成到系統(tǒng)母板或內(nèi)插式PCI適配器中,并 且如所提到的,以獨立于系統(tǒng)的其它處理器的方式工作。在圖l的示例性計算機中,應(yīng)用程序(258)、用戶級計算機程序 指令的模塊、操作系統(tǒng)(260)和系統(tǒng)固件(236)被存儲在RAM ( 256) 中。應(yīng)用程序(258)是用戶級計算機程序指令的模塊。用于根據(jù)本發(fā) 明的實施例處理嚴(yán)重計算機硬件錯誤的計算機中的操作系統(tǒng)包括 UNIXTM、 LimiXTM、 Microsoft NTTM、 AIXtm、 IBM的i5/OSTM,及其 他本領(lǐng)域的技術(shù)人員將想起的操作系統(tǒng)。系統(tǒng)固件(236)被表示成基 本輸入/輸出系統(tǒng)或'BIOS'。圖l的例子中的應(yīng)用程序(258)、操作系 統(tǒng)(260)和系統(tǒng)固件(236)在RAM (256)中示出,但是此類軟件 的許多部分通常也被存儲在非易失存儲器中,例如盤驅(qū)動器(284)上 或EEPROM (電可擦除可編程只讀存儲器)或'快擦寫'存儲器中。圖l的計算機(246)包括總線適配器(272)、包括驅(qū)動高速總線 的電子設(shè)備的計算機硬件部件、超級傳送總線(294、 248、 242)、視 頻總線(296)和存儲器總線(298)。用于根據(jù)本發(fā)明的實施例處理 嚴(yán)重計算機硬件錯誤的計算機中的總線適配器的例子包括Intel北橋、 Intel存儲器控制器集線器以及超級傳送總線適配器。在該例子中總線
適配器(272)被表示為超級傳送適配器。圖1的計算機(246)包括附 加總線適配器(234),其為擴展總線(234)提供驅(qū)動電子設(shè)備。為 擴展總線提供驅(qū)動電子設(shè)備的總線適配器的例子包括Intd南橋、Intel 1/0控制器集線器以及超級傳送適配器。總線適配器(234)在該例子 中被表示為南橋。用于根據(jù)本發(fā)明的實施例處理嚴(yán)重計算機硬件錯誤 的計算機中的擴展總線的例子包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線和外部 部件互連(PCI)總線族,PCI、 PCIE和PCIX。超級傳送總線(294、 248、 242)是服從由超級傳送技術(shù)聯(lián)盟公布 的標(biāo)準(zhǔn)的總線。超級傳送總線(294、 248、 242)是一種非??斓碾p向 串行/并行高帶寬、低時延計算機總線。取決于版本,超級傳送總線可 以在從200MHz到2.6GHz的頻率上運行(與PCI的33或66 MHz相比)。 超級傳送總線(294、 248)也是DDR或"雙倍數(shù)據(jù)速率"總線,意味著 在其總線時鐘信號的上升和下降沿傳送數(shù)據(jù)。這允許以2.6GHz運行的 每對有每秒5200 M傳送的最大數(shù)據(jù)速率。圖l的示例性計算機中所示 的超級傳送的主要使用以及超級傳送總線(294、 248)的方式是替換 當(dāng)前對于幾乎每個計算機來說都是不同的前端總線。例如,Pentium 不能被插入PCI總線。為了擴展系統(tǒng),前端總線必須通過類似AGP或 PCI的各種標(biāo)準(zhǔn)總線的適配器連接。這些通常被包含在相應(yīng)的控制器 功能,即北橋和南橋中。用超級傳送實現(xiàn)的類似計算機則更靈活,而 且更快。單PCK — >超級傳送適配器芯片將與支持超級傳送的任何微 處理器一起工作,并且允許將PCI卡用于這些處理器。例如,NVIDIA nForce芯片組使用超級傳送來連接其北和南橋。由于其速度和靈活性, 所以在根據(jù)本發(fā)明的實施例處理嚴(yán)重計算機硬件錯誤的計算機中優(yōu)選 超級傳送總線,但是它們不是本發(fā)明的必需要素.可使用其它總線, 包括例如眾所周知的Intel共享總線體系結(jié)構(gòu)。在使用超級傳送總線作為帶內(nèi)總線的計算機的情況中,對于不可 校正的錯誤,超級傳送連接的芯片可由寄存器設(shè)置來配置,使得同步 包在出現(xiàn)故障的超級傳送鏈接上被發(fā)送.其它超級傳送連接的芯片可 由寄存器設(shè)置來配置,以將在其鏈接之一上所見的同步包洪水傳送給
它們被連接到的超級傳送鏈接。如果所有超級傳送芯片被設(shè)置成傳送 同步包洪水,則所有系統(tǒng)的超級傳送總線將在不可校正的錯誤發(fā)生的 毫微秒內(nèi)處于同步包洪水狀態(tài)。超級傳送適配器(272)代表芯片組的芯片,通過通知PLD (104) 不可校正的錯誤的出現(xiàn),其被配置成充當(dāng),源芯片,。即,適配器(272) 可以用作'源芯片,,也就是說其可以是有關(guān)嚴(yán)重硬件錯誤已發(fā)生的信 號的源。在該例子中,源芯片(272)被連接到支持消息中斷的帶內(nèi)總 線上,即被連接到超級傳送總線上。通過在嚴(yán)重硬件錯誤出現(xiàn)時將同 步包洪水作用在超級傳送總線上,連接到超級傳送總線的任何鏈接的 任何芯片可導(dǎo)致計算機上的數(shù)據(jù)處理操作暫停。即,例如如果處理器(110)檢測到嚴(yán)重存儲器地址錯誤,則處理器(110)可以將同步包 洪水引到超級傳送總線,從而暫停計算機上的數(shù)據(jù)處理操作。超級傳 送適配器(272)檢測到超級傳送總線上的同步包洪水,將同步包洪水 解釋成代表嚴(yán)重計算機硬件錯誤的出現(xiàn),并且利用硬連線的嚴(yán)重錯誤 信號線(232)通知PLD (104)和南橋出現(xiàn)嚴(yán)重硬件錯誤。然后PLD 可以利用fC邊帶總線(226)通知嵌入式系統(tǒng)微控制器(102)嚴(yán)重硬 件錯誤的出現(xiàn)。通過這種方式,在帶內(nèi)總線上,在這種情況下,在超 級傳送總線上通知嵌入式系統(tǒng)微控制器(102)出現(xiàn)故障,而不需要嵌 入式系統(tǒng)微控制器(102)自身連接到帶內(nèi)總線上。該系統(tǒng)設(shè)置在發(fā) 生不可校正的錯誤時阻止所有系統(tǒng)數(shù)據(jù)移動,因此終止任何數(shù)據(jù)完整 性膝露。所有中斷也被同步包洪水鎖住,以免在超級傳送總線上傳送。 然后,嵌入式系統(tǒng)微控制器(102 )通過邊帶總線從芯片組的芯片 中的寄存器讀取有關(guān)不可校正的錯誤的原因的信息。在該例子中,嵌 入式系統(tǒng)微控制器(102)通過JTAG總線(292、 288)至少從處理器(IIO)上的寄存器讀取有關(guān)嚴(yán)重硬件錯誤的原因的信息.嵌入式系統(tǒng) 微控制器(102)也可以從其它芯片中的寄存器讀取有關(guān)嚴(yán)重錯誤的原 因的信息-因為雖然該例子中的處理器(110 )檢測到錯誤,并且總線 適配器(272)報告了錯誤,但是很可能既不是處理器(110)又不是 總線適配器(272)實際導(dǎo)致了錯誤。因此,為了進行有用的診斷,嵌
入式系統(tǒng)微控制器(102)可對芯片組的多個芯片的寄存器進行查詢。 在該例子中,系統(tǒng)固件/BIOS在引導(dǎo)時預(yù)先配置每個超級傳送連接的 芯片,以將同步包洪水傳播到其連接到的所有其它超級傳送總線鏈接, 使得進行超級傳送錯誤檢測的芯片能夠可靠地檢測同步包洪水已發(fā) 生。然后,嵌入式系統(tǒng)微控制器(102)將有關(guān)嚴(yán)重錯誤的原因的信息 存儲在嵌入式系統(tǒng)微控制器的非易失隨機訪問存儲器(102)中,使得 即使在重新啟動之后,信息也可以用于錯誤診斷。嵌入式系統(tǒng)微控制 器(102 )也可將有關(guān)不可校正錯誤的原因的信息存儲在系統(tǒng)錯誤日志 中,并且由嵌入式系統(tǒng)微控制器重新啟動計算機。在這樣的系統(tǒng)中, 由嵌入式系統(tǒng)微控制器(102)而不是BIOS/固件控制重新啟動的定時。 該例子中的計算機(246 )通過復(fù)位信號線(230 )將處理器(106、 110 ) 和其它系統(tǒng)部件(274、 276、 278)連接到PLD (104),使得嵌入式 系統(tǒng)微控制器(102)能夠利用fC信號(226)命令PLD復(fù)位系統(tǒng)的個 別部件或重新啟動整個計算機泉統(tǒng)。根據(jù)有關(guān)嚴(yán)重硬件錯誤的原因的 信息,系統(tǒng)固件(236)在重新啟動期間可以確定在出現(xiàn)嚴(yán)重硬件錯誤 之后計算機是否能夠成功地返回服務(wù)。圖l的計算機(246)包括通過擴展總線(244)連接的磁盤驅(qū)動器 適配器(278),以及連接到處理器(108、 110)和計算機(246)的 其它部件的總線適配器(272),磁盤驅(qū)動器適配器(278)以磁盤驅(qū) 動器(284)的形式將非易失數(shù)據(jù)存儲設(shè)備連接到計算機。用于根據(jù)本 發(fā)明的實施例處理嚴(yán)重計算機硬件錯誤的計算機中的磁盤驅(qū)動器適配 器包括集成驅(qū)動電子設(shè)備(IDE)適配器、小型計算機系統(tǒng)接口 ( SCSI) 適配器及其他本領(lǐng)域的技術(shù)人員將想起的適配器。此外,磁盤驅(qū)動器、 非易失計算機存儲器可被實現(xiàn)成光盤驅(qū)動器、電可擦除可編程只讀存 儲器空間(所謂的,EEPROM'或,快擦寫,存儲器)、電池支持的RAM 驅(qū)動器等,如本領(lǐng)域的技術(shù)人員將想起的。圖l的示例性計算機包括一個或多個輸入/輸出(1/0)適配器 (276) 。 1/0適配器通過例如用于控制對諸如計算機顯示屏幕的顯示
設(shè)備的輸出,以及控制來自諸如鍵盤和鼠標(biāo)的用戶輸入設(shè)備(282)的 用戶輸入的軟件驅(qū)動程序和計算機硬件,實現(xiàn)面向用戶的輸入/輸出。 圖l的示例性計算機包括視頻適配器(254),其是專門為到諸如顯示 屏幕或計算機監(jiān)視器的顯示設(shè)備(252)的圖形輸出而設(shè)計的I/0適配 器的例子。視頻適配器(254)通過高速視頻總線(296)、總線適配 器(272),以及如上所述也是一種高速總線的超級傳送總線(294、 248)被連接到處理器(108、 110)上。圖l的計算機包括用于與其它計算機(280)的數(shù)據(jù)通信的通信適 配器(274)。通過串行地通過RS-232連接、通過諸如通用串行總線(USB)的外部總線、通過諸如IP數(shù)據(jù)通信網(wǎng)絡(luò)的數(shù)據(jù)通信網(wǎng)絡(luò)、以 及本領(lǐng)域的技術(shù)人員將想起的其他方式,可以實現(xiàn)這樣的數(shù)據(jù)通信。 通信適配器直接地或通過數(shù)據(jù)通信網(wǎng)絡(luò)實現(xiàn)硬件級數(shù)據(jù)通信, 一個計 算機通過所述硬件級數(shù)據(jù)通信發(fā)送數(shù)據(jù)通信到另 一個計算機。用于才艮 據(jù)本發(fā)明實施例處理嚴(yán)重計算機硬件錯誤的計算機的通信適配器的例 子包括用于有線撥號通信的調(diào)制解調(diào)器、用于有線數(shù)據(jù)通信網(wǎng)絡(luò)通信 的以太網(wǎng)(IEEE 802.3)適配器、以及用于無線數(shù)據(jù)通信網(wǎng)絡(luò)通信的 802.11b/g適配器。為進一步說明,圖2根據(jù)本發(fā)明的實施例列出了圖解用于處理嚴(yán)重 計算機硬件錯誤的示例性方法的流程圖。在包含芯片組的芯片的計算 機中的嵌入式系統(tǒng)微控制器的計算機程序指令和可編程邏輯器件(PLD)的可編程邏輯的控制之下執(zhí)行圖2的方法,其中芯片組的芯片 是計算機的主集成電路部件。芯片組的芯片通過一個或多個帶內(nèi)總線 進行通信連接,并且芯片包含至少一個計算機處理器和至少一個總線 適配器.此外,計算機包含通過至少一個邊帶總線通信連接到芯片組 的芯片和嵌入式系統(tǒng)微控制器的可編程邏輯設(shè)備。帶內(nèi)總線是用于在芯片組的處理器、存儲器、以及其他芯片之間 傳送用于執(zhí)行應(yīng)用程序的計算機程序指令和計算機程序數(shù)4t的總線。 帶內(nèi)總線可以是超級傳送總線、Intel前端總線、PCI總線、PCI-E總線、 PCI-X總線等等。邊帶總線是用于計算機的外圍服務(wù)部件與芯片組的
處理器、存儲器、以及其他芯片之間的服務(wù)通信的總線。邊帶總線可以是聯(lián)合測試行動組(JTAG)總線、集成電路間(I2C)總線、VESA 顯示數(shù)據(jù)通道(DDC)接口、系統(tǒng)管理總線(,SMBus,),智能平臺 管理總線(,IPMB')等等。嵌入式系統(tǒng)微控制器可以是底板管理控制 器(,BMC')。圖2的方法包括當(dāng)嚴(yán)重硬件故障出現(xiàn)時暫停(300)計算機的數(shù)據(jù) 處理操作。例如,當(dāng)檢測到鏈接上的嚴(yán)重硬件錯誤時,超級傳送總線 的鏈接上的任何設(shè)備可觸發(fā)鏈接上的同步包洪水。相同鏈接上的另一 個設(shè)備可被配置成觸發(fā)相鄰鏈接等等上的同步包洪水,直到整個超級 傳送總線處于同步包洪水狀態(tài),從而暫停計算機上的數(shù)據(jù)處理操作。 注意到,在依賴于用于中斷的總線消息的系統(tǒng)中,這也有效地暫停所 有中斷活動,通常包括可通知嚴(yán)重計算機硬件錯誤的中斷。對于另一 個例子,當(dāng)檢測到PCI總線上的SERR或PERR錯誤類型時,PCI適配 器或合并到PCI適配器中的南橋或北橋可鎖住總線,從而有效地暫停進一步的i/o數(shù)據(jù)處理操作。圖2的方法包括由芯片組的源芯片通知(302)可編程邏輯器件出現(xiàn) 嚴(yán)重硬件錯誤。源芯片是通知其它芯片出現(xiàn)嚴(yán)重硬件錯誤的信號的' 源'。源芯片是檢測和報告錯誤狀態(tài)的芯片-可能是或可能不是其故障 導(dǎo)致錯誤狀態(tài)的芯片。芯片組中的芯片可能不都被配置成檢測錯誤狀 態(tài)和通知錯誤狀態(tài)。在超級傳送例子,即支持消息中斷的總線中,源 芯片連同可不被配置成檢測或通知錯誤狀態(tài)的若干其它芯片一起可被 連接到帶內(nèi)超級傳送總線上,盡管任何芯片可能是嚴(yán)重硬件錯誤的源。 其它芯片之一,例如未被配置成檢測或通知嚴(yán)重計算機硬件錯誤的芯 片之一可由于硬件錯誤而觸發(fā)同步包洪水,并且僅當(dāng)同步包洪水到達 源芯片時,同步包洪水被識別成表示嚴(yán)重硬件錯誤.通過諸如圖l上的 參考(232)所圖解的硬連線信號線,源芯片可通知PLD出現(xiàn)嚴(yán)重硬件 錯誤。圖2的方法包括由PLD通知(304)嵌入式系統(tǒng)微控制器出現(xiàn)嚴(yán)重硬 件錯誤。通過諸如JTAG總線或如圖1上的參考(28, 226)所示的fC, PLD使用邊帶信號可通知嵌入式系統(tǒng)微控制器出現(xiàn)嚴(yán)重硬件錯誤。圖2的方法包括由嵌入式系統(tǒng)微控制器通過至少一個邊帶總線從 芯片組的芯片中的寄存器讀取(306)有關(guān)嚴(yán)重計算機硬件錯誤的原因 的信息。有關(guān)嚴(yán)重硬件錯誤的原因的信息可包括,例如* 哪個存儲器模塊已出現(xiàn)故障,以便其可被隔開。
哪個處理器出現(xiàn)故障,并且不應(yīng)被設(shè)置在運行時間使用。
哪個總線、超級傳送、Infiniband、 PCI等被損壞,并且不能 被使用。* 哪個總線適配器、超級傳送、北橋、南橋、PCI、 PCI-X、 PCI-E等已出現(xiàn)故障,并且不能被使用。圖2的方法還包括由嵌入式系統(tǒng)微控制器在嵌入式系統(tǒng)微控制器 的非易失隨機訪問存儲器中存儲(308)信息。圖2的方法還包括由嵌入 式系統(tǒng)微控制器在系統(tǒng)錯誤日志中存儲(310)有關(guān)嚴(yán)重計算機硬件錯 誤的原因的信息。圖2的方法還包括由嵌入式系統(tǒng)微控制器重新啟動 (312)計算機系統(tǒng),以及根據(jù)有關(guān)嚴(yán)重硬件錯誤的原因的信息,在重 新啟動期間由計算機系統(tǒng)的固件確定(314 )在出現(xiàn)嚴(yán)重硬件錯誤之后 計算機是否可以成功地返回服務(wù)。重新啟動時,BIOS或其它系統(tǒng)固 件決定如何重新配置系統(tǒng),以使其能夠保持運行,直到其通過讀取由 BMC提供的系統(tǒng)故障/系統(tǒng)狀態(tài)表接受服務(wù)。所以,芯片商不必在這 種模式中實現(xiàn)粘附錯誤位。BIOS也不必讀取位來確定系統(tǒng)狀態(tài)。BIOS 使確定其是否可以在開始重新啟動之前激活系統(tǒng)所需的信息可用。如 果錯誤將停止系統(tǒng)而不被再次激活,則BIOS在啟動時會知道其甚至 不應(yīng)嘗試。進一步地,其會通知用戶計算機發(fā)生故障??紤]到本文中上面所進行的說明,讀者會認(rèn)識到根據(jù)本發(fā)明的實 施例處理嚴(yán)重計算機硬件錯誤提供了這些好處 所有嚴(yán)重計算機硬件錯誤處理可被從系統(tǒng)固件和操作系統(tǒng)、 BIOS和操作系統(tǒng)中斷處理器中移除.系統(tǒng)管理功能、PLD、 BMC、 服務(wù)器處理器等等可處理所有嚴(yán)重硬件錯誤,BIOS或諸如BIOS的其 他系統(tǒng)固件在重新啟動時可以對系統(tǒng)管理硬件/軟件的發(fā)現(xiàn)采取行動。 * 減少或消除了使用消息中斷并且嘗試使用系統(tǒng)軟件來診斷嚴(yán) 重計算機硬件錯誤的系統(tǒng)的可能數(shù)據(jù)完整性問題。* 在硬件級檢測嚴(yán)重硬件錯誤,并且在嚴(yán)重錯誤發(fā)生之后非常 迅速地暫停系統(tǒng)數(shù)據(jù)處理,不需要長超時來確定嚴(yán)重錯誤已發(fā)生。* 定義系統(tǒng)結(jié)構(gòu)、配置和要求的總集,其將允許BMC在不必運 行任何系統(tǒng)代碼的情況下,在系統(tǒng)被完全暫停的同時檢測和記錄嚴(yán)重 計算機硬件錯誤。通過在BMC或其它嵌入式系統(tǒng)設(shè)備上運行系統(tǒng)管理 代碼來完全做到這點。此外,該模式在不需要,粘附'錯誤位的情況下 完成該任務(wù),并且即使系統(tǒng)不能成功復(fù)位或重新啟動,仍然能夠工作。* 在不犧牲任何錯誤恢復(fù)功能的情況下,從固件、BIOS、和操 作系統(tǒng)中清除所有不可恢復(fù)錯誤功能。* 作為嚴(yán)重硬件錯誤之后暫停系統(tǒng)的手段,清除SMI中斷處理 器產(chǎn)生NMI中斷的任何要求。* 不需要BIOS、系統(tǒng)固件或操作系統(tǒng)中的中斷處理器使用系統(tǒng) 重新啟動時一直保持其狀態(tài)的粘附位,嚴(yán)重計算機硬件錯誤被非???靠地處理。使用粘附位方案,因為BIOS/固件不知道在重新啟動時候 故障的性質(zhì)是什么,以及可能再次遇到相同的不可恢復(fù)的錯誤,所以 BIOS或固件可能無意地再次導(dǎo)致故障。* 在重新啟動之前,提供了出現(xiàn)嚴(yán)重錯誤的BIOS/固件和中斷 處理器/操作系統(tǒng)處理的完全替換,可以處理在重新啟動之前,應(yīng)由 BIOS /固件或操作系統(tǒng)的中斷處理器預(yù)先已處理的任何嚴(yán)重硬件錯誤 的替換,能夠從計算機系統(tǒng)中的任何地方,而不是僅僅從其一部分尋 址到錯誤。本發(fā)明的示范實施例主要在用于處理嚴(yán)重計算機硬件錯誤的全功 能計算機系統(tǒng)的情況下被描述.然而,本領(lǐng)域技術(shù)人員將認(rèn)識到,本 發(fā)明還可被嵌入布置在供任何適合的數(shù)據(jù)處理系統(tǒng)使用的信號承栽介 質(zhì)上的計算機程序產(chǎn)品中.這樣的信號承栽介質(zhì)可以是機器可讀信息 的傳輸介質(zhì)或可記錄介質(zhì),包括磁介質(zhì)、光學(xué)介質(zhì)或其它適合的介質(zhì). 可記錄介質(zhì)的例子包括硬盤驅(qū)動器中的磁盤或軟盤、光學(xué)驅(qū)動器的光
盤、磁帶以及其它本領(lǐng)域的技術(shù)人員將想起的介質(zhì)。傳輸介質(zhì)的例子包括音頻通信的電話網(wǎng)和數(shù)字?jǐn)?shù)據(jù)通信網(wǎng)絡(luò),例如EthernetsTM以及利 用網(wǎng)際協(xié)議和萬維網(wǎng)通信的網(wǎng)絡(luò)。所屬技術(shù)領(lǐng)域的專業(yè)人員將立即認(rèn) 識到具有適合的編程設(shè)備的任何計算機系統(tǒng)將能夠如程序產(chǎn)品中所嵌 入的執(zhí)行本發(fā)明的方法的步驟。所屬技術(shù)領(lǐng)域的專業(yè)人員將立即認(rèn)識 到,雖然該說明書中所描述的 一 些示范實施例被定向到計算機硬件上 所安裝和執(zhí)行的軟件,然而,作為固件或硬件所實現(xiàn)的可選實施例也 在本發(fā)明的范疇內(nèi)。從以上描述應(yīng)該理解,在不偏離其真正宗旨的情況下,本發(fā)明的 各種實施例可以作出修改和改變。該說明書中的描述僅僅是為了說明, 而不會以限制意義分析。本發(fā)明的范圍僅受限于以下權(quán)利要求書的語
權(quán)利要求
1.一種處理嚴(yán)重計算機硬件錯誤的方法,所述計算機包括芯片組的芯片,所述芯片組的芯片包括計算機主集成電路部件,所述部件包含一個或多個處理器,一個或多個存儲器模塊,以及一個或多個總線適配器,所述芯片組的芯片通過一個或多個帶內(nèi)總線進行通信連接,所述計算機進一步包括通過至少一個邊帶總線通信連接到芯片組的芯片和嵌入式系統(tǒng)微控制器的可編程邏輯設(shè)備,所述方法包括當(dāng)嚴(yán)重硬件錯誤的出現(xiàn)時暫停計算機的數(shù)據(jù)處理操作;由芯片組的源芯片通知可編程邏輯設(shè)備該嚴(yán)重硬件錯誤的出現(xiàn);由可編程邏輯設(shè)備通知嵌入式系統(tǒng)微控制器該嚴(yán)重硬件錯誤的出現(xiàn);由嵌入式系統(tǒng)微控制器通過至少一個邊帶總線,從芯片組的芯片中的寄存器讀取有關(guān)嚴(yán)重硬件錯誤的原因的信息;以及由嵌入式系統(tǒng)微控制器將信息存儲在嵌入式系統(tǒng)微控制器的非易失隨機訪問存儲器中。
2. 根據(jù)權(quán)利要求1的方法,進一步包括由嵌入式系統(tǒng)微控制器將有 關(guān)嚴(yán)重硬件錯誤的原因的信息存儲在系統(tǒng)錯誤日志中。
3. 根據(jù)權(quán)利要求1的方法,進一步包括由嵌入式系統(tǒng)微控制器重新 啟動計算機,
4. 根據(jù)權(quán)利要求1的方法,進一步包括在重新啟動期間,由計算機 系統(tǒng)的固件根據(jù)有關(guān)嚴(yán)重硬件錯誤的原因的信息確定在出現(xiàn)嚴(yán)重硬件 錯誤之后計算機是否能夠成功地返回服務(wù)。
5. 根據(jù)權(quán)利要求1的方法,其中源芯片被連接到支持所通知的中斷的帶內(nèi)總線上,并且 該方法進一步包括由源芯片檢測嚴(yán)重硬件錯誤的出現(xiàn),包括檢測 帶內(nèi)總線上的同步包洪水。
6. 根據(jù)權(quán)利要求1的方法,其中源芯片進一 步包括超級傳送總線適 配器。
7. 根據(jù)權(quán)利要求1的方法,其中帶內(nèi)總線是用于在芯片組的處理器、存儲器、以及其他芯片之間 傳送用于執(zhí)行應(yīng)用程序的計算機程序指令和計算機程序數(shù)據(jù)的總線; 以及邊帶總線是用于計算機的外圍服務(wù)部件與芯片組的處理器、存儲 器、以及其他芯片之間的服務(wù)通信的總線。
8. 根據(jù)權(quán)利要求1的方法,其中 所述至少一個帶內(nèi)總線包括超級傳送總線;以及 所述至少一個邊帶總線包括聯(lián)合測試行動組(,JTAG,)總線和集成電路間總線(,I2C,)。
9. 根據(jù)權(quán)利要求1的方法,其中嵌入式系統(tǒng)微控制器為底板管理控 制器(,BMC')。
10. —種用于處理嚴(yán)重計算機硬件錯誤的設(shè)備,該設(shè)備包括 芯片組的芯片,所述芯片組的芯片包括計算機的主集成電路部件,這些部件包含至少一個計算機處理器,連接到所述計算機處理器的計算機存儲器,以及至少一個總線適配器,所述芯片組的芯片通過一個或多個帶內(nèi)總線進行通信連接,所述設(shè)備進一步包括可編程邏輯設(shè)備,該可編程邏輯設(shè)備進一步包括可編程邏輯,所述可編程邏輯設(shè)備通過至少一個邊帶總線通信連接到芯片組的 一個或多個芯片,以及連接到嵌入式系統(tǒng)微控制器, 連接到計算機處理器的計算機存儲器,該計算機存儲器包括在嵌入式系統(tǒng)微控制器內(nèi),所述設(shè)備由電路和由計算機存儲器中的計算機程序指令配置為能夠進行以下操作當(dāng)嚴(yán)重硬件錯誤的出現(xiàn)時,暫停計算機的數(shù)據(jù)處理操作;由芯片組的源芯片通知可編程邏輯設(shè)備該嚴(yán)重硬件錯誤的出現(xiàn);由可編程邏輯設(shè)備通知嵌入式系統(tǒng)微控制器該嚴(yán)重硬件錯誤的出 現(xiàn);通過至少一個邊帶總線,由嵌入式系統(tǒng)微控制器從芯片組的芯片中的寄存器讀取有關(guān)嚴(yán)重硬件錯誤的原因的信息;以及由嵌入式系統(tǒng)微控制器將信息存儲在嵌入式系統(tǒng)微控制器的非易 失隨機訪問存儲器中。
11. 根據(jù)權(quán)利要求10的設(shè)備,其中,所述設(shè)備由電路和由計算機存儲器中的計算機程序指令進一步配置為能夠通過嵌入式系統(tǒng)微控制器 將有關(guān)嚴(yán)重硬件錯誤的原因的信息存儲在系統(tǒng)錯誤日志中。
12. 根據(jù)權(quán)利要求10的設(shè)備,其中,所述設(shè)備由電路和由計算機存儲器中的計算機程序指令進一步配置為能夠通過嵌入式系統(tǒng)微控制器 重新啟動計算機系統(tǒng)。
13. 根據(jù)權(quán)利要求10的設(shè)備,其中,所述設(shè)備由電路和由計算機存 儲器中的計算機程序指令進一步配置為能夠在重新啟動期間,根據(jù)有 關(guān)嚴(yán)重硬件錯誤的原因的信息,通過計算機系統(tǒng)的固件確定在出現(xiàn)嚴(yán) 重硬件錯誤之后計算機是否能夠成功地返回服務(wù)。
14. 根據(jù)權(quán)利要求10的設(shè)備,其中 源芯片被連接到支持所通知的中斷的帶內(nèi)總線上,以及所述設(shè)備由電路和由計算機存儲器中的計算機程序指令進一 步配 置為能夠通過源芯片檢測嚴(yán)重硬件錯誤的出現(xiàn),包括檢測帶內(nèi)總線上 的同步包洪水。
15. 根據(jù)權(quán)利要求10的設(shè)備,其中源芯片進一步包括超級傳送總線 適配器。
16. 根據(jù)權(quán)利要求10的設(shè)備,其中帶內(nèi)總線是用于在芯片組的處理器、存儲器以及其他芯片之間傳 送用于執(zhí)行應(yīng)用程序的計算機程序指令和計算機程序數(shù)據(jù)的總線;以 及邊帶總線是用于計算機的外圍服務(wù)部件與芯片組的處理器、存儲 器以及其他芯片之間的服務(wù)通信的總線.
17.根據(jù)權(quán)利要求io的設(shè)備,其中 所述至少一個帶內(nèi)總線包括超級傳送總線;以及 所述至少一個邊帶總線包括聯(lián)合測試行動組(,JTAG')總線和集 成電路間總線(,I2C,)。
18. 根據(jù)權(quán)利要求10的設(shè)備,其中嵌入式系統(tǒng)微控制器為底板管理 控制器('BMC')。
19. 一種用于處理嚴(yán)重計算機硬件錯誤的設(shè)備,該設(shè)備包括芯片組的芯片,所述芯片組的芯片包括計算機的主集成電路部件, 所述芯片組的芯片通過帶內(nèi)總線進行通信連接,所述芯片包含至少一 個計算機處理器和至少一個總線適配器,所述芯片組的至少一個芯片 被配置成當(dāng)嚴(yán)重硬件錯誤出現(xiàn)時暫停計算機的數(shù)據(jù)處理操作,以及通 知可編程邏輯設(shè)備該嚴(yán)重硬件錯誤的出現(xiàn);通過至少一個邊帶總線被通信連接到芯片組的一個或多個芯片以 及嵌入式系統(tǒng)微控制器的可編程邏輯設(shè)備,所述可編程邏輯設(shè)備被配 置成響應(yīng)于從芯片組的芯片接收有關(guān)嚴(yán)重硬件錯誤的出現(xiàn)的信號,通 知嵌入式微控制器該嚴(yán)重硬件錯誤的出現(xiàn);以及嵌入式系統(tǒng)微控制器,其通過可編程邏輯設(shè)備和至少一個邊帶總 線被連接到芯片組的芯片,以及被配置成從芯片組的芯片中的寄存器 讀取有關(guān)嚴(yán)重硬件錯誤的原因的信息,并且將信息存儲在嵌入式系統(tǒng) 微控制器的非易失隨機訪問存儲器中。
20. 根據(jù)權(quán)利要求19的設(shè)備,其中帶內(nèi)總線是用于在芯片組的處理器、存儲器以及芯片之間傳送用 于執(zhí)行應(yīng)用程序的計算機程序指令和計算機程序數(shù)據(jù)的總線;以及邊帶總線是用于計算機的外圍服務(wù)部件與芯片組的處理器、存儲 器以及芯片之間的服務(wù)通信的總線。
21. 根據(jù)權(quán)利要求19的設(shè)備,其中,被配置成通知可編程邏輯設(shè)備 該嚴(yán)重硬件錯誤的出現(xiàn)的芯片組的至少 一個芯片被連接到支持所通知 的中斷的帶內(nèi)總線上,并且被配置成通過檢測帶內(nèi)總線上的同步包洪 水來檢測嚴(yán)重硬件錯誤的出現(xiàn).
22. 根據(jù)權(quán)利要求19的設(shè)備,其中,被配置成通知可編程邏輯設(shè)備該嚴(yán)重硬件錯誤的出現(xiàn)的芯片組的至少一個芯片進一步包括超級傳送 總線適配器。
23. 根據(jù)權(quán)利要求19的設(shè)備,其中,嵌入式系統(tǒng)微控制器進一步被 配置成將有關(guān)嚴(yán)重硬件錯誤的原因的信息存儲在系統(tǒng)錯誤日志中。
24. 根據(jù)權(quán)利要求19的設(shè)備,其中,嵌入式系統(tǒng)微控制器進一步被 配置成重新啟動計算機系統(tǒng)。
25. 根據(jù)權(quán)利要求19的設(shè)備,進一步包括計算機的固件,其被配置 成在重新啟動期間,根據(jù)有關(guān)嚴(yán)重硬件錯誤的原因的信息,確定在出 現(xiàn)嚴(yán)重硬件錯誤之后計算機是否能夠成功地返回服務(wù)。
26. 根據(jù)權(quán)利要求19的設(shè)備,其中帶內(nèi)總線是用于在芯片組的處理器、存儲器以及芯片之間傳送用 于執(zhí)行應(yīng)用程序的計算機程序指令和計算機程序數(shù)據(jù)的總線;以及邊帶總線是用于計算機的外圍服務(wù)部件與芯片組的處理器、存儲 器以及芯片之間的業(yè)務(wù)通信的總線。
27. 根據(jù)權(quán)利要求19的設(shè)備,其中 所述至少一個帶內(nèi)總線包括超級傳送總線;以及 所述至少一個邊帶總線包括聯(lián)合測試行動組('JTAG,)總線和集成電路間總線('I2C')。
28. 根據(jù)權(quán)利要求19的設(shè)備,其中嵌入式系統(tǒng)微控制器為底板管理 控制器('BMC,)。
全文摘要
揭示了用于處理計算機上的嚴(yán)重計算機硬件錯誤的方法及設(shè)備,其包括當(dāng)嚴(yán)重硬件錯誤的出現(xiàn)時,暫停計算機的數(shù)據(jù)處理操作;由芯片組的源芯片通知可編程邏輯設(shè)備嚴(yán)重硬件錯誤的出現(xiàn);由可編程邏輯設(shè)備通知嵌入式系統(tǒng)微控制器嚴(yán)重硬件錯誤的出現(xiàn);由嵌入式系統(tǒng)微控制器通過至少一個邊帶總線,從芯片組的芯片中的寄存器讀取有關(guān)嚴(yán)重硬件錯誤的原因的信息;以及由嵌入式系統(tǒng)微控制器將信息存儲在嵌入式系統(tǒng)微控制器的非易失隨機訪問存儲器中。
文檔編號G06F11/34GK101126995SQ20071011214
公開日2008年2月20日 申請日期2007年6月19日 優(yōu)先權(quán)日2006年8月14日
發(fā)明者丹尼爾·E.·哈利曼, 克里斯托弗·L.·伍德, 布魯斯·J.·威爾克, 施瓦·R.·達薩里, 李·H.·威爾森, 馬克·A.·布蘭迪貝里 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
金昌市| 南川市| 新闻| 平原县| 南丹县| 武乡县| 二连浩特市| 儋州市| 康定县| 大渡口区| 延吉市| 于都县| 阿拉善盟| 徐汇区| 兴和县| 宝兴县| 巢湖市| 句容市| 芒康县| 卓资县| 洪湖市| 高邮市| 蒙阴县| 家居| 衡山县| 仁化县| 特克斯县| 临武县| 海淀区| 金沙县| 繁昌县| 凌源市| 永顺县| 佛教| 泰州市| 定安县| 宿松县| 玛曲县| 祁阳县| 乐陵市| 宁安市|