Lecture 10 磁盘存储器
外部存储设备用于储存不经常使用的,数据量较大的信息,同时也是非易失的。
磁盘存储器
磁盘是由涂有可磁化材料的非磁性材料(基材)构成的圆形盘片
-
基材:铝,铝合金,玻璃
玻璃基材的优势
- 改善磁膜表面的均匀性,提高磁盘的可靠性
- 显著减少整体表面瑕疵,以帮助减少读写错误
- 能够支持磁头较低的飞行高度
- 硬度更高,磁盘转动时更稳定
- 更强的抗冲击和抗损伤能力
数据组织
- 磁头宽度 = 磁道宽度
- 磁盘上的数据以扇区为单位(通常是512B)
- 磁道和扇区之间都有间隙,用于防止精确度不够时误读
- 磁道从外到里编号0~N
扇区划分有两种方式
恒定角速度
- 增大记录在盘片区域上的信息位的间隔,使得磁盘能够以恒定角速度扫描信息。(靠外的扇区间隔大,靠内的间隔小)
- 优点:能以磁道号和扇区号直接寻址各个数据块
- 缺点:磁盘存储容量受到最内层磁盘所能实现的最大记录密度的限制(最外层增大间隙是很容易实现的,因此上限取决于最内层)
多重区域记录
-
将盘面按离中心的距离划分为多个区域,一个区域内的磁道扇区数目一定(信息位间隔不同)。越远离中心的区域,容纳的扇区越多。
区域的划分依据:两个相邻磁道多出来的周长可能不足以容纳一个新的扇区,因此只能采用与较内磁道相同的磁道数(稍微提高信息位间隔保证角速度恒定)
换句话说,区域内采用恒定角速度方式,不同区域角速度不同
-
这样就导致不同区域的读写速度不一样,需要更复杂的电路控制,当磁头切换区域时,读写时序也要相应变动。(增加了寻址时间)
-
优点:增大了存储容量,突破了内圈最大记录密度的限制
磁盘格式化
磁道必须有一些起始点和辨别每个扇区起点及终点的方法,这些信息应该嵌入每个扇区内
硬件的信息通常都采用嵌入的方式保存,比如cache,比如这里的扇区
每个扇区分为ID域
和信息域
,每次格式化时ID域的信息不会改变
-
设计的考量
-
ID域中的同步字节用于标识一个新的扇区进入磁头读写范围
-
ID域和数据域之间的间隙是为了给磁头处理信息的时间,即磁头读出ID域信息后需要判定是否是自己要读写的扇区。如果没有间隙,可能会在漏过一些数据后才判定要读该扇区。
-
有时候格式化后的磁盘可以被恢复出来,这说明格式化时并没有破坏数据域的数据,而只是标识为不可用。
类似于栈帧中的数据,pop后并没有破坏栈帧中的数据,只是在逻辑上不可访问
事实上,上述格式化为高级格式化. 而低级格式化会清除所有扇区里的数据域. 同时,低级格式化是对物理意义的硬盘全部格式化(即所有逻辑分区), 且对硬盘有损伤
-
物理结构
-
磁头
- 固定头磁盘:每个磁道有一个读写头,所有磁头安装在跨越所有磁道的固定支架上。(使用很少
- 可移动头磁盘:只有一个读写头,但在径向上可以伸缩移动
-
可更换性
不可更换磁盘永久安装在驱动器内,可更换磁盘可从磁盘驱动器中取出
- 大多数磁盘两面都有可磁化涂层,称为双面磁盘,否则则是单面磁盘
- 多层磁盘的组织结构
多盘片磁盘使用可移动磁头,每面一个。所有盘片上相同的相对位置的一组磁道被称为一个柱面。
-
磁头机制
-
磁头在盘片上方固定距离,有一个气隙。或磁头直接贴住磁表面(软盘)。
-
第三种方式是温氏磁盘。
磁道越窄,数据密度越大,但这也要求磁头更窄,离盘面更近(物理原因)。但磁头离盘面越近,出错率就更高。温氏磁盘磁头以气垫的形态轻停在磁盘表面,磁盘旋转时气压使磁头上升与磁盘分离,以极低的飞行高度读取数据。
-
读写机制
磁头实际上是一个线圈
- 写:磁头线圈不同的脉冲电流产生不同的磁化模式,写入磁盘
- 读:不同的磁化模式产生不同的感应电流
因此,理论上读写可以用一个磁头,但为了提高效率(直接解析感应电流需要较长时间),采取一个单独的读磁头。
读磁头由一个部分被屏蔽的磁阻传感器构成,MR材料的电阻取决于在它下面运动的介质的磁化方向,因此电流通过MR传感器时,电阻会因电流不同而不同,再以电压信号被检测出来。
读写时间
-
寻道时间
移动磁盘臂到所要求的磁道处所花费的时间,包含初始启动时间,跨越若干磁道所用的时间。
-
旋转延迟
等待响应扇区的起始处到达磁头所需的时间,通常是磁道旋转半周所需的时间(平均)。
-
传送时间
\(T:\) 传送时间
\(b:\) 传送字节数
\(N:\) 每磁道的字节数
\(r:\) 转速
因此总的平均访问时间为
\(T_s\)为平均寻道时间
对于连续访问多个相邻磁道时,对计算有一定简化:
每一个磁道都要考虑旋转延迟
在未明确给出每个磁道的寻道时间时,通常只考虑第一个 磁道的寻道时间(相邻磁道切换很快)
从以上的磁盘读写时间计算公式可知,当一大块数据连续存储时读写时间要短得多。但在实际应用时,碎片化存储也有很广泛的应用。因为碎片化存储分散了连续的数据块,使得磁盘空间得到更充分的利用(如果全部都是连续的,如果一个连续块中间的数据被删除,那这中间的空间就不能利用)
磁头调度
当有多个访问磁盘任务时,不同的磁头寻道策略效率不同。
先来先服务算法
按照请求访问的先后次序进行处理