TWI772024B - 減少停機時間的方法及系統 - Google Patents

減少停機時間的方法及系統 Download PDF

Info

Publication number
TWI772024B
TWI772024B TW110117851A TW110117851A TWI772024B TW I772024 B TWI772024 B TW I772024B TW 110117851 A TW110117851 A TW 110117851A TW 110117851 A TW110117851 A TW 110117851A TW I772024 B TWI772024 B TW I772024B
Authority
TW
Taiwan
Prior art keywords
ras
error
handler
silicon
sci
Prior art date
Application number
TW110117851A
Other languages
English (en)
Other versions
TW202234241A (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 廣達電腦股份有限公司
Application granted granted Critical
Publication of TWI772024B publication Critical patent/TWI772024B/zh
Publication of TW202234241A publication Critical patent/TW202234241A/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/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/0721Error 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 within a central processing unit [CPU]
    • G06F11/0724Error 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 within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • 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/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/0787Storage of error reports, e.g. persistent data storage, storage using memory protection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Physical Or Chemical Processes And Apparatus (AREA)

Abstract

所揭露的是一種系統及方法,用於當電腦系統中的硬體元件發生錯誤時縮短系統管理模式。電腦系統具有可能有錯誤的硬體元件。其中一個硬體元件中的錯誤之通知,經由處理單元上的RAS矽所接收。錯誤是從硬體元件,藉由自舉處理器核心所執行的系統管理中斷處置器所偵測。錯誤資料經由處理單元所執行的系統控制中斷處置器,而登錄進系統錯誤日誌。在登錄錯誤資料之期間,避免了系統管理模式。這預防系統管理模式使其他處理器核心暫停。

Description

減少停機時間的方法及系統
本揭露廣泛地涉及電腦系統中的作業可靠性(operating reliability),更特別涉及一種系統,在系統管理模式之期間傳送錯誤回報(error reporting),以使處理器核心得以維持運作。
伺服器被大量地運用在高需求應用中,像是基於網路的系統或資料中心。雲端運算運用的出現,增加了對於資料中心的需求。資料中心擁有許多伺服器,儲存資料並執行遠端連線的電腦裝置使用者所存取的應用。典型的資料中心具有物理的機架(rack)結構,伴隨著電力與通訊的連接。每一機架可承受多個運算伺服器及儲存伺服器。每一伺服器通常包含硬體元件,像是處理器、記憶體裝置、網路介面卡、電源供應,及其他專用硬體。每一伺服器通常包含基板管理控制器(baseboard management controller;BMC),管理伺服器的運作,以及將運算數據傳達至管理機架之伺服器的中央管理站。
典型的伺服器具有處理單元,處理單元可具有多個供運算作業的核心(cores)。這些核心是由作業系統所執行,以與其他伺服器內的硬體元件進行溝通。作業系統的其中一項功能,是判別出指向硬體元件故障的錯誤。處理單元的晶片組亦可包含處理輸入/輸出功能的南橋晶片,及處理記憶體運作的北橋晶片。南橋晶片與北橋晶片的另一功能,是透過晶片上專門的可靠性、可用性和可維護性(reliability-availability-serviceable;RAS)矽,處理不同的RAS特徵。RAS特徵是設計以提升可靠性及可用性,並且使運算系統中的週邊元件之服務更為便利。RAS特徵的主要目標為:1)提升系統正常運作時間;2)減少意外的停機時間;以及3)維護資料完整性。舉例來說,RAS特徵可偵測像是附加卡(add-on cards)、雙直插記憶體模組(dual in-line memory module;DIMM)及硬碟機(hard disk drives;HDD)等配件上的錯誤。RAS特徵使錯誤之紀錄得以供未來分析之用,以及得以決定操作者是否必須替換硬體元件。
系統管理模式(system management mode;SMM)是一種習知的特殊用途運作模式,提供以處理全系統的功能,像是電腦系統中的電源管理或系統硬體控制。SMM為作業系統或是執行者及軟體應用,提供一種截然不同、易於隔離且運作透明的處理器環境。處理單元在獨立的位址空間(address space)中執行SMM韌體編碼,該位址空間是處理單元的其他運作模式所無法存取的。SMM僅能透過系統管理中斷(system management interrupt;SMI)而進入。
SMI被普遍使用於伺服器平台,以處理不同的RAS特徵。通常,SMM是由電腦系統之自舉處理器(bootstrap processor;BSP)所執行。在SMM之期間,自舉處理器執行事件登錄(event logging),以記錄報錯的裝置。一旦鑑別識出報錯的裝置,技術人員即可進行替換。舉例來說,關於快速周邊組件互連(peripheral component interconnect express;PCIe)裝置,RAS錯誤回報是由兩種功能所組成:錯誤登錄(error logging);及錯誤示信(error signaling)。此RAS特徵涵蓋發生在PCIe介面本身上的錯誤之回報、發生在PCIe元件上代表所發起交易的錯誤之回報,以及發生在PCIe元件內且關聯於PCIe介面的錯誤之回報。另一範例為,RAS錯誤回報可以是關聯於來自雙直插記憶體模組(dual in-line memory module;DIMM)之類的記憶體裝置的錯誤之記憶體特定錯誤特徵。
然而,當電腦系統進入SMM,所有的處理核心及執行緒(thread)亦進入SMM模式,直到自舉處理器(bootstrap processor;BSP)完成各自的SMM RAS服務並離開SMM。在SMM RAS服務被執行的同時,系統服務及應用程式皆暫停執行。這表示電腦系統無法提供其他的運算服務,因而導致等待自舉處理器離開SMM的這段停機時間。
第1A圖是一種先前技術的電腦系統10之方塊圖,電腦系統10可發起RAS服務,以供錯誤偵測及登錄。電腦系統10可包含處理單元之南橋晶片12、基本輸入輸出系統(basic input/output system;BIOS)14、基板管理控制器(baseboard management controller;BMC)16,及作業系統(operating system;OS)18。中央處理單元(CPU)/南橋12為電腦系統10執行基本輸入/輸出功能,並且包含RAS矽20。RAS矽20監控不同的硬體裝置22。在本範例中,硬體裝置22包含快速周邊組件互連(peripheral component interconnect express;PCIe)裝置、雙直插記憶體模組(dual in-line memory module;DIMM)、硬碟機(hard disk drives;HDD)、通用串列匯流排(universal serial bus;USB)裝置、串列週邊介面(serial peripheral interface;SPI)裝置,及系統管理匯流排(system management bus;SMBUS)裝置。
平台BIOS 14包含RAS SMI處置器(handler)24及RAS系統控制中斷(system control interrupt;SCI)處置器26。在本範例中,RAS SMI處置器24處理SMM中斷。RAS SCI處置器26處理系統控制中斷,以對作業系統18提供通知。系統管理中斷發生於SMM被觸發時。RAS SMI處置器24判斷錯誤之來源,並致使裝置上的錯誤資料寫入BMC 16中的系統事件日誌(system event log;SEL)28。將錯誤資料登錄到SEL 28中的過程需要相對長的時間,並且是發生在SMM之期間。在SMM之期間,處理單元(例如CPU)防止作業系統18從處理器核心運行執行緒或其他操作。
第1B圖是第1A圖中先前技術的電腦系統10之時序圖,繪示出SMM阻止進一步運作的議題。如第1A圖中的其中一個硬體裝置22的硬體裝置30可能會故障,於是造成錯誤。RAS矽20進行操作50,從硬體裝置30接收錯誤通知並調用(invoke)SMI處置器24。於是,RAS矽20進行操作52,產生系統管理中斷(SMI)並進入系統管理模式(SMM)。在SMM之期間,SMI處置器24進行操作54,與硬體裝置30通訊並偵測與蒐集錯誤相關資訊。SMI處置器24進行操作56,將符合進階組態與電源介面(Advanced Configuration and Power Interface;ACPI)記憶體中的ACPI協定的錯誤資訊儲存至SCI處置器26。SMI處置器24進行操作58,對SCI處置器26發起系統控制中斷。SMI處置器24進行操作60,發起錯誤登錄,以將錯誤資訊寫入BMC 16之系統錯誤日誌28。SCI處置器26進行操作62,將系統控制中斷通知給作業系統18。在執行SMM之期間,作業系統18無法執行任何執行緒或任何其他處理運作。
對於像伺服器等的運算系統之錯誤偵測以及回報運作中出錯的週邊元件而言,RAS特徵是很重要的。然而,每次一執行SMI,整台伺服器就必須凍結,因為作業系統暫停所有的核心以進入SMM,而這造成了停機時間,且因此降低了系統效能。此外,若頻繁地從伺服器上的裝置斷言(assert)出錯誤,則這些錯誤會導致一連串的SMI,因而增加了停機時間。由於停機時間,這種一連串的SMI可能對系統效能會有很大的影響。
因此,需要一種系統,能縮短SMM之有效時間,以減少電腦系統之停機時間。也需要一種系統,能將錯誤登錄轉移至系統控制中斷處置器,以縮短SMM。又需要一種系統,能將所有的RAS功能從系統管理處置器轉移至系統控制中斷處置器。
「實施例」一詞及類似的詞彙旨在廣泛地指代本發明及以下請求項的所有申請標的。包含這些詞彙的陳述不應被理解為限制在此所述的申請標的或限制以下的請求項的含義或範圍。在此所涵蓋的本揭露之實施例,是由以下的請求項而非本發明內容所限定。本發明內容是本揭露之各方面的高階綜述,並且介紹了一些概念,這些概念在以下實施方式的段落中會進一步描述。本發明內容並不旨在標識出所請求的申請標的之必要特徵,也不旨在單獨用於決定所請求的申請標的之範圍。藉由參考本發明的整個說明書的適當部分、任何或所有的圖式,以及每個請求項,應當理解本申請標的。
所揭露的範例是一種減少停機時間的電腦系統,包含:基本輸入輸出系統(basic input output system;BIOS)晶片;處理單元,包含自舉核心(bootstrap core)及矽(silicon),自舉核心執行儲存在BIOS晶片中的系統管理中斷處置器及系統控制中斷處置器,矽用於接收錯誤資訊;硬體元件,耦接至處理單元,硬體元件將錯誤資訊發送給矽;以及管理控制器,包含系統錯誤日誌,管理控制器耦接至處理單元,其中自舉核心執行系統控制中斷處置器,以避免系統管理模式,及其中系統控制中斷處置器將硬體元件之錯誤登錄進系統事件日誌。
在範例系統的更多實施例中,管理控制器為基板管理控制器(baseboard management controller;BMC)。在另一實施例中,電腦系統為伺服器。在另一實施例中,自舉核心進入系統管理模式,並執行系統管理中斷處置器,以偵測錯誤;以及系統管理中斷處置器在偵測到錯誤後,離開系統管理模式。在另一實施例中,硬體元件為快速周邊組件互連(peripheral component interconnect express;PCIe)裝置、雙直插記憶體模組(dual in-line memory module;DIMM)、硬碟機(hard disk drives;HDD)、通用串列匯流排(universal serial bus;USB)裝置、串列週邊介面(serial peripheral interface;SPI)裝置與系統管理匯流排(system management bus;SMBUS)裝置的其中一者。在另一實施例中,處理單元包含複數個處理器核心,該等處理器核心包含自舉核心。在另一實施例中,處理器單元包含南橋晶片,南橋晶片包含矽,其中矽執行可靠性、可用性和可維護性(reliability-availability-serviceable;RAS)特徵。在另一實施例中,系統控制中斷處置器執行錯誤偵測。在另一實施例中,系統控制中斷處置器是由來自一般用途輸入輸出(general purpose input output;GPIO)控制器的信號所發起。在另一實施例中,系統控制中斷處置器是直接由矽所發起,矽觸發系統控制中斷。
所揭露的另一範例是一種減少停機時間的方法,包含:透過處理單元上的矽(silicon),接收硬體元件中的錯誤之通知;偵測來自硬體元件之錯誤;以及經由處理單元之處理器核心所執行的系統控制中斷處置器,將硬體元件之錯誤資料登錄進管理控制器所管理的系統錯誤日誌。
在範例系統的另一實施例中,錯誤偵測是經由系統管理中斷控制器所執行;以及電腦系統在錯誤偵測之期間進入系統管理模式,當登錄錯誤資料已登錄時離開系統管理模式。在另一實施例中,管理控制器為基板管理控制器(baseboard management controller;BMC)。在另一實施例中,電腦系統為伺服器。在另一實施例中,處理器核心是在錯誤登錄發生的同時,可運作以處理執行緒(threads)的複數個處理器核心的其中一者。在另一實施例中,硬體元件為快速周邊組件互連(peripheral component interconnect express;PCIe)裝置、雙直插記憶體模組(dual in-line memory module;DIMM)、硬碟機(hard disk drives;HDD)、通用串列匯流排(universal serial bus;USB)裝置、串列週邊介面(serial peripheral interface;SPI)裝置與系統管理匯流排(system management bus;SMBUS)裝置的其中一者。在另一實施例中,處理器單元包含南橋晶片,南橋晶片包含矽,其中矽執行可靠性、可用性和可維護性(reliability-availability-serviceable;RAS)特徵。在另一實施例中,錯誤偵測是經由系統控制中斷處置器所執行,系統控制中斷處置器是由處理器核心所執行。在另一實施例中,系統控制中斷處置器是由來自一般用途輸入輸出(general purpose input output;GPIO)控制器的信號所發起。在另一實施例中,系統控制中斷處置器是直接由矽所發起,矽觸發系統控制中斷。
本發明可以許多不同的形式所實施。代表性的實施例被圖式所顯示,並將在此被詳細地敘述。本揭露為本發明的原則之範例或圖解,且並非意圖將本揭露之廣泛的觀點限制於繪式的實施例。在此基礎上,例如在摘要、發明內容及實施方式等段落中被揭露,但並未明確地在請求項中列舉的元件及限制,不應被單獨地、集體地、暗示地、推論地或其他方式地併入至請求項中。為了本詳細敘述之目的,除非被具體地否認,否則單數形包含複數形,反之亦然;且「包含」一詞意指「無限制地包含」。此外,表近似的詞彙,例如「約」、「幾乎」、「大體上」、「大概」及類似的詞彙,能在此被用來意指「在」、「近」、「近於」、「3-5%的範圍內」或「可接受的製造公差內」,或者其任何的邏輯組合。
本揭露涉及一種常式(routine),該常式使系統管理模式(system management mode;SMM)之機構得以進行錯誤登錄(error logging),同時也使執行緒(threads)得以由電腦系統中的處理核心所執行。範例常式卸載進行錯誤登錄的高延遲SMM服務常式。所卸載的錯誤登錄常式包含系統控制中斷(system control interrupt;SCI)處置器、基本輸入輸出系統(basic input/output system;BIOS)與基板管理控制器(baseboard management controller;BMC)之間的通訊。由於SCI僅需一條執行緒來執行進階組態與電源介面(Advanced Configuration and Power Interface;ACPI)協定,故來自SMM的常式之交遞(handoff)可達成。由於BIOS與BMC之間用以進行錯誤登錄的通訊佔用了SMM的大部分時段,當錯誤登錄常式被卸載至系統控制中斷(SCI)處置器時,來自電腦系統之SMM的停機時間顯著降低。
由於常式將部分或全部的RAS服務從系統管理SMI處置器卸載至SCI處置器,故不會損及任何RAS服務的執行。這使得所有的RAS服務得以被執行,但卻不需要很長的停機時間。此外,由於SMM的執行受限於時間及規模,開機處理器(boot processor)無法進行大規模的計算,像是迅速地進行錯誤登錄。當錯誤登錄是在SCI處置器中所執行,RAS服務可被執行得更有效率。
當RAS矽偵測到任何錯誤,電腦系統觸發RAS系統管理中斷(system management interrupt;SMI)。本範例中的RAS SMI處置器僅提供於SMM之期間進行錯誤偵測的服務。像是以高延遲時間進行事件登錄的這種服務,被卸載至SCI處置器。因此,SMI處置器僅執行錯誤偵測,以及將資訊存入進階組態與電源介面(Advanced Configuration and Power Interface;ACPI)記憶體。在那之後,範例常式觸發SCI處置器進行錯誤登錄。這使系統得以離開系統管理中斷(SMI)與SMM。在離開SMI之後,SCI處置器執行剩下的RAS服務,像是錯誤登錄。
SCI處置器鑑別識錯誤是否為RAS通用事件(General Purpose Event;GPE)。若存在RAS GPE,則SCI處置器剖析RAS ACPI記憶體,以鑑別識出是否有任何需要被登錄進BMC系統錯誤日誌(system error log;SEL)的有效資訊。一旦錯誤被登錄進SEL,常式離開SCI處置器。
第2圖是電腦系統100之方塊圖,電腦系統100使RAS服務得以發起,以使用SCI處置器進行錯誤回報(error reporting),同時也使執行緒及其他程序得以運作。在本範例中,電腦系統100為伺服器,但在此所揭露的原則可包含具有挾帶RAS服務並使用系統管理模式(SMM)的作業系統之任何電腦系統。電腦系統100包含中央處理單元(CPU)110,CPU 110具有南橋晶片112、平台BIOS 114、基板管理控制器(BMC)116,及作業系統118。ACPI記憶體122可被定義為電腦系統100之部分的系統記憶體。中央處理單元100亦可包含多個處理核心124。其中一個處理核心124可以是在啟動常式(start-up routine)之期間,BIOS 114所存取的自舉處理器(bootstrap processor;BSP)。
匯流排130使BMC 116及平台BIOS 114之間得以通訊。南橋晶片112可具有一般用途輸入輸出(general purpose input output;GPIO)控制器132,GPIO控制器132控制GPIO輸入134。在本範例中,GPIO輸入134可與RAS矽通訊,如以下所將解釋。因此,RAS矽可將信號傳達至GPIO輸入134,或處理器晶片組上的其他GPIO輸入。
電腦系統100包含各種硬體周邊裝置。在本範例中的硬體周邊裝置,包含快速周邊組件互連(peripheral component interconnect express;PCIe)裝置140、雙直插記憶體模組(dual in-line memory module;DIMM)142、硬碟機(hard disk drives;HDD)144、通用串列匯流排(universal serial bus;USB)裝置146、串列週邊介面(serial peripheral interface;SPI)裝置148,及系統管理匯流排(system management bus;SMBUS)裝置150。PCIe裝置可包含擴充卡,像是網路介面卡(Network Interface Card;NIC)、容錯式廉價磁碟陣列(redundant array of inexpensive disks;RAID)卡、場域可程式化邏輯閘陣列(field programmable gate array;FPGA)卡、固態磁碟(solid state drive;SSD)卡、雙直插記憶體(dual in-line memory),及圖形處理單元(graphic processing unit;GPU)卡。應理解的是,可以有許多這種裝置,且可包含與在此所述裝置不同類型的裝置。
南橋晶片112為電腦系統100執行基本輸入/輸出功能,且包含RAS矽210。RAS矽210是一種邏輯的複合體(logical complex),存在於處理核心及南橋晶片112中。RAS矽210為不同硬體周邊裝置監控可靠性、可用性和可維護性。平台BIOS114包含RAS系統管理模式中斷(SMI)處置器214及RAS系統控制中斷(SCI)處置器216。在本範例中,RAS SMI處置器214處理系統管理中斷,並執行錯誤偵測。在本範例中,SCI處置器216對作業系統118提供進入中斷的通知,像是系統控制中斷(SCI)或不可屏蔽中斷(non-maskable interrupt;NMI)。在本範例中,RAS SMI處置器214是由自舉核心(bootstrap core)所執行,同時其他核心暫時無法進入SMM。然而,RAS SCI處置器216是由其中一個處理器核心124所執行,而其他核心仍可由作業系統所使用。BMC 116包含儲存系統事件日誌(system event log;SEL)220的內部記憶體(internal memory)。SEL 220儲存來自BIOS 114所傳達之所偵測到的錯誤。
當SMM中斷發生,寫入錯誤資料的RAS特徵是由SCI處置器216所執行,而非如習知系統中是由RAS SMI處置器214所執行。RAS SCI處置器216執行寫入錯誤資料的RAS特徵,從出錯的裝置寫入錯誤資料至BMC 116中的系統事件日誌(SEL)220。於是,在RAS SMI處置器214偵測到錯誤後,系統管理中斷及SMM結束。錯誤偵測之後,RAS SCI處置器216執行錯誤登錄。由於作業系統118離開了SMM,作業系統118即可運行處理核心上的執行緒或其他操作,因為它們並沒有由SMM所暫停。
第3圖是範例常式之時序圖,該範例常式執行第2圖中電腦系統100上的系統管理模式(SMM)。在本範例中,像是其中一個PCIe裝置140等硬體裝置可能會故障,因而造成錯誤,即操作310。RAS矽210從裝置140接收錯誤通知,並進行操作312,以系統管理中斷(SMI)調用SMI處置器214。SMI處置器214會進行操作314,與裝置140通訊以偵測及蒐集錯誤相關資訊。錯誤資訊是儲存在第2圖中的ACPI記憶體122中。在本範例中,RAS SCI處置器216根據ACPI協定而運作。SMI處置器214進行操作318,將儲存在第2圖中ACPI記憶體122上的錯誤上的ACPI資訊發送至RAS SCI處置器216。於是,RAS SCI處置器會進行操作316,提供來自RAS矽210的狀態資訊以及蒐集用於錯誤事件登錄的錯誤資訊給RAS SCI處置器216。SMI處置器214進行操作320,發起系統控制中斷(SCI)給RAS SCI處置器216。RAS SCI處置器216開始進行操作322,藉由將錯誤資料發送至BMC 116之系統事件日誌,而執行事件登錄。在RAS SCI處置器216執行錯誤登錄操作的同時,系統已離開SMM因而繼續其他運作。RAS SCI處置器216進行操作324,通知作業系統118對於儲存在ACPI記憶體122上的錯誤資料的服務。
第4圖是一種範例常式的流程圖400,該範例常式使用RAS SCI處置器216處理SMM中斷,以執行第2圖中電腦系統100中的RAS錯誤登錄特徵。於區塊410,RAS SMI處置器214接收RAS SMI。於區塊412,RAS SMI處置器214鑑別RAS事件,所鑑別的RAS事件是硬體裝置出錯所導致的結果。接著,於區塊414,RAS SMI處置器214藉由循環每一硬體裝置而判斷是否找出RAS事件。於區塊416,當找出RAS事件,帶有錯誤的裝置被常式所鑑別出來。接著,於區塊418,常式判斷是否已找出帶有錯誤的裝置。若已找出帶有錯誤的裝置,則進入區塊420,經由ACPI協議將資訊儲存至ACPI記憶體122,並發起RAS SCI處置器216。然後,於區塊422,RAS SMI處置器214完成其常式並離開SMM,而剩餘的RAS特徵則被傳送至RAS SCI處置器216。若於區塊414未找出RAS事件,或者於區塊418未找出帶有錯誤的硬體裝置,則進入區塊422,系統離開SMM。
若其中一個硬體裝置發生錯誤,則RAS SCI處置器執行RAS錯誤登錄特徵。第5圖是RAS SCI處置器216所執行RAS錯誤登錄特徵之流程圖500。於區塊510,常式使RAS SCI處置器216開始運作。接著,於區塊512,常式藉由讀取ACPI記憶體,鑑別系統中斷之來源。然後,於區塊514,常式判斷是否已觸發RAS SCI。於區塊516,常式驗證及剖析從RAS SMI處置器214所接收到的RAS資訊。再來,於區塊518,常式判斷ACPI RAS資訊是否有效。若該資訊有效,則進入區塊520,處置器會處理RAS服務,因而將錯誤資料發送給BMC 116上的SEL 220。接著,於區塊522,RAS SCI處置器216將完成常式。若於區塊512沒有中斷,或者於區塊518 ACPI RAS資訊無效,則進入區塊522,常式也將終止。
藉由第2圖中的SCI處置器216執行所有的RAS服務,可更進一步減少停機時間。由於不再需要RAS SMI服務,電腦系統100的停機時間可望能更加縮短。透過RAS SCI處置器216執行所有的RAS服務之程序,可以有兩種不同的情境:帶內(in-band)常式,以及帶外(out of band)常式。
在帶內常式中,當RAS矽210偵測到錯誤,會觸發帶內系統控制中斷,以向RAS SCI處置器216示信。RAS SCI處置器216執行原本在RAS SMI處置器214上的所有功能,包含錯誤偵測。於是,RAS SCI處置器216將錯誤資訊登錄至BMC 116中的SEL 220。完成錯誤登錄之後,RAS SCI處置器216離開RAS服務。如此一來,在SCI之期間所執行的所有錯誤偵測及登錄特徵,執行起來並不會遇到中斷,因為沒有呼叫RAS SMI處置器214。
又或者,RAS矽210可產生硬體接腳上的信號,像是GPIO接腳上的信號,已對事件進行示信。在本範例中,此信號被發送至可處理SCI的GPIO接腳134,而被南橋晶片112上的GPIO控制器132所接收。如此一來,一旦RAS矽210偵測到錯誤,即可透過GPIO控制器132來對RAS SCI處置器216示信。SCI處置器216作為ACPI驅動器的角色,首先為信號提供服務。ACPI驅動器鑑別RAS通用事件(General Purpose Event;GPE)是否已發生。若已發生GPE,則RAS SCI處置器216處理所有的RAS服務。
第6圖是專門對於使用帶內中斷觸發器(interrupt trigger)的RAS服務而使用RAS SCI處置器216的程序之時序圖。第6圖顯示出錯的硬體裝置140、RAS矽210、RAS SCI處置器216、BMC 116與作業系統118之間的互動。如以上所解釋,本範例常式除去了呼叫第2圖中的RAS SMI處置器之需要,而因此在程序之期間避免來自SMM的停機時間。
像是PCIe卡140等硬體元件,可能會發生錯誤,即操作610。此錯誤從RAS矽210創立一事件。RAS矽210進行操作612,對RAS SCI處置器216發出帶內系統控制中斷。RAS SCI處置器216進行操作614,偵測與蒐集來自硬體元件之操作610的錯誤資訊。錯誤資訊被儲存在ACPI記憶體中。接著,SCI處置器216進行操作616,藉由與BMC 116通訊並將錯誤資料新增至系統錯誤日誌,以執行錯誤登錄。然後,SCI處置器216進行操作618,將錯誤通知給作業系統118。如第6圖所示,在此程序之期間,並沒有發起SMI處置器214。如此一來,便避免了SMM,且在SCI處置器216執行RAS特徵之期間,可仍然進行處理。
第7圖是用於RAS特徵的範例常式之流程圖,該RAS特徵帶有來自帶內SCI觸發器所發起的系統控制中斷。於區塊710,RAS SCI處置器216開始運作。於區塊712,SCI處置器216著手鑑別是否已發生RAS事件。於區塊714,SCI處置器216判斷是否有在其中一個硬體裝置中找出RAS事件。若有找出RAS事件,則進入區塊716,SCI處置器216判斷是否可鑑別出具有錯誤的硬體裝置。於區塊718,若有從硬體裝置找出錯誤,則進入區塊720,SCI處置器216會執行所有可用的RAS服務,包含錯誤偵測以及將錯誤登錄進BMC 116之系統事件日誌。若於區塊714未找出RAS事件,或者於區塊718未找出帶錯的裝置,則進入區塊722,RAS SCI處置器216會完成常式。
第8圖是RAS服務之時序圖,該RAS服務以第2圖中南橋晶片112上可處理SCI的GPIO接腳134,發起系統控制中斷。像是PCIe卡140等硬體元件,可能會發生錯誤,此錯誤是由RAS矽210所判斷出的事件,即操作810。RAS矽210進行操作812,發送信號給GPIO接腳134,由第2圖中的GPIO控制器132所接收。GPIO控制器132進行操作814,經由第2圖中的GPIO接腳134,將系統控制中斷信號發送給RAS SCI處置器216。RAS SCI處置器216偵測與蒐集來自硬體元件140的錯誤資訊。錯誤資訊被儲存在ACPI記憶體122中。接著,RAS SCI處置器216進行操作818,藉由與BMC 116通訊並將錯誤資料新增至系統錯誤日誌,以執行錯誤登錄。然後,RAS SCI處置器216進行操作820,將錯誤通知給作業系統118。如第8圖所示,在此程序之期間,並沒有發起SMI處置器214。如此一來,便避免了SMM,且在RAS SCI處置器216執行RAS特徵之期間,可仍然進行處理。
第9圖是帶有SCI的RAS之常式的流程圖900,其中該常式僅隨著可處理SCI的GPIO接腳觸發SCI而進行。於區塊910,RAS SCI處置器216開始運作。於區塊912,SCI處置器216著手鑑別系統控制中斷之來源。於區塊914,SCI處置器216判斷是否有找出系統控制中斷是RAS事件所導致的結果。若RAS SCI處置器216判斷系統控制中斷是RAS事件所導致的結果,則進入區塊916,RAS SCI處置器216著手鑑別是否發生RAS事件。於區塊918,RAS SCI處置器216判斷是否有找出RAS事件。若有找出RAS事件,則進入區塊920,RAS SCI處置器216判斷是否可鑑別出具有錯誤的硬體裝置。於區塊922,若有找出帶錯的裝置,則進入區塊924,RAS SCI處置器216會執行所有可用的RAS服務,包含錯誤偵測以及將錯誤登錄進BMC 116之SEL 220。接著,於區塊924,RAS SCI處置器216將完成RAS服務。若於區塊914系統控制中斷並非RAS事件所導致的結果,或者於區塊918並未找出RAS事件,又或者於區塊922並未找出帶錯的裝置,則進入區塊926,RAS SCI處置器216會完成常式。
第4,5,7,9圖中的流程圖是代表範例機器可讀指令,該等指令是用以對第2圖中的電腦系統100之RAS SCI處置器216執行部分或全部的RAS特徵。在本範例中,機器可讀指令包括由(a)處理器;(b)控制器;及/或(c)一或多個其他合適的處理裝置所執行的演算法。該演算法可由儲存在有形媒體,諸如快閃記憶體、CD-ROM、軟碟、硬碟、數位(多功能)影音磁碟(DVD)或者其他記憶體裝置上的軟體所實施。然而,本領域普通技能之人將容易理解,該演算法的全部或部分可替代地由處理器之外的裝置所執行,及/或以習知的方式(例如以特定應用積體電路[ASIC];可程式邏輯裝置[PLD];場域可程式邏輯裝置[FPLD]所執行),由韌體或專屬硬體所實施。舉例來說,介面的任何或所有元件可由軟體、硬體,及/或韌體所執行。同樣地,可以手動執行流程圖所代表的某些或全部的機器可讀指令。此外,雖然範例演算法是參考第4,5,7,9圖中所繪示的流程圖所敘述,本領域普通技能之人將容易理解,可使用許多其他方法以執行範例機器可讀指令。舉例來說,可改變區塊的執行順序,及/或可改變、刪減或合併某些所述區塊。
如本申請中所使用的「元件」、「模組」、「系統」或類似的詞彙,通常係指與電腦相關的實體,可以是硬體(例如電路)、硬體與軟體之組合、軟體,或者與運作機器相關、具有一種或更多種特定功能的實體。舉例而言,元件可以是但不限於在處理器(例如數位信號處理器)上執行的程序、處理器、物件、可執行檔、執行緒(thread of execution)、程式,及/或電腦。作為示例,在控制器上執行的應用,以及控制器本身,皆可為元件。一個或更多個元件可常駐於程序及/或執行緒之內,且一個元件可被侷限在一台電腦上及/或分散在兩台或更多台電腦之間。此外,「裝置」可出自於特殊設計的硬體之形式;藉由執行其上使硬體能執行特定功能的軟體所特製出的通用硬體;儲存在電腦可讀取媒體上的軟體;或者其組合。
雖然本發明之各種實施例已被敘述如上,應被理解的是,該等實施例僅被呈現來作為範例,而非限制。即使本發明已參考一種或更多種實施方式所繪示及敘述,當閱讀及理解本說明書及附加的圖式時,均等的替換及修改將可被其他熟習此項技術者想到或知曉。此外,雖然本發明之特定的特徵可僅被數個實施例的其中之一所揭露,這種特徵可與其他實施例的一個或更多個其他特徵進行組合,而此其他特徵對於任何給定的或特定的應用可能是期望的或有利的。因此,本發明之廣度及範圍不應受限於任何以上敘述的實施例。反之,本發明之範圍應根據以下的請求項及其均等物所定義。
在此所使用的術語僅以敘述特定的實施例為目的,而並非意圖限制本發明。如在此所使用的,單數形「一」及「該」意圖亦包含複數形,除非文意明顯另有所指。此外,倘若「包含」、「具有」一詞或者其變形,被使用在實施方式及/或請求項中,這類詞彙意圖被包含在類似於「包括」一詞的方式中。
除非另有定義,在此所使用的所有詞彙(包含技術性及科學性的詞彙),與本技術領域之普通技術之人一般所理解的,具有相同的含意。此外,像是被定義在一般所使用的字典中的詞彙,應被解讀為具有與它們在相關技術的文意中一致的含意,且除非在此被明確地如此定義,否則該等詞彙不會被解讀為理想化或過度正式的概念。
10:電腦系統 12:南橋晶片 14:基本輸入輸出系統(BIOS) 16:基板管理控制器(BMC) 18:作業系統(OS) 20:可靠性、可用性和可維護性(RAS)矽 22:硬體裝置 24:系統管理中斷(SMI)處置器 26:系統控制中斷(SCI)處置器 28:系統事件日誌(SEL) 30:硬體裝置 50-62:操作 100:電腦系統 110:中央處理單元(CPU) 112:南橋晶片 114:基本輸入輸出系統(BIOS) 116:基板管理控制器(BMC) 118:作業系統(OS) 122:進階組態與電源介面(ACPI)記憶體 124:處理核心 130:匯流排 132:一般用途輸入輸出(GPIO)控制器 134:GPIO輸入 140:快速周邊組件互連(PCIe)裝置 142:雙直插記憶體模組(DIMM) 144:硬碟機(HDD) 146:通用串列匯流排(USB)裝置 148:串列週邊介面(SPI)裝置 150:系統管理匯流排(SMBUS)裝置 210:可靠性、可用性和可維護性(RAS)矽 214:系統管理中斷(SMI)處置器 216:系統控制中斷(SCI)處置器 220:系統事件日誌(SEL) 310-324:操作 400:流程圖 410-422:區塊 500:流程圖 510-522:流程圖 610-618:操作 700:流程圖 710-722:區塊 810-820:操作 900:流程圖 910-926:區塊
本揭露將可從以下示範的實施例之敘述搭配附帶的圖式更佳地理解。 第1A圖是發起RAS服務的先前技術的運算系統之方塊圖。 第1B圖是先前技術的運算系統之時序圖,繪示出SMM阻止其他處理器運作的議題。 第2圖是一種運算系統之元件的方塊圖,該運算系統使某些SMM特徵得以由系統控制中斷處置器所執行。 第3圖是第2圖中的電腦系統之時序圖,顯示於SMM之期間根據範例常式而由SCI處置器所執行RAS特徵的效能。 第4圖是對第2圖中的SCI處置器中斷及卸載RAS特徵的流程圖。 第5圖是第2圖中的SCI處置器執行某些RAS特徵的流程圖。 第6圖是一種範例常式的時序圖,該範例常式專門透過來自第2圖中電腦系統中的頻內SCI觸發器的SCI處置器而執行。 第7圖是用於帶有SCI的RAS之範例常式的流程圖,該常式僅隨著帶內SCI觸發器所進行。 第8圖是一種範例常式之時序圖,該範例常式以執行帶有硬體接腳發起的RAS服務。 第9圖是帶有SCI的RAS之範例常式的時序圖,該範例常式以僅隨著可處理SCI的GPIO接腳觸發器所進行。
本揭露可接受各式各樣的修改及替代的形式。某些代表性的實施例,已被圖式中的範例所顯示,並將在此被詳細地敘述。然而,應被理解的是,本發明並非意圖限定於所揭露的特定形式。反之,本揭露涵蓋所有的修改、均等物,以及落在如附加的請求項所定義的本發明之範圍與精神之內的替代方案。
100:電腦系統
110:中央處理單元(CPU)
112:南橋晶片
114:基本輸入輸出系統(BIOS)
116:基板管理控制器(BMC)
118:作業系統(OS)
122:進階組態與電源介面(ACPI)記憶體
124:處理核心
130:匯流排
132:一般用途輸入輸出(GPIO)控制器
134:GPIO輸入
140:快速周邊組件互連(PCIe)裝置
142:雙直插記憶體模組(DIMM)
144:硬碟機(HDD)
146:通用串列匯流排(USB)裝置
148:串列週邊介面(SPI)裝置
150:系統管理匯流排(SMBUS)裝置
210:可靠性、可用性和可維護性(RAS)矽
214:系統管理中斷(SMI)處置器
216:系統控制中斷(SCI)處置器
220:系統事件日誌(SEL)

