计算机体系结构——磁盘储存

计算机体系结构——磁盘储存

磁盘的几何结构

磁盘由盘片组成,盘片是一个圆形磁盘,表面涂抹了一层磁性材料,中间有个转轴电机使得磁盘在使用中是旋转的,转速是磁盘一个重要的参数,在 5400 - 15000 转每分钟( RPM )不等。

每个磁盘从里到外分成多个同心圆,每个同心圆称为磁道,磁道由磁道间隙( Gap )和记录区( Section )交替出现组成。磁道间隙不储存实际数据,储存特定的比特位来分割记录区。每个记录区都能储存固定大小的数据块(一般是 512 字节)。

硬盘通常由多个盘片瓦叠而成即从上到下同轴地穿在一起。每个盘片有两个面均能单独存储数据。

厂家通常以使用术语柱面,一个柱面指所有盘片组成的某一个同心圆,例如柱面 k 指的就是所有盘片中第 k 个磁道组成的柱面型区域。

磁盘容量

磁盘的容量通常受以下指标限制:

  1. 储存密度:指的是每英尺磁道片段能储存多少比特位,单位是 bits/in 。
  2. 磁道密度:指按照半径方向每英尺的同心圆能存放多少磁道,单位是 tracks/in 。
  3. 面积密度:上述两者的乘积,单位是 bits / in 2 \text{bits}/\text{in}^2 bits/in2

磁盘容量的计算公式为:

C = #bytes sector × average #sectors track × #tracks surface × #surfaces platter × #platters disk C = \frac{\text{\#bytes}}{\text{sector}} \times \frac{\text{average \#sectors}}{\text{track}} \times \frac{\text{\#tracks}}{\text{surface}} \times \frac{\text{\#surfaces}}{\text{platter}} \times \frac{\text{\#platters}}{\text{disk}} C=sector#bytes×trackaverage #sectors×surface#tracks×platter#surfaces×disk#platters

注意,磁盘厂商通常以十进制计数,即 1 GB = 1 0 9 bytes 1 \text{GB} =10^9 \text{bytes} 1GB=109bytes ,对于其他 IO设备例如网络也是如此。而对于 DRAMs 或者 ROMs 经常使用二进制计数。

磁盘操作

磁盘通过一个绕轴转动的读写头在磁盘上进行读写,每个盘面均有一个读写头,读写头同步移动,也就是说,任何时间所有的读写头都在同一柱面上。磁盘的性能受下列的参数影响:

  1. 寻道时间:指读写头从当前位置到目标记录区所在的磁道的所用时间,记为 T s e e k T_{seek} Tseek ,平均时间记为 T a v g s e e k T_{avgseek} Tavgseek 通常在 6 到9 毫秒不等。最长时间记为 T m a x s e e k T_{maxseek} Tmaxseek 能达到 20 毫秒。
  2. 旋转延迟:指读写头已经移动到目标柱面,等待磁盘转到目标记录区的时间。最大是磁盘转动一圈的时间,也就是 T m a x r a d a t i o n = 1 R P M × 60 s 1 m i n T_{maxradation} = \frac{1}{RPM} \times \frac{60s}{1 min} Tmaxradation=RPM1×1min60s 。平均时间是最大时间的一半。
  3. 传输时间:指读写头划过一个记录区的时间,可以粗略估计为 T a v g t r a n s f e r = 1 R P M × 60 s 1 m i n × 1 a v e r a g e # s e c t o r s / t r a c k T_{avgtransfer} = \frac{1}{RPM} \times \frac{60s}{1 min} \times \frac{1}{average \# sectors/track} Tavgtransfer=RPM1×1min60s×average#sectors/track1
  4. 访问时间:上面三个时间之和,是磁盘读取一个记录区所用的平均时间,记为 T a c c e s s T_{access} Taccess

逻辑磁盘块

磁盘在底层的寻道操作是复杂的,计算机为了抽象这层复杂的操作,将三元组 ( s u r f a c e , t r a c k , s e c t i o n ) (surface,track,section) (surface,track,section) 进行线性映射成线性的存储结构,映射成 b 个逻辑磁盘块依次为 0 到 b-1 ,磁盘控制器将线性地址重新转换到三元组地址上即可。

访问磁盘

磁盘控制器通过 IO 总线和 IO 桥连接,IO 总线不像内存总线和系统总线是和 CPU 相关, IO 总线是和 CPU 独立的,最常见的 IO 总线是 Intel 的 PCI 总线,一些显卡,扩展卡,网卡, USB 控制器,磁盘控制器都和 PCI 总线相连。

磁盘和 CPU 通过 DMA 的方式访问磁盘,即 CPU 向内存映射的 IO 端口发送读取指令,包括逻辑块的地址和内存地址, CPU 不会等待读取完成,而是磁盘控制器直接访问内存写入磁盘数据到内存中,然后再通过中断的方式通知 CPU 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值