儲存_硬碟_小知識_轉

wisdomone1發表於2010-03-29

硬碟各種引數

rotational latency旋轉延遲 磁頭旋轉的時間延遲。轉速越快,延遲越小。

seek time尋道時間   磁頭的徑(半徑)向移動時間。磁頭機械臂只會在一條線(半徑)上來回移動,磁頭的移動速度越快,seek time則越短。這個引數基本上是 固定的,不同檔次的硬碟這個值也不同,相同級別的硬碟這個值差不多。如目前的伺服器硬碟的seek time大概在4ms左右,普通的pc硬碟大概

除了以上兩種延時,還有一個是磁頭定位後傳 輸資料的延時,但是這個延時非常小,比上面兩種延時低一個數量級以上,故基本都被忽略了。

head磁頭  磁頭只能順序的讀寫扇區,並且只 能是一次成批讀寫一個扇區的內容,而不能只讀寫其中的1/2或者是1/4扇區。如果一個檔案大小為0.1KB,那麼一個扇區(0.5KB)就只能存放這個檔案的0.1KB,扇區剩下的0.4KB則不能再存放其他資料,浪費掉了。而如果你的檔案系統的塊(或者簇)大小為1KB,即兩個扇區,那麼硬碟只會將資料存 放在塊裡的其中某個扇區上,該扇區剩下的0.4KB和另一個完整扇區(共0.9KB)都將浪費掉。所以磁碟規劃其實很重要。

 

Track碟片表面上以碟片中心為圓心,不同半徑的同心圓稱為磁軌。

Sector:扇區 每個磁軌被劃分成相等的圓弧,每一段圓弧為一扇區,每磁軌63個儲存扇區(應該是偶數才對吧,不知道剩 下的扇區幹嘛去了),編號從1開始,到63,每扇區512Bytes. 一個扇區可以看作是線狀的,沒有寬(很窄很窄),只有長度,記錄是順序的,每個扇區可以記錄4096個位元位,即可以存放512KB資料。

Cylinder: 柱面  硬碟中,不同碟片相同半徑的磁軌所組成的圓柱稱為柱面。如果是單碟,那麼柱面就是每個磁軌的兩面

其他還有磁錄密度(magnetic density)、磁頭入軌的精準度、碟片上的資料配置分佈情形、以及碟 機上的數位訊號處理器、介面控制電路等也都會影響硬碟的效能表現。

 

硬碟機械臂移動影片

 

硬碟寫資料時,都是從外 圈的Track向裡寫。因為角速度相同的情況下,相同時間外圈的track能讀取更多的資料(因為劃過的弧更 長。早期的硬碟每個磁軌的的扇區數是相等的,而後期為了提高磁碟的利用率,每個磁軌的扇區數不再相等,外圈周長較大,所以可以劃分出更多的扇區數),即transfer rateMB/s)更大,一般最外圈的transfer rate可以比最內圈的大1倍以上。

硬碟的容量計算公式為:
儲存容量=磁頭數×磁軌(柱面)數×每道扇區數×每扇區位元組數

要點:(1)硬碟有數個碟片,每碟片兩個面,每個面一 個磁頭
2)碟片被劃分為多個扇形區域即扇區
3)同一碟片不同半徑的同心圓為磁軌
4)不同碟片相同半徑構成的圓柱面即柱面
5)公式: 儲存容 量=磁頭數×磁軌 (柱面)數×每道 扇區數×每扇區字 節數
6)資訊記錄可表示為:××磁軌(柱面),××磁頭,××扇區

 

Cluster:   一組扇區。因為扇區的單位太小,因此把它捆在一起,組成一個更大的單位更方便
進行靈活管理。簇的大小通常是可以變化的,是由作業系統在所謂“(高階)格式化”時規定的
,因此管理也更加靈活。簇的概念多為windows OS下用,一個簇的大小在格式化檔案系統時指
定,是檔案系統儲存資料的最小單位(邏輯單位),而不是硬碟儲存資料的最小單位,硬碟儲存
的最小單位(物理單位)是扇區,這個要搞清楚。其實這個引數不再屬於硬碟物理引數,而是屬
於作業系統/檔案系統級別的邏輯單位了。
這個簇的概念就好比Linux下的block,根據server上的應用特點調整好塊大小,將有效提升磁碟
儲存效能和磁碟空間利用率。如你的FTP伺服器裡儲存的都是一些比較大的檔案,那麼可以將塊或
簇大小設定大一些;而如果是存放大量小檔案(假設平均大小為0.8KB)為主,那麼塊大小可以設
置得跟實際檔案大小最接近的尺寸(如block size設定為1kB),像bbs server就是小檔案為主。
 
BlockLinux下儲存的最小邏輯單位,ext2/ext3/ext4目前有3種粒度(),1KB,2KB,4KB
(見man mkfs.ext3,xfs則可以支援從0.5Kb64kBBlock 的大小為 sector  2 
非負次方倍數。Linux裡有些概念裡的block則不是檔案系統裡的那個block概念。如df
輸出的1K-blocksfdisk -l輸出中的blocks,這裡的blocks其實是1KB.還有vmstat
中的 io/bi bo 的單位也是塊,這裡block其實是sector,概念濫用,stupid
 

另注:有些應用程式(如oracle)或者儲存驅動(如硬體RAID)還有自己的儲存單元,在調

整儲存單元時先要弄清楚各自概念和工作原 理。

 

內部資料傳輸率Internal Transfer Rate)是指硬碟磁頭與快取之間的資料傳輸率,簡單的說

就 是硬碟將資料從碟片上讀取出來,然後儲存在快取內的速度。內部傳輸率可以明確表現出

硬 盤的讀寫 速度,它的高低才是評價一個硬碟整體效能的決定性因素,它是衡量硬碟效能

的 真正標準。有效地提高硬碟的內部傳輸率才能對磁碟子系統的效能有最直接、最明顯

提 升。目前各硬碟生產廠家努力提高硬碟的內部傳輸率,除了改進訊號處理技術、提高轉速

以 外,最主要的就是不斷的提高單碟容量以提高線性密度。由於單碟容 量越大的硬碟線性

密 度越高,磁頭的尋道頻率與移動距離可以相應的減少,從而減少了平均尋道時間,內部傳

輸 速率也就提高了。雖然硬碟技術發展的很快,但內部 資料傳輸率還是在一個比較低(相

對) 的層次上,內部資料傳輸率低已經成為硬碟效能的最大瓶頸。目前主流的家用級硬碟,

內 部資料傳輸率基本還停留在60 MB/s左右,而且在連續工作時,這個資料會降到更低。

 

外部資料傳輸率(External Transfer Rate),一般也稱為突發資料傳輸或介面傳輸率。是指硬碟

緩 存和電腦系統之間的資料傳輸率,也就是計算機透過硬碟介面從快取中將資料讀出交給相

應 的控制器的速率。ATA100中的100就代表著這塊硬碟的外部資料傳輸率理論最大值是

100MB/sATA133則代表外部 資料傳輸率理論最大值是133MB/s SCSI Ultra320320MB/s

目 前的第一代SAS硬碟大概是3Gbps,SATA-II的速度相當,但以後的產品速度都將成倍地

增 長; SATA-I1.5Gbps,SATA-II3Gbps。這些只是硬碟理論上最大的外部資料傳輸率,在

實 際的日常工作中是無法達到這個數值的。

 

 

對 於磁碟,一次磁頭的連續讀或寫稱為一次IO.

我 們平常講的I/O其實就是指磁頭的讀寫。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-630643/,如需轉載,請註明出處,否則將追究法律責任。

相關文章