Claims (6)

  1. 一種減少停機時間的電腦系統,包括:一基本輸入輸出系統(basic input output system;BIOS)晶片;一處理單元,具有一自舉核心(bootstrap core)及矽(silicon),該自舉核心執行儲存在該BIOS晶片中的一系統管理中斷處置器及一系統控制中斷處置器,該矽用於接收錯誤資訊;一硬體元件,耦接至該處理單元,該硬體元件將錯誤資訊發送給該矽;以及一管理控制器,包含一系統錯誤日誌,該管理控制器耦接至該處理單元,其中該自舉核心執行該系統控制中斷處置器,以避免一系統管理模式,及其中該系統控制中斷處置器將該硬體元件之一錯誤登錄進該系統錯誤日誌;其中該自舉核心進入該系統管理模式,並執行該系統管理中斷處置器,以偵測該錯誤;其中該系統管理中斷處置器在偵測到該錯誤後,離開該系統管理模式;以及其中該處理器單元包含一南橋晶片,該南橋晶片包含該矽,及其中該矽執行可靠性、可用性和可維護性(reliability-availability-serviceable;RAS)特徵。
  2. 如請求項1之系統,其中該系統控制中斷處置器是由一信號所發起,該信號來自一一般用途輸入輸出(general purpose input output;GPIO)控制器。
  3. 如請求項1之系統,其中該系統控制中斷處置器是 直接由該矽所發起,該矽觸發該系統控制中斷。
  4. 一種減少電腦系統之停機時間的方法,包括:透過一處理單元上的矽(silicon),接收一硬體元件中的一錯誤之通知;偵測來自該硬體元件之該錯誤;以及經由該處理單元之一處理器核心所執行的一系統控制中斷處置器,將該硬體元件之錯誤資料登錄進一管理控制器所管理的一系統錯誤日誌,其中該系統控制中斷處置器是由該處理器核心所執行;其中該錯誤偵測是經由一系統管理中斷控制器所執行;其中該電腦系統在該錯誤偵測之期間進入一系統管理模式,當登錄錯誤資料已登錄時離開該系統管理模式;其中該處理器單元包含一南橋晶片,該南橋晶片包含該矽,及其中該矽執行可靠性、可用性和可維護性(RAS)特徵。
  5. 如請求項4之方法,其中該系統控制中斷處置器是由一信號所發起,該信號來自一一般用途輸入輸出(GPIO)控制器。
  6. 如請求項4之方法,其中該系統控制中斷處置器是直接由該矽所發起,該矽觸發該系統控制中斷。
