硬盤(pán)基礎知識之物理結構
首先簡(jiǎn)單認識一下硬盤(pán)的物理結構,硬盤(pán)內部的物理結構很復雜,只能從大的顆粒度去看內部的結構
本文引用地址:http://dyxdggzs.com/article/201712/372676.htm總體來(lái)說(shuō),硬盤(pán)結構包括:盤(pán)片、磁頭、盤(pán)片主軸、控制電機、磁頭控制器、數據轉換器、接口、緩存等幾個(gè)部份。所有的盤(pán)片(一般硬盤(pán)里有多個(gè)盤(pán)片,盤(pán)片之間平行)都固定在一個(gè)主軸上。在每個(gè)盤(pán)片的存儲面上都有一個(gè)磁頭,磁頭與盤(pán)片之間的距離很小(所以劇烈震動(dòng)容易損壞),磁頭連在一個(gè)磁頭控制器上,統一控制各個(gè)磁頭的運動(dòng)。磁頭沿盤(pán)片的半徑方向動(dòng)作,而盤(pán)片則按照指定方向高速旋轉,這樣磁頭就可以到達盤(pán)片上的任意位置了。
先上幾張美圖:


基本的結構就是這樣子的,至于硬盤(pán)是如何進(jìn)行讀寫(xiě)的,必須要知道磁盤(pán)盤(pán)片是如何劃分的?否則你只知道磁頭在盤(pán)片上動(dòng)來(lái)動(dòng)去。
盤(pán)片上涉及的基本概念
整個(gè)硬盤(pán)上一般有很多的盤(pán)片組成,每個(gè)盤(pán)片如同切西瓜一樣被“切”成一塊一塊的扇面,同時(shí)沿著(zhù)半徑的方向被劃分成了很多同心圓,就是傳說(shuō)中的磁道,每條磁道被扇面切成很多的扇形區域叫做扇區(扇區是從磁盤(pán)讀出和寫(xiě)入信息的最小單位,通常大小為512字節),不同盤(pán)片上的同半徑磁道組成了柱面,這些都是磁盤(pán)物理上的概念,知道便可。有了這些概念,我幫便可以計算磁盤(pán)的容量:
磁頭數 × 磁道(柱面)數 × 每道扇區數 × 每扇區字節數
磁頭(head)數:每個(gè)盤(pán)片一般有上下兩面,分別對應1個(gè)磁頭,共2個(gè)磁頭;
磁道(track)數:磁道是從盤(pán)片外圈往內圈編號0磁道,1磁道...,靠近主軸的同心圓用于??看蓬^,不存儲數據;
柱面(cylinder)數:同磁道數量;
扇區(sector)數:每個(gè)磁道都別切分成很多扇形區域,每道的扇區數量相同;
圓盤(pán)(platter)數:就是盤(pán)片的數量。


硬盤(pán)上的數據定位
每個(gè)扇區可存儲128×2的N次方(N=0.1.2.3)字節的數據(一般為512B),扇區為數據存儲的最小單元,從上圖可知,外圈的扇區面積比內圈大,為何存儲的數據量相同,這是因為內外圈使用的磁物質(zhì)密度不同,但現在的硬盤(pán)已經(jīng)采用內外圈同密度物質(zhì)來(lái)存儲數據了,以減少類(lèi)似“大面積小數據”的浪費情況。(此時(shí)的內外磁道的扇區數量將不同,具體細節省略)
有了扇區(sector),有了柱面(cylinder),有了磁頭(head),顯然可以定位數據了,這就是數據定位(尋址)方式之一,CHS(也稱(chēng)3D),對早期的磁盤(pán)(上圖所示)非常有效,知道用哪個(gè)磁頭,讀取哪個(gè)柱面上的第幾扇區就OK了。CHS模式支持的硬盤(pán)容量有限,用8bit來(lái)存儲磁頭地址,用10bit來(lái)存儲柱面地址,用6bit來(lái)存儲扇區地址,而一個(gè)扇區共有512Byte,這樣使用CHS尋址一塊硬盤(pán)最大容量為256 * 1024 * 63 * 512B = 8064 MB(1MB = 1048576B)(若按1MB=1000000B來(lái)算就是8.4GB)
但現在很多硬盤(pán)采用同密度盤(pán)片,意味著(zhù)內外磁道上的扇區數量不同,扇區數量增加,容量增加,3D很難定位尋址,新的尋址模式:LBA(Logical Block Addressing)。在LBA地址中,地址不再表示實(shí)際硬盤(pán)的實(shí)際物理地址(柱面、磁頭和扇區)。LBA編址方式將CHS這種三維尋址方式轉變?yōu)橐痪S的線(xiàn)性尋址,它把硬盤(pán)所有的物理扇區的C/H/S編號通過(guò)一定的規則轉變?yōu)橐痪€(xiàn)性的編號,系統效率得到大大提高,避免了煩瑣的磁頭/柱面/扇區的尋址方式。在訪(fǎng)問(wèn)硬盤(pán)時(shí),由硬盤(pán)控制器再將這種邏輯地址轉換為實(shí)際硬盤(pán)的物理地址。
LBA下的編號,扇區編號是從0開(kāi)始。
邏輯扇區號LBA的公式:
LBA(邏輯扇區號)=磁頭數 × 每磁道扇區數 × 當前所在柱面號 + 每磁道扇區數 × 當前所在磁頭號 + 當前所在扇區號 – 1
例如:CHS=0/0/1,則根據公式LBA=255 × 63 × 0 + 63 × 0 + 1 – 1= 0
也就是說(shuō)物理0柱面0磁頭1扇區,是邏輯0扇區。

評論