[發(fā)明專利]一種固件修復(fù)方法、固態(tài)硬盤控制器及固態(tài)硬盤在審
| 申請?zhí)枺?/td> | 202011581160.1 | 申請日: | 2020-12-28 |
| 公開(公告)號: | CN112650519A | 公開(公告)日: | 2021-04-13 |
| 發(fā)明(設(shè)計)人: | 劉紹全;陳祥 | 申請(專利權(quán))人: | 深圳大普微電子科技有限公司 |
| 主分類號: | G06F8/658 | 分類號: | G06F8/658;G06F11/07 |
| 代理公司: | 深圳市六加知識產(chǎn)權(quán)代理有限公司 44372 | 代理人: | 孟麗平 |
| 地址: | 518000 廣東省深圳市龍崗*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 修復(fù) 方法 固態(tài) 硬盤 控制器 | ||
本發(fā)明實施例涉及固態(tài)硬盤應(yīng)用領(lǐng)域,公開了一種固件修復(fù)方法、固態(tài)硬盤控制器及固態(tài)硬盤,所述方法包括:獲取熱補丁包,將新函數(shù)的二進制代碼加載到運行內(nèi)存,確定新函數(shù)的運行區(qū)域,并記錄新函數(shù)的函數(shù)地址;獲取缺陷函數(shù)的函數(shù)地址,修改缺陷函數(shù)的函數(shù)地址對應(yīng)的第一個匯編指令為跳轉(zhuǎn)指令,其中,跳轉(zhuǎn)指令指向新函數(shù)的函數(shù)地址,以使固件在運行到缺陷函數(shù)時跳轉(zhuǎn)到缺陷函數(shù)對應(yīng)的新函數(shù)。通過獲取缺陷函數(shù)的函數(shù)地址,并修改缺陷函數(shù)的函數(shù)地址對應(yīng)的第一個匯編指令為跳轉(zhuǎn)指令,其中,跳轉(zhuǎn)指令指向新函數(shù)的函數(shù)地址,以使固件在運行到缺陷函數(shù)時跳轉(zhuǎn)到缺陷函數(shù)對應(yīng)的新函數(shù),本發(fā)明實施例能夠提高固態(tài)硬盤的固件的升級效率。
技術(shù)領(lǐng)域
本發(fā)明涉及固態(tài)硬盤應(yīng)用領(lǐng)域,特別是涉及一種固件修復(fù)方法、固態(tài)硬盤控制器及固態(tài)硬盤。
背景技術(shù)
固態(tài)硬盤(Solid State Drives,SSD),是采用固態(tài)電子存儲芯片陣列而制成的硬盤,固態(tài)硬盤包括控制單元和存儲單元(FLASH存儲芯片或DRAM存儲芯片)。目前固態(tài)硬盤系統(tǒng)中有相當(dāng)部分是存在動態(tài)隨機存取存儲器(Dynamic Random Access Memory,DRAM)的,所以SSD有較大的數(shù)據(jù)緩存空間用來緩存數(shù)據(jù)。
固態(tài)硬盤由硬件和軟件兩部分組成,軟件部分也叫固態(tài)硬盤的固件(firmware,fw),既然是軟件,那么不可避免的就會有軟件bug,軟件bug在解決后,面臨的問題是如何修復(fù)客戶正在使用中的固態(tài)硬盤。因為固態(tài)硬盤承載著用戶數(shù)據(jù),如果采用固件升級,即使是現(xiàn)在支持在線升級固件的廠商,也做不到不影響業(yè)務(wù),更別說不能支持在線升級的場景;并且大部分客戶在正常使用沒有發(fā)現(xiàn)問題,而通知客戶需要做升級修復(fù)軟件bug時,客戶也很難接受升級固件。而對于固態(tài)硬盤廠商來說,升級固件本身流程復(fù)雜,需要復(fù)位固件讓新固件生效,這個操作本身也具有不小的風(fēng)險,容易出現(xiàn)意外事故。
目前,針對固態(tài)硬盤的軟件的bug修復(fù)方案都是采用固件升級的方案,通常有兩種升級方式,第一種是離線升級,而離線升級需要主機停業(yè)務(wù),甚至需要重啟主機才能生效,對主機業(yè)務(wù)影響較大;第二種是在線升級,在線升級不需要主機停業(yè)務(wù),但是在固件重啟生效的過程中IO會歸零,業(yè)務(wù)歸零的時間長短不能控制,從而容易導(dǎo)致主機業(yè)務(wù)受到影響。因此,不管是在線升級還是離線升級,修復(fù)bug都會影響主機業(yè)務(wù),修復(fù)的成本較高,不容易推動客戶升級。
基于此,現(xiàn)有技術(shù)亟待改進。
發(fā)明內(nèi)容
本發(fā)明實施例旨在提供一種固件修復(fù)方法、固態(tài)硬盤控制器及固態(tài)硬盤,其解決了現(xiàn)有固態(tài)硬盤的固件升級導(dǎo)致影響主機業(yè)務(wù)的技術(shù)問題,提高固態(tài)硬盤的固件的升級效率。
為解決上述技術(shù)問題,本發(fā)明實施例提供以下技術(shù)方案:
第一方面,本發(fā)明實施例提供一種固件修復(fù)方法,應(yīng)用于固態(tài)硬盤,所述方法包括:
獲取熱補丁包,其中,所述熱補丁包包括至少一個缺陷函數(shù)的函數(shù)名、函數(shù)地址以及與所述至少一個缺陷函數(shù)對應(yīng)的新函數(shù)對應(yīng)的二進制代碼;
基于所述熱補丁包,在線修復(fù)待修復(fù)的缺陷函數(shù),具體包括:
將所述新函數(shù)的二進制代碼加載到運行內(nèi)存,確定所述新函數(shù)的運行區(qū)域,并記錄所述新函數(shù)的函數(shù)地址;
獲取所述缺陷函數(shù)的函數(shù)地址,修改所述缺陷函數(shù)的函數(shù)地址對應(yīng)的第一個匯編指令為跳轉(zhuǎn)指令,其中,所述跳轉(zhuǎn)指令指向新函數(shù)的函數(shù)地址,以使固件在運行到所述缺陷函數(shù)時跳轉(zhuǎn)到所述缺陷函數(shù)對應(yīng)的新函數(shù)。
在一些實施例中,所述獲取熱補丁包,包括:
基于下載命令,將所述熱補丁包下載到所述固態(tài)硬盤正在運行的固件;
基于激活命令,激活所述熱補丁包。
在一些實施例中,所述方法還包括:
將所述熱補丁包存儲于非易失性存儲介質(zhì)中;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳大普微電子科技有限公司,未經(jīng)深圳大普微電子科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011581160.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





