LBA逻辑区块地址
创始人
2024-03-06 13:25:20

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

逻辑区块地址LBA是描述电脑存储设备上资料所在区块的通用机制,一般用在像硬盘这样的辅助记忆设备。LBA可以意指某个资料区块的地址或是某个地址所指向的资料区块。现今电脑上所谓一个逻辑区块通常是512或1024位组。ISO-9660格式的标准CD则以2048位组为一个逻辑区块大小。
LBA是非常单纯的一种寻址模式﹔从0开始编号来定位扇区,第一扇区LBA=0,第二扇区LBA=1,依此类推。这种寻址模式取代了原先操作系统必须面对存储设备硬件构造的方式。最具代表性的首推CHS(cylinders-heads-sectors,磁柱-磁头-扇区)寻址模式,区块必须以硬盘上某个磁柱、磁头、扇区的硬件位置所合成的地址来指定。
注意:CHS中的S表示扇区编号,指的是一个磁道中的扇区号,1-63。

LBA寻址使用的为逻辑地址(所有扇区统一编号),CHS寻址使用的物理地址(柱面、磁头和扇区)。
LBA地址和CHS地址转换公式:
LBA(逻辑扇区号)=磁头数 × 每磁道扇区数 × 当前所在柱面号 + 每磁道扇区数 × 当前所在磁头号 + 当前所在扇区号 – 1
注意:对于老式磁盘,每个磁道扇区数量相同。对于新式磁盘,每个磁道扇区数不同。上述计算公式仅适用于老式磁盘。对于新式磁盘,由于每个磁道中扇区数不等,因此需要按实际情况进行类似寻址转换。

新式磁盘采用ZBR(Zone Bit Recording, 等密度记录)的方式组织磁盘介质。

举例:CHS=0/0/1,则根据公式LBA=255 × 63 × 0 + 63 × 0 + 1 – 1= 0
也就是说物理0柱面0磁头1扇区,是逻辑0扇区。
解析:
磁头数 × 每磁道扇区数 × 当前所在柱面号:表示(0~磁头号-1)的所有柱面空间,单位是扇区。
每磁道扇区数 × 当前所在磁头号:表示磁头号所在的柱面中使用的完整的磁道空间,单位是扇区。
当前所在扇区号 – 1:表示磁头号所在磁道中使用的扇区数。由于LBA编号从0开始、磁道扇区编号从1开始,因此需要减1。

LBA编号从0开始。
磁道扇区编号从1开始。
柱面编号从0开始。
磁头编号从0开始。

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

对于一块硬盘,扇区个数 = 柱面数 x 磁头数 x 磁道扇区数,即LBA = C x H x S,因此C = LBA / S / H。
LBA div NS表示磁道的总个数,一个柱面包含NH个磁道,因此(LBA div NS)div NH表示柱面数,柱面数从0开始编号,因此无需加1。
LBA div NS表示磁道的总个数,一个柱面包含NH个磁道,因此(LBA div NS)mod NH表示最后剩余的磁头数,磁头编号从0开始,因此无需加1。
LBA就是扇区的总个数,NS表示一个磁道上的扇区数,LBA mod NS就表示剩余的扇区数,扇区从1开始编号,因此此处需要加1。

在磁盘控制器中,有个CHS与LBA的地址转换器,以提供操作系统进行LBA寻址对磁盘操作。

在这里插入图片描述
[root@VM_0_15_centos ~]# fdisk -l
Disk /dev/vda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00086547
为什么磁头数为单数
这里不是真实的磁头数,只是为了在LBA换算成CHS时均用了CHS的最大值来转换运算而已。如上面截图一块东芝3T的盘就是 8个盘面 16个磁头数。
磁道外圈与内圈周长 相差巨大,为什么扇区数一样? 且为什么是 63 ?
同理63也不是真实是这样,真实情况肯定是外圈扇区数比内圈大。
为什么我们实际计算的53686402560 bytes数 与 53687091200 bytes不相等?
这个个人是这样理解:Units = cylinders of 16065 512 = 8225280 bytes
CHS的一个最小计算单元,即一1个柱面所拥有的扇区数: 255 * 63 = 16065
那么在LBA上表示出CHS时肯定以LBA为准,CHS作为参考。为此当有零头数时,就直接去掉不在CHS上做显示处理。实际情况中LBA总扇区数几乎一定不是 16065的倍数,所以我们用CHS去计算总大小时会比LBA的值稍小一点。范围是在(1~16064) * 512

相关内容

热门资讯

猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...