背景
數據指南針是效率源科技於2008年推出的針對邏輯層的數據恢復工具。 該工具從推出以後,經過了很多次升級,增加了許多實用強大的功能,如影子技術、日立硬盤固件區虛擬技術、硬盤分頭鏡像技術等。 這些技術的應用解決了很多數據恢復難題,為客戶創造了可觀的經濟效益。 然而,硬盤的技術在不斷地發展進步,新的難題也不斷出現。 因應市場的需求,硬盤廠商推出了TB級大容量硬盤,並在這些硬盤中引入了一些新的設計。 因為技術的不成熟,這些設計存在一些缺陷,使得很多硬盤特別是大容量硬盤產生了槃體故障和固件問題。 2008年11月初網絡上陸續出現了關於希捷存在“卡死”問題的報導,當時涉及的產品是世界第一塊1.5TB台式機硬盤-----酷魚11代(Barracuda 7200.11)。 根據用戶的反映,該款硬盤在使用過程中會無故失去響應,導致系統卡死數秒(時間不等),隨後又自動恢復。 以後又有陸續報導反映希捷硬盤使用一段時間以後無法被BIOS識別以及LBA識別成0等故障(效率源科技在希捷專修中給出了專門的解決方案)。 據希捷官方稱,這是因為該系列硬盤存在固件缺陷,並向用戶發布了新的固件升級解決此類問題。 這就是著名的希捷“固件門”。 儘管希捷升級了硬盤固件,並推出了酷魚12代(Barracuda 7200.12)系列,然而這兩個系列的硬盤依然存在新的故障,假卡死就是其中一種。 假卡死是指硬盤遇到壞道以後無法響應,並且硬槃無法刷新狀態,仍然報告就緒。 正是受“固件門”的部分影響,2010年第一季度西部數據硬盤出貨量首次超過希捷,佔據第一的位置。 然而,這並不能說明西部數據的硬盤完美無瑕,其近些年推出的ROYL系列大容量硬盤同樣存在設計缺陷。 和其它品牌硬盤一樣,西數硬盤的固件設計了兩份。 對於兩個磁頭以上的硬盤,兩份固件依次存放在邏輯0頭(主頭)和邏輯1頭(副頭)。 儘管固件只存放在兩個磁頭上,西數硬盤在通電以後會檢測每一個磁頭的狀況。 如果有一個磁頭損壞,硬盤就無法初始化,發出敲盤聲並停轉電機。 如果想從這些故障硬盤中恢復數據,用戶就必須更換整個磁頭組件。 由於這些硬盤一般都是500GB以上的大容量硬盤,更換磁頭的成本很高;並且有時即使更換了完好的磁頭組件,硬盤仍然無法正常工作! 為了解決上述兩大難題以及客戶遇到一些其它問題,效率源科技重磅推出2011版數據指南針,升級了七大功能:西數硬盤固件加載技術、希捷硬盤電源復位設置、東芝和富士通硬盤分頭技術、狀態寄存器和錯誤寄存器、硬盤信息獲取、鏡像過程中的扇區實時查看、數據指南針的東芝和富士通硬盤接口。 本文檔將會介紹所有的七大功能,包括一些細節。 狀態寄存器和錯誤寄存器 這次升級採納了客戶的建議,在程序中引入了狀態寄存器和錯誤寄存器,讓用戶實時了解硬盤的狀態以及錯誤類型。 其實,很早就有客戶建議引入這個兩個寄存器,開發者出於功能和速度平衡的考慮,沒有在程序中引入,而是在控制終端面板上設計了部分重要的狀態寄存器,如硬盤忙碌( BSY),硬盤就緒(DRD)等。 這次升級,開發者為了讓用戶能夠更方便地查看硬盤狀態,更重要地是為了配合“電源復位設置”功能,在程序中引入了狀態寄存器和錯誤寄存器,如圖1所示。 7 6 5 4 3 2 1 0 BSY DRD DWF DSC DRQ CRR IDX ERR 表1 7 6 5 4 3 2 1 0 BBK UNC 0 IDNF 0 ABRT TONF AMNF 表2 希捷硬盤電源復位設置 這個功能的升級源於客戶發過來的一個希捷酷魚11代(Barracuda 7200.11)320GB硬盤。 客戶反映該硬盤在數據拷貝過程中經常卡死,程序無法自動完成軟復位和硬復位,需要手動電源復位。 開發者在研究了這個硬盤以後發現,這種硬盤在遇到壞道時卡死,但同時“BSY”位不置“1”,仍然保留卡死之前的就緒狀態,因此程序無法判斷硬盤的真實狀態,不會觸發軟復位,硬復位和電源復位。 這是硬盤設計上的缺陷,因為根據ATA協議規定,當設備卡死無法響應外部命令時,狀態寄存器“BSY”位必須置“1”。 針對這種情況,開發者增加了電源復位設置功能,由用戶指定觸發電源復位的條件(狀態寄存器的bit位)。 使用這個功能時,用戶首先必須判斷硬盤卡死時的狀態,即狀態寄存器的各個bit位是否生效。 本文用上述的硬盤為例說明(具體步驟請參照程序安裝包對應視頻)。 在沒有設置電源復位條件時,我們可以打開兩個分區,如圖2所示。 圖2 因此當前硬盤卡死時的標誌就是上述的幾個bit位有效,必須觸發電源復位。 在程序中設置好相應的狀態bit位以後(圖5),硬盤的第三個分區也能夠打開,如圖6所示. 圖5(圖中“DWF”後應為“DRD”) 硬盤信息獲取 硬盤信息獲取功能用於獲取硬盤的型號,固件版本號,序列號,LBA和緩存大小,如圖12所示。 這個功能被整合到“固件加載”菜單,其目的就是為了配合“西數硬盤固件加載”功能,使得用戶能夠有效判斷硬盤的參數能否正確獲取。 西數硬盤固件加載技術 此項技術的引入在於解決西數ROYL系列硬盤在一個固件存放頭損壞的情況下無法加載固件的故障。 這種故障的表現是:硬盤通電以後,電機起轉,磁頭嘗試尋道並發出輕微的“咯咯”摩擦聲,嘗試兩三次以後,電機停轉。 硬盤這時工作在電路板模式,仍然報告狀態就緒。我們將硬盤連接到數據指南針,獲取硬盤信息如圖7所示。 由圖可知,只有硬盤型號被識別,固件版本,序列號,容量和緩存容量為空。 這說明硬盤固件沒有加載,硬盤型號是從電路板上識別到的。 然後,我們點擊“主頭加載”(本例中是副頭故障),讓硬盤從主頭加載固件並複位,再次獲取硬盤信息如圖8所示。 這時,硬盤已經從主頭固件啟動並完成初始化,所以硬盤的全部信息都正確地獲取到了。 圖7 附註:此次升級將日立硬盤固件加載和西數硬盤固件加載整合到同一個菜單,這裡順帶說明日立硬盤固件加載功能。 日立硬盤加載技術在這次升級中作了優化,開發者將所有硬盤系列資源整合到了一起(包括最新的7232,5450等系列),原來的資源選擇框變成了“自動加載”按鈕。 用戶不再須要選擇硬盤系列,直接點擊“自動加載”,程序會自動判斷硬盤系列並加載相應資源。 數據指南針的東芝和富士通專修接口 這個功能使得數據指南針可以直接訪問連接到東芝和富士通專修終端的硬盤。 此功能的設計旨在讓用戶在使用專修檢測修復完固件以後,能夠直接訪問數據,而不必將硬盤從專修終端取下連接到數據指南針。 東芝和富士通硬盤分頭鏡像 這個功能用於東芝和富士通硬盤的分頭鏡像,適用於單個磁頭損壞的多磁頭硬盤。 此功能的加入進一步完善了數據指南針的分頭鏡像技術。 其中,富士通的分頭鏡像更是獨家支持,如圖11所示。 圖11 分頭鏡像功能是通過專用的廠家指令來實現。 當用戶選擇對應的硬盤型號時,程序向硬盤發送相應的指令;硬盤返回每個磁頭對應的LBA給程序。 程序通過硬盤返回的數據,創建磁頭位圖。 這樣,在鏡像過程中,硬盤就會根據用戶的選擇,跳過屏蔽的壞磁頭的數據。 這樣做的好處是能夠安全地讀出完好磁頭上的數據的同時又不會損傷盤片。 具體說明可以參見上文西數硬盤固件加載技術部分對於分頭鏡像的描述。 鏡像過程中扇區實時查看 扇區實時查看是指在數據鏡像拷貝過程中,程序實時顯示當前拷貝扇區的十六進制數值(圖12)。 這是一個非常有用的功能,其目的在於讓用戶能夠很清楚地判斷當前的鏡像是否有意義。 以前,有些用戶在花費了數小時做完鏡像以後,才發現鏡像的數據全是“4040”或者其它無意義的數據,極大地增加時間和人工成本。 有了這個功能以後,用戶就能在鏡像過程中判斷數據是否有效,是否值得繼續鏡像。
圖1
下面介紹狀態寄存器和錯誤寄存器每個bit位含義。
如表1所示,狀態寄存器各bit位含義如下:
BSY:硬盤忙碌,
DRD:硬盤就緒
DWF:硬盤寫入失敗
DSC:硬盤尋道完成
DRQ:硬盤數據傳輸請求
CRR: ECC校驗更正
IDX :索引
ERR:當前命令執行發生錯誤
如表2所示,錯誤寄存器各bit位含義如下:
BBK:扇區被標記為壞扇區
UNC: ECC錯誤無法更正
IDNF:扇區ID丟失
ABRT:命令被終止
TONF: 0磁道損壞
AMNF:扇區地址標記丟失
但是,我們也注意到硬盤的狀態報告為“Error”,同時終端面板上“DRD”、“DWF”、“DSC”、“ERR”燈亮,如圖3所示。 接著,查看扇區發現扇區都是“4040”(圖8),即無法訪問,硬盤此時已經卡死,無法響應外部命令。
圖3
圖4
圖6
這個功能能夠有效解決部分希捷7200.11和7200.12硬盤卡死後仍然報告狀態為就緒的故障。 目前我們只發現希捷硬盤存在此故障,如果用戶認為其它品牌硬盤有相似的症狀,也可以嘗試此功能。
圖8
硬盤固件加載以後,我們進入Data Compass Explorer順利打開了分區(圖9)。
圖9
這個硬盤有6個磁頭,損壞了一個磁頭,數據的完整率為83%(理論數值)。 我們可以先查看目錄,直接提取用戶的重要數據。 當然,出於數據安全的考慮,可以採用分頭鏡像技術,先把完好磁頭的數據鏡像出來,以避免完好的磁頭在和損壞的磁頭一起動作時損壞。 如圖10所示,我們創建磁頭位圖以後,將邏輯1頭(H1)去掉,分頭鏡像剩下的5個頭的數據,這樣可以恢復大概80%(理論數值為83%,需將壞道考慮進去)的數據。 這80%的數據很大可能就是客戶需要的數據。 這種情況下我們不需要更換磁頭就能恢復客戶的數據,節省了大容量硬盤開盤帶來的一大筆成本。 這是很有意義,很實用的一個技術,因為有些客戶的數據並不是那麼重要,他們沒有意願更換磁頭,我們就可以通過指定磁頭加載固件,然後分頭鏡像來恢復數據。 同時,我們在實際工作中還發現,有些硬盤的磁頭並不是全部損壞,只是性能降低了,在分頭鏡像過後,磁頭竟然又變好了。 這可能是因為,磁頭組件是一個整體,在分頭鏡像過程中,損壞的磁頭和完好的磁頭一起動作,慢慢地性能就變好了。
圖10
這裡需要強調,並不是所有的磁頭損壞的情況都可以使用固件加載技術。 這是因為西數固件只有兩份,分別存放在邏輯0頭(主頭)和邏輯1頭(副頭),如果主頭和副頭全部損壞,加載其它磁頭也沒有效果,因為其它磁頭上沒有固件,無法讓硬盤工作。 因此,用戶需要正確判斷硬盤是否能夠使用固件加載技術。 用戶必須牢記,適用固件加載技術的硬盤故障表現是:硬盤通電以後,電機起轉,磁頭嘗試尋道並發出輕微的“咯咯”摩擦聲,嘗試兩三次以後,電機停轉。
圖12