TWI632462B - 開關裝置及偵測積體電路匯流排之方法 - Google Patents

開關裝置及偵測積體電路匯流排之方法 Download PDF

Info

Publication number
TWI632462B
TWI632462B TW106106085A TW106106085A TWI632462B TW I632462 B TWI632462 B TW I632462B TW 106106085 A TW106106085 A TW 106106085A TW 106106085 A TW106106085 A TW 106106085A TW I632462 B TWI632462 B TW I632462B
Authority
TW
Taiwan
Prior art keywords
bus
monitoring circuit
devices
hardware monitoring
management controller
Prior art date
Application number
TW106106085A
Other languages
English (en)
Other versions
TW201828071A (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 廣達電腦股份有限公司
Publication of TW201828071A publication Critical patent/TW201828071A/zh
Application granted granted Critical
Publication of TWI632462B publication Critical patent/TWI632462B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • 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/2273Test methods
    • 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
    • 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/0715Error 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 system implementing multitasking
    • 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/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3048Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the topology of the computing system or computing system component explicitly influences the monitoring activity, e.g. serial, hierarchical systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Hardware Redundancy (AREA)

Abstract

本發明係提供一種偵測一積體電路匯流排(I2C)之方法,該方法係利用一基板管理控制器及一硬體監視電路(Hardware Watchdog Circuit),該方法包括:利用該硬體監視電路偵測一I2C匯流排失效(failure);判斷該硬體監視電路是否可自動重置在該I2C匯流排上之複數個I2C裝置;若判斷該硬體監視電路可自動重置在該I2C匯流排上之該複數個I2C裝置,利用該硬體監視電路重置該複數個I2C裝置;以及若判斷該硬體監視電路無法自動重置在該I2C匯流排上之該複數個I2C裝置,利用該硬體監視電路回報所偵測到之該I2C匯流排失效至該基板管理控制器,並利用該基板管理控制器處理該I2C匯流排失效。

Description

開關裝置及偵測積體電路匯流排之方法
本發明係有關於匯流排當機偵測(bus hang detection),特別是有關於利用基板管理控制器(baseboard management controller、BMC)與硬體監視電路(hardware watchdog circuit)以進行匯流排當機偵測,其中硬體監視電路為一複雜可程式化邏輯裝置(complex programmable logic device、CPLD)。
積體電路匯流排(Inter-Integrated Circuit Bus、I2C Bus)之當機(hang)之發生會有幾個原因,例如是高乙太網路傳輸量或伺服器當機(server crash)。一般而言,I2C匯流排之當機偵測係利用一I2C裝置之軟體所執行。然而,這種方法之速度相當緩慢且會花費巨量的系統記憶體及中央處理器之資源。
一般的I2C架構,如第1圖所示,具有一基板管理控制器(BMC)以直接監控I2C裝置。雖有這種組態並不需要系統資源及中央處理器之資源,但這種方法仍會消耗基板管理控制器之資源。此外,軟體之解決方法會讓網路曝露於網路攻擊之下。
因此,需要另一種方法以偵測及處理I2C匯流排之當機。
下列段落係提供本發明一或多個實施例中之簡單摘要以提供本發明技術之基本理解。此摘要並非本發明技術之所有考慮之實施例的延伸概觀,且不是用以分辨所有例子之關鍵或重要元件也不是描述本發明中任何或所有方面的範圍。其目的是以一簡單形式呈現一或多個實施例中之一些概念以做為本發明後述詳細說明部分之前言。
在本發明之第一實施例中,本發明係提供一種偵測一積體電路匯流排(I2C)之方法,該方法係利用一基板管理控制器及一硬體監視電路,該方法包括:利用該硬體監視電路偵測一I2C匯流排失效;判斷該硬體監視電路是否可自動重置在該I2C匯流排上之複數個I2C裝置;若判斷該硬體監視電路可自動重置在該I2C匯流排上之該複數個I2C裝置,利用該硬體監視電路重置該複數個I2C裝置;以及若判斷該硬體監視電路無法自動重置在該I2C匯流排上之該複數個I2C裝置,利用該硬體監視電路回報所偵測到之該I2C匯流排失效至該基板管理控制器,並利用該基板管理控制器處理該I2C匯流排失效。
在本發明之第二實施例中,本發明係提供一種開關裝置,包括:一基板管理控制器;一硬體監視電路;一積體電路匯流排(I2C),用以連接複數個I2C裝置;以及一中央處理器;其中該硬體監視電路係用以偵測該I2C匯排流之一I2C匯流 排失效,並判斷該硬體監視電路是否可自動重置在該I2C匯流排上之複數個I2C裝置;其中若判斷該硬體監視電路可自動重置在該I2C匯流排上之該複數個I2C裝置,該硬體監視電路係重置該複數個I2C裝置,其中若判斷該硬體監視電路無法自動重置在該I2C匯流排上之該複數個I2C裝置,該硬體監視電路係回報所偵測到之該I2C匯流排失效至該基板管理控制器,且該基板管理控制器係處理該I2C匯流排失效。
100、200‧‧‧系統
101‧‧‧基板管理控制器
102‧‧‧I2C開關
103‧‧‧切換中央處理器
104‧‧‧I2C擴充器
105‧‧‧SFP+模組
106‧‧‧QSFP+模組
107‧‧‧zQSFP+模組
108‧‧‧SFP+模組
201‧‧‧基板管理控制器
202‧‧‧I2C開關
203‧‧‧切換中央處理器
204‧‧‧I2C擴充器
205‧‧‧SFP+模組
206‧‧‧QSFP+模組
207‧‧‧zQSFP+模組
208‧‧‧SFP+模組
209‧‧‧硬體監視電路
301-305‧‧‧步驟
401-409‧‧‧步驟
500‧‧‧電腦系統
510‧‧‧基本輸入/輸出系統
520‧‧‧記憶體
530‧‧‧儲存裝置
540‧‧‧處理器
550‧‧‧網路介面
560‧‧‧北橋
570‧‧‧南橋
580‧‧‧管理控制器
reset_EN‧‧‧重置致能信號
Hang_Alert‧‧‧當機警告信號
I2C Monitor‧‧‧監控信號
BMC_I2C‧‧‧BMC_I2C信號
Hang_Inform‧‧‧當機通知信號
SFP+_I2C_1、SFP+_I2C_2、SFP+_I2C_3、SFP+_I2C_4‧‧‧信號
第1圖係顯示傳統技術中利用基板管理控制器以直接偵測I2C匯流排當機之系統的方塊圖。
第2圖係顯示依據本發明一實施例中利用基板管理控制器及硬體監視電嗄以監控I2C匯流排狀態之系統。
第3圖係顯示依據本發明一實施例中利用硬體監視電路以偵測I2C匯流排狀態之一流程圖。
第4圖係顯示依據本發明另一實施例中利用硬體監視電路以偵測I2C匯流排狀態之一流程圖。
第5圖係顯示本發明中一示範性的電腦系統500之方塊圖。
本揭露係提供了在一伺服器系統中用於管理網路組態之技術,其與本發明之技術有關。在本案技術之多個實施方法係參考圖式並進行說明。在後述說明之實施方式中,為了 便於說明,闡述了許多特定細節以提供一或多個實施方式之充份理解。然而,亦可證明本發明之技術亦可在不具備這些特定細節而實現。在其他例子中,習知之架構與裝置係以方塊圖之方式呈現以增進這些實施例之說明。
本發明之多個實施例係配合所附圖式作詳細說明如下。在後述實施例中,為了便於說明,提出了許多特定細節以提供一或多個實施例之完整理解。然而,本發明在不具備此特定細節的情況下亦可實施。在另一些例子中,在方塊圖中所示的習知的結構及裝置係為了便於說明這些實施例。
如上面之討論,具有極大利益以發展在軟體基礎式或是BMC基礎式外的替代解決方法以偵測及處理I2C匯流排當機(hang),並可用更快的速度且不需要大量的記憶體及處理資源。綜上所述,本發明係利用在第1~4圖以說明匯流排當機偵測。
第1圖係顯示傳統技術中利用基板管理控制器(BMC)以直接偵測I2C匯流排當機之系統的方塊圖。
第1圖中之開關系統(switch system)100包括一基板管理控制器101、一I2C開關(I2C switch)102、一切換中央處理器(switch CPU)103、I2C擴充器/隔離器(I2C Expander/Isolator))裝置104、及多個與I2C擴充器/隔離器裝置104有關之通道的小封裝熱插拔模組(small-form factor pluggable module、SFC模組)105-108(例如分別為SFP+模組、QSFP+模組、zQSFP+模組、及SFP+模組)。在I2C擴充器裝置104與小封裝熱插拔模組105-108之間的通訊係分別經由I2C信號 SFP+_I2C_1、SFP+_I2C_2、SFP+_I2C_3、SFP+_I2C_4。
依據傳統之技術,基板管理控制器101係利用BMC_I2C信號與I2C開關102進行溝通,並利用Hang_Inform當機通知信號以提供當機資訊(hang information)至切換中央處理器103,如第1圖所示。
在第1圖中之系統,基板管理控制器101係利用監控信號I2C_Monitor連續地監控I2C擴充器裝置104(例如I2C匯流排)以及在I2C擴充器裝置104上之裝置(105-108)。在發生I2C匯流排當機時,基板管理控制器101係可利用重置信號RESET_Device以重置I2C擴充器裝置104。
然而,因為基板管理控制器101直接監控I2C擴充器裝置104以偵測I2C裝置之當機,並判斷何時要發送重置信號以重置這些當機的I2C裝置,此方法係使用基板管理控制器之資源。此亦可能會使用I2C裝置之軟體而將需要駐廠之技術人員來支援。更進一步而言,如上述所,這種利用I2C裝置之軟體的方法之速度相當緩慢,且會花費大量的記憶體及處理資源。
為了表明傳統之偵測方法及處理I2C匯流排當機事件的問題,本發明中之多個實施例係提供一增強系統,其中部份之偵測及處理I2C匯流排當機可移至一硬體監視電路(hardware watchdog circuit)。這種系統可讓偵測及處理I2C匯流排當機事件的速度更快,例如第2圖所示。
第2圖係顯示依據本發明一實施例中利用基板管理控制器及硬體監視電路以監控I2C匯流排狀態之系統。
類似於第1圖中之系統100,第2圖中之系統200(例如為一開關系統)包括一基板管理控制器201、一I2C開關202、一切換中央處理器203、I2C擴充器(或隔離器)裝置204、及多個與I2C擴充器/隔離器裝置204有關之通道的小封裝熱插拔模組205-208(例如分別為SFP+模組、QSFP+模組、zQSFP+模組、及SFP+模組)。在一實施例中,在I2C擴充器裝置204與小封裝熱插拔模組205-208之間的通訊係經由I2C信號SFP+_I2C_1、SFP+_I2C_2、SFP+_I2C_3、SFP+_I2C_4。
然而,不同於第1圖之系統100,第2圖中之系統200更包括一硬體監視電路209,且至少有部份之I2C匯流排當機之偵測及處理會被轉至硬體監視電路209。如第2圖之實施例,基板管理控制器201係利用BMC_I2C信號以與I2C開關202進行溝通,並利用Hang_Inform當機通知信號以提供當機資訊至切換中央處理器203。然而,在第1圖中係利用基板管理控制器101直接監控I2C擴充器裝置104,在本發明第2圖中之硬體監視電路209係取代了基板管理控制器201以監控I2C擴充器裝置204。基板管理控制器201係用以利用一重置致能信號reset_EN,其可致能或授權硬體監視電路209以自動重置I2C擴充器裝置204。依據重置致能信號reset_EN,硬體監視電路209可利用其本身的重置信號RESET_Device在適當延遲下以自動重置I2C裝置204。
若硬體監視電路209並未被致能以自動重置I2C擴充器裝置204,取而代之地,基板管理控制器201會利用一Hang_Alert當機警告信號從硬體監視電路209接收當機資訊。
硬體監視電路209更可利用I2C Monitor監控信號以偵測SM/I2C匯流排之時鐘線/資料線(clock line/data line)及SCL/SDA腳位以判斷一I2C匯流排鎖定(I2C bus lock)是否發生。此資訊亦會即時地被硬體監視電路209所接收。依據所接收到的資訊,Hang_Alert當機警告信號會被傳送至基板管理控制器201,就算硬體監視電路209已被授權可重置I2C擴充器裝置204。
在另一實施例中,硬體監視電路209可依據所接收到之信號以接收一區域網路喚醒(wake on LAN、WOL)信號,其中該區域網路喚醒信號可觸發硬體監視電路209以傳送一警告信號至基板管理控制器201以重置當機的I2C裝置。
在硬體監視電路209無法清除或解決I2C匯流排當機或是硬體監視電路209未被致能以產生重置信號RESET_Device信號之情形下,基板管理控制器201接著會繼續搜尋程序(以尋找造成當機或鎖定的裝置或原因)以決定其損害並透過Hang_Inform當機通知信號以回報資訊至切換中央處理器203。
因此,依此方式,基板管理控制器201並不需要持續地監控I2C擴充器裝置204,並取而代之地讓硬體監視電路209監控I2C擴充器裝置204並提供任何當機警告至基板管理控制器201以進行更進一步的處理。在一實施例中,雖然第2圖中之系統200係繪示了一分開的硬體監視電路209,這個硬體監視電路209可被整合至系統200中之其他元件,例如是基板管理控制器201。
第3圖係顯示依據本發明一實施例中利用硬體監視電路以偵測I2C匯流排狀態之一流程圖。
第3圖之流程係由步驟301開始,其中硬體監視電路209係偵測一I2C匯流排鎖定(lock)。舉例來說,請再參考第2圖,硬體監視電路209可偵測與I2C_Monitor監控信號有關之不正常情況。在偵測到I2C匯流排鎖定之後,硬體監視電路209係判斷是否可自動重置I2C擴充器裝置204。舉例來說,請再參考第2圖,硬體監視電路209係決定是否從基板管理控制器201接收到一重置致能信號reset_EN。
若判斷硬體監視電路209可自動重置I2C擴充器裝置204,硬體監視電路209係傳送重置信號(步驟303),且該流程係回到步驟301以監控未來的I2C匯流排是否產生鎖定。然而,若判斷硬體監視電路209無法自動重置I2C擴充器裝置204,硬體監視電路209回報I2C匯流排鎖定之情形至基板管理控制器201(步驟304)。舉例而言,如上所述,硬體監視電路209可傳送一當機警告信號Hang_Alert至基板管理控制器201。
最後,在步驟305,I2C匯流排失效的進一步處理會被移交至基板管理控制器201。上述處理可包括利用基板管理控制器201對連接至I2C匯流排之任何I2C裝置進行重置或故障排除。
在步驟305中之處理更包括利用基板管理控制器以通知處理結果至一中央處理器並記錄失效通道(failed channels)至中央處理器。關於利用基板管理控制器以處理I2C匯流排失效之細節,將於第4圖之實施例中進行說明。
第4圖係顯示依據本發明另一實施例中利用硬體監視電路以偵測I2C匯流排狀態之一流程圖。
第4圖之流程係開始於步驟401,其中在系統200中之硬體監視電路209例如為一複雜可程式化邏輯裝置(CPLD),係偵測I2C匯流排狀態。在步驟402,判斷是否發生一I2C/SM匯流排鎖定(lock)。若未發生,則返回執行步驟401,且硬體監視電路209係持續監控I2C匯流排狀態。
然而,若在步驟402偵測到I2C/SM匯流排鎖定,流程係前進至步驟403以判斷硬體監視電路209是否已致能而可執行自動重置I2C擴充器裝置204。若硬體監視電路209已被致能以自動重置I2C擴充器裝置204,I2C擴充器裝置204會被釋放(release)或重置(步驟404),流程會回到步驟401,且硬體監視電路209係重新偵測I2C匯流排狀態。此處理係類似於第3圖。
然而,若在步驟403中硬體監視電路209未被致能以自動重置I2C擴充器裝置204,該流程係前進至步驟405,且硬體監視電路209係傳送一警告信號至基板管理控制器201,基板管理控制器201接著執行I2C/SM匯流排失效搜尋程序(以尋找造成當機或鎖定的裝置或原因)。
由基板管理控制器201所執行之失效搜尋程序係經由一迴圈執行,其中各I2C擴充器204、I2C裝置及任何有關之通道,會被一一選擇(步驟407)並隔離,而後其對應之I2C/SM匯流排狀態會被檢查以判斷該通道是否正常(代表其並非導致I2C匯流排當機)(步驟408)。若在步驟408中判斷該通道是正常的(代表並非導致I2C匯流排當機),該流程係回到步驟407,選 擇下一個I2C裝置及/或通道。在一些實施例中,基板管理控制器201係用以嘗試並重置I2C裝置,並藉由重置該導致I2C匯流排鎖定之I2C裝置及/或通道以清除I2C匯流排鎖定。
此處理係用於所有的I2C擴充器或隔離器裝置及其所有的通道。當在步驟408判斷一裝置或其通道並不正常,此資訊會被傳送至切換中央處理器203並記錄(步驟409)。此資訊可被維持在一記錄檔中以供未來使用。選擇性地,此資訊可被中央處理器所使用以產生給使用者之警告。
第5圖係顯示本發明中一示範性的電腦系統500之方塊圖。電腦系統500係包括一處理器540、一網路介面550、一管理控制器580、一記憶體520、一儲存裝置530、一基本輸入/輸出系統(BIOS)510、一北橋560、及一南橋570。
舉例來說,電腦系統500可為一伺服器(例如在資料中心中之許多機架式伺服器中之一者)或一個人電腦。處理器(例如為中央處理器)540可為在一主機板上之一晶片,其可接收並執行儲存於記憶體520中之可程式化之指令。處理器540可為具有單一處理核心之一單一中央處理器、具有多處理核心之單一中央處理器、或多個中央處理器。一或多個匯流排(未繪示)可傳送在多個電腦元件之間的指令及應用程式資料,例如是處理器540、記憶體520、儲存裝置530、及網路介面550。
記憶體520可包括用以暫時地或永久地儲存資料或程式之任何物理性裝置,例如是多種形式之隨機存取記憶體(RAM)。儲存裝置530可包括用於非揮發性資料儲存之任何物理性裝置,例如是硬碟機或快閃磁碟機。儲存裝置530比記憶 體520具有較大的容量,且可在每單元之儲存更具有經濟效益,但亦會具有較慢的傳輸速度。
基本輸入/輸出系統510可包括一基本輸入/輸出系統或其繼承者或等效元件,例如是可延伸韌體介面(Extensible Firmware Interface、EFI)或是統一可延伸韌體介面(Unified Extensible Firmware Interface、UEFI)。基本輸入/輸出系統510可包括位於電腦系統500中一主機板上之一BIOS晶片,其係用以儲存一BIOS軟體程式。基本輸入/輸出系統510係儲存了當電腦系統500第一次啟動時所需執行的組態集合。BIOS韌體及BIOS組態係儲存於一非揮發性隨機存取記憶體512或是一唯讀記憶體,例如是快閃記憶體。快閃記憶體係為一非揮發性電腦儲存媒體,其可電性地抹除及重新程式化。
每當電腦系統500啟動時,BIOS 510可被載入並執行一程式序列。BIOS 510可依據組態集合以辨識、初始化、及測試目前電腦系統中之硬體。BIOS 510可在電腦系統500執行自我測試,例如是開機自我測試(Power-on-Self-Test)。該自我測試可測試許多硬體元件之功能性,例如是硬體、光碟讀取裝置、散熱裝置、記憶體模組、或擴充卡等等。BIOS 510可在記憶體320中進行定址及分配一區域以儲存一作業系統。BIOS 510可將電腦系統之控制權交給作業系統。
電腦系統500中之BIOS 510可包括一BIOS組態設定,其係定義了BIOS 510如何控制電腦系統500中之不同硬體元件。BIOS組態設定可決定在電腦系統500中之那些硬體元件需要啟動。BIOS 510可提供一介面(例如是BIOS設定工具),可 供設定不同的參數,其可與一BIOS預設組態之參數不同。舉例來說,使用者(例如是管理者),可使用BIOS 510以指定時脈及匯流排之速度、指定與電腦系統連接之週邊裝置、指定監控電腦系統之健康狀態(例如是風扇轉速及CPU溫度限制)、以及指定其他不同參數,其可影響電腦系統之整體效能及功耗使用。
管理控制器580可為一特別微控制器(microcontroller)嵌入至電腦系統500之主機板。舉例來說,管理控制器580可為一基板管理控制器或一機架式伺服器管理控制器(rack server management controller、RMC)。管理控制器580可管理在系統管理軟體及平台硬體之間的介面。建置於在電腦系統500中之不同類型的感測器可回報參數至管理控制器580,例如是溫度、散熱風扇轉速、電源狀態、作業系統狀態等等。管理控制器580可監控這些感測器,並在若有任何參數不在預設限制內時,並可利用網路傳送警告至管理者,藉以通知電腦系統中可能的失誤(failure)。管理者亦可遠端與基板管理控制器580進行溝通以採取一些正確的行動,例如是重新啟動或是關閉再啟動電腦系統以回復功能。
北橋560可為在主機板上之一晶片,且可直接連接至處理器540或整合至處理器540中。在一些實施例中,北橋560及南橋570可合併至單一晶片。北橋560及南橋570可管理在處理器540及在主機板上之其他元件之通訊。相較於南橋570,北橋560可管理需要較高效能之工作(task)。北橋560可管理在處理器540、記憶體520、及視訊控制器(未繪示)之間的通訊。在一些實施例中,北橋560可包括一視訊控制器。
南橋570可為在連接至北橋560之主機板上的一晶片,但不同於北橋560,南橋570並非直接連接至處理器540。南橋570可管理電腦系統500之輸入/輸出功能(例如:音訊功能、BIOS、USB、SATA、PCI、PCI-X、PCI Express匯流排、ISA匯流排、SPI匯流排、eSPI匯流排、系統管理匯流排等等)。南橋570可連接至或可包括管理控制器580、直接記憶體存取(DMA)控制器、程式中斷控制器、及即時時鐘。
在本發明中所繪示的邏輯方塊、模組、及電路可由一般用途處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式化的閘陣列(FPGA)或其他可程式化邏輯裝置、離散閘或電晶體邏輯、離散硬體元件、或其任意組合用以設計來執行本發明之函式或功能。一般用途處理器可為一微處理器、亦可為任意傳統的處理器、控制器、微控制器或狀態機。處理器亦可用運算裝置之一組合所實現,例如是一數位信號處理器及一微處理器之組合、複數個微處理器、一或多個微處理器再加上一數位信號處理核心、或其他此類組合。
在本發明中之方法或演算法之運算可直接用硬體、由一處理器所執行之一軟體模組、或其組合所實現。軟體模組可儲存於隨機存取記憶體、快閃記憶體、唯讀記憶體、EPROM、EEPROM、暫存器、硬碟、可移除式磁碟、CD-ROM、或其他已知類型的儲存媒體。一示範性的儲存媒體係耦接至處理器,使得該處理器可由該儲存媒體讀取或寫入資訊。在另一實施例中,儲存媒體可被整合至處理器。該處理器及儲存媒體可在一應用導向積體電路(ASIC)中。該應用導向積體電路可位 於使用者終端裝置中。另一方面,該處理器及儲存媒體可位於使用者終端裝置之離散元件中。
在一或多個示範性的設計中,所揭露之功能可由硬體、軟體、韌體、或其任意組合所實現。若由軟體所實現,該功能可被儲存或以在一非暫態性(non-transitory)之電腦可讀取媒體上之一或多個指令或程式碼進行傳送。非揮發性電腦可讀取媒體包括任意媒體可將一電腦程式由一處傳送至另一處。儲存媒體可為任意可取得之媒體,其可由一般用途處理器或特殊用途處理器所取。在一非限定之實施例中,這類的電腦可讀取媒體包括隨機存取記憶體、唯讀記憶體、EEPROM、CD-ROM、或其他光學磁碟儲存裝置、磁性磁碟儲存裝置、或其他類型之媒體可用以攜帶或儲存以指令或資料結構之形式的程式碼,其可由一一般用途處理器或一特殊用途處理器所存取。在此處所揭露之磁碟(disk)及碟片(disc)可包括CD、雷射碟(laser disc)、光學碟、DVD、軟碟、藍光碟(blue ray disc),其中當這些碟用雷射光學讀取資料時,這些碟片通常可磁性地重製資料。上述所揭示之任意組合亦包括於非暫態性之電腦可讀取媒體中。
本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (8)

  1. 一種偵測一積體電路匯流排(I2C)之方法,該方法係利用一基板管理控制器及一硬體監視電路,該方法包括:利用該硬體監視電路偵測一I2C匯流排失效;判斷該硬體監視電路是否可自動重置在該I2C匯流排上之複數個I2C裝置;若判斷該硬體監視電路可自動重置在該I2C匯流排上之該複數個I2C裝置,利用該硬體監視電路重置該複數個I2C裝置;以及若判斷該硬體監視電路無法自動重置在該I2C匯流排上之該複數個I2C裝置,利用該硬體監視電路回報所偵測到之該I2C匯流排失效至該基板管理控制器,並利用該基板管理控制器處理該I2C匯流排失效,其中該處理步驟包括:利用該基板管理控制器重置該複數個I2C裝置;若重置該複數個I2C裝置無法解決該I2C匯流排失效,測試該複數個I2C裝置以判斷該I2C匯流排失效之原因;以及回報一處理結果至一中央處理器。
  2. 如申請專利範圍第1項所述之方法,其中該判斷步驟包括:在該硬體監視電路偵測是否從該基板管理控制器接收到一重置致能信號;以及若接收到該重置致能信號,判斷該硬體監視電路可自動重置該複數個I2C裝置。
  3. 如申請專利範圍第1項所述之方法,其中該偵測步驟包括:利用該硬體監視電路偵測該I2C匯流排之一時鐘線及一資料線(SCL/SDA腳位)。
  4. 如申請專利範圍第1項所述之方法,其中該測試步驟包括:依據下列步驟以依序評估該複數個I2C裝置中之每一者:隔離在該複數個I2C裝置中所選擇之一者;在隔離後檢查該I2C匯流排狀態;以及若判斷在該複數個I2C裝置中之一者所相應之該I2C匯流排狀態為不正常,記錄在該複數個I2C裝置中之該者之該I2C匯流排失效,其中該評估步驟係用於在該複數個I2C裝置中所選擇之該者有關之所有通道。
  5. 一種開關裝置,包括:一基板管理控制器;一硬體監視電路;一積體電路匯流排(I2C),用以連接複數個I2C裝置;以及一中央處理器;其中該硬體監視電路係用以偵測該I2C匯排流之一I2C匯流排失效,並判斷該硬體監視電路是否可自動重置在該I2C匯流排上之複數個I2C裝置;其中若判斷該硬體監視電路可自動重置在該I2C匯流排上之該複數個I2C裝置,該硬體監視電路係重置該複數個I2C裝置,其中若判斷該硬體監視電路無法自動重置在該I2C匯流排上之該複數個I2C裝置,該硬體監視電路係回報所偵測到之該I2C匯流排失效至該基板管理控制器,且該基板管理控制器係處理該I2C匯流排失效,其中該基板管理控制器更用以重置該複數個I2C裝置,且若重置該複數個I2C裝置無法解決該I2C匯流排失效,測試該複數個I2C裝置以判斷該I2C匯流排失效之原因,其中該基板管理控制器更用以回報一處理結果至一中央處理器。
  6. 如申請專利範圍第5項所述之開關裝置,其中在該硬體監視電路更用以偵測是否從該基板管理控制器接收到一重置致能信號,且若接收到該重置致能信號,判斷該硬體監視電路可自動重置該複數個I2C裝置。
  7. 如申請專利範圍第5項所述之開關裝置,其中該硬體監視電路更用以偵測該I2C匯流排之一時鐘線及一資料線(SCL/SDA腳位)。
  8. 如申請專利範圍第5項所述之開關裝置,其中該測試步驟包括:依據下列步驟以依序評估該複數個I2C裝置中之每一者:隔離在該複數個I2C裝置中所選擇之一者;在隔離後檢查該I2C匯流排狀態;以及若判斷在該複數個I2C裝置中之一者所相應之該I2C匯流排狀態為不正常,記錄在該複數個I2C裝置中之該者之該I2C匯流排失效,其中該基板管理控制器係用以在判斷該硬體監視電路無法自動重置該I2C匯流排時,處理在該複數個I2C裝置中所選擇之該者有關之所有通道。
