TWI475485B - 韌體更新之方法及其相關電腦系統 - Google Patents
韌體更新之方法及其相關電腦系統 Download PDFInfo
- Publication number
- TWI475485B TWI475485B TW100120548A TW100120548A TWI475485B TW I475485 B TWI475485 B TW I475485B TW 100120548 A TW100120548 A TW 100120548A TW 100120548 A TW100120548 A TW 100120548A TW I475485 B TWI475485 B TW I475485B
- Authority
- TW
- Taiwan
- Prior art keywords
- computer system
- devices
- firmware
- memory
- identification code
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Description
本發明係指一種韌體更新之方法及其相關電腦系統,尤指一種用於解決快閃唯讀記憶體空間不足之韌體更新之方法及其相關電腦系統。
現今的資訊社會,電腦系統已經成為人們生活的一部份,不管是文書處理,或是日常庶務的處理,幾乎都要仰賴電腦系統進行處理或運算。當電腦的電源開啟,基本輸入輸出系統(Basic Input Output System,BIOS)就會由主機板上的快閃記憶體(flash memory)執行,並將晶片組和記憶體子系統初始化。基本輸入輸出系統包含診斷功能,以保證某些重要硬體元件,像是鍵盤、磁碟裝置、輸出輸入埠等等,可以正常運作且正確地初始化。大部分的基本輸入輸出系統可選擇性地執行記憶體的設定程式,保存使用者自訂設定資料(時間、日期、硬碟細節,等等)。此外,基本輸入輸出系統可以讓使用者選擇由哪個裝置啟動電腦,如光碟機、硬碟、軟碟、USB隨身碟等等,或允許使用者可以選擇要載入哪個作業系統(例如從第二顆硬碟載入其他作業系統)。
基本輸入輸出系統與硬體系統整合在一起,而基本輸入輸出系統的大小和複雜程度隨時間不斷增加,當硬體的更新速度加快,基本輸入輸出系統也必須不斷更新以支援新硬體,於是基本輸入輸出系統就儲存在EEPROM或者快閃記憶體(Flash ROM)可以輕易更新基本輸入輸出系統。基本輸入輸出在EEPROM或者快閃記憶體存入許多不同的選擇唯讀記憶體(Option-ROM)Option-ROM來驅動特別的硬體裝置(例如:顯示卡的Video BIOS,LAN的PXE ROM),這些選擇唯讀記憶體會使基本輸入輸出的資料容量增加。當一台電腦系統同時支援好幾種不同的顯示卡,或者是不同的網路卡,這時,基本輸入輸出系統就需要同時放入所有支援的顯示卡的選擇唯讀記憶體(例如:Video BIOS及PXE ROM),這時,用來儲存選擇唯讀記憶體所需要的空間就會越來越多。但是快閃記憶體空間有限,如果超過了空間上限,必須要更換更大容量的快閃記憶體才能解決。如此一來,可能造成提高製造成本。
因此,本發明之主要目的即在於提供一種韌體更新之方法及其相關電腦系統。
本發明揭露一種用於一電腦系統中韌體更新之方法。該方法包含有建立一表單,其中該表單中包含有複數個識別碼,該複數個識別碼分別對應至複數個韌體;檢查該電腦系統之複數個裝置,且取得該電腦系統之該複數個裝置之相對應識別碼;根據該表單,判斷該電腦系統之該複數個裝置之相對應識別碼是否存在於該表單中;於該電腦系統之該複數個裝置之相對應識別碼存在於該表單中時,選擇該電腦系統之該複數個裝置之韌體;以及整合該電腦系統之該複數個裝置之韌體,並將該電腦系統之該複數個裝置之韌體寫入一暫存記憶體。
本發明另揭露一種電腦系統。該電腦系統包含有一主機板、一基本輸入輸出系統以及一應用單元。該主機板,用來支援複數個裝置,該複數個裝置可透過複數個韌體所驅動。該基本輸入輸出系統,用來建立一表單,其中該表單中包含有複數個識別碼,該複數個識別碼分別對應至該複數個韌體。該應用單元包含有一偵測單元,用來檢查該複數個裝置,且取得該複數個裝置之相對應識別碼;一判斷單元,用來根據該表單,判斷該複數個裝置之相對應識別碼是否存在於該表單中;一選擇單元,用來於該複數個裝置之相對應識別碼存在於該表單中時,選擇該複數個裝置之韌體;以及一整合單元,用來整合該複數個裝置之韌體,並將該電腦系統之該複數個裝置之韌體寫入一暫存記憶體。
請參考第1圖,第1圖為本發明實施例一電腦系統10之示意圖。電腦系統10可為筆記型電腦,其同時支援好幾種不同版本的裝置(如:顯示卡,或網路卡),且本身包含有一主機板140、一基本輸入輸出系統(Basic Input Output System,BIOS)100以及一應用單元120。主機板140可支援複數個裝置,例如光碟機、硬碟、軟碟、USB隨身碟、顯示卡,或網路卡等等。每一裝置皆有對應至單一電腦唯一識別碼。電腦唯一識別碼可為全域唯一識別碼(Globally Unique Identifier,GUID),其為128位元(16個位元組)的整數,可用於所有需要唯一識別碼的電腦和網路。每一裝置則透過對應的選擇唯讀記憶體(Option-ROM)所驅動。選擇唯讀記憶體則儲存於基本輸入輸出系統100之一快閃唯讀記憶體(Flash-ROM)中。基本輸入輸出系統100用來建立一表單。其中,表單中包含有不同版本裝置之電腦唯一識別碼以及其對應的選擇唯讀記憶體。換句話說,表單列出不同版本的裝置所需之選擇唯讀記憶體以及不同版本的裝置的電腦唯一識別碼。此外,基本輸入輸出系統100另可建立一位址欄位,用來於快閃唯讀記憶體中預留複數各位址,每個位址對應至一裝置類別。即,不同版本之裝置僅對應至單一裝置類別,且僅有一位址被預留於快閃唯讀記憶體中。應用單元120包含有一偵測單元121、一判斷單元122、一選擇單元123以及一整合單元124。偵測單元121,用來檢查電腦系統10上的複數個裝置,並取得複數個裝置之相對應識別碼。判斷單元122,用來根據表單,判斷複數個裝置之相對應識別碼是否存在於表單中。選擇單元123,用來於複數個裝置之相對應識別碼存在於表單中時,選擇複數個裝置之韌體。整合單元124,用來整合複數個裝置之韌體,並將複數個裝置之韌體寫入快閃唯讀記憶體。
簡單的來說,基本輸入輸出系統100建立一表單,以列出不同版本裝置之電腦唯一識別碼以及其相對應的選擇唯讀記憶體。同時,基本輸入輸出系統100在快閃唯讀記憶體內預留位址給電腦系統10上之裝置所對應的電腦唯一識別碼。也就是說,當每種裝置具有不同版本時,每一裝置類別僅於快閃唯讀記憶體內預留一位址。舉例來說,電腦系統10支援兩種版本之網路卡以及兩種版本之顯示卡,應用單元120僅各自預留一位址給網路卡以及顯示卡。當電腦系統開始進行更新時,應用單元120從主機板140上取得用於電腦系統10之裝置的相對應電腦唯一識別碼,並比較電腦系統10之電腦唯一識別碼與表單上之電腦唯一識別碼是否相同。當電腦系統100之電腦唯一識別碼存在於表單中時,應用單元120選擇相對應的選擇唯讀記憶體,並整合對應的選擇唯讀記憶體,以寫入基本輸入輸出系統100之快閃唯讀記憶體中。相較於習知技術,每當更新選擇唯讀記憶體時,每種裝置類別僅有一選擇唯讀記憶體被寫入基本輸入輸出系統100之快閃唯讀記憶體中,藉此以避免快閃唯讀記憶體儲存所有版本之選擇唯讀記憶體。如此一來,可減少快閃唯讀記憶體不必要的空間浪費。進一步地,控制生產成本。
此外,當電腦系統100之對應電腦唯一識別碼不存在於表單中時,重新取得電腦系統100之相對應識別碼。
請參考第2圖,第2圖為本發明實施例一表單20之示意圖。表單20列出不同版本的顯示卡及其對應的選擇唯讀記憶體以及不同版本的網路卡及其對應的選擇唯讀記憶體。在第2圖中,不同版本的顯示卡具有電腦唯一識別碼VGA1 GUID、VGA2 GUID、VGA3 GUID、....、VGAn GUID,其分別對應選擇唯讀記憶體VBIOS1、VBIOS2、VBIOS3、...、VBIOSn。不同版本的網路卡具有電腦唯一識別碼LAN1 GUID、LAN2 GUID、LAN3 GUID、....、LANn GUID,其分別對應選擇唯讀記憶體PXE1、PXE2、PXE3、...、PXEn。請參考第3圖,第3圖為本發明實施例一表格30之示意圖。表格30預留三個位址分別給顯示卡類別、網路卡類別以及基本輸入輸出碼類別。舉例來說,對於具有n種版本之顯示卡而言,具有n種之選擇唯讀記憶體,而本發明僅預留一組位址給不同版本之選擇唯讀記憶體。在第3圖中,位址0x0000-0x1000預留給顯示卡類別;位址0x1000-0x2000預留給網路卡類別;位址0x2000-0x4000預留給基本輸入輸出碼類別。以第2圖以及第3圖為例,基本輸入輸出系統100可建立表單20,以列出不同版本的顯示卡及其對應的選擇唯讀記憶體以及不同版本的網路卡及其對應的選擇唯讀記憶體。接著,基本輸入輸出系統100可建立表格30,以預留複數個位址給每一裝置類別。應用單元120可開始更新程序,檢查電腦系統100之主機板140,取得電腦系統100上之選擇唯讀記憶體。假設電腦系統100所使用的顯示卡之電腦唯一識別碼為VGA2 GUID以及網路卡之電腦唯一識別碼為LAN3 GUID,則應用單元120根據表單20判斷電腦唯一識別碼為VGA2 GUID以及LAN3 GUID,是否存在於表單20中。當應用單元120判斷電腦唯一識別碼為VGA2 GUID以及LAN3 GUID存在於表單20中時,應用單元120選擇電腦唯一識別碼為VGA2 GUID以及LAN3 GUID所對應的選擇唯讀記憶體VBIOS2以及PXE3。接著,應用單元120根據表格30,整合選擇唯讀記憶體VBIOS2以及PXE3,以得到一完整的唯讀記憶體檔案。最後,應用單元120將已整合的唯讀記憶體檔案(包含有:VBIOS2以及PXE3),寫入快閃唯讀記憶體中。如此一來,可避免快閃唯讀記憶體儲存所有版本之選擇唯讀記憶體,減少快閃唯讀記憶體不必要的空間浪費。
電腦系統10之運作方式可進一步歸納為一流程40,如第4圖所示。流程40係用於電子裝置10中,用以執行韌體更新,其包含下列步驟:
步驟400:開始。
步驟402:基本輸入輸出系統100建立一表單,該表單包含有不同版本裝置之電腦唯一識別碼及其對應之選擇唯讀記憶體。
步驟404:基本輸入輸出系統100建立一表格,以預留複數個位址。
步驟406:應用單元120檢查電腦系統10之主機板140,取得電腦系統10之各裝置之電腦唯一識別碼。
步驟408:應用單元120根據該表單判斷電腦系統10之各裝置之電腦唯一識別碼是否存在於該表單中;若是,執行步驟410;若否,執行步驟406。
步驟410:應用單元120選擇各裝置之電腦唯一識別碼所對應之選擇唯讀記憶體。
步驟412:應用單元120根據該表格,整合各裝置之電腦唯一識別碼所對應之選擇唯讀記憶體並寫入快閃唯讀記憶體。
步驟414:結束。
流程40係為電腦系統10之運作方式,因此關於詳細說明或變化方式可參考前述,在此不贅述。
綜上所述,基本輸出輸入系統建立包含所有版本裝置之電腦唯一識別碼及其對應的選擇唯讀記憶體之一表單。應用單元根據該表單檢查電腦系統上之裝置,並將對應的選擇唯讀記憶體寫入快閃唯讀記憶體中,而對於電腦系統上不支援的裝置則不將其相關的選擇唯讀記憶體寫入快閃唯讀記憶體。如此一來,可避免快閃唯讀記憶體儲存所有版本之選擇唯讀記憶體,減少快閃唯讀記憶體不必要的空間浪費。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10‧‧‧電腦系統
100‧‧‧基本輸入輸出單元
120‧‧‧應用單元
140‧‧‧主機板
121‧‧‧偵測單元
122‧‧‧判斷單元
123‧‧‧選擇單元
124‧‧‧整合單元
20‧‧‧表單
30‧‧‧表格
40‧‧‧流程
400、402、404、406‧‧‧步驟
408、410、412、414‧‧‧步驟
第1圖為本發明實施例一電腦系統之示意圖。
第2圖為本發明實施例一表單之示意圖。
第3圖為本發明實施例一表格之示意圖。
第4圖為本發明實施例一流程之示意圖。
40...流程
400、402、404、406...步驟
408、410、412、414...步驟
Claims (12)
- 一種用於一電腦系統中韌體更新之方法,該方法包含有:電腦系統之一程序執行一程式碼以建立一表單,其中該表單中包含有複數個識別碼,該複數個識別碼分別對應至複數個韌體,其中,每一識別碼僅對應至每一韌體之單一韌體版本;電腦系統之該程序執行一程式碼以檢查該電腦系統之複數個裝置,且取得該電腦系統之該複數個裝置之相對應識別碼;電腦系統之該程序執行一程式碼以根據該表單,判斷該電腦系統之該複數個裝置之相對應識別碼是否存在於該表單中;電腦系統之該程序執行一程式碼以於該電腦系統之該複數個裝置之相對應識別碼存在於該表單中時,選擇該電腦系統之該複數個裝置之韌體;電腦系統之該程序執行一程式碼以整合該電腦系統之該複數個裝置之韌體,並將該電腦系統之該複數個裝置之韌體寫入一暫存記憶體;以及電腦系統之該程序執行一程式碼以於該暫存記憶體中預留複數個位址,其中該複數個位址分別對應至複數個裝置類別,且各裝置類別僅一韌體版本被寫入該暫存記憶體僅單一預留位址中。
- 如請求項1所述之方法,其另包含電腦系統之該程序執行一程式碼以於該電腦系統之該複數個裝置之相對應識別碼存在於該表單中時,重新取得該電腦系統之該複數個裝置之相對應識別碼。
- 如請求項1所述之方法,其另包含電腦系統之該程序執行一程式碼以執行一韌體更新程序。
- 如請求項1所述之方法,其中該韌體為一選擇唯讀記憶體(Option-ROM)。
- 如請求項1所述之方法,其中該暫存記憶體為一快閃唯讀記憶體(Flash-ROM)。
- 如請求項1所述之方法,其中該識別碼為一全域唯一識別碼(Globally Unique Identifier,GUID)。
- 一電腦系統,包含有:一主機板,用來支援複數個裝置,該複數個裝置可透過複數個韌體所驅動;一基本輸入輸出系統,用來建立一表單,其中該表單中包含有複數個識別碼,該複數個識別碼分別對應至該複數個韌體,其中,每一識別碼僅對應至每一韌體之單一韌體版本;以及一應用單元,包含有:一偵測單元,用來檢查該複數個裝置,且取得該複數個裝置之相對應識別碼;一判斷單元,用來根據該表單,判斷該複數個裝置之相對應識別碼是否存在於該表單中;一選擇單元,用來於該複數個裝置之相對應識別碼存在於該表單中時,選擇該複數個裝置之韌體;一整合單元,用來整合該複數個裝置之韌體,並將該整合 韌體寫入一暫存記憶體;以及複數個預留位址於該暫存記憶體中,其中,該複數個預留位址分別對應至複數個裝置類別,且各裝置類別僅一韌體版本被寫入該暫存記憶體僅單一預留位址中。
- 如請求項7所述之電腦系統,其中該偵測單元另用來於該複數個裝置之相對應識別碼存在於該表單中時,重新取得該複數個裝置之相對應識別碼。
- 如請求項7所述之電腦系統,其中另包含一更新單元,用來執行一韌體更新程序。
- 如請求項7所述之電腦系統,其中該韌體為一選擇唯讀記憶體(Option-ROM)。
- 如請求項7所述之電腦系統,其中該暫存記憶體為一快閃唯讀記憶體(Flash-ROM)。
- 如請求項7所述之電腦系統,其中該識別碼為一全域唯一識別碼(Globally Unique Identifier,GUID)。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW100120548A TWI475485B (zh) | 2011-06-13 | 2011-06-13 | 韌體更新之方法及其相關電腦系統 |
| CN2011101758889A CN102830988A (zh) | 2011-06-13 | 2011-06-28 | 固件更新的方法及其相关计算机系统 |
| US13/241,183 US8892856B2 (en) | 2011-06-13 | 2011-09-22 | Firmware flashing method and related computer system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW100120548A TWI475485B (zh) | 2011-06-13 | 2011-06-13 | 韌體更新之方法及其相關電腦系統 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201250594A TW201250594A (en) | 2012-12-16 |
| TWI475485B true TWI475485B (zh) | 2015-03-01 |
Family
ID=47294170
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW100120548A TWI475485B (zh) | 2011-06-13 | 2011-06-13 | 韌體更新之方法及其相關電腦系統 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US8892856B2 (zh) |
| CN (1) | CN102830988A (zh) |
| TW (1) | TWI475485B (zh) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103823703B (zh) * | 2014-03-18 | 2017-06-20 | 福州瑞芯微电子股份有限公司 | 一种同一固件兼容不同设备的方法及装置 |
| CN104951319A (zh) * | 2014-03-27 | 2015-09-30 | 鸿富锦精密电子(天津)有限公司 | 电脑系统 |
| CN105204877B (zh) * | 2014-06-18 | 2019-11-15 | 中兴通讯股份有限公司 | 一种终端固件升级方法及装置 |
| CN104503786B (zh) | 2014-12-15 | 2020-10-16 | 小米科技有限责任公司 | 固件刷新方法及装置 |
| TWI647617B (zh) * | 2018-01-23 | 2019-01-11 | 緯創資通股份有限公司 | 電子裝置與其韌體更新方法 |
| CN114115932A (zh) * | 2021-10-11 | 2022-03-01 | 艾维克科技股份有限公司 | 更换显示卡后于计算机作业系统快速启动设定时显示卡韧体更新系统及其更新方法 |
| US12299470B2 (en) * | 2022-03-22 | 2025-05-13 | International Business Machines Corporation | Reducing downtime caused by incompatibility issues from upgrading firmware and software |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200736952A (en) * | 2005-10-12 | 2007-10-01 | Clevx Llc | Software-firmware transfer system |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1122215C (zh) * | 1999-05-10 | 2003-09-24 | 大众电脑股份有限公司 | 驱动程序的安装方法 |
| US6714993B1 (en) | 2000-05-22 | 2004-03-30 | Legerity, Inc. | Programmable memory based control for generating optimal timing to access serial flash devices |
| US6944854B2 (en) * | 2000-11-30 | 2005-09-13 | International Business Machines Corporation | Method and apparatus for updating new versions of firmware in the background |
| EP1353268A1 (en) * | 2002-04-11 | 2003-10-15 | Hewlett-Packard Company | A system for displaying information on system start-up |
| TWI234708B (en) * | 2003-06-11 | 2005-06-21 | Via Tech Inc | Management unit and method of flash memory device |
| CN1567229A (zh) * | 2003-07-03 | 2005-01-19 | 纬创资通股份有限公司 | 动态建立高级组态与电源管理接口架构的方法 |
| US7970983B2 (en) * | 2007-10-14 | 2011-06-28 | Sandisk Il Ltd. | Identity-based flash management |
| US8589302B2 (en) * | 2009-11-30 | 2013-11-19 | Intel Corporation | Automated modular and secure boot firmware update |
-
2011
- 2011-06-13 TW TW100120548A patent/TWI475485B/zh not_active IP Right Cessation
- 2011-06-28 CN CN2011101758889A patent/CN102830988A/zh active Pending
- 2011-09-22 US US13/241,183 patent/US8892856B2/en not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200736952A (en) * | 2005-10-12 | 2007-10-01 | Clevx Llc | Software-firmware transfer system |
Also Published As
| Publication number | Publication date |
|---|---|
| US8892856B2 (en) | 2014-11-18 |
| TW201250594A (en) | 2012-12-16 |
| US20120317404A1 (en) | 2012-12-13 |
| CN102830988A (zh) | 2012-12-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI475485B (zh) | 韌體更新之方法及其相關電腦系統 | |
| KR101595043B1 (ko) | 적어도 부분적으로 부팅 동안에 어플리케이션들을 메모리에 프리로딩하는 방법 | |
| CN102165418B (zh) | 涡轮引导的计算机系统 | |
| CN104679540B (zh) | 计算机系统与计算机系统启动方法 | |
| US9164887B2 (en) | Power-failure recovery device and method for flash memory | |
| US7908469B2 (en) | Method for executing power on self test on a computer system and updating SMBIOS information partially | |
| US20180046447A1 (en) | Data storage device and method for reducing firmware update time and data processing system including the device | |
| CN101246429B (zh) | 将闪存模块用作主存储器的电子系统和相关系统引导方法 | |
| CN110515634B (zh) | 通过远端工具程序更新固件的方法、电脑系统以及介质 | |
| US20050223209A1 (en) | Apparatus for fast booting computer and method for the same | |
| JP2020030812A (ja) | 更新されたファームウェアコードの検索 | |
| US7849300B2 (en) | Method for changing booting sources of a computer system and a related backup/restore method thereof | |
| TWI754221B (zh) | 軟體存留性關閉技術 | |
| TWI515557B (zh) | 電腦系統與控制方法 | |
| TW201516869A (zh) | 電子裝置、通用可延伸韌體介面基本輸入輸出系統之韌體檔案之更新方法、記錄媒體及電腦程式產品 | |
| TWI518594B (zh) | 計算機系統與計算機系統啓動方法 | |
| US20050060530A1 (en) | Method for displaying information of updating BIOS | |
| CN107480052B (zh) | 一种定位宕机时bios代码的方法及装置 | |
| CN112148201B (zh) | 数据写入方法、装置及存储介质 | |
| TWI696113B (zh) | 用來進行組態管理之方法以及資料儲存裝置及其控制器 | |
| CN101359300B (zh) | 电脑装置的特殊数据的管理方法与适用于其的开机方法 | |
| CN119003015B (zh) | 操作系统启动项管理方法及设备、介质和计算机程序产品 | |
| TW200428212A (en) | Management unit and method of flash memory device | |
| TWI747270B (zh) | 用來進行組態管理之方法以及資料儲存裝置及其控制器 | |
| TWI499978B (zh) | A method of transferring data between a working system and a basic input / output system, a recording medium, and a computer program product |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |