执行数据传送请求的方法、系统和程序技术方案

技术编号:3518007 阅读:143 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种用于在起始节点和目标节点之间传送数据的方法、系统和程序。符合第一数据传送协议的数据在起始节点处被接收,以传送到目标节点。存储单元的索引被获得,以用来传送请求到目标节点。在起始节点的用户地址空间中执行的至少一个函数被调用,其中起始节点包括内核地址空间和用户地址空间。在用户地址空间中执行的该至少一个函数连系适配器,以使用第二数据传送协议传送请求和存储单元的索引到目标节点。

【技术实现步骤摘要】

本专利技术涉及一种用于执行数据传送请求的方法、系统和程序
技术介绍
在存储环境中,数据存取命令从主系统传送到管理磁盘存取的存储控制器。存储控制器可以是主系统内部的卡或独立设备。因特网小型计算机系统接口(iSCSI)协议用于利用包括以太网开关和路由器的以太网连接的存储网络。这里所使用的术语“iSCSI”指的是由IETF(因特网工程工作小组)标准体定义的iSCSI协议及该协议的任何变体的语法和语义。在利用iSCSI的当前存储网络中,分组结构包括以太网包,其封装有因特网协议(IP)及传输控制协议(TCP)包层,后者又封装有包括一个或多个SCSI命令的iSCSI包。当分组在任何网络段(链路)上从点到点流动时,以太网协议规定链路级错误检测,以确定数据是否已在链路上传送时被破坏。在网络数据传输操作中,起始设备在网络上传送数据或命令到目标设备。TCP/IP包包括执行端到端检测的错误检测码,以在相对端确定所传送分组是否已在传输过程中当分组经过开关和路由器时被改变。检测到错误的接收设备将发送否定应答给发送设备,以请求检测到错误的那些分组的重发。远程直接存储器存取(RDMA)协议提供一台计算机以对存储器总线带宽和处理器开销的最小需求直接把信息放入另一台计算机的存储器中的能力。TCP/IP上的RDMA(也称作iWARP)定义在标准TCP/IP网络上支持RDMA操作的能共同使用的协议。RDMA网络接口卡(RNIC)网络适配器卡实施RDMA协议并执行传送数据到本地和远程存储器的RDMA操作。RDMA协议的更多细节在下面说明书中描述RDMA联盟(2003年4月)所公布的名称为“RDMA协议动词说明书(版本1.0)”;RDMA联盟(2002年10月)所公布的“可靠传输上的直接数据放置(版本1.0)”;以及RDMA联盟(2002年10月)所公布的“TCP的标记PDU对准组帧说明书(版本1.0)”,这些说明书在此整体引入作为参考。RDMA联盟(2003年7月)所发布的、Michael Ko等人的名称为“RDMA的iSCSI扩展说明书(版本1.0)”的一份说明书,该说明书在此整体引入,定义通过层置iSCSI于RDMA之上而为iSCSI提供RDMA数据传送能力的协议。包括RDMA和上述其他方面的数据传送系统典型地需要内核模式进程的介入,以处理送往和来自存储设备的读和写操作。
技术实现思路
本专利技术提供了一种在起始节点和目标节点之间传送数据的方法、系统和程序。符合第一数据传送协议的请求在起始节点处被接收,以传送到目标节点。存储单元的索引被获得,以用来传送请求到目标节点。在起始节点的用户地址空间中执行的至少一个函数被调用,其中起始节点包括内核地址空间和用户地址空间。在用户地址空间中执行的该至少一个函数连系适配器,以使用第二数据传送协议传送请求及存储单元的索引到目标节点。附图说明现在参考附图,其中相似参考数字始终表示相应部件图1说明实现实施方案的网络节点的实例;图2说明根据所述实施方案的计算体系结构的实例;图3说明以本领域中已知方式的分组格式;以及图4和5说明根据实施方案的执行以传送数据的操作。具体实施例方式在下面描述中,参考构成其一部分并说明本专利技术的几种实施方案的附图。应当明白的是,可以使用其他实施方案,并且可以不背离本专利技术的范围做结构上和操作上的改变。图1说明包括在网络4上通信的多个计算节点2a、2b...2n的网络计算环境。网络可以包括局域网(LAN)、广域网(WAN)、存储域网(SAN)。可选地,节点可以在总线,例如SCSI总线等上通信。图1中的节点2a、2b...2n既可作为起始又可作为目标。图2说明包含于节点,例如节点2a、2b、2c中,以允许在网络4上通信的组件。节点2包括处理器6,例如中央处理单元或联合,以及操作系统8。操作系统8提供用户地址空间10和内核地址空间12,其中用户应用程序在用户地址空间10中执行,而基本操作在内核地址空间12中执行,例如资源分配、低级硬件接口、安全性等。应用程序14在用户空间10中执行,其中应用程序14包括用户应用程序,例如数据库程序、服务器程序等。为了执行I/O操作,应用程序14将访问SCSI层16,以产生包含I/O请求的协议数据单元(PDU),SCSI层16又访问iSCSI层18,iSCSI层18又调用iSER库20的函数。iSER库20中的某些函数将调用在内核空间12中执行的RNIC驱动程序22,而其他函数将直接从用户空间10调用RNIC。RNIC 24包括RDMA层26和网络层28,例如TCP层、IP层和以太网层,以在传输层中打包分组以在网络4上传送,或者解包从网络4接收到的分组。在某些实施方案中,为了执行I/O操作,调用以处理I/O请求的iSER函数需要登记存储器30中的存储单元,以用于I/O操作。应用程序14可以登记包括存储区和存储窗的存储单元。RNIC 24可以直接访问以逻辑上连续形式的所登记存储单元(本地或本地及远程地)。所定义存储单元,例如存储区或存储窗,由RNIC 24所创建的并用来索引所登记存储单元的引导标签(“STag”)来标识。在某些实施方案中,存储区或称作存储窗的存储区子集可以被登记,其中各别STag将与各个所登记存储单元(区或窗)相关联。RNIC 24使用STag来存取所索引存储单元。在某些实施方案中,iSER库中的iSER函数将通过调用在内核空间12中执行的RNIC驱动程序22来调用RNIC 22以登记存储区。RNIC驱动程序22包括连系操作系统8与RNIC适配器24的设备驱动程序。响应于iSER库中函数的调用以声明并登记存储单元,例如存储区或窗,RNIC驱动程序22将调用RNIC 24。RNIC驱动程序22(有时也称作“Verb”层)连同RNIC 24中的RDMA层26一起钉住待登记存储单元,例如存储区(MR)32,并产生存储区或窗的STag。RNIC 24 RDMA层26保存存储转换表34,并且当登记存储区/窗时,将向存储转换表34添加标识所登记存储区的条目以及产生以索引该存储区的STag,以使RNIC 24能够将STag与存储区相关联。存储转换表34可以保存于RNIC 24中的缓冲区中或存储器30中。STag将返回给请求登记的iSER函数,以用于I/O操作。在RNIC 24产生并返回STag给处理I/O操作的iSER函数之后,iSER函数可以进行I/O操作。iSER函数将从iSCSI层18接收的分组与头信息及从RNIC 24接收的STag包装在一起,并传送该分组到RNIC 24以传送。连系RNIC 24以执行RDMA数据传送操作的iSER库20函数在用户地址空间10中执行,从而绕过在内核空间12中执行的RNIC驱动程序22。为了管理RDMA数据传送,RNIC 24保存发送队列36、接收队列38,以及完成队列40。发送队列36及接收队列38包括RNIC 24用来管理RDMA数据传送请求的工作队列。完成队列40可以包括包含具有完成条目的一个或多个条目的可共享队列,以为多个工作队列提供完成通知的单点。队列36、38和40可以由RNIC 24分配于存储器30中或RNIC 24中的缓冲区中。图3说明实施方案所使用的传送包的格式。由SCSI层16产生的SCSI命令本文档来自技高网
...

【技术保护点】
一种用于在起始节点和目标节点之间传送数据的制造产品,其中起始节点包括适配器、内核地址空间和用户地址空间,其中制造产品使操作被执行,所述操作包括:在起始节点处接收符合第一数据传送协议的请求,以传送到目标节点;获得存储单元的索引 ,以用来传送请求到目标节点;调用在起始节点的用户地址空间中执行的至少一个函数,以及通过在用户地址空间中执行的该至少一个函数连系适配器,以使用第二数据传送协议来传送请求和存储单元的索引到目标节点。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:约翰李维斯哈佛德迈克尔安东尼科
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1