2015-09-18 79 views
0

LBA之前,你只是有一個磁盤的物理圖譜,這對原本是一個古老一個IBM-PC兼容機上看起來像下面這樣的:CHS到LBA映射 - (磁盤存儲)

  • 缸數:(10位)
    • 0-1024(1024 = 2^10)
  • 頭數:(8比特)
    • 0-256(256 = 2^8)
  • 扇區號(6位)
    • 0通常保留爲「boot sector」(c -0,ħ -0,小號 -0)
    • 1-64(63 = 2^6 - 1)* 0是保留

總CHS地址位: 24位


北k的平均值(文件|塊|扇區)大小爲512B。從wikipedia

例子:

512(bytes) × 63(sectors) x 256(heads) × 1024(cylinders) = 8064 MiB (yields what is known as 8 GiB limit) 

什麼我在困惑是什麼實際上意味着,當LBA公式中被稱爲heads-per-cylinder。這對我來說沒有任何意義,因爲從我所知道的頭部是head,除非它的每個可移動媒體拼盤對於它的每個表面都有兩個(頂部,底部)。

enter image description here

在我的腦海裏會更有以來,以稱他們爲heads-per-diskheads-per-surface,因爲汽缸經過整盤(多盤片)。

enter image description here


邏輯塊尋址:

公式:A = (c ⋅ Nheads + h) ⋅ Nsectors + (s − 1)

  • A - 邏輯塊地址
  • Nheads - 頭在磁盤號
  • Nsectors - 扇區的軌道sectors-per-track
  • c,h,s上數字 - 是柱面,磁頭,扇區號24-bits total (10+8+6)

尋找在第一示例上here

For geometry 1020 16 63 of a disk with 1028160 sectors CHS 3 2 1 is LBA 3150=(3× 16+2)× 63 

幾何圖案:

  • 缸數 - 1020(0-1024)
  • 頭數 - 16(0-256)
  • 扇區數 - 63(1-64)

如何是這些幾何 CHS編號映射到CHS元組(3,2,1)將在此公式中使用?

回答

0

我不認爲頭是一個字面太多的數字。除了大5-1/4英寸驅動器之外,我已經採取了一些措施來挽救釹磁鐵,並且只看到過一個磁盤。和2個頭。氣瓶從0開始,但是頭和扇區從1開始。一些早期的Windows版本只能處理255個頭,所以數字會被使用。

簡短回答:乘以氣缸#乘以頭#乘以扇區#並且它接近LBA。我嘗試在這裏粘貼一個OpenBSD fdisk列表,但它整個寬度爲80個字符,並且網頁不會接受它。