- 數據恢復方法及案例分析
- 張京生 汪中夏 劉偉編著
- 14118字
- 2019-03-01 12:44:19
1.1 磁存儲介質的存儲原理
磁存儲,主要指磁表面存儲器MSM(Magnetic Surface Memory)。磁表面存儲器是用非磁性金屬或塑料做基體,在其表面涂敷、電鍍、沉積或濺射一層很薄的高導磁率、硬矩磁材料的磁面,用磁層的兩種剩磁狀態記錄信息“0”和“1”。基體和磁層合稱為磁記錄介質。
計算機中目前廣泛使用的磁存儲介質主要有硬盤、軟盤、磁帶三種形式。
1.1.1 硬盤
硬盤是使用最為普及的一種存儲介質,它的發展已經有50多年的歷史了。1956年IBM公司推出了世界上第一個硬盤驅動器RAMAC(Random Access Method for Accounting and Control)。其體積相當于兩個并排放置的200升的大冰箱,容量為5MB,價格超過5萬美元,也就是說,每1GB容量的價格為1000萬美元。現在,一個3.5英寸的硬盤的容量能達到750GB,而平均每1GB容量的價格不足1美元。硬盤的改進速度大大超過了半導體存儲器和電信數據的傳輸速率。
1.1.1.1 硬盤的基本結構
我們從物理和邏輯兩個方面來講解硬盤的結構。
1.硬盤的物理結構
硬盤是包含可移動部件的復雜的機電一體裝置。雖然它通常能安全可靠的運行,但任何人造設備都是有壽命的。硬盤要完成其盤片數據的讀/寫操作,通常由幾大部件組成,如圖1-1所示,而其中任何一個部件發生故障,都可能導致數據丟失。

圖1-1 硬盤的基本結構
一塊硬盤可能包含一片或多片磁盤片,磁盤片是通過在鋁或玻璃基片上再涂上一層微小的磁鐵氧化物顆粒而制成的。對于硬盤,磁盤片常簡稱盤片。盤片連續轉動,磁頭沿著半徑方向來回移動,這樣就可以使磁頭快速地達到盤片上的任何位置。一般臺式計算機使用3.5英寸硬盤,每塊硬盤安裝有1~6片盤片,可以存放大量的數據信息。每個盤片都被分隔成數萬個同心圓,這些同心圓就是常說的磁道。因為每一個磁道上都要存儲大量的信息,為便于管理,進一步把磁道分隔成一個個同樣大小的小區域,叫做扇區,每個扇區通常為512B(字節)大小。盤片按一定的規則安裝在一個電動機(spindle motor)上。電動機帶著盤片高速旋轉。盤片高速轉動,與之相配合的磁頭能夠進行扇區定位操作。一般每個盤片都有一個磁頭,并且所有磁頭的移動必須完全同步,如圖1-2所示。

圖1-2 盤片
硬盤的磁頭由上、下多個讀/寫頭固定在一個磁頭臂上,整體隨磁頭臂移動而移動,如圖1-3所示。磁頭的移動及一般的讀/寫原理是,第1個磁頭先寫一個磁道,第2個磁頭再寫一個磁道,依次類推,呈垂直讀/寫,所以數據被分很多段存在各盤面上,讀取時也是同理,這樣,多磁頭同時讀/寫可以大大提高磁盤工作效率。

圖1-3 磁頭
磁頭臂因需高速來回移動,不可抖動,并精確地移至原地址,各磁頭垂直度不可以超出允許誤差,所以磁頭和盤片都不可松動或偏移,否則將無法定位。目前技術水平還無法將誤差的磁頭或盤片調整回原位。
硬盤的電動機是恒定速度旋轉的。為保持其旋轉時的平衡,一般使用滾珠或液態高精度軸承,能承受24小時連續不斷地運轉,而不磨損,也不生成高溫和噪聲。
2.硬盤的邏輯結構
要想深入了解數據恢復的理論知識,除了需要掌握硬盤的物理結構,還必須十分了解磁盤的邏輯結構。
當我們通過操作系統訪問文件時,操作系統需要讀取磁盤相應的位置來調用我們需要的文件,那么這些文件是如何在盤片上分布的呢?這就是由盤片上相關的一些邏輯參數所決定的。
硬盤的盤片具有類似的格式,被劃分為幾個區域,這些區域稱為磁道、扇區、柱面,硬盤就是利用這幾個參數對數據進行尋址的。
(1)磁道
磁盤在出廠前,廠家會對盤片進行格式化,盤片被劃分成許多同心圓,這些同心圓就叫做磁道(Track),如圖1-4所示。

圖1-4 磁道
現在的大硬盤每一個盤面上都有上萬個磁道,為便于管理,這些磁道都有一個編號,磁道從外向內自0開始順序編號。
另外需要注意的是,盤片上的這些磁道是看不見的,它們只是盤面上以特殊形式磁化了的一些區域。
(2)扇區
盤面上的每個磁道都被劃分成一段段的圓弧,每段圓弧叫做一個扇區,如圖1-5所示。扇區從“1”開始編號,它是磁盤存儲的最小單位,扇區中的數據是作為一個單元同時讀出或寫入的,每個扇區包括512B的數據和一些其他信息。

圖1-5 扇區
(3)柱面
柱面是指各個盤面上編號相同的磁道構成的整體,如圖1-6所示。柱面的編號是和磁道的編號相統一的,都是從外向內自0開始順序編號。