TW106106085A 2017-01-17 2017-02-23 開關裝置及偵測積體電路匯流排之方法 TWI632462B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/408,196 2017-01-17
US15/408,196 US10296434B2 (en) 2017-01-17 2017-01-17 Bus hang detection and find out

Publications (2)

Publication Number Publication Date
TW201828071A TW201828071A (zh) 2018-08-01
TWI632462B true TWI632462B (zh) 2018-08-11

Family

ID=59152750

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106106085A TWI632462B (zh) 2017-01-17 2017-02-23 開關裝置及偵測積體電路匯流排之方法

Country Status (5)

Country Link
US (1) US10296434B2 (zh)
EP (1) EP3349118B1 (zh)
JP (1) JP6602354B2 (zh)
CN (1) CN108319525A (zh)
TW (1) TWI632462B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI739127B (zh) * 2019-05-14 2021-09-11 廣達電腦股份有限公司 提供系統資料之方法、系統及伺服器

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110249319A (zh) * 2018-01-09 2019-09-17 深圳市汇顶科技股份有限公司 处理i2c总线死锁的方法、电子设备和通信***
DE102018129982A1 (de) * 2018-11-27 2020-05-28 Fujitsu Limited Verfahren zum Zurücksetzen einer Management-Hardwarekomponente eines Computersystems und derartiges Computersystem
US10649933B1 (en) 2019-04-22 2020-05-12 International Business Machines Corporation Select state detection and signal generation
US11099922B2 (en) * 2019-08-12 2021-08-24 Dell Products L.P. System and method for isolating a failed card
CN111858448B (zh) * 2020-07-17 2023-01-10 苏州浪潮智能科技有限公司 一种i2c死锁并恢复的方法及装置
TWI764648B (zh) * 2021-03-25 2022-05-11 微星科技股份有限公司 主機板、主機板的外接裝置以及主機板的開機方法
CN112732477B (zh) * 2021-04-01 2021-06-29 四川华鲲振宇智能科技有限责任公司 一种带外自检故障隔离的方法
JP2023081537A (ja) 2021-12-01 2023-06-13 株式会社日立製作所 ストレージシステム
CN115599617B (zh) * 2022-12-01 2023-07-21 苏州浪潮智能科技有限公司 总线检测方法、装置、服务器及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070240019A1 (en) * 2005-12-29 2007-10-11 International Business Machines Corporation Systems and methods for correcting errors in I2C bus communications
CN101126995A (zh) * 2006-08-14 2008-02-20 国际商业机器公司 处理严重硬件错误的方法及设备
US20080270827A1 (en) * 2007-04-26 2008-10-30 International Business Machines Corporation Recovering diagnostic data after out-of-band data capture failure
TW201445300A (zh) * 2013-05-29 2014-12-01 Hon Hai Prec Ind Co Ltd 電源故障偵測裝置及方法
TW201640363A (zh) * 2015-05-11 2016-11-16 廣達電腦股份有限公司 自動硬體恢復方法及自動硬體恢復系統

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333285A (en) * 1991-11-21 1994-07-26 International Business Machines Corporation System crash detect and automatic reset mechanism for processor cards
US6112320A (en) * 1997-10-29 2000-08-29 Dien; Ghing-Hsin Computer watchdog timer
US6260162B1 (en) * 1998-10-31 2001-07-10 Advanced Micro Devices, Inc. Test mode programmable reset for a watchdog timer
US6728908B1 (en) * 1999-11-18 2004-04-27 California Institute Of Technology I2C bus protocol controller with fault tolerance
DE10030991A1 (de) * 2000-06-30 2002-01-10 Bosch Gmbh Robert Verfahren und Vorrichtung zur Synchronisation eines Rechners und einer Überwachungsschaltung
US6769078B2 (en) * 2001-02-08 2004-07-27 International Business Machines Corporation Method for isolating an I2C bus fault using self bus switching device
US6862642B1 (en) * 2001-05-15 2005-03-01 Adaptec, Inc. Expander device and method for resetting bus segments in I/O subsystem segmented with expanders
US7194665B2 (en) * 2001-11-01 2007-03-20 Advanced Micro Devices, Inc. ASF state determination using chipset-resident watchdog timer
ATE313195T1 (de) * 2002-04-16 2005-12-15 Bosch Gmbh Robert Verfahren zum synchronisieren von uhren in einem verteilten kommunikationssystem
US7689875B2 (en) * 2002-04-25 2010-03-30 Microsoft Corporation Watchdog timer using a high precision event timer
US7454188B2 (en) * 2002-08-30 2008-11-18 Nxp B.V. Version-programmable circuit module
US20040168008A1 (en) * 2003-02-18 2004-08-26 Hewlett-Packard Development Company, L.P. High speed multiple ported bus interface port state identification system
US7076588B2 (en) * 2003-02-18 2006-07-11 Hewlett-Packard Development Company, L.P. High speed multiple ported bus interface control
US7630304B2 (en) * 2003-06-12 2009-12-08 Hewlett-Packard Development Company, L.P. Method of overflow recovery of I2C packets on an I2C router
US7082488B2 (en) * 2003-06-12 2006-07-25 Hewlett-Packard Development Company, L.P. System and method for presence detect and reset of a device coupled to an inter-integrated circuit router
US7154723B1 (en) 2003-06-27 2006-12-26 Emc Corporation Highly available dual serial bus architecture
EP1661001A2 (en) * 2003-08-27 2006-05-31 Philips Intellectual Property & Standards GmbH Circuit arrangement and method for supporting and monitoring a microcontroller
US7091857B2 (en) * 2004-02-12 2006-08-15 Mi-Jack Products, Inc. Electronic control system used in security system for cargo trailers
TW200537305A (en) 2004-05-04 2005-11-16 Quanta Comp Inc Communication system, transmission device and the control method thereof
US7350117B2 (en) * 2004-10-05 2008-03-25 International Business Machines Corporation Management of microcode lock in a shared computing resource
US7478286B2 (en) * 2005-04-08 2009-01-13 Linear Technology Corporation Circuit and method of detecting and resolving stuck I2C buses
US20070088988A1 (en) * 2005-10-14 2007-04-19 Dell Products L.P. System and method for logging recoverable errors
US7958396B2 (en) * 2006-05-19 2011-06-07 Microsoft Corporation Watchdog processors in multicore systems
US8243638B2 (en) * 2007-01-08 2012-08-14 Hellosoft, Inc. Passive listening in wireless communication
US20080307240A1 (en) * 2007-06-08 2008-12-11 Texas Instruments Incorporated Power management electronic circuits, systems, and methods and processes of manufacture
US7721155B2 (en) 2007-06-27 2010-05-18 International Business Machines Corporation I2C failure detection, correction, and masking
US8448029B2 (en) * 2009-03-11 2013-05-21 Lsi Corporation Multiprocessor system having multiple watchdog timers and method of operation
JP5716396B2 (ja) * 2010-02-05 2015-05-13 富士通株式会社 情報処理装置及び情報処理方法
US20110208885A1 (en) * 2010-02-25 2011-08-25 Panasonic Corporation Data bus control method and apparatus
CN102445899A (zh) * 2010-09-30 2012-05-09 伊姆西公司 监控电路
WO2012097775A1 (de) * 2011-01-21 2012-07-26 Continental Automotive Gmbh Schaltungsanordnung mit überwachungseinrichtung
JP5733384B2 (ja) * 2011-02-24 2015-06-10 富士通株式会社 情報処理装置
CN102891762B (zh) * 2011-07-20 2016-05-04 赛恩倍吉科技顾问(深圳)有限公司 连续处理网络数据的***及方法
US8761827B2 (en) * 2011-12-21 2014-06-24 International Business Machines Corporation Layered control of service interface for a breakout component in a mobile data network
CN103019871B (zh) * 2012-12-31 2015-08-19 四川迪佳通电子有限公司 一种i2c总线的防死锁***及其防死锁方法
JP6107933B2 (ja) * 2013-03-29 2017-04-05 富士通株式会社 接続制御装置、情報処理装置、及び接続制御方法
US9146797B2 (en) 2013-08-09 2015-09-29 American Megatrends, Inc. Method for ensuring remediation of hung multiplexer bus channels
US9218247B2 (en) * 2013-08-21 2015-12-22 Globalfoundries Inc. Multimaster serial single-ended system fault recovery
US9059906B1 (en) * 2013-12-03 2015-06-16 Barry John McCleland Data communication interface
DE102014206752B4 (de) * 2014-04-08 2021-08-12 Robert Bosch Gmbh Bestimmung des Zustands eines I2C-Busses
US9904596B2 (en) * 2014-05-15 2018-02-27 Integrated Silicon Solution, Inc. Serial bus event notification in a memory device
US9645954B2 (en) * 2014-06-05 2017-05-09 Lenovo (Singapore) Pte. Ltd. Embedded microcontroller and buses
JP6340962B2 (ja) * 2014-07-07 2018-06-13 富士通株式会社 バス制御装置、データ転送システム、及びバス制御方法
US10089164B2 (en) * 2015-02-27 2018-10-02 Microchip Technology Incorporated Watchdog timer
JP6816345B2 (ja) * 2015-04-24 2021-01-20 富士電機株式会社 駆動制御装置
US9612893B2 (en) 2015-05-11 2017-04-04 Silicon Laboratories Inc. Peripheral watchdog timer
KR102320407B1 (ko) * 2015-06-05 2021-11-03 삼성전자주식회사 I2c 통신 모듈을 포함하는 컴퓨팅 장치 및 그것의 통신 에러 복구 방법
US9880894B2 (en) * 2015-07-08 2018-01-30 Microsoft Technology Licensing, Llc High availability and energy-efficient watchdog timer
US9875165B2 (en) * 2015-11-24 2018-01-23 Quanta Computer Inc. Communication bus with baseboard management controller
US10534619B2 (en) * 2016-02-26 2020-01-14 Smart Modular Technologies, Inc. Memory management system with multiple boot devices and method of operation thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070240019A1 (en) * 2005-12-29 2007-10-11 International Business Machines Corporation Systems and methods for correcting errors in I2C bus communications
CN101126995A (zh) * 2006-08-14 2008-02-20 国际商业机器公司 处理严重硬件错误的方法及设备
US20080270827A1 (en) * 2007-04-26 2008-10-30 International Business Machines Corporation Recovering diagnostic data after out-of-band data capture failure
TW201445300A (zh) * 2013-05-29 2014-12-01 Hon Hai Prec Ind Co Ltd 電源故障偵測裝置及方法
TW201640363A (zh) * 2015-05-11 2016-11-16 廣達電腦股份有限公司 自動硬體恢復方法及自動硬體恢復系統

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI739127B (zh) * 2019-05-14 2021-09-11 廣達電腦股份有限公司 提供系統資料之方法、系統及伺服器
US11126517B2 (en) 2019-05-14 2021-09-21 Quanta Computer Inc. Method and system for communication channels to management controller

