磁盘的工作原理解读

2024-06-29 23:51:24 浏览数 (1)

磁盘存储区域

一块磁盘划分为若干个记录面,每个记录面划分为若干条 磁道,而每条磁道又划分为若干个 扇区,扇区(也称块、扇段)是磁盘读写的最小单位,即磁盘按块存取。一个具有多盘片的磁盘组,可将其 n 个面上所有同一半径的磁道看成一个圆柱面,称为 柱面;在移动磁头的组合盘中,多个磁头一次定位的磁道集合就是一个柱面。

  • 磁头数:表示磁盘总共有几个磁头,一般来说一个记录面对应一个磁头,所以等于记录面数。
  • 柱面数:表示磁盘中柱面的个数,等于每个记录面上的磁道数。
  • 扇区数:表示每条磁道上有几个扇区。

磁盘地址

一个磁盘存储器可以有多台驱动器,不同的驱动器可以用一个编号(驱动器号,或者台号)来区分。当驱动器号确定后,磁盘进行寻址定位时,首先需要整体移动磁头找到对应柱面(磁道)、再选定磁头,最后转动盘片找到扇区。所以寻址所需要的磁盘地址,一般由 驱动器号柱面(磁道)号盘面号扇区号 组成。

磁盘的地址格式如下所示:

驱动器号

柱面(磁道)号

盘面号

扇区号

系统中有 4 个驱动器,每个驱动器带一个磁盘组,其中有 11 个盘片(最外层上下侧为保护面),每个盘面有 203 个磁道、划分为 16 个扇区。则可以算出,驱动器号需要 2 位;柱面号需要 8 位( 27 < 203 < 28 );而 11 个盘片有 20 个盘面,所以盘面号需要 5 位;扇区号需要 4 位。最终每个磁盘地址要 19 位二进制代码。

驱动器号(2位)

柱面(磁道)号(8位)

盘面号(5位)

扇区号(4位)

磁盘的工作过程

磁盘的主要操作是寻址、读盘、写盘。磁盘属于机械式部件,其读/写操作是串行的,不可能在同一 时刻既读又写,也不可能在同一时刻读两组数据或写两组数据。

冗余磁盘阵列

通过在多个磁盘上并行存取来大幅提高吞吐量;通过镜像功能,提高了安全性、可靠性;通过数据校验,提供容错能力。

冗余磁盘阵列(Redundant Array of Independent Disks,RAID)是将多个独立的物理磁盘组成一个磁盘阵列,引入并行处理技术,让数据在多个物理盘上分割交叉存储、并行访问。

根据不同的目的,可以采用不同的 RAID 方案;在 RAID1 ~ RAID5 的几种方案中,无论何时有磁盘损坏,都可以随时拔出受损的磁盘再插入好的磁盘,而数据不会损坏。RAID 的分级如下所示:

  • RAID 0:通过条带化(striping)技术将数据分布在多个磁盘上,从而提升性能,但没有冗余,因此一旦有任何磁盘损坏,所有数据都会丢失。它适用于对性能要求高且数据可以容忍丢失的场景。
  • RAID 1:通过磁盘镜像(mirroring)提供数据冗余,所有数据同时写入两个或更多磁盘,因此如果一个磁盘损坏,另一个磁盘上仍有完整的数据副本。RAID 1提供了很高的数据安全性,但存储成本较高,因为实际可用存储空间只有总磁盘容量的一半。
  • RAID 2、RAID 3、RAID 4:这些RAID级别在实际应用中使用较少。RAID 2使用海明码(Hamming code)进行错误检测和纠正,RAID 3和RAID 4分别使用位级和块级的奇偶校验提供冗余,但这些方案因为性能瓶颈和实际应用的局限性,通常不推荐使用。
  • RAID 5:RAID 5是一种常见的设置,它结合了条带化和分布式奇偶校验。数据条带化分布在多个磁盘上,并且奇偶校验信息也分布在所有磁盘上,这样任何单个磁盘的故障都不会导致数据丢失。RAID 5在提供一定程度的性能提升的同时,也提供了较好的数据保护能力。

在设计和使用RAID时,需要根据数据的重要性和应用的需求来选择合适的RAID级别。同时,还需要注意,虽然RAID可以显著提升数据的可靠性和访问速度,但它不是数据备份的替代品。重要数据仍需要进行定期备份,以防所有磁盘同时遭受不可恢复的故障,如火灾、盗窃等。

0 人点赞