圖1-6 柱面
(4)盤面和磁頭
硬盤中都會有一個或多個盤片,每一個盤片又有兩個盤面,即上盤面和下盤面,每一個盤面都有一個盤面號,按順序從上而下自“0”開始依次編號。
盤片是用來存儲數據的,那么數據是如何寫到盤片上去的呢?這個工作是由磁頭來完成的,硬盤的每個盤面都會對應一個磁頭,所以在硬盤系統中,盤面號也可稱為磁頭號,就是因為每一個有效盤面都有一個對應的讀/寫磁頭。
硬盤中數據的讀和寫都是按柱面進行的,也就是說,磁頭在讀/寫數據時首先在同一柱面上從“0”號磁頭開始進行操作,依次向下在同一柱面的不同盤面即磁頭上進行操作,當同一柱面上所有的磁頭全部讀/寫完畢后才移動磁頭轉移到下一柱面。
從這里可以看出,數據存儲到盤片上并不是寫滿一個盤面,再接下來寫下一個盤面的,而是一個柱面一個柱面地進行。這樣做是因為選取磁頭只需通過電子切換即可,而選取柱面則必須通過機械切換。電子切換的速度是相當快的,比在機械上磁頭向鄰近磁道移動快得多,所以數據的讀/寫按柱面進行,而不是按盤面進行,這樣就能夠有效地提高硬盤的讀/寫效率。
(5)邏輯參數的取值
硬盤是通過磁頭、柱面和扇區進行尋址的,BIOS中斷13H的入口參數中,磁頭寄存器占8位,其值為0H~FEH,所以磁頭號為0~254。柱面地址是10位,所以柱面號為0~1023,其低8位單獨占用一個寄存器,高兩位與扇區地址共用一個寄存器,占用共用寄存器中的高兩位。扇區地址占用共用寄存器中的低6位,其值為1H~3FH,所以扇區編號為1~63。
(6)硬盤尋址模式
硬盤有兩種尋址模式,一種就是前面提到的C/H/S(Cylinder/Head/Sector)尋址模式,也可以稱為三維地址模式,這是硬盤最早采用的尋址模式。當時硬盤的容量還非常小,人們采用與軟盤類似的結構生產硬盤,也就是硬盤盤片的每一條磁道都具有相同的扇區數,由此產生了所謂的3D參數(Disk Geometry),既磁頭數(Heads)、柱面數(Cylinders)、 扇區數(Sectors),以及相應的尋址方式。
在老式硬盤中,由于每個磁道的扇區數相等(與軟盤一樣),所以外磁道的記錄密度要遠低于內磁道,因此會浪費很多磁盤空間。為了解決這一問題,進一步提高硬盤容量(C/H/S尋址的容量是有限制的,后面會提到),人們改用等密度結構生產硬盤,也就是說,外圈磁道的扇區比內圈磁道多。采用這種結構后,硬盤不再具有實際的3D參數,尋址方式也改為線性尋址,即以扇區為單位進行尋址,這種尋址模式叫做LBA,全稱為Logic Block Address(即扇區的邏輯塊地址)。
扇區的三維物理地址與硬盤上的物理扇區一一對應,即三維物理地址可完全確定硬盤上的物理扇區。而在LBA方式下,系統把所有的物理扇區都按照某種方式或規則看做是一個線性編號的扇區,即從0到某個最大值方式排列,并連成一條線,把LBA作為一個整體來對待,而不再是具體的實際的C/H/S值,這樣只用一個序數就確定了一個唯一的物理扇區,顯然線性地址是物理扇區的邏輯地址。
為了與使用C/H/S尋址的老軟件兼容(如使用BIOS Int13H接口的軟件),在硬盤控制器內部安裝了一個地址翻譯器,由它負責將C/H/S參數翻譯成LBA地址。
那么LBA地址到底如何與實際的C/H/S值相對應呢?如何把C/H/S地址轉換為LBA地址,把LBA地址轉換成C/H/S值呢?
首先,我們來了解一下從C/H/S到LBA線性地址的轉換規則。由于系統在寫入數據時是按照從柱面到柱面的方式,在上一個柱面寫滿數據后才移動磁頭到下一個柱面,并從柱面的第一個磁頭的第一個扇區開始寫入,從而使磁盤性能最優,所以,在對物理扇區進行線性編址時,也按照這種方式進行。即把第一柱面(0柱)第一磁頭(0面)的第一扇區(1扇區)編為邏輯“0”扇區,把第一柱面(0柱)第一磁頭(0面)的第二扇區(2扇區)編為邏輯“1”扇區,直至第一柱面(0柱)第一磁頭(0面)的第63扇區(63扇區)編為邏輯“62”扇區,然后轉到第一柱面(0柱)第二磁頭(1面)的第一扇區(1扇區),接著上面編為邏輯“63”扇區, 0柱面所有扇區編號完畢后轉到1柱面的0磁頭1扇區,依次往下進行,直至把所有的扇區都編上號。
另外,還要注意C/H/S中的扇區編號從“1”~“63”,而LBA方式下扇區從“0”開始編號,所有扇區順序進行編號。
掌握了這個關系,我們就可以列出公式來對兩種尋址模式進行相互轉換。
從C/H/S到LBA的轉換公式:
這里規定用C表示當前柱面號,H表示當前磁頭號,S表示當前扇區號,CS表示起始柱面號,HS表示起始磁頭號,SS表示起始扇區號,PS表示每磁道扇區數,PH表示每柱面磁道數,所以公式為
LBA=(C-CS)×PH×PS+(H-HS)×PS+(S-SS)
一般情況下,CS=0,HS=0,SS=1,PS=63,PH=255。
下面帶入幾個值驗證一下:
● 當C/H/S=0/0/1時,代入公式得LBA=0
● 當C/H/S=0/0/63時,代入公式得LBA=62
● 當C/H/S=0/1/1時,代入公式得LBA=63
這里不再過多驗證,請讀者自己進行更多值的驗證,下面來看從LBA到C/H/S的轉換關系。
首先介紹兩種運算DIV和MOD(這里指對正整數的操作)。DIV為整除運算,即被除數除以除數所得商的整數部分。例如,3 DIV 2=1,10 DIV 3=3。MOD運算則是取商的余數。例如, 5 MOD 2=1,10 MOD 3=1。DIV和MOD是一對搭檔,一個取整數部分,另一個取余數部分。
各參數仍然按上述假設進行,則從LBA到C/H/S的轉換公式為:
C=LBA DIV (PH×PS)+CS
H=(LBA DIV PS)MOD PH+HS
S=LBA MOD PS+SS
同樣可以帶入幾個值進行驗證:
● 當LBA=0時,代入公式得C/H/S=0/0/1
● 當LBA=62時,代入公式得C/H/S=0/0/63
● 當LBA=63時,代入公式得C/H/S=0/1/1
1.1.1.2 現代硬盤的結構及其固件
1.現代硬盤結構剖析
前面介紹了硬盤的基本結構,為了讓讀者更好地理解硬盤的原理和運行機制,下面再對硬盤的結構進行詳細剖析。
硬盤驅動器由兩部分組成:機械部分和印制電路板(PCB),機械部分又稱為磁頭-磁盤組件(HDA)。HDA是硬盤驅動器中唯一的機械部件,它還包含有一片執行前置放大器/轉接器功能的芯片。PCB由若干芯片組成,它們包括控制機械部件的芯片、對磁盤表面的數據進行編/解碼的芯片和與外部接口交換數據的芯片等。PCB位于HAD的外部,一般是在下方。
(1)硬盤的機械部分
硬盤的整個結構是基于保護其靈敏的機械部件不受環境因素的影響而設計的。硬盤盤腔中的空氣是不能有灰塵的,因此機械部分的組件是在每立方米少于100個微塵粒子的工作間(也就是所謂的“100級清潔空間”)裝配完成的。
HDA盤體有一個填充有緊密的空氣過濾材料的開口,用于平衡HDD內外的空氣壓力。不過如果硬盤落入水中,水就會沿著此開口進入硬盤內部。盤片的旋轉引起的空氣流經常會撕碎不知如何進入的灰塵。
硬盤的盤體包括由主軸電動機驅動的盤片,帶有定位系統和放大信號的前置放大器/轉接器的磁頭。盤片是一種鋁制的圓盤(少量是陶瓷或特殊玻璃制成的),它擁有最高精度等級的光滑表面(除了停泊區),由于分子吸引力的緣故,如此光滑的表面會將磁盤和磁頭黏合在一起。為了防止磁盤與磁頭粘連在一起,生產商在磁頭和磁盤接觸的區域使用了特殊的激光防滑齒。由于使用了真空沉積工藝生成的氧化鉻覆蓋層(磁性物質)或鈷層,磁盤具有特殊的磁性質。氧化鉻覆蓋層具有更高的硬度和抗磨損性,而以前使用氧化鐵做磁性物質然后在其上覆蓋一層軟涂層的磁盤非常容易損壞。
磁盤由專門的三相電動機驅動。磁盤的固定部分包括三個“星形”連接的線圈、位于中央的軸承和由稀土金屬制造的永久磁體。為了減少變形和獲得很高的轉速,生產商必須在主軸電動機上使用特殊的軸承,如滾珠軸承或改良的液態軸承(使用專門的潤滑油以增強電動機耐久力)。液態軸承具有低噪聲和熱量少的特點。IDE硬盤的轉速一般為5400rpm或7200rpm;SCSI硬盤的轉速一般為10000rpm或15000rpm。
磁頭也是一種非常精密的部件。磁頭與芯片一樣使用光刻技術生產。磁頭的陶瓷表面與盤片一樣光滑。磁頭的驅動臂是由銅線制成的平直的電磁線圈,懸浮在永久磁鐵的磁極間。驅動臂一端固定在軸承的轉動桿上,另一端連接到磁頭支架。磁頭支架是有彈性的,允許磁頭以一定的高度“飛行”在盤片表面;飛行的高度通常為幾十分之一微米。
推動磁頭組運動的傳動系統與擴音喇叭的線圈類似,叫做音圈。音圈的工作原理與普通電動式揚聲器的工作原理相似(也就是說,在磁芯上纏繞銅線)。位置調節線圈被永久磁體制成的定子圍繞。當一定電壓的電流流過使線圈產生極性,從而以一定加速度推動磁頭轉向一定位置;這樣磁頭就可以在音圈的作用下定位于盤片表面的任意位置。磁頭在硬盤斷電時使用特殊的臂鎖固定在停泊區。兩種最常用的臂鎖是磁性臂鎖和氣動臂鎖。磁性臂鎖利用固定在硬盤內部的一塊小磁體,吸引音圈的鐵磁物質,使磁頭固定在停泊區。氣動臂鎖(或空氣鎖)也將磁頭固定在停泊區防止移動;當盤片開始旋轉時產生的氣流使氣動臂鎖解開從而解除固定狀態。
在HDA內的電子部件只有從磁頭接收信號的前置放大器/轉接器。前置放大器/轉接器位于靠近磁頭的地方,以最大限度地減少外部干擾。前置放大器/轉接器通過彈性電纜與磁頭和硬盤的其他電子部件相連。音圈,有時主軸電纜也使用同一電纜相連。不過主軸通常是由單獨的電纜供電。
HDA通常使用兩個接頭與PCB連接。其中,一個是為主軸電動機供電的三相中心抽頭電纜接頭;另一個是與前置放大器/轉接器及音圈電纜傳遞信號的電纜接頭。
(2)硬盤的印制電路板
現代硬盤的電路設計的特點是使用高集成度的芯片,它們的結構如圖1-7所示。

