1、磁碟構造
每個表面是由一組稱為磁軌(track)的同心圓組成;每個磁軌被劃分成一組扇區(sector);每個扇區包含相等數量的資料位元(通常是512位元組);這些資料編碼在扇區上的磁性材料中。扇區之間由一些間隙(gap)分隔開,這些間隙中不存在資料位元。間隙儲存用來標識扇區的格式化位。
註:spindle(主軸),platter(碟片),cylinder(柱面)
2、磁碟容量
(扇區大小×每條磁軌平均扇區數×每個面磁軌的磁軌數×每個碟片的面數×每個磁碟的盤數)
3、對於與DRAM和SRAM容量相關的單位,通常K = 210,M = 220,G = 230,對於磁碟和網路這樣的I/O裝置容量相關的單位,通常K = 103,M = 106,G = 109。
4、任何時刻,所有的讀寫頭都位於同一柱面上。
註:spin(旋轉),cushion(墊子),radially(放射狀的,在半徑方向上)
在傳動臂末端的讀/寫頭在磁碟表面高度約0.1微米處一層薄薄的氣墊上飛翔,速度大約為80km/h。磁碟以扇區大小的塊來讀寫資料。
5、對扇區的訪問時間有三個主要部分組成:尋道時間(seek time),旋轉時間(rotational latency)和傳送時間(transfer time)。
1)尋道時間(seek time):為了讀取某個目標扇區的內容,傳動臂把讀/寫頭首先定位到包含目標扇區的磁軌上。所需時間即為尋道時間,約等於最大旋轉時間。
2)旋轉時間:定位到期望的磁軌後,磁碟機等待目標扇區的第一個位旋轉到讀/寫頭下。
Tmax rotation = 1/最大旋轉數率
Tavg rotation = (1/2) × Tmax rotation。
3)傳送時間
Tavg transfer = (1/最大旋轉數率) × (1/每磁軌的平均扇區數)。
6、現代磁碟構造複雜,有多個盤面,這些盤面上有不同的記錄區。為了對作業系統隱藏這樣的複雜性,現代磁碟將它們的構造簡化為一個b個扇區大小的邏輯塊的序列,編號為0,1,2,...b-1。磁碟中有一個小的硬體/韌體裝置,稱為磁碟控制卡,維護著邏輯塊號的和實際(物理)磁碟扇區之間的映射關係。
When the operating system wants to perform(執行) an I/O operation such as
reading a disk sector into main memory, it sends a command to the disk controller
asking it to read a particular logical block number. Firmware on the controller
performs a fast table lookup that translates the logical block number into a (surface,
track, sector) triple that uniquely identifies the corresponding physical sector.
Hardware on the controller interprets this triple to move the heads to the appropriate
cylinder, waits for the sector to pass under the head, gathers up the bits sensed by the
head into a small buffer on the controller, and copies them into main memory.
<Computer Systems:A Programmer's Perspective>