TWI224748B - A method and a device for updating firmware stored in a rewritable non-volatile memory, and a computer program product thereof - Google Patents

A method and a device for updating firmware stored in a rewritable non-volatile memory, and a computer program product thereof Download PDF

Info

Publication number
TWI224748B
TWI224748B TW092120358A TW92120358A TWI224748B TW I224748 B TWI224748 B TW I224748B TW 092120358 A TW092120358 A TW 092120358A TW 92120358 A TW92120358 A TW 92120358A TW I224748 B TWI224748 B TW I224748B
Authority
TW
Taiwan
Prior art keywords
code
computer
image
firmware
update
Prior art date
Application number
TW092120358A
Other languages
English (en)
Other versions
TW200404255A (en
Inventor
Brian Gerard Goodman
Robert Alan Klem
Timothy Keith Pierce
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of TW200404255A publication Critical patent/TW200404255A/zh
Application granted granted Critical
Publication of TWI224748B publication Critical patent/TWI224748B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

1224748 五、發明說明(1) 相關文獻 同受讓人之20〇〇年4月18日申, 0 9/5 5 1,884號中所干之楹仳芬兩/勺吴國專利申請第 儿τ尸;r不之挺供及更新冗 月乐 (redundant,seif —bootable firmware)。 可開機韌體 一、 【發明所屬之技術領域】 本發明疋關於儲存於可重複寫非 體,特別是關於更新儲存於可儲在^ I、體的韌 重複寫非揮發性記憶體的韌體。 〜像碼的可 二、 【先前技術】 ,體或健存於非揮發揮性記憶體的 碼,係運用於例如—些特殊功能或服 ^ 式 二數,相機、藥物注射系統及自動儲存產品久=且 —k入式系統的系統範例。這些系統的處理器控制 疋程度的彈性,以降低改進產品品質時的成本=^ 熱,,,崁入式系統更新系統韌體能力,可能為一種優 曰接二簡化了產品增強及維護的課題。例如,常見的增強 ^彳r二現有產品的新特性及功能。於一例子,如56K數據機 、> u丁的導入,許多數據機製造商提供現有客戶韋刃體更新。 $更新功能使現有的數據機能夠支援增加傳輸速^的新技 術。於另一例中,IBM 3584 Ultra Scalable Tape
觀 第6頁 1224748 五、發明說明(3) 斗七碼’即可更在& 狀泥下,兩者比飞可拷貝的操作碼。例如’在兩種拷貝的 -個為新。任;If為最新的更新碼’或者其令-個較另 碼。因此,更新〜固更新將作為次一級(downlevei)操作 若更新失敗,則:I成功操作系統的操作碼被保存住,假 、功地刼作碼將簡單地重新恢復任務。 理哭::拷貝或者影像’兩者皆可獨立執行。竿此卢 理為及編並不支援位置獨立碼,以防止::某些處 以上的操作碼。額外的記憶體可用以拷21:—種版本 image)至RAM或者盆^ 拷貝兩碼影像(code 新的版本位址,拿俨將^品,以備執行。同時在RAM中之 系統可能無法有然而,現有的炭入式 系統必會因拷貝記憶體ί = = ”拷貝,同時新 王土研&成本及板子空間。 【發明内容 依據本發明的一方 y 行系統及方法,用以更新儲腦程式產☆、電腦執 的韌體,可重複寫非揮 複寫非揮發性記憶體 像。 δ“體可儲存複數個拿刃體碼影 在一實施例中,童π鹏 早刀體石馬影僮1 t 町重複寫非揮發性記憒:體碼影像,位置相依碼指出 依碼指出不同於複數個 母早刃體碼影像位置 口尺新韌體碼影傻 ^ 7〜像的其他韌體碼影 位置相依碼的複數個更♦ 挪 /、有位置相依碼,可具 _ ^ t X新靭體碼影傻,# f 4 重稷寫非揮發性記憶 J P像位置相依碼指出 1224748 五、發明說明(4) 的可複寫非揮發性纪愔 影像適用於取代一儲體的位置。因此,每一更新韋刃體石馬 像。 雨仔於非揮性記憶體中的不同韌體喝^ 的複數個勒體碼;像;储存於可重複寫非揮發性記憶體中 新知體碼影像;何者要…,·同時自複數個更 代被決定要更新㈣體;像係具有位置相依碼且適合取 取,t =例中’電腦處理器在介面中表示出所做的撰 心仏供選取的更新㈣碼㈣靖 式系i另;=於==新;=像㈣供給“ 記憶體的複數個程式碼影像中,g “恥處理益自儲存於 、擇—更新韌體碼影像。 然後,電腦處理器自記憶體中 碼影像,以覆寫於可重複寫非揮=:取的一更新韌體 碼影像。 x思中被決定的韌體 在又一實施例中,複數個更新五_ 入式系統的介面上,同時電腦處理:?碼影像係提供在與 像,並直接在可重複寫非揮發性記=取更新韌體碼影 體碼影像。 思,覆寫被決定的g
第9頁 1224^48 反、發明說明(6) 偶韋刃體碼影像中,伊、小— 止標示的韌體崎影^被=:更新的韌體碼影像,以防 以像破使用作為現行操作碼。 為了更加完全了解本發明,以 明。 卜將配口圖式一起作說 四、【實施方式】 以下本發明的詳細說明將伴 體實施例,其中相同的數字 者二考f式祝明較佳具 此為本發明達到本目的“ = =件。, 達成本I明之目的,並不脫離本發的精神範_。<方式 圖1所示,例示的一處理哭 的功能及服務的一嵌入式系統?\統1 :例如提供-特別 數據機、答錄機、汽車栌制哭*人入式系統的犯例,例如 ;、數位相機醫及:碟機驅動器、磁帶驅動 西市压射糸統及用以控制週邊或 的儲存自動化產品。微處理器系統係繪示一電腦處理哭/ m、選擇性ram (隨機存取記憶體)m、 寫非 :==、裝ί特定電路101及-"〇介面1〇5。= 處理:1 02可為一現成的微處理器、訂制的處理器、離散式 邏輯等白么產口口。可重複寫非揮發性記憶體^ 4保存可執行 的韋刃體及=何非揮發性資料給處理器丨〇 2,且其可為一快閃 PR0M (唯項可程式記憶體)、電池備用隨機存取RAM及其他 現有技藝所了解的非揮發性記憶體。{/0介面i 05是某種型
娜I 第11頁
I·· 1224748 五、發明說明(7) 式=通訊介面’其允許電腦處理器m與外界溝通。範例中 了此f含有串列介面、小電腦系統介面(SCSI)、乙太網 2,通運介面等。一韌體更新影像經由Γ/0介面10 衣Λ特定電路101提供—附加硬體,以使嵌入式系統 制,汽車於制Λ1 - Λ 煞車防鎖死驅動器系統的控 ϋ # 寬調變(pwm)控制,類比數位 :換(::),數位類比轉換(dac),液晶 寻。圖1令的任何亓株环紝人 J ^^ 發性記憶體104,RAM103,^1/()介如’非揮 的元件。 及丨/0"面1〇5可含有處理器102 如 可能是 題。在 是需要 續執行 供一非 域或記 開儲存 貝的操 最新更 一層的 被儲存 入式系 如此簡 系統例 使更新 作程度 體,其 用以儲 碼。不 ’在兩 者其中 此’更 更新失 統提供可 化了產品 子裡,提 步驟失敗 。關於美 係具有複 存至少兩 須更新開 組拷貝的 之 較新 新前在系 敗時,順 上所述,崁 一種優勢。 一些崁入式 的,使得即 更新前的運 揮發性記憶 憶體區域, 的開機程式 作碼。例如 新版本,$ 才米作碼。因 起來,且當 更新系統韌 功能提升和 供故障安全 ,崁入式系 國專利申請 數個分開的 組操作碼及 機碼,即可 狀況下,兩 。任一新的 統上順利運 利運作的操 體的能力, 維修的課 的韌體更新 統仍可以繼 案’ 844號提 可消除的區 與操作碼分 更新任何拷 者皆可能是 更新將為次 作的操作碼 作碼可重新 m\ 獅: 第12頁 1224748
恢復運作。 圖2為圖1中的非揮發性 發性記憶體的 x 體1 0 4的内容的例子。非揮 乃足的一邵分县彳法;^ 對簡易的開機程式。.二開機區201 ’在此為寫入一相 含在圖1的電腦處理哭1〇2 3 =體碼影像20 2,203係緣示包 韌體碼影像,者阪l ^ ~利用的韌體。雖然只繪出兩個 芦、示上可有數個或更多的韋刃體影像。 處理器中=喝兩:皆可獨立執行。在某些 在任一相同之相對的位址上的任;、具有相對位址。因此’ 而,部分處理器或 、,任何一拷貝皆可執行。然 行超過一個以上的泸.1亚不支援位置獨位碼,以防止執 以拷貝兩碼影像之^ ^ 如上所述,額外的記憶體可用 行,同時勒體= 其他記憶體區域,以備執 的崁入式系統並盤 ^中的新的拷貝碼。但是現存 系統因為拷貝ti 、、=憶體作為保存碼影像用,而新 传貝…’必會產生額外的成本和板子空間。 在圖2中,記憶體位置址 像202及一第二碼影像2〇3。新^旦厂^,一第一碼影 始在16進制位址00_。。,同:象:9編繹並 制位址。。。。2_,則更新碼影像將正常 =〇2起始在16進 同-更新碼影像是寫入至第二碼影像2。3,執而,若 行’因為實際上第二碼影像2〇3起始在16進制=順利執
1224748 五、發明說明(ίο) 圖4為依據本發明,以似 新韌體碼影像的方法。电…腦^執行於非揮發性記憶體t更 圖2開機區201的電腦可二取^明的電腦程式產品包含有 碼影像202及203的電腦‘續‘二,e或者現行執行的f刀體 像302及3〇3的電腦可續、粒式碼,或者是更新韌體影 ”,以及於圖1的‘面及來自一磁 入在圖3的一或多個進入 ;;右電恥可項程式碼是戾 拷貝電腦可讀程式碼μ 影像302及303中,則 自記憶體位置執行被編譯圖i:、__,同時可 取,同時決定是ί選::旦弟::應的更新㈣瑪影像中讀 序可由執行選;二象;影像。、其餘的程 取的碼影像的電腦可讀程式碼執行〃或者由被選 至另例:品電腦可讀程式竭可拷貝 β R 4在電可讀程式碼來自更新韌體影像302 及3〇3的情況下,其必須拷貝以備執行。 U象302 作人圖4中的步驟4〇1。這更新程序可由操 又人貝手動起始,或者可由主電腦、崁入$李 統$灸理器等的自動韌體更新來起始。 ^ ” 第15頁 1224748 五、發明說明(11) 在圖4的步驟4 Ο ς ^ 义^ ^ 中,圖1的電腦處理器1 0 2檢杳w i十 非揮發性記憶體1 〇4的仏7 ^ ^ ^ , 以切笪以決疋 勺任何韋刃體瑪影像如圖2的揀^ 20 3是否有損壞或標示A 了 ^ 、 的碼影像20 2或 F馮不使用(noη-use)。於五 中有一個損壞或標示為不使用,在圖4的步碼影像 器決定損壞的瑪影像係 更新碼 =中,處理 舄的碼影像。 若步驟4 0 5指出备, . t …、任何標示的或損壞的韋 步驟411中’決定是否有任何-韋刃體碼影像與;碼影像’於 影像比較,係為最早更新的。在此,該詞”最:>韌體碼 指與至少一韌體碼影像比較,決定是否一 ‘ _更新的”是 韌體 碼影像為次 級的(d〇WnleVel)或者較不新近的。保存現 螞影像且不可被覆寫是非常重要的,即使其最'知作韌 f新的韌體碼影偾I . . . ^ W售者。1 體 平更新的韋刃體碼影像可藉由較低的韋刃體碼影像硬舊者 的曰期/時間標誌或者其他指標來標示。若邀—較不近 象你,丨_ 土* .甘士 — A — Ur ^ 景Μ象比較,其中一韌體碼影像是最早更新的, 行的操作韌體,在步驟4 1 2,處理器決定最早且不是現 ^ ^ ^ ε^ &新的— 早刃體碼 將為被一更新碼影像覆寫的碼影像 碼影像 若步驟405指出無任何標示的或損壞的韌髀 杳驟4 11指出無任何一韌體碼影像在與至少一其“、、影像,且 像比較後疋最早更新的,則於步驟4丨5中作出〜$靭體石馬影 (arbitrary decision),韌體碼影像由一更新&意決定 寫。依據步驟407、412或415的決定,在步驟41^馬影像覆 嗖器決定將被覆寫的碼影像的位置。將被覆寫办,電腦處 奶像的仇置
第16頁 1224748 五 發明說明 ^ ---- 位址、補償、或者其他表示何位 可包含一任意影像數字 置將被覆寫的指示。 然後,在步驟420,雷膦♦挪的 需要哪-個韌體更新影像护' 為'選取亚可回報韌體更新 有位置相依碼,係適合ί;^::。選取的更新碼影像將具 碼影像。於圖1中,電腦户理、„。疋將要被覆寫及更新的韌體 I月自處理态1 0 2可經由更新雷聪&左% 來啟動或者由其可為已更新的山』了由更新電知的查询 102可經由介面105回報,選^坎^式糸統的要求。處理器 ^ 6^7 ^ iWn * ^ ^ k取,或者若經由介面1 0 5接收外 體影像:則處理器將選取需要的更新碼 覆寫的碼公傻θ二圖3所述I韌體碼影像20 3決定為將被 像,則更新動體碼影像3〇3將被選取,其係具有 適5取代決定將被更新的韌體碼影像的位置相依碼。
…於/田驟4〇3 ’更新系統或操作人員為選取程序準備多個 圖可用的更新韌體影像3〇2,30 3。如上所述,每個韌體 2 2衫像係編繹以從不同的記憶體位址執行。更新動體碼2 'V 4可起在圖1的I / 〇介面1 0 5供給,同時可儲存於記憶 體,如RAM103,可依序提供且選取所需的影像出現於1/()介 面1 〇 5或者所需的韌體影像可由外部要求或者處理器丨〇 2 的回應所提供,或者依據處理器1 0 2的要求所供給。 —於步驟4 2 3中,接收選取的更新韌體碼影像,且處理器 1 〇 2將其寫入非揮發性記憶體中,同時覆寫要被更新的韌體
1224748
碼影像f取的更新初體碼影像可在圖丨之丨/ 〇介面丨〇 5接 收’且於舄入非揮U生記憶體i 0 4前儲存在記憶體,如 RAM1 〇3,、或2其可在接收時直接寫至非揮發性記憶體中。 在任;1大;兄 $新韌體碼影像可在接收時作緩衝。 選擇性檢查用以決定韌體更新 敗,在步驟425可選擇性執行錯 完成韌體更新而結束該程序。 於圖4的步驟4 2 4中,_ 是否成功地完成。若更新失 誤回復程序,及/或者可不 然而,若韌體更新成功地完成,處理器移至選擇性 驟430。在步驟430中,標示一或多個碼影像尚未更新(如 先丽執行或正在執行的韌體碼影像),以防系統1〇〇下一次 開機或者重設時被使用。這可為一種使得辨識符重設的作 用’無效核對和(invalid checksum),無效簽名攔 (invalid signature field)等。此步驟是選擇性的,因為 對於只支援單方向勃體更新的炭入式系統係可為非必要… 的。例如,當開機或重設後,選取圖2碼影像2〇2,2〇3哪一 個執行時,若沒有任何一碼影像是損壞的,則可選取較高 韋刃體版本的碼影像。圖4的步驟430防止現行碼影像在 韌體之後被選取。韌體更新程序在步驟437結束,在此崁入 式系統可重設以執行新的更新碼影像。 人 參考圖5,係繪示圖1的崁入式系統1 〇 〇的重設及開機後 的碼影像選取程序。如圖2所示,如相關美國專利申請,8 4 4
1224748 五、發明說明(14) ------- 號討論,開機區20 1内的倉刃辦9 & < ^ ^ 7勒體是負責圖5的步驟。在圖5中 只%出兩個韌體碼影像,伯 的拿刃體影像。 但是再次強調’可有數個或更多 開機或重設發生於步_ = 囝1的笙 .^ 、/私1 2〇1。在步驟50 2,檢查以決定 :符;:脰碼影像202是否標示或損壞,此可為-個辨 ‘第二:測试,CRC測試,有效簽名攔檢查等的檢杳。 Ϊ2的"損壞’則程序移至圖5的步糊3,在此選—取 第_碼==:並二。乂 選擇ϋ τ右弟一碼景^像不是完好的,則 復程序或錯誤回報。再者,若心 ,馬广像,步驟503可為步驟502的重 』 取另一個碼影像執行。 狂汁肝㈢遠
I
第19頁 1 ^ ^430 Ϊ ί ^ ^ π ;: " - ^ ^ ^ « 2 504。於牛驟不 I 則程序移至圖2的步驟 損壞。再次說明,其可能為一^;=〇3是否 馬影像被標示或損壞,則移至圖5的步驟“ /專。若第 ^〜的第一碼影像2〇2被選取並執行。若圖控制,在此 〜碼影像未被標示或損壞,則程序I 、步驟5 0 5決定 τ務至步驟5〇6。 在步驟2〇6,進行檢查以決定哪一 。這可由較高的韋刃體版本、最近日a * a碼影像為最近 ά間標諸,或者 1224748 五、發明說明(15) 其他指示標示出來。在此範例中,若圖2的第一碼影像2 0 2 是較第二碼影像2 0 3為新,則程序移至圖5的步驟5 0 7,在此 第一影像碼被選取並執行。然而,若步驟50 6決定圖2的第 一碼影像20 2不較第二碼影像2 0 3還新,則移至圖5的步驟 5 0 8,在此第二影像碼被選取並執行。此外,若在圖4的步 驟40 3,次一層的碼影像被標示,則可省略圖5的步驟5 04、 5 0 6、50 7及5 0 8。在此狀況,在步驟5 0 2得到n S(NO)n的回 應將程序導引至步驟5 0 5。這可能發生是因為在圖4步驟430 中,總會有一個碼影像被標示或損壞。 熟此技藝者可知道電腦處理器及非揮發性儲存系統的 其他安排,以及圖4及5中步驟的其他安排。 雖然本發明較佳的實施例已經詳細敘述,但任何由熟 悉此技藝者所作的修改或調整並未因此而避開本發明以下 的專利範圍的範疇。
第20頁

Claims (1)

  1. i224748 電腦程式產品,用於一可程式電腦,該可 〖讀枣剎範圍 種 程式電腦 可重複寫 體可儲存 碼,包 於該可重 者需要更 更新韌體 被決定要 丄· , ,%巧筠,移 真有崁入的電腦可讀程式碼,用以更新儲存於一 #揮發性記憶體的韌體,該可重複寫非發性記憶 複數個韌體碼影像,該韌體碼影像具有位置相依 含· 電腦可讀程式碼,使一電腦處理器決定儲存 旅寫痒揮發性記憶體中的複數個韌體碼影ί^ 新;及 ,電躺可讀程式碼,使一電腦處理器自複數個 瑀影像選取其一,係具有位置相依碼適合取代該 更新的韋刃體碼影像。 2.如申請專利範圍第1項所述之電腦程式產品,i中該 腦處理器,取該t新韋刃體碼影像的電腦可讀程式碼,使一電 電腦處理杰在一介面表示上述的選取。 3腦Ϊ I ΐ ί利範圍第1項所述之電腦程式產品,其中該使電 恥處理益選取該更新韌體碼影 使電 電腦處理器自儲存於記憶體 J二二二^ 4,、,使一 取該-更新韋刀體碼影像。體的復數個更新韋刃體碼影像中選 ^如申請專利範圍第3項所 電腦可讀程式碼,使一處 電:私式產。口 ’進-步包含 的-更新物體影像碼,;】:=憶體中,拷貝該選取 设寫在该可重複寫非揮發性記 1224748 崎影像 六、申請專利範圍 憶體的該被決定的韌 5 ·如申請專利範圍第玉工 腦處理器選取該更 員所述之電腦程式, 電腦處理器自於一介:體螞影像的電腦可讀其中5亥使電 選取該-更新勃體碼=供的複數個更新㈣像;: 6^如申請專利範圍第1項 、 。亥可重複寫非發性記憶俨之/私式產品,其中儲存於 含現行的操作碼,且該^ ^二該複數個韌體碼影像包 電腦可讀程式巧,Γ :式產品進-步包含: 新莉體碼影像是否成功地儲存於该可;士 〇该選取的一更 體中二覆寫該被決定的韋刀體碼影像;J寫非揮發性記憶 巧非ί=I讀程式碼’使一電腦處理器自儲存於該可重複 ^非揮务性記憶體的該複數個㈣碼影像中 = 為現行該操作:; “的初體碼影像被使用作 Iΐ t請專利範圍第1項所述之電腦程式產品,其中該電腦 機=^式碼是炭入在該可重複寫非揮發性記憶體中的一開 ^如申請專利範圍第】項所述之電腦程式產品,其中儲存於 孩非發性記憶體的至少一該複數個韌體碼影像包含操作 第23頁 1224748 六、申請專利範圍 碼’且該電腦可讀程式碼是崁入在現 像。 j钟作的该韌體碼影 9 ·如申請專利範圍第1項所述之電腦程。 可讀葙彳踩η山 ; 、座口口,其中該電腦 了續私式碼疋坎入在至少一該更新韌體碼影像中。 1 〇 · —種電腦程式產品 具有崁入的電腦可讀程 非揮發性記憶體的韌體 複數個明體碼影像,盆 的至少一該複數個韌體 電腦可讀程式碼, 複寫非揮發性記憶體中 新; 電腦可讀程式碼, 代該被決定要更新的韋刃 電腦可讀程式碼, 影像是否成功地儲存於 覆寫該決定的韌體碼影 電腦可讀程式碼, 寫非揮發性記憶體的該 未更新韌體碼影像,以 為一現行操作的該勒體 ,用於一可程式電鹏兮 电%,该可程式電腦 式碼,用以更新儲存於一可重 ,該可重複寫非發枓#卜立 ”” P 乂性圮憶體可儲存 中儲存於該可重複耷韭 饭旦/你4人 设寫非發性記憶體 碼衫像包含現行操作碼,包 使一電腦處理器決定 σ口成疋儲存於該可重 的複數個韌體碼影傻γ i 心像’何者需要更 使一電腦處理哭以 體碼影像;更新動體碼取 使一電腦處理哭決 哕1 i # π 夫该更新韌體碼 口茨勺重稷寫非揎恭 像;及 俾^性記憶體中,以 使一電腦處理器自儲 複數個韋刃體碼影像中,:该 碼影像。初體碼影像被使用作
    第24頁
TW092120358A 2002-09-13 2003-07-25 A method and a device for updating firmware stored in a rewritable non-volatile memory, and a computer program product thereof TWI224748B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/242,750 US7089547B2 (en) 2002-09-13 2002-09-13 Firmware updating

Publications (2)

Publication Number Publication Date
TW200404255A TW200404255A (en) 2004-03-16
TWI224748B true TWI224748B (en) 2004-12-01

Family

ID=31991474

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092120358A TWI224748B (en) 2002-09-13 2003-07-25 A method and a device for updating firmware stored in a rewritable non-volatile memory, and a computer program product thereof

Country Status (3)

Country Link
US (1) US7089547B2 (zh)
CN (1) CN1282078C (zh)
TW (1) TWI224748B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI463316B (zh) * 2011-07-01 2014-12-01 Apple Inc 從一主機啟動一記憶體器件之系統與方法以及記憶體器件
TWI476683B (zh) * 2004-12-29 2015-03-11 Kinglite Holdings Inc 保全韌體之更新
US8996784B2 (en) 2006-03-09 2015-03-31 Mediatek Inc. Command controller, prefetch buffer and methods for accessing a serial flash in an embedded system
TWI569140B (zh) * 2011-12-19 2017-02-01 桑迪士克科技有限責任公司 用於執行變數快閃耗損平均之系統與方法及儲存裝置

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7984434B1 (en) * 2003-05-21 2011-07-19 Altera Corporation Nondestructive patching mechanism
US6996673B2 (en) * 2003-08-21 2006-02-07 International Business Machines Corporation Method and apparatus for managing inventory and door status during firmware update of an automated data storage library
TWI224729B (en) * 2003-12-15 2004-12-01 Mediatek Inc Method for determining program code
US7546596B2 (en) * 2004-03-29 2009-06-09 International Business Machines Corporation Non-disruptive method, system and program product for overlaying a first software module with a second software module
US20050235076A1 (en) * 2004-04-14 2005-10-20 Winarski Daniel J Targeted communications for microcode updates using dedicated LUNs
CN100345115C (zh) * 2004-07-23 2007-10-24 芯邦科技(深圳)有限公司 一种具有兼容配置功能的存储控制芯片
US7827544B2 (en) * 2004-11-18 2010-11-02 International Business Machines Corporation Updating elements in a data storage facility using a predefined state machine, with parallel activation
US7747573B2 (en) * 2004-11-18 2010-06-29 International Business Machines Corporation Updating elements in a data storage facility using a predefined state machine, with serial activation
US8347285B2 (en) * 2004-12-16 2013-01-01 Intel Corporation Embedded agent for self-healing software
US7516315B2 (en) 2005-03-18 2009-04-07 Research In Motion Ltd. Electronic device having an alterable configuration and methods of manufacturing and configuring the same
EP1703383A1 (en) * 2005-03-18 2006-09-20 Research In Motion Limited Electronic device having an alterable configuration and methods of manufacturing and configuring the device
CN100371908C (zh) * 2005-05-10 2008-02-27 展讯通信(上海)有限公司 一种嵌入式系统中rom代码的修改方法
CN100371909C (zh) * 2005-05-10 2008-02-27 展讯通信(上海)有限公司 嵌入式系统中rom代码的修改方法
US7426633B2 (en) * 2005-05-12 2008-09-16 Hewlett-Packard Development Company, L.P. System and method for reflashing disk drive firmware
US20090129593A1 (en) * 2005-05-30 2009-05-21 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and method for operating the same
US8037474B2 (en) * 2005-09-27 2011-10-11 Sony Computer Entertainment Inc. Task manager with stored task definition having pointer to a memory address containing required code data related to the task for execution
US7522168B2 (en) * 2005-09-27 2009-04-21 Sony Computer Entertainment Inc. Cell processor task and data management
US7734827B2 (en) * 2005-09-27 2010-06-08 Sony Computer Entertainment, Inc. Operation of cell processors
US8141076B2 (en) * 2005-09-27 2012-03-20 Sony Computer Entertainment Inc. Cell processor methods and apparatus
US7506123B1 (en) 2005-09-27 2009-03-17 Sony Computer Entertainment Inc. Method and system for performing memory copy function on a cell processor
US8316220B2 (en) * 2005-09-27 2012-11-20 Sony Computer Entertainment Inc. Operating processors over a network
US7975269B2 (en) * 2005-09-27 2011-07-05 Sony Computer Entertainment Inc. Parallel processor methods and apparatus
US7820010B2 (en) * 2005-12-15 2010-10-26 Kimberly-Clark Worldwide, Inc. Treated tissue products having increased strength
US8595747B2 (en) * 2005-12-29 2013-11-26 Sony Computer Entertainment Inc. Efficient task scheduling by assigning fixed registers to scheduler
US20070220335A1 (en) * 2006-02-28 2007-09-20 Gollub Marc A Hardware function isolating during slow mode initial program loading
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
US7590835B1 (en) 2006-06-30 2009-09-15 American Megatrends, Inc. Dynamically updating a computer system firmware image
US8261133B1 (en) * 2006-08-04 2012-09-04 Oracle America, Inc. Protection and recovery of non-redundant information stored in a memory
US8776037B2 (en) * 2007-01-04 2014-07-08 International Business Machines Corporation Apparatus and method to update multiple devices disposed in a computing system
US8429643B2 (en) * 2007-09-05 2013-04-23 Microsoft Corporation Secure upgrade of firmware update in constrained memory
US20090083725A1 (en) * 2007-09-20 2009-03-26 Zhenghong Wang Firmware upgrading method for an interface card
US7895428B2 (en) * 2007-09-28 2011-02-22 International Business Machines Corporation Applying firmware updates to servers in a data center
TWI393939B (zh) * 2007-10-02 2013-04-21 Top Victory Invest Ltd 液晶顯示設備及控制該液晶顯示設備運作的方法
US8245217B2 (en) * 2007-10-12 2012-08-14 Microsoft Corporation Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine
US20090271780A1 (en) * 2008-04-24 2009-10-29 Moschip Semiconductor Technology Limited Automatic complete firmware upgrade
US20090292941A1 (en) * 2008-05-22 2009-11-26 Nec Laboratories America, Inc. Proof-guided error diagnosis (ped) by triangulation of program error causes
CN101339597B (zh) * 2008-08-28 2011-10-05 飞天诚信科技股份有限公司 一种升级读写器固件的方法、系统和设备
JP5261113B2 (ja) * 2008-09-29 2013-08-14 キヤノン株式会社 システム、サーバ、画像形成装置、制御方法及びプログラム
KR20100070899A (ko) * 2008-12-18 2010-06-28 한국전자통신연구원 가상 파티션 기법을 이용한 노드 갱신 시스템 및 그 제어방법
US8623494B2 (en) 2008-12-29 2014-01-07 Otter Products, Llc Protective cushion cover for an electronic device
EP2382538A4 (en) * 2009-01-29 2012-06-06 Hewlett Packard Development Co LOADING A PLURALITY OF APPLICATION BOXES ON A BLADE SERVER
US9104521B2 (en) * 2009-03-16 2015-08-11 Tyco Electronics Subsea Communications Llc System and method for remote device application upgrades
US8965458B2 (en) 2009-08-21 2015-02-24 Otter Products, Llc Protective cushion cover for an electronic device
US20110099556A1 (en) * 2009-10-22 2011-04-28 International Business Machines Corporation Updating system for a microcontroller and associated methods
US9025317B2 (en) 2010-03-17 2015-05-05 Otter Products, Llc Multi-material protective case for sliding/articulating/rotating handheld electronic devices
CN102339227A (zh) * 2010-07-28 2012-02-01 环旭电子股份有限公司 多固件嵌入式系统及其固件更新方法
US9549598B2 (en) 2010-10-12 2017-01-24 Treefrog Developments, Inc. Housing for encasing an electronic device
CA2814206C (en) 2010-10-12 2018-09-18 Gary Rayner Housing for encasing an object
US8707019B2 (en) 2011-07-02 2014-04-22 Intel Corporation Component update using management engine
TWI448966B (zh) * 2011-07-04 2014-08-11 Realtek Semiconductor Corp 用於具有內建網路單元之嵌入式系統裝置的網路單元置換方法以及嵌入式系統裝置
CN102426529A (zh) * 2011-10-26 2012-04-25 中兴通讯股份有限公司 固件更新的方法、装置及系统
US9241551B2 (en) 2012-06-13 2016-01-26 Otter Products, Llc Protective case with compartment
US9092300B2 (en) 2013-04-18 2015-07-28 Ottr Products, Llc Peripheral device and method for updating firmware thereof
US9220328B2 (en) 2013-05-18 2015-12-29 Otter Products, Llc Waterproof protective case for an electronic device
WO2015016865A1 (en) * 2013-07-31 2015-02-05 Hewlett-Packard Development Company, L.P. Generating a second code from a first code
US9300078B2 (en) 2013-08-23 2016-03-29 Otter Products, Llc Waterproof housing for mobile electronic device and waterproof adapter for accessory device
CN104699410B (zh) * 2013-12-04 2019-08-27 联想(北京)有限公司 一种信息处理方法及电子设备
CN105225204B (zh) * 2014-06-26 2018-04-13 优视科技有限公司 代码定位方法及装置
KR102261815B1 (ko) * 2014-10-30 2021-06-07 삼성전자주식회사 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
DE102014116321A1 (de) * 2014-11-10 2016-05-12 Harting Electric Gmbh & Co. Kg Update einer Firmware
US9577697B2 (en) 2015-05-27 2017-02-21 Otter Products, Llc Protective case with stylus access feature
US9857975B2 (en) 2015-06-26 2018-01-02 International Business Machines Corporation Non-volatile memory drive partitions within microcontrollers
US9960521B2 (en) 2016-02-24 2018-05-01 Otter Products, Llc Connector for fluidly sealing an aperture of a protective case
US10860541B2 (en) * 2016-04-11 2020-12-08 Johnson Controls Fire Protection LP Fire detection system with distributed file system
TWI602124B (zh) * 2017-01-20 2017-10-11 神雲科技股份有限公司 用於風扇轉速控制的基板管理控制器韌體更新方法
CN110192179A (zh) * 2017-01-20 2019-08-30 惠普发展公司,有限责任合伙企业 更新固件
WO2018138789A1 (ja) * 2017-01-25 2018-08-02 三菱電機株式会社 組み込み装置及びファームウェア更新方法
JP2018120422A (ja) * 2017-01-25 2018-08-02 ルネサスエレクトロニクス株式会社 車載通信システム、ドメインマスタ、及びファームウェア更新方法
US10394542B1 (en) * 2018-04-16 2019-08-27 Infineon Technologies Ag Low-power device recovery using a backup firmware image
CN108595199A (zh) * 2018-04-19 2018-09-28 济南浪潮高新科技投资发展有限公司 一种一键升级嵌入式系统固件的方法
US10963592B2 (en) 2019-02-05 2021-03-30 Western Digital Technologies, Inc. Method to unlock a secure digital memory device locked in a secure digital operational mode
US11232210B2 (en) 2019-03-26 2022-01-25 Western Digital Technologies, Inc. Secure firmware booting
US10997297B1 (en) 2019-12-06 2021-05-04 Western Digital Technologies, Inc. Validating firmware for data storage devices
KR20210079601A (ko) * 2019-12-20 2021-06-30 주식회사 실리콘웍스 펌웨어를 업데이트하는 터치 시스템 및 방법
US20210389937A1 (en) * 2020-06-12 2021-12-16 Western Digital Technologies, Inc. Systems And Methods For Fixing Incompatibilities In Field Firmware Updates
KR20220005852A (ko) * 2020-07-07 2022-01-14 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
US20220197746A1 (en) * 2020-12-18 2022-06-23 Advanced Micro Devices, Inc. Combination bios with a/b recovery
EP4075266A1 (de) * 2021-04-12 2022-10-19 Elektrobit Automotive GmbH Verfahren, computerprogramm und vorrichtung zum durchführen eines bootvorgangs eines systems

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878256A (en) * 1991-10-16 1999-03-02 International Business Machine Corp. Method and apparatus for providing updated firmware in a data processing system
US6357021B1 (en) * 1999-04-14 2002-03-12 Mitsumi Electric Co., Ltd. Method and apparatus for updating firmware
US6754828B1 (en) * 1999-07-13 2004-06-22 Intel Corporation Algorithm for non-volatile memory updates
US6708231B1 (en) * 1999-08-12 2004-03-16 Mitsumi Electric Co., Ltd. Method and system for performing a peripheral firmware update
US7055148B2 (en) * 2000-12-07 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for updating firmware
JP2003025688A (ja) * 2001-07-12 2003-01-29 Fujitsu Ltd プリンタのファームウエアインストール方法、プリンタ及びプリンタシステム
US20030074657A1 (en) * 2001-10-12 2003-04-17 Bramley Richard A. Limited time evaluation system for firmware
US20040030877A1 (en) * 2002-08-06 2004-02-12 Aleksandr Frid Using system BIOS to update embedded controller firmware

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI476683B (zh) * 2004-12-29 2015-03-11 Kinglite Holdings Inc 保全韌體之更新
US8996784B2 (en) 2006-03-09 2015-03-31 Mediatek Inc. Command controller, prefetch buffer and methods for accessing a serial flash in an embedded system
TWI463316B (zh) * 2011-07-01 2014-12-01 Apple Inc 從一主機啟動一記憶體器件之系統與方法以及記憶體器件
TWI569140B (zh) * 2011-12-19 2017-02-01 桑迪士克科技有限責任公司 用於執行變數快閃耗損平均之系統與方法及儲存裝置

Also Published As

Publication number Publication date
CN1282078C (zh) 2006-10-25
CN1495610A (zh) 2004-05-12
TW200404255A (en) 2004-03-16
US20040054883A1 (en) 2004-03-18
US7089547B2 (en) 2006-08-08

Similar Documents

Publication Publication Date Title
TWI224748B (en) A method and a device for updating firmware stored in a rewritable non-volatile memory, and a computer program product thereof
US8166285B2 (en) Method and system for booting and automatically updating software, and recovering from update error, and computer readable recording medium storing method
JP5114932B2 (ja) 文書処理装置及び文書処理プログラム
US8863112B2 (en) Information processing apparatus and controlling method thereof
JP5224800B2 (ja) 情報処理装置およびデータ復旧方法
JP6157811B2 (ja) ブート前データ検証のための方法及びシステム
US20180131835A1 (en) Printing apparatus, printing apparatus control method, and storage medium
CN102224492A (zh) 数据维护系统
CN110032502B (zh) 一种异常处理的方法、装置及电子设备
US20180246904A1 (en) Distributed code repository with limited synchronization locking
US8245226B2 (en) Offline migration from prior operating system installation
JPH11282687A (ja) プログラム自動改版方法
JP2011238229A (ja) 正確なフォントのアクティブ化
JP5943753B2 (ja) 仮想マシン管理システム、仮想マシン管理方法およびプログラム
JP5525740B2 (ja) 仮想アプライアンスサーバ管理方法及びシステム
JP2005316715A (ja) 文書管理システムおよび方法およびプログラム
US10007415B2 (en) Document management program with drag and drop operations for processing content
WO2018150820A1 (ja) 情報処理装置
JP5526824B2 (ja) ストレージシステム
US20150205697A1 (en) Software development apparatus and method
US7720816B2 (en) System and method for managing log information
US11835937B2 (en) Non-transitory computer readable medium storing data distribution program, server apparatus, terminal apparatus, and data distribution system
JP6467298B2 (ja) サーバ運用作業履歴管理装置、システム、方法、およびプログラム
JP2006344022A (ja) 機器及びプログラム起動方法
JPH11120054A (ja) 電子文書管理装置および電子文書管理方法並びに電子文書管理プログラムを記録した記録媒体

Legal Events

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