CHS到LBA映射 - (磁盘存储)

时间:2015-09-18 00:24:59

标签: filesystems storage disk hard-drive sector

在LBA之前,您只需要对磁盘进行物理映射,该磁盘最初位于旧的兼容IBM-PC的计算机上,如下所示:

  • 圆柱编号: (10位)
    • 0-1024(1024 = 2 ^ 10)
  • 主编号: (8位)
    • 0-256(256 = 2 ^ 8)
  • 扇区号(6位)
    • 0通常为“ boot sector ”保留( c -0, h < / em> -0, s -0)
    • 1-64(63 = 2 ^ 6 - 1)* 0保留

总CHS地址位: 24位

在白天,平均(文件|扇区)大小为512B。

来自wikipedia的示例:

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

我感到困惑的是 head 实际上意味着什么,在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 - 磁盘上的磁头数heads-per-disk
  • 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)?

1 个答案:

答案 0 :(得分:0)

我不认为头是字面意义上的数字。我分开了一些来挽救钕磁铁,只看到一个磁盘,除了大的5-1 / 4英寸驱动器。还有2个脑袋。气缸从0开始,但磁头和扇区从1开始。一些早期的Windows版本只能处理255个磁头,因此可以使用数字。

简短回答:乘以圆柱#times head#times sector#并且它接近LBA。我尝试在这里粘贴一个OpenBSD fdisk列表,但它整整80个字符宽,网页也不会接受它。