TW110117851A 2021-02-23 2021-05-18 減少停機時間的方法及系統 TWI772024B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/183,081 US11366710B1 (en) 2021-02-23 2021-02-23 Methods and systems for reducing downtime from system management mode in a computer system
US17/183,081 2021-02-23

Publications (2)

Publication Number Publication Date
TWI772024B true TWI772024B (zh) 2022-07-21
TW202234241A TW202234241A (zh) 2022-09-01

Family

ID=82060407

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110117851A TWI772024B (zh) 2021-02-23 2021-05-18 減少停機時間的方法及系統

Country Status (3)

Country Link
US (1) US11366710B1 (zh)
CN (1) CN114968628A (zh)
TW (1) TWI772024B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11726855B1 (en) * 2022-04-26 2023-08-15 Dell Products L.P. Controlling access to an error record serialization table of an information handlng system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW594466B (en) * 2002-06-10 2004-06-21 Micro Star Int Co Ltd Power management method for microprocessor
US20100281225A1 (en) * 2009-04-30 2010-11-04 Inventec Corporation Data processing apparatus of basic input/output system
US20160328277A1 (en) * 2015-05-04 2016-11-10 International Business Machines Corporation Storage and application intercommunication using acpi
TW201730763A (zh) * 2016-02-24 2017-09-01 廣達電腦股份有限公司 硬體修復方法、硬體修復系統以及計算機可讀取儲存裝置
CN109933449A (zh) * 2017-12-18 2019-06-25 英特尔公司 在系统中的错误处置设备中记录错误
CN110895518A (zh) * 2019-07-01 2020-03-20 研祥智能科技股份有限公司 Gpio接口的配置方法及系统
CN111414268A (zh) * 2020-02-26 2020-07-14 华为技术有限公司 故障处理方法、装置及服务器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239917A1 (en) * 2005-12-09 2007-10-11 Ryuji Orita Interrupt routing within multiple-processor system
DE112011105577T5 (de) * 2011-08-30 2014-05-08 Hewlett-Packard Development Company, L.P. Virtueller hochprivilegierter Modus für eine Systemverwaltungsanforderung
US20190171505A1 (en) * 2017-12-03 2019-06-06 Intel Corporation Management controller-based solution for processor ras in smi-free environment
US11379330B2 (en) * 2020-06-30 2022-07-05 Dell Products L.P. Information handling systems and related methods for testing memory during boot and during operating system (OS) runtime

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW594466B (en) * 2002-06-10 2004-06-21 Micro Star Int Co Ltd Power management method for microprocessor
US20100281225A1 (en) * 2009-04-30 2010-11-04 Inventec Corporation Data processing apparatus of basic input/output system
US20160328277A1 (en) * 2015-05-04 2016-11-10 International Business Machines Corporation Storage and application intercommunication using acpi
TW201730763A (zh) * 2016-02-24 2017-09-01 廣達電腦股份有限公司 硬體修復方法、硬體修復系統以及計算機可讀取儲存裝置
CN109933449A (zh) * 2017-12-18 2019-06-25 英特尔公司 在系统中的错误处置设备中记录错误
CN110895518A (zh) * 2019-07-01 2020-03-20 研祥智能科技股份有限公司 Gpio接口的配置方法及系统
CN111414268A (zh) * 2020-02-26 2020-07-14 华为技术有限公司 故障处理方法、装置及服务器

