2023年11月24日发(作者:)

硬盘的结构

1、硬盘的外部物理结构

硬盘主要由盘体、控制电路板和接口部件组成。

盘体是一个密封的腔体。(后续将介绍硬盘的内部物理结构即是指

盘体的内部结构)

控制电路板上主要有硬盘BIOS、硬盘缓存(Cache)和主控制芯

片等单元。硬盘接口

包括插座、数据接口和主、从跳线等。

2、硬盘的内部物理结构

硬盘盘体是完全密封的,里面主要有磁头、盘片等部件。

硬盘的盘片材料硬度和耐磨性要求很高,所以一般采用合金材料,

多数为铝合金。

(早期有塑料,陶瓷的,现在也出现了玻璃材料的)。盘基上涂上磁

性材料。硬盘盘片

厚一般在0.5mm左右,盘片的转速与盘片大小有关,考虑到惯性

及盘片稳定性,盘片

越大转速越低。

有些硬盘只装一张盘片,有此则有多张。硬盘盘片安装在主轴电

机的转轴上,在主

轴电机的带动下作高速旋转。每张盘片的容量称为单碟容量,而

制部分就太复杂了。

盘片上的记录密度很大,而且盘片工作时会高速旋转,为保证其

工作的稳定,数据

保存的长久,所以硬片都是密封在硬盘内部的,内部并非真空。

不可自行拆卸硬盘,

在普通环境下空气中的灰尘,都会对硬盘造成永久损害。

以上介绍的是盘片,一张单面的盘片需要一个磁头,双面的盘片

则需要两个磁头。

硬盘采用高精度、轻型磁头驱动和定位系统。这种系统能使磁头

在盘面上快速移动,读

写硬盘时,磁头依靠磁盘的高速旋转引起的空气动力效应悬浮在

盘面上,与盘面的距离

不到1微米(约为头发直径的百分之一),可以在极短的时间内精确

定位到计算机指令指定

的磁道上。

注意:由于磁盘是旋转的,则连续写入的数据是排列在一个圆周

上的。我们称这样的

圆周为一个磁道(Track)

辑概念。

(盘面)

上面已经了解,硬盘一般会有一个或多个盘片,每个盘片可以有

两个面(Side),依此可

称为0面,1面等。每个面对应一个磁头,用于读写数据。

磁道:

盘片在中心轴带动下做高速旋转,磁头连续写入的数据是排列在

一个圆周上的。我们称

这样的圆周为一个磁道(Track)。可以

假想有很多个同心圆,大小不同的磁道组成盘面。

每个盘片的每个面都有一个读写磁头。磁道离主轴最近的,即线

速度最小的地方,是一

(Landing Zone),启停区外就是数

据区。在最外圈,离主轴最远的地方是“0”磁道,硬盘数据的存

放就是从最外圈开始的。

硬盘有一个“0”磁道检测器,由它来完成硬盘的初始定位。“0”

磁道十分重要,很多硬盘仅

仅因为“0”磁道损坏就报废了,十分可惜。

磁头:

磁头用来读取或者修改盘片上磁性物质的状态,一般说来,每一

个磁面都会有一个磁头,

从最上面起由0开始编号。磁头在停止工作时与磁盘是接触的停

放在启停区,但是在工作

时呈飞行状态。启停区不存放任何数据,磁头在此区域启停,不

会损害任何数据。读取数据

时盘片高速旋转,对磁头运动采用的空气动力学设计。此时磁头

离盘面数据区0.20.5微米

高度进行飞行。这样既不与盘面接触,又能很好的读取数据。磁

头之所以能够飞起来,完全

是靠空气的“浮力”。如果没有空气的话磁头将与磁盘直接接触,

除非能生产出无磨檫的光滑

平面,否则在一瞬间就会使整个磁盘表面划伤。目前来看,绝对

光滑的平面是不现实的。

柱面:

我们认为离圆心最远的磁道为0磁道,依此往里为1磁道....。不

同面上相同磁道编号则组

成了一个圆柱面,即所称的柱面(Cylinder)

每个柱面上的磁头由上而下从“0”开始编号。数据读写按柱面进

行,即磁头读写数据时首

先在同一柱面内从“0”磁头开始进行操作,依次向下在同一柱面

的不同盘面(即磁头上)进行操

作,只有在同一柱面所有的磁头全部读写完毕后磁头才转移到下

一柱面,因为选取磁头只需

通过电子切换即可,而选取柱面则必须通过机械切换。电子切换

比从在机械上磁头向邻近磁

道移动快得多。因此,数据的读写按柱面进行,而不按盘面进行。

读写数据都是按照这种方式进行,尽可能提高了硬盘读写效率。

当然现今硬盘多半只有一个盘片两个盘面。

扇区:

根据硬盘规格的不同,磁道数可以从几百到成千上万不等。一个

每段称为一个扇区(Sector)。扇区是硬盘上存储的物理单位,包括

512个字节的数据和一些

