硬盘的结构

硬盘分类

1、IDE(Integrated Drive Electronics)硬盘。本意是把控制器与盘体集成在一起的硬盘驱动器。平常也称IDE接口为ATA(Advanced Technology Attachment)接口。理论速度上限在100MB/S左右。显而易见IDE接口硬盘的缺点为速度比较慢,而且对于接口电缆的长度有很严格的控制。之前兼容性非常好的优点随着硬盘技术的发展,也渐渐失去了优势。

2、SCSI(Small Computer System Interface)硬盘。准确的说,SCSI并不是专为硬盘设计的接口,而是一种广泛应用于小型机上的一种高速数据传输技术。SCSI硬盘具有应用范围广、多任务、带宽大、CPU占用率低、热插拔等优点。但是因为价格较高所以只用在中、高端服务器或高档的工作站之中。

3、RAID(Redundant Arrays of Independent Disks)阵列。当CPU速度增长很快,而磁盘传输速率无法大幅度提高的时候,RAID就应运而生!RAID阵列磁盘是用由多个普通磁盘组成的一个容量巨大的硬盘。将数据切割成很多的区段,分别存在不同的磁盘上,利用个别磁盘提供数据所产生的加成效果。从而提高数据的传输速度。RAID的优点是不仅速度快,还能通过数据校验提供容错功能。即当某一个硬盘出现故障时,仍旧可以读出数据(RAID 1有容错的功能,RAID 0没有。具体可移步百度磁盘阵列)。

4、SATA(Serial Advanced Technology Attachment)接口。SATA接口的硬盘已经是现在个人PC的主流。最新的SATA3标准接口的硬盘理论极限速度已经达到600MB/S。

5、光纤接口硬盘。多用于集中储存系统,具有其他硬盘没有的灵活性,它的出现大大提高了多硬盘的系统的通信速度。而且通信距离由普通硬盘的几米一直增长到了10千米(单模光纤联接时)通常应用于高端服务器领域。

硬盘结构

一般说来,硬盘都是由盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部份组成

盘片

一个磁盘(如一个 1T 的机械硬盘)由多个盘片(如下图中的 0 号盘片)叠加而成。

盘片的表面涂有磁性物质,这些磁性物质用来记录二进制数据。因为正反两面都可涂上磁性物质,故一个盘片可能会有两个盘面。每一个这样的有效盘面都有一个盘面号,按顺序从上至下从“0”开始依次编号。在硬盘系统中,盘面号又叫磁头号,因为每一个有效盘面都有一个对应的读写磁头。硬盘的盘片组在2~14片不等,通常有2~3个盘片,故盘面号(磁头号)为0~3或 0~5。

磁道、扇区

每个盘片被划分为一个个磁道,每个磁道又划分为一个个扇区。如下图:

磁道从外向内从0开始顺序编号。硬盘的每一个盘面有300~1 024个磁道,新式大容量硬盘每面的磁道数更多。磁道是“看”不见的,只是盘面上以特殊形式磁化了的一些磁化区,在磁盘格式化时就已规划完毕。

信息以脉冲串的形式记录在磁道中,这些同心圆不是连续记录数据,而是被划分成一段段的圆弧,这些圆弧的角速度一样。由于径向长度不一样,所以,线速度也不一样,外圈的线速度较内圈的线速度大,即同样的转速下,外圈在同样时间段里,划过的圆弧长度要比内圈 划过的圆弧长度大。每段圆弧叫做一个扇区,扇区从“1”开始编号,每个扇区中的数据作为一个单元同时读出或写入,每个扇区包括512个字节的数据和一些其他信息。一个扇区有两个主要部分:存储数据地点的标识符和存储数据的数据段。`

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

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

其中,最内侧磁道上的扇区面积最小,因此数据密度最大。

柱面

每个盘面同一磁道构成一个圆柱,通常称做柱面(Cylinder)。如下图,

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

硬盘的工作原理

硬盘的物理地址

MBR( Master Boot Record,主引导记录,系统启动时,由BIOS读取)的结构中,硬盘最开头的 512 字节,即 0 柱面 0 磁道 1 扇区。前 446 字节是引导代码,不同操作系统的引导代码不一样。然后是 4 个 16 字节的主分区表信息。最后 2 个字节 55 AA,是操作系统的启动标识。

数据访问

确定磁盘地址(柱面号,磁头号,扇区号),内存地址(源/目):

当需要从磁盘读取数据时,系统会将数据逻辑地址传给磁盘,磁盘的控制电路按照寻址逻辑将逻辑地址翻译成物理地址,即确定要读的数据在哪个磁道,哪个扇区。

为了读取这个扇区的数据,需要将磁头放到这个扇区上方,为了实现这一点:

1)首先必须找到柱面,即磁头需要移动对准相应磁道,这个过程叫做寻道,所耗费时间叫做寻道时间,

2)然后目标扇区旋转到磁头下,即磁盘旋转将目标扇区旋转到磁头下。这个过程耗费的时间叫做旋转时间。

即一次访盘请求(读/写)完成过程由三个动作组成:

1)寻道(时间):磁头移动定位到指定磁道

2)旋转延迟(时间):等待指定扇区从磁头下旋转经过

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

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

Ti/o=tseek +tla + n*twm

其中:

tseek 为寻道时间

tla为旋转时间

twm 为传输时间

磁盘控制器在对扇区数据读取和写入的时候会对数据进行校验。


硬盘的读写原理详解_黄规速博客:学如逆水行舟,不进则退-CSDN博客

Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT) - mingc - 博客园

你可能感兴趣的:(硬盘的结构)