硬盘读写原理的详细说明

电脑杂谈  发布时间:2020-09-05 02:05:36  来源:网络整理

硬盘文件目录损坏且无法读取_硬盘读取数据工作原理_fileupload1从中读取数据

硬盘类型主要是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、磁盘,磁道,柱面和扇区

硬盘的读写与扇区紧密相关。在讨论扇区和读写原理之前,我们先讨论与扇区相关的“磁盘”,“磁道”和“圆柱”。

硬盘文件目录损坏且无法读取_硬盘读取数据工作原理_fileupload1从中读取数据

1.磁盘表面

通常,硬盘驱动器的盘片使用铝合金作为基底,而高速硬盘驱动器的盘片也可以使用玻璃作为基底。硬盘的每个磁盘都有两个面,即上侧和下侧。通常,每一面都可以使用并且可以存储数据并成为有效的磁盘。也很少有奇数个面的硬盘。每个这样的有效磁盘都有一个磁盘号,该磁盘号从“ 0”开始从上到下依次编号。在硬盘系统中,磁盘表面号也称为磁头号,因为每个有效的磁盘表面都有一个对应的读写磁头。硬盘的磁盘组范围是2到14个磁盘,通常是2到3个磁盘,因此磁盘的表面号(磁头号)是0到3或0到5。

2.跟踪

在格式化过程中,磁盘分为多个同心圆。这些同心圆轨迹称为轨迹。轨道从0到外部顺序编号。硬盘的每个磁盘表面都有300到1,024个磁道,而新的大容量硬盘的每个表面上都有更多的磁道。信息以脉冲序列的形式记录在这些磁道中。这些同心圆不是连续记录数据,而是分成弧段,并且这些弧的角速度是相同的。因为径向长度不同,所以线速度也不同。外圈的线速度大于内圈的线速度,即,在相同速度下,外圈画的弧的长度比内圈的线的长度长。圆所画的弧长很大。每个弧称为一个扇区,并且扇区从“ 1”开始编号。同时读取或写入每个扇区中的数据。标准3. 5英寸硬盘表面通常具有数百至数千条磁道。磁道是“不可见的”,但是在格式化磁盘时,已经计划了磁盘表面上某些以特殊形式磁化的磁化区域。

3.圆柱表面

所有磁盘表面上的同一磁道构成一个圆柱体,通常称为圆柱体,每个圆柱体上的磁头从上到下从“ 0”开始编号。在圆柱上执行数据读取/写入,即,当磁头读取/写入数据时,操作从同一圆柱中的“ 0”磁头开始,然后在同一圆柱的不同磁盘表面上执行操作,即磁头。在读取/写入同一圆柱体的所有磁头之后,磁头将移动到下一个圆柱体(同心然后向内的圆柱体),因为磁头的选择仅需要进行电子切换,并且气缸的选择必须通过机械切换。电子开关相当快,比机械地将磁头移动到相邻磁道要快得多。因此,数据的读取/写入是在圆柱面上进行的,而不是在磁盘面上进行的。就是说,在一个磁道充满数据之后,将其写入同一柱面的下一个磁盘表面,并且在一个柱面充满后,它将移至下一个扇区以开始写入数据。也可以通过这种方式读取数据,从而提高了硬盘的读写效率。

硬盘驱动器的柱面数(或每个磁盘表面的磁道数)不仅取决于每个磁道的宽度(还与磁头的大小有关),还取决于它们之间的步距轨道由定位机构的尺寸决定。

4.部门

操作系统以扇区的形式在硬盘上存储信息,每个扇区包括512字节的数据和一些其他信息。一个扇区有两个主要部分:数据存储位置的标识符和数据存储的数据段。

该行业的第一主要部分是标识符。标识符是扇区头,包括组成扇区的三维地址的三个数字:

磁盘号:扇区所在的头(或磁盘)

汽缸号:轨道,它确定磁头的径向方向。

扇区号:在轨道上的位置。也称为块号。确定数据在磁盘圆上的位置。

标头还包括带有标志的字段,该标志指示扇区是否可以可靠地存储数据,或者是否已发现故障并且不适合使用它。一些硬盘控制器还在扇区头中记录指针,这些指针可以将磁盘定向到替换扇区或跟踪原始扇区何时出错。最后,扇区标头以循环冗余校验(CRC)值结尾,以供控制器检查扇区标头的读数以确保准确性。

该扇区的第二个主要部分是用于存储数据的数据段,可以将其分为数据和用于数据保护的纠错码(ECC)。在初始准备过程中,计算机将用512个虚拟信息字节(存储实际数据)和对应于这些虚拟信息字节的ECC编号填充该部分。

5.访问请求完成过程:

