硬盤基礎(chǔ)知識之物理結(jié)構(gòu)
首先簡單認(rèn)識一下硬盤的物理結(jié)構(gòu),硬盤內(nèi)部的物理結(jié)構(gòu)很復(fù)雜,只能從大的顆粒度去看內(nèi)部的結(jié)構(gòu)
本文引用地址:http://www.ex-cimer.com/article/201712/372676.htm總體來說,硬盤結(jié)構(gòu)包括:盤片、磁頭、盤片主軸、控制電機(jī)、磁頭控制器、數(shù)據(jù)轉(zhuǎn)換器、接口、緩存等幾個部份。所有的盤片(一般硬盤里有多個盤片,盤片之間平行)都固定在一個主軸上。在每個盤片的存儲面上都有一個磁頭,磁頭與盤片之間的距離很小(所以劇烈震動容易損壞),磁頭連在一個磁頭控制器上,統(tǒng)一控制各個磁頭的運(yùn)動。磁頭沿盤片的半徑方向動作,而盤片則按照指定方向高速旋轉(zhuǎn),這樣磁頭就可以到達(dá)盤片上的任意位置了。
先上幾張美圖:
基本的結(jié)構(gòu)就是這樣子的,至于硬盤是如何進(jìn)行讀寫的,必須要知道磁盤盤片是如何劃分的?否則你只知道磁頭在盤片上動來動去。
盤片上涉及的基本概念
整個硬盤上一般有很多的盤片組成,每個盤片如同切西瓜一樣被“切”成一塊一塊的扇面,同時沿著半徑的方向被劃分成了很多同心圓,就是傳說中的磁道,每條磁道被扇面切成很多的扇形區(qū)域叫做扇區(qū)(扇區(qū)是從磁盤讀出和寫入信息的最小單位,通常大小為512字節(jié)),不同盤片上的同半徑磁道組成了柱面,這些都是磁盤物理上的概念,知道便可。有了這些概念,我?guī)捅憧梢杂嬎愦疟P的容量:
磁頭數(shù) × 磁道(柱面)數(shù) × 每道扇區(qū)數(shù) × 每扇區(qū)字節(jié)數(shù)
磁頭(head)數(shù):每個盤片一般有上下兩面,分別對應(yīng)1個磁頭,共2個磁頭;
磁道(track)數(shù):磁道是從盤片外圈往內(nèi)圈編號0磁道,1磁道...,靠近主軸的同心圓用于??看蓬^,不存儲數(shù)據(jù);
柱面(cylinder)數(shù):同磁道數(shù)量;
扇區(qū)(sector)數(shù):每個磁道都別切分成很多扇形區(qū)域,每道的扇區(qū)數(shù)量相同;
圓盤(platter)數(shù):就是盤片的數(shù)量。
硬盤上的數(shù)據(jù)定位
每個扇區(qū)可存儲128×2的N次方(N=0.1.2.3)字節(jié)的數(shù)據(jù)(一般為512B),扇區(qū)為數(shù)據(jù)存儲的最小單元,從上圖可知,外圈的扇區(qū)面積比內(nèi)圈大,為何存儲的數(shù)據(jù)量相同,這是因為內(nèi)外圈使用的磁物質(zhì)密度不同,但現(xiàn)在的硬盤已經(jīng)采用內(nèi)外圈同密度物質(zhì)來存儲數(shù)據(jù)了,以減少類似“大面積小數(shù)據(jù)”的浪費情況。(此時的內(nèi)外磁道的扇區(qū)數(shù)量將不同,具體細(xì)節(jié)省略)
有了扇區(qū)(sector),有了柱面(cylinder),有了磁頭(head),顯然可以定位數(shù)據(jù)了,這就是數(shù)據(jù)定位(尋址)方式之一,CHS(也稱3D),對早期的磁盤(上圖所示)非常有效,知道用哪個磁頭,讀取哪個柱面上的第幾扇區(qū)就OK了。CHS模式支持的硬盤容量有限,用8bit來存儲磁頭地址,用10bit來存儲柱面地址,用6bit來存儲扇區(qū)地址,而一個扇區(qū)共有512Byte,這樣使用CHS尋址一塊硬盤最大容量為256 * 1024 * 63 * 512B = 8064 MB(1MB = 1048576B)(若按1MB=1000000B來算就是8.4GB)
但現(xiàn)在很多硬盤采用同密度盤片,意味著內(nèi)外磁道上的扇區(qū)數(shù)量不同,扇區(qū)數(shù)量增加,容量增加,3D很難定位尋址,新的尋址模式:LBA(Logical Block Addressing)。在LBA地址中,地址不再表示實際硬盤的實際物理地址(柱面、磁頭和扇區(qū))。LBA編址方式將CHS這種三維尋址方式轉(zhuǎn)變?yōu)橐痪S的線性尋址,它把硬盤所有的物理扇區(qū)的C/H/S編號通過一定的規(guī)則轉(zhuǎn)變?yōu)橐痪€性的編號,系統(tǒng)效率得到大大提高,避免了煩瑣的磁頭/柱面/扇區(qū)的尋址方式。在訪問硬盤時,由硬盤控制器再將這種邏輯地址轉(zhuǎn)換為實際硬盤的物理地址。
LBA下的編號,扇區(qū)編號是從0開始。
邏輯扇區(qū)號LBA的公式:
LBA(邏輯扇區(qū)號)=磁頭數(shù) × 每磁道扇區(qū)數(shù) × 當(dāng)前所在柱面號 + 每磁道扇區(qū)數(shù) × 當(dāng)前所在磁頭號 + 當(dāng)前所在扇區(qū)號 – 1
例如:CHS=0/0/1,則根據(jù)公式LBA=255 × 63 × 0 + 63 × 0 + 1 – 1= 0
也就是說物理0柱面0磁頭1扇區(qū),是邏輯0扇區(qū)。
評論