圖1-7 現代硬盤的電路設計
如圖1-7所示,整個電路設計基于四種芯片。
① 系統控制芯片,包括讀/寫信道、磁盤控制器和RISC(精簡指令計算機)控制處理器(微處理器);
② Flash ROM芯片(內含硬盤固件);
③ 主軸電動機和音圈控制芯片;
④ ROM芯片(用做緩存)。
由于以上各部分的功能存在根本的差別,所以更進一步的集成不太可能實現。
當前最先進的系統控制器是由Cirrus Logic公司生產的芯片。它明顯的突破是將讀/寫信道、處理器和磁盤控制器集成在一個芯片上;不過由于設計方法不成熟,使用此芯片的Fujitsu MPF3xxxAT和MPG系列硬盤頻繁出現故障。
微處理器采用RISCz結構。當加電后硬盤的Reset電路向微處理器發出“Reset”信號,使微處理器執行ROM中的自檢程序,清空存儲器和磁盤控制器及其他連接到內部數據總線的可編程芯片的工作數據區。然后微處理器檢查硬盤運轉時使用的內部信號,如果沒有發現緊急警告,就啟動主軸電動機。
接下來一步是HDD內部測試:檢查數據緩沖RAM、磁盤控制器和輸入微處理器的信號的狀態。之后微處理器開始分析脈沖信號直到主軸電動機達到規定的轉速。當電動機達到規定的轉速后,微處理器就開始操作定位電路和磁盤控制器,將磁頭移動到固件數據區,并將固件數據載入到RAM中以供進一步操作。最后微處理器切換到準備就緒狀態,并等待計算機主機命令。在等待模式下,從計算機主機CPU發來的命令會引起HDD的所有電子部件的一連串動作以完成指定操作。
HDD讀/寫信道由前置放大器/轉接器(位于HDA內)、讀電路、寫電路和同步時鐘等組成。硬盤的前置放大器具有多個通道,每個通道連接到一個磁頭。各通道的切換由硬盤微處理器的信號控制。前置放大器中含有寫入電流開關和寫入出錯傳感器,當磁頭短路或斷路時就會發出出錯信號。當集成的讀/寫信道處于寫入模式時,它從磁盤控制器接收數據,同時接收寫時鐘信號,對數據進行編碼、預補償后將數據傳送到前置放大器寫入磁盤。當讀/寫信道處于讀取模式時,從前置放大器/轉接器來的信號傳送到自動控制電路,然后通過可編程的濾波器、校正補償電路和脈沖檢測電路將信號轉換為數據脈沖,再發送到磁盤控制器進行解碼,最后傳送到外部接口。
磁盤控制器是硬盤中最復雜的部件,它決定了HDD和主機之間的數據交換速度。
磁盤控制器擁有四個端口分別連接到主機、微處理器、緩沖RAM和數據交換信道。磁盤控制器是由微處理器驅動的自動部件,在主機中只有標準的任務文件可以訪問磁盤控制器的寄存器。磁盤控制器初始化階段由微處理器控制:設置數據編碼方法,選擇糾正錯誤的方法,定義可變的或固定的扇區劃分,等等。
緩沖管理器是磁盤控制器功能的一部分,用于管理緩沖RAM?,F代HDD的緩沖RAM的容量為512KB~8MB。緩沖管理器將緩沖RAM分割成獨立的緩沖片斷,微處理器使用專門的寄存器保存這些緩沖片斷的地址以供存取操作。當主機使用其中一個緩沖片斷交換數據時,讀/寫信道可以使用另外的緩沖片斷交換數據。這樣系統可以實現多通道處理從/向磁盤讀/寫數據或與主機之間的數據交換。
主軸電動機控制器控制三相電動機的運轉,它由硬盤微處理器控制。主軸電動機的運轉有三種模式:啟動模式、加速模式和穩定模式。讓我們先分析一下啟動模式。加電后一個Reset信號被發送到微處理器,對主軸電動機控制器初始化內部寄存器。硬盤微處理器產生相位切換信號;主軸電動機低速旋轉產生自感應電動勢(EMF)。硬盤微處理器檢測到自感應電動勢(EMF)并根據此信號控制轉速。在加速模式下微處理器加快相位切換并測量主軸電動機的轉速,直到主軸電動機達到額定轉速。當達到額定轉速后主軸電動機進入穩定模式。在此模式下,微處理器根據相位信號計算主軸電動機的旋轉周期并據此調整轉速。在磁頭從停泊區移走后,硬盤電路使用伺服標記跟蹤旋轉穩定性。
音圈控制器產生控制電流以移動位置調節器并使磁頭定位于指定的磁道上。電流值由微處理器根據磁頭位置與相關磁道的數字誤差信號(位置誤差信號或PES)來計算。電流值以數字形式傳送給微處理器,計算后發回的模擬信號被放大后提供給音圈。
2.現代硬盤的固件
(1)什么是硬盤的固件
Firmware(固件)是固化在硬件中的軟件,存儲著計算機系統中硬件設備最基本的參數,為系統提供最底層、最直接的硬件控制。在開機過程中,首先執行固件來完成對硬件設備的初始化,使操作系統能夠正確識別硬件并為其他軟件的運行提供最基本的依據。
(2)硬盤固件的組成及作用
固件數據是HDD內部電路發揮功能所必需的,通常對用戶來說是隱藏的。固件數據可以劃分為如下幾部分:
● 伺服信息或伺服字段;
● 低級格式化;
● 駐留固件微程序(操作程序);
● 配置表和設置;
● 缺陷表。
① 伺服信息。
伺服信息是HDD中用于磁頭驅動的伺服系統所必需的,它們用做磁頭定位,保證磁頭準確地定位于指定的磁道。伺服信息在生產過程中通過專門的伺服窗寫入已經裝配好的HDA中。伺服窗隨后被用標簽封閉,標簽上寫有“警告!禁止打開”。伺服寫入過程實際上是在一個特殊的工具中——伺服寫入器是使用驅動器自身的磁頭寫入的。磁頭位置調節器的重置是通過伺服寫入器的專門推進裝置使用比磁道間隔更小的穩定步進完成的。
② 低級格式化。
磁道的起始位置由標志信息確定,每個磁道被分為扇區和伺服字段。每個扇區的格式包括ID字段、數據字段、同步zone和空白空間。每個扇區的起始位置包括用于定相的同步zone和數據閘門同步。ID字段包括位置記號、物理扇區地址、標記字節和CRC字節。省略標志符的格式化最近變得流行起來,生產商使用此種方法在沒有ID字段的磁道上組織數據(這樣做可以增加驅動器可用空間)。他們現在使用伺服字段直接指向磁道上的物理扇區的方法來代替ID字段的功能。這樣做需要同時讀(寫)磁道上所有扇區到(從)RAM中的映像。因此為了讀一個扇區,驅動器需要復制整個磁道到RAM中,讀取扇區不再是從磁盤上而是從RAM中。寫入操作也是同樣的過程。在寫扇區時驅動器首先讀取整個磁道,在RAM中修改后再將整個磁道寫回磁盤。
③ 駐留固件微程序。
微處理器的固件(微程序)是HDD部件運轉所必需的一些程序。這些程序包括用于初始化診斷、控制主軸電動機旋轉、控制磁盤控制器、緩沖RAM之間交換數據的程序,等等。
大多數型號的HDD的固件微程序存儲在處理器的內部ROM中,某些型號使用了外部Flash ROM,還有些型號的HDD的部分固件程序存儲在磁盤上專門的固件區,而用來初始化、將固件數據從磁盤載入RAM的基本引導程序則存儲在ROM中。
由于實際的固件模塊在運行之前需要首先被載入到RAM中,所以它們被稱為駐留模塊。生產商將部分固件存儲在磁盤上不僅是為了節省ROM空間,也是為了在發現微程序有錯誤時可以容易地修改。大部分生產商的互聯網網頁上含有為此目的而發布的升級程序。重寫磁盤上的固件要比使用編程器對微處理器編程容易得多。
④ 配置表和設置。
配置表和設置包括磁盤空間的邏輯結構和物理結構。這些表使PCB(同一系列的驅動器的PCB是相同的)可以按照某一特定的驅動器型號自行配置。事實上,在設計某一特定型號的驅動器時——如使用2個盤片的80GB驅動器,可以同時自動的產生使用1個盤片的40GB的“二分之一容量”型號,和只使用盤片的一面的20GB的“四分之一容量”型號。這樣生產商可以向市場提供不同容量的多種型號的驅動器而不用考慮研究和開發費用。除此之外,低級型號的驅動器可以使用由于某種原因不能用于完全容量型號的盤片,如“二分之一容量”型號可以使用某一面有缺陷的盤片。
⑤ 缺陷表。
現代硬盤的生產技術不能實現無缺陷的生產。不同成分的介質材料、拋光缺陷、磁層的雜質等,都會導致讀/寫數據時出錯。早期的驅動器將缺陷磁道表寫在HDA外面的標簽上,并且每個驅動器都有一些保留空間。例如,HDD ST225(20MB)實際容量為21.5MB,也就是說,有1.5MB的額外空間分配給缺陷扇區和磁道?,F代HDD也有額外的空間,不過對于用戶來說是隱藏的,只有驅動器微處理器才可以訪問。額外空間的一部分分配給HDD固件、配置表、S.M.A.R.T. 、計數器、工廠信息、缺陷表等,其他部分被保留用于以后代替缺陷扇區。
缺陷表在工廠測試時由生產商填充,檢測發現的所有壞扇區都被添加到缺陷表,這一過程被稱為缺陷調整(也叫做更新缺陷)。之后,若在HDD使用過程中發現新的缺陷扇區,驅動器就會自主重定向到保留扇區。因此,所有的現代驅動器出廠時都沒有(可見的)缺陷扇區。
大部分型號的HDD有兩個缺陷表:基本缺陷表,也稱P表(P-List),以及可增長的缺陷表,也稱G表。P表在工廠測試——SELFSCAN(智能的內置程序)時填充。G表不是在工廠中填充,它被設計用來添加驅動器使用過程中出現的缺陷。
為了使用G表的功能,幾乎所有的HDD的用戶命令中都包含“指派”命令——即用保留扇區替代缺陷扇區。很多程序包括生產商推薦的處理壞扇區的程序中都包含“指派”命令。Western Digital驅動器的Data Lifeguard系統可以自動地在驅動器空閑時使用保留扇區替換缺陷扇區。在這一過程中,驅動器對自身的硬盤表面進行自測,將標記為壞扇區的缺陷扇區的數據轉移到保留扇區;缺陷調整的機制與“指派”命令是同一的。Fujitsu、 Quantum、 Maxtor和IBM等驅動器生產商都實現了在驅動器寫入過程中自動調整缺陷的機能。因此在數據被寫入缺陷扇區時,驅動器會自動地重定向到保留扇區并將缺陷扇區標記為壞區然后將缺陷扇區的編號添加到G表。
專門用于調整壞扇區的程序有用于Fujitsu驅動器的FUJFMT.EXE程序,用于Western Digital驅動器的WDDIAG.EXE程序,Samsung提供的ShDiag.exe程序,等等。
下面詳細介紹缺陷調整的兩種機制。當使用替代(指派)機制時驅動器將重定向的扇區標記寫入壞扇區的ID字段,并將保留扇區的編號寫入壞扇區的數據字段,也就是說,用替代扇區來讀/寫數據。通常,替代扇區為用戶數據區之后的第一個可用扇區,如圖1-8所示。