Also Published As

Publication number Publication date
TW202234241A (zh) 2022-09-01
US11366710B1 (en) 2022-06-21
CN114968628A (zh) 2022-08-30

Similar Documents

Publication Publication Date Title
US8898517B2 (en) Handling a failed processor of a multiprocessor information handling system
WO2020151722A1 (zh) 故障处理方法、相关设备及计算机存储介质
US8122285B2 (en) Arrangements detecting reset PCI express bus in PCI express path, and disabling use of PCI express device
US6643727B1 (en) Isolation of I/O bus errors to a single partition in an LPAR environment
US9026865B2 (en) Software handling of hardware error handling in hypervisor-based systems
US20130325998A1 (en) System and Method for Providing Input/Output Functionality by an I/O Complex Switch
US11526411B2 (en) System and method for improving detection and capture of a host system catastrophic failure
US9372702B2 (en) Non-disruptive code update of a single processor in a multi-processor computing system
WO2020239060A1 (zh) 错误恢复的方法和装置
US8924779B2 (en) Proxy responder for handling anomalies in a hardware system
US11132314B2 (en) System and method to reduce host interrupts for non-critical errors
JP5726340B2 (ja) プロセッサシステム
US7984219B2 (en) Enhanced CPU RASUM feature in ISS servers
US20210081234A1 (en) System and Method for Handling High Priority Management Interrupts
TWI772024B (zh) 減少停機時間的方法及系統
TWI777628B (zh) 電腦系統及其專用崩潰轉存硬體裝置與記錄錯誤資料之方法
KR102695389B1 (ko) 스토리지 장치들의 충돌 복구에 대한 시스템, 방법 및 장치
WO2024139423A1 (zh) 故障检测方法及计算机设备
JP6256087B2 (ja) ダンプシステムおよびダンプ処理方法
US20130339566A1 (en) Information processing device
JP7430220B2 (ja) システム管理割り込みデータの収集に用いる方法及びシステム
TWI781452B (zh) 監控及復原異質性元件的系統及方法
US10241875B2 (en) Switching initial program load responsibility when components fail