一種缺陷硬盤連接pc端時進行缺陷隔離的方法
【技術領域】
[0001]本發(fā)明涉及硬盤數(shù)據(jù)恢復領域,特別涉及一種缺陷硬盤連接PC端時進行缺陷隔離的方法。
【背景技術】
[0002]當PC端和硬盤連接時,PC端會直接使用讀取ATA指令訪問硬盤,讀取硬盤的數(shù)據(jù),如果硬盤的數(shù)據(jù)量過大可能會造成硬盤卡死,如果硬盤有缺陷即壞道,也會造成硬盤卡死。
[0003]現(xiàn)有技術一般采用PE掛載操作系統(tǒng)的方法來提取缺陷硬盤的數(shù)據(jù),或者是將缺陷硬盤以重盤的方式掛載在操作系統(tǒng)的方法來提取缺陷硬盤的數(shù)據(jù),但上述方法由于沒有采用隔離的措施,直接訪問硬盤同樣會造成卡死的情況。對于上述情況,暫時沒有很好的處理方法。
【發(fā)明內(nèi)容】
[0004]本發(fā)明針對現(xiàn)有技術的不足,提供一種缺陷硬盤連接PC端時進行缺陷隔離的方法,能夠有效解決PC端直接使用讀取ATA指令,直接訪問缺陷硬盤造成卡死情況。
[0005]為解決以上問題,本發(fā)明采用的技術方案如下:一種缺陷硬盤連接PC端時進行缺陷隔離的方法,包括如下步驟:
[0006]001:PC端發(fā)送將原指令經(jīng)過改變的自定義指令;
[0007]002:接收改變后的自定義指令,并對改變后的自定義指令進行解析,還原為原指令;
[0008]003:檢查硬盤狀態(tài);
[0009]004:如果獲取硬盤狀態(tài)寄存器正常,則轉(zhuǎn)到005 ;如果出現(xiàn)BUSY\ERR或非正常就緒狀態(tài),則轉(zhuǎn)到006;如果006處理之后的寄存器仍然出現(xiàn)BUSY\ERR或非正常就緒狀態(tài),則直接結(jié)束;
[0010]005:發(fā)送讀取指令,并轉(zhuǎn)入008;
[0011]006:執(zhí)行硬盤復位操作;
[0012]007:等待硬盤執(zhí)行復位操作一定時間后返回004;
[0013]008:硬盤接收發(fā)送的讀取指令并執(zhí)行;
[0014]009:數(shù)據(jù)處理池接收來自硬盤的第一次正常數(shù)據(jù)返回,同時也接收復位之后讀取到的數(shù)據(jù);第二次數(shù)據(jù)如果正常,則直接返回,如果出錯返回到自定義的數(shù)據(jù)到數(shù)據(jù)處理池,最終通過數(shù)據(jù)處理池返回到PC端。
[0015]作為優(yōu)選,001所述的改變后的自定義指令為0xE00xF00x280x88。
[0016]作為優(yōu)選,002所述的原指令為0x280x88。
[0017]作為優(yōu)選,009所述的自定義的數(shù)據(jù)為0X44。
[0018]本發(fā)明的方法可以達到以下效果:采用了本發(fā)明的方法,當設備與PC系統(tǒng)連接后,并不能直接訪問到存儲設備的任何數(shù)據(jù)信息,必須結(jié)合相應的軟件系統(tǒng)與虛擬保護中轉(zhuǎn)交互才能完成對硬盤的數(shù)據(jù)交互。本方法采用缺陷隔離技術,將有缺陷的硬盤和PC機進行有效隔離,不讓操作系統(tǒng)加載缺陷硬盤的啟動代碼從而防止PC系統(tǒng)加載硬盤啟動代碼導致PC上層系統(tǒng)崩潰。
【附圖說明】
[0019]圖1為本發(fā)明的主流程示意圖。
【具體實施方式】
[0020]為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明做進一步詳細說明。
[0021]—種缺陷硬盤連接PC端時進行缺陷隔離的方法,包括以下步驟:
[0022]001:PC端發(fā)送經(jīng)過改變的自定義指令,比如本來是發(fā)送0x280x88,改變的自定義指令為 0xE00xR)0x280x88 ;
[0023]002:接收改變后的自定義指令,比如0XE00XF00X280X88,并對自定義指令進行解析,還原為原指令,比如0x280x88 ;
[0024]003:檢查硬盤狀態(tài);
[0025]004:如果獲取硬盤狀態(tài)寄存器正常,則轉(zhuǎn)到005 ;如果出現(xiàn)BUSY\ERR或非正常就緒狀態(tài),則轉(zhuǎn)到006;如果006處理之后的寄存器仍然出現(xiàn)BUSY\ERR或非正常就緒狀態(tài),則直接結(jié)束;
[0026]005:發(fā)送讀取指令,并轉(zhuǎn)入008;
[0027]006:執(zhí)行硬盤復位操作;
[0028]007:等待硬盤執(zhí)行復位操作一定時間后返回004;
[0029]008:硬盤接收發(fā)送的讀取指令并執(zhí)行;
[0030]009:數(shù)據(jù)處理池接收來自硬盤的第一次正常數(shù)據(jù)返回,同時也接收復位之后讀取到的數(shù)據(jù);第二次數(shù)據(jù)如果正常,則直接返回,如果出錯返回到自定義的數(shù)據(jù)(比如0X44)到數(shù)據(jù)處理池,最終通過數(shù)據(jù)處理池返回到PC端。
【主權(quán)項】
1.一種缺陷硬盤連接PC端時進行缺陷隔離的方法,其特征在于,步驟如下: OOl: PC端發(fā)送將原指令經(jīng)過改變的自定義指令; 002:接收改變后的自定義指令,并對改變后的自定義指令進行解析,還原為原指令; 003:檢查硬盤狀態(tài); 004:如果獲取硬盤狀態(tài)寄存器正常,則轉(zhuǎn)到005 ;如果出現(xiàn)BUSY\ERR或非正常就緒狀態(tài),則轉(zhuǎn)到006;如果006處理之后的寄存器仍然出現(xiàn)BUSY\ERR或非正常就緒狀態(tài),則直接結(jié)束; 005:發(fā)送讀取指令,并轉(zhuǎn)入008 ; 006:執(zhí)行硬盤復位操作; 007:等待硬盤執(zhí)行復位操作一定時間后返回004; 008:硬盤接收發(fā)送的讀取指令并執(zhí)行; 009:數(shù)據(jù)處理池接收來自硬盤的第一次正常數(shù)據(jù)返回,同時也接收復位之后讀取到的數(shù)據(jù);第二次數(shù)據(jù)如果正常,則直接返回,如果出錯返回到自定義的數(shù)據(jù)到數(shù)據(jù)處理池,最終通過數(shù)據(jù)處理池返回到PC端。2.根據(jù)權(quán)利要求1所述的一種缺陷硬盤連接PC端時進行缺陷隔離的方法,其特征在于,001所述的改變后的自定義指令為0xE00xR)0x280x88。3.根據(jù)權(quán)利要求1或2所述的一種缺陷硬盤連接PC端時進行缺陷隔離的方法,其特征在于,002所述的原指令為0x280x88。4.根據(jù)權(quán)利要求3所述的一種缺陷硬盤連接PC端時進行缺陷隔離的方法,其特征在于,009所述的自定義的數(shù)據(jù)為0X44。
【專利摘要】本發(fā)明公開了一種缺陷硬盤連接PC端時進行缺陷隔離的方法,屬于硬盤數(shù)據(jù)恢復領域,包括如下步驟:001:PC端發(fā)送將原指令經(jīng)過改變的自定義指令;002:接收改變后的自定義指令,并對改變后的自定義指令進行解析,還原為原指令。當設備與PC系統(tǒng)連接后,并不能直接訪問存儲設備的任何數(shù)據(jù)信息,必須結(jié)合相應的軟件系統(tǒng)與虛擬保護中轉(zhuǎn)交互才能完成對硬盤的數(shù)據(jù)交互。本方法采用缺陷隔離技術,將有缺陷的硬盤和PC機進行有效隔離,不讓操作系統(tǒng)加載缺陷硬盤的啟動代碼從而防止PC系統(tǒng)加載硬盤啟動代碼導致PC上層系統(tǒng)崩潰。
【IPC分類】G06F3/06
【公開號】CN105589665
【申請?zhí)枴緾N201511025407
【發(fā)明人】黃旭, 張佳強, 董超
【申請人】四川秘無痕信息安全技術有限責任公司
【公開日】2016年5月18日
【申請日】2015年12月31日