硬盘类型主要是SCSI,IDE,以及现在流行的SATA等。任何类型的硬盘的生产都需要一定的标准;随着相应标准的升级,硬盘生产技术也在不断升级;例如,SCSI标准已经是经验丰富的SCSI-1,SCSI- 2、 SCSI-3;其中,我们在服务器网站上经常看到的Ultra-160是基于SCSI-3标准的。 IDE遵循ATA标准,而当前流行的SATA是ATA标准的升级版本。 IDE是并行端口设备,而SATA是串行端口。 SATA的开发目的是取代IDE;
我们知道信息存储在硬盘驱动器中,如果将其拆开,则看不到里面的任何东西,只能看到一些光盘。假设,如果使用显(磁头编号)为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
位置:
寻找时间是寻找时间
tla是旋转时间
twm是传输时间
4、磁盘读写原理
当系统将文件存储在磁盘上时,它以柱面,磁头和扇区的方式完成,即,第一磁道的第一磁头(即第一磁道的第一磁道)下的所有扇区磁盘),然后,一个柱面的下一个磁头,...,在一个柱面已满后,它将前进到下一个柱面,直到将文件内容写入磁盘为止。
(文件记录存储在同一磁盘组上。应首先将它们放在一个圆柱上,然后顺序存储在相邻的圆柱上。如果它们对应于同一圆柱,则应按以下顺序存储:磁盘。)
(从上到下,然后从外到内。首先在圆柱体而不是磁盘上进行数据读取/写入)
系统还以相同顺序读出数据。读取数据时,是通过告诉磁盘控制器读取扇区所在的柱面号,磁头号和扇区号(物理地址的三个组成部分)来完成的。磁盘控制器直接将磁头组件移至相应的磁柱,对相应的磁头进行门控,并等待所需的扇区在磁头下方移动。当扇区到达时,磁盘控制器将读取每个扇区的标头,将这些标头中的地址信息与预期的磁头和柱面编号(即,寻道)进行比较,然后搜索所需的扇区号。当磁盘控制器找到扇区头时,它将根据其任务是写入扇区还是读取扇区来决定是切换写电路还是读取数据以及尾部记录。找到扇区后,磁盘控制器必须对扇区信息进行后处理,然后再继续搜索下一个扇区。如果正在读取数据,则控制器计算数据的ECC代码,然后将ECC代码与记录的ECC代码进行比较。如果正在写入数据,则控制器将计算此数据的ECC代码并将其与数据一起存储。在控制器对该扇区中的数据进行必要的处理期间,磁盘将继续旋转。
5、局部性原理和磁盘预读
由于存储介质的特性,磁盘访问比主存储器要慢得多。除了机械运动的成本外,磁盘访问速度通常是主内存的百分之几。因此,为了提高效率,必须最小化磁盘I / O。为了实现此目标,通常不严格按需读取磁盘,而是每次都预先读取。即使只需要一个字节,磁盘也将从该位置开始,并顺序地向后读取一定长度的数据并将其放入内存。其理论基础是计算机科学中著名的局部性原理:
使用一条数据时,通常会立即使用附近的数据。
程序运行期间所需的数据通常是集中的。
由于磁盘顺序读取效率很高(不需要寻道时间,只需要很小的旋转时间),因此对于本地程序,预读取可以提高I / O效率。
预读的长度通常是页面的整数倍。页面是计算机管理内存的逻辑块。硬件和操作系统通常将主存储器和磁盘存储区域划分为大小相等的连续块。每个内存块称为一个页面(在许多操作系统中,页面大小通常为4k),主内存和磁盘以页面为单位交换数据。当程序要读取的数据不在主存储器中时,将触发页面错误异常。此时,系统将向磁盘发送磁盘读取信号,磁盘将找到数据的起始位置并连续读取一页或几页。加载到内存中,然后异常返回,程序继续运行。
6、磁盘碎片生成
俗话说,一张图片值得一千个字。首先,使用ACSII代码图片来解释为什么发生磁盘碎片。

上面的ASCII图表示磁盘文件系统。由于目前没有任何数据文件,因此将其表示为0。
在图的顶部和左侧,有26个字母a-z,用于定位每个数据字节的特定位置。例如,第一行和第一列是aa,而第26和26列是zz。
我们创建了一个新文件,当然,我们的文件系统已经更改,现在是

如图所示:“目录”(TOC)占据前四行,并且TOC存储系统中每个文件的位置。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/dianqi/article-363465-1.html
中华士魄