TW202101238A - 伺服器裝置及其基板管理控制器與可程式邏輯單元之間的通訊協定方法 - Google Patents

伺服器裝置及其基板管理控制器與可程式邏輯單元之間的通訊協定方法 Download PDF

Info

Publication number
TW202101238A
TW202101238A TW108121846A TW108121846A TW202101238A TW 202101238 A TW202101238 A TW 202101238A TW 108121846 A TW108121846 A TW 108121846A TW 108121846 A TW108121846 A TW 108121846A TW 202101238 A TW202101238 A TW 202101238A
Authority
TW
Taiwan
Prior art keywords
logic unit
programmable logic
page number
write
packet
Prior art date
Application number
TW108121846A
Other languages
English (en)
Other versions
TWI757606B (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 TW108121846A priority Critical patent/TWI757606B/zh
Publication of TW202101238A publication Critical patent/TW202101238A/zh
Application granted granted Critical
Publication of TWI757606B publication Critical patent/TWI757606B/zh

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

本案提供一種伺服器裝置及其基板管理控制器與可程式邏輯單元之間的通訊協定方法。所述通訊協定方法包含可程式邏輯單元判斷來自基板管理控制器之封包是否包含致能碼,當封包包含致能碼時,可程式邏輯單元根據封包包含之一頁碼將封包包含之寫入資料寫入對應頁碼之寫入暫存器,當封包包含致能碼時,可程式邏輯單元根據頁碼將對應頁碼之讀取暫存器儲存之資料發送至基板管理控制器。

Description

伺服器裝置及其基板管理控制器與可程式邏輯單元之間的通訊協定方法
本案是關於一種伺服器裝置,且特別是適於伺服器裝置之基板管理控制器與可程式邏輯單元之間的通訊協定方法。
大部分之伺服器裝置包含基板管理控制器,基板管理控制器能自伺服器之其他單元取得監看資料,進而監控伺服器之系統狀態。基板管理控制器能在伺服器之系統狀態發生異常時發出警告訊息,或是在伺服器之系統狀態發生異常時控制其他單元進行對應之處置,以維持伺服器裝置之系統穩定性。
然而,當基板管理控制器處於初始化或重新啟動之階段時,基板管理控制器會產生無效之控制命令,此時,其他單元會接收到無效命令而造成誤動作,反而導致伺服器系統的穩定性降低;再者,有些單元與基板管理控制器之間僅具有單一之監看資料之回報能力,如此並不足以應用在如今監控功能愈趨複雜之伺服器裝置中。
本案提供一種伺服器裝置,包含基板管理控制器及可程式邏輯單元。基板管理控制器用以在就緒後發送一封包,所述封包包含一致能碼、一頁碼及一寫入資料。可程式邏輯單元耦接所述基板管理暫存器以接收封包,可程式邏輯單元包含複數寫入暫存器及複數讀取暫存器,可程式邏輯單元用以判斷封包是否包含致能碼,若封包包含致能碼,可程式邏輯單元始將寫入資料寫入對應頁碼之其中一寫入暫存器,且可程式邏輯單元將對應頁碼之其中一讀取暫存器所儲存之資料發送給基板管理暫存器。
本案提供一種通訊協定方法,包含可程式邏輯單元判斷來自基板管理控制器之一封包是否包含一致能碼,當封包包含致能碼時,可程式邏輯單元根據封包包含之一頁碼將封包包含之一寫入資料寫入對應頁碼之一寫入暫存器,當封包包含致能碼時,可程式邏輯單元根據頁碼將對應頁碼之一讀取暫存器儲存之資料發送至基板管理控制器。
綜上所述,根據本案之伺服器裝置及其基板管理控制器與可程式邏輯單元之間的通訊協定方法之一實施例,可程式邏輯單元能判斷來自基板管理控制器之封包是否有效,可程式邏輯單元不會根據無效之封包而誤動作;再者,來自基板管理控制器之封包包含頁碼,可程式邏輯單元可根據不同頁碼回報不同之讀取資料給基板管理控制器,大幅地提升回報資料之資料量與多樣性。
請參照圖1,圖1係為根據本案之伺服器裝置之一實施例之方塊示意圖。伺服器裝置1包含基板管理控制器(Baseboard Management Controller;BMC)11及可程式邏輯單元12,基板管理控制器11耦接可程式邏輯單元12,且可程式邏輯單元12包含複數暫存器121-128。值得說明的是,圖1係以可程式邏輯單元12包含八個暫存器121-128且八個暫存器121-128分別包含四個寫入暫存器121-124及四個讀取暫存器125-128為例,然本發明不以此為限,可程式邏輯單元12亦可包含不同數量之暫存器。
基板管理控制器11用以產生一封包。當基板管理控制器11尚未就緒(ready)時,基板管理控制器11產生之封包不包含致能(enable)碼;當基板管理控制器11就緒後,基板管理控制器11產生之封包包含致能碼,且基板管理控制器11就緒後產生之封包更包含一頁碼及寫入資料。可程式邏輯單元12則接收並根據基板管理控制器11產生之封包是否有效,以決定是否執行對應寫入暫存器121-124之寫入程序及對應於讀取暫存器125-128之讀取程序。
詳細而言,請合併參照圖1及圖2,在運作時,可程式邏輯單元12判斷來自基板管理控制器11之封包是否包含致能碼(步驟S01),以判斷基板管理控制器11是否就緒。當來自基板管理控制器11之封包包含致能碼時(判斷結果為「是」),表示基板管理控制器11已就緒,可程式邏輯單元12將來自基板管理控制器11之封包視為有效,此時,可程式邏輯單元12將封包包含之寫入資料寫入封包包含之頁碼所對應之任一寫入暫存器121-124(步驟S02),以將寫入資料更新於基板管理控制器11指定之暫存器;並且,可程式邏輯單元12讀取頁碼所對應之任一讀取暫存器125-128(步驟S03),並將對應之任一讀取暫存器125-128儲存之資料(以下稱為讀取資料)發送至基板管理控制器11(步驟S04),以回應基板管理控制器11之要求(request),也就是說可程式邏輯單元12將基板管理控制器11要求之寫入資料存入對應的任一寫入暫存器121-124後,藉由回傳對應之任一讀取暫存器125-128所儲存的資料,取代單純的回應基板管理控制器11,其要求已被完成,藉此,基板管理控制器11於接收到可程式邏輯單元12所回傳對應之任一讀取暫存器125-128所儲存的資料,即得知基板管理控制器11的要求已被完成,藉此在同一輪傳輸過程,增加了基板管理控制器11與可程式邏輯單元12之間的資料傳輸量。
舉例來說,以頁碼「1」對應於寫入暫存器121及讀取暫存器125、頁碼「2」對應於寫入暫存器122及讀取暫存器126、頁碼「3」對應於寫入暫存器123及讀取暫存器127及頁碼「4」對應於寫入暫存器124及讀取暫存器128為例,當來自基板管理控制器11之封包包含致能碼時,若封包包含為「1」之頁碼,則可程式邏輯單元12在步驟S02中係根據為「1」之頁碼將寫入資料更新至寫入暫存器121,並將讀取暫存器125儲存之資料發送至基板管理控制器11,若封包包含為「2」之頁碼,則可程式邏輯單元12在步驟S02中係根據為「2」之頁碼將寫入資料更新至寫入暫存器122,並將讀取暫存器126儲存之資料發送至基板管理控制器11,其餘則依此類推,於此不再贅述。
另一方面,當來自基板管理控制器11之封包未包含致能碼時(步驟S01之判斷結果為「否」),可程式邏輯單元12將來自基板管理控制器11之封包視為無效(步驟S05),也就是封包包含無效之頁碼及寫入資料,可程式邏輯單元12並不執行步驟S02-S04。基此,可程式邏輯單元12能根據來自基板管理控制器11之封包是否包含致能碼判斷封包是否有效,可程式邏輯單元12不會根據該基板管理控制器11尚未就緒時所發出的無效之封包而誤動作;再者,來自基板管理控制器11之封包包含頁碼,以頁碼包含2位元為例,頁碼具有四種之不同組合,可程式邏輯單元12能根據不同之頁碼將寫入資料更新至不同之寫入暫存器121-124,且可程式邏輯單元12能根據不同之頁碼將不同讀取暫存器125-128所儲存之資料發送至基板管理控制器11,如此大幅地提升可程式邏輯單元12接收並儲存所接收的基板管理控制器11所傳送的分別對應不同頁碼的不同寫入資料的總資料量及資料之多樣性,藉此也大幅地提升可程式邏輯單元12回報給基板管理控制器11分別對應不同頁碼的不同讀取暫存器所儲存之資料之總資料量及資料之多樣性。於是,當基板管理控制器11與可程式邏輯單元12應用在高速之匯流排介面時,伺服器裝置1可提供高速且精確之資料處理能力。
在一實施例中,可程式邏輯單元12之讀取暫存器125-128所儲存之資料可來自於伺服器裝置1之其他單元。舉例來說,請參照圖3,伺服器裝置1更可包含電壓偵測單元13耦接可程式邏輯單元12,可程式邏輯單元12將來自電壓偵測單元13之資料(例如,電壓資料)對應的儲存在其中一讀取暫存器125-128中。當基板管理控制器11發送有效之封包要求電壓資料時,可程式邏輯單元12根據封包包含之頁碼讀取儲存電壓資料之對應的該其中一讀取暫存器125-128(步驟S03、S04),以將儲存在對應的該其中一讀取暫存器125-128之電壓資料發送至基板管理控制器11。在其他的實施例中,可程式邏輯單元12亦可包含監測模組,以監測主機板上之動態電壓資訊而產生前述之電壓資料,監測模組將產生之電壓資料儲存於對應的該其中一讀取暫存器125-128,可程式邏輯單元12並在接收基板管理控制器11所發送有效之封包後回報監測模組產生之電壓資料至基板管理控制器11。
在一實施例中,如圖4所示,前述基板管理控制器11產生之封包係包含寫入資料欄位P0、頁碼欄位P1及致能碼欄位P2,可程式邏輯單元12收到前述基板管理控制器11產生之封包並執行步驟S01以判斷致能碼欄位P2是否包含致能碼;舉例來說,以封包具有固定之80位元且寫入資料欄位P0、頁碼欄位P1及致能碼欄位P2分別包含77位元、2位元及1位元為例,可程式邏輯單元12在步驟S01係根據第80位元之致能碼欄位P2判斷第80位元是否處於高位準。若第80位元處於高位準,表示致能碼欄位P2包含致能碼(例如致能碼為1),此時可程式邏輯單元12再將第1位元至第77位元之間之寫入資料寫入第78位元至第79位元所表示之頁碼對應之任一寫入暫存器121-124(步驟S02),並根據第78位元至第79位元所表示之頁碼發送對應之任一讀取暫存器125-128所儲存之資料至基板管理控制器11(步驟S04)。另一方面,若可程式邏輯單元12判斷出第80位元係處於低位準,表示致能碼欄位P2不包含致能碼,此時可程式邏輯單元12係將封包視為無效而不執行步驟S02-S04。
再者,前述之頁碼欄位P1可包含讀取頁碼欄位及寫入頁碼欄位,也就是封包包含之頁碼係包含讀取頁碼及寫入頁碼。讀取頁碼欄位及寫入頁碼欄位係可分別儲存寫入頁碼及讀取頁碼,可程式邏輯單元12可根據寫入頁碼及讀取頁碼存取對應於任一寫入暫存器121-124及讀取暫存器125-128。舉例來說,以寫入頁碼及讀取頁碼分別為「1」及「3」為例,可程式邏輯單元12在步驟S02中係將寫入資料寫入對應於頁碼「1」之寫入暫存器121,並在步驟S03、S04讀取對應於頁碼「3」之讀取暫存器127及發送讀取暫存器127所儲存之資料至基板管理控制器11。基此,根據不同之讀取頁碼及寫入頁碼,基板管理控制器11可更可彈性地溝通於可程式邏輯單元12,且該可程式邏輯單元12可儲存更多由基板管理控制器11而來的總資料。
在一實施例中,基板管理控制器11產生之封包更包含校驗碼,校驗碼可存在於寫入資料欄位P0,且校驗碼可為循環冗餘校驗(cyclic redundancy check;CRC)碼或校驗和(checksum)。如圖2所示,在步驟S01判斷出封包包含致能碼之後,可程式邏輯單元12能進一步根據寫入資料欄位P0之校驗碼判斷封包之寫入資料是否發生錯誤(步驟S06),若可程式邏輯單元12判斷出封包之寫入資料發生錯誤(判斷結果為「是」),則可程式邏輯單元12亦將封包視為無效(步驟S05)而不執行步驟S02-S04;另一方面,若可程式邏輯單元12根據校驗碼判斷出封包之寫入資料未發生錯誤(判斷結果為「否」),則可程式邏輯單元12將封包視為有效始執行步驟S02-S04,如此能更進一步確保可程式邏輯單元12不會根據錯誤之封包而誤動作。
再者,可程式邏輯單元12發送至基板管理控制器11之讀取資料亦可包含校驗碼,可程式邏輯單元12能根據讀取資料產生另一校驗碼,並合併讀取資料與校驗碼而產生另一封包,可程式邏輯單元12將合併後產生之該另一封包發送至基板管理控制器11,使基板管理控制器11在接收到可程式邏輯單元12發送之封包時根據校驗碼判斷讀取資料是否發生錯誤,以避免根據錯誤之讀取資料造成誤動作。
在一實施例中,可程式邏輯單元12係為複雜可程式邏輯裝置(Complex Programmable Logic Device;CPLD),基板管理控制器11與可程式邏輯單元12包含一高速之串列通用型之輸入輸出(Serial General Purpose I/O;SGPIO)匯流排介面。基板管理控制器11係藉由SGPIO匯流排介面發送封包至可程式邏輯單元12,且可程式邏輯單元12亦藉由SGPIO匯流排介面發送任一讀取暫存器125-128所儲存之資料至基板管理控制器11。再者,當基板管理控制器11處於異常狀態、初始化狀態、重啟狀態或更新狀態時,表示基板管理控制器11尚未就緒,基板管理控制器11在尚未就緒或不處於運作正常的狀態時則不會產生具有致能碼之有效封包,也就是說在基板管理控制器11就緒前或是在基板管理控制器11處於非正常運作狀態時係發送無效而不包含致能碼之封包,當基板管理控制器11初始化、重啟或更新完成並進入正常運作狀態後,表示基板管理控制器11已就緒,基板管理控制器11在就緒後才會發送包含致能碼之封包,以溝通於可程式邏輯單元12。
綜上所述,根據本案之伺服器裝置及其基板管理控制器與可程式邏輯單元之間的通訊協定方法之一實施例,可程式邏輯單元能判斷來自基板管理控制器之封包是否有效,可程式邏輯單元不會根據無效之封包而誤動作;再者,來自基板管理控制器之封包包含頁碼可提升可程式邏輯單元儲存來自基板管理控制器的不同資料的總資料量,且可程式邏輯單元可根據不同頁碼於接收該基板管理控制器所傳送的封包後藉由回報不同之讀取資料給基板管理控制器取代單純的回報已完成儲存要求,大幅地提升回報資料之資料量與多樣性;進一步,基板管理控制器與可程式邏輯單元之間均能藉由校驗碼判斷資料是否發生錯誤,基板管理控制器與可程式邏輯單元均不會根據錯誤之資料而誤動作。於是,伺服器裝置能提供高速且精確之資料處理能力。
雖然本案已以實施例揭露如上然其並非用以限定本案,任何所屬技術領域中具有通常知識者,在不脫離本案之精神和範圍內,當可作些許之更動與潤飾,故本案之保護範圍當視後附之專利申請範圍所界定者為準。
1:伺服器裝置 11:基板管理控制器 12:可程式邏輯單元 121-124:寫入暫存器 125-128:讀取暫存器 13:電壓偵測單元 P0:寫入資料欄位 P1:頁碼欄位 P2:致能碼欄位 S01~S06:步驟
[圖1] 係為根據本案之伺服器裝置之一實施例之方塊示意圖。 [圖2] 係為根據本案之通訊傳輸協定之一實施例之流程圖。 [圖3] 係為圖1之伺服器裝置之一實施態樣之方塊示意圖。 [圖4] 係為圖1之基板管理控制器發送之一封包之一實施態樣之示意圖。
1:伺服器裝置
11:基板管理控制器
12:可程式邏輯單元
121-124:寫入暫存器
125-128:讀取暫存器

Claims (10)

  1. 一種伺服器裝置,包含: 一基板管理控制器,用以在就緒後發送一封包,該封包包含一致能碼、一頁碼及一寫入資料;及 一可程式邏輯單元,耦接該基板管理暫存器,以接收該封包,該可程式邏輯單元包含複數寫入暫存器及複數讀取暫存器,該可程式邏輯單元用以判斷該封包是否包含該致能碼,若該封包包含該致能碼,該可程式邏輯單元始將該寫入資料寫入對應該頁碼之其中一該寫入暫存器,且該可程式邏輯單元將對應該頁碼之其中一該讀取暫存器所儲存之資料發送給該基板管理暫存器。
  2. 如請求項1所述之伺服器裝置,其中該頁碼包含一寫入頁碼及一讀取頁碼,該可程式邏輯單元係根據該寫入頁碼於該封包包含該致能碼時將該寫入資料寫入對應該寫入頁碼之其中一該寫入暫存器,且該可程式邏輯單元係根據該讀取頁碼將對應該讀取頁碼之其中一該讀取暫存器所儲存之資料發送給該基板管理暫存器。
  3. 如請求項1所述之伺服器裝置,其中該封包更包含一校驗碼,該可程式邏輯單元更根據該校驗碼判斷該封包是否發生錯誤,當該封包未發生錯誤時,該可程式邏輯單元始將該寫入資料寫入對應該頁碼之其中一該寫入暫存器,且該可程式邏輯單元將對應該頁碼之其中一該讀取暫存器所儲存之資料發送給該基板管理暫存器。
  4. 如請求項3所述之伺服器裝置,其中該可程式邏輯單元更根據其中一該讀取暫存器儲存之資料產生另一校驗碼,並將其中一該讀取暫存器儲存之資料及該另一校驗碼發送至該基板管理控制器。
  5. 如請求項1所述之伺服器裝置,其中該可程式邏輯單元係為複雜可程式邏輯裝置,該可程式邏輯單元與該基板管理控制器之間係藉由一高速之串列通用型之輸入輸出匯流排傳遞該封包及該讀取暫存器儲存之資料。
  6. 一種通訊協定方法,適於一伺服器裝置之一可程式邏輯單元及一基板管理控制器,包含: 該可程式邏輯單元判斷來自該基板管理控制器之一封包是否包含一致能碼; 當該封包包含該致能碼時,該可程式邏輯單元根據該封包包含之一頁碼將該封包包含之一寫入資料寫入對應該頁碼之一寫入暫存器;及 當該封包包含該致能碼時,該可程式邏輯單元根據該頁碼將對應該頁碼之一讀取暫存器儲存之資料發送至該基板管理控制器。
  7. 如請求項6所述之通訊協定方法,其中在該可程式邏輯單元將該寫入資料寫入該寫入暫存器之步驟中,該可程式邏輯單元係根據該頁碼包含之一寫入頁碼將該寫入資料寫入對應該寫入頁碼之該寫入暫存器;其中在該可程式邏輯單元將該讀取暫存器儲存之資料發送至該基板管理控制器之步驟中,該可程式邏輯單元係根據該頁碼包含之一讀取頁碼將對應該讀取頁碼之該讀取暫存器儲存之資料發送給該基板管理暫存器。
  8. 如請求項6所述之通訊協定方法,其中該通訊協定方法更包含: 當該封包包含該致能碼時,該可程式邏輯單元根據該封包包含之一校驗碼判斷該寫入資料是否發生錯誤; 當該寫入資料未發生錯誤時,該可程式邏輯單元始根據該頁碼將該寫入資料寫入對應該頁碼之該寫入暫存器;及 當該寫入資料未發生錯誤時,該可程式邏輯單元始將對應該頁碼之該讀取暫存器儲存之資料發送至該基板管理控制器。
  9. 如請求項8所述之通訊協定方法,其中該可程式邏輯單元根據該頁碼將對應之該讀取暫存器儲存之資料發送至該基板管理控制器之步驟包含: 該可程式邏輯單元根據其中一該讀取暫存器儲存之資料產生另一校驗碼;及 該可程式邏輯單元將其中一該讀取暫存器儲存之資料及該另一校驗碼發送至該基板管理控制器。
  10. 如請求項6所述之通訊協定方法,其中該通訊協定方法更包含:當該封包未包含該致能碼時,該可程式邏輯單元不將對應該頁碼之該寫入資料寫入對應之該寫入暫存器,且該可程式邏輯單元不將對應該頁碼之該讀取暫存器儲存之資料發送至該基板管理控制器。
TW108121846A 2019-06-21 2019-06-21 伺服器裝置及其基板管理控制器與可程式邏輯單元之間的通訊協定方法 TWI757606B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW108121846A TWI757606B (zh) 2019-06-21 2019-06-21 伺服器裝置及其基板管理控制器與可程式邏輯單元之間的通訊協定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108121846A TWI757606B (zh) 2019-06-21 2019-06-21 伺服器裝置及其基板管理控制器與可程式邏輯單元之間的通訊協定方法

Publications (2)

Publication Number Publication Date
TW202101238A true TW202101238A (zh) 2021-01-01
TWI757606B TWI757606B (zh) 2022-03-11

Family

ID=75234667

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108121846A TWI757606B (zh) 2019-06-21 2019-06-21 伺服器裝置及其基板管理控制器與可程式邏輯單元之間的通訊協定方法

Country Status (1)

Country Link
TW (1) TWI757606B (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI479085B (zh) * 2012-12-06 2015-04-01 Inventec Corp 風扇轉速控制系統及用以控制風扇轉速之方法
TW201423590A (zh) * 2012-12-06 2014-06-16 Inventec Corp 電腦系統及其操作方法
TWI663509B (zh) * 2017-11-16 2019-06-21 神雲科技股份有限公司 系統資訊管理方法

Also Published As

Publication number Publication date
TWI757606B (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
US7007142B2 (en) Network data storage-related operations
US8713251B2 (en) Storage system, control method therefor, and program
US10198397B2 (en) Flow control in remote direct memory access data communications with mirroring of ring buffers
US11614986B2 (en) Non-volatile memory switch with host isolation
JP2011222011A (ja) リモート・ダイレクト・ストレージ・アクセス
US20220164139A1 (en) Peer storage device messaging over control bus
CN112667422A (zh) 内存故障处理方法及装置、计算设备、存储介质
US11544205B2 (en) Peer storage devices sharing host control data
WO2022155919A1 (zh) 一种故障处理方法、装置及系统
WO2020000316A1 (zh) 容错处理的方法、装置和服务器
KR20230161375A (ko) 확장 가능한 메모리 오류 처리를 위한 시스템들 및 방법들
TWI757606B (zh) 伺服器裝置及其基板管理控制器與可程式邏輯單元之間的通訊協定方法
CN112346922B (zh) 服务器装置及其通讯协议方法
TWI738627B (zh) 具有錯誤偵測功能的智能網卡系統及錯誤偵測方法
CN113037507B (zh) 具有错误侦测功能的智能网卡系统及错误侦测方法
US20220050139A1 (en) System, apparatus and method for communicating debug messages on a sideband of a serial link according to a debug type messaging protocol
US7568121B2 (en) Recovery from failure in data storage systems
US20240134743A1 (en) Electronic device, electronic system, method for operating an electronic device, and method for operating an electronic system
TWI715294B (zh) 基於系統管理匯流排界面對i2c記憶體進行讀寫的方法
CN107451035B (zh) 用于计算机装置的错误状态数据提供方法
CN117170928A (zh) 封装后修复管理
TW202343269A (zh) 連接埠的設定方法
CN115437976A (zh) 一种总线控制方法及系统
CN115629825A (zh) 一种服务器及其资产信息获取方法、提供方法和装置
CN117909123A (zh) 电子设备、电子系统、运行电子设备的方法和运行电子系统的方法