硬盘结构简介

来源:互联网 发布:可以录像的软件 编辑:程序博客网 时间:2024/04/30 06:43

 硬盘参数(CHS),即磁头数(Heads),柱面数(Cylinders),扇区数(Sectors),以及相应的寻址方式。
其中:
   磁头数表示硬盘总共有几个磁头,也就是有几面盘片,最大为255 (用8个二进制位存储);
        柱面数表示硬盘每一面盘片上有几条磁道, 最大为1023(用10个二进制位存储);
        扇区数(Sectors) 表示每一条磁道上有几个扇区, 最大为63 (用6个二进制位存储);
        每个扇区一般是 512个字节, 理论上讲这不是必须的, 但好象没有取别的值的;
        所以磁盘最大容量为:
            255 * 1023 * 63 * 512 / 1048576 = 8024 MB ( 1M = 1048576 Bytes )
        或硬盘厂商常用的单位:
255 * 1023 * 63 * 512 / 1000000 = 8414 MB ( 1M = 1000000 Bytes )
在 CHS 寻址方式中, 磁头, 柱面, 扇区的取值范围分别为 0 到 Heads – 1,0 到 Cylinders - 1,1
到 Sectors (注意是从 1 开始)

    在老式硬盘中,由于每个磁道的扇区数相等,所以外道的记录密度要远低于内道,因此会浪费
很多磁盘空间 (与软盘一样)。为了解决这一问题,进一步提高硬盘容量,人们改用等密度结构生产
硬盘。也就是说,外圈磁道的扇区比内圈磁道多。采用这种结构后,硬盘不再具有实际的3D参数,
寻址方式也改为线性寻址,即以扇区为单位进行寻址。为了与使用3D寻址的老软件兼容在硬盘控
制器内部安装了一个地址翻译器。由它负责将老式3D参数翻译成新的线性参数。这也是为什么现
在硬盘的3D参数可以有多种选择的原因 (不同的工作模式, 对应不同的3D参数, 如 LBA, LARGE, NORMAL)。

LBA(Logical Block Addressing)逻辑块寻址模式。管理的硬盘空间可达 8.4GB。在 LBA 模式下,设置的柱面、磁头、扇区等参数并不是实际硬盘的物理参数。在访问硬盘时,由 IDE 控制器把由柱面、磁头、扇区等参数确定的逻辑地址转换为实际硬盘的物理地址。在 LBA 模式下,可设置的最大磁头数为 255,其余参数与普通模式相同,由此可以计算出可访问的硬盘容量为:512x63x255x1025=8.4GB。不过现在新主板的 BIOS 对 INT13 进行了扩展,使得 LBA 能支持 100GB 以上的硬盘。

LARGE 大硬盘模式,在硬盘的柱面超过 1024 而又不为 LBA 支持时采用。LARGE 模式采用的方法是把柱面数除以 2,把磁头数乘以 2,其结果总容量不变。

LBA与C/H/S 之间的转换:
设NS为每磁道扇区数,NH为磁头数,C、H、S分别表示磁盘的柱面、磁头和扇区编号,LBA表示逻辑扇区号,div为整除计算,mod为求余计算,则:
LBA=NH×NS×C+NC×H+S-1;

C=(LBA div NS)div NH;
H=(LBA div NS)mod NH;
S=(LBA mod NS)+1
例如 LBA = 0 则 CHS = 0/0/1