本工作室主要是写一些技术文章和心得,如有问题,可联系本工作室。

微信:15312167779
QQ:149824844

硬盘LBA 和CHS的关系

磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数

 

l        磁头(head)数:每个盘片一般有上下两面,分别对应1个 磁头,共2个 磁头

l        磁道(track)数:磁道是从盘片外圈往内圈编号0磁道,1磁道...,靠近主轴的同心圆用于停靠 磁头,不存储数据;

l        柱面(cylinder)数:同磁道数量;

l        扇区(sector)数:每个磁道都别切分成很多扇形区域,每道的扇区数量相同;

l        圆盘(platter)数:就是盘片的数量。

 

硬盘上的数据定位

 

每个扇区可存储128×2的N次方(N=0.1.2.3)字节的数据(一般为512B),扇区为数据存储的最小单元,从上图可知,外圈的扇区面积比内圈大,为何存储的数据量相同,这是因为内外圈使用的磁物质密度不同,但现在的硬盘已经采用内外圈同密度物质来存储数据了,以减少类似“大面积小数据”的浪费情况。(此时的内外磁道的扇区数量将不同,具体细节省略)

 

有了扇区(sector),有了柱面(cylinder),有了 磁头(head),显然可以定位数据了,这就是数据定位(寻址)方式之一,CHS(也称3D),对早期的磁盘(上图所示)非常有效,知道用哪个 磁头,读取哪个柱面上的第几扇区就OK了。CHS模式支持的硬盘容量有限,用8bit来存储 磁头地址,用10bit来存储柱面地址,用6bit来存储扇区地址,而一个扇区共有512Byte,这样使用CHS寻址一块硬盘最大容量为256 * 1024 * 63 * 512B = 8064 MB(1MB =1048576B)(若按1MB=1000000B来算就是8.4GB)

 

但现在很多硬盘采用同密度盘片,意味着内外磁道上的扇区数量不同,扇区数量增加,容量增加,3D很难定位寻址,新的寻址模式:LBA(Logical Block Addressing)。在LBA地址中,地址不再表示实际硬盘的实际 物理地址(柱面、 磁头和扇区)。LBA编址方式将CHS这种三维寻址方式转变为一维的线性寻址,它把硬盘所有的 物理扇区的C/H/S编号通过一定的规则转变为一线性的编号,系统效率得到大大提高,避免了烦琐的 磁头/柱面/扇区的寻址方式。在访问硬盘时,由硬盘控制器再将这种 逻辑地址转换为实际硬盘的 物理地址。

 

LBA下的编号,扇区编号是从0开始。

 

逻辑扇区号LBA的公式:

 

LBA(逻辑扇区号)=磁头数 × 每磁道扇区数 × 当前所在柱面号 + 每磁道扇区数 × 当前所在磁头号 + 当前所在扇区号 – 1

 

例如:CHS=0/0/1,则根据公式LBA=255 × 63 × 0 + 63 × 0 + 1 – 1= 0

 

也就是说 物理0柱面0 磁头1扇区,是 逻辑0扇区。

也就是说  LBA就是扇区的编号,  按照磁道  柱面 和 磁头 从小到大的顺序编号

 

微信:15312167779(系统交流学习)

邮箱:149824844@qq.com

更多我的学习技术文章:

https://boysky123.lofter.com

https://user.qzone.qq.com/149824844


评论

© JC网络工作室 | Powered by LOFTER