盘阵列(RAID)
盘阵列容量大、速度快、可靠性高、造价低廉。它是目前解决计算机I/O瓶颈的有效方法之一,有着广阔的发展前景。
盘阵列有多种组织方式:
RAID 0
亦称数据分块(Striping),即把数据分布在多个盘上,实际上是非冗余阵列,无冗余信息。严格地说,它不属于RAID系列。
RAID 1
亦称镜像盘,使用双备份磁盘
RAID 2
位交叉式海明编码阵列
优点:
告诉误差校正
数据传输速率高
缺点:
校正空间较大,盘阵列利用率较低
RAID 3
位交叉奇偶校验盘阵列,是单盘容错并行传输的阵列。即数据以位或字节交叉的方式存于各盘,冗余的奇偶校验信息存储在一台专用盘上。
在RAID3中,将磁盘分组,读写要访问组中所有盘。当一个磁盘出故障时,可以通过奇偶校验磁盘中的校验和来恢复出错数据。
优点:冗余代价低,传输速率高
应用领域:多媒体应用
RAID 4
块交叉奇偶校验盘阵列。即数据以块(块大小可变)交叉的方式存于各盘,冗余的奇偶校验信息存在一台专用盘上。
优点:读写速度快;冗余代价低
缺点:阵列控制器复杂
RAID 5
块交叉分布式奇偶校验盘阵列,即数据以块交叉的方式存于各盘,但无专用的校验盘,而是把冗余的奇偶校验信息均匀地分布在所有磁盘上。
优点:冗余代价较小
读数据速率高
写数据相对较快
缺点:控制器设计复杂
RAID 6
双维奇偶校验独立存取盘阵列。即数据以块(块大小可变)交叉的方式存于各盘,冗余的检、纠错信息均匀地分布在所有磁盘上。并且,每次写入数据都要访问一个数据盘和两个校验盘,可容忍双盘出错。。
在实际应用中,趋势不是用单种盘阵列,而是把多种盘阵列技术一起用
总线
I/O设备与CPU/存储器的连接
总线的特点
优点: 低成本、多样性
缺点:可能造成设备信息交换的瓶颈,从而限制了系统中总的I/O吞吐量
总线的分类
按设备定时方式分类:
同步总线:同步总线上所有设备通过统一的总线系统时钟进行同步
异步总线:设备之间没有统一的系统时钟,设备自己内部定时。设备之间的信息传送用总线发送器和接收器控制。但在传输时,异步总线需要额外的同步开销
总线的标准
只要计算机和I/O设备的设计都满足相应的标准,那么I/O设备和计算机可以任意连接。
I/O总线标准就是定义设备连接的文件
常用的I/O总线
1.概况
常用的I/O总线标准
ISA
EISA
PCI:扩展主机设备
USB(含USB2.0):连接各种外部设备到主机
IEEE1394、.....
RS-485/RS-232
CAN
I2C
I/O设备编址方式
存储器映射I/O
独立编址
I/O设备控制方式
程序查询
中断
DMA
I/O处理机等
I/O与操作系统
例如用写回法,数据是写到Cache里面的,I/O系统从主存中拿的数据和Cache的版本是不一样的
数据不一致问题有两个方面:
存储器中可能不是CPU产生的最新数据,所以I/O系统从存储器中取出来使用的是陈旧数据
I/O与存储器交换数据之后,在Cache中被CPU使用的可能就是陈旧数据。
写直达Cache可以保证存储器和Cache有相同的数据
写回Cache则需操作系统帮助进行数据检查
根据I/O使用的存储器地址来清楚Cache相应的块,确保I/O使用的数据不在Cache中
地址检查过程也可以使用硬件完成。
DMA与虚拟存储器
DMA是使用虚拟地址还是物理地址来传输数据?
使用物理地址进行DMA,存在以下两个问题:
对于超过一页的数据,由于缓冲区使用的页面在物理存储器中不一定是连续的,传输会发生问题
DMA正在存储器和帧缓冲器之间传输数据时,操作系统从存储器中移出一些页面(或重新分配),DMA将会在存储器中错误的页面上传输数据