其他信息。即使计算机只需要硬盘上存储的某个字节,也须一次

把这个字节所在的扇区中

的全部512字节读入内存,再选择所需的那个字节。

扇区数据主要有两个部分:存储数据的标识符和存储数据的数据

段。

标识符包括组成扇区三维地址的三个数字:扇区所在的磁头(或盘

)、磁道(或柱面号)

以及扇区在磁道上位置(即扇区编号)。标识符还包括一个字段,显

示扇区是否可以存储数

据或者已有故障不宜使用的标记。有些硬盘控制器在扇区标志符

中还记录提示信息,可在

原扇区出错时指引磁盘转到对应替换扇区或磁道。最后,标识符

以循环冗余校验(CRC)

值作为结束,以供控制器检验扇区标识符读出情况,确保准确无

误。

扇区的第二个主要部分是存储数据的数据段,可分为数据和保护

数据的纠错码(ECC)

要注意硬盘在划分扇区时,和软盘是有一定区别的。软盘的一个

磁道中,扇区号一般依次编排,如挨着来是1号,2号,3...以此类

推。但在硬盘磁道中,扇区号是按照某个间隔跳跃着编排。如,2号扇

区并不是1号扇区后的按顺序的第一个而是第八个,3号扇区又是2

扇区后的按顺序的第八个,依此类推,这个“八”称为交叉因子。这

个交叉因子的来历有必要详述一下,我们知道,数据读取经常需要按

顺序读取一系列相邻的扇区(逻辑数据相邻)。如对磁道扇区按物理顺序

进行编号,很有可能出现当磁头读取完第一个扇区后,由于盘片转速

过快来不及读取下一个扇区,(要知道物理相邻扇区位置距离是极小的)

必须等待转完一圈,这极大浪费了时间。在N年前,就有工程师想到

用交叉因子这个办法来解决这个问题。一个特定硬盘驱动器的交叉因

子取决于:磁盘控制器的速度、主板的时钟速度、与控制器相连的输

出总线的操作速度等。如果磁盘的交叉因子值太高,就需多花一些时

间等待数据在磁盘上存入和读出。而如果交叉因子值太低,就会大大

降低磁盘性能。早期的硬盘管理工作中,设置交叉因子需要用户自己

完成。有时还需要设置几种不同的值来比较其性能。现在的硬盘BIOS

已经解决这个问题,一般低级格式化程序不再提供这一选项设置。

前面已经提及,系统在磁盘上写入读取数据时,写满一磁道后转

向同一柱面的下一个磁头,当柱面写满时,再转向下一柱面。这些转

换都需要时间,而在此期间磁盘始终保持高速旋转,这就会带来又一

个问题。

假定系统刚刚结束对一个磁道最后一个扇区的写入,并且已经设

置了最佳交叉因子值,现在准备在下一磁道的第一个扇区写入,这时

就要等到磁头部件重新准备定位并按径向方向到达下一磁道。如果这

个操作占用时间超过了一点点,尽管有交叉存取,磁头仍会延迟到达?

饩稣飧鑫侍?的办法是以原先磁道所在位置为基准,把新磁道(下一磁

)上全部扇区号移动约一个或几个扇区位置

,这就是磁头扭斜。磁头扭斜可以理解为柱面与柱面之间的交叉

因子,硬盘出厂便设置好,用户一般不用去改变它。磁头扭斜只在文

件较长超过磁道结尾进行读出和写入时才发挥作用。所以,扭斜设置

不正确所带来的时间损失比交叉因子小得多。

簇:

我们上边已经了解扇区是实际物理单位,簇就是硬盘上存储文件

的一个逻辑单位。物理相邻的若干个扇区其实就组成了一个簇。操作

(Cluster)

在你的Windows下,随便找个几十字节的文件,右键属性,看看

实际大小与占用空间两项内容,如大小:15 字节 (15 字节) 占用空间:

8.00 KB (8,192 字节)。这里的占用空间就是你机器分区的簇大小,因

为再小的文件都会占用空间,逻辑基本单位是8K,所以都会占用8K

簇一般有这几类大小 4K8K16K32K64K等。簇越大存储性能

越好,但空间浪费严重。簇越小性能相对越低,但空间利用率高。

注意:这里引入一个概念文件系统,稍后的文章会详细说明。

4、硬盘读写数据的过程

硬盘读取数据时,读写磁头沿径向移动,移到要读取的扇区所在

磁道的上方,这段时间称为寻道时间(seek time)。因读写磁头的起始

位置与目标位置之间的距离不同,寻道时间也不同。目前硬盘一般为2

30毫秒,平均约为9毫秒。磁头到达指定磁道后,然后通过盘片的

旋转,使得要读取的扇区转到读写磁头的下方,这段时间称为旋转延

迟时间(rotational latency time)。一个7200(转/每分钟)的硬盘,

每旋转一周所需时间为60×1000÷7200=8.33毫秒,则平均旋转延迟

时间为8.33÷2=4.17毫秒(平均情况下,需要旋转半圈)。