希捷硬盤(pán)固件故障問(wèn)題導(dǎo)致不被識(shí)別的數(shù)據(jù)恢復(fù)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于數(shù)據(jù)恢復(fù)領(lǐng)域,具體涉及一種希捷硬盤(pán)固件故障問(wèn)題導(dǎo)致不被識(shí)別的 數(shù)據(jù)恢復(fù)方法。
【背景技術(shù)】
[0002] 目前市面上的數(shù)據(jù)恢復(fù)都是針對(duì)硬盤(pán)可以被識(shí)別的情況下進(jìn)行的,即邏輯層的數(shù) 據(jù)恢復(fù),還沒(méi)有硬盤(pán)不被識(shí)別情況下的數(shù)據(jù)恢復(fù)方法,雖然一些硬盤(pán)修復(fù)方法有相關(guān)的解 決之道,但都存在以下缺陷需要進(jìn)一步解決。
[0003] 1.只能處理硬盤(pán)容量被更改導(dǎo)致的不被識(shí)別。
[0004] 2.無(wú)法對(duì)固件本身進(jìn)行操作。
[0005] 3.對(duì)于壞道很多甚至全盤(pán)壞道的現(xiàn)象可能是固件問(wèn)題導(dǎo)致的不能讀取,盲目按照 清零、重映射等方法處理不能達(dá)到效果。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明針對(duì)現(xiàn)有技術(shù)的不足,提供了一種希捷硬盤(pán)固件故障問(wèn)題導(dǎo)致不被識(shí)別的 數(shù)據(jù)恢復(fù)方法,能夠有效的解決硬盤(pán)不被識(shí)別情況下的數(shù)據(jù)恢復(fù)。
[0007] 為解決以上問(wèn)題,本發(fā)明采用的技術(shù)方案如下:一種希捷硬盤(pán)固件故障問(wèn)題導(dǎo)致 不被識(shí)別的數(shù)據(jù)恢復(fù)方法,包括以下步驟:
[0008] Sl對(duì)故障盤(pán)進(jìn)行初始化;
[0009] S2故障盤(pán)初始化后檢測(cè)故障盤(pán)狀態(tài),并檢測(cè)是否為以下特定的數(shù)據(jù):
[0010] 檢測(cè)數(shù)據(jù)是否是ATAFailed;檢測(cè)數(shù)據(jù)是否是Failedsyssect,write;檢測(cè)數(shù) 據(jù)是否是Stuffwasunreadable;檢測(cè)數(shù)據(jù)是否是CELOG;檢測(cè)數(shù)據(jù)是否是Nointerface age;檢測(cè)數(shù)據(jù)是否是ErrAPPcode。
[0011] S3根據(jù)檢測(cè)到的不同數(shù)據(jù)進(jìn)行相應(yīng)的修復(fù)。
[0012] 作為優(yōu)選:若S2檢測(cè)到數(shù)據(jù)為ATAFailed,解決方法如下:
[0013] 1021故障盤(pán)正常使用時(shí)有備份轉(zhuǎn)到1024,否則轉(zhuǎn)到1022 ;
[0014] 1022獲取故障盤(pán)的Family和Firmware參數(shù)信息;
[0015] 1023找到與故障盤(pán)Family和Firmware相同的匹配盤(pán)的ATA模塊;
[0016] 1024將匹配盤(pán)的ATA模塊寫(xiě)入故障盤(pán)。
[0017] 作為優(yōu)選:若S2檢測(cè)到數(shù)據(jù)為Failedsyssect,write,解決方法如下:
[0018] 1031將故障盤(pán)盤(pán)體上的CERT模塊加載到故障盤(pán)電路板的緩存芯片中;
[0019] 1032開(kāi)啟強(qiáng)制寫(xiě)模式,在1級(jí)工廠模式下開(kāi)啟強(qiáng)制寫(xiě);
[0020] 1033在T級(jí)模式下初始化G表;
[0021] 1034在1級(jí)工廠模式下清除S.M.A.R.T表。
[0022] 作為優(yōu)選:若S2檢測(cè)到數(shù)據(jù)為Stuffwasunreadable,解決方法如下:
[0023] 1041故障盤(pán)正常使用時(shí)有備份轉(zhuǎn)到1044,否則轉(zhuǎn)到1042 ;
[0024] 1042獲取故障盤(pán)的Family和Firmware參數(shù)信息;
[0025] 1043找到與故障盤(pán)Family和Firmware相同的匹配盤(pán)的INFO模塊;
[0026] 1044將匹配盤(pán)的INFO模塊寫(xiě)入故障盤(pán)。
[0027] 作為優(yōu)選:若S2檢測(cè)到數(shù)據(jù)為CEL0G,解決方法如下:
[0028] 1051將CERT模塊加入到緩存中,使用Ctrl+R加載故障盤(pán)盤(pán)體上的模塊;
[0029] 1052加載CERTTAB模塊到緩存,使用Ctrl+T加載故障盤(pán)盤(pán)體上的模塊;
[0030] 1053在T級(jí)模式下開(kāi)啟4E校準(zhǔn)流程;
[0031] 1054在T級(jí)模式調(diào)整故障盤(pán)回到正常的工作模式,即使AGE= 50。
[0032] 作為優(yōu)選:若S2檢測(cè)到數(shù)據(jù)為Nointerfaceage,解決方法如下:
[0033] 1061獲取AGE的值,如果AGE= 60,轉(zhuǎn)到1063,否則轉(zhuǎn)到1062 ;
[0034] 1062在T級(jí)模式下將工作模式改成正常工作模式;
[0035] 1063按照檢測(cè)數(shù)據(jù)是ErrAPPcode的修復(fù)方式修復(fù)。
[0036] 作為優(yōu)選:若S2檢測(cè)到數(shù)據(jù)為ErrAPPcode,解決方法如下:
[0037] 1071故障盤(pán)正常使用時(shí)有備份轉(zhuǎn)到1074,否則轉(zhuǎn)到1072;
[0038] 1072獲取故障盤(pán)的Family和Firmware參數(shù)信息;
[0039] 1073找到與故障盤(pán)Family和Firmware相同的匹配盤(pán)的APP模塊;
[0040] 1074加載APP模塊到故障盤(pán)的緩存芯片中;
[0041] 1075查看狀態(tài)是否就緒,如果就緒則結(jié)束,否則轉(zhuǎn)到1076;
[0042] 1076加載CERT、CERTTAB模塊到故障盤(pán)的緩存芯片中;
[0043] 1077在T級(jí)模式下調(diào)整故障盤(pán)回到正常的工作模式,即使AGE= 50 ;
[0044] 1078在T級(jí)模式下清除G表,在1級(jí)工廠模式下清除S.M.A.R.T表。
[0045] 作為優(yōu)選:Sl通過(guò)調(diào)用UART0_Init(9600,set)實(shí)現(xiàn)。
[0046] 本發(fā)明的有益效果如下:
[0047]1.通過(guò)函數(shù)調(diào)用提示判斷造成硬盤(pán)不被識(shí)別的原因;
[0048] 2.可以通過(guò)函數(shù)調(diào)用對(duì)固件的操作解決不被識(shí)別的問(wèn)題;
[0049] 3.可以在不斷電的情況下對(duì)數(shù)據(jù)進(jìn)行恢復(fù)。
【附圖說(shuō)明】
[0050] 圖1是獲取故障盤(pán)數(shù)據(jù)的流程圖;
[0051] 圖2是102故障盤(pán)修復(fù)流程圖;
[0052] 圖3是103故障盤(pán)修復(fù)流程圖;
[0053] 圖4是104故障盤(pán)修復(fù)流程圖;
[0054] 圖5是106故障盤(pán)修復(fù)流程圖;
[0055] 圖6是107故障盤(pán)修復(fù)流程圖。
【具體實(shí)施方式】
[0056] 為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì) 本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。
[0057] 希捷硬盤(pán)固件故障問(wèn)題導(dǎo)致不被識(shí)別的數(shù)據(jù)恢復(fù)方法,包括以下步驟:
[0058] SI對(duì)故障盤(pán)進(jìn)行初始化;
[0059] S1通過(guò)調(diào)用以下函數(shù)實(shí)現(xiàn):
[0060] UART0_Init(9600,set) ;//set中包含奇偶校驗(yàn)停止位設(shè)置
[0061] S2故障盤(pán)初始化后檢測(cè)故障盤(pán)狀態(tài),并檢測(cè)是否為以下特定的數(shù)據(jù):
[0062] 檢測(cè)數(shù)據(jù)是否是ATAFailed;檢測(cè)數(shù)據(jù)是否是Failedsyssect,write;檢測(cè)數(shù) 據(jù)是否是Stuffwasunreadable;檢測(cè)數(shù)據(jù)是否是CELOG;檢測(cè)數(shù)據(jù)是否是Nointerface age;檢測(cè)數(shù)據(jù)是否是ErrAPPcode。
[0063] S2通過(guò)調(diào)用以下函數(shù)實(shí)現(xiàn):
[0064] UARTO_Sendchar(OxlA) ;//進(jìn)入指令模式
[0065] IRQ_READ_UART0 () ;// 讀取數(shù)據(jù)到buffer
[0066] CheckT() ;//檢測(cè)buffer數(shù)據(jù)是否是T>
[0067] CheckATAFailedO;//檢測(cè)buffer數(shù)據(jù)是否是ATAFailed
[0068] CheckFailedsys() ;//檢測(cè)buffer數(shù)據(jù)是否是Failedsyssect,write
[0069] CheckStuffwasunreadable() ;// 檢測(cè)buffer數(shù)據(jù)是否是Stuffwas unreadable
[0070] CheckCELogO;//檢測(cè)buffer數(shù)據(jù)是否是CELOG
[0071] CheckNOInterfaceAge() ;//檢測(cè)buffer數(shù)據(jù)是否是Nointerfaceage
[0072] CheckErrAppCode() ;//檢測(cè)buffer數(shù)據(jù)是否是ErrAPPcode
[0073] S3根據(jù)檢測(cè)到的不同數(shù)據(jù)進(jìn)行相應(yīng)的修復(fù)。
[0074] 若S2檢測(cè)到數(shù)據(jù)為ATAFailed,解決方法如下:
[0075] 1021故障盤(pán)正常使用時(shí)有備份轉(zhuǎn)到1024,否則轉(zhuǎn)到1022 ;
[0076] 1022獲取故障盤(pán)的Family和Firmware參數(shù)信息;
[0077] 通過(guò)調(diào)用以下函數(shù)實(shí)現(xiàn):
[0078] UART0_Sendchar(OxC) ;// 顯不硬盤(pán)的Family和Firmware
[0079] 1023找到與故障盤(pán)Family和Firmware相同的匹配盤(pán)的ATA模塊;
[0080] 1024將匹配盤(pán)的ATA模塊寫(xiě)入故障盤(pán)。
[0081] 若S2檢測(cè)到數(shù)據(jù)為Failedsyssect,write,解決方法如下:
[0082] 1031將故障盤(pán)盤(pán)體上的CERT模塊加載到故障盤(pán)電路板的緩存芯片中;
[0083] 通過(guò)調(diào)用以下函數(shù)實(shí)現(xiàn):
[0084] UART0_Sendchar(0x12);//CERT模塊加到緩存
[0085] 1032開(kāi)啟強(qiáng)制寫(xiě)模式,在1級(jí)工廠模式下開(kāi)啟強(qiáng)制寫(xiě);
[0086] 通過(guò)調(diào)用以下函數(shù)實(shí)現(xiàn):
[0087]
【主權(quán)項(xiàng)】
1. 一種希捷硬盤(pán)固件故障問(wèn)題導(dǎo)致不被識(shí)別的數(shù)據(jù)恢復(fù)方法,其特征在于,包括以下 步驟: Sl對(duì)故障盤(pán)進(jìn)行初始化; S2故障盤(pán)初始化后檢測(cè)故障盤(pán)狀態(tài),并檢測(cè)是否為以下特定的數(shù)據(jù): 檢測(cè)數(shù)據(jù)是否是ATAFailed;檢測(cè)數(shù)據(jù)是否是Failedsyssect,write;檢測(cè)數(shù)據(jù)是否 是Stuffwasunreadable;檢測(cè)數(shù)據(jù)是否是CELOG;檢測(cè)數(shù)據(jù)是否是Nointerfaceage; 檢測(cè)數(shù)據(jù)是否是ErrAPPcode。 S3根據(jù)檢測(cè)到的不同數(shù)據(jù)進(jìn)行相應(yīng)的修復(fù)。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,若S2檢測(cè)到數(shù)據(jù)為ATAFailed,解決方 法如下: 1021故障盤(pán)正常使用時(shí)有備份轉(zhuǎn)到1024,否則轉(zhuǎn)到1022 ; 1022獲取故障盤(pán)的Family和Firmware參數(shù)信息; 1023找到與故障盤(pán)Family和Firmware相同的匹配盤(pán)的ATA模塊; 1024將匹配盤(pán)的ATA模塊寫(xiě)入故障盤(pán)。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,若S2檢測(cè)到數(shù)據(jù)為Failedsyssect, write,解決方法如下: 1031將故障盤(pán)盤(pán)體上的CERT模塊加載到故障盤(pán)電路板的緩存芯片中; 1032開(kāi)啟強(qiáng)制寫(xiě)模式,在1級(jí)工廠模式下開(kāi)啟強(qiáng)制寫(xiě); 1033在T級(jí)模式下初始化G表; 1034在1級(jí)工廠模式下清除S.M.A.R.T表。
4. 根據(jù)權(quán)利要求2或3所述的方法,其特征在于,若S2檢測(cè)到數(shù)據(jù)為Stuffwas unreadable,解決方法如下: 1041故障盤(pán)正常使用時(shí)有備份轉(zhuǎn)到1044,否則轉(zhuǎn)到1042 ; 1042獲取故障盤(pán)的Family和Firmware參數(shù)信息; 1043找到與故障盤(pán)Family和Firmware相同的匹配盤(pán)的INFO模塊; 1044將匹配盤(pán)的INFO模塊寫(xiě)入故障盤(pán)。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,若S2檢測(cè)到數(shù)據(jù)為CEL0G,解決方法如 下: 1051將CERT模塊加入到緩存中,使用Ctrl+R加載故障盤(pán)盤(pán)體上的模塊; 1052加載CERTTAB模塊到緩存,使用Ctrl+T加載故障盤(pán)盤(pán)體上的模塊; 1053在T級(jí)模式下開(kāi)啟4E校準(zhǔn)流程; 1054在T級(jí)模式調(diào)整故障盤(pán)回到正常的工作模式,即使AGE= 50。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,若S2檢測(cè)到數(shù)據(jù)為Nointerfaceage, 解決方法如下: 1061獲取AGE的值,如果AGE= 60,轉(zhuǎn)到1063,否則轉(zhuǎn)到1062 ; 1062在T級(jí)模式下將工作模式改成正常工作模式; 1063按照檢測(cè)數(shù)據(jù)是ErrAPPcode的修復(fù)方式修復(fù)。
7. 根據(jù)權(quán)利要求1所述的方法,其特征在于,若S2檢測(cè)到數(shù)據(jù)為ErrAPPcode,解決 方法如下: 1071故障盤(pán)正常使用時(shí)有備份轉(zhuǎn)到1074,否則轉(zhuǎn)到1072 ; 1072獲取故障盤(pán)的Family和Firmware參數(shù)信息; 1073找到與故障盤(pán)Family和Firmware相同的匹配盤(pán)的APP模塊; 1074加載APP模塊到故障盤(pán)的緩存芯片中; 1075查看狀態(tài)是否就緒,如果就緒則結(jié)束,否則轉(zhuǎn)到1076 ; 1076加載CERT、CERTTAB模塊到故障盤(pán)的緩存芯片中; 1077在T級(jí)模式下調(diào)整故障盤(pán)回到正常的工作模式,即使AGE= 50 ; 1078在T級(jí)模式下清除G表,在1級(jí)工廠模式下清除S.M.A.R.T表。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,Sl通過(guò)調(diào)用UART0_Init(9600,set)實(shí) 現(xiàn)。
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種希捷硬盤(pán)固件故障問(wèn)題導(dǎo)致不被識(shí)別的數(shù)據(jù)恢復(fù)方法,屬于數(shù)據(jù)恢復(fù)技術(shù)領(lǐng)域,包括以下步驟:S1對(duì)故障盤(pán)進(jìn)行初始化;S2故障盤(pán)初始化后檢測(cè)故障盤(pán)狀態(tài),并檢測(cè)是否為以下特定的數(shù)據(jù):檢測(cè)數(shù)據(jù)是否是ATA Failed;檢測(cè)數(shù)據(jù)是否是Failed sys sect.write;檢測(cè)數(shù)據(jù)是否是Stuff was unreadable;檢測(cè)數(shù)據(jù)是否是CE LOG;檢測(cè)數(shù)據(jù)是否是No interface age;檢測(cè)數(shù)據(jù)是否是Err APP code。本發(fā)明的有益效果如下:1.通過(guò)函數(shù)調(diào)用提示判斷造成硬盤(pán)不被識(shí)別的原因2.可以通過(guò)函數(shù)調(diào)用對(duì)固件的操作解決不被識(shí)別的問(wèn)題。
【IPC分類(lèi)】G06F11-07
【公開(kāi)號(hào)】CN104794018
【申請(qǐng)?zhí)枴緾N201510218639
【發(fā)明人】梁效寧
【申請(qǐng)人】四川效率源信息安全技術(shù)有限責(zé)任公司
【公開(kāi)日】2015年7月22日
【申請(qǐng)日】2015年4月30日