硬盘物理地址与逻辑地址的转换方法.docVIP

硬盘物理地址与逻辑地址的转换方法.doc

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
硬盘物理地址与逻辑地址的转换方法.doc

  硬盘物理地址与逻辑地址的转换方法 .L.编辑。   【摘要】硬盘组织和存储结构这部分内容对于了解硬盘中数据的组织与存储,对于硬盘中数据的维护与修复,都很重要。本文对此问题进行讨论,希望对感兴趣的读者有所帮助,能更好地了解和应用这一知识。   【关键词】硬盘 存储结构 物理地址 逻辑地址 转换      1 前言      从1957年IBM公司研制成功出第一台真正意义上的硬盘存储器到现在已将近半个世纪,在这短短的几十年时间里,硬盘逐渐成为电脑不可缺少的外部存储设备,被广泛应用。硬盘的容量成千上万倍地增长,从当初的数十MB 发展 到现在的数百GB,甚至达TB量级。硬盘容量的大幅度增加,其寻址模式也随之不断变化。最早采用的是C/H/S(Cylinder/Head/Sector)寻址模式,它依据磁头数(Heads)、柱面数(Cylinders)和扇区数(Sectors)构成的绝对地址来寻址的,也称为物理磁盘地址。通常DOS将“柱面/磁头/扇区”这样表示法称为“绝对扇区”表示法,但DOS不能直接使用绝对扇区进行磁盘上的信息管理,而是用所谓“相对扇区”或“DOS扇区”——即按扇区号,磁头号,柱面号(磁道号)增长的顺序连续地分配DOS扇区号。   在早期的硬盘中,由于每个磁道的扇区数相等,外磁道的记录密度远低于内磁道,因此造成很多磁盘空间的浪费。为了解决这一问题,人们改用等密度结构,即外圈磁道的扇区比内圈磁道多。此种结构的硬盘不再具有实际的3D参数,寻址方式也改为以扇区为单位的线性寻址,这种寻址模式便是LBA(Logic Block Address, 逻辑块地址)。在这种模式下,硬盘的物理地址与逻辑地址的转换问题有一定必要性和复杂性,本文对此进行讨论,希望对感兴趣的读者有所帮助。      2 转换过程      所谓逻辑扇区是物理扇区的一组连续数字的编号,操作系统采用的一种扇区编号方式,其编号是从0开始到某个最大值方式排列,并连成一条线。使用逻辑扇区主要有以下两个优点:第一,逻辑扇区的概念使硬盘的读写操作脱离了柱面、磁头和扇区的硬件参数;第二,在硬盘中每一定数目的扇区组成了数据文件的最小单位—— 簇,在对一个具体的簇进行读写操作时,操作系统划分一个一维的逻辑扇区号要比使用三维物理扇区号简单的多,如果一个簇的扇区跨越在两个盘片,则使用“柱面、磁头和扇区”的表示方法就更加复杂了。那么硬盘的物理地址和逻辑地址是如何转换的呢?下面具体介绍其相互转换方法。   2.1 硬盘物理地址转换为逻辑地址   首先我们先来了解一下从C/H/S到LBA线性地址的转换规则。为了与使用C/H/S寻址的老软件兼容,于是在硬盘控制器内部安装了一个地址翻译器,它负责将C/H/S参数翻译成LBA地址。   同时,由于系统在写入数据时是按照从柱面到柱面的方式,当上一个柱面写满数据后才移动磁头到下一个柱面,而且是从柱面的第一个磁头的第一个扇区开始写入,从而使磁盘性能最优。那么在对物理扇区进行线性编址时,也是按照这种方式进行。即把第一柱面(0柱)第一磁头(0面)的第一扇区(1扇区)编为逻辑“0”扇区,把第一柱面(0柱)第一磁头(0面)的第二扇区(2扇区)编为逻辑“1”扇区,直至第一柱面(0柱)第一磁头(0面)的第63扇区(63扇区)编为逻辑“62”扇区,然后将磁头转到第一柱面(0柱)第二磁头(1面)的第一扇区(1扇区),接着上面其对应的逻辑编号为第“63”扇区,0柱面所有扇区编号完毕后才转到1柱面的0磁头1扇区,依次向下进行,直到将所有的扇区都编上号。我们需要注意的是,物理扇区C/H/S中的扇区编号是从“1”至“63”,而逻辑扇区LBA方式下扇区是从“0”开始编号,所有扇区编号按顺序进行。   在此转换过程中,我们必须要知道的物理量有:   C1—起始扇区的柱面号   H1—起始扇区的磁头号   S1—起始扇区的扇区号   NS—每磁道的扇区数   NH—硬盘每柱面磁道数   C、H、S表示硬盘当前的柱面号、磁头号和扇区号,则 计算 柱面C、磁头H、扇区S对应的相对逻辑扇区号RS的公式为:   逻辑扇区RS=NH×NS×(C-C1)+NS×(H-H1)+(S-S1),为验证此公式,下面我们来举个例子。   实例:已知有一个4磁头(硬盘每柱面的磁道数为4),每磁道有17个扇区的硬盘,其中有一个逻辑硬盘D:,它的第一个扇区在硬盘的柱面号为120,磁头号为1,扇区号为1的位置,则计算柱面号为160,磁头号为3,扇区号为6的逻辑扇区号RS是多少?

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档