硬盘的存储原理和内部架构_第1页
硬盘的存储原理和内部架构_第2页
硬盘的存储原理和内部架构_第3页
硬盘的存储原理和内部架构_第4页
硬盘的存储原理和内部架构_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本来想写个文件系统的专题 结果发现对硬盘的内部架构和存储原理 还是比较模糊 因为不了解 一点 硬盘的存储原理对文件系统的认 识老是感觉镜花水月 不踏实 经过搜集整理资料就由了本文的问世 借用 Bean lee 兄一句话 成果和荣耀归于前辈 首先 让我们看一下硬盘的发展史 1956 年 9 月 13 日 IBM 的 IBM 350 RAMAC Random Access Method of Accounting and Control 是现代硬盘的雏形 整个硬盘需要 50 个直径为 24 英寸表面涂有磁浆的盘片 它相当于两 个冰箱的体积 不过其存储容量只有 5MB 1971 年 IBM 开始采用一种名叫 Merlin 的技术 生产硬盘 这种技术据称能使硬盘头更好地在盘片上 索引 1973 年 IBM 3340 问世 主流采用采用红色 这个大家伙每平方英寸存储 1 7MB 的数据 在当时 已经创了一个纪录 许多公司共享这些系统 需要时 按照时间和存储空间租用它 租赁价值为 7 81 美元 每兆 这个价格比当时汽油的价格还贵 38 它拥 有 温彻斯特 这个绰号 也就是我们现在所熟知的 温 氏架构 来源于它两个 30MB 的存储单元 恰好是 当时出名的 温彻斯特来福枪 的口径和填弹量 至此 硬盘的基本架构被确立 1979 年 IBM 发明了 Thin Film 磁头 使硬盘 的数据定位更加准确 因此使得硬盘的密度大幅提升 1980 年 两位前 IBM 员工创立的公司开发出 5 25 英寸规格的 5MB 硬盘 这是首款面向台式机的 产品 而该公司正是希捷公司 Seagate 公司 1982 年 日立发布了全球首款容量超过 1GB 的 硬盘 这就是容量为 1 2GB 的 H 8598 硬盘 这块 硬盘拥有 10 片 14 英寸盘片 两个读写磁头 1980 年代末 IBM 推出 MR Magneto Resistive 磁阻 技术令磁头灵敏度大大提升 使盘 片的存储密度较之前的 20Mbpsi bit 每平方英寸 提高了数十倍 该技术为硬盘容量的巨大提升奠定了 基础 1991 年 IBM 应用该技术推出了首款 3 5 英 寸的 1GB 硬盘 1970 年到 1991 年 硬盘碟片的存储密度以每 年 25 30 的速度增长 从 1991 年开始增长到 60 80 至今 速度提升到 100 甚至是 200 从 1997 年开始的惊人速度提升得益于 IBM 的 GMR Giant Magneto Resistive 巨磁阻 技术 它使磁头灵敏度进一步提升 进而提高了存储密度 1993 年 康诺 Conner Peripherals 推出了 CP30344 硬盘容量是 340MB 1995 年 为了配合 Intel 的 LX 芯片组 昆腾与 Intel 携手发布 UDMA 33 接口 EIDE 标准将原来接 口数据传输率从 16 6MB s 提升到了 33MB s 同年 希捷开发出液态轴承 FDB Fluid Dynamic Bearing 马达 所谓的 FDB 就是指将陀螺仪上的技 术引进到硬盘生产中 用厚度相当于头发直径十分之 一的油膜取代金属轴承 减轻了硬盘噪音与发热量 1996 年 希捷收购康诺 Conner Peripherals 1998 年 2 月 UDMA 66 规格面世 2000 年 10 月 迈拓 Maxtor 收购昆腾 2003 年 1 月 日立宣布完成 20 5 亿美元的收购 IBM 硬盘事业部计划 并成立日立环球存储科技公司 Hitachi Global StorageTechnologies Hitachi GST 2005 年日立环储和希捷都宣布了将开始大量采 用磁盘垂直写入技术 perpendicular recording 该原理是将平行于盘片的磁场方向改变为垂直 90 度 更充分地利用的存储空间 2005 年 12 月 21 日 希捷宣布收购迈拓 Maxtor 2007 年 1 月 日立环球存储科技宣布将会发售 全球首只 1Terabyte 的硬盘 比原先的预定时间迟了 一年多 硬盘的售价为 399 美元 平均每美分可以 购得 27 5MB 硬盘空间 2011 年 3 月 西部数据以 43 亿美元的价格 收购日立环球存储科技 2011 年 4 月 希捷宣布与三星强化策略伙伴关 系 从硬盘问世至今已经过了 56 个年头 不管是容量 体积还是生产 工艺都较之前有了重大革新和改进 但一直都保持了 温氏 的架构 固态硬盘除外 它不是我们今天的主角 经过封装后的硬盘 对我们 一般呈现出如下的样子 背面 打开后盖 硬盘主要由盘体 控制电路板和接口部件组成 盘体就是一个密封 封装了多个盘片的腔体 控制电路包含硬盘 BIOS 主控芯片和硬盘缓 存等单元 接口部件包含电源 数据接口主从跳线等 硬盘的盘片一般采用合金材料 多数为铝合金 IBM 曾经开发过玻璃 材质的盘片 好像现在有些厂家也生产玻璃材质的盘片 但不多见 盘面上涂着磁性材料 厚度一般在 0 5mm 左右 有些硬盘只装一张盘 片 有些则有多张 硬盘盘片安装在主轴电机的转轴上 在主轴电机 的带动下作高速旋转 每张盘片的容量称为单碟容量 而一块硬盘的 总容量就是所有盘片容量的总和 早期硬盘由于单碟容量低 所以盘 片较多 现代的硬盘盘片一般只有少数几片 盘片上的记录密度很大 而且盘片工作时会高速旋转 为保证其工作的稳定 数据保存的长久 所以硬片都是密封在硬盘内部 不可自行拆卸硬盘 在普通环境下空 气中的灰尘 指纹 头发丝等细小杂质都会对硬盘造成永久损害 一 个被大卸八块的硬盘如下 接下来我们了解一下硬盘的盘面 柱面 磁道和扇区的概念 盘面盘面 硬盘一般会有一个或多个盘片 每个盘片可以有两个面 Side 即 第 1 个盘片的正面称为 0 面 反面称为 1 面 第 2 个盘片的正面称为 2 面 反面称为 3 面 依次类推 每个盘面对应一个磁头 head 用于读 写数据 第一个盘面的正面的磁头称为 0 磁头 背面称为 1 磁头 第 二个盘片正面的磁头称为 2 磁头 背面称为 3 磁头 以此类推 盘面 数和磁头数是相等的 一张单面的盘片需要一个磁头 双面的盘片则需要两个磁头 硬盘 采用高精度 轻型磁头驱动和定位系统 这种系统能使磁头在盘面上 快速移动 读写硬盘时 磁头依靠磁盘的高速旋转引起的空气动力效 应悬浮在盘面上 与盘面的距离不到 1 微米 约为头发直径的百分之一 可以在极短的时间内精确定位到计算机指令指定的磁 道上 早期由于定位系统限制 磁头传动臂只能在盘片的内外磁道之间移 动 因此 不管开机还是关机 磁头总在盘片上 所不同的是 关机 时磁头停留在盘片启停区 开机时磁头 飞行 在磁盘片上方 磁道磁道 每个盘片的每个盘面被划分成多个狭窄的同心圆环 数据就是存储 在这样的同心圆环上 我们将这样的圆环称为磁道 Track 每个盘面 可以划分多个磁道 关机时磁头停留在硬盘的着陆区 Landing Zone 这个着陆区以前是位于离盘心最近的区域 不存放任何数据 在后期 的硬盘工艺中有些硬盘生产厂商将这个区域被移动到了盘片的外面 如下所示 在每个盘面的最外圈 离盘心最远的地方是 0 磁道 向盘心方向依 次增长为 1 磁道 2 磁道 等等 硬盘数据的存放就是从最外圈开始 扇区扇区 根据硬盘规格的不同 磁道数可以从几百到成千上万不等 每个磁 道上可以存储数 KB 的数据 但计算机并不需要一次读写这么多数据 在这一这基础上 又把每个磁道划分成若干弧段 每段称为一个扇区 Sector 扇区是硬盘上存储的物理单位 每个扇区可存储 128 2N次 方 N 0 1 2 3 字节的数据 从 DOS 时代起 每扇区是 128 22 512 字节 现在已经成了业界不成文的规定 也没有哪个硬 盘厂商试图去改变这种约定 也就是说即使计算机只需要硬盘上存储 的某个字节 也须一次把这个字节所在的扇区中的全部 512 字节读入 内存 再选择所需的那个字节 扇区的编号是从 1 开始 而不是 0 这一点需要注意 另外 硬盘在划分扇区时 和软盘是有一定区别的 软盘的一个磁道中 扇区号一般依次编排 如 1 号 2 号 3 号 以此 类推 但在硬盘磁道中 扇区号是按照某个间隔跳跃着编排 比如 2 号扇区并不是 1 号扇区后的按顺序的第一个而是第八个 3 号扇区又 是 2 号扇区后的按顺序的第八个 依此类推 这个 八 称为交叉因子 这个交叉因子的来历有必要详述一下 我们知道 数据读取经常需 要按顺序读取一系列相邻的扇区 逻辑数据相邻 如对磁道扇区按物理 顺序进行编号 很有可能出现当磁头读取完第一个扇区后 由于盘片 转速过快来不及读取下一个扇区 要知道物理相邻扇区位置距离是极 小的 必须等待转完一圈 这极大浪费了时间 所以就用交叉来解决 这个问题 增加了交叉因子后的扇区编号一般是下面这个样子 柱面柱面 柱面其实是我们抽象出来的一个逻辑概念 前面说过 离盘心最远 的磁道为 0 磁道 依此往里为 1 磁道 2 磁道 3 磁道 不同面上 相同磁道编号则组成了一个圆柱面 即所称的柱面 Cylinder 这里要 注意 硬盘数据的读写是按柱面进行 即磁头读写数据时首先在同一 柱面内从 0 磁头开始进行操作 依次向下在同一柱面的不同盘面 即磁 头上 进行操作 只有在同一柱面所有的磁头全部读写完毕后磁头才转 移到下一柱面 因为选取磁头只需通过电子切换即可 而选取柱面则 必须通过机械切换 电子切换比从在机械上磁头向邻近磁道移动快得 多 因此 数据的读写按柱面进行 而不按盘面进行 读写数据都是 按照这种方式进行 尽可能提高了硬盘读写效率 簇簇 将物理相邻的若干个扇区物理相邻的若干个扇区称为了一个簇 操作系统读写磁盘的基本 单位是扇区 而文件系统的基本单位是簇 Cluster 在 Windows 下 随便找个几字节的文件 在其上面点击鼠标右键选择属性 看看实际 大小与占用空间两项内容 如大小 15 字节 15 字节 占用空间 4 00 KB 4 096 字节 这里的占用空间就是你机器分区的簇大小 因为再小的文件都会占用空间 逻辑基本单位是 4K 所以都会占用 4K 簇一般有这几类大小 4K 8K 16K 32K 64K 等 簇越大存 储性能越好 但空间浪费严重 簇越小性能相对越低 但空间利用率 高 NTFS 格式的文件系统簇的大小为 4K 硬盘读写数据的过程硬盘读写数据的过程 现代硬盘寻道都是采用 CHS Cylinder Head Sector 的方式 硬盘 读取数据时 读写磁头沿径向移动 移到要读取的扇区所在磁道的上 方 这段时间称为寻道时间 seek time 因读写磁头的起始位置与目 标位置之间的距离不同 寻道时间也不同 目前硬盘一般为 2 到 30 毫 秒 平均约为 9 毫秒 磁头到达指定磁道后 然后通过盘片的旋转 使得要读取的扇区转到读写磁头的下方 这段时间称为旋转延迟时间 rotational latencytime 一个 7200 转 每分钟 的硬盘 每旋转一周所需时间为 60 1000 7200 8 33 毫秒 则平均旋转延迟时间为 8 33 2 4 17 毫秒 平均情况下 需要旋转半圈 平均寻道时间和平均选装延迟称为 平均存取时间 所以 最后看一下硬盘的容量计算公式 硬盘容量 盘面数 柱面数 扇区数 512 字节 在博文 Linux 启动过程分析 中我们提到过 MBR 它是存在于硬盘 的 0 柱面 0 磁头 1 扇区里 占 512 字节的空间 这 512 字节里包 含了主引导程序 Bootloader 和磁盘分区表 DPT 其中 Bootloader 占 446 字节 分区表占 64 字节 一个分区要占用 16 字节 64 字节的分 区表只能被划分 4 个分区 这也就是目前我们的硬盘最多只能支持 4 个分区记录的原因 即 如果你将硬盘分成 4 个主分区的话 必须确保所有的磁盘空间 都被使用了 这不是废话么 一般情况下我们都是划分一个主分区加一 个扩展分区 然后在扩展分区里再继续划分逻辑分区 当然 逻辑分 区表也需要分区表 它是存在于扩展分区的第一个扇区里 所以逻辑 分区的个数最多也只能有 512 16 32 个 并不是想分多少个逻辑分区 都可以 注意 我们所说的扩展分区也是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论