[發(fā)明專利]用于更新固件的方法以及固件更新裝置無效
| 申請?zhí)枺?/td> | 200810210416.0 | 申請日: | 2008-08-15 |
| 公開(公告)號: | CN101398765A | 公開(公告)日: | 2009-04-01 |
| 發(fā)明(設計)人: | 蕭榕里;陳英珠;莊志良 | 申請(專利權)人: | 聯發(fā)科技股份有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 北京三友知識產權代理有限公司 | 代理人: | 任默聞 |
| 地址: | 臺灣省新竹*** | 國省代碼: | 中國臺灣;71 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 更新 方法 以及 裝置 | ||
技術領域
本發(fā)明是關于固件(firmware),特別是關于用于更新儲存于存儲器中的固件的方法及固件更新裝置。
背景技術
存儲器(例如,非易失性計算機存儲器)可以被電擦除(erase)以及重新編程(reprogram)。存儲器技術最初被用于記憶卡以及通用串行總線(Universal?SerialBus,USB)驅動器中,例如,大姆指驅動器(thumb?drive),手持驅動器,以及記憶棒(memory?stick)。因為存儲器的價格遠低于電可擦除可編程只讀存儲器(EEPROM)的價格,在需要大量非易失、固態(tài)儲存的地方,存儲器技術是一項應用很廣泛的技術。
具有控制器的電子裝置通常包括儲存固件的存儲器,其中,固件可以操作控制器。當修改電子裝置使其具有新功能時,必須更新電子裝置中儲存于存儲器中的固件。電子裝置所需的存儲器容量將非常復雜地增加。固件越大,則更新的時間越長。因此,非常需要提高固件的更新效能。
通過多個區(qū)塊(block)的操作,可以將存儲器分割,擦除以及編程。圖1為用于更新儲存于存儲器中的固件的傳統(tǒng)的方法流程圖。變量N指示存儲器中的目標區(qū)塊,在步驟102中,將變量N初始為1。因此,存儲器的第一區(qū)塊被選擇以作為目標區(qū)塊。在步驟104,將變量M設置為存儲器的最大區(qū)塊數。接著,在步驟106中,比較變量N以及變量M。如果變量N小于或等于變量M,則表示并不是所有的存儲器區(qū)塊都完成更新。因此,在步驟108,目標區(qū)塊,即存儲器中的第N區(qū)塊被擦除,且在步驟110,將固件的新的影像版本寫入至目標區(qū)塊中。在完成步驟110將新的數據寫入至目前目標區(qū)塊后,于步驟112,增加變量N,使N=N+1,以選擇下一區(qū)塊作為目標區(qū)塊。接著,返回步驟106,將增加后的變量N與變量M相比較。如果變量N小于或等于變量M,則重復步驟106至步驟112以處理存儲器的其它區(qū)塊。如果變量N大于變量M,則存儲器的所有區(qū)塊都完成更新,且方法100結束。
不論是否所有的區(qū)塊都需要被更新,傳統(tǒng)的方法100都需要將存儲器的所有區(qū)塊擦除以及編程。因此,所有存儲器區(qū)塊都被處理,且更新過程所需的時間與存儲器的大小是成比例的。但是,目前的固件與新的固件數據可能僅有很微小的不同。如果僅需要將儲存的固件數據與的新的影像版本數據不同的部分區(qū)塊進行更新,則更新過程所需的時間將大大減少。例如,如果存儲器包括M個區(qū)塊,且僅有X個區(qū)塊需要被更新,則所需的更新時間將減少(M-X)/M的比例。因此,需要一種快速更新儲存于存儲器中的固件的方法。
發(fā)明內容
為了快速更新儲存于存儲器中的固件,本發(fā)明提供了一種用于更新固件的方法以及固件更新裝置。
本發(fā)明提供了一種用于更新固件的方法,該固件儲存于存儲器中,其中,該存儲器被分割為多個區(qū)塊,以及該固件將被更新為新的影像版本,該方法包括:(a)由該新的影像版本中獲得第一數據區(qū)塊,以及由該存儲器選擇出的目標區(qū)塊中獲得第二數據區(qū)塊;(b)檢查該第一數據區(qū)塊是否不同于該第二數據區(qū)塊;(c)當該第一數據區(qū)塊不同于該第二數據區(qū)塊時,將該第一數據區(qū)塊寫入至該目標區(qū)塊;以及(d)重復步驟(a)至(c)直到所有該多個區(qū)塊均被處理。
本發(fā)明另提供了一種用于更新固件的方法,該固件儲存于存儲器中,其中,該存儲器被分割為多個區(qū)塊,以及該固件將被更新為新的影像版本,該方法包括:(a)由該新的影像版本中獲得第一數據區(qū)塊的第一標記,以及由該存儲器中選擇的目標區(qū)塊中獲得第二數據區(qū)塊的第二標記,其中,該第一標記表示該第一數據區(qū)塊的特性,以及該第二標記表示該第二數據區(qū)塊的特性;(b)檢查該第二標記是否不同于該第一標記;(c)當該第一標記不同于該第二標記時,將該第一數據區(qū)塊寫入至該目標區(qū)塊;以及(d)重復步驟(a)至(c)直到所有該多個區(qū)塊均被處理。
本發(fā)明另提供了一種用于更新固件的方法,該固件儲存于存儲器中,其中,該存儲器被分割為多個區(qū)塊,以及該固件將被更新為新的影像版本,該方法包括:(a)擦除由該多個區(qū)塊中選擇出的目標區(qū)塊;(b)由該新的影像版本中獲得用以更新該目標區(qū)塊的數據區(qū)塊;(c)檢查該數據區(qū)塊是否完全由多個十六進制數“0xFF”組成;(d)當該數據區(qū)塊包括不同于“0xFF”的十六進制數時,將該數據區(qū)塊寫入至該目標區(qū)塊;以及(e)重復步驟(a)至(d)直到所有該多個區(qū)塊均被處理。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于聯發(fā)科技股份有限公司,未經聯發(fā)科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810210416.0/2.html,轉載請聲明來源鉆瓜專利網。





