04 数据存储

存储器结构

核心:层次化存储

磁盘存储时间

  1. 块(Block)是 OS 或 DBMS 进行磁盘数据存取的最小逻辑单元,由若干扇区组成
  2. 块是 DBMS 中数据存取的最小单元(逻辑
  3. 扇区是磁盘中数据存储的最小单元(物理

读取一个块,实际上是从硬件设备读取一个或多个扇区

读块时间 = 寻道时间+旋转延迟+传输时间+其他时间

\[\begin{align} T_a&=T_s+T_{r}+T_{t}+other\\ Avg(T_{a})&=T_s+\frac 1 {2r}+\frac{b}{rN}\\ \end{align} \]

  • 在真实情境中,会要求计算“最优”、“平均”、“最坏”情况下的读块时间
  • \(T_{s}\) :定位到柱面的时间
    • 平均寻道时间:一般在10ms-40ms 之间
  • \(T_{r}\) :磁盘转动到块的第一个扇区到达磁头所需的时间
    • \(1RPM=\frac{1}{60*1000}r/ms\)
    • 平均时间为旋转1/2周所费的时间
  • \(T_t\)
  • 其他延迟
    • CPU 请求 IO 的时间
    • 争用磁盘控制器时间
    • 征用总线和主存的时间
    • 典型情况:0(忽略不计)
  • 读取下一块
    • 在同一柱面上:\(T_r+T_t\)
    • 不在同一柱面
  • 写块:如果需要校验块是否正确写入,则需要加上一次旋转时间和一次块传输时间
  • 块修改:读块+在内存修改+写块
  • 块地址:<物理设备号,柱面号,盘面号(或磁头号),扇区号>

磁盘存储优化

优化方法:

  • Random IO to Sequential IO
  • 预取/缓冲
    • P:在缓冲区处理数据的时间
    • R:将数据读入缓冲区的时间
    • n:块数
    • 单缓冲\(T=n(P+R)\)
    • 多缓冲
      • \(R+nP,P\geq R\),处理每块的平均时间为 \(P\)
      • \(nR+P, R\geq P\),处理每块的平均时间为 \(R\)
    • 缓冲的缺点
      • 主存
      • 缓冲区管理
      • 维护一致性
    • 块大小
      • 增大块:减少 IO 次数,增加单次 IO 的时间
      • 增大块是趋势

不同存储介质

闪存 SSD

结构:闪存芯片+控制器+FTL(WL, LBA-PBA, GC)

特点:

  • 读写不对称(写读快)
  • 写前擦除:异位更新、块擦除操作
  • 寿命有限:块擦除次数有限
  • 按页读写
  • 按块擦除

一个块由多个页组成

相变存储器 PCM

posted @ 2024-01-20 11:05  ConnorLan  阅读(13)  评论(0)    收藏  举报