zoukankan      html  css  js  c++  java
  • 硬盘结构和原理

    硬盘是计算机中存储数据的重要载体。我对硬盘的结构不是很了解,但作为一个IT行业的人员,诸如磁盘、扇区、柱面等一些名词又频频出现在你眼前,今天非得所它弄个清楚不可。我在网上看了很多资料,但写的都不是很全,有的就泛泛而谈,于是我就自己综合各种资料总结了一份如下:

    硬盘的主要部件

    硬盘主要由盘体、控制电路板和接口部件等组成盘体是一个密封的腔体硬盘的内部结构通常是指盘体的内部结构;里面密封着磁头、盘片(磁片、碟片)等部件,如图1所示。

     

    1.盘休的结构

     

    控制电路板上主要有硬盘BIOS、硬盘缓存(即CACHE)和主控制芯片等单元,如图2所示;

    2.控制电路板

    硬盘接口包括电源插座、数据接口和主、从跳线,如图1-3所示。电源插座连接电源,为硬盘工作提供电力保证。数据接口是硬盘与主板、内存之间进行数据交换的通道,使用一根4040线(早期)或4080线(当前)的IDE接口电缆进行连接。新增加的40线是信号屏蔽线,用于屏蔽高速高频数据传输过程中的串扰。中间的主、从盘跳线插座,用以设置主、从硬盘,即设置硬盘驱动器的访问顺序。其设置方法一般标注在盘体外的标签上,也有一些标注在接口处,早期的硬盘还可能印在电路板上。

     

    3.接口部件

     

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

    的内部结构

    由图1可以看出一个盘体有两个主要的移动部件;一个是磁盘组合(disk assembly) ,另一个是磁头组合(head assembly)。磁盘组合由一个或多个圆盘(platter)组成,也就是盘片它们围绕着一根中心主轴(简称主轴)旋转。圆的上表面和下表面涂覆了一薄层磁性材料,二进制位被存储在这些磁性材料上。其中,01在磁材料中表现为不同的模式。盘片的直径一般是3.5英寸,尽管直径从一英寸到几英尺的磁盘都已经制造出来。

    一块硬盘有一张或多张盘片组成。这些盘片安装在主轴电机的转轴上,在主轴电机的带动下高速旋转。每张盘片的容量称为单碟容量,而硬盘的容量就是所有盘片容量的总和。早期硬盘由于单碟容量低,所以,盘片较多,有的甚至多达10余片,现代硬盘的盘片一般只有少数几片。一块硬盘内的所有盘片都是完全一样的,不然控制部分就太复杂了。一个牌子的一个系列一般都用同一种盘片,使用不同数量的盘片,就出现了一个系列不同容量的硬盘产品。

    盘体的完整构造如图4所示。


    4.盘体的完整结构

     

    硬盘在逻辑上被划分为磁道、柱面以及扇区。硬盘的每个盘片的每个面都有一个读写磁头,磁盘盘面区域的划分如图所示。

    5.磁头、柱面和扇区

    磁头靠近主轴接触的表面,即线速度最小的地方,是一个特殊的区域,它不存放任何数据,称为启停区或着陆区(Landing Zone),启停区外就是数据区,如图6所以。在最外圈,离主轴最远的地方是“0”磁道,硬盘数据的存放就是从最外圈开始的。那么,磁头是如何找到“0”磁道的位置的 呢?在硬盘中还有一个叫“0”磁道检测器的构件,它是用来完成硬盘的初始定位。“0”磁道是如此的重要,以致很多硬盘仅仅因为“0”磁道损坏就报废,这是非常可惜的。


    6. 盘盘片的启停区和数据区

     

    早期的硬盘在每次关机之前需要运行一个被称为Parking的程序,其作用是让磁头回到启停区。现代硬盘在设计上已摒弃了这个虽不复杂却很让人不愉 快的小缺陷。硬盘不工作时,磁头停留在启停区,当需要从硬盘读写数据时,磁盘开始旋转。旋转速度达到额定的高速时,磁头就会因盘片旋转产生的气流而抬起, 这时磁头才向盘片存放数据的区域移动。
    盘片旋转产生的气流相当强,足以使磁头托起,并与盘面保持一个微小的距离。这个距离越小,磁头读写数据的灵敏度就越高,当然对硬盘各部件的要求也越 高。早期设计的磁盘驱动器使磁头保持在盘面上方几微米处飞行。稍后一些设计使磁头在盘面上的飞行高度降到约0.1μm0.5μm,现在的水平已经达到 0.005μm0.01μm,这只是人类头发直径的千分之一。
    气流既能使磁头脱离开盘面,又能使它保持在离盘面足够近的地方,非常紧密地跟随着磁盘表面呈起伏运动,使磁头飞行处于严格受控状态。磁头必须飞行在盘面上方,而不是接触盘面,这种位置可避免擦伤磁性涂层,而更重要的是不让磁性涂层损伤磁头。

    盘面

    硬盘的每一个盘片都有两个盘面Side),即上、下盘面,一般每个盘面都会利用,都可以存储数据,成为有效盘片,也有极个别的硬盘盘面数为单数。每一个这样的有效盘面都有一个盘面号,按顺序从上至下从“0”开始依次编号。在硬盘系统中,盘面号又叫磁头号,因为每一个有效盘面都有一个对应的读写磁头。硬盘的盘片组在214片不等,通常有23个盘片,故盘面号(磁头号)为0305

    磁道

    磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫做磁道Track,如图7磁道从外向内从0开始顺序编号。硬盘的每一个盘面有3001 024个磁道,新式大容量硬盘每面的磁道数更多。信息以脉冲串的形式记录在这些轨迹中,这些同心圆不是连续记录数据,而是被划分成一段段的圆弧,这些圆弧的角速度一样。由于径向长度不一样,所以,线速度也不一样,外圈的线速度较内圈的线速度大,即同样的转速下,外圈在同样时间段里,划过的圆弧长度要比内圈划过的圆弧长度大。每段圆弧叫做一个扇区,扇区从“1”开始编号,每个扇区中的数据作为一个单元同时读出或写入。一个标准的3.5in硬盘盘面通常有几百到几千条磁道。磁道是不见的,只是盘面上以特殊形式磁化了的一些磁化区,在磁盘格式化时就已规划完毕。

    7.盘面的顶视图

     

    柱面

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

     

    8.柱面

    扇区

    操作系统以扇区Sector)形式将信息存储在硬盘上,每个扇区包括512个字节的数据和一些其他信息。一个扇区有两个主要部分:存储数据地点的标识符和存储数据的数据段,如图7所示。

     

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

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

    扇区头标包含一个可识别磁道上该扇区的扇区号,这些扇区号物理上并不连续编号,它们不必用任何特定的顺序指定。即对扇区不使用顺序编号,而是使用一个交叉因子(interleave)进行编号。交叉因子用比值的方法来表示,如31表示磁道上的第1个扇区为1号扇区,跳过两个扇区即第4个扇区为2号扇区,这个过程持续下去直到给每个物理扇区编上逻辑号为止。例如,每磁道有17个扇区的磁盘按21的交叉因子编号就是:l102113124135146157168179,而按31的交叉因子编号就是:l713281439154101651117612。当设置1l的交叉因子时,如果硬盘控制器处理信息足够快,那么,读出磁道上的全部扇区只需要旋转一周;但如果硬盘控制器的后处理动作没有这么快,磁盘所转的圈数就等于一个磁道上的扇区数,才能读出每个磁道上的全部数据。将交叉因子设定为21时,磁头要读出磁道上的全部数据,磁盘只需转两周。如果21的交叉因子仍不够慢,磁盘旋转的周数约为磁道的扇区数,这时,可将交叉因子调整为31,如图9所示。


    9 不同交叉因子的效果示例

    9所示的是典型的MFMModified Frequency Modulation,改进型调频制编码)硬盘,每磁道有17个扇区,画出了用三种不同的扇区交叉因子编号的情况。最外圈的磁道(0号柱面)上的扇区用简单的顺序连续编号,相当于扇区交叉因子是111号磁道(柱面)的扇区按21的交叉因子编号,而2号磁道按31的扇区交叉因子编号。

     

    参考资料:http://blog.csdn.net/tianxueer/article/details/2689117

                 http://book.51cto.com/art/201012/238190.htm

  • 相关阅读:
    Windows server 2016 解决“无法完成域加入,原因是试图加入的域的SID与本计算机的SID相同。”
    Windows Server 2016 辅助域控制器搭建
    Windows Server 2016 主域控制器搭建
    Net Framework 4.7.2 覆盖 Net Framework 4.5 解决办法
    SQL SERVER 2012更改默认的端口号为1772
    Windows下彻底卸载删除SQL Serever2012
    在Windows Server2016中安装SQL Server2016
    SQL Server 创建索引
    C#控制台或应用程序中两个多个Main()方法的设置
    Icon cache rebuilding with Delphi(Delphi 清除Windows 图标缓存源代码)
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3202861.html
Copyright © 2011-2022 走看看