一种用于网络存储的协议及其系统的制作方法

文档序号:7974638阅读:213来源:国知局
专利名称:一种用于网络存储的协议及其系统的制作方法
技术领域
本发明属于计算机信息存储技术领域,具体涉及一种用于网络存储的协议及其系统。
背景技术
随着网络的普及和现代信息数据量的激增,很多重要的计算机应用领域,特别是存储密集型应用,对信息存储系统的容量、带宽、I/O响应时间、可扩展性等性能技术指标提出了更高的要求。为此,人们提出并实现了附网存储系统(NAS)、存储区域网(SAN)等各种网络存储体系结构,从存储体系的角度提高了存储系统的性能。
而组建一个网络存储系统的基础——存储协议,直接影响到了这个存储系统的性能。当今有众多存储协议可以选择,包括SCSI Serial协议,Fibre Channel协议以及iSCSI协议等。在当今工业界,Firbre Channel是构建高性能存储区域网(SAN)的首要选择,但其高昂的价格和部署复杂性却并不适合于中低端用户。另一方面,对于普及型网络以太网而言,随着近来千兆甚至万兆等技术的发展,构建基于以太网的大型存储系统显得愈来愈诱人和可行。传统构建以太网网络存储系统的方法,是使用基于TCP/IP的存储协议,如iSCSI协议,将SCSI命令以及数据封装进TCP/IP包进行传输而实现。虽然TCP/IP技术已经相当成熟,其流控制和拥塞控制等功能也为数据传输带来了极大的便利,但在局域网环境下,当想获得更高的传输性能时,TCP/IP协议的复杂性成为了绊脚石。
因此,有必要设计一种基于以太网的全新的存储协议,充分利用以太网的廉价和普及优势,同时绕开复杂的TCP/IP协议,使构建在以太网上的存储系统在保持价格优势的同时,具有更高的带宽和更快的I/O响应速度。虚拟接口(VI)是用于集群系统的高带宽低延迟通信机制,主要思想是给每个用户进程提供一个受保护的、直接可访问的虚拟接口,以节约传统网络模式中系统处理的开销。每个虚拟接口代表一个通信端点,两个虚拟接口可逻辑上连接起来实现点到点双向数据传输。使用VI代替TCP/IP作为通信协议,可以获得更高的吞吐率,并且保持低开销,在此基础上设计实现的新型存储协议vSCSI能使存储系统获得更好的性能。

