第1页:磁表面存储设备
磁表面存储设备
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现磁记录方式、磁盘访问过程与RAID容错技术。
第2页:内容提要:磁表面存储设备简介、磁记录方式
- 磁表面存储设备简介
- 磁记录方式
- 磁盘访问过程
- RAID技术
第3页:磁表面存储设备简介
磁表面存储设备简介
- 主存中存放CPU要立即访问的程序和数据。
- 辅助存储器中存放CPU不立即使用的信息,在需要时再调入主存中。–一般为磁盘、光盘等。–容量大、成本低、断电后还可以保存信息,能脱机保存信息,弥补了主存的不足。
第4页:随机访问和串行访问
随机访问和串行访问
- 随机访问
- 随机访问任何单元,访问时间与信息存放位置无关。–每一位有自己的读写设备。
- 串行访问
- 顺序地一位一位地进行,访问时间与位置有关。–共用一个读写设备。–顺序访问和直接访问。
第5页:主要技术指标
主要技术指标
- 存储密度
- 单位长度(磁带)或单位面积(磁盘)磁层表面所存储的二进制信息量
- 存储容量
- 磁表面存储器所能存储的二进制信息的总量,以字节为单位
- 寻址时间
- 数据传输率
- 误码率
- 价格
第6页:磁表面存储设备
- 目的:–长期存储、断电后存储
- 容量大、价格低廉,但速度慢
- 可用在层次存储器的最底层
- 两种主要类型:–软盘、硬盘
- 特点:–使用旋转托盘上的表面磁颗粒来存储数据
- 硬盘、软盘比较:–硬质托盘(金属铝),面积可以比较大;–由于可被精确控制,密度可以更高
第7页:磁表面存储设备
磁表面存储设备
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现磁记录方式、磁盘访问过程与RAID容错技术。
第8页:磁记录方式
磁记录方式磁记录方式是指一种编码方法,即如何将一串二进制信息,通过读写电路变换成磁层介质中的磁化翻转序列。好的编码方法应该有:更高的编码效率,更高的自同步能力,更高的读写可靠性等。
常用的编码方式有:不归零制(NRZ)见1就翻的NRZ调相制(PM)调频制(FM)改进调频制(MFM)。
第9页:几种磁记录方式
几种磁记录方式
- 归零制(RZ)
- 线圈中正脉冲为“1”,负脉冲表示“0”,两位信息位之间线圈中电流为零。
- 不归零制(NRZ)
- 见1翻转的不归零制(NRZ1)
第10页:几种磁记录方式
几种磁记录方式
- 调相制(PM)
- 调频制(FM)
- “1”:位周期中心和位与位之间都翻转
- “0”:位周期中心不翻转,位与位之间翻转
- 改进的调频制(MFM)
- 只有连续两个或以上的“0”时,才在位周期的起始位置翻转
第11页:常用磁记录方式波形图
常用磁记录方式波形图
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现磁记录方式、磁盘访问过程与RAID容错技术。
第12页:磁表面存储设备
磁表面存储设备
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现磁记录方式、磁盘访问过程与RAID容错技术。
第13页:硬盘内部结构磁盘访问过程
硬盘内部结构磁盘访问过程
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现磁记录方式、磁盘访问过程与RAID容错技术。
第14页:硬盘内部结构
硬盘内部结构(续)
- 硬盘参数(与容量有关)
- 500至2,000磁道(每面)
- 32至128个扇区(每个磁道)
- 扇区是磁盘访问的最小单位
- 早期硬盘上每个磁道上的扇区数是一样的
- 增加容量
- 位密度不变:外磁道比内磁道扇区数多一些PlattersTrackSector
第15页:硬盘参数
- 柱面:位于同一半径的磁道集合
- 读/写数据的三个步骤:–寻道时间:将磁头移动到正确的磁道上
- 旋转延迟:等待磁盘上扇区旋转到磁头下
- 传输时间:真正的数据读/写时间
- 当前平均寻道时间:–一般为8至12 msSectorTrackCylinderHeadPlatter
第16页:典型硬盘参数
典型硬盘参数(续)
- 旋转延迟:–旋转速度:3,600至7200 RPM
- 旋转时间:16 ms至8 ms每转
- 平均寻址时间8ms至4ms
- 访问速度:–数据量(通常为1个扇区):1 KB / sector
- 旋转速度:3600 RPM至7200 RPM
- 存储密度:磁道上单位长度存储的位数
- 磁盘直径:2.5至5.25 in
- 一般为:2至12 MB每秒SectorTrackCylinderHeadPlatter
第17页:磁盘访问时间举例
磁盘访问时间举例
- 磁盘访问时间=寻道时间+旋转延迟+传输时间+磁盘控制器延迟
- 举例:–平均寻道时间= 12ms;–旋转速度= 5400rpm
- 磁盘控制器延迟:2ms
- 传输速度= 5MB
- 扇区大小= 512 bytes
- 读取一页(8KB)需要多少时间?
- 旋转延迟:平均旋转延迟应为磁盘旋转半周的时间。
- 旋转1周= 1/5400 minutes= 11.1ms => ½周:5.6 ms
- 读1个扇区时间= 12ms +5.6ms + .5K/5MB + 2ms= 12 + 5.6 + .1ms + 2ms= 19.7 ms
- 读1页的时间== 12 ms + 5.6ms + 8K/5MBpersec+ 2ms= 12ms + 5.6ms + 1.6ms + 2ms= 21.2 ms
第18页:对例子的思考页容量大
对例子的思考页容量大,为什么扇区却如此小呢?
- 理由#1:可用性。可以在扇区物理损坏时不再使用该扇区。
- 理由#2:还是可用性。检错纠错码分布在每个扇区,扇区容量小,检错速度快,效率高。
- 理由#3:灵活性。使用不同的操作系统,不同的页面大小。–采用并行方式和大容量传输方式克服磁盘控制器延迟
- 大容量传输:每次读取多个扇区,可以节约时间。–也可以分担部分总线延迟…–并行#1:并行读多个层面
- 并行#2:并行读多个磁盘SectorTrackCylinderHeadPlatter
第19页:磁表面存储设备
- 应该记住以下两点:–额外开销在总开销中比例较大=>一次传输大量数据比较有效
第20页:访问磁盘过程
访问磁盘过程
- 对磁盘的访问总是由缺页引起的:–CPU给出地址,需要访问某存储单元;–并行进行TLB查找和cache查找;–TLB查找后申明没有找到;–停止并行查找,并通知操作系统处理;–操作系统检查页表,发现该页不在内存中,需要从硬盘调入。应该如何进行呢?
- 操作系统从主存中选择一页准备换出,为调入的页安排存放空间;
- 若被换出的页是“脏”页,需要将其写回磁盘存储;
- 操作系统申请I/O总线;
- 获得批准后,发送写命令给I/O设备(磁盘)。紧跟着传送需要写回的页的全部数据。
- I/O控制器发现发给自己的写命令,加入到握手协议,并接受数据。
- 根据数据要写入的地址,读/写头移动到正确的柱面,同时,将数据接收到缓冲区。
- 寻道结束后,等待相应的扇区旋转到磁头下面,将数据写入扇区中。
- 在写入数据间隙,计算校验码并写入扇区中。
第21页:访问磁盘过程
访问磁盘过程(续)
- 下一步,操作系统继续申请总线(如果还保持总线控制权,则不必申请)。
- 得到授权后,向磁盘发出读命令。
- 然后,磁盘识别地址,并转换为相应的地址段。
- 寻道,将读/写头移动到指定位置。
- 从指定扇区中读去数据,并进行校验。
- 磁盘申请I/O总线。
- 得到授权后,将数据通过总线送到内存。
第22页:可靠性和可用性
可靠性和可用性
- 两个经常混淆的词汇:–可靠性:设备出现故障的几率来衡量。–可用性:系统能正常运行的几率来衡量。
- 可用性可以增加硬件冗余来提高:–例如:在存储器中增加校验码。
- 可靠性只能通过下面途径提高:–改善使用环境
- 可用性的提高可能带来可靠性的降低
第23页:磁表面存储设备
23RAID的提出
- CPU性能在过去的十年中有了极大地提高,几乎是每18个月翻一番。但磁盘的性能却没能跟上。在70年代,小型机磁盘的平均查找时间为50到100毫秒,现在是10毫秒。在许多行业(如汽车或航空业),如果性能的提高能达到这个速度,即20年内提高5到10倍,那就会是头条新闻,但对计算机行业,这却成了一个障碍。因为CPU性能和磁盘性能间的差距这些年来越来越大。
第24页:磁表面存储设备
24RAID的提出
- 在提高CPU性能方面,并行处理技术已得到广泛使用。这些年来,许多人意识到,并行I/O也是一个提高磁盘性能的好办法。1988年,Patterson et al.在他的一篇文章中建议用6个特定的磁盘组织来提高磁盘的性能或可用性,或两方面都同时提高。这个建议很快就被采用,并导致了一种新的I/O设备的诞生,这就是RAID盘。Patterson et al.把RAID定义为廉价磁盘的冗余阵列(Redundant Array of Inexpensive Disks),但工业界把“I”由“廉价的(Inexpensive)”替换成“独立的(Independent)”。
第25页:廉价磁盘的冗余阵列
廉价磁盘的冗余阵列
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现磁记录方式、磁盘访问过程与RAID容错技术。
第26页:RAID
26RAID0
- RAID0将由RAID模拟的单个虚拟磁盘划分成带(strip),每带k个扇区。第0带为第0到第k
- 1扇区,第1带为第k扇区到第2k
- 1扇区,等等。对k=1,每个带为1个扇区;对k=2,每带有2个扇区;等等。RAID0以交叉循环的方式将数据写到连续的带中,下图描述的就是有4个磁盘驱动器的RAID盘。这种在多个驱动器上分布数据的方式叫作分带。如果软件发出从带的边界开始读四个连续带的数据块的命令,RAID控制器将把这个命令分解成四个单独的读命令,四个驱动器每个一个,让它们并行执行。这样,就实现了对软件透明的并行I/O操作。
第27页:适合数据请求量比较大的情况2.没有冗余
适合数据请求量比较大的情况2.没有冗余
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现磁记录方式、磁盘访问过程与RAID容错技术。
第28页:它复制了所有的磁盘
28RAID1
- 它复制了所有的磁盘,所以有四块主磁盘和四块辅助磁盘。每个对磁盘的写操作都进行两次,而每次读操作则可以读任意一个备份,把负载均衡分布到不同的驱动器上。这样,写操作的性能并不比单个磁盘好,但读磁盘的性能却比单个磁盘高了两倍。容错性能就更好了,如果一个驱动器崩溃的话,只要简单的用备份驱动器代替就行了。恢复整个磁盘的操作包括两个步骤:装上一个新的驱动器,然后将整个备份驱动器的内容拷贝到新的驱动器上。
第29页:冗余备份
冗余备份
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现磁记录方式、磁盘访问过程与RAID容错技术。
第30页:磁表面存储设备
30RAID2
- RAID 2的工作单位为字,可能的话甚至可以是字节。首先我们可以想象将单个虚拟磁盘上的字节分解成一对4位的半字节,对每个半字节加上3位海明码形成7位字,即其中1、2、4位做校验位。然后,用下图所示的七个驱动器的磁头和旋转同步,就可能将整个海明码字写在七个驱动器上,每个驱动器一位。
第31页:驱动器必须同步旋转
驱动器必须同步旋转
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
第32页:磁表面存储设备
32RAID3
- RAID 3是RAID 2的一个简化版本,它只需对每个字计算一个校验位,写到一个校验驱动器上。和RAID 2相同,驱动器之间必须严格同步,因为一个字被分布到多个驱动器中。
第33页:驱动器之间要严格同步2.对整个磁盘崩溃
驱动器之间要严格同步2.对整个磁盘崩溃
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现磁记录方式、磁盘访问过程与RAID容错技术。
第34页:磁表面存储设备
34RAID4
- RAID 4和RAID 0类似,将对带的校验写在额外的驱动器上。例如,若带的长度是k个字节,将所有的带异或到一起,产生一个k字节长的校验带。如果其中一块磁盘崩溃的话,它的内容可以从校验磁盘上重新计算出来。
第35页:不对字进行校验
不对字进行校验
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现磁记录方式、磁盘访问过程与RAID容错技术。
第36页:磁表面存储设备
36RAID5
- RAID 5为减少校验盘的负载,将校验位循环均匀分布到所有的驱动器上。
第37页:如果RAID 5的磁盘崩溃的话
如果RAID 5的磁盘崩溃的话
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现磁记录方式、磁盘访问过程与RAID容错技术。
第38页:虚拟存储器
- 磁盘的主要目的:–断电后保存信息
- 磁记录方式
- 对磁盘的访问
- RAID技术