TW202242655A - 儲存有限狀態機之狀態資料的方法、電腦系統、及電腦程式產品 - Google Patents

儲存有限狀態機之狀態資料的方法、電腦系統、及電腦程式產品 Download PDF

Info

Publication number
TW202242655A
TW202242655A TW110129219A TW110129219A TW202242655A TW 202242655 A TW202242655 A TW 202242655A TW 110129219 A TW110129219 A TW 110129219A TW 110129219 A TW110129219 A TW 110129219A TW 202242655 A TW202242655 A TW 202242655A
Authority
TW
Taiwan
Prior art keywords
power
sequence
state
state machine
registers
Prior art date
Application number
TW110129219A
Other languages
English (en)
Other versions
TWI802951B (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 TW202242655A publication Critical patent/TW202242655A/zh
Application granted granted Critical
Publication of TWI802951B publication Critical patent/TWI802951B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/045Programme control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/21Pc I-O input output
    • G05B2219/21109Field programmable gate array, fpga as I-O module
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25268PLD programmable logic device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Sources (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本揭露提供一種系統及方法,用以記錄來自電腦系統上的電源系統控制裝置的狀態資料。電腦系統包含電源系統,電源系統對電腦系統供電。電源系統具有上電時序,上電時序具有複數個階段。電源系統控制裝置耦接至電源系統。電源系統控制裝置包含有限狀態機電路,有限狀態機電路具有對應於上電時序之多個階段的多個狀態。控制裝置亦具有寫入控制器、儲存緩衝器及通訊界面。寫入控制器將有限狀態機電路之狀態資料寫入至儲存緩衝器。外部控制器耦接至通訊界面,並可操作以儲存狀態資料。

Description

儲存有限狀態機之狀態資料的方法、電腦系統、及電腦程式產品
本揭露大致涉及電腦系統中的操作可靠度(operating reliability)。更具體而言,本揭露之態樣涉及儲存來自有限狀態機(finite state machine)之狀態的一種常式(routine),該有限狀態機是出於除錯(debugging)之目的,而為電腦系統中的上電時序(power-up sequence)控制電壓調整器(voltage regulator)。
典型的電腦系統,像是伺服器,通常包含如處理器、記憶體裝置、網路介面卡、電源供應,以及其他在主機板上特殊硬體等硬體組件。電腦系統具有基本輸入/輸出系統(BIOS)。BIOS是用以在啟動電腦系統之前,測試來自硬體組件的基本輸入及輸出。
伺服器架構通常是以中央處理單元(CPU)為核心。複雜的電腦系統,像是伺服器,使用基板管理控制器(baseboard management controller;BMC)以管理基本的系統運作,像是電源管理、硬體錯誤檢查…等。伺服器的電源系統,像是電源供應單元(power supply unit;PSU),通常是由專用的電源系統控制電路所管理,像是複雜可程式化邏輯裝置(complex programmable logic device;CPLD)。CPLD的程式是編寫以管理電源系統的上電時序及斷電時序(power-down sequence)。
在典型的伺服器架構中,CPLD所執行的有限狀態機(finite state machine;FSM)管理電源系統的上電時序。FSM是設計以基於來自CPU廠商的平台設計指南(Platform Design Guide;PDG)所敘述的電源系統服務之上電時序。於是,FSM包含與上電時序中的步驟對應的狀態。FSM之狀態是用以控制電源供應單元位於主機板上的電壓調整器,以完成電腦系統之上電時序及斷電時序。
在電腦系統(像是伺服器)之上電時序的開發或惟幕階段中,意外的短路故障或異常的操作行為會致使CPLD所執行的FSM在達到最終狀態之前,停滯在對應於上電時序的步驟。然而,目前尚無法判斷致使故障的是上電時序中的什麼階段。解決此類型故障的除錯程序總是耗費時間的,因為檢查整個伺服器系統以判斷錯誤是複雜的程序。
有鑑於此,需要一種常式,以儲存來自電腦系統之緩衝器中的電源系統控制器的資料,允許當上電時序失敗時進行有效率的故障排除(troubleshooting)。更進一步需要一種常式,允許儲存有限狀態機之狀態,以供外部控制器進行檢索。也需要不同的儲存常式,以儲存有限狀態的資料。
「實施例」一詞及類似的用語,例如實作、設置、態樣、範例、選項,意圖廣泛地指代本發明及以下請求項的所有申請標的。包含這些詞彙的陳述不應被理解為限制在此所述的申請標的或限制以下的請求項的含義或範圍。在此所涵蓋的本揭露之實施例,是由以下的請求項而非本發明內容所限定。本發明內容是本揭露之各方面的高階綜述,並且介紹了一些概念,這些概念在以下實施方式的段落中會進一步描述。本發明內容並不旨在標識出所請求的申請標的之必要特徵,也不旨在單獨用於決定所請求的申請標的之範圍。藉由參考本發明的整個說明書的適當部分、任何或所有的圖式,以及每個請求項,應當理解本申請標的。
所揭露的範例是一種電腦系統,包含對電腦系統供電的電源系統。電腦系統包含上電時序,上電時序具有複數個階段。電源系統控制裝置耦接至電源系統。電源系統控制裝置包含有限狀態機電路,有限狀態機電路具有對應於上電時序之多個階段的多個狀態。電源系統控制裝置亦包含寫入控制器、儲存緩衝器及通訊界面。寫入控制器將有限狀態機電路之狀態資料寫入至儲存緩衝器。外部控制器耦接至通訊界面,通訊界面可操作以儲存狀態資料。
範例系統更進一步的一種實作,是在電腦系統為伺服器之情況下的實施例。另一種實作是在控制裝置為可程式化裝置的情況下。另一種實作是在控制裝置為複雜可程式化邏輯裝置(CPLD)及場域可程式化閘陣列(FPGA)其中一者的情況下。另一種實作是在外部控制器為基板管理控制器(BMC)的情況下。另一種實作是在至少一個階段對應於有限狀態機之多於一個狀態的情況下。另一種實作是在通訊界面經由I2C匯流排耦接至外部控制器的情況下。另一種實作是在儲存緩衝器包含複數個暫存器的情況下。預定數量個暫存器專用於儲存狀態資料。當有限狀態機改變狀態時,寫入控制器將來自有限狀態機的狀態資料儲存至其中一個暫存器中。另一種實作是在寫入控制器於上電時序改變階段時重置複數個暫存器的情況下。另一種實作是在寫入控制器於複數個暫存器已滿時重置其中一個暫存器的情況下。
所揭露的另一個範例,是一種儲存來自有限狀態機的狀態資料的方法,由電腦系統上的電源控制電路所執行。發起電源系統之上電時序,上電時序具有複數個階段。基於上電時序,改變電源系統控制器所執行的有限狀態機之狀態。經由寫入控制器,將有限狀態機之狀態寫入控制器之儲存緩衝器中。經由通訊界面,將所儲存的狀態傳達至外部控制器。
範例方法的另一種實作,是在電腦系統為伺服器的情況下。另一種實作是在控制電路為可程式化裝置的情況下。另一種實作是在控制電路為複雜可程式化邏輯裝置(CPLD)及場域可程式化閘陣列(FPGA)其中一者的情況下。另一種實作是在外部控制器為基板管理控制器(BMC)的情況下。另一種實作是在至少一個階段對應於有限狀態機之多於一個狀態的情況下。另一種實作是在I2C匯流排耦接於通訊界面與外部控制器之間的情況下。另一種實作是在儲存緩衝器包含複數個暫存器的情況下。預定數量個暫存器專用於儲存狀態資料。當有限狀態機改變狀態時,來自有限狀態機的狀態資料被儲存至其中一個暫存器中。另一種實作是在複數個暫存器於上電時序改變階段時被重置的情況下。另一種實作是在其中一個暫存器於複數個暫存器已滿時被重置的情況下。
所揭露的另一個範例是一種電腦程式產品,有形地實施於非暫態機器可讀儲存媒介中。該產品包含多個指令,設置以致使控制器所進行的操作,包含發起電源系統之上電時序,上電時序具有複數個階段。操作包含執行有限狀態機,有限狀態機具有對應於複數個階段的複數個狀態。操作包含基於上電時序之階段,改變有限狀態機之狀態。操作包含經由寫速控制器,將有限狀態機之狀態寫入控制器之儲存緩衝器中。操作包含經由通訊界面,將所儲存的狀態傳達至外部控制器。
以上發明內容並非意圖代表本揭露的每個實施例或每個觀點。反之,前述的發明內容僅提供在此列舉的某些新穎的觀念及特徵之範例。以上特徵及優點,以及本揭露的其他特徵及優點,當關聯於搭配的圖式及附加的請求項,從以下用來實施本發明的代表性實施例及模式的詳細敘述中,將立即清晰可見。
本發明可以許多不同的形式所實施。代表性的實施例被圖式所顯示,並將在此被詳細地敘述。本揭露為本發明的原則之範例或圖解,且並非意圖將本揭露之廣泛的觀點限制於所繪示的實施例。在此基礎上,例如在摘要、發明內容及實施方式等段落中被揭露,但並未明確地在請求項中列舉的元件及限制,不應被單獨地、集體地、暗示地、推論地或其他方式地併入至請求項中。
為了詳細敘述本發明,除非被具體地否認,否則單數形包含複數形,反之亦然;且「包含」一詞意指「無限制地包含」。此外,表近似的詞彙,例如「約」、「幾乎」、「大體上」、「大概」及類似的詞彙,能在此被用來意指「在」、「近」、「近於」、「3-5%的範圍內」或「可接受的製造公差內」,或者其任何的邏輯組合。
本揭露涉及一種複雜可程式化邏輯裝置(CPLD)的常式,該常式使用有限狀態機(FSM)以控制電腦系統上的電源系統。該常式致使CPLD傳輸來自有限狀態機的狀態資料,以將狀態資料記錄於CPLD的儲存緩衝器中。該常式亦允許像是基板管理控制器(BMC)之類的外部控制器讀取來自CPLD之記憶體緩衝器的歷史狀態資料。歷史狀態資料可被分析,以協助排除電源系統上電的故障。
為了減輕除錯的負擔,當系統上電或斷電,以及發生異常時,記錄於CPLD之儲存緩衝器中的歷史已傳輸狀態資料可被讀取。外部控制器可透過像是積體電路間(Inter-Integrated Circuit;I2C)匯流排之類的雙線通訊介面(two-wire communication interface),將所記錄的資訊全部讀取出來,以允許技術人員更進一步地對故障進行分析。
第1圖展示一種電腦系統100,電腦系統100執行以FSM為基礎的常式,儲存FSM狀態資料,以俾利對於電腦系統100的除錯。電腦系統100可包含多個中央處理單元(CPU)102及104,CPU 102及CPU 104各自具有以雙列直插式記憶體模組(dual in-line memory module;DIMM)106為形式的記憶體。CPU 102及CPU 104耦接至平台路徑控制器(platform controller hub;PCH)108。電腦系統100包含得以連接至外部儲存裝置的高速IO連接器110、對於像硬碟之類的硬體裝置112的連接器,以及基板管理控制器(BMC)114。PCH 108耦接至BMC 114,並協調CPU 102、CPU 104及電腦系統100中的其他組件之間的通訊。BMC 114是監控電腦系統100運作的外部控制器。在本範例中,BMC 114可耦接至像是LED之類的一系列光學指示器(optical indicator)116,光學指示器116指示電腦系統100之運作的不同狀態。BMC 114亦可耦接至允許操作者發起上電時序的電源鍵118。
一系列組件支援可連接至連接器110及連接器112的計算元件及儲存元件。這些組件包含電壓調整器(voltage regulator)120、一系列風扇122,以及風扇控制器124。在本範例中,電壓調整器120連接至電源供應單元(PSU)126。電源供應單元是電源系統的一部分,依序提供電源給電腦系統之組件。電源系統控制裝置(在本範例中為CPLD 130)管理電源系統枝上電時序,以確保對於電腦系統100的電源供應。於是,CPLD 130所管理的上電時序是電腦系統100的整個上電常式的一部分,包含確保像是處理器、儲存裝置及其他周邊裝置之類的其他組件正確地運作。CPLD 130致能電壓調整器120根據整個上電時序,開始供應由PSU 126所提供的電源。在本範例中,CPLD 130的程式是針對涉及電源系統的控制及監控功能所編寫,像是執行聯合測試工作群組(Joint Test Action Group;JTAG)I2C匯流排介面、風扇控制常式,以及上電/斷電時序。
BMC 114經由像是I2C匯流排132之類的雙線通訊介面,耦接至CPLD 130。BMC 114透過像是I2C匯流排134之類的其他I2C匯流排,接收運作的資料。其他像是風扇控制器124之類的組件,將轉速計(tachometer)輸出136提供給BMC114,以監控風扇122所產生的空氣流動。
第2圖是CPLD 130的方塊圖。在本範例中,CPLD 130是由萊迪思半導體(Lattice)所製造的MachXO2 CPLD,但亦可使用其他類似的裝置。在本範例中,CPLD 130的程式是編寫以進行對電源系統的監控及控制功能。CPLD 130包含儲存緩衝器210。在本範例中,CPLD 130的程式是編寫以執行有限狀態機(FSM)220,以協助電源系統的上電時序。CPLD 130的程式亦編寫以執行寫入控制器222。在本範例中,儲存緩衝器具有八個站存器224,專門用於儲存來自FSM 220的狀態資料。在本範例中,八個暫存器224中的每一者具有16個位元(bits)。如以下所解釋,在本範例中,每個暫存器224可儲存對應於FSM 220兩個狀態的兩個十六進位數值。每個暫存器224可儲存FSM 220的兩個狀態變化,因此可將FSM 220的16個狀態變化儲存在儲存緩衝器210中。當然,可專門使用儲存緩衝器210之更多或更少的暫存器,以儲存狀態資料。
FSM 220的程式是編寫以記錄關於電源系統之上電時序的步驟順序的不同狀態。一旦FSM 220已達到最終狀態,則完成上電時序,且CPLD 130對電腦系統100示信告知上電時序已完成。萬一在上電時序的期間發生錯誤,FSM 220將不會進入下個狀態。
範例上電時序使用CPLD 130及外部控制器上的硬體邏輯電路,以提供取得歷史FSM狀態資料的能力。CPLD 130是設置以經由寫入控制器222進行寫入控制。範例程序亦分配CPLD 130之儲存緩衝器210中預定一定數量的暫存器,以儲存來自FSM 220的狀態資料。於上電程序之期間,寫入控制器222將來自FSNM 220的狀態資料寫入儲存緩衝器210。
於是,當錯誤發生時,由於來自FSM 220的狀態資料被傳輸至儲存緩衝器210,FSM 220之狀態的歷史資訊會被記錄。CPLD 130允許像是BMC 114之類的外部控制器將來自CPLD 130之儲存緩衝器210的歷史狀態資料讀取出來。
新增的控制電路,其程式是編寫於CPLD 130中,偵測有限狀態機狀態,並且在一定條件下,將狀態發送以儲存至儲存緩衝器210。儲存緩衝器210所接收的資料,是以儲存緩衝器210之模式所定義的順序所儲存。當故障驟然發生時,外部控制器(像是BMC 114)可透過雙線通訊介面讀取儲存緩衝器210。於是,外部控制器可基於寫入資料的索引,印出從最舊至最近的時間軌跡。
第3圖展示有限狀態機220的範例狀態圖300。在本範例中,可以有18個狀態反映上電時序中的不同階段。在本範例中上電時序包含AC-ON階段310、等待DC-ON階段312、DC-ON階段314、DC-OFF階段316,以及AC-OFF階段318。在本範例中,寫入控制器222根據基於狀態變化或階段變化的線性模式或循環模式,將FSM 220之狀態記錄於儲存緩衝器210中。可使用任何數量個狀態反映上電時序中的不同階段。於是,改變有限狀態機的狀態是基於上電時序的個別階段。
AC-ON階段310發起於外部AC電源連接至電源系統,並且對應於FSM 220從狀態S0改變為狀態S1。根據線性的常式,將FSM 220之狀態記錄於儲存緩衝器210中。當FSM 220從狀態S1改變為狀態S7,記錄AC-ON階段310。在本範例中,狀態S2觸發於偵測到輔助的2.5伏特電源輸出並且發送輔助的1.8伏特電源輸出之電源致能(power enable)。狀態S3觸發於偵測到輔助的1.8伏特電源輸出。狀態S4觸發於偵測到輔助的1.2伏特電壓輸出。狀態S5觸發於偵測到輔助的1.15伏特電壓輸出。狀態S6觸發於BMC已就緒之時。
當按下第1圖中的電源鍵,FSM 220從狀態S7改變為狀態S8。寫入控制器222清除緩衝器210之暫存器224,並記錄FSM 220之狀態。這麼作,允許電源系統於狀態S9中開始發起等待DC-ON階段312。當DC電源已由電壓調整器120所提供,狀態S9至狀態S13構成了等待DC-ON階段312。經過預定的延遲(像是狀態S9至狀態S13的每個狀態約105毫秒的延遲)之後,FSM 220從狀態S9至狀態S13的每個狀態進展到下個狀態。經過延遲之後,當成功啟動DC電源時,FSM 220進展至狀態S14,構成了DC-ON階段314。當再次按下電源鍵,FSM 220遷移至狀態S15,構成了DC-OFF階段316。狀態S17至狀態S18構成了一個時段,直到再次按下電源鍵而觸發狀態S8。於斷電時序正常的期間,寫入控制器222持續記錄FSM 220之狀態。或者,若電源供應電源故障,FSM 220可遷移至對應於AC-OFF階段318的狀態S16。
記錄第3圖中的FSM 220之狀態可俾利於錯誤的排除。基於從電源供應單元之電壓調整器120輸入至CPLD 130的外部訊號,FSM 220可決定運作的下個狀態。有些時候,來自其他組件的故障或延遲致使那些外部訊號指示系統組件故障,其產生的異常訊號導致FSM狀態序列不正確。藉由檢視所記錄的FSM 220之狀態,技術人員可迅速找出疑似致使系統故障的訊號。技術人員可藉由與BMC 114的網路通訊檢視遠程終端機上的資料,以進行這種診斷。
第4A圖是展示FSM 220之狀態與對應的十六進位數值之間的範例相互關係的表,十六進位數值可儲存於儲存緩衝器210中的暫存器224中,以代表狀態。十六進位數值欄410展示十九個十六進位數值,這些數值可儲存在來自儲存緩衝器210所分配的八個暫存器中的任何暫存器。狀態欄412展示對應於欄410中的十六進位數值的FSM 220之狀態。舉例來說,來自第3圖的狀態S0被儲存為十六進位數值0,而狀態S11則被儲存為十六進位數值b。於是,八個暫存器所儲存的十六進位數值構成了一個帶有十六個階段變化項目的日誌(log),日誌可被外部控制器所讀取,以判斷FSM 220之狀態。當上電時序中斷時,日誌可被讀取,以判斷FSM 220之狀態。
第4B圖展示BMC 114讀取CPLD 130之儲存緩衝器210以判斷電源系統中的故障,所得出的日誌結果。日誌結果包含時間戳記(time stamp)欄450、暫存器欄452,以及十六進位數值欄454。暫存器欄452展示儲存緩衝器210之八個暫存器(0x40至0x47)中的特定暫存器,該暫存器記錄對應於FSM 220於特定時間之狀態變化的十六進位數值。如以下所解釋,暫存器是根據循環模式或線性模式所覆寫。
在日誌結果中,BMC 114於DC-ON階段已完成但遭遇故障之後提供日誌。在本範例中,暫存器0x40展示十六進位數值a與b,表示FSM 220基於第4A圖中的表,從狀態S10改變為狀態S11。下一個暫存器0x41展示十六進位數值c與d,表示FSM 220於下一個時段之期間,從狀態S12改變為S13。這表示DC-ON階段是基於第3圖中的狀態圖所進入的。下一個暫存器0x42展示十六進位數值e與13,表示FSM 220於下一個時段之期間,從狀態S14改變為狀態S15。下一個暫存器0x43展示十六進位數值11與12,表示FSM 200從狀態S17改變為狀態S18,表示已達到DC-OFF階段。最後,暫存器0x44展示十六進位數值12與00,表示FSM 220從狀態S18改變為狀態0。剩餘的暫存器0x45至0x47展示FSM 220於剩下的時間維持在狀態S0。
透過第4B圖中的範例日誌結果中的資料,技術人員可判斷FSM 220之最終狀態S17對應於DC-OFF階段。DC-OFF階段導致無法藉由BMC 114及電腦系統100的其他硬體組件(像是第1圖中的CPU 102及CPU 104)讀取資料。然而,CPLD 130由輔助的電源而運作,並藉此持續記錄FSM 220之狀態。
如第3圖及第4B圖中所示,停機行為可能是由AC-OFF階段318(狀態16,十六進位數值10)或DC-OFF階段316(狀態15,十六進位數值13)所造成,技術人員可判斷造成停機行為之原因,是因為進入DC-OFF階段。由於觸發DC-OFF階段的唯一訊號為電源鍵,技術人員可斷定故障是由錯誤的電源鍵所造成。
如以上所解釋,在本範例中,用於CPLD 130之儲存緩衝器210中的暫存器數目是有限的,因此需要有對於覆寫先前所儲存資料的儲存策略。於是,循環模式或線性模式可被常式用以決定何時將FSM狀態資料儲存在儲存緩衝器210中,以及何時應清空儲存緩衝器210中的暫存器224。在本範例中,循環模式是使用於儲存緩衝器210中的暫存器數目有限時。循環模式亦可用以測試電源週期(power cycle),以視情況記錄狀態變化。線性模式通常是用以確認對於偵測到的錯誤之解決方案是否成功。當然,其他控制器可能具有較大的內部儲存容量,也就不需要資料保留的策略。當使用循環模式時,每當發生狀態變化,寫入控制器222使用寫入索引(write index),將FSN 220當下的狀態寫入至儲存緩衝器210中。於是,當儲存緩衝器210之暫存器224已滿,最新的FSM狀態變化會覆寫最舊的FSM狀態變化。當使用線性模式時,寫入控制器222於上電時序的每個階段完成時,將FSM 220當下的狀態寫入儲存緩衝器210之暫存器224中,並重置所有暫存器224。或者,可以在上電時序之特定階段完成時重置暫存器224,以儲存多個階段的狀態變化。
第5圖展示CPLD 130所執行的儲存之常式中的循環模式之範例實作。在第5圖中的類似元件,是以其在第2圖中所對應的參考符號所標註。在循環模式中,寫入控制器222於FSM 220改變狀態時,將當下的FSM狀態寫入至儲存緩衝器210中的下一個可用的暫存器224中。當儲存緩衝器210之暫存器224已滿,CPLD 130使用寫入索引,將最近的狀態變化覆寫至儲存最舊的狀態變化的暫存器224。
第6圖展示CPLD 130所執行的儲存之常式中的線性模式之範例實作。在第6圖中的類似元件,是以其在第2圖中所對應的參考符號所標註。在線性模式中,寫入控制器222會總是將FSM 220當下的狀態記錄至儲存緩衝器210之暫存器224中。如以上所解釋,電腦系統100之上電時序/斷電時序包含AC-ON階段310、等待DC-ON階段312、DC-ON階段314及DC-OFF階段316等四個階段。每個階段對應於如第3圖所示的FSM 220之不同狀態。在線性模式中,當特定的階段開始,寫入索引將被寫入控制器222重置為零,於是清空暫存器224。於該階段之期間,當狀態改變時,寫入FSM 220的每個狀態至暫存器224中。
在線性模式中,由寫入控制器222所控制的寫入時序,可如以下關於第3圖中的狀態圖,以及第6圖中的程序圖。當上電階段處於AC-ON階段310,FSM 220開始改變狀態。寫入控制器222致使FSM狀態資料儲存至儲存緩衝器210之暫存器224中,直到AC-ON階段310已完成。於此時,若外部控制器(第1圖中的BMC 114)讀取來自CPLD 130的儲存緩衝器210,所得到的日誌允許技術人員明確判斷於AC-ON階段之期間內的狀態變化。
於AC-ON階段310之後,常式開始等待DC-ON階段312。若使用者藉由按下電源鍵以啟動電腦系統110,寫入控制器222將寫入索引重置為零,以開始DC-ON階段312。於是,暫存器224會被清空,而寫入控制器222從第一個暫存器開始,將FSM狀態資料寫入至儲存緩衝器210之暫存器224。於此時,若外部控制器讀取來自CPLD 130的儲存緩衝器210,所得到的日誌允許技術人員判斷於等待DC-ON階段312之期間內的狀態變化。
於等待DC-ON階段312之後,常式開始DC-ON階段314,而寫入控制器222將寫入索引重置為零。於是,暫存器224會被清空,而寫入控制器222從第一個暫存器開始,將FSM狀態資料寫入至儲存緩衝器210之暫存器224。於此時,若外部控制器BMC 114讀取來自CPLD 130的儲存緩衝器210,所得到的日誌允許技術人員明確知曉於DC-ON階段314之期間內的狀態變化。
於AC-ON階段314之後,當再次按下電源鍵時,常式開始進入DC-OFF階段316。寫入控制器將寫入索引重置為零。於是,暫存器224會被清空,而寫入控制器222從第一個暫存器開始,將FSM狀態資料寫入至儲存緩衝器210之暫存器224。於DC-OFF階段316之後,系統會返回等待DC-ON階段312,且寫入控制器222會再次將寫入索引重置為零。
在本範例中,電源系統控制電路可以是專用的電路裝置,像是複雜可程式化邏輯裝置(complex programmable logic device;CPLD)、特定應用積體電路(application specific integrated circuit;ASIC),或場域可程式化邏輯陣列(filed programmable gate array;FPGA),實作狀態記錄之功能。通用的控制器或處理器之其他組合,可搭配使用分離的儲存裝置,像是DRAM、EEPROM或類似的儲存裝置,以儲存來自FSM 220的狀態資料。若電源系統控制電路是專用的特殊電路裝置,像是ASIC,則功能是設計在硬體本身之中。若電源系統控制電路包含可程式化的硬體,像是CPLD或FPGA,則可在安裝進電腦系統100之前,編寫裝置硬體的程式。
以上所敘述在第3圖、第5圖及第6圖中的常式,是第2圖中用以進行FSM狀態資料儲存的CPLD 130之範例機器可讀指令的代表。在本範例中,機器可讀指令包含供(a)處理器;(b)控制器;及/或(c)一或多個其它合適的處理裝置,所執行的演算法。該演算法可以實施於像是快閃記憶體、CD-ROM、軟碟、硬碟、數位影音(多功能)碟片(DVD)或其他記憶體裝置之類的有形媒體上所儲存的軟體中。然而,本領域中具有通常知識者應易於理解,整個演算法及/或其部分可替代地由除了處理器之外的裝置所執行,及/或以習知的方式(例如可由特定應用積體電路(ASIC)、可程式化邏輯裝置(PLD)、場域可程式化邏輯裝置(FPLD)、場域可程式化邏輯陣列(FPGA)、離散邏輯裝置…等所實作),實施於韌體或專用硬體中。舉例來說,介面之任何或所有的組件可由軟體、硬體及/或韌體所實作。並且,流程圖所代表的某些或所有的機器可讀指令,可以人工實作。此外,雖然本說明書敘述了範例常式,本領域具有通常知識者將易於理解,可替代地使用實作範例機器可讀指令的許多其他方法。
雖然所揭露的實施例已參考一或多種實作所圖示及敘述,當本領域通常知識者閱讀及理解本說明書及附加的圖式時,將想到或知曉均等的替換及修改。此外,雖然本發明之特定特徵可僅參考數個實作中的一者所揭露,這種特徵可與其他實施例的一或多個其他特徵進行組合,而該其他特徵對於任何給定的或特定的應用而言,可能是期望的或有利的。
雖然本揭露之各種實施例已被敘述如上,應理解的是,該等實施例僅呈現作為範例,而非限制。在不背離本揭露之精神或範圍的情況下,可根據本揭露以對所揭露的實施例作出眾多變化。因此,本發明之廣度及範圍不應受限於任何以上敘述的實施例。反之,本發明之範圍應根據以下的請求項及其均等物所定義。
100:電腦系統 102,104:中央處理單元(CPU) 106:雙直插記憶體模組(DIMM) 108:平台路徑控制器(PCH) 110:高速IO連接器 112:連接器 114:基板管理控制器(BMC) 116:光學指示器 118:電源鍵 120:電壓調整器 122:風扇 124:風扇控制器 126:電源供應單元(PSU) 130:複雜可程式化邏輯裝置(CPLD) 132,134:I2C匯流排 136:轉速計輸出 210:儲存緩衝器 220:有限狀態機(FSM) 222:寫入控制器 224:暫存器 300:狀態圖 310:AC-ON階段 312:等待DC-ON階段 314:DC-ON階段 316:DC-OFF階段 318:AC-OFF階段 S0-S18:狀態 410:十六進位數值欄 412:狀態欄 450:時間戳記欄 452:暫存器欄 454:十六進位數值欄
本揭露及其將優點及圖式,可從以下示範的實施例之敘述參考附帶的圖式而更佳地理解。這些圖式僅描繪代表性的實施例,因此不應被認為是對於各種實施例或請求項之範圍的限制。 第1圖是根據本揭露之某些態樣的範例電腦系統之方塊圖,範例電腦系統使用範例常式以儲存來自電源系統的專用可程式化控制器的狀態資料。 第2圖是根據本揭露之某些態樣的多個組件之方塊圖,該等組件是由第1圖中的電腦系統中的電源系統之專用控制器所編程。 第3圖是根據本揭露之某些態樣的有限狀態機之狀態圖,有限狀態機是由第1圖中的電腦系統中的專用可程式化控制器所執行。 第4A圖是根據本揭露之某些態樣的暫存器與狀態的表,該表對應於有限狀態機的電源系統上電時序。 第4B圖是根據本揭露之某些態樣所展示有限狀態機於上電時序之期間的日誌結果的表。 第5圖是根據本揭露之某些態樣,第1圖中的有限狀態機之循環模式的程序之方塊圖。 第6圖是根據本揭露之某些態樣,第1圖中的有限狀態機之線性模式的程序之方塊圖。
本揭露可接受各式各樣的修改及替代的形式。某些代表性的實施例,已被圖式中的範例所顯示,並將在此被詳細地敘述。然而,應被理解的是,本發明並非意圖限定於所揭露的特定形式。反之,本揭露涵蓋所有的修改、均等物,以及落在如附加的請求項所定義的本發明之範圍與精神之內的替代方案。
114:基板管理控制器(BMC)
130:複雜可程式化邏輯裝置(CPLD)
132:I2C匯流排
210:儲存緩衝器
220:有限狀態機(FSM)
222:寫入控制器
224:暫存器

Claims (10)

  1. 一種儲存有限狀態機(FSM)之狀態資料的電腦系統,包括: 一電源系統,對該電腦系統供電,該電源系統具有一上電時序(power-up sequence),該上電時序具有複數個階段; 一電源系統控制裝置,耦接至該電源系統,該電源系統控制裝置包含一有限狀態機電路,該有限狀態機電路具有對應於該上電時序、一寫入控制器、一儲存緩衝器及一通訊界面的該複數個階段的複數個狀態,其中該寫入控制器將該有限狀態機電路的該狀態儲存在該儲存緩衝器中;以及 一外部控制器,耦接至該通訊界面,該外部控制器可操作以讀取所儲存的該狀態資料。
  2. 如請求項1之電腦系統,其中: 該儲存緩衝器包含複數個暫存器; 一預定數量個暫存器專用於儲存該狀態資料;以及 當該有限狀態機改變狀態時,該寫入控制器將來自該有限狀態機的該狀態資料儲存至該等暫存器的其中一者。
  3. 如請求項2之電腦系統,其中當該上電時序改變階段時,該寫入控制器重置該等暫存器。
  4. 如請求項2之電腦系統,其中當該等暫存器已滿時,該寫入控制器重置該等暫存器的其中一者。
  5. 一種儲存有限狀態機之狀態資料的方法,該有限狀態機是由一電腦系統上的一電源系統控制器所執行,該方法包括: 發起一電源系統的一上電時序,該上電時序具有複數個階段; 基於該上電時序,改變該有限狀態機的一狀態,該有限狀態機是由該電源系統控制器所執行; 經由一寫入控制器,將該有限狀態機的該狀態寫入該電源系統控制器的一儲存緩衝器;以及 經由一通訊界面,將所儲存的該等狀態傳達至一外部控制器。
  6. 如請求項5之方法,其中該等階段的至少一者對應於該有限狀態機之多於一個的狀態。
  7. 如請求項5之方法,其中: 該儲存緩衝器包含複數個暫存器; 一預定數量個暫存器專用於儲存該狀態資料;以及 當該有限狀態機改變狀態時,該有限狀態機的該狀態被寫入至該等暫存器的其中一者。
  8. 如請求項7之方法,其中當該上電時序改變階段時,該等暫存器被重置。
  9. 如請求項7之方法,其中當該等暫存器已滿時,該等暫存器的其中一者被重置。
  10. 一種電腦程式產品,有形地實施於一非暫態機器可讀儲存媒體,包含多個指令,設置以致使一控制器所進行的操作包含: 發起一電源系統的一上電時序,該上電時序具有複數個階段; 執行一有限狀態機,該有限狀態機具有對應於該複數個階段的複數個狀態; 基於該上電時序的一個別階段,改變該有限狀態機的該狀態; 經由一寫入控制器,將該有限狀態機的該狀態寫入該控制器的一儲存緩衝器;以及 經由一通訊界面,將所儲存的該等狀態傳達至一外部控制器。
TW110129219A 2021-04-28 2021-08-09 儲存有限狀態機之狀態資料的方法、電腦系統、及電腦程式產品 TWI802951B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/243,220 US11579673B2 (en) 2021-04-28 2021-04-28 Systems and methods for storing FSM state data for a power control system
US17/243,220 2021-04-28

Publications (2)

Publication Number Publication Date
TW202242655A true TW202242655A (zh) 2022-11-01
TWI802951B TWI802951B (zh) 2023-05-21

Family

ID=83696996

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110129219A TWI802951B (zh) 2021-04-28 2021-08-09 儲存有限狀態機之狀態資料的方法、電腦系統、及電腦程式產品

Country Status (3)

Country Link
US (1) US11579673B2 (zh)
CN (1) CN115248627A (zh)
TW (1) TWI802951B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116257390A (zh) * 2021-12-01 2023-06-13 富联精密电子(天津)有限公司 服务器开机顺序调试系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725742B2 (en) * 2006-08-15 2010-05-25 Mitac International Corp. Remote monitor module for power initialization of computer system
US8139430B2 (en) * 2008-07-01 2012-03-20 International Business Machines Corporation Power-on initialization and test for a cascade interconnect memory system
US10234930B2 (en) * 2015-02-13 2019-03-19 Intel Corporation Performing power management in a multicore processor
TWI736559B (zh) * 2015-12-23 2021-08-21 美商英特爾公司 用以針對實體層裝置的組件傳輸資料之控制器
CN108804275A (zh) * 2018-04-03 2018-11-13 郑州云海信息技术有限公司 一种基于cpld-fpga的服务器上电时序检测方法与系统
CN108984368A (zh) * 2018-07-10 2018-12-11 郑州云海信息技术有限公司 一种基于cpld快速锁定服务器主板问题电源的方法及装置
CN110515802A (zh) * 2019-08-23 2019-11-29 苏州浪潮智能科技有限公司 一种服务器开机故障的监测方法、系统及相关组件
TWI726405B (zh) * 2019-09-04 2021-05-01 神雲科技股份有限公司 開機程序除錯系統及其主機與方法

Also Published As

Publication number Publication date
CN115248627A (zh) 2022-10-28
US11579673B2 (en) 2023-02-14
US20220350386A1 (en) 2022-11-03
TWI802951B (zh) 2023-05-21

Similar Documents

Publication Publication Date Title
WO2021169260A1 (zh) 一种系统板卡电源检测方法、装置、设备及存储介质
US20240012706A1 (en) Method, system and apparatus for fault positioning in starting process of server
CN107193713B (zh) 一种实现主板管理控制的fpga及方法
EP3349118B1 (en) Bus hang detection and find out
US8418005B2 (en) Methods, apparatus and articles of manufacture to diagnose temperature-induced memory errors
CN104320308B (zh) 一种服务器异常检测的方法及装置
CN108549591A (zh) 一种嵌入式系统的黑匣子装置及其实现方法
TWI759719B (zh) 快閃記憶體控制器及用於快閃記憶體控制器的方法
CN112015599A (zh) 错误恢复的方法和装置
US11640377B2 (en) Event-based generation of context-aware telemetry reports
TWI802951B (zh) 儲存有限狀態機之狀態資料的方法、電腦系統、及電腦程式產品
US9158646B2 (en) Abnormal information output system for a computer system
CN109117299A (zh) 服务器的侦错装置及其侦错方法
CN113742166B (zh) 一种服务器系统器件日志记录方法、装置及系统
US11360839B1 (en) Systems and methods for storing error data from a crash dump in a computer system
TWI779682B (zh) 電腦系統、電腦伺服器及其啟動方法
JP4299634B2 (ja) 情報処理装置及び情報処理装置の時計異常検出プログラム
US11726853B2 (en) Electronic control device
CN113626275A (zh) 资讯的建立方法及分析方法
KR100270263B1 (ko) 시스템 오류 발생시에도 동작가능한 에러 로깅 회로
TW201928669A (zh) 電腦設備、診斷方法以及非暫時性電腦可讀儲存媒體
US10831686B1 (en) Method of determining hard disk operation status
US20230075055A1 (en) Method and system for providing life cycle alert for flash memory device
US20080195896A1 (en) Apparratus and method for universal programmable error detection and real time error detection
CN114356708A (zh) 一种设备故障监控方法、装置、设备及可读存储介质