发明内容
本发明提供一种用于网络存储的协议及其系统,目的在于克服现有网络存储协议在部署网络存储系统时价格和性能的不足,构造一种可满足价格、带宽、部署复杂性等需求的基于虚拟接口的网络存储协议,并减少服务器负载、提高I/O服务性能。
本发明的一种用于网络存储的协议,包括启动器进程和目标器进程,(1)启动器进程顺序包括(1.1)启动器初始化步骤,启动器根据用户指定模式选择加载SCSI适配器驱动模块或vSCSI API模块,完成相关初始化;(1.2)启动器发起登入步骤,启动器调用连接管理模块向用户指定的一个或多个目标器发送认证信息,请求登入;(1.3)启动器等待认证步骤,启动器等待来自目标器的认证响应,若在时间阈值内等到认证响应,顺序进行,否则转入认证超时处理步骤;(1.4)VI连接通道建立步骤,启动器和一个或多个目标器间建立一个或多个VI连接通道,注册对应VI发送/接收缓冲区、关联发送/接收描述符;(1.5)启动器等待命令步骤,连接建立完毕后,启动器等待接收来自系统或上层应用的SCSI命令,接收到命令,顺序进行;(1.6)启动器解析命令步骤,启动器解析当前SCSI命令,根据用户指定的数据分布规则或策略,以及当前SCSI命令的类型生成一个或多个vSCSI请求;若是SCSI读命令,进行步骤(1.7),否则转步骤(1.8);(1.7)启动器读命令预处理步骤,启动器根据用户指定的数据分布规则或策略中使用到的一个或多个目标器,根据步骤(1.6)中生成的各vSCSI读请求中数据量大小,对各目标器对应的VI接收缓冲区执行PostRecv操作,准备好各VI接收队列,顺序进行;(1.8)启动器发送请求步骤,启动器将步骤(1.6)生成的针对目标器的一个或多个vSCSI请求并发执行PostSend操作,向目标器发送vSCSI请求;若发送的是写请求,进行步骤(1.9),否则转步骤(1.10);(1.9)启动器写命令预处理步骤,启动器按照使用的规则或策略对SCSI命令request_buffer中待写数据进行运算定位,确定待写数据与各目标器的对应关系,然后按照用户指定的数据加密级别对以上确定的各目标器对应数据分别进行加密运算处理,最后将加密处理后的数据并行拷贝到各自对应的VI发送缓冲区队列,等待发送,顺序进行;(1.10)启动器等待响应步骤,启动器等待来自目标器的响应,接收到响应,则根据不同的响应类型,进入不同处理例程读命令的响应进入步骤(1.11),写命令的响应进入步骤(1.12),状态查询类命令的响应进入步骤(1.13);若在时间阈值内未接收到响应,则转入响应超时处理步骤;(1.11)启动器读命令处理步骤,启动器接收来自一个或多个目标器的数据,并按照用户指定的数据加密级别对各VI接收缓冲区中数据进行解密运算处理,然后按照使用的规则或策略对SCSI命令request_buffer中待回填空间进行运算定位,确定来自各目标器的数据与其对应关系,最后将解密处理后的数据拷贝到以上计算出的SCSI命令的request_buffer对应位置中;回填完毕,转步骤(1.14);(1.12)启动器写命令处理步骤,启动器接收到来自一个或多个目标器的响应,对各待写数据队列并发执行PostSend操作,将待写数据发送到对应的目标器;数据发送完毕,转步骤(1.14);(1.13)启动器状态查询类命令处理步骤,启动器接收到对应一个或多个目标器的一个或多个vSCSI状态查询响应,提取并向系统或上层应用返回SCSI响应信息;反馈完毕,转步骤(1.14);(1.14)启动器请求处理完毕步骤,启动器执行完毕当前SCSI命令,转步骤(1.5),等待执行下一个SCSI命令。
(2)目标器进程顺序包括(2.1)目标器初始化步骤,目标器启动设备服务线程初始化,初始化完毕后连接管理模块;(2.2)目标器等待登入步骤,目标器等待接收来自启动器的登入认证请求;(2.3)目标器接收登入步骤,目标器接收到登入请求,对其进行身份验证,非法登入请求转入非法处理步骤,通过验证的合法请求接受其登入,向启动器发送认证响应;(2.4)目标器等待命令步骤,目标器等待接收来自启动器的vSCSI命令;(2.5)目标器解析命令步骤,目标器接收到vSCSI命令,对其进行解析,根据当前vSCSI命令类型的不同,进行不同处理vSCSI读命令转步骤(2.6),写命令转步骤(2.7),状态查询类命令转步骤(2.10);(2.6)目标器读命令处理步骤,目标器在读写增速模块控制下,将数据从物理存储设备或Cache拷贝到VI发送缓冲区队列,并对其执行PostSend操作,将数据发送至启动器;数据全部发送完毕,转步骤(2.11);(2.7)目标器写命令预处理步骤,目标器根据请求大小执行PostRecv操作,准备好VI接收队列,生成并调用PostSend操作向启动器发出ready(写准备好)响应,顺序进行;(2.8)目标器等待数据步骤,目标器等待来自启动器的数据,若在时间阈值内接收到数据,顺序进行;否则转入接收超时处理步骤,(2.9)目标器写命令处理步骤,目标器接收来自启动器的数据,在读写增速模块控制下,将数据从VI接收缓冲区直接写到物理存储设备或Cache;数据全部接收完毕,转步骤(2.11);(2.10)目标器状态查询类命令处理步骤,目标器提取vSCSI命令中封装的SCSI查询命令,按照SCSI协议规范执行查询操作,并将查询所得的反馈信息封装进vSCSI查询响应中,调用PostSend操作发送至启动器;查询响应发送完毕,转步骤(2.11);(2.11)目标器请求处理完毕步骤,目标器将当前vSCSI命令成功执行完毕,转入步骤(2.4),等待执行下一个vSCSI命令;所述的一种用于网络存储的协议,其特征在于(1)所述认证超时处理步骤,负责向系统或上层应用返回错误状态,并终止启动器进程;(2)所述响应超时处理步骤,负责向系统或上层应用报告当前SCSI命令执行出错,并终止当前SCSI命令的执行,转入启动器等待命令步骤,等待执行下一个SCSI命令;(3)所述接收超时处理步骤,负责向启动器报告当前vSCSI命令执行出错,并终止当前vSCSI命令的执行,转入目标器等待命令步骤,等待执行下一个vSCSI命令;(4)所述非法处理步骤,负责对该非法登入的拒绝,并转入目标器等待登入步骤,继续等待下一个启动器登入。
用于本发明所述的网络存储协议的一种系统,包括一个启动器和N个目标器,启动器通过VI网络接口、VI连接通道连入网络;目标器通过VI网络接口、VI连接通道连入网络;启动器和目标器间通过一个或多个VI连接通道传输数据,N为自然数;(1)启动器中包括SCSI适配器驱动模块、vSCSI API模块、连接管理模块、命令处理模块和数据加解密模块;(1.1)SCSI适配器驱动模块向操作系统注册一个或多个虚拟SCSI磁盘设备,接收来自操作系统SCSI中间层的标准SCSI命令并返回执行状态,向用户空间提供传统磁盘设备并接受访问;(1.2)vSCSI API模块向上层开发人员提供直接调用接口,绕过操作系统SCSI分层体系直接接收上层命令并返回执行状态;(1.3)启动器中的连接管理模块向一个或多个目标器发起一个或多个VI连接认证请求,完成建立连接、参数协商、内存注册等初始化工作和友好登出工作,在VI连接意外断开的情况下重新建立连接,并将服务转移到新的VI连接;(1.4)命令处理模块负责将从SCSI适配器驱动模块或vSCSI API模块接收的命令转换成vSCSI命令,调用PostSend执行VI发送缓冲区队列中数据的投递工作,调用PostRecv执行VI接收缓冲区的准备工作,发送及接收vSCSI命令,并生成相应命令或状态,返回上层SCSI适配器驱动模块或vSCSI API模块;(1.5)数据加解密模块负责对待传输数据的加密处理和对已接收数据的解密处理;写请求时,根据加解密级别对数据进行加密运算后从系统缓冲区拷贝到VI注册缓冲区;读请求时,对数据进行解密运算后从VI注册缓冲区拷贝到系统缓冲区;(2)目标器中包括设备管理模块、连接管理模块、请求处理模块和读写增速模块;(2.1)设备管理模块负责建立设备服务线程,收集物理存储设备信息,完成本地设备服务状态与控制数据的初始化,与设备进行实时信息交互;(2.2)目标器中的连接管理模块监听校验来自启动器节点的连接认证请求,与合法启动器建立起一个或多个VI连接,完成参数协商、内存注册等初始化工作;(2.3)请求处理模块负责接收并处理启动器发送的vSCSI请求,包括读写请求、设备状态查询请求等,根据到达请求的种类启动相应处理进程,其中读写请求与物理存储设备的数据交互将由读写增速模块进行控制;(2.4)读写增速模块控制读写请求处理过程中VI注册缓冲区中数据是读自或写到Cache还是物理存储设备,以及处理Cache中数据与物理存储设备中数据的一致性问题。
所述的系统,其特征在于,所述运行vSCSI的启动器和目标器均配备了支持VI传输的网络适配器;所述VI网络适配器至少提供可靠发送或可靠接收两种可靠性级别中的一种;所述启动器和目标器均能运行于同一或分布于不同计算机主机节点之中;所述启动器所在节点中虚拟SCSI设备与操作系统间,以及vSCSI API均采用SCSI接口;所述目标器所在节点中的物理存储设备为采用SCSI、FC、IDE或SATA接口的磁盘驱动器或磁盘阵列;所述网络为以太介质的局域网。
上文中,本发明的网络存储协议vSCSI,全称是VI-attached SCSI,其中VI指虚拟接口,SCSI指小型计算机系统接口;vSCSI向上层应用提供的应用程序编程接口vSCSI API;虚拟接口(VI)向上层应用提供的可调用函数PostRecv,实现准备VI接收缓冲区的功能;虚拟接口(VI)向上层应用提供的可调用函数PostSend,实现投递VI发送缓冲区中数据的功能;Cache是一片内存缓冲区,用于缓存物理存储设备上的数据;request_buffer是SCSI命令结构中用于存放待读写数据的区域。
本发明利用VI取代传统TCP/IP协议作为构建存储协议的通信基础,缩短了网络存储数据的关键路径,提高了物理网络带宽的利用率和网络I/O的响应速度,有效的解决了网络带宽、存储访问速度、互操作性等主要的网络存储问题。
具体而言,本发明具有以下优点1.利用VI高带宽、低延迟特性,获得比传统基于TCP/IP的存储协议更高的传输性能;实测数据表明,同等条件下vSCSI比iSCSI(intel实现版本)顺序写性能提高达115%,顺序读性能提高达35%。
2.利用VI多级别的可靠性传输,将传输可靠性保证这一重要功能下移到VI内部实现,从而大大避免了上层存储协议在实现存储可靠性时的复杂性,减少存储协议开销,提高存储协议效率。
3.利用VI在数据传输行为上的表现特征,实现数据存储过程中无损传输性能的数据加密;反之亦可实现无损传输性能的数据解密。即数据包投递(执行PostSend操作)给VI所需耗费的时间与VI连续传输数据量成阶跃函数,当连续量超过第二个临界值后投递时间将稳定在一个相对较高值,利用上一个数据包的投递时间对下一个数据包进行加密即可;反之亦可同理实现解密。
4.协议内部支持启动器与多个目标器建立多个VI连接,这些VI连接具有高度并行性,除了可以实现并行存取操作外,还可以实现数据的并行网络传输,保证了存储协议的高效率和高性能。
5.协议内部支持多目标器环境下多种数据分布规则(rules)或策略(policy),实现诸如目标器间负载平衡、数据备份等功能。
6.本发明能够灵活地针对不同类型地应用环境和要求,提供多种存储服务标准SCSI设备服务、API调用服务。