圖1-8 扇區重定向的方法
當對缺陷扇區進行訪問操作時,驅動器微處理器讀出扇區標記和指派地址,然后將磁頭重定位到保留區,從保留區的好扇區中讀/寫數據。缺陷扇區對驅動器來說是不可見的,不過在每次重定位到保留區之前仍然要先尋址到缺陷扇區。這一過程會伴隨咔嗒聲和輕微的減速?!爸概伞边^程只允許對數據字段有缺陷的扇區重定向,若ID字段損壞或伺服字段損壞時就不能使用“指派”的方法調整扇區。
在工廠中隱藏缺陷扇區的另一種機制是跳過(丟棄)缺陷扇區。當使用此方法時,缺陷扇區被忽略,它的編號被分配給其后的扇區,而最后一個扇區被順序移位到保留區,如圖1-9所示。

圖1-9 丟棄扇區的方法
這種隱藏扇區的方法破壞了低級格式化的連續完整性,LBA轉換為PCHS的系統也應該考慮跳過的壞扇區。因此,使用此方法隱藏缺陷扇區后需要重建譯碼表并低級格式化以保護用戶數據。這種方法只有在工廠模式下才能進行。在FUJFMT.EXE程序中使用了此種方法對Fujitsu驅動器調整壞扇區。
(3)硬盤的保留區
現代硬盤驅動器中有相當一部分磁盤空間對于用戶是隱藏的,隱藏部分包括服務區(固件區)和用于替代缺陷扇區的保留區。在普通操作模式下,隱藏部分只有驅動器微處理器才可以訪問。用戶可訪問的工作區通常稱為邏輯磁盤空間,它的大小和磁盤所標注的容量是一致的。對用戶區的訪問是通過LBA地址(從0到N)所表示的連續的邏輯扇區進行的。邏輯磁盤空間與物理磁盤的對應關系由一個特殊的程序——譯碼表確定。譯碼表中包含磁盤的物理格式、zone的分配和隱藏的缺陷扇區與磁道等內容。
對固件區的訪問只有在驅動器的特殊模式——工廠模式下才能進行。驅動器進入安全模式后就可以使用附加的工廠命令集。工廠命令可以用來讀/寫固件扇區,獲得模塊和表在固件區的位置映像,訪問zone分配表,將LBA轉換為PCHS或將PCHS轉換為LBA,低級格式化,讀/寫Flash ROM和其他操作。
在HDD的設計過程中開發者規定了驅動器運轉所需的固件數據和固件所占據的柱面數,因此邏輯0柱面是固件區之后的第一個柱面,如圖1-10所示。不同型號的HDD可能有不同的磁盤空間結構。

