国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      存儲裝置固件修補(bǔ)方法

      文檔序號:6417167閱讀:214來源:國知局
      專利名稱:存儲裝置固件修補(bǔ)方法
      技術(shù)領(lǐng)域
      本發(fā)明是將功能修補(bǔ)程序存儲于存儲裝置內(nèi)可擦寫的存儲位置,借以修正或更新固件內(nèi)功能程序,達(dá)到本發(fā)明降低成本與簡易更新固件的目的。
      背景技術(shù)
      在計算機(jī)處理的數(shù)據(jù)愈來愈復(fù)雜的現(xiàn)在,現(xiàn)有的容量小或不易攜帶的存儲裝置已不夠一般文件的存取使用,計算機(jī)設(shè)備商即尋找最新的可攜式又可重復(fù)讀寫的技術(shù),這樣可攜式又要有大容量的裝置,還必須搭配一個方便且普遍實(shí)施的傳輸協(xié)議與接口。故一般市售的可攜式的存儲裝置就應(yīng)運(yùn)而生,如數(shù)碼攝像機(jī)/照相機(jī)所使用的存儲卡、方便可攜帶的U盤(USBdrive)或錄音筆等,幾乎都是使用閃存(flash memory)當(dāng)作主體存儲裝置。
      請參閱圖1所示現(xiàn)有的U盤結(jié)構(gòu)(如中國臺灣專利555047),其中有U盤主體10、連接計算機(jī)通用串行總線(USB)接口的USB連接器14及其保護(hù)的蓋體12,而主體10更包括許多控制電路與存儲元件,如標(biāo)示于圖中的內(nèi)存基板16,用來承載一內(nèi)存芯片15,另有控制基板18,用來承載此U盤的控制芯片(圖中未標(biāo)示),控制芯片是控制U盤內(nèi)存的讀出寫入的功能與信號傳遞,其中需要一些微程序代碼(micro code)來作為控制的指令,大多以成本較小的只讀存儲器或只能存儲一次的內(nèi)存來存儲這些程序代碼,即所謂介于硬件與軟件間橋梁的固件(firmware),此固件一旦發(fā)生軟硬件兼容性或損毀的問題,將使整個裝置無法運(yùn)作,屆時不是要更換芯片就是重新燒錄,對于各樣的成本或是消費(fèi)者都沒有保障。
      請參閱圖2所示現(xiàn)有技術(shù)芯片固件的動態(tài)修補(bǔ)方法(中國臺灣專利330291)的結(jié)構(gòu)示意圖,此現(xiàn)有技術(shù)為了解決數(shù)字信號處理芯片(DSP)或微處理器(MPU)的內(nèi)建只讀存儲器無法進(jìn)行修復(fù)或因部分損壞而需更換或丟棄的缺點(diǎn),部分廠商會用較昂貴重新燒錄的方式或用閃存來代替只讀存儲器,此現(xiàn)有技術(shù)則提供一小量可擦寫的內(nèi)存來修補(bǔ)原來只讀存儲器的缺陷。附圖標(biāo)記中包含一芯片只讀存儲器24,其中有一錯誤模塊23,此例就是在裝置內(nèi)設(shè)置或外加一小量的可擦寫內(nèi)存20,此可擦寫內(nèi)存20內(nèi)規(guī)劃有一控制區(qū)21與一修補(bǔ)區(qū)22,修補(bǔ)區(qū)22中存放為了修補(bǔ)錯誤模塊23的一修補(bǔ)模塊221,控制區(qū)21則為定義芯片只讀存儲器24各程序與模塊的硬件地址,進(jìn)一步通過控制區(qū)21指向修補(bǔ)區(qū)22與其中修補(bǔ)模塊221的地址。
      上述結(jié)構(gòu)在運(yùn)作中,在芯片只讀存儲器24中找到其中的錯誤模塊23,則依照定義好的對應(yīng)地址直接轉(zhuǎn)移至修補(bǔ)模塊221繼續(xù)執(zhí)行。
      雖然圖2所示的現(xiàn)有技術(shù)解決了只讀存儲器需要更換的問題,但仍增加了該可擦寫內(nèi)存20的成本,并且不論原來只讀存儲器是否良好,都需在制作時內(nèi)建或外加此一內(nèi)存的成本。本發(fā)明鑒于在內(nèi)存控制芯片中的固件程序的制作中會有難以避免的錯誤或在時間演變下所可能更新的問題,并考慮節(jié)省成本,通過存儲裝置內(nèi)原來作為數(shù)據(jù)存儲的可擦寫內(nèi)存部分容量來存放修補(bǔ)程序,并不需用額外的內(nèi)存而達(dá)到修補(bǔ)或更新固件的目的。

      發(fā)明內(nèi)容
      本發(fā)明為一種存儲裝置固件修補(bǔ)方法,其主要特征是將一個或多個功能修補(bǔ)程序存儲于存儲裝置內(nèi)可擦寫的存儲位置,借以修正或更新固件內(nèi)功能程序,達(dá)到本發(fā)明降低成本與簡易更新固件的目的。
      該固件修補(bǔ)方法步驟如下初始化系統(tǒng);檢測一個或多個存儲裝置的固件功能是否需要修補(bǔ);選擇使用該固件功能;判斷該固件功能是否有修補(bǔ)程序;使用加載該存儲區(qū)塊對應(yīng)于固件功能的修補(bǔ)程序。


      圖1為現(xiàn)有技術(shù)的U盤結(jié)構(gòu);圖2為現(xiàn)有技術(shù)芯片固件的動態(tài)修補(bǔ)方法結(jié)構(gòu)示意圖;圖3為本發(fā)明存儲裝置固件修補(bǔ)裝置示意圖;圖4為本發(fā)明存儲裝置固件修補(bǔ)程序加載存儲區(qū)塊流程圖;圖5為本發(fā)明存儲裝置固件修補(bǔ)方法的系統(tǒng)運(yùn)作流程圖。
      附圖標(biāo)記說明10 主體12 蓋體14 USB連接器15 內(nèi)存芯片16 內(nèi)存基板18 控制基板20 可擦寫內(nèi)存21 控制區(qū)22 修補(bǔ)區(qū)23 錯誤模塊24 模塊區(qū)221 修補(bǔ)模塊30 存儲裝置31 存儲區(qū)塊33 控制單元35 信號針腳311 修補(bǔ)程序331 微處理器333 固件具體實(shí)施方式
      本發(fā)明是沿用現(xiàn)有的U盤或存儲卡的存儲卡(SD,CF,MS...etc.)架構(gòu),并利用其中的存儲裝置存儲修補(bǔ)程序,當(dāng)裝置中的固件執(zhí)行某功能時,發(fā)現(xiàn)需要修補(bǔ)(patch),本發(fā)明即使用存放于可擦寫的存儲區(qū)塊中的修補(bǔ)程序來達(dá)到目的,而并不需更換或重新燒錄原本的固件。
      如圖3所示為本發(fā)明存儲裝置固件修補(bǔ)裝置示意圖,圖中存儲裝置30可大致區(qū)分為三部份,其一為存儲區(qū)塊31,為數(shù)據(jù)存儲的位置,即一可讀可寫的非揮發(fā)性內(nèi)存(non-volatile),如現(xiàn)有的閃存(flash memory);另為一控制單元33,為控制此存儲裝置30的輸出輸入信號與數(shù)據(jù)傳遞,以及存儲區(qū)塊31中的數(shù)據(jù)存取功能,其中至少包括一數(shù)字信號處理的微處理器331,與存儲微程序控制碼的固件333,此固件33中程序代碼是作為控制的指令,大多以成本較小的只讀存儲器或只能存儲一次的內(nèi)存來存儲這些程序代碼;存儲裝置30一端電性連接多個信號針腳(pin)35,借以連接計算機(jī)系統(tǒng)等設(shè)備的連接端口,所有程序指令與數(shù)據(jù)流都通過信號針腳35接口傳遞。
      上述的存儲區(qū)塊31中,本發(fā)明在設(shè)計的時候即預(yù)先定義了部分連續(xù)或不連續(xù)的修補(bǔ)程序區(qū)塊311,其中由固件333中的為程序代碼定義多個標(biāo)記(flag)以標(biāo)示此修補(bǔ)程序區(qū)塊311的程序狀態(tài),若固件333中功能程序需要修補(bǔ)或更新,則通過一燒錄程序?qū)⑿扪a(bǔ)程序存儲在預(yù)先定義的位置,并將標(biāo)記設(shè)為1(on),以告知系統(tǒng),當(dāng)需要某功能時,而此功能的標(biāo)記為1,則以修補(bǔ)程序區(qū)塊311內(nèi)的功能程序取代原本固件333內(nèi)舊的程序。
      圖4為本發(fā)明存儲裝置固件修補(bǔ)程序加載存儲區(qū)塊的流程說明圖。在存儲裝置的修補(bǔ)模式下步驟41當(dāng)系統(tǒng)激活,有一系統(tǒng)初始化的動作,即將固件內(nèi)的程序載入微處理器,準(zhǔn)備好接收連接此存儲裝置的設(shè)備的控制信號與存儲數(shù)據(jù)存取的信息,更包括有定義該預(yù)先規(guī)劃的修補(bǔ)程序區(qū)塊地址的步驟;步驟42之后,檢測存儲裝置中的固件功能是否有更新的資料或是有損毀的情形而需要修補(bǔ)?步驟43若是,表示有需要修補(bǔ),即利用該燒錄軟件針對需要修補(bǔ)的功能將修補(bǔ)的功能程序加載至存儲區(qū)塊內(nèi)的修補(bǔ)程序區(qū)塊,也就是之前預(yù)先規(guī)劃的位置;步驟44判斷該修補(bǔ)程序是否正確?包括修補(bǔ)程序版本或兼容性是否正確?步驟45若為否,表示該修補(bǔ)程序損毀或是出現(xiàn)版本錯誤與兼容性的問題,即延用原固件內(nèi)功能程序;步驟46若為是,將此加載的位置設(shè)立標(biāo)記為1(on),此設(shè)立一個或多個標(biāo)記記號的步驟,是為了定義存儲裝置的固件功能已由對應(yīng)的修補(bǔ)程序取代;
      通過上述步驟循環(huán)操作的修補(bǔ)步驟達(dá)到每一需要功能的修補(bǔ)。
      步驟47若已不需修補(bǔ),即修補(bǔ)結(jié)束。
      圖5為本發(fā)明存儲裝置固件修補(bǔ)方法的系統(tǒng)運(yùn)作流程圖,此存儲裝置至少包括存儲區(qū)塊與其中的修補(bǔ)程序區(qū)塊、控制單元內(nèi)的微處理器與固件,其中該修補(bǔ)方法步驟包括有步驟51系統(tǒng)開啟后,即進(jìn)行初始化,即固件中驅(qū)動程序(driver)加載至與此存儲裝置連接的計算機(jī)系統(tǒng)中的系統(tǒng)內(nèi)存(system memory),通常為隨機(jī)存儲器(RAM),并初始化微處理器,進(jìn)一步還包括有定義該預(yù)先規(guī)劃的修補(bǔ)程序區(qū)塊地址的步驟;步驟52再判斷是否為修補(bǔ)模式?步驟53若判斷為修補(bǔ)模式,即進(jìn)入圖4所示的加載修補(bǔ)程序的步驟,再進(jìn)入至步驟54依需要選擇使用系統(tǒng)中的功能;步驟54若為非,即進(jìn)入系統(tǒng)運(yùn)作模式,使用者選擇使用系統(tǒng)中的一功能;步驟55由固件中各功能所設(shè)立的標(biāo)記(flag)為0(off)或1(on)判斷該功能是否有修補(bǔ)程序?步驟56若為是,表示該功能有修補(bǔ)程序,即使用載入該存儲區(qū)塊對應(yīng)于固件功能的修補(bǔ)程序,并進(jìn)行步驟58,將其對應(yīng)的程序加載到與此存儲裝置連接的計算機(jī)系統(tǒng)的系統(tǒng)內(nèi)存執(zhí)行;步驟57若為否,即該功能沒有相對應(yīng)的修補(bǔ)程序,則使用原先預(yù)載于該固件的固件功能程序;繼續(xù)進(jìn)行步驟58,將該預(yù)載的功能程序加載到內(nèi)存;步驟58依步驟56與57的情況,將存儲于修補(bǔ)程序區(qū)塊或固件中的功能程序加載至系統(tǒng)內(nèi)存執(zhí)行;之后,進(jìn)入一選擇使用系統(tǒng)中功能的循環(huán)程序(loop)中。或是進(jìn)一步繼續(xù)判斷是否使用其它固件功能,與判斷是否有修補(bǔ)程序的步驟。
      本發(fā)明是通過存儲裝置內(nèi)原本作為數(shù)據(jù)存儲的可擦寫內(nèi)存部分容量來存放修補(bǔ)程序,并不需用額外的內(nèi)存而達(dá)到修補(bǔ)或更新固件的目的。
      綜上所述,本發(fā)明實(shí)為一不可多得的發(fā)明物品,極具產(chǎn)業(yè)上的實(shí)用性、新穎性及創(chuàng)造性,完全符合發(fā)明專利申請條件,故依法提出申請,敬請詳查并授予本案專利,以保障發(fā)明者權(quán)益。
      但以上所述僅為本發(fā)明的較佳可行實(shí)施例,不是因此來局限本發(fā)明的專利范圍,故凡是運(yùn)用本發(fā)明說明書及附圖內(nèi)容所作出的等效結(jié)構(gòu)變化,均同理包含于本發(fā)明的權(quán)利要求保護(hù)范圍內(nèi)。
      權(quán)利要求
      1.一種存儲裝置固件修補(bǔ)方法,該存儲裝置至少包括一存儲區(qū)塊與其中的一修補(bǔ)程序區(qū)塊、一微處理器與一固件,其中該修補(bǔ)方法步驟包括有初始化系統(tǒng),其中包括定義該修補(bǔ)程序區(qū)塊的地址;檢測是否為修補(bǔ)模式;選擇使用該固件功能;判斷該固件功能是否有修補(bǔ)程序;及使用加載該存儲區(qū)塊對應(yīng)于固件功能的修補(bǔ)程序。
      2.如權(quán)利要求1所述的存儲裝置固件修補(bǔ)方法,其特征在于,所述的檢測是否為修補(bǔ)模式的步驟中,若為是,則進(jìn)入加載該修補(bǔ)程序步驟,包括有加載該固件功能的修補(bǔ)程序于一預(yù)先規(guī)劃的修補(bǔ)程序區(qū)塊;及設(shè)立一個或多個標(biāo)記(flag)記號,即定義該存儲裝置的固件功能已由對應(yīng)的修補(bǔ)程序取代。
      3.如權(quán)利要求1所述的存儲裝置固件修補(bǔ)方法,其特征在于,所述的判斷該固件功能是否有修補(bǔ)程序的步驟,是根據(jù)所述的標(biāo)記記號的設(shè)立來判斷。
      4.如權(quán)利要求1所述的存儲裝置固件修補(bǔ)方法,其特征在于,所述的判斷該固件功能是否有修補(bǔ)程序的步驟,若為否,則使用原先預(yù)載于該固件的固件功能程序。
      5.如權(quán)利要求1所述的存儲裝置固件修補(bǔ)方法,其特征在于,在所述的使用加載該存儲區(qū)塊對應(yīng)于固件功能的修補(bǔ)程序之后的步驟進(jìn)一步包括有加載該固件功能程序于一系統(tǒng)內(nèi)存中執(zhí)行;及判斷是否使用其它固件功能。
      6.一種存儲裝置固件修補(bǔ)方法,其特征在于,加載一修補(bǔ)程序于存儲區(qū)塊的修補(bǔ)方法步驟包括有初始化系統(tǒng);檢測一個或多個存儲裝置的固件功能是否需要修補(bǔ);加載該固件功能的修補(bǔ)程序于預(yù)先規(guī)劃的修補(bǔ)程序區(qū)塊;判斷該修補(bǔ)程序是否正確;及設(shè)立一個或多個標(biāo)記(flag)記號。
      7.如權(quán)利要求6所述的存儲裝置固件修補(bǔ)方法,其特征在于,所述的初始化系統(tǒng)進(jìn)一步包括有定義該預(yù)先規(guī)劃的修補(bǔ)程序區(qū)塊地址的步驟。
      8.如權(quán)利要求6所述的存儲裝置固件修補(bǔ)方法,其特征在于,所述的修補(bǔ)程序區(qū)塊為一存儲區(qū)塊的一部份。
      9.如權(quán)利要求6所述的存儲裝置固件修補(bǔ)方法,其特征在于,所述的設(shè)立一個或多個標(biāo)記記號的步驟,是為了定義該存儲裝置的固件功能已由對應(yīng)的修補(bǔ)程序取代。
      10.如權(quán)利要求6所述的存儲裝置固件修補(bǔ)方法,其特征在于,所述的判斷該修補(bǔ)程序是否正確的步驟中,若為否,表示該修補(bǔ)程序損毀或是出現(xiàn)版本錯誤與兼容性的問題,即延用原來的該固件內(nèi)功能程序。
      全文摘要
      本發(fā)明為一種存儲裝置固件修補(bǔ)方法,是將一個或多個功能修補(bǔ)程序存儲于存儲裝置內(nèi)可擦寫的存儲位置,借以修正或更新固件(firmware)內(nèi)功能程序,一旦需用到該功能時,可直接使用存儲于該存儲位置的程序,并不需要重新燒錄或置換整個固件,達(dá)到本發(fā)明降低成本與簡易更新固件的目的。
      文檔編號G06F11/36GK1797362SQ200410060400
      公開日2006年7月5日 申請日期2004年12月22日 優(yōu)先權(quán)日2004年12月22日
      發(fā)明者葉又熒, 吳信昌, 王基旆 申請人:迅杰科技股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1