TW583586B - Method for atomically updating a plurality of files - Google Patents

Method for atomically updating a plurality of files Download PDF

Info

Publication number
TW583586B
TW583586B TW091121491A TW91121491A TW583586B TW 583586 B TW583586 B TW 583586B TW 091121491 A TW091121491 A TW 091121491A TW 91121491 A TW91121491 A TW 91121491A TW 583586 B TW583586 B TW 583586B
Authority
TW
Taiwan
Prior art keywords
file
firmware
updated
platform
data
Prior art date
Application number
TW091121491A
Other languages
English (en)
Inventor
Kirk D Brannock
William A Stevens
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of TW583586B publication Critical patent/TW583586B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

583586
發明 發明 本發明大致上係關於雷腦备 理。 電…’尤其有關平台勃體管
Uiki4__ 電腦平台韌體於電腦系统初 亍、、,元初始化期間用以驗證系統完整 且心其同日^大致提供該等電腦系統之硬體與軟體組 件間的基本低階介面,冑成特定硬體功能經由執行電腦系 統上運轉之電腦程式所包含的高階軟體指令而實行特定硬 體功能。》電腦中’此韋刀體的一主要部分稱為一電腦系統 的基本輸入/輸出系統(BI0S)碼。基本輸入/輸出系統(bios) t包含一組永久記錄(或者當使用快閃記憶體Blos之系統的 情況下,則為半永久記錄)的軟體常式,其提供系統的基本 作業特徵,包括告訴電腦當電力開啟時如何自我測試,以 及如何決定各種内建組件與附加週邊組態的指令。 於一典型之個人電腦(pc)架構中,大致將基本輸入/輸出 系統(BIOS)定義成:介於處理器重置與作業系統(〇s)載入 态的第一指令間所運轉的韋刀體。如圖1所示,於一典型個人 電腦(PC) 10中,基本輸入/輸出系統(BIOS)碼的基底部分 儲存於像是一標準PROM 14或一快閃記憶體16的個人電腦 (PC)母板12上某類型ROM (唯讀記憶體)裝置。某些組態 中,此基底部分可使用像是小電腦系統介面(SCSI)控制器 及匯流排主控裝置的一或更多附加週邊卡20上所包含之唯 讀記憶體(ROM)基本輸入/輸出系統(BIOS)晶片18中儲存的 -4 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 583586 A7 B7 五、發明説明(2 ) 碼加以擴充。基本輸入/輸出系統(BI0S)的此部分儲存於一 般稱為‘‘選項唯讀記憶體(R〇M),,的組件中。週邊卡之唯讀 記憶體(ROM)基本輸入/輸出系統(BI〇s)晶片18中的基本輸 入/輸出系統(BIOS)碼通常有關其對應之週邊卡所提供的特 定功能,而且於該週邊卡初始化期間,根據_組(大致)定 義良好的規則加以執行。於前述任一組態中,所有美本约 入/輸出系統(BIOS)韌體均區域儲存於母板上或者加至一系 統之週邊卡上的選項唯讀記憶體(R〇M)。 訂 许多貫例中,一電腦系統平台的基本功能由平台的韌體 定義。因此,為了增強此功能,必需於韌體中加上或修正 對應碼。於現今之個人電腦(PC)中,可藉由更換母板(以及 /或者週邊卡)上的基本輸入/輸出系統(BI〇s)晶片,抑或如 果基本輸入/輸出系統(Bi〇s)碼包含於可重寫晶片(例如: 快閃記憶體)中,則執行重寫基本輸入/輸出系統(61〇8)碼 的一基本輸入/輸出系統(BIOS)更新軟體程式予以完成。 此二方法容易導致錯誤。由一初學使用者更換一基本輸 入/輸出系統(BIOS)晶片將導致一些問題,包括:不當插入 新f曰片,插座損毀,母板上的新晶片以及/或者現有晶片發 生靜電損毁。用以更新一快閃組件上儲存之基本輸入/輸出 系、洗(BI〇S)碼的流行方法同樣具有危機。例如,一使用者 可tb 4圖以組不當的新碼更新基本輸入/輸出系統(BI〇s) 碼,或者可能於更新處理中途發生當機。通常,基本輸入/ 輸出系統(BIOS)碼以一單石塊的碼儲存,而且以新的一單 石塊的碼整體取代。當基本輸入/輸出系統(bi〇s)碼儲存於 本紙張尺度適用巾國®諸準(CNS) A4規格(210 -5- X 297公釐) 583586 A7 _________B7 五、發明説明(3 )~— "" -- 一快閃組件時,於重寫記憶體前,必須先清除對應於包含 新的基本輸入/輸出系統(BI〇s)碼之記憶體部分的記憶 塊(亦即:重置為全壹)。此清除處理擦去現存的基本輸入/ 輸出系統(BIOS)碼。結果,如果於一重寫或更新中途發生 故障,則基本輸入/輸出系統(BI〇s)碼將訛誤。假設一電力 系統發生故障,造成使用者必須重新啟動電腦系統。由於 基本輸入/輸出系統(BIOS)碼通常為完成啟動處理所需,所 以使用者可能無法啟動電腦系統解決問題,抑或可能需要 (使用者通常沒有的)一緊急修復磁碟,用以解決問題。 曼式之簡覃説明 參照以下詳細說明,連同其附圖,將可更快速明白同時 更加了解本發明的前述各方面及許多伴隨的優勢,其中: 圖1係圖例說明基本輸入/輸出系統(BI0S)韌體如何儲存 於一傳統個人電腦(PC)的一示意圖; 圖2係圖例說明一示範之韌體容體韌體儲存器方案以及可 實行本發明之相關檔案系統的一示意圖; 圖3係圖例說明韌體容體中建立一新檔案時本發明所使用 邏輯的流程圖; 圖4及5係圖例說明於韌體容體中建立一新樓案時一樓案 標頭及一韌體容體其記憶體空間之順序改變的示意圖; 圖6係圖例說明於根據本發明一具體實施例之韌體檔案系 統下如何刪除一檔案的一示意圖; 圖7係圖例說明於韌體容體中更新一現存檔案時本發明一 具體實施例所使用邏輯的一流程圖; -------- 6 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 583586 五、發明說明(4 A7
圖8及9係圖例說明於韌體容體中建立一 庐滿ΤI 新檔案時一檔荦 ‘碩及一韌體容體其記憶體空間之順序改變的示意圖; 圖丨〇係圖例說明當透過使用一蘄砵拮社# &〜 ’ 0i , ^ 文用暫牯填補檔案建立一檔案 寻本發明一具體實施例所使用邏輯的一流程圖; 〃 係圖例說明當使用-暫時填補樓案更新—樓案時本 啦月〜具體實施例所使用邏輯的一流程圖; 圖12係圖例說明當更新多數柃安眭 一士 夕数榀荼犄本發明所使用邏輯的 一 k程圖; 西圖13七係圖例說明於韌體容體中更新多數檔案時一檔案 ‘頭及一韌體容體其記憶體空間之順序改變的方意圖;以 及 圖16係適合實行本發明的一個人電腦(pc)系統的一示音 圖。 〜 县體實施例之詳細説明 x下说明中將提供許多特定細節,以便提供對本發明之 具體:施例的一徹底了冑。然而’熟習此項技藝者將可知 道γ /又有此一或更多特定細節,或者使用其他方法,組件 等同樣可實施本發明。其他實例中將不詳細顯示或說明著 名的結構或作業,以避免模糊本發明之各種具體實施例的 各方面。 通篇說明書中所謂參照“ 一具體實施例,,意指:本發明至 少一具體實施例中包含接續該具體實施例加以說明的一特 殊特性,結構,或特徵。因此,通篇說明書中多處出現的 片浯‘‘於一具體實施例中,,未必全部指相同的具體實施例。
裝 訂
583586 五、發明説明(5 再者,該特殊特性,結構, 於-或更多具體實施例中。…τ以任何適當方式組合 可擴充韌體介面及韌體容體 表近It 爾(Intel)公司引進-種新的嶋形變化 存以宰ΓΓ储存器超越先前技藝中見到的傳統單石儲 所…^藉由可擴充動體介面,或稱EFI促成。如 ,、名稱所示,可擴充知體介面(_透過使用標準化軟體 介面促成韌體“擴充”。 千匕*人體 一種稱為_容體(FV)的—款體儲存裝置之標準軟體抽 α象概念促進體擴充構件。由於㈣容體(FV)勤體儲存 抽象概念並未娜於任何特定硬體類型,所以可用以產生 成乎任何韌體裝置類型之基本輸入/輸出系統(BI0S)的韌體 組件。例如,於一給定系統中,一韌體容體(FV)可代表一 快閃記憶體部分,而另一韌體容體(FV)可代表一磁碟分 割,而又一第三韌體容體(FV)可代表一伺服器上一遠端目 錄。一單一電腦系統可具有一或更多硬體類型上儲存的一 或更多韌體容體(;F V)。 基本輸入/輸出系統(BIOS)韌體碼部分為一韌體檔案系統 (FFS)所管理的一韌體容體(FV)的一部分。韌體檔案系統 (FFS)促成吾人操作構成一韌體容體(FV)的韌體檔案。韌體 檔案系統(FFS)可用以擷取,建立,更新,及刪除韌體檔 案。一般可將一韌體檔案系統(FFS)儲存於任何持續記憶體 裝置,包括快閃裝置,磁碟分割,以及經由一網路加以存 取的遠端儲存裝置。 583586
發明説明 以下段落及相關圖式中,將參照一快閃記憶體裝置上的 早刀體谷體(FV)討論本發明的各種具體實施例。熟習此項 技勢者將了解:本發明可以維護韌體碼以及/或者資料的其 他力員型之持續儲存裝置加以實行,而且使用以下討論之快 閃裝置的本發明具體實施例僅為實施本發明的示範方案。 快閃記憶體為允許製造商及(具有適當硬體/軟體之)終端 使用者電子程式規劃與抹除資訊的一不變性記憶體技術。 快閃記憶體通常以稱為區塊的記憶體單位加以抹除,代替 以位元位準加以抹除,其中當抹除一給定區塊時,該區塊 中的所有位元切換至預定極性(亦即:邏輯位準)。於—— 般的快閃記憶體類型中,像是英特爾(Intel)製造的快閃記 L 裝置’其藉由將一區塊中所有位元設定為1而電子抹除 圮憶體區塊。然後藉由將個別位元倒裝為〇而將資料寫入區 塊。其他快閃裝置類型中,抹除的邏輯狀態為全〇,而且將 資料寫入此等裝置包含將個別位元改變為i。請注意:傳統 1*夬閃裝置中,個別位元無法從一改變(亦即:設定)的邏輯 位準倒裝回抹除的邏輯位準;欲更新一區塊中的資料,所 有位元須先抹除,然後寫入。 圖2中顯不使用1作為其抹除狀態的一快閃裝置上儲存的 一不範韌體容體(FV) 22。韌體容體(FV) 22包括一韌體容 體(FV)標頭24及多數韌體檔案系統(FFS)檔案25。韌體容體 (FV)標頭24的開始儲存於快閃裝置的最低記憶體位址,而 每一韌體檔案系統(FFS)檔案25於跟隨一直接前導檔案或者 (如果可應用則為)檔案標頭之結尾後的次一位元組邊界開 -9 - 本纸張尺度適用中國國家標準(CNS) A4規格(21〇 X ^97公爱) A7
/於-具體實施例中,每8位元組出現位元組邊界,因而 1虽案大小的增量為8位元組。細體禮案系統(FFS)槽案25中 2 一已刪除㈣26。^以下進—步之詳細解釋,已刪徐 ::26包括一檔案標頭,用以識別:拿刃體檔案系統㈣將 "檔案視為已刪除,然而該已刪除檔案的資料於韌體容體 ㈣)中存在的狀態可能仍與該樓案標示為刪除以前相同。 通常’ I刃體檔案系統(FFS)播案25為順序寫入,其中自由空 間28代表早刃體容體(FV)中剩餘的可用空間,而且其傾向往 決閃裝置的頂端位址部分(亦即:較高記憶體位址)定位。 早刀體谷體(FV)標頭24包括多數資料欄位,包括一屬性攔 位30,一標頭長度攔位32,一韌體容體長度攔位μ, 檔案系統ID攔位36,一核對和欄位38,以及一韌體容體 (FV)區塊映射攔位4〇。屬性攔位3〇包括多數位元,其中包 括讀取/寫入功能,電力開啟狀態,‘‘固著的,,寫入資料,一 圮憶體映射旗標,以及一抹除極性識別字。標頭長度欄位 32包含以位元組計的韌體容體(FV)標頭長度。韌體容體 (FV)長度欄位34包含以位元組計的整個韌體容體(Fv)長 度。樓案系統ID欄位36宣告以何種檔案系統將韌體容體(Fv) 格式化。核對和襴位3 8包含整個韌體容體(FV)標頭的_ i 6 位元核對和。韌體容體(FV)區塊映射欄位40包含運行長度 編碼區塊結構描述符的陣列,其中包括以一 { 〇,〇}元組為 終止的多數元組{數字(Num)區塊,區塊長度}。 每一韌體檔案系統(FFS)檔案25包括一韌體檔案系統(FFS) 標頭42及樓案資料44。樓案資料44可選擇性包括一尾端 -10 - 本紙張尺度適财㈣家標準(CNS) A4規格(210X297公釐) ;· 裝 訂
線 583586
45 ’作為檔案完整性檢查用途。韌體檔案系統(FFS)標頭42 包括各種貢料欄位,其中包括一名稱襴位46,一完整性檢 查欄位47 ’ 一類型欄位48 ’ 一屬性欄位49,一大小欄位 5 0 以及一狀態襴位5 1。於一具體實施例中,名稱4 6包含 一全域唯一識別字(GUID),由韌體檔案系統發出,而且於 韌體谷體内保證唯一。如以下將進一步詳細解釋,完整性 仏查搁位47包含用以驗證檔案完整性的資料。類型欄位48 識別彳*案類型’以及像是一 DXE驅動器,PEIM等檔案的内 部格式。大小攔位5〇包含以位元組計的檔案長度(包含檔案 標頭)。 韌體容體(FV)中的檔案使用一鏈接機構定位,其中將一 目4擒案的長度加至該檔案的開始位址,以便定位鏈中下 一檔案的開始。此外,韌體容體(FV)中的第一檔案直接接 續韌體容體(FV)標頭24的結尾,其中第一檔案的位址根據 韋刃體容體(FV)長度34中之值加以決定。 如罪近圖2右上角所描述,屬性襴位49包括用以定義樓案 之各種屬性的六位資料位元(加上兩位保留位元)。此等屬 性位元包括一檔案尾端出現位元52、一檔案恢復位元兄、 一標頭擴充位元54及一 3位元資料調正子襴位55,其中資料 調正子欄位包含屬性欄位49的第2,3和4位位元。屬性欄 位49同時包括兩保留位元56及57。 樓案尾端出現位元52指示··檔案結尾存在一 16位元以檔 案尾端45。恢復位元53指示:檔案必需執行一危機恢復。 標頭擴充位元54保留供未來擴充用。資料調正子欄位55包 ;· 裝 訂
583586 五、發明説明(9 ) 含一 3位元欄位,用以指示資料開始如何於相關於韌體容體 (FV)基底的一特殊邊界上調正。此欄位中的3位元列舉調: 可能性,像是一 8位元組調正。 圖2的右下方部分顯示狀態欄位51的進一步細節。狀態欄 位5 1為一 8位元欄位,包括用以追蹤一檔案作業其目前狀態 的六個狀態位元’用於擋案建立,刪除,&更新期間。: 態位元包括:一結構下的韌體檔案系統(FFS)標頭位元“ (位7C0),一韌體檔案系統(FFS)標頭有效位元59 (位元1), 一貝料區域有效位疋60 (位元2),—標案更新標示位元6 1 (位元3)…樓案已刪除位⑽(位元4),及4體檀案系 統(FFS)標頭無效位元65 (位元5)。除了此等狀態位元外, 於從頭至尾的所有作業中’位元6及7 (未顯示)均保留於抹 除狀態(亦即:邏輯位準為偽)。於以下所述之所有狀態改 文作業中,所有狀怨轉移均為基元作業,亦即:對於每次 給定之樓案狀態改變,一次僅改變一狀態位元的邏輯位 準。此外’於進行任何額外寫入拿,體容體前,必須完全完 成將-給定位元轉移為真。再者,特別注意,尸、有設定為 真的最大有效狀態位元才有意義。因&,較高階狀態位元 先於較低階狀態位元。 樓案建立 參照圖3的流程圖以及圖4與5,#中藉由以下方式進行— 新樓案的建立。藉由從直接超越_前導擋案結尾(或者如果 新祗案為寫入韌體容體(FV)的第一檔案,則為韌體容體標 頭24)的韋刃體容體(FV)中分配空間而建立一新搁位。假設初 本紙家簡CNS) Μ規格(21GX297公釐) 583586 五、發明説明(1〇 ) 2時韌體容體(FV) 22包括一單一檔案χ(68),而且將增加 一新擋案Y。因此’檔案X所佔有之最後(最高)位址以上的 剩餘記憶體空間包括自由空間28,其中佔有此記憶體部分 之所有位元設定為對應於韌體裝置抹除狀態的一偽邏輯位 準。如同前述之結果,如圖4中一檔案γ的初始狀態7〇所描 述初始日才,包括檔案標頭之新檔案γ佔有的記憶體空間包 含全1 〇 檔案建立處理於一方塊1 00開始,其中將結構下的檔案標 頭位元(58)設定為真,表示將韌體容體(FV)中的空間分配 、’、a新的杬案;^頭。結果,擒案γ得一狀態=1 1 1 1 1 1 1此,指 不檔案Y的標頭結構已經開始,但尚未完成。此條件於圖4 中以一結構下的標頭狀態72描述。其效果為:從現在由一 檔案Y標頭74佔有的韌體容體(FV)自由空間28中,,宣告,,韌 體檔案系統(FFS)標頭空間。同時於此狀態下,於一方塊 102中,藉由將適當資料寫入欄位而初始化所有其他標頭攔 位。包括初始化:名稱欄位46,完整性檢查攔位,類型 攔位48,屬性欄位49,以及大小欄位50。於一具體實施例 中,名稱欄位46包含由韌體檔案系統(Ffs)發出的一全域唯 一識別字(GUID)。通常,全域唯一識別字(GUID)可包含一 32位元,64位元,或者128位元的全域唯一識別字(GUID), 然而只要全域唯一識別字(GUID)保證韌體容體(F v)内的唯 一性,任何全域唯一識別字(GUID)均可使用。 完整性檢查欄位47為一 16位元欄位,其中包括三子搁 位··一完整性檢查·核對和·標頭子襴位,一完整性檢查核 I… 二 …
本紙蘇尺度適用中國國豕標準(CNS) A4規格(210X297公D
JOJJOO 五、發明説明(η 對.和·檔案子欄位,以〜 完整性檢查.核對和 一完整性檢查.尾端參考子欄位。 低8位元,而且包含安’位佔有兀整性檢查襴位47的較 完整性檢查·核對和·;;::頭的一8位元核對和。狀態以及 加總所計算的核對和田?位均假設為零,而且將整個標頭 位元59設定為真的^門心11欄位51之槽案標頭有效 效。 ’完整彳生檢查·核對和·標頭為有 完整性檢查·核對和 安 的較高8位元,而且勺八:闌位佔有完整性檢查攔位47 搁位51及播幸尾二包^個檀案的,… 計算的核對::=:::零’而:將!個樓案加總所 為真的任何時間,完敕& ::位51之枯案貝料有效位元60 — 70正性檢查.核對和·檔案為有效。 邱完整性檢查·尾端參考子欄位包含完整性檢查攔位47的全 ^ 1吉6位兀。如果屬性搁位49中之樓案尾端出現位元52設定 -”,則用以計算檔案尾端45之值。 於韌體榀案系統(FFS)標頭欄位初始化完成後,於一方塊 ?4中猎由將檔案標頭有效位元59設定為真而將新檔案標頭 標不為完成。如圖5中的一標頭有效狀態76所描述,得一狀 態=11111100b,指示標頭結構完成,但檔案資料尚未寫 入。其效果為:從韌體容體(FV)自由空間28 ‘‘宣告,,檔案的 完全長度。一旦檔案標頭有效位元59設定為真後,名稱欄 位46 ’類型欄位48,屬性襴位49,大小欄位50,或完整性 檢查·核對和.標頭值將不會進行進一步改變。 同時於此狀態下,於一方塊1〇6中,如資料78及選擇性擋 裝 訂 線 -14- 583586 A7 _________B7 五、發明説明(12 ) 案尾端79所描述,將檔案資料,完整性檢查.核對和樓案 值,(適當的話)以及檔案尾端寫入韌體容體(F V) 22。取決 於屬性攔位49之檔案尾端出現位元52的狀態而寫入一檔案 尾端·如果該值為真,則寫入,如果該值為偽,則不寫 入。用於檔案完整性檢查的檔案尾端跟隨於資料之後,而 且包含韌體容體(FV) 22中之檔案影像的最後兩位元組。 一旦於方塊1〇6中寫入適當資料後,於一方塊1〇8中將執 行:選擇性的完整性檢查。有各種此項技藝中已知的檔案 或資料完整性檢查可用於此用途。例如,如果檔案的一原 始衫像可用,則可執行對照原始影像與寫入影像(亦即:剛 寫入韌體容體(FV) 22的檔案版本)的一逐一比較或一核對 和比較。某些實例中,原始影像可能無法使用,像是從已 、左/月除的一緩衝為將檔案資料寫入的情況。此情況下,可 藉由提供對妝新寫入檔案中包含的類似特徵加以比較的原 始檔案中某些特殊特徵(例如:一核對和之值)進行一檔案 完整性驗證。 當檔案建立處理完成後,於一方塊"〇中,將檔案資料有 放位7L 60 a又定為真,指示檔案資料有效。如圖5的一檔案資 料有效狀態80所描述,得一狀態= lllu〇〇〇b。 、 檔案刪除 ” 了榀案建立外,杈案可經由基元改變狀態攔位$ 1而則 =三檔案標頭有效位元59設定為真以及檔案已刪除位元62 設定為偽的任何檔案均為一刪除候選。欲刪除一檔案,如 圖6中所示,將樓案已刪除位元62設定為真。如同之前,將 -15-
本紙張尺度適_ ® 格(21〇X297公W 583586
此1JI兀 五、發明説明(13 ) (FV) 22前基元且完全完成。 行任何頭外寫入韌體容體 得一狀態= 1110Xx0〇b,指 刪除檔案狀態82所描述, 目前狀態,此處圖式中的,' 木知不為刪除。取決於 ‘ 指示該侑可立1 ,、 使將遠構案標示為刪除,里 或〇。然而,即 、彳力頭的有效危 容體(FV) 22中次一檔宰之 令又長度仍與定位韌體 檔案更新 ’、^的檔案大小襴位50—樣。 早刀體植案系統所提供的另一+ 、 力。檔案更新為增加的梓安 特性為更新現存檔案的能 案建立之特例。簡言之::經於韌體容體中存在的一檔 (更新)版本透明寫入韌體容^處理包含··將一檔案的一新 元改變韌體容體(FV)檔宰俨^的一自由空間部分,執行基 生效而且使原始檀案無二、:料’以便同時間使新樓案 當執行此作時,兩標安 ^將原始植案標示為刪除。 田木之狀態攔位51中的狀能位元將改 變,以-預定順序一次一 # — 旧狀心位兀將改 電力故障的-異常事件促U更新㈣從像是一 以 凡王人後。因此,於任何給定時 間’更新指案(例如:槽幸Y , 、, ”)或原始檔案(例如:樓案X)之 中僅有一檔案有效。 "麥妝圖'9 ’韌體檔案系統更新-檔案的-具體實施例進 :士下其中將包含一檔案標頭84及檔案資料86的-原始 才田案X更新成-播案X’。該處理於圖7的一方塊i工2開始,其 中將欲更新之原始檔案X其檔案標頭(84)中的檔案更新標示 位兀61設定為真。將此位元轉移為真的狀態必須於進行任 何額外寫入韌體容體(FV) 22前基元且完全完成。如圖8中 583586 A7
一榀木更新“示狀怨8 8所示,得一狀態1丨1 1 〇⑻〇 b,指示 將該檔案標示為更新。只要韌體容體中沒有另一檔案具有 相同名稱而且其狀態二丨i丨丨1〇χχό,則此狀態下的一檔案〈 然有效。 卞乃
其次,於一方塊114中,藉由上述參照圖4-5所討論的相同 方式建立新的更新檔案(檔案X,),並且處理圖3的方塊 100,102,104,106,108及110。其中包括建立及初始化 一新杈案標頭90中的欄位,以及將檔案的更新影像寫入包 含榀木資料92的§己憶體部分。當如檔案資料有效狀態⑽所 指示新檔案生效時,已標示為更新的原始檔案變成無效。 如以上所討論,因為現在具有與原始檔案相同名稱而且狀 態不=lllllOxxb之韌體容體(FV) 22中的另一檔案。將新 檔案標頭90之狀態攔位5丨中的檔案資料有效位元寫入的動 作之額外效果為:使原始檔案χ無效。於一方塊1 16中檔案 更新處理完成,其中如圖9中的一檔案已刪除狀態%所描 述,將原始檔案之檔案標頭(檔案標頭84)的檔案已刪除2 裴 訂
線 元62没定為真。 填補檔案 於韌體檔案系統下,可以使用各種檔案類型。每一檔案 的類型以檔案標頭的類型欄位48之值加以識別。此等不同 的檔案類型中包括一填補檔案。填補檔案之名稱來自其共 同用法之一。其可用以填補儲存媒體中跟隨其後的檔案位 置。基於種種理由有可能進行此作法,包括··固定一韌體 谷體(FV)中一檔案的位置,消耗一容體頂端檔案(於記憶體 -17 - 583586 A7
2結尾所增加的-播案’用以完整填絲體容體(FV))前 由工間u及保證對應於屬性搁位⑼之資料調正子爛位Μ 中的調正位元設定所指定之調正準則的檔案資料調正。如 ^下所述’ 一填補檔案同時可用以執行檔案更新作業,豆 中於鎖定步驟中更新-拿刃體容體内的多重檔案。 、
任何有效(非刪除或無效)檔案的正常狀態為標頭與資料 均有效。其藉由將狀態攔位51中的狀態位元設定為狀態= mnooow以指示。填補㈣與所Μ他 :2狀怎下的任何填補檔案應不具有任何寫入該資料 品或的貝米斗。本質上其為以自由空間填充的一檔案。此 裝 外’填補檔案之屬性攔位49的檔案尾端出現位元52必須清 除。此限制的斤因灸· 4 L 一 —7眾U為·右此位兀已設定,將無法從填補檔 ”重斤一 口自由空間。由於填補檔案的資料包含自由空 間,所以檔案的一擴充檢查僅簡單檢查任何非自由資料。 訂
線 )由於一填補檔案資料區域並未加以使用,所以可能的 I,希ΐ重新宣告使用此自由空間。其可藉由使用兩填補 樓案狀態位元進行。由於具有—狀態=11⑴咖⑽一填補 檔案其資料區域保證為未擾動的自由空間,所以傳統(亦 即如以上所使用)的檔案更新標示位元6 1用法將無意義。 於填補檔案中,此位元的意義為超載,指示:f亥資料區域 2非未擾動的自由空間,而可能寫入某些資料。此為重新 宣告一填補檔案中自由空間的關鍵。 參照圖10,一填補檔案内包含的自由空間可藉由執行以 下處理重新宣告。該處理於一方塊120開始,其中將填補檔 -18- 583586 A7
丨· 裝 訂
線 583586 A7 B7 五、發明説明(17 ) —- 置存在,所以將其明確解釋為一有效檔案。 使用填補檔案之檔案更新 ,除了將更新檔案寫入一填補檔案的‘‘自由,,空間而非“正 =自由空間28外,使用填補檔案自由空間的一檔案更新非 常類似以上討論的正常檔案更新處理。參照圖i !的流程 圖’其中使用一填補檔案執行一檔案更新之步驟進行如 下。該處理於-方塊13〇開始,其中將填補㈣標頭中的樓 案更新標示位元61設定為真。得一狀態”111〇〇_,指示 不保證填補檔案資料區域為未擾動的自由空間。 其次,於一方塊132中,於填補檔案資料區域(自由空 間)(其標頭後)的最低位址建立一完整的新檔案。如果新檔 案具有指定調正需求,則必須以如同以上參照圖1〇方塊 的相同方式加以處置。此新檔案必須完整寫入,包括檔案 標頭及資料。寫入此新檔案之檔案標頭的狀態位元,以指 示其狀態=1 1 1 1 1000b。由於真正為填補檔案資料區域的一 部分’所以尚未成為韌體檔案系統(FFS)的可見部分。 如果方塊1 32中建立的新檔案並未完整填充填補檔案資料 區域,則如一方塊1 34所提供,必須建立另一填補檔案,用 以填充此空間。除了新的填補檔案標頭其開始跟隨於新建 立之檔案的資料外,此檔案以如同方塊132的相同方式加以 建立。然後於一方塊1 3 6中將欲更新之原始檔案中的檔案更 新標不位元6 1設定為真。 其次於一方塊138中,將原始填補檔案中的檔案標頭無效 位元63没定為真。得一狀態=1丨〇1⑻⑽b,指示填補槽案標 -20- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 五、發明説明(18 ) 頭為無效。由於填補檔案標 — Μ ψ ΛΛ , ^ ^ 彳頭現在热效,所以填補檔案標 fFFSwt ^ ^ ^ 有效。其效果為··韌體檔案系統 (F S)广越填補標案標頭,並且尋找 區域中的另一檔牵拷 1再子用子田木貝T十 碩。由於新擋案標頭存在於此位置, 所以明確解釋為-有效檀宰 子在於此位置 ,仕丄 田木於一方塊140中,該處理完 成,其中將更新的原始檔案刪除。 多重檔案之基元更新 本=的一重要方面· ··以促成完整 如一電力故障的一異常事件之方式基元更新多^體^ 系統(FFS)檔案的能力。例 夕数初體枯案 榀宦Α Λ μ 於一更新處理期間,將新資 科寫入1體容體(FV)。如果由於 系統故障期間發生一寫力尔、.先故p早或其他 ^玍舄入故障’則韌體檔案系統(FF 留 捫不一致狀態。然而,透過使用狀態位元及完整性檢杳 :位’勒體檔案系統(FFS”貞測此等故 繼 續故障發生點的更新處理,或者 '、、、後旨5式繼 «回歸其原始狀態。“於開始更新處理前將㈣ 圖12-15顯示於一款體檀案系統中基元 具體實施例。於鎖定步驟中,-基元更新同時更 容!(FV);的多重樓案。如果於基元更新期間發生_ = ’則初體檔案系統將保有一組完整的待更韌體 樓案’或者-組完整的新更新之_棺案 = 更新樓案。將可明白:基元更新㈣^ 新版本的 中並非所有韌體檔案均須更新。 (V) 、旯新大致上,於相同韌體容體 583586
(FV)中可能執行二或更多檔案的基元更新。以下例子中, :果基7L更新二檔案,則須有一特定新檔案取代每一現存 檔案。大致上,新檔案數目將等於或大於基元更新的原始 檔案數目。於新檔案多於現存檔案之情況下,簡單將額外 的新檔案加至韌體容體(FV)當作一新檔案,而非一更新檔 案。 田 除了於此實例中,以韌體資料寫入填補檔案其資料區域 取代一單一檔案而更新多重原始檔案外,基元更新多數檔 案包含本質上類似於以上參照圖丨丨所討論之檔案更新處理 的一處理。參照圖13,假設一韌體容體160的一初始組態包 括兩檔案:X及Y,欲將其特定更新為檔案χ,及γ,。檔案X 包括一檔案標頭162及一資料區域164 ,而且檔案γ包括一檔 案標頭166及一資料區域168。設定各檔案標頭162及166的 狀態欄位5 1,使狀態=丨丨丨丨丨〇〇〇b,分別如檔案資料有效狀 態80X及80Y所示,指示:檔案χ及檔案γ分別為有效。 參照圖12的流程圖,於一方塊142中開始基元更新多數檔 案之處理,其中以如以上所討論參照圖3_5建立一樓案之方 式於直接跟隨於佔有最高位址空間(亦即:自由空間28的最 低位址)之韌體檔案系統(FFS)檔案結尾的一位元組邊界建 立填補標案。於填補彳當案建立後’將包括一填補;j;當案標 頭170及一資料區域172。理想中,填補檔案的大小應可保 留更新之檔案影像及其對應之檔案.標頭的組合大小。如 此,將實現最大記憶體利用。初始時,如圖丨3 一樓案資料 有效狀態80P所描述,填補檔案狀態將為丨丨丨丨1〇〇〇χ,指示 -22- 本紙張尺度適用中國國家標準(CNS) Α4規格(210 X 297公釐)
裝 訂
線 583586 A7 _____Β7 五、發明説明(2〇 ) 填補樓案資料為有效。 一其次,於一方塊144中,將填補檔案標頭中的更新標示位 元6 1。又疋為真。其以圖丨3及14中的一檔案更新標示狀態8 8p ^以=述。此時,於一方塊丨46中,以一順序方式(亦即: -人榀案的開始立即跟隨於最接近的寫入橡案後)將欲更新 之各檔案的一新檔案寫入填補檔案的資料區域172。其中包 括f入每一檔案的標頭及資料。一檔案的資料將包含對應 於拿刀體之更新部分的一植案影像,表示其先於更新之樓案 中儲存的原始韌體。如圖14中所述,於此作業期間,將寫 ^新榀木X及Y’,其中檔案χ,包括一檔案標頭174及一資料 區域1 76,其中寫入所更新韌體的一影像,而且檔案γ,包括 :2案標頭Π8及一資料區域180,其中寫入所更新韌體的 五〜像此B守此二檔案將以類似於以上所討論的一方式從 拿刀體樓案系統(FFS)“隱藏,,,因為填補檔案仍標示為有效。 ^於更新之檔案建立後,於一方塊148中執行一或更多更新 槽^的-選擇性資料完整性檢查。如以上所述,資料完整 性檢查將包含新寫入之樓案影像與其來源間的一逐一位元 車乂榀查一核對和比較,或者此項技藝中已知之另一類 型的槽案完整性檢查。 I:邏輯流至—方塊150 ’其中將欲更新的每一原始檔案 其=頭中的檔案更新標示位元61設定為真。如圖Μ及Η中 、田案更新掭示狀悲88χ及88γ所描述,原始檔案X及Y的每 一狀態現在=1111G_X。其次,於—方塊152中,將原始 填補樓案的樓案標頭無效位元63設定為真,如圖15中之棺 23- 本紙國國家標準(cns7I^·格(2ΐ〇χ297公釐) 583586 五、發明説明(21 ) 案標頭無效狀態182所示,現在具有—狀態= 11〇1〇〇〇〇χ。 如此令填補擋案標頭無效,促成新更新擋案(例如:檔案χι 及Υ’)成為韌體檔案系統(FFS)可見。此種可見度以以下方 式凡成。雖然填補檔案標頭無效,但仍然(透過標頭的標稱 大小)提供位置。因此,當韌體檔案系統(FFS)讀取填補檔 案標碩170時,將認知標頭無效,並且向前移動寫入填補檔 案資料區域之第一更新檔案(此例子中為檔案χ,)的檔案^ =之開始。此檔案標頭同時(透過其大小欄位5〇)包含韌體 才田案系統(FFS)用以定位韌體容體(ρν)中下一檔案其標頭之 開始的資訊。 於—方塊154中完成基元更新多重擋案,其中藉由將檔案 刪除位元62設定為真而刪除欲更新的每一原始檔案。如圖 15中之檔案刪除狀態82Χ及82Υ所示,此等檔案的狀態改變 為 lllOOOOOx 〇 前述處理確保於鎖定步驟中執行多重檔案更新,以保噔 韋刃體擋案系統(FFS)使用檔案的原始版本,或者檔案的更= 版本,因而沒有機會誤配兩種版本。於一系統之異常事件 I,可檢查各種檔案的標頭,以決定當發生系統異常時, 每-檔案為何種狀態。其提供用以促成樓案更新處理时 至停土處直到檔案更新成功完成為止的一恢復路徑。相: =先前技藝系統,由於韌體容體(FV)永遠包含一組有效的 拿刀體樓案,所以將不會阻礙實行本發明的電腦系統於一拿刀 體更新處理期間從一系統異常事件中重新啟動。 實行本發明之示範電腦系統 -24- 583586 A7
人電腦2圖:,广"兒明適合用以實施本發明的-般傳⑸ 人電200。如圖16中所描 得統也 體架糊如:將所㈣體區域;=平" 選項唯讀記憶體(_)之柄儲存裝置=裝置! …以一…平台勤體架構實行。本二=v 器。 包含工作站’膝上型電腦,及電腦伺朋 大致上如熟習此項枯获去p 貝枝六者已知,個人電腦200包 器底盤202,其中安奘一齡虚& 處王j
文裝权寒驅動204 , —硬碟驅動2〇6,J 中植入匕括-或更多微處理器與記憶體: 之適當積體電路的一母板2〇8,以洛 ^ ^ ]禾”、、員不 扪母板208,以及一電源供應(同樣未_ 不)。母板208同時包括一區域韌體儲存裝置21〇 (例如· 閃記憶體),其中儲存基本輸入/輸出系統(bi〇s)款體的遵 底部分。I 了促進經由一網路214存取從一遠端勤體儲存^ 置212所擷取的基本輸入/輸出系統(BI〇s)韌體部分,個^ 電腦200包括内建於母板2〇8中的一網路介面卡ιΐ6或者相等 電路。網路214可包含一區域網路(LAN),廣域網路 (WAN),以及/或者網際網路,而且可提供個人電腦2⑽與 遠端韌體儲存裝置2 1 2間的一有線或無線連接。 一監視器2 1 8用以顯示由個人電腦運轉之軟體程式產生而 且通常可於POST測試以及韌體載入/執行之其他方面期間顯 示的圖形及正文。一滑鼠220 (或其他指標裝置)連接至處理 益底盤2 0 2背面的一串列埠(或一匯流排瑋),並將來自滑鼠 220的信號輸送至母板208,用以控制顯示器上一游標,以 __ -25- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公爱) ;· 裝 訂
線 583586 五、發明説明(23 ) 及選擇:人電腦所執行之軟體程式於監視器218上顯示的正 文力月匕表員及圖形組件。此外,一鍵盤222輕合至母 板芬=用者輸入影響個人電腦所執行軟體程式運轉的正 文及命令。 個人電腦2 0 〇同時選接& 驅動224,其中可插入=一光碟唯讀記憶體(CD-R0M) . 插入—光碟唯讀記憶體(CD-ROM)光碟, =1光碟上的可執行檀案及資料,並將其轉移至個人 其其:更碟驅動206上的記憶體以及/或者儲存器。如果 =二輸入/輸出系統(刪)動體健存於像是一快閃記 心、Λ可重寫裝置,則可將更新之基本輸入/輸出系統 體其基底部分的機器指令儲存於一 cd-r〇m光碟 =快閃磁碟’而且由電腦處理器加以讀取及處理,以 ^ _ 省存的基本輸入/輸出系統(BIOS)韌 體。亦可經由網路214载入可更新的基本輸入/輸出系統 (BIOS)韌體。 n凡 出Γ:=2:的機器均可作為系統中的各種基本輸入/輸 出系,·充(BI〇S)。,然而,較佳者’特別為網際網路,樓案及 應用伺服器功能而設計的機器可比照實行。 及 之 用 運 從電腦系統所運轉之硬體及軟體組件的觀點,該 :··且件热法區別分別儲存於區域與遠端儲存裝置上的基本 ^入/輸出系統(則S⑼體部分。除了供測試系統完整性 =疋/驗證系統組態與其他前置作業系統(〇s)啟動處理用 基本輸入/輸出系統(則S)㈣的載人及初始執行以外, 以貫行本發明的—電腦系統將以如同使用相同組件而且 26- 本紙張尺度適用中國國家標準(CNS) A4規格_ X 297公釐了 583586 A7
裝 訂

Claims (2)

  1. 583586 申清專利範圍 L 2種基元更新平台韌體資料之一原始部分之方法,包 料=以Γ代平⑼體資料其原始部分的更新之拿刃體資 料寫入一初體儲存裝置;以及 =正勃體組態資料’以指示使用更新之_資料 取代更新之平台韌體資料的原始部分,因而於基元修正 初體組態資料前’僅有平台韋刀體資料的所有原始部分有 效’而且於基元修正韌體組態資料後,僅有所有更新之 韌體資料有效。 β又蚵之 專利範圍第旧之方法,進—步包含執行更新 轫體貪料的一完整性檢查,以驗證該更新之韌體資料 效。 3.如申請專利範圍第!項之方法’其中以令更新之韌體 料於供存取《儲存裝置上儲存之㈣資料用的一勒體 %•理系、统中不可見直到完成動體組態資料之基元修正 止的一方式將更新之韌體資料寫入韌體儲存妒置。 4·如申請專利範圍第丨項之方法,進一步包含:成於 級處理期間完全恢復欲更新之韌體資料的原始部分 響應阻礙完成該升級處理的一系統異常。 5.如申請專利範圍第i項之方法’進—步包含於升級後刪 除平台韌體的原始部分。 6·如申請專利範圍第1項之方法,其中原始的平台勤體 料及更新的勃體資料分別包含一或更多款體檐=,每 韌體檔案包括於更新處理期間修正用以追蹤該檔案一 之 有 資 為 升 以 資 S -28- 本纸張尺度適用中國國家標準(CNS) A4規格(210X297公釐)~ ------—-- A8 B8
    /、、申請專利範固 的平台韌體資料,且其中每 間用以追妒在 m 仏案標頭包括更新處理期 位元。 系“ 一目前狀態的多數狀態 u.如申請專利範圍第10項之方法,发 暫時構案的-樓案標頭而建立該暫二立用以識別 大小可保留所有更新 ^暫0讀案包括··所定之 f # F ^ 口靭體檔案的一資料區域,該 貝枓區域映射至供儲存原始 一韌舻枝六壯祖 文新之平台拿刀體槽案用的 早刃體儲存裝置上一記憶體區域。 12.如申請專利範圍第丨i項之方法 ^ ^ JL ^ ^ ^ 進一步包含改變該暫時 ..„ 〜、位70,以指示將對應於更新 該暫時檔案無效。 …案的貧料區域後, 13:二專:範圍第12項之方法’其中-檔案系統用以存 取平口轫體檔案,而且於狀態位 。丨儿7L改變前,更新韌體 檔案於該檔案系統中顯示不可見,而…尺啊之轫籐 見而且於狀態位元改變 後,於該檔案系統中變成可見。 H.如申請專利範圍第13項之方法’其中每一原始平台勤體 檔案具有與一對應之已更新平台韌體檔案共 名 稱,進一步包含: N 改變每一原始平台韋刃體檐案中的狀態位元,以 將其更新; S / 設定每-更新之平台韋刃體槽案中的狀態位元,以指示 其為有效, 曰/ 其中,當於該檔案系統中變成可g车, j見牯更新之平台檔 -30- 本紙張尺度適用中國國家標準(CNS) A4規格(210 x 297公董) 六、申請專利範圍 案其檔案標頭中的狀態位元結合原始 狀態位元同時間通知兮 豆核案中的 且更新的平台檔案有效。〃乐、、’充原始的平台檔案無效而15·如申請專利範圍第9項之方法,進一牛 平台韌體檔案組鲅f * 少匕3於基元修 〜、貝Λ以指不使用更新的 取代原始的平台韌體擋案前,執行更新之平:/的一完整性檢查,以驗證更新之韋刀體棺宰有^體檔 他如申請專職_9項之方法,進_/包=成 處理期間完全恢復欲更新的原始平α 土歸 於升 阻礙完成升級處理的-系統異V。口 案,以響17·如申請專利範2|第1G項之方法,進_步包含 ί:後’設;原始平台勒體槽案其每-標案標頭中; 怨位兀,以‘不該檔案已刪除。^種機器可讀取媒體,其中储存多數機器可執行指令 二:機:執行時’藉由執行以下作業而基元更新分 成夕數組初體碼之平台韌體資料的一原始邛分. 將=平台動體資料其原始部分的更^之刀動體資料 入一轫體儲存裝置;以及 二:::初體組態資料,以指示使用更新之韌體資才: 取代奴更新之平台動體資料的原始部分,因而於基元作 正勒體組態資料前,僅平台物體資料的所有原始部分肩 於基元修正!^組態f料後,僅所有更新的數 體資料有效。19.如申請專利範圍第18項之機器可讀取媒體,其尹執行多 正案案 應 理狀 割 寫 -31 - 本纸银尺度適用中國固家襟準(CNS) A4規格^!〇X297公釐)—
    數機器指令谁_丰Λ 以驗證芍更备V執新之韌體資料的一完整性檢查 Λ更新之韌體資料有效的執行作章。 -·如申請專利範圍第18項之機器可讀取焊: 數機器指令進一 + m 螺體,其中執仃多 全恢復更新”成處理期間該機器執行完 級‘ 資料的原始部分,以響應阻礙完成升 、、及處理的一機器異常。 开 21 ::機:可讀取媒體’其中儲存多數機器可 行時,藉由執行以下作業而基元 原始平台韌體檔案: 4夕数 建立一暫時檔案; :對:於包含多數原始平台韌體檔案其新版本的多數 其之千台拿刀體檔案的資料寫入該暫時標案;以及 平平台勃體檔案組態資訊’以指示使用更新的 口 案取代原始的平台韌體檔案,因而於一更新 .^ ^ ^ 所有原始的平台韌體檔案或 者僅所有更新的平台韌體檔案有效。
  2. 22. Ht利範圍第21項之機器可讀取媒體,其中每一平 二二案包含一檔案標頭及一資料區域,其中寫入對 =錢案平台細體資料’且其中每-樓案標頭包括更 多數狀態位元。〗+口初體棺案其一目前狀態的 23. ::請專利範圍第22項之機器可讀取媒體,其中藉由建 紅. 9 W案標頭而建立該暫時槽案包 枯·所定之大小可保留所右承立 摘有更新之平台韌體檔案的一資 -32-
    本紙張尺度適用中國 A8 B8 申清專利範圍 料區域,該資料區域映射至供儲存原始及更新之平台韌 Μ體彳田案用的一韌體儲存裝置上一記憶體區域。 •如=Μ專利範圍第23項之機器可讀取媒體,其中執行多 數機t扎令進一步執行··於將對應於更新之平台韌體檔 =的貝料寫入該暫時檔案的資料區域後,改變該暫時檔 案其檔案標頭中的-狀態位元以指示該暫時檔案A效的 作業。 … 25·如申凊專利範圍第24項之機器可讀取媒體,其中一檔案 系統用以存取平台韌體檔案,而且於狀態位元改變前, ^新之W體棺案於該樓案系統中顯示不可見,而且於狀 態位元改變後,於該檔案系統中變成可見。 26·如申請專利範圍第25項之機器可讀取媒體,#中每一原 始平台細體財具有與_對應之更新平台㈣槽案 :-名稱,且其中執行多數機器指令進一步執行以下作 以指示已 ’以指示 改&每一原始平台韌體檔案中的狀態位元, 將其更新;以及 設定每-更新之平台韋刀體標案中的狀態位元 其為有效, 其中,當於樓案系統中變成可見時,更新之平 其:案標頭中的狀態位元結合原始之平台勃體檔的 狀悲位元同時間通知該樓牵糸 一 、 且争斩^^丄 統原始的平台檔案無效而 且更新的平台檔案有效。 27.如申請專利範圍第21項之機器可讀取媒體,其中執行多 -33-
    °^586 °^586
    ==:基元修正平台㈣檔案組態資訊以指示使 更新的平台韌體檔案取代原始的平 執行:更新之平台勒體樓案的-完d 新之勤體標案有效的執行作業。以查以驗證該更 •如申請專利範圍第2 1項之機器可讀取婵 tj- ^ ^ A踩體’其中執行多 機态4曰令進一步執行促成於升級 m u, r , „ 久爬埋期間完全恢復更 之原始平台早刃體檔案以響應阻 w ^ 來疋成升級處理的一系 統異常之作举。 于 •如申!專利範圍第22項之機器可讀取媒體,纟中執行多 數機器指令進一步執行:於升級處理完成後,設定原始 平台韌體檔案其每一檔案標頭中的狀態位元,以指示該 檔案已刪除的作業。 -34- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐)
TW091121491A 2001-09-28 2002-09-19 Method for atomically updating a plurality of files TW583586B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/967,093 US7299463B2 (en) 2001-09-28 2001-09-28 Method for atomically updating a plurality of files

Publications (1)

Publication Number Publication Date
TW583586B true TW583586B (en) 2004-04-11

Family

ID=25512298

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091121491A TW583586B (en) 2001-09-28 2002-09-19 Method for atomically updating a plurality of files

Country Status (7)

Country Link
US (3) US7299463B2 (zh)
CN (1) CN1273891C (zh)
DE (1) DE10297281B4 (zh)
GB (1) GB2396938B (zh)
HK (1) HK1062726A1 (zh)
TW (1) TW583586B (zh)
WO (1) WO2003029970A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI395104B (zh) * 2008-10-24 2013-05-01 Microsoft Corp 在分散式儲存系統中資料之基元多重修改
TWI410868B (zh) * 2007-12-31 2013-10-01 Quanta Comp Inc 韌體更新系統及方法
US9996572B2 (en) 2008-10-24 2018-06-12 Microsoft Technology Licensing, Llc Partition management in a partitioned, scalable, and available structured storage

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409685B2 (en) * 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US7103641B2 (en) * 2001-06-18 2006-09-05 Intel Corporation Method and apparatus for distributing computer platform firmware across a network
US7299463B2 (en) * 2001-09-28 2007-11-20 Intel Corporation Method for atomically updating a plurality of files
US7392371B2 (en) * 2001-12-20 2008-06-24 Zimmer Vincent J Method and apparatus for using a volume top file to boot firmware modules
US7260624B2 (en) * 2002-09-20 2007-08-21 American Megatrends, Inc. Systems and methods for establishing interaction between a local computer and a remote computer
US7043664B1 (en) * 2002-10-31 2006-05-09 Microsoft Corporation Firmware recovery
US8316361B2 (en) * 2003-01-09 2012-11-20 Hewlett-Packard Development Company, L.P. Method of enabling a user to update one or more low-level resources of a computer system in a user-friendly manner
US8255361B2 (en) * 2003-01-31 2012-08-28 Oracle America, Inc. Method and system for validating differential computer system update
US7418141B2 (en) * 2003-03-31 2008-08-26 American Megatrends, Inc. Method, apparatus, and computer-readable medium for identifying character coordinates
DE10323033A1 (de) * 2003-05-20 2004-12-23 Giesecke & Devrient Gmbh Laden eines ausführbaren Programms in einen tragbaren Datenträger
US7412625B2 (en) * 2003-05-27 2008-08-12 American Megatrends, Inc. Method and system for remote software debugging
US20050010811A1 (en) * 2003-06-16 2005-01-13 Zimmer Vincent J. Method and system to support network port authentication from out-of-band firmware
US7546584B2 (en) * 2003-06-16 2009-06-09 American Megatrends, Inc. Method and system for remote software testing
US7543277B1 (en) * 2003-06-27 2009-06-02 American Megatrends, Inc. Method and system for remote software debugging
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7392420B2 (en) * 2003-09-29 2008-06-24 International Business Machines Corporation Automated error recovery of a licensed internal code update on a storage controller
JP4606009B2 (ja) * 2003-10-20 2011-01-05 三洋電機株式会社 プログラム処理装置
US7478101B1 (en) * 2003-12-23 2009-01-13 Networks Appliance, Inc. System-independent data format in a mirrored storage system environment and method for using the same
US7827258B1 (en) 2004-03-01 2010-11-02 American Megatrends, Inc. Method, system, and apparatus for communicating with a computer management device
US7966293B1 (en) * 2004-03-09 2011-06-21 Netapp, Inc. System and method for indexing a backup using persistent consistency point images
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US7519749B1 (en) 2004-08-25 2009-04-14 American Megatrends, Inc. Redirecting input and output for multiple computers
KR100698655B1 (ko) * 2005-01-04 2007-03-23 주식회사 팬택앤큐리텔 이동통신 단말기의 파일 업데이트 시스템과, efs 영역헤더 손실로 인한 치명적인 에러를 방지하는 이동통신단말기의 부팅 관리 시스템과, 이동통신 단말기의 파일업데이트 방법 및 efs 영역 헤더 손실로 인한 치명적인에러를 방지하는 이동통신 단말기의 부팅 방법
KR100683853B1 (ko) * 2005-02-04 2007-02-16 삼성전기주식회사 프리 컴파일링 장치
US8402109B2 (en) 2005-02-15 2013-03-19 Gytheion Networks Llc Wireless router remote firmware upgrade
US7904518B2 (en) 2005-02-15 2011-03-08 Gytheion Networks Llc Apparatus and method for analyzing and filtering email and for providing web related services
US7426633B2 (en) * 2005-05-12 2008-09-16 Hewlett-Packard Development Company, L.P. System and method for reflashing disk drive firmware
US20060271885A1 (en) * 2005-05-25 2006-11-30 Montana State University Automatic database entry and data format modification
US7934256B2 (en) * 2005-06-01 2011-04-26 Panasonic Corporation Electronic device, update server device, key update device
US7907531B2 (en) * 2005-06-13 2011-03-15 Qualcomm Incorporated Apparatus and methods for managing firmware verification on a wireless device
US20070061813A1 (en) * 2005-08-30 2007-03-15 Mcdata Corporation Distributed embedded software for a switch
CN1801679B (zh) * 2005-10-11 2010-08-04 华为技术有限公司 一种移动广播业务分发方法和系统
US20070169076A1 (en) * 2005-10-28 2007-07-19 Desselle Bernard D Methods and systems for updating a BIOS image
US8010843B2 (en) 2005-12-14 2011-08-30 American Megatrends, Inc. System and method for debugging a target computer using SMBus
CN100454252C (zh) * 2006-01-01 2009-01-21 中兴通讯股份有限公司 一种cpu程序下载多个fpga文件的方法
US8209676B2 (en) 2006-06-08 2012-06-26 Hewlett-Packard Development Company, L.P. Device management in a network
TWI319859B (en) * 2006-06-12 2010-01-21 Method for updating bios and apparatus thereof
US7590835B1 (en) 2006-06-30 2009-09-15 American Megatrends, Inc. Dynamically updating a computer system firmware image
US9395968B1 (en) 2006-06-30 2016-07-19 American Megatrends, Inc. Uniquely identifying and validating computer system firmware
US7797696B1 (en) 2006-06-30 2010-09-14 American Megatrends, Inc. Dynamically updating a computer system and firmware image utilizing an option read only memory (OPROM) data structure
US8752044B2 (en) 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
US8688933B2 (en) * 2006-08-31 2014-04-01 Hewlett-Packard Development Company, L.P. Firmware component modification
US7783799B1 (en) 2006-08-31 2010-08-24 American Megatrends, Inc. Remotely controllable switch and testing methods using same
US8868495B2 (en) 2007-02-21 2014-10-21 Netapp, Inc. System and method for indexing user data on storage systems
US8161149B2 (en) 2007-03-07 2012-04-17 International Business Machines Corporation Pseudo-agent
US8495157B2 (en) 2007-03-07 2013-07-23 International Business Machines Corporation Method and apparatus for distributed policy-based management and computed relevance messaging with remote attributes
US20100332640A1 (en) * 2007-03-07 2010-12-30 Dennis Sidney Goodrow Method and apparatus for unified view
ES2425577T3 (es) * 2007-03-09 2013-10-16 Otis Elevator Company Procedimiento en un sistema de transporte de personas para realizar una transferencia de datos y dispositivo y medio legible por ordenador correspondientes
KR100891390B1 (ko) * 2007-03-15 2009-04-02 주식회사 하이닉스반도체 마이크로 컨트롤러 및 업데이트 방법
US20090083725A1 (en) * 2007-09-20 2009-03-26 Zhenghong Wang Firmware upgrading method for an interface card
US8291382B2 (en) * 2008-07-22 2012-10-16 International Business Machines Corporation Maintenance assessment management
DE102008041360A1 (de) * 2008-08-20 2010-02-25 Robert Bosch Gmbh Steuergerät für ein Fahrzeug und Verfahren für eine Datenaktualisierung für ein Steuergerät für ein Fahrzeug
CN101339597B (zh) * 2008-08-28 2011-10-05 飞天诚信科技股份有限公司 一种升级读写器固件的方法、系统和设备
US8136108B2 (en) * 2008-09-03 2012-03-13 Computime, Ltd Updating firmware with multiple processors
TW201011640A (en) * 2008-09-10 2010-03-16 Asustek Comp Inc Data processing systems and methods for loading data within a non volatile memory into a memory
US8510352B2 (en) 2008-10-24 2013-08-13 Microsoft Corporation Virtualized boot block with discovery volume
US20100180027A1 (en) * 2009-01-10 2010-07-15 Barracuda Networks, Inc Controlling transmission of unauthorized unobservable content in email using policy
US8417969B2 (en) * 2009-02-19 2013-04-09 Microsoft Corporation Storage volume protection supporting legacy systems
US8073886B2 (en) * 2009-02-20 2011-12-06 Microsoft Corporation Non-privileged access to data independent of filesystem implementation
CN101925135B (zh) * 2009-06-09 2013-01-23 上海摩波彼克半导体有限公司 第三代移动通信终端rrc层对信令消息事务标识管理的方法
US8966110B2 (en) * 2009-09-14 2015-02-24 International Business Machines Corporation Dynamic bandwidth throttling
US9098730B2 (en) * 2010-01-28 2015-08-04 Bdo Usa, Llp System and method for preserving electronically stored information
US8533701B2 (en) * 2010-03-15 2013-09-10 Microsoft Corporation Virtual machine image update service
CN101924607B (zh) * 2010-08-27 2013-01-23 华为终端有限公司 基于固件空中传输技术的固件处理方法、装置及系统
US8595716B2 (en) * 2011-04-06 2013-11-26 Robert Bosch Gmbh Failsafe firmware updates
US8683457B1 (en) 2011-06-17 2014-03-25 Western Digital Technologies, Inc. Updating firmware of an electronic device by storing a version identifier in a separate header
US9411748B2 (en) 2011-12-20 2016-08-09 Intel Corporation Secure replay protected storage
WO2013095387A1 (en) 2011-12-20 2013-06-27 Intel Corporation Secure replay protected storage
US9170827B2 (en) * 2012-01-31 2015-10-27 Hewlett-Packard Development Company, L.P. Configuration file compatibility
TWI462017B (zh) * 2012-02-24 2014-11-21 Wistron Corp 伺服器部署系統及資料更新的方法
JP5939896B2 (ja) * 2012-06-12 2016-06-22 キヤノン株式会社 画像形成装置
US8972973B2 (en) * 2012-06-27 2015-03-03 Microsoft Technology Licensing, Llc Firmware update discovery and distribution
CN103677884B (zh) * 2012-09-21 2017-05-31 华为技术有限公司 flash分区表文件生成及其数据升级方法、装置
WO2014158128A1 (en) * 2013-03-25 2014-10-02 Hewlett-Packard Development Company, L.P. Extensible firmware abstraction
US9116774B2 (en) * 2013-05-14 2015-08-25 Sandisk Technologies Inc. Firmware updates for multiple product configurations
CN103309709B (zh) * 2013-06-08 2018-10-09 华为终端有限公司 一种固件升级方法、装置及通信设备
CN105700898A (zh) * 2014-11-25 2016-06-22 中兴通讯股份有限公司 一种升级文件制作方法及装置和升级文件获取方法及装置
WO2016168475A1 (en) * 2015-04-14 2016-10-20 Capital One Services, Llc Systems and methods for secure firmware validation
DE102015119802A1 (de) * 2015-11-16 2017-05-18 Weidmüller Interface GmbH & Co. KG Verfahren zum Laden eines sicheren Speicherabbilds eines Mikrocontrollers und Anordnung mit einem Mikrocontroller
CN105956035A (zh) * 2016-04-25 2016-09-21 乐视控股(北京)有限公司 一种文件存储方法及装置
US9648137B1 (en) * 2016-09-23 2017-05-09 International Business Machines Corporation Upgrading a descriptor engine for a network interface card
CN106776105B (zh) * 2016-11-15 2020-02-21 惠州Tcl移动通信有限公司 一种系统启动文件的校验及编译方法
KR102123676B1 (ko) * 2016-12-06 2020-06-29 주식회사 엘지화학 주택용 ESS에 탑재되는 직류변압기(DC-DC converter)와 배터리관리시스템(BMS) 소프트웨어의 통합관리 및 업데이트 방법
TWI668635B (zh) * 2016-12-07 2019-08-11 英業達股份有限公司 主機板及其設定更新方法
US10606826B2 (en) * 2016-12-08 2020-03-31 International Business Machines Corporation Fixing anomalies in a preserved data structure used to generate a temporary data structure during system initialization
US10452638B2 (en) 2016-12-14 2019-10-22 International Business Machines Corporation Atomically moving data elements between or within linked data structures having no support for atomic moves
CN106843942B (zh) * 2016-12-31 2021-04-30 歌尔科技有限公司 穿戴式设备的固件升级方法及穿戴式设备
TWI616819B (zh) * 2017-02-06 2018-03-01 晨星半導體股份有限公司 用於電視的軟體更新方法及相關的電路
US10877992B2 (en) 2017-11-30 2020-12-29 International Business Machines Corporation Updating a database
US10642603B2 (en) 2018-01-16 2020-05-05 Nutanix, Inc. Scheduling upgrades in distributed computing systems
US10838754B2 (en) 2018-04-27 2020-11-17 Nutanix, Inc. Virtualized systems having hardware interface services for controlling hardware
US10452386B1 (en) * 2018-07-19 2019-10-22 American Megatrends International, Llc Non-destructive update of discrete components of firmware
US10936301B2 (en) * 2019-04-12 2021-03-02 Dell Products, L.P. System and method for modular patch based firmware update
CN111159120A (zh) * 2019-12-16 2020-05-15 西门子电力自动化有限公司 电力系统处理文件的方法、装置与系统
CN111399888B (zh) * 2020-03-11 2023-06-16 北京百度网讯科技有限公司 音频处理芯片的处理方法、装置及电子设备
JP2022108624A (ja) * 2021-01-13 2022-07-26 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
CN114416133B (zh) * 2021-12-30 2024-07-02 武汉卓目科技股份有限公司 一种嵌入式文件数据更新方法及系统
US20240231790A9 (en) * 2022-10-20 2024-07-11 Dell Products L.P. Seamless update provisioning for common chipsets carrying different cpu families

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150473A (en) * 1990-01-16 1992-09-22 Dantz Development Corporation Data storage format for addressable or sequential memory media
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
GB2290890B (en) * 1994-06-29 1999-03-24 Mitsubishi Electric Corp Information processing system
US5568641A (en) 1995-01-18 1996-10-22 Hewlett-Packard Company Powerfail durable flash EEPROM upgrade
US5751282A (en) 1995-06-13 1998-05-12 Microsoft Corporation System and method for calling video on demand using an electronic programming guide
US5930504A (en) * 1996-07-22 1999-07-27 Intel Corporation Dynamic nonvolatile memory update in a computer system
US6088759A (en) * 1997-04-06 2000-07-11 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US6282709B1 (en) * 1997-11-12 2001-08-28 Philips Electronics North America Corporation Software update manager
US6167567A (en) * 1998-05-05 2000-12-26 3Com Corporation Technique for automatically updating software stored on a client computer in a networked client-server environment
US6205548B1 (en) 1998-07-31 2001-03-20 Intel Corporation Methods and apparatus for updating a nonvolatile memory
US6260156B1 (en) * 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
TW436734B (en) * 1998-12-24 2001-05-28 Destiny Technology Corp Printer firmware updating method
US6678741B1 (en) * 1999-04-09 2004-01-13 Sun Microsystems, Inc. Method and apparatus for synchronizing firmware
US6640334B1 (en) * 1999-09-27 2003-10-28 Nortel Networks Limited Method and apparatus of remotely updating firmware of a communication device
US6718407B2 (en) * 1999-09-30 2004-04-06 Intel Corporation Multiplexer selecting one of input/output data from a low pin count interface and a program information to update a firmware device from a communication interface
US6536038B1 (en) * 1999-11-29 2003-03-18 Intel Corporation Dynamic update of non-upgradeable memory
US6889340B1 (en) * 2000-10-13 2005-05-03 Phoenix Technologies Ltd. Use of extra firmware flash ROM space as a diagnostic drive
US7299463B2 (en) * 2001-09-28 2007-11-20 Intel Corporation Method for atomically updating a plurality of files

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI410868B (zh) * 2007-12-31 2013-10-01 Quanta Comp Inc 韌體更新系統及方法
TWI395104B (zh) * 2008-10-24 2013-05-01 Microsoft Corp 在分散式儲存系統中資料之基元多重修改
US9996572B2 (en) 2008-10-24 2018-06-12 Microsoft Technology Licensing, Llc Partition management in a partitioned, scalable, and available structured storage

Also Published As

Publication number Publication date
CN1273891C (zh) 2006-09-06
DE10297281T5 (de) 2004-09-16
GB0407054D0 (en) 2004-04-28
GB2396938B (en) 2007-01-03
US20110307878A1 (en) 2011-12-15
US8839226B2 (en) 2014-09-16
US20070288914A1 (en) 2007-12-13
US20030066062A1 (en) 2003-04-03
HK1062726A1 (en) 2004-11-19
GB2396938A (en) 2004-07-07
WO2003029970A2 (en) 2003-04-10
DE10297281B4 (de) 2012-02-02
WO2003029970A3 (en) 2004-03-18
US8028282B2 (en) 2011-09-27
US7299463B2 (en) 2007-11-20
CN1561483A (zh) 2005-01-05

Similar Documents

Publication Publication Date Title
TW583586B (en) Method for atomically updating a plurality of files
JP4668416B2 (ja) ブート・ブロックへの書き込みアクセスを可能にする時のブート・ブロック・コードの保護
US7203831B2 (en) System and method for performing remote BIOS updates
TWI279674B (en) Method for storing data in first and second write-once memory devices
JP4901095B2 (ja) 不揮発性ストレージにカスタム・ソフトウェア・イメージ・アップデートを適用するフェイルセーフな方法
TWI375151B (en) A controller for one type of nand flash memory for emulating another type of nand flash memory and methods for the same
EP1634170B1 (en) Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
JP3072722B2 (ja) フラッシュメモリを用いるデータ管理装置及びデータ管理方法並びにフラッシュメモリを用いる記憶媒体
US7293166B2 (en) Method of indicating a format of accessing an operating system contained on a USB memory device
US8260818B1 (en) Method, apparatus, and computer-readable medium for space-efficient storage of variables in a non-volatile computer memory
US11314523B2 (en) Master boot record (MBR)/global unique identifer (GUID) partition table (GPT) hybrid disk that includes GPT bootstrap code
TW201230057A (en) Handling errors during device bootup from a non-volatile memory
US20060149899A1 (en) Method and apparatus for ongoing block storage device management
TW479194B (en) Method and apparatus for execution of an application during computer pre-boot operation
US20100185842A1 (en) Computer system with two operating devices and control method thereof
JP3511052B2 (ja) ブータブル固定パケットを再書込み可能な光学媒体
US7428635B2 (en) Method of writing non-volatile memory that avoids corrupting the vital initialization code
EP1510924B1 (en) Apparatus and method for handling transactions with writes and reads to EEPROM or Flash memories
US7007036B2 (en) Method and apparatus for embedding configuration data
US6907506B2 (en) Security device for a mass storage
US20160041782A1 (en) Storage Device Copying of a larger system to a smaller system
US7162568B2 (en) Apparatus and method for flash ROM management
JP2002278934A (ja) セキュリティ管理装置およびセキュリティ管理方法
JP2005165557A (ja) 情報処理装置及び制御方法並びに制御プログラム
JP2004295397A (ja) コンピュータシステム、コンピュータシステムの起動方法及びそのプログラム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees