TWI764621B - 智能網卡及智能網卡之fpga韌體更新管理方法 - Google Patents
智能網卡及智能網卡之fpga韌體更新管理方法Info
- Publication number
- TWI764621B TWI764621B TW110109074A TW110109074A TWI764621B TW I764621 B TWI764621 B TW I764621B TW 110109074 A TW110109074 A TW 110109074A TW 110109074 A TW110109074 A TW 110109074A TW I764621 B TWI764621 B TW I764621B
- Authority
- TW
- Taiwan
- Prior art keywords
- multiplexer
- firmware
- fpga
- module
- flash memory
- Prior art date
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
一種智能網卡及智能網卡之FPGA韌體更新管理方法,智能網卡包含一快閃記憶體、一多工器、一FPGA模組以及一CPU模組。智能網卡之FPGA韌體更新管理方法首先是啟動FPGA模組,使FPGA模組經由多工器自快閃記憶體載入一現有韌體資料而進行一韌體設定作業,並在韌體設定作業完成後發出一設定完成訊號至CPU模組,接著CPU模組在接收到一韌體更新資訊時,將一第一切換訊號發送至多工器,藉以將韌體更新資訊經由多工器傳送至快閃記憶體,最後CPU模組再控制多工器切換回通信連接快閃記憶體與FPGA模組,以使FPGA模組可以重新載入新版韌體資料。
Description
本發明係關於一種智能網卡與智能網卡之FPGA韌體更新管理方法,尤其是指一種利用智能網卡之CPU模組與多工器之配合來更新FPGA之韌體的智能網卡與其FPGA韌體更新管理方法。
在伺服器之電路架構中,通常是利用基板管理控制器(BMC)來輔助其他IC進行FLASH ROM的管理,例如韌體(firmware)的在線更新等操作,然而由於一般標準的智能網卡通常只會設有CPU與FPGA等兩顆晶片,並不會像伺服器主機板設有BMC來管理FLASH ROM。
其中,由於FPGA的最大特點就是可以依據使用者的需求來編輯組合邏輯的功能,因此都會將FPGA的韌體儲存於FLASH ROM中,並在開機運作時將儲存於FLASH ROM的韌體載入FPGA中進行設定。
承上所述,也因為現有的智能網卡沒有BMC可以對FPGA的FLASH ROM進行管理控制,因此,當FPGA的韌體需要進行更新時,往往需要透過FPGA來更新儲存於FLASH ROM的韌體,進而導致FPGA無法有效地進行運作,甚至很有可能因此停止運作。
有鑒於在先前技術中,由於現有的智能網卡並未設有BMC,因此當FPGA之FLASH ROM需要更新韌體時,往往只能透過FPGA對FLASH ROM進行韌體更新,但透過FPGA進行FLASH ROM的韌體更新會導致FPGA無法正常運作;緣此,本發明的主要目的在於提供一種智能網卡與一種智能網卡之FPGA韌體更新管理方法,可以透過CPU模組與多工器之控制,在FPGA模組正常運作的情況下對FLASH ROM進行韌體更新。
本發明為解決先前技術之問題,所採用的必要技術手段是提供一種智能網卡,該智能網卡是安裝於一伺服器主機,且該智能網卡包含一快閃記憶體(FLASH ROM)、一多工器(Multiplexer)、一FPGA(Field Programmable Gate Array)模組以及一CPU模組。
快閃記憶體儲存有一現有韌體資料。多工器是電性連結於快閃記憶體。FPGA模組係電性連接於多工器,多工器係在一預設工作模式時預設為通信連接快閃記憶體與FPGA模組,藉以在預設工作模式時,使FPGA模組經由多工器而自快閃記憶體載入現有韌體資料,並在依據現有韌體資料完成一韌體設定作業後發出一設定完成訊號。
CPU模組係電性連結於伺服器主機、FPGA模組與多工器,用以在接收到FPGA模組所發送之設定完成訊號與伺服器主機所傳送之一韌體更新資訊時,進入一更新工作模式,並在更新工作模式時,將一第一切換訊號發送至多工器,使多工器切換為通信連接快閃記憶體與CPU模組,藉以將韌體更新資訊經由多工器傳送至快閃記憶體,並在現有韌體資料更新為一新版韌體資料後,將一第二切換訊號發送至多工器,使多工器切換回通信連接快閃記憶體與FPGA模組。
在上述必要技術手段所衍生之一附屬技術手段中,CPU模組更包含一SPI介面,SPI介面係電性連結於多工器。較佳者,CPU模組更包含一CPU處理單元,CPU處理單元係電性連結於SPI介面,且CPU處理單元係在接收到伺服器主機所發送之韌體更新資訊時,將第一切換訊號透過SPI介面發送至多工器,使多工器切換為通信連接快閃記憶體與CPU模組之SPI介面。
在上述必要技術手段所衍生之一附屬技術手段中,FPGA模組更包含一QSPI介面,QSPI介面係電性連結於多工器。較佳者,FPGA模組更包含一FPGA處理單元,FPGA處理單元係電性連結於QSPI介面,且FPGA處理單元係透過QSPI介面與多工器自快閃記憶體載入現有韌體資料或新版韌體資料,並在依據現有韌體資料或新版韌體資料完成韌體設定作業後,發送設定完成訊號至CPU模組。
本發明所採用之另一必要技術手段是提供一種智能網卡之FPGA韌體更新管理方法,包含以下步驟:首先,步驟(A)是啟動一FPGA模組,使FPGA模組經由一多工器自一快閃記憶體載入一現有韌體資料而進行一韌體設定作業,並在韌體設定作業完成後發出一設定完成訊號至一CPU模組。
接著,步驟(B)是CPU模組在接收到FPGA模組所發送之設定完成訊號與伺服器主機所傳送之一韌體更新資訊時,進入一更新工作模式,並在更新工作模式時,將一第一切換訊號發送至一多工器,使多工器切換為通信連接快閃記憶體與CPU模組,藉以將韌體更新資訊經由多工器傳送至快閃記憶體。
然後,步驟(C)是在現有韌體資料更新為一新版韌體資料後,CPU模組將一第二切換訊號發送至多工器,使多工器切換回通信連接快閃記憶體與FPGA模組。
在上述必要技術手段所衍生之一附屬技術手段中,其中,在步驟(C)之後,FPGA模組更經由多工器自快閃記憶體載入新版韌體資料而進行一韌體重新設定作業。較佳者,FPGA模組係在韌體重新設定作業完成之後發出一重新設定完成訊號至CPU模組。
如上所述,由於本發明是利用CPU模組來接收伺服器所傳送之韌體更新資訊,據以判斷是否需要更新FLASH ROM的現有韌體資料,並在需要進行更新時,透過多工器將FPGA模組與FLASH ROM之間的通路切換成CPU模組與FLASH ROM之間的通路,進而將FLASH ROM的現有韌體資料更新為新版韌體資料,藉此,FPGA模組在FLASH ROM進行韌體更新時還能正常運作不受干擾。
本發明所採用的具體實施例,將藉由以下之實施例及圖式作進一步之說明。
請參閱第一圖,第一圖係顯示本發明較佳實施例所提供之智能網卡之系統方塊圖。如第一圖所示,一種智能網卡100包含一快閃記憶體1、一多工器2、一FPGA模組3以及一CPU模組4。其中,智能網卡100是安裝於一伺服器主機200。
快閃記憶體1儲存有一現有韌體資料FW1。多工器2是電性連結於快閃記憶體1。FPGA模組3係電性連接於多工器2,多工器2係在一預設工作模式時預設為通信連接快閃記憶體1與FPGA模組3,藉以在預設工作模式時,使FPGA模組3經由多工器2而自快閃記憶體1載入現有韌體資料FW1,並在依據現有韌體資料FW1完成一韌體設定作業後發出一設定完成訊號S1。此外,FPGA模組3更包含一FPGA處理單元31與一QSPI介面32,其中,FPGA處理單元31是電性連結於QSPI介面32,而QSPI介面32是電性連結於多工器2,藉以使FPGA處理單元31透過QSPI介面32電性連接於多工器2,進而經由多工器2載入儲存於自快閃記憶體1之現有韌體資料FW1。
CPU模組4係電性連結於伺服器主機200、FPGA模組3與多工器2,用以在接收到FPGA模組3所發送之設定完成訊號S1與伺服器主機所傳送之一韌體更新資訊S2時,進入一更新工作模式,並在更新工作模式時,將一第一切換訊號S3發送至多工器2,使多工器2切換為通信連接快閃記憶體1與CPU模組4,藉以將韌體更新資訊S2經由多工器2傳送至快閃記憶體1。此外,CPU模組4更包含一CPU處理單元41與一SPI介面42,CPU處理單元41是電性連結於SPI介面42,而SPI介面42是電性連結於多工器2,藉以使CPU處理單元41透過SPI介面42電性連結於多工器2。
請繼續參閱第二圖,第二圖係顯示本發明較佳實施例所提供之智能網卡透過CPU模組與多工器之配合而將更新之系統方塊圖。如第二圖所示,當現有韌體資料FW1更新為一新版韌體資料FW2後,CPU模組4會將一第二切換訊號S3a發送至多工器2,使多工器2切換回通信連接快閃記憶體1與FPGA模組3,藉此,FPGA模組3便可重新從快閃記憶體1獲取新版韌體資料FW2,或者在下一次開機時載入新版韌體資料FW2。
請繼續參閱第一圖至第三圖,第三圖係顯示本發明較佳實施例所提供之智能網卡之FPGA韌體更新管理方法之步驟流程圖。如第一圖至第三圖所示,以上述之智能網卡100之結構為例,本實施例之智能網卡之FPGA韌體更新管理方法主要包含以下步驟:首先,步驟S101是啟動FPGA模組3,使FPGA模組3經由多工器2自快閃記憶體1載入現有韌體資料而進行一韌體設定作業,在韌體設定作業完成後,接著進行步驟S102,步驟S102是FPGA模組3發出設定完成訊號S1至CPU模組4。
在步驟S102之FPGA模組3發出設定完成訊號S1至CPU模組4之後,接著進行步驟S103,步驟S103是CPU模組4在接收到FPGA模組3所發送之設定完成訊號S1與伺服器主機200所傳送之韌體更新資訊S2時,進入更新工作模式;其中,在CPU模組4進入更新工作模式時,會接著進行步驟S104,而步驟S104是CPU模組4將第一切換訊號S3發送至多工器2,使多工器2切換為通信連接快閃記憶體1與CPU模組4。
在步驟S104之多工器2切換為通信連接快閃記憶體1與CPU模組4後,步驟S105是CPU模組4將韌體更新資訊S2經由多工器2傳送至快閃記憶體1,藉以使儲存於快閃記憶體1內之現有韌體資料FW1更新為新版韌體資料FW2。
在步驟S105之CPU模組4將韌體更新資訊S2經由多工器2傳送至快閃記憶體1後,步驟S106是在快閃記憶體1之現有韌體資料FW1更新為新版韌體資料FW2後,CPU模組4將第二切換訊號S3a發送至多工器2,使多工器2切換回通信連接快閃記憶體1與FPGA模組3。
承上所述,在CPU模組4將多工器2切換回通信連接快閃記憶體1與FPGA模組3後,由於快閃記憶體1中已更新為新版韌體資料FW2,因此FPGA模組3可以重新自快閃記憶體1載入新版韌體資料FW2進行一韌體重新設定作業,且FPGA模組3之FPGA處理單元31在韌體重新設定作業完成之後更會發出一重新設定完成訊號S1a至CPU模組4,而CPU模組4在接收到重新設定完成訊號S1a後,更發送一重啟訊號(圖未示)至伺服器主機200,藉以使伺服器主機200重新啟動智能網卡100之電源。
綜上所述,相較於現有的智能網卡因為未設有BMC,只能透過FPGA對FLASH ROM進行韌體更新,進而導致FPGA在韌體更新時無法正常運作;本發明是在FLASH ROM的現有韌體資料需要更新時,利用CPU模組控制多工器將FPGA模組與FLASH ROM之間的通路切換成CPU模組與FLASH ROM之間的通路,進而將FLASH ROM的現有韌體資料更新為新版韌體資料,藉此,FPGA模組在FLASH ROM進行韌體更新時還能正常運作不受干擾。
藉由以上較佳具體實施例之詳述,係希望能更加清楚描述本發明之特徵與精神,而並非以上述所揭露的較佳具體實施例來對本發明之範疇加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排於本發明所欲申請之專利範圍的範疇內。
100:智能網卡
1:快閃記憶體
2:多工器
3:FPGA模組
31:FPGA處理單元
32:QSPI介面
4:CPU模組
41:CPU處理單元
42:SPI介面
200:伺服器主機
FW1:現有韌體資料
FW2:新版韌體資料
S1:設定完成訊號
S1a:重新設定完成訊號
S2:韌體更新資訊
S3:第一切換訊號
S3a:第二切換訊號
第一圖係顯示本發明較佳實施例所提供之智能網卡之系統方塊圖;
第二圖係顯示本發明較佳實施例所提供之智能網卡透過CPU模組與多工器之配合而將更新之系統方塊圖;以及
第三圖係顯示本發明較佳實施例所提供之智能網卡之FPGA韌體更新管理方法之步驟流程圖。
100:智能網卡
1:快閃記憶體
2:多工器
3:FPGA模組
31:FPGA處理單元
32:QSPI介面
4:CPU模組
41:CPU處理單元
42:SPI介面
200:伺服器主機
FW1:現有韌體資料
S1:設定完成訊號
S2:韌體更新資訊
S3:第一切換訊號
Claims (8)
- 一種智能網卡,係安裝於一伺服器主機,該智能網卡包含: 一快閃記憶體(FLASH ROM),係儲存有一現有韌體資料; 一多工器(Multiplexer),係電性連結於該快閃記憶體; 一FPGA(Field Programmable Gate Array)模組,係電性連接於該多工器,該多工器係在一預設工作模式時預設為通信連接該快閃記憶體與該FPGA模組,藉以在該預設工作模式時,使該FPGA模組經由該多工器而自該快閃記憶體載入該現有韌體資料,並在依據該現有韌體資料完成一韌體設定作業後發出一設定完成訊號;以及 一CPU模組,係電性連結於該伺服器主機、該FPGA模組與該多工器,用以在接收到該FPGA模組所發送之該設定完成訊號與伺服器主機所傳送之一韌體更新資訊時,進入一更新工作模式,並在該更新工作模式時,將一第一切換訊號發送至該多工器,使該多工器切換為通信連接該快閃記憶體與該CPU模組,藉以將該韌體更新資訊經由該多工器傳送至該快閃記憶體,並在該現有韌體資料更新為一新版韌體資料後,將一第二切換訊號發送至該多工器,使該多工器切換回通信連接該快閃記憶體與該FPGA模組。
- 如請求項1所述之智能網卡,其中,該CPU模組更包含一SPI介面,該SPI介面係電性連結於該多工器。
- 如請求項2所述之智能網卡,其中,該CPU模組更包含一CPU處理單元,該CPU處理單元係電性連結於該SPI介面,且該CPU處理單元係在接收到該伺服器主機所發送之該韌體更新資訊時,將該第一切換訊號透過該SPI介面發送至該多工器,使該多工器切換為通信連接該快閃記憶體與該CPU模組之該SPI介面。
- 如請求項1所述之智能網卡,其中,該FPGA模組更包含一QSPI介面,該QSPI介面係電性連結於該多工器。
- 如請求項4所述之智能網卡,其中,該FPGA模組更包含一FPGA處理單元,該FPGA處理單元係電性連結於該QSPI介面,且該FPGA處理單元係透過該QSPI介面與該多工器自該快閃記憶體載入該現有韌體資料或該新版韌體資料,並在依據該現有韌體資料或該新版韌體資料完成該韌體設定作業後,發送該設定完成訊號至該CPU模組。
- 一種智能網卡之FPGA韌體更新管理方法,包含以下步驟: (A) 啟動一FPGA模組,使該FPGA模組經由一多工器自一快閃記憶體載入一現有韌體資料而進行一韌體設定作業,並在該韌體設定作業完成後發出一設定完成訊號至一CPU模組; (B) 該CPU模組在接收到該FPGA模組所發送之該設定完成訊號與伺服器主機所傳送之一韌體更新資訊時,進入一更新工作模式,並在該更新工作模式時,將一第一切換訊號發送至該多工器,使該多工器切換為通信連接該快閃記憶體與該CPU模組,藉以將該韌體更新資訊經由該多工器傳送至該快閃記憶體;以及 (C) 在該現有韌體資料更新為一新版韌體資料後,該CPU模組將一第二切換訊號發送至該多工器,使該多工器切換回通信連接該快閃記憶體與該FPGA模組。
- 如請求項6所述之智能網卡之FPGA韌體更新管理方法,其中,在步驟(C)之後,該FPGA模組更經由該多工器自該快閃記憶體載入該新版韌體資料而進行一韌體重新設定作業。
- 如請求項7所述之智能網卡之FPGA韌體更新管理方法,其中,該FPGA模組係在該韌體重新設定作業完成之後發出一重新設定完成訊號至該CPU模組。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110109074A TWI764621B (zh) | 2021-03-15 | 2021-03-15 | 智能網卡及智能網卡之fpga韌體更新管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110109074A TWI764621B (zh) | 2021-03-15 | 2021-03-15 | 智能網卡及智能網卡之fpga韌體更新管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI764621B true TWI764621B (zh) | 2022-05-11 |
TW202238367A TW202238367A (zh) | 2022-10-01 |
Family
ID=82594202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110109074A TWI764621B (zh) | 2021-03-15 | 2021-03-15 | 智能網卡及智能網卡之fpga韌體更新管理方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI764621B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201241625A (en) * | 2011-04-11 | 2012-10-16 | Intel Corp | Apparatuses for configuring programmable logic devices from BIOS PROM |
US20130158918A1 (en) * | 2005-01-27 | 2013-06-20 | Electro Industries/Gauge Tech | Intelligent electronic device with enhanced power quality monitoring and communications capability |
US20180067652A1 (en) * | 2015-05-27 | 2018-03-08 | Pure Storage, Inc. | Parallel update to maintain coherency |
TW201810261A (zh) * | 2016-05-12 | 2018-03-16 | 橫杆股份有限公司 | 用於現場可程式化閘陣列的非揮發電阻性記憶體組構胞元 |
CN111064714A (zh) * | 2019-11-29 | 2020-04-24 | 苏州浪潮智能科技有限公司 | 一种基于fpga的智能网卡acl更新装置 |
-
2021
- 2021-03-15 TW TW110109074A patent/TWI764621B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130158918A1 (en) * | 2005-01-27 | 2013-06-20 | Electro Industries/Gauge Tech | Intelligent electronic device with enhanced power quality monitoring and communications capability |
TW201241625A (en) * | 2011-04-11 | 2012-10-16 | Intel Corp | Apparatuses for configuring programmable logic devices from BIOS PROM |
US20180067652A1 (en) * | 2015-05-27 | 2018-03-08 | Pure Storage, Inc. | Parallel update to maintain coherency |
TW201810261A (zh) * | 2016-05-12 | 2018-03-16 | 橫杆股份有限公司 | 用於現場可程式化閘陣列的非揮發電阻性記憶體組構胞元 |
CN111064714A (zh) * | 2019-11-29 | 2020-04-24 | 苏州浪潮智能科技有限公司 | 一种基于fpga的智能网卡acl更新装置 |
Also Published As
Publication number | Publication date |
---|---|
TW202238367A (zh) | 2022-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI633487B (zh) | 自動回復基本輸入輸出系統映像檔的方法及電腦系統 | |
CN106325857B (zh) | 一种电子设备及电子设备控制方法 | |
CN111103827B (zh) | 一种服务器工作模式切换装置 | |
US11256225B2 (en) | Data transmission apparatus of circuit breaker controller | |
US9027012B2 (en) | Manufacturing system and firmware burning method | |
US9495178B2 (en) | Electronics apparatus able to revise micro-program and algorithm to revise micro-program | |
US10333585B1 (en) | Repeater device with a plurality of parameter configuration modes and parameter configuration method thereof | |
KR102713729B1 (ko) | 농기계의 사용자 단말기의 작동 방법 및 농기계 | |
CN102081526B (zh) | 基本输入/输出系统架构 | |
TWI764621B (zh) | 智能網卡及智能網卡之fpga韌體更新管理方法 | |
TWI528287B (zh) | 伺服器系統 | |
US10169281B2 (en) | Switch system and operation method thereof | |
CN105490844A (zh) | 一种PCIe端口重构方法 | |
CN112994902A (zh) | 智能网卡及智能网卡的fpga固件更新管理方法 | |
US20080222404A1 (en) | In-system programming system and method for motherboard | |
CN109521863B (zh) | 芯片及芯片上电启动方法 | |
TWI547873B (zh) | 端點伺服器的控制模組及其韌體更新方法 | |
CN109684153A (zh) | 具有双韧体储存空间的服务器及其韧体更新方法 | |
JPH05158703A (ja) | リモートソフトウェアダウンロード方式 | |
TWI447589B (zh) | 電子支付終端與維護工具間經由usb連結之資料交換 | |
JP7505240B2 (ja) | 制御システムおよび制御機器 | |
CN112346910A (zh) | Cpu模块的启动备份方法、atca单板、设备和存储介质 | |
US7984118B2 (en) | Persistent configuration in a multiple processor repairable system | |
CN114489716A (zh) | 基板管理控制器及其更新方法、连接器 | |
JP4819652B2 (ja) | 接続機器制御装置および制御方法 |