硬盘的CHS参数和现代硬盘结构

    技术2022-06-29  87

    硬盘的CHS参数和现代硬盘结构

     

    1.       硬盘的CHS参数

      很久以前, 硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产硬盘。也就是硬盘盘片的每一条磁道都具有相同的扇区数。由此产生了所谓的CSH 3D参数 (Disk Geometry)。即磁头数(Heads),柱面数(Cylinders),扇区数(Sectors),以及相应CHS寻址方式。

      其中:

      磁头数(Heads)表示硬盘总共有几个磁头,也就是有几面盘片, 最大数为 255 ( 8 个二进制位存储)。从0开始编号。

      柱面数(Cylinders) 表示硬盘每一面盘片上有几条磁道,最大数为 1023( 10 个二进制位存储)。从0开始编号。

    扇区数(Sectors) 表示每一条磁道上有几个扇区, 最大数为 63( 6个二进制位存储)。从1始编号。

     

    CHS 寻址方式中,磁头,柱面,扇区的取值范围分别为 0 Heads - 10 Cylinders - 1 1 Sectors (注意是从 1 开始)。而每个扇区一般是 512个字节。所以CHS寻址方式的最大寻址范围为:

    255 * 1023 * 63 * 512 / 1048576 = 7.837 GB ( 1M =1048576 Bytes )

    或硬盘厂商常用的单位:

    255 * 1023 * 63 * 512 / 1000000 = 8.414 GB ( 1M =1000000 Bytes )

     

    而现在的硬盘远大于8.414 GB(按照硬盘厂商常用的单位的计算) CHS寻址方式已不能满足要求。可到目前为止, 人们常说的硬盘参数还是这古老的 CHS参数。那么为什么还要使用这些参数?这是因为有些老软件使用了CHS寻址(如使用BIOS Int13H接口的软件),为了与这些老软件兼容,现在的硬盘仍然支持CHS寻址。

          

      2. 基本 Int 13H 调用

    BIOS Int 13H 调用是 BIOS提供的磁盘基本输入输出中断调用,它可以完成磁盘(按照硬盘厂商常用的单位的计算)的复位,读写,校验,定位,诊,格式化等功能。它使用的就是 CHS 寻址方式, 因此最大识能访问8.414 GB的硬盘 (本文中如不作特殊说明,均以 1M = 1048576 字节为单位)

     

      3. 现代硬盘的结构

      在老式硬盘中,由于每个磁道的扇区数相等,所以外道的记录密度要远低于内道,因此会浪费很多磁盘空间 (与软盘一样)。为了解决这一问题,进一步提高硬盘容量,人们改用等密度结构生产硬盘。也就是说,外圈磁道的扇区比内圈磁道多,采用这种结构后,硬盘不再具有实际的CHS参数,寻址方式也改为线性寻址,即以扇区为单位进行寻址。

    但为了与使用CHS寻址的老软件兼容 (如使用BIOSInt13H接口的软件),在硬盘控制器内部安装了一个地址翻译器,由它负责将老式CHS参数翻译成新的线性参数。

     

      4. 扩展 Int 13H 

      虽然现代硬盘都已经采用了线性寻址,但是由于基本 Int13H 的制约,使用 BIOS Int 13H 接口的程序,如 DOS 等还只能访问8G以内的硬盘空间。为了打破这一限制, Microsoft 等几家公司制定了扩展 Int 13H 标准(Extended Int13H),采用线性寻址方式存取硬盘,所以突破了 8 G的限制,而且还加入了对可拆卸介质 (如活动硬盘) 的支持。


    最新回复(0)