存储器结构
-
计算机体系结构
-
磁盘结构
盘片platter
盘面surface
磁头R/W head
磁道track
柱面cylinder
扇区sector
磁盘块存取时间
块:OS或DBMS进行磁盘存取的最小逻辑单元(由若干扇区组成)
扇区:磁盘中数据存取的最小单元
读块时间
- 定义:从“发出块存取请求”到“块位于主存”的时间
- 计算:寻道时间S+旋转延迟R+传输时间T+其他延迟
- 寻道时间:磁头定位到所需要的柱面所花费的时间
- 旋转延迟:磁盘转动到第一个扇区到达磁头所需要的时间
- 传输延迟:块的扇区及其间隙旋转通过磁头所需的时间
- 其他延迟:CPU请求IO时间、争用磁盘控制器时间、争用总线和主存时间
- 读块:若下一块就在同一柱面,则只需要旋转延迟+传输延迟;否则又要进行寻道
- 写块:与读块类似,如果需要校验是否正确,则需要再加上一次旋转时间和一次块传输时间
- 块修改:块->主存(修改)->磁盘
- 块地址:物理设备号、柱面号、盘面号(磁头号)、扇区号
磁盘例子:Megatron747
- 参数:3840RPM、8surfaces、8192 tracks/surface、256 sectors/track、512 bytes/sector、磁头启动停止1ms,每移动500个柱面需要1ms,块间隙(扇区间隙)占块的10%大小、一个块占据8个扇区
- 大小:88192256*512 B
- 寻道时间(最大):8192/500+1=17.384ms
- 一个block大小:8*512B=4KB
- 每个磁道大小:256*512B=128KB
- 每个柱面大小:8*128KB=1MB
- 存取时间:
1)读取一个磁道时间:60/3840=15.625ms
2)一个磁道内读取数据时间:15.6250.9
3)一个磁道内读取空隙时间;15.6250.1
4)读取一个块的时间:15.625/32-1.5625/256
5)读取一个块内数据时间:15.625/32*0.9 - 从OS中随机读取一块
1)最大时间:17.384+15.625+15.625/32-1.5625/256
2)最小时间:15.625/32-1.5625/256
3)平均时间:1+16.384/3+15.625/2+15.625/32-1.5625/256
磁盘存取优化
1)按柱面组织数据(减少寻道时间)
2)磁盘调度算法
3)磁盘阵列
4)磁盘镜像
5)随机IO到顺序IO
6)预取和缓冲
-
Random IO to Sequential IO
我理解就是对于请求扇区顺序重新排序,使得其尽量变成顺序IO。
这里就是把1-91-2-92…重新组织变成了94-93-92-91-4-3-2-1 -
预取/缓冲
1)单缓冲:n(P+R)(P为缓冲区中处理时间,R为读入缓冲区时间,n为块数)
2)双缓冲:max(nP+R,nR+P) -
块大小(整体趋势块变大)
1)块越大,IO次数越小
2)块越大,每次IO读取的无效数据可能变多
3)块越大,每次IO时间越多
新型存储
闪存、相变存储器、磁阻式存储、电阻式存储器、忆阻器(非易失性)
优点:高存储密度、低功耗、无机械延迟、存取速度快、便携、抗震、低噪音
缺点:读写性能不对称、读写次数有限、可靠性不高
闪存
- 类型:SSD
- 特点:
1)读写不对称
2)写前擦除
3)寿命有限(擦除次数有限)
4)按页读写
5)按块擦除
相变存储器
- 类型:PCM
- 电阻式非易失性半导体存储器
- 特点:以硫族化物材料作为存储介质,利用相变材料在不同结晶状态时呈现出显著的电阻值差异性来实现数据存储
- 对比结果
1)和传统的DRAM对比,很明显能够看出,PCM和FLASH都不是能无限使用,但拥有更高的存储密度。
2)并且只有flash支持擦除。
3)PCM和flash的读写延迟差异很大,且读速度均远快于写速度(flash的读写不对称),DRAM差不多且比新型存储快
基于新型存储的计算机架构
这里明显能够看出,DRAM用于主存,PCM也可以用于存储级主存,这里的延迟均较低。并且读写精度较高(由CPU读取字节),并由硬件直接管理
SSD因为高延迟须用于外存,读写精度较低(由进程读页),由软件管理