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


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

    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

  • 相关阅读:
    iOS开发—在ARC环境中,要使用第三方框架,但是这个框架是MRC(非ARC),怎么做?
    iOS开发—nil、Nil、NULL、NSNull详解
    iOS开发—使用VIPER构建iOS应用
    iOS开发—深入了解控制器View的加载
    iOS开发问题总结
    iOS开发实用技巧—Xcode Tips & Tricks(代码调试)
    jsp——学习篇:HTML基础
    jsp——学习篇:所需软件环境的搭建与配置
    jsp——学习篇:初始激励
    Linux文件权限详解 文件和目录权限概述
  • 原文地址:https://www.cnblogs.com/junzz/p/15020193.html
Copyright © 2020-2023  润新知