圖1-10 磁盤空間的邏輯結構
(4)生產硬盤的流程
硬盤工廠在生產硬盤時都有一個基本的處理流程:
① 在生產線上裝配硬盤的硬件部分,用特別設備往盤片上寫入伺服信號(Servo Write)。
② 格式化硬盤的系統保留區(Service Area),并向系統保留區寫入程序模塊和參數模塊。
系統保留區一般位于硬盤0物理面的最前面幾十個物理磁道。寫入的程序模塊一般用于硬盤內部管理,如低級格式化程序、加密解密程序、自監控程序、自動修復程序等。寫入的參數多達近百項,如型號、系列號、容量、口令、生產廠家與生產日期、配件類型、區域分配表、缺陷表、出錯記錄、使用時間記錄、S.M.A.R.T.表等,數據量從幾百KB到幾MB不等。有些參數一經寫入就不再改變,如型號、系列號、生產時間等;而有些參數則可以在使用過程中由內部管理程序自動修改,如出錯記錄、使用時間記錄、S.M.A.R.T.記錄等。也有些專業的維修人員可以借助專業的工具軟件,隨意讀取、修改寫入硬盤中的程序模塊和參數模塊。
③ 將所使用的盤片表面按物理地址全面掃描,檢查出所有的缺陷磁道和缺陷扇區,并將這些缺陷磁道和缺陷扇區按實際物理地址記錄在P表中。
這個掃描過程非常嚴格,能把不穩定不可靠的磁道和扇區也檢查出來,視同缺陷一并處理?,F在的硬盤密度極高,盤片生產過程再精密也很難完全避免缺陷磁道或缺陷扇區。一般新硬盤的P表中都有少則數百,多則上萬個缺陷記錄。
P表保留在系統保留區中,一般用戶無法查看或修改。如果是SCSI硬盤的話可以用多種通用軟件查看到P表,因為各種牌子的SCSI硬盤使用兼容的SCSI指令集。而不同品牌、不同型號的IDE硬盤,使用各自不同的指令集,想查看其P表只能借助有針對性的專業的工具軟件來進行。
④ 系統調用內部低級格式化程序,根據相應的內部參數進行內部低級格式化。在內部低級格式化過程中完成對所有的磁道和扇區進行編號、信息重寫、清零等工作。在編號時,采用跳過的方法忽略掉記錄在P表中的缺陷磁道和缺陷扇區,保證以后用戶不會也不能使用到那些缺陷磁道和缺陷扇區。因此,新硬盤在出售時是無法檢測到缺陷的。如果是返修的硬盤,一般就在廠家特定的維修部門進行檢測維修。
(5)硬盤固件出錯的表現
正常情況下,硬盤在接通電源之后,都要進行“初始化”過程,這個過程也可以稱為“自檢”,這時,硬盤都會發出一陣自檢的聲音。這些聲音長短和規律視不同品牌而各不一樣,但同型號的正常硬盤的自檢聲音是一樣的。
這些自檢的聲音是由于硬盤內部的磁頭尋道及歸位動作而發出的。為什么硬盤剛通電就需要執行這些動作呢?簡單地說,是硬盤在讀取記錄在盤片中的初始化參數,這些參數就是前面介紹的硬盤的“固件”。
每個硬盤內部都有一個系統保留區,里面分成若干模塊,保存有許多參數和程序。硬盤在通電自檢時,要調用其中大部分程序和參數。如果能讀出那些程序和參數模塊,而且校驗正常的話,硬盤就進入準備狀態。如果某些模塊讀不出或校驗不正常,則該硬盤就無法進入準備狀態。一般表現為,BIOS無法檢測到硬盤或檢測到硬盤卻無法對它進行讀/寫操作。
硬盤有一系列基本參數,包括品牌、型號、容量、柱面數、磁頭數、每磁道扇區數、系列號、緩存大小、轉速、S.M.A.R.T.值等。其中一部分參數就寫在硬盤的標簽上,有些則要通過軟件才能測出來。這些參數僅僅是初始化參數的一小部分,盤片中記錄的初始化參數有數十個甚至數百個,硬盤的CPU在通電后自動尋找BIOS中的啟動程序,然后根據啟動程序的要求,依次在盤片中指定的位置讀取相應的參數。如果能讀出那些程序和參數模塊,而且校驗正常的話,硬盤就進入準備狀態。如果某一項重要參數找不到或出錯,啟動程序無法完成啟動過程,硬盤就進入保護模式。在保護模式下,一般表現為,BIOS無法檢測到硬盤或檢測到硬盤卻無法對它進行讀/寫操作。例如,某些系列硬盤的常見問題:美鉆二代系列硬盤通電后,磁頭響一聲,電動機停轉;Fujitsu某系列產品在通電后,磁頭正常尋道,但BIOS卻檢測不到;火球系列,系統能正常認出型號,卻不能分區格式化;Western Digital的EB、BB系列,能被系統檢測到,卻不能分區格式化,等等。
1.1.2 軟盤
軟盤雖然已經基本淘汰了,但誰也不能否認軟磁盤曾經的輝煌。軟盤方便、易于攜帶且價格便宜,曾經在存儲市場中占據一定的份額。
由于軟盤容量較小且容錯性較差,放置較長時間后磁盤容易損壞,所以軟盤一般不用做大量的數據備份,更多的是作為數據交換的介質。
曾經廣泛使用的是3.5英寸的軟盤,容量僅為1.44MB。這種軟盤的最大特點是便于攜帶,隨便一個衣服口袋都可以放下,而且它的盤片是密封的,不會在攜帶中造成軟盤損傷。但是它的容量太小,已經不能滿足需求,于是大容量的軟磁盤便應運而生。最早推向市場的大容量軟盤是Imation公司的LS-120和Iomage公司的Zip,它們的容量都超過了100MB。1997年10月Sony公司也推出了它的大容量軟盤產品HiFD,其容量達到200MB,規格依然采用3.5英寸,數據傳輸速率為3.6MB/s,并向下兼容。
大容量軟磁盤在市面上見到的有兩種:一種是其前身是3M公司的怡敏信(Imation)公司的產品,LS-120;另一種是Iomega公司的Zip。1996年MITSUMI公司發表了UHC高容量軟磁盤,但沒有推向市場。這三種盤的性能見表1-1。
表1-1 大容量軟磁盤比較

