大话存储——磁盘原理与技术笔记(一)

大话存储——磁盘原理与技术笔记(一)

1.硬盘的组成

硬盘的组成:盘片、读写头、马达、底座、电路板等。

1.1 盘片

  • 要求无尘、表面光滑平整
  • 逻辑上被划分为柱面、磁道和扇区
    • 磁道是对盘面进行同心圆划分,最外圈为0道,每个盘片两面都可用,每面包括300-1023个磁道,外圈读写快
    • 柱面是对多个盘的同位置同心圆的磁道构成的柱体,读写时按照柱面进行,首先读写0磁头面的磁道,满了后移动到同柱面的下一磁道中
    • 扇区是对每个磁道进行等距离的划分得到的圆弧,寻址时通过<柱面,磁头,扇区>(CHS)方式。但目前主要使用的是LBA的编址方式,即将整个磁盘视为一条线性磁道,对应关系保存在磁盘控制电路的ROM芯片中
    • 扇区编号最简单方法为直接顺序编号,但由于磁盘电路读取一个扇区数据进行处理的过程中,磁盘可能已经旋转进入了下一个扇区的头标,导致要读取就需要再等一圈,因此产生了带交叉因子的编号方式MFM。交叉因子为3:1的编号方式为1,x,x,2,...。磁头扭斜为了解决磁头换道可能延迟到达的问题,相当于是对每个磁道的交叉因子。

1.2 磁头

磁头用以改变磁盘表面的磁性粒子簇达到保存信息的目的,磁头不可接触盘面,需要低空飞行。

1.3 步进电机

可以使磁头进行微米级别的位移。

1.4 其他概念

硬盘控制电路:介于存储介质和主机的接口之间,用以读取和写入数据的电路

磁盘的IO单位:读写是以扇区为最小单位的,有512B和4KB的

2.硬盘相关高层技术

2.1 磁盘中的队列技术

由于不同的指令可能访问的区域涉及到不同的柱面磁道,为了减少磁头的寻道时间引入了排队技术,磁盘控制电路可能会无视顺序而优先访问相同区域的数据(个人理解这可能是和系统共同进行的指令重排优化?)。磁盘控制器(位于主板上)需要配合磁盘控制电路。

2.2 无序传输技术

假如磁头位于数据尾部,采取就近原则能读就读,读取的数据发给控制器,通过DMA放在内存,等旋转到头部再读出剩余部分。

2.3 几种可控磁头扫描方式

(1)FCFS 先来先服务:完全按照IO顺序进行寻道操作

(2)SSTF (Shortest Seek Time First):优先到最近的磁道进行操作,因此特别远的可能会被饿死

(3)SCAN 回旋扫描模式:类似电梯模型,从一端到另一端,无需访问的磁道不停止,必然到达最内/外圈。

(4)C-SCAN 单向扫描模式:仅从内圈向外扫描,到达最外后迅速返回

(5)LOOK 智能监察扫描模式:和SCAN不同之处为无需到达最内外圈,完成两端的IO即可返回

(6)C-LOOK:单向的LOOK

负载不高时SSTF性能最佳,高负载条件SCAN,C-SCAN,C-LOOK

2.4 磁盘缓存

SCSI控制参数

  • DPO(Disable Page Out):禁止缓存中的数据页被换出,配置了的数据不会被覆盖
  • FUA(Force Unit Access):强制盘片访问,对于写操作,磁盘必须将数据写入盘片才返回成功信号;对于读操作,磁盘收到指令直接读取盘片而不搜索缓存

2.5 影响磁盘性能的因素

  • 转速(影响连续IO的首要因素)
  • 寻道速度(影响随机IO的首要因素)
  • 单碟容量(容量越高,数据密度越大)
  • 接口速度(不太重要)

3.硬盘接口技术

3.1 IDE硬盘接口

IDE(Integrated Drive Electronics,电子集成驱动器),本质上将控制电路、盘片和磁头放在了一个容器。价格低,兼容性强。IDE接口也称为PATA接口,Parallel ATA。

共有7个版本的ATA接口:

  • IDE
  • Fast ATA
  • Fast ATA-2
  • ATA-33
  • ATA-66
  • ATA-100
  • ATA-133

IDE数据传输模式:

(1)PIO模式(Programming I/O):一种通过CPU执行IO端口指令来进行数据读写的数据交换模式。传输大量数据是会导致CPU的大量占用问题。已淘汰。

(2)DMA模式(Direct Memory Access):直接内存访问,不经过CPU直接从内存存取数据的数据交换模式。CPU向DMA控制器下达指令,让其来处理数据传送,DMA控制器直接将数据复制到内存对应地址,然后反馈信息给CPU。

(3)Ultra DMA:在DMA的基础上增加了CRC技术,保障数据传输安全。

3.2 SATA硬盘接口

SATA的优势:

  • 传输速率高:1.0可以达到150MB/s
  • 数据可靠性高:可同时对指令和数据进行CRC
  • 节省空间:线缆瘦,有利于机箱内部的散热

SATA2.0的新特性:

  • 3Gb/s传输速率:等同于300MB/s,但带来的好处不明显,因为硬盘内部的传输速率达不到该接口传输速度,内部更多的时间花在了寻道上,如果配较大容量的缓存可能好处会大一些
  • 支持NCQ技术:Native Command Queue,即自身命令队列,一种排队技术

3.3 SCSI硬盘接口

// To Be Continued

原文地址:https://www.cnblogs.com/junzz/p/15020193.html