一种基于NTB硬件和SCSI通信协议的通信方法技术

技术编号:14338458 阅读:283 留言:0更新日期:2017-01-04 11:22
本发明专利技术公开了一种基于NTB硬件和SCSI通信协议的通信方法,包括发送端接收上层应用的SCSI命令;发送端将SCSI命令打包成第一NTB数据包;NTB将第一NTB数据包拷贝至接收端;接收端对接收到的第一NTB数据包进行解包,得到SCSI命令,并依据SCSI命令进行相应的响应,并将响应信息打包成第二NTB数据包;NTB将第二NTB数据包拷贝至发送端;发送端对第二NTB数据包进行解包,得到响应信息,并依据响应信息进行相应的响应,实现通信。可见,本发明专利技术提供的通信方法,通信手段使用的是NTB,在通信协议上采用SCSI协议,SCSI协议的优势可以得到全部的发挥,NTB在SCSI下也可以正常的进行通信,同时可以保证通信的高速度和高带宽,通信方法也更为高效和稳定。

【技术实现步骤摘要】

本专利技术涉及通信
,特别是涉及一种基于NTB硬件和SCSI通信协议的通信方法
技术介绍
近些年来,PCIe得到了快速发展,已经从最初的PCI发展到现在的PCIe3.0,PCIe的通信速度和带宽已经越来越得到广大厂商的认可,而NTB(Non-TransparentBridge,非透明桥)也是随着PCIe的发展而诞生,同时NTB也逐渐成为传统存储的多控器之间通信的主要方式,其具带宽大、速度快、延时小、抖动小的特点,特别适用于传统存储多控之间通信数据量大,实时性高的要求。NTB通过地址翻译机制,可以直接寻址到远端的内存地址,通过CPU和DMA(DirectMemoryAccess,直接内存存取)中的一种方式,将本地的内存数据拷贝到远端的内存中,从而实现数据通信。现有技术中的NTB缺少通信协议,即便有,NTB结合通信协议的通信方法也不成熟,存在诸多缺点。因此,如何提供一种解决上述技术问题的基于NTB的通信方法是本领域技术人员目前需要解决的问题。
技术实现思路
本专利技术的目的是提供一种基于NTB硬件和SCSI通信协议的通信方法,通信手段使用的是NTB,在通信协议上采用SCSI协议,SCSI协议的优势可以得到全部的发挥,NTB在SCSI下也可以正常的进行通信,同时可以保证通信的高速度和高带宽,通信方法也更为高效和稳定。为解决上述技术问题,本专利技术提供了一种基于NTB硬件和SCSI通信协议的通信方法,包括:步骤S101:发送端接收上层应用的SCSI命令;步骤S102:所述发送端将所述SCSI命令打包成第一NTB数据包;步骤S103:NTB将所述第一NTB数据包拷贝至接收端;步骤S104:所述接收端对接收到的所述第一NTB数据包进行解包,得到所述SCSI命令,并依据所述SCSI命令进行相应的响应,并将响应信息打包成第二NTB数据包;步骤S105:NTB将所述第二NTB数据包拷贝至所述发送端;步骤S106:所述发送端对所述第二NTB数据包进行解包,得到所述响应信息,并依据所述响应信息进行相应的响应,实现通信。优选地,当所述SCSI命令为读命令时,所述SCSI命令包括待读数据的偏移和长度,则所述依据所述SCSI命令进行相应的响应,并将响应信息打包成第二NTB数据包的过程具体为:所述接收端依据所述SCSI命令获取待读数据,并将所述待读数据打包成第二NTB数据包;则所述发送端对所述第二NTB数据包进行解包,得到所述响应信息,并依据所述响应信息进行相应的响应的过程具体为:所述发送端接对接收到的所述第二NTB数据包进行解包,得到所述SCSI所需的待读数据。优选地,该方法还包括:所述接收端依据所述SCSI命令获取待读数据,并将所述待读数据以及第一反馈信息打包成第二NTB数据包,其中,所述第一反馈信息包括所述待读数据的长度。优选地,当所述SCSI命令为写命令时,所述SCSI命令包括待写数据的偏移和长度,则步骤S101与步骤S102之间还包括:所述发送端准备要写入的待写数据;则所述依据所述SCSI命令进行相应的响应,并将响应信息打包成第二NTB数据包的过程具体为:所述接收端依据所述SCSI命令为所述待写数据分配缓冲区,分配完成后准备反馈SCSI命令,并将所述反馈SCSI命令打包成第二NTB数据;则所述发送端对所述第二NTB数据包进行解包,得到所述响应信息,并依据所述响应信息进行相应的响应的过程具体为:所述发送端对所述第二NTB数据包进行解包,得到所述反馈SCSI命令后,将所述待写数据打包成第三NTB数据包,以便所述NTB将所述第三NTB数据包拷贝至接收端以及所述接收端对接收到的所述第三NTB数据包解包,得到所述待写数据,并将所述待写数据存储至所述缓冲区。优选地,所述接收端对接收到的所述第三NTB数据包解包,得到所述待写数据,并将所述待写数据存储至所述缓冲区后,该方法还包括:所述接收端将第二反馈信息打包成第四NTB数据包,其中,所述第二反馈信息包括所述待写数据的长度;所述NTB将所述第四NTB数据包拷贝至所述发送端;所述发送端对所述第四NTB数据包解包,得到所述第二反馈信息。优选地,步骤S101之前还包括:所述发送端初始化所述SCSI命令。优选地,所述NTB通过CPU采用内存拷贝的方式来拷贝NTB数据包。本专利技术提供了一种基于NTB硬件和SCSI通信协议的通信方法,包括发送端接收上层应用的SCSI命令;发送端将SCSI命令打包成第一NTB数据包;NTB将第一NTB数据包拷贝至接收端;接收端对接收到的第一NTB数据包进行解包,得到SCSI命令,并依据SCSI命令进行相应的响应,并将响应信息打包成第二NTB数据包;NTB将第二NTB数据包拷贝至发送端;发送端对第二NTB数据包进行解包,得到响应信息,并依据响应信息进行相应的响应,实现通信。可见,本专利技术提供的通信方法,通信手段使用的是NTB,在通信协议上采用SCSI协议,SCSI协议的优势可以得到全部的发挥,NTB在SCSI下也可以正常的进行通信,同时可以保证通信的高速度和高带宽,通信方法也更为高效和稳定。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的一种基于NTB硬件和SCSI通信协议的通信方法的过程的流程图。具体实施方式本专利技术的核心是提供一种基于NTB硬件和SCSI通信协议的通信方法,通信手段使用的是NTB,在通信协议上采用SCSI协议,SCSI协议的优势可以得到全部的发挥,NTB在SCSI下也可以正常的进行通信,同时可以保证通信的高速度和高带宽,通信方法也更为高效和稳定。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参照图1,图1为本专利技术提供的一种基于NTB硬件和SCSI通信协议的通信方法的过程的流程图。该方法包括:步骤S101:发送端接收上层应用的SCSI命令;作为优选地,步骤S101之前还包括:发送端初始化SCSI命令。步骤S102:发送端将SCSI命令打包成第一NTB数据包;步骤S103:NTB将第一NTB数据包拷贝至接收端;可以理解的是,SCSI协议包括发送端和接收端,发送端为Initiator端,接收端为target端,类似于client和server的概念,其中initiator端类似于client端,而target端类似于server端。作为优选地,NTB通过CPU采用内存拷贝的方式来拷贝NTB数据包。具体地,NTB通过CPU采用内存拷贝的方式将第一NTB数据包拷贝至接收端,下面同理。当然,这里的NTB还可以采用其他方式将第一NTB数据包发送至接收端,本专利技术在此不做特别的限定,根据实际情况来定。步骤S104:接收端对接收到的第一NTB数据包进行解包,得到SCSI命令,并依据SCSI命令进行本文档来自技高网...
一种基于NTB硬件和SCSI通信协议的通信方法

