磁盘 = HDD = Hard Disk Drive = 机械硬盘

磁盘 = HDD = Hard Disk Drive = 机械硬盘

  • 温盘 = 温切斯特 Winchester 盘

    • 是IBM推出的一种磁盘

    • 现代磁盘的模型

  • 组成

    • 机械部分

    • 电子部分

  • 读写

      • 读磁头感应磁场变化→磁信号转换为电信号
      • 写磁头磁化盘面介质颗粒→电信号转换为磁信号
  • 延迟

    • 寻道时间

      • 磁头定位到特定磁道
    • 旋转时间

      • 盘片旋转使得磁头定位到指定扇区

      • 转速:rpm, rounds per minute

      • 认为旋转时间为转半圈的时间,0.5/(转速/60000)

    • 数据传输

      • 内部传输时间 - 磁盘转速相关

      • 外部传输时间 - 磁盘接口相关

    • 控制器处理

      • 通常可以忽略
    • 磁盘利用率

      • 利用率到达70%以上会出现明显的增加
    • 影响性能的因素

      • 数据的连续性、局部性

        • 访问的地址越随机 - 每次都要寻道旋转 - 有效读写时间少
      • 数据访问块的大小

        • 一次数据传输,寻道旋转控制器的时间较为固定 - 数据块越大,一次传输的量越多,寻道等的时间占比越小,读取的效率越高
      • 设计文件系统时增加数据访问快的大小,改善局部性,预取,缓存等

  • 固件

    • 地址映射

      • 磁盘向操作系统导出的线性的一维地址空间是 逻辑块地址 LBA Logical Block Address

      • 控制器的固件将LBA映射到磁盘上的扇区地址 物理块地址 PBA Physical Block Address

      • 磁盘扇区的地址用CHS (Cylinder - 柱面, Head - 磁头, Sector - 扇区)表示

      • 分区 Zone (没查到相关资料

        • 不同磁道的周长不同

          • 固定扇区数 - 浪费外圈磁道的存储密度

          • 固定位密度 - 计算CHS比较麻烦

        • 磁盘分区 - 折中

          • 不同半径的磁道分为不同的区

          • 不同的区内部,每条磁道的扇区数量是相等的

          • 不同的区之间,每条磁道的扇区数量是不同的

      • 重映射 Remap

        • 扇区可能会发生故障

        • 每条磁道上会预留扇区

        • 故障后将原来的地址映射到备用的扇区上

        • 用重映射表记录扇区的重映射关系

      • 偏移 Skew

        • 切换磁道的过程中盘片也在旋转

        • 切换后磁头读取到的已经不是相邻扇区了

        • 在下一条磁道编号的时候可以向后偏移一定数量

  • 磁盘缓存

    • 写缓冲

      • 主机发来数据,先缓存在磁盘缓冲中,同时返回写完成的通知

      • 磁盘在后台写入介质

      • 缓存是易失的,掉电时可能会丢失

    • 读缓冲 - 预取

      • 主机 - 磁盘接口的性能>磁盘内部介质性能

      • 根据局部性预取数据到磁盘缓存,命中率越高越提升效率

  • 磁盘调度

    • 调度读写请求的顺序,提升吞吐率和公平性

    • FCFS

    • SSTF

    • SCAN

    • C-SCAN

    • LOOK

    • C-LOOK