迅维网

查看: 3574|回复: 4
打印 上一主题 下一主题
[资料软件]

数据恢复学习笔记之线性地址(LBA)与C/H/S地址之间的转换

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-9 23:47:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 海南海口 来自 海南海口

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x
数据恢复学习笔记之线性地址(LBA)与C/H/S地址之间的转换
系统在写入数据时是按照从柱面到柱面的方式,在上一个柱面写满数据后才移动磁头到下一个柱面,并从下一柱面的第一个磁头的第一个三扇区开始写入,从而使磁盘性能优化,所以,在对物理扇区进行线性编址时,也按照这种方式进行。即把第一柱面(0C)第一磁头(0H)的第一扇区(1S)编为逻辑“0”扇区,第一柱面(0C)第一磁头(0H)的第一扇区(2S)编为逻辑“1”扇区,直到第一柱面(0C)第一磁头(0H)的第一扇区(63S)编为逻辑“62”扇区,然后转到第一柱面(0C)第一磁头(1H)的第一扇区(1S),接着上一面编为逻辑“63”扇区,0柱面所有扇区编号完毕后转到1柱面的0磁头1扇区,依次往下进行,直到把所有扇区都编上号。
其次要注意C/H/S中的扇区编号是从1到63,而LBA方式下扇区从0开始编号,所有扇区顺序进行编号。
(1)        从c/h/s到LBA
从编号规则很容易看出C/H/S与LBA地址的对应关系,用C表示当前柱面号,H表示当前磁头号,S表示当前扇区号,Cs表示起始柱面号,Hs表示起始磁头号,Ss表示起始扇区号。PS表示每磁道有多少扇区,PH表示每柱面有多少个磁道,则有:
LBA=(C-Cs)*PH*PS+(H-HS)*PS+(S-SS)
一般情况下,Cs=0,Hs=0,Ss=1,PS=63,PH=255,LBA计算如下:
C/H/S=0/0/1时带入公式可得LBA=0
C/H/S=0/0/63时带入公式可得LBA=62
C/H/S=0/1/1时带入公式可得LBA=63
C/H/S=0/5/1时带入公式可得LBA=315
C/H/S=130/30/1时带入公式可得LBA=2090340
系统在管理扇区(簇)时就是按照LBA地址进行的,而在最终写入(或读出)硬盘进行ATA调用时需要C/H/S参数。
(2)从LBA到C/H/S
先介绍两种运算:DIV和MOD(这里指对整数的操作)。DIV称做整数运算,即被除数除以除数所得商取整数部分。如5 DIV 2=2,22 DIV 7=3。MOD就是取余运算,即取商的余数。如:5 DIV 2=1,22 DIV 7=1。
哥变量仍按上述假设进行,则有:
C=LBA DIV(PH*PS)+Cs
H=(LBA DIV PS) MOD PH+Hs
S=LBA MOD PS+Ss
如不用MOD运算,只用div运算,也是可以的,只不过是运算复杂程度不同。
C=LBA DIV(PH*PS)+Cs
H=LBA DVI PS –(C-Cs)*PH+Hs
S=LBA-(C-Cs)*PH*PS-(H-Hs)*PS+Ss
按照这个规律,有:
LBA=0,则C/H/S=0/0/1
LBA=62,则C/H/S=0/0/63
LBA=63,则C/H/S=0/1/1
LBA=315,则C/H/S=0/5/1
后续还会有。相互学习相互进步啊。。。。。。下面是今天的笔记,doc格式

数据恢复学习笔记之线性地址(LBA)与CHS地址之间的转换.rar

10.42 KB, 下载次数: 5, 下载积分: 下载分 -2 分, 下载 1 次


2#
发表于 2010-1-10 00:12:50 | 只看该作者 来自: 黑龙江齐齐哈尔 来自 黑龙江齐齐哈尔
现在的硬盘 都不用C/H/S表示了

回复 支持 反对

使用道具 举报

3#
发表于 2010-1-10 07:34:00 | 只看该作者 来自: 海南海口 来自 海南海口
回复 支持 反对

使用道具 举报

4#
发表于 2010-1-10 09:25:29 | 只看该作者 来自: 甘肃兰州 来自 甘肃兰州
楼主讲的很细致,不过现在意义不大.

回复 支持 反对

使用道具 举报

5#
发表于 2010-1-13 21:58:56 | 只看该作者 来自: 湖北武汉 来自 湖北武汉
现在的硬硬盘大都是LBA方式了。C H S 的很少了。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图


芯片搜索

快速回复