磁盘数据寻址方式

访问硬盘上的数据总是以扇区为单位进行的,即每次读或写至少是一个扇区的数据。

常用两种:物理寻址方式(CHS)和逻辑寻址方式(LBA)

物理寻址方式

物理寻址方式又称为CHS(Cylinder柱面/Head磁头/Sector扇区)方式,用柱面号(即磁道号)、磁头号(即盘面号)和扇区号来表示一个特定扇区。柱面和扇区从0开始编号,而扇区从1开始编号的。

			磁盘容量=磁头数×柱面数×扇区数×512字节

系统在写入数据时是按照从柱面到柱面的方式,当上一个柱面写满数据后才移动磁头到下一个柱面,而且是从柱面的第一个磁头的第一个扇区开始写入,从而使磁盘性能最优。

逻辑寻址方式

寻址方式也改为以扇区为单位的线性寻址,这种寻址方式便是LBA。即将所有的扇区统一编号。C/H/S中的扇区编号是从“1”至“63”,而逻辑扇区LBA方式下扇区是从“0”开始编号,所有扇区编号按顺序进行。
对于任何一个硬盘,都可以认为其扇区是从0号开始。

CHS与LBA之间的相互转换

在CHS寻址方式中,读取某一扇区之间要读取的扇区数即为此扇区的LBA参数。
CHS参数转换为其相对应的LBA参数值的公式如下:

  逻辑编号(即LBA地址)=(柱面编号×磁头数+磁头编号)×扇区数+扇区编号-1
  
  磁头数为硬盘磁头的总数,扇区数为每磁道的扇区数

磁盘数据寻址方式(CHS与LBA相互转换)_python