一种基于NTB硬件和SCSI通信协议的通信方法与流程

文档序号:12376891阅读:来源:国知局

技术特征:

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所述的通信方法,其特征在于,当所述SCSI命令为写命令时,所述SCSI命令包括待写数据的偏移和长度,则步骤S101与步骤S102之间还包括:

所述发送端准备要写入的待写数据;

则所述依据所述SCSI命令进行相应的响应,并将响应信息打包成第二NTB数据包的过程具体为:

所述接收端依据所述SCSI命令为所述待写数据分配缓冲区,分配完成后准备反馈SCSI命令,并将所述反馈SCSI命令打包成第二NTB数据;

则所述发送端对所述第二NTB数据包进行解包,得到所述响应信息,并依据所述响应信息进行相应的响应的过程具体为:

所述发送端对所述第二NTB数据包进行解包,得到所述反馈SCSI命令后,将所述待写数据打包成第三NTB数据包,以便所述NTB将所述第三NTB数据包拷贝至接收端以及所述接收端对接收到的所述第三NTB数据包解包,得到所述待写数据,并将所述待写数据存储至所述缓冲区。

5.如权利要求4所述的通信方法,其特征在于,所述接收端对接收到的所述第三NTB数据包解包,得到所述待写数据,并将所述待写数据存储至所述缓冲区后,该方法还包括:

所述接收端将第二反馈信息打包成第四NTB数据包,其中,所述第二反馈信息包括所述待写数据的长度;

所述NTB将所述第四NTB数据包拷贝至所述发送端;

所述发送端对所述第四NTB数据包解包,得到所述第二反馈信息。

6.如权利要求1所述的通信方法,其特征在于,步骤S101之前还包括:

所述发送端初始化所述SCSI命令。

7.如权利要求1-6任一项所述的通信方法,其特征在于,所述NTB通过CPU采用内存拷贝的方式来拷贝NTB数据包。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1