图1为本发明的系统组成结构示意图;图2为本发明启动器和目标器中的模块及其关系示意图;图3为本发明协议的示意图。
具体实施例方式
图1为本发明的系统组成结构示意图。本发明包括一个启动器100和n个目标器200.1、200.2、…、200.n,它们通过VI通信网络300互连,n为自然数。启动器100通过VI网络接口121.1~121.m(m为自然数)连入网络300,目标器200.1、200.2、…、200.n分别通过各自的VI网络接口221.1、221.2、…、221.n连入网络300。启动器100通过m个VI网络接口121.1~121.m建立起k(k为自然数)个VI连接通道120.1~120.k,目标器200.1、200.2、…、200.n分别通过各自的VI网络接口221.1、221.2、…、221.n建立总共k个VI连接通道220.1~220.k;其中,启动器100的VI连接通道120.1~120.k1与目标器200.1的VI连接通道220.1~220.k1建立起k1个VI连接,负责启动器100与目标器200.1之间的请求响应和数据传输;启动器100的VI连接通道120.k1+1~120.k2与目标器200.2的VI连接通道220.k1+1~220.k2建立起k2-k1个VI连接,负责启动器100与目标器200.2之间的请求响应和数据传输;以此类推,启动器100的VI连接通道120.kn-1+1~120.k与目标器200.2的VI连接通道220.kn-1+1~220.k建立起k-kn-1个VI连接,负责启动器100与目标器200.2之间的请求响应和数据传输;启动器100中k的大小不受限于m的大小,但k≥m,使用m个VI网络接口可以增加启动器接入网络的物理带宽,但不影响逻辑实现,目标器亦同理。
图2表示了本发明启动器和目标器中的模块以及模块间的关系图。SCSI适配器驱动模块150、vSCSI API模块160、连接管理模块110、命令处理模块130和数据加解密模块140运行于启动器100中。SCSI适配器驱动模块150对内与命令处理模块130交互,对外与启动器所在节点主机操作系统(SCSI中间层)交互;vSCSI API模块160对内与命令处理模块130交互,对外与启动器所在节点主机中运行的第三方程序交互;SCSI适配器驱动模块150和vSCSI API模块160是两个并行功能模块,为外界使用本发明提供程序接口,一般情况下对同一启动器在同一时刻只使用其中一个模块与外界交互。
设备管理模块250、连接管理模块210、请求处理模块230和读写增速模块240运行于目标器200中。设备管理模块250对内与请求处理模块230交互,对外与目标器所在节点主机中挂载的物理存储设备交互;读写增速模块240对内与请求处理模块230以及连接管理模块210交互,对外与目标器所在节点主机中挂载的物理存储设备交互;设备管理模块250与物理存储设备主要进行状态查询等控制信息的交互,而读写增速模块240与物理存储设备主要进行数据存取操作。
图3为本发明的协议的示意图,主要表示安全登入和三大类命令(查询、读、写)的处理过程。
权利要求
1.一种用于网络存储的协议,包括启动器进程和目标器进程,(1)启动器进程顺序包括(1.1)启动器初始化步骤,启动器根据用户指定模式选择加载SCSI适配器驱动模块或vSCSI API模块,完成相关初始化;(1.2)启动器发起登入步骤,启动器调用连接管理模块向用户指定的一个或多个目标器发送认证信息,请求登入;(1.3)启动器等待认证步骤,启动器等待来自目标器的认证响应,若在时间阈值内等到认证响应,顺序进行,否则转入认证超时处理步骤;(1.4)VI连接通道建立步骤,启动器和一个或多个目标器间建立一个或多个VI连接通道,注册对应VI发送/接收缓冲区、关联发送/接收描述符;(1.5)启动器等待命令步骤,连接建立完毕后,启动器等待接收来自系统或上层应用的SCSI命令,接收到命令,顺序进行;(1.6)启动器解析命令步骤,启动器解析当前SCSI命令,根据用户指定的数据分布规则或策略,以及当前SCSI命令的类型生成一个或多个vSCSI请求;若是SCSI读命令,进行步骤(1.7),否则转步骤(1.8);(1.7)启动器读命令预处理步骤,启动器根据用户指定的数据分布规则或策略中使用到的一个或多个目标器,根据步骤(1.6)中生成的各vSCSI读请求中数据量大小,对各目标器对应的VI接收缓冲区执行PostRecv操作,准备好各VI接收队列,顺序进行;(1.8)启动器发送请求步骤,启动器将步骤(1.6)生成的针对目标器的一个或多个vSCSI请求并发执行PostSend操作,向目标器发送vSCSI请求;若发送的是写请求,进行步骤(1.9),否则转步骤(1.10);(1.9)启动器写命令预处理步骤,启动器按照使用的规则或策略对SCSI命令request_buffer中待写数据进行运算定位,确定待写数据与各目标器的对应关系,然后按照用户指定的数据加密级别对以上确定的各目标器对应数据分别进行加密运算处理,最后将加密处理后的数据并行拷贝到各自对应的VI发送缓冲区队列,等待发送,顺序进行;(1.10)启动器等待响应步骤,启动器等待来自目标器的响应,接收到响应,则根据不同的响应类型,进入不同处理例程读命令的响应进入步骤(1.11),写命令的响应进入步骤(1.12),状态查询类命令的响应进入步骤(1.13);若在时间阈值内未接收到响应,则转入响应超时处理步骤;(1.11)启动器读命令处理步骤,启动器接收来自一个或多个目标器的数据,并按照用户指定的数据加密级别对各VI接收缓冲区中数据进行解密运算处理,然后按照使用的规则或策略对SCSI命令request_buffer中待回填空间进行运算定位,确定来自各目标器的数据与其对应关系,最后将解密处理后的数据拷贝到以上计算出的SCSI命令的request_buffer对应位置中;回填完毕,转步骤(1.14);(1.12)启动器写命令处理步骤,启动器接收到来自一个或多个目标器的响应,对各待写数据队列并发执行PostSend操作,将待写数据发送到对应的目标器;数据发送完毕,转步骤(1.14);(1.13)启动器状态查询类命令处理步骤,启动器接收到对应一个或多个目标器的一个或多个vSCSI状态查询响应,提取并向系统或上层应用返回SCSI响应信息;反馈完毕,转步骤(1.14);(1.14)启动器请求处理完毕步骤,启动器执行完毕当前SCSI命令,转步骤(1.5),等待执行下一个SCSI命令。(2)目标器进程顺序包括(2.1)目标器初始化步骤,目标器启动设备服务线程初始化,初始化完毕后连接管理模块;(2.2)目标器等待登入步骤,目标器等待接收来自启动器的登入认证请求;(2.3)目标器接收登入步骤,目标器接收到登入请求,对其进行身份验证,非法登入请求转入非法处理步骤,通过验证的合法请求接受其登入,向启动器发送认证响应;(2.4)目标器等待命令步骤,目标器等待接收来自启动器的vSCSI命令;(2.5)目标器解析命令步骤,目标器接收到vSCSI命令,对其进行解析,根据当前vSCSI命令类型的不同,进行不同处理vSCSI读命令转步骤(2.6),写命令转步骤(2.7),状态查询类命令转步骤(2.10);(2.6)目标器读命令处理步骤,目标器在读写增速模块控制下,将数据从物理存储设备或Cache拷贝到VI发送缓冲区队列,并对其执行PostSend操作,将数据发送至启动器;数据全部发送完毕,转步骤(2.11);(2.7)目标器写命令预处理步骤,目标器根据请求大小执行PostRecv操作,准备好VI接收队列,生成并调用PostSend操作向启动器发出ready(写准备好)响应,顺序进行;(2.8)目标器等待数据步骤,目标器等待来自启动器的数据,若在时间阈值内接收到数据,顺序进行;否则转入接收超时处理步骤,(2.9)目标器写命令处理步骤,目标器接收来自启动器的数据,在读写增速模块控制下,将数据从VI接收缓冲区直接写到物理存储设备或Cache;数据全部接收完毕,转步骤(2.11);(2.10)目标器状态查询类命令处理步骤,目标器提取vSCSI命令中封装的SCSI查询命令,按照SCSI协议规范执行查询操作,并将查询所得的反馈信息封装进vSCSI查询响应中,调用PostSend操作发送至启动器;查询响应发送完毕,转步骤(2.11);(2.11)目标器请求处理完毕步骤,目标器将当前vSCSI命令成功执行完毕,转入步骤(2.4),等待执行下一个vSCSI命令;
2.如权利要求1所述的一种用于网络存储的协议,其特征在于(1)所述认证超时处理步骤,负责向系统或上层应用返回错误状态,并终止启动器进程;(2)所述响应超时处理步骤,负责向系统或上层应用报告当前SCSI命令执行出错,并终止当前SCSI命令的执行,转入启动器等待命令步骤,等待执行下一个SCSI命令;(3)所述接收超时处理步骤,负责向启动器报告当前vSCSI命令执行出错,并终止当前vSCSI命令的执行,转入目标器等待命令步骤,等待执行下一个vSCSI命令;(4)所述非法处理步骤,负责对该非法登入的拒绝,并转入目标器等待登入步骤,继续等待下一个启动器登入。
3.一种用于权利要求1或2所述的网络存储协议的系统,包括一个启动器和N个目标器,启动器通过VI网络接口、VI连接通道连入网络;目标器通过VI网络接口、VI连接通道连入网络;启动器和目标器间通过一个或多个VI连接通道传输数据,N为自然数;(1)启动器中包括SCSI适配器驱动模块、vSCSI API模块、连接管理模块、命令处理模块和数据加解密模块;(1.1)SCSI适配器驱动模块向操作系统注册一个或多个虚拟SCSI磁盘设备,接收来自操作系统SCSI中间层的标准SCSI命令并返回执行状态,向用户空间提供传统磁盘设备并接受访问;(1.2)vSCSI API模块向上层开发人员提供直接调用接口,绕过操作系统SCSI分层体系直接接收上层命令并返回执行状态;(1.3)启动器中的连接管理模块向一个或多个目标器发起一个或多个VI连接认证请求,完成建立连接、参数协商、内存注册等初始化工作和友好登出工作,在VI连接意外断开的情况下重新建立连接,并将服务转移到新的VI连接;(1.4)命令处理模块负责将从SCSI适配器驱动模块或vSCSI API模块接收的命令转换成vSCSI命令,调用PostSend执行VI发送缓冲区队列中数据的投递工作,调用PostRecv执行VI接收缓冲区的准备工作,发送及接收vSCSI命令,并生成相应命令或状态,返回上层SCSI适配器驱动模块或vSCSI API模块;(1.5)数据加解密模块负责对待传输数据的加密处理和对已接收数据的解密处理;写请求时,根据加解密级别对数据进行加密运算后从系统缓冲区拷贝到VI注册缓冲区;读请求时,对数据进行解密运算后从VI注册缓冲区拷贝到系统缓冲区;(2)目标器中包括设备管理模块、连接管理模块、请求处理模块和读写增速模块;(2.1)设备管理模块负责建立设备服务线程,收集物理存储设备信息,完成本地设备服务状态与控制数据的初始化,与设备进行实时信息交互;(2.2)目标器中的连接管理模块监听校验来自启动器节点的连接认证请求,与合法启动器建立起一个或多个VI连接,完成参数协商、内存注册等初始化工作;(2.3)请求处理模块负责接收并处理启动器发送的vSCSI请求,包括读写请求、设备状态查询请求等,根据到达请求的种类启动相应处理进程,其中读写请求与物理存储设备的数据交互将由读写增速模块进行控制;(2.4)读写增速模块控制读写请求处理过程中VI注册缓冲区中数据是读自或写到Cache还是物理存储设备,以及处理Cache中数据与物理存储设备中数据的一致性问题。
4.如权利要求3所述的系统,其特征在于,所述运行vSCSI的启动器和目标器均配备支持VI传输的网络适配器;所述VI网络适配器至少提供可靠发送或可靠接收两种可靠性级别中的一种;所述启动器和目标器均能运行于同一或分布于不同计算机主机节点之中;所述启动器所在节点中虚拟SCSI设备与操作系统间,以及vSCSI API均采用SCSI接口;所述目标器所在节点中的物理存储设备为采用SCSI、FC、IDE或SATA接口的磁盘驱动器或磁盘阵列;所述网络为以太介质的局域网。
全文摘要
一种用于网络存储的协议及其系统,属于计算机信息存储技术领域,目的在于克服现有网络存储协议的不足,构造一种可满足价格、带宽、部署复杂性等需求的网络存储协议,并减少服务器负载、提高I/O服务性能。本发明的协议以VI为基础,包括启动器进程和目标器进程;本发明的系统,包括一个启动器和N个目标器,启动器、目标器通过VI网络接口、VI连接通道连入网络;启动器和目标器间通过一个或多个VI连接通道传输数据。本发明利用VI取代传统TCP/IP协议作为构建存储协议的通信基础,缩短了网络存储数据的关键路径,提高了物理网络带宽的利用率和网络I/O的响应速度,有效解决了网络带宽、存储访问速度、互操作性等网络存储问题。
文档编号H04L29/08GK1997033SQ20061016658
公开日2007年7月11日 申请日期2006年12月28日 优先权日2006年12月28日
发明者冯丹, 王芳, 叶俊, 施展, 周可, 庞丽萍 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1