硬盘类型主要是SCSI,IDE和流行的SATA等。生产任何类型的硬盘都需要某些标准;随着相应标准的升级,硬盘生产技术也随之升级;例如,SCSI标准具有经验丰富的SCSI-1,SCSI-2、SCSI-3;其中,我们在服务器网站上经常看到的Ultra-160基于SCSI-3标准。 IDE遵循ATA标准,而当前流行的SATA是ATA标准的升级版本。 IDE是并行端口设备,而SATA是串行端口。 SATA的开发目的是取代IDE;
我们知道信息存储在硬盘驱动器中,如果将其拆开,则看不到里面的任何东西,只能看到一些光盘。假设,如果使用显微镜放大圆盘,您会发现圆盘的表面不平整,凸出的区域被磁化,而凹入的区域未被磁化;凸区域代表数字1(磁化为1),凹区域代表数字0。因此,硬盘可以二进制形式存储诸如文本和图片之类的信息。
1、硬盘的组成
硬盘大家一定不会陌生,我们可以把它比喻成是我们电脑储存数据和信息的大仓库。一般说来,无论哪种硬盘,都是由盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部份组成。
平面图:
立体图
所有的盘片都固定在一个旋转轴上,这个轴即盘片主轴。而所有盘片之间是绝对平行的,在每个盘片的存储面上都有一个磁头,磁头与盘片之间的距离比头发 丝的直径还小。所有的磁头连在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向动作,(实际是斜切向运动),每个磁头同一时刻也必须是同轴的,即从正上方向下看,所有磁头任何时候都是重叠的(不过目前已经有多磁头独立技术,可不受此限制)。而盘片以每分钟数千转到上万转的速度在高速旋转,这样磁头就能对盘片上的指定位置进行数据的读写操作。由于硬盘是一种高精度设备,灰尘是它的敌人,因此必须将其完全密封。
2、硬盘如何工作
硬盘在逻辑上分为磁道,圆柱体和扇区。
硬盘的每个盘片的每一侧都有一个读写头。磁盘区域的划分如图所示。
磁头靠近主轴接触的表面,即线速度最小的地方,是一个特殊的区域,它不存放任何数据,称为启停区或着陆区(LandingZone),启停区外就是数据区。在最外圈,离主轴最远的地方是“0”磁道,硬盘数据的存放就是从最外圈开始的。那么,磁头是如何找到“0”磁道的位置的 呢?在硬盘中还有一个叫“0”磁道检测器的构件,它是用来完成硬盘的初始定位。“0”磁道是如此的重要,以致很多硬盘仅仅因为“0”磁道损坏就报废,这是 非常可惜的。
早期的硬盘在每次关机之前需要运行一个被称为Parking的程序,其作用是让磁头回到启停区。现代硬盘在设计上已摒弃了这个虽不复杂却很让人不愉快的小缺陷。硬盘不工作时,磁头停留在启停区,当需要从硬盘读写数据时,磁盘开始旋转。旋转速度达到额定的高速时,磁头就会因盘片旋转产生的气流而抬起, 这时磁头才向盘片存放数据的区域移动。
盘片旋转产生的气流相当强,足以使磁头托起,并与盘面保持一个微小的距离。这个距离越小,磁头读写数据的灵敏度就越高,当然对硬盘各部件的要求也越 高。早期设计的磁盘驱动器使磁头保持在盘面上方几微米处飞行。稍后一些设计使磁头在盘面上的飞行高度降到约0.1μm~0.5μm,现在的水平已经达到 0.005μm~0.01μm,这只是人类头发直径的千分之一。
气流既能使磁头脱离开盘面,又能使它保持在离盘面足够近的地方,非常紧密地跟随着磁盘表面呈起伏运动,使磁头飞行处于严格受控状态。磁头必须飞行在盘面上方,而不是接触盘面,这种位置可避免擦伤磁性涂层,而更重要的是不让磁性涂层损伤磁头。但是,磁头不应离磁盘表面太远,否则磁盘表面将无法获得足够强的磁化强度,并且很难读取磁盘上的磁化反转(形式磁极转换是在磁盘上实际记录数据的方法。
硬盘驱动器磁头的飞行悬浮高度低、速度快,一旦有小的尘埃进入硬盘密封腔内,或者一旦磁头与盘体发生碰撞,就可能造成数据丢失,形成坏块,甚至造成 磁头和盘体的损坏。所以,硬盘系统的密封一定要可靠,在非条件下绝对不能开启硬盘密封腔,否则,灰尘进入后会加速硬盘的损坏。另外,硬盘驱动器磁头的寻道伺服电机多采用音圈式旋转或直线运动步进电机,在伺服跟踪的调节下精确地跟踪盘片的磁道,所以,硬盘工作时不要有冲击碰撞,搬动时要小心轻放。
这种硬盘就是采用(Winchester)技术制造的硬盘,所以也被称为温盘,目前绝大多数硬盘都采用此技术。3、磁盘,磁道,柱面和扇区
硬盘的读写与扇区紧密相关。在讨论扇区和读写原理之前,我们先讨论与扇区相关的“磁盘”,“磁道”和“圆柱”。
磁盘表面
通常,硬盘驱动器的盘片使用铝合金作为基底,而高速硬盘驱动器的盘片也可以使用玻璃作为基底。硬盘的每个磁盘都有两个面,即上侧和下侧。通常,每一面都可以使用并且可以存储数据并成为有效的磁盘。也很少有奇数个面的硬盘。每个这样的有效磁盘都有一个磁盘编号,该磁盘编号从“ 0”开始从上到下依次编号。在硬盘系统中,磁盘表面号也称为磁头号,因为每个有效的磁盘表面都有一个对应的读写磁头。硬盘的盘片范围为2到14个盘片,通常为2到3个盘片,因此磁盘的表面编号(磁头编号)为0-3或0-5。
跟踪
在格式化过程中,磁盘分为多个同心圆。这些同心圆轨迹称为轨迹。轨道从0到外部顺序编号。硬盘的每个磁盘表面都有300到1 024个磁道,而新的大容量硬盘在每个表面上都有更多的磁道。信息以脉冲序列的形式记录在这些磁道中。这些同心圆不是连续记录数据,而是被分成具有相同角速度的圆弧段。因为径向长度不同,所以线速度也不同。外圈的线速度大于内圈的线速度。即,在相同的转速下,由外圈拉出的弧的长度比内圈长。圆所画的弧长很大。每个弧称为一个扇区,并且扇区从“ 1”开始编号。每个扇区中的数据作为一个单元同时读取或写入。标准3.5英寸硬盘表面通常具有数百至数千条磁道。磁道是不可见的,只是磁盘表面上的某些磁化区域已以特殊方式磁化,并且在格式化磁盘后已完成规划。
气缸
所有磁盘上的同一磁道形成一个圆柱体,通常称为圆柱体。每个气缸上的气缸盖从上到下从“ 0”开始编号。在圆柱上执行数据读取/写入,即,当磁头读取/写入数据时,操作从同一圆柱中的“ 0”磁头开始,然后在同一圆柱的不同磁盘表面上执行该操作,即磁头。在读取/写入同一圆柱体的所有磁头之后,磁头将转移到下一个圆柱体(同心然后向内的圆柱体),因为磁头的选择仅需要进行电子切换,并且选择必须通过气缸的机械开关。电子开关相当快,比机械地将磁头移动到相邻磁道要快得多。因此,数据的读/写是在圆柱面上进行的,而不是在磁盘面上进行的。也就是说,在一个磁道已满数据之后,将其写入同一柱面的下一个磁盘表面,而在一个柱面已满之后,它将移至下一个扇区以开始写入数据。也可以通过这种方式读取数据,从而提高了硬盘的读取/写入效率。
硬盘驱动器的柱面数(或每个磁盘表面的磁道数)取决于每个磁道的宽度(还与磁头的大小有关),还取决于确定的磁道之间的步距通过定位机构的尺寸。
4.部门
操作系统以扇区的形式在硬盘上存储信息。每个扇区包括512字节的数据和一些其他信息。一个扇区有两个主要部分:数据存储位置的标识符和数据存储的数据段。
该行业的第一主要部分是标识符。标识符是扇区头,包括组成扇区的三维地址的三个数字:
磁盘号:扇区所在的头(或磁盘)
柱面号:磁道,确定磁头的径向方向。
扇区号:在磁道上的位置。也叫块号。确定了数据在盘片圆圈上的位置。标头还包括带有标志的字段,该标志指示扇区是否可以可靠地存储数据,或者是否已发现故障并且不适合使用。一些硬盘控制器还在扇区头中记录指针,这些指针可以将磁盘定向到替换扇区或在原始扇区错误时进行跟踪。最后,扇区标头以循环冗余校验(CRC)值结尾,以供控制器检查扇区标头的读数以确保准确性。
该扇区的第二个主要部分是用于存储数据的数据段,可以将其分为数据和用于数据保护的纠错码(ECC)。在初始准备过程中,计算机将用512个虚拟信息字节(存储实际数据)和对应于这些虚拟信息字节的ECC编号填充此部分。
访问请求的完成过程:
确定磁盘地址(气缸号,磁头号,扇区号),内存地址(源/目标):
当需要从磁盘读取数据时,系统会将数据逻辑地址传给磁盘,磁盘的控制电路按照寻址逻辑将逻辑地址翻译成物理地址,即确定要读的数据在哪个磁道,哪个扇区。为了读取此扇区中的数据,您需要将磁头置于该扇区上方,以实现此目的:
1)首先必须找到柱面,即磁头需要移动对准相应磁道,这个过程叫做寻道,所耗费时间叫做寻道时间,
2)然后目标扇区旋转到磁头下,即磁盘旋转将目标扇区旋转到磁头下。这个过程耗费的时间叫做旋转时间。磁盘访问请求(读/写)的完成过程包含三个操作:
1)搜寻(时间):头部移动并定位到指定的轨道
2)旋转延迟(时间):等待指定扇区在磁头下方旋转
3)数据传输(时间):磁盘和内存之间的实际数据传输
因此读取磁盘上的扇区数据(一条数据)所需的时间:
Ti / o = tseek + tla + n * twm
位置:
寻找时间是寻找时间
tla是旋转时间
twm是传输时间
4、磁盘读写原理
当系统将文件存储在磁盘上时,将以柱面,磁头和扇区的方式完成操作,即在第一磁道的第一磁头(即第一磁盘的第一磁道)下的所有扇区。 ,然后,同一柱面的下一个磁头,...,在一个柱面已满后,它将前进到下一个柱面,直到将文件内容写入磁盘。
(文件记录存储在同一磁盘组上。应首先将它们放在一个圆柱上,然后顺序存储在相邻的圆柱上。如果它们对应于同一圆柱,则应按以下顺序存储:磁盘。)
(从上到下,然后从外到内。首先在圆柱体而不是磁盘上进行数据读取/写入)
系统还以相同顺序读取数据。通过告诉磁盘控制器读取扇区所在的柱面号,磁头号和扇区号(物理地址的三个组成部分)来读取数据。磁盘控制器将磁头组件直接步进到相应的磁柱,选通相应的磁头,并等待所需的扇区在磁头下方移动。当扇区到达时,磁盘控制器将读取每个扇区的标头,将这些标头中的地址信息与预期的磁头和柱面编号(即,寻道)进行比较,然后查找所需的扇区号。当磁盘控制器找到扇区的标头时,它根据其任务是写入扇区还是读取扇区来决定是切换写电路还是读取数据和尾部记录。找到扇区后,磁盘控制器必须先对扇区中的信息进行后处理,然后再继续搜索下一个扇区。如果正在读取数据,则控制器计算数据的ECC代码,然后将ECC代码与记录的ECC代码进行比较。如果正在写入数据,则控制器将计算此数据的ECC代码并将其与数据一起存储。当控制器对该扇区中的数据执行必要的处理时,磁盘将继续旋转。
5、局部性原理和磁盘预读
由于存储介质的特性,磁盘访问比主内存要慢得多。除了机械运动的成本外,磁盘访问速度通常是主存储器的百分之几。因此,为了提高效率,请最小化磁盘I / O。为了实现此目标,通常不严格按需读取磁盘,而是每次都预先读取。即使只需要一个字节,磁盘也将从该位置开始,并按顺序向后读取一定长度的数据到内存中。其理论基础是计算机科学中著名的局部性原理:
使用一条数据时,通常会立即使用附近的数据。
程序中所需的数据通常是集中的。
由于磁盘顺序读取效率很高(不需要寻道时间,只需要很小的旋转时间),因此对于本地程序而言,预读取可以提高I / O效率。
预读的长度通常是页面的整数倍。页面是计算机管理内存的逻辑块。硬件和操作系统通常将主存储器和磁盘存储区划分为大小相等的连续块。每个内存块称为一个页面(在许多操作系统中,页面大小通常为4k),主内存和磁盘交换数据以页面为单位。当程序要读取的数据不在主存储器中时,将触发页面错误异常。此时,系统将向磁盘发送磁盘读取信号,磁盘将找到数据的起始位置并连续读取一页或几页。加载到内存中,然后异常返回,程序继续运行。
6、磁盘碎片生成
俗话说,一张图片值得一千个字。首先,使用ACSII代码图片来解释为什么发生磁盘碎片。
上面的ASCII图表示磁盘文件系统。由于目前没有任何数据文件,因此我将其表示为0。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/dianqi/article-352021-1.html
如此作为
哈哈
人家都是拿