注:*指能夠讀/寫90mm(3.5英寸)1.44MB的盤片。
一張軟盤格式化后,被邏輯地分為
磁道(Track):磁盤上分成的數個同心圓環;
面(Head):分為0/1兩面;
扇區(Sector):磁道上儲存資料的區域,有幾部分。
3.5英寸軟盤的標準格式有720KB(80道、每道9個扇區)和1.44MB(80道、每道18個扇區)兩種,而5英寸盤的標準格式有1.2MB(80道、每道15個扇區)和360KB(40道、每道9個扇區)兩種。
1.1.3 磁帶
磁帶存儲可以說是最古老的存儲方式之一。從1952年第一臺13mm(0.5英寸)磁帶機在IBM公司問世以來,它已經走過了50多年的歷史,積累了大量的使用經驗和可靠性數據。
磁帶存儲是一種安全的、可靠的、易用的、效費高的數據備份方法。因為磁帶可以從驅動器上取出,因此可以實現非現場方式的保存或存放過去版本的數據。
磁帶存儲系統大都易于操作,甚至可以做成無人值守的數據備份和磁帶管理。磁帶的速度雖然比硬盤和光盤要慢,但它也能在相對短的時間內(如一個晚上)備份需要的數據。由于磁帶的可靠性很高(實踐證明,一盤磁帶上的數據可以保存30年以上),而且容量大(以目前的存儲技術,一盤磁帶壓縮后存儲容量可達70GB,磁帶庫則可擴展到幾十TB的水平),所以它是當之無愧的大容量數據備份的首選存儲介質。
磁帶品種較多,在選擇時要考慮多方面的因素。其中包括:
① 磁帶的密度和容量。磁帶有0.5英寸、8mm、4mm、0.25英寸等規格,每盒容量從幾十MB到幾GB,要選擇適合自己系統的磁帶。容量常常是指壓縮過的容量,通常采用壓縮比為2∶1折算。但如果要存儲的文件是已壓縮過的,不可能再壓縮,就需要選擇容量大一些的磁帶。
② 數據傳輸速率。如果備份數據量大,就需選擇數據傳輸速率大一些的,以減少備份所需的時間。
③ 磁帶壽命。它包括兩個指標;一是通過磁頭的次數,由于磁帶和磁頭在讀/寫時有摩擦,造成磁帶磨損,一般螺旋掃描式磨損較嚴重;二是保存壽命,可保存多少年,這與磁帶材料、保存環境有關。
④ 向下兼容。磁帶技術不斷更新,要求新的機器能讀出舊的、保存的磁帶。如果沒有這個功能,就需要花費人工和時間來進行磁帶轉換。
⑤ 記錄技術現在磁帶記錄技術主要有兩類。螺旋掃描記錄和直線記錄。8mm磁帶和4mm磁帶采用的是螺旋掃描記錄技術。記錄的軌跡與磁帶運動方向有一個夾角。這樣有利于提高存儲密度,但磁帶與磁頭間有包角,磨損較嚴重。磁帶機結構復雜,耐用性也差。DAT磁帶、IBM3480系列、DLT磁帶都是采用直線記錄方式。磁帶機結構簡單,磁帶的磨損也小,壽命長。
⑥ 邊寫邊讀功能即在寫入同時讀出檢查進行核對,以確保數據的可靠性,如有差錯可立即修改。IBM3480/3490、DLT、SLR、MLR磁帶機都有這一功能,但有此功能價格就上漲許多,通常采用的是寫后讀功能,一盒磁帶寫完后,要倒帶再從頭讀出檢查有無錯誤。這樣做要多花許多時間,還增加了磁頭和磁帶的磨損。
⑦ 磁帶機有不同的接口,如IDE接口、并行接口、SCSI接口、軟驅接口等。要選擇與機器相一致的磁帶。
下面介紹常見的幾種磁帶規格。
1.QIC磁帶
QIC磁帶采用的帶寬是6.25mm(0.25英寸),有帶盒,采用直線記錄方法?,F在常見的是兩種規格:DC6000和DC2000。
DC6000采用的磁帶機外形尺寸類似于130mm(5.25英寸)軟磁盤機。這種磁帶一盒的容量大。例如,TandbergData公司的MLR3,一盒容量可達25GB(壓縮后),持續傳輸速率為2MB/s,采用FastwideSCSI-2接口。DC6000由于體積大,單獨利用的不多,但組合成磁帶庫的倒不少。
DC2000采用的磁帶機外形尺寸類似于90mm(3.5英寸)軟磁盤機。它有時用Traven的名稱。DC2000不具備數據壓縮功能,也不具備即寫即讀功能。因此磁帶機結構簡單,成本低。再加上體積小容量大,適合個人電腦和中小型服務器使用。Seagate公司的Tapestor就是一種Traven3磁帶機。它壓縮后每盒磁帶容量為3.2GB,寫入速度為19MB/min。
2.8mm磁帶
8mm磁帶采用螺旋掃描記錄方式。這種磁帶1987年由Exabyte公司提出。長期以來也只有Exabyte公司生產。一盒磁帶最大容量14GB(壓縮后)。最近Exabyte公司發布新的Mammoth磁帶機,一盒容量提高到40GB(壓縮后),每小時可錄入21.6GB數據。1997年Sony公司也推出8mm磁帶機,容量為25GB,有3MB/s的傳輸速率。但它與現有的8mm記錄格式不兼容。
8mm磁帶機可組成磁帶庫。如Exabyte公司的210磁帶庫,它可安裝1~2臺磁帶機,可放置11盒磁帶,總容量可達154GB(壓縮后),連續傳輸速率為1MB/s(壓縮后)。
3.DOS磁帶
DOS磁帶采用的帶寬是3.81mm(0.15英寸),因此有時也稱為4mm磁帶。它最早是用于音樂存儲,通稱DAT磁帶。1991年建立統一標準,采用惠普等公司提出的標準,稱為DOS磁帶。
DOS磁帶采用螺旋掃描記錄方式,用數據壓縮技術來提高存儲量,多采用SCSI接口。DOS磁帶一盒最大容量可達24GB(壓縮后)。DOS磁帶機生產廠家有惠普公司、Seagate公司等,其中以惠普公司所占份額最大。生產廠家多,價格較低廉,容量和傳輸速率都適合網絡做備份用。但DOS磁帶記錄面積?。◣捥。┫拗屏巳萘亢蛡鬏斔俾实奶岣?。
惠普公司的SaveStoreDAT24就是采用DOS-3格式的磁帶機,在一盒磁帶上可存儲24GB (壓縮后),有即寫即讀功能。每小時可存儲7.2GB的數據。持續傳輸速率為1MB/s(未壓縮)。DOS磁帶也有磁帶庫,如惠普公司的SavestoreDAT24×6e,可放置6盒DOS-3磁帶。磁帶裝卸時間平均僅約14s。
4.DLT磁帶
DLT磁帶由DEC公司開發,現在主要生產廠家有惠普公司、Quantum公司。DLT磁帶寬度為13mm(0.5英寸),有帶盒,帶盒比一般錄相帶略短些。它采用直線記錄方式。由于并行多道記錄可以并行傳輸,傳輸速率高。一盒容量可達35GB。容量和傳輸速率都高于8mm和DOS磁帶。但價格較貴,適用于高檔服務器。DLT磁帶記錄面積大,在容量上很有潛力,是很有發展前途的技術,市場看好。
5.IBM3480系列
IBM3480系列實際上是一個磁帶庫。它采用13mm(0.5英寸)帶寬盒磁帶。一盒磁帶容量是630MB。現在的3590系列,每盒容量達10GB。3480/3590性能好,機器結構復雜,價格也高。
- 白話網絡安全2:網安戰略篇
- Rootkit和Bootkit:現代惡意軟件逆向分析和下一代威脅
- 暗戰亮劍:黑客滲透與防御全程實錄
- Mastering Kali Linux for Advanced Penetration Testing
- Applied Network Security
- 計算機網絡安全基礎(第5版)
- 數據安全與流通:技術、架構與實踐
- 華為防火墻實戰指南
- Disaster Recovery Using VMware vSphere Replication and vCenter Site Recovery Manager
- Cybersecurity Threats,Malware Trends,and Strategies
- 隱私保護機器學習
- 網絡空間安全實戰基礎
- 安全網絡構建
- Instant OSSEC Host-based Intrusion Detection System
- 網絡對抗的前世今生