TWI685751B - 伺服器裝置的錯誤報告功能的控制方法 - Google Patents

伺服器裝置的錯誤報告功能的控制方法 Download PDF

Info

Publication number
TWI685751B
TWI685751B TW107112339A TW107112339A TWI685751B TW I685751 B TWI685751 B TW I685751B TW 107112339 A TW107112339 A TW 107112339A TW 107112339 A TW107112339 A TW 107112339A TW I685751 B TWI685751 B TW I685751B
Authority
TW
Taiwan
Prior art keywords
error
control unit
reporting function
hardware component
time length
Prior art date
Application number
TW107112339A
Other languages
English (en)
Other versions
TW201944259A (zh
Inventor
黃佳仁
Original Assignee
神雲科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 神雲科技股份有限公司 filed Critical 神雲科技股份有限公司
Priority to TW107112339A priority Critical patent/TWI685751B/zh
Priority to US16/375,477 priority patent/US10970151B2/en
Publication of TW201944259A publication Critical patent/TW201944259A/zh
Application granted granted Critical
Publication of TWI685751B publication Critical patent/TWI685751B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本案提出一種適於伺服器裝置的錯誤報告功能的控制方法,包含:控制單元接收複數硬體元件中發生複數可更正之錯誤之第一硬體元件所發送之複數第一錯誤訊息、控制單元根據第一錯誤訊息判斷第一硬體元件所發生錯誤的各個錯誤類型、控制單元判斷第一硬體元件所發生之錯誤的各個錯誤類型的發生次數在第一預設時間長度內是否達到一預設次數、以及若控制單元判斷出第一硬體元件在第一預設時間長度內所發生之第一錯誤類型的錯誤的發生次數達到預設次數,控制單元控制第一硬體元件在發送第一錯誤訊息之後停止執行相應於第一錯誤類型的一錯誤報告功能。

Description

伺服器裝置的錯誤報告功能的控制方法
本發明是關於一種伺服器裝置的錯誤報告功能的控制方法。
在習知的伺服器中,伺服器之硬體元件在運作時有發生錯誤之機會。以快捷外設互聯標準(PCIE)介面為例,PCIE介面會發生的錯誤分為兩類:可更正之錯誤(correctable errors)以及不可更正之錯誤(uncorrectable errors)。不可更正之錯誤會造成PCIE介面無法正常運作,而可更正之錯誤不會造成PCIE介面無法正常運作,但仍會影響PCIE介面的效能。若發生可更正之錯誤,伺服器的硬體可對可更正之錯誤進行解錯而將其更正,並不需要藉由軟體觸發處理器中斷來更正可更正之錯誤。再者,伺服器之BIOS設定選單包含是否記錄可更正之錯誤之設定選項,伺服器之管理者可啟用前述之設定選項,使伺服器記錄可更正之錯誤而致使其硬體進一步根據紀錄對這一類可更正之錯誤進行解錯。
然而,雖然可更正之錯誤可以被伺服器之硬體更正,但當發生大量的可更正之錯誤時,伺服器之硬體對大量之可更正之錯誤進行解錯會增加其處理負擔,造成伺服器的效能低落,嚴重時甚至會導致伺服器當機。再者,若伺服器之管理者又進一步啟用前述之設定選項,當發生大量的可更正之錯誤時,伺服器更需進一步記錄大量發生之錯誤之訊息,更增加伺服器之處理負擔,大幅增加伺服器當機之風險。
有鑑於此,本發明提出一種伺服器裝置的錯誤報告功能的控制方法。
在一實施例中,一種適於伺服器裝置的錯誤報告功能的控制方法包含:控制單元接收複數硬體元件中發生複數可更正之錯誤之一第一硬體元件所發送之複數第一錯誤訊息、控制單元根據第一錯誤訊息判斷第一硬體元件所發生錯誤的各個錯誤類型、控制單元判斷第一硬體元件所發生之錯誤的各個錯誤類型的發生次數在一第一預設時間長度內是否達到一預設次數、以及若控制單元判斷出第一硬體元件在第一預設時間長度內所發生之一第一錯誤類型的錯誤的發生次數達到預設次數,控制單元控制第一硬體元件在發送第一錯誤訊息之後停止執行相應於第一錯誤類型的一錯誤報告功能。
綜上所述,根據本發明之伺服器裝置的錯誤報告功能的控制方法之一實施例,控制單元能根據硬體元件發生可更正之錯誤的類型來選擇關閉相應之硬體元件之錯誤報告功能,控制單元不需要將所有錯誤報告功能都關閉,如此可僅避免特定硬體元件發送大量之特定錯誤類型的錯誤訊息,維持伺服器裝置之效能,且可保留錯誤次數未達到預設次數的錯誤類型所對應的錯誤報告功能,維持系統之穩定性。
圖1為根據本發明之伺服器裝置之一實施例之方塊示意圖,圖1示例出伺服器裝置10包含複數硬體元件11-18及控制單元19,每一硬體元件11-18耦接於控制單元19。在此,圖1係以伺服器裝置10包含八個硬體元件11-18為例,然本發明不以此為限,伺服器裝置10所包含之硬體元件之數量可為小於八或是大於八。其中,每一硬體元件11-18具有相應於預定義的複數預設錯誤類型之一錯誤報告(error reporting)功能,若硬體元件11-18發生可更正之錯誤,硬體元件11-18執行相應於可更正之錯誤的錯誤報告功能,以根據預定義的複數預設錯誤類型發送分別相應於不同預設錯誤類型的錯誤訊息。舉例來說,預定義的預設錯誤類型的數量可為16,包含第一錯誤類型、第二錯誤類型、…、及第十六錯誤類型,若硬體元件11發生第一錯誤類型之錯誤,硬體元件11能發送相應於第一錯誤類型之錯誤訊息;若硬體元件11發生第二錯誤類型之錯誤,硬體元件11則能發送相應於第二錯誤類型之錯誤訊息;其他錯誤類型及其他硬體元件12-18則依此類推,於此不再贅述。
控制單元19耦接於硬體元件11-18,控制單元19用以接收並記錄來自於硬體元件11-18之錯誤訊息,並根據發送錯誤訊息之硬體元件及錯誤類型進行相應之除錯工作。並且,若控制單元19接收到來自於硬體元件11-18之錯誤訊息,控制單元19會啟動一錯誤數量之偵測機制,以避免硬體元件11-18發送的錯誤訊息過多而造成控制單元19處理負擔過重,導致伺服器裝置10的效能低落甚至是造成伺服器裝置10當機。
圖2為根據本發明之錯誤報告功能的控制方法之一實施例之流程圖,請合併參照圖1及圖2,在運作上,在控制單元19接收到來自於硬體元件11-18之錯誤訊息(步驟S11)之後,控制單元19根據前述預定義的複數預設錯誤類型判斷硬體元件11-18所發生之可更正之錯誤的各個錯誤類型(步驟S12)。控制單元19在步驟S12中可比對預設錯誤類型與錯誤訊息中表示錯誤類型之位元,以藉由判斷前述位元所表示之錯誤類型是否符合預設錯誤類型來判斷硬體元件11-18所發生之可更正之錯誤的各個錯誤類型。接著,控制單元19根據硬體元件11-18所發生之可更正之錯誤的各個類型判斷硬體元件11-18所發生之可更正之錯誤的各個錯誤類型的發生次數在一預設時間長度(以下稱為第一預設時間長度)內是否達到一預設次數(步驟S13)。
舉例來說,以第一預設時間長度為一小時且預設次數為三為例,控制單元19判斷每一硬體元件11-18在一小時內所發送之相應於第一錯誤類型之錯誤訊息的數量是否達到三,接著判斷每一硬體元件11-18在一小時內所發送之相應於第二錯誤類型之錯誤訊息的數量是否達到三,依此類推,控制單元19最後判斷在一小時內每一硬體元件11-18所發送之相應於第十六錯誤類型之錯誤訊息的數量是否達到三。在控制單元19執行步驟S13時,若控制單元19判斷出其中之一硬體元件(例如,硬體元件11)於第一預設時間長度內發送之其中一錯誤類型(例如,第一錯誤類型)之錯誤訊息的數量達到三(判斷結果為「是」),表示硬體元件11在一小時內發生第一錯誤類型之可更正之錯誤的發生次數達到三次,此時控制單元19關閉硬體元件11相應於第一錯誤類型之錯誤報告功能(步驟S14),也就是控制單元19控制硬體元件11停止執行相應於第一錯誤類型之錯誤報告功能,使硬體元件11在其錯誤報告功能被關閉之後若再次發生第一錯誤類型之錯誤,硬體元件11則不發送相應於第一錯誤類型之錯誤訊息,也就是控制單元19不會再接收到來自於硬體元件11之相應於第一錯誤類型之錯誤訊息,控制單元19亦不會對第一錯誤類型之可更正之錯誤進行解錯,進而避免因記錄過多相應於第一錯誤類型之錯誤訊息或是因過於頻繁地進行相應於第一錯誤類型之除錯工作而造成其處理負擔。
在一實施例中,在步驟S13中,以前述之預設次數為三為例,控制單元19可根據錯誤訊息的接收時間來計算同一錯誤類型中之第一個錯誤訊息之接收時間以及第三個錯誤訊息之接收時間之間的時間間隔,並判斷前述之時間間隔是否小於或等於第一預設時間長度。舉例來說,若硬體元件11於10時22分、10時23分、10時25分分別發生一個第五錯誤類型之錯誤,則控制單元19於前述之時間接收到硬體元件11所發送之三個錯誤訊息,則控制單元19可計算出硬體元件11發生第一個第五錯誤類型之可更正之錯誤與發生第三個第五錯誤類型之可更正之錯誤之間的時間間隔係為三分鐘而小於為一小時之第一預設時間長度;又,若硬體元件17於10時31分、10時32分、11時50分分別發生一個第十錯誤類型之錯誤,控制單元19能計算出硬體元件17發生第一個第十錯誤類型之錯誤與發生第三個第十錯誤類型之錯誤之間的時間間隔係為69分鐘而大於為一小時之第一預設時間長度。
於是,控制單元19不關閉硬體元件11相應於第一錯誤類型至第四錯誤類型之錯誤報告功能、相應於第六錯誤類型至第十六錯誤類型之錯誤報告功能,且控制單元19不關閉其他硬體元件12-17相應於第一錯誤類型至第十六錯誤類型之錯誤報告功能,控制單元19僅關閉硬體元件11相應於第五錯誤類型之錯誤報告功能。爾後,若硬體元件11發生第五錯誤類型之錯誤,硬體元件11不發送相應於第五錯誤類型之錯誤訊息,硬體元件11僅將相應於其他錯誤類型之錯誤訊息至控制單元19,例如第三錯誤類型、第七錯誤類型等。
在一實施例中,控制單元19可包含一晶片組191及一中央處理器192。晶片組191分別耦接於硬體元件11-18及中央處理器192。晶片組191用以接收來自於硬體元件11-18之錯誤訊息並對硬體元件11-18進行除錯工作。並且,若晶片組191判斷出硬體元件11-18發生錯誤,晶片組191發送一系統管理中斷(System Management Interrupt;SMI)訊號至中央處理器192,以啟動中央處理器192之系統管理模式(System Management mode;SMM),中央處理器192在SMM模式中執行步驟S12至步驟S13,以進行前述之偵測機制。
再者,硬體元件11-18可為PCIE介面卡。晶片組191具有複數根埠(root port),複數根埠係一對一地耦接於硬體元件11-18中之每一者,控制單元19可在接收到之錯誤訊息時掃描每一根埠,以偵測複數根埠中之哪一者接收到錯誤訊息而判斷出係硬體元件11-18中之哪一者發送之錯誤訊息,例如硬體元件11,以自硬體元件11-18中判斷出係硬體元件11在第一預設時間長度內所發生之第五錯誤類型的可更正之錯誤的發生次數達到預設次數。並且,控制單元19更藉由前述耦接於硬體元件11之根埠單獨地控制硬體元件11不發送相應於第五錯誤類型之錯誤訊息。
進一步,在另一些實施例中,硬體元件11-18亦可為記憶體單元,也就是硬體元件11-18中之每一者包含複數記憶體通道,且每一記憶體通道包含至少一雙線記憶體模組(Dual In-line Memory Module;DIMM)。於此,控制單元19在接收到來自於硬體元件11-18之錯誤訊息之後可藉由掃描每一記憶體通道的每一雙線記憶體模組,以判斷係哪一雙線記憶體模組在第一預設時間長度內發生特定錯誤類型的可更正之錯誤的次數達到預設次數。並且,控制單元19可單獨地控制硬體元件11-18中之任一者之其中一雙線記憶體模組停止執行特定之預設錯誤類型之錯誤報告功能。
在一實施例中,以前述之控制單元19關閉硬體元件11相應於第五錯誤類型之錯誤報告功能為例,控制單元19在關閉硬體元件11相應於第五錯誤類型之錯誤報告功能之後,控制單元19進一步計算被關閉的相應於第五錯誤類型之錯誤報告功能的關閉時間長度(以下稱為第一關閉時間長度)(步驟S15)(圖式中則將關閉時間長度簡稱為關閉時長),並判斷硬體元件11相應於第五錯誤類型之錯誤報告功能的第一關閉時間長度是否達到另一預設時間長度(以下稱為第二預設時間長度)(步驟S16),若硬體元件11之錯誤報告功能的第一關閉時間長度達到第二預設時間長度(判斷為「是」),控制單元19則判斷是否需重新啟動被關閉的錯誤報告功能,也就是判斷是否需控制硬體元件11執行相應於第五錯誤類型之錯誤報告功能而在發生第五錯誤類型之錯誤時發送相應於第五錯誤類型之錯誤訊息。
詳細而言,控制單元19可藉由判斷硬體元件11在其錯誤報告功能的關閉期間是否再次發生相同錯誤類型之錯誤(步驟S17),即第五錯誤類型之錯誤,來決定是否需控制硬體元件11再次發送相應於第五錯誤類型之錯誤訊息。若控制單元19判斷為「否」,表示在第五錯誤類型之錯誤報告功能的關閉期間,硬體元件11並未再次發生第五錯誤類型之可更正之錯誤,此時控制單元19重新啟動硬體元件11相應於第五錯誤類型之錯誤報告功能(步驟S18),使硬體元件11在爾後之時間點若發生第五錯誤類型之錯誤時能執行其錯誤報告功能而發送相應於第五錯誤類型之錯誤訊息。另一方面,若控制單元19在執行步驟S17時判斷為「是」,表示在第五錯誤類型之錯誤報告功能的關閉期間,硬體元件11再次發生相同之第五錯誤類型之錯誤,為避免硬體元件11再次在第一預設時間長度內發生第五錯誤類型之錯誤之次數達到預設次數,控制單元19不重新啟動硬體元件11相應於第五錯誤類型之錯誤報告功能。此時,控制單元19可重新計算被關閉之錯誤報告功能的一關閉時間長度(以下稱為第二關閉時間長度)(步驟S19)並回到步驟S16重新判斷被關閉之錯誤報告功能的第二關閉時間長度是否達到第二預設時間長度,以決定是否需重新啟動被關閉之錯誤報告功能。
在實作上,控制單元19係在執行作業系統時執行步驟S11~S19。再者,在步驟S15中,控制單元19可記錄硬體元件11之相應於第五錯誤類型的錯誤報告功能的關閉時間,並實時地根據當前時間(real-time)及前述之關閉時間來計算第五錯誤類型的錯誤報告功能的第一關閉時間長度及第二關閉時間長度,並據以在步驟S16中判斷第一關閉時間長度及第二關閉時間長度是否達到第二預設時間長度。在一實施例中,前述之第二預設時間長度可為三天。
圖3A及圖3B為根據本發明之錯誤報告功能的控制方法之另一實施例之流程圖,請合併參照圖1、圖3A及圖3B。在一實施例中,當控制單元19接收到來自於硬體元件11-18之錯誤訊息(步驟S11)時,控制單元19可進一步設定儲存於非揮發性記憶體(non-volatile memory)中之一旗標訊號為第一邏輯位準(步驟S04),以表示硬體元件11-18已發生可更正之錯誤。再者,當控制單元19在步驟S13中判斷出各個錯誤類型的發生次數在第一預設時間長度內達到預設次數時,控制單元19可進一步對大量發生之可更正之錯誤進行相應之處置(步驟S05),例如控制單元19在步驟S05中可記錄前述之硬體元件11所發送之相應於第五錯誤類型之錯誤訊息,並產生包含錯誤訊息之紀錄檔,控制單元19可根據已記錄之錯誤訊息進行解錯。進一步,控制單元19在對大量發生之可更正之錯誤進行相應之處置之後,控制單元19可重新設定前述之旗標訊號為第二邏輯位準(步驟S06),第二邏輯位準係不同於第一邏輯位準,以藉由旗標訊號之不同邏輯位準來表示控制單元19是否已對大量發生之可更正之錯誤進行相應之處置。在實作上,前述之第一邏輯位準可為「1」,第二邏輯位準可為「0」。
基此,在步驟S05中,以控制單元19係在前述之第一預設時間長度內進行解錯為例,控制單元19可在前述之為一小時之第一預設時間長度對硬體元件11所發生之第五錯誤類型之錯誤進行解錯,而控制單元19在每次執行開機自我檢測(Power-on self-test;POST)程序時會根據前述之旗標訊號之邏輯位準來判斷是否已對大量發生之可更正之錯誤進行解錯,藉以判斷是否需將第一預設時間長度進行延長。如圖3A所示,控制單元19在執行開機自我檢測程序時可判斷儲存於前述之非揮發性記憶體中之旗標訊號是否為第一邏輯位準(步驟S01),若判斷為「是」,表示在執行本次之開機自我檢測程序之前的伺服器裝置10的運行期間(以下稱為前次運行期間)中,硬體元件11-18中之任一者已發生可更正之錯誤(例如,前述之硬體元件11),而控制單元19在前次運行期間中還未對已發生之可更正之錯誤進行處置而未將旗標訊號設定為第二邏輯位準。舉例來說,伺服器裝置10在控制單元19將旗標訊號設定為第一邏輯位準(步驟S04)之後當機導致控制單元19在將旗標訊號設定為第一邏輯位準後來不及對已發生之錯誤進行處置(步驟S05)。例如:當該硬體元件11在第一預設時間長度發生多次的可更正錯誤(correctable errors),造成控制單元19處理負擔過重,導致伺服器裝置10當機。換句話說,當執行開機自我檢測程序時,若控制單元19判斷出該旗標訊號為第一邏輯位準,代表著前一次運行期間很可能發生多次的可更正錯誤而造成當機,因此來不及對已發生之錯誤進行處置,所以旗標訊號在本次開機自我檢測時為第一邏輯位準。
在一較佳實施例,在每次執行開機自我檢測程序時,若控制單元19判斷出前述之旗標訊號為第一邏輯位準,控制單元19則在開機自我檢測程序中延長第一預設時間長度(步驟S02),例如控制單元19可根據一預設倍數(以下以二為例)來將第一預設時間長度延長為原來的兩倍,並在開機自我檢測程序中設定旗標訊號為第二邏輯位準(步驟S03),以在後續執行作業系統時之步驟S13中根據延長後之第一預設時間長度來判斷硬體元件11-18是否發生其中一錯誤類型的錯誤的次數達到預設次數,並根據延長後之第一預設時間長度之判斷結果決定是否設定旗標訊號,使旗標訊號由第二邏輯位準改變至第一邏輯位準。再者,倘若伺服器裝置10在控制單元19根據延長後之第一預設時間長度在步驟S04中設定旗標訊號為第一邏輯位準之後又再次當機,控制單元19在伺服器裝置10第二次當機之後之開機自我檢測程序中會再次地由步驟S01開始執行以根據為第一邏輯位準之旗標訊號而再次地將第一預設時間長度延長。於此,控制單元19在將第一預設時間長度延長後則在執行作業系統時具有較充裕的時間來對硬體元件11-18發生之大量可更正之錯誤進行相應之處置,若控制單元19在將第一預設時間長度延長之後伺服器裝置10仍然當機,則控制單元19能藉由步驟S02不斷地延長第一預設時間長度來爭取更充裕之處置時間直到伺服器裝置10不再當機為止,進而增加伺服器裝置之系統穩定性。
另一方面,若控制單元19在開機自我檢測程序中判斷出前述之旗標訊號為第二邏輯位準而非為第一邏輯位準(判斷為「否」),控制單元19則不延長第一預設時間長度。待伺服器裝置10完成其開機自我檢測程序時,控制單元19再根據來自於硬體元件11-18之錯誤訊息執行其偵測機制。在一實施例中,控制單元19係在執行作業系統時執行步驟S04~S06。
舉例來說,若伺服器裝置10因發生多次的可更正錯誤而當機並在不同時間點先後執行一開機自我檢測程序(以下將伺服器裝置10當機前先執行之開機自我檢測程序稱為第一開機自我檢測程序,並將伺服器裝置10當機之後執行之開機自我檢測程序稱為第二開機自我檢測程序),在伺服器裝置10執行第一開機自我檢測程序後,若控制單元19在執行作業系統時自任一硬體元件11-18接收錯誤訊息,控制單元19會藉由步驟S04設定旗標為第一邏輯位準,以表示任一硬體元件11-18發生可更正之錯誤;接著,在控制單元19未執行步驟S05、S06之前,若伺服器裝置10因硬體元件11-18發生大量錯誤當機而在當機之後執行第二開機自我檢測程序,控制單元19則在第二開機自我檢測程序中執行步驟S01,並判斷出旗標為第一邏輯位準,表示控制單元19在第一開機自我檢測程序後執行作業系統時未即時地在第一預設時間長度內對大量之可更正之錯誤進行處置,控制單元19在第二開機自我檢測程序中再藉由步驟S02來將前述之第一預設時間長度延長,且在第二開機自我檢測程序中藉由步驟S03重新設定旗標為第二邏輯位準。
在實作上,控制單元19係藉由執行BIOS碼來執行步驟S01~S06、S12~S19。再者,以前述之硬體元件11-18為PCIE介面卡為例,前述之複數預設錯誤類型可為接收器錯誤狀態(Receiver Error Status)、壞資料交易層封包狀態(Bad TLP Status)、壞資料連結層封包(Bad DLLP Status)、重送計時器時間終止狀態(Replay Timer Timeout Status)、諮詢式非致命錯誤狀態(Advisory Non-Fatal Error Status)、標頭記錄溢位狀態(Header Log Overflow Status)等。
綜上所述,根據本發明之伺服器裝置的錯誤報告功能的控制方法之一實施例,控制單元能根據硬體元件發生可更正之錯誤的類型來選擇關閉相應之硬體元件之錯誤報告功能,控制單元不需要將所有錯誤報告功能都關閉,如此可僅避免特定硬體元件發送大量之特定錯誤類型的錯誤訊息,維持伺服器裝置之效能,且可保留錯誤次數未達到預設次數的錯誤類型所對應的錯誤報告功能,維持系統之穩定性。
雖然本案已以實施例揭露如上然其並非用以限定本案,任何所屬技術領域中具有通常知識者,在不脫離本案之精神和範圍內,當可作些許之更動與潤飾,故本案之保護範圍當視後附之專利申請範圍所界定者為準。
10           伺服器裝置 11-18      硬體元件 19           控制單元 191         晶片組 192         中央處理器
[圖1] 為根據本發明之伺服器裝置之一實施例之方塊示意圖。 [圖2] 為根據本發明之錯誤報告功能的控制方法之一實施例之流程圖。 [圖3A] 為根據本發明之錯誤報告功能的控制方法之另一實施例之部分之流程圖。 [圖3B] 為接續圖3A之另一部分之流程圖。
10           伺服器裝置 11-18      硬體元件 19           控制單元 191         晶片組 192         中央處理器

Claims (10)

  1. 一種適於伺服器裝置的錯誤報告功能的控制方法,包含:一控制單元接收複數硬體元件中發生複數可更正之錯誤之一第一硬體元件所發送之複數第一錯誤訊息;該控制單元根據該些第一錯誤訊息判斷該第一硬體元件所發生該些錯誤的各個錯誤類型;該控制單元判斷該第一硬體元件所發生之該些錯誤的各個不同錯誤類型的各發生次數在一第一預設時間長度內是否分別達到一預設次數;及若該控制單元判斷出該第一硬體元件在該第一預設時間長度內發生各個不同錯誤類型中之其中一第一錯誤類型的該些錯誤的發生次數達到該預設次數,該控制單元控制該第一硬體元件在發送該些第一錯誤訊息之後停止執行複數錯誤報告功能中相應於該第一錯誤類型的一錯誤報告功能以關閉相應於該第一錯誤類型的該錯誤報告功能。
  2. 如請求項1所述之適於伺服器裝置的錯誤報告功能的控制方法,其中該些硬體元件係為PCIE介面卡,該控制單元係藉由掃描耦接於該些硬體元件之複數根埠而自該些硬體元件中判斷出該第一硬體元件在該第一預設時間長度內所發生之該第一錯誤類型的該些錯誤的發生次數達到該預設次數,且該控制單元係藉由該些根埠自該些硬體元件中控制該第一硬體元件停止執行相應於該第一錯誤類型的該錯誤報告功能。
  3. 如請求項1所述之適於伺服器裝置的錯誤報告功能的控制方法,其中該些硬體元件係為記憶體單元,每一該硬體元件包含複數記憶體通道,且每一該記憶體通道設置有至少一雙線記憶體模組,該控制單元更 掃描每一該記憶體通道的每一該雙線記憶體模組,以判斷出係該第一硬體元件中之哪一該雙線記憶體模組在該第一預設時間長度內發生該第一錯誤類型的錯誤的次數達到該預設次數,且該控制單元更控制該第一硬體元件所包含之其中一該雙線記憶體模組停止執行相應於該第一錯誤類型的該錯誤報告功能。
  4. 如請求項1所述之適於伺服器裝置的錯誤報告功能的控制方法,於該控制單元控制該第一硬體元件停止執行相應於該第一錯誤類型的該錯誤報告功能之後,適於伺服器裝置的錯誤報告功能的控制方法更包含:該控制單元計算該第一硬體元件停止執行相應於該第一錯誤類型的該錯誤報告功能的一第一關閉時間長度;該控制單元判斷該第一關閉時間長度是否達到一第二預設時間長度;及當該第一關閉時間長度達到該第二預設時間長度時,該控制單元判斷是否需控制該第一硬體元件重新啟動相應於該第一錯誤類型的該錯誤報告功能。
  5. 如請求項4所述之適於伺服器裝置的錯誤報告功能的控制方法,其中該控制單元判斷是否需控制該第一硬體元件重新啟動相應於該第一錯誤類型的該錯誤報告功能之步驟包含:該控制單元判斷該第一硬體元件在該錯誤報告功能之關閉期間是否發生對應該第一錯誤類型之另一錯誤;及若該控制單元判斷為否,該控制單元控制該第一硬體元件重新啟動相應於該第一錯誤類型的該錯誤報告功能。
  6. 如請求項5所述之適於伺服器裝置的錯誤報告功能的控制方法,更包含:若該控制單元判斷出該第一硬體元件在該錯誤報告功能之關閉期間發生對應該第一錯誤類型之該另一錯誤,該控制單元於該第一關閉時間長度達到該第二預設時間長度時重新計算被關閉之該錯誤報告功能的一第二關閉時間長度;及該控制單元判斷該第二關閉時間長度是否達到該第二預設時間長度,以決定是否需控制第一硬體元件重新啟動相應於該第一錯誤類型的該錯誤報告功能。
  7. 如請求項1所述之適於伺服器裝置的錯誤報告功能的控制方法,更包含:當該控制單元在該伺服器裝置執行一第一開機自我檢測程序後執行一作業系統時判斷出該第一硬體元件在該第一預設時間長度內該第一錯誤類型的該些錯誤的發生次數達到該預設次數時,該控制單元在該伺服器裝置執行晚於該作業系統之一第二開機自我檢測程序時延長該第一預設時間長度。
  8. 如請求項1所述之適於伺服器裝置的錯誤報告功能的控制方法,在該控制單元判斷該第一硬體元件在該第一預設時間長度內該些錯誤的各個錯誤類型的發生次數是否達到該預設次數之步驟中:該控制單元係在該第一預設時間長度內對該第一硬體元件所發生之該些錯誤進行解錯。
  9. 如請求項7所述之適於伺服器裝置的錯誤報告功能的控制方法,於該控制單元延長該第一預設時間長度之步驟中,該控制單元係於該第二開機自我檢測程序中根據一預設倍數延長該第一預設時間長度。
  10. 如請求項1所述之適於伺服器裝置的錯誤報告功能的控制方法,其中該控制單元係在該伺服器裝置在不同時間點先後執行之一第一開機自我檢測程序與一第二開機自我檢測程序之間執行一作業系統時自該第一硬體元件接收該些第一錯誤訊息,且該控制單元係在該第一開機自我檢測程序與該第二開機自我檢測程序之間執行該作業系統時判斷該第一硬體元件所發生之該些錯誤的各個錯誤類型的發生次數在該第一預設時間長度內是否達到該預設次數,適於伺服器裝置的錯誤報告功能的控制方法更包含:若該第一硬體元件發生該些可更正之錯誤,該控制單元在執行該作業系統時根據該些第一錯誤訊息設定一旗標訊號為一第一邏輯位準;若該控制單元在執行該作業系統時判斷出該第一硬體元件在該第一預設時間長度內該第一錯誤類型之該些錯誤的發生次數達到該預設次數時,該控制單元在執行該作業系統時對該些可更正之錯誤進行相應之處置,並在進行處置後重新設定該旗標訊號為有別於該第一邏輯位準之一第二邏輯位準;該控制單元在執行該第二開機自我檢測程序時判斷該旗標訊號是否為該第一邏輯位準,以判斷在執行該作業系統時是否已對該些可更正之錯誤進行相應之處置;及 當該控制單元在該第二開機自我檢測程序中判斷出該旗標訊號為該第一邏輯位準時,該控制單元在該第二開機自我檢測程序中根據一預設倍數延長該第一預設時間長度並重新設定該旗標訊號為該第二邏輯位準。
TW107112339A 2018-04-10 2018-04-10 伺服器裝置的錯誤報告功能的控制方法 TWI685751B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW107112339A TWI685751B (zh) 2018-04-10 2018-04-10 伺服器裝置的錯誤報告功能的控制方法
US16/375,477 US10970151B2 (en) 2018-04-10 2019-04-04 Method for controlling correctable error reporting function for server device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107112339A TWI685751B (zh) 2018-04-10 2018-04-10 伺服器裝置的錯誤報告功能的控制方法

Publications (2)

Publication Number Publication Date
TW201944259A TW201944259A (zh) 2019-11-16
TWI685751B true TWI685751B (zh) 2020-02-21

Family

ID=68098901

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107112339A TWI685751B (zh) 2018-04-10 2018-04-10 伺服器裝置的錯誤報告功能的控制方法

Country Status (2)

Country Link
US (1) US10970151B2 (zh)
TW (1) TWI685751B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI709039B (zh) * 2019-04-25 2020-11-01 神雲科技股份有限公司 伺服器及錯誤事件紀錄登載功能的控制方法
CN110579674B (zh) * 2019-10-14 2021-05-04 珠海格力电器股份有限公司 简化结构的故障检测电路、故障判断方法及设备
CN113687967A (zh) * 2020-05-18 2021-11-23 佛山市顺德区顺达电脑厂有限公司 开机错误信息记录方法
CN112948160B (zh) * 2021-02-26 2023-02-28 山东英信计算机技术有限公司 一种内存ecc问题的定位修复方法及装置
KR102618998B1 (ko) * 2022-12-21 2024-01-02 쿠팡 주식회사 애플리케이션의 에러의 발생을 알리는 정보를 제공하는 사용자 단말 및 그 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI553650B (zh) * 2014-04-16 2016-10-11 英特爾公司 以記憶體控制器來處理資料錯誤事件之方法、設備及系統
US9594570B2 (en) * 2011-11-22 2017-03-14 Intel Corporation Computing platform with interface based error injection
TWI588649B (zh) * 2016-02-24 2017-06-21 廣達電腦股份有限公司 硬體修復方法、硬體修復系統以及計算機可讀取儲存裝置
CN107077408A (zh) * 2016-12-05 2017-08-18 华为技术有限公司 故障处理的方法、计算机***、基板管理控制器和***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7945841B2 (en) * 2006-12-06 2011-05-17 Intel Corporation System and method for continuous logging of correctable errors without rebooting
US8230286B1 (en) * 2009-06-16 2012-07-24 Cisco Technology, Inc. Processor reliability improvement using automatic hardware disablement
US9396059B2 (en) * 2013-12-19 2016-07-19 Intel Corporation Exchange error information from platform firmware to operating system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9594570B2 (en) * 2011-11-22 2017-03-14 Intel Corporation Computing platform with interface based error injection
TWI553650B (zh) * 2014-04-16 2016-10-11 英特爾公司 以記憶體控制器來處理資料錯誤事件之方法、設備及系統
TWI588649B (zh) * 2016-02-24 2017-06-21 廣達電腦股份有限公司 硬體修復方法、硬體修復系統以及計算機可讀取儲存裝置
CN107077408A (zh) * 2016-12-05 2017-08-18 华为技术有限公司 故障处理的方法、计算机***、基板管理控制器和***

Also Published As

Publication number Publication date
US20190310908A1 (en) 2019-10-10
TW201944259A (zh) 2019-11-16
US10970151B2 (en) 2021-04-06

Similar Documents

Publication Publication Date Title
TWI685751B (zh) 伺服器裝置的錯誤報告功能的控制方法
US7594144B2 (en) Handling fatal computer hardware errors
US7689875B2 (en) Watchdog timer using a high precision event timer
US8122285B2 (en) Arrangements detecting reset PCI express bus in PCI express path, and disabling use of PCI express device
US20100162045A1 (en) Method, apparatus and system for restarting an emulated mainframe iop
US6912670B2 (en) Processor internal error handling in an SMP server
US8984266B2 (en) Techniques for stopping rolling reboots
US10877845B2 (en) Apparatus and method for diagnostic use of BIOS attributes to remediate configuration issues
US11132314B2 (en) System and method to reduce host interrupts for non-critical errors
US20040143776A1 (en) Hot plug interfaces and failure handling
US11314866B2 (en) System and method for runtime firmware verification, recovery, and repair in an information handling system
US10896087B2 (en) System for configurable error handling
US7162714B2 (en) Software-based watchdog method and apparatus
US11175977B2 (en) Method and system to detect failure in PCIe endpoint devices
US7219264B2 (en) Methods and systems for preserving dynamic random access memory contents responsive to hung processor condition
TW202109298A (zh) 能夠有效率地回報除錯資訊給主機的快閃記憶體控制器及方法
US11442831B2 (en) Method, apparatus, device and system for capturing trace of NVME hard disc
US8839268B2 (en) Method and system of preventing silent data corruption
TW202040361A (zh) 伺服器及錯誤事件紀錄登載功能的控制方法
US8392751B2 (en) System and method for recovery from uncorrectable bus errors in a teamed NIC configuration
CN110471814B (zh) 服务器装置的错误报告功能的控制方法
US20120311133A1 (en) Facilitating processing in a communications environment using stop signaling
CN114003416B (zh) 内存错误动态处理方法、***、终端及存储介质
US11366710B1 (en) Methods and systems for reducing downtime from system management mode in a computer system
KR20210155751A (ko) 스토리지 장치들의 충돌 복구에 대한 시스템, 방법 및 장치