确定磁盘地址(气缸号,磁头号,扇区号),内存地址(源/目标):

当需要从磁盘读取数据时,系统会将数据逻辑地址传输到磁盘,磁盘控制电路将根据寻址逻辑将逻辑地址转换为物理地址,即确定哪个跟踪要读取的数据以及在哪个扇区上。面积。

为了读取该扇区的数据,您需要将头放在该扇区上方,以实现以下目的:

1)必须首先找到圆柱体,也就是说,磁头需要移动以与相应的轨道对齐。此过程称为寻道,花费的时间称为寻道时间。

2)然后,目标扇区在磁头下方旋转,即磁盘旋转使磁头下方的目标扇区旋转。在此过程中花费的时间称为旋转时间。

磁盘访问请求(读/写)的完成过程包括三个操作:

1)搜寻(时间):头部移动到指定的轨道

2)旋转延迟(时间):等待指定扇区在磁头下方旋转

3)数据传输(时间):磁盘和内存之间的实际数据传输

因此读取磁盘上的扇区数据(一条数据)所需的时间:

Ti / o = tseek + tla + n * twm

fileupload1从中读取数据_硬盘文件目录损坏且无法读取_硬盘读取数据工作原理

位置:

寻找时间是寻找时间

tla是旋转时间

twm是传输时间

4、磁盘读写原理

当系统将文件存储在磁盘上时,将以柱面,磁头和扇区的方式完成操作,即,第一磁道的第一磁头(即第一磁道的第一磁道)下的所有扇区磁盘),然后,一个柱面的下一个磁头,...,一个柱面已满后,它将前进到下一个柱面,直到将文件内容写入磁盘。

(文件记录存储在同一磁盘组上。应首先将它们放在一个圆柱上,然后顺序存储在相邻的圆柱上。如果它们对应于同一圆柱,则应按以下顺序存储:磁盘。)

(从上到下,然后从外到内。首先在圆柱体而不是磁盘上进行数据读取/写入)

系统还以相同顺序读取数据。读取数据时,通过告诉磁盘控制器读取扇区所在的柱面号,磁头号和扇区号(物理地址的三个组成部分)来完成。磁盘控制器直接将磁头组件移至相应的磁柱,对相应的磁头进行门控,并等待所需的扇区在磁头下方移动。当扇区到达时,磁盘控制器将读取每个扇区的标头,将这些标头中的地址信息与预期的磁头和柱面编号(即,寻道)进行比较,然后查找所需的扇区号。当磁盘控制器找到扇区头时,它根据其任务是写入扇区还是读取扇区来决定是切换写电路还是读取数据以及尾记录。找到扇区后,磁盘控制器必须对扇区中的信息进行后处理,然后再继续搜索下一个扇区。如果正在读取数据,则控制器计算数据的ECC代码,然后将ECC代码与记录的ECC代码进行比较。如果正在写入数据,则控制器将计算此数据的ECC代码并将其与数据一起存储。在控制器对该扇区中的数据进行必要的处理期间,磁盘将继续旋转。

5、局部性原理和磁盘预读

由于存储介质的特性,磁盘访问比主存储器要慢得多。加上机械运动的成本,磁盘访问速度通常是主内存的百分之几。因此,为了提高效率,请最小化磁盘I / O。为了实现此目标,通常不严格按需读取磁盘,而是每次都预先读取。即使只需要一个字节,磁盘也将从该位置开始,然后顺序地将一定长度的数据读回内存。其理论基础是计算机科学中著名的局部性原理:

使用一条数据时,通常会立即使用附近的数据。

程序运行期间所需的数据通常是集中的。

因为磁盘顺序读取效率很高(不需要寻道时间,只需要很小的旋转时间),所以对于本地程序,预读取可以提高I / O效率。

预读的长度通常是页面的整数倍。页面是计算机管理内存的逻辑块。硬件和操作系统通常将主存储器和磁盘存储区域划分为大小相等的连续块。每个内存块称为一个页面(在许多操作系统中,页面大小通常为4k)。主内存和磁盘以页面为单位交换数据。当程序要读取的数据不在主存储器中时,将触发页面错误异常。此时,系统将向磁盘发送磁盘读取信号,磁盘将找到数据的起始位置并连续读取一页或几页。加载到内存中,然后异常返回,程序继续运行。

6、磁盘碎片生成

俗话说,一张图片值得一千个字。首先,使用ACSII代码图片来解释为什么发生磁盘碎片。

上面的ASCII图表示磁盘文件系统。由于当前没有任何数据文件,因此我将其表示为0。

在图的顶部和左侧,有26个字母a-z,用于定位每个数据字节的特定位置。例如,第一行和第一列是aa,而第26和26列是zz。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/dianqi/article-314083-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...