【技术保护点】
一种基于NTB硬件和SCSI通信协议的通信方法,其特征在于,包括:步骤S101:发送端接收上层应用的SCSI命令;步骤S102:所述发送端将所述SCSI命令打包成第一NTB数据包;步骤S103:NTB将所述第一NTB数据包拷贝至接收端;步骤S104:所述接收端对接收到的所述第一NTB数据包进行解包,得到所述SCSI命令,并依据所述SCSI命令进行相应的响应,并将响应信息打包成第二NTB数据包;步骤S105:NTB将所述第二NTB数据包拷贝至所述发送端;步骤S106:所述发送端对所述第二NTB数据包进行解包,得到所述响应信息,并依据所述响应信息进行相应的响应,实现通信。

【技术特征摘要】
1.一种基于NTB硬件和SCSI通信协议的通信方法,其特征在于,包括:步骤S101:发送端接收上层应用的SCSI命令;步骤S102:所述发送端将所述SCSI命令打包成第一NTB数据包;步骤S103:NTB将所述第一NTB数据包拷贝至接收端;步骤S104:所述接收端对接收到的所述第一NTB数据包进行解包,得到所述SCSI命令,并依据所述SCSI命令进行相应的响应,并将响应信息打包成第二NTB数据包;步骤S105:NTB将所述第二NTB数据包拷贝至所述发送端;步骤S106:所述发送端对所述第二NTB数据包进行解包,得到所述响应信息,并依据所述响应信息进行相应的响应,实现通信。2.如权利要求1所述的通信方法,其特征在于,当所述SCSI命令为读命令时,所述SCSI命令包括待读数据的偏移和长度,则所述依据所述SCSI命令进行相应的响应,并将响应信息打包成第二NTB数据包的过程具体为:所述接收端依据所述SCSI命令获取待读数据,并将所述待读数据打包成第二NTB数据包;则所述发送端对所述第二NTB数据包进行解包,得到所述响应信息,并依据所述响应信息进行相应的响应的过程具体为:所述发送端接对接收到的所述第二NTB数据包进行解包,得到所述SCSI所需的待读数据。3.如权利要求2所述的通信方法,其特征在于,该方法还包括:所述接收端依据所述SCSI命令获取待读数据,并将所述待读数据以及第一反馈信息打包成第二NTB数据包,其中,所述第一反馈信息包括所述待读数据的长度。4.如权利要求1所述的通信方法,其特征在于,...

【专利技术属性】
技术研发人员:张仁峰
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1