外置式多通道网络磁盘阵列控制装置及其使用的协议适配方法 【技术领域】
本发明属于计算机存储技术领域,具体涉及一种外置式多通道网络磁盘阵列控制装置及其使用的协议适配方法。
背景技术
由于网络应用的飞速增长及与之相伴的数据量指数增加,使用高效、可靠、灵活、大容量的存储设备已成为IT产业的一种趋势。业内人士为满足网上数据大量传播的需要,在具有磁盘容错功能的RAID技术基础之上,研制开发与生产了各类网络存储控制装置,例如带有网络接口的阵列控制装置(见中国发明专利CN1407461A)、带有磁盘阵列的网络服务器、网络附属存储控制装置(Network Attached Storage,NAS)或是存储局域网(Storage Area Network,SAN)。CN1407461A所提供的控制装置是非独立的,所有存储I/O与网络I/O操作必须占用所在主机的CPU及内存资源,限制了主机服务能力的扩展。而网络服务器、NAS和SAN这三类存储控制装置,尽管NAS针对网络与存储功能进行专门的性能优化,SAN通过服务器与存储设备间的专用互连网络改进了多服务器与多存储设备间的互操作性能,但这三类控制装置在沟通存储设备、主机和用户时都采用旧有模式,即:主机通过控制装置的主机外设通道与存储设备相联系,用户通过控制装置的主机外设通道和主机网络接口与存储设备间接关联。由于这种连接关系,使存储设备性能地发挥程度受限于主机通道和主机处理能力,I/O数据需经历多次存储转发才能到达用户,增加了存储服务延迟,限制了存储服务带宽。此外这些网络存储控制装置通常只提供单一的块级或文件级存储服务,不能灵活应对应用环境变更的需要。
有鉴于此,如何构建一个可靠存储控制装置以充分发挥高性能存储设备的性能优势和灵活提供存储服务,实为一重要且有意义的课题。
【发明内容】
本发明的目的在于,针对现有技术的不足,提供一种外置式多通道网络磁盘阵列控制装置,该控制装置可改变存储设备与主机、用户的单一连接模式,充分发挥高性能磁盘阵列性能优势;提供灵活可变的存储服务类型,方便用户使用,并达到减少平均服务等待时间和提高用户平均数据传输率的目的。本发明还提供了该控制装置所使用的协议适配方法。
本发明的外置式多通道网络磁盘阵列控制装置,包括主机通道接口模块、存储设备接口模块、网络接口模块和阵列运行控制模块,前三个模块通过PCI总线与阵列运行控制模块相连;其中,
阵列运行控制模块,包括CPU、RAM和EPROM,该模块提供计算能力和运行环境,以实现各模块初始化、命令分解/合并、协议变换、缓存管理和I/O任务调度装置的控制功能;
主机通道接口模块,由一个或多个主机通道接口构成,提供该装置与主机系统的标准块设备级通道连接;
存储设备接口模块,由一个或多个存储设备接口,提供该装置与存储设备的连接;
网络接口模块,由一个或多个网络接口组成,按特定协议直接接受用户请求并收发用户的I/O数据,形成存储设备与用户间的直接数据通道;
主机通道接口模块和存储设备接口模块均执行面向块设备级的协议,主机通道接口为设置成TARGET态的外设接口;存储设备接口模块为设置成MASTER态的外设接口,由主机通道接口模块向主机提供块设备级存储服务。
上述多通道网络磁盘阵列控制装置所使用的协议适配方法,所述阵列运行控制模块采用以下方式进行协议变换,实现多种I/O及网络协议的相互变换与协调工作:
(1)直接对应方式:若第二协议中有与第一协议相同的I/O命令,则直接实现;
(2)命令转换方式:用第二协议中与第一协议相似的I/O命令转换实现;
(3)命令合并方式:对第一协议的若干同类型I/O命令用第二协议中相同或相似的一个I/O命令实现;
(4)命令分解方式:对第一协议的I/O命令用第二协议中相同或相似的若干I/O命令实现;
(5)虚拟应答方式:第二协议中没有相同或相似I/O命令时,进行合理的执行结果模拟,直接回应。
本发明利用多通道、并行可扩展的方法,改变存储设备与主机、用户的单一连接模式,充分发挥高性能磁盘阵列性能优势;利用网络配置的灵活性和传输能力,提供灵活可变的存储服务类型,方便用户使用。通过缩短存取路径,从而达到减少平均服务等待时间和提高用户平均数据传输率的目的。具体而言,本发明具有以下优点及效果:
1.利用其多通道特性,可以缩短网络用户的I/O数据路径,免除用户数据从阵列到服务器再上网过程中的多次存储转发,即可极大地缓解服务器的负载,又可提高用户平均数传率、加快响应速度。
2.通过该装置将存储容量与通道带宽相联系,每增加一个多通道网络磁盘阵列,就可增加网络数据通道,使存储容量与数据通道速度直接相关、同步增长。
3.本发明能够灵活地针对不同类型的应用环境和要求,提供多种存储服务:标准块存储服务、基于网络的块存储服务以及文件服务。
4.本发明能根据性能、成本等要求,本发明提供的“协议适配”方法可灵活使用于各种存储协议和网络传输协议和介质。
【附图说明】
附图1为本发明多通道网络磁盘阵列控制装置的系统结构方块图;
附图2为本发明实施例组成示意图;
附图3为本发明中运行控制模块的控制流程示意图;
附图4为本发明所采用的协议适配控制方法;
图中符号说明:
100多通道网络磁盘阵列控制装置
110.1~110.n 主机通道 111.1~111.n主机通道接口
120.1~120.n 存储设备通道 121.1~121.n存储设备接口
130.1~130.n 网络通道 131.1~131.n网络通道接口
112主机通道接口模块 122 存储设备接口模块
132接口模块 140 PCI总线
150 阵列运行控制模块
【具体实施方式】
下面结合附图和实例对本发明作进一步详细说明。
图1显示了本发明的控制装置的系统方块图。本发明的多通道磁盘阵列控制装置100包含阵列运行控制模块150、主机通道接口模块112、存储设备接口模块122以及网络接口模块132,各模块之间通过PCI总线140物理连接。
阵列运行控制模块150具体包括CPU 152、RAM 151和EPROM 153,提供计算能力和运行环境以实现各模块初始化、命令分解/合并、数据分块/重组、协议变换、缓存管理和I/O任务调度的控制功能。
主机通道接口模块112由主机通道接口111.1~111.n构成,与主机系统的标准块设备级通道连接。
存储设备接口模块122由存储设备接口121.1~121.n构成,提供该装置与存储设备连接。存储设备主要是各类的磁盘驱动器,但不限定于该形式的存储设备,主要由通道接口类型来决定。
主机通道接口和存储设备接口均执行面向块设备级的协议,由主机通道提供标准块设备服务。其中,主机通道接口设置成TARGET态的外设接口,根据性能、成本采用SCSI、FC等。存储设备接口设置成MASTER态的外设接口,如FC、SCSI和IDE等。
网络接口模块132由网络通道接口131.1~131.n组成,网络接口可以采用相同或不同的形式,且不局限于任何网络形态,各网络接口可以接入同一网络或不同网络中,按特定的协议直接接受用户请求并收发用户的I/O数据。按运行的协议不同,提供不同的存储服务。如当运行ISCSI协议时,可提供网络的块存储服务,当在控制装置中加载文件系统并运行FTP或NFS等协议时,可提供文件级存储服务。
上述控制装置可构成主机通道110.1~110.n,存储设备通道120.1~120.n以及网络通道130.1~130.n,形成外置式多通道网络磁盘阵列。
附图2为配备磁盘驱动器的本发明实施例组成示意图。主机通道接口模块111采用一块Symbios公司生产的支持SCSI通道协议的SCSI-PCI适配卡,如SYM53C1010等,设置为TARGET工作状态。网络通道接口模块131采用一块百兆以太网卡DFE530TX。存储设备接口模块中121.1、121.2和121.3由三块Symbios公司的symbios875 SCSI-PCI适配卡构成,每个适配卡控制其SCSI通道120.1、120.2和120.3上挂接的多个SCSI硬盘驱动器,形成磁盘串。本实施例里每串挂接2个SCSI硬盘,型号为磁盘型号ST173404LC,其SCSI ID号分别设置为1和2。阵列运行控制模块150包括CPU152(PII450)、内存MEM151(64MByte)和EPROM153(2MByte)。EPROM中固化存放本装置的控制程序,其流程图如图3所示。CPU提供了所需计算能力,内存提供控制程序运行空间以及所需缓存(Buffer)空间。上述4部分模块通过总线PCI总线140相连。
该控制装置的控制程序按图3所示流程对主机通道接口、网络通道接口和存储设备接口加以控制驱动。其过程具体说明如下:
在控制装置加电启动后,系统进行初始化,建立主机通道中断例程以及网络通道服务端口监听例程。若从主机通道接口接收到主机SCSI请求,则以高优先级进入I/O任务队列:若从网络通道服务端口接收到网络用户请求,则由控制模块派生专门的用户请求处理进程进行处理,负责根据装置处理能力派生出一组I/O命令,逐次提交进入I/O任务队列。对所有进入I/O任务队列的I/O命令按一定的优先原则排序后,根据设置的阵列级别进行命令分解,形成对应多个磁盘的命令链。多个命令链上的I/O命令在交付底层执行以前要经过Buffer管理功能处理,将命中的命令从命令链中剔除并返回执行结果,其余命令交由I/O调度过程执行。I/O调度过程按命令指向的磁盘所属的适配器,启动相应适配器驱动磁盘执行I/O命令。当所启动的I/O命令都执行完毕后,判断所有操作是否都正常,若无错误,则根据命令来源进行结果回送。主机发来的命令通过主机通道接口回送给主机,结束一次主机I/O任务;用户命令执行结果返回到用户请求处理进程,用户请求处理进程检查用户I/O命令组是否全部执行完毕,若全部执行完,则将结果通过网络通道返回给远端用户,若尚未执行完,则继续向低层提交I/O命令直至全部完成。
为了使本发明中包含的多种通道协议协调工作,灵活地提供块或文件存储服务,该控制装置在从主机通道和网络通道接受命令后、启动存储设备通道执行前采用“协议适配”的控制处理方法,以实现异种I/O协议的相互变换,使控制装置灵活运用异构I/O通道满足多方位需求,如,多个慢速设备通道并行工作,经过协议变换,转换为一高速通道提供给系统使用,即系统平均数传率接近最大峰值数传率。协议适配方法不是一种简单的一一对应转换,而是通过I/O命令的合并与分解、命令转换和虚拟应答多种技术实现的。图4为协议A到协议B的协议适配方法的实现模型。经过协议A的I/O传输控制提取出IO命令后,选用下面5种方法之一在协议B上执行:
(1)直接对应。若协议B中有与cmdX-A相同的I/O命令,则直接用cmdX-B实现;
(2)命令转换。用协议B中与cmdX-A相似的I/O命令cmdY-B转换实现。
(3)命令合并。对A协议的若干同类型I/O命令cmdX-A1…cmdX-An用协议B中相同或相似的一个I/O命令cmdY-B实现。
(4)命令分解。对A协议的I/O命令cmdX-A用协议B中相同或相似的若干I/O命令cmdX-B1…cmdX-Bn实现。
(5)虚拟应答。协议B中没有相同或相似I/O命令时,进行合理的执行结果模拟,直接回应。
经过这样的变换,一方面可以保证A要求的I/O命令全部实现,另一方面可以通过命令分解弥补B协议I/O支持能力的不足,或通过命令合并提高A协议I/O命令的执行效率。
由于该装置的多通道特点和所采用的协议适配方法,可以有多种方式使用本装置:如可以只利用其主机通道接口的块级服务,与主机形成传统DAS系统,若采用FC类型的主机通道接口,并附加FC交换机设备,则可形成SAN系统;也可以只利用其网络通道接口,在该装置上附加文件系统和网络文件传输协议,即可提供NAS服务;此外若同时充分利用其主机通道接口和网络通道接口的传输能力,将主机通道接口作为存储设备和文件系统的管理控制通道,将网络通道作为用户的数据传输通道,则可形成高性能的网络存储服务系统,一方面它利用主机通道实施集中管理提高了管理效率、减少了协调的开销,另一方面利用多个该装置的网络通道进行分布式存取传输可减少服务器负载、缩短数据I/O路径长度、加快实际用户数据传输率。