The invention provides a device and a method of data transmission, which comprises a data transmission method based on peripheral devices: read a of the peripheral equipment for the first BD, which is available from the first strand of BD, the first BD chain in the process to the peripheral device to the host to send Ethernet the message and application of the memory of the host computer, the first BD is not available on the host; the Ethernet message written in the first BD corresponding to the cache, and on the first BD update to the first BD of the host and available for the peripheral equipment is not available; if the first the BD update is complete, generating transmission complete interrupt and write in the host interrupt buffer; notify the host processing the complete interrupt. The invention can improve the transmission speed and the transmission efficiency of the Ethernet message, and the effect of the embodiment of the invention is more obvious, especially in the situation that the Ethernet message number is large.
【技术实现步骤摘要】
一种数据传输方法及设备
本专利技术涉及数据传输
,尤其涉及一种数据传输方法及设备。
技术介绍
目前,在以太网数据传输过程中,主机的外围设备接收主机发送的以太网报文的方式为:主机向外围设备发送BD(BufferDescriptor,缓存描述符);外围设备接收主机发送的BD,并根据该BD对应的物理缓存地址以及该BD中的报文长度,从该BD对应的主机的缓存中读取以太网报文。外围设备向主机发送以太网报文的方式为:外围设备向主机申请用于写入以太网报文的内存空间;主机为外围设备分配其申请的内存空间;外围设备将以太网报文写入主机分配的内存空间,并将以太网报文的存储地址以及报文的长度写入外围设备的指定寄存器中。上述外围设备进行数据传输的方式均依赖于主机为外围设备发送BD或主机为外围设备分配内存空间,即,外围设备每次执行接收或者发送以太网报文的操作时,均需要主机参与分配用于接收以太网报文的缓存或者用于发送以太网报文的内存空间,这就会造成以太网报文的传输速度慢、传输效率低的问题,在以太网报文数量较大的场景下,以太网报文的传输速度慢、传输效率低的问题更加突出。
技术实现思路
本专利技术提供一种数据传输方法及设备,用以解决现有技术中存在的以太网报文的传输速度慢、传输效率低的问题。本专利技术实施例提供一种数据发送方法,应用于主机的外围设备,包括:从第一BD链中读取一个对所述外围设备可用的第一BD,其中,所述第一BD链位于所述主机内存中且应用于所述外围设备向所述主机发送以太网报文的过程中,所述第一BD对所述主机不可用;将以太网报文写入所述第一BD对应的缓存中,并对所述第一BD进行更新 ...
【技术保护点】
一种数据发送方法,其特征在于,应用于主机的外围设备,包括:从第一BD链中读取一个对所述外围设备可用的第一BD,其中,所述第一BD链位于所述主机内存中且应用于所述外围设备向所述主机发送以太网报文的过程中,所述第一BD对所述主机不可用;将以太网报文写入所述第一BD对应的缓存中,并对所述第一BD进行更新使所述第一BD对所述主机可用且对所述外围设备不可用;若所述第一BD更新完成,生成发送完成中断并写入位于所述主机的中断缓存区;通知所述主机处理所述发送完成中断。
【技术特征摘要】
1.一种数据发送方法,其特征在于,应用于主机的外围设备,包括:从第一BD链中读取一个对所述外围设备可用的第一BD,其中,所述第一BD链位于所述主机内存中且应用于所述外围设备向所述主机发送以太网报文的过程中,所述第一BD对所述主机不可用;将以太网报文写入所述第一BD对应的缓存中,并对所述第一BD进行更新使所述第一BD对所述主机可用且对所述外围设备不可用;若所述第一BD更新完成,生成发送完成中断并写入位于所述主机的中断缓存区;通知所述主机处理所述发送完成中断。2.根据权利要求1所述的方法,其特征在于,从第一BD链中读取一个对所述外围设备可用的第一BD,具体包括:根据第一BD链中最近一个被读取的BD的索引,读取所述第一BD链中的当前BD,所述当前BD与所述最近一个被读取的BD相邻;判断读取的当前BD是否对所述外围设备可用;若否,生成所述当前BD不可用中断并写入位于所述主机的中断缓存区;通知所述主机处理所述当前BD不可用中断;以及,继续执行根据第一BD链中最近一个被读取的BD的索引,读取所述第一BD链中的当前BD的步骤;若是,将读取的当前BD作为第一BD。3.一种数据接收方法,其特征在于,应用于主机的外围设备,包括:从第二BD链中读取一个对所述外围设备可用的第二BD,其中,所述第二BD链位于所述主机内存中且应用于所述外围设备接收所述主机发送的以太网报文的过程中,所述第二BD对所述主机不可用;从所述第二BD对应的缓存中提取以太网报文,并将提取到的以太网报文写入用于存储主机发送的以太网报文的缓存空间;对所述第二BD进行更新使所述第二BD对所述外围设备不可用且对所述主机可用;若所述第二BD更新完成,生成接收完成中断并写入位于所述主机的中断缓存区;通知所述主机处理所述接收完成中断。4.根据权利要求3所述的方法,其特征在于,从第二BD链中读取一个对所述外围设备可用的第二BD,具体包括:根据第二BD链中最近一个被读取的BD的索引,读取所述第二BD链中的当前BD,所述当前BD与所述最近一个被读取的BD相邻;判断所述当前BD是否对所述外围设备可用;若否,生成当前BD不可用中断并写入位于所述主机的中断缓存区;通知所述主机处理所述当前BD不可用中断;以及,继续执行根据第二BD链中最近一个被读取的BD的索引,读取所述第二BD链中的当前BD的步骤若是,将读取的当前BD作为第二BD。5.根据权利要求1-4任一所述的方法,其特征在于,对生成的任一中断,将所述生成的任一中断写入位于所述主机的中断缓存区,具体包括:确定所述中断缓存区内指定中断缓存的索引,其中,所述中断缓存区包括多个中断缓存,一个中断缓存用于缓存一个中断,所述指定中断缓存为所述中断缓存区内最近一个被写入中断的中断缓存;根据所述指定中断缓存的索引,确定位于所述指定中断缓存之后且与所述指定中断缓存相邻的当前中断缓存;将所述生成的任一中断写入所述当前中断缓存。6.一种数据接收方法,其特征在于,应用于主机,包括:接收到所述主机的外围设备发送的中断处理通知时,对写入所述主机的中断缓存区的中断进行轮询处理;若当前轮询到的中断为发送完成中断,从第一BD链中读取一个对所述主机可用的第一BD,其中,所述第一BD链位于所述主机内存中且应用于所述主机接收所述外围设备发送的以太网报文的过程中,所述第一BD对所述外围设备不可用;从所述第一BD对应的缓存中提取以太网报文,并对所述第一BD进行更新使所述第一BD对所述主机不可用且对所述外围设备可用。7.一种数据发送方法,其特征在于,应用于主机,包括:从第二BD链中读取一个对所述主机可用的第二BD,其中,所述第二BD链位于所述主机内存中且应用于所述主机向所述外围设备发送以太网报文的过程中,所述第二BD对所述外围设备不可用;将以太网报文写入所述第二BD对应的缓存中,并对所述第二BD进行更新使所述第二BD对所述外围设备可用且对所述主机不可用;以及接收所述外围设备发送的接收完成中断通知,若轮询到的中断为接收完成中断,释放所述第二BD对应的缓存中内容,其中,接收到所述主机的外围设备发送的中断处理通知时,对写入所述主机的中断缓存区的中断进行轮询处理。8.根据权利要求6-7任一所述的方法,其特征在于,接收到所述主机的外围设备发送的中断处理通知时,对写入所述主机的中断缓存区的中断进行轮询处理,具体包括:接收到所述外围设备发送的中断处理通知时,如果所述主...
【专利技术属性】
技术研发人员:包鹏飞,李美龙,
申请(专利权)人:北京东土军悦科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。