存儲設(shè)備固件升級的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種存儲設(shè)備固件升級的方法,該方法包括步驟:當(dāng)接收到固件升級指令時(shí),獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù),并從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù);將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入所述固件存儲區(qū)中。本發(fā)明還公開了一種存儲設(shè)備固件升級的裝置,有效避免先前在存儲設(shè)備中產(chǎn)生的用戶數(shù)據(jù)無法被升級后的固件識別,而產(chǎn)生用戶數(shù)據(jù)丟失的問題,保證了用戶數(shù)據(jù)的完整性,提高了用戶體驗(yàn)。
【專利說明】存儲設(shè)備固件升級的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及存儲設(shè)備【技術(shù)領(lǐng)域】,尤其涉及存儲設(shè)備固件升級的方法及裝置。
【背景技術(shù)】
[0002]隨著時(shí)代的發(fā)展,越來越多的存儲設(shè)備(例如,U盤、移動(dòng)硬盤等)進(jìn)入到人們的日常生活、工作當(dāng)中。用戶在使用存儲設(shè)備時(shí)出現(xiàn)Bug或者不兼容的情況時(shí),可以通過從存儲設(shè)備廠商發(fā)出的固件升級數(shù)據(jù)中,找到相應(yīng)的固件升級數(shù)據(jù),對原有固件進(jìn)行升級,以有效解決存儲設(shè)備存在的Bug或者不兼容情況?,F(xiàn)有的存儲設(shè)備中,通常固件數(shù)據(jù)都是存儲在存儲設(shè)備的固定位置,且分配給固件數(shù)據(jù)的存儲空間是有限的。因此,在對存儲設(shè)備的固件進(jìn)行升級的過程當(dāng)中,先將整個(gè)固件數(shù)據(jù)存儲區(qū)進(jìn)行格式化(將固件存儲區(qū)的固件數(shù)據(jù)擦除),再將待升級固件數(shù)據(jù)寫入到固件存儲區(qū)中。
[0003]然而,按照上述這種現(xiàn)有的固件升級方式,在對存儲設(shè)備進(jìn)行固件升級時(shí),因需要先將整個(gè)固件數(shù)據(jù)存儲區(qū)進(jìn)行格式化,再將新的待升級固件數(shù)據(jù)寫入到固件存儲區(qū)中,導(dǎo)致先前在存儲設(shè)備中產(chǎn)生的用戶數(shù)據(jù)無法被升級后的固件識別,而產(chǎn)生了用戶數(shù)據(jù)丟失的問題。
[0004]上述內(nèi)容僅用于輔助理解本發(fā)明的技術(shù)方案,并不代表承認(rèn)上述內(nèi)容是現(xiàn)有技術(shù)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的主要目的為提供存儲設(shè)備固件升級的方法及裝置,旨在實(shí)現(xiàn)保證用戶數(shù)據(jù)完整性。
[0006]為實(shí)現(xiàn)上述目的,本發(fā)明提供一種存儲設(shè)備固件升級的方法,該方法包括步驟:
[0007]當(dāng)接收到固件升級指令時(shí),獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù),并從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù);
[0008]將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);
[0009]在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入所述固件存儲區(qū)中。
[0010]優(yōu)選地,固件數(shù)據(jù)包括存儲算法信息,所述將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù)的包括:
[0011]分析待升級的存儲算法是否與升級前的存儲算法一致;
[0012]在所述待升級的存儲算法與所述升級前的存儲算法一致時(shí),將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);
[0013]在所述待升級的存儲算法與所述升級前的存儲算法不一致時(shí),將所述升級前的固件數(shù)據(jù)轉(zhuǎn)換為所述待升級的存儲算法固件數(shù)據(jù),并將轉(zhuǎn)換后的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù)。
[0014]優(yōu)選地,所述將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù)的步驟包括:[0015]確定升級前固件數(shù)據(jù)的版本信息及待升級固件數(shù)據(jù)的版本信息;
[0016]分析升級前固件數(shù)據(jù)的版本是否低于待升級固件數(shù)據(jù)的版本;
[0017]在升級前固件數(shù)據(jù)的版本低于待升級固件數(shù)據(jù)的版本時(shí),將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);
[0018]在升級前固件數(shù)據(jù)的版本高于待升級固件數(shù)據(jù)的版本時(shí),不對所述存儲設(shè)備的固件進(jìn)行升級。
[0019]優(yōu)選地,所述當(dāng)接收到固件升級指令時(shí),獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù)及從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù)的步驟包括:
[0020]當(dāng)接收到固件升級指令時(shí),重啟所述存儲設(shè)備,進(jìn)入固件升級運(yùn)行模式;
[0021]獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù)及從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù)。
[0022]優(yōu)選地,所述在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入固件存儲區(qū)中的步驟之后,該方法還包括步驟:
[0023]在固件升級過程中,發(fā)出提示消息,以提示用戶固件升級的進(jìn)度;及/或
[0024]在固件升級完成后,發(fā)出提示信息,以提示用戶固件升級完成;及/或
[0025]在固件升級完成后,重啟所述存儲設(shè)備,進(jìn)入普通運(yùn)行模式。
[0026]本發(fā)明進(jìn)一步提供一種存儲設(shè)備固件升級的裝置,該裝置包括:
[0027]獲取模塊,用于當(dāng)接收到固件升級指令時(shí),獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù),并從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù);
[0028]處理模塊,用于將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);
[0029]升級模塊,用于在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入所述固件存儲區(qū)中。
[0030]優(yōu)選地,固件數(shù)據(jù)包括存儲算法信息,該裝置還包括第一分析模塊,
[0031]所述第一分析模塊,用于分析待升級的存儲算法是否與升級前的存儲算法一致;
[0032]所述處理模塊,還用于在所述待升級的存儲算法與所述升級前的存儲算法一致時(shí),將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);
[0033]在所述待升級的存儲算法與所述升級前的存儲算法不一致時(shí),將所述升級前的固件數(shù)據(jù)轉(zhuǎn)換為所述待升級的存儲算法固件數(shù)據(jù),并將轉(zhuǎn)換后的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù)。
[0034]優(yōu)選地,該裝置還包括第二分析模塊,
[0035]所述處理模塊,還用于確定升級前固件數(shù)據(jù)的版本信息及待升級固件數(shù)據(jù)的版本
信息;
[0036]所述第二分析模塊,用于分析升級前固件數(shù)據(jù)的版本是否低于待升級固件數(shù)據(jù)的版本;
[0037]所述升級模塊,還用于在升級前固件數(shù)據(jù)的版本低于待升級固件數(shù)據(jù)的版本時(shí),將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);
[0038]在升級前固件數(shù)據(jù)的版本高于待升級固件數(shù)據(jù)的版本時(shí),不對所述存儲設(shè)備的固件進(jìn)行升級。[0039]優(yōu)選地,所述處理模塊,還用于當(dāng)接收到固件升級指令時(shí),重啟所述存儲設(shè)備,進(jìn)入固件升級運(yùn)行模式;
[0040]所述獲取模塊,還用于獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù)及從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù)。
[0041]優(yōu)選地,該裝置還包括提示模塊,
[0042]所述提示模塊,用于在固件升級過程中,發(fā)出提示消息,以提示用戶固件升級的進(jìn)度;
[0043]在固件升級完成后,發(fā)出提示信息,以提示用戶固件升級完成;
[0044]所述處理模塊,還用于在固件升級完成后,重啟所述存儲設(shè)備,進(jìn)入普通運(yùn)行模式。
[0045]相對現(xiàn)有技術(shù),本發(fā)明通過當(dāng)接收到固件升級指令時(shí),獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù),并從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù);將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入所述固件存儲區(qū)中。有效避免先前在存儲設(shè)備中產(chǎn)生的用戶數(shù)據(jù)無法被升級后的固件識別,而產(chǎn)生了用戶數(shù)據(jù)丟失的問題,保證了用戶數(shù)據(jù)的完整性,提高了用戶體驗(yàn)。
【專利附圖】
【附圖說明】
[0046]圖1為本發(fā)明存儲設(shè)備固件升級的方法第一實(shí)施例的流程示意圖;
[0047]圖2為圖1中步驟S20的細(xì)化流程示意圖;
[0048]圖3為本發(fā)明存儲設(shè)備固件升級的方法第二實(shí)施例的流程示意圖;
[0049]圖4為本發(fā)明存儲設(shè)備固件升級的方法第三實(shí)施例的流程示意圖;
[0050]圖5為本發(fā)明存儲設(shè)備固件升級的裝置第一實(shí)施例的功能模塊示意圖;
[0051]圖6為本發(fā)明存儲設(shè)備固件升級的裝置第二實(shí)施例的功能模塊示意圖;
[0052]圖7為本發(fā)明存儲設(shè)備固件升級的裝置第三實(shí)施例的功能模塊示意圖。
[0053]本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
【具體實(shí)施方式】
[0054]應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0055]如圖1所示,為本發(fā)明存儲設(shè)備固件升級的方法第一實(shí)施例的流程示意圖。
[0056]需要強(qiáng)調(diào)的是:圖1所示流程圖僅為一個(gè)較佳實(shí)施例,本領(lǐng)域的技術(shù)人員當(dāng)知,任何圍繞本發(fā)明思想構(gòu)建的實(shí)施例都不應(yīng)脫離于如下技術(shù)方案涵蓋的范圍:
[0057]當(dāng)接收到固件升級指令時(shí),獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù),并從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù);將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入所述固件存儲區(qū)中。
[0058]以下是本實(shí)施例逐步實(shí)現(xiàn)存儲設(shè)備固件升級的具體步驟:
[0059]步驟S10,當(dāng)接收到固件升級指令時(shí),獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù),并從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù);[0060]用戶在使用存儲設(shè)備的過程中出現(xiàn)Bug或者不兼容時(shí),或者在存儲設(shè)備廠商發(fā)布了新功能應(yīng)用的固件升級公告時(shí),從網(wǎng)絡(luò)下載待升級固件數(shù)據(jù),或者將待升級固件數(shù)據(jù)拷貝下來,并通過有線或者無線的方式對存儲設(shè)備進(jìn)行固件升級。執(zhí)行本發(fā)明實(shí)施例的方法的主體優(yōu)選為存儲設(shè)備。
[0061]用戶需要對存儲設(shè)備的固件進(jìn)行升級時(shí),點(diǎn)擊存儲設(shè)備上的升級按鈕,或者通過存儲設(shè)備提供的固件升級菜單,選擇固件升級。當(dāng)接收到固件升級指令時(shí),存儲設(shè)備重啟所述存儲設(shè)備,并進(jìn)入固件升級運(yùn)行模式,存儲設(shè)備獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù)。例如,從與其通信連接的其他設(shè)備獲取,或者,從網(wǎng)絡(luò)下載等。存儲設(shè)備從存儲設(shè)備的固件存儲中獲取升級前的固件數(shù)據(jù),即獲取固件存儲區(qū)中當(dāng)前已經(jīng)存儲的關(guān)鍵信息。用戶只能通過所述固件數(shù)據(jù)從存儲設(shè)備中讀取及/或存儲數(shù)據(jù)。所述固件數(shù)據(jù)可包括上一次升級時(shí)的關(guān)鍵運(yùn)行參數(shù)、存儲算法信息、存儲設(shè)備使用過程中產(chǎn)生的算法表格信息、固件存儲區(qū)在存儲設(shè)備的位置信息等。
[0062]步驟S20,將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);
[0063]在成功獲取到固件存儲區(qū)中升級前的固件數(shù)據(jù)及所述待升級固件數(shù)據(jù)之后,存儲設(shè)備將所述升級的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù)。固件數(shù)據(jù)的更新過程可以包括替換、修改、合并等操作。
[0064]進(jìn)一步地,為了能更好地實(shí)現(xiàn)存儲設(shè)備的固件升級,參考圖2,所述步驟S20包括:
[0065]步驟S201,確定升級前固件數(shù)據(jù)的版本信息及待升級固件數(shù)據(jù)的版本信息;
[0066]步驟S202,分析升級前固件數(shù)據(jù)的版本是否低于待升級固件數(shù)據(jù)的版本;
[0067]固件存儲區(qū)中的每一個(gè)固件數(shù)據(jù)均攜帶有版本信息,即攜帶有存儲設(shè)備固件的版本標(biāo)識,例如,V1.0、V2.0、V3.0等,分別代表的為版本1.0、版本2.0和版本3.0,版本3.0高于版本2.0,版本2.0高于版本1.0。存儲設(shè)備在獲取到固件存儲區(qū)中升級前的固件數(shù)據(jù)和所述待升級固件數(shù)據(jù)時(shí),進(jìn)一步獲取升級前的固件數(shù)據(jù)的版本信息,并獲取所述待升級固件數(shù)據(jù)的版本信息,分析升級前固件數(shù)據(jù)的版本是否低于待升級固件數(shù)據(jù)的版本,若是,則執(zhí)行步驟S203,若否,則執(zhí)行步驟S204。
[0068]步驟S203,在升級前固件數(shù)據(jù)的版本低于待升級固件數(shù)據(jù)的版本時(shí),將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);
[0069]步驟S204,在升級前固件數(shù)據(jù)的版本高于待升級固件數(shù)據(jù)的版本時(shí),不對所述存儲設(shè)備的固件進(jìn)行升級。
[0070]例如,若升級前固件數(shù)據(jù)的版本信息為V1.0,待升級固件數(shù)據(jù)的版本信息為V2.0,則確定升級前固件數(shù)據(jù)的版本低于待升級固件數(shù)據(jù)的版本,將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù)。若升級前固件數(shù)據(jù)的版本信息為V3.0,待升級固件數(shù)據(jù)的版本信息為V2.0,則確定升級前固件數(shù)據(jù)的版本高于待升級固件數(shù)據(jù)的版本,不需要對存儲設(shè)備的固件進(jìn)行升級,不對所述存儲設(shè)備的固件進(jìn)行升級。同樣在升級前固件數(shù)據(jù)的版本與待升級固件數(shù)據(jù)的版本相同時(shí),也不對所述存儲設(shè)備的固件進(jìn)行升級。
[0071]步驟S30,在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入所述固件存儲區(qū)中。[0072]在將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,形成新的固件數(shù)據(jù)后,對所述固件存儲區(qū)格式化,即將所述固件存儲區(qū)存儲的固件數(shù)據(jù)擦除,以寫入新的固件數(shù)據(jù)。在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入所述固件存儲區(qū)中,即完成所述存儲設(shè)備的固件升級。用戶可以通過更新至所述待升級固件數(shù)據(jù)中的升級前的固件數(shù)據(jù)對之前存儲的用戶數(shù)據(jù)進(jìn)行訪問,防止固件升級過程中用戶數(shù)據(jù)丟失的問題,同樣,用戶也無需對存儲的用戶數(shù)據(jù)進(jìn)行備份,減少存儲設(shè)備固件升級的流程的同時(shí),保證了用戶數(shù)據(jù)的完整性,提聞?dòng)脩趔w驗(yàn)。
[0073]本發(fā)明實(shí)施例通過當(dāng)接收到固件升級指令時(shí),獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù),并從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù);將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入所述固件存儲區(qū)中。有效避免先前在存儲設(shè)備中產(chǎn)生的用戶數(shù)據(jù)無法被升級后的固件識別,而產(chǎn)生了用戶數(shù)據(jù)丟失的問題,保證了用戶數(shù)據(jù)的完整性,提聞了用戶體驗(yàn)。
[0074]如圖3所示,為本發(fā)明存儲設(shè)備固件升級的方法第二實(shí)施例的流程示意圖。基于上述第一實(shí)施例,固件數(shù)據(jù)包括存儲算法信息,所述步驟S20還可以包括:
[0075]步驟S205,分析待升級的存儲算法是否與升級前的存儲算法一致;
[0076]在獲取到固件存儲區(qū)中升級前的固件數(shù)據(jù)和所述待升級固件數(shù)據(jù)時(shí),存儲設(shè)備進(jìn)一步獲取升級前的固件數(shù)據(jù)中包括的存儲算法信息,并獲取所述待升級固件數(shù)據(jù)中的存儲算法信息,分析待升級的存儲算法是否與升級前的存儲算法一致,若是,則執(zhí)行步驟S206,若否,則執(zhí)行步驟S207。
[0077]步驟S206,在所述待升級的存儲算法與所述升級前的存儲算法一致時(shí),將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);
[0078]步驟S207,在所述待升級的存儲算法與所述升級前的存儲算法不一致時(shí),將所述升級前的固件數(shù)據(jù)轉(zhuǎn)換為所述待升級的存儲算法固件數(shù)據(jù),并將轉(zhuǎn)換后的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù)。
[0079]在所述待升級的存儲算法與所述升級前的存儲算法一致時(shí),即升級前的固件數(shù)據(jù)按照升級后的存儲算法也能被識別。存儲設(shè)備將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù),即將所述升級前的固件數(shù)據(jù)添加至所述待升級固件數(shù)據(jù)中,以供用戶能通過更新后的待升級數(shù)據(jù)讀取到以前存儲的用戶數(shù)據(jù)。
[0080]在所述待升級的存儲算法與所述升級前的存儲算法不一致時(shí),即升級前的固件數(shù)據(jù)按照升級后的存儲算法不能被識別。存儲設(shè)備將所述升級前的固件數(shù)據(jù)轉(zhuǎn)換為所述待升級的存儲算法固件數(shù)據(jù),并將轉(zhuǎn)換后的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù),例如,將存儲的算法表格信息轉(zhuǎn)換為待升級存儲算法的算法表格信息。需要轉(zhuǎn)換的固件數(shù)據(jù),為用戶在上一次升級完成之后到本次升級之前,用戶存儲數(shù)據(jù)所產(chǎn)生的固件數(shù)據(jù)。即將升級前的固件數(shù)據(jù)轉(zhuǎn)換為能被所述待升級的存儲算法識別的固件數(shù)據(jù),再將轉(zhuǎn)換后的固件數(shù)據(jù)添加至所述待升級固件數(shù)據(jù)中,以供用戶能通過更新后的待升級數(shù)據(jù)讀取到以前存儲的用戶數(shù)據(jù),進(jìn)一步有效防止用戶數(shù)據(jù)的丟失。
[0081]如圖4所示,為本發(fā)明存儲設(shè)備固件升級的方法第三實(shí)施例的流程示意圖?;谏鲜龅谝缓偷诙?shí)施例,所述步驟S30之后,該方法還包括步驟:[0082]步驟S40,在固件升級完成后,發(fā)出提示信息,以提示用戶固件升級完成。
[0083]在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入所述固件存儲區(qū)中,在所述新的固件數(shù)據(jù)寫入過程中,即在固件升級過程中,發(fā)出提示消息,以提示用戶固件升級的進(jìn)度,在所述新的固件數(shù)據(jù)寫入完成時(shí),發(fā)出提示信息,以提示用戶固件升級完成。在固件升級完成后,重啟所述存儲設(shè)備,進(jìn)入普通運(yùn)行模式。以供用戶正常存儲數(shù)據(jù)或者體驗(yàn)固件升級后的新功能等。
[0084]本發(fā)明實(shí)施例通過在固件升級過程中及固件升級完成后,發(fā)出提示信息,以供用戶及時(shí)了解存儲設(shè)備固件升級的情況,以及時(shí)對突發(fā)、異常情況進(jìn)行監(jiān)控并及時(shí)處理,有效保證存儲設(shè)備的固件升級。
[0085]如圖5所示,為本發(fā)明存儲設(shè)備固件升級的裝置第一實(shí)施例的功能模塊示意圖。該裝置包括:獲取模塊10,處理模塊20,第一分析模塊30及升級模塊40。
[0086]所示獲取模塊10,用于當(dāng)接收到固件升級指令時(shí),獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù),并從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù);
[0087]用戶在使用存儲設(shè)備的過程中出現(xiàn)Bug或者不兼容時(shí),或者在存儲設(shè)備廠商發(fā)布了新功能應(yīng)用的固件升級公告時(shí),從網(wǎng)絡(luò)下載待升級固件數(shù)據(jù),或者將待升級固件數(shù)據(jù)拷貝下來,并通過有線或者無線的方式對存儲設(shè)備進(jìn)行固件升級。執(zhí)行本發(fā)明實(shí)施例的方法的主體優(yōu)選為存儲設(shè)備。
[0088]用戶需要對存儲設(shè)備的固件進(jìn)行升級時(shí),點(diǎn)擊存儲設(shè)備上的升級按鈕,或者通過存儲設(shè)備提供的固件升級菜單,選擇固件升級。當(dāng)接收到固件升級指令時(shí),存儲設(shè)備重啟所述存儲設(shè)備,并進(jìn)入固件升級運(yùn)行模式,存儲設(shè)備獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù)。例如,從與其通信連接的其他設(shè)備獲取,或者,從網(wǎng)絡(luò)下載等。存儲設(shè)備從存儲設(shè)備的固件存儲中獲取升級前的固件數(shù)據(jù),即獲取固件存儲區(qū)中當(dāng)前已經(jīng)存儲的關(guān)鍵信息。用戶只能通過所述固件數(shù)據(jù)從存儲設(shè)備中讀取及/或存儲數(shù)據(jù)。所述固件數(shù)據(jù)可包括上一次升級時(shí)的關(guān)鍵運(yùn)行參數(shù)、存儲算法信息、存儲設(shè)備使用過程中產(chǎn)生的算法表格信息、固件存儲區(qū)在存儲設(shè)備的位置信息等。
[0089]所述處理模塊20,用于將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);
[0090]在成功獲取到固件存儲區(qū)中升級前的固件數(shù)據(jù)及所述待升級固件數(shù)據(jù)之后,存儲設(shè)備將所述升級的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù)。固件數(shù)據(jù)的更新過程可以包括替換、修改、合并等操作。
[0091]為了能更好地實(shí)現(xiàn)存儲設(shè)備的固件升級,所述處理模塊20還用于:步驟S201,確定升級前固件數(shù)據(jù)的版本信息及待升級固件數(shù)據(jù)的版本信息;
[0092]所述分析模塊30,用于分析升級前固件數(shù)據(jù)的版本是否低于待升級固件數(shù)據(jù)的版本;
[0093]固件存儲區(qū)中的每一個(gè)固件數(shù)據(jù)均攜帶有版本信息,即攜帶有存儲設(shè)備固件的版本標(biāo)識,例如,V1.0、V2.0、V3.0等,分別代表的為版本1.0、版本2.0和版本3.0,版本3.0高于版本2.0,版本2.0高于版本1.0。存儲設(shè)備在獲取到固件存儲區(qū)中升級前的固件數(shù)據(jù)和所述待升級固件數(shù)據(jù)時(shí),進(jìn)一步獲取升級前的固件數(shù)據(jù)的版本信息,并獲取所述待升級固件數(shù)據(jù)的版本信息,分析升級前固件數(shù)據(jù)的版本是否低于待升級固件數(shù)據(jù)的版本。[0094]所述處理模塊20還用于:在升級前固件數(shù)據(jù)的版本低于待升級固件數(shù)據(jù)的版本時(shí),將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);
[0095]在升級前固件數(shù)據(jù)的版本高于待升級固件數(shù)據(jù)的版本時(shí),不對所述存儲設(shè)備的固件進(jìn)行升級。
[0096]例如,若升級前固件數(shù)據(jù)的版本信息為V1.0,待升級固件數(shù)據(jù)的版本信息為V2.0,則確定升級前固件數(shù)據(jù)的版本低于待升級固件數(shù)據(jù)的版本,將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù)。若升級前固件數(shù)據(jù)的版本信息為V3.0,待升級固件數(shù)據(jù)的版本信息為V2.0,則確定升級前固件數(shù)據(jù)的版本高于待升級固件數(shù)據(jù)的版本,不需要對存儲設(shè)備的固件進(jìn)行升級,不對所述存儲設(shè)備的固件進(jìn)行升級。同樣在升級前固件數(shù)據(jù)的版本與待升級固件數(shù)據(jù)的版本相同時(shí),也不對所述存儲設(shè)備的固件進(jìn)行升級。
[0097]所述升級模塊40,用于在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入所述固件存儲區(qū)中。
[0098]在將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,形成新的固件數(shù)據(jù)后,對所述固件存儲區(qū)格式化,即將所述固件存儲區(qū)存儲的固件數(shù)據(jù)擦除,以寫入新的固件數(shù)據(jù)。在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入所述固件存儲區(qū)中,即完成所述存儲設(shè)備的固件升級。用戶可以通過更新至所述待升級固件數(shù)據(jù)中的升級前的固件數(shù)據(jù)對之前存儲的用戶數(shù)據(jù)進(jìn)行訪問,防止固件升級過程中用戶數(shù)據(jù)丟失的問題,同樣,用戶也無需對存儲的用戶數(shù)據(jù)進(jìn)行備份,減少存儲設(shè)備固件升級的流程的同時(shí),保證了用戶數(shù)據(jù)的完整性,提聞?dòng)脩趔w驗(yàn)。
[0099]本發(fā)明實(shí)施例通過當(dāng)接收到固件升級指令時(shí),獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù),并從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù);將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入所述固件存儲區(qū)中。有效避免先前在存儲設(shè)備中產(chǎn)生的用戶數(shù)據(jù)無法被升級后的固件識別,而產(chǎn)生了用戶數(shù)據(jù)丟失的問題,保證了用戶數(shù)據(jù)的完整性,提聞了用戶體驗(yàn)。
[0100]如圖6所示,為本發(fā)明存儲設(shè)備固件升級的裝置第二實(shí)施例的功能模塊示意圖。該裝置還包括:第二分析模塊50。
[0101]進(jìn)一步地,所述第二分析模塊50,用于分析待升級的存儲算法是否與升級前的存
儲算法一致;
[0102]在獲取到固件存儲區(qū)中升級前的固件數(shù)據(jù)和所述待升級固件數(shù)據(jù)時(shí),存儲設(shè)備進(jìn)一步獲取升級前的固件數(shù)據(jù)中包括的存儲算法信息,并獲取所述待升級固件數(shù)據(jù)中的存儲算法信息,分析待升級的存儲算法是否與升級前的存儲算法一致。
[0103]所述處理模塊20還用于:在所述待升級的存儲算法與所述升級前的存儲算法一致時(shí),將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);
[0104]在所述待升級的存儲算法與所述升級前的存儲算法不一致時(shí),將所述升級前的固件數(shù)據(jù)轉(zhuǎn)換為所述待升級的存儲算法固件數(shù)據(jù),并將轉(zhuǎn)換后的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù)。所述第二分析模塊50可以是與第一分析模塊30具有相同功能的模塊,即所述第二分析模塊可以是第一分析模塊,也可以是與第一分析模塊30不同的模塊。
[0105]在所述待升級的存儲算法與所述升級前的存儲算法一致時(shí),即升級前的固件數(shù)據(jù)按照升級后的存儲算法也能被識別。存儲設(shè)備將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù),即將所述升級前的固件數(shù)據(jù)添加至所述待升級固件數(shù)據(jù)中,以供用戶能通過更新后的待升級數(shù)據(jù)讀取到以前存儲的用戶數(shù)據(jù)。
[0106]在所述待升級的存儲算法與所述升級前的存儲算法不一致時(shí),即升級前的固件數(shù)據(jù)按照升級后的存儲算法不能被識別。存儲設(shè)備將所述升級前的固件數(shù)據(jù)轉(zhuǎn)換為所述待升級的存儲算法固件數(shù)據(jù),并將轉(zhuǎn)換后的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù),例如,將存儲的算法表格信息轉(zhuǎn)換為待升級存儲算法的算法表格信息。需要轉(zhuǎn)換的固件數(shù)據(jù),為用戶在上一次升級完成之后到本次升級之前,用戶存儲數(shù)據(jù)所產(chǎn)生的固件數(shù)據(jù)。即將升級前的固件數(shù)據(jù)轉(zhuǎn)換為能被所述待升級的存儲算法識別的固件數(shù)據(jù),再將轉(zhuǎn)換后的固件數(shù)據(jù)添加至所述待升級固件數(shù)據(jù)中,以供用戶能通過更新后的待升級數(shù)據(jù)讀取到以前存儲的用戶數(shù)據(jù),進(jìn)一步有效防止用戶數(shù)據(jù)的丟失。
[0107]如圖7所示,為本發(fā)明存儲設(shè)備固件升級的裝置第三實(shí)施例的功能模塊示意圖。該裝置還包括:提示模塊60。
[0108]所述提示模塊60,用于在固件升級完成后,發(fā)出提示信息,以提示用戶固件升級完成。
[0109]在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入所述固件存儲區(qū)中,在所述新的固件數(shù)據(jù)寫入過程中,即在固件升級過程中,發(fā)出提示消息,以提示用戶固件升級的進(jìn)度,在所述新的固件數(shù)據(jù)寫入完成時(shí),發(fā)出提示信息,以提示用戶固件升級完成。在固件升級完成后,重啟所述存儲設(shè)備,進(jìn)入普通運(yùn)行模式。以供用戶正常存儲數(shù)據(jù)或者體驗(yàn)固件升級后的新功能等。
[0110]本發(fā)明實(shí)施例通過在固件升級過程中及固件升級完成后,發(fā)出提示信息,以供用戶及時(shí)了解存儲設(shè)備固件升級的情況,以及時(shí)對突發(fā)、異常情況進(jìn)行監(jiān)控并及時(shí)處理,有效保證存儲設(shè)備的固件升級。
[0111]上述本發(fā)明實(shí)施例序號僅僅為了描述,不代表實(shí)施例的優(yōu)劣。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)(如R0M/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
[0112]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種存儲設(shè)備固件升級的方法,其特征在于,該方法包括步驟: 當(dāng)接收到固件升級指令時(shí),獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù),并從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù); 將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù); 在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入所述固件存儲區(qū)中。
2.如權(quán)利要求1所述的存儲設(shè)備固件升級的方法,其特征在于,固件數(shù)據(jù)包括存儲算法信息,所述將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù)的包括: 分析待升級的存儲算法是否與升級前的存儲算法一致; 在所述待升級的存儲算法與所述升級前的存儲算法一致時(shí),將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù); 在所述待升級的存儲算法與所述升級前的存儲算法不一致時(shí),將所述升級前的固件數(shù)據(jù)轉(zhuǎn)換為所述待升級的存儲算法固件數(shù)據(jù),并將轉(zhuǎn)換后的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù)。
3.如權(quán)利要求1所述的存儲設(shè)備固件升級的方法,其特征在于,所述將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù)的步驟包括: 確定升級前固件數(shù)據(jù)的版本信息及待升級固件數(shù)據(jù)的版本信息; 分析升級前固件數(shù)據(jù)的版本是否低于待升級固件數(shù)據(jù)的版本; 在升級前固件數(shù)據(jù)的版本低于待升級固件數(shù)據(jù)的版本時(shí),將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù); 在升級前固件數(shù)據(jù)的版本高于待升級固件數(shù)據(jù)的版本時(shí),不對所述存儲設(shè)備的固件進(jìn)行升級。
4.如權(quán)利要求1至3任一項(xiàng)所述的存儲設(shè)備固件升級的方法,其特征在于,所述當(dāng)接收到固件升級指令時(shí),獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù)及從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù)的步驟包括: 當(dāng)接收到固件升級指令時(shí),重啟所述存儲設(shè)備,進(jìn)入固件升級運(yùn)行模式; 獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù)及從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù)。
5.如權(quán)利要求1至3任一項(xiàng)所述的存儲設(shè)備固件升級的方法,其特征在于,所述在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入固件存儲區(qū)中的步驟之后,該方法還包括步驟: 在固件升級過程中,發(fā)出提示消息,以提示用戶固件升級的進(jìn)度 '及/或 在固件升級完成后,發(fā)出提示信息,以提示用戶固件升級完成;及/或 在固件升級完成后,重啟所述存儲設(shè)備,進(jìn)入普通運(yùn)行模式。
6.一種存儲設(shè)備固件升級的裝置,其特征在于,該裝置包括: 獲取模塊,用于當(dāng)接收到固件升級指令時(shí),獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù),并從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù); 處理模塊,用于將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù);升級模塊,用于在將所述固件存儲區(qū)格式化后,將所述新的固件數(shù)據(jù)寫入所述固件存儲區(qū)中。
7.如權(quán)利要求6所述的存儲設(shè)備固件升級的裝置,其特征在于,固件數(shù)據(jù)包括存儲算法信息,該裝置還包括第一分析模塊, 所述第一分析模塊,用于分析待升級的存儲算法是否與升級前的存儲算法一致;所述處理模塊,還用于在所述待升級的存儲算法與所述升級前的存儲算法一致時(shí),將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù); 在所述待升級的存儲算法與所述升級前的存儲算法不一致時(shí),將所述升級前的固件數(shù)據(jù)轉(zhuǎn)換為所述待升級的存儲算法固件數(shù)據(jù),并將轉(zhuǎn)換后的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù)。
8.如權(quán)利要求6所述的存儲設(shè)備固件升級的裝置,其特征在于,該裝置還包括第二分析模塊, 所述處理模塊,還用于確定升級前固件數(shù)據(jù)的版本信息及待升級固件數(shù)據(jù)的版本信息; 所述第二分析模塊,用于分析升級前固件數(shù)據(jù)的版本是否低于待升級固件數(shù)據(jù)的版本; 所述升級模塊,還用于在升級前固件數(shù)據(jù)的版本低于待升級固件數(shù)據(jù)的版本時(shí),將所述升級前的固件數(shù)據(jù)更新至所述待升級固件數(shù)據(jù)中,以形成新的固件數(shù)據(jù); 在升級前固件數(shù)據(jù)的版本高于待升級固件數(shù)據(jù)的版本時(shí),不對所述存儲設(shè)備的固件進(jìn)行升級。
9.如權(quán)利要求6至8任一項(xiàng)所述的存儲設(shè)備固件升級的裝置,其特征在于, 所述處理模塊,還用于當(dāng)接收到固件升級指令時(shí),重啟所述存儲設(shè)備,進(jìn)入固件升級運(yùn)行模式; 所述獲取模塊,還用于獲取與所述固件升級指令對應(yīng)的待升級固件數(shù)據(jù)及從存儲設(shè)備的固件存儲區(qū)中獲取升級前的固件數(shù)據(jù)。
10.如權(quán)利要求6至8任一項(xiàng)所述的存儲設(shè)備固件升級的裝置,其特征在于,該裝置還包括提示模塊, 所述提示模塊,用于在固件升級過程中,發(fā)出提示消息,以提示用戶固件升級的進(jìn)度; 在固件升級完成后,發(fā)出提示信息,以提示用戶固件升級完成; 所述處理模塊,還用于在固件升級完成后,重啟所述存儲設(shè)備,進(jìn)入普通運(yùn)行模式。
【文檔編號】G06F9/445GK103955386SQ201410164251
【公開日】2014年7月30日 申請日期:2014年4月22日 優(yōu)先權(quán)日:2014年4月22日
【發(fā)明者】陳斯煜, 吳大畏, 陳寄福 申請人:深圳市硅格半導(dǎo)體有限公司