Also Published As

Publication number Publication date
US20180203779A1 (en) 2018-07-19
US10296434B2 (en) 2019-05-21
EP3349118A1 (en) 2018-07-18
CN108319525A (zh) 2018-07-24
JP6602354B2 (ja) 2019-11-06
JP2018116679A (ja) 2018-07-26
TW201828071A (zh) 2018-08-01
EP3349118B1 (en) 2020-05-06

Similar Documents

Publication Publication Date Title
TWI632462B (zh) 開關裝置及偵測積體電路匯流排之方法
TWI571736B (zh) 自動除錯資訊收集之方法及系統
JP6530774B2 (ja) ハードウェア障害回復システム
US10031736B2 (en) Automatic system software installation on boot
US20150106660A1 (en) Controller access to host memory
US10372460B2 (en) System and method for baseboard management controller assisted dynamic early host video on systems with a security co-processor
TWI450103B (zh) 伺服器之遠端管理系統及方法,及其電腦程式產品
US9218893B2 (en) Memory testing in a data processing system
US20080270827A1 (en) Recovering diagnostic data after out-of-band data capture failure
US8751635B2 (en) Monitoring sensors for systems management
US7783872B2 (en) System and method to enable an event timer in a multiple event timer operating environment
US10275330B2 (en) Computer readable non-transitory recording medium storing pseudo failure generation program, generation method, and generation apparatus
TWI632467B (zh) 運算裝置及用於運算裝置中之方法
US8122176B2 (en) System and method for logging system management interrupts
JP2016085728A (ja) デバイス故障後のコンソールメッセージ回収方法およびシステム
CN114600088A (zh) 使用基板管理控制器的服务器状态监测***和方法
CN110704228A (zh) 一种固态硬盘异常处理方法及***
TWI553490B (zh) 遠端系統配置管理方法、遠端系統配置管理系統及非暫態電腦可讀式儲存多媒體
JP5689783B2 (ja) コンピュータ、コンピュータシステム、および障害情報管理方法
TWI573424B (zh) 網路配置管理方法、伺服系統以及非暫態之電腦可讀儲存媒體
US20240012651A1 (en) Enhanced service operating system capabilities through embedded controller system health state tracking
CN108415788B (zh) 用于对无响应处理电路作出响应的数据处理设备和方法
TW202107280A (zh) 硬碟運作狀態判定方法