zoukankan      html  css  js  c++  java
  • 内部硬盘的硬件结构和工作原理进行了详细解释

    一般硬盘正面贴有产品标签。主要包含厂家信息和产品信息。如商标、型号、序列号、生产日期、容量、參数和主从设置方法等。

    这些信息是正确使用硬盘的基本根据。以下将逐步介绍它们的含义。

    硬盘主要由盘体、控制电路板和接口部件等组成,如图1-1所看到的。

    盘体是一个密封的腔体。硬盘的内部结构一般是指盘体的内部结构;控制电路板上主要有硬盘BIOS、硬盘缓存(即CACHE)和主控制芯片等单元。如图1-2所看到的。硬盘接口包含电源插座、数据接口和主、从跳线,如图1-3所看到的。


    图1-1 硬盘的外观


    图1-2 控制电路板


    图1-3 硬盘接口

    电源插座连接电源,为硬盘工作提供电力保证。数据接口是硬盘与主板、内存之间进行数据交换的通道。使用一根40针40线(早期)或40针80线(当前)的IDE接口电缆进行连接。

    新添加的40线是信号屏蔽线。用于屏蔽快速高频传输数据过程中的串扰。中间的主、从盘跳线插座,用以设置主、从硬盘,即设置硬盘驱动器的訪问顺序。其设置方法一般标注在盘体外的标签上,也有一些标注在接口处,早期的硬盘还可能印在电路板上。

    此外。在硬盘表面有一个透气孔(见图1-1)。它的作用是使硬盘内部气压与外部大气压保持一致。因为盘体是密封的,所以,这个透气孔不直接和内部相通。而是经由一个高效过滤器和盘体相通,用以保证盘体内部的洁净无尘,使用中注意不要将它盖住。

    1.2 硬盘的内部结构

    硬盘的内部结构通常专指盘体的内部结构。

    盘体是一个密封的腔体,里面密封着磁头、盘片(磁片、碟片)等部件。如图1-4所看到的。


    图1-4 硬盘内部结构

    硬盘的盘片是硬质磁性合金盘片。片厚一般在0.5mm左右,直径主要有1.8in(1in=25.4mm)、2.5in、3.5in和5.25in 4种,当中2.5in和3.5in盘片应用最广。盘片的转速与盘片大小有关,考虑到惯性及盘片的稳定性。盘片越大转速越低。一般来讲。2.5in硬盘的转速在5 400 r/min~7 200 r/ min之间;3.5in硬盘的转速在4 500 r/min~5 400 r/min之间;而5.25in硬盘转速则在3 600 r/min~4 500 r/min之间。随着技术的进步,如今2.5in硬盘的转速最高已达15 000 r/min,3.5in硬盘的转速最高已达12 000 r/min。

    有的硬盘仅仅装一张盘片。有的硬盘则有多张盘片。

    这些盘片安装在主轴电机的转轴上,在主轴电机的带动下快速旋转。

    每张盘片的容量称为单碟容量,而硬盘的容量就是全部盘片容量的总和。早期硬盘因为单碟容量低,所以。盘片较多,有的甚至多达10余片,现代硬盘的盘片一般仅仅有少数几片。

    一块硬盘内的全部盘片都是全然一样的,不然控制部分就太复杂了。

    一个牌子的一个系列一般都用同一种盘片,使用不同数量的盘片。就出现了一个系列不同容量的硬盘产品。

    盘体的完整构造如图1-5所看到的。


    图1-5 盘体的完整结构

    硬盘驱动器採用高精度、轻型磁头驱动/定位系统。这样的系统能使磁头在盘面上快速移动,可在极短的时间内精确地定位在由计算机指令指定的磁道上。

    眼下,磁道密度已高达5 400Tpi(每英寸磁道数)或更高;人们还在研究各种新方法,如在盘上挤压(或刻蚀)图形、凹槽和斑点等作为定位和跟踪标记,以提高到和光盘相等的道密度,从而在保持磁盘机快速度、高位密度和高可靠性的优势下,大幅度提高存储容量。

    硬盘驱动器内的电机都是无刷电机,在快速轴承支持下机械磨损非常小,能够长时间连续工作。

    快速旋转的盘体产生明显的陀螺效应,所以。在硬盘工作时不宜搬动。否则,将添加轴承的工作负荷。为了快速存储和读取信息,硬盘驱动器的磁头质量小,惯性也小,所以,硬盘驱动器的寻道速度明显快于软驱和光驱。

    硬盘驱动器磁头与磁头臂及伺服定位系统是一个总体。伺服定位系统由磁头臂后的线圈和固定在底板上的电磁控制系统组成。

    因为定位系统限制,磁头臂仅仅能在盘片的内外磁道之间移动。

    因此,无论开机还是关机,磁头总在盘片上;所不同的是,关机时磁头停留在盘片启停区,开机时磁头“飞行”在磁盘片上方。

     

    硬盘上的数据是怎样组织与管理的呢?硬盘首先在逻辑上被划分为磁道、柱面以及扇区,其结构关系如图1-6所看到的。

    图1-6 磁头、柱面和扇区

    每一个盘片的每一个面都有一个读写磁头,磁盘盘面区域的划分如图1-7所看到的。磁头靠近主轴接触的表面,即线速度最小的地方,是一个特殊的区域,它不存放不论什么数据,称为启停区或着陆区(Landing Zone)。启停区外就是数据区。在最外圈,离主轴最远的地方是“0”磁道。硬盘数据的存放就是从最外圈開始的。

    那么,磁头是怎样找到“0”磁道的位置的呢?从图1-5中能够看到。有一个“0”磁道检測器,由它来完毕硬盘的初始定位。

    “0”磁道是如此的重要。以致非常多硬盘只由于“0”磁道损坏就报废,这是非常可惜的。这样的故障的修复技术在后面的章节中有具体的介绍。


    图1-7 硬盘盘片的启停区和数据区

    早期的硬盘在每次关机之前须要执行一个被称为Parking的程序,其作用是让磁头回到启停区。现代硬盘在设计上已摒弃了这个虽不复杂却非常让人不愉快的小缺陷。硬盘不工作时。磁头停留在启停区,当须要从硬盘读写数据时。磁盘開始旋转。旋转速度达到额定的快速时。磁头就会因盘片旋转产生的气流而抬起,这时磁头才向盘片存放数据的区域移动。盘片旋转产生的气流相当强,足以使磁头托起,并与盘面保持一个微小的距离。这个距离越小。磁头读写数据的灵敏度就越高,当然对硬盘各部件的要求也越高。早期设计的磁盘驱动器使磁头保持在盘面上方几微米处飞行。

    稍后一些设计使磁头在盘面上的飞行高度降到约0.1μm~0.5μm,如今的水平已经达到0.005μm~0.01μm。这仅仅是人类头发直径的千分之中的一个。

    气流既能使磁头脱离开盘面。又能使它保持在离盘面足够近的地方,非常紧密地尾随着磁盘表面呈起伏运动。使磁头飞行处于严格受控状态。磁头必须飞行在盘面上方。而不是接触盘面,这样的位置可避免擦伤磁性涂层。而更重要的是不让磁性涂层损伤磁头。可是,磁头也不能离盘面太远,否则,就不能使盘面达到足够强的磁化。难以读出盘上的磁化翻转(磁极转换形式,是磁盘上实际记录数据的方式)。

    硬盘驱动器磁头的飞行悬浮高度低、速度快,一旦有小的尘埃进入硬盘密封腔内。或者一旦磁头与盘体发生碰撞,就可能造成数据丢失。形成坏块,甚至造成磁头和盘体的损坏。所以,硬盘系统的密封一定要可靠,在非专业条件下绝对不能开启硬盘密封腔,否则,灰尘进入后会加速硬盘的损坏。另外,硬盘驱动器磁头的寻道伺服电机多採用音圈式旋转或直线运动步进电机,在伺服跟踪的调节下精确地跟踪盘片的磁道,所以。硬盘工作时不要有冲击碰撞,搬动时要小心轻放。

    这样的硬盘就是採用温彻斯特(Winchester)技术制造的硬盘。所以也被称为温盘。其结构特点例如以下。

    ①磁头、盘片及运动机构密封在盘体内。

    ②磁头在启动、停止时与盘片接触,在工作时因盘片快速旋转。带动磁头“悬浮”在盘片上面呈飞行状态(空气动力学原理)。“悬浮”的高度约为0.1μm~0.3μm,这个高度很小,图1-8标出了这个高度与头发、烟尘和手指印的大小比較关系,从这里能够直观地“看”出这个高度有多“高”。


    图1-8 盘片结构及磁头高度示意图

    ③磁头工作时与盘片不直接接触,所以。磁头的载入较小,磁头能够做得非常精致,检測磁道的能力非常强,可大大提高位密度。

    ④磁盘表面很平整光滑,能够做镜面使用。

    以下对“盘面”、“磁道”、“柱面”和“扇区”的含义逐一进行介绍。

    1. 盘面号

    硬盘的盘片一般用铝合金材料做基片,快速硬盘也可能用玻璃做基片。

    玻璃基片更easy达到所需的平面度和光洁度。且有非常高的硬度。

    磁头传动装置是使磁头部件作径向移动的部件。通常有两种类型的传动装置。一种是齿条传动的步进电机传动装置;还有一种是音圈电机传动装置。

    前者是固定推算的传动定位器,而后者则採用伺服反馈返回到正确的位置上。磁头传动装置以非常小的等距离使磁头部件做径向移动,用以变换磁道。

    硬盘的每个盘片都有两个盘面(Side),即上、下盘面,一般每个盘面都会利用,都能够存储数据,成为有效盘片,也有极个别的硬盘盘面数为单数。

    每个这种有效盘面都有一个盘面号,按顺序从上至下从“0”開始依次编号。在硬盘系统中。盘面号又叫磁头号,由于每个有效盘面都有一个相应的读写磁头。硬盘的盘片组在2~14片不等,通常有2~3个盘片,故盘面号(磁头号)为0~3或0~5。

    2. 磁道

    磁盘在格式化时被划分成很多同心圆。这些同心圆轨迹叫做磁道(Track)。磁道从外向内从0開始顺序编号。硬盘的每个盘面有300~1 024个磁道。新式大容量硬盘每面的磁道数很多其它。信息以脉冲串的形式记录在这些轨迹中,这些同心圆不是连续记录数据,而是被划分成一段段的圆弧,这些圆弧的角速度一样。因为径向长度不一样,所以,线速度也不一样,外圈的线速度较内圈的线速度大。即相同的转速下,外圈在相同一时候间段里。划过的圆弧长度要比内圈划过的圆弧长度大。

    每段圆弧叫做一个扇区,扇区从“1”開始编号,每个扇区中的数据作为一个单元同一时候读出或写入。一个标准的3.5in硬盘盘面通常有几百到几千条磁道。磁道是“看”不见的,仅仅是盘面上以特殊形式磁化了的一些磁化区,在磁盘格式化时就已规划完成。

     

    3. 柱面

    全部盘面上的同一磁道构成一个圆柱。通常称做柱面(Cylinder)。每一个圆柱上的磁头由上而下从“0”開始编号。数据的读/写按柱面进行,即磁头读/写数据时首先在同一柱面内从“0”磁头開始进行操作。依次向下在同一柱面的不同盘面即磁头上进行操作,仅仅在同一柱面全部的磁头全部读/写完成后磁头才转移到下一柱面,由于选取磁头仅仅需通过电子切换就可以,而选取柱面则必须通过机械切换。电子切换相当快。比在机械上磁头向邻近磁道移动快得多,所以,数据的读/写按柱面进行。而不按盘面进行。也就是说。一个磁道写满数据后,就在同一柱面的下一个盘面来写,一个柱面写满后,才移到下一个扇区開始写数据。读数据也依照这样的方式进行,这样就提高了硬盘的读/写效率。

    一块硬盘驱动器的圆柱数(或每一个盘面的磁道数)既取决于每条磁道的宽窄(相同。也与磁头的大小有关),也取决于定位机构所决定的磁道间步距的大小。更深层的内容请參考其它书籍,限于篇幅。这里不再深入介绍。

    4. 扇区

    操作系统以扇区(Sector)形式将信息存储在硬盘上,每一个扇区包含512个字节的数据和一些其它信息。

    一个扇区有两个主要部分:存储数据地点的标识符和存储数据的数据段。如图1-9所看到的。


    图1-9 硬盘扇区的构成

    标识符就是扇区头标,包含组成扇区三维地址的三个数字:扇区所在的磁头(或盘面)、磁道(或柱面号)以及扇区在磁道上的位置即扇区号。头标中还包含一个字段。当中有显示扇区能否可靠存储数据。或者是否已发现某个故障因而不宜使用的标记。有些硬盘控制器在扇区头标中还记录有指示字。可在原扇区出错时指引磁盘转到替换扇区或磁道。最后。扇区头标以循环冗余校验(CRC)值作为结束,以供控制器检验扇区头标的读出情况,确保准确无误。

    扇区的第二个主要部分是存储数据的数据段,可分为数据和保护数据的纠错码(ECC)。在初始准备期间,计算机用512个虚拟信息字节(实际数据的存放地)和与这些虚拟信息字节对应的ECC数字填入这个部分。

    扇区头标包括一个可识别磁道上该扇区的扇区号。

    有趣的是,这些扇区号物理上并不连续编号。它们不必用不论什么特定的顺序指定。扇区头标的设计同意扇区号能够从1到某个最大值。某些情况下可达255。磁盘控制器并不关心上述范围中什么编号安排在哪一个扇区头标中。在非常特殊的情况下,扇区还能够共用同样的编号。磁盘控制器甚至根本就无论数据区有多大,仅仅管读出它所找到的数据,或者写入要求它写的数据。

    给扇区编号的最简单方法是l,2,3,4,5,6等顺序编号。

    假设扇区按顺序绕着磁道依次编号。那么。控制器在处理一个扇区的数据期间,磁盘旋转太远,超过扇区间的间隔(这个间隔非常小),控制器要读出或写入的下一扇区已经通过磁头,或许是相当大的一段距离。

    在这样的情况下,磁盘控制器就仅仅能等待磁盘再次旋转差点儿一周,才干使得须要的扇区到达磁头以下。

    显然,要解决问题,靠加大扇区间的间隔是不现实的,那会浪费很多磁盘空间。很多年前,IBM的一位杰出project师想出了一个绝妙的办法,即对扇区不使用顺序编号,而是使用一个交叉因子(interleave)进行编号。

    交叉因子用比值的方法来表示,如3﹕1表示磁道上的第1个扇区为1号扇区。跳过两个扇区即第4个扇区为2号扇区,这个过程持续下去直到给每一个物理扇区编上逻辑号为止。

    比如。每磁道有17个扇区的磁盘按2﹕1的交叉因子编号就是:l,10。2,11,3,12,4,13,5,14,6,15。7。16,8,17。9。而按3﹕1的交叉因子编号就是:l,7,13,2,8,14,3。9,15,4,10。16。5,11,17。6,12。当设置1﹕l的交叉因子时,假设硬盘控制器处理信息足够快,那么。读出磁道上的所有扇区仅仅须要旋转一周;但假设硬盘控制器的后处理动作没有这么快,磁盘所转的圈数就等于一个磁道上的扇区数,才干读出每一个磁道上的所有数据。将交叉因子设定为2﹕1时,磁头要读出磁道上的所有数据,磁盘仅仅需转两周。假设2﹕1的交叉因子仍不够慢,磁盘旋转的周数约为磁道的扇区数,这时。可将交叉因子调整为3﹕1。如图1-10所看到的。


    图1-10 不同交叉因子的效果演示样例

    图1-10所看到的的是典型的MFM(Modified Frequency Modulation。改进型调频制编码)硬盘,每磁道有17个扇区,画出了用三种不同的扇区交叉因子编号的情况。

    最外圈的磁道(0号柱面)上的扇区用简单的顺序连续编号,相当于扇区交叉因子是1﹕1。1号磁道(柱面)的扇区按2﹕1的交叉因子编号,而2号磁道按3﹕1的扇区交叉因子编号。

    早期的硬盘管理工作中,设置交叉因子须要用户自己完毕。用BIOS中的低级格式化程序对硬盘进行低级格式化时,就须要指定交叉因子。有时还须要设置几种不同的值来比較其性能,而后确定一个比較好的值,以期硬盘的性能较好。如今的硬盘BIOS已经自己解决问题,所以,一般低级格式化程序不再提供这一选项设置。

    系统将文件存储到磁盘上时。按柱面、磁头、扇区的方式进行,即最先是第1磁道的第一磁头下(也就是第1盘面的第一磁道)的所有扇区,然后,是同一柱面的下一磁头,……。一个柱面存储满后就推进到下一个柱面,直到把文件内容所有写入磁盘。系统也以同样的顺序读出数据。读出数据时通过告诉磁盘控制器要读出扇区所在的柱面号、磁头号和扇区号(物理地址的三个组成部分)进行。磁盘控制器则直接使磁头部件步进到对应的柱面,选通对应的磁头。等待要求的扇区移动到磁头下。在扇区到来时。磁盘控制器读出每一个扇区的头标,把这些头标中的地址信息与期待检出的磁头和柱面号做比較(即寻道),然后,寻找要求的扇区号。待磁盘控制器找到该扇区头标时,依据其任务是写扇区还是读扇区,来决定是转换写电路,还是读出数据和尾部记录。

    找到扇区后,磁盘控制器必须在继续寻找下一个扇区之前对该扇区的信息进行后处理。

    假设是读数据,控制器计算此数据的ECC码,然后。把ECC码与已记录的ECC码相比較。假设是写数据,控制器计算出此数据的ECC码,与数据一起存储。

    在控制器对此扇区中的数据进行必要处理期间。磁盘继续旋转。

    因为对信息的后处理须要耗费一定的时间。在这段时间内,磁盘已转了相当的角度。

    交叉因子的确定是一个系统级的问题。一个特定硬盘驱动器的交叉因子取决于:磁盘控制器的速度、主板的时钟速度、与控制器相连的输出总线的操作速度等。假设磁盘的交叉因子值太高,就需多花一些时间等待数据在磁盘上存入和读出。假设交叉因子值太低,就会大大减少磁盘性能。

    前面已经述及。系统在磁盘上写入信息时,写满一个磁道后转到同一柱面的下一个磁头。当柱面写满时。再转向下一柱面。从同一柱面的一个磁道到还有一个磁道,从一个柱面转到下一个柱面。每个转换都须要时间,在此期间磁盘始终保持旋转。这就会带来一个问题:假定系统刚刚结束对一个磁道前一个扇区的写入,而且已经设置了最佳交叉因子比值。如今准备在下一磁道的第一扇区写入。这时。必须等到磁头转换好。让磁头部件又一次准备定位在下一道上。假设这样的操作占用的时间超过了一点,虽然是交叉存取,磁头仍会延迟到达。这个问题的解决的方法是以原先磁道所在位置为基准,把新的磁道上所有扇区号移动约一个或几个扇区位置,这就是磁头扭斜。磁头扭斜能够理解为柱面与柱面之间的交叉因子,已由生产厂设置好,用户一般不用去改变它。磁头扭斜的更改比較困难,可是,它们仅仅在文件非常长、超过磁道结尾进行读出和写入时才发挥作用,所以。扭斜设置不对所带来的时间损失比採用不对的扇区交叉因子值带来的损失要小得多。

    交叉因子和磁头扭斜可用专用工具软件来測试和更改。更详细的内容这里就不再详述,毕竟如今非常多用户都没有见过这些參数。

    扇区号存储在扇区头标中,扇区交叉因子和磁头扭斜的信息也存放在这里。最初,硬盘低级格式化程序仅仅是行使有关磁盘控制器的专门职能来完毕设置任务。

    因为这个过程可能破坏低级格式化的磁道上的所有数据,也极少採用。

    扇区交叉因子由写入到扇区头标中的数字设定,所以,每一个轨道可以有其自己的交叉因子。

    在大多数驱动器。所有曲目有相同的交叉因子。但有时由于操作上的原因。它也可能导致各轨道跨越因素的不同扇区。当因素,如跨复位程序作品,由于电源中断或人造,这会造成一些轨交系数变化,而且还有许多交-track因子没有改变。

    这样的矛盾并不电脑产生不利影响,只是比其他赛道工作最好的跨轨道速度的因素。

  • 相关阅读:
    《一起》个人进展——Day05
    《一起》个人进展——Day04
    《一起》个人进展——Day03
    《一起》个人进展——Day02
    《一起》个人进展——Day01
    this
    java_流
    input _文本框回车或者失去光标触发事件
    removeAll
    SysLog简介和java操作实例
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4592030.html
Copyright © 2011-2022 走看看