![]() |
學校地址:湖南省 長沙市 雨花區 車站南路紅花坡路口 |
![]() |
學校地址:湖南省 長沙市 雨花區 車站南路紅花坡路口 |
進入PC時代以后,硬盤的物理結構發生了一些變化,直接影響到相應的硬盤指令實現方式的變化。其中 重要的就是硬盤尋道方式的變化導致的格式化指令的變化。
什么是磁盤低級格式化:磁盤為了達到隨機存取的目的,需要在盤的磁道上規劃出扇區,每個扇區以引導標記和扇區標記作為扇區的起始,然后才是扇區的內容,后面還有校驗標記。低級格式化就是在磁道上標上這些標記而已。所以低級格式化的操作實際上僅僅是一個簡單的寫過程,寫的不是數據而是標記。低級格式化既不相當于對盤片的修整更不是盤片的再生。在軟盤和硬盤使用前都有低級格式化的過程,這個過程需也僅需一次,硬盤的低級格式化是在工廠里完成的。
硬盤曾經象軟盤一樣,是利用步進電機來控制磁頭的位置,進行尋道操作的。但是,隨著磁道密度的增加,步進電機的精度滿足不了更加精密的磁頭定位的需要了,這樣,硬盤生產商發明了一種更加先進的定位方式,即利用一個特殊的機器,在硬盤表面寫上同心的密集的伺服編碼,這種編碼代表了相應位置和硬盤旋轉中心的距離,密度是一般磁道密度的一倍到幾倍,利用音圈電機來線性地控制磁頭的移動,磁頭在移動過程中,不斷地讀取伺服編碼的信息,這樣硬盤的控制系統就能隨時掌握硬盤磁頭的位置。這樣,早期的硬盤的尋道指令的執行是靠向步進電機發相應的指令,而現代的硬盤的尋道是靠一個硬盤上先期寫入的伺服信息和對音圈電機的指令來定位。 重要的是:伺服信息是在工廠利用特殊的儀器寫入的,硬盤內部的以音圈電機驅動的磁頭組件是無法寫入這重信息的。因為現在的的硬盤都有幾萬到幾十萬個磁道,磁道的寬度非常小,普通硬盤的磁頭無法在沒有定位基準的情況下寫入定位信息。
除了這些信息,硬盤的磁道間距和每磁道的扇區數量現在都是隨著磁道距離圓心的距離變化的,一般來說,目前的硬盤這種變化有100次或更多。也就是說,硬盤表面分成了很多的區,在這些區域里,硬盤的磁道間距和每扇區的扇區數量是一樣的,但不同的區域,就是不一樣的了。
另外,硬盤上數據的編碼也不僅僅是將主機傳來的數據直接寫到介質上,在每個扇區的起始,都有一些記錄這個扇區狀態的編碼,俗稱灰碼,在扇區后面,都有一些ECC校驗碼。一般來說,ECC糾錯可以糾正大約10多個含有錯誤的字節的讀出錯誤。
從上面的討論能夠知道,目前的硬盤在bios的配置里看到的扇區,磁道,磁頭的數量都是一種邏輯值。很明顯,目前的硬盤雖然很多是1個磁頭或2個磁頭的,但是在bios里,或者在硬盤的調用指令里面,磁頭的數量都是15或者16。這是因為硬盤內部有個將實際的物理扇區轉換為邏輯扇區的算法,用戶能訪問的,是經過轉化后的邏輯扇區,而不是實際的和物理磁頭對應的物理扇區。這樣,用戶其實是無法對物理意義上的硬盤進行操作的,就更不用說低級格式化了。
現在,市面上的一些所謂的低級格式化軟件,其實就是在調用硬盤的一個叫做‘格式化磁道’的指令,這個指令是IDE硬盤的標準指令。老式的硬盤在執行這個指令的時候,是將某個磁道檢驗一遍,并將有問題的扇區標記為壞扇區,再將這個磁道里的一個標記為未使用的扇區的標記改成那個壞扇區的標記,這個操作其實就是將一個好扇區替代一個壞扇區,并不是真正意義上的格式化,因為在此之前,磁道已經由工廠的寫伺服系統劃分好了。在這個指令之后,一般硬盤會將這些扇區重新寫零,并將后面的ECC編碼重置,這樣,經過這個操作,這個磁道上的數據就會被清零了。還有,這個指令實際上不是對物理的磁頭和磁道進行操作的,它所調用的磁道,扇區,磁頭表,是經過轉換后的。另外,在LBA 方式下,這個指令也可以執行,但是是利用經過了LBA到CHS轉換的CHS表。而現在的硬盤,對這個指令的實現僅僅是將相應的扇區寫零,并重置ECC碼而已。
因此,市面上的低級格式化軟件,其實無非是實現了重新置零和將壞扇區重定向兩個功能。
需要指出的是,近期的硬盤內部都已經有了自我檢測的功能,可以自行完成這種重定向的操作了,所以,基本上在單碟
實際上,在硬盤里本身就有個叫P-List的表,記錄的是出廠時實際的物理壞扇區位置,而硬盤的固件本身還在維護著一個叫G-List的列表,這個表記錄著在使用中發生了錯誤的扇區位置,在這兩個表里的扇區,是真實的物理壞扇區,但是這兩個表是無法用一般的硬盤指令來獲得以及修改的。當然,硬盤廠家的一些程序能夠修改這兩個表,但是,沒有各個廠家都通用的這個壞區表的修改程序。所以,外面的所謂低級格式化程序,其實都不是真正的低級格式化。
還有一種流傳的觀點:低級格式化會損傷硬盤。這個觀點是錯誤的。因為在執行格式化磁道的指令的時候,硬盤的物理狀態:磁頭飛行高度,硬盤旋轉的速度,讀寫電平等等都和正常讀寫一樣,這樣,硬盤并不會被這個指令所損傷?赡艿那闆r是:有些用戶在執行DM或LFORMAT 等軟件的時候,難以忍受其運行速度,用強行關電源的方式來終止其運行,這樣,硬盤可能就發生了不可修復的錯誤。其實,在硬盤進行任何寫操作的時候,強行關閉電源,都有可能發生這種不可修復的錯誤。這種錯誤可能是由于寫磁頭將伺服信息抹掉,或者是造成磁頭和硬盤表面接觸而導致劃傷,或者是硬盤在做扇區標記時寫錯誤等等。這種損傷其實是不規范操作造成的,而不是格式化磁道這個指令本身造成的。
|
|